Skip to content

Commit a3b486a

Browse files
Results from R50 GH action on macos-latest
1 parent b21580c commit a3b486a

File tree

10 files changed

+240
-240
lines changed

10 files changed

+240
-240
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
| Model | Scenario | Accuracy | Throughput | Latency (in ms) |
2-
|-----------|------------|------------|--------------|-------------------|
3-
| retinanet | offline | 76.951 | 0.438 | - |
1+
| Model | Scenario | Accuracy | Throughput | Latency (in ms) |
2+
|----------|------------|------------|--------------|-------------------|
3+
| resnet50 | offline | 76 | 21.954 | - |

open/MLCommons/measurements/gh_macos-latest_x86-reference-cpu-onnxruntime_v1.19.2-default_config/resnet50/offline/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ pip install -U cmind
1818

1919
cm rm cache -f
2020

21-
cm pull repo anandhu-eng@cm4mlops --checkout=b351b11b5f04f0f2898c63f6543c250ed2089d0b
21+
cm pull repo anandhu-eng@cm4mlops --checkout=9ebb6b2c63c621dc229c047750a3c8be872e2ad0
2222

2323
cm run script \
2424
--tags=run-mlperf,inference,_submission,_short \
@@ -54,4 +54,4 @@ Model Precision: fp32
5454
`acc`: `76.0`, Required accuracy for closed division `>= 75.6954`
5555

5656
### Performance Results
57-
`Samples per second`: `22.4642`
57+
`Samples per second`: `21.9543`

open/MLCommons/measurements/gh_macos-latest_x86-reference-cpu-onnxruntime_v1.19.2-default_config/resnet50/offline/cm-version-info.json

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@
127127
"script_tags": "detect-os,detect,os,info",
128128
"script_variations": "",
129129
"version": "",
130-
"parent": "extract-file,3f0b76219d004817 ( path./Users/runner/CM/repos/local/cache/c0dedae7d8c94430/caffe_ilsvrc12.tar.gz )"
130+
"parent": "extract-file,3f0b76219d004817 ( path./Users/runner/CM/repos/local/cache/360b0f632a0f4b5a/caffe_ilsvrc12.tar.gz )"
131131
}
132132
},
133133
{
@@ -137,15 +137,15 @@
137137
"script_tags": "get,sys-util,generic,generic-sys-util",
138138
"script_variations": "md5sha1sum",
139139
"version": "undetected",
140-
"parent": "extract-file,3f0b76219d004817 ( path./Users/runner/CM/repos/local/cache/c0dedae7d8c94430/caffe_ilsvrc12.tar.gz )"
140+
"parent": "extract-file,3f0b76219d004817 ( path./Users/runner/CM/repos/local/cache/360b0f632a0f4b5a/caffe_ilsvrc12.tar.gz )"
141141
}
142142
},
143143
{
144-
"extract,file,_path./Users/runner/CM/repos/local/cache/c0dedae7d8c94430/caffe_ilsvrc12.tar.gz": {
144+
"extract,file,_path./Users/runner/CM/repos/local/cache/360b0f632a0f4b5a/caffe_ilsvrc12.tar.gz": {
145145
"script_uid": "3f0b76219d004817",
146146
"script_alias": "extract-file",
147147
"script_tags": "extract,file",
148-
"script_variations": "path./Users/runner/CM/repos/local/cache/c0dedae7d8c94430/caffe_ilsvrc12.tar.gz",
148+
"script_variations": "path./Users/runner/CM/repos/local/cache/360b0f632a0f4b5a/caffe_ilsvrc12.tar.gz",
149149
"version": "",
150150
"parent": "download-and-extract,c67e81a4ce2649f5 ( extract,_wget,_url.https://www.dropbox.com/s/92n2fyej3lzy3s3/caffe_ilsvrc12.tar.gz )"
151151
}
@@ -177,7 +177,7 @@
177177
"script_tags": "detect-os,detect,os,info",
178178
"script_variations": "",
179179
"version": "",
180-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
180+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
181181
}
182182
},
183183
{
@@ -197,7 +197,7 @@
197197
"script_tags": "detect,cpu,detect-cpu,info",
198198
"script_variations": "",
199199
"version": "",
200-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
200+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
201201
}
202202
},
203203
{
@@ -217,7 +217,7 @@
217217
"script_tags": "get,python,python3,get-python,get-python3",
218218
"script_variations": "",
219219
"version": "3.12.6",
220-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
220+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
221221
}
222222
},
223223
{
@@ -277,7 +277,7 @@
277277
"script_tags": "get,install,generic,generic-python-lib",
278278
"script_variations": "onnxruntime",
279279
"version": "1.19.2",
280-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
280+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
281281
}
282282
},
283283
{
@@ -327,7 +327,7 @@
327327
"script_tags": "get,raw,ml-model,resnet50,ml-model-resnet50,image-classification",
328328
"script_variations": "onnx,fp32",
329329
"version": "",
330-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
330+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
331331
}
332332
},
333333
{
@@ -387,7 +387,7 @@
387387
"script_tags": "detect-os,detect,os,info",
388388
"script_variations": "",
389389
"version": "",
390-
"parent": "extract-file,3f0b76219d004817 ( path./Users/runner/CM/repos/local/cache/071d0fa84de94a5b/ILSVRC2012_img_val_500.tar )"
390+
"parent": "extract-file,3f0b76219d004817 ( path./Users/runner/CM/repos/local/cache/fa44c76b167f4611/ILSVRC2012_img_val_500.tar )"
391391
}
392392
},
393393
{
@@ -397,15 +397,15 @@
397397
"script_tags": "get,sys-util,generic,generic-sys-util",
398398
"script_variations": "md5sha1sum",
399399
"version": "undetected",
400-
"parent": "extract-file,3f0b76219d004817 ( path./Users/runner/CM/repos/local/cache/071d0fa84de94a5b/ILSVRC2012_img_val_500.tar )"
400+
"parent": "extract-file,3f0b76219d004817 ( path./Users/runner/CM/repos/local/cache/fa44c76b167f4611/ILSVRC2012_img_val_500.tar )"
401401
}
402402
},
403403
{
404-
"extract,file,_path./Users/runner/CM/repos/local/cache/071d0fa84de94a5b/ILSVRC2012_img_val_500.tar": {
404+
"extract,file,_path./Users/runner/CM/repos/local/cache/fa44c76b167f4611/ILSVRC2012_img_val_500.tar": {
405405
"script_uid": "3f0b76219d004817",
406406
"script_alias": "extract-file",
407407
"script_tags": "extract,file",
408-
"script_variations": "path./Users/runner/CM/repos/local/cache/071d0fa84de94a5b/ILSVRC2012_img_val_500.tar",
408+
"script_variations": "path./Users/runner/CM/repos/local/cache/fa44c76b167f4611/ILSVRC2012_img_val_500.tar",
409409
"version": "",
410410
"parent": "download-and-extract,c67e81a4ce2649f5 ( extract,_url.http://cKnowledge.org/ai/data/ILSVRC2012_img_val_500.tar )"
411411
}
@@ -577,7 +577,7 @@
577577
"script_tags": "get,dataset,imagenet,ILSVRC,image-classification,preprocessed",
578578
"script_variations": "NCHW",
579579
"version": "",
580-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
580+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
581581
}
582582
},
583583
{
@@ -587,7 +587,7 @@
587587
"script_tags": "get,aux,dataset-aux,image-classification,imagenet-aux",
588588
"script_variations": "",
589589
"version": "",
590-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
590+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
591591
}
592592
},
593593
{
@@ -667,7 +667,7 @@
667667
"script_tags": "generate,mlperf,inference,user-conf,inference-user-conf",
668668
"script_variations": "",
669669
"version": "",
670-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
670+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
671671
}
672672
},
673673
{
@@ -967,7 +967,7 @@
967967
"script_tags": "get,loadgen,inference,inference-loadgen,mlperf,mlcommons",
968968
"script_variations": "",
969969
"version": "master",
970-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
970+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
971971
}
972972
},
973973
{
@@ -977,7 +977,7 @@
977977
"script_tags": "get,src,source,inference,inference-src,inference-source,mlperf,mlcommons",
978978
"script_variations": "",
979979
"version": "master-git-41fa8aadd1ba0ecc97f6a519d8b42b04278e5f24",
980-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
980+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
981981
}
982982
},
983983
{
@@ -987,7 +987,7 @@
987987
"script_tags": "get,src,source,inference,inference-src,inference-source,mlperf,mlcommons",
988988
"script_variations": "",
989989
"version": "master-git-41fa8aadd1ba0ecc97f6a519d8b42b04278e5f24",
990-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
990+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
991991
}
992992
},
993993
{
@@ -1047,7 +1047,7 @@
10471047
"script_tags": "get,install,generic,generic-python-lib",
10481048
"script_variations": "package.psutil",
10491049
"version": "6.0.0",
1050-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
1050+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
10511051
}
10521052
},
10531053
{
@@ -1107,7 +1107,7 @@
11071107
"script_tags": "get,install,generic,generic-python-lib",
11081108
"script_variations": "opencv-python",
11091109
"version": "4.10.0.84",
1110-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
1110+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
11111111
}
11121112
},
11131113
{
@@ -1167,7 +1167,7 @@
11671167
"script_tags": "get,install,generic,generic-python-lib",
11681168
"script_variations": "numpy",
11691169
"version": "1.26.4",
1170-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
1170+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
11711171
}
11721172
},
11731173
{
@@ -1227,7 +1227,7 @@
12271227
"script_tags": "get,install,generic,generic-python-lib",
12281228
"script_variations": "pycocotools",
12291229
"version": "2.0.8",
1230-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
1230+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
12311231
}
12321232
},
12331233
{
@@ -1267,7 +1267,7 @@
12671267
"script_tags": "mlperf,benchmark-mlperf",
12681268
"script_variations": "",
12691269
"version": "",
1270-
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( resnet50,_onnxruntime,_cpu,_offline,_fp32 )"
1270+
"parent": "app-mlperf-inference-mlcommons-python,ff149e9781fc4b65 ( cpu,_resnet50,_onnxruntime,_offline,_fp32 )"
12711271
}
12721272
}
12731273
]

open/MLCommons/measurements/gh_macos-latest_x86-reference-cpu-onnxruntime_v1.19.2-default_config/resnet50/offline/os_info.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@
1010
"CM_HOST_OS_PACKAGE_MANAGER_UPDATE_CMD": "brew update",
1111
"CM_HOST_PLATFORM_FLAVOR": "arm64",
1212
"CM_HOST_PYTHON_BITS": "64",
13-
"CM_HOST_SYSTEM_NAME": "Mac-1728233602111.local"
13+
"CM_HOST_SYSTEM_NAME": "Mac-1728234475799.local"
1414
}
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
accuracy=76.000%, good=380, total=500
2-
hash=75829ae296594da5fe9fdf31a2d8b287c7c15a19a4d908124bda326bac98df46
2+
hash=a8f1075b1c52c60066530f9d306d88b7d9360bded201c2dd6e0d1f6a478da073

open/MLCommons/results/gh_macos-latest_x86-reference-cpu-onnxruntime_v1.19.2-default_config/resnet50/offline/accuracy/mlperf_log_accuracy.json

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
11
[
2-
{ "seq_id" : 64, "qsl_idx" : 278, "data" : "00001B43" },
3-
{ "seq_id" : 65, "qsl_idx" : 232, "data" : "00809043" },
4-
{ "seq_id" : 66, "qsl_idx" : 18, "data" : "0000EF43" },
5-
{ "seq_id" : 67, "qsl_idx" : 389, "data" : "00000543" },
6-
{ "seq_id" : 68, "qsl_idx" : 125, "data" : "0080E443" },
7-
{ "seq_id" : 69, "qsl_idx" : 67, "data" : "00C05D44" },
8-
{ "seq_id" : 70, "qsl_idx" : 465, "data" : "0000C842" },
9-
{ "seq_id" : 71, "qsl_idx" : 251, "data" : "0080E343" },
10-
{ "seq_id" : 72, "qsl_idx" : 95, "data" : "00403044" },
11-
{ "seq_id" : 73, "qsl_idx" : 116, "data" : "00801F44" },
12-
{ "seq_id" : 74, "qsl_idx" : 37, "data" : "0000C743" },
13-
{ "seq_id" : 75, "qsl_idx" : 137, "data" : "0000A443" },
14-
{ "seq_id" : 76, "qsl_idx" : 362, "data" : "00000543" },
15-
{ "seq_id" : 77, "qsl_idx" : 304, "data" : "00C01344" },
16-
{ "seq_id" : 78, "qsl_idx" : 399, "data" : "00C07044" },
17-
{ "seq_id" : 79, "qsl_idx" : 144, "data" : "00407444" },
18-
{ "seq_id" : 80, "qsl_idx" : 470, "data" : "00001C42" },
19-
{ "seq_id" : 81, "qsl_idx" : 442, "data" : "00806C44" },
20-
{ "seq_id" : 82, "qsl_idx" : 401, "data" : "00C05944" },
21-
{ "seq_id" : 83, "qsl_idx" : 143, "data" : "00803544" },
22-
{ "seq_id" : 84, "qsl_idx" : 485, "data" : "0000BA43" },
23-
{ "seq_id" : 85, "qsl_idx" : 351, "data" : "0080ED43" },
24-
{ "seq_id" : 86, "qsl_idx" : 296, "data" : "00002C42" },
25-
{ "seq_id" : 87, "qsl_idx" : 385, "data" : "0000D642" },
26-
{ "seq_id" : 88, "qsl_idx" : 369, "data" : "0000B642" },
27-
{ "seq_id" : 89, "qsl_idx" : 489, "data" : "00C06444" },
28-
{ "seq_id" : 90, "qsl_idx" : 256, "data" : "00801344" },
29-
{ "seq_id" : 91, "qsl_idx" : 231, "data" : "0080C743" },
30-
{ "seq_id" : 92, "qsl_idx" : 214, "data" : "0080ED43" },
31-
{ "seq_id" : 93, "qsl_idx" : 367, "data" : "00403944" },
32-
{ "seq_id" : 94, "qsl_idx" : 87, "data" : "0000E041" },
33-
{ "seq_id" : 95, "qsl_idx" : 277, "data" : "0000B842" },
2+
{ "seq_id" : 32, "qsl_idx" : 454, "data" : "00004544" },
3+
{ "seq_id" : 33, "qsl_idx" : 321, "data" : "0080B443" },
4+
{ "seq_id" : 34, "qsl_idx" : 462, "data" : "00C06B44" },
5+
{ "seq_id" : 35, "qsl_idx" : 204, "data" : "0080F043" },
6+
{ "seq_id" : 36, "qsl_idx" : 341, "data" : "00809843" },
7+
{ "seq_id" : 37, "qsl_idx" : 82, "data" : "00004544" },
8+
{ "seq_id" : 38, "qsl_idx" : 446, "data" : "0080B443" },
9+
{ "seq_id" : 39, "qsl_idx" : 257, "data" : "0000D841" },
10+
{ "seq_id" : 40, "qsl_idx" : 101, "data" : "00001F43" },
11+
{ "seq_id" : 41, "qsl_idx" : 172, "data" : "00C02444" },
12+
{ "seq_id" : 42, "qsl_idx" : 109, "data" : "00405144" },
13+
{ "seq_id" : 43, "qsl_idx" : 102, "data" : "00005A44" },
14+
{ "seq_id" : 44, "qsl_idx" : 420, "data" : "00403F44" },
15+
{ "seq_id" : 45, "qsl_idx" : 289, "data" : "00804E44" },
16+
{ "seq_id" : 46, "qsl_idx" : 435, "data" : "00004443" },
17+
{ "seq_id" : 47, "qsl_idx" : 234, "data" : "00407344" },
18+
{ "seq_id" : 48, "qsl_idx" : 120, "data" : "0080E043" },
19+
{ "seq_id" : 49, "qsl_idx" : 436, "data" : "00006444" },
20+
{ "seq_id" : 50, "qsl_idx" : 400, "data" : "0080B343" },
21+
{ "seq_id" : 51, "qsl_idx" : 20, "data" : "0000A743" },
22+
{ "seq_id" : 52, "qsl_idx" : 356, "data" : "00C01C44" },
23+
{ "seq_id" : 53, "qsl_idx" : 136, "data" : "00402844" },
24+
{ "seq_id" : 54, "qsl_idx" : 209, "data" : "0080D743" },
25+
{ "seq_id" : 55, "qsl_idx" : 168, "data" : "00C01144" },
26+
{ "seq_id" : 56, "qsl_idx" : 237, "data" : "0000F242" },
27+
{ "seq_id" : 57, "qsl_idx" : 228, "data" : "00000C42" },
28+
{ "seq_id" : 58, "qsl_idx" : 323, "data" : "00008242" },
29+
{ "seq_id" : 59, "qsl_idx" : 463, "data" : "00405444" },
30+
{ "seq_id" : 60, "qsl_idx" : 448, "data" : "00405744" },
31+
{ "seq_id" : 61, "qsl_idx" : 357, "data" : "00807444" },
32+
{ "seq_id" : 62, "qsl_idx" : 264, "data" : "00804344" },
33+
{ "seq_id" : 63, "qsl_idx" : 263, "data" : "00802D44" },
3434
{ "seq_id" : 0, "qsl_idx" : 393, "data" : "00807344" },
3535
{ "seq_id" : 1, "qsl_idx" : 111, "data" : "00806E44" },
3636
{ "seq_id" : 2, "qsl_idx" : 134, "data" : "00C03B44" },
@@ -63,15 +63,15 @@
6363
{ "seq_id" : 29, "qsl_idx" : 484, "data" : "00400144" },
6464
{ "seq_id" : 30, "qsl_idx" : 57, "data" : "00807844" },
6565
{ "seq_id" : 31, "qsl_idx" : 417, "data" : "00809F43" },
66-
{ "seq_id" : 32, "qsl_idx" : 454, "data" : "00004544" },
67-
{ "seq_id" : 33, "qsl_idx" : 321, "data" : "0080B443" },
68-
{ "seq_id" : 34, "qsl_idx" : 462, "data" : "00C06B44" },
69-
{ "seq_id" : 35, "qsl_idx" : 204, "data" : "0080F043" },
70-
{ "seq_id" : 36, "qsl_idx" : 341, "data" : "00809843" },
71-
{ "seq_id" : 37, "qsl_idx" : 82, "data" : "00004544" },
72-
{ "seq_id" : 38, "qsl_idx" : 446, "data" : "0080B443" },
73-
{ "seq_id" : 39, "qsl_idx" : 257, "data" : "0000D841" },
74-
{ "seq_id"
66+
{ "seq_id" : 64, "qsl_idx" : 278, "data" : "00001B43" },
67+
{ "seq_id" : 65, "qsl_idx" : 232, "data" : "00809043" },
68+
{ "seq_id" : 66, "qsl_idx" : 18, "data" : "0000EF43" },
69+
{ "seq_id" : 67, "qsl_idx" : 389, "data" : "00000543" },
70+
{ "seq_id" : 68, "qsl_idx" : 125, "data" : "0080E443" },
71+
{ "seq_id" : 69, "qsl_idx" : 67, "data" : "00C05D44" },
72+
{ "seq_id" : 70, "qsl_idx" : 465, "data" : "0000C842" },
73+
{ "seq_id" : 71, "qsl_idx" : 251, "data" : "0080E343" },
74+
{ "seq_i
7575

7676
...
7777

0 commit comments

Comments
 (0)