bpiwowar commited on
Commit
60ff7a4
1 Parent(s): cbd5880
.gitattributes CHANGED
@@ -32,3 +32,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
32
  *.zip filter=lfs diff=lfs merge=lfs -text
33
  *.zst filter=lfs diff=lfs merge=lfs -text
34
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
32
  *.zip filter=lfs diff=lfs merge=lfs -text
33
  *.zst filter=lfs diff=lfs merge=lfs -text
34
  *tfevents* filter=lfs diff=lfs merge=lfs -text
35
+ path filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -31,6 +31,6 @@ model.rsv("walgreens store sales average", "The average Walgreens salary ranges.
31
 
32
  | Dataset | AP | P@20 | RR | RR@10 | nDCG | nDCG@10 | nDCG@20 |
33
  |----| ---|------|------|------|------|------|------|
34
- | msmarco_dev | 0.3680 | 0.0374 | 0.3729 | 0.3639 | 0.4727 | 0.4258 | 0.4469 |
35
- | trec2019 | 0.4902 | 0.7267 | 0.9523 | 0.9523 | 0.6900 | 0.7159 | 0.6854 |
36
- | trec2020 | 0.4790 | 0.6213 | 0.9095 | 0.9095 | 0.6844 | 0.6977 | 0.6652 |
 
31
 
32
  | Dataset | AP | P@20 | RR | RR@10 | nDCG | nDCG@10 | nDCG@20 |
33
  |----| ---|------|------|------|------|------|------|
34
+ | msmarco_dev | 0.3563 | 0.0367 | 0.3611 | 0.3515 | 0.4626 | 0.4127 | 0.4344 |
35
+ | trec2019 | 0.4971 | 0.7163 | 0.9535 | 0.9535 | 0.6909 | 0.7081 | 0.6820 |
36
+ | trec2020 | 0.4763 | 0.6120 | 0.9093 | 0.9080 | 0.6797 | 0.6816 | 0.6540 |
definition.json CHANGED
@@ -1 +1 @@
1
- [{"id": 140640700732448, "module": "xpmir.text.huggingface", "type": "DualTransformerEncoder", "typename": "xpmir.text.huggingface.DualTransformerEncoder", "identifier": "945cb146c597c06064946f11253b127a1152c137ca7155d220107043d7fb55ae", "fields": {"model_id": "bert-base-uncased", "trainable": true, "layer": 0, "dropout": 0.1, "maxlen": 512, "version": 2}}, {"id": 140640700853808, "module": "xpmir.neural.cross", "type": "CrossScorer", "typename": "xpmir.neural.cross.CrossScorer", "identifier": "7b7464773372bc9c8de9a7f19e53b17150c3603518bbc5bc2512ff5223f0d0f3", "fields": {"checkpoint": {"type": "path.serialized", "value": "checkpoint", "is_folder": true}, "encoder": {"type": "python", "value": 140640700732448}}}]
 
1
+ [{"id": 139666194240448, "module": "xpmir.text.huggingface", "type": "DualTransformerEncoder", "typename": "xpmir.text.huggingface.DualTransformerEncoder", "identifier": "f8a6c979ab7e9f306c3f75226abc4271b317fc03700ce362ea8ea03d85f9a0c3", "fields": {"model_id": "bert-base-uncased", "trainable": true, "layer": 0, "dropout": 0.1, "maxlen": 512, "version": 2}}, {"id": 139666199756272, "module": "xpmir.learning.base", "type": "Random", "typename": "xpmir.learning.base.Random", "identifier": "5a306f11824a2a1058441627f732c699d1a73e4cb0b0f0e4ca2b951d83f99cb7", "fields": {"seed": 0}}, {"id": 139666194236560, "module": "xpmir.learning.batchers", "type": "PowerAdaptativeBatcher", "typename": "xpmir.learning.batchers.PowerAdaptativeBatcher", "identifier": "d24714900555b64e89e6b113c85846846aef0e48ba995681f286cea11c607735", "fields": {}}, {"id": 139666199830704, "module": "datamaestro_text.datasets.irds.data", "type": "Documents", "typename": "datamaestro_text.datasets.irds.data.Documents", "identifier": "b719776c0c0b8a51534153659c8b6f87e0b5ae363c216ee129e379cecd1bf69b", "fields": {"irds": "msmarco-passage", "id": "irds.msmarco-passage.documents@irds", "count": null}}, {"id": 139666194063776, "module": "datamaestro_text.datasets.irds.data", "type": "Topics", "typename": "datamaestro_text.datasets.irds.data.Topics", "identifier": "9df75d4b1df2d9516887fd8cf2a526a95e2d4791ff83ecc610ce76ce5a3ee285", "fields": {"irds": "msmarco-passage/train", "id": "irds.msmarco-passage.train.queries@irds"}}, {"id": 139666193971856, "module": "datamaestro_text.datasets.irds.data", "type": "TrainingTriplets", "typename": "datamaestro_text.datasets.irds.data.TrainingTriplets", "identifier": "26fcf5e5e9c1f029f6e42d47a715ed35b3a84e511a617df62f7de79dab2ed9e8", "fields": {"irds": "msmarco-passage/train", "id": "irds.msmarco-passage.train.docpairs@irds"}}, {"id": 139666194065744, "module": "datamaestro_text.transforms.ir", "type": "StoreTrainingTripletTopicAdapter", "typename": "datamaestro_text.transforms.ir.StoreTrainingTripletTopicAdapter", "identifier": "b4519a23e76fdc1eb1805ab1158ea5a088c5782f18e51fd46b79ac34e1fb6667", "fields": {"id": "", "store": {"type": "python", "value": 139666194063776}, "data": {"type": "python", "value": 139666193971856}}}, {"id": 139666194056192, "module": "datamaestro_text.transforms.ir", "type": "ShuffledTrainingTripletsLines", "typename": "datamaestro_text.transforms.ir.ShuffledTrainingTripletsLines", "identifier": "fb887496d6f9804cbb2c5f93590b3b54c0d40208d28f7721fe916d18fc5bc152", "fields": {"data": {"type": "python", "value": 139666194065744}, "path": {"type": "path", "value": "/home/bpiwowar/experiments/neuralir/jobs/datamaestro_text.transforms.ir.shuffledtrainingtripletslines/fb887496d6f9804cbb2c5f93590b3b54c0d40208d28f7721fe916d18fc5bc152/triplets.lst.gz"}, "doc_ids": true, "topic_ids": false, "seed": 123, "compressed": true, "sample_rate": 1.0, "sample_max": 0, "tmp_path": {"type": "path", "value": "/home/bpiwowar/experiments/neuralir/jobs/datamaestro_text.transforms.ir.shuffledtrainingtripletslines/fb887496d6f9804cbb2c5f93590b3b54c0d40208d28f7721fe916d18fc5bc152/tmp"}}}, {"id": 139666194069920, "module": "datamaestro_text.data.ir", "type": "TrainingTripletsLines", "typename": "datamaestro_text.data.ir.TrainingTripletsLines", "identifier": "8ff3063ff5a74e83883011ec9614fd5c4872e00043eb0d1a12b963a41b3622e3", "fields": {"id": "", "sep": "\t", "path": {"type": "path", "value": "/home/bpiwowar/experiments/neuralir/jobs/datamaestro_text.transforms.ir.shuffledtrainingtripletslines/fb887496d6f9804cbb2c5f93590b3b54c0d40208d28f7721fe916d18fc5bc152/triplets.lst.gz"}, "doc_ids": true, "topic_ids": false}}, {"id": 139666194069584, "module": "datamaestro_text.transforms.ir", "type": "StoreTrainingTripletDocumentAdapter", "typename": "datamaestro_text.transforms.ir.StoreTrainingTripletDocumentAdapter", "identifier": "d6195dec10bf532c5d5c10f4f6c33faf5f4c88b67814551cfc60ed8d66e22ba1", "fields": {"id": "", "store": {"type": "python", "value": 139666199830704}, "data": {"type": "python", "value": 139666194069920}}}, {"id": 139666194236464, "module": "xpmir.letor.samplers", "type": "TripletBasedSampler", "typename": "xpmir.letor.samplers.TripletBasedSampler", "identifier": "eef60f66b6c13be2e25b9a016364a4cbfb4357ef0ec120e8f006e080987d843e", "fields": {"source": {"type": "python", "value": 139666194069584}}}, {"id": 139666194061856, "module": "xpmir.letor.trainers.pairwise", "type": "PointwiseCrossEntropyLoss", "typename": "xpmir.letor.trainers.pairwise.PointwiseCrossEntropyLoss", "identifier": "65565f293e781f2bc025fdb2d3de3ceef1f2f184c197e12b9a4c566e2cbf6454", "fields": {"weight": 1.0}}, {"id": 139666194237712, "module": "xpmir.letor.trainers.pairwise", "type": "PairwiseTrainer", "typename": "xpmir.letor.trainers.pairwise.PairwiseTrainer", "identifier": "ba44111170ccaa82e390dbacb9f3af7c968912640084d1ab066d84d4a383792d", "fields": {"hooks": [], "batcher": {"type": "python", "value": 139666194236560}, "sampler": {"type": "python", "value": 139666194236464}, "batch_size": 64, "lossfn": {"type": "python", "value": 139666194061856}}}, {"id": 139666194242608, "module": "xpmir.neural.cross", "type": "CrossScorer", "typename": "xpmir.neural.cross.CrossScorer", "identifier": "c23cc39e50a9bc58166ab155b4adf09bf013449d7881fcea7af1eb44680f3115", "fields": {"encoder": {"type": "python", "value": 139666194240448}}}, {"id": 139666194247936, "module": "xpmir.learning.optim", "type": "AdamW", "typename": "xpmir.learning.optim.AdamW", "identifier": "19e8b3f63081f273bb7c4c867c3e64fb64afdffd437d96f48fbcb6fca2b5ceff", "fields": {"lr": 3e-06, "weight_decay": 0.0, "eps": 1e-06}}, {"id": 139666194247120, "module": "xpmir.learning.schedulers", "type": "LinearWithWarmup", "typename": "xpmir.learning.schedulers.LinearWithWarmup", "identifier": "a355b7737fa9f4d862545e2a2d264c4aab3996baf38f579fc6bec6e973957994", "fields": {"num_warmup_steps": 10000, "min_factor": 0.0}}, {"id": 139666194248464, "module": "xpmir.learning.optim", "type": "RegexParameterFilter", "typename": "xpmir.learning.optim.RegexParameterFilter", "identifier": "a9435423ed5ff958bc1c0db309265b23a9a2d90d7bad3259f9a5f5a8a5bf50ba", "fields": {"includes": ["\\.bias$", "\\.LayerNorm\\."], "excludes": null}}, {"id": 139666194250528, "module": "xpmir.learning.optim", "type": "ParameterOptimizer", "typename": "xpmir.learning.optim.ParameterOptimizer", "identifier": "454c82a2dbc28ece791d44b1f289790ffbb75473c3345e4602f0b27a5469c1ce", "fields": {"optimizer": {"type": "python", "value": 139666194247936}, "scheduler": {"type": "python", "value": 139666194247120}, "module": null, "filter": {"type": "python", "value": 139666194248464}}}, {"id": 139666194250432, "module": "xpmir.learning.optim", "type": "AdamW", "typename": "xpmir.learning.optim.AdamW", "identifier": "e72e0496cc9149c06eda3591e3df2f754247537925ecc85ea3ea871ecb45a74b", "fields": {"lr": 3e-06, "weight_decay": 0.01, "eps": 1e-06}}, {"id": 139666194366576, "module": "xpmir.learning.optim", "type": "ParameterFilter", "typename": "xpmir.learning.optim.ParameterFilter", "identifier": "6b7385c00a73e4491f514855a8d0a0033635bd3422e34f07c8b78fc9b5f129c6", "fields": {}}, {"id": 139666194249568, "module": "xpmir.learning.optim", "type": "ParameterOptimizer", "typename": "xpmir.learning.optim.ParameterOptimizer", "identifier": "9b901ecafa9b2078383a55c5edacfa98ae1b52d11c9a8f629da77337c0bfcf7a", "fields": {"optimizer": {"type": "python", "value": 139666194250432}, "scheduler": {"type": "python", "value": 139666194247120}, "module": null, "filter": {"type": "python", "value": 139666194366576}}}, {"id": 139666195760944, "module": "datamaestro_text.datasets.irds.data", "type": "Documents", "typename": "datamaestro_text.datasets.irds.data.Documents", "identifier": "b719776c0c0b8a51534153659c8b6f87e0b5ae363c216ee129e379cecd1bf69b", "fields": {"irds": "msmarco-passage", "id": "irds.msmarco-passage.documents@irds", "count": null}}, {"id": 139666195282624, "module": "datamaestro_text.datasets.irds.data", "type": "Topics", "typename": "datamaestro_text.datasets.irds.data.Topics", "identifier": "a3ae62e29aba384f96996304c8391ebdb588b1122062249c9c73f1b124ea50c6", "fields": {"irds": "msmarco-passage/dev", "id": "irds.msmarco-passage.dev.queries@irds"}}, {"id": 139666195760128, "module": "datamaestro_text.datasets.irds.data", "type": "AdhocAssessments", "typename": "datamaestro_text.datasets.irds.data.AdhocAssessments", "identifier": "3ceb38ab1310d6f2b5c59979fd59e4490490048b08732f4c9f812883ad6268b7", "fields": {"irds": "msmarco-passage/dev", "id": "irds.msmarco-passage.dev.qrels@irds"}}, {"id": 139666195761376, "module": "datamaestro_text.datasets.irds.data", "type": "Adhoc", "typename": "datamaestro_text.datasets.irds.data.Adhoc", "identifier": "7966d82da2dcaa72d9c10048451f8f82189b8963ae23f358e42956b26a0ce968", "fields": {"irds": "msmarco-passage/dev", "id": "irds.msmarco-passage.dev@irds", "documents": {"type": "python", "value": 139666195760944}, "topics": {"type": "python", "value": 139666195282624}, "assessments": {"type": "python", "value": 139666195760128}}}, {"id": 139666195761520, "module": "datamaestro_text.datasets.irds.data", "type": "Topics", "typename": "datamaestro_text.datasets.irds.data.Topics", "identifier": "86709e8385743a96e30aae2809a36426e24e4a6a87cc7d34cafbd67fea73edb0", "fields": {"irds": "msmarco-passage/dev/small", "id": "irds.msmarco-passage.dev.small.queries@irds"}}, {"id": 139666195762912, "module": "xpmir.datasets.adapters", "type": "RandomFold", "typename": "xpmir.datasets.adapters.RandomFold", "identifier": "8e676329a00b116571e8d450e06cdf6f1963324b940c853f67e07cbf4b7a6f97", "fields": {"seed": 123, "sizes": [500.0], "dataset": {"type": "python", "value": 139666195761376}, "fold": 0, "exclude": {"type": "python", "value": 139666195761520}, "assessments": {"type": "path", "value": "/home/bpiwowar/experiments/neuralir/jobs/xpmir.datasets.adapters.randomfold/8e676329a00b116571e8d450e06cdf6f1963324b940c853f67e07cbf4b7a6f97/assessments.tsv"}, "topics": {"type": "path", "value": "/home/bpiwowar/experiments/neuralir/jobs/xpmir.datasets.adapters.randomfold/8e676329a00b116571e8d450e06cdf6f1963324b940c853f67e07cbf4b7a6f97/topics.tsv"}}}, {"id": 139666195766704, "module": "datamaestro_text.data.ir.csv", "type": "Topics", "typename": "datamaestro_text.data.ir.csv.Topics", "identifier": "5abde23732045b71e54db55047f17792e4de0a3c0415fd44225177b3b5db3f0d", "fields": {"id": "", "separator": "\t", "path": {"type": "path", "value": "/home/bpiwowar/experiments/neuralir/jobs/xpmir.datasets.adapters.randomfold/8e676329a00b116571e8d450e06cdf6f1963324b940c853f67e07cbf4b7a6f97/topics.tsv"}}}, {"id": 139666195767856, "module": "datamaestro_text.data.ir.trec", "type": "TrecAdhocAssessments", "typename": "datamaestro_text.data.ir.trec.TrecAdhocAssessments", "identifier": "29877bcede5ab47ca7d0bb1f0cbf406f3fb5fa9a59ddee0d68a1d9786c0eb6ec", "fields": {"id": "", "path": {"type": "path", "value": "/home/bpiwowar/experiments/neuralir/jobs/xpmir.datasets.adapters.randomfold/8e676329a00b116571e8d450e06cdf6f1963324b940c853f67e07cbf4b7a6f97/assessments.tsv"}}}, {"id": 139666195768480, "module": "datamaestro_text.data.ir", "type": "Adhoc", "typename": "datamaestro_text.data.ir.Adhoc", "identifier": "009de43e24e54d97678e4e86d904758a861f4485593638f855c291a40df337a9", "fields": {"id": "", "documents": {"type": "python", "value": 139666195760944}, "topics": {"type": "python", "value": 139666195766704}, "assessments": {"type": "python", "value": 139666195767856}}}, {"id": 139666195761664, "module": "datamaestro_text.datasets.irds.data", "type": "Documents", "typename": "datamaestro_text.datasets.irds.data.Documents", "identifier": "b719776c0c0b8a51534153659c8b6f87e0b5ae363c216ee129e379cecd1bf69b", "fields": {"irds": "msmarco-passage", "id": "irds.msmarco-passage.documents@irds", "count": null}}, {"id": 139666195770976, "module": "xpmir.interfaces.anserini", "type": "IndexCollection", "typename": "xpmir.interfaces.anserini.IndexCollection", "identifier": "9aed5a0f6654836687d082284725f0d459cd00f69b6e703e815fdcd9cab2a5cf", "fields": {"id": "", "count": null, "path": {"type": "path", "value": "/home/bpiwowar/experiments/neuralir/jobs/xpmir.interfaces.anserini.indexcollection/9aed5a0f6654836687d082284725f0d459cd00f69b6e703e815fdcd9cab2a5cf/index"}, "storePositions": false, "storeDocvectors": false, "storeRaw": false, "storeContents": false, "stemmer": "porter", "threads": 8, "documents": {"type": "python", "value": 139666195761664}, "thread": 8}}, {"id": 139666195771216, "module": "xpmir.rankers.standard", "type": "BM25", "typename": "xpmir.rankers.standard.BM25", "identifier": "feccdba59a7375ef738014135a63ca2a375baf9cfa7695a822094d13a6b94349", "fields": {"k1": 0.9, "b": 0.4}}, {"id": 139666194243760, "module": "xpmir.interfaces.anserini", "type": "AnseriniRetriever", "typename": "xpmir.interfaces.anserini.AnseriniRetriever", "identifier": "83d33f8ac6c27c1473131daa8a731e1d3cb122d4610c1865d599a96b55cb9014", "fields": {"store": {"type": "python", "value": 139666199830704}, "index": {"type": "python", "value": 139666195770976}, "model": {"type": "python", "value": 139666195771216}, "k": 1000}}, {"id": 139666195774672, "module": "xpmir.learning.batchers", "type": "PowerAdaptativeBatcher", "typename": "xpmir.learning.batchers.PowerAdaptativeBatcher", "identifier": "d24714900555b64e89e6b113c85846846aef0e48ba995681f286cea11c607735", "fields": {}}, {"id": 139666200152528, "module": "xpmir.learning.devices", "type": "CudaDevice", "typename": "xpmir.learning.devices.CudaDevice", "identifier": "fa61b710c002a8ae4e60c2c6a25a9355a25a7c3f5457794426af0d16da42d26d", "fields": {"gpu_determ": false, "cpu_fallback": false, "distributed": false}}, {"id": 139666194244624, "module": "xpmir.rankers", "type": "TwoStageRetriever", "typename": "xpmir.rankers.TwoStageRetriever", "identifier": "2e15510fee85669c3307d3aad454100fa0fb972b0fb8db79d3ec6ffd8bb504b5", "fields": {"store": null, "retriever": {"type": "python", "value": 139666194243760}, "scorer": {"type": "python", "value": 139666194242608}, "top_k": null, "batchsize": 512, "batcher": {"type": "python", "value": 139666195774672}, "device": {"type": "python", "value": 139666200152528}}}, {"id": 139666194244672, "module": "xpmir.letor.learner", "type": "ValidationListener", "typename": "xpmir.letor.learner.ValidationListener", "identifier": "7b22a1409d2551b0b02f81cc816fcd457ac62193e9e0b565cdb90f2ee1ab797a", "fields": {"id": "bestval", "metrics": {"RR@10": true, "AP": false, "nDCG": false}, "dataset": {"type": "python", "value": 139666195768480}, "retriever": {"type": "python", "value": 139666194244624}, "warmup": -1, "bestpath": {"type": "path", "value": "/home/bpiwowar/experiments/neuralir/jobs/xpmir.learning.learner.learner/6fe2a37cb9d0dd6674331d2abdbb1e1bb084de5c34bf571ff6ac228d5f2fcb1d/out/listeners/0/best"}, "info": {"type": "path", "value": "/home/bpiwowar/experiments/neuralir/jobs/xpmir.learning.learner.learner/6fe2a37cb9d0dd6674331d2abdbb1e1bb084de5c34bf571ff6ac228d5f2fcb1d/out/listeners/0/info.json"}, "validation_interval": 32, "early_stop": 0}}, {"id": 139666194366816, "module": "xpmir.distributed", "type": "DistributedHook", "typename": "xpmir.distributed.DistributedHook", "identifier": "8e57187d29ffd5f452a1e6f764ff4e7d4271dbff28c3b6252f3bac499e8c6cda", "meta": true, "fields": {"models": [{"type": "python", "value": 139666194242608}]}}, {"id": 139666194368064, "module": "xpmir.learning.learner", "type": "Learner", "typename": "xpmir.learning.learner.Learner", "identifier": "6fe2a37cb9d0dd6674331d2abdbb1e1bb084de5c34bf571ff6ac228d5f2fcb1d", "fields": {"random": {"type": "python", "value": 139666199756272}, "trainer": {"type": "python", "value": 139666194237712}, "model": {"type": "python", "value": 139666194242608}, "max_epochs": 3200, "steps_per_epoch": 32, "use_fp16": false, "optimizers": [{"type": "python", "value": 139666194250528}, {"type": "python", "value": 139666194249568}], "listeners": [{"type": "python", "value": 139666194244672}], "checkpoint_interval": 1, "logpath": {"type": "path", "value": "/home/bpiwowar/experiments/neuralir/jobs/xpmir.learning.learner.learner/6fe2a37cb9d0dd6674331d2abdbb1e1bb084de5c34bf571ff6ac228d5f2fcb1d/runs"}, "checkpointspath": {"type": "path", "value": "/home/bpiwowar/experiments/neuralir/jobs/xpmir.learning.learner.learner/6fe2a37cb9d0dd6674331d2abdbb1e1bb084de5c34bf571ff6ac228d5f2fcb1d/checkpoints"}, "device": {"type": "python", "value": 139666200152528}, "hooks": [{"type": "python", "value": 139666194366816}]}}, {"id": 139666194373008, "module": "xpmir.learning.optim", "type": "ModuleLoader", "typename": "xpmir.learning.optim.ModuleLoader", "identifier": "d3378e06202123cf318b0fcf5df783e10c125d8f7b13f3bd0130eb48c3759490", "fields": {"value": {"type": "python", "value": 139666194372048}, "path": {"type": "path.serialized", "value": "path", "is_folder": false}}}, {"id": 139666194372048, "module": "xpmir.neural.cross", "type": "CrossScorer", "typename": "xpmir.neural.cross.CrossScorer", "identifier": "ff3b8a77d5235bad01687c4386baf5b19eed97c5bf3091dc0f82b856c4248689", "pre-tasks": [139666194373008], "fields": {"encoder": {"type": "python", "value": 139666194240448}}}]
path ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2b0a96d03053fce3c713329aba72e2508bc02e05e28bbff20aa5c74932aba394
3
+ size 438008465
runs/monobert-RR@10/1688766080.4520175/events.out.tfevents.1688766080.thin.3768701.1 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dab0b3ee4fb7a2256b438e9ec4924c77a8165434a86cc8d883864654003be931
3
+ size 556
runs/monobert-RR@10/events.out.tfevents.1688481940.thin.3768701.0 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a79e590082159b01d3598bbc56ba7cbd804ebb6503badde8fa1a5d03849622a1
3
+ size 2289203