KasugaiSakura commited on
Commit
90c1221
1 Parent(s): 64734ec

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .github/workflows/pull_format.yml +43 -0
  2. .github/workflows/push_format.yml +57 -0
  3. .gitignore +162 -0
  4. .gitmodules +0 -0
  5. .pre-commit-config.yaml +25 -0
  6. Dockerfile +37 -0
  7. LICENSE +661 -0
  8. README.md +46 -5
  9. attentions.py +464 -0
  10. bert/Erlangshen-DeBERTa-v2-710M-Chinese/config.json +35 -0
  11. bert/Erlangshen-DeBERTa-v2-710M-Chinese/special_tokens_map.json +1 -0
  12. bert/Erlangshen-DeBERTa-v2-710M-Chinese/tokenizer_config.json +15 -0
  13. bert/Erlangshen-DeBERTa-v2-710M-Chinese/vocab.txt +12800 -0
  14. bert/Erlangshen-MegatronBert-1.3B-Chinese/config.json +1 -0
  15. bert/Erlangshen-MegatronBert-1.3B-Chinese/vocab.txt +0 -0
  16. bert/Erlangshen-MegatronBert-3.9B-Chinese/config.json +21 -0
  17. bert/Erlangshen-MegatronBert-3.9B-Chinese/special_tokens_map.json +7 -0
  18. bert/Erlangshen-MegatronBert-3.9B-Chinese/tokenizer_config.json +16 -0
  19. bert/Erlangshen-MegatronBert-3.9B-Chinese/vocab.txt +0 -0
  20. bert/bert-base-japanese-v3/.gitattributes +34 -0
  21. bert/bert-base-japanese-v3/README.md +53 -0
  22. bert/bert-base-japanese-v3/config.json +19 -0
  23. bert/bert-base-japanese-v3/tokenizer_config.json +10 -0
  24. bert/bert-base-japanese-v3/vocab.txt +0 -0
  25. bert/bert-large-japanese-v2/.gitattributes +34 -0
  26. bert/bert-large-japanese-v2/README.md +53 -0
  27. bert/bert-large-japanese-v2/config.json +19 -0
  28. bert/bert-large-japanese-v2/tokenizer_config.json +10 -0
  29. bert/bert-large-japanese-v2/vocab.txt +0 -0
  30. bert/bert_models.json +14 -0
  31. bert/chinese-roberta-wwm-ext-large/.gitattributes +9 -0
  32. bert/chinese-roberta-wwm-ext-large/README.md +57 -0
  33. bert/chinese-roberta-wwm-ext-large/added_tokens.json +1 -0
  34. bert/chinese-roberta-wwm-ext-large/config.json +28 -0
  35. bert/chinese-roberta-wwm-ext-large/special_tokens_map.json +1 -0
  36. bert/chinese-roberta-wwm-ext-large/tokenizer.json +0 -0
  37. bert/chinese-roberta-wwm-ext-large/tokenizer_config.json +1 -0
  38. bert/chinese-roberta-wwm-ext-large/vocab.txt +0 -0
  39. bert/deberta-v2-large-japanese-char-wwm/.gitattributes +34 -0
  40. bert/deberta-v2-large-japanese-char-wwm/README.md +89 -0
  41. bert/deberta-v2-large-japanese-char-wwm/config.json +37 -0
  42. bert/deberta-v2-large-japanese-char-wwm/special_tokens_map.json +7 -0
  43. bert/deberta-v2-large-japanese-char-wwm/tokenizer_config.json +19 -0
  44. bert/deberta-v2-large-japanese-char-wwm/vocab.txt +0 -0
  45. bert/deberta-v2-large-japanese/.gitattributes +34 -0
  46. bert/deberta-v2-large-japanese/README.md +111 -0
  47. bert/deberta-v2-large-japanese/config.json +38 -0
  48. bert/deberta-v2-large-japanese/special_tokens_map.json +9 -0
  49. bert/deberta-v2-large-japanese/tokenizer.json +0 -0
  50. bert/deberta-v2-large-japanese/tokenizer_config.json +15 -0
.github/workflows/pull_format.yml ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: pull format
2
+
3
+ on: [pull_request]
4
+
5
+ permissions:
6
+ contents: write
7
+
8
+ jobs:
9
+ pull_format:
10
+ runs-on: ${{ matrix.os }}
11
+
12
+ strategy:
13
+ matrix:
14
+ python-version: ["3.10"]
15
+ os: [ubuntu-latest]
16
+ fail-fast: false
17
+
18
+ continue-on-error: true
19
+
20
+ steps:
21
+ - name: checkout
22
+ continue-on-error: true
23
+ uses: actions/checkout@v3
24
+ with:
25
+ ref: ${{ github.head_ref }}
26
+ fetch-depth: 0
27
+
28
+ - name: Set up Python ${{ matrix.python-version }}
29
+ uses: actions/setup-python@v4
30
+ with:
31
+ python-version: ${{ matrix.python-version }}
32
+
33
+ - name: Install Black
34
+ run: pip install "black[jupyter]"
35
+
36
+ - name: Run Black
37
+ # run: black $(git ls-files '*.py')
38
+ run: black .
39
+
40
+ - name: Commit Back
41
+ uses: stefanzweifel/git-auto-commit-action@v4
42
+ with:
43
+ commit_message: Apply Code Formatter Change
.github/workflows/push_format.yml ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: push format
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ - dev
8
+
9
+ permissions:
10
+ contents: write
11
+ pull-requests: write
12
+
13
+ jobs:
14
+ push_format:
15
+ runs-on: ${{ matrix.os }}
16
+
17
+ strategy:
18
+ matrix:
19
+ python-version: ["3.10"]
20
+ os: [ubuntu-latest]
21
+ fail-fast: false
22
+
23
+ steps:
24
+ - uses: actions/checkout@v3
25
+ with:
26
+ ref: ${{github.ref_name}}
27
+
28
+ - name: Set up Python ${{ matrix.python-version }}
29
+ uses: actions/setup-python@v4
30
+ with:
31
+ python-version: ${{ matrix.python-version }}
32
+
33
+ - name: Install Black
34
+ run: pip install "black[jupyter]"
35
+
36
+ - name: Run Black
37
+ # run: black $(git ls-files '*.py')
38
+ run: black .
39
+
40
+ - name: Commit Back
41
+ continue-on-error: true
42
+ id: commitback
43
+ run: |
44
+ git config --local user.email "github-actions[bot]@users.noreply.github.com"
45
+ git config --local user.name "github-actions[bot]"
46
+ git add --all
47
+ git commit -m "Format code"
48
+
49
+ - name: Create Pull Request
50
+ if: steps.commitback.outcome == 'success'
51
+ continue-on-error: true
52
+ uses: peter-evans/create-pull-request@v5
53
+ with:
54
+ delete-branch: true
55
+ body: Apply Code Formatter Change
56
+ title: Apply Code Formatter Change
57
+ commit-message: Automatic code format
.gitignore ADDED
@@ -0,0 +1,162 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # poetry
98
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
100
+ # commonly ignored for libraries.
101
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
102
+ #poetry.lock
103
+
104
+ # pdm
105
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
106
+ #pdm.lock
107
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
108
+ # in version control.
109
+ # https://pdm.fming.dev/#use-with-ide
110
+ .pdm.toml
111
+
112
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
113
+ __pypackages__/
114
+
115
+ # Celery stuff
116
+ celerybeat-schedule
117
+ celerybeat.pid
118
+
119
+ # SageMath parsed files
120
+ *.sage.py
121
+
122
+ # Environments
123
+ .env
124
+ .venv
125
+ env/
126
+ venv/
127
+ ENV/
128
+ env.bak/
129
+ venv.bak/
130
+
131
+ # Spyder project settings
132
+ .spyderproject
133
+ .spyproject
134
+
135
+ # Rope project settings
136
+ .ropeproject
137
+
138
+ # mkdocs documentation
139
+ /site
140
+
141
+ # mypy
142
+ .mypy_cache/
143
+ .dmypy.json
144
+ dmypy.json
145
+
146
+ # Pyre type checker
147
+ .pyre/
148
+
149
+ # pytype static type analyzer
150
+ .pytype/
151
+
152
+ # Cython debug symbols
153
+ cython_debug/
154
+
155
+ # PyCharm
156
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
157
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
158
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
159
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
160
+ #.idea/
161
+
162
+ .DS_Store
.gitmodules ADDED
File without changes
.pre-commit-config.yaml ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v4.5.0
4
+ hooks:
5
+ - id: check-yaml
6
+ - id: end-of-file-fixer
7
+ - id: trailing-whitespace
8
+
9
+ - repo: https://github.com/astral-sh/ruff-pre-commit
10
+ rev: v0.1.8
11
+ hooks:
12
+ - id: ruff
13
+ args: [ --fix ]
14
+
15
+ - repo: https://github.com/psf/black
16
+ rev: 23.12.0
17
+ hooks:
18
+ - id: black
19
+
20
+ - repo: https://github.com/codespell-project/codespell
21
+ rev: v2.2.6
22
+ hooks:
23
+ - id: codespell
24
+ files: ^.*\.(py|md|rst|yml)$
25
+ args: [-L=fro]
Dockerfile ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.10.12
2
+
3
+ # Install Git LFS
4
+ RUN apt-get update -y
5
+ RUN apt-get install -y git-lfs
6
+ RUN git lfs install
7
+
8
+ # Switch to User
9
+ RUN useradd -m -u 1000 user
10
+ USER user
11
+
12
+ # Setup Environment Variables
13
+ ENV HOME=/home/user
14
+ ENV PATH=/home/user/.local/bin:$PATH
15
+
16
+ # Init Working Directory
17
+ WORKDIR $HOME/app
18
+ COPY --chown=user . $HOME/app
19
+
20
+ # Install Python Requirements
21
+ RUN pip install --no-cache-dir --upgrade pip
22
+ RUN pip install -r requirements.txt
23
+
24
+ # Download Bert, CLAP and WavLM Models
25
+ RUN rm -rf bert/deberta-v2-large-japanese-char-wwm
26
+ RUN git clone https://huggingface.co/ku-nlp/deberta-v2-large-japanese-char-wwm bert/deberta-v2-large-japanese-char-wwm --depth=1
27
+ RUN cd bert/deberta-v2-large-japanese-char-wwm && git lfs pull
28
+ RUN rm -rf emotional/clap-htsat-fused
29
+ RUN git clone https://huggingface.co/laion/clap-htsat-fused emotional/clap-htsat-fused --depth=1
30
+ RUN cd emotional/clap-htsat-fused && git lfs pull
31
+ RUN rm -rf slm/wavlm-base-plus
32
+ RUN git clone https://huggingface.co/microsoft/wavlm-base-plus slm/wavlm-base-plus --depth=1
33
+ RUN cd slm/wavlm-base-plus && git lfs pull
34
+
35
+ # Start Web Server
36
+ ENV GRADIO_SERVER_NAME=0.0.0.0
37
+ CMD ["python", "webui.py"]
LICENSE ADDED
@@ -0,0 +1,661 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ GNU AFFERO GENERAL PUBLIC LICENSE
2
+ Version 3, 19 November 2007
3
+
4
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
5
+ Everyone is permitted to copy and distribute verbatim copies
6
+ of this license document, but changing it is not allowed.
7
+
8
+ Preamble
9
+
10
+ The GNU Affero General Public License is a free, copyleft license for
11
+ software and other kinds of works, specifically designed to ensure
12
+ cooperation with the community in the case of network server software.
13
+
14
+ The licenses for most software and other practical works are designed
15
+ to take away your freedom to share and change the works. By contrast,
16
+ our General Public Licenses are intended to guarantee your freedom to
17
+ share and change all versions of a program--to make sure it remains free
18
+ software for all its users.
19
+
20
+ When we speak of free software, we are referring to freedom, not
21
+ price. Our General Public Licenses are designed to make sure that you
22
+ have the freedom to distribute copies of free software (and charge for
23
+ them if you wish), that you receive source code or can get it if you
24
+ want it, that you can change the software or use pieces of it in new
25
+ free programs, and that you know you can do these things.
26
+
27
+ Developers that use our General Public Licenses protect your rights
28
+ with two steps: (1) assert copyright on the software, and (2) offer
29
+ you this License which gives you legal permission to copy, distribute
30
+ and/or modify the software.
31
+
32
+ A secondary benefit of defending all users' freedom is that
33
+ improvements made in alternate versions of the program, if they
34
+ receive widespread use, become available for other developers to
35
+ incorporate. Many developers of free software are heartened and
36
+ encouraged by the resulting cooperation. However, in the case of
37
+ software used on network servers, this result may fail to come about.
38
+ The GNU General Public License permits making a modified version and
39
+ letting the public access it on a server without ever releasing its
40
+ source code to the public.
41
+
42
+ The GNU Affero General Public License is designed specifically to
43
+ ensure that, in such cases, the modified source code becomes available
44
+ to the community. It requires the operator of a network server to
45
+ provide the source code of the modified version running there to the
46
+ users of that server. Therefore, public use of a modified version, on
47
+ a publicly accessible server, gives the public access to the source
48
+ code of the modified version.
49
+
50
+ An older license, called the Affero General Public License and
51
+ published by Affero, was designed to accomplish similar goals. This is
52
+ a different license, not a version of the Affero GPL, but Affero has
53
+ released a new version of the Affero GPL which permits relicensing under
54
+ this license.
55
+
56
+ The precise terms and conditions for copying, distribution and
57
+ modification follow.
58
+
59
+ TERMS AND CONDITIONS
60
+
61
+ 0. Definitions.
62
+
63
+ "This License" refers to version 3 of the GNU Affero General Public License.
64
+
65
+ "Copyright" also means copyright-like laws that apply to other kinds of
66
+ works, such as semiconductor masks.
67
+
68
+ "The Program" refers to any copyrightable work licensed under this
69
+ License. Each licensee is addressed as "you". "Licensees" and
70
+ "recipients" may be individuals or organizations.
71
+
72
+ To "modify" a work means to copy from or adapt all or part of the work
73
+ in a fashion requiring copyright permission, other than the making of an
74
+ exact copy. The resulting work is called a "modified version" of the
75
+ earlier work or a work "based on" the earlier work.
76
+
77
+ A "covered work" means either the unmodified Program or a work based
78
+ on the Program.
79
+
80
+ To "propagate" a work means to do anything with it that, without
81
+ permission, would make you directly or secondarily liable for
82
+ infringement under applicable copyright law, except executing it on a
83
+ computer or modifying a private copy. Propagation includes copying,
84
+ distribution (with or without modification), making available to the
85
+ public, and in some countries other activities as well.
86
+
87
+ To "convey" a work means any kind of propagation that enables other
88
+ parties to make or receive copies. Mere interaction with a user through
89
+ a computer network, with no transfer of a copy, is not conveying.
90
+
91
+ An interactive user interface displays "Appropriate Legal Notices"
92
+ to the extent that it includes a convenient and prominently visible
93
+ feature that (1) displays an appropriate copyright notice, and (2)
94
+ tells the user that there is no warranty for the work (except to the
95
+ extent that warranties are provided), that licensees may convey the
96
+ work under this License, and how to view a copy of this License. If
97
+ the interface presents a list of user commands or options, such as a
98
+ menu, a prominent item in the list meets this criterion.
99
+
100
+ 1. Source Code.
101
+
102
+ The "source code" for a work means the preferred form of the work
103
+ for making modifications to it. "Object code" means any non-source
104
+ form of a work.
105
+
106
+ A "Standard Interface" means an interface that either is an official
107
+ standard defined by a recognized standards body, or, in the case of
108
+ interfaces specified for a particular programming language, one that
109
+ is widely used among developers working in that language.
110
+
111
+ The "System Libraries" of an executable work include anything, other
112
+ than the work as a whole, that (a) is included in the normal form of
113
+ packaging a Major Component, but which is not part of that Major
114
+ Component, and (b) serves only to enable use of the work with that
115
+ Major Component, or to implement a Standard Interface for which an
116
+ implementation is available to the public in source code form. A
117
+ "Major Component", in this context, means a major essential component
118
+ (kernel, window system, and so on) of the specific operating system
119
+ (if any) on which the executable work runs, or a compiler used to
120
+ produce the work, or an object code interpreter used to run it.
121
+
122
+ The "Corresponding Source" for a work in object code form means all
123
+ the source code needed to generate, install, and (for an executable
124
+ work) run the object code and to modify the work, including scripts to
125
+ control those activities. However, it does not include the work's
126
+ System Libraries, or general-purpose tools or generally available free
127
+ programs which are used unmodified in performing those activities but
128
+ which are not part of the work. For example, Corresponding Source
129
+ includes interface definition files associated with source files for
130
+ the work, and the source code for shared libraries and dynamically
131
+ linked subprograms that the work is specifically designed to require,
132
+ such as by intimate data communication or control flow between those
133
+ subprograms and other parts of the work.
134
+
135
+ The Corresponding Source need not include anything that users
136
+ can regenerate automatically from other parts of the Corresponding
137
+ Source.
138
+
139
+ The Corresponding Source for a work in source code form is that
140
+ same work.
141
+
142
+ 2. Basic Permissions.
143
+
144
+ All rights granted under this License are granted for the term of
145
+ copyright on the Program, and are irrevocable provided the stated
146
+ conditions are met. This License explicitly affirms your unlimited
147
+ permission to run the unmodified Program. The output from running a
148
+ covered work is covered by this License only if the output, given its
149
+ content, constitutes a covered work. This License acknowledges your
150
+ rights of fair use or other equivalent, as provided by copyright law.
151
+
152
+ You may make, run and propagate covered works that you do not
153
+ convey, without conditions so long as your license otherwise remains
154
+ in force. You may convey covered works to others for the sole purpose
155
+ of having them make modifications exclusively for you, or provide you
156
+ with facilities for running those works, provided that you comply with
157
+ the terms of this License in conveying all material for which you do
158
+ not control copyright. Those thus making or running the covered works
159
+ for you must do so exclusively on your behalf, under your direction
160
+ and control, on terms that prohibit them from making any copies of
161
+ your copyrighted material outside their relationship with you.
162
+
163
+ Conveying under any other circumstances is permitted solely under
164
+ the conditions stated below. Sublicensing is not allowed; section 10
165
+ makes it unnecessary.
166
+
167
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
168
+
169
+ No covered work shall be deemed part of an effective technological
170
+ measure under any applicable law fulfilling obligations under article
171
+ 11 of the WIPO copyright treaty adopted on 20 December 1996, or
172
+ similar laws prohibiting or restricting circumvention of such
173
+ measures.
174
+
175
+ When you convey a covered work, you waive any legal power to forbid
176
+ circumvention of technological measures to the extent such circumvention
177
+ is effected by exercising rights under this License with respect to
178
+ the covered work, and you disclaim any intention to limit operation or
179
+ modification of the work as a means of enforcing, against the work's
180
+ users, your or third parties' legal rights to forbid circumvention of
181
+ technological measures.
182
+
183
+ 4. Conveying Verbatim Copies.
184
+
185
+ You may convey verbatim copies of the Program's source code as you
186
+ receive it, in any medium, provided that you conspicuously and
187
+ appropriately publish on each copy an appropriate copyright notice;
188
+ keep intact all notices stating that this License and any
189
+ non-permissive terms added in accord with section 7 apply to the code;
190
+ keep intact all notices of the absence of any warranty; and give all
191
+ recipients a copy of this License along with the Program.
192
+
193
+ You may charge any price or no price for each copy that you convey,
194
+ and you may offer support or warranty protection for a fee.
195
+
196
+ 5. Conveying Modified Source Versions.
197
+
198
+ You may convey a work based on the Program, or the modifications to
199
+ produce it from the Program, in the form of source code under the
200
+ terms of section 4, provided that you also meet all of these conditions:
201
+
202
+ a) The work must carry prominent notices stating that you modified
203
+ it, and giving a relevant date.
204
+
205
+ b) The work must carry prominent notices stating that it is
206
+ released under this License and any conditions added under section
207
+ 7. This requirement modifies the requirement in section 4 to
208
+ "keep intact all notices".
209
+
210
+ c) You must license the entire work, as a whole, under this
211
+ License to anyone who comes into possession of a copy. This
212
+ License will therefore apply, along with any applicable section 7
213
+ additional terms, to the whole of the work, and all its parts,
214
+ regardless of how they are packaged. This License gives no
215
+ permission to license the work in any other way, but it does not
216
+ invalidate such permission if you have separately received it.
217
+
218
+ d) If the work has interactive user interfaces, each must display
219
+ Appropriate Legal Notices; however, if the Program has interactive
220
+ interfaces that do not display Appropriate Legal Notices, your
221
+ work need not make them do so.
222
+
223
+ A compilation of a covered work with other separate and independent
224
+ works, which are not by their nature extensions of the covered work,
225
+ and which are not combined with it such as to form a larger program,
226
+ in or on a volume of a storage or distribution medium, is called an
227
+ "aggregate" if the compilation and its resulting copyright are not
228
+ used to limit the access or legal rights of the compilation's users
229
+ beyond what the individual works permit. Inclusion of a covered work
230
+ in an aggregate does not cause this License to apply to the other
231
+ parts of the aggregate.
232
+
233
+ 6. Conveying Non-Source Forms.
234
+
235
+ You may convey a covered work in object code form under the terms
236
+ of sections 4 and 5, provided that you also convey the
237
+ machine-readable Corresponding Source under the terms of this License,
238
+ in one of these ways:
239
+
240
+ a) Convey the object code in, or embodied in, a physical product
241
+ (including a physical distribution medium), accompanied by the
242
+ Corresponding Source fixed on a durable physical medium
243
+ customarily used for software interchange.
244
+
245
+ b) Convey the object code in, or embodied in, a physical product
246
+ (including a physical distribution medium), accompanied by a
247
+ written offer, valid for at least three years and valid for as
248
+ long as you offer spare parts or customer support for that product
249
+ model, to give anyone who possesses the object code either (1) a
250
+ copy of the Corresponding Source for all the software in the
251
+ product that is covered by this License, on a durable physical
252
+ medium customarily used for software interchange, for a price no
253
+ more than your reasonable cost of physically performing this
254
+ conveying of source, or (2) access to copy the
255
+ Corresponding Source from a network server at no charge.
256
+
257
+ c) Convey individual copies of the object code with a copy of the
258
+ written offer to provide the Corresponding Source. This
259
+ alternative is allowed only occasionally and noncommercially, and
260
+ only if you received the object code with such an offer, in accord
261
+ with subsection 6b.
262
+
263
+ d) Convey the object code by offering access from a designated
264
+ place (gratis or for a charge), and offer equivalent access to the
265
+ Corresponding Source in the same way through the same place at no
266
+ further charge. You need not require recipients to copy the
267
+ Corresponding Source along with the object code. If the place to
268
+ copy the object code is a network server, the Corresponding Source
269
+ may be on a different server (operated by you or a third party)
270
+ that supports equivalent copying facilities, provided you maintain
271
+ clear directions next to the object code saying where to find the
272
+ Corresponding Source. Regardless of what server hosts the
273
+ Corresponding Source, you remain obligated to ensure that it is
274
+ available for as long as needed to satisfy these requirements.
275
+
276
+ e) Convey the object code using peer-to-peer transmission, provided
277
+ you inform other peers where the object code and Corresponding
278
+ Source of the work are being offered to the general public at no
279
+ charge under subsection 6d.
280
+
281
+ A separable portion of the object code, whose source code is excluded
282
+ from the Corresponding Source as a System Library, need not be
283
+ included in conveying the object code work.
284
+
285
+ A "User Product" is either (1) a "consumer product", which means any
286
+ tangible personal property which is normally used for personal, family,
287
+ or household purposes, or (2) anything designed or sold for incorporation
288
+ into a dwelling. In determining whether a product is a consumer product,
289
+ doubtful cases shall be resolved in favor of coverage. For a particular
290
+ product received by a particular user, "normally used" refers to a
291
+ typical or common use of that class of product, regardless of the status
292
+ of the particular user or of the way in which the particular user
293
+ actually uses, or expects or is expected to use, the product. A product
294
+ is a consumer product regardless of whether the product has substantial
295
+ commercial, industrial or non-consumer uses, unless such uses represent
296
+ the only significant mode of use of the product.
297
+
298
+ "Installation Information" for a User Product means any methods,
299
+ procedures, authorization keys, or other information required to install
300
+ and execute modified versions of a covered work in that User Product from
301
+ a modified version of its Corresponding Source. The information must
302
+ suffice to ensure that the continued functioning of the modified object
303
+ code is in no case prevented or interfered with solely because
304
+ modification has been made.
305
+
306
+ If you convey an object code work under this section in, or with, or
307
+ specifically for use in, a User Product, and the conveying occurs as
308
+ part of a transaction in which the right of possession and use of the
309
+ User Product is transferred to the recipient in perpetuity or for a
310
+ fixed term (regardless of how the transaction is characterized), the
311
+ Corresponding Source conveyed under this section must be accompanied
312
+ by the Installation Information. But this requirement does not apply
313
+ if neither you nor any third party retains the ability to install
314
+ modified object code on the User Product (for example, the work has
315
+ been installed in ROM).
316
+
317
+ The requirement to provide Installation Information does not include a
318
+ requirement to continue to provide support service, warranty, or updates
319
+ for a work that has been modified or installed by the recipient, or for
320
+ the User Product in which it has been modified or installed. Access to a
321
+ network may be denied when the modification itself materially and
322
+ adversely affects the operation of the network or violates the rules and
323
+ protocols for communication across the network.
324
+
325
+ Corresponding Source conveyed, and Installation Information provided,
326
+ in accord with this section must be in a format that is publicly
327
+ documented (and with an implementation available to the public in
328
+ source code form), and must require no special password or key for
329
+ unpacking, reading or copying.
330
+
331
+ 7. Additional Terms.
332
+
333
+ "Additional permissions" are terms that supplement the terms of this
334
+ License by making exceptions from one or more of its conditions.
335
+ Additional permissions that are applicable to the entire Program shall
336
+ be treated as though they were included in this License, to the extent
337
+ that they are valid under applicable law. If additional permissions
338
+ apply only to part of the Program, that part may be used separately
339
+ under those permissions, but the entire Program remains governed by
340
+ this License without regard to the additional permissions.
341
+
342
+ When you convey a copy of a covered work, you may at your option
343
+ remove any additional permissions from that copy, or from any part of
344
+ it. (Additional permissions may be written to require their own
345
+ removal in certain cases when you modify the work.) You may place
346
+ additional permissions on material, added by you to a covered work,
347
+ for which you have or can give appropriate copyright permission.
348
+
349
+ Notwithstanding any other provision of this License, for material you
350
+ add to a covered work, you may (if authorized by the copyright holders of
351
+ that material) supplement the terms of this License with terms:
352
+
353
+ a) Disclaiming warranty or limiting liability differently from the
354
+ terms of sections 15 and 16 of this License; or
355
+
356
+ b) Requiring preservation of specified reasonable legal notices or
357
+ author attributions in that material or in the Appropriate Legal
358
+ Notices displayed by works containing it; or
359
+
360
+ c) Prohibiting misrepresentation of the origin of that material, or
361
+ requiring that modified versions of such material be marked in
362
+ reasonable ways as different from the original version; or
363
+
364
+ d) Limiting the use for publicity purposes of names of licensors or
365
+ authors of the material; or
366
+
367
+ e) Declining to grant rights under trademark law for use of some
368
+ trade names, trademarks, or service marks; or
369
+
370
+ f) Requiring indemnification of licensors and authors of that
371
+ material by anyone who conveys the material (or modified versions of
372
+ it) with contractual assumptions of liability to the recipient, for
373
+ any liability that these contractual assumptions directly impose on
374
+ those licensors and authors.
375
+
376
+ All other non-permissive additional terms are considered "further
377
+ restrictions" within the meaning of section 10. If the Program as you
378
+ received it, or any part of it, contains a notice stating that it is
379
+ governed by this License along with a term that is a further
380
+ restriction, you may remove that term. If a license document contains
381
+ a further restriction but permits relicensing or conveying under this
382
+ License, you may add to a covered work material governed by the terms
383
+ of that license document, provided that the further restriction does
384
+ not survive such relicensing or conveying.
385
+
386
+ If you add terms to a covered work in accord with this section, you
387
+ must place, in the relevant source files, a statement of the
388
+ additional terms that apply to those files, or a notice indicating
389
+ where to find the applicable terms.
390
+
391
+ Additional terms, permissive or non-permissive, may be stated in the
392
+ form of a separately written license, or stated as exceptions;
393
+ the above requirements apply either way.
394
+
395
+ 8. Termination.
396
+
397
+ You may not propagate or modify a covered work except as expressly
398
+ provided under this License. Any attempt otherwise to propagate or
399
+ modify it is void, and will automatically terminate your rights under
400
+ this License (including any patent licenses granted under the third
401
+ paragraph of section 11).
402
+
403
+ However, if you cease all violation of this License, then your
404
+ license from a particular copyright holder is reinstated (a)
405
+ provisionally, unless and until the copyright holder explicitly and
406
+ finally terminates your license, and (b) permanently, if the copyright
407
+ holder fails to notify you of the violation by some reasonable means
408
+ prior to 60 days after the cessation.
409
+
410
+ Moreover, your license from a particular copyright holder is
411
+ reinstated permanently if the copyright holder notifies you of the
412
+ violation by some reasonable means, this is the first time you have
413
+ received notice of violation of this License (for any work) from that
414
+ copyright holder, and you cure the violation prior to 30 days after
415
+ your receipt of the notice.
416
+
417
+ Termination of your rights under this section does not terminate the
418
+ licenses of parties who have received copies or rights from you under
419
+ this License. If your rights have been terminated and not permanently
420
+ reinstated, you do not qualify to receive new licenses for the same
421
+ material under section 10.
422
+
423
+ 9. Acceptance Not Required for Having Copies.
424
+
425
+ You are not required to accept this License in order to receive or
426
+ run a copy of the Program. Ancillary propagation of a covered work
427
+ occurring solely as a consequence of using peer-to-peer transmission
428
+ to receive a copy likewise does not require acceptance. However,
429
+ nothing other than this License grants you permission to propagate or
430
+ modify any covered work. These actions infringe copyright if you do
431
+ not accept this License. Therefore, by modifying or propagating a
432
+ covered work, you indicate your acceptance of this License to do so.
433
+
434
+ 10. Automatic Licensing of Downstream Recipients.
435
+
436
+ Each time you convey a covered work, the recipient automatically
437
+ receives a license from the original licensors, to run, modify and
438
+ propagate that work, subject to this License. You are not responsible
439
+ for enforcing compliance by third parties with this License.
440
+
441
+ An "entity transaction" is a transaction transferring control of an
442
+ organization, or substantially all assets of one, or subdividing an
443
+ organization, or merging organizations. If propagation of a covered
444
+ work results from an entity transaction, each party to that
445
+ transaction who receives a copy of the work also receives whatever
446
+ licenses to the work the party's predecessor in interest had or could
447
+ give under the previous paragraph, plus a right to possession of the
448
+ Corresponding Source of the work from the predecessor in interest, if
449
+ the predecessor has it or can get it with reasonable efforts.
450
+
451
+ You may not impose any further restrictions on the exercise of the
452
+ rights granted or affirmed under this License. For example, you may
453
+ not impose a license fee, royalty, or other charge for exercise of
454
+ rights granted under this License, and you may not initiate litigation
455
+ (including a cross-claim or counterclaim in a lawsuit) alleging that
456
+ any patent claim is infringed by making, using, selling, offering for
457
+ sale, or importing the Program or any portion of it.
458
+
459
+ 11. Patents.
460
+
461
+ A "contributor" is a copyright holder who authorizes use under this
462
+ License of the Program or a work on which the Program is based. The
463
+ work thus licensed is called the contributor's "contributor version".
464
+
465
+ A contributor's "essential patent claims" are all patent claims
466
+ owned or controlled by the contributor, whether already acquired or
467
+ hereafter acquired, that would be infringed by some manner, permitted
468
+ by this License, of making, using, or selling its contributor version,
469
+ but do not include claims that would be infringed only as a
470
+ consequence of further modification of the contributor version. For
471
+ purposes of this definition, "control" includes the right to grant
472
+ patent sublicenses in a manner consistent with the requirements of
473
+ this License.
474
+
475
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
476
+ patent license under the contributor's essential patent claims, to
477
+ make, use, sell, offer for sale, import and otherwise run, modify and
478
+ propagate the contents of its contributor version.
479
+
480
+ In the following three paragraphs, a "patent license" is any express
481
+ agreement or commitment, however denominated, not to enforce a patent
482
+ (such as an express permission to practice a patent or covenant not to
483
+ sue for patent infringement). To "grant" such a patent license to a
484
+ party means to make such an agreement or commitment not to enforce a
485
+ patent against the party.
486
+
487
+ If you convey a covered work, knowingly relying on a patent license,
488
+ and the Corresponding Source of the work is not available for anyone
489
+ to copy, free of charge and under the terms of this License, through a
490
+ publicly available network server or other readily accessible means,
491
+ then you must either (1) cause the Corresponding Source to be so
492
+ available, or (2) arrange to deprive yourself of the benefit of the
493
+ patent license for this particular work, or (3) arrange, in a manner
494
+ consistent with the requirements of this License, to extend the patent
495
+ license to downstream recipients. "Knowingly relying" means you have
496
+ actual knowledge that, but for the patent license, your conveying the
497
+ covered work in a country, or your recipient's use of the covered work
498
+ in a country, would infringe one or more identifiable patents in that
499
+ country that you have reason to believe are valid.
500
+
501
+ If, pursuant to or in connection with a single transaction or
502
+ arrangement, you convey, or propagate by procuring conveyance of, a
503
+ covered work, and grant a patent license to some of the parties
504
+ receiving the covered work authorizing them to use, propagate, modify
505
+ or convey a specific copy of the covered work, then the patent license
506
+ you grant is automatically extended to all recipients of the covered
507
+ work and works based on it.
508
+
509
+ A patent license is "discriminatory" if it does not include within
510
+ the scope of its coverage, prohibits the exercise of, or is
511
+ conditioned on the non-exercise of one or more of the rights that are
512
+ specifically granted under this License. You may not convey a covered
513
+ work if you are a party to an arrangement with a third party that is
514
+ in the business of distributing software, under which you make payment
515
+ to the third party based on the extent of your activity of conveying
516
+ the work, and under which the third party grants, to any of the
517
+ parties who would receive the covered work from you, a discriminatory
518
+ patent license (a) in connection with copies of the covered work
519
+ conveyed by you (or copies made from those copies), or (b) primarily
520
+ for and in connection with specific products or compilations that
521
+ contain the covered work, unless you entered into that arrangement,
522
+ or that patent license was granted, prior to 28 March 2007.
523
+
524
+ Nothing in this License shall be construed as excluding or limiting
525
+ any implied license or other defenses to infringement that may
526
+ otherwise be available to you under applicable patent law.
527
+
528
+ 12. No Surrender of Others' Freedom.
529
+
530
+ If conditions are imposed on you (whether by court order, agreement or
531
+ otherwise) that contradict the conditions of this License, they do not
532
+ excuse you from the conditions of this License. If you cannot convey a
533
+ covered work so as to satisfy simultaneously your obligations under this
534
+ License and any other pertinent obligations, then as a consequence you may
535
+ not convey it at all. For example, if you agree to terms that obligate you
536
+ to collect a royalty for further conveying from those to whom you convey
537
+ the Program, the only way you could satisfy both those terms and this
538
+ License would be to refrain entirely from conveying the Program.
539
+
540
+ 13. Remote Network Interaction; Use with the GNU General Public License.
541
+
542
+ Notwithstanding any other provision of this License, if you modify the
543
+ Program, your modified version must prominently offer all users
544
+ interacting with it remotely through a computer network (if your version
545
+ supports such interaction) an opportunity to receive the Corresponding
546
+ Source of your version by providing access to the Corresponding Source
547
+ from a network server at no charge, through some standard or customary
548
+ means of facilitating copying of software. This Corresponding Source
549
+ shall include the Corresponding Source for any work covered by version 3
550
+ of the GNU General Public License that is incorporated pursuant to the
551
+ following paragraph.
552
+
553
+ Notwithstanding any other provision of this License, you have
554
+ permission to link or combine any covered work with a work licensed
555
+ under version 3 of the GNU General Public License into a single
556
+ combined work, and to convey the resulting work. The terms of this
557
+ License will continue to apply to the part which is the covered work,
558
+ but the work with which it is combined will remain governed by version
559
+ 3 of the GNU General Public License.
560
+
561
+ 14. Revised Versions of this License.
562
+
563
+ The Free Software Foundation may publish revised and/or new versions of
564
+ the GNU Affero General Public License from time to time. Such new versions
565
+ will be similar in spirit to the present version, but may differ in detail to
566
+ address new problems or concerns.
567
+
568
+ Each version is given a distinguishing version number. If the
569
+ Program specifies that a certain numbered version of the GNU Affero General
570
+ Public License "or any later version" applies to it, you have the
571
+ option of following the terms and conditions either of that numbered
572
+ version or of any later version published by the Free Software
573
+ Foundation. If the Program does not specify a version number of the
574
+ GNU Affero General Public License, you may choose any version ever published
575
+ by the Free Software Foundation.
576
+
577
+ If the Program specifies that a proxy can decide which future
578
+ versions of the GNU Affero General Public License can be used, that proxy's
579
+ public statement of acceptance of a version permanently authorizes you
580
+ to choose that version for the Program.
581
+
582
+ Later license versions may give you additional or different
583
+ permissions. However, no additional obligations are imposed on any
584
+ author or copyright holder as a result of your choosing to follow a
585
+ later version.
586
+
587
+ 15. Disclaimer of Warranty.
588
+
589
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
590
+ APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
591
+ HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
592
+ OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
593
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
594
+ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
595
+ IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
596
+ ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
597
+
598
+ 16. Limitation of Liability.
599
+
600
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
601
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
602
+ THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
603
+ GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
604
+ USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
605
+ DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
606
+ PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
607
+ EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
608
+ SUCH DAMAGES.
609
+
610
+ 17. Interpretation of Sections 15 and 16.
611
+
612
+ If the disclaimer of warranty and limitation of liability provided
613
+ above cannot be given local legal effect according to their terms,
614
+ reviewing courts shall apply local law that most closely approximates
615
+ an absolute waiver of all civil liability in connection with the
616
+ Program, unless a warranty or assumption of liability accompanies a
617
+ copy of the Program in return for a fee.
618
+
619
+ END OF TERMS AND CONDITIONS
620
+
621
+ How to Apply These Terms to Your New Programs
622
+
623
+ If you develop a new program, and you want it to be of the greatest
624
+ possible use to the public, the best way to achieve this is to make it
625
+ free software which everyone can redistribute and change under these terms.
626
+
627
+ To do so, attach the following notices to the program. It is safest
628
+ to attach them to the start of each source file to most effectively
629
+ state the exclusion of warranty; and each file should have at least
630
+ the "copyright" line and a pointer to where the full notice is found.
631
+
632
+ <one line to give the program's name and a brief idea of what it does.>
633
+ Copyright (C) <year> <name of author>
634
+
635
+ This program is free software: you can redistribute it and/or modify
636
+ it under the terms of the GNU Affero General Public License as published
637
+ by the Free Software Foundation, either version 3 of the License, or
638
+ (at your option) any later version.
639
+
640
+ This program is distributed in the hope that it will be useful,
641
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
642
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
643
+ GNU Affero General Public License for more details.
644
+
645
+ You should have received a copy of the GNU Affero General Public License
646
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
647
+
648
+ Also add information on how to contact you by electronic and paper mail.
649
+
650
+ If your software can interact with users remotely through a computer
651
+ network, you should also make sure that it provides a way for users to
652
+ get its source. For example, if your program is a web application, its
653
+ interface could display a "Source" link that leads users to an archive
654
+ of the code. There are many ways you could offer source, and different
655
+ solutions will be better for different programs; see section 13 for the
656
+ specific requirements.
657
+
658
+ You should also get your employer (if you work as a programmer) or school,
659
+ if any, to sign a "copyright disclaimer" for the program, if necessary.
660
+ For more information on this, and how to apply and follow the GNU AGPL, see
661
+ <https://www.gnu.org/licenses/>.
README.md CHANGED
@@ -1,10 +1,51 @@
1
  ---
2
- title: Bert VITS2 YNS
3
- emoji: 👀
4
- colorFrom: pink
5
- colorTo: indigo
6
  sdk: docker
7
  pinned: false
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: AI Yosuga No Sora
3
+ emoji: 🐰
4
+ colorFrom: gray
5
+ colorTo: blue
6
  sdk: docker
7
  pinned: false
8
  ---
9
 
10
+ <div align="center">
11
+
12
+ <img alt="LOGO" src="https://cdn.jsdelivr.net/gh/fishaudio/fish-diffusion@main/images/logo_512x512.png" width="256" height="256" />
13
+
14
+ # Bert-VITS2
15
+
16
+ VITS2 Backbone with multilingual bert
17
+
18
+ For quick guide, please refer to `webui_preprocess.py`.
19
+
20
+ 简易教程请参见 `webui_preprocess.py`。
21
+
22
+ ## 请注意,本项目核心思路来源于[anyvoiceai/MassTTS](https://github.com/anyvoiceai/MassTTS) 一个非常好的tts项目
23
+ ## MassTTS的演示demo为[ai版峰哥锐评峰哥本人,并找回了在金三角失落的腰子](https://www.bilibili.com/video/BV1w24y1c7z9)
24
+
25
+ [//]: # (## 本项目与[PlayVoice/vits_chinese]&#40;https://github.com/PlayVoice/vits_chinese&#41; 没有任何关系)
26
+
27
+ [//]: # ()
28
+ [//]: # (本仓库来源于之前朋友分享了ai峰哥的视频,本人被其中的效果惊艳,在自己尝试MassTTS以后发现fs在音质方面与vits有一定差距,并且training的pipeline比vits更复杂,因此按照其思路将bert)
29
+
30
+ ## 成熟的旅行者/开拓者/舰长/博士/sensei/猎魔人/喵喵露/V应当参阅代码自己学习如何训练。
31
+
32
+ ### 严禁将此项目用于一切违反《中华人民共和国宪法》,《中华人民共和国刑法》,《中华人民共和国治安管理处罚法》和《中华人民共和国民法典》之用途。
33
+ ### 严禁用于任何政治相关用途。
34
+ #### Video:https://www.bilibili.com/video/BV1hp4y1K78E
35
+ #### Demo:https://www.bilibili.com/video/BV1TF411k78w
36
+ #### QQ Group:815818430
37
+ ## References
38
+ + [anyvoiceai/MassTTS](https://github.com/anyvoiceai/MassTTS)
39
+ + [jaywalnut310/vits](https://github.com/jaywalnut310/vits)
40
+ + [p0p4k/vits2_pytorch](https://github.com/p0p4k/vits2_pytorch)
41
+ + [svc-develop-team/so-vits-svc](https://github.com/svc-develop-team/so-vits-svc)
42
+ + [PaddlePaddle/PaddleSpeech](https://github.com/PaddlePaddle/PaddleSpeech)
43
+ + [emotional-vits](https://github.com/innnky/emotional-vits)
44
+ + [fish-speech](https://github.com/fishaudio/fish-speech)
45
+ + [Bert-VITS2-UI](https://github.com/jiangyuxiaoxiao/Bert-VITS2-UI)
46
+ ## 感谢所有贡献者作出的努力
47
+ <a href="https://github.com/fishaudio/Bert-VITS2/graphs/contributors" target="_blank">
48
+ <img src="https://contrib.rocks/image?repo=fishaudio/Bert-VITS2"/>
49
+ </a>
50
+
51
+ [//]: # (# 本项目所有代码引用均已写明,bert部分代码思路来源于[AI峰哥]&#40;https://www.bilibili.com/video/BV1w24y1c7z9&#41;,与[vits_chinese]&#40;https://github.com/PlayVoice/vits_chinese&#41;无任何关系。欢迎各位查阅代码。同时,我们也对该开发者的[碰瓷,乃至开盒开发者的行为]&#40;https://www.bilibili.com/read/cv27101514/&#41;表示强烈谴责。)
attentions.py ADDED
@@ -0,0 +1,464 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import math
2
+ import torch
3
+ from torch import nn
4
+ from torch.nn import functional as F
5
+
6
+ import commons
7
+ import logging
8
+
9
+ logger = logging.getLogger(__name__)
10
+
11
+
12
+ class LayerNorm(nn.Module):
13
+ def __init__(self, channels, eps=1e-5):
14
+ super().__init__()
15
+ self.channels = channels
16
+ self.eps = eps
17
+
18
+ self.gamma = nn.Parameter(torch.ones(channels))
19
+ self.beta = nn.Parameter(torch.zeros(channels))
20
+
21
+ def forward(self, x):
22
+ x = x.transpose(1, -1)
23
+ x = F.layer_norm(x, (self.channels,), self.gamma, self.beta, self.eps)
24
+ return x.transpose(1, -1)
25
+
26
+
27
+ @torch.jit.script
28
+ def fused_add_tanh_sigmoid_multiply(input_a, input_b, n_channels):
29
+ n_channels_int = n_channels[0]
30
+ in_act = input_a + input_b
31
+ t_act = torch.tanh(in_act[:, :n_channels_int, :])
32
+ s_act = torch.sigmoid(in_act[:, n_channels_int:, :])
33
+ acts = t_act * s_act
34
+ return acts
35
+
36
+
37
+ class Encoder(nn.Module):
38
+ def __init__(
39
+ self,
40
+ hidden_channels,
41
+ filter_channels,
42
+ n_heads,
43
+ n_layers,
44
+ kernel_size=1,
45
+ p_dropout=0.0,
46
+ window_size=4,
47
+ isflow=True,
48
+ **kwargs
49
+ ):
50
+ super().__init__()
51
+ self.hidden_channels = hidden_channels
52
+ self.filter_channels = filter_channels
53
+ self.n_heads = n_heads
54
+ self.n_layers = n_layers
55
+ self.kernel_size = kernel_size
56
+ self.p_dropout = p_dropout
57
+ self.window_size = window_size
58
+ # if isflow:
59
+ # cond_layer = torch.nn.Conv1d(256, 2*hidden_channels*n_layers, 1)
60
+ # self.cond_pre = torch.nn.Conv1d(hidden_channels, 2*hidden_channels, 1)
61
+ # self.cond_layer = weight_norm(cond_layer, name='weight')
62
+ # self.gin_channels = 256
63
+ self.cond_layer_idx = self.n_layers
64
+ if "gin_channels" in kwargs:
65
+ self.gin_channels = kwargs["gin_channels"]
66
+ if self.gin_channels != 0:
67
+ self.spk_emb_linear = nn.Linear(self.gin_channels, self.hidden_channels)
68
+ # vits2 says 3rd block, so idx is 2 by default
69
+ self.cond_layer_idx = (
70
+ kwargs["cond_layer_idx"] if "cond_layer_idx" in kwargs else 2
71
+ )
72
+ logging.debug(self.gin_channels, self.cond_layer_idx)
73
+ assert (
74
+ self.cond_layer_idx < self.n_layers
75
+ ), "cond_layer_idx should be less than n_layers"
76
+ self.drop = nn.Dropout(p_dropout)
77
+ self.attn_layers = nn.ModuleList()
78
+ self.norm_layers_1 = nn.ModuleList()
79
+ self.ffn_layers = nn.ModuleList()
80
+ self.norm_layers_2 = nn.ModuleList()
81
+ for i in range(self.n_layers):
82
+ self.attn_layers.append(
83
+ MultiHeadAttention(
84
+ hidden_channels,
85
+ hidden_channels,
86
+ n_heads,
87
+ p_dropout=p_dropout,
88
+ window_size=window_size,
89
+ )
90
+ )
91
+ self.norm_layers_1.append(LayerNorm(hidden_channels))
92
+ self.ffn_layers.append(
93
+ FFN(
94
+ hidden_channels,
95
+ hidden_channels,
96
+ filter_channels,
97
+ kernel_size,
98
+ p_dropout=p_dropout,
99
+ )
100
+ )
101
+ self.norm_layers_2.append(LayerNorm(hidden_channels))
102
+
103
+ def forward(self, x, x_mask, g=None):
104
+ attn_mask = x_mask.unsqueeze(2) * x_mask.unsqueeze(-1)
105
+ x = x * x_mask
106
+ for i in range(self.n_layers):
107
+ if i == self.cond_layer_idx and g is not None:
108
+ g = self.spk_emb_linear(g.transpose(1, 2))
109
+ g = g.transpose(1, 2)
110
+ x = x + g
111
+ x = x * x_mask
112
+ y = self.attn_layers[i](x, x, attn_mask)
113
+ y = self.drop(y)
114
+ x = self.norm_layers_1[i](x + y)
115
+
116
+ y = self.ffn_layers[i](x, x_mask)
117
+ y = self.drop(y)
118
+ x = self.norm_layers_2[i](x + y)
119
+ x = x * x_mask
120
+ return x
121
+
122
+
123
+ class Decoder(nn.Module):
124
+ def __init__(
125
+ self,
126
+ hidden_channels,
127
+ filter_channels,
128
+ n_heads,
129
+ n_layers,
130
+ kernel_size=1,
131
+ p_dropout=0.0,
132
+ proximal_bias=False,
133
+ proximal_init=True,
134
+ **kwargs
135
+ ):
136
+ super().__init__()
137
+ self.hidden_channels = hidden_channels
138
+ self.filter_channels = filter_channels
139
+ self.n_heads = n_heads
140
+ self.n_layers = n_layers
141
+ self.kernel_size = kernel_size
142
+ self.p_dropout = p_dropout
143
+ self.proximal_bias = proximal_bias
144
+ self.proximal_init = proximal_init
145
+
146
+ self.drop = nn.Dropout(p_dropout)
147
+ self.self_attn_layers = nn.ModuleList()
148
+ self.norm_layers_0 = nn.ModuleList()
149
+ self.encdec_attn_layers = nn.ModuleList()
150
+ self.norm_layers_1 = nn.ModuleList()
151
+ self.ffn_layers = nn.ModuleList()
152
+ self.norm_layers_2 = nn.ModuleList()
153
+ for i in range(self.n_layers):
154
+ self.self_attn_layers.append(
155
+ MultiHeadAttention(
156
+ hidden_channels,
157
+ hidden_channels,
158
+ n_heads,
159
+ p_dropout=p_dropout,
160
+ proximal_bias=proximal_bias,
161
+ proximal_init=proximal_init,
162
+ )
163
+ )
164
+ self.norm_layers_0.append(LayerNorm(hidden_channels))
165
+ self.encdec_attn_layers.append(
166
+ MultiHeadAttention(
167
+ hidden_channels, hidden_channels, n_heads, p_dropout=p_dropout
168
+ )
169
+ )
170
+ self.norm_layers_1.append(LayerNorm(hidden_channels))
171
+ self.ffn_layers.append(
172
+ FFN(
173
+ hidden_channels,
174
+ hidden_channels,
175
+ filter_channels,
176
+ kernel_size,
177
+ p_dropout=p_dropout,
178
+ causal=True,
179
+ )
180
+ )
181
+ self.norm_layers_2.append(LayerNorm(hidden_channels))
182
+
183
+ def forward(self, x, x_mask, h, h_mask):
184
+ """
185
+ x: decoder input
186
+ h: encoder output
187
+ """
188
+ self_attn_mask = commons.subsequent_mask(x_mask.size(2)).to(
189
+ device=x.device, dtype=x.dtype
190
+ )
191
+ encdec_attn_mask = h_mask.unsqueeze(2) * x_mask.unsqueeze(-1)
192
+ x = x * x_mask
193
+ for i in range(self.n_layers):
194
+ y = self.self_attn_layers[i](x, x, self_attn_mask)
195
+ y = self.drop(y)
196
+ x = self.norm_layers_0[i](x + y)
197
+
198
+ y = self.encdec_attn_layers[i](x, h, encdec_attn_mask)
199
+ y = self.drop(y)
200
+ x = self.norm_layers_1[i](x + y)
201
+
202
+ y = self.ffn_layers[i](x, x_mask)
203
+ y = self.drop(y)
204
+ x = self.norm_layers_2[i](x + y)
205
+ x = x * x_mask
206
+ return x
207
+
208
+
209
+ class MultiHeadAttention(nn.Module):
210
+ def __init__(
211
+ self,
212
+ channels,
213
+ out_channels,
214
+ n_heads,
215
+ p_dropout=0.0,
216
+ window_size=None,
217
+ heads_share=True,
218
+ block_length=None,
219
+ proximal_bias=False,
220
+ proximal_init=False,
221
+ ):
222
+ super().__init__()
223
+ assert channels % n_heads == 0
224
+
225
+ self.channels = channels
226
+ self.out_channels = out_channels
227
+ self.n_heads = n_heads
228
+ self.p_dropout = p_dropout
229
+ self.window_size = window_size
230
+ self.heads_share = heads_share
231
+ self.block_length = block_length
232
+ self.proximal_bias = proximal_bias
233
+ self.proximal_init = proximal_init
234
+ self.attn = None
235
+
236
+ self.k_channels = channels // n_heads
237
+ self.conv_q = nn.Conv1d(channels, channels, 1)
238
+ self.conv_k = nn.Conv1d(channels, channels, 1)
239
+ self.conv_v = nn.Conv1d(channels, channels, 1)
240
+ self.conv_o = nn.Conv1d(channels, out_channels, 1)
241
+ self.drop = nn.Dropout(p_dropout)
242
+
243
+ if window_size is not None:
244
+ n_heads_rel = 1 if heads_share else n_heads
245
+ rel_stddev = self.k_channels**-0.5
246
+ self.emb_rel_k = nn.Parameter(
247
+ torch.randn(n_heads_rel, window_size * 2 + 1, self.k_channels)
248
+ * rel_stddev
249
+ )
250
+ self.emb_rel_v = nn.Parameter(
251
+ torch.randn(n_heads_rel, window_size * 2 + 1, self.k_channels)
252
+ * rel_stddev
253
+ )
254
+
255
+ nn.init.xavier_uniform_(self.conv_q.weight)
256
+ nn.init.xavier_uniform_(self.conv_k.weight)
257
+ nn.init.xavier_uniform_(self.conv_v.weight)
258
+ if proximal_init:
259
+ with torch.no_grad():
260
+ self.conv_k.weight.copy_(self.conv_q.weight)
261
+ self.conv_k.bias.copy_(self.conv_q.bias)
262
+
263
+ def forward(self, x, c, attn_mask=None):
264
+ q = self.conv_q(x)
265
+ k = self.conv_k(c)
266
+ v = self.conv_v(c)
267
+
268
+ x, self.attn = self.attention(q, k, v, mask=attn_mask)
269
+
270
+ x = self.conv_o(x)
271
+ return x
272
+
273
+ def attention(self, query, key, value, mask=None):
274
+ # reshape [b, d, t] -> [b, n_h, t, d_k]
275
+ b, d, t_s, t_t = (*key.size(), query.size(2))
276
+ query = query.view(b, self.n_heads, self.k_channels, t_t).transpose(2, 3)
277
+ key = key.view(b, self.n_heads, self.k_channels, t_s).transpose(2, 3)
278
+ value = value.view(b, self.n_heads, self.k_channels, t_s).transpose(2, 3)
279
+
280
+ scores = torch.matmul(query / math.sqrt(self.k_channels), key.transpose(-2, -1))
281
+ if self.window_size is not None:
282
+ assert (
283
+ t_s == t_t
284
+ ), "Relative attention is only available for self-attention."
285
+ key_relative_embeddings = self._get_relative_embeddings(self.emb_rel_k, t_s)
286
+ rel_logits = self._matmul_with_relative_keys(
287
+ query / math.sqrt(self.k_channels), key_relative_embeddings
288
+ )
289
+ scores_local = self._relative_position_to_absolute_position(rel_logits)
290
+ scores = scores + scores_local
291
+ if self.proximal_bias:
292
+ assert t_s == t_t, "Proximal bias is only available for self-attention."
293
+ scores = scores + self._attention_bias_proximal(t_s).to(
294
+ device=scores.device, dtype=scores.dtype
295
+ )
296
+ if mask is not None:
297
+ scores = scores.masked_fill(mask == 0, -1e4)
298
+ if self.block_length is not None:
299
+ assert (
300
+ t_s == t_t
301
+ ), "Local attention is only available for self-attention."
302
+ block_mask = (
303
+ torch.ones_like(scores)
304
+ .triu(-self.block_length)
305
+ .tril(self.block_length)
306
+ )
307
+ scores = scores.masked_fill(block_mask == 0, -1e4)
308
+ p_attn = F.softmax(scores, dim=-1) # [b, n_h, t_t, t_s]
309
+ p_attn = self.drop(p_attn)
310
+ output = torch.matmul(p_attn, value)
311
+ if self.window_size is not None:
312
+ relative_weights = self._absolute_position_to_relative_position(p_attn)
313
+ value_relative_embeddings = self._get_relative_embeddings(
314
+ self.emb_rel_v, t_s
315
+ )
316
+ output = output + self._matmul_with_relative_values(
317
+ relative_weights, value_relative_embeddings
318
+ )
319
+ output = (
320
+ output.transpose(2, 3).contiguous().view(b, d, t_t)
321
+ ) # [b, n_h, t_t, d_k] -> [b, d, t_t]
322
+ return output, p_attn
323
+
324
+ def _matmul_with_relative_values(self, x, y):
325
+ """
326
+ x: [b, h, l, m]
327
+ y: [h or 1, m, d]
328
+ ret: [b, h, l, d]
329
+ """
330
+ ret = torch.matmul(x, y.unsqueeze(0))
331
+ return ret
332
+
333
+ def _matmul_with_relative_keys(self, x, y):
334
+ """
335
+ x: [b, h, l, d]
336
+ y: [h or 1, m, d]
337
+ ret: [b, h, l, m]
338
+ """
339
+ ret = torch.matmul(x, y.unsqueeze(0).transpose(-2, -1))
340
+ return ret
341
+
342
+ def _get_relative_embeddings(self, relative_embeddings, length):
343
+ 2 * self.window_size + 1
344
+ # Pad first before slice to avoid using cond ops.
345
+ pad_length = max(length - (self.window_size + 1), 0)
346
+ slice_start_position = max((self.window_size + 1) - length, 0)
347
+ slice_end_position = slice_start_position + 2 * length - 1
348
+ if pad_length > 0:
349
+ padded_relative_embeddings = F.pad(
350
+ relative_embeddings,
351
+ commons.convert_pad_shape([[0, 0], [pad_length, pad_length], [0, 0]]),
352
+ )
353
+ else:
354
+ padded_relative_embeddings = relative_embeddings
355
+ used_relative_embeddings = padded_relative_embeddings[
356
+ :, slice_start_position:slice_end_position
357
+ ]
358
+ return used_relative_embeddings
359
+
360
+ def _relative_position_to_absolute_position(self, x):
361
+ """
362
+ x: [b, h, l, 2*l-1]
363
+ ret: [b, h, l, l]
364
+ """
365
+ batch, heads, length, _ = x.size()
366
+ # Concat columns of pad to shift from relative to absolute indexing.
367
+ x = F.pad(x, commons.convert_pad_shape([[0, 0], [0, 0], [0, 0], [0, 1]]))
368
+
369
+ # Concat extra elements so to add up to shape (len+1, 2*len-1).
370
+ x_flat = x.view([batch, heads, length * 2 * length])
371
+ x_flat = F.pad(
372
+ x_flat, commons.convert_pad_shape([[0, 0], [0, 0], [0, length - 1]])
373
+ )
374
+
375
+ # Reshape and slice out the padded elements.
376
+ x_final = x_flat.view([batch, heads, length + 1, 2 * length - 1])[
377
+ :, :, :length, length - 1 :
378
+ ]
379
+ return x_final
380
+
381
+ def _absolute_position_to_relative_position(self, x):
382
+ """
383
+ x: [b, h, l, l]
384
+ ret: [b, h, l, 2*l-1]
385
+ """
386
+ batch, heads, length, _ = x.size()
387
+ # pad along column
388
+ x = F.pad(
389
+ x, commons.convert_pad_shape([[0, 0], [0, 0], [0, 0], [0, length - 1]])
390
+ )
391
+ x_flat = x.view([batch, heads, length**2 + length * (length - 1)])
392
+ # add 0's in the beginning that will skew the elements after reshape
393
+ x_flat = F.pad(x_flat, commons.convert_pad_shape([[0, 0], [0, 0], [length, 0]]))
394
+ x_final = x_flat.view([batch, heads, length, 2 * length])[:, :, :, 1:]
395
+ return x_final
396
+
397
+ def _attention_bias_proximal(self, length):
398
+ """Bias for self-attention to encourage attention to close positions.
399
+ Args:
400
+ length: an integer scalar.
401
+ Returns:
402
+ a Tensor with shape [1, 1, length, length]
403
+ """
404
+ r = torch.arange(length, dtype=torch.float32)
405
+ diff = torch.unsqueeze(r, 0) - torch.unsqueeze(r, 1)
406
+ return torch.unsqueeze(torch.unsqueeze(-torch.log1p(torch.abs(diff)), 0), 0)
407
+
408
+
409
+ class FFN(nn.Module):
410
+ def __init__(
411
+ self,
412
+ in_channels,
413
+ out_channels,
414
+ filter_channels,
415
+ kernel_size,
416
+ p_dropout=0.0,
417
+ activation=None,
418
+ causal=False,
419
+ ):
420
+ super().__init__()
421
+ self.in_channels = in_channels
422
+ self.out_channels = out_channels
423
+ self.filter_channels = filter_channels
424
+ self.kernel_size = kernel_size
425
+ self.p_dropout = p_dropout
426
+ self.activation = activation
427
+ self.causal = causal
428
+
429
+ if causal:
430
+ self.padding = self._causal_padding
431
+ else:
432
+ self.padding = self._same_padding
433
+
434
+ self.conv_1 = nn.Conv1d(in_channels, filter_channels, kernel_size)
435
+ self.conv_2 = nn.Conv1d(filter_channels, out_channels, kernel_size)
436
+ self.drop = nn.Dropout(p_dropout)
437
+
438
+ def forward(self, x, x_mask):
439
+ x = self.conv_1(self.padding(x * x_mask))
440
+ if self.activation == "gelu":
441
+ x = x * torch.sigmoid(1.702 * x)
442
+ else:
443
+ x = torch.relu(x)
444
+ x = self.drop(x)
445
+ x = self.conv_2(self.padding(x * x_mask))
446
+ return x * x_mask
447
+
448
+ def _causal_padding(self, x):
449
+ if self.kernel_size == 1:
450
+ return x
451
+ pad_l = self.kernel_size - 1
452
+ pad_r = 0
453
+ padding = [[0, 0], [0, 0], [pad_l, pad_r]]
454
+ x = F.pad(x, commons.convert_pad_shape(padding))
455
+ return x
456
+
457
+ def _same_padding(self, x):
458
+ if self.kernel_size == 1:
459
+ return x
460
+ pad_l = (self.kernel_size - 1) // 2
461
+ pad_r = self.kernel_size // 2
462
+ padding = [[0, 0], [0, 0], [pad_l, pad_r]]
463
+ x = F.pad(x, commons.convert_pad_shape(padding))
464
+ return x
bert/Erlangshen-DeBERTa-v2-710M-Chinese/config.json ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_type": "deberta-v2",
3
+ "architectures": [
4
+ "DebertaV2ForMaskedLM"
5
+ ],
6
+ "attention_probs_dropout_prob": 0.1,
7
+ "attention_head_size": 64,
8
+ "hidden_act": "gelu",
9
+ "hidden_dropout_prob": 0.1,
10
+ "hidden_size": 1536,
11
+ "initializer_range": 0.02,
12
+ "intermediate_size": 6144,
13
+ "max_position_embeddings": 512,
14
+ "relative_attention": true,
15
+ "position_buckets": 256,
16
+ "norm_rel_ebd": "layer_norm",
17
+ "share_att_key": true,
18
+ "pos_att_type": [
19
+ "p2c",
20
+ "c2p"
21
+ ],
22
+ "conv_kernel_size": 3,
23
+ "pooler_dropout": 0,
24
+ "pooler_hidden_act": "gelu",
25
+ "pooler_hidden_size": 1536,
26
+ "conv_act": "gelu",
27
+ "layer_norm_eps": 1e-7,
28
+ "max_relative_positions": -1,
29
+ "position_biased_input": false,
30
+ "num_attention_heads": 24,
31
+ "num_hidden_layers": 24,
32
+ "type_vocab_size": 0,
33
+ "num_labels": 119,
34
+ "vocab_size": 12800
35
+ }
bert/Erlangshen-DeBERTa-v2-710M-Chinese/special_tokens_map.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"unk_token": "[UNK]", "sep_token": "[SEP]", "pad_token": "[PAD]", "cls_token": "[CLS]", "mask_token": "[MASK]"}
bert/Erlangshen-DeBERTa-v2-710M-Chinese/tokenizer_config.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "do_lower_case": true,
3
+ "do_basic_tokenize": true,
4
+ "never_split": null,
5
+ "unk_token": "[UNK]",
6
+ "sep_token": "[SEP]",
7
+ "pad_token": "[PAD]",
8
+ "cls_token": "[CLS]",
9
+ "mask_token": "[MASK]",
10
+ "tokenize_chinese_chars": true,
11
+ "strip_accents": null,
12
+ "special_tokens_map_file": null,
13
+ "name_or_path": "/cognitive_comp/gaoxinyu/pretrained_model/bert-1.3B",
14
+ "tokenizer_class": "BertTokenizer"
15
+ }
bert/Erlangshen-DeBERTa-v2-710M-Chinese/vocab.txt ADDED
@@ -0,0 +1,12800 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [PAD]
2
+ [CLS]
3
+ [SEP]
4
+ [UNK]
5
+ [MASK]
6
+ [unused1]
7
+ [unused2]
8
+ [unused3]
9
+ [unused4]
10
+ [unused5]
11
+ [unused6]
12
+ [unused7]
13
+ [unused8]
14
+ [unused9]
15
+ [unused10]
16
+ [unused11]
17
+ [unused12]
18
+ [unused13]
19
+ [unused14]
20
+ [unused15]
21
+ [unused16]
22
+ [unused17]
23
+ [unused18]
24
+ [unused19]
25
+ [unused20]
26
+ [unused21]
27
+ [unused22]
28
+ [unused23]
29
+ [unused24]
30
+ [unused25]
31
+ [unused26]
32
+ [unused27]
33
+ [unused28]
34
+ [unused29]
35
+ [unused30]
36
+ [unused31]
37
+ [unused32]
38
+ [unused33]
39
+ [unused34]
40
+ [unused35]
41
+ [unused36]
42
+ [unused37]
43
+ [unused38]
44
+ [unused39]
45
+ [unused40]
46
+ [unused41]
47
+ [unused42]
48
+ [unused43]
49
+ [unused44]
50
+ [unused45]
51
+ [unused46]
52
+ [unused47]
53
+ [unused48]
54
+ [unused49]
55
+ [unused50]
56
+ [unused51]
57
+ [unused52]
58
+ [unused53]
59
+ [unused54]
60
+ [unused55]
61
+ [unused56]
62
+ [unused57]
63
+ [unused58]
64
+ [unused59]
65
+ [unused60]
66
+ [unused61]
67
+ [unused62]
68
+ [unused63]
69
+ [unused64]
70
+ [unused65]
71
+ [unused66]
72
+ [unused67]
73
+ [unused68]
74
+ [unused69]
75
+ [unused70]
76
+ [unused71]
77
+ [unused72]
78
+ [unused73]
79
+ [unused74]
80
+ [unused75]
81
+ [unused76]
82
+ [unused77]
83
+ [unused78]
84
+ [unused79]
85
+ [unused80]
86
+ [unused81]
87
+ [unused82]
88
+ [unused83]
89
+ [unused84]
90
+ [unused85]
91
+ [unused86]
92
+ [unused87]
93
+ [unused88]
94
+ [unused89]
95
+ [unused90]
96
+ [unused91]
97
+ [unused92]
98
+ [unused93]
99
+ [unused94]
100
+ [unused95]
101
+ [unused96]
102
+ [unused97]
103
+ [unused98]
104
+ [unused99]
105
+ !
106
+ "
107
+ #
108
+ $
109
+ %
110
+ &
111
+ '
112
+ (
113
+ )
114
+ *
115
+ +
116
+ ,
117
+ -
118
+ .
119
+ /
120
+ :
121
+ ;
122
+ <
123
+ =
124
+ >
125
+ ?
126
+ @
127
+ [
128
+ \
129
+ ]
130
+ ^
131
+ _
132
+ `
133
+ {
134
+ |
135
+ }
136
+ ~
137
+ ·
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+ _
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+ 0
208
+ ##0
209
+ 1
210
+ ##1
211
+ 2
212
+ ##2
213
+ 3
214
+ ##3
215
+ 4
216
+ ##4
217
+ 5
218
+ ##5
219
+ 6
220
+ ##6
221
+ 7
222
+ ##7
223
+ 8
224
+ ##8
225
+ 9
226
+ ##9
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+ 丿
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+
322
+
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
353
+ 亿
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+
371
+
372
+
373
+
374
+
375
+
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+
395
+
396
+
397
+
398
+ 仿
399
+
400
+
401
+
402
+
403
+
404
+
405
+
406
+
407
+
408
+
409
+
410
+
411
+
412
+
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+
457
+
458
+
459
+
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+ 使
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+
494
+
495
+
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+ 便
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+
513
+
514
+
515
+
516
+
517
+
518
+
519
+
520
+
521
+
522
+
523
+
524
+
525
+
526
+
527
+
528
+
529
+
530
+
531
+
532
+
533
+
534
+
535
+
536
+
537
+
538
+
539
+
540
+
541
+
542
+
543
+
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+
552
+
553
+
554
+
555
+
556
+
557
+
558
+
559
+
560
+
561
+
562
+
563
+
564
+
565
+
566
+
567
+
568
+
569
+
570
+
571
+
572
+
573
+
574
+
575
+
576
+
577
+
578
+
579
+
580
+
581
+
582
+
583
+
584
+
585
+
586
+
587
+
588
+
589
+
590
+
591
+
592
+
593
+
594
+
595
+
596
+
597
+
598
+
599
+
600
+
601
+
602
+
603
+
604
+
605
+
606
+
607
+
608
+
609
+
610
+
611
+
612
+
613
+
614
+
615
+
616
+
617
+
618
+
619
+
620
+
621
+
622
+
623
+
624
+
625
+
626
+
627
+
628
+
629
+
630
+
631
+
632
+
633
+
634
+
635
+
636
+
637
+
638
+
639
+
640
+
641
+
642
+
643
+
644
+
645
+
646
+
647
+
648
+
649
+
650
+
651
+
652
+
653
+
654
+
655
+
656
+
657
+
658
+
659
+
660
+
661
+
662
+
663
+
664
+
665
+
666
+
667
+
668
+
669
+
670
+
671
+
672
+
673
+
674
+
675
+
676
+
677
+
678
+
679
+
680
+
681
+
682
+
683
+
684
+
685
+
686
+
687
+
688
+
689
+
690
+
691
+
692
+
693
+
694
+
695
+
696
+
697
+
698
+
699
+
700
+
701
+
702
+
703
+
704
+
705
+
706
+
707
+
708
+
709
+
710
+
711
+
712
+
713
+
714
+
715
+
716
+
717
+
718
+
719
+
720
+
721
+
722
+
723
+
724
+
725
+
726
+
727
+
728
+
729
+
730
+
731
+
732
+
733
+
734
+
735
+
736
+
737
+
738
+
739
+
740
+
741
+
742
+
743
+
744
+
745
+
746
+
747
+
748
+
749
+
750
+
751
+
752
+
753
+
754
+
755
+
756
+
757
+
758
+
759
+
760
+
761
+
762
+
763
+
764
+
765
+
766
+
767
+
768
+
769
+
770
+
771
+
772
+
773
+
774
+
775
+
776
+
777
+
778
+
779
+
780
+
781
+
782
+
783
+
784
+
785
+
786
+
787
+
788
+
789
+
790
+
791
+
792
+
793
+
794
+
795
+
796
+
797
+
798
+
799
+
800
+
801
+
802
+
803
+
804
+
805
+
806
+
807
+
808
+
809
+
810
+
811
+
812
+
813
+
814
+
815
+
816
+
817
+
818
+
819
+
820
+
821
+
822
+
823
+
824
+
825
+
826
+
827
+
828
+
829
+
830
+
831
+
832
+
833
+
834
+
835
+
836
+
837
+
838
+
839
+
840
+
841
+
842
+
843
+
844
+
845
+
846
+
847
+
848
+
849
+
850
+
851
+
852
+
853
+
854
+
855
+
856
+
857
+
858
+
859
+
860
+
861
+
862
+
863
+
864
+
865
+
866
+
867
+
868
+
869
+
870
+
871
+
872
+
873
+
874
+
875
+
876
+
877
+
878
+
879
+
880
+
881
+
882
+
883
+
884
+
885
+
886
+
887
+
888
+
889
+
890
+
891
+
892
+
893
+
894
+
895
+
896
+
897
+
898
+
899
+
900
+
901
+
902
+
903
+
904
+
905
+
906
+
907
+
908
+
909
+
910
+
911
+
912
+
913
+
914
+
915
+
916
+
917
+
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+
926
+
927
+
928
+
929
+
930
+
931
+
932
+
933
+
934
+
935
+
936
+
937
+
938
+
939
+
940
+
941
+
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+
950
+
951
+
952
+
953
+
954
+
955
+
956
+
957
+
958
+
959
+
960
+
961
+
962
+
963
+
964
+
965
+
966
+
967
+
968
+
969
+
970
+
971
+
972
+
973
+
974
+
975
+
976
+
977
+
978
+
979
+
980
+
981
+
982
+
983
+
984
+
985
+
986
+
987
+
988
+
989
+
990
+
991
+
992
+
993
+
994
+
995
+
996
+
997
+
998
+
999
+
1000
+
1001
+
1002
+
1003
+
1004
+
1005
+
1006
+
1007
+
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+
1015
+
1016
+
1017
+
1018
+
1019
+
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+
1031
+
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+
1039
+
1040
+
1041
+
1042
+
1043
+
1044
+
1045
+
1046
+
1047
+
1048
+
1049
+
1050
+
1051
+
1052
+
1053
+
1054
+
1055
+
1056
+
1057
+
1058
+
1059
+
1060
+
1061
+
1062
+
1063
+
1064
+
1065
+
1066
+
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+
1075
+
1076
+
1077
+
1078
+
1079
+
1080
+
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+
1087
+
1088
+
1089
+
1090
+
1091
+
1092
+
1093
+
1094
+
1095
+
1096
+
1097
+
1098
+
1099
+
1100
+
1101
+
1102
+
1103
+
1104
+
1105
+
1106
+
1107
+
1108
+
1109
+
1110
+
1111
+
1112
+
1113
+
1114
+
1115
+
1116
+
1117
+
1118
+
1119
+
1120
+
1121
+
1122
+
1123
+
1124
+
1125
+
1126
+
1127
+
1128
+
1129
+
1130
+
1131
+
1132
+
1133
+
1134
+
1135
+
1136
+
1137
+
1138
+
1139
+
1140
+
1141
+
1142
+
1143
+
1144
+
1145
+
1146
+
1147
+
1148
+
1149
+
1150
+
1151
+
1152
+
1153
+
1154
+
1155
+
1156
+
1157
+
1158
+
1159
+
1160
+
1161
+
1162
+
1163
+
1164
+
1165
+
1166
+
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+
1174
+
1175
+
1176
+
1177
+
1178
+
1179
+
1180
+
1181
+
1182
+
1183
+
1184
+
1185
+
1186
+
1187
+
1188
+
1189
+
1190
+
1191
+
1192
+
1193
+
1194
+
1195
+
1196
+
1197
+
1198
+
1199
+
1200
+
1201
+
1202
+
1203
+
1204
+
1205
+
1206
+
1207
+
1208
+
1209
+
1210
+
1211
+
1212
+
1213
+
1214
+
1215
+
1216
+
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+
1228
+
1229
+
1230
+
1231
+
1232
+
1233
+
1234
+
1235
+
1236
+
1237
+
1238
+
1239
+
1240
+
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+
1249
+
1250
+
1251
+
1252
+
1253
+
1254
+
1255
+
1256
+
1257
+
1258
+
1259
+
1260
+
1261
+
1262
+
1263
+
1264
+
1265
+
1266
+
1267
+
1268
+
1269
+
1270
+
1271
+
1272
+
1273
+
1274
+
1275
+
1276
+
1277
+
1278
+
1279
+
1280
+
1281
+
1282
+
1283
+
1284
+
1285
+
1286
+
1287
+
1288
+
1289
+
1290
+
1291
+
1292
+
1293
+
1294
+
1295
+
1296
+
1297
+
1298
+
1299
+
1300
+
1301
+
1302
+
1303
+
1304
+
1305
+
1306
+
1307
+
1308
+
1309
+
1310
+
1311
+
1312
+
1313
+
1314
+
1315
+
1316
+
1317
+
1318
+
1319
+
1320
+
1321
+
1322
+
1323
+
1324
+
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+
1331
+
1332
+
1333
+
1334
+
1335
+
1336
+
1337
+
1338
+
1339
+
1340
+
1341
+
1342
+
1343
+
1344
+
1345
+
1346
+
1347
+
1348
+
1349
+
1350
+
1351
+
1352
+
1353
+
1354
+
1355
+
1356
+
1357
+
1358
+
1359
+
1360
+
1361
+
1362
+
1363
+
1364
+
1365
+
1366
+
1367
+
1368
+
1369
+
1370
+
1371
+
1372
+
1373
+
1374
+
1375
+
1376
+
1377
+
1378
+
1379
+
1380
+
1381
+
1382
+
1383
+
1384
+
1385
+
1386
+
1387
+
1388
+
1389
+
1390
+
1391
+
1392
+
1393
+
1394
+
1395
+
1396
+
1397
+
1398
+
1399
+
1400
+
1401
+
1402
+
1403
+
1404
+
1405
+
1406
+
1407
+
1408
+
1409
+
1410
+
1411
+
1412
+
1413
+
1414
+
1415
+
1416
+
1417
+
1418
+
1419
+
1420
+
1421
+
1422
+
1423
+
1424
+
1425
+
1426
+
1427
+
1428
+
1429
+
1430
+
1431
+
1432
+
1433
+
1434
+
1435
+
1436
+
1437
+
1438
+
1439
+
1440
+
1441
+
1442
+
1443
+
1444
+
1445
+
1446
+
1447
+
1448
+
1449
+
1450
+
1451
+
1452
+
1453
+
1454
+
1455
+
1456
+
1457
+
1458
+
1459
+
1460
+
1461
+
1462
+
1463
+
1464
+
1465
+
1466
+
1467
+
1468
+
1469
+
1470
+
1471
+
1472
+
1473
+
1474
+
1475
+
1476
+
1477
+
1478
+
1479
+
1480
+
1481
+
1482
+
1483
+
1484
+
1485
+
1486
+
1487
+
1488
+
1489
+
1490
+
1491
+
1492
+
1493
+
1494
+
1495
+
1496
+
1497
+
1498
+
1499
+
1500
+
1501
+
1502
+
1503
+
1504
+
1505
+
1506
+
1507
+
1508
+
1509
+
1510
+
1511
+
1512
+
1513
+
1514
+
1515
+
1516
+
1517
+
1518
+
1519
+
1520
+
1521
+
1522
+
1523
+
1524
+
1525
+
1526
+
1527
+
1528
+
1529
+
1530
+
1531
+
1532
+
1533
+
1534
+
1535
+
1536
+
1537
+
1538
+
1539
+
1540
+
1541
+
1542
+
1543
+
1544
+
1545
+
1546
+
1547
+
1548
+
1549
+
1550
+
1551
+
1552
+
1553
+
1554
+
1555
+
1556
+
1557
+
1558
+
1559
+
1560
+
1561
+
1562
+
1563
+
1564
+
1565
+
1566
+
1567
+
1568
+
1569
+
1570
+
1571
+
1572
+
1573
+
1574
+
1575
+
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+
1583
+
1584
+
1585
+
1586
+
1587
+
1588
+
1589
+
1590
+
1591
+
1592
+
1593
+
1594
+
1595
+
1596
+
1597
+
1598
+
1599
+
1600
+
1601
+
1602
+
1603
+
1604
+
1605
+
1606
+
1607
+
1608
+
1609
+
1610
+
1611
+
1612
+
1613
+
1614
+
1615
+
1616
+
1617
+
1618
+
1619
+
1620
+
1621
+
1622
+
1623
+
1624
+
1625
+
1626
+
1627
+
1628
+
1629
+
1630
+
1631
+
1632
+
1633
+
1634
+
1635
+
1636
+
1637
+
1638
+
1639
+
1640
+
1641
+
1642
+
1643
+
1644
+
1645
+
1646
+
1647
+
1648
+
1649
+
1650
+
1651
+
1652
+
1653
+
1654
+
1655
+
1656
+
1657
+
1658
+
1659
+
1660
+
1661
+
1662
+
1663
+
1664
+
1665
+
1666
+
1667
+
1668
+
1669
+
1670
+
1671
+
1672
+
1673
+
1674
+
1675
+
1676
+
1677
+
1678
+
1679
+
1680
+
1681
+
1682
+
1683
+
1684
+
1685
+
1686
+
1687
+
1688
+
1689
+
1690
+
1691
+
1692
+
1693
+
1694
+
1695
+
1696
+
1697
+
1698
+
1699
+
1700
+
1701
+
1702
+
1703
+
1704
+
1705
+
1706
+
1707
+
1708
+ 姿
1709
+
1710
+
1711
+
1712
+
1713
+
1714
+
1715
+
1716
+
1717
+
1718
+
1719
+
1720
+
1721
+
1722
+
1723
+
1724
+
1725
+
1726
+
1727
+
1728
+
1729
+
1730
+
1731
+
1732
+
1733
+
1734
+
1735
+
1736
+
1737
+
1738
+
1739
+
1740
+
1741
+
1742
+
1743
+
1744
+
1745
+
1746
+
1747
+
1748
+
1749
+
1750
+
1751
+
1752
+
1753
+ 婿
1754
+
1755
+
1756
+
1757
+
1758
+
1759
+
1760
+
1761
+
1762
+
1763
+
1764
+
1765
+
1766
+
1767
+
1768
+
1769
+
1770
+
1771
+
1772
+
1773
+
1774
+
1775
+
1776
+
1777
+
1778
+
1779
+
1780
+
1781
+
1782
+
1783
+
1784
+
1785
+
1786
+
1787
+
1788
+
1789
+
1790
+
1791
+
1792
+
1793
+
1794
+
1795
+
1796
+
1797
+
1798
+
1799
+
1800
+ 嬿
1801
+
1802
+
1803
+
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+
1810
+
1811
+
1812
+
1813
+
1814
+
1815
+
1816
+
1817
+
1818
+
1819
+
1820
+
1821
+
1822
+
1823
+
1824
+
1825
+
1826
+
1827
+
1828
+
1829
+
1830
+
1831
+
1832
+
1833
+
1834
+
1835
+
1836
+
1837
+
1838
+
1839
+
1840
+
1841
+
1842
+
1843
+
1844
+
1845
+
1846
+
1847
+
1848
+
1849
+
1850
+
1851
+
1852
+
1853
+
1854
+
1855
+
1856
+
1857
+
1858
+
1859
+
1860
+
1861
+
1862
+
1863
+
1864
+
1865
+
1866
+
1867
+
1868
+
1869
+
1870
+
1871
+
1872
+
1873
+ 宿
1874
+
1875
+
1876
+
1877
+
1878
+
1879
+
1880
+
1881
+
1882
+
1883
+
1884
+
1885
+
1886
+
1887
+
1888
+
1889
+
1890
+
1891
+
1892
+
1893
+
1894
+
1895
+
1896
+
1897
+
1898
+
1899
+
1900
+
1901
+
1902
+
1903
+
1904
+
1905
+ 寿
1906
+
1907
+
1908
+
1909
+
1910
+
1911
+
1912
+
1913
+
1914
+
1915
+
1916
+
1917
+
1918
+
1919
+
1920
+
1921
+
1922
+
1923
+
1924
+
1925
+
1926
+
1927
+
1928
+
1929
+
1930
+
1931
+
1932
+
1933
+
1934
+
1935
+
1936
+
1937
+
1938
+
1939
+
1940
+
1941
+
1942
+
1943
+ 尿
1944
+
1945
+
1946
+
1947
+
1948
+
1949
+
1950
+
1951
+
1952
+
1953
+
1954
+
1955
+
1956
+
1957
+
1958
+
1959
+
1960
+
1961
+
1962
+
1963
+
1964
+
1965
+
1966
+
1967
+
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+ 屿
1975
+
1976
+
1977
+
1978
+
1979
+
1980
+
1981
+
1982
+
1983
+
1984
+
1985
+
1986
+
1987
+
1988
+
1989
+
1990
+
1991
+
1992
+
1993
+
1994
+
1995
+
1996
+
1997
+
1998
+
1999
+
2000
+
2001
+
2002
+
2003
+
2004
+
2005
+ 岿
2006
+
2007
+
2008
+
2009
+
2010
+
2011
+
2012
+
2013
+
2014
+
2015
+
2016
+
2017
+
2018
+
2019
+
2020
+
2021
+
2022
+
2023
+
2024
+
2025
+
2026
+
2027
+
2028
+
2029
+
2030
+
2031
+
2032
+
2033
+
2034
+
2035
+
2036
+
2037
+
2038
+
2039
+
2040
+
2041
+
2042
+
2043
+
2044
+
2045
+
2046
+
2047
+
2048
+
2049
+
2050
+
2051
+
2052
+
2053
+
2054
+
2055
+
2056
+
2057
+
2058
+
2059
+
2060
+
2061
+
2062
+
2063
+
2064
+
2065
+
2066
+
2067
+
2068
+
2069
+
2070
+
2071
+
2072
+
2073
+
2074
+
2075
+
2076
+
2077
+
2078
+
2079
+
2080
+
2081
+
2082
+
2083
+
2084
+
2085
+
2086
+
2087
+
2088
+
2089
+
2090
+
2091
+
2092
+
2093
+
2094
+
2095
+
2096
+
2097
+
2098
+
2099
+
2100
+
2101
+ 巿
2102
+
2103
+
2104
+
2105
+
2106
+
2107
+
2108
+
2109
+
2110
+
2111
+
2112
+
2113
+
2114
+
2115
+
2116
+
2117
+
2118
+
2119
+
2120
+
2121
+
2122
+
2123
+
2124
+
2125
+
2126
+
2127
+
2128
+
2129
+
2130
+
2131
+
2132
+
2133
+
2134
+
2135
+
2136
+
2137
+
2138
+
2139
+
2140
+
2141
+
2142
+
2143
+
2144
+
2145
+
2146
+
2147
+
2148
+
2149
+
2150
+
2151
+
2152
+
2153
+ 广
2154
+
2155
+
2156
+
2157
+
2158
+
2159
+
2160
+
2161
+
2162
+
2163
+
2164
+
2165
+
2166
+
2167
+
2168
+
2169
+
2170
+
2171
+
2172
+
2173
+
2174
+
2175
+
2176
+
2177
+
2178
+
2179
+
2180
+
2181
+
2182
+
2183
+
2184
+
2185
+
2186
+
2187
+
2188
+
2189
+
2190
+
2191
+
2192
+
2193
+
2194
+
2195
+
2196
+
2197
+
2198
+
2199
+
2200
+
2201
+
2202
+
2203
+
2204
+
2205
+
2206
+
2207
+
2208
+
2209
+ 廿
2210
+
2211
+
2212
+
2213
+
2214
+
2215
+
2216
+
2217
+
2218
+
2219
+
2220
+
2221
+
2222
+
2223
+
2224
+
2225
+
2226
+
2227
+
2228
+
2229
+
2230
+
2231
+
2232
+
2233
+
2234
+
2235
+
2236
+
2237
+
2238
+
2239
+
2240
+
2241
+
2242
+
2243
+
2244
+
2245
+
2246
+
2247
+
2248
+
2249
+
2250
+
2251
+
2252
+
2253
+
2254
+
2255
+
2256
+
2257
+
2258
+
2259
+
2260
+
2261
+
2262
+
2263
+
2264
+
2265
+
2266
+
2267
+
2268
+
2269
+
2270
+
2271
+
2272
+
2273
+
2274
+
2275
+
2276
+
2277
+
2278
+
2279
+
2280
+
2281
+
2282
+
2283
+
2284
+
2285
+
2286
+
2287
+
2288
+
2289
+
2290
+
2291
+
2292
+
2293
+
2294
+
2295
+
2296
+
2297
+
2298
+
2299
+
2300
+
2301
+
2302
+
2303
+
2304
+
2305
+
2306
+
2307
+
2308
+
2309
+
2310
+
2311
+
2312
+
2313
+
2314
+
2315
+
2316
+
2317
+
2318
+
2319
+
2320
+
2321
+
2322
+
2323
+
2324
+
2325
+
2326
+
2327
+
2328
+ 忿
2329
+ 怀
2330
+
2331
+
2332
+
2333
+
2334
+
2335
+
2336
+
2337
+
2338
+
2339
+
2340
+
2341
+
2342
+
2343
+
2344
+
2345
+
2346
+
2347
+
2348
+
2349
+
2350
+
2351
+
2352
+
2353
+
2354
+
2355
+
2356
+
2357
+
2358
+
2359
+
2360
+
2361
+
2362
+
2363
+
2364
+
2365
+
2366
+
2367
+
2368
+
2369
+
2370
+
2371
+
2372
+
2373
+
2374
+
2375
+
2376
+
2377
+
2378
+
2379
+
2380
+
2381
+
2382
+
2383
+
2384
+
2385
+
2386
+
2387
+
2388
+
2389
+
2390
+
2391
+
2392
+
2393
+
2394
+
2395
+
2396
+
2397
+
2398
+
2399
+
2400
+
2401
+
2402
+
2403
+
2404
+
2405
+
2406
+
2407
+
2408
+
2409
+
2410
+
2411
+
2412
+
2413
+
2414
+
2415
+
2416
+
2417
+
2418
+
2419
+
2420
+
2421
+
2422
+
2423
+
2424
+
2425
+
2426
+
2427
+
2428
+
2429
+
2430
+
2431
+
2432
+
2433
+
2434
+
2435
+
2436
+
2437
+
2438
+
2439
+
2440
+
2441
+
2442
+
2443
+
2444
+
2445
+
2446
+
2447
+
2448
+
2449
+
2450
+
2451
+
2452
+
2453
+
2454
+
2455
+
2456
+
2457
+
2458
+
2459
+
2460
+
2461
+
2462
+
2463
+
2464
+
2465
+
2466
+
2467
+
2468
+
2469
+
2470
+
2471
+
2472
+
2473
+
2474
+
2475
+
2476
+
2477
+
2478
+
2479
+
2480
+
2481
+
2482
+
2483
+
2484
+
2485
+
2486
+
2487
+
2488
+
2489
+
2490
+
2491
+
2492
+
2493
+
2494
+
2495
+
2496
+
2497
+
2498
+
2499
+
2500
+
2501
+
2502
+
2503
+
2504
+
2505
+
2506
+
2507
+
2508
+
2509
+
2510
+
2511
+
2512
+
2513
+
2514
+
2515
+
2516
+
2517
+
2518
+
2519
+
2520
+
2521
+
2522
+
2523
+
2524
+
2525
+
2526
+
2527
+
2528
+
2529
+
2530
+
2531
+
2532
+
2533
+
2534
+
2535
+
2536
+
2537
+
2538
+
2539
+
2540
+
2541
+
2542
+
2543
+
2544
+
2545
+
2546
+
2547
+
2548
+
2549
+
2550
+
2551
+
2552
+
2553
+
2554
+
2555
+
2556
+
2557
+
2558
+
2559
+
2560
+
2561
+
2562
+
2563
+
2564
+
2565
+
2566
+
2567
+
2568
+
2569
+
2570
+
2571
+
2572
+
2573
+
2574
+
2575
+
2576
+
2577
+
2578
+
2579
+
2580
+
2581
+
2582
+
2583
+
2584
+
2585
+
2586
+
2587
+
2588
+
2589
+
2590
+
2591
+
2592
+
2593
+
2594
+
2595
+
2596
+
2597
+
2598
+
2599
+
2600
+
2601
+
2602
+
2603
+
2604
+
2605
+
2606
+
2607
+
2608
+
2609
+
2610
+
2611
+
2612
+
2613
+
2614
+
2615
+
2616
+
2617
+
2618
+
2619
+
2620
+
2621
+
2622
+
2623
+
2624
+
2625
+
2626
+
2627
+
2628
+
2629
+
2630
+
2631
+
2632
+
2633
+
2634
+
2635
+
2636
+
2637
+
2638
+
2639
+
2640
+
2641
+
2642
+
2643
+
2644
+
2645
+
2646
+
2647
+
2648
+
2649
+
2650
+
2651
+
2652
+
2653
+
2654
+
2655
+
2656
+
2657
+
2658
+
2659
+
2660
+
2661
+
2662
+
2663
+
2664
+
2665
+
2666
+
2667
+
2668
+
2669
+
2670
+
2671
+
2672
+
2673
+
2674
+
2675
+
2676
+
2677
+
2678
+
2679
+
2680
+
2681
+
2682
+
2683
+
2684
+
2685
+
2686
+
2687
+
2688
+
2689
+
2690
+
2691
+
2692
+
2693
+
2694
+
2695
+
2696
+
2697
+
2698
+
2699
+
2700
+
2701
+
2702
+
2703
+
2704
+
2705
+
2706
+
2707
+
2708
+
2709
+
2710
+
2711
+
2712
+
2713
+
2714
+
2715
+
2716
+
2717
+
2718
+
2719
+
2720
+
2721
+
2722
+
2723
+
2724
+
2725
+
2726
+
2727
+
2728
+
2729
+
2730
+
2731
+
2732
+
2733
+
2734
+
2735
+
2736
+
2737
+
2738
+
2739
+
2740
+
2741
+
2742
+
2743
+
2744
+
2745
+
2746
+
2747
+
2748
+
2749
+
2750
+
2751
+
2752
+
2753
+
2754
+
2755
+
2756
+
2757
+
2758
+
2759
+
2760
+
2761
+
2762
+
2763
+
2764
+
2765
+
2766
+
2767
+
2768
+
2769
+
2770
+
2771
+
2772
+
2773
+
2774
+
2775
+
2776
+
2777
+
2778
+
2779
+
2780
+
2781
+
2782
+
2783
+
2784
+
2785
+
2786
+
2787
+
2788
+
2789
+
2790
+
2791
+
2792
+
2793
+
2794
+
2795
+
2796
+
2797
+
2798
+
2799
+
2800
+
2801
+
2802
+
2803
+
2804
+
2805
+
2806
+
2807
+
2808
+
2809
+
2810
+
2811
+
2812
+
2813
+
2814
+
2815
+
2816
+
2817
+
2818
+
2819
+
2820
+
2821
+
2822
+
2823
+
2824
+
2825
+
2826
+
2827
+
2828
+
2829
+
2830
+
2831
+
2832
+
2833
+
2834
+
2835
+
2836
+
2837
+
2838
+
2839
+
2840
+
2841
+
2842
+
2843
+
2844
+
2845
+
2846
+
2847
+
2848
+
2849
+
2850
+
2851
+
2852
+
2853
+
2854
+
2855
+
2856
+
2857
+
2858
+
2859
+
2860
+
2861
+
2862
+
2863
+
2864
+
2865
+
2866
+
2867
+
2868
+
2869
+
2870
+
2871
+
2872
+
2873
+
2874
+
2875
+
2876
+
2877
+
2878
+
2879
+
2880
+
2881
+
2882
+
2883
+
2884
+
2885
+
2886
+
2887
+
2888
+
2889
+
2890
+
2891
+
2892
+
2893
+
2894
+
2895
+
2896
+
2897
+
2898
+
2899
+
2900
+
2901
+
2902
+
2903
+
2904
+
2905
+
2906
+
2907
+
2908
+
2909
+
2910
+
2911
+
2912
+
2913
+
2914
+
2915
+
2916
+
2917
+
2918
+
2919
+
2920
+
2921
+
2922
+
2923
+
2924
+
2925
+
2926
+
2927
+
2928
+
2929
+
2930
+
2931
+
2932
+
2933
+
2934
+
2935
+
2936
+
2937
+
2938
+
2939
+
2940
+
2941
+
2942
+
2943
+
2944
+
2945
+
2946
+
2947
+
2948
+
2949
+
2950
+
2951
+
2952
+
2953
+
2954
+
2955
+
2956
+
2957
+
2958
+
2959
+
2960
+
2961
+
2962
+
2963
+
2964
+
2965
+
2966
+
2967
+
2968
+
2969
+
2970
+
2971
+
2972
+
2973
+
2974
+
2975
+
2976
+
2977
+
2978
+
2979
+
2980
+
2981
+
2982
+
2983
+
2984
+
2985
+
2986
+
2987
+
2988
+
2989
+
2990
+
2991
+
2992
+
2993
+
2994
+
2995
+
2996
+
2997
+
2998
+
2999
+
3000
+
3001
+
3002
+
3003
+
3004
+
3005
+
3006
+
3007
+
3008
+
3009
+
3010
+
3011
+
3012
+
3013
+
3014
+
3015
+
3016
+
3017
+
3018
+
3019
+
3020
+
3021
+
3022
+
3023
+
3024
+
3025
+
3026
+
3027
+
3028
+
3029
+
3030
+
3031
+
3032
+
3033
+
3034
+
3035
+
3036
+
3037
+
3038
+
3039
+
3040
+
3041
+
3042
+
3043
+
3044
+
3045
+
3046
+
3047
+
3048
+
3049
+
3050
+
3051
+
3052
+
3053
+
3054
+
3055
+
3056
+
3057
+
3058
+
3059
+
3060
+
3061
+
3062
+
3063
+
3064
+
3065
+
3066
+
3067
+
3068
+
3069
+
3070
+
3071
+
3072
+
3073
+
3074
+
3075
+
3076
+
3077
+
3078
+
3079
+
3080
+
3081
+
3082
+
3083
+
3084
+
3085
+
3086
+
3087
+
3088
+
3089
+
3090
+
3091
+
3092
+
3093
+
3094
+
3095
+
3096
+
3097
+
3098
+
3099
+
3100
+
3101
+
3102
+
3103
+
3104
+
3105
+
3106
+
3107
+
3108
+
3109
+
3110
+
3111
+
3112
+
3113
+
3114
+
3115
+
3116
+
3117
+
3118
+
3119
+
3120
+
3121
+
3122
+
3123
+
3124
+
3125
+
3126
+
3127
+
3128
+
3129
+
3130
+
3131
+
3132
+
3133
+
3134
+
3135
+
3136
+
3137
+
3138
+
3139
+
3140
+
3141
+
3142
+
3143
+
3144
+
3145
+
3146
+
3147
+
3148
+
3149
+
3150
+
3151
+
3152
+
3153
+
3154
+
3155
+
3156
+
3157
+
3158
+
3159
+
3160
+
3161
+
3162
+
3163
+
3164
+
3165
+
3166
+
3167
+
3168
+
3169
+
3170
+
3171
+
3172
+
3173
+
3174
+
3175
+
3176
+
3177
+
3178
+
3179
+
3180
+
3181
+
3182
+
3183
+
3184
+
3185
+
3186
+
3187
+
3188
+
3189
+
3190
+
3191
+
3192
+
3193
+
3194
+
3195
+
3196
+
3197
+
3198
+
3199
+
3200
+
3201
+
3202
+
3203
+
3204
+
3205
+
3206
+
3207
+
3208
+
3209
+
3210
+
3211
+
3212
+
3213
+
3214
+
3215
+
3216
+
3217
+
3218
+
3219
+
3220
+
3221
+
3222
+
3223
+
3224
+
3225
+
3226
+
3227
+
3228
+
3229
+
3230
+
3231
+
3232
+
3233
+
3234
+
3235
+
3236
+
3237
+
3238
+
3239
+
3240
+
3241
+
3242
+
3243
+
3244
+
3245
+
3246
+
3247
+
3248
+
3249
+
3250
+
3251
+
3252
+
3253
+
3254
+
3255
+
3256
+
3257
+
3258
+
3259
+
3260
+
3261
+
3262
+
3263
+
3264
+
3265
+
3266
+
3267
+
3268
+
3269
+
3270
+
3271
+
3272
+
3273
+
3274
+
3275
+
3276
+
3277
+
3278
+
3279
+
3280
+
3281
+
3282
+
3283
+
3284
+
3285
+
3286
+
3287
+
3288
+
3289
+
3290
+
3291
+
3292
+
3293
+
3294
+
3295
+
3296
+
3297
+
3298
+
3299
+
3300
+
3301
+
3302
+
3303
+
3304
+
3305
+
3306
+
3307
+
3308
+
3309
+
3310
+
3311
+
3312
+
3313
+
3314
+
3315
+
3316
+
3317
+
3318
+
3319
+
3320
+
3321
+
3322
+
3323
+
3324
+
3325
+
3326
+
3327
+
3328
+
3329
+
3330
+
3331
+
3332
+
3333
+
3334
+
3335
+
3336
+
3337
+
3338
+
3339
+
3340
+
3341
+
3342
+
3343
+
3344
+
3345
+
3346
+
3347
+
3348
+
3349
+
3350
+
3351
+
3352
+
3353
+
3354
+ 椿
3355
+
3356
+
3357
+
3358
+
3359
+
3360
+
3361
+
3362
+
3363
+
3364
+
3365
+
3366
+
3367
+
3368
+
3369
+
3370
+
3371
+
3372
+
3373
+
3374
+
3375
+
3376
+
3377
+
3378
+
3379
+
3380
+
3381
+
3382
+
3383
+
3384
+
3385
+
3386
+
3387
+
3388
+
3389
+
3390
+
3391
+
3392
+
3393
+
3394
+
3395
+
3396
+
3397
+
3398
+
3399
+
3400
+
3401
+
3402
+
3403
+
3404
+
3405
+
3406
+
3407
+
3408
+
3409
+
3410
+
3411
+
3412
+
3413
+
3414
+
3415
+
3416
+
3417
+
3418
+
3419
+
3420
+
3421
+
3422
+
3423
+
3424
+
3425
+
3426
+
3427
+ 槿
3428
+
3429
+
3430
+
3431
+
3432
+
3433
+
3434
+
3435
+
3436
+
3437
+
3438
+
3439
+
3440
+
3441
+
3442
+
3443
+
3444
+
3445
+
3446
+
3447
+
3448
+
3449
+
3450
+
3451
+
3452
+
3453
+
3454
+
3455
+
3456
+
3457
+
3458
+
3459
+
3460
+
3461
+
3462
+
3463
+
3464
+
3465
+
3466
+
3467
+
3468
+
3469
+
3470
+
3471
+
3472
+
3473
+
3474
+
3475
+
3476
+
3477
+
3478
+
3479
+
3480
+
3481
+
3482
+
3483
+
3484
+
3485
+
3486
+
3487
+
3488
+
3489
+
3490
+
3491
+
3492
+
3493
+
3494
+
3495
+
3496
+
3497
+
3498
+
3499
+
3500
+
3501
+
3502
+
3503
+
3504
+
3505
+
3506
+
3507
+
3508
+
3509
+
3510
+
3511
+
3512
+
3513
+
3514
+
3515
+
3516
+
3517
+
3518
+
3519
+
3520
+
3521
+
3522
+
3523
+
3524
+
3525
+
3526
+
3527
+
3528
+
3529
+ 殿
3530
+
3531
+
3532
+
3533
+
3534
+
3535
+
3536
+
3537
+
3538
+
3539
+
3540
+
3541
+
3542
+
3543
+
3544
+
3545
+
3546
+
3547
+
3548
+
3549
+
3550
+
3551
+
3552
+
3553
+
3554
+
3555
+
3556
+
3557
+
3558
+
3559
+
3560
+
3561
+
3562
+
3563
+
3564
+
3565
+
3566
+
3567
+
3568
+
3569
+
3570
+
3571
+
3572
+
3573
+
3574
+
3575
+
3576
+
3577
+
3578
+
3579
+
3580
+
3581
+
3582
+
3583
+
3584
+
3585
+
3586
+
3587
+
3588
+
3589
+
3590
+
3591
+
3592
+ 氿
3593
+
3594
+
3595
+
3596
+
3597
+
3598
+
3599
+
3600
+
3601
+
3602
+
3603
+
3604
+
3605
+
3606
+
3607
+
3608
+
3609
+
3610
+
3611
+
3612
+
3613
+
3614
+
3615
+
3616
+
3617
+
3618
+
3619
+
3620
+
3621
+
3622
+
3623
+
3624
+
3625
+
3626
+
3627
+
3628
+
3629
+
3630
+
3631
+
3632
+
3633
+
3634
+
3635
+
3636
+
3637
+
3638
+
3639
+
3640
+
3641
+
3642
+
3643
+
3644
+
3645
+
3646
+
3647
+
3648
+
3649
+
3650
+
3651
+
3652
+
3653
+
3654
+
3655
+
3656
+
3657
+
3658
+
3659
+
3660
+
3661
+
3662
+
3663
+
3664
+
3665
+
3666
+
3667
+
3668
+
3669
+ 沿
3670
+
3671
+
3672
+
3673
+
3674
+
3675
+
3676
+
3677
+
3678
+
3679
+
3680
+
3681
+
3682
+
3683
+
3684
+
3685
+
3686
+
3687
+
3688
+
3689
+
3690
+
3691
+
3692
+
3693
+
3694
+
3695
+
3696
+
3697
+
3698
+
3699
+
3700
+
3701
+
3702
+
3703
+
3704
+
3705
+
3706
+
3707
+
3708
+
3709
+
3710
+
3711
+
3712
+
3713
+
3714
+
3715
+
3716
+
3717
+
3718
+
3719
+
3720
+
3721
+
3722
+
3723
+
3724
+
3725
+
3726
+
3727
+
3728
+
3729
+
3730
+
3731
+
3732
+
3733
+
3734
+
3735
+
3736
+
3737
+
3738
+
3739
+
3740
+
3741
+
3742
+
3743
+
3744
+
3745
+
3746
+
3747
+
3748
+
3749
+
3750
+
3751
+
3752
+
3753
+
3754
+
3755
+
3756
+
3757
+
3758
+
3759
+
3760
+
3761
+
3762
+
3763
+
3764
+
3765
+
3766
+
3767
+
3768
+
3769
+
3770
+
3771
+
3772
+
3773
+
3774
+
3775
+
3776
+
3777
+
3778
+
3779
+
3780
+
3781
+
3782
+
3783
+
3784
+
3785
+
3786
+
3787
+
3788
+
3789
+
3790
+
3791
+
3792
+
3793
+
3794
+
3795
+
3796
+
3797
+
3798
+
3799
+
3800
+
3801
+
3802
+
3803
+
3804
+
3805
+
3806
+
3807
+
3808
+
3809
+
3810
+
3811
+
3812
+ 涿
3813
+
3814
+
3815
+
3816
+
3817
+
3818
+
3819
+
3820
+
3821
+
3822
+
3823
+
3824
+
3825
+
3826
+
3827
+
3828
+
3829
+
3830
+
3831
+
3832
+
3833
+
3834
+
3835
+
3836
+
3837
+
3838
+
3839
+
3840
+
3841
+
3842
+
3843
+
3844
+
3845
+
3846
+
3847
+
3848
+
3849
+
3850
+
3851
+
3852
+
3853
+
3854
+
3855
+
3856
+
3857
+
3858
+
3859
+
3860
+
3861
+
3862
+
3863
+
3864
+
3865
+
3866
+
3867
+
3868
+
3869
+
3870
+
3871
+
3872
+
3873
+
3874
+
3875
+
3876
+
3877
+
3878
+
3879
+
3880
+
3881
+
3882
+
3883
+
3884
+
3885
+
3886
+
3887
+
3888
+
3889
+
3890
+
3891
+
3892
+
3893
+
3894
+
3895
+
3896
+
3897
+
3898
+ 湿
3899
+
3900
+
3901
+
3902
+
3903
+
3904
+
3905
+
3906
+
3907
+
3908
+
3909
+
3910
+
3911
+
3912
+
3913
+
3914
+
3915
+
3916
+
3917
+
3918
+
3919
+
3920
+
3921
+
3922
+
3923
+
3924
+
3925
+
3926
+
3927
+
3928
+
3929
+
3930
+
3931
+
3932
+
3933
+
3934
+
3935
+
3936
+
3937
+
3938
+
3939
+
3940
+
3941
+
3942
+
3943
+
3944
+
3945
+
3946
+
3947
+
3948
+
3949
+
3950
+
3951
+
3952
+
3953
+
3954
+
3955
+
3956
+
3957
+
3958
+
3959
+
3960
+
3961
+
3962
+
3963
+
3964
+
3965
+
3966
+
3967
+
3968
+
3969
+
3970
+
3971
+
3972
+
3973
+
3974
+
3975
+
3976
+
3977
+
3978
+
3979
+
3980
+
3981
+
3982
+
3983
+
3984
+
3985
+
3986
+
3987
+
3988
+
3989
+
3990
+
3991
+
3992
+
3993
+
3994
+
3995
+
3996
+
3997
+
3998
+
3999
+
4000
+
4001
+
4002
+
4003
+
4004
+
4005
+
4006
+
4007
+
4008
+
4009
+
4010
+
4011
+
4012
+
4013
+
4014
+
4015
+
4016
+
4017
+
4018
+
4019
+
4020
+
4021
+
4022
+
4023
+
4024
+
4025
+
4026
+
4027
+
4028
+
4029
+
4030
+ 瀀
4031
+
4032
+
4033
+
4034
+
4035
+
4036
+
4037
+
4038
+
4039
+
4040
+
4041
+
4042
+
4043
+
4044
+
4045
+
4046
+
4047
+
4048
+
4049
+
4050
+
4051
+
4052
+
4053
+
4054
+
4055
+
4056
+
4057
+
4058
+
4059
+
4060
+
4061
+
4062
+
4063
+
4064
+
4065
+
4066
+
4067
+
4068
+
4069
+
4070
+
4071
+
4072
+
4073
+
4074
+
4075
+
4076
+
4077
+
4078
+
4079
+
4080
+
4081
+
4082
+
4083
+
4084
+
4085
+
4086
+
4087
+
4088
+
4089
+
4090
+
4091
+
4092
+
4093
+
4094
+
4095
+
4096
+
4097
+
4098
+
4099
+
4100
+
4101
+
4102
+
4103
+
4104
+
4105
+
4106
+
4107
+
4108
+
4109
+
4110
+
4111
+
4112
+
4113
+
4114
+
4115
+
4116
+
4117
+
4118
+
4119
+
4120
+
4121
+
4122
+
4123
+
4124
+
4125
+
4126
+
4127
+
4128
+
4129
+
4130
+
4131
+
4132
+
4133
+
4134
+
4135
+
4136
+
4137
+
4138
+
4139
+
4140
+
4141
+
4142
+
4143
+
4144
+
4145
+
4146
+
4147
+
4148
+
4149
+
4150
+
4151
+
4152
+
4153
+
4154
+
4155
+
4156
+
4157
+
4158
+
4159
+
4160
+
4161
+
4162
+
4163
+
4164
+
4165
+
4166
+
4167
+
4168
+
4169
+
4170
+
4171
+
4172
+
4173
+
4174
+
4175
+
4176
+
4177
+
4178
+
4179
+
4180
+
4181
+
4182
+
4183
+
4184
+
4185
+
4186
+
4187
+
4188
+
4189
+
4190
+
4191
+
4192
+
4193
+
4194
+
4195
+
4196
+
4197
+
4198
+
4199
+
4200
+
4201
+
4202
+
4203
+
4204
+
4205
+
4206
+
4207
+
4208
+
4209
+
4210
+
4211
+
4212
+
4213
+
4214
+
4215
+
4216
+
4217
+
4218
+
4219
+
4220
+
4221
+
4222
+
4223
+
4224
+
4225
+
4226
+
4227
+
4228
+
4229
+
4230
+
4231
+
4232
+
4233
+
4234
+
4235
+
4236
+
4237
+
4238
+
4239
+
4240
+
4241
+
4242
+
4243
+
4244
+
4245
+
4246
+
4247
+
4248
+
4249
+
4250
+
4251
+
4252
+
4253
+
4254
+
4255
+
4256
+
4257
+
4258
+
4259
+
4260
+
4261
+
4262
+
4263
+
4264
+
4265
+
4266
+
4267
+
4268
+
4269
+
4270
+
4271
+
4272
+
4273
+
4274
+
4275
+
4276
+
4277
+
4278
+
4279
+
4280
+
4281
+
4282
+
4283
+
4284
+
4285
+
4286
+
4287
+
4288
+
4289
+
4290
+
4291
+
4292
+
4293
+
4294
+
4295
+
4296
+
4297
+
4298
+
4299
+
4300
+
4301
+
4302
+
4303
+
4304
+
4305
+
4306
+
4307
+
4308
+
4309
+
4310
+
4311
+
4312
+
4313
+
4314
+
4315
+
4316
+
4317
+
4318
+
4319
+
4320
+
4321
+
4322
+
4323
+
4324
+
4325
+
4326
+
4327
+
4328
+
4329
+
4330
+
4331
+
4332
+
4333
+
4334
+
4335
+
4336
+
4337
+
4338
+
4339
+
4340
+
4341
+
4342
+
4343
+
4344
+
4345
+
4346
+
4347
+
4348
+
4349
+
4350
+
4351
+
4352
+
4353
+
4354
+
4355
+
4356
+
4357
+
4358
+
4359
+
4360
+
4361
+
4362
+
4363
+
4364
+
4365
+
4366
+
4367
+
4368
+
4369
+
4370
+
4371
+
4372
+
4373
+
4374
+
4375
+
4376
+
4377
+
4378
+
4379
+
4380
+
4381
+
4382
+
4383
+
4384
+
4385
+
4386
+
4387
+
4388
+
4389
+
4390
+
4391
+
4392
+
4393
+
4394
+
4395
+
4396
+
4397
+
4398
+
4399
+
4400
+
4401
+
4402
+
4403
+
4404
+
4405
+
4406
+
4407
+
4408
+
4409
+
4410
+
4411
+
4412
+
4413
+
4414
+
4415
+
4416
+
4417
+
4418
+
4419
+
4420
+
4421
+
4422
+
4423
+
4424
+
4425
+
4426
+
4427
+
4428
+
4429
+
4430
+
4431
+
4432
+
4433
+
4434
+
4435
+
4436
+
4437
+
4438
+
4439
+
4440
+
4441
+
4442
+
4443
+
4444
+
4445
+
4446
+
4447
+
4448
+
4449
+
4450
+
4451
+
4452
+
4453
+
4454
+
4455
+
4456
+
4457
+
4458
+
4459
+
4460
+
4461
+
4462
+
4463
+
4464
+
4465
+
4466
+
4467
+
4468
+
4469
+
4470
+
4471
+
4472
+
4473
+
4474
+
4475
+
4476
+
4477
+
4478
+
4479
+
4480
+
4481
+
4482
+
4483
+
4484
+
4485
+
4486
+
4487
+
4488
+
4489
+
4490
+
4491
+
4492
+
4493
+
4494
+
4495
+
4496
+
4497
+
4498
+
4499
+
4500
+
4501
+
4502
+
4503
+
4504
+
4505
+
4506
+
4507
+
4508
+
4509
+
4510
+
4511
+
4512
+
4513
+
4514
+
4515
+
4516
+
4517
+
4518
+
4519
+
4520
+
4521
+
4522
+
4523
+
4524
+
4525
+
4526
+
4527
+
4528
+
4529
+
4530
+
4531
+
4532
+
4533
+
4534
+
4535
+
4536
+
4537
+
4538
+
4539
+
4540
+
4541
+
4542
+
4543
+
4544
+
4545
+
4546
+
4547
+
4548
+
4549
+
4550
+
4551
+
4552
+
4553
+
4554
+
4555
+
4556
+
4557
+
4558
+
4559
+
4560
+
4561
+
4562
+
4563
+
4564
+
4565
+
4566
+
4567
+
4568
+
4569
+
4570
+
4571
+
4572
+
4573
+
4574
+
4575
+
4576
+
4577
+
4578
+
4579
+
4580
+
4581
+
4582
+
4583
+
4584
+
4585
+
4586
+
4587
+
4588
+
4589
+
4590
+
4591
+
4592
+
4593
+
4594
+
4595
+
4596
+
4597
+
4598
+
4599
+
4600
+
4601
+
4602
+
4603
+
4604
+
4605
+
4606
+
4607
+
4608
+
4609
+
4610
+
4611
+
4612
+
4613
+
4614
+
4615
+
4616
+
4617
+
4618
+
4619
+
4620
+
4621
+
4622
+
4623
+
4624
+
4625
+
4626
+
4627
+
4628
+
4629
+
4630
+
4631
+
4632
+
4633
+
4634
+
4635
+
4636
+
4637
+
4638
+
4639
+
4640
+
4641
+
4642
+
4643
+
4644
+
4645
+
4646
+
4647
+
4648
+
4649
+
4650
+
4651
+
4652
+
4653
+
4654
+
4655
+
4656
+
4657
+
4658
+
4659
+
4660
+
4661
+
4662
+
4663
+
4664
+
4665
+
4666
+
4667
+
4668
+
4669
+
4670
+
4671
+
4672
+
4673
+
4674
+
4675
+
4676
+
4677
+
4678
+
4679
+
4680
+
4681
+
4682
+
4683
+
4684
+
4685
+
4686
+
4687
+
4688
+
4689
+
4690
+
4691
+
4692
+
4693
+
4694
+
4695
+
4696
+
4697
+
4698
+
4699
+
4700
+
4701
+
4702
+
4703
+
4704
+
4705
+
4706
+
4707
+
4708
+
4709
+
4710
+
4711
+
4712
+
4713
+
4714
+
4715
+
4716
+
4717
+
4718
+
4719
+
4720
+
4721
+
4722
+
4723
+
4724
+
4725
+
4726
+
4727
+
4728
+
4729
+
4730
+
4731
+
4732
+
4733
+
4734
+
4735
+
4736
+
4737
+
4738
+
4739
+
4740
+
4741
+
4742
+
4743
+
4744
+
4745
+
4746
+
4747
+
4748
+
4749
+
4750
+
4751
+
4752
+
4753
+
4754
+
4755
+
4756
+
4757
+
4758
+
4759
+
4760
+
4761
+
4762
+
4763
+
4764
+
4765
+
4766
+
4767
+
4768
+
4769
+
4770
+
4771
+
4772
+
4773
+
4774
+
4775
+
4776
+
4777
+
4778
+
4779
+
4780
+
4781
+
4782
+
4783
+
4784
+
4785
+
4786
+
4787
+
4788
+
4789
+
4790
+
4791
+
4792
+
4793
+
4794
+
4795
+
4796
+
4797
+
4798
+
4799
+
4800
+
4801
+
4802
+
4803
+
4804
+
4805
+
4806
+
4807
+
4808
+
4809
+
4810
+
4811
+
4812
+
4813
+
4814
+
4815
+
4816
+
4817
+
4818
+
4819
+
4820
+
4821
+
4822
+
4823
+
4824
+
4825
+
4826
+
4827
+
4828
+
4829
+
4830
+
4831
+
4832
+
4833
+
4834
+
4835
+
4836
+
4837
+
4838
+
4839
+
4840
+
4841
+
4842
+
4843
+
4844
+
4845
+
4846
+
4847
+
4848
+
4849
+
4850
+
4851
+
4852
+
4853
+
4854
+
4855
+
4856
+
4857
+
4858
+
4859
+
4860
+
4861
+
4862
+
4863
+
4864
+
4865
+
4866
+
4867
+
4868
+
4869
+
4870
+
4871
+
4872
+
4873
+
4874
+
4875
+
4876
+
4877
+
4878
+
4879
+
4880
+
4881
+
4882
+
4883
+
4884
+
4885
+
4886
+
4887
+
4888
+
4889
+
4890
+
4891
+
4892
+
4893
+
4894
+
4895
+
4896
+
4897
+
4898
+
4899
+
4900
+
4901
+
4902
+
4903
+
4904
+
4905
+
4906
+
4907
+
4908
+
4909
+
4910
+
4911
+
4912
+
4913
+
4914
+
4915
+
4916
+
4917
+
4918
+
4919
+
4920
+
4921
+
4922
+
4923
+
4924
+
4925
+
4926
+
4927
+
4928
+
4929
+
4930
+
4931
+
4932
+
4933
+
4934
+
4935
+
4936
+
4937
+
4938
+
4939
+
4940
+
4941
+
4942
+
4943
+
4944
+
4945
+
4946
+
4947
+
4948
+
4949
+
4950
+
4951
+
4952
+
4953
+
4954
+
4955
+
4956
+
4957
+
4958
+
4959
+
4960
+
4961
+
4962
+
4963
+
4964
+
4965
+
4966
+
4967
+
4968
+
4969
+
4970
+
4971
+
4972
+
4973
+
4974
+
4975
+
4976
+
4977
+
4978
+
4979
+
4980
+
4981
+
4982
+
4983
+
4984
+
4985
+
4986
+
4987
+
4988
+
4989
+
4990
+
4991
+
4992
+
4993
+
4994
+
4995
+
4996
+
4997
+
4998
+
4999
+
5000
+
5001
+
5002
+
5003
+
5004
+
5005
+
5006
+
5007
+
5008
+
5009
+
5010
+
5011
+
5012
+
5013
+
5014
+
5015
+
5016
+
5017
+
5018
+
5019
+
5020
+
5021
+
5022
+
5023
+
5024
+
5025
+
5026
+
5027
+
5028
+
5029
+
5030
+
5031
+ 稿
5032
+
5033
+
5034
+
5035
+
5036
+
5037
+
5038
+
5039
+
5040
+
5041
+
5042
+
5043
+
5044
+
5045
+ 穿
5046
+
5047
+
5048
+
5049
+
5050
+
5051
+
5052
+
5053
+
5054
+
5055
+
5056
+
5057
+
5058
+
5059
+
5060
+
5061
+
5062
+
5063
+
5064
+
5065
+
5066
+
5067
+
5068
+
5069
+
5070
+
5071
+
5072
+
5073
+
5074
+ 窿
5075
+
5076
+
5077
+
5078
+
5079
+
5080
+
5081
+
5082
+
5083
+
5084
+
5085
+
5086
+
5087
+
5088
+
5089
+
5090
+
5091
+
5092
+ 竿
5093
+
5094
+
5095
+
5096
+
5097
+
5098
+
5099
+
5100
+
5101
+
5102
+
5103
+
5104
+
5105
+
5106
+
5107
+
5108
+
5109
+
5110
+
5111
+
5112
+
5113
+
5114
+
5115
+
5116
+
5117
+
5118
+
5119
+
5120
+
5121
+
5122
+
5123
+
5124
+
5125
+
5126
+
5127
+
5128
+
5129
+
5130
+
5131
+
5132
+
5133
+
5134
+
5135
+
5136
+
5137
+
5138
+
5139
+
5140
+
5141
+
5142
+
5143
+
5144
+
5145
+
5146
+
5147
+
5148
+
5149
+
5150
+
5151
+
5152
+
5153
+
5154
+
5155
+
5156
+
5157
+
5158
+
5159
+
5160
+
5161
+
5162
+
5163
+
5164
+
5165
+
5166
+
5167
+
5168
+
5169
+
5170
+
5171
+
5172
+
5173
+
5174
+
5175
+
5176
+
5177
+
5178
+
5179
+
5180
+
5181
+
5182
+
5183
+
5184
+
5185
+
5186
+
5187
+
5188
+
5189
+
5190
+
5191
+
5192
+
5193
+
5194
+
5195
+
5196
+
5197
+
5198
+
5199
+
5200
+
5201
+
5202
+
5203
+
5204
+
5205
+
5206
+
5207
+ 簿
5208
+
5209
+
5210
+
5211
+
5212
+
5213
+
5214
+
5215
+
5216
+
5217
+
5218
+
5219
+
5220
+
5221
+
5222
+
5223
+
5224
+
5225
+
5226
+
5227
+
5228
+
5229
+
5230
+
5231
+
5232
+
5233
+
5234
+
5235
+
5236
+
5237
+
5238
+
5239
+
5240
+
5241
+
5242
+
5243
+
5244
+
5245
+ 粿
5246
+
5247
+
5248
+
5249
+
5250
+
5251
+
5252
+
5253
+
5254
+
5255
+
5256
+
5257
+
5258
+
5259
+
5260
+
5261
+
5262
+
5263
+
5264
+
5265
+
5266
+
5267
+
5268
+
5269
+
5270
+
5271
+
5272
+
5273
+
5274
+
5275
+
5276
+
5277
+
5278
+
5279
+
5280
+
5281
+
5282
+
5283
+
5284
+
5285
+
5286
+
5287
+
5288
+
5289
+
5290
+
5291
+
5292
+
5293
+
5294
+
5295
+
5296
+
5297
+
5298
+
5299
+
5300
+
5301
+
5302
+
5303
+
5304
+
5305
+
5306
+
5307
+
5308
+
5309
+
5310
+
5311
+
5312
+
5313
+
5314
+
5315
+
5316
+
5317
+
5318
+
5319
+
5320
+
5321
+
5322
+
5323
+
5324
+
5325
+
5326
+
5327
+
5328
+
5329
+
5330
+
5331
+
5332
+
5333
+
5334
+
5335
+ 线
5336
+
5337
+
5338
+
5339
+
5340
+
5341
+
5342
+
5343
+
5344
+
5345
+
5346
+
5347
+
5348
+
5349
+
5350
+
5351
+
5352
+
5353
+
5354
+
5355
+
5356
+
5357
+
5358
+
5359
+
5360
+
5361
+
5362
+
5363
+
5364
+
5365
+
5366
+
5367
+
5368
+
5369
+
5370
+
5371
+
5372
+
5373
+
5374
+
5375
+
5376
+
5377
+
5378
+
5379
+
5380
+
5381
+
5382
+
5383
+
5384
+
5385
+
5386
+
5387
+
5388
+
5389
+
5390
+
5391
+
5392
+
5393
+
5394
+
5395
+ 绿
5396
+
5397
+
5398
+
5399
+
5400
+
5401
+
5402
+
5403
+
5404
+
5405
+
5406
+
5407
+
5408
+
5409
+
5410
+
5411
+
5412
+
5413
+
5414
+
5415
+
5416
+
5417
+
5418
+
5419
+
5420
+
5421
+
5422
+
5423
+
5424
+
5425
+
5426
+
5427
+
5428
+
5429
+
5430
+
5431
+
5432
+
5433
+
5434
+
5435
+
5436
+
5437
+
5438
+
5439
+
5440
+
5441
+
5442
+
5443
+
5444
+
5445
+
5446
+
5447
+
5448
+
5449
+
5450
+
5451
+
5452
+
5453
+
5454
+
5455
+
5456
+
5457
+
5458
+
5459
+
5460
+
5461
+
5462
+
5463
+
5464
+
5465
+
5466
+
5467
+
5468
+
5469
+
5470
+
5471
+
5472
+
5473
+
5474
+
5475
+
5476
+
5477
+
5478
+
5479
+
5480
+
5481
+
5482
+
5483
+
5484
+
5485
+
5486
+
5487
+
5488
+
5489
+
5490
+
5491
+
5492
+
5493
+
5494
+
5495
+
5496
+
5497
+
5498
+
5499
+
5500
+
5501
+
5502
+
5503
+
5504
+ 羿
5505
+
5506
+
5507
+
5508
+
5509
+
5510
+
5511
+
5512
+
5513
+
5514
+
5515
+
5516
+
5517
+
5518
+
5519
+
5520
+
5521
+
5522
+
5523
+
5524
+
5525
+
5526
+
5527
+
5528
+
5529
+
5530
+
5531
+
5532
+
5533
+ 耀
5534
+
5535
+
5536
+
5537
+
5538
+
5539
+
5540
+
5541
+
5542
+
5543
+
5544
+
5545
+
5546
+
5547
+
5548
+
5549
+
5550
+
5551
+
5552
+
5553
+
5554
+
5555
+
5556
+
5557
+
5558
+
5559
+
5560
+
5561
+
5562
+
5563
+
5564
+
5565
+
5566
+
5567
+
5568
+
5569
+
5570
+
5571
+
5572
+
5573
+
5574
+
5575
+
5576
+
5577
+
5578
+
5579
+
5580
+
5581
+
5582
+
5583
+
5584
+
5585
+
5586
+
5587
+
5588
+
5589
+
5590
+
5591
+
5592
+
5593
+
5594
+
5595
+
5596
+
5597
+
5598
+
5599
+
5600
+
5601
+
5602
+
5603
+
5604
+
5605
+
5606
+
5607
+
5608
+
5609
+
5610
+
5611
+
5612
+
5613
+
5614
+
5615
+
5616
+
5617
+
5618
+
5619
+
5620
+
5621
+
5622
+
5623
+
5624
+
5625
+
5626
+
5627
+
5628
+
5629
+
5630
+
5631
+
5632
+
5633
+
5634
+
5635
+
5636
+
5637
+
5638
+
5639
+
5640
+
5641
+
5642
+
5643
+
5644
+
5645
+
5646
+
5647
+
5648
+
5649
+
5650
+
5651
+
5652
+
5653
+
5654
+
5655
+
5656
+
5657
+
5658
+
5659
+
5660
+
5661
+
5662
+
5663
+
5664
+
5665
+
5666
+
5667
+
5668
+
5669
+
5670
+
5671
+
5672
+
5673
+
5674
+
5675
+
5676
+
5677
+
5678
+
5679
+
5680
+
5681
+
5682
+
5683
+
5684
+
5685
+
5686
+
5687
+
5688
+
5689
+
5690
+
5691
+
5692
+
5693
+
5694
+
5695
+
5696
+
5697
+
5698
+
5699
+
5700
+
5701
+
5702
+
5703
+
5704
+
5705
+
5706
+
5707
+
5708
+
5709
+
5710
+
5711
+
5712
+
5713
+
5714
+
5715
+
5716
+
5717
+
5718
+
5719
+
5720
+
5721
+
5722
+
5723
+
5724
+
5725
+
5726
+
5727
+
5728
+
5729
+
5730
+
5731
+
5732
+
5733
+
5734
+
5735
+
5736
+
5737
+
5738
+
5739
+
5740
+
5741
+
5742
+
5743
+
5744
+
5745
+
5746
+
5747
+
5748
+
5749
+
5750
+
5751
+
5752
+
5753
+
5754
+
5755
+
5756
+
5757
+
5758
+
5759
+
5760
+
5761
+
5762
+
5763
+
5764
+
5765
+
5766
+
5767
+
5768
+
5769
+
5770
+
5771
+
5772
+
5773
+
5774
+
5775
+
5776
+
5777
+
5778
+
5779
+
5780
+
5781
+
5782
+
5783
+
5784
+
5785
+
5786
+
5787
+
5788
+
5789
+
5790
+
5791
+
5792
+
5793
+
5794
+
5795
+
5796
+
5797
+
5798
+
5799
+
5800
+
5801
+
5802
+
5803
+
5804
+
5805
+
5806
+
5807
+
5808
+
5809
+
5810
+
5811
+
5812
+
5813
+
5814
+
5815
+
5816
+
5817
+
5818
+
5819
+
5820
+
5821
+
5822
+
5823
+
5824
+
5825
+
5826
+
5827
+
5828
+
5829
+
5830
+
5831
+
5832
+
5833
+
5834
+
5835
+
5836
+
5837
+
5838
+
5839
+
5840
+
5841
+
5842
+
5843
+
5844
+
5845
+
5846
+
5847
+
5848
+
5849
+
5850
+
5851
+
5852
+
5853
+
5854
+
5855
+
5856
+
5857
+
5858
+
5859
+
5860
+
5861
+
5862
+
5863
+
5864
+
5865
+
5866
+
5867
+
5868
+
5869
+
5870
+
5871
+
5872
+
5873
+
5874
+
5875
+
5876
+
5877
+
5878
+
5879
+
5880
+
5881
+
5882
+
5883
+
5884
+
5885
+
5886
+
5887
+
5888
+
5889
+
5890
+
5891
+
5892
+
5893
+
5894
+
5895
+
5896
+
5897
+
5898
+
5899
+
5900
+
5901
+
5902
+
5903
+
5904
+
5905
+
5906
+
5907
+
5908
+
5909
+
5910
+
5911
+
5912
+
5913
+
5914
+
5915
+
5916
+
5917
+
5918
+
5919
+
5920
+
5921
+
5922
+
5923
+
5924
+
5925
+
5926
+
5927
+
5928
+
5929
+
5930
+
5931
+
5932
+
5933
+
5934
+
5935
+
5936
+
5937
+
5938
+
5939
+
5940
+
5941
+
5942
+
5943
+
5944
+
5945
+
5946
+
5947
+
5948
+
5949
+
5950
+
5951
+
5952
+
5953
+
5954
+
5955
+
5956
+
5957
+
5958
+
5959
+
5960
+
5961
+
5962
+
5963
+
5964
+
5965
+
5966
+
5967
+
5968
+
5969
+
5970
+
5971
+
5972
+
5973
+
5974
+
5975
+
5976
+
5977
+
5978
+
5979
+
5980
+
5981
+
5982
+
5983
+
5984
+
5985
+
5986
+
5987
+
5988
+
5989
+
5990
+
5991
+
5992
+
5993
+
5994
+
5995
+
5996
+
5997
+
5998
+
5999
+
6000
+
6001
+
6002
+
6003
+
6004
+
6005
+
6006
+
6007
+
6008
+
6009
+
6010
+
6011
+
6012
+
6013
+
6014
+
6015
+
6016
+
6017
+
6018
+
6019
+
6020
+
6021
+
6022
+
6023
+
6024
+
6025
+
6026
+
6027
+
6028
+
6029
+
6030
+
6031
+
6032
+
6033
+
6034
+
6035
+
6036
+
6037
+
6038
+
6039
+
6040
+
6041
+
6042
+
6043
+
6044
+
6045
+
6046
+
6047
+
6048
+
6049
+
6050
+
6051
+
6052
+
6053
+
6054
+
6055
+
6056
+
6057
+
6058
+
6059
+
6060
+
6061
+
6062
+
6063
+
6064
+
6065
+
6066
+
6067
+
6068
+
6069
+
6070
+
6071
+
6072
+
6073
+
6074
+
6075
+
6076
+
6077
+
6078
+
6079
+
6080
+
6081
+
6082
+
6083
+
6084
+
6085
+
6086
+
6087
+
6088
+
6089
+
6090
+
6091
+
6092
+
6093
+
6094
+
6095
+
6096
+
6097
+
6098
+
6099
+
6100
+
6101
+
6102
+
6103
+
6104
+
6105
+
6106
+
6107
+
6108
+
6109
+
6110
+
6111
+
6112
+
6113
+
6114
+
6115
+
6116
+
6117
+
6118
+
6119
+
6120
+
6121
+
6122
+
6123
+
6124
+
6125
+
6126
+
6127
+
6128
+
6129
+
6130
+
6131
+
6132
+
6133
+
6134
+
6135
+
6136
+
6137
+
6138
+
6139
+
6140
+
6141
+
6142
+
6143
+
6144
+
6145
+
6146
+
6147
+
6148
+
6149
+
6150
+
6151
+
6152
+
6153
+
6154
+
6155
+
6156
+
6157
+
6158
+
6159
+
6160
+
6161
+
6162
+
6163
+
6164
+
6165
+
6166
+
6167
+
6168
+
6169
+
6170
+
6171
+
6172
+
6173
+
6174
+
6175
+
6176
+
6177
+
6178
+
6179
+
6180
+
6181
+
6182
+
6183
+
6184
+
6185
+
6186
+
6187
+
6188
+
6189
+
6190
+
6191
+
6192
+
6193
+
6194
+
6195
+
6196
+
6197
+
6198
+
6199
+
6200
+
6201
+
6202
+
6203
+
6204
+
6205
+
6206
+
6207
+
6208
+
6209
+
6210
+
6211
+
6212
+
6213
+
6214
+
6215
+
6216
+
6217
+
6218
+
6219
+
6220
+
6221
+
6222
+
6223
+
6224
+
6225
+
6226
+
6227
+
6228
+
6229
+
6230
+
6231
+
6232
+
6233
+
6234
+
6235
+
6236
+
6237
+
6238
+
6239
+
6240
+
6241
+
6242
+
6243
+
6244
+
6245
+
6246
+
6247
+
6248
+
6249
+
6250
+
6251
+
6252
+
6253
+
6254
+
6255
+
6256
+
6257
+
6258
+
6259
+
6260
+
6261
+
6262
+
6263
+
6264
+
6265
+
6266
+
6267
+
6268
+
6269
+
6270
+
6271
+
6272
+
6273
+
6274
+
6275
+
6276
+
6277
+
6278
+
6279
+
6280
+
6281
+
6282
+
6283
+
6284
+
6285
+
6286
+
6287
+
6288
+
6289
+
6290
+
6291
+
6292
+
6293
+
6294
+
6295
+
6296
+
6297
+
6298
+
6299
+
6300
+
6301
+
6302
+
6303
+
6304
+
6305
+
6306
+
6307
+
6308
+
6309
+
6310
+
6311
+
6312
+
6313
+
6314
+
6315
+
6316
+
6317
+
6318
+
6319
+
6320
+
6321
+
6322
+
6323
+
6324
+
6325
+
6326
+
6327
+
6328
+
6329
+
6330
+
6331
+
6332
+
6333
+
6334
+
6335
+
6336
+
6337
+
6338
+
6339
+
6340
+
6341
+
6342
+
6343
+
6344
+
6345
+
6346
+
6347
+
6348
+
6349
+
6350
+
6351
+
6352
+
6353
+
6354
+
6355
+
6356
+
6357
+
6358
+
6359
+
6360
+
6361
+
6362
+
6363
+
6364
+
6365
+
6366
+
6367
+
6368
+
6369
+
6370
+
6371
+
6372
+
6373
+
6374
+
6375
+
6376
+
6377
+
6378
+
6379
+
6380
+
6381
+
6382
+
6383
+
6384
+
6385
+
6386
+
6387
+
6388
+
6389
+
6390
+
6391
+
6392
+
6393
+
6394
+
6395
+
6396
+
6397
+
6398
+
6399
+
6400
+
6401
+
6402
+
6403
+
6404
+
6405
+
6406
+
6407
+
6408
+
6409
+
6410
+
6411
+
6412
+
6413
+
6414
+
6415
+
6416
+
6417
+
6418
+
6419
+
6420
+
6421
+
6422
+
6423
+
6424
+
6425
+
6426
+
6427
+
6428
+
6429
+
6430
+
6431
+
6432
+
6433
+
6434
+
6435
+
6436
+
6437
+
6438
+
6439
+
6440
+
6441
+
6442
+
6443
+
6444
+
6445
+
6446
+
6447
+
6448
+
6449
+
6450
+
6451
+
6452
+
6453
+
6454
+
6455
+
6456
+
6457
+
6458
+
6459
+ 西
6460
+
6461
+
6462
+
6463
+
6464
+
6465
+
6466
+
6467
+
6468
+
6469
+
6470
+
6471
+
6472
+
6473
+
6474
+
6475
+
6476
+
6477
+
6478
+
6479
+
6480
+
6481
+
6482
+
6483
+
6484
+
6485
+
6486
+
6487
+
6488
+
6489
+
6490
+
6491
+
6492
+
6493
+ 觿
6494
+
6495
+
6496
+
6497
+
6498
+
6499
+
6500
+
6501
+
6502
+
6503
+
6504
+
6505
+
6506
+
6507
+
6508
+
6509
+
6510
+
6511
+
6512
+
6513
+
6514
+
6515
+
6516
+
6517
+
6518
+
6519
+
6520
+
6521
+
6522
+
6523
+
6524
+
6525
+
6526
+
6527
+
6528
+
6529
+
6530
+
6531
+
6532
+
6533
+
6534
+
6535
+
6536
+
6537
+
6538
+
6539
+
6540
+
6541
+
6542
+
6543
+
6544
+
6545
+
6546
+
6547
+
6548
+
6549
+
6550
+
6551
+ 访
6552
+
6553
+
6554
+
6555
+
6556
+
6557
+
6558
+
6559
+
6560
+
6561
+
6562
+
6563
+
6564
+
6565
+
6566
+
6567
+
6568
+
6569
+
6570
+
6571
+
6572
+
6573
+
6574
+
6575
+
6576
+
6577
+
6578
+
6579
+
6580
+
6581
+
6582
+
6583
+
6584
+
6585
+
6586
+
6587
+
6588
+
6589
+
6590
+
6591
+
6592
+
6593
+
6594
+
6595
+
6596
+
6597
+
6598
+
6599
+
6600
+
6601
+
6602
+
6603
+
6604
+
6605
+
6606
+
6607
+
6608
+
6609
+
6610
+
6611
+
6612
+ 诿
6613
+
6614
+
6615
+
6616
+
6617
+
6618
+
6619
+
6620
+
6621
+
6622
+
6623
+
6624
+
6625
+
6626
+
6627
+
6628
+
6629
+
6630
+
6631
+
6632
+
6633
+
6634
+
6635
+
6636
+
6637
+
6638
+
6639
+
6640
+
6641
+
6642
+
6643
+
6644
+
6645
+
6646
+
6647
+
6648
+
6649
+
6650
+
6651
+
6652
+
6653
+
6654
+
6655
+
6656
+
6657
+
6658
+
6659
+
6660
+
6661
+
6662
+
6663
+
6664
+
6665
+
6666
+
6667
+
6668
+ 谿
6669
+
6670
+
6671
+
6672
+
6673
+
6674
+
6675
+
6676
+
6677
+
6678
+
6679
+
6680
+
6681
+
6682
+
6683
+
6684
+
6685
+
6686
+
6687
+
6688
+
6689
+
6690
+
6691
+
6692
+
6693
+
6694
+
6695
+
6696
+
6697
+
6698
+
6699
+
6700
+
6701
+
6702
+
6703
+
6704
+
6705
+
6706
+
6707
+
6708
+
6709
+
6710
+
6711
+
6712
+
6713
+
6714
+
6715
+
6716
+
6717
+
6718
+
6719
+
6720
+
6721
+
6722
+
6723
+
6724
+
6725
+
6726
+
6727
+
6728
+
6729
+
6730
+
6731
+ 贿
6732
+
6733
+
6734
+
6735
+
6736
+
6737
+
6738
+
6739
+
6740
+
6741
+
6742
+
6743
+
6744
+
6745
+
6746
+
6747
+
6748
+
6749
+
6750
+
6751
+
6752
+
6753
+
6754
+
6755
+
6756
+
6757
+
6758
+
6759
+
6760
+
6761
+
6762
+
6763
+
6764
+
6765
+
6766
+
6767
+
6768
+
6769
+
6770
+
6771
+
6772
+
6773
+
6774
+
6775
+
6776
+
6777
+
6778
+
6779
+
6780
+
6781
+
6782
+
6783
+
6784
+
6785
+
6786
+
6787
+
6788
+
6789
+
6790
+
6791
+
6792
+
6793
+
6794
+ 趿
6795
+
6796
+
6797
+
6798
+
6799
+
6800
+
6801
+
6802
+
6803
+
6804
+
6805
+
6806
+
6807
+
6808
+
6809
+
6810
+
6811
+
6812
+
6813
+
6814
+
6815
+
6816
+
6817
+
6818
+
6819
+
6820
+
6821
+
6822
+
6823
+
6824
+
6825
+
6826
+
6827
+
6828
+
6829
+
6830
+
6831
+
6832
+
6833
+
6834
+
6835
+
6836
+
6837
+
6838
+
6839
+
6840
+
6841
+
6842
+
6843
+
6844
+
6845
+
6846
+
6847
+
6848
+
6849
+
6850
+
6851
+
6852
+
6853
+
6854
+
6855
+
6856
+
6857
+
6858
+
6859
+
6860
+
6861
+
6862
+
6863
+
6864
+
6865
+
6866
+
6867
+
6868
+
6869
+
6870
+
6871
+
6872
+
6873
+
6874
+
6875
+ 蹿
6876
+
6877
+
6878
+
6879
+
6880
+
6881
+
6882
+
6883
+
6884
+
6885
+
6886
+
6887
+
6888
+
6889
+
6890
+
6891
+
6892
+
6893
+
6894
+
6895
+
6896
+
6897
+
6898
+
6899
+
6900
+
6901
+
6902
+
6903
+
6904
+
6905
+
6906
+
6907
+
6908
+
6909
+
6910
+
6911
+
6912
+
6913
+
6914
+
6915
+
6916
+
6917
+ 轿
6918
+
6919
+
6920
+
6921
+
6922
+
6923
+
6924
+
6925
+
6926
+
6927
+
6928
+
6929
+
6930
+
6931
+
6932
+
6933
+
6934
+
6935
+
6936
+
6937
+
6938
+
6939
+
6940
+
6941
+
6942
+
6943
+
6944
+
6945
+
6946
+
6947
+
6948
+
6949
+
6950
+
6951
+
6952
+
6953
+
6954
+
6955
+
6956
+
6957
+
6958
+ 辿
6959
+
6960
+
6961
+
6962
+
6963
+
6964
+
6965
+
6966
+
6967
+
6968
+
6969
+
6970
+
6971
+
6972
+
6973
+
6974
+
6975
+
6976
+
6977
+
6978
+
6979
+
6980
+
6981
+
6982
+
6983
+
6984
+
6985
+
6986
+
6987
+
6988
+
6989
+
6990
+
6991
+
6992
+
6993
+
6994
+
6995
+ 退
6996
+
6997
+
6998
+
6999
+
7000
+
7001
+
7002
+
7003
+
7004
+
7005
+
7006
+
7007
+
7008
+
7009
+
7010
+
7011
+
7012
+
7013
+
7014
+
7015
+
7016
+
7017
+
7018
+
7019
+
7020
+
7021
+
7022
+
7023
+
7024
+
7025
+
7026
+
7027
+
7028
+
7029
+
7030
+
7031
+
7032
+
7033
+
7034
+
7035
+
7036
+
7037
+
7038
+
7039
+
7040
+
7041
+
7042
+
7043
+
7044
+
7045
+
7046
+
7047
+
7048
+
7049
+
7050
+
7051
+
7052
+
7053
+
7054
+
7055
+
7056
+
7057
+
7058
+
7059
+
7060
+
7061
+
7062
+
7063
+
7064
+
7065
+
7066
+
7067
+
7068
+
7069
+
7070
+
7071
+
7072
+
7073
+
7074
+
7075
+
7076
+
7077
+
7078
+
7079
+
7080
+
7081
+
7082
+
7083
+
7084
+
7085
+
7086
+
7087
+
7088
+
7089
+
7090
+
7091
+
7092
+
7093
+
7094
+
7095
+
7096
+
7097
+
7098
+
7099
+
7100
+
7101
+
7102
+
7103
+
7104
+
7105
+
7106
+
7107
+
7108
+
7109
+
7110
+
7111
+
7112
+
7113
+
7114
+
7115
+
7116
+
7117
+
7118
+
7119
+
7120
+
7121
+
7122
+
7123
+
7124
+
7125
+
7126
+
7127
+
7128
+
7129
+
7130
+
7131
+
7132
+
7133
+
7134
+
7135
+
7136
+
7137
+
7138
+
7139
+
7140
+
7141
+
7142
+
7143
+
7144
+
7145
+
7146
+
7147
+
7148
+
7149
+
7150
+
7151
+
7152
+
7153
+
7154
+
7155
+
7156
+
7157
+
7158
+
7159
+
7160
+
7161
+
7162
+
7163
+
7164
+
7165
+
7166
+
7167
+
7168
+
7169
+
7170
+
7171
+
7172
+
7173
+
7174
+
7175
+
7176
+
7177
+
7178
+
7179
+
7180
+
7181
+
7182
+
7183
+
7184
+
7185
+
7186
+
7187
+
7188
+
7189
+
7190
+
7191
+
7192
+
7193
+
7194
+
7195
+
7196
+
7197
+
7198
+
7199
+
7200
+
7201
+
7202
+
7203
+
7204
+
7205
+
7206
+
7207
+
7208
+
7209
+
7210
+
7211
+
7212
+
7213
+
7214
+
7215
+
7216
+
7217
+
7218
+
7219
+
7220
+
7221
+
7222
+
7223
+
7224
+
7225
+
7226
+
7227
+
7228
+
7229
+
7230
+
7231
+
7232
+
7233
+
7234
+
7235
+
7236
+
7237
+
7238
+
7239
+
7240
+
7241
+
7242
+
7243
+
7244
+
7245
+
7246
+
7247
+
7248
+
7249
+
7250
+
7251
+
7252
+
7253
+
7254
+
7255
+
7256
+
7257
+
7258
+
7259
+
7260
+
7261
+
7262
+
7263
+
7264
+
7265
+
7266
+
7267
+
7268
+
7269
+
7270
+
7271
+
7272
+
7273
+
7274
+
7275
+
7276
+
7277
+
7278
+
7279
+
7280
+
7281
+
7282
+
7283
+
7284
+
7285
+
7286
+
7287
+
7288
+
7289
+
7290
+
7291
+
7292
+
7293
+
7294
+
7295
+
7296
+
7297
+
7298
+
7299
+
7300
+
7301
+
7302
+
7303
+
7304
+
7305
+
7306
+
7307
+
7308
+
7309
+
7310
+
7311
+
7312
+
7313
+
7314
+
7315
+
7316
+
7317
+
7318
+
7319
+
7320
+
7321
+
7322
+
7323
+
7324
+
7325
+
7326
+
7327
+
7328
+
7329
+
7330
+
7331
+
7332
+
7333
+
7334
+
7335
+
7336
+
7337
+
7338
+
7339
+
7340
+
7341
+
7342
+
7343
+
7344
+
7345
+
7346
+
7347
+
7348
+
7349
+
7350
+
7351
+
7352
+
7353
+
7354
+
7355
+
7356
+
7357
+
7358
+
7359
+
7360
+
7361
+
7362
+
7363
+
7364
+
7365
+
7366
+
7367
+
7368
+
7369
+
7370
+
7371
+
7372
+
7373
+
7374
+
7375
+
7376
+
7377
+
7378
+
7379
+
7380
+
7381
+
7382
+
7383
+
7384
+
7385
+
7386
+
7387
+
7388
+
7389
+
7390
+
7391
+
7392
+
7393
+
7394
+
7395
+
7396
+
7397
+
7398
+
7399
+
7400
+
7401
+
7402
+
7403
+
7404
+
7405
+
7406
+
7407
+
7408
+
7409
+
7410
+
7411
+
7412
+
7413
+
7414
+
7415
+
7416
+
7417
+
7418
+
7419
+
7420
+
7421
+
7422
+
7423
+
7424
+
7425
+
7426
+
7427
+
7428
+
7429
+
7430
+
7431
+
7432
+
7433
+
7434
+
7435
+
7436
+
7437
+
7438
+
7439
+
7440
+
7441
+
7442
+
7443
+
7444
+
7445
+
7446
+
7447
+
7448
+
7449
+
7450
+
7451
+
7452
+
7453
+
7454
+
7455
+
7456
+
7457
+
7458
+
7459
+
7460
+
7461
+
7462
+
7463
+
7464
+
7465
+
7466
+
7467
+
7468
+
7469
+
7470
+
7471
+
7472
+
7473
+
7474
+
7475
+
7476
+
7477
+
7478
+
7479
+
7480
+
7481
+
7482
+
7483
+
7484
+
7485
+
7486
+
7487
+
7488
+
7489
+
7490
+
7491
+
7492
+
7493
+
7494
+
7495
+
7496
+
7497
+
7498
+
7499
+
7500
+
7501
+
7502
+
7503
+
7504
+
7505
+
7506
+
7507
+
7508
+
7509
+
7510
+
7511
+
7512
+
7513
+
7514
+
7515
+
7516
+
7517
+
7518
+
7519
+
7520
+
7521
+
7522
+
7523
+
7524
+
7525
+
7526
+
7527
+
7528
+
7529
+
7530
+
7531
+
7532
+
7533
+
7534
+
7535
+
7536
+
7537
+
7538
+
7539
+
7540
+
7541
+
7542
+
7543
+
7544
+
7545
+
7546
+
7547
+
7548
+
7549
+
7550
+
7551
+
7552
+
7553
+
7554
+
7555
+
7556
+
7557
+
7558
+
7559
+
7560
+
7561
+
7562
+
7563
+
7564
+
7565
+
7566
+
7567
+
7568
+
7569
+
7570
+
7571
+
7572
+
7573
+
7574
+
7575
+
7576
+
7577
+
7578
+
7579
+
7580
+
7581
+
7582
+
7583
+
7584
+
7585
+
7586
+
7587
+
7588
+
7589
+
7590
+
7591
+
7592
+
7593
+
7594
+
7595
+
7596
+
7597
+
7598
+
7599
+
7600
+
7601
+
7602
+
7603
+
7604
+
7605
+
7606
+
7607
+
7608
+
7609
+
7610
+
7611
+
7612
+
7613
+
7614
+
7615
+
7616
+
7617
+
7618
+
7619
+
7620
+
7621
+
7622
+
7623
+
7624
+
7625
+
7626
+
7627
+
7628
+
7629
+
7630
+
7631
+
7632
+
7633
+
7634
+
7635
+
7636
+
7637
+
7638
+
7639
+
7640
+
7641
+
7642
+
7643
+
7644
+
7645
+
7646
+
7647
+
7648
+
7649
+
7650
+
7651
+
7652
+
7653
+
7654
+
7655
+
7656
+
7657
+
7658
+
7659
+
7660
+
7661
+
7662
+
7663
+
7664
+
7665
+
7666
+
7667
+
7668
+
7669
+
7670
+
7671
+
7672
+
7673
+
7674
+
7675
+
7676
+
7677
+
7678
+
7679
+
7680
+
7681
+
7682
+
7683
+
7684
+
7685
+
7686
+
7687
+
7688
+
7689
+
7690
+
7691
+
7692
+
7693
+
7694
+
7695
+
7696
+
7697
+
7698
+
7699
+
7700
+
7701
+
7702
+
7703
+
7704
+
7705
+
7706
+
7707
+
7708
+
7709
+
7710
+
7711
+
7712
+
7713
+
7714
+
7715
+
7716
+
7717
+
7718
+
7719
+
7720
+
7721
+
7722
+
7723
+
7724
+
7725
+
7726
+
7727
+
7728
+
7729
+
7730
+
7731
+
7732
+
7733
+
7734
+
7735
+
7736
+
7737
+
7738
+
7739
+
7740
+
7741
+
7742
+
7743
+
7744
+
7745
+
7746
+
7747
+
7748
+
7749
+
7750
+
7751
+
7752
+
7753
+
7754
+
7755
+
7756
+
7757
+
7758
+
7759
+
7760
+
7761
+
7762
+
7763
+
7764
+
7765
+
7766
+
7767
+
7768
+
7769
+
7770
+
7771
+
7772
+
7773
+
7774
+
7775
+
7776
+
7777
+
7778
+
7779
+
7780
+
7781
+
7782
+
7783
+
7784
+
7785
+
7786
+
7787
+
7788
+
7789
+
7790
+
7791
+
7792
+
7793
+
7794
+
7795
+
7796
+
7797
+
7798
+
7799
+
7800
+
7801
+
7802
+
7803
+ 饿
7804
+
7805
+
7806
+
7807
+
7808
+
7809
+
7810
+
7811
+
7812
+
7813
+
7814
+
7815
+
7816
+
7817
+
7818
+
7819
+
7820
+
7821
+
7822
+
7823
+
7824
+
7825
+
7826
+
7827
+
7828
+
7829
+
7830
+
7831
+
7832
+
7833
+
7834
+
7835
+
7836
+
7837
+
7838
+
7839
+
7840
+
7841
+
7842
+
7843
+
7844
+
7845
+
7846
+
7847
+
7848
+
7849
+
7850
+
7851
+
7852
+
7853
+
7854
+
7855
+ 驿
7856
+
7857
+
7858
+
7859
+
7860
+
7861
+
7862
+
7863
+
7864
+
7865
+
7866
+
7867
+
7868
+
7869
+
7870
+
7871
+
7872
+
7873
+
7874
+
7875
+
7876
+
7877
+
7878
+
7879
+
7880
+
7881
+
7882
+
7883
+
7884
+
7885
+
7886
+
7887
+
7888
+
7889
+
7890
+
7891
+
7892
+
7893
+
7894
+
7895
+
7896
+
7897
+
7898
+
7899
+
7900
+
7901
+
7902
+
7903
+
7904
+
7905
+
7906
+
7907
+
7908
+
7909
+
7910
+
7911
+
7912
+
7913
+
7914
+
7915
+
7916
+
7917
+
7918
+
7919
+
7920
+
7921
+
7922
+
7923
+
7924
+
7925
+
7926
+
7927
+
7928
+
7929
+
7930
+
7931
+
7932
+
7933
+
7934
+
7935
+
7936
+
7937
+
7938
+
7939
+
7940
+
7941
+
7942
+
7943
+
7944
+
7945
+
7946
+
7947
+
7948
+
7949
+
7950
+
7951
+
7952
+
7953
+
7954
+
7955
+
7956
+
7957
+
7958
+
7959
+
7960
+
7961
+
7962
+
7963
+
7964
+ 鱿
7965
+
7966
+
7967
+
7968
+
7969
+
7970
+
7971
+
7972
+
7973
+
7974
+
7975
+
7976
+
7977
+
7978
+
7979
+
7980
+
7981
+
7982
+
7983
+
7984
+
7985
+
7986
+
7987
+
7988
+
7989
+
7990
+
7991
+
7992
+
7993
+
7994
+
7995
+
7996
+
7997
+
7998
+
7999
+
8000
+
8001
+
8002
+
8003
+
8004
+
8005
+
8006
+
8007
+
8008
+
8009
+
8010
+
8011
+
8012
+
8013
+
8014
+
8015
+
8016
+
8017
+
8018
+ 鲿
8019
+
8020
+
8021
+
8022
+
8023
+
8024
+
8025
+
8026
+
8027
+
8028
+
8029
+
8030
+
8031
+
8032
+
8033
+
8034
+
8035
+
8036
+
8037
+
8038
+
8039
+
8040
+
8041
+
8042
+
8043
+
8044
+
8045
+
8046
+
8047
+
8048
+
8049
+
8050
+
8051
+
8052
+
8053
+
8054
+
8055
+
8056
+
8057
+
8058
+
8059
+
8060
+
8061
+
8062
+
8063
+
8064
+
8065
+
8066
+
8067
+
8068
+
8069
+
8070
+
8071
+
8072
+
8073
+
8074
+
8075
+
8076
+
8077
+
8078
+
8079
+
8080
+
8081
+
8082
+
8083
+
8084
+
8085
+
8086
+
8087
+
8088
+
8089
+
8090
+
8091
+
8092
+ 鸿
8093
+
8094
+
8095
+
8096
+
8097
+
8098
+
8099
+
8100
+
8101
+
8102
+
8103
+
8104
+
8105
+
8106
+
8107
+
8108
+
8109
+
8110
+
8111
+
8112
+
8113
+
8114
+
8115
+
8116
+
8117
+
8118
+
8119
+
8120
+
8121
+
8122
+
8123
+
8124
+
8125
+
8126
+
8127
+
8128
+
8129
+
8130
+
8131
+
8132
+
8133
+
8134
+
8135
+
8136
+
8137
+
8138
+ 鹿
8139
+
8140
+
8141
+
8142
+
8143
+
8144
+
8145
+
8146
+
8147
+
8148
+
8149
+
8150
+
8151
+
8152
+
8153
+
8154
+
8155
+
8156
+
8157
+ 麿
8158
+
8159
+
8160
+
8161
+
8162
+
8163
+
8164
+
8165
+
8166
+
8167
+
8168
+
8169
+
8170
+
8171
+
8172
+
8173
+
8174
+
8175
+
8176
+
8177
+
8178
+
8179
+
8180
+
8181
+
8182
+
8183
+
8184
+
8185
+
8186
+
8187
+
8188
+
8189
+
8190
+
8191
+
8192
+
8193
+
8194
+
8195
+
8196
+
8197
+
8198
+
8199
+
8200
+
8201
+
8202
+
8203
+
8204
+
8205
+
8206
+ 齿
8207
+
8208
+
8209
+
8210
+
8211
+
8212
+
8213
+
8214
+
8215
+
8216
+
8217
+
8218
+
8219
+
8220
+
8221
+
8222
+
8223
+
8224
+
8225
+
8226
+
8227
+ A
8228
+ B
8229
+ C
8230
+ D
8231
+ E
8232
+ F
8233
+ G
8234
+ H
8235
+ I
8236
+ J
8237
+ K
8238
+ L
8239
+ M
8240
+ N
8241
+ O
8242
+ P
8243
+ Q
8244
+ R
8245
+ S
8246
+ T
8247
+ U
8248
+ V
8249
+ W
8250
+ X
8251
+ Y
8252
+ Z
8253
+ a
8254
+ b
8255
+ c
8256
+ d
8257
+ e
8258
+ f
8259
+ g
8260
+ h
8261
+ i
8262
+ j
8263
+ k
8264
+ l
8265
+ m
8266
+ n
8267
+ o
8268
+ p
8269
+ q
8270
+ r
8271
+ s
8272
+ t
8273
+ u
8274
+ v
8275
+ w
8276
+ x
8277
+ y
8278
+ z
8279
+ AA
8280
+ AB
8281
+ AC
8282
+ AD
8283
+ AE
8284
+ AF
8285
+ AG
8286
+ AH
8287
+ AI
8288
+ AJ
8289
+ AK
8290
+ AL
8291
+ AM
8292
+ AN
8293
+ AP
8294
+ AQ
8295
+ AR
8296
+ AS
8297
+ AT
8298
+ AU
8299
+ AV
8300
+ AW
8301
+ AX
8302
+ AZ
8303
+ Al
8304
+ An
8305
+ Au
8306
+ Aw
8307
+ BA
8308
+ BB
8309
+ BC
8310
+ BD
8311
+ BE
8312
+ BF
8313
+ BG
8314
+ BH
8315
+ BI
8316
+ BJ
8317
+ BK
8318
+ BL
8319
+ BM
8320
+ BN
8321
+ BO
8322
+ BP
8323
+ BQ
8324
+ BR
8325
+ BS
8326
+ BT
8327
+ BU
8328
+ BV
8329
+ BW
8330
+ BY
8331
+ Bo
8332
+ Br
8333
+ Bu
8334
+ CA
8335
+ CB
8336
+ CC
8337
+ CD
8338
+ CE
8339
+ CF
8340
+ CG
8341
+ CH
8342
+ CI
8343
+ CJ
8344
+ CK
8345
+ CL
8346
+ CM
8347
+ CN
8348
+ CO
8349
+ CP
8350
+ CQ
8351
+ CR
8352
+ CS
8353
+ CT
8354
+ CU
8355
+ CV
8356
+ CW
8357
+ CX
8358
+ CY
8359
+ CZ
8360
+ Ca
8361
+ Ch
8362
+ Cl
8363
+ Co
8364
+ Cu
8365
+ DA
8366
+ DB
8367
+ DC
8368
+ DD
8369
+ DE
8370
+ DF
8371
+ DG
8372
+ DH
8373
+ DI
8374
+ DJ
8375
+ DK
8376
+ DL
8377
+ DM
8378
+ DN
8379
+ DO
8380
+ DQ
8381
+ DR
8382
+ DS
8383
+ DT
8384
+ DV
8385
+ DW
8386
+ DX
8387
+ DY
8388
+ DZ
8389
+ Da
8390
+ De
8391
+ Di
8392
+ Do
8393
+ Dr
8394
+ Du
8395
+ EA
8396
+ EB
8397
+ EC
8398
+ ED
8399
+ EE
8400
+ EF
8401
+ EG
8402
+ EH
8403
+ EI
8404
+ EK
8405
+ EL
8406
+ EM
8407
+ EN
8408
+ EP
8409
+ EQ
8410
+ ER
8411
+ ES
8412
+ ET
8413
+ EU
8414
+ EV
8415
+ EW
8416
+ EX
8417
+ EZ
8418
+ Ed
8419
+ En
8420
+ Ev
8421
+ Ex
8422
+ FA
8423
+ FB
8424
+ FC
8425
+ FD
8426
+ FE
8427
+ FF
8428
+ FG
8429
+ FH
8430
+ FI
8431
+ FJ
8432
+ FL
8433
+ FM
8434
+ FN
8435
+ FO
8436
+ FP
8437
+ FR
8438
+ FS
8439
+ FT
8440
+ FU
8441
+ FW
8442
+ FX
8443
+ FY
8444
+ FZ
8445
+ Fa
8446
+ Fi
8447
+ Fl
8448
+ Fo
8449
+ Fr
8450
+ Fu
8451
+ GA
8452
+ GB
8453
+ GC
8454
+ GD
8455
+ GE
8456
+ GF
8457
+ GG
8458
+ GH
8459
+ GI
8460
+ GJ
8461
+ GK
8462
+ GL
8463
+ GM
8464
+ GN
8465
+ GO
8466
+ GP
8467
+ GQ
8468
+ GR
8469
+ GS
8470
+ GT
8471
+ GU
8472
+ GW
8473
+ GX
8474
+ GY
8475
+ GZ
8476
+ Ga
8477
+ Go
8478
+ Gr
8479
+ Gu
8480
+ HA
8481
+ HB
8482
+ HC
8483
+ HD
8484
+ HE
8485
+ HF
8486
+ HG
8487
+ HH
8488
+ HI
8489
+ HJ
8490
+ HK
8491
+ HL
8492
+ HO
8493
+ HP
8494
+ HQ
8495
+ HR
8496
+ HS
8497
+ HT
8498
+ HU
8499
+ HV
8500
+ HW
8501
+ HX
8502
+ HY
8503
+ HZ
8504
+ Ha
8505
+ He
8506
+ Hi
8507
+ Ho
8508
+ Hu
8509
+ Hz
8510
+ IB
8511
+ IC
8512
+ ID
8513
+ IE
8514
+ IF
8515
+ IG
8516
+ IH
8517
+ II
8518
+ IK
8519
+ IL
8520
+ IM
8521
+ IN
8522
+ IO
8523
+ IP
8524
+ IQ
8525
+ IR
8526
+ IS
8527
+ IT
8528
+ IU
8529
+ IV
8530
+ IX
8531
+ If
8532
+ In
8533
+ JA
8534
+ JB
8535
+ JC
8536
+ JD
8537
+ JF
8538
+ JG
8539
+ JH
8540
+ JI
8541
+ JJ
8542
+ JK
8543
+ JL
8544
+ JM
8545
+ JO
8546
+ JP
8547
+ JQ
8548
+ JR
8549
+ JS
8550
+ JT
8551
+ JU
8552
+ JW
8553
+ JX
8554
+ JY
8555
+ JZ
8556
+ Ja
8557
+ Ji
8558
+ Jo
8559
+ Ju
8560
+ KA
8561
+ KB
8562
+ KC
8563
+ KD
8564
+ KE
8565
+ KF
8566
+ KG
8567
+ KH
8568
+ KI
8569
+ KJ
8570
+ KK
8571
+ KL
8572
+ KM
8573
+ KN
8574
+ KO
8575
+ KP
8576
+ KR
8577
+ KS
8578
+ KT
8579
+ KV
8580
+ KW
8581
+ KX
8582
+ KY
8583
+ KZ
8584
+ LA
8585
+ LB
8586
+ LC
8587
+ LD
8588
+ LE
8589
+ LF
8590
+ LG
8591
+ LH
8592
+ LI
8593
+ LJ
8594
+ LK
8595
+ LL
8596
+ LM
8597
+ LN
8598
+ LO
8599
+ LP
8600
+ LQ
8601
+ LR
8602
+ LS
8603
+ LT
8604
+ LU
8605
+ LV
8606
+ LW
8607
+ LX
8608
+ LY
8609
+ LZ
8610
+ La
8611
+ Le
8612
+ Li
8613
+ Lo
8614
+ Lu
8615
+ MA
8616
+ MB
8617
+ MC
8618
+ MD
8619
+ ME
8620
+ MF
8621
+ MG
8622
+ MH
8623
+ MI
8624
+ MJ
8625
+ MK
8626
+ ML
8627
+ MM
8628
+ MN
8629
+ MO
8630
+ MP
8631
+ MQ
8632
+ MR
8633
+ MS
8634
+ MT
8635
+ MU
8636
+ MV
8637
+ MW
8638
+ MX
8639
+ MY
8640
+ Ma
8641
+ Me
8642
+ Mi
8643
+ Mo
8644
+ Mu
8645
+ My
8646
+ NA
8647
+ NB
8648
+ NC
8649
+ ND
8650
+ NE
8651
+ NF
8652
+ NG
8653
+ NH
8654
+ NI
8655
+ NJ
8656
+ NK
8657
+ NL
8658
+ NN
8659
+ NO
8660
+ NP
8661
+ NR
8662
+ NS
8663
+ NT
8664
+ NU
8665
+ NV
8666
+ NW
8667
+ NX
8668
+ NY
8669
+ NZ
8670
+ Na
8671
+ Ne
8672
+ No
8673
+ Nu
8674
+ OA
8675
+ OB
8676
+ OC
8677
+ OD
8678
+ OE
8679
+ OF
8680
+ OG
8681
+ OH
8682
+ OK
8683
+ OL
8684
+ OM
8685
+ ON
8686
+ OO
8687
+ OP
8688
+ OR
8689
+ OS
8690
+ OT
8691
+ OU
8692
+ OV
8693
+ OZ
8694
+ Of
8695
+ Oh
8696
+ On
8697
+ Op
8698
+ Or
8699
+ Ou
8700
+ Ox
8701
+ PA
8702
+ PB
8703
+ PC
8704
+ PD
8705
+ PE
8706
+ PF
8707
+ PG
8708
+ PH
8709
+ PI
8710
+ PJ
8711
+ PK
8712
+ PL
8713
+ PM
8714
+ PN
8715
+ PO
8716
+ PP
8717
+ PQ
8718
+ PR
8719
+ PS
8720
+ PT
8721
+ PU
8722
+ PV
8723
+ PW
8724
+ PX
8725
+ Pa
8726
+ Ph
8727
+ Pl
8728
+ Po
8729
+ Pr
8730
+ Pu
8731
+ QA
8732
+ QB
8733
+ QC
8734
+ QE
8735
+ QF
8736
+ QG
8737
+ QJ
8738
+ QL
8739
+ QQ
8740
+ QR
8741
+ QS
8742
+ QT
8743
+ QU
8744
+ QW
8745
+ QY
8746
+ Qi
8747
+ Qu
8748
+ RA
8749
+ RB
8750
+ RC
8751
+ RE
8752
+ RF
8753
+ RG
8754
+ RH
8755
+ RI
8756
+ RJ
8757
+ RK
8758
+ RL
8759
+ RM
8760
+ RN
8761
+ RO
8762
+ RP
8763
+ RQ
8764
+ RR
8765
+ RS
8766
+ RT
8767
+ RV
8768
+ RW
8769
+ RX
8770
+ RZ
8771
+ Ra
8772
+ Re
8773
+ Ro
8774
+ Ru
8775
+ SA
8776
+ SB
8777
+ SC
8778
+ SD
8779
+ SE
8780
+ SF
8781
+ SG
8782
+ SH
8783
+ SI
8784
+ SJ
8785
+ SK
8786
+ SL
8787
+ SM
8788
+ SN
8789
+ SO
8790
+ SP
8791
+ SQ
8792
+ SR
8793
+ SS
8794
+ ST
8795
+ SU
8796
+ SV
8797
+ SW
8798
+ SX
8799
+ SY
8800
+ SZ
8801
+ Sc
8802
+ Sh
8803
+ So
8804
+ Sp
8805
+ St
8806
+ Su
8807
+ Sw
8808
+ Sy
8809
+ TA
8810
+ TB
8811
+ TC
8812
+ TD
8813
+ TE
8814
+ TF
8815
+ TG
8816
+ TH
8817
+ TI
8818
+ TJ
8819
+ TK
8820
+ TL
8821
+ TM
8822
+ TN
8823
+ TO
8824
+ TP
8825
+ TQ
8826
+ TR
8827
+ TS
8828
+ TT
8829
+ TU
8830
+ TV
8831
+ TW
8832
+ TX
8833
+ TY
8834
+ TZ
8835
+ Th
8836
+ To
8837
+ Tr
8838
+ Tw
8839
+ UA
8840
+ UC
8841
+ UD
8842
+ UE
8843
+ UF
8844
+ UG
8845
+ UH
8846
+ UI
8847
+ UK
8848
+ UL
8849
+ UM
8850
+ UN
8851
+ UP
8852
+ UR
8853
+ US
8854
+ UT
8855
+ UU
8856
+ UV
8857
+ UW
8858
+ UX
8859
+ Ub
8860
+ Un
8861
+ Up
8862
+ VA
8863
+ VB
8864
+ VC
8865
+ VE
8866
+ VF
8867
+ VG
8868
+ VH
8869
+ VI
8870
+ VJ
8871
+ VK
8872
+ VL
8873
+ VM
8874
+ VN
8875
+ VO
8876
+ VP
8877
+ VR
8878
+ VS
8879
+ VT
8880
+ VU
8881
+ VV
8882
+ VX
8883
+ Vi
8884
+ Vo
8885
+ WA
8886
+ WB
8887
+ WC
8888
+ WE
8889
+ WH
8890
+ WI
8891
+ WJ
8892
+ WL
8893
+ WM
8894
+ WN
8895
+ WO
8896
+ WQ
8897
+ WR
8898
+ WS
8899
+ WT
8900
+ WU
8901
+ WW
8902
+ WX
8903
+ WZ
8904
+ Wa
8905
+ We
8906
+ Wi
8907
+ Wo
8908
+ Wu
8909
+ XB
8910
+ XC
8911
+ XD
8912
+ XF
8913
+ XG
8914
+ XH
8915
+ XI
8916
+ XJ
8917
+ XK
8918
+ XL
8919
+ XM
8920
+ XO
8921
+ XP
8922
+ XQ
8923
+ XR
8924
+ XS
8925
+ XT
8926
+ XU
8927
+ XV
8928
+ XW
8929
+ XX
8930
+ XY
8931
+ XZ
8932
+ Xi
8933
+ Xu
8934
+ YA
8935
+ YB
8936
+ YC
8937
+ YD
8938
+ YE
8939
+ YF
8940
+ YG
8941
+ YH
8942
+ YJ
8943
+ YL
8944
+ YM
8945
+ YO
8946
+ YP
8947
+ YS
8948
+ YT
8949
+ YU
8950
+ YX
8951
+ YY
8952
+ YZ
8953
+ Ya
8954
+ Yo
8955
+ Yu
8956
+ ZA
8957
+ ZB
8958
+ ZC
8959
+ ZD
8960
+ ZE
8961
+ ZF
8962
+ ZG
8963
+ ZH
8964
+ ZI
8965
+ ZJ
8966
+ ZL
8967
+ ZM
8968
+ ZN
8969
+ ZO
8970
+ ZQ
8971
+ ZR
8972
+ ZS
8973
+ ZU
8974
+ ZW
8975
+ ZX
8976
+ ZY
8977
+ ZZ
8978
+ Zh
8979
+ ab
8980
+ aj
8981
+ an
8982
+ ap
8983
+ ar
8984
+ bb
8985
+ be
8986
+ bj
8987
+ bo
8988
+ bu
8989
+ by
8990
+ ca
8991
+ cb
8992
+ cf
8993
+ ch
8994
+ cl
8995
+ cm
8996
+ co
8997
+ cp
8998
+ cv
8999
+ dB
9000
+ da
9001
+ de
9002
+ di
9003
+ dj
9004
+ dn
9005
+ do
9006
+ dr
9007
+ dv
9008
+ ed
9009
+ em
9010
+ en
9011
+ ep
9012
+ eq
9013
+ ev
9014
+ ex
9015
+ ez
9016
+ fa
9017
+ fe
9018
+ ff
9019
+ fi
9020
+ fl
9021
+ fo
9022
+ fr
9023
+ fu
9024
+ gb
9025
+ gd
9026
+ gh
9027
+ gi
9028
+ go
9029
+ gp
9030
+ gr
9031
+ gu
9032
+ gz
9033
+ ha
9034
+ he
9035
+ hi
9036
+ ho
9037
+ hp
9038
+ hz
9039
+ iP
9040
+ iT
9041
+ ib
9042
+ ic
9043
+ id
9044
+ if
9045
+ ig
9046
+ im
9047
+ in
9048
+ io
9049
+ ip
9050
+ iq
9051
+ is
9052
+ it
9053
+ jQ
9054
+ ja
9055
+ ji
9056
+ jj
9057
+ jo
9058
+ jq
9059
+ ju
9060
+ kJ
9061
+ kN
9062
+ kW
9063
+ kg
9064
+ kn
9065
+ kz
9066
+ la
9067
+ ld
9068
+ le
9069
+ lg
9070
+ li
9071
+ ll
9072
+ lo
9073
+ lp
9074
+ lz
9075
+ ma
9076
+ mb
9077
+ me
9078
+ mi
9079
+ mm
9080
+ mo
9081
+ mp
9082
+ mq
9083
+ mu
9084
+ mv
9085
+ my
9086
+ na
9087
+ nb
9088
+ ng
9089
+ no
9090
+ nv
9091
+ ob
9092
+ of
9093
+ oh
9094
+ ok
9095
+ ol
9096
+ on
9097
+ op
9098
+ or
9099
+ ou
9100
+ ow
9101
+ oz
9102
+ pH
9103
+ pa
9104
+ pc
9105
+ ph
9106
+ pk
9107
+ pl
9108
+ po
9109
+ pp
9110
+ pr
9111
+ pu
9112
+ pv
9113
+ qf
9114
+ qq
9115
+ qu
9116
+ qz
9117
+ ra
9118
+ re
9119
+ rn
9120
+ ro
9121
+ rq
9122
+ se
9123
+ sh
9124
+ sk
9125
+ so
9126
+ sp
9127
+ sq
9128
+ st
9129
+ su
9130
+ sw
9131
+ sz
9132
+ th
9133
+ ti
9134
+ to
9135
+ tr
9136
+ tv
9137
+ tw
9138
+ ub
9139
+ uc
9140
+ uf
9141
+ ui
9142
+ uk
9143
+ un
9144
+ up
9145
+ us
9146
+ uv
9147
+ ux
9148
+ uz
9149
+ vc
9150
+ vi
9151
+ vo
9152
+ vr
9153
+ wa
9154
+ we
9155
+ wh
9156
+ wi
9157
+ wo
9158
+ wr
9159
+ ww
9160
+ xj
9161
+ xq
9162
+ xx
9163
+ ya
9164
+ ye
9165
+ yj
9166
+ yo
9167
+ yu
9168
+ yy
9169
+ yz
9170
+ zf
9171
+ zh
9172
+ zi
9173
+ zj
9174
+ zq
9175
+ zu
9176
+ zz
9177
+ AAA
9178
+ AAC
9179
+ ABA
9180
+ ABB
9181
+ ABC
9182
+ ABO
9183
+ ABS
9184
+ ABT
9185
+ ACA
9186
+ ACC
9187
+ ACD
9188
+ ACE
9189
+ ACG
9190
+ ACK
9191
+ ACL
9192
+ ACM
9193
+ ACP
9194
+ ACR
9195
+ ACS
9196
+ ACT
9197
+ ADA
9198
+ ADC
9199
+ ADD
9200
+ ADF
9201
+ ADI
9202
+ ADO
9203
+ ADP
9204
+ ADR
9205
+ ADS
9206
+ ADV
9207
+ AED
9208
+ AES
9209
+ AFC
9210
+ AFP
9211
+ AFS
9212
+ AGB
9213
+ AGC
9214
+ AGE
9215
+ AGM
9216
+ AGP
9217
+ AGV
9218
+ AIA
9219
+ AIC
9220
+ AIG
9221
+ AIM
9222
+ AIP
9223
+ AIR
9224
+ AIS
9225
+ AIX
9226
+ AKB
9227
+ AKM
9228
+ ALA
9229
+ ALL
9230
+ ALT
9231
+ AMA
9232
+ AMC
9233
+ AMD
9234
+ AMG
9235
+ AMI
9236
+ AML
9237
+ AMP
9238
+ AMR
9239
+ AMS
9240
+ AMT
9241
+ AMX
9242
+ AND
9243
+ AOC
9244
+ AOE
9245
+ AOL
9246
+ APA
9247
+ APC
9248
+ APE
9249
+ APG
9250
+ API
9251
+ APK
9252
+ APL
9253
+ APM
9254
+ APP
9255
+ APS
9256
+ APT
9257
+ APU
9258
+ ARA
9259
+ ARC
9260
+ ARE
9261
+ ARM
9262
+ ARP
9263
+ ART
9264
+ ASA
9265
+ ASC
9266
+ ASF
9267
+ ASM
9268
+ ASP
9269
+ ASR
9270
+ AST
9271
+ ATA
9272
+ ATC
9273
+ ATF
9274
+ ATI
9275
+ ATK
9276
+ ATM
9277
+ ATP
9278
+ ATS
9279
+ ATV
9280
+ ATX
9281
+ AUC
9282
+ AUG
9283
+ AUX
9284
+ AVC
9285
+ AVG
9286
+ AVI
9287
+ AVR
9288
+ AVS
9289
+ AVX
9290
+ AWM
9291
+ AWS
9292
+ All
9293
+ And
9294
+ Ang
9295
+ App
9296
+ Aqu
9297
+ BAC
9298
+ BAD
9299
+ BAE
9300
+ BAR
9301
+ BAT
9302
+ BAU
9303
+ BBA
9304
+ BBB
9305
+ BBC
9306
+ BBE
9307
+ BBQ
9308
+ BBS
9309
+ BBT
9310
+ BCD
9311
+ BEA
9312
+ BEC
9313
+ BEI
9314
+ BET
9315
+ BGA
9316
+ BGM
9317
+ BGP
9318
+ BIG
9319
+ BIM
9320
+ BIS
9321
+ BLG
9322
+ BMC
9323
+ BMD
9324
+ BMG
9325
+ BMI
9326
+ BMP
9327
+ BMW
9328
+ BMX
9329
+ BNC
9330
+ BOD
9331
+ BOM
9332
+ BOT
9333
+ BOX
9334
+ BOY
9335
+ BPM
9336
+ BPO
9337
+ BRN
9338
+ BRT
9339
+ BSA
9340
+ BSC
9341
+ BSD
9342
+ BSI
9343
+ BSM
9344
+ BSP
9345
+ BSS
9346
+ BTC
9347
+ BTR
9348
+ BTS
9349
+ BTV
9350
+ BUG
9351
+ BUN
9352
+ BUS
9353
+ BWV
9354
+ Bur
9355
+ Bus
9356
+ But
9357
+ CAA
9358
+ CAC
9359
+ CAD
9360
+ CAE
9361
+ CAI
9362
+ CAJ
9363
+ CAM
9364
+ CAN
9365
+ CAP
9366
+ CAR
9367
+ CAS
9368
+ CAT
9369
+ CBA
9370
+ CBC
9371
+ CBD
9372
+ CBN
9373
+ CBR
9374
+ CBS
9375
+ CCA
9376
+ CCC
9377
+ CCD
9378
+ CCF
9379
+ CCG
9380
+ CCI
9381
+ CCK
9382
+ CCM
9383
+ CCN
9384
+ CCP
9385
+ CCS
9386
+ CDC
9387
+ CDM
9388
+ CDN
9389
+ CDO
9390
+ CDP
9391
+ CDR
9392
+ CDS
9393
+ CEA
9394
+ CEC
9395
+ CEO
9396
+ CES
9397
+ CET
9398
+ CFA
9399
+ CFC
9400
+ CFD
9401
+ CFO
9402
+ CFR
9403
+ CGI
9404
+ CHA
9405
+ CHM
9406
+ CHO
9407
+ CIA
9408
+ CIC
9409
+ CID
9410
+ CIE
9411
+ CIF
9412
+ CIK
9413
+ CIO
9414
+ CIP
9415
+ CIS
9416
+ CLA
9417
+ CLI
9418
+ CLM
9419
+ CLS
9420
+ CMA
9421
+ CMC
9422
+ CME
9423
+ CML
9424
+ CMM
9425
+ CMO
9426
+ CMP
9427
+ CMS
9428
+ CMV
9429
+ CNC
9430
+ CNG
9431
+ CNN
9432
+ CNS
9433
+ COB
9434
+ COC
9435
+ COD
9436
+ COM
9437
+ CON
9438
+ COO
9439
+ COP
9440
+ COS
9441
+ COX
9442
+ CPA
9443
+ CPC
9444
+ CPE
9445
+ CPI
9446
+ CPL
9447
+ CPM
9448
+ CPP
9449
+ CPR
9450
+ CPS
9451
+ CPU
9452
+ CQC
9453
+ CRC
9454
+ CRM
9455
+ CRP
9456
+ CRS
9457
+ CRT
9458
+ CSA
9459
+ CSF
9460
+ CSI
9461
+ CSM
9462
+ CSP
9463
+ CSR
9464
+ CSS
9465
+ CST
9466
+ CTA
9467
+ CTC
9468
+ CTI
9469
+ CTO
9470
+ CTP
9471
+ CTS
9472
+ CUB
9473
+ CUT
9474
+ CVD
9475
+ CVN
9476
+ CVS
9477
+ CVT
9478
+ CXW
9479
+ CYP
9480
+ Car
9481
+ Cha
9482
+ Chr
9483
+ Chu
9484
+ Com
9485
+ Con
9486
+ Cou
9487
+ Cur
9488
+ DAB
9489
+ DAC
9490
+ DAO
9491
+ DAS
9492
+ DAT
9493
+ DAY
9494
+ DBA
9495
+ DBM
9496
+ DCD
9497
+ DCE
9498
+ DCF
9499
+ DCS
9500
+ DCT
9501
+ DDC
9502
+ DDD
9503
+ DDG
9504
+ DDN
9505
+ DDR
9506
+ DDS
9507
+ DDT
9508
+ DEA
9509
+ DEC
9510
+ DEM
9511
+ DES
9512
+ DFS
9513
+ DFT
9514
+ DHA
9515
+ DHL
9516
+ DIC
9517
+ DID
9518
+ DIF
9519
+ DIN
9520
+ DIP
9521
+ DIV
9522
+ DIY
9523
+ DLC
9524
+ DLL
9525
+ DLP
9526
+ DLT
9527
+ DMA
9528
+ DMC
9529
+ DMD
9530
+ DMF
9531
+ DMI
9532
+ DMO
9533
+ DMZ
9534
+ DNA
9535
+ DNF
9536
+ DNS
9537
+ DNV
9538
+ DOC
9539
+ DOI
9540
+ DOM
9541
+ DON
9542
+ DOS
9543
+ DOT
9544
+ DPI
9545
+ DPP
9546
+ DPS
9547
+ DRM
9548
+ DRX
9549
+ DSA
9550
+ DSC
9551
+ DSG
9552
+ DSL
9553
+ DSM
9554
+ DSP
9555
+ DSS
9556
+ DTC
9557
+ DTE
9558
+ DTM
9559
+ DTS
9560
+ DTU
9561
+ DVB
9562
+ DVD
9563
+ DVI
9564
+ DVR
9565
+ DWG
9566
+ DYG
9567
+ Day
9568
+ Div
9569
+ Don
9570
+ Dou
9571
+ Dow
9572
+ EAN
9573
+ EAP
9574
+ EBD
9575
+ EBS
9576
+ ECC
9577
+ ECM
9578
+ ECO
9579
+ ECT
9580
+ ECU
9581
+ ECW
9582
+ EDA
9583
+ EDG
9584
+ EDI
9585
+ EDM
9586
+ EDP
9587
+ EDR
9588
+ EEG
9589
+ EEP
9590
+ EFR
9591
+ EGF
9592
+ EHS
9593
+ EIA
9594
+ EJB
9595
+ EMA
9596
+ EMC
9597
+ EMI
9598
+ EMP
9599
+ EMS
9600
+ END
9601
+ EOS
9602
+ EPA
9603
+ EPC
9604
+ EPO
9605
+ EPR
9606
+ EPS
9607
+ ERP
9608
+ ESC
9609
+ ESD
9610
+ ESI
9611
+ ESL
9612
+ ESP
9613
+ ESR
9614
+ EST
9615
+ ETC
9616
+ ETF
9617
+ ETH
9618
+ ETL
9619
+ ETS
9620
+ EVA
9621
+ EVE
9622
+ EVO
9623
+ EXE
9624
+ EXO
9625
+ EXP
9626
+ EYE
9627
+ Eff
9628
+ Ell
9629
+ Emb
9630
+ Emp
9631
+ End
9632
+ Eng
9633
+ Equ
9634
+ Eur
9635
+ Eva
9636
+ Exc
9637
+ Exp
9638
+ FAA
9639
+ FAB
9640
+ FAG
9641
+ FAL
9642
+ FAN
9643
+ FAO
9644
+ FAQ
9645
+ FAT
9646
+ FBI
9647
+ FCA
9648
+ FCC
9649
+ FCI
9650
+ FCS
9651
+ FDA
9652
+ FDD
9653
+ FDI
9654
+ FEM
9655
+ FES
9656
+ FET
9657
+ FFT
9658
+ FGO
9659
+ FHD
9660
+ FIA
9661
+ FLV
9662
+ FLY
9663
+ FMS
9664
+ FNC
9665
+ FOB
9666
+ FOF
9667
+ FOR
9668
+ FOX
9669
+ FPC
9670
+ FPS
9671
+ FPX
9672
+ FRP
9673
+ FSA
9674
+ FSB
9675
+ FSC
9676
+ FSH
9677
+ FTA
9678
+ FTC
9679
+ FTP
9680
+ FUE
9681
+ FUN
9682
+ Fin
9683
+ Fiv
9684
+ Fly
9685
+ For
9686
+ Fou
9687
+ Fuj
9688
+ Fun
9689
+ Fut
9690
+ GAP
9691
+ GAT
9692
+ GAY
9693
+ GBA
9694
+ GBK
9695
+ GBT
9696
+ GBU
9697
+ GCC
9698
+ GCS
9699
+ GCT
9700
+ GDI
9701
+ GDP
9702
+ GEN
9703
+ GEO
9704
+ GET
9705
+ GFP
9706
+ GHz
9707
+ GIA
9708
+ GIF
9709
+ GIS
9710
+ GLA
9711
+ GLC
9712
+ GLP
9713
+ GLS
9714
+ GMA
9715
+ GMC
9716
+ GMP
9717
+ GMS
9718
+ GMT
9719
+ GMV
9720
+ GND
9721
+ GNP
9722
+ GNU
9723
+ GOD
9724
+ GOT
9725
+ GPA
9726
+ GPL
9727
+ GPS
9728
+ GPT
9729
+ GPU
9730
+ GRC
9731
+ GRE
9732
+ GRF
9733
+ GSH
9734
+ GSM
9735
+ GSP
9736
+ GTA
9737
+ GTI
9738
+ GTO
9739
+ GTP
9740
+ GTR
9741
+ GTS
9742
+ GTX
9743
+ GUI
9744
+ Giv
9745
+ Gmb
9746
+ Gua
9747
+ Gui
9748
+ Gun
9749
+ Guo
9750
+ Guy
9751
+ HAD
9752
+ HAL
9753
+ HBA
9754
+ HBO
9755
+ HBV
9756
+ HBs
9757
+ HCG
9758
+ HCI
9759
+ HCV
9760
+ HCl
9761
+ HDD
9762
+ HDL
9763
+ HDR
9764
+ HDV
9765
+ HEY
9766
+ HFC
9767
+ HGH
9768
+ HGT
9769
+ HID
9770
+ HIP
9771
+ HIS
9772
+ HIT
9773
+ HIV
9774
+ HLA
9775
+ HMG
9776
+ HMI
9777
+ HMS
9778
+ HOP
9779
+ HOT
9780
+ HOW
9781
+ HPC
9782
+ HPV
9783
+ HRC
9784
+ HRT
9785
+ HSE
9786
+ HSK
9787
+ HSV
9788
+ HTC
9789
+ HUB
9790
+ HUD
9791
+ HVG
9792
+ Haz
9793
+ Her
9794
+ Hom
9795
+ Hon
9796
+ Hou
9797
+ How
9798
+ Hua
9799
+ Hub
9800
+ Hum
9801
+ Hun
9802
+ IAI
9803
+ IAS
9804
+ IAT
9805
+ IBC
9806
+ IBF
9807
+ IBM
9808
+ ICA
9809
+ ICC
9810
+ ICD
9811
+ ICE
9812
+ ICO
9813
+ ICP
9814
+ ICQ
9815
+ ICS
9816
+ ICT
9817
+ ICU
9818
+ IDC
9819
+ IDD
9820
+ IDE
9821
+ IDF
9822
+ IDG
9823
+ IDS
9824
+ IEC
9825
+ IET
9826
+ IFA
9827
+ IFC
9828
+ IFI
9829
+ IFN
9830
+ IGF
9831
+ IGN
9832
+ IIA
9833
+ III
9834
+ IIS
9835
+ IKO
9836
+ IMA
9837
+ IMC
9838
+ IMD
9839
+ IME
9840
+ IMF
9841
+ IMG
9842
+ IMO
9843
+ IMS
9844
+ IMT
9845
+ INA
9846
+ INC
9847
+ INF
9848
+ ING
9849
+ INS
9850
+ INT
9851
+ IOS
9852
+ IPA
9853
+ IPC
9854
+ IPO
9855
+ IPS
9856
+ IPX
9857
+ IRC
9858
+ IRI
9859
+ ISA
9860
+ ISI
9861
+ ISM
9862
+ ISO
9863
+ ISP
9864
+ ITC
9865
+ ITF
9866
+ ITO
9867
+ ITS
9868
+ ITT
9869
+ ITU
9870
+ ITV
9871
+ IVR
9872
+ Imp
9873
+ InC
9874
+ Inf
9875
+ Inj
9876
+ Int
9877
+ JAR
9878
+ JBL
9879
+ JBT
9880
+ JCB
9881
+ JCR
9882
+ JDB
9883
+ JDG
9884
+ JET
9885
+ JGJ
9886
+ JIS
9887
+ JIT
9888
+ JKL
9889
+ JOE
9890
+ JPG
9891
+ JSF
9892
+ JSP
9893
+ JST
9894
+ JTA
9895
+ JVC
9896
+ JVM
9897
+ JYJ
9898
+ JYP
9899
+ Jac
9900
+ Jam
9901
+ Jan
9902
+ Jap
9903
+ Jav
9904
+ Jay
9905
+ Jin
9906
+ Joh
9907
+ Jon
9908
+ Jul
9909
+ Jun
9910
+ Jus
9911
+ KAB
9912
+ KAT
9913
+ KBS
9914
+ KDF
9915
+ KDJ
9916
+ KEY
9917
+ KFC
9918
+ KFR
9919
+ KID
9920
+ KIS
9921
+ KJm
9922
+ KOF
9923
+ KOH
9924
+ KOL
9925
+ KPI
9926
+ KPL
9927
+ KTV
9928
+ KVM
9929
+ Kin
9930
+ Kon
9931
+ Kur
9932
+ LAB
9933
+ LAN
9934
+ LBS
9935
+ LCA
9936
+ LCD
9937
+ LCK
9938
+ LCS
9939
+ LDA
9940
+ LDH
9941
+ LDL
9942
+ LDP
9943
+ LED
9944
+ LEE
9945
+ LEO
9946
+ LES
9947
+ LET
9948
+ LGA
9949
+ LGD
9950
+ LIN
9951
+ LIU
9952
+ LLC
9953
+ LME
9954
+ LMS
9955
+ LNG
9956
+ LOF
9957
+ LOL
9958
+ LOW
9959
+ LPG
9960
+ LPL
9961
+ LPR
9962
+ LRC
9963
+ LSA
9964
+ LSD
9965
+ LSI
9966
+ LSP
9967
+ LTD
9968
+ LTE
9969
+ LUC
9970
+ LUN
9971
+ LVM
9972
+ Laz
9973
+ Lib
9974
+ Lif
9975
+ Lin
9976
+ Liu
9977
+ Liz
9978
+ Lon
9979
+ Lou
9980
+ Low
9981
+ Luc
9982
+ Lum
9983
+ Luo
9984
+ Lux
9985
+ MAC
9986
+ MAD
9987
+ MAG
9988
+ MAN
9989
+ MAO
9990
+ MAP
9991
+ MAR
9992
+ MAS
9993
+ MAT
9994
+ MAX
9995
+ MAY
9996
+ MBA
9997
+ MBC
9998
+ MBO
9999
+ MBR
10000
+ MBS
10001
+ MCA
10002
+ MCC
10003
+ MCM
10004
+ MCN
10005
+ MCP
10006
+ MCS
10007
+ MCU
10008
+ MDA
10009
+ MDI
10010
+ MDL
10011
+ MDR
10012
+ MDS
10013
+ MEN
10014
+ MES
10015
+ MFA
10016
+ MFC
10017
+ MHC
10018
+ MHz
10019
+ MIB
10020
+ MIC
10021
+ MID
10022
+ MIL
10023
+ MIN
10024
+ MIS
10025
+ MIT
10026
+ MIX
10027
+ MKV
10028
+ MLC
10029
+ MLF
10030
+ MMA
10031
+ MMC
10032
+ MMI
10033
+ MMO
10034
+ MMS
10035
+ MMX
10036
+ MOD
10037
+ MOM
10038
+ MOS
10039
+ MOV
10040
+ MPA
10041
+ MPC
10042
+ MPG
10043
+ MPI
10044
+ MPS
10045
+ MPV
10046
+ MPa
10047
+ MRC
10048
+ MRI
10049
+ MRO
10050
+ MRP
10051
+ MSA
10052
+ MSC
10053
+ MSI
10054
+ MSN
10055
+ MTI
10056
+ MTK
10057
+ MTS
10058
+ MTU
10059
+ MTV
10060
+ MVC
10061
+ MVP
10062
+ Mac
10063
+ Mag
10064
+ Maj
10065
+ Man
10066
+ Mar
10067
+ Max
10068
+ May
10069
+ Mic
10070
+ Min
10071
+ Mon
10072
+ Mou
10073
+ Mur
10074
+ NAD
10075
+ NAS
10076
+ NAT
10077
+ NBA
10078
+ NBC
10079
+ NBL
10080
+ NCT
10081
+ NDS
10082
+ NEC
10083
+ NEO
10084
+ NES
10085
+ NET
10086
+ NEW
10087
+ NEX
10088
+ NFA
10089
+ NFC
10090
+ NFL
10091
+ NFS
10092
+ NGC
10093
+ NGN
10094
+ NGO
10095
+ NHK
10096
+ NHL
10097
+ NIC
10098
+ NIH
10099
+ NLP
10100
+ NME
10101
+ NMR
10102
+ NOT
10103
+ NOW
10104
+ NOX
10105
+ NOx
10106
+ NPC
10107
+ NPN
10108
+ NPR
10109
+ NSA
10110
+ NSC
10111
+ NSF
10112
+ NSK
10113
+ NTN
10114
+ NTP
10115
+ NTT
10116
+ NTV
10117
+ NVH
10118
+ NWA
10119
+ NXT
10120
+ NYT
10121
+ Nic
10122
+ Nob
10123
+ Nor
10124
+ Nov
10125
+ Now
10126
+ Nur
10127
+ OAD
10128
+ OBD
10129
+ OCG
10130
+ OCP
10131
+ OCR
10132
+ OCT
10133
+ ODM
10134
+ OEM
10135
+ OFF
10136
+ OGG
10137
+ OLE
10138
+ OMG
10139
+ ONE
10140
+ ONU
10141
+ OOO
10142
+ OPC
10143
+ OPP
10144
+ ORC
10145
+ OSD
10146
+ OSI
10147
+ OSS
10148
+ OST
10149
+ OTA
10150
+ OTC
10151
+ OTG
10152
+ OTT
10153
+ OUT
10154
+ OVA
10155
+ OVP
10156
+ Obj
10157
+ Off
10158
+ Oly
10159
+ Ope
10160
+ Oph
10161
+ Opt
10162
+ Our
10163
+ Out
10164
+ Ove
10165
+ PAC
10166
+ PAD
10167
+ PAH
10168
+ PAL
10169
+ PAM
10170
+ PAN
10171
+ PAS
10172
+ PBS
10173
+ PBT
10174
+ PCA
10175
+ PCB
10176
+ PCD
10177
+ PCI
10178
+ PCL
10179
+ PCM
10180
+ PCR
10181
+ PCS
10182
+ PCT
10183
+ PDA
10184
+ PDB
10185
+ PDC
10186
+ PDD
10187
+ PDF
10188
+ PDM
10189
+ PDP
10190
+ PDU
10191
+ PEG
10192
+ PEP
10193
+ PER
10194
+ PES
10195
+ PET
10196
+ PFA
10197
+ PFC
10198
+ PGA
10199
+ PGC
10200
+ PHP
10201
+ PHS
10202
+ PIC
10203
+ PID
10204
+ PIM
10205
+ PIN
10206
+ PKI
10207
+ PLA
10208
+ PLC
10209
+ PLD
10210
+ PLL
10211
+ PLM
10212
+ PMC
10213
+ PMI
10214
+ PMP
10215
+ PND
10216
+ PNG
10217
+ PNP
10218
+ POE
10219
+ POM
10220
+ PON
10221
+ POP
10222
+ POS
10223
+ PPA
10224
+ PPC
10225
+ PPG
10226
+ PPH
10227
+ PPI
10228
+ PPM
10229
+ PPP
10230
+ PPR
10231
+ PPS
10232
+ PPT
10233
+ PPV
10234
+ PRL
10235
+ PRO
10236
+ PSA
10237
+ PSD
10238
+ PSE
10239
+ PSG
10240
+ PSI
10241
+ PSK
10242
+ PSP
10243
+ PSS
10244
+ PSV
10245
+ PSW
10246
+ PSY
10247
+ PTA
10248
+ PTC
10249
+ PTH
10250
+ PTT
10251
+ PUB
10252
+ PVA
10253
+ PVC
10254
+ PVE
10255
+ PVP
10256
+ PWM
10257
+ Par
10258
+ Per
10259
+ Pic
10260
+ Pow
10261
+ Pro
10262
+ Pur
10263
+ QAM
10264
+ QDI
10265
+ QFP
10266
+ QGh
10267
+ QOS
10268
+ QPI
10269
+ QPS
10270
+ QRS
10271
+ QTL
10272
+ Qin
10273
+ Qua
10274
+ Que
10275
+ RAM
10276
+ RAP
10277
+ RAR
10278
+ RAS
10279
+ RAW
10280
+ RBC
10281
+ RCA
10282
+ RCS
10283
+ RDF
10284
+ RDS
10285
+ RED
10286
+ REF
10287
+ REG
10288
+ REM
10289
+ REX
10290
+ RFC
10291
+ RGB
10292
+ RIA
10293
+ RIM
10294
+ RIP
10295
+ RMB
10296
+ RMS
10297
+ RNA
10298
+ RNG
10299
+ ROC
10300
+ ROE
10301
+ ROI
10302
+ ROM
10303
+ RPC
10304
+ RPG
10305
+ RPM
10306
+ RRW
10307
+ RSA
10308
+ RSC
10309
+ RSI
10310
+ RSS
10311
+ RTA
10312
+ RTC
10313
+ RTK
10314
+ RTP
10315
+ RTS
10316
+ RTU
10317
+ RTX
10318
+ RUN
10319
+ RUS
10320
+ Ray
10321
+ Raz
10322
+ Ric
10323
+ Riv
10324
+ Rom
10325
+ Rou
10326
+ Rub
10327
+ Run
10328
+ Rus
10329
+ SAC
10330
+ SAE
10331
+ SAM
10332
+ SAN
10333
+ SAO
10334
+ SAP
10335
+ SAR
10336
+ SAS
10337
+ SAT
10338
+ SAY
10339
+ SBR
10340
+ SBS
10341
+ SCE
10342
+ SCH
10343
+ SCI
10344
+ SCM
10345
+ SCP
10346
+ SCR
10347
+ SDH
10348
+ SDI
10349
+ SDK
10350
+ SDR
10351
+ SDS
10352
+ SEA
10353
+ SEC
10354
+ SEE
10355
+ SEM
10356
+ SEO
10357
+ SER
10358
+ SET
10359
+ SFC
10360
+ SFP
10361
+ SGH
10362
+ SGI
10363
+ SGS
10364
+ SHA
10365
+ SHE
10366
+ SID
10367
+ SIG
10368
+ SIM
10369
+ SIP
10370
+ SIR
10371
+ SIS
10372
+ SKF
10373
+ SKT
10374
+ SKU
10375
+ SKY
10376
+ SLA
10377
+ SLC
10378
+ SLE
10379
+ SLG
10380
+ SLI
10381
+ SLR
10382
+ SLS
10383
+ SMA
10384
+ SMB
10385
+ SMC
10386
+ SMD
10387
+ SMG
10388
+ SMI
10389
+ SMP
10390
+ SMS
10391
+ SMT
10392
+ SNK
10393
+ SNP
10394
+ SNR
10395
+ SNS
10396
+ SOA
10397
+ SOC
10398
+ SOD
10399
+ SOI
10400
+ SOP
10401
+ SOS
10402
+ SPA
10403
+ SPC
10404
+ SPD
10405
+ SPE
10406
+ SPF
10407
+ SPI
10408
+ SPR
10409
+ SPS
10410
+ SPT
10411
+ SPV
10412
+ SQL
10413
+ SQU
10414
+ SRS
10415
+ SRT
10416
+ SSA
10417
+ SSC
10418
+ SSD
10419
+ SSE
10420
+ SSH
10421
+ SSL
10422
+ SSR
10423
+ SSS
10424
+ SST
10425
+ STC
10426
+ STD
10427
+ STK
10428
+ STL
10429
+ STM
10430
+ STN
10431
+ STP
10432
+ STR
10433
+ STS
10434
+ SUB
10435
+ SUN
10436
+ SUV
10437
+ SVC
10438
+ SVD
10439
+ SVG
10440
+ SVM
10441
+ SWF
10442
+ SXG
10443
+ SYN
10444
+ SYS
10445
+ Sch
10446
+ Ser
10447
+ She
10448
+ Siz
10449
+ Som
10450
+ Sou
10451
+ Squ
10452
+ Sub
10453
+ Sum
10454
+ Sun
10455
+ Sup
10456
+ Suz
10457
+ TAB
10458
+ TAC
10459
+ TAG
10460
+ TAO
10461
+ TBC
10462
+ TBM
10463
+ TBS
10464
+ TCG
10465
+ TCL
10466
+ TCM
10467
+ TCO
10468
+ TCP
10469
+ TCR
10470
+ TCS
10471
+ TCT
10472
+ TDD
10473
+ TDI
10474
+ TDM
10475
+ TDP
10476
+ TDS
10477
+ TEC
10478
+ TED
10479
+ TEL
10480
+ TEM
10481
+ TES
10482
+ TEU
10483
+ TEX
10484
+ TFT
10485
+ TGA
10486
+ TGF
10487
+ TGV
10488
+ THD
10489
+ THE
10490
+ TIA
10491
+ TIF
10492
+ TKO
10493
+ TLC
10494
+ TLS
10495
+ TMD
10496
+ TMP
10497
+ TMS
10498
+ TMT
10499
+ TNA
10500
+ TNF
10501
+ TNT
10502
+ TOC
10503
+ TOD
10504
+ TOE
10505
+ TOM
10506
+ TOP
10507
+ TPC
10508
+ TPE
10509
+ TPM
10510
+ TPO
10511
+ TPP
10512
+ TPR
10513
+ TPS
10514
+ TPU
10515
+ TQM
10516
+ TSC
10517
+ TSH
10518
+ TSI
10519
+ TSP
10520
+ TTL
10521
+ TTS
10522
+ TTT
10523
+ TUV
10524
+ TVB
10525
+ TVC
10526
+ TVP
10527
+ TVS
10528
+ TWO
10529
+ TXT
10530
+ Tay
10531
+ The
10532
+ Tom
10533
+ Tou
10534
+ Tow
10535
+ Tur
10536
+ UAR
10537
+ UBC
10538
+ UCC
10539
+ UCL
10540
+ UDP
10541
+ UFC
10542
+ UFO
10543
+ UGC
10544
+ UHF
10545
+ UIP
10546
+ UMD
10547
+ UML
10548
+ UNI
10549
+ UPC
10550
+ UPS
10551
+ URL
10552
+ USA
10553
+ USB
10554
+ USD
10555
+ USM
10556
+ USP
10557
+ USS
10558
+ UTC
10559
+ UTF
10560
+ UTP
10561
+ UTR
10562
+ UVA
10563
+ UVB
10564
+ UWB
10565
+ UZI
10566
+ Umb
10567
+ Uni
10568
+ Upp
10569
+ Uzi
10570
+ VAC
10571
+ VAR
10572
+ VBA
10573
+ VBR
10574
+ VBS
10575
+ VCC
10576
+ VCD
10577
+ VCR
10578
+ VDC
10579
+ VDE
10580
+ VGA
10581
+ VHF
10582
+ VHS
10583
+ VIA
10584
+ VII
10585
+ VIP
10586
+ VIS
10587
+ VMw
10588
+ VOA
10589
+ VOB
10590
+ VOC
10591
+ VOD
10592
+ VOL
10593
+ VPN
10594
+ VPS
10595
+ VRP
10596
+ VSS
10597
+ VTE
10598
+ VVT
10599
+ Ver
10600
+ Vic
10601
+ Vid
10602
+ Vis
10603
+ Viv
10604
+ WAN
10605
+ WAP
10606
+ WAV
10607
+ WAY
10608
+ WBA
10609
+ WBC
10610
+ WBO
10611
+ WBS
10612
+ WCG
10613
+ WCW
10614
+ WDM
10615
+ WDS
10616
+ WEB
10617
+ WEP
10618
+ WEY
10619
+ WGK
10620
+ WHO
10621
+ WIN
10622
+ WMA
10623
+ WMS
10624
+ WMV
10625
+ WOW
10626
+ WPA
10627
+ WPF
10628
+ WPS
10629
+ WRC
10630
+ WSA
10631
+ WTA
10632
+ WTI
10633
+ WTO
10634
+ WVG
10635
+ WWE
10636
+ WWF
10637
+ WWW
10638
+ Way
10639
+ Wha
10640
+ Whe
10641
+ Whi
10642
+ Who
10643
+ Why
10644
+ WiF
10645
+ Win
10646
+ Wiz
10647
+ Wom
10648
+ Wor
10649
+ Wou
10650
+ XGA
10651
+ XII
10652
+ XML
10653
+ XPS
10654
+ XXX
10655
+ XYZ
10656
+ YAG
10657
+ YES
10658
+ YOU
10659
+ YZB
10660
+ Yin
10661
+ You
10662
+ Yua
10663
+ Yuk
10664
+ Yun
10665
+ ZIP
10666
+ ZOL
10667
+ Zer
10668
+ Zha
10669
+ Zhu
10670
+ Zom
10671
+ Zon
10672
+ Zou
10673
+ abb
10674
+ abc
10675
+ abo
10676
+ abs
10677
+ act
10678
+ adj
10679
+ aff
10680
+ all
10681
+ and
10682
+ ang
10683
+ any
10684
+ app
10685
+ aws
10686
+ bbb
10687
+ bbc
10688
+ bbq
10689
+ bbs
10690
+ but
10691
+ cAM
10692
+ cDN
10693
+ cGM
10694
+ can
10695
+ car
10696
+ cba
10697
+ cha
10698
+ chi
10699
+ col
10700
+ com
10701
+ con
10702
+ cor
10703
+ cou
10704
+ cpi
10705
+ cpu
10706
+ dan
10707
+ day
10708
+ des
10709
+ did
10710
+ dif
10711
+ dis
10712
+ div
10713
+ diy
10714
+ doc
10715
+ don
10716
+ dow
10717
+ eAA
10718
+ eSA
10719
+ ech
10720
+ eff
10721
+ emb
10722
+ emp
10723
+ end
10724
+ eng
10725
+ eqc
10726
+ equ
10727
+ euv
10728
+ eve
10729
+ exc
10730
+ exe
10731
+ exp
10732
+ fac
10733
+ fil
10734
+ fin
10735
+ fir
10736
+ fiv
10737
+ fla
10738
+ fly
10739
+ for
10740
+ fox
10741
+ fre
10742
+ fri
10743
+ gAS
10744
+ gdp
10745
+ gen
10746
+ giv
10747
+ gmp
10748
+ gon
10749
+ goo
10750
+ got
10751
+ gps
10752
+ gra
10753
+ gre
10754
+ gro
10755
+ had
10756
+ har
10757
+ has
10758
+ hav
10759
+ haz
10760
+ her
10761
+ his
10762
+ hiv
10763
+ hol
10764
+ hom
10765
+ hou
10766
+ how
10767
+ iBT
10768
+ iOS
10769
+ iPa
10770
+ iPh
10771
+ iPo
10772
+ iSC
10773
+ ima
10774
+ imp
10775
+ inc
10776
+ inf
10777
+ inj
10778
+ int
10779
+ ipa
10780
+ iph
10781
+ ipo
10782
+ isb
10783
+ iso
10784
+ jam
10785
+ jap
10786
+ jav
10787
+ jay
10788
+ jus
10789
+ kHz
10790
+ kJm
10791
+ kdj
10792
+ kin
10793
+ lay
10794
+ laz
10795
+ lck
10796
+ lea
10797
+ led
10798
+ let
10799
+ lib
10800
+ lif
10801
+ lin
10802
+ liq
10803
+ lis
10804
+ lit
10805
+ liv
10806
+ liz
10807
+ lly
10808
+ lng
10809
+ loc
10810
+ lof
10811
+ log
10812
+ loo
10813
+ los
10814
+ low
10815
+ mRN
10816
+ mac
10817
+ mad
10818
+ maj
10819
+ man
10820
+ mar
10821
+ mat
10822
+ max
10823
+ may
10824
+ maz
10825
+ mba
10826
+ men
10827
+ mic
10828
+ min
10829
+ mmH
10830
+ mod
10831
+ mon
10832
+ mor
10833
+ mys
10834
+ nVI
10835
+ nba
10836
+ nex
10837
+ nic
10838
+ not
10839
+ nov
10840
+ now
10841
+ nxp
10842
+ obj
10843
+ off
10844
+ one
10845
+ ope
10846
+ opp
10847
+ our
10848
+ out
10849
+ ove
10850
+ par
10851
+ pay
10852
+ per
10853
+ phe
10854
+ php
10855
+ piz
10856
+ pla
10857
+ pow
10858
+ ppp
10859
+ pre
10860
+ pro
10861
+ pvc
10862
+ qHD
10863
+ qgh
10864
+ qua
10865
+ que
10866
+ qui
10867
+ rRN
10868
+ ray
10869
+ raz
10870
+ rea
10871
+ rec
10872
+ red
10873
+ ref
10874
+ reg
10875
+ rem
10876
+ rep
10877
+ req
10878
+ res
10879
+ rev
10880
+ ric
10881
+ riv
10882
+ rmb
10883
+ rng
10884
+ rom
10885
+ rou
10886
+ say
10887
+ sch
10888
+ sha
10889
+ she
10890
+ shi
10891
+ sho
10892
+ sim
10893
+ sin
10894
+ siz
10895
+ som
10896
+ sou
10897
+ spa
10898
+ spe
10899
+ sql
10900
+ squ
10901
+ sta
10902
+ ste
10903
+ sto
10904
+ str
10905
+ sty
10906
+ sub
10907
+ suv
10908
+ tRN
10909
+ tha
10910
+ the
10911
+ thi
10912
+ thr
10913
+ tim
10914
+ tip
10915
+ top
10916
+ tow
10917
+ tpp
10918
+ tra
10919
+ tur
10920
+ tuv
10921
+ two
10922
+ ubc
10923
+ uiv
10924
+ unc
10925
+ und
10926
+ uni
10927
+ unk
10928
+ ups
10929
+ usb
10930
+ uva
10931
+ uvb
10932
+ uzi
10933
+ val
10934
+ var
10935
+ ver
10936
+ vie
10937
+ vip
10938
+ vis
10939
+ viv
10940
+ wan
10941
+ was
10942
+ way
10943
+ web
10944
+ wer
10945
+ wha
10946
+ whi
10947
+ who
10948
+ why
10949
+ wif
10950
+ wit
10951
+ wom
10952
+ won
10953
+ wor
10954
+ wou
10955
+ www
10956
+ xin
10957
+ xxx
10958
+ yin
10959
+ you
10960
+ zha
10961
+ zhi
10962
+ zho
10963
+ zhu
10964
+ zon
10965
+ zzf
10966
+ zzy
10967
+ AAAA
10968
+ AACS
10969
+ ABCD
10970
+ ACCA
10971
+ ACCE
10972
+ ACCP
10973
+ ACDC
10974
+ ACGN
10975
+ ACID
10976
+ ACPI
10977
+ ACTH
10978
+ ADHD
10979
+ ADPC
10980
+ ADSL
10981
+ AIDS
10982
+ AJAX
10983
+ ALPH
10984
+ AMEX
10985
+ AMOL
10986
+ ANGE
10987
+ ANSI
10988
+ ANSY
10989
+ APEC
10990
+ APPL
10991
+ APTE
10992
+ ARDS
10993
+ ARPA
10994
+ ARPG
10995
+ ASCE
10996
+ ASCI
10997
+ ASIA
10998
+ ASIC
10999
+ ASIN
11000
+ ASME
11001
+ ASSO
11002
+ ASTM
11003
+ ASUS
11004
+ AUDI
11005
+ AUTO
11006
+ AVCH
11007
+ AWAR
11008
+ Andr
11009
+ BABY
11010
+ BACK
11011
+ BAND
11012
+ BANG
11013
+ BANK
11014
+ BASI
11015
+ BASS
11016
+ BATT
11017
+ BEAS
11018
+ BEAT
11019
+ BEST
11020
+ BEYO
11021
+ BIGB
11022
+ BIOS
11023
+ BLAC
11024
+ BLEA
11025
+ BLOG
11026
+ BLOO
11027
+ BLUE
11028
+ BOBO
11029
+ BOOK
11030
+ BOOL
11031
+ BOOM
11032
+ BOPP
11033
+ BOSS
11034
+ BOYS
11035
+ BRAV
11036
+ BREA
11037
+ BUFF
11038
+ Buck
11039
+ Buff
11040
+ Bull
11041
+ Bung
11042
+ Buzz
11043
+ CADC
11044
+ CALL
11045
+ CAPC
11046
+ CAPP
11047
+ CARD
11048
+ CASE
11049
+ CASI
11050
+ CAST
11051
+ CATI
11052
+ CATV
11053
+ CAXA
11054
+ CCFL
11055
+ CCIE
11056
+ CCNA
11057
+ CCTV
11058
+ CDMA
11059
+ CEPA
11060
+ CERN
11061
+ CHAN
11062
+ CHAP
11063
+ CHAR
11064
+ CHEN
11065
+ CHIN
11066
+ CHOR
11067
+ CIMS
11068
+ CIPA
11069
+ CISC
11070
+ CITE
11071
+ CITY
11072
+ CLAM
11073
+ CLAN
11074
+ CLAS
11075
+ CLOS
11076
+ CLUB
11077
+ CMMB
11078
+ CMMI
11079
+ CMOS
11080
+ CMYK
11081
+ CNAS
11082
+ CNBC
11083
+ CNBL
11084
+ CNKI
11085
+ CNNI
11086
+ COCO
11087
+ CODE
11088
+ COLL
11089
+ COLO
11090
+ COMB
11091
+ COME
11092
+ COMI
11093
+ COMP
11094
+ CONT
11095
+ COOL
11096
+ CORB
11097
+ CORE
11098
+ COSM
11099
+ COSP
11100
+ COST
11101
+ COUN
11102
+ COVI
11103
+ CPLD
11104
+ CREA
11105
+ CROS
11106
+ CSCD
11107
+ CSDN
11108
+ CSMA
11109
+ CSOL
11110
+ CSSC
11111
+ CSTN
11112
+ CTRL
11113
+ CUBA
11114
+ CUDA
11115
+ CURR
11116
+ CVBS
11117
+ Chin
11118
+ Chur
11119
+ DANC
11120
+ DARK
11121
+ DARP
11122
+ DASH
11123
+ DATA
11124
+ DAYS
11125
+ DCDC
11126
+ DDNS
11127
+ DDOS
11128
+ DDRI
11129
+ DELL
11130
+ DEMO
11131
+ DESI
11132
+ DEST
11133
+ DHCP
11134
+ DIGI
11135
+ DIMM
11136
+ DISC
11137
+ DIVX
11138
+ DLNA
11139
+ DOHC
11140
+ DOTA
11141
+ DOWN
11142
+ DRAG
11143
+ DRAM
11144
+ DREA
11145
+ DRIV
11146
+ DSLR
11147
+ DVDC
11148
+ DVGA
11149
+ DWDM
11150
+ DWOR
11151
+ EAST
11152
+ EASY
11153
+ EBIT
11154
+ ECMO
11155
+ EDGE
11156
+ EDIT
11157
+ EDTA
11158
+ EGFR
11159
+ EINE
11160
+ ELIS
11161
+ ELLE
11162
+ EMBA
11163
+ ENER
11164
+ ENGI
11165
+ ENTE
11166
+ EPDM
11167
+ EPIS
11168
+ EPON
11169
+ EPSO
11170
+ EPUB
11171
+ ERCP
11172
+ ERRO
11173
+ ESET
11174
+ ESPN
11175
+ ETSI
11176
+ EVDO
11177
+ EVER
11178
+ EXCE
11179
+ EXIL
11180
+ EXPO
11181
+ Ever
11182
+ Exch
11183
+ Exer
11184
+ FACE
11185
+ FALS
11186
+ FANS
11187
+ FANU
11188
+ FAST
11189
+ FDDI
11190
+ FIBA
11191
+ FIDI
11192
+ FIFA
11193
+ FIFO
11194
+ FILE
11195
+ FINA
11196
+ FIRE
11197
+ FIRS
11198
+ FISH
11199
+ FIVE
11200
+ FLAC
11201
+ FLAS
11202
+ FLOW
11203
+ FMVP
11204
+ FORT
11205
+ FPGA
11206
+ FREE
11207
+ FROM
11208
+ FTTH
11209
+ FULL
11210
+ FWVG
11211
+ FXCM
11212
+ Fuck
11213
+ Full
11214
+ Fund
11215
+ Fung
11216
+ Fuzz
11217
+ GABA
11218
+ GALA
11219
+ GAME
11220
+ GANK
11221
+ GATT
11222
+ GEAR
11223
+ GENE
11224
+ GHOS
11225
+ GIRL
11226
+ GLON
11227
+ GMAT
11228
+ GNSS
11229
+ GOLD
11230
+ GOOD
11231
+ GOOG
11232
+ GPRS
11233
+ GREE
11234
+ GROU
11235
+ GSMG
11236
+ GUCC
11237
+ GUND
11238
+ GUTS
11239
+ Gund
11240
+ HACC
11241
+ HAPP
11242
+ HARD
11243
+ HART
11244
+ HDCP
11245
+ HDMI
11246
+ HDPE
11247
+ HDTV
11248
+ HEAD
11249
+ HEAR
11250
+ HELL
11251
+ HEPA
11252
+ HERO
11253
+ HIFI
11254
+ HIGH
11255
+ HIPH
11256
+ HKEY
11257
+ HOLD
11258
+ HOME
11259
+ HOST
11260
+ HOUS
11261
+ HPLC
11262
+ HSDP
11263
+ HSPA
11264
+ HTML
11265
+ HTTP
11266
+ HUNT
11267
+ Hugh
11268
+ Hung
11269
+ ICAN
11270
+ ICMP
11271
+ ICON
11272
+ IDEA
11273
+ IDOL
11274
+ IEEE
11275
+ IELT
11276
+ IETF
11277
+ IFPI
11278
+ IGBT
11279
+ IGMP
11280
+ IMAX
11281
+ IMDB
11282
+ INFO
11283
+ INTE
11284
+ IPAD
11285
+ IPTV
11286
+ ISBN
11287
+ ISDN
11288
+ ISIS
11289
+ ISOI
11290
+ ISRC
11291
+ ISSN
11292
+ ISTP
11293
+ ITER
11294
+ ITIL
11295
+ IUCN
11296
+ Inte
11297
+ Inve
11298
+ JACK
11299
+ JAPA
11300
+ JAVA
11301
+ JAZZ
11302
+ JBOD
11303
+ JOHN
11304
+ JOJO
11305
+ JOKE
11306
+ JOUR
11307
+ JPEG
11308
+ JUMP
11309
+ JUST
11310
+ Jack
11311
+ Jake
11312
+ Jazz
11313
+ John
11314
+ Joke
11315
+ July
11316
+ Jump
11317
+ Jung
11318
+ KING
11319
+ KISS
11320
+ KONA
11321
+ KOYO
11322
+ LASI
11323
+ LAST
11324
+ LEED
11325
+ LEEP
11326
+ LESS
11327
+ LEVE
11328
+ LEXU
11329
+ LIFE
11330
+ LIKE
11331
+ LIMI
11332
+ LINE
11333
+ LINK
11334
+ LINU
11335
+ LIST
11336
+ LIVE
11337
+ LLDP
11338
+ LOCA
11339
+ LOFT
11340
+ LOGO
11341
+ LOLI
11342
+ LONG
11343
+ LOOK
11344
+ LOVE
11345
+ LPGA
11346
+ LTPS
11347
+ LVDS
11348
+ Ligh
11349
+ Like
11350
+ Lily
11351
+ Lind
11352
+ Ling
11353
+ Liqu
11354
+ Live
11355
+ Luck
11356
+ Luke
11357
+ MACD
11358
+ MACH
11359
+ MAGI
11360
+ MALL
11361
+ MAMA
11362
+ MARK
11363
+ MAST
11364
+ MATL
11365
+ MATX
11366
+ MAYA
11367
+ MBLA
11368
+ MEDI
11369
+ MEGA
11370
+ MEMS
11371
+ MERS
11372
+ META
11373
+ MIDI
11374
+ MIDP
11375
+ MIMO
11376
+ MINI
11377
+ MIPS
11378
+ MISS
11379
+ MIUI
11380
+ MMOR
11381
+ MOBA
11382
+ MODB
11383
+ MODE
11384
+ MOMO
11385
+ MOOC
11386
+ MOON
11387
+ MORE
11388
+ MOSF
11389
+ MOTO
11390
+ MOVI
11391
+ MPEG
11392
+ MPLS
11393
+ MSCI
11394
+ MSDS
11395
+ MTBF
11396
+ MUSI
11397
+ Mach
11398
+ Make
11399
+ Maur
11400
+ Mazz
11401
+ NACH
11402
+ NADH
11403
+ NADP
11404
+ NAMC
11405
+ NAME
11406
+ NANA
11407
+ NAND
11408
+ NASA
11409
+ NASD
11410
+ NATO
11411
+ NAVE
11412
+ NCAA
11413
+ NCAP
11414
+ NCIS
11415
+ NEDC
11416
+ NEOP
11417
+ NERV
11418
+ NEST
11419
+ NEWS
11420
+ NEXT
11421
+ NICO
11422
+ NIGH
11423
+ NIKE
11424
+ NINE
11425
+ NOKI
11426
+ NOTE
11427
+ NOVA
11428
+ NSAI
11429
+ NTFS
11430
+ NTSC
11431
+ NULL
11432
+ NURB
11433
+ NVID
11434
+ NYSE
11435
+ Nove
11436
+ ODBC
11437
+ OECD
11438
+ OFDM
11439
+ OFFI
11440
+ OLAP
11441
+ OLED
11442
+ ONLI
11443
+ ONLY
11444
+ OPEC
11445
+ OPEN
11446
+ OPPO
11447
+ ORAC
11448
+ ORIC
11449
+ ORIG
11450
+ OSPF
11451
+ OVER
11452
+ Oper
11453
+ PACS
11454
+ PAGE
11455
+ PARK
11456
+ PART
11457
+ PASS
11458
+ PCMC
11459
+ PDCA
11460
+ PEEK
11461
+ PERC
11462
+ PERF
11463
+ PETS
11464
+ PHEV
11465
+ PHIL
11466
+ PHOT
11467
+ PICC
11468
+ PIEC
11469
+ PLAN
11470
+ PLAY
11471
+ PLUS
11472
+ PMMA
11473
+ PNAS
11474
+ POLO
11475
+ POSE
11476
+ POST
11477
+ POWE
11478
+ PPTP
11479
+ PPTV
11480
+ PRAD
11481
+ PROD
11482
+ PROF
11483
+ PROJ
11484
+ PSTN
11485
+ PTFE
11486
+ PUNK
11487
+ PVDF
11488
+ Pric
11489
+ Prin
11490
+ Priv
11491
+ Priz
11492
+ Prom
11493
+ QFII
11494
+ QVGA
11495
+ QVOD
11496
+ QWER
11497
+ Quic
11498
+ Quin
11499
+ Quiz
11500
+ RADI
11501
+ RAID
11502
+ RAIN
11503
+ REAC
11504
+ READ
11505
+ REAL
11506
+ REIT
11507
+ RESE
11508
+ RFID
11509
+ RIDE
11510
+ RISC
11511
+ RMON
11512
+ RMRM
11513
+ RMVB
11514
+ ROAD
11515
+ ROCK
11516
+ ROHS
11517
+ ROOT
11518
+ ROSE
11519
+ RTEC
11520
+ RWBY
11521
+ Ruby
11522
+ SAAS
11523
+ SAMS
11524
+ SARS
11525
+ SATA
11526
+ SCAD
11527
+ SCAR
11528
+ SCDM
11529
+ SCHO
11530
+ SCIE
11531
+ SCSI
11532
+ SDHC
11533
+ SDMM
11534
+ SDRA
11535
+ SDSD
11536
+ SDXC
11537
+ SECA
11538
+ SECC
11539
+ SECT
11540
+ SEED
11541
+ SEGA
11542
+ SELE
11543
+ SERV
11544
+ SEVE
11545
+ SFDA
11546
+ SHIF
11547
+ SHIN
11548
+ SHOC
11549
+ SHOP
11550
+ SHOW
11551
+ SIDE
11552
+ SIEM
11553
+ SING
11554
+ SIZE
11555
+ SKIP
11556
+ SMAP
11557
+ SMAR
11558
+ SMIL
11559
+ SMTP
11560
+ SNMP
11561
+ SOAP
11562
+ SOCK
11563
+ SOHO
11564
+ SOLO
11565
+ SONG
11566
+ SONY
11567
+ SOSO
11568
+ SOUL
11569
+ SPAC
11570
+ SPCC
11571
+ SPDI
11572
+ SPEC
11573
+ SPEE
11574
+ SPIE
11575
+ SPOR
11576
+ SPSS
11577
+ SRAM
11578
+ SSCI
11579
+ STAF
11580
+ STAG
11581
+ STAR
11582
+ STAT
11583
+ STEM
11584
+ STEP
11585
+ STER
11586
+ STOP
11587
+ STOR
11588
+ STUD
11589
+ STYL
11590
+ SUMM
11591
+ SUPE
11592
+ SUSE
11593
+ SWAT
11594
+ SWIF
11595
+ SWOT
11596
+ SYST
11597
+ Subj
11598
+ Sull
11599
+ Sund
11600
+ Sung
11601
+ Supp
11602
+ TABL
11603
+ TANK
11604
+ TCPI
11605
+ TDMA
11606
+ TEAM
11607
+ TECH
11608
+ TEST
11609
+ TEXT
11610
+ TFBO
11611
+ TFSI
11612
+ TFTP
11613
+ THIS
11614
+ THRE
11615
+ TIFF
11616
+ TIME
11617
+ TIMK
11618
+ TIPS
11619
+ TOEF
11620
+ TOKY
11621
+ TOSH
11622
+ TOUC
11623
+ TOUR
11624
+ TOWN
11625
+ TRAC
11626
+ TRIP
11627
+ TRIZ
11628
+ TRUE
11629
+ TVBS
11630
+ TVOC
11631
+ TWIC
11632
+ TYPE
11633
+ Ther
11634
+ Thin
11635
+ Thom
11636
+ Thou
11637
+ UCLA
11638
+ UHMW
11639
+ ULTR
11640
+ UMTS
11641
+ UNES
11642
+ UNIT
11643
+ UNIV
11644
+ UNIX
11645
+ Unic
11646
+ Unit
11647
+ Univ
11648
+ VAIO
11649
+ VCCI
11650
+ VEGF
11651
+ VERS
11652
+ VHDL
11653
+ VIDE
11654
+ VIER
11655
+ VIII
11656
+ VISA
11657
+ VISI
11658
+ VIST
11659
+ VIVO
11660
+ VLAN
11661
+ VLSI
11662
+ VOCA
11663
+ VOGU
11664
+ VOIP
11665
+ VRay
11666
+ VSAT
11667
+ Vick
11668
+ Vill
11669
+ WANG
11670
+ WAPI
11671
+ WASD
11672
+ WAVE
11673
+ WCBA
11674
+ WCDM
11675
+ WEEK
11676
+ WEST
11677
+ WHAT
11678
+ WHIT
11679
+ WIFI
11680
+ WIND
11681
+ WITH
11682
+ WLAN
11683
+ WORD
11684
+ WORK
11685
+ WORL
11686
+ WQVG
11687
+ WXGA
11688
+ Wang
11689
+ Wher
11690
+ WiMA
11691
+ Will
11692
+ Wind
11693
+ Wing
11694
+ XBOX
11695
+ XBRL
11696
+ XHTM
11697
+ XVID
11698
+ XXXX
11699
+ YAMA
11700
+ YANG
11701
+ YEAH
11702
+ YONE
11703
+ YOUN
11704
+ YOUR
11705
+ YOYO
11706
+ Yong
11707
+ Your
11708
+ ZAFT
11709
+ ZARA
11710
+ ZERO
11711
+ ZGMF
11712
+ ZHAN
11713
+ ZONE
11714
+ Zhon
11715
+ Zhou
11716
+ abby
11717
+ abou
11718
+ andr
11719
+ appl
11720
+ baby
11721
+ back
11722
+ blic
11723
+ call
11724
+ char
11725
+ chic
11726
+ chin
11727
+ coff
11728
+ coll
11729
+ comb
11730
+ comm
11731
+ comp
11732
+ cond
11733
+ cons
11734
+ cont
11735
+ dick
11736
+ diff
11737
+ ding
11738
+ dock
11739
+ doin
11740
+ dong
11741
+ down
11742
+ ever
11743
+ exch
11744
+ find
11745
+ foll
11746
+ four
11747
+ from
11748
+ fron
11749
+ goin
11750
+ good
11751
+ goog
11752
+ gove
11753
+ hack
11754
+ hall
11755
+ hand
11756
+ hang
11757
+ happ
11758
+ have
11759
+ here
11760
+ high
11761
+ home
11762
+ into
11763
+ inve
11764
+ jack
11765
+ java
11766
+ jazz
11767
+ jump
11768
+ jung
11769
+ just
11770
+ know
11771
+ life
11772
+ ligh
11773
+ like
11774
+ lily
11775
+ ling
11776
+ liqu
11777
+ live
11778
+ lock
11779
+ logo
11780
+ lond
11781
+ long
11782
+ look
11783
+ love
11784
+ macd
11785
+ mach
11786
+ make
11787
+ mapp
11788
+ mmer
11789
+ nove
11790
+ okay
11791
+ only
11792
+ oper
11793
+ oppo
11794
+ othe
11795
+ over
11796
+ play
11797
+ pray
11798
+ pric
11799
+ prin
11800
+ priv
11801
+ priz
11802
+ prod
11803
+ prom
11804
+ quic
11805
+ real
11806
+ requ
11807
+ righ
11808
+ scho
11809
+ shou
11810
+ show
11811
+ some
11812
+ star
11813
+ stat
11814
+ stay
11815
+ stom
11816
+ subj
11817
+ such
11818
+ suff
11819
+ supp
11820
+ take
11821
+ than
11822
+ they
11823
+ thin
11824
+ thou
11825
+ toke
11826
+ uber
11827
+ unic
11828
+ univ
11829
+ upon
11830
+ usdj
11831
+ user
11832
+ usin
11833
+ vill
11834
+ vivo
11835
+ wake
11836
+ wall
11837
+ wang
11838
+ want
11839
+ wave
11840
+ were
11841
+ what
11842
+ when
11843
+ wifi
11844
+ will
11845
+ wind
11846
+ wing
11847
+ with
11848
+ work
11849
+ xing
11850
+ xxxx
11851
+ year
11852
+ your
11853
+ zhon
11854
+ China
11855
+ Inter
11856
+ Journ
11857
+ china
11858
+ every
11859
+ inter
11860
+ iphon
11861
+ thing
11862
+ think
11863
+ where
11864
+ which
11865
+ Univer
11866
+ univer
11867
+ Windows
11868
+ windows
11869
+ ##A
11870
+ ##B
11871
+ ##C
11872
+ ##D
11873
+ ##E
11874
+ ##F
11875
+ ##G
11876
+ ##H
11877
+ ##I
11878
+ ##J
11879
+ ##K
11880
+ ##L
11881
+ ##M
11882
+ ##N
11883
+ ##O
11884
+ ##P
11885
+ ##Q
11886
+ ##R
11887
+ ##S
11888
+ ##T
11889
+ ##U
11890
+ ##V
11891
+ ##W
11892
+ ##X
11893
+ ##Y
11894
+ ##Z
11895
+ ##a
11896
+ ##b
11897
+ ##c
11898
+ ##d
11899
+ ##e
11900
+ ##f
11901
+ ##g
11902
+ ##h
11903
+ ##i
11904
+ ##j
11905
+ ##k
11906
+ ##l
11907
+ ##m
11908
+ ##n
11909
+ ##o
11910
+ ##p
11911
+ ##q
11912
+ ##r
11913
+ ##s
11914
+ ##t
11915
+ ##u
11916
+ ##v
11917
+ ##w
11918
+ ##x
11919
+ ##y
11920
+ ##z
11921
+ ##AA
11922
+ ##AB
11923
+ ##AC
11924
+ ##AD
11925
+ ##AE
11926
+ ##AF
11927
+ ##AG
11928
+ ##AH
11929
+ ##AI
11930
+ ##AK
11931
+ ##AL
11932
+ ##AM
11933
+ ##AN
11934
+ ##AO
11935
+ ##AP
11936
+ ##AQ
11937
+ ##AR
11938
+ ##AS
11939
+ ##AT
11940
+ ##AV
11941
+ ##AW
11942
+ ##AX
11943
+ ##AY
11944
+ ##AZ
11945
+ ##BA
11946
+ ##BB
11947
+ ##BC
11948
+ ##BE
11949
+ ##BG
11950
+ ##BI
11951
+ ##BM
11952
+ ##BN
11953
+ ##BO
11954
+ ##BP
11955
+ ##BR
11956
+ ##BS
11957
+ ##BT
11958
+ ##BU
11959
+ ##BY
11960
+ ##CA
11961
+ ##CB
11962
+ ##CC
11963
+ ##CD
11964
+ ##CE
11965
+ ##CF
11966
+ ##CG
11967
+ ##CH
11968
+ ##CI
11969
+ ##CK
11970
+ ##CL
11971
+ ##CM
11972
+ ##CN
11973
+ ##CO
11974
+ ##CP
11975
+ ##CR
11976
+ ##CS
11977
+ ##CT
11978
+ ##CU
11979
+ ##DA
11980
+ ##DB
11981
+ ##DC
11982
+ ##DD
11983
+ ##DE
11984
+ ##DI
11985
+ ##DL
11986
+ ##DM
11987
+ ##DN
11988
+ ##DO
11989
+ ##DP
11990
+ ##DR
11991
+ ##DS
11992
+ ##DT
11993
+ ##DU
11994
+ ##DX
11995
+ ##DY
11996
+ ##EA
11997
+ ##EB
11998
+ ##EC
11999
+ ##ED
12000
+ ##EE
12001
+ ##EF
12002
+ ##EG
12003
+ ##EI
12004
+ ##EK
12005
+ ##EL
12006
+ ##EM
12007
+ ##EN
12008
+ ##EO
12009
+ ##EP
12010
+ ##ER
12011
+ ##ES
12012
+ ##ET
12013
+ ##EV
12014
+ ##EW
12015
+ ##EX
12016
+ ##EY
12017
+ ##FA
12018
+ ##FC
12019
+ ##FD
12020
+ ##FE
12021
+ ##FF
12022
+ ##FI
12023
+ ##FL
12024
+ ##FO
12025
+ ##FP
12026
+ ##FR
12027
+ ##FS
12028
+ ##FT
12029
+ ##FU
12030
+ ##FX
12031
+ ##Fi
12032
+ ##GA
12033
+ ##GC
12034
+ ##GE
12035
+ ##GF
12036
+ ##GH
12037
+ ##GI
12038
+ ##GL
12039
+ ##GN
12040
+ ##GO
12041
+ ##GP
12042
+ ##GR
12043
+ ##GS
12044
+ ##GU
12045
+ ##GY
12046
+ ##HA
12047
+ ##HC
12048
+ ##HD
12049
+ ##HE
12050
+ ##HG
12051
+ ##HI
12052
+ ##HM
12053
+ ##HN
12054
+ ##HO
12055
+ ##HP
12056
+ ##HR
12057
+ ##HS
12058
+ ##HT
12059
+ ##IA
12060
+ ##IB
12061
+ ##IC
12062
+ ##ID
12063
+ ##IE
12064
+ ##IF
12065
+ ##IG
12066
+ ##II
12067
+ ##IK
12068
+ ##IL
12069
+ ##IM
12070
+ ##IN
12071
+ ##IO
12072
+ ##IP
12073
+ ##IR
12074
+ ##IS
12075
+ ##IT
12076
+ ##IU
12077
+ ##IV
12078
+ ##IX
12079
+ ##IZ
12080
+ ##JI
12081
+ ##JO
12082
+ ##Jo
12083
+ ##Ju
12084
+ ##KA
12085
+ ##KE
12086
+ ##KI
12087
+ ##KK
12088
+ ##KO
12089
+ ##KU
12090
+ ##KY
12091
+ ##LA
12092
+ ##LC
12093
+ ##LD
12094
+ ##LE
12095
+ ##LF
12096
+ ##LG
12097
+ ##LI
12098
+ ##LK
12099
+ ##LL
12100
+ ##LM
12101
+ ##LO
12102
+ ##LP
12103
+ ##LS
12104
+ ##LT
12105
+ ##LU
12106
+ ##LV
12107
+ ##LY
12108
+ ##MA
12109
+ ##MB
12110
+ ##MC
12111
+ ##MD
12112
+ ##ME
12113
+ ##MF
12114
+ ##MI
12115
+ ##ML
12116
+ ##MM
12117
+ ##MN
12118
+ ##MO
12119
+ ##MP
12120
+ ##MR
12121
+ ##MS
12122
+ ##MT
12123
+ ##MV
12124
+ ##MY
12125
+ ##NA
12126
+ ##NC
12127
+ ##ND
12128
+ ##NE
12129
+ ##NG
12130
+ ##NI
12131
+ ##NJ
12132
+ ##NK
12133
+ ##NN
12134
+ ##NO
12135
+ ##NP
12136
+ ##NS
12137
+ ##NT
12138
+ ##NU
12139
+ ##NX
12140
+ ##NY
12141
+ ##NZ
12142
+ ##OB
12143
+ ##OC
12144
+ ##OD
12145
+ ##OE
12146
+ ##OF
12147
+ ##OG
12148
+ ##OH
12149
+ ##OI
12150
+ ##OK
12151
+ ##OL
12152
+ ##OM
12153
+ ##ON
12154
+ ##OO
12155
+ ##OP
12156
+ ##OR
12157
+ ##OS
12158
+ ##OT
12159
+ ##OU
12160
+ ##OV
12161
+ ##OW
12162
+ ##OX
12163
+ ##PA
12164
+ ##PC
12165
+ ##PD
12166
+ ##PE
12167
+ ##PF
12168
+ ##PG
12169
+ ##PH
12170
+ ##PI
12171
+ ##PL
12172
+ ##PM
12173
+ ##PO
12174
+ ##PP
12175
+ ##PR
12176
+ ##PS
12177
+ ##PT
12178
+ ##PU
12179
+ ##QU
12180
+ ##Qu
12181
+ ##RA
12182
+ ##RB
12183
+ ##RC
12184
+ ##RD
12185
+ ##RE
12186
+ ##RF
12187
+ ##RG
12188
+ ##RH
12189
+ ##RI
12190
+ ##RK
12191
+ ##RL
12192
+ ##RM
12193
+ ##RN
12194
+ ##RO
12195
+ ##RP
12196
+ ##RR
12197
+ ##RS
12198
+ ##RT
12199
+ ##RU
12200
+ ##RY
12201
+ ##SA
12202
+ ##SB
12203
+ ##SC
12204
+ ##SD
12205
+ ##SE
12206
+ ##SF
12207
+ ##SH
12208
+ ##SI
12209
+ ##SK
12210
+ ##SL
12211
+ ##SM
12212
+ ##SN
12213
+ ##SO
12214
+ ##SP
12215
+ ##SS
12216
+ ##ST
12217
+ ##SU
12218
+ ##SY
12219
+ ##TA
12220
+ ##TC
12221
+ ##TD
12222
+ ##TE
12223
+ ##TH
12224
+ ##TI
12225
+ ##TM
12226
+ ##TO
12227
+ ##TP
12228
+ ##TR
12229
+ ##TS
12230
+ ##TT
12231
+ ##TU
12232
+ ##TV
12233
+ ##TY
12234
+ ##Tu
12235
+ ##UB
12236
+ ##UC
12237
+ ##UD
12238
+ ##UE
12239
+ ##UF
12240
+ ##UG
12241
+ ##UI
12242
+ ##UK
12243
+ ##UL
12244
+ ##UM
12245
+ ##UN
12246
+ ##UP
12247
+ ##UR
12248
+ ##US
12249
+ ##UT
12250
+ ##VA
12251
+ ##VB
12252
+ ##VC
12253
+ ##VD
12254
+ ##VE
12255
+ ##VI
12256
+ ##VO
12257
+ ##VP
12258
+ ##VR
12259
+ ##VT
12260
+ ##WA
12261
+ ##WC
12262
+ ##WE
12263
+ ##WF
12264
+ ##WI
12265
+ ##WL
12266
+ ##WM
12267
+ ##WO
12268
+ ##WS
12269
+ ##XA
12270
+ ##XC
12271
+ ##XE
12272
+ ##XG
12273
+ ##XO
12274
+ ##XP
12275
+ ##XT
12276
+ ##XX
12277
+ ##XY
12278
+ ##YA
12279
+ ##YE
12280
+ ##YL
12281
+ ##YO
12282
+ ##YP
12283
+ ##YS
12284
+ ##YT
12285
+ ##ZA
12286
+ ##ZB
12287
+ ##ZE
12288
+ ##ZI
12289
+ ##ZO
12290
+ ##ZR
12291
+ ##ZU
12292
+ ##ZX
12293
+ ##ZZ
12294
+ ##ab
12295
+ ##ag
12296
+ ##al
12297
+ ##am
12298
+ ##an
12299
+ ##ar
12300
+ ##as
12301
+ ##at
12302
+ ##ax
12303
+ ##ay
12304
+ ##az
12305
+ ##bi
12306
+ ##bj
12307
+ ##bl
12308
+ ##bo
12309
+ ##by
12310
+ ##ce
12311
+ ##ch
12312
+ ##ci
12313
+ ##ck
12314
+ ##cq
12315
+ ##ct
12316
+ ##dj
12317
+ ##ed
12318
+ ##en
12319
+ ##er
12320
+ ##ew
12321
+ ##ex
12322
+ ##ff
12323
+ ##fi
12324
+ ##gh
12325
+ ##gn
12326
+ ##ha
12327
+ ##he
12328
+ ##ho
12329
+ ##hz
12330
+ ##ic
12331
+ ##id
12332
+ ##im
12333
+ ##in
12334
+ ##is
12335
+ ##it
12336
+ ##iv
12337
+ ##ix
12338
+ ##iz
12339
+ ##jj
12340
+ ##jo
12341
+ ##ke
12342
+ ##ky
12343
+ ##kz
12344
+ ##ld
12345
+ ##le
12346
+ ##lf
12347
+ ##ll
12348
+ ##ly
12349
+ ##mb
12350
+ ##mp
12351
+ ##na
12352
+ ##nc
12353
+ ##nd
12354
+ ##ng
12355
+ ##nj
12356
+ ##nk
12357
+ ##nn
12358
+ ##nt
12359
+ ##nz
12360
+ ##ob
12361
+ ##oj
12362
+ ##ok
12363
+ ##ol
12364
+ ##om
12365
+ ##on
12366
+ ##op
12367
+ ##or
12368
+ ##ou
12369
+ ##ow
12370
+ ##ox
12371
+ ##ph
12372
+ ##pp
12373
+ ##pu
12374
+ ##pv
12375
+ ##qf
12376
+ ##ql
12377
+ ##qq
12378
+ ##qu
12379
+ ##re
12380
+ ##rk
12381
+ ##ro
12382
+ ##ry
12383
+ ##sh
12384
+ ##sq
12385
+ ##st
12386
+ ##th
12387
+ ##ty
12388
+ ##ub
12389
+ ##ul
12390
+ ##um
12391
+ ##un
12392
+ ##ur
12393
+ ##us
12394
+ ##uv
12395
+ ##ux
12396
+ ##uz
12397
+ ##ve
12398
+ ##vi
12399
+ ##wn
12400
+ ##ws
12401
+ ##ww
12402
+ ##xp
12403
+ ##xx
12404
+ ##xy
12405
+ ##zh
12406
+ ##zy
12407
+ ##zz
12408
+ ##ACE
12409
+ ##ACH
12410
+ ##ACT
12411
+ ##ADE
12412
+ ##AGE
12413
+ ##AIN
12414
+ ##AME
12415
+ ##AND
12416
+ ##ANG
12417
+ ##ANO
12418
+ ##ANT
12419
+ ##ARD
12420
+ ##ARE
12421
+ ##ASS
12422
+ ##AST
12423
+ ##ATE
12424
+ ##BER
12425
+ ##BLE
12426
+ ##BOX
12427
+ ##BSD
12428
+ ##Bay
12429
+ ##CAD
12430
+ ##CAL
12431
+ ##CAM
12432
+ ##COM
12433
+ ##CSE
12434
+ ##DEO
12435
+ ##DER
12436
+ ##DIA
12437
+ ##DNA
12438
+ ##DSL
12439
+ ##DVD
12440
+ ##EAM
12441
+ ##EAR
12442
+ ##ECT
12443
+ ##EEN
12444
+ ##ENS
12445
+ ##ENT
12446
+ ##ERA
12447
+ ##ERS
12448
+ ##ESE
12449
+ ##ESS
12450
+ ##FTA
12451
+ ##GER
12452
+ ##GHT
12453
+ ##GIS
12454
+ ##IAL
12455
+ ##IBA
12456
+ ##IBU
12457
+ ##ICE
12458
+ ##ICS
12459
+ ##IDE
12460
+ ##INA
12461
+ ##INE
12462
+ ##ING
12463
+ ##INT
12464
+ ##INY
12465
+ ##ION
12466
+ ##IPS
12467
+ ##ITE
12468
+ ##IVE
12469
+ ##KER
12470
+ ##KON
12471
+ ##LAY
12472
+ ##LLA
12473
+ ##LOR
12474
+ ##MAN
12475
+ ##MAS
12476
+ ##MAX
12477
+ ##MES
12478
+ ##NAD
12479
+ ##NAL
12480
+ ##NCE
12481
+ ##NET
12482
+ ##NEY
12483
+ ##NIC
12484
+ ##NNA
12485
+ ##OCK
12486
+ ##ODE
12487
+ ##OME
12488
+ ##ONE
12489
+ ##ORA
12490
+ ##OWS
12491
+ ##Off
12492
+ ##PAC
12493
+ ##PER
12494
+ ##PRS
12495
+ ##RAN
12496
+ ##RIS
12497
+ ##RNA
12498
+ ##ROM
12499
+ ##RON
12500
+ ##ROR
12501
+ ##SCO
12502
+ ##SHI
12503
+ ##SIC
12504
+ ##SOL
12505
+ ##SON
12506
+ ##SQL
12507
+ ##TAL
12508
+ ##TED
12509
+ ##TER
12510
+ ##TML
12511
+ ##TON
12512
+ ##TRA
12513
+ ##UND
12514
+ ##UNG
12515
+ ##UPA
12516
+ ##USB
12517
+ ##USE
12518
+ ##VEL
12519
+ ##VER
12520
+ ##VGA
12521
+ ##VID
12522
+ ##WER
12523
+ ##You
12524
+ ##abl
12525
+ ##aby
12526
+ ##ach
12527
+ ##ack
12528
+ ##act
12529
+ ##ain
12530
+ ##ake
12531
+ ##all
12532
+ ##aly
12533
+ ##anc
12534
+ ##and
12535
+ ##ang
12536
+ ##ank
12537
+ ##app
12538
+ ##ard
12539
+ ##ark
12540
+ ##art
12541
+ ##ary
12542
+ ##ash
12543
+ ##ath
12544
+ ##auv
12545
+ ##ave
12546
+ ##avi
12547
+ ##azi
12548
+ ##azy
12549
+ ##azz
12550
+ ##bVI
12551
+ ##bby
12552
+ ##ber
12553
+ ##bje
12554
+ ##ble
12555
+ ##cGI
12556
+ ##cho
12557
+ ##com
12558
+ ##cqu
12559
+ ##day
12560
+ ##der
12561
+ ##ebo
12562
+ ##ect
12563
+ ##ell
12564
+ ##emb
12565
+ ##enc
12566
+ ##eng
12567
+ ##ent
12568
+ ##erJ
12569
+ ##ern
12570
+ ##erv
12571
+ ##ery
12572
+ ##eve
12573
+ ##ews
12574
+ ##exp
12575
+ ##ext
12576
+ ##ezy
12577
+ ##fer
12578
+ ##ffe
12579
+ ##fic
12580
+ ##for
12581
+ ##gaz
12582
+ ##ger
12583
+ ##ght
12584
+ ##gin
12585
+ ##hen
12586
+ ##her
12587
+ ##hev
12588
+ ##hin
12589
+ ##hon
12590
+ ##hou
12591
+ ##iRF
12592
+ ##ial
12593
+ ##ica
12594
+ ##ice
12595
+ ##ich
12596
+ ##ick
12597
+ ##iff
12598
+ ##igh
12599
+ ##ike
12600
+ ##ill
12601
+ ##ily
12602
+ ##ime
12603
+ ##ine
12604
+ ##ing
12605
+ ##ink
12606
+ ##ion
12607
+ ##iqu
12608
+ ##ish
12609
+ ##ith
12610
+ ##ive
12611
+ ##iza
12612
+ ##ize
12613
+ ##izz
12614
+ ##jin
12615
+ ##ker
12616
+ ##kin
12617
+ ##lDR
12618
+ ##lay
12619
+ ##laz
12620
+ ##lex
12621
+ ##lic
12622
+ ##lin
12623
+ ##liz
12624
+ ##llo
12625
+ ##lly
12626
+ ##man
12627
+ ##maz
12628
+ ##men
12629
+ ##mer
12630
+ ##min
12631
+ ##mpl
12632
+ ##mpo
12633
+ ##nGL
12634
+ ##nRH
12635
+ ##nal
12636
+ ##ner
12637
+ ##ngz
12638
+ ##niz
12639
+ ##now
12640
+ ##nxp
12641
+ ##oCA
12642
+ ##obj
12643
+ ##ock
12644
+ ##oll
12645
+ ##omb
12646
+ ##ome
12647
+ ##omm
12648
+ ##omp
12649
+ ##one
12650
+ ##ong
12651
+ ##ook
12652
+ ##ork
12653
+ ##orm
12654
+ ##ort
12655
+ ##ory
12656
+ ##oul
12657
+ ##oup
12658
+ ##our
12659
+ ##ous
12660
+ ##out
12661
+ ##ove
12662
+ ##own
12663
+ ##ows
12664
+ ##per
12665
+ ##phe
12666
+ ##ply
12667
+ ##por
12668
+ ##ppl
12669
+ ##ppy
12670
+ ##qqu
12671
+ ##qua
12672
+ ##que
12673
+ ##qui
12674
+ ##raz
12675
+ ##rch
12676
+ ##ric
12677
+ ##rou
12678
+ ##son
12679
+ ##tBI
12680
+ ##tch
12681
+ ##ter
12682
+ ##the
12683
+ ##tic
12684
+ ##tim
12685
+ ##tiv
12686
+ ##tur
12687
+ ##uch
12688
+ ##uck
12689
+ ##uct
12690
+ ##uff
12691
+ ##ugh
12692
+ ##umb
12693
+ ##ung
12694
+ ##ure
12695
+ ##urn
12696
+ ##vel
12697
+ ##ven
12698
+ ##ver
12699
+ ##vic
12700
+ ##vid
12701
+ ##vin
12702
+ ##war
12703
+ ##way
12704
+ ##whe
12705
+ ##wor
12706
+ ##www
12707
+ ##xxx
12708
+ ##ymb
12709
+ ##yth
12710
+ ##zhe
12711
+ ##zym
12712
+ ##zzy
12713
+ ##ATIO
12714
+ ##CESS
12715
+ ##CIAT
12716
+ ##CTIO
12717
+ ##CTOR
12718
+ ##ENGI
12719
+ ##ERSI
12720
+ ##HCSD
12721
+ ##INES
12722
+ ##INUE
12723
+ ##IONA
12724
+ ##LOID
12725
+ ##MENT
12726
+ ##NEER
12727
+ ##NOLO
12728
+ ##NTER
12729
+ ##NTSC
12730
+ ##ORMA
12731
+ ##OSHO
12732
+ ##RISE
12733
+ ##RNAT
12734
+ ##RNET
12735
+ ##SATA
12736
+ ##SION
12737
+ ##TION
12738
+ ##TTLE
12739
+ ##VERS
12740
+ ##ally
12741
+ ##arch
12742
+ ##ayer
12743
+ ##azer
12744
+ ##azin
12745
+ ##bert
12746
+ ##book
12747
+ ##chin
12748
+ ##ctor
12749
+ ##ding
12750
+ ##echn
12751
+ ##erPC
12752
+ ##erVR
12753
+ ##eriz
12754
+ ##erve
12755
+ ##ever
12756
+ ##ffer
12757
+ ##ffff
12758
+ ##ffic
12759
+ ##fter
12760
+ ##ghly
12761
+ ##hell
12762
+ ##ical
12763
+ ##iche
12764
+ ##icke
12765
+ ##ific
12766
+ ##ight
12767
+ ##iver
12768
+ ##izon
12769
+ ##izzy
12770
+ ##king
12771
+ ##lack
12772
+ ##land
12773
+ ##llow
12774
+ ##mber
12775
+ ##ngin
12776
+ ##ning
12777
+ ##omic
12778
+ ##onom
12779
+ ##othe
12780
+ ##ouch
12781
+ ##ough
12782
+ ##ound
12783
+ ##ower
12784
+ ##pper
12785
+ ##ppin
12786
+ ##pter
12787
+ ##ster
12788
+ ##ther
12789
+ ##tion
12790
+ ##tive
12791
+ ##tter
12792
+ ##ture
12793
+ ##urch
12794
+ ##vely
12795
+ ##ction
12796
+ ##ctive
12797
+ ##enter
12798
+ ##erica
12799
+ ##ional
12800
+ ##thing
bert/Erlangshen-MegatronBert-1.3B-Chinese/config.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"vocab_size": 21248, "hidden_size": 2048, "num_hidden_layers": 24, "num_attention_heads": 8, "hidden_act": "gelu_new", "intermediate_size": 8192, "hidden_dropout_prob": 0.1, "attention_probs_dropout_prob": 0.1, "max_position_embeddings": 512, "type_vocab_size": 2, "initializer_range": 0.02, "layer_norm_eps": 1e-12, "gradient_checkpointing": false, "position_embedding_type": "absolute", "use_cache": false, "model_type": "megatron-bert"}
bert/Erlangshen-MegatronBert-1.3B-Chinese/vocab.txt ADDED
The diff for this file is too large to render. See raw diff
 
bert/Erlangshen-MegatronBert-3.9B-Chinese/config.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "MegatronBertForMaskedLM"
4
+ ],
5
+ "vocab_size": 21248,
6
+ "hidden_size": 2560,
7
+ "num_hidden_layers": 48,
8
+ "num_attention_heads": 40,
9
+ "hidden_act": "gelu",
10
+ "intermediate_size": 10240,
11
+ "hidden_dropout_prob": 0.1,
12
+ "attention_probs_dropout_prob": 0.1,
13
+ "max_position_embeddings": 512,
14
+ "type_vocab_size": 2,
15
+ "initializer_range": 0.02,
16
+ "layer_norm_eps": 1e-12,
17
+ "gradient_checkpointing": false,
18
+ "position_embedding_type": "absolute",
19
+ "use_cache": false,
20
+ "model_type": "megatron-bert"
21
+ }
bert/Erlangshen-MegatronBert-3.9B-Chinese/special_tokens_map.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": "[CLS]",
3
+ "mask_token": "[MASK]",
4
+ "pad_token": "[PAD]",
5
+ "sep_token": "[SEP]",
6
+ "unk_token": "[UNK]"
7
+ }
bert/Erlangshen-MegatronBert-3.9B-Chinese/tokenizer_config.json ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+
3
+ "cls_token": "[CLS]",
4
+ "do_basic_tokenize": true,
5
+ "do_lower_case": true,
6
+ "mask_token": "[MASK]",
7
+ "name_or_path": "/cognitive_comp/gaoxinyu/hf_hub/Erlangshen-MegatronBert-3.9B",
8
+ "never_split": null,
9
+ "pad_token": "[PAD]",
10
+ "sep_token": "[SEP]",
11
+ "special_tokens_map_file": null,
12
+ "strip_accents": null,
13
+ "tokenize_chinese_chars": true,
14
+ "tokenizer_class": "BertTokenizer",
15
+ "unk_token": "[UNK]"
16
+ }
bert/Erlangshen-MegatronBert-3.9B-Chinese/vocab.txt ADDED
The diff for this file is too large to render. See raw diff
 
bert/bert-base-japanese-v3/.gitattributes ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tflite filter=lfs diff=lfs merge=lfs -text
29
+ *.tgz filter=lfs diff=lfs merge=lfs -text
30
+ *.wasm filter=lfs diff=lfs merge=lfs -text
31
+ *.xz filter=lfs diff=lfs merge=lfs -text
32
+ *.zip filter=lfs diff=lfs merge=lfs -text
33
+ *.zst filter=lfs diff=lfs merge=lfs -text
34
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
bert/bert-base-japanese-v3/README.md ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ datasets:
4
+ - cc100
5
+ - wikipedia
6
+ language:
7
+ - ja
8
+ widget:
9
+ - text: 東北大学で[MASK]の研究をしています。
10
+ ---
11
+
12
+ # BERT base Japanese (unidic-lite with whole word masking, CC-100 and jawiki-20230102)
13
+
14
+ This is a [BERT](https://github.com/google-research/bert) model pretrained on texts in the Japanese language.
15
+
16
+ This version of the model processes input texts with word-level tokenization based on the Unidic 2.1.2 dictionary (available in [unidic-lite](https://pypi.org/project/unidic-lite/) package), followed by the WordPiece subword tokenization.
17
+ Additionally, the model is trained with the whole word masking enabled for the masked language modeling (MLM) objective.
18
+
19
+ The codes for the pretraining are available at [cl-tohoku/bert-japanese](https://github.com/cl-tohoku/bert-japanese/).
20
+
21
+ ## Model architecture
22
+
23
+ The model architecture is the same as the original BERT base model; 12 layers, 768 dimensions of hidden states, and 12 attention heads.
24
+
25
+ ## Training Data
26
+
27
+ The model is trained on the Japanese portion of [CC-100 dataset](https://data.statmt.org/cc-100/) and the Japanese version of Wikipedia.
28
+ For Wikipedia, we generated a text corpus from the [Wikipedia Cirrussearch dump file](https://dumps.wikimedia.org/other/cirrussearch/) as of January 2, 2023.
29
+ The corpus files generated from CC-100 and Wikipedia are 74.3GB and 4.9GB in size and consist of approximately 392M and 34M sentences, respectively.
30
+
31
+ For the purpose of splitting texts into sentences, we used [fugashi](https://github.com/polm/fugashi) with [mecab-ipadic-NEologd](https://github.com/neologd/mecab-ipadic-neologd) dictionary (v0.0.7).
32
+
33
+ ## Tokenization
34
+
35
+ The texts are first tokenized by MeCab with the Unidic 2.1.2 dictionary and then split into subwords by the WordPiece algorithm.
36
+ The vocabulary size is 32768.
37
+
38
+ We used [fugashi](https://github.com/polm/fugashi) and [unidic-lite](https://github.com/polm/unidic-lite) packages for the tokenization.
39
+
40
+ ## Training
41
+
42
+ We trained the model first on the CC-100 corpus for 1M steps and then on the Wikipedia corpus for another 1M steps.
43
+ For training of the MLM (masked language modeling) objective, we introduced whole word masking in which all of the subword tokens corresponding to a single word (tokenized by MeCab) are masked at once.
44
+
45
+ For training of each model, we used a v3-8 instance of Cloud TPUs provided by [TPU Research Cloud](https://sites.research.google/trc/about/).
46
+
47
+ ## Licenses
48
+
49
+ The pretrained models are distributed under the Apache License 2.0.
50
+
51
+ ## Acknowledgments
52
+
53
+ This model is trained with Cloud TPUs provided by [TPU Research Cloud](https://sites.research.google/trc/about/) program.
bert/bert-base-japanese-v3/config.json ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "BertForPreTraining"
4
+ ],
5
+ "attention_probs_dropout_prob": 0.1,
6
+ "hidden_act": "gelu",
7
+ "hidden_dropout_prob": 0.1,
8
+ "hidden_size": 768,
9
+ "initializer_range": 0.02,
10
+ "intermediate_size": 3072,
11
+ "layer_norm_eps": 1e-12,
12
+ "max_position_embeddings": 512,
13
+ "model_type": "bert",
14
+ "num_attention_heads": 12,
15
+ "num_hidden_layers": 12,
16
+ "pad_token_id": 0,
17
+ "type_vocab_size": 2,
18
+ "vocab_size": 32768
19
+ }
bert/bert-base-japanese-v3/tokenizer_config.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "tokenizer_class": "BertJapaneseTokenizer",
3
+ "model_max_length": 512,
4
+ "do_lower_case": false,
5
+ "word_tokenizer_type": "mecab",
6
+ "subword_tokenizer_type": "wordpiece",
7
+ "mecab_kwargs": {
8
+ "mecab_dic": "unidic_lite"
9
+ }
10
+ }
bert/bert-base-japanese-v3/vocab.txt ADDED
The diff for this file is too large to render. See raw diff
 
bert/bert-large-japanese-v2/.gitattributes ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tflite filter=lfs diff=lfs merge=lfs -text
29
+ *.tgz filter=lfs diff=lfs merge=lfs -text
30
+ *.wasm filter=lfs diff=lfs merge=lfs -text
31
+ *.xz filter=lfs diff=lfs merge=lfs -text
32
+ *.zip filter=lfs diff=lfs merge=lfs -text
33
+ *.zst filter=lfs diff=lfs merge=lfs -text
34
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
bert/bert-large-japanese-v2/README.md ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ datasets:
4
+ - cc100
5
+ - wikipedia
6
+ language:
7
+ - ja
8
+ widget:
9
+ - text: 東北大学で[MASK]の研究をしています。
10
+ ---
11
+
12
+ # BERT large Japanese (unidic-lite with whole word masking, CC-100 and jawiki-20230102)
13
+
14
+ This is a [BERT](https://github.com/google-research/bert) model pretrained on texts in the Japanese language.
15
+
16
+ This version of the model processes input texts with word-level tokenization based on the Unidic 2.1.2 dictionary (available in [unidic-lite](https://pypi.org/project/unidic-lite/) package), followed by the WordPiece subword tokenization.
17
+ Additionally, the model is trained with the whole word masking enabled for the masked language modeling (MLM) objective.
18
+
19
+ The codes for the pretraining are available at [cl-tohoku/bert-japanese](https://github.com/cl-tohoku/bert-japanese/).
20
+
21
+ ## Model architecture
22
+
23
+ The model architecture is the same as the original BERT large model; 24 layers, 1024 dimensions of hidden states, and 16 attention heads.
24
+
25
+ ## Training Data
26
+
27
+ The model is trained on the Japanese portion of [CC-100 dataset](https://data.statmt.org/cc-100/) and the Japanese version of Wikipedia.
28
+ For Wikipedia, we generated a text corpus from the [Wikipedia Cirrussearch dump file](https://dumps.wikimedia.org/other/cirrussearch/) as of January 2, 2023.
29
+ The corpus files generated from CC-100 and Wikipedia are 74.3GB and 4.9GB in size and consist of approximately 392M and 34M sentences, respectively.
30
+
31
+ For the purpose of splitting texts into sentences, we used [fugashi](https://github.com/polm/fugashi) with [mecab-ipadic-NEologd](https://github.com/neologd/mecab-ipadic-neologd) dictionary (v0.0.7).
32
+
33
+ ## Tokenization
34
+
35
+ The texts are first tokenized by MeCab with the Unidic 2.1.2 dictionary and then split into subwords by the WordPiece algorithm.
36
+ The vocabulary size is 32768.
37
+
38
+ We used [fugashi](https://github.com/polm/fugashi) and [unidic-lite](https://github.com/polm/unidic-lite) packages for the tokenization.
39
+
40
+ ## Training
41
+
42
+ We trained the model first on the CC-100 corpus for 1M steps and then on the Wikipedia corpus for another 1M steps.
43
+ For training of the MLM (masked language modeling) objective, we introduced whole word masking in which all of the subword tokens corresponding to a single word (tokenized by MeCab) are masked at once.
44
+
45
+ For training of each model, we used a v3-8 instance of Cloud TPUs provided by [TPU Research Cloud](https://sites.research.google/trc/about/).
46
+
47
+ ## Licenses
48
+
49
+ The pretrained models are distributed under the Apache License 2.0.
50
+
51
+ ## Acknowledgments
52
+
53
+ This model is trained with Cloud TPUs provided by [TPU Research Cloud](https://sites.research.google/trc/about/) program.
bert/bert-large-japanese-v2/config.json ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "BertForPreTraining"
4
+ ],
5
+ "attention_probs_dropout_prob": 0.1,
6
+ "hidden_act": "gelu",
7
+ "hidden_dropout_prob": 0.1,
8
+ "hidden_size": 1024,
9
+ "initializer_range": 0.02,
10
+ "intermediate_size": 4096,
11
+ "layer_norm_eps": 1e-12,
12
+ "max_position_embeddings": 512,
13
+ "model_type": "bert",
14
+ "num_attention_heads": 16,
15
+ "num_hidden_layers": 24,
16
+ "pad_token_id": 0,
17
+ "type_vocab_size": 2,
18
+ "vocab_size": 32768
19
+ }
bert/bert-large-japanese-v2/tokenizer_config.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "tokenizer_class": "BertJapaneseTokenizer",
3
+ "model_max_length": 512,
4
+ "do_lower_case": false,
5
+ "word_tokenizer_type": "mecab",
6
+ "subword_tokenizer_type": "wordpiece",
7
+ "mecab_kwargs": {
8
+ "mecab_dic": "unidic_lite"
9
+ }
10
+ }
bert/bert-large-japanese-v2/vocab.txt ADDED
The diff for this file is too large to render. See raw diff
 
bert/bert_models.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "deberta-v2-large-japanese-char-wwm": {
3
+ "repo_id": "ku-nlp/deberta-v2-large-japanese-char-wwm",
4
+ "files": ["pytorch_model.bin"]
5
+ },
6
+ "chinese-roberta-wwm-ext-large": {
7
+ "repo_id": "hfl/chinese-roberta-wwm-ext-large",
8
+ "files": ["pytorch_model.bin"]
9
+ },
10
+ "deberta-v3-large": {
11
+ "repo_id": "microsoft/deberta-v3-large",
12
+ "files": ["spm.model", "pytorch_model.bin"]
13
+ }
14
+ }
bert/chinese-roberta-wwm-ext-large/.gitattributes ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ *.bin.* filter=lfs diff=lfs merge=lfs -text
2
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.h5 filter=lfs diff=lfs merge=lfs -text
5
+ *.tflite filter=lfs diff=lfs merge=lfs -text
6
+ *.tar.gz filter=lfs diff=lfs merge=lfs -text
7
+ *.ot filter=lfs diff=lfs merge=lfs -text
8
+ *.onnx filter=lfs diff=lfs merge=lfs -text
9
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
bert/chinese-roberta-wwm-ext-large/README.md ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - zh
4
+ tags:
5
+ - bert
6
+ license: "apache-2.0"
7
+ ---
8
+
9
+ # Please use 'Bert' related functions to load this model!
10
+
11
+ ## Chinese BERT with Whole Word Masking
12
+ For further accelerating Chinese natural language processing, we provide **Chinese pre-trained BERT with Whole Word Masking**.
13
+
14
+ **[Pre-Training with Whole Word Masking for Chinese BERT](https://arxiv.org/abs/1906.08101)**
15
+ Yiming Cui, Wanxiang Che, Ting Liu, Bing Qin, Ziqing Yang, Shijin Wang, Guoping Hu
16
+
17
+ This repository is developed based on:https://github.com/google-research/bert
18
+
19
+ You may also interested in,
20
+ - Chinese BERT series: https://github.com/ymcui/Chinese-BERT-wwm
21
+ - Chinese MacBERT: https://github.com/ymcui/MacBERT
22
+ - Chinese ELECTRA: https://github.com/ymcui/Chinese-ELECTRA
23
+ - Chinese XLNet: https://github.com/ymcui/Chinese-XLNet
24
+ - Knowledge Distillation Toolkit - TextBrewer: https://github.com/airaria/TextBrewer
25
+
26
+ More resources by HFL: https://github.com/ymcui/HFL-Anthology
27
+
28
+ ## Citation
29
+ If you find the technical report or resource is useful, please cite the following technical report in your paper.
30
+ - Primary: https://arxiv.org/abs/2004.13922
31
+ ```
32
+ @inproceedings{cui-etal-2020-revisiting,
33
+ title = "Revisiting Pre-Trained Models for {C}hinese Natural Language Processing",
34
+ author = "Cui, Yiming and
35
+ Che, Wanxiang and
36
+ Liu, Ting and
37
+ Qin, Bing and
38
+ Wang, Shijin and
39
+ Hu, Guoping",
40
+ booktitle = "Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: Findings",
41
+ month = nov,
42
+ year = "2020",
43
+ address = "Online",
44
+ publisher = "Association for Computational Linguistics",
45
+ url = "https://www.aclweb.org/anthology/2020.findings-emnlp.58",
46
+ pages = "657--668",
47
+ }
48
+ ```
49
+ - Secondary: https://arxiv.org/abs/1906.08101
50
+ ```
51
+ @article{chinese-bert-wwm,
52
+ title={Pre-Training with Whole Word Masking for Chinese BERT},
53
+ author={Cui, Yiming and Che, Wanxiang and Liu, Ting and Qin, Bing and Yang, Ziqing and Wang, Shijin and Hu, Guoping},
54
+ journal={arXiv preprint arXiv:1906.08101},
55
+ year={2019}
56
+ }
57
+ ```
bert/chinese-roberta-wwm-ext-large/added_tokens.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {}
bert/chinese-roberta-wwm-ext-large/config.json ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "BertForMaskedLM"
4
+ ],
5
+ "attention_probs_dropout_prob": 0.1,
6
+ "bos_token_id": 0,
7
+ "directionality": "bidi",
8
+ "eos_token_id": 2,
9
+ "hidden_act": "gelu",
10
+ "hidden_dropout_prob": 0.1,
11
+ "hidden_size": 1024,
12
+ "initializer_range": 0.02,
13
+ "intermediate_size": 4096,
14
+ "layer_norm_eps": 1e-12,
15
+ "max_position_embeddings": 512,
16
+ "model_type": "bert",
17
+ "num_attention_heads": 16,
18
+ "num_hidden_layers": 24,
19
+ "output_past": true,
20
+ "pad_token_id": 0,
21
+ "pooler_fc_size": 768,
22
+ "pooler_num_attention_heads": 12,
23
+ "pooler_num_fc_layers": 3,
24
+ "pooler_size_per_head": 128,
25
+ "pooler_type": "first_token_transform",
26
+ "type_vocab_size": 2,
27
+ "vocab_size": 21128
28
+ }
bert/chinese-roberta-wwm-ext-large/special_tokens_map.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"unk_token": "[UNK]", "sep_token": "[SEP]", "pad_token": "[PAD]", "cls_token": "[CLS]", "mask_token": "[MASK]"}
bert/chinese-roberta-wwm-ext-large/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
bert/chinese-roberta-wwm-ext-large/tokenizer_config.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"init_inputs": []}
bert/chinese-roberta-wwm-ext-large/vocab.txt ADDED
The diff for this file is too large to render. See raw diff
 
bert/deberta-v2-large-japanese-char-wwm/.gitattributes ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tflite filter=lfs diff=lfs merge=lfs -text
29
+ *.tgz filter=lfs diff=lfs merge=lfs -text
30
+ *.wasm filter=lfs diff=lfs merge=lfs -text
31
+ *.xz filter=lfs diff=lfs merge=lfs -text
32
+ *.zip filter=lfs diff=lfs merge=lfs -text
33
+ *.zst filter=lfs diff=lfs merge=lfs -text
34
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
bert/deberta-v2-large-japanese-char-wwm/README.md ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language: ja
3
+ license: cc-by-sa-4.0
4
+ library_name: transformers
5
+ tags:
6
+ - deberta
7
+ - deberta-v2
8
+ - fill-mask
9
+ - character
10
+ - wwm
11
+ datasets:
12
+ - wikipedia
13
+ - cc100
14
+ - oscar
15
+ metrics:
16
+ - accuracy
17
+ mask_token: "[MASK]"
18
+ widget:
19
+ - text: "京都大学で自然言語処理を[MASK][MASK]する。"
20
+ ---
21
+
22
+ # Model Card for Japanese character-level DeBERTa V2 large
23
+
24
+ ## Model description
25
+
26
+ This is a Japanese DeBERTa V2 large model pre-trained on Japanese Wikipedia, the Japanese portion of CC-100, and the Japanese portion of OSCAR.
27
+ This model is trained with character-level tokenization and whole word masking.
28
+
29
+ ## How to use
30
+
31
+ You can use this model for masked language modeling as follows:
32
+
33
+ ```python
34
+ from transformers import AutoTokenizer, AutoModelForMaskedLM
35
+ tokenizer = AutoTokenizer.from_pretrained('ku-nlp/deberta-v2-large-japanese-char-wwm')
36
+ model = AutoModelForMaskedLM.from_pretrained('ku-nlp/deberta-v2-large-japanese-char-wwm')
37
+
38
+ sentence = '京都大学で自然言語処理を[MASK][MASK]する。'
39
+ encoding = tokenizer(sentence, return_tensors='pt')
40
+ ...
41
+ ```
42
+
43
+ You can also fine-tune this model on downstream tasks.
44
+
45
+ ## Tokenization
46
+
47
+ There is no need to tokenize texts in advance, and you can give raw texts to the tokenizer.
48
+ The texts are tokenized into character-level tokens by [sentencepiece](https://github.com/google/sentencepiece).
49
+
50
+ ## Training data
51
+
52
+ We used the following corpora for pre-training:
53
+
54
+ - Japanese Wikipedia (as of 20221020, 3.2GB, 27M sentences, 1.3M documents)
55
+ - Japanese portion of CC-100 (85GB, 619M sentences, 66M documents)
56
+ - Japanese portion of OSCAR (54GB, 326M sentences, 25M documents)
57
+
58
+ Note that we filtered out documents annotated with "header", "footer", or "noisy" tags in OSCAR.
59
+ Also note that Japanese Wikipedia was duplicated 10 times to make the total size of the corpus comparable to that of CC-100 and OSCAR. As a result, the total size of the training data is 171GB.
60
+
61
+ ## Training procedure
62
+
63
+ We first segmented texts in the corpora into words using [Juman++ 2.0.0-rc3](https://github.com/ku-nlp/jumanpp/releases/tag/v2.0.0-rc3) for whole word masking.
64
+ Then, we built a sentencepiece model with 22,012 tokens including all characters that appear in the training corpus.
65
+
66
+ We tokenized raw corpora into character-level subwords using the sentencepiece model and trained the Japanese DeBERTa model using [transformers](https://github.com/huggingface/transformers) library.
67
+ The training took 26 days using 16 NVIDIA A100-SXM4-40GB GPUs.
68
+
69
+ The following hyperparameters were used during pre-training:
70
+
71
+ - learning_rate: 1e-4
72
+ - per_device_train_batch_size: 26
73
+ - distributed_type: multi-GPU
74
+ - num_devices: 16
75
+ - gradient_accumulation_steps: 8
76
+ - total_train_batch_size: 3,328
77
+ - max_seq_length: 512
78
+ - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-06
79
+ - lr_scheduler_type: linear schedule with warmup (lr = 0 at 300k steps)
80
+ - training_steps: 260,000
81
+ - warmup_steps: 10,000
82
+
83
+ The accuracy of the trained model on the masked language modeling task was 0.795.
84
+ The evaluation set consists of 5,000 randomly sampled documents from each of the training corpora.
85
+
86
+ ## Acknowledgments
87
+
88
+ This work was supported by Joint Usage/Research Center for Interdisciplinary Large-scale Information Infrastructures (JHPCN) through General Collaboration Project no. jh221004, "Developing a Platform for Constructing and Sharing of Large-Scale Japanese Language Models".
89
+ For training models, we used the mdx: a platform for the data-driven future.
bert/deberta-v2-large-japanese-char-wwm/config.json ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "DebertaV2ForMaskedLM"
4
+ ],
5
+ "attention_head_size": 64,
6
+ "attention_probs_dropout_prob": 0.1,
7
+ "conv_act": "gelu",
8
+ "conv_kernel_size": 3,
9
+ "hidden_act": "gelu",
10
+ "hidden_dropout_prob": 0.1,
11
+ "hidden_size": 1024,
12
+ "initializer_range": 0.02,
13
+ "intermediate_size": 4096,
14
+ "layer_norm_eps": 1e-07,
15
+ "max_position_embeddings": 512,
16
+ "max_relative_positions": -1,
17
+ "model_type": "deberta-v2",
18
+ "norm_rel_ebd": "layer_norm",
19
+ "num_attention_heads": 16,
20
+ "num_hidden_layers": 24,
21
+ "pad_token_id": 0,
22
+ "pooler_dropout": 0,
23
+ "pooler_hidden_act": "gelu",
24
+ "pooler_hidden_size": 1024,
25
+ "pos_att_type": [
26
+ "p2c",
27
+ "c2p"
28
+ ],
29
+ "position_biased_input": false,
30
+ "position_buckets": 256,
31
+ "relative_attention": true,
32
+ "share_att_key": true,
33
+ "torch_dtype": "float16",
34
+ "transformers_version": "4.25.1",
35
+ "type_vocab_size": 0,
36
+ "vocab_size": 22012
37
+ }
bert/deberta-v2-large-japanese-char-wwm/special_tokens_map.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": "[CLS]",
3
+ "mask_token": "[MASK]",
4
+ "pad_token": "[PAD]",
5
+ "sep_token": "[SEP]",
6
+ "unk_token": "[UNK]"
7
+ }
bert/deberta-v2-large-japanese-char-wwm/tokenizer_config.json ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": "[CLS]",
3
+ "do_lower_case": false,
4
+ "do_subword_tokenize": true,
5
+ "do_word_tokenize": true,
6
+ "jumanpp_kwargs": null,
7
+ "mask_token": "[MASK]",
8
+ "mecab_kwargs": null,
9
+ "model_max_length": 1000000000000000019884624838656,
10
+ "never_split": null,
11
+ "pad_token": "[PAD]",
12
+ "sep_token": "[SEP]",
13
+ "special_tokens_map_file": null,
14
+ "subword_tokenizer_type": "character",
15
+ "sudachi_kwargs": null,
16
+ "tokenizer_class": "BertJapaneseTokenizer",
17
+ "unk_token": "[UNK]",
18
+ "word_tokenizer_type": "basic"
19
+ }
bert/deberta-v2-large-japanese-char-wwm/vocab.txt ADDED
The diff for this file is too large to render. See raw diff
 
bert/deberta-v2-large-japanese/.gitattributes ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tflite filter=lfs diff=lfs merge=lfs -text
29
+ *.tgz filter=lfs diff=lfs merge=lfs -text
30
+ *.wasm filter=lfs diff=lfs merge=lfs -text
31
+ *.xz filter=lfs diff=lfs merge=lfs -text
32
+ *.zip filter=lfs diff=lfs merge=lfs -text
33
+ *.zst filter=lfs diff=lfs merge=lfs -text
34
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
bert/deberta-v2-large-japanese/README.md ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language: ja
3
+ license: cc-by-sa-4.0
4
+ library_name: transformers
5
+ tags:
6
+ - deberta
7
+ - deberta-v2
8
+ - fill-mask
9
+ datasets:
10
+ - wikipedia
11
+ - cc100
12
+ - oscar
13
+ metrics:
14
+ - accuracy
15
+ mask_token: "[MASK]"
16
+ widget:
17
+ - text: "京都 大学 で 自然 言語 処理 を [MASK] する 。"
18
+ ---
19
+
20
+ # Model Card for Japanese DeBERTa V2 large
21
+
22
+ ## Model description
23
+
24
+ This is a Japanese DeBERTa V2 large model pre-trained on Japanese Wikipedia, the Japanese portion of CC-100, and the
25
+ Japanese portion of OSCAR.
26
+
27
+ ## How to use
28
+
29
+ You can use this model for masked language modeling as follows:
30
+
31
+ ```python
32
+ from transformers import AutoTokenizer, AutoModelForMaskedLM
33
+
34
+ tokenizer = AutoTokenizer.from_pretrained('ku-nlp/deberta-v2-large-japanese')
35
+ model = AutoModelForMaskedLM.from_pretrained('ku-nlp/deberta-v2-large-japanese')
36
+
37
+ sentence = '京都 大学 で 自然 言語 処理 を [MASK] する 。' # input should be segmented into words by Juman++ in advance
38
+ encoding = tokenizer(sentence, return_tensors='pt')
39
+ ...
40
+ ```
41
+
42
+ You can also fine-tune this model on downstream tasks.
43
+
44
+ ## Tokenization
45
+
46
+ The input text should be segmented into words by [Juman++](https://github.com/ku-nlp/jumanpp) in
47
+ advance. [Juman++ 2.0.0-rc3](https://github.com/ku-nlp/jumanpp/releases/tag/v2.0.0-rc3) was used for pre-training. Each
48
+ word is tokenized into subwords by [sentencepiece](https://github.com/google/sentencepiece).
49
+
50
+ ## Training data
51
+
52
+ We used the following corpora for pre-training:
53
+
54
+ - Japanese Wikipedia (as of 20221020, 3.2GB, 27M sentences, 1.3M documents)
55
+ - Japanese portion of CC-100 (85GB, 619M sentences, 66M documents)
56
+ - Japanese portion of OSCAR (54GB, 326M sentences, 25M documents)
57
+
58
+ Note that we filtered out documents annotated with "header", "footer", or "noisy" tags in OSCAR.
59
+ Also note that Japanese Wikipedia was duplicated 10 times to make the total size of the corpus comparable to that of
60
+ CC-100 and OSCAR. As a result, the total size of the training data is 171GB.
61
+
62
+ ## Training procedure
63
+
64
+ We first segmented texts in the corpora into words using [Juman++](https://github.com/ku-nlp/jumanpp).
65
+ Then, we built a sentencepiece model with 32000 tokens including words ([JumanDIC](https://github.com/ku-nlp/JumanDIC))
66
+ and subwords induced by the unigram language model of [sentencepiece](https://github.com/google/sentencepiece).
67
+
68
+ We tokenized the segmented corpora into subwords using the sentencepiece model and trained the Japanese DeBERTa model
69
+ using [transformers](https://github.com/huggingface/transformers) library.
70
+ The training took 36 days using 8 NVIDIA A100-SXM4-40GB GPUs.
71
+
72
+ The following hyperparameters were used during pre-training:
73
+
74
+ - learning_rate: 1e-4
75
+ - per_device_train_batch_size: 18
76
+ - distributed_type: multi-GPU
77
+ - num_devices: 8
78
+ - gradient_accumulation_steps: 16
79
+ - total_train_batch_size: 2,304
80
+ - max_seq_length: 512
81
+ - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-06
82
+ - lr_scheduler_type: linear schedule with warmup
83
+ - training_steps: 300,000
84
+ - warmup_steps: 10,000
85
+
86
+ The accuracy of the trained model on the masked language modeling task was 0.799.
87
+ The evaluation set consists of 5,000 randomly sampled documents from each of the training corpora.
88
+
89
+ ## Fine-tuning on NLU tasks
90
+
91
+ We fine-tuned the following models and evaluated them on the dev set of JGLUE.
92
+ We tuned learning rate and training epochs for each model and task
93
+ following [the JGLUE paper](https://www.jstage.jst.go.jp/article/jnlp/30/1/30_63/_pdf/-char/ja).
94
+
95
+ | Model | MARC-ja/acc | JSTS/pearson | JSTS/spearman | JNLI/acc | JSQuAD/EM | JSQuAD/F1 | JComQA/acc |
96
+ |-------------------------------|-------------|--------------|---------------|----------|-----------|-----------|------------|
97
+ | Waseda RoBERTa base | 0.965 | 0.913 | 0.876 | 0.905 | 0.853 | 0.916 | 0.853 |
98
+ | Waseda RoBERTa large (seq512) | 0.969 | 0.925 | 0.890 | 0.928 | 0.910 | 0.955 | 0.900 |
99
+ | LUKE Japanese base* | 0.965 | 0.916 | 0.877 | 0.912 | - | - | 0.842 |
100
+ | LUKE Japanese large* | 0.965 | 0.932 | 0.902 | 0.927 | - | - | 0.893 |
101
+ | DeBERTaV2 base | 0.970 | 0.922 | 0.886 | 0.922 | 0.899 | 0.951 | 0.873 |
102
+ | DeBERTaV2 large | 0.968 | 0.925 | 0.892 | 0.924 | 0.912 | 0.959 | 0.890 |
103
+
104
+ *The scores of LUKE are from [the official repository](https://github.com/studio-ousia/luke).
105
+
106
+ ## Acknowledgments
107
+
108
+ This work was supported by Joint Usage/Research Center for Interdisciplinary Large-scale Information Infrastructures (
109
+ JHPCN) through General Collaboration Project no. jh221004, "Developing a Platform for Constructing and Sharing of
110
+ Large-Scale Japanese Language Models".
111
+ For training models, we used the mdx: a platform for the data-driven future.
bert/deberta-v2-large-japanese/config.json ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "configs/deberta_v2_large.json",
3
+ "architectures": [
4
+ "DebertaV2ForMaskedLM"
5
+ ],
6
+ "attention_head_size": 64,
7
+ "attention_probs_dropout_prob": 0.1,
8
+ "conv_act": "gelu",
9
+ "conv_kernel_size": 3,
10
+ "hidden_act": "gelu",
11
+ "hidden_dropout_prob": 0.1,
12
+ "hidden_size": 1024,
13
+ "initializer_range": 0.02,
14
+ "intermediate_size": 4096,
15
+ "layer_norm_eps": 1e-07,
16
+ "max_position_embeddings": 512,
17
+ "max_relative_positions": -1,
18
+ "model_type": "deberta-v2",
19
+ "norm_rel_ebd": "layer_norm",
20
+ "num_attention_heads": 16,
21
+ "num_hidden_layers": 24,
22
+ "pad_token_id": 0,
23
+ "pooler_dropout": 0,
24
+ "pooler_hidden_act": "gelu",
25
+ "pooler_hidden_size": 1024,
26
+ "pos_att_type": [
27
+ "p2c",
28
+ "c2p"
29
+ ],
30
+ "position_biased_input": false,
31
+ "position_buckets": 256,
32
+ "relative_attention": true,
33
+ "share_att_key": true,
34
+ "torch_dtype": "float32",
35
+ "transformers_version": "4.23.1",
36
+ "type_vocab_size": 0,
37
+ "vocab_size": 32000
38
+ }
bert/deberta-v2-large-japanese/special_tokens_map.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": "[CLS]",
3
+ "cls_token": "[CLS]",
4
+ "eos_token": "[SEP]",
5
+ "mask_token": "[MASK]",
6
+ "pad_token": "[PAD]",
7
+ "sep_token": "[SEP]",
8
+ "unk_token": "[UNK]"
9
+ }
bert/deberta-v2-large-japanese/tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
bert/deberta-v2-large-japanese/tokenizer_config.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": "[CLS]",
3
+ "cls_token": "[CLS]",
4
+ "do_lower_case": false,
5
+ "eos_token": "[SEP]",
6
+ "keep_accents": true,
7
+ "mask_token": "[MASK]",
8
+ "pad_token": "[PAD]",
9
+ "sep_token": "[SEP]",
10
+ "sp_model_kwargs": {},
11
+ "special_tokens_map_file": null,
12
+ "split_by_punct": false,
13
+ "tokenizer_class": "DebertaV2Tokenizer",
14
+ "unk_token": "[UNK]"
15
+ }