Feature Extraction
Transformers
Safetensors
medical
radiology
vision-language
chest-ct
3d-medical-imaging
glint
custom_code
Instructions to use Deepnoid/GLINT-CT with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Deepnoid/GLINT-CT with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="Deepnoid/GLINT-CT", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("Deepnoid/GLINT-CT", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Commit ·
c5a246d
0
Parent(s):
Release GLINT-CT
Browse files- .gitattributes +35 -0
- LICENSE +407 -0
- LICENSES/Apache-2.0.txt +202 -0
- LICENSES/MIT.txt +21 -0
- README.md +135 -0
- align_layers.py +83 -0
- common_layers.py +22 -0
- config.json +408 -0
- configuration_glint.py +154 -0
- data/README.md +16 -0
- data/splits/ct_rate/pretrain_exclusions.txt +53 -0
- data/splits/ct_rate/test.txt +3002 -0
- data/splits/ct_rate/train.txt +0 -0
- data/splits/ct_rate/val.txt +2994 -0
- data/splits/lidc_idri/test.txt +157 -0
- data/splits/lidc_idri/train.txt +0 -0
- data/splits/lidc_idri/val.txt +148 -0
- data/splits/msd_lung/test.txt +13 -0
- data/splits/msd_lung/train.txt +44 -0
- data/splits/msd_lung/val.txt +6 -0
- data/splits/nsclc_radiomics/test.txt +84 -0
- data/splits/nsclc_radiomics/train.txt +294 -0
- data/splits/nsclc_radiomics/val.txt +42 -0
- data/splits/rsna_pe/test.txt +1060 -0
- data/splits/rsna_pe/train.txt +0 -0
- data/splits/rsna_pe/val.txt +1062 -0
- dfr.py +199 -0
- inference.py +83 -0
- losses.py +607 -0
- model.safetensors +3 -0
- modeling_glint.py +386 -0
- text_encoders.py +10 -0
- tokenizer.json +0 -0
- tokenizer_config.json +72 -0
- utils.py +185 -0
- vision_encoders.py +31 -0
- vjepa21_encoder.py +1106 -0
- vocab.txt +0 -0
.gitattributes
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
LICENSE
ADDED
|
@@ -0,0 +1,407 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Attribution-NonCommercial 4.0 International
|
| 2 |
+
|
| 3 |
+
=======================================================================
|
| 4 |
+
|
| 5 |
+
Creative Commons Corporation ("Creative Commons") is not a law firm and
|
| 6 |
+
does not provide legal services or legal advice. Distribution of
|
| 7 |
+
Creative Commons public licenses does not create a lawyer-client or
|
| 8 |
+
other relationship. Creative Commons makes its licenses and related
|
| 9 |
+
information available on an "as-is" basis. Creative Commons gives no
|
| 10 |
+
warranties regarding its licenses, any material licensed under their
|
| 11 |
+
terms and conditions, or any related information. Creative Commons
|
| 12 |
+
disclaims all liability for damages resulting from their use to the
|
| 13 |
+
fullest extent possible.
|
| 14 |
+
|
| 15 |
+
Using Creative Commons Public Licenses
|
| 16 |
+
|
| 17 |
+
Creative Commons public licenses provide a standard set of terms and
|
| 18 |
+
conditions that creators and other rights holders may use to share
|
| 19 |
+
original works of authorship and other material subject to copyright
|
| 20 |
+
and certain other rights specified in the public license below. The
|
| 21 |
+
following considerations are for informational purposes only, are not
|
| 22 |
+
exhaustive, and do not form part of our licenses.
|
| 23 |
+
|
| 24 |
+
Considerations for licensors: Our public licenses are
|
| 25 |
+
intended for use by those authorized to give the public
|
| 26 |
+
permission to use material in ways otherwise restricted by
|
| 27 |
+
copyright and certain other rights. Our licenses are
|
| 28 |
+
irrevocable. Licensors should read and understand the terms
|
| 29 |
+
and conditions of the license they choose before applying it.
|
| 30 |
+
Licensors should also secure all rights necessary before
|
| 31 |
+
applying our licenses so that the public can reuse the
|
| 32 |
+
material as expected. Licensors should clearly mark any
|
| 33 |
+
material not subject to the license. This includes other CC-
|
| 34 |
+
licensed material, or material used under an exception or
|
| 35 |
+
limitation to copyright. More considerations for licensors:
|
| 36 |
+
wiki.creativecommons.org/Considerations_for_licensors
|
| 37 |
+
|
| 38 |
+
Considerations for the public: By using one of our public
|
| 39 |
+
licenses, a licensor grants the public permission to use the
|
| 40 |
+
licensed material under specified terms and conditions. If
|
| 41 |
+
the licensor's permission is not necessary for any reason--for
|
| 42 |
+
example, because of any applicable exception or limitation to
|
| 43 |
+
copyright--then that use is not regulated by the license. Our
|
| 44 |
+
licenses grant only permissions under copyright and certain
|
| 45 |
+
other rights that a licensor has authority to grant. Use of
|
| 46 |
+
the licensed material may still be restricted for other
|
| 47 |
+
reasons, including because others have copyright or other
|
| 48 |
+
rights in the material. A licensor may make special requests,
|
| 49 |
+
such as asking that all changes be marked or described.
|
| 50 |
+
Although not required by our licenses, you are encouraged to
|
| 51 |
+
respect those requests where reasonable. More considerations
|
| 52 |
+
for the public:
|
| 53 |
+
wiki.creativecommons.org/Considerations_for_licensees
|
| 54 |
+
|
| 55 |
+
=======================================================================
|
| 56 |
+
|
| 57 |
+
Creative Commons Attribution-NonCommercial 4.0 International Public
|
| 58 |
+
License
|
| 59 |
+
|
| 60 |
+
By exercising the Licensed Rights (defined below), You accept and agree
|
| 61 |
+
to be bound by the terms and conditions of this Creative Commons
|
| 62 |
+
Attribution-NonCommercial 4.0 International Public License ("Public
|
| 63 |
+
License"). To the extent this Public License may be interpreted as a
|
| 64 |
+
contract, You are granted the Licensed Rights in consideration of Your
|
| 65 |
+
acceptance of these terms and conditions, and the Licensor grants You
|
| 66 |
+
such rights in consideration of benefits the Licensor receives from
|
| 67 |
+
making the Licensed Material available under these terms and
|
| 68 |
+
conditions.
|
| 69 |
+
|
| 70 |
+
|
| 71 |
+
Section 1 -- Definitions.
|
| 72 |
+
|
| 73 |
+
a. Adapted Material means material subject to Copyright and Similar
|
| 74 |
+
Rights that is derived from or based upon the Licensed Material
|
| 75 |
+
and in which the Licensed Material is translated, altered,
|
| 76 |
+
arranged, transformed, or otherwise modified in a manner requiring
|
| 77 |
+
permission under the Copyright and Similar Rights held by the
|
| 78 |
+
Licensor. For purposes of this Public License, where the Licensed
|
| 79 |
+
Material is a musical work, performance, or sound recording,
|
| 80 |
+
Adapted Material is always produced where the Licensed Material is
|
| 81 |
+
synched in timed relation with a moving image.
|
| 82 |
+
|
| 83 |
+
b. Adapter's License means the license You apply to Your Copyright
|
| 84 |
+
and Similar Rights in Your contributions to Adapted Material in
|
| 85 |
+
accordance with the terms and conditions of this Public License.
|
| 86 |
+
|
| 87 |
+
c. Copyright and Similar Rights means copyright and/or similar rights
|
| 88 |
+
closely related to copyright including, without limitation,
|
| 89 |
+
performance, broadcast, sound recording, and Sui Generis Database
|
| 90 |
+
Rights, without regard to how the rights are labeled or
|
| 91 |
+
categorized. For purposes of this Public License, the rights
|
| 92 |
+
specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
| 93 |
+
Rights.
|
| 94 |
+
d. Effective Technological Measures means those measures that, in the
|
| 95 |
+
absence of proper authority, may not be circumvented under laws
|
| 96 |
+
fulfilling obligations under Article 11 of the WIPO Copyright
|
| 97 |
+
Treaty adopted on December 20, 1996, and/or similar international
|
| 98 |
+
agreements.
|
| 99 |
+
|
| 100 |
+
e. Exceptions and Limitations means fair use, fair dealing, and/or
|
| 101 |
+
any other exception or limitation to Copyright and Similar Rights
|
| 102 |
+
that applies to Your use of the Licensed Material.
|
| 103 |
+
|
| 104 |
+
f. Licensed Material means the artistic or literary work, database,
|
| 105 |
+
or other material to which the Licensor applied this Public
|
| 106 |
+
License.
|
| 107 |
+
|
| 108 |
+
g. Licensed Rights means the rights granted to You subject to the
|
| 109 |
+
terms and conditions of this Public License, which are limited to
|
| 110 |
+
all Copyright and Similar Rights that apply to Your use of the
|
| 111 |
+
Licensed Material and that the Licensor has authority to license.
|
| 112 |
+
|
| 113 |
+
h. Licensor means the individual(s) or entity(ies) granting rights
|
| 114 |
+
under this Public License.
|
| 115 |
+
|
| 116 |
+
i. NonCommercial means not primarily intended for or directed towards
|
| 117 |
+
commercial advantage or monetary compensation. For purposes of
|
| 118 |
+
this Public License, the exchange of the Licensed Material for
|
| 119 |
+
other material subject to Copyright and Similar Rights by digital
|
| 120 |
+
file-sharing or similar means is NonCommercial provided there is
|
| 121 |
+
no payment of monetary compensation in connection with the
|
| 122 |
+
exchange.
|
| 123 |
+
|
| 124 |
+
j. Share means to provide material to the public by any means or
|
| 125 |
+
process that requires permission under the Licensed Rights, such
|
| 126 |
+
as reproduction, public display, public performance, distribution,
|
| 127 |
+
dissemination, communication, or importation, and to make material
|
| 128 |
+
available to the public including in ways that members of the
|
| 129 |
+
public may access the material from a place and at a time
|
| 130 |
+
individually chosen by them.
|
| 131 |
+
|
| 132 |
+
k. Sui Generis Database Rights means rights other than copyright
|
| 133 |
+
resulting from Directive 96/9/EC of the European Parliament and of
|
| 134 |
+
the Council of 11 March 1996 on the legal protection of databases,
|
| 135 |
+
as amended and/or succeeded, as well as other essentially
|
| 136 |
+
equivalent rights anywhere in the world.
|
| 137 |
+
|
| 138 |
+
l. You means the individual or entity exercising the Licensed Rights
|
| 139 |
+
under this Public License. Your has a corresponding meaning.
|
| 140 |
+
|
| 141 |
+
|
| 142 |
+
Section 2 -- Scope.
|
| 143 |
+
|
| 144 |
+
a. License grant.
|
| 145 |
+
|
| 146 |
+
1. Subject to the terms and conditions of this Public License,
|
| 147 |
+
the Licensor hereby grants You a worldwide, royalty-free,
|
| 148 |
+
non-sublicensable, non-exclusive, irrevocable license to
|
| 149 |
+
exercise the Licensed Rights in the Licensed Material to:
|
| 150 |
+
|
| 151 |
+
a. reproduce and Share the Licensed Material, in whole or
|
| 152 |
+
in part, for NonCommercial purposes only; and
|
| 153 |
+
|
| 154 |
+
b. produce, reproduce, and Share Adapted Material for
|
| 155 |
+
NonCommercial purposes only.
|
| 156 |
+
|
| 157 |
+
2. Exceptions and Limitations. For the avoidance of doubt, where
|
| 158 |
+
Exceptions and Limitations apply to Your use, this Public
|
| 159 |
+
License does not apply, and You do not need to comply with
|
| 160 |
+
its terms and conditions.
|
| 161 |
+
|
| 162 |
+
3. Term. The term of this Public License is specified in Section
|
| 163 |
+
6(a).
|
| 164 |
+
|
| 165 |
+
4. Media and formats; technical modifications allowed. The
|
| 166 |
+
Licensor authorizes You to exercise the Licensed Rights in
|
| 167 |
+
all media and formats whether now known or hereafter created,
|
| 168 |
+
and to make technical modifications necessary to do so. The
|
| 169 |
+
Licensor waives and/or agrees not to assert any right or
|
| 170 |
+
authority to forbid You from making technical modifications
|
| 171 |
+
necessary to exercise the Licensed Rights, including
|
| 172 |
+
technical modifications necessary to circumvent Effective
|
| 173 |
+
Technological Measures. For purposes of this Public License,
|
| 174 |
+
simply making modifications authorized by this Section 2(a)
|
| 175 |
+
(4) never produces Adapted Material.
|
| 176 |
+
|
| 177 |
+
5. Downstream recipients.
|
| 178 |
+
|
| 179 |
+
a. Offer from the Licensor -- Licensed Material. Every
|
| 180 |
+
recipient of the Licensed Material automatically
|
| 181 |
+
receives an offer from the Licensor to exercise the
|
| 182 |
+
Licensed Rights under the terms and conditions of this
|
| 183 |
+
Public License.
|
| 184 |
+
|
| 185 |
+
b. No downstream restrictions. You may not offer or impose
|
| 186 |
+
any additional or different terms or conditions on, or
|
| 187 |
+
apply any Effective Technological Measures to, the
|
| 188 |
+
Licensed Material if doing so restricts exercise of the
|
| 189 |
+
Licensed Rights by any recipient of the Licensed
|
| 190 |
+
Material.
|
| 191 |
+
|
| 192 |
+
6. No endorsement. Nothing in this Public License constitutes or
|
| 193 |
+
may be construed as permission to assert or imply that You
|
| 194 |
+
are, or that Your use of the Licensed Material is, connected
|
| 195 |
+
with, or sponsored, endorsed, or granted official status by,
|
| 196 |
+
the Licensor or others designated to receive attribution as
|
| 197 |
+
provided in Section 3(a)(1)(A)(i).
|
| 198 |
+
|
| 199 |
+
b. Other rights.
|
| 200 |
+
|
| 201 |
+
1. Moral rights, such as the right of integrity, are not
|
| 202 |
+
licensed under this Public License, nor are publicity,
|
| 203 |
+
privacy, and/or other similar personality rights; however, to
|
| 204 |
+
the extent possible, the Licensor waives and/or agrees not to
|
| 205 |
+
assert any such rights held by the Licensor to the limited
|
| 206 |
+
extent necessary to allow You to exercise the Licensed
|
| 207 |
+
Rights, but not otherwise.
|
| 208 |
+
|
| 209 |
+
2. Patent and trademark rights are not licensed under this
|
| 210 |
+
Public License.
|
| 211 |
+
|
| 212 |
+
3. To the extent possible, the Licensor waives any right to
|
| 213 |
+
collect royalties from You for the exercise of the Licensed
|
| 214 |
+
Rights, whether directly or through a collecting society
|
| 215 |
+
under any voluntary or waivable statutory or compulsory
|
| 216 |
+
licensing scheme. In all other cases the Licensor expressly
|
| 217 |
+
reserves any right to collect such royalties, including when
|
| 218 |
+
the Licensed Material is used other than for NonCommercial
|
| 219 |
+
purposes.
|
| 220 |
+
|
| 221 |
+
|
| 222 |
+
Section 3 -- License Conditions.
|
| 223 |
+
|
| 224 |
+
Your exercise of the Licensed Rights is expressly made subject to the
|
| 225 |
+
following conditions.
|
| 226 |
+
|
| 227 |
+
a. Attribution.
|
| 228 |
+
|
| 229 |
+
1. If You Share the Licensed Material (including in modified
|
| 230 |
+
form), You must:
|
| 231 |
+
|
| 232 |
+
a. retain the following if it is supplied by the Licensor
|
| 233 |
+
with the Licensed Material:
|
| 234 |
+
|
| 235 |
+
i. identification of the creator(s) of the Licensed
|
| 236 |
+
Material and any others designated to receive
|
| 237 |
+
attribution, in any reasonable manner requested by
|
| 238 |
+
the Licensor (including by pseudonym if
|
| 239 |
+
designated);
|
| 240 |
+
|
| 241 |
+
ii. a copyright notice;
|
| 242 |
+
|
| 243 |
+
iii. a notice that refers to this Public License;
|
| 244 |
+
|
| 245 |
+
iv. a notice that refers to the disclaimer of
|
| 246 |
+
warranties;
|
| 247 |
+
|
| 248 |
+
v. a URI or hyperlink to the Licensed Material to the
|
| 249 |
+
extent reasonably practicable;
|
| 250 |
+
|
| 251 |
+
b. indicate if You modified the Licensed Material and
|
| 252 |
+
retain an indication of any previous modifications; and
|
| 253 |
+
|
| 254 |
+
c. indicate the Licensed Material is licensed under this
|
| 255 |
+
Public License, and include the text of, or the URI or
|
| 256 |
+
hyperlink to, this Public License.
|
| 257 |
+
|
| 258 |
+
2. You may satisfy the conditions in Section 3(a)(1) in any
|
| 259 |
+
reasonable manner based on the medium, means, and context in
|
| 260 |
+
which You Share the Licensed Material. For example, it may be
|
| 261 |
+
reasonable to satisfy the conditions by providing a URI or
|
| 262 |
+
hyperlink to a resource that includes the required
|
| 263 |
+
information.
|
| 264 |
+
|
| 265 |
+
3. If requested by the Licensor, You must remove any of the
|
| 266 |
+
information required by Section 3(a)(1)(A) to the extent
|
| 267 |
+
reasonably practicable.
|
| 268 |
+
|
| 269 |
+
4. If You Share Adapted Material You produce, the Adapter's
|
| 270 |
+
License You apply must not prevent recipients of the Adapted
|
| 271 |
+
Material from complying with this Public License.
|
| 272 |
+
|
| 273 |
+
|
| 274 |
+
Section 4 -- Sui Generis Database Rights.
|
| 275 |
+
|
| 276 |
+
Where the Licensed Rights include Sui Generis Database Rights that
|
| 277 |
+
apply to Your use of the Licensed Material:
|
| 278 |
+
|
| 279 |
+
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
|
| 280 |
+
to extract, reuse, reproduce, and Share all or a substantial
|
| 281 |
+
portion of the contents of the database for NonCommercial purposes
|
| 282 |
+
only;
|
| 283 |
+
|
| 284 |
+
b. if You include all or a substantial portion of the database
|
| 285 |
+
contents in a database in which You have Sui Generis Database
|
| 286 |
+
Rights, then the database in which You have Sui Generis Database
|
| 287 |
+
Rights (but not its individual contents) is Adapted Material; and
|
| 288 |
+
|
| 289 |
+
c. You must comply with the conditions in Section 3(a) if You Share
|
| 290 |
+
all or a substantial portion of the contents of the database.
|
| 291 |
+
|
| 292 |
+
For the avoidance of doubt, this Section 4 supplements and does not
|
| 293 |
+
replace Your obligations under this Public License where the Licensed
|
| 294 |
+
Rights include other Copyright and Similar Rights.
|
| 295 |
+
|
| 296 |
+
|
| 297 |
+
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
|
| 298 |
+
|
| 299 |
+
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
|
| 300 |
+
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
|
| 301 |
+
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
|
| 302 |
+
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
|
| 303 |
+
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
|
| 304 |
+
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
| 305 |
+
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
|
| 306 |
+
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
|
| 307 |
+
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
|
| 308 |
+
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
|
| 309 |
+
|
| 310 |
+
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
|
| 311 |
+
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
|
| 312 |
+
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
|
| 313 |
+
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
|
| 314 |
+
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
|
| 315 |
+
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
|
| 316 |
+
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
|
| 317 |
+
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
|
| 318 |
+
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
|
| 319 |
+
|
| 320 |
+
c. The disclaimer of warranties and limitation of liability provided
|
| 321 |
+
above shall be interpreted in a manner that, to the extent
|
| 322 |
+
possible, most closely approximates an absolute disclaimer and
|
| 323 |
+
waiver of all liability.
|
| 324 |
+
|
| 325 |
+
|
| 326 |
+
Section 6 -- Term and Termination.
|
| 327 |
+
|
| 328 |
+
a. This Public License applies for the term of the Copyright and
|
| 329 |
+
Similar Rights licensed here. However, if You fail to comply with
|
| 330 |
+
this Public License, then Your rights under this Public License
|
| 331 |
+
terminate automatically.
|
| 332 |
+
|
| 333 |
+
b. Where Your right to use the Licensed Material has terminated under
|
| 334 |
+
Section 6(a), it reinstates:
|
| 335 |
+
|
| 336 |
+
1. automatically as of the date the violation is cured, provided
|
| 337 |
+
it is cured within 30 days of Your discovery of the
|
| 338 |
+
violation; or
|
| 339 |
+
|
| 340 |
+
2. upon express reinstatement by the Licensor.
|
| 341 |
+
|
| 342 |
+
For the avoidance of doubt, this Section 6(b) does not affect any
|
| 343 |
+
right the Licensor may have to seek remedies for Your violations
|
| 344 |
+
of this Public License.
|
| 345 |
+
|
| 346 |
+
c. For the avoidance of doubt, the Licensor may also offer the
|
| 347 |
+
Licensed Material under separate terms or conditions or stop
|
| 348 |
+
distributing the Licensed Material at any time; however, doing so
|
| 349 |
+
will not terminate this Public License.
|
| 350 |
+
|
| 351 |
+
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
|
| 352 |
+
License.
|
| 353 |
+
|
| 354 |
+
|
| 355 |
+
Section 7 -- Other Terms and Conditions.
|
| 356 |
+
|
| 357 |
+
a. The Licensor shall not be bound by any additional or different
|
| 358 |
+
terms or conditions communicated by You unless expressly agreed.
|
| 359 |
+
|
| 360 |
+
b. Any arrangements, understandings, or agreements regarding the
|
| 361 |
+
Licensed Material not stated herein are separate from and
|
| 362 |
+
independent of the terms and conditions of this Public License.
|
| 363 |
+
|
| 364 |
+
|
| 365 |
+
Section 8 -- Interpretation.
|
| 366 |
+
|
| 367 |
+
a. For the avoidance of doubt, this Public License does not, and
|
| 368 |
+
shall not be interpreted to, reduce, limit, restrict, or impose
|
| 369 |
+
conditions on any use of the Licensed Material that could lawfully
|
| 370 |
+
be made without permission under this Public License.
|
| 371 |
+
|
| 372 |
+
b. To the extent possible, if any provision of this Public License is
|
| 373 |
+
deemed unenforceable, it shall be automatically reformed to the
|
| 374 |
+
minimum extent necessary to make it enforceable. If the provision
|
| 375 |
+
cannot be reformed, it shall be severed from this Public License
|
| 376 |
+
without affecting the enforceability of the remaining terms and
|
| 377 |
+
conditions.
|
| 378 |
+
|
| 379 |
+
c. No term or condition of this Public License will be waived and no
|
| 380 |
+
failure to comply consented to unless expressly agreed to by the
|
| 381 |
+
Licensor.
|
| 382 |
+
|
| 383 |
+
d. Nothing in this Public License constitutes or may be interpreted
|
| 384 |
+
as a limitation upon, or waiver of, any privileges and immunities
|
| 385 |
+
that apply to the Licensor or You, including from the legal
|
| 386 |
+
processes of any jurisdiction or authority.
|
| 387 |
+
|
| 388 |
+
=======================================================================
|
| 389 |
+
|
| 390 |
+
Creative Commons is not a party to its public
|
| 391 |
+
licenses. Notwithstanding, Creative Commons may elect to apply one of
|
| 392 |
+
its public licenses to material it publishes and in those instances
|
| 393 |
+
will be considered the "Licensor." The text of the Creative Commons
|
| 394 |
+
public licenses is dedicated to the public domain under the CC0 Public
|
| 395 |
+
Domain Dedication. Except for the limited purpose of indicating that
|
| 396 |
+
material is shared under a Creative Commons public license or as
|
| 397 |
+
otherwise permitted by the Creative Commons policies published at
|
| 398 |
+
creativecommons.org/policies, Creative Commons does not authorize the
|
| 399 |
+
use of the trademark "Creative Commons" or any other trademark or logo
|
| 400 |
+
of Creative Commons without its prior written consent including,
|
| 401 |
+
without limitation, in connection with any unauthorized modifications
|
| 402 |
+
to any of its public licenses or any other arrangements,
|
| 403 |
+
understandings, or agreements concerning use of licensed material. For
|
| 404 |
+
the avoidance of doubt, this paragraph does not form part of the
|
| 405 |
+
public licenses.
|
| 406 |
+
|
| 407 |
+
Creative Commons may be contacted at creativecommons.org.
|
LICENSES/Apache-2.0.txt
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
Apache License
|
| 3 |
+
Version 2.0, January 2004
|
| 4 |
+
http://www.apache.org/licenses/
|
| 5 |
+
|
| 6 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
| 7 |
+
|
| 8 |
+
1. Definitions.
|
| 9 |
+
|
| 10 |
+
"License" shall mean the terms and conditions for use, reproduction,
|
| 11 |
+
and distribution as defined by Sections 1 through 9 of this document.
|
| 12 |
+
|
| 13 |
+
"Licensor" shall mean the copyright owner or entity authorized by
|
| 14 |
+
the copyright owner that is granting the License.
|
| 15 |
+
|
| 16 |
+
"Legal Entity" shall mean the union of the acting entity and all
|
| 17 |
+
other entities that control, are controlled by, or are under common
|
| 18 |
+
control with that entity. For the purposes of this definition,
|
| 19 |
+
"control" means (i) the power, direct or indirect, to cause the
|
| 20 |
+
direction or management of such entity, whether by contract or
|
| 21 |
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
| 22 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
| 23 |
+
|
| 24 |
+
"You" (or "Your") shall mean an individual or Legal Entity
|
| 25 |
+
exercising permissions granted by this License.
|
| 26 |
+
|
| 27 |
+
"Source" form shall mean the preferred form for making modifications,
|
| 28 |
+
including but not limited to software source code, documentation
|
| 29 |
+
source, and configuration files.
|
| 30 |
+
|
| 31 |
+
"Object" form shall mean any form resulting from mechanical
|
| 32 |
+
transformation or translation of a Source form, including but
|
| 33 |
+
not limited to compiled object code, generated documentation,
|
| 34 |
+
and conversions to other media types.
|
| 35 |
+
|
| 36 |
+
"Work" shall mean the work of authorship, whether in Source or
|
| 37 |
+
Object form, made available under the License, as indicated by a
|
| 38 |
+
copyright notice that is included in or attached to the work
|
| 39 |
+
(an example is provided in the Appendix below).
|
| 40 |
+
|
| 41 |
+
"Derivative Works" shall mean any work, whether in Source or Object
|
| 42 |
+
form, that is based on (or derived from) the Work and for which the
|
| 43 |
+
editorial revisions, annotations, elaborations, or other modifications
|
| 44 |
+
represent, as a whole, an original work of authorship. For the purposes
|
| 45 |
+
of this License, Derivative Works shall not include works that remain
|
| 46 |
+
separable from, or merely link (or bind by name) to the interfaces of,
|
| 47 |
+
the Work and Derivative Works thereof.
|
| 48 |
+
|
| 49 |
+
"Contribution" shall mean any work of authorship, including
|
| 50 |
+
the original version of the Work and any modifications or additions
|
| 51 |
+
to that Work or Derivative Works thereof, that is intentionally
|
| 52 |
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
| 53 |
+
or by an individual or Legal Entity authorized to submit on behalf of
|
| 54 |
+
the copyright owner. For the purposes of this definition, "submitted"
|
| 55 |
+
means any form of electronic, verbal, or written communication sent
|
| 56 |
+
to the Licensor or its representatives, including but not limited to
|
| 57 |
+
communication on electronic mailing lists, source code control systems,
|
| 58 |
+
and issue tracking systems that are managed by, or on behalf of, the
|
| 59 |
+
Licensor for the purpose of discussing and improving the Work, but
|
| 60 |
+
excluding communication that is conspicuously marked or otherwise
|
| 61 |
+
designated in writing by the copyright owner as "Not a Contribution."
|
| 62 |
+
|
| 63 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
| 64 |
+
on behalf of whom a Contribution has been received by Licensor and
|
| 65 |
+
subsequently incorporated within the Work.
|
| 66 |
+
|
| 67 |
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
| 68 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 69 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 70 |
+
copyright license to reproduce, prepare Derivative Works of,
|
| 71 |
+
publicly display, publicly perform, sublicense, and distribute the
|
| 72 |
+
Work and such Derivative Works in Source or Object form.
|
| 73 |
+
|
| 74 |
+
3. Grant of Patent License. Subject to the terms and conditions of
|
| 75 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 76 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 77 |
+
(except as stated in this section) patent license to make, have made,
|
| 78 |
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
| 79 |
+
where such license applies only to those patent claims licensable
|
| 80 |
+
by such Contributor that are necessarily infringed by their
|
| 81 |
+
Contribution(s) alone or by combination of their Contribution(s)
|
| 82 |
+
with the Work to which such Contribution(s) was submitted. If You
|
| 83 |
+
institute patent litigation against any entity (including a
|
| 84 |
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
| 85 |
+
or a Contribution incorporated within the Work constitutes direct
|
| 86 |
+
or contributory patent infringement, then any patent licenses
|
| 87 |
+
granted to You under this License for that Work shall terminate
|
| 88 |
+
as of the date such litigation is filed.
|
| 89 |
+
|
| 90 |
+
4. Redistribution. You may reproduce and distribute copies of the
|
| 91 |
+
Work or Derivative Works thereof in any medium, with or without
|
| 92 |
+
modifications, and in Source or Object form, provided that You
|
| 93 |
+
meet the following conditions:
|
| 94 |
+
|
| 95 |
+
(a) You must give any other recipients of the Work or
|
| 96 |
+
Derivative Works a copy of this License; and
|
| 97 |
+
|
| 98 |
+
(b) You must cause any modified files to carry prominent notices
|
| 99 |
+
stating that You changed the files; and
|
| 100 |
+
|
| 101 |
+
(c) You must retain, in the Source form of any Derivative Works
|
| 102 |
+
that You distribute, all copyright, patent, trademark, and
|
| 103 |
+
attribution notices from the Source form of the Work,
|
| 104 |
+
excluding those notices that do not pertain to any part of
|
| 105 |
+
the Derivative Works; and
|
| 106 |
+
|
| 107 |
+
(d) If the Work includes a "NOTICE" text file as part of its
|
| 108 |
+
distribution, then any Derivative Works that You distribute must
|
| 109 |
+
include a readable copy of the attribution notices contained
|
| 110 |
+
within such NOTICE file, excluding those notices that do not
|
| 111 |
+
pertain to any part of the Derivative Works, in at least one
|
| 112 |
+
of the following places: within a NOTICE text file distributed
|
| 113 |
+
as part of the Derivative Works; within the Source form or
|
| 114 |
+
documentation, if provided along with the Derivative Works; or,
|
| 115 |
+
within a display generated by the Derivative Works, if and
|
| 116 |
+
wherever such third-party notices normally appear. The contents
|
| 117 |
+
of the NOTICE file are for informational purposes only and
|
| 118 |
+
do not modify the License. You may add Your own attribution
|
| 119 |
+
notices within Derivative Works that You distribute, alongside
|
| 120 |
+
or as an addendum to the NOTICE text from the Work, provided
|
| 121 |
+
that such additional attribution notices cannot be construed
|
| 122 |
+
as modifying the License.
|
| 123 |
+
|
| 124 |
+
You may add Your own copyright statement to Your modifications and
|
| 125 |
+
may provide additional or different license terms and conditions
|
| 126 |
+
for use, reproduction, or distribution of Your modifications, or
|
| 127 |
+
for any such Derivative Works as a whole, provided Your use,
|
| 128 |
+
reproduction, and distribution of the Work otherwise complies with
|
| 129 |
+
the conditions stated in this License.
|
| 130 |
+
|
| 131 |
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
| 132 |
+
any Contribution intentionally submitted for inclusion in the Work
|
| 133 |
+
by You to the Licensor shall be under the terms and conditions of
|
| 134 |
+
this License, without any additional terms or conditions.
|
| 135 |
+
Notwithstanding the above, nothing herein shall supersede or modify
|
| 136 |
+
the terms of any separate license agreement you may have executed
|
| 137 |
+
with Licensor regarding such Contributions.
|
| 138 |
+
|
| 139 |
+
6. Trademarks. This License does not grant permission to use the trade
|
| 140 |
+
names, trademarks, service marks, or product names of the Licensor,
|
| 141 |
+
except as required for reasonable and customary use in describing the
|
| 142 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
| 143 |
+
|
| 144 |
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
| 145 |
+
agreed to in writing, Licensor provides the Work (and each
|
| 146 |
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
| 147 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
| 148 |
+
implied, including, without limitation, any warranties or conditions
|
| 149 |
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
| 150 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
| 151 |
+
appropriateness of using or redistributing the Work and assume any
|
| 152 |
+
risks associated with Your exercise of permissions under this License.
|
| 153 |
+
|
| 154 |
+
8. Limitation of Liability. In no event and under no legal theory,
|
| 155 |
+
whether in tort (including negligence), contract, or otherwise,
|
| 156 |
+
unless required by applicable law (such as deliberate and grossly
|
| 157 |
+
negligent acts) or agreed to in writing, shall any Contributor be
|
| 158 |
+
liable to You for damages, including any direct, indirect, special,
|
| 159 |
+
incidental, or consequential damages of any character arising as a
|
| 160 |
+
result of this License or out of the use or inability to use the
|
| 161 |
+
Work (including but not limited to damages for loss of goodwill,
|
| 162 |
+
work stoppage, computer failure or malfunction, or any and all
|
| 163 |
+
other commercial damages or losses), even if such Contributor
|
| 164 |
+
has been advised of the possibility of such damages.
|
| 165 |
+
|
| 166 |
+
9. Accepting Warranty or Additional Liability. While redistributing
|
| 167 |
+
the Work or Derivative Works thereof, You may choose to offer,
|
| 168 |
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
| 169 |
+
or other liability obligations and/or rights consistent with this
|
| 170 |
+
License. However, in accepting such obligations, You may act only
|
| 171 |
+
on Your own behalf and on Your sole responsibility, not on behalf
|
| 172 |
+
of any other Contributor, and only if You agree to indemnify,
|
| 173 |
+
defend, and hold each Contributor harmless for any liability
|
| 174 |
+
incurred by, or claims asserted against, such Contributor by reason
|
| 175 |
+
of your accepting any such warranty or additional liability.
|
| 176 |
+
|
| 177 |
+
END OF TERMS AND CONDITIONS
|
| 178 |
+
|
| 179 |
+
APPENDIX: How to apply the Apache License to your work.
|
| 180 |
+
|
| 181 |
+
To apply the Apache License to your work, attach the following
|
| 182 |
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
| 183 |
+
replaced with your own identifying information. (Don't include
|
| 184 |
+
the brackets!) The text should be enclosed in the appropriate
|
| 185 |
+
comment syntax for the file format. We also recommend that a
|
| 186 |
+
file or class name and description of purpose be included on the
|
| 187 |
+
same "printed page" as the copyright notice for easier
|
| 188 |
+
identification within third-party archives.
|
| 189 |
+
|
| 190 |
+
Copyright [yyyy] [name of copyright owner]
|
| 191 |
+
|
| 192 |
+
Licensed under the Apache License, Version 2.0 (the "License");
|
| 193 |
+
you may not use this file except in compliance with the License.
|
| 194 |
+
You may obtain a copy of the License at
|
| 195 |
+
|
| 196 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
| 197 |
+
|
| 198 |
+
Unless required by applicable law or agreed to in writing, software
|
| 199 |
+
distributed under the License is distributed on an "AS IS" BASIS,
|
| 200 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 201 |
+
See the License for the specific language governing permissions and
|
| 202 |
+
limitations under the License.
|
LICENSES/MIT.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) Meta Platforms, Inc. and affiliates.
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
README.md
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
library_name: transformers
|
| 3 |
+
license: cc-by-nc-4.0
|
| 4 |
+
tags:
|
| 5 |
+
- medical
|
| 6 |
+
- radiology
|
| 7 |
+
- vision-language
|
| 8 |
+
- chest-ct
|
| 9 |
+
- 3d-medical-imaging
|
| 10 |
+
- glint
|
| 11 |
+
- custom_code
|
| 12 |
+
- arxiv:2606.03180
|
| 13 |
+
datasets:
|
| 14 |
+
- ibrahimhamamci/CT-RATE
|
| 15 |
+
---
|
| 16 |
+
|
| 17 |
+
# GLINT-CT
|
| 18 |
+
|
| 19 |
+
<p>
|
| 20 |
+
📝 <a href="https://arxiv.org/abs/2606.03180">Paper</a> •
|
| 21 |
+
💻 <a href="https://github.com/deepnoid-ai/GLINT">Code</a> •
|
| 22 |
+
🌐 <a href="https://deepnoid-ai.github.io/GLINT/">Project page</a> •
|
| 23 |
+
🤗 <a href="https://huggingface.co/Deepnoid/GLINT-CXR">GLINT-CXR</a>
|
| 24 |
+
</p>
|
| 25 |
+
|
| 26 |
+
GLINT-CT is the chest CT model of **GLINT** (*GLINT: Sparsely Gated Vision-Language Alignment for Fine-Grained
|
| 27 |
+
Radiology Representations*, NeurIPS 2026).
|
| 28 |
+
|
| 29 |
+
- **Vision encoder:** V-JEPA 2.1 ViT-L/16, 384×384, 80 frames / 240 slices
|
| 30 |
+
- **Text encoder:** `sentence-transformers/all-mpnet-base-v2` (fine-tuned)
|
| 31 |
+
- **Alignment:** linear projection (1024→768) + LayerNorm, mean-pooled text + LayerNorm, SGA similarity head
|
| 32 |
+
- **Training:** CT-RATE, with Sparsely Gated Alignment (SGA) and Dense Feature Regularization (DFR) from a frozen
|
| 33 |
+
V-JEPA 2.1 ViT-G teacher
|
| 34 |
+
|
| 35 |
+
> ⚠️ GLINT is released for research purposes only and is not intended for clinical use, including the diagnosis or treatment of any medical condition.
|
| 36 |
+
|
| 37 |
+
## Usage
|
| 38 |
+
|
| 39 |
+
Both examples use the bundled `inference.py` / `utils.py`; run them from the downloaded repo.
|
| 40 |
+
|
| 41 |
+
### Full pipeline
|
| 42 |
+
|
| 43 |
+
```bash
|
| 44 |
+
hf download Deepnoid/GLINT-CT --local-dir glint-ct && cd glint-ct
|
| 45 |
+
python inference.py --volume volume.nii.gz --text "There is a lung nodule."
|
| 46 |
+
# prints the sentence probability and the 18 CT-RATE findings,
|
| 47 |
+
# saves similarity_map.nii.gz and ct_preprocessed.nii.gz
|
| 48 |
+
```
|
| 49 |
+
|
| 50 |
+
Both files share one affine, so the map overlays the CT in ITK-SNAP / 3D Slicer.
|
| 51 |
+
|
| 52 |
+
### AutoModel
|
| 53 |
+
|
| 54 |
+
```python
|
| 55 |
+
import torch
|
| 56 |
+
from transformers import AutoModel, AutoTokenizer
|
| 57 |
+
from utils import load_ct_volume, model_inference, save_similarity_map, similarity_scores_to_volume # bundled helpers
|
| 58 |
+
|
| 59 |
+
repo = "Deepnoid/GLINT-CT"
|
| 60 |
+
device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 61 |
+
|
| 62 |
+
model = AutoModel.from_pretrained(repo, trust_remote_code=True, dtype=torch.float32).to(device).eval()
|
| 63 |
+
tokenizer = AutoTokenizer.from_pretrained(repo)
|
| 64 |
+
|
| 65 |
+
pixel_values, affine = load_ct_volume("volume.nii.gz", return_affine=True) # [1, 80, 3, 384, 384]
|
| 66 |
+
prob, scores = model_inference(pixel_values, "There is a lung nodule.", model=model, tokenizer=tokenizer)
|
| 67 |
+
volume = similarity_scores_to_volume(scores, model) # (240, 384, 384)
|
| 68 |
+
save_similarity_map(volume, affine, "similarity_map.nii.gz", pixel_values, "ct_preprocessed.nii.gz")
|
| 69 |
+
```
|
| 70 |
+
|
| 71 |
+
- **Outputs:** `prob` is the sentence probability (sigmoid); `scores` is the per-token similarity in [0, 1]
|
| 72 |
+
(40 × 24 × 24 tokens).
|
| 73 |
+
- **Inputs:** `utils.load_ct_volume` applies the training preprocessing (IPL, HU [-1000, 1000] → [-1, 1],
|
| 74 |
+
1.5 × 0.75 × 0.75 mm, crop/pad to 240×480×480, resize to 240×384×384) and returns `[1, 80, 3, 384, 384]`.
|
| 75 |
+
- **Unreliable NIfTI affine:** pass `raw_spacing=(sx, sy, sz)` to `load_ct_volume` (`--raw_spacing` in the script).
|
| 76 |
+
- **Underlying call:** `model.compute_logits(pixel_values, [encoded_text])` returns `logits` and `similarity_scores`.
|
| 77 |
+
|
| 78 |
+
Vision encoder only (`vision_only=True`):
|
| 79 |
+
|
| 80 |
+
```python
|
| 81 |
+
import torch
|
| 82 |
+
from transformers import AutoModel
|
| 83 |
+
from utils import load_ct_volume # bundled helper
|
| 84 |
+
|
| 85 |
+
repo = "Deepnoid/GLINT-CT"
|
| 86 |
+
vision = AutoModel.from_pretrained(repo, trust_remote_code=True, vision_only=True, dtype=torch.float32).eval()
|
| 87 |
+
|
| 88 |
+
pixel_values = load_ct_volume("volume.nii.gz") # [1, 80, 3, 384, 384]
|
| 89 |
+
with torch.no_grad():
|
| 90 |
+
out = vision(pixel_values)
|
| 91 |
+
print(out.last_hidden_state.shape) # (1, 23040, 1024)
|
| 92 |
+
```
|
| 93 |
+
|
| 94 |
+
## Requirements
|
| 95 |
+
|
| 96 |
+
`transformers==4.56.1`, `torch`, `entmax`, `monai`, `nibabel`.
|
| 97 |
+
|
| 98 |
+
> ⚠️ Keep `transformers==4.56.1`, the version the bundled code was validated with.
|
| 99 |
+
|
| 100 |
+
## Notes
|
| 101 |
+
|
| 102 |
+
- Training and fine-tuning code: [GitHub](https://github.com/deepnoid-ai/GLINT); split ID lists: [`data/`](./tree/main/data).
|
| 103 |
+
- `dfr.py` and its projector weights are used only in training; the V-JEPA 2.1 ViT-G teacher is not included.
|
| 104 |
+
- `vision_only=True` still downloads the full checkpoint; `save_pretrained` on the loaded model keeps a vision-only copy.
|
| 105 |
+
|
| 106 |
+
## Acknowledgments
|
| 107 |
+
|
| 108 |
+
This work was supported by the Technology Innovation Program (RS-2025-02221011,
|
| 109 |
+
Development of Medical-Specialized Multimodal Hyperscale Generative AI Technology
|
| 110 |
+
for Global Integration) funded by the Ministry of Trade, Industry & Energy (MOTIE,
|
| 111 |
+
South Korea), and by the Advanced GPU Utilization Support Program funded by the
|
| 112 |
+
Korean government (Ministry of Science and ICT) (Project No. 02-26-91-0330).
|
| 113 |
+
|
| 114 |
+
## License
|
| 115 |
+
|
| 116 |
+
- **Weights and code:** [CC BY-NC 4.0](LICENSE).
|
| 117 |
+
- **Vision encoder:** fine-tuned from V-JEPA 2.1 ViT-L (© Meta Platforms, Inc., MIT); `vjepa21_encoder.py` adapts
|
| 118 |
+
[facebookresearch/vjepa2](https://github.com/facebookresearch/vjepa2) (MIT, `LICENSES/MIT.txt`).
|
| 119 |
+
- **Text encoder:** fine-tuned from
|
| 120 |
+
[sentence-transformers/all-mpnet-base-v2](https://huggingface.co/sentence-transformers/all-mpnet-base-v2)
|
| 121 |
+
(Apache-2.0, modified; `LICENSES/Apache-2.0.txt`).
|
| 122 |
+
|
| 123 |
+
## Citation
|
| 124 |
+
|
| 125 |
+
```bibtex
|
| 126 |
+
@inproceedings{park2026glint,
|
| 127 |
+
title = {{GLINT}: Sparsely Gated Vision-Language Alignment for Fine-Grained Radiology Representations},
|
| 128 |
+
author = {Park, Jonggwon and Lee, Seongeun and Park, Junhyun and
|
| 129 |
+
Yun, Hannah and Kim, Hyunwoong and Jeong, Sohyun and
|
| 130 |
+
Kang, Hyewon and Yoon, Byungmu and Choi, Kyoyun},
|
| 131 |
+
booktitle = {The Fortieth Annual Conference on Neural Information Processing Systems},
|
| 132 |
+
year = {2026},
|
| 133 |
+
url = {https://arxiv.org/abs/2606.03180}
|
| 134 |
+
}
|
| 135 |
+
```
|
align_layers.py
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from torch import nn
|
| 2 |
+
from transformers import PreTrainedModel
|
| 3 |
+
from transformers.models.dinov2.modeling_dinov2 import Dinov2Encoder
|
| 4 |
+
|
| 5 |
+
from .configuration_glint import AlignLayerConfig
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def build_align_layer(config):
|
| 9 |
+
if config.model_type == "align_transformer":
|
| 10 |
+
model = AlignTransformer(config)
|
| 11 |
+
elif config.model_type == "identity":
|
| 12 |
+
model = Identity()
|
| 13 |
+
elif config.model_type == "mlp":
|
| 14 |
+
model = MLP(config)
|
| 15 |
+
elif config.model_type == "linear":
|
| 16 |
+
model = Linear(config)
|
| 17 |
+
else:
|
| 18 |
+
raise NotImplementedError()
|
| 19 |
+
|
| 20 |
+
return model
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
class AlignTransformer(PreTrainedModel):
|
| 24 |
+
def __init__(self, config: AlignLayerConfig):
|
| 25 |
+
super().__init__(config)
|
| 26 |
+
|
| 27 |
+
self.linear = nn.Linear(config.input_dim, config.hidden_size)
|
| 28 |
+
|
| 29 |
+
if config.num_hidden_layers:
|
| 30 |
+
self.transformer_layers = Dinov2Encoder(config)
|
| 31 |
+
else:
|
| 32 |
+
self.transformer_layers = None
|
| 33 |
+
|
| 34 |
+
if config.use_layer_norm:
|
| 35 |
+
self.layer_norm = nn.LayerNorm(config.hidden_size)
|
| 36 |
+
else:
|
| 37 |
+
self.layer_norm = None
|
| 38 |
+
|
| 39 |
+
def forward(self, vision_tokens):
|
| 40 |
+
if self.transformer_layers is not None:
|
| 41 |
+
vision_tokens = self.linear(vision_tokens)
|
| 42 |
+
vision_tokens = self.transformer_layers(vision_tokens)["last_hidden_state"]
|
| 43 |
+
|
| 44 |
+
if self.layer_norm is not None:
|
| 45 |
+
vision_tokens = self.layer_norm(vision_tokens)
|
| 46 |
+
|
| 47 |
+
return vision_tokens
|
| 48 |
+
|
| 49 |
+
|
| 50 |
+
class Identity(nn.Module):
|
| 51 |
+
def __init__(self):
|
| 52 |
+
super().__init__()
|
| 53 |
+
|
| 54 |
+
def forward(self, x):
|
| 55 |
+
return x
|
| 56 |
+
|
| 57 |
+
|
| 58 |
+
class Linear(nn.Module):
|
| 59 |
+
def __init__(self, config):
|
| 60 |
+
super().__init__()
|
| 61 |
+
self.config = config
|
| 62 |
+
self.linear = nn.Linear(config.input_dim, config.hidden_size)
|
| 63 |
+
|
| 64 |
+
def forward(self, x):
|
| 65 |
+
return self.linear(x)
|
| 66 |
+
|
| 67 |
+
|
| 68 |
+
class MLP(nn.Module):
|
| 69 |
+
def __init__(self, config):
|
| 70 |
+
super().__init__()
|
| 71 |
+
self.config = config
|
| 72 |
+
self.mlp_layer = nn.Sequential(
|
| 73 |
+
nn.Linear(config.input_dim, config.input_dim),
|
| 74 |
+
nn.ReLU(inplace=True),
|
| 75 |
+
nn.Dropout(config.dropout),
|
| 76 |
+
nn.Linear(config.input_dim, config.input_dim),
|
| 77 |
+
nn.ReLU(inplace=True),
|
| 78 |
+
nn.Dropout(config.dropout),
|
| 79 |
+
nn.Linear(config.input_dim, config.hidden_size),
|
| 80 |
+
)
|
| 81 |
+
|
| 82 |
+
def forward(self, x):
|
| 83 |
+
return self.mlp_layer(x)
|
common_layers.py
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from torch import nn
|
| 2 |
+
from transformers.modeling_utils import PreTrainedModel
|
| 3 |
+
|
| 4 |
+
|
| 5 |
+
class BasePreTrainedModel(PreTrainedModel):
|
| 6 |
+
supports_gradient_checkpointing = True
|
| 7 |
+
|
| 8 |
+
def _init_weights(self, module):
|
| 9 |
+
if (
|
| 10 |
+
isinstance(module, nn.Conv2d) # noqa: SIM101
|
| 11 |
+
or isinstance(module, nn.Embedding)
|
| 12 |
+
or isinstance(module, nn.Linear)
|
| 13 |
+
):
|
| 14 |
+
module.weight.data.normal_(mean=0.0, std=0.02)
|
| 15 |
+
if hasattr(module, "bias") and module.bias is not None:
|
| 16 |
+
module.bias.data.zero_()
|
| 17 |
+
|
| 18 |
+
elif isinstance(module, nn.LayerNorm):
|
| 19 |
+
module.bias.data.zero_()
|
| 20 |
+
module.weight.data.fill_(1.0)
|
| 21 |
+
elif isinstance(module, nn.Parameter):
|
| 22 |
+
raise ValueError()
|
config.json
ADDED
|
@@ -0,0 +1,408 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"align_layer_config": {
|
| 3 |
+
"_name_or_path": "",
|
| 4 |
+
"add_cross_attention": false,
|
| 5 |
+
"architectures": null,
|
| 6 |
+
"bad_words_ids": null,
|
| 7 |
+
"begin_suppress_tokens": null,
|
| 8 |
+
"bos_token_id": null,
|
| 9 |
+
"chunk_size_feed_forward": 0,
|
| 10 |
+
"cross_attention_hidden_size": null,
|
| 11 |
+
"decoder_start_token_id": null,
|
| 12 |
+
"diversity_penalty": 0.0,
|
| 13 |
+
"do_sample": false,
|
| 14 |
+
"dtype": null,
|
| 15 |
+
"early_stopping": false,
|
| 16 |
+
"encoder_no_repeat_ngram_size": 0,
|
| 17 |
+
"eos_token_id": null,
|
| 18 |
+
"exponential_decay_length_penalty": null,
|
| 19 |
+
"finetuning_task": null,
|
| 20 |
+
"forced_bos_token_id": null,
|
| 21 |
+
"forced_eos_token_id": null,
|
| 22 |
+
"hidden_size": 768,
|
| 23 |
+
"id2label": {
|
| 24 |
+
"0": "LABEL_0",
|
| 25 |
+
"1": "LABEL_1"
|
| 26 |
+
},
|
| 27 |
+
"input_dim": 1024,
|
| 28 |
+
"is_decoder": false,
|
| 29 |
+
"is_encoder_decoder": false,
|
| 30 |
+
"label2id": {
|
| 31 |
+
"LABEL_0": 0,
|
| 32 |
+
"LABEL_1": 1
|
| 33 |
+
},
|
| 34 |
+
"length_penalty": 1.0,
|
| 35 |
+
"max_length": 20,
|
| 36 |
+
"min_length": 0,
|
| 37 |
+
"model_type": "linear",
|
| 38 |
+
"no_repeat_ngram_size": 0,
|
| 39 |
+
"num_beam_groups": 1,
|
| 40 |
+
"num_beams": 1,
|
| 41 |
+
"num_return_sequences": 1,
|
| 42 |
+
"output_attentions": false,
|
| 43 |
+
"output_hidden_states": false,
|
| 44 |
+
"output_scores": false,
|
| 45 |
+
"pad_token_id": null,
|
| 46 |
+
"prefix": null,
|
| 47 |
+
"problem_type": null,
|
| 48 |
+
"projector_config": null,
|
| 49 |
+
"pruned_heads": {},
|
| 50 |
+
"remove_invalid_values": false,
|
| 51 |
+
"repetition_penalty": 1.0,
|
| 52 |
+
"return_dict": true,
|
| 53 |
+
"return_dict_in_generate": false,
|
| 54 |
+
"sep_token_id": null,
|
| 55 |
+
"suppress_tokens": null,
|
| 56 |
+
"task_specific_params": null,
|
| 57 |
+
"temperature": 1.0,
|
| 58 |
+
"tf_legacy_loss": false,
|
| 59 |
+
"tie_encoder_decoder": false,
|
| 60 |
+
"tie_word_embeddings": true,
|
| 61 |
+
"tokenizer_class": null,
|
| 62 |
+
"top_k": 50,
|
| 63 |
+
"top_p": 1.0,
|
| 64 |
+
"torchscript": false,
|
| 65 |
+
"typical_p": 1.0,
|
| 66 |
+
"use_bfloat16": false
|
| 67 |
+
},
|
| 68 |
+
"architectures": [
|
| 69 |
+
"GLINTModel"
|
| 70 |
+
],
|
| 71 |
+
"auto_map": {
|
| 72 |
+
"AutoConfig": "configuration_glint.GLINTConfig",
|
| 73 |
+
"AutoModel": "modeling_glint.GLINTModel"
|
| 74 |
+
},
|
| 75 |
+
"can_return_loss": true,
|
| 76 |
+
"compute_logits_type": "vl_alignment",
|
| 77 |
+
"dfr_config": {
|
| 78 |
+
"_name_or_path": "",
|
| 79 |
+
"add_cross_attention": false,
|
| 80 |
+
"architectures": null,
|
| 81 |
+
"bad_words_ids": null,
|
| 82 |
+
"begin_suppress_tokens": null,
|
| 83 |
+
"bos_token_id": null,
|
| 84 |
+
"chunk_size_feed_forward": 0,
|
| 85 |
+
"cross_attention_hidden_size": null,
|
| 86 |
+
"decoder_start_token_id": null,
|
| 87 |
+
"diversity_penalty": 0.0,
|
| 88 |
+
"do_sample": false,
|
| 89 |
+
"dtype": null,
|
| 90 |
+
"early_stopping": false,
|
| 91 |
+
"encoder_no_repeat_ngram_size": 0,
|
| 92 |
+
"eos_token_id": null,
|
| 93 |
+
"exponential_decay_length_penalty": null,
|
| 94 |
+
"finetuning_task": null,
|
| 95 |
+
"forced_bos_token_id": null,
|
| 96 |
+
"forced_eos_token_id": null,
|
| 97 |
+
"id2label": {
|
| 98 |
+
"0": "LABEL_0",
|
| 99 |
+
"1": "LABEL_1"
|
| 100 |
+
},
|
| 101 |
+
"is_decoder": false,
|
| 102 |
+
"is_encoder_decoder": false,
|
| 103 |
+
"label2id": {
|
| 104 |
+
"LABEL_0": 0,
|
| 105 |
+
"LABEL_1": 1
|
| 106 |
+
},
|
| 107 |
+
"layer_mapping": {
|
| 108 |
+
"student_layers": [
|
| 109 |
+
22
|
| 110 |
+
],
|
| 111 |
+
"teacher_layers": [
|
| 112 |
+
44
|
| 113 |
+
],
|
| 114 |
+
"use_multiple_projectors": true
|
| 115 |
+
},
|
| 116 |
+
"length_penalty": 1.0,
|
| 117 |
+
"max_length": 20,
|
| 118 |
+
"min_length": 0,
|
| 119 |
+
"model_type": "",
|
| 120 |
+
"no_repeat_ngram_size": 0,
|
| 121 |
+
"num_beam_groups": 1,
|
| 122 |
+
"num_beams": 1,
|
| 123 |
+
"num_return_sequences": 1,
|
| 124 |
+
"output_attentions": false,
|
| 125 |
+
"output_hidden_states": false,
|
| 126 |
+
"output_scores": false,
|
| 127 |
+
"pad_token_id": null,
|
| 128 |
+
"prefix": null,
|
| 129 |
+
"problem_type": null,
|
| 130 |
+
"projector_config": {
|
| 131 |
+
"_name_or_path": "",
|
| 132 |
+
"activation": "silu",
|
| 133 |
+
"add_cross_attention": false,
|
| 134 |
+
"architectures": null,
|
| 135 |
+
"bad_words_ids": null,
|
| 136 |
+
"begin_suppress_tokens": null,
|
| 137 |
+
"bos_token_id": null,
|
| 138 |
+
"chunk_size_feed_forward": 0,
|
| 139 |
+
"cross_attention_hidden_size": null,
|
| 140 |
+
"decoder_start_token_id": null,
|
| 141 |
+
"diversity_penalty": 0.0,
|
| 142 |
+
"do_sample": false,
|
| 143 |
+
"dropout": 0.0,
|
| 144 |
+
"dtype": null,
|
| 145 |
+
"early_stopping": false,
|
| 146 |
+
"encoder_no_repeat_ngram_size": 0,
|
| 147 |
+
"eos_token_id": null,
|
| 148 |
+
"exponential_decay_length_penalty": null,
|
| 149 |
+
"finetuning_task": null,
|
| 150 |
+
"forced_bos_token_id": null,
|
| 151 |
+
"forced_eos_token_id": null,
|
| 152 |
+
"hidden_dim": 2048,
|
| 153 |
+
"id2label": {
|
| 154 |
+
"0": "LABEL_0",
|
| 155 |
+
"1": "LABEL_1"
|
| 156 |
+
},
|
| 157 |
+
"input_dim": 1024,
|
| 158 |
+
"is_decoder": false,
|
| 159 |
+
"is_encoder_decoder": false,
|
| 160 |
+
"label2id": {
|
| 161 |
+
"LABEL_0": 0,
|
| 162 |
+
"LABEL_1": 1
|
| 163 |
+
},
|
| 164 |
+
"length_penalty": 1.0,
|
| 165 |
+
"max_length": 20,
|
| 166 |
+
"min_length": 0,
|
| 167 |
+
"model_type": "mlp",
|
| 168 |
+
"no_repeat_ngram_size": 0,
|
| 169 |
+
"num_beam_groups": 1,
|
| 170 |
+
"num_beams": 1,
|
| 171 |
+
"num_layers": 3,
|
| 172 |
+
"num_return_sequences": 1,
|
| 173 |
+
"out_dim": 1664,
|
| 174 |
+
"output_attentions": false,
|
| 175 |
+
"output_hidden_states": false,
|
| 176 |
+
"output_scores": false,
|
| 177 |
+
"pad_token_id": null,
|
| 178 |
+
"prefix": null,
|
| 179 |
+
"problem_type": null,
|
| 180 |
+
"pruned_heads": {},
|
| 181 |
+
"remove_invalid_values": false,
|
| 182 |
+
"repetition_penalty": 1.0,
|
| 183 |
+
"return_dict": true,
|
| 184 |
+
"return_dict_in_generate": false,
|
| 185 |
+
"sep_token_id": null,
|
| 186 |
+
"suppress_tokens": null,
|
| 187 |
+
"task_specific_params": null,
|
| 188 |
+
"temperature": 1.0,
|
| 189 |
+
"tf_legacy_loss": false,
|
| 190 |
+
"tie_encoder_decoder": false,
|
| 191 |
+
"tie_word_embeddings": true,
|
| 192 |
+
"tokenizer_class": null,
|
| 193 |
+
"top_k": 50,
|
| 194 |
+
"top_p": 1.0,
|
| 195 |
+
"torchscript": false,
|
| 196 |
+
"typical_p": 1.0,
|
| 197 |
+
"use_bfloat16": false
|
| 198 |
+
},
|
| 199 |
+
"pruned_heads": {},
|
| 200 |
+
"remove_invalid_values": false,
|
| 201 |
+
"repetition_penalty": 1.0,
|
| 202 |
+
"return_dict": true,
|
| 203 |
+
"return_dict_in_generate": false,
|
| 204 |
+
"sep_token_id": null,
|
| 205 |
+
"suppress_tokens": null,
|
| 206 |
+
"task_specific_params": null,
|
| 207 |
+
"temperature": 1.0,
|
| 208 |
+
"tf_legacy_loss": false,
|
| 209 |
+
"tie_encoder_decoder": false,
|
| 210 |
+
"tie_word_embeddings": true,
|
| 211 |
+
"tokenizer_class": null,
|
| 212 |
+
"top_k": 50,
|
| 213 |
+
"top_p": 1.0,
|
| 214 |
+
"torchscript": false,
|
| 215 |
+
"typical_p": 1.0,
|
| 216 |
+
"use_bfloat16": false,
|
| 217 |
+
"use_cache": true,
|
| 218 |
+
"vfm_teacher_config": null
|
| 219 |
+
},
|
| 220 |
+
"dtype": "float32",
|
| 221 |
+
"loss": {
|
| 222 |
+
"AlignmentLoss": {
|
| 223 |
+
"local_loss": true,
|
| 224 |
+
"loss_kwargs": {
|
| 225 |
+
"temperature": 0.07
|
| 226 |
+
},
|
| 227 |
+
"loss_type": "mpnce",
|
| 228 |
+
"rank": 0,
|
| 229 |
+
"vl_logit_kwargs": {
|
| 230 |
+
"embed_dim": 768,
|
| 231 |
+
"gate_hidden_dim": 768,
|
| 232 |
+
"gate_log_temperature": 2.302585,
|
| 233 |
+
"gate_proj_mode": "mlp",
|
| 234 |
+
"sem_hidden_dim": 768,
|
| 235 |
+
"sem_proj_mode": "identity"
|
| 236 |
+
},
|
| 237 |
+
"vl_logit_type": "gate_confidence_shift",
|
| 238 |
+
"world_size": 1
|
| 239 |
+
},
|
| 240 |
+
"DFRLoss": {
|
| 241 |
+
"rank": 0,
|
| 242 |
+
"use_token_wise": true,
|
| 243 |
+
"world_size": 1
|
| 244 |
+
},
|
| 245 |
+
"apply": [
|
| 246 |
+
"AlignmentLoss",
|
| 247 |
+
"DFRLoss"
|
| 248 |
+
],
|
| 249 |
+
"ratio": [
|
| 250 |
+
1.0,
|
| 251 |
+
8.0
|
| 252 |
+
]
|
| 253 |
+
},
|
| 254 |
+
"text_config": {
|
| 255 |
+
"_name_or_path": "sentence-transformers/all-mpnet-base-v2",
|
| 256 |
+
"add_cross_attention": false,
|
| 257 |
+
"architectures": [
|
| 258 |
+
"MPNetForMaskedLM"
|
| 259 |
+
],
|
| 260 |
+
"attention_probs_dropout_prob": 0.1,
|
| 261 |
+
"bad_words_ids": null,
|
| 262 |
+
"begin_suppress_tokens": null,
|
| 263 |
+
"bos_token_id": 0,
|
| 264 |
+
"chunk_size_feed_forward": 0,
|
| 265 |
+
"cross_attention_hidden_size": null,
|
| 266 |
+
"decoder_start_token_id": null,
|
| 267 |
+
"diversity_penalty": 0.0,
|
| 268 |
+
"do_sample": false,
|
| 269 |
+
"dtype": null,
|
| 270 |
+
"early_stopping": false,
|
| 271 |
+
"encoder_no_repeat_ngram_size": 0,
|
| 272 |
+
"eos_token_id": 2,
|
| 273 |
+
"exponential_decay_length_penalty": null,
|
| 274 |
+
"finetuning_task": null,
|
| 275 |
+
"forced_bos_token_id": null,
|
| 276 |
+
"forced_eos_token_id": null,
|
| 277 |
+
"hidden_act": "gelu",
|
| 278 |
+
"hidden_dropout_prob": 0.1,
|
| 279 |
+
"hidden_size": 768,
|
| 280 |
+
"id2label": {
|
| 281 |
+
"0": "LABEL_0",
|
| 282 |
+
"1": "LABEL_1"
|
| 283 |
+
},
|
| 284 |
+
"initializer_range": 0.02,
|
| 285 |
+
"intermediate_size": 3072,
|
| 286 |
+
"is_decoder": false,
|
| 287 |
+
"is_encoder_decoder": false,
|
| 288 |
+
"label2id": {
|
| 289 |
+
"LABEL_0": 0,
|
| 290 |
+
"LABEL_1": 1
|
| 291 |
+
},
|
| 292 |
+
"layer_norm_eps": 1e-05,
|
| 293 |
+
"length_penalty": 1.0,
|
| 294 |
+
"max_length": 20,
|
| 295 |
+
"max_position_embeddings": 514,
|
| 296 |
+
"min_length": 0,
|
| 297 |
+
"model_type": "mpnet",
|
| 298 |
+
"no_repeat_ngram_size": 0,
|
| 299 |
+
"num_attention_heads": 12,
|
| 300 |
+
"num_beam_groups": 1,
|
| 301 |
+
"num_beams": 1,
|
| 302 |
+
"num_hidden_layers": 12,
|
| 303 |
+
"num_return_sequences": 1,
|
| 304 |
+
"output_attentions": false,
|
| 305 |
+
"output_hidden_states": false,
|
| 306 |
+
"output_scores": false,
|
| 307 |
+
"pad_token_id": 1,
|
| 308 |
+
"prefix": null,
|
| 309 |
+
"problem_type": null,
|
| 310 |
+
"pruned_heads": {},
|
| 311 |
+
"relative_attention_num_buckets": 32,
|
| 312 |
+
"remove_invalid_values": false,
|
| 313 |
+
"repetition_penalty": 1.0,
|
| 314 |
+
"return_dict": true,
|
| 315 |
+
"return_dict_in_generate": false,
|
| 316 |
+
"sep_token_id": null,
|
| 317 |
+
"suppress_tokens": null,
|
| 318 |
+
"task_specific_params": null,
|
| 319 |
+
"temperature": 1.0,
|
| 320 |
+
"tf_legacy_loss": false,
|
| 321 |
+
"tie_encoder_decoder": false,
|
| 322 |
+
"tie_word_embeddings": true,
|
| 323 |
+
"tokenizer_class": null,
|
| 324 |
+
"top_k": 50,
|
| 325 |
+
"top_p": 1.0,
|
| 326 |
+
"torchscript": false,
|
| 327 |
+
"typical_p": 1.0,
|
| 328 |
+
"use_bfloat16": false,
|
| 329 |
+
"use_cls_token": false,
|
| 330 |
+
"vocab_size": 30527
|
| 331 |
+
},
|
| 332 |
+
"transformers_version": "4.56.1",
|
| 333 |
+
"use_text_layer_norm": true,
|
| 334 |
+
"use_vision_layer_norm": true,
|
| 335 |
+
"vision_config": {
|
| 336 |
+
"_name_or_path": "",
|
| 337 |
+
"add_cross_attention": false,
|
| 338 |
+
"arch": "vjepa2_1_vit_large_384",
|
| 339 |
+
"architectures": null,
|
| 340 |
+
"bad_words_ids": null,
|
| 341 |
+
"begin_suppress_tokens": null,
|
| 342 |
+
"bos_token_id": null,
|
| 343 |
+
"chunk_size_feed_forward": 0,
|
| 344 |
+
"cross_attention_hidden_size": null,
|
| 345 |
+
"decoder_start_token_id": null,
|
| 346 |
+
"diversity_penalty": 0.0,
|
| 347 |
+
"do_sample": false,
|
| 348 |
+
"dtype": null,
|
| 349 |
+
"early_stopping": false,
|
| 350 |
+
"encoder_no_repeat_ngram_size": 0,
|
| 351 |
+
"eos_token_id": null,
|
| 352 |
+
"exponential_decay_length_penalty": null,
|
| 353 |
+
"finetuning_task": null,
|
| 354 |
+
"forced_bos_token_id": null,
|
| 355 |
+
"forced_eos_token_id": null,
|
| 356 |
+
"hidden_size": 1024,
|
| 357 |
+
"id2label": {
|
| 358 |
+
"0": "LABEL_0",
|
| 359 |
+
"1": "LABEL_1"
|
| 360 |
+
},
|
| 361 |
+
"img_size": 384,
|
| 362 |
+
"input_modality": 3,
|
| 363 |
+
"input_slices": 240,
|
| 364 |
+
"is_decoder": false,
|
| 365 |
+
"is_encoder_decoder": false,
|
| 366 |
+
"label2id": {
|
| 367 |
+
"LABEL_0": 0,
|
| 368 |
+
"LABEL_1": 1
|
| 369 |
+
},
|
| 370 |
+
"length_penalty": 1.0,
|
| 371 |
+
"max_length": 20,
|
| 372 |
+
"min_length": 0,
|
| 373 |
+
"model_type": "vjepa2.1",
|
| 374 |
+
"no_repeat_ngram_size": 0,
|
| 375 |
+
"num_beam_groups": 1,
|
| 376 |
+
"num_beams": 1,
|
| 377 |
+
"num_channels": 3,
|
| 378 |
+
"num_frames": 80,
|
| 379 |
+
"num_return_sequences": 1,
|
| 380 |
+
"output_attentions": false,
|
| 381 |
+
"output_hidden_states": false,
|
| 382 |
+
"output_scores": false,
|
| 383 |
+
"pad_token_id": null,
|
| 384 |
+
"prefix": null,
|
| 385 |
+
"pretrained_checkpoint": null,
|
| 386 |
+
"problem_type": null,
|
| 387 |
+
"pruned_heads": {},
|
| 388 |
+
"remove_invalid_values": false,
|
| 389 |
+
"repetition_penalty": 1.0,
|
| 390 |
+
"return_dict": true,
|
| 391 |
+
"return_dict_in_generate": false,
|
| 392 |
+
"sep_token_id": null,
|
| 393 |
+
"suppress_tokens": null,
|
| 394 |
+
"task_specific_params": null,
|
| 395 |
+
"temperature": 1.0,
|
| 396 |
+
"tf_legacy_loss": false,
|
| 397 |
+
"tie_encoder_decoder": false,
|
| 398 |
+
"tie_word_embeddings": true,
|
| 399 |
+
"tokenizer_class": null,
|
| 400 |
+
"top_k": 50,
|
| 401 |
+
"top_p": 1.0,
|
| 402 |
+
"torchscript": false,
|
| 403 |
+
"typical_p": 1.0,
|
| 404 |
+
"use_bfloat16": false,
|
| 405 |
+
"use_hierarchical": false
|
| 406 |
+
},
|
| 407 |
+
"vision_only": false
|
| 408 |
+
}
|
configuration_glint.py
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from transformers.configuration_utils import PretrainedConfig
|
| 2 |
+
|
| 3 |
+
|
| 4 |
+
class SubConfig(PretrainedConfig):
|
| 5 |
+
# PretrainedConfig.to_dict() emits the class-level model_type (""), breaking save/load round-trips
|
| 6 |
+
def to_dict(self):
|
| 7 |
+
output = super().to_dict()
|
| 8 |
+
output["model_type"] = self.model_type
|
| 9 |
+
return output
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
class VisionConfig(SubConfig):
|
| 13 |
+
def __init__(
|
| 14 |
+
self,
|
| 15 |
+
**kwargs,
|
| 16 |
+
):
|
| 17 |
+
super().__init__(**kwargs)
|
| 18 |
+
|
| 19 |
+
@staticmethod
|
| 20 |
+
def from_exp_config(vision_config: dict):
|
| 21 |
+
model_type = vision_config["model_type"]
|
| 22 |
+
|
| 23 |
+
if model_type == "vjepa2.1":
|
| 24 |
+
from .vjepa21_encoder import ARCH_MAP, VIT_EMBED_DIMS
|
| 25 |
+
|
| 26 |
+
arch = vision_config.get("arch", "vjepa2_1_vit_large_384")
|
| 27 |
+
factory_name = ARCH_MAP[arch][0].__name__
|
| 28 |
+
embed_dim = VIT_EMBED_DIMS.get(factory_name, 1024)
|
| 29 |
+
use_hierarchical = vision_config.get("use_hierarchical", False)
|
| 30 |
+
n_levels = ARCH_MAP[arch][1]
|
| 31 |
+
vision_config["hidden_size"] = embed_dim * n_levels if use_hierarchical else embed_dim
|
| 32 |
+
elif model_type not in ["vjepa2", "dinov2", "dinov3_vit"]:
|
| 33 |
+
raise NotImplementedError()
|
| 34 |
+
|
| 35 |
+
vision_config = VisionConfig(**vision_config)
|
| 36 |
+
|
| 37 |
+
return vision_config
|
| 38 |
+
|
| 39 |
+
|
| 40 |
+
class TextConfig(SubConfig):
|
| 41 |
+
def __init__(
|
| 42 |
+
self,
|
| 43 |
+
model_type,
|
| 44 |
+
**kwargs,
|
| 45 |
+
):
|
| 46 |
+
super().__init__(**kwargs)
|
| 47 |
+
self.model_type = model_type
|
| 48 |
+
|
| 49 |
+
@staticmethod
|
| 50 |
+
def from_exp_config(
|
| 51 |
+
text_config: dict,
|
| 52 |
+
):
|
| 53 |
+
if text_config["model_type"] not in ["mpnet", "modernbert", "cxr-bert"]:
|
| 54 |
+
raise NotImplementedError()
|
| 55 |
+
|
| 56 |
+
return TextConfig(**text_config)
|
| 57 |
+
|
| 58 |
+
|
| 59 |
+
class AlignLayerConfig(SubConfig):
|
| 60 |
+
def __init__(
|
| 61 |
+
self,
|
| 62 |
+
model_type: str = "align_transformer",
|
| 63 |
+
projector_config=None,
|
| 64 |
+
**kwargs,
|
| 65 |
+
):
|
| 66 |
+
super().__init__(**kwargs)
|
| 67 |
+
self.model_type = model_type
|
| 68 |
+
self.projector_config = projector_config
|
| 69 |
+
|
| 70 |
+
@staticmethod
|
| 71 |
+
def from_exp_config(
|
| 72 |
+
align_layer_config: dict,
|
| 73 |
+
):
|
| 74 |
+
if align_layer_config["model_type"] == "align_transformer":
|
| 75 |
+
from transformers.models.dinov2.configuration_dinov2 import Dinov2Config
|
| 76 |
+
|
| 77 |
+
config = Dinov2Config(**align_layer_config)
|
| 78 |
+
config = config.to_dict()
|
| 79 |
+
align_layer_config.update(config)
|
| 80 |
+
align_layer_config["model_type"] = "align_transformer"
|
| 81 |
+
|
| 82 |
+
align_layer_config = AlignLayerConfig(
|
| 83 |
+
**align_layer_config,
|
| 84 |
+
)
|
| 85 |
+
|
| 86 |
+
return align_layer_config
|
| 87 |
+
|
| 88 |
+
|
| 89 |
+
class ProjectorConfig(SubConfig):
|
| 90 |
+
def __init__(self, **kwargs):
|
| 91 |
+
super().__init__(**kwargs)
|
| 92 |
+
|
| 93 |
+
|
| 94 |
+
class DFRConfig(SubConfig):
|
| 95 |
+
def __init__(
|
| 96 |
+
self,
|
| 97 |
+
vfm_teacher_config: dict = None,
|
| 98 |
+
projector_config: dict = None,
|
| 99 |
+
layer_mapping: dict = None,
|
| 100 |
+
**kwargs,
|
| 101 |
+
):
|
| 102 |
+
super().__init__(**kwargs)
|
| 103 |
+
self.vfm_teacher_config = vfm_teacher_config
|
| 104 |
+
self.projector_config = projector_config
|
| 105 |
+
self.layer_mapping = layer_mapping
|
| 106 |
+
|
| 107 |
+
@staticmethod
|
| 108 |
+
def from_exp_config(dfr_config: dict):
|
| 109 |
+
if "vfm_teacher_config" in dfr_config and dfr_config["vfm_teacher_config"] is not None:
|
| 110 |
+
dfr_config["vfm_teacher_config"] = VisionConfig.from_exp_config(dfr_config["vfm_teacher_config"])
|
| 111 |
+
|
| 112 |
+
if "projector_config" in dfr_config and dfr_config["projector_config"] is not None:
|
| 113 |
+
dfr_config["projector_config"] = ProjectorConfig(**dfr_config["projector_config"])
|
| 114 |
+
|
| 115 |
+
return DFRConfig(**dfr_config)
|
| 116 |
+
|
| 117 |
+
|
| 118 |
+
class GLINTConfig(PretrainedConfig):
|
| 119 |
+
is_composition = True
|
| 120 |
+
|
| 121 |
+
def __init__(
|
| 122 |
+
self,
|
| 123 |
+
vision_config: dict = None,
|
| 124 |
+
text_config: dict = None,
|
| 125 |
+
align_layer_config: dict = None,
|
| 126 |
+
predictor_config: dict = None,
|
| 127 |
+
prototype_head_config: dict = None,
|
| 128 |
+
dfr_config: dict = None,
|
| 129 |
+
vision_only: bool = False,
|
| 130 |
+
**kwargs,
|
| 131 |
+
):
|
| 132 |
+
super().__init__(**kwargs)
|
| 133 |
+
self.vision_only = vision_only
|
| 134 |
+
|
| 135 |
+
if vision_config is not None:
|
| 136 |
+
pretrained_dir = kwargs.get("pretrained_dir")
|
| 137 |
+
if pretrained_dir and "pretrained_dir" not in vision_config:
|
| 138 |
+
vision_config["pretrained_dir"] = pretrained_dir
|
| 139 |
+
self.vision_config = VisionConfig.from_exp_config(vision_config)
|
| 140 |
+
|
| 141 |
+
if text_config is not None:
|
| 142 |
+
self.text_config = TextConfig.from_exp_config(text_config)
|
| 143 |
+
|
| 144 |
+
if align_layer_config is not None:
|
| 145 |
+
self.align_layer_config = AlignLayerConfig.from_exp_config(align_layer_config)
|
| 146 |
+
|
| 147 |
+
if dfr_config is not None:
|
| 148 |
+
pretrained_dir = kwargs.get("pretrained_dir")
|
| 149 |
+
teacher = dfr_config.get("vfm_teacher_config")
|
| 150 |
+
if pretrained_dir and teacher is not None:
|
| 151 |
+
teacher.setdefault("pretrained_dir", pretrained_dir)
|
| 152 |
+
self.dfr_config = DFRConfig.from_exp_config(dfr_config)
|
| 153 |
+
|
| 154 |
+
self.kwargs = kwargs
|
data/README.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Data splits (chest CT)
|
| 2 |
+
|
| 3 |
+
- Split ID lists; download each dataset from its source under its own terms.
|
| 4 |
+
- `val` is for model selection; `test` is official unless noted.
|
| 5 |
+
|
| 6 |
+
| Dataset | Files | ID format | Train / Val / Test | Notes |
|
| 7 |
+
|---|---|---|---|---|
|
| 8 |
+
| LIDC-IDRI | `splits/lidc_idri/` | `PatientID/StudyUID/SeriesUID` | 705 / 148 / 157 | Patient-disjoint |
|
| 9 |
+
| RSNA-PE | `splits/rsna_pe/` | `StudyUID/SeriesUID` | 4,983 / 1,062 / 1,060 | Study-level (Ke et al., MIDL 2024) |
|
| 10 |
+
| MSD-Lung | `splits/msd_lung/` | MSD case id | 44 / 6 / 13 | Holdout of 63 cases |
|
| 11 |
+
| NSCLC-Radiomics | `splits/nsclc_radiomics/` | `LUNG1-XXX` | 294 / 42 / 84 | LUNG1-035/128 excluded (corrupt) |
|
| 12 |
+
| CT-RATE | `splits/ct_rate/` | volume name | 43,400 / 2,994 / 3,002 | `test` = official validation (1,304 patients); `val` = 1,304 patients from the official train |
|
| 13 |
+
|
| 14 |
+
CT-RATE notes (the lists already exclude CT-RATE's non-chest volumes and 3 unreadable ones):
|
| 15 |
+
- **Pretraining:** also excludes `pretrain_exclusions.txt` (ReXGroundingCT overlap) and volumes with an empty report decomposition → 43,337 / 2,990 / 3,002.
|
| 16 |
+
- **Fine-tuning:** also excludes 11 unusable volumes (`ft/chest_ct/*/dataset/ct_rate.py`) → 43,390 / 2,993 / 3,002.
|
data/splits/ct_rate/pretrain_exclusions.txt
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
train_1267_a_4
|
| 2 |
+
train_11755_a_3
|
| 3 |
+
train_11755_a_4
|
| 4 |
+
train_13082_a_1
|
| 5 |
+
train_13591_a_1
|
| 6 |
+
train_13035_a_1
|
| 7 |
+
train_13177_a_2
|
| 8 |
+
train_13301_a_2
|
| 9 |
+
train_13583_d_2
|
| 10 |
+
train_13113_a_1
|
| 11 |
+
train_13256_b_2
|
| 12 |
+
train_13119_c_1
|
| 13 |
+
train_13492_b_2
|
| 14 |
+
train_13155_a_2
|
| 15 |
+
train_13417_d_1
|
| 16 |
+
train_13076_a_1
|
| 17 |
+
train_13102_a_1
|
| 18 |
+
train_13111_a_2
|
| 19 |
+
train_13075_a_2
|
| 20 |
+
train_13440_a_1
|
| 21 |
+
train_13624_a_2
|
| 22 |
+
train_13426_a_2
|
| 23 |
+
train_13013_a_1
|
| 24 |
+
train_13471_a_1
|
| 25 |
+
train_13141_a_1
|
| 26 |
+
train_13479_j_1
|
| 27 |
+
train_12991_a_1
|
| 28 |
+
train_13288_a_2
|
| 29 |
+
train_13447_a_1
|
| 30 |
+
train_13577_a_2
|
| 31 |
+
train_13430_a_2
|
| 32 |
+
train_13497_a_1
|
| 33 |
+
train_13292_a_2
|
| 34 |
+
train_13431_a_1
|
| 35 |
+
train_13020_a_2
|
| 36 |
+
train_13278_b_2
|
| 37 |
+
train_13252_b_2
|
| 38 |
+
train_13098_a_2
|
| 39 |
+
train_12994_a_1
|
| 40 |
+
train_13572_a_2
|
| 41 |
+
train_13166_a_2
|
| 42 |
+
train_13479_e_1
|
| 43 |
+
train_13481_a_2
|
| 44 |
+
train_13092_a_2
|
| 45 |
+
train_13631_a_1
|
| 46 |
+
train_13398_a_1
|
| 47 |
+
train_13189_a_1
|
| 48 |
+
train_13284_a_2
|
| 49 |
+
train_13148_a_2
|
| 50 |
+
train_13249_b_2
|
| 51 |
+
train_13444_a_2
|
| 52 |
+
train_13316_a_2
|
| 53 |
+
train_13339_a_1
|
data/splits/ct_rate/test.txt
ADDED
|
@@ -0,0 +1,3002 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
valid_1_a_1
|
| 2 |
+
valid_1_a_2
|
| 3 |
+
valid_2_a_1
|
| 4 |
+
valid_2_a_2
|
| 5 |
+
valid_3_a_1
|
| 6 |
+
valid_3_a_2
|
| 7 |
+
valid_4_a_1
|
| 8 |
+
valid_4_a_2
|
| 9 |
+
valid_4_b_1
|
| 10 |
+
valid_4_b_2
|
| 11 |
+
valid_5_a_1
|
| 12 |
+
valid_5_a_2
|
| 13 |
+
valid_6_a_1
|
| 14 |
+
valid_6_a_2
|
| 15 |
+
valid_7_a_1
|
| 16 |
+
valid_7_a_2
|
| 17 |
+
valid_7_b_1
|
| 18 |
+
valid_7_b_2
|
| 19 |
+
valid_8_a_1
|
| 20 |
+
valid_8_a_2
|
| 21 |
+
valid_9_a_1
|
| 22 |
+
valid_9_a_2
|
| 23 |
+
valid_10_a_1
|
| 24 |
+
valid_10_a_2
|
| 25 |
+
valid_11_a_1
|
| 26 |
+
valid_11_a_2
|
| 27 |
+
valid_12_a_1
|
| 28 |
+
valid_12_a_2
|
| 29 |
+
valid_13_a_1
|
| 30 |
+
valid_13_a_2
|
| 31 |
+
valid_14_a_1
|
| 32 |
+
valid_14_a_2
|
| 33 |
+
valid_15_a_1
|
| 34 |
+
valid_15_a_2
|
| 35 |
+
valid_16_a_1
|
| 36 |
+
valid_16_a_2
|
| 37 |
+
valid_17_a_1
|
| 38 |
+
valid_17_a_2
|
| 39 |
+
valid_18_a_1
|
| 40 |
+
valid_18_a_2
|
| 41 |
+
valid_19_a_1
|
| 42 |
+
valid_20_a_1
|
| 43 |
+
valid_20_a_2
|
| 44 |
+
valid_20_b_1
|
| 45 |
+
valid_20_b_2
|
| 46 |
+
valid_21_a_1
|
| 47 |
+
valid_21_a_2
|
| 48 |
+
valid_22_a_1
|
| 49 |
+
valid_22_a_2
|
| 50 |
+
valid_23_a_1
|
| 51 |
+
valid_23_a_2
|
| 52 |
+
valid_24_a_1
|
| 53 |
+
valid_24_a_2
|
| 54 |
+
valid_25_a_1
|
| 55 |
+
valid_25_a_2
|
| 56 |
+
valid_26_a_1
|
| 57 |
+
valid_26_a_2
|
| 58 |
+
valid_27_a_1
|
| 59 |
+
valid_27_a_2
|
| 60 |
+
valid_27_b_1
|
| 61 |
+
valid_27_b_2
|
| 62 |
+
valid_28_a_1
|
| 63 |
+
valid_28_a_2
|
| 64 |
+
valid_29_a_1
|
| 65 |
+
valid_29_a_2
|
| 66 |
+
valid_30_a_1
|
| 67 |
+
valid_31_a_1
|
| 68 |
+
valid_31_a_2
|
| 69 |
+
valid_32_a_1
|
| 70 |
+
valid_33_a_1
|
| 71 |
+
valid_33_a_2
|
| 72 |
+
valid_34_a_1
|
| 73 |
+
valid_34_a_2
|
| 74 |
+
valid_35_a_1
|
| 75 |
+
valid_35_a_2
|
| 76 |
+
valid_36_a_1
|
| 77 |
+
valid_37_a_1
|
| 78 |
+
valid_38_a_1
|
| 79 |
+
valid_38_a_2
|
| 80 |
+
valid_39_a_1
|
| 81 |
+
valid_39_a_2
|
| 82 |
+
valid_40_a_1
|
| 83 |
+
valid_40_a_2
|
| 84 |
+
valid_41_a_1
|
| 85 |
+
valid_41_a_2
|
| 86 |
+
valid_41_b_1
|
| 87 |
+
valid_41_b_2
|
| 88 |
+
valid_42_a_1
|
| 89 |
+
valid_43_a_1
|
| 90 |
+
valid_43_a_2
|
| 91 |
+
valid_44_a_1
|
| 92 |
+
valid_44_a_2
|
| 93 |
+
valid_45_a_1
|
| 94 |
+
valid_45_a_2
|
| 95 |
+
valid_46_a_1
|
| 96 |
+
valid_46_a_2
|
| 97 |
+
valid_47_a_1
|
| 98 |
+
valid_47_a_2
|
| 99 |
+
valid_48_a_1
|
| 100 |
+
valid_48_a_2
|
| 101 |
+
valid_49_a_1
|
| 102 |
+
valid_49_a_2
|
| 103 |
+
valid_50_a_1
|
| 104 |
+
valid_50_a_2
|
| 105 |
+
valid_51_a_1
|
| 106 |
+
valid_51_a_2
|
| 107 |
+
valid_52_a_1
|
| 108 |
+
valid_52_a_2
|
| 109 |
+
valid_53_a_1
|
| 110 |
+
valid_53_a_2
|
| 111 |
+
valid_53_b_1
|
| 112 |
+
valid_53_b_2
|
| 113 |
+
valid_54_a_1
|
| 114 |
+
valid_54_a_2
|
| 115 |
+
valid_55_a_1
|
| 116 |
+
valid_55_a_2
|
| 117 |
+
valid_56_a_1
|
| 118 |
+
valid_56_a_2
|
| 119 |
+
valid_57_a_1
|
| 120 |
+
valid_57_a_2
|
| 121 |
+
valid_58_a_1
|
| 122 |
+
valid_58_a_2
|
| 123 |
+
valid_59_a_1
|
| 124 |
+
valid_59_a_2
|
| 125 |
+
valid_60_a_1
|
| 126 |
+
valid_60_a_2
|
| 127 |
+
valid_60_b_1
|
| 128 |
+
valid_60_b_2
|
| 129 |
+
valid_60_c_1
|
| 130 |
+
valid_60_c_2
|
| 131 |
+
valid_61_a_1
|
| 132 |
+
valid_61_a_2
|
| 133 |
+
valid_62_a_1
|
| 134 |
+
valid_62_a_2
|
| 135 |
+
valid_62_b_1
|
| 136 |
+
valid_62_b_2
|
| 137 |
+
valid_62_c_1
|
| 138 |
+
valid_62_c_2
|
| 139 |
+
valid_63_a_1
|
| 140 |
+
valid_63_a_2
|
| 141 |
+
valid_63_b_1
|
| 142 |
+
valid_63_b_2
|
| 143 |
+
valid_64_a_1
|
| 144 |
+
valid_64_a_2
|
| 145 |
+
valid_64_a_3
|
| 146 |
+
valid_64_b_1
|
| 147 |
+
valid_64_b_2
|
| 148 |
+
valid_64_c_1
|
| 149 |
+
valid_64_c_2
|
| 150 |
+
valid_65_a_1
|
| 151 |
+
valid_66_a_1
|
| 152 |
+
valid_67_a_1
|
| 153 |
+
valid_68_a_1
|
| 154 |
+
valid_69_a_1
|
| 155 |
+
valid_69_a_2
|
| 156 |
+
valid_70_a_1
|
| 157 |
+
valid_70_a_2
|
| 158 |
+
valid_71_a_1
|
| 159 |
+
valid_71_a_2
|
| 160 |
+
valid_71_b_1
|
| 161 |
+
valid_71_b_2
|
| 162 |
+
valid_72_a_1
|
| 163 |
+
valid_72_a_2
|
| 164 |
+
valid_73_a_1
|
| 165 |
+
valid_73_a_2
|
| 166 |
+
valid_74_a_1
|
| 167 |
+
valid_74_a_2
|
| 168 |
+
valid_75_a_1
|
| 169 |
+
valid_75_a_2
|
| 170 |
+
valid_76_a_1
|
| 171 |
+
valid_77_a_1
|
| 172 |
+
valid_77_a_2
|
| 173 |
+
valid_78_a_1
|
| 174 |
+
valid_78_a_2
|
| 175 |
+
valid_79_a_1
|
| 176 |
+
valid_79_a_2
|
| 177 |
+
valid_80_a_1
|
| 178 |
+
valid_80_a_2
|
| 179 |
+
valid_81_a_1
|
| 180 |
+
valid_81_a_2
|
| 181 |
+
valid_82_a_1
|
| 182 |
+
valid_82_a_2
|
| 183 |
+
valid_83_a_1
|
| 184 |
+
valid_83_a_2
|
| 185 |
+
valid_84_a_1
|
| 186 |
+
valid_84_a_2
|
| 187 |
+
valid_85_a_1
|
| 188 |
+
valid_85_a_2
|
| 189 |
+
valid_86_a_1
|
| 190 |
+
valid_86_a_2
|
| 191 |
+
valid_87_a_1
|
| 192 |
+
valid_87_a_2
|
| 193 |
+
valid_88_a_1
|
| 194 |
+
valid_88_a_2
|
| 195 |
+
valid_89_a_1
|
| 196 |
+
valid_89_a_2
|
| 197 |
+
valid_90_a_1
|
| 198 |
+
valid_90_a_2
|
| 199 |
+
valid_90_b_1
|
| 200 |
+
valid_90_b_2
|
| 201 |
+
valid_90_c_1
|
| 202 |
+
valid_90_c_2
|
| 203 |
+
valid_91_a_1
|
| 204 |
+
valid_91_a_2
|
| 205 |
+
valid_92_a_1
|
| 206 |
+
valid_92_a_2
|
| 207 |
+
valid_93_a_1
|
| 208 |
+
valid_93_a_2
|
| 209 |
+
valid_94_a_1
|
| 210 |
+
valid_94_a_2
|
| 211 |
+
valid_95_a_1
|
| 212 |
+
valid_95_a_2
|
| 213 |
+
valid_96_a_1
|
| 214 |
+
valid_96_a_2
|
| 215 |
+
valid_96_b_1
|
| 216 |
+
valid_96_b_2
|
| 217 |
+
valid_97_a_1
|
| 218 |
+
valid_97_a_2
|
| 219 |
+
valid_98_a_1
|
| 220 |
+
valid_98_a_2
|
| 221 |
+
valid_99_a_1
|
| 222 |
+
valid_99_a_2
|
| 223 |
+
valid_100_a_1
|
| 224 |
+
valid_100_a_2
|
| 225 |
+
valid_101_a_1
|
| 226 |
+
valid_101_b_1
|
| 227 |
+
valid_101_b_2
|
| 228 |
+
valid_102_a_1
|
| 229 |
+
valid_102_a_2
|
| 230 |
+
valid_103_a_1
|
| 231 |
+
valid_103_a_2
|
| 232 |
+
valid_104_a_1
|
| 233 |
+
valid_104_a_2
|
| 234 |
+
valid_105_a_1
|
| 235 |
+
valid_105_a_2
|
| 236 |
+
valid_106_a_1
|
| 237 |
+
valid_106_a_2
|
| 238 |
+
valid_106_a_3
|
| 239 |
+
valid_106_a_4
|
| 240 |
+
valid_107_a_1
|
| 241 |
+
valid_107_a_2
|
| 242 |
+
valid_107_b_1
|
| 243 |
+
valid_107_b_2
|
| 244 |
+
valid_108_a_1
|
| 245 |
+
valid_108_a_2
|
| 246 |
+
valid_109_a_3
|
| 247 |
+
valid_109_a_5
|
| 248 |
+
valid_110_a_1
|
| 249 |
+
valid_111_a_1
|
| 250 |
+
valid_111_a_2
|
| 251 |
+
valid_112_a_1
|
| 252 |
+
valid_112_a_2
|
| 253 |
+
valid_113_a_1
|
| 254 |
+
valid_113_a_2
|
| 255 |
+
valid_114_a_1
|
| 256 |
+
valid_114_a_2
|
| 257 |
+
valid_114_b_1
|
| 258 |
+
valid_114_b_2
|
| 259 |
+
valid_115_a_1
|
| 260 |
+
valid_115_a_2
|
| 261 |
+
valid_116_a_1
|
| 262 |
+
valid_116_a_2
|
| 263 |
+
valid_117_a_1
|
| 264 |
+
valid_117_a_2
|
| 265 |
+
valid_117_b_1
|
| 266 |
+
valid_117_b_2
|
| 267 |
+
valid_118_a_1
|
| 268 |
+
valid_118_a_2
|
| 269 |
+
valid_118_b_1
|
| 270 |
+
valid_118_b_2
|
| 271 |
+
valid_118_c_1
|
| 272 |
+
valid_118_c_2
|
| 273 |
+
valid_118_d_1
|
| 274 |
+
valid_118_d_2
|
| 275 |
+
valid_119_a_1
|
| 276 |
+
valid_119_a_2
|
| 277 |
+
valid_120_a_1
|
| 278 |
+
valid_120_a_2
|
| 279 |
+
valid_121_a_1
|
| 280 |
+
valid_121_a_2
|
| 281 |
+
valid_122_a_1
|
| 282 |
+
valid_122_a_2
|
| 283 |
+
valid_123_a_1
|
| 284 |
+
valid_123_a_2
|
| 285 |
+
valid_124_a_1
|
| 286 |
+
valid_124_a_2
|
| 287 |
+
valid_125_a_1
|
| 288 |
+
valid_125_a_2
|
| 289 |
+
valid_126_a_1
|
| 290 |
+
valid_126_a_2
|
| 291 |
+
valid_127_a_1
|
| 292 |
+
valid_127_a_2
|
| 293 |
+
valid_128_a_1
|
| 294 |
+
valid_128_a_2
|
| 295 |
+
valid_129_a_1
|
| 296 |
+
valid_130_a_1
|
| 297 |
+
valid_130_a_2
|
| 298 |
+
valid_131_a_1
|
| 299 |
+
valid_131_a_2
|
| 300 |
+
valid_132_a_1
|
| 301 |
+
valid_132_a_2
|
| 302 |
+
valid_133_a_1
|
| 303 |
+
valid_133_a_2
|
| 304 |
+
valid_134_a_1
|
| 305 |
+
valid_134_a_2
|
| 306 |
+
valid_135_a_1
|
| 307 |
+
valid_135_a_2
|
| 308 |
+
valid_136_a_1
|
| 309 |
+
valid_136_a_2
|
| 310 |
+
valid_137_a_1
|
| 311 |
+
valid_137_a_2
|
| 312 |
+
valid_138_a_1
|
| 313 |
+
valid_138_a_2
|
| 314 |
+
valid_139_a_1
|
| 315 |
+
valid_139_a_2
|
| 316 |
+
valid_140_a_1
|
| 317 |
+
valid_140_a_2
|
| 318 |
+
valid_141_a_1
|
| 319 |
+
valid_141_a_2
|
| 320 |
+
valid_142_a_1
|
| 321 |
+
valid_143_a_1
|
| 322 |
+
valid_143_a_2
|
| 323 |
+
valid_144_a_1
|
| 324 |
+
valid_145_a_1
|
| 325 |
+
valid_145_a_2
|
| 326 |
+
valid_146_a_1
|
| 327 |
+
valid_146_a_2
|
| 328 |
+
valid_147_a_1
|
| 329 |
+
valid_147_a_2
|
| 330 |
+
valid_148_a_1
|
| 331 |
+
valid_148_a_2
|
| 332 |
+
valid_149_a_1
|
| 333 |
+
valid_149_a_2
|
| 334 |
+
valid_150_a_1
|
| 335 |
+
valid_150_a_2
|
| 336 |
+
valid_151_a_1
|
| 337 |
+
valid_151_a_2
|
| 338 |
+
valid_151_b_1
|
| 339 |
+
valid_151_b_2
|
| 340 |
+
valid_151_c_1
|
| 341 |
+
valid_151_c_2
|
| 342 |
+
valid_152_a_1
|
| 343 |
+
valid_153_a_1
|
| 344 |
+
valid_153_a_2
|
| 345 |
+
valid_154_a_1
|
| 346 |
+
valid_154_a_2
|
| 347 |
+
valid_155_a_1
|
| 348 |
+
valid_155_a_2
|
| 349 |
+
valid_156_a_1
|
| 350 |
+
valid_156_a_2
|
| 351 |
+
valid_157_a_1
|
| 352 |
+
valid_157_a_2
|
| 353 |
+
valid_158_a_1
|
| 354 |
+
valid_158_a_2
|
| 355 |
+
valid_159_a_1
|
| 356 |
+
valid_159_a_2
|
| 357 |
+
valid_160_a_1
|
| 358 |
+
valid_160_a_2
|
| 359 |
+
valid_161_a_1
|
| 360 |
+
valid_161_a_2
|
| 361 |
+
valid_162_a_1
|
| 362 |
+
valid_162_a_2
|
| 363 |
+
valid_162_b_1
|
| 364 |
+
valid_162_b_2
|
| 365 |
+
valid_163_a_1
|
| 366 |
+
valid_163_a_2
|
| 367 |
+
valid_163_b_1
|
| 368 |
+
valid_163_b_2
|
| 369 |
+
valid_163_c_1
|
| 370 |
+
valid_163_c_2
|
| 371 |
+
valid_163_d_1
|
| 372 |
+
valid_163_d_2
|
| 373 |
+
valid_164_a_1
|
| 374 |
+
valid_164_a_2
|
| 375 |
+
valid_165_a_1
|
| 376 |
+
valid_165_a_2
|
| 377 |
+
valid_166_a_1
|
| 378 |
+
valid_166_a_2
|
| 379 |
+
valid_167_a_1
|
| 380 |
+
valid_167_a_2
|
| 381 |
+
valid_168_a_1
|
| 382 |
+
valid_168_a_2
|
| 383 |
+
valid_168_b_1
|
| 384 |
+
valid_168_b_2
|
| 385 |
+
valid_169_a_1
|
| 386 |
+
valid_169_a_2
|
| 387 |
+
valid_170_a_1
|
| 388 |
+
valid_170_a_2
|
| 389 |
+
valid_170_b_1
|
| 390 |
+
valid_170_b_2
|
| 391 |
+
valid_171_a_1
|
| 392 |
+
valid_171_a_2
|
| 393 |
+
valid_172_a_1
|
| 394 |
+
valid_172_a_2
|
| 395 |
+
valid_173_a_1
|
| 396 |
+
valid_173_a_2
|
| 397 |
+
valid_174_a_1
|
| 398 |
+
valid_174_a_2
|
| 399 |
+
valid_175_a_1
|
| 400 |
+
valid_175_a_2
|
| 401 |
+
valid_176_a_1
|
| 402 |
+
valid_176_a_2
|
| 403 |
+
valid_177_a_1
|
| 404 |
+
valid_177_a_2
|
| 405 |
+
valid_178_a_1
|
| 406 |
+
valid_178_a_2
|
| 407 |
+
valid_179_a_1
|
| 408 |
+
valid_179_a_2
|
| 409 |
+
valid_180_a_1
|
| 410 |
+
valid_180_a_2
|
| 411 |
+
valid_180_b_1
|
| 412 |
+
valid_180_b_2
|
| 413 |
+
valid_181_a_1
|
| 414 |
+
valid_181_a_2
|
| 415 |
+
valid_182_a_1
|
| 416 |
+
valid_182_a_2
|
| 417 |
+
valid_183_a_1
|
| 418 |
+
valid_183_a_2
|
| 419 |
+
valid_184_a_1
|
| 420 |
+
valid_184_a_2
|
| 421 |
+
valid_185_a_1
|
| 422 |
+
valid_185_a_2
|
| 423 |
+
valid_186_a_1
|
| 424 |
+
valid_186_a_2
|
| 425 |
+
valid_187_a_1
|
| 426 |
+
valid_187_a_2
|
| 427 |
+
valid_188_a_1
|
| 428 |
+
valid_188_a_2
|
| 429 |
+
valid_188_b_1
|
| 430 |
+
valid_188_b_2
|
| 431 |
+
valid_189_a_1
|
| 432 |
+
valid_189_a_2
|
| 433 |
+
valid_190_a_1
|
| 434 |
+
valid_190_a_2
|
| 435 |
+
valid_191_a_1
|
| 436 |
+
valid_191_a_2
|
| 437 |
+
valid_191_b_1
|
| 438 |
+
valid_191_b_2
|
| 439 |
+
valid_192_a_1
|
| 440 |
+
valid_192_a_2
|
| 441 |
+
valid_193_a_1
|
| 442 |
+
valid_193_a_2
|
| 443 |
+
valid_194_a_1
|
| 444 |
+
valid_194_a_2
|
| 445 |
+
valid_194_b_1
|
| 446 |
+
valid_194_b_2
|
| 447 |
+
valid_195_a_1
|
| 448 |
+
valid_195_a_2
|
| 449 |
+
valid_196_a_1
|
| 450 |
+
valid_196_a_2
|
| 451 |
+
valid_197_a_1
|
| 452 |
+
valid_197_a_2
|
| 453 |
+
valid_198_a_1
|
| 454 |
+
valid_198_a_2
|
| 455 |
+
valid_199_a_1
|
| 456 |
+
valid_199_a_2
|
| 457 |
+
valid_200_a_1
|
| 458 |
+
valid_200_a_2
|
| 459 |
+
valid_201_a_1
|
| 460 |
+
valid_201_a_2
|
| 461 |
+
valid_202_a_1
|
| 462 |
+
valid_202_a_2
|
| 463 |
+
valid_202_b_1
|
| 464 |
+
valid_202_b_2
|
| 465 |
+
valid_203_a_1
|
| 466 |
+
valid_203_a_2
|
| 467 |
+
valid_204_a_1
|
| 468 |
+
valid_204_a_2
|
| 469 |
+
valid_205_a_1
|
| 470 |
+
valid_205_a_2
|
| 471 |
+
valid_206_a_1
|
| 472 |
+
valid_206_a_2
|
| 473 |
+
valid_207_a_1
|
| 474 |
+
valid_207_a_2
|
| 475 |
+
valid_208_a_3
|
| 476 |
+
valid_208_a_5
|
| 477 |
+
valid_209_a_1
|
| 478 |
+
valid_209_a_2
|
| 479 |
+
valid_210_a_1
|
| 480 |
+
valid_210_a_2
|
| 481 |
+
valid_210_b_1
|
| 482 |
+
valid_211_a_1
|
| 483 |
+
valid_211_a_2
|
| 484 |
+
valid_212_a_1
|
| 485 |
+
valid_212_a_2
|
| 486 |
+
valid_212_b_1
|
| 487 |
+
valid_212_b_2
|
| 488 |
+
valid_213_a_1
|
| 489 |
+
valid_213_a_2
|
| 490 |
+
valid_214_a_1
|
| 491 |
+
valid_214_a_2
|
| 492 |
+
valid_215_a_1
|
| 493 |
+
valid_215_a_2
|
| 494 |
+
valid_215_b_1
|
| 495 |
+
valid_215_b_2
|
| 496 |
+
valid_215_c_1
|
| 497 |
+
valid_215_c_2
|
| 498 |
+
valid_216_a_1
|
| 499 |
+
valid_216_a_2
|
| 500 |
+
valid_217_a_1
|
| 501 |
+
valid_217_a_2
|
| 502 |
+
valid_218_a_1
|
| 503 |
+
valid_218_a_2
|
| 504 |
+
valid_219_a_1
|
| 505 |
+
valid_219_a_2
|
| 506 |
+
valid_220_a_1
|
| 507 |
+
valid_220_a_2
|
| 508 |
+
valid_221_a_1
|
| 509 |
+
valid_221_a_2
|
| 510 |
+
valid_222_a_1
|
| 511 |
+
valid_222_a_2
|
| 512 |
+
valid_223_a_1
|
| 513 |
+
valid_223_a_2
|
| 514 |
+
valid_224_a_1
|
| 515 |
+
valid_224_a_2
|
| 516 |
+
valid_225_a_1
|
| 517 |
+
valid_225_a_2
|
| 518 |
+
valid_225_b_1
|
| 519 |
+
valid_225_b_2
|
| 520 |
+
valid_226_a_1
|
| 521 |
+
valid_226_a_2
|
| 522 |
+
valid_227_a_1
|
| 523 |
+
valid_227_a_2
|
| 524 |
+
valid_228_a_1
|
| 525 |
+
valid_229_a_1
|
| 526 |
+
valid_229_a_2
|
| 527 |
+
valid_229_b_1
|
| 528 |
+
valid_229_b_2
|
| 529 |
+
valid_230_a_1
|
| 530 |
+
valid_230_a_2
|
| 531 |
+
valid_231_a_1
|
| 532 |
+
valid_231_a_2
|
| 533 |
+
valid_232_a_1
|
| 534 |
+
valid_232_a_2
|
| 535 |
+
valid_233_a_1
|
| 536 |
+
valid_234_a_1
|
| 537 |
+
valid_234_a_2
|
| 538 |
+
valid_235_a_1
|
| 539 |
+
valid_236_a_1
|
| 540 |
+
valid_236_a_2
|
| 541 |
+
valid_237_a_1
|
| 542 |
+
valid_237_a_2
|
| 543 |
+
valid_238_a_1
|
| 544 |
+
valid_239_a_1
|
| 545 |
+
valid_239_a_2
|
| 546 |
+
valid_240_a_1
|
| 547 |
+
valid_240_a_2
|
| 548 |
+
valid_241_a_1
|
| 549 |
+
valid_241_a_2
|
| 550 |
+
valid_242_a_1
|
| 551 |
+
valid_242_a_2
|
| 552 |
+
valid_243_a_1
|
| 553 |
+
valid_243_a_2
|
| 554 |
+
valid_244_a_1
|
| 555 |
+
valid_244_a_2
|
| 556 |
+
valid_245_a_1
|
| 557 |
+
valid_245_a_2
|
| 558 |
+
valid_246_a_1
|
| 559 |
+
valid_246_a_2
|
| 560 |
+
valid_247_a_1
|
| 561 |
+
valid_247_a_2
|
| 562 |
+
valid_248_a_1
|
| 563 |
+
valid_248_a_2
|
| 564 |
+
valid_249_a_1
|
| 565 |
+
valid_249_a_2
|
| 566 |
+
valid_250_a_1
|
| 567 |
+
valid_250_a_2
|
| 568 |
+
valid_250_b_1
|
| 569 |
+
valid_250_b_2
|
| 570 |
+
valid_250_c_1
|
| 571 |
+
valid_250_c_2
|
| 572 |
+
valid_250_d_1
|
| 573 |
+
valid_250_d_2
|
| 574 |
+
valid_250_e_1
|
| 575 |
+
valid_250_e_2
|
| 576 |
+
valid_250_f_1
|
| 577 |
+
valid_250_f_2
|
| 578 |
+
valid_251_a_1
|
| 579 |
+
valid_251_a_2
|
| 580 |
+
valid_252_a_1
|
| 581 |
+
valid_252_a_2
|
| 582 |
+
valid_253_a_1
|
| 583 |
+
valid_254_a_1
|
| 584 |
+
valid_254_a_2
|
| 585 |
+
valid_255_a_1
|
| 586 |
+
valid_255_a_2
|
| 587 |
+
valid_256_a_1
|
| 588 |
+
valid_256_a_2
|
| 589 |
+
valid_257_a_3
|
| 590 |
+
valid_257_a_5
|
| 591 |
+
valid_258_a_1
|
| 592 |
+
valid_258_a_2
|
| 593 |
+
valid_258_b_1
|
| 594 |
+
valid_258_b_2
|
| 595 |
+
valid_258_c_1
|
| 596 |
+
valid_258_d_1
|
| 597 |
+
valid_258_d_2
|
| 598 |
+
valid_259_a_1
|
| 599 |
+
valid_259_a_2
|
| 600 |
+
valid_260_a_1
|
| 601 |
+
valid_260_a_2
|
| 602 |
+
valid_261_a_1
|
| 603 |
+
valid_261_a_2
|
| 604 |
+
valid_262_a_1
|
| 605 |
+
valid_262_a_2
|
| 606 |
+
valid_263_a_1
|
| 607 |
+
valid_263_a_2
|
| 608 |
+
valid_263_b_1
|
| 609 |
+
valid_263_b_2
|
| 610 |
+
valid_264_a_1
|
| 611 |
+
valid_264_a_2
|
| 612 |
+
valid_265_a_1
|
| 613 |
+
valid_265_a_2
|
| 614 |
+
valid_266_a_1
|
| 615 |
+
valid_266_a_2
|
| 616 |
+
valid_267_a_1
|
| 617 |
+
valid_267_a_2
|
| 618 |
+
valid_268_a_1
|
| 619 |
+
valid_268_a_2
|
| 620 |
+
valid_269_a_1
|
| 621 |
+
valid_270_a_1
|
| 622 |
+
valid_270_a_2
|
| 623 |
+
valid_271_a_1
|
| 624 |
+
valid_271_a_2
|
| 625 |
+
valid_272_a_1
|
| 626 |
+
valid_273_a_1
|
| 627 |
+
valid_274_a_1
|
| 628 |
+
valid_274_b_1
|
| 629 |
+
valid_274_b_2
|
| 630 |
+
valid_274_c_1
|
| 631 |
+
valid_274_c_2
|
| 632 |
+
valid_275_a_1
|
| 633 |
+
valid_275_a_2
|
| 634 |
+
valid_276_a_1
|
| 635 |
+
valid_276_a_2
|
| 636 |
+
valid_277_a_1
|
| 637 |
+
valid_277_a_2
|
| 638 |
+
valid_277_b_1
|
| 639 |
+
valid_277_b_2
|
| 640 |
+
valid_277_c_1
|
| 641 |
+
valid_277_c_2
|
| 642 |
+
valid_277_d_1
|
| 643 |
+
valid_277_d_2
|
| 644 |
+
valid_277_e_1
|
| 645 |
+
valid_277_e_2
|
| 646 |
+
valid_277_f_1
|
| 647 |
+
valid_277_f_2
|
| 648 |
+
valid_277_g_1
|
| 649 |
+
valid_277_g_2
|
| 650 |
+
valid_278_a_1
|
| 651 |
+
valid_278_a_2
|
| 652 |
+
valid_278_b_1
|
| 653 |
+
valid_278_b_2
|
| 654 |
+
valid_279_a_1
|
| 655 |
+
valid_279_a_2
|
| 656 |
+
valid_280_a_1
|
| 657 |
+
valid_280_a_2
|
| 658 |
+
valid_281_a_1
|
| 659 |
+
valid_281_a_2
|
| 660 |
+
valid_282_a_1
|
| 661 |
+
valid_282_a_2
|
| 662 |
+
valid_283_a_1
|
| 663 |
+
valid_284_a_1
|
| 664 |
+
valid_284_a_2
|
| 665 |
+
valid_285_a_1
|
| 666 |
+
valid_285_a_2
|
| 667 |
+
valid_286_a_1
|
| 668 |
+
valid_286_a_2
|
| 669 |
+
valid_287_a_1
|
| 670 |
+
valid_287_a_2
|
| 671 |
+
valid_288_a_1
|
| 672 |
+
valid_288_a_2
|
| 673 |
+
valid_289_a_1
|
| 674 |
+
valid_289_a_2
|
| 675 |
+
valid_290_a_1
|
| 676 |
+
valid_290_a_2
|
| 677 |
+
valid_291_a_1
|
| 678 |
+
valid_291_a_2
|
| 679 |
+
valid_292_a_1
|
| 680 |
+
valid_293_a_1
|
| 681 |
+
valid_293_a_2
|
| 682 |
+
valid_294_a_1
|
| 683 |
+
valid_294_a_2
|
| 684 |
+
valid_295_a_1
|
| 685 |
+
valid_295_a_2
|
| 686 |
+
valid_296_a_1
|
| 687 |
+
valid_297_a_1
|
| 688 |
+
valid_298_a_1
|
| 689 |
+
valid_298_a_2
|
| 690 |
+
valid_299_a_1
|
| 691 |
+
valid_299_a_2
|
| 692 |
+
valid_300_a_1
|
| 693 |
+
valid_300_a_2
|
| 694 |
+
valid_301_a_1
|
| 695 |
+
valid_301_a_2
|
| 696 |
+
valid_302_a_1
|
| 697 |
+
valid_302_a_2
|
| 698 |
+
valid_303_a_1
|
| 699 |
+
valid_303_a_2
|
| 700 |
+
valid_304_a_1
|
| 701 |
+
valid_304_a_2
|
| 702 |
+
valid_305_a_1
|
| 703 |
+
valid_305_a_2
|
| 704 |
+
valid_306_a_1
|
| 705 |
+
valid_306_a_2
|
| 706 |
+
valid_307_a_1
|
| 707 |
+
valid_307_a_2
|
| 708 |
+
valid_308_a_1
|
| 709 |
+
valid_308_a_2
|
| 710 |
+
valid_309_a_1
|
| 711 |
+
valid_309_a_2
|
| 712 |
+
valid_310_a_1
|
| 713 |
+
valid_310_a_2
|
| 714 |
+
valid_311_a_1
|
| 715 |
+
valid_312_a_1
|
| 716 |
+
valid_312_a_2
|
| 717 |
+
valid_313_a_1
|
| 718 |
+
valid_313_a_2
|
| 719 |
+
valid_314_a_1
|
| 720 |
+
valid_314_a_2
|
| 721 |
+
valid_315_a_1
|
| 722 |
+
valid_315_a_2
|
| 723 |
+
valid_316_a_1
|
| 724 |
+
valid_316_a_2
|
| 725 |
+
valid_317_a_1
|
| 726 |
+
valid_317_a_2
|
| 727 |
+
valid_318_a_1
|
| 728 |
+
valid_318_a_2
|
| 729 |
+
valid_319_a_1
|
| 730 |
+
valid_319_a_2
|
| 731 |
+
valid_320_a_1
|
| 732 |
+
valid_320_a_2
|
| 733 |
+
valid_321_a_1
|
| 734 |
+
valid_321_a_2
|
| 735 |
+
valid_322_a_1
|
| 736 |
+
valid_322_a_2
|
| 737 |
+
valid_323_a_1
|
| 738 |
+
valid_323_a_2
|
| 739 |
+
valid_324_a_1
|
| 740 |
+
valid_324_a_2
|
| 741 |
+
valid_325_a_1
|
| 742 |
+
valid_325_a_2
|
| 743 |
+
valid_326_a_1
|
| 744 |
+
valid_326_a_2
|
| 745 |
+
valid_327_a_1
|
| 746 |
+
valid_327_a_2
|
| 747 |
+
valid_328_a_1
|
| 748 |
+
valid_328_a_2
|
| 749 |
+
valid_329_a_1
|
| 750 |
+
valid_329_a_2
|
| 751 |
+
valid_330_a_1
|
| 752 |
+
valid_330_a_2
|
| 753 |
+
valid_331_a_1
|
| 754 |
+
valid_331_a_2
|
| 755 |
+
valid_331_b_1
|
| 756 |
+
valid_331_b_2
|
| 757 |
+
valid_331_c_1
|
| 758 |
+
valid_331_c_2
|
| 759 |
+
valid_331_d_1
|
| 760 |
+
valid_331_d_2
|
| 761 |
+
valid_331_e_1
|
| 762 |
+
valid_331_e_2
|
| 763 |
+
valid_332_a_1
|
| 764 |
+
valid_332_a_2
|
| 765 |
+
valid_332_b_1
|
| 766 |
+
valid_332_b_2
|
| 767 |
+
valid_333_a_1
|
| 768 |
+
valid_333_a_2
|
| 769 |
+
valid_333_b_1
|
| 770 |
+
valid_333_b_2
|
| 771 |
+
valid_334_a_1
|
| 772 |
+
valid_334_a_2
|
| 773 |
+
valid_334_a_3
|
| 774 |
+
valid_335_a_1
|
| 775 |
+
valid_335_a_2
|
| 776 |
+
valid_336_a_1
|
| 777 |
+
valid_336_a_2
|
| 778 |
+
valid_337_a_1
|
| 779 |
+
valid_337_a_2
|
| 780 |
+
valid_338_a_1
|
| 781 |
+
valid_338_a_2
|
| 782 |
+
valid_339_a_1
|
| 783 |
+
valid_339_a_2
|
| 784 |
+
valid_340_a_3
|
| 785 |
+
valid_340_a_5
|
| 786 |
+
valid_341_a_1
|
| 787 |
+
valid_341_a_2
|
| 788 |
+
valid_342_a_1
|
| 789 |
+
valid_342_a_2
|
| 790 |
+
valid_343_a_1
|
| 791 |
+
valid_343_a_2
|
| 792 |
+
valid_344_a_1
|
| 793 |
+
valid_344_a_2
|
| 794 |
+
valid_345_a_1
|
| 795 |
+
valid_345_a_2
|
| 796 |
+
valid_346_a_1
|
| 797 |
+
valid_346_a_2
|
| 798 |
+
valid_347_a_1
|
| 799 |
+
valid_347_a_2
|
| 800 |
+
valid_348_a_1
|
| 801 |
+
valid_348_a_2
|
| 802 |
+
valid_349_a_1
|
| 803 |
+
valid_349_a_2
|
| 804 |
+
valid_350_a_1
|
| 805 |
+
valid_350_a_2
|
| 806 |
+
valid_351_a_1
|
| 807 |
+
valid_351_a_2
|
| 808 |
+
valid_351_b_1
|
| 809 |
+
valid_351_b_2
|
| 810 |
+
valid_352_a_1
|
| 811 |
+
valid_352_a_2
|
| 812 |
+
valid_353_a_1
|
| 813 |
+
valid_353_a_2
|
| 814 |
+
valid_354_a_1
|
| 815 |
+
valid_354_a_2
|
| 816 |
+
valid_355_a_1
|
| 817 |
+
valid_355_a_2
|
| 818 |
+
valid_355_b_1
|
| 819 |
+
valid_355_b_2
|
| 820 |
+
valid_356_a_1
|
| 821 |
+
valid_356_a_2
|
| 822 |
+
valid_357_a_1
|
| 823 |
+
valid_357_a_2
|
| 824 |
+
valid_357_b_1
|
| 825 |
+
valid_357_b_2
|
| 826 |
+
valid_357_c_1
|
| 827 |
+
valid_357_c_2
|
| 828 |
+
valid_357_d_1
|
| 829 |
+
valid_357_d_2
|
| 830 |
+
valid_357_e_1
|
| 831 |
+
valid_357_e_2
|
| 832 |
+
valid_358_a_1
|
| 833 |
+
valid_359_a_1
|
| 834 |
+
valid_359_a_2
|
| 835 |
+
valid_360_a_1
|
| 836 |
+
valid_360_a_2
|
| 837 |
+
valid_361_a_1
|
| 838 |
+
valid_361_a_2
|
| 839 |
+
valid_362_a_1
|
| 840 |
+
valid_362_a_2
|
| 841 |
+
valid_362_b_1
|
| 842 |
+
valid_362_b_2
|
| 843 |
+
valid_363_a_1
|
| 844 |
+
valid_363_a_2
|
| 845 |
+
valid_364_a_1
|
| 846 |
+
valid_364_a_2
|
| 847 |
+
valid_365_a_3
|
| 848 |
+
valid_365_a_5
|
| 849 |
+
valid_366_a_1
|
| 850 |
+
valid_366_a_2
|
| 851 |
+
valid_367_a_1
|
| 852 |
+
valid_367_a_2
|
| 853 |
+
valid_368_a_1
|
| 854 |
+
valid_368_a_2
|
| 855 |
+
valid_369_a_1
|
| 856 |
+
valid_369_a_2
|
| 857 |
+
valid_370_a_1
|
| 858 |
+
valid_370_a_2
|
| 859 |
+
valid_371_a_1
|
| 860 |
+
valid_371_a_2
|
| 861 |
+
valid_372_a_1
|
| 862 |
+
valid_373_a_1
|
| 863 |
+
valid_373_a_2
|
| 864 |
+
valid_373_b_1
|
| 865 |
+
valid_373_b_2
|
| 866 |
+
valid_374_a_1
|
| 867 |
+
valid_374_a_2
|
| 868 |
+
valid_375_a_1
|
| 869 |
+
valid_376_a_1
|
| 870 |
+
valid_376_a_2
|
| 871 |
+
valid_377_a_1
|
| 872 |
+
valid_377_a_2
|
| 873 |
+
valid_378_a_1
|
| 874 |
+
valid_378_a_2
|
| 875 |
+
valid_379_a_1
|
| 876 |
+
valid_379_a_2
|
| 877 |
+
valid_380_a_1
|
| 878 |
+
valid_380_a_2
|
| 879 |
+
valid_381_a_1
|
| 880 |
+
valid_381_a_2
|
| 881 |
+
valid_382_a_1
|
| 882 |
+
valid_382_a_2
|
| 883 |
+
valid_382_b_1
|
| 884 |
+
valid_382_b_2
|
| 885 |
+
valid_382_c_1
|
| 886 |
+
valid_382_c_2
|
| 887 |
+
valid_383_a_1
|
| 888 |
+
valid_384_a_1
|
| 889 |
+
valid_385_a_1
|
| 890 |
+
valid_386_a_1
|
| 891 |
+
valid_386_a_2
|
| 892 |
+
valid_387_a_1
|
| 893 |
+
valid_387_a_2
|
| 894 |
+
valid_387_b_1
|
| 895 |
+
valid_387_b_2
|
| 896 |
+
valid_388_a_1
|
| 897 |
+
valid_388_a_2
|
| 898 |
+
valid_388_b_1
|
| 899 |
+
valid_388_b_2
|
| 900 |
+
valid_389_a_1
|
| 901 |
+
valid_389_a_2
|
| 902 |
+
valid_389_b_1
|
| 903 |
+
valid_389_b_2
|
| 904 |
+
valid_390_a_1
|
| 905 |
+
valid_390_a_2
|
| 906 |
+
valid_391_a_1
|
| 907 |
+
valid_391_a_2
|
| 908 |
+
valid_392_a_1
|
| 909 |
+
valid_392_a_2
|
| 910 |
+
valid_393_a_1
|
| 911 |
+
valid_393_a_2
|
| 912 |
+
valid_394_a_1
|
| 913 |
+
valid_394_a_2
|
| 914 |
+
valid_395_a_1
|
| 915 |
+
valid_396_a_1
|
| 916 |
+
valid_397_a_1
|
| 917 |
+
valid_397_a_2
|
| 918 |
+
valid_398_a_1
|
| 919 |
+
valid_399_a_1
|
| 920 |
+
valid_399_a_2
|
| 921 |
+
valid_400_a_1
|
| 922 |
+
valid_400_a_2
|
| 923 |
+
valid_401_a_1
|
| 924 |
+
valid_401_a_2
|
| 925 |
+
valid_402_a_1
|
| 926 |
+
valid_403_a_1
|
| 927 |
+
valid_403_b_1
|
| 928 |
+
valid_403_b_2
|
| 929 |
+
valid_404_a_1
|
| 930 |
+
valid_404_a_2
|
| 931 |
+
valid_405_a_1
|
| 932 |
+
valid_406_a_1
|
| 933 |
+
valid_406_a_2
|
| 934 |
+
valid_407_a_1
|
| 935 |
+
valid_407_a_2
|
| 936 |
+
valid_408_a_1
|
| 937 |
+
valid_408_a_2
|
| 938 |
+
valid_409_a_1
|
| 939 |
+
valid_409_a_2
|
| 940 |
+
valid_410_a_1
|
| 941 |
+
valid_410_a_2
|
| 942 |
+
valid_410_b_1
|
| 943 |
+
valid_410_b_2
|
| 944 |
+
valid_410_c_1
|
| 945 |
+
valid_410_c_2
|
| 946 |
+
valid_411_a_1
|
| 947 |
+
valid_412_a_1
|
| 948 |
+
valid_412_a_2
|
| 949 |
+
valid_413_a_1
|
| 950 |
+
valid_413_a_2
|
| 951 |
+
valid_414_a_1
|
| 952 |
+
valid_414_a_2
|
| 953 |
+
valid_414_b_1
|
| 954 |
+
valid_414_b_2
|
| 955 |
+
valid_415_a_1
|
| 956 |
+
valid_415_a_2
|
| 957 |
+
valid_416_a_1
|
| 958 |
+
valid_416_a_2
|
| 959 |
+
valid_416_b_1
|
| 960 |
+
valid_416_b_2
|
| 961 |
+
valid_417_a_3
|
| 962 |
+
valid_417_a_5
|
| 963 |
+
valid_418_a_1
|
| 964 |
+
valid_418_a_2
|
| 965 |
+
valid_419_a_1
|
| 966 |
+
valid_419_a_2
|
| 967 |
+
valid_420_a_1
|
| 968 |
+
valid_420_a_2
|
| 969 |
+
valid_421_a_1
|
| 970 |
+
valid_421_a_2
|
| 971 |
+
valid_422_a_1
|
| 972 |
+
valid_422_a_2
|
| 973 |
+
valid_423_a_1
|
| 974 |
+
valid_423_a_2
|
| 975 |
+
valid_423_b_1
|
| 976 |
+
valid_423_b_2
|
| 977 |
+
valid_423_c_1
|
| 978 |
+
valid_423_c_2
|
| 979 |
+
valid_424_a_1
|
| 980 |
+
valid_424_a_2
|
| 981 |
+
valid_425_a_1
|
| 982 |
+
valid_425_a_2
|
| 983 |
+
valid_426_a_1
|
| 984 |
+
valid_426_a_2
|
| 985 |
+
valid_427_a_1
|
| 986 |
+
valid_427_a_2
|
| 987 |
+
valid_428_a_1
|
| 988 |
+
valid_428_a_2
|
| 989 |
+
valid_429_a_1
|
| 990 |
+
valid_429_a_2
|
| 991 |
+
valid_429_b_1
|
| 992 |
+
valid_429_b_2
|
| 993 |
+
valid_430_a_1
|
| 994 |
+
valid_430_a_2
|
| 995 |
+
valid_431_a_1
|
| 996 |
+
valid_432_a_1
|
| 997 |
+
valid_432_a_2
|
| 998 |
+
valid_433_a_1
|
| 999 |
+
valid_433_a_2
|
| 1000 |
+
valid_434_a_1
|
| 1001 |
+
valid_435_a_1
|
| 1002 |
+
valid_435_a_2
|
| 1003 |
+
valid_436_a_1
|
| 1004 |
+
valid_436_a_2
|
| 1005 |
+
valid_437_a_1
|
| 1006 |
+
valid_437_a_2
|
| 1007 |
+
valid_437_b_1
|
| 1008 |
+
valid_437_b_2
|
| 1009 |
+
valid_438_a_1
|
| 1010 |
+
valid_438_a_2
|
| 1011 |
+
valid_439_a_1
|
| 1012 |
+
valid_439_a_2
|
| 1013 |
+
valid_440_a_1
|
| 1014 |
+
valid_441_a_1
|
| 1015 |
+
valid_441_a_2
|
| 1016 |
+
valid_442_a_1
|
| 1017 |
+
valid_442_a_2
|
| 1018 |
+
valid_443_a_1
|
| 1019 |
+
valid_443_a_2
|
| 1020 |
+
valid_444_a_1
|
| 1021 |
+
valid_444_a_2
|
| 1022 |
+
valid_445_a_1
|
| 1023 |
+
valid_445_a_2
|
| 1024 |
+
valid_446_a_1
|
| 1025 |
+
valid_446_a_2
|
| 1026 |
+
valid_446_b_1
|
| 1027 |
+
valid_446_b_2
|
| 1028 |
+
valid_447_a_1
|
| 1029 |
+
valid_447_a_2
|
| 1030 |
+
valid_448_a_1
|
| 1031 |
+
valid_448_a_2
|
| 1032 |
+
valid_449_a_1
|
| 1033 |
+
valid_449_a_2
|
| 1034 |
+
valid_449_b_1
|
| 1035 |
+
valid_449_b_2
|
| 1036 |
+
valid_450_a_1
|
| 1037 |
+
valid_451_a_1
|
| 1038 |
+
valid_451_a_2
|
| 1039 |
+
valid_452_a_1
|
| 1040 |
+
valid_452_a_2
|
| 1041 |
+
valid_453_a_1
|
| 1042 |
+
valid_453_a_2
|
| 1043 |
+
valid_454_a_1
|
| 1044 |
+
valid_454_b_1
|
| 1045 |
+
valid_454_c_1
|
| 1046 |
+
valid_454_c_2
|
| 1047 |
+
valid_455_a_1
|
| 1048 |
+
valid_455_a_2
|
| 1049 |
+
valid_456_a_1
|
| 1050 |
+
valid_456_a_2
|
| 1051 |
+
valid_456_b_1
|
| 1052 |
+
valid_456_b_2
|
| 1053 |
+
valid_457_a_1
|
| 1054 |
+
valid_457_a_2
|
| 1055 |
+
valid_457_b_1
|
| 1056 |
+
valid_457_b_2
|
| 1057 |
+
valid_457_c_1
|
| 1058 |
+
valid_457_c_2
|
| 1059 |
+
valid_457_d_1
|
| 1060 |
+
valid_457_d_2
|
| 1061 |
+
valid_458_a_1
|
| 1062 |
+
valid_458_a_2
|
| 1063 |
+
valid_459_a_1
|
| 1064 |
+
valid_459_a_2
|
| 1065 |
+
valid_460_a_1
|
| 1066 |
+
valid_460_a_2
|
| 1067 |
+
valid_461_a_1
|
| 1068 |
+
valid_461_a_2
|
| 1069 |
+
valid_462_a_1
|
| 1070 |
+
valid_462_a_2
|
| 1071 |
+
valid_463_a_1
|
| 1072 |
+
valid_463_a_2
|
| 1073 |
+
valid_464_a_1
|
| 1074 |
+
valid_464_a_2
|
| 1075 |
+
valid_465_a_1
|
| 1076 |
+
valid_465_a_2
|
| 1077 |
+
valid_466_a_1
|
| 1078 |
+
valid_466_a_2
|
| 1079 |
+
valid_467_a_1
|
| 1080 |
+
valid_467_a_2
|
| 1081 |
+
valid_468_a_1
|
| 1082 |
+
valid_468_a_2
|
| 1083 |
+
valid_469_a_1
|
| 1084 |
+
valid_469_a_2
|
| 1085 |
+
valid_470_a_1
|
| 1086 |
+
valid_470_a_2
|
| 1087 |
+
valid_471_a_1
|
| 1088 |
+
valid_471_a_2
|
| 1089 |
+
valid_472_a_1
|
| 1090 |
+
valid_472_a_2
|
| 1091 |
+
valid_473_a_1
|
| 1092 |
+
valid_473_a_2
|
| 1093 |
+
valid_474_a_1
|
| 1094 |
+
valid_474_a_2
|
| 1095 |
+
valid_475_a_1
|
| 1096 |
+
valid_475_a_2
|
| 1097 |
+
valid_475_b_1
|
| 1098 |
+
valid_475_b_2
|
| 1099 |
+
valid_475_c_1
|
| 1100 |
+
valid_475_c_2
|
| 1101 |
+
valid_475_d_1
|
| 1102 |
+
valid_475_d_2
|
| 1103 |
+
valid_475_e_1
|
| 1104 |
+
valid_475_e_2
|
| 1105 |
+
valid_476_a_1
|
| 1106 |
+
valid_476_a_2
|
| 1107 |
+
valid_477_a_1
|
| 1108 |
+
valid_477_a_2
|
| 1109 |
+
valid_478_a_1
|
| 1110 |
+
valid_478_a_2
|
| 1111 |
+
valid_479_a_1
|
| 1112 |
+
valid_479_a_2
|
| 1113 |
+
valid_480_a_1
|
| 1114 |
+
valid_480_a_2
|
| 1115 |
+
valid_481_a_1
|
| 1116 |
+
valid_481_a_2
|
| 1117 |
+
valid_482_a_1
|
| 1118 |
+
valid_482_a_2
|
| 1119 |
+
valid_482_b_1
|
| 1120 |
+
valid_482_b_2
|
| 1121 |
+
valid_482_c_1
|
| 1122 |
+
valid_482_c_2
|
| 1123 |
+
valid_482_d_1
|
| 1124 |
+
valid_482_d_2
|
| 1125 |
+
valid_482_e_1
|
| 1126 |
+
valid_482_e_2
|
| 1127 |
+
valid_482_f_1
|
| 1128 |
+
valid_482_f_2
|
| 1129 |
+
valid_482_g_1
|
| 1130 |
+
valid_482_g_2
|
| 1131 |
+
valid_482_h_1
|
| 1132 |
+
valid_482_h_2
|
| 1133 |
+
valid_483_a_1
|
| 1134 |
+
valid_483_a_2
|
| 1135 |
+
valid_484_a_1
|
| 1136 |
+
valid_484_a_2
|
| 1137 |
+
valid_484_b_1
|
| 1138 |
+
valid_484_b_2
|
| 1139 |
+
valid_485_a_1
|
| 1140 |
+
valid_485_a_2
|
| 1141 |
+
valid_486_a_1
|
| 1142 |
+
valid_486_a_2
|
| 1143 |
+
valid_487_a_1
|
| 1144 |
+
valid_487_a_2
|
| 1145 |
+
valid_487_b_1
|
| 1146 |
+
valid_487_b_2
|
| 1147 |
+
valid_488_a_1
|
| 1148 |
+
valid_488_a_2
|
| 1149 |
+
valid_489_a_1
|
| 1150 |
+
valid_489_a_2
|
| 1151 |
+
valid_490_a_1
|
| 1152 |
+
valid_490_a_2
|
| 1153 |
+
valid_491_a_1
|
| 1154 |
+
valid_491_a_2
|
| 1155 |
+
valid_492_a_1
|
| 1156 |
+
valid_492_a_2
|
| 1157 |
+
valid_492_b_1
|
| 1158 |
+
valid_492_b_2
|
| 1159 |
+
valid_493_a_1
|
| 1160 |
+
valid_493_a_2
|
| 1161 |
+
valid_493_b_1
|
| 1162 |
+
valid_493_b_2
|
| 1163 |
+
valid_493_c_1
|
| 1164 |
+
valid_493_c_2
|
| 1165 |
+
valid_494_a_1
|
| 1166 |
+
valid_494_a_2
|
| 1167 |
+
valid_495_a_1
|
| 1168 |
+
valid_495_a_2
|
| 1169 |
+
valid_496_a_1
|
| 1170 |
+
valid_496_a_2
|
| 1171 |
+
valid_497_a_1
|
| 1172 |
+
valid_497_a_2
|
| 1173 |
+
valid_498_a_1
|
| 1174 |
+
valid_498_a_2
|
| 1175 |
+
valid_499_a_1
|
| 1176 |
+
valid_499_a_2
|
| 1177 |
+
valid_500_a_1
|
| 1178 |
+
valid_500_a_2
|
| 1179 |
+
valid_500_b_1
|
| 1180 |
+
valid_500_b_2
|
| 1181 |
+
valid_500_c_1
|
| 1182 |
+
valid_500_c_2
|
| 1183 |
+
valid_500_d_1
|
| 1184 |
+
valid_500_d_2
|
| 1185 |
+
valid_501_a_1
|
| 1186 |
+
valid_501_a_2
|
| 1187 |
+
valid_502_a_1
|
| 1188 |
+
valid_502_a_2
|
| 1189 |
+
valid_503_a_1
|
| 1190 |
+
valid_503_a_2
|
| 1191 |
+
valid_503_b_1
|
| 1192 |
+
valid_503_b_2
|
| 1193 |
+
valid_504_a_1
|
| 1194 |
+
valid_504_a_2
|
| 1195 |
+
valid_505_a_1
|
| 1196 |
+
valid_505_a_2
|
| 1197 |
+
valid_506_a_1
|
| 1198 |
+
valid_506_a_2
|
| 1199 |
+
valid_507_a_1
|
| 1200 |
+
valid_507_a_2
|
| 1201 |
+
valid_508_a_1
|
| 1202 |
+
valid_509_a_1
|
| 1203 |
+
valid_509_a_2
|
| 1204 |
+
valid_509_b_1
|
| 1205 |
+
valid_509_b_2
|
| 1206 |
+
valid_510_a_1
|
| 1207 |
+
valid_510_a_2
|
| 1208 |
+
valid_511_a_1
|
| 1209 |
+
valid_512_a_1
|
| 1210 |
+
valid_512_a_2
|
| 1211 |
+
valid_512_b_1
|
| 1212 |
+
valid_512_b_2
|
| 1213 |
+
valid_513_a_1
|
| 1214 |
+
valid_513_a_2
|
| 1215 |
+
valid_514_a_1
|
| 1216 |
+
valid_514_a_2
|
| 1217 |
+
valid_515_a_1
|
| 1218 |
+
valid_515_a_2
|
| 1219 |
+
valid_516_a_1
|
| 1220 |
+
valid_517_a_1
|
| 1221 |
+
valid_517_a_2
|
| 1222 |
+
valid_518_a_1
|
| 1223 |
+
valid_518_a_2
|
| 1224 |
+
valid_519_a_1
|
| 1225 |
+
valid_519_a_2
|
| 1226 |
+
valid_520_a_1
|
| 1227 |
+
valid_520_a_3
|
| 1228 |
+
valid_521_a_1
|
| 1229 |
+
valid_521_a_2
|
| 1230 |
+
valid_522_a_1
|
| 1231 |
+
valid_523_a_1
|
| 1232 |
+
valid_523_a_2
|
| 1233 |
+
valid_524_a_1
|
| 1234 |
+
valid_524_a_2
|
| 1235 |
+
valid_525_a_1
|
| 1236 |
+
valid_526_a_1
|
| 1237 |
+
valid_526_a_2
|
| 1238 |
+
valid_527_a_1
|
| 1239 |
+
valid_527_a_2
|
| 1240 |
+
valid_528_a_1
|
| 1241 |
+
valid_528_a_2
|
| 1242 |
+
valid_529_a_1
|
| 1243 |
+
valid_529_a_2
|
| 1244 |
+
valid_530_a_1
|
| 1245 |
+
valid_530_a_2
|
| 1246 |
+
valid_531_a_1
|
| 1247 |
+
valid_531_a_2
|
| 1248 |
+
valid_531_b_1
|
| 1249 |
+
valid_531_b_2
|
| 1250 |
+
valid_532_a_1
|
| 1251 |
+
valid_532_a_2
|
| 1252 |
+
valid_533_a_1
|
| 1253 |
+
valid_533_a_2
|
| 1254 |
+
valid_534_a_1
|
| 1255 |
+
valid_534_b_1
|
| 1256 |
+
valid_534_b_2
|
| 1257 |
+
valid_535_a_1
|
| 1258 |
+
valid_535_a_2
|
| 1259 |
+
valid_535_b_1
|
| 1260 |
+
valid_535_c_1
|
| 1261 |
+
valid_535_c_2
|
| 1262 |
+
valid_536_a_1
|
| 1263 |
+
valid_536_a_2
|
| 1264 |
+
valid_536_b_1
|
| 1265 |
+
valid_536_b_2
|
| 1266 |
+
valid_537_a_1
|
| 1267 |
+
valid_537_a_2
|
| 1268 |
+
valid_537_b_1
|
| 1269 |
+
valid_537_b_2
|
| 1270 |
+
valid_538_a_1
|
| 1271 |
+
valid_538_a_2
|
| 1272 |
+
valid_538_b_1
|
| 1273 |
+
valid_538_b_2
|
| 1274 |
+
valid_538_c_1
|
| 1275 |
+
valid_538_c_2
|
| 1276 |
+
valid_539_a_1
|
| 1277 |
+
valid_539_a_2
|
| 1278 |
+
valid_540_a_1
|
| 1279 |
+
valid_540_a_2
|
| 1280 |
+
valid_541_a_1
|
| 1281 |
+
valid_541_a_2
|
| 1282 |
+
valid_542_a_1
|
| 1283 |
+
valid_542_a_2
|
| 1284 |
+
valid_543_a_1
|
| 1285 |
+
valid_543_a_2
|
| 1286 |
+
valid_544_a_1
|
| 1287 |
+
valid_544_a_2
|
| 1288 |
+
valid_545_a_1
|
| 1289 |
+
valid_545_a_2
|
| 1290 |
+
valid_546_a_1
|
| 1291 |
+
valid_546_a_2
|
| 1292 |
+
valid_547_a_1
|
| 1293 |
+
valid_547_a_2
|
| 1294 |
+
valid_548_a_1
|
| 1295 |
+
valid_548_a_2
|
| 1296 |
+
valid_549_a_1
|
| 1297 |
+
valid_549_a_2
|
| 1298 |
+
valid_550_a_1
|
| 1299 |
+
valid_550_a_2
|
| 1300 |
+
valid_551_a_1
|
| 1301 |
+
valid_551_a_2
|
| 1302 |
+
valid_552_a_1
|
| 1303 |
+
valid_552_a_2
|
| 1304 |
+
valid_553_a_1
|
| 1305 |
+
valid_553_a_2
|
| 1306 |
+
valid_554_a_1
|
| 1307 |
+
valid_554_a_2
|
| 1308 |
+
valid_555_a_1
|
| 1309 |
+
valid_555_a_2
|
| 1310 |
+
valid_556_a_1
|
| 1311 |
+
valid_556_a_2
|
| 1312 |
+
valid_557_a_1
|
| 1313 |
+
valid_557_a_2
|
| 1314 |
+
valid_558_a_1
|
| 1315 |
+
valid_558_a_2
|
| 1316 |
+
valid_559_a_1
|
| 1317 |
+
valid_559_a_2
|
| 1318 |
+
valid_560_a_1
|
| 1319 |
+
valid_560_a_2
|
| 1320 |
+
valid_561_a_1
|
| 1321 |
+
valid_561_a_2
|
| 1322 |
+
valid_561_b_1
|
| 1323 |
+
valid_562_a_1
|
| 1324 |
+
valid_562_a_2
|
| 1325 |
+
valid_563_a_1
|
| 1326 |
+
valid_563_a_2
|
| 1327 |
+
valid_564_a_1
|
| 1328 |
+
valid_564_a_2
|
| 1329 |
+
valid_564_b_1
|
| 1330 |
+
valid_564_b_2
|
| 1331 |
+
valid_565_a_1
|
| 1332 |
+
valid_565_a_2
|
| 1333 |
+
valid_565_b_1
|
| 1334 |
+
valid_565_b_2
|
| 1335 |
+
valid_566_a_1
|
| 1336 |
+
valid_566_a_2
|
| 1337 |
+
valid_566_b_1
|
| 1338 |
+
valid_566_b_2
|
| 1339 |
+
valid_567_a_1
|
| 1340 |
+
valid_567_a_2
|
| 1341 |
+
valid_568_a_1
|
| 1342 |
+
valid_568_a_2
|
| 1343 |
+
valid_569_a_1
|
| 1344 |
+
valid_569_a_2
|
| 1345 |
+
valid_569_b_3
|
| 1346 |
+
valid_569_b_5
|
| 1347 |
+
valid_569_c_1
|
| 1348 |
+
valid_569_c_2
|
| 1349 |
+
valid_570_a_1
|
| 1350 |
+
valid_571_a_1
|
| 1351 |
+
valid_571_a_2
|
| 1352 |
+
valid_572_a_1
|
| 1353 |
+
valid_572_a_2
|
| 1354 |
+
valid_573_a_1
|
| 1355 |
+
valid_573_a_2
|
| 1356 |
+
valid_574_a_1
|
| 1357 |
+
valid_575_a_1
|
| 1358 |
+
valid_575_a_2
|
| 1359 |
+
valid_575_b_1
|
| 1360 |
+
valid_575_b_2
|
| 1361 |
+
valid_576_a_1
|
| 1362 |
+
valid_577_a_1
|
| 1363 |
+
valid_577_a_2
|
| 1364 |
+
valid_578_a_1
|
| 1365 |
+
valid_578_a_2
|
| 1366 |
+
valid_579_a_1
|
| 1367 |
+
valid_579_a_2
|
| 1368 |
+
valid_580_a_1
|
| 1369 |
+
valid_580_a_2
|
| 1370 |
+
valid_581_a_1
|
| 1371 |
+
valid_581_a_2
|
| 1372 |
+
valid_582_a_1
|
| 1373 |
+
valid_582_a_2
|
| 1374 |
+
valid_583_a_1
|
| 1375 |
+
valid_583_a_2
|
| 1376 |
+
valid_584_a_1
|
| 1377 |
+
valid_584_a_2
|
| 1378 |
+
valid_585_a_1
|
| 1379 |
+
valid_585_a_2
|
| 1380 |
+
valid_586_a_1
|
| 1381 |
+
valid_586_a_2
|
| 1382 |
+
valid_587_a_1
|
| 1383 |
+
valid_587_a_2
|
| 1384 |
+
valid_588_a_1
|
| 1385 |
+
valid_588_a_2
|
| 1386 |
+
valid_589_a_1
|
| 1387 |
+
valid_589_a_2
|
| 1388 |
+
valid_589_b_1
|
| 1389 |
+
valid_589_b_2
|
| 1390 |
+
valid_590_a_1
|
| 1391 |
+
valid_590_a_2
|
| 1392 |
+
valid_591_a_1
|
| 1393 |
+
valid_591_a_2
|
| 1394 |
+
valid_592_a_1
|
| 1395 |
+
valid_593_a_1
|
| 1396 |
+
valid_593_a_2
|
| 1397 |
+
valid_594_a_1
|
| 1398 |
+
valid_595_a_1
|
| 1399 |
+
valid_595_a_2
|
| 1400 |
+
valid_596_a_1
|
| 1401 |
+
valid_596_a_2
|
| 1402 |
+
valid_597_a_1
|
| 1403 |
+
valid_597_a_2
|
| 1404 |
+
valid_598_a_1
|
| 1405 |
+
valid_598_a_2
|
| 1406 |
+
valid_599_a_1
|
| 1407 |
+
valid_600_a_1
|
| 1408 |
+
valid_600_a_2
|
| 1409 |
+
valid_601_a_1
|
| 1410 |
+
valid_601_a_2
|
| 1411 |
+
valid_602_a_1
|
| 1412 |
+
valid_602_a_2
|
| 1413 |
+
valid_603_a_1
|
| 1414 |
+
valid_603_a_2
|
| 1415 |
+
valid_604_a_1
|
| 1416 |
+
valid_604_a_2
|
| 1417 |
+
valid_605_a_1
|
| 1418 |
+
valid_605_a_2
|
| 1419 |
+
valid_606_a_1
|
| 1420 |
+
valid_606_a_2
|
| 1421 |
+
valid_606_b_1
|
| 1422 |
+
valid_606_b_2
|
| 1423 |
+
valid_607_a_1
|
| 1424 |
+
valid_607_a_2
|
| 1425 |
+
valid_608_a_1
|
| 1426 |
+
valid_608_a_2
|
| 1427 |
+
valid_609_a_1
|
| 1428 |
+
valid_609_a_2
|
| 1429 |
+
valid_610_a_1
|
| 1430 |
+
valid_610_a_2
|
| 1431 |
+
valid_611_a_1
|
| 1432 |
+
valid_611_a_2
|
| 1433 |
+
valid_611_b_1
|
| 1434 |
+
valid_611_b_2
|
| 1435 |
+
valid_612_a_1
|
| 1436 |
+
valid_612_a_2
|
| 1437 |
+
valid_613_a_1
|
| 1438 |
+
valid_613_a_2
|
| 1439 |
+
valid_614_a_1
|
| 1440 |
+
valid_614_a_2
|
| 1441 |
+
valid_615_a_1
|
| 1442 |
+
valid_615_a_2
|
| 1443 |
+
valid_616_a_1
|
| 1444 |
+
valid_617_a_1
|
| 1445 |
+
valid_617_a_2
|
| 1446 |
+
valid_618_a_1
|
| 1447 |
+
valid_618_a_2
|
| 1448 |
+
valid_619_a_1
|
| 1449 |
+
valid_619_a_2
|
| 1450 |
+
valid_620_a_1
|
| 1451 |
+
valid_620_a_2
|
| 1452 |
+
valid_621_a_1
|
| 1453 |
+
valid_621_a_2
|
| 1454 |
+
valid_622_a_1
|
| 1455 |
+
valid_622_a_2
|
| 1456 |
+
valid_623_a_1
|
| 1457 |
+
valid_623_a_2
|
| 1458 |
+
valid_624_a_1
|
| 1459 |
+
valid_624_a_2
|
| 1460 |
+
valid_624_b_1
|
| 1461 |
+
valid_624_b_2
|
| 1462 |
+
valid_625_a_1
|
| 1463 |
+
valid_625_a_2
|
| 1464 |
+
valid_626_a_1
|
| 1465 |
+
valid_626_a_2
|
| 1466 |
+
valid_627_a_1
|
| 1467 |
+
valid_627_a_2
|
| 1468 |
+
valid_628_a_1
|
| 1469 |
+
valid_628_a_2
|
| 1470 |
+
valid_629_a_1
|
| 1471 |
+
valid_629_a_2
|
| 1472 |
+
valid_630_a_1
|
| 1473 |
+
valid_630_a_2
|
| 1474 |
+
valid_631_a_1
|
| 1475 |
+
valid_631_a_2
|
| 1476 |
+
valid_632_a_1
|
| 1477 |
+
valid_633_a_1
|
| 1478 |
+
valid_633_a_2
|
| 1479 |
+
valid_634_a_1
|
| 1480 |
+
valid_634_a_2
|
| 1481 |
+
valid_635_a_1
|
| 1482 |
+
valid_635_a_2
|
| 1483 |
+
valid_636_a_1
|
| 1484 |
+
valid_636_a_2
|
| 1485 |
+
valid_636_b_1
|
| 1486 |
+
valid_636_b_2
|
| 1487 |
+
valid_636_c_1
|
| 1488 |
+
valid_636_c_2
|
| 1489 |
+
valid_637_a_1
|
| 1490 |
+
valid_637_a_2
|
| 1491 |
+
valid_638_a_1
|
| 1492 |
+
valid_638_a_2
|
| 1493 |
+
valid_639_a_1
|
| 1494 |
+
valid_639_a_2
|
| 1495 |
+
valid_640_a_1
|
| 1496 |
+
valid_640_a_2
|
| 1497 |
+
valid_641_a_1
|
| 1498 |
+
valid_642_a_1
|
| 1499 |
+
valid_643_a_1
|
| 1500 |
+
valid_643_a_2
|
| 1501 |
+
valid_643_b_1
|
| 1502 |
+
valid_643_b_2
|
| 1503 |
+
valid_644_a_1
|
| 1504 |
+
valid_644_a_2
|
| 1505 |
+
valid_645_a_1
|
| 1506 |
+
valid_645_a_2
|
| 1507 |
+
valid_645_b_1
|
| 1508 |
+
valid_645_b_2
|
| 1509 |
+
valid_645_c_1
|
| 1510 |
+
valid_645_c_2
|
| 1511 |
+
valid_646_a_1
|
| 1512 |
+
valid_646_a_2
|
| 1513 |
+
valid_647_a_1
|
| 1514 |
+
valid_647_a_2
|
| 1515 |
+
valid_648_a_1
|
| 1516 |
+
valid_648_a_2
|
| 1517 |
+
valid_649_a_1
|
| 1518 |
+
valid_649_a_2
|
| 1519 |
+
valid_650_a_1
|
| 1520 |
+
valid_650_a_2
|
| 1521 |
+
valid_651_a_1
|
| 1522 |
+
valid_651_b_1
|
| 1523 |
+
valid_651_b_2
|
| 1524 |
+
valid_652_a_1
|
| 1525 |
+
valid_652_a_2
|
| 1526 |
+
valid_653_a_1
|
| 1527 |
+
valid_653_a_2
|
| 1528 |
+
valid_654_a_1
|
| 1529 |
+
valid_654_a_2
|
| 1530 |
+
valid_655_a_1
|
| 1531 |
+
valid_655_a_2
|
| 1532 |
+
valid_655_b_1
|
| 1533 |
+
valid_655_b_2
|
| 1534 |
+
valid_656_a_1
|
| 1535 |
+
valid_656_a_2
|
| 1536 |
+
valid_657_a_1
|
| 1537 |
+
valid_657_a_2
|
| 1538 |
+
valid_658_a_1
|
| 1539 |
+
valid_658_a_2
|
| 1540 |
+
valid_659_a_1
|
| 1541 |
+
valid_660_a_1
|
| 1542 |
+
valid_660_a_2
|
| 1543 |
+
valid_661_a_1
|
| 1544 |
+
valid_661_a_2
|
| 1545 |
+
valid_662_a_1
|
| 1546 |
+
valid_662_a_2
|
| 1547 |
+
valid_663_a_1
|
| 1548 |
+
valid_663_a_2
|
| 1549 |
+
valid_664_a_1
|
| 1550 |
+
valid_664_a_2
|
| 1551 |
+
valid_665_a_1
|
| 1552 |
+
valid_665_a_2
|
| 1553 |
+
valid_666_a_1
|
| 1554 |
+
valid_666_a_2
|
| 1555 |
+
valid_667_a_1
|
| 1556 |
+
valid_667_a_2
|
| 1557 |
+
valid_667_b_1
|
| 1558 |
+
valid_667_b_2
|
| 1559 |
+
valid_667_c_1
|
| 1560 |
+
valid_667_c_2
|
| 1561 |
+
valid_668_a_1
|
| 1562 |
+
valid_668_a_2
|
| 1563 |
+
valid_668_b_1
|
| 1564 |
+
valid_668_b_2
|
| 1565 |
+
valid_669_a_1
|
| 1566 |
+
valid_669_a_2
|
| 1567 |
+
valid_670_a_1
|
| 1568 |
+
valid_670_a_2
|
| 1569 |
+
valid_671_a_1
|
| 1570 |
+
valid_671_a_2
|
| 1571 |
+
valid_672_a_1
|
| 1572 |
+
valid_672_a_2
|
| 1573 |
+
valid_673_a_1
|
| 1574 |
+
valid_673_a_2
|
| 1575 |
+
valid_674_a_1
|
| 1576 |
+
valid_674_a_2
|
| 1577 |
+
valid_675_a_1
|
| 1578 |
+
valid_675_a_2
|
| 1579 |
+
valid_675_b_1
|
| 1580 |
+
valid_675_b_2
|
| 1581 |
+
valid_675_c_1
|
| 1582 |
+
valid_675_c_2
|
| 1583 |
+
valid_676_a_1
|
| 1584 |
+
valid_676_a_2
|
| 1585 |
+
valid_677_a_1
|
| 1586 |
+
valid_677_a_2
|
| 1587 |
+
valid_678_a_1
|
| 1588 |
+
valid_678_a_2
|
| 1589 |
+
valid_679_a_1
|
| 1590 |
+
valid_679_a_2
|
| 1591 |
+
valid_680_a_1
|
| 1592 |
+
valid_680_a_2
|
| 1593 |
+
valid_681_a_1
|
| 1594 |
+
valid_681_a_2
|
| 1595 |
+
valid_682_a_1
|
| 1596 |
+
valid_682_a_2
|
| 1597 |
+
valid_683_a_1
|
| 1598 |
+
valid_683_a_2
|
| 1599 |
+
valid_684_a_1
|
| 1600 |
+
valid_684_a_2
|
| 1601 |
+
valid_685_a_1
|
| 1602 |
+
valid_685_a_2
|
| 1603 |
+
valid_686_a_1
|
| 1604 |
+
valid_686_a_2
|
| 1605 |
+
valid_687_a_1
|
| 1606 |
+
valid_687_a_2
|
| 1607 |
+
valid_688_a_1
|
| 1608 |
+
valid_688_a_2
|
| 1609 |
+
valid_689_a_1
|
| 1610 |
+
valid_689_a_2
|
| 1611 |
+
valid_690_a_1
|
| 1612 |
+
valid_690_a_2
|
| 1613 |
+
valid_691_a_1
|
| 1614 |
+
valid_691_a_2
|
| 1615 |
+
valid_692_a_1
|
| 1616 |
+
valid_693_a_1
|
| 1617 |
+
valid_693_a_2
|
| 1618 |
+
valid_694_a_1
|
| 1619 |
+
valid_694_a_2
|
| 1620 |
+
valid_694_b_1
|
| 1621 |
+
valid_694_b_2
|
| 1622 |
+
valid_695_a_1
|
| 1623 |
+
valid_695_a_2
|
| 1624 |
+
valid_696_a_1
|
| 1625 |
+
valid_696_a_2
|
| 1626 |
+
valid_697_a_1
|
| 1627 |
+
valid_697_a_2
|
| 1628 |
+
valid_698_a_1
|
| 1629 |
+
valid_699_a_1
|
| 1630 |
+
valid_699_a_2
|
| 1631 |
+
valid_700_a_1
|
| 1632 |
+
valid_700_a_2
|
| 1633 |
+
valid_701_a_1
|
| 1634 |
+
valid_701_a_2
|
| 1635 |
+
valid_702_a_1
|
| 1636 |
+
valid_702_a_2
|
| 1637 |
+
valid_703_a_1
|
| 1638 |
+
valid_703_a_2
|
| 1639 |
+
valid_704_a_1
|
| 1640 |
+
valid_704_a_2
|
| 1641 |
+
valid_705_a_1
|
| 1642 |
+
valid_705_a_2
|
| 1643 |
+
valid_706_a_1
|
| 1644 |
+
valid_706_a_2
|
| 1645 |
+
valid_707_a_1
|
| 1646 |
+
valid_707_a_2
|
| 1647 |
+
valid_708_a_1
|
| 1648 |
+
valid_708_a_2
|
| 1649 |
+
valid_709_a_1
|
| 1650 |
+
valid_709_a_2
|
| 1651 |
+
valid_710_a_1
|
| 1652 |
+
valid_710_a_2
|
| 1653 |
+
valid_711_a_1
|
| 1654 |
+
valid_711_a_2
|
| 1655 |
+
valid_712_a_1
|
| 1656 |
+
valid_712_a_2
|
| 1657 |
+
valid_713_a_1
|
| 1658 |
+
valid_713_a_2
|
| 1659 |
+
valid_713_b_1
|
| 1660 |
+
valid_713_b_2
|
| 1661 |
+
valid_713_c_1
|
| 1662 |
+
valid_713_c_2
|
| 1663 |
+
valid_714_a_1
|
| 1664 |
+
valid_715_a_1
|
| 1665 |
+
valid_715_a_2
|
| 1666 |
+
valid_715_b_1
|
| 1667 |
+
valid_715_b_2
|
| 1668 |
+
valid_716_a_1
|
| 1669 |
+
valid_716_a_2
|
| 1670 |
+
valid_717_a_1
|
| 1671 |
+
valid_717_a_2
|
| 1672 |
+
valid_717_b_1
|
| 1673 |
+
valid_717_b_2
|
| 1674 |
+
valid_717_c_1
|
| 1675 |
+
valid_717_c_2
|
| 1676 |
+
valid_718_a_1
|
| 1677 |
+
valid_718_a_2
|
| 1678 |
+
valid_719_a_1
|
| 1679 |
+
valid_719_a_2
|
| 1680 |
+
valid_720_a_1
|
| 1681 |
+
valid_720_a_2
|
| 1682 |
+
valid_721_a_1
|
| 1683 |
+
valid_721_a_2
|
| 1684 |
+
valid_722_a_1
|
| 1685 |
+
valid_722_a_2
|
| 1686 |
+
valid_722_b_1
|
| 1687 |
+
valid_722_b_2
|
| 1688 |
+
valid_723_a_1
|
| 1689 |
+
valid_723_a_2
|
| 1690 |
+
valid_724_a_1
|
| 1691 |
+
valid_724_a_2
|
| 1692 |
+
valid_725_a_1
|
| 1693 |
+
valid_725_a_2
|
| 1694 |
+
valid_726_a_3
|
| 1695 |
+
valid_726_a_5
|
| 1696 |
+
valid_727_a_1
|
| 1697 |
+
valid_727_a_2
|
| 1698 |
+
valid_728_a_1
|
| 1699 |
+
valid_728_a_2
|
| 1700 |
+
valid_729_a_1
|
| 1701 |
+
valid_729_a_2
|
| 1702 |
+
valid_730_a_1
|
| 1703 |
+
valid_730_a_2
|
| 1704 |
+
valid_731_a_1
|
| 1705 |
+
valid_731_a_2
|
| 1706 |
+
valid_732_a_1
|
| 1707 |
+
valid_732_a_2
|
| 1708 |
+
valid_733_a_1
|
| 1709 |
+
valid_733_a_2
|
| 1710 |
+
valid_734_a_1
|
| 1711 |
+
valid_734_a_2
|
| 1712 |
+
valid_735_a_1
|
| 1713 |
+
valid_735_a_2
|
| 1714 |
+
valid_736_a_1
|
| 1715 |
+
valid_736_a_2
|
| 1716 |
+
valid_737_a_1
|
| 1717 |
+
valid_737_a_2
|
| 1718 |
+
valid_738_a_1
|
| 1719 |
+
valid_738_a_2
|
| 1720 |
+
valid_739_a_1
|
| 1721 |
+
valid_739_a_2
|
| 1722 |
+
valid_740_a_1
|
| 1723 |
+
valid_740_a_2
|
| 1724 |
+
valid_741_a_1
|
| 1725 |
+
valid_741_a_2
|
| 1726 |
+
valid_741_b_1
|
| 1727 |
+
valid_741_b_2
|
| 1728 |
+
valid_742_a_1
|
| 1729 |
+
valid_743_a_1
|
| 1730 |
+
valid_743_a_2
|
| 1731 |
+
valid_744_a_1
|
| 1732 |
+
valid_744_a_2
|
| 1733 |
+
valid_745_a_1
|
| 1734 |
+
valid_746_a_1
|
| 1735 |
+
valid_746_a_2
|
| 1736 |
+
valid_747_a_1
|
| 1737 |
+
valid_747_a_2
|
| 1738 |
+
valid_748_a_1
|
| 1739 |
+
valid_748_a_2
|
| 1740 |
+
valid_749_a_1
|
| 1741 |
+
valid_749_a_2
|
| 1742 |
+
valid_750_a_1
|
| 1743 |
+
valid_750_a_2
|
| 1744 |
+
valid_751_a_1
|
| 1745 |
+
valid_751_a_2
|
| 1746 |
+
valid_752_a_1
|
| 1747 |
+
valid_752_a_2
|
| 1748 |
+
valid_752_b_1
|
| 1749 |
+
valid_752_b_2
|
| 1750 |
+
valid_753_a_1
|
| 1751 |
+
valid_753_a_2
|
| 1752 |
+
valid_754_a_1
|
| 1753 |
+
valid_754_a_2
|
| 1754 |
+
valid_755_a_1
|
| 1755 |
+
valid_755_a_2
|
| 1756 |
+
valid_756_a_1
|
| 1757 |
+
valid_756_a_2
|
| 1758 |
+
valid_757_a_1
|
| 1759 |
+
valid_757_a_2
|
| 1760 |
+
valid_758_a_1
|
| 1761 |
+
valid_758_a_2
|
| 1762 |
+
valid_759_a_1
|
| 1763 |
+
valid_759_a_2
|
| 1764 |
+
valid_760_a_1
|
| 1765 |
+
valid_760_a_2
|
| 1766 |
+
valid_761_a_1
|
| 1767 |
+
valid_761_a_2
|
| 1768 |
+
valid_762_a_1
|
| 1769 |
+
valid_762_a_2
|
| 1770 |
+
valid_763_a_1
|
| 1771 |
+
valid_763_a_2
|
| 1772 |
+
valid_764_a_1
|
| 1773 |
+
valid_764_a_2
|
| 1774 |
+
valid_765_a_1
|
| 1775 |
+
valid_765_a_2
|
| 1776 |
+
valid_766_a_1
|
| 1777 |
+
valid_766_a_2
|
| 1778 |
+
valid_767_a_1
|
| 1779 |
+
valid_767_a_2
|
| 1780 |
+
valid_768_a_1
|
| 1781 |
+
valid_768_a_2
|
| 1782 |
+
valid_769_a_1
|
| 1783 |
+
valid_769_a_2
|
| 1784 |
+
valid_770_a_1
|
| 1785 |
+
valid_770_a_2
|
| 1786 |
+
valid_770_b_1
|
| 1787 |
+
valid_770_c_1
|
| 1788 |
+
valid_771_a_1
|
| 1789 |
+
valid_771_a_2
|
| 1790 |
+
valid_771_b_1
|
| 1791 |
+
valid_771_b_2
|
| 1792 |
+
valid_772_a_1
|
| 1793 |
+
valid_772_a_2
|
| 1794 |
+
valid_773_a_1
|
| 1795 |
+
valid_773_a_2
|
| 1796 |
+
valid_774_a_1
|
| 1797 |
+
valid_774_a_2
|
| 1798 |
+
valid_774_b_1
|
| 1799 |
+
valid_774_b_2
|
| 1800 |
+
valid_775_a_1
|
| 1801 |
+
valid_775_a_2
|
| 1802 |
+
valid_776_a_1
|
| 1803 |
+
valid_776_a_2
|
| 1804 |
+
valid_777_a_1
|
| 1805 |
+
valid_777_a_2
|
| 1806 |
+
valid_778_a_1
|
| 1807 |
+
valid_778_a_2
|
| 1808 |
+
valid_778_b_1
|
| 1809 |
+
valid_778_b_2
|
| 1810 |
+
valid_779_a_1
|
| 1811 |
+
valid_779_a_2
|
| 1812 |
+
valid_780_a_1
|
| 1813 |
+
valid_780_a_2
|
| 1814 |
+
valid_781_a_1
|
| 1815 |
+
valid_781_a_2
|
| 1816 |
+
valid_782_a_1
|
| 1817 |
+
valid_782_a_2
|
| 1818 |
+
valid_783_a_1
|
| 1819 |
+
valid_783_a_2
|
| 1820 |
+
valid_784_a_1
|
| 1821 |
+
valid_784_a_2
|
| 1822 |
+
valid_785_a_1
|
| 1823 |
+
valid_785_a_2
|
| 1824 |
+
valid_786_a_1
|
| 1825 |
+
valid_786_a_2
|
| 1826 |
+
valid_787_a_1
|
| 1827 |
+
valid_787_a_2
|
| 1828 |
+
valid_787_b_1
|
| 1829 |
+
valid_787_b_2
|
| 1830 |
+
valid_787_c_1
|
| 1831 |
+
valid_787_c_2
|
| 1832 |
+
valid_787_d_1
|
| 1833 |
+
valid_787_d_2
|
| 1834 |
+
valid_788_a_1
|
| 1835 |
+
valid_788_a_2
|
| 1836 |
+
valid_789_a_1
|
| 1837 |
+
valid_789_a_2
|
| 1838 |
+
valid_790_a_1
|
| 1839 |
+
valid_790_a_2
|
| 1840 |
+
valid_791_a_1
|
| 1841 |
+
valid_791_a_2
|
| 1842 |
+
valid_792_a_1
|
| 1843 |
+
valid_792_a_2
|
| 1844 |
+
valid_793_a_1
|
| 1845 |
+
valid_794_a_1
|
| 1846 |
+
valid_794_a_2
|
| 1847 |
+
valid_795_a_1
|
| 1848 |
+
valid_795_a_2
|
| 1849 |
+
valid_796_a_1
|
| 1850 |
+
valid_796_a_2
|
| 1851 |
+
valid_797_a_1
|
| 1852 |
+
valid_797_a_2
|
| 1853 |
+
valid_798_a_1
|
| 1854 |
+
valid_798_a_2
|
| 1855 |
+
valid_799_a_1
|
| 1856 |
+
valid_799_a_2
|
| 1857 |
+
valid_800_a_1
|
| 1858 |
+
valid_801_a_1
|
| 1859 |
+
valid_801_a_2
|
| 1860 |
+
valid_802_a_1
|
| 1861 |
+
valid_802_a_2
|
| 1862 |
+
valid_803_a_1
|
| 1863 |
+
valid_803_a_2
|
| 1864 |
+
valid_804_a_1
|
| 1865 |
+
valid_804_a_2
|
| 1866 |
+
valid_804_b_1
|
| 1867 |
+
valid_804_b_2
|
| 1868 |
+
valid_805_a_1
|
| 1869 |
+
valid_805_a_2
|
| 1870 |
+
valid_806_a_1
|
| 1871 |
+
valid_806_a_2
|
| 1872 |
+
valid_807_a_1
|
| 1873 |
+
valid_807_a_2
|
| 1874 |
+
valid_808_a_1
|
| 1875 |
+
valid_808_a_2
|
| 1876 |
+
valid_809_a_1
|
| 1877 |
+
valid_809_a_2
|
| 1878 |
+
valid_810_a_1
|
| 1879 |
+
valid_810_a_2
|
| 1880 |
+
valid_810_b_1
|
| 1881 |
+
valid_810_b_2
|
| 1882 |
+
valid_811_a_1
|
| 1883 |
+
valid_811_a_2
|
| 1884 |
+
valid_812_a_1
|
| 1885 |
+
valid_812_a_2
|
| 1886 |
+
valid_813_a_1
|
| 1887 |
+
valid_813_a_2
|
| 1888 |
+
valid_814_a_1
|
| 1889 |
+
valid_814_a_2
|
| 1890 |
+
valid_815_a_1
|
| 1891 |
+
valid_815_a_2
|
| 1892 |
+
valid_815_b_1
|
| 1893 |
+
valid_815_b_2
|
| 1894 |
+
valid_815_c_1
|
| 1895 |
+
valid_815_c_2
|
| 1896 |
+
valid_816_a_1
|
| 1897 |
+
valid_816_a_2
|
| 1898 |
+
valid_817_a_1
|
| 1899 |
+
valid_817_a_2
|
| 1900 |
+
valid_818_a_1
|
| 1901 |
+
valid_818_a_2
|
| 1902 |
+
valid_819_a_1
|
| 1903 |
+
valid_819_a_2
|
| 1904 |
+
valid_820_a_1
|
| 1905 |
+
valid_820_a_2
|
| 1906 |
+
valid_821_a_1
|
| 1907 |
+
valid_821_a_2
|
| 1908 |
+
valid_822_a_1
|
| 1909 |
+
valid_822_a_2
|
| 1910 |
+
valid_823_a_1
|
| 1911 |
+
valid_823_a_2
|
| 1912 |
+
valid_824_a_1
|
| 1913 |
+
valid_824_a_2
|
| 1914 |
+
valid_824_b_1
|
| 1915 |
+
valid_824_b_2
|
| 1916 |
+
valid_825_a_1
|
| 1917 |
+
valid_825_a_2
|
| 1918 |
+
valid_825_b_1
|
| 1919 |
+
valid_825_b_2
|
| 1920 |
+
valid_826_a_1
|
| 1921 |
+
valid_826_a_2
|
| 1922 |
+
valid_827_a_1
|
| 1923 |
+
valid_827_a_2
|
| 1924 |
+
valid_828_a_1
|
| 1925 |
+
valid_828_a_2
|
| 1926 |
+
valid_829_a_1
|
| 1927 |
+
valid_829_a_2
|
| 1928 |
+
valid_829_b_1
|
| 1929 |
+
valid_829_b_2
|
| 1930 |
+
valid_830_a_1
|
| 1931 |
+
valid_830_a_2
|
| 1932 |
+
valid_830_b_1
|
| 1933 |
+
valid_830_b_2
|
| 1934 |
+
valid_830_c_1
|
| 1935 |
+
valid_830_c_2
|
| 1936 |
+
valid_831_a_1
|
| 1937 |
+
valid_831_a_2
|
| 1938 |
+
valid_832_a_1
|
| 1939 |
+
valid_832_a_2
|
| 1940 |
+
valid_832_b_1
|
| 1941 |
+
valid_832_b_2
|
| 1942 |
+
valid_833_a_1
|
| 1943 |
+
valid_833_a_2
|
| 1944 |
+
valid_834_a_1
|
| 1945 |
+
valid_834_a_2
|
| 1946 |
+
valid_835_a_1
|
| 1947 |
+
valid_835_a_2
|
| 1948 |
+
valid_836_a_1
|
| 1949 |
+
valid_836_a_2
|
| 1950 |
+
valid_837_a_1
|
| 1951 |
+
valid_837_a_2
|
| 1952 |
+
valid_838_a_1
|
| 1953 |
+
valid_838_a_2
|
| 1954 |
+
valid_839_a_1
|
| 1955 |
+
valid_839_a_2
|
| 1956 |
+
valid_840_a_1
|
| 1957 |
+
valid_840_a_2
|
| 1958 |
+
valid_841_a_1
|
| 1959 |
+
valid_841_a_2
|
| 1960 |
+
valid_842_a_1
|
| 1961 |
+
valid_842_a_2
|
| 1962 |
+
valid_843_a_1
|
| 1963 |
+
valid_843_a_2
|
| 1964 |
+
valid_844_a_1
|
| 1965 |
+
valid_844_a_2
|
| 1966 |
+
valid_844_b_1
|
| 1967 |
+
valid_844_b_2
|
| 1968 |
+
valid_845_a_1
|
| 1969 |
+
valid_845_a_2
|
| 1970 |
+
valid_846_a_1
|
| 1971 |
+
valid_846_a_2
|
| 1972 |
+
valid_847_a_1
|
| 1973 |
+
valid_847_a_2
|
| 1974 |
+
valid_848_a_1
|
| 1975 |
+
valid_848_a_2
|
| 1976 |
+
valid_849_a_1
|
| 1977 |
+
valid_849_a_2
|
| 1978 |
+
valid_850_a_1
|
| 1979 |
+
valid_850_a_2
|
| 1980 |
+
valid_850_b_1
|
| 1981 |
+
valid_850_b_2
|
| 1982 |
+
valid_850_c_1
|
| 1983 |
+
valid_850_c_2
|
| 1984 |
+
valid_850_d_1
|
| 1985 |
+
valid_850_d_2
|
| 1986 |
+
valid_850_e_1
|
| 1987 |
+
valid_850_e_2
|
| 1988 |
+
valid_850_f_1
|
| 1989 |
+
valid_850_f_2
|
| 1990 |
+
valid_851_a_1
|
| 1991 |
+
valid_851_a_2
|
| 1992 |
+
valid_852_a_1
|
| 1993 |
+
valid_852_a_2
|
| 1994 |
+
valid_853_a_1
|
| 1995 |
+
valid_853_a_2
|
| 1996 |
+
valid_854_a_1
|
| 1997 |
+
valid_854_a_2
|
| 1998 |
+
valid_855_a_1
|
| 1999 |
+
valid_855_a_2
|
| 2000 |
+
valid_856_a_1
|
| 2001 |
+
valid_857_a_1
|
| 2002 |
+
valid_857_a_2
|
| 2003 |
+
valid_858_a_1
|
| 2004 |
+
valid_858_a_2
|
| 2005 |
+
valid_859_a_1
|
| 2006 |
+
valid_859_a_2
|
| 2007 |
+
valid_860_a_1
|
| 2008 |
+
valid_861_a_1
|
| 2009 |
+
valid_861_a_2
|
| 2010 |
+
valid_862_a_1
|
| 2011 |
+
valid_862_a_2
|
| 2012 |
+
valid_863_a_1
|
| 2013 |
+
valid_863_a_2
|
| 2014 |
+
valid_863_a_3
|
| 2015 |
+
valid_864_a_1
|
| 2016 |
+
valid_864_a_2
|
| 2017 |
+
valid_865_a_1
|
| 2018 |
+
valid_866_a_1
|
| 2019 |
+
valid_866_a_2
|
| 2020 |
+
valid_867_a_1
|
| 2021 |
+
valid_867_a_2
|
| 2022 |
+
valid_868_a_1
|
| 2023 |
+
valid_868_a_2
|
| 2024 |
+
valid_869_a_1
|
| 2025 |
+
valid_869_a_2
|
| 2026 |
+
valid_869_b_1
|
| 2027 |
+
valid_869_b_2
|
| 2028 |
+
valid_870_a_1
|
| 2029 |
+
valid_870_a_2
|
| 2030 |
+
valid_871_a_1
|
| 2031 |
+
valid_871_a_2
|
| 2032 |
+
valid_872_a_1
|
| 2033 |
+
valid_872_a_2
|
| 2034 |
+
valid_873_a_1
|
| 2035 |
+
valid_873_a_2
|
| 2036 |
+
valid_874_a_1
|
| 2037 |
+
valid_874_a_2
|
| 2038 |
+
valid_875_a_1
|
| 2039 |
+
valid_875_a_2
|
| 2040 |
+
valid_876_a_1
|
| 2041 |
+
valid_876_a_2
|
| 2042 |
+
valid_876_b_1
|
| 2043 |
+
valid_876_b_2
|
| 2044 |
+
valid_877_a_1
|
| 2045 |
+
valid_877_a_2
|
| 2046 |
+
valid_878_a_1
|
| 2047 |
+
valid_878_a_2
|
| 2048 |
+
valid_879_a_1
|
| 2049 |
+
valid_879_a_2
|
| 2050 |
+
valid_880_a_1
|
| 2051 |
+
valid_880_a_2
|
| 2052 |
+
valid_881_a_1
|
| 2053 |
+
valid_881_a_2
|
| 2054 |
+
valid_882_a_1
|
| 2055 |
+
valid_882_a_2
|
| 2056 |
+
valid_883_a_1
|
| 2057 |
+
valid_883_a_2
|
| 2058 |
+
valid_884_a_3
|
| 2059 |
+
valid_884_a_5
|
| 2060 |
+
valid_884_b_1
|
| 2061 |
+
valid_884_b_2
|
| 2062 |
+
valid_885_a_1
|
| 2063 |
+
valid_885_a_2
|
| 2064 |
+
valid_886_a_1
|
| 2065 |
+
valid_886_a_2
|
| 2066 |
+
valid_887_a_1
|
| 2067 |
+
valid_887_a_2
|
| 2068 |
+
valid_888_a_1
|
| 2069 |
+
valid_888_a_2
|
| 2070 |
+
valid_889_a_1
|
| 2071 |
+
valid_889_a_2
|
| 2072 |
+
valid_890_a_1
|
| 2073 |
+
valid_890_a_2
|
| 2074 |
+
valid_891_a_1
|
| 2075 |
+
valid_892_a_1
|
| 2076 |
+
valid_893_a_1
|
| 2077 |
+
valid_893_a_2
|
| 2078 |
+
valid_894_a_1
|
| 2079 |
+
valid_894_a_2
|
| 2080 |
+
valid_895_a_1
|
| 2081 |
+
valid_895_a_2
|
| 2082 |
+
valid_896_a_1
|
| 2083 |
+
valid_896_a_2
|
| 2084 |
+
valid_897_a_1
|
| 2085 |
+
valid_897_a_2
|
| 2086 |
+
valid_898_a_1
|
| 2087 |
+
valid_898_a_2
|
| 2088 |
+
valid_898_b_1
|
| 2089 |
+
valid_898_b_2
|
| 2090 |
+
valid_899_a_1
|
| 2091 |
+
valid_899_a_2
|
| 2092 |
+
valid_900_a_1
|
| 2093 |
+
valid_900_a_2
|
| 2094 |
+
valid_901_a_1
|
| 2095 |
+
valid_901_a_2
|
| 2096 |
+
valid_902_a_1
|
| 2097 |
+
valid_902_a_2
|
| 2098 |
+
valid_903_a_1
|
| 2099 |
+
valid_904_a_1
|
| 2100 |
+
valid_904_a_2
|
| 2101 |
+
valid_905_a_1
|
| 2102 |
+
valid_905_a_2
|
| 2103 |
+
valid_906_a_1
|
| 2104 |
+
valid_906_a_2
|
| 2105 |
+
valid_906_b_1
|
| 2106 |
+
valid_907_a_1
|
| 2107 |
+
valid_908_a_1
|
| 2108 |
+
valid_908_a_2
|
| 2109 |
+
valid_909_a_1
|
| 2110 |
+
valid_909_a_2
|
| 2111 |
+
valid_910_a_1
|
| 2112 |
+
valid_910_a_2
|
| 2113 |
+
valid_911_a_1
|
| 2114 |
+
valid_911_a_2
|
| 2115 |
+
valid_912_a_1
|
| 2116 |
+
valid_912_a_2
|
| 2117 |
+
valid_913_a_1
|
| 2118 |
+
valid_913_a_2
|
| 2119 |
+
valid_914_a_1
|
| 2120 |
+
valid_914_a_2
|
| 2121 |
+
valid_915_a_1
|
| 2122 |
+
valid_915_a_2
|
| 2123 |
+
valid_915_b_1
|
| 2124 |
+
valid_915_b_2
|
| 2125 |
+
valid_915_c_1
|
| 2126 |
+
valid_915_c_2
|
| 2127 |
+
valid_916_a_1
|
| 2128 |
+
valid_916_a_2
|
| 2129 |
+
valid_916_b_1
|
| 2130 |
+
valid_916_b_2
|
| 2131 |
+
valid_916_c_1
|
| 2132 |
+
valid_916_c_2
|
| 2133 |
+
valid_917_a_1
|
| 2134 |
+
valid_917_a_2
|
| 2135 |
+
valid_918_a_1
|
| 2136 |
+
valid_918_a_2
|
| 2137 |
+
valid_919_a_1
|
| 2138 |
+
valid_919_a_2
|
| 2139 |
+
valid_920_a_1
|
| 2140 |
+
valid_920_a_2
|
| 2141 |
+
valid_921_a_1
|
| 2142 |
+
valid_921_a_2
|
| 2143 |
+
valid_922_a_1
|
| 2144 |
+
valid_922_a_2
|
| 2145 |
+
valid_923_a_1
|
| 2146 |
+
valid_923_a_2
|
| 2147 |
+
valid_924_a_1
|
| 2148 |
+
valid_924_a_2
|
| 2149 |
+
valid_925_a_1
|
| 2150 |
+
valid_925_a_2
|
| 2151 |
+
valid_926_a_1
|
| 2152 |
+
valid_926_a_2
|
| 2153 |
+
valid_927_a_1
|
| 2154 |
+
valid_927_a_2
|
| 2155 |
+
valid_928_a_1
|
| 2156 |
+
valid_928_a_2
|
| 2157 |
+
valid_928_b_1
|
| 2158 |
+
valid_928_b_2
|
| 2159 |
+
valid_929_a_1
|
| 2160 |
+
valid_929_a_2
|
| 2161 |
+
valid_930_a_1
|
| 2162 |
+
valid_930_a_2
|
| 2163 |
+
valid_931_a_1
|
| 2164 |
+
valid_931_a_2
|
| 2165 |
+
valid_931_b_1
|
| 2166 |
+
valid_931_b_2
|
| 2167 |
+
valid_932_a_1
|
| 2168 |
+
valid_932_a_2
|
| 2169 |
+
valid_933_a_1
|
| 2170 |
+
valid_933_b_1
|
| 2171 |
+
valid_933_b_2
|
| 2172 |
+
valid_934_a_1
|
| 2173 |
+
valid_934_a_2
|
| 2174 |
+
valid_935_a_1
|
| 2175 |
+
valid_935_a_2
|
| 2176 |
+
valid_936_a_1
|
| 2177 |
+
valid_936_a_2
|
| 2178 |
+
valid_936_b_1
|
| 2179 |
+
valid_937_a_1
|
| 2180 |
+
valid_937_a_2
|
| 2181 |
+
valid_937_b_1
|
| 2182 |
+
valid_937_b_2
|
| 2183 |
+
valid_937_c_1
|
| 2184 |
+
valid_937_c_2
|
| 2185 |
+
valid_937_d_1
|
| 2186 |
+
valid_937_d_2
|
| 2187 |
+
valid_937_e_1
|
| 2188 |
+
valid_937_e_2
|
| 2189 |
+
valid_937_f_1
|
| 2190 |
+
valid_937_f_2
|
| 2191 |
+
valid_937_g_1
|
| 2192 |
+
valid_937_g_2
|
| 2193 |
+
valid_937_h_1
|
| 2194 |
+
valid_937_h_2
|
| 2195 |
+
valid_938_a_1
|
| 2196 |
+
valid_939_a_1
|
| 2197 |
+
valid_939_a_2
|
| 2198 |
+
valid_940_a_1
|
| 2199 |
+
valid_940_a_2
|
| 2200 |
+
valid_941_a_1
|
| 2201 |
+
valid_941_a_2
|
| 2202 |
+
valid_942_a_1
|
| 2203 |
+
valid_942_a_2
|
| 2204 |
+
valid_943_a_1
|
| 2205 |
+
valid_943_a_2
|
| 2206 |
+
valid_944_a_1
|
| 2207 |
+
valid_944_a_2
|
| 2208 |
+
valid_945_a_1
|
| 2209 |
+
valid_945_a_2
|
| 2210 |
+
valid_945_b_1
|
| 2211 |
+
valid_945_b_2
|
| 2212 |
+
valid_946_a_1
|
| 2213 |
+
valid_947_a_1
|
| 2214 |
+
valid_947_a_2
|
| 2215 |
+
valid_948_a_1
|
| 2216 |
+
valid_948_a_2
|
| 2217 |
+
valid_949_a_1
|
| 2218 |
+
valid_949_a_2
|
| 2219 |
+
valid_950_a_1
|
| 2220 |
+
valid_950_a_2
|
| 2221 |
+
valid_951_a_1
|
| 2222 |
+
valid_951_a_2
|
| 2223 |
+
valid_952_a_1
|
| 2224 |
+
valid_952_a_2
|
| 2225 |
+
valid_953_a_1
|
| 2226 |
+
valid_953_a_2
|
| 2227 |
+
valid_954_a_1
|
| 2228 |
+
valid_954_a_2
|
| 2229 |
+
valid_955_a_1
|
| 2230 |
+
valid_956_a_1
|
| 2231 |
+
valid_956_a_2
|
| 2232 |
+
valid_957_a_1
|
| 2233 |
+
valid_957_a_2
|
| 2234 |
+
valid_958_a_1
|
| 2235 |
+
valid_958_a_2
|
| 2236 |
+
valid_959_a_1
|
| 2237 |
+
valid_959_a_2
|
| 2238 |
+
valid_960_a_1
|
| 2239 |
+
valid_960_a_2
|
| 2240 |
+
valid_961_a_1
|
| 2241 |
+
valid_961_a_2
|
| 2242 |
+
valid_962_a_1
|
| 2243 |
+
valid_962_a_2
|
| 2244 |
+
valid_963_a_1
|
| 2245 |
+
valid_963_a_2
|
| 2246 |
+
valid_964_a_1
|
| 2247 |
+
valid_964_a_2
|
| 2248 |
+
valid_965_a_1
|
| 2249 |
+
valid_965_a_2
|
| 2250 |
+
valid_966_a_1
|
| 2251 |
+
valid_966_a_2
|
| 2252 |
+
valid_967_a_1
|
| 2253 |
+
valid_967_a_2
|
| 2254 |
+
valid_968_a_1
|
| 2255 |
+
valid_968_a_2
|
| 2256 |
+
valid_968_b_1
|
| 2257 |
+
valid_968_b_2
|
| 2258 |
+
valid_968_c_1
|
| 2259 |
+
valid_968_c_2
|
| 2260 |
+
valid_968_d_1
|
| 2261 |
+
valid_968_d_2
|
| 2262 |
+
valid_969_a_1
|
| 2263 |
+
valid_969_a_2
|
| 2264 |
+
valid_969_b_1
|
| 2265 |
+
valid_969_b_2
|
| 2266 |
+
valid_970_a_1
|
| 2267 |
+
valid_970_a_2
|
| 2268 |
+
valid_971_a_1
|
| 2269 |
+
valid_971_a_2
|
| 2270 |
+
valid_971_b_1
|
| 2271 |
+
valid_971_b_2
|
| 2272 |
+
valid_972_a_1
|
| 2273 |
+
valid_972_a_2
|
| 2274 |
+
valid_973_a_1
|
| 2275 |
+
valid_973_a_2
|
| 2276 |
+
valid_974_a_1
|
| 2277 |
+
valid_974_a_2
|
| 2278 |
+
valid_975_a_1
|
| 2279 |
+
valid_975_a_2
|
| 2280 |
+
valid_976_a_1
|
| 2281 |
+
valid_976_a_2
|
| 2282 |
+
valid_977_a_1
|
| 2283 |
+
valid_977_a_2
|
| 2284 |
+
valid_978_a_1
|
| 2285 |
+
valid_978_a_2
|
| 2286 |
+
valid_979_a_1
|
| 2287 |
+
valid_979_a_2
|
| 2288 |
+
valid_979_b_1
|
| 2289 |
+
valid_979_b_2
|
| 2290 |
+
valid_980_a_1
|
| 2291 |
+
valid_980_a_2
|
| 2292 |
+
valid_981_a_1
|
| 2293 |
+
valid_982_a_1
|
| 2294 |
+
valid_982_a_2
|
| 2295 |
+
valid_983_a_1
|
| 2296 |
+
valid_983_a_2
|
| 2297 |
+
valid_984_a_1
|
| 2298 |
+
valid_984_a_2
|
| 2299 |
+
valid_985_a_1
|
| 2300 |
+
valid_985_a_2
|
| 2301 |
+
valid_986_a_1
|
| 2302 |
+
valid_986_a_2
|
| 2303 |
+
valid_987_a_1
|
| 2304 |
+
valid_987_a_2
|
| 2305 |
+
valid_988_a_1
|
| 2306 |
+
valid_988_a_2
|
| 2307 |
+
valid_989_a_1
|
| 2308 |
+
valid_989_a_2
|
| 2309 |
+
valid_990_a_1
|
| 2310 |
+
valid_990_a_2
|
| 2311 |
+
valid_991_a_1
|
| 2312 |
+
valid_991_a_2
|
| 2313 |
+
valid_991_b_1
|
| 2314 |
+
valid_991_b_2
|
| 2315 |
+
valid_992_a_1
|
| 2316 |
+
valid_993_a_1
|
| 2317 |
+
valid_993_a_2
|
| 2318 |
+
valid_994_a_3
|
| 2319 |
+
valid_994_a_5
|
| 2320 |
+
valid_995_a_1
|
| 2321 |
+
valid_995_a_2
|
| 2322 |
+
valid_996_a_1
|
| 2323 |
+
valid_996_a_2
|
| 2324 |
+
valid_997_a_1
|
| 2325 |
+
valid_997_a_2
|
| 2326 |
+
valid_998_a_1
|
| 2327 |
+
valid_998_a_2
|
| 2328 |
+
valid_999_a_1
|
| 2329 |
+
valid_999_a_2
|
| 2330 |
+
valid_1000_a_1
|
| 2331 |
+
valid_1000_a_2
|
| 2332 |
+
valid_1001_a_1
|
| 2333 |
+
valid_1001_a_2
|
| 2334 |
+
valid_1002_a_1
|
| 2335 |
+
valid_1002_a_2
|
| 2336 |
+
valid_1003_a_1
|
| 2337 |
+
valid_1003_a_2
|
| 2338 |
+
valid_1004_a_1
|
| 2339 |
+
valid_1004_a_2
|
| 2340 |
+
valid_1005_a_1
|
| 2341 |
+
valid_1005_a_2
|
| 2342 |
+
valid_1005_b_1
|
| 2343 |
+
valid_1005_b_2
|
| 2344 |
+
valid_1006_a_1
|
| 2345 |
+
valid_1006_a_2
|
| 2346 |
+
valid_1006_b_1
|
| 2347 |
+
valid_1006_b_2
|
| 2348 |
+
valid_1006_c_1
|
| 2349 |
+
valid_1006_c_2
|
| 2350 |
+
valid_1007_a_1
|
| 2351 |
+
valid_1007_a_2
|
| 2352 |
+
valid_1008_a_1
|
| 2353 |
+
valid_1008_a_2
|
| 2354 |
+
valid_1009_a_1
|
| 2355 |
+
valid_1010_a_1
|
| 2356 |
+
valid_1010_a_2
|
| 2357 |
+
valid_1011_a_1
|
| 2358 |
+
valid_1011_a_2
|
| 2359 |
+
valid_1012_a_1
|
| 2360 |
+
valid_1012_a_2
|
| 2361 |
+
valid_1013_a_1
|
| 2362 |
+
valid_1013_a_2
|
| 2363 |
+
valid_1014_a_1
|
| 2364 |
+
valid_1014_a_2
|
| 2365 |
+
valid_1015_a_1
|
| 2366 |
+
valid_1015_a_2
|
| 2367 |
+
valid_1016_a_1
|
| 2368 |
+
valid_1016_a_2
|
| 2369 |
+
valid_1016_b_1
|
| 2370 |
+
valid_1016_b_2
|
| 2371 |
+
valid_1016_c_1
|
| 2372 |
+
valid_1016_c_2
|
| 2373 |
+
valid_1016_d_1
|
| 2374 |
+
valid_1016_d_2
|
| 2375 |
+
valid_1016_e_1
|
| 2376 |
+
valid_1016_e_2
|
| 2377 |
+
valid_1016_f_1
|
| 2378 |
+
valid_1016_f_2
|
| 2379 |
+
valid_1017_a_1
|
| 2380 |
+
valid_1018_a_1
|
| 2381 |
+
valid_1018_a_2
|
| 2382 |
+
valid_1019_a_1
|
| 2383 |
+
valid_1019_b_1
|
| 2384 |
+
valid_1019_b_2
|
| 2385 |
+
valid_1019_c_1
|
| 2386 |
+
valid_1019_c_2
|
| 2387 |
+
valid_1019_d_1
|
| 2388 |
+
valid_1020_a_1
|
| 2389 |
+
valid_1020_a_2
|
| 2390 |
+
valid_1021_a_1
|
| 2391 |
+
valid_1021_a_2
|
| 2392 |
+
valid_1022_a_1
|
| 2393 |
+
valid_1022_a_2
|
| 2394 |
+
valid_1023_a_1
|
| 2395 |
+
valid_1023_a_2
|
| 2396 |
+
valid_1024_a_1
|
| 2397 |
+
valid_1025_a_1
|
| 2398 |
+
valid_1025_a_2
|
| 2399 |
+
valid_1025_b_1
|
| 2400 |
+
valid_1025_b_2
|
| 2401 |
+
valid_1025_c_1
|
| 2402 |
+
valid_1025_c_2
|
| 2403 |
+
valid_1026_a_1
|
| 2404 |
+
valid_1026_a_2
|
| 2405 |
+
valid_1027_a_1
|
| 2406 |
+
valid_1028_a_1
|
| 2407 |
+
valid_1028_a_2
|
| 2408 |
+
valid_1029_a_1
|
| 2409 |
+
valid_1030_a_1
|
| 2410 |
+
valid_1030_a_2
|
| 2411 |
+
valid_1031_a_1
|
| 2412 |
+
valid_1031_a_2
|
| 2413 |
+
valid_1032_a_1
|
| 2414 |
+
valid_1032_a_2
|
| 2415 |
+
valid_1033_a_1
|
| 2416 |
+
valid_1033_a_2
|
| 2417 |
+
valid_1034_a_1
|
| 2418 |
+
valid_1034_a_2
|
| 2419 |
+
valid_1035_a_1
|
| 2420 |
+
valid_1035_a_2
|
| 2421 |
+
valid_1036_a_1
|
| 2422 |
+
valid_1036_a_2
|
| 2423 |
+
valid_1037_a_1
|
| 2424 |
+
valid_1037_a_2
|
| 2425 |
+
valid_1038_a_1
|
| 2426 |
+
valid_1038_a_2
|
| 2427 |
+
valid_1039_a_1
|
| 2428 |
+
valid_1040_a_1
|
| 2429 |
+
valid_1040_a_2
|
| 2430 |
+
valid_1041_a_1
|
| 2431 |
+
valid_1041_a_2
|
| 2432 |
+
valid_1041_b_1
|
| 2433 |
+
valid_1041_b_2
|
| 2434 |
+
valid_1041_c_1
|
| 2435 |
+
valid_1041_c_2
|
| 2436 |
+
valid_1041_d_1
|
| 2437 |
+
valid_1041_d_2
|
| 2438 |
+
valid_1042_a_1
|
| 2439 |
+
valid_1042_a_2
|
| 2440 |
+
valid_1043_a_1
|
| 2441 |
+
valid_1043_a_2
|
| 2442 |
+
valid_1044_a_1
|
| 2443 |
+
valid_1044_a_2
|
| 2444 |
+
valid_1045_a_1
|
| 2445 |
+
valid_1045_a_2
|
| 2446 |
+
valid_1046_a_1
|
| 2447 |
+
valid_1046_a_2
|
| 2448 |
+
valid_1047_a_1
|
| 2449 |
+
valid_1047_a_2
|
| 2450 |
+
valid_1048_a_1
|
| 2451 |
+
valid_1048_a_2
|
| 2452 |
+
valid_1049_a_1
|
| 2453 |
+
valid_1049_a_2
|
| 2454 |
+
valid_1050_a_1
|
| 2455 |
+
valid_1050_a_2
|
| 2456 |
+
valid_1051_a_1
|
| 2457 |
+
valid_1051_a_2
|
| 2458 |
+
valid_1052_a_1
|
| 2459 |
+
valid_1053_a_1
|
| 2460 |
+
valid_1053_a_2
|
| 2461 |
+
valid_1054_a_1
|
| 2462 |
+
valid_1054_a_2
|
| 2463 |
+
valid_1055_a_1
|
| 2464 |
+
valid_1055_a_2
|
| 2465 |
+
valid_1056_a_1
|
| 2466 |
+
valid_1056_a_2
|
| 2467 |
+
valid_1057_a_1
|
| 2468 |
+
valid_1057_a_2
|
| 2469 |
+
valid_1057_b_1
|
| 2470 |
+
valid_1057_b_2
|
| 2471 |
+
valid_1058_a_1
|
| 2472 |
+
valid_1058_a_2
|
| 2473 |
+
valid_1059_a_1
|
| 2474 |
+
valid_1059_a_2
|
| 2475 |
+
valid_1060_a_1
|
| 2476 |
+
valid_1060_a_2
|
| 2477 |
+
valid_1061_a_1
|
| 2478 |
+
valid_1061_a_2
|
| 2479 |
+
valid_1062_a_1
|
| 2480 |
+
valid_1062_a_2
|
| 2481 |
+
valid_1063_a_1
|
| 2482 |
+
valid_1063_a_2
|
| 2483 |
+
valid_1064_a_1
|
| 2484 |
+
valid_1064_a_2
|
| 2485 |
+
valid_1065_a_1
|
| 2486 |
+
valid_1065_a_2
|
| 2487 |
+
valid_1066_a_1
|
| 2488 |
+
valid_1066_a_2
|
| 2489 |
+
valid_1067_a_1
|
| 2490 |
+
valid_1067_a_2
|
| 2491 |
+
valid_1067_b_1
|
| 2492 |
+
valid_1067_b_2
|
| 2493 |
+
valid_1067_c_1
|
| 2494 |
+
valid_1067_c_2
|
| 2495 |
+
valid_1067_d_1
|
| 2496 |
+
valid_1067_d_2
|
| 2497 |
+
valid_1068_a_1
|
| 2498 |
+
valid_1068_a_2
|
| 2499 |
+
valid_1069_a_1
|
| 2500 |
+
valid_1069_a_2
|
| 2501 |
+
valid_1069_b_1
|
| 2502 |
+
valid_1069_b_2
|
| 2503 |
+
valid_1070_a_1
|
| 2504 |
+
valid_1070_a_2
|
| 2505 |
+
valid_1071_a_1
|
| 2506 |
+
valid_1071_a_2
|
| 2507 |
+
valid_1072_a_1
|
| 2508 |
+
valid_1073_a_1
|
| 2509 |
+
valid_1074_a_1
|
| 2510 |
+
valid_1074_a_2
|
| 2511 |
+
valid_1075_a_1
|
| 2512 |
+
valid_1075_a_2
|
| 2513 |
+
valid_1076_a_1
|
| 2514 |
+
valid_1076_a_2
|
| 2515 |
+
valid_1077_a_1
|
| 2516 |
+
valid_1077_a_2
|
| 2517 |
+
valid_1078_a_1
|
| 2518 |
+
valid_1078_a_2
|
| 2519 |
+
valid_1079_a_1
|
| 2520 |
+
valid_1079_a_2
|
| 2521 |
+
valid_1080_a_1
|
| 2522 |
+
valid_1081_a_1
|
| 2523 |
+
valid_1081_a_2
|
| 2524 |
+
valid_1081_b_1
|
| 2525 |
+
valid_1081_b_2
|
| 2526 |
+
valid_1082_a_1
|
| 2527 |
+
valid_1082_a_2
|
| 2528 |
+
valid_1082_b_1
|
| 2529 |
+
valid_1082_b_2
|
| 2530 |
+
valid_1083_a_1
|
| 2531 |
+
valid_1083_a_2
|
| 2532 |
+
valid_1084_a_1
|
| 2533 |
+
valid_1084_a_2
|
| 2534 |
+
valid_1085_a_1
|
| 2535 |
+
valid_1085_a_2
|
| 2536 |
+
valid_1086_a_1
|
| 2537 |
+
valid_1086_a_2
|
| 2538 |
+
valid_1087_a_1
|
| 2539 |
+
valid_1087_a_2
|
| 2540 |
+
valid_1088_a_1
|
| 2541 |
+
valid_1088_a_2
|
| 2542 |
+
valid_1089_a_1
|
| 2543 |
+
valid_1089_a_2
|
| 2544 |
+
valid_1090_a_1
|
| 2545 |
+
valid_1090_a_2
|
| 2546 |
+
valid_1091_a_1
|
| 2547 |
+
valid_1091_a_2
|
| 2548 |
+
valid_1092_a_1
|
| 2549 |
+
valid_1092_a_2
|
| 2550 |
+
valid_1093_a_1
|
| 2551 |
+
valid_1093_a_2
|
| 2552 |
+
valid_1094_a_1
|
| 2553 |
+
valid_1094_a_2
|
| 2554 |
+
valid_1095_a_1
|
| 2555 |
+
valid_1096_a_1
|
| 2556 |
+
valid_1096_a_2
|
| 2557 |
+
valid_1097_a_1
|
| 2558 |
+
valid_1097_a_2
|
| 2559 |
+
valid_1097_b_1
|
| 2560 |
+
valid_1097_b_2
|
| 2561 |
+
valid_1097_c_1
|
| 2562 |
+
valid_1097_c_2
|
| 2563 |
+
valid_1098_a_1
|
| 2564 |
+
valid_1098_a_2
|
| 2565 |
+
valid_1099_a_1
|
| 2566 |
+
valid_1099_a_2
|
| 2567 |
+
valid_1100_a_1
|
| 2568 |
+
valid_1100_a_2
|
| 2569 |
+
valid_1101_a_1
|
| 2570 |
+
valid_1101_a_2
|
| 2571 |
+
valid_1102_a_1
|
| 2572 |
+
valid_1102_a_2
|
| 2573 |
+
valid_1103_a_1
|
| 2574 |
+
valid_1103_a_2
|
| 2575 |
+
valid_1103_b_1
|
| 2576 |
+
valid_1103_b_2
|
| 2577 |
+
valid_1104_a_1
|
| 2578 |
+
valid_1104_a_2
|
| 2579 |
+
valid_1105_a_1
|
| 2580 |
+
valid_1105_a_2
|
| 2581 |
+
valid_1106_a_1
|
| 2582 |
+
valid_1106_a_2
|
| 2583 |
+
valid_1107_a_1
|
| 2584 |
+
valid_1107_a_2
|
| 2585 |
+
valid_1108_a_1
|
| 2586 |
+
valid_1109_a_1
|
| 2587 |
+
valid_1109_a_2
|
| 2588 |
+
valid_1110_a_1
|
| 2589 |
+
valid_1110_a_2
|
| 2590 |
+
valid_1111_a_1
|
| 2591 |
+
valid_1112_a_3
|
| 2592 |
+
valid_1112_a_5
|
| 2593 |
+
valid_1113_a_1
|
| 2594 |
+
valid_1113_a_2
|
| 2595 |
+
valid_1114_a_1
|
| 2596 |
+
valid_1114_a_2
|
| 2597 |
+
valid_1115_a_1
|
| 2598 |
+
valid_1116_a_1
|
| 2599 |
+
valid_1116_a_2
|
| 2600 |
+
valid_1117_a_1
|
| 2601 |
+
valid_1117_a_2
|
| 2602 |
+
valid_1118_a_1
|
| 2603 |
+
valid_1118_a_2
|
| 2604 |
+
valid_1119_a_1
|
| 2605 |
+
valid_1119_a_2
|
| 2606 |
+
valid_1120_a_1
|
| 2607 |
+
valid_1120_a_2
|
| 2608 |
+
valid_1121_a_1
|
| 2609 |
+
valid_1121_a_2
|
| 2610 |
+
valid_1122_a_1
|
| 2611 |
+
valid_1122_a_2
|
| 2612 |
+
valid_1123_a_1
|
| 2613 |
+
valid_1123_a_2
|
| 2614 |
+
valid_1124_a_1
|
| 2615 |
+
valid_1124_a_2
|
| 2616 |
+
valid_1125_a_1
|
| 2617 |
+
valid_1125_a_2
|
| 2618 |
+
valid_1126_a_1
|
| 2619 |
+
valid_1126_a_2
|
| 2620 |
+
valid_1126_b_1
|
| 2621 |
+
valid_1126_b_2
|
| 2622 |
+
valid_1126_c_1
|
| 2623 |
+
valid_1126_c_2
|
| 2624 |
+
valid_1127_a_1
|
| 2625 |
+
valid_1127_a_2
|
| 2626 |
+
valid_1128_a_1
|
| 2627 |
+
valid_1128_a_2
|
| 2628 |
+
valid_1129_a_1
|
| 2629 |
+
valid_1129_a_2
|
| 2630 |
+
valid_1130_a_1
|
| 2631 |
+
valid_1130_a_2
|
| 2632 |
+
valid_1131_a_1
|
| 2633 |
+
valid_1131_a_2
|
| 2634 |
+
valid_1131_b_1
|
| 2635 |
+
valid_1131_b_2
|
| 2636 |
+
valid_1132_a_1
|
| 2637 |
+
valid_1132_a_2
|
| 2638 |
+
valid_1133_a_1
|
| 2639 |
+
valid_1133_a_2
|
| 2640 |
+
valid_1134_a_1
|
| 2641 |
+
valid_1134_a_2
|
| 2642 |
+
valid_1135_a_1
|
| 2643 |
+
valid_1135_a_2
|
| 2644 |
+
valid_1136_a_1
|
| 2645 |
+
valid_1136_a_2
|
| 2646 |
+
valid_1137_a_1
|
| 2647 |
+
valid_1138_a_1
|
| 2648 |
+
valid_1138_a_2
|
| 2649 |
+
valid_1139_a_1
|
| 2650 |
+
valid_1139_a_2
|
| 2651 |
+
valid_1140_a_1
|
| 2652 |
+
valid_1140_a_2
|
| 2653 |
+
valid_1141_a_1
|
| 2654 |
+
valid_1141_a_2
|
| 2655 |
+
valid_1142_a_1
|
| 2656 |
+
valid_1142_a_2
|
| 2657 |
+
valid_1143_a_1
|
| 2658 |
+
valid_1143_a_2
|
| 2659 |
+
valid_1144_a_1
|
| 2660 |
+
valid_1144_a_2
|
| 2661 |
+
valid_1145_a_1
|
| 2662 |
+
valid_1145_a_2
|
| 2663 |
+
valid_1146_a_1
|
| 2664 |
+
valid_1147_a_1
|
| 2665 |
+
valid_1147_a_2
|
| 2666 |
+
valid_1147_b_1
|
| 2667 |
+
valid_1147_b_2
|
| 2668 |
+
valid_1148_a_1
|
| 2669 |
+
valid_1148_a_2
|
| 2670 |
+
valid_1148_b_1
|
| 2671 |
+
valid_1148_b_2
|
| 2672 |
+
valid_1149_a_1
|
| 2673 |
+
valid_1150_a_1
|
| 2674 |
+
valid_1150_a_2
|
| 2675 |
+
valid_1151_a_1
|
| 2676 |
+
valid_1151_a_2
|
| 2677 |
+
valid_1152_a_1
|
| 2678 |
+
valid_1152_a_2
|
| 2679 |
+
valid_1153_a_1
|
| 2680 |
+
valid_1153_a_2
|
| 2681 |
+
valid_1154_a_1
|
| 2682 |
+
valid_1154_a_2
|
| 2683 |
+
valid_1155_a_1
|
| 2684 |
+
valid_1155_a_2
|
| 2685 |
+
valid_1156_a_1
|
| 2686 |
+
valid_1156_a_2
|
| 2687 |
+
valid_1156_b_1
|
| 2688 |
+
valid_1156_b_2
|
| 2689 |
+
valid_1157_a_1
|
| 2690 |
+
valid_1157_a_2
|
| 2691 |
+
valid_1158_a_1
|
| 2692 |
+
valid_1158_a_2
|
| 2693 |
+
valid_1159_a_1
|
| 2694 |
+
valid_1160_a_1
|
| 2695 |
+
valid_1160_a_2
|
| 2696 |
+
valid_1161_a_1
|
| 2697 |
+
valid_1161_a_2
|
| 2698 |
+
valid_1162_a_1
|
| 2699 |
+
valid_1162_a_2
|
| 2700 |
+
valid_1163_a_1
|
| 2701 |
+
valid_1163_a_2
|
| 2702 |
+
valid_1164_a_1
|
| 2703 |
+
valid_1165_a_1
|
| 2704 |
+
valid_1165_a_2
|
| 2705 |
+
valid_1166_a_1
|
| 2706 |
+
valid_1167_a_1
|
| 2707 |
+
valid_1167_a_2
|
| 2708 |
+
valid_1168_a_1
|
| 2709 |
+
valid_1168_a_2
|
| 2710 |
+
valid_1169_a_1
|
| 2711 |
+
valid_1169_a_2
|
| 2712 |
+
valid_1170_a_3
|
| 2713 |
+
valid_1170_a_4
|
| 2714 |
+
valid_1170_a_6
|
| 2715 |
+
valid_1170_b_1
|
| 2716 |
+
valid_1170_b_2
|
| 2717 |
+
valid_1170_c_1
|
| 2718 |
+
valid_1170_c_2
|
| 2719 |
+
valid_1171_a_1
|
| 2720 |
+
valid_1171_a_2
|
| 2721 |
+
valid_1171_b_1
|
| 2722 |
+
valid_1171_b_2
|
| 2723 |
+
valid_1172_a_1
|
| 2724 |
+
valid_1172_a_2
|
| 2725 |
+
valid_1173_a_1
|
| 2726 |
+
valid_1173_a_2
|
| 2727 |
+
valid_1174_a_1
|
| 2728 |
+
valid_1174_a_2
|
| 2729 |
+
valid_1175_a_1
|
| 2730 |
+
valid_1175_a_2
|
| 2731 |
+
valid_1176_a_1
|
| 2732 |
+
valid_1176_a_2
|
| 2733 |
+
valid_1177_a_1
|
| 2734 |
+
valid_1177_a_2
|
| 2735 |
+
valid_1178_a_1
|
| 2736 |
+
valid_1178_a_2
|
| 2737 |
+
valid_1179_a_1
|
| 2738 |
+
valid_1179_a_2
|
| 2739 |
+
valid_1180_a_1
|
| 2740 |
+
valid_1181_a_1
|
| 2741 |
+
valid_1181_a_2
|
| 2742 |
+
valid_1182_a_1
|
| 2743 |
+
valid_1182_a_2
|
| 2744 |
+
valid_1183_a_1
|
| 2745 |
+
valid_1184_a_1
|
| 2746 |
+
valid_1184_a_2
|
| 2747 |
+
valid_1184_b_1
|
| 2748 |
+
valid_1184_b_2
|
| 2749 |
+
valid_1184_c_1
|
| 2750 |
+
valid_1184_c_2
|
| 2751 |
+
valid_1185_a_1
|
| 2752 |
+
valid_1185_a_2
|
| 2753 |
+
valid_1186_a_1
|
| 2754 |
+
valid_1186_a_2
|
| 2755 |
+
valid_1187_a_1
|
| 2756 |
+
valid_1187_a_2
|
| 2757 |
+
valid_1188_a_1
|
| 2758 |
+
valid_1188_a_2
|
| 2759 |
+
valid_1189_a_1
|
| 2760 |
+
valid_1189_a_2
|
| 2761 |
+
valid_1190_a_1
|
| 2762 |
+
valid_1190_a_2
|
| 2763 |
+
valid_1191_a_1
|
| 2764 |
+
valid_1191_a_2
|
| 2765 |
+
valid_1192_a_1
|
| 2766 |
+
valid_1192_a_2
|
| 2767 |
+
valid_1192_b_1
|
| 2768 |
+
valid_1192_b_2
|
| 2769 |
+
valid_1193_a_1
|
| 2770 |
+
valid_1193_a_2
|
| 2771 |
+
valid_1194_a_1
|
| 2772 |
+
valid_1194_a_2
|
| 2773 |
+
valid_1195_a_1
|
| 2774 |
+
valid_1196_a_1
|
| 2775 |
+
valid_1196_a_2
|
| 2776 |
+
valid_1197_a_1
|
| 2777 |
+
valid_1197_a_2
|
| 2778 |
+
valid_1198_a_1
|
| 2779 |
+
valid_1198_a_2
|
| 2780 |
+
valid_1199_a_1
|
| 2781 |
+
valid_1199_a_2
|
| 2782 |
+
valid_1200_a_1
|
| 2783 |
+
valid_1200_a_2
|
| 2784 |
+
valid_1201_a_1
|
| 2785 |
+
valid_1201_a_2
|
| 2786 |
+
valid_1202_a_1
|
| 2787 |
+
valid_1202_a_2
|
| 2788 |
+
valid_1203_a_1
|
| 2789 |
+
valid_1203_a_2
|
| 2790 |
+
valid_1204_a_1
|
| 2791 |
+
valid_1204_a_2
|
| 2792 |
+
valid_1205_a_1
|
| 2793 |
+
valid_1205_a_2
|
| 2794 |
+
valid_1206_a_1
|
| 2795 |
+
valid_1206_a_2
|
| 2796 |
+
valid_1207_a_1
|
| 2797 |
+
valid_1207_a_2
|
| 2798 |
+
valid_1208_a_1
|
| 2799 |
+
valid_1208_a_2
|
| 2800 |
+
valid_1209_a_1
|
| 2801 |
+
valid_1209_a_2
|
| 2802 |
+
valid_1209_b_1
|
| 2803 |
+
valid_1209_b_2
|
| 2804 |
+
valid_1210_a_1
|
| 2805 |
+
valid_1210_a_2
|
| 2806 |
+
valid_1211_a_1
|
| 2807 |
+
valid_1211_a_2
|
| 2808 |
+
valid_1212_a_1
|
| 2809 |
+
valid_1212_a_2
|
| 2810 |
+
valid_1213_a_1
|
| 2811 |
+
valid_1213_a_2
|
| 2812 |
+
valid_1214_a_1
|
| 2813 |
+
valid_1214_b_1
|
| 2814 |
+
valid_1214_b_2
|
| 2815 |
+
valid_1215_a_1
|
| 2816 |
+
valid_1215_a_2
|
| 2817 |
+
valid_1216_a_1
|
| 2818 |
+
valid_1216_a_2
|
| 2819 |
+
valid_1217_a_1
|
| 2820 |
+
valid_1217_a_2
|
| 2821 |
+
valid_1218_a_1
|
| 2822 |
+
valid_1219_a_1
|
| 2823 |
+
valid_1219_a_2
|
| 2824 |
+
valid_1220_a_1
|
| 2825 |
+
valid_1220_a_2
|
| 2826 |
+
valid_1221_a_1
|
| 2827 |
+
valid_1221_a_2
|
| 2828 |
+
valid_1222_a_1
|
| 2829 |
+
valid_1222_a_2
|
| 2830 |
+
valid_1223_a_1
|
| 2831 |
+
valid_1223_a_2
|
| 2832 |
+
valid_1224_a_1
|
| 2833 |
+
valid_1224_a_2
|
| 2834 |
+
valid_1225_a_1
|
| 2835 |
+
valid_1225_a_2
|
| 2836 |
+
valid_1226_a_1
|
| 2837 |
+
valid_1226_a_2
|
| 2838 |
+
valid_1227_a_1
|
| 2839 |
+
valid_1227_a_2
|
| 2840 |
+
valid_1228_a_1
|
| 2841 |
+
valid_1228_a_2
|
| 2842 |
+
valid_1229_a_1
|
| 2843 |
+
valid_1229_a_2
|
| 2844 |
+
valid_1230_a_1
|
| 2845 |
+
valid_1230_a_2
|
| 2846 |
+
valid_1231_a_1
|
| 2847 |
+
valid_1231_a_2
|
| 2848 |
+
valid_1232_a_1
|
| 2849 |
+
valid_1232_a_2
|
| 2850 |
+
valid_1233_a_1
|
| 2851 |
+
valid_1233_a_2
|
| 2852 |
+
valid_1234_a_1
|
| 2853 |
+
valid_1234_a_2
|
| 2854 |
+
valid_1235_a_1
|
| 2855 |
+
valid_1235_a_2
|
| 2856 |
+
valid_1235_b_1
|
| 2857 |
+
valid_1235_b_2
|
| 2858 |
+
valid_1236_a_1
|
| 2859 |
+
valid_1237_a_1
|
| 2860 |
+
valid_1237_a_2
|
| 2861 |
+
valid_1238_a_1
|
| 2862 |
+
valid_1238_a_2
|
| 2863 |
+
valid_1239_a_1
|
| 2864 |
+
valid_1239_a_2
|
| 2865 |
+
valid_1240_a_1
|
| 2866 |
+
valid_1240_b_1
|
| 2867 |
+
valid_1240_b_2
|
| 2868 |
+
valid_1241_a_1
|
| 2869 |
+
valid_1241_a_2
|
| 2870 |
+
valid_1242_a_1
|
| 2871 |
+
valid_1242_a_2
|
| 2872 |
+
valid_1243_a_1
|
| 2873 |
+
valid_1243_a_2
|
| 2874 |
+
valid_1243_b_1
|
| 2875 |
+
valid_1243_b_2
|
| 2876 |
+
valid_1244_a_1
|
| 2877 |
+
valid_1244_a_2
|
| 2878 |
+
valid_1245_a_1
|
| 2879 |
+
valid_1245_a_2
|
| 2880 |
+
valid_1246_a_1
|
| 2881 |
+
valid_1246_a_2
|
| 2882 |
+
valid_1247_a_1
|
| 2883 |
+
valid_1247_a_2
|
| 2884 |
+
valid_1247_b_1
|
| 2885 |
+
valid_1247_b_2
|
| 2886 |
+
valid_1248_a_1
|
| 2887 |
+
valid_1248_a_2
|
| 2888 |
+
valid_1249_a_1
|
| 2889 |
+
valid_1249_a_2
|
| 2890 |
+
valid_1250_a_1
|
| 2891 |
+
valid_1250_a_2
|
| 2892 |
+
valid_1250_b_1
|
| 2893 |
+
valid_1250_b_2
|
| 2894 |
+
valid_1251_a_1
|
| 2895 |
+
valid_1251_a_2
|
| 2896 |
+
valid_1252_a_1
|
| 2897 |
+
valid_1252_a_2
|
| 2898 |
+
valid_1253_a_1
|
| 2899 |
+
valid_1253_a_2
|
| 2900 |
+
valid_1254_a_1
|
| 2901 |
+
valid_1254_a_2
|
| 2902 |
+
valid_1255_a_1
|
| 2903 |
+
valid_1256_a_1
|
| 2904 |
+
valid_1256_a_2
|
| 2905 |
+
valid_1257_a_1
|
| 2906 |
+
valid_1257_a_2
|
| 2907 |
+
valid_1258_a_1
|
| 2908 |
+
valid_1258_a_2
|
| 2909 |
+
valid_1258_b_1
|
| 2910 |
+
valid_1258_b_2
|
| 2911 |
+
valid_1259_a_1
|
| 2912 |
+
valid_1259_a_2
|
| 2913 |
+
valid_1260_a_1
|
| 2914 |
+
valid_1261_a_1
|
| 2915 |
+
valid_1261_a_2
|
| 2916 |
+
valid_1262_a_1
|
| 2917 |
+
valid_1262_a_2
|
| 2918 |
+
valid_1263_a_1
|
| 2919 |
+
valid_1263_a_2
|
| 2920 |
+
valid_1264_a_1
|
| 2921 |
+
valid_1264_a_2
|
| 2922 |
+
valid_1265_a_1
|
| 2923 |
+
valid_1265_a_2
|
| 2924 |
+
valid_1266_a_1
|
| 2925 |
+
valid_1266_a_2
|
| 2926 |
+
valid_1267_a_1
|
| 2927 |
+
valid_1267_a_2
|
| 2928 |
+
valid_1267_b_1
|
| 2929 |
+
valid_1267_b_2
|
| 2930 |
+
valid_1267_c_1
|
| 2931 |
+
valid_1267_c_2
|
| 2932 |
+
valid_1268_a_1
|
| 2933 |
+
valid_1268_a_2
|
| 2934 |
+
valid_1269_a_1
|
| 2935 |
+
valid_1269_a_2
|
| 2936 |
+
valid_1270_a_1
|
| 2937 |
+
valid_1271_a_1
|
| 2938 |
+
valid_1272_a_1
|
| 2939 |
+
valid_1272_a_2
|
| 2940 |
+
valid_1273_a_1
|
| 2941 |
+
valid_1273_a_2
|
| 2942 |
+
valid_1274_a_1
|
| 2943 |
+
valid_1274_a_2
|
| 2944 |
+
valid_1275_a_1
|
| 2945 |
+
valid_1275_a_2
|
| 2946 |
+
valid_1276_a_1
|
| 2947 |
+
valid_1276_a_2
|
| 2948 |
+
valid_1277_a_1
|
| 2949 |
+
valid_1277_a_2
|
| 2950 |
+
valid_1278_a_1
|
| 2951 |
+
valid_1278_a_2
|
| 2952 |
+
valid_1279_a_1
|
| 2953 |
+
valid_1279_a_2
|
| 2954 |
+
valid_1280_a_1
|
| 2955 |
+
valid_1281_a_1
|
| 2956 |
+
valid_1281_a_2
|
| 2957 |
+
valid_1282_a_1
|
| 2958 |
+
valid_1282_a_2
|
| 2959 |
+
valid_1283_a_1
|
| 2960 |
+
valid_1283_a_2
|
| 2961 |
+
valid_1284_a_1
|
| 2962 |
+
valid_1284_a_2
|
| 2963 |
+
valid_1285_a_1
|
| 2964 |
+
valid_1286_a_1
|
| 2965 |
+
valid_1286_a_2
|
| 2966 |
+
valid_1286_b_1
|
| 2967 |
+
valid_1286_b_2
|
| 2968 |
+
valid_1287_a_1
|
| 2969 |
+
valid_1287_a_2
|
| 2970 |
+
valid_1288_a_1
|
| 2971 |
+
valid_1288_a_2
|
| 2972 |
+
valid_1289_a_1
|
| 2973 |
+
valid_1290_a_1
|
| 2974 |
+
valid_1290_a_2
|
| 2975 |
+
valid_1291_a_1
|
| 2976 |
+
valid_1291_a_2
|
| 2977 |
+
valid_1292_a_1
|
| 2978 |
+
valid_1292_a_2
|
| 2979 |
+
valid_1293_a_1
|
| 2980 |
+
valid_1293_a_2
|
| 2981 |
+
valid_1294_a_1
|
| 2982 |
+
valid_1294_a_2
|
| 2983 |
+
valid_1295_a_1
|
| 2984 |
+
valid_1295_a_2
|
| 2985 |
+
valid_1296_a_1
|
| 2986 |
+
valid_1296_a_2
|
| 2987 |
+
valid_1297_a_1
|
| 2988 |
+
valid_1297_a_2
|
| 2989 |
+
valid_1298_a_1
|
| 2990 |
+
valid_1298_a_2
|
| 2991 |
+
valid_1299_a_1
|
| 2992 |
+
valid_1299_a_2
|
| 2993 |
+
valid_1300_a_1
|
| 2994 |
+
valid_1300_a_2
|
| 2995 |
+
valid_1301_a_1
|
| 2996 |
+
valid_1301_a_2
|
| 2997 |
+
valid_1302_a_1
|
| 2998 |
+
valid_1302_a_2
|
| 2999 |
+
valid_1303_a_1
|
| 3000 |
+
valid_1303_a_2
|
| 3001 |
+
valid_1304_a_1
|
| 3002 |
+
valid_1304_a_2
|
data/splits/ct_rate/train.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
data/splits/ct_rate/val.txt
ADDED
|
@@ -0,0 +1,2994 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
train_17_a_1
|
| 2 |
+
train_17_a_2
|
| 3 |
+
train_34_a_1
|
| 4 |
+
train_34_a_2
|
| 5 |
+
train_46_a_1
|
| 6 |
+
train_46_a_2
|
| 7 |
+
train_46_b_1
|
| 8 |
+
train_46_b_2
|
| 9 |
+
train_100_a_1
|
| 10 |
+
train_100_a_2
|
| 11 |
+
train_104_a_1
|
| 12 |
+
train_104_a_2
|
| 13 |
+
train_118_a_1
|
| 14 |
+
train_118_a_2
|
| 15 |
+
train_134_a_1
|
| 16 |
+
train_134_a_2
|
| 17 |
+
train_135_a_1
|
| 18 |
+
train_135_a_2
|
| 19 |
+
train_162_a_1
|
| 20 |
+
train_162_a_2
|
| 21 |
+
train_181_a_1
|
| 22 |
+
train_181_a_2
|
| 23 |
+
train_216_a_1
|
| 24 |
+
train_216_a_2
|
| 25 |
+
train_217_a_1
|
| 26 |
+
train_217_a_2
|
| 27 |
+
train_241_a_1
|
| 28 |
+
train_241_a_2
|
| 29 |
+
train_242_a_1
|
| 30 |
+
train_242_a_2
|
| 31 |
+
train_327_a_1
|
| 32 |
+
train_327_a_2
|
| 33 |
+
train_334_a_1
|
| 34 |
+
train_334_a_2
|
| 35 |
+
train_343_a_1
|
| 36 |
+
train_343_a_2
|
| 37 |
+
train_346_a_1
|
| 38 |
+
train_346_a_2
|
| 39 |
+
train_376_a_1
|
| 40 |
+
train_376_a_2
|
| 41 |
+
train_394_a_1
|
| 42 |
+
train_394_a_2
|
| 43 |
+
train_424_a_1
|
| 44 |
+
train_424_a_2
|
| 45 |
+
train_431_a_3
|
| 46 |
+
train_431_a_5
|
| 47 |
+
train_431_b_1
|
| 48 |
+
train_431_b_2
|
| 49 |
+
train_432_a_1
|
| 50 |
+
train_432_a_2
|
| 51 |
+
train_448_a_1
|
| 52 |
+
train_448_a_2
|
| 53 |
+
train_455_a_1
|
| 54 |
+
train_455_a_2
|
| 55 |
+
train_473_a_1
|
| 56 |
+
train_473_a_2
|
| 57 |
+
train_484_a_1
|
| 58 |
+
train_484_a_2
|
| 59 |
+
train_499_a_1
|
| 60 |
+
train_543_a_1
|
| 61 |
+
train_543_a_2
|
| 62 |
+
train_558_a_1
|
| 63 |
+
train_558_a_2
|
| 64 |
+
train_575_a_1
|
| 65 |
+
train_575_a_2
|
| 66 |
+
train_597_a_1
|
| 67 |
+
train_686_a_1
|
| 68 |
+
train_686_a_2
|
| 69 |
+
train_737_a_1
|
| 70 |
+
train_737_a_2
|
| 71 |
+
train_758_a_1
|
| 72 |
+
train_758_a_2
|
| 73 |
+
train_767_a_1
|
| 74 |
+
train_767_b_1
|
| 75 |
+
train_818_a_1
|
| 76 |
+
train_818_a_2
|
| 77 |
+
train_831_a_1
|
| 78 |
+
train_831_a_2
|
| 79 |
+
train_846_a_1
|
| 80 |
+
train_861_a_3
|
| 81 |
+
train_861_a_5
|
| 82 |
+
train_943_a_1
|
| 83 |
+
train_959_a_1
|
| 84 |
+
train_959_a_2
|
| 85 |
+
train_975_a_1
|
| 86 |
+
train_977_a_1
|
| 87 |
+
train_977_a_2
|
| 88 |
+
train_982_a_1
|
| 89 |
+
train_982_a_2
|
| 90 |
+
train_994_a_1
|
| 91 |
+
train_994_b_1
|
| 92 |
+
train_994_c_1
|
| 93 |
+
train_994_d_1
|
| 94 |
+
train_994_d_2
|
| 95 |
+
train_994_e_1
|
| 96 |
+
train_994_e_2
|
| 97 |
+
train_998_a_1
|
| 98 |
+
train_998_a_2
|
| 99 |
+
train_998_b_1
|
| 100 |
+
train_998_b_2
|
| 101 |
+
train_998_c_1
|
| 102 |
+
train_998_c_2
|
| 103 |
+
train_1013_a_1
|
| 104 |
+
train_1013_a_2
|
| 105 |
+
train_1026_a_1
|
| 106 |
+
train_1026_a_2
|
| 107 |
+
train_1067_a_1
|
| 108 |
+
train_1098_a_1
|
| 109 |
+
train_1098_a_2
|
| 110 |
+
train_1099_a_1
|
| 111 |
+
train_1099_a_2
|
| 112 |
+
train_1107_a_1
|
| 113 |
+
train_1107_a_2
|
| 114 |
+
train_1113_a_1
|
| 115 |
+
train_1113_a_2
|
| 116 |
+
train_1116_a_1
|
| 117 |
+
train_1116_a_2
|
| 118 |
+
train_1129_a_1
|
| 119 |
+
train_1129_a_2
|
| 120 |
+
train_1131_a_1
|
| 121 |
+
train_1171_a_1
|
| 122 |
+
train_1171_a_2
|
| 123 |
+
train_1194_a_1
|
| 124 |
+
train_1194_a_2
|
| 125 |
+
train_1212_a_1
|
| 126 |
+
train_1212_a_2
|
| 127 |
+
train_1218_a_1
|
| 128 |
+
train_1218_a_2
|
| 129 |
+
train_1218_b_1
|
| 130 |
+
train_1218_b_2
|
| 131 |
+
train_1225_a_1
|
| 132 |
+
train_1225_a_2
|
| 133 |
+
train_1233_a_1
|
| 134 |
+
train_1233_a_2
|
| 135 |
+
train_1240_a_1
|
| 136 |
+
train_1240_a_2
|
| 137 |
+
train_1246_a_1
|
| 138 |
+
train_1246_a_2
|
| 139 |
+
train_1246_b_1
|
| 140 |
+
train_1246_b_2
|
| 141 |
+
train_1246_c_1
|
| 142 |
+
train_1246_c_2
|
| 143 |
+
train_1270_a_1
|
| 144 |
+
train_1270_a_2
|
| 145 |
+
train_1270_b_1
|
| 146 |
+
train_1270_b_2
|
| 147 |
+
train_1291_a_1
|
| 148 |
+
train_1291_a_2
|
| 149 |
+
train_1293_a_1
|
| 150 |
+
train_1293_a_2
|
| 151 |
+
train_1296_a_1
|
| 152 |
+
train_1296_a_2
|
| 153 |
+
train_1339_a_1
|
| 154 |
+
train_1339_a_2
|
| 155 |
+
train_1342_a_1
|
| 156 |
+
train_1342_a_2
|
| 157 |
+
train_1359_a_1
|
| 158 |
+
train_1359_a_2
|
| 159 |
+
train_1399_a_1
|
| 160 |
+
train_1399_a_2
|
| 161 |
+
train_1419_a_1
|
| 162 |
+
train_1419_a_2
|
| 163 |
+
train_1420_a_1
|
| 164 |
+
train_1420_a_2
|
| 165 |
+
train_1463_a_1
|
| 166 |
+
train_1463_a_2
|
| 167 |
+
train_1464_a_1
|
| 168 |
+
train_1464_a_2
|
| 169 |
+
train_1491_a_1
|
| 170 |
+
train_1491_a_2
|
| 171 |
+
train_1491_b_1
|
| 172 |
+
train_1491_b_2
|
| 173 |
+
train_1505_a_1
|
| 174 |
+
train_1505_a_2
|
| 175 |
+
train_1567_a_1
|
| 176 |
+
train_1567_a_2
|
| 177 |
+
train_1578_a_1
|
| 178 |
+
train_1578_a_2
|
| 179 |
+
train_1636_a_1
|
| 180 |
+
train_1636_a_2
|
| 181 |
+
train_1644_a_1
|
| 182 |
+
train_1644_a_2
|
| 183 |
+
train_1645_a_1
|
| 184 |
+
train_1645_a_2
|
| 185 |
+
train_1650_a_1
|
| 186 |
+
train_1650_a_2
|
| 187 |
+
train_1655_a_1
|
| 188 |
+
train_1655_a_2
|
| 189 |
+
train_1655_b_1
|
| 190 |
+
train_1655_b_2
|
| 191 |
+
train_1657_a_1
|
| 192 |
+
train_1657_a_2
|
| 193 |
+
train_1690_a_1
|
| 194 |
+
train_1708_a_1
|
| 195 |
+
train_1708_a_2
|
| 196 |
+
train_1708_b_1
|
| 197 |
+
train_1708_b_2
|
| 198 |
+
train_1708_c_1
|
| 199 |
+
train_1708_c_2
|
| 200 |
+
train_1708_d_1
|
| 201 |
+
train_1708_d_2
|
| 202 |
+
train_1716_a_1
|
| 203 |
+
train_1716_a_2
|
| 204 |
+
train_1736_a_1
|
| 205 |
+
train_1736_a_2
|
| 206 |
+
train_1739_a_1
|
| 207 |
+
train_1739_a_2
|
| 208 |
+
train_1753_a_1
|
| 209 |
+
train_1753_a_2
|
| 210 |
+
train_1753_b_1
|
| 211 |
+
train_1753_b_2
|
| 212 |
+
train_1753_c_1
|
| 213 |
+
train_1753_c_2
|
| 214 |
+
train_1753_d_1
|
| 215 |
+
train_1753_d_2
|
| 216 |
+
train_1753_e_1
|
| 217 |
+
train_1753_e_2
|
| 218 |
+
train_1753_f_1
|
| 219 |
+
train_1753_f_2
|
| 220 |
+
train_1767_a_1
|
| 221 |
+
train_1767_a_2
|
| 222 |
+
train_1774_a_1
|
| 223 |
+
train_1774_a_2
|
| 224 |
+
train_1784_a_1
|
| 225 |
+
train_1784_a_2
|
| 226 |
+
train_1795_a_1
|
| 227 |
+
train_1795_a_2
|
| 228 |
+
train_1811_a_1
|
| 229 |
+
train_1811_a_2
|
| 230 |
+
train_1831_a_1
|
| 231 |
+
train_1831_a_2
|
| 232 |
+
train_1832_a_1
|
| 233 |
+
train_1832_a_2
|
| 234 |
+
train_1849_a_1
|
| 235 |
+
train_1849_a_2
|
| 236 |
+
train_1886_a_1
|
| 237 |
+
train_1886_a_2
|
| 238 |
+
train_1886_b_1
|
| 239 |
+
train_1886_b_2
|
| 240 |
+
train_1928_a_1
|
| 241 |
+
train_1928_a_2
|
| 242 |
+
train_1932_a_1
|
| 243 |
+
train_1932_a_2
|
| 244 |
+
train_1933_a_1
|
| 245 |
+
train_1933_a_2
|
| 246 |
+
train_1933_b_1
|
| 247 |
+
train_1933_b_2
|
| 248 |
+
train_1949_a_1
|
| 249 |
+
train_1949_a_2
|
| 250 |
+
train_1959_a_1
|
| 251 |
+
train_1959_b_1
|
| 252 |
+
train_1959_b_2
|
| 253 |
+
train_1981_a_1
|
| 254 |
+
train_1981_a_2
|
| 255 |
+
train_1985_a_1
|
| 256 |
+
train_1985_a_2
|
| 257 |
+
train_1994_a_1
|
| 258 |
+
train_1994_a_2
|
| 259 |
+
train_2009_a_1
|
| 260 |
+
train_2009_a_2
|
| 261 |
+
train_2020_a_1
|
| 262 |
+
train_2020_a_2
|
| 263 |
+
train_2030_a_1
|
| 264 |
+
train_2030_a_2
|
| 265 |
+
train_2031_a_1
|
| 266 |
+
train_2031_a_2
|
| 267 |
+
train_2032_a_1
|
| 268 |
+
train_2032_a_2
|
| 269 |
+
train_2035_a_1
|
| 270 |
+
train_2035_a_2
|
| 271 |
+
train_2064_a_1
|
| 272 |
+
train_2064_a_2
|
| 273 |
+
train_2091_a_1
|
| 274 |
+
train_2091_a_2
|
| 275 |
+
train_2092_a_1
|
| 276 |
+
train_2092_a_2
|
| 277 |
+
train_2117_a_1
|
| 278 |
+
train_2117_a_2
|
| 279 |
+
train_2131_a_1
|
| 280 |
+
train_2131_a_2
|
| 281 |
+
train_2140_a_1
|
| 282 |
+
train_2140_a_2
|
| 283 |
+
train_2147_a_1
|
| 284 |
+
train_2147_a_2
|
| 285 |
+
train_2155_a_1
|
| 286 |
+
train_2155_a_2
|
| 287 |
+
train_2185_a_1
|
| 288 |
+
train_2185_a_2
|
| 289 |
+
train_2194_a_1
|
| 290 |
+
train_2194_a_2
|
| 291 |
+
train_2219_a_1
|
| 292 |
+
train_2219_a_2
|
| 293 |
+
train_2220_a_3
|
| 294 |
+
train_2220_a_5
|
| 295 |
+
train_2232_a_1
|
| 296 |
+
train_2232_a_2
|
| 297 |
+
train_2243_a_1
|
| 298 |
+
train_2243_a_2
|
| 299 |
+
train_2257_a_1
|
| 300 |
+
train_2257_a_2
|
| 301 |
+
train_2295_a_1
|
| 302 |
+
train_2295_a_2
|
| 303 |
+
train_2313_a_1
|
| 304 |
+
train_2313_a_2
|
| 305 |
+
train_2328_a_1
|
| 306 |
+
train_2328_a_2
|
| 307 |
+
train_2381_a_1
|
| 308 |
+
train_2381_a_2
|
| 309 |
+
train_2385_a_1
|
| 310 |
+
train_2385_a_2
|
| 311 |
+
train_2393_a_1
|
| 312 |
+
train_2393_a_2
|
| 313 |
+
train_2400_a_1
|
| 314 |
+
train_2400_a_2
|
| 315 |
+
train_2418_a_1
|
| 316 |
+
train_2418_a_2
|
| 317 |
+
train_2421_a_1
|
| 318 |
+
train_2431_a_1
|
| 319 |
+
train_2431_a_2
|
| 320 |
+
train_2432_a_1
|
| 321 |
+
train_2432_a_2
|
| 322 |
+
train_2439_a_1
|
| 323 |
+
train_2439_a_2
|
| 324 |
+
train_2451_a_1
|
| 325 |
+
train_2451_a_2
|
| 326 |
+
train_2454_a_1
|
| 327 |
+
train_2454_a_2
|
| 328 |
+
train_2478_a_1
|
| 329 |
+
train_2478_a_2
|
| 330 |
+
train_2479_a_1
|
| 331 |
+
train_2491_a_1
|
| 332 |
+
train_2491_a_2
|
| 333 |
+
train_2500_a_1
|
| 334 |
+
train_2500_a_2
|
| 335 |
+
train_2500_b_1
|
| 336 |
+
train_2500_b_2
|
| 337 |
+
train_2500_c_1
|
| 338 |
+
train_2500_c_2
|
| 339 |
+
train_2500_d_1
|
| 340 |
+
train_2500_d_2
|
| 341 |
+
train_2507_a_1
|
| 342 |
+
train_2507_a_2
|
| 343 |
+
train_2512_a_1
|
| 344 |
+
train_2512_a_2
|
| 345 |
+
train_2512_b_1
|
| 346 |
+
train_2512_b_2
|
| 347 |
+
train_2530_a_1
|
| 348 |
+
train_2530_a_2
|
| 349 |
+
train_2537_a_1
|
| 350 |
+
train_2537_a_2
|
| 351 |
+
train_2537_b_1
|
| 352 |
+
train_2537_b_2
|
| 353 |
+
train_2557_a_1
|
| 354 |
+
train_2557_a_2
|
| 355 |
+
train_2566_a_1
|
| 356 |
+
train_2570_a_1
|
| 357 |
+
train_2572_a_1
|
| 358 |
+
train_2572_a_2
|
| 359 |
+
train_2574_a_1
|
| 360 |
+
train_2574_a_2
|
| 361 |
+
train_2574_b_1
|
| 362 |
+
train_2574_b_2
|
| 363 |
+
train_2582_a_1
|
| 364 |
+
train_2582_a_2
|
| 365 |
+
train_2591_a_1
|
| 366 |
+
train_2591_a_2
|
| 367 |
+
train_2593_a_1
|
| 368 |
+
train_2593_a_2
|
| 369 |
+
train_2641_a_1
|
| 370 |
+
train_2642_a_1
|
| 371 |
+
train_2642_a_2
|
| 372 |
+
train_2644_a_1
|
| 373 |
+
train_2652_a_1
|
| 374 |
+
train_2652_a_2
|
| 375 |
+
train_2663_a_1
|
| 376 |
+
train_2663_a_2
|
| 377 |
+
train_2680_a_1
|
| 378 |
+
train_2680_a_2
|
| 379 |
+
train_2709_a_1
|
| 380 |
+
train_2709_a_2
|
| 381 |
+
train_2720_a_1
|
| 382 |
+
train_2720_a_2
|
| 383 |
+
train_2786_a_1
|
| 384 |
+
train_2786_a_2
|
| 385 |
+
train_2818_a_1
|
| 386 |
+
train_2818_a_2
|
| 387 |
+
train_2820_a_1
|
| 388 |
+
train_2820_a_2
|
| 389 |
+
train_2827_a_1
|
| 390 |
+
train_2827_a_2
|
| 391 |
+
train_2860_a_1
|
| 392 |
+
train_2860_a_2
|
| 393 |
+
train_2871_a_4
|
| 394 |
+
train_2871_a_6
|
| 395 |
+
train_2884_a_1
|
| 396 |
+
train_2884_a_2
|
| 397 |
+
train_2888_a_1
|
| 398 |
+
train_2888_a_2
|
| 399 |
+
train_2913_a_1
|
| 400 |
+
train_2913_b_1
|
| 401 |
+
train_2913_b_2
|
| 402 |
+
train_2913_c_1
|
| 403 |
+
train_2913_c_2
|
| 404 |
+
train_2949_a_1
|
| 405 |
+
train_2949_a_2
|
| 406 |
+
train_2956_a_1
|
| 407 |
+
train_2956_a_2
|
| 408 |
+
train_2957_a_1
|
| 409 |
+
train_2957_a_2
|
| 410 |
+
train_2963_a_1
|
| 411 |
+
train_2963_a_2
|
| 412 |
+
train_2963_b_1
|
| 413 |
+
train_2963_b_2
|
| 414 |
+
train_2963_c_1
|
| 415 |
+
train_2963_c_2
|
| 416 |
+
train_2963_d_1
|
| 417 |
+
train_2963_d_2
|
| 418 |
+
train_2963_e_1
|
| 419 |
+
train_2963_e_2
|
| 420 |
+
train_2963_f_1
|
| 421 |
+
train_2963_f_2
|
| 422 |
+
train_2970_a_1
|
| 423 |
+
train_2970_a_2
|
| 424 |
+
train_2982_a_1
|
| 425 |
+
train_2982_a_2
|
| 426 |
+
train_3002_a_1
|
| 427 |
+
train_3002_a_2
|
| 428 |
+
train_3073_a_1
|
| 429 |
+
train_3073_a_2
|
| 430 |
+
train_3073_b_1
|
| 431 |
+
train_3073_b_2
|
| 432 |
+
train_3099_a_1
|
| 433 |
+
train_3099_a_2
|
| 434 |
+
train_3100_a_1
|
| 435 |
+
train_3100_a_2
|
| 436 |
+
train_3103_a_1
|
| 437 |
+
train_3146_a_1
|
| 438 |
+
train_3146_a_2
|
| 439 |
+
train_3164_a_1
|
| 440 |
+
train_3164_a_2
|
| 441 |
+
train_3175_a_1
|
| 442 |
+
train_3175_a_2
|
| 443 |
+
train_3246_a_1
|
| 444 |
+
train_3246_a_2
|
| 445 |
+
train_3283_a_1
|
| 446 |
+
train_3283_a_2
|
| 447 |
+
train_3304_a_1
|
| 448 |
+
train_3304_a_2
|
| 449 |
+
train_3312_a_1
|
| 450 |
+
train_3312_a_2
|
| 451 |
+
train_3312_b_1
|
| 452 |
+
train_3312_b_2
|
| 453 |
+
train_3324_a_1
|
| 454 |
+
train_3324_a_2
|
| 455 |
+
train_3326_a_1
|
| 456 |
+
train_3326_a_2
|
| 457 |
+
train_3326_b_3
|
| 458 |
+
train_3326_b_5
|
| 459 |
+
train_3327_a_1
|
| 460 |
+
train_3327_a_2
|
| 461 |
+
train_3341_a_1
|
| 462 |
+
train_3341_a_2
|
| 463 |
+
train_3342_a_1
|
| 464 |
+
train_3342_a_2
|
| 465 |
+
train_3346_a_1
|
| 466 |
+
train_3346_a_2
|
| 467 |
+
train_3349_a_1
|
| 468 |
+
train_3349_a_2
|
| 469 |
+
train_3359_a_1
|
| 470 |
+
train_3359_a_2
|
| 471 |
+
train_3383_a_1
|
| 472 |
+
train_3383_a_2
|
| 473 |
+
train_3400_a_1
|
| 474 |
+
train_3400_a_2
|
| 475 |
+
train_3440_a_1
|
| 476 |
+
train_3440_a_2
|
| 477 |
+
train_3450_a_1
|
| 478 |
+
train_3450_a_2
|
| 479 |
+
train_3457_a_1
|
| 480 |
+
train_3457_a_2
|
| 481 |
+
train_3466_a_1
|
| 482 |
+
train_3466_a_2
|
| 483 |
+
train_3466_b_1
|
| 484 |
+
train_3466_b_2
|
| 485 |
+
train_3478_a_1
|
| 486 |
+
train_3478_a_2
|
| 487 |
+
train_3486_a_1
|
| 488 |
+
train_3486_a_2
|
| 489 |
+
train_3508_a_1
|
| 490 |
+
train_3508_a_2
|
| 491 |
+
train_3508_b_1
|
| 492 |
+
train_3508_b_2
|
| 493 |
+
train_3528_a_1
|
| 494 |
+
train_3528_a_2
|
| 495 |
+
train_3535_a_1
|
| 496 |
+
train_3535_a_2
|
| 497 |
+
train_3535_b_1
|
| 498 |
+
train_3535_b_2
|
| 499 |
+
train_3537_a_1
|
| 500 |
+
train_3537_a_2
|
| 501 |
+
train_3559_a_1
|
| 502 |
+
train_3559_a_2
|
| 503 |
+
train_3576_a_1
|
| 504 |
+
train_3576_a_2
|
| 505 |
+
train_3578_a_1
|
| 506 |
+
train_3578_a_2
|
| 507 |
+
train_3611_a_1
|
| 508 |
+
train_3611_a_2
|
| 509 |
+
train_3631_a_1
|
| 510 |
+
train_3631_a_2
|
| 511 |
+
train_3631_b_1
|
| 512 |
+
train_3631_b_2
|
| 513 |
+
train_3631_c_1
|
| 514 |
+
train_3631_c_2
|
| 515 |
+
train_3639_a_1
|
| 516 |
+
train_3639_a_2
|
| 517 |
+
train_3640_a_1
|
| 518 |
+
train_3640_a_2
|
| 519 |
+
train_3640_b_1
|
| 520 |
+
train_3640_b_2
|
| 521 |
+
train_3649_a_1
|
| 522 |
+
train_3650_a_1
|
| 523 |
+
train_3650_a_2
|
| 524 |
+
train_3664_a_1
|
| 525 |
+
train_3664_a_2
|
| 526 |
+
train_3683_a_1
|
| 527 |
+
train_3683_a_2
|
| 528 |
+
train_3691_a_1
|
| 529 |
+
train_3691_a_2
|
| 530 |
+
train_3697_a_1
|
| 531 |
+
train_3697_a_2
|
| 532 |
+
train_3732_a_1
|
| 533 |
+
train_3732_a_2
|
| 534 |
+
train_3732_b_1
|
| 535 |
+
train_3732_b_2
|
| 536 |
+
train_3734_a_3
|
| 537 |
+
train_3734_a_5
|
| 538 |
+
train_3738_a_1
|
| 539 |
+
train_3738_a_2
|
| 540 |
+
train_3748_a_1
|
| 541 |
+
train_3748_a_2
|
| 542 |
+
train_3748_b_1
|
| 543 |
+
train_3748_b_2
|
| 544 |
+
train_3759_a_1
|
| 545 |
+
train_3759_a_2
|
| 546 |
+
train_3759_b_1
|
| 547 |
+
train_3759_b_2
|
| 548 |
+
train_3830_a_1
|
| 549 |
+
train_3830_a_2
|
| 550 |
+
train_3848_a_1
|
| 551 |
+
train_3848_a_2
|
| 552 |
+
train_3849_a_1
|
| 553 |
+
train_3849_a_2
|
| 554 |
+
train_3861_a_1
|
| 555 |
+
train_3889_a_1
|
| 556 |
+
train_3889_a_2
|
| 557 |
+
train_3896_a_1
|
| 558 |
+
train_3896_a_2
|
| 559 |
+
train_3902_a_1
|
| 560 |
+
train_3902_a_2
|
| 561 |
+
train_3906_a_1
|
| 562 |
+
train_3906_a_2
|
| 563 |
+
train_3918_a_1
|
| 564 |
+
train_3918_a_2
|
| 565 |
+
train_3918_b_1
|
| 566 |
+
train_3918_b_2
|
| 567 |
+
train_3918_c_1
|
| 568 |
+
train_3918_c_2
|
| 569 |
+
train_3933_a_1
|
| 570 |
+
train_3933_a_2
|
| 571 |
+
train_3951_a_1
|
| 572 |
+
train_3951_a_2
|
| 573 |
+
train_3969_a_1
|
| 574 |
+
train_3969_a_2
|
| 575 |
+
train_3984_a_1
|
| 576 |
+
train_4031_a_1
|
| 577 |
+
train_4031_a_2
|
| 578 |
+
train_4048_a_1
|
| 579 |
+
train_4048_a_2
|
| 580 |
+
train_4049_a_1
|
| 581 |
+
train_4049_a_2
|
| 582 |
+
train_4057_a_1
|
| 583 |
+
train_4068_a_1
|
| 584 |
+
train_4068_a_2
|
| 585 |
+
train_4086_a_1
|
| 586 |
+
train_4086_a_2
|
| 587 |
+
train_4112_a_1
|
| 588 |
+
train_4112_a_2
|
| 589 |
+
train_4122_a_1
|
| 590 |
+
train_4122_a_2
|
| 591 |
+
train_4122_b_1
|
| 592 |
+
train_4122_b_2
|
| 593 |
+
train_4130_a_1
|
| 594 |
+
train_4130_a_2
|
| 595 |
+
train_4137_a_1
|
| 596 |
+
train_4137_a_2
|
| 597 |
+
train_4151_a_1
|
| 598 |
+
train_4151_a_2
|
| 599 |
+
train_4151_b_1
|
| 600 |
+
train_4151_b_2
|
| 601 |
+
train_4207_a_1
|
| 602 |
+
train_4207_a_2
|
| 603 |
+
train_4219_a_1
|
| 604 |
+
train_4219_a_2
|
| 605 |
+
train_4226_a_1
|
| 606 |
+
train_4226_a_2
|
| 607 |
+
train_4228_a_1
|
| 608 |
+
train_4228_a_2
|
| 609 |
+
train_4231_a_1
|
| 610 |
+
train_4231_a_2
|
| 611 |
+
train_4240_a_1
|
| 612 |
+
train_4240_a_2
|
| 613 |
+
train_4241_a_1
|
| 614 |
+
train_4241_a_2
|
| 615 |
+
train_4255_a_1
|
| 616 |
+
train_4255_a_2
|
| 617 |
+
train_4289_a_1
|
| 618 |
+
train_4289_a_2
|
| 619 |
+
train_4296_a_1
|
| 620 |
+
train_4296_a_2
|
| 621 |
+
train_4296_b_1
|
| 622 |
+
train_4296_b_2
|
| 623 |
+
train_4301_a_1
|
| 624 |
+
train_4301_a_2
|
| 625 |
+
train_4320_a_1
|
| 626 |
+
train_4320_a_2
|
| 627 |
+
train_4331_a_1
|
| 628 |
+
train_4331_a_2
|
| 629 |
+
train_4331_b_1
|
| 630 |
+
train_4331_b_2
|
| 631 |
+
train_4331_c_1
|
| 632 |
+
train_4331_c_2
|
| 633 |
+
train_4367_a_1
|
| 634 |
+
train_4367_a_2
|
| 635 |
+
train_4378_a_1
|
| 636 |
+
train_4378_a_2
|
| 637 |
+
train_4383_a_1
|
| 638 |
+
train_4383_a_2
|
| 639 |
+
train_4388_a_1
|
| 640 |
+
train_4388_a_2
|
| 641 |
+
train_4391_a_1
|
| 642 |
+
train_4391_a_2
|
| 643 |
+
train_4400_a_1
|
| 644 |
+
train_4400_a_2
|
| 645 |
+
train_4434_a_1
|
| 646 |
+
train_4434_a_2
|
| 647 |
+
train_4444_a_1
|
| 648 |
+
train_4444_a_2
|
| 649 |
+
train_4449_a_1
|
| 650 |
+
train_4449_a_2
|
| 651 |
+
train_4462_a_1
|
| 652 |
+
train_4462_a_2
|
| 653 |
+
train_4474_a_1
|
| 654 |
+
train_4474_a_2
|
| 655 |
+
train_4499_a_1
|
| 656 |
+
train_4499_a_2
|
| 657 |
+
train_4508_a_1
|
| 658 |
+
train_4508_a_2
|
| 659 |
+
train_4560_a_1
|
| 660 |
+
train_4560_a_2
|
| 661 |
+
train_4565_a_1
|
| 662 |
+
train_4565_a_2
|
| 663 |
+
train_4572_a_1
|
| 664 |
+
train_4572_a_2
|
| 665 |
+
train_4577_a_1
|
| 666 |
+
train_4577_a_2
|
| 667 |
+
train_4583_a_1
|
| 668 |
+
train_4583_a_2
|
| 669 |
+
train_4589_a_1
|
| 670 |
+
train_4589_a_2
|
| 671 |
+
train_4589_b_1
|
| 672 |
+
train_4589_b_2
|
| 673 |
+
train_4596_a_1
|
| 674 |
+
train_4596_a_2
|
| 675 |
+
train_4612_a_1
|
| 676 |
+
train_4612_a_2
|
| 677 |
+
train_4628_a_1
|
| 678 |
+
train_4640_a_1
|
| 679 |
+
train_4640_a_2
|
| 680 |
+
train_4698_a_1
|
| 681 |
+
train_4698_a_2
|
| 682 |
+
train_4709_a_1
|
| 683 |
+
train_4710_a_1
|
| 684 |
+
train_4710_a_2
|
| 685 |
+
train_4715_a_1
|
| 686 |
+
train_4715_a_2
|
| 687 |
+
train_4715_b_1
|
| 688 |
+
train_4715_b_2
|
| 689 |
+
train_4729_a_1
|
| 690 |
+
train_4729_a_2
|
| 691 |
+
train_4798_a_1
|
| 692 |
+
train_4798_a_2
|
| 693 |
+
train_4801_a_1
|
| 694 |
+
train_4801_a_3
|
| 695 |
+
train_4816_a_1
|
| 696 |
+
train_4821_a_1
|
| 697 |
+
train_4821_a_2
|
| 698 |
+
train_4833_a_1
|
| 699 |
+
train_4833_a_2
|
| 700 |
+
train_4834_a_1
|
| 701 |
+
train_4834_a_2
|
| 702 |
+
train_4845_a_1
|
| 703 |
+
train_4845_a_2
|
| 704 |
+
train_4859_a_1
|
| 705 |
+
train_4859_b_1
|
| 706 |
+
train_4859_b_2
|
| 707 |
+
train_4859_c_1
|
| 708 |
+
train_4859_c_2
|
| 709 |
+
train_4859_d_1
|
| 710 |
+
train_4859_d_2
|
| 711 |
+
train_4859_e_1
|
| 712 |
+
train_4859_e_2
|
| 713 |
+
train_4859_f_1
|
| 714 |
+
train_4859_f_2
|
| 715 |
+
train_4892_a_1
|
| 716 |
+
train_4920_a_1
|
| 717 |
+
train_4920_a_2
|
| 718 |
+
train_4953_a_1
|
| 719 |
+
train_4953_a_2
|
| 720 |
+
train_4953_a_3
|
| 721 |
+
train_4978_a_1
|
| 722 |
+
train_4978_a_2
|
| 723 |
+
train_4993_a_1
|
| 724 |
+
train_4993_a_2
|
| 725 |
+
train_5009_a_1
|
| 726 |
+
train_5009_a_2
|
| 727 |
+
train_5011_a_1
|
| 728 |
+
train_5011_a_2
|
| 729 |
+
train_5026_a_1
|
| 730 |
+
train_5026_a_2
|
| 731 |
+
train_5029_a_1
|
| 732 |
+
train_5029_a_2
|
| 733 |
+
train_5041_a_1
|
| 734 |
+
train_5041_a_2
|
| 735 |
+
train_5043_a_1
|
| 736 |
+
train_5053_a_1
|
| 737 |
+
train_5053_b_1
|
| 738 |
+
train_5053_b_2
|
| 739 |
+
train_5091_a_1
|
| 740 |
+
train_5091_a_2
|
| 741 |
+
train_5096_a_1
|
| 742 |
+
train_5096_a_2
|
| 743 |
+
train_5096_b_1
|
| 744 |
+
train_5096_b_2
|
| 745 |
+
train_5108_a_1
|
| 746 |
+
train_5109_a_1
|
| 747 |
+
train_5109_a_2
|
| 748 |
+
train_5115_a_1
|
| 749 |
+
train_5115_a_2
|
| 750 |
+
train_5120_a_1
|
| 751 |
+
train_5131_a_1
|
| 752 |
+
train_5131_a_2
|
| 753 |
+
train_5155_a_1
|
| 754 |
+
train_5155_a_2
|
| 755 |
+
train_5161_a_1
|
| 756 |
+
train_5161_a_2
|
| 757 |
+
train_5172_a_1
|
| 758 |
+
train_5172_a_2
|
| 759 |
+
train_5189_a_1
|
| 760 |
+
train_5189_a_2
|
| 761 |
+
train_5209_a_1
|
| 762 |
+
train_5209_a_2
|
| 763 |
+
train_5209_b_1
|
| 764 |
+
train_5209_b_2
|
| 765 |
+
train_5213_a_1
|
| 766 |
+
train_5213_a_2
|
| 767 |
+
train_5214_a_1
|
| 768 |
+
train_5214_a_2
|
| 769 |
+
train_5225_a_1
|
| 770 |
+
train_5225_a_2
|
| 771 |
+
train_5227_a_1
|
| 772 |
+
train_5238_a_1
|
| 773 |
+
train_5238_a_2
|
| 774 |
+
train_5241_a_1
|
| 775 |
+
train_5241_a_2
|
| 776 |
+
train_5259_a_1
|
| 777 |
+
train_5259_a_2
|
| 778 |
+
train_5286_a_1
|
| 779 |
+
train_5286_a_2
|
| 780 |
+
train_5316_a_1
|
| 781 |
+
train_5357_a_1
|
| 782 |
+
train_5357_b_1
|
| 783 |
+
train_5357_b_2
|
| 784 |
+
train_5370_a_1
|
| 785 |
+
train_5370_a_2
|
| 786 |
+
train_5378_a_1
|
| 787 |
+
train_5378_a_2
|
| 788 |
+
train_5389_a_1
|
| 789 |
+
train_5389_a_2
|
| 790 |
+
train_5404_a_1
|
| 791 |
+
train_5404_a_2
|
| 792 |
+
train_5404_b_1
|
| 793 |
+
train_5404_b_2
|
| 794 |
+
train_5434_a_1
|
| 795 |
+
train_5434_a_2
|
| 796 |
+
train_5438_a_1
|
| 797 |
+
train_5438_a_2
|
| 798 |
+
train_5443_a_1
|
| 799 |
+
train_5443_a_2
|
| 800 |
+
train_5490_a_1
|
| 801 |
+
train_5503_a_1
|
| 802 |
+
train_5503_a_2
|
| 803 |
+
train_5508_a_1
|
| 804 |
+
train_5508_a_2
|
| 805 |
+
train_5508_b_1
|
| 806 |
+
train_5508_b_2
|
| 807 |
+
train_5508_c_1
|
| 808 |
+
train_5508_c_2
|
| 809 |
+
train_5513_a_1
|
| 810 |
+
train_5517_a_1
|
| 811 |
+
train_5517_a_2
|
| 812 |
+
train_5524_a_1
|
| 813 |
+
train_5530_a_1
|
| 814 |
+
train_5530_a_2
|
| 815 |
+
train_5586_a_1
|
| 816 |
+
train_5590_a_1
|
| 817 |
+
train_5590_a_2
|
| 818 |
+
train_5591_a_1
|
| 819 |
+
train_5591_a_2
|
| 820 |
+
train_5623_a_1
|
| 821 |
+
train_5623_a_2
|
| 822 |
+
train_5625_a_1
|
| 823 |
+
train_5625_a_2
|
| 824 |
+
train_5636_a_1
|
| 825 |
+
train_5636_a_2
|
| 826 |
+
train_5642_a_1
|
| 827 |
+
train_5642_a_2
|
| 828 |
+
train_5686_a_1
|
| 829 |
+
train_5686_a_2
|
| 830 |
+
train_5720_a_1
|
| 831 |
+
train_5720_a_2
|
| 832 |
+
train_5768_a_1
|
| 833 |
+
train_5768_a_2
|
| 834 |
+
train_5774_a_1
|
| 835 |
+
train_5774_a_2
|
| 836 |
+
train_5776_a_1
|
| 837 |
+
train_5776_a_2
|
| 838 |
+
train_5799_a_1
|
| 839 |
+
train_5799_a_2
|
| 840 |
+
train_5827_a_1
|
| 841 |
+
train_5866_a_1
|
| 842 |
+
train_5866_a_2
|
| 843 |
+
train_5872_a_1
|
| 844 |
+
train_5872_a_2
|
| 845 |
+
train_5886_a_1
|
| 846 |
+
train_5886_a_2
|
| 847 |
+
train_5886_b_1
|
| 848 |
+
train_5886_b_2
|
| 849 |
+
train_5892_a_1
|
| 850 |
+
train_5892_a_2
|
| 851 |
+
train_5900_a_1
|
| 852 |
+
train_5900_a_2
|
| 853 |
+
train_5904_a_1
|
| 854 |
+
train_5904_a_2
|
| 855 |
+
train_5904_b_1
|
| 856 |
+
train_5904_b_2
|
| 857 |
+
train_5907_a_1
|
| 858 |
+
train_5907_a_2
|
| 859 |
+
train_5922_a_1
|
| 860 |
+
train_5922_a_2
|
| 861 |
+
train_5938_a_1
|
| 862 |
+
train_5938_a_2
|
| 863 |
+
train_5959_a_1
|
| 864 |
+
train_5959_a_2
|
| 865 |
+
train_5978_a_1
|
| 866 |
+
train_6023_a_1
|
| 867 |
+
train_6023_a_2
|
| 868 |
+
train_6025_a_1
|
| 869 |
+
train_6025_a_2
|
| 870 |
+
train_6050_a_1
|
| 871 |
+
train_6050_a_2
|
| 872 |
+
train_6050_b_1
|
| 873 |
+
train_6050_b_2
|
| 874 |
+
train_6053_a_1
|
| 875 |
+
train_6053_a_2
|
| 876 |
+
train_6056_a_1
|
| 877 |
+
train_6056_a_2
|
| 878 |
+
train_6057_a_1
|
| 879 |
+
train_6065_a_1
|
| 880 |
+
train_6097_a_1
|
| 881 |
+
train_6097_a_2
|
| 882 |
+
train_6126_a_1
|
| 883 |
+
train_6126_a_2
|
| 884 |
+
train_6130_a_1
|
| 885 |
+
train_6130_a_2
|
| 886 |
+
train_6130_b_1
|
| 887 |
+
train_6130_b_2
|
| 888 |
+
train_6161_a_1
|
| 889 |
+
train_6161_a_2
|
| 890 |
+
train_6166_a_1
|
| 891 |
+
train_6166_a_2
|
| 892 |
+
train_6166_b_1
|
| 893 |
+
train_6166_b_2
|
| 894 |
+
train_6180_a_1
|
| 895 |
+
train_6180_a_2
|
| 896 |
+
train_6189_a_1
|
| 897 |
+
train_6189_a_2
|
| 898 |
+
train_6193_a_1
|
| 899 |
+
train_6193_a_2
|
| 900 |
+
train_6207_a_1
|
| 901 |
+
train_6214_a_1
|
| 902 |
+
train_6214_a_2
|
| 903 |
+
train_6219_a_1
|
| 904 |
+
train_6219_a_2
|
| 905 |
+
train_6250_a_1
|
| 906 |
+
train_6250_a_2
|
| 907 |
+
train_6328_a_1
|
| 908 |
+
train_6328_a_2
|
| 909 |
+
train_6335_a_1
|
| 910 |
+
train_6335_b_1
|
| 911 |
+
train_6335_b_2
|
| 912 |
+
train_6343_a_1
|
| 913 |
+
train_6368_a_1
|
| 914 |
+
train_6368_a_2
|
| 915 |
+
train_6387_a_1
|
| 916 |
+
train_6408_a_1
|
| 917 |
+
train_6408_a_2
|
| 918 |
+
train_6414_a_1
|
| 919 |
+
train_6414_a_2
|
| 920 |
+
train_6425_a_1
|
| 921 |
+
train_6425_a_2
|
| 922 |
+
train_6427_a_1
|
| 923 |
+
train_6427_a_2
|
| 924 |
+
train_6449_a_1
|
| 925 |
+
train_6454_a_1
|
| 926 |
+
train_6454_a_2
|
| 927 |
+
train_6458_a_3
|
| 928 |
+
train_6458_a_5
|
| 929 |
+
train_6481_a_1
|
| 930 |
+
train_6481_a_2
|
| 931 |
+
train_6502_a_1
|
| 932 |
+
train_6502_a_2
|
| 933 |
+
train_6502_b_1
|
| 934 |
+
train_6502_b_2
|
| 935 |
+
train_6506_a_1
|
| 936 |
+
train_6506_a_2
|
| 937 |
+
train_6506_b_1
|
| 938 |
+
train_6506_b_2
|
| 939 |
+
train_6517_a_1
|
| 940 |
+
train_6517_a_2
|
| 941 |
+
train_6522_a_1
|
| 942 |
+
train_6522_a_2
|
| 943 |
+
train_6522_b_1
|
| 944 |
+
train_6522_b_2
|
| 945 |
+
train_6522_c_1
|
| 946 |
+
train_6522_c_2
|
| 947 |
+
train_6522_d_1
|
| 948 |
+
train_6522_d_2
|
| 949 |
+
train_6527_a_1
|
| 950 |
+
train_6527_a_2
|
| 951 |
+
train_6529_a_1
|
| 952 |
+
train_6529_a_2
|
| 953 |
+
train_6552_a_1
|
| 954 |
+
train_6552_a_2
|
| 955 |
+
train_6554_a_1
|
| 956 |
+
train_6554_a_2
|
| 957 |
+
train_6581_a_1
|
| 958 |
+
train_6581_a_2
|
| 959 |
+
train_6584_a_1
|
| 960 |
+
train_6584_a_2
|
| 961 |
+
train_6584_a_3
|
| 962 |
+
train_6588_a_1
|
| 963 |
+
train_6588_a_2
|
| 964 |
+
train_6592_a_1
|
| 965 |
+
train_6605_a_1
|
| 966 |
+
train_6605_a_2
|
| 967 |
+
train_6608_a_1
|
| 968 |
+
train_6608_a_2
|
| 969 |
+
train_6611_a_1
|
| 970 |
+
train_6611_a_2
|
| 971 |
+
train_6611_b_1
|
| 972 |
+
train_6611_b_2
|
| 973 |
+
train_6626_a_1
|
| 974 |
+
train_6626_a_2
|
| 975 |
+
train_6636_a_1
|
| 976 |
+
train_6636_a_2
|
| 977 |
+
train_6644_a_1
|
| 978 |
+
train_6644_a_2
|
| 979 |
+
train_6648_a_1
|
| 980 |
+
train_6648_a_2
|
| 981 |
+
train_6655_a_1
|
| 982 |
+
train_6655_a_2
|
| 983 |
+
train_6658_a_1
|
| 984 |
+
train_6658_a_2
|
| 985 |
+
train_6675_a_1
|
| 986 |
+
train_6675_a_2
|
| 987 |
+
train_6677_a_1
|
| 988 |
+
train_6677_a_2
|
| 989 |
+
train_6698_a_1
|
| 990 |
+
train_6698_a_2
|
| 991 |
+
train_6699_a_1
|
| 992 |
+
train_6699_a_2
|
| 993 |
+
train_6703_a_1
|
| 994 |
+
train_6703_a_2
|
| 995 |
+
train_6760_a_1
|
| 996 |
+
train_6760_a_2
|
| 997 |
+
train_6790_a_1
|
| 998 |
+
train_6790_a_2
|
| 999 |
+
train_6815_a_1
|
| 1000 |
+
train_6851_a_1
|
| 1001 |
+
train_6851_a_2
|
| 1002 |
+
train_6851_b_1
|
| 1003 |
+
train_6851_b_2
|
| 1004 |
+
train_6882_a_1
|
| 1005 |
+
train_6887_a_1
|
| 1006 |
+
train_6887_b_1
|
| 1007 |
+
train_6887_b_2
|
| 1008 |
+
train_6891_a_1
|
| 1009 |
+
train_6891_a_2
|
| 1010 |
+
train_6946_a_1
|
| 1011 |
+
train_6946_a_2
|
| 1012 |
+
train_6953_a_1
|
| 1013 |
+
train_6953_a_2
|
| 1014 |
+
train_6963_a_1
|
| 1015 |
+
train_6963_a_2
|
| 1016 |
+
train_6979_a_1
|
| 1017 |
+
train_6979_a_2
|
| 1018 |
+
train_6990_a_1
|
| 1019 |
+
train_6990_a_2
|
| 1020 |
+
train_6998_a_1
|
| 1021 |
+
train_6998_a_2
|
| 1022 |
+
train_7005_a_1
|
| 1023 |
+
train_7005_a_2
|
| 1024 |
+
train_7005_b_1
|
| 1025 |
+
train_7005_b_2
|
| 1026 |
+
train_7052_a_1
|
| 1027 |
+
train_7052_a_2
|
| 1028 |
+
train_7076_a_1
|
| 1029 |
+
train_7076_a_2
|
| 1030 |
+
train_7078_a_1
|
| 1031 |
+
train_7082_a_1
|
| 1032 |
+
train_7082_a_2
|
| 1033 |
+
train_7100_a_1
|
| 1034 |
+
train_7100_a_2
|
| 1035 |
+
train_7100_b_1
|
| 1036 |
+
train_7100_b_2
|
| 1037 |
+
train_7100_c_1
|
| 1038 |
+
train_7100_c_2
|
| 1039 |
+
train_7154_a_1
|
| 1040 |
+
train_7154_a_2
|
| 1041 |
+
train_7157_a_1
|
| 1042 |
+
train_7157_a_2
|
| 1043 |
+
train_7194_a_1
|
| 1044 |
+
train_7194_a_2
|
| 1045 |
+
train_7219_a_1
|
| 1046 |
+
train_7219_a_2
|
| 1047 |
+
train_7222_a_1
|
| 1048 |
+
train_7222_a_2
|
| 1049 |
+
train_7230_a_1
|
| 1050 |
+
train_7230_a_2
|
| 1051 |
+
train_7241_a_1
|
| 1052 |
+
train_7241_a_2
|
| 1053 |
+
train_7274_a_1
|
| 1054 |
+
train_7274_a_2
|
| 1055 |
+
train_7279_a_1
|
| 1056 |
+
train_7279_a_2
|
| 1057 |
+
train_7303_a_1
|
| 1058 |
+
train_7303_a_2
|
| 1059 |
+
train_7328_a_1
|
| 1060 |
+
train_7328_a_2
|
| 1061 |
+
train_7335_a_1
|
| 1062 |
+
train_7335_a_2
|
| 1063 |
+
train_7359_a_1
|
| 1064 |
+
train_7359_a_2
|
| 1065 |
+
train_7373_a_1
|
| 1066 |
+
train_7373_a_2
|
| 1067 |
+
train_7383_a_1
|
| 1068 |
+
train_7383_a_2
|
| 1069 |
+
train_7387_a_1
|
| 1070 |
+
train_7387_a_2
|
| 1071 |
+
train_7392_a_1
|
| 1072 |
+
train_7392_a_2
|
| 1073 |
+
train_7423_a_1
|
| 1074 |
+
train_7423_a_2
|
| 1075 |
+
train_7432_a_1
|
| 1076 |
+
train_7442_a_1
|
| 1077 |
+
train_7442_a_2
|
| 1078 |
+
train_7456_a_1
|
| 1079 |
+
train_7456_a_2
|
| 1080 |
+
train_7467_a_1
|
| 1081 |
+
train_7467_a_2
|
| 1082 |
+
train_7469_a_1
|
| 1083 |
+
train_7469_a_2
|
| 1084 |
+
train_7484_a_1
|
| 1085 |
+
train_7484_a_2
|
| 1086 |
+
train_7504_a_1
|
| 1087 |
+
train_7504_a_2
|
| 1088 |
+
train_7513_a_1
|
| 1089 |
+
train_7513_a_2
|
| 1090 |
+
train_7523_a_1
|
| 1091 |
+
train_7535_a_1
|
| 1092 |
+
train_7535_a_2
|
| 1093 |
+
train_7535_b_1
|
| 1094 |
+
train_7535_b_2
|
| 1095 |
+
train_7548_a_1
|
| 1096 |
+
train_7548_a_2
|
| 1097 |
+
train_7557_a_1
|
| 1098 |
+
train_7601_a_1
|
| 1099 |
+
train_7601_a_2
|
| 1100 |
+
train_7605_a_1
|
| 1101 |
+
train_7605_a_2
|
| 1102 |
+
train_7605_b_1
|
| 1103 |
+
train_7605_b_2
|
| 1104 |
+
train_7607_a_1
|
| 1105 |
+
train_7607_a_2
|
| 1106 |
+
train_7612_a_1
|
| 1107 |
+
train_7612_a_2
|
| 1108 |
+
train_7614_a_1
|
| 1109 |
+
train_7614_a_2
|
| 1110 |
+
train_7622_a_1
|
| 1111 |
+
train_7622_a_2
|
| 1112 |
+
train_7634_a_1
|
| 1113 |
+
train_7634_a_2
|
| 1114 |
+
train_7634_b_1
|
| 1115 |
+
train_7634_b_2
|
| 1116 |
+
train_7639_a_1
|
| 1117 |
+
train_7639_a_2
|
| 1118 |
+
train_7668_a_1
|
| 1119 |
+
train_7668_a_2
|
| 1120 |
+
train_7681_a_1
|
| 1121 |
+
train_7681_a_2
|
| 1122 |
+
train_7704_a_1
|
| 1123 |
+
train_7704_a_2
|
| 1124 |
+
train_7710_a_1
|
| 1125 |
+
train_7710_a_2
|
| 1126 |
+
train_7710_b_1
|
| 1127 |
+
train_7710_b_2
|
| 1128 |
+
train_7710_c_1
|
| 1129 |
+
train_7710_c_2
|
| 1130 |
+
train_7710_d_1
|
| 1131 |
+
train_7710_d_2
|
| 1132 |
+
train_7710_e_1
|
| 1133 |
+
train_7710_e_2
|
| 1134 |
+
train_7723_a_1
|
| 1135 |
+
train_7723_a_2
|
| 1136 |
+
train_7736_a_1
|
| 1137 |
+
train_7736_a_2
|
| 1138 |
+
train_7738_a_1
|
| 1139 |
+
train_7738_a_2
|
| 1140 |
+
train_7752_a_1
|
| 1141 |
+
train_7752_a_2
|
| 1142 |
+
train_7789_a_1
|
| 1143 |
+
train_7789_a_2
|
| 1144 |
+
train_7792_a_1
|
| 1145 |
+
train_7802_a_1
|
| 1146 |
+
train_7802_a_2
|
| 1147 |
+
train_7810_a_1
|
| 1148 |
+
train_7810_a_2
|
| 1149 |
+
train_7860_a_1
|
| 1150 |
+
train_7862_a_1
|
| 1151 |
+
train_7862_a_2
|
| 1152 |
+
train_7909_a_1
|
| 1153 |
+
train_7909_a_2
|
| 1154 |
+
train_7932_a_1
|
| 1155 |
+
train_7932_a_2
|
| 1156 |
+
train_7932_b_1
|
| 1157 |
+
train_7932_b_2
|
| 1158 |
+
train_7932_c_1
|
| 1159 |
+
train_7932_c_2
|
| 1160 |
+
train_7932_d_1
|
| 1161 |
+
train_7932_d_2
|
| 1162 |
+
train_7941_a_1
|
| 1163 |
+
train_7941_a_2
|
| 1164 |
+
train_7942_a_1
|
| 1165 |
+
train_7942_a_2
|
| 1166 |
+
train_7955_a_1
|
| 1167 |
+
train_7955_a_2
|
| 1168 |
+
train_8005_a_1
|
| 1169 |
+
train_8005_a_2
|
| 1170 |
+
train_8010_a_1
|
| 1171 |
+
train_8010_a_2
|
| 1172 |
+
train_8010_b_1
|
| 1173 |
+
train_8010_b_2
|
| 1174 |
+
train_8023_a_1
|
| 1175 |
+
train_8023_a_2
|
| 1176 |
+
train_8028_a_1
|
| 1177 |
+
train_8028_a_2
|
| 1178 |
+
train_8033_a_1
|
| 1179 |
+
train_8033_a_2
|
| 1180 |
+
train_8048_a_1
|
| 1181 |
+
train_8048_a_2
|
| 1182 |
+
train_8050_a_1
|
| 1183 |
+
train_8050_a_2
|
| 1184 |
+
train_8077_a_1
|
| 1185 |
+
train_8077_a_2
|
| 1186 |
+
train_8100_a_1
|
| 1187 |
+
train_8100_a_2
|
| 1188 |
+
train_8111_a_1
|
| 1189 |
+
train_8119_a_1
|
| 1190 |
+
train_8119_a_2
|
| 1191 |
+
train_8135_a_1
|
| 1192 |
+
train_8136_a_1
|
| 1193 |
+
train_8136_a_2
|
| 1194 |
+
train_8142_a_1
|
| 1195 |
+
train_8142_a_2
|
| 1196 |
+
train_8173_a_1
|
| 1197 |
+
train_8173_a_2
|
| 1198 |
+
train_8176_a_1
|
| 1199 |
+
train_8176_a_2
|
| 1200 |
+
train_8185_a_1
|
| 1201 |
+
train_8185_a_2
|
| 1202 |
+
train_8193_a_1
|
| 1203 |
+
train_8193_a_2
|
| 1204 |
+
train_8231_a_1
|
| 1205 |
+
train_8240_a_1
|
| 1206 |
+
train_8240_a_2
|
| 1207 |
+
train_8255_a_1
|
| 1208 |
+
train_8255_a_2
|
| 1209 |
+
train_8277_a_1
|
| 1210 |
+
train_8277_a_2
|
| 1211 |
+
train_8280_a_1
|
| 1212 |
+
train_8280_a_2
|
| 1213 |
+
train_8293_a_1
|
| 1214 |
+
train_8293_a_2
|
| 1215 |
+
train_8293_b_1
|
| 1216 |
+
train_8293_b_2
|
| 1217 |
+
train_8312_a_1
|
| 1218 |
+
train_8312_a_2
|
| 1219 |
+
train_8352_a_1
|
| 1220 |
+
train_8352_a_2
|
| 1221 |
+
train_8381_a_1
|
| 1222 |
+
train_8381_a_2
|
| 1223 |
+
train_8409_a_1
|
| 1224 |
+
train_8409_a_2
|
| 1225 |
+
train_8426_a_1
|
| 1226 |
+
train_8426_a_2
|
| 1227 |
+
train_8447_a_1
|
| 1228 |
+
train_8465_a_1
|
| 1229 |
+
train_8465_a_2
|
| 1230 |
+
train_8465_a_3
|
| 1231 |
+
train_8484_a_1
|
| 1232 |
+
train_8484_a_2
|
| 1233 |
+
train_8484_b_1
|
| 1234 |
+
train_8484_b_2
|
| 1235 |
+
train_8501_a_1
|
| 1236 |
+
train_8501_a_2
|
| 1237 |
+
train_8507_a_1
|
| 1238 |
+
train_8530_a_1
|
| 1239 |
+
train_8530_a_2
|
| 1240 |
+
train_8538_a_1
|
| 1241 |
+
train_8538_a_2
|
| 1242 |
+
train_8555_a_1
|
| 1243 |
+
train_8555_a_2
|
| 1244 |
+
train_8560_a_1
|
| 1245 |
+
train_8560_a_2
|
| 1246 |
+
train_8629_a_1
|
| 1247 |
+
train_8629_a_2
|
| 1248 |
+
train_8643_a_1
|
| 1249 |
+
train_8643_a_2
|
| 1250 |
+
train_8643_b_1
|
| 1251 |
+
train_8643_b_2
|
| 1252 |
+
train_8646_a_1
|
| 1253 |
+
train_8646_a_2
|
| 1254 |
+
train_8646_a_3
|
| 1255 |
+
train_8646_a_4
|
| 1256 |
+
train_8651_a_1
|
| 1257 |
+
train_8651_a_2
|
| 1258 |
+
train_8653_a_1
|
| 1259 |
+
train_8653_a_2
|
| 1260 |
+
train_8653_b_1
|
| 1261 |
+
train_8653_b_2
|
| 1262 |
+
train_8657_a_1
|
| 1263 |
+
train_8657_a_2
|
| 1264 |
+
train_8689_a_1
|
| 1265 |
+
train_8689_a_2
|
| 1266 |
+
train_8691_a_1
|
| 1267 |
+
train_8691_a_2
|
| 1268 |
+
train_8733_a_1
|
| 1269 |
+
train_8733_a_2
|
| 1270 |
+
train_8735_a_1
|
| 1271 |
+
train_8735_a_2
|
| 1272 |
+
train_8735_b_1
|
| 1273 |
+
train_8735_b_2
|
| 1274 |
+
train_8754_a_1
|
| 1275 |
+
train_8754_a_2
|
| 1276 |
+
train_8756_a_1
|
| 1277 |
+
train_8756_a_2
|
| 1278 |
+
train_8767_a_1
|
| 1279 |
+
train_8767_a_2
|
| 1280 |
+
train_8773_a_1
|
| 1281 |
+
train_8773_a_2
|
| 1282 |
+
train_8782_a_3
|
| 1283 |
+
train_8782_a_5
|
| 1284 |
+
train_8787_a_1
|
| 1285 |
+
train_8787_a_2
|
| 1286 |
+
train_8787_b_1
|
| 1287 |
+
train_8787_b_2
|
| 1288 |
+
train_8794_a_1
|
| 1289 |
+
train_8794_a_2
|
| 1290 |
+
train_8801_a_1
|
| 1291 |
+
train_8801_a_2
|
| 1292 |
+
train_8816_a_1
|
| 1293 |
+
train_8823_a_1
|
| 1294 |
+
train_8823_a_2
|
| 1295 |
+
train_8854_a_1
|
| 1296 |
+
train_8854_a_2
|
| 1297 |
+
train_8854_b_1
|
| 1298 |
+
train_8861_a_1
|
| 1299 |
+
train_8893_a_1
|
| 1300 |
+
train_8893_a_2
|
| 1301 |
+
train_8900_a_3
|
| 1302 |
+
train_8900_a_5
|
| 1303 |
+
train_8914_a_1
|
| 1304 |
+
train_8914_a_2
|
| 1305 |
+
train_8922_a_1
|
| 1306 |
+
train_8922_a_2
|
| 1307 |
+
train_8926_a_1
|
| 1308 |
+
train_8926_a_2
|
| 1309 |
+
train_8975_a_1
|
| 1310 |
+
train_8975_a_2
|
| 1311 |
+
train_8984_a_1
|
| 1312 |
+
train_8984_a_2
|
| 1313 |
+
train_9094_a_1
|
| 1314 |
+
train_9094_a_2
|
| 1315 |
+
train_9128_a_1
|
| 1316 |
+
train_9128_a_2
|
| 1317 |
+
train_9130_a_1
|
| 1318 |
+
train_9130_a_2
|
| 1319 |
+
train_9150_a_1
|
| 1320 |
+
train_9150_a_2
|
| 1321 |
+
train_9162_a_1
|
| 1322 |
+
train_9162_a_2
|
| 1323 |
+
train_9163_a_1
|
| 1324 |
+
train_9163_a_2
|
| 1325 |
+
train_9182_a_1
|
| 1326 |
+
train_9182_a_2
|
| 1327 |
+
train_9190_a_1
|
| 1328 |
+
train_9190_a_2
|
| 1329 |
+
train_9202_a_1
|
| 1330 |
+
train_9202_a_2
|
| 1331 |
+
train_9204_a_1
|
| 1332 |
+
train_9204_a_2
|
| 1333 |
+
train_9247_a_1
|
| 1334 |
+
train_9247_a_2
|
| 1335 |
+
train_9249_a_1
|
| 1336 |
+
train_9249_a_2
|
| 1337 |
+
train_9249_b_1
|
| 1338 |
+
train_9249_b_2
|
| 1339 |
+
train_9249_c_1
|
| 1340 |
+
train_9249_c_2
|
| 1341 |
+
train_9257_a_1
|
| 1342 |
+
train_9257_a_2
|
| 1343 |
+
train_9263_a_1
|
| 1344 |
+
train_9263_a_2
|
| 1345 |
+
train_9284_a_1
|
| 1346 |
+
train_9284_a_2
|
| 1347 |
+
train_9291_a_1
|
| 1348 |
+
train_9291_a_2
|
| 1349 |
+
train_9296_a_1
|
| 1350 |
+
train_9296_a_2
|
| 1351 |
+
train_9311_a_1
|
| 1352 |
+
train_9311_a_2
|
| 1353 |
+
train_9312_a_1
|
| 1354 |
+
train_9312_a_2
|
| 1355 |
+
train_9328_a_1
|
| 1356 |
+
train_9328_a_2
|
| 1357 |
+
train_9392_a_1
|
| 1358 |
+
train_9406_a_1
|
| 1359 |
+
train_9406_a_2
|
| 1360 |
+
train_9428_a_1
|
| 1361 |
+
train_9428_a_2
|
| 1362 |
+
train_9428_b_1
|
| 1363 |
+
train_9428_b_2
|
| 1364 |
+
train_9429_a_1
|
| 1365 |
+
train_9429_a_2
|
| 1366 |
+
train_9488_a_1
|
| 1367 |
+
train_9488_a_2
|
| 1368 |
+
train_9533_a_1
|
| 1369 |
+
train_9533_a_2
|
| 1370 |
+
train_9533_b_1
|
| 1371 |
+
train_9533_b_2
|
| 1372 |
+
train_9533_c_1
|
| 1373 |
+
train_9533_c_2
|
| 1374 |
+
train_9533_d_1
|
| 1375 |
+
train_9533_d_2
|
| 1376 |
+
train_9533_e_1
|
| 1377 |
+
train_9533_e_2
|
| 1378 |
+
train_9558_a_1
|
| 1379 |
+
train_9558_a_2
|
| 1380 |
+
train_9565_a_1
|
| 1381 |
+
train_9565_a_2
|
| 1382 |
+
train_9579_a_1
|
| 1383 |
+
train_9579_a_2
|
| 1384 |
+
train_9579_b_1
|
| 1385 |
+
train_9579_b_2
|
| 1386 |
+
train_9579_c_1
|
| 1387 |
+
train_9579_c_2
|
| 1388 |
+
train_9582_a_1
|
| 1389 |
+
train_9582_a_2
|
| 1390 |
+
train_9582_b_1
|
| 1391 |
+
train_9582_b_2
|
| 1392 |
+
train_9584_a_1
|
| 1393 |
+
train_9584_a_2
|
| 1394 |
+
train_9593_a_1
|
| 1395 |
+
train_9593_a_2
|
| 1396 |
+
train_9599_a_1
|
| 1397 |
+
train_9599_a_2
|
| 1398 |
+
train_9630_a_1
|
| 1399 |
+
train_9630_a_2
|
| 1400 |
+
train_9643_a_1
|
| 1401 |
+
train_9643_a_2
|
| 1402 |
+
train_9652_a_1
|
| 1403 |
+
train_9652_a_2
|
| 1404 |
+
train_9698_a_1
|
| 1405 |
+
train_9713_a_1
|
| 1406 |
+
train_9713_a_2
|
| 1407 |
+
train_9729_a_1
|
| 1408 |
+
train_9729_a_2
|
| 1409 |
+
train_9751_a_1
|
| 1410 |
+
train_9751_a_2
|
| 1411 |
+
train_9757_a_1
|
| 1412 |
+
train_9757_a_2
|
| 1413 |
+
train_9757_b_1
|
| 1414 |
+
train_9757_b_2
|
| 1415 |
+
train_9788_a_1
|
| 1416 |
+
train_9788_a_2
|
| 1417 |
+
train_9810_a_1
|
| 1418 |
+
train_9810_a_2
|
| 1419 |
+
train_9810_b_1
|
| 1420 |
+
train_9830_a_1
|
| 1421 |
+
train_9830_a_2
|
| 1422 |
+
train_9836_a_1
|
| 1423 |
+
train_9836_a_2
|
| 1424 |
+
train_9842_a_1
|
| 1425 |
+
train_9842_a_2
|
| 1426 |
+
train_9856_a_1
|
| 1427 |
+
train_9856_a_2
|
| 1428 |
+
train_9857_a_1
|
| 1429 |
+
train_9880_a_1
|
| 1430 |
+
train_9880_a_2
|
| 1431 |
+
train_9881_a_1
|
| 1432 |
+
train_9881_a_2
|
| 1433 |
+
train_9912_a_1
|
| 1434 |
+
train_9912_a_2
|
| 1435 |
+
train_9917_a_1
|
| 1436 |
+
train_9917_a_2
|
| 1437 |
+
train_9939_a_1
|
| 1438 |
+
train_9939_a_2
|
| 1439 |
+
train_9944_a_1
|
| 1440 |
+
train_9944_a_2
|
| 1441 |
+
train_9948_a_1
|
| 1442 |
+
train_9948_a_2
|
| 1443 |
+
train_9963_a_1
|
| 1444 |
+
train_9963_a_2
|
| 1445 |
+
train_9981_a_1
|
| 1446 |
+
train_9981_a_2
|
| 1447 |
+
train_9991_a_1
|
| 1448 |
+
train_9991_a_2
|
| 1449 |
+
train_9992_a_1
|
| 1450 |
+
train_9992_a_2
|
| 1451 |
+
train_10003_a_1
|
| 1452 |
+
train_10003_a_2
|
| 1453 |
+
train_10003_a_3
|
| 1454 |
+
train_10004_a_1
|
| 1455 |
+
train_10004_a_2
|
| 1456 |
+
train_10027_a_1
|
| 1457 |
+
train_10027_b_1
|
| 1458 |
+
train_10027_b_2
|
| 1459 |
+
train_10030_a_1
|
| 1460 |
+
train_10030_a_2
|
| 1461 |
+
train_10030_b_1
|
| 1462 |
+
train_10030_b_2
|
| 1463 |
+
train_10041_a_1
|
| 1464 |
+
train_10051_a_1
|
| 1465 |
+
train_10051_a_2
|
| 1466 |
+
train_10067_a_1
|
| 1467 |
+
train_10067_a_2
|
| 1468 |
+
train_10089_a_1
|
| 1469 |
+
train_10089_a_2
|
| 1470 |
+
train_10092_a_1
|
| 1471 |
+
train_10092_a_2
|
| 1472 |
+
train_10098_a_1
|
| 1473 |
+
train_10098_a_2
|
| 1474 |
+
train_10107_a_1
|
| 1475 |
+
train_10107_a_2
|
| 1476 |
+
train_10110_a_1
|
| 1477 |
+
train_10110_a_2
|
| 1478 |
+
train_10172_a_1
|
| 1479 |
+
train_10172_a_2
|
| 1480 |
+
train_10187_a_1
|
| 1481 |
+
train_10187_a_2
|
| 1482 |
+
train_10188_a_1
|
| 1483 |
+
train_10188_a_2
|
| 1484 |
+
train_10207_a_1
|
| 1485 |
+
train_10207_a_2
|
| 1486 |
+
train_10207_b_1
|
| 1487 |
+
train_10207_b_2
|
| 1488 |
+
train_10209_a_1
|
| 1489 |
+
train_10209_a_2
|
| 1490 |
+
train_10226_a_1
|
| 1491 |
+
train_10226_a_2
|
| 1492 |
+
train_10229_a_1
|
| 1493 |
+
train_10229_a_2
|
| 1494 |
+
train_10246_a_1
|
| 1495 |
+
train_10246_a_2
|
| 1496 |
+
train_10246_b_1
|
| 1497 |
+
train_10246_b_2
|
| 1498 |
+
train_10265_a_1
|
| 1499 |
+
train_10265_a_2
|
| 1500 |
+
train_10269_a_1
|
| 1501 |
+
train_10272_a_1
|
| 1502 |
+
train_10272_a_2
|
| 1503 |
+
train_10281_a_1
|
| 1504 |
+
train_10281_a_2
|
| 1505 |
+
train_10284_a_1
|
| 1506 |
+
train_10284_a_2
|
| 1507 |
+
train_10291_a_1
|
| 1508 |
+
train_10291_a_2
|
| 1509 |
+
train_10296_a_1
|
| 1510 |
+
train_10296_a_2
|
| 1511 |
+
train_10296_b_1
|
| 1512 |
+
train_10296_b_2
|
| 1513 |
+
train_10320_a_1
|
| 1514 |
+
train_10320_a_2
|
| 1515 |
+
train_10364_a_1
|
| 1516 |
+
train_10364_a_2
|
| 1517 |
+
train_10370_a_1
|
| 1518 |
+
train_10370_a_2
|
| 1519 |
+
train_10387_a_1
|
| 1520 |
+
train_10387_a_2
|
| 1521 |
+
train_10387_b_1
|
| 1522 |
+
train_10387_b_2
|
| 1523 |
+
train_10411_a_1
|
| 1524 |
+
train_10419_a_1
|
| 1525 |
+
train_10419_a_2
|
| 1526 |
+
train_10431_a_1
|
| 1527 |
+
train_10431_a_2
|
| 1528 |
+
train_10433_a_1
|
| 1529 |
+
train_10433_a_2
|
| 1530 |
+
train_10448_a_1
|
| 1531 |
+
train_10448_a_2
|
| 1532 |
+
train_10454_a_1
|
| 1533 |
+
train_10454_a_2
|
| 1534 |
+
train_10454_b_1
|
| 1535 |
+
train_10454_b_2
|
| 1536 |
+
train_10460_a_1
|
| 1537 |
+
train_10460_a_2
|
| 1538 |
+
train_10476_a_1
|
| 1539 |
+
train_10476_a_2
|
| 1540 |
+
train_10476_b_1
|
| 1541 |
+
train_10476_b_2
|
| 1542 |
+
train_10486_a_1
|
| 1543 |
+
train_10486_a_2
|
| 1544 |
+
train_10499_a_1
|
| 1545 |
+
train_10545_a_1
|
| 1546 |
+
train_10545_a_2
|
| 1547 |
+
train_10562_a_1
|
| 1548 |
+
train_10562_a_2
|
| 1549 |
+
train_10594_a_1
|
| 1550 |
+
train_10594_a_2
|
| 1551 |
+
train_10601_a_1
|
| 1552 |
+
train_10601_a_2
|
| 1553 |
+
train_10601_a_3
|
| 1554 |
+
train_10603_a_1
|
| 1555 |
+
train_10603_a_2
|
| 1556 |
+
train_10607_a_1
|
| 1557 |
+
train_10635_a_1
|
| 1558 |
+
train_10635_a_2
|
| 1559 |
+
train_10641_a_1
|
| 1560 |
+
train_10641_a_2
|
| 1561 |
+
train_10641_b_1
|
| 1562 |
+
train_10641_b_2
|
| 1563 |
+
train_10641_c_1
|
| 1564 |
+
train_10641_c_2
|
| 1565 |
+
train_10641_d_1
|
| 1566 |
+
train_10641_d_2
|
| 1567 |
+
train_10641_e_1
|
| 1568 |
+
train_10641_e_2
|
| 1569 |
+
train_10641_f_1
|
| 1570 |
+
train_10641_f_2
|
| 1571 |
+
train_10641_g_1
|
| 1572 |
+
train_10641_g_2
|
| 1573 |
+
train_10641_h_1
|
| 1574 |
+
train_10641_h_2
|
| 1575 |
+
train_10646_a_1
|
| 1576 |
+
train_10646_a_2
|
| 1577 |
+
train_10646_b_1
|
| 1578 |
+
train_10646_b_2
|
| 1579 |
+
train_10714_a_1
|
| 1580 |
+
train_10714_a_2
|
| 1581 |
+
train_10721_a_1
|
| 1582 |
+
train_10721_a_2
|
| 1583 |
+
train_10724_a_1
|
| 1584 |
+
train_10724_a_2
|
| 1585 |
+
train_10743_a_1
|
| 1586 |
+
train_10743_a_2
|
| 1587 |
+
train_10746_a_1
|
| 1588 |
+
train_10746_a_2
|
| 1589 |
+
train_10751_a_1
|
| 1590 |
+
train_10751_a_2
|
| 1591 |
+
train_10765_a_1
|
| 1592 |
+
train_10765_a_2
|
| 1593 |
+
train_10784_a_1
|
| 1594 |
+
train_10784_a_2
|
| 1595 |
+
train_10784_b_1
|
| 1596 |
+
train_10784_b_2
|
| 1597 |
+
train_10784_c_1
|
| 1598 |
+
train_10784_c_2
|
| 1599 |
+
train_10784_d_1
|
| 1600 |
+
train_10784_d_2
|
| 1601 |
+
train_10785_a_1
|
| 1602 |
+
train_10785_a_2
|
| 1603 |
+
train_10801_a_1
|
| 1604 |
+
train_10801_a_2
|
| 1605 |
+
train_10812_a_1
|
| 1606 |
+
train_10812_a_2
|
| 1607 |
+
train_10821_a_1
|
| 1608 |
+
train_10821_b_1
|
| 1609 |
+
train_10821_b_2
|
| 1610 |
+
train_10848_a_1
|
| 1611 |
+
train_10848_a_2
|
| 1612 |
+
train_10864_a_1
|
| 1613 |
+
train_10887_a_1
|
| 1614 |
+
train_10887_a_2
|
| 1615 |
+
train_10903_a_1
|
| 1616 |
+
train_10903_a_2
|
| 1617 |
+
train_10928_a_1
|
| 1618 |
+
train_10928_a_2
|
| 1619 |
+
train_10955_a_1
|
| 1620 |
+
train_10955_a_2
|
| 1621 |
+
train_10970_a_1
|
| 1622 |
+
train_10970_a_2
|
| 1623 |
+
train_11008_a_1
|
| 1624 |
+
train_11008_a_2
|
| 1625 |
+
train_11027_a_1
|
| 1626 |
+
train_11027_a_2
|
| 1627 |
+
train_11034_a_1
|
| 1628 |
+
train_11034_a_2
|
| 1629 |
+
train_11042_a_1
|
| 1630 |
+
train_11042_a_2
|
| 1631 |
+
train_11043_a_1
|
| 1632 |
+
train_11043_a_2
|
| 1633 |
+
train_11049_a_1
|
| 1634 |
+
train_11049_a_2
|
| 1635 |
+
train_11057_a_1
|
| 1636 |
+
train_11057_a_2
|
| 1637 |
+
train_11069_a_1
|
| 1638 |
+
train_11069_a_2
|
| 1639 |
+
train_11070_a_1
|
| 1640 |
+
train_11112_a_1
|
| 1641 |
+
train_11112_a_2
|
| 1642 |
+
train_11123_a_1
|
| 1643 |
+
train_11126_a_1
|
| 1644 |
+
train_11126_a_2
|
| 1645 |
+
train_11127_a_1
|
| 1646 |
+
train_11127_a_2
|
| 1647 |
+
train_11127_b_1
|
| 1648 |
+
train_11127_b_2
|
| 1649 |
+
train_11137_a_1
|
| 1650 |
+
train_11137_a_2
|
| 1651 |
+
train_11137_b_1
|
| 1652 |
+
train_11137_b_2
|
| 1653 |
+
train_11145_a_1
|
| 1654 |
+
train_11145_a_2
|
| 1655 |
+
train_11158_a_1
|
| 1656 |
+
train_11158_a_2
|
| 1657 |
+
train_11159_a_1
|
| 1658 |
+
train_11177_a_1
|
| 1659 |
+
train_11177_a_2
|
| 1660 |
+
train_11177_b_1
|
| 1661 |
+
train_11177_b_2
|
| 1662 |
+
train_11179_a_1
|
| 1663 |
+
train_11179_a_2
|
| 1664 |
+
train_11191_a_1
|
| 1665 |
+
train_11193_a_1
|
| 1666 |
+
train_11193_a_2
|
| 1667 |
+
train_11196_a_1
|
| 1668 |
+
train_11196_a_2
|
| 1669 |
+
train_11197_a_1
|
| 1670 |
+
train_11197_a_2
|
| 1671 |
+
train_11211_a_1
|
| 1672 |
+
train_11211_a_2
|
| 1673 |
+
train_11212_a_1
|
| 1674 |
+
train_11212_a_2
|
| 1675 |
+
train_11223_a_1
|
| 1676 |
+
train_11223_a_2
|
| 1677 |
+
train_11234_a_1
|
| 1678 |
+
train_11234_a_2
|
| 1679 |
+
train_11236_a_1
|
| 1680 |
+
train_11236_a_2
|
| 1681 |
+
train_11239_a_1
|
| 1682 |
+
train_11242_a_1
|
| 1683 |
+
train_11242_a_2
|
| 1684 |
+
train_11245_a_1
|
| 1685 |
+
train_11245_a_2
|
| 1686 |
+
train_11269_a_1
|
| 1687 |
+
train_11269_a_2
|
| 1688 |
+
train_11283_a_1
|
| 1689 |
+
train_11283_a_2
|
| 1690 |
+
train_11305_a_1
|
| 1691 |
+
train_11313_a_1
|
| 1692 |
+
train_11313_a_2
|
| 1693 |
+
train_11323_a_1
|
| 1694 |
+
train_11323_a_2
|
| 1695 |
+
train_11331_a_1
|
| 1696 |
+
train_11331_a_2
|
| 1697 |
+
train_11345_a_1
|
| 1698 |
+
train_11345_a_2
|
| 1699 |
+
train_11361_a_1
|
| 1700 |
+
train_11361_a_2
|
| 1701 |
+
train_11377_a_1
|
| 1702 |
+
train_11385_a_1
|
| 1703 |
+
train_11385_a_2
|
| 1704 |
+
train_11398_a_1
|
| 1705 |
+
train_11398_a_2
|
| 1706 |
+
train_11420_a_1
|
| 1707 |
+
train_11420_a_2
|
| 1708 |
+
train_11465_a_1
|
| 1709 |
+
train_11465_a_2
|
| 1710 |
+
train_11466_a_3
|
| 1711 |
+
train_11466_a_5
|
| 1712 |
+
train_11468_a_1
|
| 1713 |
+
train_11468_a_2
|
| 1714 |
+
train_11506_a_1
|
| 1715 |
+
train_11506_a_2
|
| 1716 |
+
train_11509_a_1
|
| 1717 |
+
train_11509_a_2
|
| 1718 |
+
train_11543_a_1
|
| 1719 |
+
train_11543_a_2
|
| 1720 |
+
train_11548_a_1
|
| 1721 |
+
train_11548_a_2
|
| 1722 |
+
train_11589_a_1
|
| 1723 |
+
train_11589_a_2
|
| 1724 |
+
train_11635_a_1
|
| 1725 |
+
train_11635_a_2
|
| 1726 |
+
train_11679_a_1
|
| 1727 |
+
train_11679_a_2
|
| 1728 |
+
train_11679_b_1
|
| 1729 |
+
train_11679_b_2
|
| 1730 |
+
train_11679_c_1
|
| 1731 |
+
train_11679_c_2
|
| 1732 |
+
train_11703_a_1
|
| 1733 |
+
train_11713_a_1
|
| 1734 |
+
train_11713_a_2
|
| 1735 |
+
train_11743_a_1
|
| 1736 |
+
train_11743_a_2
|
| 1737 |
+
train_11772_a_1
|
| 1738 |
+
train_11772_a_2
|
| 1739 |
+
train_11774_a_1
|
| 1740 |
+
train_11774_a_2
|
| 1741 |
+
train_11774_b_1
|
| 1742 |
+
train_11774_b_2
|
| 1743 |
+
train_11799_a_1
|
| 1744 |
+
train_11799_b_1
|
| 1745 |
+
train_11799_b_2
|
| 1746 |
+
train_11799_c_1
|
| 1747 |
+
train_11799_c_2
|
| 1748 |
+
train_11799_d_1
|
| 1749 |
+
train_11799_d_2
|
| 1750 |
+
train_11799_e_1
|
| 1751 |
+
train_11799_e_2
|
| 1752 |
+
train_11799_f_1
|
| 1753 |
+
train_11799_f_2
|
| 1754 |
+
train_11800_a_1
|
| 1755 |
+
train_11800_a_2
|
| 1756 |
+
train_11806_a_1
|
| 1757 |
+
train_11806_a_2
|
| 1758 |
+
train_11831_a_1
|
| 1759 |
+
train_11831_a_2
|
| 1760 |
+
train_11834_a_1
|
| 1761 |
+
train_11834_a_2
|
| 1762 |
+
train_11838_a_1
|
| 1763 |
+
train_11838_a_2
|
| 1764 |
+
train_11853_a_1
|
| 1765 |
+
train_11853_a_2
|
| 1766 |
+
train_11855_a_1
|
| 1767 |
+
train_11855_a_2
|
| 1768 |
+
train_11864_a_1
|
| 1769 |
+
train_11864_a_2
|
| 1770 |
+
train_11876_a_1
|
| 1771 |
+
train_11876_a_2
|
| 1772 |
+
train_11881_a_1
|
| 1773 |
+
train_11881_a_2
|
| 1774 |
+
train_11882_a_1
|
| 1775 |
+
train_11882_a_2
|
| 1776 |
+
train_11882_b_1
|
| 1777 |
+
train_11882_b_2
|
| 1778 |
+
train_11908_a_1
|
| 1779 |
+
train_11908_a_2
|
| 1780 |
+
train_11908_b_1
|
| 1781 |
+
train_11908_b_2
|
| 1782 |
+
train_11921_a_1
|
| 1783 |
+
train_11933_a_1
|
| 1784 |
+
train_11933_a_2
|
| 1785 |
+
train_11955_a_1
|
| 1786 |
+
train_11955_a_2
|
| 1787 |
+
train_11958_a_1
|
| 1788 |
+
train_11958_a_2
|
| 1789 |
+
train_11960_a_1
|
| 1790 |
+
train_11960_a_2
|
| 1791 |
+
train_12005_a_1
|
| 1792 |
+
train_12005_a_2
|
| 1793 |
+
train_12005_b_1
|
| 1794 |
+
train_12005_b_2
|
| 1795 |
+
train_12005_c_1
|
| 1796 |
+
train_12005_c_2
|
| 1797 |
+
train_12034_a_1
|
| 1798 |
+
train_12034_a_2
|
| 1799 |
+
train_12034_b_1
|
| 1800 |
+
train_12034_b_2
|
| 1801 |
+
train_12034_c_1
|
| 1802 |
+
train_12034_c_2
|
| 1803 |
+
train_12034_d_1
|
| 1804 |
+
train_12034_d_2
|
| 1805 |
+
train_12043_a_1
|
| 1806 |
+
train_12043_a_2
|
| 1807 |
+
train_12061_a_1
|
| 1808 |
+
train_12061_a_2
|
| 1809 |
+
train_12069_a_1
|
| 1810 |
+
train_12069_a_2
|
| 1811 |
+
train_12071_a_1
|
| 1812 |
+
train_12071_a_2
|
| 1813 |
+
train_12075_a_1
|
| 1814 |
+
train_12075_a_2
|
| 1815 |
+
train_12077_a_1
|
| 1816 |
+
train_12077_a_2
|
| 1817 |
+
train_12088_a_1
|
| 1818 |
+
train_12088_a_2
|
| 1819 |
+
train_12130_a_1
|
| 1820 |
+
train_12130_a_2
|
| 1821 |
+
train_12156_a_1
|
| 1822 |
+
train_12156_a_2
|
| 1823 |
+
train_12172_a_1
|
| 1824 |
+
train_12172_a_2
|
| 1825 |
+
train_12219_a_1
|
| 1826 |
+
train_12219_a_2
|
| 1827 |
+
train_12219_b_1
|
| 1828 |
+
train_12219_b_2
|
| 1829 |
+
train_12252_a_1
|
| 1830 |
+
train_12272_a_1
|
| 1831 |
+
train_12272_a_2
|
| 1832 |
+
train_12296_a_1
|
| 1833 |
+
train_12296_a_2
|
| 1834 |
+
train_12311_a_1
|
| 1835 |
+
train_12311_a_2
|
| 1836 |
+
train_12313_a_1
|
| 1837 |
+
train_12313_a_2
|
| 1838 |
+
train_12320_a_1
|
| 1839 |
+
train_12320_a_2
|
| 1840 |
+
train_12346_a_1
|
| 1841 |
+
train_12360_a_1
|
| 1842 |
+
train_12360_a_2
|
| 1843 |
+
train_12364_a_1
|
| 1844 |
+
train_12364_a_2
|
| 1845 |
+
train_12364_b_1
|
| 1846 |
+
train_12364_b_2
|
| 1847 |
+
train_12370_a_1
|
| 1848 |
+
train_12370_a_2
|
| 1849 |
+
train_12379_a_1
|
| 1850 |
+
train_12379_a_2
|
| 1851 |
+
train_12379_b_1
|
| 1852 |
+
train_12379_b_2
|
| 1853 |
+
train_12380_a_1
|
| 1854 |
+
train_12380_a_2
|
| 1855 |
+
train_12380_b_1
|
| 1856 |
+
train_12380_b_2
|
| 1857 |
+
train_12397_a_1
|
| 1858 |
+
train_12397_a_2
|
| 1859 |
+
train_12398_a_1
|
| 1860 |
+
train_12398_a_2
|
| 1861 |
+
train_12398_b_1
|
| 1862 |
+
train_12398_b_2
|
| 1863 |
+
train_12400_a_1
|
| 1864 |
+
train_12404_a_1
|
| 1865 |
+
train_12404_a_2
|
| 1866 |
+
train_12427_a_1
|
| 1867 |
+
train_12427_a_2
|
| 1868 |
+
train_12465_a_1
|
| 1869 |
+
train_12465_a_2
|
| 1870 |
+
train_12476_a_1
|
| 1871 |
+
train_12476_a_2
|
| 1872 |
+
train_12476_b_1
|
| 1873 |
+
train_12476_b_2
|
| 1874 |
+
train_12476_c_1
|
| 1875 |
+
train_12476_c_2
|
| 1876 |
+
train_12491_a_1
|
| 1877 |
+
train_12491_a_2
|
| 1878 |
+
train_12491_b_1
|
| 1879 |
+
train_12491_b_2
|
| 1880 |
+
train_12494_a_1
|
| 1881 |
+
train_12494_a_2
|
| 1882 |
+
train_12495_a_1
|
| 1883 |
+
train_12495_a_2
|
| 1884 |
+
train_12511_a_1
|
| 1885 |
+
train_12511_a_2
|
| 1886 |
+
train_12522_a_1
|
| 1887 |
+
train_12522_a_2
|
| 1888 |
+
train_12522_b_1
|
| 1889 |
+
train_12522_b_2
|
| 1890 |
+
train_12522_c_1
|
| 1891 |
+
train_12522_c_2
|
| 1892 |
+
train_12549_a_1
|
| 1893 |
+
train_12549_a_2
|
| 1894 |
+
train_12552_a_1
|
| 1895 |
+
train_12552_a_2
|
| 1896 |
+
train_12561_a_1
|
| 1897 |
+
train_12561_a_2
|
| 1898 |
+
train_12640_a_1
|
| 1899 |
+
train_12647_a_1
|
| 1900 |
+
train_12647_a_2
|
| 1901 |
+
train_12670_a_1
|
| 1902 |
+
train_12670_a_2
|
| 1903 |
+
train_12671_a_1
|
| 1904 |
+
train_12671_a_2
|
| 1905 |
+
train_12683_a_1
|
| 1906 |
+
train_12688_a_1
|
| 1907 |
+
train_12688_a_2
|
| 1908 |
+
train_12698_a_1
|
| 1909 |
+
train_12698_a_2
|
| 1910 |
+
train_12727_a_1
|
| 1911 |
+
train_12727_a_2
|
| 1912 |
+
train_12749_a_1
|
| 1913 |
+
train_12749_a_2
|
| 1914 |
+
train_12755_a_1
|
| 1915 |
+
train_12755_a_2
|
| 1916 |
+
train_12761_a_1
|
| 1917 |
+
train_12761_a_2
|
| 1918 |
+
train_12761_b_1
|
| 1919 |
+
train_12761_b_2
|
| 1920 |
+
train_12761_c_1
|
| 1921 |
+
train_12761_c_2
|
| 1922 |
+
train_12795_a_1
|
| 1923 |
+
train_12795_a_2
|
| 1924 |
+
train_12882_a_1
|
| 1925 |
+
train_12882_a_2
|
| 1926 |
+
train_12890_a_1
|
| 1927 |
+
train_12890_a_2
|
| 1928 |
+
train_12910_a_1
|
| 1929 |
+
train_12910_a_2
|
| 1930 |
+
train_12914_a_1
|
| 1931 |
+
train_12914_a_2
|
| 1932 |
+
train_12914_b_1
|
| 1933 |
+
train_12914_b_2
|
| 1934 |
+
train_12914_c_1
|
| 1935 |
+
train_12914_c_2
|
| 1936 |
+
train_12923_a_1
|
| 1937 |
+
train_12923_a_2
|
| 1938 |
+
train_12923_b_1
|
| 1939 |
+
train_12923_b_2
|
| 1940 |
+
train_12952_a_1
|
| 1941 |
+
train_12952_a_2
|
| 1942 |
+
train_12965_a_1
|
| 1943 |
+
train_12965_a_2
|
| 1944 |
+
train_12968_a_1
|
| 1945 |
+
train_12968_a_2
|
| 1946 |
+
train_12974_a_1
|
| 1947 |
+
train_12974_a_2
|
| 1948 |
+
train_12974_b_1
|
| 1949 |
+
train_12974_b_2
|
| 1950 |
+
train_12974_c_1
|
| 1951 |
+
train_12974_c_2
|
| 1952 |
+
train_12974_d_1
|
| 1953 |
+
train_12974_d_2
|
| 1954 |
+
train_12991_a_1
|
| 1955 |
+
train_12991_a_2
|
| 1956 |
+
train_13006_a_1
|
| 1957 |
+
train_13006_a_2
|
| 1958 |
+
train_13015_a_1
|
| 1959 |
+
train_13015_a_2
|
| 1960 |
+
train_13015_b_1
|
| 1961 |
+
train_13015_b_2
|
| 1962 |
+
train_13022_a_1
|
| 1963 |
+
train_13022_a_2
|
| 1964 |
+
train_13054_a_1
|
| 1965 |
+
train_13083_a_1
|
| 1966 |
+
train_13083_a_2
|
| 1967 |
+
train_13087_a_1
|
| 1968 |
+
train_13087_a_2
|
| 1969 |
+
train_13102_a_1
|
| 1970 |
+
train_13102_a_2
|
| 1971 |
+
train_13102_b_1
|
| 1972 |
+
train_13102_b_2
|
| 1973 |
+
train_13107_a_1
|
| 1974 |
+
train_13107_a_2
|
| 1975 |
+
train_13161_a_1
|
| 1976 |
+
train_13161_a_2
|
| 1977 |
+
train_13183_a_1
|
| 1978 |
+
train_13183_a_2
|
| 1979 |
+
train_13200_a_1
|
| 1980 |
+
train_13200_a_2
|
| 1981 |
+
train_13201_a_1
|
| 1982 |
+
train_13201_a_2
|
| 1983 |
+
train_13213_a_1
|
| 1984 |
+
train_13213_a_2
|
| 1985 |
+
train_13243_a_1
|
| 1986 |
+
train_13243_a_2
|
| 1987 |
+
train_13243_b_1
|
| 1988 |
+
train_13243_b_2
|
| 1989 |
+
train_13266_a_1
|
| 1990 |
+
train_13266_a_2
|
| 1991 |
+
train_13271_a_1
|
| 1992 |
+
train_13271_a_2
|
| 1993 |
+
train_13305_a_1
|
| 1994 |
+
train_13305_a_2
|
| 1995 |
+
train_13311_a_1
|
| 1996 |
+
train_13311_a_2
|
| 1997 |
+
train_13343_a_1
|
| 1998 |
+
train_13343_a_2
|
| 1999 |
+
train_13373_a_1
|
| 2000 |
+
train_13373_a_2
|
| 2001 |
+
train_13386_a_1
|
| 2002 |
+
train_13386_a_2
|
| 2003 |
+
train_13386_b_1
|
| 2004 |
+
train_13386_b_2
|
| 2005 |
+
train_13392_a_1
|
| 2006 |
+
train_13392_a_2
|
| 2007 |
+
train_13411_a_1
|
| 2008 |
+
train_13411_a_2
|
| 2009 |
+
train_13418_a_1
|
| 2010 |
+
train_13418_a_2
|
| 2011 |
+
train_13419_a_1
|
| 2012 |
+
train_13419_a_2
|
| 2013 |
+
train_13419_b_1
|
| 2014 |
+
train_13423_a_1
|
| 2015 |
+
train_13423_a_2
|
| 2016 |
+
train_13452_a_1
|
| 2017 |
+
train_13452_a_2
|
| 2018 |
+
train_13454_a_1
|
| 2019 |
+
train_13454_a_2
|
| 2020 |
+
train_13481_a_1
|
| 2021 |
+
train_13481_a_2
|
| 2022 |
+
train_13483_a_1
|
| 2023 |
+
train_13483_a_2
|
| 2024 |
+
train_13485_a_1
|
| 2025 |
+
train_13485_a_2
|
| 2026 |
+
train_13485_b_1
|
| 2027 |
+
train_13485_b_2
|
| 2028 |
+
train_13504_a_1
|
| 2029 |
+
train_13504_a_2
|
| 2030 |
+
train_13528_a_1
|
| 2031 |
+
train_13528_a_2
|
| 2032 |
+
train_13528_b_1
|
| 2033 |
+
train_13528_b_2
|
| 2034 |
+
train_13537_a_1
|
| 2035 |
+
train_13537_a_2
|
| 2036 |
+
train_13552_a_1
|
| 2037 |
+
train_13552_a_2
|
| 2038 |
+
train_13552_b_1
|
| 2039 |
+
train_13552_b_2
|
| 2040 |
+
train_13561_a_1
|
| 2041 |
+
train_13561_a_2
|
| 2042 |
+
train_13578_a_1
|
| 2043 |
+
train_13578_a_2
|
| 2044 |
+
train_13583_a_1
|
| 2045 |
+
train_13583_a_2
|
| 2046 |
+
train_13583_b_1
|
| 2047 |
+
train_13583_b_2
|
| 2048 |
+
train_13583_c_1
|
| 2049 |
+
train_13583_c_2
|
| 2050 |
+
train_13583_d_1
|
| 2051 |
+
train_13583_d_2
|
| 2052 |
+
train_13613_a_1
|
| 2053 |
+
train_13613_a_2
|
| 2054 |
+
train_13613_b_1
|
| 2055 |
+
train_13613_b_2
|
| 2056 |
+
train_13630_a_1
|
| 2057 |
+
train_13630_a_2
|
| 2058 |
+
train_13634_a_1
|
| 2059 |
+
train_13634_a_2
|
| 2060 |
+
train_13651_a_1
|
| 2061 |
+
train_13651_a_2
|
| 2062 |
+
train_13664_a_1
|
| 2063 |
+
train_13664_a_2
|
| 2064 |
+
train_13668_a_1
|
| 2065 |
+
train_13668_a_2
|
| 2066 |
+
train_13679_a_1
|
| 2067 |
+
train_13679_a_2
|
| 2068 |
+
train_13691_a_1
|
| 2069 |
+
train_13691_a_2
|
| 2070 |
+
train_13692_a_1
|
| 2071 |
+
train_13692_a_2
|
| 2072 |
+
train_13709_a_1
|
| 2073 |
+
train_13709_a_2
|
| 2074 |
+
train_13738_a_1
|
| 2075 |
+
train_13738_a_2
|
| 2076 |
+
train_13747_a_1
|
| 2077 |
+
train_13747_a_2
|
| 2078 |
+
train_13753_a_1
|
| 2079 |
+
train_13753_a_2
|
| 2080 |
+
train_13776_a_1
|
| 2081 |
+
train_13776_a_2
|
| 2082 |
+
train_13809_a_1
|
| 2083 |
+
train_13809_a_2
|
| 2084 |
+
train_13821_a_1
|
| 2085 |
+
train_13821_a_2
|
| 2086 |
+
train_13827_a_1
|
| 2087 |
+
train_13837_a_1
|
| 2088 |
+
train_13837_a_2
|
| 2089 |
+
train_13839_a_1
|
| 2090 |
+
train_13839_a_2
|
| 2091 |
+
train_13847_a_1
|
| 2092 |
+
train_13847_a_2
|
| 2093 |
+
train_13892_a_1
|
| 2094 |
+
train_13892_a_2
|
| 2095 |
+
train_13895_a_1
|
| 2096 |
+
train_13895_b_1
|
| 2097 |
+
train_13899_a_1
|
| 2098 |
+
train_13899_a_2
|
| 2099 |
+
train_13900_a_1
|
| 2100 |
+
train_13900_a_2
|
| 2101 |
+
train_13907_a_1
|
| 2102 |
+
train_13907_a_2
|
| 2103 |
+
train_13911_a_1
|
| 2104 |
+
train_13932_a_1
|
| 2105 |
+
train_13932_a_2
|
| 2106 |
+
train_13962_a_1
|
| 2107 |
+
train_13962_a_2
|
| 2108 |
+
train_13975_a_1
|
| 2109 |
+
train_13975_a_2
|
| 2110 |
+
train_13997_a_1
|
| 2111 |
+
train_13997_a_2
|
| 2112 |
+
train_14003_a_1
|
| 2113 |
+
train_14046_a_1
|
| 2114 |
+
train_14046_a_2
|
| 2115 |
+
train_14046_b_1
|
| 2116 |
+
train_14046_b_2
|
| 2117 |
+
train_14050_a_1
|
| 2118 |
+
train_14050_a_2
|
| 2119 |
+
train_14061_a_1
|
| 2120 |
+
train_14061_a_2
|
| 2121 |
+
train_14074_a_1
|
| 2122 |
+
train_14074_a_2
|
| 2123 |
+
train_14080_a_1
|
| 2124 |
+
train_14104_a_1
|
| 2125 |
+
train_14104_a_2
|
| 2126 |
+
train_14104_b_1
|
| 2127 |
+
train_14112_a_1
|
| 2128 |
+
train_14119_a_1
|
| 2129 |
+
train_14119_a_2
|
| 2130 |
+
train_14138_a_1
|
| 2131 |
+
train_14138_a_2
|
| 2132 |
+
train_14138_b_1
|
| 2133 |
+
train_14138_b_2
|
| 2134 |
+
train_14146_a_1
|
| 2135 |
+
train_14146_a_2
|
| 2136 |
+
train_14149_a_1
|
| 2137 |
+
train_14149_a_2
|
| 2138 |
+
train_14153_a_1
|
| 2139 |
+
train_14153_a_2
|
| 2140 |
+
train_14177_a_1
|
| 2141 |
+
train_14177_a_2
|
| 2142 |
+
train_14177_b_1
|
| 2143 |
+
train_14177_b_2
|
| 2144 |
+
train_14182_a_1
|
| 2145 |
+
train_14182_a_2
|
| 2146 |
+
train_14187_a_1
|
| 2147 |
+
train_14187_a_2
|
| 2148 |
+
train_14194_a_1
|
| 2149 |
+
train_14194_a_2
|
| 2150 |
+
train_14201_a_1
|
| 2151 |
+
train_14201_a_2
|
| 2152 |
+
train_14209_a_1
|
| 2153 |
+
train_14209_a_2
|
| 2154 |
+
train_14209_b_1
|
| 2155 |
+
train_14209_b_2
|
| 2156 |
+
train_14223_a_1
|
| 2157 |
+
train_14223_a_2
|
| 2158 |
+
train_14294_a_1
|
| 2159 |
+
train_14294_a_2
|
| 2160 |
+
train_14313_a_1
|
| 2161 |
+
train_14313_a_2
|
| 2162 |
+
train_14330_a_1
|
| 2163 |
+
train_14330_a_2
|
| 2164 |
+
train_14331_a_1
|
| 2165 |
+
train_14331_b_1
|
| 2166 |
+
train_14331_b_2
|
| 2167 |
+
train_14347_a_1
|
| 2168 |
+
train_14347_a_2
|
| 2169 |
+
train_14348_a_1
|
| 2170 |
+
train_14363_a_1
|
| 2171 |
+
train_14363_a_2
|
| 2172 |
+
train_14368_a_1
|
| 2173 |
+
train_14368_a_2
|
| 2174 |
+
train_14373_a_1
|
| 2175 |
+
train_14373_a_2
|
| 2176 |
+
train_14374_a_1
|
| 2177 |
+
train_14374_a_2
|
| 2178 |
+
train_14387_a_1
|
| 2179 |
+
train_14387_a_2
|
| 2180 |
+
train_14404_a_1
|
| 2181 |
+
train_14404_a_2
|
| 2182 |
+
train_14408_a_1
|
| 2183 |
+
train_14408_a_2
|
| 2184 |
+
train_14423_a_1
|
| 2185 |
+
train_14423_a_2
|
| 2186 |
+
train_14423_b_1
|
| 2187 |
+
train_14423_b_2
|
| 2188 |
+
train_14445_a_1
|
| 2189 |
+
train_14445_a_2
|
| 2190 |
+
train_14451_a_1
|
| 2191 |
+
train_14451_a_2
|
| 2192 |
+
train_14458_a_1
|
| 2193 |
+
train_14458_a_2
|
| 2194 |
+
train_14460_a_1
|
| 2195 |
+
train_14460_a_2
|
| 2196 |
+
train_14462_a_1
|
| 2197 |
+
train_14462_a_2
|
| 2198 |
+
train_14511_a_1
|
| 2199 |
+
train_14522_a_1
|
| 2200 |
+
train_14533_a_1
|
| 2201 |
+
train_14533_a_2
|
| 2202 |
+
train_14536_a_1
|
| 2203 |
+
train_14536_a_2
|
| 2204 |
+
train_14552_a_1
|
| 2205 |
+
train_14552_a_2
|
| 2206 |
+
train_14577_a_1
|
| 2207 |
+
train_14577_a_2
|
| 2208 |
+
train_14579_a_1
|
| 2209 |
+
train_14579_a_2
|
| 2210 |
+
train_14589_a_1
|
| 2211 |
+
train_14589_a_2
|
| 2212 |
+
train_14596_a_1
|
| 2213 |
+
train_14596_a_2
|
| 2214 |
+
train_14602_a_1
|
| 2215 |
+
train_14602_a_2
|
| 2216 |
+
train_14603_a_1
|
| 2217 |
+
train_14603_a_2
|
| 2218 |
+
train_14605_a_1
|
| 2219 |
+
train_14605_a_2
|
| 2220 |
+
train_14610_a_1
|
| 2221 |
+
train_14610_a_2
|
| 2222 |
+
train_14649_a_1
|
| 2223 |
+
train_14649_a_2
|
| 2224 |
+
train_14664_a_1
|
| 2225 |
+
train_14673_a_1
|
| 2226 |
+
train_14673_a_2
|
| 2227 |
+
train_14719_a_1
|
| 2228 |
+
train_14719_a_2
|
| 2229 |
+
train_14737_a_1
|
| 2230 |
+
train_14737_a_2
|
| 2231 |
+
train_14774_a_1
|
| 2232 |
+
train_14774_a_2
|
| 2233 |
+
train_14784_a_1
|
| 2234 |
+
train_14784_a_2
|
| 2235 |
+
train_14786_a_1
|
| 2236 |
+
train_14786_a_2
|
| 2237 |
+
train_14792_a_1
|
| 2238 |
+
train_14792_a_2
|
| 2239 |
+
train_14800_a_1
|
| 2240 |
+
train_14800_a_2
|
| 2241 |
+
train_14806_a_1
|
| 2242 |
+
train_14806_a_2
|
| 2243 |
+
train_14821_a_1
|
| 2244 |
+
train_14821_a_2
|
| 2245 |
+
train_14829_a_1
|
| 2246 |
+
train_14829_a_2
|
| 2247 |
+
train_14830_a_1
|
| 2248 |
+
train_14830_a_2
|
| 2249 |
+
train_14830_b_1
|
| 2250 |
+
train_14830_b_2
|
| 2251 |
+
train_14849_a_1
|
| 2252 |
+
train_14849_a_2
|
| 2253 |
+
train_14884_a_1
|
| 2254 |
+
train_14884_a_2
|
| 2255 |
+
train_14910_a_1
|
| 2256 |
+
train_14910_a_2
|
| 2257 |
+
train_14960_a_1
|
| 2258 |
+
train_14960_a_2
|
| 2259 |
+
train_14962_a_1
|
| 2260 |
+
train_14962_a_2
|
| 2261 |
+
train_14978_a_1
|
| 2262 |
+
train_14978_a_2
|
| 2263 |
+
train_14995_a_1
|
| 2264 |
+
train_14995_a_2
|
| 2265 |
+
train_15006_a_1
|
| 2266 |
+
train_15006_a_2
|
| 2267 |
+
train_15011_a_1
|
| 2268 |
+
train_15011_a_2
|
| 2269 |
+
train_15025_a_1
|
| 2270 |
+
train_15025_a_2
|
| 2271 |
+
train_15051_a_1
|
| 2272 |
+
train_15051_a_2
|
| 2273 |
+
train_15087_a_1
|
| 2274 |
+
train_15087_a_2
|
| 2275 |
+
train_15110_a_1
|
| 2276 |
+
train_15110_a_2
|
| 2277 |
+
train_15110_b_1
|
| 2278 |
+
train_15110_b_2
|
| 2279 |
+
train_15124_a_1
|
| 2280 |
+
train_15124_a_2
|
| 2281 |
+
train_15150_a_1
|
| 2282 |
+
train_15150_a_2
|
| 2283 |
+
train_15153_a_1
|
| 2284 |
+
train_15153_a_2
|
| 2285 |
+
train_15153_b_1
|
| 2286 |
+
train_15153_b_2
|
| 2287 |
+
train_15153_c_1
|
| 2288 |
+
train_15153_c_2
|
| 2289 |
+
train_15197_a_1
|
| 2290 |
+
train_15197_a_2
|
| 2291 |
+
train_15210_a_1
|
| 2292 |
+
train_15210_a_2
|
| 2293 |
+
train_15215_a_1
|
| 2294 |
+
train_15215_a_2
|
| 2295 |
+
train_15244_a_1
|
| 2296 |
+
train_15244_a_2
|
| 2297 |
+
train_15256_a_1
|
| 2298 |
+
train_15256_a_2
|
| 2299 |
+
train_15294_a_1
|
| 2300 |
+
train_15294_a_2
|
| 2301 |
+
train_15315_a_1
|
| 2302 |
+
train_15315_a_2
|
| 2303 |
+
train_15317_a_1
|
| 2304 |
+
train_15317_a_2
|
| 2305 |
+
train_15364_a_1
|
| 2306 |
+
train_15364_a_2
|
| 2307 |
+
train_15372_a_1
|
| 2308 |
+
train_15372_a_2
|
| 2309 |
+
train_15420_a_1
|
| 2310 |
+
train_15420_a_2
|
| 2311 |
+
train_15422_a_1
|
| 2312 |
+
train_15422_a_2
|
| 2313 |
+
train_15425_a_1
|
| 2314 |
+
train_15425_a_2
|
| 2315 |
+
train_15425_b_1
|
| 2316 |
+
train_15425_b_2
|
| 2317 |
+
train_15453_a_1
|
| 2318 |
+
train_15453_a_2
|
| 2319 |
+
train_15458_a_1
|
| 2320 |
+
train_15458_a_2
|
| 2321 |
+
train_15465_a_1
|
| 2322 |
+
train_15465_a_2
|
| 2323 |
+
train_15468_a_1
|
| 2324 |
+
train_15468_a_2
|
| 2325 |
+
train_15504_a_1
|
| 2326 |
+
train_15505_a_1
|
| 2327 |
+
train_15507_a_1
|
| 2328 |
+
train_15507_a_2
|
| 2329 |
+
train_15512_a_1
|
| 2330 |
+
train_15512_a_2
|
| 2331 |
+
train_15532_a_1
|
| 2332 |
+
train_15532_a_2
|
| 2333 |
+
train_15536_a_1
|
| 2334 |
+
train_15536_a_2
|
| 2335 |
+
train_15542_a_1
|
| 2336 |
+
train_15542_a_2
|
| 2337 |
+
train_15550_a_1
|
| 2338 |
+
train_15550_a_2
|
| 2339 |
+
train_15558_a_1
|
| 2340 |
+
train_15558_a_2
|
| 2341 |
+
train_15558_b_1
|
| 2342 |
+
train_15558_b_2
|
| 2343 |
+
train_15558_c_1
|
| 2344 |
+
train_15558_c_2
|
| 2345 |
+
train_15576_a_1
|
| 2346 |
+
train_15576_a_2
|
| 2347 |
+
train_15583_a_1
|
| 2348 |
+
train_15583_a_2
|
| 2349 |
+
train_15600_a_1
|
| 2350 |
+
train_15600_a_2
|
| 2351 |
+
train_15605_a_1
|
| 2352 |
+
train_15605_a_2
|
| 2353 |
+
train_15605_b_1
|
| 2354 |
+
train_15605_b_2
|
| 2355 |
+
train_15605_c_1
|
| 2356 |
+
train_15605_c_2
|
| 2357 |
+
train_15612_a_1
|
| 2358 |
+
train_15612_a_2
|
| 2359 |
+
train_15614_a_1
|
| 2360 |
+
train_15614_a_2
|
| 2361 |
+
train_15615_a_1
|
| 2362 |
+
train_15615_a_2
|
| 2363 |
+
train_15624_a_1
|
| 2364 |
+
train_15624_a_2
|
| 2365 |
+
train_15632_a_1
|
| 2366 |
+
train_15632_a_2
|
| 2367 |
+
train_15637_a_1
|
| 2368 |
+
train_15637_a_2
|
| 2369 |
+
train_15637_a_4
|
| 2370 |
+
train_15659_a_1
|
| 2371 |
+
train_15659_a_2
|
| 2372 |
+
train_15686_a_1
|
| 2373 |
+
train_15686_a_2
|
| 2374 |
+
train_15734_a_1
|
| 2375 |
+
train_15734_a_2
|
| 2376 |
+
train_15737_a_1
|
| 2377 |
+
train_15737_a_2
|
| 2378 |
+
train_15748_a_1
|
| 2379 |
+
train_15748_a_2
|
| 2380 |
+
train_15784_a_1
|
| 2381 |
+
train_15784_a_2
|
| 2382 |
+
train_15837_a_1
|
| 2383 |
+
train_15837_a_2
|
| 2384 |
+
train_15839_a_1
|
| 2385 |
+
train_15839_a_2
|
| 2386 |
+
train_15852_a_1
|
| 2387 |
+
train_15852_a_2
|
| 2388 |
+
train_15878_a_1
|
| 2389 |
+
train_15931_a_1
|
| 2390 |
+
train_15931_a_2
|
| 2391 |
+
train_15944_a_1
|
| 2392 |
+
train_15944_a_2
|
| 2393 |
+
train_15946_a_1
|
| 2394 |
+
train_15946_a_2
|
| 2395 |
+
train_15955_a_1
|
| 2396 |
+
train_15955_a_2
|
| 2397 |
+
train_15979_a_1
|
| 2398 |
+
train_15979_a_2
|
| 2399 |
+
train_15991_a_1
|
| 2400 |
+
train_15991_a_2
|
| 2401 |
+
train_15991_b_1
|
| 2402 |
+
train_15991_b_2
|
| 2403 |
+
train_15998_a_1
|
| 2404 |
+
train_15998_a_2
|
| 2405 |
+
train_16002_a_1
|
| 2406 |
+
train_16002_a_2
|
| 2407 |
+
train_16013_a_1
|
| 2408 |
+
train_16013_a_2
|
| 2409 |
+
train_16021_a_1
|
| 2410 |
+
train_16021_a_2
|
| 2411 |
+
train_16021_b_1
|
| 2412 |
+
train_16021_b_2
|
| 2413 |
+
train_16028_a_1
|
| 2414 |
+
train_16028_a_2
|
| 2415 |
+
train_16028_b_1
|
| 2416 |
+
train_16028_b_2
|
| 2417 |
+
train_16037_a_1
|
| 2418 |
+
train_16037_a_2
|
| 2419 |
+
train_16065_a_1
|
| 2420 |
+
train_16065_a_2
|
| 2421 |
+
train_16076_a_1
|
| 2422 |
+
train_16076_a_2
|
| 2423 |
+
train_16088_a_1
|
| 2424 |
+
train_16088_a_2
|
| 2425 |
+
train_16105_a_1
|
| 2426 |
+
train_16105_a_2
|
| 2427 |
+
train_16109_a_1
|
| 2428 |
+
train_16109_a_2
|
| 2429 |
+
train_16127_a_1
|
| 2430 |
+
train_16127_a_2
|
| 2431 |
+
train_16131_a_1
|
| 2432 |
+
train_16131_a_2
|
| 2433 |
+
train_16135_a_1
|
| 2434 |
+
train_16135_a_2
|
| 2435 |
+
train_16151_a_1
|
| 2436 |
+
train_16151_a_2
|
| 2437 |
+
train_16158_a_1
|
| 2438 |
+
train_16158_a_2
|
| 2439 |
+
train_16160_a_1
|
| 2440 |
+
train_16160_a_2
|
| 2441 |
+
train_16179_a_1
|
| 2442 |
+
train_16179_a_2
|
| 2443 |
+
train_16208_a_1
|
| 2444 |
+
train_16208_a_2
|
| 2445 |
+
train_16293_a_1
|
| 2446 |
+
train_16293_a_2
|
| 2447 |
+
train_16295_a_1
|
| 2448 |
+
train_16295_a_2
|
| 2449 |
+
train_16344_a_1
|
| 2450 |
+
train_16344_a_2
|
| 2451 |
+
train_16350_a_1
|
| 2452 |
+
train_16365_a_1
|
| 2453 |
+
train_16365_a_2
|
| 2454 |
+
train_16368_a_1
|
| 2455 |
+
train_16368_a_2
|
| 2456 |
+
train_16384_a_1
|
| 2457 |
+
train_16384_a_2
|
| 2458 |
+
train_16384_b_1
|
| 2459 |
+
train_16384_b_2
|
| 2460 |
+
train_16404_a_1
|
| 2461 |
+
train_16404_a_2
|
| 2462 |
+
train_16404_a_3
|
| 2463 |
+
train_16427_a_1
|
| 2464 |
+
train_16427_a_2
|
| 2465 |
+
train_16429_a_1
|
| 2466 |
+
train_16429_a_2
|
| 2467 |
+
train_16429_a_3
|
| 2468 |
+
train_16449_a_1
|
| 2469 |
+
train_16449_a_2
|
| 2470 |
+
train_16488_a_1
|
| 2471 |
+
train_16488_a_2
|
| 2472 |
+
train_16489_a_1
|
| 2473 |
+
train_16489_a_2
|
| 2474 |
+
train_16490_a_1
|
| 2475 |
+
train_16490_b_1
|
| 2476 |
+
train_16490_b_2
|
| 2477 |
+
train_16491_a_1
|
| 2478 |
+
train_16491_a_2
|
| 2479 |
+
train_16491_b_1
|
| 2480 |
+
train_16491_b_2
|
| 2481 |
+
train_16510_a_1
|
| 2482 |
+
train_16510_a_2
|
| 2483 |
+
train_16514_a_1
|
| 2484 |
+
train_16514_a_2
|
| 2485 |
+
train_16517_a_1
|
| 2486 |
+
train_16517_a_2
|
| 2487 |
+
train_16532_a_1
|
| 2488 |
+
train_16532_a_2
|
| 2489 |
+
train_16532_b_1
|
| 2490 |
+
train_16532_b_2
|
| 2491 |
+
train_16536_a_1
|
| 2492 |
+
train_16536_a_2
|
| 2493 |
+
train_16578_a_1
|
| 2494 |
+
train_16578_a_2
|
| 2495 |
+
train_16636_a_1
|
| 2496 |
+
train_16636_a_2
|
| 2497 |
+
train_16657_a_1
|
| 2498 |
+
train_16657_a_2
|
| 2499 |
+
train_16660_a_1
|
| 2500 |
+
train_16660_a_2
|
| 2501 |
+
train_16660_b_1
|
| 2502 |
+
train_16660_b_2
|
| 2503 |
+
train_16684_a_1
|
| 2504 |
+
train_16684_a_2
|
| 2505 |
+
train_16731_a_1
|
| 2506 |
+
train_16731_a_2
|
| 2507 |
+
train_16769_a_1
|
| 2508 |
+
train_16769_a_2
|
| 2509 |
+
train_16771_a_1
|
| 2510 |
+
train_16771_a_2
|
| 2511 |
+
train_16796_a_1
|
| 2512 |
+
train_16796_a_2
|
| 2513 |
+
train_16834_a_1
|
| 2514 |
+
train_16834_a_2
|
| 2515 |
+
train_16851_a_1
|
| 2516 |
+
train_16851_a_2
|
| 2517 |
+
train_16851_b_1
|
| 2518 |
+
train_16851_b_2
|
| 2519 |
+
train_16851_c_1
|
| 2520 |
+
train_16851_c_2
|
| 2521 |
+
train_16866_a_1
|
| 2522 |
+
train_16866_a_2
|
| 2523 |
+
train_16872_a_1
|
| 2524 |
+
train_16872_a_2
|
| 2525 |
+
train_16887_a_1
|
| 2526 |
+
train_16887_a_2
|
| 2527 |
+
train_16887_b_1
|
| 2528 |
+
train_16887_b_2
|
| 2529 |
+
train_16887_c_1
|
| 2530 |
+
train_16887_c_2
|
| 2531 |
+
train_16887_d_1
|
| 2532 |
+
train_16887_d_2
|
| 2533 |
+
train_16888_a_1
|
| 2534 |
+
train_16888_a_2
|
| 2535 |
+
train_16890_a_1
|
| 2536 |
+
train_16938_a_1
|
| 2537 |
+
train_16938_a_2
|
| 2538 |
+
train_16943_a_1
|
| 2539 |
+
train_16943_a_2
|
| 2540 |
+
train_16963_a_1
|
| 2541 |
+
train_16963_a_2
|
| 2542 |
+
train_16978_a_1
|
| 2543 |
+
train_16978_a_2
|
| 2544 |
+
train_16980_a_1
|
| 2545 |
+
train_16980_a_2
|
| 2546 |
+
train_17034_a_1
|
| 2547 |
+
train_17034_a_2
|
| 2548 |
+
train_17044_a_1
|
| 2549 |
+
train_17059_a_1
|
| 2550 |
+
train_17059_a_2
|
| 2551 |
+
train_17067_a_1
|
| 2552 |
+
train_17067_a_2
|
| 2553 |
+
train_17075_a_1
|
| 2554 |
+
train_17109_a_1
|
| 2555 |
+
train_17109_a_2
|
| 2556 |
+
train_17119_a_1
|
| 2557 |
+
train_17119_a_2
|
| 2558 |
+
train_17137_a_1
|
| 2559 |
+
train_17138_a_1
|
| 2560 |
+
train_17138_a_2
|
| 2561 |
+
train_17154_a_1
|
| 2562 |
+
train_17154_a_2
|
| 2563 |
+
train_17165_a_1
|
| 2564 |
+
train_17165_a_2
|
| 2565 |
+
train_17191_a_1
|
| 2566 |
+
train_17191_a_2
|
| 2567 |
+
train_17276_a_1
|
| 2568 |
+
train_17276_a_2
|
| 2569 |
+
train_17310_a_1
|
| 2570 |
+
train_17310_a_2
|
| 2571 |
+
train_17313_a_1
|
| 2572 |
+
train_17313_a_2
|
| 2573 |
+
train_17334_a_1
|
| 2574 |
+
train_17334_a_2
|
| 2575 |
+
train_17342_a_1
|
| 2576 |
+
train_17342_a_2
|
| 2577 |
+
train_17347_a_1
|
| 2578 |
+
train_17363_a_1
|
| 2579 |
+
train_17363_a_2
|
| 2580 |
+
train_17386_a_1
|
| 2581 |
+
train_17386_a_2
|
| 2582 |
+
train_17388_a_1
|
| 2583 |
+
train_17388_a_2
|
| 2584 |
+
train_17391_a_1
|
| 2585 |
+
train_17391_a_2
|
| 2586 |
+
train_17399_a_1
|
| 2587 |
+
train_17408_a_1
|
| 2588 |
+
train_17408_a_2
|
| 2589 |
+
train_17444_a_1
|
| 2590 |
+
train_17444_a_2
|
| 2591 |
+
train_17447_a_1
|
| 2592 |
+
train_17447_a_2
|
| 2593 |
+
train_17448_a_1
|
| 2594 |
+
train_17448_a_2
|
| 2595 |
+
train_17450_a_1
|
| 2596 |
+
train_17450_a_2
|
| 2597 |
+
train_17487_a_1
|
| 2598 |
+
train_17487_a_2
|
| 2599 |
+
train_17502_a_1
|
| 2600 |
+
train_17502_a_2
|
| 2601 |
+
train_17508_a_1
|
| 2602 |
+
train_17508_a_2
|
| 2603 |
+
train_17510_a_1
|
| 2604 |
+
train_17510_a_2
|
| 2605 |
+
train_17533_a_1
|
| 2606 |
+
train_17533_a_2
|
| 2607 |
+
train_17533_b_1
|
| 2608 |
+
train_17533_b_2
|
| 2609 |
+
train_17533_c_1
|
| 2610 |
+
train_17533_c_2
|
| 2611 |
+
train_17562_a_1
|
| 2612 |
+
train_17562_a_2
|
| 2613 |
+
train_17565_a_1
|
| 2614 |
+
train_17565_a_2
|
| 2615 |
+
train_17574_a_1
|
| 2616 |
+
train_17574_a_2
|
| 2617 |
+
train_17596_a_1
|
| 2618 |
+
train_17596_a_2
|
| 2619 |
+
train_17612_a_1
|
| 2620 |
+
train_17613_a_1
|
| 2621 |
+
train_17613_a_2
|
| 2622 |
+
train_17634_a_1
|
| 2623 |
+
train_17634_a_2
|
| 2624 |
+
train_17634_b_1
|
| 2625 |
+
train_17634_b_2
|
| 2626 |
+
train_17641_a_1
|
| 2627 |
+
train_17641_a_2
|
| 2628 |
+
train_17643_a_1
|
| 2629 |
+
train_17643_a_2
|
| 2630 |
+
train_17656_a_1
|
| 2631 |
+
train_17656_a_2
|
| 2632 |
+
train_17664_a_1
|
| 2633 |
+
train_17664_a_2
|
| 2634 |
+
train_17668_a_1
|
| 2635 |
+
train_17668_a_2
|
| 2636 |
+
train_17670_a_1
|
| 2637 |
+
train_17670_a_2
|
| 2638 |
+
train_17680_a_1
|
| 2639 |
+
train_17680_a_2
|
| 2640 |
+
train_17693_a_1
|
| 2641 |
+
train_17693_a_2
|
| 2642 |
+
train_17696_a_1
|
| 2643 |
+
train_17696_a_2
|
| 2644 |
+
train_17725_a_1
|
| 2645 |
+
train_17725_a_2
|
| 2646 |
+
train_17738_a_1
|
| 2647 |
+
train_17738_a_2
|
| 2648 |
+
train_17777_a_1
|
| 2649 |
+
train_17777_a_2
|
| 2650 |
+
train_17836_a_1
|
| 2651 |
+
train_17836_a_2
|
| 2652 |
+
train_17957_a_1
|
| 2653 |
+
train_17963_a_1
|
| 2654 |
+
train_17963_a_2
|
| 2655 |
+
train_17971_a_1
|
| 2656 |
+
train_17971_a_2
|
| 2657 |
+
train_17992_a_1
|
| 2658 |
+
train_17992_a_2
|
| 2659 |
+
train_17992_b_1
|
| 2660 |
+
train_17992_b_2
|
| 2661 |
+
train_18000_a_1
|
| 2662 |
+
train_18000_a_2
|
| 2663 |
+
train_18015_a_1
|
| 2664 |
+
train_18015_a_2
|
| 2665 |
+
train_18033_a_1
|
| 2666 |
+
train_18035_a_1
|
| 2667 |
+
train_18035_a_2
|
| 2668 |
+
train_18050_a_1
|
| 2669 |
+
train_18050_a_2
|
| 2670 |
+
train_18092_a_1
|
| 2671 |
+
train_18092_a_2
|
| 2672 |
+
train_18114_a_1
|
| 2673 |
+
train_18114_a_2
|
| 2674 |
+
train_18126_a_1
|
| 2675 |
+
train_18126_a_2
|
| 2676 |
+
train_18166_a_1
|
| 2677 |
+
train_18166_a_2
|
| 2678 |
+
train_18206_a_1
|
| 2679 |
+
train_18206_a_2
|
| 2680 |
+
train_18208_a_1
|
| 2681 |
+
train_18208_a_2
|
| 2682 |
+
train_18214_a_1
|
| 2683 |
+
train_18214_a_2
|
| 2684 |
+
train_18217_a_1
|
| 2685 |
+
train_18226_a_1
|
| 2686 |
+
train_18226_a_2
|
| 2687 |
+
train_18255_a_1
|
| 2688 |
+
train_18255_a_2
|
| 2689 |
+
train_18258_a_1
|
| 2690 |
+
train_18258_a_2
|
| 2691 |
+
train_18269_a_1
|
| 2692 |
+
train_18269_a_2
|
| 2693 |
+
train_18281_a_1
|
| 2694 |
+
train_18281_a_2
|
| 2695 |
+
train_18337_a_1
|
| 2696 |
+
train_18337_a_2
|
| 2697 |
+
train_18356_a_1
|
| 2698 |
+
train_18387_a_1
|
| 2699 |
+
train_18387_a_2
|
| 2700 |
+
train_18390_a_1
|
| 2701 |
+
train_18390_a_2
|
| 2702 |
+
train_18401_a_1
|
| 2703 |
+
train_18401_a_2
|
| 2704 |
+
train_18418_a_1
|
| 2705 |
+
train_18418_a_2
|
| 2706 |
+
train_18457_a_1
|
| 2707 |
+
train_18465_a_1
|
| 2708 |
+
train_18465_b_1
|
| 2709 |
+
train_18465_b_2
|
| 2710 |
+
train_18465_c_1
|
| 2711 |
+
train_18465_c_2
|
| 2712 |
+
train_18465_d_1
|
| 2713 |
+
train_18465_d_2
|
| 2714 |
+
train_18465_e_1
|
| 2715 |
+
train_18465_e_2
|
| 2716 |
+
train_18465_f_1
|
| 2717 |
+
train_18465_f_2
|
| 2718 |
+
train_18481_a_1
|
| 2719 |
+
train_18481_a_2
|
| 2720 |
+
train_18489_a_1
|
| 2721 |
+
train_18489_a_2
|
| 2722 |
+
train_18489_b_1
|
| 2723 |
+
train_18489_b_2
|
| 2724 |
+
train_18489_c_1
|
| 2725 |
+
train_18489_c_2
|
| 2726 |
+
train_18489_d_1
|
| 2727 |
+
train_18489_d_2
|
| 2728 |
+
train_18489_e_1
|
| 2729 |
+
train_18489_e_2
|
| 2730 |
+
train_18489_f_1
|
| 2731 |
+
train_18489_f_2
|
| 2732 |
+
train_18499_a_1
|
| 2733 |
+
train_18499_a_2
|
| 2734 |
+
train_18499_b_1
|
| 2735 |
+
train_18499_b_2
|
| 2736 |
+
train_18499_c_1
|
| 2737 |
+
train_18499_c_2
|
| 2738 |
+
train_18499_d_1
|
| 2739 |
+
train_18499_d_2
|
| 2740 |
+
train_18537_a_1
|
| 2741 |
+
train_18537_a_2
|
| 2742 |
+
train_18540_a_1
|
| 2743 |
+
train_18540_b_1
|
| 2744 |
+
train_18540_b_2
|
| 2745 |
+
train_18540_c_1
|
| 2746 |
+
train_18540_c_2
|
| 2747 |
+
train_18541_a_1
|
| 2748 |
+
train_18541_a_2
|
| 2749 |
+
train_18544_a_1
|
| 2750 |
+
train_18545_a_1
|
| 2751 |
+
train_18545_a_2
|
| 2752 |
+
train_18560_a_1
|
| 2753 |
+
train_18560_a_2
|
| 2754 |
+
train_18581_a_1
|
| 2755 |
+
train_18581_a_2
|
| 2756 |
+
train_18582_a_1
|
| 2757 |
+
train_18583_a_1
|
| 2758 |
+
train_18583_a_2
|
| 2759 |
+
train_18586_a_1
|
| 2760 |
+
train_18586_a_2
|
| 2761 |
+
train_18601_a_1
|
| 2762 |
+
train_18601_a_2
|
| 2763 |
+
train_18617_a_1
|
| 2764 |
+
train_18617_a_2
|
| 2765 |
+
train_18625_a_1
|
| 2766 |
+
train_18625_a_2
|
| 2767 |
+
train_18628_a_1
|
| 2768 |
+
train_18628_a_2
|
| 2769 |
+
train_18631_a_1
|
| 2770 |
+
train_18631_a_2
|
| 2771 |
+
train_18647_a_1
|
| 2772 |
+
train_18647_a_2
|
| 2773 |
+
train_18649_a_1
|
| 2774 |
+
train_18649_a_2
|
| 2775 |
+
train_18651_a_1
|
| 2776 |
+
train_18651_a_2
|
| 2777 |
+
train_18663_a_1
|
| 2778 |
+
train_18663_a_2
|
| 2779 |
+
train_18663_b_1
|
| 2780 |
+
train_18663_b_2
|
| 2781 |
+
train_18680_a_1
|
| 2782 |
+
train_18680_a_2
|
| 2783 |
+
train_18680_b_1
|
| 2784 |
+
train_18680_b_2
|
| 2785 |
+
train_18690_a_1
|
| 2786 |
+
train_18690_a_2
|
| 2787 |
+
train_18738_a_1
|
| 2788 |
+
train_18738_a_2
|
| 2789 |
+
train_18739_a_1
|
| 2790 |
+
train_18739_a_2
|
| 2791 |
+
train_18747_a_1
|
| 2792 |
+
train_18747_a_2
|
| 2793 |
+
train_18773_a_1
|
| 2794 |
+
train_18773_a_2
|
| 2795 |
+
train_18788_a_1
|
| 2796 |
+
train_18788_a_2
|
| 2797 |
+
train_18803_a_1
|
| 2798 |
+
train_18803_a_2
|
| 2799 |
+
train_18815_a_1
|
| 2800 |
+
train_18815_a_2
|
| 2801 |
+
train_18823_a_1
|
| 2802 |
+
train_18823_a_2
|
| 2803 |
+
train_18828_a_1
|
| 2804 |
+
train_18851_a_1
|
| 2805 |
+
train_18851_a_2
|
| 2806 |
+
train_18878_a_1
|
| 2807 |
+
train_18878_a_2
|
| 2808 |
+
train_18880_a_1
|
| 2809 |
+
train_18880_a_2
|
| 2810 |
+
train_18885_a_1
|
| 2811 |
+
train_18885_a_2
|
| 2812 |
+
train_18885_b_1
|
| 2813 |
+
train_18885_b_2
|
| 2814 |
+
train_18889_a_1
|
| 2815 |
+
train_18889_a_2
|
| 2816 |
+
train_18901_a_1
|
| 2817 |
+
train_18901_a_2
|
| 2818 |
+
train_18917_a_1
|
| 2819 |
+
train_18917_a_2
|
| 2820 |
+
train_18918_a_1
|
| 2821 |
+
train_18918_a_2
|
| 2822 |
+
train_18924_a_1
|
| 2823 |
+
train_18924_a_2
|
| 2824 |
+
train_18924_b_1
|
| 2825 |
+
train_18924_b_2
|
| 2826 |
+
train_18929_a_1
|
| 2827 |
+
train_18929_a_2
|
| 2828 |
+
train_18943_a_1
|
| 2829 |
+
train_18991_a_1
|
| 2830 |
+
train_18991_a_2
|
| 2831 |
+
train_19001_a_1
|
| 2832 |
+
train_19001_a_2
|
| 2833 |
+
train_19010_a_1
|
| 2834 |
+
train_19010_a_2
|
| 2835 |
+
train_19016_a_1
|
| 2836 |
+
train_19016_a_2
|
| 2837 |
+
train_19025_a_1
|
| 2838 |
+
train_19025_a_2
|
| 2839 |
+
train_19025_b_1
|
| 2840 |
+
train_19025_b_2
|
| 2841 |
+
train_19052_a_1
|
| 2842 |
+
train_19052_a_2
|
| 2843 |
+
train_19067_a_1
|
| 2844 |
+
train_19067_a_2
|
| 2845 |
+
train_19074_a_1
|
| 2846 |
+
train_19074_a_2
|
| 2847 |
+
train_19078_a_1
|
| 2848 |
+
train_19078_a_2
|
| 2849 |
+
train_19101_a_1
|
| 2850 |
+
train_19101_a_2
|
| 2851 |
+
train_19144_a_1
|
| 2852 |
+
train_19144_a_2
|
| 2853 |
+
train_19144_b_1
|
| 2854 |
+
train_19144_b_2
|
| 2855 |
+
train_19144_c_1
|
| 2856 |
+
train_19144_c_2
|
| 2857 |
+
train_19149_a_1
|
| 2858 |
+
train_19149_a_2
|
| 2859 |
+
train_19163_a_1
|
| 2860 |
+
train_19163_a_2
|
| 2861 |
+
train_19181_a_1
|
| 2862 |
+
train_19181_a_2
|
| 2863 |
+
train_19183_a_1
|
| 2864 |
+
train_19183_a_2
|
| 2865 |
+
train_19183_b_1
|
| 2866 |
+
train_19183_b_2
|
| 2867 |
+
train_19199_a_1
|
| 2868 |
+
train_19200_a_1
|
| 2869 |
+
train_19200_a_2
|
| 2870 |
+
train_19206_a_1
|
| 2871 |
+
train_19206_a_2
|
| 2872 |
+
train_19257_a_1
|
| 2873 |
+
train_19257_a_2
|
| 2874 |
+
train_19274_a_1
|
| 2875 |
+
train_19274_a_2
|
| 2876 |
+
train_19282_a_1
|
| 2877 |
+
train_19282_a_2
|
| 2878 |
+
train_19293_a_1
|
| 2879 |
+
train_19293_a_2
|
| 2880 |
+
train_19314_a_1
|
| 2881 |
+
train_19314_a_2
|
| 2882 |
+
train_19322_a_1
|
| 2883 |
+
train_19322_a_2
|
| 2884 |
+
train_19323_a_1
|
| 2885 |
+
train_19323_a_2
|
| 2886 |
+
train_19348_a_1
|
| 2887 |
+
train_19348_a_2
|
| 2888 |
+
train_19374_a_1
|
| 2889 |
+
train_19374_a_2
|
| 2890 |
+
train_19374_b_1
|
| 2891 |
+
train_19374_b_2
|
| 2892 |
+
train_19384_a_1
|
| 2893 |
+
train_19384_a_2
|
| 2894 |
+
train_19406_a_1
|
| 2895 |
+
train_19406_a_2
|
| 2896 |
+
train_19423_a_1
|
| 2897 |
+
train_19423_a_2
|
| 2898 |
+
train_19423_a_3
|
| 2899 |
+
train_19423_a_4
|
| 2900 |
+
train_19423_b_1
|
| 2901 |
+
train_19423_b_2
|
| 2902 |
+
train_19423_c_1
|
| 2903 |
+
train_19423_c_2
|
| 2904 |
+
train_19437_a_1
|
| 2905 |
+
train_19437_a_2
|
| 2906 |
+
train_19455_a_1
|
| 2907 |
+
train_19455_a_2
|
| 2908 |
+
train_19508_a_3
|
| 2909 |
+
train_19508_a_5
|
| 2910 |
+
train_19521_a_1
|
| 2911 |
+
train_19521_a_2
|
| 2912 |
+
train_19524_a_1
|
| 2913 |
+
train_19524_a_2
|
| 2914 |
+
train_19550_a_1
|
| 2915 |
+
train_19550_a_2
|
| 2916 |
+
train_19563_a_1
|
| 2917 |
+
train_19563_a_2
|
| 2918 |
+
train_19569_a_1
|
| 2919 |
+
train_19569_a_2
|
| 2920 |
+
train_19588_a_1
|
| 2921 |
+
train_19588_a_2
|
| 2922 |
+
train_19588_b_1
|
| 2923 |
+
train_19588_b_2
|
| 2924 |
+
train_19588_c_1
|
| 2925 |
+
train_19588_c_2
|
| 2926 |
+
train_19610_a_1
|
| 2927 |
+
train_19610_a_2
|
| 2928 |
+
train_19632_a_1
|
| 2929 |
+
train_19632_a_2
|
| 2930 |
+
train_19641_a_1
|
| 2931 |
+
train_19641_a_2
|
| 2932 |
+
train_19651_a_1
|
| 2933 |
+
train_19651_a_2
|
| 2934 |
+
train_19665_a_1
|
| 2935 |
+
train_19665_a_2
|
| 2936 |
+
train_19669_a_1
|
| 2937 |
+
train_19669_a_2
|
| 2938 |
+
train_19675_a_1
|
| 2939 |
+
train_19675_a_2
|
| 2940 |
+
train_19687_a_1
|
| 2941 |
+
train_19687_a_2
|
| 2942 |
+
train_19687_b_1
|
| 2943 |
+
train_19687_b_2
|
| 2944 |
+
train_19687_c_1
|
| 2945 |
+
train_19687_c_2
|
| 2946 |
+
train_19696_a_1
|
| 2947 |
+
train_19696_a_2
|
| 2948 |
+
train_19714_a_1
|
| 2949 |
+
train_19714_a_2
|
| 2950 |
+
train_19732_a_1
|
| 2951 |
+
train_19732_a_2
|
| 2952 |
+
train_19736_a_1
|
| 2953 |
+
train_19736_a_2
|
| 2954 |
+
train_19736_b_1
|
| 2955 |
+
train_19736_b_2
|
| 2956 |
+
train_19748_a_1
|
| 2957 |
+
train_19748_a_2
|
| 2958 |
+
train_19750_a_1
|
| 2959 |
+
train_19750_a_2
|
| 2960 |
+
train_19750_b_1
|
| 2961 |
+
train_19750_b_2
|
| 2962 |
+
train_19751_a_1
|
| 2963 |
+
train_19751_a_2
|
| 2964 |
+
train_19805_a_1
|
| 2965 |
+
train_19805_a_2
|
| 2966 |
+
train_19811_a_1
|
| 2967 |
+
train_19811_a_2
|
| 2968 |
+
train_19823_a_1
|
| 2969 |
+
train_19823_a_2
|
| 2970 |
+
train_19831_a_1
|
| 2971 |
+
train_19831_a_2
|
| 2972 |
+
train_19860_a_1
|
| 2973 |
+
train_19860_a_2
|
| 2974 |
+
train_19860_b_1
|
| 2975 |
+
train_19860_b_2
|
| 2976 |
+
train_19860_c_1
|
| 2977 |
+
train_19860_c_2
|
| 2978 |
+
train_19879_a_1
|
| 2979 |
+
train_19879_a_2
|
| 2980 |
+
train_19880_a_1
|
| 2981 |
+
train_19880_a_2
|
| 2982 |
+
train_19887_a_1
|
| 2983 |
+
train_19887_a_2
|
| 2984 |
+
train_19905_a_1
|
| 2985 |
+
train_19905_a_2
|
| 2986 |
+
train_19943_a_1
|
| 2987 |
+
train_19943_a_2
|
| 2988 |
+
train_19952_a_1
|
| 2989 |
+
train_19956_a_1
|
| 2990 |
+
train_19956_a_2
|
| 2991 |
+
train_19963_a_1
|
| 2992 |
+
train_19963_a_2
|
| 2993 |
+
train_19974_a_1
|
| 2994 |
+
train_19974_a_2
|
data/splits/lidc_idri/test.txt
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
LIDC-IDRI-0151/1.3.6.1.4.1.14519.5.2.1.6279.6001.780121538270617222115253441513/1.3.6.1.4.1.14519.5.2.1.6279.6001.768856069922657732839929586657
|
| 2 |
+
LIDC-IDRI-0355/1.3.6.1.4.1.14519.5.2.1.6279.6001.221138977753587043062153841454/1.3.6.1.4.1.14519.5.2.1.6279.6001.170344311940983984999167745197
|
| 3 |
+
LIDC-IDRI-0442/1.3.6.1.4.1.14519.5.2.1.6279.6001.265657827498396379702226874113/1.3.6.1.4.1.14519.5.2.1.6279.6001.335799017122466251265955525941
|
| 4 |
+
LIDC-IDRI-0315/1.3.6.1.4.1.14519.5.2.1.6279.6001.709924281509506265799179464374/1.3.6.1.4.1.14519.5.2.1.6279.6001.322682676064999314374885526223
|
| 5 |
+
LIDC-IDRI-0355/1.3.6.1.4.1.14519.5.2.1.6279.6001.246541809203697037171004327898/1.3.6.1.4.1.14519.5.2.1.6279.6001.147979688121667984912633630926
|
| 6 |
+
LIDC-IDRI-0332/1.3.6.1.4.1.14519.5.2.1.6279.6001.299122687641741853427119259207/1.3.6.1.4.1.14519.5.2.1.6279.6001.159996104466052855396410079250
|
| 7 |
+
LIDC-IDRI-0151/1.3.6.1.4.1.14519.5.2.1.6279.6001.222444895275634974977432374937/1.3.6.1.4.1.14519.5.2.1.6279.6001.453946099750629491201946672998
|
| 8 |
+
LIDC-IDRI-0938/1.3.6.1.4.1.14519.5.2.1.6279.6001.751804495161511023323654179121/1.3.6.1.4.1.14519.5.2.1.6279.6001.219349715895470349269596532320
|
| 9 |
+
LIDC-IDRI-0060/1.3.6.1.4.1.14519.5.2.1.6279.6001.203745372924354240670222118382/1.3.6.1.4.1.14519.5.2.1.6279.6001.463214953282361219537913355115
|
| 10 |
+
LIDC-IDRI-0091/1.3.6.1.4.1.14519.5.2.1.6279.6001.437063545936574671385154679589/1.3.6.1.4.1.14519.5.2.1.6279.6001.134996872583497382954024478441
|
| 11 |
+
LIDC-IDRI-0914/1.3.6.1.4.1.14519.5.2.1.6279.6001.146693794897525614810620472732/1.3.6.1.4.1.14519.5.2.1.6279.6001.334105754605642100456249422350
|
| 12 |
+
LIDC-IDRI-0198/1.3.6.1.4.1.14519.5.2.1.6279.6001.182529561822199780545440408033/1.3.6.1.4.1.14519.5.2.1.6279.6001.465032801496479029639448332481
|
| 13 |
+
LIDC-IDRI-0593/1.3.6.1.4.1.14519.5.2.1.6279.6001.128546361353633775045659990592/1.3.6.1.4.1.14519.5.2.1.6279.6001.306520140119968755187868602181
|
| 14 |
+
LIDC-IDRI-0716/1.3.6.1.4.1.14519.5.2.1.6279.6001.327233508500720321498837444121/1.3.6.1.4.1.14519.5.2.1.6279.6001.134638281277099121660656324702
|
| 15 |
+
LIDC-IDRI-0946/1.3.6.1.4.1.14519.5.2.1.6279.6001.289886930576192132696568423166/1.3.6.1.4.1.14519.5.2.1.6279.6001.156181515927698299507377083373
|
| 16 |
+
LIDC-IDRI-0174/1.3.6.1.4.1.14519.5.2.1.6279.6001.178508585973524477692282321864/1.3.6.1.4.1.14519.5.2.1.6279.6001.268838889380981659524993261082
|
| 17 |
+
LIDC-IDRI-0853/1.3.6.1.4.1.14519.5.2.1.6279.6001.854778727666988682245040938192/1.3.6.1.4.1.14519.5.2.1.6279.6001.159521777966998275980367008904
|
| 18 |
+
LIDC-IDRI-0924/1.3.6.1.4.1.14519.5.2.1.6279.6001.268186928222507173063266624020/1.3.6.1.4.1.14519.5.2.1.6279.6001.246225645401227472829175288633
|
| 19 |
+
LIDC-IDRI-0521/1.3.6.1.4.1.14519.5.2.1.6279.6001.135015991565946540622375616104/1.3.6.1.4.1.14519.5.2.1.6279.6001.187694838527128312070807533473
|
| 20 |
+
LIDC-IDRI-0087/1.3.6.1.4.1.14519.5.2.1.6279.6001.229388260375062685257395968125/1.3.6.1.4.1.14519.5.2.1.6279.6001.194632613233275988184244485809
|
| 21 |
+
LIDC-IDRI-0488/1.3.6.1.4.1.14519.5.2.1.6279.6001.598304550863987021597036432704/1.3.6.1.4.1.14519.5.2.1.6279.6001.193964947698259739624715468431
|
| 22 |
+
LIDC-IDRI-0609/1.3.6.1.4.1.14519.5.2.1.6279.6001.103936837659251066416686642502/1.3.6.1.4.1.14519.5.2.1.6279.6001.201890795870532056891161597218
|
| 23 |
+
LIDC-IDRI-0064/1.3.6.1.4.1.14519.5.2.1.6279.6001.262940731886389902640730271210/1.3.6.1.4.1.14519.5.2.1.6279.6001.487268565754493433372433148666
|
| 24 |
+
LIDC-IDRI-0702/1.3.6.1.4.1.14519.5.2.1.6279.6001.167461514102912667251280826923/1.3.6.1.4.1.14519.5.2.1.6279.6001.286422846896797433168187085942
|
| 25 |
+
LIDC-IDRI-0354/1.3.6.1.4.1.14519.5.2.1.6279.6001.267607850463096817515575285607/1.3.6.1.4.1.14519.5.2.1.6279.6001.112020141051733785092412736928
|
| 26 |
+
LIDC-IDRI-0221/1.3.6.1.4.1.14519.5.2.1.6279.6001.196064403160663787222867039271/1.3.6.1.4.1.14519.5.2.1.6279.6001.272344603176687884771013620823
|
| 27 |
+
LIDC-IDRI-0526/1.3.6.1.4.1.14519.5.2.1.6279.6001.186545761857837015081715243889/1.3.6.1.4.1.14519.5.2.1.6279.6001.180720061816899490466115851736
|
| 28 |
+
LIDC-IDRI-0053/1.3.6.1.4.1.14519.5.2.1.6279.6001.233265558039230075858412321938/1.3.6.1.4.1.14519.5.2.1.6279.6001.300136985030081433029390459071
|
| 29 |
+
LIDC-IDRI-1010/1.3.6.1.4.1.14519.5.2.1.6279.6001.145373944605191222309393681361/1.3.6.1.4.1.14519.5.2.1.6279.6001.550599855064600241623943717588
|
| 30 |
+
LIDC-IDRI-0192/1.3.6.1.4.1.14519.5.2.1.6279.6001.194264995369749234588783691976/1.3.6.1.4.1.14519.5.2.1.6279.6001.868211851413924881662621747734
|
| 31 |
+
LIDC-IDRI-0871/1.3.6.1.4.1.14519.5.2.1.6279.6001.323769537371782501749772855211/1.3.6.1.4.1.14519.5.2.1.6279.6001.299806338046301317870803017534
|
| 32 |
+
LIDC-IDRI-0969/1.3.6.1.4.1.14519.5.2.1.6279.6001.194408227371077105112329346518/1.3.6.1.4.1.14519.5.2.1.6279.6001.230675342744370103160629638194
|
| 33 |
+
LIDC-IDRI-0473/1.3.6.1.4.1.14519.5.2.1.6279.6001.210105060472758363785916556991/1.3.6.1.4.1.14519.5.2.1.6279.6001.994459772950022352718462251777
|
| 34 |
+
LIDC-IDRI-0642/1.3.6.1.4.1.14519.5.2.1.6279.6001.288625283139929827339044364850/1.3.6.1.4.1.14519.5.2.1.6279.6001.699408489230474820984000839814
|
| 35 |
+
LIDC-IDRI-0766/1.3.6.1.4.1.14519.5.2.1.6279.6001.267013157670921984098319605661/1.3.6.1.4.1.14519.5.2.1.6279.6001.104562737760173137525888934217
|
| 36 |
+
LIDC-IDRI-0332/1.3.6.1.4.1.14519.5.2.1.6279.6001.124508094927772723365648607398/1.3.6.1.4.1.14519.5.2.1.6279.6001.316900421002460665752357657094
|
| 37 |
+
LIDC-IDRI-0281/1.3.6.1.4.1.14519.5.2.1.6279.6001.899082900417573006084750602123/1.3.6.1.4.1.14519.5.2.1.6279.6001.861997885565255340442123234170
|
| 38 |
+
LIDC-IDRI-0595/1.3.6.1.4.1.14519.5.2.1.6279.6001.179835446111622550556046150972/1.3.6.1.4.1.14519.5.2.1.6279.6001.228049788831266512062175089637
|
| 39 |
+
LIDC-IDRI-0763/1.3.6.1.4.1.14519.5.2.1.6279.6001.262233919583075373552810415567/1.3.6.1.4.1.14519.5.2.1.6279.6001.215785045378334625097907422785
|
| 40 |
+
LIDC-IDRI-0261/1.3.6.1.4.1.14519.5.2.1.6279.6001.303787857004156773187912154976/1.3.6.1.4.1.14519.5.2.1.6279.6001.280972147860943609388015648430
|
| 41 |
+
LIDC-IDRI-0725/1.3.6.1.4.1.14519.5.2.1.6279.6001.305942859345281883515236698139/1.3.6.1.4.1.14519.5.2.1.6279.6001.561423049201987049884663740668
|
| 42 |
+
LIDC-IDRI-0297/1.3.6.1.4.1.14519.5.2.1.6279.6001.164156833754689412076055510609/1.3.6.1.4.1.14519.5.2.1.6279.6001.428038562098395445838061018440
|
| 43 |
+
LIDC-IDRI-0481/1.3.6.1.4.1.14519.5.2.1.6279.6001.318162998398046037585497173804/1.3.6.1.4.1.14519.5.2.1.6279.6001.107351566259572521472765997306
|
| 44 |
+
LIDC-IDRI-0753/1.3.6.1.4.1.14519.5.2.1.6279.6001.837260510399523070637863582641/1.3.6.1.4.1.14519.5.2.1.6279.6001.238522526736091851696274044574
|
| 45 |
+
LIDC-IDRI-0391/1.3.6.1.4.1.14519.5.2.1.6279.6001.226889452118226653325966834723/1.3.6.1.4.1.14519.5.2.1.6279.6001.334184846571549530235084187602
|
| 46 |
+
LIDC-IDRI-0951/1.3.6.1.4.1.14519.5.2.1.6279.6001.202313610740309364769212928365/1.3.6.1.4.1.14519.5.2.1.6279.6001.119304665257760307862874140576
|
| 47 |
+
LIDC-IDRI-0276/1.3.6.1.4.1.14519.5.2.1.6279.6001.660741147026674947967595590708/1.3.6.1.4.1.14519.5.2.1.6279.6001.212346425055214308006918165305
|
| 48 |
+
LIDC-IDRI-0994/1.3.6.1.4.1.14519.5.2.1.6279.6001.300829918445389512656506955074/1.3.6.1.4.1.14519.5.2.1.6279.6001.534006575256943390479252771547
|
| 49 |
+
LIDC-IDRI-0867/1.3.6.1.4.1.14519.5.2.1.6279.6001.265390640843728236501931252310/1.3.6.1.4.1.14519.5.2.1.6279.6001.293757615532132808762625441831
|
| 50 |
+
LIDC-IDRI-0772/1.3.6.1.4.1.14519.5.2.1.6279.6001.212173791575971142588528365479/1.3.6.1.4.1.14519.5.2.1.6279.6001.112740418331256326754121315800
|
| 51 |
+
LIDC-IDRI-0708/1.3.6.1.4.1.14519.5.2.1.6279.6001.965523656856760127560055059644/1.3.6.1.4.1.14519.5.2.1.6279.6001.741709061958490690246385302477
|
| 52 |
+
LIDC-IDRI-0251/1.3.6.1.4.1.14519.5.2.1.6279.6001.157894141428308694229687552009/1.3.6.1.4.1.14519.5.2.1.6279.6001.307835307280028057486413359377
|
| 53 |
+
LIDC-IDRI-0587/1.3.6.1.4.1.14519.5.2.1.6279.6001.670416970629038619301651972112/1.3.6.1.4.1.14519.5.2.1.6279.6001.213140617640021803112060161074
|
| 54 |
+
LIDC-IDRI-0650/1.3.6.1.4.1.14519.5.2.1.6279.6001.275342292592333052340429698533/1.3.6.1.4.1.14519.5.2.1.6279.6001.276351267409869539593937734609
|
| 55 |
+
LIDC-IDRI-0612/1.3.6.1.4.1.14519.5.2.1.6279.6001.320384550857954988796553893403/1.3.6.1.4.1.14519.5.2.1.6279.6001.167500254299688235071950909530
|
| 56 |
+
LIDC-IDRI-0812/1.3.6.1.4.1.14519.5.2.1.6279.6001.129889229961080005326707611943/1.3.6.1.4.1.14519.5.2.1.6279.6001.109203031650348694844047454215
|
| 57 |
+
LIDC-IDRI-0895/1.3.6.1.4.1.14519.5.2.1.6279.6001.223929343925645778515146916755/1.3.6.1.4.1.14519.5.2.1.6279.6001.458525794434429386945463560826
|
| 58 |
+
LIDC-IDRI-0692/1.3.6.1.4.1.14519.5.2.1.6279.6001.262372993180687488521371393069/1.3.6.1.4.1.14519.5.2.1.6279.6001.404364125369979066736354549484
|
| 59 |
+
LIDC-IDRI-0527/1.3.6.1.4.1.14519.5.2.1.6279.6001.310869628943317589181434675447/1.3.6.1.4.1.14519.5.2.1.6279.6001.271181474656996637903928248007
|
| 60 |
+
LIDC-IDRI-0479/1.3.6.1.4.1.14519.5.2.1.6279.6001.173476782913985657859750913739/1.3.6.1.4.1.14519.5.2.1.6279.6001.188385286346390202873004762827
|
| 61 |
+
LIDC-IDRI-0992/1.3.6.1.4.1.14519.5.2.1.6279.6001.533848162484464792928836838329/1.3.6.1.4.1.14519.5.2.1.6279.6001.187803155574314810830688534991
|
| 62 |
+
LIDC-IDRI-0819/1.3.6.1.4.1.14519.5.2.1.6279.6001.807635771657676107005923650811/1.3.6.1.4.1.14519.5.2.1.6279.6001.149893110752986700464921264055
|
| 63 |
+
LIDC-IDRI-0066/1.3.6.1.4.1.14519.5.2.1.6279.6001.143774983852765282237869625332/1.3.6.1.4.1.14519.5.2.1.6279.6001.430109407146633213496148200410
|
| 64 |
+
LIDC-IDRI-0539/1.3.6.1.4.1.14519.5.2.1.6279.6001.774224171618605001583693363297/1.3.6.1.4.1.14519.5.2.1.6279.6001.283733738239331719775105586296
|
| 65 |
+
LIDC-IDRI-0923/1.3.6.1.4.1.14519.5.2.1.6279.6001.279957551156089498592959292779/1.3.6.1.4.1.14519.5.2.1.6279.6001.640729228179368154416184318668
|
| 66 |
+
LIDC-IDRI-0887/1.3.6.1.4.1.14519.5.2.1.6279.6001.306979641566588911923060002188/1.3.6.1.4.1.14519.5.2.1.6279.6001.159665703190517688573100822213
|
| 67 |
+
LIDC-IDRI-0746/1.3.6.1.4.1.14519.5.2.1.6279.6001.264320238393338793327058584209/1.3.6.1.4.1.14519.5.2.1.6279.6001.171682845383273105440297561095
|
| 68 |
+
LIDC-IDRI-0524/1.3.6.1.4.1.14519.5.2.1.6279.6001.226402817998131997261275093738/1.3.6.1.4.1.14519.5.2.1.6279.6001.842317928015463083368074520378
|
| 69 |
+
LIDC-IDRI-0300/1.3.6.1.4.1.14519.5.2.1.6279.6001.165017330457520545748655969705/1.3.6.1.4.1.14519.5.2.1.6279.6001.324290109423920971676288828329
|
| 70 |
+
LIDC-IDRI-0509/1.3.6.1.4.1.14519.5.2.1.6279.6001.291105837361929821655470189849/1.3.6.1.4.1.14519.5.2.1.6279.6001.200783211179294046901893379828
|
| 71 |
+
LIDC-IDRI-0696/1.3.6.1.4.1.14519.5.2.1.6279.6001.108965194825990605371103747168/1.3.6.1.4.1.14519.5.2.1.6279.6001.129567032250534530765928856531
|
| 72 |
+
LIDC-IDRI-0291/1.3.6.1.4.1.14519.5.2.1.6279.6001.471106432014627176550866096857/1.3.6.1.4.1.14519.5.2.1.6279.6001.170825539570536865106681134236
|
| 73 |
+
LIDC-IDRI-0287/1.3.6.1.4.1.14519.5.2.1.6279.6001.244389108887315437307204657105/1.3.6.1.4.1.14519.5.2.1.6279.6001.395623571499047043765181005112
|
| 74 |
+
LIDC-IDRI-0299/1.3.6.1.4.1.14519.5.2.1.6279.6001.325830590463177737667102135732/1.3.6.1.4.1.14519.5.2.1.6279.6001.170921541362033046216100409521
|
| 75 |
+
LIDC-IDRI-0460/1.3.6.1.4.1.14519.5.2.1.6279.6001.161084022770774658371336888233/1.3.6.1.4.1.14519.5.2.1.6279.6001.362762275895885013176610377950
|
| 76 |
+
LIDC-IDRI-0651/1.3.6.1.4.1.14519.5.2.1.6279.6001.531322615015231731672909400685/1.3.6.1.4.1.14519.5.2.1.6279.6001.397522780537301776672854630421
|
| 77 |
+
LIDC-IDRI-0047/1.3.6.1.4.1.14519.5.2.1.6279.6001.262595324886254011362748468025/1.3.6.1.4.1.14519.5.2.1.6279.6001.338114620394879648539943280992
|
| 78 |
+
LIDC-IDRI-0528/1.3.6.1.4.1.14519.5.2.1.6279.6001.260588761508265678453204226958/1.3.6.1.4.1.14519.5.2.1.6279.6001.235217371152464582553341729176
|
| 79 |
+
LIDC-IDRI-0329/1.3.6.1.4.1.14519.5.2.1.6279.6001.311543823141683719978679431015/1.3.6.1.4.1.14519.5.2.1.6279.6001.303865116731361029078599241306
|
| 80 |
+
LIDC-IDRI-0115/1.3.6.1.4.1.14519.5.2.1.6279.6001.140071422310372235469229806680/1.3.6.1.4.1.14519.5.2.1.6279.6001.166112018536246672777968137997
|
| 81 |
+
LIDC-IDRI-0813/1.3.6.1.4.1.14519.5.2.1.6279.6001.139110171863263699469684411692/1.3.6.1.4.1.14519.5.2.1.6279.6001.100398138793540579077826395208
|
| 82 |
+
LIDC-IDRI-0630/1.3.6.1.4.1.14519.5.2.1.6279.6001.311286315716340154235274558813/1.3.6.1.4.1.14519.5.2.1.6279.6001.171919524048654494439256263785
|
| 83 |
+
LIDC-IDRI-0977/1.3.6.1.4.1.14519.5.2.1.6279.6001.283363009241515390315316302638/1.3.6.1.4.1.14519.5.2.1.6279.6001.308183340111270052562662456038
|
| 84 |
+
LIDC-IDRI-0420/1.3.6.1.4.1.14519.5.2.1.6279.6001.269884215256755446329937557120/1.3.6.1.4.1.14519.5.2.1.6279.6001.276556509002726404418399209377
|
| 85 |
+
LIDC-IDRI-0913/1.3.6.1.4.1.14519.5.2.1.6279.6001.843094005962961412710063697075/1.3.6.1.4.1.14519.5.2.1.6279.6001.750792629100457382099842515038
|
| 86 |
+
LIDC-IDRI-0685/1.3.6.1.4.1.14519.5.2.1.6279.6001.177931410497444598503378575664/1.3.6.1.4.1.14519.5.2.1.6279.6001.196619392240146451912217585346
|
| 87 |
+
LIDC-IDRI-0442/1.3.6.1.4.1.14519.5.2.1.6279.6001.193438875802960011844317570223/1.3.6.1.4.1.14519.5.2.1.6279.6001.226813447046845316215094488309
|
| 88 |
+
LIDC-IDRI-0401/1.3.6.1.4.1.14519.5.2.1.6279.6001.344370459068774891776634727699/1.3.6.1.4.1.14519.5.2.1.6279.6001.120196332569034738680965284519
|
| 89 |
+
LIDC-IDRI-0758/1.3.6.1.4.1.14519.5.2.1.6279.6001.427346572209935588501414358601/1.3.6.1.4.1.14519.5.2.1.6279.6001.313756547848086902190878548835
|
| 90 |
+
LIDC-IDRI-0051/1.3.6.1.4.1.14519.5.2.1.6279.6001.163285696979961262813032969899/1.3.6.1.4.1.14519.5.2.1.6279.6001.779493719385047675154892222907
|
| 91 |
+
LIDC-IDRI-0583/1.3.6.1.4.1.14519.5.2.1.6279.6001.230901123329037029807195618747/1.3.6.1.4.1.14519.5.2.1.6279.6001.955688628308192728558382581802
|
| 92 |
+
LIDC-IDRI-0790/1.3.6.1.4.1.14519.5.2.1.6279.6001.107063920355575867343721608071/1.3.6.1.4.1.14519.5.2.1.6279.6001.266009527139315622265711325223
|
| 93 |
+
LIDC-IDRI-0405/1.3.6.1.4.1.14519.5.2.1.6279.6001.222993894345836169253703951249/1.3.6.1.4.1.14519.5.2.1.6279.6001.693480911433291675609148051914
|
| 94 |
+
LIDC-IDRI-0208/1.3.6.1.4.1.14519.5.2.1.6279.6001.159596875781736451820677432740/1.3.6.1.4.1.14519.5.2.1.6279.6001.310395752124284049604069960014
|
| 95 |
+
LIDC-IDRI-0765/1.3.6.1.4.1.14519.5.2.1.6279.6001.225520892751936930714518753705/1.3.6.1.4.1.14519.5.2.1.6279.6001.308153138776443962077214577161
|
| 96 |
+
LIDC-IDRI-0735/1.3.6.1.4.1.14519.5.2.1.6279.6001.534939840290931669471335109271/1.3.6.1.4.1.14519.5.2.1.6279.6001.417815314896088956784723476543
|
| 97 |
+
LIDC-IDRI-0215/1.3.6.1.4.1.14519.5.2.1.6279.6001.333224958421615824054029320306/1.3.6.1.4.1.14519.5.2.1.6279.6001.312704771348460502013249647868
|
| 98 |
+
LIDC-IDRI-0248/1.3.6.1.4.1.14519.5.2.1.6279.6001.202972199430488069905719748096/1.3.6.1.4.1.14519.5.2.1.6279.6001.174168737938619557573021395302
|
| 99 |
+
LIDC-IDRI-1005/1.3.6.1.4.1.14519.5.2.1.6279.6001.560355181698089203099323359955/1.3.6.1.4.1.14519.5.2.1.6279.6001.142485715518010940961688015191
|
| 100 |
+
LIDC-IDRI-0703/1.3.6.1.4.1.14519.5.2.1.6279.6001.145643207559809787753499447041/1.3.6.1.4.1.14519.5.2.1.6279.6001.138080888843357047811238713686
|
| 101 |
+
LIDC-IDRI-0368/1.3.6.1.4.1.14519.5.2.1.6279.6001.267495169884268604035801498197/1.3.6.1.4.1.14519.5.2.1.6279.6001.326084450802794941185111945926
|
| 102 |
+
LIDC-IDRI-0731/1.3.6.1.4.1.14519.5.2.1.6279.6001.305398246365961706334877462365/1.3.6.1.4.1.14519.5.2.1.6279.6001.265570697208310960298668720669
|
| 103 |
+
LIDC-IDRI-0092/1.3.6.1.4.1.14519.5.2.1.6279.6001.385976057629453563236462196337/1.3.6.1.4.1.14519.5.2.1.6279.6001.286217539434358186648717203667
|
| 104 |
+
LIDC-IDRI-0011/1.3.6.1.4.1.14519.5.2.1.6279.6001.292628672046109312619048073568/1.3.6.1.4.1.14519.5.2.1.6279.6001.140253591510022414496468423138
|
| 105 |
+
LIDC-IDRI-0138/1.3.6.1.4.1.14519.5.2.1.6279.6001.752603750437458841409277737148/1.3.6.1.4.1.14519.5.2.1.6279.6001.104780906131535625872840889059
|
| 106 |
+
LIDC-IDRI-0098/1.3.6.1.4.1.14519.5.2.1.6279.6001.217795632219483181846615097960/1.3.6.1.4.1.14519.5.2.1.6279.6001.286524966129599998397777745271
|
| 107 |
+
LIDC-IDRI-0632/1.3.6.1.4.1.14519.5.2.1.6279.6001.291460108344622455836419963313/1.3.6.1.4.1.14519.5.2.1.6279.6001.339484970190920330170416228517
|
| 108 |
+
LIDC-IDRI-0511/1.3.6.1.4.1.14519.5.2.1.6279.6001.160580646297142988675326833498/1.3.6.1.4.1.14519.5.2.1.6279.6001.657775098760536289051744981056
|
| 109 |
+
LIDC-IDRI-0834/1.3.6.1.4.1.14519.5.2.1.6279.6001.224985459390356936417021464571/1.3.6.1.4.1.14519.5.2.1.6279.6001.273525289046256012743471155680
|
| 110 |
+
LIDC-IDRI-0419/1.3.6.1.4.1.14519.5.2.1.6279.6001.283314504686117114905176791940/1.3.6.1.4.1.14519.5.2.1.6279.6001.254957696184671649675053562027
|
| 111 |
+
LIDC-IDRI-0042/1.3.6.1.4.1.14519.5.2.1.6279.6001.284028192986684647771628933377/1.3.6.1.4.1.14519.5.2.1.6279.6001.280125803152924778388346920341
|
| 112 |
+
LIDC-IDRI-0255/1.3.6.1.4.1.14519.5.2.1.6279.6001.241863405068914130326466911331/1.3.6.1.4.1.14519.5.2.1.6279.6001.240969450540588211676803094518
|
| 113 |
+
LIDC-IDRI-0058/1.3.6.1.4.1.14519.5.2.1.6279.6001.495416793311762759653372975706/1.3.6.1.4.1.14519.5.2.1.6279.6001.323408652979949774528873200770
|
| 114 |
+
LIDC-IDRI-0477/1.3.6.1.4.1.14519.5.2.1.6279.6001.339555666338359721401666777459/1.3.6.1.4.1.14519.5.2.1.6279.6001.478062284228419671253422844986
|
| 115 |
+
LIDC-IDRI-0417/1.3.6.1.4.1.14519.5.2.1.6279.6001.220535036761911718396433938390/1.3.6.1.4.1.14519.5.2.1.6279.6001.504324996863016748259361352296
|
| 116 |
+
LIDC-IDRI-0658/1.3.6.1.4.1.14519.5.2.1.6279.6001.221467562933372960599414594591/1.3.6.1.4.1.14519.5.2.1.6279.6001.167919147233131417984739058859
|
| 117 |
+
LIDC-IDRI-0489/1.3.6.1.4.1.14519.5.2.1.6279.6001.299799877133044736642536495362/1.3.6.1.4.1.14519.5.2.1.6279.6001.290135156874098366424871975734
|
| 118 |
+
LIDC-IDRI-0495/1.3.6.1.4.1.14519.5.2.1.6279.6001.150164970015823494629986891791/1.3.6.1.4.1.14519.5.2.1.6279.6001.111780708132595903430640048766
|
| 119 |
+
LIDC-IDRI-0847/1.3.6.1.4.1.14519.5.2.1.6279.6001.901103510796290218917651903823/1.3.6.1.4.1.14519.5.2.1.6279.6001.237915456403882324748189195892
|
| 120 |
+
LIDC-IDRI-0257/1.3.6.1.4.1.14519.5.2.1.6279.6001.429699865856208366565779600254/1.3.6.1.4.1.14519.5.2.1.6279.6001.614147706162329660656328811671
|
| 121 |
+
LIDC-IDRI-0055/1.3.6.1.4.1.14519.5.2.1.6279.6001.131383203689189807643685075952/1.3.6.1.4.1.14519.5.2.1.6279.6001.214252223927572015414741039150
|
| 122 |
+
LIDC-IDRI-0981/1.3.6.1.4.1.14519.5.2.1.6279.6001.183948389971742539190611659002/1.3.6.1.4.1.14519.5.2.1.6279.6001.156579001330474859527530187095
|
| 123 |
+
LIDC-IDRI-0446/1.3.6.1.4.1.14519.5.2.1.6279.6001.119049674920780852093306703519/1.3.6.1.4.1.14519.5.2.1.6279.6001.324649110927013926557500550446
|
| 124 |
+
LIDC-IDRI-0306/1.3.6.1.4.1.14519.5.2.1.6279.6001.204577804822753373728243956413/1.3.6.1.4.1.14519.5.2.1.6279.6001.269689294231892620436462818860
|
| 125 |
+
LIDC-IDRI-0359/1.3.6.1.4.1.14519.5.2.1.6279.6001.275399413024322303306387851279/1.3.6.1.4.1.14519.5.2.1.6279.6001.292868422368935585625620199750
|
| 126 |
+
LIDC-IDRI-0869/1.3.6.1.4.1.14519.5.2.1.6279.6001.250118712805848631355370259962/1.3.6.1.4.1.14519.5.2.1.6279.6001.163901773171373940247829492387
|
| 127 |
+
LIDC-IDRI-0876/1.3.6.1.4.1.14519.5.2.1.6279.6001.784007996791528844702730909529/1.3.6.1.4.1.14519.5.2.1.6279.6001.145510611155363050427743946446
|
| 128 |
+
LIDC-IDRI-0204/1.3.6.1.4.1.14519.5.2.1.6279.6001.190578678221433604759795450204/1.3.6.1.4.1.14519.5.2.1.6279.6001.149041668385192796520281592139
|
| 129 |
+
LIDC-IDRI-0196/1.3.6.1.4.1.14519.5.2.1.6279.6001.128882236014679059490275573019/1.3.6.1.4.1.14519.5.2.1.6279.6001.160586340600816116143631200450
|
| 130 |
+
LIDC-IDRI-0893/1.3.6.1.4.1.14519.5.2.1.6279.6001.187400292293901990471724598227/1.3.6.1.4.1.14519.5.2.1.6279.6001.765930210026773090100532964804
|
| 131 |
+
LIDC-IDRI-0868/1.3.6.1.4.1.14519.5.2.1.6279.6001.155894685355411131558273211903/1.3.6.1.4.1.14519.5.2.1.6279.6001.123654356399290048011621921476
|
| 132 |
+
LIDC-IDRI-0639/1.3.6.1.4.1.14519.5.2.1.6279.6001.117743534419290251609867537261/1.3.6.1.4.1.14519.5.2.1.6279.6001.293593766328917170359373773080
|
| 133 |
+
LIDC-IDRI-0209/1.3.6.1.4.1.14519.5.2.1.6279.6001.255996783379921037765414923334/1.3.6.1.4.1.14519.5.2.1.6279.6001.805925269324902055566754756843
|
| 134 |
+
LIDC-IDRI-0430/1.3.6.1.4.1.14519.5.2.1.6279.6001.559812581756025353887436599032/1.3.6.1.4.1.14519.5.2.1.6279.6001.323899724653546164058849558431
|
| 135 |
+
LIDC-IDRI-0686/1.3.6.1.4.1.14519.5.2.1.6279.6001.530012655070930408996523309860/1.3.6.1.4.1.14519.5.2.1.6279.6001.195557219224169985110295082004
|
| 136 |
+
LIDC-IDRI-0318/1.3.6.1.4.1.14519.5.2.1.6279.6001.261859010096419762853634942928/1.3.6.1.4.1.14519.5.2.1.6279.6001.439153572396640163898529626096
|
| 137 |
+
LIDC-IDRI-0990/1.3.6.1.4.1.14519.5.2.1.6279.6001.276910031320955223579056176086/1.3.6.1.4.1.14519.5.2.1.6279.6001.339882192295517122002429068974
|
| 138 |
+
LIDC-IDRI-0360/1.3.6.1.4.1.14519.5.2.1.6279.6001.172891325013037275999502688439/1.3.6.1.4.1.14519.5.2.1.6279.6001.449780571702869645673186059985
|
| 139 |
+
LIDC-IDRI-0237/1.3.6.1.4.1.14519.5.2.1.6279.6001.234418158081986309761071794125/1.3.6.1.4.1.14519.5.2.1.6279.6001.438308540025607517017949816111
|
| 140 |
+
LIDC-IDRI-0307/1.3.6.1.4.1.14519.5.2.1.6279.6001.119304150360419538908259539201/1.3.6.1.4.1.14519.5.2.1.6279.6001.283878926524838648426928238498
|
| 141 |
+
LIDC-IDRI-0319/1.3.6.1.4.1.14519.5.2.1.6279.6001.684596493379395503904158873210/1.3.6.1.4.1.14519.5.2.1.6279.6001.124154461048929153767743874565
|
| 142 |
+
LIDC-IDRI-0077/1.3.6.1.4.1.14519.5.2.1.6279.6001.220440176952423273988539874706/1.3.6.1.4.1.14519.5.2.1.6279.6001.669435869708883155232318480131
|
| 143 |
+
LIDC-IDRI-0691/1.3.6.1.4.1.14519.5.2.1.6279.6001.311744239959995611370181604400/1.3.6.1.4.1.14519.5.2.1.6279.6001.326853837126361167310734933887
|
| 144 |
+
LIDC-IDRI-0429/1.3.6.1.4.1.14519.5.2.1.6279.6001.322604336063659838243542603396/1.3.6.1.4.1.14519.5.2.1.6279.6001.392861216720727557882279374324
|
| 145 |
+
LIDC-IDRI-0436/1.3.6.1.4.1.14519.5.2.1.6279.6001.299257181285137013436464151874/1.3.6.1.4.1.14519.5.2.1.6279.6001.251204142823446211001577555181
|
| 146 |
+
LIDC-IDRI-0698/1.3.6.1.4.1.14519.5.2.1.6279.6001.292417350644573735869959859895/1.3.6.1.4.1.14519.5.2.1.6279.6001.208511362832825683639135205368
|
| 147 |
+
LIDC-IDRI-0111/1.3.6.1.4.1.14519.5.2.1.6279.6001.361004729625204263297457202086/1.3.6.1.4.1.14519.5.2.1.6279.6001.257383535269991165447822992959
|
| 148 |
+
LIDC-IDRI-0601/1.3.6.1.4.1.14519.5.2.1.6279.6001.292267299840811335940503268889/1.3.6.1.4.1.14519.5.2.1.6279.6001.224465398054769500989828256685
|
| 149 |
+
LIDC-IDRI-0315/1.3.6.1.4.1.14519.5.2.1.6279.6001.190722769298607626547238572819/1.3.6.1.4.1.14519.5.2.1.6279.6001.406508755509460310384282367044
|
| 150 |
+
LIDC-IDRI-0582/1.3.6.1.4.1.14519.5.2.1.6279.6001.235632691141320250472721126959/1.3.6.1.4.1.14519.5.2.1.6279.6001.124822907934319930841506266464
|
| 151 |
+
LIDC-IDRI-0645/1.3.6.1.4.1.14519.5.2.1.6279.6001.211028058202430803930155553655/1.3.6.1.4.1.14519.5.2.1.6279.6001.670107649586205629860363487713
|
| 152 |
+
LIDC-IDRI-0641/1.3.6.1.4.1.14519.5.2.1.6279.6001.191073955214402396197702655759/1.3.6.1.4.1.14519.5.2.1.6279.6001.299767339686526858593516834230
|
| 153 |
+
LIDC-IDRI-0529/1.3.6.1.4.1.14519.5.2.1.6279.6001.135441977655501389639333579222/1.3.6.1.4.1.14519.5.2.1.6279.6001.168605638657404145360275453085
|
| 154 |
+
LIDC-IDRI-0578/1.3.6.1.4.1.14519.5.2.1.6279.6001.145309426008342216455171944681/1.3.6.1.4.1.14519.5.2.1.6279.6001.313605260055394498989743099991
|
| 155 |
+
LIDC-IDRI-0478/1.3.6.1.4.1.14519.5.2.1.6279.6001.150842260481112310322112796796/1.3.6.1.4.1.14519.5.2.1.6279.6001.211071908915618528829547301883
|
| 156 |
+
LIDC-IDRI-0073/1.3.6.1.4.1.14519.5.2.1.6279.6001.271910441918529291689264844963/1.3.6.1.4.1.14519.5.2.1.6279.6001.279300249795483097365868125932
|
| 157 |
+
LIDC-IDRI-0899/1.3.6.1.4.1.14519.5.2.1.6279.6001.325608968275343627520297346991/1.3.6.1.4.1.14519.5.2.1.6279.6001.216652640878960522552873394709
|
data/splits/lidc_idri/train.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
data/splits/lidc_idri/val.txt
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
LIDC-IDRI-0828/1.3.6.1.4.1.14519.5.2.1.6279.6001.969325292841504805778529336047/1.3.6.1.4.1.14519.5.2.1.6279.6001.114195693932194925962391697338
|
| 2 |
+
LIDC-IDRI-0245/1.3.6.1.4.1.14519.5.2.1.6279.6001.188204058669364993757306038569/1.3.6.1.4.1.14519.5.2.1.6279.6001.320111824803959660037459294083
|
| 3 |
+
LIDC-IDRI-0184/1.3.6.1.4.1.14519.5.2.1.6279.6001.577239032421661596436882763701/1.3.6.1.4.1.14519.5.2.1.6279.6001.106630482085576298661469304872
|
| 4 |
+
LIDC-IDRI-0549/1.3.6.1.4.1.14519.5.2.1.6279.6001.298731156484751583249477309475/1.3.6.1.4.1.14519.5.2.1.6279.6001.154837327827713479309898027966
|
| 5 |
+
LIDC-IDRI-0385/1.3.6.1.4.1.14519.5.2.1.6279.6001.208376669554572460085205852204/1.3.6.1.4.1.14519.5.2.1.6279.6001.268030488196493755113553009785
|
| 6 |
+
LIDC-IDRI-0898/1.3.6.1.4.1.14519.5.2.1.6279.6001.871736676471446897375109464440/1.3.6.1.4.1.14519.5.2.1.6279.6001.244447966386688625240438849169
|
| 7 |
+
LIDC-IDRI-0262/1.3.6.1.4.1.14519.5.2.1.6279.6001.142440312470956325774436777849/1.3.6.1.4.1.14519.5.2.1.6279.6001.127965161564033605177803085629
|
| 8 |
+
LIDC-IDRI-0308/1.3.6.1.4.1.14519.5.2.1.6279.6001.310943546307547399461310181653/1.3.6.1.4.1.14519.5.2.1.6279.6001.270215889102603268207599305185
|
| 9 |
+
LIDC-IDRI-0562/1.3.6.1.4.1.14519.5.2.1.6279.6001.349904517868103143773797132680/1.3.6.1.4.1.14519.5.2.1.6279.6001.219087313261026510628926082729
|
| 10 |
+
LIDC-IDRI-0543/1.3.6.1.4.1.14519.5.2.1.6279.6001.158967312129487733823739945169/1.3.6.1.4.1.14519.5.2.1.6279.6001.792381786708289670758399079830
|
| 11 |
+
LIDC-IDRI-0873/1.3.6.1.4.1.14519.5.2.1.6279.6001.216596541995300108433152752372/1.3.6.1.4.1.14519.5.2.1.6279.6001.975254950136384517744116790879
|
| 12 |
+
LIDC-IDRI-0133/1.3.6.1.4.1.14519.5.2.1.6279.6001.138751917514248782010778675083/1.3.6.1.4.1.14519.5.2.1.6279.6001.133378195429627807109985347209
|
| 13 |
+
LIDC-IDRI-0445/1.3.6.1.4.1.14519.5.2.1.6279.6001.235161199041083161581467190209/1.3.6.1.4.1.14519.5.2.1.6279.6001.394470743585708729682444806008
|
| 14 |
+
LIDC-IDRI-0017/1.3.6.1.4.1.14519.5.2.1.6279.6001.853991115059421477233219569301/1.3.6.1.4.1.14519.5.2.1.6279.6001.108231420525711026834210228428
|
| 15 |
+
LIDC-IDRI-0748/1.3.6.1.4.1.14519.5.2.1.6279.6001.194890498394311571938776742465/1.3.6.1.4.1.14519.5.2.1.6279.6001.229860476925100292554329427970
|
| 16 |
+
LIDC-IDRI-0333/1.3.6.1.4.1.14519.5.2.1.6279.6001.119282761272977253557254714163/1.3.6.1.4.1.14519.5.2.1.6279.6001.885292267869246639232975687131
|
| 17 |
+
LIDC-IDRI-0260/1.3.6.1.4.1.14519.5.2.1.6279.6001.691546855561342606351412524861/1.3.6.1.4.1.14519.5.2.1.6279.6001.121993590721161347818774929286
|
| 18 |
+
LIDC-IDRI-0598/1.3.6.1.4.1.14519.5.2.1.6279.6001.304128927772479718113589870111/1.3.6.1.4.1.14519.5.2.1.6279.6001.939152384493874708850321969356
|
| 19 |
+
LIDC-IDRI-0647/1.3.6.1.4.1.14519.5.2.1.6279.6001.971476961920773226447199844576/1.3.6.1.4.1.14519.5.2.1.6279.6001.231834776365874788440767645596
|
| 20 |
+
LIDC-IDRI-0700/1.3.6.1.4.1.14519.5.2.1.6279.6001.181785797305004428693015149455/1.3.6.1.4.1.14519.5.2.1.6279.6001.227885601428639043345478571594
|
| 21 |
+
LIDC-IDRI-0903/1.3.6.1.4.1.14519.5.2.1.6279.6001.492147426349651002023084837260/1.3.6.1.4.1.14519.5.2.1.6279.6001.701514276942509393419164159551
|
| 22 |
+
LIDC-IDRI-0475/1.3.6.1.4.1.14519.5.2.1.6279.6001.219248583669253502298142724766/1.3.6.1.4.1.14519.5.2.1.6279.6001.140642535005388188316143069436
|
| 23 |
+
LIDC-IDRI-0756/1.3.6.1.4.1.14519.5.2.1.6279.6001.283065772077726118787509535476/1.3.6.1.4.1.14519.5.2.1.6279.6001.525937963993475482158828421281
|
| 24 |
+
LIDC-IDRI-0421/1.3.6.1.4.1.14519.5.2.1.6279.6001.145101705103753228347955694208/1.3.6.1.4.1.14519.5.2.1.6279.6001.331136451298749863730308327406
|
| 25 |
+
LIDC-IDRI-0909/1.3.6.1.4.1.14519.5.2.1.6279.6001.289759534306508848209269388603/1.3.6.1.4.1.14519.5.2.1.6279.6001.116703382344406837243058680403
|
| 26 |
+
LIDC-IDRI-0840/1.3.6.1.4.1.14519.5.2.1.6279.6001.317269195393986070164185617972/1.3.6.1.4.1.14519.5.2.1.6279.6001.219281726101239572270900838145
|
| 27 |
+
LIDC-IDRI-0231/1.3.6.1.4.1.14519.5.2.1.6279.6001.198021313421875017435046583973/1.3.6.1.4.1.14519.5.2.1.6279.6001.246589849815292078281051154201
|
| 28 |
+
LIDC-IDRI-0027/1.3.6.1.4.1.14519.5.2.1.6279.6001.228681789686851016136117645559/1.3.6.1.4.1.14519.5.2.1.6279.6001.183843376225716802567192412456
|
| 29 |
+
LIDC-IDRI-0999/1.3.6.1.4.1.14519.5.2.1.6279.6001.306223432026099623241869333271/1.3.6.1.4.1.14519.5.2.1.6279.6001.216882370221919561230873289517
|
| 30 |
+
LIDC-IDRI-0554/1.3.6.1.4.1.14519.5.2.1.6279.6001.371593558888147552115426364555/1.3.6.1.4.1.14519.5.2.1.6279.6001.306788423710427765311352901943
|
| 31 |
+
LIDC-IDRI-0911/1.3.6.1.4.1.14519.5.2.1.6279.6001.261881453527700554965645624212/1.3.6.1.4.1.14519.5.2.1.6279.6001.135657246677982059395844827629
|
| 32 |
+
LIDC-IDRI-0762/1.3.6.1.4.1.14519.5.2.1.6279.6001.215789618966985272514045108451/1.3.6.1.4.1.14519.5.2.1.6279.6001.292194861362266467652267941663
|
| 33 |
+
LIDC-IDRI-0313/1.3.6.1.4.1.14519.5.2.1.6279.6001.272416900158314679872946504460/1.3.6.1.4.1.14519.5.2.1.6279.6001.123697637451437522065941162930
|
| 34 |
+
LIDC-IDRI-0900/1.3.6.1.4.1.14519.5.2.1.6279.6001.282560440087299355954880509248/1.3.6.1.4.1.14519.5.2.1.6279.6001.183056151780567460322586876100
|
| 35 |
+
LIDC-IDRI-0523/1.3.6.1.4.1.14519.5.2.1.6279.6001.271916801059080642953570118476/1.3.6.1.4.1.14519.5.2.1.6279.6001.212608679077007918190529579976
|
| 36 |
+
LIDC-IDRI-0293/1.3.6.1.4.1.14519.5.2.1.6279.6001.319937379258174690082873343101/1.3.6.1.4.1.14519.5.2.1.6279.6001.686193079844756926365065559979
|
| 37 |
+
LIDC-IDRI-0807/1.3.6.1.4.1.14519.5.2.1.6279.6001.180089742036563526934101223693/1.3.6.1.4.1.14519.5.2.1.6279.6001.213854687290736562463866711534
|
| 38 |
+
LIDC-IDRI-0553/1.3.6.1.4.1.14519.5.2.1.6279.6001.330311286390409730062500041756/1.3.6.1.4.1.14519.5.2.1.6279.6001.965620538050807352935663552285
|
| 39 |
+
LIDC-IDRI-0065/1.3.6.1.4.1.14519.5.2.1.6279.6001.107410301078591208486461903808/1.3.6.1.4.1.14519.5.2.1.6279.6001.163217526257871051722166468085
|
| 40 |
+
LIDC-IDRI-0613/1.3.6.1.4.1.14519.5.2.1.6279.6001.174771861434175096253509271253/1.3.6.1.4.1.14519.5.2.1.6279.6001.241570579760883349458693655367
|
| 41 |
+
LIDC-IDRI-0932/1.3.6.1.4.1.14519.5.2.1.6279.6001.931660023131522836511470299550/1.3.6.1.4.1.14519.5.2.1.6279.6001.334022941831199910030220864961
|
| 42 |
+
LIDC-IDRI-0199/1.3.6.1.4.1.14519.5.2.1.6279.6001.199795594928180609213453658461/1.3.6.1.4.1.14519.5.2.1.6279.6001.302557165094691896097534021075
|
| 43 |
+
LIDC-IDRI-0402/1.3.6.1.4.1.14519.5.2.1.6279.6001.156618458422978822822335971869/1.3.6.1.4.1.14519.5.2.1.6279.6001.169128136262002764211589185953
|
| 44 |
+
LIDC-IDRI-0323/1.3.6.1.4.1.14519.5.2.1.6279.6001.245332552721136420493204351294/1.3.6.1.4.1.14519.5.2.1.6279.6001.235381170872316280538332229850
|
| 45 |
+
LIDC-IDRI-0043/1.3.6.1.4.1.14519.5.2.1.6279.6001.119160670718020063800771208605/1.3.6.1.4.1.14519.5.2.1.6279.6001.503980049263254396021509831276
|
| 46 |
+
LIDC-IDRI-0235/1.3.6.1.4.1.14519.5.2.1.6279.6001.558678722336494515704990369281/1.3.6.1.4.1.14519.5.2.1.6279.6001.162718361851587451505896742103
|
| 47 |
+
LIDC-IDRI-0755/1.3.6.1.4.1.14519.5.2.1.6279.6001.760815306677938279995420893266/1.3.6.1.4.1.14519.5.2.1.6279.6001.310626494937915759224334597176
|
| 48 |
+
LIDC-IDRI-0079/1.3.6.1.4.1.14519.5.2.1.6279.6001.303921580531000844896433537490/1.3.6.1.4.1.14519.5.2.1.6279.6001.213233719488315954975724605159
|
| 49 |
+
LIDC-IDRI-0502/1.3.6.1.4.1.14519.5.2.1.6279.6001.246309121384607847712377186777/1.3.6.1.4.1.14519.5.2.1.6279.6001.259018373683540453277752706262
|
| 50 |
+
LIDC-IDRI-0211/1.3.6.1.4.1.14519.5.2.1.6279.6001.253735246078920128978742275635/1.3.6.1.4.1.14519.5.2.1.6279.6001.173931884906244951746140865701
|
| 51 |
+
LIDC-IDRI-0902/1.3.6.1.4.1.14519.5.2.1.6279.6001.579308169960338143353751288115/1.3.6.1.4.1.14519.5.2.1.6279.6001.275766318636944297772360944907
|
| 52 |
+
LIDC-IDRI-0824/1.3.6.1.4.1.14519.5.2.1.6279.6001.164217405113124054884377740544/1.3.6.1.4.1.14519.5.2.1.6279.6001.146603910507557786636779705509
|
| 53 |
+
LIDC-IDRI-0135/1.3.6.1.4.1.14519.5.2.1.6279.6001.180685600263085599637486877417/1.3.6.1.4.1.14519.5.2.1.6279.6001.294120933998772507043263238704
|
| 54 |
+
LIDC-IDRI-0165/1.3.6.1.4.1.14519.5.2.1.6279.6001.253123637959400428278268237946/1.3.6.1.4.1.14519.5.2.1.6279.6001.320967206808467952819309001585
|
| 55 |
+
LIDC-IDRI-0131/1.3.6.1.4.1.14519.5.2.1.6279.6001.178055839088630125000227320316/1.3.6.1.4.1.14519.5.2.1.6279.6001.975426625618184773401026809852
|
| 56 |
+
LIDC-IDRI-0100/1.3.6.1.4.1.14519.5.2.1.6279.6001.318037728418742799972533240731/1.3.6.1.4.1.14519.5.2.1.6279.6001.622243923620914676263059698181
|
| 57 |
+
LIDC-IDRI-0075/1.3.6.1.4.1.14519.5.2.1.6279.6001.106200285452190102759452314796/1.3.6.1.4.1.14519.5.2.1.6279.6001.177086402277715068525592995222
|
| 58 |
+
LIDC-IDRI-0889/1.3.6.1.4.1.14519.5.2.1.6279.6001.246689028753310058145348599313/1.3.6.1.4.1.14519.5.2.1.6279.6001.108193664222196923321844991231
|
| 59 |
+
LIDC-IDRI-0962/1.3.6.1.4.1.14519.5.2.1.6279.6001.163747591665714002593484708741/1.3.6.1.4.1.14519.5.2.1.6279.6001.110835886706944718242055570943
|
| 60 |
+
LIDC-IDRI-0622/1.3.6.1.4.1.14519.5.2.1.6279.6001.315615142127549025541860963743/1.3.6.1.4.1.14519.5.2.1.6279.6001.300271604576987336866436407488
|
| 61 |
+
LIDC-IDRI-0970/1.3.6.1.4.1.14519.5.2.1.6279.6001.216069436844269562687497322947/1.3.6.1.4.1.14519.5.2.1.6279.6001.145283812746259413053188838096
|
| 62 |
+
LIDC-IDRI-0689/1.3.6.1.4.1.14519.5.2.1.6279.6001.496491930918288198728143484533/1.3.6.1.4.1.14519.5.2.1.6279.6001.888615810685807330497715730842
|
| 63 |
+
LIDC-IDRI-0764/1.3.6.1.4.1.14519.5.2.1.6279.6001.244373570322096288150284305419/1.3.6.1.4.1.14519.5.2.1.6279.6001.596908385953413160131451426904
|
| 64 |
+
LIDC-IDRI-0575/1.3.6.1.4.1.14519.5.2.1.6279.6001.320868967976297780563487478878/1.3.6.1.4.1.14519.5.2.1.6279.6001.743969234977916254223533321294
|
| 65 |
+
LIDC-IDRI-0311/1.3.6.1.4.1.14519.5.2.1.6279.6001.256415982022395230813284649190/1.3.6.1.4.1.14519.5.2.1.6279.6001.177252583002664900748714851615
|
| 66 |
+
LIDC-IDRI-0070/1.3.6.1.4.1.14519.5.2.1.6279.6001.101493103577576219860121359500/1.3.6.1.4.1.14519.5.2.1.6279.6001.178391668569567816549737454720
|
| 67 |
+
LIDC-IDRI-0395/1.3.6.1.4.1.14519.5.2.1.6279.6001.618131472311494996047749006675/1.3.6.1.4.1.14519.5.2.1.6279.6001.276831325040358815613434606380
|
| 68 |
+
LIDC-IDRI-0443/1.3.6.1.4.1.14519.5.2.1.6279.6001.765963830187381205722436255156/1.3.6.1.4.1.14519.5.2.1.6279.6001.202464973819273687476049035824
|
| 69 |
+
LIDC-IDRI-0777/1.3.6.1.4.1.14519.5.2.1.6279.6001.226719444846209417020566423366/1.3.6.1.4.1.14519.5.2.1.6279.6001.192256506776434538421891524301
|
| 70 |
+
LIDC-IDRI-0018/1.3.6.1.4.1.14519.5.2.1.6279.6001.818004751275342069818453790263/1.3.6.1.4.1.14519.5.2.1.6279.6001.882070241245008756731854510592
|
| 71 |
+
LIDC-IDRI-0531/1.3.6.1.4.1.14519.5.2.1.6279.6001.117677112723692713709361521135/1.3.6.1.4.1.14519.5.2.1.6279.6001.203179378754043776171267611064
|
| 72 |
+
LIDC-IDRI-0377/1.3.6.1.4.1.14519.5.2.1.6279.6001.264393460861616413192668347002/1.3.6.1.4.1.14519.5.2.1.6279.6001.295462530340364058116953738925
|
| 73 |
+
LIDC-IDRI-0032/1.3.6.1.4.1.14519.5.2.1.6279.6001.188500211166440175211144953482/1.3.6.1.4.1.14519.5.2.1.6279.6001.803808126682275425758092691689
|
| 74 |
+
LIDC-IDRI-0210/1.3.6.1.4.1.14519.5.2.1.6279.6001.304088547901303960997044129270/1.3.6.1.4.1.14519.5.2.1.6279.6001.193808128386712859512130599234
|
| 75 |
+
LIDC-IDRI-0737/1.3.6.1.4.1.14519.5.2.1.6279.6001.245530495041322714988642038927/1.3.6.1.4.1.14519.5.2.1.6279.6001.224845111941302943990256315343
|
| 76 |
+
LIDC-IDRI-0771/1.3.6.1.4.1.14519.5.2.1.6279.6001.721161755719965069770622927051/1.3.6.1.4.1.14519.5.2.1.6279.6001.141069661700670042960678408762
|
| 77 |
+
LIDC-IDRI-0926/1.3.6.1.4.1.14519.5.2.1.6279.6001.186165274648953680758061039841/1.3.6.1.4.1.14519.5.2.1.6279.6001.170765551637157813497344006818
|
| 78 |
+
LIDC-IDRI-0013/1.3.6.1.4.1.14519.5.2.1.6279.6001.331662654015358587276208254750/1.3.6.1.4.1.14519.5.2.1.6279.6001.174907798609768549012640380786
|
| 79 |
+
LIDC-IDRI-0168/1.3.6.1.4.1.14519.5.2.1.6279.6001.155422883755338970256390193392/1.3.6.1.4.1.14519.5.2.1.6279.6001.295298571102631191572192562523
|
| 80 |
+
LIDC-IDRI-0071/1.3.6.1.4.1.14519.5.2.1.6279.6001.194873495479991751098187519883/1.3.6.1.4.1.14519.5.2.1.6279.6001.290410217650314119074833254861
|
| 81 |
+
LIDC-IDRI-0444/1.3.6.1.4.1.14519.5.2.1.6279.6001.329613415894061309409362825998/1.3.6.1.4.1.14519.5.2.1.6279.6001.335866409407244673864352309754
|
| 82 |
+
LIDC-IDRI-0677/1.3.6.1.4.1.14519.5.2.1.6279.6001.637798773907788996937534925551/1.3.6.1.4.1.14519.5.2.1.6279.6001.814122498113547115932318256859
|
| 83 |
+
LIDC-IDRI-0290/1.3.6.1.4.1.14519.5.2.1.6279.6001.952440288393343800284327753087/1.3.6.1.4.1.14519.5.2.1.6279.6001.340012777775661021262977442176
|
| 84 |
+
LIDC-IDRI-0218/1.3.6.1.4.1.14519.5.2.1.6279.6001.193060940991432251540234479399/1.3.6.1.4.1.14519.5.2.1.6279.6001.172845185165807139298420209778
|
| 85 |
+
LIDC-IDRI-0690/1.3.6.1.4.1.14519.5.2.1.6279.6001.243265164379948694363428442147/1.3.6.1.4.1.14519.5.2.1.6279.6001.153181766344026020914478182395
|
| 86 |
+
LIDC-IDRI-0037/1.3.6.1.4.1.14519.5.2.1.6279.6001.250770014904528873190814943829/1.3.6.1.4.1.14519.5.2.1.6279.6001.219909753224298157409438012179
|
| 87 |
+
LIDC-IDRI-0838/1.3.6.1.4.1.14519.5.2.1.6279.6001.153879314331255637907074508526/1.3.6.1.4.1.14519.5.2.1.6279.6001.225227615446398900698431118292
|
| 88 |
+
LIDC-IDRI-0908/1.3.6.1.4.1.14519.5.2.1.6279.6001.144067942028925306269987156361/1.3.6.1.4.1.14519.5.2.1.6279.6001.265960756233787099041040311282
|
| 89 |
+
LIDC-IDRI-0544/1.3.6.1.4.1.14519.5.2.1.6279.6001.268602395458796193334776892547/1.3.6.1.4.1.14519.5.2.1.6279.6001.230078008964732806419498631442
|
| 90 |
+
LIDC-IDRI-0760/1.3.6.1.4.1.14519.5.2.1.6279.6001.390772419716078897913409775988/1.3.6.1.4.1.14519.5.2.1.6279.6001.111017101339429664883879536171
|
| 91 |
+
LIDC-IDRI-0343/1.3.6.1.4.1.14519.5.2.1.6279.6001.225952820864846070881460157728/1.3.6.1.4.1.14519.5.2.1.6279.6001.160124400349792614505500125883
|
| 92 |
+
LIDC-IDRI-0054/1.3.6.1.4.1.14519.5.2.1.6279.6001.244560540649171231768816505483/1.3.6.1.4.1.14519.5.2.1.6279.6001.174449669706458092793093760291
|
| 93 |
+
LIDC-IDRI-0426/1.3.6.1.4.1.14519.5.2.1.6279.6001.279815994089337890330418719400/1.3.6.1.4.1.14519.5.2.1.6279.6001.118924792893665851774878880764
|
| 94 |
+
LIDC-IDRI-0178/1.3.6.1.4.1.14519.5.2.1.6279.6001.218441204865582835284481030822/1.3.6.1.4.1.14519.5.2.1.6279.6001.140527383975300992150799777603
|
| 95 |
+
LIDC-IDRI-0282/1.3.6.1.4.1.14519.5.2.1.6279.6001.149109655051916227035843294920/1.3.6.1.4.1.14519.5.2.1.6279.6001.257840703452266097926250569223
|
| 96 |
+
LIDC-IDRI-0439/1.3.6.1.4.1.14519.5.2.1.6279.6001.226088449233409636933226805676/1.3.6.1.4.1.14519.5.2.1.6279.6001.300724599751226863091983308838
|
| 97 |
+
LIDC-IDRI-0599/1.3.6.1.4.1.14519.5.2.1.6279.6001.254284452408440744726985192393/1.3.6.1.4.1.14519.5.2.1.6279.6001.139444426690868429919252698606
|
| 98 |
+
LIDC-IDRI-0345/1.3.6.1.4.1.14519.5.2.1.6279.6001.311849240521371267537044867782/1.3.6.1.4.1.14519.5.2.1.6279.6001.387954549120924524005910602207
|
| 99 |
+
LIDC-IDRI-0363/1.3.6.1.4.1.14519.5.2.1.6279.6001.181593981812293966599842811096/1.3.6.1.4.1.14519.5.2.1.6279.6001.184412674007117333405073397832
|
| 100 |
+
LIDC-IDRI-0482/1.3.6.1.4.1.14519.5.2.1.6279.6001.189430712542278422214701249585/1.3.6.1.4.1.14519.5.2.1.6279.6001.319009811633846643966578282371
|
| 101 |
+
LIDC-IDRI-0102/1.3.6.1.4.1.14519.5.2.1.6279.6001.144098736774350495825430776051/1.3.6.1.4.1.14519.5.2.1.6279.6001.234400932423244218697302970157
|
| 102 |
+
LIDC-IDRI-0295/1.3.6.1.4.1.14519.5.2.1.6279.6001.184813778824165059499766817473/1.3.6.1.4.1.14519.5.2.1.6279.6001.300693623747082239407271583452
|
| 103 |
+
LIDC-IDRI-0019/1.3.6.1.4.1.14519.5.2.1.6279.6001.192544770425703459348950670623/1.3.6.1.4.1.14519.5.2.1.6279.6001.330425234131526435132846006585
|
| 104 |
+
LIDC-IDRI-0732/1.3.6.1.4.1.14519.5.2.1.6279.6001.298180121619674780553933016732/1.3.6.1.4.1.14519.5.2.1.6279.6001.244681063194071446501270815660
|
| 105 |
+
LIDC-IDRI-0800/1.3.6.1.4.1.14519.5.2.1.6279.6001.133142523452166818708847170969/1.3.6.1.4.1.14519.5.2.1.6279.6001.450501966058662668272378865145
|
| 106 |
+
LIDC-IDRI-0740/1.3.6.1.4.1.14519.5.2.1.6279.6001.516865813624724440843920586986/1.3.6.1.4.1.14519.5.2.1.6279.6001.233001470265230594739708503198
|
| 107 |
+
LIDC-IDRI-0997/1.3.6.1.4.1.14519.5.2.1.6279.6001.106068656437895419353734796481/1.3.6.1.4.1.14519.5.2.1.6279.6001.803987517543436570820681016103
|
| 108 |
+
LIDC-IDRI-0768/1.3.6.1.4.1.14519.5.2.1.6279.6001.276145303905683401700212326794/1.3.6.1.4.1.14519.5.2.1.6279.6001.194440094986948071643661798326
|
| 109 |
+
LIDC-IDRI-0874/1.3.6.1.4.1.14519.5.2.1.6279.6001.201981314170126152586920703158/1.3.6.1.4.1.14519.5.2.1.6279.6001.115386642382564804180764325545
|
| 110 |
+
LIDC-IDRI-0158/1.3.6.1.4.1.14519.5.2.1.6279.6001.107117680739311641559517949056/1.3.6.1.4.1.14519.5.2.1.6279.6001.244204120220889433826451158706
|
| 111 |
+
LIDC-IDRI-0616/1.3.6.1.4.1.14519.5.2.1.6279.6001.115280343269128534820068558233/1.3.6.1.4.1.14519.5.2.1.6279.6001.229171189693734694696158152904
|
| 112 |
+
LIDC-IDRI-0379/1.3.6.1.4.1.14519.5.2.1.6279.6001.190045142764457963256735097041/1.3.6.1.4.1.14519.5.2.1.6279.6001.620476670380256054392660616754
|
| 113 |
+
LIDC-IDRI-0846/1.3.6.1.4.1.14519.5.2.1.6279.6001.267354935124724968585540389507/1.3.6.1.4.1.14519.5.2.1.6279.6001.674809958213117379592437424616
|
| 114 |
+
LIDC-IDRI-0547/1.3.6.1.4.1.14519.5.2.1.6279.6001.139007379520761595657549251638/1.3.6.1.4.1.14519.5.2.1.6279.6001.725236073737175770730904408416
|
| 115 |
+
LIDC-IDRI-0266/1.3.6.1.4.1.14519.5.2.1.6279.6001.318387528257740161829281579408/1.3.6.1.4.1.14519.5.2.1.6279.6001.341557859428950960906150406596
|
| 116 |
+
LIDC-IDRI-0998/1.3.6.1.4.1.14519.5.2.1.6279.6001.214802309639542154012576451584/1.3.6.1.4.1.14519.5.2.1.6279.6001.120301525825493211649827266081
|
| 117 |
+
LIDC-IDRI-0240/1.3.6.1.4.1.14519.5.2.1.6279.6001.147379540710364690031394735651/1.3.6.1.4.1.14519.5.2.1.6279.6001.187451715205085403623595258748
|
| 118 |
+
LIDC-IDRI-0518/1.3.6.1.4.1.14519.5.2.1.6279.6001.253018306736883838620886843861/1.3.6.1.4.1.14519.5.2.1.6279.6001.501205984478455794251416553685
|
| 119 |
+
LIDC-IDRI-0150/1.3.6.1.4.1.14519.5.2.1.6279.6001.249778071616205114955151949358/1.3.6.1.4.1.14519.5.2.1.6279.6001.400871509992541458184881866614
|
| 120 |
+
LIDC-IDRI-0321/1.3.6.1.4.1.14519.5.2.1.6279.6001.995561512722026805270815340218/1.3.6.1.4.1.14519.5.2.1.6279.6001.231002159523969307155990628066
|
| 121 |
+
LIDC-IDRI-0657/1.3.6.1.4.1.14519.5.2.1.6279.6001.139195294068636036088709372879/1.3.6.1.4.1.14519.5.2.1.6279.6001.113586291551175790743673929831
|
| 122 |
+
LIDC-IDRI-0048/1.3.6.1.4.1.14519.5.2.1.6279.6001.208177797605474151106520124306/1.3.6.1.4.1.14519.5.2.1.6279.6001.250863365157630276148828903732
|
| 123 |
+
LIDC-IDRI-0638/1.3.6.1.4.1.14519.5.2.1.6279.6001.508213936241272779545636798976/1.3.6.1.4.1.14519.5.2.1.6279.6001.133132722052053001903031735878
|
| 124 |
+
LIDC-IDRI-0374/1.3.6.1.4.1.14519.5.2.1.6279.6001.288142673190348607009892502290/1.3.6.1.4.1.14519.5.2.1.6279.6001.231645134739451754302647733304
|
| 125 |
+
LIDC-IDRI-0513/1.3.6.1.4.1.14519.5.2.1.6279.6001.139336671328588936769008918609/1.3.6.1.4.1.14519.5.2.1.6279.6001.109882169963817627559804568094
|
| 126 |
+
LIDC-IDRI-0918/1.3.6.1.4.1.14519.5.2.1.6279.6001.285544678683551057709080736846/1.3.6.1.4.1.14519.5.2.1.6279.6001.186021279664749879526003668137
|
| 127 |
+
LIDC-IDRI-0278/1.3.6.1.4.1.14519.5.2.1.6279.6001.314166198948235683770741486536/1.3.6.1.4.1.14519.5.2.1.6279.6001.106379658920626694402549886949
|
| 128 |
+
LIDC-IDRI-0310/1.3.6.1.4.1.14519.5.2.1.6279.6001.514061889253028999256401521179/1.3.6.1.4.1.14519.5.2.1.6279.6001.136756942516460150151065708673
|
| 129 |
+
LIDC-IDRI-0327/1.3.6.1.4.1.14519.5.2.1.6279.6001.301171277391758789763526477213/1.3.6.1.4.1.14519.5.2.1.6279.6001.229664630348267553620068691756
|
| 130 |
+
LIDC-IDRI-0250/1.3.6.1.4.1.14519.5.2.1.6279.6001.145271800733926000322166019837/1.3.6.1.4.1.14519.5.2.1.6279.6001.230491296081537726468075344411
|
| 131 |
+
LIDC-IDRI-0577/1.3.6.1.4.1.14519.5.2.1.6279.6001.322524653283033873625769278172/1.3.6.1.4.1.14519.5.2.1.6279.6001.323132750133803288886848693067
|
| 132 |
+
LIDC-IDRI-0349/1.3.6.1.4.1.14519.5.2.1.6279.6001.288600044561367666308581395376/1.3.6.1.4.1.14519.5.2.1.6279.6001.296066944953051278419805374238
|
| 133 |
+
LIDC-IDRI-0088/1.3.6.1.4.1.14519.5.2.1.6279.6001.236722533610330821341378792527/1.3.6.1.4.1.14519.5.2.1.6279.6001.113679818447732724990336702075
|
| 134 |
+
LIDC-IDRI-0936/1.3.6.1.4.1.14519.5.2.1.6279.6001.278388415999131655907385534718/1.3.6.1.4.1.14519.5.2.1.6279.6001.296738183013079390785739615169
|
| 135 |
+
LIDC-IDRI-0021/1.3.6.1.4.1.14519.5.2.1.6279.6001.165741627456266454825445080793/1.3.6.1.4.1.14519.5.2.1.6279.6001.188265424231150847356515802868
|
| 136 |
+
LIDC-IDRI-0534/1.3.6.1.4.1.14519.5.2.1.6279.6001.321085339464682432111441689315/1.3.6.1.4.1.14519.5.2.1.6279.6001.255233548387770235844350895151
|
| 137 |
+
LIDC-IDRI-0662/1.3.6.1.4.1.14519.5.2.1.6279.6001.998144378008088787705870980497/1.3.6.1.4.1.14519.5.2.1.6279.6001.226564372605239604660221582288
|
| 138 |
+
LIDC-IDRI-0113/1.3.6.1.4.1.14519.5.2.1.6279.6001.313935464622070730633776692194/1.3.6.1.4.1.14519.5.2.1.6279.6001.336225579776978874775723463327
|
| 139 |
+
LIDC-IDRI-0865/1.3.6.1.4.1.14519.5.2.1.6279.6001.250807847445096579567542381073/1.3.6.1.4.1.14519.5.2.1.6279.6001.655242448149322898770987310561
|
| 140 |
+
LIDC-IDRI-0408/1.3.6.1.4.1.14519.5.2.1.6279.6001.202128825827009854792580489975/1.3.6.1.4.1.14519.5.2.1.6279.6001.205523326998654833765855998037
|
| 141 |
+
LIDC-IDRI-0425/1.3.6.1.4.1.14519.5.2.1.6279.6001.324010126067181018301854747805/1.3.6.1.4.1.14519.5.2.1.6279.6001.314519596680450457855054746285
|
| 142 |
+
LIDC-IDRI-0213/1.3.6.1.4.1.14519.5.2.1.6279.6001.280531413986295071283803322793/1.3.6.1.4.1.14519.5.2.1.6279.6001.200841000324240313648595016964
|
| 143 |
+
LIDC-IDRI-0586/1.3.6.1.4.1.14519.5.2.1.6279.6001.100036212881370097961774473021/1.3.6.1.4.1.14519.5.2.1.6279.6001.130765375502800983459674173881
|
| 144 |
+
LIDC-IDRI-0713/1.3.6.1.4.1.14519.5.2.1.6279.6001.694111741408084165729604375833/1.3.6.1.4.1.14519.5.2.1.6279.6001.205113715251629496479289015582
|
| 145 |
+
LIDC-IDRI-0101/1.3.6.1.4.1.14519.5.2.1.6279.6001.584233139051825667176600857752/1.3.6.1.4.1.14519.5.2.1.6279.6001.340202188094259402036602717327
|
| 146 |
+
LIDC-IDRI-0988/1.3.6.1.4.1.14519.5.2.1.6279.6001.127337418291965622570751117460/1.3.6.1.4.1.14519.5.2.1.6279.6001.250438451287314206124484591986
|
| 147 |
+
LIDC-IDRI-0517/1.3.6.1.4.1.14519.5.2.1.6279.6001.849666522017598388280673804221/1.3.6.1.4.1.14519.5.2.1.6279.6001.202476538079060560282495099956
|
| 148 |
+
LIDC-IDRI-0767/1.3.6.1.4.1.14519.5.2.1.6279.6001.733596311057474916459070445858/1.3.6.1.4.1.14519.5.2.1.6279.6001.332453873575389860371315979768
|
data/splits/msd_lung/test.txt
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
lung_005
|
| 2 |
+
lung_016
|
| 3 |
+
lung_022
|
| 4 |
+
lung_023
|
| 5 |
+
lung_027
|
| 6 |
+
lung_028
|
| 7 |
+
lung_041
|
| 8 |
+
lung_051
|
| 9 |
+
lung_059
|
| 10 |
+
lung_071
|
| 11 |
+
lung_073
|
| 12 |
+
lung_081
|
| 13 |
+
lung_093
|
data/splits/msd_lung/train.txt
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
lung_003
|
| 2 |
+
lung_004
|
| 3 |
+
lung_006
|
| 4 |
+
lung_010
|
| 5 |
+
lung_014
|
| 6 |
+
lung_015
|
| 7 |
+
lung_018
|
| 8 |
+
lung_020
|
| 9 |
+
lung_025
|
| 10 |
+
lung_026
|
| 11 |
+
lung_029
|
| 12 |
+
lung_031
|
| 13 |
+
lung_033
|
| 14 |
+
lung_034
|
| 15 |
+
lung_036
|
| 16 |
+
lung_037
|
| 17 |
+
lung_038
|
| 18 |
+
lung_042
|
| 19 |
+
lung_043
|
| 20 |
+
lung_044
|
| 21 |
+
lung_045
|
| 22 |
+
lung_046
|
| 23 |
+
lung_047
|
| 24 |
+
lung_048
|
| 25 |
+
lung_049
|
| 26 |
+
lung_053
|
| 27 |
+
lung_055
|
| 28 |
+
lung_057
|
| 29 |
+
lung_058
|
| 30 |
+
lung_061
|
| 31 |
+
lung_062
|
| 32 |
+
lung_065
|
| 33 |
+
lung_066
|
| 34 |
+
lung_069
|
| 35 |
+
lung_070
|
| 36 |
+
lung_074
|
| 37 |
+
lung_075
|
| 38 |
+
lung_078
|
| 39 |
+
lung_079
|
| 40 |
+
lung_080
|
| 41 |
+
lung_083
|
| 42 |
+
lung_086
|
| 43 |
+
lung_092
|
| 44 |
+
lung_096
|
data/splits/msd_lung/val.txt
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
lung_001
|
| 2 |
+
lung_009
|
| 3 |
+
lung_054
|
| 4 |
+
lung_064
|
| 5 |
+
lung_084
|
| 6 |
+
lung_095
|
data/splits/nsclc_radiomics/test.txt
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
LUNG1-001
|
| 2 |
+
LUNG1-004
|
| 3 |
+
LUNG1-006
|
| 4 |
+
LUNG1-008
|
| 5 |
+
LUNG1-016
|
| 6 |
+
LUNG1-017
|
| 7 |
+
LUNG1-018
|
| 8 |
+
LUNG1-019
|
| 9 |
+
LUNG1-020
|
| 10 |
+
LUNG1-023
|
| 11 |
+
LUNG1-025
|
| 12 |
+
LUNG1-026
|
| 13 |
+
LUNG1-027
|
| 14 |
+
LUNG1-032
|
| 15 |
+
LUNG1-034
|
| 16 |
+
LUNG1-044
|
| 17 |
+
LUNG1-047
|
| 18 |
+
LUNG1-048
|
| 19 |
+
LUNG1-059
|
| 20 |
+
LUNG1-062
|
| 21 |
+
LUNG1-065
|
| 22 |
+
LUNG1-068
|
| 23 |
+
LUNG1-079
|
| 24 |
+
LUNG1-080
|
| 25 |
+
LUNG1-084
|
| 26 |
+
LUNG1-086
|
| 27 |
+
LUNG1-095
|
| 28 |
+
LUNG1-103
|
| 29 |
+
LUNG1-106
|
| 30 |
+
LUNG1-110
|
| 31 |
+
LUNG1-112
|
| 32 |
+
LUNG1-115
|
| 33 |
+
LUNG1-126
|
| 34 |
+
LUNG1-129
|
| 35 |
+
LUNG1-134
|
| 36 |
+
LUNG1-151
|
| 37 |
+
LUNG1-156
|
| 38 |
+
LUNG1-157
|
| 39 |
+
LUNG1-175
|
| 40 |
+
LUNG1-176
|
| 41 |
+
LUNG1-202
|
| 42 |
+
LUNG1-206
|
| 43 |
+
LUNG1-207
|
| 44 |
+
LUNG1-213
|
| 45 |
+
LUNG1-249
|
| 46 |
+
LUNG1-251
|
| 47 |
+
LUNG1-268
|
| 48 |
+
LUNG1-269
|
| 49 |
+
LUNG1-275
|
| 50 |
+
LUNG1-280
|
| 51 |
+
LUNG1-281
|
| 52 |
+
LUNG1-283
|
| 53 |
+
LUNG1-284
|
| 54 |
+
LUNG1-287
|
| 55 |
+
LUNG1-292
|
| 56 |
+
LUNG1-297
|
| 57 |
+
LUNG1-299
|
| 58 |
+
LUNG1-305
|
| 59 |
+
LUNG1-314
|
| 60 |
+
LUNG1-315
|
| 61 |
+
LUNG1-320
|
| 62 |
+
LUNG1-326
|
| 63 |
+
LUNG1-336
|
| 64 |
+
LUNG1-349
|
| 65 |
+
LUNG1-359
|
| 66 |
+
LUNG1-361
|
| 67 |
+
LUNG1-364
|
| 68 |
+
LUNG1-365
|
| 69 |
+
LUNG1-369
|
| 70 |
+
LUNG1-370
|
| 71 |
+
LUNG1-373
|
| 72 |
+
LUNG1-374
|
| 73 |
+
LUNG1-378
|
| 74 |
+
LUNG1-382
|
| 75 |
+
LUNG1-385
|
| 76 |
+
LUNG1-391
|
| 77 |
+
LUNG1-394
|
| 78 |
+
LUNG1-396
|
| 79 |
+
LUNG1-402
|
| 80 |
+
LUNG1-405
|
| 81 |
+
LUNG1-409
|
| 82 |
+
LUNG1-411
|
| 83 |
+
LUNG1-414
|
| 84 |
+
LUNG1-418
|
data/splits/nsclc_radiomics/train.txt
ADDED
|
@@ -0,0 +1,294 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
LUNG1-002
|
| 2 |
+
LUNG1-003
|
| 3 |
+
LUNG1-005
|
| 4 |
+
LUNG1-007
|
| 5 |
+
LUNG1-009
|
| 6 |
+
LUNG1-011
|
| 7 |
+
LUNG1-012
|
| 8 |
+
LUNG1-013
|
| 9 |
+
LUNG1-014
|
| 10 |
+
LUNG1-015
|
| 11 |
+
LUNG1-021
|
| 12 |
+
LUNG1-022
|
| 13 |
+
LUNG1-024
|
| 14 |
+
LUNG1-028
|
| 15 |
+
LUNG1-029
|
| 16 |
+
LUNG1-030
|
| 17 |
+
LUNG1-033
|
| 18 |
+
LUNG1-036
|
| 19 |
+
LUNG1-037
|
| 20 |
+
LUNG1-038
|
| 21 |
+
LUNG1-039
|
| 22 |
+
LUNG1-040
|
| 23 |
+
LUNG1-042
|
| 24 |
+
LUNG1-043
|
| 25 |
+
LUNG1-045
|
| 26 |
+
LUNG1-046
|
| 27 |
+
LUNG1-049
|
| 28 |
+
LUNG1-050
|
| 29 |
+
LUNG1-051
|
| 30 |
+
LUNG1-052
|
| 31 |
+
LUNG1-053
|
| 32 |
+
LUNG1-054
|
| 33 |
+
LUNG1-055
|
| 34 |
+
LUNG1-056
|
| 35 |
+
LUNG1-060
|
| 36 |
+
LUNG1-061
|
| 37 |
+
LUNG1-063
|
| 38 |
+
LUNG1-064
|
| 39 |
+
LUNG1-066
|
| 40 |
+
LUNG1-067
|
| 41 |
+
LUNG1-069
|
| 42 |
+
LUNG1-070
|
| 43 |
+
LUNG1-071
|
| 44 |
+
LUNG1-073
|
| 45 |
+
LUNG1-076
|
| 46 |
+
LUNG1-082
|
| 47 |
+
LUNG1-083
|
| 48 |
+
LUNG1-085
|
| 49 |
+
LUNG1-087
|
| 50 |
+
LUNG1-088
|
| 51 |
+
LUNG1-089
|
| 52 |
+
LUNG1-090
|
| 53 |
+
LUNG1-091
|
| 54 |
+
LUNG1-093
|
| 55 |
+
LUNG1-094
|
| 56 |
+
LUNG1-097
|
| 57 |
+
LUNG1-098
|
| 58 |
+
LUNG1-099
|
| 59 |
+
LUNG1-100
|
| 60 |
+
LUNG1-101
|
| 61 |
+
LUNG1-102
|
| 62 |
+
LUNG1-104
|
| 63 |
+
LUNG1-105
|
| 64 |
+
LUNG1-107
|
| 65 |
+
LUNG1-108
|
| 66 |
+
LUNG1-109
|
| 67 |
+
LUNG1-111
|
| 68 |
+
LUNG1-113
|
| 69 |
+
LUNG1-114
|
| 70 |
+
LUNG1-116
|
| 71 |
+
LUNG1-117
|
| 72 |
+
LUNG1-119
|
| 73 |
+
LUNG1-120
|
| 74 |
+
LUNG1-121
|
| 75 |
+
LUNG1-122
|
| 76 |
+
LUNG1-123
|
| 77 |
+
LUNG1-124
|
| 78 |
+
LUNG1-125
|
| 79 |
+
LUNG1-127
|
| 80 |
+
LUNG1-130
|
| 81 |
+
LUNG1-131
|
| 82 |
+
LUNG1-132
|
| 83 |
+
LUNG1-133
|
| 84 |
+
LUNG1-136
|
| 85 |
+
LUNG1-137
|
| 86 |
+
LUNG1-138
|
| 87 |
+
LUNG1-139
|
| 88 |
+
LUNG1-141
|
| 89 |
+
LUNG1-142
|
| 90 |
+
LUNG1-143
|
| 91 |
+
LUNG1-144
|
| 92 |
+
LUNG1-145
|
| 93 |
+
LUNG1-146
|
| 94 |
+
LUNG1-147
|
| 95 |
+
LUNG1-149
|
| 96 |
+
LUNG1-150
|
| 97 |
+
LUNG1-152
|
| 98 |
+
LUNG1-153
|
| 99 |
+
LUNG1-154
|
| 100 |
+
LUNG1-155
|
| 101 |
+
LUNG1-158
|
| 102 |
+
LUNG1-159
|
| 103 |
+
LUNG1-160
|
| 104 |
+
LUNG1-161
|
| 105 |
+
LUNG1-162
|
| 106 |
+
LUNG1-163
|
| 107 |
+
LUNG1-164
|
| 108 |
+
LUNG1-165
|
| 109 |
+
LUNG1-166
|
| 110 |
+
LUNG1-167
|
| 111 |
+
LUNG1-168
|
| 112 |
+
LUNG1-169
|
| 113 |
+
LUNG1-170
|
| 114 |
+
LUNG1-172
|
| 115 |
+
LUNG1-173
|
| 116 |
+
LUNG1-174
|
| 117 |
+
LUNG1-177
|
| 118 |
+
LUNG1-179
|
| 119 |
+
LUNG1-180
|
| 120 |
+
LUNG1-181
|
| 121 |
+
LUNG1-182
|
| 122 |
+
LUNG1-183
|
| 123 |
+
LUNG1-184
|
| 124 |
+
LUNG1-185
|
| 125 |
+
LUNG1-186
|
| 126 |
+
LUNG1-188
|
| 127 |
+
LUNG1-189
|
| 128 |
+
LUNG1-190
|
| 129 |
+
LUNG1-191
|
| 130 |
+
LUNG1-192
|
| 131 |
+
LUNG1-193
|
| 132 |
+
LUNG1-194
|
| 133 |
+
LUNG1-196
|
| 134 |
+
LUNG1-198
|
| 135 |
+
LUNG1-200
|
| 136 |
+
LUNG1-201
|
| 137 |
+
LUNG1-203
|
| 138 |
+
LUNG1-204
|
| 139 |
+
LUNG1-205
|
| 140 |
+
LUNG1-208
|
| 141 |
+
LUNG1-209
|
| 142 |
+
LUNG1-210
|
| 143 |
+
LUNG1-212
|
| 144 |
+
LUNG1-214
|
| 145 |
+
LUNG1-215
|
| 146 |
+
LUNG1-216
|
| 147 |
+
LUNG1-217
|
| 148 |
+
LUNG1-218
|
| 149 |
+
LUNG1-219
|
| 150 |
+
LUNG1-220
|
| 151 |
+
LUNG1-222
|
| 152 |
+
LUNG1-223
|
| 153 |
+
LUNG1-224
|
| 154 |
+
LUNG1-225
|
| 155 |
+
LUNG1-226
|
| 156 |
+
LUNG1-227
|
| 157 |
+
LUNG1-228
|
| 158 |
+
LUNG1-229
|
| 159 |
+
LUNG1-230
|
| 160 |
+
LUNG1-232
|
| 161 |
+
LUNG1-233
|
| 162 |
+
LUNG1-235
|
| 163 |
+
LUNG1-236
|
| 164 |
+
LUNG1-237
|
| 165 |
+
LUNG1-238
|
| 166 |
+
LUNG1-239
|
| 167 |
+
LUNG1-240
|
| 168 |
+
LUNG1-241
|
| 169 |
+
LUNG1-243
|
| 170 |
+
LUNG1-244
|
| 171 |
+
LUNG1-245
|
| 172 |
+
LUNG1-246
|
| 173 |
+
LUNG1-247
|
| 174 |
+
LUNG1-248
|
| 175 |
+
LUNG1-252
|
| 176 |
+
LUNG1-253
|
| 177 |
+
LUNG1-254
|
| 178 |
+
LUNG1-255
|
| 179 |
+
LUNG1-256
|
| 180 |
+
LUNG1-257
|
| 181 |
+
LUNG1-258
|
| 182 |
+
LUNG1-259
|
| 183 |
+
LUNG1-260
|
| 184 |
+
LUNG1-261
|
| 185 |
+
LUNG1-262
|
| 186 |
+
LUNG1-263
|
| 187 |
+
LUNG1-264
|
| 188 |
+
LUNG1-266
|
| 189 |
+
LUNG1-267
|
| 190 |
+
LUNG1-270
|
| 191 |
+
LUNG1-271
|
| 192 |
+
LUNG1-272
|
| 193 |
+
LUNG1-273
|
| 194 |
+
LUNG1-276
|
| 195 |
+
LUNG1-277
|
| 196 |
+
LUNG1-278
|
| 197 |
+
LUNG1-279
|
| 198 |
+
LUNG1-282
|
| 199 |
+
LUNG1-285
|
| 200 |
+
LUNG1-286
|
| 201 |
+
LUNG1-288
|
| 202 |
+
LUNG1-289
|
| 203 |
+
LUNG1-290
|
| 204 |
+
LUNG1-291
|
| 205 |
+
LUNG1-293
|
| 206 |
+
LUNG1-294
|
| 207 |
+
LUNG1-295
|
| 208 |
+
LUNG1-296
|
| 209 |
+
LUNG1-298
|
| 210 |
+
LUNG1-301
|
| 211 |
+
LUNG1-302
|
| 212 |
+
LUNG1-303
|
| 213 |
+
LUNG1-304
|
| 214 |
+
LUNG1-306
|
| 215 |
+
LUNG1-307
|
| 216 |
+
LUNG1-308
|
| 217 |
+
LUNG1-309
|
| 218 |
+
LUNG1-310
|
| 219 |
+
LUNG1-311
|
| 220 |
+
LUNG1-312
|
| 221 |
+
LUNG1-313
|
| 222 |
+
LUNG1-316
|
| 223 |
+
LUNG1-317
|
| 224 |
+
LUNG1-318
|
| 225 |
+
LUNG1-319
|
| 226 |
+
LUNG1-321
|
| 227 |
+
LUNG1-322
|
| 228 |
+
LUNG1-323
|
| 229 |
+
LUNG1-324
|
| 230 |
+
LUNG1-325
|
| 231 |
+
LUNG1-327
|
| 232 |
+
LUNG1-328
|
| 233 |
+
LUNG1-330
|
| 234 |
+
LUNG1-331
|
| 235 |
+
LUNG1-333
|
| 236 |
+
LUNG1-334
|
| 237 |
+
LUNG1-335
|
| 238 |
+
LUNG1-338
|
| 239 |
+
LUNG1-339
|
| 240 |
+
LUNG1-341
|
| 241 |
+
LUNG1-342
|
| 242 |
+
LUNG1-343
|
| 243 |
+
LUNG1-344
|
| 244 |
+
LUNG1-345
|
| 245 |
+
LUNG1-346
|
| 246 |
+
LUNG1-347
|
| 247 |
+
LUNG1-348
|
| 248 |
+
LUNG1-351
|
| 249 |
+
LUNG1-352
|
| 250 |
+
LUNG1-353
|
| 251 |
+
LUNG1-354
|
| 252 |
+
LUNG1-355
|
| 253 |
+
LUNG1-357
|
| 254 |
+
LUNG1-358
|
| 255 |
+
LUNG1-360
|
| 256 |
+
LUNG1-362
|
| 257 |
+
LUNG1-363
|
| 258 |
+
LUNG1-366
|
| 259 |
+
LUNG1-367
|
| 260 |
+
LUNG1-368
|
| 261 |
+
LUNG1-375
|
| 262 |
+
LUNG1-376
|
| 263 |
+
LUNG1-377
|
| 264 |
+
LUNG1-379
|
| 265 |
+
LUNG1-380
|
| 266 |
+
LUNG1-381
|
| 267 |
+
LUNG1-383
|
| 268 |
+
LUNG1-384
|
| 269 |
+
LUNG1-386
|
| 270 |
+
LUNG1-387
|
| 271 |
+
LUNG1-388
|
| 272 |
+
LUNG1-389
|
| 273 |
+
LUNG1-390
|
| 274 |
+
LUNG1-392
|
| 275 |
+
LUNG1-393
|
| 276 |
+
LUNG1-395
|
| 277 |
+
LUNG1-397
|
| 278 |
+
LUNG1-398
|
| 279 |
+
LUNG1-399
|
| 280 |
+
LUNG1-400
|
| 281 |
+
LUNG1-401
|
| 282 |
+
LUNG1-403
|
| 283 |
+
LUNG1-404
|
| 284 |
+
LUNG1-406
|
| 285 |
+
LUNG1-407
|
| 286 |
+
LUNG1-408
|
| 287 |
+
LUNG1-410
|
| 288 |
+
LUNG1-412
|
| 289 |
+
LUNG1-413
|
| 290 |
+
LUNG1-416
|
| 291 |
+
LUNG1-417
|
| 292 |
+
LUNG1-420
|
| 293 |
+
LUNG1-421
|
| 294 |
+
LUNG1-422
|
data/splits/nsclc_radiomics/val.txt
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
LUNG1-010
|
| 2 |
+
LUNG1-031
|
| 3 |
+
LUNG1-041
|
| 4 |
+
LUNG1-057
|
| 5 |
+
LUNG1-058
|
| 6 |
+
LUNG1-072
|
| 7 |
+
LUNG1-074
|
| 8 |
+
LUNG1-075
|
| 9 |
+
LUNG1-077
|
| 10 |
+
LUNG1-078
|
| 11 |
+
LUNG1-081
|
| 12 |
+
LUNG1-092
|
| 13 |
+
LUNG1-096
|
| 14 |
+
LUNG1-118
|
| 15 |
+
LUNG1-135
|
| 16 |
+
LUNG1-140
|
| 17 |
+
LUNG1-148
|
| 18 |
+
LUNG1-171
|
| 19 |
+
LUNG1-178
|
| 20 |
+
LUNG1-187
|
| 21 |
+
LUNG1-195
|
| 22 |
+
LUNG1-197
|
| 23 |
+
LUNG1-199
|
| 24 |
+
LUNG1-211
|
| 25 |
+
LUNG1-221
|
| 26 |
+
LUNG1-231
|
| 27 |
+
LUNG1-234
|
| 28 |
+
LUNG1-242
|
| 29 |
+
LUNG1-250
|
| 30 |
+
LUNG1-265
|
| 31 |
+
LUNG1-274
|
| 32 |
+
LUNG1-300
|
| 33 |
+
LUNG1-329
|
| 34 |
+
LUNG1-332
|
| 35 |
+
LUNG1-337
|
| 36 |
+
LUNG1-340
|
| 37 |
+
LUNG1-350
|
| 38 |
+
LUNG1-356
|
| 39 |
+
LUNG1-371
|
| 40 |
+
LUNG1-372
|
| 41 |
+
LUNG1-415
|
| 42 |
+
LUNG1-419
|
data/splits/rsna_pe/test.txt
ADDED
|
@@ -0,0 +1,1060 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
c28f3d01b14f/7d17c72fd0ce
|
| 2 |
+
c8fbf1e08ac5/275497911f02
|
| 3 |
+
c04645a2c8b3/86cd87aed82f
|
| 4 |
+
045a692f7143/de09eb5de208
|
| 5 |
+
8e562155acb2/90405c602301
|
| 6 |
+
7b7d8152fb36/e19c6954d1fa
|
| 7 |
+
342bb8369d0d/c53b10b9818a
|
| 8 |
+
7d45093fbedb/cc83769bea32
|
| 9 |
+
dcf730d0849e/7f0a70f4d776
|
| 10 |
+
ccfa625b668c/3e1ab06b4da4
|
| 11 |
+
d1a28b54e201/9a09faee70c5
|
| 12 |
+
846a02873152/132a3e027491
|
| 13 |
+
626a5f7ca695/4063863596ff
|
| 14 |
+
4b2bca37dd8d/9afda9b6efde
|
| 15 |
+
9af6ecd6a949/6370f1878dcc
|
| 16 |
+
c8216be82491/2a87a845bbd0
|
| 17 |
+
5207ea64bfae/cd1880921825
|
| 18 |
+
28be582e394b/8679ce988cf7
|
| 19 |
+
e3b256467eca/40979883ce51
|
| 20 |
+
c281eca04485/63b3051f8064
|
| 21 |
+
9a33aea77cd0/363a4cdf6078
|
| 22 |
+
0e86a0d09110/00b88d1ab7df
|
| 23 |
+
9fceddad0c22/5fe37042aeef
|
| 24 |
+
61d86c1dea3b/a6ad31c09734
|
| 25 |
+
43cf44be6c83/933539486412
|
| 26 |
+
31d45aef2660/d1e5b9a83182
|
| 27 |
+
89cbdb791b95/7bb2dfb731d8
|
| 28 |
+
6866d7046e21/a3ab9481503e
|
| 29 |
+
79c2cce72c7c/2d35649f8566
|
| 30 |
+
ce2c0d1b935f/361674f7814c
|
| 31 |
+
137939b0ef61/3d3d027c8458
|
| 32 |
+
5d5ca775a78a/28fb3c5399f5
|
| 33 |
+
16bdfb58e8bc/4b274d1673eb
|
| 34 |
+
c304a7b5ba11/57ebd004812c
|
| 35 |
+
01796cd8f2cd/9cfdde6c6987
|
| 36 |
+
bed6309efd9c/bc9d80d6465c
|
| 37 |
+
66fdaaf58411/fc281d10b0ac
|
| 38 |
+
a04f318e9972/6543eb357a5e
|
| 39 |
+
2e0bd039b5b7/8d6317856dc4
|
| 40 |
+
2c55ab4208e7/5a88757bc338
|
| 41 |
+
b11069ee2edc/234194487423
|
| 42 |
+
1cdfc1f4a361/8aa7be285f03
|
| 43 |
+
02aca64c04a9/ec4e2e757b0c
|
| 44 |
+
ab258d6f29fa/1ddb57d522f6
|
| 45 |
+
9eb3957fea06/dd3d275e553b
|
| 46 |
+
af75f0c70d47/e217163d5c77
|
| 47 |
+
66dc6bf4fb34/a7ef380f88ec
|
| 48 |
+
7c8cd92e95a1/4944c658b972
|
| 49 |
+
8f03763c075d/fe75153fda05
|
| 50 |
+
e6b7dcf7ba6a/07bae124b876
|
| 51 |
+
11d79469b0a7/ec773d9c1e49
|
| 52 |
+
08593ebb71c0/03a45c4f1b62
|
| 53 |
+
35edbc3dd723/e3044cab184b
|
| 54 |
+
60bc0d5537da/9835779f9b59
|
| 55 |
+
68467eb971ed/c0e8eab353ab
|
| 56 |
+
72570ed4f11b/295a7f87f90d
|
| 57 |
+
0e6d4ce846f0/c85917886eb3
|
| 58 |
+
c3444ab3fd95/7f686692e721
|
| 59 |
+
641b92741d91/567d356b2dbc
|
| 60 |
+
80fa9469f822/a26656d6b726
|
| 61 |
+
70a9d4697544/2c03f432fe00
|
| 62 |
+
8eb9436eb1d3/6410211659b0
|
| 63 |
+
d63062d7b008/4bd21f60391f
|
| 64 |
+
a2ec221c4a45/b28f7a622453
|
| 65 |
+
f973ca8f115e/5a6eefec0112
|
| 66 |
+
e5de2a410783/0f09c8dcf100
|
| 67 |
+
cd3c74b021ca/6fce07cfd3e2
|
| 68 |
+
70e13ce738a5/673dcda7ceef
|
| 69 |
+
b6e2140114de/ccf4c0690f9a
|
| 70 |
+
16c727d8e944/ecb5af44bae7
|
| 71 |
+
8044be3b73ac/d3cb4e2963be
|
| 72 |
+
69d8cd20d746/09bacf72df50
|
| 73 |
+
84b8ac0519c2/c29b953ed7b6
|
| 74 |
+
29a33d6eb620/74530d395fa9
|
| 75 |
+
2590e43a14cb/0835f188afce
|
| 76 |
+
19cc83ced61d/2bb9cdd02ad8
|
| 77 |
+
0e8d3041d4f4/582477b968f9
|
| 78 |
+
ce7b3c57aced/12b5b351c726
|
| 79 |
+
a92b0916c359/3ddf7a9dfeb0
|
| 80 |
+
baa23ea7f9c3/ffcfb2c00799
|
| 81 |
+
5874fab6cba1/3314c7d679af
|
| 82 |
+
ea58e786bbd8/eb96c5d2d99f
|
| 83 |
+
816527f6f3f2/a336bbb91c69
|
| 84 |
+
06e70cd10c06/70babc852388
|
| 85 |
+
4a77b40bcc6d/9ab004fc6d9f
|
| 86 |
+
f566e2667875/d13951491da5
|
| 87 |
+
1a04526b9a07/0d84b58410d9
|
| 88 |
+
2f7adb40cea2/dfbe52ef9371
|
| 89 |
+
1a6e7cc9b408/429b86a79edd
|
| 90 |
+
f374a5907536/fc97f8fb9a8b
|
| 91 |
+
6aa4b1d15d11/60012ae7cc0e
|
| 92 |
+
a1f470acbe86/ba9d5dc1ad05
|
| 93 |
+
92447e6d9e20/a24390686a01
|
| 94 |
+
132fb66536a9/f1cf78063731
|
| 95 |
+
bebf55e2b748/7d42eb832a66
|
| 96 |
+
6c610b729b75/3c5c2f720796
|
| 97 |
+
b98caff1a761/ab25ba0e9244
|
| 98 |
+
0d0cb1121d9b/38ff628d769c
|
| 99 |
+
9d5ae56b0c56/0af6615830bb
|
| 100 |
+
72749eccb697/79f5bb5de8ad
|
| 101 |
+
962452ae9809/a7cdd4d2c946
|
| 102 |
+
44599a900366/cd29cc3e0345
|
| 103 |
+
f3a692c30117/50df2cfc8171
|
| 104 |
+
cfa66351ee74/74cdc35d1071
|
| 105 |
+
ff98e871bdea/812ca0683d0c
|
| 106 |
+
b2c915a37745/5f69f83a2f8b
|
| 107 |
+
8c217452a40b/93475d9d44ca
|
| 108 |
+
29df7a88e60a/38895e440e37
|
| 109 |
+
12fa7859eb92/854af9bbd4be
|
| 110 |
+
9779eca3c3bd/58537e14f293
|
| 111 |
+
bab2d48b501d/e4f737b7d65f
|
| 112 |
+
4e071da9895f/da55ea0cc1fb
|
| 113 |
+
eac70c27f5dc/df39e024184f
|
| 114 |
+
57a8f1286d38/52e2a1a1f51e
|
| 115 |
+
ded710ecec5f/cc873a6cd7ad
|
| 116 |
+
8499d0b009d0/d00e5fedc292
|
| 117 |
+
b75a7b79552e/29b52807d7e3
|
| 118 |
+
88d5adef6ed8/7a90061af6a5
|
| 119 |
+
4c85614d8b9e/c69977331f41
|
| 120 |
+
eb54b1f75d84/13b5f79ecfb0
|
| 121 |
+
f6cd2a223333/4e69f1b138c4
|
| 122 |
+
a9dab067d0ad/f566cbcc8617
|
| 123 |
+
9ed002b26ea9/c9e62d9e75cc
|
| 124 |
+
3bc92a9daeb9/51a2fc604368
|
| 125 |
+
fd690edd33a4/ff347e0885da
|
| 126 |
+
3194977e4b84/0da23d4caf48
|
| 127 |
+
a5dceecd7765/e9c21170a59f
|
| 128 |
+
5f7fe5a573e8/085e88323bc0
|
| 129 |
+
0c6b413f7e96/8cdb55dac1c4
|
| 130 |
+
97cdf3de6de2/777d9ece86b7
|
| 131 |
+
d8417dfe5e10/bcb08bce7066
|
| 132 |
+
8a69b9a644d4/3a38ab1164d0
|
| 133 |
+
8d0f2d173d51/9ca2b63c1bd6
|
| 134 |
+
6946c2fff125/62b9d15dce39
|
| 135 |
+
236b6522b420/61b7c8af565b
|
| 136 |
+
0d1bc4db8f17/ea6b8ea181e5
|
| 137 |
+
a3e08640891e/504cfa13340f
|
| 138 |
+
7648a8fcaeac/3d14cbfc1f98
|
| 139 |
+
c9bd8d2fa26a/639a18d2a588
|
| 140 |
+
5ce07b9a4dfd/cf64b78ff865
|
| 141 |
+
18d8a9ad7dfe/ef564eecd050
|
| 142 |
+
51cd691ce89d/415862e76121
|
| 143 |
+
1bce9bf08060/f684ce7d2bf6
|
| 144 |
+
8d5e27a287fc/f61032e84f51
|
| 145 |
+
5c20c2996989/2d3640965787
|
| 146 |
+
95b1c9bc0b2e/72cfa27c0769
|
| 147 |
+
b3daf6cd1e22/7a3007c20e08
|
| 148 |
+
45adc0eadafc/58aad3518617
|
| 149 |
+
be991c7b43fd/990abaceb920
|
| 150 |
+
4fb6d1be7e25/672bb97e58ca
|
| 151 |
+
b98cb0dbbb6a/6c6e9f7ddd31
|
| 152 |
+
323526c9fcc1/20d5e020613d
|
| 153 |
+
732c31688ffe/8586f0b23885
|
| 154 |
+
8bfd23237f17/259152387b67
|
| 155 |
+
2a9f1a50949a/ad308b75d389
|
| 156 |
+
1f1f6f8df5a5/f256d006d9e3
|
| 157 |
+
a9d657c41044/f5060d6423f7
|
| 158 |
+
6fcf1faf3f50/c808d975d889
|
| 159 |
+
4307640260a4/d273a46646b6
|
| 160 |
+
53091fe72d11/7bc379411476
|
| 161 |
+
4705029a05c1/b6d35f21f988
|
| 162 |
+
a8614bc66895/1087ba22e484
|
| 163 |
+
ac948aa8347f/5b301495c87b
|
| 164 |
+
e1a983ffde08/928b77edf390
|
| 165 |
+
e327fbf2dcbb/da31149240ef
|
| 166 |
+
0ae5d661fdb8/2a9d327a638f
|
| 167 |
+
af05105ab7d3/6511d714a151
|
| 168 |
+
1b2273f06c64/707e8f50841d
|
| 169 |
+
bbb8a353faa2/8b604179d15a
|
| 170 |
+
0a5de04981bc/5d0dbc8956bf
|
| 171 |
+
a8a3199be40c/325bf7b4fa1c
|
| 172 |
+
344f0d78aef2/0639e529eeb8
|
| 173 |
+
8e5a143434c9/fdea4ea1daf8
|
| 174 |
+
9a748e31f786/c8be35136058
|
| 175 |
+
053a5b717406/ca36f9185e80
|
| 176 |
+
66e7a2394020/a6a7b6822be2
|
| 177 |
+
9788970b3473/e8d69a2a94ca
|
| 178 |
+
c02ccbf7b023/42a36c562e0f
|
| 179 |
+
a9d111a25a85/309e1f6e5bd2
|
| 180 |
+
2ca61930de9d/65df51153cc7
|
| 181 |
+
c6e7b1d236de/f2267cc4abc3
|
| 182 |
+
f88043fbf843/3b75396d4154
|
| 183 |
+
4fae84368598/9522e45b3176
|
| 184 |
+
5f5ab23d5d98/c1aa2e1fd94a
|
| 185 |
+
0309f8b75f8e/4841ac65c9fb
|
| 186 |
+
c1ce6176c9f8/31203f784ef3
|
| 187 |
+
97aa549228cf/556c1db755de
|
| 188 |
+
30e616458023/ebe0ad9b0700
|
| 189 |
+
844805726305/a17056d0ae18
|
| 190 |
+
9771a63fcf63/ef0b77f8ad87
|
| 191 |
+
6d0c269f65ea/002eb8f228d3
|
| 192 |
+
f90d25ca8c89/1d11d20c2d63
|
| 193 |
+
85a4d75a3d3c/685db52e026c
|
| 194 |
+
bfe2c4844477/0d52c69eb6ac
|
| 195 |
+
1f169031216e/15421737f6d6
|
| 196 |
+
b39640b9c08f/035ec00a07be
|
| 197 |
+
34863aee8054/49ad183bb435
|
| 198 |
+
ab6930467781/a680dc19c83d
|
| 199 |
+
228c5fff5f08/9c9a7856d65d
|
| 200 |
+
8fe42fbb07d3/4d1d26385eee
|
| 201 |
+
00c07cd8129d/8877e4d12ce9
|
| 202 |
+
90cd80093e37/dc1de8830f40
|
| 203 |
+
b59dcc2e59af/59549d344521
|
| 204 |
+
46a0d99d0b7e/e649a0a88e56
|
| 205 |
+
8fe3d9877ca9/f8315cbbfdcd
|
| 206 |
+
e63908b8788e/337613cf72da
|
| 207 |
+
980feaeaf088/f181cb9ff735
|
| 208 |
+
9e3a45c921a2/edfa52b7e49e
|
| 209 |
+
1a9b9caf288a/f8552dcfaac7
|
| 210 |
+
103b7051cf6e/93c96b72e389
|
| 211 |
+
2ce2fd70e0f1/83abd2178519
|
| 212 |
+
f3904e63ab7c/955fe9971f39
|
| 213 |
+
5c411df30028/90e66aae2dbd
|
| 214 |
+
1652f936ad22/0bfd1502f6d2
|
| 215 |
+
3b570d2a5969/458a7dc6f23c
|
| 216 |
+
5cfa6acef9a2/f7f85a3abbd8
|
| 217 |
+
634a0f6f86c0/e7bcc5191e06
|
| 218 |
+
b30da0fb5f26/bab977d920af
|
| 219 |
+
905a2991baba/0402b9dd927c
|
| 220 |
+
fb528b831955/366b958b05d0
|
| 221 |
+
46fc10ddf8ef/0f9f765392f1
|
| 222 |
+
5b8288e6c2d9/d38e8d8f9afa
|
| 223 |
+
c6b4c4461d71/bbfc011d376e
|
| 224 |
+
a118b6da2579/f2ea844cc193
|
| 225 |
+
f1f0c67a3f84/8370749d46c0
|
| 226 |
+
09b8ffc4cccd/cd930b6c067e
|
| 227 |
+
ef3834dc2f85/4b818ab86f1d
|
| 228 |
+
6099b6006914/e2e65c3bb3cd
|
| 229 |
+
b6bb8941a173/37e2440e2c03
|
| 230 |
+
aec6b0220398/23e3226842bb
|
| 231 |
+
e035c38129e0/250a49641501
|
| 232 |
+
1ed0b4192f75/83dccfdefd73
|
| 233 |
+
25dee9e5c3a0/90ba446d8a99
|
| 234 |
+
8cde728b028b/21a4dd687414
|
| 235 |
+
292d1d1c0ba0/45d5663d2920
|
| 236 |
+
b63a373f18b8/d268e3df432f
|
| 237 |
+
b0ce2d5394dd/589dda32262c
|
| 238 |
+
a91d0044beb1/812555770a9c
|
| 239 |
+
66e5c33a2a85/2bf4ce1c7856
|
| 240 |
+
83eb55cdd559/ee1712935369
|
| 241 |
+
75d9c9d01ee2/eafc395e26fa
|
| 242 |
+
cfcb2a56fc50/21be82611c44
|
| 243 |
+
6084c6a6f176/f05c56d6655e
|
| 244 |
+
dcb6d01456a4/28872d84f7ce
|
| 245 |
+
e627ad646018/3fead11ef39f
|
| 246 |
+
e2608327fec2/0a99b12d2dd0
|
| 247 |
+
d0b73623397a/8f4bd9abf205
|
| 248 |
+
84652e52e131/ae7f231c691e
|
| 249 |
+
0aa6e4302b13/03c5ef5e58ce
|
| 250 |
+
41a360cc47e6/f3d114719749
|
| 251 |
+
1bfc276a5443/73437a138433
|
| 252 |
+
f1b5e0433476/7cc9f52f8b12
|
| 253 |
+
8f6c9a1b2e75/c89ad306d2c5
|
| 254 |
+
569c58bba1f6/776b7ecdf938
|
| 255 |
+
6333454aa82b/89ca6a753d5f
|
| 256 |
+
19bc9b9dd53a/fe0e1d6222b0
|
| 257 |
+
fac036c6dbfe/f9788320f140
|
| 258 |
+
1d2060782ee4/df4144c8133f
|
| 259 |
+
cdb9f3044ea0/20526ef0e71a
|
| 260 |
+
b4f964d21fe5/ffaa219c3453
|
| 261 |
+
f352ee8351fa/195520c47d16
|
| 262 |
+
c3ed6bdd5863/9818605868ad
|
| 263 |
+
7e9bf2316f94/bb5ddf810f39
|
| 264 |
+
8c95d4b71816/6ceafaaf8aed
|
| 265 |
+
24790cb71c7e/7a2bef94b42a
|
| 266 |
+
535846a06fab/fe7ff8a18f34
|
| 267 |
+
b8e945fdd1ba/a4a414901e90
|
| 268 |
+
d481837c7ae8/72c3bbaf2fb7
|
| 269 |
+
f6cd87f929cf/6711bbef64ad
|
| 270 |
+
8d6ffcca4264/dbddab457d61
|
| 271 |
+
4ab77604e694/da143f0998a9
|
| 272 |
+
f35ea8a60249/9f6d834518a2
|
| 273 |
+
41df04dd1523/0624d1559f98
|
| 274 |
+
79c46f6bb0c7/6929b3500d49
|
| 275 |
+
099baa43e7e1/4137deee66fd
|
| 276 |
+
897a3a543183/c02aea92740c
|
| 277 |
+
6f6272ae8014/6cc517c941d5
|
| 278 |
+
93b343e2d784/293b18baa1a0
|
| 279 |
+
af805a561426/e7c102ddccc7
|
| 280 |
+
d3e4fdf54f69/6f311520f2bf
|
| 281 |
+
e260175c0019/873ee289c08c
|
| 282 |
+
654a4e7c11a7/e83e368727c6
|
| 283 |
+
d786bd094767/ff8f295621e4
|
| 284 |
+
62c89235c95b/80a42ac0a3a5
|
| 285 |
+
1d973ed768f8/26e455de8644
|
| 286 |
+
0ca00e676ae0/387d1fc6ddb6
|
| 287 |
+
9e445fc6e05a/fa3eebc9bdeb
|
| 288 |
+
0e3ef1c4fdf1/a9621cac9401
|
| 289 |
+
ba13358533ad/7ab648b812fe
|
| 290 |
+
0734852d9756/355f20f3c585
|
| 291 |
+
f5de25673393/8cb13ff02a8b
|
| 292 |
+
2d5315dd8f60/798b685cfd7d
|
| 293 |
+
f2648cc5b5ab/9eb6f0f6ffc6
|
| 294 |
+
f3d7db1ccba2/1db7c9479e7e
|
| 295 |
+
359fcf25898a/02254e65788b
|
| 296 |
+
374bc2d74c7d/22fb5ed7b1e5
|
| 297 |
+
f51882be24e6/446334971ab7
|
| 298 |
+
779c4793b9b0/49802d0a1686
|
| 299 |
+
704998e76aaf/e4190ae04aa7
|
| 300 |
+
21653b5f8c2b/abb1cd302742
|
| 301 |
+
e30fdd259609/34a691fa3802
|
| 302 |
+
0c64eef9de44/e01799898a22
|
| 303 |
+
7d70595a6bce/8b58ba2d11e5
|
| 304 |
+
bba30757f3ce/1ca7c1f42da4
|
| 305 |
+
b169051501d1/ad24f743bfa5
|
| 306 |
+
541e7e1f77bb/433f069cc727
|
| 307 |
+
bd1f8f72ca9b/333f84135ebc
|
| 308 |
+
157dbbe11f4f/1feaa1bfd3e1
|
| 309 |
+
26cdfef9f495/2664d3a639ed
|
| 310 |
+
5f2f3874ef5b/a6dce3bf2161
|
| 311 |
+
91b7844717da/47e68b88426a
|
| 312 |
+
d87db3a03f9c/d9e32ec37bb8
|
| 313 |
+
47c37e0f514d/54fb1203edee
|
| 314 |
+
427be88dc32b/deec05441419
|
| 315 |
+
2a4aba6f25e7/c1f314dee0ec
|
| 316 |
+
51cea7a1eda6/043efae89d5a
|
| 317 |
+
dcc189ae0493/425e50ebd104
|
| 318 |
+
ecb89a3f1339/de8ef80912c6
|
| 319 |
+
4b7c2c735fa6/ee40404aadf9
|
| 320 |
+
e8395f871e43/abdf876f5d1b
|
| 321 |
+
dbe9de304b7f/3d454eb0f6f9
|
| 322 |
+
61bd7119083a/b362a8040ee0
|
| 323 |
+
7414b2a32f82/ec9f23c4582e
|
| 324 |
+
ebd28939d460/9d618198da15
|
| 325 |
+
2cf8ed1edee7/0817545d1975
|
| 326 |
+
59a6b6bc90bd/78510f953c06
|
| 327 |
+
3a9fb69b44dd/4215240a35b2
|
| 328 |
+
89612921a0b5/4ad33700acc6
|
| 329 |
+
69190eaa7a35/362cbdaddc0f
|
| 330 |
+
93aadb937c2e/79ca01934d28
|
| 331 |
+
e45c6f076370/090c9f0b4e21
|
| 332 |
+
d7336bab2eb2/c6e41d08dae8
|
| 333 |
+
2047a9f3af76/69e6408ed3bc
|
| 334 |
+
ddd443eb777e/dfe7fa1fb69e
|
| 335 |
+
48cf1882ba15/1cccda9621c2
|
| 336 |
+
39302ed98db2/34a4095fc642
|
| 337 |
+
6d952bf057d4/0fb17c1caed0
|
| 338 |
+
6158a10eeb26/cdb5cf479d30
|
| 339 |
+
65ce89a4490b/7dc8bcc6d8e9
|
| 340 |
+
a577ee8acc1c/1d4d7d354e5b
|
| 341 |
+
fe339f06006e/dd547317ded8
|
| 342 |
+
cd0f7d6be318/67abc75cd81c
|
| 343 |
+
a94d4f0ee51d/9be92c23b5fc
|
| 344 |
+
ccd6e3c07a9d/3583a806db2d
|
| 345 |
+
3dc925e7098c/515cebc0ff9c
|
| 346 |
+
e183658ba6f1/bdee66cf3434
|
| 347 |
+
9d63438d5cf6/3609684c810b
|
| 348 |
+
9fcd00b6f0f5/295a5c2049d4
|
| 349 |
+
5fcf36fa8982/3e738409ed2d
|
| 350 |
+
ae463fa7ac85/83cde7f1c9d1
|
| 351 |
+
fd0619e03494/32d2b8d31a05
|
| 352 |
+
37b9ef51b0df/8bdceaef594e
|
| 353 |
+
4c6e3ed76a43/751ca0aac57e
|
| 354 |
+
1dcc3d602b9e/e624780a0566
|
| 355 |
+
cf6295696faa/41a24904dd7f
|
| 356 |
+
69414657cfb7/8895a73033f1
|
| 357 |
+
0e01669875f8/baf9f361917f
|
| 358 |
+
a0c212c4b66b/6c1db4926cd9
|
| 359 |
+
72e37de30190/86418adf6205
|
| 360 |
+
059a49f4be83/af86b1326c51
|
| 361 |
+
816cf103579e/05972230533d
|
| 362 |
+
e94394190527/7d07b3391b5d
|
| 363 |
+
c2a7742c8f4a/69ee851b5619
|
| 364 |
+
192456f87491/917e17e94150
|
| 365 |
+
ae084bd62973/99ace04bc7c3
|
| 366 |
+
6d235d50401d/4985ca7da5fe
|
| 367 |
+
aea92893519e/d877f389e9cb
|
| 368 |
+
88be784d6e76/5a8562c28e58
|
| 369 |
+
04d2a3f68b35/631229005965
|
| 370 |
+
9fe4c864bbf3/630b01ca3288
|
| 371 |
+
def7e41d1601/0cd65962d713
|
| 372 |
+
9badfa08dd34/7c34706145c0
|
| 373 |
+
02cc50d73472/c2d5d0efffa3
|
| 374 |
+
cfdd8ebb33ff/cc313ed5d931
|
| 375 |
+
2032a7408cc0/12d1b7475312
|
| 376 |
+
6dbe8885ac6c/832df54b675f
|
| 377 |
+
39c6121a2968/719830c27f9a
|
| 378 |
+
0c267fb8ed5c/1fc6d142193f
|
| 379 |
+
fe6a82e9fd4c/d18bbcb54537
|
| 380 |
+
517db929f10d/738a5904ab66
|
| 381 |
+
4d7140eaedcd/8684b46634ff
|
| 382 |
+
97e57767a613/cf3dce464b69
|
| 383 |
+
9587fa0453ec/770fd099c675
|
| 384 |
+
736dcc83389c/9ecd5ee85e85
|
| 385 |
+
56a0f6a5218e/fce288780a6c
|
| 386 |
+
49ed871d288a/6c736c9ed0d4
|
| 387 |
+
36e7992d20be/9dd026eade01
|
| 388 |
+
f7eac7c624ae/0ce516758e87
|
| 389 |
+
58c3b6f069f3/31413000b710
|
| 390 |
+
4c5a708c0b2c/33907971b800
|
| 391 |
+
5f2cddb5e396/1cebbb758e75
|
| 392 |
+
68251ee06f8d/b54fc577e735
|
| 393 |
+
e31ce4993bdb/92f1527db044
|
| 394 |
+
5f75d13f6117/bc57853d61f4
|
| 395 |
+
13438b17ef38/ca6f306616c1
|
| 396 |
+
b1f287ec8ce0/daf5bf3053e1
|
| 397 |
+
98cd7cea1269/5b633e20cc64
|
| 398 |
+
40a42ac5c233/8688fbbf24c0
|
| 399 |
+
97a460c6cacd/f5178f5311f3
|
| 400 |
+
38d7b9457066/36a906d4ec03
|
| 401 |
+
5258e511ea92/9f7c606520b5
|
| 402 |
+
878cd2b268e7/6f594d56777b
|
| 403 |
+
2b659f3281e2/4db77a1b4998
|
| 404 |
+
31a6cfbfe024/92af8747c9f1
|
| 405 |
+
27f53c2857b3/5693ba4a5e1c
|
| 406 |
+
516a2b72ad2c/b490b32cfae2
|
| 407 |
+
d8615e965879/4aeb953089cb
|
| 408 |
+
442feb8d6672/d65595cb463c
|
| 409 |
+
5b054eb64bc0/c1920c782f16
|
| 410 |
+
ed891d4f18c7/097e4a41612b
|
| 411 |
+
4f7632478cb2/4319b37b11a2
|
| 412 |
+
372ff1e3220f/9390ff77e986
|
| 413 |
+
7c2f5b42c50d/c3cc65a69c65
|
| 414 |
+
924831350e58/02b0a791468f
|
| 415 |
+
6c39a57fe4f6/f4bb7912196e
|
| 416 |
+
92d483a45500/b1cb7bf1a2f4
|
| 417 |
+
9ba006f51174/883ebe36151b
|
| 418 |
+
5464e5f34851/c694d4dcd689
|
| 419 |
+
25625710b73f/8191a5e9ef3b
|
| 420 |
+
cfdf31b8f1c0/2632decb0858
|
| 421 |
+
f68f31092b39/81a2787aab8d
|
| 422 |
+
8ef2aa86f4fc/84302d460acb
|
| 423 |
+
0339d309cbd8/82f25f644b05
|
| 424 |
+
027cdf65feca/b1f45a16aa6b
|
| 425 |
+
0aaef6556aeb/d02aef08c66a
|
| 426 |
+
44a7dfd2709e/babd9e108bea
|
| 427 |
+
3c56b54a0cd4/004239e2b403
|
| 428 |
+
3a49d9eb41c2/bbcc446fbd11
|
| 429 |
+
ec371324fc6d/b7c69e3cd7e9
|
| 430 |
+
98c6b3f7a8b6/57d0f1f5d7c5
|
| 431 |
+
2ad11c985c3a/a18b829cb4e3
|
| 432 |
+
7c49bc98ec0c/9bf634939eb2
|
| 433 |
+
f7dc547cb4b2/0f6f15e3f748
|
| 434 |
+
3510d8a975e7/1a49acddc495
|
| 435 |
+
9bbd9c291127/fa717a6ec2ff
|
| 436 |
+
58701a107619/d4413668db57
|
| 437 |
+
8472a4638297/8a175ca4840a
|
| 438 |
+
f73e18ae30d9/11ad11ceb7b3
|
| 439 |
+
a84aef6563dc/25b0f8a1a922
|
| 440 |
+
d35dd369724e/76a1b88c5fa6
|
| 441 |
+
62f3e64412b2/e07f60c9035c
|
| 442 |
+
2d522bb8be2c/1401282183d9
|
| 443 |
+
b2f289d03c41/fd61b4032e9d
|
| 444 |
+
d230b7b34dc0/75a7a52eac67
|
| 445 |
+
176a106d2c93/ac6f874fdb74
|
| 446 |
+
275659d5be28/283bce203dae
|
| 447 |
+
ce6bcbc307fc/108d41826083
|
| 448 |
+
0fc9bbe02c1a/bc32187710da
|
| 449 |
+
051e5b98c59f/fb81c441251c
|
| 450 |
+
aed49d6a7a7c/9f05ec485992
|
| 451 |
+
72dbc18b74ab/ee9c757c1290
|
| 452 |
+
f1ccf4128e9d/4350df849660
|
| 453 |
+
60c1e671a529/421ee53c9087
|
| 454 |
+
c3d9be4fe9de/06516f266c93
|
| 455 |
+
412f65e90437/625e1d655572
|
| 456 |
+
4267e8620627/e8a1891e9ea1
|
| 457 |
+
37a78c50098a/c77f6ee6b7d1
|
| 458 |
+
a7ef4f8b26fc/c3e6e2b7006c
|
| 459 |
+
2581d79dffc6/0394c2645ff1
|
| 460 |
+
947fa53912f3/07a9c2efef14
|
| 461 |
+
7fe38ee485c8/70a4f83f6f08
|
| 462 |
+
128b5e6f11d8/4063e5cf8e54
|
| 463 |
+
6cad64e45a6a/ff7ba0bd6e91
|
| 464 |
+
84b137d5a696/fb54973d9654
|
| 465 |
+
01272322296e/dba6e47d954d
|
| 466 |
+
713a88a6cef2/6c79c4d7743e
|
| 467 |
+
879be8348032/d4ee60f3b18d
|
| 468 |
+
c296c41ff497/751b2a8153b7
|
| 469 |
+
ab336b035f00/9e398c74218b
|
| 470 |
+
fe7dd2dbc2a2/4208553d505f
|
| 471 |
+
85a554ea7c0a/7e3ebcded62a
|
| 472 |
+
cb7c060e24b5/d0abcb368bc0
|
| 473 |
+
ad03e07c55fc/8a5394b43547
|
| 474 |
+
fe4ff15d497c/0e5ca99d3c3c
|
| 475 |
+
75c48895b9ed/2ba8f7204605
|
| 476 |
+
acbac424356c/c50d9fa383ac
|
| 477 |
+
2a7aebf87ed3/482b8c08c0a7
|
| 478 |
+
19380031c8d5/1166e2520acc
|
| 479 |
+
1ebe0342c44e/48860ba70bc7
|
| 480 |
+
0ac3c394df85/771d85c1424a
|
| 481 |
+
db00b91864ac/9a1faf3e75db
|
| 482 |
+
7dd2b3af970d/d9ebc18ee451
|
| 483 |
+
ff77be0b7e03/1ebd7e15bff4
|
| 484 |
+
4f3493c4dd6c/0c93197af9b0
|
| 485 |
+
ca4da39edfd0/3b38b15f2123
|
| 486 |
+
d810150f65b1/f1171125c0a7
|
| 487 |
+
912bab251d8c/5164b2087432
|
| 488 |
+
ef6cd403e239/d8fd9e9b4af0
|
| 489 |
+
3b1c38935540/33fdcad52fed
|
| 490 |
+
6bbcc0621298/cd528121589b
|
| 491 |
+
49ffbe90fe16/aaaa3c642dbc
|
| 492 |
+
2ad6ba5db4b9/eccff0d8c76d
|
| 493 |
+
044e4178ab16/d6aa2ab04811
|
| 494 |
+
307a24c18f40/297dce30feb5
|
| 495 |
+
b9716006589c/a52e60d498d8
|
| 496 |
+
c753f42d2897/323612d3289b
|
| 497 |
+
ef3da8f1b826/81d0d39e4488
|
| 498 |
+
15a9c76ffeb3/d42df1e9c0d1
|
| 499 |
+
93e2b3320386/7f541ae22876
|
| 500 |
+
3ac971503ef7/61771f36dbb6
|
| 501 |
+
880b46d8a9f3/d7323e1bebd6
|
| 502 |
+
3a0c1a84ba86/9a21502c5d53
|
| 503 |
+
c34a7acea0d3/71483bdf6513
|
| 504 |
+
2ca55b966ad9/6590a923916e
|
| 505 |
+
66970f31d33c/b926adbaed0d
|
| 506 |
+
1e393c5dd32f/b09baa23b8cb
|
| 507 |
+
5c859cdbf6c9/9f26fa91ee5b
|
| 508 |
+
2dfe32a68e27/8714066c8e94
|
| 509 |
+
055745e72fd5/919b29770058
|
| 510 |
+
4659830e0f69/64c5693b16df
|
| 511 |
+
40a45b2ad5a1/3c363bb02832
|
| 512 |
+
7ef920a12d07/8399e1e0d2cf
|
| 513 |
+
65a7e9fe2989/6d8e95d8ae91
|
| 514 |
+
141631e28716/0a7e62775104
|
| 515 |
+
8b7c35518a63/d751749e3f64
|
| 516 |
+
4672b70bfef7/1301da625c65
|
| 517 |
+
68fbe89cff06/9cd9e86869d1
|
| 518 |
+
6828d79b1dce/211d40c9b233
|
| 519 |
+
453c2bce0c3b/56d193a2834d
|
| 520 |
+
d9610cc2626a/a2fa4927b256
|
| 521 |
+
b484e715f02c/f8c03c333489
|
| 522 |
+
b439cc758160/5f9ef5f5e8c0
|
| 523 |
+
0121d6824848/455041e88df2
|
| 524 |
+
318f27dda11f/10b3329ce108
|
| 525 |
+
7e5c20954c05/e0cff33c5928
|
| 526 |
+
24fb144aa818/a393ab127271
|
| 527 |
+
52012574c2f1/cbe4eeb3da9a
|
| 528 |
+
0f5949dbb87e/c454eedf0377
|
| 529 |
+
a242f96dd2a0/08dd6e21cab9
|
| 530 |
+
c04d664645b4/c29f6705c393
|
| 531 |
+
ad00e11d5100/f5bfdc8db465
|
| 532 |
+
ff1401ebe49f/5824aed5cc48
|
| 533 |
+
b873c04f58e8/4021f3c43056
|
| 534 |
+
1dd16bc8a55e/9a661ef2f872
|
| 535 |
+
013b3d90394c/6f26da5ca30e
|
| 536 |
+
20f899cb4191/6f7f324fcb91
|
| 537 |
+
d7d7072c7b45/53f5a570ad4b
|
| 538 |
+
ff3dd9e4bbce/f4a7dcb6c940
|
| 539 |
+
c1c88d1b8c2b/845121bee067
|
| 540 |
+
09c5fb9f44ff/54ce61defa92
|
| 541 |
+
42ec44c50ba7/4a1b93c0bcff
|
| 542 |
+
cfe300a23eb6/418caf50875f
|
| 543 |
+
872fb358efcc/8df5a013312a
|
| 544 |
+
9f03e1e55791/76ed03625431
|
| 545 |
+
8961d459d754/a29cde64ef78
|
| 546 |
+
32c81507d420/d2b37c1fabd6
|
| 547 |
+
0c0674b0c598/9e5b583c3b5d
|
| 548 |
+
4d0395e609bd/805bc65122c0
|
| 549 |
+
8648ae3d5ea4/78022c71636a
|
| 550 |
+
c18ca5d62b9e/7e637566b2f2
|
| 551 |
+
8c1f0a186ad3/488c78e5ae00
|
| 552 |
+
300bcadfa4fc/01709369d2cb
|
| 553 |
+
91f93d899e97/451d719782ec
|
| 554 |
+
45b9ade582bc/450d60c94f4f
|
| 555 |
+
e860772e2253/653dbd9237c9
|
| 556 |
+
de9d23bb3ec3/d2946a9f5e54
|
| 557 |
+
a4dd0ecf472e/42e19269178b
|
| 558 |
+
1c5d1a104eb7/d78710c9685e
|
| 559 |
+
43d2522df771/5b9ecde90b3c
|
| 560 |
+
4da8b602a11b/b108f3c4aad7
|
| 561 |
+
515ec65f2434/1666576f9112
|
| 562 |
+
cf4f4c064aa7/0c02e37869c7
|
| 563 |
+
a18c3d19202f/67f10701f69f
|
| 564 |
+
977c29299625/b5bbad85bc90
|
| 565 |
+
420cdcdfc830/70d987f42a91
|
| 566 |
+
478cd18c3232/b308ff6a9bbe
|
| 567 |
+
3e9329201d8f/8c4f5898cad6
|
| 568 |
+
248f8438c2d8/f437968d209d
|
| 569 |
+
1235dbfe09d5/49ca030547a0
|
| 570 |
+
715cba876e1a/2efae9fa3aea
|
| 571 |
+
0b64c632fb13/fc3ccde0b910
|
| 572 |
+
5d8c052e8cdb/51ae68225c98
|
| 573 |
+
6ac737447163/60baea30418b
|
| 574 |
+
3ffd4352275a/96a5bcb9a5ac
|
| 575 |
+
ad73ce4936db/63038d3c3462
|
| 576 |
+
b30251130f6b/ac8359e445ff
|
| 577 |
+
71331297e7a6/d48b32cca444
|
| 578 |
+
d6927d5375b4/2d92a2ce9eea
|
| 579 |
+
1d5f4ffcb140/509eb54f8ba8
|
| 580 |
+
619256c21a39/532860004c05
|
| 581 |
+
22e91b27539f/6d5101023c6a
|
| 582 |
+
cad3910e9bd9/6e34e69475a6
|
| 583 |
+
bec31eb22f4a/99a7ad0b90ab
|
| 584 |
+
83304b705821/a83d58ccb5c8
|
| 585 |
+
66906d7c7946/add7a2405f3a
|
| 586 |
+
0f6a468d9fce/45e5b9f5950e
|
| 587 |
+
403689cf04e8/acbd20f2e9ad
|
| 588 |
+
e5a06ab5d2c1/b5aae76c79c6
|
| 589 |
+
1f01142c13ce/ffe83fd9be90
|
| 590 |
+
64226ca854a7/8d0a2407908a
|
| 591 |
+
29078d951cfb/c5cdc5ed16b0
|
| 592 |
+
7acb7553f2f7/1626ba188672
|
| 593 |
+
3509f84451f9/b7f74a0aed93
|
| 594 |
+
302f92a6336b/54e90b564192
|
| 595 |
+
7e33e21b0800/ea46e6218cff
|
| 596 |
+
8a49f9259d23/a67c235559b5
|
| 597 |
+
a45845965ea6/9c1de192a4ee
|
| 598 |
+
0e3afc276c91/6288b41b99ad
|
| 599 |
+
21c0f03d443c/9b4bfc639ecb
|
| 600 |
+
9b1375ad2890/f649ae97c68c
|
| 601 |
+
ffadf3e7559f/c3f3c032a34b
|
| 602 |
+
f2a52ed4d532/b8da6775ba25
|
| 603 |
+
afd97be10565/6a9f5ef1693a
|
| 604 |
+
da42bd1713d3/7369300df975
|
| 605 |
+
8e0bea44a8f3/c9a930150d6e
|
| 606 |
+
1e7884a99282/9d4cb669914a
|
| 607 |
+
aa1e91ebe883/20ad489a45da
|
| 608 |
+
0fc4ab33c831/0da40388f032
|
| 609 |
+
8e9a6ab0068b/233f91d2eb21
|
| 610 |
+
6121e334506c/a11b08729f98
|
| 611 |
+
c9c143c79202/c2295f4c7e5e
|
| 612 |
+
21b615e2b5fb/f74657fde253
|
| 613 |
+
593f1a8360b3/e7d28a7d202b
|
| 614 |
+
ce1a64956d34/1b9e61350a06
|
| 615 |
+
294b54dce5ac/3f55be4fea41
|
| 616 |
+
f74896f52bdd/1318deccc039
|
| 617 |
+
f6bcd324b462/5ec48ec9a98a
|
| 618 |
+
1802f2d4a29b/050dcea94033
|
| 619 |
+
cd31ff0cef09/02ea3277c95d
|
| 620 |
+
2d8739bb255f/9eba9d7289bc
|
| 621 |
+
5fc2a705d4f6/a77b49c48cf3
|
| 622 |
+
d9b553e847e5/f172473e483b
|
| 623 |
+
78c88172d658/47287485537a
|
| 624 |
+
d623a2cf798b/58cbeeaa7132
|
| 625 |
+
986b30b45605/5af88522a73a
|
| 626 |
+
a0336158d6bb/03a09f42f80b
|
| 627 |
+
9c7624a8205b/8f16a5aa8e48
|
| 628 |
+
e4091efd68b1/b18dbdba0f67
|
| 629 |
+
863fa8f6d3ed/812c2e8aaf5f
|
| 630 |
+
c527b8799e90/f7e9a7b35d4f
|
| 631 |
+
5ec802dfbbea/20bbe57affe0
|
| 632 |
+
8e4ab36c78c1/190ce48f2bf4
|
| 633 |
+
4affaf00f0e8/338b4b76baba
|
| 634 |
+
400ed03f9a71/4f4032821db1
|
| 635 |
+
12f0e2a02060/2aba5205ab64
|
| 636 |
+
1c731d559fd9/0342dd405d97
|
| 637 |
+
b7ca686757cf/b0787f3c2271
|
| 638 |
+
ac9350709953/f4fccf096515
|
| 639 |
+
af0c80f796f6/29302a1575d1
|
| 640 |
+
760c7741d43d/747b5fd40023
|
| 641 |
+
b2649f29fd6d/8d515f642906
|
| 642 |
+
0fa8dc3d3b2d/d8e81fab4953
|
| 643 |
+
9e7b461cd4f8/6c87e4d407f5
|
| 644 |
+
b3ee825ab1df/9cd385de127f
|
| 645 |
+
5acaef4bf2af/8f47437b093b
|
| 646 |
+
647c04f9afe0/13940a2a3fda
|
| 647 |
+
c5825fe111ca/f0453cbc2a1c
|
| 648 |
+
5b2a6e58a6d1/089d8d923d69
|
| 649 |
+
f19b78a3ffe4/a038a49dfd7d
|
| 650 |
+
f9acdd72ab8f/18d6a4bcdde1
|
| 651 |
+
7490bcd09d3c/a9196cc78ab9
|
| 652 |
+
313bfa7ee761/86dca52a35df
|
| 653 |
+
8e17c38c68a7/0fc835595652
|
| 654 |
+
3f6e55e9344e/9576d55f2051
|
| 655 |
+
2019e94cfb38/4455261f9343
|
| 656 |
+
2a0d5faa2cd3/3012065b55f5
|
| 657 |
+
3f50b4271d23/9a95ebf1988f
|
| 658 |
+
29111a426aee/6c409f370977
|
| 659 |
+
438a71eb8a53/99c978a181e2
|
| 660 |
+
fbf3be6963d2/d40c2cc5917f
|
| 661 |
+
a24bb4faf1e0/947a3d91c4b7
|
| 662 |
+
032f245a99ad/befdbb2e5463
|
| 663 |
+
610b1b54c022/4a788850e7d3
|
| 664 |
+
ae5703200346/bf1696c8a665
|
| 665 |
+
827cbc71be23/3df3e4abeb3a
|
| 666 |
+
d133479314fa/07525c6033aa
|
| 667 |
+
e18a24f3f5b0/c0509140a981
|
| 668 |
+
19149a203d5b/6d0d38cb6196
|
| 669 |
+
bcc2c21befaa/5fed60369e10
|
| 670 |
+
e3293f71bd51/c79cc320a6c9
|
| 671 |
+
2af16d66cc16/eb87ca71cfb0
|
| 672 |
+
ce479841500e/17c8f4e3dcad
|
| 673 |
+
e28d1c093b08/1d78244141a1
|
| 674 |
+
25a2e53a688e/f443eb4f267b
|
| 675 |
+
110eb6da195f/e1a0c89e2fc5
|
| 676 |
+
4a118c24a30c/5cf8fb61ae80
|
| 677 |
+
0394159f41a3/83be24fc7ff4
|
| 678 |
+
4689b42593c6/b63bc360aec5
|
| 679 |
+
2498aad0b03b/0960be41b6a7
|
| 680 |
+
d80924d317ae/be97d9095f8b
|
| 681 |
+
52ca8adf589f/f7b718864865
|
| 682 |
+
9af25e5b3dbc/9623e7457cd2
|
| 683 |
+
626bddce7e3d/c4e848643f56
|
| 684 |
+
cf9ac3a06e94/43e960f58dd7
|
| 685 |
+
8ffa7426cc49/4566456e8b30
|
| 686 |
+
a77ea22d62b3/67dfff9fbd83
|
| 687 |
+
6cb300e104e3/748df3f3a271
|
| 688 |
+
59c9a1fdfe99/92ab003e849f
|
| 689 |
+
fefbffca06ad/e28c39469cd6
|
| 690 |
+
955ef68c45e1/179202721fa8
|
| 691 |
+
777dae26c730/4f63ab66f1cc
|
| 692 |
+
1352330ed2c2/9947abd5f6f8
|
| 693 |
+
f26895e28423/abc76f59eefc
|
| 694 |
+
7f1495a71b02/2b73d18727c1
|
| 695 |
+
d2adbf160058/e6d90f42bbdc
|
| 696 |
+
1f1e69e88491/edfdce55700a
|
| 697 |
+
1b3abcfd34b4/ba16a1db315a
|
| 698 |
+
6ea53b243716/0441bf1b0005
|
| 699 |
+
848ecdaf1c61/aeebe4cac843
|
| 700 |
+
df7090e8545f/df8a5ded719f
|
| 701 |
+
d40cdd117143/61d5578f3ad9
|
| 702 |
+
2611868a2a8a/4d44dd27435f
|
| 703 |
+
a936a0f4083d/476e2e15037c
|
| 704 |
+
c80b8d5dbc22/6299757b00d8
|
| 705 |
+
55a6a314910f/2a62d4e7eb32
|
| 706 |
+
3a74d09fb2fe/a13d7725e363
|
| 707 |
+
c20e5e5e49da/cd4cbe328275
|
| 708 |
+
f84376c97ce8/e2b4eaf696fc
|
| 709 |
+
ade5cf694f9a/c0a29834d738
|
| 710 |
+
6842db0937cf/51a8ec9ed5a8
|
| 711 |
+
ad0b6280fb8f/1a2ae40f9855
|
| 712 |
+
ce04e88c5add/5cbafb8f0e11
|
| 713 |
+
287066847e20/3b4991059330
|
| 714 |
+
c13a81f1c6ab/3741580ce16e
|
| 715 |
+
3e418c85077c/795b103b131a
|
| 716 |
+
a7213a8e7bb5/6b1d97562cc2
|
| 717 |
+
8406c8a059ed/280840c5fd82
|
| 718 |
+
571e548bc68b/87f10bf2aa37
|
| 719 |
+
15e3e27994ce/0810fb2f6d63
|
| 720 |
+
86aa5abaaf35/132c57d772f9
|
| 721 |
+
3a38e12fc7eb/693ff297ce4c
|
| 722 |
+
26ee978a4eb7/ff7ed995fc13
|
| 723 |
+
b1b53c79d4b0/45c6c3b99836
|
| 724 |
+
5765fd2fa313/e0d194a41718
|
| 725 |
+
31830cd5c5a4/9be1f866bcf8
|
| 726 |
+
f6e3b695e470/b0b1b9099dab
|
| 727 |
+
bcd48aa10710/b1142d300fdf
|
| 728 |
+
533e6f5528f8/d614e9e808de
|
| 729 |
+
21606a00619a/d45d89d019e0
|
| 730 |
+
f57e936e4f7d/88591b8c04b0
|
| 731 |
+
90f4bfe47f93/97f91f155727
|
| 732 |
+
4bb434892d95/275926a08a3f
|
| 733 |
+
05ceb37bcb79/c827887f35d4
|
| 734 |
+
14351fd2b130/b1b640041527
|
| 735 |
+
c628af95d291/59c2f58656bc
|
| 736 |
+
4203360dc74d/1ea389106e48
|
| 737 |
+
f7955e17a64b/98718169a718
|
| 738 |
+
cae5fda32e4c/60c233486d27
|
| 739 |
+
b02f75e7bab7/3ccbf72b34cb
|
| 740 |
+
cd3a45ab948a/5f9221263131
|
| 741 |
+
88d0b6ea6489/ccc2ff1fbe48
|
| 742 |
+
bbee93fcb2ec/cdde98880a4b
|
| 743 |
+
321e5fdd007a/0aeb0f789fa1
|
| 744 |
+
d0d057562870/e7d2ae09fb1a
|
| 745 |
+
351a7f66a571/7d27343beb8b
|
| 746 |
+
00681a0d8068/948cab7241c4
|
| 747 |
+
2bc52c1fb4fe/afa7cb8fc54e
|
| 748 |
+
c00e7f9cd5a0/26d9b3fea3f9
|
| 749 |
+
b11febe4d8ac/a11dc4034649
|
| 750 |
+
63952fa89399/36c475ad8340
|
| 751 |
+
f3ec5324e980/4a7b9e94d128
|
| 752 |
+
056be1354905/c2216ff63031
|
| 753 |
+
2513b708d70c/869cf33bb86c
|
| 754 |
+
4715d03539f9/a3751362514a
|
| 755 |
+
8a3511301f4e/459c72e12d2e
|
| 756 |
+
952319f4fecb/ccc8629893ae
|
| 757 |
+
7844d1bf93b9/e065ae9c39a8
|
| 758 |
+
6aac823c0a54/f758f2e6f81a
|
| 759 |
+
ee9caf175fd0/e2e20a47cfc3
|
| 760 |
+
021b180c5113/594d3f4d8503
|
| 761 |
+
5bb3d0a6235f/c000e4da7687
|
| 762 |
+
6476e76a7e49/0e457fe85770
|
| 763 |
+
9e2a6935f171/95ebefcc4c71
|
| 764 |
+
cd3b3178979a/5ba27be4ac4c
|
| 765 |
+
f6ffb3eddcec/5ba8473d8d7b
|
| 766 |
+
fe5132e17ace/9d8bda038e5b
|
| 767 |
+
18fb7f9286be/0841d9c2a5cf
|
| 768 |
+
95333fd514f5/09a838b7ea21
|
| 769 |
+
7699814cfc1f/e2c064884dfe
|
| 770 |
+
a05cb7e896fa/0ce0528f4b28
|
| 771 |
+
95a6db3f8be9/98c7a4fb18c1
|
| 772 |
+
7f63908e9197/7c55069657e7
|
| 773 |
+
524924a3fa95/a1b8bca58a8f
|
| 774 |
+
d9a1e4a3e19d/7d9959f2fb6b
|
| 775 |
+
9a304e46c76a/51a40e30c431
|
| 776 |
+
2155000d84d5/d7952e7c62d7
|
| 777 |
+
d7e2b439a2a6/843c57433c20
|
| 778 |
+
18d5916fd015/be55ec08c813
|
| 779 |
+
57b6b317db7f/398f58e3b64a
|
| 780 |
+
8d7ded0bbe5d/3c785fee5859
|
| 781 |
+
f1aa1d2e9714/d575e0d7cd5f
|
| 782 |
+
2edd21213a2a/7709a2cbc062
|
| 783 |
+
539bf380a7b3/359fca1a117c
|
| 784 |
+
f329235f536f/2fb3dc5492d2
|
| 785 |
+
a574ba062ef2/6e04f9e7bfa8
|
| 786 |
+
41feadf64832/f413b6735ee9
|
| 787 |
+
8239120331ab/56672bbe7e98
|
| 788 |
+
d6d2bf05f955/668db4336a39
|
| 789 |
+
2c34a9bb7eeb/b30067204387
|
| 790 |
+
b158cb867cf1/f83bde9e5297
|
| 791 |
+
1a910df1baee/877bcad1332b
|
| 792 |
+
b113c5713e50/d4f912c0e0ca
|
| 793 |
+
4ab804fb3514/91c0b0ffacfd
|
| 794 |
+
42fcfc49f03e/20deef038a29
|
| 795 |
+
844e58665622/c1479f13f7d8
|
| 796 |
+
d1e4ac595f08/909cea0b4059
|
| 797 |
+
b07558ea489a/100c0556cf63
|
| 798 |
+
22b614581f03/61862e5c59e9
|
| 799 |
+
093076d2f238/54919b911b6c
|
| 800 |
+
aa80e59c7672/ec6bdf4746c2
|
| 801 |
+
ac45b47801cd/1567b11c192c
|
| 802 |
+
4194e29bbe7e/f4987177ca24
|
| 803 |
+
dc2eb267f301/f62c91233aeb
|
| 804 |
+
a61965f97e68/84bb1b4a2e57
|
| 805 |
+
0b2e9cb1ec60/cfdcf0a72715
|
| 806 |
+
4544fe4c79ce/4edb2739dabd
|
| 807 |
+
f19ff247be53/c52b64ced65d
|
| 808 |
+
c93b2a5edc80/c714dc8e5c1e
|
| 809 |
+
103cc28ba522/6e42e1da6189
|
| 810 |
+
22307af0b033/27612e73d1aa
|
| 811 |
+
b369374e4736/b298012a5a96
|
| 812 |
+
82a0714e2ed3/54cb64fb65d1
|
| 813 |
+
760c20ea782e/ad9526ba1f6e
|
| 814 |
+
affe5683f05e/711ade0179c7
|
| 815 |
+
63423c3af65d/f9456e94543f
|
| 816 |
+
2703a032a8a4/2e7ee5db8896
|
| 817 |
+
849cb65a3719/65b88b0d3ce3
|
| 818 |
+
256d7fb73118/b77fd82d07b7
|
| 819 |
+
7640738fb687/4fc6b9c1b0be
|
| 820 |
+
1ea596369d36/cba96a30119d
|
| 821 |
+
e5b9e5ea722b/5eadf4f7ec61
|
| 822 |
+
a000a6f3cf65/60d5ad710306
|
| 823 |
+
2c18de7c90bf/be1814525226
|
| 824 |
+
c38bbc6bd415/244d7074c70d
|
| 825 |
+
9287485c243c/d76b713897de
|
| 826 |
+
186c58866a53/0011aef83cab
|
| 827 |
+
4cc291df6d7d/24ba6704755f
|
| 828 |
+
fdde906222c2/2a594a0207f5
|
| 829 |
+
f9f92dbc4370/e42260b5ad3e
|
| 830 |
+
6bd2a20df718/a04d67b1e501
|
| 831 |
+
709b2d7f5fe0/74fa76f848d0
|
| 832 |
+
63150fc3a16c/35f854f01c11
|
| 833 |
+
af7169914fad/778f5e13e5ab
|
| 834 |
+
966497db3501/4590c1388031
|
| 835 |
+
78f42b2c36f9/5ae5fdfa5e0d
|
| 836 |
+
2bd689f31b73/d20a597a9e8c
|
| 837 |
+
a9c2fb0a87f9/c9a9110039ef
|
| 838 |
+
bf2c77382300/8ca8680ad48d
|
| 839 |
+
7bb1783368d1/b7750353fd77
|
| 840 |
+
b523dbb2b803/e287ab11e1c3
|
| 841 |
+
4ccac827258d/a92419803b17
|
| 842 |
+
0301e50fa532/9c33024a5ad1
|
| 843 |
+
ab2f8488a01f/47b835c4ab51
|
| 844 |
+
4dc73849f4cf/c1751a8a5f72
|
| 845 |
+
647baebf076f/fb38773b8a64
|
| 846 |
+
d6720a177355/5ee5e9fd96e2
|
| 847 |
+
bf74f635d1af/e540ebe2495e
|
| 848 |
+
8d9e03038012/815f475679cf
|
| 849 |
+
91106a43f8bc/baede462af1e
|
| 850 |
+
18f4965f1306/5b8c643e896f
|
| 851 |
+
738d9b7afd02/1d734903a9b8
|
| 852 |
+
34893d2ad428/8ab8b5d953db
|
| 853 |
+
e90dea1e1994/3f5151491f01
|
| 854 |
+
560f82dee36f/c96c1c8b371d
|
| 855 |
+
1590f02b8cfc/489645a740c7
|
| 856 |
+
fbe76b0deffe/6b26e3296bf3
|
| 857 |
+
b41a794b6d1e/b0fb99f5b3f0
|
| 858 |
+
be6a645f6998/702c2dcf1a7e
|
| 859 |
+
898c6e50f784/3fb0587c4d89
|
| 860 |
+
2d98d43c13e5/6d388cad8cc7
|
| 861 |
+
184ffd11cdf1/38b832a3dffc
|
| 862 |
+
920b2d5ba98c/4f0e3d254928
|
| 863 |
+
95d8e905178f/b40317ef536b
|
| 864 |
+
1e522e52de67/bcca932bafce
|
| 865 |
+
521203a29810/e07e0b142d31
|
| 866 |
+
432c2b5d327a/5392eb7811d0
|
| 867 |
+
f49dfacb5cc2/7c19fb794fba
|
| 868 |
+
e07656912a07/96133a839155
|
| 869 |
+
efe0e53f4fef/f81756bdcf5e
|
| 870 |
+
26436b5ed078/471ea159baff
|
| 871 |
+
cec0b348c8a0/40db364dec03
|
| 872 |
+
f19e14c9cfda/7ba5019e4a31
|
| 873 |
+
23782d47b633/fdf3a4f50169
|
| 874 |
+
e8cb8d4b20e4/4bb63fccfe69
|
| 875 |
+
5aab861e82c9/af2acf62317b
|
| 876 |
+
55cbe2c1804f/de414777b77a
|
| 877 |
+
7e05600c4d36/2e1f42395454
|
| 878 |
+
808a045bce69/be9331520c60
|
| 879 |
+
8fe87af0ad83/136cb4958740
|
| 880 |
+
011adabde70c/c1c431e19cd3
|
| 881 |
+
2822e27e3226/da322144489a
|
| 882 |
+
0878745aa8d9/a57e11cc6fed
|
| 883 |
+
a2aa26d2fb25/a25aa88b7580
|
| 884 |
+
58ba53f96a49/eac1e812a836
|
| 885 |
+
b9fac8282a20/261c6c270c86
|
| 886 |
+
adb7bb0c83d0/c0c2711e423c
|
| 887 |
+
c11f88aee4f0/b6d0e0d94ceb
|
| 888 |
+
8302668c57e8/e98eae6ecff1
|
| 889 |
+
904fdf6f6a61/980a0528830c
|
| 890 |
+
5439a942116c/786788aaa18a
|
| 891 |
+
268f88b48278/d95ab7fd36c0
|
| 892 |
+
acfe0aded1d3/a8ba57d7c942
|
| 893 |
+
adcb4bb5622a/14df861a9135
|
| 894 |
+
7f42137dd75f/0b9aac7f81e3
|
| 895 |
+
3e5fabafac80/bef01f274d09
|
| 896 |
+
e1cecee138f1/1e92c67c0d0a
|
| 897 |
+
14992f4bbeb6/7908c7fb6cb1
|
| 898 |
+
32fdaae623cc/b03f21b61c8f
|
| 899 |
+
ed89d0a88348/dbe8d1f111da
|
| 900 |
+
217748d80c1c/8667b327fe37
|
| 901 |
+
b6bb79577b33/8e4f7847f98f
|
| 902 |
+
bcf22393a137/42327de22600
|
| 903 |
+
ada92f4ebb11/8a461fa98a63
|
| 904 |
+
2071ce74e713/3e165c7cbeb8
|
| 905 |
+
dbd1f2b9850d/ed8940bba9eb
|
| 906 |
+
bf90b435873d/e901996be5d3
|
| 907 |
+
c9d37a1a8d03/1ad4675cdf0d
|
| 908 |
+
abcbc1b5a359/c3150dbe3d43
|
| 909 |
+
10f0b3bc01dd/29f8f659043a
|
| 910 |
+
9697cccda6e9/e1c7e215b33b
|
| 911 |
+
915177f0845e/bbb72ee5a9de
|
| 912 |
+
5ccb159f5114/c6a4feb7e605
|
| 913 |
+
96306bea8990/b0834265f6fd
|
| 914 |
+
600c63a9d095/138a0a175393
|
| 915 |
+
93072a8bf3c4/e45cfc35f68d
|
| 916 |
+
2bd05c0d2ae6/c31005ce0d32
|
| 917 |
+
bf2000565e1b/b14f90a4af29
|
| 918 |
+
d408552ff1d9/5abee9bf4112
|
| 919 |
+
9d8851ab383b/a17ecddb5a9f
|
| 920 |
+
4826d80cec60/169f3170f88e
|
| 921 |
+
f0a9988367d4/c3ff27be7356
|
| 922 |
+
ef8b71887dfe/c24c1ee29087
|
| 923 |
+
195524fda4f7/ceaa048ed1de
|
| 924 |
+
81db6b02ac0a/6be4fef1d0f2
|
| 925 |
+
375bd5a71e6f/a6327ab79bf9
|
| 926 |
+
a40d4f8ff7fa/2a5765f1e19b
|
| 927 |
+
c879562c9f5f/2c1311be1a38
|
| 928 |
+
099e40f80b1a/7b0539dcc4ae
|
| 929 |
+
59c6af9f813d/3ad3549fed3a
|
| 930 |
+
f92b8b063d30/d6abd312734e
|
| 931 |
+
d4d4a1de0d9a/6748d843a684
|
| 932 |
+
bd83881fd2c9/4219a47c9740
|
| 933 |
+
7f0dad8bb24d/8357dc95ed8e
|
| 934 |
+
de9bf5ce4c3e/abd47fe51a3d
|
| 935 |
+
eb7d305f939a/175966d46541
|
| 936 |
+
756cd5f4d4c5/b8a797a4182c
|
| 937 |
+
77c54123731d/25afebc5eedf
|
| 938 |
+
6619a123f51a/8dd5f06ce945
|
| 939 |
+
d2e50d1184d6/02e5ca22ed6a
|
| 940 |
+
db528a499463/646d9a8f2c98
|
| 941 |
+
1f19d8a172f2/c97f9131243e
|
| 942 |
+
08284c22ce7a/a4aca74f8a29
|
| 943 |
+
a496cb573a3d/d57236eb6605
|
| 944 |
+
574b472e4a8c/f1f335cf53b6
|
| 945 |
+
7c235cc4d019/04d99ed416c8
|
| 946 |
+
18e5d346c3f4/56fb7c346eca
|
| 947 |
+
635fab5c507c/434f1059e22d
|
| 948 |
+
afa2bf8b7dc6/6e047cd84d36
|
| 949 |
+
b30f01fcb846/eb5804fd6b71
|
| 950 |
+
1332400aae88/b88a0ba01b3d
|
| 951 |
+
199e872af666/897cd917915f
|
| 952 |
+
e1a578106fea/5507e340b5be
|
| 953 |
+
f82b7347a106/ac76984ab99e
|
| 954 |
+
199afd46e10c/f0ccbc9ee191
|
| 955 |
+
b7328b8f3f1b/8d36511f49f4
|
| 956 |
+
1aa4de68fdea/d6a7d2abb7fe
|
| 957 |
+
4c0ae3ecb7e0/0f107e7b9df2
|
| 958 |
+
e6bddafdea2a/eb22ed5c61b8
|
| 959 |
+
dda4aed27462/23fb22fdc899
|
| 960 |
+
4833c9b6a5d0/57e3e3c5f910
|
| 961 |
+
bd41829a70e5/d5b02211bf73
|
| 962 |
+
d119b9df7300/e411b067e702
|
| 963 |
+
0c8ddd1e5048/67597faf06b6
|
| 964 |
+
8d2e355906f2/f04b638bc7b0
|
| 965 |
+
3f4fa55af48c/f98401564c76
|
| 966 |
+
e133a6904073/f7259f59a6dc
|
| 967 |
+
e68850417123/4a72d0b74226
|
| 968 |
+
2572dddd88ce/643ce7f56248
|
| 969 |
+
f02fd2541f35/1297c0a7e99c
|
| 970 |
+
d7da6e6840c6/b1895fa56df9
|
| 971 |
+
6e3042dfd41e/cb4804a19383
|
| 972 |
+
132bf64c1776/cb3ec18f950b
|
| 973 |
+
50b6969c0aa6/d8a15b4b9843
|
| 974 |
+
cd4b8ed4438f/1ad8588954ec
|
| 975 |
+
ed1d3ecf6ce5/b1c6c5f0c9d5
|
| 976 |
+
efc8b87b2fc6/221557f31ad8
|
| 977 |
+
c896e44539c2/b596372d1894
|
| 978 |
+
3736f9d855b0/7ecec169aca0
|
| 979 |
+
94b827e0848b/8b66039fe7b1
|
| 980 |
+
e337042c520d/bce2a49dc2dd
|
| 981 |
+
1c6acc0e6964/7859f1826b22
|
| 982 |
+
6bc2b7b3b57c/ab419f7faa0f
|
| 983 |
+
9481cac65f72/22902912661d
|
| 984 |
+
d306bb34b230/a73a2fce7a08
|
| 985 |
+
acb1310992a3/3285672cf036
|
| 986 |
+
4963a7ee6fea/a56150119019
|
| 987 |
+
3140e4976204/770c160bb9cc
|
| 988 |
+
47c337096496/c1267e829335
|
| 989 |
+
a24ea8ceff2f/3043afc1f985
|
| 990 |
+
a59f1699552c/f37796cf913f
|
| 991 |
+
bb2c3733ee07/8cad8b30da82
|
| 992 |
+
f6dfd2c7773f/1e7a163d5687
|
| 993 |
+
8257c43f4b9c/2bc421c0a0a3
|
| 994 |
+
4017da7adc80/5552462fd438
|
| 995 |
+
cf5625b6279d/4eeb42e346f0
|
| 996 |
+
105918b839e5/08d99889f477
|
| 997 |
+
7de2d554ca2a/1ac40f55a1c8
|
| 998 |
+
f70cf6df15e6/1a7966a1294f
|
| 999 |
+
01539f82909c/e54f6b602a76
|
| 1000 |
+
b9ef58b62a0f/74e11f4e6634
|
| 1001 |
+
bea3236f4e4e/9439b7da8976
|
| 1002 |
+
ca1b3eceb9be/2c8340afb095
|
| 1003 |
+
242ef334aa07/0530f773115d
|
| 1004 |
+
ae0a88a205f3/ff91dd3fb684
|
| 1005 |
+
f01c03ea5855/bf7fba2b4c1b
|
| 1006 |
+
2aabea825334/80ebb1ccdd52
|
| 1007 |
+
c0d9dd389594/005f8a090cd1
|
| 1008 |
+
f37b7958f77a/999d8caf8690
|
| 1009 |
+
9d75125f784c/cb0983f5a34a
|
| 1010 |
+
1f87d7705934/c7eb0a7524db
|
| 1011 |
+
f888036388de/e2b93a41a5d1
|
| 1012 |
+
a1fd02cc53be/817d7eeb44d5
|
| 1013 |
+
4c387a7c4600/67e24b634d02
|
| 1014 |
+
ae44d0cf3ad9/058809f0aa43
|
| 1015 |
+
c71f8f4bd71c/ad276c7f7989
|
| 1016 |
+
9599941f9dbd/e5bc1bdd44d1
|
| 1017 |
+
77f7c1a7b693/c1af1b8cd1a3
|
| 1018 |
+
50611cbdade4/452f42b0a15e
|
| 1019 |
+
f3bc2d421c1b/f4834d98980b
|
| 1020 |
+
eb067115e5ab/4149122cd3d3
|
| 1021 |
+
8b10e8af1ba6/eb57f49083a0
|
| 1022 |
+
891fa31d1088/3fb4f360de98
|
| 1023 |
+
be1ad463b6bc/9d718df005c5
|
| 1024 |
+
f1175ac74587/f950d50ab217
|
| 1025 |
+
1a67a60b5384/5e0de3040874
|
| 1026 |
+
cc11ee2ffd74/0e08e20d8087
|
| 1027 |
+
b70b8533c01e/bebcb944e7a9
|
| 1028 |
+
dad6c93ee90d/248f08478d95
|
| 1029 |
+
34609159bf1e/a8cf1798891d
|
| 1030 |
+
6920ba69a5cf/9130ff170fe5
|
| 1031 |
+
65cb27364aca/56a32d56ec09
|
| 1032 |
+
daae29374b59/4d819d7b8a92
|
| 1033 |
+
ff060657de5e/940eb4f6c323
|
| 1034 |
+
d392831f22c7/02a669704946
|
| 1035 |
+
243bc7b94236/e514cd198da4
|
| 1036 |
+
26b59b600bb4/03d5e00abdd4
|
| 1037 |
+
4f2907834a70/736ecbbbb576
|
| 1038 |
+
87bde134a507/827bd7e488b4
|
| 1039 |
+
62ede8feab6e/da65a2dd00bb
|
| 1040 |
+
257cef167b9b/4211a6448520
|
| 1041 |
+
b6689933db7e/6ad82cf597fc
|
| 1042 |
+
941992985f49/ac6da044c0cc
|
| 1043 |
+
881175d3c694/566f15eb1c69
|
| 1044 |
+
0f7b6af842d8/752e31deaf72
|
| 1045 |
+
18f2ec1a1069/a574028e5e05
|
| 1046 |
+
ed2cd6e73ad9/0c6d12bfe16d
|
| 1047 |
+
977a1854c0a4/5a29c285ef61
|
| 1048 |
+
d1459947b1e7/3fd9e9e44baa
|
| 1049 |
+
106e431a1456/88c99556da62
|
| 1050 |
+
37a01ba21d32/d45b1ad6d2c6
|
| 1051 |
+
d2d5843a6eff/d99ab799dd18
|
| 1052 |
+
cca374ef213d/cc8732837c88
|
| 1053 |
+
f1cdbf00f1cc/f1fc7a3b6f89
|
| 1054 |
+
07633fd8ac5d/61d74d5a121e
|
| 1055 |
+
724c747348bb/6948b7160450
|
| 1056 |
+
54115bf48244/62f4db3bdaf0
|
| 1057 |
+
b8bbb29154cc/d1bcff9620a4
|
| 1058 |
+
f141fad5df3f/b290893ece36
|
| 1059 |
+
a43a36cc8792/a95e9ab75e15
|
| 1060 |
+
2e42719153f3/ecd4f91df11c
|
data/splits/rsna_pe/train.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
data/splits/rsna_pe/val.txt
ADDED
|
@@ -0,0 +1,1062 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
66b048cd99ac/7eb149b96d62
|
| 2 |
+
1ab0bf3198c4/546febda784d
|
| 3 |
+
9820a5517bd4/d78f53e45279
|
| 4 |
+
1ae6a23952ff/2b40732acc7a
|
| 5 |
+
73864f06e96e/add8695526b8
|
| 6 |
+
46e614d66734/e8d5602fb7a4
|
| 7 |
+
a84c2373adef/d210adff9690
|
| 8 |
+
4ef74c5e5ce3/e67187f4d780
|
| 9 |
+
437caed08598/de714f210450
|
| 10 |
+
eb65207fcdee/bb6ec895749a
|
| 11 |
+
583fb125addc/654a72c7136f
|
| 12 |
+
16e616e9da6f/e771f7a48d8c
|
| 13 |
+
1bc89370c743/4a504334f3ba
|
| 14 |
+
e1c0ea5e7a1c/868e0fafa26c
|
| 15 |
+
2486734f52b8/8ac2a6b1001f
|
| 16 |
+
565d68be0f68/420b55be0d11
|
| 17 |
+
2bb4fdce19d1/c5d8086a63b7
|
| 18 |
+
cec0e2a5869f/3b8cfce60596
|
| 19 |
+
3324a7eb9bb2/2cbbf98a270c
|
| 20 |
+
0a970be732a9/0d7059ed9ebf
|
| 21 |
+
aa4e8b79cf10/1208e60a0c9e
|
| 22 |
+
6b18f159d733/77c1ed644918
|
| 23 |
+
f3b5f9a59ad6/dc34a5a3d7ed
|
| 24 |
+
1a028f53d74c/5c83ab2e2ceb
|
| 25 |
+
da7c47d260ef/c42437c1d1f5
|
| 26 |
+
29387e715bd9/aa374c8ffd80
|
| 27 |
+
3578ec39ac8a/ed70b484580d
|
| 28 |
+
28686db13062/be4339740819
|
| 29 |
+
79304df6a87f/3551ac2b466d
|
| 30 |
+
87481e8f16dc/c8f3e9bd20eb
|
| 31 |
+
018b5097a129/0729127097da
|
| 32 |
+
3ff2e0fac430/a50e0a328afc
|
| 33 |
+
f8b02ccb4215/478162a07b06
|
| 34 |
+
a54d5d8cadeb/780fbafadd42
|
| 35 |
+
a68f02603ae4/f734cfc2cc63
|
| 36 |
+
75b62fa72a7d/a0ed0ecbdc1d
|
| 37 |
+
e88a9aade24a/2d61ea8d2e4e
|
| 38 |
+
4b1de3eb252d/7c1c8808e645
|
| 39 |
+
213e09559039/fe39fbe39278
|
| 40 |
+
fbf07b871839/f19ba65b222a
|
| 41 |
+
3d87b898b381/3661027fac6b
|
| 42 |
+
3d2a538d6ae1/b4d74ae43469
|
| 43 |
+
dad33e23e08c/299738fcc58e
|
| 44 |
+
c18bfa87ce50/b6ee2ad43897
|
| 45 |
+
89b3c87726d4/514c15c3c09d
|
| 46 |
+
45f10f5a9f4b/ba2a044cc939
|
| 47 |
+
0112fd91fdd0/2b363f6cfd3d
|
| 48 |
+
5d35fe271a66/7178706eccc6
|
| 49 |
+
b6e8bc34b552/72eed160f34d
|
| 50 |
+
06755d30ab5e/d7dd0e1a9ec3
|
| 51 |
+
3a9f089c7d99/dfdbed15981e
|
| 52 |
+
fbc8ea6cd700/fac6c1207959
|
| 53 |
+
866833783b95/56f973a558a5
|
| 54 |
+
ddef3e0290f3/0a6eeb26a06b
|
| 55 |
+
cf26902c572b/84f0e28ed537
|
| 56 |
+
43e2cd7fcfc7/8867031c9b59
|
| 57 |
+
ef69e7578a05/7ac9859ede2f
|
| 58 |
+
ae4f84f6fafb/75224aa64fce
|
| 59 |
+
b36d9324daec/df86124e3af7
|
| 60 |
+
e6fc04eceaad/d3f18e516e1d
|
| 61 |
+
1010deb093d6/e7afb2206cc5
|
| 62 |
+
77b5169c4ee8/7bc4bac32ed8
|
| 63 |
+
b4ed2db75bea/c0fb059ad6b8
|
| 64 |
+
008626c99017/461fe63dec07
|
| 65 |
+
2ff7b5ae4247/5a949ff61911
|
| 66 |
+
bb0c399591eb/9a3086d22cd3
|
| 67 |
+
1fd0ac287c7f/17f85880bbf5
|
| 68 |
+
57eb28c2498d/783a3eaa03ca
|
| 69 |
+
c8a4dd1bc9c1/6768ef342b11
|
| 70 |
+
b0819f257149/085417874b40
|
| 71 |
+
96046d8efae4/274e8a9a6b9f
|
| 72 |
+
004f9a1605e7/d24902cc3c42
|
| 73 |
+
0c2a250bc517/7090fc00483a
|
| 74 |
+
f1f78e1982d7/66f5dc60e1bb
|
| 75 |
+
c975b0d1c818/a8c0de9cf994
|
| 76 |
+
bb37544d9ecf/f8667a40f661
|
| 77 |
+
873e589bbd4e/8ec1b1181466
|
| 78 |
+
6e56909f2d70/07179bd262df
|
| 79 |
+
95b9b19057e0/da70b865077f
|
| 80 |
+
4cd025307c88/38b92e722988
|
| 81 |
+
7ecd5d3f494b/98114e60dcaf
|
| 82 |
+
5cd4ddb05661/826ffbe83d3a
|
| 83 |
+
c8f975cb6fd2/2b9c18edc7a9
|
| 84 |
+
f777d15bbd8b/301737ebe079
|
| 85 |
+
14bf4ec29e94/ffb4ebee76aa
|
| 86 |
+
96aba2c0ff5d/fc5f6d8e90c1
|
| 87 |
+
c758ab40f977/eccadf73c9da
|
| 88 |
+
8bbc09022874/16c291f910da
|
| 89 |
+
d1a9ef0c6496/f899255b566b
|
| 90 |
+
c307b9c85c68/624d061c2cf3
|
| 91 |
+
b4de1e1739d9/4a5d2a56d579
|
| 92 |
+
fa32d4ca3965/576b90a4d6d7
|
| 93 |
+
4b1d154fda11/65deb3107eb0
|
| 94 |
+
137be7b5a03e/cd8eaf9a2c91
|
| 95 |
+
9d8619d10909/6e268bad5c20
|
| 96 |
+
8d1b2c8e3857/f4bc2cc32b08
|
| 97 |
+
4d0e1bc3ea88/339abf26fc44
|
| 98 |
+
6b0e9a56045b/a5c69bed4446
|
| 99 |
+
e268a12b9476/a08ffaadc650
|
| 100 |
+
2e43e1196490/8b2837ffa345
|
| 101 |
+
1fa9ffc1ce65/f1a22c2106f4
|
| 102 |
+
ea5d80e66958/5c6625f77715
|
| 103 |
+
85cb60c97d07/b22ed37dec49
|
| 104 |
+
844f9abdd071/22b84b3e1cb0
|
| 105 |
+
ca09590a1457/a7e6ebd13d68
|
| 106 |
+
5a245a786914/ce5cc22f930f
|
| 107 |
+
25c6b1cd7719/e4ee55ca902d
|
| 108 |
+
b5e5c3560eff/f048e0f49448
|
| 109 |
+
ba3577d0d423/b9fcb489269a
|
| 110 |
+
917024cf429c/14d72b048c4f
|
| 111 |
+
098052e59646/867ffd3aa538
|
| 112 |
+
3badcf26ca79/e8ac97fcb3d6
|
| 113 |
+
0460d8363304/a3869b785731
|
| 114 |
+
c06ddd22f78f/ba77a3552b36
|
| 115 |
+
f3db0cc358cd/e7713b5b8687
|
| 116 |
+
16922e5175f2/c9cf3ce3c357
|
| 117 |
+
6e45ea074094/09ed93abd8cf
|
| 118 |
+
4c5397c29ca0/6953650553a7
|
| 119 |
+
72e60dca85a2/c84b525b3fbb
|
| 120 |
+
06fcd515ebd3/afa17b3639a3
|
| 121 |
+
9c79f4879733/1389413d6292
|
| 122 |
+
61dbadc35aec/08f37e8b40f4
|
| 123 |
+
e7dbdaefac50/a4b6d8ea2f53
|
| 124 |
+
d89134b89685/36c8a66d40ed
|
| 125 |
+
6dc41e6ea9be/97532a996560
|
| 126 |
+
289a1a844ac8/438f89e3c20b
|
| 127 |
+
8597451f5cf0/c3896f15a291
|
| 128 |
+
634bbe95aa58/7613de531329
|
| 129 |
+
362cd70b4307/410d7d7b9edb
|
| 130 |
+
f07df02bb9a5/e31608ee28f4
|
| 131 |
+
689bc4a73450/57899fadcab5
|
| 132 |
+
485be2438930/a802fcc4ed92
|
| 133 |
+
7cb26948b2b2/6fd8f27f136b
|
| 134 |
+
43ac1016f81a/62ca64a5640f
|
| 135 |
+
0d620a51fbf9/9811455aaf94
|
| 136 |
+
6b5b39edbe91/9b246cbfc33a
|
| 137 |
+
4e7558f1725a/e1e7843db854
|
| 138 |
+
f70a25ba030a/c7bd5d9f3292
|
| 139 |
+
e8dd226f80a0/3a3df0b276cc
|
| 140 |
+
465b692bf6f6/31e9c99d3cd5
|
| 141 |
+
2bab32188b8f/6ed39334e4b7
|
| 142 |
+
216a69eb3a93/be839b374fae
|
| 143 |
+
8b138b08cb61/a802a70aab8c
|
| 144 |
+
20e00921a91d/2b5f45c75f7c
|
| 145 |
+
3dd8998eca9a/6d69361da770
|
| 146 |
+
e4bfc801bda0/b3fd7a132b28
|
| 147 |
+
da9c76867400/0934e7724156
|
| 148 |
+
e27ee83ff120/e626910b77ee
|
| 149 |
+
b9c310a22473/e6ee1be65ac6
|
| 150 |
+
4dc66e775565/f646abc097ea
|
| 151 |
+
6a1e9c057a05/aa67309ee91b
|
| 152 |
+
141c1f161371/81a044189ea6
|
| 153 |
+
82fc15af1484/740d815c4d28
|
| 154 |
+
b07d6263c7ff/b8412b98306d
|
| 155 |
+
58617b8f468b/d2b30f382ee8
|
| 156 |
+
bf580f3b16fe/923afe21750f
|
| 157 |
+
8b4902beb6da/dee870f26166
|
| 158 |
+
ea7abb53f90f/0aa0bb40a3b1
|
| 159 |
+
2153097d7555/eda6b3a3453f
|
| 160 |
+
0f7b13e09ca4/5ea27b4b2cea
|
| 161 |
+
8691b0cd58ea/c123657c7329
|
| 162 |
+
bf7be06f1bce/97dc44f2ef9d
|
| 163 |
+
892ab1485372/742b02ee080b
|
| 164 |
+
9667c26dfe06/203a20b2f4f2
|
| 165 |
+
ee7db0419432/71eeb7a6811e
|
| 166 |
+
fffda3f22362/39ca5eaafffe
|
| 167 |
+
f772f2dd8f22/b6a589aa7b9d
|
| 168 |
+
f95df622d53d/8bfa10ffb4d8
|
| 169 |
+
1074fe1164e6/643e2fad48b8
|
| 170 |
+
dda580cc44f3/a1252e6218ee
|
| 171 |
+
36f34d462054/a191661efe48
|
| 172 |
+
2c469453d0bb/0dc0cb27c84e
|
| 173 |
+
7403eed181f7/a8e7115955e8
|
| 174 |
+
9b45f8886d2e/b40fc1e711de
|
| 175 |
+
fea8e1ea843e/87a0df3ab848
|
| 176 |
+
6ad386213d0a/17a5723c3f84
|
| 177 |
+
27fc4b010ec5/c465377de152
|
| 178 |
+
4ecf58adbb89/02aa0c7cf9f9
|
| 179 |
+
d3c94d3c92af/ff6bc80b385c
|
| 180 |
+
07e173095c42/b482d5aeb09d
|
| 181 |
+
19fa2c9f97e9/ba67c816584d
|
| 182 |
+
9d223375dac7/ccdf78b6d513
|
| 183 |
+
ca7290859ff4/2f91780b7650
|
| 184 |
+
4775122af69c/c5eb0d57328b
|
| 185 |
+
55858126181a/ccc2249d6292
|
| 186 |
+
af0fa891991a/eb43a6786159
|
| 187 |
+
c4ddccf1f86e/de1531c9909e
|
| 188 |
+
3ea327df4e36/14283cdebad6
|
| 189 |
+
dd146dc9a5a1/e65b5c00caca
|
| 190 |
+
68f09338e280/9b9ecc6bf2fc
|
| 191 |
+
9386efe4e83b/7a30f01d8157
|
| 192 |
+
20675fd1ae26/462acd0de70c
|
| 193 |
+
aaa759f74916/abc509592109
|
| 194 |
+
3d66245a1865/181699bfcec1
|
| 195 |
+
84fa4ac4cfd4/afb7b590b8b1
|
| 196 |
+
59331ab0d7cd/f423e5b0f21a
|
| 197 |
+
0e83a0d6516b/bac040099799
|
| 198 |
+
9d292b620241/c0d5cd0e407f
|
| 199 |
+
b912a01489ad/63f3e1ff8592
|
| 200 |
+
fdd5123d24ec/80984831bda0
|
| 201 |
+
afe8c4282f0c/3be38654b160
|
| 202 |
+
bf0ef391bbc5/051d2d40cfdb
|
| 203 |
+
802ec3c3639a/5a43229ad563
|
| 204 |
+
5e2608127652/efeb3c15a156
|
| 205 |
+
65de7e375851/0100d4bf7577
|
| 206 |
+
314b5c309cde/5d857182f18c
|
| 207 |
+
38f7a65644ca/4f0a37594c60
|
| 208 |
+
dc354bab4c24/27e71a0dc2e8
|
| 209 |
+
2ab547d2ca40/c6590ed2c591
|
| 210 |
+
a8357d4d477a/3ae73db03153
|
| 211 |
+
ff928f96c863/fc0acc6b5f61
|
| 212 |
+
7ada74a00592/7b97ece7385a
|
| 213 |
+
7faf38442276/58f18fc7e0e4
|
| 214 |
+
681ce6e04b61/7a7b867854ac
|
| 215 |
+
a53d88e6fb20/beb04e80a8ee
|
| 216 |
+
56cf16540907/6dee1745e036
|
| 217 |
+
51927511a250/ecce535465fd
|
| 218 |
+
ad102aca015f/1c9a64395a82
|
| 219 |
+
c38bda4f5135/6b8a6c38cbb5
|
| 220 |
+
3dd2d0d80070/c97920646015
|
| 221 |
+
cd0ac16de9ba/b7c819a086ca
|
| 222 |
+
03fcfad0bb12/cdc0826e721c
|
| 223 |
+
df6fb0c21dbc/07dbdbaea591
|
| 224 |
+
cb505c336b11/df35423a555d
|
| 225 |
+
1c6a3b1e0055/3b359662039e
|
| 226 |
+
f133b54091dc/1ae901318d4b
|
| 227 |
+
a17e808a1d15/fb3a494d0890
|
| 228 |
+
5622956a2e32/b1c829ef2624
|
| 229 |
+
b8bc7716a290/81b6e2b29889
|
| 230 |
+
064f64bac62e/bb39845f08d8
|
| 231 |
+
567c4a53a6f9/c0967e981b67
|
| 232 |
+
aed5f3773d87/5ebfa7c5285f
|
| 233 |
+
cdd4968a1ee0/cc9c94e04801
|
| 234 |
+
1dd34abb1022/4dea9bea69b6
|
| 235 |
+
905c0d74d18a/b9b962d340df
|
| 236 |
+
1b2119082f2c/ca01a3c2fa1d
|
| 237 |
+
629b785d977a/9f004b6e38c3
|
| 238 |
+
3f28b9d32596/8167f9ae30fa
|
| 239 |
+
8cff506ccce9/50035a6520ed
|
| 240 |
+
3aa195b75ae1/f57b42c7161e
|
| 241 |
+
24e95d6fa91c/b374b302d997
|
| 242 |
+
6577c331c3a7/95a4ae510771
|
| 243 |
+
eeef39ac5519/cbf2dac61bf0
|
| 244 |
+
264dcb42dff2/23b8add4b50e
|
| 245 |
+
385340a5b714/d8c8e5250e3e
|
| 246 |
+
5e41a4403134/c5c5b84e69b2
|
| 247 |
+
bcf6bb23b143/9a504bef531e
|
| 248 |
+
923f4474f187/2927cf6302a0
|
| 249 |
+
40438abbc0df/2605a01dd180
|
| 250 |
+
25d400e9ec5a/4c7e616018c9
|
| 251 |
+
98e34cd6bd9a/d67034fcab32
|
| 252 |
+
ce20ac7fa297/b776494f103c
|
| 253 |
+
61462f3676cc/92ed5ba6c737
|
| 254 |
+
d9b29750158c/3b0e81996494
|
| 255 |
+
5953351a1898/cee713110fd0
|
| 256 |
+
f6bd126cd9e2/9541c4df404b
|
| 257 |
+
b6e40f432824/b7676c467567
|
| 258 |
+
faa5ecffa39f/f28d14ac19b9
|
| 259 |
+
0c728924c7cc/1acba88f28f2
|
| 260 |
+
1ae50531694f/0f8e58301698
|
| 261 |
+
5be1a905c56a/d385289415c1
|
| 262 |
+
462432f2ed18/edab0127f712
|
| 263 |
+
87836de605b7/ae4ee06d00fa
|
| 264 |
+
4f093c06f440/3a5b5a4ae982
|
| 265 |
+
ceff046d0144/77db5b8d0ce8
|
| 266 |
+
ffb0a0633cd2/a04a4ea91da4
|
| 267 |
+
fdf53f597835/cd9176b321b3
|
| 268 |
+
e10900a2b081/cf02b9dd0f75
|
| 269 |
+
c87417527f3f/cc20f60defa5
|
| 270 |
+
5520262d09a9/23d9ad53669a
|
| 271 |
+
7877d884e67c/be4831153f07
|
| 272 |
+
c14d74ae2614/dfc23bd330e4
|
| 273 |
+
e2dc7899d876/93533eba4a50
|
| 274 |
+
a350f403177f/648447fe3aa5
|
| 275 |
+
9fb267edb9df/27077adf82e5
|
| 276 |
+
ab46d65a05a1/00376aeb1ec4
|
| 277 |
+
14c57dc12f12/ee9efe094804
|
| 278 |
+
aae60213c3a6/3dab6ab5db4e
|
| 279 |
+
bef4f5fb2a6d/e74a04baeba8
|
| 280 |
+
c9f792cf2fd1/e04d2220cfa6
|
| 281 |
+
33139afd4d3d/f78cca570dc3
|
| 282 |
+
9147f873e8e0/1b4e80557caf
|
| 283 |
+
8dab7007a628/3b73b54bee79
|
| 284 |
+
0441b1e12bf7/947831b101fc
|
| 285 |
+
909f785f928e/443d8860dc8e
|
| 286 |
+
1c8e8f2fb99c/f3ae27b5138e
|
| 287 |
+
937ffa67fccb/95e50b4ae34e
|
| 288 |
+
364e9bd00df2/adbc0c17bd0f
|
| 289 |
+
0365d4e26dd2/30d73b064f85
|
| 290 |
+
d03de449ee14/12ed95504028
|
| 291 |
+
f56b76936e30/3510c0866f2b
|
| 292 |
+
b78ef5612f25/ac8db3500726
|
| 293 |
+
7332d0c4486d/db8b7e3a2488
|
| 294 |
+
e30d908122e1/c7b3fc8c0eb9
|
| 295 |
+
dbcc0e386892/14f2c2537cb6
|
| 296 |
+
96f528c5cdad/3b5bb8ed68be
|
| 297 |
+
51e9945f7953/23fab8d2e18e
|
| 298 |
+
d1b1c55c54a9/ca5ad42e0e5d
|
| 299 |
+
fc987fac3fcb/0e709390585e
|
| 300 |
+
64ea6edf4566/6c82739ab546
|
| 301 |
+
f0eaa8927fbc/aab163a72a61
|
| 302 |
+
605c9f373255/f1a609903495
|
| 303 |
+
ddfad31686c9/d85b13dca8cc
|
| 304 |
+
dcbec76e4c1a/541d8c6cdcdd
|
| 305 |
+
65526b7e751a/652fd5e8aecc
|
| 306 |
+
806a6f685ffd/5629a4f28b87
|
| 307 |
+
7698d162c30e/c7e7e2830f71
|
| 308 |
+
cf66a790fb41/3a5851fdc104
|
| 309 |
+
2341d3b55832/2057cea0cedd
|
| 310 |
+
77a4d769c337/99d1031ccf2f
|
| 311 |
+
b1e1e834d492/222102ee1ccb
|
| 312 |
+
4b34828774d4/213745b7e648
|
| 313 |
+
e86704eb3158/40e81f77bec5
|
| 314 |
+
00c56dd61b33/1cc61e6e0233
|
| 315 |
+
196818309a7a/90e0eddb3861
|
| 316 |
+
dff5bcd870f9/123ccbf819ec
|
| 317 |
+
054383da7552/72b009bddfbc
|
| 318 |
+
93c8ea4b3013/e24f89228d17
|
| 319 |
+
836e1c1c9316/4ec939e57b08
|
| 320 |
+
56f495e09e36/ab60dbfacea8
|
| 321 |
+
47fed58478ca/376b50ba5955
|
| 322 |
+
5530adbbdbae/404b0e7ebb14
|
| 323 |
+
401e81bac70a/f14daf4876d4
|
| 324 |
+
799483828e98/9928349d7448
|
| 325 |
+
304c8048085b/cfddc9465cbe
|
| 326 |
+
90868cba442a/c7f47fc9e4d4
|
| 327 |
+
8f980d09fdc5/4a1d58848a14
|
| 328 |
+
f8e08335995e/fc94aff1b6cd
|
| 329 |
+
a170941e75ef/8f4d86567182
|
| 330 |
+
2d3047d85830/652a97064748
|
| 331 |
+
314e364c21e4/72c4868b9927
|
| 332 |
+
af45bde18edc/796f42f3f3dd
|
| 333 |
+
158aba74fa75/27a48c667565
|
| 334 |
+
6e861de7e84d/00810cd10c8e
|
| 335 |
+
6548787acbdd/09395d25f15f
|
| 336 |
+
4fc501e07c65/2b683d683f7b
|
| 337 |
+
407d52358822/0ecb2d312ba2
|
| 338 |
+
1ca290346593/908713c55f3c
|
| 339 |
+
bc6ff1c5061b/408f0fd9e8c4
|
| 340 |
+
ff4d90c50ec7/586115efc964
|
| 341 |
+
68982c6dcef0/bdacfd4d5809
|
| 342 |
+
8a0fa55be8f3/7bf47804bef5
|
| 343 |
+
0e41597fa5c7/3dbb03781d94
|
| 344 |
+
341c7022e7d0/a73d292c8f1f
|
| 345 |
+
a5ad89a78764/416e72a771dc
|
| 346 |
+
156ab7293e53/64324c0bd6be
|
| 347 |
+
7bcad36fdfa3/1444482af1c9
|
| 348 |
+
c20d5bb5ffa5/d958d167ce77
|
| 349 |
+
2ecdb74fdac6/b16492f4dd53
|
| 350 |
+
e2eaa325081e/9f9bf4ea330d
|
| 351 |
+
a65ef4139811/82cdd360b55b
|
| 352 |
+
76b746c9f701/601047e252ed
|
| 353 |
+
6b36f6ae67bd/74b1fac41cfb
|
| 354 |
+
333494d5edf8/bec1c64f009f
|
| 355 |
+
74b8baa96417/6bbb5c7cd8e5
|
| 356 |
+
24e9e7ae1972/0783812bbb9c
|
| 357 |
+
499f69ee7d8b/9de824145f15
|
| 358 |
+
d7009ecd872f/36e43f44201f
|
| 359 |
+
005a0dbcb4b7/4ceaee66edc8
|
| 360 |
+
86560951ebf7/186054349475
|
| 361 |
+
323f96f173ce/82bbf34146c4
|
| 362 |
+
95c97d74a4f1/47615e001e43
|
| 363 |
+
831898042c68/0cd720c0dcc4
|
| 364 |
+
be7fc3e7cae1/db86f914eb3c
|
| 365 |
+
5dfd2ef3e012/8b78ce11f559
|
| 366 |
+
00d4f4409f0c/38a51605b9ab
|
| 367 |
+
3d01779f6c1b/67213562ce77
|
| 368 |
+
207c2cdf9547/1cb343cead97
|
| 369 |
+
88747208ff6b/722628a0340a
|
| 370 |
+
890dba457b95/749f05587376
|
| 371 |
+
5f74364b8fa4/3894cf3d3538
|
| 372 |
+
b35ba29c9bb3/e19126209c23
|
| 373 |
+
440d4445b719/5e7b5e63532c
|
| 374 |
+
f9bc8bbae698/dbf504e710ec
|
| 375 |
+
7b3184672ce1/107bb4f5b598
|
| 376 |
+
81c433f3947b/cc3326f6a216
|
| 377 |
+
fa669201f10d/567590d1287d
|
| 378 |
+
d4fa82ac40c0/ec53e81dc349
|
| 379 |
+
324d5dd7f9e4/d2fb2861bcbe
|
| 380 |
+
1b78cdafd658/1e5db18f5e7e
|
| 381 |
+
983c2c029c42/5f3a96b9839c
|
| 382 |
+
6d5eb832a58f/341f0b007614
|
| 383 |
+
355861934641/02325079e645
|
| 384 |
+
94a5a995efab/c42960d46945
|
| 385 |
+
f1d5c4802385/7d6214bc47f6
|
| 386 |
+
4d8d8f1b1c81/2b60973ab968
|
| 387 |
+
582d923283a7/383c0cba1025
|
| 388 |
+
c26633e114e5/9b0eadb1f3dc
|
| 389 |
+
c8d65acf79eb/f92674c2e170
|
| 390 |
+
9a08fd13fc94/646bc595a45c
|
| 391 |
+
58444f51d254/b06b67a53947
|
| 392 |
+
4744e04156f8/5a7d9b562382
|
| 393 |
+
a4828b5ceb95/c472dc5ce8bb
|
| 394 |
+
02873a298396/8c7596e2cc1a
|
| 395 |
+
1dcea6e18ad2/d27befb849fd
|
| 396 |
+
de6cf946cacb/4f993af9e9d0
|
| 397 |
+
a290b381411f/b76df5d4c466
|
| 398 |
+
fd9f3904846c/f8e1fa7aaffb
|
| 399 |
+
ada8ea3ca937/c641a447f5b9
|
| 400 |
+
4b082e5875c9/3a20e42aef67
|
| 401 |
+
0706aaa554bd/91b391f4ff9c
|
| 402 |
+
31f86eea3f0e/341fe00f5d6a
|
| 403 |
+
86bbf267dba4/dd6208d6960e
|
| 404 |
+
613cd2c4979e/6adbb98845f6
|
| 405 |
+
8c308ddaacc8/da5476a003bd
|
| 406 |
+
702d99cfb78b/e1e0107bbd37
|
| 407 |
+
110d6a574d94/3570ea0c4bd6
|
| 408 |
+
9af0202f5957/601e3f5e8c7c
|
| 409 |
+
45e827bb65e4/8d76eee5fa1b
|
| 410 |
+
c67e7b167617/505b3c76d0b2
|
| 411 |
+
ac5d5d77c23d/319d03ab3bfd
|
| 412 |
+
64557ca988de/dc055f85e1cb
|
| 413 |
+
7a3889f87ec1/b779f4f2ed3d
|
| 414 |
+
a78520b823f9/0ef769cce18c
|
| 415 |
+
34102de8be71/7822f3938514
|
| 416 |
+
779e49106c99/704231bf0a2d
|
| 417 |
+
c32e71ac0bca/9edafa010c07
|
| 418 |
+
6074c1c68976/c6b84e64a18d
|
| 419 |
+
73d6bbe17c01/4eee51317cea
|
| 420 |
+
0b8d44d09125/f97bd8b9021c
|
| 421 |
+
6c45df39411a/42696f8ab7e6
|
| 422 |
+
7c316cb6913f/d369fd506049
|
| 423 |
+
051b3092bef5/62515784ac0a
|
| 424 |
+
45f464935743/025640f2cbe1
|
| 425 |
+
0565bf1b23d6/fbe13dbf449c
|
| 426 |
+
a87dd174efcb/3e909d3e1c0d
|
| 427 |
+
afdc554a8544/a72eb1740f02
|
| 428 |
+
ef79ebda04d2/de880935133e
|
| 429 |
+
01d21d521f2e/3caf4adfde9f
|
| 430 |
+
e6d7c925be28/8f80fe906c57
|
| 431 |
+
c8dd71adcc04/3b9aff38b500
|
| 432 |
+
14d973251ec3/c27b027109a2
|
| 433 |
+
9589599e6c29/327b552939b5
|
| 434 |
+
72f3ab6d9fa8/d2ac50bdbe5a
|
| 435 |
+
ce43b5640396/b3986c3d2fec
|
| 436 |
+
a54746e65833/be400214871c
|
| 437 |
+
f1982acb1ccf/40213ff1e97c
|
| 438 |
+
77cad15dee59/52a545699578
|
| 439 |
+
90af43cf7b92/3e0bc2a9735c
|
| 440 |
+
e3240752be0a/0c500ee18e06
|
| 441 |
+
c7867089cefc/aa1373fc2ead
|
| 442 |
+
19fff8d322b4/54ec4599b785
|
| 443 |
+
fc2bf881f4dd/75f0fd1ad072
|
| 444 |
+
d11302ed97f3/cac33a132b25
|
| 445 |
+
78d2c2bdafc5/6219099024bb
|
| 446 |
+
d51c3da2cd86/ebab40bffb20
|
| 447 |
+
8d992323ff89/067d9540e784
|
| 448 |
+
a7b2db609994/ac1a0d252c77
|
| 449 |
+
8bb7f579e600/2b8f11b41f3c
|
| 450 |
+
2115de83a41d/e2e7d2c5888f
|
| 451 |
+
690916e818f9/76a24afa5fc7
|
| 452 |
+
b4c2198cbf44/38ec1c6254b9
|
| 453 |
+
78316ab0762c/92c73b46858d
|
| 454 |
+
c5a1fa4c8a16/160e87970512
|
| 455 |
+
d04532c6aa9f/78b9f7c92837
|
| 456 |
+
d41a171b6b01/978dd299ca0f
|
| 457 |
+
96f350d8aa6d/d3ac25f3eb7e
|
| 458 |
+
2d2e0709f949/df20acacd06e
|
| 459 |
+
f1dd9190908d/e6b0c4409d99
|
| 460 |
+
f46de8d316dc/02d5184ce107
|
| 461 |
+
d9bced33a821/c8e6b72c4c1e
|
| 462 |
+
65410bb6c55b/e1623dd674b8
|
| 463 |
+
244b74e822d9/5aa9c6bd64a7
|
| 464 |
+
bf72c51c28db/a3b4578a3017
|
| 465 |
+
826f0f6d4182/0825ac990857
|
| 466 |
+
eafbecb55e53/b22786dc6776
|
| 467 |
+
7a08da51e050/44420cbbe114
|
| 468 |
+
5c435222b61d/3a5cfcf50e82
|
| 469 |
+
db3d47962890/5748e6bd896b
|
| 470 |
+
c7cce50c1475/c9ddb3383978
|
| 471 |
+
03f428020b93/e61d2459f6ef
|
| 472 |
+
0f8e755a8c72/4d2a352c01bd
|
| 473 |
+
fd81caa98e5d/1cffddccd550
|
| 474 |
+
d2a8fdf8dc1b/39742a05d812
|
| 475 |
+
fea72d249a92/0492bf992d3b
|
| 476 |
+
a20d844b4b98/0225e09e7611
|
| 477 |
+
33e5b140f030/7a7923b51a43
|
| 478 |
+
958589fe665e/7ab4fc6d5a01
|
| 479 |
+
7c156fac2448/e9e89b6b6b5e
|
| 480 |
+
7aba014984b7/3e66ea19ebc6
|
| 481 |
+
afe186f1593b/ad6f9811302e
|
| 482 |
+
cf6311397367/42b5a042ccfb
|
| 483 |
+
7024fd2e20d3/b68c6b9832cd
|
| 484 |
+
24325d68a871/5e1ea92c1c45
|
| 485 |
+
0eaf19b7f31d/9b01bb5345e4
|
| 486 |
+
cd01c695763d/9d16bac6a479
|
| 487 |
+
c9c1b5990ea0/a8b788a38f0b
|
| 488 |
+
e6bad4d97ce8/2ce4cbe26b6e
|
| 489 |
+
760f1ecadf7e/e1193df8a213
|
| 490 |
+
e39eff6b304f/a621c4f17b28
|
| 491 |
+
b75979bf64d8/f5864588434c
|
| 492 |
+
f8e3b8d95d6c/e89893bebce4
|
| 493 |
+
66aa2397d1cd/4d8ca3b82bd9
|
| 494 |
+
bf2df7b23d17/c60ec4043992
|
| 495 |
+
5d43ca942f1a/23db8e068cb9
|
| 496 |
+
449fe9e8952e/eb0434da3d7e
|
| 497 |
+
f4427c04ae34/63b8acbb4dcf
|
| 498 |
+
6bd08ce5bef4/62d9788e82df
|
| 499 |
+
1074699b8245/798bfe7324d0
|
| 500 |
+
44d22edc0fd1/8516b4b406d8
|
| 501 |
+
a55662221227/d1951fd523cd
|
| 502 |
+
100528918324/ad65228c635d
|
| 503 |
+
9959702db6e5/b79faa40132d
|
| 504 |
+
1ec7df67e59a/74ead20c0dd3
|
| 505 |
+
3248c9f12ba4/da754bacad6a
|
| 506 |
+
55949ea7a1bf/b5b77cbe70ae
|
| 507 |
+
676c4a162f7a/ca97508c513c
|
| 508 |
+
9ec7f9c3942f/7f045c4e54d0
|
| 509 |
+
76d1e8d43815/2d80010c608d
|
| 510 |
+
ad83df549ebe/92652c5456ad
|
| 511 |
+
aff66e00ade6/0bfcffcb9cad
|
| 512 |
+
027aafbec929/3148d52a9501
|
| 513 |
+
a1c15dcc86d2/b99a2a5f552c
|
| 514 |
+
cf385eb5811d/0a650a843a27
|
| 515 |
+
ffb066f2944c/869ff882b841
|
| 516 |
+
683ddc468822/8942fb46dc39
|
| 517 |
+
5aba34e03cef/63545463702e
|
| 518 |
+
d36913f32a1c/ffcd1096b23a
|
| 519 |
+
e03bf2df44b7/a4a6800f86a6
|
| 520 |
+
9a2140b97584/40bcfd17bc77
|
| 521 |
+
4604902705aa/5707fdfe3956
|
| 522 |
+
5b757365c206/a1b39d29eb5e
|
| 523 |
+
1229c0fe4ee4/e6cc318dfd4e
|
| 524 |
+
617c0cd396a0/bfb898dc2282
|
| 525 |
+
85c2a6362ab7/c96921b7c3a0
|
| 526 |
+
2e2c8c1582e4/b79efb02c30a
|
| 527 |
+
6a85ec33cd27/11974290d749
|
| 528 |
+
f0222de13946/28c1f9cab53a
|
| 529 |
+
97fbfba10324/9f28cc346ec6
|
| 530 |
+
7413c116409b/7898c63e4d8a
|
| 531 |
+
6124bcc72ac3/b5fe2dbe0531
|
| 532 |
+
1e120e7e2b71/9738316fe3fb
|
| 533 |
+
c90fff95ec84/f7158b7dde7e
|
| 534 |
+
c857ccb1e13d/efcf38ef064c
|
| 535 |
+
0b4f89c5a287/bc014383aaff
|
| 536 |
+
3bee61288e91/5548c8f1a6d4
|
| 537 |
+
281eb2b42203/d9ae0a2eeb9a
|
| 538 |
+
f1f18b6cc5ad/c789962b99b7
|
| 539 |
+
959f9ea58752/ce12c3e647d8
|
| 540 |
+
0947fbb9fe99/31591153e64d
|
| 541 |
+
3ddf95ae2711/e403781e8396
|
| 542 |
+
114617f864a6/19383608b4cb
|
| 543 |
+
32b307ec57b2/e24c5ab6eaab
|
| 544 |
+
0f29de75f7be/cea1315d5630
|
| 545 |
+
c5e9dc0cbdf9/6c0f32a7526b
|
| 546 |
+
9c0af222440c/60bec48d05b1
|
| 547 |
+
057ed3ba0fb0/fbddf85cab06
|
| 548 |
+
a9e168212446/668d322b93f1
|
| 549 |
+
ebadd74bc8b6/9bad0edd58ae
|
| 550 |
+
af90b2b8f05b/248e1c54c4ee
|
| 551 |
+
9f1f853da397/0d6af8c8424e
|
| 552 |
+
745ad2552a9b/015e209002f2
|
| 553 |
+
c10e408bee50/1e86b35cfb7e
|
| 554 |
+
859a705239d4/807d8f3c50f4
|
| 555 |
+
661bcf3decd2/bed56fa7e720
|
| 556 |
+
eeb816d8f2bc/8a221a5610bc
|
| 557 |
+
70572862d7a0/997524c4bf94
|
| 558 |
+
41d63a87e4c4/6f8454cc63dd
|
| 559 |
+
dc8ef3dfb0f5/9c8a5fed5316
|
| 560 |
+
aeb3a92b7836/73471dff4c70
|
| 561 |
+
eb2a6b2b21fb/34a6db28bf6b
|
| 562 |
+
c81735d3d9bb/2ca78becb9fd
|
| 563 |
+
c7cd2d31a785/af91ce0e2d8e
|
| 564 |
+
d18acc42fc27/e7cee14e43c7
|
| 565 |
+
d66cb1aac87b/9573d2dea6aa
|
| 566 |
+
0ff5a98cf60e/e27d5fc08bf7
|
| 567 |
+
5b060419d64d/8b4052412b21
|
| 568 |
+
7b525bafd231/bd9604248f98
|
| 569 |
+
954bdb5cd715/9202015024cb
|
| 570 |
+
31630cd893ed/b88b25a873a9
|
| 571 |
+
20cd5ebf2b5d/abdaf4560f19
|
| 572 |
+
b95e3c046d71/24dfa4c72c3c
|
| 573 |
+
0d8116decf04/047babb0f0c2
|
| 574 |
+
43d8d49e12b7/731f9dce84f4
|
| 575 |
+
ef52a6d70d92/e063e983ca76
|
| 576 |
+
be4cf9057bb5/42a507709a9e
|
| 577 |
+
9f6bad15a75b/89f0b4fe6d7d
|
| 578 |
+
83dfad4f6546/06f1dcf27882
|
| 579 |
+
fb86440bd85f/46b29b8e73aa
|
| 580 |
+
45b1d7b8bcea/87fa31072723
|
| 581 |
+
147e504371b3/8b8859acae53
|
| 582 |
+
ce5f245064e1/32fcc3dd90b8
|
| 583 |
+
609f7ad093a7/a249858147c0
|
| 584 |
+
1e0c475c8423/a9e6b07c4bd1
|
| 585 |
+
cb57ea5f137a/2fdd9250ee05
|
| 586 |
+
501cf57467ad/90d9535d6f0b
|
| 587 |
+
553a2c8efb14/afc720afea15
|
| 588 |
+
1863d6d03f5a/77d5ee0042a7
|
| 589 |
+
bcd797a108b9/8cbb47179019
|
| 590 |
+
69bafbe087f8/9a1ae8417275
|
| 591 |
+
0cfbcbc7b969/cf2a3faa9b0b
|
| 592 |
+
05f7f4dc543f/3662d3bbabb0
|
| 593 |
+
7e984a69ef2b/fb89330c8338
|
| 594 |
+
7d4abaef7809/5825bcfeeeab
|
| 595 |
+
8221a917b1ec/3f2fd220fb6c
|
| 596 |
+
7d19ade19449/89b569f8a5d8
|
| 597 |
+
a9384faf44ad/ff3fc415615b
|
| 598 |
+
e71018c0dd19/27a266bb20e7
|
| 599 |
+
a1c06d1d459f/895857fc4eb1
|
| 600 |
+
4f7e328f2df5/e63002421046
|
| 601 |
+
3d4e4ac5731e/bc0a9fe0cd1d
|
| 602 |
+
8dbd5f4b903c/bad3a1310583
|
| 603 |
+
4b6da2108b25/96d6dab0219b
|
| 604 |
+
15194d021b94/3c9ed916bc04
|
| 605 |
+
2d29cc6e215f/c681a6deab3f
|
| 606 |
+
ce3357bb2342/4a113a240079
|
| 607 |
+
316e29731f07/1b617a71487e
|
| 608 |
+
29d8fb689291/b77d9af9f3ea
|
| 609 |
+
64d73b99056b/5cb3c79c0cd9
|
| 610 |
+
636ea37ed57f/7a7af3133d2e
|
| 611 |
+
fa8b8cde099c/0f8e2a781b5a
|
| 612 |
+
0b9d6b9f6a5a/c384cf13e8eb
|
| 613 |
+
749b978a9b89/c45925cfc572
|
| 614 |
+
1a342da9fff8/cafd6e007cde
|
| 615 |
+
543fa3a576c5/9abedb99fdfa
|
| 616 |
+
246fc93db4cf/7805bac5069f
|
| 617 |
+
17acbfec2855/6ff051535d6c
|
| 618 |
+
7ae911216160/b159c484b5e8
|
| 619 |
+
745c8cc2d8fa/e9fe51231120
|
| 620 |
+
af1841c5ec5b/505a36534301
|
| 621 |
+
6cc97f077de5/ab4ecd134977
|
| 622 |
+
d469916480e7/aec7566a948c
|
| 623 |
+
854ddf06727e/30085e57c048
|
| 624 |
+
648529b7d83a/11598fa847bb
|
| 625 |
+
43f3a49b5ecb/af8dfe95e3cc
|
| 626 |
+
8b3c9f40ce4a/60d522975a8b
|
| 627 |
+
cdc4ce03759e/2bb3708b72c6
|
| 628 |
+
9269b93987f5/4ca88f5e5449
|
| 629 |
+
abe3e25c27a6/59f304d2ce4c
|
| 630 |
+
32b7eaaffc69/58a462227816
|
| 631 |
+
6465a57caeb3/ecd96e44231b
|
| 632 |
+
a122d4aaaa43/a30cb1db1121
|
| 633 |
+
c9e36b6f3487/84db11ee96ad
|
| 634 |
+
6c506e98ab39/d1bde4d81201
|
| 635 |
+
8806953b93d9/8599d42345de
|
| 636 |
+
0252f7faaf2a/af12e8322d15
|
| 637 |
+
4733a551438b/453e20ece981
|
| 638 |
+
2c1e0f802d8d/a3a8f903d849
|
| 639 |
+
028a800ae986/bbdcf5e82e0c
|
| 640 |
+
d017ac29bea8/0ee5a821fe31
|
| 641 |
+
b5ce079232eb/94cc10a16d83
|
| 642 |
+
b1203d0fd446/3121790d29a8
|
| 643 |
+
326bd6b1d2c5/4e2ce8dfde95
|
| 644 |
+
618adb14f46a/8cdd848edfac
|
| 645 |
+
63d496a5c75a/43529d5e7974
|
| 646 |
+
582fc56c21b5/c698782a0041
|
| 647 |
+
892789689a71/44e5c7c5370b
|
| 648 |
+
44241eb40c01/ab4c49b00e3f
|
| 649 |
+
d0ae2768f435/e463f7571ffc
|
| 650 |
+
6ddcd39d32b6/91b6e938b0fe
|
| 651 |
+
666b9ad4f63b/7a07ea3c3eb0
|
| 652 |
+
867077b5cfd4/a25ddb9aaf52
|
| 653 |
+
0a5d4ba6e645/451fc5923b1f
|
| 654 |
+
b11f26c7a5ba/cc80db0a68d4
|
| 655 |
+
cec6ec6e6b27/14fca8ec71d0
|
| 656 |
+
a31dbf8fa10e/27fb8c0a3336
|
| 657 |
+
a1b00776bcb1/bd146260fd84
|
| 658 |
+
1df1a7041801/df494a64a761
|
| 659 |
+
89375ab32a97/3a998b43395d
|
| 660 |
+
178289f909a8/387be8e8c47a
|
| 661 |
+
82cb3be70776/9283bdc5a848
|
| 662 |
+
575d796240b6/9f04ddcc0afa
|
| 663 |
+
e5feb628a152/f8c45e8ac894
|
| 664 |
+
2a4732b84a27/aafe568a481c
|
| 665 |
+
bdce209d6278/847606c7120c
|
| 666 |
+
ec8bbf55a147/3e152ff07f7b
|
| 667 |
+
20a0454797b7/71099bfbad45
|
| 668 |
+
9b3c1daf3e55/385db2ac7128
|
| 669 |
+
9c29dd10dd5c/2d9b7f197d74
|
| 670 |
+
6f6938175a51/8354f4e68c73
|
| 671 |
+
4ca899e96b8d/ae0a6372859d
|
| 672 |
+
6949b98efc6e/8511cc6431af
|
| 673 |
+
dee00309a4c8/ccb904999a27
|
| 674 |
+
26cdf5c03d36/f7b53438d036
|
| 675 |
+
4005994a21bd/75f443622a88
|
| 676 |
+
3815ffaef5aa/c737869bded3
|
| 677 |
+
cd0973feed36/eb71a843863e
|
| 678 |
+
3e64df5b7b3b/7c1c3f03744a
|
| 679 |
+
4d5c9db367ec/98a153d54578
|
| 680 |
+
8acfce813977/003a0cb56488
|
| 681 |
+
4ff23914e6f8/af4e6421d052
|
| 682 |
+
99d67fcc0a3a/d1a7d3c11e4b
|
| 683 |
+
40c0ac498189/097ef73c742f
|
| 684 |
+
77f1b7e42326/47c9fbeb3905
|
| 685 |
+
da84a42e5d31/bf2c2939ba78
|
| 686 |
+
f17d04c717e8/0dd9dcc81bff
|
| 687 |
+
73fcb1ac2dba/7d4400d6aa54
|
| 688 |
+
f309bc5c8683/18cfc0e7b651
|
| 689 |
+
e0e68355fb27/ac04bbb10b68
|
| 690 |
+
22fba4d650d2/c1cbf2285806
|
| 691 |
+
72ad6a56f14a/c8cb3d1c73ec
|
| 692 |
+
ab9938c70eea/14bccd6245b0
|
| 693 |
+
f8b188988551/397a6937415b
|
| 694 |
+
36f2f3fe9bb4/f7b020994900
|
| 695 |
+
eecfd4094859/f2c9fcae4483
|
| 696 |
+
6f8d12f8f4f9/f3847144f7b4
|
| 697 |
+
1b11ceb137ac/d6c90f4847d2
|
| 698 |
+
b74803f30fca/a904c562534c
|
| 699 |
+
e6030417f54e/1483f130f5e0
|
| 700 |
+
38e2e3db4112/b18a9a3d7c03
|
| 701 |
+
50e717917318/e9796c927c16
|
| 702 |
+
78ed9f77ea3f/9ad8d321c846
|
| 703 |
+
78b7d31e9753/130525fbaaf9
|
| 704 |
+
37f370b75a74/0219c6bf8cdf
|
| 705 |
+
6b6574adee52/652a195ff841
|
| 706 |
+
9fce54e8dddc/16037d845640
|
| 707 |
+
85a7f354ed24/6086f862b08e
|
| 708 |
+
dd8c6bdf21a9/ae2b2a89d6a6
|
| 709 |
+
77cb3ce3328d/ed4dd658f9e1
|
| 710 |
+
8b92a2a76e59/c1a29e488e37
|
| 711 |
+
2d4c810fbddb/26685ab77d0a
|
| 712 |
+
e43ec6635173/b8ced5aa0c1b
|
| 713 |
+
06fca4e12c3d/7533c83917a5
|
| 714 |
+
978aecaf2042/98eed9b23ce6
|
| 715 |
+
120890c1c87a/6beb6762fbb3
|
| 716 |
+
b892a7bec83f/362d6310438f
|
| 717 |
+
8b09dff95c1e/792738846ed7
|
| 718 |
+
f291126b784a/c590d7b05f47
|
| 719 |
+
b2477959c640/a555659635f9
|
| 720 |
+
311795510418/a95886d3e93f
|
| 721 |
+
d2900d793607/c142af714fd1
|
| 722 |
+
c379762d7f6d/4a349c956cb6
|
| 723 |
+
9a22979eddc8/2489f62a440a
|
| 724 |
+
3b33e8408bba/e50dd7b1e59e
|
| 725 |
+
6529e394d99d/548517a2e670
|
| 726 |
+
19b1a92b03d7/e097e1b3a80e
|
| 727 |
+
22b338d5574c/976e90951ac0
|
| 728 |
+
1b7800f91427/9f9637aa9bb5
|
| 729 |
+
31b56f4b9f33/6e5a7538ad09
|
| 730 |
+
c71b19eea988/ad5cb57de32b
|
| 731 |
+
2cb382e52b1a/fc3066a96704
|
| 732 |
+
b3aa71a35bea/f62a280a1fa7
|
| 733 |
+
6a28dcf3599b/aea55c5f28e8
|
| 734 |
+
e24505c4b33f/375d195991f4
|
| 735 |
+
8b56f5f68c7a/292f1a125052
|
| 736 |
+
fc8db117d50f/923f3b5dd088
|
| 737 |
+
4fecfb32d697/3255002a16f4
|
| 738 |
+
f549328c79ab/5176966ef821
|
| 739 |
+
386c04e39942/6bdb70229b3f
|
| 740 |
+
230cf88406b7/b8e3f189baa2
|
| 741 |
+
cfa368b39411/a40ce668e60f
|
| 742 |
+
26f9b79b2a26/0d8be159081d
|
| 743 |
+
871bb1bc5471/02a740ea40a0
|
| 744 |
+
703a5326277a/9e08785d8fd8
|
| 745 |
+
630f3b20f89a/1963b8c80d56
|
| 746 |
+
c16d413a5cf2/017b7834da90
|
| 747 |
+
d143f739c890/e9a68dc22d89
|
| 748 |
+
77e58b4bdfcd/83762da2cbfa
|
| 749 |
+
67781ff7beff/218a911d1e9e
|
| 750 |
+
fad15cd60e8d/ce6cb0657a89
|
| 751 |
+
f936a23abaf1/1ee623daee55
|
| 752 |
+
40086b51a222/29b58ab73dd4
|
| 753 |
+
175dff1e7d4b/bc58708aeaf2
|
| 754 |
+
02372090b912/7f08d0ef93f0
|
| 755 |
+
fe84e2d408ca/2b3af8a20763
|
| 756 |
+
721be1d06220/de3441ed13cc
|
| 757 |
+
c46ea88b778e/0af8bc5ab052
|
| 758 |
+
4629aae5b5e8/b0bc193dfc3f
|
| 759 |
+
c56a15aacb9e/2fbb9bc4b973
|
| 760 |
+
975e0ad5fbf7/6bce791d214a
|
| 761 |
+
0137615ed6ce/789ac279f7b3
|
| 762 |
+
5545fdd6015a/730997233836
|
| 763 |
+
46ca024ee5d7/b8e91d2ea5d6
|
| 764 |
+
56f8da8e106d/651dd12e83dd
|
| 765 |
+
791c9c9594ea/b992816e5d6b
|
| 766 |
+
ec36deb204d3/a61de9033439
|
| 767 |
+
4e3ce011704f/5ab0308fdd71
|
| 768 |
+
ea9a32a2cabe/6d19355425c2
|
| 769 |
+
af57d9eb2318/966f21d47fd0
|
| 770 |
+
0e42d4a2cacc/95bc1848844f
|
| 771 |
+
f42a9c91bf88/d67741735192
|
| 772 |
+
eb3306a28a0e/40813e6bfb43
|
| 773 |
+
bdaba6add594/2fe4842fad2a
|
| 774 |
+
bede3a3606ee/1eca3089a372
|
| 775 |
+
1a34f22425e9/3804cbf85c6b
|
| 776 |
+
fa09a60689f0/32070e1c0d3a
|
| 777 |
+
ef63be386036/003ab82c1d1b
|
| 778 |
+
ddf76aac7392/b0dcc7f5399a
|
| 779 |
+
84683ef46f3c/cde5aaccc1a9
|
| 780 |
+
5dcce1f4ab5c/9f5797c783fd
|
| 781 |
+
c2e8e9be1778/8ea54501f5c2
|
| 782 |
+
822188539ce2/2032fefd13ef
|
| 783 |
+
ca50c0453d28/f0a2d8f2b909
|
| 784 |
+
a93a6bbbd2ee/d8b106f0d611
|
| 785 |
+
928b16f3f380/eeaeea6da602
|
| 786 |
+
e9a19db076b3/9b7df7a2da0f
|
| 787 |
+
dfe28ad81fb1/78f81f8df0fa
|
| 788 |
+
ceaf1b15cc25/2d4b6258ebcd
|
| 789 |
+
978ce0c60432/bbbde5b8b13b
|
| 790 |
+
ce03fcf2788b/66388b0164fa
|
| 791 |
+
d29ef48aa5de/2f6d322c919d
|
| 792 |
+
1bd225846cf6/fc945a0b546b
|
| 793 |
+
3bc99fb9fb85/4f5aba8e5f9f
|
| 794 |
+
c51107b1d9c5/446f23b58093
|
| 795 |
+
0e429ff3a5a7/6eb7cab52805
|
| 796 |
+
a9f521942320/ec9bc8b2c075
|
| 797 |
+
161672270c2d/b12fb9c9f5e5
|
| 798 |
+
bff2cf0b9ab4/56c022dc5335
|
| 799 |
+
6b542e36b6e1/49571615de7c
|
| 800 |
+
79fe80dc909b/2b260de3db8a
|
| 801 |
+
9da2cdf2b6b8/052f904936dd
|
| 802 |
+
1acebaabf5bc/637ab884f1c8
|
| 803 |
+
45740eef8b62/da345a41d6a6
|
| 804 |
+
6be6b9432b2b/917abcf08ce9
|
| 805 |
+
bce8993c8990/fb8d5cec1f60
|
| 806 |
+
03fe9fa78df9/5e2aba4851fa
|
| 807 |
+
d04381c00d06/e23dd4092bf5
|
| 808 |
+
1a61c8535dc8/ee7cef1a558d
|
| 809 |
+
fdbbca3abae4/f1f0fbed2f33
|
| 810 |
+
ac3b29444fb3/f7b2f632c795
|
| 811 |
+
84e494d67539/5f10c2bb4bf2
|
| 812 |
+
78e100d6172b/8d2c40d49bb0
|
| 813 |
+
4d7a4494d46d/8990fd7598ae
|
| 814 |
+
f06c848b502a/009ffd9eaa99
|
| 815 |
+
49938af0b20f/791c60930315
|
| 816 |
+
8220e2a5aa82/b6b0f06b756c
|
| 817 |
+
535d3723e7a7/eab0c125cf90
|
| 818 |
+
929912d2b288/073f86368050
|
| 819 |
+
92611a987890/dc2abc867553
|
| 820 |
+
fb9b494baace/cbc4204efaea
|
| 821 |
+
4e5e65303833/d427c5b93dfb
|
| 822 |
+
53e3359d15c8/03f8d5f1b30a
|
| 823 |
+
633deb30f61c/5094703ad2fd
|
| 824 |
+
69ea1de748fa/301f4988063a
|
| 825 |
+
5b3a50b351e5/d02d8a7ac578
|
| 826 |
+
c51b4083faca/b4fe5d30f6e2
|
| 827 |
+
1d42a664ee07/a84042e2f6f0
|
| 828 |
+
07d9755cb618/e35599a6270d
|
| 829 |
+
582634147bd3/9d8e7bbffeec
|
| 830 |
+
edc54d1d8380/129a2e273a00
|
| 831 |
+
ab1a02775273/74522669e62d
|
| 832 |
+
00c4802978cc/0a4fb4e3e4ee
|
| 833 |
+
8e324e942e64/4200216cc840
|
| 834 |
+
1fbb6ed79dbf/01afeaeffdf7
|
| 835 |
+
b0ad2944784a/3f4886da2d99
|
| 836 |
+
b975f5d8d90e/735aba329141
|
| 837 |
+
6eed1cdbb56e/b6d21abc0d73
|
| 838 |
+
9ac218d1fcfe/3c5f004effbd
|
| 839 |
+
b295f3d8ff34/92e746486faa
|
| 840 |
+
613c0bf1e1a5/d9c635aebfbc
|
| 841 |
+
629db5c9ea76/fb0285228268
|
| 842 |
+
d4f5a34eaffb/f538ef65360b
|
| 843 |
+
f673adb91a15/578d5d64aae8
|
| 844 |
+
6b99f6e28ffa/e8782563bcf7
|
| 845 |
+
22a8722cc905/98b409fada79
|
| 846 |
+
98d1236c9975/c8159efc4682
|
| 847 |
+
8d22f76ce016/f6aa2395ff33
|
| 848 |
+
0d5307d3479b/0a571708d325
|
| 849 |
+
519a5760402e/848cfa5ea2d2
|
| 850 |
+
c3907f554dbc/40843c82875b
|
| 851 |
+
89a199b96c0a/341a486665f9
|
| 852 |
+
b6c8a8776ba9/e2c903897df1
|
| 853 |
+
de6a640cdd5e/b45f0846eb09
|
| 854 |
+
38d3c151ac4a/9184ca4f06a7
|
| 855 |
+
4afe1d929c96/a14467191305
|
| 856 |
+
747b205f7edb/14f1ed74cd4c
|
| 857 |
+
692d2bb6d199/21c07b11947a
|
| 858 |
+
5fa968b6297a/cbd943783c0f
|
| 859 |
+
be315d88502f/34e9df3aef7d
|
| 860 |
+
dcbfcb51de16/2463cc7e9ffe
|
| 861 |
+
131c5b1e80b1/5c1fe4cf55fa
|
| 862 |
+
03670f025ba0/28e72c8dd9f7
|
| 863 |
+
abb17dd35abe/51429341dd87
|
| 864 |
+
159a3668d288/1a98d3a61ba2
|
| 865 |
+
338e4e685b9f/5dc340036908
|
| 866 |
+
0c8557147145/0c5d2f085ae7
|
| 867 |
+
861d1d9240ac/3b1e6363d5ae
|
| 868 |
+
f1f15b327d31/37e7bf349501
|
| 869 |
+
0824fbc900e8/e4679791b31d
|
| 870 |
+
43fbfcc80bb9/65d76e4f53fe
|
| 871 |
+
7bfc32f77e08/ee22b0cca931
|
| 872 |
+
4ed6a69f97fa/f297d633775e
|
| 873 |
+
4aa9ff069d67/164b3c27553b
|
| 874 |
+
fe86fddba87a/1322d8df5c8e
|
| 875 |
+
fd06e114baff/49fcc49d06e9
|
| 876 |
+
29435386dee4/e429748e7f6b
|
| 877 |
+
728cf8765ef0/fcbc9d7b2b18
|
| 878 |
+
1adeedc6e428/7dba65827ffe
|
| 879 |
+
09cac8d48f3d/79f893438661
|
| 880 |
+
5011fc552393/b2b75cd504ca
|
| 881 |
+
92c8f419fe0e/50db0457fcf4
|
| 882 |
+
7f5aff57f0e6/6199aa6b1154
|
| 883 |
+
20e5ca8a54ac/c4610c10316c
|
| 884 |
+
8b9d5987d7a9/fe29541fc39d
|
| 885 |
+
5ce4550dfcb2/2839bb3af37b
|
| 886 |
+
cfa69cd28346/9f11e7c481ae
|
| 887 |
+
88c5b873f66c/b96e84f4445f
|
| 888 |
+
00cf4b2b751b/540a03df1d81
|
| 889 |
+
722cef1f45a9/d291e532ed4d
|
| 890 |
+
f758dab43d1f/f531ebf6aa3e
|
| 891 |
+
33059ff5fc1f/02f2321db49e
|
| 892 |
+
536ea012fd0f/24d8b9f7d2bf
|
| 893 |
+
2512f20a2611/c2a997083c18
|
| 894 |
+
0e984cfa9271/a7f28ac005be
|
| 895 |
+
59d9a33132ac/9bb2d834d61e
|
| 896 |
+
d74822a8d716/673952504823
|
| 897 |
+
084535453801/9789f8fb93e8
|
| 898 |
+
fa8e30993788/cde40435602a
|
| 899 |
+
004a429fc727/e282793e4272
|
| 900 |
+
9358ddf0b423/b3eafbed7120
|
| 901 |
+
3b2c03d7a474/e590947e5210
|
| 902 |
+
d8c80d231c1e/80221ab4239f
|
| 903 |
+
c674e3114758/e1166ba38f8a
|
| 904 |
+
66b13a0dff35/3400c052c186
|
| 905 |
+
fc5acb426404/f9a9750f96ea
|
| 906 |
+
881dc817175e/759b6679f563
|
| 907 |
+
afa4c7bf3f19/2f14435467ed
|
| 908 |
+
360b78bdc9c9/dbd54f7413e4
|
| 909 |
+
0783218c1c2c/f103d1455385
|
| 910 |
+
569e8cb14e19/90400b2c1461
|
| 911 |
+
331a8168811c/37434187c041
|
| 912 |
+
eb6d4dc511d2/73372a89d495
|
| 913 |
+
3d8ce6b80cb5/0f0339a5726e
|
| 914 |
+
f620513ea916/9e254df0d161
|
| 915 |
+
c4bcb3112065/45d50fb7ca49
|
| 916 |
+
072df5d8112a/293266afce36
|
| 917 |
+
acbbfebee699/63ea88104c69
|
| 918 |
+
a646058006ba/bfaf6ab559ae
|
| 919 |
+
6f226e8b89d0/9be987fb1915
|
| 920 |
+
15de51795f8c/e1a6ee869fc4
|
| 921 |
+
71de2c0ba21a/742fd46f4acb
|
| 922 |
+
3f72ecbf2e11/17c44f85dd48
|
| 923 |
+
741e8b67ec47/6d04fb8d7488
|
| 924 |
+
4386ebd270a2/f9e93095ced2
|
| 925 |
+
0af5610bf683/6ee796097155
|
| 926 |
+
73b3c3869e7d/3d9801207c95
|
| 927 |
+
e18d101c081d/289cd45e89d8
|
| 928 |
+
b7dd19241d7d/7cea76752154
|
| 929 |
+
4a9f6cf43918/275d80dca775
|
| 930 |
+
ccc88e93158a/17ccced826e3
|
| 931 |
+
298b85b4a912/4450184e0e2c
|
| 932 |
+
68bd57679780/0cf6ae1ee9a4
|
| 933 |
+
f8f6415debee/8a69e98dc50e
|
| 934 |
+
37ea972a0aa1/bc8363db0e89
|
| 935 |
+
5233a0c01815/ac3bdb1e65ef
|
| 936 |
+
e7a377645bae/3a022abb164d
|
| 937 |
+
b8aaea9c772b/fac75ae2f2a6
|
| 938 |
+
7146ac33a85d/23ea66492849
|
| 939 |
+
4eb88257a3c9/bcde208350de
|
| 940 |
+
b0c314108f96/7c13f301d608
|
| 941 |
+
7202fc54f3c2/4e51edc32761
|
| 942 |
+
4271dfae08b6/8d3cbf80c1ce
|
| 943 |
+
df0b6bc61367/d0180ba72f88
|
| 944 |
+
bde81b2222f2/4569fc0edb2f
|
| 945 |
+
10485d76c805/65a79ad0b9d4
|
| 946 |
+
ab6f5aa37b3f/1a5516b73701
|
| 947 |
+
42524b845dd7/a4d115fc9dc9
|
| 948 |
+
4f968a90b21f/5a8788c12089
|
| 949 |
+
bb579184729d/7630473043f6
|
| 950 |
+
112b8e9e54cd/d606d5193b73
|
| 951 |
+
22a655c29ec8/b52bc9c20925
|
| 952 |
+
e1dfdf78de0a/9866d2d26124
|
| 953 |
+
29d1cf6863a9/968072b2269a
|
| 954 |
+
a232528c5249/570ad5999801
|
| 955 |
+
a958a774a74e/0fa117cabe47
|
| 956 |
+
152e381992d1/4f3885f49a57
|
| 957 |
+
3dcf13978bd5/e0e6812c39e0
|
| 958 |
+
15422ea8ba8f/ea3517a21a76
|
| 959 |
+
910b0f5ebc07/72f124a8a394
|
| 960 |
+
e1a13580c296/65d6ff73a0a0
|
| 961 |
+
6caafb14bc0c/55d56eb0ec51
|
| 962 |
+
9100d4ab24e8/2652a09f5054
|
| 963 |
+
b454b0818c07/a244c2e1d0f9
|
| 964 |
+
6834b6d40d27/13f58f71db8b
|
| 965 |
+
31503eecd085/18a5362f5f08
|
| 966 |
+
f0eefdd3595b/937946574653
|
| 967 |
+
235ecf426dd8/686fa038dde7
|
| 968 |
+
3e3a95713ba6/333394a6e065
|
| 969 |
+
3dffab658da4/e3a1d95d751d
|
| 970 |
+
b09eaad2e75a/3e360725c37a
|
| 971 |
+
5f0efd9c2b4b/5faca54595c8
|
| 972 |
+
406539bcd44e/e0fd55ae1726
|
| 973 |
+
7f54ea06b8bc/0ec029a94ea9
|
| 974 |
+
847e5be3c156/f2cfb3becfbf
|
| 975 |
+
08e9793b0871/f54bf7e350f8
|
| 976 |
+
2cee24120c14/e20dd7db576d
|
| 977 |
+
19d31d7f076a/558768084200
|
| 978 |
+
1417f4655ee3/887af01a742d
|
| 979 |
+
e07ae049f530/2b9693a29a44
|
| 980 |
+
bf50df197564/2bc858584a3b
|
| 981 |
+
5ea1e4378c10/7979d6f813f6
|
| 982 |
+
56e6b37e8807/9fb05819210a
|
| 983 |
+
cb12b7d18fd6/e72e6238b1ce
|
| 984 |
+
c0a3759f93e4/4d9466a1dcf0
|
| 985 |
+
7ea75eeb227c/ab297c7a9a25
|
| 986 |
+
52e53123ac43/ef28c6e4a45d
|
| 987 |
+
de9b4b84dae9/9ef1c830506f
|
| 988 |
+
a8eb13ea24c0/1c5bee76587f
|
| 989 |
+
6153370af2e8/473f761425da
|
| 990 |
+
83816269f4fd/b52f1cd8f3ab
|
| 991 |
+
433de9f48203/8f372621c614
|
| 992 |
+
f03251482bbd/da2816acc320
|
| 993 |
+
cfc09d5b3e3a/229136b9a630
|
| 994 |
+
ebf77fb0d833/3ff23f4235a1
|
| 995 |
+
b6afed4265e4/579ccb2453e8
|
| 996 |
+
dd5d7fc35e3e/46d301027ebb
|
| 997 |
+
b6b0aedfe156/6de56256e1ff
|
| 998 |
+
f527c0b5fb75/7cb57c0eccb4
|
| 999 |
+
a1803bfc196c/4aa637f61f23
|
| 1000 |
+
da409c38de3a/3ee39a8d6ceb
|
| 1001 |
+
09259de2747f/79c27f29ddf9
|
| 1002 |
+
3eaa5bf61d97/0bdd63a977fc
|
| 1003 |
+
49d2d4640b8d/5a8620b63763
|
| 1004 |
+
ad00a44e0b42/04250b34a0e4
|
| 1005 |
+
3c3571dee457/f7b22bd17dc0
|
| 1006 |
+
b3890c338959/3e17d8a80676
|
| 1007 |
+
ee59f9929ef4/3a7ea18b5db8
|
| 1008 |
+
da066b39592a/857e9d8130c8
|
| 1009 |
+
8f88f39fd8fc/3d2f03f03887
|
| 1010 |
+
ff7234715ecb/ce7dc3c497b0
|
| 1011 |
+
9424e8ceeafb/044bfd77ddf7
|
| 1012 |
+
1f527838137b/bdca4a32d143
|
| 1013 |
+
2e7545970fce/8a2ce4da7407
|
| 1014 |
+
f37f094554f3/9d16d40a0950
|
| 1015 |
+
761454583cf3/e5ead5198d80
|
| 1016 |
+
8ada6cc02d0c/cff626d795eb
|
| 1017 |
+
f13bd4ef05f9/d155fb01ebb3
|
| 1018 |
+
a80c4cf5b981/5977462e8382
|
| 1019 |
+
261dbd842df2/c8f1eaddcaef
|
| 1020 |
+
a8c493d0104b/c89d1dc9577d
|
| 1021 |
+
026051220e43/4e325e9b47ae
|
| 1022 |
+
0e81dd7637d7/6b10844992ef
|
| 1023 |
+
b8e98e53befd/c02aee845193
|
| 1024 |
+
af1685f05100/a9d95d772d77
|
| 1025 |
+
c5561b55bab7/5e803ef5f47f
|
| 1026 |
+
913d192a50b5/cf9943a855e3
|
| 1027 |
+
08d0a66f40b9/8998b9737df3
|
| 1028 |
+
817d3f6f17f1/709d25128c56
|
| 1029 |
+
539ba15a6061/bfbd618586d7
|
| 1030 |
+
5fa8dca7168c/eeceabf7dc4b
|
| 1031 |
+
c899f992826f/b4a5d4cdd24f
|
| 1032 |
+
7e209fbfc30a/228cfab99c18
|
| 1033 |
+
cc5d7b5ffe5f/a65362b944c5
|
| 1034 |
+
35fe923f0708/1e9d49ba49ce
|
| 1035 |
+
6a7893a95949/c857791a52d9
|
| 1036 |
+
5ccb9f8bb152/95c6bd867dd3
|
| 1037 |
+
9fbdc1b9addd/4fef27a2bcfe
|
| 1038 |
+
f751cd1dd4cb/30fc48456017
|
| 1039 |
+
b4548bee81e8/ac1aea5d7662
|
| 1040 |
+
2f8bf4c9f5a9/84fd26e74fc8
|
| 1041 |
+
53a0ebc8cdd7/1f5f757e8352
|
| 1042 |
+
19bf83635edc/80fedad5c461
|
| 1043 |
+
f4b30d6e69ee/f33b8e7eb273
|
| 1044 |
+
feb80bdbd4c8/85aee1e38c3e
|
| 1045 |
+
38c043d7c241/b05596a5fc1a
|
| 1046 |
+
d87cd69ba8aa/467721e1e585
|
| 1047 |
+
8660c476ad4e/ba8afd325db5
|
| 1048 |
+
3703b9656a3b/99dee6d5d778
|
| 1049 |
+
b0ed58591574/07cab4e9eb8d
|
| 1050 |
+
f6dafd2c360b/52b4757cf0bf
|
| 1051 |
+
2b4c137dd462/02e92d8399e7
|
| 1052 |
+
d78eba22d7c5/e50aa5e6dbd1
|
| 1053 |
+
01d03c276180/1a3e3e8c6cc6
|
| 1054 |
+
cc2b71c37954/0afe325331cc
|
| 1055 |
+
0d282fe7068c/e15e1ad9fa6f
|
| 1056 |
+
e5a9e3974157/f71df5640a8d
|
| 1057 |
+
e88537baf51e/0ba4ebb2950c
|
| 1058 |
+
7badf5d1437f/9679b4aa677f
|
| 1059 |
+
8940602358e0/54fb0877d030
|
| 1060 |
+
1481013caabc/ea567c4fb6b7
|
| 1061 |
+
e21e87360463/31f3791efb97
|
| 1062 |
+
3739666fd620/7bfbc36c4dc3
|
dfr.py
ADDED
|
@@ -0,0 +1,199 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import logging
|
| 2 |
+
|
| 3 |
+
import torch
|
| 4 |
+
import torch.nn as nn
|
| 5 |
+
import torch.nn.functional as F
|
| 6 |
+
|
| 7 |
+
from .vision_encoders import build_vision_encoder
|
| 8 |
+
|
| 9 |
+
logger = logging.getLogger("glint")
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
def build_projector(config):
|
| 13 |
+
if config.model_type == "mlp":
|
| 14 |
+
model = MLP(config)
|
| 15 |
+
else:
|
| 16 |
+
raise NotImplementedError()
|
| 17 |
+
|
| 18 |
+
return model
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
def get_activation(activation_name):
|
| 22 |
+
activation_map = {"silu": nn.SiLU(), "relu": nn.ReLU(), "gelu": nn.GELU(), "tanh": nn.Tanh()}
|
| 23 |
+
activation_name = activation_name.lower()
|
| 24 |
+
if activation_name not in activation_map:
|
| 25 |
+
raise ValueError(f"Unknown activation: {activation_name}. Available: {list(activation_map.keys())}")
|
| 26 |
+
return activation_map[activation_name]
|
| 27 |
+
|
| 28 |
+
|
| 29 |
+
class MLP(nn.Module):
|
| 30 |
+
def __init__(self, config):
|
| 31 |
+
super().__init__()
|
| 32 |
+
self.config = config
|
| 33 |
+
|
| 34 |
+
activation = get_activation(getattr(config, "activation", "silu"))
|
| 35 |
+
dropout = getattr(config, "dropout", 0.0)
|
| 36 |
+
num_layers = getattr(config, "num_layers", 3)
|
| 37 |
+
|
| 38 |
+
layers = []
|
| 39 |
+
layers.append(nn.Linear(config.input_dim, config.hidden_dim))
|
| 40 |
+
layers.append(activation)
|
| 41 |
+
if dropout > 0:
|
| 42 |
+
layers.append(nn.Dropout(dropout))
|
| 43 |
+
|
| 44 |
+
for _ in range(num_layers - 2):
|
| 45 |
+
layers.append(nn.Linear(config.hidden_dim, config.hidden_dim))
|
| 46 |
+
layers.append(activation)
|
| 47 |
+
if dropout > 0:
|
| 48 |
+
layers.append(nn.Dropout(dropout))
|
| 49 |
+
|
| 50 |
+
layers.append(nn.Linear(config.hidden_dim, config.out_dim))
|
| 51 |
+
|
| 52 |
+
self.mlp = nn.Sequential(*layers)
|
| 53 |
+
|
| 54 |
+
def forward(self, x):
|
| 55 |
+
return self.mlp(x)
|
| 56 |
+
|
| 57 |
+
|
| 58 |
+
class DFRLoss(nn.Module):
|
| 59 |
+
def __init__(
|
| 60 |
+
self,
|
| 61 |
+
use_token_wise=True,
|
| 62 |
+
**kwargs,
|
| 63 |
+
):
|
| 64 |
+
super().__init__()
|
| 65 |
+
self.use_token_wise = use_token_wise
|
| 66 |
+
|
| 67 |
+
def forward(
|
| 68 |
+
self,
|
| 69 |
+
proj_student_features,
|
| 70 |
+
teacher_features,
|
| 71 |
+
):
|
| 72 |
+
outputs = dict()
|
| 73 |
+
|
| 74 |
+
if isinstance(proj_student_features, list):
|
| 75 |
+
total_loss = 0.0
|
| 76 |
+
n = 0
|
| 77 |
+
for ps, ts in zip(proj_student_features, teacher_features):
|
| 78 |
+
if isinstance(ps, dict):
|
| 79 |
+
for k in ps.keys():
|
| 80 |
+
total_loss += self._compute_loss(ps[k], ts[k])
|
| 81 |
+
n += 1
|
| 82 |
+
else:
|
| 83 |
+
total_loss += self._compute_loss(ps, ts)
|
| 84 |
+
n += 1
|
| 85 |
+
loss = total_loss / max(n, 1)
|
| 86 |
+
|
| 87 |
+
elif isinstance(proj_student_features, dict):
|
| 88 |
+
total_loss = 0
|
| 89 |
+
num_pairs = len(proj_student_features)
|
| 90 |
+
for key in proj_student_features.keys():
|
| 91 |
+
proj_student = proj_student_features[key]
|
| 92 |
+
teacher = teacher_features[key]
|
| 93 |
+
total_loss += self._compute_loss(proj_student, teacher)
|
| 94 |
+
loss = total_loss / num_pairs
|
| 95 |
+
else:
|
| 96 |
+
loss = self._compute_loss(proj_student_features, teacher_features)
|
| 97 |
+
|
| 98 |
+
losses = {
|
| 99 |
+
"dfr_loss": loss,
|
| 100 |
+
"loss": loss,
|
| 101 |
+
}
|
| 102 |
+
outputs["losses"] = losses
|
| 103 |
+
|
| 104 |
+
return outputs
|
| 105 |
+
|
| 106 |
+
def _compute_loss(self, proj_student, teacher):
|
| 107 |
+
proj_student = F.normalize(proj_student, p=2, dim=-1)
|
| 108 |
+
teacher = F.normalize(teacher, p=2, dim=-1)
|
| 109 |
+
|
| 110 |
+
if self.use_token_wise:
|
| 111 |
+
similarity = torch.sum(proj_student * teacher, dim=-1)
|
| 112 |
+
loss = (1.0 - similarity).mean()
|
| 113 |
+
else:
|
| 114 |
+
proj_student_global = proj_student.mean(dim=1)
|
| 115 |
+
teacher_global = teacher.mean(dim=1)
|
| 116 |
+
similarity = torch.sum(proj_student_global * teacher_global, dim=-1)
|
| 117 |
+
loss = (1.0 - similarity).mean()
|
| 118 |
+
|
| 119 |
+
loss = loss.mean()
|
| 120 |
+
return loss
|
| 121 |
+
|
| 122 |
+
|
| 123 |
+
class DFRModule(nn.Module):
|
| 124 |
+
def __init__(self, dfr_config):
|
| 125 |
+
super().__init__()
|
| 126 |
+
self.config = dfr_config
|
| 127 |
+
self.use_cache = getattr(dfr_config, "use_cache", False)
|
| 128 |
+
|
| 129 |
+
if not self.use_cache:
|
| 130 |
+
self.vision_teacher_model = build_vision_encoder(dfr_config.vfm_teacher_config)
|
| 131 |
+
else:
|
| 132 |
+
logger.info("DFRModule: use_cache=True, skipping teacher model loading")
|
| 133 |
+
|
| 134 |
+
self.layer_mapping = dfr_config.layer_mapping
|
| 135 |
+
student_layers = self.layer_mapping["student_layers"]
|
| 136 |
+
teacher_layers = self.layer_mapping["teacher_layers"]
|
| 137 |
+
|
| 138 |
+
self._validate_layer_mapping(student_layers, teacher_layers)
|
| 139 |
+
self.num_layer_pairs = len(student_layers)
|
| 140 |
+
|
| 141 |
+
self._build_projectors(dfr_config.projector_config, student_layers, teacher_layers)
|
| 142 |
+
|
| 143 |
+
def _validate_layer_mapping(self, student_layers, teacher_layers):
|
| 144 |
+
if len(student_layers) != len(teacher_layers):
|
| 145 |
+
raise ValueError(
|
| 146 |
+
f"student_layer and teacher_layer must have same length. "
|
| 147 |
+
f"Got {len(student_layers)} and {len(teacher_layers)}"
|
| 148 |
+
)
|
| 149 |
+
|
| 150 |
+
def _build_projectors(self, projector_config, student_layers, teacher_layers):
|
| 151 |
+
use_multiple_projectors = self.layer_mapping.get("use_multiple_projectors", False)
|
| 152 |
+
|
| 153 |
+
if use_multiple_projectors and self.num_layer_pairs > 1:
|
| 154 |
+
self.projector = nn.ModuleDict()
|
| 155 |
+
for s_layer, t_layer in zip(student_layers, teacher_layers):
|
| 156 |
+
projector_key = f"projector_{s_layer}_{t_layer}"
|
| 157 |
+
self.projector[projector_key] = build_projector(projector_config)
|
| 158 |
+
self.use_multiple_projectors = True
|
| 159 |
+
else:
|
| 160 |
+
self.projector = build_projector(projector_config)
|
| 161 |
+
self.use_multiple_projectors = False
|
| 162 |
+
|
| 163 |
+
def forward(self, pixel_values, student_hidden_states, cached_teacher_features=None):
|
| 164 |
+
student_layers = self.layer_mapping["student_layers"]
|
| 165 |
+
teacher_layers = self.layer_mapping["teacher_layers"]
|
| 166 |
+
|
| 167 |
+
if cached_teacher_features is not None:
|
| 168 |
+
teacher_hidden_states = cached_teacher_features
|
| 169 |
+
else:
|
| 170 |
+
with torch.no_grad():
|
| 171 |
+
teacher_outputs = self.vision_teacher_model(pixel_values, output_hidden_states=True)
|
| 172 |
+
|
| 173 |
+
results = {
|
| 174 |
+
"teacher_features": {},
|
| 175 |
+
"proj_student_features": {},
|
| 176 |
+
}
|
| 177 |
+
|
| 178 |
+
for s_layer, t_layer in zip(student_layers, teacher_layers):
|
| 179 |
+
student_feat = student_hidden_states[s_layer]
|
| 180 |
+
|
| 181 |
+
if cached_teacher_features is not None:
|
| 182 |
+
teacher_feat = teacher_hidden_states[t_layer]
|
| 183 |
+
teacher_feat = teacher_feat.to(dtype=student_feat.dtype)
|
| 184 |
+
else:
|
| 185 |
+
teacher_feat = teacher_outputs.hidden_states[t_layer]
|
| 186 |
+
|
| 187 |
+
proj_student_feat = self._project_student_features(student_feat, s_layer, t_layer)
|
| 188 |
+
|
| 189 |
+
results["teacher_features"][f"layer_{s_layer}_{t_layer}"] = teacher_feat
|
| 190 |
+
results["proj_student_features"][f"layer_{s_layer}_{t_layer}"] = proj_student_feat
|
| 191 |
+
|
| 192 |
+
return results
|
| 193 |
+
|
| 194 |
+
def _project_student_features(self, student_feat, s_layer, t_layer):
|
| 195 |
+
if self.use_multiple_projectors:
|
| 196 |
+
projector_key = f"projector_{s_layer}_{t_layer}"
|
| 197 |
+
return self.projector[projector_key](student_feat)
|
| 198 |
+
else:
|
| 199 |
+
return self.projector(student_feat)
|
inference.py
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Score a sentence against a chest CT volume, save its similarity map as NIfTI and score the 18 CT-RATE findings.
|
| 2 |
+
|
| 3 |
+
python inference.py --volume volume.nii.gz --text "There is a lung nodule."
|
| 4 |
+
"""
|
| 5 |
+
|
| 6 |
+
import argparse
|
| 7 |
+
import os
|
| 8 |
+
import warnings
|
| 9 |
+
|
| 10 |
+
import torch
|
| 11 |
+
from transformers import AutoModel, AutoTokenizer
|
| 12 |
+
|
| 13 |
+
from utils import (
|
| 14 |
+
load_ct_volume,
|
| 15 |
+
model_inference,
|
| 16 |
+
model_inference_multiple_text,
|
| 17 |
+
save_similarity_map,
|
| 18 |
+
similarity_scores_to_volume,
|
| 19 |
+
)
|
| 20 |
+
|
| 21 |
+
warnings.filterwarnings("ignore", category=UserWarning)
|
| 22 |
+
|
| 23 |
+
REPO_DIR = os.path.dirname(os.path.abspath(__file__))
|
| 24 |
+
|
| 25 |
+
CT_RATE_LABELS = [
|
| 26 |
+
"Medical material",
|
| 27 |
+
"Arterial wall calcification",
|
| 28 |
+
"Cardiomegaly",
|
| 29 |
+
"Pericardial effusion",
|
| 30 |
+
"Coronary artery wall calcification",
|
| 31 |
+
"Hiatal hernia",
|
| 32 |
+
"Lymphadenopathy",
|
| 33 |
+
"Emphysema",
|
| 34 |
+
"Atelectasis",
|
| 35 |
+
"Lung nodule",
|
| 36 |
+
"Lung opacity",
|
| 37 |
+
"Pulmonary fibrotic sequela",
|
| 38 |
+
"Pleural effusion",
|
| 39 |
+
"Mosaic attenuation pattern",
|
| 40 |
+
"Peribronchial thickening",
|
| 41 |
+
"Consolidation",
|
| 42 |
+
"Bronchiectasis",
|
| 43 |
+
"Interlobular septal thickening",
|
| 44 |
+
]
|
| 45 |
+
|
| 46 |
+
|
| 47 |
+
def load_model(device=None, dtype=torch.float32):
|
| 48 |
+
device = device or ("cuda" if torch.cuda.is_available() else "cpu")
|
| 49 |
+
tokenizer = AutoTokenizer.from_pretrained(REPO_DIR)
|
| 50 |
+
model = AutoModel.from_pretrained(REPO_DIR, trust_remote_code=True, dtype=dtype).to(device).eval()
|
| 51 |
+
return {"tokenizer": tokenizer, "model": model}
|
| 52 |
+
|
| 53 |
+
|
| 54 |
+
def main():
|
| 55 |
+
parser = argparse.ArgumentParser(description=__doc__.splitlines()[0])
|
| 56 |
+
parser.add_argument("--volume", default="volume.nii.gz", help="NIfTI CT volume")
|
| 57 |
+
parser.add_argument("--text", default="There is a lung nodule.")
|
| 58 |
+
parser.add_argument("--output", default="similarity_map.nii.gz", help="similarity map (NIfTI)")
|
| 59 |
+
parser.add_argument(
|
| 60 |
+
"--ct_output", default="ct_preprocessed.nii.gz", help="preprocessed CT on the same grid (NIfTI)"
|
| 61 |
+
)
|
| 62 |
+
parser.add_argument(
|
| 63 |
+
"--raw_spacing", type=float, nargs=3, default=None, help="voxel spacing if the NIfTI affine is unreliable"
|
| 64 |
+
)
|
| 65 |
+
args = parser.parse_args()
|
| 66 |
+
|
| 67 |
+
models = load_model()
|
| 68 |
+
pixel_values, affine = load_ct_volume(args.volume, raw_spacing=args.raw_spacing, return_affine=True)
|
| 69 |
+
|
| 70 |
+
prob, scores = model_inference(pixel_values, args.text, **models)
|
| 71 |
+
print(f"{args.text!r}: probability {prob.item():.3f}")
|
| 72 |
+
volume = similarity_scores_to_volume(scores, models["model"])
|
| 73 |
+
save_similarity_map(volume, affine, args.output, pixel_values, args.ct_output)
|
| 74 |
+
print(f"similarity map saved to {args.output} (CT: {args.ct_output})")
|
| 75 |
+
|
| 76 |
+
prompts = [f"There is {label}" for label in CT_RATE_LABELS] # zero-shot evaluation prompts
|
| 77 |
+
probs, _ = model_inference_multiple_text(pixel_values, prompts, **models)
|
| 78 |
+
for label, p in zip(CT_RATE_LABELS, probs.flatten().tolist()):
|
| 79 |
+
print(f" {label:42s} {p:.3f}")
|
| 80 |
+
|
| 81 |
+
|
| 82 |
+
if __name__ == "__main__":
|
| 83 |
+
main()
|
losses.py
ADDED
|
@@ -0,0 +1,607 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import logging
|
| 2 |
+
|
| 3 |
+
import numpy as np
|
| 4 |
+
import torch
|
| 5 |
+
import torch.distributed as dist
|
| 6 |
+
import torch.nn as nn
|
| 7 |
+
import torch.nn.functional as F
|
| 8 |
+
from entmax import entmax_bisect
|
| 9 |
+
|
| 10 |
+
from .dfr import DFRLoss # noqa: F401
|
| 11 |
+
|
| 12 |
+
logger = logging.getLogger("glint")
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
def pad_and_gather(tensor):
|
| 16 |
+
local_size = torch.tensor(tensor.size(), device=tensor.device)
|
| 17 |
+
|
| 18 |
+
all_sizes = [torch.zeros_like(local_size) for _ in range(dist.get_world_size())]
|
| 19 |
+
dist.all_gather(all_sizes, local_size)
|
| 20 |
+
|
| 21 |
+
max_size = torch.stack(all_sizes).max(dim=0)[0]
|
| 22 |
+
|
| 23 |
+
padded_tensor = torch.zeros(max_size.tolist(), device=tensor.device)
|
| 24 |
+
padded_tensor[: local_size[0]] = tensor
|
| 25 |
+
|
| 26 |
+
gathered_tensors = dist.nn.all_gather(padded_tensor)
|
| 27 |
+
|
| 28 |
+
gathered_tensors = [g[: s[0]] for g, s in zip(gathered_tensors, all_sizes)]
|
| 29 |
+
|
| 30 |
+
gathered_tensors = torch.cat(gathered_tensors, dim=0)
|
| 31 |
+
|
| 32 |
+
return gathered_tensors
|
| 33 |
+
|
| 34 |
+
|
| 35 |
+
def pad_and_gather_2nd_dim(tensor, mask):
|
| 36 |
+
local_size = torch.tensor(tensor.size(), device=tensor.device)
|
| 37 |
+
|
| 38 |
+
if local_size[1] == 0:
|
| 39 |
+
local_size = torch.tensor([local_size[0], 1, local_size[2]], device=tensor.device)
|
| 40 |
+
tensor = torch.zeros(
|
| 41 |
+
(local_size[0], 1, local_size[2]),
|
| 42 |
+
device=tensor.device,
|
| 43 |
+
requires_grad=True,
|
| 44 |
+
)
|
| 45 |
+
mask = torch.zeros((local_size[0], 1), device=mask.device, dtype=torch.bool)
|
| 46 |
+
|
| 47 |
+
all_sizes = [torch.zeros_like(local_size) for _ in range(dist.get_world_size())]
|
| 48 |
+
dist.all_gather(all_sizes, local_size)
|
| 49 |
+
|
| 50 |
+
max_len = max([i[1].item() for i in all_sizes])
|
| 51 |
+
|
| 52 |
+
padded_tensor = torch.zeros((local_size[0], max_len, local_size[2]), device=tensor.device)
|
| 53 |
+
padded_tensor[:, : local_size[1]] = tensor
|
| 54 |
+
|
| 55 |
+
padded_mask = torch.zeros((local_size[0], max_len), device=mask.device)
|
| 56 |
+
padded_mask[:, : local_size[1]] = mask
|
| 57 |
+
|
| 58 |
+
gathered_tensors = dist.nn.all_gather(padded_tensor)
|
| 59 |
+
gathered_masks = dist.nn.all_gather(padded_mask)
|
| 60 |
+
|
| 61 |
+
gathered_tensors = torch.cat(gathered_tensors, dim=0)
|
| 62 |
+
gathered_masks = torch.cat(gathered_masks, dim=0)
|
| 63 |
+
|
| 64 |
+
return gathered_tensors, gathered_masks
|
| 65 |
+
|
| 66 |
+
|
| 67 |
+
def _build_projection(embed_dim, hidden_dim, mode="mlp"):
|
| 68 |
+
if mode == "identity":
|
| 69 |
+
return nn.Identity()
|
| 70 |
+
if mode == "linear":
|
| 71 |
+
return nn.Linear(embed_dim, hidden_dim)
|
| 72 |
+
if mode == "mlp":
|
| 73 |
+
return nn.Sequential(
|
| 74 |
+
nn.Linear(embed_dim, hidden_dim),
|
| 75 |
+
nn.GELU(),
|
| 76 |
+
nn.Linear(hidden_dim, embed_dim),
|
| 77 |
+
)
|
| 78 |
+
raise ValueError(f"Unknown projection mode: {mode}")
|
| 79 |
+
|
| 80 |
+
|
| 81 |
+
class GatedConfidenceShift(nn.Module):
|
| 82 |
+
def __init__(
|
| 83 |
+
self,
|
| 84 |
+
embed_dim=768,
|
| 85 |
+
gate_hidden_dim=768,
|
| 86 |
+
sem_hidden_dim=768,
|
| 87 |
+
gate_proj_mode="mlp",
|
| 88 |
+
sem_proj_mode="identity",
|
| 89 |
+
gate_log_temperature=2.302585,
|
| 90 |
+
shift_w_init=0.0,
|
| 91 |
+
shift_w_no_weight_decay=True,
|
| 92 |
+
):
|
| 93 |
+
super().__init__()
|
| 94 |
+
|
| 95 |
+
self.text_gate_proj = _build_projection(embed_dim, gate_hidden_dim, gate_proj_mode)
|
| 96 |
+
self.vision_gate_proj = _build_projection(embed_dim, gate_hidden_dim, gate_proj_mode)
|
| 97 |
+
self.gate_log_temperature = nn.Parameter(torch.FloatTensor([gate_log_temperature]))
|
| 98 |
+
|
| 99 |
+
self.text_sem_proj = _build_projection(embed_dim, sem_hidden_dim, sem_proj_mode)
|
| 100 |
+
self.vision_sem_proj = _build_projection(embed_dim, sem_hidden_dim, sem_proj_mode)
|
| 101 |
+
|
| 102 |
+
self.shift_w = nn.Parameter(torch.tensor(float(shift_w_init)))
|
| 103 |
+
if shift_w_no_weight_decay:
|
| 104 |
+
self.shift_w._no_weight_decay = True
|
| 105 |
+
|
| 106 |
+
def _compute_gate_evidence(self, gate):
|
| 107 |
+
w = entmax_bisect(gate, alpha=2.0, n_iter=50, dim=-1)
|
| 108 |
+
return (w * gate).sum(dim=-1)
|
| 109 |
+
|
| 110 |
+
def forward(self, text_features, vision_tokens, need_attn_weights=False, repeat=True, **kwargs):
|
| 111 |
+
if repeat:
|
| 112 |
+
query = text_features.unsqueeze(0).expand(vision_tokens.shape[0], text_features.shape[0], -1)
|
| 113 |
+
else:
|
| 114 |
+
assert text_features.dim() == 3
|
| 115 |
+
query = text_features
|
| 116 |
+
|
| 117 |
+
text_gate = F.normalize(self.text_gate_proj(query), p=2, dim=-1)
|
| 118 |
+
vision_gate = F.normalize(self.vision_gate_proj(vision_tokens), p=2, dim=-1)
|
| 119 |
+
gate_scores = torch.bmm(text_gate, vision_gate.permute(0, 2, 1))
|
| 120 |
+
|
| 121 |
+
gate = torch.sigmoid(gate_scores * self.gate_log_temperature.exp())
|
| 122 |
+
weight = gate
|
| 123 |
+
|
| 124 |
+
gate_evidence = self._compute_gate_evidence(gate)
|
| 125 |
+
shift = self.shift_w * gate_evidence
|
| 126 |
+
|
| 127 |
+
sem_text_norm = F.normalize(self.text_sem_proj(query), p=2, dim=-1)
|
| 128 |
+
sem_patches_norm = F.normalize(self.vision_sem_proj(vision_tokens), p=2, dim=-1)
|
| 129 |
+
|
| 130 |
+
aggregated = torch.bmm(weight, sem_patches_norm)
|
| 131 |
+
aggregated_norm = F.normalize(aggregated, p=2, dim=-1)
|
| 132 |
+
cos_sim = (sem_text_norm * aggregated_norm).sum(dim=-1)
|
| 133 |
+
logits = (cos_sim + shift).T
|
| 134 |
+
|
| 135 |
+
if need_attn_weights:
|
| 136 |
+
sem_scores = torch.bmm(sem_text_norm, sem_patches_norm.permute(0, 2, 1))
|
| 137 |
+
if "loss_temperature" in kwargs:
|
| 138 |
+
scaled_sem = (sem_scores / kwargs["loss_temperature"]).sigmoid()
|
| 139 |
+
elif "logit_scale" in kwargs:
|
| 140 |
+
scaled_sem = (sem_scores * kwargs["logit_scale"] + kwargs.get("logit_bias", 0.0)).sigmoid()
|
| 141 |
+
else:
|
| 142 |
+
scaled_sem = sem_scores.sigmoid()
|
| 143 |
+
|
| 144 |
+
similarity_scores = [scaled_sem * weight]
|
| 145 |
+
_comp = {"gate": gate, "semantic": scaled_sem, "weight": weight}
|
| 146 |
+
else:
|
| 147 |
+
similarity_scores = None
|
| 148 |
+
_comp = None
|
| 149 |
+
|
| 150 |
+
return logits, similarity_scores, _comp
|
| 151 |
+
|
| 152 |
+
|
| 153 |
+
def multi_positive_nce_loss(
|
| 154 |
+
logits,
|
| 155 |
+
group_map,
|
| 156 |
+
temperature,
|
| 157 |
+
additional_neg_mask=None,
|
| 158 |
+
):
|
| 159 |
+
scaled_logits = torch.exp(logits / temperature)
|
| 160 |
+
np_total = group_map.size(0)
|
| 161 |
+
pos_logits = scaled_logits[torch.arange(np_total), group_map]
|
| 162 |
+
|
| 163 |
+
row_loss = get_row_loss(
|
| 164 |
+
scaled_logits[:np_total],
|
| 165 |
+
pos_logits,
|
| 166 |
+
)
|
| 167 |
+
|
| 168 |
+
neg_mask = torch.ones_like(scaled_logits)
|
| 169 |
+
|
| 170 |
+
if additional_neg_mask is not None:
|
| 171 |
+
neg_mask[-len(additional_neg_mask) :, :] = additional_neg_mask
|
| 172 |
+
|
| 173 |
+
neg_mask[torch.arange(np_total), group_map] = 0
|
| 174 |
+
|
| 175 |
+
column_loss = get_col_loss(
|
| 176 |
+
scaled_logits,
|
| 177 |
+
pos_logits,
|
| 178 |
+
neg_mask,
|
| 179 |
+
group_map,
|
| 180 |
+
)
|
| 181 |
+
|
| 182 |
+
losses = {}
|
| 183 |
+
losses["per_text_loss"] = row_loss.mean()
|
| 184 |
+
losses["per_image_loss"] = column_loss.mean()
|
| 185 |
+
|
| 186 |
+
losses["mpnce_loss"] = (losses["per_text_loss"] + losses["per_image_loss"]) / 2
|
| 187 |
+
|
| 188 |
+
losses["loss"] = losses["mpnce_loss"]
|
| 189 |
+
|
| 190 |
+
return losses
|
| 191 |
+
|
| 192 |
+
|
| 193 |
+
def multi_positive_nce_local_loss(
|
| 194 |
+
logits_per_text,
|
| 195 |
+
logits_per_image,
|
| 196 |
+
group_map,
|
| 197 |
+
local_group_map,
|
| 198 |
+
local_group_map_per_image,
|
| 199 |
+
temperature,
|
| 200 |
+
local_rank,
|
| 201 |
+
B_local,
|
| 202 |
+
additional_neg_mask=None,
|
| 203 |
+
):
|
| 204 |
+
logits_per_text = torch.exp(logits_per_text / temperature)
|
| 205 |
+
pos_logits_per_text = logits_per_text[torch.arange(logits_per_text.size(0)), local_group_map]
|
| 206 |
+
|
| 207 |
+
row_loss = get_row_loss(
|
| 208 |
+
logits_per_text,
|
| 209 |
+
pos_logits_per_text,
|
| 210 |
+
)
|
| 211 |
+
|
| 212 |
+
logits_per_image = torch.exp(logits_per_image / temperature)
|
| 213 |
+
|
| 214 |
+
local_start_idx = torch.where(group_map == local_rank * B_local)[0][0]
|
| 215 |
+
local_end_idx = local_start_idx + len(local_group_map_per_image)
|
| 216 |
+
|
| 217 |
+
pos_text_indices = torch.LongTensor(range(local_start_idx, local_end_idx))
|
| 218 |
+
|
| 219 |
+
pos_logits_per_image = logits_per_image[pos_text_indices, local_group_map_per_image]
|
| 220 |
+
|
| 221 |
+
neg_mask = torch.ones_like(logits_per_image)
|
| 222 |
+
|
| 223 |
+
if additional_neg_mask is not None:
|
| 224 |
+
neg_mask[-len(additional_neg_mask) :, :] = additional_neg_mask
|
| 225 |
+
|
| 226 |
+
neg_mask[pos_text_indices, local_group_map_per_image] = 0
|
| 227 |
+
|
| 228 |
+
column_loss = get_col_loss(
|
| 229 |
+
logits_per_image,
|
| 230 |
+
pos_logits_per_image,
|
| 231 |
+
neg_mask,
|
| 232 |
+
local_group_map_per_image,
|
| 233 |
+
)
|
| 234 |
+
|
| 235 |
+
losses = {}
|
| 236 |
+
losses["per_text_loss"] = row_loss.mean()
|
| 237 |
+
losses["per_image_loss"] = column_loss.mean()
|
| 238 |
+
|
| 239 |
+
losses["mpnce_loss"] = (losses["per_text_loss"] + losses["per_image_loss"]) / 2
|
| 240 |
+
|
| 241 |
+
losses["loss"] = losses["mpnce_loss"]
|
| 242 |
+
return losses
|
| 243 |
+
|
| 244 |
+
|
| 245 |
+
def get_row_loss(
|
| 246 |
+
logits: torch.Tensor,
|
| 247 |
+
pos_logits: torch.Tensor,
|
| 248 |
+
eps: float = 1e-8,
|
| 249 |
+
):
|
| 250 |
+
row_sum_logits = logits.sum(dim=1)
|
| 251 |
+
p_row = pos_logits / (row_sum_logits + eps)
|
| 252 |
+
|
| 253 |
+
return -torch.log(p_row + eps)
|
| 254 |
+
|
| 255 |
+
|
| 256 |
+
def get_col_loss(
|
| 257 |
+
logits: torch.Tensor,
|
| 258 |
+
pos_logits: torch.Tensor,
|
| 259 |
+
neg_mask: torch.Tensor,
|
| 260 |
+
group_map: torch.Tensor,
|
| 261 |
+
eps: float = 1e-8,
|
| 262 |
+
):
|
| 263 |
+
neg_logits = logits * neg_mask
|
| 264 |
+
sum_neg_logits = neg_logits.sum(dim=0)
|
| 265 |
+
sum_neg_logits = sum_neg_logits[group_map]
|
| 266 |
+
p_column = pos_logits / (pos_logits + sum_neg_logits + eps)
|
| 267 |
+
|
| 268 |
+
return -torch.log(p_column + eps)
|
| 269 |
+
|
| 270 |
+
|
| 271 |
+
class LossFunctions(nn.Module):
|
| 272 |
+
def __init__(self, loss_cfg, **kwargs):
|
| 273 |
+
super().__init__()
|
| 274 |
+
self.loss_ratio = dict()
|
| 275 |
+
self.loss_dict = nn.ModuleDict()
|
| 276 |
+
for loss_type, ratio in zip(loss_cfg["apply"], loss_cfg["ratio"]):
|
| 277 |
+
logger.info(f"Build {loss_type} loss function ...")
|
| 278 |
+
if loss_cfg[loss_type] is None:
|
| 279 |
+
loss_cfg[loss_type] = dict()
|
| 280 |
+
if torch.distributed.is_available() and torch.distributed.is_initialized():
|
| 281 |
+
loss_cfg[loss_type]["rank"] = torch.distributed.get_rank()
|
| 282 |
+
loss_cfg[loss_type]["world_size"] = torch.distributed.get_world_size()
|
| 283 |
+
self.loss_dict[loss_type] = LOSS_REGISTRY[loss_type](**loss_cfg[loss_type])
|
| 284 |
+
self.loss_ratio[loss_type] = ratio
|
| 285 |
+
|
| 286 |
+
|
| 287 |
+
class AlignmentLoss(nn.Module):
|
| 288 |
+
def __init__(
|
| 289 |
+
self,
|
| 290 |
+
vl_logit_type="gate_confidence_shift",
|
| 291 |
+
vl_logit_kwargs={},
|
| 292 |
+
loss_type="mpnce",
|
| 293 |
+
loss_kwargs={},
|
| 294 |
+
local_loss=False,
|
| 295 |
+
**kwargs,
|
| 296 |
+
):
|
| 297 |
+
super().__init__()
|
| 298 |
+
|
| 299 |
+
self.vl_logit_type = vl_logit_type
|
| 300 |
+
self.init_vl_logit_kwargs(vl_logit_kwargs)
|
| 301 |
+
|
| 302 |
+
self.loss_type = loss_type
|
| 303 |
+
self.init_loss_kwargs(loss_kwargs)
|
| 304 |
+
|
| 305 |
+
self.local_loss = local_loss
|
| 306 |
+
|
| 307 |
+
def forward(
|
| 308 |
+
self,
|
| 309 |
+
enc_sents,
|
| 310 |
+
vision_tokens,
|
| 311 |
+
forward_text_model=None,
|
| 312 |
+
ddp_gather=True,
|
| 313 |
+
need_attn_weights=False,
|
| 314 |
+
compute_loss=True,
|
| 315 |
+
text_feats_list=None,
|
| 316 |
+
neg_enc_sents=None,
|
| 317 |
+
neg_text_feats_list=None,
|
| 318 |
+
**kwargs,
|
| 319 |
+
):
|
| 320 |
+
outputs = {}
|
| 321 |
+
|
| 322 |
+
B_local = len(vision_tokens)
|
| 323 |
+
local_rank = dist.get_rank() if (ddp_gather and dist.is_initialized()) else 0
|
| 324 |
+
|
| 325 |
+
text_features, group_map, local_text_features, local_group_map = self.get_text_features(
|
| 326 |
+
enc_sents, forward_text_model, ddp_gather, text_feats_list
|
| 327 |
+
)
|
| 328 |
+
|
| 329 |
+
local_vision_tokens = vision_tokens
|
| 330 |
+
if ddp_gather and dist.is_initialized():
|
| 331 |
+
vision_tokens = torch.cat(dist.nn.all_gather(vision_tokens), dim=0)
|
| 332 |
+
|
| 333 |
+
if not compute_loss:
|
| 334 |
+
logits_outputs = self.compute_logits(text_features, vision_tokens, need_attn_weights)
|
| 335 |
+
|
| 336 |
+
logits = logits_outputs["logits"]
|
| 337 |
+
|
| 338 |
+
if self.loss_type == "mpnce":
|
| 339 |
+
logits = logits / self.loss_temperature.exp()
|
| 340 |
+
|
| 341 |
+
logits_outputs["logits"] = logits
|
| 342 |
+
outputs.update(logits_outputs)
|
| 343 |
+
return outputs
|
| 344 |
+
|
| 345 |
+
if neg_enc_sents or neg_text_feats_list:
|
| 346 |
+
hidden_dim = vision_tokens.shape[-1]
|
| 347 |
+
|
| 348 |
+
(
|
| 349 |
+
neg_text_features,
|
| 350 |
+
neg_text_mask,
|
| 351 |
+
local_neg_text_features,
|
| 352 |
+
local_neg_text_mask,
|
| 353 |
+
) = self.get_neg_text_features(
|
| 354 |
+
neg_enc_sents,
|
| 355 |
+
forward_text_model,
|
| 356 |
+
hidden_dim,
|
| 357 |
+
ddp_gather,
|
| 358 |
+
neg_text_feats_list,
|
| 359 |
+
device=vision_tokens.device,
|
| 360 |
+
)
|
| 361 |
+
else:
|
| 362 |
+
(
|
| 363 |
+
neg_text_features,
|
| 364 |
+
neg_text_mask,
|
| 365 |
+
local_neg_text_features,
|
| 366 |
+
local_neg_text_mask,
|
| 367 |
+
) = (None, None, None, None)
|
| 368 |
+
|
| 369 |
+
if not (self.local_loss and self.training):
|
| 370 |
+
logits_outputs = self.compute_logits(text_features, vision_tokens, need_attn_weights)
|
| 371 |
+
logits = logits_outputs["logits"]
|
| 372 |
+
|
| 373 |
+
if neg_text_features is not None:
|
| 374 |
+
neg_logits_outputs = self.compute_logits(
|
| 375 |
+
neg_text_features, vision_tokens, need_attn_weights, repeat=False
|
| 376 |
+
)
|
| 377 |
+
|
| 378 |
+
logits = torch.cat([logits, neg_logits_outputs["logits"]], dim=0)
|
| 379 |
+
|
| 380 |
+
outputs["logits"] = logits
|
| 381 |
+
|
| 382 |
+
losses = self.compute_loss(
|
| 383 |
+
logits,
|
| 384 |
+
group_map,
|
| 385 |
+
additional_neg_mask=neg_text_mask,
|
| 386 |
+
text_features=text_features,
|
| 387 |
+
)
|
| 388 |
+
|
| 389 |
+
else:
|
| 390 |
+
logits_outputs_per_text = self.compute_logits(local_text_features, vision_tokens, need_attn_weights)
|
| 391 |
+
logits_per_text = logits_outputs_per_text["logits"]
|
| 392 |
+
outputs["logits_per_text"] = logits_per_text
|
| 393 |
+
|
| 394 |
+
logits_outputs_per_image = self.compute_logits(text_features, local_vision_tokens, need_attn_weights)
|
| 395 |
+
logits_per_image = logits_outputs_per_image["logits"]
|
| 396 |
+
|
| 397 |
+
if local_neg_text_features is not None:
|
| 398 |
+
neg_logits_outputs = self.compute_logits(
|
| 399 |
+
local_neg_text_features,
|
| 400 |
+
local_vision_tokens,
|
| 401 |
+
need_attn_weights,
|
| 402 |
+
repeat=False,
|
| 403 |
+
)
|
| 404 |
+
|
| 405 |
+
logits_per_image = torch.cat([logits_per_image, neg_logits_outputs["logits"]], dim=0)
|
| 406 |
+
|
| 407 |
+
outputs["logits_per_image"] = logits_per_image
|
| 408 |
+
local_group_map_per_image = local_group_map - local_rank * B_local
|
| 409 |
+
|
| 410 |
+
losses = self.compute_local_loss(
|
| 411 |
+
logits_per_text,
|
| 412 |
+
logits_per_image,
|
| 413 |
+
group_map,
|
| 414 |
+
local_group_map,
|
| 415 |
+
local_group_map_per_image,
|
| 416 |
+
local_rank,
|
| 417 |
+
B_local,
|
| 418 |
+
additional_neg_mask=local_neg_text_mask,
|
| 419 |
+
text_features=text_features,
|
| 420 |
+
)
|
| 421 |
+
|
| 422 |
+
outputs["losses"] = losses
|
| 423 |
+
return outputs
|
| 424 |
+
|
| 425 |
+
def get_feats_list(self, text_feats_list, ddp_gather=True):
|
| 426 |
+
text_features = list()
|
| 427 |
+
group_list = list()
|
| 428 |
+
|
| 429 |
+
B_local = sum([len(i) for i in text_feats_list])
|
| 430 |
+
local_rank = dist.get_rank() if (ddp_gather and dist.is_initialized()) else 0
|
| 431 |
+
|
| 432 |
+
local_index = 0
|
| 433 |
+
for i, features in enumerate(text_feats_list):
|
| 434 |
+
for j, feats in enumerate(features):
|
| 435 |
+
text_features.append(feats)
|
| 436 |
+
group_list.extend([local_index + local_rank * B_local] * feats.size(0))
|
| 437 |
+
local_index += 1
|
| 438 |
+
|
| 439 |
+
return text_features, group_list
|
| 440 |
+
|
| 441 |
+
def get_text_features(
|
| 442 |
+
self,
|
| 443 |
+
enc_sents,
|
| 444 |
+
forward_text_model,
|
| 445 |
+
ddp_gather=True,
|
| 446 |
+
text_feats_list=None,
|
| 447 |
+
):
|
| 448 |
+
if text_feats_list is not None:
|
| 449 |
+
text_features, group_list = self.get_feats_list(text_feats_list, ddp_gather)
|
| 450 |
+
else:
|
| 451 |
+
text_features = list()
|
| 452 |
+
group_list = list()
|
| 453 |
+
|
| 454 |
+
B_local = len(enc_sents)
|
| 455 |
+
local_rank = dist.get_rank() if (ddp_gather and dist.is_initialized()) else 0
|
| 456 |
+
|
| 457 |
+
for i, kp in enumerate(enc_sents):
|
| 458 |
+
feats = forward_text_model(kp)
|
| 459 |
+
|
| 460 |
+
feat = feats["text_features"]
|
| 461 |
+
text_features.append(feat)
|
| 462 |
+
|
| 463 |
+
global_index = i + local_rank * B_local
|
| 464 |
+
group_list.extend([global_index] * feat.size(0))
|
| 465 |
+
|
| 466 |
+
text_features = torch.cat(text_features, dim=0)
|
| 467 |
+
group_map = torch.tensor(group_list, device=text_features.device)
|
| 468 |
+
|
| 469 |
+
local_text_features = text_features
|
| 470 |
+
local_group_map = group_map
|
| 471 |
+
|
| 472 |
+
if ddp_gather and dist.is_initialized():
|
| 473 |
+
text_features = pad_and_gather(text_features)
|
| 474 |
+
|
| 475 |
+
group_map = pad_and_gather(group_map)
|
| 476 |
+
group_map = group_map.long()
|
| 477 |
+
|
| 478 |
+
return text_features, group_map, local_text_features, local_group_map
|
| 479 |
+
|
| 480 |
+
def get_neg_feats_list(self, neg_text_feats_list, hidden_dim=None, device=None):
|
| 481 |
+
text_features = list()
|
| 482 |
+
for i, features in enumerate(neg_text_feats_list):
|
| 483 |
+
for j, feats in enumerate(features):
|
| 484 |
+
text_features.append(feats)
|
| 485 |
+
|
| 486 |
+
return text_features
|
| 487 |
+
|
| 488 |
+
def get_neg_text_features(
|
| 489 |
+
self,
|
| 490 |
+
neg_enc_sents,
|
| 491 |
+
forward_text_model,
|
| 492 |
+
hidden_dim,
|
| 493 |
+
ddp_gather=True,
|
| 494 |
+
neg_text_feats_list=None,
|
| 495 |
+
device=None,
|
| 496 |
+
):
|
| 497 |
+
if neg_text_feats_list is not None:
|
| 498 |
+
neg_feats_list = self.get_neg_feats_list(neg_text_feats_list, hidden_dim, device)
|
| 499 |
+
else:
|
| 500 |
+
neg_feats_list = list()
|
| 501 |
+
|
| 502 |
+
for i, kp in enumerate(neg_enc_sents):
|
| 503 |
+
if isinstance(kp["input_ids"], torch.Tensor):
|
| 504 |
+
feats = forward_text_model(kp)
|
| 505 |
+
feat = feats["text_features"]
|
| 506 |
+
else:
|
| 507 |
+
feat = torch.zeros((0, hidden_dim)).to(device)
|
| 508 |
+
|
| 509 |
+
neg_feats_list.append(feat)
|
| 510 |
+
|
| 511 |
+
neg_text_features = torch.nn.utils.rnn.pad_sequence(neg_feats_list, batch_first=True, padding_value=0)
|
| 512 |
+
|
| 513 |
+
neg_text_mask = torch.zeros(
|
| 514 |
+
len(neg_feats_list),
|
| 515 |
+
neg_text_features.size(1),
|
| 516 |
+
dtype=torch.bool,
|
| 517 |
+
device=neg_text_features.device,
|
| 518 |
+
)
|
| 519 |
+
for i, feat in enumerate(neg_feats_list):
|
| 520 |
+
neg_text_mask[i, : feat.size(0)] = True
|
| 521 |
+
|
| 522 |
+
local_neg_text_features = neg_text_features
|
| 523 |
+
local_neg_text_mask = neg_text_mask
|
| 524 |
+
|
| 525 |
+
if ddp_gather and dist.is_initialized():
|
| 526 |
+
neg_text_features, neg_text_mask = pad_and_gather_2nd_dim(neg_text_features, neg_text_mask)
|
| 527 |
+
|
| 528 |
+
local_neg_text_mask = local_neg_text_mask.T
|
| 529 |
+
neg_text_mask = neg_text_mask.T
|
| 530 |
+
|
| 531 |
+
return (
|
| 532 |
+
neg_text_features,
|
| 533 |
+
neg_text_mask,
|
| 534 |
+
local_neg_text_features,
|
| 535 |
+
local_neg_text_mask,
|
| 536 |
+
)
|
| 537 |
+
|
| 538 |
+
def init_vl_logit_kwargs(self, vl_logit_kwargs):
|
| 539 |
+
self.vl_logit_kwargs = {}
|
| 540 |
+
if self.vl_logit_type != "gate_confidence_shift":
|
| 541 |
+
raise NotImplementedError(f"Unsupported vl_logit_type: {self.vl_logit_type}")
|
| 542 |
+
vl_logit_kwargs.pop("attn_temperature", None)
|
| 543 |
+
self.sga = GatedConfidenceShift(**vl_logit_kwargs)
|
| 544 |
+
|
| 545 |
+
def compute_logits(self, text_features, vision_tokens, need_attn_weights, repeat=True):
|
| 546 |
+
outputs = {}
|
| 547 |
+
|
| 548 |
+
sim_scale_kwargs = {}
|
| 549 |
+
if hasattr(self, "loss_temperature"):
|
| 550 |
+
sim_scale_kwargs["loss_temperature"] = self.loss_temperature.exp()
|
| 551 |
+
|
| 552 |
+
logits, attn_weights_list, sim_components = self.sga(
|
| 553 |
+
text_features,
|
| 554 |
+
vision_tokens,
|
| 555 |
+
need_attn_weights,
|
| 556 |
+
repeat=repeat,
|
| 557 |
+
**sim_scale_kwargs,
|
| 558 |
+
**self.vl_logit_kwargs,
|
| 559 |
+
)
|
| 560 |
+
outputs["logits"] = logits
|
| 561 |
+
outputs["attn_weights"] = attn_weights_list
|
| 562 |
+
if sim_components is not None:
|
| 563 |
+
outputs["sim_components"] = sim_components
|
| 564 |
+
return outputs
|
| 565 |
+
|
| 566 |
+
def init_loss_kwargs(self, loss_kwargs):
|
| 567 |
+
self.loss_kwargs = {}
|
| 568 |
+
if self.loss_type != "mpnce":
|
| 569 |
+
raise NotImplementedError(f"Unsupported loss_type: {self.loss_type}")
|
| 570 |
+
self.loss_temperature = nn.Parameter(torch.FloatTensor([np.log(loss_kwargs["temperature"])]))
|
| 571 |
+
|
| 572 |
+
def compute_loss(self, logits, group_map, additional_neg_mask=None, **kwargs):
|
| 573 |
+
return multi_positive_nce_loss(
|
| 574 |
+
logits,
|
| 575 |
+
group_map,
|
| 576 |
+
additional_neg_mask=additional_neg_mask,
|
| 577 |
+
temperature=self.loss_temperature.exp(),
|
| 578 |
+
**self.loss_kwargs,
|
| 579 |
+
)
|
| 580 |
+
|
| 581 |
+
def compute_local_loss(
|
| 582 |
+
self,
|
| 583 |
+
logits_per_text,
|
| 584 |
+
logits_per_image,
|
| 585 |
+
group_map,
|
| 586 |
+
local_group_map,
|
| 587 |
+
local_group_map_per_image,
|
| 588 |
+
local_rank,
|
| 589 |
+
B_local,
|
| 590 |
+
additional_neg_mask=None,
|
| 591 |
+
**kwargs,
|
| 592 |
+
):
|
| 593 |
+
return multi_positive_nce_local_loss(
|
| 594 |
+
logits_per_text,
|
| 595 |
+
logits_per_image,
|
| 596 |
+
group_map,
|
| 597 |
+
local_group_map,
|
| 598 |
+
local_group_map_per_image,
|
| 599 |
+
temperature=self.loss_temperature.exp(),
|
| 600 |
+
local_rank=local_rank,
|
| 601 |
+
B_local=B_local,
|
| 602 |
+
additional_neg_mask=additional_neg_mask,
|
| 603 |
+
**self.loss_kwargs,
|
| 604 |
+
)
|
| 605 |
+
|
| 606 |
+
|
| 607 |
+
LOSS_REGISTRY = {"AlignmentLoss": AlignmentLoss, "DFRLoss": DFRLoss}
|
model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b1e2e8c6afe5b38e39b066f2bad1c17e95e33027defad8ae2436b14573368ba5
|
| 3 |
+
size 1708162556
|
modeling_glint.py
ADDED
|
@@ -0,0 +1,386 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import logging
|
| 2 |
+
|
| 3 |
+
import torch
|
| 4 |
+
import torch.nn as nn
|
| 5 |
+
import torch.nn.functional as F
|
| 6 |
+
|
| 7 |
+
from .align_layers import build_align_layer
|
| 8 |
+
from .common_layers import BasePreTrainedModel
|
| 9 |
+
from .configuration_glint import GLINTConfig
|
| 10 |
+
from .losses import LossFunctions
|
| 11 |
+
from .text_encoders import build_text_encoder
|
| 12 |
+
from .vision_encoders import build_vision_encoder
|
| 13 |
+
|
| 14 |
+
logger = logging.getLogger("glint")
|
| 15 |
+
|
| 16 |
+
|
| 17 |
+
class GLINTModel(BasePreTrainedModel):
|
| 18 |
+
config_class = GLINTConfig
|
| 19 |
+
# only relevant when vision_only=True drops these submodules; in VLM mode every key loads
|
| 20 |
+
_keys_to_ignore_on_load_unexpected = [
|
| 21 |
+
r"^text_model\.",
|
| 22 |
+
r"^align_layer\.",
|
| 23 |
+
r"^loss_fns\.",
|
| 24 |
+
r"^dfr_module\.",
|
| 25 |
+
r"^vision_layer_norm\.",
|
| 26 |
+
r"^text_layer_norm\.",
|
| 27 |
+
]
|
| 28 |
+
|
| 29 |
+
def build_vision_model(self, config):
|
| 30 |
+
vision_config = config.vision_config
|
| 31 |
+
vision_model = build_vision_encoder(vision_config)
|
| 32 |
+
|
| 33 |
+
return vision_model
|
| 34 |
+
|
| 35 |
+
def build_text_model(self, config):
|
| 36 |
+
text_config = config.text_config
|
| 37 |
+
text_model = build_text_encoder(text_config)
|
| 38 |
+
|
| 39 |
+
return text_model
|
| 40 |
+
|
| 41 |
+
def build_align_layer_model(self, config):
|
| 42 |
+
align_layer_config = config.align_layer_config
|
| 43 |
+
align_layer = build_align_layer(align_layer_config)
|
| 44 |
+
|
| 45 |
+
return align_layer
|
| 46 |
+
|
| 47 |
+
def build_dfr_module(self, config):
|
| 48 |
+
from .dfr import DFRModule
|
| 49 |
+
|
| 50 |
+
dfr_module = DFRModule(config.dfr_config)
|
| 51 |
+
return dfr_module
|
| 52 |
+
|
| 53 |
+
def __init__(self, config: GLINTConfig):
|
| 54 |
+
super().__init__(config)
|
| 55 |
+
|
| 56 |
+
logger.info("Build vision model ...")
|
| 57 |
+
self.vision_model = self.build_vision_model(config)
|
| 58 |
+
|
| 59 |
+
if getattr(config, "vision_only", False):
|
| 60 |
+
logger.info("vision_only=True: skipping text model, align layer, losses and DFR module.")
|
| 61 |
+
return
|
| 62 |
+
|
| 63 |
+
logger.info("Build text model ...")
|
| 64 |
+
self.text_model = self.build_text_model(config)
|
| 65 |
+
|
| 66 |
+
logger.info("Build align layer model ...")
|
| 67 |
+
self.align_layer = self.build_align_layer_model(config)
|
| 68 |
+
|
| 69 |
+
logger.info("Build loss functions ...")
|
| 70 |
+
loss_cfg = config.kwargs["loss"]
|
| 71 |
+
|
| 72 |
+
self.loss_fns = LossFunctions(loss_cfg)
|
| 73 |
+
|
| 74 |
+
if hasattr(config, "dfr_config") and config.dfr_config is not None:
|
| 75 |
+
logger.info("Build dfr module ...")
|
| 76 |
+
self.dfr_module = self.build_dfr_module(config)
|
| 77 |
+
|
| 78 |
+
self.vision_layer_norm = (
|
| 79 |
+
nn.LayerNorm(config.align_layer_config.hidden_size) if config.use_vision_layer_norm else None
|
| 80 |
+
)
|
| 81 |
+
self.text_layer_norm = nn.LayerNorm(config.text_config.hidden_size) if config.use_text_layer_norm else None
|
| 82 |
+
|
| 83 |
+
self.compute_logits_type = config.kwargs.get("compute_logits_type")
|
| 84 |
+
self.module_to_update = config.kwargs.get("module_to_update")
|
| 85 |
+
|
| 86 |
+
def forward_vision_model(self, pixel_values, output_hidden_states=False):
|
| 87 |
+
vision_model_type = self.config.vision_config.model_type
|
| 88 |
+
|
| 89 |
+
vision_hidden_states = None
|
| 90 |
+
|
| 91 |
+
use_cls_token = getattr(self.config.vision_config, "use_cls_token", False)
|
| 92 |
+
|
| 93 |
+
if vision_model_type == "dinov2":
|
| 94 |
+
vision_outputs = self.vision_model(pixel_values, output_hidden_states=output_hidden_states)
|
| 95 |
+
vision_tokens = vision_outputs["last_hidden_state"]
|
| 96 |
+
if not use_cls_token:
|
| 97 |
+
vision_tokens = vision_tokens[:, 1:, :]
|
| 98 |
+
vision_hidden_states = vision_outputs.get("hidden_states", None)
|
| 99 |
+
|
| 100 |
+
elif vision_model_type == "dinov3_vit":
|
| 101 |
+
vision_outputs = self.vision_model(pixel_values, output_hidden_states=output_hidden_states)
|
| 102 |
+
original_output = vision_outputs["last_hidden_state"]
|
| 103 |
+
patch_tokens = original_output[:, 1 + self.config.vision_config.num_register_tokens :, :]
|
| 104 |
+
if use_cls_token:
|
| 105 |
+
cls_token = original_output[:, :1, :]
|
| 106 |
+
vision_tokens = torch.cat([cls_token, patch_tokens], dim=1)
|
| 107 |
+
else:
|
| 108 |
+
vision_tokens = patch_tokens
|
| 109 |
+
|
| 110 |
+
vision_hidden_states = vision_outputs.get("hidden_states", None)
|
| 111 |
+
|
| 112 |
+
elif vision_model_type == "vjepa2":
|
| 113 |
+
vision_outputs = self.vision_model(
|
| 114 |
+
pixel_values, skip_predictor=True, output_hidden_states=output_hidden_states
|
| 115 |
+
)
|
| 116 |
+
vision_tokens = vision_outputs["last_hidden_state"]
|
| 117 |
+
vision_hidden_states = vision_outputs.get("hidden_states", None)
|
| 118 |
+
elif vision_model_type == "vjepa2.1":
|
| 119 |
+
vision_outputs = self.vision_model(pixel_values, output_hidden_states=output_hidden_states)
|
| 120 |
+
vision_tokens = vision_outputs["last_hidden_state"]
|
| 121 |
+
vision_hidden_states = vision_outputs.get("hidden_states", None)
|
| 122 |
+
else:
|
| 123 |
+
raise NotImplementedError
|
| 124 |
+
|
| 125 |
+
outputs = {}
|
| 126 |
+
|
| 127 |
+
vision_tokens = self.align_layer(vision_tokens)
|
| 128 |
+
|
| 129 |
+
if self.vision_layer_norm is not None:
|
| 130 |
+
vision_tokens = self.vision_layer_norm(vision_tokens)
|
| 131 |
+
|
| 132 |
+
outputs["vision_tokens"] = vision_tokens
|
| 133 |
+
outputs["vision_hidden_states"] = vision_hidden_states
|
| 134 |
+
|
| 135 |
+
return outputs
|
| 136 |
+
|
| 137 |
+
def forward_text_model(self, encoded_input):
|
| 138 |
+
text_outputs = {}
|
| 139 |
+
|
| 140 |
+
text_model_type = self.config.text_config.model_type
|
| 141 |
+
if text_model_type == "mpnet":
|
| 142 |
+
model_output = self.text_model(encoded_input["input_ids"], attention_mask=encoded_input["attention_mask"])
|
| 143 |
+
token_embeddings = model_output[0]
|
| 144 |
+
|
| 145 |
+
else:
|
| 146 |
+
raise NotImplementedError
|
| 147 |
+
|
| 148 |
+
if self.config.text_config.use_cls_token:
|
| 149 |
+
text_features = token_embeddings[:, 0, :]
|
| 150 |
+
else:
|
| 151 |
+
input_mask_expanded = (
|
| 152 |
+
encoded_input["attention_mask"].unsqueeze(-1).expand(token_embeddings.size()).to(token_embeddings.dtype)
|
| 153 |
+
)
|
| 154 |
+
text_features = torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(
|
| 155 |
+
input_mask_expanded.sum(1), min=1e-9
|
| 156 |
+
)
|
| 157 |
+
|
| 158 |
+
if self.text_layer_norm is not None:
|
| 159 |
+
text_features = self.text_layer_norm(text_features)
|
| 160 |
+
|
| 161 |
+
text_outputs["text_features"] = text_features
|
| 162 |
+
text_outputs["text_features_norm"] = F.normalize(text_features, p=2, dim=1)
|
| 163 |
+
|
| 164 |
+
return text_outputs
|
| 165 |
+
|
| 166 |
+
def forward(
|
| 167 |
+
self,
|
| 168 |
+
pixel_values=None,
|
| 169 |
+
enc_sents=None,
|
| 170 |
+
neg_enc_sents=None,
|
| 171 |
+
return_loss=True,
|
| 172 |
+
forward_accum_outputs=False,
|
| 173 |
+
forward_accum_loss=False,
|
| 174 |
+
**kwargs,
|
| 175 |
+
):
|
| 176 |
+
if forward_accum_outputs:
|
| 177 |
+
return self.forward_accum_outputs(
|
| 178 |
+
pixel_values=pixel_values,
|
| 179 |
+
enc_sents=enc_sents,
|
| 180 |
+
neg_enc_sents=neg_enc_sents,
|
| 181 |
+
**kwargs,
|
| 182 |
+
)
|
| 183 |
+
|
| 184 |
+
if forward_accum_loss:
|
| 185 |
+
return self.forward_accum_loss(**kwargs)
|
| 186 |
+
|
| 187 |
+
if getattr(self.config, "vision_only", False):
|
| 188 |
+
return self.vision_model(pixel_values)
|
| 189 |
+
|
| 190 |
+
outputs = {}
|
| 191 |
+
use_dfr_module = hasattr(self, "dfr_module") and self.dfr_module is not None
|
| 192 |
+
vision_outputs = self.forward_vision_model(pixel_values, output_hidden_states=use_dfr_module)
|
| 193 |
+
|
| 194 |
+
if use_dfr_module:
|
| 195 |
+
dfr_outputs = self.dfr_module(
|
| 196 |
+
pixel_values=pixel_values,
|
| 197 |
+
student_hidden_states=vision_outputs["vision_hidden_states"],
|
| 198 |
+
cached_teacher_features=kwargs.get("cached_teacher_features"),
|
| 199 |
+
)
|
| 200 |
+
outputs.update(dfr_outputs)
|
| 201 |
+
|
| 202 |
+
outputs.update(vision_outputs)
|
| 203 |
+
|
| 204 |
+
if return_loss:
|
| 205 |
+
loss = 0
|
| 206 |
+
losses = {}
|
| 207 |
+
|
| 208 |
+
for loss_type, loss_fn in self.loss_fns.loss_dict.items():
|
| 209 |
+
loss_ratio = self.loss_fns.loss_ratio[loss_type]
|
| 210 |
+
|
| 211 |
+
if loss_fn.__class__.__name__ == "AlignmentLoss":
|
| 212 |
+
loss_outputs = loss_fn(
|
| 213 |
+
enc_sents=enc_sents,
|
| 214 |
+
neg_enc_sents=neg_enc_sents,
|
| 215 |
+
vision_tokens=outputs["vision_tokens"],
|
| 216 |
+
forward_text_model=self.forward_text_model,
|
| 217 |
+
)
|
| 218 |
+
_losses = loss_outputs["losses"]
|
| 219 |
+
loop_loss = _losses.pop("loss")
|
| 220 |
+
losses.update(_losses)
|
| 221 |
+
|
| 222 |
+
elif loss_fn.__class__.__name__ == "DFRLoss":
|
| 223 |
+
loss_outputs = loss_fn(
|
| 224 |
+
proj_student_features=outputs["proj_student_features"],
|
| 225 |
+
teacher_features=outputs["teacher_features"],
|
| 226 |
+
)
|
| 227 |
+
_losses = loss_outputs["losses"]
|
| 228 |
+
loop_loss = _losses.pop("loss")
|
| 229 |
+
losses.update(_losses)
|
| 230 |
+
|
| 231 |
+
else:
|
| 232 |
+
raise NotImplementedError
|
| 233 |
+
|
| 234 |
+
loss += loop_loss * loss_ratio
|
| 235 |
+
|
| 236 |
+
losses["loss"] = loss
|
| 237 |
+
|
| 238 |
+
outputs["loss"] = loss
|
| 239 |
+
outputs["losses"] = losses
|
| 240 |
+
|
| 241 |
+
return outputs
|
| 242 |
+
|
| 243 |
+
def compute_logits(
|
| 244 |
+
self,
|
| 245 |
+
pixel_values,
|
| 246 |
+
enc_sents,
|
| 247 |
+
**kwargs,
|
| 248 |
+
):
|
| 249 |
+
vision_outputs = self.forward_vision_model(pixel_values)
|
| 250 |
+
|
| 251 |
+
outputs = {}
|
| 252 |
+
|
| 253 |
+
if self.compute_logits_type == "vl_alignment":
|
| 254 |
+
loss_fn = self.loss_fns.loss_dict["AlignmentLoss"]
|
| 255 |
+
|
| 256 |
+
splited_sentences = [
|
| 257 |
+
{
|
| 258 |
+
"input_ids": enc_sents[0]["input_ids"][i : i + 1],
|
| 259 |
+
"attention_mask": enc_sents[0]["attention_mask"][i : i + 1],
|
| 260 |
+
}
|
| 261 |
+
for i in range(enc_sents[0]["input_ids"].size(0))
|
| 262 |
+
]
|
| 263 |
+
|
| 264 |
+
loss_outputs = loss_fn(
|
| 265 |
+
splited_sentences,
|
| 266 |
+
vision_outputs["vision_tokens"],
|
| 267 |
+
self.forward_text_model,
|
| 268 |
+
ddp_gather=False,
|
| 269 |
+
need_attn_weights=True,
|
| 270 |
+
compute_loss=False,
|
| 271 |
+
)
|
| 272 |
+
outputs.update(loss_outputs)
|
| 273 |
+
|
| 274 |
+
similarity_scores = loss_outputs["attn_weights"][0]
|
| 275 |
+
if getattr(self.config.vision_config, "use_cls_token", False):
|
| 276 |
+
similarity_scores = similarity_scores[:, :, 1:]
|
| 277 |
+
outputs["similarity_scores"] = similarity_scores
|
| 278 |
+
|
| 279 |
+
if "sim_components" in loss_outputs:
|
| 280 |
+
comp = loss_outputs["sim_components"]
|
| 281 |
+
if getattr(self.config.vision_config, "use_cls_token", False):
|
| 282 |
+
comp = {k: v[:, :, 1:] for k, v in comp.items()}
|
| 283 |
+
outputs["sim_components"] = comp
|
| 284 |
+
|
| 285 |
+
logits = loss_outputs["logits"]
|
| 286 |
+
logits = logits.T
|
| 287 |
+
|
| 288 |
+
else:
|
| 289 |
+
raise NotImplementedError
|
| 290 |
+
|
| 291 |
+
outputs["logits"] = logits
|
| 292 |
+
return outputs
|
| 293 |
+
|
| 294 |
+
def forward_accum_outputs(
|
| 295 |
+
self,
|
| 296 |
+
pixel_values,
|
| 297 |
+
enc_sents=None,
|
| 298 |
+
neg_enc_sents=None,
|
| 299 |
+
**kwargs,
|
| 300 |
+
):
|
| 301 |
+
use_dfr_module = hasattr(self, "dfr_module") and self.dfr_module is not None
|
| 302 |
+
|
| 303 |
+
outputs = {}
|
| 304 |
+
|
| 305 |
+
vision_outputs = self.forward_vision_model(pixel_values, output_hidden_states=use_dfr_module)
|
| 306 |
+
outputs.update(vision_outputs)
|
| 307 |
+
|
| 308 |
+
if use_dfr_module:
|
| 309 |
+
dfr_outputs = self.dfr_module(
|
| 310 |
+
pixel_values=pixel_values,
|
| 311 |
+
student_hidden_states=vision_outputs["vision_hidden_states"],
|
| 312 |
+
cached_teacher_features=kwargs.get("cached_teacher_features"),
|
| 313 |
+
)
|
| 314 |
+
outputs.update(dfr_outputs)
|
| 315 |
+
|
| 316 |
+
text_outputs = []
|
| 317 |
+
for kp in enc_sents:
|
| 318 |
+
text_outputs.append(self.forward_text_model(kp)["text_features"])
|
| 319 |
+
|
| 320 |
+
text_outputs = {"text_features": text_outputs}
|
| 321 |
+
outputs.update(text_outputs)
|
| 322 |
+
|
| 323 |
+
if neg_enc_sents is not None:
|
| 324 |
+
negative_text_outputs = []
|
| 325 |
+
for kp in neg_enc_sents:
|
| 326 |
+
if isinstance(kp["input_ids"], torch.Tensor):
|
| 327 |
+
negative_text_outputs.append(self.forward_text_model(kp)["text_features"])
|
| 328 |
+
else:
|
| 329 |
+
negative_text_outputs.append(
|
| 330 |
+
torch.zeros((0, self.config.text_config.hidden_size)).to(pixel_values.device)
|
| 331 |
+
)
|
| 332 |
+
|
| 333 |
+
negative_text_outputs = {"negative_text_features": negative_text_outputs}
|
| 334 |
+
outputs.update(negative_text_outputs)
|
| 335 |
+
|
| 336 |
+
if "ids_mask" in kwargs:
|
| 337 |
+
outputs["ids_mask"] = kwargs["ids_mask"]
|
| 338 |
+
outputs["mask"] = kwargs["mask"]
|
| 339 |
+
|
| 340 |
+
return outputs
|
| 341 |
+
|
| 342 |
+
def forward_accum_loss(
|
| 343 |
+
self,
|
| 344 |
+
vision_tokens,
|
| 345 |
+
text_features,
|
| 346 |
+
negative_text_features=None,
|
| 347 |
+
**kwargs,
|
| 348 |
+
):
|
| 349 |
+
outputs = {}
|
| 350 |
+
losses = {}
|
| 351 |
+
loss = 0
|
| 352 |
+
|
| 353 |
+
for loss_type, loss_fn in self.loss_fns.loss_dict.items():
|
| 354 |
+
loss_ratio = self.loss_fns.loss_ratio[loss_type]
|
| 355 |
+
|
| 356 |
+
if loss_fn.__class__.__name__ == "AlignmentLoss":
|
| 357 |
+
loss_outputs = loss_fn(
|
| 358 |
+
enc_sents=None,
|
| 359 |
+
neg_enc_sents=None,
|
| 360 |
+
vision_tokens=vision_tokens,
|
| 361 |
+
forward_text_model=None,
|
| 362 |
+
text_feats_list=text_features,
|
| 363 |
+
neg_text_feats_list=negative_text_features,
|
| 364 |
+
)
|
| 365 |
+
_losses = loss_outputs["losses"]
|
| 366 |
+
loop_loss = _losses.pop("loss")
|
| 367 |
+
losses.update(_losses)
|
| 368 |
+
elif loss_fn.__class__.__name__ == "DFRLoss":
|
| 369 |
+
loss_outputs = loss_fn(
|
| 370 |
+
proj_student_features=kwargs.get("proj_student_features"),
|
| 371 |
+
teacher_features=kwargs.get("teacher_features"),
|
| 372 |
+
)
|
| 373 |
+
_losses = loss_outputs["losses"]
|
| 374 |
+
loop_loss = _losses.pop("loss")
|
| 375 |
+
losses.update(_losses)
|
| 376 |
+
else:
|
| 377 |
+
raise NotImplementedError
|
| 378 |
+
|
| 379 |
+
loss += loop_loss * loss_ratio
|
| 380 |
+
|
| 381 |
+
losses["loss"] = loss
|
| 382 |
+
|
| 383 |
+
outputs["loss"] = loss
|
| 384 |
+
outputs["losses"] = losses
|
| 385 |
+
|
| 386 |
+
return outputs
|
text_encoders.py
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from transformers import MPNetConfig, MPNetModel
|
| 2 |
+
|
| 3 |
+
|
| 4 |
+
def build_text_encoder(config):
|
| 5 |
+
if config.model_type == "mpnet":
|
| 6 |
+
fields = config.to_dict()
|
| 7 |
+
fields.pop("model_type", None)
|
| 8 |
+
return MPNetModel(MPNetConfig(**fields))
|
| 9 |
+
else:
|
| 10 |
+
raise NotImplementedError(f"Unsupported text model_type: {config.model_type}")
|
tokenizer.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
tokenizer_config.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"added_tokens_decoder": {
|
| 3 |
+
"0": {
|
| 4 |
+
"content": "<s>",
|
| 5 |
+
"lstrip": false,
|
| 6 |
+
"normalized": false,
|
| 7 |
+
"rstrip": false,
|
| 8 |
+
"single_word": false,
|
| 9 |
+
"special": true
|
| 10 |
+
},
|
| 11 |
+
"1": {
|
| 12 |
+
"content": "<pad>",
|
| 13 |
+
"lstrip": false,
|
| 14 |
+
"normalized": false,
|
| 15 |
+
"rstrip": false,
|
| 16 |
+
"single_word": false,
|
| 17 |
+
"special": true
|
| 18 |
+
},
|
| 19 |
+
"2": {
|
| 20 |
+
"content": "</s>",
|
| 21 |
+
"lstrip": false,
|
| 22 |
+
"normalized": false,
|
| 23 |
+
"rstrip": false,
|
| 24 |
+
"single_word": false,
|
| 25 |
+
"special": true
|
| 26 |
+
},
|
| 27 |
+
"3": {
|
| 28 |
+
"content": "<unk>",
|
| 29 |
+
"lstrip": false,
|
| 30 |
+
"normalized": true,
|
| 31 |
+
"rstrip": false,
|
| 32 |
+
"single_word": false,
|
| 33 |
+
"special": true
|
| 34 |
+
},
|
| 35 |
+
"104": {
|
| 36 |
+
"content": "[UNK]",
|
| 37 |
+
"lstrip": false,
|
| 38 |
+
"normalized": false,
|
| 39 |
+
"rstrip": false,
|
| 40 |
+
"single_word": false,
|
| 41 |
+
"special": true
|
| 42 |
+
},
|
| 43 |
+
"30526": {
|
| 44 |
+
"content": "<mask>",
|
| 45 |
+
"lstrip": true,
|
| 46 |
+
"normalized": false,
|
| 47 |
+
"rstrip": false,
|
| 48 |
+
"single_word": false,
|
| 49 |
+
"special": true
|
| 50 |
+
}
|
| 51 |
+
},
|
| 52 |
+
"bos_token": "<s>",
|
| 53 |
+
"clean_up_tokenization_spaces": true,
|
| 54 |
+
"cls_token": "<s>",
|
| 55 |
+
"do_lower_case": true,
|
| 56 |
+
"eos_token": "</s>",
|
| 57 |
+
"mask_token": "<mask>",
|
| 58 |
+
"max_length": 128,
|
| 59 |
+
"model_max_length": 512,
|
| 60 |
+
"pad_to_multiple_of": null,
|
| 61 |
+
"pad_token": "<pad>",
|
| 62 |
+
"pad_token_type_id": 0,
|
| 63 |
+
"padding_side": "right",
|
| 64 |
+
"sep_token": "</s>",
|
| 65 |
+
"stride": 0,
|
| 66 |
+
"strip_accents": null,
|
| 67 |
+
"tokenize_chinese_chars": true,
|
| 68 |
+
"tokenizer_class": "MPNetTokenizer",
|
| 69 |
+
"truncation_side": "right",
|
| 70 |
+
"truncation_strategy": "longest_first",
|
| 71 |
+
"unk_token": "[UNK]"
|
| 72 |
+
}
|
utils.py
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Inference helpers for the GLINT-CT vision-language model.
|
| 2 |
+
|
| 3 |
+
CT volumes are preprocessed with the same MONAI pipeline used during GLINT
|
| 4 |
+
training/zero-shot evaluation (orientation IPL, resample to 1.5/0.75/0.75 mm,
|
| 5 |
+
HU window [-1000, 1000] -> [-1, 1], 240x384x384), then regrouped into
|
| 6 |
+
``[num_frames=80, 3, 384, 384]`` and ImageNet-normalised.
|
| 7 |
+
"""
|
| 8 |
+
|
| 9 |
+
import numpy as np
|
| 10 |
+
import torch
|
| 11 |
+
|
| 12 |
+
# GLINT-CT pretraining preprocessing (glint/configs/chest_ct_monai.yaml)
|
| 13 |
+
CT_MONAI_CONFIG = {
|
| 14 |
+
"orientation": "IPL",
|
| 15 |
+
"target_spacing": (1.5, 0.75, 0.75),
|
| 16 |
+
"roi_size": (240, 480, 480),
|
| 17 |
+
"final_size": (240, 384, 384),
|
| 18 |
+
"hu_range": (-1000.0, 1000.0),
|
| 19 |
+
"normalize_range": (-1.0, 1.0),
|
| 20 |
+
}
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
def build_ct_transform(orientd=True, raw_spacing=None):
|
| 24 |
+
from monai.transforms import (
|
| 25 |
+
CenterSpatialCropd,
|
| 26 |
+
Compose,
|
| 27 |
+
EnsureChannelFirstd,
|
| 28 |
+
EnsureTyped,
|
| 29 |
+
Lambdad,
|
| 30 |
+
LoadImaged,
|
| 31 |
+
Orientationd,
|
| 32 |
+
Resized,
|
| 33 |
+
ScaleIntensityRanged,
|
| 34 |
+
Spacingd,
|
| 35 |
+
SpatialPadd,
|
| 36 |
+
)
|
| 37 |
+
|
| 38 |
+
cfg = CT_MONAI_CONFIG
|
| 39 |
+
b_min, b_max = cfg["normalize_range"]
|
| 40 |
+
|
| 41 |
+
def _patch_affine(img):
|
| 42 |
+
if raw_spacing is not None and hasattr(img, "affine"):
|
| 43 |
+
sx, sy, sz = (float(x) for x in raw_spacing)
|
| 44 |
+
a = torch.eye(4, dtype=img.affine.dtype, device=img.affine.device)
|
| 45 |
+
a[0, 0], a[1, 1], a[2, 2] = sx, sy, sz
|
| 46 |
+
img.affine = a
|
| 47 |
+
return img
|
| 48 |
+
|
| 49 |
+
steps = [
|
| 50 |
+
LoadImaged(keys=["image"], image_only=False),
|
| 51 |
+
EnsureChannelFirstd(keys=["image"]),
|
| 52 |
+
*([Orientationd(keys=["image"], axcodes=cfg["orientation"])] if orientd else []),
|
| 53 |
+
*([Lambdad(keys=["image"], func=_patch_affine)] if raw_spacing is not None else []),
|
| 54 |
+
ScaleIntensityRanged(
|
| 55 |
+
keys=["image"],
|
| 56 |
+
a_min=cfg["hu_range"][0],
|
| 57 |
+
a_max=cfg["hu_range"][1],
|
| 58 |
+
b_min=b_min,
|
| 59 |
+
b_max=b_max,
|
| 60 |
+
clip=True,
|
| 61 |
+
),
|
| 62 |
+
Spacingd(keys=["image"], pixdim=cfg["target_spacing"], mode="bilinear"),
|
| 63 |
+
CenterSpatialCropd(keys=["image"], roi_size=cfg["roi_size"]),
|
| 64 |
+
SpatialPadd(keys=["image"], spatial_size=cfg["roi_size"], mode="constant", constant_values=b_min),
|
| 65 |
+
Resized(keys=["image"], spatial_size=cfg["final_size"], mode="trilinear"),
|
| 66 |
+
EnsureTyped(keys=["image"], dtype=torch.float32),
|
| 67 |
+
]
|
| 68 |
+
return Compose(steps)
|
| 69 |
+
|
| 70 |
+
|
| 71 |
+
def normalize_pixel_values_videos(pixel_values_videos):
|
| 72 |
+
"""(D, H, W) in [-1, 1] -> (num_frames, 3, H, W) ImageNet-normalised."""
|
| 73 |
+
s = pixel_values_videos.shape
|
| 74 |
+
num_channels = 3
|
| 75 |
+
pixel_values_videos = pixel_values_videos.reshape(-1, num_channels, s[-2], s[-1])
|
| 76 |
+
|
| 77 |
+
pixel_values_videos = (pixel_values_videos + 1) / 2
|
| 78 |
+
|
| 79 |
+
image_mean = torch.tensor([0.485, 0.456, 0.406], device=pixel_values_videos.device).view(1, 3, 1, 1)
|
| 80 |
+
image_std = torch.tensor([0.229, 0.224, 0.225], device=pixel_values_videos.device).view(1, 3, 1, 1)
|
| 81 |
+
pixel_values_videos = (pixel_values_videos - image_mean) / image_std
|
| 82 |
+
|
| 83 |
+
return pixel_values_videos
|
| 84 |
+
|
| 85 |
+
|
| 86 |
+
def load_ct_volume(volume, orientd=True, raw_spacing=None, return_affine=False):
|
| 87 |
+
"""Load and preprocess a CT volume.
|
| 88 |
+
|
| 89 |
+
volume : path to a NIfTI (.nii/.nii.gz) file, or a (240, 384, 384) tensor/ndarray in HU that is
|
| 90 |
+
already on the preprocessed grid (IPL, 1.5/0.75/0.75 mm resampled, cropped/padded, resized);
|
| 91 |
+
only the HU window is applied to arrays. Returns pixel_values of shape
|
| 92 |
+
(1, num_frames, 3, H, W), plus the 4x4 world affine of the preprocessed grid if
|
| 93 |
+
``return_affine`` (None for array input).
|
| 94 |
+
"""
|
| 95 |
+
affine = None
|
| 96 |
+
if isinstance(volume, str):
|
| 97 |
+
transform = build_ct_transform(orientd=orientd, raw_spacing=raw_spacing)
|
| 98 |
+
out = transform({"image": volume})
|
| 99 |
+
image = out["image"].squeeze(0) # (1, D, H, W) -> (D, H, W)
|
| 100 |
+
affine = np.asarray(out["image"].affine, dtype=np.float64)
|
| 101 |
+
else:
|
| 102 |
+
image = torch.as_tensor(np.asarray(volume), dtype=torch.float32)
|
| 103 |
+
if tuple(image.shape) != tuple(CT_MONAI_CONFIG["final_size"]):
|
| 104 |
+
raise ValueError(
|
| 105 |
+
f"Array input must be on the preprocessed grid {CT_MONAI_CONFIG['final_size']}, got {tuple(image.shape)}"
|
| 106 |
+
)
|
| 107 |
+
(a_min, a_max), (b_min, b_max) = CT_MONAI_CONFIG["hu_range"], CT_MONAI_CONFIG["normalize_range"]
|
| 108 |
+
image = (image.clamp(a_min, a_max) - a_min) / (a_max - a_min) * (b_max - b_min) + b_min
|
| 109 |
+
|
| 110 |
+
pixel_values_videos = normalize_pixel_values_videos(image).unsqueeze(0) # (1, num_frames, 3, H, W)
|
| 111 |
+
return (pixel_values_videos, affine) if return_affine else pixel_values_videos
|
| 112 |
+
|
| 113 |
+
|
| 114 |
+
def similarity_scores_to_volume(similarity_scores, model, target_shape=CT_MONAI_CONFIG["final_size"]):
|
| 115 |
+
"""Per-token scores ``[1, 1, num_tokens]`` -> (D, H, W) map on the preprocessed grid (trilinear)."""
|
| 116 |
+
vc = model.config.vision_config
|
| 117 |
+
patch_size = getattr(vc, "patch_size", None) or 16
|
| 118 |
+
frame_length = vc.num_channels * (getattr(vc, "tubelet_size", None) or 2)
|
| 119 |
+
grid = (vc.input_slices // frame_length, vc.img_size // patch_size, vc.img_size // patch_size)
|
| 120 |
+
|
| 121 |
+
volume = similarity_scores.float().reshape(grid)
|
| 122 |
+
if target_shape is not None:
|
| 123 |
+
volume = torch.nn.functional.interpolate(
|
| 124 |
+
volume[None, None], size=tuple(target_shape), mode="trilinear", align_corners=False
|
| 125 |
+
)[0, 0]
|
| 126 |
+
return volume
|
| 127 |
+
|
| 128 |
+
|
| 129 |
+
def save_similarity_map(similarity_volume, affine, save_path, pixel_values=None, ct_save_path=None):
|
| 130 |
+
"""Save the similarity map (and optionally the preprocessed CT) as NIfTI in world space.
|
| 131 |
+
|
| 132 |
+
With the affine from ``load_ct_volume(..., return_affine=True)`` the map overlays the
|
| 133 |
+
original CT in ITK-SNAP / 3D Slicer. ``pixel_values`` + ``ct_save_path`` also save the
|
| 134 |
+
preprocessed volume (HU window [-1000, 1000]) on the same grid.
|
| 135 |
+
"""
|
| 136 |
+
import nibabel as nib
|
| 137 |
+
|
| 138 |
+
sim = similarity_volume.detach().float().cpu().numpy() if torch.is_tensor(similarity_volume) else similarity_volume
|
| 139 |
+
nib.save(nib.Nifti1Image(sim.astype(np.float32), affine), save_path)
|
| 140 |
+
|
| 141 |
+
if pixel_values is not None and ct_save_path is not None:
|
| 142 |
+
mean = torch.tensor([0.485, 0.456, 0.406]).view(1, 3, 1, 1)
|
| 143 |
+
std = torch.tensor([0.229, 0.224, 0.225]).view(1, 3, 1, 1)
|
| 144 |
+
frames = pixel_values[0].detach().float().cpu() * std + mean # (num_frames, 3, H, W) in [0, 1]
|
| 145 |
+
hu = (frames.reshape(-1, *frames.shape[-2:]) * 2 - 1) * 1000.0
|
| 146 |
+
nib.save(nib.Nifti1Image(hu.numpy().astype(np.float32), affine), ct_save_path)
|
| 147 |
+
|
| 148 |
+
|
| 149 |
+
def _as_pixel_values(volume, raw_spacing):
|
| 150 |
+
if torch.is_tensor(volume) and volume.dim() == 5: # already preprocessed by load_ct_volume
|
| 151 |
+
return volume
|
| 152 |
+
return load_ct_volume(volume, raw_spacing=raw_spacing)
|
| 153 |
+
|
| 154 |
+
|
| 155 |
+
@torch.no_grad()
|
| 156 |
+
def model_inference(volume, text, model, tokenizer, raw_spacing=None):
|
| 157 |
+
"""Return (similarity_prob, similarity_scores) for one CT volume and one phrase.
|
| 158 |
+
|
| 159 |
+
similarity_prob : scalar sigmoid probability that the phrase applies.
|
| 160 |
+
similarity_scores : per-token similarity in [0, 1] over the V-JEPA video tokens
|
| 161 |
+
(shape [1, 1, num_tokens]); ``similarity_scores_to_volume``
|
| 162 |
+
maps it onto the preprocessed CT grid.
|
| 163 |
+
|
| 164 |
+
volume may also be the ``pixel_values`` returned by ``load_ct_volume``.
|
| 165 |
+
"""
|
| 166 |
+
pixel_values = _as_pixel_values(volume, raw_spacing).to(model.device, dtype=model.dtype)
|
| 167 |
+
|
| 168 |
+
tokenized_text = tokenizer(
|
| 169 |
+
text,
|
| 170 |
+
padding=True,
|
| 171 |
+
truncation=True,
|
| 172 |
+
return_tensors="pt",
|
| 173 |
+
).to(model.device)
|
| 174 |
+
|
| 175 |
+
output = model.compute_logits(pixel_values, [tokenized_text])
|
| 176 |
+
similarity_prob = output["logits"].sigmoid()
|
| 177 |
+
return similarity_prob, output.get("similarity_scores")
|
| 178 |
+
|
| 179 |
+
|
| 180 |
+
@torch.no_grad()
|
| 181 |
+
def model_inference_multiple_text(volume, text_list, model, tokenizer, raw_spacing=None):
|
| 182 |
+
pixel_values = _as_pixel_values(volume, raw_spacing).to(model.device, dtype=model.dtype)
|
| 183 |
+
enc = tokenizer(text_list, padding=True, truncation=True, return_tensors="pt").to(model.device)
|
| 184 |
+
output = model.compute_logits(pixel_values, [enc])
|
| 185 |
+
return output["logits"].sigmoid(), output.get("similarity_scores")
|
vision_encoders.py
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import torch.nn as nn
|
| 2 |
+
from transformers import Dinov2Config, Dinov2Model, DINOv3ViTConfig, DINOv3ViTModel, VJEPA2Config, VJEPA2Model
|
| 3 |
+
|
| 4 |
+
|
| 5 |
+
def _hf_config(config_class, config):
|
| 6 |
+
fields = config.to_dict()
|
| 7 |
+
fields.pop("model_type", None)
|
| 8 |
+
return config_class(**fields)
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
def build_vision_encoder(config):
|
| 12 |
+
if config.model_type == "dinov2":
|
| 13 |
+
model = Dinov2Model(_hf_config(Dinov2Config, config))
|
| 14 |
+
nn.init.trunc_normal_(model.embeddings.mask_token, std=0.02)
|
| 15 |
+
|
| 16 |
+
elif config.model_type == "dinov3_vit":
|
| 17 |
+
model = DINOv3ViTModel(_hf_config(DINOv3ViTConfig, config))
|
| 18 |
+
nn.init.trunc_normal_(model.embeddings.mask_token, std=0.02)
|
| 19 |
+
|
| 20 |
+
elif config.model_type == "vjepa2":
|
| 21 |
+
model = VJEPA2Model(_hf_config(VJEPA2Config, config))
|
| 22 |
+
|
| 23 |
+
elif config.model_type == "vjepa2.1":
|
| 24 |
+
from .vjepa21_encoder import VJEPA21Encoder
|
| 25 |
+
|
| 26 |
+
model = VJEPA21Encoder(config)
|
| 27 |
+
|
| 28 |
+
else:
|
| 29 |
+
raise NotImplementedError()
|
| 30 |
+
|
| 31 |
+
return model
|
vjepa21_encoder.py
ADDED
|
@@ -0,0 +1,1106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""V-JEPA 2.1 encoder.
|
| 2 |
+
|
| 3 |
+
Adapted from https://github.com/facebookresearch/vjepa2
|
| 4 |
+
Copyright (c) Meta Platforms, Inc. and affiliates. MIT License (LICENSES/MIT.txt)
|
| 5 |
+
drop_path from timm (https://github.com/huggingface/pytorch-image-models).
|
| 6 |
+
Copyright 2020 Ross Wightman. Apache License 2.0 (LICENSES/Apache-2.0.txt)
|
| 7 |
+
"""
|
| 8 |
+
|
| 9 |
+
import logging
|
| 10 |
+
import math
|
| 11 |
+
|
| 12 |
+
import torch
|
| 13 |
+
|
| 14 |
+
logger = logging.getLogger("glint")
|
| 15 |
+
|
| 16 |
+
|
| 17 |
+
def _no_grad_trunc_normal_(tensor, mean, std, a, b):
|
| 18 |
+
def norm_cdf(x):
|
| 19 |
+
return (1.0 + math.erf(x / math.sqrt(2.0))) / 2.0
|
| 20 |
+
|
| 21 |
+
with torch.no_grad():
|
| 22 |
+
lower = norm_cdf((a - mean) / std)
|
| 23 |
+
upper = norm_cdf((b - mean) / std)
|
| 24 |
+
|
| 25 |
+
tensor.uniform_(2 * lower - 1, 2 * upper - 1)
|
| 26 |
+
|
| 27 |
+
tensor.erfinv_()
|
| 28 |
+
|
| 29 |
+
tensor.mul_(std * math.sqrt(2.0))
|
| 30 |
+
tensor.add_(mean)
|
| 31 |
+
|
| 32 |
+
tensor.clamp_(min=a, max=b)
|
| 33 |
+
return tensor
|
| 34 |
+
|
| 35 |
+
|
| 36 |
+
def trunc_normal_(tensor, mean=0.0, std=1.0, a=-2.0, b=2.0):
|
| 37 |
+
return _no_grad_trunc_normal_(tensor, mean, std, a, b)
|
| 38 |
+
|
| 39 |
+
|
| 40 |
+
def repeat_interleave_batch(x, B, repeat):
|
| 41 |
+
N = len(x) // B
|
| 42 |
+
x = torch.cat([torch.cat([x[i * B : (i + 1) * B] for _ in range(repeat)], dim=0) for i in range(N)], dim=0)
|
| 43 |
+
return x
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
def apply_masks(x, masks, concat=True):
|
| 47 |
+
all_x = []
|
| 48 |
+
for m in masks:
|
| 49 |
+
mask_keep = m.unsqueeze(-1).repeat(1, 1, x.size(-1))
|
| 50 |
+
all_x += [torch.gather(x, dim=1, index=mask_keep)]
|
| 51 |
+
if not concat:
|
| 52 |
+
return all_x
|
| 53 |
+
|
| 54 |
+
return torch.cat(all_x, dim=0)
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
import torch.nn as nn # noqa: E402
|
| 58 |
+
|
| 59 |
+
|
| 60 |
+
class PatchEmbed3D(nn.Module):
|
| 61 |
+
def __init__(
|
| 62 |
+
self,
|
| 63 |
+
patch_size=16,
|
| 64 |
+
tubelet_size=2,
|
| 65 |
+
in_chans=3,
|
| 66 |
+
embed_dim=768,
|
| 67 |
+
):
|
| 68 |
+
super().__init__()
|
| 69 |
+
self.patch_size = patch_size
|
| 70 |
+
self.tubelet_size = tubelet_size
|
| 71 |
+
|
| 72 |
+
self.proj = nn.Conv3d(
|
| 73 |
+
in_channels=in_chans,
|
| 74 |
+
out_channels=embed_dim,
|
| 75 |
+
kernel_size=(tubelet_size, patch_size, patch_size),
|
| 76 |
+
stride=(tubelet_size, patch_size, patch_size),
|
| 77 |
+
)
|
| 78 |
+
|
| 79 |
+
def forward(self, x, **kwargs):
|
| 80 |
+
B, C, T, H, W = x.shape
|
| 81 |
+
x = self.proj(x).flatten(2).transpose(1, 2)
|
| 82 |
+
return x
|
| 83 |
+
|
| 84 |
+
|
| 85 |
+
import torch.nn.functional as F # noqa: E402
|
| 86 |
+
from torch.nn.attention import SDPBackend, sdpa_kernel # noqa: E402
|
| 87 |
+
|
| 88 |
+
|
| 89 |
+
def drop_path(x, drop_prob=0.0, training=False, scale_by_keep=True):
|
| 90 |
+
if drop_prob == 0.0 or not training:
|
| 91 |
+
return x
|
| 92 |
+
keep_prob = 1 - drop_prob
|
| 93 |
+
shape = (x.shape[0],) + (1,) * (x.ndim - 1)
|
| 94 |
+
random_tensor = x.new_empty(shape).bernoulli_(keep_prob)
|
| 95 |
+
if keep_prob > 0.0 and scale_by_keep:
|
| 96 |
+
random_tensor.div_(keep_prob)
|
| 97 |
+
return x * random_tensor
|
| 98 |
+
|
| 99 |
+
|
| 100 |
+
def rotate_queries_or_keys(x, pos, n_registers, has_cls_first):
|
| 101 |
+
B, num_heads, N, D = x.size()
|
| 102 |
+
assert D % 2 == 0, "Embedding dimension must be a multiple of 2 for block matrix rotation"
|
| 103 |
+
|
| 104 |
+
n_cls = 1 if has_cls_first else 0
|
| 105 |
+
start_ctx = n_cls
|
| 106 |
+
end_ctx = N - n_registers
|
| 107 |
+
|
| 108 |
+
x_cls = x[..., :n_cls, :] if n_cls else None
|
| 109 |
+
x_ctx = x[..., start_ctx:end_ctx, :]
|
| 110 |
+
x_reg = x[..., end_ctx:, :] if n_registers > 0 else None
|
| 111 |
+
|
| 112 |
+
omega = torch.arange(D // 2, dtype=x.dtype, device=x.device)
|
| 113 |
+
omega /= D / 2.0
|
| 114 |
+
omega = 1.0 / 10000**omega
|
| 115 |
+
freq = torch.einsum("..., f -> ... f", pos, omega)
|
| 116 |
+
|
| 117 |
+
emb_sin = freq.sin()
|
| 118 |
+
emb_cos = freq.cos()
|
| 119 |
+
|
| 120 |
+
emb_sin = emb_sin.repeat_interleave(2, dim=-1)
|
| 121 |
+
emb_cos = emb_cos.repeat_interleave(2, dim=-1)
|
| 122 |
+
|
| 123 |
+
y = x_ctx.unflatten(-1, (-1, 2))
|
| 124 |
+
y1, y2 = y.unbind(
|
| 125 |
+
dim=-1,
|
| 126 |
+
)
|
| 127 |
+
y = torch.stack((-y2, y1), dim=-1)
|
| 128 |
+
y = y.flatten(-2)
|
| 129 |
+
out_ctx = (x_ctx * emb_cos) + (y * emb_sin)
|
| 130 |
+
|
| 131 |
+
parts = []
|
| 132 |
+
if n_cls:
|
| 133 |
+
parts.append(x_cls)
|
| 134 |
+
parts.append(out_ctx)
|
| 135 |
+
if n_registers:
|
| 136 |
+
parts.append(x_reg)
|
| 137 |
+
out = torch.cat(parts, dim=-2)
|
| 138 |
+
|
| 139 |
+
return out
|
| 140 |
+
|
| 141 |
+
|
| 142 |
+
class DropPath(nn.Module):
|
| 143 |
+
def __init__(self, drop_prob=None):
|
| 144 |
+
super(DropPath, self).__init__()
|
| 145 |
+
self.drop_prob = drop_prob
|
| 146 |
+
|
| 147 |
+
def forward(self, x):
|
| 148 |
+
return drop_path(x, self.drop_prob, self.training)
|
| 149 |
+
|
| 150 |
+
def extra_repr(self) -> str:
|
| 151 |
+
return "p={}".format(self.drop_prob)
|
| 152 |
+
|
| 153 |
+
|
| 154 |
+
class MLP(nn.Module):
|
| 155 |
+
def __init__(
|
| 156 |
+
self,
|
| 157 |
+
in_features,
|
| 158 |
+
hidden_features=None,
|
| 159 |
+
out_features=None,
|
| 160 |
+
act_layer=nn.GELU,
|
| 161 |
+
drop=0.0,
|
| 162 |
+
):
|
| 163 |
+
super().__init__()
|
| 164 |
+
out_features = out_features or in_features
|
| 165 |
+
hidden_features = hidden_features or in_features
|
| 166 |
+
self.fc1 = nn.Linear(in_features, hidden_features)
|
| 167 |
+
self.act = act_layer()
|
| 168 |
+
self.fc2 = nn.Linear(hidden_features, out_features)
|
| 169 |
+
self.drop = nn.Dropout(drop)
|
| 170 |
+
|
| 171 |
+
def forward(self, x):
|
| 172 |
+
x = self.fc1(x)
|
| 173 |
+
x = self.act(x)
|
| 174 |
+
x = self.drop(x)
|
| 175 |
+
x = self.fc2(x)
|
| 176 |
+
x = self.drop(x)
|
| 177 |
+
return x
|
| 178 |
+
|
| 179 |
+
|
| 180 |
+
class SwiGLUFFN(nn.Module):
|
| 181 |
+
def __init__(
|
| 182 |
+
self,
|
| 183 |
+
in_features,
|
| 184 |
+
hidden_features=None,
|
| 185 |
+
out_features=None,
|
| 186 |
+
act_layer=nn.SiLU,
|
| 187 |
+
drop=0.0,
|
| 188 |
+
wide_silu=True,
|
| 189 |
+
):
|
| 190 |
+
super().__init__()
|
| 191 |
+
out_features = out_features or in_features
|
| 192 |
+
swiglu_hidden_features = hidden_features = hidden_features or in_features
|
| 193 |
+
if wide_silu:
|
| 194 |
+
swiglu_hidden_features = int(2 * hidden_features / 3)
|
| 195 |
+
align_as = 8
|
| 196 |
+
swiglu_hidden_features = (swiglu_hidden_features + align_as - 1) // align_as * align_as
|
| 197 |
+
self.fc1 = nn.Linear(in_features, swiglu_hidden_features)
|
| 198 |
+
self.fc2 = nn.Linear(in_features, swiglu_hidden_features)
|
| 199 |
+
self.act = act_layer()
|
| 200 |
+
self.fc3 = nn.Linear(swiglu_hidden_features, out_features)
|
| 201 |
+
|
| 202 |
+
def forward(self, x):
|
| 203 |
+
x1 = self.fc1(x)
|
| 204 |
+
x2 = self.fc2(x)
|
| 205 |
+
hidden = F.silu(x1) * x2
|
| 206 |
+
return self.fc3(hidden)
|
| 207 |
+
|
| 208 |
+
|
| 209 |
+
class RoPEAttention(nn.Module):
|
| 210 |
+
def __init__(
|
| 211 |
+
self,
|
| 212 |
+
dim,
|
| 213 |
+
num_heads=8,
|
| 214 |
+
qkv_bias=False,
|
| 215 |
+
qk_scale=None,
|
| 216 |
+
attn_drop=0.0,
|
| 217 |
+
proj_drop=0.0,
|
| 218 |
+
use_sdpa=True,
|
| 219 |
+
grid_size=14,
|
| 220 |
+
is_causal=False,
|
| 221 |
+
n_registers=0,
|
| 222 |
+
has_cls_first=False,
|
| 223 |
+
interpolate_rope=False,
|
| 224 |
+
patch_size=16,
|
| 225 |
+
):
|
| 226 |
+
super().__init__()
|
| 227 |
+
self.num_heads = num_heads
|
| 228 |
+
self.head_dim = head_dim = dim // num_heads
|
| 229 |
+
self.scale = qk_scale or head_dim**-0.5
|
| 230 |
+
self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias)
|
| 231 |
+
self.attn_drop = nn.Dropout(attn_drop)
|
| 232 |
+
self.proj = nn.Linear(dim, dim)
|
| 233 |
+
self.proj_drop_prob = proj_drop
|
| 234 |
+
self.proj_drop = nn.Dropout(proj_drop)
|
| 235 |
+
self.use_sdpa = use_sdpa
|
| 236 |
+
self.d_dim = int(2 * ((head_dim // 3) // 2))
|
| 237 |
+
self.h_dim = int(2 * ((head_dim // 3) // 2))
|
| 238 |
+
self.w_dim = int(2 * ((head_dim // 3) // 2))
|
| 239 |
+
self.grid_size = grid_size
|
| 240 |
+
self.is_causal = is_causal
|
| 241 |
+
self.n_registers = n_registers
|
| 242 |
+
self.has_cls_first = has_cls_first
|
| 243 |
+
self.interpolate_rope = interpolate_rope
|
| 244 |
+
self.pretrained_patch_size = patch_size
|
| 245 |
+
if patch_size == 14:
|
| 246 |
+
self.pretrained_grid_size = int(252 / patch_size)
|
| 247 |
+
elif patch_size == 16:
|
| 248 |
+
self.pretrained_grid_size = int(256 / patch_size)
|
| 249 |
+
|
| 250 |
+
def _get_frame_pos(self, ids, H_patches=None, W_patches=None):
|
| 251 |
+
if H_patches is None or W_patches is None:
|
| 252 |
+
tokens_per_frame = int(self.grid_size * self.grid_size)
|
| 253 |
+
else:
|
| 254 |
+
tokens_per_frame = int(H_patches * W_patches)
|
| 255 |
+
return ids // tokens_per_frame
|
| 256 |
+
|
| 257 |
+
def _get_height_pos(self, ids, H_patches=None, W_patches=None):
|
| 258 |
+
if H_patches is None or W_patches is None:
|
| 259 |
+
tokens_per_frame = int(self.grid_size * self.grid_size)
|
| 260 |
+
tokens_per_row = self.grid_size
|
| 261 |
+
else:
|
| 262 |
+
tokens_per_frame = int(H_patches * W_patches)
|
| 263 |
+
tokens_per_row = W_patches
|
| 264 |
+
frame_ids = self._get_frame_pos(ids, H_patches, W_patches)
|
| 265 |
+
ids = ids - tokens_per_frame * frame_ids
|
| 266 |
+
return ids // tokens_per_row
|
| 267 |
+
|
| 268 |
+
def separate_positions(self, ids, H_patches=None, W_patches=None):
|
| 269 |
+
if H_patches is None or W_patches is None:
|
| 270 |
+
tokens_per_frame = int(self.grid_size * self.grid_size)
|
| 271 |
+
tokens_per_row = self.grid_size
|
| 272 |
+
else:
|
| 273 |
+
tokens_per_frame = int(H_patches * W_patches)
|
| 274 |
+
tokens_per_row = W_patches
|
| 275 |
+
frame_ids = self._get_frame_pos(ids, H_patches, W_patches)
|
| 276 |
+
height_ids = self._get_height_pos(ids, H_patches, W_patches)
|
| 277 |
+
width_ids = (ids - tokens_per_frame * frame_ids) - tokens_per_row * height_ids
|
| 278 |
+
return 1.0 * frame_ids, 1.0 * height_ids, 1.0 * width_ids
|
| 279 |
+
|
| 280 |
+
def forward(
|
| 281 |
+
self,
|
| 282 |
+
x,
|
| 283 |
+
mask=None,
|
| 284 |
+
T=None,
|
| 285 |
+
H_patches=None,
|
| 286 |
+
W_patches=None,
|
| 287 |
+
return_attn=False,
|
| 288 |
+
):
|
| 289 |
+
B, N, C = x.size()
|
| 290 |
+
N_ctx = N - self.n_registers
|
| 291 |
+
grid_depth = int(N_ctx // (self.grid_size * self.grid_size))
|
| 292 |
+
|
| 293 |
+
qkv = self.qkv(x).unflatten(-1, (3, self.num_heads, -1)).permute(2, 0, 3, 1, 4)
|
| 294 |
+
q, k, v = qkv[0], qkv[1], qkv[2]
|
| 295 |
+
|
| 296 |
+
if mask is not None:
|
| 297 |
+
mask = mask.unsqueeze(1).repeat(1, self.num_heads, 1)
|
| 298 |
+
d_mask, h_mask, w_mask = self.separate_positions(mask, H_patches, W_patches)
|
| 299 |
+
else:
|
| 300 |
+
if T is None or H_patches is None or W_patches is None:
|
| 301 |
+
mask = torch.arange(int(grid_depth * self.grid_size * self.grid_size), device=x.device)
|
| 302 |
+
else:
|
| 303 |
+
mask = torch.arange(int(T * H_patches * W_patches), device=x.device)
|
| 304 |
+
d_mask, h_mask, w_mask = self.separate_positions(mask, H_patches, W_patches)
|
| 305 |
+
|
| 306 |
+
if self.interpolate_rope:
|
| 307 |
+
if H_patches is None:
|
| 308 |
+
H_patches = int(self.grid_size)
|
| 309 |
+
if W_patches is None:
|
| 310 |
+
W_patches = int(self.grid_size)
|
| 311 |
+
h_mask = h_mask * (self.pretrained_grid_size - 1) / (H_patches - 1)
|
| 312 |
+
w_mask = w_mask * (self.pretrained_grid_size - 1) / (W_patches - 1)
|
| 313 |
+
|
| 314 |
+
s = 0
|
| 315 |
+
qd = rotate_queries_or_keys(
|
| 316 |
+
q[..., s : s + self.d_dim],
|
| 317 |
+
pos=d_mask,
|
| 318 |
+
n_registers=self.n_registers,
|
| 319 |
+
has_cls_first=self.has_cls_first,
|
| 320 |
+
)
|
| 321 |
+
kd = rotate_queries_or_keys(
|
| 322 |
+
k[..., s : s + self.d_dim],
|
| 323 |
+
pos=d_mask,
|
| 324 |
+
n_registers=self.n_registers,
|
| 325 |
+
has_cls_first=self.has_cls_first,
|
| 326 |
+
)
|
| 327 |
+
s += self.d_dim
|
| 328 |
+
qh = rotate_queries_or_keys(
|
| 329 |
+
q[..., s : s + self.h_dim],
|
| 330 |
+
pos=h_mask,
|
| 331 |
+
n_registers=self.n_registers,
|
| 332 |
+
has_cls_first=self.has_cls_first,
|
| 333 |
+
)
|
| 334 |
+
kh = rotate_queries_or_keys(
|
| 335 |
+
k[..., s : s + self.h_dim],
|
| 336 |
+
pos=h_mask,
|
| 337 |
+
n_registers=self.n_registers,
|
| 338 |
+
has_cls_first=self.has_cls_first,
|
| 339 |
+
)
|
| 340 |
+
s += self.h_dim
|
| 341 |
+
qw = rotate_queries_or_keys(
|
| 342 |
+
q[..., s : s + self.w_dim],
|
| 343 |
+
pos=w_mask,
|
| 344 |
+
n_registers=self.n_registers,
|
| 345 |
+
has_cls_first=self.has_cls_first,
|
| 346 |
+
)
|
| 347 |
+
kw = rotate_queries_or_keys(
|
| 348 |
+
k[..., s : s + self.w_dim],
|
| 349 |
+
pos=w_mask,
|
| 350 |
+
n_registers=self.n_registers,
|
| 351 |
+
has_cls_first=self.has_cls_first,
|
| 352 |
+
)
|
| 353 |
+
s += self.w_dim
|
| 354 |
+
|
| 355 |
+
if s < self.head_dim:
|
| 356 |
+
qr = q[..., s:]
|
| 357 |
+
kr = k[..., s:]
|
| 358 |
+
q = torch.cat([qd, qh, qw, qr], dim=-1)
|
| 359 |
+
k = torch.cat([kd, kh, kw, kr], dim=-1)
|
| 360 |
+
else:
|
| 361 |
+
q = torch.cat([qd, qh, qw], dim=-1)
|
| 362 |
+
k = torch.cat([kd, kh, kw], dim=-1)
|
| 363 |
+
|
| 364 |
+
q = q.to(v.dtype)
|
| 365 |
+
k = k.to(v.dtype)
|
| 366 |
+
|
| 367 |
+
if self.use_sdpa:
|
| 368 |
+
with sdpa_kernel([SDPBackend.FLASH_ATTENTION, SDPBackend.EFFICIENT_ATTENTION, SDPBackend.MATH]):
|
| 369 |
+
x = F.scaled_dot_product_attention(q, k, v, dropout_p=self.proj_drop_prob, is_causal=self.is_causal)
|
| 370 |
+
attn = None
|
| 371 |
+
else:
|
| 372 |
+
attn = (q @ k.transpose(-2, -1)) * self.scale
|
| 373 |
+
attn = attn.softmax(dim=-1)
|
| 374 |
+
attn = self.attn_drop(attn)
|
| 375 |
+
x = attn @ v
|
| 376 |
+
|
| 377 |
+
x = x.transpose(1, 2).reshape(B, N, C)
|
| 378 |
+
x = self.proj(x)
|
| 379 |
+
x = self.proj_drop(x)
|
| 380 |
+
if return_attn:
|
| 381 |
+
return x, attn
|
| 382 |
+
else:
|
| 383 |
+
return x, None
|
| 384 |
+
|
| 385 |
+
|
| 386 |
+
class Attention(nn.Module):
|
| 387 |
+
def __init__(
|
| 388 |
+
self,
|
| 389 |
+
dim,
|
| 390 |
+
num_heads=8,
|
| 391 |
+
qkv_bias=False,
|
| 392 |
+
qk_scale=None,
|
| 393 |
+
attn_drop=0.0,
|
| 394 |
+
proj_drop=0.0,
|
| 395 |
+
use_sdpa=True,
|
| 396 |
+
is_causal=False,
|
| 397 |
+
):
|
| 398 |
+
super().__init__()
|
| 399 |
+
self.num_heads = num_heads
|
| 400 |
+
head_dim = dim // num_heads
|
| 401 |
+
self.scale = qk_scale or head_dim**-0.5
|
| 402 |
+
self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias)
|
| 403 |
+
self.attn_drop = nn.Dropout(attn_drop)
|
| 404 |
+
self.proj = nn.Linear(dim, dim)
|
| 405 |
+
self.proj_drop_prob = proj_drop
|
| 406 |
+
self.proj_drop = nn.Dropout(proj_drop)
|
| 407 |
+
self.use_sdpa = use_sdpa
|
| 408 |
+
self.is_causal = is_causal
|
| 409 |
+
|
| 410 |
+
def forward(self, x):
|
| 411 |
+
B, N, C = x.shape
|
| 412 |
+
qkv = self.qkv(x).reshape(B, N, 3, self.num_heads, C // self.num_heads).permute(2, 0, 3, 1, 4)
|
| 413 |
+
q, k, v = qkv[0], qkv[1], qkv[2]
|
| 414 |
+
|
| 415 |
+
if self.use_sdpa:
|
| 416 |
+
with sdpa_kernel([SDPBackend.FLASH_ATTENTION, SDPBackend.EFFICIENT_ATTENTION, SDPBackend.MATH]):
|
| 417 |
+
x = F.scaled_dot_product_attention(q, k, v, dropout_p=self.proj_drop_prob, is_causal=self.is_causal)
|
| 418 |
+
attn = None
|
| 419 |
+
else:
|
| 420 |
+
attn = (q @ k.transpose(-2, -1)) * self.scale
|
| 421 |
+
attn = attn.softmax(dim=-1)
|
| 422 |
+
attn = self.attn_drop(attn)
|
| 423 |
+
x = attn @ v
|
| 424 |
+
|
| 425 |
+
x = x.transpose(1, 2).reshape(B, N, C)
|
| 426 |
+
x = self.proj(x)
|
| 427 |
+
x = self.proj_drop(x)
|
| 428 |
+
return x
|
| 429 |
+
|
| 430 |
+
|
| 431 |
+
class Block(nn.Module):
|
| 432 |
+
def __init__(
|
| 433 |
+
self,
|
| 434 |
+
dim,
|
| 435 |
+
num_heads,
|
| 436 |
+
mlp_ratio=4.0,
|
| 437 |
+
qkv_bias=False,
|
| 438 |
+
qk_scale=None,
|
| 439 |
+
drop=0.0,
|
| 440 |
+
attn_drop=0.0,
|
| 441 |
+
drop_path=0.0,
|
| 442 |
+
act_layer=nn.GELU,
|
| 443 |
+
wide_silu=True,
|
| 444 |
+
norm_layer=nn.LayerNorm,
|
| 445 |
+
use_sdpa=True,
|
| 446 |
+
is_causal=False,
|
| 447 |
+
grid_size=16,
|
| 448 |
+
use_rope=False,
|
| 449 |
+
n_registers=0,
|
| 450 |
+
has_cls_first=False,
|
| 451 |
+
interpolate_rope=False,
|
| 452 |
+
patch_size=16,
|
| 453 |
+
**kwargs,
|
| 454 |
+
):
|
| 455 |
+
super().__init__()
|
| 456 |
+
self.norm1 = norm_layer(dim)
|
| 457 |
+
self.use_rope = use_rope
|
| 458 |
+
if use_rope:
|
| 459 |
+
self.attn = RoPEAttention(
|
| 460 |
+
dim,
|
| 461 |
+
num_heads=num_heads,
|
| 462 |
+
qkv_bias=qkv_bias,
|
| 463 |
+
qk_scale=qk_scale,
|
| 464 |
+
attn_drop=attn_drop,
|
| 465 |
+
use_sdpa=use_sdpa,
|
| 466 |
+
is_causal=is_causal,
|
| 467 |
+
grid_size=grid_size,
|
| 468 |
+
proj_drop=drop,
|
| 469 |
+
n_registers=n_registers,
|
| 470 |
+
has_cls_first=has_cls_first,
|
| 471 |
+
interpolate_rope=interpolate_rope,
|
| 472 |
+
patch_size=patch_size,
|
| 473 |
+
)
|
| 474 |
+
else:
|
| 475 |
+
self.attn = Attention(
|
| 476 |
+
dim,
|
| 477 |
+
num_heads=num_heads,
|
| 478 |
+
qkv_bias=qkv_bias,
|
| 479 |
+
qk_scale=qk_scale,
|
| 480 |
+
attn_drop=attn_drop,
|
| 481 |
+
use_sdpa=use_sdpa,
|
| 482 |
+
is_causal=is_causal,
|
| 483 |
+
proj_drop=drop,
|
| 484 |
+
)
|
| 485 |
+
|
| 486 |
+
self.drop_path = DropPath(drop_path) if drop_path > 0.0 else nn.Identity()
|
| 487 |
+
self.norm2 = norm_layer(dim)
|
| 488 |
+
mlp_hidden_dim = int(dim * mlp_ratio)
|
| 489 |
+
if act_layer is nn.SiLU:
|
| 490 |
+
self.mlp = SwiGLUFFN(
|
| 491 |
+
in_features=dim,
|
| 492 |
+
hidden_features=mlp_hidden_dim,
|
| 493 |
+
act_layer=act_layer,
|
| 494 |
+
wide_silu=wide_silu,
|
| 495 |
+
drop=drop,
|
| 496 |
+
)
|
| 497 |
+
else:
|
| 498 |
+
self.mlp = MLP(
|
| 499 |
+
in_features=dim,
|
| 500 |
+
hidden_features=mlp_hidden_dim,
|
| 501 |
+
act_layer=act_layer,
|
| 502 |
+
drop=drop,
|
| 503 |
+
)
|
| 504 |
+
|
| 505 |
+
def forward(
|
| 506 |
+
self,
|
| 507 |
+
x,
|
| 508 |
+
mask=None,
|
| 509 |
+
T=None,
|
| 510 |
+
H_patches=None,
|
| 511 |
+
W_patches=None,
|
| 512 |
+
return_attn=False,
|
| 513 |
+
mode="video",
|
| 514 |
+
):
|
| 515 |
+
if self.use_rope:
|
| 516 |
+
y, attn = self.attn(
|
| 517 |
+
self.norm1(x),
|
| 518 |
+
mask=mask,
|
| 519 |
+
T=T,
|
| 520 |
+
H_patches=H_patches,
|
| 521 |
+
W_patches=W_patches,
|
| 522 |
+
return_attn=return_attn,
|
| 523 |
+
)
|
| 524 |
+
else:
|
| 525 |
+
y = self.attn(self.norm1(x))
|
| 526 |
+
attn = None
|
| 527 |
+
x = x + self.drop_path(y)
|
| 528 |
+
x = x + self.drop_path(self.mlp(self.norm2(x)))
|
| 529 |
+
if return_attn:
|
| 530 |
+
return x, attn
|
| 531 |
+
else:
|
| 532 |
+
return x, None
|
| 533 |
+
|
| 534 |
+
|
| 535 |
+
class Lambda_LinearWarmupHold:
|
| 536 |
+
def __init__(self, lambda_value: float, start_iter: int = 15_000, end_iter: int = 30_000):
|
| 537 |
+
assert end_iter > start_iter, "end_iter must be > start_iter"
|
| 538 |
+
self.lambda_value = float(lambda_value)
|
| 539 |
+
self.start = int(start_iter)
|
| 540 |
+
self.end = int(end_iter)
|
| 541 |
+
self.span = self.end - self.start
|
| 542 |
+
|
| 543 |
+
def value(self, global_iter: int) -> float:
|
| 544 |
+
if global_iter < self.start:
|
| 545 |
+
return 0.0
|
| 546 |
+
if global_iter >= self.end:
|
| 547 |
+
return self.lambda_value
|
| 548 |
+
alpha = (global_iter - self.start) / self.span
|
| 549 |
+
return self.lambda_value * alpha
|
| 550 |
+
|
| 551 |
+
|
| 552 |
+
from functools import partial # noqa: E402
|
| 553 |
+
|
| 554 |
+
|
| 555 |
+
class VisionTransformer(nn.Module):
|
| 556 |
+
def __init__(
|
| 557 |
+
self,
|
| 558 |
+
img_size=(224, 224),
|
| 559 |
+
patch_size=16,
|
| 560 |
+
num_frames=1,
|
| 561 |
+
tubelet_size=2,
|
| 562 |
+
in_chans=3,
|
| 563 |
+
embed_dim=768,
|
| 564 |
+
depth=12,
|
| 565 |
+
num_heads=12,
|
| 566 |
+
mlp_ratio=4.0,
|
| 567 |
+
qkv_bias=True,
|
| 568 |
+
qk_scale=None,
|
| 569 |
+
drop_rate=0.0,
|
| 570 |
+
attn_drop_rate=0.0,
|
| 571 |
+
drop_path_rate=0.0,
|
| 572 |
+
norm_layer=nn.LayerNorm,
|
| 573 |
+
init_std=0.02,
|
| 574 |
+
out_layers=None,
|
| 575 |
+
uniform_power=False,
|
| 576 |
+
use_silu=False,
|
| 577 |
+
wide_silu=True,
|
| 578 |
+
use_sdpa=True,
|
| 579 |
+
use_activation_checkpointing=False,
|
| 580 |
+
is_causal=False,
|
| 581 |
+
use_rope=False,
|
| 582 |
+
init_type: str = "default",
|
| 583 |
+
handle_nonsquare_inputs=True,
|
| 584 |
+
img_temporal_dim_size=None,
|
| 585 |
+
n_registers=0,
|
| 586 |
+
has_cls_first=False,
|
| 587 |
+
interpolate_rope=False,
|
| 588 |
+
modality_embedding=True,
|
| 589 |
+
n_output_distillation=4,
|
| 590 |
+
**kwargs,
|
| 591 |
+
):
|
| 592 |
+
super().__init__()
|
| 593 |
+
self.num_features = self.embed_dim = embed_dim
|
| 594 |
+
self.num_heads = num_heads
|
| 595 |
+
self.out_layers = out_layers
|
| 596 |
+
self.init_type = init_type
|
| 597 |
+
self.handle_nonsquare_inputs = handle_nonsquare_inputs
|
| 598 |
+
self.img_temporal_dim_size = img_temporal_dim_size
|
| 599 |
+
|
| 600 |
+
if type(img_size) is int:
|
| 601 |
+
img_size = (img_size, img_size)
|
| 602 |
+
self.img_height, self.img_width = img_size
|
| 603 |
+
self.patch_size = patch_size
|
| 604 |
+
self.num_frames = num_frames
|
| 605 |
+
self.tubelet_size = tubelet_size
|
| 606 |
+
self.is_video = num_frames > 1
|
| 607 |
+
|
| 608 |
+
self.use_activation_checkpointing = use_activation_checkpointing
|
| 609 |
+
|
| 610 |
+
dpr = [x.item() for x in torch.linspace(0, drop_path_rate, depth)]
|
| 611 |
+
|
| 612 |
+
if self.is_video:
|
| 613 |
+
self.patch_embed = PatchEmbed3D(
|
| 614 |
+
patch_size=patch_size,
|
| 615 |
+
tubelet_size=tubelet_size,
|
| 616 |
+
in_chans=in_chans,
|
| 617 |
+
embed_dim=embed_dim,
|
| 618 |
+
)
|
| 619 |
+
self.num_patches = (num_frames // tubelet_size) * (img_size[0] // patch_size) * (img_size[1] // patch_size)
|
| 620 |
+
else:
|
| 621 |
+
self.patch_embed = PatchEmbed3D(
|
| 622 |
+
patch_size=patch_size,
|
| 623 |
+
tubelet_size=1,
|
| 624 |
+
in_chans=in_chans,
|
| 625 |
+
embed_dim=embed_dim,
|
| 626 |
+
)
|
| 627 |
+
self.num_patches = (img_size[0] // patch_size) * (img_size[1] // patch_size)
|
| 628 |
+
|
| 629 |
+
if self.img_temporal_dim_size is not None:
|
| 630 |
+
if not isinstance(self.img_temporal_dim_size, int):
|
| 631 |
+
raise ValueError(f"img_temporal_dim_size must be an int, got {self.img_temporal_dim_size}")
|
| 632 |
+
self.patch_embed_img = PatchEmbed3D(
|
| 633 |
+
patch_size=patch_size,
|
| 634 |
+
tubelet_size=1,
|
| 635 |
+
in_chans=in_chans,
|
| 636 |
+
embed_dim=embed_dim,
|
| 637 |
+
)
|
| 638 |
+
else:
|
| 639 |
+
self.patch_embed_img = None
|
| 640 |
+
|
| 641 |
+
self.uniform_power = uniform_power
|
| 642 |
+
|
| 643 |
+
self.use_rope = use_rope
|
| 644 |
+
self.blocks = nn.ModuleList(
|
| 645 |
+
[
|
| 646 |
+
Block(
|
| 647 |
+
use_rope=use_rope,
|
| 648 |
+
grid_size=img_size[0] // patch_size,
|
| 649 |
+
grid_depth=num_frames // tubelet_size,
|
| 650 |
+
dim=embed_dim,
|
| 651 |
+
num_heads=num_heads,
|
| 652 |
+
mlp_ratio=mlp_ratio,
|
| 653 |
+
use_sdpa=use_sdpa,
|
| 654 |
+
is_causal=is_causal,
|
| 655 |
+
qkv_bias=qkv_bias,
|
| 656 |
+
qk_scale=qk_scale,
|
| 657 |
+
drop=drop_rate,
|
| 658 |
+
act_layer=nn.SiLU if use_silu else nn.GELU,
|
| 659 |
+
wide_silu=wide_silu,
|
| 660 |
+
attn_drop=attn_drop_rate,
|
| 661 |
+
drop_path=dpr[i],
|
| 662 |
+
norm_layer=norm_layer,
|
| 663 |
+
n_registers=n_registers,
|
| 664 |
+
has_cls_first=has_cls_first,
|
| 665 |
+
interpolate_rope=interpolate_rope,
|
| 666 |
+
patch_size=patch_size,
|
| 667 |
+
)
|
| 668 |
+
for i in range(depth)
|
| 669 |
+
]
|
| 670 |
+
)
|
| 671 |
+
|
| 672 |
+
self.attn_out = False
|
| 673 |
+
self.init_std = init_std
|
| 674 |
+
self.apply(self._init_weights)
|
| 675 |
+
self._rescale_blocks()
|
| 676 |
+
|
| 677 |
+
if depth == 12:
|
| 678 |
+
self.hierarchical_layers = [2, 5, 8, 11]
|
| 679 |
+
if n_output_distillation == 4:
|
| 680 |
+
self.out_layers_distillation = [2, 5, 8, 11]
|
| 681 |
+
elif n_output_distillation == 1:
|
| 682 |
+
self.out_layers_distillation = [11]
|
| 683 |
+
|
| 684 |
+
elif depth == 24:
|
| 685 |
+
self.hierarchical_layers = [5, 11, 17, 23]
|
| 686 |
+
if n_output_distillation == 4:
|
| 687 |
+
self.out_layers_distillation = [5, 11, 17, 23]
|
| 688 |
+
elif n_output_distillation == 1:
|
| 689 |
+
self.out_layers_distillation = [23]
|
| 690 |
+
|
| 691 |
+
elif depth == 40:
|
| 692 |
+
self.hierarchical_layers = [9, 19, 29, 39]
|
| 693 |
+
if n_output_distillation == 4:
|
| 694 |
+
self.out_layers_distillation = [9, 19, 29, 39]
|
| 695 |
+
elif n_output_distillation == 1:
|
| 696 |
+
self.out_layers_distillation = [39]
|
| 697 |
+
|
| 698 |
+
elif depth == 48:
|
| 699 |
+
self.hierarchical_layers = [11, 23, 37, 47]
|
| 700 |
+
if n_output_distillation == 4:
|
| 701 |
+
self.out_layers_distillation = [11, 23, 37, 47]
|
| 702 |
+
elif n_output_distillation == 1:
|
| 703 |
+
self.out_layers_distillation = [47]
|
| 704 |
+
else:
|
| 705 |
+
print("Check the code! ;)")
|
| 706 |
+
self.norms_block = nn.ModuleList([norm_layer(embed_dim) for _ in range(len(self.hierarchical_layers))])
|
| 707 |
+
|
| 708 |
+
self.cls_token = None
|
| 709 |
+
self.return_hierarchical = False
|
| 710 |
+
|
| 711 |
+
self.modality_embedding = False
|
| 712 |
+
if modality_embedding:
|
| 713 |
+
self.img_mod_embed = nn.Parameter(torch.zeros(1, 1, embed_dim))
|
| 714 |
+
self.video_mod_embed = nn.Parameter(torch.zeros(1, 1, embed_dim))
|
| 715 |
+
nn.init.normal_(self.img_mod_embed, std=1e-6)
|
| 716 |
+
nn.init.normal_(self.video_mod_embed, std=1e-6)
|
| 717 |
+
self.modality_embedding = True
|
| 718 |
+
|
| 719 |
+
def _init_weights(self, m):
|
| 720 |
+
if isinstance(m, nn.LayerNorm):
|
| 721 |
+
nn.init.constant_(m.bias, 0)
|
| 722 |
+
nn.init.constant_(m.weight, 1.0)
|
| 723 |
+
return
|
| 724 |
+
if self.init_type == "default":
|
| 725 |
+
if isinstance(m, nn.Linear):
|
| 726 |
+
trunc_normal_(m.weight, std=self.init_std)
|
| 727 |
+
if isinstance(m, nn.Linear) and m.bias is not None:
|
| 728 |
+
nn.init.constant_(m.bias, 0)
|
| 729 |
+
elif isinstance(m, nn.Conv2d):
|
| 730 |
+
trunc_normal_(m.weight, std=self.init_std)
|
| 731 |
+
if m.bias is not None:
|
| 732 |
+
nn.init.constant_(m.bias, 0)
|
| 733 |
+
elif isinstance(m, nn.Conv3d):
|
| 734 |
+
trunc_normal_(m.weight, std=self.init_std)
|
| 735 |
+
if m.bias is not None:
|
| 736 |
+
nn.init.constant_(m.bias, 0)
|
| 737 |
+
|
| 738 |
+
elif self.init_type == "xavier_uniform":
|
| 739 |
+
if isinstance(m, nn.Linear) or isinstance(m, nn.Conv2d) or isinstance(m, nn.Conv3d):
|
| 740 |
+
nn.init.xavier_uniform_(m.weight)
|
| 741 |
+
if m.bias is not None:
|
| 742 |
+
nn.init.constant_(m.bias, 0)
|
| 743 |
+
elif self.init_type == "xavier_normal":
|
| 744 |
+
if isinstance(m, nn.Linear) or isinstance(m, nn.Conv2d) or isinstance(m, nn.Conv3d):
|
| 745 |
+
nn.init.xavier_normal_(m.weight)
|
| 746 |
+
if m.bias is not None:
|
| 747 |
+
nn.init.constant_(m.bias, 0)
|
| 748 |
+
else:
|
| 749 |
+
raise ValueError(f"Unknown init type {self.init_type}")
|
| 750 |
+
|
| 751 |
+
def _rescale_blocks(self):
|
| 752 |
+
def rescale(param, layer_id):
|
| 753 |
+
param.div_(math.sqrt(2.0 * layer_id))
|
| 754 |
+
|
| 755 |
+
for layer_id, layer in enumerate(self.blocks):
|
| 756 |
+
rescale(layer.attn.proj.weight.data, layer_id + 1)
|
| 757 |
+
rescale(layer.mlp.fc2.weight.data, layer_id + 1)
|
| 758 |
+
|
| 759 |
+
def get_num_layers(self):
|
| 760 |
+
return len(self.blocks)
|
| 761 |
+
|
| 762 |
+
def no_weight_decay(self):
|
| 763 |
+
return {}
|
| 764 |
+
|
| 765 |
+
def check_temporal_dim(self, shape) -> bool:
|
| 766 |
+
if self.img_temporal_dim_size is not None:
|
| 767 |
+
if shape[2] == self.img_temporal_dim_size:
|
| 768 |
+
return True
|
| 769 |
+
|
| 770 |
+
return False
|
| 771 |
+
|
| 772 |
+
def forward(self, x, masks=None, training=False):
|
| 773 |
+
if masks is not None and not isinstance(masks, list):
|
| 774 |
+
masks = [masks]
|
| 775 |
+
|
| 776 |
+
if x.ndim == 4:
|
| 777 |
+
_, _, H, W = x.shape
|
| 778 |
+
T = 1
|
| 779 |
+
elif x.ndim == 5:
|
| 780 |
+
_, _, T, H, W = x.shape
|
| 781 |
+
if self.check_temporal_dim(x.shape):
|
| 782 |
+
T = T // 1
|
| 783 |
+
else:
|
| 784 |
+
T = T // self.tubelet_size
|
| 785 |
+
|
| 786 |
+
H_patches = H // self.patch_size
|
| 787 |
+
W_patches = W // self.patch_size
|
| 788 |
+
if not self.handle_nonsquare_inputs:
|
| 789 |
+
T = H_patches = W_patches = None
|
| 790 |
+
|
| 791 |
+
if self.check_temporal_dim(x.shape):
|
| 792 |
+
assert self.patch_embed_img is not None
|
| 793 |
+
x = self.patch_embed_img(x)
|
| 794 |
+
mode = "img"
|
| 795 |
+
if self.modality_embedding:
|
| 796 |
+
x += self.img_mod_embed.repeat(x.shape[0], 1, 1)
|
| 797 |
+
else:
|
| 798 |
+
x = self.patch_embed(x)
|
| 799 |
+
mode = "video"
|
| 800 |
+
if self.modality_embedding:
|
| 801 |
+
x += self.video_mod_embed.repeat(x.shape[0], 1, 1)
|
| 802 |
+
|
| 803 |
+
if masks is not None:
|
| 804 |
+
x = apply_masks(x, masks)
|
| 805 |
+
masks = torch.cat(masks, dim=0)
|
| 806 |
+
|
| 807 |
+
outs = []
|
| 808 |
+
hier = []
|
| 809 |
+
for i, blk in enumerate(self.blocks):
|
| 810 |
+
if self.use_activation_checkpointing:
|
| 811 |
+
x, attn = torch.utils.checkpoint.checkpoint(
|
| 812 |
+
blk,
|
| 813 |
+
x,
|
| 814 |
+
masks,
|
| 815 |
+
T=T,
|
| 816 |
+
H_patches=H_patches,
|
| 817 |
+
W_patches=W_patches,
|
| 818 |
+
use_reentrant=False,
|
| 819 |
+
return_attn=self.attn_out,
|
| 820 |
+
mode=mode,
|
| 821 |
+
)
|
| 822 |
+
else:
|
| 823 |
+
x, attn = blk(
|
| 824 |
+
x,
|
| 825 |
+
mask=masks,
|
| 826 |
+
T=T,
|
| 827 |
+
H_patches=H_patches,
|
| 828 |
+
W_patches=W_patches,
|
| 829 |
+
return_attn=self.attn_out,
|
| 830 |
+
mode=mode,
|
| 831 |
+
)
|
| 832 |
+
|
| 833 |
+
if self.out_layers is not None and i in self.out_layers:
|
| 834 |
+
out_idx = self.hierarchical_layers.index(i)
|
| 835 |
+
out_norm = self.norms_block[out_idx](x)
|
| 836 |
+
outs.append(out_norm)
|
| 837 |
+
|
| 838 |
+
if i in self.out_layers_distillation:
|
| 839 |
+
out_idx = self.hierarchical_layers.index(i)
|
| 840 |
+
hier.append(self.norms_block[out_idx](x))
|
| 841 |
+
|
| 842 |
+
if self.out_layers is not None:
|
| 843 |
+
return outs
|
| 844 |
+
|
| 845 |
+
if training or self.return_hierarchical:
|
| 846 |
+
hier = torch.cat(hier, dim=2)
|
| 847 |
+
return hier
|
| 848 |
+
else:
|
| 849 |
+
x = self.norms_block[-1](x)
|
| 850 |
+
return x
|
| 851 |
+
|
| 852 |
+
|
| 853 |
+
def vit_base(patch_size=16, **kwargs):
|
| 854 |
+
model = VisionTransformer(
|
| 855 |
+
patch_size=patch_size,
|
| 856 |
+
embed_dim=768,
|
| 857 |
+
depth=12,
|
| 858 |
+
num_heads=12,
|
| 859 |
+
mlp_ratio=4,
|
| 860 |
+
qkv_bias=True,
|
| 861 |
+
norm_layer=partial(nn.LayerNorm, eps=1e-6),
|
| 862 |
+
**kwargs,
|
| 863 |
+
)
|
| 864 |
+
return model
|
| 865 |
+
|
| 866 |
+
|
| 867 |
+
def vit_large(patch_size=16, **kwargs):
|
| 868 |
+
model = VisionTransformer(
|
| 869 |
+
patch_size=patch_size,
|
| 870 |
+
embed_dim=1024,
|
| 871 |
+
depth=24,
|
| 872 |
+
num_heads=16,
|
| 873 |
+
mlp_ratio=4,
|
| 874 |
+
qkv_bias=True,
|
| 875 |
+
norm_layer=partial(nn.LayerNorm, eps=1e-6),
|
| 876 |
+
**kwargs,
|
| 877 |
+
)
|
| 878 |
+
return model
|
| 879 |
+
|
| 880 |
+
|
| 881 |
+
def vit_huge(patch_size=16, **kwargs):
|
| 882 |
+
model = VisionTransformer(
|
| 883 |
+
patch_size=patch_size,
|
| 884 |
+
embed_dim=1280,
|
| 885 |
+
depth=32,
|
| 886 |
+
num_heads=16,
|
| 887 |
+
mlp_ratio=4,
|
| 888 |
+
qkv_bias=True,
|
| 889 |
+
norm_layer=partial(nn.LayerNorm, eps=1e-6),
|
| 890 |
+
**kwargs,
|
| 891 |
+
)
|
| 892 |
+
return model
|
| 893 |
+
|
| 894 |
+
|
| 895 |
+
def vit_giant_xformers(patch_size=16, **kwargs):
|
| 896 |
+
model = VisionTransformer(
|
| 897 |
+
patch_size=patch_size,
|
| 898 |
+
embed_dim=1408,
|
| 899 |
+
depth=40,
|
| 900 |
+
num_heads=22,
|
| 901 |
+
mlp_ratio=48 / 11,
|
| 902 |
+
qkv_bias=True,
|
| 903 |
+
norm_layer=partial(nn.LayerNorm, eps=1e-6),
|
| 904 |
+
**kwargs,
|
| 905 |
+
)
|
| 906 |
+
return model
|
| 907 |
+
|
| 908 |
+
|
| 909 |
+
def vit_gigantic_xformers(patch_size=16, **kwargs):
|
| 910 |
+
model = VisionTransformer(
|
| 911 |
+
patch_size=patch_size,
|
| 912 |
+
embed_dim=1664,
|
| 913 |
+
depth=48,
|
| 914 |
+
num_heads=26,
|
| 915 |
+
mlp_ratio=64 / 13,
|
| 916 |
+
qkv_bias=True,
|
| 917 |
+
norm_layer=partial(nn.LayerNorm, eps=1e-6),
|
| 918 |
+
**kwargs,
|
| 919 |
+
)
|
| 920 |
+
return model
|
| 921 |
+
|
| 922 |
+
|
| 923 |
+
VIT_EMBED_DIMS = {
|
| 924 |
+
"vit_base": 768,
|
| 925 |
+
"vit_large": 1024,
|
| 926 |
+
"vit_huge": 1280,
|
| 927 |
+
"vit_giant_xformers": 1408,
|
| 928 |
+
"vit_gigantic_xformers": 1664,
|
| 929 |
+
}
|
| 930 |
+
|
| 931 |
+
ARCH_MAP = {
|
| 932 |
+
"vjepa2_1_vit_base_384": (vit_base, 1),
|
| 933 |
+
"vjepa2_1_vit_large_384": (vit_large, 1),
|
| 934 |
+
"vjepa2_1_vit_giant_384": (vit_giant_xformers, 4),
|
| 935 |
+
"vjepa2_1_vit_gigantic_384": (vit_gigantic_xformers, 4),
|
| 936 |
+
}
|
| 937 |
+
|
| 938 |
+
|
| 939 |
+
class VisionEncoderOutput:
|
| 940 |
+
def __init__(self, last_hidden_state, hidden_states=None):
|
| 941 |
+
self.last_hidden_state = last_hidden_state
|
| 942 |
+
self.hidden_states = hidden_states
|
| 943 |
+
|
| 944 |
+
def __getitem__(self, key):
|
| 945 |
+
return getattr(self, key)
|
| 946 |
+
|
| 947 |
+
def get(self, key, default=None):
|
| 948 |
+
return getattr(self, key, default)
|
| 949 |
+
|
| 950 |
+
|
| 951 |
+
class VJEPA21Encoder(nn.Module):
|
| 952 |
+
def __init__(self, config):
|
| 953 |
+
super().__init__()
|
| 954 |
+
self.config = config
|
| 955 |
+
arch = getattr(config, "arch", "vjepa2_1_vit_large_384")
|
| 956 |
+
img_size = getattr(config, "img_size", 384)
|
| 957 |
+
num_frames = getattr(config, "num_frames", 80)
|
| 958 |
+
n_out = getattr(config, "n_output_distillation", None)
|
| 959 |
+
use_ckpt = getattr(config, "use_activation_checkpointing", False)
|
| 960 |
+
|
| 961 |
+
if arch not in ARCH_MAP:
|
| 962 |
+
raise ValueError(f"Unknown arch '{arch}'. Choose from {list(ARCH_MAP.keys())}")
|
| 963 |
+
factory_fn, default_n_out = ARCH_MAP[arch]
|
| 964 |
+
if n_out is None:
|
| 965 |
+
n_out = default_n_out
|
| 966 |
+
|
| 967 |
+
self.encoder = factory_fn(
|
| 968 |
+
img_size=(img_size, img_size),
|
| 969 |
+
num_frames=num_frames,
|
| 970 |
+
tubelet_size=2,
|
| 971 |
+
use_sdpa=True,
|
| 972 |
+
use_silu=False,
|
| 973 |
+
wide_silu=True,
|
| 974 |
+
uniform_power=False,
|
| 975 |
+
use_rope=True,
|
| 976 |
+
img_temporal_dim_size=1,
|
| 977 |
+
interpolate_rope=True,
|
| 978 |
+
n_output_distillation=n_out,
|
| 979 |
+
use_activation_checkpointing=use_ckpt,
|
| 980 |
+
)
|
| 981 |
+
|
| 982 |
+
self.use_hierarchical = getattr(config, "use_hierarchical", False)
|
| 983 |
+
self.encoder.return_hierarchical = self.use_hierarchical
|
| 984 |
+
|
| 985 |
+
n_levels = len(self.encoder.out_layers_distillation)
|
| 986 |
+
self._hidden_size = self.encoder.embed_dim * n_levels if self.use_hierarchical else self.encoder.embed_dim
|
| 987 |
+
|
| 988 |
+
ckpt_path = getattr(config, "pretrained_checkpoint", None)
|
| 989 |
+
if ckpt_path:
|
| 990 |
+
import os
|
| 991 |
+
|
| 992 |
+
if not os.path.isabs(ckpt_path):
|
| 993 |
+
pretrained_dir = getattr(config, "pretrained_dir", "")
|
| 994 |
+
ckpt_path = os.path.join(pretrained_dir, ckpt_path)
|
| 995 |
+
load_vjepa21_checkpoint(self, ckpt_path)
|
| 996 |
+
|
| 997 |
+
@property
|
| 998 |
+
def hidden_size(self):
|
| 999 |
+
return self._hidden_size
|
| 1000 |
+
|
| 1001 |
+
def gradient_checkpointing_enable(self, gradient_checkpointing_kwargs=None):
|
| 1002 |
+
self.encoder.use_activation_checkpointing = True
|
| 1003 |
+
|
| 1004 |
+
def gradient_checkpointing_disable(self):
|
| 1005 |
+
self.encoder.use_activation_checkpointing = False
|
| 1006 |
+
|
| 1007 |
+
def save_pretrained(self, save_directory, **kwargs):
|
| 1008 |
+
import os
|
| 1009 |
+
|
| 1010 |
+
from safetensors.torch import save_file
|
| 1011 |
+
|
| 1012 |
+
os.makedirs(save_directory, exist_ok=True)
|
| 1013 |
+
|
| 1014 |
+
self.config.save_pretrained(save_directory)
|
| 1015 |
+
|
| 1016 |
+
save_file(self.state_dict(), os.path.join(save_directory, "model.safetensors"))
|
| 1017 |
+
logger.info(f"VJEPA21Encoder saved to {save_directory}")
|
| 1018 |
+
|
| 1019 |
+
def forward(self, pixel_values, output_hidden_states=False, **kwargs):
|
| 1020 |
+
x = pixel_values.permute(0, 2, 1, 3, 4).contiguous()
|
| 1021 |
+
|
| 1022 |
+
if output_hidden_states:
|
| 1023 |
+
if self.encoder.check_temporal_dim(x.shape):
|
| 1024 |
+
x_tok = self.encoder.patch_embed_img(x)
|
| 1025 |
+
if self.encoder.modality_embedding:
|
| 1026 |
+
x_tok = x_tok + self.encoder.img_mod_embed
|
| 1027 |
+
else:
|
| 1028 |
+
x_tok = self.encoder.patch_embed(x)
|
| 1029 |
+
if self.encoder.modality_embedding:
|
| 1030 |
+
x_tok = x_tok + self.encoder.video_mod_embed
|
| 1031 |
+
|
| 1032 |
+
_, _, T, H, W = x.shape
|
| 1033 |
+
T_p = T // (1 if self.encoder.check_temporal_dim(x.shape) else self.encoder.tubelet_size)
|
| 1034 |
+
H_p, W_p = H // self.encoder.patch_size, W // self.encoder.patch_size
|
| 1035 |
+
|
| 1036 |
+
hidden_states = [x_tok]
|
| 1037 |
+
h = x_tok
|
| 1038 |
+
for blk in self.encoder.blocks:
|
| 1039 |
+
h, _ = blk(h, mask=None, T=T_p, H_patches=H_p, W_patches=W_p)
|
| 1040 |
+
hidden_states.append(h)
|
| 1041 |
+
|
| 1042 |
+
if self.use_hierarchical:
|
| 1043 |
+
hier = []
|
| 1044 |
+
for idx in self.encoder.out_layers_distillation:
|
| 1045 |
+
out_idx = self.encoder.hierarchical_layers.index(idx)
|
| 1046 |
+
hier.append(self.encoder.norms_block[out_idx](hidden_states[idx]))
|
| 1047 |
+
features = torch.cat(hier, dim=2)
|
| 1048 |
+
else:
|
| 1049 |
+
features = self.encoder.norms_block[-1](hidden_states[-1])
|
| 1050 |
+
|
| 1051 |
+
return VisionEncoderOutput(last_hidden_state=features, hidden_states=tuple(hidden_states))
|
| 1052 |
+
|
| 1053 |
+
features = self.encoder(x, masks=None, training=self.use_hierarchical and self.training)
|
| 1054 |
+
return VisionEncoderOutput(last_hidden_state=features, hidden_states=None)
|
| 1055 |
+
|
| 1056 |
+
|
| 1057 |
+
def load_vjepa21_checkpoint(model, checkpoint_path, strict=False):
|
| 1058 |
+
import os
|
| 1059 |
+
|
| 1060 |
+
if not os.path.exists(checkpoint_path):
|
| 1061 |
+
raise FileNotFoundError(f"V-JEPA 2.1 checkpoint not found: {checkpoint_path}")
|
| 1062 |
+
|
| 1063 |
+
if os.path.isdir(checkpoint_path):
|
| 1064 |
+
st_file = os.path.join(checkpoint_path, "model.safetensors")
|
| 1065 |
+
if not os.path.exists(st_file):
|
| 1066 |
+
raise FileNotFoundError(f"Directory {checkpoint_path} is missing model.safetensors")
|
| 1067 |
+
from safetensors.torch import load_file
|
| 1068 |
+
|
| 1069 |
+
logger.info(f"Detected VJEPA21Encoder safetensors dir: {checkpoint_path}")
|
| 1070 |
+
state_dict = load_file(st_file)
|
| 1071 |
+
missing, unexpected = model.load_state_dict(state_dict, strict=strict)
|
| 1072 |
+
n_loaded = len(state_dict) - len(unexpected)
|
| 1073 |
+
logger.info(
|
| 1074 |
+
f"V-JEPA 2.1 safetensors loaded: {n_loaded} keys, {len(missing)} missing, {len(unexpected)} unexpected"
|
| 1075 |
+
)
|
| 1076 |
+
if missing:
|
| 1077 |
+
logger.info(f" Missing (first 10): {missing[:10]}")
|
| 1078 |
+
if unexpected:
|
| 1079 |
+
logger.info(f" Unexpected (first 10): {unexpected[:10]}")
|
| 1080 |
+
return model
|
| 1081 |
+
|
| 1082 |
+
state_dict = torch.load(checkpoint_path, map_location="cpu", weights_only=False)
|
| 1083 |
+
|
| 1084 |
+
if "ema_encoder" in state_dict:
|
| 1085 |
+
logger.info("Detected V-JEPA 2.1 format (ema_encoder)")
|
| 1086 |
+
state_dict = state_dict["ema_encoder"]
|
| 1087 |
+
elif "target_encoder" in state_dict:
|
| 1088 |
+
logger.info("Target Encoder only detected")
|
| 1089 |
+
state_dict = state_dict["target_encoder"]
|
| 1090 |
+
elif "model" in state_dict:
|
| 1091 |
+
state_dict = state_dict["model"]
|
| 1092 |
+
|
| 1093 |
+
cleaned = {}
|
| 1094 |
+
for k, v in state_dict.items():
|
| 1095 |
+
cleaned[k.replace("module.", "").replace("backbone.", "")] = v
|
| 1096 |
+
|
| 1097 |
+
mapped = {f"encoder.{k}": v for k, v in cleaned.items()}
|
| 1098 |
+
|
| 1099 |
+
missing, unexpected = model.load_state_dict(mapped, strict=strict)
|
| 1100 |
+
n_loaded = len(mapped) - len(unexpected)
|
| 1101 |
+
logger.info(f"V-JEPA 2.1 loaded: {n_loaded} keys, {len(missing)} missing, {len(unexpected)} unexpected")
|
| 1102 |
+
if missing:
|
| 1103 |
+
logger.info(f" Missing (first 10): {missing[:10]}")
|
| 1104 |
+
if unexpected:
|
| 1105 |
+
logger.info(f" Unexpected (first 10): {unexpected[:10]}")
|
| 1106 |
+
return model
|
vocab.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|