state: generation 7500 (cycle)

This commit is contained in:
2026-09-15 03:15:54 +00:00
parent e5568e59c5
commit 54ff6929c7
5 changed files with 904 additions and 904 deletions

View File

@@ -1558,7 +1558,7 @@
"taskType": "text-generation" "taskType": "text-generation"
} }
}, },
"generatedAt": "2026-09-15T03:12:05.940957+00:00", "generatedAt": "2026-09-15T03:15:54.423229+00:00",
"summary": { "summary": {
"activeBlockCount": 77, "activeBlockCount": 77,
"byGpuFramework": { "byGpuFramework": {

View File

@@ -67,7 +67,7 @@
"6": { "6": {
"complete": false, "complete": false,
"lastError": "ModelHubAPIError: 系统错误", "lastError": "ModelHubAPIError: 系统错误",
"listingErrors": 544, "listingErrors": 545,
"nextPage": 1, "nextPage": 1,
"recordsScanned": 0, "recordsScanned": 0,
"uniqueRecords": 0 "uniqueRecords": 0
@@ -102,12 +102,12 @@
"cutoffAt": "2026-09-04T03:55:51.365685+00:00", "cutoffAt": "2026-09-04T03:55:51.365685+00:00",
"failureLogsInspected": 0, "failureLogsInspected": 0,
"mode": "incremental_decision_only", "mode": "incremental_decision_only",
"nextAccountIndex": 6, "nextAccountIndex": 7,
"recordsScanned": 0, "recordsScanned": 0,
"seenTaskIds": [], "seenTaskIds": [],
"startedAt": "2026-09-04T03:55:51.365685+00:00", "startedAt": "2026-09-04T03:55:51.365685+00:00",
"terminalRecords": 0, "terminalRecords": 0,
"uniqueRecords": 0, "uniqueRecords": 0,
"updatedAt": "2026-09-15T03:12:05.910711+00:00", "updatedAt": "2026-09-15T03:15:54.393318+00:00",
"version": 1 "version": 1
} }

View File

@@ -416,99 +416,99 @@
} }
}, },
"frameworkUpdatedAt": null, "frameworkUpdatedAt": null,
"generatedAt": "2026-09-15T03:10:20.844029+00:00", "generatedAt": "2026-09-15T03:13:15.232208+00:00",
"gpuStats": { "gpuStats": {
"Ascend_910-b3": { "Ascend_910-b3": {
"available": true, "available": true,
"backlogHours": 987.0, "backlogHours": 966.7755102040817,
"canVerify": true, "canVerify": true,
"error": null, "error": null,
"gpu": "Ascend_910-b3", "gpu": "Ascend_910-b3",
"healthFactor": 1.0, "healthFactor": 1.0,
"maxConcurrentTasks": 8, "maxConcurrentTasks": 8,
"qualityFactor": 1.0866534663257026, "qualityFactor": 1.0504758287470974,
"queueFactor": 0.9965531437425725, "queueFactor": 1.0000673496370265,
"queueWeight": 0.9965531437425725, "queueWeight": 1.0000673496370265,
"recentSuccess": 49, "recentSuccess": 49,
"recentSuccessRate": 0.3402777777777778, "recentSuccessRate": 0.3333333333333333,
"recentTerminal": 144, "recentTerminal": 147,
"recentWilsonLowerBound": 0.267939727271058, "recentWilsonLowerBound": 0.26222862590583235,
"running": 9, "running": 8,
"selectionWeight": 1.0829079280256426, "selectionWeight": 1.0505465779128687,
"stale": false, "stale": false,
"submissionEligible": true, "submissionEligible": true,
"throughputPerHour": 24.0, "throughputPerHour": 24.5,
"waiting": 23688 "waiting": 23686
}, },
"Ascend_910-b4": { "Ascend_910-b4": {
"available": true, "available": true,
"backlogHours": 1412.2184873949582, "backlogHours": 1377.344262295082,
"canVerify": true, "canVerify": true,
"error": null, "error": null,
"gpu": "Ascend_910-b4", "gpu": "Ascend_910-b4",
"healthFactor": 1.0, "healthFactor": 1.0,
"maxConcurrentTasks": 8, "maxConcurrentTasks": 8,
"qualityFactor": 2.5, "qualityFactor": 2.5,
"queueFactor": 0.9444147308696157, "queueFactor": 0.94835670497104,
"queueWeight": 0.9444147308696157, "queueWeight": 0.94835670497104,
"recentSuccess": 57, "recentSuccess": 58,
"recentSuccessRate": 0.4789915966386555, "recentSuccessRate": 0.47540983606557374,
"recentTerminal": 119, "recentTerminal": 122,
"recentWilsonLowerBound": 0.39130365224400837, "recentWilsonLowerBound": 0.38890272235052964,
"running": 10, "running": 9,
"selectionWeight": 2.3610368271740394, "selectionWeight": 2.3708917624276,
"stale": false, "stale": false,
"submissionEligible": true, "submissionEligible": true,
"throughputPerHour": 19.833333333333332, "throughputPerHour": 20.333333333333332,
"waiting": 28009 "waiting": 28006
}, },
"Biren_166m": { "Biren_166m": {
"available": true, "available": true,
"backlogHours": 820.421052631579, "backlogHours": 842.7567567567568,
"canVerify": true, "canVerify": true,
"error": null, "error": null,
"gpu": "Biren_166m", "gpu": "Biren_166m",
"healthFactor": 1.0, "healthFactor": 1.0,
"maxConcurrentTasks": 2, "maxConcurrentTasks": 2,
"qualityFactor": 0.05, "qualityFactor": 0.05,
"queueFactor": 1.0245720799749816, "queueFactor": 1.0208754457076008,
"queueWeight": 1.0245720799749816, "queueWeight": 1.0208754457076008,
"recentSuccess": 5, "recentSuccess": 5,
"recentSuccessRate": 0.13157894736842105, "recentSuccessRate": 0.13513513513513514,
"recentTerminal": 38, "recentTerminal": 37,
"recentWilsonLowerBound": 0.05753782875731436, "recentWilsonLowerBound": 0.059132072625076235,
"running": 2, "running": 2,
"selectionWeight": 0.05122860399874908, "selectionWeight": 0.05104377228538004,
"stale": false, "stale": false,
"submissionEligible": true, "submissionEligible": true,
"throughputPerHour": 6.333333333333333, "throughputPerHour": 6.166666666666667,
"waiting": 5196 "waiting": 5197
}, },
"Cambricon_mlu-370-x4": { "Cambricon_mlu-370-x4": {
"available": true, "available": true,
"backlogHours": 1197.038961038961, "backlogHours": 1137.851851851852,
"canVerify": true, "canVerify": true,
"error": null, "error": null,
"gpu": "Cambricon_mlu-370-x4", "gpu": "Cambricon_mlu-370-x4",
"healthFactor": 1.0, "healthFactor": 1.0,
"maxConcurrentTasks": 7, "maxConcurrentTasks": 7,
"qualityFactor": 0.6991487149094098, "qualityFactor": 0.6304537127440237,
"queueFactor": 0.968125798978153, "queueFactor": 0.975922288217612,
"queueWeight": 0.968125798978153, "queueWeight": 0.975922288217612,
"recentSuccess": 24, "recentSuccess": 24,
"recentSuccessRate": 0.3116883116883117, "recentSuccessRate": 0.2962962962962963,
"recentTerminal": 77, "recentTerminal": 81,
"recentWilsonLowerBound": 0.2192713452192063, "recentWilsonLowerBound": 0.207918166563683,
"running": 7, "running": 7,
"selectionWeight": 0.6768639082262212, "selectionWeight": 0.6152738299564366,
"stale": false, "stale": false,
"submissionEligible": true, "submissionEligible": true,
"throughputPerHour": 12.833333333333334, "throughputPerHour": 13.5,
"waiting": 15362 "waiting": 15361
}, },
"Cambricon_mlu-370-x8": { "Cambricon_mlu-370-x8": {
"available": true, "available": true,
"backlogHours": 143.72307692307692, "backlogHours": 143.66153846153847,
"canVerify": true, "canVerify": true,
"error": null, "error": null,
"gpu": "Cambricon_mlu-370-x8", "gpu": "Cambricon_mlu-370-x8",
@@ -521,16 +521,16 @@
"recentSuccessRate": 0.05897435897435897, "recentSuccessRate": 0.05897435897435897,
"recentTerminal": 390, "recentTerminal": 390,
"recentWilsonLowerBound": 0.039615530564525735, "recentWilsonLowerBound": 0.039615530564525735,
"running": 7, "running": 8,
"selectionWeight": 0.065, "selectionWeight": 0.065,
"stale": false, "stale": false,
"submissionEligible": false, "submissionEligible": false,
"throughputPerHour": 65.0, "throughputPerHour": 65.0,
"waiting": 9342 "waiting": 9338
}, },
"Iluvatar_bi-100": { "Iluvatar_bi-100": {
"available": true, "available": true,
"backlogHours": 53.114754098360656, "backlogHours": 51.78135048231511,
"canVerify": true, "canVerify": true,
"error": null, "error": null,
"gpu": "Iluvatar_bi-100", "gpu": "Iluvatar_bi-100",
@@ -540,196 +540,196 @@
"queueFactor": 1.3, "queueFactor": 1.3,
"queueWeight": 1.3, "queueWeight": 1.3,
"recentSuccess": 9, "recentSuccess": 9,
"recentSuccessRate": 0.029508196721311476, "recentSuccessRate": 0.028938906752411574,
"recentTerminal": 305, "recentTerminal": 311,
"recentWilsonLowerBound": 0.01560036886817662, "recentWilsonLowerBound": 0.015297948157488417,
"running": 25, "running": 27,
"selectionWeight": 0.065, "selectionWeight": 0.065,
"stale": false, "stale": false,
"submissionEligible": false, "submissionEligible": false,
"throughputPerHour": 50.833333333333336, "throughputPerHour": 51.833333333333336,
"waiting": 2700 "waiting": 2684
}, },
"Iluvatar_bi-150": { "Iluvatar_bi-150": {
"available": true, "available": true,
"backlogHours": 166.9367088607595, "backlogHours": 157.7245508982036,
"canVerify": true, "canVerify": true,
"error": null, "error": null,
"gpu": "Iluvatar_bi-150", "gpu": "Iluvatar_bi-150",
"healthFactor": 1.0, "healthFactor": 1.0,
"maxConcurrentTasks": 50, "maxConcurrentTasks": 50,
"qualityFactor": 0.26800334187887526, "qualityFactor": 0.2397114508878821,
"queueFactor": 1.3, "queueFactor": 1.3,
"queueWeight": 1.3, "queueWeight": 1.3,
"recentSuccess": 31, "recentSuccess": 31,
"recentSuccessRate": 0.1962025316455696, "recentSuccessRate": 0.18562874251497005,
"recentTerminal": 158, "recentTerminal": 167,
"recentWilsonLowerBound": 0.14180639315807014, "recentWilsonLowerBound": 0.13396751941877452,
"running": 6, "running": 5,
"selectionWeight": 0.34840434444253787, "selectionWeight": 0.3116248861542467,
"stale": false, "stale": false,
"submissionEligible": true, "submissionEligible": true,
"throughputPerHour": 26.333333333333332, "throughputPerHour": 27.833333333333332,
"waiting": 4396 "waiting": 4390
}, },
"Iluvatar_mrv-100": { "Iluvatar_mrv-100": {
"available": true, "available": true,
"backlogHours": 2588.7567567567567, "backlogHours": 2660.5,
"canVerify": true, "canVerify": true,
"error": null, "error": null,
"gpu": "Iluvatar_mrv-100", "gpu": "Iluvatar_mrv-100",
"healthFactor": 1.0, "healthFactor": 1.0,
"maxConcurrentTasks": 2, "maxConcurrentTasks": 2,
"qualityFactor": 0.6920326453611181, "qualityFactor": 0.5925771459941076,
"queueFactor": 0.8623515525716356, "queueFactor": 0.859178904450971,
"queueWeight": 0.8623515525716356, "queueWeight": 0.859178904450971,
"recentSuccess": 13, "recentSuccess": 12,
"recentSuccessRate": 0.35135135135135137, "recentSuccessRate": 0.3333333333333333,
"recentTerminal": 37, "recentTerminal": 36,
"recentWilsonLowerBound": 0.21825406631100872, "recentWilsonLowerBound": 0.20214424774586046,
"running": 2, "running": 2,
"selectionWeight": 0.5967754261574163, "selectionWeight": 0.5091297830979005,
"stale": false, "stale": false,
"submissionEligible": true, "submissionEligible": true,
"throughputPerHour": 6.166666666666667, "throughputPerHour": 6.0,
"waiting": 15964 "waiting": 15963
}, },
"Kunlunxin_p-800": { "Kunlunxin_p-800": {
"available": true, "available": true,
"backlogHours": 766.9333333333333, "backlogHours": 793.2413793103449,
"canVerify": true, "canVerify": true,
"error": null, "error": null,
"gpu": "Kunlunxin_p-800", "gpu": "Kunlunxin_p-800",
"healthFactor": 1.0, "healthFactor": 1.0,
"maxConcurrentTasks": 7, "maxConcurrentTasks": 7,
"qualityFactor": 0.29755835769476774, "qualityFactor": 0.37226242752386074,
"queueFactor": 1.0349858071594562, "queueFactor": 1.0301899066158378,
"queueWeight": 1.0349858071594562, "queueWeight": 1.0301899066158378,
"recentSuccess": 20, "recentSuccess": 21,
"recentSuccessRate": 0.2222222222222222, "recentSuccessRate": 0.2413793103448276,
"recentTerminal": 90, "recentTerminal": 87,
"recentWilsonLowerBound": 0.14871223281666784, "recentWilsonLowerBound": 0.1636404322399915,
"running": 8, "running": 7,
"selectionWeight": 0.30796867701576136, "selectionWeight": 0.3835009954473912,
"stale": false, "stale": false,
"submissionEligible": true, "submissionEligible": true,
"throughputPerHour": 15.0, "throughputPerHour": 14.5,
"waiting": 11504 "waiting": 11502
}, },
"MetaX_c-500": { "MetaX_c-500": {
"available": true, "available": true,
"backlogHours": 942.08, "backlogHours": 967.6438356164384,
"canVerify": true, "canVerify": true,
"error": null, "error": null,
"gpu": "MetaX_c-500", "gpu": "MetaX_c-500",
"healthFactor": 1.0, "healthFactor": 1.0,
"maxConcurrentTasks": 4, "maxConcurrentTasks": 4,
"qualityFactor": 0.7430680147584517, "qualityFactor": 0.6324986097084917,
"queueFactor": 1.0035404185921655, "queueFactor": 0.9999326851208244,
"queueWeight": 1.0035404185921655, "queueWeight": 0.9999326851208244,
"recentSuccess": 24, "recentSuccess": 22,
"recentSuccessRate": 0.32, "recentSuccessRate": 0.3013698630136986,
"recentTerminal": 75, "recentTerminal": 73,
"recentWilsonLowerBound": 0.22542843754055916, "recentWilsonLowerBound": 0.2082244364335746,
"running": 4, "running": 4,
"selectionWeight": 0.745698786573146, "selectionWeight": 0.6324560331410005,
"stale": false, "stale": false,
"submissionEligible": true, "submissionEligible": true,
"throughputPerHour": 12.5, "throughputPerHour": 12.166666666666666,
"waiting": 11776 "waiting": 11773
}, },
"Mthreads_s4000": { "Mthreads_s4000": {
"available": true, "available": true,
"backlogHours": 2374.677966101695, "backlogHours": 2378.5423728813557,
"canVerify": true, "canVerify": true,
"error": null, "error": null,
"gpu": "Mthreads_s4000", "gpu": "Mthreads_s4000",
"healthFactor": 1.0, "healthFactor": 1.0,
"maxConcurrentTasks": 4, "maxConcurrentTasks": 4,
"qualityFactor": 1.4567592654764427, "qualityFactor": 1.3197389399788544,
"queueFactor": 0.8735893442817804, "queueFactor": 0.8737384760665702,
"queueWeight": 0.8735893442817804, "queueWeight": 0.8737384760665702,
"recentSuccess": 25, "recentSuccess": 24,
"recentSuccessRate": 0.423728813559322, "recentSuccessRate": 0.4067796610169492,
"recentTerminal": 59, "recentTerminal": 59,
"recentWilsonLowerBound": 0.3061253228310244, "recentWilsonLowerBound": 0.2908884302255585,
"running": 4, "running": 4,
"selectionWeight": 1.2726093715039737, "selectionWeight": 1.1531066902228349,
"stale": false, "stale": false,
"submissionEligible": true, "submissionEligible": true,
"throughputPerHour": 9.833333333333334, "throughputPerHour": 9.833333333333334,
"waiting": 23351 "waiting": 23389
}, },
"Sunrise_pt-200-x1": { "Sunrise_pt-200-x1": {
"available": true, "available": true,
"backlogHours": 3253.285714285714, "backlogHours": 3253.928571428571,
"canVerify": true, "canVerify": true,
"error": null, "error": null,
"gpu": "Sunrise_pt-200-x1", "gpu": "Sunrise_pt-200-x1",
"healthFactor": 1.0, "healthFactor": 1.0,
"maxConcurrentTasks": 2, "maxConcurrentTasks": 2,
"qualityFactor": 0.20940911359291603, "qualityFactor": 0.21226383109727376,
"queueFactor": 0.8332967835617285, "queueFactor": 0.8336176329370693,
"queueWeight": 0.8332967835617285, "queueWeight": 0.8336176329370693,
"recentSuccess": 7, "recentSuccess": 7,
"recentSuccessRate": 0.25, "recentSuccessRate": 0.25,
"recentTerminal": 28, "recentTerminal": 28,
"recentWilsonLowerBound": 0.12676334942200781, "recentWilsonLowerBound": 0.12676334942200781,
"running": 2, "running": 2,
"selectionWeight": 0.17449994080548958, "selectionWeight": 0.1769468724374632,
"stale": false, "stale": false,
"submissionEligible": true, "submissionEligible": true,
"throughputPerHour": 4.666666666666667, "throughputPerHour": 4.666666666666667,
"waiting": 15182 "waiting": 15185
}, },
"Vastai_va16": { "Vastai_va16": {
"available": true, "available": true,
"backlogHours": 1227.047619047619, "backlogHours": 1153.6119402985075,
"canVerify": true, "canVerify": true,
"error": null, "error": null,
"gpu": "Vastai_va16", "gpu": "Vastai_va16",
"healthFactor": 1.0, "healthFactor": 1.0,
"maxConcurrentTasks": 16, "maxConcurrentTasks": 16,
"qualityFactor": 0.09515678641657933, "qualityFactor": 0.08392533026565611,
"queueFactor": 0.9645368486604728, "queueFactor": 0.9739106910480244,
"queueWeight": 0.9645368486604728, "queueWeight": 0.9739106910480244,
"recentSuccess": 10, "recentSuccess": 10,
"recentSuccessRate": 0.15873015873015872, "recentSuccessRate": 0.14925373134328357,
"recentTerminal": 63, "recentTerminal": 67,
"recentWilsonLowerBound": 0.08856997432352591, "recentWilsonLowerBound": 0.08314184208625061,
"running": 16, "running": 16,
"selectionWeight": 0.09178222689890513, "selectionWeight": 0.08173577639545883,
"stale": false, "stale": false,
"submissionEligible": true, "submissionEligible": true,
"throughputPerHour": 10.5, "throughputPerHour": 11.166666666666666,
"waiting": 12884 "waiting": 12882
}, },
"hygon_k100-ai": { "hygon_k100-ai": {
"available": true, "available": true,
"backlogHours": 668.6086956521739, "backlogHours": 686.3571428571428,
"canVerify": true, "canVerify": true,
"error": null, "error": null,
"gpu": "hygon_k100-ai", "gpu": "hygon_k100-ai",
"healthFactor": 1.0, "healthFactor": 1.0,
"maxConcurrentTasks": 6, "maxConcurrentTasks": 6,
"qualityFactor": 0.6506687805373319, "qualityFactor": 0.646094742038218,
"queueFactor": 1.0565066459756396, "queueFactor": 1.0527992600298188,
"queueWeight": 1.0565066459756396, "queueWeight": 1.0527992600298188,
"recentSuccess": 33, "recentSuccess": 32,
"recentSuccessRate": 0.28695652173913044, "recentSuccessRate": 0.2857142857142857,
"recentTerminal": 115, "recentTerminal": 112,
"recentWilsonLowerBound": 0.2122245893047851, "recentWilsonLowerBound": 0.21024717263298542,
"running": 6, "running": 7,
"selectionWeight": 0.687435890966556, "selectionWeight": 0.6802080663269926,
"stale": false, "stale": false,
"submissionEligible": true, "submissionEligible": true,
"throughputPerHour": 19.166666666666668, "throughputPerHour": 18.666666666666668,
"waiting": 12815 "waiting": 12812
} }
}, },
"queueAttemptedAt": "2026-09-15T03:01:09.443610+00:00", "queueAttemptedAt": "2026-09-15T03:13:15.232208+00:00",
"queueError": null, "queueError": null,
"queueUpdatedAt": "2026-09-15T03:01:09.443610+00:00", "queueUpdatedAt": "2026-09-15T03:13:15.232208+00:00",
"supportedGpus": [ "supportedGpus": [
"Vastai_va16", "Vastai_va16",
"Iluvatar_mrv-100", "Iluvatar_mrv-100",

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,10 @@
{ {
"agentVersion": "2026.09.04.4", "agentVersion": "2026.09.04.4",
"checksums": { "checksums": {
".modelhub_state/architecture_compatibility_blacklist.json": "51f90503df177693b65ae4ea4c87abc0acc3b39d4f6ba686fa9214c6467098ad", ".modelhub_state/architecture_compatibility_blacklist.json": "d92de36b11403390a16e2ab52731c8890cac7956d63052e616ccdae94b314fe2",
".modelhub_state/architecture_history_backfill.json": "91347ee2cf2fb632eab635dbfdc96f8b51938ad374007e4a23aeb62f3f6b03ce", ".modelhub_state/architecture_history_backfill.json": "8f5d6a3e746feadc91dcf724482270e7741736f12e0e90d07046f80e3cbc61db",
".modelhub_state/market_intelligence.json": "f7b7ab26e3a91c35b0c90c50c47da6d76c55aa65697402a16367404bb5e0d1c6", ".modelhub_state/market_intelligence.json": "fc5457cedc8de72ea5edde76b08264c2750a49dcb4fc1608e24dd39d63d314f0",
".modelhub_state/official_capabilities.json": "bdded90143c2250df002b0fb32a95f1eab8b4bf7cfdf2b1ca20a93f948ddc5aa", ".modelhub_state/official_capabilities.json": "a5d263924894fe52f58b82919dc150405dde73bfa43b5bc5a17ddedb6fc7f13d",
".modelhub_state/outcome_checkpoint.json": "5d55fc6367f22e4ebcd103d37e2d6a8e73b8ff20ef8c77d70de80f3a09e088e5", ".modelhub_state/outcome_checkpoint.json": "5d55fc6367f22e4ebcd103d37e2d6a8e73b8ff20ef8c77d70de80f3a09e088e5",
".modelhub_state/queue_cleanup_latest.json": "01e08fd4618eb925c85708b1e84308d8914f762fc7ce784e5b71b8af21bef866", ".modelhub_state/queue_cleanup_latest.json": "01e08fd4618eb925c85708b1e84308d8914f762fc7ce784e5b71b8af21bef866",
".modelhub_state/recent_outcomes.jsonl": "57eb880db0330ff63bb8191ccb9121587f5e15c093d726be6b64403fbb9df03a", ".modelhub_state/recent_outcomes.jsonl": "57eb880db0330ff63bb8191ccb9121587f5e15c093d726be6b64403fbb9df03a",
@@ -16,9 +16,9 @@
"ledger/submissions.jsonl": "efa35b95c9b97d41f368b2198929b76558dfebf84ea0868d5edf451cb1de0d51", "ledger/submissions.jsonl": "efa35b95c9b97d41f368b2198929b76558dfebf84ea0868d5edf451cb1de0d51",
"outcomes/submissions.jsonl": "21f61e212567d10de47d3dc8795764b5d3e0a57a71f4b3b7987a31cdfa4372f7" "outcomes/submissions.jsonl": "21f61e212567d10de47d3dc8795764b5d3e0a57a71f4b3b7987a31cdfa4372f7"
}, },
"generation": 7499, "generation": 7500,
"phase": "cycle", "phase": "cycle",
"schemaVersion": 1, "schemaVersion": 1,
"updatedAt": "2026-09-15T03:12:06.584819+00:00", "updatedAt": "2026-09-15T03:15:54.538502+00:00",
"writerId": "07a76ec4a8bc45bc8c08d7549ca0fd6c" "writerId": "07a76ec4a8bc45bc8c08d7549ca0fd6c"
} }