commit 00ee3b70ef4acd59fd570afae61f595a97c79b11 Author: ddnthemc Date: Wed Mar 26 15:39:35 2025 +0100 Initial Commit diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/Trofeo_GP_2025.iml b/.idea/Trofeo_GP_2025.iml new file mode 100644 index 0000000..b5ad51a --- /dev/null +++ b/.idea/Trofeo_GP_2025.iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..a6218fe --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..0ced078 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Links.txt.txt b/Links.txt.txt new file mode 100644 index 0000000..9bda3b2 --- /dev/null +++ b/Links.txt.txt @@ -0,0 +1,5 @@ +https://www.fiso.emr.it/wp0/trofeoemr_parz_2023_7/ +https://www.fiso.emr.it/wp0/wp-content/uploads/2024/06/TrofeoEMR_parz_2024.pdf +https://www.fiso.emr.it/wp0/trofeoemr_parz_2024/ + + diff --git a/Torfeo2024.py b/Torfeo2024.py new file mode 100644 index 0000000..5a484a7 --- /dev/null +++ b/Torfeo2024.py @@ -0,0 +1,362 @@ +from pyiofload import * +from merge_races import do_merge_races +from trophyPDF import TrophyPdf +import os + +# http://www.fiso.emr.it/wp0/wp-content/uploads/2022/06/TrofeoEMR_parz_2022_20220615.pdf +# https://www.fiso.emr.it/wp0/trofeoemr_parz_2022_20220615/ + +SPRINT_RACES = { + 2024149, # Parma + 2024157, # Piacenza + 2024151, # Bologna + 2024999, # Busseto + } + +DOUBLE_POINTS = {2024999, } + +yeartodo = '2024' + +outfile = f'TrofeoEMR_f_{yeartodo}.pdf' +# source_dir = 'E:/O/Trofeo_GPeroni_' + yeartodo +source_dir = 'xmls' +source_ext = '.xml' +class_renames = {'W18': 'W15-18', + 'M18': 'M15-18', + # 'M 13/14': 'M14', + # 'W 13/14': 'W14', + # 'M 17/18': 'M15-18', + # 'W 17/18': 'W15-18' + } + +to_be_merged = ( # (nome, file1, file2) + ('Parma', 'Parma1_2024149.xml', 'Parma2_2024150.xml', 2024149), + ('Bologna', 'Bologna1_2024151.xml', 'Bologna2_2024152.xml', 2024151), + ('Piacenza', 'Piacenza1_2024157.xml', 'Piacenza2_2024163.xml', 2024157), + # ('Piacenza', 'Piacenza1_2023224.xml', 'Piacenza2_2023225.xml', 2023224), + # ('Cesena', 'Cesena1_2023232.xml', 'Cesena2_2023233.xml', 2023232), +) + +EMR_Clubs = ('0098', '0206', '0221', '0255', '0275', '0610', '0738', '0746', '0761', '0769', '0793', '0794', + '0821', '0840') + + + +class TrophyRunner: + """A runner ranking in the Championship.""" + + def __init__(self, id_=None, clubid=None, club=None, classid=None, fullname=None, original_id=None, + name=None, family=None, championship=None): + self.id_ = id_ + self.original_id = original_id + self.fullname = fullname + self.name = name + self.family = family + self.clubid = clubid + self.club = club + self.class_ = classid + self.total_score = 0.0 + self.net_score = 0.0 + self.races = {} # A dictionry in the form of {race_id: score} + self.discarded = [] # A list of the discarded races + self.championship = championship + self.rank = None + + # def __str__(self): + # return f'{self.fullname} {self.discarded=}' + + def get_a_race_score(self, race_id): + return self.races.get(race_id, 0.0) + # if race_id in self.races: + # return self.races[race_id] + # else: + # return 0.0 + + def add_a_race(self, raceid=None, score=0.0): + if raceid is not None: + self.races[raceid] = score + self.total_score += score + + def compute_scarti(self, trophy, scarti=0, sprint_to_discard=1): + self.net_score = self.total_score + self.discarded = [] # Clear the list of the discarded races + sprint_races = [race for race in trophy.races if trophy.is_sprint(race)] + sprint_sorted_list = sorted(sprint_races, key=self.get_a_race_score) + self.discarded = sprint_sorted_list[:sprint_to_discard] # Le sprint da scartare di sicuro + remaining_races = [race_id for race_id in trophy.races if race_id not in self.discarded] + to_discard = scarti - len(self.discarded) + # if self.name == 'Olmo': + # print(f'------------- {self.fullname=} {scarti=}') + # print(f'------------- {sprint_races=}') + # print(f'------------- {sprint_sorted_list=}') + # print(f'------------- {self.discarded=}') + # print(f'------------- {remaining_races=}') + # print(f'------------- {to_discard=}') + if to_discard >= 1: + # do create a list of races, sorted by their scores + sl = sorted(remaining_races, key=self.get_a_race_score) + self.discarded.extend(sl[0:to_discard]) + # Now do adj the net score + for dis in self.discarded: + self.net_score -= self.get_a_race_score(dis) + + def __str__(self): + rstr = f'{self.id_:13s} {self.fullname:25s} {self.class_:3.3s} rank:{self.rank:2} pti: {self.net_score:6.2f} ({self.total_score:6.2f})' + for race_id in self.races: + race_name = self.championship.races[race_id].name + rstr += ' [{}{}{:6.2f}]'.format(race_name, ' ' if race_id not in self.discarded else '-', self.races[race_id]) + return rstr + + def to_str_list(self, races): + clubname = self.club.replace('A.S.D.', '').replace('POLISPORTIVA', 'Pol').replace( + 'ISTITUTO COMPRENSIVO', 'IC').replace('ATLETICA', 'Atl.').replace( + 'ORIENTEERING', 'Or').replace('Orienteering', 'Or') + rt = [self.fullname, + '{:4s} {:17.17s}'.format(self.clubid, clubname.replace('A.S.D.', '').strip()), + '{:7.2f}'.format(self.net_score), + '{:7.2f}'.format(self.total_score) + ] + for race in races: + if race in self.races: + if race in self.discarded: + rt.append('_{:6.2f}_'.format(self.races[race])) + else: + rt.append('{:6.2f}'.format(self.races[race])) + else: + rt.append(' ') + return rt + + +class TrophyClass: + """A Class that is part of a Championship""" + + def __init__(self, id_=None): + self.id_ = id_ + self.runners = [] # A list of the runner'id(s) belonging to this class. + + +class Championship: + """A class representing a Championship composed by many races""" + + def __init__(self, filename_=None, classes=None): + self.races = {} # Key = race_id, Values = the Race itself. + self.classes = {} # Key = classes_id, Values = the TrophyClass itself. + self.runners = {} # Key = runner_id, Values = the TrophyRunner itself. + self.clubs = {} # Key = club_id, Values = the Club itself. + self.trophy_classes = classes # A list/tuple of the classes involved in the Championship. + if filename_ is not None: + self.add_a_race(filename_or_race=filename_) + + def is_sprint(self, raceid) -> bool: + fiso_code = self.races[raceid].fiso_code + sprint = fiso_code in SPRINT_RACES + # print(f'IS SPRINT {sprint} {raceid} {fiso_code}') + return sprint + + def add_a_race(self, filename_or_race=None, name=None, class_remap=None, clubs_ko=None, k_factor=1.0, fiso_code=0): + """It adds a Race starting from an iof xml file""" + if filename_or_race is None: + return + # print(filename_or_race, type(filename_or_race)) + # print('#' * 80) + if type(filename_or_race) is str: + race = Race(fiso_code=int(fiso_code)) + race.load_from_iofxml(filename_=filename_or_race, + class_remap=class_remap, clubs_ko=clubs_ko, avoid_unk=True) + else: + race = filename_or_race[0] + if name is not None: + race.name = name + raceid = 'Race{:02d}'.format(1 + len(self.races)) + print('{} {} ({}) {}'.format(raceid, race.name, filename_or_race, race.date)) + strclasses = '' + for cl in sorted(race.classes.keys()): + strclasses += ' {}'.format(cl) + print(strclasses) + race.adj_scores(k_factor=k_factor) + self.races[raceid] = race # Beware of duplicates!!! @TODO + print('Race_id:', raceid) + # print('#' * 80) + # if 'Race07' == raceid: + # for rr, r in race.runners.items(): + # print(rr, r) + + for cl_ in race.classes: + if cl_ in self.trophy_classes and (cl_ not in self.classes): + new_trophy_class = TrophyClass(id_=cl_) + self.classes[cl_] = new_trophy_class + + for rn in race.runners: + dbg = False + # if rn == 'TO1637': + # dbg = True + # else: + # dbg = False + # Do keep up to date the organization dictionary + orgid = race.runners[rn].clubid + if orgid not in self.clubs: + self.clubs[orgid] = race.clubs[orgid] + + runner_class = race.runners[rn].class_ + runner_clubid = race.runners[rn].clubid + trophy_runner_id = '{}-{}'.format(rn, runner_class) + # if runner_class in self.trophy_classes and runner_clubid in EMR_Clubs: + if runner_class in self.trophy_classes: + # Add her/him if is part of a trophy class only + + if trophy_runner_id not in self.runners: # First time seen! Do add her/him! + # print('============== ', race.runners[rn].name) + new_trophy_runner = TrophyRunner(id_=trophy_runner_id, original_id=rn, + fullname=race.runners[rn].full_name(), + clubid=race.runners[rn].clubid, + club=race.runners[rn].club, + classid=runner_class, + name=race.runners[rn].name, + family=race.runners[rn].family, + championship=self + ) + self.runners[trophy_runner_id] = new_trophy_runner + else: # The runner is already present in the TrophyRunner database + if self.runners[trophy_runner_id].class_ != runner_class: + print('Runner Class mismatch!! {} prev:{} now:{}'.format( + self.runners[trophy_runner_id].fullname, + self.runners[trophy_runner_id].class_, + runner_class)) + self.runners[trophy_runner_id].add_a_race(raceid=raceid, score=race.runners[rn].score) + if dbg: + print('----------', self.runners[trophy_runner_id]) + if trophy_runner_id not in self.classes[runner_class].runners: + self.classes[runner_class].runners.append(trophy_runner_id) + + +NSCARTI = 0 + + +def main(): + trofy_classes = ('WE', 'ME', 'W15-18', 'M15-18', 'W35', 'M35', 'W14', 'M14', 'W12', 'M12', 'W55', 'M55') + # trofy_classes = ('M35', 'W18') + to_be_skipped = set() + for cr in to_be_merged: + to_be_skipped.update(cr[1:]) + print(f'TO Be Skipped: {to_be_skipped}') + files = [] + for (dirpath, dirnames, filenames) in os.walk(source_dir): + for f in filenames: + # print(f'Filename: {f}') + if f.endswith(source_ext) and f not in to_be_skipped: + files.append(os.path.join(dirpath, f)) + print(f'found: {f}') + break + # for f in files: + # print(os.path.splitext(f)) + # print(files) + race_list = [] + for racename, r1, r2, fiso_code in to_be_merged: + ff1 = os.path.join(source_dir, r1) + ff2 = os.path.join(source_dir, r2) + print(f'loading ---- {racename} {fiso_code}') + race_list.append((do_merge_races(ff1, ff2, class_remap=class_renames, fiso_code=fiso_code), racename, + class_renames, fiso_code)) + print(files) + for f in files: + parts = os.path.basename(f).rstrip(source_ext).split('_') + racename, fiso_code = parts + race_list.append((f, racename, class_renames, fiso_code)) + + # print(race_list) + + clubs_ko = ('1000', '2055') + + trofeo20XX = Championship(classes=trofy_classes) + # for r in race_list: + for r in race_list: + racefile, racename, remap, fiso_code = r + if int(fiso_code) in DOUBLE_POINTS: + kf = 2.0 + else: + kf = 1.0 + print(f'RACENAME= {racename} {fiso_code} KF={kf} {type(fiso_code)}') + trofeo20XX.add_a_race(filename_or_race=racefile, name=racename, class_remap=remap, clubs_ko=clubs_ko, + k_factor=kf, fiso_code=fiso_code) + + def get_score(rrr): + return trofeo20XX.runners[rrr].net_score + + # All runner iteration... + # for rr in sorted(trofeo20XX.runners, key=get_score_from_runner, reverse=True): + + # print 'Totale Corridori: {}\n'.format(len(trofeo20XX.runners)) + # for rr in trofeo20XX.runners: + # print trofeo20XX.runners[rr] + # Partecipants = {} # A dictionary with {raceid: participants} + print(f'Numero Gare: {len(trofeo20XX.races)}') + + dup_runners = {} + for rnr in trofeo20XX.runners: + runner_obj = trofeo20XX.runners[rnr] + # print(f'{str(runner_obj)}') + if '-' in runner_obj.id_: + fiso_id, *_ = runner_obj.id_.split('-') + else: + fiso_id = runner_obj.id_ + if fiso_id in dup_runners: + # print(f'MULTI-Class: {str(runner_obj)}') + dup_runners[fiso_id].append(runner_obj) + else: + dup_runners[fiso_id] = [runner_obj,] + runner_obj.compute_scarti(trophy=trofeo20XX, scarti=NSCARTI) + + print('-' * 91) + race_columns = sorted(trofeo20XX.races, key=lambda x: trofeo20XX.races[x].date) + print(race_columns) + print(trofeo20XX.races.keys()) + first_row = ['Rank', 'Atleta', 'Società', 'Al netto\ndegli scarti', 'Lordo'] + for r in race_columns: + race_name_bare = trofeo20XX.races[r].name + race_name = race_name_bare if not trofeo20XX.is_sprint(r) else f'*{race_name_bare}' + first_row.append('{:10.10s}\n{}'.format(race_name, trofeo20XX.races[r].date.split(' ')[0])) + print(first_row) + # print first_row[3] + + pdfreport = TrophyPdf(filename=outfile) + + result_tables = {} # A dictionary in the form {class_id : result_table} + # for cl in trofeo20XX.classes: + for cl in trofy_classes: + first_row[1] = 'Categoria ({})'.format(cl) + newtab = [first_row, ] + print('#' * 40, ' {} ha {} partecipanti.'.format(cl, len(trofeo20XX.classes[cl].runners)), '#' * 40) + rank = 1 + for rnr in sorted(trofeo20XX.classes[cl].runners, key=get_score, reverse=True): + # print(rnr) + current_runner = trofeo20XX.runners[rnr] + current_runner.rank = rank + print(current_runner) + tabrow = current_runner.to_str_list(race_columns) + tabrow.insert(0, '{:d}'.format(rank)) + newtab.append(tabrow) + # print(tabrow) + rank += 1 + # for row in newtab: + # print(len(row), row) + # print(newtab) + nrow = len(newtab) + lrow = len(newtab[0]) + while nrow < 4: + newtab.append((' ',) * lrow) + nrow += 1 + pdfreport.add_table(table=newtab, title='Categoria {}'.format(cl)) + # pdfreport.add_table(table=newtab) + result_tables[cl] = newtab + + pdfreport.commit() + for multir, runners in dup_runners.items(): + if len(runners) > 1: + print(' MULTI Categoria ') + for runner in runners: + shortened = str(runner)[14:] + print(shortened) + + +if __name__ == '__main__': + main() diff --git a/Trofeo2025.py b/Trofeo2025.py new file mode 100644 index 0000000..ebf8fdf --- /dev/null +++ b/Trofeo2025.py @@ -0,0 +1,359 @@ +from pyiofload import * +from merge_races import do_merge_races +from trophyPDF import TrophyPdf +import os + +# http://www.fiso.emr.it/wp0/wp-content/uploads/2022/06/TrofeoEMR_parz_2022_20220615.pdf +# https://www.fiso.emr.it/wp0/trofeoemr_parz_2022_20220615/ + +SPRINT_RACES = { + 2025122, # Parma + 2025124, # Bologna + } + +DOUBLE_POINTS = {2024999, } + +NSCARTI = 0 + +yeartodo = '2025' + +outfile = f'TrofeoEMR_{yeartodo}_parz.pdf' +# source_dir = 'E:/O/Trofeo_GPeroni_' + yeartodo +source_dir = 'xmls' +source_ext = '.xml' +class_renames = {'W18': 'W15-18', + 'M18': 'M15-18', + # 'M 13/14': 'M14', + # 'W 13/14': 'W14', + # 'M 17/18': 'M15-18', + # 'W 17/18': 'W15-18' + } + +to_be_merged = ( # (nome, file1, file2) + ('ParmaColorno', 'ParmaColorno1_2025122.xml', 'ParmaColorno2_2025123.xml', 22025122), + # ('Bologna', 'Bologna1_2024151.xml', 'Bologna2_2024152.xml', 2024151), + # ('Piacenza', 'Piacenza1_2024157.xml', 'Piacenza2_2024163.xml', 2024157), + # ('Piacenza', 'Piacenza1_2023224.xml', 'Piacenza2_2023225.xml', 2023224), + # ('Cesena', 'Cesena1_2023232.xml', 'Cesena2_2023233.xml', 2023232), +) + +EMR_Clubs = ('0098', '0206', '0221', '0255', '0275', '0610', '0738', '0746', '0761', '0769', '0793', '0794', + '0821', '0840') + + +class TrophyRunner: + """A runner ranking in the Championship.""" + + def __init__(self, id_=None, clubid=None, club=None, classid=None, fullname=None, original_id=None, + name=None, family=None, championship=None): + self.id_ = id_ + self.original_id = original_id + self.fullname = fullname + self.name = name + self.family = family + self.clubid = clubid + self.club = club + self.class_ = classid + self.total_score = 0.0 + self.net_score = 0.0 + self.races = {} # A dictionry in the form of {race_id: score} + self.discarded = [] # A list of the discarded races + self.championship = championship + self.rank = None + + # def __str__(self): + # return f'{self.fullname} {self.discarded=}' + + def get_a_race_score(self, race_id): + return self.races.get(race_id, 0.0) + # if race_id in self.races: + # return self.races[race_id] + # else: + # return 0.0 + + def add_a_race(self, raceid=None, score=0.0): + if raceid is not None: + self.races[raceid] = score + self.total_score += score + + def compute_scarti(self, trophy, scarti=0, sprint_to_discard=NSCARTI): + self.net_score = self.total_score + self.discarded = [] # Clear the list of the discarded races + sprint_races = [race for race in trophy.races if trophy.is_sprint(race)] + sprint_sorted_list = sorted(sprint_races, key=self.get_a_race_score) + self.discarded = sprint_sorted_list[:sprint_to_discard] # Le sprint da scartare di sicuro + remaining_races = [race_id for race_id in trophy.races if race_id not in self.discarded] + to_discard = scarti - len(self.discarded) + # if self.name == 'Olmo': + # print(f'------------- {self.fullname=} {scarti=}') + # print(f'------------- {sprint_races=}') + # print(f'------------- {sprint_sorted_list=}') + # print(f'------------- {self.discarded=}') + # print(f'------------- {remaining_races=}') + # print(f'------------- {to_discard=}') + if to_discard >= 1: + # do create a list of races, sorted by their scores + sl = sorted(remaining_races, key=self.get_a_race_score) + self.discarded.extend(sl[0:to_discard]) + # Now do adj the net score + for dis in self.discarded: + self.net_score -= self.get_a_race_score(dis) + + def __str__(self): + rstr = f'{self.id_:13s} {self.fullname:25s} {self.class_:3.3s} rank:{self.rank:2} pti: {self.net_score:6.2f} ({self.total_score:6.2f})' + for race_id in self.races: + race_name = self.championship.races[race_id].name + rstr += ' [{}{}{:6.2f}]'.format(race_name, ' ' if race_id not in self.discarded else '-', self.races[race_id]) + return rstr + + def to_str_list(self, races): + clubname = self.club.replace('A.S.D.', '').replace('POLISPORTIVA', 'Pol').replace( + 'ISTITUTO COMPRENSIVO', 'IC').replace('ATLETICA', 'Atl.').replace( + 'ORIENTEERING', 'Or').replace('Orienteering', 'Or') + rt = [self.fullname, + '{:4s} {:17.17s}'.format(self.clubid, clubname.replace('A.S.D.', '').strip()), + '{:7.2f}'.format(self.net_score), + '{:7.2f}'.format(self.total_score) + ] + for race in races: + if race in self.races: + if race in self.discarded: + rt.append('_{:6.2f}_'.format(self.races[race])) + else: + rt.append('{:6.2f}'.format(self.races[race])) + else: + rt.append(' ') + return rt + + +class TrophyClass: + """A Class that is part of a Championship""" + + def __init__(self, id_=None): + self.id_ = id_ + self.runners = [] # A list of the runner'id(s) belonging to this class. + + +class Championship: + """A class representing a Championship composed by many races""" + + def __init__(self, filename_=None, classes=None): + self.races = {} # Key = race_id, Values = the Race itself. + self.classes = {} # Key = classes_id, Values = the TrophyClass itself. + self.runners = {} # Key = runner_id, Values = the TrophyRunner itself. + self.clubs = {} # Key = club_id, Values = the Club itself. + self.trophy_classes = classes # A list/tuple of the classes involved in the Championship. + if filename_ is not None: + self.add_a_race(filename_or_race=filename_) + + def is_sprint(self, raceid) -> bool: + fiso_code = self.races[raceid].fiso_code + sprint = fiso_code in SPRINT_RACES + # print(f'IS SPRINT {sprint} {raceid} {fiso_code}') + return sprint + + def add_a_race(self, filename_or_race=None, name=None, class_remap=None, clubs_ko=None, k_factor=1.0, fiso_code=0): + """It adds a Race starting from an iof xml file""" + if filename_or_race is None: + return + # print(filename_or_race, type(filename_or_race)) + # print('#' * 80) + if type(filename_or_race) is str: + race = Race(fiso_code=int(fiso_code)) + race.load_from_iofxml(filename_=filename_or_race, + class_remap=class_remap, clubs_ko=clubs_ko, avoid_unk=True) + else: + race = filename_or_race[0] + if name is not None: + race.name = name + raceid = 'Race{:02d}'.format(1 + len(self.races)) + print('{} {} ({}) {}'.format(raceid, race.name, filename_or_race, race.date)) + strclasses = '' + for cl in sorted(race.classes.keys()): + strclasses += ' {}'.format(cl) + print(strclasses) + race.adj_scores(k_factor=k_factor) + self.races[raceid] = race # Beware of duplicates!!! @TODO + print('Race_id:', raceid) + # print('#' * 80) + # if 'Race07' == raceid: + # for rr, r in race.runners.items(): + # print(rr, r) + + for cl_ in race.classes: + if cl_ in self.trophy_classes and (cl_ not in self.classes): + new_trophy_class = TrophyClass(id_=cl_) + self.classes[cl_] = new_trophy_class + + for rn in race.runners: + dbg = False + # if rn == 'TO1637': + # dbg = True + # else: + # dbg = False + # Do keep up to date the organization dictionary + orgid = race.runners[rn].clubid + if orgid not in self.clubs: + self.clubs[orgid] = race.clubs[orgid] + + runner_class = race.runners[rn].class_ + runner_clubid = race.runners[rn].clubid + trophy_runner_id = '{}-{}'.format(rn, runner_class) + # if runner_class in self.trophy_classes and runner_clubid in EMR_Clubs: + if runner_class in self.trophy_classes: + # Add her/him if is part of a trophy class only + + if trophy_runner_id not in self.runners: # First time seen! Do add her/him! + # print('============== ', race.runners[rn].name) + new_trophy_runner = TrophyRunner(id_=trophy_runner_id, original_id=rn, + fullname=race.runners[rn].full_name(), + clubid=race.runners[rn].clubid, + club=race.runners[rn].club, + classid=runner_class, + name=race.runners[rn].name, + family=race.runners[rn].family, + championship=self + ) + self.runners[trophy_runner_id] = new_trophy_runner + else: # The runner is already present in the TrophyRunner database + if self.runners[trophy_runner_id].class_ != runner_class: + print('Runner Class mismatch!! {} prev:{} now:{}'.format( + self.runners[trophy_runner_id].fullname, + self.runners[trophy_runner_id].class_, + runner_class)) + self.runners[trophy_runner_id].add_a_race(raceid=raceid, score=race.runners[rn].score) + if dbg: + print('----------', self.runners[trophy_runner_id]) + if trophy_runner_id not in self.classes[runner_class].runners: + self.classes[runner_class].runners.append(trophy_runner_id) + + + +def main(): + trofy_classes = ('WE', 'ME', 'W15-18', 'M15-18', 'W35', 'M35', 'W14', 'M14', 'W12', 'M12', 'W55', 'M55') + # trofy_classes = ('M35', 'W18') + to_be_skipped = set() + for cr in to_be_merged: + to_be_skipped.update(cr[1:]) + print(f'TO Be Skipped: {to_be_skipped}') + files = [] + for (dirpath, dirnames, filenames) in os.walk(source_dir): + for f in filenames: + # print(f'Filename: {f}') + if f.endswith(source_ext) and f not in to_be_skipped: + files.append(os.path.join(dirpath, f)) + print(f'found: {f}') + break + # for f in files: + # print(os.path.splitext(f)) + # print(files) + race_list = [] + for racename, r1, r2, fiso_code in to_be_merged: + ff1 = os.path.join(source_dir, r1) + ff2 = os.path.join(source_dir, r2) + print(f'loading ---- {racename} {fiso_code}') + race_list.append((do_merge_races(ff1, ff2, class_remap=class_renames, fiso_code=fiso_code), racename, + class_renames, fiso_code)) + print(files) + for f in files: + parts = os.path.basename(f).rstrip(source_ext).split('_') + racename, fiso_code = parts + race_list.append((f, racename, class_renames, fiso_code)) + + # print(race_list) + + clubs_ko = ('1000', '2055') + + trofeo20XX = Championship(classes=trofy_classes) + # for r in race_list: + for r in race_list: + racefile, racename, remap, fiso_code = r + if int(fiso_code) in DOUBLE_POINTS: + kf = 2.0 + else: + kf = 1.0 + print(f'RACENAME= {racename} {fiso_code} KF={kf} {type(fiso_code)}') + trofeo20XX.add_a_race(filename_or_race=racefile, name=racename, class_remap=remap, clubs_ko=clubs_ko, + k_factor=kf, fiso_code=fiso_code) + + def get_score(rrr): + return trofeo20XX.runners[rrr].net_score + + # All runner iteration... + # for rr in sorted(trofeo20XX.runners, key=get_score_from_runner, reverse=True): + + # print 'Totale Corridori: {}\n'.format(len(trofeo20XX.runners)) + # for rr in trofeo20XX.runners: + # print trofeo20XX.runners[rr] + # Partecipants = {} # A dictionary with {raceid: participants} + print(f'Numero Gare: {len(trofeo20XX.races)}') + + dup_runners = {} + for rnr in trofeo20XX.runners: + runner_obj = trofeo20XX.runners[rnr] + # print(f'{str(runner_obj)}') + if '-' in runner_obj.id_: + fiso_id, *_ = runner_obj.id_.split('-') + else: + fiso_id = runner_obj.id_ + if fiso_id in dup_runners: + # print(f'MULTI-Class: {str(runner_obj)}') + dup_runners[fiso_id].append(runner_obj) + else: + dup_runners[fiso_id] = [runner_obj,] + runner_obj.compute_scarti(trophy=trofeo20XX, scarti=NSCARTI) + + print('-' * 91) + race_columns = sorted(trofeo20XX.races, key=lambda x: trofeo20XX.races[x].date) + print(race_columns) + print(trofeo20XX.races.keys()) + first_row = ['Rank', 'Atleta', 'Società', 'Al netto\ndegli scarti', 'Lordo'] + for r in race_columns: + race_name_bare = trofeo20XX.races[r].name + race_name = race_name_bare if not trofeo20XX.is_sprint(r) else f'*{race_name_bare}' + first_row.append('{:10.10s}\n{}'.format(race_name, trofeo20XX.races[r].date.split(' ')[0])) + print(first_row) + # print first_row[3] + + pdfreport = TrophyPdf(filename=outfile, page='A4P') + + result_tables = {} # A dictionary in the form {class_id : result_table} + # for cl in trofeo20XX.classes: + for cl in trofy_classes: + first_row[1] = 'Categoria ({})'.format(cl) + newtab = [first_row, ] + print('#' * 40, ' {} ha {} partecipanti.'.format(cl, len(trofeo20XX.classes[cl].runners)), '#' * 40) + rank = 1 + for rnr in sorted(trofeo20XX.classes[cl].runners, key=get_score, reverse=True): + # print(rnr) + current_runner = trofeo20XX.runners[rnr] + current_runner.rank = rank + print(current_runner) + tabrow = current_runner.to_str_list(race_columns) + tabrow.insert(0, '{:d}'.format(rank)) + newtab.append(tabrow) + # print(tabrow) + rank += 1 + # for row in newtab: + # print(len(row), row) + # print(newtab) + nrow = len(newtab) + lrow = len(newtab[0]) + while nrow < 4: + newtab.append((' ',) * lrow) + nrow += 1 + pdfreport.add_table(table=newtab, title='Categoria {}'.format(cl)) + # pdfreport.add_table(table=newtab) + result_tables[cl] = newtab + + pdfreport.commit() + for multir, runners in dup_runners.items(): + if len(runners) > 1: + print(' MULTI Categoria ') + for runner in runners: + shortened = str(runner)[14:] + print(shortened) + + +if __name__ == '__main__': + main() diff --git a/TrofeoEMR_2025_2.pdf b/TrofeoEMR_2025_2.pdf new file mode 100644 index 0000000..987874a --- /dev/null +++ b/TrofeoEMR_2025_2.pdf @@ -0,0 +1,125 @@ +%PDF-1.4 +%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com +1 0 obj +<< +/F1 2 0 R +>> +endobj +2 0 obj +<< +/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font +>> +endobj +3 0 obj +<< +/Contents 10 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 9 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +4 0 obj +<< +/Contents 11 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 9 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +5 0 obj +<< +/Contents 12 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 9 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +6 0 obj +<< +/Contents 13 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 9 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +7 0 obj +<< +/PageMode /UseNone /Pages 9 0 R /Type /Catalog +>> +endobj +8 0 obj +<< +/Author (\(anonymous\)) /CreationDate (D:20250326150423+01'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20250326150423+01'00') /Producer (ReportLab PDF Library - www.reportlab.com) + /Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False +>> +endobj +9 0 obj +<< +/Count 4 /Kids [ 3 0 R 4 0 R 5 0 R 6 0 R ] /Type /Pages +>> +endobj +10 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 5370 +>> +stream +Gau`XflGlX'n,gXi%:.l14t8gpdhgV*_q#YW4&V`R[5)+a4#kr-#GZAjQgm''c/+r''^`Cc'X72]g20#/'hp!./^=7rsrHB\N,a9]OQV7Eqkp(0F5d/6h8-a^V=1dP06+DE>T?\=V-9R5TK]j!]0+]mpB>9.'GT:[e",P`eg4ZWFo*55Ksr!@gAl:FklE#L('*Z`%@&r7eF,SE\1En3)NI\dtRV!@,_O-:kphJ7&^TmiJA%WW=2*7nOY]-BGh"4E$0E=7Z<^a\)@W&BHj?=$Ebq;Js8`eGASK2.eLC-J;PaIRRu?>XBp!)^">AMOUk8B&dl$$T[p0s`tTp=c6#Lf83%25mqpSj/O\WGcWZVjU%Zqn";ahPjL.:AR]orDi1J1#YGcMBl4Crk%aroN//)2ppkhZj6aW,c$7n'`Am=o63F\5Q?2"DR)!U`IWQ"L735ar,=j5r!]23BBk(Z&o\=H@FtfrO6#Qto("mX_?1C*:_3"^5+Ol%T#oT>j5oAbCi__hAhIc4,*a\GF)@L%T-ijc;&VtBH[-J$pq,SJbAm4QpjAJ8MJ3X!&0sXc`$pc(;Z;u?nK:+B?micJI=D@,I""*h1)2(-H-'/_i[mlkONE%hBJPc;/>F[*S#EZ=MDXBP0E7DXrd;dYq>AG#no>^N*'0]9cFSB;r^#uGRt.RBZH_eFUAc_>2"6``/+-/&63^F@60Z-%9;Z7c;5k4CRK4=c$%M`U'&p+um>:di0QG[`("j@PIP!KmV&UnKF7(p(H%R^r`"%1tIE#l:^VQc6*MgZ-KQn^GU45F.0j*DKqs!li;eOQe3L3tsF5Pk"9#4:f@?#SLdD'W%IP+0-1EMVjPK*>N(E.ff.0XV+CN%-rGK-qpuD+t`efnn1O2t,AO0)lr6]Z]Kq:7&<=fZE-WcZfWei0MG0_@7e:KhA(.m(oJ(Md7*>8")%SJ]0f1,95ML@40dmA1pmmRS9b-Z(4#u]%WL[qn)2k(1_LaG59aR%s\cS'2k8kP.`s^Ut?^Yo%iI,[b,.tjQZ%WC@r,jS+mom6Kq#s(cYBG-(sRM.):Ht=LH.WPZ710SNIqh/hbBVmP7oecX+9p2F(P'auHM84QpnQCf>0@_RJ.]D634$Z8&[/%R.0]c(N[^#Y2'cfSMLIM1ao)R.,FGQ$2//BX[fJhde!^4?[u[`d+3BMB,H1@WfT!f4`:*,L)n!Ta4:VfATPV#B-hEjY5gtnYr'<*I<6bZ/0&rbfh-S%pk/f.f4IlfBZI'pm8R<1AfksTkgCO,J!7-?0Ff:GQ4V*5OFg5n^0rI#O@0pVF3?58n3`q]f1iA\eT;CbuG;'>g[m8a=i^6qgqG^NU7VPuR)[LYW"m5XN/CMDbOi?[).)=]o&9OXt0#iF$:^C7.9$QBPK//,)b#JXm\GYmpeV>rCBXt:T/3uuU"T![0A'\UY7'8@Y=2PW9J@;N;JE=_cJs9>TE\$/9a!V.>PH?W=>Y\'YX%=qN9\6$K2%]2"(lZ-pERMjp/'[R+JKA5+BPG?b*g9enlaNu2D>&#aKK[!*'_h@Y@q;V&JoN-;#KaV`(VAIPO@2egCAs%%<[H$JK2i58E3)YCekE7=(-fZcIsD\qPbg)Zk259(aWg^e^OM8O6RP;j^3&h.]:qf9?X]o,98Z?@$1;5fI%A8E_mDiQVA48fR'rs4FD?gWdhR"m7`1ocRZ\0.attqG>L[(bEJB3^M`ON^^sFcP;28js(E0/&l7f?I6Gp0!/Z'7^oT6MW7FgDdB3WmC_+)V@hnc1g`i'Fc8CZ,=>T++hK.`mQ#DHip9aL)JPR*q61tMq"]g5[P*NFFSCD.>;l?.OZBs(0$RT-K?.nF`@+LP;RH6`;OFiHX?.Cami,g]FR99iu@)+q/iarljp6n+uC$UStcc\%I=E'u.P4qW^Q2%g=ROMe48'--kL%)k%C.E)Eg['N=\P3"*8A!+jsgb'2##T=<%SD%H9lYoe8CP.b-0ff!7_/2rb0_MTN(\GtOXk3/ieYWZNB%5B>r;8&1"b(MBlNM`d[IjU93OSM]5JPouJ_uF?H@_\iAX^DQ7V/%(c`8rui&@Dh:#P3f[l]/u*85^ih`+d]M]Dj`&[?ZKoG@9/fTLG-FFi=mTtl_idrgM:j:qBc,"T3N9)9Zs^eY/7IuO40Dge7@&O>Hj:M#aa`NYMU[CM*(O*AeEiZLtGUDY1L;u!c&(Qp^F,DJpu?jme2ORoCG2,:JW4aRZg".nie-iU-siS=$ICGnf]Z)o;1V_/V0jgKY`0Wq@L_Hl:>CtLa-Bm?W1U"%=q!!(l36G&XYt;g@r,mIld//aEAG(A`\mqnb2a=o.mjn949$VPh2B-onHNEn7@3dQ9]Ss@`pOb:ChsdQ;"9f>5E>'/8CQm#g-XXqpaDa56T6(K)foe\'LtMZd/cqj06j!3KYsE.VbCDE4^bJOJd"qth>4+maAZAn@ie>V@Is;%hWn?9c+\b[DG,JP*SB_]Gk`1a[9'_@k3NLBBZ+dk+?*_&pOso$&5!#+Of!l07)3e6U\DePV)a>j<(WF5XIU+bS2EJCtm7n/U+2ZmM:-:W)?ZR9C*F'4\ZTm6Y?0>?Z@M[`&pKlnu%PCk&/eYY&j;AH1@@BL&_[`j6J?IpX41H4"FN]k8reI`P`GYVV.@r_o/q:L':+nfl+W&b\Q7Abi$eDP?'XoZ>L5Ti7Aj@D\Ak`MPjB6;+ZcLUD:C[sZ_QJA:DUh>NrUJ&ic]33T-We>/G&kF+b.ThWG&iS<)/t?T/--c8hG15.45K\M*8X7-HiJNu]=RD*iAXQpY&!+`R);BG=:`JaS+24nCucL+1LL\]=9:PG/C(H\7P=Qm$8up)IN[N8'^Xkkg)AH0EP_TX-CJar1ONFPC!:_B42D4T@foJuAp*S[Z1B0)D+kboGm'A.]?EU@%\Y5??9K]g(HF_6VAtL%;Z_dfX5%c[$/bX4)qe6DS^<8]NUc^k(*![+>=j1;)f@:Y(VNkr%jIp22ZuW]'%u-?b3hU'PRT?T5"+[)1lS^,UQg5^hSGGQ%+7>5_lY6MKp2_ZWW"3t%cS^m)*%kn"\a%QT5pmS\aNqgG.MWu9.UYo@]geiM**ocI2QE'$e'UT#qX>E[9Lm\gNCfYbTOflk\A-&<\B*&TWFd)hFKMmo-?"jHT&a:.3.F'c&71+pV"E]Qd.50=/CR9Q/6QE#3SYfF$G=C.Y;ZG0eP8N4!B$&Ym1,M[/e6uN.L5'E#3_X%uclc%SB..LX(HnQEl:jd.Y?!FdU`-TjcZL;<(l5Yo;L"Q6XD"Xc4Y*CiG:/3j_gU.)N8#b4)pH`k*.k)4CVE(fE&;!AdnoLq+mrOnF#-]_ceUC`hQ@H/Zo)N(l!'n5WUW*=bHA7a?*MgK?oW]r\3?&oEkb;*_(9M4?NDk@lNXEXo?3bQZYi$'8gSjQI/.6KF4tc`0^kOmt$?.ljn0n@$j1!!!*oP1gsL%O#TEP\POn\2Ne9m$lMAVqj_>CBPOAU&KE2f"37!k!(J\6d5~>endstream +endobj +11 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 5412 +>> +stream +GauHPgN)=4&q0LUi,+ZW%2T"1Jp=)&Nh`[.Nhi(BV<13^.upp@1b1Z@WdOb'#i6IF5nS.#amLk4km#(Y9B1+mN)9;eo)F2e+lmf6rqVZg`l[?Z_F,NfAk')Nc$sY6JRi!g,,()!9dKN7Y*]WC8BscC^PrR&Q-]e\Ot]K19&"gS5!N;%f*!-f1utO>86?GBd^&(^O=UkcaY:0,O$h-2)Xp9D,'OY]R7#>VCpI5`D&uKls/.75!#j[%N[_[4R@[O`Hb`$sW>D>0A]j6fsp:T9Hq_G(l"tA%CaM,=asO[>7cZUUt+9.k-1pFMAfFL.P]Ic:h-M0#,=n#=Qs];QW?J4WI1XX7!WW:&g"!u+O$Yci7`<_&EU;/!O>%g%&CDAT-o?#S/O'B21h4/%X;E3!A-OuJ*L./HIahY)mMYL^Fc.pPoa:XE'`eUs35*O[X13Sr$?D"I:,WVq";$@=:cjBDX'_B/r>g!*@MG/,":1OAu*4/Gj]mQ'mb0QmC5P@iC^p#jDdCf2UP)1cqoG%(QO(_$1fpEFM5uU+]9!ZZ/UXHelj:@o4kB>OBp4:,9Z;A?Q>0Hq'sVl1L\+7Hi-Zd%97i-`HK(*Dm!?pj6b#KB#K,nG1:+-4sPcn[6?bAGAghTd1[!EV+2dJKrd1)&*16IHTUnf,SJZ>QEN33aj]\RYU?W8g[j0KjAmJ8mX&49R[q`"4`0dMddnUB2>Ua.Ib@IkLXWf["GkW>dFs=R*ds^Z"7Oun(_%1e)Z&k;)L4Mam6J-9U'fI6dFD.iJZA6K#G\NL.`G-7kmTWbF>a$0S8BC[41q(Q"WbSWTh4X0Ea\'=3QjegH+MRHrl@VPG+=4S\;U.`+$UND/C&ojIg[:E1(NEQE]RJSN"quiZ0H&%V*%+De3*Rc=0\PF)Sp8o)@0">BfF)PK.tu*`^"#!6S#P90i1.2:rolcieg2OeaiEWq>Pt#QMXpN[InV%qOJl;jh:C+sP5eR70IC[oZ)e5ko*0p^l6^o4Btg4nf98&u+7\@*NMbC"(ZHE4Tb+d!*=5^m9#9uC4O0NtNf7Z`qeqKEIX?9L2="O]P`o[oeQk+(aQ#ZbL[TO09.2MSc09AC4^kbLk1"]D'C="q0kTa/NgL3D;R7qukBh0,QU@+gWZH[NHed>"$86#-qoeuQ35R!V,7%I)HE[>(('D*LM6%93BoeMUM_`1a#_VN_I@Fe"K8Pbnl^BMc]CP!FSTLanT3&Jq#Qjj6P#=a4_l%&Q1t'!u]@P]0cs<+iFMPji)j(\l8,;,Q!TC:Ft$C)N^gL*^(FRr'lhbeso9@*V[t9O2F5RN;D!lGh8'9:@_BSjVg68VtXfY`0Ko*>JN\SLNL)J$8',M3%VhZgXNRjG@0>\q;"K0MusqIbG&q+Ys=0X@st`j,Z_P->6MWHcLO!iY^JV%ru>*W;fINRpZka*<'LjsIO@\q]B-!Y't2X\=k\+e)gg8V((Pt;dU@bYQ$9]`MkJP<,[4tK@f-&ULH%qQk8`X=)J7cFZ,t)cFHN]FaUn\r=F)>$CoSM5p)n?W([lBS'5'o*r<=Qff\eg@h(@JAOUo6sg$%#AQgO=fLH6]n9,6U$gI&Q@VhB:#8Hj0+Gh9ho**;$0LdSauQPY"R6jE&b"[RJr3(e79bI3`!^7%i!>'%I7*Ht:u8FU$tX6s&E-ma"jik7,?YcPq[ESi7Lq4DuokH/;rao";fKjn[o*&'FM=&aLg@-]*uKc*\"C8M5DPOQ+uG^^SOb91GL3f/=n3EY6J#o]Fk^!%1rCas"_]K!Zj#^NiBD9([`+VD.G5d*F@BkX.>\_O)#hKcU_gM%P2)&1(S)8G$065RF-jrt%Nf+c2e3#gjo]rGX%0Euh.B%AFAnMi(LI#TiMbk6!bg+p+)kD@@j@Q&4Oj$oA1+.[%2nmc_k!_t=JQ\KN2>j$AUArMo,`gpAn0T:_HYXZU>M/RP`L0.I-QGCXKq/W<5P[5//Si3b@KD?7YO5]Re4J']/0YnCe;R?_=1mh\P7[5lH\)`lbi?8_>`<\+fYor7VnpNF22=FP:rn&9Q*Mi<4j2E^(,@KX&l5(uD3/]bWE'IdEL]?X1?hBBr(oSp.'+VOOl.:5QBNZVW,i88\)6bN+"5!c=l?*:KK^Z$MRMnr-1m,9#C9sE^Fku6$rF,a!l_lkAJj7O1Iohu/eat_FkonTDm(mtnl(o^;Al>^lJMY1f'[RQR#(4o.#gF3u,f,)*o5qC.0$)(5\sP%jC(KXhdu"!AHMnIG*@K,u$E:+T?S,j=*&bEV"c5:4luZ0=Smsa;.*J?7p-GL-Z+g#LXT/>mQfM?^o^d/feIl>;Hog^c#oSIW?1_2YUNuoQX6Ep$=H`=EF10_K>%OIbK0cX33N^t)6M0%MEG_k*fe_]4,&X2Io*XMV_Mn*FIiK\O@+R",3]1[:XjbN6`a_/@u\luN6G'2JUc!7T=7&PUdW'"5)>g*H.[,r@6E#;Pq%N0LF#L>,5M7OhiJtTTr7ClWb`W#BaXrO7q/Y]YVWtWr>Dp9os%m1i@aVDIFAACot2e:l$W-CZ6*kXe/)N.-mOD7).gN5?+,Jo&V[r61HT,@lHUrjYdKWI,Vn;QP%5k[n=ABQ>&,Fi(g&:#[\o1].d5ZU('MlK:+n9T=!-R$%@r0UnM$M-^7R%"kA5:-H*f/7g:mIfKZ)LY_:^hLe1#7/(S=$8/(%c]\-p%<+mDQQ(;>>uX3nbWUpPl/N>1W8roJ72:KhS&4a)aAuGH]6\k]*BY0dhbq%C6*$4[K(3hF3E@hIQ-sfbYo.X``n:c(DnUAhEJQn[HcFk;$GtYsP6i5tG#,aAhWK!9C['\mrNp>(oJ+L$mTHr>*H#]U>buEuEuFEcF*<6pK7h=8")*D[TVU5LHH)qaC5bBg)X@a2'M$X:C&E"Qr1'j]RR4l%`:GJ0A]h>Y*Ib:aZj&$gEOcY$&uf7f9XU?2AgRVm)"14$N*C#ES3lY,&ZnHWTWWXgcVdY8CitND3aF`Ul?HP.Z"=UshQ4-M1+!^/WVaeLab/<.&AG/Qq!Mk3uGPs"lFkXU8!mr%p+hXU8"Xq(seeXf="UXR<&BeZB0W<:D^e`LR?5QL-LOjfJkgQKC"XjfQ*dXshA*@*2\ZFbV3^`)UGP5b)tO"ia\X=C@YAL'>S"B3=`hW\^`Ji't/ZC6cEYl^&%>f>$,;^^"k1YP8,-U)^*AQ1>Ck3)]HA[*Y'\G#(IT$FgWYSChD-Taj'c`8N6hpL.-k@9#jp+)W&/r=V@q2q8"KIa*GT.9Onurkl-iH1n;.$Bp2PoM.F\,Mu)U6)_]fAtK978s`Bd_^H(9_e@u9FM0Hn0N'`$Hn2+:111&T0l-Q)j?TungeGeb!LeWOS,'T/DN"O:Qs14A#>Hum@;+riIIrTcaI(L\aSC*$`g_.$>Va+iC!Tphi&`YLp1*n$(l`tO4P9XhNeJ+`'TI$us6s$#5Oo.SOYgu4pZRl`XoVR"Q54Y#f*F6X:?@9Z1IQLAfJF-P;$EEV_`qG#'%(>`r2gEi9u=k:BkfVnSl)&jo.UUu]?hEG\)$E2$G0*)^$G&?ZP"E=kGNf/?%3diaRO'\>5gM=WURo[[7l81Qatl\I98&@qU$giJKU~>endstream +endobj +12 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 5356 +>> +stream +GauHP>BAi5'n5%IJ[Zto=V_eT+t3sQ<]>g?&OKYeg3rV,`:OGb.TlR,.=-bJ7A99YV,(1b/Vn=L68,+/uKPA*L.-52]G*9?&<7%;NDldlZn!973+;O&^UTTq#r5(YDa"W-7mT)A<2#Nhc8c\BfRl5S)nGe+e6[pt&GmGN6+6&O-Eb<1En5ER&+O(@uHg&9tt7@FLE@HaTd]O'q3;SG?-@4BZ@3nPs).jT3e**neM7]t@$KNog6=_p`?r]/Ihr*?[%1;P7X+sAs/c4BTH+[)@[K]WX@*`LN[8=AP<-P4'$WY1kLpm>u'Z_eA(.E-&t1rpSecAL0>H8XTEjQb^Yj26rR]'pnohKlI=I(+[UfZ40^-rFY/STMQ_D."/7CdXUS8^qp&=Vu5C7['Go[[KYY&ruFM]Jn+"@62LMS$9h%\JNVk5T7Q`n_^s+ouo3"/UWocu`L*_U&1S;5Q*oOq5R)E>h)4@7DqioY9q\i%P+b9-WEk8mBQ%sgq4KY[:"*)$EE;7TMDEReCLL0UXiJq5LH"jq8P]E]5;?]DM&]XA4TTdJHiep-el=e]Gh>o8Tbm#pZ!3F2\%=%5c#T_XUP`Y4,r;31>AUca?uIi*YKAok)IR/L9-$?E]Wj5J2["Q")SK'!q"hB*D/!c=E&Mjn:g.]2^t73fT8dHLej]P']o)P8r>&J/W#4)6rF*?U?pcAG?$]Xb^-a;bW6f.#e>JAg-^o)]PV-?9H=H;om=E?5dTBMB1oop*Q$,T,2,deEl>X_6-I6=-npOJ8Z&#C!D&^=E\Z0^YV>e%2+kVL?s%>(/X7j==T(LC=`Np3Og#Xi3I;TUl!bU9ru%EGEL&5A0a(!dQ7eIX!0;qIa>DjZb5?opL?+@%2jOJ_3A-V+K?\('A$HH.dE9d:e.E&.17/8TH"A4E,#_th?q"`UM3O%':b4s@E'[Ei>Rl3>Q2toW_H$X`F!id[bMYC^.QA5A:LgX#2['\pp?8YJ<'lWNNIn@l_13cR+]sX2*^-3qEdBTIXiU20]g+,3Xh;QK2#9f-V"u0G"q)mLEKn*H8LC:J*KQZWuTWh54;):UPg>,WaK*:l!T@^lt=&_KWuP4=IX*q>"I#u[@!W'CGDRg0-3bnda1@[]K1l7S716n#SYMs9g6q44[cH,b;i*@JdF]13D/m2;k!BH\L-Dd12.4TQ"4'WR(4Q9cF=c^,:g7H<=ZfAI]lCE%Ohp$'>*&]0th`'rNtEBKE%=q3dZ>V*F\Cm/e`1foa1=U\$'!U7?jUVGW[Zb]9XXUn"hVEmO/gYDZM-67i0Z=X[De3\qkcP("X,R'>+s@!,o@.BbAg=Q\P(D(&N]8mR_@#q3'qo9O0J?jFB0r1f8F*:ehQuUW'G_dO(d)n4?\s=Ekk:=4AL,@CH88r=CJ6a7poFn[l95`m(>k5B_6@e]'=9d@i0k4Or5M:#g4;UYKC=_?C!,4C&dKEqXW.`G!>cL+Ml:C&eu/0[IiR.9T;\PQ>02^Rn[s[5#XM\4FpbS7WW&/5WFUWTSm9e.`eO>rU\kDgYESCE9Y0[+o-jWYB0aa>G`b:kEQPLW:B]$&rJ($:i=GHkEQOm>NmSKN%,hb.IqSS9hKJHs73gXis=H/p\-WPh"$9E#YrZXdPT>qpWEgl@k`p5YQq/sEr:?#HlfO\5eu%8.ea*A.jG=t1L9(Cf^@m[`Ho!D:KiLOT&B6@B\>cG"D2T3EWUNb4J5K.cQ*WP95l9oD3lB^Rhqep$sA>6RL&2S2*^OOmp@F_JmL1J\`iXB#r3")p&tB-@Y,XY5(Qf[+OD[RZN`%)O?NNjL@o+d$Kho3LneY$6-GHbY8Z--=opB==B#`cV9Q%ekY]gJs&g@q4XOiVf,Vd?N%q>u@'JMK0PL9mgm77pfcGK=lqUMPTYXZrDp$74[3ilSkP8k:Z^FTMmr/_dJeoC!gBPil*`[8h[igNX5dTOs'^9/F,b/rk65K'+aJcUNi[-Ka*csUSgjLZsQ!@*XWYh]MU.SLkfTl;1\!SUl:4eniW$a_daUeJ&oIl">_dU*20W^W/3q[a1@J%*"JeO9Y=%YWe/VpGZQ^L=mk4gUS5JDmD4!5UX;o8&i^2::SZ<6Qq%L:H?u"q%7NI!3#[[IZ_*0;Fg8HDDg%q(g])U"p_[!VBd_>SIh6#)kU`V:57#>(c!s`4emt:u:VKV!2Zo"?Ua(="?t/*=s$=H95\&UFE'2W=!dC^)C41G5P3)]9i@QMlA,/4P:BOesn4s/%>,"kXKk1ep1n[?38"M09nm$6IEYW$N&0B\]^B$g9o&3t)G3+Y4%Mm4)'0$^?Gf*;Sfn__tqT(E.;14[s%4(;(]9sq8H+u;*RY*kSD`A#[TGO)eV!+1`#kRN%T0I.dNW@diJ:A!Sa_+t441uE*V'4<_fjdn"Fmf%A/3/'Zbc)Xg,p##)fojY1tcCfYc!Ee,Sd;-puIoF1W)Lq,p6oR';WWA&:EQN=#L72.k@Yp:cb?Q8$dnp9Eql&';15a"'R6oDi.cC?)H[m(2RObYM[7m0cYCB7OTZEEb/*gB_iX@=R_p0^)qd3)j.tG)D'g4N>;$**uo#oq@-m';`M^JPCl"5>gVnL4ZBsFU"aT$=5\6.u%Nq%N/I#'G&!mRX^XQ548Ik886lR+lspiG$EUA9Q+cRfV0CS4@@\"<[E-Votit6E?0(bl?>c_#gPb2178HbqqX,SU]m>Zf`>MNJFiqdu8>*Z-:q[U%JAr=7V5u&j!&oaFBUZ3S6geaAXDimH_QQ6-T?p-,]'R_F3.MH;6%r*6N`Q`RAaSYZlKfVde9ec;efofLCRJgAsQKsUdh.Ag>7%HETC0@?0GDe<-V:gYCQb'9("^MEJ<#l<[^c'J:jpT6uoH`BcWAAbJ(`R$KVLbBV2rJ(<],Sc<-WI#2%+3"J5'N+=3_[L,qF!B=k(#W@ThYH4KK^Yh%Yb;_?)@lfebkf]#(g0G=0#f`>i?KCdtm)rrbBuS+Y)%3kDg0]4AEbiSWhM72$a%&$/j,_p,V%A$%O`SV^t'A)E8_p5gW61/50d)pAP!"C%Rt(]"+RH$oSoc>ZdGkSf0B$)X1j`8%:0?`/Sp:qV(Q6S#"Xt#7f(*CsN#M%2k`1\sEE*X9o'^Z++Ms9B$G9>P\2N-Z+(H%[5A_`QYQ8`&ggo&.$#cH1=#VS1+m^2sJ7\r@?$G0R,VYFD$/]r[hTDpj$[r\H2/T4r-ZS<*QP%QXj?4h7>)LoGGRET)jB"abALjA4,]Ygg`p%.W&PPCZZ;50TDl/@!4)_PKPf,%N&Ch^fKb<9&,eTT/ZBQgX(keI1R^SeX?6@5%N$so6DR.%]!JYb83/E`o*I(=`d.m1"lo<)>KiN.7T+0XfqFj_#HFg@RTS6*8&ZX0\ZPWH!g\OVXoiikg9TNQ9`/!k&F:m-oo@k-?+$`hg(2CkQkNN@suo<%?gEF-p(?D)f@k#''B3R8a(rh;KSG1j#ZN#`bq(i^r_a@O4:MSg&-JS)llX)QbieBV=pnC.[!gIGSp."9sEl'PudCf?6d[`FSI*jq@^7H@jF7pV##k(OdKo;KVbfcUOK4R+GmDD6W.C't=_;Hl\rOP4/q8R@;]-@%0iR,kZB@$8!IK4BVbQt0fd%IM^?FjgS_3u%$mo1dtlE%WY2]'@8CI>HBQNhO2`X`""lP-QR_?RL-b2M)noH2kP!?`.teL]7I8R6+"~>endstream +endobj +13 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 584 +>> +stream +Gau0@heUt#&:X@\EK==42r3`mA!]5$,LgR>b33%kg9HgB/.D7@mpmqdXQ#HJL9PekhtQAWV`Or+K=_)l/\n8"50aIjTm[&!BV8Wth,_9?b"-!"c8uJ!=JY/Tn@J!DG2K?mK&V=739*7CNKH)G&1R0RXPEt@SlHW[)bX#QR6R@Bpo8C)d+Md`\]`Z/=WG(SaPI$BA7L_UCuHE!pWu)iHWFO^6*8$A4'shF`T70`GP==na0]rkR66g=Jci(bZkP"q=3V@d[TLeCAHNanmHn]:l,uI]+/0df#[f6Qn63k,l*+c!EE%+,lM,6TShDb@m]gpKqJ6PZ,dS2bRHE?ji:r2.2!R@E%"2U??V\UW914s>RK:fJn05TW=Afg>Z1C/qIhE)WBl_3(o6H:%!oaIn#]js>W\N@GeZnW[cu6Nsn4:Gr/@^8D=?P"$Qo>g07p'mfZ(Q*c/1@:Rs*>*epESMp4c!E#Ud267:l,Kuiq]O6Jj*g8#CEmbQQ/4>;!H3FV:bnAqZHKTTB[L3@6a5eeW[nDPMaP-?LCmVD);G+N%g"R`Bh\.endstream +endobj +xref +0 14 +0000000000 65535 f +0000000073 00000 n +0000000104 00000 n +0000000211 00000 n +0000000415 00000 n +0000000619 00000 n +0000000823 00000 n +0000001027 00000 n +0000001095 00000 n +0000001378 00000 n +0000001455 00000 n +0000006917 00000 n +0000012421 00000 n +0000017869 00000 n +trailer +<< +/ID +[] +% ReportLab generated PDF document -- digest (http://www.reportlab.com) + +/Info 8 0 R +/Root 7 0 R +/Size 14 +>> +startxref +18544 +%%EOF diff --git a/merge_races.py b/merge_races.py new file mode 100644 index 0000000..343b1e7 --- /dev/null +++ b/merge_races.py @@ -0,0 +1,105 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +from pyiofload import * +import os + +source_dir = 'xmls' + + +def do_merge_races(xmlfile1, xmlfile2, class_remap=None, club_ko=None, fiso_code=0): + race1 = Race() + race2 = Race() + race1.load_from_iofxml(filename_=xmlfile1, class_remap=class_remap, clubs_ko=club_ko, avoid_unk=True) + race2.load_from_iofxml(filename_=xmlfile2, class_remap=class_remap, clubs_ko=club_ko, avoid_unk=True) + # print(race1.name, race1.date) + # print(race2.name, race2.date) + classes1_set = set(race1.classes.keys()) + classes2_set = set(race2.classes.keys()) + classes_both = classes1_set & classes2_set + # print(len(classes1_set), len(classes2_set), len(classes_both)) + # print(classes1_set == classes2_set) + if classes1_set != classes2_set: + raise Exception('Different classes!') + runners1_set = set(race1.runners.keys()) + runners2_set = set(race2.runners.keys()) + # print(len(runners1_set), runners1_set) + # print(len(runners2_set), runners2_set) + runners_both = runners1_set & runners2_set + # print(len(runners_both)) + runners_one_only = runners1_set - runners_both + runners_two_only = runners2_set - runners_both + # print(runners_one_only) + # print(runners_two_only) + + for id_to_remove in runners_one_only: + race1.runners.pop(id_to_remove, None) + for id_to_remove in runners_two_only: + race2.runners.pop(id_to_remove, None) + + runners1_set = set(race1.runners.keys()) + runners2_set = set(race2.runners.keys()) + # print(len(runners1_set), runners1_set) + # print(len(runners2_set), runners2_set) + + combined_race = Race(fiso_code=fiso_code) + combined_race.name = race1.name + '_' + race2.name + combined_race.date = race2.date + combined_race.classes = race2.classes + combined_race.clubs = {**race1.clubs, **race2.clubs} + + combined_runners = {} + for rid in runners_both: + # print(race1.runners[rid]) + # print(race2.runners[rid]) + runner = Runner(name=race1.runners[rid].name, + family=race1.runners[rid].family, + fisoid=race1.runners[rid].fisoid, + class_=race1.runners[rid].class_, + club=race1.runners[rid].club, + clubid=race1.runners[rid].clubid, + sicard=race1.runners[rid].sicard, + total=race1.runners[rid].time + race2.runners[rid].time + ) + combined_runners[rid] = runner + # print(runner) + combined_race.runners = combined_runners + for cid, class_ in combined_race.classes.items(): + class_.min = None + class_.max = None + class_.avg = 0.0 + class_.tot_t = 0.0 + both_runners = [rid for rid in class_.runnersid if rid in combined_race.runners] + # print(both_runners) + both_runners.sort(key=lambda x: combined_race.runners[x].time) + # print(both_runners) + class_.runnersid = both_runners + if both_runners is None: + continue + for rank, rid in enumerate(class_.runnersid): + r = combined_race.runners[rid] + r.place = rank + 1 + # print(r) + if class_.min is None or class_.min > r.time: + class_.min = r.time + if class_.max is None or class_.max < r.time: + class_.max = r.time + class_.tot_t += r.time + class_.avg = class_.tot_t / float(len(class_.runnersid)) + + # print(class_) + return combined_race, race1, race2 + + +if __name__ == '__main__': + cf, r1, r2 = do_merge_races(os.path.join(source_dir, 'POC-1_2019109.xml'), os.path.join(source_dir, 'POC-2_2019110.xml')) + for cid, c in cf.classes.items(): + print(c.name) + for rid in c.runnersid: + r = cf.runners[rid] + # print(r) + tt = time.strftime('%H:%M:%S', time.gmtime(r.time)) + t1 = time.strftime('%H:%M:%S', time.gmtime(r1.runners[rid].time)) + t2 = time.strftime('%H:%M:%S', time.gmtime(r2.runners[rid].time)) + print('{:2} {:15} {:15} tempo_totale: {} ({} {})'.format( + r.place, r.name, r.family, tt, t1, t2) + ) diff --git a/pyiofload/__init__.py b/pyiofload/__init__.py new file mode 100644 index 0000000..ab1b59e --- /dev/null +++ b/pyiofload/__init__.py @@ -0,0 +1,396 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +try: + import xml.etree.cElementTree as ET +except ImportError: + import xml.etree.ElementTree as ET + +import time + + +class Race: + """A single race event.""" + + def __init__(self, name=None, date=None, fiso_code=0): + """""" + self.name = name + self.date = date + self.classes = {} # Key = classes_id, Values = the Class itself. + self.runners = {} # Key = runner_id, Values = the Runner itself. + self.legs = {} # Key = legname, Values = the leg itself. + self.clubs = {} # Key = club_id, Values = the Club itself. + self.ns = '' # Current iof file namespace. + self.statuses = [] # List of all NON 'OK' statuses found. + self.unk_cnt = 0 # A counter to name/list the ones without a fiso id. + self.org_cnt = 0 # A counter to name/list the ones without an organisation + self.avoid_unk = False # Used to skip the ones without a valid Fiso_id. + self.fiso_code = fiso_code + + def load_from_iofxml(self, filename_=None, class_remap=None, clubs_ko=None, avoid_unk=False): + if class_remap is None: + class_remap = {} + if clubs_ko is None: + clubs_ko = [] + if filename_ is None: + return + self.avoid_unk = avoid_unk + # print('Loading:', filename_) + xmlf = ET.ElementTree(file=filename_) + root = xmlf.getroot() + self.ns = root.tag.split('}')[0] + '}' + + self.name = (root.find('{0}Event/{0}Name'.format(self.ns))).text + dt = (root.find('{0}Event/{0}StartTime/{0}Date'.format(self.ns))).text + tm = (root.find('{0}Event/{0}StartTime/{0}Time'.format(self.ns))).text + self.date = '{} {}'.format(dt, tm) + + for child_of_root in root: + clean_tag = child_of_root.tag.split("}")[1] + if 'ClassResult' == clean_tag: + for res in child_of_root: + clean_res = res.tag.split("}")[1] + if 'Class' == clean_res: + id_ = res.find('{0}Id'.format(self.ns)).text + # print('Class id:', id_) + if id_ in class_remap: + id_ = class_remap[id_] + # print('Remaped to:', id_) + name = res.find('{0}Name'.format(self.ns)) + if id_ in self.classes: + now_category = self.classes[id_] + else: + now_category = Class(name=name.text, id_=id_) + self.classes[id_] = now_category + if 'Course' == clean_res: + course_len = res.find('{0}Length'.format(self.ns)) + course_clib = res.find('{0}Climb'.format(self.ns)) + now_category.distance = float(course_len.text) + now_category.climb = float(course_clib.text) + if 'PersonResult' == clean_res: + self._load_a_runner(res, now_category, clubs_ko=clubs_ko) + + def _load_a_runner(self, pers_res, class_, clubs_ko=[]): + """ + It loads the runner details from an ElemnetTree. + :param pers_res: the base element found (the PersonResult element) + :type pers_res: ElementTree + :return: the runner object + :rtype: Runner + """ + fisoid = pers_res.find('{0}Person/{0}Id'.format(self.ns)) + ng = pers_res.find('{0}Person/{0}Name/{0}Given'.format(self.ns)) + nf = pers_res.find('{0}Person/{0}Name/{0}Family'.format(self.ns)) + clubid = pers_res.find('{0}Organisation/{0}Id'.format(self.ns)) + club_name = pers_res.find('{0}Organisation/{0}Name'.format(self.ns)) + bib = pers_res.find('{0}Result/{0}BibNumber'.format(self.ns)) + time = pers_res.find('{0}Result/{0}Time'.format(self.ns)) + position = pers_res.find('{0}Result/{0}Position'.format(self.ns)) + score = pers_res.find('{0}Result/{0}Score'.format(self.ns)) + status = pers_res.find('{0}Result/{0}Status'.format(self.ns)) + sicard = pers_res.find('{0}Result/{0}ControlCard'.format(self.ns)) + current_runner = None + if fisoid.text is None: + if self.avoid_unk: + return + if '{Libero}' == nf.text: + return + runner_id = 'UNK{:03d}'.format(self.unk_cnt) + print('#### UNK ####' * 10) + print(ng.text, nf.text) + self.unk_cnt += 1 + else: + runner_id = fisoid.text + + if club_name is None or club_name.text is None or clubid is None or clubid.text is None: + club_str = 'ORG{:03d}'.format(self.org_cnt) + clubid_str = club_str + self.org_cnt += 1 + else: + club_str = club_name.text + clubid_str = clubid.text + + if 'OK' == status.text.upper() and clubid_str not in clubs_ko: + # print fisoid.text, ng.text, nf.text,\ + # clubid.text, club_name.text, bib.text,\ + # time.text, position.text, score.text, status.text + + if clubid_str not in self.clubs: + new_club = Club(name=club_str, id_=clubid_str) + self.clubs[clubid_str] = new_club + + current_runner = Runner(name=ng.text, + class_=class_.id_, + club=club_str, + total=float(time.text), + bib=int(bib.text), + fisoid=runner_id, + place=int(position.text), + score=float(score.text), + family=nf.text, + sicard=int(sicard.text), + clubid=clubid_str + ) + last_time = 0.0 + previous_cn = 0 + self.runners[current_runner.fisoid] = current_runner + # print current_runner + results = pers_res.find('{0}Result'.format(self.ns)) + # visit_deep(results, 1000) + for spl in results.findall('{0}SplitTime'.format(self.ns)): + cne = spl.find('{0}ControlCode'.format(self.ns)) + splte = spl.find('{0}Time'.format(self.ns)) + if cne is not None and cne.text is not None and splte is not None and splte.text is not None: + cn = cne.text + # @MC to float directly PLEASE! + splt = splte.text + tsplit = float(splt) - last_time + last_time = float(splt) + self.__leg_to_insert(previous_cn, cn, tsplit, current_runner) + previous_cn = int(cn) + else: + break + # do add the last (implicit) split time + tsplit = current_runner.time - last_time + self.__leg_to_insert(previous_cn, 999, tsplit, current_runner) # Last control point receives the name '999' + else: + if status.text not in self.statuses: + self.statuses.append(status.text) + if current_runner is not None: + # print 'Adding {} {}'.format(current_runner,current_runner.fisoid) + class_.runnersid.append(current_runner.fisoid) # do add the current runner to the class list + if class_.min is None or class_.min > current_runner.time: + class_.min = current_runner.time + if class_.max is None or class_.max < current_runner.time: + class_.max = current_runner.time + class_.tot_t += current_runner.time + class_.avg = class_.tot_t / float(len(class_.runnersid)) + + return current_runner + + def __leg_to_insert(self, from_, to_, time_, runner): + """It computes the leg name, then adds/updates the leg in the legs list""" + nfrom = int(from_) + runner.add_cn(nfrom, time_) + legname = "%03d-%03d" % (nfrom, int(to_)) + if legname not in self.legs: # Do instantiate a new leg if it is a new one + newleg = Leg(legname) + self.legs[legname] = newleg + self.legs[legname].add_a_leg(time_, runner.class_, runner) + + def adj_scores(self, k_factor=1.0): + """It copmutes the score foreach runner""" + for clid in self.classes: + cl = self.classes[clid] + if len(cl.runnersid) > 0: + # print '{}: winner time= {:6.1f}'.format(cl.id_, cl.min), + for runid in cl.runnersid: + new_score = k_factor * 100.0 * cl.min / self.runners[runid].time + # print ' {}({:7.3f})'.format(runid, new_score), + # if self.runners[runid].score != 0.0 and self.runners[runid].score != new_score: + # print '!!!Score Mismatch: new={:7.3f} {}'.format(new_score, self.runners[runid]) + self.runners[runid].score = new_score + # print + + +class Class: + """A class defining a Category""" + + def __init__(self, name=None, id_=None, distance=None, climb=None, kmsf=None): + self.name = name + self.id_ = id_ + self.distance = distance + self.climb = climb + self.kmsf = kmsf + self.runnersid = [] # A list of runners.fifoid 's belonging to the class + self.min = None + self.max = None + self.tot_t = 0.0 + self.avg = 0.0 + + def __str__(self): + cl_string = 'Cat: ' + if self.name is not None: + # cl_string += '{:6.6s} ({:3s})'.format(self.name.encode('utf-8'), self.id_) + cl_string += '{:6.6s} ({:3s})'.format(self.name, self.id_) + else: + cl_string += "Sconos" + if self.distance is not None: + cl_string += ' Lunghezza: %.0f' % float(self.distance) + if self.climb is not None: + cl_string += ' Dislivello: %.0f ' % float(self.climb) + if self.kmsf is not None: + cl_string += ' kmsf: %.0f ' % float(self.kmsf) + nr = len(self.runnersid) + if nr > 0: + cl_string += 'winner: {:6.1f} average: {:6.1f} last: {:4.0f} runners({:2d})'.format( + self.min, + self.avg, + self.max, + nr, + ) + for runner in self.runnersid: + cl_string += ' {}'.format(runner) + return cl_string + + +class Club: + """A class defining a Club""" + + def __init__(self, name=None, id_=None, country=None, region=None): + self.name = name + self.id_ = id_ + self.country = country + self.region = region + + +class Runner: + """An object describing a single runner""" + + def __init__(self, name=None, class_=None, club=None, bib=0, total=0.0, + place=0, score=0.0, family=None, fisoid=None, sicard=None, clubid=None): + self.name = name + self.family = family + self.fisoid = fisoid + self.class_ = class_ + self.club = club + self.bib = bib + self.time = total + self.place = place + self.score = score + self.sicard = int(sicard) + self.clubid = clubid + self.cn_seq = [(0, 0.0), ] # each list items is a tuple with the control number and the time (cn=0 for start + # for k, v in self.__dict__.items(): + # print('{}= {} type={}'.format(k, v, type(v))) + + def add_cn(self, c_n=None, tmm=0.0): + """Method to add a splittime/controlpoint in a sigle race""" + if c_n is not None: + self.cn_seq.append((c_n, tmm)) + + def full_name(self, given_first=False): + if given_first: + return '{} {}'.format(self.name, self.family.upper()) + else: + return '{} {}'.format(self.family.upper(), self.name) + + # if given_first: + # return '{} {}'.format(self.name.encode('utf-8'), self.family.encode('utf-8').upper()) + # else: + # return '{} {}'.format(self.family.encode('utf-8').upper(), self.name.encode('utf-8')) + + def __str__(self): + # runner_str = '' + # try: + # runner_str = '{:8.8} "{:10.10} {:10.10}" Categoria:{:5}'.format( + # self.fisoid, + # self.name, + # self.family.upper(), + # self.class_, + # ) + # except: + # print('%' * 100) + # for k, v in self.__dict__.items(): + # print('{}= {} type={}'.format(k, v, type(v))) + # print('/' * 100) + + runner_str = ('{:8.8} "{:10.10} {:10.10}" Categoria:{:5.5} Posizione:{:3d}' + # ' Tempo:{:6.1f} Pettorale:{:4} score:{:7.3f} sicard:{} Società :{} ' + ' Tempo: {:5} Pettorale:{:4} score:{:7.3f} sicard:{} Società :{} ' + ).format( + self.fisoid, + self.name, + self.family.upper(), + self.class_, + self.place, + time.strftime('%H:%M:%S', time.gmtime(self.time)), + self.bib, + self.score, + self.sicard, + self.club, + ) + # print(type(self.sicard), type(self.bib)) + for j in range(1, len(self.cn_seq)): + runner_str += '[%d/%.0f]' % self.cn_seq[j] + return runner_str + + +class Leg: + """A Leg in a race. + It will hold a list of classes and a list of runners involved in that leg. + """ + + def __init__(self, name=None): + self.name = name + self.runners = [] + self.classes = [] + self.min = None + self.max = None + self.tot_t = 0.0 + self.avg = 0.0 + + def add_a_leg(self, tempo_, class_, runner): + self.runners.append((tempo_, class_, runner)) + if self.max is None or self.max < tempo_: + self.max = tempo_ + if self.min is None or self.min > tempo_: + self.min = tempo_ + self.tot_t += tempo_ + self.avg = self.tot_t / float(len(self.runners)) + if class_ not in self.classes: + self.classes.append(class_) + + def __str__(self): + leg_str = ('Tratta: {:.7s} corridori: {:3d} migliore: {:3.0f}' + ' media: {:5.1f} peggiore: {:3.0f} Categorie({:2d}):' + ).format( + self.name.encode('utf-8'), + len(self.runners), + self.min, + self.avg, + self.max, + len(self.classes), + ) + for cl in self.classes: + leg_str += ' ' + cl.encode('utf-8') + return leg_str + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# test +if __name__ == '__main__': + # filename = 'c:/MC/O/Bologna_2017/201713.xml' + filename = 'C:/Mc/Python/PyPrjs/TrofeoGPeroni2018/01_Carrega_2018199.xml' + + gara = Race() + gara.load_from_iofxml(filename) + + print('Race name: ', gara.name) + print(' Classes: ', len(gara.classes)) + print(' Runners: ', len(gara.runners)) + print(' Legs: ', len(gara.legs)) + print(' Unrecognized statuses: ', gara.statuses) + + + def get_runners(rrr): + return len(gara.legs[rrr].runners) + + + """ + for ll in sorted(gara.legs, key=get_runners): + theleg = gara.legs[ll] + print theleg + print '-' * 70 + for rr in gara.runners: + print gara.runners[rr] + print '+' * 70 + for cl in gara.classes: + print gara.classes[cl] + print '/\\' * 35 + """ + gara.adj_scores() + + print('[-]' * 35) + for rr in gara.runners: + print(gara.runners[rr]) diff --git a/r_2025_001.pdf b/r_2025_001.pdf new file mode 100644 index 0000000..2ef2fa1 Binary files /dev/null and b/r_2025_001.pdf differ diff --git a/trophyPDF/__init__.py b/trophyPDF/__init__.py new file mode 100644 index 0000000..7cd325d --- /dev/null +++ b/trophyPDF/__init__.py @@ -0,0 +1,142 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +from reportlab.lib.pagesizes import A4, landscape, A3, portrait +from reportlab.platypus import BaseDocTemplate, Frame, PageTemplate +from reportlab.lib.units import mm +from reportlab.platypus.flowables import PageBreak, Spacer +from reportlab.platypus.tables import Table +from reportlab.platypus.paragraph import Paragraph +from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle +from reportlab.lib import colors + + +""" +def make_portrait(canvas,doc): + canvas.setPageSize(PAGE_SIZE) + +def make_landscape(canvas,doc): + canvas.setPageSize(landscape(PAGE_SIZE)) +""" + + +class BaseStyle: + BASE = ( + ('GRID', (0, 0), (-1, -1), 0.7, colors.grey), + ('VALIGN', (0, 0), (-1, -1), 'MIDDLE'), + ('FONTSIZE', (0, 0), (-1, -1), 7), + ('FONTSIZE', (1, 0), (1, 0), 9), + ('FONTSIZE', (4, 0), (-1, -1), 6), + ('FONTSIZE', (2, 1), (2, -1), 4), + # ('VALIGN', (2, 1), (2, -1), 'MIDDLE'), + ('BOX', (0, 0), (-1, -1), 1, colors.black), + ('BACKGROUND', (0, 1), (-1, 1), (0, 1.0, 1.0)), + ('BACKGROUND', (0, 2), (-1, 2), (0.4, 1.0, 1.0)), + ('BACKGROUND', (0, 3), (-1, 3), (0.7, 1.0, 1.0)), + ('ALIGN', (3, 0), (-1, -1), 'CENTER'), + ('ALIGN', (0, 0), (0, -1), 'CENTER'), + ('ROWBACKGROUNDS', (0, 4), (-1, -1), (colors.white, colors.lightgrey)) + ) + + +class TrophyPdf: + """To build a pdf report from a series of tables""" + def __init__(self, filename='default_name.pdf', separated_pages=False, page='A4P'): + """page can be A4P, A4L, A3P, A3L""" + self.separated_pages = separated_pages + self.styleSheet = getSampleStyleSheet() + self.MARGIN_SIZE = 10 * mm + if page == 'A4L': + self.PAGE_SIZE = landscape(A4) + elif page == 'A4P': + self.PAGE_SIZE = portrait(A4) + elif page == 'A3L': + self.PAGE_SIZE = landscape(A3) + elif page == 'A3P': + self.PAGE_SIZE = portrait(A3) + else: + raise ValueError(f'page value not recognized: {page}. Possible values are: A4P, A4L, A3P, A3L') + + self.filename = filename + self.story = [] + self.style = list(BaseStyle.BASE) + + def commit(self): + self.__create_pdfdoc(self.filename, self.story) + + def __create_pdfdoc(self, pdfdoc, story): + """Creates PDF doc from story.""" + pdf_doc = BaseDocTemplate(pdfdoc, pagesize=self.PAGE_SIZE, + leftMargin=self.MARGIN_SIZE, rightMargin=self.MARGIN_SIZE, + topMargin=self.MARGIN_SIZE, bottomMargin=self.MARGIN_SIZE) + main_frame = Frame(self.MARGIN_SIZE, self.MARGIN_SIZE, + self.PAGE_SIZE[0] - 2 * self.MARGIN_SIZE, self.PAGE_SIZE[1] - 2 * self.MARGIN_SIZE, + leftPadding=0, rightPadding=0, bottomPadding=0, + topPadding=0, id='main_frame') + main_template = PageTemplate(id='main_template', frames=[main_frame]) + pdf_doc.addPageTemplates([main_template]) + pdf_doc.build(story) + + def add_table(self, table=None, title=None): + if table is None: + return + if self.separated_pages and (0 != len(self.story)): + self.story.append(PageBreak()) + if title is not None: + self.story.append(Paragraph(title, self.styleSheet['BodyText'])) + self.story.append(Spacer(0, 4 * mm)) + if table is not None: + nrows = len(table) + heights = [9*mm, ] + heights.extend((5*mm,)*(nrows-1)) + self.style = list(BaseStyle.BASE) + y = 0 + for row in table: + x = 0 + for el in row: + if el[0] == '_' and el[-1] == '_': + self.style.append(('BACKGROUND', (x, y), (x, y), colors.pink)) + x += 1 + y += 1 + self.story.append(Table(data=table, style=self.style, rowHeights=heights)) + + +if __name__ == '__main__': + tb = ( + [['Rank', 'Atleta (M18)', 'Soc.', 'Punteggio\nNetto', 'Punteggio\nLordo', 'TROFEO EMI\n2017-02-26', + '13^ Ori de\n2017-03-19', '1 Maggio 2\n2017-05-01', 'Trofeo Emi\n2017-05-27', 'Trofeo ER \n2017-05-28', + 'Campionato\n2017-06-18', 'Camp. Reg.\n2017-06-25', 'Scaffaiolo\n2017-07-16', 'Campionato\n2017-08-27', + 'Trofeo Emi\n2017-09-30', 'Trofeo Emi\n2017-10-01', 'Monte Mori\n2017-10-08'], + ['1', 'MANNOCCI Daniele', "0221\nPol 'G. MASI' ", ' 652.91', ' 652.91', ' ', '100.00', ' 87.38', '100.00', + '100.00', ' ', '100.00', '100.00', ' 65.53', ' ', ' ', ' '], + ['2', 'VESCHI Francesco', '0610\nOr. CLUB APPENNIN', ' 383.27', ' 383.27', ' 51.87', ' ', ' 61.29', ' 61.05', + ' 73.97', ' ', ' ', ' ', ' 37.81', ' 97.28', ' ', ' '], + ['3', 'MIRZA Lucian', '0098\nAtl. INTERFLUMINA', ' 366.51', ' 366.51', ' 96.10', ' ', '100.00', ' ', ' ', ' ', + ' ', ' ', ' ', ' ', ' 90.08', ' 80.32'], + ['4', 'RONTINI Mattia', '0255\nASDS CARCHIDIO-ST', ' 355.28', ' 355.28', ' 62.64', ' 88.11', ' 88.70', ' ', + ' 81.60', ' ', ' ', ' ', ' 34.22', ' ', ' ', ' ']] + + ) + + mstyle = [ + ('GRID', (0, 0), (-1, -1), 0.7, colors.grey), + ('FONTSIZE', (0, 0), (-1, -1), 6), + ('FONTSIZE', (4, 0), (-1, -1), 5), + ('FONTSIZE', (2, 1), (2, -1), 5), + + # ('GRID',(1,1),(-2,-2),1,colors.green), + # ('BOX',(0,0),(1,-1),2,colors.red), + ('BOX', (0, 0), (-1, -1), 1, colors.black), + # ('LINEABOVE',(1,2),(-2,2),1,colors.blue), + # ('LINEBEFORE',(2,1),(2,-2),1,colors.pink), + # ('BACKGROUND', (0, 0), (0, 1), colors.pink), + # ('BACKGROUND', (1, 1), (1, 2), colors.lavender), + # ('BACKGROUND', (2, 2), (2, 3), colors.orange), + ('ALIGN', (3, 0), (-1, -1), 'CENTER'), + ('ALIGN', (0, 0), (0, -1), 'CENTER'), + ('VALIGN', (0, 0), (-1, -1), 'MIDDLE'), + ] + tro = TrophyPdf(filename='test01.pdf') + tro.add_table(table=tb) + tro.add_table(table=tb, title='A Tittle.........') + tro.commit() diff --git a/trophyPDF/test01.pdf b/trophyPDF/test01.pdf new file mode 100644 index 0000000..d274a8d --- /dev/null +++ b/trophyPDF/test01.pdf @@ -0,0 +1,87 @@ +%PDF-1.4 +%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com +1 0 obj +<< +/F1 2 0 R +>> +endobj +2 0 obj +<< +/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font +>> +endobj +3 0 obj +<< +/Contents 8 0 R /MediaBox [ 0 0 1190.551 841.8898 ] /Parent 7 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +4 0 obj +<< +/Contents 9 0 R /MediaBox [ 0 0 1190.551 841.8898 ] /Parent 7 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +5 0 obj +<< +/PageMode /UseNone /Pages 7 0 R /Type /Catalog +>> +endobj +6 0 obj +<< +/Author (\(anonymous\)) /CreationDate (D:20201017194222-01'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20201017194222-01'00') /Producer (ReportLab PDF Library - www.reportlab.com) + /Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False +>> +endobj +7 0 obj +<< +/Count 2 /Kids [ 3 0 R 4 0 R ] /Type /Pages +>> +endobj +8 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1824 +>> +stream +Gau`UgMRrh&:N/3n1>GA/;KQ8q5DqdWksp(8a/SS'G)8;:hiY*Wh@,aiG*SE9._I409$R!fKEl%[kfg%!@I"8MVjJuN."m6TC.5\A;_f>RVT@AB>[1,miI]a$&VrhJ6<%\.>Pk-KbqOJcb0cr%!)!g'*8mbBNUl8JQ5UQh24@Dm#fg&>YAtMUJJdE'.t;,)Drl#cpZLS;J8oYMpUS.D6\%_/t3n_lUHVhC[E+THY)YYbKZY$f]"tsHn9i"m8Iht_d5(9L5EbGA[PmNYOBNi^4&%!QCJ;4i#lTX6M'RhDqh5L@HjGQeID;kO3N.Hr4Ll53*'uM]O<3-UrdAdhk!RW;\PDt\P\)aPODY+jN8rAPV/P%KCY>Jt#Ja*e'&dgg5UF("DQqXA92^@,\)I8Ik7P>\/N8`kIi^]:Z&;6)WaS[G,W<8d;k\\o:Nr>bgjf.<"qM6^a^d5RMcO$iUAM!9S0kP[WlubF21od5#d/$!!U^R'7EJh\*tcfa[>dW510*7pQmKTu5pQefTNJBl7'Mp6;rq%/fpq:GBfKdsLCN,\5+_R1X[Zr6\P!')U]<"i-;\E=Wq7d_k00[MloAmBBOt';3aM4g;5Y+F$T]?RINPfk+-5aLjpcp=j$261,bag]"l"RVB-q8da^R6A]DjW-9a5MJChkb!;7UN"P$KA=1(t&(c(O>Y's&n$[L&oH.XDqKm+I=kT5g1>iZ.!Im^P0:LFm)+K<8[QKe6l)K13B*6KHCb8uPlp:L?.1#=8s]U:/XO$5HQ_.ZAOAam4YJR*6p9FM)G`GMDb]daK6X88EHhendstream +endobj +9 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 1876 +>> +stream +Gau`U>E;rH&:WMDiO8L7:+!34B#1g?@[)$JjQ(^LQE9@CRnk?.D>I.]'Plk2+FMgHSp>=0Z%g/L2(J'!5@bqKNd2-2DjO#5e)lWNkM`!#Pmb_[4S3.iR,Ti-so5M30CbduWm)rUR8I,rgWVadaQD[n)_UiNPD7W(p'O1JO-2`2J(0*&n[&&=iBTo=3P)9Au_A8r:p8@Q&WO:<@H;8s([42Y=g'Qlb9NXqMe1LM'?F#fIfq]&/TflP)ogMc/d.,^SC[8U+/^1HP(p`_4'^KVq@q.\jR;W?-ZpaYN.oN.]C0n"/,m147iP8R/fD:Y^&U,fb^L],f-eMSlEW,2pTi86Sm8ULP2nhu;?r[`eI>*_CUbWq/R@*[Eisk,:)qe.X.7oh.W1$FQpgme4S!JqP9^'G!@O=3Kdij_"7U=;-RD3nq2lV?_rNY4.TiIHBlGB;fpC]4[6hI3o=j4uoXaE*%%M@eX,]d>=Mat^).B[]Y512%pI>\9`hEnm9\VLu^@Hs1DHldtg/?[4(@.<@>d3)B=Pd29;2o[E5n]_bCE\3D(K,P^Gjj:[V;T.2Q6PQBSK_)*tm-A$+.Qn*-*C/S]+3&jZnf9=?O*7clAUN#dK>$VA/r2Ta&m$L@`7-,P&'GDHH.R`5*Goodr7&[9lA?nYTUTnK#VLK9<:Hc1=IrH-MZL;1)*QS+:([/_RYJA?EYMQ"6HK`&&laMS.\qu!:Ykg;FL_@#sM@,b$%P^-C2c/IZMT@7Os7Y]Vb5h-^e)8lY//Q.j?/_QZ)e=&OUbn2N\8ma(VINn&VU(*dUdHpTkH2Or$/@RPD(6AK/MkPgL$PlDDNh;`(N$aJAm,@KXGVn[B,1p9X6t!R,DTT%$/t%P")`"WY9a.S$YTY046:Lbq`1G5pp_d_K/C#t&nW$6GH.Y`d3S7N4=kH?D3EV8BS$BUde-Ru?lgRR1j?W3C>gtYM'u$E":5.U9$%BQa27h0R8gEo.:]oot3a%Cg,Q-1X*&btZU^F+Y=-^TO&^d*'g32>FJ!uQeItmdtdqII)05cneYT+'rl6Lml8_%'&'2(2nBMN\bhm"62:.,5#Yp_c-?r%'jJmLg]q:ll+a03r"j`$7M>-qGb9!gV21:K_c,k:#hf56i<.]qi@la3,!qNgY)q"OY+<=Bki,6!)cff+0U/\8?U(Yr[uhO8n1oB;I`$OggaAAM1[K9*5mp6oml&^rkB0hmT&LhRp\R&2Nb`&*Ni9[e>P@[]e5``"Q:q&*8OBYo9)n)K-meDhBt+6(#l>a6Ht0VS;iP:CE(+-AJ5kPGJdV.pc#U8S3._G6G48d/&#mT(`5n[D=?rm+"HiIZko50p;NG=DE^e`dJ5kP7U6mA*FWOGA@u)s1c`DXriu$e)RP#W2is;Bab4Jsh&#mT(`0d:4<'[I'I!`-\nr9@&p/^2R;Z>q_o`P5XI/GXWaPD>=,a!B~>endstream +endobj +xref +0 10 +0000000000 65535 f +0000000073 00000 n +0000000104 00000 n +0000000211 00000 n +0000000414 00000 n +0000000617 00000 n +0000000685 00000 n +0000000968 00000 n +0000001033 00000 n +0000002948 00000 n +trailer +<< +/ID +[<0442b5015a4ca0c7bacf2f195742da29><0442b5015a4ca0c7bacf2f195742da29>] +% ReportLab generated PDF document -- digest (http://www.reportlab.com) + +/Info 6 0 R +/Root 5 0 R +/Size 10 +>> +startxref +4915 +%%EOF diff --git a/xmls/Bologna_2025124.xml b/xmls/Bologna_2025124.xml new file mode 100644 index 0000000..787ee13 --- /dev/null +++ b/xmls/Bologna_2025124.xml @@ -0,0 +1,11307 @@ + + + + TER 2^ PROVA SPRINT + + 2025-03-09 + + + + 2025-03-09 + + + + + + M10 + M 10 + + + 1700 + 0 + + + + TO2429 + + Tinti + Niccolò + + Italia + + + 0597 + FIRENZE OR. + Italia + + + 6 + 2025-03-09T10:11:15+01:00 + 2025-03-09T10:32:07+01:00 + + 0 + 1 + OK + 0 + + 54 + + + + 63 + + + + 42 + + + + 43 + + + + 44 + + + + 55 + + + + 50 + + + + 38 + + + + 65 + + + + 56 + + + + 100 + + + 2024113 + + + + + LI1767 + + Michelotti + Milo + + Italia + + + 0368 + ARCO DI CARTA + Italia + + + 176 + 2025-03-09T10:34:38+01:00 + 2025-03-09T11:07:38+01:00 + + 728 + 2 + OK + 0 + + 54 + + + + 63 + + + + 42 + + + + 43 + + + + 44 + + + + 55 + + + + 50 + + + + 38 + + + + 65 + + + + 56 + + + + 100 + + + 2128397 + + + + + + W10 + W 10 + + + 1700 + 0 + + + + TO2419 + + Buoncristiani + Petra + + Italia + + + 0597 + FIRENZE OR. + Italia + + + 70 + 2025-03-09T10:49:36+01:00 + 2025-03-09T11:08:02+01:00 + + 0 + 1 + OK + 0 + + 54 + + + + 63 + + + + 42 + + + + 43 + + + + 44 + + + + 55 + + + + 50 + + + + 38 + + + + 65 + + + + 56 + + + + 100 + + + 2024111 + + + + + EM4478 + + Astolfi + Zoe + + Italia + + + 0221 + POL. G. MASI + Italia + + + 71 + 2025-03-09T10:00:00+01:00 + 2025-03-09T10:00:00+01:00 + + -1106 + 2 + DidNotStart + 0 + + 54 + + + 63 + + + 42 + + + 43 + + + 44 + + + 55 + + + 50 + + + 38 + + + 65 + + + 56 + + + 100 + + 2116344 + + + + + + M12 + M 12 + + + 2100 + 0 + + + + EM4409 + + Calzolari + Alessio + + Italia + + + 0221 + POL. G. MASI + Italia + + + 12 + 2025-03-09T10:07:00+01:00 + 2025-03-09T10:19:02+01:00 + + 0 + 1 + OK + 0 + + 54 + + + + 41 + + + + 42 + + + + 44 + + + + 46 + + + + 55 + + + + 50 + + + + 38 + + + + 65 + + + + 58 + + + + 48 + + + + 100 + + + 8514695 + + + + + EM4380 + + Giacomin + Fabio + + Italia + + + 0221 + POL. G. MASI + Italia + + + 7 + 2025-03-09T10:21:18+01:00 + 2025-03-09T10:33:54+01:00 + + 34 + 2 + OK + 0 + + 54 + + + + 41 + + + + 42 + + + + 44 + + + + 46 + + + + 55 + + + + 50 + + + + 38 + + + + 65 + + + + 58 + + + + 48 + + + + 100 + + + 8514438 + + + + + EM4565 + + Lanna + Francesco + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 9 + 2025-03-09T10:04:00+01:00 + 2025-03-09T10:20:33+01:00 + + 271 + 3 + OK + 0 + + 54 + + + + 41 + + + + 42 + + + + 44 + + + + 46 + + + + 55 + + + + 50 + + + + 38 + + + + 65 + + + + 58 + + + + 48 + + + + 100 + + + 8527138 + + + + + EM4472 + + Roda + Giotto + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 10 + 2025-03-09T10:23:14+01:00 + 2025-03-09T10:40:53+01:00 + + 337 + 4 + OK + 0 + + 54 + + + + 41 + + + + 42 + + + + 44 + + + + 46 + + + + 55 + + + + 50 + + + + 38 + + + + 65 + + + + 58 + + + + 48 + + + + 100 + + + 8654844 + + + + + EM4721 + + Castellotti + Francesco + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 8 + 2025-03-09T10:07:51+01:00 + 2025-03-09T10:44:34+01:00 + + 1481 + 5 + OK + 0 + + 54 + + + + 41 + + + + 42 + + + + 44 + + + + 46 + + + + 55 + + + + 50 + + + + 38 + + + + 65 + + + + 58 + + + + 48 + + + + 100 + + + 2013166 + + + + + EM4567 + + Scaramuzza + Valerio + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 11 + 2025-03-09T10:00:00+01:00 + 2025-03-09T10:00:00+01:00 + + -722 + 6 + DidNotStart + 0 + + 54 + + + 41 + + + 42 + + + 44 + + + 46 + + + 55 + + + 50 + + + 38 + + + 65 + + + 58 + + + 48 + + + 100 + + 2013169 + + + + + + W12 + W 12 + + + 2100 + 0 + + + + PI1662 + + Martinetto + Maia + + Italia + + + 0690 + CRAL G.T.T. + Italia + + + 74 + 2025-03-09T10:01:59+01:00 + 2025-03-09T10:35:30+01:00 + + 0 + 1 + OK + 0 + + 54 + + + + 41 + + + + 42 + + + + 44 + + + + 46 + + + + 55 + + + + 50 + + + + 38 + + + + 65 + + + + 58 + + + + 48 + + + + 100 + + + 8522961 + + + + + EM4717 + + Maio + Maika + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 72 + 2025-03-09T10:09:01+01:00 + 2025-03-09T11:33:16+01:00 + + 3044 + 2 + OverTime + 0 + + 54 + + + + 41 + + + + 42 + + + + 44 + + + + 46 + + + + 55 + + + + 50 + + + + 38 + + + + 65 + + + + 58 + + + + 48 + + + + 100 + + + 2013165 + + + + + EM4718 + + Souei + Asia + + Tunisia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 73 + 2025-03-09T10:06:05+01:00 + 2025-03-09T11:32:40+01:00 + + 3184 + 3 + OverTime + 0 + + 54 + + + + 41 + + + + 42 + + + + 44 + + + + 46 + + + + 55 + + + + 50 + + + + 38 + + + + 65 + + + + 58 + + + + 48 + + + + 100 + + + 2013193 + + + + + EM4745 + + Cacciatore + Alisee + + Italia + + + 0221 + POL. G. MASI + Italia + + + 183 + 2025-03-09T10:10:00+01:00 + 2025-03-09T10:35:27+01:00 + + -484 + 4 + MissingPunch + 0 + + 54 + + + + 41 + + + + 42 + + + 44 + + + + 46 + + + + 55 + + + + 50 + + + + 38 + + + + 65 + + + + 58 + + + + 48 + + + + 100 + + + 2116351 + + + + + + M14 + M 13/14 + + + 3500 + 0 + + + + EM4310 + + Astolfi + Zeno + + Italia + + + 0221 + POL. G. MASI + Italia + + + 15 + 2025-03-09T10:24:00+01:00 + 2025-03-09T10:44:08+01:00 + + 0 + 1 + OK + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 8501970 + + + + + EM4412 + + Gaudenzi + Giovanni + + Italia + + + 0221 + POL. G. MASI + Italia + + + 14 + 2025-03-09T10:19:59+01:00 + 2025-03-09T10:44:09+01:00 + + 263 + 2 + OK + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 2116347 + + + + + EM4568 + + Scaramuzza + Ettore + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 13 + 2025-03-09T10:17:59+01:00 + 2025-03-09T11:17:11+01:00 + + 2290 + 3 + OK + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 2013164 + + + + + + W14 + W 13/14 + + + 3500 + 0 + + + + EM4415 + + Tumiati + Francesca + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 75 + 2025-03-09T10:05:59+01:00 + 2025-03-09T10:31:54+01:00 + + 0 + 1 + OK + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 8506929 + + + + + EM4590 + + Canzoneri + Giulia + + Italia + + + 0221 + POL. G. MASI + Italia + + + 78 + 2025-03-09T10:07:59+01:00 + 2025-03-09T10:37:35+01:00 + + 206 + 2 + OK + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 2116329 + + + + + EM4743 + + Curti + Gioia + + Italia + + + 0221 + POL. G. MASI + Italia + + + 76 + 2025-03-09T10:03:59+01:00 + 2025-03-09T10:50:21+01:00 + + 1217 + 3 + MissingPunch + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + 58 + + + 48 + + + 65 + + + 56 + + + 100 + + 2116330 + + + + + EM4511 + + Prati + Sofia + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 77 + 2025-03-09T10:10:00+01:00 + 2025-03-09T10:00:00+01:00 + + -1333 + 4 + DidNotStart + 0 + + 35 + + + 70 + + + 33 + + + 32 + + + 73 + + + 39 + + + 62 + + + 40 + + + 52 + + + 42 + + + 46 + + + 57 + + + 58 + + + 48 + + + 65 + + + 56 + + + 100 + + 8514710 + + + + + + W55 + W 55 + + + 3500 + 0 + + + + EM1958 + + Santi + Simona + + Italia + + + 0221 + POL. G. MASI + Italia + + + 92 + 2025-03-09T10:38:03+01:00 + 2025-03-09T11:00:51+01:00 + + 0 + 1 + OK + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 8517343 + + + + + EM1750 + + Champalbert + Isabelle + + Francia + + + 0840 + CSI SASSO MARCONI + Italia + + + 93 + 2025-03-09T10:31:59+01:00 + 2025-03-09T10:57:22+01:00 + + 176 + 2 + OK + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 8210001 + + + + + VE3016 + + Ferrante + Maria Michela + + Italia + + + 0645 + OK MONTELLO + Italia + + + 89 + 2025-03-09T10:30:00+01:00 + 2025-03-09T10:56:48+01:00 + + 258 + 3 + OK + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 8217880 + + + + + EM709 + + Bernagozzi + Marisa + + Italia + + + 0221 + POL. G. MASI + Italia + + + 90 + 2025-03-09T10:33:59+01:00 + 2025-03-09T11:15:09+01:00 + + 1108 + 4 + OK + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 2116352 + + + + + EM2536 + + Bruni + Catuscia + + Italia + + + 0793 + OR. PARMA + Italia + + + 91 + 2025-03-09T10:35:59+01:00 + 2025-03-09T11:13:46+01:00 + + 813 + 5 + MissingPunch + 0 + + 35 + + + 70 + + + 33 + + + 32 + + + 73 + + + 39 + + + 62 + + + 40 + + + 52 + + + 42 + + + 46 + + + 57 + + + 58 + + + 48 + + + 65 + + + 56 + + + 100 + + 8527136 + + + + + + GIALLO + Giallo + + + 3500 + 0 + + + + LB3448 + + Lanciano + Gaetano + + Italia + + + 0769 + ERIDANO ADVENTURE + Italia + + + 125 + 2025-03-09T10:52:59+01:00 + 2025-03-09T11:21:00+01:00 + + 0 + 1 + OK + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 2056715 + + + + + EM4742 + + Finardi + Annalisa + + Italia + + + 3 + 2025-03-09T10:48:59+01:00 + 2025-03-09T11:24:10+01:00 + + 274 + 2 + OK + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 2116301 + + + + + EM966 + + Govoni + Caterina + + Italia + + + 0206 + POL. CIRCOLO DOZZA + Italia + + + 123 + 2025-03-09T10:58:04+01:00 + 2025-03-09T11:35:55+01:00 + + 557 + 3 + OK + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 7510310 + + + + + EM1689 + + Passerini + Simonetta + + Italia + + + 0221 + POL. G. MASI + Italia + + + 124 + 2025-03-09T10:52:01+01:00 + 2025-03-09T11:36:00+01:00 + + 923 + 4 + OK + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 502306 + + + + + TO2323 + + Gallerani + Kevin + + Italia + + + 0283 + G.S. TEAM PRATORIENT + Italia + + + 2 + 2025-03-09T10:48:01+01:00 + 2025-03-09T11:40:31+01:00 + + 1427 + 5 + OK + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 2116297 + + + + + EM2480 + + Burani + Alex + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 4 + 2025-03-09T10:46:09+01:00 + 2025-03-09T12:00:11+01:00 + + 2640 + 6 + OverTime + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + + 57 + + + + 58 + + + + 48 + + + + 65 + + + + 56 + + + + 100 + + + 2116289 + + + + + TO1449 + + Pepori + Alessia lucia + + Italia + + + 0597 + FIRENZE OR. + Italia + + + 68 + 2025-03-09T10:50:00+01:00 + 2025-03-09T11:28:34+01:00 + + 511 + 7 + DidNotFinish + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 42 + + + + 46 + + + 57 + + + 58 + + + 48 + + + 65 + + + 56 + + + 100 + + 2024112 + + + + + TN7656 + + Fontana + Daniele + + Italia + + + 0600 + TRENTO OR. + Italia + + + 5 + 2025-03-09T10:46:59+01:00 + 2025-03-09T11:54:08+01:00 + + 2497 + 8 + DidNotFinish + 0 + + 35 + + + + 70 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 62 + + + + 40 + + + 52 + + + 42 + + + 46 + + + 57 + + + 58 + + + 48 + + + 65 + + + 56 + + + 100 + + 239338 + + + + + + W18 + W 17/18 + + + 4500 + 0 + + + + VE17505 + + Causin + Giorgia + + Italia + + + 0120 + OR. G. GALILEI + Italia + + + 83 + 2025-03-09T10:16:00+01:00 + 2025-03-09T10:43:02+01:00 + + 0 + 1 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 8010940 + + + + + EM4379 + + Giacomin + Greta + + Italia + + + 0221 + POL. G. MASI + Italia + + + 82 + 2025-03-09T10:13:59+01:00 + 2025-03-09T10:43:23+01:00 + + 142 + 2 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 8514715 + + + + + EM4407 + + Calzolari + Diana + + Italia + + + 0221 + POL. G. MASI + Italia + + + 80 + 2025-03-09T10:25:59+01:00 + 2025-03-09T10:56:53+01:00 + + 326 + 3 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 8514667 + + + + + EM3359 + + Amadesi + Giulia + + Italia + + + 0610 + OR. CLUB APPENNINO + Italia + + + 79 + 2025-03-09T10:17:59+01:00 + 2025-03-09T10:58:33+01:00 + + 871 + 4 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 8112321 + + + + + EM4348 + + Vendemmiati + Giorgia + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 84 + 2025-03-09T10:23:59+01:00 + 2025-03-09T11:05:44+01:00 + + 912 + 5 + MissingPunch + 0 + + 59 + + + 31 + + + 34 + + + 53 + + + 33 + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + 52 + + + 63 + + + 45 + + + 66 + + + 55 + + + 50 + + + 60 + + + 51 + + + 66 + + + 56 + + + 100 + + 8151468 + + + + + EM4370 + + Bo + Mariagiulia + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 85 + 2025-03-09T10:20:00+01:00 + 2025-03-09T10:00:00+01:00 + + -1347 + 6 + DidNotStart + 0 + + 59 + + + 31 + + + 34 + + + 53 + + + 33 + + + 32 + + + 37 + + + 39 + + + 40 + + + 52 + + + 63 + + + 45 + + + 66 + + + 55 + + + 50 + + + 60 + + + 51 + + + 66 + + + 56 + + + 100 + + 0 + + + + + EM3789 + + Rivolta + Iris + + Italia + + + 0221 + POL. G. MASI + Italia + + + 81 + 2025-03-09T10:22:00+01:00 + 2025-03-09T10:00:00+01:00 + + -1347 + 7 + DidNotStart + 0 + + 59 + + + 31 + + + 34 + + + 53 + + + 33 + + + 32 + + + 37 + + + 39 + + + 40 + + + 52 + + + 63 + + + 45 + + + 66 + + + 55 + + + 50 + + + 60 + + + 51 + + + 66 + + + 56 + + + 100 + + 8101028 + + + + + + W35 + W 35 + + + 4500 + 0 + + + + EM2055 + + Paone + Martina + + Italia + + + 0221 + POL. G. MASI + Italia + + + 87 + 2025-03-09T10:05:59+01:00 + 2025-03-09T10:33:24+01:00 + + 0 + 1 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 2116338 + + + + + EM901 + + Sgarzi + Elisa + + Italia + + + 0221 + POL. G. MASI + Italia + + + 86 + 2025-03-09T10:01:58+01:00 + 2025-03-09T10:31:36+01:00 + + 79 + 2 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 8511183 + + + + + EM3842 + + Pincolini + Samanta + + Italia + + + 0793 + OR. PARMA + Italia + + + 88 + 2025-03-09T10:04:03+01:00 + 2025-03-09T10:38:40+01:00 + + 438 + 3 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 8516129 + + + + + + M55 + M 55 + + + 4500 + 0 + + + + EM208 + + Balboni + Massimo + + Italia + + + 0610 + OR. CLUB APPENNINO + Italia + + + 41 + 2025-03-09T10:33:58+01:00 + 2025-03-09T10:59:04+01:00 + + 0 + 1 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 8005278 + + + + + EM469 + + Bussi + Mauro + + Italia + + + 0255 + S CARCHIDIO-STROCCHI + Italia + + + 42 + 2025-03-09T10:39:59+01:00 + 2025-03-09T11:06:43+01:00 + + 62 + 2 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 8000540 + + + + + EM915 + + Guidi + Massimo + + Italia + + + 0255 + S CARCHIDIO-STROCCHI + Italia + + + 33 + 2025-03-09T10:45:59+01:00 + 2025-03-09T11:13:36+01:00 + + 142 + 3 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 502316 + + + + + VE201 + + Martignago + Paolo + + Italia + + + 0645 + OK MONTELLO + Italia + + + 38 + 2025-03-09T10:51:59+01:00 + 2025-03-09T11:19:33+01:00 + + 168 + 4 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 8501421 + + + + + EM1541 + + Burani + Giovanni + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 35 + 2025-03-09T10:55:59+01:00 + 2025-03-09T11:24:44+01:00 + + 262 + 5 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 8200078 + + + + + VE4725 + + Bignami + Giuliano + + Italia + + + 0221 + POL. G. MASI + Italia + + + 36 + 2025-03-09T10:35:59+01:00 + 2025-03-09T11:05:49+01:00 + + 286 + 6 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 8089657 + + + + + EM1124 + + Ramazza + Stefano + + Italia + + + 0221 + POL. G. MASI + Italia + + + 37 + 2025-03-09T10:54:01+01:00 + 2025-03-09T11:25:32+01:00 + + 313 + 7 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 8002253 + + + + + EM1916 + + Mannocci + Luca + + Italia + + + 0221 + POL. G. MASI + Italia + + + 40 + 2025-03-09T10:47:59+01:00 + 2025-03-09T11:18:34+01:00 + + 348 + 8 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 8527928 + + + + + VE17239 + + Cavedini + Carlo Alberto + + Italia + + + 0056 + ORIENT EXPRESS VERONA + Italia + + + 39 + 2025-03-09T10:49:59+01:00 + 2025-03-09T11:36:29+01:00 + + 1195 + 9 + OK + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + + 100 + + + 2103398 + + + + + EM3308 + + Trentini + Rico + + Italia + + + 0221 + POL. G. MASI + Italia + + + 43 + 2025-03-09T10:41:58+01:00 + 2025-03-09T11:07:41+01:00 + + 57 + 10 + MissingPunch + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + 63 + + + 45 + + + 66 + + + 55 + + + 50 + + + 60 + + + 51 + + + 66 + + + 56 + + + 100 + + + 8002246 + + + + + EM1508 + + Ravaglia + Enzo + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 34 + 2025-03-09T10:38:01+01:00 + 2025-03-09T11:07:59+01:00 + + 262 + 11 + MissingPunch + 0 + + 59 + + + + 31 + + + + 34 + + + + 53 + + + + 33 + + + + 32 + + + + 37 + + + + 39 + + + + 40 + + + + 52 + + + + 63 + + + + 45 + + + + 66 + + + + 55 + + + + 50 + + + + 60 + + + + 51 + + + + 66 + + + + 56 + + + 100 + + 205883 + + + + + + M18 + M 17/18 + + + 4600 + 0 + + + + EM4254 + + Magagnoli + Martino + + Italia + + + 0221 + POL. G. MASI + Italia + + + 19 + 2025-03-09T10:15:01+01:00 + 2025-03-09T10:37:48+01:00 + + 0 + 1 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 8003677 + + + + + EM2521 + + Rivolta + Olmo + + Italia + + + 0221 + POL. G. MASI + Italia + + + 20 + 2025-03-09T10:06:59+01:00 + 2025-03-09T10:28:51+01:00 + + 75 + 2 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 8101029 + + + + + EM2873 + + Salgo' + Davide + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 22 + 2025-03-09T10:05:00+01:00 + 2025-03-09T10:29:30+01:00 + + 241 + 3 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 8101220 + + + + + TO2300 + + Tinti + Lorenzo + + Italia + + + 0597 + FIRENZE OR. + Italia + + + 16 + 2025-03-09T10:11:03+01:00 + 2025-03-09T10:42:41+01:00 + + 592 + 4 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 8070633 + + + + + EM4574 + + Maghei + Aldo + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 21 + 2025-03-09T10:08:59+01:00 + 2025-03-09T10:40:26+01:00 + + 650 + 5 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 2013160 + + + + + EM4566 + + Setti + Gabriele + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 18 + 2025-03-09T10:16:58+01:00 + 2025-03-09T10:51:08+01:00 + + 821 + 6 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 2013171 + + + + + EM4411 + + Conti + Simone + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 17 + 2025-03-09T10:02:59+01:00 + 2025-03-09T10:43:18+01:00 + + 1112 + 7 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 8076789 + + + + + EM4503 + + Sarni + Stefano + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 23 + 2025-03-09T10:13:00+01:00 + 2025-03-09T10:00:00+01:00 + + -1097 + 8 + DidNotStart + 0 + + 70 + + + 34 + + + 69 + + + 72 + + + 31 + + + 32 + + + 37 + + + 39 + + + 62 + + + 40 + + + 52 + + + 41 + + + 42 + + + 43 + + + 44 + + + 64 + + + 60 + + + 58 + + + 56 + + + 49 + + + 100 + + 8527137 + + + + + + ROSSO + Rosso + + + 4600 + 0 + + + + EM4585 + + Zanni + Luca + + Italia + + + 0221 + POL. G. MASI + Italia + + + 58 + 2025-03-09T10:26:59+01:00 + 2025-03-09T10:52:30+01:00 + + 0 + 1 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 2116283 + + + + + PU4573 + + Chieco + Simone + + Italia + + + 63 + 2025-03-09T10:41:00+01:00 + 2025-03-09T11:08:14+01:00 + + 11 + 2 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 2116303 + + + + + PI418 + + Martinetto + Simone + + Italia + + + 0690 + CRAL G.T.T. + Italia + + + 62 + 2025-03-09T10:24:59+01:00 + 2025-03-09T10:55:41+01:00 + + 208 + 3 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 8522620 + + + + + VE20634 + + Zienkiewicz + Sasha Josè + + Argentina + + + 0120 + OR. G. GALILEI + Italia + + + 155 + 2025-03-09T10:51:03+01:00 + 2025-03-09T11:23:36+01:00 + + 404 + 4 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 2116298 + + + + + EM1573 + + Ghetti + Alessandro + + Italia + + + 66 + 2025-03-09T10:30:59+01:00 + 2025-03-09T11:02:56+01:00 + + 406 + 5 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 2116284 + + + + + EM4374 + + Astolfi + Riccardo + + Italia + + + 0221 + POL. G. MASI + Italia + + + 69 + 2025-03-09T10:49:01+01:00 + 2025-03-09T11:23:51+01:00 + + 488 + 6 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 2116343 + + + + + EM1724 + + Burani + Giorgio + + Italia + + + 67 + 2025-03-09T10:35:01+01:00 + 2025-03-09T11:13:54+01:00 + + 822 + 7 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 2013196 + + + + + EM2517 + + Camboni + Stefano + + Italia + + + 0221 + POL. G. MASI + Italia + + + 60 + 2025-03-09T10:33:01+01:00 + 2025-03-09T11:15:33+01:00 + + 984 + 8 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 2116345 + + + + + EM3259 + + Amadesi + Claudio + + Italia + + + 0610 + OR. CLUB APPENNINO + Italia + + + 59 + 2025-03-09T10:37:02+01:00 + 2025-03-09T11:21:01+01:00 + + 1113 + 9 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 2103435 + + + + + EM4744 + + Groppi + Jessica + + Italia + + + 61 + 2025-03-09T10:47:01+01:00 + 2025-03-09T11:34:07+01:00 + + 1313 + 10 + OK + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + + 56 + + + + 49 + + + + 100 + + + 2116292 + + + + + EM4575 + + Gaudenzi + Nicola + + Italia + + + 0221 + POL. G. MASI + Italia + + + 65 + 2025-03-09T10:28:59+01:00 + 2025-03-09T10:57:36+01:00 + + 197 + 11 + MissingPunch + 0 + + 70 + + + + 34 + + + + 69 + + + + 72 + + + + 31 + + + + 32 + + + + 37 + + + + 39 + + + + 62 + + + + 40 + + + + 52 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 64 + + + + 60 + + + + 58 + + + 56 + + + 49 + + + 100 + + 2116349 + + + + + EM4498 + + Sulima + Jakub + + Polonia + + + 0221 + POL. G. MASI + Italia + + + 64 + 2025-03-09T10:39:00+01:00 + 2025-03-09T10:00:00+01:00 + + -1319 + 12 + DidNotFinish + 0 + + 70 + + + 34 + + + 69 + + + 72 + + + 31 + + + 32 + + + 37 + + + 39 + + + 62 + + + 40 + + + 52 + + + 41 + + + 42 + + + 43 + + + 44 + + + 64 + + + 60 + + + 58 + + + 56 + + + 49 + + + 100 + + 2116332 + + + + + EM4471 + + Roda + Gabriele + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 56 + 2025-03-09T10:43:00+01:00 + 2025-03-09T10:00:00+01:00 + + -1319 + 13 + DidNotStart + 0 + + 70 + + + 34 + + + 69 + + + 72 + + + 31 + + + 32 + + + 37 + + + 39 + + + 62 + + + 40 + + + 52 + + + 41 + + + 42 + + + 43 + + + 44 + + + 64 + + + 60 + + + 58 + + + 56 + + + 49 + + + 100 + + 8668140 + + + + + + WE + W ELITE + + + 5600 + 0 + + + + EM4378 + + Merkelyte + Roberta + + Lituania + + + 0221 + POL. G. MASI + Italia + + + 103 + 2025-03-09T10:07:00+01:00 + 2025-03-09T10:37:46+01:00 + + 0 + 1 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8026656 + + + + + EM3361 + + Bugane' + Margherita + + Italia + + + 0221 + POL. G. MASI + Italia + + + 100 + 2025-03-09T10:12:58+01:00 + 2025-03-09T10:45:46+01:00 + + 88 + 2 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8006325 + + + + + VE13679 + + Ferrante + Gaia + + Italia + + + 0120 + OR. G. GALILEI + Italia + + + 95 + 2025-03-09T10:04:59+01:00 + 2025-03-09T10:40:35+01:00 + + 283 + 3 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8027820 + + + + + LB3840 + + Talignani + Alice + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 99 + 2025-03-09T10:20:59+01:00 + 2025-03-09T10:59:50+01:00 + + 312 + 4 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8002250 + + + + + VE6518 + + Michelin + Emy + + Italia + + + 0120 + OR. G. GALILEI + Italia + + + 94 + 2025-03-09T10:10:59+01:00 + 2025-03-09T10:48:43+01:00 + + 342 + 5 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 7204770 + + + + + MA634 + + Bajrami + Greta + + Albania + + + 0680 + ASCOLI PICENO OR. + Italia + + + 98 + 2025-03-09T10:08:59+01:00 + 2025-03-09T10:46:19+01:00 + + 385 + 6 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8352387 + + + + + EM4716 + + Fiorini + Matilde + + Italia + + + 0793 + OR. PARMA + Italia + + + 101 + 2025-03-09T10:14:59+01:00 + 2025-03-09T10:51:54+01:00 + + 430 + 7 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 2116302 + + + + + EM2304 + + Murer + Lucia + + Italia + + + 0221 + POL. G. MASI + Italia + + + 96 + 2025-03-09T10:23:01+01:00 + 2025-03-09T11:02:45+01:00 + + 526 + 8 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8518307 + + + + + EM3845 + + Finardi + Sara + + Italia + + + 0793 + OR. PARMA + Italia + + + 102 + 2025-03-09T10:18:59+01:00 + 2025-03-09T11:01:41+01:00 + + 669 + 9 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 2116290 + + + + + TN6651 + + Tulissi + Sara + + Italia + + + 0015 + OR. PERGINE + Italia + + + 97 + 2025-03-09T10:16:58+01:00 + 2025-03-09T11:03:01+01:00 + + 948 + 10 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8507996 + + + + + + M35 + M 35 + + + 5600 + 0 + + + + EM4465 + + Martin Franco + Ricardo José + + Spagna + + + 0221 + POL. G. MASI + Italia + + + 26 + 2025-03-09T10:31:00+01:00 + 2025-03-09T10:58:07+01:00 + + 0 + 1 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8657335 + + + + + TO1950 + + Tinti + Francesco + + Italia + + + 0556 + IKP + Italia + + + 170 + 2025-03-09T10:50:59+01:00 + 2025-03-09T11:21:39+01:00 + + 75 + 2 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8110875 + + + + + LB10098 + + Schembari + Giovanni + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 27 + 2025-03-09T10:40:59+01:00 + 2025-03-09T11:14:44+01:00 + + 201 + 3 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8003208 + + + + + VE17911 + + Ballarin + Matteo + + Italia + + + 0234 + OR. SWALLOWS NOALE + Italia + + + 32 + 2025-03-09T10:52:58+01:00 + 2025-03-09T11:25:30+01:00 + + 224 + 4 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8223048 + + + + + MA433 + + Gentili + Tommaso + + Italia + + + 0757 + PICCHIO VERDE + Italia + + + 29 + 2025-03-09T10:32:59+01:00 + 2025-03-09T11:06:19+01:00 + + 255 + 5 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8000607 + + + + + TO1637 + + Calderon + Manuele Alessio + + Italia + + + 0597 + FIRENZE OR. + Italia + + + 31 + 2025-03-09T10:44:59+01:00 + 2025-03-09T11:23:01+01:00 + + 433 + 6 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8193764 + + + + + EM1648 + + Di Venere + Michelangelo + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 28 + 2025-03-09T10:39:01+01:00 + 2025-03-09T11:15:00+01:00 + + 445 + 7 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8668130 + + + + + EM1463 + + Bacci + Federico + + Italia + + + 0221 + POL. G. MASI + Italia + + + 24 + 2025-03-09T10:42:59+01:00 + 2025-03-09T11:20:08+01:00 + + 456 + 8 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 9200000 + + + + + TN6324 + + Debiasi + Dennis + + Italia + + + 0600 + TRENTO OR. + Italia + + + 30 + 2025-03-09T10:35:00+01:00 + 2025-03-09T11:14:55+01:00 + + 565 + 9 + OK + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 8005285 + + + + + EM4263 + + Magagnoli + Giacomo + + Italia + + + 0221 + POL. G. MASI + Italia + + + 25 + 2025-03-09T10:37:01+01:00 + 2025-03-09T11:09:09+01:00 + + 118 + 10 + MissingPunch + 0 + + 31 + + + + 70 + + + + 69 + + + + 36 + + + + 72 + + + + 53 + + + + 33 + + + + 32 + + + + 73 + + + + 39 + + + + 40 + + + + 52 + + + + 54 + + + + 45 + + + + 44 + + + + 46 + + + + 64 + + + 47 + + + + 51 + + + + 66 + + + + 65 + + + + 49 + + + + 100 + + + 2116339 + + + + + + ME + M ELITE + + + 6100 + 0 + + + + EM2456 + + Amadesi + Fabio + + Italia + + + 0824 + PARK WORLD TOUR ITALIA S.S.D. S.R.L. + Italia + + + 53 + 2025-03-09T10:26:59+01:00 + 2025-03-09T10:52:30+01:00 + + 0 + 1 + OK + 0 + + 33 + + + + 53 + + + + 34 + + + + 69 + + + + 36 + + + + 72 + + + + 31 + + + + 61 + + + + 62 + + + + 40 + + + + 52 + + + + 45 + + + + 44 + + + + 43 + + + + 55 + + + + 47 + + + + 51 + + + + 48 + + + + 50 + + + + 57 + + + + 48 + + + + 49 + + + + 56 + + + + 100 + + + 8064443 + + + + + LB4045 + + Greci + Cristian + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 47 + 2025-03-09T10:28:59+01:00 + 2025-03-09T10:56:59+01:00 + + 73 + 2 + OK + 0 + + 33 + + + + 53 + + + + 34 + + + + 69 + + + + 36 + + + + 72 + + + + 31 + + + + 61 + + + + 62 + + + + 40 + + + + 52 + + + + 45 + + + + 44 + + + + 43 + + + + 55 + + + + 47 + + + + 51 + + + + 48 + + + + 50 + + + + 57 + + + + 48 + + + + 49 + + + + 56 + + + + 100 + + + 8002252 + + + + + VE15155 + + Michelin + Thomas + + Italia + + + 0120 + OR. G. GALILEI + Italia + + + 45 + 2025-03-09T10:37:00+01:00 + 2025-03-09T11:06:21+01:00 + + 124 + 3 + OK + 0 + + 33 + + + + 53 + + + + 34 + + + + 69 + + + + 36 + + + + 72 + + + + 31 + + + + 61 + + + + 62 + + + + 40 + + + + 52 + + + + 45 + + + + 44 + + + + 43 + + + + 55 + + + + 47 + + + + 51 + + + + 48 + + + + 50 + + + + 57 + + + + 48 + + + + 49 + + + + 56 + + + + 100 + + + 8027821 + + + + + EM3746 + + De Molli + Francesco + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 50 + 2025-03-09T10:20:58+01:00 + 2025-03-09T10:49:22+01:00 + + 213 + 4 + OK + 0 + + 33 + + + + 53 + + + + 34 + + + + 69 + + + + 36 + + + + 72 + + + + 31 + + + + 61 + + + + 62 + + + + 40 + + + + 52 + + + + 45 + + + + 44 + + + + 43 + + + + 55 + + + + 47 + + + + 51 + + + + 48 + + + + 50 + + + + 57 + + + + 48 + + + + 49 + + + + 56 + + + + 100 + + + 8094857 + + + + + EM2071 + + Murer + Fabio + + Italia + + + 0221 + POL. G. MASI + Italia + + + 55 + 2025-03-09T10:40:58+01:00 + 2025-03-09T11:13:36+01:00 + + 392 + 5 + OK + 0 + + 33 + + + + 53 + + + + 34 + + + + 69 + + + + 36 + + + + 72 + + + + 31 + + + + 61 + + + + 62 + + + + 40 + + + + 52 + + + + 45 + + + + 44 + + + + 43 + + + + 55 + + + + 47 + + + + 51 + + + + 48 + + + + 50 + + + + 57 + + + + 48 + + + + 49 + + + + 56 + + + + 100 + + + 8517307 + + + + + EM2006 + + Salgo' + Stefano + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 49 + 2025-03-09T10:32:59+01:00 + 2025-03-09T11:04:32+01:00 + + 399 + 6 + OK + 0 + + 33 + + + + 53 + + + + 34 + + + + 69 + + + + 36 + + + + 72 + + + + 31 + + + + 61 + + + + 62 + + + + 40 + + + + 52 + + + + 45 + + + + 44 + + + + 43 + + + + 55 + + + + 47 + + + + 51 + + + + 48 + + + + 50 + + + + 57 + + + + 48 + + + + 49 + + + + 56 + + + + 100 + + + 8040015 + + + + + EM1695 + + Marzolini + Gabriele + + Italia + + + 0610 + OR. CLUB APPENNINO + Italia + + + 51 + 2025-03-09T10:38:58+01:00 + 2025-03-09T11:09:23+01:00 + + 404 + 7 + OK + 0 + + 33 + + + + 53 + + + + 34 + + + + 69 + + + + 36 + + + + 72 + + + + 31 + + + + 61 + + + + 62 + + + + 40 + + + + 52 + + + + 45 + + + + 44 + + + + 43 + + + + 55 + + + + 47 + + + + 51 + + + + 48 + + + + 50 + + + + 57 + + + + 48 + + + + 49 + + + + 56 + + + + 100 + + + 8047318 + + + + + EM2096 + + De Nardis + Alberto + + Italia + + + 0221 + POL. G. MASI + Italia + + + 54 + 2025-03-09T10:25:01+01:00 + 2025-03-09T11:00:38+01:00 + + 586 + 8 + OK + 0 + + 33 + + + + 53 + + + + 34 + + + + 69 + + + + 36 + + + + 72 + + + + 31 + + + + 61 + + + + 62 + + + + 40 + + + + 52 + + + + 45 + + + + 44 + + + + 43 + + + + 55 + + + + 47 + + + + 51 + + + + 48 + + + + 50 + + + + 57 + + + + 48 + + + + 49 + + + + 56 + + + + 100 + + + 8527955 + + + + + MA482 + + Volponi + Giovanni + + Italia + + + 0757 + PICCHIO VERDE + Italia + + + 46 + 2025-03-09T10:30:59+01:00 + 2025-03-09T11:09:06+01:00 + + 755 + 9 + OK + 0 + + 33 + + + + 53 + + + + 34 + + + + 69 + + + + 36 + + + + 72 + + + + 31 + + + + 61 + + + + 62 + + + + 40 + + + + 52 + + + + 45 + + + + 44 + + + + 43 + + + + 55 + + + + 47 + + + + 51 + + + + 48 + + + + 50 + + + + 57 + + + + 48 + + + + 49 + + + + 56 + + + + 100 + + + 8000608 + + + + + MA520 + + Cimica + Stefano + + Italia + + + 0680 + ASCOLI PICENO OR. + Italia + + + 171 + 2025-03-09T10:42:59+01:00 + 2025-03-09T11:23:37+01:00 + + 871 + 10 + OK + 0 + + 33 + + + + 53 + + + + 34 + + + + 69 + + + + 36 + + + + 72 + + + + 31 + + + + 61 + + + + 62 + + + + 40 + + + + 52 + + + + 45 + + + + 44 + + + + 43 + + + + 55 + + + + 47 + + + + 51 + + + + 48 + + + + 50 + + + + 57 + + + + 48 + + + + 49 + + + + 56 + + + + 100 + + + 8003211 + + + + + VE17846 + + Ardeni + Eugenio + + Italia + + + 0206 + POL. CIRCOLO DOZZA + Italia + + + 172 + 2025-03-09T10:56:58+01:00 + 2025-03-09T11:39:15+01:00 + + 1049 + 11 + OK + 0 + + 33 + + + + 53 + + + + 34 + + + + 69 + + + + 36 + + + + 72 + + + + 31 + + + + 61 + + + + 62 + + + + 40 + + + + 52 + + + + 45 + + + + 44 + + + + 43 + + + + 55 + + + + 47 + + + + 51 + + + + 48 + + + + 50 + + + + 57 + + + + 48 + + + + 49 + + + + 56 + + + + 100 + + + 8514468 + + + + + EM4485 + + Diana Carboni + Davide + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 48 + 2025-03-09T10:34:58+01:00 + 2025-03-09T11:25:56+01:00 + + 1537 + 12 + OK + 0 + + 33 + + + + 53 + + + + 34 + + + + 69 + + + + 36 + + + + 72 + + + + 31 + + + + 61 + + + + 62 + + + + 40 + + + + 52 + + + + 45 + + + + 44 + + + + 43 + + + + 55 + + + + 47 + + + + 51 + + + + 48 + + + + 50 + + + + 57 + + + + 48 + + + + 49 + + + + 56 + + + + 100 + + + 2133179 + + + + + EM3750 + + Barbato + Gabriele + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 52 + 2025-03-09T10:22:59+01:00 + 2025-03-09T10:51:37+01:00 + + 296 + 13 + MissingPunch + 0 + + 33 + + + + 53 + + + + 34 + + + + 69 + + + + 36 + + + + 72 + + + + 31 + + + + 61 + + + + 62 + + + + 40 + + + + 52 + + + + 45 + + + 44 + + + + 43 + + + + 55 + + + + 47 + + + + 51 + + + + 48 + + + + 50 + + + + 57 + + + 48 + + + 49 + + + 56 + + + 100 + + 8115432 + + + + \ No newline at end of file diff --git a/xmls/ParmaColorno1_2025122.xml b/xmls/ParmaColorno1_2025122.xml new file mode 100644 index 0000000..5f8baf1 --- /dev/null +++ b/xmls/ParmaColorno1_2025122.xml @@ -0,0 +1,8918 @@ + + + + 1^ manche - Colorno + + 2025-02-23 + + + + 2025-02-23 + + + + + + BIANCO + Bianco + + + 0 + 0 + + + + EM4634 + + Pecorari + Lorenzo + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 1 + 2025-02-23T10:26:12+01:00 + 2025-02-23T10:48:52+01:00 + + 0 + 1 + OK + 100 + + 46 + + + + 47 + + + + 52 + + + + 44 + + + + 34 + + + + 53 + + + + 48 + + + + 50 + + + + 51 + + + + 54 + + + + 31 + + + + 40 + + + + 100 + + + 2088731 + + + + + + ESO + ESORDIENTI + + + 0 + 0 + + + + + GIALLO + Giallo + + + 0 + 0 + + + + EM2517 + + Camboni + Stefano + + Italia + + + 0221 + POL. G. MASI + Italia + + + 2 + 2025-02-23T10:30:05+01:00 + 2025-02-23T10:49:09+01:00 + + 0 + 1 + OK + 100 + + 44 + + + + 42 + + + + 36 + + + + 35 + + + + 39 + + + + 34 + + + + 47 + + + + 43 + + + + 50 + + + + 45 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 2116345 + + + + + + + Bertazzoni + Susanna + + Italia + + + 0793 + ORIENTEERING PARMA + Italia + + + 135 + 2025-02-23T10:10:36+01:00 + 2025-02-23T10:37:07+01:00 + + 447 + 2 + OK + 51.703 + + 44 + + + + 42 + + + + 36 + + + + 35 + + + + 39 + + + + 34 + + + + 47 + + + + 43 + + + + 50 + + + + 45 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 2116294 + + + + + + M10 + M 10 + + + 0 + 0 + + + + + M12 + M 12 + + + 0 + 0 + + + + TN6957 + + Laccona + Leonardo Mattia + + Italia + + + 0022 + G.S. MONTE GINER + Italia + + + 9 + 2025-02-23T10:24:06+01:00 + 2025-02-23T10:33:29+01:00 + + 0 + 1 + OK + 100 + + 46 + + + + 47 + + + + 52 + + + + 44 + + + + 34 + + + + 53 + + + + 48 + + + + 50 + + + + 51 + + + + 54 + + + + 31 + + + + 40 + + + + 100 + + + 8524508 + + + + + EM4567 + + Scaramuzza + Valerio + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 7 + 2025-02-23T10:08:04+01:00 + 2025-02-23T10:17:36+01:00 + + 9 + 2 + OK + 96.878 + + 46 + + + + 47 + + + + 52 + + + + 44 + + + + 34 + + + + 53 + + + + 48 + + + + 50 + + + + 51 + + + + 54 + + + + 31 + + + + 40 + + + + 100 + + + 2013160 + + + + + EM4409 + + Calzolari + Alessio + + Italia + + + 0221 + POL. G. MASI + Italia + + + 10 + 2025-02-23T10:13:59+01:00 + 2025-02-23T10:23:31+01:00 + + 9 + 2 + OK + 96.878 + + 46 + + + + 47 + + + + 52 + + + + 44 + + + + 34 + + + + 53 + + + + 48 + + + + 50 + + + + 51 + + + + 54 + + + + 31 + + + + 40 + + + + 100 + + + 8514695 + + + + + EM4565 + + Lanna + Francesco + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 8 + 2025-02-23T10:04:18+01:00 + 2025-02-23T10:15:47+01:00 + + 126 + 4 + OK + 66.77 + + 46 + + + + 47 + + + + 52 + + + + 44 + + + + 34 + + + + 53 + + + + 48 + + + + 50 + + + + 51 + + + + 54 + + + + 31 + + + + 40 + + + + 100 + + + 8527138 + + + + + EM3321 + + Visioli + Leonardo + + Italia + + + 0769 + ERIDANO ADVENTURE + Italia + + + 5 + 2025-02-23T10:04:01+01:00 + 2025-02-23T10:17:34+01:00 + + 250 + 5 + OK + 47.955 + + 46 + + + + 47 + + + + 52 + + + + 44 + + + + 34 + + + + 53 + + + + 48 + + + + 50 + + + + 51 + + + + 54 + + + + 31 + + + + 40 + + + + 100 + + + 7003221 + + + + + EM4380 + + Giacomin + Fabio + + Italia + + + 0221 + POL. G. MASI + Italia + + + 3 + 2025-02-23T10:42:04+01:00 + 2025-02-23T10:56:03+01:00 + + 276 + 6 + OK + 45.029 + + 46 + + + + 47 + + + + 52 + + + + 44 + + + + 34 + + + + 53 + + + + 48 + + + + 50 + + + + 51 + + + + 54 + + + + 31 + + + + 40 + + + + 100 + + + 8514438 + + + + + EM4721 + + Castellotti + Francesco + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 4 + 2025-02-23T10:10:01+01:00 + 2025-02-23T10:25:41+01:00 + + 377 + 7 + OK + 35.872 + + 46 + + + + 47 + + + + 52 + + + + 44 + + + + 34 + + + + 53 + + + + 48 + + + + 50 + + + + 51 + + + + 54 + + + + 31 + + + + 40 + + + + 100 + + + 2013204 + + + + + + M14 + M 13/14 + + + 0 + 0 + + + + EM4375 + + Bonato + Luca + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 17 + 2025-02-23T10:28:01+01:00 + 2025-02-23T10:40:32+01:00 + + 0 + 1 + OK + 100 + + 44 + + + + 42 + + + + 36 + + + + 35 + + + + 39 + + + + 34 + + + + 47 + + + + 43 + + + + 50 + + + + 45 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8330300 + + + + + TN6956 + + Laccona + Alessandro Massimo + + Italia + + + 0022 + G.S. MONTE GINER + Italia + + + 18 + 2025-02-23T10:26:03+01:00 + 2025-02-23T10:39:47+01:00 + + 73 + 2 + OK + 83.066 + + 44 + + + + 42 + + + + 36 + + + + 35 + + + + 39 + + + + 34 + + + + 47 + + + + 43 + + + + 50 + + + + 45 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8525862 + + + + + EM4412 + + Gaudenzi + Giovanni + + Italia + + + 0221 + POL. G. MASI + Italia + + + 16 + 2025-02-23T10:18:01+01:00 + 2025-02-23T10:33:23+01:00 + + 171 + 3 + OK + 66.347 + + 44 + + + + 42 + + + + 36 + + + + 35 + + + + 39 + + + + 34 + + + + 47 + + + + 43 + + + + 50 + + + + 45 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 2116347 + + + + + EM4413 + + Chira + Davide + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 15 + 2025-02-23T10:06:05+01:00 + 2025-02-23T10:21:42+01:00 + + 186 + 4 + OK + 64.239 + + 44 + + + + 42 + + + + 36 + + + + 35 + + + + 39 + + + + 34 + + + + 47 + + + + 43 + + + + 50 + + + + 45 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8506932 + + + + + EM4463 + + Sarzi Sartori + Cristian + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 13 + 2025-02-23T10:24:05+01:00 + 2025-02-23T10:40:07+01:00 + + 211 + 5 + OK + 60.944 + + 44 + + + + 42 + + + + 36 + + + + 35 + + + + 39 + + + + 34 + + + + 47 + + + + 43 + + + + 50 + + + + 45 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 2020387 + + + + + EM4495 + + Guglielmetti + Vittorio + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 11 + 2025-02-23T10:34:01+01:00 + 2025-02-23T10:55:39+01:00 + + 547 + 6 + OK + 33.476 + + 44 + + + + 42 + + + + 36 + + + + 35 + + + + 39 + + + + 34 + + + + 47 + + + + 43 + + + + 50 + + + + 45 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 2088732 + + + + + + M18 + M 17/18 + + + 0 + 0 + + + + EM2521 + + Rivolta + Olmo + + Italia + + + 0221 + POL. G. MASI + Italia + + + 24 + 2025-02-23T10:12:02+01:00 + 2025-02-23T10:25:30+01:00 + + 0 + 1 + OK + 100 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8101029 + + + + + EM4411 + + Conti + Simone + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 20 + 2025-02-23T10:26:00+01:00 + 2025-02-23T10:42:15+01:00 + + 167 + 2 + OK + 68.677 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8076789 + + + + + EM2873 + + Salgo' + Davide + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 19 + 2025-02-23T10:42:00+01:00 + 2025-02-23T10:59:11+01:00 + + 223 + 3 + OK + 61.419 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8101220 + + + + + EM4574 + + Maghei + Aldo + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 23 + 2025-02-23T10:40:00+01:00 + 2025-02-23T10:58:30+01:00 + + 302 + 4 + OK + 52.988 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 2013167 + + + + + EM4503 + + Sarni + Stefano + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 21 + 2025-02-23T10:16:02+01:00 + 2025-02-23T10:35:52+01:00 + + 382 + 5 + OK + 46.103 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8527137 + + + + + EM4566 + + Setti + Gabriele + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 22 + 2025-02-23T10:33:59+01:00 + 2025-02-23T10:54:37+01:00 + + 430 + 6 + OK + 42.597 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 2013163 + + + + + + M35 + M 35 + + + 0 + 0 + + + + LB2500 + + Bertolotti + Filippo + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 27 + 2025-02-23T10:02:15+01:00 + 2025-02-23T10:17:48+01:00 + + 0 + 1 + OK + 100 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8527140 + + + + + LB203 + + Visioli + Andrea + + Italia + + + 0769 + ERIDANO ADVENTURE + Italia + + + 26 + 2025-02-23T10:55:59+01:00 + 2025-02-23T11:11:52+01:00 + + 20 + 2 + OK + 95.847 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8195725 + + + + + TO649 + + Soldaini + Jacopo + + Italia + + + 0597 + FIRENZE OR. + Italia + + + 30 + 2025-02-23T10:26:06+01:00 + 2025-02-23T10:42:34+01:00 + + 55 + 3 + OK + 89.176 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 211363 + + + + + EM4465 + + Martin Franco + Ricardo José + + Italia + + + 0221 + POL. G. MASI + Italia + + + 32 + 2025-02-23T10:07:59+01:00 + 2025-02-23T10:24:36+01:00 + + 64 + 4 + OK + 87.574 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8657335 + + + + + EM663 + + Bonato + Nicola + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 36 + 2025-02-23T10:28:04+01:00 + 2025-02-23T10:45:31+01:00 + + 114 + 5 + OK + 79.409 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8003921 + + + + + LB10098 + + Schembari + Giovanni + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 25 + 2025-02-23T10:20:19+01:00 + 2025-02-23T10:38:22+01:00 + + 150 + 6 + OK + 74.218 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8003208 + + + + + LB2817 + + Madella + Remo + + Italia + + + 0221 + POL. G. MASI + Italia + + + 33 + 2025-02-23T10:46:01+01:00 + 2025-02-23T11:04:51+01:00 + + 197 + 7 + OK + 68.172 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8680058 + + + + + TN6965 + + Laccona + Giuseppe + + Italia + + + 0022 + G.S. MONTE GINER + Italia + + + 34 + 2025-02-23T10:24:00+01:00 + 2025-02-23T10:44:45+01:00 + + 312 + 8 + OK + 56.16 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8632212 + + + + + EM2047 + + Davide + Cantarelli + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 28 + 2025-02-23T10:50:02+01:00 + 2025-02-23T11:10:51+01:00 + + 316 + 9 + OK + 55.801 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 2227341 + + + + + EM1648 + + Di Venere + Michelangelo + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 31 + 2025-02-23T10:32:01+01:00 + 2025-02-23T10:54:43+01:00 + + 429 + 10 + OK + 46.926 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8668130 + + + + + TO1361 + + Selleri + Alessandro + + Italia + + + 0761 + ORIENTAMENTE + Italia + + + 35 + 2025-02-23T10:04:16+01:00 + 2025-02-23T10:27:11+01:00 + + 442 + 11 + OK + 46.042 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8050674 + + + + + LB2796 + + Darecchio + Matteo + + Italia + + + 0793 + OR. PARMA + Italia + + + 29 + 2025-02-23T10:14:16+01:00 + 2025-02-23T10:40:39+01:00 + + 650 + 12 + OK + 34.738 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 2088734 + + + + + + M55 + M 55 + + + 0 + 0 + + + + EM208 + + Balboni + Massimo + + Italia + + + 0610 + OR. CLUB APPENNINO + Italia + + + 45 + 2025-02-23T10:10:29+01:00 + 2025-02-23T10:25:36+01:00 + + 0 + 1 + OK + 100 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8005278 + + + + + EM469 + + Bussi + Mauro + + Italia + + + 0255 + S CARCHIDIO-STROCCHI + Italia + + + 41 + 2025-02-23T10:50:04+01:00 + 2025-02-23T11:06:00+01:00 + + 49 + 2 + OK + 90.012 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8000540 + + + + + EM355 + + Dissette + Paolo + + Italia + + + 0202 + OR. DOLOMITI + Italia + + + 43 + 2025-02-23T11:02:52+01:00 + 2025-02-23T11:19:18+01:00 + + 79 + 3 + OK + 84.618 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8518336 + + + + + EM1508 + + Ravaglia + Enzo + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 44 + 2025-02-23T10:54:00+01:00 + 2025-02-23T11:11:04+01:00 + + 117 + 4 + OK + 78.454 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 205883 + + + + + EM4497 + + Guglielmetti + Marco + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 39 + 2025-02-23T10:44:02+01:00 + 2025-02-23T11:02:44+01:00 + + 215 + 5 + OK + 65.347 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 2088733 + + + + + EM1541 + + Burani + Giovanni + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 46 + 2025-02-23T10:14:18+01:00 + 2025-02-23T10:33:09+01:00 + + 224 + 6 + OK + 64.312 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8200078 + + + + + VE4725 + + Bignami + Giuliano + + Italia + + + 0221 + POL. G. MASI + Italia + + + 38 + 2025-02-23T10:08:05+01:00 + 2025-02-23T10:27:32+01:00 + + 260 + 7 + OK + 60.405 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8089657 + + + + + EM739 + + D'amico + Dario + + Italia + + + 0206 + POL. CIRCOLO DOZZA + Italia + + + 40 + 2025-02-23T10:46:03+01:00 + 2025-02-23T11:06:05+01:00 + + 295 + 8 + OK + 56.938 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8001437 + + + + + EM1124 + + Ramazza + Stefano + + Italia + + + 0221 + POL. G. MASI + Italia + + + 37 + 2025-02-23T10:18:06+01:00 + 2025-02-23T10:39:16+01:00 + + 363 + 9 + OK + 51.004 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8002253 + + + + + EM1022 + + Fiorini + Fabio + + Italia + + + 0206 + POL. CIRCOLO DOZZA + Italia + + + 42 + 2025-02-23T10:24:02+01:00 + 2025-02-23T10:52:18+01:00 + + 789 + 10 + OK + 28.6 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8001442 + + + + + + ME + M ELITE + + + 0 + 0 + + + + EM431 + + Tenani + Alessio + + Italia + + + 0221 + POL. G. MASI + Italia + + + 54 + 2025-02-23T10:23:59+01:00 + 2025-02-23T10:38:17+01:00 + + 0 + 1 + OK + 100 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8160979 + + + + + EM3746 + + De Molli + Francesco + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 47 + 2025-02-23T10:02:08+01:00 + 2025-02-23T10:16:40+01:00 + + 14 + 2 + OK + 96.815 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8094857 + + + + + LB5166 + + Mirza + Lucian + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 62 + 2025-02-23T10:45:59+01:00 + 2025-02-23T11:00:48+01:00 + + 31 + 3 + OK + 93.147 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8519067 + + + + + EM734 + + Morara + Matteo + + Italia + + + 0221 + POL. G. MASI + Italia + + + 50 + 2025-02-23T10:18:19+01:00 + 2025-02-23T10:33:41+01:00 + + 64 + 4 + OK + 86.599 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8001439 + + + + + EM4405 + + Celona + Lorenzo + + Italia + + + 0221 + POL. G. MASI + Italia + + + 64 + 2025-02-23T10:20:04+01:00 + 2025-02-23T10:35:31+01:00 + + 69 + 5 + OK + 85.667 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8200411 + + + + + EM4453 + + Singh + Inderpreet + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 56 + 2025-02-23T10:29:59+01:00 + 2025-02-23T10:46:15+01:00 + + 118 + 6 + OK + 77.281 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8516467 + + + + + EM4299 + + Ghidini + Samuele + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 51 + 2025-02-23T10:27:59+01:00 + 2025-02-23T10:44:40+01:00 + + 143 + 7 + OK + 73.469 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8401574 + + + + + EM3750 + + Barbato + Gabriele + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 49 + 2025-02-23T10:34:00+01:00 + 2025-02-23T10:51:04+01:00 + + 166 + 8 + OK + 70.206 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8115432 + + + + + EM1695 + + Marzolini + Gabriele + + Italia + + + 0610 + OR. CLUB APPENNINO + Italia + + + 60 + 2025-02-23T10:32:00+01:00 + 2025-02-23T10:49:28+01:00 + + 190 + 9 + OK + 67.027 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8047318 + + + + + EM2006 + + Salgo' + Stefano + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 57 + 2025-02-23T10:37:59+01:00 + 2025-02-23T10:55:33+01:00 + + 196 + 10 + OK + 66.266 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8040015 + + + + + EM4346 + + Succi + Michele + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 55 + 2025-02-23T10:35:59+01:00 + 2025-02-23T10:54:27+01:00 + + 250 + 11 + OK + 59.965 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8518829 + + + + + LB4115 + + Ben Rejeb + Alain + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 61 + 2025-02-23T10:50:00+01:00 + 2025-02-23T11:08:37+01:00 + + 259 + 12 + OK + 59.002 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8516529 + + + + + EM4485 + + Diana Carboni + Davide + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 53 + 2025-02-23T10:25:59+01:00 + 2025-02-23T10:44:55+01:00 + + 278 + 13 + OK + 57.045 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8134728 + + + + + EM3749 + + Fava + Riccardo + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 48 + 2025-02-23T10:22:00+01:00 + 2025-02-23T10:41:46+01:00 + + 328 + 14 + OK + 52.337 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8506928 + + + + + MA482 + + Volponi + Giovanni + + Italia + + + 0757 + PICCHIO VERDE + Italia + + + 63 + 2025-02-23T10:42:07+01:00 + 2025-02-23T11:02:34+01:00 + + 369 + 15 + OK + 48.897 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8000608 + + + + + VE17846 + + Ardeni + Eugenio + + Italia + + + 0206 + POL. CIRCOLO DOZZA + Italia + + + 59 + 2025-02-23T10:39:59+01:00 + 2025-02-23T11:02:37+01:00 + + 500 + 16 + OK + 39.919 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8514468 + + + + + + + CIMICA + STEFANO + + Italia + + + 0680 + ASD ASCOLI PICENO + Italia + + + 114 + 2025-02-23T10:04:03+01:00 + 2025-02-23T10:29:26+01:00 + + 665 + 17 + OK + 31.738 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8003211 + + + + + LB1964 + + Galletti + Stefano + + Italia + + + 0158 + UNIONE LOMBARDA + Italia + + + 58 + 2025-02-23T10:06:07+01:00 + 2025-02-23T10:32:14+01:00 + + 709 + 18 + OK + 29.98 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8217770 + + + + + EM965 + + Nanni + Francesco + + Italia + + + 0206 + POL. CIRCOLO DOZZA + Italia + + + 52 + 2025-02-23T10:12:07+01:00 + 2025-02-23T10:40:09+01:00 + + 824 + 19 + OK + 26.021 + + 49 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 32 + + + + 33 + + + + 39 + + + + 40 + + + + 31 + + + + 55 + + + + 54 + + + + 50 + + + + 51 + + + + 100 + + + 8001447 + + + + + + ROSSO + Rosso + + + 0 + 0 + + + + + + Cremonesi + Elisa + + Italia + + + 0877 + OTPGEA + Italia + + + 125 + 2025-02-23T10:42:02+01:00 + 2025-02-23T10:59:53+01:00 + + 0 + 1 + OK + 100 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 2116285 + + + + + EM4575 + + Gaudenzi + Nicola + + Italia + + + 0221 + POL. G. MASI + Italia + + + 66 + 2025-02-23T10:38:03+01:00 + 2025-02-23T10:56:25+01:00 + + 31 + 2 + OK + 94.453 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 2116349 + + + + + + + Lanciano + Gaetano + + Italia + + + 0769 + ERIDANO ADVENTURE + Italia + + + 133 + 2025-02-23T10:24:03+01:00 + 2025-02-23T10:43:19+01:00 + + 85 + 3 + OK + 85.835 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 2056715 + + + + + FR5377 + + Morpurgo + Giada + + Italia + + + 0735 + PUNTO K OR. + Italia + + + 65 + 2025-02-23T10:54:03+01:00 + 2025-02-23T11:15:09+01:00 + + 195 + 4 + OK + 71.567 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 2045657 + + + + + EM3259 + + Amadesi + Claudio + + Italia + + + 0610 + OR. CLUB APPENNINO + Italia + + + 69 + 2025-02-23T10:16:04+01:00 + 2025-02-23T10:41:42+01:00 + + 467 + 5 + OK + 48.492 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 2103435 + + + + + EM4416 + + Galli + Fabio + + Italia + + + 0769 + ERIDANO ADVENTURE + Italia + + + 70 + 2025-02-23T10:14:20+01:00 + 2025-02-23T10:41:50+01:00 + + 579 + 6 + OK + 42.132 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 2088736 + + + + + TO2065 + + Forteleoni + Paolo + + Italia + + + 0056 + ASD Orient-Express Verona + Italia + + + 112 + 2025-02-23T10:46:09+01:00 + 2025-02-23T11:16:02+01:00 + + 722 + 7 + OK + 35.679 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 2620814 + + + + + + W10 + W 10 + + + 0 + 0 + + + + + W12 + W 12 + + + 0 + 0 + + + + EM4373 + + Bonato + Agata + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 75 + 2025-02-23T10:22:04+01:00 + 2025-02-23T10:32:36+01:00 + + 0 + 1 + OK + 100 + + 46 + + + + 47 + + + + 52 + + + + 44 + + + + 34 + + + + 53 + + + + 48 + + + + 50 + + + + 51 + + + + 54 + + + + 31 + + + + 40 + + + + 100 + + + 8003676 + + + + + EM4718 + + Souei + Asia + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 72 + 2025-02-23T10:06:00+01:00 + 2025-02-23T10:28:32+01:00 + + 720 + 2 + MissingPunch + 0 + + 46 + + + + 47 + + + + 52 + + + + 44 + + + + 34 + + + + 53 + + + + 48 + + + + 50 + + + + 51 + + + + 54 + + + 31 + + + + 40 + + + + 100 + + + 2013171 + + + + + EM4717 + + Maio + Maika + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 74 + 2025-02-23T10:06:03+01:00 + 2025-02-23T10:21:49+01:00 + + 314 + 3 + MissingPunch + 0 + + 46 + + + + 47 + + + + 52 + + + + 44 + + + + 34 + + + + 53 + + + + 48 + + + + 50 + + + + 51 + + + + 54 + + + 31 + + + + 40 + + + + 100 + + 2013165 + + + + + + W14 + W 13/14 + + + 0 + 0 + + + + EM3789 + + Rivolta + Iris + + Italia + + + 0221 + POL. G. MASI + Italia + + + 77 + 2025-02-23T10:22:05+01:00 + 2025-02-23T10:36:15+01:00 + + 0 + 1 + OK + 100 + + 44 + + + + 42 + + + + 36 + + + + 35 + + + + 39 + + + + 34 + + + + 47 + + + + 43 + + + + 50 + + + + 45 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8101028 + + + + + TO2303 + + Soldaini + Agata + + Italia + + + 0597 + FIRENZE OR. + Italia + + + 78 + 2025-02-23T10:32:06+01:00 + 2025-02-23T10:46:26+01:00 + + 10 + 2 + OK + 97.688 + + 44 + + + + 42 + + + + 36 + + + + 35 + + + + 39 + + + + 34 + + + + 47 + + + + 43 + + + + 50 + + + + 45 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8513554 + + + + + + W18 + W 17/18 + + + 0 + 0 + + + + EM4379 + + Giacomin + Greta + + Italia + + + 0221 + POL. G. MASI + Italia + + + 86 + 2025-02-23T10:50:05+01:00 + 2025-02-23T11:06:11+01:00 + + 0 + 1 + OK + 100 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 8514715 + + + + + EM4454 + + Roccia + Alessandra + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 82 + 2025-02-23T10:34:02+01:00 + 2025-02-23T10:51:01+01:00 + + 53 + 2 + OK + 89.868 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 8328662 + + + + + EM4407 + + Calzolari + Diana + + Italia + + + 0221 + POL. G. MASI + Italia + + + 87 + 2025-02-23T10:18:00+01:00 + 2025-02-23T10:35:02+01:00 + + 56 + 3 + OK + 89.341 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 8514667 + + + + + EM4502 + + Pecorari + Giulia + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 79 + 2025-02-23T10:40:01+01:00 + 2025-02-23T11:00:21+01:00 + + 254 + 4 + OK + 62.695 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 2088735 + + + + + EM4348 + + Vendemmiati + Giorgia + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 80 + 2025-02-23T10:10:00+01:00 + 2025-02-23T10:30:21+01:00 + + 255 + 5 + OK + 62.593 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 8151468 + + + + + EM4370 + + Bo + Mariagiulia + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 84 + 2025-02-23T10:08:02+01:00 + 2025-02-23T10:30:22+01:00 + + 374 + 6 + OK + 51.969 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 8517467 + + + + + EM3359 + + Amadesi + Giulia + + Italia + + + 0610 + OR. CLUB APPENNINO + Italia + + + 85 + 2025-02-23T10:20:07+01:00 + 2025-02-23T10:44:03+01:00 + + 470 + 7 + OK + 45.253 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 8112321 + + + + + + W35 + W 35 + + + 0 + 0 + + + + EM1399 + + Marzolini + Michela + + Italia + + + 0392 + SEMIPERDO OR. MANIAGO + Italia + + + 90 + 2025-02-23T10:20:06+01:00 + 2025-02-23T10:36:19+01:00 + + 0 + 1 + OK + 100 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8516181 + + + + + EM901 + + Sgarzi + Elisa + + Italia + + + 0221 + POL. G. MASI + Italia + + + 96 + 2025-02-23T10:51:59+01:00 + 2025-02-23T11:10:53+01:00 + + 161 + 2 + OK + 73.621 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8511183 + + + + + EM1412 + + Gollini + Patrizia + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 88 + 2025-02-23T10:28:03+01:00 + 2025-02-23T10:47:42+01:00 + + 206 + 3 + OK + 68.108 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8034547 + + + + + LI752 + + Incerti + Laura + + Italia + + + 0022 + G.S. MONTE GINER + Italia + + + 89 + 2025-02-23T10:48:01+01:00 + 2025-02-23T11:07:48+01:00 + + 214 + 4 + OK + 67.193 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8522549 + + + + + FR4787 + + Marmiroli + Benedetta + + Italia + + + 0392 + SEMIPERDO OR. MANIAGO + Italia + + + 95 + 2025-02-23T10:56:01+01:00 + 2025-02-23T11:17:56+01:00 + + 342 + 5 + OK + 54.749 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8026602 + + + + + TN6964 + + Ceruti + Valentina + + Italia + + + 0022 + G.S. MONTE GINER + Italia + + + 92 + 2025-02-23T10:22:07+01:00 + 2025-02-23T10:46:23+01:00 + + 483 + 6 + OK + 44.658 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8632213 + + + + + EM435 + + Sergenti + Chiara + + Italia + + + 0221 + POL. G. MASI + Italia + + + 93 + 2025-02-23T10:30:00+01:00 + 2025-02-23T10:56:50+01:00 + + 637 + 7 + OK + 36.524 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 8253025 + + + + + + + Asti + Elisabetta + + Italia + + + 0877 + OTPGEA + Italia + + + 130 + 2025-02-23T10:38:01+01:00 + 2025-02-23T11:07:41+01:00 + + 807 + 8 + OK + 29.88 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 2116289 + + + + + EM4597 + + Passerini + Sara + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 98 + 2025-02-23T10:32:02+01:00 + 2025-02-23T11:04:04+01:00 + + 949 + 9 + OK + 25.628 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + + 40 + + + + 100 + + + 1967410 + + + + + TO2036 + + Bambi + Tessa + + Italia + + + 0597 + FIRENZE OR. + Italia + + + 94 + 2025-02-23T10:36:00+01:00 + 2025-02-23T10:53:22+01:00 + + 69 + 10 + MissingPunch + 0 + + 38 + + + + 39 + + + + 49 + + + + 35 + + + + 32 + + + + 44 + + + + 55 + + + + 54 + + + + 51 + + + + 50 + + + + 55 + + + + 31 + + + 40 + + + 100 + + 2042339 + + + + + + W55 + W 55 + + + 0 + 0 + + + + EM1750 + + Champalbert + Isabelle + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 99 + 2025-02-23T10:30:02+01:00 + 2025-02-23T10:50:11+01:00 + + 0 + 1 + OK + 100 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 8210001 + + + + + EM2536 + + Bruni + Catuscia + + Italia + + + 0793 + OR. PARMA + Italia + + + 102 + 2025-02-23T11:01:28+01:00 + 2025-02-23T11:26:29+01:00 + + 292 + 2 + OK + 64.877 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 8527136 + + + + + EM709 + + Bernagozzi + Marisa + + Italia + + + 0221 + POL. G. MASI + Italia + + + 101 + 2025-02-23T10:10:04+01:00 + 2025-02-23T10:44:26+01:00 + + 853 + 3 + OK + 34.378 + + 39 + + + + 37 + + + + 36 + + + + 41 + + + + 32 + + + + 42 + + + + 33 + + + + 52 + + + + 45 + + + + 31 + + + + 55 + + + + 51 + + + + 50 + + + + 100 + + + 2116352 + + + + + + WE + W ELITE + + + 0 + 0 + + + + TN3144 + + Zagonel + Viola + + Italia + + + 0221 + POL. G. MASI + Italia + + + 104 + 2025-02-23T11:00:31+01:00 + 2025-02-23T11:16:12+01:00 + + 0 + 1 + OK + 100 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8140893 + + + + + EM4378 + + Merkelyte + Roberta + + Italia + + + 0221 + POL. G. MASI + Italia + + + 103 + 2025-02-23T10:47:59+01:00 + 2025-02-23T11:05:44+01:00 + + 124 + 2 + OK + 78.069 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8026656 + + + + + EM4362 + + Cordopatri + Lauryn + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 106 + 2025-02-23T10:12:00+01:00 + 2025-02-23T10:30:15+01:00 + + 154 + 3 + OK + 73.85 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8351027 + + + + + EM4417 + + Anzola + Elena + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 107 + 2025-02-23T10:22:03+01:00 + 2025-02-23T10:40:40+01:00 + + 176 + 4 + OK + 70.97 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8463999 + + + + + MA634 + + Bajrami + Greta + + Italia + + + 0680 + ASCOLI PICENO OR. + Italia + + + 105 + 2025-02-23T10:09:59+01:00 + 2025-02-23T10:30:29+01:00 + + 289 + 5 + OK + 58.529 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8352387 + + + + + EM1365 + + Varotti + Stella + + Italia + + + 0769 + ERIDANO ADVENTURE + Italia + + + 91 + 2025-02-23T10:04:00+01:00 + 2025-02-23T10:24:55+01:00 + + 314 + 6 + OK + 56.22 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8019254 + + + + + EM4716 + + Fiorini + Matilde + + Italia + + + 0793 + OR. PARMA + Italia + + + 111 + 2025-02-23T10:18:03+01:00 + 2025-02-23T10:41:05+01:00 + + 441 + 7 + OK + 46.362 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 2088739 + + + + + EM3836 + + Arcari + Elisa + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 110 + 2025-02-23T10:08:01+01:00 + 2025-02-23T10:31:08+01:00 + + 446 + 8 + OK + 46.028 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8516729 + + + + + EM3845 + + Finardi + Sara + + Italia + + + 0793 + OR. PARMA + Italia + + + 109 + 2025-02-23T10:30:03+01:00 + 2025-02-23T10:54:42+01:00 + + 538 + 9 + OK + 40.48 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 2088737 + + + + + EM4308 + + Baga + Irene + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 108 + 2025-02-23T10:16:00+01:00 + 2025-02-23T10:40:48+01:00 + + 547 + 10 + OK + 39.992 + + 33 + + + + 42 + + + + 32 + + + + 41 + + + + 37 + + + + 35 + + + + 49 + + + + 39 + + + + 38 + + + + 40 + + + + 54 + + + + 50 + + + + 51 + + + + 55 + + + + 100 + + + 8506930 + + + + \ No newline at end of file diff --git a/xmls/ParmaColorno2_2025123.xml b/xmls/ParmaColorno2_2025123.xml new file mode 100644 index 0000000..a7868ca --- /dev/null +++ b/xmls/ParmaColorno2_2025123.xml @@ -0,0 +1,9598 @@ + + + + 2^ manche - Paradigna + + 2025-02-23 + + + + 2025-02-23 + + + + + + BIANCO + Bianco + + + 0 + 0 + + + + EM4634 + + Pecorari + Lorenzo + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 1 + 2025-02-23T14:13:56+01:00 + 2025-02-23T14:40:25+01:00 + + 0 + 1 + OK + 100 + + 82 + + + + 84 + + + + 75 + + + + 77 + + + + 78 + + + + 79 + + + + 70 + + + + 67 + + + + 66 + + + + 88 + + + + 65 + + + + 71 + + + + 100 + + + 2088731 + + + + + + ESO + ESORDIENTI + + + 0 + 0 + + + + + GIALLO + Giallo + + + 0 + 0 + + + + EM2517 + + Camboni + Stefano + + Italia + + + 0221 + POL. G. MASI + Italia + + + 2 + 2025-02-23T14:15:17+01:00 + 2025-02-23T14:32:21+01:00 + + 0 + 1 + OK + 100 + + 84 + + + + 75 + + + + 78 + + + + 81 + + + + 73 + + + + 79 + + + + 70 + + + + 67 + + + + 87 + + + + 88 + + + + 64 + + + + 71 + + + + 100 + + + 2116345 + + + + + + M10 + M 10 + + + 0 + 0 + + + + + M12 + M 12 + + + 0 + 0 + + + + EM4409 + + Calzolari + Alessio + + Italia + + + 0221 + POL. G. MASI + Italia + + + 10 + 2025-02-23T14:07:31+01:00 + 2025-02-23T14:18:08+01:00 + + 0 + 1 + OK + 100 + + 82 + + + + 84 + + + + 75 + + + + 77 + + + + 78 + + + + 79 + + + + 70 + + + + 67 + + + + 66 + + + + 88 + + + + 65 + + + + 71 + + + + 100 + + + 8514695 + + + + + TN6957 + + Laccona + Leonardo Mattia + + Italia + + + 0022 + G.S. MONTE GINER + Italia + + + 9 + 2025-02-23T14:24:06+01:00 + 2025-02-23T14:35:01+01:00 + + 18 + 2 + OK + 94.579 + + 82 + + + + 84 + + + + 75 + + + + 77 + + + + 78 + + + + 79 + + + + 70 + + + + 67 + + + + 66 + + + + 88 + + + + 65 + + + + 71 + + + + 100 + + + 8524508 + + + + + EM4380 + + Giacomin + Fabio + + Italia + + + 0221 + POL. G. MASI + Italia + + + 3 + 2025-02-23T14:21:59+01:00 + 2025-02-23T14:35:33+01:00 + + 177 + 3 + OK + 61.239 + + 82 + + + + 84 + + + + 75 + + + + 77 + + + + 78 + + + + 79 + + + + 70 + + + + 67 + + + + 66 + + + + 88 + + + + 65 + + + + 71 + + + + 100 + + + 8514438 + + + + + EM4567 + + Scaramuzza + Valerio + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 7 + 2025-02-23T14:08:54+01:00 + 2025-02-23T14:23:40+01:00 + + 249 + 4 + OK + 51.691 + + 82 + + + + 84 + + + + 75 + + + + 77 + + + + 78 + + + + 79 + + + + 70 + + + + 67 + + + + 66 + + + + 88 + + + + 65 + + + + 71 + + + + 100 + + + 2013160 + + + + + EM4721 + + Castellotti + Francesco + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 4 + 2025-02-23T14:14:27+01:00 + 2025-02-23T14:31:02+01:00 + + 358 + 5 + OK + 40.986 + + 82 + + + + 84 + + + + 75 + + + + 77 + + + + 78 + + + + 79 + + + + 70 + + + + 67 + + + + 66 + + + + 88 + + + + 65 + + + + 71 + + + + 100 + + + 2013204 + + + + + EM3321 + + Visioli + Leonardo + + Italia + + + 0769 + ERIDANO ADVENTURE + Italia + + + 5 + 2025-02-23T14:26:05+01:00 + 2025-02-23T14:45:24+01:00 + + 522 + 6 + OK + 30.207 + + 82 + + + + 84 + + + + 75 + + + + 77 + + + + 78 + + + + 79 + + + + 70 + + + + 67 + + + + 66 + + + + 88 + + + + 65 + + + + 71 + + + + 100 + + + 7003221 + + + + + EM4565 + + Lanna + Francesco + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 8 + 2025-02-23T14:12:48+01:00 + 2025-02-23T14:33:35+01:00 + + 610 + 7 + OK + 26.094 + + 82 + + + + 84 + + + + 75 + + + + 77 + + + + 78 + + + + 79 + + + + 70 + + + + 67 + + + + 66 + + + + 88 + + + + 65 + + + + 71 + + + + 100 + + + 8527138 + + + + + EM4719 + + Bondani + Manuel + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 6 + 2025-02-23T14:00:00+01:00 + 2025-02-23T14:00:00+01:00 + + -637 + 8 + DidNotStart + 0 + + 82 + + + 84 + + + 75 + + + 77 + + + 78 + + + 79 + + + 70 + + + 67 + + + 66 + + + 88 + + + 65 + + + 71 + + + 100 + + 2013166 + + + + + + M14 + M 13/14 + + + 0 + 0 + + + + TN6956 + + Laccona + Alessandro Massimo + + Italia + + + 0022 + G.S. MONTE GINER + Italia + + + 18 + 2025-02-23T14:01:13+01:00 + 2025-02-23T14:12:54+01:00 + + 0 + 1 + OK + 100 + + 84 + + + + 75 + + + + 78 + + + + 81 + + + + 73 + + + + 79 + + + + 70 + + + + 67 + + + + 87 + + + + 88 + + + + 64 + + + + 71 + + + + 100 + + + 8525862 + + + + + EM4375 + + Bonato + Luca + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 17 + 2025-02-23T14:00:00+01:00 + 2025-02-23T14:12:14+01:00 + + 33 + 2 + OK + 91.21 + + 84 + + + + 75 + + + + 78 + + + + 81 + + + + 73 + + + + 79 + + + + 70 + + + + 67 + + + + 87 + + + + 88 + + + + 64 + + + + 71 + + + + 100 + + + 8330300 + + + + + EM4413 + + Chira + Davide + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 15 + 2025-02-23T14:03:06+01:00 + 2025-02-23T14:16:01+01:00 + + 74 + 3 + OK + 81.815 + + 84 + + + + 75 + + + + 78 + + + + 81 + + + + 73 + + + + 79 + + + + 70 + + + + 67 + + + + 87 + + + + 88 + + + + 64 + + + + 71 + + + + 100 + + + 8506932 + + + + + EM4412 + + Gaudenzi + Giovanni + + Italia + + + 0221 + POL. G. MASI + Italia + + + 16 + 2025-02-23T14:02:51+01:00 + 2025-02-23T14:16:28+01:00 + + 116 + 4 + OK + 73.619 + + 84 + + + + 75 + + + + 78 + + + + 81 + + + + 73 + + + + 79 + + + + 70 + + + + 67 + + + + 87 + + + + 88 + + + + 64 + + + + 71 + + + + 100 + + + 2116347 + + + + + EM4463 + + Sarzi Sartori + Cristian + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 13 + 2025-02-23T22:24:05+01:00 + 2025-02-23T14:19:52+01:00 + + 13446 + 5 + OverTime + 0 + + 84 + + + + 75 + + + + 78 + + + + 81 + + + + 73 + + + + 79 + + + + 70 + + + + 67 + + + + 87 + + + + 88 + + + + 64 + + + + 71 + + + + 100 + + + 2020387 + + + + + EM4495 + + Guglielmetti + Vittorio + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 11 + 2025-02-23T14:06:00+01:00 + 2025-02-23T14:00:00+01:00 + + -701 + 6 + DidNotStart + 0 + + 84 + + + 75 + + + 78 + + + 81 + + + 73 + + + 79 + + + 70 + + + 67 + + + 87 + + + 88 + + + 64 + + + 71 + + + 100 + + 2088732 + + + + + EM4310 + + Astolfi + Zeno + + Italia + + + 0221 + POL. G. MASI + Italia + + + 12 + 2025-02-23T14:08:00+01:00 + 2025-02-23T14:00:00+01:00 + + -701 + 7 + DidNotStart + 0 + + 84 + + + 75 + + + 78 + + + 81 + + + 73 + + + 79 + + + 70 + + + 67 + + + 87 + + + 88 + + + 64 + + + 71 + + + 100 + + 8501970 + + + + + EM4568 + + Scaramuzza + Ettore + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 14 + 2025-02-23T14:10:00+01:00 + 2025-02-23T14:00:00+01:00 + + -701 + 8 + DidNotStart + 0 + + 84 + + + 75 + + + 78 + + + 81 + + + 73 + + + 79 + + + 70 + + + 67 + + + 87 + + + 88 + + + 64 + + + 71 + + + 100 + + 2013164 + + + + + + M18 + M 17/18 + + + 0 + 0 + + + + EM2521 + + Rivolta + Olmo + + Italia + + + 0221 + POL. G. MASI + Italia + + + 24 + 2025-02-23T14:00:00+01:00 + 2025-02-23T14:11:56+01:00 + + 0 + 1 + OK + 100 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8101029 + + + + + EM2873 + + Salgo' + Davide + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 19 + 2025-02-23T14:03:43+01:00 + 2025-02-23T14:17:42+01:00 + + 123 + 2 + OK + 72.829 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8101220 + + + + + EM4411 + + Conti + Simone + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 20 + 2025-02-23T14:02:47+01:00 + 2025-02-23T14:17:50+01:00 + + 187 + 3 + OK + 62.871 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8076789 + + + + + EM4574 + + Maghei + Aldo + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 23 + 2025-02-23T14:31:59+01:00 + 2025-02-23T14:47:51+01:00 + + 236 + 4 + OK + 56.566 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 2013167 + + + + + EM4566 + + Setti + Gabriele + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 22 + 2025-02-23T14:29:00+01:00 + 2025-02-23T14:45:03+01:00 + + 247 + 5 + OK + 55.281 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 2013163 + + + + + EM4503 + + Sarni + Stefano + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 21 + 2025-02-23T14:19:58+01:00 + 2025-02-23T14:37:50+01:00 + + 356 + 6 + OK + 44.61 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8527137 + + + + + + M35 + M 35 + + + 0 + 0 + + + + LB2500 + + Bertolotti + Filippo + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 27 + 2025-02-23T14:00:00+01:00 + 2025-02-23T14:16:49+01:00 + + 0 + 1 + OK + 100 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8527140 + + + + + LB203 + + Visioli + Andrea + + Italia + + + 0769 + ERIDANO ADVENTURE + Italia + + + 26 + 2025-02-23T14:00:20+01:00 + 2025-02-23T14:17:34+01:00 + + 25 + 2 + OK + 95.223 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8195725 + + + + + EM663 + + Bonato + Nicola + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 36 + 2025-02-23T14:01:54+01:00 + 2025-02-23T14:19:31+01:00 + + 48 + 3 + OK + 91.124 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8003921 + + + + + TO649 + + Soldaini + Jacopo + + Italia + + + 0597 + FIRENZE OR. + Italia + + + 30 + 2025-02-23T14:00:55+01:00 + 2025-02-23T14:19:16+01:00 + + 92 + 4 + OK + 83.986 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 211363 + + + + + LB10098 + + Schembari + Giovanni + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 25 + 2025-02-23T14:02:30+01:00 + 2025-02-23T14:22:47+01:00 + + 208 + 5 + OK + 68.739 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8003208 + + + + + TN6965 + + Laccona + Giuseppe + + Italia + + + 0022 + G.S. MONTE GINER + Italia + + + 34 + 2025-02-23T14:19:59+01:00 + 2025-02-23T14:41:28+01:00 + + 280 + 6 + OK + 61.274 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8632212 + + + + + LB2817 + + Madella + Remo + + Italia + + + 0221 + POL. G. MASI + Italia + + + 33 + 2025-02-23T14:03:17+01:00 + 2025-02-23T14:25:40+01:00 + + 334 + 7 + OK + 56.446 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8680058 + + + + + TO1361 + + Selleri + Alessandro + + Italia + + + 0761 + ORIENTAMENTE + Italia + + + 35 + 2025-02-23T14:22:03+01:00 + 2025-02-23T14:47:52+01:00 + + 540 + 8 + OK + 42.431 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8050674 + + + + + EM2047 + + Davide + Cantarelli + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 28 + 2025-02-23T14:34:06+01:00 + 2025-02-23T15:03:20+01:00 + + 745 + 9 + OK + 33.092 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 2227341 + + + + + EM4465 + + Martin Franco + Ricardo José + + Italia + + + 0221 + POL. G. MASI + Italia + + + 32 + 2025-02-23T14:01:04+01:00 + 2025-02-23T14:18:11+01:00 + + 18 + 10 + MissingPunch + 0 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + 62 + + + 100 + + 8657335 + + + + + + M55 + M 55 + + + 0 + 0 + + + + EM208 + + Balboni + Massimo + + Italia + + + 0610 + OR. CLUB APPENNINO + Italia + + + 45 + 2025-02-23T14:12:00+01:00 + 2025-02-23T14:24:39+01:00 + + 0 + 1 + OK + 100 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8005278 + + + + + EM355 + + Dissette + Paolo + + Italia + + + 0202 + OR. DOLOMITI + Italia + + + 43 + 2025-02-23T14:13:19+01:00 + 2025-02-23T14:27:02+01:00 + + 64 + 2 + OK + 85.052 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8518336 + + + + + EM469 + + Bussi + Mauro + + Italia + + + 0255 + S CARCHIDIO-STROCCHI + Italia + + + 41 + 2025-02-23T14:12:49+01:00 + 2025-02-23T14:26:41+01:00 + + 73 + 3 + OK + 83.222 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8000540 + + + + + EM1508 + + Ravaglia + Enzo + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 44 + 2025-02-23T14:13:57+01:00 + 2025-02-23T14:28:16+01:00 + + 100 + 4 + OK + 78.072 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 205883 + + + + + VE4725 + + Bignami + Giuliano + + Italia + + + 0221 + POL. G. MASI + Italia + + + 38 + 2025-02-23T14:16:20+01:00 + 2025-02-23T14:32:08+01:00 + + 189 + 5 + OK + 64.101 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8089657 + + + + + EM1541 + + Burani + Giovanni + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 46 + 2025-02-23T14:15:44+01:00 + 2025-02-23T14:32:12+01:00 + + 229 + 6 + OK + 59.016 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8200078 + + + + + EM4497 + + Guglielmetti + Marco + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 39 + 2025-02-23T14:15:35+01:00 + 2025-02-23T14:32:07+01:00 + + 233 + 7 + OK + 58.541 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 2088733 + + + + + EM1124 + + Ramazza + Stefano + + Italia + + + 0221 + POL. G. MASI + Italia + + + 37 + 2025-02-23T14:22:01+01:00 + 2025-02-23T14:39:45+01:00 + + 305 + 8 + OK + 50.886 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8002253 + + + + + EM739 + + D'amico + Dario + + Italia + + + 0206 + POL. CIRCOLO DOZZA + Italia + + + 40 + 2025-02-23T14:16:55+01:00 + 2025-02-23T14:35:21+01:00 + + 347 + 9 + OK + 47.095 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8001437 + + + + + EM1022 + + Fiorini + Fabio + + Italia + + + 0206 + POL. CIRCOLO DOZZA + Italia + + + 42 + 2025-02-23T14:26:02+01:00 + 2025-02-23T14:47:49+01:00 + + 548 + 10 + OK + 33.723 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8001442 + + + + + + ME + M ELITE + + + 0 + 0 + + + + EM431 + + Tenani + Alessio + + Italia + + + 0221 + POL. G. MASI + Italia + + + 54 + 2025-02-23T14:00:00+01:00 + 2025-02-23T14:16:22+01:00 + + 0 + 1 + OK + 100 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8160979 + + + + + EM3746 + + De Molli + Francesco + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 47 + 2025-02-23T14:00:14+01:00 + 2025-02-23T14:17:24+01:00 + + 48 + 2 + OK + 90.897 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8094857 + + + + + EM4405 + + Celona + Lorenzo + + Italia + + + 0221 + POL. G. MASI + Italia + + + 64 + 2025-02-23T14:01:09+01:00 + 2025-02-23T14:18:38+01:00 + + 67 + 3 + OK + 87.634 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8200411 + + + + + EM734 + + Morara + Matteo + + Italia + + + 0221 + POL. G. MASI + Italia + + + 50 + 2025-02-23T14:01:04+01:00 + 2025-02-23T14:18:36+01:00 + + 70 + 4 + OK + 87.135 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8001439 + + + + + LB5166 + + Mirza + Lucian + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 62 + 2025-02-23T14:00:31+01:00 + 2025-02-23T14:18:15+01:00 + + 82 + 5 + OK + 85.18 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8519067 + + + + + EM2006 + + Salgo' + Stefano + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 57 + 2025-02-23T14:03:16+01:00 + 2025-02-23T14:22:30+01:00 + + 172 + 6 + OK + 72.412 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8040015 + + + + + EM1695 + + Marzolini + Gabriele + + Italia + + + 0610 + OR. CLUB APPENNINO + Italia + + + 60 + 2025-02-23T14:03:10+01:00 + 2025-02-23T14:22:28+01:00 + + 176 + 7 + OK + 71.913 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8047318 + + + + + EM3750 + + Barbato + Gabriele + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 49 + 2025-02-23T14:02:46+01:00 + 2025-02-23T14:22:13+01:00 + + 185 + 8 + OK + 70.808 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8115432 + + + + + EM4485 + + Diana Carboni + Davide + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 53 + 2025-02-23T14:04:38+01:00 + 2025-02-23T14:24:38+01:00 + + 218 + 9 + OK + 66.967 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8134728 + + + + + EM4346 + + Succi + Michele + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 55 + 2025-02-23T14:04:10+01:00 + 2025-02-23T14:25:07+01:00 + + 275 + 10 + OK + 61.031 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8518829 + + + + + EM4453 + + Singh + Inderpreet + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 56 + 2025-02-23T14:01:58+01:00 + 2025-02-23T14:23:16+01:00 + + 296 + 11 + OK + 59.042 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8516467 + + + + + EM4299 + + Ghidini + Samuele + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 51 + 2025-02-23T14:02:23+01:00 + 2025-02-23T14:24:23+01:00 + + 338 + 12 + OK + 55.345 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8401574 + + + + + LB4115 + + Ben Rejeb + Alain + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 61 + 2025-02-23T14:04:19+01:00 + 2025-02-23T14:26:20+01:00 + + 339 + 13 + OK + 55.261 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8516529 + + + + + EM3749 + + Fava + Riccardo + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 48 + 2025-02-23T14:24:01+01:00 + 2025-02-23T14:46:21+01:00 + + 358 + 14 + OK + 53.705 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8506928 + + + + + MA482 + + Volponi + Giovanni + + Italia + + + 0757 + PICCHIO VERDE + Italia + + + 63 + 2025-02-23T14:20:04+01:00 + 2025-02-23T14:44:09+01:00 + + 463 + 15 + OK + 46.184 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8000608 + + + + + VE17846 + + Ardeni + Eugenio + + Italia + + + 0206 + POL. CIRCOLO DOZZA + Italia + + + 59 + 2025-02-23T14:22:04+01:00 + 2025-02-23T14:53:00+01:00 + + 874 + 16 + OK + 27.994 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8514468 + + + + + LB1964 + + Galletti + Stefano + + Italia + + + 0158 + UNIONE LOMBARDA + Italia + + + 58 + 2025-02-23T14:07:17+01:00 + 2025-02-23T14:39:39+01:00 + + 960 + 17 + OK + 25.57 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8217770 + + + + + EM965 + + Nanni + Francesco + + Italia + + + 0206 + POL. CIRCOLO DOZZA + Italia + + + 52 + 2025-02-23T14:19:14+01:00 + 2025-02-23T14:59:22+01:00 + + 1426 + 18 + OK + 16.631 + + 90 + + + + 56 + + + + 59 + + + + 60 + + + + 57 + + + + 75 + + + + 58 + + + + 61 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 85 + + + + 87 + + + + 70 + + + + 71 + + + + 73 + + + + 81 + + + + 72 + + + + 100 + + + 8001447 + + + + + + + Bettega + Fabiano + + Italia + + + 0048 + ASD GS Pavione + Italia + + + 113 + 2025-02-23T14:17:00+01:00 + 2025-02-23T14:00:00+01:00 + + -982 + 19 + DidNotStart + 0 + + 90 + + + 56 + + + 59 + + + 60 + + + 57 + + + 75 + + + 58 + + + 61 + + + 63 + + + 64 + + + 65 + + + 66 + + + 67 + + + 85 + + + 87 + + + 70 + + + 71 + + + 73 + + + 81 + + + 72 + + + 100 + + 8002250 + + + + + + ROSSO + Rosso + + + 0 + 0 + + + + FR5377 + + Morpurgo + Giada + + Italia + + + 0735 + PUNTO K OR. + Italia + + + 65 + 2025-02-23T14:10:24+01:00 + 2025-02-23T14:28:20+01:00 + + 0 + 1 + OK + 100 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 2045657 + + + + + + + Cremonesi + Elisa + + Italia + + + 0877 + OTPGEA + Italia + + + 125 + 2025-02-23T14:28:02+01:00 + 2025-02-23T14:46:01+01:00 + + 3 + 2 + OK + 99.445 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 2116285 + + + + + + + Reggiani + Mirko + + Italia + + + 0793 + ORIENTEERING PARMA + Italia + + + 117 + 2025-02-23T14:24:03+01:00 + 2025-02-23T14:42:12+01:00 + + 13 + 3 + OK + 97.627 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 2260909 + + + + + EM4575 + + Gaudenzi + Nicola + + Italia + + + 0221 + POL. G. MASI + Italia + + + 66 + 2025-02-23T14:15:47+01:00 + 2025-02-23T14:34:23+01:00 + + 40 + 4 + OK + 92.96 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 2116349 + + + + + EM3259 + + Amadesi + Claudio + + Italia + + + 0610 + OR. CLUB APPENNINO + Italia + + + 69 + 2025-02-23T14:22:06+01:00 + 2025-02-23T14:44:01+01:00 + + 239 + 5 + OK + 66.953 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 2103435 + + + + + TO2065 + + Forteleoni + Paolo + + Italia + + + 0056 + ASD Orient-Express Verona + Italia + + + 112 + 2025-02-23T14:17:34+01:00 + 2025-02-23T14:41:17+01:00 + + 347 + 6 + OK + 57.176 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 2620814 + + + + + + + Lanciano + Gaetano + + Italia + + + 0769 + ERIDANO ADVENTURE + Italia + + + 133 + 2025-02-23T14:19:15+01:00 + 2025-02-23T14:48:57+01:00 + + 706 + 7 + OK + 36.459 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 2056715 + + + + + EM4416 + + Galli + Fabio + + Italia + + + 0769 + ERIDANO ADVENTURE + Italia + + + 70 + 2025-02-23T14:14:06+01:00 + 2025-02-23T14:44:52+01:00 + + 770 + 8 + OK + 33.975 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 2088736 + + + + + EM4374 + + Astolfi + Riccardo + + Italia + + + 0221 + POL. G. MASI + Italia + + + 68 + 2025-02-23T14:00:00+01:00 + 2025-02-23T14:00:00+01:00 + + -1076 + 9 + DidNotStart + 0 + + 74 + + + 75 + + + 58 + + + 81 + + + 73 + + + 62 + + + 70 + + + 67 + + + 85 + + + 66 + + + 88 + + + 64 + + + 63 + + + 71 + + + 100 + + 2116343 + + + + + + W10 + W 10 + + + 0 + 0 + + + + EM4478 + + Astolfi + Zoe + + Italia + + + 0221 + POL. G. MASI + Italia + + + 71 + 2025-02-23T14:00:00+01:00 + 2025-02-23T14:00:00+01:00 + + 0 + 1 + DidNotStart + 0 + + 76 + + + 82 + + + 75 + + + 77 + + + 72 + + + 79 + + + 70 + + + 66 + + + 88 + + + 65 + + + 80 + + + 71 + + + 100 + + 2116344 + + + + + + W12 + W 12 + + + 0 + 0 + + + + EM4373 + + Bonato + Agata + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 75 + 2025-02-23T14:17:38+01:00 + 2025-02-23T14:29:45+01:00 + + 0 + 1 + OK + 100 + + 82 + + + + 84 + + + + 75 + + + + 77 + + + + 78 + + + + 79 + + + + 70 + + + + 67 + + + + 66 + + + + 88 + + + + 65 + + + + 71 + + + + 100 + + + 8003676 + + + + + EM4717 + + Maio + Maika + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 74 + 2025-02-23T14:12:12+01:00 + 2025-02-23T14:48:06+01:00 + + 1427 + 2 + OK + 11.391 + + 82 + + + + 84 + + + + 75 + + + + 77 + + + + 78 + + + + 79 + + + + 70 + + + + 67 + + + + 66 + + + + 88 + + + + 65 + + + + 71 + + + + 100 + + + 2013165 + + + + + EM4718 + + Souei + Asia + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 72 + 2025-02-23T14:12:11+01:00 + 2025-02-23T14:48:06+01:00 + + 1428 + 3 + OK + 11.381 + + 82 + + + + 84 + + + + 75 + + + + 77 + + + + 78 + + + + 79 + + + + 70 + + + + 67 + + + + 66 + + + + 88 + + + + 65 + + + + 71 + + + + 100 + + + 2013171 + + + + + EM4724 + + Moseriti + Crystal + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 73 + 2025-02-23T14:00:00+01:00 + 2025-02-23T14:00:00+01:00 + + -727 + 4 + DidNotStart + 0 + + 82 + + + 84 + + + 75 + + + 77 + + + 78 + + + 79 + + + 70 + + + 67 + + + 66 + + + 88 + + + 65 + + + 71 + + + 100 + + 2013185 + + + + + + W14 + W 13/14 + + + 0 + 0 + + + + TO2303 + + Soldaini + Agata + + Italia + + + 0597 + FIRENZE OR. + Italia + + + 78 + 2025-02-23T14:06:10+01:00 + 2025-02-23T14:18:50+01:00 + + 0 + 1 + OK + 100 + + 84 + + + + 75 + + + + 78 + + + + 81 + + + + 73 + + + + 79 + + + + 70 + + + + 67 + + + + 87 + + + + 88 + + + + 64 + + + + 71 + + + + 100 + + + 8513554 + + + + + EM3789 + + Rivolta + Iris + + Italia + + + 0221 + POL. G. MASI + Italia + + + 77 + 2025-02-23T14:06:00+01:00 + 2025-02-23T14:19:42+01:00 + + 62 + 2 + OK + 85.484 + + 84 + + + + 75 + + + + 78 + + + + 81 + + + + 73 + + + + 79 + + + + 70 + + + + 67 + + + + 87 + + + + 88 + + + + 64 + + + + 71 + + + + 100 + + + 8101028 + + + + + EM4415 + + Tumiati + Francesca + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 76 + 2025-02-23T14:09:00+01:00 + 2025-02-23T14:00:00+01:00 + + -760 + 3 + DidNotStart + 0 + + 84 + + + 75 + + + 78 + + + 81 + + + 73 + + + 79 + + + 70 + + + 67 + + + 87 + + + 88 + + + 64 + + + 71 + + + 100 + + 8506929 + + + + + + W18 + W 17/18 + + + 0 + 0 + + + + EM4407 + + Calzolari + Diana + + Italia + + + 0221 + POL. G. MASI + Italia + + + 87 + 2025-02-23T14:00:56+01:00 + 2025-02-23T14:15:05+01:00 + + 0 + 1 + OK + 100 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 8514667 + + + + + EM4454 + + Roccia + Alessandra + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 82 + 2025-02-23T14:00:53+01:00 + 2025-02-23T14:15:04+01:00 + + 2 + 2 + OK + 99.531 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 8328662 + + + + + EM4379 + + Giacomin + Greta + + Italia + + + 0221 + POL. G. MASI + Italia + + + 86 + 2025-02-23T14:00:00+01:00 + 2025-02-23T14:15:49+01:00 + + 100 + 3 + OK + 80.036 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 8514715 + + + + + EM4502 + + Pecorari + Giulia + + Italia + + + 0877 + OTP-GEA OR. A.P.S. + Italia + + + 79 + 2025-02-23T14:04:14+01:00 + 2025-02-23T14:23:34+01:00 + + 311 + 4 + OK + 53.567 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 2088735 + + + + + EM3359 + + Amadesi + Giulia + + Italia + + + 0610 + OR. CLUB APPENNINO + Italia + + + 85 + 2025-02-23T14:15:44+01:00 + 2025-02-23T14:35:24+01:00 + + 331 + 5 + OK + 51.767 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 8112321 + + + + + EM4370 + + Bo + Mariagiulia + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 84 + 2025-02-23T14:12:37+01:00 + 2025-02-23T14:41:31+01:00 + + 885 + 6 + OK + 23.973 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 8517467 + + + + + EM4348 + + Vendemmiati + Giorgia + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 80 + 2025-02-23T14:04:15+01:00 + 2025-02-23T14:00:00+01:00 + + -849 + 7 + DidNotStart + 0 + + 74 + + + 75 + + + 58 + + + 81 + + + 73 + + + 62 + + + 70 + + + 67 + + + 85 + + + 66 + + + 88 + + + 64 + + + 63 + + + 71 + + + 100 + + 8151468 + + + + + EM4418 + + Nkain + Nabi Kininla + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 81 + 2025-02-23T14:11:00+01:00 + 2025-02-23T14:00:00+01:00 + + -849 + 8 + DidNotStart + 0 + + 74 + + + 75 + + + 58 + + + 81 + + + 73 + + + 62 + + + 70 + + + 67 + + + 85 + + + 66 + + + 88 + + + 64 + + + 63 + + + 71 + + + 100 + + 2013188 + + + + + EM4486 + + Storti + Alma + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 83 + 2025-02-23T14:13:00+01:00 + 2025-02-23T14:00:00+01:00 + + -849 + 9 + DidNotStart + 0 + + 74 + + + 75 + + + 58 + + + 81 + + + 73 + + + 62 + + + 70 + + + 67 + + + 85 + + + 66 + + + 88 + + + 64 + + + 63 + + + 71 + + + 100 + + 8506931 + + + + + + W35 + W 35 + + + 0 + 0 + + + + EM1399 + + Marzolini + Michela + + Italia + + + 0392 + SEMIPERDO OR. MANIAGO + Italia + + + 90 + 2025-02-23T14:06:00+01:00 + 2025-02-23T14:19:43+01:00 + + 0 + 1 + OK + 100 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8516181 + + + + + EM1412 + + Gollini + Patrizia + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 88 + 2025-02-23T14:09:26+01:00 + 2025-02-23T14:24:14+01:00 + + 65 + 2 + OK + 85.896 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8034547 + + + + + EM901 + + Sgarzi + Elisa + + Italia + + + 0221 + POL. G. MASI + Italia + + + 96 + 2025-02-23T14:08:41+01:00 + 2025-02-23T14:24:47+01:00 + + 143 + 3 + OK + 72.585 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8511183 + + + + + TO2036 + + Bambi + Tessa + + Italia + + + 0597 + FIRENZE OR. + Italia + + + 94 + 2025-02-23T14:23:59+01:00 + 2025-02-23T14:40:10+01:00 + + 148 + 4 + OK + 71.839 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 2042339 + + + + + EM435 + + Sergenti + Chiara + + Italia + + + 0221 + POL. G. MASI + Italia + + + 93 + 2025-02-23T14:30:59+01:00 + 2025-02-23T14:47:28+01:00 + + 166 + 5 + OK + 69.248 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8253025 + + + + + LI752 + + Incerti + Laura + + Italia + + + 0022 + G.S. MONTE GINER + Italia + + + 89 + 2025-02-23T14:09:34+01:00 + 2025-02-23T14:26:05+01:00 + + 168 + 6 + OK + 68.969 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8522549 + + + + + FR4787 + + Marmiroli + Benedetta + + Italia + + + 0392 + SEMIPERDO OR. MANIAGO + Italia + + + 95 + 2025-02-23T14:30:00+01:00 + 2025-02-23T14:47:44+01:00 + + 241 + 7 + OK + 59.83 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8026602 + + + + + TN6964 + + Ceruti + Valentina + + Italia + + + 0022 + G.S. MONTE GINER + Italia + + + 92 + 2025-02-23T14:35:00+01:00 + 2025-02-23T14:54:14+01:00 + + 331 + 8 + OK + 50.861 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 8632213 + + + + + + + Asti + Elisabetta + + Italia + + + 0877 + OTPGEA + Italia + + + 109 + 2025-02-23T14:28:00+01:00 + 2025-02-23T14:53:27+01:00 + + 704 + 9 + OK + 29.048 + + 56 + + + + 74 + + + + 84 + + + + 75 + + + + 81 + + + + 62 + + + + 63 + + + + 65 + + + + 85 + + + + 67 + + + + 70 + + + + 71 + + + + 100 + + + 2088754 + + + + + + W55 + W 55 + + + 0 + 0 + + + + EM1750 + + Champalbert + Isabelle + + Italia + + + 0840 + CSI SASSO MARCONI + Italia + + + 99 + 2025-02-23T14:06:00+01:00 + 2025-02-23T14:26:02+01:00 + + 0 + 1 + OK + 100 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 8210001 + + + + + EM2536 + + Bruni + Catuscia + + Italia + + + 0793 + OR. PARMA + Italia + + + 102 + 2025-02-23T14:32:38+01:00 + 2025-02-23T14:54:20+01:00 + + 100 + 2 + OK + 85.229 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 8527136 + + + + + EM709 + + Bernagozzi + Marisa + + Italia + + + 0221 + POL. G. MASI + Italia + + + 101 + 2025-02-23T14:12:16+01:00 + 2025-02-23T14:43:03+01:00 + + 645 + 3 + OK + 42.352 + + 74 + + + + 75 + + + + 58 + + + + 81 + + + + 73 + + + + 62 + + + + 70 + + + + 67 + + + + 85 + + + + 66 + + + + 88 + + + + 64 + + + + 63 + + + + 71 + + + + 100 + + + 2116352 + + + + + EM1958 + + Santi + Simona + + Italia + + + 0221 + POL. G. MASI + Italia + + + 100 + 2025-02-23T14:15:00+01:00 + 2025-02-23T14:00:00+01:00 + + -1202 + 4 + DidNotStart + 0 + + 74 + + + 75 + + + 58 + + + 81 + + + 73 + + + 62 + + + 70 + + + 67 + + + 85 + + + 66 + + + 88 + + + 64 + + + 63 + + + 71 + + + 100 + + 8517343 + + + + + + WE + W ELITE + + + 0 + 0 + + + + TN3144 + + Zagonel + Viola + + Italia + + + 0221 + POL. G. MASI + Italia + + + 104 + 2025-02-23T14:06:00+01:00 + 2025-02-23T14:22:12+01:00 + + 0 + 1 + OK + 100 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8140893 + + + + + EM4417 + + Anzola + Elena + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 107 + 2025-02-23T14:08:56+01:00 + 2025-02-23T14:27:43+01:00 + + 155 + 2 + OK + 74.385 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8463999 + + + + + EM4362 + + Cordopatri + Lauryn + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 106 + 2025-02-23T14:08:34+01:00 + 2025-02-23T14:27:38+01:00 + + 172 + 3 + OK + 72.191 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8351027 + + + + + EM4378 + + Merkelyte + Roberta + + Italia + + + 0221 + POL. G. MASI + Italia + + + 103 + 2025-02-23T14:08:04+01:00 + 2025-02-23T14:27:25+01:00 + + 189 + 4 + OK + 70.092 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8026656 + + + + + EM1365 + + Varotti + Stella + + Italia + + + 0769 + ERIDANO ADVENTURE + Italia + + + 91 + 2025-02-23T14:15:39+01:00 + 2025-02-23T14:37:00+01:00 + + 309 + 5 + OK + 57.575 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8019254 + + + + + MA634 + + Bajrami + Greta + + Italia + + + 0680 + ASCOLI PICENO OR. + Italia + + + 105 + 2025-02-23T14:10:49+01:00 + 2025-02-23T14:34:14+01:00 + + 433 + 6 + OK + 47.861 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8352387 + + + + + EM3836 + + Arcari + Elisa + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 110 + 2025-02-23T14:12:30+01:00 + 2025-02-23T14:36:54+01:00 + + 492 + 7 + OK + 44.081 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8516729 + + + + + EM4308 + + Baga + Irene + + Italia + + + 0098 + ATLETICA INTERFLUMINA È PIÙ POMÃŒ + Italia + + + 108 + 2025-02-23T14:13:29+01:00 + 2025-02-23T14:38:26+01:00 + + 525 + 8 + OK + 42.159 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 8506930 + + + + + EM4716 + + Fiorini + Matilde + + Italia + + + 0793 + OR. PARMA + Italia + + + 111 + 2025-02-23T14:19:11+01:00 + 2025-02-23T14:47:48+01:00 + + 745 + 9 + OK + 32.047 + + 83 + + + + 59 + + + + 60 + + + + 56 + + + + 75 + + + + 61 + + + + 71 + + + + 63 + + + + 67 + + + + 85 + + + + 87 + + + + 65 + + + + 64 + + + + 62 + + + + 100 + + + 2088739 + + + + \ No newline at end of file