Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
167 changes: 25 additions & 142 deletions config/icpc-northern-eurasia/nwrrc-2025-2026/advanced.json
Original file line number Diff line number Diff line change
@@ -1,46 +1,39 @@
[
{
"type": "overrideOrganisationTemplate",
"logo": {
"type": "Image",
"url": "/media/organizations/{org.id}/logo.svg"
}
},
{
"type": "overrideTeamTemplate",
"regexes": {
"custom": {
"fromName": {
"from": "{team.fullName}",
"rules": {
"([^:]*): (.*) (\\([^)]*\\))": {
"org": "$1",
"funnyNameValue": "$2",
"contestants": "$3",
},
"spb(.*)": {
"compValue": "$1"
}
"contestants": "$3"
}
}
},
"fromId": {
"from": "{team.id}",
"rules": {
"spb(.*)": {"compValue": "$1"}
}
}
},
"organizationId": "{regexes.custom.org}",
"customFields": {
"funnyName": "{regexes.custom.funnyNameValue}",
"comp": "{regexes.custom.compValue}"
"funnyName": "{regexes.fromName.funnyNameValue}",
"comp": "{regexes.fromId.compValue}"
}
},
{
"type": "overrideTeamTemplate",
"regexes": {
"custom": {
"from": "{team.id}",
"rules": {
"spb(.*)": {
"compValue": "$1"
}
}
}
},
"customFields": {
"comp": "{regexes.custom.compValue}"
}
},
{
"type": "overrideTeamTemplate",
"displayName": "{org.displayName}: {funnyName}",
"fullName": "{org.fullName}: {funnyName}",
"medias": {
"screen": {
"type": "WebRTCGrabberConnection",
Expand All @@ -62,33 +55,12 @@
}
}
},
{
"type": "overrideProblems",
"rules": {
"W": {
"color": "#a6406eff"
},
"X": {
"color": "#bb7190ff"
},
"Y": {
"color": "#3daa91ff"
},
"Z": {
"color": "#3f4a58ff"
}
}
},
{
"type": "addMedals",
"gold": 5,
"silver": 8,
"bronze": 10
},
{
"type": "overrideQueue",
"maxQueueSize": 20
},
{
"type": "overrideScoreboardSettings",
"problemColorPolicy": {
Expand All @@ -111,100 +83,11 @@
"J": { "color": "#3EABB4" },
"K": { "color": "#000000" },
"L": { "color": "#8E74B7" },

"W": { "color": "#a6406e" },
"X": { "color": "#bb7190" },
"Y": { "color": "#3daa91" },
"Z": { "color": "#3f4a58" }
}
},
{
"type": "overrideTeamTemplate",
"organizationId": "{team.customFields.organization_id}"
},
{
"type": "overrideOrganisationTemplate",
"logo": {
"type": "Image",
"url": "/media/organizations/{org.id}/logo.svg"
}
},
{
"type": "overrideOrganizations",
"rules": {
"3295": {
"displayName": "St. Petersburg ITMO University"
},
"1366": {
"displayName": "Novgorod State University"
},
"1456": {
"displayName": "Petrozavodsk State University"
},
"1584": {
"displayName": "St. Petersburg Baltic State Technical University"
},
"1587": {
"displayName": "St. Petersburg Polytechnic University"
},
"1592": {
"displayName": "St. Petersburg University of Aerospace Instrumentation"
},
"1772": {
"displayName": "St. Petersburg State University of Architecture and Civil Engineering"
},
"1802": {
"displayName": "St. Petersburg State University"
},
"3526": {
"displayName": "St. Petersburg Academic University"
},
"4325": {
"displayName": "St. Petersburg State University of Telecommunications"
},
"5320": {
"displayName": "St. Petersburg Electrotechnical University LETI"
},
"5341": {
"displayName": "Herzen State Pedagogical University"
},
"5343": {
"displayName": "Popov Naval Institute of Radio Electronics"
},
"6536": {
"displayName": "Pskov State University"
},
"7043": {
"displayName": "Admiral Makarov State University of Maritime and Inland Shipping"
},
"7537": {
"displayName": "St. Petersburg State University of Economics"
},
"7846": {
"displayName": "A. Pushkin Leningrad State University"
},
"7935": {
"displayName": "Military Telecommunications Academy named after the Soviet Union Marshal Budienny S.M."
},
"9606": {
"displayName": "St. Petersburg Campus of HSE University"
},
"10354": {
"displayName": "Mikhailovskaya Military Artillery Academy"
},
"10615": {
"displayName": "St. Petersburg State University of Industrial Technologies and Design"
},
"10617": {
"displayName": "Murmansk Arctic University"
},
"10618": {
"displayName": "Polytechnic College of Novgorod State University"
},
"14046": {
"displayName": "St. Petersburg State Forest Technical University named after S.M. Kirova"
},
"14047": {
"displayName": "Military Space Academy"
},
"24938": {
"displayName": "Military Academy of Logistics"
}
}
}
}
]
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
team_id,icpcid,icpc_id,original_name,university_display_name,group_id,organization_id
team_id,icpcid,icpc_id,original_name,university_display_name,group_id,organizationId
spb101,1115012,1115012,<3,St. Petersburg State University,37957,1802
spb102,1117231,1117231,Deprecated 25,St. Petersburg ITMO University,37957,3295
spb103,1117232,1117232,Log'n'roll,St. Petersburg State University,37957,1802
Expand Down
27 changes: 27 additions & 0 deletions config/icpc-northern-eurasia/nwrrc-2025-2026/org-custom-fields.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
org_id,fullName,displayName
3295,St. Petersburg ITMO University,SPb ITMO
1366,Novgorod State University,NovSU
1456,Petrozavodsk State University,Petrozavodsk SU
1584,St. Petersburg Baltic State Technical University,BSTU
1587,St. Petersburg Polytechnic University,Polytech
1592,St. Petersburg University of Aerospace Instrumentation,SUAI
1772,St. Petersburg State University of Architecture and Civil Engineering,SPSUACE
1802,St. Petersburg State University,St. Petersburg SU
3526,St. Petersburg Academic University,St. Petersburg AU
4325,St. Petersburg State University of Telecommunications,SPb SUT
5320,St. Petersburg Electrotechnical University LETI,SPbETU
5341,Herzen State Pedagogical University,Herzen SPU
5343,Popov Naval Institute of Radio Electronics,Popov Naval I of RE
6536,Pskov State University,Pskov SU
7043,Admiral Makarov State University of Maritime and Inland Shipping,Makarov SU of Maritime and IS
7537,St. Petersburg State University of Economics,SPb SU of Economics
7846,A. Pushkin Leningrad State University,Pushkin Leningrad SU
7935,Military Telecommunications Academy named after the Soviet Union Marshal Budienny S.M.,Budenny Mil Telecom A
9606,St. Petersburg Campus of HSE University,SPb HSE
10354,Mikhailovskaya Military Artillery Academy,MVAA
10615,St. Petersburg State University of Industrial Technologies and Design,SPb SUITD
10617,Murmansk Arctic University,Murmansk AU
10618,Polytechnic College of Novgorod State University,Pol C of Novgorod SU
14046,St. Petersburg State Forest Technical University named after S.M. Kirova,SPbFTU
14047,Military Space Academy,MSA
24938,Military Academy of Logistics,Military A of Logistics
108 changes: 75 additions & 33 deletions schemas/advanced.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -801,6 +801,21 @@
}
]
},
"kotlin.collections.LinkedHashMap?<kotlin.String,kotlin.String>": {
"oneOf": [
{
"type": "object",
"patternProperties": {
".*": {
"type": "string"
}
}
},
{
"type": "null"
}
]
},
"overrideOrganisationTemplate": {
"type": "object",
"properties": {
Expand All @@ -820,8 +835,29 @@
"logo": {
"$ref": "#/$defs/ListOrSingleElement?<kotlin.collections.ArrayList,org.icpclive.cds.api.MediaType>"
},
"extraLogo": {
"extraLogos": {
"$ref": "#/$defs/ListOrSingleElement?<kotlin.collections.ArrayList,org.icpclive.cds.api.MediaType>"
},
"country": {
"type": "string"
},
"countryFlag": {
"$ref": "#/$defs/ListOrSingleElement?<kotlin.collections.ArrayList,org.icpclive.cds.api.MediaType>"
},
"extraCountryFlags": {
"$ref": "#/$defs/ListOrSingleElement?<kotlin.collections.ArrayList,org.icpclive.cds.api.MediaType>"
},
"countrySubdivision": {
"type": "string"
},
"countrySubdivisionFlag": {
"$ref": "#/$defs/ListOrSingleElement?<kotlin.collections.ArrayList,org.icpclive.cds.api.MediaType>"
},
"extraCountrySubdivisionFlags": {
"$ref": "#/$defs/ListOrSingleElement?<kotlin.collections.ArrayList,org.icpclive.cds.api.MediaType>"
},
"customFields": {
"$ref": "#/$defs/kotlin.collections.LinkedHashMap?<kotlin.String,kotlin.String>"
}
},
"additionalProperties": false,
Expand All @@ -830,20 +866,7 @@
],
"title": "overrideOrganisationTemplate"
},
"kotlin.collections.ArrayList?<org.icpclive.cds.api.MediaType>": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/org.icpclive.cds.api.MediaType<kotlin.String,kotlinx.serialization.Sealed<MediaType>>"
}
},
{
"type": "null"
}
]
},
"org.icpclive.cds.tunning.OverrideOrganizations.Override<kotlin.String?,kotlin.String?,ListOrSingleElement?,kotlin.collections.ArrayList?>": {
"org.icpclive.cds.tunning.OverrideOrganizations.Override<kotlin.String?,kotlin.String?,ListOrSingleElement?,ListOrSingleElement?,kotlin.String?,ListOrSingleElement?,ListOrSingleElement?,kotlin.String?,ListOrSingleElement?,ListOrSingleElement?,kotlin.collections.LinkedHashMap?>": {
"type": "object",
"properties": {
"displayName": {
Expand All @@ -855,8 +878,29 @@
"logo": {
"$ref": "#/$defs/ListOrSingleElement?<kotlin.collections.ArrayList,org.icpclive.cds.api.MediaType>"
},
"extraLogo": {
"$ref": "#/$defs/kotlin.collections.ArrayList?<org.icpclive.cds.api.MediaType>"
"extraLogos": {
"$ref": "#/$defs/ListOrSingleElement?<kotlin.collections.ArrayList,org.icpclive.cds.api.MediaType>"
},
"country": {
"type": "string"
},
"countryFlag": {
"$ref": "#/$defs/ListOrSingleElement?<kotlin.collections.ArrayList,org.icpclive.cds.api.MediaType>"
},
"extraCountryFlags": {
"$ref": "#/$defs/ListOrSingleElement?<kotlin.collections.ArrayList,org.icpclive.cds.api.MediaType>"
},
"countrySubdivision": {
"type": "string"
},
"countrySubdivisionFlag": {
"$ref": "#/$defs/ListOrSingleElement?<kotlin.collections.ArrayList,org.icpclive.cds.api.MediaType>"
},
"extraCountrySubdivisionFlags": {
"$ref": "#/$defs/ListOrSingleElement?<kotlin.collections.ArrayList,org.icpclive.cds.api.MediaType>"
},
"customFields": {
"$ref": "#/$defs/kotlin.collections.LinkedHashMap?<kotlin.String,kotlin.String>"
}
},
"additionalProperties": false,
Expand All @@ -866,7 +910,7 @@
"type": "object",
"patternProperties": {
".*": {
"$ref": "#/$defs/org.icpclive.cds.tunning.OverrideOrganizations.Override<kotlin.String?,kotlin.String?,ListOrSingleElement?,kotlin.collections.ArrayList?>"
"$ref": "#/$defs/org.icpclive.cds.tunning.OverrideOrganizations.Override<kotlin.String?,kotlin.String?,ListOrSingleElement?,ListOrSingleElement?,kotlin.String?,ListOrSingleElement?,ListOrSingleElement?,kotlin.String?,ListOrSingleElement?,ListOrSingleElement?,kotlin.collections.LinkedHashMap?>"
}
}
},
Expand Down Expand Up @@ -1181,21 +1225,6 @@
}
]
},
"kotlin.collections.LinkedHashMap?<kotlin.String,kotlin.String>": {
"oneOf": [
{
"type": "object",
"patternProperties": {
".*": {
"type": "string"
}
}
},
{
"type": "null"
}
]
},
"kotlin.collections.LinkedHashMap?<org.icpclive.cds.api.TeamMediaType,ListOrSingleElement?>": {
"oneOf": [
{
Expand Down Expand Up @@ -1238,6 +1267,19 @@
}
]
},
"kotlin.collections.ArrayList?<org.icpclive.cds.api.MediaType>": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/org.icpclive.cds.api.MediaType<kotlin.String,kotlinx.serialization.Sealed<MediaType>>"
}
},
{
"type": "null"
}
]
},
"overrideTeamTemplate": {
"type": "object",
"properties": {
Expand Down
Loading