tyzhu commited on
Commit
7f183ae
1 Parent(s): 4930b33

Training in progress, epoch 6, checkpoint

Browse files
checkpoint-1312/adapter_config.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "auto_mapping": null,
3
- "base_model_name_or_path": "Qwen/Qwen1.5-4B",
4
  "bias": "none",
5
  "fan_in_fan_out": false,
6
  "inference_mode": true,
 
1
  {
2
  "auto_mapping": null,
3
+ "base_model_name_or_path": "meta-llama/Llama-2-7b-hf",
4
  "bias": "none",
5
  "fan_in_fan_out": false,
6
  "inference_mode": true,
checkpoint-1312/adapter_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:902a0bfaf7f16bae59d35027b3855673fa0763175a368c73c9cc9726679e02ed
3
+ size 143269386
checkpoint-1312/added_tokens.json CHANGED
@@ -1,5 +1,5 @@
1
  {
2
- "<|endoftext|>": 151643,
3
- "<|im_end|>": 151645,
4
- "<|im_start|>": 151644
5
  }
 
1
  {
2
+ "</s>": 2,
3
+ "<s>": 1,
4
+ "<unk>": 0
5
  }
checkpoint-1312/optimizer.pt CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:3825ff8b930f97c318d10a983bb60fde0f4874e49a5e765d3f0ff069c62bd9dc
3
- size 224537202
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:30ab22943e4ae2a31cfbbf1348ee91e9dd188b0902cd6db44531ab76ac47ebe0
3
+ size 286585234
checkpoint-1312/rng_state_0.pth CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:d894975494ee995790df6f1939a748282a440a9e2edf7b2ece08d18726db57b1
3
  size 15024
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:673637d6f9be228678a509c7b5666590a8c9d04e7ccab584752427e997bd3d2a
3
  size 15024
checkpoint-1312/rng_state_1.pth CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:7f93abb626d9a0975072f556c075c9d2daa51720816ef62a77bd9bcac5ea0158
3
  size 15024
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fe3f6962ef0507f254af005b5a501a46bec78691385c7e14d0ea34c9ae9f73f3
3
  size 15024
checkpoint-1312/rng_state_2.pth CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:23329dd8b199240fef9f8e8be2f6693c0269bb5933f8664d59192efbd076f1dd
3
  size 15024
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b983138ed2deae7ba7e0e85e2e8440ff0c5187cc02e9aa86639bf98078409666
3
  size 15024
checkpoint-1312/rng_state_3.pth CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2076f60c55543eb62840db8d4577b4b4492593f7ceead547ff0c13e920c1a588
3
  size 15024
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c243574d3fcedd81f1eb18b2a12861db402bdbdbe12e1bdeb8d68bc1d7eefbad
3
  size 15024
checkpoint-1312/special_tokens_map.json CHANGED
@@ -1,14 +1,6 @@
1
  {
2
- "additional_special_tokens": [
3
- "<|im_start|>",
4
- "<|im_end|>"
5
- ],
6
- "eos_token": {
7
- "content": "<|endoftext|>",
8
- "lstrip": false,
9
- "normalized": false,
10
- "rstrip": false,
11
- "single_word": false
12
- },
13
- "pad_token": "<|endoftext|>"
14
  }
 
1
  {
2
+ "bos_token": "<s>",
3
+ "eos_token": "</s>",
4
+ "pad_token": "</s>",
5
+ "unk_token": "<unk>"
 
 
 
 
 
 
 
 
6
  }
checkpoint-1312/tokenizer.json CHANGED
The diff for this file is too large to render. See raw diff
 
checkpoint-1312/tokenizer.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9e556afd44213b6bd1be2b850ebbbd98f5481437a8021afaf58ee7fb1818d347
3
+ size 499723
checkpoint-1312/tokenizer_config.json CHANGED
@@ -1,24 +1,23 @@
1
  {
2
- "add_prefix_space": false,
3
  "added_tokens_decoder": {
4
- "151643": {
5
- "content": "<|endoftext|>",
6
  "lstrip": false,
7
  "normalized": false,
8
  "rstrip": false,
9
  "single_word": false,
10
  "special": true
11
  },
12
- "151644": {
13
- "content": "<|im_start|>",
14
  "lstrip": false,
15
  "normalized": false,
16
  "rstrip": false,
17
  "single_word": false,
18
  "special": true
19
  },
20
- "151645": {
21
- "content": "<|im_end|>",
22
  "lstrip": false,
23
  "normalized": false,
24
  "rstrip": false,
@@ -26,18 +25,16 @@
26
  "special": true
27
  }
28
  },
29
- "additional_special_tokens": [
30
- "<|im_start|>",
31
- "<|im_end|>"
32
- ],
33
- "bos_token": null,
34
- "chat_template": "{% for message in messages %}{% if loop.first and messages[0]['role'] != 'system' %}{{ '<|im_start|>system\nYou are a helpful assistant<|im_end|>\n' }}{% endif %}{{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant\n' }}{% endif %}",
35
  "clean_up_tokenization_spaces": false,
36
- "eos_token": "<|endoftext|>",
37
- "errors": "replace",
38
- "model_max_length": 32768,
39
- "pad_token": "<|endoftext|>",
40
- "split_special_tokens": false,
41
- "tokenizer_class": "Qwen2Tokenizer",
42
- "unk_token": null
 
 
43
  }
 
1
  {
 
2
  "added_tokens_decoder": {
3
+ "0": {
4
+ "content": "<unk>",
5
  "lstrip": false,
6
  "normalized": false,
7
  "rstrip": false,
8
  "single_word": false,
9
  "special": true
10
  },
11
+ "1": {
12
+ "content": "<s>",
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,
 
25
  "special": true
26
  }
27
  },
28
+ "additional_special_tokens": [],
29
+ "bos_token": "<s>",
 
 
 
 
30
  "clean_up_tokenization_spaces": false,
31
+ "eos_token": "</s>",
32
+ "legacy": false,
33
+ "model_max_length": 1000000000000000019884624838656,
34
+ "pad_token": "</s>",
35
+ "padding_side": "left",
36
+ "sp_model_kwargs": {},
37
+ "tokenizer_class": "LlamaTokenizer",
38
+ "unk_token": "<unk>",
39
+ "use_default_system_prompt": true
40
  }
checkpoint-1312/trainer_state.json CHANGED
@@ -9,249 +9,222 @@
9
  "is_world_process_zero": true,
10
  "log_history": [
11
  {
12
- "epoch": 0.5333333333333333,
13
- "grad_norm": 0.271308958530426,
14
  "learning_rate": 5e-05,
15
- "loss": 1.8262,
16
  "step": 100
17
  },
18
  {
19
- "epoch": 0.9973333333333333,
20
- "eval_accuracy": 0.6047174887892377,
21
- "eval_loss": 1.7027028799057007,
22
- "eval_runtime": 6.6338,
23
- "eval_samples_per_second": 75.372,
24
- "eval_steps_per_second": 9.497,
25
  "step": 187
26
  },
27
  {
28
- "epoch": 0.9973333333333333,
29
- "eval_exact_match": 14.6,
30
- "eval_f1": 23.665714285714298,
31
- "eval_qa_bleu": 10.24028390049623,
32
- "eval_qa_exact_match": 0.114,
33
- "eval_recite_bleu": 12.525534079250063,
34
  "eval_recite_exact_match": 0.0,
35
  "step": 187
36
  },
37
  {
38
- "epoch": 1.0666666666666667,
39
- "grad_norm": 0.301651269197464,
40
  "learning_rate": 5e-05,
41
- "loss": 1.7424,
42
  "step": 200
43
  },
44
  {
45
  "epoch": 1.6,
46
- "grad_norm": 0.35949045419692993,
47
  "learning_rate": 5e-05,
48
- "loss": 1.6978,
49
  "step": 300
50
  },
51
  {
52
  "epoch": 2.0,
53
- "eval_accuracy": 0.6068699551569506,
54
- "eval_loss": 1.6845285892486572,
55
- "eval_runtime": 5.7524,
56
- "eval_samples_per_second": 86.92,
57
- "eval_steps_per_second": 10.952,
58
  "step": 375
59
  },
60
  {
61
  "epoch": 2.0,
62
- "eval_exact_match": 14.6,
63
- "eval_f1": 23.74190476190477,
64
- "eval_qa_bleu": 9.70432698897927,
65
- "eval_qa_exact_match": 0.114,
66
- "eval_recite_bleu": 13.014822566317982,
67
- "eval_recite_exact_match": 0.006,
68
  "step": 375
69
  },
70
  {
71
- "epoch": 2.1333333333333333,
72
- "grad_norm": 0.41301965713500977,
73
  "learning_rate": 5e-05,
74
- "loss": 1.694,
75
  "step": 400
76
  },
77
  {
78
- "epoch": 2.6666666666666665,
79
- "grad_norm": 0.5057485699653625,
80
  "learning_rate": 5e-05,
81
- "loss": 1.6324,
82
  "step": 500
83
  },
84
  {
85
- "epoch": 2.997333333333333,
86
- "eval_accuracy": 0.6079551569506726,
87
- "eval_loss": 1.6851012706756592,
88
- "eval_runtime": 5.5314,
89
- "eval_samples_per_second": 90.394,
90
- "eval_steps_per_second": 11.39,
91
  "step": 562
92
  },
93
  {
94
- "epoch": 2.997333333333333,
95
- "eval_exact_match": 14.2,
96
- "eval_f1": 23.29190476190477,
97
- "eval_qa_bleu": 10.724307586340888,
98
- "eval_qa_exact_match": 0.104,
99
- "eval_recite_bleu": 12.83531066630853,
100
- "eval_recite_exact_match": 0.004,
101
  "step": 562
102
  },
103
  {
104
  "epoch": 3.2,
105
- "grad_norm": 0.6363334655761719,
106
  "learning_rate": 5e-05,
107
- "loss": 1.6063,
108
  "step": 600
109
  },
110
  {
111
- "epoch": 3.7333333333333334,
112
- "grad_norm": 0.6466453671455383,
113
  "learning_rate": 5e-05,
114
- "loss": 1.5562,
115
  "step": 700
116
  },
117
  {
118
  "epoch": 4.0,
119
- "eval_accuracy": 0.6071121076233184,
120
- "eval_loss": 1.6969172954559326,
121
- "eval_runtime": 6.2612,
122
- "eval_samples_per_second": 79.857,
123
- "eval_steps_per_second": 10.062,
124
  "step": 750
125
  },
126
  {
127
  "epoch": 4.0,
128
- "eval_exact_match": 14.0,
129
- "eval_f1": 21.34333333333334,
130
- "eval_qa_bleu": 10.250340106635626,
131
- "eval_qa_exact_match": 0.084,
132
- "eval_recite_bleu": 12.741830585824024,
133
- "eval_recite_exact_match": 0.004,
134
  "step": 750
135
  },
136
  {
137
- "epoch": 4.266666666666667,
138
- "grad_norm": 0.8162885904312134,
139
  "learning_rate": 5e-05,
140
- "loss": 1.5052,
141
  "step": 800
142
  },
143
  {
144
  "epoch": 4.8,
145
- "grad_norm": 0.8799439072608948,
146
  "learning_rate": 5e-05,
147
- "loss": 1.469,
148
  "step": 900
149
  },
150
  {
151
- "epoch": 4.997333333333334,
152
- "eval_accuracy": 0.6059282511210762,
153
- "eval_loss": 1.7216957807540894,
154
- "eval_runtime": 6.3012,
155
- "eval_samples_per_second": 79.35,
156
- "eval_steps_per_second": 9.998,
157
  "step": 937
158
  },
159
  {
160
- "epoch": 4.997333333333334,
161
- "eval_exact_match": 12.6,
162
- "eval_f1": 21.041428571428575,
163
- "eval_qa_bleu": 8.239984727774104,
164
- "eval_qa_exact_match": 0.094,
165
- "eval_recite_bleu": 12.327373697720192,
166
- "eval_recite_exact_match": 0.002,
167
  "step": 937
168
  },
169
  {
170
- "epoch": 5.333333333333333,
171
- "grad_norm": 0.9834449291229248,
172
  "learning_rate": 5e-05,
173
- "loss": 1.3845,
174
  "step": 1000
175
  },
176
  {
177
- "epoch": 5.866666666666667,
178
- "grad_norm": 0.9377098679542542,
179
  "learning_rate": 5e-05,
180
- "loss": 1.3927,
181
  "step": 1100
182
  },
183
  {
184
  "epoch": 6.0,
185
- "eval_accuracy": 0.6047354260089686,
186
- "eval_loss": 1.7564114332199097,
187
- "eval_runtime": 6.3447,
188
- "eval_samples_per_second": 78.806,
189
- "eval_steps_per_second": 9.93,
190
  "step": 1125
191
  },
192
  {
193
  "epoch": 6.0,
194
- "eval_exact_match": 13.4,
195
- "eval_f1": 21.70317460317461,
196
- "eval_qa_bleu": 10.522554916579404,
197
- "eval_qa_exact_match": 0.104,
198
- "eval_recite_bleu": 12.383604385812577,
199
- "eval_recite_exact_match": 0.006,
200
  "step": 1125
201
  },
202
  {
203
  "epoch": 6.4,
204
- "grad_norm": 1.1172072887420654,
205
  "learning_rate": 5e-05,
206
- "loss": 1.2924,
207
  "step": 1200
208
  },
209
  {
210
- "epoch": 6.933333333333334,
211
- "grad_norm": 1.0980473756790161,
212
  "learning_rate": 5e-05,
213
- "loss": 1.286,
214
  "step": 1300
215
  },
216
  {
217
- "epoch": 6.997333333333334,
218
- "eval_accuracy": 0.6026995515695067,
219
- "eval_loss": 1.7977122068405151,
220
- "eval_runtime": 5.9021,
221
- "eval_samples_per_second": 84.716,
222
- "eval_steps_per_second": 10.674,
223
  "step": 1312
224
  },
225
  {
226
- "epoch": 6.997333333333334,
227
- "eval_exact_match": 12.0,
228
- "eval_f1": 20.07142857142858,
229
- "eval_qa_bleu": 9.89685444999411,
230
- "eval_qa_exact_match": 0.102,
231
- "eval_recite_bleu": 12.555118604776576,
232
- "eval_recite_exact_match": 0.008,
233
  "step": 1312
234
  }
235
  ],
236
  "logging_steps": 100,
237
  "max_steps": 9350,
238
- "num_input_tokens_seen": 0,
239
  "num_train_epochs": 50,
240
  "save_steps": 500,
241
- "stateful_callbacks": {
242
- "TrainerControl": {
243
- "args": {
244
- "should_epoch_stop": false,
245
- "should_evaluate": false,
246
- "should_log": false,
247
- "should_save": true,
248
- "should_training_stop": false
249
- },
250
- "attributes": {}
251
- }
252
- },
253
- "total_flos": 1.3220581835014144e+17,
254
- "train_batch_size": 1,
255
  "trial_name": null,
256
  "trial_params": null
257
  }
 
9
  "is_world_process_zero": true,
10
  "log_history": [
11
  {
12
+ "epoch": 0.53,
 
13
  "learning_rate": 5e-05,
14
+ "loss": 1.3988,
15
  "step": 100
16
  },
17
  {
18
+ "epoch": 1.0,
19
+ "eval_accuracy": 0.6660784313725491,
20
+ "eval_loss": 1.2107256650924683,
21
+ "eval_runtime": 7.728,
22
+ "eval_samples_per_second": 64.7,
23
+ "eval_steps_per_second": 8.152,
24
  "step": 187
25
  },
26
  {
27
+ "epoch": 1.0,
28
+ "eval_exact_match": 19.4,
29
+ "eval_f1": 27.911959489312448,
30
+ "eval_qa_bleu": 2.842200543476061,
31
+ "eval_qa_exact_match": 0.152,
32
+ "eval_recite_bleu": 12.149078895446083,
33
  "eval_recite_exact_match": 0.0,
34
  "step": 187
35
  },
36
  {
37
+ "epoch": 1.07,
 
38
  "learning_rate": 5e-05,
39
+ "loss": 1.238,
40
  "step": 200
41
  },
42
  {
43
  "epoch": 1.6,
 
44
  "learning_rate": 5e-05,
45
+ "loss": 1.1977,
46
  "step": 300
47
  },
48
  {
49
  "epoch": 2.0,
50
+ "eval_accuracy": 0.6676078431372549,
51
+ "eval_loss": 1.1987448930740356,
52
+ "eval_runtime": 7.4628,
53
+ "eval_samples_per_second": 66.999,
54
+ "eval_steps_per_second": 8.442,
55
  "step": 375
56
  },
57
  {
58
  "epoch": 2.0,
59
+ "eval_exact_match": 21.4,
60
+ "eval_f1": 27.979969946667268,
61
+ "eval_qa_bleu": 3.4273838915653356,
62
+ "eval_qa_exact_match": 0.158,
63
+ "eval_recite_bleu": 11.474877690710539,
64
+ "eval_recite_exact_match": 0.0,
65
  "step": 375
66
  },
67
  {
68
+ "epoch": 2.13,
 
69
  "learning_rate": 5e-05,
70
+ "loss": 1.1628,
71
  "step": 400
72
  },
73
  {
74
+ "epoch": 2.67,
 
75
  "learning_rate": 5e-05,
76
+ "loss": 1.1458,
77
  "step": 500
78
  },
79
  {
80
+ "epoch": 3.0,
81
+ "eval_accuracy": 0.6675764705882353,
82
+ "eval_loss": 1.1964411735534668,
83
+ "eval_runtime": 6.6677,
84
+ "eval_samples_per_second": 74.988,
85
+ "eval_steps_per_second": 9.448,
86
  "step": 562
87
  },
88
  {
89
+ "epoch": 3.0,
90
+ "eval_exact_match": 23.4,
91
+ "eval_f1": 31.525761083856903,
92
+ "eval_qa_bleu": 2.0606924929592334,
93
+ "eval_qa_exact_match": 0.17,
94
+ "eval_recite_bleu": 12.027903845545522,
95
+ "eval_recite_exact_match": 0.0,
96
  "step": 562
97
  },
98
  {
99
  "epoch": 3.2,
 
100
  "learning_rate": 5e-05,
101
+ "loss": 1.1179,
102
  "step": 600
103
  },
104
  {
105
+ "epoch": 3.73,
 
106
  "learning_rate": 5e-05,
107
+ "loss": 1.0707,
108
  "step": 700
109
  },
110
  {
111
  "epoch": 4.0,
112
+ "eval_accuracy": 0.6665960784313726,
113
+ "eval_loss": 1.208784580230713,
114
+ "eval_runtime": 6.6546,
115
+ "eval_samples_per_second": 75.136,
116
+ "eval_steps_per_second": 9.467,
117
  "step": 750
118
  },
119
  {
120
  "epoch": 4.0,
121
+ "eval_exact_match": 23.4,
122
+ "eval_f1": 33.18893657873498,
123
+ "eval_qa_bleu": 3.8183981024520506,
124
+ "eval_qa_exact_match": 0.176,
125
+ "eval_recite_bleu": 14.071857337313705,
126
+ "eval_recite_exact_match": 0.0,
127
  "step": 750
128
  },
129
  {
130
+ "epoch": 4.27,
 
131
  "learning_rate": 5e-05,
132
+ "loss": 1.0179,
133
  "step": 800
134
  },
135
  {
136
  "epoch": 4.8,
 
137
  "learning_rate": 5e-05,
138
+ "loss": 1.0066,
139
  "step": 900
140
  },
141
  {
142
+ "epoch": 5.0,
143
+ "eval_accuracy": 0.6651764705882353,
144
+ "eval_loss": 1.2342489957809448,
145
+ "eval_runtime": 6.699,
146
+ "eval_samples_per_second": 74.638,
147
+ "eval_steps_per_second": 9.404,
148
  "step": 937
149
  },
150
  {
151
+ "epoch": 5.0,
152
+ "eval_exact_match": 24.0,
153
+ "eval_f1": 32.88692081962977,
154
+ "eval_qa_bleu": 3.6747877275980905,
155
+ "eval_qa_exact_match": 0.174,
156
+ "eval_recite_bleu": 14.36158051041567,
157
+ "eval_recite_exact_match": 0.006,
158
  "step": 937
159
  },
160
  {
161
+ "epoch": 5.33,
 
162
  "learning_rate": 5e-05,
163
+ "loss": 0.9595,
164
  "step": 1000
165
  },
166
  {
167
+ "epoch": 5.87,
 
168
  "learning_rate": 5e-05,
169
+ "loss": 0.9353,
170
  "step": 1100
171
  },
172
  {
173
  "epoch": 6.0,
174
+ "eval_accuracy": 0.6628392156862745,
175
+ "eval_loss": 1.2645816802978516,
176
+ "eval_runtime": 7.4539,
177
+ "eval_samples_per_second": 67.079,
178
+ "eval_steps_per_second": 8.452,
179
  "step": 1125
180
  },
181
  {
182
  "epoch": 6.0,
183
+ "eval_exact_match": 23.4,
184
+ "eval_f1": 33.50380952380953,
185
+ "eval_qa_bleu": 13.968612067397348,
186
+ "eval_qa_exact_match": 0.168,
187
+ "eval_recite_bleu": 15.026821124315997,
188
+ "eval_recite_exact_match": 0.012,
189
  "step": 1125
190
  },
191
  {
192
  "epoch": 6.4,
 
193
  "learning_rate": 5e-05,
194
+ "loss": 0.8774,
195
  "step": 1200
196
  },
197
  {
198
+ "epoch": 6.93,
 
199
  "learning_rate": 5e-05,
200
+ "loss": 0.8629,
201
  "step": 1300
202
  },
203
  {
204
+ "epoch": 7.0,
205
+ "eval_accuracy": 0.6617333333333333,
206
+ "eval_loss": 1.2990769147872925,
207
+ "eval_runtime": 6.6963,
208
+ "eval_samples_per_second": 74.668,
209
+ "eval_steps_per_second": 9.408,
210
  "step": 1312
211
  },
212
  {
213
+ "epoch": 7.0,
214
+ "eval_exact_match": 22.0,
215
+ "eval_f1": 31.8904761904762,
216
+ "eval_qa_bleu": 15.632357578213835,
217
+ "eval_qa_exact_match": 0.166,
218
+ "eval_recite_bleu": 14.318212267740977,
219
+ "eval_recite_exact_match": 0.016,
220
  "step": 1312
221
  }
222
  ],
223
  "logging_steps": 100,
224
  "max_steps": 9350,
 
225
  "num_train_epochs": 50,
226
  "save_steps": 500,
227
+ "total_flos": 3.041325183349555e+17,
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  "trial_name": null,
229
  "trial_params": null
230
  }
checkpoint-1312/training_args.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:01f9f0dc44c57fb44afb03320f4d02bf48066009e3bbcd96d8e4377b0171c5a5
3
- size 5304
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ae9143de0ad8fd0f027f30f757d262a6e02edc4ceeaea2c21697f4f44b5b1eeb
3
+ size 4728