Repository: Team254/cheesy-arena Branch: main Commit: 2102f67d1c56 Files: 1621 Total size: 3.9 MB Directory structure: gitextract_jrfey4xk/ ├── .editorconfig ├── .github/ │ └── workflows/ │ ├── release.yml │ └── test.yml ├── .gitignore ├── AGENTS.md ├── LICENSE ├── README.md ├── coverage ├── field/ │ ├── arena.go │ ├── arena_notifiers.go │ ├── arena_test.go │ ├── display.go │ ├── display_test.go │ ├── driver_station_connection.go │ ├── driver_station_connection_test.go │ ├── event_status.go │ ├── event_status_test.go │ ├── fake_plc_test.go │ ├── realtime_score.go │ ├── scoring_panel_registry.go │ ├── scoring_panel_registry_test.go │ ├── team_match_log.go │ ├── team_sign.go │ ├── team_sign_test.go │ └── test_helpers.go ├── fix_avatar_colors_for_overlay ├── font/ │ ├── helvetica.json │ ├── helveticab.json │ ├── helveticabi.json │ └── helveticai.json ├── game/ │ ├── foul.go │ ├── match_sounds.go │ ├── match_timing.go │ ├── ranking_fields.go │ ├── ranking_fields_test.go │ ├── reef.go │ ├── reef_test.go │ ├── rule.go │ ├── rule_test.go │ ├── score.go │ ├── score_summary.go │ ├── score_summary_test.go │ ├── score_test.go │ └── test_helpers.go ├── go.mod ├── go.sum ├── main.go ├── model/ │ ├── alliance.go │ ├── alliance_test.go │ ├── award.go │ ├── award_test.go │ ├── database.go │ ├── database_test.go │ ├── event_settings.go │ ├── event_settings_test.go │ ├── judging_slot.go │ ├── judging_slot_test.go │ ├── lower_third.go │ ├── lower_third_test.go │ ├── match.go │ ├── match_result.go │ ├── match_result_test.go │ ├── match_test.go │ ├── matchtype_string.go │ ├── ranking.go │ ├── ranking_test.go │ ├── schedule_block.go │ ├── schedule_block_test.go │ ├── scheduled_break.go │ ├── scheduled_break_test.go │ ├── sponsor_slide.go │ ├── sponsor_slide_test.go │ ├── table.go │ ├── table_test.go │ ├── team.go │ ├── team_test.go │ ├── test_helpers.go │ ├── user_session.go │ └── user_session_test.go ├── network/ │ ├── access_point.go │ ├── access_point_test.go │ ├── sccswitch.go │ ├── sccswitch_test.go │ ├── switch.go │ ├── switch_test.go │ └── testdata/ │ ├── iwinfo_0_teams.txt │ ├── iwinfo_2_teams.txt │ ├── iwinfo_6_teams.txt │ └── iwinfo_invalid.txt ├── partner/ │ ├── blackmagic.go │ ├── blackmagic_test.go │ ├── companion.go │ ├── companion_test.go │ ├── nexus.go │ ├── nexus_test.go │ ├── tba.go │ └── tba_test.go ├── playoff/ │ ├── alliance_source.go │ ├── break_spec.go │ ├── double_elimination.go │ ├── double_elimination_test.go │ ├── match_group.go │ ├── match_group_test.go │ ├── matchup.go │ ├── matchup_test.go │ ├── playoff_match_result.go │ ├── playoff_tournament.go │ ├── playoff_tournament_test.go │ ├── single_elimination.go │ ├── single_elimination_test.go │ └── test_helpers.go ├── plc/ │ ├── armorblock_string.go │ ├── coil_string.go │ ├── fake_modbus_client_test.go │ ├── input_string.go │ ├── plc.go │ ├── plc_test.go │ └── register_string.go ├── schedules/ │ ├── 100_1.csv │ ├── 100_10.csv │ ├── 100_11.csv │ ├── 100_12.csv │ ├── 100_13.csv │ ├── 100_14.csv │ ├── 100_2.csv │ ├── 100_3.csv │ ├── 100_4.csv │ ├── 100_5.csv │ ├── 100_6.csv │ ├── 100_7.csv │ ├── 100_8.csv │ ├── 100_9.csv │ ├── 10_1.csv │ ├── 10_10.csv │ ├── 10_11.csv │ ├── 10_12.csv │ ├── 10_13.csv │ ├── 10_14.csv │ ├── 10_2.csv │ ├── 10_3.csv │ ├── 10_4.csv │ ├── 10_5.csv │ ├── 10_6.csv │ ├── 10_7.csv │ ├── 10_8.csv │ ├── 10_9.csv │ ├── 11_1.csv │ ├── 11_10.csv │ ├── 11_11.csv │ ├── 11_12.csv │ ├── 11_13.csv │ ├── 11_14.csv │ ├── 11_2.csv │ ├── 11_3.csv │ ├── 11_4.csv │ ├── 11_5.csv │ ├── 11_6.csv │ ├── 11_7.csv │ ├── 11_8.csv │ ├── 11_9.csv │ ├── 12_1.csv │ ├── 12_10.csv │ ├── 12_11.csv │ ├── 12_12.csv │ ├── 12_13.csv │ ├── 12_14.csv │ ├── 12_2.csv │ ├── 12_3.csv │ ├── 12_4.csv │ ├── 12_5.csv │ ├── 12_6.csv │ ├── 12_7.csv │ ├── 12_8.csv │ ├── 12_9.csv │ ├── 13_1.csv │ ├── 13_10.csv │ ├── 13_11.csv │ ├── 13_12.csv │ ├── 13_13.csv │ ├── 13_14.csv │ ├── 13_2.csv │ ├── 13_3.csv │ ├── 13_4.csv │ ├── 13_5.csv │ ├── 13_6.csv │ ├── 13_7.csv │ ├── 13_8.csv │ ├── 13_9.csv │ ├── 14_1.csv │ ├── 14_10.csv │ ├── 14_11.csv │ ├── 14_12.csv │ ├── 14_13.csv │ ├── 14_14.csv │ ├── 14_2.csv │ ├── 14_3.csv │ ├── 14_4.csv │ ├── 14_5.csv │ ├── 14_6.csv │ ├── 14_7.csv │ ├── 14_8.csv │ ├── 14_9.csv │ ├── 15_1.csv │ ├── 15_10.csv │ ├── 15_11.csv │ ├── 15_12.csv │ ├── 15_13.csv │ ├── 15_14.csv │ ├── 15_2.csv │ ├── 15_3.csv │ ├── 15_4.csv │ ├── 15_5.csv │ ├── 15_6.csv │ ├── 15_7.csv │ ├── 15_8.csv │ ├── 15_9.csv │ ├── 16_1.csv │ ├── 16_10.csv │ ├── 16_11.csv │ ├── 16_12.csv │ ├── 16_13.csv │ ├── 16_14.csv │ ├── 16_2.csv │ ├── 16_3.csv │ ├── 16_4.csv │ ├── 16_5.csv │ ├── 16_6.csv │ ├── 16_7.csv │ ├── 16_8.csv │ ├── 16_9.csv │ ├── 17_1.csv │ ├── 17_10.csv │ ├── 17_11.csv │ ├── 17_12.csv │ ├── 17_13.csv │ ├── 17_14.csv │ ├── 17_2.csv │ ├── 17_3.csv │ ├── 17_4.csv │ ├── 17_5.csv │ ├── 17_6.csv │ ├── 17_7.csv │ ├── 17_8.csv │ ├── 17_9.csv │ ├── 18_1.csv │ ├── 18_10.csv │ ├── 18_11.csv │ ├── 18_12.csv │ ├── 18_13.csv │ ├── 18_14.csv │ ├── 18_2.csv │ ├── 18_3.csv │ ├── 18_4.csv │ ├── 18_5.csv │ ├── 18_6.csv │ ├── 18_7.csv │ ├── 18_8.csv │ ├── 18_9.csv │ ├── 19_1.csv │ ├── 19_10.csv │ ├── 19_11.csv │ ├── 19_12.csv │ ├── 19_13.csv │ ├── 19_14.csv │ ├── 19_2.csv │ ├── 19_3.csv │ ├── 19_4.csv │ ├── 19_5.csv │ ├── 19_6.csv │ ├── 19_7.csv │ ├── 19_8.csv │ ├── 19_9.csv │ ├── 20_1.csv │ ├── 20_10.csv │ ├── 20_11.csv │ ├── 20_12.csv │ ├── 20_13.csv │ ├── 20_14.csv │ ├── 20_2.csv │ ├── 20_3.csv │ ├── 20_4.csv │ ├── 20_5.csv │ ├── 20_6.csv │ ├── 20_7.csv │ ├── 20_8.csv │ ├── 20_9.csv │ ├── 21_1.csv │ ├── 21_10.csv │ ├── 21_11.csv │ ├── 21_12.csv │ ├── 21_13.csv │ ├── 21_14.csv │ ├── 21_2.csv │ ├── 21_3.csv │ ├── 21_4.csv │ ├── 21_5.csv │ ├── 21_6.csv │ ├── 21_7.csv │ ├── 21_8.csv │ ├── 21_9.csv │ ├── 22_1.csv │ ├── 22_10.csv │ ├── 22_11.csv │ ├── 22_12.csv │ ├── 22_13.csv │ ├── 22_14.csv │ ├── 22_2.csv │ ├── 22_3.csv │ ├── 22_4.csv │ ├── 22_5.csv │ ├── 22_6.csv │ ├── 22_7.csv │ ├── 22_8.csv │ ├── 22_9.csv │ ├── 23_1.csv │ ├── 23_10.csv │ ├── 23_11.csv │ ├── 23_12.csv │ ├── 23_13.csv │ ├── 23_14.csv │ ├── 23_2.csv │ ├── 23_3.csv │ ├── 23_4.csv │ ├── 23_5.csv │ ├── 23_6.csv │ ├── 23_7.csv │ ├── 23_8.csv │ ├── 23_9.csv │ ├── 24_1.csv │ ├── 24_10.csv │ ├── 24_11.csv │ ├── 24_12.csv │ ├── 24_13.csv │ ├── 24_14.csv │ ├── 24_2.csv │ ├── 24_3.csv │ ├── 24_4.csv │ ├── 24_5.csv │ ├── 24_6.csv │ ├── 24_7.csv │ ├── 24_8.csv │ ├── 24_9.csv │ ├── 25_1.csv │ ├── 25_10.csv │ ├── 25_11.csv │ ├── 25_12.csv │ ├── 25_13.csv │ ├── 25_14.csv │ ├── 25_2.csv │ ├── 25_3.csv │ ├── 25_4.csv │ ├── 25_5.csv │ ├── 25_6.csv │ ├── 25_7.csv │ ├── 25_8.csv │ ├── 25_9.csv │ ├── 26_1.csv │ ├── 26_10.csv │ ├── 26_11.csv │ ├── 26_12.csv │ ├── 26_13.csv │ ├── 26_14.csv │ ├── 26_2.csv │ ├── 26_3.csv │ ├── 26_4.csv │ ├── 26_5.csv │ ├── 26_6.csv │ ├── 26_7.csv │ ├── 26_8.csv │ ├── 26_9.csv │ ├── 27_1.csv │ ├── 27_10.csv │ ├── 27_11.csv │ ├── 27_12.csv │ ├── 27_13.csv │ ├── 27_14.csv │ ├── 27_2.csv │ ├── 27_3.csv │ ├── 27_4.csv │ ├── 27_5.csv │ ├── 27_6.csv │ ├── 27_7.csv │ ├── 27_8.csv │ ├── 27_9.csv │ ├── 28_1.csv │ ├── 28_10.csv │ ├── 28_11.csv │ ├── 28_12.csv │ ├── 28_13.csv │ ├── 28_14.csv │ ├── 28_2.csv │ ├── 28_3.csv │ ├── 28_4.csv │ ├── 28_5.csv │ ├── 28_6.csv │ ├── 28_7.csv │ ├── 28_8.csv │ ├── 28_9.csv │ ├── 29_1.csv │ ├── 29_10.csv │ ├── 29_11.csv │ ├── 29_12.csv │ ├── 29_13.csv │ ├── 29_14.csv │ ├── 29_2.csv │ ├── 29_3.csv │ ├── 29_4.csv │ ├── 29_5.csv │ ├── 29_6.csv │ ├── 29_7.csv │ ├── 29_8.csv │ ├── 29_9.csv │ ├── 30_1.csv │ ├── 30_10.csv │ ├── 30_11.csv │ ├── 30_12.csv │ ├── 30_13.csv │ ├── 30_14.csv │ ├── 30_2.csv │ ├── 30_3.csv │ ├── 30_4.csv │ ├── 30_5.csv │ ├── 30_6.csv │ ├── 30_7.csv │ ├── 30_8.csv │ ├── 30_9.csv │ ├── 31_1.csv │ ├── 31_10.csv │ ├── 31_11.csv │ ├── 31_12.csv │ ├── 31_13.csv │ ├── 31_14.csv │ ├── 31_2.csv │ ├── 31_3.csv │ ├── 31_4.csv │ ├── 31_5.csv │ ├── 31_6.csv │ ├── 31_7.csv │ ├── 31_8.csv │ ├── 31_9.csv │ ├── 32_1.csv │ ├── 32_10.csv │ ├── 32_11.csv │ ├── 32_12.csv │ ├── 32_13.csv │ ├── 32_14.csv │ ├── 32_2.csv │ ├── 32_3.csv │ ├── 32_4.csv │ ├── 32_5.csv │ ├── 32_6.csv │ ├── 32_7.csv │ ├── 32_8.csv │ ├── 32_9.csv │ ├── 33_1.csv │ ├── 33_10.csv │ ├── 33_11.csv │ ├── 33_12.csv │ ├── 33_13.csv │ ├── 33_14.csv │ ├── 33_2.csv │ ├── 33_3.csv │ ├── 33_4.csv │ ├── 33_5.csv │ ├── 33_6.csv │ ├── 33_7.csv │ ├── 33_8.csv │ ├── 33_9.csv │ ├── 34_1.csv │ ├── 34_10.csv │ ├── 34_11.csv │ ├── 34_12.csv │ ├── 34_13.csv │ ├── 34_14.csv │ ├── 34_2.csv │ ├── 34_3.csv │ ├── 34_4.csv │ ├── 34_5.csv │ ├── 34_6.csv │ ├── 34_7.csv │ ├── 34_8.csv │ ├── 34_9.csv │ ├── 35_1.csv │ ├── 35_10.csv │ ├── 35_11.csv │ ├── 35_12.csv │ ├── 35_13.csv │ ├── 35_14.csv │ ├── 35_2.csv │ ├── 35_3.csv │ ├── 35_4.csv │ ├── 35_5.csv │ ├── 35_6.csv │ ├── 35_7.csv │ ├── 35_8.csv │ ├── 35_9.csv │ ├── 36_1.csv │ ├── 36_10.csv │ ├── 36_11.csv │ ├── 36_12.csv │ ├── 36_13.csv │ ├── 36_14.csv │ ├── 36_2.csv │ ├── 36_3.csv │ ├── 36_4.csv │ ├── 36_5.csv │ ├── 36_6.csv │ ├── 36_7.csv │ ├── 36_8.csv │ ├── 36_9.csv │ ├── 37_1.csv │ ├── 37_10.csv │ ├── 37_11.csv │ ├── 37_12.csv │ ├── 37_13.csv │ ├── 37_14.csv │ ├── 37_2.csv │ ├── 37_3.csv │ ├── 37_4.csv │ ├── 37_5.csv │ ├── 37_6.csv │ ├── 37_7.csv │ ├── 37_8.csv │ ├── 37_9.csv │ ├── 38_1.csv │ ├── 38_10.csv │ ├── 38_11.csv │ ├── 38_12.csv │ ├── 38_13.csv │ ├── 38_14.csv │ ├── 38_2.csv │ ├── 38_3.csv │ ├── 38_4.csv │ ├── 38_5.csv │ ├── 38_6.csv │ ├── 38_7.csv │ ├── 38_8.csv │ ├── 38_9.csv │ ├── 39_1.csv │ ├── 39_10.csv │ ├── 39_11.csv │ ├── 39_12.csv │ ├── 39_13.csv │ ├── 39_14.csv │ ├── 39_2.csv │ ├── 39_3.csv │ ├── 39_4.csv │ ├── 39_5.csv │ ├── 39_6.csv │ ├── 39_7.csv │ ├── 39_8.csv │ ├── 39_9.csv │ ├── 40_1.csv │ ├── 40_10.csv │ ├── 40_11.csv │ ├── 40_12.csv │ ├── 40_13.csv │ ├── 40_14.csv │ ├── 40_2.csv │ ├── 40_3.csv │ ├── 40_4.csv │ ├── 40_5.csv │ ├── 40_6.csv │ ├── 40_7.csv │ ├── 40_8.csv │ ├── 40_9.csv │ ├── 41_1.csv │ ├── 41_10.csv │ ├── 41_11.csv │ ├── 41_12.csv │ ├── 41_13.csv │ ├── 41_14.csv │ ├── 41_2.csv │ ├── 41_3.csv │ ├── 41_4.csv │ ├── 41_5.csv │ ├── 41_6.csv │ ├── 41_7.csv │ ├── 41_8.csv │ ├── 41_9.csv │ ├── 42_1.csv │ ├── 42_10.csv │ ├── 42_11.csv │ ├── 42_12.csv │ ├── 42_13.csv │ ├── 42_14.csv │ ├── 42_2.csv │ ├── 42_3.csv │ ├── 42_4.csv │ ├── 42_5.csv │ ├── 42_6.csv │ ├── 42_7.csv │ ├── 42_8.csv │ ├── 42_9.csv │ ├── 43_1.csv │ ├── 43_10.csv │ ├── 43_11.csv │ ├── 43_12.csv │ ├── 43_13.csv │ ├── 43_14.csv │ ├── 43_2.csv │ ├── 43_3.csv │ ├── 43_4.csv │ ├── 43_5.csv │ ├── 43_6.csv │ ├── 43_7.csv │ ├── 43_8.csv │ ├── 43_9.csv │ ├── 44_1.csv │ ├── 44_10.csv │ ├── 44_11.csv │ ├── 44_12.csv │ ├── 44_13.csv │ ├── 44_14.csv │ ├── 44_2.csv │ ├── 44_3.csv │ ├── 44_4.csv │ ├── 44_5.csv │ ├── 44_6.csv │ ├── 44_7.csv │ ├── 44_8.csv │ ├── 44_9.csv │ ├── 45_1.csv │ ├── 45_10.csv │ ├── 45_11.csv │ ├── 45_12.csv │ ├── 45_13.csv │ ├── 45_14.csv │ ├── 45_2.csv │ ├── 45_3.csv │ ├── 45_4.csv │ ├── 45_5.csv │ ├── 45_6.csv │ ├── 45_7.csv │ ├── 45_8.csv │ ├── 45_9.csv │ ├── 46_1.csv │ ├── 46_10.csv │ ├── 46_11.csv │ ├── 46_12.csv │ ├── 46_13.csv │ ├── 46_14.csv │ ├── 46_2.csv │ ├── 46_3.csv │ ├── 46_4.csv │ ├── 46_5.csv │ ├── 46_6.csv │ ├── 46_7.csv │ ├── 46_8.csv │ ├── 46_9.csv │ ├── 47_1.csv │ ├── 47_10.csv │ ├── 47_11.csv │ ├── 47_12.csv │ ├── 47_13.csv │ ├── 47_14.csv │ ├── 47_2.csv │ ├── 47_3.csv │ ├── 47_4.csv │ ├── 47_5.csv │ ├── 47_6.csv │ ├── 47_7.csv │ ├── 47_8.csv │ ├── 47_9.csv │ ├── 48_1.csv │ ├── 48_10.csv │ ├── 48_11.csv │ ├── 48_12.csv │ ├── 48_13.csv │ ├── 48_14.csv │ ├── 48_2.csv │ ├── 48_3.csv │ ├── 48_4.csv │ ├── 48_5.csv │ ├── 48_6.csv │ ├── 48_7.csv │ ├── 48_8.csv │ ├── 48_9.csv │ ├── 49_1.csv │ ├── 49_10.csv │ ├── 49_11.csv │ ├── 49_12.csv │ ├── 49_13.csv │ ├── 49_14.csv │ ├── 49_2.csv │ ├── 49_3.csv │ ├── 49_4.csv │ ├── 49_5.csv │ ├── 49_6.csv │ ├── 49_7.csv │ ├── 49_8.csv │ ├── 49_9.csv │ ├── 50_1.csv │ ├── 50_10.csv │ ├── 50_11.csv │ ├── 50_12.csv │ ├── 50_13.csv │ ├── 50_14.csv │ ├── 50_2.csv │ ├── 50_3.csv │ ├── 50_4.csv │ ├── 50_5.csv │ ├── 50_6.csv │ ├── 50_7.csv │ ├── 50_8.csv │ ├── 50_9.csv │ ├── 51_1.csv │ ├── 51_10.csv │ ├── 51_11.csv │ ├── 51_12.csv │ ├── 51_13.csv │ ├── 51_14.csv │ ├── 51_2.csv │ ├── 51_3.csv │ ├── 51_4.csv │ ├── 51_5.csv │ ├── 51_6.csv │ ├── 51_7.csv │ ├── 51_8.csv │ ├── 51_9.csv │ ├── 52_1.csv │ ├── 52_10.csv │ ├── 52_11.csv │ ├── 52_12.csv │ ├── 52_13.csv │ ├── 52_14.csv │ ├── 52_2.csv │ ├── 52_3.csv │ ├── 52_4.csv │ ├── 52_5.csv │ ├── 52_6.csv │ ├── 52_7.csv │ ├── 52_8.csv │ ├── 52_9.csv │ ├── 53_1.csv │ ├── 53_10.csv │ ├── 53_11.csv │ ├── 53_12.csv │ ├── 53_13.csv │ ├── 53_14.csv │ ├── 53_2.csv │ ├── 53_3.csv │ ├── 53_4.csv │ ├── 53_5.csv │ ├── 53_6.csv │ ├── 53_7.csv │ ├── 53_8.csv │ ├── 53_9.csv │ ├── 54_1.csv │ ├── 54_10.csv │ ├── 54_11.csv │ ├── 54_12.csv │ ├── 54_13.csv │ ├── 54_14.csv │ ├── 54_2.csv │ ├── 54_3.csv │ ├── 54_4.csv │ ├── 54_5.csv │ ├── 54_6.csv │ ├── 54_7.csv │ ├── 54_8.csv │ ├── 54_9.csv │ ├── 55_1.csv │ ├── 55_10.csv │ ├── 55_11.csv │ ├── 55_12.csv │ ├── 55_13.csv │ ├── 55_14.csv │ ├── 55_2.csv │ ├── 55_3.csv │ ├── 55_4.csv │ ├── 55_5.csv │ ├── 55_6.csv │ ├── 55_7.csv │ ├── 55_8.csv │ ├── 55_9.csv │ ├── 56_1.csv │ ├── 56_10.csv │ ├── 56_11.csv │ ├── 56_12.csv │ ├── 56_13.csv │ ├── 56_14.csv │ ├── 56_2.csv │ ├── 56_3.csv │ ├── 56_4.csv │ ├── 56_5.csv │ ├── 56_6.csv │ ├── 56_7.csv │ ├── 56_8.csv │ ├── 56_9.csv │ ├── 57_1.csv │ ├── 57_10.csv │ ├── 57_11.csv │ ├── 57_12.csv │ ├── 57_13.csv │ ├── 57_14.csv │ ├── 57_2.csv │ ├── 57_3.csv │ ├── 57_4.csv │ ├── 57_5.csv │ ├── 57_6.csv │ ├── 57_7.csv │ ├── 57_8.csv │ ├── 57_9.csv │ ├── 58_1.csv │ ├── 58_10.csv │ ├── 58_11.csv │ ├── 58_12.csv │ ├── 58_13.csv │ ├── 58_14.csv │ ├── 58_2.csv │ ├── 58_3.csv │ ├── 58_4.csv │ ├── 58_5.csv │ ├── 58_6.csv │ ├── 58_7.csv │ ├── 58_8.csv │ ├── 58_9.csv │ ├── 59_1.csv │ ├── 59_10.csv │ ├── 59_11.csv │ ├── 59_12.csv │ ├── 59_13.csv │ ├── 59_14.csv │ ├── 59_2.csv │ ├── 59_3.csv │ ├── 59_4.csv │ ├── 59_5.csv │ ├── 59_6.csv │ ├── 59_7.csv │ ├── 59_8.csv │ ├── 59_9.csv │ ├── 60_1.csv │ ├── 60_10.csv │ ├── 60_11.csv │ ├── 60_12.csv │ ├── 60_13.csv │ ├── 60_14.csv │ ├── 60_2.csv │ ├── 60_3.csv │ ├── 60_4.csv │ ├── 60_5.csv │ ├── 60_6.csv │ ├── 60_7.csv │ ├── 60_8.csv │ ├── 60_9.csv │ ├── 61_1.csv │ ├── 61_10.csv │ ├── 61_11.csv │ ├── 61_12.csv │ ├── 61_13.csv │ ├── 61_14.csv │ ├── 61_2.csv │ ├── 61_3.csv │ ├── 61_4.csv │ ├── 61_5.csv │ ├── 61_6.csv │ ├── 61_7.csv │ ├── 61_8.csv │ ├── 61_9.csv │ ├── 62_1.csv │ ├── 62_10.csv │ ├── 62_11.csv │ ├── 62_12.csv │ ├── 62_13.csv │ ├── 62_14.csv │ ├── 62_2.csv │ ├── 62_3.csv │ ├── 62_4.csv │ ├── 62_5.csv │ ├── 62_6.csv │ ├── 62_7.csv │ ├── 62_8.csv │ ├── 62_9.csv │ ├── 63_1.csv │ ├── 63_10.csv │ ├── 63_11.csv │ ├── 63_12.csv │ ├── 63_13.csv │ ├── 63_14.csv │ ├── 63_2.csv │ ├── 63_3.csv │ ├── 63_4.csv │ ├── 63_5.csv │ ├── 63_6.csv │ ├── 63_7.csv │ ├── 63_8.csv │ ├── 63_9.csv │ ├── 64_1.csv │ ├── 64_10.csv │ ├── 64_11.csv │ ├── 64_12.csv │ ├── 64_13.csv │ ├── 64_14.csv │ ├── 64_2.csv │ ├── 64_3.csv │ ├── 64_4.csv │ ├── 64_5.csv │ ├── 64_6.csv │ ├── 64_7.csv │ ├── 64_8.csv │ ├── 64_9.csv │ ├── 65_1.csv │ ├── 65_10.csv │ ├── 65_11.csv │ ├── 65_12.csv │ ├── 65_13.csv │ ├── 65_14.csv │ ├── 65_2.csv │ ├── 65_3.csv │ ├── 65_4.csv │ ├── 65_5.csv │ ├── 65_6.csv │ ├── 65_7.csv │ ├── 65_8.csv │ ├── 65_9.csv │ ├── 66_1.csv │ ├── 66_10.csv │ ├── 66_11.csv │ ├── 66_12.csv │ ├── 66_13.csv │ ├── 66_14.csv │ ├── 66_2.csv │ ├── 66_3.csv │ ├── 66_4.csv │ ├── 66_5.csv │ ├── 66_6.csv │ ├── 66_7.csv │ ├── 66_8.csv │ ├── 66_9.csv │ ├── 67_1.csv │ ├── 67_10.csv │ ├── 67_11.csv │ ├── 67_12.csv │ ├── 67_13.csv │ ├── 67_14.csv │ ├── 67_2.csv │ ├── 67_3.csv │ ├── 67_4.csv │ ├── 67_5.csv │ ├── 67_6.csv │ ├── 67_7.csv │ ├── 67_8.csv │ ├── 67_9.csv │ ├── 68_1.csv │ ├── 68_10.csv │ ├── 68_11.csv │ ├── 68_12.csv │ ├── 68_13.csv │ ├── 68_14.csv │ ├── 68_2.csv │ ├── 68_3.csv │ ├── 68_4.csv │ ├── 68_5.csv │ ├── 68_6.csv │ ├── 68_7.csv │ ├── 68_8.csv │ ├── 68_9.csv │ ├── 69_1.csv │ ├── 69_10.csv │ ├── 69_11.csv │ ├── 69_12.csv │ ├── 69_13.csv │ ├── 69_14.csv │ ├── 69_2.csv │ ├── 69_3.csv │ ├── 69_4.csv │ ├── 69_5.csv │ ├── 69_6.csv │ ├── 69_7.csv │ ├── 69_8.csv │ ├── 69_9.csv │ ├── 6_1.csv │ ├── 6_10.csv │ ├── 6_11.csv │ ├── 6_12.csv │ ├── 6_13.csv │ ├── 6_14.csv │ ├── 6_2.csv │ ├── 6_3.csv │ ├── 6_4.csv │ ├── 6_5.csv │ ├── 6_6.csv │ ├── 6_7.csv │ ├── 6_8.csv │ ├── 6_9.csv │ ├── 70_1.csv │ ├── 70_10.csv │ ├── 70_11.csv │ ├── 70_12.csv │ ├── 70_13.csv │ ├── 70_14.csv │ ├── 70_2.csv │ ├── 70_3.csv │ ├── 70_4.csv │ ├── 70_5.csv │ ├── 70_6.csv │ ├── 70_7.csv │ ├── 70_8.csv │ ├── 70_9.csv │ ├── 71_1.csv │ ├── 71_10.csv │ ├── 71_11.csv │ ├── 71_12.csv │ ├── 71_13.csv │ ├── 71_14.csv │ ├── 71_2.csv │ ├── 71_3.csv │ ├── 71_4.csv │ ├── 71_5.csv │ ├── 71_6.csv │ ├── 71_7.csv │ ├── 71_8.csv │ ├── 71_9.csv │ ├── 72_1.csv │ ├── 72_10.csv │ ├── 72_11.csv │ ├── 72_12.csv │ ├── 72_13.csv │ ├── 72_14.csv │ ├── 72_2.csv │ ├── 72_3.csv │ ├── 72_4.csv │ ├── 72_5.csv │ ├── 72_6.csv │ ├── 72_7.csv │ ├── 72_8.csv │ ├── 72_9.csv │ ├── 73_1.csv │ ├── 73_10.csv │ ├── 73_11.csv │ ├── 73_12.csv │ ├── 73_13.csv │ ├── 73_14.csv │ ├── 73_2.csv │ ├── 73_3.csv │ ├── 73_4.csv │ ├── 73_5.csv │ ├── 73_6.csv │ ├── 73_7.csv │ ├── 73_8.csv │ ├── 73_9.csv │ ├── 74_1.csv │ ├── 74_10.csv │ ├── 74_11.csv │ ├── 74_12.csv │ ├── 74_13.csv │ ├── 74_14.csv │ ├── 74_2.csv │ ├── 74_3.csv │ ├── 74_4.csv │ ├── 74_5.csv │ ├── 74_6.csv │ ├── 74_7.csv │ ├── 74_8.csv │ ├── 74_9.csv │ ├── 75_1.csv │ ├── 75_10.csv │ ├── 75_11.csv │ ├── 75_12.csv │ ├── 75_13.csv │ ├── 75_14.csv │ ├── 75_2.csv │ ├── 75_3.csv │ ├── 75_4.csv │ ├── 75_5.csv │ ├── 75_6.csv │ ├── 75_7.csv │ ├── 75_8.csv │ ├── 75_9.csv │ ├── 76_1.csv │ ├── 76_10.csv │ ├── 76_11.csv │ ├── 76_12.csv │ ├── 76_13.csv │ ├── 76_14.csv │ ├── 76_2.csv │ ├── 76_3.csv │ ├── 76_4.csv │ ├── 76_5.csv │ ├── 76_6.csv │ ├── 76_7.csv │ ├── 76_8.csv │ ├── 76_9.csv │ ├── 77_1.csv │ ├── 77_10.csv │ ├── 77_11.csv │ ├── 77_12.csv │ ├── 77_13.csv │ ├── 77_14.csv │ ├── 77_2.csv │ ├── 77_3.csv │ ├── 77_4.csv │ ├── 77_5.csv │ ├── 77_6.csv │ ├── 77_7.csv │ ├── 77_8.csv │ ├── 77_9.csv │ ├── 78_1.csv │ ├── 78_10.csv │ ├── 78_11.csv │ ├── 78_12.csv │ ├── 78_13.csv │ ├── 78_14.csv │ ├── 78_2.csv │ ├── 78_3.csv │ ├── 78_4.csv │ ├── 78_5.csv │ ├── 78_6.csv │ ├── 78_7.csv │ ├── 78_8.csv │ ├── 78_9.csv │ ├── 79_1.csv │ ├── 79_10.csv │ ├── 79_11.csv │ ├── 79_12.csv │ ├── 79_13.csv │ ├── 79_14.csv │ ├── 79_2.csv │ ├── 79_3.csv │ ├── 79_4.csv │ ├── 79_5.csv │ ├── 79_6.csv │ ├── 79_7.csv │ ├── 79_8.csv │ ├── 79_9.csv │ ├── 7_1.csv │ ├── 7_10.csv │ ├── 7_11.csv │ ├── 7_12.csv │ ├── 7_13.csv │ ├── 7_14.csv │ ├── 7_2.csv │ ├── 7_3.csv │ ├── 7_4.csv │ ├── 7_5.csv │ ├── 7_6.csv │ ├── 7_7.csv │ ├── 7_8.csv │ ├── 7_9.csv │ ├── 80_1.csv │ ├── 80_10.csv │ ├── 80_11.csv │ ├── 80_12.csv │ ├── 80_13.csv │ ├── 80_14.csv │ ├── 80_2.csv │ ├── 80_3.csv │ ├── 80_4.csv │ ├── 80_5.csv │ ├── 80_6.csv │ ├── 80_7.csv │ ├── 80_8.csv │ ├── 80_9.csv │ ├── 81_1.csv │ ├── 81_10.csv │ ├── 81_11.csv │ ├── 81_12.csv │ ├── 81_13.csv │ ├── 81_14.csv │ ├── 81_2.csv │ ├── 81_3.csv │ ├── 81_4.csv │ ├── 81_5.csv │ ├── 81_6.csv │ ├── 81_7.csv │ ├── 81_8.csv │ ├── 81_9.csv │ ├── 82_1.csv │ ├── 82_10.csv │ ├── 82_11.csv │ ├── 82_12.csv │ ├── 82_13.csv │ ├── 82_14.csv │ ├── 82_2.csv │ ├── 82_3.csv │ ├── 82_4.csv │ ├── 82_5.csv │ ├── 82_6.csv │ ├── 82_7.csv │ ├── 82_8.csv │ ├── 82_9.csv │ ├── 83_1.csv │ ├── 83_10.csv │ ├── 83_11.csv │ ├── 83_12.csv │ ├── 83_13.csv │ ├── 83_14.csv │ ├── 83_2.csv │ ├── 83_3.csv │ ├── 83_4.csv │ ├── 83_5.csv │ ├── 83_6.csv │ ├── 83_7.csv │ ├── 83_8.csv │ ├── 83_9.csv │ ├── 84_1.csv │ ├── 84_10.csv │ ├── 84_11.csv │ ├── 84_12.csv │ ├── 84_13.csv │ ├── 84_14.csv │ ├── 84_2.csv │ ├── 84_3.csv │ ├── 84_4.csv │ ├── 84_5.csv │ ├── 84_6.csv │ ├── 84_7.csv │ ├── 84_8.csv │ ├── 84_9.csv │ ├── 85_1.csv │ ├── 85_10.csv │ ├── 85_11.csv │ ├── 85_12.csv │ ├── 85_13.csv │ ├── 85_14.csv │ ├── 85_2.csv │ ├── 85_3.csv │ ├── 85_4.csv │ ├── 85_5.csv │ ├── 85_6.csv │ ├── 85_7.csv │ ├── 85_8.csv │ ├── 85_9.csv │ ├── 86_1.csv │ ├── 86_10.csv │ ├── 86_11.csv │ ├── 86_12.csv │ ├── 86_13.csv │ ├── 86_14.csv │ ├── 86_2.csv │ ├── 86_3.csv │ ├── 86_4.csv │ ├── 86_5.csv │ ├── 86_6.csv │ ├── 86_7.csv │ ├── 86_8.csv │ ├── 86_9.csv │ ├── 87_1.csv │ ├── 87_10.csv │ ├── 87_11.csv │ ├── 87_12.csv │ ├── 87_13.csv │ ├── 87_14.csv │ ├── 87_2.csv │ ├── 87_3.csv │ ├── 87_4.csv │ ├── 87_5.csv │ ├── 87_6.csv │ ├── 87_7.csv │ ├── 87_8.csv │ ├── 87_9.csv │ ├── 88_1.csv │ ├── 88_10.csv │ ├── 88_11.csv │ ├── 88_12.csv │ ├── 88_13.csv │ ├── 88_14.csv │ ├── 88_2.csv │ ├── 88_3.csv │ ├── 88_4.csv │ ├── 88_5.csv │ ├── 88_6.csv │ ├── 88_7.csv │ ├── 88_8.csv │ ├── 88_9.csv │ ├── 89_1.csv │ ├── 89_10.csv │ ├── 89_11.csv │ ├── 89_12.csv │ ├── 89_13.csv │ ├── 89_14.csv │ ├── 89_2.csv │ ├── 89_3.csv │ ├── 89_4.csv │ ├── 89_5.csv │ ├── 89_6.csv │ ├── 89_7.csv │ ├── 89_8.csv │ ├── 89_9.csv │ ├── 8_1.csv │ ├── 8_10.csv │ ├── 8_11.csv │ ├── 8_12.csv │ ├── 8_13.csv │ ├── 8_14.csv │ ├── 8_2.csv │ ├── 8_3.csv │ ├── 8_4.csv │ ├── 8_5.csv │ ├── 8_6.csv │ ├── 8_7.csv │ ├── 8_8.csv │ ├── 8_9.csv │ ├── 90_1.csv │ ├── 90_10.csv │ ├── 90_11.csv │ ├── 90_12.csv │ ├── 90_13.csv │ ├── 90_14.csv │ ├── 90_2.csv │ ├── 90_3.csv │ ├── 90_4.csv │ ├── 90_5.csv │ ├── 90_6.csv │ ├── 90_7.csv │ ├── 90_8.csv │ ├── 90_9.csv │ ├── 91_1.csv │ ├── 91_10.csv │ ├── 91_11.csv │ ├── 91_12.csv │ ├── 91_13.csv │ ├── 91_14.csv │ ├── 91_2.csv │ ├── 91_3.csv │ ├── 91_4.csv │ ├── 91_5.csv │ ├── 91_6.csv │ ├── 91_7.csv │ ├── 91_8.csv │ ├── 91_9.csv │ ├── 92_1.csv │ ├── 92_10.csv │ ├── 92_11.csv │ ├── 92_12.csv │ ├── 92_13.csv │ ├── 92_14.csv │ ├── 92_2.csv │ ├── 92_3.csv │ ├── 92_4.csv │ ├── 92_5.csv │ ├── 92_6.csv │ ├── 92_7.csv │ ├── 92_8.csv │ ├── 92_9.csv │ ├── 93_1.csv │ ├── 93_10.csv │ ├── 93_11.csv │ ├── 93_12.csv │ ├── 93_13.csv │ ├── 93_14.csv │ ├── 93_2.csv │ ├── 93_3.csv │ ├── 93_4.csv │ ├── 93_5.csv │ ├── 93_6.csv │ ├── 93_7.csv │ ├── 93_8.csv │ ├── 93_9.csv │ ├── 94_1.csv │ ├── 94_10.csv │ ├── 94_11.csv │ ├── 94_12.csv │ ├── 94_13.csv │ ├── 94_14.csv │ ├── 94_2.csv │ ├── 94_3.csv │ ├── 94_4.csv │ ├── 94_5.csv │ ├── 94_6.csv │ ├── 94_7.csv │ ├── 94_8.csv │ ├── 94_9.csv │ ├── 95_1.csv │ ├── 95_10.csv │ ├── 95_11.csv │ ├── 95_12.csv │ ├── 95_13.csv │ ├── 95_14.csv │ ├── 95_2.csv │ ├── 95_3.csv │ ├── 95_4.csv │ ├── 95_5.csv │ ├── 95_6.csv │ ├── 95_7.csv │ ├── 95_8.csv │ ├── 95_9.csv │ ├── 96_1.csv │ ├── 96_10.csv │ ├── 96_11.csv │ ├── 96_12.csv │ ├── 96_13.csv │ ├── 96_14.csv │ ├── 96_2.csv │ ├── 96_3.csv │ ├── 96_4.csv │ ├── 96_5.csv │ ├── 96_6.csv │ ├── 96_7.csv │ ├── 96_8.csv │ ├── 96_9.csv │ ├── 97_1.csv │ ├── 97_10.csv │ ├── 97_11.csv │ ├── 97_12.csv │ ├── 97_13.csv │ ├── 97_14.csv │ ├── 97_2.csv │ ├── 97_3.csv │ ├── 97_4.csv │ ├── 97_5.csv │ ├── 97_6.csv │ ├── 97_7.csv │ ├── 97_8.csv │ ├── 97_9.csv │ ├── 98_1.csv │ ├── 98_10.csv │ ├── 98_11.csv │ ├── 98_12.csv │ ├── 98_13.csv │ ├── 98_14.csv │ ├── 98_2.csv │ ├── 98_3.csv │ ├── 98_4.csv │ ├── 98_5.csv │ ├── 98_6.csv │ ├── 98_7.csv │ ├── 98_8.csv │ ├── 98_9.csv │ ├── 99_1.csv │ ├── 99_10.csv │ ├── 99_11.csv │ ├── 99_12.csv │ ├── 99_13.csv │ ├── 99_14.csv │ ├── 99_2.csv │ ├── 99_3.csv │ ├── 99_4.csv │ ├── 99_5.csv │ ├── 99_6.csv │ ├── 99_7.csv │ ├── 99_8.csv │ ├── 99_9.csv │ ├── 9_1.csv │ ├── 9_10.csv │ ├── 9_11.csv │ ├── 9_12.csv │ ├── 9_13.csv │ ├── 9_14.csv │ ├── 9_2.csv │ ├── 9_3.csv │ ├── 9_4.csv │ ├── 9_5.csv │ ├── 9_6.csv │ ├── 9_7.csv │ ├── 9_8.csv │ └── 9_9.csv ├── static/ │ ├── css/ │ │ ├── alliance_station_display.css │ │ ├── audience_display.css │ │ ├── bracket_display.css │ │ ├── cheesy-arena.css │ │ ├── field_monitor_display.css │ │ ├── fonts/ │ │ │ ├── futura-lt-bold.otf │ │ │ └── futura-lt.otf │ │ ├── logo_display.css │ │ ├── placeholder_display.css │ │ ├── queueing_display.css │ │ ├── rankings_display.css │ │ ├── referee_panel.css │ │ ├── scoring_panel.css │ │ ├── twitch_display.css │ │ ├── wall_display.css │ │ └── webpage_display.css │ ├── js/ │ │ ├── alliance_selection.js │ │ ├── alliance_station_display.js │ │ ├── announcer_display.js │ │ ├── audience_display.js │ │ ├── bracket_display.js │ │ ├── cheesy-common.js │ │ ├── cheesy-websocket.js │ │ ├── field_monitor_display.js │ │ ├── lib/ │ │ │ ├── handlebars-1.3.0.js │ │ │ └── jquery.websocket-0.0.1.js │ │ ├── logo_display.js │ │ ├── lower_thirds.js │ │ ├── match_play.js │ │ ├── match_review.js │ │ ├── match_timing.js │ │ ├── placeholder_display.js │ │ ├── queueing_display.js │ │ ├── rankings_display.js │ │ ├── referee_panel.js │ │ ├── scoring_panel.js │ │ ├── setup_displays.js │ │ ├── setup_field_testing.js │ │ ├── setup_schedule.js │ │ ├── twitch_display.js │ │ ├── wall_display.js │ │ └── webpage_display.js │ └── manifest/ │ ├── blue_far_scoring.manifest │ ├── blue_near_scoring.manifest │ ├── red_far_scoring.manifest │ ├── red_near_scoring.manifest │ └── referee.manifest ├── switch_config.txt ├── templates/ │ ├── alliance_selection.html │ ├── alliance_station_display.html │ ├── announcer_display.html │ ├── announcer_display_match_load.html │ ├── announcer_display_score_posted.html │ ├── audience_display.html │ ├── audience_display_radio_buttons.html │ ├── backups.csv │ ├── base.html │ ├── bracket_display.html │ ├── bracket_report.html │ ├── edit_match_result.html │ ├── edit_team.html │ ├── field_monitor_display.html │ ├── fta.csv │ ├── index.html │ ├── login.html │ ├── logo_display.html │ ├── match_logs.html │ ├── match_play.html │ ├── match_play_match_load.html │ ├── match_review.html │ ├── placeholder_display.html │ ├── queueing_display.html │ ├── queueing_display_match_load.html │ ├── rankings.csv │ ├── rankings_display.html │ ├── referee_panel.html │ ├── referee_panel_foul_list.html │ ├── schedule.csv │ ├── scoring_panel.html │ ├── setup_awards.html │ ├── setup_breaks.html │ ├── setup_displays.html │ ├── setup_field_testing.html │ ├── setup_judging.html │ ├── setup_lower_thirds.html │ ├── setup_schedule.html │ ├── setup_settings.html │ ├── setup_sponsor_slides.html │ ├── setup_teams.html │ ├── teams.csv │ ├── twitch_display.html │ ├── view_match_log.html │ ├── wall_display.html │ └── webpage_display.html ├── tournament/ │ ├── awards.go │ ├── awards_test.go │ ├── judging_schedule.go │ ├── judging_schedule_test.go │ ├── qualification_rankings.go │ ├── qualification_rankings_test.go │ ├── schedule.go │ ├── schedule_test.go │ └── test_helpers.go ├── tunnel ├── tunnel_nginx_config ├── web/ │ ├── alliance_selection.go │ ├── alliance_selection_test.go │ ├── alliance_station_display.go │ ├── alliance_station_display_test.go │ ├── announcer_display.go │ ├── announcer_display_test.go │ ├── api.go │ ├── api_test.go │ ├── audience_display.go │ ├── audience_display_test.go │ ├── bracket_display.go │ ├── bracket_display_test.go │ ├── display_utils.go │ ├── field_monitor_display.go │ ├── field_monitor_display_test.go │ ├── login.go │ ├── login_test.go │ ├── logo_display.go │ ├── logo_display_test.go │ ├── match_logs.go │ ├── match_play.go │ ├── match_play_test.go │ ├── match_review.go │ ├── match_review_test.go │ ├── placeholder_display.go │ ├── placeholder_display_test.go │ ├── queueing_display.go │ ├── queueing_display_test.go │ ├── rankings_display.go │ ├── rankings_display_test.go │ ├── referee_panel.go │ ├── referee_panel_test.go │ ├── reports.go │ ├── reports_test.go │ ├── scoring_panel.go │ ├── scoring_panel_test.go │ ├── setup_awards.go │ ├── setup_awards_test.go │ ├── setup_breaks.go │ ├── setup_breaks_test.go │ ├── setup_displays.go │ ├── setup_displays_test.go │ ├── setup_field_testing.go │ ├── setup_field_testing_test.go │ ├── setup_judging.go │ ├── setup_judging_test.go │ ├── setup_lower_thirds.go │ ├── setup_lower_thirds_test.go │ ├── setup_schedule.go │ ├── setup_schedule_test.go │ ├── setup_settings.go │ ├── setup_settings_test.go │ ├── setup_sponsor_slides.go │ ├── setup_sponsor_slides_test.go │ ├── setup_teams.go │ ├── setup_teams_test.go │ ├── twitch_display.go │ ├── twitch_display_test.go │ ├── wall_display.go │ ├── wall_display_test.go │ ├── web.go │ ├── web_test.go │ ├── webpage_display.go │ └── webpage_display_test.go └── websocket/ ├── notifier.go ├── notifier_test.go ├── websocket.go └── websocket_test.go ================================================ FILE CONTENTS ================================================ ================================================ FILE: .editorconfig ================================================ root = true [*] charset = utf-8 end_of_line = lf indent_size = 2 indent_style = space insert_final_newline = false max_line_length = 120 tab_width = 2 ij_continuation_indent_size = 2 ij_formatter_off_tag = @formatter:off ij_formatter_on_tag = @formatter:on ij_formatter_tags_enabled = true ij_smart_tabs = false ij_visual_guides = ij_wrap_on_typing = false [*.css] ij_css_align_closing_brace_with_properties = false ij_css_blank_lines_around_nested_selector = 1 ij_css_blank_lines_between_blocks = 0 ij_css_block_comment_add_space = false ij_css_brace_placement = end_of_line ij_css_enforce_quotes_on_format = false ij_css_hex_color_long_format = false ij_css_hex_color_lower_case = false ij_css_hex_color_short_format = false ij_css_hex_color_upper_case = false ij_css_keep_blank_lines_in_code = 2 ij_css_keep_indents_on_empty_lines = false ij_css_keep_single_line_blocks = false ij_css_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow ij_css_space_after_colon = true ij_css_space_before_opening_brace = true ij_css_use_double_quotes = true ij_css_value_alignment = do_not_align [*.js] ij_javascript_align_imports = false ij_javascript_align_multiline_array_initializer_expression = false ij_javascript_align_multiline_binary_operation = false ij_javascript_align_multiline_chained_methods = false ij_javascript_align_multiline_extends_list = false ij_javascript_align_multiline_for = true ij_javascript_align_multiline_parameters = true ij_javascript_align_multiline_parameters_in_calls = false ij_javascript_align_multiline_ternary_operation = false ij_javascript_align_object_properties = 0 ij_javascript_align_union_types = false ij_javascript_align_var_statements = 0 ij_javascript_array_initializer_new_line_after_left_brace = false ij_javascript_array_initializer_right_brace_on_new_line = false ij_javascript_array_initializer_wrap = off ij_javascript_assignment_wrap = off ij_javascript_binary_operation_sign_on_next_line = false ij_javascript_binary_operation_wrap = off ij_javascript_blacklist_imports = rxjs/Rx, node_modules/**, **/node_modules/**, @angular/material, @angular/material/typings/** ij_javascript_blank_lines_after_imports = 1 ij_javascript_blank_lines_around_class = 1 ij_javascript_blank_lines_around_field = 0 ij_javascript_blank_lines_around_function = 1 ij_javascript_blank_lines_around_method = 1 ij_javascript_block_brace_style = end_of_line ij_javascript_block_comment_add_space = false ij_javascript_block_comment_at_first_column = true ij_javascript_call_parameters_new_line_after_left_paren = false ij_javascript_call_parameters_right_paren_on_new_line = false ij_javascript_call_parameters_wrap = off ij_javascript_catch_on_new_line = false ij_javascript_chained_call_dot_on_new_line = true ij_javascript_class_brace_style = end_of_line ij_javascript_class_decorator_wrap = split_into_lines ij_javascript_class_field_decorator_wrap = off ij_javascript_class_method_decorator_wrap = off ij_javascript_comma_on_new_line = false ij_javascript_do_while_brace_force = never ij_javascript_else_on_new_line = false ij_javascript_enforce_trailing_comma = keep ij_javascript_extends_keyword_wrap = off ij_javascript_extends_list_wrap = off ij_javascript_field_prefix = _ ij_javascript_file_name_style = relaxed ij_javascript_finally_on_new_line = false ij_javascript_for_brace_force = never ij_javascript_for_statement_new_line_after_left_paren = false ij_javascript_for_statement_right_paren_on_new_line = false ij_javascript_for_statement_wrap = off ij_javascript_force_quote_style = false ij_javascript_force_semicolon_style = false ij_javascript_function_expression_brace_style = end_of_line ij_javascript_function_parameter_decorator_wrap = off ij_javascript_if_brace_force = never ij_javascript_import_merge_members = global ij_javascript_import_prefer_absolute_path = global ij_javascript_import_sort_members = true ij_javascript_import_sort_module_name = false ij_javascript_import_use_node_resolution = true ij_javascript_imports_wrap = on_every_item ij_javascript_indent_case_from_switch = true ij_javascript_indent_chained_calls = true ij_javascript_indent_package_children = 0 ij_javascript_jsx_attribute_value = braces ij_javascript_keep_blank_lines_in_code = 2 ij_javascript_keep_first_column_comment = true ij_javascript_keep_indents_on_empty_lines = false ij_javascript_keep_line_breaks = true ij_javascript_keep_simple_blocks_in_one_line = false ij_javascript_keep_simple_methods_in_one_line = false ij_javascript_line_comment_add_space = true ij_javascript_line_comment_at_first_column = false ij_javascript_method_brace_style = end_of_line ij_javascript_method_call_chain_wrap = off ij_javascript_method_parameters_new_line_after_left_paren = false ij_javascript_method_parameters_right_paren_on_new_line = false ij_javascript_method_parameters_wrap = off ij_javascript_object_literal_wrap = on_every_item ij_javascript_object_types_wrap = on_every_item ij_javascript_parentheses_expression_new_line_after_left_paren = false ij_javascript_parentheses_expression_right_paren_on_new_line = false ij_javascript_place_assignment_sign_on_next_line = false ij_javascript_prefer_as_type_cast = false ij_javascript_prefer_explicit_types_function_expression_returns = false ij_javascript_prefer_explicit_types_function_returns = false ij_javascript_prefer_explicit_types_vars_fields = false ij_javascript_prefer_parameters_wrap = false ij_javascript_property_prefix = ij_javascript_reformat_c_style_comments = false ij_javascript_space_after_colon = true ij_javascript_space_after_comma = true ij_javascript_space_after_dots_in_rest_parameter = false ij_javascript_space_after_generator_mult = true ij_javascript_space_after_property_colon = true ij_javascript_space_after_quest = true ij_javascript_space_after_type_colon = true ij_javascript_space_after_unary_not = false ij_javascript_space_before_async_arrow_lparen = true ij_javascript_space_before_catch_keyword = true ij_javascript_space_before_catch_left_brace = true ij_javascript_space_before_catch_parentheses = true ij_javascript_space_before_class_lbrace = true ij_javascript_space_before_class_left_brace = true ij_javascript_space_before_colon = true ij_javascript_space_before_comma = false ij_javascript_space_before_do_left_brace = true ij_javascript_space_before_else_keyword = true ij_javascript_space_before_else_left_brace = true ij_javascript_space_before_finally_keyword = true ij_javascript_space_before_finally_left_brace = true ij_javascript_space_before_for_left_brace = true ij_javascript_space_before_for_parentheses = true ij_javascript_space_before_for_semicolon = false ij_javascript_space_before_function_left_parenth = true ij_javascript_space_before_generator_mult = false ij_javascript_space_before_if_left_brace = true ij_javascript_space_before_if_parentheses = true ij_javascript_space_before_method_call_parentheses = false ij_javascript_space_before_method_left_brace = true ij_javascript_space_before_method_parentheses = false ij_javascript_space_before_property_colon = false ij_javascript_space_before_quest = true ij_javascript_space_before_switch_left_brace = true ij_javascript_space_before_switch_parentheses = true ij_javascript_space_before_try_left_brace = true ij_javascript_space_before_type_colon = false ij_javascript_space_before_unary_not = false ij_javascript_space_before_while_keyword = true ij_javascript_space_before_while_left_brace = true ij_javascript_space_before_while_parentheses = true ij_javascript_spaces_around_additive_operators = true ij_javascript_spaces_around_arrow_function_operator = true ij_javascript_spaces_around_assignment_operators = true ij_javascript_spaces_around_bitwise_operators = true ij_javascript_spaces_around_equality_operators = true ij_javascript_spaces_around_logical_operators = true ij_javascript_spaces_around_multiplicative_operators = true ij_javascript_spaces_around_relational_operators = true ij_javascript_spaces_around_shift_operators = true ij_javascript_spaces_around_unary_operator = false ij_javascript_spaces_within_array_initializer_brackets = false ij_javascript_spaces_within_brackets = false ij_javascript_spaces_within_catch_parentheses = false ij_javascript_spaces_within_for_parentheses = false ij_javascript_spaces_within_if_parentheses = false ij_javascript_spaces_within_imports = false ij_javascript_spaces_within_interpolation_expressions = false ij_javascript_spaces_within_method_call_parentheses = false ij_javascript_spaces_within_method_parentheses = false ij_javascript_spaces_within_object_literal_braces = false ij_javascript_spaces_within_object_type_braces = true ij_javascript_spaces_within_parentheses = false ij_javascript_spaces_within_switch_parentheses = false ij_javascript_spaces_within_type_assertion = false ij_javascript_spaces_within_union_types = true ij_javascript_spaces_within_while_parentheses = false ij_javascript_special_else_if_treatment = true ij_javascript_ternary_operation_signs_on_next_line = false ij_javascript_ternary_operation_wrap = off ij_javascript_union_types_wrap = on_every_item ij_javascript_use_chained_calls_group_indents = false ij_javascript_use_double_quotes = true ij_javascript_use_explicit_js_extension = auto ij_javascript_use_import_type = auto ij_javascript_use_path_mapping = always ij_javascript_use_public_modifier = false ij_javascript_use_semicolon_after_statement = true ij_javascript_var_declaration_wrap = normal ij_javascript_while_brace_force = never ij_javascript_while_on_new_line = false ij_javascript_wrap_comments = false [*.go] indent_style = tab tab_width = 4 ij_go_GROUP_CURRENT_PROJECT_IMPORTS = false ij_go_add_leading_space_to_comments = true ij_go_add_parentheses_for_single_import = false ij_go_call_parameters_new_line_after_left_paren = true ij_go_call_parameters_right_paren_on_new_line = true ij_go_call_parameters_wrap = on_every_item ij_go_fill_paragraph_width = 80 ij_go_group_stdlib_imports = false ij_go_import_sorting = gofmt ij_go_keep_indents_on_empty_lines = false ij_go_local_group_mode = project ij_go_local_package_prefixes = ij_go_move_all_imports_in_one_declaration = false ij_go_move_all_stdlib_imports_in_one_group = false ij_go_remove_redundant_import_aliases = false ij_go_run_go_fmt_on_reformat = true ij_go_use_back_quotes_for_imports = false ij_go_wrap_comp_lit = on_every_item ij_go_wrap_comp_lit_newline_after_lbrace = true ij_go_wrap_comp_lit_newline_before_rbrace = true ij_go_wrap_func_params = on_every_item ij_go_wrap_func_params_newline_after_lparen = true ij_go_wrap_func_params_newline_before_rparen = true ij_go_wrap_func_result = on_every_item ij_go_wrap_func_result_newline_after_lparen = true ij_go_wrap_func_result_newline_before_rparen = true [{*.htm,*.html}] ij_html_add_new_line_before_tags = body, div, p, form, h1, h2, h3 ij_html_align_attributes = false ij_html_align_text = false ij_html_attribute_wrap = normal ij_html_block_comment_add_space = false ij_html_block_comment_at_first_column = true ij_html_do_not_align_children_of_min_lines = 0 ij_html_do_not_break_if_inline_tags = title, h1, h2, h3, h4, h5, h6, p ij_html_do_not_indent_children_of_tags = ij_html_enforce_quotes = false ij_html_inline_tags = a, abbr, acronym, b, basefont, bdo, big, br, cite, cite, code, dfn, em, font, i, img, input, kbd, label, q, s, samp, select, small, span, strike, strong, sub, sup, textarea, tt, u, var ij_html_keep_blank_lines = 2 ij_html_keep_indents_on_empty_lines = false ij_html_keep_line_breaks = true ij_html_keep_line_breaks_in_text = true ij_html_keep_whitespaces = false ij_html_keep_whitespaces_inside = span, pre, textarea ij_html_line_comment_at_first_column = true ij_html_new_line_after_last_attribute = never ij_html_new_line_before_first_attribute = never ij_html_quote_style = double ij_html_remove_new_line_before_tags = br ij_html_space_after_tag_name = false ij_html_space_around_equality_in_attribute = false ij_html_space_inside_empty_tag = false ij_html_text_wrap = normal [{*.markdown,*.md}] ij_markdown_force_one_space_after_blockquote_symbol = true ij_markdown_force_one_space_after_header_symbol = true ij_markdown_force_one_space_after_list_bullet = true ij_markdown_force_one_space_between_words = true ij_markdown_format_tables = true ij_markdown_insert_quote_arrows_on_wrap = true ij_markdown_keep_indents_on_empty_lines = false ij_markdown_keep_line_breaks_inside_text_blocks = true ij_markdown_max_lines_around_block_elements = 1 ij_markdown_max_lines_around_header = 1 ij_markdown_max_lines_between_paragraphs = 1 ij_markdown_min_lines_around_block_elements = 1 ij_markdown_min_lines_around_header = 1 ij_markdown_min_lines_between_paragraphs = 1 ij_markdown_wrap_text_if_long = true ij_markdown_wrap_text_inside_blockquotes = true ================================================ FILE: .github/workflows/release.yml ================================================ on: push: tags: - "v*" name: Create Release jobs: create_release: runs-on: ubuntu-latest env: ASSET_FILES: LICENSE README.md access_point_config.tar.gz fix_avatar_colors_for_overlay font schedules static switch_config.txt templates tunnel steps: - name: Install Go uses: actions/setup-go@v2 with: go-version: 1.22.x - name: Check out code uses: actions/checkout@v2 - name: Create release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: Cheesy Arena ${{ github.ref }} body: This is a release of Cheesy Arena for the 2025 FRC game, REEFSCAPE. Download the version for your operating system below. Supported operating systems are Linux, macOS (x64 and M1), and Windows. draft: false prerelease: false - name: Set additional environment variables run: | echo "LINUX_X64_FILENAME=cheesy-arena.${GITHUB_REF:10}.linux.x64.zip" >> $GITHUB_ENV echo "MACOS_X64_FILENAME=cheesy-arena.${GITHUB_REF:10}.macos.x64.zip" >> $GITHUB_ENV echo "MACOS_M1_FILENAME=cheesy-arena.${GITHUB_REF:10}.macos.m1.zip" >> $GITHUB_ENV echo "WINDOWS_X64_FILENAME=cheesy-arena.${GITHUB_REF:10}.windows.x64.zip" >> $GITHUB_ENV - name: Build Linux bundle run: | rm -rf cheesy-arena* mkdir cheesy-arena GOOS=linux GOARCH=amd64 go build -o cheesy-arena/ cp -r ${{ env.ASSET_FILES }} cheesy-arena/ zip -r -X ${{ env.LINUX_X64_FILENAME }} cheesy-arena - name: Upload Linux bundle uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./${{ env.LINUX_X64_FILENAME }} asset_name: ${{ env.LINUX_X64_FILENAME }} asset_content_type: application/zip - name: Build MacOS x64 bundle run: | rm -rf cheesy-arena* mkdir cheesy-arena GOOS=darwin GOARCH=amd64 go build -o cheesy-arena/ cp -r ${{ env.ASSET_FILES }} cheesy-arena/ zip -r -X ${{ env.MACOS_X64_FILENAME }} cheesy-arena - name: Upload MacOS x64 bundle uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./${{ env.MACOS_X64_FILENAME }} asset_name: ${{ env.MACOS_X64_FILENAME }} asset_content_type: application/zip - name: Build MacOS M1 bundle run: | rm -rf cheesy-arena* mkdir cheesy-arena GOOS=darwin GOARCH=arm64 go build -o cheesy-arena/ cp -r ${{ env.ASSET_FILES }} cheesy-arena/ zip -r -X ${{ env.MACOS_M1_FILENAME }} cheesy-arena - name: Upload MacOS M1 bundle uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./${{ env.MACOS_M1_FILENAME }} asset_name: ${{ env.MACOS_M1_FILENAME }} asset_content_type: application/zip - name: Build Windows bundle run: | rm -rf cheesy-arena* mkdir cheesy-arena GOOS=windows GOARCH=amd64 go build -o cheesy-arena/ cp -r ${{ env.ASSET_FILES }} cheesy-arena/ zip -r -X ${{ env.WINDOWS_X64_FILENAME }} cheesy-arena - name: Upload Windows bundle uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./${{ env.WINDOWS_X64_FILENAME }} asset_name: ${{ env.WINDOWS_X64_FILENAME }} asset_content_type: application/zip ================================================ FILE: .github/workflows/test.yml ================================================ on: [ push, pull_request ] name: Build/Test jobs: test: runs-on: ubuntu-latest steps: - name: Install Go uses: actions/setup-go@v2 with: go-version: 1.22.x - name: Check out code uses: actions/checkout@v2 - name: Build run: go build - name: Test run: go test ./... - name: Check formatting run: test -z "$(go fmt ./...)" ================================================ FILE: .gitignore ================================================ # Compiled Object files, Static and Dynamic libs (Shared Objects) *.o *.a *.so cheesy-arena # Folders _obj _test .idea # Architecture specific extensions/prefixes *.[568vq] [568vq].out *.cgo1.go *.cgo2.c _cgo_defun.c _cgo_gotypes.go _cgo_export.* _testmain.go *.exe *.test *.db *.db-journal *.out .DS_Store static/logs static/img/avatars ================================================ FILE: AGENTS.md ================================================ # Repository Guidelines ## Project Structure & Module Organization `main.go` is the entry point for the Go web server. Core domains live in top-level packages such as `field/`, `game/`, `network/`, `partner/`, `playoff/`, `tournament/`, and `websocket/`. Web UI assets are in `web/`, `static/`, and `templates/`. Pre-generated schedules are in `schedules/`. BoltDB data is stored in `db/` (and test fixtures in `*_test.db` files at the repo root). ## Build, Test, and Development Commands Use Go 1.23+ (see `go.mod`). 1. `go build` Builds the `cheesy-arena` binary in the repo root. 1. `./cheesy-arena` Runs the server; open `http://localhost:8080` in a browser. 1. `go test ./...` Runs all Go tests across packages. ## Coding Style & Naming Conventions Follow standard Go style: tabs for indentation, exported names in `CamelCase`, unexported in `camelCase`. Format code with `gofmt` before submitting changes. Keep package names short and domain-focused (matching existing directories like `field`, `game`, `partner`). ## Testing Guidelines Tests are Go `*_test.go` files co-located with packages (for example `field/`, `game/`, `partner/`, `playoff/`). Use `go test ./...` for the full suite and `go test ./field -run TestName` to target specific areas. When adding new behavior, add or update tests in the same package and prefer table-driven tests for coverage. ## Commit & Pull Request Guidelines Commit messages in this repo are short, imperative sentences (for example “Fix driver station TCP reads”) and often include an issue/PR number in parentheses (for example “... (#258)”). Keep to that style. PRs should include: 1. A clear summary of the change. 1. Test notes (exact commands run, for example `go test ./...`). 1. UI screenshots when changing pages in `web/`, `static/`, or `templates/`. ## Configuration & Ops Notes Cheesy Arena is designed to run as a local web server and uses BoltDB for data. For field networking and hardware integrations, see the project README and relevant `field/` or `plc/` code before making behavioral changes. ================================================ FILE: LICENSE ================================================ Copyright (c) 2014, Team 254 All rights reserved. This software may be used and redistributed subject to the following conditions: 1. The software may be used without restriction for testing, scrimmages, off-season events, and for evaluation purposes. 2. The software may be modified for such use, but the modifications may not be redistributed without permission from Team 254. 3. Redistribution for the purpose of contributing to the original project (e.g. forking on GitHub and submitting pull requests) is permitted. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================ FILE: README.md ================================================ Cheesy Arena [![Build Status](https://github.com/Team254/cheesy-arena/actions/workflows/test.yml/badge.svg)](https://github.com/Team254/cheesy-arena/actions) ============ A field management system that just works. For the game-agnostic version, see [Cheesy Arena Lite](https://github.com/Team254/cheesy-arena-lite). ## Key features **For participants and spectators** * Same network isolation and security as the official FIRST FMS * No-lag realtime scoring * Team stack lights and seven-segment display are replaced by an LCD screen, which shows team info before the match and realtime scoring and timer during the match * Smooth-scrolling rankings display * Direct publishing of schedule, results, and rankings to The Blue Alliance **For scorekeepers and event staff** * Runs on Windows, macOS, and Linux * No install prerequisites * No "pre-start" – hardware is configured automatically and in the background * Flexible and quick match schedule generation * Streamlined realtime score entry * Reports, results, and logs can be viewed from any computer * An arbitrary number of auxiliary displays can be set up using any computer with just a web browser, to show rankings, queueing, field status, etc. ## License Teams may use Cheesy Arena freely for practice, scrimmages, and off-season events. See [LICENSE](LICENSE) for more details. ## Installing **From a pre-built release** Download the [latest release](https://github.com/Team254/cheesy-arena/releases). Pre-built packages are available for Linux, macOS (x64 and M1), and Windows. On recent versions of macOS, you may be prevented from running an app from an unidentified developer; see [these instructions](https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/mac) on how to bypass the warning. **From source** 1. Download [Go](https://golang.org/dl/) (version 1.22 or later required) 1. Clone this GitHub repository to a location of your choice 1. Navigate to the repository's directory in the terminal 1. Compile the code with `go build` 1. Run the `cheesy-arena` or `cheesy-arena.exe` binary 1. Navigate to http://localhost:8080 in your browser (Google Chrome recommended) **IP address configuration** When running Cheesy Arena on a playing field with robots, set the IP address of the computer running Cheesy Arena to 10.0.100.5. By a convention baked into the FRC Driver Station software, driver stations will broadcast their presence on the network to this hardcoded address so that the FMS does not need to discover them by some other method. When running Cheesy Arena without robots for testing or development, any IP address can be used. ## Under the hood Cheesy Arena is written using [Go](https://golang.org), a language developed by Google and first released in 2009. Go excels in the areas of concurrency, networking, performance, and portability, which makes it ideal for a field management system. Cheesy Arena is implemented as a web server, with all human interaction done via browser. The graphical interfaces are implemented in HTML, JavaScript, and CSS. There are many advantages to this approach – development of new graphical elements is rapid, and no software needs to be installed other than on the server. Client web pages send commands and receive updates using WebSockets. [Bolt](https://github.com/etcd-io/bbolt) is used as the datastore, and making backups or transferring data from one installation to another is as simple as copying the database file. Schedule generation is fast because pre-generated schedules are included with the code. Each schedule contains a certain number of matches per team for placeholder teams 1 through N, so generating the actual match schedule becomes a simple exercise in permuting the mapping of real teams to placeholder teams. The pre-generated schedules are checked into this repository and can be vetted in advance of any events for deviations from the randomness (and other) requirements. Cheesy Arena includes support for, but doesn't require, networking hardware similar to that used in official FRC events. Teams are issued their own SSIDs and WPA keys, and when connected to Cheesy Arena are isolated to a VLAN which prevents any communication other than between the driver station, robot, and event server. The network hardware is reconfigured via SSH and Telnet commands for the new set of teams when each mach is loaded. ## PLC integration Cheesy Arena has the ability to integrate with an Allen-Bradley PLC setup similar to the one that FIRST uses, to read field sensors and control lights and motors. The PLC hardware travels with the FIRST California fields; contact your FTA for more information. The PLC code can be found [here](https://github.com/ejordan376/Cheesy-PLC). ## Team Sign integration Cheesy Arena has the ability to integrate with the [Cypress Team Signs](https://cypressintegration.com/customsolutions/teamdisplay/) used at official FRC events. See the [Configuring Cheesy Arena wiki page](https://github.com/Team254/cheesy-arena/wiki/Configuring-Cheesy-Arena-Settings#team-signs) for details configurating the team signs in Cheesy Arena. ## LED hardware Due to the prohibitive cost of the LEDs and LED controllers used on official fields, for years in which LEDs are mandatory for a proper game experience (such as 2018), Cheesy Arena integrates with [Advatek](https://www.advateklights.com) controllers and LEDs. ## Advanced networking See the [Advanced Networking wiki page](https://github.com/Team254/cheesy-arena/wiki/Advanced-Networking-Concepts) for instructions on what equipment to obtain and how to configure it in order to support advanced network security. ## Contributing Cheesy Arena is far from finished! You can help by: * Writing a missing feature, and sending a pull request * Filing any bugs or feature requests using the [issue tracker](https://github.com/Team254/cheesy-arena/issues) * Contributing documentation to the [wiki](https://github.com/Team254/cheesy-arena/wiki) * Sending baked goods to [Pat](https://github.com/patfair) ## Acknowledgements [Several folks](https://github.com/Team254/cheesy-arena/graphs/contributors) have contributed pull requests. Thanks! In addition, the following individuals have contributed to make Cheesy Arena a reality: * Tom Bottiglieri * James Cerar * Kiet Chau * Travis Covington * Nick Eyre * Patrick Fairbank * Eugene Fang * Thad House * Ed Jordan * Karthik Kanagasabapathy * Ken Mitchell * Andrew Nabors * Jared Russell * Ken Schenke * Austin Schuh * Colin Wilson ================================================ FILE: coverage ================================================ go test -coverprofile=coverage.out ./... && sleep 1 && go tool cover -html=coverage.out ================================================ FILE: field/arena.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Functions for controlling the arena and match play. package field import ( "fmt" "log" "reflect" "strconv" "strings" "sync" "time" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/network" "github.com/Team254/cheesy-arena/partner" "github.com/Team254/cheesy-arena/playoff" "github.com/Team254/cheesy-arena/plc" ) const ( arenaLoopPeriodMs = 10 arenaLoopWarningMs = 5 dsPacketPeriodMs = 500 dsPacketWarningMs = 550 periodicTaskPeriodSec = 30 matchEndScoreDwellSec = 3 postTimeoutSec = 4 preLoadNextMatchDelaySec = 5 scheduledBreakDelaySec = 5 earlyLateThresholdMin = 2.5 MaxMatchGapMin = 20 ) // Progression of match states. type MatchState int const ( PreMatch MatchState = iota StartMatch WarmupPeriod AutoPeriod PausePeriod TeleopPeriod PostMatch TimeoutActive PostTimeout ) type Arena struct { Database *model.Database EventSettings *model.EventSettings accessPoint network.AccessPoint networkSwitch *network.Switch redSCC *network.SCCSwitch blueSCC *network.SCCSwitch Plc plc.Plc TbaClient *partner.TbaClient NexusClient *partner.NexusClient BlackmagicClient *partner.BlackmagicClient CompanionClient *partner.CompanionClient AllianceStations map[string]*AllianceStation Displays map[string]*Display TeamSigns *TeamSigns ScoringPanelRegistry ArenaNotifiers MatchState lastMatchState MatchState CurrentMatch *model.Match MatchStartTime time.Time LastMatchTimeSec float64 RedRealtimeScore *RealtimeScore BlueRealtimeScore *RealtimeScore lastDsPacketTime time.Time lastPeriodicTaskTime time.Time EventStatus EventStatus FieldVolunteers bool FieldReset bool AudienceDisplayMode string SavedMatch *model.Match SavedMatchResult *model.MatchResult SavedRankings game.Rankings AllianceStationDisplayMode string AllianceSelectionAlliances []model.Alliance AllianceSelectionRankedTeams []model.AllianceSelectionRankedTeam AllianceSelectionShowTimer bool AllianceSelectionTimeRemainingSec int PlayoffTournament *playoff.PlayoffTournament LowerThird *model.LowerThird ShowLowerThird bool MuteMatchSounds bool matchAborted bool soundsPlayed map[*game.MatchSound]struct{} breakDescription string preloadedTeams *[6]*model.Team NextFoulId int } type AllianceStation struct { DsConn *DriverStationConnection Ethernet bool AStop bool EStop bool Bypass bool Team *model.Team WifiStatus network.TeamWifiStatus aStopReset bool GameData string } // Creates the arena and sets it to its initial state. func NewArena(dbPath string) (*Arena, error) { arena := new(Arena) arena.configureNotifiers() arena.Plc = new(plc.ModbusPlc) arena.AllianceStations = make(map[string]*AllianceStation) arena.AllianceStations["R1"] = new(AllianceStation) arena.AllianceStations["R2"] = new(AllianceStation) arena.AllianceStations["R3"] = new(AllianceStation) arena.AllianceStations["B1"] = new(AllianceStation) arena.AllianceStations["B2"] = new(AllianceStation) arena.AllianceStations["B3"] = new(AllianceStation) arena.Displays = make(map[string]*Display) arena.TeamSigns = NewTeamSigns() var err error arena.Database, err = model.OpenDatabase(dbPath) if err != nil { return nil, err } err = arena.LoadSettings() if err != nil { return nil, err } arena.ScoringPanelRegistry.initialize() // Load empty match as current. arena.MatchState = PreMatch arena.LoadTestMatch() arena.LastMatchTimeSec = 0 arena.lastMatchState = -1 // Initialize display parameters. arena.AudienceDisplayMode = "blank" arena.SavedMatch = &model.Match{} arena.SavedMatchResult = model.NewMatchResult() arena.AllianceStationDisplayMode = "match" return arena, nil } // Loads or reloads the event settings upon initial setup or change. func (arena *Arena) LoadSettings() error { settings, err := arena.Database.GetEventSettings() if err != nil { return err } arena.EventSettings = settings // Initialize the components that depend on settings. arena.TeamSigns.Red1.SetId(settings.TeamSignRed1Id) arena.TeamSigns.Red2.SetId(settings.TeamSignRed2Id) arena.TeamSigns.Red3.SetId(settings.TeamSignRed3Id) arena.TeamSigns.RedTimer.SetId(settings.TeamSignRedTimerId) arena.TeamSigns.Blue1.SetId(settings.TeamSignBlue1Id) arena.TeamSigns.Blue2.SetId(settings.TeamSignBlue2Id) arena.TeamSigns.Blue3.SetId(settings.TeamSignBlue3Id) arena.TeamSigns.BlueTimer.SetId(settings.TeamSignBlueTimerId) accessPointWifiStatuses := [6]*network.TeamWifiStatus{ &arena.AllianceStations["R1"].WifiStatus, &arena.AllianceStations["R2"].WifiStatus, &arena.AllianceStations["R3"].WifiStatus, &arena.AllianceStations["B1"].WifiStatus, &arena.AllianceStations["B2"].WifiStatus, &arena.AllianceStations["B3"].WifiStatus, } arena.accessPoint.SetSettings( settings.ApAddress, settings.ApPassword, settings.ApChannel, settings.NetworkSecurityEnabled, accessPointWifiStatuses, ) arena.networkSwitch = network.NewSwitch(settings.SwitchAddress, settings.SwitchPassword) sccUpCommands := strings.Split(settings.SCCUpCommands, "\n") sccDownCommands := strings.Split(settings.SCCDownCommands, "\n") arena.redSCC = network.NewSCCSwitch( settings.RedSCCAddress, settings.SCCUsername, settings.SCCPassword, sccUpCommands, sccDownCommands, ) arena.blueSCC = network.NewSCCSwitch( settings.BlueSCCAddress, settings.SCCUsername, settings.SCCPassword, sccUpCommands, sccDownCommands, ) arena.Plc.SetAddress(settings.PlcAddress) arena.TbaClient = partner.NewTbaClient(settings.TbaEventCode, settings.TbaSecretId, settings.TbaSecret) arena.NexusClient = partner.NewNexusClient(settings.TbaEventCode) arena.BlackmagicClient = partner.NewBlackmagicClient(settings.BlackmagicAddresses) // Initialize Companion client with event configurations companionEventConfigs := map[partner.CompanionEvent]partner.CompanionEventConfig{ partner.EventMatchPreview: { Page: settings.CompanionMatchPreviewPage, Row: settings.CompanionMatchPreviewRow, Column: settings.CompanionMatchPreviewColumn, }, partner.EventShowOverlay: { Page: settings.CompanionSetAudiencePage, Row: settings.CompanionSetAudienceRow, Column: settings.CompanionSetAudienceColumn, }, partner.EventMatchStart: { Page: settings.CompanionMatchStartPage, Row: settings.CompanionMatchStartRow, Column: settings.CompanionMatchStartColumn, }, partner.EventTeleopStart: { Page: settings.CompanionTeleopStartPage, Row: settings.CompanionTeleopStartRow, Column: settings.CompanionTeleopStartColumn, }, partner.EventEndgameStart: { Page: settings.CompanionEndgameStartPage, Row: settings.CompanionEndgameStartRow, Column: settings.CompanionEndgameStartColumn, }, partner.EventMatchEnd: { Page: settings.CompanionMatchEndPage, Row: settings.CompanionMatchEndRow, Column: settings.CompanionMatchEndColumn, }, partner.EventShowFinalScore: { Page: settings.CompanionPostResultPage, Row: settings.CompanionPostResultRow, Column: settings.CompanionPostResultColumn, }, partner.EventAllianceSelection: { Page: settings.CompanionAllianceSelectionPage, Row: settings.CompanionAllianceSelectionRow, Column: settings.CompanionAllianceSelectionColumn, }, partner.EventMatchAbort: { Page: settings.CompanionMatchAbortPage, Row: settings.CompanionMatchAbortRow, Column: settings.CompanionMatchAbortColumn, }, } arena.CompanionClient = partner.NewCompanionClient( settings.CompanionAddress, settings.CompanionPort, companionEventConfigs, ) game.MatchTiming.WarmupDurationSec = settings.WarmupDurationSec game.MatchTiming.AutoDurationSec = settings.AutoDurationSec game.MatchTiming.PauseDurationSec = settings.PauseDurationSec game.MatchTiming.TeleopDurationSec = settings.TeleopDurationSec game.MatchTiming.WarningRemainingDurationSec = settings.WarningRemainingDurationSec game.UpdateMatchSounds() arena.MatchTimingNotifier.Notify() game.AutoBonusCoralThreshold = settings.AutoBonusCoralThreshold game.CoralBonusPerLevelThreshold = settings.CoralBonusPerLevelThreshold game.CoralBonusCoopEnabled = settings.CoralBonusCoopEnabled game.BargeBonusPointThreshold = settings.BargeBonusPointThreshold game.IncludeAlgaeInBargeBonus = settings.IncludeAlgaeInBargeBonus // Reconstruct the playoff tournament in memory. if err = arena.CreatePlayoffTournament(); err != nil { return err } if err = arena.UpdatePlayoffTournament(); err != nil { return err } return nil } // Constructs an empty playoff tournament in memory, based only on the number of alliances. func (arena *Arena) CreatePlayoffTournament() error { var err error arena.PlayoffTournament, err = playoff.NewPlayoffTournament( arena.EventSettings.PlayoffType, arena.EventSettings.NumPlayoffAlliances, ) return err } // Performs the one-time creation of all matches for the playoff tournament. func (arena *Arena) CreatePlayoffMatches(startTime time.Time) error { return arena.PlayoffTournament.CreateMatchesAndBreaks(arena.Database, startTime) } // Traverses the playoff tournament rounds to assess winners and populate subsequent matches. func (arena *Arena) UpdatePlayoffTournament() error { alliances, err := arena.Database.GetAllAlliances() if err != nil { return err } if len(alliances) > 0 { return arena.PlayoffTournament.UpdateMatches(arena.Database) } return nil } // Sets up the arena for the given match. func (arena *Arena) LoadMatch(match *model.Match) error { if arena.MatchState != PreMatch && arena.MatchState != TimeoutActive { return fmt.Errorf("cannot load match while there is a match still in progress or with results pending") } arena.CurrentMatch = match loadedByNexus := false if match.ShouldAllowNexusSubstitution() && arena.EventSettings.NexusEnabled { // Attempt to get the match lineup from Nexus for FRC. lineup, err := arena.NexusClient.GetLineup(match.TbaMatchKey) if err != nil { log.Printf("Failed to load lineup from Nexus: %s", err.Error()) } else { err = arena.SubstituteTeams(lineup[0], lineup[1], lineup[2], lineup[3], lineup[4], lineup[5]) if err != nil { log.Printf("Failed to substitute teams using Nexus lineup; loading match normally: %s", err.Error()) } else { log.Printf( "Successfully loaded lineup for match %s from Nexus: %v", match.TbaMatchKey.String(), *lineup, ) loadedByNexus = true } } } if !loadedByNexus { err := arena.assignTeam(match.Red1, "R1") if err != nil { return err } err = arena.assignTeam(match.Red2, "R2") if err != nil { return err } err = arena.assignTeam(match.Red3, "R3") if err != nil { return err } err = arena.assignTeam(match.Blue1, "B1") if err != nil { return err } err = arena.assignTeam(match.Blue2, "B2") if err != nil { return err } err = arena.assignTeam(match.Blue3, "B3") if err != nil { return err } arena.setupNetwork( [6]*model.Team{ arena.AllianceStations["R1"].Team, arena.AllianceStations["R2"].Team, arena.AllianceStations["R3"].Team, arena.AllianceStations["B1"].Team, arena.AllianceStations["B2"].Team, arena.AllianceStations["B3"].Team, }, false, ) } // Reset the arena state and realtime scores. arena.soundsPlayed = make(map[*game.MatchSound]struct{}) arena.RedRealtimeScore = NewRealtimeScore() arena.BlueRealtimeScore = NewRealtimeScore() arena.ScoringPanelRegistry.resetScoreCommitted() arena.Plc.ResetMatch() arena.NextFoulId = 1 // Notify any listeners about the new match. arena.MatchLoadNotifier.Notify() arena.RealtimeScoreNotifier.Notify() arena.AllianceStationDisplayMode = "match" arena.AllianceStationDisplayModeNotifier.Notify() arena.ScoringStatusNotifier.Notify() return nil } // Sets a new test match containing no teams as the current match. func (arena *Arena) LoadTestMatch() error { return arena.LoadMatch(&model.Match{Type: model.Test, ShortName: "T", LongName: "Test Match"}) } // Loads the first unplayed match of the current match type. func (arena *Arena) LoadNextMatch(startScheduledBreak bool) error { nextMatch, err := arena.getNextMatch(false) if err != nil { return err } if nextMatch == nil { return arena.LoadTestMatch() } err = arena.LoadMatch(nextMatch) if err != nil { return err } // Start the timeout timer if there is a scheduled break before this match. if startScheduledBreak { scheduledBreak, err := arena.Database.GetScheduledBreakByMatchTypeOrder(nextMatch.Type, nextMatch.TypeOrder) if err != nil { return err } if scheduledBreak != nil { go func() { time.Sleep(time.Second * scheduledBreakDelaySec) _ = arena.StartTimeout(scheduledBreak.Description, scheduledBreak.DurationSec) }() } } return nil } // Assigns the given team to the given station, also substituting it into the match record. func (arena *Arena) SubstituteTeams(red1, red2, red3, blue1, blue2, blue3 int) error { if !arena.CurrentMatch.ShouldAllowSubstitution() { return fmt.Errorf("Can't substitute teams for qualification matches.") } if err := arena.validateTeams(red1, red2, red3, blue1, blue2, blue3); err != nil { return err } if err := arena.assignTeam(red1, "R1"); err != nil { return err } if err := arena.assignTeam(red2, "R2"); err != nil { return err } if err := arena.assignTeam(red3, "R3"); err != nil { return err } if err := arena.assignTeam(blue1, "B1"); err != nil { return err } if err := arena.assignTeam(blue2, "B2"); err != nil { return err } if err := arena.assignTeam(blue3, "B3"); err != nil { return err } arena.CurrentMatch.Red1 = red1 arena.CurrentMatch.Red2 = red2 arena.CurrentMatch.Red3 = red3 arena.CurrentMatch.Blue1 = blue1 arena.CurrentMatch.Blue2 = blue2 arena.CurrentMatch.Blue3 = blue3 arena.setupNetwork( [6]*model.Team{ arena.AllianceStations["R1"].Team, arena.AllianceStations["R2"].Team, arena.AllianceStations["R3"].Team, arena.AllianceStations["B1"].Team, arena.AllianceStations["B2"].Team, arena.AllianceStations["B3"].Team, }, false, ) arena.MatchLoadNotifier.Notify() if arena.CurrentMatch.Type != model.Test { arena.Database.UpdateMatch(arena.CurrentMatch) } return nil } // Starts the match if all conditions are met. func (arena *Arena) StartMatch() error { err := arena.checkCanStartMatch() if err == nil { // Save the match start time to the database for posterity. arena.CurrentMatch.StartedAt = time.Now() if arena.CurrentMatch.Type != model.Test { arena.Database.UpdateMatch(arena.CurrentMatch) } arena.updateCycleTime(arena.CurrentMatch.StartedAt) // Save the missed packet count to subtract it from the running count. for _, allianceStation := range arena.AllianceStations { if allianceStation.DsConn != nil { err = allianceStation.DsConn.signalMatchStart(arena.CurrentMatch, &allianceStation.WifiStatus) if err != nil { log.Println(err) } } // Save the teams that have successfully connected to the field. if allianceStation.Team != nil && !allianceStation.Team.HasConnected && allianceStation.DsConn != nil && allianceStation.DsConn.RobotLinked { allianceStation.Team.HasConnected = true arena.Database.UpdateTeam(allianceStation.Team) } } // Propagate which teams were bypassed to the tracked score. for i := 0; i < 3; i++ { stationNumber := strconv.Itoa(i + 1) arena.RedRealtimeScore.CurrentScore.RobotsBypassed[i] = arena.AllianceStations["R"+stationNumber].Bypass arena.BlueRealtimeScore.CurrentScore.RobotsBypassed[i] = arena.AllianceStations["B"+stationNumber].Bypass } arena.MatchState = StartMatch } return err } // Kills the current match or timeout if it is underway. func (arena *Arena) AbortMatch() error { if arena.MatchState == PreMatch || arena.MatchState == PostMatch || arena.MatchState == PostTimeout { return fmt.Errorf("cannot abort match when it is not in progress") } if arena.MatchState == TimeoutActive { // Handle by advancing the timeout clock to the end and letting the regular logic deal with it. arena.MatchStartTime = time.Now().Add(-time.Second * time.Duration(game.MatchTiming.TimeoutDurationSec)) return nil } if arena.MatchState != WarmupPeriod { arena.PlaySound("abort") } arena.MatchState = PostMatch arena.matchAborted = true arena.AudienceDisplayMode = "blank" arena.AudienceDisplayModeNotifier.Notify() go arena.BlackmagicClient.StopRecording() go arena.CompanionClient.SendEvent(partner.EventMatchAbort) return nil } // Clears out the match and resets the arena state unless there is a match underway. func (arena *Arena) ResetMatch() error { if arena.MatchState != PostMatch && arena.MatchState != PreMatch && arena.MatchState != TimeoutActive { return fmt.Errorf("cannot reset match while it is in progress") } if arena.MatchState != TimeoutActive { arena.MatchState = PreMatch } arena.matchAborted = false arena.AllianceStations["R1"].Bypass = false arena.AllianceStations["R2"].Bypass = false arena.AllianceStations["R3"].Bypass = false arena.AllianceStations["B1"].Bypass = false arena.AllianceStations["B2"].Bypass = false arena.AllianceStations["B3"].Bypass = false arena.MuteMatchSounds = false return nil } // Starts a timeout of the given duration. func (arena *Arena) StartTimeout(description string, durationSec int) error { if arena.MatchState != PreMatch { return fmt.Errorf("cannot start timeout while there is a match still in progress or with results pending") } game.MatchTiming.TimeoutDurationSec = durationSec game.UpdateMatchSounds() arena.soundsPlayed = make(map[*game.MatchSound]struct{}) arena.MatchTimingNotifier.Notify() arena.breakDescription = description arena.MatchLoadNotifier.Notify() arena.MatchState = TimeoutActive arena.MatchStartTime = time.Now() arena.LastMatchTimeSec = -1 arena.AllianceStationDisplayMode = "timeout" arena.AllianceStationDisplayModeNotifier.Notify() return nil } // Updates the audience display screen. func (arena *Arena) SetAudienceDisplayMode(mode string) { if arena.AudienceDisplayMode != mode { arena.AudienceDisplayMode = mode arena.AudienceDisplayModeNotifier.Notify() if mode == "score" { arena.PlaySound("match_result") go arena.CompanionClient.SendEvent(partner.EventShowFinalScore) } else if mode == "allianceSelection" { go arena.CompanionClient.SendEvent(partner.EventAllianceSelection) } else if mode == "intro" { go arena.CompanionClient.SendEvent(partner.EventMatchPreview) } else if mode == "match" { go arena.CompanionClient.SendEvent(partner.EventShowOverlay) } } } // Updates the alliance station display screen. func (arena *Arena) SetAllianceStationDisplayMode(mode string) { if arena.AllianceStationDisplayMode != mode { arena.AllianceStationDisplayMode = mode arena.AllianceStationDisplayModeNotifier.Notify() } } // Returns the fractional number of seconds since the start of the match. func (arena *Arena) MatchTimeSec() float64 { if arena.MatchState == PreMatch || arena.MatchState == StartMatch || arena.MatchState == PostMatch { return 0 } else { return time.Since(arena.MatchStartTime).Seconds() } } // Performs a single iteration of checking inputs and timers and setting outputs accordingly to control the // flow of a match. func (arena *Arena) Update() { // Decide what state the robots need to be in, depending on where we are in the match. auto := false enabled := false sendDsPacket := false matchTimeSec := arena.MatchTimeSec() switch arena.MatchState { case PreMatch: auto = true enabled = false // Set all game data values to empty for _, allianceStation := range arena.AllianceStations { allianceStation.GameData = "" } case StartMatch: arena.MatchStartTime = time.Now() arena.LastMatchTimeSec = -1 auto = true arena.AudienceDisplayMode = "match" arena.AudienceDisplayModeNotifier.Notify() arena.AllianceStationDisplayMode = "match" arena.AllianceStationDisplayModeNotifier.Notify() go arena.BlackmagicClient.StartRecording() go arena.CompanionClient.SendEvent(partner.EventMatchStart) if game.MatchTiming.WarmupDurationSec > 0 { arena.MatchState = WarmupPeriod enabled = false sendDsPacket = false } else { arena.MatchState = AutoPeriod enabled = true sendDsPacket = true } arena.Plc.ResetMatch() arena.FieldVolunteers = false arena.FieldReset = false case WarmupPeriod: auto = true enabled = false if matchTimeSec >= float64(game.MatchTiming.WarmupDurationSec) { arena.MatchState = AutoPeriod auto = true enabled = true sendDsPacket = true } case AutoPeriod: auto = true enabled = true if matchTimeSec >= game.GetDurationToAutoEnd().Seconds() { auto = false sendDsPacket = true if game.MatchTiming.PauseDurationSec > 0 { arena.MatchState = PausePeriod enabled = false } else { arena.MatchState = TeleopPeriod enabled = true go arena.CompanionClient.SendEvent(partner.EventTeleopStart) } } case PausePeriod: auto = false enabled = false if matchTimeSec >= game.GetDurationToTeleopStart().Seconds() { arena.MatchState = TeleopPeriod auto = false enabled = true sendDsPacket = true go arena.CompanionClient.SendEvent(partner.EventTeleopStart) } case TeleopPeriod: auto = false enabled = true if matchTimeSec >= game.GetDurationToTeleopEnd().Seconds() { arena.MatchState = PostMatch auto = false enabled = false sendDsPacket = true go arena.BlackmagicClient.StopRecording() go arena.CompanionClient.SendEvent(partner.EventMatchEnd) go func() { // Leave the scores on the screen briefly at the end of the match. time.Sleep(time.Second * matchEndScoreDwellSec) arena.AudienceDisplayMode = "blank" arena.AudienceDisplayModeNotifier.Notify() }() go func() { // Configure the network in advance for the next match after a delay. time.Sleep(time.Second * preLoadNextMatchDelaySec) arena.preLoadNextMatch() }() } case TimeoutActive: if matchTimeSec >= float64(game.MatchTiming.TimeoutDurationSec) { arena.MatchState = PostTimeout go func() { // Leave the timer on the screen briefly at the end of the timeout period. time.Sleep(time.Second * matchEndScoreDwellSec) arena.AudienceDisplayMode = "blank" arena.AudienceDisplayModeNotifier.Notify() arena.AllianceStationDisplayMode = "logo" arena.AllianceStationDisplayModeNotifier.Notify() }() } case PostTimeout: if matchTimeSec >= float64(game.MatchTiming.TimeoutDurationSec+postTimeoutSec) { arena.MatchState = PreMatch } } // Send a match tick notification if passing an integer second threshold or if the match state changed. if int(matchTimeSec) != int(arena.LastMatchTimeSec) || arena.MatchState != arena.lastMatchState { arena.MatchTimeNotifier.Notify() } // Send a packet if at a period transition point or if it's been long enough since the last one. msSinceLastDsPacket := int(time.Since(arena.lastDsPacketTime).Seconds() * 1000) if sendDsPacket || msSinceLastDsPacket >= dsPacketPeriodMs { if msSinceLastDsPacket >= dsPacketWarningMs && arena.lastDsPacketTime.After(time.Time{}) { log.Printf("Warning: Long time since last driver station packet: %dms", msSinceLastDsPacket) } arena.sendDsPacket(auto, enabled) arena.ArenaStatusNotifier.Notify() } // Handle the Companion EndGameStart event. arena.checkEndgameStart(matchTimeSec) arena.handleSounds(matchTimeSec) // Handle field sensors/lights/actuators. arena.handlePlcInputOutput() // Handle the team number / timer displays. arena.TeamSigns.Update(arena) arena.LastMatchTimeSec = matchTimeSec arena.lastMatchState = arena.MatchState } // Checks if the endgame warning period has started and triggers the Companion event if so. func (arena *Arena) checkEndgameStart(matchTimeSec float64) { // Only check during teleop period if arena.MatchState != TeleopPeriod { return } // Calculate the time when endgame warning should start endgameStartTime := float64( game.MatchTiming.AutoDurationSec + game.MatchTiming.PauseDurationSec + game.MatchTiming.TeleopDurationSec - game.MatchTiming.WarningRemainingDurationSec, ) // Check if we've crossed the endgame threshold and haven't already triggered it if matchTimeSec >= endgameStartTime && arena.LastMatchTimeSec < endgameStartTime { go arena.CompanionClient.SendEvent(partner.EventEndgameStart) } } // Loops indefinitely to track and update the arena components. func (arena *Arena) Run() { // Start other loops in goroutines. go arena.listenForDriverStations() go arena.listenForDsUdpPackets() go arena.accessPoint.Run() go arena.Plc.Run() for { loopStartTime := time.Now() arena.Update() if time.Since(loopStartTime).Milliseconds() > arenaLoopWarningMs { log.Printf("Warning: Arena loop iteration took a long time: %dms", time.Since(loopStartTime).Milliseconds()) } if time.Since(arena.lastPeriodicTaskTime).Seconds() >= periodicTaskPeriodSec { arena.lastPeriodicTaskTime = time.Now() go arena.runPeriodicTasks() } time.Sleep(time.Millisecond * arenaLoopPeriodMs) } } // Calculates the red alliance score summary for the given realtime snapshot. func (arena *Arena) RedScoreSummary() *game.ScoreSummary { return arena.RedRealtimeScore.CurrentScore.Summarize(&arena.BlueRealtimeScore.CurrentScore) } // Calculates the blue alliance score summary for the given realtime snapshot. func (arena *Arena) BlueScoreSummary() *game.ScoreSummary { return arena.BlueRealtimeScore.CurrentScore.Summarize(&arena.RedRealtimeScore.CurrentScore) } // Checks that the given teams are present in the database, allowing team ID 0 which indicates an empty spot. func (arena *Arena) validateTeams(teamIds ...int) error { for _, teamId := range teamIds { if teamId == 0 { continue } team, err := arena.Database.GetTeamById(teamId) if err != nil { return err } if team == nil { return fmt.Errorf("Team %d is not present at the event.", teamId) } } return nil } // Loads a team into an alliance station, cleaning up the previous team there if there is one. func (arena *Arena) assignTeam(teamId int, station string) error { // Reject invalid station values. if _, ok := arena.AllianceStations[station]; !ok { return fmt.Errorf("Invalid alliance station '%s'.", station) } // Force the A-stop to be reset by the new team if it is already pressed (if the PLC is enabled). arena.AllianceStations[station].aStopReset = !arena.Plc.IsEnabled() // Do nothing if the station is already assigned to the requested team. dsConn := arena.AllianceStations[station].DsConn if dsConn != nil && dsConn.TeamId == teamId { return nil } if dsConn != nil { dsConn.close() arena.AllianceStations[station].Team = nil arena.AllianceStations[station].DsConn = nil } // Leave the station empty if the team number is zero. if teamId == 0 { arena.AllianceStations[station].Team = nil return nil } // Load the team model. If it doesn't exist, enable anonymous operation. team, err := arena.Database.GetTeamById(teamId) if err != nil { return err } if team == nil { team = &model.Team{Id: teamId} } arena.AllianceStations[station].Team = team return nil } // Returns the next match of the same type that is currently loaded, or nil if there are no more matches. func (arena *Arena) getNextMatch(excludeCurrent bool) (*model.Match, error) { if arena.CurrentMatch.Type == model.Test { return nil, nil } matches, err := arena.Database.GetMatchesByType(arena.CurrentMatch.Type, false) if err != nil { return nil, err } for _, match := range matches { if !match.IsComplete() && !(excludeCurrent && match.Id == arena.CurrentMatch.Id) { return &match, nil } } // There are no matches left of the same type. return nil, nil } // Configures the field network for the next match in advance of the current match being scored and committed. func (arena *Arena) preLoadNextMatch() { if arena.MatchState != PostMatch { // The next match has already been loaded; no need to do anything. return } nextMatch, err := arena.getNextMatch(true) if err != nil { log.Printf("Failed to pre-load next match: %s", err.Error()) } if nextMatch == nil { return } teamIds := [6]int{nextMatch.Red1, nextMatch.Red2, nextMatch.Red3, nextMatch.Blue1, nextMatch.Blue2, nextMatch.Blue3} if nextMatch.ShouldAllowNexusSubstitution() && arena.EventSettings.NexusEnabled { // Attempt to get the match lineup from Nexus for FRC. lineup, err := arena.NexusClient.GetLineup(nextMatch.TbaMatchKey) if err != nil { log.Printf("Failed to load lineup from Nexus: %s", err.Error()) } else { teamIds = *lineup } } var teams [6]*model.Team for i, teamId := range teamIds { if teamId == 0 { continue } if teams[i], err = arena.Database.GetTeamById(teamId); err != nil { log.Printf("Failed to get model for Team %d while pre-loading next match: %s", teamId, err.Error()) } } arena.setupNetwork(teams, true) arena.TeamSigns.SetNextMatchTeams(teamIds) } // Enable or disable the team ethernet ports on both SCCs func (arena *Arena) setSCCEthernetEnabled(enabled bool) { if arena.EventSettings.SCCManagementEnabled { var wg sync.WaitGroup wg.Add(2) configureSCC := func(scc *network.SCCSwitch, name string) { defer wg.Done() err := scc.SetTeamEthernetEnabled(enabled) if err != nil { log.Printf("Failed to set %s SCC enabled state to %t: %s", name, enabled, err.Error()) } } go configureSCC(arena.redSCC, "red") go configureSCC(arena.blueSCC, "blue") wg.Wait() } } // Asynchronously reconfigures the networking hardware for the new set of teams. func (arena *Arena) setupNetwork(teams [6]*model.Team, isPreload bool) { if isPreload { arena.preloadedTeams = &teams } else if arena.preloadedTeams != nil { preloadedTeams := *arena.preloadedTeams arena.preloadedTeams = nil if reflect.DeepEqual(teams, preloadedTeams) { // Skip configuring the network; this is the same set of teams that was preloaded. return } } if arena.EventSettings.NetworkSecurityEnabled { if err := arena.accessPoint.ConfigureTeamWifi(teams); err != nil { log.Printf("Failed to configure team WiFi: %s", err.Error()) } go func() { arena.setSCCEthernetEnabled(false) if err := arena.networkSwitch.ConfigureTeamEthernet(teams); err != nil { log.Printf("Failed to configure team Ethernet: %s", err.Error()) } arena.setSCCEthernetEnabled(true) }() } } // Returns nil if the match can be started, and an error otherwise. func (arena *Arena) checkCanStartMatch() error { if arena.MatchState != PreMatch { return fmt.Errorf("cannot start match while there is a match still in progress or with results pending") } err := arena.checkAllianceStationsReady("R1", "R2", "R3", "B1", "B2", "B3") if err != nil { return err } if arena.Plc.IsEnabled() { if !arena.Plc.IsHealthy() { return fmt.Errorf("cannot start match while PLC is not healthy") } if arena.Plc.GetFieldEStop() { return fmt.Errorf("cannot start match while field emergency stop is active") } for name, status := range arena.Plc.GetArmorBlockStatuses() { if !status { return fmt.Errorf("cannot start match while PLC ArmorBlock %q is not connected", name) } } } return nil } func (arena *Arena) checkAllianceStationsReady(stations ...string) error { for _, station := range stations { allianceStation := arena.AllianceStations[station] if allianceStation.EStop { return fmt.Errorf("cannot start match while an emergency stop is active") } if !allianceStation.aStopReset { return fmt.Errorf("cannot start match if an autonomous stop has not been reset since the previous match") } if !allianceStation.Bypass { if allianceStation.DsConn == nil || !allianceStation.DsConn.RobotLinked { return fmt.Errorf("cannot start match until all robots are connected or bypassed") } } } return nil } func (arena *Arena) sendDsPacket(auto bool, enabled bool) { for _, allianceStation := range arena.AllianceStations { dsConn := allianceStation.DsConn if dsConn != nil { dsConn.Auto = auto dsConn.Enabled = enabled && !allianceStation.EStop && !(auto && allianceStation.AStop) && !allianceStation.Bypass dsConn.EStop = allianceStation.EStop dsConn.AStop = allianceStation.AStop err := dsConn.update(arena, allianceStation.GameData) if err != nil { log.Printf("Unable to send driver station packet for team %d.", allianceStation.Team.Id) } } } arena.lastDsPacketTime = time.Now() } // Returns the alliance station identifier for the given team, or the empty string if the team is not present // in the current match. func (arena *Arena) getAssignedAllianceStation(teamId int) string { for station, allianceStation := range arena.AllianceStations { if allianceStation.Team != nil && allianceStation.Team.Id == teamId { return station } } return "" } // Updates the score given new input information from the field PLC, and actuates PLC outputs accordingly. func (arena *Arena) handlePlcInputOutput() { if !arena.Plc.IsEnabled() { return } // Handle PLC functions that are always active. if arena.Plc.GetFieldEStop() && !arena.matchAborted { arena.AbortMatch() } redEStops, blueEStops := arena.Plc.GetTeamEStops() redAStops, blueAStops := arena.Plc.GetTeamAStops() arena.handleTeamStop("R1", redEStops[0], redAStops[0]) arena.handleTeamStop("R2", redEStops[1], redAStops[1]) arena.handleTeamStop("R3", redEStops[2], redAStops[2]) arena.handleTeamStop("B1", blueEStops[0], blueAStops[0]) arena.handleTeamStop("B2", blueEStops[1], blueAStops[1]) arena.handleTeamStop("B3", blueEStops[2], blueAStops[2]) redEthernets, blueEthernets := arena.Plc.GetEthernetConnected() arena.AllianceStations["R1"].Ethernet = redEthernets[0] arena.AllianceStations["R2"].Ethernet = redEthernets[1] arena.AllianceStations["R3"].Ethernet = redEthernets[2] arena.AllianceStations["B1"].Ethernet = blueEthernets[0] arena.AllianceStations["B2"].Ethernet = blueEthernets[1] arena.AllianceStations["B3"].Ethernet = blueEthernets[2] // Handle in-match PLC functions. redScore := &arena.RedRealtimeScore.CurrentScore oldRedScore := *redScore blueScore := &arena.BlueRealtimeScore.CurrentScore oldBlueScore := *blueScore matchStartTime := arena.MatchStartTime currentTime := time.Now() teleopGracePeriod := matchStartTime.Add(game.GetDurationToTeleopEnd() + game.TeleopGracePeriodSec*time.Second) inGracePeriod := arena.MatchState == PostMatch && currentTime.Before(teleopGracePeriod) && !arena.matchAborted redAllianceReady := arena.checkAllianceStationsReady("R1", "R2", "R3") == nil blueAllianceReady := arena.checkAllianceStationsReady("B1", "B2", "B3") == nil // Handle the evergreen PLC functions: stack lights, stack buzzer, and field reset light. switch arena.MatchState { case PreMatch: if arena.lastMatchState != PreMatch { arena.Plc.SetFieldResetLight(true) } fallthrough case TimeoutActive: fallthrough case PostTimeout: // Set the stack light state -- solid alliance color(s) if robots are not connected, solid orange if scores are // not input, or blinking green if ready. greenStackLight := redAllianceReady && blueAllianceReady && arena.Plc.GetCycleState(2, 0, 2) arena.Plc.SetStackLights(!redAllianceReady, !blueAllianceReady, false, greenStackLight) arena.Plc.SetStackBuzzer(redAllianceReady && blueAllianceReady) // Turn off lights if all teams become ready. if redAllianceReady && blueAllianceReady { arena.FieldVolunteers = false arena.FieldReset = false arena.Plc.SetFieldResetLight(false) if arena.CurrentMatch.FieldReadyAt.IsZero() { arena.CurrentMatch.FieldReadyAt = time.Now() } } case PostMatch: if arena.FieldReset { arena.Plc.SetFieldResetLight(true) } scoreReady := arena.RedRealtimeScore.FoulsCommitted && arena.BlueRealtimeScore.FoulsCommitted && arena.positionPostMatchScoreReady("red_near") && arena.positionPostMatchScoreReady("red_far") && arena.positionPostMatchScoreReady("blue_near") && arena.positionPostMatchScoreReady("blue_far") arena.Plc.SetStackLights(false, false, !scoreReady, false) case AutoPeriod, PausePeriod, TeleopPeriod: arena.Plc.SetStackBuzzer(false) arena.Plc.SetStackLights(!redAllianceReady, !blueAllianceReady, false, true) } // Get all the game-specific inputs and update the score. if arena.MatchState == AutoPeriod || arena.MatchState == PausePeriod || arena.MatchState == TeleopPeriod || inGracePeriod { redScore.ProcessorAlgae, blueScore.ProcessorAlgae = arena.Plc.GetProcessorCounts() } if !oldRedScore.Equals(redScore) || !oldBlueScore.Equals(blueScore) { arena.RealtimeScoreNotifier.Notify() } // Handle the truss lights. if arena.MatchState == AutoPeriod || arena.MatchState == PausePeriod || arena.MatchState == TeleopPeriod { warningSequenceActive, lights := trussLightWarningSequence(arena.MatchTimeSec()) if warningSequenceActive { arena.Plc.SetTrussLights(lights, lights) } else { if !game.CoralBonusCoopEnabled || arena.CurrentMatch.Type == model.Playoff { // Just leave the lights on all match if co-op is not enabled for this match (or event). arena.Plc.SetTrussLights([3]bool{true, true, true}, [3]bool{true, true, true}) } else { // Set the lights to reflect co-op status. if arena.RedScoreSummary().CoopertitionBonus && arena.BlueScoreSummary().CoopertitionBonus { arena.Plc.SetTrussLights([3]bool{true, true, true}, [3]bool{true, true, true}) } else { arena.Plc.SetTrussLights( [3]bool{ arena.RedRealtimeScore.CurrentScore.ProcessorAlgae >= 1, arena.RedRealtimeScore.CurrentScore.ProcessorAlgae >= 2, false, }, [3]bool{ arena.BlueRealtimeScore.CurrentScore.ProcessorAlgae >= 1, arena.BlueRealtimeScore.CurrentScore.ProcessorAlgae >= 2, false, }, ) } } } } else { arena.Plc.SetTrussLights( [3]bool{inGracePeriod, inGracePeriod, inGracePeriod}, [3]bool{inGracePeriod, inGracePeriod, inGracePeriod}, ) } } func (arena *Arena) handleTeamStop(station string, eStopState, aStopState bool) { allianceStation := arena.AllianceStations[station] if eStopState { allianceStation.EStop = true } else if arena.MatchTimeSec() == 0 { // Keep the E-stop latched until the match is over. allianceStation.EStop = false } if aStopState { allianceStation.AStop = true } else if arena.MatchState != AutoPeriod { // Keep the A-stop latched until the autonomous period is over. allianceStation.AStop = false allianceStation.aStopReset = true } } func (arena *Arena) handleSounds(matchTimeSec float64) { if arena.MatchState == PreMatch || arena.MatchState == TimeoutActive || arena.MatchState == PostTimeout { // Only apply this logic during a match. return } for _, sound := range game.MatchSounds { if sound.MatchTimeSec < 0 { // Skip sounds with negative timestamps; they are meant to only be triggered explicitly. continue } if _, ok := arena.soundsPlayed[sound]; !ok { if matchTimeSec >= sound.MatchTimeSec && matchTimeSec-sound.MatchTimeSec < 1 { arena.PlaySound(sound.Name) arena.soundsPlayed[sound] = struct{}{} } } } } func (arena *Arena) PlaySound(name string) { if !arena.MuteMatchSounds { arena.PlaySoundNotifier.NotifyWithMessage(name) } } func (arena *Arena) positionPostMatchScoreReady(position string) bool { numPanels := arena.ScoringPanelRegistry.GetNumPanels(position) return numPanels > 0 && arena.ScoringPanelRegistry.GetNumScoreCommitted(position) >= numPanels } // Performs any actions that need to run at the interval specified by periodicTaskPeriodSec. func (arena *Arena) runPeriodicTasks() { arena.updateEarlyLateMessage() arena.purgeDisconnectedDisplays() } // trussLightWarningSequence generates the sequence of truss light states during the "sonar ping" warning sound. It // returns true if the sequence is active, and an array of booleans indicating the state of each truss light. func trussLightWarningSequence(matchTimeSec float64) (bool, [3]bool) { stepTimeSec := 0.2 sequence := []int{1, 2, 3, 2, 1, 2, 3, 0, 0, 1, 2, 3, 2, 1, 2, 3, 0, 0} startTime := float64( game.MatchTiming.WarmupDurationSec + game.MatchTiming.AutoDurationSec + game.MatchTiming.PauseDurationSec + game.MatchTiming.TeleopDurationSec - game.MatchTiming.WarningRemainingDurationSec, ) lights := [3]bool{false, false, false} if matchTimeSec < startTime { // The sequence is not active yet. return false, lights } step := int((matchTimeSec - startTime) / stepTimeSec) if step < len(sequence) && sequence[step] > 0 { lights[sequence[step]-1] = true } return step < len(sequence), lights } ================================================ FILE: field/arena_notifiers.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Contains configuration of the publish-subscribe notifiers that allow the arena to push updates to websocket clients. package field import ( "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/playoff" "github.com/Team254/cheesy-arena/websocket" "strconv" ) type ArenaNotifiers struct { AllianceSelectionNotifier *websocket.Notifier AllianceStationDisplayModeNotifier *websocket.Notifier ArenaStatusNotifier *websocket.Notifier AudienceDisplayModeNotifier *websocket.Notifier DisplayConfigurationNotifier *websocket.Notifier EventStatusNotifier *websocket.Notifier LowerThirdNotifier *websocket.Notifier MatchLoadNotifier *websocket.Notifier MatchTimeNotifier *websocket.Notifier MatchTimingNotifier *websocket.Notifier PlaySoundNotifier *websocket.Notifier RealtimeScoreNotifier *websocket.Notifier ReloadDisplaysNotifier *websocket.Notifier ScorePostedNotifier *websocket.Notifier ScoringStatusNotifier *websocket.Notifier } type MatchTimeMessage struct { MatchState MatchTimeSec int } type audienceAllianceScoreFields struct { Score *game.Score ScoreSummary *game.ScoreSummary } // Instantiates notifiers and configures their message producing methods. func (arena *Arena) configureNotifiers() { arena.AllianceSelectionNotifier = websocket.NewNotifier("allianceSelection", arena.generateAllianceSelectionMessage) arena.AllianceStationDisplayModeNotifier = websocket.NewNotifier( "allianceStationDisplayMode", arena.generateAllianceStationDisplayModeMessage, ) arena.ArenaStatusNotifier = websocket.NewNotifier("arenaStatus", arena.generateArenaStatusMessage) arena.AudienceDisplayModeNotifier = websocket.NewNotifier( "audienceDisplayMode", arena.generateAudienceDisplayModeMessage, ) arena.DisplayConfigurationNotifier = websocket.NewNotifier( "displayConfiguration", arena.generateDisplayConfigurationMessage, ) arena.EventStatusNotifier = websocket.NewNotifier("eventStatus", arena.generateEventStatusMessage) arena.LowerThirdNotifier = websocket.NewNotifier("lowerThird", arena.generateLowerThirdMessage) arena.MatchLoadNotifier = websocket.NewNotifier("matchLoad", arena.GenerateMatchLoadMessage) arena.MatchTimeNotifier = websocket.NewNotifier("matchTime", arena.generateMatchTimeMessage) arena.MatchTimingNotifier = websocket.NewNotifier("matchTiming", arena.generateMatchTimingMessage) arena.PlaySoundNotifier = websocket.NewNotifier("playSound", nil) arena.RealtimeScoreNotifier = websocket.NewNotifier("realtimeScore", arena.generateRealtimeScoreMessage) arena.ReloadDisplaysNotifier = websocket.NewNotifier("reload", nil) arena.ScorePostedNotifier = websocket.NewNotifier("scorePosted", arena.GenerateScorePostedMessage) arena.ScoringStatusNotifier = websocket.NewNotifier("scoringStatus", arena.generateScoringStatusMessage) } func (arena *Arena) generateAllianceSelectionMessage() any { return &struct { Alliances []model.Alliance ShowTimer bool TimeRemainingSec int RankedTeams []model.AllianceSelectionRankedTeam }{ arena.AllianceSelectionAlliances, arena.AllianceSelectionShowTimer, arena.AllianceSelectionTimeRemainingSec, arena.AllianceSelectionRankedTeams, } } func (arena *Arena) generateAllianceStationDisplayModeMessage() any { return arena.AllianceStationDisplayMode } func (arena *Arena) generateArenaStatusMessage() any { return &struct { MatchId int AllianceStations map[string]*AllianceStation MatchState CanStartMatch bool AccessPointStatus string SwitchStatus string RedSCCStatus string BlueSCCStatus string PlcIsHealthy bool FieldEStop bool PlcArmorBlockStatuses map[string]bool }{ arena.CurrentMatch.Id, arena.AllianceStations, arena.MatchState, arena.checkCanStartMatch() == nil, arena.accessPoint.Status, arena.networkSwitch.Status, arena.redSCC.Status, arena.blueSCC.Status, arena.Plc.IsHealthy(), arena.Plc.GetFieldEStop(), arena.Plc.GetArmorBlockStatuses(), } } func (arena *Arena) generateAudienceDisplayModeMessage() any { return arena.AudienceDisplayMode } func (arena *Arena) generateDisplayConfigurationMessage() any { // Notify() for this notifier must always called from a method that has a lock on the display mutex. // Make a copy of the map to avoid potential data races; otherwise the same map would get iterated through as it is // serialized to JSON, outside the mutex lock. displaysCopy := make(map[string]Display) for displayId, display := range arena.Displays { displaysCopy[displayId] = *display } return displaysCopy } func (arena *Arena) generateEventStatusMessage() any { return arena.EventStatus } func (arena *Arena) generateLowerThirdMessage() any { return &struct { LowerThird *model.LowerThird ShowLowerThird bool }{arena.LowerThird, arena.ShowLowerThird} } func (arena *Arena) GenerateMatchLoadMessage() any { teams := make(map[string]*model.Team) var allTeamIds []int for station, allianceStation := range arena.AllianceStations { teams[station] = allianceStation.Team if allianceStation.Team != nil { allTeamIds = append(allTeamIds, allianceStation.Team.Id) } } matchResult, _ := arena.Database.GetMatchResultForMatch(arena.CurrentMatch.Id) isReplay := matchResult != nil var matchup *playoff.Matchup redOffFieldTeams := []*model.Team{} blueOffFieldTeams := []*model.Team{} if arena.CurrentMatch.Type == model.Playoff { matchGroup := arena.PlayoffTournament.MatchGroups()[arena.CurrentMatch.PlayoffMatchGroupId] matchup, _ = matchGroup.(*playoff.Matchup) redOffFieldTeamIds, blueOffFieldTeamIds, _ := arena.Database.GetOffFieldTeamIds(arena.CurrentMatch) for _, teamId := range redOffFieldTeamIds { team, _ := arena.Database.GetTeamById(teamId) redOffFieldTeams = append(redOffFieldTeams, team) allTeamIds = append(allTeamIds, teamId) } for _, teamId := range blueOffFieldTeamIds { team, _ := arena.Database.GetTeamById(teamId) blueOffFieldTeams = append(blueOffFieldTeams, team) allTeamIds = append(allTeamIds, teamId) } } rankings := make(map[string]int) for _, teamId := range allTeamIds { ranking, _ := arena.Database.GetRankingForTeam(teamId) if ranking != nil { rankings[strconv.Itoa(teamId)] = ranking.Rank } } return &struct { Match *model.Match AllowSubstitution bool IsReplay bool Teams map[string]*model.Team Rankings map[string]int Matchup *playoff.Matchup RedOffFieldTeams []*model.Team BlueOffFieldTeams []*model.Team BreakDescription string }{ arena.CurrentMatch, arena.CurrentMatch.ShouldAllowSubstitution(), isReplay, teams, rankings, matchup, redOffFieldTeams, blueOffFieldTeams, arena.breakDescription, } } func (arena *Arena) generateMatchTimeMessage() any { return MatchTimeMessage{arena.MatchState, int(arena.MatchTimeSec())} } func (arena *Arena) generateMatchTimingMessage() any { return &game.MatchTiming } func (arena *Arena) generateRealtimeScoreMessage() any { fields := struct { Red *audienceAllianceScoreFields Blue *audienceAllianceScoreFields RedCards map[string]string BlueCards map[string]string MatchState }{ getAudienceAllianceScoreFields(arena.RedRealtimeScore, arena.RedScoreSummary()), getAudienceAllianceScoreFields(arena.BlueRealtimeScore, arena.BlueScoreSummary()), arena.RedRealtimeScore.Cards, arena.BlueRealtimeScore.Cards, arena.MatchState, } return &fields } func (arena *Arena) GenerateScorePostedMessage() any { redScoreSummary := arena.SavedMatchResult.RedScoreSummary() blueScoreSummary := arena.SavedMatchResult.BlueScoreSummary() redRankingPoints := redScoreSummary.BonusRankingPoints blueRankingPoints := blueScoreSummary.BonusRankingPoints switch arena.SavedMatch.Status { case game.RedWonMatch: redRankingPoints += 3 case game.BlueWonMatch: blueRankingPoints += 3 case game.TieMatch: redRankingPoints++ blueRankingPoints++ } // For playoff matches, summarize the state of the series. var redWins, blueWins int var redDestination, blueDestination string redOffFieldTeamIds := []int{} blueOffFieldTeamIds := []int{} if arena.SavedMatch.Type == model.Playoff { matchGroup := arena.PlayoffTournament.MatchGroups()[arena.SavedMatch.PlayoffMatchGroupId] if matchup, ok := matchGroup.(*playoff.Matchup); ok { redWins = matchup.RedAllianceWins blueWins = matchup.BlueAllianceWins redDestination = matchup.RedAllianceDestination() blueDestination = matchup.BlueAllianceDestination() } redOffFieldTeamIds, blueOffFieldTeamIds, _ = arena.Database.GetOffFieldTeamIds(arena.SavedMatch) } redRankings := map[int]*game.Ranking{ arena.SavedMatch.Red1: nil, arena.SavedMatch.Red2: nil, arena.SavedMatch.Red3: nil, } blueRankings := map[int]*game.Ranking{ arena.SavedMatch.Blue1: nil, arena.SavedMatch.Blue2: nil, arena.SavedMatch.Blue3: nil, } for index, ranking := range arena.SavedRankings { if _, ok := redRankings[ranking.TeamId]; ok { redRankings[ranking.TeamId] = &arena.SavedRankings[index] } if _, ok := blueRankings[ranking.TeamId]; ok { blueRankings[ranking.TeamId] = &arena.SavedRankings[index] } } return &struct { Match *model.Match RedScoreSummary *game.ScoreSummary BlueScoreSummary *game.ScoreSummary RedRankingPoints int BlueRankingPoints int RedFouls []game.Foul BlueFouls []game.Foul RulesViolated map[int]*game.Rule RedCards map[string]string BlueCards map[string]string RedRankings map[int]*game.Ranking BlueRankings map[int]*game.Ranking RedOffFieldTeamIds []int BlueOffFieldTeamIds []int RedWon bool BlueWon bool RedWins int BlueWins int RedDestination string BlueDestination string CoopertitionEnabled bool }{ arena.SavedMatch, redScoreSummary, blueScoreSummary, redRankingPoints, blueRankingPoints, arena.SavedMatchResult.RedScore.Fouls, arena.SavedMatchResult.BlueScore.Fouls, getRulesViolated(arena.SavedMatchResult.RedScore.Fouls, arena.SavedMatchResult.BlueScore.Fouls), arena.SavedMatchResult.RedCards, arena.SavedMatchResult.BlueCards, redRankings, blueRankings, redOffFieldTeamIds, blueOffFieldTeamIds, arena.SavedMatch.Status == game.RedWonMatch, arena.SavedMatch.Status == game.BlueWonMatch, redWins, blueWins, redDestination, blueDestination, game.CoralBonusCoopEnabled, } } func (arena *Arena) generateScoringStatusMessage() any { type positionStatus struct { Ready bool NumPanels int NumPanelsReady int } getStatusForPosition := func(position string) positionStatus { return positionStatus{ Ready: arena.positionPostMatchScoreReady(position), NumPanels: arena.ScoringPanelRegistry.GetNumPanels(position), NumPanelsReady: arena.GetNumScoreCommitted(position), } } return &struct { RefereeScoreReady bool PositionStatuses map[string]positionStatus }{ arena.RedRealtimeScore.FoulsCommitted && arena.BlueRealtimeScore.FoulsCommitted, map[string]positionStatus{ "red_near": getStatusForPosition("red_near"), "red_far": getStatusForPosition("red_far"), "blue_near": getStatusForPosition("blue_near"), "blue_far": getStatusForPosition("blue_far"), }, } } // Constructs the data object for one alliance sent to the audience display for the realtime scoring overlay. func getAudienceAllianceScoreFields( allianceScore *RealtimeScore, allianceScoreSummary *game.ScoreSummary, ) *audienceAllianceScoreFields { fields := new(audienceAllianceScoreFields) fields.Score = &allianceScore.CurrentScore fields.ScoreSummary = allianceScoreSummary return fields } // Produce a map of rules that were violated by either alliance so that they are available to the announcer. func getRulesViolated(redFouls, blueFouls []game.Foul) map[int]*game.Rule { rules := make(map[int]*game.Rule) for _, foul := range redFouls { rules[foul.RuleId] = game.GetRuleById(foul.RuleId) } for _, foul := range blueFouls { rules[foul.RuleId] = game.GetRuleById(foul.RuleId) } return rules } ================================================ FILE: field/arena_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package field import ( "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/partner" "github.com/Team254/cheesy-arena/playoff" "github.com/Team254/cheesy-arena/tournament" "github.com/Team254/cheesy-arena/websocket" "github.com/stretchr/testify/assert" "net/http" "net/http/httptest" "strconv" "strings" "testing" "time" ) func TestAssignTeam(t *testing.T) { arena := setupTestArena(t) team := model.Team{Id: 254} err := arena.Database.CreateTeam(&team) assert.Nil(t, err) err = arena.Database.CreateTeam(&model.Team{Id: 1114}) assert.Nil(t, err) err = arena.assignTeam(254, "B1") assert.Nil(t, err) assert.Equal(t, team, *arena.AllianceStations["B1"].Team) dummyDs := &DriverStationConnection{TeamId: 254} arena.AllianceStations["B1"].DsConn = dummyDs // Nothing should happen if the same team is assigned to the same station. err = arena.assignTeam(254, "B1") assert.Nil(t, err) assert.Equal(t, team, *arena.AllianceStations["B1"].Team) assert.NotNil(t, arena.AllianceStations["B1"]) assert.Equal(t, dummyDs, arena.AllianceStations["B1"].DsConn) // Pointer equality // Test reassignment to another team. err = arena.assignTeam(1114, "B1") assert.Nil(t, err) assert.NotEqual(t, team, *arena.AllianceStations["B1"].Team) assert.Nil(t, arena.AllianceStations["B1"].DsConn) // Check assigning zero as the team number. err = arena.assignTeam(0, "R2") assert.Nil(t, err) assert.Nil(t, arena.AllianceStations["R2"].Team) assert.Nil(t, arena.AllianceStations["R2"].DsConn) // Check assigning to a non-existent station. err = arena.assignTeam(254, "R4") if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "Invalid alliance station") } } func TestArenaCheckCanStartMatch(t *testing.T) { arena := setupTestArena(t) // Check robot state constraints. err := arena.checkCanStartMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot start match until all robots are connected or bypassed") } arena.AllianceStations["R1"].Bypass = true arena.AllianceStations["R2"].Bypass = true arena.AllianceStations["R3"].Bypass = true arena.AllianceStations["B1"].Bypass = true arena.AllianceStations["B2"].Bypass = true err = arena.checkCanStartMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot start match until all robots are connected or bypassed") } arena.AllianceStations["B3"].Bypass = true assert.Nil(t, arena.checkCanStartMatch()) // Check PLC constraints. arena.Plc.SetAddress("1.2.3.4") err = arena.checkCanStartMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot start match while PLC is not healthy") } arena.Plc.SetAddress("") assert.Nil(t, arena.checkCanStartMatch()) } func TestArenaMatchFlow(t *testing.T) { arena := setupTestArena(t) arena.Database.CreateTeam(&model.Team{Id: 254}) assert.Nil(t, arena.assignTeam(254, "B3")) dummyDs := &DriverStationConnection{TeamId: 254} arena.AllianceStations["B3"].DsConn = dummyDs arena.Database.CreateTeam(&model.Team{Id: 1678}) assert.Nil(t, arena.assignTeam(254, "R2")) dummyDs = &DriverStationConnection{TeamId: 1678} arena.AllianceStations["R2"].DsConn = dummyDs // Check pre-match state and packet timing. assert.Equal(t, PreMatch, arena.MatchState) arena.lastDsPacketTime = arena.lastDsPacketTime.Add(-300 * time.Millisecond) arena.Update() assert.Equal(t, true, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Enabled) lastPacketCount := arena.AllianceStations["B3"].DsConn.packetCount arena.lastDsPacketTime = arena.lastDsPacketTime.Add(-10 * time.Millisecond) arena.Update() assert.Equal(t, lastPacketCount, arena.AllianceStations["B3"].DsConn.packetCount) arena.lastDsPacketTime = arena.lastDsPacketTime.Add(-550 * time.Millisecond) arena.Update() assert.Equal(t, lastPacketCount+1, arena.AllianceStations["B3"].DsConn.packetCount) // Check match start, autonomous and transition to teleop. arena.AllianceStations["R1"].Bypass = true arena.AllianceStations["R2"].DsConn.RobotLinked = true arena.AllianceStations["R3"].Bypass = true arena.AllianceStations["B1"].Bypass = true arena.AllianceStations["B2"].Bypass = true arena.AllianceStations["B3"].DsConn.RobotLinked = true assert.Nil(t, arena.StartMatch()) arena.Update() assert.Equal(t, WarmupPeriod, arena.MatchState) assert.Equal(t, true, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Enabled) assert.Equal(t, true, arena.RedRealtimeScore.CurrentScore.RobotsBypassed[0]) assert.Equal(t, false, arena.RedRealtimeScore.CurrentScore.RobotsBypassed[1]) assert.Equal(t, true, arena.RedRealtimeScore.CurrentScore.RobotsBypassed[2]) assert.Equal(t, true, arena.BlueRealtimeScore.CurrentScore.RobotsBypassed[0]) assert.Equal(t, true, arena.BlueRealtimeScore.CurrentScore.RobotsBypassed[1]) assert.Equal(t, false, arena.BlueRealtimeScore.CurrentScore.RobotsBypassed[2]) arena.Update() assert.Equal(t, WarmupPeriod, arena.MatchState) assert.Equal(t, true, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Enabled) arena.MatchStartTime = time.Now().Add(-time.Duration(game.MatchTiming.WarmupDurationSec) * time.Second) arena.Update() assert.Equal(t, AutoPeriod, arena.MatchState) assert.Equal(t, true, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, true, arena.AllianceStations["B3"].DsConn.Enabled) arena.Update() assert.Equal(t, AutoPeriod, arena.MatchState) assert.Equal(t, true, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, true, arena.AllianceStations["B3"].DsConn.Enabled) arena.MatchStartTime = time.Now().Add( -time.Duration(game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec) * time.Second, ) arena.Update() assert.Equal(t, PausePeriod, arena.MatchState) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Enabled) arena.Update() assert.Equal(t, PausePeriod, arena.MatchState) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Enabled) arena.MatchStartTime = time.Now().Add( -time.Duration( game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+game.MatchTiming.PauseDurationSec, ) * time.Second, ) arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, true, arena.AllianceStations["B3"].DsConn.Enabled) arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, true, arena.AllianceStations["B3"].DsConn.Enabled) // Check E-stop and bypass. arena.AllianceStations["B3"].EStop = true arena.lastDsPacketTime = arena.lastDsPacketTime.Add(-550 * time.Millisecond) arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Enabled) arena.AllianceStations["B3"].Bypass = true arena.lastDsPacketTime = arena.lastDsPacketTime.Add(-550 * time.Millisecond) arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Enabled) arena.AllianceStations["B3"].EStop = false arena.lastDsPacketTime = arena.lastDsPacketTime.Add(-550 * time.Millisecond) arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Enabled) arena.AllianceStations["B3"].Bypass = false arena.lastDsPacketTime = arena.lastDsPacketTime.Add(-550 * time.Millisecond) arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, true, arena.AllianceStations["B3"].DsConn.Enabled) // Check match end. arena.MatchStartTime = time.Now().Add( -time.Duration( game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+game.MatchTiming.PauseDurationSec+ game.MatchTiming.TeleopDurationSec, ) * time.Second, ) arena.Update() assert.Equal(t, PostMatch, arena.MatchState) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Enabled) arena.Update() assert.Equal(t, PostMatch, arena.MatchState) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Enabled) arena.AllianceStations["R1"].Bypass = true arena.ResetMatch() arena.lastDsPacketTime = arena.lastDsPacketTime.Add(-550 * time.Millisecond) arena.Update() assert.Equal(t, PreMatch, arena.MatchState) assert.Equal(t, true, arena.AllianceStations["B3"].DsConn.Auto) assert.Equal(t, false, arena.AllianceStations["B3"].DsConn.Enabled) assert.Equal(t, false, arena.AllianceStations["R1"].Bypass) } func TestArenaStateEnforcement(t *testing.T) { arena := setupTestArena(t) arena.AllianceStations["R1"].Bypass = true arena.AllianceStations["R2"].Bypass = true arena.AllianceStations["R3"].Bypass = true arena.AllianceStations["B1"].Bypass = true arena.AllianceStations["B2"].Bypass = true arena.AllianceStations["B3"].Bypass = true err := arena.LoadMatch(new(model.Match)) assert.Nil(t, err) err = arena.AbortMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot abort match when") } err = arena.StartMatch() assert.Nil(t, err) err = arena.LoadMatch(new(model.Match)) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot load match while") } err = arena.StartMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot start match while") } err = arena.ResetMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot reset match while") } arena.MatchState = AutoPeriod err = arena.LoadMatch(new(model.Match)) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot load match while") } err = arena.StartMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot start match while") } err = arena.ResetMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot reset match while") } arena.MatchState = PausePeriod err = arena.LoadMatch(new(model.Match)) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot load match while") } err = arena.StartMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot start match while") } err = arena.ResetMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot reset match while") } arena.MatchState = TeleopPeriod err = arena.LoadMatch(new(model.Match)) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot load match while") } err = arena.StartMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot start match while") } err = arena.ResetMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot reset match while") } arena.MatchState = PostMatch err = arena.LoadMatch(new(model.Match)) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot load match while") } err = arena.StartMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot start match while") } err = arena.AbortMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "cannot abort match when") } err = arena.ResetMatch() assert.Nil(t, err) assert.Equal(t, PreMatch, arena.MatchState) err = arena.ResetMatch() assert.Nil(t, err) err = arena.LoadMatch(new(model.Match)) assert.Nil(t, err) } func TestMatchStartRobotLinkEnforcement(t *testing.T) { arena := setupTestArena(t) arena.Database.CreateTeam(&model.Team{Id: 101}) arena.Database.CreateTeam(&model.Team{Id: 102}) arena.Database.CreateTeam(&model.Team{Id: 103}) arena.Database.CreateTeam(&model.Team{Id: 104}) arena.Database.CreateTeam(&model.Team{Id: 105}) arena.Database.CreateTeam(&model.Team{Id: 106}) match := model.Match{Red1: 101, Red2: 102, Red3: 103, Blue1: 104, Blue2: 105, Blue3: 106} arena.Database.CreateMatch(&match) err := arena.LoadMatch(&match) assert.Nil(t, err) arena.AllianceStations["R1"].DsConn = &DriverStationConnection{TeamId: 101} arena.AllianceStations["R2"].DsConn = &DriverStationConnection{TeamId: 102} arena.AllianceStations["R3"].DsConn = &DriverStationConnection{TeamId: 103} arena.AllianceStations["B1"].DsConn = &DriverStationConnection{TeamId: 104} arena.AllianceStations["B2"].DsConn = &DriverStationConnection{TeamId: 105} arena.AllianceStations["B3"].DsConn = &DriverStationConnection{TeamId: 106} for _, station := range arena.AllianceStations { station.DsConn.RobotLinked = true } err = arena.StartMatch() assert.Nil(t, err) arena.MatchState = PreMatch // Check with a single team E-stopped, A-stopped, not linked, and bypassed. arena.AllianceStations["R1"].EStop = true err = arena.StartMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "while an emergency stop is active") } arena.AllianceStations["R1"].EStop = false arena.AllianceStations["R1"].aStopReset = false arena.AllianceStations["R1"].AStop = true err = arena.StartMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "if an autonomous stop has not been reset since the previous match") } arena.AllianceStations["R1"].aStopReset = true arena.AllianceStations["R1"].DsConn.RobotLinked = false err = arena.StartMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "until all robots are connected or bypassed") } arena.AllianceStations["R1"].Bypass = true err = arena.StartMatch() assert.Nil(t, err) arena.AllianceStations["R1"].Bypass = false arena.MatchState = PreMatch // Check with a team missing. err = arena.assignTeam(0, "R1") assert.Nil(t, err) err = arena.StartMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "until all robots are connected or bypassed") } arena.AllianceStations["R1"].Bypass = true err = arena.StartMatch() assert.Nil(t, err) arena.MatchState = PreMatch // Check with no teams present. arena.LoadMatch(new(model.Match)) err = arena.StartMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "until all robots are connected or bypassed") } arena.AllianceStations["R1"].Bypass = true arena.AllianceStations["R2"].Bypass = true arena.AllianceStations["R3"].Bypass = true arena.AllianceStations["B1"].Bypass = true arena.AllianceStations["B2"].Bypass = true arena.AllianceStations["B3"].Bypass = true arena.AllianceStations["B3"].EStop = true err = arena.StartMatch() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "while an emergency stop is active") } arena.AllianceStations["B3"].EStop = false err = arena.StartMatch() assert.Nil(t, err) } func TestLoadNextMatch(t *testing.T) { arena := setupTestArena(t) arena.Database.CreateTeam(&model.Team{Id: 1114}) practiceMatch1 := model.Match{Type: model.Practice, TypeOrder: 1} practiceMatch2 := model.Match{Type: model.Practice, TypeOrder: 2, Status: game.RedWonMatch} practiceMatch3 := model.Match{Type: model.Practice, TypeOrder: 3} arena.Database.CreateMatch(&practiceMatch1) arena.Database.CreateMatch(&practiceMatch2) arena.Database.CreateMatch(&practiceMatch3) qualificationMatch1 := model.Match{Type: model.Qualification, TypeOrder: 1, Status: game.BlueWonMatch} qualificationMatch2 := model.Match{Type: model.Qualification, TypeOrder: 2} arena.Database.CreateMatch(&qualificationMatch1) arena.Database.CreateMatch(&qualificationMatch2) // Test match should be followed by another, empty test match. assert.Equal(t, 0, arena.CurrentMatch.Id) err := arena.SubstituteTeams(1114, 0, 0, 0, 0, 0) assert.Nil(t, err) arena.CurrentMatch.Status = game.TieMatch err = arena.LoadNextMatch(false) assert.Nil(t, err) assert.Equal(t, 0, arena.CurrentMatch.Id) assert.Equal(t, 0, arena.CurrentMatch.Red1) assert.Equal(t, false, arena.CurrentMatch.IsComplete()) // Other matches should be loaded by type until they're all complete. err = arena.LoadMatch(&practiceMatch2) assert.Nil(t, err) err = arena.LoadNextMatch(false) assert.Nil(t, err) assert.Equal(t, practiceMatch1.Id, arena.CurrentMatch.Id) practiceMatch1.Status = game.RedWonMatch arena.Database.UpdateMatch(&practiceMatch1) err = arena.LoadNextMatch(false) assert.Nil(t, err) assert.Equal(t, practiceMatch3.Id, arena.CurrentMatch.Id) practiceMatch3.Status = game.BlueWonMatch arena.Database.UpdateMatch(&practiceMatch3) err = arena.LoadNextMatch(false) assert.Nil(t, err) assert.Equal(t, 0, arena.CurrentMatch.Id) assert.Equal(t, model.Test, arena.CurrentMatch.Type) err = arena.LoadMatch(&qualificationMatch1) assert.Nil(t, err) err = arena.LoadNextMatch(false) assert.Nil(t, err) assert.Equal(t, qualificationMatch2.Id, arena.CurrentMatch.Id) } func TestSubstituteTeam(t *testing.T) { arena := setupTestArena(t) tournament.CreateTestAlliances(arena.Database, 2) arena.PlayoffTournament, _ = playoff.NewPlayoffTournament( arena.EventSettings.PlayoffType, arena.EventSettings.NumPlayoffAlliances, ) arena.Database.CreateTeam(&model.Team{Id: 101}) arena.Database.CreateTeam(&model.Team{Id: 102}) arena.Database.CreateTeam(&model.Team{Id: 103}) arena.Database.CreateTeam(&model.Team{Id: 104}) arena.Database.CreateTeam(&model.Team{Id: 105}) arena.Database.CreateTeam(&model.Team{Id: 106}) arena.Database.CreateTeam(&model.Team{Id: 107}) // Substitute teams into test match. err := arena.SubstituteTeams(0, 0, 0, 101, 0, 0) assert.Nil(t, err) assert.Equal(t, 101, arena.CurrentMatch.Blue1) assert.Equal(t, 101, arena.AllianceStations["B1"].Team.Id) err = arena.assignTeam(104, "R4") if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "Invalid alliance station") } // Substitute teams into practice match. match := model.Match{Type: model.Practice, Red1: 101, Red2: 102, Red3: 103, Blue1: 104, Blue2: 105, Blue3: 106} arena.Database.CreateMatch(&match) arena.LoadMatch(&match) err = arena.SubstituteTeams(107, 102, 103, 104, 105, 106) assert.Nil(t, err) assert.Equal(t, 107, arena.CurrentMatch.Red1) assert.Equal(t, 107, arena.AllianceStations["R1"].Team.Id) matchResult := model.NewMatchResult() matchResult.MatchId = arena.CurrentMatch.Id // Check that substitution is disallowed in qualification matches. match = model.Match{Type: model.Qualification, Red1: 101, Red2: 102, Red3: 103, Blue1: 104, Blue2: 105, Blue3: 106} arena.Database.CreateMatch(&match) arena.LoadMatch(&match) err = arena.SubstituteTeams(107, 102, 103, 104, 105, 106) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "Can't substitute teams for qualification matches.") } match = model.Match{Type: model.Playoff, Red1: 101, Red2: 102, Red3: 103, Blue1: 104, Blue2: 105, Blue3: 106} arena.Database.CreateMatch(&match) arena.LoadMatch(&match) assert.Nil(t, arena.SubstituteTeams(107, 102, 103, 104, 105, 106)) // Check that loading a nonexistent team fails. err = arena.SubstituteTeams(101, 102, 103, 104, 105, 108) if assert.NotNil(t, err) { assert.Equal(t, err.Error(), "Team 108 is not present at the event.") } } func TestLoadTeamsFromNexus(t *testing.T) { arena := setupTestArena(t) for i := 1; i <= 12; i++ { arena.Database.CreateTeam(&model.Team{Id: 100 + i}) } match := model.Match{ Type: model.Practice, Red1: 101, Red2: 102, Red3: 103, Blue1: 104, Blue2: 105, Blue3: 106, TbaMatchKey: model.TbaMatchKey{CompLevel: "p", SetNumber: 0, MatchNumber: 1}, } arena.Database.CreateMatch(&match) assertTeams := func(red1, red2, red3, blue1, blue2, blue int) { assert.Equal(t, red1, arena.CurrentMatch.Red1) assert.Equal(t, red2, arena.CurrentMatch.Red2) assert.Equal(t, red3, arena.CurrentMatch.Red3) assert.Equal(t, blue1, arena.CurrentMatch.Blue1) assert.Equal(t, blue2, arena.CurrentMatch.Blue2) assert.Equal(t, blue, arena.CurrentMatch.Blue3) assert.Equal(t, red1, arena.AllianceStations["R1"].Team.Id) assert.Equal(t, red2, arena.AllianceStations["R2"].Team.Id) assert.Equal(t, red3, arena.AllianceStations["R3"].Team.Id) assert.Equal(t, blue1, arena.AllianceStations["B1"].Team.Id) assert.Equal(t, blue2, arena.AllianceStations["B2"].Team.Id) assert.Equal(t, blue, arena.AllianceStations["B3"].Team.Id) } // Sanity check that the match loads correctly without Nexus enabled. assert.Nil(t, arena.LoadMatch(&match)) assertTeams(101, 102, 103, 104, 105, 106) // Mock the Nexus server. nexusServer := httptest.NewServer( http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { if strings.Contains(r.URL.String(), "/api/v1/event/my_event_code/match/p1/lineup") { w.Write([]byte("{\"red\":[\"112\",\"111\",\"110\"],\"blue\":[\"109\",\"108\",\"107\"]}")) } else { http.Error(w, "Match not found", 404) } }, ), ) defer nexusServer.Close() arena.NexusClient = partner.NewNexusClient("my_event_code") arena.NexusClient.BaseUrl = nexusServer.URL arena.EventSettings.NexusEnabled = true // Check that the correct teams are loaded from Nexus. assert.Nil(t, arena.LoadMatch(&match)) assertTeams(112, 111, 110, 109, 108, 107) // Check with a match that Nexus doesn't know about. match = model.Match{ Type: model.Practice, Red1: 106, Red2: 105, Red3: 104, Blue1: 103, Blue2: 102, Blue3: 101, TbaMatchKey: model.TbaMatchKey{CompLevel: "p", SetNumber: 0, MatchNumber: 2}, } arena.Database.CreateMatch(&match) assert.Nil(t, arena.LoadMatch(&match)) assertTeams(106, 105, 104, 103, 102, 101) } func TestArenaTimeout(t *testing.T) { arena := setupTestArena(t) // Test regular ending of timeout. timeoutDurationSec := 9 assert.Nil(t, arena.StartTimeout("Break 1", timeoutDurationSec)) assert.Equal(t, timeoutDurationSec, game.MatchTiming.TimeoutDurationSec) assert.Equal(t, TimeoutActive, arena.MatchState) assert.Equal(t, "Break 1", arena.breakDescription) arena.MatchStartTime = time.Now().Add(-time.Duration(timeoutDurationSec) * time.Second) arena.Update() assert.Equal(t, PostTimeout, arena.MatchState) arena.MatchStartTime = time.Now().Add(-time.Duration(timeoutDurationSec+postTimeoutSec) * time.Second) arena.Update() assert.Equal(t, PreMatch, arena.MatchState) // Test early cancellation of timeout. timeoutDurationSec = 28 assert.Nil(t, arena.StartTimeout("Break 2", timeoutDurationSec)) assert.Equal(t, "Break 2", arena.breakDescription) assert.Equal(t, TimeoutActive, arena.MatchState) assert.Equal(t, timeoutDurationSec, game.MatchTiming.TimeoutDurationSec) assert.Nil(t, arena.AbortMatch()) arena.Update() assert.Equal(t, PostTimeout, arena.MatchState) arena.MatchStartTime = time.Now().Add(-time.Duration(timeoutDurationSec+postTimeoutSec) * time.Second) arena.Update() assert.Equal(t, PreMatch, arena.MatchState) // Test that timeout can't be started during a match. arena.AllianceStations["R1"].Bypass = true arena.AllianceStations["R2"].Bypass = true arena.AllianceStations["R3"].Bypass = true arena.AllianceStations["B1"].Bypass = true arena.AllianceStations["B2"].Bypass = true arena.AllianceStations["B3"].Bypass = true assert.Nil(t, arena.StartMatch()) arena.Update() assert.NotNil(t, arena.StartTimeout("Timeout", 1)) assert.NotEqual(t, TimeoutActive, arena.MatchState) assert.Equal(t, timeoutDurationSec, game.MatchTiming.TimeoutDurationSec) arena.MatchStartTime = time.Now().Add( -time.Duration( game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+game.MatchTiming.PauseDurationSec+ game.MatchTiming.TeleopDurationSec, ) * time.Second, ) for arena.MatchState != PostMatch { arena.Update() assert.NotNil(t, arena.StartTimeout("Timeout", 1)) } // Test that a match can be loaded during a timeout. assert.Nil(t, arena.ResetMatch()) assert.Nil(t, arena.LoadTestMatch()) assert.Nil(t, arena.StartTimeout("Break 2", 10)) assert.Equal(t, TimeoutActive, arena.MatchState) match := model.Match{ Type: model.Playoff, ShortName: "F1", Red1: 1, Red2: 2, Red3: 3, Blue1: 4, Blue2: 5, Blue3: 6, } assert.Nil(t, arena.Database.CreateMatch(&match)) assert.Nil(t, arena.LoadMatch(&match)) assert.Equal(t, TimeoutActive, arena.MatchState) assert.Equal(t, match, *arena.CurrentMatch) } func TestSaveTeamHasConnected(t *testing.T) { arena := setupTestArena(t) arena.Database.CreateTeam(&model.Team{Id: 101}) arena.Database.CreateTeam(&model.Team{Id: 102}) arena.Database.CreateTeam(&model.Team{Id: 103}) arena.Database.CreateTeam(&model.Team{Id: 104}) arena.Database.CreateTeam(&model.Team{Id: 105}) arena.Database.CreateTeam(&model.Team{Id: 106, City: "San Jose", HasConnected: true}) match := model.Match{Red1: 101, Red2: 102, Red3: 103, Blue1: 104, Blue2: 105, Blue3: 106} arena.Database.CreateMatch(&match) arena.LoadMatch(&match) arena.AllianceStations["R1"].DsConn = &DriverStationConnection{TeamId: 101} arena.AllianceStations["R1"].Bypass = true arena.AllianceStations["R2"].DsConn = &DriverStationConnection{TeamId: 102, RobotLinked: true} arena.AllianceStations["R3"].DsConn = &DriverStationConnection{TeamId: 103} arena.AllianceStations["R3"].Bypass = true arena.AllianceStations["B1"].DsConn = &DriverStationConnection{TeamId: 104} arena.AllianceStations["B1"].Bypass = true arena.AllianceStations["B2"].DsConn = &DriverStationConnection{TeamId: 105, RobotLinked: true} arena.AllianceStations["B3"].DsConn = &DriverStationConnection{TeamId: 106, RobotLinked: true} arena.AllianceStations["B3"].Team.City = "Sand Hosay" // Change some other field to verify that it isn't saved. assert.Nil(t, arena.StartMatch()) // Check that the connection status was saved for the teams that just linked for the first time. teams, _ := arena.Database.GetAllTeams() if assert.Equal(t, 6, len(teams)) { assert.False(t, teams[0].HasConnected) assert.True(t, teams[1].HasConnected) assert.False(t, teams[2].HasConnected) assert.False(t, teams[3].HasConnected) assert.True(t, teams[4].HasConnected) assert.True(t, teams[5].HasConnected) assert.Equal(t, "San Jose", teams[5].City) } } func TestPlcEStopAStop(t *testing.T) { arena := setupTestArena(t) var plc FakePlc plc.isEnabled = true arena.Plc = &plc arena.Database.CreateTeam(&model.Team{Id: 254}) err := arena.assignTeam(254, "R1") assert.Nil(t, err) dummyDs := &DriverStationConnection{TeamId: 254} arena.AllianceStations["R1"].DsConn = dummyDs arena.Database.CreateTeam(&model.Team{Id: 148}) err = arena.assignTeam(148, "R2") assert.Nil(t, err) dummyDs = &DriverStationConnection{TeamId: 148} arena.AllianceStations["R2"].DsConn = dummyDs arena.AllianceStations["R1"].DsConn.RobotLinked = true arena.AllianceStations["R1"].aStopReset = true arena.AllianceStations["R2"].DsConn.RobotLinked = true arena.AllianceStations["R2"].aStopReset = true arena.AllianceStations["R3"].Bypass = true arena.AllianceStations["R3"].aStopReset = true arena.AllianceStations["B1"].Bypass = true arena.AllianceStations["B1"].aStopReset = true arena.AllianceStations["B2"].Bypass = true arena.AllianceStations["B2"].aStopReset = true arena.AllianceStations["B3"].Bypass = true arena.AllianceStations["B3"].aStopReset = true err = arena.StartMatch() assert.Nil(t, err) arena.Update() arena.MatchStartTime = time.Now().Add(-time.Duration(game.MatchTiming.WarmupDurationSec) * time.Second) arena.Update() assert.Equal(t, AutoPeriod, arena.MatchState) assert.Equal(t, true, arena.AllianceStations["R1"].DsConn.Enabled) // Press the R1 A-stop. plc.redAStops[0] = true plc.redEStops[0] = false plc.redAStops[1] = false plc.redEStops[1] = false arena.Update() assert.Equal(t, true, arena.AllianceStations["R1"].AStop) assert.Equal(t, false, arena.AllianceStations["R1"].EStop) assert.Equal(t, false, arena.AllianceStations["R2"].AStop) assert.Equal(t, false, arena.AllianceStations["R2"].EStop) arena.lastDsPacketTime = time.Unix(0, 0) // Force a DS packet. arena.Update() assert.Equal(t, false, arena.AllianceStations["R1"].DsConn.Enabled) assert.Equal(t, false, arena.AllianceStations["R1"].DsConn.EStop) assert.Equal(t, true, arena.AllianceStations["R1"].DsConn.AStop) assert.Equal(t, true, arena.AllianceStations["R2"].DsConn.Enabled) // Unpress the R1 A-stop and press the R2 E-stop. plc.redAStops[0] = false plc.redEStops[0] = false plc.redAStops[1] = false plc.redEStops[1] = true arena.Update() assert.Equal(t, true, arena.AllianceStations["R1"].AStop) assert.Equal(t, false, arena.AllianceStations["R1"].EStop) assert.Equal(t, false, arena.AllianceStations["R2"].AStop) assert.Equal(t, true, arena.AllianceStations["R2"].EStop) arena.lastDsPacketTime = time.Unix(0, 0) // Force a DS packet. arena.Update() assert.Equal(t, false, arena.AllianceStations["R1"].DsConn.Enabled) assert.Equal(t, false, arena.AllianceStations["R1"].DsConn.EStop) assert.Equal(t, true, arena.AllianceStations["R1"].DsConn.AStop) assert.Equal(t, false, arena.AllianceStations["R2"].DsConn.Enabled) assert.Equal(t, true, arena.AllianceStations["R2"].DsConn.EStop) assert.Equal(t, false, arena.AllianceStations["R2"].DsConn.AStop) // Unpress the R2 E-stop. plc.redAStops[0] = false plc.redEStops[0] = false plc.redAStops[1] = false plc.redEStops[1] = false arena.Update() assert.Equal(t, true, arena.AllianceStations["R1"].AStop) assert.Equal(t, false, arena.AllianceStations["R1"].EStop) assert.Equal(t, false, arena.AllianceStations["R2"].AStop) assert.Equal(t, true, arena.AllianceStations["R2"].EStop) arena.lastDsPacketTime = time.Unix(0, 0) // Force a DS packet. arena.Update() assert.Equal(t, false, arena.AllianceStations["R1"].DsConn.Enabled) assert.Equal(t, false, arena.AllianceStations["R2"].DsConn.Enabled) // Transition into the teleop period without any stops. arena.MatchStartTime = time.Now().Add( -time.Duration(game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec) * time.Second, ) arena.Update() assert.Equal(t, PausePeriod, arena.MatchState) arena.MatchStartTime = time.Now().Add( -time.Duration( game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+game.MatchTiming.PauseDurationSec, ) * time.Second, ) arena.Update() assert.Equal(t, false, arena.AllianceStations["R1"].AStop) assert.Equal(t, false, arena.AllianceStations["R1"].EStop) assert.Equal(t, false, arena.AllianceStations["R2"].AStop) assert.Equal(t, true, arena.AllianceStations["R2"].EStop) arena.lastDsPacketTime = time.Unix(0, 0) // Force a DS packet. arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) assert.Equal(t, true, arena.AllianceStations["R1"].DsConn.Enabled) assert.Equal(t, false, arena.AllianceStations["R2"].DsConn.Enabled) // Press the R1 E-stop and the R2 A-stop. plc.redAStops[0] = false plc.redEStops[0] = true plc.redAStops[1] = true plc.redEStops[1] = false arena.Update() assert.Equal(t, false, arena.AllianceStations["R1"].AStop) assert.Equal(t, true, arena.AllianceStations["R1"].EStop) assert.Equal(t, true, arena.AllianceStations["R2"].AStop) assert.Equal(t, true, arena.AllianceStations["R2"].EStop) arena.lastDsPacketTime = time.Unix(0, 0) // Force a DS packet. arena.Update() assert.Equal(t, false, arena.AllianceStations["R1"].DsConn.Enabled) assert.Equal(t, false, arena.AllianceStations["R2"].DsConn.Enabled) // Ensure the other stations A-stops are working as well. plc.redAStops[2] = true plc.redEStops[2] = false plc.blueAStops[0] = true plc.blueEStops[0] = false plc.blueAStops[1] = true plc.blueEStops[1] = false plc.blueAStops[2] = true plc.blueEStops[2] = false arena.Update() assert.Equal(t, true, arena.AllianceStations["R3"].AStop) assert.Equal(t, false, arena.AllianceStations["R3"].EStop) assert.Equal(t, true, arena.AllianceStations["B1"].AStop) assert.Equal(t, false, arena.AllianceStations["B1"].EStop) assert.Equal(t, true, arena.AllianceStations["B2"].AStop) assert.Equal(t, false, arena.AllianceStations["B2"].EStop) assert.Equal(t, true, arena.AllianceStations["B3"].AStop) assert.Equal(t, false, arena.AllianceStations["B3"].EStop) // Ensure the other stations E-stops are working as well. plc.redAStops[2] = false plc.redEStops[2] = true plc.blueAStops[0] = false plc.blueEStops[0] = true plc.blueAStops[1] = false plc.blueEStops[1] = true plc.blueAStops[2] = false plc.blueEStops[2] = true arena.Update() assert.Equal(t, false, arena.AllianceStations["R3"].AStop) assert.Equal(t, true, arena.AllianceStations["R3"].EStop) assert.Equal(t, false, arena.AllianceStations["B1"].AStop) assert.Equal(t, true, arena.AllianceStations["B1"].EStop) assert.Equal(t, false, arena.AllianceStations["B2"].AStop) assert.Equal(t, true, arena.AllianceStations["B2"].EStop) assert.Equal(t, false, arena.AllianceStations["B3"].AStop) assert.Equal(t, true, arena.AllianceStations["B3"].EStop) // Ensure unpressed E-stops are cleared at the end of the match. arena.MatchStartTime = time.Now().Add( -time.Duration( game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+game.MatchTiming.PauseDurationSec+ game.MatchTiming.TeleopDurationSec, ) * time.Second, ) arena.Update() plc.blueEStops[2] = false arena.Update() assert.Equal(t, true, arena.AllianceStations["R1"].EStop) assert.Equal(t, false, arena.AllianceStations["R2"].EStop) assert.Equal(t, true, arena.AllianceStations["R3"].EStop) assert.Equal(t, true, arena.AllianceStations["B1"].EStop) assert.Equal(t, true, arena.AllianceStations["B2"].EStop) assert.Equal(t, false, arena.AllianceStations["B3"].EStop) } func TestPlcEStopAStopWithPlcDisabled(t *testing.T) { arena := setupTestArena(t) var plc FakePlc plc.isEnabled = false arena.Plc = &plc arena.Database.CreateTeam(&model.Team{Id: 254}) err := arena.assignTeam(254, "R1") assert.Nil(t, err) arena.AllianceStations["R1"].DsConn = &DriverStationConnection{TeamId: 254} arena.AllianceStations["R2"].DsConn = &DriverStationConnection{TeamId: 1323} arena.AllianceStations["R1"].DsConn.RobotLinked = true arena.AllianceStations["R2"].DsConn.RobotLinked = true arena.AllianceStations["R3"].Bypass = true arena.AllianceStations["B1"].Bypass = true arena.AllianceStations["B2"].Bypass = true arena.AllianceStations["B3"].Bypass = true assert.Nil(t, arena.StartMatch()) arena.Update() arena.MatchStartTime = time.Now().Add(-time.Duration(game.MatchTiming.WarmupDurationSec) * time.Second) arena.Update() assert.Equal(t, AutoPeriod, arena.MatchState) assert.Equal(t, true, arena.AllianceStations["R1"].DsConn.Enabled) plc.redEStops[0] = true plc.redAStops[1] = true arena.Update() assert.Equal(t, false, arena.AllianceStations["R1"].AStop) assert.Equal(t, false, arena.AllianceStations["R1"].EStop) assert.Equal(t, true, arena.AllianceStations["R1"].DsConn.Enabled) assert.Equal(t, false, arena.AllianceStations["R2"].AStop) assert.Equal(t, false, arena.AllianceStations["R2"].EStop) assert.Equal(t, true, arena.AllianceStations["R2"].DsConn.Enabled) } func TestPlcFieldEStop(t *testing.T) { arena := setupTestArena(t) var plc FakePlc plc.isEnabled = true arena.Plc = &plc arena.AllianceStations["R1"].Bypass = true arena.AllianceStations["R2"].Bypass = true arena.AllianceStations["R3"].Bypass = true arena.AllianceStations["B1"].Bypass = true arena.AllianceStations["B2"].Bypass = true arena.AllianceStations["B3"].Bypass = true assert.Nil(t, arena.StartMatch()) arena.Update() arena.MatchStartTime = time.Now().Add(-time.Duration(game.MatchTiming.WarmupDurationSec) * time.Second) arena.Update() assert.Equal(t, AutoPeriod, arena.MatchState) plc.fieldEStop = true arena.Update() assert.True(t, arena.matchAborted) assert.Equal(t, PostMatch, arena.MatchState) } func TestPlcFieldEStopWithPlcDisabled(t *testing.T) { arena := setupTestArena(t) var plc FakePlc plc.isEnabled = false arena.Plc = &plc arena.AllianceStations["R1"].Bypass = true arena.AllianceStations["R2"].Bypass = true arena.AllianceStations["R3"].Bypass = true arena.AllianceStations["B1"].Bypass = true arena.AllianceStations["B2"].Bypass = true arena.AllianceStations["B3"].Bypass = true assert.Nil(t, arena.StartMatch()) arena.Update() arena.MatchStartTime = time.Now().Add(-time.Duration(game.MatchTiming.WarmupDurationSec) * time.Second) arena.Update() assert.Equal(t, AutoPeriod, arena.MatchState) plc.fieldEStop = true arena.Update() assert.False(t, arena.matchAborted) assert.Equal(t, AutoPeriod, arena.MatchState) } func TestPlcMatchCycleEvergreen(t *testing.T) { arena := setupTestArena(t) var plc FakePlc plc.isEnabled = true arena.Plc = &plc arena.Update() assert.Equal(t, [4]bool{true, true, false, false}, plc.stackLights) arena.AllianceStations["R1"].Bypass = true arena.AllianceStations["R2"].Bypass = true arena.AllianceStations["B1"].Bypass = true arena.AllianceStations["B2"].Bypass = true arena.Update() assert.Equal(t, [4]bool{true, true, false, false}, plc.stackLights) arena.AllianceStations["R3"].Bypass = true arena.Update() assert.Equal(t, [4]bool{false, true, false, false}, plc.stackLights) assert.Equal(t, false, plc.stackLightBuzzer) // All teams are ready. arena.AllianceStations["B3"].Bypass = true plc.cycleState = true arena.Update() assert.Equal(t, [4]bool{false, false, false, true}, plc.stackLights) assert.Equal(t, true, plc.stackLightBuzzer) // Green light when blink cycle is off. plc.cycleState = false arena.Update() assert.Equal(t, [4]bool{false, false, false, false}, plc.stackLights) // Start the match. assert.Nil(t, arena.StartMatch()) arena.Update() arena.MatchStartTime = time.Now().Add(-time.Duration(game.MatchTiming.WarmupDurationSec) * time.Second) arena.Update() assert.Equal(t, AutoPeriod, arena.MatchState) assert.Equal(t, [4]bool{false, false, false, true}, plc.stackLights) assert.Equal(t, false, plc.stackLightBuzzer) // End the match. arena.MatchStartTime = time.Now().Add( -time.Duration( game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+game.MatchTiming.PauseDurationSec+ game.MatchTiming.TeleopDurationSec, ) * time.Second, ) arena.Update() arena.Update() arena.Update() assert.Equal(t, PostMatch, arena.MatchState) assert.Equal(t, [4]bool{false, false, true, false}, plc.stackLights) assert.Equal(t, false, plc.fieldResetLight) // Ready the score. arena.RedRealtimeScore.FoulsCommitted = true arena.BlueRealtimeScore.FoulsCommitted = true redWs := &websocket.Websocket{} arena.ScoringPanelRegistry.RegisterPanel("red_near", redWs) arena.ScoringPanelRegistry.SetScoreCommitted("red_near", redWs) arena.Update() assert.Equal(t, [4]bool{false, false, true, false}, plc.stackLights) blueWs := &websocket.Websocket{} arena.ScoringPanelRegistry.RegisterPanel("blue_far", blueWs) arena.ScoringPanelRegistry.SetScoreCommitted("blue_far", blueWs) arena.Update() assert.Equal(t, [4]bool{false, false, true, false}, plc.stackLights) arena.ScoringPanelRegistry.RegisterPanel("blue_near", redWs) arena.ScoringPanelRegistry.SetScoreCommitted("blue_near", redWs) arena.Update() assert.Equal(t, [4]bool{false, false, true, false}, plc.stackLights) arena.ScoringPanelRegistry.RegisterPanel("red_far", redWs) arena.ScoringPanelRegistry.SetScoreCommitted("red_far", redWs) arena.Update() assert.Equal(t, [4]bool{false, false, false, false}, plc.stackLights) arena.FieldReset = true arena.Update() assert.Equal(t, true, plc.fieldResetLight) } func TestPlcMatchCycleGameSpecificWithCoopEnabled(t *testing.T) { arena := setupTestArena(t) var plc FakePlc plc.isEnabled = true arena.Plc = &plc // Check that no inputs or outputs are active before the match starts. assert.Equal(t, PreMatch, arena.MatchState) plc.redProcessorCount = 5 plc.blueProcessorCount = 8 arena.Update() redScore := &arena.RedRealtimeScore.CurrentScore blueScore := &arena.BlueRealtimeScore.CurrentScore assert.Equal(t, 0, redScore.ProcessorAlgae) assert.Equal(t, 0, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{false, false, false}, plc.redTrussLights) assert.Equal(t, [3]bool{false, false, false}, plc.blueTrussLights) plc.redProcessorCount = 0 plc.blueProcessorCount = 0 // Start the match. arena.AllianceStations["R1"].Bypass = true arena.AllianceStations["R2"].Bypass = true arena.AllianceStations["R3"].Bypass = true arena.AllianceStations["B1"].Bypass = true arena.AllianceStations["B2"].Bypass = true arena.AllianceStations["B3"].Bypass = true arena.Update() assert.Nil(t, arena.StartMatch()) arena.Update() arena.MatchStartTime = time.Now().Add(-time.Duration(game.MatchTiming.WarmupDurationSec) * time.Second) arena.Update() assert.Equal(t, AutoPeriod, arena.MatchState) // Check the autonomous period. plc.redProcessorCount = 1 arena.Update() assert.Equal(t, 1, redScore.ProcessorAlgae) assert.Equal(t, 0, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{true, false, false}, plc.redTrussLights) assert.Equal(t, [3]bool{false, false, false}, plc.blueTrussLights) // Check the pause period. arena.MatchStartTime = time.Now().Add( -time.Duration(game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec) * time.Second, ) arena.Update() assert.Equal(t, PausePeriod, arena.MatchState) plc.redProcessorCount = 2 arena.Update() assert.Equal(t, 2, redScore.ProcessorAlgae) assert.Equal(t, 0, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{true, true, false}, plc.redTrussLights) assert.Equal(t, [3]bool{false, false, false}, plc.blueTrussLights) // Check the teleop period. durationToTeleopStart := time.Duration( game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+game.MatchTiming.PauseDurationSec, ) * time.Second arena.MatchStartTime = time.Now().Add(-durationToTeleopStart - 5000*time.Millisecond) arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) plc.blueProcessorCount = 1 arena.Update() assert.Equal(t, 2, redScore.ProcessorAlgae) assert.Equal(t, 1, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{true, true, false}, plc.redTrussLights) assert.Equal(t, [3]bool{true, false, false}, plc.blueTrussLights) plc.redProcessorCount = 3 arena.Update() assert.Equal(t, 3, redScore.ProcessorAlgae) assert.Equal(t, 1, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{true, true, false}, plc.redTrussLights) assert.Equal(t, [3]bool{true, false, false}, plc.blueTrussLights) plc.redProcessorCount = 17 arena.Update() assert.Equal(t, 17, redScore.ProcessorAlgae) assert.Equal(t, 1, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{true, true, false}, plc.redTrussLights) assert.Equal(t, [3]bool{true, false, false}, plc.blueTrussLights) assert.Equal(t, true, arena.RedScoreSummary().CoopertitionCriteriaMet) assert.Equal(t, false, arena.RedScoreSummary().CoopertitionBonus) assert.Equal(t, false, arena.BlueScoreSummary().CoopertitionCriteriaMet) assert.Equal(t, false, arena.BlueScoreSummary().CoopertitionBonus) plc.blueProcessorCount = 2 arena.Update() assert.Equal(t, 17, redScore.ProcessorAlgae) assert.Equal(t, 2, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{true, true, true}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, true}, plc.blueTrussLights) assert.Equal(t, true, arena.RedScoreSummary().CoopertitionCriteriaMet) assert.Equal(t, true, arena.RedScoreSummary().CoopertitionBonus) assert.Equal(t, true, arena.BlueScoreSummary().CoopertitionCriteriaMet) assert.Equal(t, true, arena.BlueScoreSummary().CoopertitionBonus) // Check the truss lights during the "sonar ping" warning sound. durationToWarning := time.Duration( game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+game.MatchTiming.PauseDurationSec+ game.MatchTiming.TeleopDurationSec-game.MatchTiming.WarningRemainingDurationSec, ) * time.Second arena.MatchStartTime = time.Now().Add(-durationToWarning - 100*time.Millisecond) arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) assert.Equal(t, [3]bool{true, false, false}, plc.redTrussLights) assert.Equal(t, [3]bool{true, false, false}, plc.blueTrussLights) arena.MatchStartTime = time.Now().Add(-durationToWarning - 300*time.Millisecond) arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) assert.Equal(t, [3]bool{false, true, false}, plc.redTrussLights) assert.Equal(t, [3]bool{false, true, false}, plc.blueTrussLights) arena.MatchStartTime = time.Now().Add(-durationToWarning - 500*time.Millisecond) arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) assert.Equal(t, [3]bool{false, false, true}, plc.redTrussLights) assert.Equal(t, [3]bool{false, false, true}, plc.blueTrussLights) // Undo the co-op and check that the truss lights are back to normal after the warning. arena.MatchStartTime = time.Now().Add(-durationToWarning - 5000*time.Millisecond) plc.redProcessorCount = 1 arena.Update() assert.Equal(t, 1, redScore.ProcessorAlgae) assert.Equal(t, 2, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{true, false, false}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, false}, plc.blueTrussLights) // Check after the end of the match. durationToTeleopEnd := time.Duration( game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+game.MatchTiming.PauseDurationSec+ game.MatchTiming.TeleopDurationSec, ) * time.Second arena.MatchStartTime = time.Now().Add(-durationToTeleopEnd + 1*time.Millisecond) arena.Update() assert.Equal(t, [3]bool{true, false, false}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, false}, plc.blueTrussLights) arena.MatchStartTime = time.Now().Add(-durationToTeleopEnd - 1*time.Millisecond) arena.Update() assert.Equal(t, [3]bool{true, true, true}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, true}, plc.blueTrussLights) arena.MatchStartTime = time.Now().Add(-durationToTeleopEnd - 2999*time.Millisecond) arena.Update() assert.Equal(t, [3]bool{true, true, true}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, true}, plc.blueTrussLights) arena.MatchStartTime = time.Now().Add(-durationToTeleopEnd - 3001*time.Millisecond) arena.Update() assert.Equal(t, [3]bool{false, false, false}, plc.redTrussLights) assert.Equal(t, [3]bool{false, false, false}, plc.blueTrussLights) } func TestPlcMatchCycleGameSpecificWithCoopDisabled(t *testing.T) { defer func() { game.CoralBonusCoopEnabled = true }() testCases := []struct { coopEnabled bool matchType model.MatchType }{ // 0. Playoff match with co-op enabled. {true, model.Playoff}, // 1. Playoff match with co-op disabled. {false, model.Playoff}, // 2. Qualification match with co-op disabled. {false, model.Qualification}, } for i, tc := range testCases { t.Run( strconv.Itoa(i), func(t *testing.T) { arena := setupTestArena(t) var plc FakePlc plc.isEnabled = true arena.Plc = &plc game.CoralBonusCoopEnabled = tc.coopEnabled arena.CurrentMatch.Type = tc.matchType // Check that no inputs or outputs are active before the match starts. assert.Equal(t, PreMatch, arena.MatchState) plc.redProcessorCount = 5 plc.blueProcessorCount = 8 arena.Update() redScore := &arena.RedRealtimeScore.CurrentScore blueScore := &arena.BlueRealtimeScore.CurrentScore assert.Equal(t, 0, redScore.ProcessorAlgae) assert.Equal(t, 0, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{false, false, false}, plc.redTrussLights) assert.Equal(t, [3]bool{false, false, false}, plc.blueTrussLights) plc.redProcessorCount = 0 plc.blueProcessorCount = 0 // Start the match. arena.AllianceStations["R1"].Bypass = true arena.AllianceStations["R2"].Bypass = true arena.AllianceStations["R3"].Bypass = true arena.AllianceStations["B1"].Bypass = true arena.AllianceStations["B2"].Bypass = true arena.AllianceStations["B3"].Bypass = true arena.Update() assert.Nil(t, arena.StartMatch()) arena.Update() arena.MatchStartTime = time.Now().Add(-time.Duration(game.MatchTiming.WarmupDurationSec) * time.Second) arena.Update() assert.Equal(t, AutoPeriod, arena.MatchState) // Check the autonomous period. plc.redProcessorCount = 1 arena.Update() assert.Equal(t, 1, redScore.ProcessorAlgae) assert.Equal(t, 0, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{true, true, true}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, true}, plc.blueTrussLights) // Check the pause period. arena.MatchStartTime = time.Now().Add( -time.Duration(game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec) * time.Second, ) arena.Update() assert.Equal(t, PausePeriod, arena.MatchState) plc.redProcessorCount = 2 arena.Update() assert.Equal(t, 2, redScore.ProcessorAlgae) assert.Equal(t, 0, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{true, true, true}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, true}, plc.blueTrussLights) // Check the teleop period. durationToTeleopStart := time.Duration( game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+game.MatchTiming.PauseDurationSec, ) * time.Second arena.MatchStartTime = time.Now().Add(-durationToTeleopStart - 5000*time.Millisecond) arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) plc.blueProcessorCount = 1 arena.Update() assert.Equal(t, 2, redScore.ProcessorAlgae) assert.Equal(t, 1, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{true, true, true}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, true}, plc.blueTrussLights) plc.redProcessorCount = 3 arena.Update() assert.Equal(t, 3, redScore.ProcessorAlgae) assert.Equal(t, 1, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{true, true, true}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, true}, plc.blueTrussLights) plc.redProcessorCount = 17 arena.Update() assert.Equal(t, 17, redScore.ProcessorAlgae) assert.Equal(t, 1, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{true, true, true}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, true}, plc.blueTrussLights) plc.blueProcessorCount = 2 arena.Update() assert.Equal(t, 17, redScore.ProcessorAlgae) assert.Equal(t, 2, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{true, true, true}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, true}, plc.blueTrussLights) // Check the truss lights during the "sonar ping" warning sound. durationToWarning := time.Duration( game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+game.MatchTiming.PauseDurationSec+ game.MatchTiming.TeleopDurationSec-game.MatchTiming.WarningRemainingDurationSec, ) * time.Second arena.MatchStartTime = time.Now().Add(-durationToWarning - 100*time.Millisecond) arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) assert.Equal(t, [3]bool{true, false, false}, plc.redTrussLights) assert.Equal(t, [3]bool{true, false, false}, plc.blueTrussLights) arena.MatchStartTime = time.Now().Add(-durationToWarning - 300*time.Millisecond) arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) assert.Equal(t, [3]bool{false, true, false}, plc.redTrussLights) assert.Equal(t, [3]bool{false, true, false}, plc.blueTrussLights) arena.MatchStartTime = time.Now().Add(-durationToWarning - 500*time.Millisecond) arena.Update() assert.Equal(t, TeleopPeriod, arena.MatchState) assert.Equal(t, [3]bool{false, false, true}, plc.redTrussLights) assert.Equal(t, [3]bool{false, false, true}, plc.blueTrussLights) // Undo the co-op and check that the truss lights are back to normal after the warning. arena.MatchStartTime = time.Now().Add(-durationToWarning - 5000*time.Millisecond) plc.redProcessorCount = 1 arena.Update() assert.Equal(t, 1, redScore.ProcessorAlgae) assert.Equal(t, 2, blueScore.ProcessorAlgae) assert.Equal(t, [3]bool{true, true, true}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, true}, plc.blueTrussLights) // Check after the end of the match. durationToTeleopEnd := time.Duration( game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec+game.MatchTiming.PauseDurationSec+ game.MatchTiming.TeleopDurationSec, ) * time.Second arena.MatchStartTime = time.Now().Add(-durationToTeleopEnd + 1*time.Millisecond) arena.Update() assert.Equal(t, [3]bool{true, true, true}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, true}, plc.blueTrussLights) arena.MatchStartTime = time.Now().Add(-durationToTeleopEnd - 1*time.Millisecond) arena.Update() assert.Equal(t, [3]bool{true, true, true}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, true}, plc.blueTrussLights) arena.MatchStartTime = time.Now().Add(-durationToTeleopEnd - 2999*time.Millisecond) arena.Update() assert.Equal(t, [3]bool{true, true, true}, plc.redTrussLights) assert.Equal(t, [3]bool{true, true, true}, plc.blueTrussLights) arena.MatchStartTime = time.Now().Add(-durationToTeleopEnd - 3001*time.Millisecond) arena.Update() assert.Equal(t, [3]bool{false, false, false}, plc.redTrussLights) assert.Equal(t, [3]bool{false, false, false}, plc.blueTrussLights) }, ) } } ================================================ FILE: field/display.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model representing and methods for controlling a remote web display. package field import ( "fmt" "github.com/Team254/cheesy-arena/websocket" "net/url" "reflect" "sort" "strconv" "strings" "sync" "time" ) const ( minDisplayId = 100 displayPurgeTtlMin = 30 ) type DisplayType int const ( InvalidDisplay DisplayType = iota PlaceholderDisplay AllianceStationDisplay AnnouncerDisplay AudienceDisplay BracketDisplay FieldMonitorDisplay LogoDisplay QueueingDisplay RankingsDisplay TwitchStreamDisplay WallDisplay WebpageDisplay ) var DisplayTypeNames = map[DisplayType]string{ PlaceholderDisplay: "Placeholder", AllianceStationDisplay: "Alliance Station", AnnouncerDisplay: "Announcer", AudienceDisplay: "Audience", BracketDisplay: "Bracket", FieldMonitorDisplay: "Field Monitor", LogoDisplay: "Logo", QueueingDisplay: "Queueing", RankingsDisplay: "Rankings", TwitchStreamDisplay: "Twitch Stream", WallDisplay: "Wall", WebpageDisplay: "Web Page", } var displayTypePaths = map[DisplayType]string{ PlaceholderDisplay: "/display", AllianceStationDisplay: "/displays/alliance_station", AnnouncerDisplay: "/displays/announcer", AudienceDisplay: "/displays/audience", BracketDisplay: "/displays/bracket", FieldMonitorDisplay: "/displays/field_monitor", LogoDisplay: "/displays/logo", QueueingDisplay: "/displays/queueing", RankingsDisplay: "/displays/rankings", TwitchStreamDisplay: "/displays/twitch", WallDisplay: "/displays/wall", WebpageDisplay: "/displays/webpage", } var displayRegistryMutex sync.Mutex type Display struct { DisplayConfiguration DisplayConfiguration IpAddress string ConnectionCount int Notifier *websocket.Notifier lastConnectedTime time.Time } type DisplayConfiguration struct { Id string Nickname string Type DisplayType Configuration map[string]string } // Parses the given display URL path and query string to extract the configuration. func DisplayFromUrl(path string, query map[string][]string) (*DisplayConfiguration, error) { if _, ok := query["displayId"]; !ok { return nil, fmt.Errorf("Display ID not present in request.") } var displayConfig DisplayConfiguration displayConfig.Id = query["displayId"][0] if nickname, ok := query["nickname"]; ok { displayConfig.Nickname, _ = url.QueryUnescape(nickname[0]) } // Determine type from the websocket connection URL. This way of doing it isn't super efficient, but it's not really // a concern since it should happen relatively infrequently. for displayType, displayPath := range displayTypePaths { if path == displayPath+"/websocket" { displayConfig.Type = displayType break } } if displayConfig.Type == InvalidDisplay { return nil, fmt.Errorf("Could not determine display type from path %s.", path) } // Put any remaining query parameters into the per-type configuration map. displayConfig.Configuration = make(map[string]string) for key, value := range query { if key != "displayId" && key != "nickname" { displayConfig.Configuration[key], _ = url.QueryUnescape(value[0]) } } return &displayConfig, nil } // Returns the URL string for the given display that includes all of its configuration parameters. func (display *Display) ToUrl() string { var builder strings.Builder builder.WriteString(displayTypePaths[display.DisplayConfiguration.Type]) builder.WriteString("?displayId=") builder.WriteString(url.QueryEscape(display.DisplayConfiguration.Id)) if display.DisplayConfiguration.Nickname != "" { builder.WriteString("&nickname=") builder.WriteString(url.QueryEscape(display.DisplayConfiguration.Nickname)) } // Sort the keys so that the URL generated is deterministic. var keys []string for key := range display.DisplayConfiguration.Configuration { keys = append(keys, key) } sort.Strings(keys) for _, key := range keys { builder.WriteString("&") builder.WriteString(url.QueryEscape(key)) builder.WriteString("=") builder.WriteString(url.QueryEscape(display.DisplayConfiguration.Configuration[key])) } return builder.String() } func (display *Display) generateDisplayConfigurationMessage() any { return display.ToUrl() } // Returns an unused ID that can be used for a new display. func (arena *Arena) NextDisplayId() string { displayRegistryMutex.Lock() defer displayRegistryMutex.Unlock() // Loop until we get an ID that isn't already used. This is inefficient if there is a large number of displays, but // that should never be the case. candidateId := minDisplayId for { if _, ok := arena.Displays[strconv.Itoa(candidateId)]; !ok { return strconv.Itoa(candidateId) } candidateId++ } } // Creates or gets the given display in the arena registry and triggers a notification. func (arena *Arena) RegisterDisplay(displayConfig *DisplayConfiguration, ipAddress string) *Display { displayRegistryMutex.Lock() defer displayRegistryMutex.Unlock() display, ok := arena.Displays[displayConfig.Id] if ok && displayConfig.Type == PlaceholderDisplay { // Don't rewrite the registered configuration if the new one is a placeholder -- if it is reconnecting after a // restart, it should adopt the existing configuration. arena.Displays[displayConfig.Id].ConnectionCount++ arena.Displays[displayConfig.Id].IpAddress = ipAddress } else { if !ok { display = new(Display) display.Notifier = websocket.NewNotifier( "displayConfiguration", display.generateDisplayConfigurationMessage, ) arena.Displays[displayConfig.Id] = display } display.DisplayConfiguration = *displayConfig display.IpAddress = ipAddress display.ConnectionCount += 1 display.lastConnectedTime = time.Now() display.Notifier.Notify() } arena.DisplayConfigurationNotifier.Notify() return display } // Updates the given display in the arena registry. Triggers a notification if the display configuration changed. func (arena *Arena) UpdateDisplay(displayConfig DisplayConfiguration) error { displayRegistryMutex.Lock() defer displayRegistryMutex.Unlock() display, ok := arena.Displays[displayConfig.Id] if !ok { return fmt.Errorf("Display %s doesn't exist.", displayConfig.Id) } if !reflect.DeepEqual(displayConfig, display.DisplayConfiguration) { display.DisplayConfiguration = displayConfig display.Notifier.Notify() arena.DisplayConfigurationNotifier.Notify() } return nil } // Marks the given display as having disconnected in the arena registry and triggers a notification. func (arena *Arena) MarkDisplayDisconnected(displayId string) { displayRegistryMutex.Lock() defer displayRegistryMutex.Unlock() if existingDisplay, ok := arena.Displays[displayId]; ok { if existingDisplay.ConnectionCount == 1 && existingDisplay.DisplayConfiguration.Type == PlaceholderDisplay && existingDisplay.DisplayConfiguration.Nickname == "" && len(existingDisplay.DisplayConfiguration.Configuration) == 0 { // If the display is an unconfigured placeholder, just remove it entirely to prevent clutter. delete(arena.Displays, existingDisplay.DisplayConfiguration.Id) } else { existingDisplay.ConnectionCount -= 1 } existingDisplay.lastConnectedTime = time.Now() arena.DisplayConfigurationNotifier.Notify() } } // Removes any displays from the list that haven't had any active connections for a while and don't have a nickname. func (arena *Arena) purgeDisconnectedDisplays() { displayRegistryMutex.Lock() defer displayRegistryMutex.Unlock() deleted := false for id, display := range arena.Displays { if display.ConnectionCount == 0 && display.DisplayConfiguration.Nickname == "" && time.Now().Sub(display.lastConnectedTime).Minutes() >= displayPurgeTtlMin { delete(arena.Displays, id) deleted = true } } if deleted { arena.DisplayConfigurationNotifier.Notify() } } ================================================ FILE: field/display_test.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package field import ( "github.com/stretchr/testify/assert" "testing" "time" ) func TestDisplayFromUrl(t *testing.T) { query := map[string][]string{} display, err := DisplayFromUrl("/display", query) assert.Nil(t, display) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "ID not present") } // Test the various types. query["displayId"] = []string{"123"} display, err = DisplayFromUrl("/blorpy", query) assert.Nil(t, display) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "Could not determine display type") } display, _ = DisplayFromUrl("/display/websocket", query) assert.Equal(t, PlaceholderDisplay, display.Type) display, _ = DisplayFromUrl("/displays/alliance_station/websocket", query) assert.Equal(t, AllianceStationDisplay, display.Type) display, _ = DisplayFromUrl("/displays/announcer/websocket", query) assert.Equal(t, AnnouncerDisplay, display.Type) display, _ = DisplayFromUrl("/displays/audience/websocket", query) assert.Equal(t, AudienceDisplay, display.Type) display, _ = DisplayFromUrl("/displays/field_monitor/websocket", query) assert.Equal(t, FieldMonitorDisplay, display.Type) display, _ = DisplayFromUrl("/displays/rankings/websocket", query) assert.Equal(t, RankingsDisplay, display.Type) // Test the nickname and arbitrary parameters. query["nickname"] = []string{"Test Nickname"} query["key1"] = []string{"value1"} query["key2"] = []string{"value2"} query["color"] = []string{"%230f0"} display, _ = DisplayFromUrl("/display/websocket", query) assert.Equal(t, "Test Nickname", display.Nickname) if assert.Equal(t, 3, len(display.Configuration)) { assert.Equal(t, "value1", display.Configuration["key1"]) assert.Equal(t, "value2", display.Configuration["key2"]) assert.Equal(t, "#0f0", display.Configuration["color"]) } } func TestDisplayToUrl(t *testing.T) { display := &Display{ DisplayConfiguration: DisplayConfiguration{ Id: "254", Nickname: "Test Nickname", Type: RankingsDisplay, Configuration: map[string]string{"f": "1", "z": "#fff", "a": "3", "c": "4"}, }, } assert.Equal(t, "/displays/rankings?displayId=254&nickname=Test+Nickname&a=3&c=4&f=1&z=%23fff", display.ToUrl()) } func TestNextDisplayId(t *testing.T) { arena := setupTestArena(t) assert.Equal(t, "100", arena.NextDisplayId()) displayConfig := &DisplayConfiguration{Id: "100"} arena.RegisterDisplay(displayConfig, "") assert.Equal(t, "101", arena.NextDisplayId()) } func TestDisplayRegisterUnregister(t *testing.T) { arena := setupTestArena(t) displayConfig := &DisplayConfiguration{ Id: "254", Nickname: "Placeholder", Type: PlaceholderDisplay, Configuration: map[string]string{}, } arena.RegisterDisplay(displayConfig, "1.2.3.4") if assert.Contains(t, arena.Displays, "254") { assert.Equal(t, "Placeholder", arena.Displays["254"].DisplayConfiguration.Nickname) assert.Equal(t, PlaceholderDisplay, arena.Displays["254"].DisplayConfiguration.Type) assert.Equal(t, 1, arena.Displays["254"].ConnectionCount) assert.Equal(t, "1.2.3.4", arena.Displays["254"].IpAddress) } notifier := arena.Displays["254"].Notifier // Register a second instance of the same display. displayConfig2 := &DisplayConfiguration{ Id: "254", Nickname: "Rankings", Type: RankingsDisplay, Configuration: map[string]string{}, } arena.RegisterDisplay(displayConfig2, "2.3.4.5") if assert.Contains(t, arena.Displays, "254") { assert.Equal(t, "Rankings", arena.Displays["254"].DisplayConfiguration.Nickname) assert.Equal(t, RankingsDisplay, arena.Displays["254"].DisplayConfiguration.Type) assert.Equal(t, 2, arena.Displays["254"].ConnectionCount) assert.Equal(t, "2.3.4.5", arena.Displays["254"].IpAddress) assert.Same(t, notifier, arena.Displays["254"].Notifier) } // Register a second display. displayConfig3 := &DisplayConfiguration{Id: "148", Type: FieldMonitorDisplay, Configuration: map[string]string{}} arena.RegisterDisplay(displayConfig3, "3.4.5.6") if assert.Contains(t, arena.Displays, "148") { assert.Equal(t, 1, arena.Displays["148"].ConnectionCount) } // Update the first display. displayConfig4 := DisplayConfiguration{ Id: "254", Nickname: "Alliance", Type: AllianceStationDisplay, Configuration: map[string]string{"station": "B2"}, } arena.UpdateDisplay(displayConfig4) if assert.Contains(t, arena.Displays, "254") { assert.Equal(t, "Alliance", arena.Displays["254"].DisplayConfiguration.Nickname) assert.Equal(t, AllianceStationDisplay, arena.Displays["254"].DisplayConfiguration.Type) assert.Equal(t, 2, arena.Displays["254"].ConnectionCount) } // Disconnect both displays. arena.MarkDisplayDisconnected(displayConfig.Id) arena.MarkDisplayDisconnected(displayConfig3.Id) if assert.Contains(t, arena.Displays, "148") { assert.Equal(t, 0, arena.Displays["148"].ConnectionCount) } if assert.Contains(t, arena.Displays, "254") { assert.Equal(t, 1, arena.Displays["254"].ConnectionCount) } } func TestDisplayUpdateError(t *testing.T) { arena := setupTestArena(t) displayConfig := DisplayConfiguration{Id: "254", Configuration: map[string]string{}} err := arena.UpdateDisplay(displayConfig) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "doesn't exist") } } func TestDisplayPurge(t *testing.T) { arena := setupTestArena(t) // Unnamed placeholder gets immediately purged upon disconnection. displayConfig := &DisplayConfiguration{Id: "254", Type: PlaceholderDisplay, Configuration: map[string]string{}} arena.RegisterDisplay(displayConfig, "1.2.3.4") assert.Contains(t, arena.Displays, "254") arena.MarkDisplayDisconnected(displayConfig.Id) assert.NotContains(t, arena.Displays, "254") // Named placeholder does not get immediately purged upon disconnection. displayConfig.Nickname = "Bob" arena.RegisterDisplay(displayConfig, "1.2.3.4") assert.Contains(t, arena.Displays, "254") arena.MarkDisplayDisconnected(displayConfig.Id) assert.Contains(t, arena.Displays, "254") // Unnamed configured displayConfig does not get immediately purged upon disconnection. displayConfig = &DisplayConfiguration{Id: "1114", Type: FieldMonitorDisplay, Configuration: map[string]string{}} arena.RegisterDisplay(displayConfig, "1.2.3.4") assert.Contains(t, arena.Displays, "1114") arena.MarkDisplayDisconnected(displayConfig.Id) assert.Contains(t, arena.Displays, "1114") arena.purgeDisconnectedDisplays() assert.Contains(t, arena.Displays, "1114") // Unnamed configured displayConfig gets purged by periodic task. arena.RegisterDisplay(displayConfig, "1.2.3.4") assert.Contains(t, arena.Displays, "1114") arena.MarkDisplayDisconnected(displayConfig.Id) arena.Displays["1114"].lastConnectedTime = time.Now().Add(-displayPurgeTtlMin * time.Minute) arena.purgeDisconnectedDisplays() assert.NotContains(t, arena.Displays, "1114") // Named configured displayConfig does not get purged by periodic task. displayConfig.Nickname = "Brunhilda" arena.RegisterDisplay(displayConfig, "1.2.3.4") assert.Contains(t, arena.Displays, "1114") arena.MarkDisplayDisconnected(displayConfig.Id) arena.Displays["1114"].lastConnectedTime = time.Now().Add(-displayPurgeTtlMin * time.Minute) arena.purgeDisconnectedDisplays() assert.Contains(t, arena.Displays, "1114") } ================================================ FILE: field/driver_station_connection.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model and methods for interacting with a team's Driver Station. package field import ( "errors" "fmt" "io" "log" "net" "time" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/network" ) // FMS uses 1121 for sending UDP packets, and FMS Lite uses 1120. Using 1121 // seems to work just fine and doesn't prompt to let FMS take control. const ( driverStationTcpListenPort = 1750 driverStationUdpSendPort = 1121 driverStationUdpSendPortLite = 1120 driverStationUdpReceivePort = 1160 driverStationTcpLinkTimeoutSec = 5 driverStationUdpLinkTimeoutSec = 1 maxTcpPacketBytes = 65537 // 2 for size, then 2^16-1 for data. ) type DriverStationConnection struct { TeamId int AllianceStation string Auto bool Enabled bool EStop bool AStop bool DsLinked bool RadioLinked bool RioLinked bool RobotLinked bool BatteryVoltage float64 DsRobotTripTimeMs int MissedPacketCount int SecondsSinceLastRobotLink float64 lastPacketTime time.Time lastRobotLinkedTime time.Time packetCount int tcpConn net.Conn udpConn net.Conn log *TeamMatchLog SentGameData string // WrongStation indicates if the team in the station is the incorrect team // by being non-empty. If the team is in the correct station, or no team is // connected, this is empty. WrongStation string } var allianceStationPositionMap = map[string]byte{"R1": 0, "R2": 1, "R3": 2, "B1": 3, "B2": 4, "B3": 5} func driverStationTeamIdFromRemoteAddr(addr net.Addr) (int, string, bool) { ipAddress, _, err := net.SplitHostPort(addr.String()) if err != nil { return 0, "", false } // Driver stations use team-specific 10.TE.AM.X addresses on a field network. ipAddressBytes := net.ParseIP(ipAddress).To4() if ipAddressBytes == nil || ipAddressBytes[0] != 10 { return 0, ipAddress, false } return int(ipAddressBytes[1])*100 + int(ipAddressBytes[2]), ipAddress, true } // Opens a UDP connection for communicating to the driver station. func newDriverStationConnection( teamId int, allianceStation string, tcpConn net.Conn, useLiteUdpPort bool, ) (*DriverStationConnection, error) { ipAddress, _, err := net.SplitHostPort(tcpConn.RemoteAddr().String()) if err != nil { return nil, err } log.Printf("Driver station for Team %d connected from %s\n", teamId, ipAddress) udpSendPort := driverStationUdpSendPort if useLiteUdpPort { udpSendPort = driverStationUdpSendPortLite } udpConn, err := net.Dial("udp4", fmt.Sprintf("%s:%d", ipAddress, udpSendPort)) if err != nil { return nil, err } return &DriverStationConnection{ TeamId: teamId, AllianceStation: allianceStation, tcpConn: tcpConn, udpConn: udpConn, }, nil } // Loops indefinitely to read packets and update connection status. func (arena *Arena) listenForDsUdpPackets() { udpAddress, err := net.ResolveUDPAddr("udp4", fmt.Sprintf("%s:%d", network.ServerIpAddress, driverStationUdpReceivePort)) if err != nil { log.Printf("Error resolving driver station UDP address: %v", err) log.Printf("Change IP address to %s and restart Cheesy Arena to fix.", network.ServerIpAddress) return } listener, err := net.ListenUDP("udp4", udpAddress) if err != nil { log.Fatalf("Error opening driver station UDP socket: %v", err) } log.Printf("Listening for driver stations on UDP port %d\n", driverStationUdpReceivePort) defer listener.Close() data := make([]byte, 1500) for { count, _ := listener.Read(data[:]) if count < 8 { log.Printf("Received packet with insufficient length: %d", count) continue } teamId := int(data[4])<<8 + int(data[5]) var dsConn *DriverStationConnection for _, allianceStation := range arena.AllianceStations { if allianceStation.Team != nil && allianceStation.Team.Id == teamId { dsConn = allianceStation.DsConn break } } if dsConn != nil { // Search through tags looking for tag 1 index := 8 for index < count { length := data[index] index++ if length == 0 { continue } if index+int(length) > count { log.Printf("Unable to finish parsing UDP packet") break } tag := data[index] if tag == 1 && length == 6 { lost := (int(data[index+1]) << 8) + int(data[index+2]) ping := int(data[index+5]) dsConn.MissedPacketCount = lost dsConn.DsRobotTripTimeMs = ping } index += int(length) } dsConn.DsLinked = true dsConn.lastPacketTime = time.Now() dsConn.RioLinked = data[3]&0x08 != 0 dsConn.RadioLinked = data[3]&0x10 != 0 dsConn.RobotLinked = data[3]&0x20 != 0 if dsConn.RobotLinked { dsConn.lastRobotLinkedTime = time.Now() // Robot battery voltage, stored as volts * 256. dsConn.BatteryVoltage = float64(data[6]) + float64(data[7])/256 } } } } // Sends a control packet to the Driver Station and checks for timeout conditions. func (dsConn *DriverStationConnection) update(arena *Arena, gameData string) error { err := dsConn.sendControlPacket(arena, gameData) if err != nil { return err } if time.Since(dsConn.lastPacketTime).Seconds() > driverStationUdpLinkTimeoutSec { dsConn.DsLinked = false dsConn.RadioLinked = false dsConn.RioLinked = false dsConn.RobotLinked = false dsConn.BatteryVoltage = 0 } dsConn.SecondsSinceLastRobotLink = time.Since(dsConn.lastRobotLinkedTime).Seconds() return nil } func (dsConn *DriverStationConnection) close() { if dsConn.log != nil { dsConn.log.Close() } if dsConn.udpConn != nil { dsConn.udpConn.Close() } if dsConn.tcpConn != nil { dsConn.tcpConn.Close() } } // Called at the start of the match to allow for driver station initialization. func (dsConn *DriverStationConnection) signalMatchStart(match *model.Match, wifiStatus *network.TeamWifiStatus) error { // Zero out missed packet count and begin logging. dsConn.MissedPacketCount = 0 var err error dsConn.log, err = NewTeamMatchLog(dsConn.TeamId, match, wifiStatus) return err } // Serializes the control information into a packet. func (dsConn *DriverStationConnection) encodeControlPacket(arena *Arena) [22]byte { var packet [22]byte // Packet number, stored big-endian in two bytes. packet[0] = byte((dsConn.packetCount >> 8) & 0xff) packet[1] = byte(dsConn.packetCount & 0xff) // Protocol version. packet[2] = 0 // Robot status byte. packet[3] = 0 if dsConn.Auto { packet[3] |= 0x02 } if dsConn.Enabled { packet[3] |= 0x04 } if dsConn.EStop { packet[3] |= 0x80 } if dsConn.AStop { packet[3] |= 0x40 } // Unknown or unused. packet[4] = 0 // Alliance station. packet[5] = allianceStationPositionMap[dsConn.AllianceStation] // Match type. match := arena.CurrentMatch switch match.Type { case model.Practice: packet[6] = 1 case model.Qualification: packet[6] = 2 case model.Playoff: packet[6] = 3 default: packet[6] = 0 } // Match number. packet[7] = byte(match.TypeOrder >> 8) packet[8] = byte(match.TypeOrder & 0xff) packet[9] = 1 // Match repeat number // Current time. currentTime := time.Now() packet[10] = byte(((currentTime.Nanosecond() / 1000) >> 24) & 0xff) packet[11] = byte(((currentTime.Nanosecond() / 1000) >> 16) & 0xff) packet[12] = byte(((currentTime.Nanosecond() / 1000) >> 8) & 0xff) packet[13] = byte((currentTime.Nanosecond() / 1000) & 0xff) packet[14] = byte(currentTime.Second()) packet[15] = byte(currentTime.Minute()) packet[16] = byte(currentTime.Hour()) packet[17] = byte(currentTime.Day()) packet[18] = byte(currentTime.Month()) packet[19] = byte(currentTime.Year() - 1900) // Remaining number of seconds in match. var matchSecondsRemaining int switch arena.MatchState { case PreMatch, TimeoutActive, PostTimeout: matchSecondsRemaining = game.MatchTiming.AutoDurationSec case StartMatch, AutoPeriod: matchSecondsRemaining = game.MatchTiming.AutoDurationSec - int(arena.MatchTimeSec()) case PausePeriod: matchSecondsRemaining = game.MatchTiming.TeleopDurationSec case TeleopPeriod: matchSecondsRemaining = game.MatchTiming.AutoDurationSec + game.MatchTiming.TeleopDurationSec + game.MatchTiming.PauseDurationSec - int(arena.MatchTimeSec()) default: matchSecondsRemaining = 0 } packet[20] = byte(matchSecondsRemaining >> 8 & 0xff) packet[21] = byte(matchSecondsRemaining & 0xff) // Increment the packet count for next time. dsConn.packetCount++ return packet } // Builds and sends the next control packet to the Driver Station. func (dsConn *DriverStationConnection) sendControlPacket(arena *Arena, gameData string) error { gameDataErr := dsConn.checkGameData(gameData) packet := dsConn.encodeControlPacket(arena) if dsConn.udpConn != nil { _, err := dsConn.udpConn.Write(packet[:]) if err != nil { return err } } return gameDataErr } // Listens for TCP connection requests to Cheesy Arena from driver stations. func (arena *Arena) listenForDriverStations() { l, err := net.Listen("tcp", fmt.Sprintf("%s:%d", network.ServerIpAddress, driverStationTcpListenPort)) if err != nil { log.Printf("Error opening driver station TCP socket: %v", err.Error()) log.Printf("Change IP address to %s and restart Cheesy Arena to fix.", network.ServerIpAddress) return } defer l.Close() arena.serveDriverStations(l) } func (arena *Arena) serveDriverStations(listener net.Listener) { if tcpAddr, ok := listener.Addr().(*net.TCPAddr); ok { log.Printf("Listening for driver stations on TCP port %d\n", tcpAddr.Port) } else { log.Printf("Listening for driver stations on TCP address %s\n", listener.Addr()) } for { tcpConn, err := listener.Accept() if err != nil { if errors.Is(err, net.ErrClosed) { return } log.Println("Error accepting driver station connection: ", err.Error()) continue } // Read the team number back and start tracking the driver station. var packet [5]byte _, err = readTaggedTcpPacket(tcpConn, packet[:]) if err != nil { log.Println("Error reading initial packet: ", err.Error()) continue } if !(packet[0] == 0 && packet[1] == 3 && packet[2] == 24) { log.Printf("Invalid initial packet received: %v", packet) tcpConn.Close() continue } teamId := int(packet[3])<<8 + int(packet[4]) // Check to see if the team is supposed to be on the field, and notify the DS accordingly. assignedStation := arena.getAssignedAllianceStation(teamId) if assignedStation == "" { log.Printf("Rejecting connection from Team %d, who is not in the current match, soon.", teamId) go handleInvalidTcpConnection(tcpConn, 2, 0) continue } // Read the team number from the IP address to check for a station mismatch. stationStatus := byte(0) wrongAssignedStation := "" if arena.EventSettings.NetworkSecurityEnabled { stationTeamId, ipAddress, ok := driverStationTeamIdFromRemoteAddr(tcpConn.RemoteAddr()) if ok && stationTeamId != teamId { wrongAssignedStation = arena.getAssignedAllianceStation(stationTeamId) // The team is supposed to be in this match, but is plugged into the wrong station. if wrongAssignedStation != "" { log.Printf("Team %d is in incorrect station %s.", teamId, wrongAssignedStation) stationStatus = 1 } else { log.Printf("Team %d is in unknown station with IP address %s.", teamId, ipAddress) stationStatus = 1 } } } var assignmentPacket [5]byte assignmentPacket[0] = 0 // Packet size assignmentPacket[1] = 3 // Packet size assignmentPacket[2] = 25 // Packet type log.Printf("Accepting connection from Team %d in station %s.", teamId, assignedStation) assignmentPacket[3] = allianceStationPositionMap[assignedStation] assignmentPacket[4] = stationStatus _, err = tcpConn.Write(assignmentPacket[:]) if err != nil { log.Printf("Error sending driver station assignment packet: %v", err) tcpConn.Close() continue } // Write event code here. We need to strip any numbers off the front if it has it. // We also need to limit to 62 characters. eventName := arena.EventSettings.TbaEventCode if len(eventName) > 0 { trimIndex := 0 for trimIndex < len(eventName) && eventName[trimIndex] >= '0' && eventName[trimIndex] <= '9' { trimIndex++ } eventName = eventName[trimIndex:] if len(eventName) > 62 { eventName = eventName[:62] } if len(eventName) > 0 { eventNamePacket := make([]byte, 4+len(eventName)) eventNamePacket[0] = 0 eventNamePacket[1] = byte(len(eventName) + 2) eventNamePacket[2] = 20 // Packet type for event name eventNamePacket[3] = byte(len(eventName)) copy(eventNamePacket[4:], []byte(eventName)) _, err = tcpConn.Write(eventNamePacket) if err != nil { log.Printf("Error sending event name packet: %v", err) tcpConn.Close() continue } } } dsConn, err := newDriverStationConnection(teamId, assignedStation, tcpConn, arena.EventSettings.UseLiteUdpPort) if err != nil { log.Printf("Error registering driver station connection: %v", err) tcpConn.Close() continue } arena.AllianceStations[assignedStation].DsConn = dsConn if wrongAssignedStation != "" { dsConn.WrongStation = wrongAssignedStation } // Spin up a goroutine to handle further TCP communication with this driver station. go dsConn.handleTcpConnection(arena) } } func readTaggedTcpPacket(tcpConn net.Conn, buffer []byte) (int, error) { if len(buffer) < 2 { return 0, fmt.Errorf("buffer too small to read TCP packet") } tcpConn.SetReadDeadline(time.Now().Add(time.Second * driverStationTcpLinkTimeoutSec)) _, err := io.ReadFull(tcpConn, buffer[:2]) if err != nil { return 0, err } packetLength := int(buffer[0])<<8 + int(buffer[1]) if len(buffer) < 2+packetLength { return 0, fmt.Errorf("buffer too small to read full TCP packet") } _, err = io.ReadFull(tcpConn, buffer[2:2+packetLength]) if err != nil { return 0, err } return 2 + packetLength, nil } func (dsConn *DriverStationConnection) handleTcpConnection(arena *Arena) { buffer := make([]byte, maxTcpPacketBytes) for { _, err := readTaggedTcpPacket(dsConn.tcpConn, buffer) if err != nil { log.Printf("Error reading from connection for Team %d: %v", dsConn.TeamId, err) dsConn.close() if arena.AllianceStations[dsConn.AllianceStation].DsConn == dsConn { arena.AllianceStations[dsConn.AllianceStation].DsConn = nil } break } packetType := int(buffer[2]) switch packetType { case 29: // DS keepalive packet; do nothing. continue case 22: // Robot log packet. Just use to trigger fms log // Create a log entry if the match is in progress. matchTimeSec := arena.MatchTimeSec() if matchTimeSec > 0 && dsConn.log != nil { dsConn.log.LogDsPacket(matchTimeSec, packetType, dsConn) } default: log.Printf("Received unknown packet type %d from Team %d", packetType, dsConn.TeamId) } } } func handleInvalidTcpConnection(tcpConn net.Conn, status int, station int) { log.Printf("Handling invalid TCP connection from %v with status %d and station %d", tcpConn.RemoteAddr(), status, station) var assignmentPacket [5]byte assignmentPacket[0] = 0 // Packet size assignmentPacket[1] = 3 // Packet size assignmentPacket[2] = 25 // Packet type assignmentPacket[3] = byte(station) assignmentPacket[4] = byte(status) _, err := tcpConn.Write(assignmentPacket[:]) if err != nil { log.Printf("Error sending invalid driver station assignment packet: %v", err) tcpConn.Close() return } buffer := make([]byte, maxTcpPacketBytes) for { _, err := readTaggedTcpPacket(tcpConn, buffer) if err != nil { log.Printf("Error reading from connection for invalid driver station: %v", err) break } } tcpConn.Close() } func (dsConn *DriverStationConnection) checkGameData(gameData string) error { needsGameDataUpdate := dsConn.SentGameData != gameData if needsGameDataUpdate { err := dsConn.sendGameDataPacket(gameData) if err != nil { log.Printf("Error sending game data packet to Team %d: %v", dsConn.TeamId, err) return err } else { dsConn.SentGameData = gameData } } return nil } // Sends a TCP packet containing the given game data to the driver station. func (dsConn *DriverStationConnection) sendGameDataPacket(gameData string) error { byteData := []byte(gameData) size := len(byteData) packet := make([]byte, size+4) packet[0] = 0 // Packet size packet[1] = byte(size + 2) // Packet size packet[2] = 28 // Packet type packet[3] = byte(size) // Data size // Fill the rest of the packet with the data. for i, character := range byteData { packet[i+4] = character } if dsConn.tcpConn != nil { _, err := dsConn.tcpConn.Write(packet) return err } return nil } ================================================ FILE: field/driver_station_connection_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package field import ( "fmt" "net" "testing" "time" "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" ) func TestEncodeControlPacket(t *testing.T) { arena := setupTestArena(t) tcpConn := setupFakeTcpConnection(t) defer tcpConn.Close() dsConn, err := newDriverStationConnection(254, "R1", tcpConn, false) assert.Nil(t, err) defer dsConn.close() data := dsConn.encodeControlPacket(arena) assert.Equal(t, byte(0), data[5]) assert.Equal(t, byte(0), data[6]) assert.Equal(t, byte(0), data[20]) assert.Equal(t, byte(15), data[21]) // Check the different alliance station values. dsConn.AllianceStation = "R2" data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(1), data[5]) dsConn.AllianceStation = "R3" data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(2), data[5]) dsConn.AllianceStation = "B1" data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(3), data[5]) dsConn.AllianceStation = "B2" data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(4), data[5]) dsConn.AllianceStation = "B3" data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(5), data[5]) // Check packet count rollover. dsConn.packetCount = 255 data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(0), data[0]) assert.Equal(t, byte(255), data[1]) data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(1), data[0]) assert.Equal(t, byte(0), data[1]) data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(1), data[0]) assert.Equal(t, byte(1), data[1]) dsConn.packetCount = 65535 data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(255), data[0]) assert.Equal(t, byte(255), data[1]) data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(0), data[0]) assert.Equal(t, byte(0), data[1]) // Check different robot statuses. dsConn.Auto = true data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(2), data[3]) dsConn.Enabled = true data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(6), data[3]) dsConn.Auto = false data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(4), data[3]) dsConn.EStop = true data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(132), data[3]) dsConn.AStop = true data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(196), data[3]) // Check different match types. arena.CurrentMatch.Type = model.Practice data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(1), data[6]) arena.CurrentMatch.Type = model.Qualification data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(2), data[6]) arena.CurrentMatch.Type = model.Playoff data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(3), data[6]) // Check match numbers. arena.CurrentMatch.Type = model.Practice arena.CurrentMatch.TypeOrder = 42 data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(0), data[7]) assert.Equal(t, byte(42), data[8]) arena.CurrentMatch.Type = model.Qualification arena.CurrentMatch.TypeOrder = 258 data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(1), data[7]) assert.Equal(t, byte(2), data[8]) arena.CurrentMatch.Type = model.Playoff arena.CurrentMatch.TypeOrder = 13 data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(0), data[7]) assert.Equal(t, byte(13), data[8]) // Check the countdown at different points during the match. arena.MatchState = AutoPeriod arena.MatchStartTime = time.Now().Add(-time.Duration(4 * time.Second)) data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(11), data[21]) arena.MatchState = PausePeriod arena.MatchStartTime = time.Now().Add(-time.Duration(16 * time.Second)) data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(135), data[21]) arena.MatchState = TeleopPeriod arena.MatchStartTime = time.Now().Add(-time.Duration(33 * time.Second)) data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(119), data[21]) arena.MatchStartTime = time.Now().Add(-time.Duration(150 * time.Second)) data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(2), data[21]) arena.MatchState = PostMatch arena.MatchStartTime = time.Now().Add(-time.Duration(180 * time.Second)) data = dsConn.encodeControlPacket(arena) assert.Equal(t, byte(0), data[21]) } func TestSendControlPacket(t *testing.T) { arena := setupTestArena(t) tcpConn := setupFakeTcpConnection(t) defer tcpConn.Close() dsConn, err := newDriverStationConnection(254, "R1", tcpConn, false) assert.Nil(t, err) defer dsConn.close() // No real way of checking this since the destination IP is remote, so settle for there being no errors. err = dsConn.sendControlPacket(arena, "") assert.Nil(t, err) } func TestListenForDriverStations(t *testing.T) { arena := setupTestArena(t) serverAddress := startTestDriverStationServer(t, arena) // Connect with an invalid initial packet. tcpConn, err := net.Dial("tcp", serverAddress) if assert.Nil(t, err) { dataSend := [5]byte{0, 3, 29, 0, 0} tcpConn.Write(dataSend[:]) var dataReceived [100]byte _, err = readTaggedTcpPacket(tcpConn, dataReceived[:]) assert.NotNil(t, err) tcpConn.Close() } // Connect as a team not in the current match. tcpConn, err = net.Dial("tcp", serverAddress) if assert.Nil(t, err) { dataSend := [5]byte{0, 3, 24, 5, 223} tcpConn.Write(dataSend[:]) var dataReceived [5]byte count, err := readTaggedTcpPacket(tcpConn, dataReceived[:]) assert.Nil(t, err) assert.Equal(t, count, 5) assert.Equal(t, [5]byte{0, 3, 25, 0, 2}, dataReceived) tcpConn.Close() } // Connect as a team in the current match. arena.assignTeam(1503, "B2") // Connect as a team in the current match with a fragmented initial packet. tcpConn, err = net.Dial("tcp", serverAddress) if assert.Nil(t, err) { defer tcpConn.Close() dataSend := [5]byte{0, 3, 24, 5, 223} tcpConn.Write(dataSend[:1]) tcpConn.Write(dataSend[1:5]) var dataReceived [5]byte count, err := readTaggedTcpPacket(tcpConn, dataReceived[:]) assert.Nil(t, err) assert.Equal(t, count, 5) } // Set event name arena.EventSettings.TbaEventCode = "2026CC" tcpConn, err = net.Dial("tcp", serverAddress) if assert.Nil(t, err) { defer tcpConn.Close() dataSend := [5]byte{0, 3, 24, 5, 223} tcpConn.Write(dataSend[:]) var dataReceived [100]byte _, err := readTaggedTcpPacket(tcpConn, dataReceived[:]) assert.Nil(t, err) // Read event name count, err := readTaggedTcpPacket(tcpConn, dataReceived[:]) assert.Nil(t, err) assert.Equal(t, count, 6) assert.Equal(t, []byte{0, 4, 20, 2, 67, 67}, dataReceived[:6]) } tcpConn, err = net.Dial("tcp", serverAddress) if assert.Nil(t, err) { defer tcpConn.Close() dataSend := [5]byte{0, 3, 24, 5, 223} tcpConn.Write(dataSend[:]) var dataReceived [5]byte _, err = readTaggedTcpPacket(tcpConn, dataReceived[:]) assert.Nil(t, err) assert.Equal(t, [5]byte{0, 3, 25, 4, 0}, dataReceived) dsConn := waitForDriverStationConnection(t, arena, "B2") if assert.NotNil(t, dsConn) { assert.Equal(t, 1503, dsConn.TeamId) assert.Equal(t, "B2", dsConn.AllianceStation) // Check that an unknown packet type gets ignored and a status packet gets decoded. dataSend = [5]byte{0, 3, 37, 0, 0} tcpConn.Write(dataSend[:]) } } } func TestListenForDriverStations_NetworkSecurityIgnoresNonFieldIp(t *testing.T) { arena := setupTestArena(t) arena.EventSettings.NetworkSecurityEnabled = true arena.assignTeam(1503, "B2") serverAddress := startTestDriverStationServer(t, arena) tcpConn, err := net.Dial("tcp", serverAddress) if assert.Nil(t, err) { defer tcpConn.Close() dataSend := [5]byte{0, 3, 24, 5, 223} tcpConn.Write(dataSend[:]) var dataReceived [5]byte _, err = readTaggedTcpPacket(tcpConn, dataReceived[:]) assert.Nil(t, err) assert.Equal(t, [5]byte{0, 3, 25, 4, 0}, dataReceived) dsConn := waitForDriverStationConnection(t, arena, "B2") if assert.NotNil(t, dsConn) { assert.Equal(t, "", dsConn.WrongStation) } } } func TestNewDriverStationConnection_UdpPortSelection(t *testing.T) { tcpConn := setupFakeTcpConnection(t) defer tcpConn.Close() // Test with default settings (FMS port). dsConn, err := newDriverStationConnection(254, "R1", tcpConn, false) assert.Nil(t, err) defer dsConn.close() assert.Contains(t, dsConn.udpConn.RemoteAddr().String(), fmt.Sprintf(":%d", driverStationUdpSendPort)) tcpConnLite := setupFakeTcpConnection(t) defer tcpConnLite.Close() // Test with FMS Lite port enabled. dsConnLite, err := newDriverStationConnection(254, "R1", tcpConnLite, true) assert.Nil(t, err) defer dsConnLite.close() assert.Contains(t, dsConnLite.udpConn.RemoteAddr().String(), fmt.Sprintf(":%d", driverStationUdpSendPortLite)) } func setupFakeTcpConnection(t *testing.T) net.Conn { // Set up a fake TCP endpoint and connection to it. l, err := net.Listen("tcp", "127.0.0.1:0") assert.Nil(t, err) defer l.Close() tcpConn, err := net.Dial("tcp", l.Addr().String()) assert.Nil(t, err) return tcpConn } func startTestDriverStationServer(t *testing.T, arena *Arena) string { listener, err := net.Listen("tcp", "127.0.0.1:0") assert.Nil(t, err) t.Cleanup(func() { listener.Close() }) go arena.serveDriverStations(listener) return listener.Addr().String() } func waitForDriverStationConnection(t *testing.T, arena *Arena, station string) *DriverStationConnection { t.Helper() var dsConn *DriverStationConnection if !assert.Eventually(t, func() bool { dsConn = arena.AllianceStations[station].DsConn return dsConn != nil }, time.Second, 10*time.Millisecond) { return nil } return dsConn } ================================================ FILE: field/event_status.go ================================================ // Copyright 2020 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model and functions for reporting on event status. package field import ( "fmt" "github.com/Team254/cheesy-arena/model" "math" "time" ) const maxExpectedCycleTimeSec = 900 type EventStatus struct { CycleTime string EarlyLateMessage string lastMatchStartTime time.Time lastMatchScheduledStartTime time.Time } // Calculates the last cycle time and publishes an update to the displays that show it. func (arena *Arena) updateCycleTime(matchStartTime time.Time) { expectedCycleTimeSec := arena.CurrentMatch.Time.Sub(arena.EventStatus.lastMatchScheduledStartTime).Seconds() if arena.EventStatus.lastMatchStartTime.IsZero() || expectedCycleTimeSec > maxExpectedCycleTimeSec || arena.CurrentMatch.Type == model.Test { // We don't know when the previous match was started or there was a big gap that we shouldn't count. arena.EventStatus.CycleTime = "" } else { cycleTimeSec := int(matchStartTime.Sub(arena.EventStatus.lastMatchStartTime).Seconds()) hours := cycleTimeSec / 3600 minutes := cycleTimeSec % 3600 / 60 seconds := cycleTimeSec % 60 if hours > 0 { arena.EventStatus.CycleTime = fmt.Sprintf("%d:%02d:%02d", hours, minutes, seconds) } else { arena.EventStatus.CycleTime = fmt.Sprintf("%d:%02d", minutes, seconds) } deltaSec := cycleTimeSec - int(expectedCycleTimeSec) var direction string if deltaSec > 0 { direction = "slower" } else { direction = "faster" deltaSec = -deltaSec } arena.EventStatus.CycleTime += fmt.Sprintf( " (%d:%02d %s than scheduled)", deltaSec/60, deltaSec%60, direction, ) } arena.EventStatus.lastMatchStartTime = matchStartTime arena.EventStatus.lastMatchScheduledStartTime = arena.CurrentMatch.Time arena.EventStatusNotifier.Notify() } // Checks how early or late the event is running and publishes an update to the displays that show it. func (arena *Arena) updateEarlyLateMessage() { newEarlyLateMessage := arena.getEarlyLateMessage() if newEarlyLateMessage != arena.EventStatus.EarlyLateMessage { arena.EventStatus.EarlyLateMessage = newEarlyLateMessage arena.EventStatusNotifier.Notify() } } // Updates the string that indicates how early or late the event is running. func (arena *Arena) getEarlyLateMessage() string { currentMatch := arena.CurrentMatch if currentMatch.Type == model.Test { return "" } if currentMatch.IsComplete() { // This is a replay or otherwise unpredictable situation. return "" } var minutesLate float64 if arena.MatchState > PreMatch && arena.MatchState < PostMatch { // The match is in progress; simply calculate lateness from its start time. minutesLate = currentMatch.StartedAt.Sub(currentMatch.Time).Minutes() } else { // We need to check the adjacent matches to accurately determine lateness. matches, _ := arena.Database.GetMatchesByType(currentMatch.Type, false) previousMatchIndex := -1 nextMatchIndex := len(matches) for i, match := range matches { if match.Id == currentMatch.Id { previousMatchIndex = i - 1 nextMatchIndex = i + 1 break } } if arena.MatchState == PreMatch || arena.MatchState == TimeoutActive || arena.MatchState == PostTimeout { currentMinutesLate := time.Now().Sub(currentMatch.Time).Minutes() if previousMatchIndex >= 0 && currentMatch.Time.Sub(matches[previousMatchIndex].Time).Minutes() <= MaxMatchGapMin { previousMatch := matches[previousMatchIndex] previousMinutesLate := previousMatch.StartedAt.Sub(previousMatch.Time).Minutes() minutesLate = math.Max(previousMinutesLate, currentMinutesLate) } else { minutesLate = math.Max(currentMinutesLate, 0) } } else if arena.MatchState == PostMatch { currentMinutesLate := currentMatch.StartedAt.Sub(currentMatch.Time).Minutes() if nextMatchIndex < len(matches) { nextMatch := matches[nextMatchIndex] nextMinutesLate := time.Now().Sub(nextMatch.Time).Minutes() minutesLate = math.Max(currentMinutesLate, nextMinutesLate) } else { minutesLate = currentMinutesLate } } } if minutesLate > earlyLateThresholdMin { return fmt.Sprintf("Event is running %d minutes late", int(minutesLate)) } else if minutesLate < -earlyLateThresholdMin { return fmt.Sprintf("Event is running %d minutes early", int(-minutesLate)) } return "Event is running on schedule" } ================================================ FILE: field/event_status_test.go ================================================ // Copyright 2020 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package field import ( "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "testing" "time" ) func TestCycleTime(t *testing.T) { arena := setupTestArena(t) arena.CurrentMatch.Type = model.Practice assert.Equal(t, "", arena.EventStatus.CycleTime) arena.updateCycleTime(time.Time{}) assert.Equal(t, "", arena.EventStatus.CycleTime) arena.updateCycleTime(time.Now().Add(-125 * time.Second)) assert.Equal(t, "", arena.EventStatus.CycleTime) arena.updateCycleTime(time.Now()) assert.Regexp(t, "2:05.*", arena.EventStatus.CycleTime) arena.updateCycleTime(time.Now().Add(3456 * time.Second)) assert.Regexp(t, "57:36.*", arena.EventStatus.CycleTime) arena.updateCycleTime(time.Now().Add(5 * time.Hour)) assert.Regexp(t, "4:02:24.*", arena.EventStatus.CycleTime) arena.updateCycleTime(time.Now().Add(123*time.Hour + 1256*time.Second)) assert.Regexp(t, "118:20:56.*", arena.EventStatus.CycleTime) // Cycle time should be suppressed for test matches. arena.CurrentMatch.Type = model.Test arena.updateCycleTime(time.Now().Add(123*time.Hour + 1256*time.Second)) assert.Regexp(t, "", arena.EventStatus.CycleTime) } func TestCycleTimeDelta(t *testing.T) { arena := setupTestArena(t) arena.CurrentMatch.Type = model.Practice // Check perfect cycle time. arena.CurrentMatch.Time = time.Unix(1000, 0) arena.updateCycleTime(time.Unix(1000, 0)) assert.Equal(t, "", arena.EventStatus.CycleTime) arena.CurrentMatch.Time = time.Unix(1754, 0) arena.updateCycleTime(time.Unix(1754, 0)) assert.Equal(t, "12:34 (0:00 faster than scheduled)", arena.EventStatus.CycleTime) // Check faster cycle time. arena.CurrentMatch.Time = time.Unix(1000, 0) arena.updateCycleTime(time.Unix(1000, 0)) arena.CurrentMatch.Time = time.Unix(1500, 0) arena.updateCycleTime(time.Unix(1417, 0)) assert.Equal(t, "6:57 (1:23 faster than scheduled)", arena.EventStatus.CycleTime) // Check slower cycle time. arena.CurrentMatch.Time = time.Unix(1000, 0) arena.updateCycleTime(time.Unix(1000, 0)) arena.CurrentMatch.Time = time.Unix(1500, 0) arena.updateCycleTime(time.Unix(2500, 0)) assert.Equal(t, "25:00 (16:40 slower than scheduled)", arena.EventStatus.CycleTime) // Check over a long gap in the schedule. arena.CurrentMatch.Time = time.Unix(1000, 0) arena.updateCycleTime(time.Unix(1000, 0)) arena.CurrentMatch.Time = time.Unix(2000, 0) arena.updateCycleTime(time.Unix(2000, 0)) assert.Equal(t, "", arena.EventStatus.CycleTime) } func TestEarlyLateMessage(t *testing.T) { arena := setupTestArena(t) arena.LoadTestMatch() assert.Equal(t, "", arena.getEarlyLateMessage()) arena.Database.CreateMatch(&model.Match{Type: model.Qualification, TypeOrder: 1}) arena.Database.CreateMatch(&model.Match{Type: model.Qualification, TypeOrder: 2}) matches, _ := arena.Database.GetMatchesByType(model.Qualification, false) assert.Equal(t, 2, len(matches)) setMatch(arena.Database, &matches[0], time.Now().Add(300*time.Second), time.Time{}, false) arena.CurrentMatch = &matches[0] arena.MatchState = PreMatch assert.Equal(t, "Event is running on schedule", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[0], time.Now().Add(60*time.Second), time.Time{}, false) assert.Equal(t, "Event is running on schedule", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[0], time.Now().Add(-60*time.Second), time.Time{}, false) assert.Equal(t, "Event is running on schedule", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[0], time.Now().Add(-120*time.Second), time.Time{}, false) assert.Equal(t, "Event is running on schedule", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[0], time.Now().Add(-180*time.Second), time.Time{}, false) assert.Equal(t, "Event is running 3 minutes late", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[0], time.Now().Add(181*time.Second), time.Now(), false) arena.MatchState = AutoPeriod assert.Equal(t, "Event is running 3 minutes early", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[0], time.Now().Add(-300*time.Second), time.Now().Add(-601*time.Second), false) setMatch(arena.Database, &matches[1], time.Now().Add(481*time.Second), time.Time{}, false) arena.MatchState = PostMatch assert.Equal(t, "Event is running 5 minutes early", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[1], time.Now().Add(181*time.Second), time.Time{}, false) assert.Equal(t, "Event is running 3 minutes early", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[1], time.Now().Add(-60*time.Second), time.Time{}, false) assert.Equal(t, "Event is running on schedule", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[1], time.Now().Add(-180*time.Second), time.Time{}, false) assert.Equal(t, "Event is running 3 minutes late", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[0], time.Now().Add(-300*time.Second), time.Now().Add(-601*time.Second), true) assert.Equal(t, "", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[1], time.Now().Add(901*time.Second), time.Time{}, false) arena.CurrentMatch = &matches[1] arena.MatchState = PreMatch assert.Equal(t, "Event is running on schedule", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[1], time.Now().Add(899*time.Second), time.Time{}, false) assert.Equal(t, "Event is running 5 minutes early", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[1], time.Now().Add(60*time.Second), time.Time{}, false) assert.Equal(t, "Event is running on schedule", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[1], time.Now().Add(-120*time.Second), time.Time{}, false) assert.Equal(t, "Event is running on schedule", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[1], time.Now().Add(-180*time.Second), time.Time{}, false) assert.Equal(t, "Event is running 3 minutes late", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[1], time.Now().Add(-180*time.Second), time.Now().Add(-541*time.Second), false) arena.MatchState = TeleopPeriod assert.Equal(t, "Event is running 6 minutes early", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[1], time.Now(), time.Now().Add(481*time.Second), false) arena.MatchState = PostMatch assert.Equal(t, "Event is running 8 minutes late", arena.getEarlyLateMessage()) setMatch(arena.Database, &matches[1], time.Now(), time.Now().Add(481*time.Second), true) assert.Equal(t, "", arena.getEarlyLateMessage()) // Check other match types. arena.MatchState = PreMatch arena.CurrentMatch = &model.Match{Type: model.Practice, Time: time.Now().Add(-181 * time.Second)} assert.Equal(t, "Event is running 3 minutes late", arena.getEarlyLateMessage()) arena.CurrentMatch = &model.Match{Type: model.Playoff, Time: time.Now().Add(-181 * time.Second)} assert.Equal(t, "Event is running 3 minutes late", arena.getEarlyLateMessage()) } func setMatch(database *model.Database, match *model.Match, matchTime time.Time, startedAt time.Time, isComplete bool) { match.Time = matchTime match.StartedAt = startedAt if isComplete { match.Status = game.TieMatch } else { match.Status = game.MatchScheduled } _ = database.UpdateMatch(match) } ================================================ FILE: field/fake_plc_test.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Contains a fake implementation of the PLC interface for testing. package field import ( "github.com/Team254/cheesy-arena/websocket" ) type FakePlc struct { isEnabled bool fieldEStop bool redEStops [3]bool blueEStops [3]bool redAStops [3]bool blueAStops [3]bool redEthernetConnected [3]bool blueEthernetConnected [3]bool stackLights [4]bool stackLightBuzzer bool fieldResetLight bool cycleState bool redProcessorCount int blueProcessorCount int redTrussLights [3]bool blueTrussLights [3]bool } func (plc *FakePlc) SetAddress(address string) { } func (plc *FakePlc) IsEnabled() bool { return plc.isEnabled } func (plc *FakePlc) IsHealthy() bool { return true } func (plc *FakePlc) IoChangeNotifier() *websocket.Notifier { return nil } func (plc *FakePlc) Run() { } func (plc *FakePlc) GetArmorBlockStatuses() map[string]bool { return map[string]bool{} } func (plc *FakePlc) GetFieldEStop() bool { return plc.fieldEStop } func (plc *FakePlc) GetTeamEStops() ([3]bool, [3]bool) { return plc.redEStops, plc.blueEStops } func (plc *FakePlc) GetTeamAStops() ([3]bool, [3]bool) { return plc.redAStops, plc.blueAStops } func (plc *FakePlc) GetEthernetConnected() ([3]bool, [3]bool) { return plc.redEthernetConnected, plc.blueEthernetConnected } func (plc *FakePlc) ResetMatch() { } func (plc *FakePlc) SetStackLights(red, blue, orange, green bool) { plc.stackLights[0] = red plc.stackLights[1] = blue plc.stackLights[2] = orange plc.stackLights[3] = green } func (plc *FakePlc) SetStackBuzzer(state bool) { plc.stackLightBuzzer = state } func (plc *FakePlc) SetFieldResetLight(state bool) { plc.fieldResetLight = state } func (plc *FakePlc) GetCycleState(max, index, duration int) bool { return plc.cycleState } func (plc *FakePlc) GetInputNames() []string { return []string{} } func (plc *FakePlc) GetRegisterNames() []string { return []string{} } func (plc *FakePlc) GetCoilNames() []string { return []string{} } func (plc *FakePlc) GetProcessorCounts() (int, int) { return plc.redProcessorCount, plc.blueProcessorCount } func (plc *FakePlc) SetTrussLights(redLights, blueLights [3]bool) { plc.redTrussLights = redLights plc.blueTrussLights = blueLights } ================================================ FILE: field/realtime_score.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model representing the current state of the score during a match. package field import "github.com/Team254/cheesy-arena/game" type RealtimeScore struct { CurrentScore game.Score Cards map[string]string FoulsCommitted bool } func NewRealtimeScore() *RealtimeScore { return &RealtimeScore{Cards: make(map[string]string)} } ================================================ FILE: field/scoring_panel_registry.go ================================================ // Copyright 2019 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model representing and methods for tracking the state of a realtime scoring panel. package field import ( "github.com/Team254/cheesy-arena/websocket" "sync" ) type ScoringPanelRegistry struct { scoringPanels map[string]map[*websocket.Websocket]bool // The score committed state for each panel. mutex sync.Mutex } func (registry *ScoringPanelRegistry) initialize() { registry.scoringPanels = map[string]map[*websocket.Websocket]bool{} } // Resets the score committed state for each registered panel to false. func (registry *ScoringPanelRegistry) resetScoreCommitted() { registry.mutex.Lock() defer registry.mutex.Unlock() for _, panels := range registry.scoringPanels { for key := range panels { panels[key] = false } } } // Returns the number of registered panels for the given position. func (registry *ScoringPanelRegistry) GetNumPanels(position string) int { registry.mutex.Lock() defer registry.mutex.Unlock() return len(registry.scoringPanels[position]) } // Returns the number of registered panels whose score is committed for the given position. func (registry *ScoringPanelRegistry) GetNumScoreCommitted(position string) int { registry.mutex.Lock() defer registry.mutex.Unlock() numCommitted := 0 for _, panel := range registry.scoringPanels[position] { if panel { numCommitted++ } } return numCommitted } // Adds a panel to the registry, referenced by its websocket pointer. func (registry *ScoringPanelRegistry) RegisterPanel(position string, ws *websocket.Websocket) { registry.mutex.Lock() defer registry.mutex.Unlock() if registry.scoringPanels[position] == nil { registry.scoringPanels[position] = make(map[*websocket.Websocket]bool) } registry.scoringPanels[position][ws] = false } // Sets the score committed state to true for the given panel, referenced by its websocket pointer. func (registry *ScoringPanelRegistry) SetScoreCommitted(position string, ws *websocket.Websocket) { registry.mutex.Lock() defer registry.mutex.Unlock() registry.scoringPanels[position][ws] = true } // Removes a panel from the registry, referenced by its websocket pointer. func (registry *ScoringPanelRegistry) UnregisterPanel(position string, ws *websocket.Websocket) { registry.mutex.Lock() defer registry.mutex.Unlock() delete(registry.scoringPanels[position], ws) } ================================================ FILE: field/scoring_panel_registry_test.go ================================================ // Copyright 2019 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package field import ( "github.com/Team254/cheesy-arena/websocket" "github.com/stretchr/testify/assert" "testing" ) func TestScoringPanelRegistry(t *testing.T) { var registry ScoringPanelRegistry registry.initialize() assert.Equal(t, 0, registry.GetNumPanels("red")) assert.Equal(t, 0, registry.GetNumScoreCommitted("red")) assert.Equal(t, 0, registry.GetNumPanels("blue")) assert.Equal(t, 0, registry.GetNumScoreCommitted("blue")) ws1 := new(websocket.Websocket) ws2 := new(websocket.Websocket) ws3 := new(websocket.Websocket) registry.RegisterPanel("red", ws1) registry.RegisterPanel("blue", ws2) registry.RegisterPanel("red", ws3) assert.Equal(t, 2, registry.GetNumPanels("red")) assert.Equal(t, 0, registry.GetNumScoreCommitted("red")) assert.Equal(t, 1, registry.GetNumPanels("blue")) assert.Equal(t, 0, registry.GetNumScoreCommitted("blue")) registry.SetScoreCommitted("red", ws3) registry.SetScoreCommitted("blue", ws2) registry.SetScoreCommitted("blue", ws2) assert.Equal(t, 2, registry.GetNumPanels("red")) assert.Equal(t, 1, registry.GetNumScoreCommitted("red")) assert.Equal(t, 1, registry.GetNumPanels("blue")) assert.Equal(t, 1, registry.GetNumScoreCommitted("blue")) registry.UnregisterPanel("red", ws1) registry.UnregisterPanel("blue", ws2) assert.Equal(t, 1, registry.GetNumPanels("red")) assert.Equal(t, 1, registry.GetNumScoreCommitted("red")) assert.Equal(t, 0, registry.GetNumPanels("blue")) assert.Equal(t, 0, registry.GetNumScoreCommitted("blue")) registry.resetScoreCommitted() assert.Equal(t, 1, registry.GetNumPanels("red")) assert.Equal(t, 0, registry.GetNumScoreCommitted("red")) assert.Equal(t, 0, registry.GetNumPanels("blue")) assert.Equal(t, 0, registry.GetNumScoreCommitted("blue")) } ================================================ FILE: field/team_match_log.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Utilities for logging packets received from team driver stations during a match. package field import ( "fmt" "log" "os" "path/filepath" "time" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/network" ) const logsDir = "static/logs" type TeamMatchLog struct { logger *log.Logger logFile *os.File wifiStatus *network.TeamWifiStatus } // Creates a file to log to for the given match and team. func NewTeamMatchLog(teamId int, match *model.Match, wifiStatus *network.TeamWifiStatus) (*TeamMatchLog, error) { err := os.MkdirAll(filepath.Join(model.BaseDir, logsDir), 0755) if err != nil { return nil, err } filename := fmt.Sprintf( "%s/%s_%s_Match_%s_%d.csv", filepath.Join(model.BaseDir, logsDir), time.Now().Format("20060102150405"), match.Type.String(), match.ShortName, teamId, ) logFile, err := os.Create(filename) if err != nil { return nil, err } log := TeamMatchLog{log.New(logFile, "", 0), logFile, wifiStatus} log.logger.Println( "matchTimeSec,packetType,teamId,allianceStation,dsLinked,radioLinked,rioLinked,robotLinked,auto,enabled," + "emergencyStop,autonomousStop,batteryVoltage,missedPacketCount,dsRobotTripTimeMs,rxRate,txRate," + "signalNoiseRatio", ) return &log, nil } // Adds a line to the log when a packet is received. func (log *TeamMatchLog) LogDsPacket(matchTimeSec float64, packetType int, dsConn *DriverStationConnection) { log.logger.Printf( "%f,%d,%d,%s,%v,%v,%v,%v,%v,%v,%v,%v,%f,%d,%d,%f,%f,%d", matchTimeSec, packetType, dsConn.TeamId, dsConn.AllianceStation, dsConn.DsLinked, dsConn.RadioLinked, dsConn.RioLinked, dsConn.RobotLinked, dsConn.Auto, dsConn.Enabled, dsConn.EStop, dsConn.AStop, dsConn.BatteryVoltage, dsConn.MissedPacketCount, dsConn.DsRobotTripTimeMs, log.wifiStatus.RxRate, log.wifiStatus.TxRate, log.wifiStatus.SignalNoiseRatio, ) } func (log *TeamMatchLog) Close() { log.logFile.Close() } ================================================ FILE: field/team_sign.go ================================================ // Copyright 2024 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Models and logic for controlling a Cypress team number / timer sign. package field import ( "fmt" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "image/color" "log" "net" "strconv" "strings" "time" ) // Represents a collection of team number and timer signs. type TeamSigns struct { Red1 TeamSign Red2 TeamSign Red3 TeamSign RedTimer TeamSign Blue1 TeamSign Blue2 TeamSign Blue3 TeamSign BlueTimer TeamSign } // Represents a team number or timer sign. type TeamSign struct { isTimer bool address byte nextMatchTeamId int frontText string frontColor color.RGBA rearText string lastFrontText string lastFrontColor color.RGBA lastRearText string udpConn net.Conn packetData [128]byte packetIndex int lastPacketTime time.Time } const ( teamSignAddressPrefix = "10.0.100." teamSignYear = 2025 teamSignPort = 10011 teamSignPacketMagicString = "CYPRX" teamSignPacketHeaderLength = 7 teamSignCommandSetDisplay = 0x04 teamSignAddressSingle = 0x01 teamSignPacketTypeFrontText = 0x01 teamSignPacketTypeRearText = 0x02 teamSignPacketTypeFrontIntensity = 0x03 teamSignPacketTypeColor = 0x04 teamSignPacketPeriodMs = 5000 teamSignBlinkPeriodMs = 750 ) // Predefined colors for the team sign front text. The "A" channel is used as the intensity. var redColor = color.RGBA{255, 0, 0, 255} var blueColor = color.RGBA{0, 50, 255, 255} var greenColor = color.RGBA{0, 255, 0, 255} var orangeColor = color.RGBA{255, 50, 0, 255} var purpleColor = color.RGBA{255, 0, 240, 255} var whiteColor = color.RGBA{255, 200, 180, 255} // Creates a new collection of team signs. func NewTeamSigns() *TeamSigns { signs := new(TeamSigns) signs.RedTimer.isTimer = true signs.BlueTimer.isTimer = true return signs } // Updates the state of all signs with the latest data and sends packets to the signs if anything has changed. func (signs *TeamSigns) Update(arena *Arena) { // Generate the countdown string which is used in multiple places. matchTimeSec := int(arena.MatchTimeSec()) var countdownSec int switch arena.MatchState { case PreMatch: if arena.AudienceDisplayMode == "allianceSelection" { countdownSec = arena.AllianceSelectionTimeRemainingSec } else { countdownSec = game.MatchTiming.AutoDurationSec } case StartMatch: fallthrough case WarmupPeriod: countdownSec = game.MatchTiming.AutoDurationSec case AutoPeriod: countdownSec = game.MatchTiming.WarmupDurationSec + game.MatchTiming.AutoDurationSec - matchTimeSec case TeleopPeriod: countdownSec = game.MatchTiming.WarmupDurationSec + game.MatchTiming.AutoDurationSec + game.MatchTiming.TeleopDurationSec + game.MatchTiming.PauseDurationSec - matchTimeSec case TimeoutActive: countdownSec = game.MatchTiming.TimeoutDurationSec - matchTimeSec default: countdownSec = 0 } countdown := fmt.Sprintf("%02d:%02d", countdownSec/60, countdownSec%60) // Generate the in-match rear text which is common to a whole alliance. redInMatchTeamRearText := generateInMatchTeamRearText(arena, true, countdown) redInMatchTimerRearText := generateInMatchTimerRearText(arena, true) blueInMatchTeamRearText := generateInMatchTeamRearText(arena, false, countdown) blueInMatchTimerRearText := generateInMatchTimerRearText(arena, false) signs.Red1.update(arena, arena.AllianceStations["R1"], true, countdown, redInMatchTeamRearText) signs.Red2.update(arena, arena.AllianceStations["R2"], true, countdown, redInMatchTeamRearText) signs.Red3.update(arena, arena.AllianceStations["R3"], true, countdown, redInMatchTeamRearText) signs.RedTimer.update(arena, nil, true, countdown, redInMatchTimerRearText) signs.Blue1.update(arena, arena.AllianceStations["B1"], false, countdown, blueInMatchTeamRearText) signs.Blue2.update(arena, arena.AllianceStations["B2"], false, countdown, blueInMatchTeamRearText) signs.Blue3.update(arena, arena.AllianceStations["B3"], false, countdown, blueInMatchTeamRearText) signs.BlueTimer.update(arena, nil, false, countdown, blueInMatchTimerRearText) } // Sets the team numbers for the next match on all signs. func (signs *TeamSigns) SetNextMatchTeams(teams [6]int) { signs.Red1.nextMatchTeamId = teams[0] signs.Red2.nextMatchTeamId = teams[1] signs.Red3.nextMatchTeamId = teams[2] signs.Blue1.nextMatchTeamId = teams[3] signs.Blue2.nextMatchTeamId = teams[4] signs.Blue3.nextMatchTeamId = teams[5] } // Sets the IP address of the sign. func (sign *TeamSign) SetId(id int) { if sign.udpConn != nil { _ = sign.udpConn.Close() } sign.address = byte(id) if id == 0 { // The sign is not configured. return } ipAddress := fmt.Sprintf("%s%d", teamSignAddressPrefix, id) var err error sign.udpConn, err = net.Dial("udp4", fmt.Sprintf("%s:%d", ipAddress, teamSignPort)) if err != nil { log.Printf("Failed to connect to team sign at %s: %v", ipAddress, err) return } addressParts := strings.Split(ipAddress, ".") if len(addressParts) != 4 { log.Printf("Failed to configure team sign: invalid IP address: %s", ipAddress) return } address, _ := strconv.Atoi(addressParts[3]) sign.address = byte(address) // Reset the sign's state to ensure that the next packet sent will update the sign. sign.packetIndex = 0 sign.lastPacketTime = time.Time{} } // Updates the sign's internal state with the latest data and sends packets to the sign if anything has changed. func (sign *TeamSign) update( arena *Arena, allianceStation *AllianceStation, isRed bool, countdown, inMatchRearText string, ) { if sign.address == 0 { // Don't do anything if there is no sign configured in this position. return } if sign.isTimer { sign.frontText, sign.frontColor, sign.rearText = generateTimerTexts(arena, countdown, inMatchRearText) } else { sign.frontText, sign.frontColor, sign.rearText = sign.generateTeamNumberTexts( arena, allianceStation, isRed, countdown, inMatchRearText, ) } if err := sign.sendPacket(); err != nil { log.Printf("Failed to send team sign packet: %v", err) } } // Returns the in-match rear text for the team number display that is common to the whole given alliance. func generateInMatchTeamRearText(arena *Arena, isRed bool, countdown string) string { var realtimeScore, opponentRealtimeScore *RealtimeScore var formatString string if isRed { realtimeScore = arena.RedRealtimeScore opponentRealtimeScore = arena.BlueRealtimeScore formatString = "R%03d-B%03d" } else { realtimeScore = arena.BlueRealtimeScore opponentRealtimeScore = arena.RedRealtimeScore formatString = "B%03d-R%03d" } scoreSummary := realtimeScore.CurrentScore.Summarize(&opponentRealtimeScore.CurrentScore) scoreTotal := scoreSummary.Score - scoreSummary.BargePoints opponentScoreSummary := opponentRealtimeScore.CurrentScore.Summarize(&realtimeScore.CurrentScore) opponentScoreTotal := opponentScoreSummary.Score - opponentScoreSummary.BargePoints allianceScores := fmt.Sprintf(formatString, scoreTotal, opponentScoreTotal) var coralRankingPointProgress string if arena.CurrentMatch.Type != model.Playoff { coralRankingPointProgress = fmt.Sprintf("%d/%d", scoreSummary.NumCoralLevels, scoreSummary.NumCoralLevelsGoal) } return fmt.Sprintf("%s %s %s", countdown, allianceScores, coralRankingPointProgress) } // Returns the in-match rear text for the timer display for the given alliance. func generateInMatchTimerRearText(arena *Arena, isRed bool) string { var reef *game.Reef if isRed { reef = &arena.RedRealtimeScore.CurrentScore.Reef } else { reef = &arena.BlueRealtimeScore.CurrentScore.Reef } return fmt.Sprintf( "1-%02d 2-%02d 3-%02d 4-%02d", reef.CountTotalCoralByLevel(game.Level1), reef.CountTotalCoralByLevel(game.Level2), reef.CountTotalCoralByLevel(game.Level3), reef.CountTotalCoralByLevel(game.Level4), ) } // Returns the front text, front color, and rear text to display on the timer display. func generateTimerTexts(arena *Arena, countdown, inMatchRearText string) (string, color.RGBA, string) { if arena.AllianceStationDisplayMode == "blank" { return " ", whiteColor, "" } if arena.AudienceDisplayMode == "allianceSelection" { if arena.AllianceSelectionShowTimer { return countdown, whiteColor, "" } else { return " ", whiteColor, "" } } var frontText string var frontColor color.RGBA rearText := inMatchRearText if arena.AllianceStationDisplayMode == "logo" { frontText = fmt.Sprintf("%5d", teamSignYear) frontColor = whiteColor } else if arena.AllianceStationDisplayMode == "timeout" { frontText = countdown frontColor = whiteColor } else if arena.FieldReset && arena.MatchState != TimeoutActive { frontText = "SAFE " frontColor = greenColor } else if arena.FieldVolunteers && arena.MatchState != TimeoutActive { frontText = "count" frontColor = purpleColor } else { frontText = countdown frontColor = whiteColor } if arena.MatchState == TimeoutActive { rearText = fmt.Sprintf("Field Break: %s", countdown) } return frontText, frontColor, rearText } // Returns the front text, front color, and rear text to display on the sign for the given alliance station. func (sign *TeamSign) generateTeamNumberTexts( arena *Arena, allianceStation *AllianceStation, isRed bool, countdown, inMatchRearText string, ) (string, color.RGBA, string) { allianceColor := redColor if !isRed { allianceColor = blueColor } if arena.AllianceStationDisplayMode == "blank" { return " ", whiteColor, "" } var frontText string var frontColor color.RGBA if arena.AllianceStationDisplayMode == "logo" { frontText = fmt.Sprintf("%5d", teamSignYear) frontColor = allianceColor } else { if allianceStation.Team == nil { return " ", whiteColor, fmt.Sprintf("%20s", "No Team Assigned") } frontText = fmt.Sprintf("%5d", allianceStation.Team.Id) if allianceStation.EStop { frontColor = orangeColor } else if allianceStation.AStop && arena.MatchState == AutoPeriod { frontColor = blinkColor(orangeColor) } else if arena.FieldReset { frontColor = greenColor } else if arena.FieldVolunteers { frontColor = purpleColor } else if allianceStation.DsConn != nil && !allianceStation.DsConn.RobotLinked && (arena.MatchState == AutoPeriod || arena.MatchState == PausePeriod || arena.MatchState == TeleopPeriod) { // Blink the display to indicate that the robot is not linked while the match is in progress. frontColor = blinkColor(allianceColor) } else { frontColor = allianceColor } } var message string if allianceStation.EStop { message = "E-STOP" } else if allianceStation.AStop && arena.MatchState == AutoPeriod { message = "A-STOP" } else if arena.MatchState == PreMatch || arena.MatchState == TimeoutActive { if allianceStation.Bypass { message = "Bypassed" } else if !allianceStation.Ethernet { message = "Connect PC" } else if allianceStation.DsConn == nil { message = "Start DS" } else if allianceStation.DsConn.WrongStation != "" { message = "Move Station" } else if !allianceStation.DsConn.RadioLinked { message = "No Radio" } else if !allianceStation.DsConn.RioLinked { message = "No Rio" } else if !allianceStation.DsConn.RobotLinked { message = "No Code" } else { message = "Ready" } } var rearText string if arena.MatchState == PostMatch && sign.nextMatchTeamId > 0 && sign.nextMatchTeamId != allianceStation.Team.Id { // Show the next match team number on the rear display before the score is committed so that queueing teams know // where to go. rearText = fmt.Sprintf("Next Team Up: %d", sign.nextMatchTeamId) } else if len(message) > 0 { teamId := 0 if allianceStation.Team != nil { teamId = allianceStation.Team.Id } rearText = fmt.Sprintf("%-5d %14s", teamId, message) } else { rearText = inMatchRearText } return frontText, frontColor, rearText } // Sends a UDP packet to the sign if its state has changed. func (sign *TeamSign) sendPacket() error { if sign.packetIndex == 0 { // Write the static packet header the first time this method is invoked. sign.writePacketData([]byte(teamSignPacketMagicString)) sign.writePacketData([]byte{sign.address, teamSignCommandSetDisplay}) } else { // Reset the write index to just after the header. sign.packetIndex = teamSignPacketHeaderLength } isStale := time.Now().Sub(sign.lastPacketTime).Milliseconds() >= teamSignPacketPeriodMs if sign.frontText != sign.lastFrontText || isStale { sign.writePacketData([]byte{teamSignAddressSingle, sign.address, teamSignPacketTypeFrontText}) sign.writePacketData([]byte(sign.frontText)) sign.writePacketData([]byte{0, 0}) // Second byte is "show decimal point". sign.lastFrontText = sign.frontText } if sign.frontColor != sign.lastFrontColor || isStale { sign.writePacketData([]byte{teamSignAddressSingle, sign.address, teamSignPacketTypeColor}) sign.writePacketData([]byte{sign.frontColor.R, sign.frontColor.G, sign.frontColor.B}) sign.writePacketData([]byte{teamSignAddressSingle, sign.address, teamSignPacketTypeFrontIntensity}) sign.writePacketData([]byte{sign.frontColor.A}) sign.lastFrontColor = sign.frontColor } if sign.rearText != sign.lastRearText || isStale { sign.writePacketData([]byte{teamSignAddressSingle, sign.address, teamSignPacketTypeRearText}) sign.writePacketData([]byte(sign.rearText)) sign.writePacketData([]byte{0}) sign.lastRearText = sign.rearText } if sign.packetIndex > teamSignPacketHeaderLength && sign.udpConn != nil { sign.lastPacketTime = time.Now() if _, err := sign.udpConn.Write(sign.packetData[:sign.packetIndex]); err != nil { return err } } return nil } // Writes the given data to the packet buffer and advances the write index. func (sign *TeamSign) writePacketData(data []byte) { for _, value := range data { sign.packetData[sign.packetIndex] = value sign.packetIndex++ } } // Periodically modifies the given color to zero brightness to create a blinking effect. func blinkColor(originalColor color.RGBA) color.RGBA { if time.Now().UnixMilli()%teamSignBlinkPeriodMs < teamSignBlinkPeriodMs/2 { return originalColor } return color.RGBA{originalColor.R, originalColor.G, originalColor.B, 0} } ================================================ FILE: field/team_sign_test.go ================================================ // Copyright 2024 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package field import ( "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "image/color" "testing" ) func TestTeamSign_GenerateInMatchRearText(t *testing.T) { arena := setupTestArena(t) arena.RedRealtimeScore.CurrentScore = *game.TestScore1() arena.BlueRealtimeScore.CurrentScore = *game.TestScore2() assert.Equal(t, "01:23 R080-B162 1/4", generateInMatchTeamRearText(arena, true, "01:23")) assert.Equal(t, "01:23 B162-R080 1/4", generateInMatchTeamRearText(arena, false, "01:23")) assert.Equal(t, "1-07 2-02 3-03 4-00", generateInMatchTimerRearText(arena, true)) assert.Equal(t, "1-15 2-03 3-05 4-03", generateInMatchTimerRearText(arena, false)) arena.BlueRealtimeScore.CurrentScore.Reef.Branches[2] = [12]bool{true, true, true, true, true, true, true, true} arena.BlueRealtimeScore.CurrentScore.ProcessorAlgae = 2 assert.Equal(t, "00:59 R080-B195 1/3", generateInMatchTeamRearText(arena, true, "00:59")) assert.Equal(t, "00:59 B195-R080 2/3", generateInMatchTeamRearText(arena, false, "00:59")) assert.Equal(t, "1-07 2-02 3-03 4-00", generateInMatchTimerRearText(arena, true)) assert.Equal(t, "1-15 2-03 3-05 4-08", generateInMatchTimerRearText(arena, false)) // Check that RP progress is hidden for playoff matches. arena.CurrentMatch.Type = model.Playoff assert.Equal(t, "00:45 R080-B195 ", generateInMatchTeamRearText(arena, true, "00:45")) assert.Equal(t, "00:45 B195-R080 ", generateInMatchTeamRearText(arena, false, "00:45")) } func TestTeamSign_Timer(t *testing.T) { arena := setupTestArena(t) sign := TeamSign{isTimer: true} // Should do nothing if no address is set. sign.update(arena, nil, true, "12:34", "Rear Text") assert.Equal(t, [128]byte{}, sign.packetData) // Check some basics about the data but don't unit-test the whole packet. sign.SetId(56) sign.update(arena, nil, true, "12:34", "Rear Text") assert.Equal(t, "CYPRX", string(sign.packetData[0:5])) assert.Equal(t, 56, int(sign.packetData[5])) assert.Equal(t, 0x04, int(sign.packetData[6])) assert.Equal(t, "12:34", string(sign.packetData[10:15])) assert.Equal(t, []byte{0, 0}, sign.packetData[15:17]) assert.Equal(t, "Rear Text", string(sign.packetData[30:39])) assert.Equal(t, 40, sign.packetIndex) assertSign := func(expectedFrontText string, expectedFrontColor color.RGBA, expectedRearText string) { frontText, frontColor, rearText := generateTimerTexts(arena, "23:45", "Rear Text") assert.Equal(t, expectedFrontText, frontText) assert.Equal(t, expectedFrontColor, frontColor) assert.Equal(t, expectedRearText, rearText) } // Check field reset. arena.FieldReset = false assertSign("23:45", whiteColor, "Rear Text") arena.FieldReset = true assertSign("SAFE ", greenColor, "Rear Text") // Check timeout mode. arena.FieldReset = true arena.MatchState = TimeoutActive assertSign("23:45", whiteColor, "Field Break: 23:45") // Check blank mode. arena.AllianceStationDisplayMode = "blank" assertSign(" ", whiteColor, "") // Check alliance selection. arena.AllianceStationDisplayMode = "logo" arena.AudienceDisplayMode = "allianceSelection" arena.AllianceSelectionShowTimer = false assertSign(" ", whiteColor, "") arena.AllianceSelectionShowTimer = true assertSign("23:45", whiteColor, "") arena.AllianceStationDisplayMode = "blank" assertSign(" ", whiteColor, "") } func TestTeamSign_TeamNumber(t *testing.T) { arena := setupTestArena(t) allianceStation := arena.AllianceStations["R1"] arena.Database.CreateTeam(&model.Team{Id: 254}) sign := &TeamSign{isTimer: false} // Should do nothing if no address is set. sign.update(arena, allianceStation, true, "12:34", "Rear Text") assert.Equal(t, [128]byte{}, sign.packetData) // Check some basics about the data but don't unit-test the whole packet. sign.SetId(53) sign.update(arena, allianceStation, true, "12:34", "Rear Text") assert.Equal(t, "CYPRX", string(sign.packetData[0:5])) assert.Equal(t, 53, int(sign.packetData[5])) assert.Equal(t, 0x04, int(sign.packetData[6])) assert.Equal(t, []byte{0x01, 53, 0x01}, sign.packetData[7:10]) assert.Equal(t, " ", string(sign.packetData[10:15])) assert.Equal(t, []byte{0, 0}, sign.packetData[15:17]) assert.Equal(t, "No Team Assigned", string(sign.packetData[34:50])) assert.Equal(t, 51, sign.packetIndex) assertSign := func(isRed bool, expectedFrontText string, expectedFrontColor color.RGBA, expectedRearText string) { frontText, frontColor, rearText := sign.generateTeamNumberTexts( arena, allianceStation, isRed, "12:34", "Rear Text", ) assert.Equal(t, expectedFrontText, frontText) assert.Equal(t, expectedRearText, rearText) // Modify front color to account for time-based blinking. frontColor.A = 255 assert.Equal(t, expectedFrontColor, frontColor) } assertSign(true, " ", whiteColor, " No Team Assigned") arena.FieldReset = true arena.assignTeam(254, "R1") assertSign(true, " 254", greenColor, "254 Connect PC") assertSign(false, " 254", greenColor, "254 Connect PC") arena.FieldReset = false assertSign(true, " 254", redColor, "254 Connect PC") assertSign(false, " 254", blueColor, "254 Connect PC") // Check through pre-match sequence. allianceStation.Ethernet = true assertSign(true, " 254", redColor, "254 Start DS") allianceStation.DsConn = &DriverStationConnection{} assertSign(true, " 254", redColor, "254 No Radio") allianceStation.DsConn.WrongStation = "R1" assertSign(true, " 254", redColor, "254 Move Station") allianceStation.DsConn.WrongStation = "" allianceStation.DsConn.RadioLinked = true assertSign(true, " 254", redColor, "254 No Rio") allianceStation.DsConn.RioLinked = true assertSign(true, " 254", redColor, "254 No Code") allianceStation.DsConn.RobotLinked = true assertSign(true, " 254", redColor, "254 Ready") allianceStation.Bypass = true assertSign(true, " 254", redColor, "254 Bypassed") // Check that timeout mode has no effect on the team sign. arena.MatchState = TimeoutActive assertSign(true, " 254", redColor, "254 Bypassed") // Check E-stop and A-stop. arena.MatchState = AutoPeriod assertSign(true, " 254", redColor, "Rear Text") allianceStation.AStop = true assertSign(true, " 254", orangeColor, "254 A-STOP") allianceStation.EStop = true assertSign(false, " 254", orangeColor, "254 E-STOP") allianceStation.EStop = false arena.MatchState = TeleopPeriod assertSign(false, " 254", blueColor, "Rear Text") allianceStation.EStop = true assertSign(false, " 254", orangeColor, "254 E-STOP") arena.MatchState = PostMatch assertSign(false, " 254", orangeColor, "254 E-STOP") // Test preloading the team for the next match. sign.nextMatchTeamId = 1503 assertSign(false, " 254", orangeColor, "Next Team Up: 1503") allianceStation.Bypass = false allianceStation.EStop = false allianceStation.Ethernet = false arena.MatchState = PreMatch arena.assignTeam(1503, "R1") assertSign(false, " 1503", blueColor, "1503 Connect PC") // Check blank mode. arena.AllianceStationDisplayMode = "blank" assertSign(true, " ", whiteColor, "") // Check alliance selection. arena.AllianceStationDisplayMode = "logo" arena.AudienceDisplayMode = "allianceSelection" arena.AllianceSelectionShowTimer = false assertSign(true, " 2025", redColor, "1503 Connect PC") arena.AllianceSelectionShowTimer = true assertSign(false, " 2025", blueColor, "1503 Connect PC") arena.AllianceStationDisplayMode = "blank" assertSign(false, " ", whiteColor, "") } ================================================ FILE: field/test_helpers.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Helper methods for use in tests in this package and others. package field import ( "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "math/rand" "path/filepath" "testing" ) func SetupTestArena(t *testing.T) *Arena { rand.Seed(0) model.BaseDir = ".." dbDir := t.TempDir() dbPath := filepath.Join(dbDir, "test.db") arena, err := NewArena(dbPath) assert.Nil(t, err) t.Cleanup( func() { arena.Database.Close() }, ) return arena } func setupTestArena(t *testing.T) *Arena { game.MatchTiming.WarmupDurationSec = 3 game.MatchTiming.PauseDurationSec = 2 return SetupTestArena(t) } ================================================ FILE: fix_avatar_colors_for_overlay ================================================ # This script replaces a single color in the team avatars with a second one, to fix conflicts with chroma/luma key. # By default, it replaces black with dark gray; edit the two variables below to change this. # Run it after the team list import, during which the avatars are downloaded. COLOR_TO_REPLACE="#000" REPLACEMENT_COLOR="#222" echo "This script will replace color $COLOR_TO_REPLACE with $REPLACEMENT_COLOR in the following files:" echo cd ./static/img/avatars ls *.png echo echo "Press enter to continue or CTRL-C to cancel." read for f in *.png do convert $f -fill $REPLACEMENT_COLOR -fuzz 50% -opaque $COLOR_TO_REPLACE $f done ================================================ FILE: font/helvetica.json ================================================ {"Tp":"Core","Name":"Helvetica","Up":-100,"Ut":50,"Cw":[278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,556,350,222,556,333,1000,556,556,333,1000,667,333,1000,350,611,350,350,222,222,333,333,350,556,1000,333,1000,500,333,944,350,500,667,278,333,556,556,556,556,260,556,333,737,370,556,584,333,737,333,400,584,333,333,333,556,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1000,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,556,500]} ================================================ FILE: font/helveticab.json ================================================ {"Tp":"Core","Name":"Helvetica-Bold","Up":-100,"Ut":50,"Cw":[278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,556,350,278,556,500,1000,556,556,333,1000,667,333,1000,350,611,350,350,278,278,500,500,350,556,1000,333,1000,556,333,944,350,500,667,278,333,556,556,556,556,280,556,333,737,370,556,584,333,737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1000,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,584,611,611,611,611,611,556,611,556]} ================================================ FILE: font/helveticabi.json ================================================ {"Tp":"Core","Name":"Helvetica-BoldOblique","Up":-100,"Ut":50,"Cw":[278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,556,350,278,556,500,1000,556,556,333,1000,667,333,1000,350,611,350,350,278,278,500,500,350,556,1000,333,1000,556,333,944,350,500,667,278,333,556,556,556,556,280,556,333,737,370,556,584,333,737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1000,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,584,611,611,611,611,611,556,611,556]} ================================================ FILE: font/helveticai.json ================================================ {"Tp":"Core","Name":"Helvetica-Oblique","Up":-100,"Ut":50,"Cw":[278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,556,350,222,556,333,1000,556,556,333,1000,667,333,1000,350,611,350,350,222,222,333,333,350,556,1000,333,1000,500,333,944,350,500,667,278,333,556,556,556,556,260,556,333,737,370,556,584,333,737,333,400,584,333,333,333,556,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1000,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,556,500]} ================================================ FILE: game/foul.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model of a foul. package game type Foul struct { FoulId int IsMajor bool TeamId int RuleId int } // Returns the rule for which the foul was assigned. func (foul *Foul) Rule() *Rule { return GetRuleById(foul.RuleId) } // Returns the number of points that the foul adds to the opposing alliance's score. func (foul *Foul) PointValue() int { if foul.IsMajor { return 6 } else { if foul.Rule() != nil && foul.Rule().RuleNumber == "G206" { // Special case in 2025 for G206, which is not actually a foul but does make the alliance ineligible for // some bonus RPs. return 0 } return 2 } } ================================================ FILE: game/match_sounds.go ================================================ // Copyright 2019 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Game-specific audience sound timings. package game type MatchSound struct { Name string FileExtension string MatchTimeSec float64 } // List of sounds and how many seconds into the match they are played. A negative time indicates that the sound can only // be triggered explicitly. var MatchSounds []*MatchSound func UpdateMatchSounds() { MatchSounds = []*MatchSound{ { "start", "wav", 0, }, { "end", "wav", float64(MatchTiming.AutoDurationSec), }, { "resume", "wav", float64(MatchTiming.AutoDurationSec + MatchTiming.PauseDurationSec), }, { "warning_sonar", "wav", float64( MatchTiming.AutoDurationSec + MatchTiming.PauseDurationSec + MatchTiming.TeleopDurationSec - MatchTiming.WarningRemainingDurationSec, ), }, { "end", "wav", float64(MatchTiming.AutoDurationSec + MatchTiming.PauseDurationSec + MatchTiming.TeleopDurationSec), }, { "abort", "wav", -1, }, { "match_result", "wav", -1, }, { "pick_clock", "wav", -1, }, { "pick_clock_expired", "wav", -1, }, } } ================================================ FILE: game/match_timing.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Game-specific period timing. package game import "time" const ( TeleopGracePeriodSec = 3 ) var MatchTiming = struct { WarmupDurationSec int AutoDurationSec int PauseDurationSec int TeleopDurationSec int WarningRemainingDurationSec int TimeoutDurationSec int }{0, 15, 3, 135, 20, 0} func GetDurationToAutoEnd() time.Duration { return time.Duration(MatchTiming.WarmupDurationSec+MatchTiming.AutoDurationSec) * time.Second } func GetDurationToTeleopStart() time.Duration { return time.Duration( MatchTiming.WarmupDurationSec+MatchTiming.AutoDurationSec+MatchTiming.PauseDurationSec, ) * time.Second } func GetDurationToTeleopEnd() time.Duration { return time.Duration( MatchTiming.WarmupDurationSec+MatchTiming.AutoDurationSec+MatchTiming.PauseDurationSec+ MatchTiming.TeleopDurationSec, ) * time.Second } ================================================ FILE: game/ranking_fields.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Game-specific fields by which teams are ranked and the logic for sorting rankings. package game import "math/rand" type RankingFields struct { RankingPoints int CoopertitionPoints int MatchPoints int AutoPoints int BargePoints int Random float64 Wins int Losses int Ties int Disqualifications int Played int } type Ranking struct { TeamId int `db:"id,manual"` Rank int PreviousRank int RankingFields } type Rankings []Ranking func (fields *RankingFields) AddScoreSummary(ownScore *ScoreSummary, opponentScore *ScoreSummary, disqualified bool) { fields.Played += 1 // Store a random value to be used as the last tiebreaker if necessary. fields.Random = rand.Float64() if disqualified { // Don't award any points. fields.Disqualifications += 1 return } // Assign ranking points and wins/losses/ties. if ownScore.Score > opponentScore.Score { fields.RankingPoints += 3 fields.Wins += 1 } else if ownScore.Score == opponentScore.Score { fields.RankingPoints += 1 fields.Ties += 1 } else { fields.Losses += 1 } fields.RankingPoints += ownScore.BonusRankingPoints // Assign tiebreaker points. if ownScore.CoopertitionBonus { fields.CoopertitionPoints++ } fields.MatchPoints += ownScore.MatchPoints fields.AutoPoints += ownScore.AutoPoints fields.BargePoints += ownScore.BargePoints } // Helper function to implement the required interface for Sort. func (rankings Rankings) Len() int { return len(rankings) } // Helper function to implement the required interface for Sort. func (rankings Rankings) Less(i, j int) bool { a := rankings[i] b := rankings[j] // Use cross-multiplication to keep it in integer math. if a.RankingPoints*b.Played == b.RankingPoints*a.Played { if a.CoopertitionPoints*b.Played == b.CoopertitionPoints*a.Played { if a.MatchPoints*b.Played == b.MatchPoints*a.Played { if a.AutoPoints*b.Played == b.AutoPoints*a.Played { if a.BargePoints*b.Played == b.BargePoints*a.Played { return a.Random > b.Random } return a.BargePoints*b.Played > b.BargePoints*a.Played } return a.AutoPoints*b.Played > b.AutoPoints*a.Played } return a.MatchPoints*b.Played > b.MatchPoints*a.Played } return a.CoopertitionPoints*b.Played > b.CoopertitionPoints*a.Played } return a.RankingPoints*b.Played > b.RankingPoints*a.Played } // Helper function to implement the required interface for Sort. func (rankings Rankings) Swap(i, j int) { rankings[i], rankings[j] = rankings[j], rankings[i] } ================================================ FILE: game/ranking_fields_test.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package game import ( "github.com/stretchr/testify/assert" "math/rand" "sort" "testing" ) func TestAddScoreSummary(t *testing.T) { rand.Seed(0) redSummary := &ScoreSummary{ LeavePoints: 4, AutoPoints: 30, BargePoints: 19, MatchPoints: 67, Score: 67, CoopertitionBonus: false, AutoBonusRankingPoint: true, CoralBonusRankingPoint: false, BargeBonusRankingPoint: true, BonusRankingPoints: 2, } blueSummary := &ScoreSummary{ LeavePoints: 2, AutoPoints: 16, BargePoints: 14, MatchPoints: 61, Score: 81, CoopertitionBonus: true, AutoBonusRankingPoint: false, CoralBonusRankingPoint: true, BargeBonusRankingPoint: false, BonusRankingPoints: 1, } rankingFields := RankingFields{} // Add a loss. rankingFields.AddScoreSummary(redSummary, blueSummary, false) assert.Equal(t, RankingFields{2, 0, 67, 30, 19, 0.9451961492941164, 0, 1, 0, 0, 1}, rankingFields) // Add a win. rankingFields.AddScoreSummary(blueSummary, redSummary, false) assert.Equal(t, RankingFields{6, 1, 128, 46, 33, 0.24496508529377975, 1, 1, 0, 0, 2}, rankingFields) // Add a tie. rankingFields.AddScoreSummary(redSummary, redSummary, false) assert.Equal(t, RankingFields{9, 1, 195, 76, 52, 0.6559562651954052, 1, 1, 1, 0, 3}, rankingFields) // Add a disqualification. rankingFields.AddScoreSummary(blueSummary, redSummary, true) assert.Equal(t, RankingFields{9, 1, 195, 76, 52, 0.05434383959970039, 1, 1, 1, 1, 4}, rankingFields) } func TestSortRankings(t *testing.T) { // Check tiebreakers. rankings := make(Rankings, 12) rankings[0] = Ranking{1, 0, 0, RankingFields{50, 50, 50, 50, 50, 0.49, 3, 2, 1, 0, 10}} rankings[1] = Ranking{2, 0, 0, RankingFields{50, 50, 50, 50, 50, 0.51, 3, 2, 1, 0, 10}} rankings[2] = Ranking{3, 0, 0, RankingFields{50, 50, 50, 50, 49, 0.50, 3, 2, 1, 0, 10}} rankings[3] = Ranking{4, 0, 0, RankingFields{50, 50, 50, 50, 51, 0.50, 3, 2, 1, 0, 10}} rankings[4] = Ranking{5, 0, 0, RankingFields{50, 50, 50, 49, 50, 0.50, 3, 2, 1, 0, 10}} rankings[5] = Ranking{6, 0, 0, RankingFields{50, 50, 50, 51, 50, 0.50, 3, 2, 1, 0, 10}} rankings[6] = Ranking{7, 0, 0, RankingFields{50, 50, 49, 50, 50, 0.50, 3, 2, 1, 0, 10}} rankings[7] = Ranking{8, 0, 0, RankingFields{50, 50, 51, 50, 50, 0.50, 3, 2, 1, 0, 10}} rankings[8] = Ranking{9, 0, 0, RankingFields{50, 49, 50, 50, 50, 0.50, 3, 2, 1, 0, 10}} rankings[9] = Ranking{10, 0, 0, RankingFields{50, 51, 50, 50, 50, 0.50, 3, 2, 1, 0, 10}} rankings[10] = Ranking{11, 0, 0, RankingFields{49, 50, 50, 50, 50, 0.50, 3, 2, 1, 0, 10}} rankings[11] = Ranking{12, 0, 0, RankingFields{51, 50, 50, 50, 50, 0.50, 3, 2, 1, 0, 10}} sort.Sort(rankings) assert.Equal(t, 12, rankings[0].TeamId) assert.Equal(t, 10, rankings[1].TeamId) assert.Equal(t, 8, rankings[2].TeamId) assert.Equal(t, 6, rankings[3].TeamId) assert.Equal(t, 4, rankings[4].TeamId) assert.Equal(t, 2, rankings[5].TeamId) assert.Equal(t, 1, rankings[6].TeamId) assert.Equal(t, 3, rankings[7].TeamId) assert.Equal(t, 5, rankings[8].TeamId) assert.Equal(t, 7, rankings[9].TeamId) assert.Equal(t, 9, rankings[10].TeamId) assert.Equal(t, 11, rankings[11].TeamId) // Check with unequal number of matches played. rankings = make(Rankings, 3) rankings[0] = Ranking{1, 0, 0, RankingFields{10, 25, 25, 25, 25, 0.49, 3, 2, 1, 0, 5}} rankings[1] = Ranking{2, 0, 0, RankingFields{19, 50, 50, 50, 50, 0.51, 3, 2, 1, 0, 9}} rankings[2] = Ranking{3, 0, 0, RankingFields{20, 50, 50, 50, 50, 0.51, 3, 2, 1, 0, 10}} sort.Sort(rankings) assert.Equal(t, 2, rankings[0].TeamId) assert.Equal(t, 3, rankings[1].TeamId) assert.Equal(t, 1, rankings[2].TeamId) } ================================================ FILE: game/reef.go ================================================ // Copyright 2025 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Scoring logic for the 2025 Reef element. package game type Reef struct { AutoBranches [3][12]bool Branches [3][12]bool AutoTroughNear int AutoTroughFar int TroughNear int TroughFar int } type Level int const ( Level1 Level = iota - 1 Level2 Level3 Level4 LevelCount ) var autoPoints = map[Level]int{ Level1: 3, Level2: 4, Level3: 6, Level4: 7, } var teleopPoints = map[Level]int{ Level1: 2, Level2: 3, Level3: 4, Level4: 5, } // CountTotalCoralByLevel calculates the total number of Coral scored at a specific level across both auto and teleop. func (reef *Reef) CountTotalCoralByLevel(level Level) int { return reef.CountCoralByLevelAndPeriod(level, true) + reef.CountCoralByLevelAndPeriod(level, false) } // AutoCoralCount calculates the total number of Coral scored during the autonomous period across all levels. func (reef *Reef) AutoCoralCount() int { coral := 0 for level := Level1; level < LevelCount; level++ { coral += reef.CountCoralByLevelAndPeriod(level, true) } return coral } // AutoCoralPoints calculates the total points scored during the autonomous period based on the Coral scored at each // level. func (reef *Reef) AutoCoralPoints() int { points := 0 for level := Level1; level < LevelCount; level++ { points += reef.CountCoralByLevelAndPeriod(level, true) * autoPoints[level] } return points } // TeleopCoralCount calculates the total number of Coral scored during the teleoperated period across all levels. func (reef *Reef) TeleopCoralCount() int { coral := 0 for level := Level1; level < LevelCount; level++ { coral += reef.CountCoralByLevelAndPeriod(level, false) } return coral } // TeleopCoralPoints calculates the total points scored during the teleoperated period based on the Coral scored at each // level. func (reef *Reef) TeleopCoralPoints() int { points := 0 for level := Level1; level < LevelCount; level++ { points += reef.CountCoralByLevelAndPeriod(level, false) * teleopPoints[level] } return points } // CountCoralByLevelAndPeriod calculates the number of Coral scored at a specific level and period (auto or teleop). func (reef *Reef) CountCoralByLevelAndPeriod(level Level, isAuto bool) int { if level < Level1 || level >= LevelCount { return 0 } if level == Level1 { troughTotal := reef.TroughNear + reef.TroughFar autoTroughTotal := reef.AutoTroughNear + reef.AutoTroughFar // Coral must stay scored in teleop to count for auto points, but L1 Coral is not tracked by specific location; // it's assumed that lowest-scoring Coral is removed first and highest-scoring Coral re-added first. autoCoral := min(autoTroughTotal, troughTotal) if isAuto { return autoCoral } return troughTotal - autoCoral } coral := 0 for i, branch := range reef.Branches[level] { // Coral must stay scored in teleop to count for auto points. Coral initially scored in auto, de-scored in // teleop, then re-scored in the same location does count for auto points. if branch && isAuto == reef.AutoBranches[level][i] { coral++ } } return coral } // isAutoBonusCoralThresholdMet returns true if the alliance has scored enough Coral in auto to meet that half of the // bonus RP criteria. func (reef *Reef) isAutoBonusCoralThresholdMet() bool { // Unlike for auto points, de-scoring a Coral in teleop does not invalidate the auto bonus. autoCoral := reef.AutoTroughNear + reef.AutoTroughFar for _, level := range reef.AutoBranches { for _, branch := range level { if branch { autoCoral++ } } } return autoCoral >= AutoBonusCoralThreshold } // countCoralBonusSatisfiedLevels counts the number of levels that have enough Coral scored on them to satisfy the Coral // bonus RP. func (reef *Reef) countCoralBonusSatisfiedLevels() int { satisfiedLevels := 0 for level := Level1; level < LevelCount; level++ { autoCoral := reef.CountCoralByLevelAndPeriod(level, true) teleopCoral := reef.CountCoralByLevelAndPeriod(level, false) if autoCoral+teleopCoral >= CoralBonusPerLevelThreshold { satisfiedLevels++ } } return satisfiedLevels } ================================================ FILE: game/reef_test.go ================================================ // Copyright 2025 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package game import ( "github.com/stretchr/testify/assert" "strconv" "testing" ) func TestReefCoralCountsAndPoints(t *testing.T) { testCases := []struct { reef Reef expectedTotalCountByLevel [4]int expectedAutoCount int expectedAutoPoints int expectedTeleopCount int expectedTeleopPoints int }{ // 0. Empty Reef. { Reef{}, [4]int{0, 0, 0, 0}, 0, 0, 0, 0, }, // 1. Only auto branches which have all been de-scored. { Reef{ AutoBranches: [3][12]bool{ {true, false, false, true, false, false, true, false, false, true, false, false}, {false, true, false, false, true, false, false, true, false, false, false, false}, {false, false, false, false, false, true, false, false, false, false, false, true}, }, Branches: [3][12]bool{ {false, false, false, false, false, false, false, false, false, false, false, false}, {false, false, false, false, false, false, false, false, false, false, false, false}, {false, false, false, false, false, false, false, false, false, false, false, false}, }, AutoTroughNear: 1, AutoTroughFar: 2, TroughNear: 0, TroughFar: 0, }, [4]int{0, 0, 0, 0}, 0, 0, 0, 0, }, // 2. Only auto branches. { Reef{ AutoBranches: [3][12]bool{ {true, false, false, true, false, false, true, false, false, true, false, false}, {false, true, false, false, true, false, false, true, false, false, false, false}, {false, false, false, false, false, true, false, false, false, false, false, true}, }, Branches: [3][12]bool{ {true, false, false, true, false, false, true, false, false, true, false, false}, {false, true, false, false, true, false, false, true, false, false, false, false}, {false, false, false, false, false, true, false, false, false, false, false, true}, }, AutoTroughNear: 1, AutoTroughFar: 2, TroughNear: 2, TroughFar: 1, }, [4]int{3, 4, 3, 2}, 12, 57, 0, 0, }, // 3. Only teleop branches. { Reef{ AutoBranches: [3][12]bool{ {false, false, false, false, false, false, false, false, false, false, false, false}, {false, false, false, false, false, false, false, false, false, false, false, false}, {false, false, false, false, false, false, false, false, false, false, false, false}, }, Branches: [3][12]bool{ {true, false, false, true, false, false, true, false, false, true, false, false}, {false, true, false, false, true, false, false, true, false, false, false, false}, {false, false, false, false, false, true, false, false, false, false, false, true}, }, AutoTroughNear: 0, AutoTroughFar: 0, TroughNear: 2, TroughFar: 1, }, [4]int{3, 4, 3, 2}, 0, 0, 12, 40, }, // 4. Full Reef with some auto scoring. { Reef{ AutoBranches: [3][12]bool{ {false, false, false, false, false, false, false, false, false, false, false, false}, {false, false, false, false, false, false, false, false, false, false, false, false}, {true, true, false, true, true, true, false, true, false, false, false, false}, }, Branches: [3][12]bool{ {true, true, true, true, true, true, true, true, true, true, true, true}, {true, true, true, true, true, true, true, true, true, true, true, true}, {true, true, true, true, true, true, true, true, true, true, true, true}, }, AutoTroughNear: 1, AutoTroughFar: 0, TroughNear: 12, TroughFar: 12, }, [4]int{24, 12, 12, 12}, 7, 45, 53, 160, }, } for i, testCase := range testCases { t.Run( strconv.Itoa(i), func(t *testing.T) { for level := Level1; level < LevelCount; level++ { assert.Equal( t, testCase.expectedTotalCountByLevel[level+1], testCase.reef.CountTotalCoralByLevel(level), ) } assert.Equal(t, testCase.expectedAutoCount, testCase.reef.AutoCoralCount()) assert.Equal(t, testCase.expectedAutoPoints, testCase.reef.AutoCoralPoints()) assert.Equal(t, testCase.expectedTeleopCount, testCase.reef.TeleopCoralCount()) assert.Equal(t, testCase.expectedTeleopPoints, testCase.reef.TeleopCoralPoints()) }, ) } } func TestReef_isAutoBonusCoralThresholdMet(t *testing.T) { // Save the original threshold value and restore it after the test. originalThreshold := AutoBonusCoralThreshold defer func() { AutoBonusCoralThreshold = originalThreshold }() testCases := []struct { reef Reef threshold int expectedThresholdMet bool }{ // 0. Empty reef. { reef: Reef{}, threshold: 1, expectedThresholdMet: false, }, // 1. Below threshold with some coral. { reef: Reef{ AutoBranches: [3][12]bool{ {true, false, false, false, false, false, false, false, false, false, false, false}, {false, false, false, false, false, false, false, false, false, false, false, false}, {false, false, false, false, false, false, false, false, false, false, false, false}, }, AutoTroughNear: 2, AutoTroughFar: 1, }, threshold: 5, expectedThresholdMet: false, }, // 2. Exactly at threshold. { reef: Reef{ AutoBranches: [3][12]bool{ {true, false, false, false, false, false, false, false, false, false, false, false}, {false, false, false, false, false, false, false, false, false, false, false, false}, {false, false, false, false, false, false, false, false, false, false, false, false}, }, AutoTroughNear: 2, AutoTroughFar: 1, }, threshold: 4, expectedThresholdMet: true, }, // 3. Above threshold. { reef: Reef{ AutoBranches: [3][12]bool{ {true, true, false, false, false, false, false, false, false, false, false, false}, {true, false, false, false, false, false, false, false, false, false, false, false}, {false, false, false, false, false, false, false, false, false, false, false, true}, }, AutoTroughNear: 5, AutoTroughFar: 3, }, threshold: 10, expectedThresholdMet: true, }, } for i, tc := range testCases { t.Run( strconv.Itoa(i), func(t *testing.T) { AutoBonusCoralThreshold = tc.threshold result := tc.reef.isAutoBonusCoralThresholdMet() assert.Equal(t, tc.expectedThresholdMet, result) }, ) } } func TestReef_countCoralBonusSatisfiedLevels(t *testing.T) { // Save the original threshold value and restore it after the test. originalThreshold := CoralBonusPerLevelThreshold defer func() { CoralBonusPerLevelThreshold = originalThreshold }() testCases := []struct { reef Reef threshold int expectedSatisfiedLevels int }{ // 0. Empty reef. { reef: Reef{}, threshold: 1, expectedSatisfiedLevels: 0, }, // 1. Two levels satisfied. { reef: Reef{ AutoBranches: [3][12]bool{ {false, false, false, false, false, false, false, false, false, false, false, false}, {true, true, false, false, false, false, false, false, false, false, false, false}, {false, false, false, false, false, false, false, false, false, false, false, false}, }, Branches: [3][12]bool{ {false, false, false, false, false, false, false, false, false, false, false, false}, {true, false, true, false, false, false, false, false, false, false, false, false}, {false, false, false, false, false, false, false, false, false, true, true, true}, }, AutoTroughNear: 1, AutoTroughFar: 0, TroughNear: 2, TroughFar: 1, }, threshold: 3, expectedSatisfiedLevels: 2, }, // 2. All levels satisfied. { reef: Reef{ AutoBranches: [3][12]bool{ {false, false, false, false, false, false, true, true, true, true, true, true}, {true, true, false, false, false, false, false, false, false, false, false, false}, {true, true, false, false, false, false, false, false, false, false, false, false}, }, Branches: [3][12]bool{ {false, false, false, false, false, true, true, true, true, true, true, true}, {true, true, true, true, false, true, false, false, true, true, false, false}, {true, true, true, true, true, false, false, false, false, false, true, true}, }, AutoTroughNear: 3, AutoTroughFar: 2, TroughNear: 2, TroughFar: 5, }, threshold: 7, expectedSatisfiedLevels: 4, }, // 3. No levels satisfied with higher threshold and same scoring as above. { reef: Reef{ AutoBranches: [3][12]bool{ {false, false, false, false, false, true, true, true, true, true, true, true}, {true, true, false, false, false, false, false, false, false, false, false, false}, {true, true, false, false, false, false, false, false, false, false, false, false}, }, Branches: [3][12]bool{ {false, false, false, false, false, false, true, true, true, true, true, true}, {true, true, true, true, false, false, false, false, true, true, false, false}, {true, true, true, true, true, false, false, false, false, false, true, true}, }, AutoTroughNear: 3, AutoTroughFar: 2, TroughNear: 2, TroughFar: 5, }, threshold: 8, expectedSatisfiedLevels: 0, }, } for i, tc := range testCases { t.Run( strconv.Itoa(i), func(t *testing.T) { CoralBonusPerLevelThreshold = tc.threshold result := tc.reef.countCoralBonusSatisfiedLevels() assert.Equal(t, tc.expectedSatisfiedLevels, result) }, ) } } ================================================ FILE: game/rule.go ================================================ // Copyright 2020 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model of a game-specific rule. package game type Rule struct { Id int RuleNumber string IsMajor bool IsRankingPoint bool Description string } // All rules from the 2022 game that carry point penalties. // @formatter:off var rules = []*Rule{ {1, "G206", false, true, "A team or ALLIANCE may not collude with another team to each purposefully violate a rule in an attempt to influence Ranking Points."}, {2, "G210", true, false, "A strategy not consistent with standard gameplay and clearly aimed at forcing the opponent ALLIANCE to violate a rule is not in the spirit of FIRST Robotics Competition and not allowed."}, {3, "G301", true, false, "A DRIVE TEAM member may not cause significant delays to the start of their MATCH."}, {4, "G401", false, false, "In AUTO, each DRIVE TEAM member must remain in their staged areas. A DRIVE TEAM member staged behind a HUMAN STARTING LINE may not contact anything in front of that HUMAN STARTING LINE, unless for personal or equipment safety, to press the E-Stop or A-Stop, or granted permission by a Head REFEREE or FTA."}, {5, "G402", false, false, "In AUTO, a DRIVE TEAM member may not directly or indirectly interact with a ROBOT or an OPERATOR CONSOLE unless for personal safety, OPERATOR CONSOLE safety, or pressing an E-Stop or A-Stop."}, {6, "G403", true, false, "In AUTO, a ROBOT whose BUMPERS are completely across the BARGE ZONE (i.e. to the opposite side of the BARGE ZONE from its ROBOT STARTING LINE) may not contact an opponent ROBOT (either directly or transitively through a SCORING ELEMENT CONTROLLED by either ROBOT and regardless of who initiates contact)."}, {7, "G404", false, false, "In AUTO, a HUMAN PLAYER may not enter ALGAE onto the field."}, {8, "G405", true, false, "In AUTO, a ROBOT may not contact an opposing ALLIANCE’s CAGE."}, {9, "G406", true, false, "A ROBOT may not deliberately use a SCORING ELEMENT in an attempt to ease or amplify the challenge associated with a FIELD element."}, {10, "G407", false, false, "A ROBOT may not intentionally eject a SCORING ELEMENT from the FIELD (either directly or by bouncing off a FIELD element or other ROBOT) other than ALGAE through a PROCESSOR."}, {11, "G407", true, false, "A ROBOT may not intentionally eject a SCORING ELEMENT from the FIELD (either directly or by bouncing off a FIELD element or other ROBOT) other than ALGAE through a PROCESSOR."}, {12, "G408", true, false, "Neither a ROBOT nor a HUMAN PLAYER may damage a SCORING ELEMENT."}, {13, "G409", false, false, "A ROBOT may not simultaneously CONTROL more than 1 CORAL and 1 ALGAE either directly or transitively through other objects."}, {14, "G410", true, true, "A ROBOT may not de-score a CORAL scored on the opponent’s REEF."}, {15, "G411", true, false, "A ROBOT may not deliberately put ALGAE on their opponent’s REEF."}, {16, "G412", true, false, "A ROBOT may not launch CORAL unless their BUMPERS are partially in their REEF ZONE."}, {17, "G414", false, false, "BUMPERS must be in the BUMPER ZONE."}, {18, "G415", false, false, "A ROBOT may not extend more than 1 ft. 6 in. beyond the vertical projection of its ROBOT PERIMETER."}, {19, "G415", true, false, "A ROBOT may not extend more than 1 ft. 6 in. beyond the vertical projection of its ROBOT PERIMETER."}, {20, "G417", true, false, "A ROBOT is prohibited from the following interactions with FIELD elements with the exception of CAGES: grabbing, grasping, attaching to, becoming entangled with, suspending from."}, {21, "G418", true, true, "In TELEOP, a ROBOT may not contact an opponent’s CAGE."}, {22, "G419", true, false, "A ROBOT may not contact the ANCHORS."}, {23, "G420", true, false, "A ROBOT may not contact either NET or any ALGAE scored in an opponent NET."}, {24, "G421", false, false, "No more than 1 ROBOT may be on the opponent’s side of the FIELD (i.e. containing the opponent REEF) with its BUMPERS fully outside and beyond the BARGE ZONES."}, {25, "G421", true, false, "No more than 1 ROBOT may be on the opponent’s side of the FIELD (i.e. containing the opponent REEF) with its BUMPERS fully outside and beyond the BARGE ZONES."}, {26, "G422", false, false, "A ROBOT may not use a COMPONENT outside its ROBOT PERIMETER (except its BUMPERS) to initiate contact with an opponent ROBOT inside the vertical projection of the opponent's ROBOT PERIMETER."}, {27, "G423", true, false, "A ROBOT may not damage or functionally impair an opponent ROBOT in either of the following ways: A. deliberately. B. regardless of intent, by initiating contact, either directly or transitively via a SCORING ELEMENT CONTROLLED by the ROBOT, inside the vertical projection of an opponent's ROBOT PERIMETER."}, {28, "G424", true, false, "A ROBOT may not deliberately attach to, tip, or entangle with an opponent ROBOT."}, {29, "G425", false, false, "A ROBOT may not PIN an opponent’s ROBOT for more than 3 seconds."}, {30, "G425", true, false, "A ROBOT may not PIN an opponent’s ROBOT for more than 3 seconds."}, {31, "G426", true, false, "2 or more ROBOTS that appear to a REFEREE to be working together may not isolate or close off any major element of MATCH play."}, {32, "G427", true, false, "A ROBOT may not contact, directly or transitively through a SCORING ELEMENT, an opponent ROBOT partially or fully inside the opponent’s BARGE ZONE or REEF ZONE regardless of who initiates contact."}, {33, "G428", true, true, "A ROBOT may not contact, directly or transitively through a SCORING ELEMENT, an opponent ROBOT in contact with an opponent CAGE during the last 20 seconds regardless of who initiates contact."}, {34, "G429", false, false, "A DRIVE TEAM member must remain in their designated area as follows: A. DRIVERS and COACHES may not contact anything outside their ALLIANCE AREA, B. a DRIVER must use the OPERATOR CONSOLE in the DRIVER STATION to which they are assigned, as indicated on the team sign, C. a HUMAN PLAYER may not contact anything outside their ALLIANCE AREA or their PROCESSOR AREA, and D. a TECHNICIAN may not contact anything outside their designated area."}, {35, "G430", true, false, "A ROBOT shall be operated only by the DRIVERS and/or HUMAN PLAYERS of that team. A COACH activating their E-Stop or A-Stop is the exception to this rule."}, {36, "G431", false, false, "A DRIVE TEAM member may not extend into the CHUTE."}, {37, "G432", true, false, "A DRIVE TEAM member may not deliberately use a SCORING ELEMENT in an attempt to ease or amplify a challenge associated with a FIELD element."}, {38, "G433", true, false, "SCORING ELEMENTS may only be entered onto the FIELD as follows: A. CORAL may only be introduced to the FIELD by a HUMAN PLAYER or DRIVER through the CORAL STATION and B. ALGAE may only be entered onto the FIELD by a HUMAN PLAYER in their PROCESSOR AREA."}, {39, "G434", false, false, "COACHES may not touch SCORING ELEMENTS, unless for safety purposes."}, {40, "G435", true, false, "HUMAN PLAYERS may not store more than 4 ALGAE in the PROCESSOR AREA."}, } // @formatter:on var ruleMap map[int]*Rule // Returns the rule having the given ID, or nil if no such rule exists. func GetRuleById(id int) *Rule { return GetAllRules()[id] } // Returns a slice of all defined rules that carry point penalties. func GetAllRules() map[int]*Rule { if ruleMap == nil { ruleMap = make(map[int]*Rule, len(rules)) for _, rule := range rules { ruleMap[rule.Id] = rule } } return ruleMap } ================================================ FILE: game/rule_test.go ================================================ // Copyright 2020 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package game import ( "github.com/stretchr/testify/assert" "testing" ) func TestGetRuleById(t *testing.T) { assert.Nil(t, GetRuleById(0)) assert.Equal(t, rules[0], GetRuleById(1)) assert.Equal(t, rules[20], GetRuleById(21)) assert.Nil(t, GetRuleById(1000)) } func TestGetAllRules(t *testing.T) { allRules := GetAllRules() assert.Equal(t, len(rules), len(allRules)) for _, rule := range rules { assert.Equal(t, rule, allRules[rule.Id]) } } ================================================ FILE: game/score.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model representing the instantaneous score of a match. package game type Score struct { RobotsBypassed [3]bool LeaveStatuses [3]bool Reef Reef BargeAlgae int ProcessorAlgae int EndgameStatuses [3]EndgameStatus Fouls []Foul PlayoffDq bool } // Game-specific settings that can be changed via the settings. var AutoBonusCoralThreshold = 1 var CoralBonusPerLevelThreshold = 7 var CoralBonusCoopEnabled = true var BargeBonusPointThreshold = 16 var IncludeAlgaeInBargeBonus = false // Represents the state of a robot at the end of the match. type EndgameStatus int const ( EndgameNone EndgameStatus = iota EndgameParked EndgameShallowCage EndgameDeepCage ) // Summarize calculates and returns the summary fields used for ranking and display. func (score *Score) Summarize(opponentScore *Score) *ScoreSummary { summary := new(ScoreSummary) // Leave the score at zero if the alliance was disqualified. if score.PlayoffDq { return summary } // Calculate autonomous period points. for _, status := range score.LeaveStatuses { if status { summary.LeavePoints += 3 } } autoCoralPoints := score.Reef.AutoCoralPoints() summary.AutoPoints = summary.LeavePoints + autoCoralPoints summary.NumCoral = score.Reef.AutoCoralCount() + score.Reef.TeleopCoralCount() summary.CoralPoints = autoCoralPoints + score.Reef.TeleopCoralPoints() summary.NumAlgae = score.BargeAlgae + score.ProcessorAlgae summary.AlgaePoints = 4*score.BargeAlgae + 6*score.ProcessorAlgae // Calculate endgame points. for _, status := range score.EndgameStatuses { switch status { case EndgameParked: summary.BargePoints += 2 case EndgameShallowCage: summary.BargePoints += 6 case EndgameDeepCage: summary.BargePoints += 12 default: } } summary.MatchPoints = summary.LeavePoints + summary.CoralPoints + summary.AlgaePoints + summary.BargePoints // Calculate penalty points. for _, foul := range opponentScore.Fouls { summary.FoulPoints += foul.PointValue() // Store the number of major fouls since it is used to break ties in playoffs. if foul.IsMajor { summary.NumOpponentMajorFouls++ } rule := foul.Rule() if rule != nil { // Check for the opponent fouls that automatically trigger a ranking point. if rule.IsRankingPoint { switch rule.RuleNumber { case "G410": summary.CoralBonusRankingPoint = true case "G418": summary.BargeBonusRankingPoint = true case "G428": summary.BargeBonusRankingPoint = true } } } } summary.Score = summary.MatchPoints + summary.FoulPoints // Calculate bonus ranking points. // Autonomous bonus ranking point. allRobotsLeft := true for i, left := range score.LeaveStatuses { if !left && !score.RobotsBypassed[i] { allRobotsLeft = false break } } if allRobotsLeft && score.Reef.isAutoBonusCoralThresholdMet() { summary.AutoBonusRankingPoint = true } // Coral bonus ranking point. summary.NumCoralLevels = score.Reef.countCoralBonusSatisfiedLevels() summary.NumCoralLevelsGoal = 4 if CoralBonusCoopEnabled { summary.CoopertitionCriteriaMet = score.ProcessorAlgae >= 2 summary.CoopertitionBonus = summary.CoopertitionCriteriaMet && opponentScore.ProcessorAlgae >= 2 if summary.CoopertitionBonus { summary.NumCoralLevelsGoal = 3 } } if summary.NumCoralLevels >= summary.NumCoralLevelsGoal { summary.CoralBonusRankingPoint = true } // Barge bonus ranking point. bargePointsForBonus := summary.BargePoints if IncludeAlgaeInBargeBonus { bargePointsForBonus += summary.AlgaePoints } if bargePointsForBonus >= BargeBonusPointThreshold { summary.BargeBonusRankingPoint = true } // Check for G206 violation. for _, foul := range score.Fouls { if foul.Rule() != nil && foul.Rule().RuleNumber == "G206" { summary.CoralBonusRankingPoint = false summary.BargeBonusRankingPoint = false break } } // Add up the bonus ranking points. if summary.AutoBonusRankingPoint { summary.BonusRankingPoints++ } if summary.CoralBonusRankingPoint { summary.BonusRankingPoints++ } if summary.BargeBonusRankingPoint { summary.BonusRankingPoints++ } return summary } // Equals returns true if and only if all fields of the two scores are equal. func (score *Score) Equals(other *Score) bool { if score.RobotsBypassed != other.RobotsBypassed || score.LeaveStatuses != other.LeaveStatuses || score.Reef != other.Reef || score.BargeAlgae != other.BargeAlgae || score.ProcessorAlgae != other.ProcessorAlgae || score.EndgameStatuses != other.EndgameStatuses || score.PlayoffDq != other.PlayoffDq || len(score.Fouls) != len(other.Fouls) { return false } for i, foul := range score.Fouls { if foul != other.Fouls[i] { return false } } return true } ================================================ FILE: game/score_summary.go ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model representing the calculated totals of a match score. package game type ScoreSummary struct { LeavePoints int AutoPoints int NumCoral int CoralPoints int NumAlgae int AlgaePoints int BargePoints int MatchPoints int FoulPoints int Score int CoopertitionCriteriaMet bool CoopertitionBonus bool NumCoralLevels int NumCoralLevelsGoal int AutoBonusRankingPoint bool CoralBonusRankingPoint bool BargeBonusRankingPoint bool BonusRankingPoints int NumOpponentMajorFouls int } type MatchStatus int const ( MatchScheduled MatchStatus = iota MatchHidden RedWonMatch BlueWonMatch TieMatch ) func (t MatchStatus) Get() MatchStatus { return t } // Determines the winner of the match given the score summaries for both alliances. func DetermineMatchStatus(redScoreSummary, blueScoreSummary *ScoreSummary, applyPlayoffTiebreakers bool) MatchStatus { if status := comparePoints(redScoreSummary.Score, blueScoreSummary.Score); status != TieMatch { return status } if applyPlayoffTiebreakers { // Check scoring breakdowns to resolve playoff ties. if status := comparePoints( redScoreSummary.NumOpponentMajorFouls, blueScoreSummary.NumOpponentMajorFouls, ); status != TieMatch { return status } if status := comparePoints(redScoreSummary.AutoPoints, blueScoreSummary.AutoPoints); status != TieMatch { return status } if status := comparePoints(redScoreSummary.BargePoints, blueScoreSummary.BargePoints); status != TieMatch { return status } } return TieMatch } // Helper method to compare the red and blue alliance point totals and return the appropriate MatchStatus. func comparePoints(redPoints, bluePoints int) MatchStatus { if redPoints > bluePoints { return RedWonMatch } if redPoints < bluePoints { return BlueWonMatch } return TieMatch } ================================================ FILE: game/score_summary_test.go ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package game import ( "github.com/stretchr/testify/assert" "testing" ) func TestScoreSummaryDetermineMatchStatus(t *testing.T) { redScoreSummary := &ScoreSummary{Score: 10} blueScoreSummary := &ScoreSummary{Score: 10} assert.Equal(t, TieMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, false)) assert.Equal(t, TieMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, true)) redScoreSummary.Score = 11 assert.Equal(t, RedWonMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, false)) assert.Equal(t, RedWonMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, true)) blueScoreSummary.Score = 12 assert.Equal(t, BlueWonMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, false)) assert.Equal(t, BlueWonMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, true)) redScoreSummary.Score = 12 redScoreSummary.NumOpponentMajorFouls = 11 redScoreSummary.AutoPoints = 11 redScoreSummary.BargePoints = 11 blueScoreSummary.NumOpponentMajorFouls = 10 blueScoreSummary.AutoPoints = 10 blueScoreSummary.BargePoints = 10 assert.Equal(t, TieMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, false)) assert.Equal(t, RedWonMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, true)) blueScoreSummary.NumOpponentMajorFouls = 12 assert.Equal(t, TieMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, false)) assert.Equal(t, BlueWonMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, true)) redScoreSummary.NumOpponentMajorFouls = 12 assert.Equal(t, TieMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, false)) assert.Equal(t, RedWonMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, true)) blueScoreSummary.AutoPoints = 12 assert.Equal(t, TieMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, false)) assert.Equal(t, BlueWonMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, true)) redScoreSummary.AutoPoints = 12 assert.Equal(t, TieMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, false)) assert.Equal(t, RedWonMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, true)) blueScoreSummary.BargePoints = 12 assert.Equal(t, TieMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, false)) assert.Equal(t, BlueWonMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, true)) redScoreSummary.BargePoints = 12 assert.Equal(t, TieMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, false)) assert.Equal(t, TieMatch, DetermineMatchStatus(redScoreSummary, blueScoreSummary, true)) } ================================================ FILE: game/score_test.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package game import ( "github.com/stretchr/testify/assert" "strconv" "testing" ) func TestScoreSummary(t *testing.T) { redScore := TestScore1() blueScore := TestScore2() redSummary := redScore.Summarize(blueScore) assert.Equal(t, 6, redSummary.LeavePoints) assert.Equal(t, 13, redSummary.AutoPoints) assert.Equal(t, 12, redSummary.NumCoral) assert.Equal(t, 34, redSummary.CoralPoints) assert.Equal(t, 9, redSummary.NumAlgae) assert.Equal(t, 40, redSummary.AlgaePoints) assert.Equal(t, 14, redSummary.BargePoints) assert.Equal(t, 94, redSummary.MatchPoints) assert.Equal(t, 0, redSummary.FoulPoints) assert.Equal(t, 94, redSummary.Score) assert.Equal(t, true, redSummary.CoopertitionCriteriaMet) assert.Equal(t, false, redSummary.CoopertitionBonus) assert.Equal(t, 1, redSummary.NumCoralLevels) assert.Equal(t, 4, redSummary.NumCoralLevelsGoal) assert.Equal(t, true, redSummary.AutoBonusRankingPoint) assert.Equal(t, false, redSummary.CoralBonusRankingPoint) assert.Equal(t, false, redSummary.BargeBonusRankingPoint) assert.Equal(t, 1, redSummary.BonusRankingPoints) assert.Equal(t, 0, redSummary.NumOpponentMajorFouls) blueSummary := blueScore.Summarize(redScore) assert.Equal(t, 3, blueSummary.LeavePoints) assert.Equal(t, 33, blueSummary.AutoPoints) assert.Equal(t, 26, blueSummary.NumCoral) assert.Equal(t, 83, blueSummary.CoralPoints) assert.Equal(t, 10, blueSummary.NumAlgae) assert.Equal(t, 42, blueSummary.AlgaePoints) assert.Equal(t, 24, blueSummary.BargePoints) assert.Equal(t, 152, blueSummary.MatchPoints) assert.Equal(t, 34, blueSummary.FoulPoints) assert.Equal(t, 186, blueSummary.Score) assert.Equal(t, false, blueSummary.CoopertitionCriteriaMet) assert.Equal(t, false, blueSummary.CoopertitionBonus) assert.Equal(t, 1, blueSummary.NumCoralLevels) assert.Equal(t, 4, blueSummary.NumCoralLevelsGoal) assert.Equal(t, false, blueSummary.AutoBonusRankingPoint) assert.Equal(t, false, blueSummary.CoralBonusRankingPoint) assert.Equal(t, true, blueSummary.BargeBonusRankingPoint) assert.Equal(t, 1, blueSummary.BonusRankingPoints) assert.Equal(t, 5, blueSummary.NumOpponentMajorFouls) // Test that unsetting the team and rule ID don't invalidate the foul. redScore.Fouls[0].TeamId = 0 redScore.Fouls[0].RuleId = 0 assert.Equal(t, 34, blueScore.Summarize(redScore).FoulPoints) // Test playoff disqualification. redScore.PlayoffDq = true assert.Equal(t, 0, redScore.Summarize(blueScore).Score) assert.NotEqual(t, 0, blueScore.Summarize(blueScore).Score) blueScore.PlayoffDq = true assert.Equal(t, 0, blueScore.Summarize(redScore).Score) } func TestScoreAutoBonusRankingPoint(t *testing.T) { redScore := TestScore1() redScore.RobotsBypassed = [3]bool{false, false, false} redScore.LeaveStatuses = [3]bool{false, false, false} blueScore := TestScore2() // No robots left; no bonus is awarded. redSummary := redScore.Summarize(blueScore) assert.Equal(t, false, redSummary.AutoBonusRankingPoint) // All robots left; the bonus is awarded. redScore.LeaveStatuses = [3]bool{true, true, true} redSummary = redScore.Summarize(blueScore) assert.Equal(t, true, redSummary.AutoBonusRankingPoint) // One robot failed to leave; no bonus is awarded. for i := 0; i < 3; i++ { redScore.LeaveStatuses = [3]bool{true, true, true} redScore.LeaveStatuses[i] = false redSummary = redScore.Summarize(blueScore) assert.Equal(t, false, redSummary.AutoBonusRankingPoint) } // One bypassed robot failed to leave; the bonus is awarded. for i := 0; i < 3; i++ { redScore.RobotsBypassed = [3]bool{false, false, false} redScore.RobotsBypassed[i] = true redScore.LeaveStatuses = [3]bool{true, true, true} redScore.LeaveStatuses[i] = false redSummary = redScore.Summarize(blueScore) assert.Equal(t, true, redSummary.AutoBonusRankingPoint) } // Only one robot left but the other two were bypassed; the bonus is awarded. redScore.RobotsBypassed = [3]bool{false, true, true} redScore.LeaveStatuses = [3]bool{true, false, false} redSummary = redScore.Summarize(blueScore) assert.Equal(t, true, redSummary.AutoBonusRankingPoint) // No coral is scored; the bonus is not awarded. redScore.Reef = Reef{} redSummary = redScore.Summarize(blueScore) assert.Equal(t, false, redSummary.AutoBonusRankingPoint) } func TestScoreCoralBonusRankingPoint(t *testing.T) { // Save the original threshold value and restore it after the test. originalThreshold := CoralBonusPerLevelThreshold defer func() { CoralBonusPerLevelThreshold = originalThreshold CoralBonusCoopEnabled = true }() CoralBonusPerLevelThreshold = 3 redScore := TestScore1() blueScore := TestScore2() redScoreSummary := redScore.Summarize(blueScore) blueScoreSummary := blueScore.Summarize(redScore) assert.Equal(t, true, redScoreSummary.CoopertitionCriteriaMet) assert.Equal(t, false, redScoreSummary.CoopertitionBonus) assert.Equal(t, 2, redScoreSummary.NumCoralLevels) assert.Equal(t, 4, redScoreSummary.NumCoralLevelsGoal) assert.Equal(t, false, redScoreSummary.CoralBonusRankingPoint) assert.Equal(t, false, blueScoreSummary.CoopertitionCriteriaMet) assert.Equal(t, false, blueScoreSummary.CoopertitionBonus) assert.Equal(t, 4, blueScoreSummary.NumCoralLevels) assert.Equal(t, 4, blueScoreSummary.NumCoralLevelsGoal) assert.Equal(t, true, blueScoreSummary.CoralBonusRankingPoint) // Activate coopertition bonus for the blue alliance. blueScore.ProcessorAlgae = 2 redScoreSummary = redScore.Summarize(blueScore) blueScoreSummary = blueScore.Summarize(redScore) assert.Equal(t, true, redScoreSummary.CoopertitionCriteriaMet) assert.Equal(t, true, redScoreSummary.CoopertitionBonus) assert.Equal(t, 2, redScoreSummary.NumCoralLevels) assert.Equal(t, 3, redScoreSummary.NumCoralLevelsGoal) assert.Equal(t, false, redScoreSummary.CoralBonusRankingPoint) assert.Equal(t, true, blueScoreSummary.CoopertitionCriteriaMet) assert.Equal(t, true, blueScoreSummary.CoopertitionBonus) assert.Equal(t, 4, blueScoreSummary.NumCoralLevels) assert.Equal(t, 3, blueScoreSummary.NumCoralLevelsGoal) assert.Equal(t, true, blueScoreSummary.CoralBonusRankingPoint) // Satisfy the Coral bonus requirement for the red alliance. redScore.Reef.Branches[0] = [12]bool{true, true, true, true} redScoreSummary = redScore.Summarize(blueScore) blueScoreSummary = blueScore.Summarize(redScore) assert.Equal(t, true, redScoreSummary.CoopertitionCriteriaMet) assert.Equal(t, true, redScoreSummary.CoopertitionBonus) assert.Equal(t, 3, redScoreSummary.NumCoralLevels) assert.Equal(t, 3, redScoreSummary.NumCoralLevelsGoal) assert.Equal(t, true, redScoreSummary.CoralBonusRankingPoint) // Disable the coopertition bonus. CoralBonusCoopEnabled = false redScoreSummary = redScore.Summarize(blueScore) blueScoreSummary = blueScore.Summarize(redScore) assert.Equal(t, false, redScoreSummary.CoopertitionCriteriaMet) assert.Equal(t, false, redScoreSummary.CoopertitionBonus) assert.Equal(t, 3, redScoreSummary.NumCoralLevels) assert.Equal(t, 4, redScoreSummary.NumCoralLevelsGoal) assert.Equal(t, false, redScoreSummary.CoralBonusRankingPoint) assert.Equal(t, false, blueScoreSummary.CoopertitionCriteriaMet) assert.Equal(t, false, blueScoreSummary.CoopertitionBonus) assert.Equal(t, 4, blueScoreSummary.NumCoralLevels) assert.Equal(t, 4, blueScoreSummary.NumCoralLevelsGoal) assert.Equal(t, true, blueScoreSummary.CoralBonusRankingPoint) // Check that G206 disqualifies the alliance from the Coral bonus. blueScore.Fouls = []Foul{{FoulId: 1, RuleId: 1}} redScoreSummary = redScore.Summarize(blueScore) blueScoreSummary = blueScore.Summarize(redScore) assert.Equal(t, 0, redScoreSummary.FoulPoints) assert.Equal(t, false, blueScoreSummary.CoralBonusRankingPoint) assert.Equal(t, 0, blueScoreSummary.BonusRankingPoints) } func TestScoreBargeBonusRankingPoint(t *testing.T) { // Save the original threshold value and restore it after the test. originalThreshold := BargeBonusPointThreshold defer func() { BargeBonusPointThreshold = originalThreshold }() testCases := []struct { endgameStatuses [3]EndgameStatus fouls []Foul threshold int expectedBonusAwarded bool }{ // 0. No endgame points. { endgameStatuses: [3]EndgameStatus{EndgameNone, EndgameNone, EndgameNone}, fouls: []Foul{}, threshold: 14, expectedBonusAwarded: false, }, // 1. All robots parked. { endgameStatuses: [3]EndgameStatus{EndgameParked, EndgameParked, EndgameParked}, fouls: []Foul{}, threshold: 14, expectedBonusAwarded: false, }, // 2. Meeting the minimum threshold. { endgameStatuses: [3]EndgameStatus{EndgameParked, EndgameNone, EndgameDeepCage}, fouls: []Foul{}, threshold: 14, expectedBonusAwarded: true, }, // 3. Same endgame statuses not meeting a higher threshold. { endgameStatuses: [3]EndgameStatus{EndgameParked, EndgameNone, EndgameDeepCage}, fouls: []Foul{}, threshold: 16, expectedBonusAwarded: false, }, // 4. Meeting the new minimum threshold with a different combination. { endgameStatuses: [3]EndgameStatus{EndgameDeepCage, EndgameParked, EndgameParked}, fouls: []Foul{}, threshold: 16, expectedBonusAwarded: true, }, // 5. One of each endgame status with higher threshold. { endgameStatuses: [3]EndgameStatus{EndgameShallowCage, EndgameDeepCage, EndgameParked}, fouls: []Foul{}, threshold: 21, expectedBonusAwarded: false, }, // 6. All deep climbs. { endgameStatuses: [3]EndgameStatus{EndgameDeepCage, EndgameDeepCage, EndgameDeepCage}, fouls: []Foul{}, threshold: 36, expectedBonusAwarded: true, }, // 7. G206 foul disqualifies the alliance from the Barge bonus. { endgameStatuses: [3]EndgameStatus{EndgameDeepCage, EndgameDeepCage, EndgameDeepCage}, fouls: []Foul{{RuleId: 1}}, threshold: 14, expectedBonusAwarded: false, }, } for i, tc := range testCases { t.Run( strconv.Itoa(i), func(t *testing.T) { BargeBonusPointThreshold = tc.threshold score := Score{EndgameStatuses: tc.endgameStatuses, Fouls: tc.fouls} summary := score.Summarize(&Score{}) assert.Equal(t, tc.expectedBonusAwarded, summary.BargeBonusRankingPoint) }, ) } } func TestScoreBargeBonusRankingPointIncludingAlgae(t *testing.T) { // Save the original setting and restore it after the test. originalIncludeAlgae := IncludeAlgaeInBargeBonus defer func() { IncludeAlgaeInBargeBonus = originalIncludeAlgae }() IncludeAlgaeInBargeBonus = false BargeBonusPointThreshold = 36 score := Score{ EndgameStatuses: [3]EndgameStatus{EndgameDeepCage, EndgameDeepCage, EndgameParked}, BargeAlgae: 1, ProcessorAlgae: 1, } summary := score.Summarize(&Score{}) assert.Equal(t, false, summary.BargeBonusRankingPoint) IncludeAlgaeInBargeBonus = true summary = score.Summarize(&Score{}) assert.Equal(t, true, summary.BargeBonusRankingPoint) } func TestScoreAutoRankingPointFromFouls(t *testing.T) { testCases := []struct { ownFouls []Foul opponentFouls []Foul expectedCoralBonus bool expectedBargeBonus bool }{ // 0. No fouls - no automatic ranking points. { ownFouls: []Foul{}, opponentFouls: []Foul{}, expectedCoralBonus: false, expectedBargeBonus: false, }, // 1. G410 foul automatically awards coral bonus. { ownFouls: []Foul{}, opponentFouls: []Foul{{RuleId: 14}}, expectedCoralBonus: true, expectedBargeBonus: false, }, // 2. G418 foul automatically awards barge bonus. { ownFouls: []Foul{}, opponentFouls: []Foul{{RuleId: 21}}, expectedCoralBonus: false, expectedBargeBonus: true, }, // 3. G428 foul automatically awards barge bonus. { ownFouls: []Foul{}, opponentFouls: []Foul{{RuleId: 33}}, expectedCoralBonus: false, expectedBargeBonus: true, }, // 4. All fouls together still automatically award both bonuses. { ownFouls: []Foul{}, opponentFouls: []Foul{{RuleId: 14}, {RuleId: 21}, {RuleId: 33}}, expectedCoralBonus: true, expectedBargeBonus: true, }, // 5. G206 makes the alliance ineligible for both bonuses. { ownFouls: []Foul{{RuleId: 1}}, opponentFouls: []Foul{{RuleId: 14}, {RuleId: 21}, {RuleId: 33}}, expectedCoralBonus: false, expectedBargeBonus: false, }, } for i, tc := range testCases { t.Run( strconv.Itoa(i), func(t *testing.T) { redScore := Score{Fouls: tc.ownFouls} blueScore := Score{Fouls: tc.opponentFouls} redSummary := redScore.Summarize(&blueScore) assert.Equal(t, tc.expectedCoralBonus, redSummary.CoralBonusRankingPoint) assert.Equal(t, tc.expectedBargeBonus, redSummary.BargeBonusRankingPoint) // Count expected total bonus ranking points. expectedBonusRankingPoints := 0 if tc.expectedCoralBonus { expectedBonusRankingPoints++ } if tc.expectedBargeBonus { expectedBonusRankingPoints++ } assert.Equal(t, expectedBonusRankingPoints, redSummary.BonusRankingPoints) }, ) } } func TestScoreEquals(t *testing.T) { score1 := TestScore1() score2 := TestScore1() assert.True(t, score1.Equals(score2)) assert.True(t, score2.Equals(score1)) score3 := TestScore2() assert.False(t, score1.Equals(score3)) assert.False(t, score3.Equals(score1)) score2 = TestScore1() score2.RobotsBypassed[0] = true assert.False(t, score1.Equals(score2)) assert.False(t, score2.Equals(score1)) score2 = TestScore1() score2.LeaveStatuses[0] = false assert.False(t, score1.Equals(score2)) assert.False(t, score2.Equals(score1)) score2 = TestScore1() score2.Reef.TroughFar = 5 assert.False(t, score1.Equals(score2)) assert.False(t, score2.Equals(score1)) score2 = TestScore1() score2.BargeAlgae = 9 assert.False(t, score1.Equals(score2)) assert.False(t, score2.Equals(score1)) score2 = TestScore1() score2.ProcessorAlgae = 3 assert.False(t, score1.Equals(score2)) assert.False(t, score2.Equals(score1)) score2 = TestScore1() score2.EndgameStatuses[1] = EndgameParked assert.False(t, score1.Equals(score2)) assert.False(t, score2.Equals(score1)) score2 = TestScore1() score2.Fouls = []Foul{} assert.False(t, score1.Equals(score2)) assert.False(t, score2.Equals(score1)) score2 = TestScore1() score2.Fouls[0].IsMajor = false assert.False(t, score1.Equals(score2)) assert.False(t, score2.Equals(score1)) score2 = TestScore1() score2.Fouls[0].TeamId += 1 assert.False(t, score1.Equals(score2)) assert.False(t, score2.Equals(score1)) score2 = TestScore1() score2.Fouls[0].RuleId = 1 assert.False(t, score1.Equals(score2)) assert.False(t, score2.Equals(score1)) score2 = TestScore1() score2.PlayoffDq = !score2.PlayoffDq assert.False(t, score1.Equals(score2)) assert.False(t, score2.Equals(score1)) } ================================================ FILE: game/test_helpers.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Helper methods for use in tests in this package and others. package game func TestScore1() *Score { fouls := []Foul{ {1, true, 25, 16}, {2, false, 1868, 13}, {3, false, 1868, 13}, {4, true, 25, 15}, {5, true, 25, 15}, {6, true, 25, 15}, {7, true, 25, 15}, } return &Score{ RobotsBypassed: [3]bool{false, false, true}, LeaveStatuses: [3]bool{true, true, false}, Reef: Reef{ AutoBranches: [3][12]bool{{true}}, Branches: [3][12]bool{{true, true}, {true, true, true}}, AutoTroughNear: 0, AutoTroughFar: 1, TroughNear: 3, TroughFar: 4, }, BargeAlgae: 7, ProcessorAlgae: 2, EndgameStatuses: [3]EndgameStatus{EndgameParked, EndgameNone, EndgameDeepCage}, Fouls: fouls, PlayoffDq: false, } } func TestScore2() *Score { return &Score{ RobotsBypassed: [3]bool{false, false, false}, LeaveStatuses: [3]bool{false, true, false}, Reef: Reef{ AutoBranches: [3][12]bool{{}, {}, {true, true, true, true}}, Branches: [3][12]bool{{true, true, true}, {true, true, true, true, true}, {true, true, true}}, AutoTroughNear: 2, AutoTroughFar: 1, TroughNear: 10, TroughFar: 5, }, BargeAlgae: 9, ProcessorAlgae: 1, EndgameStatuses: [3]EndgameStatus{EndgameDeepCage, EndgameShallowCage, EndgameShallowCage}, Fouls: []Foul{}, PlayoffDq: false, } } func TestRanking1() *Ranking { return &Ranking{254, 1, 0, RankingFields{20, 625, 90, 554, 12, 0.254, 3, 2, 1, 0, 10}} } func TestRanking2() *Ranking { return &Ranking{1114, 2, 1, RankingFields{18, 700, 625, 90, 23, 0.1114, 1, 3, 2, 0, 10}} } ================================================ FILE: go.mod ================================================ module github.com/Team254/cheesy-arena go 1.23.0 require ( github.com/dchest/uniuri v1.2.0 github.com/goburrow/modbus v0.1.0 github.com/google/uuid v1.3.0 github.com/gorilla/websocket v1.5.0 github.com/jung-kurt/gofpdf v1.16.2 github.com/mitchellh/mapstructure v1.5.0 github.com/stretchr/testify v1.8.2 go.etcd.io/bbolt v1.3.7 golang.org/x/crypto v0.35.0 ) require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/goburrow/serial v0.1.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect golang.org/x/sys v0.30.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) ================================================ FILE: go.sum ================================================ github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dchest/uniuri v1.2.0 h1:koIcOUdrTIivZgSLhHQvKgqdWZq5d7KdMEWF1Ud6+5g= github.com/dchest/uniuri v1.2.0/go.mod h1:fSzm4SLHzNZvWLvWJew423PhAzkpNQYq+uNLq4kxhkY= github.com/goburrow/modbus v0.1.0 h1:DejRZY73nEM6+bt5JSP6IsFolJ9dVcqxsYbpLbeW/ro= github.com/goburrow/modbus v0.1.0/go.mod h1:Kx552D5rLIS8E7TyUwQ/UdHEqvX5T8tyiGBTlzMcZBg= github.com/goburrow/serial v0.1.0 h1:v2T1SQa/dlUqQiYIT8+Cu7YolfqAi3K96UmhwYyuSrA= github.com/goburrow/serial v0.1.0/go.mod h1:sAiqG0nRVswsm1C97xsttiYCzSLBmUZ/VSlVLZJ8haA= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jung-kurt/gofpdf v1.16.2 h1:jgbatWHfRlPYiK85qgevsZTHviWXKwB1TTiKdz5PtRc= github.com/jung-kurt/gofpdf v1.16.2/go.mod h1:1hl7y57EsiPAkLbOwzpzqgx1A30nQCk/YmFV8S2vmK0= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/phpdave11/gofpdi v1.0.7/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs= golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ= golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU= golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= ================================================ FILE: main.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // Go version 1.22 or newer is required. //go:build go1.22 package main import ( "flag" "github.com/Team254/cheesy-arena/field" "github.com/Team254/cheesy-arena/network" "github.com/Team254/cheesy-arena/web" "log" ) const eventDbPath = "./event.db" const httpPort = 8080 // Main entry point for the application. func main() { arena, err := field.NewArena(eventDbPath) if err != nil { log.Fatalln("Error during startup: ", err) } flag.StringVar(&network.ServerIpAddress, "serverIP", network.DefaultServerIpAddress, "Sets the FMS server IP") flag.Parse() // Start the web server in a separate goroutine. web := web.NewWeb(arena) go web.ServeWebInterface(httpPort) // Run the arena state machine in the main thread. arena.Run() } ================================================ FILE: model/alliance.go ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model and datastore CRUD methods for a playoff alliance. package model import "sort" type Alliance struct { Id int `db:"id,manual"` TeamIds []int Lineup [3]int } type AllianceSelectionRankedTeam struct { Rank int TeamId int Picked bool } func (database *Database) CreateAlliance(alliance *Alliance) error { return database.allianceTable.create(alliance) } func (database *Database) GetAllianceById(id int) (*Alliance, error) { return database.allianceTable.getById(id) } func (database *Database) UpdateAlliance(alliance *Alliance) error { return database.allianceTable.update(alliance) } func (database *Database) DeleteAlliance(id int) error { return database.allianceTable.delete(id) } func (database *Database) TruncateAlliances() error { return database.allianceTable.truncate() } func (database *Database) GetAllAlliances() ([]Alliance, error) { alliances, err := database.allianceTable.getAll() if err != nil { return nil, err } sort.Slice( alliances, func(i, j int) bool { return alliances[i].Id < alliances[j].Id }, ) return alliances, nil } // Updates the alliance, if necessary, to include whoever played in the match, in case there was a substitute. func (database *Database) UpdateAllianceFromMatch(allianceId int, matchTeamIds [3]int) error { alliance, err := database.GetAllianceById(allianceId) if err != nil { return err } changed := false if matchTeamIds != alliance.Lineup { alliance.Lineup = matchTeamIds changed = true } for _, teamId := range matchTeamIds { found := false for _, allianceTeamId := range alliance.TeamIds { if teamId == allianceTeamId { found = true break } } if !found { alliance.TeamIds = append(alliance.TeamIds, teamId) changed = true } } if changed { return database.UpdateAlliance(alliance) } return nil } // Returns two arrays containing the IDs of any teams for the red and blue alliances, respectively, who are part of the // playoff alliance but are not playing in the given match. // If the given match isn't a playoff match, empty arrays are returned. func (database *Database) GetOffFieldTeamIds(match *Match) ([]int, []int, error) { redOffFieldTeams, err := database.getOffFieldTeamIdsForAlliance( match.PlayoffRedAlliance, match.Red1, match.Red2, match.Red3, ) if err != nil { return nil, nil, err } blueOffFieldTeams, err := database.getOffFieldTeamIdsForAlliance( match.PlayoffBlueAlliance, match.Blue1, match.Blue2, match.Blue3, ) if err != nil { return nil, nil, err } return redOffFieldTeams, blueOffFieldTeams, nil } func (database *Database) getOffFieldTeamIdsForAlliance(allianceId int, teamId1, teamId2, teamId3 int) ([]int, error) { if allianceId == 0 { return []int{}, nil } alliance, err := database.GetAllianceById(allianceId) if alliance == nil || err != nil { return nil, err } offFieldTeamIds := []int{} for _, allianceTeamId := range alliance.TeamIds { if allianceTeamId != teamId1 && allianceTeamId != teamId2 && allianceTeamId != teamId3 { offFieldTeamIds = append(offFieldTeamIds, allianceTeamId) } } return offFieldTeamIds, nil } ================================================ FILE: model/alliance_test.go ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/stretchr/testify/assert" "testing" ) func TestGetNonexistentAlliance(t *testing.T) { db := setupTestDb(t) defer db.Close() alliance, err := db.GetAllianceById(1114) assert.Nil(t, err) assert.Nil(t, alliance) } func TestAllianceCrud(t *testing.T) { db := setupTestDb(t) defer db.Close() alliance := Alliance{Id: 3, TeamIds: []int{254, 1114, 296, 1503}, Lineup: [3]int{1114, 254, 296}} assert.Nil(t, db.CreateAlliance(&alliance)) alliance2, err := db.GetAllianceById(3) assert.Nil(t, err) assert.Equal(t, alliance, *alliance2) alliance.TeamIds = append(alliance.TeamIds, 296) assert.Nil(t, db.UpdateAlliance(&alliance)) alliance2, err = db.GetAllianceById(3) assert.Nil(t, err) assert.Equal(t, alliance, *alliance2) assert.Nil(t, db.DeleteAlliance(alliance.Id)) alliance2, err = db.GetAllianceById(3) assert.Nil(t, err) assert.Nil(t, alliance2) } func TestUpdateAllianceFromMatch(t *testing.T) { db := setupTestDb(t) defer db.Close() alliance := Alliance{Id: 3, TeamIds: []int{254, 1114, 296, 1503}, Lineup: [3]int{1114, 254, 296}} assert.Nil(t, db.CreateAlliance(&alliance)) assert.Nil(t, db.UpdateAllianceFromMatch(3, [3]int{1503, 188, 296})) alliance2, err := db.GetAllianceById(3) assert.Nil(t, err) assert.Equal(t, []int{254, 1114, 296, 1503, 188}, alliance2.TeamIds) assert.Equal(t, [3]int{1503, 188, 296}, alliance2.Lineup) } func TestTruncateAllianceTeams(t *testing.T) { db := setupTestDb(t) defer db.Close() alliance := Alliance{Id: 1, TeamIds: []int{148, 118, 125}, Lineup: [3]int{118, 148, 125}} assert.Nil(t, db.CreateAlliance(&alliance)) assert.Nil(t, db.TruncateAlliances()) alliance2, err := db.GetAllianceById(1) assert.Nil(t, err) assert.Nil(t, alliance2) } func TestGetAllAlliances(t *testing.T) { db := setupTestDb(t) defer db.Close() alliances, err := db.GetAllAlliances() assert.Nil(t, err) assert.Empty(t, alliances) BuildTestAlliances(db) alliances, err = db.GetAllAlliances() assert.Nil(t, err) if assert.Equal(t, 2, len(alliances)) { assert.Equal(t, 1, alliances[0].Id) assert.Equal(t, []int{254, 469, 2848, 74, 3175}, alliances[0].TeamIds) assert.Equal(t, 2, alliances[1].Id) assert.Equal(t, []int{1718, 2451, 1619}, alliances[1].TeamIds) } } func TestGetOffFieldTeamIds(t *testing.T) { db := setupTestDb(t) defer db.Close() BuildTestAlliances(db) match := &Match{ PlayoffRedAlliance: 1, PlayoffBlueAlliance: 2, Red1: 469, Red2: 254, Red3: 2848, Blue1: 1619, Blue2: 1718, Blue3: 2451, } redOffFieldTeams, blueOffFieldTeams, err := db.GetOffFieldTeamIds(match) assert.Nil(t, err) assert.Equal(t, []int{74, 3175}, redOffFieldTeams) assert.Equal(t, []int{}, blueOffFieldTeams) match.Red1 = 74 match.Red2 = 3175 redOffFieldTeams, blueOffFieldTeams, err = db.GetOffFieldTeamIds(match) assert.Nil(t, err) assert.Equal(t, []int{254, 469}, redOffFieldTeams) assert.Equal(t, []int{}, blueOffFieldTeams) match.PlayoffRedAlliance = 0 match.PlayoffBlueAlliance = 0 redOffFieldTeams, blueOffFieldTeams, err = db.GetOffFieldTeamIds(match) assert.Nil(t, err) assert.Equal(t, []int{}, redOffFieldTeams) assert.Equal(t, []int{}, blueOffFieldTeams) match = &Match{ PlayoffRedAlliance: 2, PlayoffBlueAlliance: 1, Red1: 1718, Red2: 2451, Red3: 1619, Blue1: 3175, Blue2: 74, Blue3: 2848, } redOffFieldTeams, blueOffFieldTeams, err = db.GetOffFieldTeamIds(match) assert.Nil(t, err) assert.Equal(t, []int{}, redOffFieldTeams) assert.Equal(t, []int{254, 469}, blueOffFieldTeams) } ================================================ FILE: model/award.go ================================================ // Copyright 2019 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model and datastore CRUD methods for an award. package model import "sort" type Award struct { Id int `db:"id"` Type AwardType AwardName string TeamId int PersonName string } type AwardType int const ( JudgedAward AwardType = iota FinalistAward WinnerAward ) func (database *Database) CreateAward(award *Award) error { return database.awardTable.create(award) } func (database *Database) GetAwardById(id int) (*Award, error) { return database.awardTable.getById(id) } func (database *Database) UpdateAward(award *Award) error { return database.awardTable.update(award) } func (database *Database) DeleteAward(id int) error { return database.awardTable.delete(id) } func (database *Database) TruncateAwards() error { return database.awardTable.truncate() } func (database *Database) GetAllAwards() ([]Award, error) { awards, err := database.awardTable.getAll() if err != nil { return nil, err } sort.Slice( awards, func(i, j int) bool { return awards[i].Id < awards[j].Id }, ) return awards, nil } func (database *Database) GetAwardsByType(awardType AwardType) ([]Award, error) { awards, err := database.GetAllAwards() if err != nil { return nil, err } var matchingAwards []Award for _, award := range awards { if award.Type == awardType { matchingAwards = append(matchingAwards, award) } } return matchingAwards, nil } ================================================ FILE: model/award_test.go ================================================ // Copyright 2019 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/stretchr/testify/assert" "testing" ) func TestGetNonexistentAward(t *testing.T) { db := setupTestDb(t) defer db.Close() award, err := db.GetAwardById(1114) assert.Nil(t, err) assert.Nil(t, award) } func TestAwardCrud(t *testing.T) { db := setupTestDb(t) defer db.Close() award := Award{0, JudgedAward, "Saftey Award", 254, ""} assert.Nil(t, db.CreateAward(&award)) award2, err := db.GetAwardById(1) assert.Nil(t, err) assert.Equal(t, award, *award2) award2.Id = 0 award2.AwardName = "Spirit Award" assert.Nil(t, db.CreateAward(award2)) awards, err := db.GetAllAwards() assert.Nil(t, err) if assert.Equal(t, 2, len(awards)) { assert.Equal(t, award, awards[0]) assert.Equal(t, *award2, awards[1]) } award.TeamId = 0 award.PersonName = "Travus Cubington" assert.Nil(t, db.UpdateAward(&award)) award2, err = db.GetAwardById(1) assert.Nil(t, err) assert.Equal(t, award.TeamId, award2.TeamId) assert.Equal(t, award.PersonName, award2.PersonName) assert.Nil(t, db.DeleteAward(award.Id)) award2, err = db.GetAwardById(1) assert.Nil(t, err) assert.Nil(t, award2) } func TestTruncateAwards(t *testing.T) { db := setupTestDb(t) defer db.Close() award := Award{0, JudgedAward, "Saftey Award", 254, ""} db.CreateAward(&award) db.TruncateAwards() award2, err := db.GetAwardById(1) assert.Nil(t, err) assert.Nil(t, award2) } func TestGetAwardsByType(t *testing.T) { db := setupTestDb(t) defer db.Close() award1 := Award{0, WinnerAward, "Event Winner", 1114, ""} db.CreateAward(&award1) award2 := Award{0, FinalistAward, "Event Finalist", 2056, ""} db.CreateAward(&award2) award3 := Award{0, JudgedAward, "Saftey Award", 254, ""} db.CreateAward(&award3) award4 := Award{0, WinnerAward, "Event Winner", 254, ""} db.CreateAward(&award4) awards, err := db.GetAwardsByType(JudgedAward) assert.Nil(t, err) if assert.Equal(t, 1, len(awards)) { assert.Equal(t, award3, awards[0]) } awards, err = db.GetAwardsByType(FinalistAward) assert.Nil(t, err) if assert.Equal(t, 1, len(awards)) { assert.Equal(t, award2, awards[0]) } awards, err = db.GetAwardsByType(WinnerAward) assert.Nil(t, err) if assert.Equal(t, 2, len(awards)) { assert.Equal(t, award1, awards[0]) assert.Equal(t, award4, awards[1]) } } ================================================ FILE: model/database.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Functions for manipulating the per-event Bolt datastore. package model import ( "fmt" "github.com/Team254/cheesy-arena/game" "go.etcd.io/bbolt" "io" "os" "path/filepath" "strings" "time" ) const backupsDir = "db/backups" var BaseDir = "." // Mutable for testing type Database struct { Path string bolt *bbolt.DB allianceTable *table[Alliance] awardTable *table[Award] eventSettingsTable *table[EventSettings] judgingSlotTable *table[JudgingSlot] lowerThirdTable *table[LowerThird] matchTable *table[Match] matchResultTable *table[MatchResult] rankingTable *table[game.Ranking] scheduleBlockTable *table[ScheduleBlock] scheduledBreakTable *table[ScheduledBreak] sponsorSlideTable *table[SponsorSlide] teamTable *table[Team] userSessionTable *table[UserSession] } // Opens the Bolt database at the given path, creating it if it doesn't exist. func OpenDatabase(filename string) (*Database, error) { database := Database{Path: filename} var err error database.bolt, err = bbolt.Open(database.Path, 0644, &bbolt.Options{NoSync: true, Timeout: time.Second}) if err != nil { return nil, err } // Register tables. if database.allianceTable, err = newTable[Alliance](&database); err != nil { return nil, err } if database.awardTable, err = newTable[Award](&database); err != nil { return nil, err } if database.eventSettingsTable, err = newTable[EventSettings](&database); err != nil { return nil, err } if database.judgingSlotTable, err = newTable[JudgingSlot](&database); err != nil { return nil, err } if database.lowerThirdTable, err = newTable[LowerThird](&database); err != nil { return nil, err } if database.matchTable, err = newTable[Match](&database); err != nil { return nil, err } if database.matchResultTable, err = newTable[MatchResult](&database); err != nil { return nil, err } if database.rankingTable, err = newTable[game.Ranking](&database); err != nil { return nil, err } if database.scheduleBlockTable, err = newTable[ScheduleBlock](&database); err != nil { return nil, err } if database.scheduledBreakTable, err = newTable[ScheduledBreak](&database); err != nil { return nil, err } if database.sponsorSlideTable, err = newTable[SponsorSlide](&database); err != nil { return nil, err } if database.teamTable, err = newTable[Team](&database); err != nil { return nil, err } if database.userSessionTable, err = newTable[UserSession](&database); err != nil { return nil, err } return &database, nil } func (database *Database) Close() error { return database.bolt.Close() } // Creates a copy of the current database and saves it to the backups directory. func (database *Database) Backup(eventName, reason string) error { backupsPath := filepath.Join(BaseDir, backupsDir) err := os.MkdirAll(backupsPath, 0755) if err != nil { return err } filename := fmt.Sprintf( "%s/%s_%s_%s.db", backupsPath, strings.Replace(eventName, " ", "_", -1), time.Now().Format("20060102150405"), reason, ) dest, err := os.Create(filename) if err != nil { return err } defer dest.Close() if err = database.WriteBackup(dest); err != nil { return err } return nil } // Takes a snapshot of Bolt database and writes it to the given writer. func (database *Database) WriteBackup(writer io.Writer) error { return database.bolt.View( func(tx *bbolt.Tx) error { _, err := tx.WriteTo(writer) return err }, ) } ================================================ FILE: model/database_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/stretchr/testify/assert" "testing" ) func TestOpenUnreachableDatabase(t *testing.T) { _, err := OpenDatabase("nonexistentdir/test.db") assert.NotNil(t, err) } func setupTestDb(t *testing.T) *Database { return SetupTestDb(t) } ================================================ FILE: model/event_settings.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model and datastore read/write methods for event-level configuration. package model import ( "strings" "github.com/Team254/cheesy-arena/game" ) type PlayoffType int const ( DoubleEliminationPlayoff PlayoffType = iota SingleEliminationPlayoff ) // Configured here to avoid circular import dependencies. var ( sccDefaultUpCommands = []string{ "configure terminal", "interface range gigabitEthernet 1/2-4", "no shutdown", "exit", "exit", "exit", } sccDefaultDownCommands = []string{ "configure terminal", "interface range gigabitEthernet 1/2-4", "shutdown", "exit", "exit", "exit", } ) type EventSettings struct { Id int `db:"id"` Name string PlayoffType PlayoffType NumPlayoffAlliances int SelectionRound2Order string SelectionRound3Order string SelectionShowUnpickedTeams bool TbaDownloadEnabled bool TbaPublishingEnabled bool TbaEventCode string TbaSecretId string TbaSecret string NexusEnabled bool NetworkSecurityEnabled bool ApAddress string ApPassword string ApChannel int SwitchAddress string SwitchPassword string SCCManagementEnabled bool RedSCCAddress string BlueSCCAddress string SCCUsername string SCCPassword string SCCUpCommands string SCCDownCommands string PlcAddress string AdminPassword string TeamSignRed1Id int TeamSignRed2Id int TeamSignRed3Id int TeamSignRedTimerId int TeamSignBlue1Id int TeamSignBlue2Id int TeamSignBlue3Id int TeamSignBlueTimerId int UseLiteUdpPort bool BlackmagicAddresses string CompanionAddress string CompanionPort int CompanionMatchPreviewPage int CompanionMatchPreviewRow int CompanionMatchPreviewColumn int CompanionSetAudiencePage int CompanionSetAudienceRow int CompanionSetAudienceColumn int CompanionMatchStartPage int CompanionMatchStartRow int CompanionMatchStartColumn int CompanionTeleopStartPage int CompanionTeleopStartRow int CompanionTeleopStartColumn int CompanionEndgameStartPage int CompanionEndgameStartRow int CompanionEndgameStartColumn int CompanionMatchEndPage int CompanionMatchEndRow int CompanionMatchEndColumn int CompanionPostResultPage int CompanionPostResultRow int CompanionPostResultColumn int CompanionAllianceSelectionPage int CompanionAllianceSelectionRow int CompanionAllianceSelectionColumn int CompanionMatchAbortPage int CompanionMatchAbortRow int CompanionMatchAbortColumn int WarmupDurationSec int AutoDurationSec int PauseDurationSec int TeleopDurationSec int WarningRemainingDurationSec int AutoBonusCoralThreshold int CoralBonusPerLevelThreshold int CoralBonusCoopEnabled bool BargeBonusPointThreshold int IncludeAlgaeInBargeBonus bool } func (database *Database) GetEventSettings() (*EventSettings, error) { allEventSettings, err := database.eventSettingsTable.getAll() if err != nil { return nil, err } if len(allEventSettings) == 1 { return &allEventSettings[0], nil } // Database record doesn't exist yet; create it now. eventSettings := EventSettings{ Name: "Untitled Event", PlayoffType: DoubleEliminationPlayoff, NumPlayoffAlliances: 8, SelectionRound2Order: "L", SelectionRound3Order: "", SelectionShowUnpickedTeams: true, TbaDownloadEnabled: true, ApChannel: 36, SCCUpCommands: strings.Join(sccDefaultUpCommands, "\n"), SCCDownCommands: strings.Join(sccDefaultDownCommands, "\n"), CompanionAddress: "", WarmupDurationSec: game.MatchTiming.WarmupDurationSec, AutoDurationSec: game.MatchTiming.AutoDurationSec, PauseDurationSec: game.MatchTiming.PauseDurationSec, TeleopDurationSec: game.MatchTiming.TeleopDurationSec, WarningRemainingDurationSec: game.MatchTiming.WarningRemainingDurationSec, AutoBonusCoralThreshold: game.AutoBonusCoralThreshold, CoralBonusPerLevelThreshold: game.CoralBonusPerLevelThreshold, CoralBonusCoopEnabled: game.CoralBonusCoopEnabled, BargeBonusPointThreshold: game.BargeBonusPointThreshold, IncludeAlgaeInBargeBonus: game.IncludeAlgaeInBargeBonus, } if err := database.eventSettingsTable.create(&eventSettings); err != nil { return nil, err } return &eventSettings, nil } func (database *Database) UpdateEventSettings(eventSettings *EventSettings) error { return database.eventSettingsTable.update(eventSettings) } ================================================ FILE: model/event_settings_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/stretchr/testify/assert" "testing" ) func TestEventSettingsReadWrite(t *testing.T) { db := setupTestDb(t) defer db.Close() eventSettings, err := db.GetEventSettings() assert.Nil(t, err) assert.Equal( t, EventSettings{ Id: 1, Name: "Untitled Event", PlayoffType: DoubleEliminationPlayoff, NumPlayoffAlliances: 8, SelectionRound2Order: "L", SelectionRound3Order: "", SelectionShowUnpickedTeams: true, TbaDownloadEnabled: true, ApChannel: 36, SCCUpCommands: "configure terminal\ninterface range gigabitEthernet 1/2-4\nno shutdown\nexit\nexit\nexit", SCCDownCommands: "configure terminal\ninterface range gigabitEthernet 1/2-4\nshutdown\nexit\nexit\nexit", WarmupDurationSec: 0, AutoDurationSec: 15, PauseDurationSec: 3, TeleopDurationSec: 135, WarningRemainingDurationSec: 20, AutoBonusCoralThreshold: 1, CoralBonusPerLevelThreshold: 7, CoralBonusCoopEnabled: true, BargeBonusPointThreshold: 16, IncludeAlgaeInBargeBonus: false, CompanionAddress: "", CompanionPort: 0, }, *eventSettings, ) eventSettings.Name = "Chezy Champs" eventSettings.NumPlayoffAlliances = 6 eventSettings.SelectionRound2Order = "F" eventSettings.SelectionRound3Order = "L" err = db.UpdateEventSettings(eventSettings) assert.Nil(t, err) eventSettings2, err := db.GetEventSettings() assert.Nil(t, err) assert.Equal(t, eventSettings, eventSettings2) } ================================================ FILE: model/judging_slot.go ================================================ // Copyright 2025 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model and datastore CRUD methods for a judging slot. package model import ( "sort" "time" ) type JudgingSlot struct { Id int `db:"id"` Time time.Time TeamId int PreviousMatchNumber int PreviousMatchTime time.Time NextMatchNumber int NextMatchTime time.Time JudgeNumber int } func (database *Database) CreateJudgingSlot(judgingSlot *JudgingSlot) error { return database.judgingSlotTable.create(judgingSlot) } func (database *Database) TruncateJudgingSlots() error { return database.judgingSlotTable.truncate() } func (database *Database) GetAllJudgingSlots() ([]JudgingSlot, error) { judgingSlots, err := database.judgingSlotTable.getAll() if err != nil { return nil, err } sort.Slice( judgingSlots, func(i, j int) bool { return judgingSlots[i].TeamId < judgingSlots[j].TeamId }, ) return judgingSlots, nil } ================================================ FILE: model/judging_slot_test.go ================================================ // Copyright 2025 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/stretchr/testify/assert" "testing" "time" ) func TestJudgingSlotCrud(t *testing.T) { database := setupTestDb(t) // Test creation of a judging slot with all fields populated. visitTime := time.Unix(100, 0).UTC() prevMatchTime := time.Unix(50, 0).UTC() nextMatchTime := time.Unix(150, 0).UTC() judgingSlot := JudgingSlot{ Time: visitTime, TeamId: 1503, PreviousMatchNumber: 5, PreviousMatchTime: prevMatchTime, NextMatchNumber: 6, NextMatchTime: nextMatchTime, JudgeNumber: 2, } assert.Nil(t, database.CreateJudgingSlot(&judgingSlot)) assert.NotEqual(t, 0, judgingSlot.Id) // Test retrieving all judging slots and verify all fields. slots, err := database.GetAllJudgingSlots() assert.Nil(t, err) assert.Equal(t, 1, len(slots)) assert.Equal(t, visitTime, slots[0].Time) assert.Equal(t, 1503, slots[0].TeamId) assert.Equal(t, 5, slots[0].PreviousMatchNumber) assert.Equal(t, prevMatchTime, slots[0].PreviousMatchTime) assert.Equal(t, 6, slots[0].NextMatchNumber) assert.Equal(t, nextMatchTime, slots[0].NextMatchTime) assert.Equal(t, 2, slots[0].JudgeNumber) // Test creating additional judging slots. slot1 := JudgingSlot{Time: time.Unix(300, 0), TeamId: 1678, JudgeNumber: 1} slot2 := JudgingSlot{Time: time.Unix(400, 0), TeamId: 1114, JudgeNumber: 2} assert.Nil(t, database.CreateJudgingSlot(&slot1)) assert.Nil(t, database.CreateJudgingSlot(&slot2)) slots, err = database.GetAllJudgingSlots() assert.Nil(t, err) assert.Equal(t, 3, len(slots)) assert.Equal(t, 1114, slots[0].TeamId) assert.Equal(t, 1503, slots[1].TeamId) assert.Equal(t, 1678, slots[2].TeamId) // Test truncating all judging slots. assert.Nil(t, database.TruncateJudgingSlots()) slots, err = database.GetAllJudgingSlots() assert.Nil(t, err) assert.Equal(t, 0, len(slots)) } ================================================ FILE: model/lower_third.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model and datastore CRUD methods for the text on a lower third slide. package model import ( "sort" ) type LowerThird struct { Id int `db:"id"` TopText string BottomText string DisplayOrder int AwardId int } func (database *Database) CreateLowerThird(lowerThird *LowerThird) error { return database.lowerThirdTable.create(lowerThird) } func (database *Database) GetLowerThirdById(id int) (*LowerThird, error) { return database.lowerThirdTable.getById(id) } func (database *Database) UpdateLowerThird(lowerThird *LowerThird) error { return database.lowerThirdTable.update(lowerThird) } func (database *Database) DeleteLowerThird(id int) error { return database.lowerThirdTable.delete(id) } func (database *Database) TruncateLowerThirds() error { return database.lowerThirdTable.truncate() } func (database *Database) GetAllLowerThirds() ([]LowerThird, error) { lowerThirds, err := database.lowerThirdTable.getAll() if err != nil { return nil, err } sort.Slice( lowerThirds, func(i, j int) bool { return lowerThirds[i].DisplayOrder < lowerThirds[j].DisplayOrder }, ) return lowerThirds, nil } func (database *Database) GetLowerThirdsByAwardId(awardId int) ([]LowerThird, error) { lowerThirds, err := database.GetAllLowerThirds() if err != nil { return nil, err } var matchingLowerThirds []LowerThird for _, lowerThird := range lowerThirds { if lowerThird.AwardId == awardId { matchingLowerThirds = append(matchingLowerThirds, lowerThird) } } return matchingLowerThirds, nil } func (database *Database) GetNextLowerThirdDisplayOrder() int { lowerThirds, err := database.GetAllLowerThirds() if err != nil { return 0 } if len(lowerThirds) == 0 { return 1 } return lowerThirds[len(lowerThirds)-1].DisplayOrder + 1 } ================================================ FILE: model/lower_third_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/stretchr/testify/assert" "testing" ) func TestGetNonexistentLowerThird(t *testing.T) { db := setupTestDb(t) defer db.Close() lowerThird, err := db.GetLowerThirdById(1114) assert.Nil(t, err) assert.Nil(t, lowerThird) } func TestLowerThirdCrud(t *testing.T) { db := setupTestDb(t) defer db.Close() lowerThirds, err := db.GetAllLowerThirds() assert.Nil(t, err) assert.Equal(t, 0, len(lowerThirds)) lowerThird := LowerThird{0, "Top Text", "Bottom Text", 1, 0} assert.Nil(t, db.CreateLowerThird(&lowerThird)) lowerThird2, err := db.GetLowerThirdById(1) assert.Nil(t, err) assert.Equal(t, lowerThird, *lowerThird2) lowerThird.BottomText = "Blorpy" assert.Nil(t, db.UpdateLowerThird(&lowerThird)) lowerThird2, err = db.GetLowerThirdById(1) assert.Nil(t, err) assert.Equal(t, lowerThird.BottomText, lowerThird2.BottomText) lowerThirds, err = db.GetAllLowerThirds() assert.Nil(t, err) assert.Equal(t, 1, len(lowerThirds)) assert.Nil(t, db.DeleteLowerThird(lowerThird.Id)) lowerThird2, err = db.GetLowerThirdById(1) assert.Nil(t, err) assert.Nil(t, lowerThird2) } func TestTruncateLowerThirds(t *testing.T) { db := setupTestDb(t) defer db.Close() lowerThird := LowerThird{0, "Top Text", "Bottom Text", 0, 0} assert.Nil(t, db.CreateLowerThird(&lowerThird)) assert.Nil(t, db.TruncateLowerThirds()) lowerThird2, err := db.GetLowerThirdById(1) assert.Nil(t, err) assert.Nil(t, lowerThird2) } func TestGetLowerThirdsByAwardId(t *testing.T) { db := setupTestDb(t) defer db.Close() nextDisplayOrder := db.GetNextLowerThirdDisplayOrder() assert.Equal(t, 1, nextDisplayOrder) lowerThird1 := LowerThird{0, "Top Text", "Bottom Text", 1, 0} assert.Nil(t, db.CreateLowerThird(&lowerThird1)) lowerThird2 := LowerThird{0, "Award 1", "", 2, 5} assert.Nil(t, db.CreateLowerThird(&lowerThird2)) lowerThird3 := LowerThird{0, "Award 2", "", 3, 2} assert.Nil(t, db.CreateLowerThird(&lowerThird3)) lowerThird4 := LowerThird{0, "Award 1", "Award 1 Winner", 4, 5} assert.Nil(t, db.CreateLowerThird(&lowerThird4)) lowerThirds, err := db.GetAllLowerThirds() assert.Nil(t, err) assert.Equal(t, 4, len(lowerThirds)) nextDisplayOrder = db.GetNextLowerThirdDisplayOrder() assert.Equal(t, 5, nextDisplayOrder) lowerThirds, err = db.GetLowerThirdsByAwardId(5) assert.Nil(t, err) if assert.Equal(t, 2, len(lowerThirds)) { assert.Equal(t, lowerThird2, lowerThirds[0]) assert.Equal(t, lowerThird4, lowerThirds[1]) } lowerThirds, err = db.GetLowerThirdsByAwardId(2) assert.Nil(t, err) if assert.Equal(t, 1, len(lowerThirds)) { assert.Equal(t, lowerThird3, lowerThirds[0]) } lowerThirds, err = db.GetLowerThirdsByAwardId(39) assert.Nil(t, err) assert.Equal(t, 0, len(lowerThirds)) } ================================================ FILE: model/match.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model and datastore CRUD methods for a match at an event. package model import ( "fmt" "github.com/Team254/cheesy-arena/game" "sort" "strings" "time" ) //go:generate stringer -type=MatchType type MatchType int const ( Test MatchType = iota Practice Qualification Playoff ) func (t MatchType) Get() MatchType { return t } type Match struct { Id int `db:"id"` Type MatchType TypeOrder int Time time.Time LongName string ShortName string NameDetail string PlayoffMatchGroupId string PlayoffRedAlliance int PlayoffBlueAlliance int Red1 int Red1IsSurrogate bool Red2 int Red2IsSurrogate bool Red3 int Red3IsSurrogate bool Blue1 int Blue1IsSurrogate bool Blue2 int Blue2IsSurrogate bool Blue3 int Blue3IsSurrogate bool StartedAt time.Time ScoreCommittedAt time.Time FieldReadyAt time.Time Status game.MatchStatus UseTiebreakCriteria bool TbaMatchKey TbaMatchKey } type TbaMatchKey struct { CompLevel string SetNumber int MatchNumber int } func (database *Database) CreateMatch(match *Match) error { return database.matchTable.create(match) } func (database *Database) GetMatchById(id int) (*Match, error) { return database.matchTable.getById(id) } func (database *Database) UpdateMatch(match *Match) error { return database.matchTable.update(match) } func (database *Database) DeleteMatch(id int) error { return database.matchTable.delete(id) } func (database *Database) TruncateMatches() error { return database.matchTable.truncate() } func (database *Database) GetMatchByTypeOrder(matchType MatchType, typeOrder int) (*Match, error) { matches, err := database.GetMatchesByType(matchType, true) if err != nil { return nil, err } for _, match := range matches { if match.TypeOrder == typeOrder { return &match, nil } } return nil, nil } func (database *Database) GetMatchesByType(matchType MatchType, includeHidden bool) ([]Match, error) { matches, err := database.matchTable.getAll() if err != nil { return nil, err } var matchingMatches []Match for _, match := range matches { if match.Type == matchType && (includeHidden || match.Status != game.MatchHidden) { matchingMatches = append(matchingMatches, match) } } sort.Slice( matchingMatches, func(i, j int) bool { return matchingMatches[i].TypeOrder < matchingMatches[j].TypeOrder }, ) return matchingMatches, nil } func (match *Match) IsComplete() bool { return match.Status == game.RedWonMatch || match.Status == game.BlueWonMatch || match.Status == game.TieMatch } // Returns true if the match is of a type that allows substitution of teams. func (match *Match) ShouldAllowSubstitution() bool { return match.Type != Qualification } // Returns true if the match is of a type that allows loading lineup information from Nexus. func (match *Match) ShouldAllowNexusSubstitution() bool { return match.Type == Practice || match.Type == Playoff } // Returns true if the red and yellow cards should be updated as a result of the match. func (match *Match) ShouldUpdateCards() bool { return match.Type == Qualification || match.Type == Playoff } // Returns true if the rankings should be updated as a result of the match. func (match *Match) ShouldUpdateRankings() bool { return match.Type == Qualification } // Returns true if the playoff match set should be updated as a result of the match. func (match *Match) ShouldUpdatePlayoffMatches() bool { return match.Type == Playoff } // Returns the enum equivalent of the given match type string. func MatchTypeFromString(matchTypeString string) (MatchType, error) { switch strings.ToLower(matchTypeString) { case "test": return Test, nil case "practice": return Practice, nil case "qualification": return Qualification, nil case "playoff": return Playoff, nil } return 0, fmt.Errorf("invalid match type %q", matchTypeString) } // Returns the string equivalent of the given compound match key. func (key TbaMatchKey) String() string { if key.SetNumber == 0 { return fmt.Sprintf("%s%d", key.CompLevel, key.MatchNumber) } return fmt.Sprintf("%s%dm%d", key.CompLevel, key.SetNumber, key.MatchNumber) } ================================================ FILE: model/match_result.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model and datastore CRUD methods for the results (score and fouls) from a match at an event. package model import ( "github.com/Team254/cheesy-arena/game" ) type MatchResult struct { Id int `db:"id"` MatchId int PlayNumber int MatchType MatchType RedScore *game.Score BlueScore *game.Score RedCards map[string]string BlueCards map[string]string } // Returns a new match result object with empty slices instead of nil. func NewMatchResult() *MatchResult { matchResult := new(MatchResult) matchResult.RedScore = new(game.Score) matchResult.BlueScore = new(game.Score) matchResult.RedCards = make(map[string]string) matchResult.BlueCards = make(map[string]string) return matchResult } func (database *Database) CreateMatchResult(matchResult *MatchResult) error { return database.matchResultTable.create(matchResult) } func (database *Database) GetMatchResultForMatch(matchId int) (*MatchResult, error) { matchResults, err := database.matchResultTable.getAll() if err != nil { return nil, err } var mostRecentMatchResult *MatchResult for i, matchResult := range matchResults { if matchResult.MatchId == matchId && (mostRecentMatchResult == nil || matchResult.PlayNumber > mostRecentMatchResult.PlayNumber) { mostRecentMatchResult = &matchResults[i] } } return mostRecentMatchResult, nil } func (database *Database) UpdateMatchResult(matchResult *MatchResult) error { return database.matchResultTable.update(matchResult) } func (database *Database) DeleteMatchResult(id int) error { return database.matchResultTable.delete(id) } func (database *Database) TruncateMatchResults() error { return database.matchResultTable.truncate() } // Calculates and returns the summary fields used for ranking and display for the red alliance. func (matchResult *MatchResult) RedScoreSummary() *game.ScoreSummary { return matchResult.RedScore.Summarize(matchResult.BlueScore) } // Calculates and returns the summary fields used for ranking and display for the blue alliance. func (matchResult *MatchResult) BlueScoreSummary() *game.ScoreSummary { return matchResult.BlueScore.Summarize(matchResult.RedScore) } // Checks the score for disqualifications or a tie and adjusts it appropriately. func (matchResult *MatchResult) CorrectPlayoffScore() { matchResult.RedScore.PlayoffDq = false for _, card := range matchResult.RedCards { if card == "red" || card == "dq" { matchResult.RedScore.PlayoffDq = true } } for _, card := range matchResult.BlueCards { if card == "red" || card == "dq" { matchResult.BlueScore.PlayoffDq = true } } } ================================================ FILE: model/match_result_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/Team254/cheesy-arena/game" "github.com/stretchr/testify/assert" "testing" ) func TestGetNonexistentMatchResult(t *testing.T) { db := setupTestDb(t) defer db.Close() match, err := db.GetMatchResultForMatch(1114) assert.Nil(t, err) assert.Nil(t, match) } func TestMatchResultCrud(t *testing.T) { db := setupTestDb(t) defer db.Close() matchResult := BuildTestMatchResult(254, 5) assert.Nil(t, db.CreateMatchResult(matchResult)) matchResult2, err := db.GetMatchResultForMatch(254) assert.Nil(t, err) assert.Equal(t, matchResult, matchResult2) matchResult.BlueScore.EndgameStatuses = [3]game.EndgameStatus{game.EndgameParked, game.EndgameNone, game.EndgameShallowCage} assert.Nil(t, db.UpdateMatchResult(matchResult)) matchResult2, err = db.GetMatchResultForMatch(254) assert.Nil(t, err) assert.Equal(t, matchResult, matchResult2) assert.Nil(t, db.DeleteMatchResult(matchResult.Id)) matchResult2, err = db.GetMatchResultForMatch(254) assert.Nil(t, err) assert.Nil(t, matchResult2) } func TestTruncateMatchResults(t *testing.T) { db := setupTestDb(t) defer db.Close() matchResult := BuildTestMatchResult(254, 1) assert.Nil(t, db.CreateMatchResult(matchResult)) assert.Nil(t, db.TruncateMatchResults()) matchResult2, err := db.GetMatchResultForMatch(254) assert.Nil(t, err) assert.Nil(t, matchResult2) } func TestGetMatchResultForMatch(t *testing.T) { db := setupTestDb(t) defer db.Close() matchResult := BuildTestMatchResult(254, 2) assert.Nil(t, db.CreateMatchResult(matchResult)) matchResult2 := BuildTestMatchResult(254, 5) assert.Nil(t, db.CreateMatchResult(matchResult2)) matchResult3 := BuildTestMatchResult(254, 4) assert.Nil(t, db.CreateMatchResult(matchResult3)) // Should return the match result with the highest play number (i.e. the most recent). matchResult4, err := db.GetMatchResultForMatch(254) assert.Nil(t, err) assert.Equal(t, matchResult2, matchResult4) } ================================================ FILE: model/match_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/Team254/cheesy-arena/game" "github.com/stretchr/testify/assert" "testing" "time" ) func TestGetNonexistentMatch(t *testing.T) { db := setupTestDb(t) defer db.Close() match, err := db.GetMatchById(1114) assert.Nil(t, err) assert.Nil(t, match) } func TestMatchCrud(t *testing.T) { db := setupTestDb(t) defer db.Close() match := Match{ Type: Qualification, TypeOrder: 254, Time: time.Unix(1114, 0).UTC(), LongName: "Qualification 254", ShortName: "Q254", NameDetail: "Qual Round", Red1: 1, Red2: 2, Red3: 3, Blue1: 4, Blue2: 5, Blue3: 6, UseTiebreakCriteria: true, TbaMatchKey: TbaMatchKey{"qm", 0, 254}, } assert.Nil(t, db.CreateMatch(&match)) match2, err := db.GetMatchById(1) assert.Nil(t, err) assert.Equal(t, match, *match2) match3, err := db.GetMatchByTypeOrder(Qualification, 254) assert.Nil(t, err) assert.Equal(t, match, *match3) match.Status = game.RedWonMatch assert.Nil(t, db.UpdateMatch(&match)) match2, err = db.GetMatchById(1) assert.Nil(t, err) assert.Equal(t, match.Status, match2.Status) assert.Nil(t, db.DeleteMatch(match.Id)) match2, err = db.GetMatchById(1) assert.Nil(t, err) assert.Nil(t, match2) } func TestTruncateMatches(t *testing.T) { db := setupTestDb(t) defer db.Close() match := Match{ Type: Qualification, TypeOrder: 254, ShortName: "Q254", LongName: "Qualification 254", Red1: 1, Red2: 2, Red3: 3, Blue1: 4, Blue2: 5, Blue3: 6, } assert.Nil(t, db.CreateMatch(&match)) assert.Nil(t, db.TruncateMatches()) match2, err := db.GetMatchById(1) assert.Nil(t, err) assert.Nil(t, match2) } func TestGetMatchByTypeOrder(t *testing.T) { db := setupTestDb(t) defer db.Close() match1 := Match{ Type: Practice, TypeOrder: 2, ShortName: "P2", } assert.Nil(t, db.CreateMatch(&match1)) match2 := Match{ Type: Qualification, TypeOrder: 2, ShortName: "Q2", } assert.Nil(t, db.CreateMatch(&match2)) match, err := db.GetMatchByTypeOrder(Qualification, 1) assert.Nil(t, err) assert.Nil(t, match) match, err = db.GetMatchByTypeOrder(Qualification, 2) assert.Nil(t, err) assert.Equal(t, match2, *match) match, err = db.GetMatchByTypeOrder(Practice, 2) assert.Nil(t, err) assert.Equal(t, match1, *match) } func TestGetMatchesByType(t *testing.T) { db := setupTestDb(t) defer db.Close() match1 := Match{ Type: Qualification, TypeOrder: 1, ShortName: "Q1", } assert.Nil(t, db.CreateMatch(&match1)) match3 := Match{ Type: Practice, TypeOrder: 2, ShortName: "P2", } assert.Nil(t, db.CreateMatch(&match3)) match2 := Match{ Type: Practice, TypeOrder: 1, ShortName: "P1", } assert.Nil(t, db.CreateMatch(&match2)) matches, err := db.GetMatchesByType(Test, false) assert.Nil(t, err) assert.Empty(t, matches) matches, err = db.GetMatchesByType(Practice, false) assert.Nil(t, err) if assert.Equal(t, 2, len(matches)) { assert.Equal(t, match2, matches[0]) assert.Equal(t, match3, matches[1]) } matches, err = db.GetMatchesByType(Qualification, false) assert.Nil(t, err) if assert.Equal(t, 1, len(matches)) { assert.Equal(t, match1, matches[0]) } // Test filtering of hidden matches. match3.Status = game.MatchHidden assert.Nil(t, db.UpdateMatch(&match3)) matches, err = db.GetMatchesByType(Practice, false) assert.Nil(t, err) if assert.Equal(t, 1, len(matches)) { assert.Equal(t, match2, matches[0]) } matches, err = db.GetMatchesByType(Practice, true) assert.Nil(t, err) if assert.Equal(t, 2, len(matches)) { assert.Equal(t, match2, matches[0]) assert.Equal(t, match3, matches[1]) } } func TestMatchTypeFromString(t *testing.T) { matchType, err := MatchTypeFromString("test") assert.Nil(t, err) assert.Equal(t, Test, matchType) matchType, err = MatchTypeFromString("practice") assert.Nil(t, err) assert.Equal(t, Practice, matchType) matchType, err = MatchTypeFromString("qualification") assert.Nil(t, err) assert.Equal(t, Qualification, matchType) matchType, err = MatchTypeFromString("Qualification") assert.Nil(t, err) assert.Equal(t, Qualification, matchType) matchType, err = MatchTypeFromString("playoff") assert.Nil(t, err) assert.Equal(t, Playoff, matchType) matchType, err = MatchTypeFromString("blorpy") if assert.NotNil(t, err) { assert.Equal(t, "invalid match type \"blorpy\"", err.Error()) } matchType, err = MatchTypeFromString("elimination") if assert.NotNil(t, err) { assert.Equal(t, "invalid match type \"elimination\"", err.Error()) } } func TestTbaMatchKeyString(t *testing.T) { key := TbaMatchKey{CompLevel: "p", SetNumber: 0, MatchNumber: 3} assert.Equal(t, "p3", key.String()) key = TbaMatchKey{CompLevel: "qm", SetNumber: 0, MatchNumber: 17} assert.Equal(t, "qm17", key.String()) key = TbaMatchKey{CompLevel: "sf", SetNumber: 5, MatchNumber: 1} assert.Equal(t, "sf5m1", key.String()) key = TbaMatchKey{CompLevel: "f", SetNumber: 1, MatchNumber: 4} assert.Equal(t, "f1m4", key.String()) } ================================================ FILE: model/matchtype_string.go ================================================ // Code generated by "stringer -type=MatchType"; DO NOT EDIT. package model import "strconv" func _() { // An "invalid array index" compiler error signifies that the constant values have changed. // Re-run the stringer command to generate them again. var x [1]struct{} _ = x[Test-0] _ = x[Practice-1] _ = x[Qualification-2] _ = x[Playoff-3] } const _MatchType_name = "TestPracticeQualificationPlayoff" var _MatchType_index = [...]uint8{0, 4, 12, 25, 32} func (i MatchType) String() string { if i < 0 || i >= MatchType(len(_MatchType_index)-1) { return "MatchType(" + strconv.FormatInt(int64(i), 10) + ")" } return _MatchType_name[_MatchType_index[i]:_MatchType_index[i+1]] } ================================================ FILE: model/ranking.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model and datastore CRUD methods for team ranking data at an event. package model import ( "github.com/Team254/cheesy-arena/game" "sort" ) func (database *Database) CreateRanking(ranking *game.Ranking) error { return database.rankingTable.create(ranking) } func (database *Database) GetRankingForTeam(teamId int) (*game.Ranking, error) { return database.rankingTable.getById(teamId) } func (database *Database) UpdateRanking(ranking *game.Ranking) error { return database.rankingTable.update(ranking) } func (database *Database) DeleteRanking(teamId int) error { return database.rankingTable.delete(teamId) } func (database *Database) TruncateRankings() error { return database.rankingTable.truncate() } func (database *Database) GetAllRankings() (game.Rankings, error) { rankings, err := database.rankingTable.getAll() if err != nil { return nil, err } sort.Slice( rankings, func(i, j int) bool { return rankings[i].Rank < rankings[j].Rank }, ) return rankings, nil } // Deletes the existing rankings and inserts the given ones as a replacement. func (database *Database) ReplaceAllRankings(rankings game.Rankings) error { if err := database.rankingTable.truncate(); err != nil { return err } for _, ranking := range rankings { if err := database.CreateRanking(&ranking); err != nil { return err } } return nil } ================================================ FILE: model/ranking_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/Team254/cheesy-arena/game" "github.com/stretchr/testify/assert" "testing" ) func TestGetNonexistentRanking(t *testing.T) { db := setupTestDb(t) defer db.Close() ranking, err := db.GetRankingForTeam(1114) assert.Nil(t, err) assert.Nil(t, ranking) } func TestRankingCrud(t *testing.T) { db := setupTestDb(t) defer db.Close() ranking := game.TestRanking1() assert.Nil(t, db.CreateRanking(ranking)) ranking2, err := db.GetRankingForTeam(254) assert.Nil(t, err) assert.Equal(t, ranking, ranking2) ranking.Random = 0.1114 db.UpdateRanking(ranking) ranking2, err = db.GetRankingForTeam(254) assert.Nil(t, err) assert.Equal(t, ranking.Random, ranking2.Random) } func TestTruncateRankings(t *testing.T) { db := setupTestDb(t) defer db.Close() ranking := game.TestRanking1() db.CreateRanking(ranking) db.TruncateRankings() ranking2, err := db.GetRankingForTeam(254) assert.Nil(t, err) assert.Nil(t, ranking2) } func TestGetAllRankings(t *testing.T) { db := setupTestDb(t) defer db.Close() rankings, err := db.GetAllRankings() assert.Nil(t, err) assert.Empty(t, rankings) numRankings := 20 for i := 1; i <= numRankings; i++ { assert.Nil(t, db.CreateRanking(&game.Ranking{TeamId: i, Rank: i})) } rankings, err = db.GetAllRankings() assert.Nil(t, err) assert.Equal(t, numRankings, len(rankings)) for i := 0; i < numRankings; i++ { assert.Equal(t, i+1, rankings[i].TeamId) } } ================================================ FILE: model/schedule_block.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model and datastore CRUD methods for a schedule block at an event. package model import ( "sort" "time" ) type ScheduleBlock struct { Id int `db:"id"` MatchType MatchType StartTime time.Time NumMatches int MatchSpacingSec int } func (database *Database) CreateScheduleBlock(block *ScheduleBlock) error { return database.scheduleBlockTable.create(block) } func (database *Database) GetScheduleBlocksByMatchType(matchType MatchType) ([]ScheduleBlock, error) { scheduleBlocks, err := database.scheduleBlockTable.getAll() if err != nil { return nil, err } var matchingScheduleBlocks []ScheduleBlock for _, scheduleBlock := range scheduleBlocks { if scheduleBlock.MatchType == matchType { matchingScheduleBlocks = append(matchingScheduleBlocks, scheduleBlock) } } sort.Slice( matchingScheduleBlocks, func(i, j int) bool { return matchingScheduleBlocks[i].StartTime.Before(matchingScheduleBlocks[j].StartTime) }, ) return matchingScheduleBlocks, nil } func (database *Database) DeleteScheduleBlocksByMatchType(matchType MatchType) error { scheduleBlocks, err := database.GetScheduleBlocksByMatchType(matchType) if err != nil { return err } for _, scheduleBlock := range scheduleBlocks { if err = database.scheduleBlockTable.delete(scheduleBlock.Id); err != nil { return err } } return nil } func (database *Database) TruncateScheduleBlocks() error { return database.scheduleBlockTable.truncate() } ================================================ FILE: model/schedule_block_test.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/stretchr/testify/assert" "testing" "time" ) func TestScheduleBlockCrud(t *testing.T) { db := setupTestDb(t) defer db.Close() scheduleBlock1 := ScheduleBlock{0, Practice, time.Now().UTC(), 10, 600} assert.Nil(t, db.CreateScheduleBlock(&scheduleBlock1)) scheduleBlock2 := ScheduleBlock{0, Qualification, time.Now().UTC(), 20, 480} assert.Nil(t, db.CreateScheduleBlock(&scheduleBlock2)) scheduleBlock3 := ScheduleBlock{0, Qualification, scheduleBlock2.StartTime.Add(time.Second * 20 * 480), 20, 480} assert.Nil(t, db.CreateScheduleBlock(&scheduleBlock3)) // Test retrieval of all blocks by match type. blocks, err := db.GetScheduleBlocksByMatchType(Practice) assert.Nil(t, err) if assert.Equal(t, 1, len(blocks)) { assert.Equal(t, scheduleBlock1, blocks[0]) } blocks, err = db.GetScheduleBlocksByMatchType(Qualification) assert.Nil(t, err) if assert.Equal(t, 2, len(blocks)) { assert.Equal(t, scheduleBlock2, blocks[0]) assert.Equal(t, scheduleBlock3, blocks[1]) } // Test deletion of blocks. assert.Nil(t, db.DeleteScheduleBlocksByMatchType(Practice)) blocks, err = db.GetScheduleBlocksByMatchType(Practice) assert.Nil(t, err) assert.Equal(t, 0, len(blocks)) blocks, err = db.GetScheduleBlocksByMatchType(Qualification) assert.Nil(t, err) assert.Equal(t, 2, len(blocks)) assert.Nil(t, db.TruncateScheduleBlocks()) blocks, err = db.GetScheduleBlocksByMatchType(Qualification) assert.Nil(t, err) assert.Equal(t, 0, len(blocks)) } ================================================ FILE: model/scheduled_break.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model and datastore CRUD methods for a scheduled break at an event. package model import ( "sort" "time" ) type ScheduledBreak struct { Id int `db:"id"` MatchType MatchType TypeOrderBefore int Time time.Time DurationSec int Description string } func (database *Database) CreateScheduledBreak(scheduledBreak *ScheduledBreak) error { return database.scheduledBreakTable.create(scheduledBreak) } func (database *Database) GetScheduledBreakById(id int) (*ScheduledBreak, error) { return database.scheduledBreakTable.getById(id) } func (database *Database) UpdateScheduledBreak(scheduledBreak *ScheduledBreak) error { return database.scheduledBreakTable.update(scheduledBreak) } func (database *Database) GetScheduledBreaksByMatchType(matchType MatchType) ([]ScheduledBreak, error) { scheduledBreaks, err := database.scheduledBreakTable.getAll() if err != nil { return nil, err } var matchingScheduledBreaks []ScheduledBreak for _, scheduledBreak := range scheduledBreaks { if scheduledBreak.MatchType == matchType { matchingScheduledBreaks = append(matchingScheduledBreaks, scheduledBreak) } } sort.Slice( matchingScheduledBreaks, func(i, j int) bool { return matchingScheduledBreaks[i].TypeOrderBefore < matchingScheduledBreaks[j].TypeOrderBefore }, ) return matchingScheduledBreaks, nil } func (database *Database) GetScheduledBreakByMatchTypeOrder( matchType MatchType, typeOrder int, ) (*ScheduledBreak, error) { scheduledBreaks, err := database.GetScheduledBreaksByMatchType(matchType) if err != nil { return nil, err } for _, scheduledBreak := range scheduledBreaks { if scheduledBreak.TypeOrderBefore == typeOrder { return &scheduledBreak, nil } } return nil, nil } func (database *Database) DeleteScheduledBreaksByMatchType(matchType MatchType) error { scheduledBreaks, err := database.GetScheduledBreaksByMatchType(matchType) if err != nil { return err } for _, scheduledBreak := range scheduledBreaks { if err = database.scheduledBreakTable.delete(scheduledBreak.Id); err != nil { return err } } return nil } func (database *Database) TruncateScheduledBreaks() error { return database.scheduledBreakTable.truncate() } ================================================ FILE: model/scheduled_break_test.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/stretchr/testify/assert" "testing" "time" ) func TestScheduledBreakCrud(t *testing.T) { db := setupTestDb(t) defer db.Close() scheduledBreak1 := ScheduledBreak{0, Qualification, 50, time.Unix(100, 0).UTC(), 600, "Lunch"} assert.Nil(t, db.CreateScheduledBreak(&scheduledBreak1)) scheduledBreak2 := ScheduledBreak{0, Qualification, 25, time.Unix(200, 0).UTC(), 300, "Breakfast"} assert.Nil(t, db.CreateScheduledBreak(&scheduledBreak2)) scheduledBreak3 := ScheduledBreak{0, Playoff, 4, time.Unix(500, 0).UTC(), 900, "Awards"} assert.Nil(t, db.CreateScheduledBreak(&scheduledBreak3)) // Test retrieval by ID. scheduledBreak, err := db.GetScheduledBreakById(1) assert.Nil(t, err) assert.Equal(t, scheduledBreak1, *scheduledBreak) scheduledBreak, err = db.GetScheduledBreakById(2) assert.Nil(t, err) assert.Equal(t, scheduledBreak2, *scheduledBreak) // Test update. scheduledBreak2.Description = "Brunch" assert.Nil(t, db.UpdateScheduledBreak(&scheduledBreak2)) scheduledBreak, err = db.GetScheduledBreakById(2) assert.Nil(t, err) assert.Equal(t, scheduledBreak2, *scheduledBreak) // Test retrieval of all blocks by match type. scheduledBreaks, err := db.GetScheduledBreaksByMatchType(Practice) assert.Nil(t, err) assert.Equal(t, 0, len(scheduledBreaks)) scheduledBreaks, err = db.GetScheduledBreaksByMatchType(Qualification) assert.Nil(t, err) if assert.Equal(t, 2, len(scheduledBreaks)) { assert.Equal(t, scheduledBreak2, scheduledBreaks[0]) assert.Equal(t, scheduledBreak1, scheduledBreaks[1]) } scheduledBreaks, err = db.GetScheduledBreaksByMatchType(Playoff) assert.Nil(t, err) if assert.Equal(t, 1, len(scheduledBreaks)) { assert.Equal(t, scheduledBreak3, scheduledBreaks[0]) } // Test individual retrieval by match type and order. scheduledBreak, err = db.GetScheduledBreakByMatchTypeOrder(Qualification, 25) assert.Nil(t, err) assert.Equal(t, scheduledBreak2, *scheduledBreak) scheduledBreak, err = db.GetScheduledBreakByMatchTypeOrder(Playoff, 4) assert.Nil(t, err) assert.Equal(t, scheduledBreak3, *scheduledBreak) scheduledBreak, err = db.GetScheduledBreakByMatchTypeOrder(Qualification, 100) assert.Nil(t, err) assert.Nil(t, scheduledBreak) // Test deletion of breaks. assert.Nil(t, db.DeleteScheduledBreaksByMatchType(Playoff)) scheduledBreaks, err = db.GetScheduledBreaksByMatchType(Playoff) assert.Nil(t, err) assert.Equal(t, 0, len(scheduledBreaks)) scheduledBreaks, err = db.GetScheduledBreaksByMatchType(Qualification) assert.Nil(t, err) assert.Equal(t, 2, len(scheduledBreaks)) assert.Nil(t, db.TruncateScheduledBreaks()) scheduledBreaks, err = db.GetScheduledBreaksByMatchType(Qualification) assert.Nil(t, err) assert.Equal(t, 0, len(scheduledBreaks)) scheduledBreaks, err = db.GetScheduledBreaksByMatchType(Playoff) assert.Nil(t, err) assert.Equal(t, 0, len(scheduledBreaks)) } ================================================ FILE: model/sponsor_slide.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: nick@team254.com (Nick Eyre) // // Model and datastore CRUD methods for the sponsor slideshow. package model import "sort" type SponsorSlide struct { Id int `db:"id"` Subtitle string Line1 string Line2 string Image string DisplayTimeSec int DisplayOrder int } func (database *Database) CreateSponsorSlide(sponsorSlide *SponsorSlide) error { return database.sponsorSlideTable.create(sponsorSlide) } func (database *Database) GetSponsorSlideById(id int) (*SponsorSlide, error) { return database.sponsorSlideTable.getById(id) } func (database *Database) UpdateSponsorSlide(sponsorSlide *SponsorSlide) error { return database.sponsorSlideTable.update(sponsorSlide) } func (database *Database) DeleteSponsorSlide(id int) error { return database.sponsorSlideTable.delete(id) } func (database *Database) TruncateSponsorSlides() error { return database.sponsorSlideTable.truncate() } func (database *Database) GetAllSponsorSlides() ([]SponsorSlide, error) { sponsorSlides, err := database.sponsorSlideTable.getAll() if err != nil { return nil, err } sort.Slice( sponsorSlides, func(i, j int) bool { return sponsorSlides[i].DisplayOrder < sponsorSlides[j].DisplayOrder }, ) return sponsorSlides, nil } func (database *Database) GetNextSponsorSlideDisplayOrder() int { sponsorSlides, err := database.GetAllSponsorSlides() if err != nil { return 0 } if len(sponsorSlides) == 0 { return 1 } return sponsorSlides[len(sponsorSlides)-1].DisplayOrder + 1 } ================================================ FILE: model/sponsor_slide_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/stretchr/testify/assert" "testing" ) func TestGetNonexistentSponsorSlide(t *testing.T) { db := setupTestDb(t) defer db.Close() sponsorSlide, err := db.GetSponsorSlideById(1114) assert.Nil(t, err) assert.Nil(t, sponsorSlide) } func TestSponsorSlideCrud(t *testing.T) { db := setupTestDb(t) defer db.Close() assert.Equal(t, 1, db.GetNextSponsorSlideDisplayOrder()) sponsorSlide := SponsorSlide{0, "Subtitle", "Line 1", "Line 2", "", 10, 1} assert.Nil(t, db.CreateSponsorSlide(&sponsorSlide)) sponsorSlide2, err := db.GetSponsorSlideById(1) assert.Nil(t, err) assert.Equal(t, sponsorSlide, *sponsorSlide2) assert.Equal(t, 2, db.GetNextSponsorSlideDisplayOrder()) sponsorSlide.Line1 = "Blorpy" db.UpdateSponsorSlide(&sponsorSlide) sponsorSlide2, err = db.GetSponsorSlideById(1) assert.Nil(t, err) assert.Equal(t, sponsorSlide.Line1, sponsorSlide2.Line1) db.DeleteSponsorSlide(sponsorSlide.Id) sponsorSlide2, err = db.GetSponsorSlideById(1) assert.Nil(t, err) assert.Nil(t, sponsorSlide2) } func TestTruncateSponsorSlides(t *testing.T) { db := setupTestDb(t) defer db.Close() sponsorSlide := SponsorSlide{0, "Subtitle", "Line 1", "Line 2", "", 10, 0} db.CreateSponsorSlide(&sponsorSlide) db.TruncateSponsorSlides() sponsorSlide2, err := db.GetSponsorSlideById(1) assert.Nil(t, err) assert.Nil(t, sponsorSlide2) assert.Equal(t, 1, db.GetNextSponsorSlideDisplayOrder()) } ================================================ FILE: model/table.go ================================================ // Copyright 2021 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Defines a "table" wrapper struct and helper methods for persisting data using Bolt. package model import ( "encoding/json" "fmt" "go.etcd.io/bbolt" "reflect" "strconv" "strings" ) // Encapsulates all persistence operations for a particular data type represented by a struct. type table[R any] struct { bolt *bbolt.DB recordType reflect.Type name string bucketKey []byte idFieldIndex *int manualId bool } // Registers a new table for a struct. func newTable[R any](database *Database) (*table[R], error) { var recordType R recordTypeValue := reflect.ValueOf(recordType) if recordTypeValue.Kind() != reflect.Struct { return nil, fmt.Errorf("record type must be a struct; got %v", recordTypeValue.Kind()) } var table table[R] table.bolt = database.bolt table.recordType = reflect.TypeOf(recordType) table.name = table.recordType.Name() table.bucketKey = []byte(table.name) // Determine which field in the struct is tagged as the ID and cache its index. idFound := false for i := 0; i < recordTypeValue.Type().NumField(); i++ { field := recordTypeValue.Type().Field(i) tags := map[string]struct{}{} for _, tag := range strings.Split(field.Tag.Get("db"), ",") { tags[tag] = struct{}{} } if _, ok := tags["id"]; ok { if field.Type.Kind() != reflect.Int { return nil, fmt.Errorf( "field in struct %s tagged with 'id' must be an int; got %v", table.name, field.Type.Kind(), ) } table.idFieldIndex = new(int) *table.idFieldIndex = i idFound = true _, table.manualId = tags["manual"] break } } if !idFound { return nil, fmt.Errorf("struct %s has no field tagged as the id", table.name) } // Create the Bolt bucket corresponding to the struct. err := table.bolt.Update( func(tx *bbolt.Tx) error { _, err := tx.CreateBucketIfNotExists(table.bucketKey) return err }, ) if err != nil { return nil, err } return &table, nil } // Returns the record with the given ID, or nil if it doesn't exist. func (table *table[R]) getById(id int) (*R, error) { record := new(R) err := table.bolt.View( func(tx *bbolt.Tx) error { bucket, err := table.getBucket(tx) if err != nil { return err } if recordJson := bucket.Get(idToKey(id)); recordJson != nil { return json.Unmarshal(recordJson, record) } // If the record does not exist, set the record pointer to nil. record = nil return nil }, ) return record, err } // Returns a slice containing every record in the table, ordered by string representation of ID. func (table *table[R]) getAll() ([]R, error) { records := []R{} err := table.bolt.View( func(tx *bbolt.Tx) error { bucket, err := table.getBucket(tx) if err != nil { return err } return bucket.ForEach( func(key, value []byte) error { var record R err := json.Unmarshal(value, &record) if err != nil { return err } records = append(records, record) return nil }, ) }, ) return records, err } // Persists the given record as a new row in the table. func (table *table[R]) create(record *R) error { // Validate that the record has its ID set to zero or not as expected, depending on whether it is configured for // autogenerated IDs. value := reflect.ValueOf(record).Elem() id := int(value.Field(*table.idFieldIndex).Int()) if table.manualId && id == 0 { return fmt.Errorf("can't create %s with zero ID since table is configured for manual IDs", table.name) } else if !table.manualId && id != 0 { return fmt.Errorf( "can't create %s with non-zero ID since table is configured for autogenerated IDs: %d", table.name, id, ) } return table.bolt.Update( func(tx *bbolt.Tx) error { bucket, err := table.getBucket(tx) if err != nil { return err } if !table.manualId { // Generate a new ID for the record. newSequence, err := bucket.NextSequence() if err != nil { return err } id = int(newSequence) value.Field(*table.idFieldIndex).SetInt(int64(id)) } // Ensure that a record having the same ID does not already exist in the table. key := idToKey(id) oldRecord := bucket.Get(key) if oldRecord != nil { return fmt.Errorf("%s with ID %d already exists: %s", table.name, id, string(oldRecord)) } recordJson, err := json.Marshal(record) if err != nil { return err } return bucket.Put(key, recordJson) }, ) } // Persists the given record as an update to the existing row in the table. Returns an error if the record does not // already exist. func (table *table[R]) update(record *R) error { // Validate that the record has a non-zero ID. value := reflect.ValueOf(record).Elem() id := int(value.Field(*table.idFieldIndex).Int()) if id == 0 { return fmt.Errorf("can't update %s with zero ID", table.name) } return table.bolt.Update( func(tx *bbolt.Tx) error { bucket, err := table.getBucket(tx) if err != nil { return err } // Ensure that a record having the same ID exists in the table. key := idToKey(id) oldRecord := bucket.Get(key) if oldRecord == nil { return fmt.Errorf("can't update non-existent %s with ID %d", table.name, id) } recordJson, err := json.Marshal(record) if err != nil { return err } return bucket.Put(key, recordJson) }, ) } // Deletes the record having the given ID from the table. Returns an error if the record does not exist. func (table *table[R]) delete(id int) error { return table.bolt.Update( func(tx *bbolt.Tx) error { bucket, err := table.getBucket(tx) if err != nil { return err } // Ensure that a record having the same ID exists in the table. key := idToKey(id) oldRecord := bucket.Get(key) if oldRecord == nil { return fmt.Errorf("can't delete non-existent %s with ID %d", table.name, id) } return bucket.Delete(key) }, ) } // Deletes all records from the table. func (table *table[R]) truncate() error { return table.bolt.Update( func(tx *bbolt.Tx) error { _, err := table.getBucket(tx) if err != nil { return err } // Carry out the truncation by way of deleting the whole bucket and then recreate it. err = tx.DeleteBucket(table.bucketKey) if err != nil { return err } _, err = tx.CreateBucket(table.bucketKey) return err }, ) } // Obtains the Bolt bucket belonging to the table. func (table *table[R]) getBucket(tx *bbolt.Tx) (*bbolt.Bucket, error) { bucket := tx.Bucket(table.bucketKey) if bucket == nil { return nil, fmt.Errorf("unknown table %s", table.name) } return bucket, nil } // Serializes the given integer ID to a byte array containing its Base-10 string representation. func idToKey(id int) []byte { return []byte(strconv.Itoa(id)) } ================================================ FILE: model/table_test.go ================================================ // Copyright 2021 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/stretchr/testify/assert" "testing" ) type validRecord struct { Id int `db:"id"` IntData int StringData string } type manualIdRecord struct { Id int `db:"id,manual""` StringData string } func TestTableSingleCrud(t *testing.T) { db := setupTestDb(t) defer db.Close() table, err := newTable[validRecord](db) if !assert.Nil(t, err) { return } // Test initial create and then read back. record := validRecord{IntData: 254, StringData: "The Cheesy Poofs"} if assert.Nil(t, table.create(&record)) { assert.Equal(t, 1, record.Id) } record2, err := table.getById(record.Id) assert.Equal(t, record, *record2) assert.Nil(t, err) // Test update and then read back. record.IntData = 252 record.StringData = "Teh Chezy Pofs" assert.Nil(t, table.update(&record)) record2, err = table.getById(record.Id) assert.Equal(t, record, *record2) assert.Nil(t, err) // Test delete. assert.Nil(t, table.delete(record.Id)) record2, err = table.getById(record.Id) assert.Nil(t, record2) assert.Nil(t, err) } func TestTableMultipleCrud(t *testing.T) { db := setupTestDb(t) defer db.Close() table, err := newTable[validRecord](db) if !assert.Nil(t, err) { return } // Insert a few test records. record1 := validRecord{IntData: 1, StringData: "One"} record2 := validRecord{IntData: 2, StringData: "Two"} record3 := validRecord{IntData: 3, StringData: "Three"} assert.Nil(t, table.create(&record1)) assert.Nil(t, table.create(&record2)) assert.Nil(t, table.create(&record3)) // Read all records. records, err := table.getAll() assert.Nil(t, err) if assert.Equal(t, 3, len(records)) { assert.Equal(t, record1, records[0]) assert.Equal(t, record2, records[1]) assert.Equal(t, record3, records[2]) } // Truncate the table and verify that the records no longer exist. assert.Nil(t, table.truncate()) records, err = table.getAll() assert.Equal(t, 0, len(records)) assert.Nil(t, err) record4, err := table.getById(record1.Id) assert.Nil(t, record4) assert.Nil(t, err) } func TestTableWithManualId(t *testing.T) { db := setupTestDb(t) defer db.Close() table, err := newTable[manualIdRecord](db) if !assert.Nil(t, err) { return } // Test initial create and then read back. record := manualIdRecord{Id: 254, StringData: "The Cheesy Poofs"} if assert.Nil(t, table.create(&record)) { assert.Equal(t, 254, record.Id) } record2, err := table.getById(record.Id) assert.Equal(t, record, *record2) assert.Nil(t, err) // Test update and then read back. record.StringData = "Teh Chezy Pofs" assert.Nil(t, table.update(&record)) record2, err = table.getById(record.Id) assert.Equal(t, record, *record2) assert.Nil(t, err) // Test delete. assert.Nil(t, table.delete(record.Id)) record2, err = table.getById(record.Id) assert.Nil(t, record2) assert.Nil(t, err) // Test creating a record with a zero ID. record.Id = 0 err = table.create(&record) if assert.NotNil(t, err) { assert.Equal( t, "can't create manualIdRecord with zero ID since table is configured for manual IDs", err.Error(), ) } } func TestNewTableErrors(t *testing.T) { db := setupTestDb(t) defer db.Close() // Pass a non-struct as the record type. table, err := newTable[int](db) assert.Nil(t, table) if assert.NotNil(t, err) { assert.Equal(t, "record type must be a struct; got int", err.Error()) } // Pass a struct that doesn't have an ID field. type recordWithNoId struct { StringData string } table2, err := newTable[recordWithNoId](db) assert.Nil(t, table2) if assert.NotNil(t, err) { assert.Equal(t, "struct recordWithNoId has no field tagged as the id", err.Error()) } // Pass a struct that has a field with the wrong type tagged as the ID. type recordWithWrongIdType struct { Id bool `db:"id"` } table3, err := newTable[recordWithWrongIdType](db) assert.Nil(t, table3) if assert.NotNil(t, err) { assert.Equal( t, "field in struct recordWithWrongIdType tagged with 'id' must be an int; got bool", err.Error(), ) } } func TestTableCrudErrors(t *testing.T) { db := setupTestDb(t) defer db.Close() table, err := newTable[validRecord](db) if !assert.Nil(t, err) { return } // Create a record with a non-zero ID. var record validRecord record.Id = 12345 err = table.create(&record) if assert.NotNil(t, err) { assert.Equal( t, "can't create validRecord with non-zero ID since table is configured for autogenerated IDs: 12345", err.Error(), ) } // Update a record with an ID of zero. record.Id = 0 err = table.update(&record) if assert.NotNil(t, err) { assert.Equal(t, "can't update validRecord with zero ID", err.Error()) } // Update a nonexistent record. record.Id = 12345 err = table.update(&record) if assert.NotNil(t, err) { assert.Equal(t, "can't update non-existent validRecord with ID 12345", err.Error()) } // Delete a nonexistent record. err = table.delete(12345) if assert.NotNil(t, err) { assert.Equal(t, "can't delete non-existent validRecord with ID 12345", err.Error()) } } ================================================ FILE: model/team.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model and datastore CRUD methods for a team at an event. package model import "sort" type Team struct { Id int `db:"id,manual"` Name string Nickname string City string StateProv string Country string SchoolName string RookieYear int RobotName string Accomplishments string WpaKey string YellowCard bool HasConnected bool FtaNotes string } func (database *Database) CreateTeam(team *Team) error { return database.teamTable.create(team) } func (database *Database) GetTeamById(id int) (*Team, error) { return database.teamTable.getById(id) } func (database *Database) UpdateTeam(team *Team) error { return database.teamTable.update(team) } func (database *Database) DeleteTeam(id int) error { return database.teamTable.delete(id) } func (database *Database) TruncateTeams() error { return database.teamTable.truncate() } func (database *Database) GetAllTeams() ([]Team, error) { teams, err := database.teamTable.getAll() if err != nil { return nil, err } sort.Slice( teams, func(i, j int) bool { return teams[i].Id < teams[j].Id }, ) return teams, nil } ================================================ FILE: model/team_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/stretchr/testify/assert" "testing" ) func TestGetNonexistentTeam(t *testing.T) { db := setupTestDb(t) defer db.Close() team, err := db.GetTeamById(1114) assert.Nil(t, err) assert.Nil(t, team) } func TestTeamCrud(t *testing.T) { db := setupTestDb(t) defer db.Close() team := Team{ Id: 254, Name: "NASA", Nickname: "The Cheesy Poofs", City: "San Jose", StateProv: "CA", Country: "USA", RookieYear: 1999, RobotName: "Barrage", } db.CreateTeam(&team) team2, err := db.GetTeamById(254) assert.Nil(t, err) assert.Equal(t, team, *team2) team.Name = "Updated name" db.UpdateTeam(&team) team2, err = db.GetTeamById(254) assert.Nil(t, err) assert.Equal(t, team.Name, team2.Name) db.DeleteTeam(team.Id) team2, err = db.GetTeamById(254) assert.Nil(t, err) assert.Nil(t, team2) } func TestTruncateTeams(t *testing.T) { db := setupTestDb(t) defer db.Close() team := Team{ Id: 254, Name: "NASA", Nickname: "The Cheesy Poofs", City: "San Jose", StateProv: "CA", Country: "USA", RookieYear: 1999, RobotName: "Barrage", } db.CreateTeam(&team) db.TruncateTeams() team2, err := db.GetTeamById(254) assert.Nil(t, err) assert.Nil(t, team2) } func TestGetAllTeams(t *testing.T) { db := setupTestDb(t) defer db.Close() teams, err := db.GetAllTeams() assert.Nil(t, err) assert.Empty(t, teams) numTeams := 20 for i := 1; i <= numTeams; i++ { db.CreateTeam(&Team{Id: i, RookieYear: 2014}) } teams, err = db.GetAllTeams() assert.Nil(t, err) assert.Equal(t, numTeams, len(teams)) for i := 0; i < numTeams; i++ { assert.Equal(t, i+1, teams[i].Id) } } ================================================ FILE: model/test_helpers.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Helper methods for use in tests in this package and others. package model import ( "github.com/Team254/cheesy-arena/game" "github.com/stretchr/testify/assert" "path/filepath" "testing" ) func SetupTestDb(t *testing.T) *Database { BaseDir = ".." dbDir := t.TempDir() dbPath := filepath.Join(dbDir, "test.db") database, err := OpenDatabase(dbPath) assert.Nil(t, err) t.Cleanup( func() { database.Close() }, ) return database } func BuildTestMatchResult(matchId int, playNumber int) *MatchResult { matchResult := &MatchResult{MatchId: matchId, PlayNumber: playNumber, MatchType: Qualification} matchResult.RedScore = game.TestScore1() matchResult.BlueScore = game.TestScore2() matchResult.RedCards = map[string]string{"1868": "yellow"} matchResult.BlueCards = map[string]string{} return matchResult } func BuildTestAlliances(database *Database) { database.CreateAlliance(&Alliance{Id: 2, TeamIds: []int{1718, 2451, 1619}, Lineup: [3]int{2451, 1718, 1619}}) database.CreateAlliance(&Alliance{Id: 1, TeamIds: []int{254, 469, 2848, 74, 3175}, Lineup: [3]int{469, 254, 2848}}) } ================================================ FILE: model/user_session.go ================================================ // Copyright 2019 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Model and datastore CRUD methods for a user login session. package model import "time" type UserSession struct { Id int `db:"id"` Token string Username string CreatedAt time.Time } func (database *Database) CreateUserSession(session *UserSession) error { return database.userSessionTable.create(session) } func (database *Database) GetUserSessionByToken(token string) (*UserSession, error) { userSessions, err := database.userSessionTable.getAll() if err != nil { return nil, err } for _, userSession := range userSessions { if userSession.Token == token { return &userSession, nil } } return nil, nil } func (database *Database) DeleteUserSession(id int) error { return database.userSessionTable.delete(id) } func (database *Database) TruncateUserSessions() error { return database.userSessionTable.truncate() } ================================================ FILE: model/user_session_test.go ================================================ // Copyright 2019 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package model import ( "github.com/stretchr/testify/assert" "testing" "time" ) func TestGetNonexistentUserSession(t *testing.T) { db := setupTestDb(t) defer db.Close() session, err := db.GetUserSessionByToken("blorpy") assert.Nil(t, err) assert.Nil(t, session) } func TestUserSessionCrud(t *testing.T) { db := setupTestDb(t) defer db.Close() session := UserSession{0, "token1", "Bertha", time.Now()} err := db.CreateUserSession(&session) assert.Nil(t, err) session2, err := db.GetUserSessionByToken("token1") assert.Nil(t, err) assert.Equal(t, session.Token, session2.Token) assert.Equal(t, session.Username, session2.Username) assert.True(t, session.CreatedAt.Equal(session2.CreatedAt)) db.DeleteUserSession(session.Id) session2, err = db.GetUserSessionByToken("token1") assert.Nil(t, err) assert.Nil(t, session2) } func TestTruncateUserSessions(t *testing.T) { db := setupTestDb(t) defer db.Close() session := UserSession{0, "token1", "Bertha", time.Now()} db.CreateUserSession(&session) db.TruncateUserSessions() session2, err := db.GetUserSessionByToken("token1") assert.Nil(t, err) assert.Nil(t, session2) } ================================================ FILE: network/access_point.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Methods for configuring a Vivid-Hosting VH-113 access point running OpenWRT for team SSIDs and VLANs. package network import ( "bytes" "encoding/json" "fmt" "io" "log" "net/http" "strconv" "time" "github.com/Team254/cheesy-arena/model" ) const ( accessPointPollPeriodSec = 1 ) type AccessPoint struct { apiUrl string password string channel int networkSecurityEnabled bool Status string TeamWifiStatuses [6]*TeamWifiStatus lastConfiguredTeams [6]*model.Team } type TeamWifiStatus struct { TeamId int RadioLinked bool MBits float64 RxRate float64 TxRate float64 SignalNoiseRatio int ConnectionQuality int } type configurationRequest struct { Channel int `json:"channel"` StationConfigurations map[string]stationConfiguration `json:"stationConfigurations"` } type stationConfiguration struct { Ssid string `json:"ssid"` WpaKey string `json:"wpaKey"` } type accessPointStatus struct { Channel int `json:"channel"` Status string `json:"status"` StationStatuses map[string]*stationStatus `json:"stationStatuses"` } type stationStatus struct { Ssid string `json:"ssid"` HashedWpaKey string `json:"hashedWpaKey"` WpaKeySalt string `json:"wpaKeySalt"` IsLinked bool `json:"isLinked"` RxRateMbps float64 `json:"rxRateMbps"` TxRateMbps float64 `json:"txRateMbps"` SignalNoiseRatio int `json:"signalNoiseRatio"` BandwidthUsedMbps float64 `json:"bandwidthUsedMbps"` ConnectionQuality string `json:"connectionQuality"` } var connectionQualityMap = map[string]int{ "caution": 1, "warning": 2, "good": 3, "excellent": 4, } func (ap *AccessPoint) SetSettings( address, password string, channel int, networkSecurityEnabled bool, wifiStatuses [6]*TeamWifiStatus, ) { ap.apiUrl = fmt.Sprintf("http://%s", address) ap.password = password ap.channel = channel ap.networkSecurityEnabled = networkSecurityEnabled ap.Status = "UNKNOWN" ap.TeamWifiStatuses = wifiStatuses } // Loops indefinitely to read status from the access point. func (ap *AccessPoint) Run() { for { time.Sleep(time.Second * accessPointPollPeriodSec) if err := ap.updateMonitoring(); err != nil { log.Printf("Failed to update access point monitoring: %v", err) continue } // If the access point is in a good state but doesn't match the expected configuration, try again. if ap.Status == "ACTIVE" && !ap.statusMatchesLastConfiguration() { log.Println("Access point is ACTIVE but does not match expected configuration; retrying configuration.") if err := ap.ConfigureTeamWifi(ap.lastConfiguredTeams); err != nil { log.Printf("Failed to reconfigure access point: %v", err) } } } } // Calls the access point's API to configure the team SSIDs and WPA keys. func (ap *AccessPoint) ConfigureTeamWifi(teams [6]*model.Team) error { if !ap.networkSecurityEnabled { return nil } ap.Status = "CONFIGURING" ap.lastConfiguredTeams = teams request := configurationRequest{ Channel: ap.channel, StationConfigurations: make(map[string]stationConfiguration), } addStation(request.StationConfigurations, "red1", teams[0]) addStation(request.StationConfigurations, "red2", teams[1]) addStation(request.StationConfigurations, "red3", teams[2]) addStation(request.StationConfigurations, "blue1", teams[3]) addStation(request.StationConfigurations, "blue2", teams[4]) addStation(request.StationConfigurations, "blue3", teams[5]) jsonBody, err := json.Marshal(request) if err != nil { return err } // Send the configuration to the access point API. url := ap.apiUrl + "/configuration" httpRequest, err := http.NewRequest("POST", url, bytes.NewReader(jsonBody)) if err != nil { return err } if ap.password != "" { httpRequest.Header.Add("Authorization", fmt.Sprintf("Bearer %s", ap.password)) } httpClient := http.Client{Timeout: time.Second * 3} httpResponse, err := httpClient.Do(httpRequest) if err != nil { return err } defer httpResponse.Body.Close() if httpResponse.StatusCode/100 != 2 { body, _ := io.ReadAll(httpResponse.Body) return fmt.Errorf("access point returned status %d: %s", httpResponse.StatusCode, string(body)) } log.Println("Access point accepted the new configuration and will apply it asynchronously.") return nil } // Fetches the current access point status from the API and updates the status structure. func (ap *AccessPoint) updateMonitoring() error { if !ap.networkSecurityEnabled { return nil } // Fetch the status from the access point API. url := ap.apiUrl + "/status" httpRequest, err := http.NewRequest("GET", url, nil) if err != nil { return err } if ap.password != "" { httpRequest.Header.Add("Authorization", fmt.Sprintf("Bearer %s", ap.password)) } var httpClient http.Client httpResponse, err := httpClient.Do(httpRequest) if err != nil { ap.Status = "ERROR" return fmt.Errorf("failed to fetch access point status: %v", err) } if httpResponse.StatusCode/100 != 2 { ap.Status = "ERROR" body, _ := io.ReadAll(httpResponse.Body) return fmt.Errorf("access point returned status %d: %s", httpResponse.StatusCode, string(body)) } // Parse the response and populate the status structure. var apStatus accessPointStatus err = json.NewDecoder(httpResponse.Body).Decode(&apStatus) if err != nil { ap.Status = "ERROR" return fmt.Errorf("failed to parse access point status: %v", err) } if ap.Status != apStatus.Status { log.Printf("Access point status changed from %s to %s.", ap.Status, apStatus.Status) ap.Status = apStatus.Status if ap.Status == "ACTIVE" { log.Printf("Access point detailed status:\n%s", apStatus.toLogString()) } } updateTeamWifiStatus(ap.TeamWifiStatuses[0], apStatus.StationStatuses["red1"]) updateTeamWifiStatus(ap.TeamWifiStatuses[1], apStatus.StationStatuses["red2"]) updateTeamWifiStatus(ap.TeamWifiStatuses[2], apStatus.StationStatuses["red3"]) updateTeamWifiStatus(ap.TeamWifiStatuses[3], apStatus.StationStatuses["blue1"]) updateTeamWifiStatus(ap.TeamWifiStatuses[4], apStatus.StationStatuses["blue2"]) updateTeamWifiStatus(ap.TeamWifiStatuses[5], apStatus.StationStatuses["blue3"]) return nil } // Returns true if the access point's current status matches the last configuration that was sent to it. func (ap *AccessPoint) statusMatchesLastConfiguration() bool { for i := 0; i < 6; i++ { var expectedTeamId, actualTeamId int if ap.lastConfiguredTeams[i] != nil { expectedTeamId = ap.lastConfiguredTeams[i].Id } if ap.TeamWifiStatuses[i] != nil { actualTeamId = ap.TeamWifiStatuses[i].TeamId } if expectedTeamId != actualTeamId { return false } } return true } // Generates the configuration for the given team's station and adds it to the map. If the team is nil, no entry is // added for the station. func addStation(stationsConfigurations map[string]stationConfiguration, station string, team *model.Team) { if team == nil { return } stationsConfigurations[station] = stationConfiguration{ Ssid: strconv.Itoa(team.Id), WpaKey: team.WpaKey, } } // Updates the given team's wifi status structure with the given station status. func updateTeamWifiStatus(teamWifiStatus *TeamWifiStatus, stationStatus *stationStatus) { if stationStatus == nil { teamWifiStatus.TeamId = 0 teamWifiStatus.RadioLinked = false teamWifiStatus.MBits = 0 teamWifiStatus.RxRate = 0 teamWifiStatus.TxRate = 0 teamWifiStatus.SignalNoiseRatio = 0 teamWifiStatus.ConnectionQuality = 0 } else { teamWifiStatus.TeamId, _ = strconv.Atoi(stationStatus.Ssid) teamWifiStatus.RadioLinked = stationStatus.IsLinked teamWifiStatus.MBits = stationStatus.BandwidthUsedMbps teamWifiStatus.RxRate = stationStatus.RxRateMbps teamWifiStatus.TxRate = stationStatus.TxRateMbps teamWifiStatus.SignalNoiseRatio = stationStatus.SignalNoiseRatio if quality, ok := connectionQualityMap[stationStatus.ConnectionQuality]; ok { teamWifiStatus.ConnectionQuality = quality } else { // Default to 0 if there is no mapping for the connection quality string. teamWifiStatus.ConnectionQuality = 0 } } } // Returns an abbreviated string representation of the access point status for inclusion in the log. func (apStatus *accessPointStatus) toLogString() string { var buffer bytes.Buffer buffer.WriteString(fmt.Sprintf("Channel: %d\n", apStatus.Channel)) for _, station := range []string{"red1", "red2", "red3", "blue1", "blue2", "blue3"} { stationStatus := apStatus.StationStatuses[station] ssid := "[empty]" if stationStatus != nil { ssid = stationStatus.Ssid } buffer.WriteString(fmt.Sprintf("%-6s %s\n", station+":", ssid)) } return buffer.String() } ================================================ FILE: network/access_point_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package network import ( "encoding/json" "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "net/http" "net/http/httptest" "testing" ) func TestAccessPoint_ConfigureTeamWifi(t *testing.T) { var ap AccessPoint var request configurationRequest wifiStatuses := [6]*TeamWifiStatus{{}, {}, {}, {}, {}, {}} ap.SetSettings("dummy", "password1", 123, true, wifiStatuses) // Mock the radio API server. radioServer := httptest.NewServer( http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { assert.Equal(t, r.URL.Path, "/configuration") assert.Equal(t, "Bearer password1", r.Header.Get("Authorization")) assert.Nil(t, json.NewDecoder(r.Body).Decode(&request)) }, ), ) ap.apiUrl = radioServer.URL // All stations assigned. team1 := &model.Team{Id: 254, WpaKey: "11111111"} team2 := &model.Team{Id: 1114, WpaKey: "22222222"} team3 := &model.Team{Id: 469, WpaKey: "33333333"} team4 := &model.Team{Id: 2046, WpaKey: "44444444"} team5 := &model.Team{Id: 2056, WpaKey: "55555555"} team6 := &model.Team{Id: 1678, WpaKey: "66666666"} assert.Nil(t, ap.ConfigureTeamWifi([6]*model.Team{team1, team2, team3, team4, team5, team6})) assert.Equal( t, configurationRequest{ Channel: 123, StationConfigurations: map[string]stationConfiguration{ "red1": {"254", "11111111"}, "red2": {"1114", "22222222"}, "red3": {"469", "33333333"}, "blue1": {"2046", "44444444"}, "blue2": {"2056", "55555555"}, "blue3": {"1678", "66666666"}, }, }, request, ) // Different channel and only some stations assigned. ap.channel = 456 request = configurationRequest{} assert.Nil(t, ap.ConfigureTeamWifi([6]*model.Team{nil, nil, team2, nil, team1, nil})) assert.Equal( t, configurationRequest{ Channel: 456, StationConfigurations: map[string]stationConfiguration{ "red3": {"1114", "22222222"}, "blue2": {"254", "11111111"}, }, }, request, ) // Radio API returns an error. radioServer = httptest.NewServer( http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { assert.Equal(t, r.URL.Path, "/configuration") http.Error(w, "oh noes", 507) }, ), ) ap.apiUrl = radioServer.URL err := ap.ConfigureTeamWifi([6]*model.Team{team1, team2, team3, team4, team5, team6}) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "returned status 507: oh noes") } assert.Equal(t, "CONFIGURING", ap.Status) } func TestAccessPoint_updateMonitoring(t *testing.T) { var ap AccessPoint wifiStatuses := [6]*TeamWifiStatus{{}, {}, {}, {}, {}, {}} ap.SetSettings("dummy", "password2", 123, true, wifiStatuses) apStatus := accessPointStatus{ Channel: 456, Status: "ACTIVE", StationStatuses: map[string]*stationStatus{ "red1": {"254", "hash111", "salt1", true, 1, 2, 3, 4, "excellent"}, "red2": {"1114", "hash222", "salt2", false, 5, 6, 7, 8, ""}, "red3": {"469", "hash333", "salt3", true, 9, 10, 11, 12, "caution"}, "blue1": {"2046", "hash444", "salt4", false, 13, 14, 15, 16, "warning"}, "blue2": {"2056", "hash555", "salt5", true, 17, 18, 19, 20, "nonexistent"}, "blue3": {"1678", "hash666", "salt6", false, 21, 22, 23, 24, "good"}, }, } // Mock the radio API server. radioServer := httptest.NewServer( http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { assert.Equal(t, r.URL.Path, "/status") assert.Equal(t, "Bearer password2", r.Header.Get("Authorization")) assert.Nil(t, json.NewEncoder(w).Encode(apStatus)) }, ), ) ap.apiUrl = radioServer.URL // All stations assigned. assert.Nil(t, ap.updateMonitoring()) assert.Equal(t, 123, ap.channel) // Should not have changed to reflect the radio API. assert.Equal(t, "ACTIVE", ap.Status) assert.Equal(t, TeamWifiStatus{254, true, 4, 1, 2, 3, 4}, *wifiStatuses[0]) assert.Equal(t, TeamWifiStatus{1114, false, 8, 5, 6, 7, 0}, *wifiStatuses[1]) assert.Equal(t, TeamWifiStatus{469, true, 12, 9, 10, 11, 1}, *wifiStatuses[2]) assert.Equal(t, TeamWifiStatus{2046, false, 16, 13, 14, 15, 2}, *wifiStatuses[3]) assert.Equal(t, TeamWifiStatus{2056, true, 20, 17, 18, 19, 0}, *wifiStatuses[4]) assert.Equal(t, TeamWifiStatus{1678, false, 24, 21, 22, 23, 3}, *wifiStatuses[5]) // Only some stations assigned. apStatus.Status = "CONFIGURING" apStatus.StationStatuses = map[string]*stationStatus{ "red1": nil, "red2": nil, "red3": {"469", "hash333", "salt3", true, 9, 10, 11, 12, "caution"}, "blue1": nil, "blue2": {"2056", "hash555", "salt5", true, 17, 18, 19, 20, "excellent"}, "blue3": nil, } assert.Nil(t, ap.updateMonitoring()) assert.Equal(t, "CONFIGURING", ap.Status) assert.Equal(t, TeamWifiStatus{}, *wifiStatuses[0]) assert.Equal(t, TeamWifiStatus{}, *wifiStatuses[1]) assert.Equal(t, TeamWifiStatus{469, true, 12, 9, 10, 11, 1}, *wifiStatuses[2]) assert.Equal(t, TeamWifiStatus{}, *wifiStatuses[3]) assert.Equal(t, TeamWifiStatus{2056, true, 20, 17, 18, 19, 4}, *wifiStatuses[4]) assert.Equal(t, TeamWifiStatus{}, *wifiStatuses[5]) // Radio API returns an error. radioServer = httptest.NewServer( http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { assert.Equal(t, r.URL.Path, "/status") http.Error(w, "gosh darn", 404) }, ), ) ap.apiUrl = radioServer.URL err := ap.updateMonitoring() if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "returned status 404: gosh darn") } assert.Equal(t, "ERROR", ap.Status) } func TestAccessPoint_statusMatchesLastConfiguration(t *testing.T) { var ap AccessPoint wifiStatuses := [6]*TeamWifiStatus{{}, {}, {}, {}, {}, {}} ap.SetSettings("dummy", "", 123, true, wifiStatuses) assert.True(t, ap.statusMatchesLastConfiguration()) team1 := &model.Team{Id: 254, WpaKey: "11111111"} team2 := &model.Team{Id: 1678, WpaKey: "22222222"} ap.ConfigureTeamWifi([6]*model.Team{nil, team1, nil, team2, nil, nil}) assert.False(t, ap.statusMatchesLastConfiguration()) ap.TeamWifiStatuses[1].TeamId = 254 assert.False(t, ap.statusMatchesLastConfiguration()) ap.TeamWifiStatuses[3].TeamId = 1677 assert.False(t, ap.statusMatchesLastConfiguration()) ap.TeamWifiStatuses[3].TeamId = 1678 assert.True(t, ap.statusMatchesLastConfiguration()) ap.TeamWifiStatuses[4].TeamId = 111 assert.False(t, ap.statusMatchesLastConfiguration()) } ================================================ FILE: network/sccswitch.go ================================================ // Copyright 2025 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Methods for configuring an SCC Switch via SSH. package network import ( "bytes" "fmt" "net" "strconv" "sync" "time" "golang.org/x/crypto/ssh" ) const ( sccSwitchConnectTimeoutSec = 5 sccSwitchConfigTimeoutSec = 5 sccSwitchSSHPort = 22 ) type SCCSwitch struct { address string port int username string password string mutex sync.Mutex connectTimeoutDuration time.Duration configTimeoutDuration time.Duration upCommands []string downCommands []string Status string } func NewSCCSwitch(address, username, password string, upCommands, downCommands []string) *SCCSwitch { return &SCCSwitch{ address: address, port: sccSwitchSSHPort, username: username, password: password, connectTimeoutDuration: sccSwitchConnectTimeoutSec * time.Second, configTimeoutDuration: sccSwitchConfigTimeoutSec * time.Second, upCommands: upCommands, downCommands: downCommands, Status: "UNKNOWN", } } func (scc *SCCSwitch) SetTeamEthernetEnabled(enabled bool) error { scc.mutex.Lock() defer scc.mutex.Unlock() scc.Status = "CONFIGURING" commandSequence := scc.downCommands if enabled { commandSequence = scc.upCommands } _, err := scc.runCommandSequence(commandSequence) if err != nil { scc.Status = "ERROR" return fmt.Errorf("failed to set team ethernet state: %w", err) } if enabled { scc.Status = "ACTIVE" } else { scc.Status = "DISABLED" } return nil } // Logs into the switch via SSH and runs the given commands in sequence. // Returns the output of the commands or an error if the operation fails. func (scc *SCCSwitch) runCommandSequence(commands []string) (string, error) { // Open an SSH connection to the switch. sshConfig := &ssh.ClientConfig{ User: scc.username, Auth: []ssh.AuthMethod{ ssh.Password(scc.password), }, HostKeyCallback: ssh.InsecureIgnoreHostKey(), // Allow any host key for simplicity Timeout: scc.connectTimeoutDuration, } client, err := ssh.Dial("tcp", net.JoinHostPort(scc.address, strconv.Itoa(scc.port)), sshConfig) if err != nil { return "", fmt.Errorf("failed to connect to SSH: %w", err) } defer client.Close() // Create an interactive session to run commands session, err := client.NewSession() if err != nil { return "", fmt.Errorf("failed to create SSH session: %w", err) } defer session.Close() // Capture the session output var outputBuffer bytes.Buffer session.Stdout = &outputBuffer session.Stderr = &outputBuffer inputPipe, err := session.StdinPipe() if err != nil { return "", fmt.Errorf("failed to create input pipe: %w", err) } modes := ssh.TerminalModes{ssh.ECHO: 0} if err := session.RequestPty("vt100", 80, 40, modes); err != nil { return "", fmt.Errorf("failed to configure shell: %w", err) } // Launch the switch's interactive shell err = session.Shell() if err != nil { return "", fmt.Errorf("failed to start shell: %w", err) } // Submit the commands to the switch for _, command := range commands { if _, err := fmt.Fprintln(inputPipe, command); err != nil { return "", fmt.Errorf("failed to write command to switch: %w", err) } } // Wait for the remote to process the commands and exit the shell done := make(chan error, 1) go func() { done <- session.Wait() }() select { case err := <-done: if err != nil { return "", fmt.Errorf("failed to run command sequence: %w", err) } case <-time.After(scc.configTimeoutDuration): return "", fmt.Errorf("timed out waiting for command sequence to complete") } return outputBuffer.String(), nil } ================================================ FILE: network/sccswitch_test.go ================================================ // Copyright 2025 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package network import ( "bytes" "fmt" "io" "net" "strings" "testing" "time" "github.com/stretchr/testify/assert" "golang.org/x/crypto/ed25519" "golang.org/x/crypto/ssh" ) func TestConfigureSCC(t *testing.T) { username := "username" password := "password" upCommands := []string{ "up_line1", "up line 2", "up-line/3", "up line 4", "up line 5", "exit", } downCommands := []string{ "down_line1", "down line 2", "down-line/3", "down line 4", "down line 5", "exit", } scc := NewSCCSwitch("127.0.0.1", username, password, upCommands, downCommands) scc.port = 9150 scc.connectTimeoutDuration = 10 * time.Millisecond scc.configTimeoutDuration = 15 * time.Millisecond var receivedUpCommands, receivedDownCommands []string // Set the switch to the down state mockSSHSwitch(t, scc.port, username, password, &receivedDownCommands) assert.Nil(t, scc.SetTeamEthernetEnabled(false)) assert.Equal(t, downCommands, receivedDownCommands) assert.Equal(t, "DISABLED", scc.Status) // Set the switch to the up state scc.port += 1 mockSSHSwitch(t, scc.port, username, password, &receivedUpCommands) assert.Nil(t, scc.SetTeamEthernetEnabled(true)) assert.Equal(t, upCommands, receivedUpCommands) assert.Equal(t, "ACTIVE", scc.Status) } func mockSSHSwitch(t *testing.T, port int, username, password string, commands *[]string) { go func() { // Create a simple SSH server that accepts a connection with password authentication _, privateKey, err := ed25519.GenerateKey(nil) assert.Nil(t, err) signer, err := ssh.NewSignerFromKey(privateKey) assert.Nil(t, err) config := &ssh.ServerConfig{ PasswordCallback: func(conn ssh.ConnMetadata, pass []byte) (*ssh.Permissions, error) { assert.Equal(t, username, conn.User()) assert.Equal(t, password, string(pass)) return nil, nil }, } config.AddHostKey(signer) listener, err := net.Listen("tcp", fmt.Sprintf(":%d", port)) assert.Nil(t, err) nConn, err := listener.Accept() assert.Nil(t, err) defer nConn.Close() conn, chans, reqs, err := ssh.NewServerConn(nConn, config) assert.Nil(t, err) defer conn.Close() // Ignore all client requests go ssh.DiscardRequests(reqs) // Wait for the client to connect and request a session rawChannel := <-chans assert.Equal(t, "session", rawChannel.ChannelType()) channel, requests, err := rawChannel.Accept() assert.Nil(t, err) defer channel.Close() // Wait for the client to request a PTY req := <-requests assert.Equal(t, "pty-req", req.Type) req.Reply(true, nil) // Wait for the client to request a shell req = <-requests assert.Equal(t, "shell", req.Type) req.Reply(true, nil) // Read all data sent by the client var receivedData bytes.Buffer done := make(chan struct{}) go func() { defer close(done) buffer := make([]byte, 1024) for { n, err := channel.Read(buffer) if err != nil { assert.Equal(t, io.EOF, err) break } receivedData.Write(buffer[:n]) } }() select { case <-done: // Client closed the channel case <-time.After(5 * time.Millisecond): // All data should be read by now. Close the connection } *commands = strings.Split(receivedData.String(), "\n") if len(*commands) > 0 && (*commands)[len(*commands)-1] == "" { *commands = (*commands)[:len(*commands)-1] // Remove trailing newline } // Send an exit command to cleanly close the session channel.SendRequest("exit-status", false, []byte{0, 0, 0, 0}) }() time.Sleep(100 * time.Millisecond) // Give it some time to open the socket. } ================================================ FILE: network/switch.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Methods for configuring a Cisco Switch 3500-series switch for team VLANs. package network import ( "bufio" "bytes" "fmt" "github.com/Team254/cheesy-arena/model" "net" "sync" "time" ) const ( switchConfigBackoffDurationSec = 5 switchConfigPauseDurationSec = 2 switchTeamGatewayAddress = 4 switchTelnetPort = 23 ) const ( red1Vlan = 10 red2Vlan = 20 red3Vlan = 30 blue1Vlan = 40 blue2Vlan = 50 blue3Vlan = 60 ) type Switch struct { address string port int password string mutex sync.Mutex configBackoffDuration time.Duration configPauseDuration time.Duration Status string } const DefaultServerIpAddress = "10.0.100.5" var ServerIpAddress = DefaultServerIpAddress // The DS will try to connect to this address only. func NewSwitch(address, password string) *Switch { return &Switch{ address: address, port: switchTelnetPort, password: password, configBackoffDuration: switchConfigBackoffDurationSec * time.Second, configPauseDuration: switchConfigPauseDurationSec * time.Second, Status: "UNKNOWN", } } // Sets up wired networks for the given set of teams. func (sw *Switch) ConfigureTeamEthernet(teams [6]*model.Team) error { // Make sure multiple configurations aren't being set at the same time. sw.mutex.Lock() defer sw.mutex.Unlock() sw.Status = "CONFIGURING" // Remove old team VLANs to reset the switch state. removeTeamVlansCommand := "" for vlan := 10; vlan <= 60; vlan += 10 { removeTeamVlansCommand += fmt.Sprintf( "interface Vlan%d\nno ip address\nno ip dhcp pool dhcp%d\n", vlan, vlan, ) } _, err := sw.runConfigCommand(removeTeamVlansCommand) if err != nil { sw.Status = "ERROR" return err } time.Sleep(sw.configPauseDuration) // Create the new team VLANs. addTeamVlansCommand := "" addTeamVlan := func(team *model.Team, vlan int) { if team == nil { return } teamPartialIp := fmt.Sprintf("%d.%d", team.Id/100, team.Id%100) addTeamVlansCommand += fmt.Sprintf( "ip dhcp excluded-address 10.%s.1 10.%s.19\n"+ "ip dhcp excluded-address 10.%s.200 10.%s.254\n"+ "ip dhcp pool dhcp%d\n"+ "network 10.%s.0 255.255.255.0\n"+ "default-router 10.%s.%d\n"+ "lease 7\n"+ "interface Vlan%d\nip address 10.%s.%d 255.255.255.0\n", teamPartialIp, teamPartialIp, teamPartialIp, teamPartialIp, vlan, teamPartialIp, teamPartialIp, switchTeamGatewayAddress, vlan, teamPartialIp, switchTeamGatewayAddress, ) } addTeamVlan(teams[0], red1Vlan) addTeamVlan(teams[1], red2Vlan) addTeamVlan(teams[2], red3Vlan) addTeamVlan(teams[3], blue1Vlan) addTeamVlan(teams[4], blue2Vlan) addTeamVlan(teams[5], blue3Vlan) if len(addTeamVlansCommand) > 0 { _, err = sw.runConfigCommand(addTeamVlansCommand) if err != nil { sw.Status = "ERROR" return err } } // Give some time for the configuration to take before another one can be attempted. time.Sleep(sw.configBackoffDuration) sw.Status = "ACTIVE" return nil } // Logs into the switch via Telnet and runs the given command in user exec mode. Reads the output and // returns it as a string. func (sw *Switch) runCommand(command string) (string, error) { // Open a Telnet connection to the switch. conn, err := net.Dial("tcp", fmt.Sprintf("%s:%d", sw.address, sw.port)) if err != nil { return "", err } defer conn.Close() // Login to the AP, send the command, and log out all at once. writer := bufio.NewWriter(conn) _, err = writer.WriteString( fmt.Sprintf( "%s\nenable\n%s\nterminal length 0\n%sexit\n", sw.password, sw.password, command, ), ) if err != nil { return "", err } err = writer.Flush() if err != nil { return "", err } // Read the response. var reader bytes.Buffer _, err = reader.ReadFrom(conn) if err != nil { return "", err } return reader.String(), nil } // Logs into the switch via Telnet and runs the given command in global configuration mode. Reads the output // and returns it as a string. func (sw *Switch) runConfigCommand(command string) (string, error) { return sw.runCommand(fmt.Sprintf("config terminal\n%send\n", command)) } ================================================ FILE: network/switch_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package network import ( "bytes" "fmt" "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "net" "testing" "time" ) func TestConfigureSwitch(t *testing.T) { sw := NewSwitch("127.0.0.1", "password") assert.Equal(t, "UNKNOWN", sw.Status) sw.port = 9050 sw.configBackoffDuration = time.Millisecond sw.configPauseDuration = time.Millisecond var command1, command2 string expectedResetCommand := "password\nenable\npassword\nterminal length 0\nconfig terminal\n" + "interface Vlan10\nno ip address\nno ip dhcp pool dhcp10\n" + "interface Vlan20\nno ip address\nno ip dhcp pool dhcp20\n" + "interface Vlan30\nno ip address\nno ip dhcp pool dhcp30\n" + "interface Vlan40\nno ip address\nno ip dhcp pool dhcp40\n" + "interface Vlan50\nno ip address\nno ip dhcp pool dhcp50\n" + "interface Vlan60\nno ip address\nno ip dhcp pool dhcp60\n" + "end\nexit\n" // Should remove all previous VLANs and do nothing else if current configuration is blank. mockTelnet(t, sw.port, &command1, &command2) assert.Nil(t, sw.ConfigureTeamEthernet([6]*model.Team{nil, nil, nil, nil, nil, nil})) assert.Equal(t, expectedResetCommand, command1) assert.Equal(t, "", command2) assert.Equal(t, "ACTIVE", sw.Status) // Should configure one team if only one is present. sw.port += 1 mockTelnet(t, sw.port, &command1, &command2) assert.Nil(t, sw.ConfigureTeamEthernet([6]*model.Team{nil, nil, nil, nil, {Id: 254}, nil})) assert.Equal(t, expectedResetCommand, command1) assert.Equal( t, "password\nenable\npassword\nterminal length 0\nconfig terminal\n"+ "ip dhcp excluded-address 10.2.54.1 10.2.54.19\nip dhcp excluded-address 10.2.54.200 10.2.54.254\nip dhcp pool dhcp50\n"+ "network 10.2.54.0 255.255.255.0\ndefault-router 10.2.54.4\nlease 7\n"+ "interface Vlan50\nip address 10.2.54.4 255.255.255.0\n"+ "end\nexit\n", command2, ) // Should configure all teams if all are present. sw.port += 1 mockTelnet(t, sw.port, &command1, &command2) assert.Nil( t, sw.ConfigureTeamEthernet([6]*model.Team{{Id: 1114}, {Id: 254}, {Id: 296}, {Id: 1503}, {Id: 1678}, {Id: 1538}}), ) assert.Equal(t, expectedResetCommand, command1) assert.Equal( t, "password\nenable\npassword\nterminal length 0\nconfig terminal\n"+ "ip dhcp excluded-address 10.11.14.1 10.11.14.19\nip dhcp excluded-address 10.11.14.200 10.11.14.254\nip dhcp pool dhcp10\n"+ "network 10.11.14.0 255.255.255.0\ndefault-router 10.11.14.4\nlease 7\n"+ "interface Vlan10\nip address 10.11.14.4 255.255.255.0\n"+ "ip dhcp excluded-address 10.2.54.1 10.2.54.19\nip dhcp excluded-address 10.2.54.200 10.2.54.254\nip dhcp pool dhcp20\n"+ "network 10.2.54.0 255.255.255.0\ndefault-router 10.2.54.4\nlease 7\n"+ "interface Vlan20\nip address 10.2.54.4 255.255.255.0\n"+ "ip dhcp excluded-address 10.2.96.1 10.2.96.19\nip dhcp excluded-address 10.2.96.200 10.2.96.254\nip dhcp pool dhcp30\n"+ "network 10.2.96.0 255.255.255.0\ndefault-router 10.2.96.4\nlease 7\n"+ "interface Vlan30\nip address 10.2.96.4 255.255.255.0\n"+ "ip dhcp excluded-address 10.15.3.1 10.15.3.19\nip dhcp excluded-address 10.15.3.200 10.15.3.254\nip dhcp pool dhcp40\n"+ "network 10.15.3.0 255.255.255.0\ndefault-router 10.15.3.4\nlease 7\n"+ "interface Vlan40\nip address 10.15.3.4 255.255.255.0\n"+ "ip dhcp excluded-address 10.16.78.1 10.16.78.19\nip dhcp excluded-address 10.16.78.200 10.16.78.254\nip dhcp pool dhcp50\n"+ "network 10.16.78.0 255.255.255.0\ndefault-router 10.16.78.4\nlease 7\n"+ "interface Vlan50\nip address 10.16.78.4 255.255.255.0\n"+ "ip dhcp excluded-address 10.15.38.1 10.15.38.19\nip dhcp excluded-address 10.15.38.200 10.15.38.254\nip dhcp pool dhcp60\n"+ "network 10.15.38.0 255.255.255.0\ndefault-router 10.15.38.4\nlease 7\n"+ "interface Vlan60\nip address 10.15.38.4 255.255.255.0\n"+ "end\nexit\n", command2, ) } func mockTelnet(t *testing.T, port int, command1 *string, command2 *string) { go func() { ln, err := net.Listen("tcp", fmt.Sprintf(":%d", port)) assert.Nil(t, err) defer ln.Close() *command1 = "" *command2 = "" // Fake the first connection. conn1, err := ln.Accept() assert.Nil(t, err) conn1.SetReadDeadline(time.Now().Add(10 * time.Millisecond)) var reader bytes.Buffer reader.ReadFrom(conn1) *command1 = reader.String() conn1.Close() // Fake the second connection. conn2, err := ln.Accept() assert.Nil(t, err) conn2.SetReadDeadline(time.Now().Add(10 * time.Millisecond)) reader.Reset() reader.ReadFrom(conn2) *command2 = reader.String() conn2.Close() }() time.Sleep(100 * time.Millisecond) // Give it some time to open the socket. } ================================================ FILE: network/testdata/iwinfo_0_teams.txt ================================================ wlan0 ESSID: "no-team-1" Access Point: 00:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -94 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-1 ESSID: "no-team-2" Access Point: 02:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -94 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-2 ESSID: "no-team-3" Access Point: 06:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -94 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-3 ESSID: "no-team-4" Access Point: 0A:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -94 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-4 ESSID: "no-team-5" Access Point: 0E:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -94 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-5 ESSID: "no-team-6" Access Point: 12:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -94 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan1 ESSID: unknown Access Point: 00:00:00:00:00:00 Mode: Client Channel: unknown (unknown) Tx-Power: unknown Link Quality: unknown/70 Signal: unknown Noise: unknown Bit Rate: unknown Encryption: unknown Type: nl80211 HW Mode(s): 802.11bgn Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy1 ================================================ FILE: network/testdata/iwinfo_2_teams.txt ================================================ wlan0 ESSID: "no-team-1" Access Point: 00:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -94 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-1 ESSID: "2471" Access Point: 02:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: 2/70 Signal: unknown Noise: -94 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-2 ESSID: "no-team-3" Access Point: 06:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -94 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-3 ESSID: "254" Access Point: 0A:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -94 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-4 ESSID: "no-team-5" Access Point: 0E:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -94 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-5 ESSID: "no-team-6" Access Point: 12:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -94 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan1 ESSID: unknown Access Point: 00:00:00:00:00:00 Mode: Client Channel: unknown (unknown) Tx-Power: unknown Link Quality: unknown/70 Signal: unknown Noise: unknown Bit Rate: unknown Encryption: unknown Type: nl80211 HW Mode(s): 802.11bgn Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy1 ================================================ FILE: network/testdata/iwinfo_6_teams.txt ================================================ wlan0 ESSID: "254" Access Point: 00:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -96 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-1 ESSID: "1678" Access Point: 02:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -96 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-2 ESSID: "2910" Access Point: 06:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: 23/70 Signal: -85 dBm Noise: -96 dBm Bit Rate: 6.0 MBit/s Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-3 ESSID: "604" Access Point: 0A:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -96 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-4 ESSID: "8" Access Point: 0E:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -96 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-5 ESSID: "2471" Access Point: 12:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: 55/70 Signal: -55 dBm Noise: -96 dBm Bit Rate: 6.0 MBit/s Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan1 ESSID: unknown Access Point: 00:00:00:00:00:00 Mode: Client Channel: unknown (unknown) Tx-Power: unknown Link Quality: unknown/70 Signal: unknown Noise: unknown Bit Rate: unknown Encryption: unknown Type: nl80211 HW Mode(s): 802.11bgn Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy1 ================================================ FILE: network/testdata/iwinfo_invalid.txt ================================================ wlan0 ESSID: "254" Access Point: 00:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -96 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-1 ESSID: "1678" Access Point: 02:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -96 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-2 ESSID: "2910" Access Point: 06:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: 23/70 Signal: -85 dBm Noise: -96 dBm Bit Rate: 6.0 MBit/s Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan0-3 ESSID: "604" Access Point: 0A:25:9C:14:65:8A Mode: Master Channel: 161 (5.805 GHz) Tx-Power: 23 dBm Link Quality: unknown/70 Signal: unknown Noise: -96 dBm Bit Rate: unknown Encryption: WPA2 PSK (CCMP) Type: nl80211 HW Mode(s): 802.11nac Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy0 wlan1 ESSID: unknown Access Point: 00:00:00:00:00:00 Mode: Client Channel: unknown (unknown) Tx-Power: unknown Link Quality: unknown/70 Signal: unknown Noise: unknown Bit Rate: unknown Encryption: unknown Type: nl80211 HW Mode(s): 802.11bgn Hardware: 11AB:2A55 11AB:0000 [Marvell 88W8864] TX power offset: none Frequency offset: none Supports VAPs: yes PHY name: phy1 ================================================ FILE: partner/blackmagic.go ================================================ // Copyright 2024 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Client for interfacing with one or more Blackmagic HyperDeck devices to automatically record matches. package partner import ( "fmt" "log" "net" "strings" "time" ) const ( blackmagicPort = 9993 blackmagicConnectTimeoutMs = 100 blackmagicStopDelaySec = 10 ) type BlackmagicClient struct { deviceAddresses []string } // Creates a new Blackmagic client with the given device addresses as a comma-separated string. func NewBlackmagicClient(addresses string) *BlackmagicClient { var deviceAddresses []string for _, address := range strings.Split(addresses, ",") { trimmedAddress := strings.TrimSpace(address) if trimmedAddress != "" { deviceAddresses = append(deviceAddresses, trimmedAddress) } } return &BlackmagicClient{deviceAddresses: deviceAddresses} } // Starts recording across all devices. func (client *BlackmagicClient) StartRecording() { client.sendCommand("record") } // Stops recording across all devices after a delay. func (client *BlackmagicClient) StopRecording() { time.Sleep(blackmagicStopDelaySec * time.Second) client.sendCommand("stop") } // Connects to all devices and executes the given command. func (client *BlackmagicClient) sendCommand(command string) { for _, address := range client.deviceAddresses { conn, err := net.DialTimeout( "tcp", fmt.Sprintf("%s:%d", address, blackmagicPort), blackmagicConnectTimeoutMs*time.Millisecond, ) if err != nil { log.Printf("Failed to connect to Blackmagic device at %s: %v", address, err) continue } defer conn.Close() _, err = fmt.Fprint(conn, command+"\n") if err != nil { log.Printf("Failed to send '%s' command to Blackmagic device at %s: %v", command, address, err) } } } ================================================ FILE: partner/blackmagic_test.go ================================================ // Copyright 2024 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package partner import ( "github.com/stretchr/testify/assert" "testing" ) func TestNewBlackmagicClient(t *testing.T) { // Test with an empty address. client := NewBlackmagicClient("") assert.Equal(t, 0, len(client.deviceAddresses)) // Test with whitespace in the address. client = NewBlackmagicClient(" ") assert.Equal(t, 0, len(client.deviceAddresses)) // Test with a single address. client = NewBlackmagicClient("1.2.3.4") if assert.Equal(t, 1, len(client.deviceAddresses)) { assert.Equal(t, "1.2.3.4", client.deviceAddresses[0]) } // Test with multiple addresses. client = NewBlackmagicClient(" 1.2.3.4 , 5.6.7.8 ") if assert.Equal(t, 2, len(client.deviceAddresses)) { assert.Equal(t, "1.2.3.4", client.deviceAddresses[0]) assert.Equal(t, "5.6.7.8", client.deviceAddresses[1]) } } ================================================ FILE: partner/companion.go ================================================ // Copyright 2025 Team 254. All Rights Reserved. // Author: kyle@team2481.com (Kyle Waremburg) // // Client for interfacing with Bitfocus Companion to automatically trigger events during matches. package partner import ( "fmt" "log" "net" "time" ) const ( companionConnectTimeoutMs = 1000 ) // CompanionEvent represents the different events that can be sent to Companion type CompanionEvent string const ( EventMatchPreview CompanionEvent = "matchPreview" EventShowOverlay CompanionEvent = "showOverlay" EventMatchStart CompanionEvent = "matchStart" EventTeleopStart CompanionEvent = "teleopStart" EventEndgameStart CompanionEvent = "endgameStart" EventMatchEnd CompanionEvent = "matchEnd" EventShowFinalScore CompanionEvent = "showFinalScore" EventAllianceSelection CompanionEvent = "allianceSelection" EventMatchAbort CompanionEvent = "matchAbort" ) // CompanionEventConfig holds the page/row/column configuration for a specific event type CompanionEventConfig struct { Page int Row int Column int } type CompanionClient struct { address string port int events map[CompanionEvent]CompanionEventConfig } // Creates a new Companion client with the given configuration. func NewCompanionClient( address string, port int, eventConfigs map[CompanionEvent]CompanionEventConfig, ) *CompanionClient { return &CompanionClient{ address: address, port: port, events: eventConfigs, } } // Sends an event to Companion if enabled and the event is configured. func (client *CompanionClient) SendEvent(event CompanionEvent) { if !client.IsEnabled() { return } config, exists := client.events[event] if !exists || config.Page == 0 { // Event not configured or has invalid coordinates return } command := fmt.Sprintf("LOCATION %d/%d/%d PRESS\n", config.Page, config.Row, config.Column) client.sendCommand(command) } // Connects to Companion and executes the given command. func (client *CompanionClient) sendCommand(command string) { if !client.IsEnabled() { return } address := fmt.Sprintf("%s:%d", client.address, client.port) conn, err := net.DialTimeout("tcp", address, companionConnectTimeoutMs*time.Millisecond) if err != nil { log.Printf("Failed to connect to Companion at %s: %v", address, err) return } defer conn.Close() _, err = fmt.Fprint(conn, command) if err != nil { log.Printf("Failed to send command '%s' to Companion at %s: %v", command, address, err) } } // IsEnabled returns whether the Companion client is enabled (address is not blank) func (client *CompanionClient) IsEnabled() bool { return client.address != "" } // GetEventConfig returns the configuration for a specific event func (client *CompanionClient) GetEventConfig(event CompanionEvent) (CompanionEventConfig, bool) { config, exists := client.events[event] return config, exists } ================================================ FILE: partner/companion_test.go ================================================ // Copyright 2025 Team 254. All Rights Reserved. // Author: kyle@team2481.com (Kyle Waremburg) // // Tests for the Companion client. package partner import ( "github.com/stretchr/testify/assert" "testing" ) func TestNewCompanionClient(t *testing.T) { // Test with disabled client (blank address) client := NewCompanionClient("", 51234, nil) assert.Equal(t, "", client.address) assert.Equal(t, 51234, client.port) assert.Nil(t, client.events) // Test with enabled client and event configs eventConfigs := map[CompanionEvent]CompanionEventConfig{ EventMatchStart: {Page: 1, Row: 2, Column: 3}, EventMatchEnd: {Page: 2, Row: 3, Column: 4}, } client = NewCompanionClient("192.168.1.100", 51235, eventConfigs) assert.Equal(t, "192.168.1.100", client.address) assert.Equal(t, 51235, client.port) assert.Equal(t, eventConfigs, client.events) } func TestCompanionClient_IsEnabled(t *testing.T) { client := NewCompanionClient("", 51234, nil) assert.False(t, client.IsEnabled()) client = NewCompanionClient("127.0.0.1", 51234, nil) assert.True(t, client.IsEnabled()) } func TestCompanionClient_GetEventConfig(t *testing.T) { eventConfigs := map[CompanionEvent]CompanionEventConfig{ EventMatchStart: {Page: 1, Row: 2, Column: 3}, EventMatchEnd: {Page: 2, Row: 3, Column: 4}, } client := NewCompanionClient("127.0.0.1", 51234, eventConfigs) // Test existing event config, exists := client.GetEventConfig(EventMatchStart) assert.True(t, exists) assert.Equal(t, 1, config.Page) assert.Equal(t, 2, config.Row) assert.Equal(t, 3, config.Column) // Test non-existing event config, exists = client.GetEventConfig(EventTeleopStart) assert.False(t, exists) assert.Equal(t, CompanionEventConfig{}, config) } func TestCompanionClient_SendEvent_Disabled(t *testing.T) { // Test that disabled client doesn't send events client := NewCompanionClient("", 51234, nil) // This should not panic or cause errors when client is disabled client.SendEvent(EventMatchStart) } func TestCompanionClient_SendEvent_UnconfiguredEvent(t *testing.T) { // Test that unconfigured events are ignored eventConfigs := map[CompanionEvent]CompanionEventConfig{ EventMatchStart: {Page: 1, Row: 2, Column: 3}, } client := NewCompanionClient("127.0.0.1", 51234, eventConfigs) // This should not panic or cause errors for unconfigured events client.SendEvent(EventTeleopStart) } func TestCompanionClient_SendEvent_InvalidConfig(t *testing.T) { // Test that events with invalid coordinates (0 values) are ignored eventConfigs := map[CompanionEvent]CompanionEventConfig{ EventMatchStart: {Page: 0, Row: 2, Column: 3}, // Invalid page EventMatchEnd: {Page: 1, Row: 0, Column: 3}, // Invalid row EventTeleopStart: {Page: 1, Row: 2, Column: 0}, // Invalid column } client := NewCompanionClient("127.0.0.1", 51234, eventConfigs) // These should not panic or cause errors for invalid configurations client.SendEvent(EventMatchStart) client.SendEvent(EventMatchEnd) client.SendEvent(EventTeleopStart) } ================================================ FILE: partner/nexus.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Methods for pulling match lineups from Nexus for FRC. package partner import ( "encoding/json" "fmt" "github.com/Team254/cheesy-arena/model" "io" "net/http" "strconv" ) const nexusBaseUrl = "https://frc.nexus" const nexusApiKey = "Vn6D9y80kQcNijDItKOJHg8yYEk" type NexusClient struct { BaseUrl string apiKey string eventCode string } type nexusLineup struct { Red [3]string `json:"red"` Blue [3]string `json:"blue"` } func NewNexusClient(eventCode string) *NexusClient { return &NexusClient{BaseUrl: nexusBaseUrl, apiKey: nexusApiKey, eventCode: eventCode} } // Gets the team lineup for a given match from the Nexus API. Returns nil and an error if the lineup is not available. func (client *NexusClient) GetLineup(tbaMatchKey model.TbaMatchKey) (*[6]int, error) { path := fmt.Sprintf( "/api/v1/event/%s/match/%s/lineups?key=%s", client.eventCode, tbaMatchKey.String(), client.apiKey, ) resp, err := client.getRequest(path) if err != nil { return nil, err } // Get the response and handle errors defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { return nil, err } if resp.StatusCode != 200 { return nil, fmt.Errorf("Error getting lineup from Nexus: %d, %s", resp.StatusCode, string(body)) } var nexusLineup nexusLineup if err = json.Unmarshal(body, &nexusLineup); err != nil { return nil, err } var lineup [6]int lineup[0], _ = strconv.Atoi(nexusLineup.Red[0]) lineup[1], _ = strconv.Atoi(nexusLineup.Red[1]) lineup[2], _ = strconv.Atoi(nexusLineup.Red[2]) lineup[3], _ = strconv.Atoi(nexusLineup.Blue[0]) lineup[4], _ = strconv.Atoi(nexusLineup.Blue[1]) lineup[5], _ = strconv.Atoi(nexusLineup.Blue[2]) // Check that at least one spot is filled with a valid team number; otherwise return an error. for _, team := range lineup { if team > 0 { return &lineup, nil } } return nil, fmt.Errorf("Lineup not yet submitted") } // Sends a GET request to the Nexus API. func (client *NexusClient) getRequest(path string) (*http.Response, error) { url := client.BaseUrl + path httpClient := &http.Client{} req, err := http.NewRequest("GET", url, nil) if err != nil { return nil, err } return httpClient.Do(req) } ================================================ FILE: partner/nexus_test.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package partner import ( "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "net/http" "net/http/httptest" "strings" "testing" ) func TestGetLineup(t *testing.T) { // Mock the Nexus server. nexusServer := httptest.NewServer( http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { assert.Contains(t, r.URL.String(), "/api/v1/event/my_event_code/") if strings.Contains(r.URL.String(), "/api/v1/event/my_event_code/match/p1/lineups") { w.Write([]byte("{\"red\":[\"101\",\"102\",\"103\"],\"blue\":[\"104\",\"105\",\"106\"]}")) } else if strings.Contains(r.URL.String(), "/api/v1/event/my_event_code/match/p2/lineups") { w.Write([]byte("{\"blue\":[\"104\",\"\",\"106\"]}")) } else if strings.Contains(r.URL.String(), "/api/v1/event/my_event_code/match/p3/lineups") { w.Write([]byte("{}")) } else { http.Error(w, "Match not found", 404) } }, ), ) defer nexusServer.Close() client := NewNexusClient("my_event_code") client.BaseUrl = nexusServer.URL tbaMatchKey := model.TbaMatchKey{CompLevel: "p", SetNumber: 0, MatchNumber: 1} lineup, err := client.GetLineup(tbaMatchKey) if assert.Nil(t, err) { assert.Equal(t, [6]int{101, 102, 103, 104, 105, 106}, *lineup) } tbaMatchKey = model.TbaMatchKey{CompLevel: "sf", SetNumber: 6, MatchNumber: 1} lineup, err = client.GetLineup(tbaMatchKey) assert.Nil(t, lineup) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "Match not found") } tbaMatchKey = model.TbaMatchKey{CompLevel: "p", SetNumber: 0, MatchNumber: 2} lineup, err = client.GetLineup(tbaMatchKey) if assert.Nil(t, err) { assert.Equal(t, [6]int{0, 0, 0, 104, 0, 106}, *lineup) } tbaMatchKey = model.TbaMatchKey{CompLevel: "p", SetNumber: 0, MatchNumber: 3} lineup, err = client.GetLineup(tbaMatchKey) assert.Nil(t, lineup) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "Lineup not yet submitted") } } ================================================ FILE: partner/tba.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Methods for publishing data to and retrieving data from The Blue Alliance. package partner import ( "bytes" "crypto/md5" "encoding/base64" "encoding/json" "fmt" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/mitchellh/mapstructure" "io" "net/http" "os" "strconv" ) const ( tbaBaseUrl = "https://www.thebluealliance.com" tbaAuthKey = "MAApv9MCuKY9MSFkXLuzTSYBCdosboxDq8Q3ujUE2Mn8PD3Nmv64uczu5Lvy0NQ3" AvatarsDir = "static/img/avatars" ) type TbaClient struct { BaseUrl string eventCode string secretId string secret string eventNamesCache map[string]string } type TbaMatch struct { CompLevel string `json:"comp_level"` SetNumber int `json:"set_number"` MatchNumber int `json:"match_number"` Alliances map[string]*TbaAlliance `json:"alliances"` ScoreBreakdown map[string]map[string]any `json:"score_breakdown"` TimeString string `json:"time_string"` TimeUtc string `json:"time_utc"` DisplayName string `json:"display_name"` } type TbaAlliance struct { Teams []string `json:"teams"` Surrogates []string `json:"surrogates"` Dqs []string `json:"dqs"` Score *int `json:"score"` } type TbaScoreBreakdown struct { AutoLineRobot1 string `mapstructure:"autoLineRobot1"` AutoLineRobot2 string `mapstructure:"autoLineRobot2"` AutoLineRobot3 string `mapstructure:"autoLineRobot3"` AutoMobilityPoints int `mapstructure:"autoMobilityPoints"` AutoReef tbaReef `mapstructure:"autoReef"` AutoCoralCount int `mapstructure:"autoCoralCount"` AutoCoralPoints int `mapstructure:"autoCoralPoints"` AutoPoints int `mapstructure:"autoPoints"` TeleopReef tbaReef `mapstructure:"teleopReef"` TeleopCoralCount int `mapstructure:"teleopCoralCount"` TeleopCoralPoints int `mapstructure:"teleopCoralPoints"` NetAlgaeCount int `mapstructure:"netAlgaeCount"` WallAlgaeCount int `mapstructure:"wallAlgaeCount"` AlgaePoints int `mapstructure:"algaePoints"` EndGameRobot1 string `mapstructure:"endGameRobot1"` EndGameRobot2 string `mapstructure:"endGameRobot2"` EndGameRobot3 string `mapstructure:"endGameRobot3"` EndGameBargePoints int `mapstructure:"endGameBargePoints"` TeleopPoints int `mapstructure:"teleopPoints"` CoopertitionCriteriaMet bool `mapstructure:"coopertitionCriteriaMet"` AutoBonusAchieved bool `mapstructure:"autoBonusAchieved"` CoralBonusAchieved bool `mapstructure:"coralBonusAchieved"` BargeBonusAchieved bool `mapstructure:"bargeBonusAchieved"` FoulCount int `mapstructure:"foulCount"` TechFoulCount int `mapstructure:"techFoulCount"` G206Penalty bool `mapstructure:"g206Penalty"` G410Penalty bool `mapstructure:"g410Penalty"` G418Penalty bool `mapstructure:"g418Penalty"` G428Penalty bool `mapstructure:"g428Penalty"` FoulPoints int `mapstructure:"foulPoints"` TotalPoints int `mapstructure:"totalPoints"` RP int `mapstructure:"rp"` } type tbaReef struct { BotRow map[string]bool `mapstructure:"botRow"` MidRow map[string]bool `mapstructure:"midRow"` TopRow map[string]bool `mapstructure:"topRow"` TbaBotRowCount int `mapstructure:"tba_botRowCount"` TbaMidRowCount int `mapstructure:"tba_midRowCount"` TbaTopRowCount int `mapstructure:"tba_topRowCount"` Trough int `mapstructure:"trough"` } type TbaRanking struct { TeamKey string `json:"team_key"` Rank int `json:"rank"` RP float32 Coop float32 Match float32 Auto float32 Barge float32 Wins int `json:"wins"` Losses int `json:"losses"` Ties int `json:"ties"` Dqs int `json:"dqs"` Played int `json:"played"` } type TbaRankings struct { Breakdowns []string `json:"breakdowns"` Rankings []TbaRanking `json:"rankings"` } type TbaTeam struct { TeamNumber int `json:"team_number"` Name string `json:"name"` Nickname string `json:"nickname"` City string `json:"city"` StateProv string `json:"state_prov"` Country string `json:"country"` RookieYear int `json:"rookie_year"` } type TbaRobot struct { RobotName string `json:"robot_name"` Year int `json:"year"` } type TbaAward struct { Name string `json:"name"` EventKey string `json:"event_key"` Year int `json:"year"` EventName string } type TbaEvent struct { Name string `json:"name"` } type TbaMediaItem struct { Details map[string]any `json:"details"` Type string `json:"type"` } type TbaPublishedAward struct { Name string `json:"name_str"` TeamKey string `json:"team_key"` Awardee string `json:"awardee"` } var leaveMapping = map[bool]string{false: "No", true: "Yes"} var endGameStatusMapping = map[game.EndgameStatus]string{ game.EndgameNone: "None", game.EndgameParked: "Parked", game.EndgameShallowCage: "ShallowCage", game.EndgameDeepCage: "DeepCage", } func NewTbaClient(eventCode, secretId, secret string) *TbaClient { return &TbaClient{ BaseUrl: tbaBaseUrl, eventCode: eventCode, secretId: secretId, secret: secret, eventNamesCache: make(map[string]string), } } func (client *TbaClient) GetTeam(teamNumber int) (*TbaTeam, error) { path := fmt.Sprintf("/api/v3/team/%s", getTbaTeam(teamNumber)) resp, err := client.getRequest(path) if err != nil { return nil, err } // Get the response and handle errors defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { return nil, err } var teamData TbaTeam err = json.Unmarshal(body, &teamData) return &teamData, err } func (client *TbaClient) GetRobotName(teamNumber int, year int) (string, error) { path := fmt.Sprintf("/api/v3/team/%s/robots", getTbaTeam(teamNumber)) resp, err := client.getRequest(path) if err != nil { return "", err } // Get the response and handle errors defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { return "", err } var robots []*TbaRobot err = json.Unmarshal(body, &robots) if err != nil { return "", err } for _, robot := range robots { if robot.Year == year { return robot.RobotName, nil } } return "", nil } func (client *TbaClient) GetTeamAwards(teamNumber int) ([]*TbaAward, error) { path := fmt.Sprintf("/api/v3/team/%s/awards", getTbaTeam(teamNumber)) resp, err := client.getRequest(path) if err != nil { return nil, err } // Get the response and handle errors defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { return nil, err } var awards []*TbaAward err = json.Unmarshal(body, &awards) if err != nil { return nil, err } for _, award := range awards { if _, ok := client.eventNamesCache[award.EventKey]; !ok { client.eventNamesCache[award.EventKey], err = client.getEventName(award.EventKey) if err != nil { return nil, err } } award.EventName = client.eventNamesCache[award.EventKey] } return awards, nil } func (client *TbaClient) DownloadTeamAvatar(teamNumber, year int) error { path := fmt.Sprintf("/api/v3/team/%s/media/%d", getTbaTeam(teamNumber), year) resp, err := client.getRequest(path) if err != nil { return err } // Get the response and handle errors defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { return err } var mediaItems []*TbaMediaItem err = json.Unmarshal(body, &mediaItems) if err != nil { return err } for _, item := range mediaItems { if item.Type == "avatar" { base64String, ok := item.Details["base64Image"].(string) if !ok { return fmt.Errorf("Could not interpret avatar response from TBA: %v", item) } avatarBytes, err := base64.StdEncoding.DecodeString(base64String) if err != nil { return err } // Store the avatar to disk as a PNG file. avatarPath := fmt.Sprintf("%s/%d.png", AvatarsDir, teamNumber) return os.WriteFile(avatarPath, avatarBytes, 0644) } } return nil } // Uploads the event team list to The Blue Alliance. func (client *TbaClient) PublishTeams(database *model.Database) error { teams, err := database.GetAllTeams() if err != nil { return err } // Build a JSON array of TBA-format team keys (e.g. "frc254"). teamKeys := make([]string, len(teams)) for i, team := range teams { teamKeys[i] = getTbaTeam(team.Id) } jsonBody, err := json.Marshal(teamKeys) if err != nil { return err } resp, err := client.postRequest("team_list", "update", jsonBody) if err != nil { return err } if resp.StatusCode != 200 { defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) return fmt.Errorf("Got status code %d from TBA: %s", resp.StatusCode, body) } return nil } // Uploads the qualification and playoff match schedule and results to The Blue Alliance. func (client *TbaClient) PublishMatches(database *model.Database) error { qualMatches, err := database.GetMatchesByType(model.Qualification, false) if err != nil { return err } playoffMatches, err := database.GetMatchesByType(model.Playoff, false) if err != nil { return err } eventSettings, err := database.GetEventSettings() if err != nil { return err } matches := append(qualMatches, playoffMatches...) tbaMatches := make([]TbaMatch, len(matches)) // Build a JSON array of TBA-format matches. for i, match := range matches { // Fill in scores if the match has been played. var scoreBreakdown map[string]map[string]any var redScore, blueScore *int var redCards, blueCards map[string]string if match.IsComplete() { matchResult, err := database.GetMatchResultForMatch(match.Id) if err != nil { return err } if matchResult != nil { scoreBreakdown = make(map[string]map[string]any) scoreBreakdown["red"] = createTbaScoringBreakdown(eventSettings, &match, matchResult, "red") scoreBreakdown["blue"] = createTbaScoringBreakdown(eventSettings, &match, matchResult, "blue") redScoreValue := scoreBreakdown["red"]["totalPoints"].(int) blueScoreValue, _ := scoreBreakdown["blue"]["totalPoints"].(int) redScore = &redScoreValue blueScore = &blueScoreValue redCards = matchResult.RedCards blueCards = matchResult.BlueCards } } alliances := make(map[string]*TbaAlliance) alliances["red"] = createTbaAlliance( [3]int{match.Red1, match.Red2, match.Red3}, [3]bool{match.Red1IsSurrogate, match.Red2IsSurrogate, match.Red3IsSurrogate}, redScore, redCards, ) alliances["blue"] = createTbaAlliance( [3]int{match.Blue1, match.Blue2, match.Blue3}, [3]bool{match.Blue1IsSurrogate, match.Blue2IsSurrogate, match.Blue3IsSurrogate}, blueScore, blueCards, ) tbaMatches[i] = TbaMatch{ CompLevel: match.TbaMatchKey.CompLevel, SetNumber: match.TbaMatchKey.SetNumber, MatchNumber: match.TbaMatchKey.MatchNumber, Alliances: alliances, ScoreBreakdown: scoreBreakdown, TimeString: match.Time.Local().Format("3:04 PM"), TimeUtc: match.Time.UTC().Format("2006-01-02T15:04:05"), } } jsonBody, err := json.Marshal(tbaMatches) if err != nil { return err } resp, err := client.postRequest("matches", "update", jsonBody) if err != nil { return err } if resp.StatusCode != 200 { defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) return fmt.Errorf("Got status code %d from TBA: %s", resp.StatusCode, body) } return nil } // Uploads the team standings to The Blue Alliance. func (client *TbaClient) PublishRankings(database *model.Database) error { rankings, err := database.GetAllRankings() if err != nil { return err } // Build a JSON object of TBA-format rankings. breakdowns := []string{"RP", "Coop", "Match", "Auto", "Barge"} tbaRankings := make([]TbaRanking, len(rankings)) for i, ranking := range rankings { tbaRankings[i] = TbaRanking{ TeamKey: getTbaTeam(ranking.TeamId), Rank: ranking.Rank, RP: float32(ranking.RankingPoints) / float32(ranking.Played), Coop: float32(ranking.CoopertitionPoints) / float32(ranking.Played), Match: float32(ranking.MatchPoints) / float32(ranking.Played), Auto: float32(ranking.AutoPoints) / float32(ranking.Played), Barge: float32(ranking.BargePoints) / float32(ranking.Played), Wins: ranking.Wins, Losses: ranking.Losses, Ties: ranking.Ties, Dqs: ranking.Disqualifications, Played: ranking.Played, } } jsonBody, err := json.Marshal(TbaRankings{breakdowns, tbaRankings}) if err != nil { return err } resp, err := client.postRequest("rankings", "update", jsonBody) if err != nil { return err } if resp.StatusCode != 200 { defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) return fmt.Errorf("Got status code %d from TBA: %s", resp.StatusCode, body) } return nil } // Uploads the alliances selection results to The Blue Alliance. func (client *TbaClient) PublishAlliances(database *model.Database) error { alliances, err := database.GetAllAlliances() if err != nil { return err } // Build a JSON object of TBA-format alliances. tbaAlliances := make([][]string, len(alliances)) for i, alliance := range alliances { for _, allianceTeamId := range alliance.TeamIds { tbaAlliances[i] = append(tbaAlliances[i], getTbaTeam(allianceTeamId)) } } jsonBody, err := json.Marshal(tbaAlliances) if err != nil { return err } resp, err := client.postRequest("alliance_selections", "update", jsonBody) if err != nil { return err } if resp.StatusCode != 200 { defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) return fmt.Errorf("Got status code %d from TBA: %s", resp.StatusCode, body) } // Also set the playoff type so that TBA renders the correct bracket. eventSettings, err := database.GetEventSettings() if err != nil { return err } playoffType := 0 if eventSettings.PlayoffType == model.DoubleEliminationPlayoff { playoffType = 10 } resp, err = client.postRequest("info", "update", []byte(fmt.Sprintf("{\"playoff_type\":%d}", playoffType))) if err != nil { return err } if resp.StatusCode != 200 { defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) return fmt.Errorf("Got status code %d from TBA: %s", resp.StatusCode, body) } return nil } // Uploads the awards to The Blue Alliance. func (client *TbaClient) PublishAwards(database *model.Database) error { awards, err := database.GetAllAwards() if err != nil { return err } // Build a JSON array of TBA-format award models. tbaAwards := make([]TbaPublishedAward, len(awards)) for i, award := range awards { tbaAwards[i].Name = award.AwardName tbaAwards[i].TeamKey = getTbaTeam(award.TeamId) tbaAwards[i].Awardee = award.PersonName } jsonBody, err := json.Marshal(tbaAwards) if err != nil { return err } resp, err := client.postRequest("awards", "update", jsonBody) if err != nil { return err } if resp.StatusCode != 200 { defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) return fmt.Errorf("Got status code %d from TBA: %s", resp.StatusCode, body) } return nil } // Clears out the existing match data on The Blue Alliance for the event. func (client *TbaClient) DeletePublishedMatches() error { resp, err := client.postRequest("matches", "delete_all", []byte(client.eventCode)) if err != nil { return err } if resp.StatusCode != 200 { defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) return fmt.Errorf("Got status code %d from TBA: %s", resp.StatusCode, body) } return nil } func (client *TbaClient) getEventName(eventCode string) (string, error) { path := fmt.Sprintf("/api/v3/event/%s", eventCode) resp, err := client.getRequest(path) if err != nil { return "", err } // Get the response and handle errors defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { return "", err } var event TbaEvent err = json.Unmarshal(body, &event) if err != nil { return "", err } return event.Name, err } // Converts an integer team number into the "frcXXXX" format TBA expects. func getTbaTeam(team int) string { return fmt.Sprintf("frc%d", team) } // Sends a GET request to the TBA API. func (client *TbaClient) getRequest(path string) (*http.Response, error) { url := client.BaseUrl + path // Make an HTTP GET request with the TBA auth headers. httpClient := &http.Client{} req, err := http.NewRequest("GET", url, nil) if err != nil { return nil, err } req.Header.Set("X-TBA-Auth-Key", tbaAuthKey) return httpClient.Do(req) } // Signs the request and sends it to the TBA API. func (client *TbaClient) postRequest(resource string, action string, body []byte) (*http.Response, error) { path := fmt.Sprintf("/api/trusted/v1/event/%s/%s/%s", client.eventCode, resource, action) signature := fmt.Sprintf("%x", md5.Sum(append([]byte(client.secret+path), body...))) httpClient := &http.Client{} request, err := http.NewRequest("POST", client.BaseUrl+path, bytes.NewReader(body)) if err != nil { return nil, err } request.Header.Add("X-TBA-Auth-Id", client.secretId) request.Header.Add("X-TBA-Auth-Sig", signature) response, err := httpClient.Do(request) if client.BaseUrl == tbaBaseUrl && err == nil && response.StatusCode == 200 { // Send a non-blocking ping to track usage. pingRequest, _ := http.NewRequest( "POST", fmt.Sprintf("https://cheesyarena.com/events/%s/%s", client.eventCode, resource), nil, ) _, _ = httpClient.Do(pingRequest) } return response, err } func createTbaAlliance(teamIds [3]int, surrogates [3]bool, score *int, cards map[string]string) *TbaAlliance { alliance := TbaAlliance{Teams: []string{}, Surrogates: []string{}, Dqs: []string{}, Score: score} for i, teamId := range teamIds { if teamId == 0 { continue } teamKey := getTbaTeam(teamId) alliance.Teams = append(alliance.Teams, teamKey) if surrogates[i] { alliance.Surrogates = append(alliance.Surrogates, teamKey) } if cards != nil { if card, ok := cards[strconv.Itoa(teamId)]; ok && card == "red" { alliance.Dqs = append(alliance.Dqs, teamKey) } } } return &alliance } func createTbaScoringBreakdown( eventSettings *model.EventSettings, match *model.Match, matchResult *model.MatchResult, alliance string, ) map[string]any { var breakdown TbaScoreBreakdown var score *game.Score var scoreSummary, opponentScoreSummary *game.ScoreSummary if alliance == "red" { score = matchResult.RedScore scoreSummary = matchResult.RedScoreSummary() opponentScoreSummary = matchResult.BlueScoreSummary() } else { score = matchResult.BlueScore scoreSummary = matchResult.BlueScoreSummary() opponentScoreSummary = matchResult.RedScoreSummary() } breakdown.AutoLineRobot1 = leaveMapping[score.LeaveStatuses[0]] breakdown.AutoLineRobot2 = leaveMapping[score.LeaveStatuses[1]] breakdown.AutoLineRobot3 = leaveMapping[score.LeaveStatuses[2]] breakdown.AutoMobilityPoints = scoreSummary.LeavePoints breakdown.AutoReef.BotRow = make(map[string]bool) breakdown.AutoReef.MidRow = make(map[string]bool) breakdown.AutoReef.TopRow = make(map[string]bool) for i := 0; i < 12; i++ { breakdown.AutoReef.BotRow["node"+string(rune('A'+i))] = score.Reef.AutoBranches[game.Level2][i] breakdown.AutoReef.MidRow["node"+string(rune('A'+i))] = score.Reef.AutoBranches[game.Level3][i] breakdown.AutoReef.TopRow["node"+string(rune('A'+i))] = score.Reef.AutoBranches[game.Level4][i] } breakdown.AutoReef.TbaBotRowCount = score.Reef.CountCoralByLevelAndPeriod(game.Level2, true) breakdown.AutoReef.TbaMidRowCount = score.Reef.CountCoralByLevelAndPeriod(game.Level3, true) breakdown.AutoReef.TbaTopRowCount = score.Reef.CountCoralByLevelAndPeriod(game.Level4, true) breakdown.AutoReef.Trough = score.Reef.CountCoralByLevelAndPeriod(game.Level1, true) breakdown.AutoCoralCount = score.Reef.AutoCoralCount() breakdown.AutoCoralPoints = score.Reef.AutoCoralPoints() breakdown.AutoPoints = scoreSummary.AutoPoints breakdown.TeleopReef.BotRow = make(map[string]bool) breakdown.TeleopReef.MidRow = make(map[string]bool) breakdown.TeleopReef.TopRow = make(map[string]bool) for i := 0; i < 12; i++ { breakdown.TeleopReef.BotRow["node"+string(rune('A'+i))] = score.Reef.Branches[game.Level2][i] breakdown.TeleopReef.MidRow["node"+string(rune('A'+i))] = score.Reef.Branches[game.Level3][i] breakdown.TeleopReef.TopRow["node"+string(rune('A'+i))] = score.Reef.Branches[game.Level4][i] } breakdown.TeleopReef.TbaBotRowCount = breakdown.AutoReef.TbaBotRowCount + score.Reef.CountCoralByLevelAndPeriod(game.Level2, false) breakdown.TeleopReef.TbaMidRowCount = breakdown.AutoReef.TbaMidRowCount + score.Reef.CountCoralByLevelAndPeriod(game.Level3, false) breakdown.TeleopReef.TbaTopRowCount = breakdown.AutoReef.TbaTopRowCount + score.Reef.CountCoralByLevelAndPeriod(game.Level4, false) breakdown.TeleopReef.Trough = score.Reef.CountCoralByLevelAndPeriod(game.Level1, false) breakdown.TeleopCoralCount = score.Reef.TeleopCoralCount() teleopCoralPoints := score.Reef.TeleopCoralPoints() breakdown.TeleopCoralPoints = teleopCoralPoints breakdown.NetAlgaeCount = score.BargeAlgae breakdown.WallAlgaeCount = score.ProcessorAlgae breakdown.AlgaePoints = scoreSummary.AlgaePoints breakdown.EndGameRobot1 = endGameStatusMapping[score.EndgameStatuses[0]] breakdown.EndGameRobot2 = endGameStatusMapping[score.EndgameStatuses[1]] breakdown.EndGameRobot3 = endGameStatusMapping[score.EndgameStatuses[2]] breakdown.EndGameBargePoints = scoreSummary.BargePoints breakdown.TeleopPoints = teleopCoralPoints + scoreSummary.AlgaePoints + scoreSummary.BargePoints breakdown.CoopertitionCriteriaMet = scoreSummary.CoopertitionCriteriaMet breakdown.AutoBonusAchieved = scoreSummary.AutoBonusRankingPoint breakdown.CoralBonusAchieved = scoreSummary.CoralBonusRankingPoint breakdown.BargeBonusAchieved = scoreSummary.BargeBonusRankingPoint for _, foul := range score.Fouls { if foul.IsMajor { breakdown.TechFoulCount++ } else if foul.PointValue() > 0 { breakdown.FoulCount++ } if foul.Rule() != nil && foul.Rule().IsRankingPoint { switch foul.Rule().RuleNumber { case "G206": breakdown.G206Penalty = true case "G410": breakdown.G410Penalty = true case "G418": breakdown.G418Penalty = true case "G428": breakdown.G428Penalty = true } } } breakdown.FoulPoints = scoreSummary.FoulPoints breakdown.TotalPoints = scoreSummary.Score if match.ShouldUpdateRankings() { // Calculate and set the ranking points for the match. var ranking game.Ranking ranking.AddScoreSummary(scoreSummary, opponentScoreSummary, false) breakdown.RP = ranking.RankingPoints } // Turn the breakdown struct into a map in order to be able to remove any fields that are disabled based on the // event settings. breakdownMap := make(map[string]any) _ = mapstructure.Decode(breakdown, &breakdownMap) if !eventSettings.CoralBonusCoopEnabled { delete(breakdownMap, "coopertitionCriteriaMet") } return breakdownMap } ================================================ FILE: partner/tba_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package partner import ( "bytes" "encoding/json" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "io" "net/http" "net/http/httptest" "strings" "testing" "time" ) func TestPublishTeams(t *testing.T) { database := setupTestDb(t) database.CreateTeam(&model.Team{Id: 254}) database.CreateTeam(&model.Team{Id: 1114}) // Mock the TBA server. tbaServer := httptest.NewServer( http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { assert.Contains(t, r.URL.String(), "event/my_event_code") var reader bytes.Buffer reader.ReadFrom(r.Body) assert.Equal(t, "[\"frc254\",\"frc1114\"]", reader.String()) assert.Equal(t, "my_secret_id", r.Header["X-Tba-Auth-Id"][0]) assert.Equal(t, "f5c022fde6d1186ea0719fe28ab6cc63", r.Header["X-Tba-Auth-Sig"][0]) }, ), ) defer tbaServer.Close() client := NewTbaClient("my_event_code", "my_secret_id", "my_secret") client.BaseUrl = tbaServer.URL assert.Nil(t, client.PublishTeams(database)) } func TestPublishMatches(t *testing.T) { database := setupTestDb(t) match1 := model.Match{ Type: model.Qualification, ShortName: "Q2", Time: time.Unix(600, 0), Red1: 7, Red2: 8, Red3: 9, Blue1: 10, Blue2: 11, Blue3: 12, Status: game.RedWonMatch, TbaMatchKey: model.TbaMatchKey{"qm", 0, 2}, } match2 := model.Match{Type: model.Playoff, ShortName: "SF2-2", TbaMatchKey: model.TbaMatchKey{"omg", 5, 29}} database.CreateMatch(&match1) database.CreateMatch(&match2) matchResult1 := model.BuildTestMatchResult(match1.Id, 1) database.CreateMatchResult(matchResult1) // Mock the TBA server. tbaServer := httptest.NewServer( http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { body, _ := io.ReadAll(r.Body) var matches []*TbaMatch json.Unmarshal(body, &matches) assert.Equal(t, 2, len(matches)) assert.Equal(t, "qm", matches[0].CompLevel) assert.Equal(t, 0, matches[0].SetNumber) assert.Equal(t, 2, matches[0].MatchNumber) assert.Equal(t, "omg", matches[1].CompLevel) assert.Equal(t, 5, matches[1].SetNumber) assert.Equal(t, 29, matches[1].MatchNumber) }, ), ) defer tbaServer.Close() client := NewTbaClient("my_event_code", "my_secret_id", "my_secret") client.BaseUrl = tbaServer.URL assert.Nil(t, client.PublishMatches(database)) } func TestPublishRankings(t *testing.T) { database := setupTestDb(t) database.CreateRanking(game.TestRanking2()) database.CreateRanking(game.TestRanking1()) // Mock the TBA server. tbaServer := httptest.NewServer( http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { body, _ := io.ReadAll(r.Body) var response TbaRankings json.Unmarshal(body, &response) assert.Equal(t, 2, len(response.Rankings)) assert.Equal(t, "frc254", response.Rankings[0].TeamKey) assert.Equal(t, "frc1114", response.Rankings[1].TeamKey) }, ), ) defer tbaServer.Close() client := NewTbaClient("my_event_code", "my_secret_id", "my_secret") client.BaseUrl = tbaServer.URL assert.Nil(t, client.PublishRankings(database)) } func TestPublishAlliances(t *testing.T) { database := setupTestDb(t) model.BuildTestAlliances(database) // Mock the TBA server. tbaServer := httptest.NewServer( http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { var reader bytes.Buffer reader.ReadFrom(r.Body) if strings.Contains(r.URL.String(), "alliance_selections") { assert.Equal( t, "[[\"frc254\",\"frc469\",\"frc2848\",\"frc74\",\"frc3175\"],[\"frc1718\",\"frc2451\",\"frc1619\"]]", reader.String(), ) } else { assert.Equal(t, "{\"playoff_type\":10}", reader.String()) } }, ), ) defer tbaServer.Close() client := NewTbaClient("my_event_code", "my_secret_id", "my_secret") client.BaseUrl = tbaServer.URL assert.Nil(t, client.PublishAlliances(database)) } func TestPublishingErrors(t *testing.T) { database := setupTestDb(t) model.BuildTestAlliances(database) // Mock the TBA server. tbaServer := httptest.NewServer( http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { http.Error(w, "oh noes", 500) }, ), ) defer tbaServer.Close() client := NewTbaClient("my_event_code", "my_secret_id", "my_secret") client.BaseUrl = tbaServer.URL assert.NotNil(t, client.PublishTeams(database)) assert.NotNil(t, client.PublishMatches(database)) assert.NotNil(t, client.PublishRankings(database)) assert.NotNil(t, client.PublishAlliances(database)) } func TestPublishAwards(t *testing.T) { database := setupTestDb(t) database.CreateAward(&model.Award{0, model.JudgedAward, "Saftey Award", 254, ""}) database.CreateAward(&model.Award{0, model.JudgedAward, "Spirt Award", 0, "Bob Dorough"}) // Mock the TBA server. tbaServer := httptest.NewServer( http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { assert.Contains(t, r.URL.String(), "event/my_event_code") var reader bytes.Buffer reader.ReadFrom(r.Body) assert.Equal( t, "[{\"name_str\":\"Saftey Award\",\"team_key\":\"frc254\",\"awardee\":\"\"},"+ "{\"name_str\":\"Spirt Award\",\"team_key\":\"frc0\",\"awardee\":\"Bob Dorough\"}]", reader.String(), ) }, ), ) defer tbaServer.Close() client := NewTbaClient("my_event_code", "my_secret_id", "my_secret") client.BaseUrl = tbaServer.URL assert.Nil(t, client.PublishAwards(database)) } func setupTestDb(t *testing.T) *model.Database { return model.SetupTestDb(t) } ================================================ FILE: playoff/alliance_source.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Represents how the alliance is determined to fill a given spot at a given stage in a playoff tournament. package playoff import "fmt" type allianceSource interface { // AllianceId returns the alliance number that will fill this spot, or zero if it is not yet determined. AllianceId() int // displayName returns a human-readable name for the source of this alliance. displayName() string // setDestination passes back the match group filled by this alliance source to the source. setDestination(destination MatchGroup) // update updates the state of each match group based on the results of the given played matches. update(playoffMatchResults map[int]playoffMatchResult) // traverse performs a depth-first traversal of the playoff graph and invokes the given function before visiting // each match group's children. traverse(visitFunction func(MatchGroup) error) error } // Represents a playoff spot that is filled directly from the alliance selection. type allianceSelectionSource struct { allianceId int } func (source allianceSelectionSource) AllianceId() int { return source.allianceId } func (source allianceSelectionSource) displayName() string { return fmt.Sprintf("A %d", source.allianceId) } func (source allianceSelectionSource) setDestination(destination MatchGroup) { // Do nothing as there are no child match groups. } func (source allianceSelectionSource) update(playoffMatchResults map[int]playoffMatchResult) { // Do nothing as there are no child match groups. } func (source allianceSelectionSource) traverse(visitFunction func(MatchGroup) error) error { // Do nothing as there are no child match groups. return nil } // Represents a playoff spot that is filled by the winner or loser of a given earlier matchup. type matchupSource struct { matchup *Matchup useWinner bool } func (source matchupSource) AllianceId() int { if source.useWinner { return source.matchup.WinningAllianceId() } else { return source.matchup.LosingAllianceId() } } func (source matchupSource) displayName() string { if source.useWinner { return "W " + source.matchup.Id() } return "L " + source.matchup.Id() } func (source matchupSource) setDestination(destination MatchGroup) { if source.useWinner { source.matchup.winningAllianceDestination = destination } else { source.matchup.losingAllianceDestination = destination } // Recurse down through the playoff tournament tree. source.matchup.setSourceDestinations() } func (source matchupSource) update(playoffMatchResults map[int]playoffMatchResult) { // Only update if this source is for the winner, to avoid visiting the same match group more than once. if source.useWinner { source.matchup.update(playoffMatchResults) } } func (source matchupSource) traverse(visitFunction func(MatchGroup) error) error { // Only traverse if this source is for the winner, to avoid visiting the same match group more than once. if source.useWinner { return source.matchup.traverse(visitFunction) } return nil } ================================================ FILE: playoff/break_spec.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Represents a scheduled break in the playoff match schedule. package playoff type breakSpec struct { orderBefore int durationSec int description string } ================================================ FILE: playoff/double_elimination.go ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Defines the tournament structure for a double-elimination bracket culminating in a best-of-three final. package playoff import ( "fmt" "github.com/Team254/cheesy-arena/model" ) // Creates a double-elimination bracket and returns the root matchup comprising the tournament finals along with // scheduled breaks. Only supports having exactly eight alliances. func newDoubleEliminationBracket(numAlliances int) (*Matchup, []breakSpec, error) { if numAlliances != 8 { return nil, nil, fmt.Errorf("double-elimination bracket must have exactly 8 alliances") } // Define Round 1 matches. m1 := Matchup{ id: "M1", NumWinsToAdvance: 1, redAllianceSource: allianceSelectionSource{1}, blueAllianceSource: allianceSelectionSource{8}, matchSpecs: newDoubleEliminationMatch(1, "Round 1 Upper", 540), } m2 := Matchup{ id: "M2", NumWinsToAdvance: 1, redAllianceSource: allianceSelectionSource{4}, blueAllianceSource: allianceSelectionSource{5}, matchSpecs: newDoubleEliminationMatch(2, "Round 1 Upper", 540), } m3 := Matchup{ id: "M3", NumWinsToAdvance: 1, redAllianceSource: allianceSelectionSource{2}, blueAllianceSource: allianceSelectionSource{7}, matchSpecs: newDoubleEliminationMatch(3, "Round 1 Upper", 540), } m4 := Matchup{ id: "M4", NumWinsToAdvance: 1, redAllianceSource: allianceSelectionSource{3}, blueAllianceSource: allianceSelectionSource{6}, matchSpecs: newDoubleEliminationMatch(4, "Round 1 Upper", 540), } // Define Round 2 matches. m5 := Matchup{ id: "M5", NumWinsToAdvance: 1, redAllianceSource: matchupSource{matchup: &m1, useWinner: false}, blueAllianceSource: matchupSource{matchup: &m2, useWinner: false}, matchSpecs: newDoubleEliminationMatch(5, "Round 2 Lower", 540), } m6 := Matchup{ id: "M6", NumWinsToAdvance: 1, redAllianceSource: matchupSource{matchup: &m3, useWinner: false}, blueAllianceSource: matchupSource{matchup: &m4, useWinner: false}, matchSpecs: newDoubleEliminationMatch(6, "Round 2 Lower", 540), } m7 := Matchup{ id: "M7", NumWinsToAdvance: 1, redAllianceSource: matchupSource{matchup: &m1, useWinner: true}, blueAllianceSource: matchupSource{matchup: &m2, useWinner: true}, matchSpecs: newDoubleEliminationMatch(7, "Round 2 Upper", 540), } m8 := Matchup{ id: "M8", NumWinsToAdvance: 1, redAllianceSource: matchupSource{matchup: &m3, useWinner: true}, blueAllianceSource: matchupSource{matchup: &m4, useWinner: true}, matchSpecs: newDoubleEliminationMatch(8, "Round 2 Upper", 300), } // Define Round 3 matches. m9 := Matchup{ id: "M9", NumWinsToAdvance: 1, redAllianceSource: matchupSource{matchup: &m7, useWinner: false}, blueAllianceSource: matchupSource{matchup: &m6, useWinner: true}, matchSpecs: newDoubleEliminationMatch(9, "Round 3 Lower", 540), } m10 := Matchup{ id: "M10", NumWinsToAdvance: 1, redAllianceSource: matchupSource{matchup: &m8, useWinner: false}, blueAllianceSource: matchupSource{matchup: &m5, useWinner: true}, matchSpecs: newDoubleEliminationMatch(10, "Round 3 Lower", 300), } // Define Round 4 matches. m11 := Matchup{ id: "M11", NumWinsToAdvance: 1, redAllianceSource: matchupSource{matchup: &m7, useWinner: true}, blueAllianceSource: matchupSource{matchup: &m8, useWinner: true}, matchSpecs: newDoubleEliminationMatch(11, "Round 4 Upper", 540), } m12 := Matchup{ id: "M12", NumWinsToAdvance: 1, redAllianceSource: matchupSource{matchup: &m10, useWinner: true}, blueAllianceSource: matchupSource{matchup: &m9, useWinner: true}, matchSpecs: newDoubleEliminationMatch(12, "Round 4 Lower", 300), } // Define Round 5 matches. m13 := Matchup{ id: "M13", NumWinsToAdvance: 1, redAllianceSource: matchupSource{matchup: &m11, useWinner: false}, blueAllianceSource: matchupSource{matchup: &m12, useWinner: true}, matchSpecs: newDoubleEliminationMatch(13, "Round 5 Lower", 300), } // Define final matches. final := Matchup{ id: "F", NumWinsToAdvance: 2, redAllianceSource: matchupSource{matchup: &m11, useWinner: true}, blueAllianceSource: matchupSource{matchup: &m13, useWinner: true}, matchSpecs: newFinalMatches(14), } // Define scheduled breaks. breakSpecs := []breakSpec{ {9, 360, "Field Break"}, {11, 360, "Field Break"}, {13, 900, "Awards Break"}, {14, 900, "Awards Break"}, {15, 900, "Awards Break"}, {16, 900, "Awards Break"}, } return &final, breakSpecs, nil } // Helper method to create the matches for a given pre-final double-elimination matchup. func newDoubleEliminationMatch(number int, nameDetail string, durationSec int) []*matchSpec { return []*matchSpec{ { longName: fmt.Sprintf("Match %d", number), shortName: fmt.Sprintf("M%d", number), nameDetail: nameDetail, order: number, durationSec: durationSec, useTiebreakCriteria: true, tbaMatchKey: model.TbaMatchKey{"sf", number, 1}, }, } } ================================================ FILE: playoff/double_elimination_test.go ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package playoff import ( "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "testing" ) func TestDoubleEliminationInitial(t *testing.T) { finalMatchup, _, err := newDoubleEliminationBracket(8) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) if assert.Equal(t, 19, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs, []expectedMatchSpec{ {"Match 1", "M1", "Round 1 Upper", 1, "M1", true, false, "sf", 1, 1}, {"Match 2", "M2", "Round 1 Upper", 2, "M2", true, false, "sf", 2, 1}, {"Match 3", "M3", "Round 1 Upper", 3, "M3", true, false, "sf", 3, 1}, {"Match 4", "M4", "Round 1 Upper", 4, "M4", true, false, "sf", 4, 1}, {"Match 5", "M5", "Round 2 Lower", 5, "M5", true, false, "sf", 5, 1}, {"Match 6", "M6", "Round 2 Lower", 6, "M6", true, false, "sf", 6, 1}, {"Match 7", "M7", "Round 2 Upper", 7, "M7", true, false, "sf", 7, 1}, {"Match 8", "M8", "Round 2 Upper", 8, "M8", true, false, "sf", 8, 1}, {"Match 9", "M9", "Round 3 Lower", 9, "M9", true, false, "sf", 9, 1}, {"Match 10", "M10", "Round 3 Lower", 10, "M10", true, false, "sf", 10, 1}, {"Match 11", "M11", "Round 4 Upper", 11, "M11", true, false, "sf", 11, 1}, {"Match 12", "M12", "Round 4 Lower", 12, "M12", true, false, "sf", 12, 1}, {"Match 13", "M13", "Round 5 Lower", 13, "M13", true, false, "sf", 13, 1}, {"Final 1", "F1", "", 14, "F", false, false, "f", 1, 1}, {"Final 2", "F2", "", 15, "F", false, false, "f", 1, 2}, {"Final 3", "F3", "", 16, "F", false, false, "f", 1, 3}, {"Overtime 1", "O1", "", 17, "F", true, true, "f", 1, 4}, {"Overtime 2", "O2", "", 18, "F", true, true, "f", 1, 5}, {"Overtime 3", "O3", "", 19, "F", true, true, "f", 1, 6}, }, ) } finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:4], []expectedAlliances{ {1, 8}, {4, 5}, {2, 7}, {3, 6}, }, ) for i := 4; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups( t, matchGroups, "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12", "M13", "F", ) } func TestDoubleEliminationErrors(t *testing.T) { _, _, err := newDoubleEliminationBracket(7) if assert.NotNil(t, err) { assert.Equal(t, "double-elimination bracket must have exactly 8 alliances", err.Error()) } _, _, err = newDoubleEliminationBracket(9) if assert.NotNil(t, err) { assert.Equal(t, "double-elimination bracket must have exactly 8 alliances", err.Error()) } } func TestDoubleEliminationProgression(t *testing.T) { playoffTournament, err := NewPlayoffTournament(model.DoubleEliminationPlayoff, 8) assert.Nil(t, err) finalMatchup := playoffTournament.FinalMatchup() matchSpecs := playoffTournament.matchSpecs matchGroups := playoffTournament.MatchGroups() playoffMatchResults := map[int]playoffMatchResult{} assertMatchupOutcome(t, matchGroups["M1"], "", "") playoffMatchResults[1] = playoffMatchResult{game.RedWonMatch} finalMatchup.update(playoffMatchResults) assertMatchSpecAlliances(t, matchSpecs[4:7], []expectedAlliances{{8, 0}, {0, 0}, {1, 0}}) for i := 7; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } assertMatchupOutcome( t, matchGroups["M1"], "Advances to Match 7 – Round 2 Upper", "Advances to Match 5 – Round 2 Lower", ) // Reverse a previous outcome. playoffMatchResults[1] = playoffMatchResult{game.BlueWonMatch} finalMatchup.update(playoffMatchResults) assertMatchSpecAlliances(t, matchSpecs[4:7], []expectedAlliances{{1, 0}, {0, 0}, {8, 0}}) for i := 7; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } assertMatchupOutcome( t, matchGroups["M1"], "Advances to Match 5 – Round 2 Lower", "Advances to Match 7 – Round 2 Upper", ) playoffMatchResults[2] = playoffMatchResult{game.RedWonMatch} finalMatchup.update(playoffMatchResults) assertMatchSpecAlliances(t, matchSpecs[4:7], []expectedAlliances{{1, 5}, {0, 0}, {8, 4}}) for i := 7; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } assertMatchupOutcome( t, matchGroups["M2"], "Advances to Match 7 – Round 2 Upper", "Advances to Match 5 – Round 2 Lower", ) playoffMatchResults[3] = playoffMatchResult{game.BlueWonMatch} finalMatchup.update(playoffMatchResults) assertMatchSpecAlliances(t, matchSpecs[5:8], []expectedAlliances{{2, 0}, {8, 4}, {7, 0}}) for i := 8; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } assertMatchupOutcome( t, matchGroups["M3"], "Advances to Match 6 – Round 2 Lower", "Advances to Match 8 – Round 2 Upper", ) playoffMatchResults[4] = playoffMatchResult{game.RedWonMatch} finalMatchup.update(playoffMatchResults) assertMatchSpecAlliances(t, matchSpecs[5:8], []expectedAlliances{{2, 6}, {8, 4}, {7, 3}}) for i := 8; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } playoffMatchResults[5] = playoffMatchResult{game.BlueWonMatch} finalMatchup.update(playoffMatchResults) assertMatchSpecAlliances(t, matchSpecs[8:10], []expectedAlliances{{0, 0}, {0, 5}}) for i := 10; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } assertMatchupOutcome(t, matchGroups["M5"], "Eliminated", "Advances to Match 10 – Round 3 Lower") playoffMatchResults[6] = playoffMatchResult{game.RedWonMatch} finalMatchup.update(playoffMatchResults) assertMatchSpecAlliances(t, matchSpecs[8:10], []expectedAlliances{{0, 2}, {0, 5}}) for i := 10; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } // Score a perfect tie; no alliance should advance until the match is replayed. playoffMatchResults[7] = playoffMatchResult{game.TieMatch} finalMatchup.update(playoffMatchResults) assertMatchSpecAlliances(t, matchSpecs[8:10], []expectedAlliances{{0, 2}, {0, 5}}) for i := 10; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } playoffMatchResults[7] = playoffMatchResult{game.BlueWonMatch} finalMatchup.update(playoffMatchResults) assertMatchSpecAlliances(t, matchSpecs[8:11], []expectedAlliances{{8, 2}, {0, 5}, {4, 0}}) for i := 11; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } playoffMatchResults[8] = playoffMatchResult{game.BlueWonMatch} finalMatchup.update(playoffMatchResults) assertMatchSpecAlliances(t, matchSpecs[8:11], []expectedAlliances{{8, 2}, {7, 5}, {4, 3}}) for i := 11; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } // Score two matches at the same time. playoffMatchResults[9] = playoffMatchResult{game.RedWonMatch} playoffMatchResults[10] = playoffMatchResult{game.RedWonMatch} finalMatchup.update(playoffMatchResults) assertMatchSpecAlliances(t, matchSpecs[11:12], []expectedAlliances{{7, 8}}) for i := 12; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } playoffMatchResults[11] = playoffMatchResult{game.RedWonMatch} finalMatchup.update(playoffMatchResults) assertMatchSpecAlliances(t, matchSpecs[12:13], []expectedAlliances{{3, 0}}) finalMatchup.update(playoffMatchResults) for i := 13; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{4, 0}}) } assertMatchupOutcome( t, matchGroups["M11"], "Advances to Final 1", "Advances to Match 13 – Round 5 Lower", ) playoffMatchResults[12] = playoffMatchResult{game.RedWonMatch} finalMatchup.update(playoffMatchResults) assertMatchSpecAlliances(t, matchSpecs[12:13], []expectedAlliances{{3, 7}}) for i := 13; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{4, 0}}) } playoffMatchResults[13] = playoffMatchResult{game.RedWonMatch} finalMatchup.update(playoffMatchResults) for i := 13; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{4, 3}}) } assertMatchupOutcome(t, matchGroups["M13"], "Advances to Final 1", "Eliminated") // Unscore the previous match. delete(playoffMatchResults, 13) finalMatchup.update(playoffMatchResults) assertMatchSpecAlliances(t, matchSpecs[12:13], []expectedAlliances{{3, 7}}) for i := 13; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{4, 0}}) } assertMatchupOutcome(t, matchGroups["M13"], "", "") playoffMatchResults[13] = playoffMatchResult{game.BlueWonMatch} finalMatchup.update(playoffMatchResults) for i := 13; i < 19; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{4, 7}}) } assertMatchupOutcome(t, matchGroups["M13"], "Eliminated", "Advances to Final 1") playoffMatchResults[14] = playoffMatchResult{game.BlueWonMatch} finalMatchup.update(playoffMatchResults) assert.False(t, finalMatchup.IsComplete()) assert.Equal(t, 0, finalMatchup.WinningAllianceId()) assert.Equal(t, 0, finalMatchup.LosingAllianceId()) assertMatchupOutcome(t, matchGroups["F"], "", "") playoffMatchResults[15] = playoffMatchResult{game.RedWonMatch} finalMatchup.update(playoffMatchResults) assert.False(t, finalMatchup.IsComplete()) assert.Equal(t, 0, finalMatchup.WinningAllianceId()) assert.Equal(t, 0, finalMatchup.LosingAllianceId()) assertMatchupOutcome(t, matchGroups["F"], "", "") playoffMatchResults[16] = playoffMatchResult{game.TieMatch} finalMatchup.update(playoffMatchResults) assert.False(t, finalMatchup.IsComplete()) assert.Equal(t, 0, finalMatchup.WinningAllianceId()) assert.Equal(t, 0, finalMatchup.LosingAllianceId()) assertMatchupOutcome(t, matchGroups["F"], "", "") playoffMatchResults[17] = playoffMatchResult{game.TieMatch} finalMatchup.update(playoffMatchResults) assert.False(t, finalMatchup.IsComplete()) assert.Equal(t, 0, finalMatchup.WinningAllianceId()) assert.Equal(t, 0, finalMatchup.LosingAllianceId()) assertMatchupOutcome(t, matchGroups["F"], "", "") playoffMatchResults[18] = playoffMatchResult{game.BlueWonMatch} finalMatchup.update(playoffMatchResults) assert.True(t, finalMatchup.IsComplete()) assert.Equal(t, 7, finalMatchup.WinningAllianceId()) assert.Equal(t, 4, finalMatchup.LosingAllianceId()) assertMatchupOutcome(t, matchGroups["F"], "Tournament Finalist", "Tournament Winner") } ================================================ FILE: playoff/match_group.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Interface representing a stage of a playoff tournament containing one or more related matches. package playoff import ( "fmt" "github.com/Team254/cheesy-arena/model" "sort" ) type MatchGroup interface { // Id returns the unique identifier for the match group. Id() string // MatchSpecs returns the list of match specifications that define the matches in the match group. MatchSpecs() []*matchSpec // update updates the state of each match group based on the results of the given played matches. update(playoffMatchResults map[int]playoffMatchResult) // traverse performs a depth-first traversal of the playoff graph and invokes the given function after visiting each // match group's children. traverse(visitFunction func(MatchGroup) error) error } type matchSpec struct { longName string shortName string nameDetail string matchGroupId string order int durationSec int useTiebreakCriteria bool isHidden bool tbaMatchKey model.TbaMatchKey redAllianceId int blueAllianceId int } // collectMatchGroups returns a map of all match groups including and below the given root match group, keyed by ID. func collectMatchGroups(rootMatchGroup MatchGroup) (map[string]MatchGroup, error) { matchGroups := make(map[string]MatchGroup) err := rootMatchGroup.traverse( func(matchGroup MatchGroup) error { if _, ok := matchGroups[matchGroup.Id()]; ok { return fmt.Errorf("match group with ID %q defined more than once", matchGroup.Id()) } matchGroups[matchGroup.Id()] = matchGroup return nil }, ) return matchGroups, err } // collectMatches returns a slice of all matches including and below the given root match group, in order of play. func collectMatchSpecs(rootMatchGroup MatchGroup) ([]*matchSpec, error) { uniqueLongNames := make(map[string]struct{}) uniqueShortNames := make(map[string]struct{}) uniqueOrders := make(map[int]struct{}) uniqueTbaKeys := make(map[model.TbaMatchKey]struct{}) var matches []*matchSpec err := rootMatchGroup.traverse( func(matchGroup MatchGroup) error { for _, match := range matchGroup.MatchSpecs() { if _, ok := uniqueLongNames[match.longName]; ok { return fmt.Errorf("match with long name %q defined more than once", match.longName) } if _, ok := uniqueShortNames[match.shortName]; ok { return fmt.Errorf("match with short name %q defined more than once", match.shortName) } if _, ok := uniqueOrders[match.order]; ok { return fmt.Errorf("match with order %d defined more than once", match.order) } if _, ok := uniqueTbaKeys[match.tbaMatchKey]; ok { return fmt.Errorf("match with TBA key %q defined more than once", match.tbaMatchKey) } match.matchGroupId = matchGroup.Id() matches = append(matches, match) uniqueLongNames[match.longName] = struct{}{} uniqueShortNames[match.shortName] = struct{}{} uniqueOrders[match.order] = struct{}{} uniqueTbaKeys[match.tbaMatchKey] = struct{}{} } return nil }, ) if err != nil { return nil, err } sort.Slice( matches, func(i, j int) bool { return matches[i].order < matches[j].order }, ) return matches, nil } ================================================ FILE: playoff/match_group_test.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package playoff import ( "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "testing" ) func TestCollectMatchGroupsErrors(t *testing.T) { // Duplicate match group ID. matchGroup1 := Matchup{ id: "M1", NumWinsToAdvance: 1, redAllianceSource: allianceSelectionSource{2}, blueAllianceSource: allianceSelectionSource{3}, matchSpecs: newDoubleEliminationMatch(1, "", 300), } matchGroup2 := Matchup{ id: "M1", NumWinsToAdvance: 1, redAllianceSource: allianceSelectionSource{1}, blueAllianceSource: matchupSource{&matchGroup1, true}, matchSpecs: newDoubleEliminationMatch(2, "", 300), } _, err := collectMatchGroups(&matchGroup2) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "ID \"M1\" defined more than once") } } func TestCollectMatchSpecsErrors(t *testing.T) { match1 := matchSpec{ longName: "Final 1", shortName: "F1", order: 1, tbaMatchKey: model.TbaMatchKey{"f", 1, 1}, } match2 := matchSpec{ longName: "Final 2", shortName: "F2", order: 2, tbaMatchKey: model.TbaMatchKey{"f", 1, 2}, } match3 := matchSpec{ longName: "Final 3", shortName: "F3", order: 3, tbaMatchKey: model.TbaMatchKey{"f", 1, 3}, } // No errors to start. matchGroup1 := Matchup{ id: "F", NumWinsToAdvance: 2, redAllianceSource: allianceSelectionSource{1}, blueAllianceSource: allianceSelectionSource{2}, matchSpecs: []*matchSpec{&match3, &match2, &match1}, } matchSpecs, err := collectMatchSpecs(&matchGroup1) assert.Nil(t, err) assert.Equal(t, []*matchSpec{&match1, &match2, &match3}, matchSpecs) // Duplicate long name. match3.longName = "Final 1" _, err = collectMatchSpecs(&matchGroup1) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "long name \"Final 1\" defined more than once") } // Duplicate short name. match3.longName = "Final 3" match3.shortName = "F1" _, err = collectMatchSpecs(&matchGroup1) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "short name \"F1\" defined more than once") } // Duplicate order. match3.shortName = "F3" match3.order = 1 _, err = collectMatchSpecs(&matchGroup1) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "order 1 defined more than once") } // Duplicate TBA match key. match3.order = 3 match3.tbaMatchKey = model.TbaMatchKey{"f", 1, 1} _, err = collectMatchSpecs(&matchGroup1) if assert.NotNil(t, err) { assert.Regexp(t, "TBA key .* defined more than once", err.Error()) } } ================================================ FILE: playoff/matchup.go ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Models and logic encapsulating a group of one or more matches between the same two alliances at a given point in a // playoff tournament. package playoff import ( "fmt" "github.com/Team254/cheesy-arena/game" "math" ) type Matchup struct { id string NumWinsToAdvance int redAllianceSource allianceSource blueAllianceSource allianceSource matchSpecs []*matchSpec RedAllianceId int BlueAllianceId int RedAllianceWins int BlueAllianceWins int NumMatchesPlayed int winningAllianceDestination MatchGroup losingAllianceDestination MatchGroup } func (matchup *Matchup) Id() string { return matchup.id } func (matchup *Matchup) MatchSpecs() []*matchSpec { return matchup.matchSpecs } func (matchup *Matchup) update(playoffMatchResults map[int]playoffMatchResult) { // Update child matchups first. matchup.redAllianceSource.update(playoffMatchResults) matchup.blueAllianceSource.update(playoffMatchResults) // Populate the alliance IDs from the lower matchups (or with a zero value if they are not yet complete). matchup.RedAllianceId = matchup.redAllianceSource.AllianceId() matchup.BlueAllianceId = matchup.blueAllianceSource.AllianceId() for _, match := range matchup.matchSpecs { match.redAllianceId = matchup.RedAllianceId match.blueAllianceId = matchup.BlueAllianceId } matchup.RedAllianceWins = 0 matchup.BlueAllianceWins = 0 matchup.NumMatchesPlayed = 0 var unplayedMatches []*matchSpec for _, match := range matchup.matchSpecs { if matchResult, ok := playoffMatchResults[match.order]; ok { switch matchResult.status { case game.RedWonMatch: matchup.RedAllianceWins++ matchup.NumMatchesPlayed++ case game.BlueWonMatch: matchup.BlueAllianceWins++ matchup.NumMatchesPlayed++ case game.TieMatch: matchup.NumMatchesPlayed++ } } else { unplayedMatches = append(unplayedMatches, match) } } numMatchesToSchedule := int( math.Min( float64(matchup.NumWinsToAdvance-matchup.RedAllianceWins), float64(matchup.NumWinsToAdvance-matchup.BlueAllianceWins), ), ) for _, match := range unplayedMatches { if numMatchesToSchedule > 0 { match.isHidden = false numMatchesToSchedule-- } else if matchup.IsComplete() { match.isHidden = true } } } // setSourceDestinations recursively sets the destination of the alliance sources to this matchup. func (matchup *Matchup) setSourceDestinations() { matchup.redAllianceSource.setDestination(matchup) matchup.blueAllianceSource.setDestination(matchup) } func (matchup *Matchup) traverse(visitFunction func(MatchGroup) error) error { if err := visitFunction(matchup); err != nil { return err } if err := matchup.redAllianceSource.traverse(visitFunction); err != nil { return err } if err := matchup.blueAllianceSource.traverse(visitFunction); err != nil { return err } return nil } // RedAllianceSourceDisplayName returns the display name for the linked matchup from which the red alliance is // populated. func (matchup *Matchup) RedAllianceSourceDisplayName() string { return matchup.redAllianceSource.displayName() } // BlueAllianceSourceDisplayName returns the display name for the linked matchup from which the blue alliance is // populated. func (matchup *Matchup) BlueAllianceSourceDisplayName() string { return matchup.blueAllianceSource.displayName() } // RedAllianceDestination returns a string representing the red alliance's next destination in the tournament. func (matchup *Matchup) RedAllianceDestination() string { return matchup.allianceDestination(matchup.RedAllianceId) } // BlueAllianceDestination returns a string representing the blue alliance's next destination in the tournament. func (matchup *Matchup) BlueAllianceDestination() string { return matchup.allianceDestination(matchup.BlueAllianceId) } // StatusText returns a pair of strings indicating the leading alliance and a readable status of the matchup. func (matchup *Matchup) StatusText() (string, string) { var leader, status string winText := "Advances" if matchup.isFinal() { winText = "Wins" } if matchup.RedAllianceWins >= matchup.NumWinsToAdvance { leader = "red" status = fmt.Sprintf("Red %s %d-%d", winText, matchup.RedAllianceWins, matchup.BlueAllianceWins) } else if matchup.BlueAllianceWins >= matchup.NumWinsToAdvance { leader = "blue" status = fmt.Sprintf("Blue %s %d-%d", winText, matchup.BlueAllianceWins, matchup.RedAllianceWins) } else if matchup.RedAllianceWins > matchup.BlueAllianceWins { leader = "red" status = fmt.Sprintf("Red Leads %d-%d", matchup.RedAllianceWins, matchup.BlueAllianceWins) } else if matchup.BlueAllianceWins > matchup.RedAllianceWins { leader = "blue" status = fmt.Sprintf("Blue Leads %d-%d", matchup.BlueAllianceWins, matchup.RedAllianceWins) } else if matchup.RedAllianceWins > 0 { status = fmt.Sprintf("Series Tied %d-%d", matchup.RedAllianceWins, matchup.BlueAllianceWins) } return leader, status } // WinningAllianceId returns the winning alliance ID of the matchup, or 0 if it is not yet known. func (matchup *Matchup) WinningAllianceId() int { if matchup.RedAllianceWins >= matchup.NumWinsToAdvance { return matchup.RedAllianceId } if matchup.BlueAllianceWins >= matchup.NumWinsToAdvance { return matchup.BlueAllianceId } return 0 } // LosingAllianceId returns the losing alliance ID of the matchup, or 0 if it is not yet known. func (matchup *Matchup) LosingAllianceId() int { if matchup.RedAllianceWins >= matchup.NumWinsToAdvance { return matchup.BlueAllianceId } if matchup.BlueAllianceWins >= matchup.NumWinsToAdvance { return matchup.RedAllianceId } return 0 } // IsComplete returns true if the matchup has been won, and false if it is still to be determined. func (matchup *Matchup) IsComplete() bool { return matchup.WinningAllianceId() > 0 } // IsLosingAllianceEliminated returns true if the losing alliance is eliminated from the tournament. func (matchup *Matchup) IsLosingAllianceEliminated() bool { return matchup.losingAllianceDestination == nil } // isFinal returns true if the matchup represents the final matchup in the playoff tournament. func (matchup *Matchup) isFinal() bool { return matchup.id == "F" } // allianceDestination returns a string representing the given alliance's next destination in the tournament. func (matchup *Matchup) allianceDestination(allianceId int) string { if !matchup.IsComplete() { return "" } if matchup.isFinal() { if matchup.WinningAllianceId() == allianceId { return "Tournament Winner" } else { return "Tournament Finalist" } } if matchup.WinningAllianceId() == allianceId { return fmt.Sprintf("Advances to %s", formatDestinationMatchName(matchup.winningAllianceDestination)) } else { if matchup.losingAllianceDestination == nil { return "Eliminated" } return fmt.Sprintf("Advances to %s", formatDestinationMatchName(matchup.losingAllianceDestination)) } } // Returns a string representation of the first match from the given matchup. func formatDestinationMatchName(destination MatchGroup) string { if destination == nil || len(destination.MatchSpecs()) == 0 { return "" } destinationMatch := destination.MatchSpecs()[0] destinationMatchName := destinationMatch.longName if destinationMatch.nameDetail != "" { destinationMatchName += " – " + destinationMatch.nameDetail } return destinationMatchName } ================================================ FILE: playoff/matchup_test.go ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package playoff import ( "github.com/Team254/cheesy-arena/game" "github.com/stretchr/testify/assert" "testing" ) func TestMatchupAllianceSourceDisplayNames(t *testing.T) { // Test double-elimination. matchup, _, err := newDoubleEliminationBracket(8) assert.Nil(t, err) assert.Equal(t, "W M11", matchup.RedAllianceSourceDisplayName()) assert.Equal(t, "W M13", matchup.BlueAllianceSourceDisplayName()) matchGroups, err := collectMatchGroups(matchup) assert.Nil(t, err) match13 := matchGroups["M13"].(*Matchup) assert.Equal(t, "L M11", match13.RedAllianceSourceDisplayName()) assert.Equal(t, "W M12", match13.BlueAllianceSourceDisplayName()) // Test single-elimination. matchup, _, err = newSingleEliminationBracket(5) assert.Nil(t, err) assert.Equal(t, "W SF1", matchup.RedAllianceSourceDisplayName()) assert.Equal(t, "W SF2", matchup.BlueAllianceSourceDisplayName()) matchGroups, err = collectMatchGroups(matchup) assert.Nil(t, err) sf1 := matchGroups["SF1"].(*Matchup) assert.Nil(t, err) assert.Equal(t, "A 1", sf1.RedAllianceSourceDisplayName()) assert.Equal(t, "W QF2", sf1.BlueAllianceSourceDisplayName()) } func TestMatchupStatusText(t *testing.T) { matchup := Matchup{NumWinsToAdvance: 1} leader, status := matchup.StatusText() assert.Equal(t, "", leader) assert.Equal(t, "", status) matchup.RedAllianceWins = 1 leader, status = matchup.StatusText() assert.Equal(t, "red", leader) assert.Equal(t, "Red Advances 1-0", status) matchup.RedAllianceWins = 0 matchup.BlueAllianceWins = 2 leader, status = matchup.StatusText() assert.Equal(t, "blue", leader) assert.Equal(t, "Blue Advances 2-0", status) matchup.NumWinsToAdvance = 3 matchup.BlueAllianceWins = 2 leader, status = matchup.StatusText() assert.Equal(t, "blue", leader) assert.Equal(t, "Blue Leads 2-0", status) matchup.RedAllianceWins = 2 leader, status = matchup.StatusText() assert.Equal(t, "", leader) assert.Equal(t, "Series Tied 2-2", status) matchup.BlueAllianceWins = 1 leader, status = matchup.StatusText() assert.Equal(t, "red", leader) assert.Equal(t, "Red Leads 2-1", status) matchup.id = "F" matchup.RedAllianceWins = 3 leader, status = matchup.StatusText() assert.Equal(t, "red", leader) assert.Equal(t, "Red Wins 3-1", status) matchup.RedAllianceWins = 2 matchup.BlueAllianceWins = 4 leader, status = matchup.StatusText() assert.Equal(t, "blue", leader) assert.Equal(t, "Blue Wins 4-2", status) matchup.RedAllianceWins = 0 matchup.BlueAllianceWins = 0 leader, status = matchup.StatusText() assert.Equal(t, "", leader) assert.Equal(t, "", status) } func TestMatchupHideUnnecessaryMatches(t *testing.T) { qf1 := Matchup{ id: "QF1", NumWinsToAdvance: 2, redAllianceSource: allianceSelectionSource{1}, blueAllianceSource: allianceSelectionSource{8}, matchSpecs: []*matchSpec{ newSingleEliminationMatch("Quarterfinal", "QF", 1, 1, 1), newSingleEliminationMatch("Quarterfinal", "QF", 1, 2, 5), newSingleEliminationMatch("Quarterfinal", "QF", 1, 3, 9), }, } matchSpecs, err := collectMatchSpecs(&qf1) assert.Nil(t, err) for _, matchSpec := range matchSpecs { assert.False(t, matchSpec.isHidden) } playoffMatchResults := map[int]playoffMatchResult{1: {game.BlueWonMatch}} qf1.update(playoffMatchResults) for _, matchSpec := range matchSpecs { assert.False(t, matchSpec.isHidden) } // Check that the third match is hidden if the first two are won by the same alliance. playoffMatchResults[5] = playoffMatchResult{game.BlueWonMatch} qf1.update(playoffMatchResults) assert.False(t, matchSpecs[0].isHidden) assert.False(t, matchSpecs[1].isHidden) assert.True(t, matchSpecs[2].isHidden) // Check that the third match is unhidden if the prior outcome is reversed. playoffMatchResults[5] = playoffMatchResult{game.RedWonMatch} qf1.update(playoffMatchResults) for _, matchSpec := range matchSpecs { assert.False(t, matchSpec.isHidden) } } func TestMatchupOvertime(t *testing.T) { final := Matchup{ id: "F", NumWinsToAdvance: 2, redAllianceSource: allianceSelectionSource{1}, blueAllianceSource: allianceSelectionSource{8}, matchSpecs: newFinalMatches(1), } matchSpecs, err := collectMatchSpecs(&final) assert.Nil(t, err) for i := 0; i < 3; i++ { assert.False(t, matchSpecs[i].isHidden) } for i := 3; i < 6; i++ { assert.True(t, matchSpecs[i].isHidden) } playoffMatchResults := map[int]playoffMatchResult{1: {game.RedWonMatch}, 2: {game.TieMatch}} final.update(playoffMatchResults) for i := 0; i < 3; i++ { assert.False(t, matchSpecs[i].isHidden) } for i := 3; i < 6; i++ { assert.True(t, matchSpecs[i].isHidden) } playoffMatchResults[3] = playoffMatchResult{game.BlueWonMatch} final.update(playoffMatchResults) for i := 0; i < 4; i++ { assert.False(t, matchSpecs[i].isHidden) } for i := 4; i < 6; i++ { assert.True(t, matchSpecs[i].isHidden) } playoffMatchResults[4] = playoffMatchResult{game.TieMatch} final.update(playoffMatchResults) for i := 0; i < 5; i++ { assert.False(t, matchSpecs[i].isHidden) } for i := 5; i < 6; i++ { assert.True(t, matchSpecs[i].isHidden) } playoffMatchResults[5] = playoffMatchResult{game.BlueWonMatch} final.update(playoffMatchResults) for i := 0; i < 5; i++ { assert.False(t, matchSpecs[i].isHidden) } for i := 5; i < 6; i++ { assert.True(t, matchSpecs[i].isHidden) } } ================================================ FILE: playoff/playoff_match_result.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Represents the outcome of a given playoff match. package playoff import "github.com/Team254/cheesy-arena/game" type playoffMatchResult struct { status game.MatchStatus } ================================================ FILE: playoff/playoff_tournament.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Models and logic encapsulating the common aspects of all supported playoff tournament formats. package playoff import ( "fmt" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "time" ) type PlayoffTournament struct { matchGroups map[string]MatchGroup matchSpecs []*matchSpec breakSpecs []breakSpec finalMatchup *Matchup } // NewPlayoffTournament creates a new playoff tournament of the given type and number of alliances, or returns an error // if the number of alliances is invalid for the given tournament type. func NewPlayoffTournament(playoffType model.PlayoffType, numPlayoffAlliances int) (*PlayoffTournament, error) { var finalMatchup *Matchup var breakSpecs []breakSpec var err error switch playoffType { case model.DoubleEliminationPlayoff: finalMatchup, breakSpecs, err = newDoubleEliminationBracket(numPlayoffAlliances) case model.SingleEliminationPlayoff: finalMatchup, breakSpecs, err = newSingleEliminationBracket(numPlayoffAlliances) default: err = fmt.Errorf("invalid playoff type: %v", playoffType) } if err != nil { return nil, err } matchGroups, err := collectMatchGroups(finalMatchup) if err != nil { return nil, err } matchSpecs, err := collectMatchSpecs(finalMatchup) if err != nil { return nil, err } // Doubly link the match group tree in order to populate alliance destinations. finalMatchup.setSourceDestinations() // Trigger an initial update to populate the alliances. finalMatchup.update(map[int]playoffMatchResult{}) return &PlayoffTournament{ finalMatchup: finalMatchup, matchGroups: matchGroups, matchSpecs: matchSpecs, breakSpecs: breakSpecs, }, nil } // MatchGroups returns a map of all match groups in the tournament keyed by ID. func (tournament *PlayoffTournament) MatchGroups() map[string]MatchGroup { return tournament.matchGroups } // FinalMatchup returns the matchup representing the tournament's final round. func (tournament *PlayoffTournament) FinalMatchup() *Matchup { return tournament.finalMatchup } // IsComplete returns true if the tournament has been won and false if it is still in progress. func (tournament *PlayoffTournament) IsComplete() bool { return tournament.finalMatchup.IsComplete() } // WinningAllianceId returns the number of the alliance that won the tournament, or 0 if the tournament is not yet // complete. func (tournament *PlayoffTournament) WinningAllianceId() int { return tournament.finalMatchup.WinningAllianceId() } // FinalistAllianceId returns the number of the alliance that were tournament finalists, or 0 if the tournament is not // yet complete. func (tournament *PlayoffTournament) FinalistAllianceId() int { return tournament.finalMatchup.LosingAllianceId() } // Traverse calls the given function on each match group in the tournament, in reverse round order of play. func (tournament *PlayoffTournament) Traverse(visitFunction func(MatchGroup) error) error { return tournament.finalMatchup.traverse(visitFunction) } // CreateMatchesAndBreaks creates all the playoff matches and scheduled breaks in the database, as a one-time action at // the beginning of the playoff tournament. func (tournament *PlayoffTournament) CreateMatchesAndBreaks(database *model.Database, startTime time.Time) error { matches, err := database.GetMatchesByType(model.Playoff, true) if err != nil { return err } if len(matches) > 0 { return fmt.Errorf("cannot create playoff matches; %d matches already exist", len(matches)) } scheduledBreaks, err := database.GetScheduledBreaksByMatchType(model.Playoff) if err != nil { return err } if len(scheduledBreaks) > 0 { return fmt.Errorf("cannot create playoff breaks; %d breaks already exist", len(scheduledBreaks)) } alliances, err := database.GetAllAlliances() if err != nil { return err } breakIndex := 0 matchIndex := 0 nextEventTime := startTime for matchIndex < len(tournament.matchSpecs) { // Advance the break index past any nonexistent matches. for breakIndex < len(tournament.breakSpecs) && tournament.breakSpecs[breakIndex].orderBefore < tournament.matchSpecs[matchIndex].order { breakIndex++ } if breakIndex < len(tournament.breakSpecs) && tournament.breakSpecs[breakIndex].orderBefore == tournament.matchSpecs[matchIndex].order { // Create the break that is scheduled before the next match. breakSpec := tournament.breakSpecs[breakIndex] scheduledBreak := model.ScheduledBreak{ MatchType: model.Playoff, TypeOrderBefore: breakSpec.orderBefore, Time: nextEventTime, DurationSec: breakSpec.durationSec, Description: breakSpec.description, } if err := database.CreateScheduledBreak(&scheduledBreak); err != nil { return err } breakIndex++ nextEventTime = nextEventTime.Add(time.Duration(breakSpec.durationSec) * time.Second) } matchSpec := tournament.matchSpecs[matchIndex] match := model.Match{ Type: model.Playoff, TypeOrder: matchSpec.order, Time: nextEventTime, LongName: matchSpec.longName, ShortName: matchSpec.shortName, NameDetail: matchSpec.nameDetail, PlayoffMatchGroupId: matchSpec.matchGroupId, PlayoffRedAlliance: matchSpec.redAllianceId, PlayoffBlueAlliance: matchSpec.blueAllianceId, UseTiebreakCriteria: matchSpec.useTiebreakCriteria, TbaMatchKey: matchSpec.tbaMatchKey, } if match.PlayoffRedAlliance > 0 && len(alliances) >= match.PlayoffRedAlliance { positionRedTeams(&match, &alliances[match.PlayoffRedAlliance-1]) } if match.PlayoffBlueAlliance > 0 && len(alliances) >= match.PlayoffBlueAlliance { positionBlueTeams(&match, &alliances[match.PlayoffBlueAlliance-1]) } if matchSpec.isHidden { match.Status = game.MatchHidden } else { match.Status = game.MatchScheduled } if err := database.CreateMatch(&match); err != nil { return err } matchIndex++ nextEventTime = nextEventTime.Add(time.Duration(matchSpec.durationSec) * time.Second) } return nil } // UpdateMatches updates the playoff matches in the database to assign teams based on the results of the playoff // tournament so far. func (tournament *PlayoffTournament) UpdateMatches(database *model.Database) error { matches, err := database.GetMatchesByType(model.Playoff, true) if err != nil { return err } if len(matches) == 0 { return fmt.Errorf("cannot update playoff matches; no matches exist") } playoffMatchResults := make(map[int]playoffMatchResult) for _, match := range matches { switch match.Status { case game.RedWonMatch, game.BlueWonMatch, game.TieMatch: playoffMatchResults[match.TypeOrder] = playoffMatchResult{status: match.Status} } } tournament.finalMatchup.update(playoffMatchResults) // Update all unplayed matches to assign any alliances that have been newly populated into or removed from matches. matchesByTypeOrder := make(map[int]*model.Match) for i, match := range matches { matchesByTypeOrder[match.TypeOrder] = &matches[i] } alliances, err := database.GetAllAlliances() if err != nil { return err } for _, spec := range tournament.matchSpecs { match, ok := matchesByTypeOrder[spec.order] if !ok { return fmt.Errorf("cannot update playoff matches; match with order %d does not exist", spec.order) } if match.IsComplete() { continue } if spec.isHidden { match.Status = game.MatchHidden } else { match.Status = game.MatchScheduled } match.PlayoffRedAlliance = spec.redAllianceId match.PlayoffBlueAlliance = spec.blueAllianceId if match.Status == game.MatchScheduled && match.PlayoffRedAlliance > 0 && len(alliances) >= match.PlayoffRedAlliance { positionRedTeams(match, &alliances[match.PlayoffRedAlliance-1]) } else { // Zero out the teams. positionRedTeams(match, &model.Alliance{}) } if match.Status == game.MatchScheduled && match.PlayoffBlueAlliance > 0 && len(alliances) >= match.PlayoffBlueAlliance { positionBlueTeams(match, &alliances[match.PlayoffBlueAlliance-1]) } else { // Zero out the teams. positionBlueTeams(match, &model.Alliance{}) } if err = database.UpdateMatch(match); err != nil { return err } } return nil } // Assigns the lineup from the alliance into the red team slots for the match. func positionRedTeams(match *model.Match, alliance *model.Alliance) { match.Red1 = alliance.Lineup[0] match.Red2 = alliance.Lineup[1] match.Red3 = alliance.Lineup[2] } // Assigns the lineup from the alliance into the blue team slots for the match. func positionBlueTeams(match *model.Match, alliance *model.Alliance) { match.Blue1 = alliance.Lineup[0] match.Blue2 = alliance.Lineup[1] match.Blue3 = alliance.Lineup[2] } ================================================ FILE: playoff/playoff_tournament_test.go ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package playoff import ( "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/tournament" "github.com/stretchr/testify/assert" "testing" "time" ) func TestNewPlayoffTournamentErrors(t *testing.T) { _, err := NewPlayoffTournament(5, 8) if assert.NotNil(t, err) { assert.Equal(t, "invalid playoff type: 5", err.Error()) } } func TestPlayoffTournamentGetters(t *testing.T) { playoffTournament, err := NewPlayoffTournament(model.SingleEliminationPlayoff, 2) assert.Nil(t, err) assert.Equal(t, 1, len(playoffTournament.MatchGroups())) assert.Contains(t, playoffTournament.MatchGroups(), "F") assert.Equal(t, playoffTournament.FinalMatchup(), playoffTournament.MatchGroups()["F"]) assert.False(t, playoffTournament.IsComplete()) assert.Equal(t, 0, playoffTournament.WinningAllianceId()) assert.Equal(t, 0, playoffTournament.FinalistAllianceId()) playoffTournament.FinalMatchup().update( map[int]playoffMatchResult{43: {game.BlueWonMatch}, 44: {game.BlueWonMatch}}, ) assert.True(t, playoffTournament.IsComplete()) assert.Equal(t, 2, playoffTournament.WinningAllianceId()) assert.Equal(t, 1, playoffTournament.FinalistAllianceId()) } func TestPlayoffTournamentCreateMatchesAndBreaks(t *testing.T) { database := setupTestDb(t) tournament.CreateTestAlliances(database, 8) // Test double-elimination. playoffTournament, err := NewPlayoffTournament(model.DoubleEliminationPlayoff, 8) assert.Nil(t, err) startTime := time.Unix(5000, 0) err = playoffTournament.CreateMatchesAndBreaks(database, startTime) assert.Nil(t, err) err = playoffTournament.CreateMatchesAndBreaks(database, startTime) if assert.NotNil(t, err) { assert.Equal(t, "cannot create playoff matches; 19 matches already exist", err.Error()) } matches, _ := database.GetMatchesByType(model.Playoff, true) if assert.Equal(t, 19, len(matches)) { assertMatch(t, matches[0], 1, 5000, "Match 1", "M1", "Round 1 Upper", "M1", 1, 8, true, "sf", 1, 1) assertMatch(t, matches[1], 2, 5540, "Match 2", "M2", "Round 1 Upper", "M2", 4, 5, true, "sf", 2, 1) assertMatch(t, matches[2], 3, 6080, "Match 3", "M3", "Round 1 Upper", "M3", 2, 7, true, "sf", 3, 1) assertMatch(t, matches[3], 4, 6620, "Match 4", "M4", "Round 1 Upper", "M4", 3, 6, true, "sf", 4, 1) assertMatch(t, matches[4], 5, 7160, "Match 5", "M5", "Round 2 Lower", "M5", 0, 0, true, "sf", 5, 1) assertMatch(t, matches[5], 6, 7700, "Match 6", "M6", "Round 2 Lower", "M6", 0, 0, true, "sf", 6, 1) assertMatch(t, matches[6], 7, 8240, "Match 7", "M7", "Round 2 Upper", "M7", 0, 0, true, "sf", 7, 1) assertMatch(t, matches[7], 8, 8780, "Match 8", "M8", "Round 2 Upper", "M8", 0, 0, true, "sf", 8, 1) assertMatch(t, matches[8], 9, 9440, "Match 9", "M9", "Round 3 Lower", "M9", 0, 0, true, "sf", 9, 1) assertMatch(t, matches[9], 10, 9980, "Match 10", "M10", "Round 3 Lower", "M10", 0, 0, true, "sf", 10, 1) assertMatch(t, matches[10], 11, 10640, "Match 11", "M11", "Round 4 Upper", "M11", 0, 0, true, "sf", 11, 1) assertMatch(t, matches[11], 12, 11180, "Match 12", "M12", "Round 4 Lower", "M12", 0, 0, true, "sf", 12, 1) assertMatch(t, matches[12], 13, 12380, "Match 13", "M13", "Round 5 Lower", "M13", 0, 0, true, "sf", 13, 1) assertMatch(t, matches[13], 14, 13580, "Final 1", "F1", "", "F", 0, 0, false, "f", 1, 1) assertMatch(t, matches[14], 15, 14780, "Final 2", "F2", "", "F", 0, 0, false, "f", 1, 2) assertMatch(t, matches[15], 16, 15980, "Final 3", "F3", "", "F", 0, 0, false, "f", 1, 3) assertMatch(t, matches[16], 17, 16280, "Overtime 1", "O1", "", "F", 0, 0, true, "f", 1, 4) assertMatch(t, matches[17], 18, 16880, "Overtime 2", "O2", "", "F", 0, 0, true, "f", 1, 5) assertMatch(t, matches[18], 19, 17480, "Overtime 3", "O3", "", "F", 0, 0, true, "f", 1, 6) } for i := 0; i < 16; i++ { assert.Equal(t, game.MatchScheduled, matches[i].Status) } for i := 17; i < 19; i++ { assert.Equal(t, game.MatchHidden, matches[i].Status) } scheduledBreaks, err := database.GetScheduledBreaksByMatchType(model.Playoff) assert.Nil(t, err) if assert.Equal(t, 6, len(scheduledBreaks)) { assertBreak(t, scheduledBreaks[0], 9, 9080, 360, "Field Break") assertBreak(t, scheduledBreaks[1], 11, 10280, 360, "Field Break") assertBreak(t, scheduledBreaks[2], 13, 11480, 900, "Awards Break") assertBreak(t, scheduledBreaks[3], 14, 12680, 900, "Awards Break") assertBreak(t, scheduledBreaks[4], 15, 13880, 900, "Awards Break") assertBreak(t, scheduledBreaks[5], 16, 15080, 900, "Awards Break") } // Test single-elimination. assert.Nil(t, database.TruncateMatches()) assert.Nil(t, database.TruncateScheduledBreaks()) playoffTournament, err = NewPlayoffTournament(model.SingleEliminationPlayoff, 3) assert.Nil(t, err) startTime = time.Unix(1000, 0) err = playoffTournament.CreateMatchesAndBreaks(database, startTime) assert.Nil(t, err) matches, _ = database.GetMatchesByType(model.Playoff, true) if assert.Equal(t, 9, len(matches)) { assertMatch(t, matches[0], 38, 1000, "Semifinal 2-1", "SF2-1", "", "SF2", 2, 3, true, "sf", 2, 1) assertMatch(t, matches[1], 40, 1600, "Semifinal 2-2", "SF2-2", "", "SF2", 2, 3, true, "sf", 2, 2) assertMatch(t, matches[2], 42, 2200, "Semifinal 2-3", "SF2-3", "", "SF2", 2, 3, true, "sf", 2, 3) assertMatch(t, matches[3], 43, 3280, "Final 1", "F1", "", "F", 1, 0, false, "f", 1, 1) assertMatch(t, matches[4], 44, 4060, "Final 2", "F2", "", "F", 1, 0, false, "f", 1, 2) assertMatch(t, matches[5], 45, 4840, "Final 3", "F3", "", "F", 1, 0, false, "f", 1, 3) assertMatch(t, matches[6], 46, 5140, "Overtime 1", "O1", "", "F", 1, 0, true, "f", 1, 4) assertMatch(t, matches[7], 47, 5740, "Overtime 2", "O2", "", "F", 1, 0, true, "f", 1, 5) assertMatch(t, matches[8], 48, 6340, "Overtime 3", "O3", "", "F", 1, 0, true, "f", 1, 6) } for i := 0; i < 6; i++ { assert.Equal(t, game.MatchScheduled, matches[i].Status) } for i := 6; i < 9; i++ { assert.Equal(t, game.MatchHidden, matches[i].Status) } scheduledBreaks, err = database.GetScheduledBreaksByMatchType(model.Playoff) assert.Nil(t, err) if assert.Equal(t, 3, len(scheduledBreaks)) { assertBreak(t, scheduledBreaks[0], 43, 2800, 480, "Field Break") assertBreak(t, scheduledBreaks[1], 44, 3580, 480, "Field Break") assertBreak(t, scheduledBreaks[2], 45, 4360, 480, "Field Break") } } func TestPlayoffTournamentUpdateMatches(t *testing.T) { database := setupTestDb(t) tournament.CreateTestAlliances(database, 4) playoffTournament, err := NewPlayoffTournament(model.SingleEliminationPlayoff, 4) assert.Nil(t, err) err = playoffTournament.UpdateMatches(database) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "no matches exist") } err = playoffTournament.CreateMatchesAndBreaks(database, time.Unix(0, 0)) assert.Nil(t, err) matches, _ := database.GetMatchesByType(model.Playoff, true) assert.Equal(t, 102, matches[0].Red1) assert.Equal(t, 101, matches[0].Red2) assert.Equal(t, 103, matches[0].Red3) assert.Equal(t, 402, matches[0].Blue1) assert.Equal(t, 401, matches[0].Blue2) assert.Equal(t, 403, matches[0].Blue3) matches[0].Status = game.BlueWonMatch err = database.UpdateMatch(&matches[0]) assert.Nil(t, err) err = database.UpdateAllianceFromMatch(1, [3]int{103, 102, 101}) assert.Nil(t, err) err = database.UpdateAllianceFromMatch(4, [3]int{404, 405, 406}) assert.Nil(t, err) err = playoffTournament.UpdateMatches(database) assert.Nil(t, err) matches, _ = database.GetMatchesByType(model.Playoff, true) assert.Equal(t, 102, matches[0].Red1) assert.Equal(t, 101, matches[0].Red2) assert.Equal(t, 103, matches[0].Red3) assert.Equal(t, 402, matches[0].Blue1) assert.Equal(t, 401, matches[0].Blue2) assert.Equal(t, 403, matches[0].Blue3) assert.Equal(t, game.MatchScheduled, matches[2].Status) assert.Equal(t, 103, matches[2].Red1) assert.Equal(t, 102, matches[2].Red2) assert.Equal(t, 101, matches[2].Red3) assert.Equal(t, 404, matches[2].Blue1) assert.Equal(t, 405, matches[2].Blue2) assert.Equal(t, 406, matches[2].Blue3) assert.Equal(t, game.MatchScheduled, matches[4].Status) assert.Equal(t, 103, matches[4].Red1) assert.Equal(t, 102, matches[4].Red2) assert.Equal(t, 101, matches[4].Red3) assert.Equal(t, 404, matches[4].Blue1) assert.Equal(t, 405, matches[4].Blue2) assert.Equal(t, 406, matches[4].Blue3) matches[1].Status = game.BlueWonMatch err = database.UpdateMatch(&matches[1]) assert.Nil(t, err) matches[2].Status = game.BlueWonMatch err = database.UpdateMatch(&matches[2]) assert.Nil(t, err) matches[3].Status = game.BlueWonMatch err = database.UpdateMatch(&matches[3]) assert.Nil(t, err) err = database.UpdateAllianceFromMatch(4, [3]int{403, 402, 406}) assert.Nil(t, err) err = playoffTournament.UpdateMatches(database) assert.Nil(t, err) matches, _ = database.GetMatchesByType(model.Playoff, true) assert.Equal(t, 103, matches[2].Red1) assert.Equal(t, 102, matches[2].Red2) assert.Equal(t, 101, matches[2].Red3) assert.Equal(t, 404, matches[2].Blue1) assert.Equal(t, 405, matches[2].Blue2) assert.Equal(t, 406, matches[2].Blue3) assert.Equal(t, game.MatchHidden, matches[4].Status) assert.Equal(t, game.MatchHidden, matches[5].Status) assert.Equal(t, 4, matches[6].PlayoffRedAlliance) assert.Equal(t, 3, matches[6].PlayoffBlueAlliance) assert.Equal(t, 403, matches[6].Red1) assert.Equal(t, 402, matches[6].Red2) assert.Equal(t, 406, matches[6].Red3) assert.Equal(t, 302, matches[6].Blue1) assert.Equal(t, 301, matches[6].Blue2) assert.Equal(t, 303, matches[6].Blue3) // Change the outcome of some matches and verify that the teams in the finals are wiped out. matches[1].Status = game.RedWonMatch err = database.UpdateMatch(&matches[1]) assert.Nil(t, err) matches[2].Status = game.RedWonMatch err = database.UpdateMatch(&matches[2]) assert.Nil(t, err) err = playoffTournament.UpdateMatches(database) assert.Nil(t, err) matches, _ = database.GetMatchesByType(model.Playoff, true) assert.Equal(t, game.MatchScheduled, matches[4].Status) assert.Equal(t, game.MatchScheduled, matches[5].Status) assert.Equal(t, 0, matches[6].PlayoffRedAlliance) assert.Equal(t, 0, matches[6].PlayoffBlueAlliance) assert.Equal(t, 0, matches[6].Red1) assert.Equal(t, 0, matches[6].Red2) assert.Equal(t, 0, matches[6].Red3) assert.Equal(t, 0, matches[6].Blue1) assert.Equal(t, 0, matches[6].Blue2) assert.Equal(t, 0, matches[6].Blue3) } ================================================ FILE: playoff/single_elimination.go ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Defines the tournament structure for a single-elimination, best-of-three bracket. package playoff import ( "fmt" "github.com/Team254/cheesy-arena/model" "strings" ) // Creates a single-elimination bracket containing only the required matchups for the given number of alliances, and // returns the root matchup comprising the tournament finals along with scheduled breaks. func newSingleEliminationBracket(numAlliances int) (*Matchup, []breakSpec, error) { if numAlliances < 2 { return nil, nil, fmt.Errorf("single-elimination bracket must have at least 2 alliances") } if numAlliances > 16 { return nil, nil, fmt.Errorf("single-elimination bracket must have at most 16 alliances") } // Define eighthfinal matches. ef1 := Matchup{ id: "EF1", NumWinsToAdvance: 2, redAllianceSource: allianceSelectionSource{1}, blueAllianceSource: allianceSelectionSource{16}, matchSpecs: []*matchSpec{ newSingleEliminationMatch("Eighthfinal", "EF", 1, 1, 1), newSingleEliminationMatch("Eighthfinal", "EF", 1, 2, 9), newSingleEliminationMatch("Eighthfinal", "EF", 1, 3, 17), }, } ef2 := Matchup{ id: "EF2", NumWinsToAdvance: 2, redAllianceSource: allianceSelectionSource{8}, blueAllianceSource: allianceSelectionSource{9}, matchSpecs: []*matchSpec{ newSingleEliminationMatch("Eighthfinal", "EF", 2, 1, 2), newSingleEliminationMatch("Eighthfinal", "EF", 2, 2, 10), newSingleEliminationMatch("Eighthfinal", "EF", 2, 3, 18), }, } ef3 := Matchup{ id: "EF3", NumWinsToAdvance: 2, redAllianceSource: allianceSelectionSource{4}, blueAllianceSource: allianceSelectionSource{13}, matchSpecs: []*matchSpec{ newSingleEliminationMatch("Eighthfinal", "EF", 3, 1, 3), newSingleEliminationMatch("Eighthfinal", "EF", 3, 2, 11), newSingleEliminationMatch("Eighthfinal", "EF", 3, 3, 19), }, } ef4 := Matchup{ id: "EF4", NumWinsToAdvance: 2, redAllianceSource: allianceSelectionSource{5}, blueAllianceSource: allianceSelectionSource{12}, matchSpecs: []*matchSpec{ newSingleEliminationMatch("Eighthfinal", "EF", 4, 1, 4), newSingleEliminationMatch("Eighthfinal", "EF", 4, 2, 12), newSingleEliminationMatch("Eighthfinal", "EF", 4, 3, 20), }, } ef5 := Matchup{ id: "EF5", NumWinsToAdvance: 2, redAllianceSource: allianceSelectionSource{2}, blueAllianceSource: allianceSelectionSource{15}, matchSpecs: []*matchSpec{ newSingleEliminationMatch("Eighthfinal", "EF", 5, 1, 5), newSingleEliminationMatch("Eighthfinal", "EF", 5, 2, 13), newSingleEliminationMatch("Eighthfinal", "EF", 5, 3, 21), }, } ef6 := Matchup{ id: "EF6", NumWinsToAdvance: 2, redAllianceSource: allianceSelectionSource{7}, blueAllianceSource: allianceSelectionSource{10}, matchSpecs: []*matchSpec{ newSingleEliminationMatch("Eighthfinal", "EF", 6, 1, 6), newSingleEliminationMatch("Eighthfinal", "EF", 6, 2, 14), newSingleEliminationMatch("Eighthfinal", "EF", 6, 3, 22), }, } ef7 := Matchup{ id: "EF7", NumWinsToAdvance: 2, redAllianceSource: allianceSelectionSource{3}, blueAllianceSource: allianceSelectionSource{14}, matchSpecs: []*matchSpec{ newSingleEliminationMatch("Eighthfinal", "EF", 7, 1, 7), newSingleEliminationMatch("Eighthfinal", "EF", 7, 2, 15), newSingleEliminationMatch("Eighthfinal", "EF", 7, 3, 23), }, } ef8 := Matchup{ id: "EF8", NumWinsToAdvance: 2, redAllianceSource: allianceSelectionSource{6}, blueAllianceSource: allianceSelectionSource{11}, matchSpecs: []*matchSpec{ newSingleEliminationMatch("Eighthfinal", "EF", 8, 1, 8), newSingleEliminationMatch("Eighthfinal", "EF", 8, 2, 16), newSingleEliminationMatch("Eighthfinal", "EF", 8, 3, 24), }, } // Define quarterfinal matches. qf1 := Matchup{ id: "QF1", NumWinsToAdvance: 2, redAllianceSource: newSingleEliminationAllianceSource(&ef1, numAlliances), blueAllianceSource: newSingleEliminationAllianceSource(&ef2, numAlliances), matchSpecs: []*matchSpec{ newSingleEliminationMatch("Quarterfinal", "QF", 1, 1, 25), newSingleEliminationMatch("Quarterfinal", "QF", 1, 2, 29), newSingleEliminationMatch("Quarterfinal", "QF", 1, 3, 33), }, } qf2 := Matchup{ id: "QF2", NumWinsToAdvance: 2, redAllianceSource: newSingleEliminationAllianceSource(&ef3, numAlliances), blueAllianceSource: newSingleEliminationAllianceSource(&ef4, numAlliances), matchSpecs: []*matchSpec{ newSingleEliminationMatch("Quarterfinal", "QF", 2, 1, 26), newSingleEliminationMatch("Quarterfinal", "QF", 2, 2, 30), newSingleEliminationMatch("Quarterfinal", "QF", 2, 3, 34), }, } qf3 := Matchup{ id: "QF3", NumWinsToAdvance: 2, redAllianceSource: newSingleEliminationAllianceSource(&ef5, numAlliances), blueAllianceSource: newSingleEliminationAllianceSource(&ef6, numAlliances), matchSpecs: []*matchSpec{ newSingleEliminationMatch("Quarterfinal", "QF", 3, 1, 27), newSingleEliminationMatch("Quarterfinal", "QF", 3, 2, 31), newSingleEliminationMatch("Quarterfinal", "QF", 3, 3, 35), }, } qf4 := Matchup{ id: "QF4", NumWinsToAdvance: 2, redAllianceSource: newSingleEliminationAllianceSource(&ef7, numAlliances), blueAllianceSource: newSingleEliminationAllianceSource(&ef8, numAlliances), matchSpecs: []*matchSpec{ newSingleEliminationMatch("Quarterfinal", "QF", 4, 1, 28), newSingleEliminationMatch("Quarterfinal", "QF", 4, 2, 32), newSingleEliminationMatch("Quarterfinal", "QF", 4, 3, 36), }, } // Define semifinal matches. sf1 := Matchup{ id: "SF1", NumWinsToAdvance: 2, redAllianceSource: newSingleEliminationAllianceSource(&qf1, numAlliances), blueAllianceSource: newSingleEliminationAllianceSource(&qf2, numAlliances), matchSpecs: []*matchSpec{ newSingleEliminationMatch("Semifinal", "SF", 1, 1, 37), newSingleEliminationMatch("Semifinal", "SF", 1, 2, 39), newSingleEliminationMatch("Semifinal", "SF", 1, 3, 41), }, } sf2 := Matchup{ id: "SF2", NumWinsToAdvance: 2, redAllianceSource: newSingleEliminationAllianceSource(&qf3, numAlliances), blueAllianceSource: newSingleEliminationAllianceSource(&qf4, numAlliances), matchSpecs: []*matchSpec{ newSingleEliminationMatch("Semifinal", "SF", 2, 1, 38), newSingleEliminationMatch("Semifinal", "SF", 2, 2, 40), newSingleEliminationMatch("Semifinal", "SF", 2, 3, 42), }, } // Define final matches. final := Matchup{ id: "F", NumWinsToAdvance: 2, redAllianceSource: newSingleEliminationAllianceSource(&sf1, numAlliances), blueAllianceSource: newSingleEliminationAllianceSource(&sf2, numAlliances), matchSpecs: newFinalMatches(43), } // Define scheduled breaks. var breakSpecs []breakSpec if numAlliances > 2 { // Only create a break before the first finals match if there were preceding matches. breakSpecs = append(breakSpecs, breakSpec{43, 480, "Field Break"}) } breakSpecs = append(breakSpecs, breakSpec{44, 480, "Field Break"}) breakSpecs = append(breakSpecs, breakSpec{45, 480, "Field Break"}) return &final, breakSpecs, nil } // Helper method to create an allianceSource while pruning any unnecessary matchups due to the number of alliances. func newSingleEliminationAllianceSource(matchup *Matchup, numAlliances int) allianceSource { redAllianceId := matchup.redAllianceSource.AllianceId() blueAllianceId := matchup.blueAllianceSource.AllianceId() if blueAllianceId > redAllianceId && blueAllianceId > numAlliances { return matchup.redAllianceSource } if redAllianceId > blueAllianceId && redAllianceId > numAlliances { return matchup.blueAllianceSource } return matchupSource{matchup: matchup, useWinner: true} } // Helper method to create a match spec for a pre-final single-elimination matchup. func newSingleEliminationMatch(longRoundName, shortRoundName string, setNumber, matchNumber, order int) *matchSpec { return &matchSpec{ longName: fmt.Sprintf("%s %d-%d", longRoundName, setNumber, matchNumber), shortName: fmt.Sprintf("%s%d-%d", shortRoundName, setNumber, matchNumber), order: order, durationSec: 600, useTiebreakCriteria: true, tbaMatchKey: model.TbaMatchKey{strings.ToLower(shortRoundName), setNumber, matchNumber}, } } // Helper method to create the final matches for any tournament type. func newFinalMatches(startingOrder int) []*matchSpec { return []*matchSpec{ { longName: "Final 1", shortName: "F1", order: startingOrder, durationSec: 300, useTiebreakCriteria: false, tbaMatchKey: model.TbaMatchKey{"f", 1, 1}, }, { longName: "Final 2", shortName: "F2", order: startingOrder + 1, durationSec: 300, useTiebreakCriteria: false, tbaMatchKey: model.TbaMatchKey{"f", 1, 2}, }, { longName: "Final 3", shortName: "F3", order: startingOrder + 2, durationSec: 300, useTiebreakCriteria: false, tbaMatchKey: model.TbaMatchKey{"f", 1, 3}, }, { longName: "Overtime 1", shortName: "O1", order: startingOrder + 3, durationSec: 600, useTiebreakCriteria: true, isHidden: true, tbaMatchKey: model.TbaMatchKey{"f", 1, 4}, }, { longName: "Overtime 2", shortName: "O2", order: startingOrder + 4, durationSec: 600, useTiebreakCriteria: true, isHidden: true, tbaMatchKey: model.TbaMatchKey{"f", 1, 5}, }, { longName: "Overtime 3", shortName: "O3", order: startingOrder + 5, durationSec: 600, useTiebreakCriteria: true, isHidden: true, tbaMatchKey: model.TbaMatchKey{"f", 1, 6}, }, } } ================================================ FILE: playoff/single_elimination_test.go ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package playoff import ( "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "testing" ) func TestSingleEliminationInitialWith2Alliances(t *testing.T) { finalMatchup, breakSpecs, err := newSingleEliminationBracket(2) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) assertFullFinals(t, matchSpecs, 0) finalMatchup.update(map[int]playoffMatchResult{}) for i := 0; i < 6; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{1, 2}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups(t, matchGroups, "F") if assert.Equal(t, 2, len(breakSpecs)) { assert.Equal(t, breakSpec{44, 480, "Field Break"}, breakSpecs[0]) assert.Equal(t, breakSpec{45, 480, "Field Break"}, breakSpecs[1]) } } func TestSingleEliminationInitialWith3Alliances(t *testing.T) { finalMatchup, breakSpecs, err := newSingleEliminationBracket(3) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) if assert.Equal(t, 9, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[0:3], []expectedMatchSpec{ {"Semifinal 2-1", "SF2-1", "", 38, "SF2", true, false, "sf", 2, 1}, {"Semifinal 2-2", "SF2-2", "", 40, "SF2", true, false, "sf", 2, 2}, {"Semifinal 2-3", "SF2-3", "", 42, "SF2", true, false, "sf", 2, 3}, }, ) } assertFullFinals(t, matchSpecs, 3) finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:3], []expectedAlliances{ {2, 3}, {2, 3}, {2, 3}, }, ) for i := 3; i < 9; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{1, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups(t, matchGroups, "SF2", "F") if assert.Equal(t, 3, len(breakSpecs)) { assert.Equal(t, breakSpec{43, 480, "Field Break"}, breakSpecs[0]) assert.Equal(t, breakSpec{44, 480, "Field Break"}, breakSpecs[1]) assert.Equal(t, breakSpec{45, 480, "Field Break"}, breakSpecs[2]) } } func TestSingleEliminationInitialWith4Alliances(t *testing.T) { finalMatchup, _, err := newSingleEliminationBracket(4) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) assertFullSemifinalsOnward(t, matchSpecs, 0) finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:6], []expectedAlliances{ {1, 4}, {2, 3}, {1, 4}, {2, 3}, {1, 4}, {2, 3}, }, ) for i := 6; i < 12; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups(t, matchGroups, "SF1", "SF2", "F") } func TestSingleEliminationInitialWith5Alliances(t *testing.T) { finalMatchup, _, err := newSingleEliminationBracket(5) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) if assert.Equal(t, 15, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[0:3], []expectedMatchSpec{ {"Quarterfinal 2-1", "QF2-1", "", 26, "QF2", true, false, "qf", 2, 1}, {"Quarterfinal 2-2", "QF2-2", "", 30, "QF2", true, false, "qf", 2, 2}, {"Quarterfinal 2-3", "QF2-3", "", 34, "QF2", true, false, "qf", 2, 3}, }, ) } assertFullSemifinalsOnward(t, matchSpecs, 3) finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:9], []expectedAlliances{ {4, 5}, {4, 5}, {4, 5}, {1, 0}, {2, 3}, {1, 0}, {2, 3}, {1, 0}, {2, 3}, }, ) for i := 9; i < 15; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups(t, matchGroups, "QF2", "SF1", "SF2", "F") } func TestSingleEliminationInitialWith6Alliances(t *testing.T) { finalMatchup, _, err := newSingleEliminationBracket(6) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) if assert.Equal(t, 18, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[0:6], []expectedMatchSpec{ {"Quarterfinal 2-1", "QF2-1", "", 26, "QF2", true, false, "qf", 2, 1}, {"Quarterfinal 4-1", "QF4-1", "", 28, "QF4", true, false, "qf", 4, 1}, {"Quarterfinal 2-2", "QF2-2", "", 30, "QF2", true, false, "qf", 2, 2}, {"Quarterfinal 4-2", "QF4-2", "", 32, "QF4", true, false, "qf", 4, 2}, {"Quarterfinal 2-3", "QF2-3", "", 34, "QF2", true, false, "qf", 2, 3}, {"Quarterfinal 4-3", "QF4-3", "", 36, "QF4", true, false, "qf", 4, 3}, }, ) } assertFullSemifinalsOnward(t, matchSpecs, 6) finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:12], []expectedAlliances{ {4, 5}, {3, 6}, {4, 5}, {3, 6}, {4, 5}, {3, 6}, {1, 0}, {2, 0}, {1, 0}, {2, 0}, {1, 0}, {2, 0}, }, ) for i := 12; i < 18; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups(t, matchGroups, "QF2", "QF4", "SF1", "SF2", "F") } func TestSingleEliminationInitialWith7Alliances(t *testing.T) { finalMatchup, _, err := newSingleEliminationBracket(7) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) if assert.Equal(t, 21, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[0:9], []expectedMatchSpec{ {"Quarterfinal 2-1", "QF2-1", "", 26, "QF2", true, false, "qf", 2, 1}, {"Quarterfinal 3-1", "QF3-1", "", 27, "QF3", true, false, "qf", 3, 1}, {"Quarterfinal 4-1", "QF4-1", "", 28, "QF4", true, false, "qf", 4, 1}, {"Quarterfinal 2-2", "QF2-2", "", 30, "QF2", true, false, "qf", 2, 2}, {"Quarterfinal 3-2", "QF3-2", "", 31, "QF3", true, false, "qf", 3, 2}, {"Quarterfinal 4-2", "QF4-2", "", 32, "QF4", true, false, "qf", 4, 2}, {"Quarterfinal 2-3", "QF2-3", "", 34, "QF2", true, false, "qf", 2, 3}, {"Quarterfinal 3-3", "QF3-3", "", 35, "QF3", true, false, "qf", 3, 3}, {"Quarterfinal 4-3", "QF4-3", "", 36, "QF4", true, false, "qf", 4, 3}, }, ) } assertFullSemifinalsOnward(t, matchSpecs, 9) finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:15], []expectedAlliances{ {4, 5}, {2, 7}, {3, 6}, {4, 5}, {2, 7}, {3, 6}, {4, 5}, {2, 7}, {3, 6}, {1, 0}, {0, 0}, {1, 0}, {0, 0}, {1, 0}, {0, 0}, }, ) for i := 15; i < 21; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups(t, matchGroups, "QF2", "QF3", "QF4", "SF1", "SF2", "F") } func TestSingleEliminationInitialWith8Alliances(t *testing.T) { finalMatchup, breakSpecs, err := newSingleEliminationBracket(8) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) assertFullQuarterfinalsOnward(t, matchSpecs, 0) finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:12], []expectedAlliances{ {1, 8}, {4, 5}, {2, 7}, {3, 6}, {1, 8}, {4, 5}, {2, 7}, {3, 6}, {1, 8}, {4, 5}, {2, 7}, {3, 6}, }, ) for i := 12; i < 24; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups(t, matchGroups, "QF1", "QF2", "QF3", "QF4", "SF1", "SF2", "F") if assert.Equal(t, 3, len(breakSpecs)) { assert.Equal(t, breakSpec{43, 480, "Field Break"}, breakSpecs[0]) assert.Equal(t, breakSpec{44, 480, "Field Break"}, breakSpecs[1]) assert.Equal(t, breakSpec{45, 480, "Field Break"}, breakSpecs[2]) } } func TestSingleEliminationInitialWith9Alliances(t *testing.T) { finalMatchup, _, err := newSingleEliminationBracket(9) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) if assert.Equal(t, 27, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[0:3], []expectedMatchSpec{ {"Eighthfinal 2-1", "EF2-1", "", 2, "EF2", true, false, "ef", 2, 1}, {"Eighthfinal 2-2", "EF2-2", "", 10, "EF2", true, false, "ef", 2, 2}, {"Eighthfinal 2-3", "EF2-3", "", 18, "EF2", true, false, "ef", 2, 3}, }, ) } assertFullQuarterfinalsOnward(t, matchSpecs, 3) finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:15], []expectedAlliances{ {8, 9}, {8, 9}, {8, 9}, {1, 0}, {4, 5}, {2, 7}, {3, 6}, {1, 0}, {4, 5}, {2, 7}, {3, 6}, {1, 0}, {4, 5}, {2, 7}, {3, 6}, }, ) for i := 15; i < 27; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups(t, matchGroups, "EF2", "QF1", "QF2", "QF3", "QF4", "SF1", "SF2", "F") } func TestSingleEliminationInitialWith10Alliances(t *testing.T) { finalMatchup, _, err := newSingleEliminationBracket(10) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) if assert.Equal(t, 30, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[0:6], []expectedMatchSpec{ {"Eighthfinal 2-1", "EF2-1", "", 2, "EF2", true, false, "ef", 2, 1}, {"Eighthfinal 6-1", "EF6-1", "", 6, "EF6", true, false, "ef", 6, 1}, {"Eighthfinal 2-2", "EF2-2", "", 10, "EF2", true, false, "ef", 2, 2}, {"Eighthfinal 6-2", "EF6-2", "", 14, "EF6", true, false, "ef", 6, 2}, {"Eighthfinal 2-3", "EF2-3", "", 18, "EF2", true, false, "ef", 2, 3}, {"Eighthfinal 6-3", "EF6-3", "", 22, "EF6", true, false, "ef", 6, 3}, }, ) } assertFullQuarterfinalsOnward(t, matchSpecs, 6) finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:18], []expectedAlliances{ {8, 9}, {7, 10}, {8, 9}, {7, 10}, {8, 9}, {7, 10}, {1, 0}, {4, 5}, {2, 0}, {3, 6}, {1, 0}, {4, 5}, {2, 0}, {3, 6}, {1, 0}, {4, 5}, {2, 0}, {3, 6}, }, ) for i := 18; i < 30; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups(t, matchGroups, "EF2", "EF6", "QF1", "QF2", "QF3", "QF4", "SF1", "SF2", "F") } func TestSingleEliminationInitialWith11Alliances(t *testing.T) { finalMatchup, _, err := newSingleEliminationBracket(11) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) if assert.Equal(t, 33, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[0:9], []expectedMatchSpec{ {"Eighthfinal 2-1", "EF2-1", "", 2, "EF2", true, false, "ef", 2, 1}, {"Eighthfinal 6-1", "EF6-1", "", 6, "EF6", true, false, "ef", 6, 1}, {"Eighthfinal 8-1", "EF8-1", "", 8, "EF8", true, false, "ef", 8, 1}, {"Eighthfinal 2-2", "EF2-2", "", 10, "EF2", true, false, "ef", 2, 2}, {"Eighthfinal 6-2", "EF6-2", "", 14, "EF6", true, false, "ef", 6, 2}, {"Eighthfinal 8-2", "EF8-2", "", 16, "EF8", true, false, "ef", 8, 2}, {"Eighthfinal 2-3", "EF2-3", "", 18, "EF2", true, false, "ef", 2, 3}, {"Eighthfinal 6-3", "EF6-3", "", 22, "EF6", true, false, "ef", 6, 3}, {"Eighthfinal 8-3", "EF8-3", "", 24, "EF8", true, false, "ef", 8, 3}, }, ) } assertFullQuarterfinalsOnward(t, matchSpecs, 9) finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:21], []expectedAlliances{ {8, 9}, {7, 10}, {6, 11}, {8, 9}, {7, 10}, {6, 11}, {8, 9}, {7, 10}, {6, 11}, {1, 0}, {4, 5}, {2, 0}, {3, 0}, {1, 0}, {4, 5}, {2, 0}, {3, 0}, {1, 0}, {4, 5}, {2, 0}, {3, 0}, }, ) for i := 21; i < 33; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups(t, matchGroups, "EF2", "EF6", "EF8", "QF1", "QF2", "QF3", "QF4", "SF1", "SF2", "F") } func TestSingleEliminationInitialWith12Alliances(t *testing.T) { finalMatchup, _, err := newSingleEliminationBracket(12) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) if assert.Equal(t, 36, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[0:12], []expectedMatchSpec{ {"Eighthfinal 2-1", "EF2-1", "", 2, "EF2", true, false, "ef", 2, 1}, {"Eighthfinal 4-1", "EF4-1", "", 4, "EF4", true, false, "ef", 4, 1}, {"Eighthfinal 6-1", "EF6-1", "", 6, "EF6", true, false, "ef", 6, 1}, {"Eighthfinal 8-1", "EF8-1", "", 8, "EF8", true, false, "ef", 8, 1}, {"Eighthfinal 2-2", "EF2-2", "", 10, "EF2", true, false, "ef", 2, 2}, {"Eighthfinal 4-2", "EF4-2", "", 12, "EF4", true, false, "ef", 4, 2}, {"Eighthfinal 6-2", "EF6-2", "", 14, "EF6", true, false, "ef", 6, 2}, {"Eighthfinal 8-2", "EF8-2", "", 16, "EF8", true, false, "ef", 8, 2}, {"Eighthfinal 2-3", "EF2-3", "", 18, "EF2", true, false, "ef", 2, 3}, {"Eighthfinal 4-3", "EF4-3", "", 20, "EF4", true, false, "ef", 4, 3}, {"Eighthfinal 6-3", "EF6-3", "", 22, "EF6", true, false, "ef", 6, 3}, {"Eighthfinal 8-3", "EF8-3", "", 24, "EF8", true, false, "ef", 8, 3}, }, ) } assertFullQuarterfinalsOnward(t, matchSpecs, 12) finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:24], []expectedAlliances{ {8, 9}, {5, 12}, {7, 10}, {6, 11}, {8, 9}, {5, 12}, {7, 10}, {6, 11}, {8, 9}, {5, 12}, {7, 10}, {6, 11}, {1, 0}, {4, 0}, {2, 0}, {3, 0}, {1, 0}, {4, 0}, {2, 0}, {3, 0}, {1, 0}, {4, 0}, {2, 0}, {3, 0}, }, ) for i := 24; i < 36; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups(t, matchGroups, "EF2", "EF4", "EF6", "EF8", "QF1", "QF2", "QF3", "QF4", "SF1", "SF2", "F") } func TestSingleEliminationInitialWith13Alliances(t *testing.T) { finalMatchup, _, err := newSingleEliminationBracket(13) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) if assert.Equal(t, 39, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[0:15], []expectedMatchSpec{ {"Eighthfinal 2-1", "EF2-1", "", 2, "EF2", true, false, "ef", 2, 1}, {"Eighthfinal 3-1", "EF3-1", "", 3, "EF3", true, false, "ef", 3, 1}, {"Eighthfinal 4-1", "EF4-1", "", 4, "EF4", true, false, "ef", 4, 1}, {"Eighthfinal 6-1", "EF6-1", "", 6, "EF6", true, false, "ef", 6, 1}, {"Eighthfinal 8-1", "EF8-1", "", 8, "EF8", true, false, "ef", 8, 1}, {"Eighthfinal 2-2", "EF2-2", "", 10, "EF2", true, false, "ef", 2, 2}, {"Eighthfinal 3-2", "EF3-2", "", 11, "EF3", true, false, "ef", 3, 2}, {"Eighthfinal 4-2", "EF4-2", "", 12, "EF4", true, false, "ef", 4, 2}, {"Eighthfinal 6-2", "EF6-2", "", 14, "EF6", true, false, "ef", 6, 2}, {"Eighthfinal 8-2", "EF8-2", "", 16, "EF8", true, false, "ef", 8, 2}, {"Eighthfinal 2-3", "EF2-3", "", 18, "EF2", true, false, "ef", 2, 3}, {"Eighthfinal 3-3", "EF3-3", "", 19, "EF3", true, false, "ef", 3, 3}, {"Eighthfinal 4-3", "EF4-3", "", 20, "EF4", true, false, "ef", 4, 3}, {"Eighthfinal 6-3", "EF6-3", "", 22, "EF6", true, false, "ef", 6, 3}, {"Eighthfinal 8-3", "EF8-3", "", 24, "EF8", true, false, "ef", 8, 3}, }, ) } assertFullQuarterfinalsOnward(t, matchSpecs, 15) finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:27], []expectedAlliances{ {8, 9}, {4, 13}, {5, 12}, {7, 10}, {6, 11}, {8, 9}, {4, 13}, {5, 12}, {7, 10}, {6, 11}, {8, 9}, {4, 13}, {5, 12}, {7, 10}, {6, 11}, {1, 0}, {0, 0}, {2, 0}, {3, 0}, {1, 0}, {0, 0}, {2, 0}, {3, 0}, {1, 0}, {0, 0}, {2, 0}, {3, 0}, }, ) for i := 27; i < 39; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups(t, matchGroups, "EF2", "EF3", "EF4", "EF6", "EF8", "QF1", "QF2", "QF3", "QF4", "SF1", "SF2", "F") } func TestSingleEliminationInitialWith14Alliances(t *testing.T) { finalMatchup, _, err := newSingleEliminationBracket(14) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) if assert.Equal(t, 42, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[0:18], []expectedMatchSpec{ {"Eighthfinal 2-1", "EF2-1", "", 2, "EF2", true, false, "ef", 2, 1}, {"Eighthfinal 3-1", "EF3-1", "", 3, "EF3", true, false, "ef", 3, 1}, {"Eighthfinal 4-1", "EF4-1", "", 4, "EF4", true, false, "ef", 4, 1}, {"Eighthfinal 6-1", "EF6-1", "", 6, "EF6", true, false, "ef", 6, 1}, {"Eighthfinal 7-1", "EF7-1", "", 7, "EF7", true, false, "ef", 7, 1}, {"Eighthfinal 8-1", "EF8-1", "", 8, "EF8", true, false, "ef", 8, 1}, {"Eighthfinal 2-2", "EF2-2", "", 10, "EF2", true, false, "ef", 2, 2}, {"Eighthfinal 3-2", "EF3-2", "", 11, "EF3", true, false, "ef", 3, 2}, {"Eighthfinal 4-2", "EF4-2", "", 12, "EF4", true, false, "ef", 4, 2}, {"Eighthfinal 6-2", "EF6-2", "", 14, "EF6", true, false, "ef", 6, 2}, {"Eighthfinal 7-2", "EF7-2", "", 15, "EF7", true, false, "ef", 7, 2}, {"Eighthfinal 8-2", "EF8-2", "", 16, "EF8", true, false, "ef", 8, 2}, {"Eighthfinal 2-3", "EF2-3", "", 18, "EF2", true, false, "ef", 2, 3}, {"Eighthfinal 3-3", "EF3-3", "", 19, "EF3", true, false, "ef", 3, 3}, {"Eighthfinal 4-3", "EF4-3", "", 20, "EF4", true, false, "ef", 4, 3}, {"Eighthfinal 6-3", "EF6-3", "", 22, "EF6", true, false, "ef", 6, 3}, {"Eighthfinal 7-3", "EF7-3", "", 23, "EF7", true, false, "ef", 7, 3}, {"Eighthfinal 8-3", "EF8-3", "", 24, "EF8", true, false, "ef", 8, 3}, }, ) } assertFullQuarterfinalsOnward(t, matchSpecs, 18) finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:30], []expectedAlliances{ {8, 9}, {4, 13}, {5, 12}, {7, 10}, {3, 14}, {6, 11}, {8, 9}, {4, 13}, {5, 12}, {7, 10}, {3, 14}, {6, 11}, {8, 9}, {4, 13}, {5, 12}, {7, 10}, {3, 14}, {6, 11}, {1, 0}, {0, 0}, {2, 0}, {0, 0}, {1, 0}, {0, 0}, {2, 0}, {0, 0}, {1, 0}, {0, 0}, {2, 0}, {0, 0}, }, ) for i := 30; i < 42; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups( t, matchGroups, "EF2", "EF3", "EF4", "EF6", "EF7", "EF8", "QF1", "QF2", "QF3", "QF4", "SF1", "SF2", "F", ) } func TestSingleEliminationInitialWith15Alliances(t *testing.T) { finalMatchup, _, err := newSingleEliminationBracket(15) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) if assert.Equal(t, 45, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[0:21], []expectedMatchSpec{ {"Eighthfinal 2-1", "EF2-1", "", 2, "EF2", true, false, "ef", 2, 1}, {"Eighthfinal 3-1", "EF3-1", "", 3, "EF3", true, false, "ef", 3, 1}, {"Eighthfinal 4-1", "EF4-1", "", 4, "EF4", true, false, "ef", 4, 1}, {"Eighthfinal 5-1", "EF5-1", "", 5, "EF5", true, false, "ef", 5, 1}, {"Eighthfinal 6-1", "EF6-1", "", 6, "EF6", true, false, "ef", 6, 1}, {"Eighthfinal 7-1", "EF7-1", "", 7, "EF7", true, false, "ef", 7, 1}, {"Eighthfinal 8-1", "EF8-1", "", 8, "EF8", true, false, "ef", 8, 1}, {"Eighthfinal 2-2", "EF2-2", "", 10, "EF2", true, false, "ef", 2, 2}, {"Eighthfinal 3-2", "EF3-2", "", 11, "EF3", true, false, "ef", 3, 2}, {"Eighthfinal 4-2", "EF4-2", "", 12, "EF4", true, false, "ef", 4, 2}, {"Eighthfinal 5-2", "EF5-2", "", 13, "EF5", true, false, "ef", 5, 2}, {"Eighthfinal 6-2", "EF6-2", "", 14, "EF6", true, false, "ef", 6, 2}, {"Eighthfinal 7-2", "EF7-2", "", 15, "EF7", true, false, "ef", 7, 2}, {"Eighthfinal 8-2", "EF8-2", "", 16, "EF8", true, false, "ef", 8, 2}, {"Eighthfinal 2-3", "EF2-3", "", 18, "EF2", true, false, "ef", 2, 3}, {"Eighthfinal 3-3", "EF3-3", "", 19, "EF3", true, false, "ef", 3, 3}, {"Eighthfinal 4-3", "EF4-3", "", 20, "EF4", true, false, "ef", 4, 3}, {"Eighthfinal 5-3", "EF5-3", "", 21, "EF5", true, false, "ef", 5, 3}, {"Eighthfinal 6-3", "EF6-3", "", 22, "EF6", true, false, "ef", 6, 3}, {"Eighthfinal 7-3", "EF7-3", "", 23, "EF7", true, false, "ef", 7, 3}, {"Eighthfinal 8-3", "EF8-3", "", 24, "EF8", true, false, "ef", 8, 3}, }, ) } assertFullQuarterfinalsOnward(t, matchSpecs, 21) finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:33], []expectedAlliances{ {8, 9}, {4, 13}, {5, 12}, {2, 15}, {7, 10}, {3, 14}, {6, 11}, {8, 9}, {4, 13}, {5, 12}, {2, 15}, {7, 10}, {3, 14}, {6, 11}, {8, 9}, {4, 13}, {5, 12}, {2, 15}, {7, 10}, {3, 14}, {6, 11}, {1, 0}, {0, 0}, {0, 0}, {0, 0}, {1, 0}, {0, 0}, {0, 0}, {0, 0}, {1, 0}, {0, 0}, {0, 0}, {0, 0}, }, ) for i := 33; i < 45; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups( t, matchGroups, "EF2", "EF3", "EF4", "EF5", "EF6", "EF7", "EF8", "QF1", "QF2", "QF3", "QF4", "SF1", "SF2", "F", ) } func TestSingleEliminationInitialWith16Alliances(t *testing.T) { finalMatchup, breakSpecs, err := newSingleEliminationBracket(16) assert.Nil(t, err) matchSpecs, err := collectMatchSpecs(finalMatchup) assert.Nil(t, err) if assert.Equal(t, 48, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[0:24], []expectedMatchSpec{ {"Eighthfinal 1-1", "EF1-1", "", 1, "EF1", true, false, "ef", 1, 1}, {"Eighthfinal 2-1", "EF2-1", "", 2, "EF2", true, false, "ef", 2, 1}, {"Eighthfinal 3-1", "EF3-1", "", 3, "EF3", true, false, "ef", 3, 1}, {"Eighthfinal 4-1", "EF4-1", "", 4, "EF4", true, false, "ef", 4, 1}, {"Eighthfinal 5-1", "EF5-1", "", 5, "EF5", true, false, "ef", 5, 1}, {"Eighthfinal 6-1", "EF6-1", "", 6, "EF6", true, false, "ef", 6, 1}, {"Eighthfinal 7-1", "EF7-1", "", 7, "EF7", true, false, "ef", 7, 1}, {"Eighthfinal 8-1", "EF8-1", "", 8, "EF8", true, false, "ef", 8, 1}, {"Eighthfinal 1-2", "EF1-2", "", 9, "EF1", true, false, "ef", 1, 2}, {"Eighthfinal 2-2", "EF2-2", "", 10, "EF2", true, false, "ef", 2, 2}, {"Eighthfinal 3-2", "EF3-2", "", 11, "EF3", true, false, "ef", 3, 2}, {"Eighthfinal 4-2", "EF4-2", "", 12, "EF4", true, false, "ef", 4, 2}, {"Eighthfinal 5-2", "EF5-2", "", 13, "EF5", true, false, "ef", 5, 2}, {"Eighthfinal 6-2", "EF6-2", "", 14, "EF6", true, false, "ef", 6, 2}, {"Eighthfinal 7-2", "EF7-2", "", 15, "EF7", true, false, "ef", 7, 2}, {"Eighthfinal 8-2", "EF8-2", "", 16, "EF8", true, false, "ef", 8, 2}, {"Eighthfinal 1-3", "EF1-3", "", 17, "EF1", true, false, "ef", 1, 3}, {"Eighthfinal 2-3", "EF2-3", "", 18, "EF2", true, false, "ef", 2, 3}, {"Eighthfinal 3-3", "EF3-3", "", 19, "EF3", true, false, "ef", 3, 3}, {"Eighthfinal 4-3", "EF4-3", "", 20, "EF4", true, false, "ef", 4, 3}, {"Eighthfinal 5-3", "EF5-3", "", 21, "EF5", true, false, "ef", 5, 3}, {"Eighthfinal 6-3", "EF6-3", "", 22, "EF6", true, false, "ef", 6, 3}, {"Eighthfinal 7-3", "EF7-3", "", 23, "EF7", true, false, "ef", 7, 3}, {"Eighthfinal 8-3", "EF8-3", "", 24, "EF8", true, false, "ef", 8, 3}, }, ) } assertFullQuarterfinalsOnward(t, matchSpecs, 24) finalMatchup.update(map[int]playoffMatchResult{}) assertMatchSpecAlliances( t, matchSpecs[0:24], []expectedAlliances{ {1, 16}, {8, 9}, {4, 13}, {5, 12}, {2, 15}, {7, 10}, {3, 14}, {6, 11}, {1, 16}, {8, 9}, {4, 13}, {5, 12}, {2, 15}, {7, 10}, {3, 14}, {6, 11}, {1, 16}, {8, 9}, {4, 13}, {5, 12}, {2, 15}, {7, 10}, {3, 14}, {6, 11}, }, ) for i := 24; i < 48; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{0, 0}}) } matchGroups, err := collectMatchGroups(finalMatchup) assert.Nil(t, err) assertMatchGroups( t, matchGroups, "EF1", "EF2", "EF3", "EF4", "EF5", "EF6", "EF7", "EF8", "QF1", "QF2", "QF3", "QF4", "SF1", "SF2", "F", ) if assert.Equal(t, 3, len(breakSpecs)) { assert.Equal(t, breakSpec{43, 480, "Field Break"}, breakSpecs[0]) assert.Equal(t, breakSpec{44, 480, "Field Break"}, breakSpecs[1]) assert.Equal(t, breakSpec{45, 480, "Field Break"}, breakSpecs[2]) } } func TestSingleEliminationErrors(t *testing.T) { _, _, err := newSingleEliminationBracket(1) if assert.NotNil(t, err) { assert.Equal(t, "single-elimination bracket must have at least 2 alliances", err.Error()) } _, _, err = newSingleEliminationBracket(17) if assert.NotNil(t, err) { assert.Equal(t, "single-elimination bracket must have at most 16 alliances", err.Error()) } } func TestSingleEliminationProgression(t *testing.T) { playoffTournament, err := NewPlayoffTournament(model.SingleEliminationPlayoff, 3) assert.Nil(t, err) finalMatchup := playoffTournament.FinalMatchup() matchSpecs := playoffTournament.matchSpecs matchGroups := playoffTournament.MatchGroups() playoffMatchResults := map[int]playoffMatchResult{} assertMatchupOutcome(t, matchGroups["SF2"], "", "") playoffMatchResults[38] = playoffMatchResult{game.RedWonMatch} finalMatchup.update(playoffMatchResults) for i := 3; i < 9; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{1, 0}}) } assertMatchupOutcome(t, matchGroups["SF2"], "", "") playoffMatchResults[40] = playoffMatchResult{game.RedWonMatch} finalMatchup.update(playoffMatchResults) for i := 3; i < 9; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{1, 2}}) } assertMatchupOutcome(t, matchGroups["SF2"], "Advances to Final 1", "Eliminated") // Reverse a previous outcome. playoffMatchResults[40] = playoffMatchResult{game.BlueWonMatch} finalMatchup.update(playoffMatchResults) for i := 3; i < 9; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{1, 0}}) } assertMatchupOutcome(t, matchGroups["SF2"], "", "") playoffMatchResults[42] = playoffMatchResult{game.BlueWonMatch} finalMatchup.update(playoffMatchResults) for i := 3; i < 9; i++ { assertMatchSpecAlliances(t, matchSpecs[i:i+1], []expectedAlliances{{1, 3}}) } assertMatchupOutcome(t, matchGroups["SF2"], "Eliminated", "Advances to Final 1") playoffMatchResults[43] = playoffMatchResult{game.TieMatch} finalMatchup.update(playoffMatchResults) assert.False(t, finalMatchup.IsComplete()) assert.Equal(t, 0, finalMatchup.WinningAllianceId()) assert.Equal(t, 0, finalMatchup.LosingAllianceId()) assertMatchupOutcome(t, matchGroups["F"], "", "") playoffMatchResults[44] = playoffMatchResult{game.RedWonMatch} finalMatchup.update(playoffMatchResults) assert.False(t, finalMatchup.IsComplete()) assert.Equal(t, 0, finalMatchup.WinningAllianceId()) assert.Equal(t, 0, finalMatchup.LosingAllianceId()) assertMatchupOutcome(t, matchGroups["F"], "", "") playoffMatchResults[45] = playoffMatchResult{game.RedWonMatch} finalMatchup.update(playoffMatchResults) assert.True(t, finalMatchup.IsComplete()) assert.Equal(t, 1, finalMatchup.WinningAllianceId()) assert.Equal(t, 3, finalMatchup.LosingAllianceId()) assertMatchupOutcome(t, matchGroups["F"], "Tournament Winner", "Tournament Finalist") // Unscore the previous match. delete(playoffMatchResults, 45) finalMatchup.update(playoffMatchResults) assert.False(t, finalMatchup.IsComplete()) assert.Equal(t, 0, finalMatchup.WinningAllianceId()) assert.Equal(t, 0, finalMatchup.LosingAllianceId()) assertMatchupOutcome(t, matchGroups["F"], "", "") playoffMatchResults[45] = playoffMatchResult{game.BlueWonMatch} finalMatchup.update(playoffMatchResults) assert.False(t, finalMatchup.IsComplete()) assert.Equal(t, 0, finalMatchup.WinningAllianceId()) assert.Equal(t, 0, finalMatchup.LosingAllianceId()) assertMatchupOutcome(t, matchGroups["F"], "", "") playoffMatchResults[46] = playoffMatchResult{game.BlueWonMatch} finalMatchup.update(playoffMatchResults) assert.True(t, finalMatchup.IsComplete()) assert.Equal(t, 3, finalMatchup.WinningAllianceId()) assert.Equal(t, 1, finalMatchup.LosingAllianceId()) assertMatchupOutcome(t, matchGroups["F"], "Tournament Finalist", "Tournament Winner") } func assertFullQuarterfinalsOnward(t *testing.T, matchSpecs []*matchSpec, startingIndex int) { if assert.Equal(t, startingIndex+24, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[startingIndex:startingIndex+12], []expectedMatchSpec{ {"Quarterfinal 1-1", "QF1-1", "", 25, "QF1", true, false, "qf", 1, 1}, {"Quarterfinal 2-1", "QF2-1", "", 26, "QF2", true, false, "qf", 2, 1}, {"Quarterfinal 3-1", "QF3-1", "", 27, "QF3", true, false, "qf", 3, 1}, {"Quarterfinal 4-1", "QF4-1", "", 28, "QF4", true, false, "qf", 4, 1}, {"Quarterfinal 1-2", "QF1-2", "", 29, "QF1", true, false, "qf", 1, 2}, {"Quarterfinal 2-2", "QF2-2", "", 30, "QF2", true, false, "qf", 2, 2}, {"Quarterfinal 3-2", "QF3-2", "", 31, "QF3", true, false, "qf", 3, 2}, {"Quarterfinal 4-2", "QF4-2", "", 32, "QF4", true, false, "qf", 4, 2}, {"Quarterfinal 1-3", "QF1-3", "", 33, "QF1", true, false, "qf", 1, 3}, {"Quarterfinal 2-3", "QF2-3", "", 34, "QF2", true, false, "qf", 2, 3}, {"Quarterfinal 3-3", "QF3-3", "", 35, "QF3", true, false, "qf", 3, 3}, {"Quarterfinal 4-3", "QF4-3", "", 36, "QF4", true, false, "qf", 4, 3}, }, ) } assertFullSemifinalsOnward(t, matchSpecs, startingIndex+12) } func assertFullSemifinalsOnward(t *testing.T, matchSpecs []*matchSpec, startingIndex int) { if assert.Equal(t, startingIndex+12, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[startingIndex:startingIndex+6], []expectedMatchSpec{ {"Semifinal 1-1", "SF1-1", "", 37, "SF1", true, false, "sf", 1, 1}, {"Semifinal 2-1", "SF2-1", "", 38, "SF2", true, false, "sf", 2, 1}, {"Semifinal 1-2", "SF1-2", "", 39, "SF1", true, false, "sf", 1, 2}, {"Semifinal 2-2", "SF2-2", "", 40, "SF2", true, false, "sf", 2, 2}, {"Semifinal 1-3", "SF1-3", "", 41, "SF1", true, false, "sf", 1, 3}, {"Semifinal 2-3", "SF2-3", "", 42, "SF2", true, false, "sf", 2, 3}, }, ) } assertFullFinals(t, matchSpecs, startingIndex+6) } func assertFullFinals(t *testing.T, matchSpecs []*matchSpec, startingIndex int) { if assert.Equal(t, startingIndex+6, len(matchSpecs)) { assertMatchSpecs( t, matchSpecs[startingIndex:startingIndex+6], []expectedMatchSpec{ {"Final 1", "F1", "", 43, "F", false, false, "f", 1, 1}, {"Final 2", "F2", "", 44, "F", false, false, "f", 1, 2}, {"Final 3", "F3", "", 45, "F", false, false, "f", 1, 3}, {"Overtime 1", "O1", "", 46, "F", true, true, "f", 1, 4}, {"Overtime 2", "O2", "", 47, "F", true, true, "f", 1, 5}, {"Overtime 3", "O3", "", 48, "F", true, true, "f", 1, 6}, }, ) } } ================================================ FILE: playoff/test_helpers.go ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Helper methods for use in tests in this package and others. package playoff import ( "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "testing" ) func setupTestDb(t *testing.T) *model.Database { return model.SetupTestDb(t) } type expectedMatchSpec struct { longName string shortName string nameDetail string order int matchGroupId string useTiebreakCriteria bool isHidden bool tbaCompLevel string tbaSetNumber int tbaMatchNumber int } func assertMatchSpecs( t *testing.T, matchSpecs []*matchSpec, expected []expectedMatchSpec, ) { if assert.Equal(t, len(expected), len(matchSpecs)) { for i, expectedValue := range expected { assert.Equal(t, expectedValue.longName, matchSpecs[i].longName) assert.Equal(t, expectedValue.shortName, matchSpecs[i].shortName) assert.Equal(t, expectedValue.nameDetail, matchSpecs[i].nameDetail) assert.Equal(t, expectedValue.matchGroupId, matchSpecs[i].matchGroupId) assert.Equal(t, expectedValue.order, matchSpecs[i].order) assert.Equal(t, expectedValue.useTiebreakCriteria, matchSpecs[i].useTiebreakCriteria) assert.Equal(t, expectedValue.isHidden, matchSpecs[i].isHidden) assert.Equal(t, expectedValue.tbaCompLevel, matchSpecs[i].tbaMatchKey.CompLevel) assert.Equal(t, expectedValue.tbaSetNumber, matchSpecs[i].tbaMatchKey.SetNumber) assert.Equal(t, expectedValue.tbaMatchNumber, matchSpecs[i].tbaMatchKey.MatchNumber) assert.Equal(t, 0, matchSpecs[i].redAllianceId) assert.Equal(t, 0, matchSpecs[i].blueAllianceId) } } } type expectedAlliances struct { redAllianceId int blueAllianceId int } func assertMatchSpecAlliances( t *testing.T, matchSpecs []*matchSpec, expected []expectedAlliances, ) { if assert.Equal(t, len(expected), len(matchSpecs)) { for i, alliance := range expected { assert.Equal(t, alliance.redAllianceId, matchSpecs[i].redAllianceId) assert.Equal(t, alliance.blueAllianceId, matchSpecs[i].blueAllianceId) } } } func assertMatchGroups( t *testing.T, matchGroups map[string]MatchGroup, expectedMatchGroupIds ...string, ) { assert.Equal(t, len(expectedMatchGroupIds), len(matchGroups)) for _, expectedMatchGroupId := range expectedMatchGroupIds { assert.Contains(t, matchGroups, expectedMatchGroupId) } } func assertMatch( t *testing.T, match model.Match, typeOrder int, timeSec int64, longName string, shortName string, nameDetail string, matchGroupId string, redAlliance int, blueAlliance int, useTiebreakCriteria bool, tbaCompLevel string, tbaSetNumber int, tbaMatchNumber int, ) { assert.Equal(t, model.Playoff, match.Type) assert.Equal(t, typeOrder, match.TypeOrder) assert.Equal(t, timeSec, match.Time.Unix()) assert.Equal(t, longName, match.LongName) assert.Equal(t, shortName, match.ShortName) assert.Equal(t, nameDetail, match.NameDetail) assert.Equal(t, matchGroupId, match.PlayoffMatchGroupId) assert.Equal(t, redAlliance, match.PlayoffRedAlliance) assert.Equal(t, blueAlliance, match.PlayoffBlueAlliance) if redAlliance == 0 { assert.Equal(t, 0, match.Red1) assert.Equal(t, 0, match.Red2) assert.Equal(t, 0, match.Red3) } else { assert.Equal(t, 100*redAlliance+2, match.Red1) assert.Equal(t, 100*redAlliance+1, match.Red2) assert.Equal(t, 100*redAlliance+3, match.Red3) } if blueAlliance == 0 { assert.Equal(t, 0, match.Blue1) assert.Equal(t, 0, match.Blue2) assert.Equal(t, 0, match.Blue3) } else { assert.Equal(t, 100*blueAlliance+2, match.Blue1) assert.Equal(t, 100*blueAlliance+1, match.Blue2) assert.Equal(t, 100*blueAlliance+3, match.Blue3) } assert.Equal(t, useTiebreakCriteria, match.UseTiebreakCriteria) assert.Equal(t, tbaCompLevel, match.TbaMatchKey.CompLevel) assert.Equal(t, tbaSetNumber, match.TbaMatchKey.SetNumber) assert.Equal(t, tbaMatchNumber, match.TbaMatchKey.MatchNumber) } func assertBreak( t *testing.T, scheduledBreak model.ScheduledBreak, typeOrderBefore int, timeSec int64, durationSec int, description string, ) { assert.Equal(t, model.Playoff, scheduledBreak.MatchType) assert.Equal(t, typeOrderBefore, scheduledBreak.TypeOrderBefore) assert.Equal(t, timeSec, scheduledBreak.Time.Unix()) assert.Equal(t, durationSec, scheduledBreak.DurationSec) assert.Equal(t, description, scheduledBreak.Description) } func assertMatchupOutcome(t *testing.T, matchGroup MatchGroup, redDestination string, blueDestination string) { matchup, ok := matchGroup.(*Matchup) if assert.True(t, ok) { assert.Equal(t, redDestination, matchup.RedAllianceDestination()) assert.Equal(t, blueDestination, matchup.BlueAllianceDestination()) } } ================================================ FILE: plc/armorblock_string.go ================================================ // Code generated by "stringer -type=armorBlock"; DO NOT EDIT. package plc import "strconv" func _() { // An "invalid array index" compiler error signifies that the constant values have changed. // Re-run the stringer command to generate them again. var x [1]struct{} _ = x[redDs-0] _ = x[blueDs-1] _ = x[redIoLink-2] _ = x[blueIoLink-3] _ = x[armorBlockCount-4] } const _armorBlock_name = "redDsblueDsredIoLinkblueIoLinkarmorBlockCount" var _armorBlock_index = [...]uint8{0, 5, 11, 20, 30, 45} func (i armorBlock) String() string { if i < 0 || i >= armorBlock(len(_armorBlock_index)-1) { return "armorBlock(" + strconv.FormatInt(int64(i), 10) + ")" } return _armorBlock_name[_armorBlock_index[i]:_armorBlock_index[i+1]] } ================================================ FILE: plc/coil_string.go ================================================ // Code generated by "stringer -type=coil"; DO NOT EDIT. package plc import "strconv" func _() { // An "invalid array index" compiler error signifies that the constant values have changed. // Re-run the stringer command to generate them again. var x [1]struct{} _ = x[heartbeat-0] _ = x[matchReset-1] _ = x[stackLightGreen-2] _ = x[stackLightOrange-3] _ = x[stackLightRed-4] _ = x[stackLightBlue-5] _ = x[stackLightBuzzer-6] _ = x[fieldResetLight-7] _ = x[redTrussLightOuter-8] _ = x[redTrussLightMiddle-9] _ = x[redTrussLightInner-10] _ = x[blueTrussLightOuter-11] _ = x[blueTrussLightMiddle-12] _ = x[blueTrussLightInner-13] _ = x[coilCount-14] } const _coil_name = "heartbeatmatchResetstackLightGreenstackLightOrangestackLightRedstackLightBluestackLightBuzzerfieldResetLightredTrussLightOuterredTrussLightMiddleredTrussLightInnerblueTrussLightOuterblueTrussLightMiddleblueTrussLightInnercoilCount" var _coil_index = [...]uint8{0, 9, 19, 34, 50, 63, 77, 93, 108, 126, 145, 163, 182, 202, 221, 230} func (i coil) String() string { if i < 0 || i >= coil(len(_coil_index)-1) { return "coil(" + strconv.FormatInt(int64(i), 10) + ")" } return _coil_name[_coil_index[i]:_coil_index[i+1]] } ================================================ FILE: plc/fake_modbus_client_test.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Contains a fake implementation of the modbus.Client interface for testing. package plc import "errors" type FakeModbusClient struct { inputs [32]bool registers [32]uint16 coils [32]bool returnError bool } func (client *FakeModbusClient) ReadCoils(address, quantity uint16) (results []byte, err error) { return nil, nil } func (client *FakeModbusClient) ReadDiscreteInputs(address, quantity uint16) (results []byte, err error) { if address != 0 { return nil, errors.New("unexpected address") } if client.returnError { return nil, errors.New("dummy error") } inputsToRead := client.inputs[0:quantity] return boolToByte(inputsToRead), nil } func (client *FakeModbusClient) WriteSingleCoil(address, value uint16) (results []byte, err error) { return nil, nil } func (client *FakeModbusClient) WriteMultipleCoils(address, quantity uint16, value []byte) (results []byte, err error) { if address != 0 { return nil, errors.New("unexpected address") } bools := byteToBool(value, int(quantity)) for i, b := range bools { client.coils[i] = b } return nil, nil } func (client *FakeModbusClient) ReadInputRegisters(address, quantity uint16) (results []byte, err error) { return nil, nil } func (client *FakeModbusClient) ReadHoldingRegisters(address, quantity uint16) (results []byte, err error) { if address != 0 { return nil, errors.New("unexpected address") } registersToRead := client.registers[0:quantity] bytes := make([]byte, len(registersToRead)*2) for i, value := range registersToRead { bytes[2*i] = byte(value >> 8) bytes[2*i+1] = byte(value) } return bytes, nil } func (client *FakeModbusClient) WriteSingleRegister(address, value uint16) (results []byte, err error) { return nil, nil } func (client *FakeModbusClient) WriteMultipleRegisters( address, quantity uint16, value []byte, ) (results []byte, err error) { return nil, nil } func (client *FakeModbusClient) ReadWriteMultipleRegisters( readAddress, readQuantity, writeAddress, writeQuantity uint16, value []byte, ) (results []byte, err error) { return nil, nil } func (client *FakeModbusClient) MaskWriteRegister(address, andMask, orMask uint16) (results []byte, err error) { return nil, nil } func (client *FakeModbusClient) ReadFIFOQueue(address uint16) (results []byte, err error) { return nil, nil } ================================================ FILE: plc/input_string.go ================================================ // Code generated by "stringer -type=input"; DO NOT EDIT. package plc import "strconv" func _() { // An "invalid array index" compiler error signifies that the constant values have changed. // Re-run the stringer command to generate them again. var x [1]struct{} _ = x[fieldEStop-0] _ = x[red1EStop-1] _ = x[red1AStop-2] _ = x[red2EStop-3] _ = x[red2AStop-4] _ = x[red3EStop-5] _ = x[red3AStop-6] _ = x[blue1EStop-7] _ = x[blue1AStop-8] _ = x[blue2EStop-9] _ = x[blue2AStop-10] _ = x[blue3EStop-11] _ = x[blue3AStop-12] _ = x[redConnected1-13] _ = x[redConnected2-14] _ = x[redConnected3-15] _ = x[blueConnected1-16] _ = x[blueConnected2-17] _ = x[blueConnected3-18] _ = x[inputCount-19] } const _input_name = "fieldEStopred1EStopred1AStopred2EStopred2AStopred3EStopred3AStopblue1EStopblue1AStopblue2EStopblue2AStopblue3EStopblue3AStopredConnected1redConnected2redConnected3blueConnected1blueConnected2blueConnected3inputCount" var _input_index = [...]uint8{0, 10, 19, 28, 37, 46, 55, 64, 74, 84, 94, 104, 114, 124, 137, 150, 163, 177, 191, 205, 215} func (i input) String() string { if i < 0 || i >= input(len(_input_index)-1) { return "input(" + strconv.FormatInt(int64(i), 10) + ")" } return _input_name[_input_index[i]:_input_index[i+1]] } ================================================ FILE: plc/plc.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Methods for interfacing with the field PLC. package plc import ( "fmt" "github.com/Team254/cheesy-arena/websocket" "github.com/goburrow/modbus" "log" "strings" "time" ) type Plc interface { SetAddress(address string) IsEnabled() bool IsHealthy() bool IoChangeNotifier() *websocket.Notifier Run() GetArmorBlockStatuses() map[string]bool GetFieldEStop() bool GetTeamEStops() ([3]bool, [3]bool) GetTeamAStops() ([3]bool, [3]bool) GetEthernetConnected() ([3]bool, [3]bool) ResetMatch() SetStackLights(red, blue, orange, green bool) SetStackBuzzer(state bool) SetFieldResetLight(state bool) GetCycleState(max, index, duration int) bool GetInputNames() []string GetRegisterNames() []string GetCoilNames() []string GetProcessorCounts() (int, int) SetTrussLights(redLights, blueLights [3]bool) } type ModbusPlc struct { address string handler *modbus.TCPClientHandler client modbus.Client isHealthy bool ioChangeNotifier *websocket.Notifier inputs [inputCount]bool registers [registerCount]uint16 coils [coilCount]bool oldInputs [inputCount]bool oldRegisters [registerCount]uint16 oldCoils [coilCount]bool cycleCounter int matchResetCycles int } const ( modbusPort = 502 plcLoopPeriodMs = 100 plcRetryIntevalSec = 3 cycleCounterMax = 100 ) // Discrete inputs // //go:generate stringer -type=input type input int const ( fieldEStop input = iota red1EStop red1AStop red2EStop red2AStop red3EStop red3AStop blue1EStop blue1AStop blue2EStop blue2AStop blue3EStop blue3AStop redConnected1 redConnected2 redConnected3 blueConnected1 blueConnected2 blueConnected3 inputCount ) // 16-bit registers // //go:generate stringer -type=register type register int const ( fieldIoConnection register = iota redProcessor blueProcessor registerCount ) // Coils // //go:generate stringer -type=coil type coil int const ( heartbeat coil = iota matchReset stackLightGreen stackLightOrange stackLightRed stackLightBlue stackLightBuzzer fieldResetLight redTrussLightOuter redTrussLightMiddle redTrussLightInner blueTrussLightOuter blueTrussLightMiddle blueTrussLightInner coilCount ) // Bitmask for decoding fieldIoConnection into individual ArmorBlock connection statuses. // //go:generate stringer -type=armorBlock type armorBlock int const ( redDs armorBlock = iota blueDs redIoLink blueIoLink armorBlockCount ) func (plc *ModbusPlc) SetAddress(address string) { plc.address = address plc.resetConnection() if plc.ioChangeNotifier == nil { // Register a notifier that listeners can subscribe to to get websocket updates about I/O value changes. plc.ioChangeNotifier = websocket.NewNotifier("plcIoChange", plc.generateIoChangeMessage) } } // Returns true if the PLC is enabled in the configurations. func (plc *ModbusPlc) IsEnabled() bool { return plc.address != "" } // Returns true if the PLC is connected and responding to requests. func (plc *ModbusPlc) IsHealthy() bool { return plc.isHealthy } // Returns a notifier which fires whenever the I/O values change. func (plc *ModbusPlc) IoChangeNotifier() *websocket.Notifier { return plc.ioChangeNotifier } // Loops indefinitely to read inputs from and write outputs to PLC. func (plc *ModbusPlc) Run() { for { if plc.handler == nil { if !plc.IsEnabled() { // No PLC is configured; just allow the loop to continue to simulate inputs and outputs. plc.isHealthy = false } else { err := plc.connect() if err != nil { log.Printf("PLC error: %v", err) time.Sleep(time.Second * plcRetryIntevalSec) plc.isHealthy = false continue } } } startTime := time.Now() plc.update() time.Sleep(time.Until(startTime.Add(time.Millisecond * plcLoopPeriodMs))) } } // Returns a map of ArmorBlocks I/O module names to whether they are connected properly. func (plc *ModbusPlc) GetArmorBlockStatuses() map[string]bool { statuses := make(map[string]bool, armorBlockCount) for i := 0; i < int(armorBlockCount); i++ { statuses[strings.Title(armorBlock(i).String())] = plc.registers[fieldIoConnection]&(1< 0 } return statuses } // Returns the state of the field emergency stop button (true if e-stop is active). func (plc *ModbusPlc) GetFieldEStop() bool { return !plc.inputs[fieldEStop] } // Returns the state of the red and blue driver station emergency stop buttons (true if E-stop is active). func (plc *ModbusPlc) GetTeamEStops() ([3]bool, [3]bool) { var redEStops, blueEStops [3]bool redEStops[0] = !plc.inputs[red1EStop] redEStops[1] = !plc.inputs[red2EStop] redEStops[2] = !plc.inputs[red3EStop] blueEStops[0] = !plc.inputs[blue1EStop] blueEStops[1] = !plc.inputs[blue2EStop] blueEStops[2] = !plc.inputs[blue3EStop] return redEStops, blueEStops } // Returns the state of the red and blue driver station autonomous stop buttons (true if A-stop is active). func (plc *ModbusPlc) GetTeamAStops() ([3]bool, [3]bool) { var redAStops, blueAStops [3]bool redAStops[0] = !plc.inputs[red1AStop] redAStops[1] = !plc.inputs[red2AStop] redAStops[2] = !plc.inputs[red3AStop] blueAStops[0] = !plc.inputs[blue1AStop] blueAStops[1] = !plc.inputs[blue2AStop] blueAStops[2] = !plc.inputs[blue3AStop] return redAStops, blueAStops } // Returns whether anything is connected to each station's designated Ethernet port on the SCC. func (plc *ModbusPlc) GetEthernetConnected() ([3]bool, [3]bool) { return [3]bool{ plc.inputs[redConnected1], plc.inputs[redConnected2], plc.inputs[redConnected3], }, [3]bool{ plc.inputs[blueConnected1], plc.inputs[blueConnected2], plc.inputs[blueConnected3], } } // Resets the internal state of the PLC to start a new match. func (plc *ModbusPlc) ResetMatch() { plc.coils[matchReset] = true plc.matchResetCycles = 0 // Clear register variables (other than fieldIoConnection) so that any values from pre-match testing don't carry // over. for i := 1; i < int(registerCount); i++ { plc.registers[i] = 0 } } // Sets the on/off state of the stack lights on the scoring table. func (plc *ModbusPlc) SetStackLights(red, blue, orange, green bool) { plc.coils[stackLightRed] = red plc.coils[stackLightBlue] = blue plc.coils[stackLightOrange] = orange plc.coils[stackLightGreen] = green } // Triggers the "match ready" chime if the state is true. func (plc *ModbusPlc) SetStackBuzzer(state bool) { plc.coils[stackLightBuzzer] = state } // Sets the on/off state of the field reset light. func (plc *ModbusPlc) SetFieldResetLight(state bool) { plc.coils[fieldResetLight] = state } func (plc *ModbusPlc) GetCycleState(max, index, duration int) bool { return plc.cycleCounter/duration%max == index } func (plc *ModbusPlc) GetInputNames() []string { inputNames := make([]string, inputCount) for i := range plc.inputs { inputNames[i] = input(i).String() } return inputNames } func (plc *ModbusPlc) GetRegisterNames() []string { registerNames := make([]string, registerCount) for i := range plc.registers { registerNames[i] = register(i).String() } return registerNames } func (plc *ModbusPlc) GetCoilNames() []string { coilNames := make([]string, coilCount) for i := range plc.coils { coilNames[i] = coil(i).String() } return coilNames } // Returns the red and blue processor counts, respectively. func (plc *ModbusPlc) GetProcessorCounts() (int, int) { return int(plc.registers[redProcessor]), int(plc.registers[blueProcessor]) } // Sets the state of the red and blue truss lights. Each array represents the outer, middle, and inner lights, // respectively. func (plc *ModbusPlc) SetTrussLights(redLights, blueLights [3]bool) { plc.coils[redTrussLightOuter] = redLights[0] plc.coils[redTrussLightMiddle] = redLights[1] plc.coils[redTrussLightInner] = redLights[2] plc.coils[blueTrussLightOuter] = blueLights[0] plc.coils[blueTrussLightMiddle] = blueLights[1] plc.coils[blueTrussLightInner] = blueLights[2] } func (plc *ModbusPlc) connect() error { address := fmt.Sprintf("%s:%d", plc.address, modbusPort) handler := modbus.NewTCPClientHandler(address) handler.Timeout = 1 * time.Second handler.SlaveId = 0xFF err := handler.Connect() if err != nil { return err } log.Printf("Connected to PLC at %s", address) plc.handler = handler plc.client = modbus.NewClient(plc.handler) plc.writeCoils() // Force initial write of the coils upon connection since they may not be triggered by a change. return nil } func (plc *ModbusPlc) resetConnection() { if plc.handler != nil { plc.handler.Close() plc.handler = nil } } // Performs a single iteration of reading inputs from and writing outputs to the PLC. func (plc *ModbusPlc) update() { if plc.handler != nil { isHealthy := true isHealthy = isHealthy && plc.writeCoils() isHealthy = isHealthy && plc.readInputs() isHealthy = isHealthy && plc.readRegisters() if !isHealthy { plc.resetConnection() } plc.isHealthy = isHealthy } plc.cycleCounter++ if plc.cycleCounter == cycleCounterMax { plc.cycleCounter = 0 } // Detect any changes in input or output and notify listeners if so. if plc.inputs != plc.oldInputs || plc.registers != plc.oldRegisters || plc.coils != plc.oldCoils { plc.ioChangeNotifier.Notify() plc.oldInputs = plc.inputs plc.oldRegisters = plc.registers plc.oldCoils = plc.coils } } func (plc *ModbusPlc) readInputs() bool { if len(plc.inputs) == 0 { return true } inputs, err := plc.client.ReadDiscreteInputs(0, uint16(len(plc.inputs))) if err != nil { log.Printf("PLC error reading inputs: %v", err) return false } if len(inputs)*8 < len(plc.inputs) { log.Printf("Insufficient length of PLC inputs: got %d bytes, expected %d bits.", len(inputs), len(plc.inputs)) return false } copy(plc.inputs[:], byteToBool(inputs, len(plc.inputs))) return true } func (plc *ModbusPlc) readRegisters() bool { if len(plc.registers) == 0 { return true } registers, err := plc.client.ReadHoldingRegisters(0, uint16(len(plc.registers))) if err != nil { log.Printf("PLC error reading registers: %v", err) return false } if len(registers)/2 < len(plc.registers) { log.Printf( "Insufficient length of PLC registers: got %d bytes, expected %d words.", len(registers), len(plc.registers), ) return false } copy(plc.registers[:], byteToUint(registers, len(plc.registers))) return true } func (plc *ModbusPlc) writeCoils() bool { // Send a heartbeat to the PLC so that it can disable outputs if the connection is lost. plc.coils[heartbeat] = true coils := boolToByte(plc.coils[:]) _, err := plc.client.WriteMultipleCoils(0, uint16(len(plc.coils)), coils) if err != nil { log.Printf("PLC error writing coils: %v", err) return false } if plc.matchResetCycles > 5 { plc.coils[matchReset] = false // Only need a short pulse to reset the internal state of the PLC. } else { plc.matchResetCycles++ } return true } func (plc *ModbusPlc) generateIoChangeMessage() any { return &struct { Inputs []bool Registers []uint16 Coils []bool }{plc.inputs[:], plc.registers[:], plc.coils[:]} } func byteToBool(bytes []byte, size int) []bool { bools := make([]bool, size) for i := 0; i < size; i++ { byteIndex := i / 8 bitIndex := uint(i % 8) bitMask := byte(1 << bitIndex) bools[i] = bytes[byteIndex]&bitMask != 0 } return bools } func byteToUint(bytes []byte, size int) []uint16 { uints := make([]uint16, size) for i := 0; i < size; i++ { uints[i] = uint16(bytes[2*i])<<8 + uint16(bytes[2*i+1]) } return uints } func boolToByte(bools []bool) []byte { bytes := make([]byte, (len(bools)+7)/8) for i, bit := range bools { if bit { bytes[i/8] |= 1 << uint(i%8) } } return bytes } ================================================ FILE: plc/plc_test.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package plc import ( "github.com/Team254/cheesy-arena/websocket" "github.com/goburrow/modbus" "github.com/stretchr/testify/assert" "testing" ) func TestPlcInitialization(t *testing.T) { var client FakeModbusClient var plc ModbusPlc var notifier websocket.Notifier plc.client = &client plc.handler = modbus.NewTCPClientHandler("dummy") plc.ioChangeNotifier = ¬ifier assert.Equal(t, false, plc.IsEnabled()) plc.SetAddress("dummy") assert.Equal(t, true, plc.IsEnabled()) assert.Equal(t, ¬ifier, plc.IoChangeNotifier()) } func TestPlcGetCycleState(t *testing.T) { var client FakeModbusClient var plc ModbusPlc plc.client = &client plc.handler = modbus.NewTCPClientHandler("dummy") plc.ioChangeNotifier = &websocket.Notifier{} assert.Equal(t, false, plc.GetCycleState(3, 1, 2)) plc.update() assert.Equal(t, false, plc.GetCycleState(3, 1, 2)) plc.update() assert.Equal(t, true, plc.GetCycleState(3, 1, 2)) plc.update() assert.Equal(t, true, plc.GetCycleState(3, 1, 2)) plc.update() assert.Equal(t, false, plc.GetCycleState(3, 1, 2)) plc.update() assert.Equal(t, false, plc.GetCycleState(3, 1, 2)) plc.update() assert.Equal(t, false, plc.GetCycleState(3, 1, 2)) plc.update() assert.Equal(t, false, plc.GetCycleState(3, 1, 2)) plc.update() assert.Equal(t, true, plc.GetCycleState(3, 1, 2)) plc.update() assert.Equal(t, true, plc.GetCycleState(3, 1, 2)) plc.update() assert.Equal(t, false, plc.GetCycleState(3, 1, 2)) plc.update() assert.Equal(t, false, plc.GetCycleState(3, 1, 2)) } func TestPlcGetNames(t *testing.T) { var plc ModbusPlc assert.Equal( t, []string{ "fieldEStop", "red1EStop", "red1AStop", "red2EStop", "red2AStop", "red3EStop", "red3AStop", "blue1EStop", "blue1AStop", "blue2EStop", "blue2AStop", "blue3EStop", "blue3AStop", "redConnected1", "redConnected2", "redConnected3", "blueConnected1", "blueConnected2", "blueConnected3", }, plc.GetInputNames(), ) assert.Equal( t, []string{ "fieldIoConnection", "redProcessor", "blueProcessor", }, plc.GetRegisterNames(), ) assert.Equal( t, []string{ "heartbeat", "matchReset", "stackLightGreen", "stackLightOrange", "stackLightRed", "stackLightBlue", "stackLightBuzzer", "fieldResetLight", "redTrussLightOuter", "redTrussLightMiddle", "redTrussLightInner", "blueTrussLightOuter", "blueTrussLightMiddle", "blueTrussLightInner", }, plc.GetCoilNames(), ) } func TestPlcInputs(t *testing.T) { var client FakeModbusClient var plc ModbusPlc plc.client = &client plc.handler = modbus.NewTCPClientHandler("dummy") plc.ioChangeNotifier = &websocket.Notifier{} client.inputs[0] = true plc.update() assert.Equal(t, false, plc.GetFieldEStop()) client.inputs[0] = false plc.update() assert.Equal(t, true, plc.GetFieldEStop()) client.inputs[1] = true client.inputs[2] = true client.inputs[3] = true client.inputs[4] = true client.inputs[5] = true client.inputs[6] = true client.inputs[7] = true client.inputs[8] = true client.inputs[9] = true client.inputs[10] = true client.inputs[11] = true client.inputs[12] = true plc.update() redEStops, blueEStops := plc.GetTeamEStops() redAStops, blueAStops := plc.GetTeamAStops() assert.Equal(t, [3]bool{false, false, false}, redEStops) assert.Equal(t, [3]bool{false, false, false}, blueEStops) assert.Equal(t, [3]bool{false, false, false}, redAStops) assert.Equal(t, [3]bool{false, false, false}, blueAStops) client.inputs[1] = false plc.update() redEStops, blueEStops = plc.GetTeamEStops() redAStops, blueAStops = plc.GetTeamAStops() assert.Equal(t, [3]bool{true, false, false}, redEStops) assert.Equal(t, [3]bool{false, false, false}, blueEStops) assert.Equal(t, [3]bool{false, false, false}, redAStops) assert.Equal(t, [3]bool{false, false, false}, blueAStops) client.inputs[2] = false plc.update() redEStops, blueEStops = plc.GetTeamEStops() redAStops, blueAStops = plc.GetTeamAStops() assert.Equal(t, [3]bool{true, false, false}, redEStops) assert.Equal(t, [3]bool{false, false, false}, blueEStops) assert.Equal(t, [3]bool{true, false, false}, redAStops) assert.Equal(t, [3]bool{false, false, false}, blueAStops) client.inputs[3] = false plc.update() redEStops, blueEStops = plc.GetTeamEStops() redAStops, blueAStops = plc.GetTeamAStops() assert.Equal(t, [3]bool{true, true, false}, redEStops) assert.Equal(t, [3]bool{false, false, false}, blueEStops) assert.Equal(t, [3]bool{true, false, false}, redAStops) assert.Equal(t, [3]bool{false, false, false}, blueAStops) client.inputs[4] = false plc.update() redEStops, blueEStops = plc.GetTeamEStops() redAStops, blueAStops = plc.GetTeamAStops() assert.Equal(t, [3]bool{true, true, false}, redEStops) assert.Equal(t, [3]bool{false, false, false}, blueEStops) assert.Equal(t, [3]bool{true, true, false}, redAStops) assert.Equal(t, [3]bool{false, false, false}, blueAStops) client.inputs[5] = false plc.update() redEStops, blueEStops = plc.GetTeamEStops() redAStops, blueAStops = plc.GetTeamAStops() assert.Equal(t, [3]bool{true, true, true}, redEStops) assert.Equal(t, [3]bool{false, false, false}, blueEStops) assert.Equal(t, [3]bool{true, true, false}, redAStops) assert.Equal(t, [3]bool{false, false, false}, blueAStops) client.inputs[6] = false plc.update() redEStops, blueEStops = plc.GetTeamEStops() redAStops, blueAStops = plc.GetTeamAStops() assert.Equal(t, [3]bool{true, true, true}, redEStops) assert.Equal(t, [3]bool{false, false, false}, blueEStops) assert.Equal(t, [3]bool{true, true, true}, redAStops) assert.Equal(t, [3]bool{false, false, false}, blueAStops) client.inputs[7] = false plc.update() redEStops, blueEStops = plc.GetTeamEStops() redAStops, blueAStops = plc.GetTeamAStops() assert.Equal(t, [3]bool{true, true, true}, redEStops) assert.Equal(t, [3]bool{true, false, false}, blueEStops) assert.Equal(t, [3]bool{true, true, true}, redAStops) assert.Equal(t, [3]bool{false, false, false}, blueAStops) client.inputs[8] = false plc.update() redEStops, blueEStops = plc.GetTeamEStops() redAStops, blueAStops = plc.GetTeamAStops() assert.Equal(t, [3]bool{true, true, true}, redEStops) assert.Equal(t, [3]bool{true, false, false}, blueEStops) assert.Equal(t, [3]bool{true, true, true}, redAStops) assert.Equal(t, [3]bool{true, false, false}, blueAStops) client.inputs[9] = false plc.update() redEStops, blueEStops = plc.GetTeamEStops() redAStops, blueAStops = plc.GetTeamAStops() assert.Equal(t, [3]bool{true, true, true}, redEStops) assert.Equal(t, [3]bool{true, true, false}, blueEStops) assert.Equal(t, [3]bool{true, true, true}, redAStops) assert.Equal(t, [3]bool{true, false, false}, blueAStops) client.inputs[10] = false plc.update() redEStops, blueEStops = plc.GetTeamEStops() redAStops, blueAStops = plc.GetTeamAStops() assert.Equal(t, [3]bool{true, true, true}, redEStops) assert.Equal(t, [3]bool{true, true, false}, blueEStops) assert.Equal(t, [3]bool{true, true, true}, redAStops) assert.Equal(t, [3]bool{true, true, false}, blueAStops) client.inputs[11] = false plc.update() redEStops, blueEStops = plc.GetTeamEStops() redAStops, blueAStops = plc.GetTeamAStops() assert.Equal(t, [3]bool{true, true, true}, redEStops) assert.Equal(t, [3]bool{true, true, true}, blueEStops) assert.Equal(t, [3]bool{true, true, true}, redAStops) assert.Equal(t, [3]bool{true, true, false}, blueAStops) client.inputs[12] = false plc.update() redEStops, blueEStops = plc.GetTeamEStops() redAStops, blueAStops = plc.GetTeamAStops() assert.Equal(t, [3]bool{true, true, true}, redEStops) assert.Equal(t, [3]bool{true, true, true}, blueEStops) assert.Equal(t, [3]bool{true, true, true}, redAStops) assert.Equal(t, [3]bool{true, true, true}, blueAStops) client.inputs[13] = false client.inputs[14] = false client.inputs[15] = false client.inputs[16] = false client.inputs[17] = false client.inputs[18] = false plc.update() redConnected, blueConnected := plc.GetEthernetConnected() assert.Equal(t, [3]bool{false, false, false}, redConnected) assert.Equal(t, [3]bool{false, false, false}, blueConnected) client.inputs[13] = true plc.update() redConnected, blueConnected = plc.GetEthernetConnected() assert.Equal(t, [3]bool{true, false, false}, redConnected) assert.Equal(t, [3]bool{false, false, false}, blueConnected) client.inputs[14] = true plc.update() redConnected, blueConnected = plc.GetEthernetConnected() assert.Equal(t, [3]bool{true, true, false}, redConnected) assert.Equal(t, [3]bool{false, false, false}, blueConnected) client.inputs[15] = true plc.update() redConnected, blueConnected = plc.GetEthernetConnected() assert.Equal(t, [3]bool{true, true, true}, redConnected) assert.Equal(t, [3]bool{false, false, false}, blueConnected) client.inputs[16] = true plc.update() redConnected, blueConnected = plc.GetEthernetConnected() assert.Equal(t, [3]bool{true, true, true}, redConnected) assert.Equal(t, [3]bool{true, false, false}, blueConnected) client.inputs[17] = true plc.update() redConnected, blueConnected = plc.GetEthernetConnected() assert.Equal(t, [3]bool{true, true, true}, redConnected) assert.Equal(t, [3]bool{true, true, false}, blueConnected) client.inputs[18] = true plc.update() redConnected, blueConnected = plc.GetEthernetConnected() assert.Equal(t, [3]bool{true, true, true}, redConnected) assert.Equal(t, [3]bool{true, true, true}, blueConnected) } func TestPlcInputsGameSpecific(t *testing.T) { var client FakeModbusClient var plc ModbusPlc plc.client = &client plc.handler = modbus.NewTCPClientHandler("dummy") plc.ioChangeNotifier = &websocket.Notifier{} // None in 2025. } func TestPlcRegisters(t *testing.T) { var client FakeModbusClient var plc ModbusPlc plc.client = &client plc.handler = modbus.NewTCPClientHandler("dummy") plc.ioChangeNotifier = &websocket.Notifier{} testCases := map[uint16][4]bool{ 0: {false, false, false, false}, 1: {true, false, false, false}, 2: {false, true, false, false}, 3: {true, true, false, false}, 4: {false, false, true, false}, 5: {true, false, true, false}, 6: {false, true, true, false}, 7: {true, true, true, false}, 8: {false, false, false, true}, 9: {true, false, false, true}, 10: {false, true, false, true}, 11: {true, true, false, true}, 12: {false, false, true, true}, 13: {true, false, true, true}, 14: {false, true, true, true}, 15: {true, true, true, true}, } for value, bits := range testCases { client.registers[0] = value plc.update() assert.Equal( t, map[string]bool{"RedDs": bits[0], "BlueDs": bits[1], "RedIoLink": bits[2], "BlueIoLink": bits[3]}, plc.GetArmorBlockStatuses(), ) } } func TestPlcRegistersGameSpecific(t *testing.T) { var client FakeModbusClient var plc ModbusPlc plc.client = &client plc.handler = modbus.NewTCPClientHandler("dummy") plc.ioChangeNotifier = &websocket.Notifier{} client.registers[1] = 0 client.registers[2] = 0 plc.update() redProcessor, blueProcessor := plc.GetProcessorCounts() assert.Equal(t, 0, redProcessor) assert.Equal(t, 0, blueProcessor) client.registers[1] = 12 plc.update() redProcessor, blueProcessor = plc.GetProcessorCounts() assert.Equal(t, 12, redProcessor) assert.Equal(t, 0, blueProcessor) client.registers[2] = 34 plc.update() redProcessor, blueProcessor = plc.GetProcessorCounts() assert.Equal(t, 12, redProcessor) assert.Equal(t, 34, blueProcessor) } func TestPlcCoils(t *testing.T) { var client FakeModbusClient var plc ModbusPlc plc.client = &client plc.handler = modbus.NewTCPClientHandler("dummy") plc.ioChangeNotifier = &websocket.Notifier{} assert.Equal(t, false, client.coils[0]) plc.update() assert.Equal(t, true, client.coils[0]) assert.Equal(t, false, client.coils[1]) client.registers[fieldIoConnection] = 31 plc.registers[fieldIoConnection] = 31 plc.registers[redProcessor] = 1 plc.registers[blueProcessor] = 2 plc.ResetMatch() plc.update() assert.Equal(t, true, client.coils[1]) assert.Equal(t, 31, int(plc.registers[fieldIoConnection])) assert.Equal(t, 0, int(plc.registers[redProcessor])) assert.Equal(t, 0, int(plc.registers[blueProcessor])) plc.SetStackLights(false, false, false, false) plc.update() assert.Equal(t, false, client.coils[2]) assert.Equal(t, false, client.coils[3]) assert.Equal(t, false, client.coils[4]) assert.Equal(t, false, client.coils[5]) plc.SetStackLights(true, false, false, false) plc.update() assert.Equal(t, false, client.coils[2]) assert.Equal(t, false, client.coils[3]) assert.Equal(t, true, client.coils[4]) assert.Equal(t, false, client.coils[5]) plc.SetStackLights(true, true, false, false) plc.update() assert.Equal(t, false, client.coils[2]) assert.Equal(t, false, client.coils[3]) assert.Equal(t, true, client.coils[4]) assert.Equal(t, true, client.coils[5]) plc.SetStackLights(true, true, true, false) plc.update() assert.Equal(t, false, client.coils[2]) assert.Equal(t, true, client.coils[3]) assert.Equal(t, true, client.coils[4]) assert.Equal(t, true, client.coils[5]) plc.SetStackLights(true, true, true, true) plc.update() assert.Equal(t, true, client.coils[2]) assert.Equal(t, true, client.coils[3]) assert.Equal(t, true, client.coils[4]) assert.Equal(t, true, client.coils[5]) plc.SetStackBuzzer(false) plc.update() assert.Equal(t, false, client.coils[6]) plc.SetStackBuzzer(true) plc.update() assert.Equal(t, true, client.coils[6]) plc.SetFieldResetLight(false) plc.update() assert.Equal(t, false, client.coils[7]) plc.SetFieldResetLight(true) plc.update() assert.Equal(t, true, client.coils[7]) } func TestPlcCoilsGameSpecific(t *testing.T) { var client FakeModbusClient var plc ModbusPlc plc.client = &client plc.handler = modbus.NewTCPClientHandler("dummy") plc.ioChangeNotifier = &websocket.Notifier{} plc.SetTrussLights([3]bool{false, false, false}, [3]bool{false, false, false}) plc.update() assert.Equal(t, []bool{false, false, false, false, false, false}, client.coils[8:14]) plc.SetTrussLights([3]bool{true, false, false}, [3]bool{false, false, false}) plc.update() assert.Equal(t, []bool{true, false, false, false, false, false}, client.coils[8:14]) plc.SetTrussLights([3]bool{true, true, false}, [3]bool{false, false, false}) plc.update() assert.Equal(t, []bool{true, true, false, false, false, false}, client.coils[8:14]) plc.SetTrussLights([3]bool{true, true, true}, [3]bool{false, false, false}) plc.update() assert.Equal(t, []bool{true, true, true, false, false, false}, client.coils[8:14]) plc.SetTrussLights([3]bool{true, true, true}, [3]bool{true, false, false}) plc.update() assert.Equal(t, []bool{true, true, true, true, false, false}, client.coils[8:14]) plc.SetTrussLights([3]bool{true, true, true}, [3]bool{true, true, false}) plc.update() assert.Equal(t, []bool{true, true, true, true, true, false}, client.coils[8:14]) plc.SetTrussLights([3]bool{true, true, true}, [3]bool{true, true, true}) plc.update() assert.Equal(t, []bool{true, true, true, true, true, true}, client.coils[8:14]) } func TestPlcIsHealthy(t *testing.T) { var client FakeModbusClient var plc ModbusPlc plc.client = &client plc.handler = modbus.NewTCPClientHandler("dummy") plc.ioChangeNotifier = &websocket.Notifier{} assert.Equal(t, false, plc.IsHealthy()) plc.update() assert.Equal(t, true, plc.IsHealthy()) client.returnError = true plc.update() assert.Equal(t, false, plc.IsHealthy()) plc.update() assert.Equal(t, false, plc.IsHealthy()) client.returnError = false plc.update() assert.Equal(t, false, plc.IsHealthy()) } func TestByteToBool(t *testing.T) { bytes := []byte{7, 254, 3} bools := byteToBool(bytes, 17) if assert.Equal(t, 17, len(bools)) { expectedBools := []bool{ true, true, true, false, false, false, false, false, false, true, true, true, true, true, true, true, true, } assert.Equal(t, expectedBools, bools) } } func TestByteToUint(t *testing.T) { bytes := []byte{1, 77, 2, 253, 21, 179} uints := byteToUint(bytes, 3) if assert.Equal(t, 3, len(uints)) { assert.Equal(t, []uint16{333, 765, 5555}, uints) } } func TestBoolToByte(t *testing.T) { bools := []bool{true, true, false, false, true, false, false, false, false, true} bytes := boolToByte(bools) if assert.Equal(t, 2, len(bytes)) { assert.Equal(t, []byte{19, 2}, bytes) assert.Equal(t, bools, byteToBool(bytes, len(bools))) } } ================================================ FILE: plc/register_string.go ================================================ // Code generated by "stringer -type=register"; DO NOT EDIT. package plc import "strconv" func _() { // An "invalid array index" compiler error signifies that the constant values have changed. // Re-run the stringer command to generate them again. var x [1]struct{} _ = x[fieldIoConnection-0] _ = x[redProcessor-1] _ = x[blueProcessor-2] _ = x[registerCount-3] } const _register_name = "fieldIoConnectionredProcessorblueProcessorregisterCount" var _register_index = [...]uint8{0, 17, 29, 42, 55} func (i register) String() string { if i < 0 || i >= register(len(_register_index)-1) { return "register(" + strconv.FormatInt(int64(i), 10) + ")" } return _register_name[_register_index[i]:_register_index[i+1]] } ================================================ FILE: schedules/100_1.csv ================================================ 44,0,27,0,3,0,58,0,82,0,93,0 52,0,54,0,90,0,35,0,83,0,74,0 94,0,72,0,70,0,46,0,53,0,33,0 17,0,92,0,86,0,50,0,60,0,76,0 80,0,19,0,51,0,56,0,48,0,18,0 68,0,85,0,5,0,63,0,34,0,2,0 75,0,81,0,6,0,64,0,11,0,69,0 20,0,91,0,40,0,38,0,42,0,98,0 47,0,24,0,23,0,67,0,96,0,9,0 65,0,36,0,7,0,73,0,43,0,28,0 49,0,4,0,55,0,30,0,31,0,88,0 100,0,66,0,15,0,13,0,62,0,8,0 21,0,16,0,59,0,87,0,78,0,95,0 41,0,89,0,45,0,77,0,79,0,10,0 22,0,25,0,71,0,32,0,97,0,12,0 37,0,29,0,57,0,39,0,61,0,1,0 99,0,26,0,76,1,14,0,84,0,82,1 ================================================ FILE: schedules/100_10.csv ================================================ 50,0,86,0,34,0,94,0,89,0,19,0 100,0,10,0,79,0,8,0,4,0,56,0 91,0,47,0,17,0,68,0,46,0,96,0 74,0,64,0,38,0,57,0,14,0,45,0 25,0,58,0,53,0,78,0,1,0,80,0 41,0,98,0,3,0,60,0,63,0,13,0 52,0,37,0,2,0,71,0,69,0,39,0 24,0,44,0,36,0,73,0,15,0,61,0 55,0,87,0,70,0,20,0,49,0,7,0 5,0,85,0,83,0,93,0,6,0,35,0 97,0,21,0,66,0,11,0,67,0,30,0 88,0,82,0,32,0,54,0,26,0,72,0 59,0,27,0,16,0,22,0,31,0,48,0 75,0,28,0,51,0,65,0,42,0,77,0 62,0,84,0,12,0,23,0,76,0,9,0 40,0,18,0,90,0,95,0,99,0,81,0 92,0,33,0,44,0,43,0,29,0,3,0 7,0,13,0,94,0,25,0,39,0,100,0 86,0,63,0,41,0,83,0,52,0,21,0 37,0,74,0,50,0,20,0,80,0,5,0 82,0,79,0,14,0,69,0,93,0,31,0 98,0,78,0,26,0,59,0,45,0,96,0 16,0,71,0,62,0,77,0,70,0,6,0 9,0,48,0,24,0,56,0,11,0,2,0 19,0,15,0,58,0,17,0,18,0,55,0 75,0,57,0,87,0,89,0,84,0,47,0 4,0,88,0,28,0,40,0,81,0,67,0 34,0,90,0,27,0,38,0,43,0,35,0 54,0,36,0,99,0,97,0,46,0,12,0 68,0,22,0,92,0,85,0,66,0,42,0 65,0,95,0,53,0,73,0,10,0,30,0 23,0,1,0,29,0,51,0,72,0,91,0 49,0,76,0,60,0,32,0,33,0,8,0 64,0,55,0,11,0,61,0,3,0,84,0 83,1,37,0,75,0,88,1,25,0,59,0 96,0,89,0,31,0,38,0,63,0,4,0 52,0,87,0,14,0,26,0,97,0,9,0 58,0,40,0,6,0,82,0,22,0,98,0 62,0,43,0,13,0,30,0,19,0,36,0 56,0,95,0,12,0,16,0,28,0,68,0 44,0,35,0,10,0,41,0,99,0,1,0 86,0,24,0,69,0,20,0,23,0,45,0 71,0,78,0,66,0,51,0,18,0,57,0 100,0,93,0,53,0,34,0,60,0,21,0 70,0,72,0,85,0,8,0,47,0,61,0 76,0,67,0,65,0,48,0,17,0,94,0 79,0,54,0,91,0,27,0,50,0,49,0 74,0,32,0,29,0,42,0,2,0,90,0 15,0,7,0,64,0,5,0,92,0,77,0 39,0,33,0,46,0,80,0,73,0,81,0 45,0,11,0,99,0,71,0,13,0,87,0 57,0,55,0,97,0,95,0,82,0,86,0 52,0,75,0,40,0,68,0,20,0,3,0 14,0,30,0,1,0,85,0,16,0,37,0 51,0,31,0,50,0,60,0,43,0,6,0 88,0,36,0,35,0,100,0,91,0,74,0 90,0,48,0,98,0,44,0,70,0,79,0 29,0,96,0,21,0,22,0,15,0,8,0 93,0,72,0,7,0,4,0,12,0,58,0 9,0,64,0,80,0,32,0,65,0,41,0 89,0,26,0,25,0,33,0,28,0,18,0 46,0,78,0,2,0,83,0,62,0,27,0 59,0,49,0,19,0,56,0,47,0,92,0 5,0,34,0,67,0,39,0,61,0,63,0 84,0,69,0,73,0,66,0,77,0,38,0 23,0,81,0,42,0,10,0,94,0,54,0 53,0,24,0,72,0,76,0,17,0,87,0 71,0,82,0,45,0,30,0,75,0,44,0 51,0,33,0,13,0,40,0,93,0,55,0 50,0,41,0,29,0,70,0,88,0,78,0 26,0,21,0,37,0,12,0,31,0,90,0 6,0,4,0,14,0,15,0,48,0,32,0 79,0,77,0,60,0,89,0,46,0,74,0 35,0,65,0,81,0,16,0,19,0,52,0 9,0,1,0,94,0,47,0,43,0,95,0 25,0,66,0,61,0,23,0,96,0,27,0 67,0,80,0,91,0,99,0,38,0,59,0 92,0,8,0,73,0,54,0,11,0,58,0 86,0,3,0,36,0,53,0,42,0,39,0 5,0,84,0,24,0,97,0,49,0,28,0 57,0,56,0,17,0,62,0,69,0,98,0 76,0,34,0,10,0,68,0,64,0,83,0 20,0,85,0,18,0,2,0,100,0,63,0 22,0,61,0,33,0,7,0,37,0,78,0 27,0,93,0,47,0,29,0,67,0,52,0 23,0,75,0,15,0,13,0,38,0,50,0 81,0,9,0,92,0,53,0,60,0,71,0 3,0,65,0,5,0,21,0,58,0,89,0 45,0,84,0,1,0,36,0,70,0,32,0 91,0,56,0,82,0,66,0,12,0,83,0 40,0,2,0,8,0,26,0,44,0,17,0 46,0,41,0,43,0,22,0,100,0,24,0 7,0,62,0,18,0,14,0,59,0,54,0 69,0,6,0,48,0,34,0,87,0,42,0 16,0,63,0,49,0,25,0,10,0,74,0 73,0,94,0,99,0,31,0,28,0,55,0 19,0,39,0,90,0,68,0,72,0,57,0 20,0,4,0,98,0,95,0,51,0,11,0 30,0,35,0,96,0,86,0,79,0,64,0 97,0,77,0,85,0,88,0,76,0,80,0 32,0,22,0,12,0,13,0,47,0,18,0 56,0,42,0,38,0,1,0,5,0,46,0 67,0,37,0,45,0,9,0,100,0,6,0 99,0,34,0,29,0,25,0,17,0,82,0 65,0,54,0,78,0,84,0,40,0,63,0 31,0,70,0,57,0,83,0,33,0,23,0 20,0,15,0,30,0,60,0,91,0,26,0 52,0,92,0,89,0,88,0,90,0,10,0 95,0,76,0,59,0,44,0,39,0,50,0 66,0,55,0,14,0,98,0,24,0,8,0 58,0,28,0,71,0,79,0,36,0,85,0 68,0,93,0,11,0,86,0,77,0,81,0 87,0,61,0,21,0,35,0,62,0,80,0 49,0,94,0,64,0,53,0,75,0,2,0 72,0,48,0,43,0,74,0,97,0,96,0 41,0,51,0,16,0,7,0,73,0,27,0 4,0,19,0,25,0,69,0,3,0,22,0 60,0,83,0,39,0,47,0,24,0,40,0 42,0,52,0,13,0,91,0,37,0,58,0 31,0,20,0,84,0,34,0,81,0,44,0 89,0,99,0,78,0,93,0,76,0,15,0 11,0,70,0,94,0,5,0,12,0,14,0 38,0,98,0,21,0,33,0,10,0,85,0 1,0,63,0,27,0,92,0,57,0,26,0 87,0,86,0,2,0,16,0,4,0,66,0 9,0,51,0,82,0,36,0,49,0,90,0 71,0,23,0,8,0,41,0,19,0,67,0 6,0,28,0,72,0,64,0,59,0,46,0 17,0,3,0,73,0,97,0,50,0,35,0 74,0,68,0,43,0,69,0,65,0,7,0 30,0,61,0,18,0,77,0,56,0,29,0 55,0,45,0,88,0,62,0,53,0,48,0 80,0,54,0,100,0,96,0,95,0,75,0 79,0,63,0,37,0,32,0,51,0,87,0 26,0,22,0,38,0,93,0,49,0,71,0 42,0,27,0,72,0,99,0,98,0,9,0 50,0,12,0,64,0,67,0,24,0,85,0 39,0,17,0,16,0,23,0,92,0,21,0 74,0,4,0,18,0,82,0,41,0,84,0 66,0,20,0,59,0,58,0,29,0,94,0 25,0,90,0,91,0,14,0,86,0,73,0 60,0,10,0,75,0,5,0,78,0,48,0 47,0,7,0,30,0,3,0,81,0,76,0 33,0,34,0,95,0,62,0,15,0,79,0 96,0,6,0,36,0,52,0,55,0,56,0 46,0,44,0,65,0,57,0,88,0,11,0 8,0,28,0,83,0,80,0,45,0,43,0 35,0,13,0,68,0,2,0,54,0,70,0 31,0,77,0,100,0,1,0,40,0,19,0 32,0,69,0,97,0,61,0,89,0,53,0 48,0,85,0,84,0,26,0,29,0,39,0 79,0,22,0,20,0,73,0,67,0,72,0 58,0,99,0,56,0,33,0,86,0,75,0 10,0,93,0,57,0,3,0,9,0,59,0 88,0,17,0,7,0,6,0,66,0,95,0 25,0,12,0,43,0,87,0,98,0,15,0 47,0,38,0,100,0,11,0,82,0,50,0 44,0,96,0,77,0,13,0,53,0,83,0 32,0,78,0,52,0,34,0,30,0,28,0 92,0,97,0,62,0,31,0,37,0,65,0 63,0,80,0,68,0,23,0,36,0,60,0 8,0,69,0,46,0,16,0,94,0,18,0 42,0,49,0,40,0,89,0,35,0,45,0 54,0,90,0,1,0,64,0,71,0,4,0 70,0,27,0,81,0,24,0,74,0,21,0 5,0,76,0,41,0,91,0,55,0,2,0 19,0,61,0,83,0,14,0,51,0,88,0 ================================================ FILE: schedules/100_11.csv ================================================ 46,0,74,0,97,0,20,0,34,0,38,0 83,0,53,0,6,0,23,0,75,0,42,0 48,0,87,0,43,0,45,0,44,0,33,0 100,0,37,0,66,0,22,0,28,0,76,0 60,0,35,0,51,0,78,0,98,0,39,0 30,0,11,0,67,0,9,0,3,0,8,0 25,0,56,0,24,0,19,0,70,0,95,0 96,0,40,0,94,0,92,0,69,0,50,0 63,0,5,0,77,0,29,0,26,0,73,0 16,0,58,0,91,0,84,0,85,0,64,0 89,0,80,0,1,0,72,0,14,0,54,0 13,0,17,0,99,0,31,0,49,0,55,0 61,0,47,0,59,0,65,0,71,0,93,0 62,0,82,0,21,0,27,0,36,0,15,0 79,0,52,0,12,0,68,0,57,0,32,0 18,0,2,0,4,0,88,0,10,0,7,0 86,0,41,0,77,0,81,0,90,0,23,0 70,0,69,0,78,0,58,0,44,0,5,0 89,0,26,0,38,0,87,0,16,0,30,0 83,0,33,0,28,0,84,0,74,0,8,0 49,0,66,0,97,0,43,0,39,0,42,0 36,0,1,0,63,0,22,0,47,0,24,0 75,0,51,0,27,0,91,0,32,0,13,0 54,0,48,0,25,0,21,0,85,0,93,0 3,0,76,0,72,0,18,0,41,0,31,0 7,0,14,0,50,0,11,0,35,0,20,0 60,0,73,0,46,0,96,0,86,0,82,0 64,0,45,0,98,0,81,0,15,0,68,0 61,0,37,0,34,0,12,0,17,0,2,0 4,0,71,0,10,0,40,0,79,0,56,0 59,0,55,0,90,0,67,0,88,0,53,0 95,0,62,0,100,0,92,0,80,0,52,0 29,0,9,0,19,0,94,0,6,0,57,0 99,0,28,0,35,0,65,0,43,0,5,0 38,1,93,0,33,0,66,1,86,0,78,0 8,1,54,0,63,0,70,1,72,0,98,0 7,0,31,0,97,0,69,0,91,0,30,0 22,0,10,0,12,0,83,0,25,0,87,0 44,0,67,0,13,0,16,0,1,0,2,0 53,0,95,0,36,0,89,0,50,0,46,0 42,0,58,0,21,0,37,0,3,0,79,0 100,0,94,0,90,0,61,0,56,0,73,0 68,0,26,0,96,0,76,0,27,0,99,0 57,0,15,0,4,0,59,0,80,0,84,0 51,0,29,0,81,0,52,0,24,0,48,0 45,0,55,0,14,0,34,0,9,0,65,0 41,0,62,0,19,0,17,0,74,0,40,0 32,0,11,0,88,0,49,0,23,0,60,0 92,0,39,0,71,0,77,0,64,0,75,0 20,0,82,0,85,0,6,0,18,0,47,0 94,0,83,0,36,0,98,0,5,0,27,0 84,0,3,0,78,0,99,0,50,0,1,0 13,0,58,0,97,0,12,0,53,0,26,0 79,0,73,0,15,0,66,0,14,0,29,0 34,0,51,0,87,0,43,0,19,0,96,0 24,0,72,0,46,0,59,0,40,0,42,0 77,0,31,0,52,0,88,0,21,0,9,0 85,0,32,0,89,0,100,0,63,0,74,0 4,0,81,0,91,0,17,0,92,0,82,0 20,0,8,0,69,0,71,0,45,0,49,0 70,0,75,0,93,0,22,0,57,0,62,0 2,0,48,0,86,0,18,0,95,0,35,0 38,0,76,0,11,0,90,0,25,0,6,0 61,0,30,0,44,0,60,0,10,0,28,0 39,0,16,0,23,0,7,0,55,0,37,0 80,0,67,0,65,0,33,0,68,0,56,0 47,0,54,0,26,0,64,0,41,0,52,0 1,0,72,0,12,0,100,0,69,0,21,0 42,0,91,0,96,0,63,0,45,0,78,0 86,0,85,0,17,0,97,0,3,0,57,0 62,0,58,0,43,0,83,0,77,0,20,0 98,0,29,0,90,0,18,0,75,0,50,0 76,0,88,0,44,0,93,0,46,0,15,0 7,0,32,0,19,0,80,0,61,0,8,0 23,0,30,0,35,0,24,0,73,0,27,0 82,0,25,0,5,0,13,0,33,0,39,0 59,0,10,0,31,0,54,0,38,0,51,0 55,0,74,0,2,0,22,0,71,0,94,0 79,0,34,0,6,0,41,0,67,0,36,0 4,0,28,0,64,0,49,0,89,0,48,0 40,0,9,0,84,0,81,0,70,0,87,0 14,0,60,0,47,0,95,0,68,0,37,0 16,0,66,0,56,0,53,0,99,0,11,0 65,0,42,0,19,0,92,0,1,0,73,0 17,0,98,0,33,0,32,0,58,0,38,0 15,0,18,0,8,0,51,0,39,0,74,0 45,0,88,0,35,0,62,0,29,0,3,0 82,0,12,0,7,0,63,0,71,0,28,0 50,0,27,0,2,0,87,0,31,0,6,0 44,0,83,0,49,0,37,0,90,0,26,0 34,0,93,0,80,0,23,0,79,0,91,0 9,0,22,0,68,0,85,0,4,0,46,0 11,0,84,0,54,0,65,0,95,0,97,0 21,0,96,0,56,0,5,0,14,0,16,0 30,0,70,0,20,0,94,0,53,0,52,0 69,0,10,0,86,0,66,0,59,0,64,0 25,0,67,0,78,0,72,0,47,0,81,0 60,0,36,0,99,0,57,0,48,0,92,0 61,0,40,0,13,0,89,0,77,0,76,0 75,0,100,0,24,0,41,0,43,0,55,0 31,0,85,0,73,0,34,0,39,0,28,0 12,0,98,0,95,0,74,0,16,0,3,0 30,0,65,0,46,0,32,0,62,0,6,0 1,0,86,0,83,0,68,0,29,0,7,0 93,0,5,0,37,0,51,0,72,0,4,0 64,0,20,0,25,0,63,0,79,0,99,0 10,0,57,0,50,0,77,0,8,0,67,0 88,0,38,0,71,0,41,0,13,0,42,0 69,0,55,0,60,0,26,0,80,0,18,0 17,0,44,0,35,0,47,0,21,0,75,0 76,0,23,0,56,0,58,0,87,0,36,0 96,0,9,0,54,0,15,0,61,0,33,0 92,0,45,0,66,0,89,0,2,0,24,0 52,0,90,0,43,0,78,0,40,0,82,0 91,0,100,0,48,0,70,0,11,0,59,0 53,0,27,0,22,0,49,0,19,0,84,0 94,0,14,0,99,0,97,0,81,0,10,0 77,0,6,0,7,0,74,0,72,0,44,0 39,0,26,0,21,0,32,0,86,0,4,0 64,0,9,0,38,0,23,0,5,0,50,0 68,0,24,0,3,0,20,0,93,0,13,0 80,0,85,0,78,0,76,0,2,0,45,0 8,0,62,0,48,0,12,0,31,0,56,0 89,0,55,0,98,0,52,0,73,0,11,0 19,0,14,0,51,0,70,0,90,0,46,0 41,0,53,0,57,0,25,0,61,0,35,0 63,0,65,0,17,0,69,0,95,0,27,0 92,0,22,0,88,0,79,0,43,0,54,0 94,0,28,0,15,0,87,0,91,0,1,0 82,0,71,0,29,0,67,0,37,0,97,0 36,0,81,0,59,0,16,0,33,0,49,0 47,0,30,0,42,0,96,0,84,0,100,0 40,0,58,0,75,0,66,0,60,0,34,0 18,0,13,0,46,0,83,0,21,0,45,0 73,0,95,0,51,0,9,0,20,0,44,0 48,0,6,0,61,0,14,0,22,0,26,0 68,0,5,0,89,0,91,0,90,0,8,0 74,0,31,0,37,0,78,0,57,0,24,0 79,0,87,0,7,0,81,0,65,0,53,0 80,0,35,0,97,0,36,0,77,0,96,0 23,0,100,0,98,0,67,0,4,0,99,0 16,0,50,0,42,0,54,0,28,0,62,0 49,0,34,0,47,0,3,0,92,0,70,0 66,0,27,0,1,0,25,0,71,0,18,0 56,0,29,0,72,0,64,0,43,0,60,0 93,0,11,0,10,0,19,0,82,0,58,0 32,0,15,0,41,0,69,0,2,0,83,0 39,0,52,0,17,0,94,0,59,0,76,0 55,0,12,0,30,0,33,0,40,0,85,0 86,0,38,0,63,0,84,0,75,0,88,0 21,0,49,0,95,0,67,0,61,0,91,0 99,0,42,0,62,0,89,0,7,0,9,0 23,0,74,0,36,0,29,0,13,0,54,0 18,0,16,0,97,0,79,0,100,0,78,0 46,0,77,0,98,0,56,0,69,0,93,0 24,0,87,0,11,0,17,0,71,0,80,0 37,0,65,0,20,0,96,0,48,0,10,0 28,0,47,0,58,0,86,0,27,0,55,0 84,0,32,0,5,0,66,0,25,0,31,0 64,0,44,0,53,0,34,0,94,0,4,0 81,0,1,0,8,0,26,0,43,0,85,0 59,0,22,0,50,0,41,0,45,0,60,0 72,0,92,0,15,0,38,0,35,0,90,0 76,0,57,0,82,0,83,0,30,0,51,0 70,0,40,0,73,0,68,0,88,0,6,0 52,0,33,0,3,0,63,0,14,0,2,0 39,0,75,0,89,0,19,0,12,0,20,0 31,0,27,0,64,0,61,0,11,0,46,0 8,0,87,0,78,0,29,0,55,0,21,0 67,0,48,0,94,0,7,0,66,0,54,0 96,0,18,0,53,0,93,0,17,0,28,0 34,0,81,0,35,0,42,0,95,0,32,0 69,0,43,0,73,0,47,0,57,0,38,0 2,0,79,0,33,0,70,0,77,0,60,0 15,0,50,0,37,0,13,0,19,0,30,0 71,0,68,0,72,0,84,0,62,0,23,0 74,0,10,0,49,0,1,0,5,0,76,0 6,0,24,0,91,0,86,0,12,0,88,0 45,0,4,0,16,0,75,0,52,0,25,0 41,0,85,0,92,0,14,0,44,0,98,0 99,0,39,0,22,0,80,0,58,0,90,0 3,0,36,0,26,0,51,0,100,0,40,0 9,0,56,0,83,0,59,0,97,0,63,0 65,0,38,0,8,0,82,0,66,0,70,0 ================================================ FILE: schedules/100_12.csv ================================================ 22,0,65,0,43,0,10,0,30,0,53,0 15,0,84,0,7,0,69,0,28,0,77,0 33,0,47,0,48,0,29,0,1,0,78,0 25,0,74,0,91,0,55,0,99,0,4,0 64,0,52,0,81,0,59,0,51,0,62,0 5,0,60,0,26,0,85,0,92,0,50,0 17,0,67,0,80,0,56,0,20,0,75,0 58,0,6,0,83,0,9,0,46,0,32,0 14,0,100,0,40,0,12,0,23,0,76,0 93,0,21,0,63,0,82,0,95,0,61,0 71,0,42,0,73,0,11,0,90,0,96,0 44,0,86,0,24,0,36,0,2,0,70,0 34,0,31,0,49,0,98,0,66,0,68,0 16,0,19,0,89,0,54,0,39,0,3,0 35,0,18,0,88,0,94,0,79,0,38,0 72,0,87,0,41,0,57,0,27,0,37,0 97,0,45,0,48,0,8,0,13,0,56,0 20,0,83,0,47,0,91,0,64,0,22,0 23,0,6,0,69,0,11,0,85,0,52,0 28,0,50,0,65,0,95,0,33,0,44,0 1,0,46,0,98,0,30,0,36,0,100,0 63,0,53,0,16,0,71,0,70,0,49,0 67,0,26,0,42,0,88,0,66,0,77,0 39,0,60,0,41,0,61,0,9,0,25,0 55,0,73,0,40,0,19,0,8,0,78,0 35,0,37,0,14,0,54,0,82,0,15,0 38,0,57,0,4,0,12,0,59,0,17,0 18,0,84,0,29,0,90,0,21,0,31,0 43,0,2,0,3,0,99,0,72,0,92,0 27,0,79,0,34,0,13,0,7,0,86,0 68,0,87,0,75,0,24,0,97,0,62,0 80,0,51,0,45,0,58,0,5,0,76,0 94,0,93,0,89,0,32,0,96,0,10,0 74,0,23,0,82,0,81,0,71,0,65,0 59,0,55,0,77,0,47,0,53,0,46,0 83,0,41,0,95,0,30,0,88,0,11,0 72,0,29,0,91,0,9,0,52,0,38,0 85,0,13,0,61,0,16,0,33,0,17,0 98,0,40,0,90,0,26,0,97,0,79,0 84,0,76,0,4,0,60,0,36,0,43,0 44,0,67,0,63,0,99,0,34,0,12,0 57,0,96,0,56,0,31,0,24,0,92,0 19,0,75,0,50,0,2,0,32,0,7,0 27,0,70,0,35,0,21,0,66,0,22,0 37,0,93,0,1,0,64,0,51,0,28,0 68,0,10,0,45,0,25,0,3,0,69,0 5,0,6,0,48,0,81,0,73,0,87,0 42,0,78,0,54,0,58,0,100,0,94,0 80,0,49,0,89,0,74,0,15,0,18,0 39,0,86,0,62,0,14,0,8,0,20,0 32,0,29,0,71,0,55,0,88,0,13,0 38,0,97,0,21,0,60,0,2,0,47,0 30,0,79,0,84,0,9,0,17,0,66,0 77,0,75,0,95,0,45,0,12,0,31,0 24,0,67,0,93,0,98,0,83,0,19,0 43,0,63,0,25,0,96,0,35,0,1,0 36,0,53,0,49,0,51,0,41,0,78,0 72,0,73,0,85,0,4,0,39,0,15,0 50,0,91,0,69,0,81,0,42,0,62,0 57,0,70,0,65,0,14,0,48,0,68,0 86,0,87,0,52,0,80,0,26,0,54,0 61,0,23,0,22,0,56,0,3,0,7,0 94,0,33,0,82,0,90,0,6,0,89,0 64,0,92,0,18,0,46,0,76,0,27,0 8,0,16,0,58,0,10,0,99,0,28,0 74,0,11,0,59,0,37,0,40,0,44,0 100,0,34,0,4,0,5,0,20,0,32,0 51,0,12,0,21,0,24,0,50,0,72,0 85,0,49,0,14,0,84,0,95,0,47,0 53,0,67,0,96,0,23,0,39,0,79,0 33,0,45,0,9,0,55,0,26,0,62,0 86,0,69,0,19,0,46,0,35,0,71,0 63,0,83,0,3,0,81,0,18,0,28,0 66,0,61,0,37,0,78,0,65,0,97,0 99,0,38,0,30,0,76,0,89,0,7,0 36,0,80,0,31,0,59,0,93,0,73,0 44,0,60,0,94,0,29,0,20,0,57,0 27,0,98,0,42,0,16,0,40,0,15,0 64,0,8,0,6,0,70,0,34,0,75,0 54,0,52,0,2,0,5,0,77,0,25,0 58,0,56,0,43,0,87,0,91,0,90,0 17,0,100,0,10,0,48,0,74,0,41,0 68,0,13,0,92,0,1,0,88,0,82,0 11,0,39,0,99,0,22,0,33,0,80,0 71,0,3,0,76,0,24,0,32,0,26,0 81,0,85,0,21,0,86,0,37,0,53,0 50,0,97,0,14,0,34,0,55,0,94,0 65,0,25,0,75,0,38,0,29,0,93,0 51,0,69,0,40,0,43,0,47,0,57,0 78,0,67,0,87,0,31,0,35,0,89,0 73,0,95,0,46,0,70,0,60,0,74,0 20,0,2,0,13,0,15,0,9,0,58,0 18,0,91,0,8,0,23,0,30,0,68,0 42,0,49,0,4,0,61,0,1,0,45,0 54,0,11,0,84,0,56,0,64,0,12,0 90,0,17,0,22,0,28,0,52,0,98,0 82,0,36,0,48,0,16,0,79,0,77,0 66,0,100,0,96,0,83,0,44,0,7,0 92,0,63,0,6,0,19,0,41,0,59,0 62,0,5,0,88,0,27,0,10,0,72,0 15,0,68,0,55,0,81,0,86,0,43,0 85,0,58,0,30,0,71,0,31,0,97,0 1,0,53,0,3,0,57,0,84,0,91,0 39,0,70,0,38,0,13,0,69,0,98,0 80,0,65,0,8,0,24,0,77,0,21,0 96,0,36,0,12,0,29,0,61,0,34,0 54,0,90,0,45,0,59,0,23,0,66,0 73,0,2,0,49,0,33,0,67,0,76,0 9,0,93,0,4,0,48,0,88,0,40,0 11,0,17,0,47,0,89,0,63,0,50,0 94,0,37,0,52,0,46,0,92,0,75,0 56,0,62,0,99,0,60,0,83,0,35,0 28,0,20,0,100,0,27,0,25,0,6,0 32,0,72,0,95,0,87,0,79,0,22,0 7,0,41,0,64,0,74,0,42,0,14,0 10,0,16,0,78,0,51,0,44,0,26,0 82,0,5,0,13,0,19,0,18,0,57,0 80,0,98,0,29,0,63,0,2,0,23,0 77,0,34,0,58,0,3,0,38,0,92,0 66,0,76,0,94,0,39,0,91,0,48,0 97,0,52,0,15,0,12,0,83,0,84,0 20,0,79,0,93,0,49,0,55,0,11,0 36,0,17,0,68,0,71,0,7,0,72,0 32,0,62,0,21,0,41,0,1,0,73,0 51,0,25,0,35,0,95,0,8,0,42,0 27,0,78,0,59,0,56,0,82,0,50,0 47,0,86,0,28,0,74,0,45,0,67,0 65,0,5,0,40,0,64,0,46,0,99,0 10,0,70,0,54,0,33,0,85,0,18,0 37,0,60,0,31,0,26,0,6,0,22,0 89,0,88,0,53,0,61,0,100,0,24,0 87,0,14,0,9,0,96,0,16,0,69,0 44,0,81,0,19,0,30,0,4,0,90,0 43,0,42,0,83,0,75,0,49,0,48,0 59,0,98,0,95,0,84,0,58,0,86,0 46,0,66,0,82,0,20,0,38,0,41,0 51,0,17,0,3,0,11,0,27,0,97,0 71,0,47,0,52,0,39,0,10,0,56,0 88,0,7,0,57,0,78,0,85,0,63,0 12,0,92,0,33,0,93,0,69,0,8,0 55,0,60,0,14,0,80,0,72,0,90,0 37,0,67,0,16,0,29,0,5,0,30,0 99,0,13,0,23,0,94,0,36,0,21,0 1,0,54,0,74,0,34,0,9,0,22,0 70,0,31,0,19,0,100,0,15,0,50,0 18,0,25,0,76,0,53,0,62,0,87,0 2,0,6,0,96,0,65,0,45,0,91,0 79,0,24,0,64,0,44,0,43,0,73,0 32,0,40,0,35,0,61,0,81,0,77,0 28,0,68,0,26,0,75,0,89,0,4,0 60,0,48,0,7,0,58,0,67,0,11,0 42,0,97,0,86,0,93,0,82,0,99,0 47,0,9,0,3,0,100,0,37,0,80,0 10,0,15,0,34,0,53,0,90,0,95,0 76,0,31,0,72,0,63,0,65,0,13,0 78,0,18,0,24,0,14,0,17,0,6,0 88,0,22,0,44,0,46,0,45,0,81,0 21,0,61,0,71,0,98,0,54,0,43,0 77,0,83,0,23,0,27,0,68,0,4,0 75,0,96,0,41,0,51,0,84,0,55,0 79,0,1,0,91,0,5,0,70,0,59,0 64,0,87,0,38,0,8,0,50,0,49,0 29,0,89,0,62,0,85,0,19,0,66,0 28,0,57,0,92,0,35,0,36,0,39,0 26,0,12,0,25,0,30,0,73,0,94,0 69,0,56,0,32,0,2,0,74,0,16,0 20,0,52,0,63,0,33,0,40,0,3,0 24,0,46,0,23,0,42,0,84,0,34,0 11,0,43,0,77,0,100,0,18,0,97,0 22,0,15,0,38,0,78,0,96,0,5,0 71,0,8,0,4,0,37,0,89,0,79,0 91,0,41,0,13,0,44,0,93,0,35,0 90,0,7,0,92,0,62,0,70,0,47,0 98,0,85,0,74,0,94,0,51,0,87,0 9,0,19,0,56,0,28,0,49,0,21,0 31,0,1,0,10,0,86,0,40,0,83,0 95,0,55,0,76,0,57,0,67,0,6,0 39,0,26,0,82,0,2,0,64,0,17,0 12,0,88,0,16,0,65,0,59,0,60,0 73,0,53,0,50,0,54,0,68,0,29,0 30,0,61,0,69,0,72,0,48,0,20,0 33,0,81,0,66,0,75,0,58,0,36,0 27,0,14,0,32,0,45,0,99,0,52,0 25,0,78,0,83,0,80,0,71,0,92,0 46,0,85,0,90,0,3,0,67,0,8,0 43,0,28,0,5,0,41,0,31,0,23,0 44,0,59,0,39,0,42,0,87,0,21,0 29,0,51,0,100,0,82,0,4,0,22,0 70,0,76,0,96,0,54,0,17,0,88,0 57,0,75,0,9,0,10,0,73,0,98,0 99,0,2,0,48,0,84,0,37,0,68,0 19,0,33,0,77,0,86,0,60,0,91,0 74,0,50,0,58,0,52,0,79,0,61,0 34,0,81,0,72,0,47,0,18,0,93,0 38,0,56,0,26,0,36,0,14,0,63,0 62,0,30,0,6,0,49,0,13,0,40,0 94,0,95,0,97,0,64,0,16,0,80,0 11,0,24,0,15,0,66,0,25,0,32,0 89,0,27,0,55,0,1,0,69,0,65,0 12,0,35,0,7,0,20,0,45,0,53,0 ================================================ FILE: schedules/100_13.csv ================================================ 28,0,96,0,29,0,10,0,32,0,33,0 16,0,37,0,57,0,49,0,9,0,88,0 25,0,1,0,40,0,72,0,68,0,100,0 98,0,55,0,7,0,24,0,59,0,14,0 82,0,60,0,17,0,3,0,69,0,27,0 81,0,6,0,26,0,91,0,39,0,21,0 87,0,23,0,11,0,93,0,86,0,30,0 74,0,75,0,85,0,80,0,83,0,94,0 73,0,19,0,36,0,58,0,76,0,15,0 97,0,67,0,77,0,62,0,65,0,43,0 35,0,90,0,41,0,71,0,52,0,31,0 51,0,2,0,61,0,54,0,42,0,18,0 53,0,45,0,38,0,95,0,78,0,63,0 20,0,64,0,12,0,44,0,22,0,56,0 99,0,50,0,48,0,47,0,46,0,89,0 70,0,66,0,5,0,4,0,92,0,8,0 79,0,34,0,69,0,13,0,84,0,98,0 10,0,97,0,6,0,27,0,16,0,30,0 41,0,65,0,85,0,29,0,39,0,17,0 71,0,83,0,91,0,9,0,1,0,28,0 33,0,15,0,43,0,78,0,38,0,55,0 45,0,26,0,40,0,86,0,36,0,67,0 37,0,99,0,88,0,52,0,94,0,87,0 35,0,11,0,21,0,12,0,95,0,66,0 22,0,51,0,90,0,58,0,100,0,92,0 74,0,31,0,64,0,42,0,48,0,23,0 19,0,68,0,80,0,5,0,46,0,3,0 49,0,59,0,7,0,54,0,76,0,61,0 24,0,96,0,82,0,18,0,34,0,63,0 13,0,32,0,20,0,25,0,53,0,47,0 70,0,60,0,62,0,75,0,93,0,72,0 44,0,79,0,89,0,8,0,77,0,73,0 84,0,2,0,57,0,81,0,4,0,14,0 50,0,94,0,15,0,56,0,21,0,10,0 51,1,92,0,68,0,69,1,31,0,33,0 1,0,87,0,66,0,9,0,43,0,76,0 52,0,5,0,91,0,86,0,58,0,59,0 47,0,39,0,98,0,53,0,12,0,22,0 40,0,78,0,18,0,19,0,37,0,11,0 44,0,16,0,63,0,26,0,13,0,48,0 90,0,27,0,23,0,45,0,25,0,89,0 56,0,100,0,3,0,97,0,8,0,55,0 36,0,61,0,84,0,41,0,28,0,62,0 75,0,4,0,50,0,71,0,42,0,24,0 54,0,7,0,73,0,99,0,38,0,96,0 70,0,77,0,85,0,49,0,20,0,81,0 82,0,29,0,30,0,72,0,88,0,80,0 46,0,35,0,14,0,93,0,74,0,17,0 34,0,65,0,64,0,83,0,60,0,2,0 57,0,95,0,6,0,79,0,67,0,32,0 56,0,89,0,84,0,33,0,87,0,91,0 41,0,23,0,19,0,16,0,55,0,66,0 59,0,53,0,71,0,21,0,73,0,3,0 62,0,42,0,92,0,85,0,45,0,9,0 70,0,96,0,22,0,26,0,30,0,78,0 75,0,13,0,17,0,37,0,97,0,38,0 20,0,93,0,1,0,82,0,2,0,48,0 34,0,47,0,7,0,74,0,40,0,29,0 46,0,76,0,32,0,31,0,90,0,4,0 5,0,6,0,72,0,64,0,28,0,15,0 86,0,35,0,12,0,77,0,57,0,24,0 80,0,99,0,60,0,51,0,79,0,39,0 25,0,81,0,61,0,50,0,58,0,95,0 8,0,69,0,14,0,63,0,88,0,43,0 10,0,36,0,54,0,100,0,11,0,83,0 49,0,98,0,68,0,44,0,52,0,65,0 18,0,94,0,38,0,67,0,27,0,20,0 2,0,31,0,5,0,45,0,74,0,96,0 22,0,75,0,16,0,35,0,15,0,82,0 48,0,53,0,90,0,56,0,87,0,80,0 89,0,66,0,37,0,81,0,72,0,24,0 50,0,34,0,3,0,1,0,12,0,85,0 86,0,9,0,97,0,46,0,84,0,95,0 26,0,28,0,69,0,73,0,23,0,14,0 17,0,78,0,88,0,42,0,100,0,6,0 62,0,52,0,79,0,7,0,33,0,71,0 63,0,58,0,39,0,40,0,32,0,49,0 76,0,21,0,18,0,41,0,77,0,83,0 43,0,36,0,30,0,57,0,98,0,92,0 93,0,44,0,99,0,27,0,19,0,59,0 29,0,67,0,8,0,60,0,11,0,61,0 64,0,4,0,51,0,91,0,68,0,13,0 55,0,54,0,47,0,65,0,70,0,94,0 10,0,22,0,38,0,25,0,9,0,79,0 15,0,39,0,96,0,89,0,86,0,88,0 95,0,42,0,83,0,3,0,90,0,20,0 100,0,75,0,81,0,30,0,63,0,41,0 57,0,59,0,48,0,62,0,23,0,40,0 71,0,44,0,32,0,72,0,11,0,85,0 1,0,8,0,91,0,80,0,98,0,27,0 47,0,66,0,94,0,97,0,14,0,51,0 26,0,34,0,61,0,64,0,19,0,87,0 60,0,6,0,35,0,50,0,18,0,7,0 45,0,28,0,68,0,37,0,77,0,82,0 25,0,84,0,21,0,65,0,99,0,92,0 93,0,78,0,54,0,67,0,13,0,31,0 29,0,46,0,49,0,36,0,69,0,56,0 58,0,24,0,43,0,10,0,70,0,2,0 55,0,52,0,76,0,53,0,17,0,5,0 73,0,12,0,16,0,74,0,4,0,33,0 50,0,97,0,59,0,11,0,80,0,26,0 86,0,94,0,100,0,34,0,28,0,66,0 77,0,91,0,32,0,38,0,23,0,88,0 31,0,99,0,14,0,40,0,8,0,13,0 25,0,87,0,98,0,41,0,6,0,45,0 30,0,79,0,35,0,64,0,49,0,47,0 9,0,17,0,2,0,19,0,7,0,56,0 43,0,84,0,5,0,18,0,95,0,16,0 21,0,42,0,55,0,44,0,36,0,82,0 63,0,72,0,51,0,12,0,46,0,67,0 20,0,78,0,58,0,89,0,75,0,65,0 68,0,22,0,71,0,29,0,57,0,54,0 62,0,10,0,90,0,69,0,39,0,74,0 1,0,27,0,70,0,61,0,37,0,73,0 52,0,96,0,3,0,15,0,92,0,81,0 33,0,48,0,76,0,24,0,60,0,85,0 93,0,53,0,40,0,4,0,83,0,84,0 31,0,88,0,51,0,55,0,50,0,28,0 14,0,82,0,87,0,95,0,100,0,49,0 7,0,80,0,45,0,32,0,64,0,41,0 25,0,94,0,29,0,63,0,2,0,35,0 30,0,13,0,71,0,8,0,36,0,5,0 97,0,15,0,12,0,90,0,79,0,70,0 74,0,60,0,19,0,89,0,21,0,43,0 18,0,47,0,85,0,91,0,57,0,93,0 92,0,39,0,20,0,72,0,34,0,73,0 65,0,42,0,11,0,33,0,1,0,22,0 16,0,38,0,59,0,68,0,81,0,56,0 10,0,98,0,23,0,4,0,17,0,67,0 62,0,6,0,83,0,37,0,86,0,44,0 48,0,9,0,75,0,27,0,54,0,52,0 24,0,26,0,76,0,3,0,58,0,99,0 61,0,77,0,46,0,53,0,96,0,66,0 69,0,87,0,21,0,78,0,5,0,47,0 41,0,49,0,34,0,8,0,51,0,93,0 33,0,57,0,63,0,50,0,20,0,19,0 7,0,28,0,67,0,97,0,22,0,89,0 95,0,17,0,94,0,30,0,1,0,59,0 55,0,83,0,92,0,48,0,35,0,32,0 31,0,29,0,26,0,43,0,81,0,79,0 76,0,80,0,44,0,25,0,96,0,16,0 71,0,100,0,27,0,53,0,24,0,15,0 77,0,69,0,2,0,6,0,75,0,3,0 46,0,52,0,38,0,10,0,82,0,40,0 54,0,45,0,84,0,88,0,12,0,58,0 66,0,11,0,64,0,73,0,98,0,62,0 86,0,78,0,99,0,68,0,90,0,85,0 4,0,72,0,65,0,9,0,61,0,74,0 36,0,42,0,14,0,60,0,91,0,37,0 23,0,56,0,13,0,18,0,39,0,70,0 96,0,69,0,71,0,48,0,20,0,97,0 24,0,40,0,92,0,79,0,41,0,94,0 10,0,57,0,81,0,34,0,53,0,75,0 33,0,16,0,3,0,54,0,64,0,46,0 80,0,86,0,73,0,17,0,63,0,22,0 61,0,15,0,83,0,30,0,99,0,45,0 85,0,67,0,58,0,87,0,68,0,55,0 91,0,74,0,50,0,44,0,70,0,95,0 47,0,2,0,27,0,28,0,11,0,76,0 42,0,35,0,56,0,13,0,19,0,72,0 90,0,21,0,77,0,14,0,29,0,1,0 8,0,60,0,12,0,23,0,52,0,78,0 59,0,88,0,66,0,36,0,65,0,18,0 100,0,37,0,9,0,98,0,32,0,93,0 43,0,39,0,4,0,25,0,7,0,82,0 5,0,51,0,89,0,62,0,38,0,26,0 49,0,31,0,22,0,6,0,84,0,94,0 63,0,74,0,87,0,68,0,97,0,11,0 13,0,57,0,27,0,83,0,58,0,46,0 55,0,90,0,81,0,60,0,40,0,28,0 67,0,88,0,33,0,3,0,44,0,35,0 24,0,65,0,95,0,69,0,23,0,80,0 72,0,98,0,14,0,50,0,76,0,78,0 38,0,36,0,75,0,1,0,39,0,64,0 2,0,49,0,8,0,21,0,15,0,62,0 79,0,18,0,29,0,100,0,4,0,45,0 53,0,19,0,86,0,92,0,54,0,82,0 91,0,30,0,7,0,31,0,20,0,66,0 26,0,93,0,25,0,17,0,71,0,77,0 61,0,56,0,6,0,47,0,43,0,73,0 37,0,85,0,59,0,84,0,51,0,96,0 89,0,70,0,32,0,16,0,34,0,52,0 5,0,10,0,99,0,41,0,12,0,42,0 9,0,78,0,81,0,48,0,94,0,36,0 86,0,64,0,69,0,1,0,18,0,55,0 7,0,44,0,92,0,87,0,75,0,46,0 65,0,3,0,28,0,93,0,79,0,63,0 95,0,4,0,27,0,62,0,22,0,88,0 24,0,17,0,11,0,91,0,90,0,49,0 100,0,85,0,16,0,31,0,61,0,21,0 23,0,20,0,43,0,37,0,35,0,54,0 83,0,67,0,39,0,14,0,5,0,96,0 47,0,72,0,45,0,10,0,59,0,8,0 80,0,58,0,30,0,77,0,42,0,34,0 74,0,52,0,25,0,57,0,56,0,51,0 73,0,82,0,41,0,13,0,9,0,50,0 66,0,60,0,32,0,26,0,15,0,68,0 33,0,53,0,98,0,97,0,2,0,99,0 48,0,29,0,19,0,70,0,84,0,38,0 12,0,40,0,76,0,89,0,71,0,6,0 96,0,64,0,93,0,90,0,43,0,94,0 17,0,28,0,8,0,87,0,16,0,20,0 79,0,21,0,72,0,86,0,23,0,75,0 46,0,34,0,91,0,45,0,55,0,22,0 88,0,92,0,1,0,49,0,26,0,10,0 52,0,36,0,13,0,2,0,95,0,85,0 41,0,58,0,4,0,60,0,44,0,38,0 12,0,32,0,81,0,65,0,19,0,69,0 9,0,11,0,70,0,53,0,6,0,51,0 56,0,40,0,98,0,35,0,5,0,61,0 42,0,67,0,68,0,84,0,47,0,76,0 99,0,63,0,82,0,74,0,71,0,66,0 33,0,50,0,54,0,27,0,77,0,39,0 62,0,3,0,18,0,30,0,25,0,14,0 97,0,24,0,73,0,78,0,29,0,83,0 59,0,80,0,89,0,57,0,100,0,31,0 37,0,15,0,51,0,48,0,7,0,69,0 ================================================ FILE: schedules/100_14.csv ================================================ 58,0,52,0,10,0,94,0,17,0,24,0 20,0,81,0,61,0,21,0,26,0,6,0 35,0,89,0,75,0,74,0,31,0,76,0 78,0,48,0,12,0,49,0,38,0,66,0 29,0,46,0,9,0,11,0,47,0,65,0 71,0,4,0,60,0,23,0,91,0,2,0 1,0,62,0,77,0,82,0,64,0,96,0 69,0,43,0,57,0,86,0,28,0,50,0 42,0,25,0,30,0,56,0,45,0,33,0 98,0,92,0,14,0,59,0,39,0,90,0 51,0,88,0,37,0,27,0,40,0,16,0 54,0,87,0,97,0,44,0,7,0,85,0 68,0,63,0,70,0,41,0,93,0,84,0 79,0,34,0,67,0,83,0,80,0,18,0 19,0,15,0,100,0,8,0,55,0,13,0 3,0,32,0,72,0,36,0,5,0,22,0 99,0,53,0,28,0,95,0,73,0,2,0 6,0,52,0,86,0,91,0,56,0,65,0 45,0,74,0,58,0,26,0,92,0,64,0 54,0,57,0,1,0,12,0,20,0,11,0 7,0,27,0,89,0,39,0,17,0,78,0 9,0,82,0,49,0,93,0,43,0,83,0 87,0,51,0,42,0,66,0,63,0,18,0 61,0,41,0,34,0,4,0,24,0,47,0 73,0,100,0,80,0,90,0,37,0,96,0 70,0,62,0,76,0,15,0,94,0,40,0 5,0,97,0,16,0,69,0,21,0,36,0 98,0,99,0,32,0,30,0,81,0,13,0 3,0,8,0,10,0,71,0,14,0,53,0 19,0,31,0,35,0,77,0,67,0,44,0 50,0,85,0,29,0,22,0,33,0,72,0 79,0,48,0,84,0,55,0,46,0,23,0 38,0,25,0,59,0,88,0,60,0,75,0 95,0,20,0,39,0,68,0,93,0,94,0 47,1,64,0,90,0,89,1,49,0,86,0 57,1,82,0,5,0,80,1,92,0,34,0 16,0,96,0,9,0,42,0,24,0,12,0 11,0,13,0,4,0,58,0,18,0,35,0 65,0,40,0,33,0,41,0,1,0,44,0 63,0,36,0,91,0,99,0,81,0,83,0 66,0,22,0,84,0,69,0,60,0,67,0 27,0,10,0,15,0,52,0,75,0,26,0 85,0,14,0,6,0,98,0,68,0,88,0 71,0,79,0,77,0,30,0,95,0,70,0 43,0,51,0,76,0,7,0,53,0,38,0 21,0,2,0,45,0,17,0,8,0,46,0 56,0,37,0,50,0,78,0,55,0,97,0 54,0,100,0,48,0,74,0,61,0,29,0 62,0,19,0,32,0,28,0,3,0,87,0 25,0,73,0,72,0,31,0,59,0,23,0 41,0,6,0,92,0,75,0,96,0,27,0 36,0,60,0,68,0,11,0,40,0,86,0 69,0,39,0,70,0,26,0,24,0,99,0 57,0,85,0,93,0,13,0,51,0,79,0 78,0,4,0,95,0,10,0,83,0,9,0 67,0,53,0,91,0,56,0,100,0,46,0 94,0,12,0,34,0,89,0,28,0,71,0 8,0,22,0,82,0,37,0,98,0,47,0 7,0,15,0,45,0,48,0,1,0,3,0 66,0,25,0,61,0,35,0,64,0,73,0 44,0,63,0,38,0,17,0,29,0,30,0 55,0,54,0,58,0,81,0,59,0,62,0 19,0,97,0,33,0,52,0,74,0,2,0 87,0,23,0,43,0,14,0,80,0,16,0 84,0,42,0,31,0,50,0,65,0,5,0 72,0,88,0,18,0,20,0,77,0,90,0 32,0,76,0,4,0,49,0,21,0,57,0 40,0,100,0,26,0,9,0,71,0,66,0 28,0,82,0,13,0,70,0,60,0,48,0 96,0,15,0,44,0,95,0,86,0,58,0 74,0,97,0,34,0,46,0,25,0,22,0 16,0,89,0,91,0,8,0,38,0,11,0 47,0,93,0,51,0,14,0,31,0,10,0 43,0,99,0,36,0,79,0,35,0,1,0 81,0,85,0,94,0,45,0,41,0,67,0 21,0,24,0,37,0,92,0,18,0,29,0 6,0,55,0,3,0,69,0,33,0,54,0 2,0,12,0,65,0,27,0,72,0,63,0 90,0,52,0,53,0,68,0,42,0,50,0 64,0,5,0,78,0,98,0,59,0,87,0 73,0,17,0,56,0,19,0,20,0,83,0 30,0,61,0,49,0,80,0,88,0,7,0 77,0,76,0,84,0,39,0,23,0,32,0 62,0,22,0,16,0,75,0,91,0,45,0 89,0,46,0,33,0,43,0,13,0,10,0 37,0,31,0,85,0,34,0,70,0,3,0 2,0,81,0,27,0,100,0,57,0,14,0 93,0,60,0,96,0,78,0,72,0,21,0 65,0,95,0,67,0,54,0,98,0,25,0 55,0,17,0,40,0,82,0,61,0,18,0 39,0,64,0,74,0,51,0,23,0,15,0 69,0,83,0,4,0,30,0,53,0,62,0 35,0,87,0,47,0,71,0,68,0,38,0 8,0,1,0,92,0,88,0,9,0,84,0 79,0,36,0,20,0,59,0,42,0,76,0 90,0,44,0,75,0,99,0,66,0,11,0 12,0,32,0,29,0,80,0,58,0,56,0 19,0,7,0,86,0,26,0,63,0,5,0 49,0,52,0,97,0,41,0,28,0,77,0 48,0,50,0,24,0,6,0,73,0,94,0 30,0,31,0,18,0,57,0,96,0,91,0 89,0,15,0,95,0,84,0,4,0,92,0 46,0,35,0,42,0,62,0,60,0,39,0 20,0,65,0,69,0,47,0,78,0,45,0 74,0,83,0,8,0,44,0,70,0,32,0 37,0,12,0,14,0,61,0,19,0,79,0 11,0,55,0,64,0,80,0,85,0,10,0 49,0,59,0,17,0,71,0,22,0,86,0 67,0,21,0,52,0,48,0,63,0,88,0 98,0,97,0,56,0,51,0,94,0,1,0 29,0,93,0,23,0,40,0,5,0,99,0 100,0,28,0,43,0,68,0,25,0,6,0 81,0,58,0,53,0,75,0,7,0,82,0 34,0,90,0,9,0,36,0,38,0,33,0 54,0,3,0,27,0,73,0,50,0,77,0 2,0,26,0,16,0,41,0,13,0,76,0 66,0,87,0,79,0,72,0,24,0,15,0 52,0,83,0,94,0,14,0,35,0,96,0 32,0,45,0,71,0,44,0,55,0,61,0 59,0,6,0,64,0,37,0,67,0,4,0 68,0,75,0,69,0,89,0,29,0,51,0 57,0,65,0,10,0,100,0,7,0,70,0 8,0,12,0,33,0,86,0,93,0,77,0 85,0,46,0,39,0,28,0,40,0,49,0 1,0,91,0,25,0,26,0,90,0,87,0 80,0,66,0,3,0,92,0,63,0,76,0 95,0,88,0,13,0,22,0,73,0,42,0 72,0,56,0,48,0,34,0,47,0,16,0 41,0,60,0,11,0,53,0,17,0,5,0 21,0,9,0,58,0,99,0,27,0,31,0 18,0,84,0,74,0,97,0,38,0,81,0 24,0,20,0,62,0,43,0,98,0,2,0 78,0,50,0,23,0,30,0,19,0,82,0 36,0,66,0,46,0,54,0,93,0,37,0 86,0,67,0,76,0,55,0,29,0,1,0 33,0,61,0,32,0,75,0,95,0,59,0 63,0,22,0,52,0,57,0,89,0,64,0 11,0,45,0,79,0,87,0,34,0,27,0 31,0,5,0,81,0,4,0,39,0,48,0 56,0,44,0,49,0,69,0,18,0,3,0 99,0,65,0,13,0,14,0,62,0,38,0 53,0,36,0,16,0,19,0,6,0,74,0 43,0,73,0,85,0,60,0,15,0,12,0 26,0,78,0,68,0,77,0,2,0,80,0 47,0,100,0,84,0,24,0,40,0,30,0 91,0,42,0,54,0,21,0,82,0,10,0 72,0,41,0,83,0,98,0,58,0,71,0 96,0,97,0,88,0,17,0,35,0,70,0 8,0,20,0,50,0,25,0,51,0,92,0 90,0,28,0,94,0,23,0,7,0,9,0 46,0,81,0,3,0,52,0,95,0,12,0 34,0,39,0,45,0,66,0,13,0,29,0 6,0,30,0,11,0,93,0,22,0,15,0 68,0,37,0,91,0,54,0,76,0,44,0 57,0,55,0,77,0,53,0,73,0,47,0 41,0,87,0,88,0,99,0,56,0,89,0 4,0,21,0,75,0,72,0,80,0,1,0 17,0,25,0,14,0,9,0,69,0,32,0 64,0,60,0,50,0,65,0,83,0,16,0 18,0,59,0,26,0,82,0,84,0,85,0 7,0,24,0,36,0,31,0,71,0,8,0 78,0,62,0,43,0,74,0,67,0,90,0 63,0,98,0,35,0,10,0,92,0,28,0 23,0,86,0,70,0,61,0,42,0,27,0 2,0,38,0,19,0,79,0,96,0,94,0 100,0,49,0,33,0,58,0,5,0,51,0 20,0,40,0,53,0,48,0,97,0,91,0 82,0,25,0,29,0,15,0,41,0,16,0 32,0,46,0,13,0,4,0,7,0,68,0 24,0,65,0,74,0,57,0,59,0,3,0 89,0,1,0,17,0,66,0,28,0,93,0 26,0,62,0,73,0,34,0,44,0,8,0 70,0,77,0,64,0,43,0,56,0,21,0 38,0,92,0,94,0,72,0,86,0,55,0 58,0,87,0,2,0,9,0,37,0,30,0 5,0,83,0,23,0,12,0,6,0,88,0 99,0,76,0,60,0,97,0,45,0,100,0 80,0,51,0,95,0,52,0,36,0,48,0 11,0,96,0,50,0,39,0,61,0,63,0 75,0,42,0,71,0,85,0,19,0,67,0 18,0,14,0,22,0,78,0,54,0,31,0 69,0,10,0,40,0,90,0,81,0,79,0 33,0,84,0,27,0,49,0,35,0,20,0 98,0,44,0,23,0,47,0,89,0,21,0 94,0,66,0,74,0,4,0,77,0,82,0 8,0,95,0,60,0,57,0,29,0,87,0 80,0,91,0,59,0,9,0,50,0,41,0 30,0,55,0,34,0,39,0,65,0,43,0 63,0,71,0,96,0,53,0,25,0,15,0 10,0,68,0,18,0,12,0,99,0,45,0 7,0,40,0,72,0,64,0,14,0,42,0 27,0,19,0,98,0,76,0,46,0,69,0 83,0,38,0,48,0,26,0,22,0,54,0 75,0,5,0,86,0,20,0,13,0,37,0 92,0,73,0,70,0,36,0,49,0,2,0 93,0,24,0,90,0,85,0,56,0,35,0 84,0,6,0,51,0,62,0,17,0,11,0 100,0,16,0,31,0,32,0,1,0,52,0 61,0,47,0,97,0,3,0,58,0,67,0 81,0,78,0,33,0,88,0,79,0,28,0 27,0,59,0,68,0,66,0,83,0,96,0 38,0,41,0,37,0,57,0,45,0,23,0 99,0,71,0,80,0,20,0,46,0,74,0 90,0,63,0,56,0,8,0,54,0,5,0 62,0,86,0,85,0,48,0,89,0,30,0 39,0,9,0,35,0,72,0,6,0,70,0 26,0,29,0,53,0,49,0,94,0,31,0 81,0,92,0,67,0,16,0,17,0,33,0 21,0,44,0,13,0,84,0,78,0,25,0 79,0,75,0,3,0,60,0,100,0,98,0 40,0,4,0,22,0,12,0,19,0,43,0 55,0,28,0,24,0,91,0,51,0,64,0 36,0,77,0,10,0,87,0,65,0,61,0 11,0,82,0,14,0,76,0,95,0,97,0 58,0,1,0,42,0,69,0,73,0,34,0 47,0,15,0,2,0,88,0,50,0,32,0 7,0,93,0,92,0,52,0,18,0,62,0 89,0,79,0,54,0,45,0,53,0,9,0 57,0,35,0,86,0,3,0,16,0,78,0 60,0,5,0,80,0,44,0,27,0,94,0 59,0,70,0,29,0,19,0,90,0,51,0 68,0,30,0,12,0,31,0,64,0,97,0 14,0,66,0,41,0,55,0,20,0,21,0 23,0,96,0,4,0,56,0,26,0,36,0 47,0,1,0,63,0,74,0,85,0,95,0 93,0,76,0,73,0,71,0,81,0,65,0 46,0,83,0,28,0,75,0,18,0,8,0 43,0,72,0,61,0,84,0,69,0,52,0 82,0,38,0,88,0,24,0,100,0,32,0 15,0,17,0,77,0,98,0,91,0,34,0 7,0,11,0,48,0,33,0,99,0,37,0 50,0,67,0,49,0,13,0,87,0,40,0 22,0,10,0,2,0,39,0,58,0,25,0 6,0,47,0,57,0,42,0,89,0,80,0 ================================================ FILE: schedules/100_2.csv ================================================ 58,0,44,0,80,0,95,0,23,0,79,0 88,0,17,0,70,0,30,0,68,0,43,0 10,0,38,0,66,0,51,0,19,0,98,0 20,0,67,0,40,0,21,0,25,0,63,0 84,0,69,0,29,0,99,0,97,0,53,0 48,0,42,0,100,0,60,0,41,0,46,0 56,0,28,0,77,0,2,0,35,0,72,0 14,0,15,0,6,0,1,0,16,0,34,0 13,0,4,0,12,0,27,0,89,0,33,0 32,0,90,0,3,0,18,0,73,0,94,0 96,0,5,0,52,0,64,0,86,0,49,0 7,0,50,0,76,0,8,0,82,0,71,0 75,0,74,0,62,0,24,0,91,0,22,0 65,0,45,0,59,0,39,0,92,0,26,0 93,0,81,0,61,0,54,0,31,0,87,0 47,0,9,0,57,0,11,0,37,0,83,0 36,0,78,0,27,0,85,0,55,0,10,0 29,0,21,0,58,0,12,0,18,0,28,0 33,0,95,0,35,0,3,0,25,0,5,0 13,0,100,0,34,0,69,0,76,0,70,0 2,0,46,0,17,0,90,0,40,0,62,0 59,0,97,0,89,0,96,0,66,0,67,0 41,0,92,0,71,0,61,0,22,0,15,0 45,0,20,0,23,0,81,0,73,0,56,0 68,0,64,0,48,0,14,0,50,0,47,0 65,0,63,0,74,0,4,0,88,0,87,0 8,0,53,0,9,0,38,0,93,0,78,0 1,0,36,0,24,0,84,0,79,0,43,0 44,0,98,0,86,0,6,0,32,0,72,0 60,0,30,0,91,0,99,0,83,0,51,0 85,0,31,0,39,0,42,0,82,0,37,0 94,0,11,0,19,0,80,0,52,0,7,0 26,0,49,0,77,0,57,0,75,0,55,0 54,0,59,1,76,1,16,0,63,1,58,1 ================================================ FILE: schedules/100_3.csv ================================================ 15,0,59,0,25,0,16,0,5,0,64,0 73,0,90,0,52,0,30,0,39,0,67,0 86,0,13,0,11,0,65,0,31,0,48,0 60,0,63,0,45,0,35,0,38,0,95,0 37,0,97,0,2,0,96,0,33,0,78,0 24,0,18,0,70,0,49,0,93,0,34,0 66,0,32,0,61,0,1,0,41,0,91,0 88,0,58,0,71,0,20,0,29,0,92,0 27,0,22,0,100,0,54,0,17,0,68,0 36,0,8,0,14,0,87,0,4,0,6,0 46,0,3,0,76,0,19,0,72,0,75,0 51,0,77,0,12,0,50,0,40,0,82,0 99,0,7,0,83,0,69,0,26,0,62,0 98,0,74,0,94,0,47,0,23,0,80,0 57,0,42,0,85,0,81,0,44,0,55,0 43,0,79,0,89,0,9,0,53,0,56,0 21,0,28,0,93,0,84,0,10,0,31,0 49,0,17,0,58,0,25,0,60,0,61,0 65,0,27,0,5,0,32,0,14,0,70,0 78,0,20,0,35,0,66,0,50,0,86,0 92,0,4,0,11,0,40,0,46,0,68,0 48,0,69,0,96,0,63,0,3,0,51,0 22,0,62,0,88,0,37,0,18,0,15,0 41,0,72,0,56,0,42,0,45,0,74,0 82,0,9,0,44,0,38,0,73,0,91,0 55,0,59,0,75,0,13,0,90,0,43,0 100,0,97,0,12,0,79,0,8,0,30,0 85,0,64,0,95,0,28,0,36,0,7,0 83,0,33,0,29,0,76,0,98,0,24,0 71,0,21,0,23,0,52,0,16,0,57,0 84,0,2,0,67,0,80,0,1,0,77,0 54,0,53,0,10,0,19,0,94,0,99,0 34,0,6,0,47,0,81,0,39,0,26,0 87,0,51,0,17,0,89,0,11,0,55,0 75,0,92,0,37,0,86,0,27,0,69,0 40,0,58,0,42,0,95,0,14,0,43,0 15,0,28,0,65,0,44,0,97,0,74,0 57,0,82,0,8,0,70,0,76,0,13,0 63,0,90,0,77,0,29,0,7,0,78,0 66,0,59,0,99,0,21,0,72,0,12,0 4,0,38,0,81,0,49,0,100,0,48,0 45,0,1,0,24,0,3,0,89,0,73,0 93,0,54,0,30,0,41,0,87,0,80,0 31,0,68,0,26,0,56,0,2,0,85,0 6,0,5,0,79,0,60,0,88,0,94,0 96,0,22,0,35,0,53,0,83,0,71,0 10,0,67,0,20,0,23,0,32,0,33,0 16,0,18,0,46,0,84,0,61,0,39,0 9,0,98,0,34,0,62,0,25,0,36,0 19,0,64,0,91,0,50,0,47,0,52,0 ================================================ FILE: schedules/100_4.csv ================================================ 11,0,47,0,34,0,82,0,56,0,25,0 51,0,80,0,50,0,1,0,4,0,63,0 86,0,37,0,100,0,89,0,72,0,39,0 2,0,9,0,29,0,92,0,3,0,52,0 20,0,71,0,99,0,35,0,85,0,18,0 94,0,13,0,65,0,22,0,95,0,59,0 90,0,23,0,93,0,10,0,27,0,44,0 98,0,70,0,96,0,28,0,61,0,84,0 8,0,74,0,91,0,75,0,79,0,68,0 53,0,19,0,62,0,41,0,69,0,43,0 17,0,14,0,88,0,5,0,54,0,55,0 16,0,32,0,66,0,38,0,7,0,31,0 40,0,76,0,48,0,46,0,64,0,97,0 36,0,78,0,12,0,81,0,26,0,67,0 45,0,58,0,15,0,49,0,24,0,42,0 57,0,73,0,6,0,60,0,83,0,21,0 33,0,87,0,84,0,77,0,30,0,2,0 13,0,75,0,72,0,10,0,70,0,62,0 90,0,94,0,39,0,14,0,28,0,80,0 41,0,92,0,66,0,86,0,20,0,91,0 68,0,85,0,89,0,19,0,31,0,34,0 82,0,93,0,81,0,76,0,29,0,51,0 64,0,7,0,47,0,63,0,23,0,59,0 18,0,79,0,12,0,97,0,37,0,16,0 73,0,40,0,35,0,52,0,87,0,78,0 83,0,99,0,38,0,9,0,36,0,55,0 27,0,67,0,1,0,69,0,32,0,48,0 3,0,74,0,54,0,58,0,65,0,56,0 60,0,42,0,11,0,4,0,33,0,98,0 30,0,15,0,95,0,61,0,57,0,50,0 25,0,24,0,53,0,71,0,88,0,6,0 44,0,26,0,45,0,8,0,5,0,43,0 22,0,17,0,77,0,96,0,21,0,46,0 100,0,99,0,52,0,49,0,76,0,90,0 31,1,20,0,81,0,80,1,83,0,27,0 70,0,55,0,58,0,78,0,32,0,51,0 62,0,9,0,73,0,48,0,33,0,86,0 74,0,57,0,85,0,13,0,42,0,40,0 4,0,64,0,12,0,88,0,35,0,66,0 7,0,98,0,56,0,94,0,19,0,15,0 61,0,36,0,43,0,6,0,68,0,17,0 28,0,18,0,5,0,2,0,47,0,60,0 3,0,95,0,75,0,45,0,14,0,97,0 41,0,82,0,72,0,77,0,1,0,23,0 10,0,100,0,54,0,79,0,24,0,21,0 59,0,37,0,44,0,53,0,67,0,46,0 30,0,49,0,91,0,39,0,25,0,96,0 50,0,11,0,84,0,22,0,8,0,29,0 89,0,87,0,92,0,16,0,93,0,26,0 34,0,69,0,65,0,38,0,71,0,63,0 80,0,42,0,62,0,6,0,56,0,12,0 2,0,88,0,23,0,83,0,95,0,70,0 51,0,68,0,77,0,100,0,98,0,40,0 37,0,21,0,32,0,85,0,64,0,45,0 78,0,27,0,28,0,99,0,30,0,41,0 31,0,72,0,25,0,50,0,43,0,3,0 84,0,4,0,59,0,81,0,52,0,17,0 5,0,1,0,79,0,22,0,61,0,66,0 93,0,8,0,53,0,57,0,9,0,20,0 44,0,24,0,48,0,16,0,35,0,11,0 10,0,69,0,92,0,14,0,18,0,15,0 55,0,34,0,67,0,86,0,75,0,87,0 60,0,89,0,63,0,13,0,91,0,76,0 46,0,26,0,29,0,94,0,74,0,73,0 58,0,97,0,39,0,38,0,82,0,19,0 36,0,96,0,71,0,90,0,7,0,54,0 33,0,49,0,31,0,47,0,65,0,80,0 ================================================ FILE: schedules/100_5.csv ================================================ 64,0,13,0,1,0,70,0,14,0,33,0 22,0,72,0,53,0,36,0,92,0,71,0 74,0,42,0,7,0,12,0,28,0,68,0 96,0,11,0,51,0,89,0,77,0,5,0 18,0,26,0,34,0,57,0,87,0,62,0 80,0,86,0,2,0,17,0,6,0,27,0 61,0,54,0,49,0,40,0,20,0,88,0 21,0,81,0,90,0,97,0,52,0,93,0 32,0,78,0,30,0,67,0,75,0,16,0 3,0,46,0,10,0,8,0,47,0,37,0 50,0,85,0,95,0,60,0,82,0,73,0 65,0,48,0,59,0,100,0,76,0,24,0 25,0,98,0,66,0,44,0,94,0,63,0 43,0,23,0,79,0,55,0,58,0,19,0 45,0,83,0,56,0,39,0,41,0,9,0 35,0,29,0,69,0,91,0,99,0,4,0 84,0,15,0,62,0,38,0,31,0,68,0 89,0,13,0,88,0,78,0,26,0,71,0 74,0,53,0,64,0,85,0,52,0,6,0 65,0,60,0,75,0,47,0,57,0,1,0 14,0,97,0,61,0,59,0,44,0,10,0 28,0,93,0,79,0,72,0,16,0,54,0 63,0,67,0,43,0,90,0,3,0,50,0 45,0,95,0,4,0,27,0,42,0,49,0 7,0,8,0,58,0,29,0,39,0,94,0 35,0,12,0,5,0,32,0,56,0,15,0 87,0,73,0,37,0,66,0,20,0,83,0 24,0,46,0,55,0,9,0,92,0,25,0 38,0,100,0,23,0,2,0,11,0,69,0 41,0,99,0,77,0,98,0,30,0,80,0 19,0,70,0,91,0,40,0,18,0,48,0 31,0,21,0,76,0,82,0,36,0,33,0 84,0,34,0,81,0,96,0,22,0,86,0 17,0,50,0,28,0,51,0,52,0,4,0 6,1,66,0,71,0,12,1,1,0,39,0 94,1,78,0,37,0,45,1,59,0,79,0 10,0,87,0,49,0,53,0,32,0,100,0 43,0,42,0,20,0,85,0,5,0,72,0 29,0,70,0,57,0,27,0,41,0,3,0 13,0,60,0,97,0,76,0,69,0,58,0 15,0,26,0,86,0,64,0,93,0,24,0 19,0,80,0,65,0,44,0,83,0,89,0 61,0,98,0,51,0,31,0,74,0,23,0 11,0,68,0,82,0,34,0,8,0,75,0 77,0,88,0,22,0,46,0,90,0,17,0 35,0,36,0,73,0,48,0,7,0,25,0 47,0,14,0,96,0,91,0,21,0,62,0 84,0,2,0,9,0,95,0,67,0,99,0 30,0,38,0,63,0,54,0,18,0,92,0 56,0,33,0,40,0,81,0,16,0,55,0 5,0,76,0,86,0,94,0,3,0,1,0 71,0,68,0,10,0,51,0,20,0,45,0 12,0,57,0,77,0,64,0,72,0,19,0 8,0,98,0,4,0,32,0,88,0,73,0 80,0,39,0,85,0,35,0,96,0,97,0 78,0,93,0,36,0,74,0,70,0,50,0 67,0,82,0,52,0,65,0,42,0,18,0 54,0,44,0,58,0,56,0,75,0,37,0 59,0,31,0,91,0,81,0,25,0,13,0 22,0,16,0,7,0,62,0,95,0,11,0 27,0,63,0,46,0,14,0,53,0,79,0 49,0,24,0,34,0,38,0,47,0,29,0 100,0,40,0,21,0,30,0,28,0,66,0 6,0,26,0,43,0,69,0,9,0,61,0 41,0,92,0,15,0,2,0,89,0,87,0 90,0,83,0,33,0,23,0,84,0,60,0 55,0,17,0,20,0,48,0,99,0,78,0 44,0,1,0,91,0,22,0,82,0,45,0 85,0,98,0,57,0,93,0,13,0,10,0 54,0,97,0,71,0,86,0,7,0,31,0 94,0,24,0,74,0,19,0,95,0,35,0 11,0,72,0,56,0,6,0,46,0,73,0 12,0,29,0,50,0,26,0,96,0,30,0 18,0,88,0,2,0,81,0,83,0,43,0 62,0,92,0,4,0,23,0,80,0,67,0 89,0,99,0,16,0,42,0,64,0,63,0 14,0,37,0,28,0,49,0,41,0,65,0 33,0,9,0,79,0,51,0,87,0,47,0 3,0,25,0,58,0,77,0,68,0,100,0 75,0,17,0,36,0,5,0,66,0,59,0 61,0,27,0,52,0,8,0,38,0,60,0 69,0,32,0,55,0,84,0,70,0,21,0 39,0,76,0,40,0,53,0,15,0,34,0 48,0,6,0,45,0,90,0,12,0,94,0 ================================================ FILE: schedules/100_6.csv ================================================ 25,0,90,0,26,0,62,0,80,0,97,0 54,0,27,0,52,0,100,0,20,0,1,0 79,0,74,0,76,0,34,0,91,0,30,0 31,0,7,0,44,0,24,0,32,0,61,0 98,0,10,0,83,0,45,0,12,0,50,0 71,0,29,0,60,0,39,0,94,0,48,0 13,0,17,0,70,0,89,0,38,0,9,0 69,0,77,0,16,0,33,0,96,0,41,0 64,0,57,0,63,0,53,0,56,0,28,0 42,0,73,0,5,0,88,0,87,0,93,0 85,0,3,0,4,0,8,0,18,0,14,0 72,0,37,0,46,0,15,0,84,0,6,0 23,0,36,0,22,0,65,0,75,0,82,0 95,0,92,0,35,0,55,0,21,0,59,0 99,0,43,0,81,0,86,0,49,0,2,0 19,0,68,0,11,0,58,0,40,0,66,0 51,0,67,0,45,0,47,0,78,0,64,0 7,0,93,0,69,0,70,0,62,0,83,0 80,0,1,0,76,0,77,0,9,0,24,0 61,0,79,0,71,0,13,0,98,0,46,0 5,0,74,0,44,0,38,0,54,0,18,0 25,0,55,0,32,0,8,0,6,0,63,0 28,0,39,0,59,0,87,0,26,0,52,0 88,0,48,0,22,0,95,0,19,0,72,0 57,0,49,0,94,0,51,0,30,0,65,0 56,0,41,0,4,0,67,0,11,0,81,0 75,0,84,0,34,0,17,0,3,0,16,0 35,0,20,0,43,0,89,0,50,0,31,0 40,0,23,0,100,0,21,0,78,0,33,0 47,0,42,0,86,0,82,0,90,0,92,0 97,0,14,0,96,0,27,0,60,0,53,0 29,0,2,0,15,0,73,0,68,0,85,0 66,0,37,0,91,0,12,0,99,0,36,0 58,0,70,0,22,0,10,0,44,0,4,0 3,0,69,0,64,0,55,0,71,0,76,0 43,0,62,0,28,0,74,0,19,0,8,0 67,0,38,0,72,0,61,0,35,0,87,0 32,0,92,0,11,0,77,0,98,0,39,0 33,0,57,0,20,0,9,0,60,0,26,0 89,0,78,0,95,0,68,0,82,0,96,0 18,0,17,0,73,0,56,0,59,0,66,0 99,0,52,0,50,0,40,0,34,0,42,0 97,0,86,0,51,0,91,0,100,0,46,0 47,0,80,0,10,0,23,0,7,0,88,0 31,0,75,0,79,0,94,0,15,0,81,0 45,0,1,0,58,0,84,0,29,0,30,0 90,0,83,0,49,0,63,0,14,0,24,0 5,0,27,0,25,0,41,0,12,0,21,0 2,0,65,0,93,0,16,0,37,0,53,0 13,0,36,0,6,0,48,0,54,0,85,0 82,0,17,0,19,0,98,0,76,0,4,0 95,0,97,0,33,0,43,0,66,0,39,0 26,0,94,0,55,0,96,0,100,0,10,0 50,0,87,0,91,0,15,0,70,0,23,0 62,0,63,0,60,0,67,0,18,0,52,0 64,0,86,0,35,0,84,0,32,0,14,0 74,0,77,0,22,0,71,0,81,0,45,0 36,0,49,0,89,0,58,0,46,0,73,0 65,0,85,0,78,0,72,0,42,0,41,0 2,0,40,0,9,0,51,0,25,0,56,0 12,0,8,0,92,0,69,0,30,0,61,0 53,0,5,0,20,0,90,0,13,0,7,0 24,0,54,0,21,0,28,0,16,0,29,0 79,0,80,0,48,0,37,0,83,0,57,0 3,0,59,0,1,0,68,0,31,0,99,0 47,0,34,0,11,0,38,0,6,0,93,0 88,0,27,0,63,0,75,0,44,0,43,0 26,0,73,0,40,0,91,0,45,0,32,0 39,0,46,0,78,0,55,0,17,0,22,0 51,0,70,0,41,0,84,0,95,0,74,0 7,0,66,0,4,0,54,0,92,0,96,0 30,0,89,0,24,0,5,0,15,0,62,0 56,0,33,0,87,0,49,0,3,0,13,0 21,0,61,0,65,0,90,0,48,0,64,0 71,0,97,0,44,0,1,0,42,0,37,0 79,0,72,0,28,0,47,0,2,0,20,0 88,0,36,0,14,0,76,0,11,0,50,0 29,0,6,0,31,0,52,0,77,0,12,0 94,0,68,0,35,0,93,0,18,0,9,0 38,0,16,0,83,0,25,0,60,0,99,0 100,0,59,0,82,0,85,0,80,0,53,0 58,0,67,0,98,0,86,0,75,0,8,0 81,0,19,0,57,0,27,0,69,0,10,0 23,0,45,0,2,0,34,0,46,0,41,0 39,0,21,0,3,0,89,0,63,0,7,0 26,0,24,0,92,0,78,0,36,0,70,0 6,0,18,0,88,0,97,0,64,0,79,0 96,0,37,0,11,0,74,0,61,0,73,0 100,0,30,0,17,0,77,0,83,0,43,0 95,0,9,0,99,0,47,0,5,0,58,0 20,0,98,0,84,0,69,0,48,0,25,0 15,0,53,0,54,0,71,0,40,0,35,0 32,0,67,0,42,0,59,0,19,0,49,0 72,0,82,0,50,0,1,0,93,0,57,0 60,0,90,0,91,0,85,0,10,0,75,0 8,0,56,0,38,0,76,0,23,0,29,0 51,0,16,0,66,0,22,0,87,0,62,0 12,0,14,0,81,0,68,0,28,0,33,0 31,0,55,0,34,0,4,0,65,0,27,0 52,0,13,0,44,0,80,0,86,0,94,0 ================================================ FILE: schedules/100_7.csv ================================================ 22,0,72,0,93,0,76,0,66,0,36,0 3,0,39,0,33,0,26,0,99,0,74,0 7,0,38,0,40,0,37,0,32,0,82,0 77,0,57,0,83,0,42,0,64,0,80,0 69,0,11,0,18,0,12,0,46,0,97,0 28,0,65,0,73,0,9,0,98,0,17,0 29,0,49,0,43,0,92,0,51,0,8,0 58,0,53,0,4,0,30,0,20,0,5,0 47,0,54,0,24,0,87,0,55,0,94,0 44,0,48,0,60,0,88,0,70,0,91,0 35,0,15,0,78,0,67,0,21,0,1,0 71,0,79,0,50,0,62,0,81,0,41,0 25,0,2,0,14,0,23,0,27,0,89,0 59,0,10,0,96,0,31,0,86,0,19,0 95,0,16,0,100,0,75,0,68,0,90,0 61,0,56,0,63,0,45,0,85,0,84,0 52,0,13,0,87,0,34,0,6,0,43,0 5,0,40,0,91,0,24,0,8,0,57,0 7,0,55,0,35,0,51,0,12,0,28,0 83,0,50,0,70,0,9,0,1,0,69,0 32,0,67,0,73,0,29,0,77,0,71,0 94,0,25,0,36,0,37,0,3,0,18,0 10,0,2,0,64,0,11,0,90,0,26,0 41,0,14,0,92,0,84,0,72,0,46,0 62,0,45,0,19,0,4,0,54,0,75,0 23,0,48,0,13,0,80,0,65,0,49,0 93,0,34,0,59,0,78,0,100,0,85,0 16,0,96,0,76,0,20,0,27,0,39,0 97,0,56,0,68,0,15,0,30,0,66,0 60,0,42,0,86,0,52,0,38,0,89,0 88,0,63,0,95,0,74,0,22,0,98,0 79,0,33,0,31,0,17,0,44,0,82,0 6,0,81,0,21,0,58,0,61,0,99,0 53,0,1,0,84,0,47,0,40,0,18,0 12,1,9,0,19,0,72,1,48,0,71,0 62,0,28,0,13,0,29,0,93,0,16,0 3,0,4,0,85,0,50,0,76,0,10,0 66,0,86,0,37,0,75,0,8,0,20,0 60,0,23,0,83,0,35,0,43,0,26,0 64,0,39,0,69,0,78,0,54,0,44,0 49,0,70,0,79,0,100,0,96,0,74,0 6,0,45,0,55,0,95,0,80,0,14,0 77,0,34,0,98,0,47,0,21,0,68,0 36,0,58,0,17,0,52,0,67,0,2,0 7,0,57,0,30,0,33,0,61,0,41,0 31,0,99,0,32,0,90,0,27,0,22,0 97,0,25,0,65,0,92,0,24,0,88,0 51,0,46,0,15,0,5,0,94,0,42,0 91,0,73,0,38,0,56,0,81,0,11,0 87,0,82,0,89,0,63,0,59,0,53,0 28,0,76,0,40,0,49,0,83,0,34,0 12,0,3,0,54,0,98,0,86,0,70,0 30,0,26,0,93,0,9,0,44,0,96,0 74,0,80,0,67,0,4,0,31,0,18,0 72,0,100,0,52,0,65,0,50,0,77,0 27,0,95,0,84,0,69,0,5,0,35,0 85,0,24,0,17,0,6,0,46,0,37,0 94,0,91,0,92,0,58,0,71,0,7,0 29,0,38,0,23,0,22,0,21,0,10,0 14,0,73,0,47,0,88,0,36,0,64,0 11,0,43,0,89,0,15,0,79,0,32,0 97,0,90,0,39,0,53,0,57,0,51,0 1,0,60,0,99,0,16,0,66,0,59,0 48,0,56,0,41,0,82,0,75,0,2,0 87,0,81,0,8,0,25,0,45,0,68,0 20,0,42,0,62,0,63,0,78,0,33,0 55,0,19,0,98,0,61,0,13,0,83,0 74,0,9,0,5,0,6,0,23,0,77,0 37,0,21,0,84,0,91,0,64,0,100,0 53,0,17,0,92,0,50,0,11,0,93,0 24,0,52,0,44,0,16,0,51,0,73,0 36,0,75,0,27,0,80,0,97,0,28,0 89,0,85,0,54,0,81,0,65,0,7,0 57,0,26,0,79,0,87,0,14,0,29,0 39,0,25,0,58,0,32,0,47,0,86,0 71,0,2,0,99,0,30,0,49,0,78,0 3,0,42,0,41,0,45,0,1,0,31,0 43,0,63,0,67,0,90,0,40,0,72,0 61,0,48,0,96,0,38,0,62,0,94,0 35,0,82,0,68,0,76,0,88,0,13,0 34,0,18,0,10,0,15,0,20,0,55,0 22,0,69,0,8,0,60,0,56,0,19,0 33,0,66,0,4,0,46,0,95,0,70,0 59,0,75,0,65,0,12,0,6,0,84,0 86,0,78,0,27,0,57,0,92,0,74,0 71,0,28,0,31,0,39,0,23,0,37,0 98,0,91,0,49,0,25,0,42,0,85,0 80,0,32,0,21,0,50,0,44,0,2,0 5,0,82,0,61,0,3,0,73,0,97,0 76,0,8,0,52,0,63,0,99,0,54,0 72,0,30,0,81,0,18,0,60,0,29,0 33,0,96,0,45,0,83,0,67,0,11,0 64,0,12,0,89,0,66,0,62,0,24,0 95,0,15,0,47,0,59,0,41,0,13,0 79,0,53,0,88,0,56,0,7,0,16,0 46,0,26,0,34,0,19,0,36,0,38,0 51,0,68,0,10,0,93,0,69,0,48,0 94,0,70,0,35,0,20,0,40,0,14,0 1,0,77,0,90,0,87,0,17,0,4,0 55,0,100,0,22,0,9,0,43,0,58,0 44,0,98,0,67,0,76,0,97,0,23,0 82,0,99,0,45,0,86,0,72,0,64,0 12,0,83,0,78,0,91,0,95,0,32,0 37,0,74,0,19,0,53,0,65,0,42,0 3,0,27,0,46,0,62,0,7,0,68,0 66,0,5,0,18,0,85,0,39,0,14,0 50,0,31,0,75,0,60,0,34,0,94,0 71,0,63,0,24,0,15,0,100,0,26,0 48,0,22,0,30,0,25,0,35,0,73,0 1,0,92,0,10,0,52,0,79,0,61,0 51,0,13,0,58,0,96,0,54,0,84,0 89,0,77,0,56,0,40,0,93,0,33,0 4,0,8,0,16,0,2,0,38,0,6,0 81,0,47,0,70,0,43,0,28,0,57,0 11,0,20,0,80,0,87,0,9,0,41,0 90,0,69,0,29,0,36,0,55,0,59,0 21,0,88,0,72,0,17,0,49,0,12,0 ================================================ FILE: schedules/100_8.csv ================================================ 57,0,81,0,2,0,82,0,80,0,35,0 20,0,96,0,59,0,12,0,76,0,45,0 74,0,31,0,5,0,8,0,87,0,69,0 48,0,64,0,40,0,86,0,16,0,67,0 19,0,55,0,75,0,100,0,17,0,32,0 60,0,43,0,62,0,41,0,14,0,21,0 29,0,53,0,72,0,24,0,97,0,70,0 95,0,4,0,36,0,66,0,3,0,63,0 34,0,84,0,51,0,27,0,58,0,44,0 83,0,1,0,28,0,77,0,42,0,39,0 7,0,61,0,10,0,46,0,71,0,49,0 30,0,38,0,50,0,52,0,11,0,54,0 13,0,88,0,89,0,23,0,33,0,65,0 98,0,9,0,22,0,93,0,37,0,56,0 99,0,79,0,90,0,6,0,91,0,25,0 15,0,92,0,78,0,47,0,68,0,18,0 85,0,94,0,59,0,73,0,26,0,84,0 58,0,80,0,75,0,5,0,36,0,42,0 67,0,7,0,81,0,70,0,3,0,20,0 61,0,41,0,54,0,1,0,64,0,74,0 48,0,65,0,44,0,43,0,71,0,77,0 72,0,35,0,8,0,96,0,38,0,63,0 55,0,30,0,95,0,53,0,6,0,89,0 4,0,28,0,68,0,9,0,19,0,2,0 12,0,57,0,78,0,37,0,23,0,40,0 31,0,76,0,66,0,60,0,15,0,13,0 83,0,93,0,100,0,94,0,47,0,82,0 29,0,26,0,87,0,92,0,16,0,46,0 18,0,45,0,39,0,99,0,97,0,56,0 79,0,51,0,49,0,33,0,52,0,85,0 22,0,32,0,10,0,27,0,25,0,69,0 11,0,86,0,73,0,21,0,98,0,90,0 17,0,91,0,24,0,62,0,88,0,50,0 14,0,61,0,59,0,34,0,70,0,95,0 78,1,84,0,63,0,48,1,42,0,81,0 28,1,3,0,43,0,100,1,72,0,31,0 87,0,83,0,71,0,41,0,19,0,45,0 46,0,12,0,68,0,55,0,51,0,54,0 26,0,7,0,74,0,56,0,36,0,77,0 38,0,57,0,20,0,29,0,18,0,89,0 10,0,16,0,96,0,62,0,13,0,4,0 25,0,33,0,40,0,30,0,17,0,2,0 58,0,23,0,21,0,76,0,8,0,22,0 32,0,86,0,34,0,37,0,85,0,91,0 67,0,60,0,99,0,94,0,24,0,52,0 9,0,15,0,82,0,14,0,6,0,50,0 27,0,39,0,90,0,53,0,47,0,5,0 66,0,44,0,93,0,79,0,11,0,80,0 88,0,97,0,98,0,1,0,69,0,35,0 92,0,49,0,73,0,75,0,65,0,64,0 13,0,2,0,45,0,8,0,43,0,70,0 33,0,21,0,87,0,84,0,18,0,96,0 23,0,20,0,34,0,4,0,24,0,74,0 58,0,57,0,6,0,71,0,17,0,60,0 52,0,41,0,77,0,63,0,82,0,29,0 59,0,7,0,42,0,62,0,100,0,22,0 15,0,28,0,12,0,10,0,91,0,67,0 94,0,46,0,97,0,90,0,14,0,30,0 53,0,92,0,69,0,40,0,76,0,54,0 16,0,85,0,36,0,98,0,27,0,72,0 32,0,38,0,3,0,64,0,39,0,93,0 65,0,47,0,81,0,1,0,56,0,11,0 31,0,78,0,55,0,83,0,79,0,9,0 89,0,37,0,73,0,61,0,48,0,19,0 51,0,88,0,25,0,26,0,86,0,80,0 49,0,50,0,68,0,44,0,95,0,5,0 35,0,75,0,23,0,66,0,99,0,77,0 82,0,18,0,17,0,8,0,59,0,90,0 29,0,3,0,76,0,2,0,71,0,85,0 62,0,94,0,27,0,38,0,92,0,70,0 63,0,13,0,20,0,100,0,97,0,64,0 32,0,45,0,46,0,4,0,65,0,31,0 43,0,93,0,73,0,57,0,87,0,53,0 44,0,96,0,52,0,6,0,19,0,39,0 24,0,80,0,15,0,49,0,21,0,55,0 22,0,51,0,91,0,81,0,75,0,60,0 5,0,67,0,9,0,41,0,35,0,26,0 12,0,98,0,25,0,50,0,47,0,48,0 11,0,42,0,95,0,72,0,37,0,69,0 1,0,14,0,40,0,10,0,84,0,68,0 86,0,61,0,33,0,78,0,99,0,36,0 66,0,89,0,54,0,34,0,7,0,28,0 16,0,79,0,30,0,88,0,74,0,58,0 56,0,75,0,62,0,83,0,3,0,57,0 76,0,65,0,18,0,93,0,27,0,6,0 94,0,53,0,48,0,41,0,96,0,32,0 46,0,77,0,21,0,72,0,19,0,67,0 80,0,95,0,23,0,9,0,39,0,87,0 100,0,69,0,90,0,61,0,81,0,15,0 49,0,8,0,34,0,26,0,11,0,78,0 10,0,50,0,97,0,42,0,92,0,86,0 45,0,36,0,37,0,54,0,84,0,88,0 85,0,35,0,24,0,31,0,40,0,22,0 38,0,82,0,25,0,13,0,28,0,58,0 4,0,1,0,52,0,59,0,5,0,89,0 68,0,71,0,16,0,66,0,20,0,33,0 47,0,55,0,64,0,7,0,2,0,91,0 30,0,83,0,70,0,73,0,44,0,60,0 79,0,17,0,56,0,43,0,29,0,12,0 99,0,98,0,14,0,74,0,51,0,63,0 11,0,24,0,76,0,9,0,32,0,61,0 53,0,26,0,19,0,10,0,58,0,65,0 62,0,5,0,46,0,93,0,25,0,78,0 3,0,96,0,77,0,34,0,97,0,80,0 48,0,52,0,91,0,69,0,45,0,57,0 27,0,95,0,54,0,86,0,82,0,20,0 90,0,28,0,60,0,55,0,40,0,36,0 73,0,100,0,6,0,68,0,38,0,23,0 2,0,50,0,1,0,67,0,63,0,75,0 51,0,17,0,42,0,89,0,94,0,16,0 56,0,70,0,4,0,49,0,35,0,87,0 81,0,43,0,37,0,39,0,74,0,33,0 71,0,84,0,12,0,31,0,99,0,64,0 47,0,29,0,44,0,88,0,21,0,59,0 13,0,98,0,41,0,7,0,30,0,18,0 66,0,8,0,14,0,83,0,85,0,92,0 22,0,72,0,20,0,79,0,15,0,48,0 36,0,67,0,11,0,82,0,96,0,68,0 24,0,27,0,45,0,73,0,3,0,1,0 55,0,94,0,87,0,50,0,76,0,37,0 70,0,74,0,86,0,28,0,57,0,46,0 71,0,54,0,56,0,90,0,78,0,32,0 77,0,53,0,60,0,59,0,25,0,49,0 64,0,33,0,42,0,98,0,4,0,44,0 19,0,40,0,47,0,38,0,66,0,51,0 41,0,65,0,100,0,2,0,34,0,12,0 18,0,72,0,58,0,62,0,52,0,61,0 21,0,35,0,83,0,13,0,95,0,91,0 88,0,85,0,99,0,81,0,9,0,10,0 84,0,29,0,93,0,15,0,8,0,30,0 39,0,89,0,69,0,75,0,26,0,79,0 5,0,97,0,6,0,22,0,16,0,43,0 92,0,31,0,63,0,17,0,23,0,7,0 80,0,78,0,100,0,14,0,48,0,28,0 ================================================ FILE: schedules/100_9.csv ================================================ 45,0,20,0,86,0,91,0,6,0,34,0 56,0,43,0,67,0,31,0,98,0,3,0 74,0,97,0,95,0,60,0,4,0,69,0 18,0,89,0,78,0,10,0,88,0,36,0 13,0,22,0,5,0,17,0,7,0,96,0 32,0,65,0,28,0,100,0,16,0,82,0 48,0,44,0,1,0,33,0,26,0,76,0 87,0,35,0,25,0,94,0,55,0,23,0 39,0,58,0,83,0,30,0,79,0,49,0 80,0,54,0,59,0,93,0,68,0,46,0 66,0,51,0,53,0,9,0,75,0,29,0 40,0,64,0,14,0,85,0,8,0,57,0 63,0,71,0,99,0,62,0,50,0,11,0 42,0,27,0,37,0,84,0,19,0,61,0 70,0,92,0,77,0,2,0,21,0,24,0 52,0,41,0,90,0,38,0,12,0,47,0 72,0,81,0,33,0,15,0,73,0,78,0 67,0,7,0,54,0,18,0,32,0,69,0 3,0,22,0,51,0,87,0,44,0,10,0 46,0,98,0,79,0,20,0,74,0,75,0 4,0,53,0,68,0,89,0,65,0,64,0 31,0,17,0,28,0,57,0,26,0,27,0 56,0,49,0,16,0,35,0,63,0,34,0 42,0,29,0,60,0,76,0,92,0,50,0 13,0,11,0,30,0,2,0,73,0,90,0 12,0,59,0,36,0,21,0,95,0,86,0 81,0,23,0,62,0,83,0,9,0,1,0 55,0,40,0,88,0,41,0,77,0,72,0 48,0,100,0,47,0,14,0,71,0,96,0 85,0,66,0,15,0,24,0,19,0,45,0 97,0,84,0,99,0,25,0,91,0,38,0 93,0,8,0,52,0,43,0,6,0,39,0 82,0,94,0,70,0,80,0,5,0,37,0 61,0,69,0,46,0,58,0,36,0,51,0 34,0,33,0,23,0,22,0,59,0,30,0 98,0,90,0,10,0,86,0,77,0,60,0 44,0,68,0,32,0,42,0,81,0,55,0 2,0,78,0,87,0,71,0,53,0,19,0 41,0,85,0,27,0,56,0,50,0,1,0 26,0,95,0,100,0,63,0,18,0,24,0 20,0,17,0,70,0,76,0,3,0,9,0 31,0,84,0,72,0,96,0,11,0,94,0 4,0,40,0,38,0,75,0,73,0,6,0 14,0,13,0,79,0,25,0,29,0,16,0 64,0,97,0,37,0,47,0,88,0,39,0 62,0,91,0,89,0,92,0,5,0,28,0 12,0,48,0,82,0,54,0,43,0,58,0 21,0,57,0,66,0,7,0,93,0,49,0 67,0,99,0,80,0,61,0,8,0,15,0 52,0,35,0,65,0,74,0,83,0,45,0 19,0,40,0,96,0,46,0,18,0,23,0 56,0,77,0,69,0,68,0,76,0,78,0 98,0,70,0,59,0,26,0,14,0,32,0 63,0,17,0,33,0,41,0,92,0,51,0 16,0,24,0,64,0,86,0,81,0,38,0 27,0,12,0,88,0,87,0,60,0,13,0 75,0,39,0,57,0,91,0,15,0,3,0 28,0,72,0,21,0,99,0,30,0,35,0 65,0,50,0,43,0,94,0,20,0,97,0 6,0,44,0,61,0,54,0,90,0,53,0 1,0,47,0,45,0,93,0,84,0,22,0 55,0,62,0,10,0,95,0,67,0,82,0 58,0,9,0,73,0,85,0,89,0,80,0 34,0,36,0,31,0,37,0,71,0,74,0 11,0,42,0,79,0,66,0,100,0,52,0 5,0,4,0,29,0,8,0,49,0,48,0 25,0,7,0,3,0,2,0,83,0,72,0 21,0,63,0,96,0,27,0,64,0,54,0 18,0,39,0,68,0,17,0,35,0,50,0 82,0,53,0,30,0,97,0,98,0,93,0 62,0,45,0,46,0,60,0,44,0,43,0 41,0,10,0,59,0,61,0,76,0,31,0 12,0,28,0,37,0,55,0,20,0,33,0 1,0,14,0,80,0,36,0,66,0,90,0 9,0,94,0,15,0,56,0,38,0,48,0 89,0,52,0,84,0,23,0,13,0,57,0 65,0,86,0,71,0,79,0,69,0,22,0 7,0,81,0,77,0,19,0,8,0,100,0 73,0,24,0,91,0,29,0,74,0,87,0 49,0,6,0,99,0,78,0,70,0,95,0 26,0,75,0,92,0,16,0,58,0,11,0 25,0,47,0,32,0,40,0,51,0,34,0 83,0,85,0,88,0,67,0,5,0,42,0 2,0,31,0,39,0,4,0,45,0,63,0 61,0,86,0,68,0,33,0,66,0,82,0 97,0,21,0,13,0,56,0,18,0,8,0 14,0,94,0,44,0,52,0,28,0,69,0 60,0,41,0,6,0,81,0,79,0,3,0 87,0,38,0,49,0,11,0,36,0,17,0 26,0,93,0,90,0,74,0,23,0,99,0 64,0,80,0,29,0,78,0,7,0,30,0 95,0,96,0,42,0,34,0,57,0,9,0 5,0,47,0,10,0,53,0,24,0,46,0 89,0,16,0,43,0,40,0,70,0,1,0 15,0,71,0,83,0,32,0,92,0,12,0 48,0,20,0,22,0,2,0,62,0,88,0 55,0,65,0,54,0,76,0,73,0,19,0 59,0,27,0,75,0,25,0,77,0,67,0 50,0,100,0,58,0,37,0,72,0,91,0 84,0,35,0,85,0,4,0,51,0,98,0 8,0,45,0,42,0,53,0,69,0,41,0 86,0,3,0,63,0,28,0,13,0,93,0 46,0,34,0,38,0,14,0,78,0,82,0 11,0,40,0,61,0,12,0,56,0,39,0 5,0,23,0,2,0,54,0,15,0,97,0 74,0,18,0,16,0,44,0,9,0,77,0 49,0,72,0,26,0,43,0,10,0,64,0 87,0,100,0,76,0,80,0,4,0,21,0 95,0,33,0,75,0,7,0,84,0,50,0 52,0,88,0,58,0,71,0,81,0,98,0 29,0,90,0,62,0,32,0,85,0,17,0 30,0,57,0,6,0,65,0,1,0,25,0 70,0,68,0,36,0,27,0,73,0,47,0 37,0,67,0,66,0,22,0,35,0,92,0 24,0,96,0,99,0,89,0,20,0,60,0 51,0,79,0,19,0,94,0,91,0,59,0 55,0,83,0,78,0,48,0,31,0,97,0 43,0,7,0,14,0,4,0,88,0,86,0 44,0,72,0,23,0,29,0,12,0,63,0 54,0,17,0,8,0,10,0,16,0,84,0 93,0,56,0,33,0,65,0,58,0,70,0 34,0,77,0,26,0,13,0,62,0,66,0 37,0,11,0,76,0,24,0,6,0,98,0 67,0,30,0,38,0,68,0,74,0,51,0 15,0,47,0,87,0,42,0,31,0,20,0 28,0,46,0,73,0,48,0,41,0,39,0 18,0,45,0,71,0,55,0,57,0,59,0 90,0,69,0,89,0,75,0,83,0,100,0 50,0,53,0,80,0,52,0,49,0,40,0 60,0,22,0,82,0,85,0,36,0,25,0 61,0,35,0,91,0,81,0,96,0,2,0 92,0,3,0,1,0,64,0,94,0,95,0 79,0,32,0,9,0,27,0,99,0,5,0 19,0,41,0,98,0,21,0,34,0,68,0 17,0,66,0,4,0,44,0,58,0,59,0 6,0,16,0,51,0,12,0,7,0,31,0 74,0,15,0,50,0,70,0,88,0,28,0 77,0,43,0,57,0,22,0,83,0,80,0 84,0,36,0,29,0,26,0,56,0,55,0 95,0,48,0,85,0,37,0,65,0,23,0 9,0,97,0,24,0,52,0,67,0,72,0 60,0,19,0,75,0,47,0,30,0,63,0 5,0,73,0,25,0,61,0,64,0,100,0 92,0,81,0,69,0,40,0,87,0,99,0 13,0,35,0,78,0,42,0,1,0,54,0 93,0,27,0,11,0,14,0,10,0,91,0 8,0,86,0,94,0,89,0,2,0,46,0 20,0,21,0,82,0,90,0,39,0,71,0 3,0,32,0,49,0,96,0,33,0,45,0 53,0,38,0,76,0,79,0,18,0,62,0 ================================================ FILE: schedules/10_1.csv ================================================ 3,0,9,0,10,0,4,0,6,0,2,0 8,0,1,0,4,1,7,0,5,0,10,1 ================================================ FILE: schedules/10_10.csv ================================================ 3,0,1,0,10,0,7,0,4,0,6,0 5,0,2,0,4,0,8,0,9,0,6,0 5,0,8,0,3,0,10,0,7,0,2,0 3,0,2,0,9,0,8,0,6,0,1,0 7,1,10,0,4,0,9,1,5,0,1,0 9,0,7,0,2,0,4,0,10,0,6,0 7,0,5,0,8,0,1,0,3,0,9,0 6,0,1,0,2,0,3,0,10,0,5,0 4,0,9,0,5,0,3,0,8,0,10,0 1,0,4,0,8,0,6,0,2,0,7,0 9,0,4,0,3,0,1,0,5,0,2,0 10,0,6,0,9,0,8,0,7,0,3,0 5,0,6,0,1,0,4,0,10,0,8,0 2,0,8,0,10,0,7,0,3,0,4,0 2,0,6,0,5,0,9,0,1,0,7,0 10,0,1,0,7,0,2,0,9,0,8,0 6,0,3,0,7,0,4,0,5,0,9,0 ================================================ FILE: schedules/10_11.csv ================================================ 3,0,2,0,9,0,5,0,10,0,4,0 9,0,6,0,8,0,7,0,10,0,1,0 8,0,7,0,4,0,6,0,5,0,3,0 1,0,10,0,5,0,2,0,4,0,8,0 9,1,1,1,6,0,2,1,7,0,3,1 4,0,9,0,5,0,7,0,6,0,10,0 8,0,3,0,6,0,9,0,1,0,2,0 2,0,5,0,7,0,8,0,4,0,1,0 10,0,2,0,4,0,3,0,6,0,1,0 5,0,8,0,10,0,7,0,3,0,9,0 7,0,6,0,10,0,2,0,1,0,5,0 3,0,4,0,7,0,8,0,9,0,2,0 9,0,1,0,4,0,6,0,5,0,8,0 3,0,8,0,5,0,10,0,2,0,6,0 10,0,9,0,3,0,4,0,1,0,7,0 1,0,3,0,2,0,5,0,7,0,9,0 6,0,4,0,2,0,10,0,8,0,9,0 1,0,8,0,7,0,4,0,10,0,3,0 6,0,9,0,1,0,5,0,2,0,3,0 ================================================ FILE: schedules/10_12.csv ================================================ 5,0,10,0,1,0,8,0,2,0,6,0 4,0,3,0,1,0,9,0,7,0,10,0 3,0,6,0,9,0,4,0,2,0,5,0 8,0,4,0,3,0,1,0,7,0,2,0 8,0,7,0,9,0,5,0,10,0,6,0 9,0,5,0,4,0,3,0,8,0,10,0 2,0,1,0,4,0,7,0,6,0,5,0 6,0,2,0,8,0,3,0,9,0,1,0 10,0,1,0,6,0,7,0,3,0,5,0 9,0,7,0,2,0,10,0,8,0,4,0 3,0,2,0,7,0,8,0,6,0,9,0 5,0,1,0,8,0,10,0,4,0,3,0 6,0,4,0,7,0,1,0,5,0,9,0 10,0,1,0,6,0,2,0,4,0,8,0 2,0,9,0,10,0,7,0,3,0,5,0 7,0,10,0,4,0,6,0,3,0,2,0 1,0,8,0,7,0,9,0,5,0,2,0 10,0,9,0,8,0,1,0,6,0,3,0 5,0,8,0,3,0,4,0,6,0,7,0 2,0,5,0,10,0,4,0,9,0,1,0 ================================================ FILE: schedules/10_13.csv ================================================ 10,0,6,0,2,0,1,0,9,0,4,0 4,0,5,0,8,0,7,0,6,0,3,0 2,0,7,0,5,0,8,0,9,0,1,0 10,0,1,0,9,0,3,0,4,0,8,0 3,0,2,0,7,1,6,0,5,0,10,1 10,0,7,0,3,0,2,0,4,0,9,0 10,0,8,0,6,0,5,0,1,0,3,0 5,0,8,0,1,0,4,0,6,0,2,0 8,0,4,0,7,0,9,0,5,0,10,0 1,0,2,0,7,0,9,0,3,0,6,0 6,0,2,0,8,0,7,0,10,0,4,0 3,0,4,0,9,0,5,0,1,0,6,0 1,0,2,0,3,0,7,0,10,0,8,0 2,0,8,0,9,0,5,0,3,0,4,0 9,0,10,0,5,0,6,0,7,0,1,0 9,0,6,0,5,0,2,0,8,0,10,0 4,0,7,0,6,0,1,0,3,0,10,0 3,0,9,0,7,0,5,0,4,0,2,0 8,0,3,0,5,0,2,0,10,0,1,0 6,0,1,0,4,0,7,0,9,0,8,0 4,0,1,0,10,0,7,0,5,0,2,0 9,0,6,0,7,0,8,0,3,0,10,0 ================================================ FILE: schedules/10_14.csv ================================================ 4,0,8,0,3,0,7,0,9,0,1,0 6,0,2,0,1,0,5,0,10,0,8,0 9,0,10,0,3,0,6,0,4,0,5,0 5,0,2,0,6,0,4,0,10,0,7,0 1,1,3,1,8,0,2,1,9,1,7,0 10,0,5,0,1,0,4,0,9,0,6,0 2,0,10,0,3,0,5,0,8,0,7,0 4,0,2,0,8,0,9,0,6,0,3,0 7,0,10,0,6,0,1,0,8,0,9,0 7,0,3,0,5,0,4,0,1,0,2,0 5,0,9,0,4,0,2,0,8,0,10,0 3,0,6,0,9,0,1,0,5,0,7,0 2,0,1,0,7,0,6,0,4,0,10,0 8,0,6,0,1,0,3,0,4,0,2,0 3,0,7,0,8,0,9,0,5,0,10,0 8,0,9,0,4,0,6,0,7,0,5,0 10,0,2,0,6,0,3,0,1,0,9,0 10,0,4,0,1,0,8,0,3,0,5,0 7,0,6,0,8,0,2,0,3,0,5,0 9,0,7,0,10,0,1,0,2,0,4,0 7,0,3,0,4,0,8,0,6,0,10,0 1,0,5,0,4,0,9,0,8,0,2,0 5,0,9,0,2,0,3,0,1,0,6,0 10,0,1,0,3,0,2,0,7,0,9,0 ================================================ FILE: schedules/10_2.csv ================================================ 4,0,6,0,9,0,10,0,2,0,7,0 1,0,7,0,3,0,8,0,5,0,2,0 5,0,4,0,10,0,6,0,8,0,1,0 3,0,6,1,4,1,9,0,10,1,1,1 ================================================ FILE: schedules/10_3.csv ================================================ 5,0,4,0,2,0,6,0,1,0,10,0 7,0,3,0,6,0,8,0,9,0,1,0 3,0,5,0,8,0,10,0,7,0,4,0 2,0,10,0,8,0,9,0,7,0,5,0 2,0,6,0,9,0,4,0,1,0,3,0 ================================================ FILE: schedules/10_4.csv ================================================ 7,0,4,0,9,0,3,0,2,0,8,0 6,0,3,0,5,0,10,0,1,0,2,0 8,0,1,0,4,0,7,0,6,0,10,0 5,0,10,0,4,0,3,0,9,0,1,0 7,1,8,0,6,0,2,1,5,0,9,0 2,0,7,0,3,0,9,0,10,0,8,0 1,0,5,0,7,0,4,0,6,0,2,0 ================================================ FILE: schedules/10_5.csv ================================================ 7,0,8,0,4,0,10,0,2,0,1,0 3,0,9,0,4,0,8,0,5,0,6,0 1,0,9,0,10,0,2,0,3,0,5,0 3,0,1,0,6,0,7,0,4,0,10,0 8,1,2,0,7,1,9,0,5,1,6,1 9,0,8,0,2,0,4,0,5,0,1,0 8,0,10,0,3,0,6,0,7,0,9,0 5,0,3,0,7,0,4,0,6,0,2,0 10,0,6,0,5,0,1,0,7,0,8,0 ================================================ FILE: schedules/10_6.csv ================================================ 1,0,6,0,10,0,5,0,8,0,2,0 4,0,3,0,5,0,6,0,7,0,9,0 10,0,9,0,4,0,1,0,2,0,7,0 6,0,7,0,3,0,8,0,1,0,9,0 2,0,8,0,10,0,3,0,4,0,5,0 9,0,5,0,2,0,4,0,1,0,8,0 3,0,6,0,8,0,7,0,10,0,4,0 9,0,3,0,1,0,5,0,10,0,6,0 7,0,5,0,1,0,2,0,4,0,6,0 8,0,9,0,7,0,10,0,2,0,3,0 ================================================ FILE: schedules/10_7.csv ================================================ 1,0,5,0,10,0,8,0,7,0,9,0 6,0,1,0,3,0,5,0,4,0,2,0 3,0,7,0,8,0,9,0,6,0,2,0 4,0,5,0,8,0,2,0,7,0,10,0 4,1,10,0,6,0,1,1,3,0,9,0 7,0,1,0,4,0,8,0,9,0,3,0 5,0,2,0,3,0,10,0,6,0,7,0 2,0,8,0,6,0,9,0,1,0,5,0 10,0,9,0,8,0,4,0,3,0,5,0 6,0,2,0,4,0,7,0,10,0,1,0 1,0,4,0,9,0,5,0,6,0,7,0 3,0,10,0,4,0,2,0,8,0,1,0 ================================================ FILE: schedules/10_8.csv ================================================ 4,0,8,0,2,0,1,0,9,0,7,0 5,0,3,0,7,0,10,0,4,0,6,0 1,0,2,0,9,0,5,0,6,0,10,0 8,0,6,0,7,0,3,0,10,0,1,0 9,0,8,1,5,1,4,1,2,1,3,0 8,0,1,0,3,0,2,0,10,0,5,0 6,0,7,0,10,0,8,0,9,0,4,0 3,0,7,0,4,0,5,0,2,0,1,0 9,0,4,0,5,0,6,0,8,0,1,0 2,0,7,0,10,0,9,0,6,0,3,0 6,0,2,0,9,0,7,0,5,0,8,0 1,0,5,0,4,0,3,0,10,0,9,0 4,0,1,0,6,0,2,0,3,0,8,0 10,0,5,0,8,0,7,0,4,0,2,0 ================================================ FILE: schedules/10_9.csv ================================================ 8,0,3,0,6,0,7,0,2,0,9,0 5,0,10,0,6,0,8,0,4,0,1,0 10,0,2,0,3,0,5,0,7,0,1,0 6,0,4,0,7,0,9,0,10,0,2,0 9,0,1,0,4,0,3,0,5,0,8,0 1,0,7,0,10,0,4,0,8,0,9,0 2,0,6,0,8,0,3,0,5,0,10,0 7,0,9,0,3,0,5,0,6,0,1,0 2,0,9,0,5,0,10,0,3,0,4,0 1,0,7,0,8,0,6,0,2,0,4,0 10,0,8,0,5,0,6,0,3,0,7,0 2,0,4,0,5,0,9,0,1,0,6,0 8,0,9,0,10,0,3,0,1,0,2,0 4,0,5,0,9,0,7,0,8,0,2,0 4,0,1,0,3,0,10,0,6,0,7,0 ================================================ FILE: schedules/11_1.csv ================================================ 4,0,9,0,6,0,8,0,5,0,1,0 10,0,7,0,2,0,11,0,3,0,4,1 ================================================ FILE: schedules/11_10.csv ================================================ 1,0,2,0,11,0,3,0,8,0,6,0 7,0,10,0,9,0,4,0,5,0,8,0 10,0,4,0,3,0,7,0,1,0,6,0 5,0,2,0,6,0,11,0,9,0,4,0 9,1,3,1,5,0,11,0,1,1,8,1 2,0,6,0,1,0,7,0,10,0,5,0 7,0,11,0,8,0,10,0,4,0,2,0 9,0,6,0,8,0,3,0,2,0,7,0 9,0,3,0,1,0,5,0,11,0,10,0 4,0,6,0,5,0,3,0,8,0,10,0 11,0,9,0,2,0,4,0,1,0,7,0 1,0,10,0,5,0,8,0,4,0,2,0 11,0,3,0,7,0,6,0,9,0,10,0 6,0,11,0,4,0,8,0,1,0,9,0 5,0,3,0,11,0,2,0,7,0,4,0 2,0,5,0,9,0,6,0,10,0,3,0 8,0,7,0,6,0,1,0,5,0,11,0 9,0,7,0,4,0,1,0,8,0,3,0 10,0,8,0,1,0,2,0,9,0,3,0 ================================================ FILE: schedules/11_11.csv ================================================ 2,0,1,0,7,0,3,0,5,0,6,0 9,0,10,0,2,0,4,0,8,0,11,0 7,0,4,0,5,0,8,0,11,0,6,0 4,0,10,0,3,0,1,0,9,0,6,0 9,1,8,1,7,0,5,1,11,1,10,1 1,0,3,0,11,0,6,0,4,0,2,0 8,0,2,0,3,0,7,0,1,0,9,0 6,0,8,0,5,0,2,0,10,0,1,0 10,0,9,0,4,0,5,0,7,0,3,0 6,0,7,0,11,0,3,0,8,0,10,0 11,0,4,0,9,0,1,0,2,0,5,0 10,0,8,0,5,0,4,0,3,0,2,0 7,0,6,0,1,0,9,0,11,0,10,0 8,0,1,0,4,0,9,0,2,0,7,0 11,0,5,0,2,0,3,0,6,0,9,0 5,0,6,0,1,0,8,0,4,0,7,0 11,0,3,0,1,0,10,0,5,0,8,0 10,0,7,0,3,0,11,0,2,0,4,0 6,0,3,0,4,0,9,0,11,0,8,0 2,0,5,0,9,0,7,0,6,0,10,0 1,0,9,0,8,0,5,0,11,0,10,0 ================================================ FILE: schedules/11_12.csv ================================================ 8,0,3,0,5,0,11,0,4,0,7,0 1,0,6,0,2,0,4,0,10,0,9,0 7,0,11,0,6,0,1,0,5,0,10,0 8,0,7,0,3,0,2,0,9,0,1,0 4,0,2,0,5,0,6,0,3,0,8,0 11,0,10,0,7,0,6,0,9,0,3,0 5,0,1,0,4,0,9,0,11,0,2,0 10,0,3,0,9,0,8,0,5,0,6,0 1,0,11,0,8,0,2,0,10,0,4,0 7,0,1,0,10,0,5,0,4,0,3,0 7,0,6,0,9,0,11,0,8,0,2,0 5,0,6,0,2,0,3,0,1,0,11,0 9,0,8,0,4,0,10,0,7,0,5,0 3,0,11,0,10,0,8,0,2,0,7,0 9,0,4,0,7,0,6,0,1,0,11,0 3,0,1,0,4,0,10,0,9,0,8,0 2,0,6,0,1,0,5,0,8,0,7,0 9,0,5,0,11,0,3,0,2,0,10,0 6,0,3,0,11,0,4,0,8,0,1,0 2,0,9,0,5,0,4,0,7,0,6,0 10,0,4,0,6,0,7,0,2,0,3,0 1,0,10,0,8,0,11,0,5,0,9,0 ================================================ FILE: schedules/11_13.csv ================================================ 9,0,1,0,10,0,7,0,11,0,5,0 8,0,4,0,2,0,6,0,11,0,3,0 9,0,6,0,4,0,1,0,5,0,3,0 8,0,6,0,7,0,10,0,2,0,9,0 5,0,1,0,11,1,2,0,3,0,8,0 9,0,7,0,4,0,8,0,10,0,11,0 7,0,5,0,2,0,3,0,1,0,10,0 2,0,6,0,8,0,5,0,9,0,4,0 11,0,6,0,1,0,7,0,3,0,4,0 9,0,2,0,1,0,4,0,11,0,10,0 5,0,3,0,8,0,6,0,10,0,7,0 8,0,4,0,3,0,10,0,9,0,5,0 11,0,7,0,1,0,6,0,2,0,9,0 11,0,3,0,2,0,10,0,5,0,6,0 8,0,4,0,6,0,7,0,1,0,2,0 11,0,9,0,7,0,3,0,5,0,4,0 10,0,8,0,5,0,1,0,4,0,7,0 3,0,10,0,11,0,1,0,8,0,6,0 9,0,11,0,5,0,2,0,10,0,6,0 2,0,7,0,3,0,1,0,8,0,9,0 4,0,2,0,11,0,5,0,7,0,8,0 4,0,10,0,1,0,6,0,9,0,3,0 1,0,5,0,6,0,11,0,8,0,9,0 3,0,7,0,10,0,4,0,2,0,11,0 ================================================ FILE: schedules/11_14.csv ================================================ 10,0,5,0,4,0,1,0,8,0,11,0 2,0,3,0,11,0,9,0,7,0,6,0 7,0,6,0,3,0,1,0,8,0,2,0 4,0,10,0,11,0,9,0,5,0,7,0 5,1,3,0,2,0,1,0,4,1,9,0 8,0,10,0,1,0,11,0,6,0,5,0 2,0,4,0,9,0,10,0,6,0,8,0 11,0,1,0,7,0,8,0,3,0,4,0 10,0,2,0,7,0,5,0,3,0,6,0 9,0,3,0,7,0,5,0,4,0,8,0 2,0,6,0,1,0,10,0,11,0,9,0 5,0,9,0,8,0,3,0,1,0,10,0 4,0,6,0,2,0,7,0,11,0,5,0 10,0,7,0,2,0,3,0,11,0,4,0 6,0,9,0,11,0,8,0,1,0,3,0 8,0,5,0,10,0,7,0,1,0,2,0 6,0,5,0,3,0,4,0,9,0,10,0 4,0,7,0,1,0,2,0,9,0,8,0 11,0,7,0,8,0,6,0,10,0,9,0 1,0,4,0,5,0,11,0,2,0,6,0 3,0,8,0,9,0,5,0,2,0,11,0 1,0,10,0,6,0,7,0,4,0,3,0 9,0,1,0,5,0,4,0,7,0,6,0 3,0,11,0,10,0,2,0,8,0,4,0 11,0,9,0,1,0,5,0,10,0,7,0 6,0,8,0,4,0,3,0,2,0,5,0 ================================================ FILE: schedules/11_2.csv ================================================ 4,0,10,0,2,0,11,0,5,0,9,0 7,0,3,0,1,0,8,0,6,0,4,0 5,0,8,0,10,0,9,0,7,0,6,0 1,0,11,0,10,1,3,0,2,0,9,1 ================================================ FILE: schedules/11_3.csv ================================================ 5,0,8,0,4,0,3,0,1,0,11,0 7,0,6,0,9,0,4,0,10,0,2,0 9,0,2,0,5,0,8,0,3,0,6,0 6,0,11,0,10,0,1,0,7,0,8,0 2,0,7,0,3,0,10,0,5,0,1,0 11,0,5,1,2,1,4,0,9,0,1,1 ================================================ FILE: schedules/11_4.csv ================================================ 6,0,8,0,2,0,4,0,10,0,5,0 9,0,1,0,3,0,11,0,8,0,7,0 1,0,6,0,4,0,7,0,5,0,9,0 10,0,11,0,1,0,3,0,4,0,2,0 3,1,5,1,11,0,9,1,6,1,10,0 2,0,7,0,10,0,8,0,4,0,9,0 7,0,6,0,3,0,1,0,2,0,5,0 5,0,3,0,8,0,11,0,9,0,6,0 ================================================ FILE: schedules/11_5.csv ================================================ 4,0,1,0,10,0,8,0,7,0,2,0 5,0,6,0,3,0,8,0,11,0,9,0 6,0,9,0,1,0,5,0,10,0,11,0 7,0,2,0,6,0,3,0,4,0,9,0 2,1,3,1,11,1,10,1,8,1,4,0 9,0,5,0,7,0,1,0,8,0,3,0 11,0,4,0,6,0,2,0,1,0,5,0 10,0,9,0,2,0,7,0,11,0,1,0 4,0,5,0,8,0,10,0,3,0,7,0 2,0,3,0,11,0,6,0,10,0,8,0 ================================================ FILE: schedules/11_6.csv ================================================ 4,0,9,0,6,0,11,0,5,0,7,0 8,0,9,0,2,0,1,0,3,0,10,0 5,0,8,0,3,0,4,0,10,0,11,0 5,0,1,0,6,0,2,0,7,0,8,0 7,0,3,0,4,0,2,0,11,0,1,0 6,0,1,0,11,0,9,0,10,0,5,0 9,0,2,0,4,0,6,0,8,0,10,0 7,0,11,0,8,0,3,0,6,0,2,0 3,0,4,0,5,0,1,0,7,0,9,0 10,0,2,0,5,0,11,0,3,0,9,0 10,0,6,0,7,0,8,0,4,0,1,0 ================================================ FILE: schedules/11_7.csv ================================================ 8,0,11,0,7,0,3,0,4,0,10,0 1,0,9,0,5,0,6,0,11,0,2,0 7,0,4,0,2,0,1,0,10,0,9,0 3,0,1,0,6,0,5,0,10,0,8,0 11,1,7,0,6,0,8,0,2,0,3,0 2,0,10,0,5,0,4,0,9,0,8,0 9,0,7,0,3,0,5,0,6,0,4,0 8,0,1,0,7,0,11,0,5,0,9,0 4,0,2,0,10,0,11,0,3,0,1,0 2,0,9,0,1,0,6,0,8,0,3,0 10,0,6,0,11,0,7,0,5,0,4,0 5,0,3,0,11,0,10,0,7,0,2,0 9,0,8,0,6,0,11,0,1,0,4,0 ================================================ FILE: schedules/11_8.csv ================================================ 1,0,7,0,5,0,11,0,3,0,2,0 9,0,8,0,6,0,10,0,4,0,5,0 7,0,3,0,8,0,4,0,10,0,11,0 1,0,6,0,4,0,2,0,7,0,9,0 6,1,11,0,2,0,10,0,3,1,1,0 9,0,4,0,5,0,11,0,8,0,1,0 8,0,9,0,10,0,2,0,5,0,3,0 7,0,4,0,1,0,6,0,5,0,10,0 8,0,2,0,11,0,9,0,6,0,7,0 3,0,5,0,11,0,4,0,6,0,2,0 8,0,10,0,7,0,3,0,1,0,9,0 6,0,7,0,3,0,5,0,1,0,8,0 2,0,10,0,4,0,11,0,9,0,7,0 3,0,9,0,10,0,5,0,11,0,6,0 1,0,2,0,6,0,4,0,8,0,3,0 ================================================ FILE: schedules/11_9.csv ================================================ 7,0,2,0,10,0,3,0,5,0,1,0 11,0,8,0,9,0,6,0,4,0,3,0 11,0,6,0,5,0,2,0,1,0,4,0 8,0,6,0,7,0,9,0,10,0,1,0 7,1,11,1,5,0,4,0,9,1,10,0 8,0,11,0,3,0,2,0,6,0,5,0 10,0,2,0,4,0,3,0,9,0,7,0 6,0,3,0,1,0,8,0,7,0,4,0 10,0,1,0,8,0,9,0,2,0,11,0 4,0,5,0,9,0,2,0,1,0,8,0 7,0,5,0,3,0,11,0,10,0,6,0 5,0,11,0,2,0,9,0,6,0,7,0 1,0,8,0,4,0,10,0,3,0,11,0 7,0,10,0,2,0,6,0,4,0,8,0 1,0,9,0,6,0,5,0,3,0,10,0 3,0,9,0,2,0,1,0,7,0,11,0 4,0,7,0,11,0,5,0,8,0,9,0 ================================================ FILE: schedules/12_1.csv ================================================ 11,0,9,0,12,0,6,0,2,0,5,0 4,0,3,0,1,0,10,0,8,0,7,0 ================================================ FILE: schedules/12_10.csv ================================================ 8,0,4,0,5,0,12,0,6,0,1,0 2,0,9,0,3,0,10,0,11,0,7,0 7,0,12,0,10,0,9,0,4,0,1,0 3,0,8,0,11,0,6,0,5,0,2,0 10,0,8,0,6,0,7,0,1,0,3,0 12,0,5,0,9,0,4,0,2,0,11,0 8,0,7,0,4,0,10,0,11,0,5,0 1,0,9,0,6,0,2,0,12,0,3,0 12,0,5,0,8,0,9,0,3,0,10,0 1,0,2,0,7,0,11,0,6,0,4,0 11,0,3,0,6,0,4,0,10,0,12,0 2,0,9,0,7,0,8,0,1,0,5,0 5,0,2,0,10,0,7,0,6,0,12,0 1,0,3,0,8,0,9,0,11,0,4,0 5,0,11,0,9,0,6,0,1,0,10,0 3,0,4,0,12,0,2,0,7,0,8,0 4,0,10,0,9,0,6,0,8,0,2,0 1,0,12,0,11,0,5,0,3,0,7,0 3,0,10,0,2,0,5,0,4,0,1,0 11,0,7,0,6,0,9,0,12,0,8,0 ================================================ FILE: schedules/12_11.csv ================================================ 12,0,9,0,3,0,2,0,1,0,5,0 11,0,10,0,6,0,7,0,4,0,8,0 5,0,1,0,3,0,10,0,6,0,8,0 9,0,4,0,11,0,12,0,2,0,7,0 8,0,12,0,4,0,1,0,7,0,5,0 3,0,2,0,6,0,10,0,9,0,11,0 2,0,10,0,4,0,12,0,1,0,6,0 3,0,11,0,7,0,9,0,5,0,8,0 5,0,3,0,4,0,11,0,12,0,6,0 9,0,8,0,7,0,1,0,10,0,2,0 4,0,8,0,1,0,11,0,2,0,3,0 12,0,5,0,10,0,6,0,7,0,9,0 10,0,3,0,8,0,4,0,12,0,9,0 2,0,6,0,5,0,1,0,7,0,11,0 1,0,11,0,12,0,7,0,3,0,10,0 2,0,8,0,9,0,6,0,4,0,5,0 7,0,12,0,2,0,8,0,6,0,3,0 5,0,11,0,9,0,4,0,10,0,1,0 8,0,11,0,2,0,10,0,5,0,12,0 6,0,4,0,7,0,3,0,9,0,1,0 9,0,6,0,1,0,11,0,8,0,12,0 7,0,5,0,10,0,4,0,3,0,2,0 ================================================ FILE: schedules/12_12.csv ================================================ 10,0,1,0,9,0,5,0,3,0,8,0 4,0,2,0,6,0,12,0,7,0,11,0 8,0,5,0,1,0,11,0,3,0,2,0 4,0,12,0,10,0,6,0,9,0,7,0 3,0,7,0,1,0,12,0,2,0,9,0 6,0,11,0,8,0,5,0,4,0,10,0 8,0,3,0,12,0,6,0,7,0,11,0 1,0,9,0,5,0,10,0,2,0,4,0 5,0,6,0,2,0,7,0,3,0,4,0 9,0,11,0,10,0,1,0,8,0,12,0 4,0,12,0,6,0,2,0,11,0,1,0 8,0,10,0,7,0,9,0,5,0,3,0 9,0,4,0,11,0,2,0,8,0,7,0 3,0,10,0,5,0,12,0,1,0,6,0 3,0,6,0,1,0,4,0,8,0,9,0 11,0,12,0,2,0,7,0,10,0,5,0 11,0,7,0,4,0,10,0,1,0,3,0 8,0,2,0,9,0,6,0,5,0,12,0 2,0,1,0,7,0,6,0,10,0,8,0 5,0,11,0,4,0,9,0,12,0,3,0 3,0,8,0,10,0,12,0,4,0,2,0 7,0,9,0,6,0,11,0,1,0,5,0 7,0,5,0,12,0,1,0,4,0,8,0 2,0,9,0,3,0,10,0,6,0,11,0 ================================================ FILE: schedules/12_13.csv ================================================ 10,0,7,0,8,0,1,0,6,0,4,0 9,0,5,0,3,0,2,0,12,0,11,0 7,0,12,0,10,0,11,0,9,0,6,0 2,0,5,0,8,0,3,0,1,0,4,0 10,0,2,0,12,0,8,0,3,0,7,0 11,0,4,0,6,0,5,0,1,0,9,0 9,0,3,0,12,0,8,0,11,0,1,0 7,0,2,0,6,0,10,0,4,0,5,0 8,0,12,0,11,0,4,0,1,0,7,0 5,0,6,0,3,0,10,0,2,0,9,0 4,0,11,0,12,0,6,0,2,0,5,0 1,0,10,0,3,0,8,0,9,0,7,0 11,0,7,0,9,0,4,0,8,0,2,0 5,0,12,0,1,0,6,0,10,0,3,0 7,0,4,0,11,0,3,0,10,0,5,0 2,0,8,0,1,0,12,0,6,0,9,0 3,0,8,0,4,0,6,0,11,0,10,0 9,0,1,0,2,0,12,0,7,0,5,0 6,0,9,0,4,0,7,0,3,0,12,0 2,0,5,0,11,0,10,0,1,0,8,0 3,0,9,0,8,0,6,0,7,0,5,0 11,0,10,0,1,0,12,0,4,0,2,0 4,0,5,0,10,0,9,0,8,0,12,0 1,0,6,0,7,0,2,0,11,0,3,0 1,0,3,0,2,0,4,0,9,0,10,0 12,0,8,0,6,0,5,0,7,0,11,0 ================================================ FILE: schedules/12_14.csv ================================================ 2,0,9,0,12,0,10,0,8,0,6,0 4,0,1,0,5,0,7,0,11,0,3,0 9,0,5,0,6,0,1,0,10,0,12,0 2,0,11,0,3,0,7,0,8,0,4,0 11,0,3,0,9,0,1,0,6,0,2,0 5,0,12,0,7,0,4,0,10,0,8,0 9,0,8,0,1,0,4,0,6,0,11,0 3,0,2,0,12,0,5,0,10,0,7,0 1,0,3,0,12,0,2,0,4,0,9,0 11,0,10,0,6,0,7,0,8,0,5,0 10,0,12,0,3,0,8,0,9,0,11,0 6,0,7,0,4,0,2,0,1,0,5,0 3,0,7,0,4,0,10,0,9,0,6,0 12,0,2,0,8,0,1,0,5,0,11,0 11,0,4,0,1,0,12,0,10,0,7,0 5,0,6,0,2,0,8,0,9,0,3,0 6,0,7,0,9,0,12,0,11,0,5,0 4,0,1,0,10,0,8,0,2,0,3,0 10,0,2,0,11,0,6,0,12,0,4,0 9,0,1,0,7,0,3,0,5,0,8,0 5,0,3,0,4,0,12,0,11,0,9,0 6,0,8,0,1,0,10,0,2,0,7,0 12,0,4,0,8,0,3,0,6,0,5,0 7,0,1,0,11,0,2,0,9,0,10,0 11,0,5,0,10,0,1,0,3,0,6,0 8,0,7,0,2,0,9,0,4,0,12,0 9,0,5,0,10,0,11,0,4,0,2,0 6,0,12,0,8,0,7,0,3,0,1,0 ================================================ FILE: schedules/12_2.csv ================================================ 12,0,5,0,2,0,1,0,8,0,7,0 4,0,11,0,6,0,3,0,10,0,9,0 6,0,1,0,3,0,8,0,12,0,4,0 2,0,7,0,10,0,5,0,9,0,11,0 ================================================ FILE: schedules/12_3.csv ================================================ 1,0,11,0,4,0,7,0,3,0,6,0 12,0,10,0,2,0,8,0,9,0,5,0 9,0,7,0,12,0,2,0,4,0,3,0 8,0,6,0,11,0,5,0,1,0,10,0 3,0,8,0,10,0,4,0,5,0,7,0 11,0,2,0,9,0,6,0,12,0,1,0 ================================================ FILE: schedules/12_4.csv ================================================ 8,0,2,0,4,0,9,0,11,0,3,0 6,0,10,0,7,0,12,0,1,0,5,0 7,0,9,0,8,0,4,0,6,0,12,0 3,0,1,0,10,0,11,0,5,0,2,0 5,0,4,0,9,0,1,0,7,0,2,0 10,0,12,0,11,0,3,0,8,0,6,0 2,0,3,0,12,0,9,0,6,0,1,0 11,0,4,0,7,0,5,0,10,0,8,0 ================================================ FILE: schedules/12_5.csv ================================================ 8,0,6,0,12,0,1,0,10,0,9,0 3,0,11,0,7,0,5,0,2,0,4,0 4,0,9,0,6,0,2,0,12,0,3,0 5,0,7,0,10,0,11,0,8,0,1,0 6,0,1,0,5,0,7,0,4,0,12,0 9,0,11,0,2,0,10,0,3,0,8,0 9,0,12,0,10,0,4,0,5,0,8,0 1,0,7,0,2,0,11,0,6,0,3,0 3,0,4,0,1,0,8,0,9,0,7,0 12,0,5,0,11,0,10,0,2,0,6,0 ================================================ FILE: schedules/12_6.csv ================================================ 3,0,4,0,10,0,11,0,9,0,5,0 2,0,7,0,12,0,8,0,6,0,1,0 12,0,11,0,6,0,2,0,5,0,10,0 3,0,8,0,4,0,1,0,9,0,7,0 5,0,12,0,1,0,7,0,10,0,6,0 8,0,2,0,9,0,4,0,11,0,3,0 11,0,7,0,8,0,10,0,6,0,9,0 4,0,5,0,12,0,1,0,3,0,2,0 10,0,1,0,11,0,7,0,4,0,2,0 6,0,8,0,5,0,9,0,12,0,3,0 9,0,1,0,4,0,12,0,10,0,8,0 6,0,2,0,11,0,5,0,3,0,7,0 ================================================ FILE: schedules/12_7.csv ================================================ 8,0,4,0,2,0,1,0,3,0,5,0 7,0,6,0,9,0,11,0,12,0,10,0 10,0,9,0,8,0,1,0,2,0,12,0 3,0,7,0,4,0,5,0,11,0,6,0 4,0,9,0,1,0,5,0,10,0,7,0 6,0,12,0,2,0,3,0,8,0,11,0 3,0,5,0,12,0,2,0,7,0,10,0 9,0,11,0,1,0,4,0,8,0,6,0 7,0,12,0,3,0,9,0,8,0,5,0 10,0,1,0,6,0,4,0,2,0,11,0 2,0,5,0,11,0,12,0,4,0,9,0 6,0,10,0,3,0,8,0,1,0,7,0 11,0,1,0,7,0,2,0,3,0,9,0 10,0,5,0,4,0,12,0,6,0,8,0 ================================================ FILE: schedules/12_8.csv ================================================ 8,0,2,0,10,0,7,0,6,0,11,0 9,0,5,0,12,0,3,0,4,0,1,0 1,0,3,0,9,0,10,0,2,0,6,0 8,0,7,0,12,0,4,0,5,0,11,0 11,0,4,0,2,0,9,0,6,0,5,0 12,0,10,0,1,0,3,0,8,0,7,0 12,0,6,0,3,0,11,0,8,0,9,0 7,0,10,0,4,0,5,0,1,0,2,0 5,0,8,0,10,0,2,0,12,0,9,0 6,0,11,0,3,0,1,0,7,0,4,0 3,0,7,0,2,0,9,0,4,0,8,0 6,0,1,0,5,0,11,0,12,0,10,0 2,0,11,0,4,0,10,0,3,0,12,0 8,0,9,0,6,0,5,0,1,0,7,0 1,0,11,0,8,0,2,0,3,0,5,0 10,0,9,0,7,0,4,0,12,0,6,0 ================================================ FILE: schedules/12_9.csv ================================================ 9,0,11,0,7,0,6,0,12,0,1,0 3,0,10,0,8,0,5,0,2,0,4,0 2,0,4,0,11,0,10,0,7,0,9,0 1,0,8,0,12,0,3,0,6,0,5,0 5,0,4,0,12,0,11,0,1,0,2,0 6,0,7,0,10,0,9,0,8,0,3,0 2,0,10,0,12,0,8,0,11,0,6,0 5,0,9,0,1,0,7,0,3,0,4,0 4,0,3,0,2,0,12,0,9,0,6,0 7,0,1,0,5,0,11,0,8,0,10,0 8,0,6,0,2,0,4,0,1,0,7,0 3,0,12,0,11,0,10,0,5,0,9,0 1,0,6,0,3,0,11,0,4,0,10,0 7,0,5,0,8,0,9,0,12,0,2,0 2,0,10,0,9,0,1,0,5,0,6,0 12,0,11,0,3,0,4,0,7,0,8,0 10,0,3,0,1,0,12,0,2,0,7,0 6,0,9,0,4,0,8,0,5,0,11,0 ================================================ FILE: schedules/13_1.csv ================================================ 12,0,6,0,9,0,7,0,10,0,5,0 11,0,13,0,3,0,4,0,2,0,8,0 1,0,4,1,3,1,11,1,13,1,2,1 ================================================ FILE: schedules/13_10.csv ================================================ 10,0,6,0,1,0,7,0,13,0,11,0 3,0,5,0,12,0,4,0,2,0,9,0 8,0,2,0,4,0,13,0,10,0,5,0 9,0,3,0,12,0,6,0,8,0,11,0 7,0,10,0,9,0,5,0,12,0,1,0 11,1,2,0,4,0,7,0,6,0,8,1 8,0,1,0,13,0,3,0,4,0,10,0 2,0,7,0,3,0,9,0,11,0,13,0 12,0,6,0,13,0,1,0,5,0,2,0 3,0,10,0,8,0,12,0,1,0,7,0 9,0,5,0,6,0,4,0,11,0,10,0 2,0,11,0,12,0,1,0,9,0,4,0 6,0,13,0,5,0,8,0,3,0,7,0 1,0,4,0,7,0,2,0,9,0,8,0 5,0,3,0,13,0,10,0,12,0,6,0 11,0,12,0,8,0,10,0,13,0,2,0 4,0,7,0,5,0,11,0,1,0,3,0 9,0,1,0,10,0,6,0,2,0,3,0 13,0,4,0,6,0,12,0,9,0,7,0 11,0,7,0,2,0,5,0,8,0,10,0 13,0,8,0,1,0,5,0,11,0,9,0 3,0,6,0,11,0,12,0,4,0,8,0 ================================================ FILE: schedules/13_11.csv ================================================ 2,0,9,0,4,0,3,0,6,0,8,0 1,0,12,0,10,0,5,0,7,0,13,0 3,0,2,0,5,0,11,0,4,0,10,0 11,0,6,0,8,0,12,0,9,0,7,0 13,0,9,0,2,0,1,0,5,0,6,0 12,0,3,1,4,0,11,0,1,0,13,0 7,0,8,0,1,0,10,0,3,0,6,0 11,0,13,0,2,0,4,0,10,0,9,0 5,0,12,0,2,0,7,0,8,0,13,0 5,0,3,0,10,0,11,0,8,0,12,0 1,0,4,0,7,0,6,0,9,0,5,0 7,0,13,0,6,0,10,0,11,0,3,0 8,0,4,0,2,0,1,0,9,0,12,0 3,0,11,0,1,0,7,0,2,0,12,0 13,0,6,0,10,0,5,0,4,0,8,0 9,0,12,0,6,0,7,0,10,0,2,0 9,0,8,0,3,0,13,0,1,0,11,0 5,0,9,0,10,0,4,0,3,0,12,0 5,0,8,0,11,0,6,0,2,0,1,0 7,0,11,0,9,0,13,0,4,0,5,0 13,0,10,0,12,0,3,0,2,0,6,0 4,0,7,0,11,0,1,0,8,0,10,0 3,0,5,0,7,0,8,0,2,0,9,0 1,0,4,0,6,0,13,0,12,0,3,0 ================================================ FILE: schedules/13_12.csv ================================================ 11,0,3,0,9,0,1,0,12,0,10,0 8,0,4,0,5,0,2,0,6,0,7,0 13,0,4,0,7,0,8,0,1,0,11,0 12,0,6,0,9,0,10,0,5,0,2,0 12,0,5,0,3,0,13,0,1,0,6,0 10,0,4,0,9,0,3,0,13,0,2,0 11,0,10,0,3,0,8,0,5,0,7,0 7,0,6,0,8,0,13,0,9,0,1,0 12,0,11,0,13,0,4,0,3,0,2,0 12,0,2,0,10,0,6,0,7,0,4,0 9,0,11,0,2,0,5,0,8,0,1,0 1,0,5,0,11,0,4,0,12,0,9,0 7,0,13,0,8,0,6,0,3,0,10,0 2,0,1,0,8,0,5,0,10,0,13,0 7,0,11,0,4,0,6,0,9,0,12,0 1,0,12,0,4,0,3,0,10,0,8,0 9,0,7,0,3,0,6,0,2,0,11,0 5,0,2,0,1,0,13,0,7,0,12,0 5,0,13,0,6,0,3,0,4,0,11,0 8,0,9,0,13,0,10,0,11,0,12,0 9,0,8,0,6,0,4,0,3,0,1,0 1,0,10,0,7,0,5,0,2,0,3,0 10,0,13,0,4,0,7,0,9,0,5,0 2,0,12,0,6,0,11,0,8,0,13,0 2,0,1,0,10,0,4,0,6,0,11,0 3,0,8,0,12,0,9,0,7,0,5,0 ================================================ FILE: schedules/13_13.csv ================================================ 13,0,9,0,1,0,4,0,7,0,11,0 12,0,2,0,5,0,6,0,3,0,8,0 4,0,8,0,9,0,13,0,6,0,10,0 3,0,7,0,12,0,11,0,2,0,10,0 5,0,6,0,11,0,8,0,10,0,1,0 3,1,1,1,7,1,13,1,5,1,4,0 2,0,13,0,3,0,12,0,9,0,6,0 2,0,5,0,9,0,1,0,7,0,8,0 4,0,11,0,13,0,10,0,6,0,12,0 2,0,10,0,9,0,5,0,3,0,11,0 8,0,4,0,12,0,1,0,7,0,2,0 7,0,8,0,6,0,3,0,4,0,11,0 5,0,1,0,10,0,13,0,12,0,9,0 10,0,3,0,7,0,12,0,1,0,8,0 4,0,6,0,2,0,11,0,9,0,5,0 1,0,5,0,4,0,13,0,2,0,3,0 11,0,8,0,6,0,13,0,12,0,7,0 9,0,3,0,8,0,10,0,4,0,13,0 9,0,10,0,7,0,2,0,6,0,1,0 11,0,12,0,2,0,5,0,8,0,13,0 6,0,12,0,3,0,9,0,11,0,1,0 10,0,5,0,12,0,7,0,4,0,6,0 11,0,13,0,10,0,7,0,2,0,5,0 3,0,1,0,4,0,8,0,11,0,9,0 6,0,1,0,13,0,8,0,10,0,2,0 3,0,9,0,4,0,12,0,5,0,7,0 12,0,11,0,2,0,1,0,10,0,4,0 7,0,13,0,8,0,9,0,5,0,3,0 3,0,1,0,7,0,6,0,13,0,5,0 ================================================ FILE: schedules/13_14.csv ================================================ 8,0,12,0,4,0,3,0,10,0,5,0 9,0,1,0,7,0,13,0,2,0,6,0 11,0,8,0,4,0,7,0,1,0,13,0 6,0,5,0,3,0,12,0,9,0,2,0 11,0,13,0,1,0,5,0,8,0,10,0 4,1,10,1,2,0,7,0,12,1,3,1 9,0,2,0,8,0,6,0,11,0,12,0 10,0,6,0,9,0,5,0,4,0,1,0 5,0,13,0,11,0,3,0,7,0,4,0 6,0,12,0,9,0,7,0,1,0,11,0 2,0,3,0,8,0,9,0,10,0,13,0 1,0,12,0,11,0,4,0,2,0,13,0 6,0,10,0,7,0,3,0,8,0,5,0 10,0,6,0,1,0,12,0,13,0,3,0 8,0,5,0,7,0,4,0,9,0,11,0 2,0,1,0,12,0,4,0,5,0,6,0 13,0,9,0,3,0,2,0,11,0,10,0 7,0,9,0,5,0,8,0,2,0,13,0 3,0,4,0,7,0,1,0,6,0,8,0 2,0,12,0,10,0,11,0,7,0,8,0 11,0,4,0,3,0,13,0,9,0,6,0 1,0,5,0,9,0,12,0,10,0,7,0 12,0,13,0,5,0,8,0,3,0,1,0 2,0,6,0,4,0,10,0,11,0,5,0 4,0,13,0,10,0,6,0,7,0,2,0 1,0,3,0,12,0,8,0,11,0,9,0 13,0,6,0,11,0,5,0,7,0,12,0 1,0,8,0,4,0,9,0,2,0,3,0 10,0,8,0,13,0,4,0,12,0,6,0 5,0,11,0,2,0,3,0,10,0,1,0 7,0,4,0,10,0,9,0,3,0,12,0 ================================================ FILE: schedules/13_2.csv ================================================ 11,0,13,0,10,0,12,0,5,0,9,0 6,0,2,0,4,0,3,0,7,0,8,0 1,0,3,0,13,0,8,0,10,0,2,0 9,0,11,0,6,0,7,0,4,0,1,0 8,1,12,0,3,1,5,0,4,1,7,1 ================================================ FILE: schedules/13_3.csv ================================================ 5,0,13,0,12,0,9,0,11,0,1,0 6,0,2,0,10,0,8,0,7,0,4,0 3,0,9,0,5,0,13,0,8,0,6,0 11,0,12,0,2,0,4,0,3,0,10,0 7,0,6,0,11,0,1,0,12,0,8,0 9,0,4,0,13,0,2,0,5,0,7,0 13,1,1,0,3,0,10,0,9,1,5,1 ================================================ FILE: schedules/13_4.csv ================================================ 12,0,11,0,13,0,7,0,4,0,1,0 3,0,8,0,5,0,10,0,9,0,6,0 9,0,2,0,1,0,12,0,8,0,10,0 4,0,5,0,2,0,13,0,3,0,7,0 11,0,1,0,3,0,6,0,7,0,5,0 12,1,4,0,9,0,11,1,6,0,2,0 13,0,10,0,4,0,8,0,9,0,11,0 6,0,12,0,3,0,1,0,13,0,8,0 2,0,7,0,12,0,5,0,10,0,11,0 ================================================ FILE: schedules/13_5.csv ================================================ 8,0,2,0,1,0,6,0,3,0,9,0 13,0,11,0,10,0,4,0,7,0,12,0 7,0,8,0,6,0,10,0,12,0,5,0 5,0,13,0,4,0,1,0,9,0,11,0 3,0,1,0,4,0,2,0,6,0,11,0 9,0,13,0,2,0,8,1,3,0,10,0 5,0,7,0,9,0,11,0,12,0,3,0 4,0,10,0,6,0,7,0,1,0,13,0 2,0,5,0,3,0,12,0,8,0,13,0 8,0,11,0,5,0,10,0,2,0,7,0 12,0,6,0,1,0,9,0,4,0,8,0 ================================================ FILE: schedules/13_6.csv ================================================ 4,0,8,0,5,0,6,0,11,0,10,0 9,0,2,0,12,0,3,0,7,0,1,0 8,0,13,0,11,0,9,0,1,0,6,0 12,0,4,0,3,0,2,0,13,0,5,0 8,0,9,0,10,0,7,0,12,0,11,0 10,0,5,0,1,0,2,0,4,0,6,0 13,0,3,0,9,0,7,0,2,0,8,0 7,0,6,0,13,0,11,0,5,0,3,0 4,0,10,0,7,0,1,0,12,0,8,0 11,0,9,0,4,0,10,0,3,0,2,0 5,0,6,0,12,0,13,0,1,0,4,0 1,0,11,0,2,0,5,0,7,0,9,0 3,0,8,0,6,0,12,0,10,0,13,0 ================================================ FILE: schedules/13_7.csv ================================================ 5,0,6,0,2,0,8,0,10,0,11,0 4,0,12,0,7,0,13,0,9,0,1,0 9,0,2,0,13,0,3,0,7,0,10,0 1,0,3,0,4,0,11,0,5,0,8,0 1,0,8,0,12,0,6,0,10,0,9,0 2,1,3,1,5,1,13,1,6,1,4,0 12,0,11,0,6,0,13,0,5,0,7,0 7,0,11,0,1,0,3,0,12,0,10,0 9,0,8,0,12,0,2,0,4,0,11,0 10,0,1,0,2,0,8,0,4,0,13,0 5,0,9,0,3,0,6,0,7,0,1,0 6,0,8,0,3,0,12,0,13,0,2,0 5,0,4,0,10,0,11,0,9,0,7,0 11,0,3,0,13,0,4,0,6,0,9,0 7,0,2,0,8,0,12,0,1,0,5,0 10,0,13,0,6,0,2,0,3,0,5,0 ================================================ FILE: schedules/13_8.csv ================================================ 9,0,4,0,3,0,5,0,12,0,2,0 10,0,6,0,11,0,7,0,8,0,1,0 4,0,1,0,6,0,13,0,3,0,2,0 5,0,7,0,13,0,12,0,9,0,8,0 12,0,2,0,10,0,11,0,9,0,6,0 8,1,11,0,5,1,10,1,13,0,3,1 2,0,4,0,7,0,13,0,1,0,9,0 8,0,4,0,11,0,6,0,3,0,12,0 1,0,5,0,3,0,7,0,10,0,9,0 4,0,13,0,10,0,11,0,7,0,12,0 2,0,6,0,8,0,4,0,5,0,1,0 9,0,2,0,7,0,3,0,8,0,11,0 12,0,1,0,13,0,6,0,5,0,10,0 6,0,7,0,5,0,10,0,3,0,4,0 8,0,13,0,12,0,1,0,11,0,2,0 8,0,10,0,1,0,9,0,12,0,4,0 3,0,9,0,5,0,11,0,6,0,13,0 7,0,10,0,3,0,2,0,8,0,5,0 ================================================ FILE: schedules/13_9.csv ================================================ 10,0,1,0,8,0,12,0,2,0,7,0 5,0,3,0,13,0,9,0,11,0,4,0 10,0,6,0,2,0,5,0,8,0,4,0 9,0,11,0,12,0,6,0,7,0,13,0 6,0,1,0,9,0,3,0,2,0,10,0 5,1,7,0,13,1,12,1,3,0,11,0 7,0,1,0,4,0,5,0,6,0,8,0 3,0,2,0,1,0,10,0,13,0,11,0 8,0,12,0,2,0,4,0,9,0,3,0 1,0,11,0,5,0,8,0,10,0,9,0 7,0,4,0,10,0,12,0,6,0,13,0 9,0,5,0,12,0,11,0,2,0,6,0 4,0,13,0,3,0,1,0,8,0,7,0 2,0,5,0,9,0,13,0,12,0,1,0 11,0,10,0,6,0,3,0,8,0,7,0 4,0,10,0,5,0,7,0,9,0,3,0 2,0,4,0,6,0,11,0,12,0,1,0 8,0,7,0,11,0,13,0,5,0,2,0 13,0,9,0,8,0,12,0,4,0,10,0 6,0,3,0,12,0,1,0,13,0,5,0 ================================================ FILE: schedules/14_1.csv ================================================ 9,0,2,0,6,0,5,0,14,0,10,0 7,0,12,0,4,0,13,0,3,0,8,0 11,0,13,1,8,1,1,0,10,1,3,1 ================================================ FILE: schedules/14_10.csv ================================================ 2,0,1,0,6,0,10,0,14,0,5,0 12,0,11,0,9,0,7,0,13,0,4,0 4,0,5,0,8,0,3,0,9,0,7,0 6,0,10,0,13,0,3,0,11,0,8,0 12,0,2,0,4,0,14,0,13,0,1,0 12,1,10,1,3,0,9,1,5,1,14,0 7,0,1,0,11,0,8,0,2,0,6,0 2,0,7,0,14,0,6,0,11,0,12,0 13,0,10,0,3,0,5,0,4,0,1,0 11,0,5,0,8,0,9,0,14,0,4,0 12,0,9,0,13,0,7,0,6,0,10,0 9,0,8,0,1,0,12,0,3,0,2,0 8,0,10,0,7,0,6,0,4,0,1,0 14,0,3,0,5,0,11,0,13,0,2,0 4,0,2,0,3,0,10,0,9,0,7,0 8,0,14,0,12,0,13,0,5,0,6,0 11,0,6,0,14,0,1,0,3,0,9,0 5,0,7,0,13,0,1,0,8,0,11,0 10,0,4,0,11,0,2,0,12,0,5,0 14,0,7,0,12,0,3,0,8,0,10,0 13,0,6,0,9,0,4,0,1,0,2,0 9,0,2,0,10,0,14,0,8,0,13,0 3,0,4,0,6,0,5,0,12,0,7,0 1,0,12,0,10,0,11,0,9,0,5,0 ================================================ FILE: schedules/14_11.csv ================================================ 5,0,10,0,14,0,4,0,2,0,1,0 12,0,9,0,6,0,13,0,7,0,8,0 3,0,7,0,9,0,11,0,13,0,1,0 8,0,4,0,6,0,14,0,11,0,3,0 10,0,2,0,11,0,9,0,12,0,5,0 13,1,14,0,3,0,10,1,4,0,7,0 6,0,2,0,5,0,8,0,12,0,1,0 12,0,7,0,11,0,3,0,6,0,2,0 9,0,13,0,8,0,4,0,14,0,5,0 1,0,9,0,12,0,3,0,10,0,8,0 6,0,1,0,10,0,2,0,4,0,13,0 2,0,7,0,14,0,11,0,5,0,8,0 10,0,12,0,3,0,9,0,14,0,13,0 5,0,1,0,7,0,4,0,11,0,6,0 14,0,8,0,2,0,3,0,1,0,6,0 5,0,11,0,4,0,13,0,10,0,12,0 7,0,3,0,4,0,9,0,5,0,2,0 1,0,8,0,14,0,7,0,10,0,12,0 11,0,9,0,2,0,13,0,6,0,14,0 12,0,5,0,13,0,1,0,3,0,7,0 8,0,6,0,11,0,10,0,4,0,9,0 13,0,3,0,4,0,2,0,8,0,12,0 10,0,9,0,1,0,6,0,5,0,7,0 14,0,12,0,4,0,11,0,1,0,9,0 2,0,13,0,10,0,7,0,8,0,11,0 5,0,3,0,13,0,14,0,6,0,10,0 ================================================ FILE: schedules/14_12.csv ================================================ 8,0,3,0,5,0,12,0,4,0,14,0 9,0,7,0,10,0,6,0,13,0,11,0 1,0,3,0,13,0,6,0,2,0,5,0 2,0,12,0,7,0,8,0,10,0,1,0 12,0,14,0,9,0,11,0,4,0,2,0 14,0,13,0,5,0,1,0,7,0,9,0 6,0,10,0,8,0,3,0,4,0,11,0 12,0,11,0,1,0,3,0,7,0,6,0 5,0,10,0,13,0,8,0,2,0,9,0 10,0,7,0,4,0,2,0,14,0,3,0 11,0,1,0,12,0,13,0,9,0,4,0 5,0,8,0,1,0,14,0,6,0,13,0 14,0,6,0,11,0,10,0,5,0,12,0 2,0,9,0,7,0,4,0,8,0,3,0 13,0,8,0,2,0,4,0,6,0,12,0 10,0,11,0,9,0,3,0,1,0,5,0 14,0,3,0,8,0,7,0,11,0,13,0 9,0,12,0,6,0,7,0,14,0,2,0 5,0,4,0,8,0,1,0,10,0,14,0 1,0,6,0,7,0,10,0,9,0,4,0 13,0,2,0,12,0,5,0,3,0,11,0 2,0,3,0,10,0,13,0,14,0,1,0 4,0,11,0,8,0,9,0,5,0,6,0 7,0,5,0,4,0,12,0,13,0,10,0 3,0,12,0,14,0,6,0,9,0,1,0 11,0,2,0,6,0,7,0,8,0,14,0 4,0,1,0,2,0,11,0,5,0,7,0 9,0,13,0,3,0,8,0,12,0,10,0 ================================================ FILE: schedules/14_13.csv ================================================ 5,0,2,0,1,0,8,0,10,0,13,0 9,0,6,0,12,0,4,0,3,0,11,0 10,0,11,0,14,0,6,0,7,0,8,0 7,0,3,0,12,0,9,0,1,0,4,0 9,0,13,0,2,0,5,0,14,0,11,0 4,1,8,1,7,0,12,1,5,1,13,0 10,0,2,0,6,0,1,0,14,0,3,0 11,0,12,0,14,0,1,0,9,0,7,0 8,0,6,0,4,0,5,0,3,0,10,0 13,0,3,0,6,0,2,0,7,0,1,0 12,0,8,0,5,0,2,0,9,0,14,0 10,0,4,0,2,0,11,0,13,0,9,0 10,0,5,0,6,0,7,0,11,0,12,0 3,0,1,0,8,0,14,0,4,0,13,0 1,0,13,0,3,0,9,0,5,0,11,0 14,0,2,0,7,0,12,0,4,0,10,0 8,0,2,0,5,0,6,0,12,0,1,0 4,0,14,0,9,0,6,0,13,0,10,0 3,0,7,0,14,0,11,0,8,0,2,0 5,0,7,0,10,0,3,0,9,0,8,0 6,0,1,0,11,0,13,0,12,0,4,0 12,0,14,0,6,0,13,0,5,0,3,0 4,0,11,0,1,0,8,0,9,0,10,0 2,0,5,0,3,0,7,0,11,0,4,0 7,0,9,0,13,0,8,0,6,0,14,0 12,0,1,0,9,0,2,0,10,0,3,0 13,0,8,0,7,0,12,0,4,0,2,0 11,0,10,0,1,0,14,0,6,0,5,0 4,0,5,0,9,0,2,0,7,0,6,0 13,0,10,0,11,0,3,0,8,0,12,0 14,0,4,0,8,0,1,0,12,0,5,0 ================================================ FILE: schedules/14_14.csv ================================================ 12,0,14,0,9,0,5,0,1,0,6,0 3,0,10,0,4,0,8,0,13,0,7,0 10,0,2,0,7,0,1,0,11,0,14,0 3,0,2,0,12,0,11,0,13,0,9,0 8,0,5,0,14,0,4,0,6,0,13,0 4,1,3,0,11,0,12,1,6,0,7,0 9,0,5,0,2,0,1,0,10,0,8,0 13,0,6,0,12,0,1,0,8,0,2,0 4,0,14,0,11,0,3,0,10,0,9,0 7,0,4,0,9,0,5,0,12,0,13,0 11,0,7,0,10,0,6,0,5,0,8,0 2,0,1,0,4,0,3,0,14,0,8,0 7,0,6,0,3,0,12,0,9,0,1,0 14,0,5,0,11,0,10,0,13,0,2,0 14,0,5,0,13,0,1,0,7,0,3,0 4,0,12,0,8,0,9,0,2,0,11,0 6,0,12,0,1,0,10,0,8,0,5,0 10,0,9,0,7,0,4,0,14,0,2,0 6,0,11,0,5,0,13,0,3,0,14,0 11,0,13,0,8,0,7,0,9,0,1,0 12,0,3,0,2,0,6,0,4,0,10,0 4,0,10,0,13,0,1,0,11,0,6,0 2,0,8,0,9,0,7,0,3,0,5,0 14,0,8,0,10,0,12,0,3,0,5,0 12,0,11,0,1,0,7,0,4,0,14,0 6,0,9,0,3,0,13,0,2,0,7,0 5,0,1,0,4,0,2,0,11,0,6,0 9,0,8,0,13,0,14,0,10,0,12,0 8,0,7,0,12,0,2,0,6,0,14,0 5,0,1,0,10,0,9,0,4,0,3,0 13,0,1,0,3,0,11,0,12,0,10,0 14,0,9,0,6,0,8,0,4,0,11,0 5,0,7,0,4,0,13,0,2,0,12,0 ================================================ FILE: schedules/14_2.csv ================================================ 13,0,6,0,14,0,12,0,9,0,7,0 2,0,8,0,10,0,3,0,5,0,4,0 1,0,13,0,2,0,11,0,14,0,8,0 4,0,11,0,1,0,6,0,10,0,9,0 5,0,7,0,1,1,11,1,12,0,3,0 ================================================ FILE: schedules/14_3.csv ================================================ 13,0,6,0,5,0,8,0,4,0,3,0 11,0,12,0,9,0,14,0,2,0,10,0 7,0,5,0,8,0,1,0,11,0,14,0 6,0,2,0,12,0,1,0,7,0,13,0 10,0,4,0,1,0,3,0,9,0,7,0 13,0,14,0,4,0,11,0,10,0,6,0 9,0,8,0,2,0,5,0,3,0,12,0 ================================================ FILE: schedules/14_4.csv ================================================ 1,0,7,0,9,0,3,0,11,0,13,0 5,0,6,0,4,0,10,0,12,0,8,0 8,0,14,0,7,0,1,0,2,0,10,0 2,0,5,0,14,0,6,0,9,0,3,0 11,0,12,0,6,0,7,0,4,0,13,0 9,1,4,1,10,0,1,1,13,0,5,1 3,0,14,0,12,0,2,0,8,0,11,0 11,0,10,0,7,0,9,0,8,0,5,0 13,0,6,0,2,0,4,0,3,0,1,0 12,0,1,0,5,0,14,0,9,0,4,0 ================================================ FILE: schedules/14_5.csv ================================================ 5,0,14,0,8,0,3,0,2,0,10,0 1,0,11,0,13,0,7,0,6,0,4,0 12,0,4,0,10,0,2,0,9,0,1,0 3,0,5,0,7,0,6,0,12,0,9,0 11,0,14,0,9,0,8,0,13,0,7,0 8,0,6,1,2,0,14,1,1,0,4,0 13,0,3,0,12,0,5,0,10,0,11,0 10,0,7,0,1,0,13,0,6,0,5,0 4,0,11,0,2,0,9,0,8,0,3,0 14,0,10,0,6,0,12,0,8,0,11,0 4,0,9,0,5,0,14,0,7,0,12,0 1,0,3,0,6,0,2,0,13,0,14,0 ================================================ FILE: schedules/14_6.csv ================================================ 7,0,8,0,5,0,3,0,12,0,2,0 6,0,4,0,1,0,9,0,14,0,13,0 11,0,9,0,4,0,5,0,10,0,6,0 14,0,10,0,11,0,13,0,12,0,7,0 8,0,2,0,10,0,1,0,11,0,3,0 1,0,2,0,9,0,12,0,4,0,5,0 13,0,3,0,8,0,6,0,7,0,14,0 9,0,5,0,3,0,8,0,13,0,1,0 12,0,11,0,6,0,4,0,7,0,2,0 14,0,8,0,12,0,10,0,13,0,4,0 11,0,3,0,7,0,5,0,1,0,14,0 2,0,6,0,13,0,10,0,9,0,12,0 7,0,1,0,10,0,8,0,6,0,9,0 4,0,14,0,3,0,2,0,5,0,11,0 ================================================ FILE: schedules/14_7.csv ================================================ 6,0,8,0,11,0,13,0,2,0,14,0 1,0,5,0,4,0,3,0,10,0,9,0 12,0,6,0,14,0,2,0,7,0,1,0 3,0,11,0,7,0,10,0,4,0,13,0 10,0,12,0,5,0,9,0,8,0,2,0 13,1,5,1,1,0,12,1,4,1,11,0 14,0,3,0,8,0,7,0,9,0,6,0 8,0,5,0,7,0,1,0,6,0,10,0 11,0,9,0,13,0,2,0,3,0,12,0 4,0,13,0,8,0,14,0,1,0,9,0 11,0,10,0,14,0,5,0,6,0,3,0 7,0,2,0,10,0,4,0,12,0,3,0 2,0,4,0,6,0,8,0,1,0,11,0 9,0,14,0,5,0,12,0,7,0,13,0 13,0,1,0,3,0,8,0,10,0,12,0 5,0,11,0,2,0,7,0,14,0,4,0 9,0,12,0,4,0,6,0,13,0,5,0 ================================================ FILE: schedules/14_8.csv ================================================ 8,0,4,0,2,0,10,0,5,0,9,0 12,0,3,0,13,0,14,0,11,0,7,0 6,0,5,0,7,0,10,0,1,0,12,0 4,0,13,0,9,0,6,0,14,0,1,0 3,0,5,0,2,0,8,0,11,0,14,0 12,0,11,1,2,0,4,1,10,0,6,0 1,0,9,0,8,0,3,0,7,0,13,0 6,0,8,0,12,0,1,0,7,0,4,0 9,0,11,0,10,0,14,0,13,0,5,0 2,0,7,0,10,0,3,0,4,0,14,0 1,0,3,0,6,0,5,0,9,0,8,0 11,0,12,0,5,0,13,0,2,0,1,0 13,0,14,0,10,0,7,0,12,0,8,0 4,0,6,0,11,0,2,0,9,0,3,0 10,0,8,0,3,0,13,0,2,0,6,0 5,0,1,0,4,0,9,0,12,0,14,0 7,0,10,0,4,0,11,0,3,0,1,0 14,0,2,0,11,0,9,0,6,0,7,0 8,0,13,0,11,0,5,0,4,0,12,0 ================================================ FILE: schedules/14_9.csv ================================================ 2,0,4,0,1,0,5,0,3,0,7,0 8,0,6,0,9,0,11,0,10,0,13,0 2,0,3,0,14,0,9,0,12,0,11,0 7,0,4,0,13,0,12,0,14,0,8,0 10,0,4,0,6,0,1,0,5,0,14,0 5,0,6,0,12,0,9,0,3,0,8,0 11,0,7,0,1,0,10,0,13,0,2,0 6,0,8,0,5,0,7,0,2,0,11,0 3,0,1,0,12,0,14,0,10,0,9,0 13,0,2,0,8,0,14,0,1,0,4,0 5,0,7,0,10,0,13,0,9,0,3,0 4,0,12,0,2,0,6,0,11,0,10,0 12,0,8,0,3,0,1,0,13,0,6,0 14,0,9,0,7,0,11,0,5,0,4,0 9,0,5,0,13,0,6,0,14,0,2,0 3,0,11,0,10,0,4,0,8,0,7,0 1,0,9,0,4,0,12,0,7,0,6,0 13,0,14,0,10,0,2,0,12,0,5,0 8,0,11,0,14,0,3,0,1,0,5,0 7,0,2,0,9,0,8,0,10,0,1,0 11,0,13,0,12,0,4,0,6,0,3,0 ================================================ FILE: schedules/15_1.csv ================================================ 1,0,15,0,6,0,4,0,2,0,5,0 9,0,3,0,13,0,14,0,11,0,8,0 12,0,10,0,4,1,7,0,13,1,3,1 ================================================ FILE: schedules/15_10.csv ================================================ 6,0,12,0,10,0,5,0,1,0,11,0 2,0,3,0,15,0,9,0,7,0,14,0 8,0,4,0,7,0,2,0,6,0,13,0 4,0,15,0,5,0,1,0,3,0,8,0 14,0,9,0,12,0,13,0,10,0,11,0 13,0,15,0,10,0,14,0,4,0,5,0 12,0,2,0,1,0,3,0,8,0,9,0 3,0,7,0,6,0,11,0,12,0,4,0 8,0,11,0,2,0,15,0,6,0,14,0 9,0,5,0,13,0,1,0,7,0,10,0 6,0,14,0,1,0,7,0,13,0,3,0 5,0,10,0,11,0,2,0,9,0,4,0 12,0,8,0,13,0,15,0,6,0,9,0 14,0,11,0,7,0,15,0,8,0,5,0 1,0,4,0,3,0,12,0,10,0,2,0 4,0,13,0,8,0,10,0,3,0,11,0 6,0,15,0,12,0,5,0,2,0,7,0 14,0,1,0,8,0,9,0,12,0,4,0 7,0,13,0,1,0,11,0,2,0,15,0 10,0,5,0,9,0,3,0,14,0,6,0 9,0,1,0,15,0,4,0,11,0,6,0 3,0,5,0,12,0,13,0,14,0,2,0 10,0,4,0,8,0,7,0,15,0,12,0 11,0,9,0,3,0,13,0,5,0,7,0 10,0,2,0,14,0,8,0,1,0,6,0 ================================================ FILE: schedules/15_11.csv ================================================ 5,0,2,0,9,0,4,0,6,0,1,0 11,0,7,0,13,0,14,0,3,0,15,0 12,0,8,0,9,0,11,0,3,0,10,0 4,0,15,0,10,0,1,0,5,0,12,0 8,0,6,0,14,0,2,0,7,0,13,0 15,1,11,0,8,0,4,0,9,0,5,1 12,0,1,0,2,0,6,1,13,0,3,0 7,0,14,0,15,0,10,0,6,0,12,0 4,0,14,0,5,0,3,0,13,0,8,0 2,0,10,0,7,0,9,0,11,0,1,0 13,0,15,0,6,0,11,0,10,0,5,0 2,0,12,0,14,0,8,0,7,0,1,0 3,0,4,0,7,0,9,0,15,0,1,0 3,0,12,0,14,0,6,0,9,0,5,0 13,0,4,0,11,0,2,0,10,0,8,0 8,0,5,0,15,0,3,0,2,0,11,0 7,0,10,0,9,0,12,0,13,0,4,0 6,0,1,0,3,0,14,0,4,0,11,0 14,0,1,0,13,0,15,0,9,0,12,0 5,0,8,0,10,0,6,0,7,0,2,0 11,0,8,0,6,0,1,0,3,0,10,0 5,0,4,0,2,0,14,0,12,0,7,0 9,0,13,0,3,0,15,0,2,0,6,0 1,0,12,0,7,0,13,0,5,0,11,0 10,0,14,0,9,0,15,0,8,0,4,0 5,0,1,0,3,0,10,0,14,0,13,0 12,0,11,0,15,0,6,0,2,0,4,0 9,0,15,0,6,0,7,0,5,0,8,0 ================================================ FILE: schedules/15_12.csv ================================================ 9,0,1,0,13,0,15,0,8,0,10,0 6,0,11,0,5,0,3,0,7,0,14,0 1,0,11,0,2,0,9,0,4,0,12,0 4,0,3,0,15,0,10,0,14,0,7,0 5,0,6,0,2,0,13,0,8,0,12,0 2,0,10,0,1,0,6,0,13,0,3,0 14,0,5,0,11,0,8,0,4,0,9,0 15,0,3,0,10,0,12,0,7,0,9,0 1,0,15,0,5,0,12,0,11,0,2,0 7,0,13,0,4,0,14,0,6,0,8,0 14,0,12,0,6,0,8,0,5,0,10,0 2,0,1,0,7,0,3,0,4,0,11,0 13,0,9,0,11,0,4,0,15,0,6,0 10,0,13,0,12,0,5,0,1,0,7,0 8,0,9,0,15,0,2,0,3,0,14,0 7,0,6,0,8,0,10,0,15,0,2,0 13,0,14,0,4,0,12,0,1,0,3,0 5,0,9,0,3,0,8,0,11,0,1,0 4,0,12,0,5,0,10,0,6,0,9,0 13,0,2,0,14,0,11,0,7,0,15,0 11,0,10,0,4,0,3,0,5,0,13,0 7,0,8,0,9,0,1,0,12,0,6,0 14,0,15,0,12,0,2,0,4,0,6,0 7,0,3,0,5,0,9,0,2,0,13,0 1,0,11,0,10,0,15,0,8,0,14,0 9,0,14,0,1,0,5,0,2,0,7,0 3,0,12,0,8,0,15,0,13,0,4,0 6,0,10,0,13,0,11,0,9,0,14,0 6,0,7,0,15,0,4,0,5,0,1,0 12,0,2,0,8,0,11,0,10,0,3,0 ================================================ FILE: schedules/15_13.csv ================================================ 15,0,2,0,14,0,12,0,3,0,11,0 5,0,4,0,1,0,7,0,10,0,8,0 3,0,6,0,10,0,9,0,13,0,8,0 5,0,4,0,6,0,15,0,13,0,11,0 1,0,7,0,9,0,2,0,14,0,12,0 12,1,3,0,11,0,10,1,1,0,8,0 15,0,2,0,7,1,4,0,14,0,13,0 9,0,5,0,4,0,6,0,12,0,14,0 10,0,1,0,11,0,6,0,2,0,9,0 5,0,13,0,7,0,3,0,8,0,15,0 14,0,9,0,3,0,7,0,5,0,6,0 12,0,10,0,2,0,4,0,8,0,13,0 11,0,15,0,13,0,3,0,5,0,1,0 14,0,12,0,8,0,1,0,6,0,15,0 7,0,11,0,4,0,2,0,9,0,10,0 9,0,6,0,2,0,7,0,5,0,12,0 3,0,1,0,14,0,4,0,15,0,10,0 11,0,8,0,1,0,13,0,14,0,7,0 2,0,8,0,15,0,11,0,5,0,9,0 12,0,6,0,4,0,13,0,3,0,10,0 1,0,13,0,12,0,14,0,11,0,5,0 10,0,9,0,15,0,8,0,3,0,2,0 4,0,7,0,3,0,6,0,11,0,12,0 10,0,6,0,14,0,2,0,13,0,5,0 7,0,8,0,9,0,1,0,15,0,4,0 13,0,3,0,6,0,4,0,2,0,1,0 8,0,15,0,5,0,12,0,10,0,7,0 14,0,11,0,5,0,9,0,4,0,3,0 10,0,1,0,13,0,15,0,12,0,9,0 11,0,14,0,2,0,8,0,7,0,6,0 8,0,9,0,12,0,13,0,4,0,14,0 5,0,10,0,3,0,1,0,7,0,2,0 15,0,12,0,7,0,6,0,11,0,10,0 ================================================ FILE: schedules/15_14.csv ================================================ 2,0,9,0,5,0,11,0,10,0,6,0 13,0,8,0,15,0,12,0,4,0,7,0 12,0,3,0,1,0,14,0,15,0,9,0 13,0,3,0,7,0,1,0,2,0,5,0 10,0,14,0,11,0,6,0,4,0,8,0 13,0,1,0,4,0,9,0,10,0,8,0 5,0,6,0,12,0,2,0,7,0,14,0 15,0,3,0,2,0,11,0,4,0,9,0 11,0,8,0,1,0,7,0,6,0,5,0 3,0,15,0,10,0,13,0,14,0,12,0 9,0,12,0,8,0,7,0,10,0,5,0 2,0,11,0,13,0,14,0,3,0,4,0 1,0,9,0,2,0,14,0,15,0,6,0 1,0,5,0,10,0,11,0,12,0,13,0 6,0,15,0,4,0,3,0,7,0,8,0 7,0,11,0,6,0,15,0,13,0,9,0 5,0,3,0,12,0,2,0,8,0,4,0 14,0,11,0,3,0,1,0,10,0,7,0 15,0,5,0,1,0,4,0,2,0,10,0 14,0,6,0,9,0,8,0,13,0,12,0 6,0,4,0,2,0,7,0,12,0,1,0 8,0,5,0,14,0,9,0,11,0,3,0 10,0,13,0,6,0,8,0,2,0,15,0 4,0,1,0,3,0,5,0,9,0,13,0 12,0,14,0,10,0,15,0,7,0,11,0 7,0,13,0,14,0,4,0,5,0,11,0 12,0,9,0,2,0,8,0,1,0,3,0 10,0,15,0,7,0,6,0,9,0,3,0 15,0,8,0,13,0,5,0,2,0,14,0 4,0,10,0,11,0,12,0,6,0,1,0 1,0,6,0,14,0,5,0,4,0,15,0 9,0,8,0,7,0,2,0,13,0,11,0 10,0,12,0,6,0,3,0,5,0,13,0 3,0,12,0,15,0,11,0,1,0,8,0 9,0,7,0,4,0,10,0,14,0,2,0 ================================================ FILE: schedules/15_2.csv ================================================ 13,0,15,0,7,0,2,0,10,0,6,0 4,0,9,0,8,0,12,0,11,0,5,0 1,0,12,0,4,0,3,0,14,0,15,0 7,0,3,0,2,0,8,0,13,0,11,0 6,0,5,0,9,0,10,0,1,0,14,0 ================================================ FILE: schedules/15_3.csv ================================================ 3,0,4,0,10,0,7,0,9,0,1,0 13,0,8,0,12,0,15,0,5,0,11,0 14,0,2,0,15,0,9,0,3,0,6,0 1,0,11,0,8,0,2,0,6,0,7,0 5,0,13,0,4,0,12,0,10,0,14,0 4,0,14,0,11,0,10,0,15,0,8,0 6,0,12,0,5,0,13,0,7,0,3,0 5,1,9,0,2,0,12,1,1,0,13,1 ================================================ FILE: schedules/15_4.csv ================================================ 14,0,6,0,11,0,7,0,1,0,8,0 2,0,5,0,13,0,3,0,9,0,12,0 10,0,15,0,6,0,2,0,14,0,4,0 9,0,4,0,5,0,8,0,10,0,11,0 12,0,1,0,15,0,3,0,7,0,13,0 7,0,12,0,14,0,4,0,3,0,10,0 13,0,8,0,9,0,1,0,6,0,2,0 5,0,11,0,7,0,15,0,2,0,9,0 4,0,13,0,1,0,5,0,14,0,10,0 11,0,15,0,3,0,6,0,8,0,12,0 ================================================ FILE: schedules/15_5.csv ================================================ 5,0,4,0,12,0,7,0,15,0,14,0 11,0,9,0,1,0,8,0,3,0,13,0 8,0,11,0,6,0,2,0,10,0,5,0 9,0,2,0,6,0,1,0,12,0,7,0 10,0,15,0,13,0,14,0,4,0,3,0 13,0,2,1,4,0,15,1,8,0,9,0 11,1,14,0,12,0,6,0,10,0,1,0 5,0,7,0,8,0,3,0,12,0,15,0 6,0,13,0,7,0,4,0,11,0,10,0 1,0,3,0,2,0,14,0,5,0,9,0 3,0,9,0,10,0,15,0,6,0,5,0 13,0,14,0,11,0,12,0,8,0,2,0 4,0,1,0,15,0,7,0,2,0,11,0 ================================================ FILE: schedules/15_6.csv ================================================ 5,0,13,0,4,0,15,0,12,0,10,0 7,0,11,0,9,0,3,0,1,0,6,0 8,0,2,0,3,0,14,0,9,0,10,0 6,0,8,0,15,0,1,0,5,0,14,0 11,0,12,0,13,0,4,0,7,0,2,0 4,0,14,0,8,0,13,0,3,0,7,0 5,0,2,0,12,0,6,0,10,0,11,0 15,0,9,0,13,0,1,0,8,0,11,0 9,0,4,0,6,0,12,0,14,0,7,0 3,0,10,0,5,0,2,0,15,0,1,0 12,0,4,0,1,0,8,0,5,0,9,0 14,0,15,0,3,0,13,0,6,0,2,0 10,0,7,0,8,0,11,0,4,0,15,0 10,0,1,0,13,0,2,0,11,0,14,0 7,0,6,0,5,0,9,0,3,0,12,0 ================================================ FILE: schedules/15_7.csv ================================================ 15,0,1,0,8,0,14,0,13,0,3,0 5,0,9,0,11,0,12,0,10,0,2,0 8,0,7,0,6,0,4,0,2,0,9,0 3,0,10,0,7,0,1,0,5,0,14,0 15,0,13,0,12,0,4,0,11,0,6,0 14,1,4,0,3,0,5,0,6,0,12,1 9,0,8,1,15,0,11,0,13,0,1,0 2,0,7,0,5,0,10,0,8,0,13,0 1,0,4,0,10,0,3,0,6,0,9,0 14,0,12,0,7,0,11,0,15,0,2,0 13,0,4,0,5,0,9,0,12,0,1,0 10,0,8,0,11,0,6,0,14,0,15,0 2,0,3,0,1,0,7,0,11,0,12,0 6,0,2,0,13,0,3,0,5,0,8,0 14,0,9,0,10,0,7,0,15,0,4,0 8,0,12,0,4,0,10,0,5,0,15,0 11,0,3,0,14,0,13,0,7,0,9,0 12,0,1,0,6,0,8,0,14,0,2,0 ================================================ FILE: schedules/15_8.csv ================================================ 7,0,6,0,4,0,12,0,11,0,8,0 15,0,1,0,14,0,2,0,5,0,10,0 9,0,5,0,13,0,8,0,3,0,14,0 3,0,7,0,10,0,11,0,4,0,15,0 6,0,13,0,12,0,9,0,2,0,1,0 2,0,4,0,8,0,15,0,7,0,5,0 1,0,14,0,11,0,12,0,6,0,3,0 13,0,14,0,9,0,10,0,1,0,8,0 3,0,15,0,2,0,6,0,4,0,13,0 5,0,9,0,12,0,10,0,11,0,7,0 11,0,2,0,6,0,8,0,13,0,15,0 1,0,12,0,7,0,4,0,3,0,5,0 4,0,14,0,10,0,9,0,6,0,15,0 5,0,3,0,1,0,10,0,13,0,11,0 8,0,7,0,9,0,14,0,12,0,2,0 14,0,10,0,6,0,7,0,2,0,13,0 11,0,8,0,5,0,4,0,9,0,1,0 15,0,12,0,2,0,3,0,11,0,9,0 13,0,1,0,3,0,14,0,15,0,7,0 12,0,10,0,4,0,5,0,8,0,6,0 ================================================ FILE: schedules/15_9.csv ================================================ 12,0,8,0,6,0,7,0,3,0,2,0 10,0,14,0,4,0,11,0,5,0,9,0 15,0,6,0,13,0,11,0,2,0,1,0 3,0,15,0,5,0,4,0,14,0,13,0 7,0,12,0,9,0,8,0,10,0,1,0 5,0,7,1,2,0,10,1,15,0,12,0 11,0,6,1,1,0,3,0,9,0,4,0 14,0,8,0,2,0,13,0,5,0,10,0 3,0,1,0,7,0,9,0,15,0,14,0 6,0,4,0,11,0,12,0,13,0,8,0 8,0,3,0,15,0,13,0,10,0,11,0 5,0,4,0,7,0,2,0,9,0,6,0 1,0,12,0,15,0,6,0,14,0,5,0 4,0,11,0,12,0,1,0,7,0,14,0 10,0,3,0,9,0,2,0,13,0,8,0 5,0,12,0,10,0,13,0,7,0,3,0 15,0,2,0,14,0,4,0,1,0,8,0 9,0,8,0,5,0,6,0,11,0,15,0 9,0,1,0,13,0,12,0,2,0,4,0 14,0,11,0,3,0,7,0,6,0,10,0 8,0,7,0,11,0,1,0,5,0,3,0 14,0,13,0,12,0,10,0,9,0,6,0 2,0,10,0,6,0,15,0,4,0,7,0 ================================================ FILE: schedules/16_1.csv ================================================ 7,0,9,0,11,0,4,0,5,0,1,0 10,0,8,0,2,0,6,0,12,0,3,0 14,0,16,0,5,1,15,0,13,0,12,1 ================================================ FILE: schedules/16_10.csv ================================================ 11,0,14,0,13,0,1,0,2,0,16,0 12,0,7,0,9,0,6,0,10,0,8,0 5,0,3,0,6,0,4,0,15,0,10,0 13,0,8,0,3,0,9,0,16,0,14,0 15,0,7,0,1,0,4,0,5,0,11,0 14,0,12,0,4,0,7,0,9,0,2,0 10,0,5,1,13,0,6,0,1,0,15,1 8,0,11,0,2,0,3,0,12,0,16,0 7,0,6,0,11,0,8,0,13,0,12,0 10,0,9,0,3,0,14,0,1,0,4,0 2,0,15,0,9,0,16,0,5,0,8,0 10,0,16,0,7,0,2,0,4,0,13,0 6,0,5,0,15,0,11,0,14,0,12,0 1,0,13,0,5,0,3,0,14,0,8,0 16,0,4,0,6,0,15,0,3,0,12,0 10,0,2,0,7,0,1,0,9,0,11,0 9,0,6,0,12,0,2,0,3,0,1,0 8,0,7,0,14,0,11,0,15,0,10,0 13,0,16,0,9,0,5,0,4,0,7,0 3,0,11,0,16,0,12,0,10,0,5,0 8,0,4,0,15,0,13,0,2,0,6,0 1,0,12,0,10,0,15,0,16,0,14,0 4,0,1,0,11,0,9,0,8,0,5,0 14,0,6,0,2,0,7,0,13,0,3,0 5,0,8,0,1,0,16,0,6,0,7,0 3,0,9,0,4,0,13,0,11,0,15,0 12,0,2,0,15,0,14,0,10,0,5,0 ================================================ FILE: schedules/16_11.csv ================================================ 7,0,16,0,1,0,11,0,12,0,4,0 10,0,9,0,15,0,2,0,5,0,14,0 8,0,3,0,10,0,1,0,6,0,13,0 2,0,11,0,13,0,15,0,5,0,4,0 12,0,9,0,7,0,8,0,14,0,16,0 6,0,5,0,8,0,7,0,3,0,4,0 14,1,3,1,11,0,10,1,16,1,2,0 1,0,9,0,6,0,13,0,15,0,12,0 4,0,13,0,14,0,11,0,9,0,3,0 8,0,7,0,15,0,5,0,10,0,1,0 16,0,12,0,8,0,2,0,6,0,14,0 2,0,13,0,16,0,6,0,11,0,7,0 3,0,10,0,5,0,12,0,1,0,4,0 15,0,4,0,10,0,9,0,16,0,13,0 9,0,2,0,5,0,1,0,8,0,11,0 6,0,15,0,14,0,3,0,7,0,12,0 8,0,4,0,9,0,15,0,2,0,3,0 14,0,12,0,10,0,7,0,5,0,13,0 5,0,11,0,16,0,1,0,6,0,9,0 3,0,15,0,1,0,7,0,14,0,11,0 12,0,6,0,2,0,10,0,4,0,8,0 13,0,2,0,1,0,16,0,7,0,15,0 16,0,12,0,5,0,13,0,3,0,8,0 4,0,10,0,6,0,11,0,14,0,9,0 14,0,1,0,7,0,4,0,16,0,6,0 11,0,13,0,15,0,5,0,8,0,12,0 9,0,3,0,6,0,10,0,2,0,7,0 16,0,11,0,3,0,12,0,15,0,9,0 4,0,8,0,2,0,14,0,1,0,10,0 5,0,14,0,3,0,10,0,13,0,16,0 ================================================ FILE: schedules/16_12.csv ================================================ 15,0,6,0,3,0,10,0,13,0,14,0 2,0,1,0,5,0,12,0,9,0,7,0 4,0,11,0,3,0,8,0,16,0,6,0 12,0,15,0,4,0,11,0,2,0,9,0 14,0,16,0,1,0,5,0,8,0,10,0 9,0,13,0,8,0,14,0,2,0,7,0 7,0,3,0,4,0,13,0,5,0,11,0 10,0,1,0,6,0,16,0,12,0,15,0 13,0,6,0,10,0,11,0,5,0,8,0 3,0,12,0,14,0,4,0,9,0,16,0 2,0,7,0,8,0,1,0,15,0,16,0 10,0,13,0,3,0,1,0,12,0,2,0 4,0,5,0,14,0,6,0,11,0,7,0 9,0,1,0,7,0,11,0,10,0,15,0 5,0,3,0,16,0,4,0,2,0,15,0 12,0,9,0,13,0,8,0,14,0,6,0 7,0,15,0,5,0,3,0,1,0,14,0 2,0,16,0,13,0,12,0,6,0,11,0 8,0,10,0,12,0,9,0,4,0,3,0 7,0,2,0,15,0,8,0,4,0,10,0 11,0,9,0,1,0,16,0,13,0,5,0 14,0,11,0,1,0,6,0,4,0,2,0 8,0,15,0,6,0,5,0,3,0,9,0 16,0,10,0,7,0,13,0,14,0,12,0 10,0,12,0,2,0,7,0,6,0,5,0 15,0,14,0,9,0,1,0,4,0,13,0 16,0,11,0,12,0,3,0,8,0,1,0 14,0,8,0,11,0,2,0,5,0,10,0 6,0,16,0,4,0,9,0,7,0,13,0 15,0,7,0,11,0,3,0,14,0,16,0 6,0,10,0,9,0,1,0,3,0,2,0 5,0,8,0,12,0,15,0,13,0,4,0 ================================================ FILE: schedules/16_13.csv ================================================ 11,0,9,0,1,0,10,0,2,0,12,0 5,0,7,0,6,0,13,0,8,0,16,0 8,0,14,0,4,0,15,0,13,0,3,0 15,0,3,0,9,0,7,0,5,0,11,0 4,0,10,0,6,0,2,0,14,0,1,0 16,0,7,0,15,0,4,0,12,0,10,0 13,1,3,0,2,0,16,1,6,0,9,0 5,0,11,0,8,0,12,0,1,0,14,0 5,0,3,0,14,0,7,0,10,0,11,0 15,0,13,0,1,0,6,0,12,0,16,0 6,0,2,0,4,0,11,0,9,0,8,0 14,0,9,0,5,0,13,0,4,0,12,0 16,0,3,0,10,0,2,0,8,0,15,0 7,0,2,0,3,0,1,0,4,0,5,0 14,0,16,0,7,0,1,0,6,0,9,0 12,0,15,0,11,0,8,0,13,0,10,0 1,0,15,0,10,0,3,0,4,0,14,0 7,0,13,0,12,0,6,0,5,0,2,0 9,0,11,0,14,0,16,0,8,0,1,0 5,0,10,0,13,0,9,0,15,0,2,0 6,0,7,0,8,0,3,0,11,0,4,0 3,0,12,0,15,0,16,0,14,0,2,0 12,0,1,0,8,0,10,0,5,0,6,0 16,0,11,0,4,0,13,0,7,0,9,0 2,0,16,0,5,0,15,0,11,0,14,0 8,0,12,0,13,0,3,0,1,0,7,0 10,0,9,0,12,0,6,0,4,0,16,0 8,0,10,0,2,0,14,0,13,0,7,0 1,0,6,0,3,0,9,0,5,0,15,0 11,0,2,0,1,0,4,0,15,0,7,0 4,0,16,0,9,0,12,0,8,0,5,0 13,0,6,0,11,0,10,0,14,0,3,0 14,0,15,0,6,0,9,0,12,0,7,0 2,0,16,0,13,0,8,0,1,0,3,0 4,0,5,0,13,0,11,0,10,0,16,0 ================================================ FILE: schedules/16_14.csv ================================================ 11,0,7,0,1,0,4,0,10,0,9,0 2,0,15,0,5,0,14,0,6,0,16,0 4,0,13,0,12,0,3,0,7,0,8,0 12,0,9,0,16,0,3,0,15,0,1,0 11,0,2,0,10,0,13,0,5,0,6,0 12,0,8,0,6,0,14,0,1,0,13,0 5,1,16,1,2,0,14,1,4,0,7,1 15,0,11,0,9,0,3,0,8,0,10,0 5,0,4,0,14,0,10,0,3,0,13,0 7,0,9,0,6,0,2,0,15,0,8,0 12,0,3,0,11,0,16,0,1,0,2,0 4,0,6,0,10,0,12,0,15,0,7,0 13,0,14,0,16,0,9,0,1,0,11,0 8,0,1,0,4,0,15,0,10,0,5,0 8,0,13,0,9,0,2,0,7,0,16,0 6,0,11,0,12,0,3,0,14,0,5,0 15,0,14,0,3,0,11,0,4,0,8,0 5,0,9,0,7,0,1,0,12,0,6,0 13,0,2,0,3,0,10,0,16,0,12,0 6,0,10,0,7,0,16,0,11,0,14,0 1,0,2,0,5,0,4,0,15,0,13,0 8,0,16,0,15,0,9,0,5,0,12,0 1,0,8,0,14,0,10,0,13,0,11,0 9,0,6,0,3,0,7,0,4,0,2,0 7,0,9,0,3,0,1,0,5,0,14,0 8,0,12,0,2,0,6,0,11,0,4,0 15,0,10,0,14,0,16,0,7,0,13,0 16,0,10,0,1,0,2,0,6,0,3,0 5,0,13,0,11,0,9,0,12,0,15,0 4,0,16,0,1,0,5,0,6,0,8,0 13,0,7,0,15,0,11,0,3,0,8,0 14,0,12,0,10,0,9,0,2,0,4,0 10,0,8,0,5,0,14,0,2,0,9,0 1,0,3,0,4,0,6,0,13,0,15,0 16,0,11,0,10,0,7,0,5,0,12,0 2,0,14,0,7,0,12,0,1,0,15,0 13,0,16,0,4,0,6,0,9,0,11,0 3,0,5,0,16,0,8,0,14,0,7,0 ================================================ FILE: schedules/16_2.csv ================================================ 3,0,4,0,11,0,15,0,14,0,12,0 10,0,2,0,7,0,16,0,6,0,9,0 1,0,8,0,15,0,13,0,5,0,2,0 12,0,9,0,3,0,8,0,16,0,13,0 11,0,10,0,6,0,5,0,1,0,4,0 14,0,1,1,8,1,7,0,5,1,13,1 ================================================ FILE: schedules/16_3.csv ================================================ 2,0,6,0,10,0,7,0,11,0,3,0 8,0,16,0,1,0,13,0,15,0,4,0 12,0,5,0,16,0,9,0,14,0,6,0 5,0,13,0,9,0,4,0,7,0,2,0 14,0,12,0,11,0,3,0,1,0,15,0 8,0,4,0,14,0,10,0,12,0,7,0 6,0,8,0,15,0,1,0,2,0,9,0 16,0,3,0,13,0,11,0,10,0,5,0 ================================================ FILE: schedules/16_4.csv ================================================ 16,0,6,0,8,0,2,0,9,0,11,0 5,0,12,0,1,0,4,0,10,0,14,0 15,0,14,0,3,0,13,0,6,0,7,0 7,0,3,0,16,0,1,0,2,0,10,0 9,0,15,0,13,0,12,0,8,0,4,0 5,0,7,0,2,0,11,0,13,0,12,0 4,0,1,0,3,1,6,0,11,0,14,1 10,0,16,0,9,0,8,0,5,0,15,0 11,0,15,0,10,0,14,0,13,0,2,0 3,0,12,0,6,0,16,0,4,0,5,0 1,0,7,0,14,0,9,0,8,0,3,0 ================================================ FILE: schedules/16_5.csv ================================================ 3,0,12,0,8,0,13,0,6,0,15,0 10,0,16,0,7,0,1,0,5,0,2,0 7,0,9,0,11,0,14,0,4,0,10,0 6,0,9,0,5,0,13,0,14,0,2,0 8,0,15,0,11,0,12,0,1,0,4,0 4,0,16,0,5,0,3,0,10,0,6,0 11,1,3,1,1,0,13,1,12,1,9,0 2,0,8,0,16,0,15,0,7,0,14,0 4,0,11,0,13,0,6,0,2,0,7,0 9,0,14,0,3,0,16,0,15,0,12,0 10,0,1,0,9,0,5,0,13,0,8,0 15,0,5,0,10,0,11,0,12,0,6,0 2,0,3,0,4,0,1,0,8,0,14,0 7,0,13,0,12,0,16,0,11,0,3,0 ================================================ FILE: schedules/16_6.csv ================================================ 16,0,13,0,14,0,11,0,15,0,3,0 10,0,7,0,12,0,5,0,4,0,6,0 6,0,2,0,9,0,8,0,1,0,16,0 13,0,3,0,5,0,10,0,11,0,8,0 9,0,4,0,7,0,2,0,14,0,1,0 15,0,14,0,10,0,8,0,12,0,9,0 12,0,5,0,16,0,3,0,6,0,1,0 13,0,11,0,4,0,15,0,2,0,7,0 16,0,6,0,11,0,4,0,12,0,14,0 2,0,8,0,3,0,9,0,10,0,13,0 1,0,15,0,4,0,7,0,5,0,8,0 11,0,12,0,2,0,5,0,9,0,15,0 3,0,16,0,10,0,7,0,1,0,13,0 6,0,8,0,15,0,14,0,7,0,3,0 12,0,13,0,6,0,4,0,16,0,2,0 1,0,10,0,5,0,14,0,9,0,11,0 ================================================ FILE: schedules/16_7.csv ================================================ 8,0,11,0,4,0,9,0,12,0,15,0 5,0,3,0,7,0,1,0,14,0,16,0 6,0,9,0,13,0,10,0,2,0,3,0 16,0,4,0,7,0,6,0,12,0,10,0 14,0,5,0,13,0,8,0,15,0,2,0 10,0,8,0,1,0,11,0,14,0,6,0 5,1,16,0,2,0,15,1,13,0,4,0 12,0,1,0,7,0,3,0,9,0,11,0 1,0,2,0,11,0,15,0,16,0,6,0 7,0,10,0,14,0,13,0,8,0,12,0 3,0,4,0,6,0,9,0,5,0,8,0 13,0,11,0,10,0,4,0,1,0,5,0 12,0,3,0,16,0,2,0,9,0,14,0 1,0,15,0,9,0,7,0,6,0,8,0 5,0,12,0,11,0,2,0,7,0,13,0 14,0,15,0,3,0,16,0,10,0,4,0 16,0,8,0,9,0,15,0,5,0,10,0 4,0,14,0,12,0,3,0,13,0,1,0 2,0,6,0,5,0,11,0,7,0,15,0 ================================================ FILE: schedules/16_8.csv ================================================ 4,0,16,0,11,0,6,0,5,0,13,0 10,0,15,0,8,0,12,0,3,0,9,0 14,0,1,0,13,0,12,0,7,0,2,0 7,0,11,0,10,0,8,0,4,0,5,0 6,0,1,0,3,0,15,0,9,0,14,0 16,0,5,0,15,0,8,0,2,0,14,0 3,1,4,0,7,1,9,1,13,0,16,1 1,0,10,0,2,0,11,0,6,0,12,0 9,0,8,0,12,0,11,0,13,0,2,0 3,0,15,0,6,0,1,0,5,0,7,0 14,0,16,0,6,0,15,0,10,0,4,0 13,0,12,0,5,0,9,0,7,0,14,0 1,0,8,0,11,0,16,0,3,0,10,0 2,0,11,0,15,0,4,0,9,0,1,0 5,0,2,0,3,0,13,0,10,0,16,0 6,0,7,0,8,0,12,0,14,0,4,0 3,0,13,0,8,0,2,0,6,0,4,0 5,0,11,0,9,0,16,0,12,0,1,0 10,0,14,0,5,0,7,0,15,0,13,0 15,0,1,0,12,0,8,0,16,0,7,0 10,0,6,0,9,0,11,0,14,0,3,0 4,0,3,0,7,0,2,0,9,0,16,0 ================================================ FILE: schedules/16_9.csv ================================================ 12,0,2,0,7,0,5,0,8,0,16,0 1,0,10,0,11,0,14,0,3,0,6,0 15,0,13,0,1,0,3,0,9,0,4,0 11,0,9,0,5,0,2,0,7,0,4,0 14,0,12,0,8,0,10,0,6,0,13,0 4,0,1,0,16,0,11,0,15,0,6,0 12,0,10,0,5,0,15,0,16,0,14,0 13,0,9,0,7,0,2,0,8,0,3,0 2,0,13,0,14,0,3,0,1,0,12,0 6,0,15,0,9,0,10,0,16,0,7,0 5,0,4,0,2,0,8,0,11,0,13,0 6,0,5,0,3,0,4,0,15,0,10,0 8,0,1,0,14,0,9,0,12,0,16,0 11,0,4,0,12,0,7,0,3,0,10,0 16,0,11,0,13,0,14,0,5,0,9,0 8,0,7,0,15,0,6,0,2,0,1,0 1,0,2,0,9,0,12,0,5,0,15,0 7,0,14,0,3,0,4,0,6,0,8,0 13,0,16,0,3,0,10,0,11,0,2,0 14,0,4,0,10,0,9,0,8,0,1,0 7,0,11,0,6,0,13,0,12,0,15,0 16,0,6,0,12,0,5,0,13,0,4,0 9,0,10,0,8,0,1,0,7,0,5,0 16,0,15,0,2,0,3,0,14,0,11,0 ================================================ FILE: schedules/17_1.csv ================================================ 3,0,11,0,4,0,8,0,12,0,1,0 9,0,5,0,10,0,7,0,2,0,13,0 16,0,17,0,15,0,6,0,14,0,7,1 ================================================ FILE: schedules/17_10.csv ================================================ 9,0,3,0,13,0,7,0,10,0,14,0 2,0,5,0,4,0,16,0,12,0,8,0 9,0,1,0,6,0,15,0,11,0,17,0 11,0,1,0,12,0,2,0,14,0,3,0 17,0,7,0,4,0,15,0,16,0,5,0 6,0,13,0,11,0,8,0,1,0,10,0 8,1,3,0,17,1,2,1,9,0,7,1 14,0,4,0,16,0,13,0,15,0,12,0 10,0,5,0,13,0,2,0,6,0,4,0 5,0,17,0,3,0,10,0,11,0,16,0 8,0,9,0,15,0,12,0,6,0,14,0 1,0,14,0,2,0,7,0,4,0,15,0 9,0,10,0,8,0,1,0,16,0,5,0 13,0,3,0,7,0,17,0,12,0,6,0 11,0,16,0,9,0,3,0,4,0,1,0 6,0,8,0,5,0,14,0,13,0,17,0 15,0,12,0,2,0,7,0,11,0,10,0 2,0,17,0,10,0,4,0,9,0,14,0 11,0,3,0,12,0,5,0,7,0,8,0 16,0,15,0,3,0,1,0,6,0,13,0 10,0,5,0,17,0,13,0,16,0,2,0 6,0,15,0,1,0,12,0,7,0,9,0 14,0,8,0,7,0,4,0,11,0,13,0 14,0,15,0,11,0,5,0,2,0,9,0 4,0,12,0,10,0,3,0,17,0,1,0 7,0,6,0,16,0,8,0,2,0,11,0 12,0,14,0,5,0,3,0,10,0,6,0 8,0,13,0,4,0,17,0,9,0,15,0 1,0,2,0,7,0,16,0,8,0,17,0 ================================================ FILE: schedules/17_11.csv ================================================ 5,0,16,0,3,0,14,0,1,0,13,0 10,0,11,0,4,0,6,0,15,0,9,0 7,0,8,0,17,0,2,0,12,0,5,0 6,0,17,0,11,0,8,0,10,0,3,0 2,0,14,0,15,0,4,0,16,0,12,0 7,0,17,0,13,0,1,0,6,0,9,0 11,1,7,1,1,1,3,1,2,1,4,0 9,0,5,0,10,0,16,0,8,0,14,0 7,0,12,0,13,0,8,0,15,0,1,0 11,0,14,0,10,0,16,0,13,0,2,0 5,0,15,0,4,0,3,0,9,0,17,0 3,0,1,0,12,0,10,0,2,0,6,0 12,0,6,0,15,0,7,0,5,0,16,0 8,0,13,0,11,0,17,0,4,0,14,0 9,0,10,0,12,0,6,0,5,0,13,0 15,0,8,0,7,0,14,0,11,0,1,0 17,0,16,0,2,0,4,0,3,0,9,0 4,0,16,0,15,0,13,0,12,0,17,0 9,0,14,0,8,0,2,0,7,0,6,0 1,0,10,0,5,0,16,0,11,0,3,0 2,0,4,0,8,0,10,0,5,0,7,0 12,0,11,0,9,0,3,0,13,0,15,0 6,0,14,0,5,0,17,0,1,0,2,0 14,0,3,0,6,0,4,0,7,0,12,0 1,0,9,0,16,0,11,0,17,0,8,0 15,0,2,0,3,0,13,0,10,0,8,0 12,0,1,0,14,0,11,0,17,0,5,0 13,0,9,0,7,0,10,0,4,0,16,0 5,0,6,0,16,0,15,0,2,0,11,0 13,0,4,0,1,0,8,0,12,0,6,0 17,0,15,0,10,0,3,0,7,0,14,0 9,0,3,0,2,0,11,0,7,0,1,0 ================================================ FILE: schedules/17_12.csv ================================================ 14,0,15,0,5,0,16,0,1,0,11,0 3,0,17,0,12,0,10,0,4,0,7,0 2,0,9,0,13,0,8,0,6,0,12,0 3,0,5,0,6,0,8,0,14,0,4,0 16,0,7,0,17,0,9,0,2,0,15,0 1,0,4,0,10,0,17,0,13,0,11,0 11,0,5,0,1,0,9,0,3,0,8,0 12,0,10,0,15,0,14,0,6,0,2,0 3,0,11,0,13,0,7,0,2,0,16,0 7,0,15,0,4,0,17,0,9,0,14,0 16,0,1,0,13,0,10,0,12,0,5,0 8,0,14,0,16,0,6,0,7,0,1,0 2,0,6,0,11,0,4,0,9,0,13,0 10,0,8,0,5,0,15,0,17,0,3,0 12,0,8,0,1,0,17,0,14,0,2,0 11,0,3,0,15,0,10,0,6,0,16,0 4,0,12,0,9,0,7,0,13,0,5,0 3,0,7,0,14,0,5,0,13,0,2,0 4,0,1,0,17,0,8,0,15,0,6,0 9,0,16,0,12,0,11,0,10,0,14,0 4,0,12,0,6,0,1,0,3,0,11,0 17,0,8,0,10,0,5,0,7,0,9,0 13,0,2,0,6,0,16,0,15,0,17,0 2,0,4,0,16,0,9,0,8,0,10,0 13,0,3,0,12,0,15,0,1,0,7,0 5,0,11,0,4,0,14,0,12,0,2,0 13,0,14,0,8,0,11,0,17,0,9,0 6,0,10,0,7,0,5,0,16,0,1,0 15,0,2,0,1,0,3,0,5,0,4,0 6,0,17,0,9,0,12,0,16,0,3,0 7,0,11,0,8,0,15,0,13,0,10,0 14,0,16,0,15,0,13,0,4,0,8,0 1,0,9,0,14,0,2,0,10,0,3,0 6,0,5,0,17,0,12,0,11,0,7,0 ================================================ FILE: schedules/17_13.csv ================================================ 17,0,3,0,11,0,8,0,5,0,13,0 12,0,1,0,16,0,7,0,15,0,6,0 9,0,10,0,2,0,14,0,4,0,6,0 17,0,15,0,4,0,3,0,12,0,8,0 13,0,7,0,2,0,9,0,14,0,11,0 4,0,5,0,16,0,10,0,1,0,7,0 2,0,1,1,11,0,5,0,9,0,3,0 17,0,6,0,14,0,10,0,15,0,13,0 8,0,12,0,10,0,16,0,11,0,2,0 16,0,7,0,15,0,1,0,14,0,8,0 5,0,17,0,13,0,6,0,4,0,12,0 9,0,13,0,6,0,3,0,8,0,16,0 10,0,15,0,4,0,5,0,11,0,7,0 14,0,3,0,1,0,17,0,12,0,9,0 2,0,16,0,9,0,15,0,8,0,4,0 3,0,7,0,17,0,2,0,5,0,14,0 13,0,11,0,1,0,6,0,12,0,10,0 7,0,5,0,8,0,13,0,6,0,2,0 4,0,3,0,14,0,11,0,16,0,12,0 1,0,9,0,15,0,10,0,17,0,5,0 9,0,17,0,7,0,11,0,6,0,16,0 1,0,4,0,13,0,15,0,2,0,3,0 12,0,8,0,11,0,14,0,10,0,7,0 3,0,10,0,1,0,8,0,2,0,17,0 13,0,14,0,12,0,15,0,9,0,5,0 6,0,16,0,5,0,4,0,11,0,2,0 8,0,9,0,4,0,7,0,1,0,12,0 15,0,14,0,10,0,16,0,3,0,13,0 6,0,14,0,15,0,17,0,7,0,4,0 12,0,10,0,5,0,8,0,3,0,6,0 1,0,17,0,16,0,2,0,13,0,9,0 11,0,6,0,3,0,1,0,4,0,14,0 11,0,8,0,10,0,15,0,5,0,9,0 7,0,2,0,12,0,16,0,13,0,17,0 7,0,13,0,9,0,4,0,10,0,3,0 14,0,16,0,8,0,5,0,1,0,17,0 6,0,2,0,1,0,12,0,11,0,15,0 ================================================ FILE: schedules/17_14.csv ================================================ 17,0,6,0,3,0,14,0,5,0,7,0 11,0,13,0,15,0,4,0,12,0,1,0 10,0,8,0,2,0,16,0,17,0,9,0 4,0,16,0,7,0,13,0,8,0,1,0 10,0,3,0,11,0,12,0,6,0,5,0 15,0,2,0,3,0,4,0,9,0,14,0 12,1,1,0,5,0,8,0,9,1,2,0 6,0,13,0,15,0,11,0,7,0,17,0 14,0,16,0,8,0,11,0,10,0,7,0 2,0,13,0,16,0,15,0,14,0,17,0 9,0,12,0,10,0,6,0,1,0,3,0 5,0,7,0,6,0,4,0,2,0,11,0 8,0,10,0,14,0,4,0,12,0,17,0 3,0,16,0,5,0,13,0,9,0,1,0 15,0,5,0,12,0,2,0,16,0,13,0 9,0,10,0,7,0,11,0,1,0,14,0 17,0,6,0,8,0,3,0,4,0,15,0 6,0,4,0,13,0,1,0,10,0,16,0 11,0,9,0,7,0,15,0,12,0,17,0 14,0,8,0,1,0,2,0,3,0,5,0 3,0,9,0,4,0,7,0,17,0,2,0 5,0,15,0,8,0,13,0,6,0,10,0 12,0,11,0,4,0,16,0,14,0,3,0 5,0,7,0,9,0,16,0,15,0,10,0 13,0,2,0,14,0,6,0,11,0,8,0 1,0,17,0,2,0,12,0,6,0,16,0 1,0,15,0,9,0,8,0,11,0,4,0 17,0,12,0,14,0,10,0,5,0,13,0 3,0,14,0,6,0,7,0,8,0,15,0 2,0,1,0,11,0,10,0,17,0,3,0 16,0,7,0,12,0,5,0,4,0,9,0 13,0,4,0,10,0,5,0,11,0,2,0 12,0,3,0,8,0,17,0,7,0,13,0 6,0,14,0,15,0,1,0,9,0,16,0 8,0,5,0,17,0,15,0,1,0,11,0 9,0,2,0,6,0,14,0,13,0,12,0 10,0,16,0,4,0,7,0,3,0,13,0 7,0,15,0,1,0,12,0,2,0,10,0 17,0,5,0,4,0,9,0,14,0,6,0 16,0,11,0,12,0,3,0,8,0,9,0 ================================================ FILE: schedules/17_2.csv ================================================ 8,0,5,0,1,0,12,0,7,0,6,0 11,0,9,0,13,0,16,0,14,0,10,0 3,0,15,0,4,0,2,0,17,0,12,0 15,0,10,0,8,0,14,0,3,0,5,0 17,0,1,0,7,0,9,0,16,0,2,0 6,0,13,0,8,1,4,0,11,0,2,1 ================================================ FILE: schedules/17_3.csv ================================================ 2,0,7,0,1,0,16,0,10,0,8,0 13,0,9,0,3,0,11,0,14,0,4,0 5,0,12,0,15,0,3,0,6,0,17,0 5,0,11,0,9,0,12,0,16,0,2,0 14,0,13,0,7,0,15,0,1,0,6,0 6,0,4,0,10,0,17,0,8,0,11,0 8,0,2,0,14,0,12,0,17,0,13,0 9,0,15,0,4,0,10,0,1,0,5,0 7,0,17,1,16,0,14,1,3,0,4,1 ================================================ FILE: schedules/17_4.csv ================================================ 15,0,2,0,13,0,17,0,1,0,9,0 6,0,8,0,11,0,7,0,16,0,3,0 14,0,12,0,7,0,4,0,10,0,5,0 1,0,6,0,16,0,9,0,5,0,12,0 8,0,13,0,4,0,3,0,14,0,15,0 17,0,10,0,14,0,11,0,2,0,1,0 4,1,16,1,11,0,13,0,6,1,7,1 5,0,17,0,2,0,3,0,8,0,12,0 9,0,15,0,8,0,12,0,11,0,10,0 4,0,7,0,17,0,14,0,9,0,16,0 5,0,3,0,6,0,10,0,13,0,1,0 16,0,4,0,15,0,2,0,7,0,6,0 ================================================ FILE: schedules/17_5.csv ================================================ 15,0,3,0,12,0,10,0,8,0,14,0 9,0,16,0,7,0,17,0,11,0,2,0 1,0,5,0,13,0,4,0,9,0,6,0 14,0,2,0,5,0,11,0,7,0,15,0 10,0,17,0,4,0,8,0,12,0,6,0 13,0,12,0,16,0,1,0,3,0,11,0 9,1,14,1,17,1,6,1,10,1,16,0 15,0,4,0,1,0,7,0,13,0,3,0 11,0,6,0,5,0,8,0,2,0,3,0 5,0,15,0,8,0,16,0,17,0,1,0 2,0,10,0,9,0,14,0,13,0,4,0 7,0,1,0,2,0,12,0,5,0,10,0 12,0,7,0,17,0,13,0,9,0,8,0 16,0,4,0,11,0,6,0,15,0,14,0 3,0,6,0,10,0,9,0,14,0,17,0 ================================================ FILE: schedules/17_6.csv ================================================ 9,0,8,0,5,0,1,0,11,0,3,0 17,0,15,0,6,0,4,0,10,0,16,0 2,0,14,0,13,0,15,0,12,0,7,0 6,0,10,0,9,0,14,0,12,0,8,0 11,0,2,0,7,0,17,0,1,0,4,0 16,0,3,0,14,0,5,0,11,0,13,0 9,0,13,0,3,0,16,0,17,0,2,0 4,0,5,0,7,0,15,0,8,0,10,0 12,0,6,0,11,0,16,0,1,0,15,0 8,0,6,0,1,0,12,0,13,0,17,0 5,0,14,0,10,0,2,0,9,0,4,0 3,0,4,0,12,0,7,0,16,0,9,0 1,0,5,0,2,0,13,0,7,0,6,0 14,0,15,0,11,0,8,0,3,0,17,0 11,0,16,0,8,0,10,0,2,0,12,0 13,0,4,0,15,0,14,0,9,0,1,0 10,0,7,0,17,0,3,0,6,0,5,0 ================================================ FILE: schedules/17_7.csv ================================================ 11,0,7,0,8,0,5,0,15,0,1,0 12,0,14,0,17,0,9,0,16,0,10,0 6,0,4,0,2,0,3,0,13,0,15,0 10,0,13,0,17,0,1,0,8,0,9,0 4,0,3,0,16,0,12,0,7,0,5,0 2,0,14,0,1,0,11,0,6,0,5,0 2,1,12,0,13,0,17,0,15,0,8,0 3,0,10,0,11,0,14,0,7,0,6,0 7,0,4,0,9,0,16,0,14,0,13,0 5,0,16,0,17,0,15,0,2,0,11,0 6,0,8,0,3,0,10,0,1,0,4,0 9,0,17,0,6,0,12,0,11,0,16,0 8,0,10,0,12,0,13,0,5,0,4,0 14,0,9,0,15,0,7,0,1,0,3,0 2,0,5,0,10,0,9,0,12,0,3,0 1,0,13,0,11,0,16,0,6,0,15,0 4,0,8,0,14,0,2,0,17,0,7,0 15,0,10,0,7,0,8,0,2,0,16,0 5,0,3,0,14,0,17,0,11,0,4,0 6,0,1,0,12,0,13,0,9,0,2,0 ================================================ FILE: schedules/17_8.csv ================================================ 7,0,15,0,3,0,16,0,4,0,2,0 5,0,10,0,9,0,11,0,1,0,14,0 12,0,13,0,6,0,2,0,8,0,17,0 7,0,12,0,14,0,3,0,13,0,8,0 15,0,1,0,5,0,6,0,11,0,4,0 9,0,16,0,7,0,10,0,6,0,17,0 1,1,10,0,13,0,3,1,5,0,8,0 9,0,14,0,4,0,12,0,17,0,15,0 11,0,15,0,16,0,12,0,10,0,2,0 17,0,16,0,1,0,3,0,14,0,11,0 2,0,5,0,13,0,8,0,6,0,9,0 4,0,17,0,13,0,1,0,7,0,2,0 6,0,3,0,16,0,15,0,14,0,10,0 8,0,11,0,12,0,5,0,4,0,7,0 9,0,2,0,15,0,14,0,17,0,5,0 4,0,3,0,12,0,13,0,9,0,11,0 16,0,8,0,10,0,1,0,7,0,6,0 8,0,6,0,15,0,1,0,9,0,12,0 5,0,11,0,17,0,7,0,13,0,16,0 14,0,2,0,6,0,10,0,4,0,3,0 3,0,2,0,1,0,16,0,12,0,5,0 10,0,7,0,11,0,13,0,15,0,14,0 4,0,8,0,1,0,17,0,9,0,3,0 ================================================ FILE: schedules/17_9.csv ================================================ 10,0,9,0,17,0,2,0,15,0,14,0 11,0,6,0,1,0,5,0,7,0,8,0 12,0,4,0,6,0,13,0,16,0,3,0 12,0,8,0,13,0,17,0,10,0,16,0 3,0,7,0,2,0,4,0,1,0,5,0 14,0,9,0,6,0,11,0,15,0,7,0 17,1,13,0,1,0,12,1,14,0,11,0 8,0,3,0,5,1,9,0,16,0,15,0 4,0,10,0,7,0,12,0,2,0,17,0 3,0,4,0,14,0,2,0,6,0,10,0 8,0,1,0,15,0,5,0,9,0,13,0 16,0,1,0,7,0,3,0,11,0,10,0 5,0,14,0,13,0,9,0,2,0,12,0 16,0,6,0,15,0,17,0,11,0,4,0 17,0,8,0,11,0,9,0,3,0,4,0 14,0,10,0,8,0,6,0,13,0,5,0 7,0,12,0,16,0,15,0,2,0,1,0 15,0,4,0,3,0,1,0,14,0,8,0 10,0,5,0,12,0,7,0,11,0,9,0 2,0,13,0,16,0,6,0,17,0,3,0 7,0,17,0,14,0,8,0,16,0,4,0 11,0,5,0,2,0,13,0,15,0,10,0 1,0,10,0,9,0,6,0,12,0,17,0 16,0,5,0,11,0,4,0,8,0,2,0 14,0,12,0,9,0,13,0,7,0,6,0 15,0,17,0,5,0,1,0,3,0,12,0 ================================================ FILE: schedules/18_1.csv ================================================ 4,0,10,0,11,0,13,0,6,0,5,0 8,0,16,0,14,0,12,0,3,0,2,0 18,0,7,0,15,0,1,0,17,0,9,0 ================================================ FILE: schedules/18_10.csv ================================================ 8,0,2,0,10,0,18,0,9,0,14,0 5,0,15,0,3,0,6,0,4,0,11,0 1,0,13,0,7,0,12,0,17,0,16,0 14,0,15,0,6,0,5,0,9,0,2,0 8,0,11,0,17,0,12,0,7,0,10,0 18,0,1,0,4,0,3,0,16,0,13,0 17,0,2,0,14,0,11,0,15,0,7,0 13,0,4,0,5,0,16,0,8,0,9,0 10,0,1,0,3,0,18,0,12,0,6,0 4,0,16,0,9,0,5,0,7,0,17,0 3,0,6,0,8,0,14,0,12,0,1,0 13,0,11,0,18,0,10,0,2,0,15,0 6,0,9,0,7,0,14,0,3,0,17,0 8,0,12,0,13,0,2,0,4,0,15,0 16,0,1,0,11,0,5,0,10,0,18,0 8,0,4,0,14,0,17,0,13,0,6,0 2,0,3,0,7,0,11,0,1,0,5,0 9,0,12,0,15,0,16,0,10,0,18,0 6,0,1,0,2,0,11,0,4,0,7,0 5,0,16,0,12,0,14,0,10,0,13,0 18,0,17,0,15,0,9,0,8,0,3,0 2,0,11,0,12,0,6,0,16,0,4,0 10,0,13,0,15,0,9,0,17,0,1,0 7,0,3,0,18,0,5,0,14,0,8,0 17,0,4,0,10,0,15,0,16,0,2,0 9,0,12,0,13,0,14,0,11,0,3,0 7,0,8,0,18,0,5,0,1,0,6,0 9,0,10,0,11,0,12,0,4,0,3,0 6,0,5,0,17,0,18,0,2,0,13,0 14,0,16,0,7,0,15,0,8,0,1,0 ================================================ FILE: schedules/18_11.csv ================================================ 2,0,18,0,6,0,4,0,17,0,1,0 15,0,14,0,9,0,13,0,12,0,3,0 7,0,11,0,8,0,10,0,16,0,5,0 1,0,9,0,6,0,14,0,12,0,18,0 17,0,8,0,2,0,16,0,3,0,11,0 4,0,15,0,13,0,5,0,10,0,7,0 12,0,17,0,16,0,14,0,1,0,8,0 3,0,5,0,6,0,7,0,2,0,15,0 9,0,18,0,4,0,11,0,10,0,13,0 5,0,6,0,15,0,17,0,3,0,8,0 12,0,7,0,4,0,1,0,18,0,11,0 9,0,13,0,16,0,14,0,2,0,10,0 8,0,18,0,17,0,12,0,4,0,15,0 14,0,6,0,16,0,13,0,7,0,2,0 1,0,10,0,3,0,9,0,5,0,11,0 2,0,16,0,12,0,13,0,17,0,18,0 8,0,5,0,4,0,9,0,6,0,11,0 7,0,10,0,14,0,15,0,1,0,3,0 12,0,5,0,13,0,2,0,4,0,11,0 16,0,7,0,1,0,9,0,15,0,17,0 10,0,18,0,3,0,6,0,8,0,14,0 17,0,11,0,7,0,2,0,12,0,9,0 16,0,15,0,8,0,10,0,6,0,4,0 13,0,14,0,3,0,5,0,18,0,1,0 17,0,10,0,9,0,6,0,7,0,12,0 18,0,11,0,15,0,14,0,5,0,16,0 2,0,1,0,13,0,8,0,3,0,4,0 17,0,5,0,14,0,9,0,18,0,7,0 10,0,4,0,15,0,16,0,3,0,2,0 12,0,1,0,11,0,13,0,6,0,8,0 7,0,9,0,3,0,18,0,16,0,4,0 2,0,1,0,5,0,10,0,12,0,8,0 13,0,11,0,14,0,17,0,6,0,15,0 ================================================ FILE: schedules/18_12.csv ================================================ 18,0,15,0,13,0,14,0,11,0,9,0 4,0,12,0,8,0,16,0,5,0,10,0 2,0,1,0,7,0,17,0,6,0,3,0 8,0,16,0,18,0,10,0,13,0,9,0 1,0,3,0,7,0,14,0,6,0,12,0 2,0,17,0,11,0,15,0,5,0,4,0 12,0,16,0,1,0,18,0,8,0,7,0 9,0,6,0,11,0,14,0,2,0,10,0 15,0,4,0,17,0,5,0,13,0,3,0 11,0,18,0,2,0,16,0,8,0,6,0 3,0,10,0,17,0,15,0,13,0,1,0 9,0,4,0,14,0,7,0,5,0,12,0 6,0,2,0,10,0,1,0,8,0,17,0 7,0,15,0,9,0,13,0,16,0,5,0 11,0,3,0,14,0,18,0,4,0,12,0 6,0,10,0,15,0,17,0,16,0,9,0 7,0,11,0,5,0,14,0,3,0,8,0 12,0,13,0,4,0,2,0,18,0,1,0 11,0,15,0,5,0,16,0,6,0,7,0 8,0,12,0,10,0,14,0,13,0,17,0 18,0,3,0,9,0,2,0,1,0,4,0 13,0,8,0,11,0,17,0,7,0,12,0 4,0,16,0,3,0,14,0,6,0,9,0 2,0,18,0,5,0,15,0,10,0,1,0 8,0,6,0,17,0,11,0,4,0,9,0 14,0,5,0,1,0,2,0,16,0,13,0 7,0,18,0,10,0,12,0,15,0,3,0 1,0,13,0,6,0,8,0,9,0,5,0 4,0,14,0,7,0,18,0,15,0,17,0 2,0,12,0,3,0,11,0,16,0,10,0 6,0,5,0,17,0,13,0,14,0,18,0 4,0,16,0,10,0,7,0,1,0,11,0 3,0,9,0,12,0,2,0,8,0,15,0 13,0,10,0,7,0,4,0,18,0,6,0 5,0,1,0,9,0,12,0,11,0,17,0 16,0,15,0,14,0,3,0,2,0,8,0 ================================================ FILE: schedules/18_13.csv ================================================ 10,0,4,0,15,0,12,0,3,0,6,0 13,0,18,0,1,0,8,0,9,0,17,0 14,0,2,0,5,0,7,0,11,0,16,0 1,0,6,0,8,0,18,0,3,0,10,0 5,0,4,0,9,0,7,0,11,0,2,0 14,0,12,0,17,0,15,0,16,0,13,0 18,0,8,0,7,0,6,0,4,0,11,0 12,0,1,0,16,0,14,0,3,0,5,0 15,0,13,0,17,0,9,0,2,0,10,0 5,0,11,0,12,0,18,0,14,0,1,0 16,0,8,0,10,0,2,0,17,0,4,0 13,0,3,0,9,0,15,0,6,0,7,0 18,0,12,0,2,0,17,0,10,0,14,0 7,0,5,0,1,0,15,0,13,0,8,0 11,0,16,0,3,0,6,0,4,0,9,0 15,0,12,0,10,0,18,0,5,0,7,0 17,0,9,0,16,0,3,0,11,0,8,0 2,0,6,0,13,0,1,0,14,0,4,0 10,0,9,0,7,0,5,0,8,0,16,0 14,0,11,0,15,0,18,0,6,0,17,0 3,0,2,0,1,0,13,0,12,0,4,0 9,0,11,0,18,0,10,0,15,0,5,0 3,0,4,0,17,0,13,0,14,0,7,0 2,0,12,0,8,0,16,0,6,0,1,0 11,0,14,0,9,0,3,0,10,0,13,0 16,0,4,0,7,0,15,0,1,0,18,0 17,0,12,0,6,0,2,0,8,0,5,0 1,0,11,0,10,0,14,0,16,0,15,0 3,0,6,0,7,0,5,0,17,0,2,0 8,0,18,0,4,0,9,0,12,0,13,0 2,0,7,0,17,0,3,0,10,0,1,0 13,0,11,0,6,0,16,0,12,0,18,0 8,0,14,0,4,0,5,0,9,0,15,0 13,0,17,0,11,0,1,0,12,0,7,0 6,0,5,0,10,0,9,0,14,0,4,0 18,0,8,0,15,0,2,0,16,0,3,0 7,0,6,0,14,0,9,0,17,0,1,0 13,0,5,0,16,0,18,0,4,0,10,0 15,0,3,0,2,0,8,0,12,0,11,0 ================================================ FILE: schedules/18_14.csv ================================================ 12,0,3,0,13,0,1,0,4,0,11,0 7,0,18,0,14,0,2,0,16,0,5,0 9,0,15,0,8,0,10,0,17,0,6,0 11,0,13,0,7,0,1,0,18,0,2,0 14,0,5,0,4,0,6,0,9,0,15,0 3,0,8,0,17,0,12,0,10,0,16,0 7,0,15,0,14,0,6,0,13,0,1,0 3,0,5,0,17,0,11,0,8,0,2,0 18,0,10,0,16,0,12,0,9,0,4,0 3,0,5,0,15,0,17,0,13,0,14,0 9,0,16,0,11,0,4,0,8,0,7,0 12,0,2,0,6,0,10,0,1,0,18,0 7,0,13,0,15,0,16,0,4,0,17,0 14,0,2,0,12,0,5,0,8,0,10,0 9,0,11,0,1,0,18,0,3,0,6,0 17,0,2,0,4,0,14,0,8,0,16,0 5,0,12,0,18,0,1,0,15,0,3,0 13,0,11,0,6,0,7,0,9,0,10,0 1,0,18,0,3,0,4,0,17,0,14,0 8,0,5,0,10,0,7,0,11,0,6,0 16,0,2,0,15,0,13,0,12,0,9,0 18,0,7,0,4,0,10,0,14,0,3,0 17,0,11,0,12,0,13,0,5,0,9,0 1,0,6,0,2,0,16,0,15,0,8,0 18,0,17,0,9,0,7,0,3,0,5,0 2,0,10,0,8,0,4,0,15,0,1,0 11,0,14,0,6,0,12,0,13,0,16,0 10,0,4,0,9,0,2,0,18,0,5,0 7,0,1,0,16,0,8,0,13,0,3,0 6,0,15,0,17,0,12,0,14,0,11,0 13,0,1,0,8,0,5,0,9,0,18,0 6,0,4,0,12,0,7,0,2,0,17,0 10,0,15,0,14,0,3,0,11,0,16,0 4,0,13,0,18,0,17,0,8,0,6,0 10,0,5,0,11,0,14,0,16,0,1,0 2,0,9,0,3,0,7,0,15,0,12,0 16,0,4,0,6,0,1,0,5,0,17,0 14,0,9,0,3,0,2,0,13,0,10,0 8,0,7,0,18,0,15,0,12,0,11,0 5,0,6,0,13,0,4,0,3,0,2,0 16,0,10,0,17,0,18,0,11,0,15,0 12,0,1,0,8,0,14,0,9,0,7,0 ================================================ FILE: schedules/18_2.csv ================================================ 13,0,14,0,6,0,1,0,15,0,8,0 9,0,16,0,2,0,4,0,18,0,3,0 11,0,17,0,10,0,5,0,12,0,7,0 16,0,6,0,1,0,4,0,14,0,2,0 12,0,8,0,13,0,11,0,9,0,7,0 3,0,10,0,5,0,17,0,18,0,15,0 ================================================ FILE: schedules/18_3.csv ================================================ 13,0,8,0,16,0,1,0,14,0,9,0 4,0,6,0,12,0,10,0,18,0,5,0 3,0,7,0,2,0,17,0,11,0,15,0 18,0,13,0,9,0,5,0,6,0,8,0 2,0,4,0,17,0,11,0,16,0,12,0 10,0,7,0,1,0,14,0,15,0,3,0 6,0,11,0,13,0,2,0,16,0,18,0 14,0,5,0,4,0,1,0,17,0,3,0 10,0,12,0,15,0,7,0,8,0,9,0 ================================================ FILE: schedules/18_4.csv ================================================ 13,0,3,0,15,0,11,0,10,0,18,0 1,0,8,0,6,0,12,0,7,0,4,0 9,0,5,0,2,0,14,0,17,0,16,0 1,0,10,0,15,0,13,0,7,0,6,0 12,0,16,0,2,0,11,0,9,0,3,0 4,0,17,0,8,0,5,0,18,0,14,0 7,0,1,0,9,0,2,0,10,0,3,0 18,0,16,0,15,0,8,0,5,0,12,0 13,0,17,0,11,0,6,0,14,0,4,0 18,0,2,0,1,0,15,0,9,0,8,0 14,0,11,0,12,0,17,0,10,0,7,0 5,0,4,0,13,0,16,0,6,0,3,0 ================================================ FILE: schedules/18_5.csv ================================================ 17,0,7,0,5,0,12,0,15,0,11,0 1,0,16,0,3,0,14,0,10,0,18,0 4,0,9,0,13,0,6,0,8,0,2,0 10,0,1,0,11,0,15,0,7,0,3,0 18,0,17,0,2,0,13,0,8,0,5,0 4,0,6,0,12,0,9,0,14,0,16,0 11,0,2,0,7,0,18,0,13,0,1,0 15,0,5,0,9,0,3,0,4,0,14,0 8,0,17,0,12,0,6,0,10,0,16,0 14,0,7,0,13,0,5,0,1,0,4,0 6,0,9,0,18,0,15,0,17,0,10,0 11,0,3,0,8,0,16,0,12,0,2,0 6,0,17,0,14,0,18,0,4,0,7,0 2,0,9,0,10,0,16,0,5,0,11,0 8,0,15,0,1,0,3,0,13,0,12,0 ================================================ FILE: schedules/18_6.csv ================================================ 11,0,5,0,1,0,9,0,15,0,12,0 10,0,6,0,17,0,2,0,3,0,7,0 4,0,8,0,14,0,18,0,16,0,13,0 15,0,17,0,3,0,2,0,11,0,12,0 8,0,16,0,1,0,4,0,10,0,5,0 7,0,14,0,18,0,13,0,9,0,6,0 16,0,15,0,4,0,12,0,3,0,1,0 11,0,13,0,7,0,5,0,6,0,8,0 9,0,18,0,10,0,17,0,2,0,14,0 13,0,4,0,1,0,6,0,15,0,7,0 17,0,18,0,12,0,10,0,16,0,11,0 2,0,9,0,8,0,5,0,14,0,3,0 7,0,4,0,17,0,18,0,11,0,15,0 13,0,2,0,5,0,3,0,16,0,9,0 8,0,12,0,10,0,1,0,14,0,6,0 9,0,7,0,5,0,2,0,4,0,18,0 6,0,3,0,11,0,14,0,12,0,16,0 1,0,10,0,15,0,17,0,13,0,8,0 ================================================ FILE: schedules/18_7.csv ================================================ 8,0,12,0,17,0,4,0,14,0,7,0 18,0,15,0,2,0,11,0,5,0,10,0 9,0,3,0,1,0,6,0,13,0,16,0 14,0,5,0,2,0,17,0,4,0,11,0 9,0,16,0,15,0,7,0,13,0,8,0 6,0,18,0,3,0,1,0,10,0,12,0 13,0,15,0,17,0,2,0,11,0,8,0 6,0,7,0,1,0,10,0,18,0,14,0 9,0,12,0,4,0,5,0,16,0,3,0 14,0,8,0,1,0,15,0,10,0,11,0 16,0,12,0,4,0,9,0,2,0,6,0 17,0,5,0,7,0,3,0,13,0,18,0 2,0,16,0,10,0,4,0,15,0,1,0 11,0,9,0,13,0,7,0,18,0,12,0 17,0,3,0,14,0,6,0,8,0,5,0 7,0,10,0,9,0,2,0,13,0,12,0 5,0,4,0,18,0,15,0,3,0,8,0 6,0,14,0,11,0,17,0,16,0,1,0 2,0,3,0,4,0,8,0,9,0,18,0 16,0,11,0,7,0,17,0,6,0,10,0 13,0,5,0,1,0,14,0,15,0,12,0 ================================================ FILE: schedules/18_8.csv ================================================ 6,0,9,0,13,0,7,0,18,0,2,0 12,0,16,0,17,0,11,0,15,0,1,0 5,0,14,0,8,0,10,0,3,0,4,0 11,0,17,0,18,0,15,0,9,0,7,0 2,0,3,0,12,0,5,0,6,0,16,0 1,0,4,0,8,0,13,0,10,0,14,0 3,0,15,0,5,0,2,0,6,0,11,0 9,0,17,0,14,0,16,0,8,0,18,0 10,0,7,0,1,0,4,0,13,0,12,0 9,0,5,0,8,0,16,0,15,0,14,0 1,0,18,0,12,0,6,0,7,0,4,0 11,0,13,0,3,0,2,0,10,0,17,0 9,0,18,0,4,0,12,0,6,0,14,0 3,0,7,0,16,0,11,0,10,0,8,0 5,0,1,0,2,0,15,0,17,0,13,0 3,0,6,0,8,0,11,0,12,0,9,0 2,0,14,0,4,0,7,0,5,0,17,0 15,0,18,0,10,0,1,0,13,0,16,0 8,0,7,0,12,0,4,0,5,0,11,0 2,0,15,0,13,0,3,0,14,0,18,0 10,0,16,0,9,0,6,0,1,0,17,0 7,0,11,0,14,0,13,0,18,0,5,0 16,0,4,0,15,0,9,0,3,0,1,0 12,0,10,0,6,0,2,0,17,0,8,0 ================================================ FILE: schedules/18_9.csv ================================================ 18,0,14,0,15,0,7,0,17,0,6,0 3,0,10,0,4,0,11,0,13,0,9,0 5,0,1,0,16,0,2,0,12,0,8,0 13,0,14,0,7,0,11,0,4,0,18,0 12,0,3,0,17,0,1,0,2,0,9,0 10,0,15,0,16,0,8,0,6,0,5,0 2,0,18,0,17,0,7,0,11,0,12,0 6,0,9,0,10,0,1,0,4,0,16,0 3,0,8,0,14,0,13,0,15,0,5,0 16,0,2,0,6,0,17,0,4,0,11,0 18,0,5,0,9,0,1,0,13,0,8,0 15,0,12,0,3,0,14,0,10,0,7,0 11,0,6,0,1,0,16,0,13,0,17,0 14,0,4,0,12,0,8,0,18,0,3,0 5,0,10,0,2,0,7,0,9,0,15,0 11,0,17,0,8,0,1,0,3,0,6,0 15,0,7,0,2,0,9,0,16,0,14,0 13,0,18,0,4,0,12,0,5,0,10,0 6,0,14,0,11,0,2,0,3,0,9,0 8,0,13,0,10,0,18,0,16,0,12,0 7,0,4,0,5,0,17,0,15,0,1,0 14,0,2,0,13,0,8,0,10,0,16,0 7,0,18,0,1,0,5,0,3,0,11,0 12,0,9,0,17,0,15,0,6,0,4,0 7,0,3,0,16,0,1,0,18,0,10,0 8,0,4,0,9,0,14,0,17,0,5,0 11,0,2,0,15,0,12,0,13,0,6,0 ================================================ FILE: schedules/19_1.csv ================================================ 7,0,17,0,13,0,16,0,11,0,3,0 8,0,10,0,12,0,5,0,19,0,1,0 18,0,14,0,6,0,4,0,15,0,9,0 2,0,11,1,8,1,3,1,10,1,16,1 ================================================ FILE: schedules/19_10.csv ================================================ 12,0,2,0,8,0,14,0,11,0,17,0 15,0,1,0,19,0,10,0,9,0,6,0 3,0,7,0,4,0,16,0,18,0,5,0 13,0,1,0,12,0,9,0,19,0,2,0 3,0,10,0,17,0,8,0,15,0,16,0 18,0,14,0,6,0,13,0,4,0,7,0 11,0,10,0,16,0,5,0,1,0,12,0 13,1,8,0,4,0,17,1,6,0,2,0 14,0,9,0,15,0,19,0,7,0,5,0 3,0,11,0,1,0,18,0,2,0,13,0 8,0,16,0,19,0,4,0,12,0,14,0 9,0,5,0,11,0,7,0,17,0,10,0 6,0,15,0,12,0,18,0,3,0,8,0 10,0,5,0,2,0,14,0,19,0,4,0 9,0,16,0,13,0,15,0,18,0,11,0 7,0,1,0,6,0,17,0,3,0,2,0 8,0,5,0,14,0,10,0,13,0,15,0 18,0,1,0,17,0,12,0,7,0,19,0 3,0,6,0,16,0,11,0,9,0,4,0 2,0,19,0,18,0,5,0,15,0,17,0 9,0,12,0,3,0,4,0,1,0,10,0 7,0,16,0,14,0,11,0,13,0,6,0 15,0,17,0,4,0,8,0,1,0,9,0 18,0,12,0,10,0,13,0,14,0,16,0 7,0,11,0,8,0,6,0,3,0,19,0 5,0,4,0,18,0,2,0,1,0,14,0 19,0,13,0,10,0,8,0,6,0,17,0 2,0,7,0,15,0,16,0,12,0,11,0 5,0,9,0,17,0,3,0,13,0,14,0 18,0,11,0,7,0,10,0,1,0,8,0 16,0,2,0,4,0,15,0,9,0,3,0 6,0,5,0,13,0,12,0,19,0,17,0 ================================================ FILE: schedules/19_11.csv ================================================ 12,0,4,0,16,0,18,0,8,0,14,0 1,0,2,0,10,0,7,0,17,0,9,0 3,0,11,0,15,0,19,0,5,0,13,0 6,0,8,0,9,0,17,0,14,0,4,0 2,0,3,0,18,0,1,0,15,0,19,0 13,0,16,0,12,0,7,0,6,0,10,0 5,0,17,0,8,0,11,0,18,0,4,0 16,1,9,0,13,0,14,0,12,0,2,0 11,0,5,0,6,0,3,0,7,0,19,0 10,0,14,0,8,0,15,0,1,0,9,0 18,0,19,0,4,0,2,0,13,0,7,0 1,0,11,0,12,0,17,0,5,0,15,0 10,0,16,0,19,0,6,0,3,0,4,0 7,0,1,0,17,0,11,0,2,0,8,0 15,0,12,0,5,0,9,0,3,0,16,0 14,0,6,0,2,0,18,0,13,0,10,0 19,0,12,0,7,0,9,0,8,0,4,0 5,0,6,0,3,0,13,0,14,0,1,0 18,0,16,0,15,0,11,0,17,0,10,0 8,0,7,0,19,0,3,0,12,0,14,0 10,0,1,0,4,0,2,0,15,0,13,0 5,0,9,0,18,0,17,0,6,0,16,0 11,0,14,0,7,0,10,0,3,0,1,0 18,0,6,0,13,0,15,0,12,0,8,0 16,0,11,0,4,0,9,0,2,0,19,0 5,0,10,0,7,0,17,0,12,0,18,0 13,0,1,0,8,0,11,0,16,0,19,0 14,0,15,0,6,0,4,0,5,0,2,0 3,0,17,0,13,0,9,0,10,0,12,0 7,0,4,0,15,0,5,0,16,0,14,0 17,0,11,0,2,0,6,0,3,0,8,0 9,0,19,0,14,0,18,0,1,0,5,0 10,0,3,0,15,0,8,0,16,0,2,0 19,0,4,0,17,0,1,0,12,0,6,0 13,0,9,0,11,0,18,0,7,0,16,0 ================================================ FILE: schedules/19_12.csv ================================================ 13,0,15,0,3,0,1,0,4,0,10,0 16,0,7,0,17,0,14,0,12,0,18,0 11,0,8,0,5,0,6,0,9,0,2,0 17,0,14,0,18,0,19,0,10,0,13,0 8,0,2,0,6,0,7,0,15,0,11,0 9,0,3,0,19,0,5,0,12,0,16,0 4,0,10,0,18,0,1,0,11,0,6,0 5,0,2,0,13,0,8,0,12,0,17,0 3,0,14,0,7,0,15,0,1,0,9,0 19,0,4,0,12,0,16,0,6,0,5,0 14,0,13,0,9,0,8,0,10,0,15,0 18,0,11,0,19,0,4,0,2,0,3,0 1,0,17,0,5,0,7,0,16,0,8,0 6,0,4,0,12,0,11,0,9,0,10,0 14,0,2,0,17,0,1,0,18,0,3,0 15,0,19,0,16,0,7,0,13,0,8,0 9,0,10,0,11,0,17,0,3,0,5,0 4,0,15,0,16,0,12,0,14,0,2,0 1,0,18,0,6,0,13,0,19,0,7,0 8,0,3,0,9,0,11,0,14,0,16,0 2,0,18,0,15,0,5,0,19,0,17,0 1,0,12,0,7,0,13,0,6,0,4,0 10,0,14,0,16,0,19,0,2,0,11,0 13,0,6,0,17,0,8,0,3,0,4,0 9,0,12,0,5,0,18,0,10,0,7,0 1,0,13,0,16,0,15,0,17,0,11,0 14,0,4,0,8,0,5,0,18,0,2,0 7,0,6,0,15,0,12,0,3,0,10,0 1,0,19,0,14,0,9,0,17,0,4,0 15,0,10,0,5,0,13,0,11,0,12,0 1,0,2,0,7,0,18,0,16,0,9,0 6,0,3,0,10,0,19,0,8,0,17,0 4,0,13,0,11,0,7,0,5,0,14,0 15,0,2,0,16,0,6,0,19,0,9,0 3,0,12,0,11,0,1,0,8,0,18,0 17,0,2,0,10,0,4,0,7,0,9,0 13,0,18,0,6,0,5,0,16,0,3,0 8,0,19,0,1,0,15,0,14,0,12,0 ================================================ FILE: schedules/19_13.csv ================================================ 19,0,9,0,4,0,18,0,10,0,5,0 13,0,12,0,3,0,14,0,7,0,1,0 2,0,15,0,6,0,17,0,8,0,11,0 16,0,1,0,9,0,18,0,13,0,7,0 15,0,5,0,8,0,3,0,2,0,4,0 6,0,10,0,17,0,14,0,11,0,12,0 16,0,15,0,4,0,19,0,1,0,8,0 14,1,2,1,3,1,18,1,9,1,17,0 10,0,16,0,13,0,5,0,12,0,6,0 7,0,9,0,17,0,11,0,19,0,15,0 8,0,12,0,14,0,1,0,18,0,4,0 7,0,5,0,16,0,13,0,19,0,2,0 6,0,11,0,18,0,10,0,3,0,1,0 4,0,14,0,8,0,5,0,17,0,13,0 6,0,19,0,3,0,2,0,7,0,10,0 11,0,9,0,4,0,12,0,16,0,15,0 5,0,17,0,18,0,6,0,7,0,3,0 9,0,13,0,12,0,8,0,15,0,10,0 11,0,14,0,1,0,2,0,19,0,16,0 4,0,10,0,12,0,15,0,3,0,7,0 1,0,17,0,2,0,5,0,13,0,11,0 19,0,14,0,16,0,6,0,8,0,9,0 18,0,15,0,11,0,13,0,5,0,1,0 8,0,16,0,10,0,17,0,3,0,9,0 18,0,2,0,19,0,4,0,12,0,6,0 7,0,11,0,10,0,14,0,5,0,8,0 2,0,17,0,12,0,16,0,3,0,18,0 15,0,13,0,4,0,6,0,19,0,14,0 9,0,7,0,8,0,1,0,18,0,2,0 11,0,10,0,3,0,13,0,14,0,4,0 5,0,15,0,12,0,16,0,6,0,7,0 17,0,1,0,14,0,19,0,9,0,10,0 3,0,18,0,8,0,7,0,16,0,11,0 17,0,5,0,19,0,1,0,15,0,12,0 4,0,6,0,13,0,2,0,9,0,11,0 10,0,14,0,18,0,16,0,15,0,17,0 12,0,19,0,7,0,2,0,8,0,13,0 3,0,6,0,1,0,9,0,5,0,4,0 11,0,8,0,13,0,19,0,18,0,10,0 2,0,5,0,3,0,15,0,9,0,14,0 1,0,6,0,16,0,17,0,4,0,7,0 14,0,2,0,3,0,12,0,18,0,9,0 ================================================ FILE: schedules/19_14.csv ================================================ 6,0,10,0,11,0,4,0,12,0,1,0 8,0,13,0,19,0,18,0,2,0,7,0 3,0,17,0,14,0,5,0,16,0,9,0 15,0,12,0,10,0,11,0,2,0,1,0 17,0,6,0,18,0,7,0,16,0,19,0 15,0,8,0,9,0,4,0,13,0,14,0 5,0,11,0,16,0,3,0,19,0,10,0 7,1,4,1,9,0,2,1,18,1,12,0 6,0,3,0,13,0,17,0,8,0,14,0 5,0,18,0,4,0,1,0,15,0,16,0 17,0,7,0,10,0,14,0,11,0,9,0 6,0,13,0,5,0,1,0,19,0,12,0 8,0,2,0,10,0,3,0,15,0,18,0 1,0,5,0,17,0,7,0,13,0,12,0 16,0,2,0,3,0,14,0,6,0,15,0 8,0,4,0,11,0,9,0,19,0,5,0 18,0,15,0,14,0,13,0,17,0,1,0 2,0,10,0,9,0,6,0,16,0,8,0 19,0,12,0,11,0,3,0,4,0,7,0 15,0,13,0,9,0,10,0,18,0,16,0 14,0,2,0,19,0,7,0,5,0,12,0 8,0,1,0,3,0,4,0,17,0,11,0 6,0,7,0,9,0,15,0,5,0,13,0 4,0,2,0,19,0,10,0,14,0,1,0 17,0,16,0,8,0,6,0,11,0,12,0 18,0,19,0,13,0,3,0,9,0,4,0 5,0,1,0,8,0,7,0,2,0,16,0 3,0,12,0,17,0,18,0,6,0,10,0 14,0,11,0,7,0,15,0,19,0,16,0 12,0,1,0,9,0,8,0,3,0,5,0 11,0,18,0,14,0,2,0,6,0,13,0 17,0,15,0,7,0,10,0,4,0,3,0 1,0,8,0,18,0,6,0,11,0,19,0 16,0,14,0,12,0,4,0,5,0,15,0 10,0,13,0,9,0,2,0,17,0,1,0 18,0,12,0,3,0,8,0,14,0,7,0 2,0,16,0,4,0,17,0,13,0,11,0 19,0,9,0,5,0,10,0,15,0,6,0 13,0,1,0,7,0,11,0,3,0,16,0 14,0,5,0,10,0,18,0,8,0,4,0 12,0,2,0,15,0,19,0,9,0,17,0 6,0,1,0,4,0,7,0,3,0,14,0 15,0,11,0,17,0,18,0,2,0,5,0 19,0,13,0,16,0,10,0,12,0,8,0 6,0,7,0,4,0,9,0,2,0,18,0 ================================================ FILE: schedules/19_2.csv ================================================ 6,0,12,0,11,0,3,0,18,0,15,0 5,0,13,0,16,0,17,0,4,0,19,0 14,0,9,0,8,0,1,0,2,0,7,0 18,0,11,0,19,0,10,0,6,0,4,0 17,0,5,0,15,0,14,0,3,0,7,0 13,0,10,0,8,0,12,0,16,0,9,0 1,0,18,1,3,1,2,0,17,1,11,1 ================================================ FILE: schedules/19_3.csv ================================================ 1,0,11,0,9,0,13,0,5,0,16,0 6,0,17,0,19,0,14,0,3,0,15,0 4,0,7,0,18,0,12,0,10,0,2,0 17,0,15,0,16,0,8,0,9,0,5,0 13,1,14,0,10,0,12,1,4,0,11,0 3,1,8,0,1,0,6,0,2,0,7,0 18,0,16,0,9,0,19,0,14,0,12,0 11,0,13,0,2,0,17,0,3,0,7,0 8,0,19,0,15,0,4,0,1,0,10,0 5,0,18,0,12,0,6,0,13,0,3,0 ================================================ FILE: schedules/19_4.csv ================================================ 4,0,1,0,18,0,12,0,14,0,13,0 16,0,15,0,10,0,9,0,2,0,11,0 19,0,3,0,8,0,7,0,17,0,6,0 5,0,2,0,14,0,1,0,9,0,12,0 11,0,10,0,8,0,18,0,13,0,7,0 4,0,16,0,19,0,5,0,3,0,15,0 6,0,13,0,9,0,17,0,12,0,11,0 8,1,18,0,2,0,7,1,3,0,4,0 17,0,19,0,15,0,10,0,1,0,14,0 5,0,6,0,18,0,16,0,7,0,2,0 9,0,4,0,8,0,11,0,19,0,1,0 3,0,6,0,14,0,5,0,13,0,10,0 15,0,12,0,7,0,16,0,17,0,8,0 ================================================ FILE: schedules/19_5.csv ================================================ 18,0,5,0,9,0,17,0,13,0,4,0 7,0,16,0,11,0,19,0,8,0,10,0 6,0,12,0,14,0,1,0,3,0,15,0 2,0,17,0,8,0,13,0,19,0,5,0 16,0,3,0,14,0,7,0,9,0,4,0 1,0,2,0,6,0,10,0,11,0,18,0 12,0,16,0,19,0,15,0,14,0,13,0 10,0,1,0,9,0,3,1,18,0,8,0 7,0,6,0,15,0,2,0,5,0,4,0 17,0,3,0,10,0,12,0,11,0,13,0 1,0,4,0,19,0,16,0,6,0,9,0 11,0,5,0,8,0,12,0,15,0,18,0 2,0,7,0,13,0,14,0,17,0,1,0 15,0,10,0,5,0,19,0,3,0,9,0 4,0,8,0,14,0,11,0,6,0,17,0 16,0,2,0,18,0,7,0,12,0,3,0 ================================================ FILE: schedules/19_6.csv ================================================ 9,0,11,0,12,0,1,0,3,0,6,0 16,0,18,0,7,0,2,0,14,0,4,0 8,0,13,0,19,0,10,0,15,0,5,0 7,0,12,0,4,0,17,0,9,0,18,0 3,0,10,0,14,0,1,0,15,0,2,0 5,0,17,0,11,0,6,0,19,0,16,0 8,0,18,0,10,0,13,0,12,0,14,0 2,0,11,0,6,0,3,0,7,0,5,0 17,0,15,0,8,0,9,0,1,0,16,0 13,0,4,0,18,0,19,0,11,0,3,0 1,0,5,0,14,0,8,0,7,0,9,0 16,0,4,0,10,0,6,0,12,0,15,0 19,0,17,0,1,0,13,0,2,0,7,0 12,0,8,0,5,0,11,0,4,0,15,0 9,0,14,0,6,0,18,0,2,0,19,0 3,0,16,0,15,0,10,0,13,0,17,0 6,0,5,0,18,0,4,0,1,0,8,0 19,0,7,0,14,0,17,0,3,0,12,0 2,0,10,0,9,0,13,0,11,0,16,0 ================================================ FILE: schedules/19_7.csv ================================================ 2,0,6,0,17,0,3,0,10,0,1,0 12,0,7,0,19,0,8,0,16,0,14,0 4,0,13,0,11,0,5,0,9,0,15,0 18,0,17,0,8,0,14,0,7,0,3,0 6,0,19,0,13,0,5,0,11,0,1,0 2,0,15,0,12,0,4,0,18,0,16,0 10,0,5,0,8,0,9,0,14,0,17,0 12,1,13,1,16,0,19,1,2,1,3,1 7,0,9,0,4,0,10,0,6,0,18,0 15,0,1,0,3,0,11,0,8,0,12,0 9,0,16,0,19,0,5,0,7,0,17,0 1,0,13,0,14,0,15,0,6,0,4,0 10,0,2,0,16,0,18,0,11,0,7,0 13,0,17,0,3,0,4,0,1,0,19,0 5,0,2,0,18,0,12,0,6,0,9,0 11,0,10,0,14,0,8,0,15,0,19,0 12,0,17,0,1,0,9,0,13,0,18,0 7,0,10,0,15,0,2,0,5,0,14,0 8,0,4,0,3,0,6,0,16,0,11,0 19,0,18,0,14,0,7,0,13,0,2,0 9,0,3,0,11,0,12,0,10,0,4,0 8,0,6,0,1,0,15,0,16,0,17,0 5,0,12,0,13,0,19,0,2,0,3,0 ================================================ FILE: schedules/19_8.csv ================================================ 17,0,3,0,14,0,13,0,12,0,11,0 8,0,9,0,16,0,19,0,1,0,18,0 10,0,15,0,2,0,5,0,7,0,6,0 18,0,12,0,9,0,4,0,13,0,8,0 2,0,3,0,16,0,17,0,7,0,15,0 1,0,4,0,10,0,14,0,5,0,19,0 11,0,18,0,3,0,6,0,9,0,15,0 17,1,1,1,13,0,5,1,7,1,10,0 19,0,8,0,6,0,14,0,12,0,2,0 4,0,11,0,5,0,16,0,13,0,7,0 14,0,15,0,1,0,9,0,3,0,19,0 16,0,12,0,6,0,10,0,18,0,17,0 2,0,11,0,1,0,8,0,4,0,3,0 5,0,18,0,13,0,19,0,15,0,12,0 10,0,14,0,6,0,2,0,17,0,8,0 9,0,7,0,4,0,11,0,16,0,19,0 12,0,8,0,5,0,1,0,6,0,17,0 2,0,7,0,18,0,9,0,10,0,11,0 15,0,13,0,3,0,16,0,4,0,14,0 17,0,6,0,11,0,1,0,9,0,5,0 14,0,7,0,8,0,16,0,18,0,15,0 4,0,2,0,19,0,10,0,3,0,12,0 16,0,17,0,5,0,13,0,9,0,14,0 7,0,1,0,3,0,18,0,6,0,4,0 10,0,13,0,19,0,11,0,15,0,8,0 12,0,17,0,1,0,2,0,5,0,7,0 ================================================ FILE: schedules/19_9.csv ================================================ 3,0,5,0,4,0,12,0,15,0,17,0 18,0,11,0,14,0,9,0,13,0,7,0 8,0,6,0,16,0,19,0,2,0,1,0 10,0,5,0,17,0,7,0,18,0,9,0 15,0,13,0,14,0,2,0,16,0,12,0 4,0,10,0,19,0,3,0,8,0,11,0 6,0,13,0,12,0,1,0,17,0,18,0 19,1,7,0,15,0,9,1,2,0,4,0 3,0,1,0,10,0,6,1,14,0,16,0 8,0,5,0,2,0,11,0,4,0,12,0 14,0,17,0,7,0,6,0,15,0,10,0 8,0,16,0,9,0,13,0,18,0,3,0 19,0,11,0,17,0,1,0,5,0,14,0 10,0,2,0,6,0,3,0,9,0,12,0 18,0,8,0,19,0,7,0,16,0,4,0 5,0,1,0,15,0,13,0,11,0,10,0 3,0,6,0,7,0,14,0,8,0,12,0 18,0,15,0,2,0,19,0,5,0,13,0 9,0,4,0,17,0,11,0,16,0,1,0 2,0,3,0,14,0,19,0,7,0,5,0 9,0,1,0,13,0,15,0,8,0,4,0 18,0,10,0,16,0,6,0,11,0,17,0 12,0,7,0,1,0,19,0,3,0,15,0 16,0,13,0,2,0,6,0,9,0,5,0 12,0,18,0,4,0,14,0,8,0,10,0 11,0,7,0,2,0,17,0,3,0,16,0 9,0,14,0,19,0,6,0,4,0,1,0 12,0,5,0,10,0,8,0,13,0,17,0 15,0,11,0,9,0,18,0,19,0,6,0 ================================================ FILE: schedules/20_1.csv ================================================ 9,0,8,0,13,0,14,0,11,0,16,0 17,0,2,0,5,0,18,0,6,0,10,0 15,0,7,0,20,0,1,0,3,0,19,0 4,0,8,1,6,1,12,0,2,1,18,1 ================================================ FILE: schedules/20_10.csv ================================================ 9,0,2,0,12,0,4,0,15,0,3,0 5,0,11,0,8,0,1,0,10,0,16,0 19,0,13,0,18,0,20,0,17,0,14,0 7,0,8,0,3,0,6,0,5,0,2,0 19,0,1,0,9,0,13,0,10,0,4,0 11,0,12,0,14,0,7,0,6,0,17,0 16,0,20,0,8,0,18,0,15,0,10,0 1,1,5,0,9,0,19,1,7,0,14,0 2,1,16,0,17,0,20,1,12,0,4,0 15,0,11,0,13,0,18,0,3,0,6,0 5,0,20,0,14,0,12,0,9,0,10,0 7,0,18,0,4,0,13,0,6,0,8,0 3,0,2,0,19,0,17,0,11,0,16,0 15,0,6,0,20,0,1,0,4,0,5,0 2,0,14,0,10,0,18,0,17,0,8,0 16,0,12,0,7,0,13,0,11,0,1,0 3,0,19,0,17,0,9,0,15,0,8,0 2,0,13,0,16,0,11,0,20,0,10,0 15,0,5,0,3,0,9,0,14,0,4,0 12,0,6,0,18,0,19,0,1,0,7,0 10,0,2,0,8,0,13,0,14,0,3,0 11,0,17,0,4,0,7,0,9,0,20,0 16,0,18,0,5,0,12,0,19,0,15,0 6,0,4,0,11,0,1,0,8,0,14,0 18,0,20,0,3,0,5,0,10,0,19,0 17,0,1,0,12,0,7,0,2,0,15,0 9,0,6,0,14,0,13,0,16,0,20,0 4,0,8,0,19,0,11,0,18,0,2,0 1,0,6,0,10,0,3,0,9,0,12,0 7,0,5,0,13,0,17,0,16,0,15,0 14,0,18,0,1,0,20,0,4,0,2,0 7,0,3,0,10,0,16,0,6,0,19,0 17,0,13,0,9,0,8,0,5,0,12,0 15,0,1,0,2,0,11,0,19,0,20,0 ================================================ FILE: schedules/20_11.csv ================================================ 6,0,11,0,4,0,14,0,18,0,13,0 15,0,16,0,12,0,8,0,10,0,2,0 7,0,5,0,3,0,1,0,9,0,17,0 19,0,13,0,16,0,20,0,4,0,18,0 17,0,12,0,2,0,5,0,14,0,11,0 19,0,3,0,1,0,8,0,20,0,9,0 7,0,10,0,4,0,15,0,6,0,12,0 1,1,8,0,5,0,17,1,13,0,20,0 9,0,10,0,6,0,11,0,2,0,18,0 19,0,15,0,7,0,14,0,16,0,3,0 4,0,13,0,10,0,2,0,5,0,9,0 3,0,15,0,11,0,7,0,18,0,1,0 14,0,20,0,16,0,17,0,8,0,6,0 19,0,5,0,4,0,12,0,2,0,3,0 18,0,10,0,11,0,20,0,17,0,15,0 13,0,12,0,8,0,19,0,1,0,6,0 14,0,9,0,11,0,16,0,7,0,5,0 20,0,1,0,15,0,2,0,3,0,4,0 9,0,13,0,18,0,8,0,16,0,10,0 6,0,17,0,14,0,12,0,19,0,7,0 15,0,2,0,8,0,11,0,3,0,13,0 4,0,17,0,16,0,19,0,10,0,20,0 12,0,5,0,18,0,14,0,7,0,9,0 6,0,2,0,16,0,1,0,15,0,4,0 14,0,8,0,11,0,17,0,3,0,9,0 1,0,12,0,20,0,13,0,7,0,6,0 18,0,19,0,8,0,5,0,10,0,17,0 9,0,12,0,4,0,16,0,11,0,1,0 19,0,10,0,14,0,5,0,15,0,13,0 2,0,20,0,7,0,6,0,18,0,3,0 5,0,13,0,17,0,16,0,9,0,15,0 11,0,6,0,7,0,19,0,8,0,4,0 1,0,10,0,3,0,2,0,14,0,12,0 20,0,6,0,5,0,18,0,16,0,15,0 1,0,13,0,2,0,11,0,19,0,17,0 3,0,20,0,8,0,10,0,12,0,9,0 7,0,18,0,17,0,14,0,4,0,1,0 ================================================ FILE: schedules/20_12.csv ================================================ 9,0,5,0,2,0,14,0,20,0,19,0 11,0,18,0,1,0,12,0,10,0,13,0 17,0,3,0,16,0,7,0,8,0,6,0 15,0,19,0,9,0,4,0,13,0,5,0 6,0,2,0,3,0,10,0,18,0,17,0 4,0,7,0,1,0,11,0,16,0,14,0 8,0,20,0,19,0,12,0,15,0,18,0 10,0,9,0,7,0,17,0,1,0,4,0 6,0,11,0,15,0,16,0,14,0,5,0 12,0,2,0,20,0,13,0,8,0,3,0 17,0,18,0,9,0,15,0,16,0,14,0 5,0,8,0,10,0,6,0,7,0,12,0 4,0,3,0,11,0,20,0,19,0,1,0 13,0,7,0,14,0,2,0,17,0,15,0 12,0,8,0,3,0,9,0,20,0,11,0 10,0,6,0,4,0,2,0,18,0,19,0 16,0,1,0,8,0,5,0,13,0,17,0 14,0,12,0,11,0,4,0,15,0,2,0 7,0,20,0,5,0,6,0,18,0,9,0 16,0,19,0,13,0,3,0,10,0,1,0 5,0,12,0,11,0,7,0,2,0,17,0 10,0,8,0,4,0,3,0,14,0,9,0 15,0,13,0,1,0,18,0,6,0,20,0 16,0,7,0,2,0,19,0,9,0,4,0 17,0,13,0,6,0,10,0,11,0,15,0 1,0,14,0,8,0,3,0,5,0,18,0 20,0,12,0,17,0,16,0,19,0,6,0 1,0,9,0,15,0,8,0,2,0,11,0 18,0,14,0,13,0,12,0,7,0,19,0 5,0,16,0,4,0,20,0,3,0,10,0 19,0,9,0,11,0,18,0,8,0,17,0 2,0,20,0,13,0,4,0,6,0,14,0 15,0,3,0,7,0,12,0,1,0,5,0 16,0,18,0,20,0,10,0,14,0,2,0 15,0,6,0,5,0,12,0,1,0,4,0 16,0,10,0,7,0,8,0,9,0,13,0 17,0,11,0,14,0,3,0,19,0,5,0 2,0,1,0,6,0,12,0,9,0,16,0 19,0,17,0,10,0,8,0,15,0,20,0 4,0,18,0,3,0,13,0,11,0,7,0 ================================================ FILE: schedules/20_13.csv ================================================ 6,0,8,0,7,0,14,0,18,0,10,0 16,0,17,0,13,0,12,0,3,0,2,0 1,0,20,0,15,0,11,0,4,0,9,0 5,0,14,0,16,0,19,0,6,0,12,0 8,0,1,0,10,0,15,0,20,0,2,0 11,0,18,0,19,0,5,0,13,0,4,0 3,0,7,0,20,0,17,0,9,0,12,0 19,1,6,0,4,0,15,1,8,0,16,0 14,1,18,0,5,0,17,1,1,0,9,0 3,0,13,0,11,0,10,0,7,0,2,0 8,0,9,0,18,0,12,0,1,0,4,0 3,0,7,0,6,0,17,0,13,0,19,0 20,0,16,0,10,0,11,0,14,0,5,0 15,0,19,0,7,0,2,0,6,0,9,0 8,0,13,0,10,0,1,0,16,0,11,0 15,0,3,0,14,0,20,0,18,0,12,0 2,0,4,0,13,0,17,0,5,0,6,0 12,0,9,0,16,0,10,0,19,0,11,0 15,0,8,0,4,0,18,0,17,0,3,0 2,0,5,0,20,0,1,0,14,0,7,0 10,0,18,0,6,0,15,0,9,0,16,0 11,0,14,0,1,0,8,0,3,0,19,0 12,0,5,0,13,0,2,0,20,0,4,0 7,0,11,0,9,0,17,0,6,0,14,0 19,0,12,0,10,0,13,0,18,0,1,0 16,0,8,0,3,0,20,0,4,0,7,0 17,0,2,0,1,0,15,0,5,0,10,0 14,0,13,0,7,0,16,0,4,0,18,0 6,0,11,0,15,0,5,0,3,0,12,0 19,0,9,0,20,0,17,0,2,0,8,0 4,0,15,0,1,0,7,0,12,0,16,0 9,0,10,0,3,0,6,0,19,0,13,0 2,0,18,0,5,0,20,0,11,0,8,0 17,0,10,0,4,0,14,0,19,0,3,0 11,0,2,0,16,0,7,0,18,0,15,0 9,0,5,0,13,0,12,0,8,0,14,0 20,0,17,0,18,0,6,0,1,0,16,0 2,0,9,0,14,0,10,0,3,0,4,0 5,0,1,0,19,0,7,0,8,0,17,0 11,0,12,0,15,0,13,0,6,0,20,0 19,0,16,0,2,0,1,0,9,0,3,0 17,0,20,0,14,0,15,0,18,0,13,0 10,0,12,0,6,0,5,0,7,0,8,0 4,0,19,0,14,0,11,0,15,0,17,0 ================================================ FILE: schedules/20_14.csv ================================================ 15,0,20,0,13,0,10,0,6,0,3,0 11,0,5,0,16,0,2,0,19,0,12,0 14,0,7,0,18,0,4,0,9,0,8,0 1,0,2,0,16,0,17,0,15,0,19,0 11,0,7,0,8,0,13,0,9,0,10,0 17,0,5,0,3,0,12,0,14,0,4,0 20,0,1,0,19,0,6,0,18,0,8,0 17,1,15,0,3,0,4,1,11,0,10,0 20,0,1,0,12,0,14,0,9,0,2,0 13,0,6,0,5,0,18,0,16,0,7,0 11,0,19,0,4,0,15,0,12,0,1,0 2,0,5,0,10,0,17,0,8,0,6,0 9,0,3,0,20,0,16,0,18,0,13,0 7,0,11,0,6,0,14,0,1,0,5,0 18,0,9,0,19,0,3,0,2,0,4,0 8,0,13,0,12,0,16,0,10,0,17,0 7,0,14,0,19,0,15,0,20,0,6,0 5,0,4,0,10,0,16,0,2,0,8,0 9,0,7,0,15,0,18,0,3,0,1,0 12,0,17,0,20,0,13,0,11,0,14,0 6,0,19,0,10,0,5,0,18,0,4,0 7,0,2,0,12,0,20,0,3,0,8,0 9,0,17,0,1,0,11,0,14,0,16,0 13,0,7,0,2,0,15,0,19,0,12,0 16,0,6,0,4,0,20,0,9,0,10,0 14,0,1,0,17,0,8,0,15,0,18,0 11,0,3,0,9,0,5,0,13,0,19,0 4,0,10,0,15,0,7,0,2,0,17,0 16,0,12,0,3,0,13,0,6,0,1,0 8,0,11,0,5,0,20,0,18,0,14,0 6,0,12,0,10,0,7,0,9,0,1,0 14,0,8,0,19,0,4,0,13,0,15,0 18,0,17,0,2,0,11,0,16,0,20,0 3,0,8,0,10,0,5,0,19,0,1,0 4,0,20,0,16,0,15,0,14,0,12,0 6,0,2,0,13,0,9,0,17,0,5,0 11,0,18,0,12,0,3,0,7,0,4,0 16,0,9,0,15,0,8,0,5,0,20,0 6,0,14,0,3,0,17,0,19,0,11,0 13,0,18,0,2,0,10,0,7,0,1,0 8,0,15,0,17,0,12,0,9,0,6,0 3,0,14,0,19,0,7,0,10,0,5,0 13,0,11,0,1,0,20,0,2,0,4,0 18,0,10,0,14,0,16,0,12,0,19,0 4,0,17,0,5,0,9,0,7,0,20,0 18,0,6,0,16,0,11,0,2,0,15,0 1,0,8,0,4,0,13,0,3,0,17,0 ================================================ FILE: schedules/20_2.csv ================================================ 12,0,3,0,9,0,19,0,11,0,15,0 4,0,6,0,1,0,8,0,17,0,7,0 10,0,5,0,16,0,2,0,13,0,18,0 14,0,17,0,4,0,20,0,9,0,11,0 13,0,15,0,7,0,8,0,18,0,19,0 6,0,10,0,2,0,12,0,1,0,14,0 16,0,20,0,7,1,3,0,5,0,8,1 ================================================ FILE: schedules/20_3.csv ================================================ 20,0,5,0,10,0,17,0,16,0,11,0 1,0,3,0,2,0,6,0,15,0,19,0 8,0,7,0,4,0,18,0,9,0,14,0 13,0,10,0,6,0,12,0,15,0,5,0 9,0,17,0,19,0,16,0,2,0,7,0 8,0,20,0,11,0,4,0,1,0,12,0 18,0,13,0,16,0,14,0,3,0,6,0 9,0,5,0,7,0,20,0,15,0,1,0 12,0,14,0,11,0,19,0,2,0,18,0 3,0,4,0,13,0,8,0,10,0,17,0 ================================================ FILE: schedules/20_4.csv ================================================ 16,0,17,0,8,0,6,0,19,0,20,0 7,0,11,0,1,0,3,0,5,0,4,0 9,0,18,0,13,0,12,0,14,0,15,0 2,0,4,0,7,0,10,0,16,0,19,0 15,0,17,0,20,0,5,0,18,0,11,0 3,0,14,0,10,0,12,0,8,0,6,0 1,0,13,0,5,0,9,0,2,0,19,0 17,1,11,0,12,0,16,1,7,0,14,0 18,1,6,0,15,0,4,1,8,0,1,0 9,0,20,0,3,0,2,0,10,0,13,0 8,0,19,0,5,0,12,0,18,0,16,0 17,0,4,0,14,0,1,0,2,0,20,0 10,0,7,0,6,0,15,0,13,0,11,0 9,0,16,0,4,0,3,0,17,0,18,0 ================================================ FILE: schedules/20_5.csv ================================================ 4,0,9,0,15,0,2,0,1,0,18,0 10,0,3,0,13,0,19,0,16,0,20,0 14,0,12,0,8,0,7,0,17,0,11,0 5,0,13,0,19,0,6,0,2,0,9,0 10,0,8,0,11,0,15,0,3,0,18,0 4,0,16,0,5,0,20,0,12,0,17,0 7,0,14,0,18,0,6,0,1,0,19,0 12,1,4,0,3,0,15,1,11,0,13,0 5,0,2,0,17,0,7,0,1,0,10,0 6,0,14,0,20,0,8,0,16,0,9,0 19,0,7,0,3,0,15,0,5,0,12,0 1,0,11,0,14,0,10,0,20,0,4,0 16,0,18,0,17,0,8,0,13,0,2,0 9,0,12,0,10,0,6,0,4,0,7,0 5,0,18,0,20,0,2,0,15,0,14,0 3,0,11,0,6,0,17,0,19,0,9,0 8,0,1,0,15,0,16,0,13,0,12,0 ================================================ FILE: schedules/20_6.csv ================================================ 6,0,15,0,9,0,3,0,17,0,1,0 11,0,2,0,10,0,7,0,20,0,4,0 16,0,13,0,5,0,12,0,14,0,18,0 8,0,15,0,2,0,19,0,17,0,6,0 12,0,11,0,16,0,10,0,14,0,3,0 4,0,1,0,18,0,5,0,19,0,20,0 8,0,9,0,16,0,7,0,13,0,2,0 19,0,12,0,10,0,11,0,1,0,15,0 14,0,7,0,17,0,20,0,9,0,18,0 13,0,3,0,4,0,8,0,6,0,5,0 9,0,1,0,19,0,10,0,18,0,16,0 17,0,20,0,11,0,12,0,13,0,8,0 15,0,3,0,7,0,4,0,2,0,14,0 6,0,20,0,10,0,5,0,9,0,11,0 4,0,17,0,8,0,14,0,16,0,1,0 7,0,18,0,19,0,3,0,6,0,12,0 5,0,2,0,1,0,15,0,13,0,10,0 9,0,12,0,17,0,16,0,6,0,4,0 14,0,13,0,20,0,2,0,19,0,3,0 18,0,15,0,5,0,8,0,11,0,7,0 ================================================ FILE: schedules/20_7.csv ================================================ 14,0,3,0,10,0,6,0,2,0,8,0 11,0,17,0,12,0,5,0,18,0,7,0 4,0,19,0,13,0,16,0,1,0,15,0 9,0,8,0,7,0,20,0,5,0,3,0 18,0,2,0,19,0,4,0,14,0,11,0 17,0,15,0,9,0,10,0,16,0,13,0 1,0,6,0,11,0,12,0,20,0,19,0 3,1,15,0,4,0,16,1,5,0,9,0 7,1,10,0,2,0,12,1,13,0,18,0 1,0,8,0,20,0,17,0,14,0,6,0 9,0,18,0,10,0,16,0,19,0,7,0 15,0,13,0,11,0,14,0,12,0,8,0 20,0,17,0,5,0,4,0,2,0,1,0 6,0,13,0,7,0,3,0,18,0,11,0 16,0,14,0,20,0,12,0,15,0,5,0 2,0,3,0,17,0,6,0,19,0,9,0 1,0,10,0,12,0,4,0,8,0,18,0 7,0,15,0,14,0,9,0,2,0,11,0 13,0,3,0,8,0,16,0,17,0,4,0 1,0,19,0,5,0,6,0,20,0,10,0 4,0,7,0,12,0,13,0,14,0,9,0 6,0,16,0,3,0,18,0,20,0,15,0 8,0,5,0,11,0,17,0,19,0,10,0 2,0,16,0,12,0,1,0,3,0,7,0 ================================================ FILE: schedules/20_8.csv ================================================ 18,0,7,0,14,0,1,0,20,0,16,0 3,0,5,0,12,0,13,0,15,0,9,0 17,0,10,0,6,0,11,0,19,0,8,0 4,0,13,0,18,0,2,0,16,0,9,0 14,0,19,0,20,0,7,0,15,0,12,0 1,0,11,0,5,0,6,0,2,0,3,0 8,0,17,0,13,0,10,0,4,0,20,0 16,1,19,0,9,0,12,1,6,0,1,0 11,0,4,0,17,0,3,0,15,0,18,0 2,0,5,0,7,0,8,0,10,0,14,0 12,0,17,0,13,0,4,0,19,0,3,0 10,0,2,0,15,0,1,0,18,0,8,0 11,0,6,0,14,0,9,0,7,0,20,0 16,0,15,0,4,0,5,0,10,0,13,0 8,0,20,0,3,0,2,0,19,0,1,0 12,0,11,0,9,0,5,0,16,0,14,0 18,0,17,0,2,0,6,0,7,0,13,0 1,0,14,0,3,0,12,0,8,0,4,0 6,0,20,0,15,0,16,0,19,0,17,0 18,0,5,0,9,0,7,0,10,0,11,0 15,0,6,0,19,0,2,0,14,0,13,0 7,0,8,0,16,0,3,0,9,0,17,0 1,0,12,0,10,0,18,0,11,0,20,0 4,0,9,0,14,0,5,0,8,0,6,0 10,0,16,0,3,0,2,0,20,0,12,0 4,0,1,0,7,0,17,0,15,0,5,0 11,0,13,0,16,0,18,0,19,0,12,0 ================================================ FILE: schedules/20_9.csv ================================================ 6,0,18,0,9,0,8,0,20,0,7,0 5,0,16,0,11,0,17,0,1,0,2,0 12,0,10,0,15,0,4,0,14,0,19,0 3,0,1,0,9,0,13,0,20,0,2,0 6,0,4,0,7,0,15,0,5,0,17,0 8,0,13,0,14,0,18,0,12,0,3,0 16,0,19,0,2,0,11,0,10,0,4,0 15,0,20,0,18,0,12,0,5,0,13,0 16,0,8,0,10,0,9,0,17,0,7,0 11,0,14,0,1,0,19,0,3,0,6,0 5,0,10,0,18,0,8,0,9,0,15,0 19,0,12,0,7,0,13,0,6,0,11,0 20,0,14,0,3,0,4,0,16,0,17,0 2,0,9,0,10,0,1,0,13,0,15,0 6,0,17,0,19,0,4,0,12,0,20,0 7,0,3,0,5,0,8,0,2,0,11,0 14,0,16,0,6,0,18,0,1,0,10,0 3,0,4,0,13,0,9,0,5,0,19,0 18,0,16,0,12,0,11,0,7,0,1,0 17,0,8,0,20,0,15,0,14,0,2,0 7,0,13,0,10,0,18,0,19,0,11,0 2,0,6,0,5,0,15,0,16,0,3,0 4,0,1,0,8,0,14,0,9,0,12,0 17,0,13,0,18,0,20,0,6,0,10,0 19,0,15,0,8,0,16,0,2,0,7,0 20,0,9,0,11,0,14,0,4,0,5,0 1,0,12,0,6,0,17,0,3,0,10,0 2,0,4,0,15,0,14,0,7,0,18,0 19,0,1,0,20,0,3,0,8,0,5,0 12,0,17,0,11,0,9,0,13,0,16,0 ================================================ FILE: schedules/21_1.csv ================================================ 18,0,10,0,9,0,14,0,20,0,3,0 17,0,19,0,5,0,16,0,4,0,15,0 1,0,8,0,2,0,13,0,21,0,12,0 6,0,7,0,18,1,11,0,19,1,20,1 ================================================ FILE: schedules/21_10.csv ================================================ 13,0,17,0,10,0,20,0,1,0,4,0 15,0,8,0,19,0,7,0,5,0,16,0 9,0,14,0,21,0,2,0,3,0,18,0 12,0,6,0,1,0,11,0,19,0,17,0 18,0,14,0,4,0,8,0,21,0,7,0 11,0,9,0,20,0,10,0,16,0,15,0 12,0,2,0,13,0,3,0,6,0,5,0 7,0,19,0,14,0,17,0,21,0,20,0 10,0,8,0,3,0,11,0,13,0,16,0 18,0,5,0,1,0,2,0,6,0,9,0 12,0,21,0,16,0,4,0,15,0,3,0 10,0,19,0,9,0,14,0,8,0,11,0 18,0,6,0,7,0,4,0,15,0,13,0 12,0,5,0,20,0,2,0,17,0,1,0 4,0,6,0,10,0,9,0,3,0,7,0 11,0,2,0,16,0,13,0,20,0,19,0 14,0,17,0,5,0,12,0,15,0,18,0 1,0,8,0,13,0,21,0,11,0,6,0 18,0,16,0,19,0,17,0,12,0,7,0 3,0,14,0,1,0,4,0,8,0,2,0 21,0,9,0,15,0,20,0,10,0,5,0 3,0,11,0,18,0,19,0,6,0,1,0 10,0,21,0,2,0,16,0,14,0,20,0 17,0,4,0,7,0,8,0,5,0,9,0 15,0,12,0,11,0,13,0,3,0,21,0 9,0,4,0,16,0,19,0,5,0,2,0 7,0,1,0,13,0,10,0,12,0,14,0 20,0,8,0,18,0,17,0,6,0,15,0 5,0,11,0,7,0,21,0,1,0,16,0 20,0,14,0,15,0,8,0,9,0,12,0 3,0,19,0,2,0,10,0,17,0,18,0 4,0,5,0,21,0,6,0,13,0,14,0 2,0,7,0,15,0,10,0,1,0,11,0 8,0,6,0,20,0,12,0,19,0,4,0 17,0,16,0,3,0,13,0,9,0,18,0 ================================================ FILE: schedules/21_11.csv ================================================ 11,0,2,0,13,0,15,0,18,0,9,0 14,0,20,0,3,0,16,0,5,0,17,0 4,0,21,0,1,0,8,0,12,0,10,0 6,0,19,0,9,0,7,0,11,0,14,0 8,0,20,0,4,0,1,0,18,0,5,0 2,0,3,0,12,0,16,0,19,0,10,0 17,0,21,0,7,0,6,0,15,0,13,0 9,1,18,0,11,0,20,1,12,0,4,0 5,0,8,0,13,0,7,1,15,0,3,0 17,0,6,0,10,0,16,0,14,0,1,0 19,0,2,0,18,0,21,0,5,0,3,0 9,0,8,0,17,0,11,0,10,0,4,0 12,0,19,0,15,0,16,0,20,0,13,0 14,0,2,0,21,0,6,0,1,0,7,0 17,0,15,0,10,0,3,0,5,0,9,0 18,0,12,0,16,0,13,0,6,0,14,0 7,0,11,0,20,0,19,0,8,0,21,0 2,0,1,0,9,0,4,0,13,0,3,0 10,0,14,0,5,0,18,0,6,0,19,0 15,0,11,0,8,0,20,0,16,0,21,0 7,0,1,0,12,0,17,0,2,0,4,0 10,0,13,0,9,0,5,0,20,0,19,0 16,0,11,0,6,0,2,0,8,0,7,0 14,0,18,0,4,0,1,0,15,0,21,0 3,0,17,0,11,0,12,0,20,0,9,0 7,0,16,0,15,0,18,0,10,0,21,0 19,0,1,0,3,0,2,0,8,0,14,0 17,0,12,0,13,0,6,0,5,0,4,0 8,0,16,0,9,0,10,0,15,0,2,0 3,0,6,0,1,0,11,0,12,0,21,0 4,0,7,0,19,0,18,0,17,0,20,0 13,0,21,0,9,0,5,0,14,0,12,0 6,0,20,0,2,0,8,0,3,0,18,0 15,0,16,0,4,0,14,0,19,0,17,0 5,0,7,0,10,0,11,0,1,0,13,0 6,0,8,0,21,0,19,0,17,0,9,0 20,0,10,0,1,0,13,0,7,0,18,0 14,0,15,0,5,0,11,0,2,0,12,0 3,0,16,0,20,0,4,0,9,0,7,0 ================================================ FILE: schedules/21_12.csv ================================================ 9,0,6,0,5,0,8,0,18,0,1,0 16,0,7,0,19,0,13,0,11,0,2,0 21,0,20,0,4,0,12,0,15,0,17,0 3,0,14,0,13,0,10,0,5,0,19,0 15,0,6,0,2,0,4,0,16,0,21,0 7,0,1,0,20,0,14,0,12,0,18,0 10,0,8,0,11,0,3,0,17,0,9,0 7,0,16,0,12,0,5,0,14,0,15,0 20,0,2,0,3,0,4,0,10,0,8,0 1,0,11,0,9,0,13,0,6,0,21,0 19,0,18,0,15,0,17,0,12,0,20,0 7,0,21,0,11,0,16,0,6,0,4,0 17,0,18,0,13,0,5,0,3,0,8,0 10,0,14,0,1,0,19,0,9,0,2,0 8,0,17,0,21,0,18,0,7,0,3,0 15,0,13,0,20,0,10,0,16,0,1,0 2,0,12,0,14,0,11,0,6,0,9,0 5,0,10,0,17,0,4,0,19,0,1,0 16,0,15,0,8,0,18,0,2,0,6,0 11,0,19,0,3,0,12,0,13,0,7,0 21,0,14,0,9,0,5,0,4,0,20,0 13,0,7,0,15,0,1,0,17,0,2,0 9,0,18,0,16,0,19,0,21,0,12,0 3,0,6,0,4,0,20,0,14,0,11,0 5,0,8,0,7,0,10,0,9,0,15,0 4,0,18,0,2,0,14,0,3,0,21,0 10,0,6,0,12,0,13,0,17,0,8,0 19,0,5,0,1,0,11,0,16,0,20,0 18,0,10,0,21,0,7,0,14,0,6,0 9,0,12,0,8,0,1,0,3,0,15,0 11,0,4,0,17,0,5,0,16,0,2,0 20,0,18,0,6,0,19,0,13,0,9,0 12,0,1,0,11,0,8,0,7,0,2,0 20,0,10,0,13,0,21,0,5,0,15,0 19,0,3,0,17,0,14,0,16,0,4,0 10,0,2,0,7,0,20,0,9,0,18,0 3,0,4,0,12,0,1,0,13,0,6,0 14,0,8,0,19,0,11,0,21,0,15,0 5,0,16,0,13,0,17,0,7,0,9,0 2,0,21,0,1,0,19,0,3,0,10,0 14,0,17,0,16,0,8,0,20,0,6,0 12,0,4,0,15,0,18,0,11,0,5,0 ================================================ FILE: schedules/21_13.csv ================================================ 18,0,6,0,15,0,20,0,12,0,5,0 8,0,16,0,2,0,11,0,3,0,9,0 14,0,17,0,10,0,21,0,7,0,13,0 1,0,4,0,2,0,19,0,5,0,16,0 3,0,20,0,21,0,18,0,10,0,12,0 19,0,7,0,11,0,15,0,4,0,9,0 14,0,17,0,8,0,13,0,6,0,1,0 4,1,3,0,18,0,7,1,16,0,11,0 5,1,12,0,10,0,8,0,19,0,6,0 9,0,2,0,15,0,1,0,14,0,21,0 17,0,13,0,19,0,20,0,18,0,11,0 8,0,21,0,2,0,14,0,4,0,6,0 5,0,10,0,3,0,9,0,17,0,15,0 20,0,16,0,7,0,12,0,1,0,13,0 8,0,15,0,11,0,5,0,21,0,19,0 9,0,7,0,18,0,12,0,2,0,14,0 20,0,17,0,6,0,3,0,16,0,4,0 13,0,1,0,9,0,10,0,18,0,2,0 19,0,12,0,17,0,14,0,15,0,16,0 11,0,5,0,13,0,6,0,21,0,3,0 20,0,4,0,10,0,1,0,7,0,8,0 6,0,13,0,18,0,19,0,2,0,3,0 16,0,8,0,10,0,20,0,7,0,15,0 14,0,1,0,5,0,9,0,12,0,11,0 21,0,4,0,18,0,17,0,19,0,7,0 16,0,14,0,9,0,12,0,8,0,3,0 1,0,21,0,11,0,20,0,5,0,13,0 15,0,10,0,6,0,4,0,2,0,17,0 7,0,3,0,14,0,20,0,19,0,1,0 12,0,15,0,13,0,2,0,11,0,4,0 21,0,9,0,8,0,16,0,17,0,18,0 5,0,6,0,20,0,10,0,19,0,14,0 2,0,3,0,13,0,15,0,8,0,7,0 11,0,17,0,6,0,10,0,1,0,18,0 16,0,12,0,4,0,5,0,21,0,9,0 15,0,3,0,1,0,18,0,6,0,7,0 12,0,19,0,11,0,2,0,8,0,20,0 4,0,5,0,14,0,13,0,10,0,16,0 17,0,21,0,20,0,9,0,2,0,6,0 8,0,18,0,5,0,15,0,13,0,14,0 12,0,21,0,16,0,10,0,11,0,7,0 4,0,19,0,9,0,3,0,1,0,17,0 2,0,5,0,7,0,20,0,14,0,18,0 9,0,10,0,11,0,8,0,13,0,4,0 16,0,1,0,6,0,15,0,19,0,21,0 3,0,12,0,7,0,17,0,4,0,5,0 ================================================ FILE: schedules/21_14.csv ================================================ 11,0,1,0,18,0,17,0,16,0,14,0 5,0,9,0,2,0,21,0,7,0,19,0 12,0,20,0,10,0,3,0,4,0,13,0 15,0,8,0,18,0,6,0,11,0,21,0 1,0,13,0,9,0,2,0,7,0,16,0 8,0,12,0,5,0,6,0,15,0,10,0 3,0,14,0,17,0,20,0,19,0,4,0 21,0,6,0,1,0,12,0,7,0,9,0 17,0,5,0,4,0,2,0,8,0,14,0 18,0,19,0,16,0,15,0,20,0,11,0 3,0,6,0,14,0,10,0,13,0,2,0 18,0,4,0,9,0,11,0,12,0,5,0 21,0,13,0,8,0,3,0,20,0,1,0 7,0,10,0,17,0,15,0,19,0,16,0 1,0,5,0,20,0,18,0,2,0,21,0 13,0,16,0,6,0,9,0,19,0,8,0 17,0,12,0,15,0,3,0,7,0,14,0 11,0,10,0,21,0,4,0,16,0,1,0 3,0,2,0,19,0,12,0,18,0,6,0 9,0,14,0,13,0,17,0,20,0,11,0 7,0,4,0,10,0,8,0,15,0,5,0 20,0,2,0,6,0,11,0,16,0,12,0 21,0,17,0,18,0,7,0,3,0,8,0 15,0,9,0,14,0,10,0,19,0,1,0 13,0,5,0,17,0,4,0,21,0,12,0 2,0,8,0,9,0,10,0,18,0,14,0 16,0,4,0,15,0,13,0,1,0,20,0 11,0,3,0,7,0,5,0,19,0,6,0 16,0,10,0,8,0,17,0,1,0,12,0 2,0,11,0,4,0,6,0,13,0,7,0 19,0,20,0,14,0,5,0,18,0,21,0 3,0,15,0,12,0,9,0,11,0,13,0 14,0,7,0,1,0,8,0,20,0,6,0 3,0,16,0,18,0,5,0,10,0,9,0 21,0,15,0,4,0,19,0,2,0,17,0 14,0,5,0,7,0,3,0,10,0,11,0 19,0,12,0,17,0,18,0,1,0,2,0 8,0,6,0,4,0,20,0,9,0,16,0 21,0,13,0,14,0,15,0,18,0,7,0 16,0,12,0,2,0,4,0,5,0,3,0 1,0,11,0,8,0,13,0,15,0,19,0 21,0,20,0,10,0,9,0,6,0,17,0 19,0,8,0,11,0,4,0,12,0,14,0 5,0,6,0,10,0,13,0,18,0,17,0 2,0,15,0,16,0,9,0,3,0,21,0 7,0,20,0,18,0,1,0,10,0,4,0 19,0,12,0,13,0,16,0,5,0,21,0 7,0,20,0,2,0,8,0,17,0,11,0 3,0,6,0,9,0,1,0,15,0,14,0 ================================================ FILE: schedules/21_2.csv ================================================ 18,0,14,0,2,0,4,0,10,0,12,0 11,0,7,0,15,0,20,0,6,0,17,0 9,0,1,0,19,0,21,0,16,0,8,0 13,0,3,0,2,0,5,0,7,0,20,0 11,0,14,0,10,0,19,0,15,0,8,0 5,0,9,0,21,0,4,0,6,0,18,0 17,0,12,0,3,0,1,0,13,0,16,0 ================================================ FILE: schedules/21_3.csv ================================================ 12,0,11,0,9,0,14,0,1,0,3,0 10,0,16,0,15,0,2,0,18,0,6,0 5,0,20,0,19,0,17,0,21,0,8,0 7,0,4,0,1,0,13,0,16,0,3,0 15,1,12,0,20,0,19,1,10,0,11,0 7,1,18,0,13,0,9,0,8,0,5,0 2,0,17,0,14,0,4,0,21,0,6,0 5,0,10,0,3,0,15,0,19,0,1,0 9,0,6,0,7,0,11,0,20,0,4,0 21,0,16,0,2,0,8,0,12,0,13,0 14,0,18,0,15,0,17,0,19,0,7,0 ================================================ FILE: schedules/21_4.csv ================================================ 20,0,21,0,10,0,14,0,2,0,6,0 18,0,9,0,11,0,4,0,19,0,5,0 15,0,7,0,1,0,13,0,12,0,17,0 16,0,8,0,4,0,3,0,19,0,21,0 2,0,15,0,12,0,18,0,5,0,14,0 3,0,6,0,16,0,13,0,11,0,1,0 17,0,7,0,10,0,9,0,20,0,8,0 19,0,15,0,14,0,1,0,4,0,6,0 16,0,13,0,9,0,18,0,2,0,20,0 7,0,21,0,12,0,11,0,3,0,10,0 5,0,8,0,6,0,17,0,16,0,14,0 10,0,9,0,19,0,3,0,15,0,13,0 8,0,2,0,17,0,11,0,4,0,12,0 18,0,1,0,21,0,5,0,7,0,20,0 ================================================ FILE: schedules/21_5.csv ================================================ 15,0,10,0,19,0,20,0,21,0,7,0 6,0,9,0,4,0,12,0,11,0,18,0 8,0,5,0,3,0,1,0,2,0,16,0 14,0,17,0,12,0,13,0,4,0,19,0 7,0,1,0,15,0,2,0,18,0,6,0 11,0,5,0,16,0,21,0,17,0,10,0 20,0,3,0,13,0,8,0,9,0,14,0 5,1,21,0,12,0,19,1,1,0,18,0 14,1,13,0,16,0,3,0,7,0,6,0 20,0,2,0,15,0,11,0,9,0,17,0 4,0,8,0,21,0,10,0,6,0,5,0 17,0,18,0,7,0,11,0,3,0,14,0 19,0,12,0,2,0,20,0,16,0,8,0 10,0,4,0,1,0,9,0,15,0,13,0 21,0,14,0,18,0,2,0,8,0,17,0 11,0,6,0,13,0,19,0,5,0,20,0 16,0,3,0,10,0,12,0,4,0,15,0 1,0,9,0,5,0,7,0,19,0,14,0 ================================================ FILE: schedules/21_6.csv ================================================ 14,0,15,0,17,0,12,0,20,0,4,0 10,0,5,0,7,0,19,0,21,0,11,0 2,0,18,0,16,0,3,0,6,0,1,0 13,0,8,0,12,0,9,0,19,0,7,0 20,0,14,0,3,0,21,0,10,0,1,0 9,0,18,0,13,0,5,0,2,0,15,0 4,0,6,0,16,0,8,0,11,0,17,0 19,0,18,0,1,0,20,0,21,0,13,0 4,0,2,0,17,0,10,0,16,0,8,0 11,0,6,0,5,0,14,0,9,0,12,0 15,0,21,0,4,0,3,0,7,0,2,0 14,0,16,0,11,0,5,0,19,0,13,0 10,0,3,0,9,0,17,0,12,0,18,0 20,0,7,0,1,0,8,0,6,0,15,0 11,0,2,0,9,0,21,0,16,0,3,0 4,0,8,0,7,0,5,0,14,0,18,0 1,0,13,0,15,0,6,0,10,0,17,0 12,0,19,0,2,0,20,0,18,0,11,0 14,0,7,0,21,0,13,0,17,0,16,0 20,0,6,0,9,0,19,0,10,0,4,0 15,0,12,0,3,0,5,0,8,0,1,0 ================================================ FILE: schedules/21_7.csv ================================================ 3,0,5,0,2,0,14,0,17,0,19,0 16,0,21,0,8,0,10,0,15,0,18,0 1,0,9,0,7,0,12,0,4,0,20,0 13,0,11,0,16,0,6,0,17,0,2,0 18,0,19,0,4,0,20,0,21,0,7,0 8,0,5,0,14,0,15,0,1,0,13,0 6,0,3,0,12,0,10,0,11,0,9,0 7,1,15,0,19,0,8,1,17,0,4,0 6,0,13,0,10,0,11,1,20,0,5,0 14,0,3,0,1,0,21,0,2,0,18,0 16,0,7,0,17,0,9,0,12,0,5,0 10,0,14,0,21,0,11,0,1,0,19,0 8,0,12,0,18,0,2,0,13,0,4,0 3,0,20,0,15,0,9,0,6,0,16,0 21,0,4,0,11,0,5,0,17,0,13,0 2,0,7,0,10,0,8,0,15,0,9,0 19,0,20,0,6,0,14,0,12,0,16,0 18,0,1,0,5,0,3,0,11,0,7,0 20,0,9,0,2,0,13,0,21,0,19,0 12,0,17,0,15,0,14,0,6,0,18,0 16,0,4,0,1,0,8,0,3,0,10,0 11,0,2,0,12,0,15,0,5,0,21,0 7,0,8,0,13,0,19,0,3,0,16,0 9,0,18,0,17,0,1,0,10,0,20,0 4,0,14,0,7,0,6,0,8,0,11,0 ================================================ FILE: schedules/21_8.csv ================================================ 4,0,21,0,12,0,18,0,6,0,20,0 1,0,9,0,19,0,10,0,2,0,16,0 3,0,5,0,7,0,14,0,11,0,13,0 8,0,15,0,20,0,17,0,9,0,21,0 13,0,3,0,6,0,1,0,16,0,12,0 2,0,14,0,4,0,17,0,8,0,7,0 11,0,10,0,19,0,5,0,18,0,15,0 4,0,6,0,1,0,8,0,2,0,9,0 16,0,18,0,19,0,20,0,5,0,13,0 7,0,21,0,14,0,11,0,12,0,15,0 10,0,17,0,20,0,3,0,18,0,2,0 9,0,11,0,4,0,1,0,14,0,15,0 10,0,6,0,8,0,13,0,12,0,7,0 3,0,17,0,16,0,19,0,21,0,5,0 18,0,8,0,13,0,9,0,10,0,7,0 5,0,14,0,16,0,6,0,21,0,2,0 12,0,19,0,20,0,1,0,3,0,11,0 15,0,17,0,6,0,4,0,10,0,13,0 21,0,11,0,18,0,8,0,19,0,14,0 20,0,1,0,2,0,15,0,7,0,16,0 9,0,3,0,12,0,4,0,5,0,17,0 15,0,13,0,2,0,16,0,21,0,8,0 10,0,14,0,12,0,9,0,20,0,3,0 18,0,17,0,1,0,5,0,6,0,11,0 19,0,7,0,2,0,4,0,15,0,3,0 5,0,8,0,12,0,1,0,10,0,21,0 11,0,20,0,16,0,7,0,18,0,4,0 9,0,6,0,14,0,17,0,13,0,19,0 ================================================ FILE: schedules/21_9.csv ================================================ 4,0,18,0,14,0,2,0,12,0,10,0 11,0,19,0,21,0,7,0,20,0,3,0 8,0,17,0,6,0,13,0,16,0,5,0 9,0,12,0,3,0,1,0,15,0,18,0 10,0,5,0,17,0,11,0,20,0,2,0 13,0,14,0,19,0,6,0,9,0,21,0 8,0,1,0,16,0,4,0,15,0,7,0 10,1,6,0,11,0,12,1,19,0,20,0 1,1,7,0,14,0,5,0,21,0,18,0 9,0,15,0,16,0,13,0,3,0,4,0 8,0,21,0,7,0,17,0,2,0,1,0 9,0,18,0,13,0,5,0,12,0,4,0 16,0,6,0,3,0,8,0,10,0,20,0 11,0,15,0,17,0,2,0,14,0,19,0 21,0,1,0,12,0,5,0,3,0,9,0 18,0,17,0,20,0,13,0,11,0,8,0 16,0,10,0,4,0,7,0,6,0,19,0 15,0,2,0,3,0,14,0,9,0,8,0 1,0,5,0,19,0,16,0,11,0,18,0 21,0,4,0,2,0,15,0,10,0,13,0 20,0,6,0,14,0,17,0,12,0,7,0 2,0,5,0,8,0,11,0,4,0,9,0 6,0,12,0,18,0,20,0,16,0,21,0 7,0,1,0,13,0,3,0,10,0,14,0 15,0,8,0,12,0,17,0,19,0,16,0 3,0,1,0,11,0,2,0,13,0,6,0 20,0,4,0,5,0,21,0,15,0,14,0 9,0,19,0,17,0,18,0,10,0,7,0 11,0,14,0,12,0,8,0,4,0,1,0 18,0,19,0,10,0,6,0,15,0,5,0 16,0,7,0,2,0,3,0,21,0,17,0 20,0,13,0,12,0,9,0,10,0,1,0 ================================================ FILE: schedules/22_1.csv ================================================ 17,0,6,0,18,0,19,0,9,0,14,0 11,0,2,0,21,0,20,0,16,0,1,0 7,0,10,0,22,0,4,0,13,0,5,0 12,0,8,0,2,1,15,0,3,0,14,1 ================================================ FILE: schedules/22_10.csv ================================================ 21,0,14,0,11,0,17,0,2,0,4,0 6,0,3,0,7,0,18,0,22,0,9,0 19,0,16,0,8,0,13,0,15,0,1,0 12,0,5,0,14,0,10,0,20,0,6,0 22,0,16,0,1,0,2,0,8,0,18,0 17,0,21,0,10,0,19,0,9,0,7,0 5,0,11,0,20,0,4,0,13,0,3,0 12,0,6,0,21,0,15,0,8,0,16,0 7,1,10,0,18,0,17,1,13,0,11,0 4,0,14,0,9,0,3,0,5,0,15,0 12,0,19,0,22,0,2,0,20,0,1,0 5,0,9,0,8,0,4,0,16,0,11,0 13,0,22,0,20,0,14,0,19,0,17,0 18,0,1,0,3,0,15,0,10,0,21,0 2,0,7,0,4,0,6,0,12,0,8,0 13,0,16,0,14,0,3,0,22,0,10,0 21,0,7,0,20,0,5,0,1,0,6,0 18,0,15,0,17,0,9,0,12,0,2,0 19,0,10,0,14,0,11,0,21,0,1,0 3,0,9,0,20,0,15,0,4,0,8,0 5,0,13,0,2,0,17,0,6,0,18,0 19,0,22,0,11,0,16,0,12,0,7,0 9,0,10,0,8,0,14,0,2,0,6,0 11,0,3,0,12,0,21,0,19,0,13,0 4,0,18,0,1,0,20,0,16,0,17,0 22,0,15,0,2,0,7,0,5,0,21,0 1,0,10,0,4,0,9,0,13,0,6,0 15,0,11,0,12,0,7,0,14,0,22,0 17,0,3,0,8,0,5,0,18,0,19,0 16,0,9,0,21,0,20,0,12,0,13,0 22,0,17,0,5,0,1,0,8,0,14,0 15,0,18,0,20,0,2,0,10,0,11,0 16,0,4,0,6,0,7,0,19,0,3,0 11,0,17,0,9,0,22,0,8,0,21,0 13,0,18,0,7,0,14,0,4,0,20,0 6,0,19,0,15,0,16,0,10,0,5,0 3,0,2,0,7,0,1,0,12,0,17,0 ================================================ FILE: schedules/22_11.csv ================================================ 13,0,22,0,1,0,3,0,2,0,18,0 10,0,16,0,7,0,5,0,9,0,15,0 20,0,12,0,14,0,4,0,17,0,6,0 8,0,21,0,5,0,19,0,11,0,15,0 14,0,4,0,7,0,22,0,12,0,2,0 9,0,16,0,11,0,17,0,19,0,20,0 10,0,8,0,21,0,13,0,3,0,6,0 1,0,20,0,2,0,18,0,12,0,5,0 17,1,8,0,9,0,4,1,19,0,13,0 7,1,22,0,6,0,11,1,18,0,10,0 21,0,15,0,3,0,1,0,16,0,14,0 9,0,10,0,12,0,18,0,11,0,22,0 3,0,17,0,7,0,8,0,20,0,6,0 16,0,2,0,14,0,15,0,13,0,19,0 1,0,4,0,8,0,21,0,5,0,22,0 20,0,11,0,3,0,18,0,19,0,14,0 2,0,5,0,17,0,21,0,16,0,13,0 7,0,1,0,12,0,4,0,10,0,15,0 9,0,13,0,11,0,6,0,16,0,8,0 18,0,7,0,20,0,17,0,1,0,21,0 9,0,22,0,19,0,10,0,14,0,3,0 6,0,2,0,15,0,12,0,4,0,5,0 10,0,17,0,22,0,16,0,14,0,21,0 12,0,13,0,8,0,15,0,20,0,7,0 6,0,5,0,11,0,1,0,3,0,9,0 19,0,2,0,8,0,18,0,4,0,16,0 17,0,15,0,7,0,1,0,11,0,10,0 13,0,6,0,18,0,4,0,22,0,19,0 14,0,3,0,20,0,9,0,21,0,2,0 5,0,10,0,19,0,12,0,6,0,1,0 21,0,18,0,4,0,11,0,7,0,8,0 16,0,15,0,22,0,13,0,2,0,20,0 5,0,12,0,3,0,17,0,14,0,9,0 21,0,6,0,19,0,1,0,2,0,7,0 10,0,13,0,4,0,14,0,5,0,11,0 12,0,16,0,17,0,3,0,22,0,8,0 15,0,18,0,1,0,9,0,20,0,4,0 7,0,13,0,5,0,11,0,12,0,21,0 15,0,6,0,14,0,8,0,17,0,18,0 19,0,16,0,3,0,10,0,22,0,20,0 2,0,4,0,11,0,9,0,17,0,7,0 ================================================ FILE: schedules/22_12.csv ================================================ 19,0,17,0,12,0,20,0,21,0,9,0 7,0,16,0,2,0,10,0,11,0,22,0 18,0,3,0,6,0,13,0,8,0,1,0 4,0,14,0,20,0,15,0,5,0,16,0 7,0,22,0,18,0,8,0,10,0,2,0 9,0,11,0,5,0,15,0,19,0,1,0 6,0,13,0,12,0,3,0,14,0,17,0 21,0,8,0,19,0,4,0,10,0,16,0 12,0,1,0,17,0,13,0,22,0,20,0 5,0,3,0,4,0,2,0,21,0,14,0 11,0,6,0,15,0,9,0,7,0,18,0 20,0,1,0,16,0,2,0,19,0,22,0 10,0,15,0,17,0,12,0,5,0,18,0 11,0,13,0,4,0,9,0,8,0,3,0 7,0,21,0,5,0,14,0,6,0,22,0 9,0,10,0,16,0,12,0,3,0,1,0 18,0,11,0,4,0,6,0,19,0,20,0 13,0,17,0,15,0,7,0,8,0,14,0 21,0,3,0,4,0,2,0,20,0,18,0 12,0,9,0,22,0,8,0,15,0,14,0 1,0,19,0,7,0,10,0,21,0,13,0 6,0,2,0,5,0,16,0,17,0,11,0 18,0,14,0,19,0,13,0,7,0,9,0 12,0,15,0,8,0,21,0,2,0,11,0 10,0,1,0,6,0,20,0,17,0,4,0 3,0,16,0,19,0,22,0,5,0,8,0 10,0,18,0,21,0,15,0,6,0,9,0 2,0,16,0,1,0,7,0,17,0,3,0 4,0,22,0,12,0,5,0,11,0,13,0 14,0,10,0,16,0,20,0,3,0,15,0 2,0,9,0,17,0,18,0,19,0,13,0 20,0,5,0,8,0,7,0,4,0,6,0 21,0,1,0,22,0,14,0,12,0,11,0 9,0,5,0,19,0,10,0,17,0,8,0 7,0,22,0,15,0,18,0,1,0,4,0 13,0,14,0,2,0,16,0,6,0,21,0 12,0,20,0,8,0,3,0,11,0,7,0 15,0,21,0,18,0,16,0,22,0,17,0 14,0,1,0,9,0,12,0,4,0,2,0 5,0,10,0,13,0,20,0,11,0,19,0 3,0,9,0,22,0,6,0,21,0,17,0 18,0,8,0,11,0,1,0,14,0,5,0 4,0,15,0,19,0,6,0,12,0,16,0 10,0,20,0,7,0,13,0,3,0,2,0 ================================================ FILE: schedules/22_13.csv ================================================ 10,0,1,0,22,0,18,0,4,0,5,0 15,0,8,0,3,0,13,0,21,0,20,0 12,0,11,0,2,0,17,0,16,0,9,0 7,0,14,0,13,0,6,0,19,0,22,0 16,0,15,0,4,0,2,0,1,0,20,0 19,0,9,0,12,0,8,0,14,0,6,0 10,0,21,0,5,0,18,0,17,0,7,0 11,0,19,0,9,0,3,0,20,0,12,0 1,1,15,0,21,0,13,1,7,0,14,0 3,0,18,0,10,0,2,0,6,0,5,0 17,0,8,0,16,0,11,0,22,0,4,0 12,0,13,0,10,0,3,0,7,0,2,0 16,0,11,0,14,0,4,0,18,0,8,0 15,0,17,0,20,0,22,0,6,0,9,0 5,0,1,0,13,0,21,0,19,0,11,0 17,0,22,0,8,0,15,0,14,0,18,0 5,0,21,0,7,0,20,0,9,0,4,0 10,0,16,0,19,0,12,0,6,0,1,0 2,0,14,0,4,0,3,0,9,0,7,0 5,0,22,0,12,0,8,0,21,0,16,0 6,0,20,0,10,0,11,0,1,0,3,0 15,0,2,0,13,0,19,0,18,0,17,0 1,0,16,0,3,0,5,0,9,0,14,0 4,0,20,0,19,0,21,0,12,0,18,0 6,0,11,0,13,0,7,0,10,0,15,0 2,0,17,0,14,0,8,0,22,0,1,0 6,0,3,0,21,0,15,0,12,0,11,0 9,0,22,0,2,0,13,0,5,0,16,0 7,0,19,0,8,0,20,0,17,0,10,0 4,0,1,0,12,0,18,0,13,0,9,0 3,0,14,0,22,0,15,0,5,0,19,0 7,0,6,0,16,0,21,0,4,0,17,0 20,0,11,0,18,0,8,0,2,0,10,0 3,0,4,0,5,0,6,0,17,0,1,0 9,0,10,0,8,0,22,0,21,0,13,0 18,0,20,0,7,0,14,0,16,0,12,0 19,0,2,0,5,0,15,0,11,0,8,0 14,0,3,0,17,0,10,0,4,0,13,0 21,0,2,0,18,0,16,0,22,0,6,0 15,0,9,0,1,0,11,0,19,0,7,0 12,0,13,0,17,0,20,0,3,0,16,0 19,0,21,0,14,0,11,0,2,0,10,0 9,0,4,0,6,0,8,0,5,0,20,0 18,0,15,0,22,0,7,0,12,0,1,0 17,0,11,0,5,0,20,0,13,0,14,0 9,0,21,0,1,0,12,0,8,0,10,0 7,0,4,0,22,0,6,0,15,0,2,0 18,0,16,0,1,0,19,0,3,0,13,0 ================================================ FILE: schedules/22_14.csv ================================================ 21,0,7,0,13,0,6,0,12,0,4,0 18,0,5,0,22,0,16,0,11,0,1,0 2,0,8,0,20,0,10,0,14,0,15,0 3,0,9,0,11,0,19,0,17,0,7,0 22,0,13,0,16,0,1,0,20,0,12,0 4,0,2,0,10,0,9,0,8,0,21,0 15,0,18,0,14,0,17,0,5,0,3,0 19,0,16,0,12,0,6,0,2,0,9,0 3,1,14,0,5,0,22,1,20,0,7,0 19,1,18,0,4,0,6,1,1,0,15,0 8,0,13,0,10,0,11,0,17,0,21,0 9,0,6,0,4,0,7,0,16,0,18,0 11,0,20,0,22,0,19,0,14,0,10,0 2,0,15,0,1,0,17,0,21,0,12,0 3,0,13,0,14,0,5,0,8,0,4,0 7,0,1,0,21,0,10,0,20,0,22,0 9,0,11,0,18,0,3,0,8,0,12,0 2,0,6,0,16,0,5,0,15,0,19,0 17,0,18,0,20,0,13,0,8,0,4,0 11,0,3,0,21,0,6,0,1,0,19,0 2,0,12,0,13,0,10,0,16,0,14,0 9,0,5,0,7,0,15,0,17,0,22,0 11,0,1,0,12,0,18,0,2,0,13,0 19,0,9,0,4,0,8,0,22,0,5,0 17,0,16,0,3,0,20,0,14,0,21,0 6,0,10,0,1,0,7,0,15,0,4,0 16,0,8,0,17,0,12,0,3,0,22,0 6,0,11,0,15,0,14,0,20,0,2,0 21,0,5,0,10,0,13,0,18,0,9,0 7,0,14,0,8,0,19,0,16,0,2,0 1,0,3,0,22,0,11,0,21,0,4,0 13,0,18,0,19,0,7,0,15,0,12,0 6,0,20,0,5,0,10,0,9,0,17,0 21,0,8,0,19,0,18,0,1,0,14,0 13,0,17,0,10,0,22,0,4,0,16,0 11,0,5,0,12,0,6,0,15,0,20,0 9,0,7,0,22,0,3,0,2,0,21,0 14,0,12,0,4,0,17,0,18,0,19,0 7,0,11,0,10,0,2,0,13,0,5,0 8,0,15,0,1,0,20,0,3,0,9,0 6,0,14,0,22,0,16,0,4,0,21,0 19,0,2,0,20,0,17,0,1,0,5,0 18,0,10,0,12,0,7,0,3,0,6,0 9,0,16,0,15,0,8,0,13,0,11,0 3,0,1,0,4,0,12,0,5,0,10,0 17,0,2,0,22,0,8,0,6,0,18,0 13,0,21,0,15,0,9,0,14,0,11,0 7,0,20,0,5,0,16,0,19,0,8,0 6,0,14,0,17,0,12,0,1,0,9,0 22,0,19,0,21,0,3,0,10,0,18,0 20,0,16,0,4,0,2,0,7,0,11,0 15,0,3,0,19,0,13,0,22,0,6,0 ================================================ FILE: schedules/22_2.csv ================================================ 10,0,3,0,12,0,14,0,22,0,19,0 6,0,5,0,21,0,9,0,11,0,1,0 16,0,13,0,15,0,8,0,18,0,2,0 17,0,4,0,9,0,20,0,7,0,10,0 21,0,19,0,3,0,8,0,15,0,6,0 12,0,14,0,18,0,17,0,7,0,5,0 1,0,13,0,22,0,16,0,4,0,20,0 2,0,17,1,3,1,11,0,7,1,14,1 ================================================ FILE: schedules/22_3.csv ================================================ 7,0,4,0,14,0,3,0,10,0,1,0 11,0,18,0,5,0,16,0,2,0,19,0 13,0,9,0,6,0,17,0,20,0,21,0 8,0,15,0,10,0,12,0,22,0,16,0 7,0,11,0,21,0,4,0,20,0,18,0 15,0,19,0,1,0,22,0,14,0,17,0 6,0,3,0,12,0,8,0,13,0,5,0 9,0,20,0,16,0,2,0,14,0,1,0 5,0,3,0,17,0,10,0,18,0,21,0 19,0,11,0,4,0,8,0,9,0,12,0 13,0,22,0,15,0,7,0,2,0,6,0 ================================================ FILE: schedules/22_4.csv ================================================ 6,0,13,0,18,0,16,0,10,0,15,0 2,0,21,0,8,0,4,0,11,0,19,0 1,0,5,0,12,0,3,0,14,0,17,0 9,0,22,0,18,0,7,0,20,0,2,0 19,0,21,0,10,0,12,0,3,0,15,0 9,0,7,0,17,0,11,0,6,0,5,0 22,0,16,0,13,0,8,0,1,0,14,0 4,0,17,0,6,0,20,0,19,0,18,0 22,1,11,0,3,0,12,1,13,0,9,0 20,0,8,0,16,0,5,0,2,0,15,0 10,0,14,0,7,0,4,0,21,0,1,0 8,0,13,0,3,0,12,0,6,0,20,0 5,0,17,0,21,0,10,0,22,0,2,0 18,0,15,0,1,0,14,0,9,0,11,0 16,0,19,0,12,0,4,0,7,0,22,0 ================================================ FILE: schedules/22_5.csv ================================================ 13,0,20,0,4,0,8,0,18,0,5,0 14,0,16,0,6,0,2,0,17,0,15,0 22,0,7,0,9,0,19,0,21,0,10,0 12,0,11,0,4,0,3,0,1,0,13,0 18,0,15,0,22,0,16,0,9,0,5,0 7,0,21,0,3,0,20,0,11,0,14,0 10,0,2,0,1,0,17,0,12,0,8,0 19,0,20,0,22,0,6,0,13,0,11,0 14,1,10,0,12,0,17,1,16,0,4,0 7,1,5,0,15,0,18,1,21,0,1,0 9,0,6,0,19,0,2,0,8,0,3,0 20,0,12,0,5,0,14,0,22,0,17,0 18,0,6,0,2,0,10,0,7,0,11,0 15,0,16,0,3,0,19,0,8,0,13,0 21,0,9,0,14,0,4,0,1,0,6,0 5,0,10,0,17,0,3,0,19,0,11,0 16,0,21,0,8,0,12,0,7,0,18,0 2,0,22,0,4,0,20,0,15,0,1,0 13,0,14,0,7,0,9,0,17,0,18,0 ================================================ FILE: schedules/22_6.csv ================================================ 2,0,15,0,3,0,6,0,16,0,8,0 4,0,7,0,14,0,19,0,13,0,18,0 9,0,22,0,11,0,1,0,17,0,12,0 20,0,10,0,19,0,5,0,21,0,2,0 8,0,13,0,12,0,17,0,6,0,4,0 9,0,20,0,21,0,7,0,11,0,3,0 16,0,22,0,1,0,10,0,15,0,14,0 18,0,2,0,17,0,5,0,3,0,12,0 20,0,4,0,15,0,9,0,13,0,10,0 7,0,5,0,22,0,14,0,8,0,11,0 6,0,18,0,1,0,21,0,19,0,16,0 20,0,3,0,13,0,14,0,2,0,22,0 18,0,5,0,8,0,9,0,15,0,1,0 12,0,10,0,11,0,19,0,6,0,7,0 4,0,16,0,18,0,21,0,17,0,22,0 12,0,19,0,2,0,8,0,1,0,20,0 6,0,15,0,21,0,9,0,17,0,14,0 13,0,11,0,5,0,3,0,10,0,16,0 7,0,2,0,9,0,4,0,19,0,22,0 8,0,17,0,10,0,11,0,20,0,18,0 13,0,16,0,15,0,21,0,7,0,12,0 14,0,3,0,6,0,5,0,4,0,1,0 ================================================ FILE: schedules/22_7.csv ================================================ 8,0,22,0,10,0,5,0,17,0,18,0 9,0,2,0,7,0,1,0,21,0,13,0 12,0,4,0,3,0,14,0,16,0,11,0 20,0,19,0,18,0,15,0,6,0,2,0 5,0,3,0,11,0,7,0,13,0,8,0 9,0,21,0,16,0,17,0,20,0,4,0 6,0,22,0,19,0,12,0,14,0,15,0 1,0,11,0,18,0,10,0,13,0,20,0 22,1,7,0,15,0,8,1,9,0,4,0 17,0,3,0,6,0,12,0,1,0,19,0 5,0,21,0,14,0,2,0,10,0,16,0 20,0,6,0,8,0,3,0,19,0,13,0 15,0,16,0,17,0,1,0,14,0,10,0 12,0,22,0,18,0,4,0,21,0,7,0 5,0,2,0,1,0,9,0,11,0,6,0 17,0,10,0,21,0,3,0,18,0,15,0 13,0,9,0,22,0,4,0,19,0,11,0 14,0,20,0,2,0,8,0,5,0,12,0 16,0,4,0,1,0,7,0,6,0,18,0 10,0,9,0,12,0,8,0,2,0,3,0 5,0,16,0,13,0,19,0,21,0,15,0 11,0,7,0,20,0,17,0,14,0,22,0 1,0,9,0,15,0,16,0,8,0,18,0 10,0,3,0,7,0,20,0,5,0,22,0 13,0,4,0,6,0,2,0,17,0,12,0 14,0,19,0,8,0,21,0,11,0,22,0 ================================================ FILE: schedules/22_8.csv ================================================ 18,0,4,0,10,0,21,0,22,0,14,0 17,0,2,0,5,0,16,0,13,0,15,0 6,0,1,0,11,0,8,0,12,0,19,0 9,0,20,0,16,0,7,0,3,0,18,0 1,0,10,0,8,0,5,0,4,0,21,0 17,0,22,0,15,0,3,0,13,0,12,0 9,0,11,0,19,0,2,0,14,0,20,0 7,0,21,0,17,0,6,0,12,0,22,0 5,1,1,0,16,0,10,1,19,0,20,0 6,1,13,0,2,0,11,1,18,0,9,0 4,0,7,0,8,0,15,0,3,0,14,0 19,0,13,0,1,0,18,0,17,0,16,0 12,0,21,0,11,0,14,0,5,0,9,0 3,0,4,0,6,0,2,0,22,0,10,0 8,0,20,0,18,0,7,0,15,0,11,0 13,0,6,0,17,0,4,0,19,0,14,0 16,0,7,0,12,0,21,0,10,0,3,0 8,0,15,0,2,0,22,0,1,0,9,0 5,0,18,0,19,0,20,0,17,0,12,0 14,0,13,0,10,0,16,0,11,0,8,0 5,0,3,0,22,0,21,0,1,0,2,0 20,0,4,0,15,0,9,0,7,0,6,0 18,0,2,0,12,0,13,0,8,0,5,0 16,0,4,0,22,0,3,0,11,0,20,0 9,0,15,0,21,0,6,0,19,0,10,0 14,0,17,0,8,0,7,0,1,0,20,0 11,0,13,0,22,0,16,0,21,0,6,0 2,0,3,0,19,0,5,0,7,0,10,0 14,0,18,0,1,0,9,0,4,0,12,0 15,0,5,0,6,0,17,0,10,0,11,0 ================================================ FILE: schedules/22_9.csv ================================================ 21,0,12,0,20,0,22,0,8,0,1,0 11,0,19,0,5,0,14,0,16,0,15,0 6,0,7,0,17,0,13,0,2,0,18,0 9,0,3,0,20,0,4,0,10,0,21,0 1,0,18,0,16,0,15,0,13,0,19,0 10,0,9,0,22,0,11,0,17,0,2,0 3,0,6,0,4,0,8,0,7,0,5,0 12,0,15,0,9,0,14,0,20,0,18,0 4,0,8,0,19,0,2,0,5,0,10,0 17,0,16,0,12,0,21,0,6,0,1,0 14,0,13,0,3,0,7,0,11,0,22,0 2,0,1,0,20,0,15,0,4,0,17,0 9,0,18,0,5,0,12,0,8,0,13,0 22,0,19,0,21,0,10,0,14,0,6,0 16,0,11,0,20,0,3,0,7,0,18,0 15,0,5,0,21,0,22,0,17,0,19,0 6,0,13,0,9,0,12,0,2,0,3,0 11,0,8,0,10,0,4,0,1,0,14,0 7,0,20,0,13,0,16,0,22,0,5,0 18,0,17,0,21,0,11,0,9,0,14,0 6,0,8,0,16,0,3,0,15,0,10,0 7,0,2,0,4,0,12,0,19,0,1,0 18,0,15,0,8,0,5,0,3,0,17,0 13,0,1,0,10,0,7,0,19,0,9,0 22,0,12,0,11,0,20,0,4,0,16,0 6,0,2,0,15,0,14,0,21,0,7,0 19,0,10,0,18,0,13,0,4,0,22,0 11,0,3,0,1,0,5,0,20,0,6,0 17,0,14,0,8,0,16,0,9,0,2,0 12,0,5,0,4,0,21,0,13,0,11,0 2,0,14,0,22,0,16,0,3,0,19,0 17,0,10,0,20,0,12,0,6,0,18,0 7,0,1,0,15,0,21,0,9,0,8,0 ================================================ FILE: schedules/23_1.csv ================================================ 1,0,16,0,22,0,20,0,17,0,13,0 9,0,3,0,7,0,5,0,2,0,10,0 23,0,14,0,4,0,15,0,18,0,11,0 8,0,19,0,6,0,21,0,12,0,16,1 ================================================ FILE: schedules/23_10.csv ================================================ 14,0,23,0,13,0,6,0,22,0,2,0 19,0,3,0,4,0,18,0,9,0,16,0 10,0,21,0,5,0,11,0,8,0,1,0 7,0,20,0,15,0,17,0,12,0,16,0 6,0,14,0,13,0,9,0,8,0,19,0 4,0,11,0,5,0,15,0,21,0,1,0 2,0,18,0,17,0,12,0,3,0,22,0 23,0,20,0,15,0,7,0,10,0,1,0 2,1,3,0,17,0,6,1,5,0,14,0 11,1,18,0,7,0,20,1,13,0,10,0 8,0,16,0,22,0,21,0,23,0,9,0 4,0,12,0,18,0,19,0,5,0,20,0 16,0,6,0,1,0,7,0,17,0,13,0 15,0,2,0,8,0,19,0,23,0,22,0 3,0,11,0,10,0,12,0,14,0,21,0 4,0,23,0,1,0,9,0,17,0,5,0 12,0,6,0,20,0,3,0,15,0,14,0 10,0,18,0,8,0,4,0,2,0,9,0 19,0,7,0,22,0,13,0,21,0,11,0 16,0,23,0,3,0,17,0,2,0,1,0 19,0,6,0,10,0,4,0,8,0,7,0 12,0,15,0,9,0,14,0,22,0,11,0 20,0,18,0,21,0,13,0,16,0,5,0 19,0,12,0,11,0,23,0,7,0,2,0 22,0,5,0,1,0,14,0,10,0,20,0 9,0,13,0,3,0,16,0,15,0,4,0 21,0,17,0,8,0,18,0,6,0,20,0 22,0,9,0,10,0,7,0,5,0,12,0 17,0,14,0,4,0,16,0,21,0,19,0 23,0,6,0,8,0,18,0,3,0,1,0 2,0,13,0,5,0,11,0,15,0,10,0 3,0,7,0,21,0,4,0,20,0,22,0 1,0,14,0,9,0,12,0,8,0,13,0 11,0,2,0,19,0,17,0,15,0,6,0 16,0,14,0,7,0,18,0,23,0,5,0 10,0,2,0,12,0,21,0,6,0,4,0 11,0,17,0,23,0,3,0,20,0,8,0 22,0,15,0,18,0,1,0,13,0,19,0 16,0,2,0,20,0,9,0,6,0,11,0 ================================================ FILE: schedules/23_11.csv ================================================ 10,0,1,0,22,0,4,0,5,0,18,0 13,0,19,0,17,0,20,0,11,0,15,0 14,0,2,0,23,0,12,0,7,0,21,0 6,0,9,0,16,0,3,0,8,0,17,0 5,0,19,0,15,0,4,0,10,0,2,0 8,0,21,0,13,0,3,0,11,0,1,0 12,0,23,0,9,0,18,0,6,0,22,0 20,0,16,0,3,0,14,0,7,0,10,0 13,1,11,0,2,0,8,1,5,0,6,0 18,1,19,0,22,0,4,1,15,0,21,0 16,1,7,0,17,0,9,0,1,0,14,0 12,0,20,0,6,0,23,0,8,0,19,0 13,0,10,0,9,0,16,0,14,0,15,0 17,0,1,0,21,0,7,0,22,0,20,0 4,0,3,0,2,0,18,0,23,0,11,0 5,0,6,0,10,0,12,0,13,0,7,0 9,0,18,0,20,0,3,0,21,0,19,0 16,0,22,0,5,0,23,0,4,0,12,0 14,0,8,0,1,0,17,0,15,0,2,0 11,0,4,0,6,0,9,0,21,0,22,0 23,0,15,0,13,0,5,0,8,0,14,0 12,0,3,0,2,0,10,0,20,0,17,0 18,0,7,0,1,0,19,0,16,0,11,0 14,0,22,0,17,0,5,0,2,0,9,0 12,0,15,0,1,0,18,0,10,0,16,0 7,0,11,0,8,0,20,0,4,0,19,0 23,0,21,0,10,0,6,0,3,0,13,0 18,0,20,0,8,0,4,0,14,0,22,0 16,0,2,0,21,0,1,0,17,0,6,0 13,0,23,0,5,0,7,0,19,0,9,0 11,0,12,0,14,0,15,0,3,0,22,0 20,0,6,0,2,0,1,0,4,0,13,0 19,0,10,0,12,0,17,0,9,0,11,0 15,0,18,0,21,0,3,0,7,0,5,0 8,0,19,0,2,0,16,0,23,0,22,0 14,0,3,0,18,0,5,0,17,0,12,0 7,0,21,0,6,0,10,0,15,0,8,0 1,0,23,0,20,0,9,0,11,0,13,0 4,0,7,0,15,0,16,0,8,0,12,0 11,0,18,0,5,0,14,0,6,0,23,0 16,0,17,0,4,0,13,0,21,0,20,0 3,0,9,0,10,0,2,0,1,0,19,0 22,0,8,0,4,0,13,0,18,0,16,0 ================================================ FILE: schedules/23_12.csv ================================================ 22,0,3,0,7,0,13,0,6,0,2,0 23,0,16,0,11,0,15,0,4,0,17,0 9,0,12,0,18,0,14,0,10,0,19,0 5,0,8,0,20,0,1,0,21,0,7,0 19,0,3,0,15,0,2,0,12,0,6,0 5,0,18,0,13,0,10,0,1,0,16,0 22,0,20,0,4,0,9,0,8,0,14,0 17,0,23,0,10,0,11,0,21,0,3,0 7,0,18,0,2,0,19,0,8,0,5,0 14,0,11,0,6,0,21,0,16,0,22,0 12,0,13,0,17,0,20,0,23,0,9,0 1,0,15,0,8,0,4,0,5,0,10,0 19,0,21,0,12,0,16,0,13,0,20,0 6,0,18,0,3,0,4,0,17,0,14,0 9,0,1,0,11,0,2,0,7,0,23,0 22,0,17,0,10,0,15,0,12,0,18,0 3,0,14,0,16,0,20,0,6,0,1,0 19,0,7,0,4,0,23,0,21,0,5,0 22,0,8,0,11,0,9,0,13,0,15,0 2,0,4,0,10,0,14,0,5,0,12,0 19,0,16,0,18,0,22,0,15,0,23,0 6,0,17,0,21,0,8,0,13,0,2,0 20,0,3,0,1,0,11,0,9,0,7,0 12,0,8,0,18,0,16,0,5,0,6,0 1,0,4,0,11,0,22,0,20,0,19,0 14,0,2,0,21,0,15,0,23,0,3,0 17,0,9,0,16,0,7,0,10,0,13,0 2,0,1,0,22,0,18,0,4,0,23,0 13,0,19,0,6,0,10,0,20,0,9,0 7,0,5,0,17,0,15,0,11,0,14,0 21,0,8,0,4,0,3,0,12,0,22,0 9,0,2,0,5,0,1,0,17,0,14,0 23,0,12,0,20,0,15,0,7,0,6,0 13,0,3,0,21,0,18,0,10,0,11,0 16,0,8,0,7,0,19,0,17,0,2,0 21,0,20,0,15,0,18,0,14,0,22,0 10,0,8,0,23,0,4,0,9,0,3,0 13,0,19,0,11,0,1,0,5,0,6,0 12,0,10,0,15,0,16,0,7,0,2,0 13,0,14,0,23,0,8,0,18,0,1,0 5,0,3,0,16,0,17,0,19,0,22,0 6,0,9,0,4,0,12,0,11,0,21,0 20,0,14,0,7,0,19,0,10,0,23,0 15,0,5,0,9,0,21,0,18,0,6,0 2,0,20,0,11,0,17,0,3,0,8,0 13,0,22,0,1,0,16,0,4,0,12,0 ================================================ FILE: schedules/23_13.csv ================================================ 5,0,17,0,21,0,16,0,3,0,14,0 9,0,2,0,19,0,10,0,11,0,6,0 7,0,4,0,8,0,20,0,12,0,18,0 15,0,23,0,13,0,1,0,22,0,17,0 21,0,7,0,3,0,11,0,12,0,9,0 14,0,22,0,5,0,18,0,15,0,2,0 4,0,1,0,20,0,16,0,8,0,19,0 23,0,6,0,7,0,10,0,13,0,17,0 19,1,8,0,14,0,22,0,16,0,21,0 4,0,11,0,15,0,9,0,13,0,6,0 5,0,12,0,10,0,3,0,20,0,1,0 18,0,23,0,14,0,2,0,21,0,7,0 9,0,20,0,16,0,12,0,17,0,15,0 11,0,3,0,18,0,13,0,22,0,19,0 2,0,5,0,8,0,4,0,1,0,23,0 6,0,16,0,12,0,10,0,14,0,13,0 22,0,21,0,8,0,23,0,19,0,4,0 11,0,2,0,20,0,6,0,18,0,17,0 15,0,9,0,7,0,3,0,5,0,10,0 1,0,2,0,14,0,21,0,20,0,13,0 18,0,6,0,7,0,9,0,3,0,8,0 17,0,4,0,22,0,16,0,10,0,15,0 5,0,19,0,11,0,1,0,12,0,23,0 15,0,20,0,6,0,2,0,7,0,16,0 23,0,11,0,17,0,8,0,18,0,5,0 10,0,9,0,1,0,12,0,19,0,14,0 22,0,13,0,20,0,21,0,4,0,3,0 17,0,19,0,15,0,10,0,8,0,2,0 3,0,9,0,23,0,6,0,4,0,22,0 16,0,14,0,11,0,13,0,1,0,7,0 18,0,21,0,19,0,5,0,12,0,6,0 20,0,23,0,10,0,2,0,17,0,3,0 5,0,16,0,13,0,9,0,18,0,22,0 1,0,11,0,8,0,14,0,7,0,15,0 12,0,21,0,9,0,4,0,17,0,20,0 19,0,8,0,6,0,5,0,15,0,14,0 21,0,10,0,23,0,18,0,13,0,11,0 3,0,2,0,12,0,1,0,4,0,16,0 22,0,19,0,10,0,7,0,5,0,20,0 3,0,15,0,13,0,18,0,23,0,16,0 1,0,6,0,21,0,22,0,11,0,7,0 2,0,12,0,14,0,9,0,17,0,8,0 4,0,18,0,10,0,21,0,15,0,1,0 16,0,22,0,3,0,11,0,19,0,20,0 8,0,13,0,12,0,23,0,6,0,2,0 17,0,7,0,14,0,5,0,4,0,9,0 1,0,19,0,18,0,3,0,15,0,6,0 23,0,22,0,5,0,14,0,10,0,20,0 17,0,9,0,16,0,8,0,21,0,11,0 2,0,13,0,4,0,7,0,12,0,19,0 ================================================ FILE: schedules/23_14.csv ================================================ 14,0,20,0,7,0,23,0,15,0,4,0 16,0,13,0,12,0,3,0,17,0,18,0 11,0,22,0,2,0,9,0,8,0,5,0 1,0,10,0,21,0,6,0,19,0,17,0 4,0,5,0,20,0,7,0,2,0,12,0 8,0,1,0,22,0,16,0,13,0,23,0 9,0,11,0,18,0,14,0,10,0,19,0 6,0,3,0,12,0,21,0,15,0,22,0 19,1,20,0,10,0,16,1,7,0,8,0 18,0,14,0,23,0,9,0,3,0,2,0 17,0,21,0,6,0,11,0,15,0,5,0 13,0,1,0,19,0,4,0,12,0,8,0 21,0,23,0,14,0,9,0,16,0,17,0 22,0,20,0,3,0,18,0,11,0,4,0 2,0,13,0,7,0,6,0,15,0,10,0 5,0,9,0,14,0,1,0,11,0,20,0 15,0,3,0,8,0,6,0,7,0,4,0 12,0,1,0,19,0,2,0,17,0,16,0 10,0,23,0,5,0,13,0,21,0,18,0 22,0,9,0,16,0,20,0,6,0,2,0 10,0,4,0,3,0,5,0,13,0,17,0 21,0,19,0,15,0,8,0,22,0,14,0 1,0,7,0,18,0,23,0,11,0,12,0 3,0,19,0,6,0,4,0,9,0,2,0 12,0,10,0,8,0,5,0,22,0,18,0 15,0,13,0,14,0,16,0,1,0,20,0 11,0,21,0,7,0,17,0,23,0,2,0 1,0,6,0,9,0,3,0,5,0,8,0 10,0,13,0,20,0,19,0,23,0,15,0 17,0,4,0,22,0,18,0,7,0,16,0 21,0,12,0,5,0,11,0,14,0,13,0 2,0,22,0,23,0,1,0,15,0,4,0 12,0,18,0,20,0,21,0,6,0,8,0 16,0,11,0,14,0,10,0,19,0,3,0 17,0,7,0,15,0,9,0,1,0,18,0 4,0,3,0,11,0,21,0,2,0,10,0 17,0,12,0,22,0,9,0,20,0,23,0 19,0,16,0,6,0,13,0,5,0,7,0 8,0,18,0,2,0,14,0,3,0,1,0 16,0,10,0,9,0,20,0,12,0,21,0 22,0,13,0,8,0,11,0,17,0,7,0 5,0,4,0,19,0,6,0,23,0,14,0 15,0,12,0,16,0,11,0,10,0,8,0 3,0,23,0,7,0,1,0,9,0,21,0 15,0,18,0,20,0,19,0,2,0,5,0 4,0,17,0,14,0,13,0,22,0,6,0 23,0,1,0,5,0,20,0,8,0,19,0 14,0,2,0,18,0,22,0,10,0,7,0 21,0,4,0,13,0,15,0,9,0,12,0 6,0,11,0,3,0,16,0,17,0,20,0 7,0,9,0,19,0,1,0,14,0,12,0 15,0,2,0,5,0,21,0,16,0,3,0 23,0,8,0,17,0,6,0,10,0,18,0 4,0,13,0,16,0,11,0,22,0,19,0 ================================================ FILE: schedules/23_2.csv ================================================ 17,0,9,0,15,0,19,0,8,0,7,0 2,0,5,0,22,0,18,0,20,0,10,0 6,0,11,0,12,0,16,0,23,0,21,0 14,0,1,0,13,0,4,0,3,0,22,0 9,0,20,0,12,0,15,0,18,0,6,0 2,0,4,0,23,0,5,0,3,0,19,0 7,0,17,0,16,0,21,0,10,0,14,0 8,0,1,0,2,1,13,0,11,0,18,1 ================================================ FILE: schedules/23_3.csv ================================================ 19,0,23,0,6,0,7,0,22,0,8,0 17,0,2,0,3,0,10,0,12,0,14,0 11,0,9,0,4,0,16,0,5,0,13,0 21,0,20,0,1,0,18,0,15,0,6,0 7,1,4,0,13,0,22,1,17,0,12,0 9,0,2,0,1,0,11,1,3,0,8,0 23,0,21,0,5,0,10,0,19,0,20,0 18,0,14,0,8,0,15,0,16,0,4,0 5,0,22,0,10,0,7,0,12,0,1,0 15,0,3,0,20,0,19,0,17,0,11,0 18,0,16,0,23,0,6,0,13,0,2,0 14,0,7,0,11,0,21,0,9,0,22,0 ================================================ FILE: schedules/23_4.csv ================================================ 9,0,6,0,16,0,22,0,18,0,5,0 3,0,20,0,4,0,11,0,2,0,17,0 12,0,23,0,15,0,8,0,7,0,13,0 10,0,21,0,22,0,19,0,1,0,14,0 23,0,16,0,20,0,3,0,9,0,15,0 18,0,2,0,1,0,5,0,14,0,13,0 10,0,8,0,12,0,6,0,11,0,4,0 7,0,17,0,16,0,21,0,19,0,2,0 18,1,14,0,8,0,5,1,20,0,12,0 15,1,1,0,11,0,23,1,6,0,17,0 13,0,22,0,9,0,4,0,21,0,7,0 19,0,10,0,18,0,3,0,8,0,23,0 2,0,15,0,20,0,12,0,1,0,22,0 19,0,17,0,13,0,10,0,9,0,5,0 7,0,14,0,6,0,11,0,3,0,16,0 4,0,5,0,15,0,21,0,18,0,23,0 ================================================ FILE: schedules/23_5.csv ================================================ 8,0,16,0,15,0,7,0,1,0,19,0 2,0,23,0,20,0,17,0,6,0,18,0 13,0,3,0,5,0,14,0,11,0,12,0 4,0,22,0,18,0,9,0,21,0,10,0 12,0,17,0,13,0,1,0,8,0,2,0 7,0,6,0,11,0,22,0,21,0,3,0 19,0,14,0,16,0,23,0,10,0,4,0 5,0,20,0,8,0,15,0,9,0,13,0 16,1,22,0,10,0,17,1,3,0,23,0 21,1,6,0,20,0,9,1,12,0,19,0 4,0,1,0,5,0,2,1,18,0,7,0 11,0,15,0,10,0,14,0,8,0,6,0 12,0,21,0,7,0,23,0,16,0,13,0 2,0,22,0,17,0,19,0,15,0,5,0 3,0,1,0,11,0,20,0,4,0,9,0 18,0,16,0,12,0,14,0,15,0,22,0 1,0,23,0,21,0,10,0,2,0,5,0 7,0,9,0,14,0,20,0,19,0,17,0 6,0,4,0,3,0,13,0,18,0,8,0 11,0,17,0,9,0,16,0,21,0,2,0 ================================================ FILE: schedules/23_6.csv ================================================ 16,0,9,0,17,0,12,0,6,0,10,0 8,0,20,0,15,0,14,0,3,0,5,0 2,0,18,0,23,0,21,0,7,0,4,0 13,0,19,0,11,0,22,0,1,0,16,0 17,0,10,0,18,0,5,0,15,0,23,0 14,0,7,0,11,0,4,0,9,0,20,0 6,0,3,0,8,0,21,0,13,0,1,0 12,0,22,0,5,0,2,0,19,0,14,0 23,0,7,0,3,0,9,0,6,0,11,0 18,0,1,0,20,0,13,0,16,0,12,0 15,0,10,0,21,0,19,0,4,0,22,0 2,0,8,0,1,0,17,0,11,0,20,0 14,0,21,0,22,0,18,0,6,0,15,0 9,0,13,0,7,0,19,0,17,0,5,0 2,0,4,0,16,0,12,0,23,0,8,0 10,0,11,0,5,0,3,0,21,0,18,0 20,0,16,0,6,0,9,0,2,0,15,0 1,0,7,0,12,0,10,0,22,0,8,0 23,0,4,0,14,0,3,0,13,0,17,0 19,0,21,0,9,0,16,0,18,0,8,0 14,0,15,0,13,0,7,0,10,0,2,0 23,0,17,0,22,0,19,0,3,0,20,0 11,0,4,0,12,0,6,0,1,0,5,0 ================================================ FILE: schedules/23_7.csv ================================================ 22,0,10,0,1,0,20,0,2,0,3,0 13,0,11,0,5,0,23,0,18,0,19,0 6,0,21,0,17,0,7,0,9,0,14,0 15,0,16,0,12,0,8,0,4,0,11,0 18,0,6,0,9,0,19,0,1,0,2,0 20,0,14,0,4,0,3,0,5,0,16,0 17,0,23,0,10,0,22,0,15,0,21,0 7,0,13,0,20,0,8,0,12,0,2,0 21,1,16,0,1,0,11,0,6,0,22,0 7,0,17,0,19,0,18,0,3,0,15,0 9,0,8,0,13,0,4,0,5,0,10,0 23,0,14,0,6,0,12,0,20,0,22,0 7,0,21,0,5,0,16,0,13,0,19,0 1,0,18,0,8,0,15,0,14,0,10,0 11,0,23,0,2,0,9,0,4,0,17,0 12,0,18,0,5,0,3,0,10,0,6,0 20,0,16,0,23,0,11,0,1,0,17,0 9,0,3,0,19,0,12,0,14,0,21,0 22,0,2,0,4,0,8,0,7,0,15,0 11,0,3,0,14,0,13,0,23,0,21,0 20,0,9,0,10,0,7,0,16,0,18,0 8,0,22,0,19,0,17,0,2,0,5,0 13,0,4,0,15,0,12,0,1,0,6,0 21,0,10,0,2,0,14,0,16,0,17,0 22,0,3,0,13,0,11,0,9,0,15,0 6,0,8,0,5,0,7,0,23,0,1,0 19,0,12,0,4,0,20,0,18,0,21,0 ================================================ FILE: schedules/23_8.csv ================================================ 4,0,11,0,14,0,1,0,7,0,21,0 9,0,5,0,20,0,8,0,12,0,13,0 15,0,19,0,10,0,17,0,2,0,3,0 6,0,22,0,18,0,16,0,23,0,14,0 4,0,13,0,21,0,20,0,3,0,7,0 18,0,1,0,8,0,11,0,15,0,9,0 19,0,23,0,2,0,16,0,12,0,6,0 17,0,22,0,13,0,5,0,10,0,4,0 9,1,2,0,6,0,21,1,18,0,20,0 1,0,10,0,12,0,19,0,3,0,22,0 17,0,7,0,11,0,23,0,5,0,8,0 16,0,22,0,21,0,14,0,15,0,13,0 20,0,11,0,23,0,17,0,9,0,1,0 3,0,16,0,10,0,7,0,8,0,14,0 5,0,19,0,18,0,2,0,4,0,12,0 15,0,21,0,3,0,6,0,17,0,23,0 20,0,14,0,2,0,10,0,8,0,22,0 11,0,5,0,12,0,15,0,18,0,4,0 7,0,16,0,9,0,1,0,6,0,19,0 13,0,11,0,3,0,15,0,12,0,22,0 4,0,7,0,6,0,10,0,9,0,21,0 5,0,14,0,17,0,2,0,1,0,16,0 18,0,23,0,13,0,19,0,8,0,20,0 9,0,12,0,3,0,22,0,7,0,2,0 21,0,14,0,19,0,5,0,13,0,1,0 20,0,10,0,6,0,11,0,18,0,16,0 17,0,15,0,8,0,23,0,4,0,22,0 13,0,19,0,16,0,11,0,2,0,21,0 9,0,4,0,8,0,6,0,5,0,3,0 15,0,1,0,20,0,23,0,7,0,10,0 17,0,12,0,21,0,18,0,14,0,9,0 ================================================ FILE: schedules/23_9.csv ================================================ 13,0,18,0,4,0,10,0,15,0,12,0 7,0,9,0,3,0,11,0,21,0,2,0 5,0,17,0,23,0,6,0,22,0,19,0 20,0,14,0,16,0,1,0,8,0,3,0 15,0,6,0,17,0,10,0,7,0,18,0 11,0,13,0,12,0,16,0,2,0,23,0 5,0,20,0,19,0,14,0,9,0,1,0 4,0,8,0,2,0,21,0,22,0,18,0 6,1,1,0,20,0,19,1,17,0,13,0 23,1,15,0,7,0,16,0,22,0,5,0 3,0,14,0,10,0,12,0,9,0,4,0 21,0,6,0,13,0,11,0,8,0,19,0 14,0,4,0,23,0,3,0,20,0,17,0 1,0,11,0,10,0,8,0,18,0,15,0 7,0,22,0,2,0,9,0,12,0,16,0 5,0,18,0,6,0,21,0,10,0,20,0 1,0,22,0,4,0,7,0,17,0,11,0 2,0,12,0,14,0,8,0,13,0,5,0 21,0,9,0,23,0,16,0,15,0,3,0 8,0,12,0,22,0,19,0,2,0,10,0 9,0,5,0,11,0,4,0,20,0,15,0 16,0,18,0,19,0,7,0,6,0,14,0 21,0,1,0,17,0,23,0,13,0,3,0 9,0,2,0,15,0,16,0,6,0,4,0 1,0,23,0,18,0,22,0,10,0,13,0 14,0,17,0,8,0,21,0,7,0,5,0 19,0,12,0,3,0,11,0,20,0,18,0 4,0,17,0,10,0,13,0,16,0,1,0 2,0,3,0,5,0,19,0,15,0,23,0 7,0,12,0,20,0,6,0,8,0,9,0 11,0,22,0,23,0,14,0,21,0,19,0 13,0,20,0,9,0,18,0,17,0,2,0 11,0,3,0,6,0,22,0,14,0,15,0 21,0,16,0,8,0,12,0,1,0,5,0 4,0,7,0,19,0,10,0,6,0,23,0 ================================================ FILE: schedules/24_1.csv ================================================ 7,0,1,0,3,0,10,0,16,0,20,0 19,0,22,0,15,0,17,0,12,0,6,0 4,0,13,0,18,0,2,0,11,0,9,0 21,0,23,0,5,0,24,0,8,0,14,0 ================================================ FILE: schedules/24_10.csv ================================================ 13,0,16,0,6,0,18,0,10,0,14,0 24,0,12,0,11,0,21,0,7,0,9,0 8,0,17,0,2,0,15,0,23,0,4,0 1,0,3,0,19,0,5,0,22,0,20,0 8,0,24,0,6,0,13,0,14,0,17,0 12,0,15,0,20,0,21,0,11,0,2,0 1,0,16,0,23,0,5,0,19,0,7,0 9,0,10,0,22,0,18,0,3,0,4,0 11,0,15,0,14,0,21,0,19,0,16,0 4,0,8,0,7,0,10,0,1,0,24,0 23,0,13,0,9,0,6,0,3,0,20,0 17,0,18,0,5,0,12,0,22,0,2,0 21,0,20,0,14,0,8,0,11,0,9,0 3,0,15,0,10,0,18,0,5,0,6,0 4,0,1,0,13,0,16,0,12,0,17,0 7,0,2,0,24,0,19,0,22,0,23,0 3,0,5,0,21,0,8,0,1,0,18,0 7,0,13,0,12,0,19,0,9,0,15,0 20,0,17,0,10,0,22,0,16,0,24,0 4,0,2,0,14,0,6,0,23,0,11,0 18,0,7,0,22,0,21,0,15,0,13,0 16,0,3,0,2,0,5,0,24,0,14,0 6,0,19,0,12,0,23,0,20,0,8,0 10,0,4,0,11,0,9,0,1,0,17,0 18,0,12,0,21,0,24,0,19,0,13,0 8,0,15,0,5,0,9,0,16,0,4,0 22,0,11,0,17,0,3,0,23,0,14,0 6,0,10,0,7,0,20,0,1,0,2,0 21,0,24,0,23,0,4,0,19,0,17,0 6,0,2,0,9,0,13,0,10,0,5,0 20,0,16,0,18,0,3,0,7,0,11,0 22,0,1,0,15,0,8,0,14,0,12,0 19,0,11,0,18,0,4,0,24,0,20,0 1,0,14,0,9,0,22,0,13,0,2,0 12,0,5,0,23,0,10,0,21,0,8,0 17,0,3,0,6,0,15,0,7,0,16,0 4,0,22,0,5,0,20,0,11,0,13,0 17,0,23,0,7,0,3,0,9,0,12,0 18,0,15,0,24,0,21,0,6,0,1,0 2,0,10,0,19,0,16,0,8,0,14,0 ================================================ FILE: schedules/24_11.csv ================================================ 2,0,17,0,21,0,18,0,4,0,6,0 14,0,5,0,23,0,13,0,22,0,1,0 3,0,11,0,16,0,7,0,15,0,12,0 9,0,20,0,8,0,10,0,24,0,19,0 15,0,23,0,3,0,14,0,21,0,12,0 20,0,18,0,13,0,8,0,7,0,1,0 16,0,6,0,19,0,11,0,24,0,9,0 17,0,4,0,10,0,5,0,2,0,22,0 18,0,1,0,11,0,24,0,15,0,8,0 4,0,19,0,5,0,10,0,3,0,7,0 6,0,14,0,9,0,20,0,21,0,23,0 13,0,17,0,12,0,2,0,16,0,22,0 15,0,1,0,23,0,11,0,8,0,6,0 12,0,22,0,3,0,18,0,24,0,21,0 9,0,2,0,10,0,4,0,20,0,14,0 17,0,16,0,13,0,7,0,19,0,5,0 10,0,12,0,8,0,2,0,15,0,6,0 4,0,16,0,1,0,9,0,13,0,3,0 7,0,18,0,14,0,23,0,5,0,24,0 22,0,11,0,21,0,20,0,19,0,17,0 23,0,7,0,2,0,1,0,9,0,16,0 11,0,17,0,5,0,8,0,14,0,3,0 6,0,20,0,24,0,13,0,4,0,12,0 18,0,19,0,22,0,15,0,10,0,21,0 24,0,4,0,1,0,8,0,23,0,17,0 15,0,16,0,14,0,20,0,3,0,22,0 7,0,21,0,6,0,19,0,11,0,2,0 10,0,5,0,13,0,12,0,18,0,9,0 7,0,22,0,20,0,19,0,1,0,14,0 12,0,16,0,24,0,9,0,21,0,5,0 10,0,8,0,23,0,17,0,6,0,3,0 13,0,11,0,15,0,18,0,4,0,2,0 6,0,20,0,12,0,7,0,16,0,5,0 4,0,11,0,8,0,21,0,14,0,13,0 23,0,19,0,9,0,15,0,17,0,18,0 1,0,2,0,3,0,22,0,10,0,24,0 4,0,7,0,9,0,16,0,8,0,18,0 12,0,19,0,21,0,17,0,10,0,1,0 3,0,24,0,2,0,20,0,14,0,11,0 5,0,15,0,22,0,6,0,23,0,13,0 2,0,8,0,21,0,16,0,10,0,20,0 13,0,7,0,24,0,15,0,14,0,17,0 3,0,18,0,19,0,1,0,6,0,5,0 9,0,4,0,22,0,12,0,23,0,11,0 ================================================ FILE: schedules/24_12.csv ================================================ 4,0,13,0,1,0,12,0,8,0,24,0 3,0,19,0,18,0,10,0,9,0,2,0 23,0,6,0,5,0,16,0,7,0,14,0 20,0,15,0,11,0,22,0,17,0,21,0 8,0,23,0,2,0,16,0,3,0,1,0 15,0,17,0,7,0,6,0,13,0,10,0 5,0,20,0,24,0,14,0,11,0,18,0 22,0,4,0,12,0,9,0,21,0,19,0 11,0,16,0,24,0,7,0,3,0,17,0 5,0,14,0,12,0,21,0,6,0,10,0 23,0,20,0,9,0,4,0,8,0,15,0 13,0,18,0,22,0,1,0,2,0,19,0 9,0,5,0,4,0,16,0,20,0,10,0 3,0,15,0,21,0,1,0,8,0,22,0 6,0,14,0,19,0,13,0,24,0,2,0 18,0,7,0,12,0,11,0,17,0,23,0 21,0,20,0,8,0,14,0,2,0,3,0 7,0,4,0,6,0,16,0,12,0,17,0 13,0,11,0,9,0,18,0,15,0,23,0 5,0,10,0,1,0,24,0,22,0,19,0 16,0,3,0,6,0,21,0,4,0,23,0 19,0,8,0,13,0,11,0,17,0,5,0 10,0,15,0,12,0,1,0,18,0,20,0 24,0,9,0,14,0,2,0,22,0,7,0 21,0,11,0,8,0,13,0,6,0,10,0 20,0,9,0,17,0,23,0,19,0,3,0 15,0,1,0,2,0,5,0,7,0,4,0 16,0,12,0,22,0,18,0,14,0,24,0 3,0,8,0,10,0,13,0,7,0,9,0 15,0,19,0,5,0,16,0,21,0,18,0 14,0,22,0,20,0,12,0,11,0,1,0 6,0,24,0,23,0,17,0,2,0,4,0 10,0,11,0,7,0,19,0,8,0,12,0 22,0,4,0,14,0,20,0,23,0,6,0 1,0,17,0,24,0,9,0,15,0,16,0 21,0,2,0,18,0,13,0,5,0,3,0 4,0,16,0,19,0,14,0,10,0,15,0 6,0,17,0,1,0,9,0,18,0,8,0 12,0,23,0,13,0,22,0,5,0,3,0 7,0,24,0,21,0,11,0,20,0,2,0 10,0,17,0,18,0,14,0,23,0,1,0 16,0,2,0,5,0,9,0,12,0,6,0 21,0,13,0,8,0,19,0,7,0,20,0 3,0,11,0,4,0,24,0,22,0,15,0 17,0,14,0,8,0,5,0,21,0,18,0 12,0,20,0,3,0,15,0,6,0,13,0 23,0,2,0,16,0,22,0,11,0,10,0 7,0,9,0,1,0,4,0,24,0,19,0 ================================================ FILE: schedules/24_13.csv ================================================ 21,0,13,0,8,0,23,0,19,0,16,0 4,0,1,0,6,0,12,0,17,0,9,0 5,0,22,0,2,0,20,0,7,0,15,0 24,0,18,0,11,0,10,0,3,0,14,0 15,0,23,0,5,0,19,0,13,0,6,0 2,0,10,0,7,0,9,0,3,0,1,0 11,0,12,0,24,0,14,0,21,0,22,0 17,0,18,0,8,0,16,0,4,0,20,0 3,0,22,0,10,0,5,0,9,0,12,0 13,0,24,0,23,0,21,0,2,0,18,0 15,0,17,0,4,0,7,0,11,0,8,0 20,0,19,0,6,0,14,0,16,0,1,0 18,0,7,0,5,0,24,0,8,0,22,0 10,0,6,0,21,0,17,0,2,0,3,0 23,0,14,0,12,0,13,0,16,0,20,0 11,0,9,0,4,0,1,0,19,0,15,0 16,0,6,0,17,0,23,0,21,0,7,0 24,0,4,0,2,0,15,0,12,0,3,0 20,0,8,0,9,0,10,0,13,0,11,0 22,0,18,0,1,0,5,0,14,0,19,0 17,0,9,0,13,0,24,0,16,0,21,0 14,0,1,0,7,0,2,0,8,0,23,0 12,0,22,0,10,0,11,0,15,0,6,0 20,0,5,0,3,0,18,0,19,0,4,0 10,0,8,0,16,0,14,0,17,0,15,0 24,0,9,0,19,0,3,0,11,0,23,0 1,0,5,0,21,0,18,0,12,0,4,0 13,0,2,0,20,0,22,0,7,0,6,0 1,0,17,0,10,0,23,0,24,0,5,0 6,0,8,0,12,0,11,0,19,0,21,0 3,0,16,0,15,0,18,0,20,0,7,0 4,0,14,0,2,0,9,0,13,0,22,0 1,0,15,0,8,0,18,0,3,0,6,0 5,0,11,0,16,0,13,0,12,0,2,0 21,0,19,0,22,0,10,0,4,0,23,0 24,0,17,0,7,0,9,0,14,0,20,0 4,0,3,0,21,0,1,0,13,0,16,0 2,0,19,0,12,0,17,0,18,0,10,0 15,0,22,0,11,0,7,0,23,0,9,0 20,0,14,0,24,0,8,0,5,0,6,0 18,0,15,0,9,0,23,0,22,0,17,0 7,0,19,0,16,0,4,0,10,0,5,0 14,0,13,0,6,0,2,0,11,0,1,0 20,0,12,0,21,0,3,0,8,0,24,0 19,0,18,0,16,0,2,0,9,0,6,0 1,0,20,0,23,0,24,0,10,0,15,0 7,0,12,0,3,0,13,0,17,0,5,0 14,0,11,0,8,0,21,0,22,0,4,0 10,0,6,0,23,0,24,0,5,0,1,0 21,0,2,0,15,0,11,0,20,0,17,0 22,0,16,0,9,0,8,0,19,0,3,0 18,0,13,0,14,0,12,0,7,0,4,0 ================================================ FILE: schedules/24_14.csv ================================================ 14,0,22,0,24,0,11,0,16,0,21,0 2,0,12,0,7,0,5,0,8,0,4,0 18,0,19,0,9,0,15,0,1,0,23,0 10,0,20,0,3,0,6,0,17,0,13,0 7,0,19,0,15,0,21,0,1,0,5,0 14,0,17,0,20,0,24,0,23,0,10,0 9,0,6,0,8,0,4,0,22,0,2,0 18,0,16,0,13,0,12,0,11,0,3,0 6,0,9,0,15,0,5,0,2,0,23,0 14,0,13,0,21,0,7,0,4,0,10,0 11,0,24,0,20,0,16,0,19,0,22,0 1,0,18,0,17,0,3,0,8,0,12,0 13,0,10,0,21,0,14,0,11,0,9,0 5,0,22,0,3,0,1,0,20,0,2,0 19,0,4,0,8,0,23,0,18,0,24,0 15,0,17,0,6,0,7,0,12,0,16,0 9,0,20,0,1,0,10,0,3,0,19,0 4,0,23,0,16,0,7,0,17,0,5,0 14,0,13,0,15,0,22,0,18,0,6,0 12,0,24,0,21,0,2,0,11,0,8,0 4,0,1,0,16,0,14,0,22,0,13,0 23,0,5,0,11,0,15,0,2,0,3,0 24,0,17,0,12,0,20,0,7,0,9,0 10,0,6,0,19,0,8,0,18,0,21,0 7,0,14,0,1,0,11,0,15,0,4,0 6,0,2,0,24,0,17,0,3,0,10,0 12,0,5,0,13,0,23,0,19,0,21,0 16,0,18,0,9,0,20,0,8,0,22,0 1,0,3,0,13,0,5,0,15,0,24,0 7,0,6,0,11,0,18,0,22,0,10,0 2,0,19,0,17,0,4,0,9,0,12,0 23,0,16,0,8,0,14,0,20,0,21,0 3,0,24,0,4,0,9,0,12,0,15,0 11,0,23,0,19,0,6,0,7,0,13,0 10,0,2,0,16,0,8,0,1,0,14,0 17,0,22,0,21,0,5,0,20,0,18,0 3,0,7,0,11,0,9,0,13,0,24,0 1,0,22,0,2,0,17,0,23,0,4,0 16,0,14,0,5,0,18,0,6,0,20,0 10,0,8,0,15,0,19,0,12,0,21,0 9,0,2,0,3,0,22,0,23,0,7,0 15,0,18,0,21,0,4,0,20,0,13,0 12,0,6,0,10,0,1,0,16,0,24,0 8,0,11,0,17,0,5,0,19,0,14,0 7,0,21,0,4,0,6,0,16,0,3,0 23,0,20,0,12,0,11,0,10,0,1,0 8,0,5,0,13,0,9,0,17,0,22,0 18,0,14,0,2,0,15,0,24,0,19,0 23,0,21,0,9,0,16,0,1,0,17,0 12,0,10,0,14,0,19,0,13,0,2,0 15,0,20,0,22,0,24,0,8,0,7,0 4,0,5,0,6,0,11,0,3,0,18,0 17,0,8,0,2,0,13,0,15,0,16,0 11,0,21,0,22,0,6,0,1,0,12,0 19,0,7,0,20,0,23,0,3,0,14,0 4,0,18,0,24,0,5,0,10,0,9,0 ================================================ FILE: schedules/24_2.csv ================================================ 8,0,20,0,16,0,19,0,21,0,3,0 24,0,11,0,14,0,2,0,5,0,22,0 9,0,6,0,1,0,15,0,18,0,10,0 7,0,12,0,17,0,4,0,23,0,13,0 11,0,3,0,6,0,9,0,21,0,24,0 17,0,10,0,4,0,16,0,15,0,2,0 8,0,18,0,7,0,14,0,20,0,12,0 19,0,13,0,5,0,22,0,23,0,1,0 ================================================ FILE: schedules/24_3.csv ================================================ 7,0,16,0,3,0,1,0,19,0,17,0 2,0,18,0,11,0,8,0,15,0,20,0 9,0,21,0,14,0,12,0,22,0,5,0 13,0,24,0,6,0,10,0,23,0,4,0 22,0,19,0,14,0,1,0,20,0,11,0 8,0,12,0,7,0,4,0,5,0,24,0 13,0,16,0,17,0,23,0,2,0,9,0 10,0,3,0,6,0,15,0,21,0,18,0 8,0,22,0,11,0,7,0,23,0,13,0 5,0,10,0,20,0,3,0,17,0,12,0 24,0,9,0,1,0,6,0,2,0,15,0 14,0,18,0,4,0,19,0,21,0,16,0 ================================================ FILE: schedules/24_4.csv ================================================ 23,0,9,0,4,0,18,0,2,0,15,0 13,0,14,0,3,0,11,0,6,0,21,0 7,0,10,0,20,0,17,0,16,0,19,0 8,0,1,0,12,0,5,0,24,0,22,0 14,0,17,0,20,0,2,0,9,0,3,0 6,0,5,0,8,0,10,0,15,0,19,0 12,0,7,0,24,0,23,0,18,0,11,0 22,0,4,0,16,0,13,0,21,0,1,0 2,0,6,0,10,0,9,0,11,0,24,0 21,0,20,0,16,0,12,0,15,0,5,0 18,0,14,0,19,0,1,0,22,0,17,0 7,0,3,0,23,0,8,0,4,0,13,0 15,0,21,0,22,0,10,0,17,0,24,0 16,0,5,0,23,0,18,0,6,0,3,0 19,0,13,0,7,0,12,0,2,0,14,0 11,0,1,0,4,0,9,0,20,0,8,0 ================================================ FILE: schedules/24_5.csv ================================================ 21,0,23,0,24,0,13,0,17,0,18,0 10,0,14,0,15,0,7,0,9,0,19,0 6,0,12,0,1,0,22,0,2,0,20,0 11,0,4,0,16,0,8,0,3,0,5,0 15,0,24,0,6,0,21,0,14,0,12,0 18,0,9,0,2,0,8,0,4,0,19,0 17,0,7,0,5,0,22,0,13,0,3,0 11,0,20,0,23,0,16,0,10,0,1,0 3,0,17,0,9,0,15,0,2,0,12,0 16,0,19,0,5,0,1,0,7,0,24,0 11,0,10,0,13,0,18,0,6,0,4,0 21,0,8,0,20,0,23,0,14,0,22,0 10,0,5,0,2,0,12,0,16,0,13,0 22,0,24,0,11,0,9,0,15,0,23,0 14,0,1,0,19,0,3,0,21,0,4,0 18,0,7,0,8,0,6,0,20,0,17,0 2,0,3,0,24,0,10,0,22,0,21,0 12,0,23,0,19,0,6,0,7,0,11,0 18,0,20,0,16,0,9,0,14,0,5,0 1,0,4,0,13,0,8,0,15,0,17,0 ================================================ FILE: schedules/24_6.csv ================================================ 6,0,24,0,15,0,5,0,17,0,11,0 10,0,2,0,22,0,16,0,20,0,12,0 18,0,4,0,3,0,19,0,21,0,1,0 9,0,7,0,13,0,14,0,23,0,8,0 2,0,15,0,21,0,6,0,10,0,19,0 12,0,8,0,17,0,14,0,11,0,18,0 9,0,20,0,22,0,4,0,13,0,5,0 24,0,23,0,1,0,7,0,16,0,3,0 4,0,17,0,19,0,13,0,12,0,2,0 7,0,11,0,24,0,10,0,18,0,9,0 16,0,15,0,23,0,22,0,8,0,21,0 6,0,20,0,5,0,1,0,3,0,14,0 19,0,11,0,22,0,4,0,8,0,24,0 14,0,9,0,5,0,16,0,21,0,18,0 1,0,6,0,12,0,2,0,23,0,7,0 20,0,17,0,13,0,15,0,10,0,3,0 16,0,4,0,22,0,7,0,6,0,18,0 10,0,17,0,14,0,19,0,23,0,5,0 24,0,21,0,12,0,13,0,15,0,1,0 3,0,20,0,2,0,9,0,8,0,11,0 14,0,21,0,7,0,17,0,24,0,22,0 16,0,9,0,1,0,20,0,19,0,15,0 23,0,18,0,13,0,11,0,2,0,6,0 8,0,3,0,5,0,4,0,12,0,10,0 ================================================ FILE: schedules/24_7.csv ================================================ 10,0,11,0,20,0,8,0,19,0,22,0 13,0,1,0,18,0,14,0,2,0,4,0 12,0,3,0,15,0,7,0,16,0,6,0 21,0,5,0,23,0,24,0,9,0,17,0 22,0,13,0,2,0,12,0,6,0,20,0 23,0,10,0,24,0,8,0,16,0,14,0 17,0,15,0,4,0,19,0,9,0,3,0 7,0,5,0,18,0,1,0,11,0,21,0 15,0,13,0,14,0,10,0,12,0,17,0 11,0,9,0,6,0,21,0,8,0,2,0 7,0,1,0,24,0,20,0,4,0,19,0 16,0,5,0,3,0,18,0,22,0,23,0 8,0,24,0,12,0,1,0,19,0,17,0 6,0,4,0,23,0,18,0,11,0,15,0 2,0,20,0,3,0,14,0,5,0,10,0 7,0,21,0,22,0,16,0,9,0,13,0 12,0,19,0,14,0,11,0,5,0,4,0 3,0,22,0,1,0,17,0,13,0,23,0 6,0,18,0,21,0,7,0,8,0,10,0 20,0,16,0,24,0,9,0,15,0,2,0 11,0,17,0,8,0,3,0,13,0,7,0 22,0,20,0,9,0,14,0,24,0,18,0 10,0,16,0,4,0,6,0,5,0,1,0 15,0,19,0,21,0,12,0,23,0,2,0 1,0,9,0,10,0,11,0,24,0,3,0 8,0,13,0,4,0,22,0,15,0,5,0 18,0,17,0,20,0,16,0,12,0,21,0 19,0,6,0,2,0,14,0,7,0,23,0 ================================================ FILE: schedules/24_8.csv ================================================ 15,0,2,0,4,0,21,0,23,0,3,0 16,0,12,0,17,0,14,0,22,0,18,0 24,0,6,0,19,0,5,0,8,0,1,0 7,0,10,0,13,0,9,0,20,0,11,0 24,0,14,0,21,0,22,0,8,0,12,0 20,0,15,0,7,0,6,0,17,0,4,0 5,0,3,0,18,0,1,0,13,0,9,0 19,0,16,0,23,0,10,0,11,0,2,0 12,0,21,0,9,0,15,0,24,0,3,0 22,0,1,0,6,0,2,0,7,0,23,0 11,0,18,0,13,0,14,0,4,0,19,0 8,0,20,0,17,0,10,0,16,0,5,0 1,0,14,0,23,0,12,0,6,0,13,0 18,0,9,0,15,0,8,0,2,0,16,0 20,0,5,0,21,0,19,0,11,0,17,0 4,0,3,0,10,0,7,0,24,0,22,0 23,0,15,0,17,0,1,0,20,0,12,0 11,0,24,0,16,0,6,0,7,0,18,0 21,0,22,0,4,0,9,0,19,0,5,0 10,0,14,0,8,0,2,0,13,0,3,0 19,0,12,0,15,0,16,0,4,0,7,0 20,0,13,0,22,0,18,0,2,0,24,0 23,0,5,0,11,0,14,0,9,0,3,0 8,0,6,0,21,0,1,0,17,0,10,0 2,0,19,0,20,0,5,0,14,0,7,0 24,0,8,0,13,0,4,0,12,0,23,0 1,0,3,0,11,0,15,0,22,0,16,0 9,0,6,0,10,0,17,0,18,0,21,0 24,0,4,0,1,0,15,0,14,0,11,0 5,0,17,0,2,0,10,0,12,0,18,0 7,0,9,0,8,0,13,0,21,0,16,0 19,0,3,0,22,0,6,0,20,0,23,0 ================================================ FILE: schedules/24_9.csv ================================================ 4,0,24,0,11,0,13,0,5,0,21,0 8,0,18,0,12,0,14,0,7,0,16,0 15,0,3,0,10,0,20,0,19,0,23,0 22,0,1,0,6,0,17,0,2,0,9,0 7,0,12,0,19,0,10,0,11,0,23,0 20,0,6,0,15,0,8,0,14,0,2,0 22,0,5,0,9,0,21,0,18,0,3,0 13,0,17,0,4,0,24,0,1,0,16,0 3,0,8,0,19,0,14,0,22,0,21,0 20,0,7,0,9,0,10,0,5,0,17,0 18,0,6,0,23,0,24,0,15,0,13,0 11,0,2,0,1,0,4,0,16,0,12,0 8,0,5,0,7,0,20,0,17,0,24,0 1,0,14,0,19,0,4,0,18,0,2,0 12,0,10,0,11,0,13,0,3,0,22,0 15,0,16,0,23,0,6,0,9,0,21,0 18,0,24,0,10,0,3,0,1,0,20,0 17,0,7,0,21,0,2,0,15,0,12,0 23,0,4,0,22,0,8,0,9,0,16,0 5,0,14,0,11,0,19,0,6,0,13,0 17,0,22,0,18,0,3,0,7,0,4,0 12,0,23,0,9,0,11,0,8,0,20,0 2,0,13,0,16,0,5,0,19,0,15,0 6,0,24,0,14,0,1,0,21,0,10,0 20,0,12,0,13,0,16,0,19,0,22,0 3,0,24,0,9,0,2,0,6,0,7,0 23,0,21,0,8,0,18,0,5,0,1,0 15,0,11,0,17,0,14,0,10,0,4,0 23,0,2,0,5,0,12,0,22,0,24,0 14,0,3,0,20,0,15,0,21,0,4,0 17,0,8,0,1,0,9,0,11,0,19,0 10,0,6,0,16,0,7,0,18,0,13,0 1,0,9,0,15,0,3,0,5,0,12,0 10,0,2,0,13,0,4,0,6,0,8,0 16,0,18,0,20,0,22,0,7,0,11,0 19,0,21,0,24,0,23,0,14,0,17,0 ================================================ FILE: schedules/25_1.csv ================================================ 15,0,23,0,4,0,9,0,5,0,13,0 3,0,2,0,12,0,19,0,8,0,10,0 17,0,21,0,14,0,25,0,18,0,6,0 7,0,22,0,1,0,16,0,11,0,20,0 24,0,19,1,23,1,13,1,17,1,10,1 ================================================ FILE: schedules/25_10.csv ================================================ 17,0,11,0,12,0,4,0,3,0,23,0 22,0,9,0,7,0,21,0,2,0,14,0 19,0,18,0,8,0,10,0,20,0,6,0 1,0,5,0,13,0,16,0,25,0,15,0 12,0,3,0,14,0,24,0,10,0,21,0 4,0,2,0,1,0,16,0,5,0,18,0 9,0,8,0,20,0,17,0,19,0,15,0 23,0,22,0,25,0,6,0,13,0,7,0 24,0,9,0,17,0,11,0,1,0,10,0 13,1,7,0,23,0,18,1,4,0,20,0 3,0,25,0,6,0,2,0,12,0,16,0 5,0,21,0,22,0,15,0,8,0,24,0 14,0,11,0,18,0,19,0,13,0,3,0 8,0,10,0,16,0,20,0,22,0,2,0 17,0,1,0,23,0,12,0,25,0,19,0 14,0,6,0,15,0,4,0,21,0,9,0 11,0,5,0,20,0,7,0,24,0,1,0 2,0,15,0,13,0,22,0,10,0,12,0 17,0,16,0,14,0,7,0,11,0,8,0 9,0,18,0,23,0,5,0,24,0,3,0 19,0,21,0,6,0,4,0,25,0,13,0 18,0,3,0,2,0,15,0,1,0,22,0 16,0,11,0,6,0,9,0,5,0,12,0 20,0,23,0,24,0,19,0,7,0,14,0 10,0,4,0,17,0,21,0,8,0,25,0 7,0,3,0,15,0,6,0,2,0,9,0 4,0,8,0,12,0,13,0,18,0,24,0 10,0,20,0,14,0,5,0,17,0,25,0 21,0,16,0,1,0,11,0,19,0,23,0 22,0,6,0,24,0,17,0,13,0,20,0 25,0,18,0,10,0,11,0,3,0,9,0 22,0,16,0,4,0,14,0,1,0,8,0 2,0,5,0,7,0,12,0,15,0,23,0 19,0,24,0,16,0,21,0,17,0,18,0 22,0,13,0,8,0,1,0,14,0,9,0 25,0,20,0,7,0,4,0,15,0,11,0 2,0,19,0,10,0,6,0,5,0,23,0 12,0,21,0,15,0,3,0,20,0,16,0 14,0,25,0,24,0,18,0,1,0,6,0 13,0,21,0,11,0,2,0,23,0,8,0 5,0,19,0,4,0,3,0,17,0,22,0 10,0,9,0,13,0,7,0,12,0,18,0 ================================================ FILE: schedules/25_11.csv ================================================ 2,0,20,0,13,0,4,0,3,0,18,0 25,0,17,0,8,0,6,0,15,0,1,0 16,0,7,0,14,0,12,0,11,0,23,0 19,0,24,0,22,0,9,0,21,0,10,0 5,0,7,0,11,0,13,0,1,0,16,0 23,0,6,0,21,0,18,0,22,0,12,0 20,0,5,0,10,0,9,0,8,0,14,0 3,0,2,0,24,0,25,0,19,0,4,0 15,0,14,0,11,0,17,0,13,0,9,0 2,1,24,0,6,0,22,0,1,0,25,0 20,0,3,0,16,0,21,0,7,0,19,0 4,0,12,0,17,0,10,0,8,0,23,0 5,0,15,0,22,0,18,0,7,0,1,0 2,0,25,0,6,0,21,0,17,0,11,0 14,0,12,0,10,0,3,0,13,0,23,0 18,0,9,0,24,0,16,0,5,0,15,0 8,0,4,0,6,0,20,0,19,0,14,0 7,0,9,0,13,0,25,0,24,0,17,0 22,0,11,0,20,0,2,0,8,0,5,0 16,0,12,0,1,0,19,0,10,0,3,0 18,0,15,0,21,0,4,0,23,0,7,0 25,0,12,0,13,0,20,0,1,0,8,0 10,0,9,0,11,0,4,0,5,0,22,0 21,0,19,0,2,0,17,0,18,0,16,0 14,0,6,0,3,0,23,0,24,0,15,0 5,0,25,0,18,0,8,0,16,0,19,0 4,0,10,0,17,0,3,0,24,0,11,0 1,0,23,0,2,0,21,0,14,0,22,0 12,0,7,0,15,0,9,0,20,0,6,0 13,0,5,0,21,0,23,0,17,0,14,0 25,0,16,0,22,0,10,0,20,0,18,0 8,0,15,0,13,0,7,0,2,0,24,0 19,0,9,0,1,0,12,0,6,0,11,0 4,0,13,0,14,0,3,0,7,0,25,0 17,0,15,0,20,0,22,0,6,0,10,0 9,0,3,0,12,0,16,0,11,0,2,0 18,0,23,0,19,0,1,0,5,0,24,0 21,0,8,0,3,0,4,0,25,0,15,0 7,0,19,0,17,0,18,0,2,0,14,0 4,0,11,0,1,0,12,0,20,0,21,0 9,0,5,0,23,0,22,0,13,0,6,0 10,0,16,0,4,0,24,0,8,0,14,0 25,0,23,0,20,0,9,0,15,0,2,0 1,0,17,0,3,0,16,0,5,0,6,0 24,0,10,0,21,0,11,0,13,0,18,0 7,0,8,0,22,0,12,0,19,0,2,0 ================================================ FILE: schedules/25_12.csv ================================================ 3,0,14,0,5,0,21,0,10,0,22,0 7,0,17,0,16,0,13,0,12,0,11,0 1,0,20,0,25,0,4,0,2,0,8,0 24,0,9,0,19,0,23,0,15,0,18,0 6,0,14,0,21,0,1,0,13,0,12,0 2,0,20,0,9,0,17,0,24,0,23,0 11,0,5,0,19,0,22,0,18,0,10,0 6,0,16,0,4,0,15,0,25,0,3,0 7,0,23,0,21,0,8,0,5,0,22,0 10,0,6,0,25,0,16,0,1,0,24,0 2,0,11,0,7,0,8,0,17,0,19,0 13,0,18,0,14,0,15,0,9,0,12,0 4,0,3,0,22,0,20,0,6,0,5,0 21,0,16,0,8,0,19,0,23,0,2,0 25,0,17,0,14,0,20,0,7,0,13,0 12,0,24,0,4,0,3,0,18,0,11,0 1,0,15,0,16,0,9,0,10,0,17,0 18,0,8,0,3,0,13,0,22,0,6,0 12,0,7,0,9,0,21,0,19,0,1,0 5,0,2,0,15,0,20,0,24,0,14,0 11,0,10,0,23,0,4,0,25,0,13,0 18,0,19,0,1,0,3,0,20,0,21,0 4,0,2,0,10,0,7,0,6,0,15,0 22,0,9,0,23,0,14,0,24,0,8,0 16,0,12,0,25,0,11,0,5,0,17,0 9,0,21,0,18,0,4,0,2,0,14,0 15,0,13,0,8,0,20,0,16,0,11,0 25,0,22,0,1,0,17,0,12,0,3,0 19,0,6,0,23,0,5,0,24,0,7,0 10,0,20,0,12,0,8,0,25,0,9,0 18,0,5,0,17,0,7,0,3,0,1,0 4,0,16,0,6,0,19,0,14,0,10,0 24,0,22,0,11,0,15,0,21,0,13,0 2,0,1,0,17,0,23,0,3,0,14,0 10,0,8,0,15,0,7,0,4,0,18,0 5,0,25,0,21,0,2,0,24,0,13,0 22,0,20,0,19,0,9,0,11,0,6,0 12,0,23,0,4,0,16,0,10,0,3,0 24,0,11,0,15,0,19,0,7,0,25,0 14,0,12,0,22,0,16,0,2,0,18,0 23,0,5,0,13,0,9,0,1,0,6,0 20,0,8,0,11,0,21,0,17,0,4,0 3,0,7,0,2,0,16,0,9,0,5,0 17,0,6,0,13,0,22,0,15,0,19,0 8,0,1,0,14,0,18,0,24,0,25,0 23,0,20,0,10,0,12,0,21,0,11,0 19,0,16,0,13,0,4,0,5,0,1,0 14,0,9,0,3,0,25,0,8,0,23,0 21,0,24,0,2,0,6,0,17,0,12,0 20,0,18,0,15,0,22,0,10,0,7,0 ================================================ FILE: schedules/25_13.csv ================================================ 6,0,10,0,24,0,14,0,15,0,7,0 12,0,16,0,9,0,13,0,20,0,23,0 19,0,25,0,11,0,1,0,5,0,18,0 21,0,4,0,22,0,8,0,2,0,3,0 17,0,11,0,7,0,1,0,10,0,20,0 8,0,13,0,24,0,23,0,6,0,14,0 3,0,15,0,22,0,25,0,16,0,12,0 17,0,2,0,21,0,18,0,4,0,9,0 19,0,15,0,3,0,5,0,23,0,11,0 1,1,12,0,20,0,9,1,10,0,2,0 7,1,19,0,17,0,22,1,6,0,8,0 18,1,25,0,21,0,24,0,16,0,14,0 5,0,4,0,20,0,13,0,12,0,3,0 10,0,23,0,8,0,7,0,11,0,1,0 6,0,16,0,17,0,2,0,19,0,24,0 22,0,5,0,25,0,9,0,18,0,14,0 13,0,4,0,1,0,21,0,15,0,24,0 2,0,19,0,18,0,16,0,23,0,3,0 13,0,5,0,9,0,11,0,4,0,6,0 8,0,21,0,20,0,10,0,15,0,17,0 14,0,25,0,7,0,22,0,12,0,19,0 8,0,15,0,13,0,5,0,24,0,2,0 18,0,23,0,1,0,14,0,20,0,16,0 12,0,7,0,6,0,4,0,25,0,17,0 22,0,10,0,21,0,9,0,3,0,11,0 18,0,6,0,17,0,15,0,23,0,25,0 3,0,24,0,20,0,9,0,8,0,19,0 10,0,5,0,7,0,21,0,22,0,16,0 12,0,11,0,14,0,1,0,2,0,4,0 13,0,10,0,18,0,15,0,3,0,5,0 23,0,24,0,19,0,1,0,9,0,25,0 2,0,13,0,11,0,16,0,7,0,8,0 20,0,6,0,22,0,12,0,21,0,4,0 14,0,5,0,16,0,17,0,8,0,1,0 20,0,2,0,25,0,24,0,21,0,11,0 4,0,19,0,15,0,23,0,7,0,22,0 13,0,18,0,12,0,10,0,17,0,9,0 3,0,6,0,2,0,14,0,11,0,22,0 12,0,23,0,5,0,7,0,18,0,21,0 1,0,25,0,24,0,8,0,10,0,4,0 17,0,3,0,14,0,13,0,19,0,20,0 16,0,15,0,1,0,6,0,9,0,23,0 10,0,11,0,12,0,21,0,19,0,14,0 24,0,18,0,8,0,5,0,6,0,3,0 9,0,2,0,22,0,13,0,17,0,25,0 4,0,7,0,16,0,20,0,15,0,18,0 5,0,17,0,23,0,22,0,12,0,24,0 4,0,9,0,14,0,10,0,16,0,19,0 3,0,21,0,1,0,2,0,7,0,13,0 8,0,11,0,20,0,25,0,6,0,15,0 4,0,3,0,23,0,24,0,17,0,7,0 18,0,16,0,11,0,6,0,13,0,22,0 15,0,1,0,9,0,5,0,21,0,19,0 14,0,10,0,25,0,2,0,12,0,8,0 20,0,9,0,7,0,1,0,22,0,18,0 ================================================ FILE: schedules/25_14.csv ================================================ 16,0,25,0,18,0,2,0,12,0,15,0 1,0,24,0,8,0,7,0,10,0,19,0 5,0,21,0,22,0,9,0,14,0,20,0 13,0,17,0,23,0,4,0,11,0,6,0 22,0,25,0,7,0,3,0,24,0,16,0 8,0,2,0,14,0,4,0,5,0,1,0 10,0,11,0,23,0,12,0,13,0,20,0 3,0,9,0,15,0,6,0,18,0,17,0 19,0,4,0,2,0,21,0,12,0,13,0 5,1,24,0,9,0,15,1,23,0,8,0 7,1,14,0,11,0,16,1,18,0,3,0 21,0,6,0,25,0,20,0,1,0,19,0 10,0,22,0,9,0,17,0,7,0,5,0 24,0,11,0,19,0,25,0,1,0,2,0 6,0,10,0,8,0,16,0,18,0,13,0 17,0,22,0,15,0,14,0,4,0,21,0 3,0,12,0,8,0,20,0,23,0,2,0 7,0,19,0,15,0,10,0,13,0,14,0 6,0,5,0,12,0,25,0,22,0,11,0 3,0,1,0,23,0,17,0,21,0,24,0 20,0,4,0,18,0,16,0,9,0,7,0 13,0,15,0,25,0,8,0,22,0,12,0 1,0,18,0,19,0,3,0,11,0,21,0 23,0,14,0,24,0,6,0,2,0,9,0 17,0,16,0,4,0,20,0,10,0,5,0 8,0,9,0,13,0,2,0,6,0,21,0 10,0,18,0,23,0,5,0,25,0,19,0 24,0,7,0,12,0,3,0,20,0,4,0 11,0,17,0,1,0,22,0,16,0,14,0 25,0,3,0,7,0,15,0,4,0,23,0 21,0,22,0,19,0,16,0,13,0,5,0 6,0,20,0,8,0,18,0,24,0,15,0 9,0,12,0,11,0,1,0,14,0,10,0 2,0,7,0,18,0,17,0,8,0,19,0 14,0,5,0,15,0,24,0,6,0,12,0 13,0,20,0,4,0,23,0,1,0,16,0 10,0,22,0,3,0,21,0,9,0,11,0 2,0,17,0,14,0,25,0,23,0,7,0 9,0,18,0,19,0,4,0,24,0,22,0 16,0,2,0,5,0,13,0,3,0,6,0 20,0,1,0,21,0,25,0,15,0,10,0 12,0,17,0,3,0,8,0,11,0,5,0 15,0,1,0,9,0,2,0,22,0,23,0 16,0,4,0,10,0,12,0,25,0,14,0 21,0,19,0,6,0,20,0,17,0,7,0 11,0,13,0,24,0,18,0,8,0,14,0 22,0,1,0,6,0,7,0,12,0,4,0 16,0,20,0,15,0,11,0,19,0,23,0 18,0,3,0,5,0,9,0,25,0,8,0 10,0,24,0,21,0,2,0,13,0,17,0 9,0,12,0,23,0,1,0,7,0,8,0 17,0,20,0,25,0,13,0,18,0,22,0 2,0,24,0,11,0,21,0,15,0,4,0 16,0,6,0,10,0,19,0,14,0,3,0 1,0,13,0,7,0,5,0,9,0,15,0 12,0,16,0,19,0,25,0,24,0,17,0 6,0,23,0,5,0,21,0,18,0,10,0 2,0,4,0,8,0,20,0,22,0,3,0 14,0,5,0,7,0,11,0,15,0,16,0 ================================================ FILE: schedules/25_2.csv ================================================ 1,0,2,0,17,0,22,0,5,0,16,0 18,0,3,0,25,0,4,0,19,0,14,0 13,0,23,0,15,0,24,0,8,0,11,0 6,0,20,0,7,0,9,0,10,0,12,0 19,0,17,0,16,0,21,0,15,0,8,0 20,0,12,0,18,0,22,0,1,0,13,0 23,0,21,0,11,0,9,0,2,0,25,0 6,0,10,0,24,0,5,0,3,0,14,0 4,0,22,1,15,1,7,0,21,1,16,1 ================================================ FILE: schedules/25_3.csv ================================================ 5,0,23,0,14,0,12,0,18,0,24,0 21,0,9,0,16,0,25,0,8,0,1,0 3,0,10,0,20,0,22,0,2,0,17,0 4,0,7,0,11,0,6,0,15,0,19,0 8,0,22,0,3,0,13,0,12,0,23,0 1,1,2,0,15,0,25,1,19,0,5,0 7,1,18,0,13,0,21,0,11,0,20,0 17,0,9,0,10,0,14,0,16,0,6,0 24,0,5,0,22,0,4,0,21,0,25,0 2,0,7,0,23,0,13,0,14,0,9,0 6,0,1,0,24,0,8,0,20,0,15,0 19,0,4,0,3,0,10,0,18,0,16,0 11,0,12,0,25,0,17,0,1,0,7,0 ================================================ FILE: schedules/25_4.csv ================================================ 8,0,24,0,12,0,7,0,1,0,22,0 4,0,18,0,20,0,3,0,16,0,23,0 15,0,5,0,14,0,21,0,17,0,9,0 11,0,25,0,13,0,19,0,6,0,10,0 2,0,21,0,18,0,8,0,9,0,20,0 6,0,22,0,11,0,7,0,4,0,14,0 15,0,13,0,16,0,12,0,2,0,25,0 3,0,19,0,17,0,24,0,1,0,23,0 5,0,6,0,9,0,10,0,16,0,8,0 20,1,22,0,15,0,24,1,18,0,19,0 7,0,23,0,12,0,21,0,5,0,25,0 2,0,10,0,14,0,4,0,1,0,3,0 11,0,17,0,7,0,13,0,18,0,9,0 23,0,10,0,21,0,24,0,22,0,2,0 3,0,6,0,20,0,12,0,11,0,15,0 19,0,25,0,16,0,17,0,14,0,8,0 13,0,1,0,20,0,5,0,4,0,24,0 ================================================ FILE: schedules/25_5.csv ================================================ 20,0,19,0,4,0,1,0,15,0,22,0 3,0,25,0,9,0,14,0,2,0,23,0 21,0,18,0,6,0,8,0,17,0,24,0 11,0,13,0,16,0,12,0,5,0,10,0 7,0,23,0,25,0,24,0,20,0,6,0 2,0,9,0,8,0,19,0,13,0,17,0 16,0,7,0,1,0,14,0,11,0,21,0 12,0,3,0,22,0,5,0,15,0,18,0 4,0,1,0,24,0,10,0,13,0,2,0 3,1,6,0,14,0,15,0,19,0,11,0 20,0,21,0,10,0,12,0,18,0,9,0 5,0,8,0,23,0,7,0,17,0,4,0 22,0,19,0,18,0,25,0,16,0,21,0 14,0,20,0,15,0,17,0,2,0,5,0 16,0,12,0,24,0,1,0,6,0,9,0 23,0,11,0,10,0,22,0,8,0,25,0 7,0,13,0,21,0,3,0,4,0,15,0 1,0,18,0,2,0,6,0,23,0,22,0 8,0,10,0,16,0,7,0,20,0,3,0 25,0,14,0,17,0,4,0,13,0,12,0 5,0,11,0,3,0,24,0,9,0,19,0 ================================================ FILE: schedules/25_6.csv ================================================ 16,0,9,0,22,0,23,0,5,0,6,0 2,0,12,0,7,0,19,0,21,0,1,0 17,0,8,0,25,0,10,0,24,0,20,0 3,0,15,0,4,0,14,0,18,0,11,0 13,0,5,0,22,0,8,0,24,0,12,0 18,0,4,0,19,0,1,0,11,0,16,0 20,0,6,0,14,0,13,0,2,0,23,0 25,0,3,0,21,0,17,0,9,0,15,0 7,0,24,0,11,0,10,0,14,0,2,0 22,0,23,0,8,0,17,0,19,0,3,0 10,0,6,0,16,0,1,0,15,0,13,0 20,0,9,0,4,0,7,0,21,0,5,0 25,0,2,0,15,0,18,0,12,0,22,0 20,0,19,0,16,0,3,0,24,0,9,0 1,0,5,0,18,0,21,0,23,0,10,0 8,0,13,0,6,0,25,0,4,0,7,0 14,0,12,0,1,0,11,0,17,0,20,0 4,0,10,0,13,0,15,0,22,0,19,0 9,0,21,0,2,0,16,0,8,0,14,0 23,0,3,0,7,0,5,0,11,0,25,0 17,0,18,0,24,0,12,0,6,0,9,0 22,0,3,0,11,0,21,0,20,0,13,0 10,0,17,0,12,0,16,0,2,0,4,0 14,0,19,0,5,0,6,0,18,0,25,0 15,0,24,0,23,0,1,0,7,0,8,0 ================================================ FILE: schedules/25_7.csv ================================================ 10,0,25,0,24,0,2,0,22,0,3,0 8,0,12,0,21,0,20,0,6,0,11,0 13,0,1,0,17,0,14,0,16,0,19,0 4,0,5,0,18,0,9,0,7,0,15,0 10,0,19,0,1,0,23,0,6,0,21,0 18,0,13,0,24,0,12,0,25,0,5,0 23,0,20,0,22,0,17,0,3,0,16,0 2,0,15,0,4,0,14,0,9,0,8,0 7,0,24,0,6,0,11,0,18,0,21,0 3,1,14,0,10,0,15,1,5,0,8,0 1,1,22,0,16,0,11,1,2,0,7,0 25,0,9,0,19,0,23,1,4,0,13,0 17,0,20,0,7,0,12,0,15,0,10,0 23,0,25,0,16,0,6,0,5,0,14,0 3,0,12,0,24,0,19,0,20,0,4,0 13,0,2,0,21,0,17,0,8,0,22,0 11,0,9,0,12,0,1,0,18,0,3,0 4,0,14,0,25,0,16,0,21,0,20,0 8,0,7,0,1,0,24,0,23,0,17,0 6,0,18,0,15,0,22,0,13,0,10,0 5,0,2,0,9,0,19,0,11,0,17,0 15,0,13,0,3,0,21,0,25,0,7,0 6,0,10,0,2,0,9,0,4,0,24,0 11,0,5,0,22,0,20,0,14,0,1,0 19,0,8,0,23,0,12,0,18,0,16,0 4,0,10,0,17,0,25,0,1,0,11,0 15,0,21,0,24,0,16,0,13,0,9,0 5,0,3,0,20,0,18,0,23,0,2,0 14,0,22,0,7,0,19,0,12,0,6,0 8,0,3,0,11,0,15,0,1,0,23,0 ================================================ FILE: schedules/25_8.csv ================================================ 10,0,19,0,4,0,21,0,15,0,20,0 14,0,1,0,7,0,16,0,23,0,22,0 13,0,8,0,12,0,17,0,5,0,9,0 2,0,11,0,25,0,3,0,18,0,24,0 6,0,23,0,4,0,16,0,19,0,7,0 8,0,3,0,22,0,20,0,1,0,12,0 14,0,11,0,18,0,15,0,5,0,10,0 9,0,6,0,24,0,2,0,13,0,21,0 17,0,8,0,18,0,25,0,7,0,20,0 11,1,6,0,15,0,13,1,22,0,9,0 24,1,4,0,5,0,1,1,23,0,3,0 25,0,10,0,16,0,17,0,2,0,14,0 21,0,12,0,3,0,19,0,18,0,13,0 11,0,10,0,17,0,4,0,9,0,1,0 16,0,5,0,2,0,21,0,14,0,24,0 8,0,20,0,6,0,15,0,25,0,23,0 22,0,7,0,11,0,12,0,19,0,14,0 2,0,1,0,15,0,5,0,18,0,6,0 25,0,4,0,3,0,22,0,10,0,21,0 16,0,20,0,13,0,8,0,7,0,9,0 24,0,23,0,19,0,12,0,17,0,6,0 21,0,9,0,18,0,14,0,8,0,4,0 15,0,7,0,12,0,25,0,1,0,24,0 19,0,22,0,5,0,10,0,20,0,2,0 17,0,23,0,13,0,16,0,3,0,11,0 14,0,9,0,25,0,1,0,19,0,8,0 3,0,6,0,2,0,4,0,13,0,11,0 21,0,7,0,5,0,12,0,10,0,23,0 16,0,24,0,17,0,22,0,15,0,18,0 20,0,5,0,14,0,13,0,25,0,6,0 12,0,22,0,24,0,16,0,18,0,4,0 20,0,19,0,17,0,1,0,21,0,11,0 9,0,3,0,15,0,7,0,2,0,23,0 10,0,13,0,1,0,8,0,11,0,24,0 ================================================ FILE: schedules/25_9.csv ================================================ 5,0,19,0,12,0,18,0,11,0,24,0 16,0,2,0,3,0,21,0,7,0,25,0 1,0,13,0,22,0,10,0,14,0,8,0 15,0,4,0,6,0,17,0,9,0,20,0 18,0,22,0,19,0,23,0,16,0,14,0 24,0,10,0,9,0,8,0,2,0,13,0 23,0,1,0,7,0,15,0,5,0,20,0 11,0,6,0,17,0,12,0,21,0,3,0 4,0,14,0,5,0,25,0,15,0,8,0 12,1,20,0,13,0,7,1,6,0,19,0 25,1,16,0,1,0,4,0,21,0,24,0 2,0,18,0,17,0,22,0,11,0,23,0 10,0,15,0,19,0,9,0,3,0,6,0 4,0,11,0,16,0,12,0,1,0,14,0 8,0,7,0,20,0,10,0,21,0,18,0 2,0,22,0,5,0,3,0,17,0,13,0 24,0,25,0,6,0,23,0,9,0,21,0 22,0,8,0,16,0,2,0,12,0,15,0 5,0,10,0,23,0,3,0,4,0,19,0 18,0,25,0,9,0,20,0,1,0,11,0 17,0,14,0,7,0,24,0,13,0,19,0 20,0,23,0,3,0,9,0,1,0,4,0 5,0,8,0,17,0,10,0,16,0,6,0 21,0,15,0,22,0,11,0,25,0,13,0 24,0,2,0,14,0,18,0,12,0,7,0 21,0,8,0,1,0,19,0,5,0,9,0 3,0,7,0,24,0,22,0,6,0,20,0 4,0,18,0,13,0,15,0,16,0,17,0 10,0,12,0,11,0,2,0,25,0,23,0 14,0,21,0,20,0,4,0,17,0,22,0 3,0,11,0,15,0,23,0,8,0,24,0 6,0,1,0,2,0,14,0,25,0,19,0 9,0,16,0,12,0,5,0,13,0,7,0 10,0,3,0,25,0,18,0,14,0,15,0 12,0,17,0,23,0,1,0,24,0,5,0 11,0,8,0,19,0,9,0,7,0,22,0 13,0,21,0,6,0,20,0,16,0,18,0 4,0,12,0,25,0,2,0,10,0,7,0 ================================================ FILE: schedules/26_1.csv ================================================ 3,0,14,0,9,0,10,0,16,0,21,0 25,0,20,0,17,0,5,0,7,0,13,0 12,0,8,0,26,0,23,0,4,0,15,0 6,0,18,0,22,0,1,0,24,0,2,0 11,0,9,1,23,1,19,0,15,1,10,1 ================================================ FILE: schedules/26_10.csv ================================================ 22,0,13,0,5,0,19,0,15,0,12,0 25,0,6,0,23,0,20,0,18,0,17,0 16,0,7,0,2,0,3,0,1,0,21,0 8,0,26,0,14,0,10,0,9,0,11,0 24,0,7,0,23,0,4,0,22,0,25,0 10,0,26,0,16,0,3,0,13,0,2,0 18,0,15,0,14,0,19,0,6,0,17,0 12,0,24,0,20,0,9,0,1,0,4,0 21,0,5,0,18,0,8,0,11,0,22,0 17,1,26,0,2,0,9,1,25,0,19,0 10,1,20,0,13,0,7,1,15,0,1,0 11,0,3,0,6,0,14,0,5,0,24,0 21,0,4,0,8,0,23,0,12,0,16,0 17,0,22,0,7,0,9,0,24,0,2,0 13,0,23,0,4,0,18,0,19,0,11,0 25,0,12,0,1,0,3,0,8,0,15,0 6,0,5,0,26,0,21,0,14,0,16,0 20,0,23,0,11,0,10,0,2,0,18,0 22,0,14,0,1,0,13,0,25,0,8,0 16,0,4,0,19,0,7,0,6,0,10,0 12,0,26,0,9,0,21,0,15,0,20,0 3,0,5,0,23,0,17,0,24,0,8,0 6,0,20,0,9,0,11,0,13,0,16,0 14,0,12,0,3,0,7,0,25,0,18,0 10,0,24,0,19,0,1,0,17,0,5,0 15,0,4,0,2,0,21,0,26,0,22,0 3,0,7,0,19,0,8,0,20,0,5,0 10,0,14,0,25,0,22,0,16,0,24,0 12,0,11,0,4,0,2,0,1,0,6,0 9,0,21,0,17,0,13,0,18,0,26,0 15,0,25,0,16,0,23,0,2,0,8,0 11,0,26,0,24,0,7,0,12,0,13,0 15,0,9,0,5,0,21,0,23,0,10,0 17,0,3,0,4,0,6,0,14,0,22,0 1,0,18,0,8,0,20,0,19,0,26,0 2,0,17,0,25,0,12,0,5,0,10,0 13,0,24,0,15,0,18,0,6,0,4,0 1,0,20,0,16,0,19,0,23,0,14,0 11,0,21,0,7,0,3,0,9,0,22,0 8,0,6,0,10,0,1,0,23,0,26,0 9,0,18,0,16,0,5,0,7,0,4,0 2,0,20,0,22,0,12,0,11,0,17,0 19,0,13,0,21,0,25,0,3,0,24,0 15,0,17,0,10,0,14,0,9,0,7,0 ================================================ FILE: schedules/26_11.csv ================================================ 14,0,19,0,17,0,22,0,23,0,2,0 10,0,21,0,8,0,7,0,18,0,13,0 16,0,24,0,15,0,9,0,5,0,11,0 3,0,6,0,20,0,12,0,4,0,25,0 1,0,13,0,14,0,26,0,23,0,16,0 2,0,18,0,5,0,7,0,19,0,4,0 24,0,6,0,1,0,20,0,15,0,10,0 26,0,21,0,3,0,12,0,11,0,17,0 22,0,25,0,18,0,9,0,8,0,14,0 21,1,23,0,1,0,20,1,26,0,7,0 2,0,10,0,3,0,11,0,25,0,24,0 13,0,17,0,15,0,9,0,19,0,12,0 22,0,6,0,4,0,16,0,5,0,8,0 11,0,19,0,20,0,2,0,21,0,14,0 25,0,8,0,26,0,1,0,15,0,5,0 18,0,12,0,13,0,16,0,4,0,3,0 9,0,23,0,24,0,7,0,6,0,17,0 10,0,11,0,13,0,22,0,3,0,1,0 21,0,14,0,5,0,19,0,9,0,23,0 16,0,17,0,25,0,15,0,6,0,2,0 7,0,10,0,22,0,20,0,8,0,12,0 26,0,24,0,19,0,18,0,4,0,23,0 15,0,9,0,25,0,12,0,1,0,10,0 18,0,20,0,16,0,2,0,3,0,8,0 14,0,4,0,11,0,5,0,7,0,17,0 6,0,21,0,24,0,22,0,26,0,13,0 4,0,8,0,15,0,25,0,23,0,10,0 14,0,17,0,20,0,1,0,18,0,11,0 5,0,22,0,19,0,21,0,6,0,16,0 7,0,2,0,9,0,13,0,24,0,3,0 12,0,11,0,15,0,26,0,5,0,18,0 17,0,3,0,23,0,1,0,19,0,8,0 7,0,25,0,21,0,4,0,20,0,9,0 26,0,6,0,13,0,12,0,24,0,2,0 22,0,16,0,9,0,10,0,14,0,7,0 2,0,13,0,25,0,5,0,23,0,20,0 1,0,4,0,17,0,10,0,16,0,19,0 11,0,26,0,12,0,6,0,18,0,14,0 8,0,22,0,24,0,21,0,15,0,3,0 10,0,9,0,18,0,2,0,4,0,26,0 5,0,3,0,12,0,21,0,17,0,22,0 15,0,23,0,8,0,20,0,14,0,24,0 11,0,16,0,7,0,19,0,25,0,6,0 1,0,9,0,26,0,13,0,17,0,8,0 23,0,7,0,12,0,15,0,11,0,22,0 6,0,5,0,10,0,13,0,21,0,20,0 19,0,3,0,18,0,14,0,16,0,25,0 2,0,1,0,20,0,24,0,4,0,21,0 ================================================ FILE: schedules/26_12.csv ================================================ 25,0,7,0,5,0,21,0,9,0,11,0 8,0,22,0,26,0,6,0,24,0,2,0 12,0,19,0,18,0,16,0,10,0,1,0 14,0,20,0,3,0,17,0,15,0,13,0 23,0,10,0,2,0,4,0,16,0,12,0 6,0,1,0,17,0,22,0,3,0,9,0 11,0,5,0,4,0,20,0,19,0,26,0 21,0,23,0,25,0,24,0,8,0,15,0 13,0,14,0,11,0,18,0,7,0,3,0 2,0,9,0,1,0,21,0,5,0,16,0 13,0,8,0,4,0,18,0,22,0,23,0 7,0,24,0,14,0,12,0,6,0,26,0 19,0,25,0,10,0,15,0,20,0,17,0 16,0,22,0,14,0,12,0,7,0,8,0 11,0,21,0,3,0,25,0,4,0,2,0 19,0,9,0,17,0,13,0,20,0,23,0 6,0,5,0,15,0,10,0,24,0,18,0 1,0,22,0,7,0,26,0,23,0,11,0 19,0,15,0,2,0,25,0,14,0,9,0 20,0,12,0,10,0,18,0,13,0,1,0 26,0,21,0,24,0,3,0,16,0,8,0 17,0,5,0,23,0,4,0,6,0,22,0 13,0,16,0,24,0,10,0,9,0,7,0 2,0,20,0,5,0,3,0,6,0,25,0 21,0,1,0,8,0,14,0,4,0,19,0 12,0,11,0,18,0,26,0,15,0,17,0 20,0,25,0,22,0,1,0,8,0,14,0 15,0,5,0,3,0,24,0,10,0,11,0 23,0,12,0,6,0,21,0,9,0,13,0 17,0,18,0,4,0,7,0,26,0,16,0 2,0,22,0,21,0,19,0,15,0,1,0 11,0,8,0,9,0,3,0,10,0,12,0 13,0,5,0,26,0,19,0,23,0,24,0 20,0,6,0,18,0,2,0,7,0,17,0 4,0,14,0,26,0,25,0,16,0,15,0 1,0,3,0,23,0,21,0,8,0,17,0 16,0,7,0,20,0,5,0,10,0,14,0 19,0,11,0,22,0,6,0,13,0,2,0 12,0,9,0,24,0,25,0,18,0,4,0 6,0,10,0,26,0,1,0,23,0,20,0 17,0,3,0,24,0,18,0,2,0,11,0 9,0,14,0,15,0,22,0,4,0,5,0 21,0,7,0,19,0,12,0,25,0,13,0 8,0,10,0,15,0,16,0,17,0,11,0 9,0,18,0,26,0,21,0,14,0,22,0 23,0,8,0,7,0,12,0,5,0,2,0 1,0,24,0,25,0,13,0,3,0,19,0 16,0,6,0,18,0,4,0,20,0,21,0 12,0,14,0,17,0,1,0,5,0,24,0 10,0,22,0,13,0,26,0,2,0,3,0 7,0,4,0,15,0,6,0,19,0,8,0 16,0,23,0,9,0,20,0,25,0,11,0 ================================================ FILE: schedules/26_13.csv ================================================ 1,0,10,0,5,0,15,0,18,0,4,0 8,0,2,0,3,0,20,0,21,0,6,0 12,0,13,0,25,0,23,0,11,0,9,0 26,0,19,0,17,0,7,0,22,0,16,0 14,0,11,0,21,0,24,0,8,0,2,0 1,0,16,0,9,0,3,0,23,0,5,0 12,0,26,0,24,0,4,0,6,0,19,0 15,0,25,0,17,0,14,0,7,0,10,0 13,0,22,0,2,0,18,0,20,0,1,0 26,1,14,0,23,0,10,1,24,0,4,0 21,1,11,0,13,0,6,1,9,0,15,0 7,0,12,0,8,0,5,0,19,0,22,0 16,0,20,0,3,0,18,0,25,0,17,0 13,0,24,0,9,0,7,0,1,0,23,0 4,0,22,0,3,0,2,0,5,0,14,0 20,0,11,0,25,0,16,0,26,0,19,0 15,0,21,0,8,0,17,0,18,0,12,0 6,0,13,0,14,0,10,0,3,0,19,0 17,0,24,0,11,0,4,0,9,0,8,0 23,0,10,0,15,0,16,0,5,0,21,0 6,0,22,0,18,0,7,0,25,0,1,0 2,0,20,0,10,0,12,0,26,0,9,0 6,0,16,0,13,0,24,0,15,0,22,0 5,0,8,0,20,0,26,0,1,0,7,0 18,0,4,0,23,0,14,0,12,0,3,0 19,0,21,0,25,0,2,0,17,0,11,0 8,0,14,0,1,0,10,0,22,0,12,0 25,0,18,0,5,0,23,0,13,0,26,0 7,0,2,0,9,0,11,0,4,0,21,0 17,0,15,0,16,0,6,0,24,0,20,0 3,0,25,0,9,0,19,0,2,0,18,0 20,0,22,0,12,0,16,0,10,0,11,0 15,0,26,0,5,0,8,0,14,0,19,0 1,0,23,0,17,0,3,0,24,0,21,0 7,0,6,0,5,0,4,0,13,0,12,0 18,0,17,0,10,0,23,0,22,0,21,0 20,0,9,0,14,0,13,0,8,0,25,0 1,0,24,0,19,0,4,0,16,0,2,0 11,0,26,0,7,0,15,0,6,0,3,0 5,0,24,0,18,0,19,0,9,0,12,0 26,0,4,0,14,0,21,0,17,0,20,0 2,0,15,0,1,0,25,0,10,0,6,0 8,0,16,0,23,0,13,0,7,0,3,0 22,0,1,0,25,0,11,0,15,0,12,0 17,0,4,0,7,0,2,0,9,0,26,0 13,0,5,0,21,0,16,0,14,0,18,0 23,0,19,0,6,0,22,0,8,0,11,0 10,0,3,0,18,0,20,0,24,0,7,0 2,0,6,0,12,0,8,0,17,0,5,0 23,0,21,0,24,0,13,0,15,0,20,0 19,0,11,0,3,0,10,0,1,0,4,0 22,0,14,0,9,0,26,0,16,0,25,0 7,0,21,0,18,0,6,0,1,0,11,0 3,0,10,0,26,0,17,0,22,0,13,0 24,0,16,0,15,0,14,0,2,0,25,0 19,0,20,0,4,0,12,0,5,0,23,0 9,0,10,0,21,0,8,0,26,0,6,0 ================================================ FILE: schedules/26_14.csv ================================================ 25,0,4,0,2,0,14,0,13,0,17,0 22,0,19,0,24,0,8,0,18,0,20,0 12,0,1,0,26,0,16,0,6,0,9,0 11,0,3,0,23,0,5,0,7,0,21,0 15,0,12,0,24,0,10,0,1,0,9,0 26,0,5,0,16,0,25,0,14,0,7,0 20,0,23,0,19,0,15,0,10,0,4,0 2,0,22,0,6,0,11,0,18,0,3,0 17,0,21,0,26,0,13,0,8,0,24,0 25,1,15,0,6,0,2,1,20,0,3,0 18,0,17,0,9,0,7,0,16,0,11,0 13,0,10,0,23,0,22,0,1,0,5,0 8,0,21,0,14,0,19,0,4,0,12,0 17,0,5,0,10,0,2,0,18,0,24,0 4,0,3,0,6,0,20,0,12,0,9,0 7,0,13,0,26,0,23,0,11,0,8,0 19,0,1,0,15,0,16,0,14,0,25,0 21,0,6,0,9,0,22,0,17,0,20,0 14,0,1,0,5,0,26,0,19,0,11,0 24,0,4,0,2,0,21,0,15,0,23,0 25,0,13,0,8,0,7,0,12,0,18,0 16,0,22,0,4,0,3,0,10,0,14,0 8,0,17,0,15,0,1,0,23,0,6,0 3,0,7,0,24,0,18,0,26,0,20,0 19,0,5,0,13,0,12,0,2,0,21,0 9,0,11,0,22,0,10,0,25,0,16,0 19,0,24,0,6,0,26,0,4,0,17,0 13,0,15,0,11,0,5,0,2,0,10,0 22,0,8,0,12,0,20,0,23,0,16,0 18,0,9,0,25,0,21,0,1,0,3,0 7,0,20,0,6,0,14,0,10,0,5,0 2,0,17,0,26,0,18,0,25,0,23,0 7,0,9,0,8,0,13,0,14,0,4,0 21,0,19,0,3,0,15,0,16,0,22,0 1,0,12,0,25,0,11,0,24,0,17,0 20,0,15,0,14,0,22,0,3,0,8,0 23,0,11,0,5,0,4,0,21,0,18,0 24,0,7,0,1,0,9,0,19,0,2,0 6,0,26,0,10,0,12,0,13,0,16,0 9,0,23,0,24,0,19,0,22,0,18,0 12,0,10,0,14,0,15,0,17,0,7,0 4,0,3,0,5,0,8,0,26,0,1,0 25,0,11,0,20,0,2,0,13,0,21,0 16,0,17,0,19,0,6,0,5,0,8,0 3,0,25,0,26,0,13,0,9,0,15,0 22,0,14,0,23,0,11,0,6,0,12,0 10,0,21,0,20,0,1,0,2,0,7,0 16,0,18,0,13,0,4,0,24,0,23,0 3,0,12,0,17,0,19,0,7,0,22,0 11,0,4,0,1,0,24,0,25,0,10,0 6,0,14,0,18,0,15,0,26,0,21,0 8,0,2,0,16,0,20,0,5,0,9,0 21,0,25,0,22,0,15,0,7,0,4,0 16,0,8,0,1,0,23,0,2,0,6,0 5,0,20,0,12,0,3,0,26,0,9,0 18,0,11,0,10,0,14,0,19,0,17,0 24,0,21,0,16,0,13,0,3,0,12,0 4,0,7,0,9,0,25,0,17,0,23,0 2,0,14,0,11,0,26,0,22,0,24,0 5,0,15,0,18,0,1,0,20,0,13,0 10,0,8,0,2,0,19,0,6,0,25,0 ================================================ FILE: schedules/26_2.csv ================================================ 16,0,17,0,5,0,3,0,18,0,10,0 8,0,4,0,19,0,23,0,22,0,6,0 7,0,24,0,13,0,2,0,14,0,25,0 20,0,15,0,12,0,9,0,26,0,21,0 11,0,14,0,22,0,1,0,16,0,6,0 17,0,15,0,26,0,8,0,5,0,13,0 25,0,18,0,4,0,11,0,9,0,12,0 24,0,21,0,1,0,3,0,19,0,7,0 10,0,23,0,15,1,20,0,2,0,11,1 ================================================ FILE: schedules/26_3.csv ================================================ 20,0,9,0,22,0,16,0,15,0,18,0 6,0,23,0,5,0,11,0,7,0,13,0 19,0,14,0,17,0,3,0,1,0,21,0 2,0,10,0,25,0,8,0,12,0,26,0 4,0,14,0,21,0,24,0,23,0,15,0 16,0,19,0,20,0,10,0,5,0,26,0 18,0,24,0,13,0,17,0,25,0,12,0 6,0,22,0,3,0,4,0,9,0,2,0 8,0,11,0,24,0,7,0,1,0,20,0 2,0,18,0,21,0,4,0,16,0,13,0 7,0,23,0,25,0,1,0,9,0,10,0 12,0,6,0,15,0,3,0,8,0,19,0 22,0,26,0,17,0,11,0,5,0,14,0 ================================================ FILE: schedules/26_4.csv ================================================ 18,0,7,0,25,0,14,0,6,0,17,0 9,0,8,0,26,0,16,0,22,0,21,0 1,0,12,0,15,0,23,0,4,0,5,0 24,0,10,0,19,0,20,0,2,0,3,0 13,0,22,0,26,0,11,0,14,0,1,0 17,0,5,0,18,0,20,0,21,0,9,0 2,0,10,0,4,0,25,0,8,0,13,0 11,0,16,0,3,0,12,0,7,0,24,0 19,0,6,0,21,0,23,0,15,0,22,0 12,1,20,0,11,0,2,1,25,0,9,0 6,1,13,0,1,0,17,1,16,0,19,0 3,0,24,0,23,0,8,0,5,0,14,0 7,0,15,0,4,0,10,0,26,0,18,0 21,0,17,0,1,0,2,0,11,0,24,0 25,0,5,0,12,0,22,0,18,0,19,0 14,0,20,0,10,0,16,0,4,0,6,0 7,0,8,0,3,0,13,0,15,0,9,0 23,0,12,0,6,0,26,0,2,0,17,0 ================================================ FILE: schedules/26_5.csv ================================================ 6,0,19,0,21,0,20,0,23,0,25,0 12,0,1,0,26,0,11,0,4,0,2,0 18,0,5,0,8,0,10,0,9,0,13,0 7,0,22,0,24,0,14,0,17,0,15,0 3,0,19,0,9,0,16,0,12,0,2,0 22,0,25,0,14,0,1,0,20,0,13,0 17,0,10,0,21,0,11,0,5,0,3,0 23,0,24,0,26,0,7,0,16,0,18,0 4,0,8,0,1,0,15,0,6,0,5,0 10,1,20,0,26,0,24,1,13,0,3,0 16,0,23,0,19,0,11,0,8,0,22,0 25,0,6,0,4,0,9,0,7,0,17,0 14,0,18,0,2,0,12,0,21,0,15,0 5,0,10,0,1,0,7,0,19,0,26,0 15,0,20,0,9,0,17,0,23,0,2,0 18,0,25,0,11,0,22,0,6,0,3,0 13,0,12,0,4,0,24,0,16,0,21,0 14,0,26,0,3,0,8,0,9,0,6,0 2,0,15,0,24,0,25,0,5,0,16,0 8,0,7,0,10,0,12,0,22,0,20,0 18,0,13,0,21,0,17,0,19,0,1,0 11,0,23,0,10,0,4,0,14,0,24,0 ================================================ FILE: schedules/26_6.csv ================================================ 7,0,17,0,5,0,1,0,24,0,13,0 6,0,21,0,12,0,23,0,8,0,18,0 25,0,20,0,19,0,22,0,16,0,14,0 26,0,9,0,4,0,10,0,11,0,2,0 15,0,14,0,13,0,3,0,12,0,22,0 9,0,23,0,11,0,1,0,20,0,16,0 8,0,2,0,4,0,5,0,3,0,25,0 18,0,21,0,15,0,17,0,26,0,24,0 10,0,6,0,4,0,7,0,19,0,12,0 18,0,14,0,11,0,15,0,23,0,5,0 3,0,24,0,9,0,19,0,1,0,26,0 8,0,22,0,17,0,7,0,16,0,2,0 6,0,25,0,13,0,21,0,20,0,10,0 23,0,7,0,1,0,2,0,14,0,26,0 5,0,6,0,8,0,15,0,9,0,25,0 16,0,18,0,24,0,4,0,20,0,13,0 3,0,10,0,19,0,11,0,17,0,21,0 22,0,25,0,7,0,12,0,18,0,9,0 1,0,2,0,3,0,20,0,6,0,15,0 26,0,5,0,12,0,17,0,16,0,19,0 23,0,24,0,14,0,8,0,10,0,13,0 22,0,21,0,1,0,11,0,4,0,5,0 16,0,3,0,15,0,18,0,7,0,10,0 20,0,8,0,26,0,22,0,13,0,19,0 2,0,25,0,12,0,11,0,24,0,6,0 9,0,14,0,17,0,21,0,4,0,23,0 ================================================ FILE: schedules/26_7.csv ================================================ 1,0,19,0,10,0,5,0,8,0,3,0 23,0,4,0,15,0,18,0,17,0,6,0 7,0,11,0,25,0,22,0,26,0,20,0 9,0,14,0,21,0,24,0,13,0,2,0 12,0,19,0,6,0,16,0,25,0,18,0 13,0,3,0,23,0,11,0,2,0,17,0 12,0,14,0,5,0,7,0,21,0,1,0 8,0,15,0,22,0,9,0,10,0,4,0 20,0,24,0,23,0,26,0,16,0,1,0 25,1,6,0,10,0,13,1,7,0,17,0 4,1,8,0,18,0,26,1,24,0,14,0 12,0,16,0,22,0,11,0,3,0,9,0 21,0,2,0,5,0,15,0,19,0,20,0 8,0,26,0,17,0,12,0,7,0,3,0 18,0,1,0,22,0,13,0,10,0,21,0 14,0,20,0,25,0,23,0,19,0,9,0 16,0,11,0,4,0,24,0,5,0,15,0 6,0,1,0,13,0,2,0,8,0,20,0 7,0,19,0,24,0,12,0,10,0,23,0 2,0,18,0,9,0,11,0,26,0,5,0 25,0,17,0,4,0,16,0,14,0,3,0 6,0,15,0,26,0,22,0,21,0,23,0 20,0,3,0,10,0,12,0,4,0,2,0 21,0,11,0,15,0,25,0,1,0,8,0 16,0,9,0,13,0,14,0,7,0,18,0 17,0,5,0,19,0,6,0,22,0,24,0 12,0,11,0,13,0,10,0,15,0,14,0 17,0,9,0,1,0,26,0,19,0,4,0 8,0,16,0,24,0,22,0,2,0,25,0 3,0,21,0,18,0,6,0,7,0,20,0 23,0,25,0,26,0,5,0,13,0,4,0 ================================================ FILE: schedules/26_8.csv ================================================ 9,0,5,0,26,0,4,0,25,0,16,0 22,0,8,0,15,0,19,0,20,0,21,0 13,0,11,0,2,0,3,0,12,0,10,0 7,0,14,0,24,0,18,0,17,0,6,0 1,0,20,0,5,0,23,0,2,0,9,0 22,0,21,0,3,0,19,0,25,0,7,0 14,0,10,0,4,0,23,0,11,0,24,0 16,0,8,0,1,0,26,0,13,0,6,0 18,0,15,0,20,0,17,0,12,0,14,0 21,1,2,0,26,0,8,1,6,0,24,0 18,0,10,0,1,0,16,0,17,0,3,0 4,0,23,0,19,0,12,0,25,0,15,0 11,0,7,0,9,0,22,0,5,0,13,0 1,0,25,0,6,0,12,0,4,0,2,0 3,0,19,0,24,0,20,0,13,0,14,0 16,0,5,0,11,0,17,0,8,0,21,0 15,0,23,0,7,0,10,0,26,0,22,0 18,0,2,0,24,0,9,0,1,0,19,0 16,0,6,0,21,0,25,0,23,0,14,0 18,0,22,0,9,0,11,0,3,0,15,0 8,0,20,0,10,0,7,0,5,0,4,0 17,0,13,0,19,0,26,0,12,0,18,0 25,0,20,0,9,0,10,0,6,0,11,0 1,0,12,0,13,0,16,0,24,0,22,0 7,0,17,0,2,0,21,0,4,0,15,0 14,0,3,0,26,0,23,0,5,0,8,0 19,0,12,0,11,0,16,0,20,0,7,0 10,0,2,0,25,0,18,0,8,0,14,0 4,0,17,0,9,0,21,0,23,0,13,0 3,0,6,0,5,0,1,0,15,0,24,0 26,0,16,0,23,0,22,0,2,0,20,0 13,0,25,0,8,0,15,0,17,0,10,0 11,0,14,0,21,0,26,0,7,0,1,0 22,0,4,0,6,0,18,0,19,0,5,0 12,0,24,0,21,0,3,0,9,0,8,0 ================================================ FILE: schedules/26_9.csv ================================================ 1,0,2,0,12,0,25,0,4,0,22,0 23,0,6,0,3,0,20,0,24,0,7,0 9,0,10,0,16,0,18,0,8,0,11,0 5,0,17,0,13,0,26,0,15,0,19,0 21,0,1,0,25,0,14,0,23,0,9,0 20,0,16,0,11,0,2,0,8,0,10,0 15,0,3,0,13,0,21,0,4,0,6,0 14,0,5,0,19,0,18,0,24,0,12,0 22,0,26,0,10,0,17,0,7,0,4,0 20,0,6,0,12,0,23,0,19,0,13,0 2,0,24,0,14,0,17,0,9,0,15,0 7,0,11,0,25,0,26,0,1,0,3,0 21,0,16,0,8,0,22,0,18,0,5,0 14,0,11,0,26,0,4,0,10,0,15,0 6,0,1,0,7,0,21,0,2,0,17,0 3,0,8,0,9,0,12,0,23,0,22,0 13,0,18,0,16,0,25,0,5,0,24,0 19,0,21,0,3,0,20,0,2,0,9,0 18,0,23,0,10,0,13,0,24,0,1,0 4,0,12,0,19,0,26,0,16,0,6,0 25,0,17,0,20,0,15,0,11,0,22,0 7,0,5,0,2,0,8,0,14,0,13,0 4,0,26,0,23,0,18,0,19,0,20,0 11,0,1,0,17,0,6,0,5,0,8,0 7,0,9,0,22,0,3,0,14,0,10,0 24,0,21,0,15,0,16,0,25,0,12,0 1,0,22,0,14,0,13,0,6,0,11,0 5,0,4,0,20,0,3,0,16,0,17,0 7,0,15,0,12,0,21,0,18,0,9,0 23,0,24,0,8,0,25,0,2,0,26,0 19,0,9,0,6,0,10,0,11,0,5,0 4,0,24,0,16,0,1,0,8,0,20,0 18,0,15,0,14,0,2,0,22,0,3,0 19,0,10,0,25,0,7,0,21,0,23,0 26,0,17,0,24,0,13,0,12,0,9,0 19,0,22,0,8,0,1,0,15,0,23,0 2,0,11,0,4,0,21,0,12,0,5,0 20,0,26,0,13,0,7,0,14,0,16,0 18,0,25,0,3,0,6,0,10,0,17,0 ================================================ FILE: schedules/27_1.csv ================================================ 19,0,5,0,15,0,13,0,6,0,20,0 10,0,1,0,21,0,26,0,2,0,7,0 22,0,25,0,9,0,14,0,3,0,16,0 24,0,4,0,17,0,23,0,12,0,11,0 18,0,8,0,25,1,27,0,19,1,3,1 ================================================ FILE: schedules/27_10.csv ================================================ 3,0,22,0,11,0,23,0,20,0,17,0 7,0,15,0,18,0,16,0,12,0,26,0 10,0,9,0,13,0,24,0,19,0,5,0 14,0,25,0,21,0,2,0,4,0,27,0 8,0,6,0,24,0,1,0,12,0,7,0 17,0,16,0,27,0,26,0,13,0,2,0 19,0,22,0,25,0,14,0,8,0,18,0 3,0,9,0,20,0,4,0,6,0,10,0 5,0,11,0,15,0,1,0,21,0,23,0 27,0,7,0,24,0,25,0,16,0,9,0 6,0,11,0,14,0,22,0,8,0,10,0 2,0,15,0,20,0,26,0,19,0,18,0 4,0,1,0,5,0,13,0,17,0,12,0 21,0,3,0,26,0,23,0,24,0,9,0 17,0,22,0,18,0,27,0,10,0,1,0 2,0,19,0,14,0,5,0,3,0,7,0 12,0,6,0,20,0,21,0,11,0,16,0 13,0,4,0,8,0,15,0,23,0,25,0 9,0,5,0,2,0,6,0,21,0,17,0 12,0,14,0,15,0,11,0,13,0,19,0 24,0,3,0,4,0,23,0,27,0,8,0 10,0,26,0,7,0,18,0,1,0,25,0 16,0,20,0,4,0,22,0,2,0,24,0 12,0,5,0,10,0,25,0,26,0,8,0 9,0,15,0,17,0,14,0,20,0,22,0 16,0,13,0,1,0,6,0,3,0,18,0 19,0,27,0,21,0,23,0,11,0,7,0 6,0,26,0,5,0,15,0,24,0,16,0 17,0,7,0,8,0,11,0,9,0,27,0 10,0,21,0,18,0,3,0,14,0,13,0 23,0,4,0,25,0,20,0,19,0,1,0 12,0,2,0,3,0,22,0,5,0,27,0 16,0,6,0,19,0,4,0,11,0,17,0 10,0,14,0,23,0,9,0,18,0,12,0 1,0,2,0,8,0,26,0,20,0,24,0 21,0,15,0,22,0,13,0,7,0,25,0 5,0,23,0,16,0,17,0,14,0,1,0 18,0,20,0,11,0,12,0,21,0,24,0 10,0,3,0,25,0,15,0,26,0,27,0 7,0,4,0,19,0,13,0,22,0,6,0 8,0,9,0,21,0,2,0,10,0,16,0 25,0,17,0,24,0,19,0,15,0,3,0 1,0,11,0,26,0,14,0,4,0,9,0 23,0,12,0,22,0,6,0,7,0,2,0 27,0,18,0,13,0,20,0,5,0,8,0 ================================================ FILE: schedules/27_11.csv ================================================ 8,0,16,0,26,0,2,0,14,0,11,0 15,0,9,0,24,0,21,0,19,0,25,0 18,0,22,0,5,0,27,0,20,0,4,0 12,0,1,0,10,0,17,0,13,0,23,0 7,0,6,0,25,0,3,0,2,0,16,0 20,0,10,0,13,0,26,0,21,0,24,0 17,0,8,0,22,0,1,0,5,0,7,0 6,0,9,0,19,0,18,0,11,0,12,0 3,0,4,0,23,0,27,0,15,0,14,0 7,1,17,0,19,0,6,1,16,0,13,0 9,1,11,0,27,0,2,0,21,0,12,0 26,0,5,0,14,0,24,0,15,0,1,0 18,0,25,0,20,0,23,0,22,0,10,0 8,0,4,0,21,0,3,0,19,0,1,0 27,0,5,0,12,0,16,0,24,0,10,0 17,0,3,0,26,0,15,0,11,0,23,0 18,0,13,0,8,0,9,0,25,0,22,0 7,0,14,0,4,0,2,0,6,0,20,0 21,0,11,0,22,0,19,0,5,0,23,0 2,0,17,0,1,0,18,0,24,0,20,0 26,0,27,0,25,0,3,0,8,0,6,0 15,0,7,0,16,0,4,0,12,0,9,0 10,0,14,0,25,0,13,0,19,0,27,0 20,0,12,0,3,0,17,0,15,0,4,0 6,0,26,0,18,0,21,0,5,0,16,0 7,0,13,0,24,0,8,0,11,0,23,0 10,0,9,0,2,0,14,0,1,0,22,0 11,0,13,0,4,0,17,0,6,0,21,0 23,0,7,0,18,0,14,0,24,0,8,0 19,0,22,0,15,0,16,0,1,0,26,0 10,0,3,0,27,0,20,0,9,0,5,0 2,0,25,0,1,0,12,0,8,0,19,0 16,0,9,0,4,0,27,0,23,0,24,0 21,0,18,0,10,0,15,0,25,0,3,0 12,0,14,0,6,0,17,0,5,0,11,0 2,0,13,0,26,0,20,0,22,0,7,0 12,0,24,0,17,0,10,0,4,0,6,0 8,0,5,0,2,0,9,0,23,0,26,0 19,0,14,0,16,0,15,0,21,0,13,0 3,0,11,0,7,0,1,0,18,0,27,0 22,0,25,0,12,0,20,0,14,0,26,0 7,0,27,0,21,0,18,0,9,0,17,0 19,0,2,0,24,0,3,0,22,0,13,0 1,0,6,0,23,0,5,0,25,0,4,0 11,0,20,0,16,0,15,0,10,0,8,0 9,0,1,0,13,0,4,0,2,0,18,0 3,0,24,0,5,0,7,0,12,0,26,0 23,0,21,0,14,0,22,0,6,0,27,0 11,0,10,0,19,0,16,0,17,0,25,0 20,0,15,0,6,0,8,0,7,0,9,0 ================================================ FILE: schedules/27_12.csv ================================================ 24,0,25,0,7,0,2,0,14,0,13,0 19,0,27,0,20,0,21,0,8,0,12,0 23,0,22,0,17,0,16,0,18,0,5,0 6,0,26,0,11,0,1,0,15,0,10,0 4,0,3,0,24,0,9,0,5,0,12,0 19,0,23,0,15,0,10,0,2,0,6,0 27,0,22,0,13,0,7,0,4,0,8,0 11,0,1,0,21,0,3,0,14,0,16,0 9,0,26,0,17,0,18,0,20,0,25,0 21,0,7,0,3,0,15,0,2,0,23,0 5,0,25,0,13,0,16,0,17,0,19,0 24,0,10,0,22,0,8,0,27,0,1,0 4,0,20,0,6,0,14,0,9,0,11,0 26,0,12,0,1,0,18,0,23,0,27,0 2,0,4,0,21,0,5,0,11,0,24,0 16,0,12,0,22,0,7,0,6,0,25,0 15,0,9,0,17,0,13,0,18,0,19,0 8,0,14,0,10,0,3,0,20,0,26,0 11,0,18,0,2,0,5,0,4,0,13,0 10,0,3,0,19,0,7,0,26,0,21,0 17,0,27,0,12,0,15,0,22,0,25,0 9,0,20,0,23,0,1,0,14,0,24,0 16,0,3,0,2,0,8,0,6,0,22,0 9,0,14,0,4,0,19,0,21,0,23,0 18,0,15,0,16,0,8,0,12,0,24,0 6,0,27,0,5,0,17,0,10,0,20,0 26,0,11,0,25,0,1,0,13,0,7,0 20,0,21,0,5,0,4,0,17,0,22,0 18,0,1,0,3,0,26,0,2,0,9,0 15,0,25,0,27,0,24,0,23,0,6,0 10,0,11,0,13,0,7,0,12,0,19,0 16,0,8,0,4,0,14,0,26,0,27,0 19,0,5,0,1,0,7,0,15,0,20,0 22,0,18,0,14,0,10,0,16,0,13,0 8,0,11,0,23,0,9,0,25,0,21,0 17,0,2,0,24,0,12,0,6,0,3,0 20,0,8,0,19,0,16,0,25,0,1,0 5,0,14,0,23,0,12,0,11,0,15,0 7,0,10,0,17,0,9,0,3,0,27,0 13,0,6,0,21,0,4,0,18,0,24,0 26,0,22,0,1,0,2,0,7,0,27,0 12,0,25,0,18,0,10,0,4,0,23,0 6,0,19,0,9,0,24,0,16,0,26,0 2,0,8,0,5,0,11,0,17,0,14,0 15,0,13,0,3,0,21,0,20,0,22,0 12,0,14,0,4,0,1,0,17,0,6,0 10,0,18,0,5,0,3,0,19,0,22,0 9,0,7,0,24,0,27,0,16,0,11,0 13,0,26,0,23,0,8,0,21,0,15,0 2,0,20,0,12,0,25,0,17,0,10,0 6,0,14,0,7,0,18,0,9,0,8,0 13,0,20,0,24,0,2,0,1,0,23,0 25,0,4,0,19,0,22,0,11,0,3,0 16,0,21,0,27,0,15,0,5,0,26,0 ================================================ FILE: schedules/27_13.csv ================================================ 19,0,11,0,4,0,15,0,18,0,6,0 21,0,24,0,27,0,20,0,13,0,5,0 17,0,7,0,12,0,22,0,2,0,8,0 16,0,3,0,26,0,1,0,9,0,25,0 10,0,23,0,24,0,14,0,11,0,12,0 3,0,6,0,9,0,18,0,8,0,1,0 15,0,10,0,5,0,16,0,26,0,17,0 7,0,23,0,25,0,2,0,19,0,21,0 27,0,22,0,13,0,4,0,14,0,20,0 21,1,23,0,2,0,19,1,5,0,24,0 11,1,20,0,1,0,7,0,15,0,14,0 16,0,13,0,18,0,26,0,27,0,12,0 22,0,10,0,4,0,9,0,17,0,6,0 3,0,25,0,13,0,8,0,21,0,14,0 20,0,7,0,19,0,27,0,23,0,2,0 4,0,1,0,6,0,5,0,12,0,9,0 18,0,22,0,26,0,25,0,17,0,10,0 16,0,15,0,11,0,8,0,3,0,24,0 6,0,13,0,2,0,20,0,9,0,22,0 16,0,27,0,7,0,17,0,23,0,3,0 5,0,11,0,1,0,25,0,26,0,4,0 14,0,8,0,24,0,10,0,19,0,12,0 18,0,21,0,25,0,15,0,4,0,23,0 10,0,2,0,3,0,6,0,5,0,26,0 17,0,18,0,14,0,21,0,13,0,1,0 11,0,8,0,12,0,20,0,19,0,16,0 27,0,9,0,15,0,7,0,22,0,24,0 11,0,3,0,21,0,18,0,20,0,2,0 15,0,22,0,12,0,9,0,8,0,7,0 19,0,4,0,24,0,5,0,14,0,16,0 6,0,25,0,10,0,13,0,27,0,1,0 26,0,23,0,8,0,17,0,4,0,2,0 21,0,27,0,20,0,1,0,6,0,15,0 16,0,9,0,10,0,3,0,14,0,19,0 22,0,5,0,17,0,24,0,12,0,25,0 18,0,23,0,11,0,7,0,13,0,26,0 16,0,22,0,2,0,15,0,21,0,5,0 13,0,9,0,19,0,7,0,4,0,3,0 27,0,18,0,24,0,17,0,6,0,11,0 14,0,25,0,1,0,12,0,20,0,23,0 8,0,21,0,4,0,10,0,26,0,11,0 17,0,3,0,20,0,22,0,25,0,19,0 7,0,1,0,26,0,10,0,27,0,8,0 12,0,16,0,6,0,24,0,13,0,23,0 2,0,15,0,14,0,18,0,5,0,9,0 11,0,10,0,23,0,22,0,3,0,27,0 26,0,24,0,20,0,4,0,12,0,18,0 6,0,7,0,21,0,16,0,14,0,25,0 1,0,17,0,19,0,15,0,13,0,8,0 5,0,2,0,12,0,9,0,27,0,11,0 14,0,22,0,6,0,15,0,19,0,26,0 5,0,25,0,20,0,7,0,18,0,10,0 17,0,8,0,24,0,1,0,2,0,3,0 13,0,9,0,4,0,23,0,16,0,21,0 15,0,10,0,20,0,24,0,7,0,2,0 21,0,17,0,12,0,19,0,6,0,23,0 9,0,26,0,14,0,13,0,25,0,11,0 5,0,27,0,4,0,8,0,1,0,16,0 18,0,3,0,19,0,22,0,21,0,11,0 ================================================ FILE: schedules/27_14.csv ================================================ 9,0,18,0,3,0,19,0,6,0,5,0 23,0,25,0,1,0,14,0,21,0,7,0 27,0,26,0,15,0,22,0,4,0,10,0 13,0,24,0,16,0,8,0,17,0,12,0 20,0,2,0,23,0,11,0,26,0,3,0 8,0,9,0,4,0,22,0,1,0,24,0 16,0,15,0,19,0,18,0,11,0,27,0 25,0,13,0,14,0,21,0,2,0,17,0 6,0,12,0,7,0,10,0,20,0,5,0 21,0,23,0,8,0,27,0,19,0,2,0 12,0,5,0,11,0,15,0,4,0,24,0 1,0,16,0,7,0,22,0,25,0,6,0 14,0,9,0,17,0,20,0,18,0,26,0 10,0,3,0,25,0,13,0,4,0,5,0 2,0,6,0,1,0,14,0,27,0,12,0 15,0,7,0,3,0,24,0,8,0,18,0 16,0,9,0,20,0,19,0,21,0,13,0 26,0,11,0,22,0,17,0,23,0,10,0 25,0,21,0,24,0,9,0,15,0,6,0 20,0,11,0,7,0,16,0,5,0,1,0 10,0,13,0,12,0,19,0,14,0,23,0 22,0,27,0,17,0,4,0,18,0,2,0 26,0,8,0,12,0,3,0,21,0,16,0 19,0,25,0,20,0,18,0,17,0,22,0 23,0,24,0,7,0,4,0,14,0,3,0 2,0,26,0,5,0,1,0,15,0,10,0 11,0,8,0,6,0,9,0,27,0,13,0 20,0,22,0,3,0,10,0,2,0,24,0 15,0,23,0,9,0,26,0,13,0,7,0 25,0,5,0,8,0,1,0,27,0,16,0 4,0,19,0,11,0,18,0,12,0,14,0 6,0,21,0,27,0,17,0,24,0,26,0 25,0,18,0,5,0,11,0,23,0,14,0 16,0,6,0,4,0,10,0,2,0,9,0 22,0,8,0,7,0,12,0,20,0,21,0 15,0,13,0,1,0,17,0,3,0,19,0 18,0,10,0,8,0,20,0,9,0,24,0 3,0,1,0,14,0,6,0,13,0,16,0 27,0,17,0,15,0,2,0,7,0,25,0 4,0,21,0,26,0,19,0,23,0,5,0 22,0,12,0,14,0,11,0,10,0,7,0 19,0,1,0,18,0,25,0,15,0,17,0 23,0,4,0,27,0,16,0,12,0,20,0 6,0,26,0,5,0,13,0,22,0,24,0 21,0,9,0,11,0,2,0,3,0,8,0 17,0,20,0,4,0,10,0,6,0,27,0 2,0,7,0,13,0,16,0,11,0,15,0 5,0,18,0,21,0,26,0,8,0,3,0 12,0,19,0,24,0,1,0,25,0,9,0 14,0,22,0,2,0,23,0,8,0,13,0 27,0,20,0,25,0,19,0,26,0,12,0 18,0,7,0,24,0,22,0,23,0,9,0 17,0,1,0,11,0,4,0,6,0,3,0 10,0,14,0,16,0,5,0,21,0,15,0 11,0,13,0,17,0,8,0,27,0,7,0 22,0,19,0,10,0,26,0,16,0,25,0 12,0,2,0,4,0,23,0,6,0,18,0 1,0,21,0,24,0,20,0,15,0,14,0 3,0,5,0,27,0,9,0,19,0,7,0 18,0,13,0,15,0,22,0,21,0,6,0 23,0,12,0,3,0,20,0,1,0,8,0 16,0,17,0,2,0,5,0,24,0,14,0 10,0,9,0,26,0,11,0,4,0,25,0 ================================================ FILE: schedules/27_2.csv ================================================ 14,0,12,0,7,0,15,0,18,0,17,0 27,0,5,0,22,0,8,0,19,0,10,0 6,0,3,0,20,0,1,0,11,0,24,0 16,0,13,0,2,0,9,0,26,0,25,0 23,0,4,0,1,0,21,0,27,0,7,0 24,0,20,0,13,0,12,0,5,0,2,0 9,0,11,0,17,0,18,0,8,0,23,0 22,0,26,0,16,0,4,0,14,0,6,0 25,0,10,0,21,0,15,0,19,0,3,0 ================================================ FILE: schedules/27_3.csv ================================================ 11,0,7,0,25,0,26,0,24,0,20,0 22,0,3,0,14,0,21,0,2,0,17,0 1,0,19,0,6,0,9,0,18,0,13,0 23,0,10,0,15,0,5,0,8,0,16,0 27,0,12,0,9,0,4,0,22,0,7,0 10,1,17,0,20,0,18,1,6,0,15,0 2,1,5,0,11,0,19,0,3,0,12,0 21,0,4,0,24,0,16,0,1,0,26,0 8,0,14,0,23,0,25,0,27,0,13,0 10,0,9,0,21,0,11,0,15,0,24,0 23,0,7,0,16,0,18,0,19,0,17,0 4,0,6,0,5,0,2,0,25,0,14,0 13,0,1,0,8,0,22,0,12,0,20,0 27,0,26,0,18,0,3,0,10,0,2,0 ================================================ FILE: schedules/27_4.csv ================================================ 3,0,27,0,15,0,2,0,24,0,17,0 4,0,10,0,21,0,26,0,11,0,16,0 22,0,7,0,14,0,25,0,23,0,8,0 9,0,1,0,19,0,13,0,12,0,6,0 20,0,11,0,24,0,18,0,5,0,14,0 2,0,1,0,23,0,25,0,9,0,4,0 6,0,5,0,22,0,26,0,10,0,27,0 17,0,21,0,3,0,18,0,7,0,19,0 16,0,12,0,8,0,13,0,20,0,15,0 21,0,27,0,19,0,14,0,9,0,23,0 17,0,6,0,20,0,3,0,11,0,25,0 15,0,18,0,24,0,22,0,13,0,4,0 5,0,10,0,16,0,12,0,7,0,2,0 8,0,26,0,9,0,1,0,3,0,24,0 23,0,5,0,13,0,10,0,14,0,17,0 26,0,25,0,18,0,12,0,15,0,19,0 16,0,1,0,7,0,11,0,27,0,22,0 2,0,6,0,4,0,8,0,21,0,20,0 ================================================ FILE: schedules/27_5.csv ================================================ 5,0,20,0,11,0,15,0,10,0,8,0 21,0,6,0,12,0,24,0,18,0,26,0 7,0,13,0,14,0,17,0,2,0,27,0 19,0,25,0,23,0,9,0,1,0,3,0 16,0,22,0,13,0,4,0,20,0,6,0 5,0,19,0,1,0,21,0,26,0,2,0 8,0,24,0,23,0,16,0,15,0,7,0 9,0,11,0,12,0,27,0,4,0,3,0 10,0,25,0,18,0,22,0,17,0,14,0 5,1,7,0,6,0,24,1,1,0,11,0 23,1,26,0,3,0,8,0,14,0,20,0 4,0,15,0,21,0,12,0,2,0,25,0 16,0,18,0,19,0,27,0,13,0,10,0 9,0,17,0,26,0,22,0,15,0,11,0 4,0,14,0,10,0,6,0,19,0,24,0 18,0,7,0,2,0,23,0,20,0,9,0 8,0,12,0,13,0,22,0,21,0,1,0 16,0,27,0,5,0,17,0,3,0,25,0 4,0,26,0,12,0,10,0,7,0,23,0 21,0,9,0,5,0,11,0,16,0,14,0 24,0,3,0,15,0,1,0,13,0,18,0 17,0,20,0,19,0,6,0,25,0,8,0 27,0,22,0,24,0,2,0,5,0,23,0 ================================================ FILE: schedules/27_6.csv ================================================ 8,0,14,0,6,0,7,0,4,0,20,0 17,0,25,0,12,0,22,0,2,0,9,0 18,0,21,0,3,0,15,0,26,0,11,0 27,0,13,0,19,0,24,0,23,0,16,0 10,0,2,0,14,0,1,0,5,0,12,0 15,0,24,0,13,0,9,0,26,0,6,0 25,0,7,0,19,0,10,0,18,0,20,0 4,0,27,0,5,0,11,0,21,0,22,0 23,0,17,0,1,0,8,0,3,0,16,0 12,0,2,0,4,0,7,0,27,0,15,0 6,0,1,0,21,0,18,0,22,0,23,0 10,0,8,0,11,0,3,0,9,0,13,0 26,0,16,0,5,0,20,0,17,0,19,0 25,0,24,0,22,0,14,0,3,0,7,0 6,0,18,0,4,0,17,0,10,0,16,0 20,0,15,0,12,0,5,0,23,0,13,0 9,0,27,0,11,0,19,0,1,0,14,0 24,0,21,0,26,0,25,0,8,0,2,0 3,0,19,0,11,0,6,0,12,0,22,0 14,0,9,0,23,0,7,0,18,0,26,0 27,0,8,0,17,0,10,0,25,0,15,0 1,0,2,0,20,0,4,0,21,0,13,0 16,0,18,0,12,0,24,0,5,0,8,0 22,0,10,0,4,0,26,0,2,0,23,0 17,0,7,0,24,0,1,0,11,0,13,0 19,0,16,0,15,0,21,0,25,0,14,0 9,0,5,0,20,0,3,0,6,0,27,0 ================================================ FILE: schedules/27_7.csv ================================================ 8,0,9,0,16,0,25,0,5,0,11,0 4,0,17,0,15,0,18,0,10,0,6,0 12,0,27,0,19,0,3,0,22,0,24,0 13,0,1,0,21,0,20,0,23,0,14,0 26,0,7,0,9,0,2,0,8,0,19,0 4,0,25,0,23,0,3,0,5,0,12,0 26,0,27,0,1,0,17,0,13,0,6,0 2,0,18,0,14,0,20,0,11,0,16,0 24,0,21,0,7,0,22,0,15,0,10,0 1,1,14,0,12,0,4,1,18,0,5,0 7,1,17,0,22,0,13,0,25,0,16,0 23,0,8,0,6,0,9,0,20,0,19,0 15,0,26,0,3,0,21,0,2,0,11,0 10,0,24,0,16,0,27,0,4,0,8,0 1,0,19,0,18,0,21,0,5,0,6,0 25,0,20,0,24,0,2,0,26,0,17,0 11,0,9,0,10,0,23,0,12,0,22,0 15,0,14,0,13,0,3,0,27,0,7,0 22,0,8,0,11,0,17,0,1,0,23,0 26,0,12,0,20,0,16,0,7,0,15,0 2,0,13,0,3,0,24,0,9,0,18,0 19,0,6,0,25,0,10,0,14,0,21,0 27,0,5,0,22,0,4,0,20,0,2,0 15,0,12,0,18,0,8,0,25,0,1,0 3,0,23,0,16,0,27,0,24,0,6,0 21,0,17,0,9,0,14,0,4,0,7,0 10,0,5,0,19,0,13,0,26,0,11,0 24,0,12,0,2,0,1,0,6,0,9,0 23,0,27,0,11,0,18,0,25,0,7,0 22,0,4,0,13,0,26,0,8,0,14,0 17,0,5,0,16,0,15,0,19,0,21,0 20,0,1,0,7,0,10,0,3,0,4,0 ================================================ FILE: schedules/27_8.csv ================================================ 3,0,15,0,8,0,5,0,18,0,13,0 10,0,16,0,9,0,22,0,21,0,1,0 26,0,14,0,7,0,19,0,20,0,4,0 23,0,2,0,12,0,27,0,25,0,11,0 6,0,24,0,15,0,17,0,14,0,20,0 1,0,4,0,12,0,8,0,16,0,23,0 11,0,5,0,26,0,24,0,7,0,22,0 10,0,21,0,2,0,3,0,18,0,17,0 9,0,27,0,13,0,25,0,19,0,6,0 18,0,11,0,22,0,16,0,15,0,20,0 25,0,7,0,1,0,6,0,3,0,2,0 8,0,9,0,14,0,27,0,17,0,10,0 13,0,12,0,21,0,5,0,4,0,24,0 19,0,23,0,18,0,26,0,25,0,16,0 22,0,27,0,4,0,17,0,1,0,5,0 2,0,7,0,20,0,9,0,15,0,12,0 24,0,19,0,11,0,10,0,6,0,8,0 13,0,3,0,14,0,21,0,23,0,26,0 18,0,1,0,9,0,7,0,11,0,12,0 10,0,23,0,20,0,17,0,13,0,26,0 6,0,16,0,5,0,14,0,25,0,2,0 3,0,21,0,4,0,19,0,15,0,27,0 8,0,22,0,2,0,24,0,23,0,14,0 25,0,12,0,17,0,15,0,26,0,10,0 6,0,13,0,22,0,18,0,21,0,7,0 24,0,3,0,27,0,4,0,11,0,9,0 19,0,1,0,16,0,5,0,8,0,20,0 25,0,23,0,15,0,9,0,21,0,24,0 16,0,11,0,17,0,13,0,19,0,7,0 12,0,27,0,20,0,3,0,26,0,22,0 10,0,5,0,14,0,18,0,6,0,4,0 1,0,8,0,26,0,2,0,13,0,15,0 24,0,10,0,18,0,7,0,16,0,27,0 21,0,14,0,19,0,11,0,2,0,1,0 17,0,6,0,23,0,5,0,3,0,12,0 4,0,8,0,25,0,20,0,22,0,9,0 ================================================ FILE: schedules/27_9.csv ================================================ 20,0,22,0,24,0,18,0,25,0,6,0 11,0,23,0,5,0,9,0,2,0,21,0 14,0,17,0,16,0,27,0,4,0,7,0 19,0,1,0,8,0,15,0,12,0,3,0 26,0,13,0,24,0,10,0,20,0,2,0 5,0,22,0,16,0,8,0,7,0,15,0 27,0,6,0,3,0,10,0,4,0,9,0 11,0,26,0,17,0,14,0,12,0,25,0 21,0,18,0,1,0,23,0,13,0,19,0 17,1,20,0,6,0,9,1,15,0,16,0 1,1,18,0,4,0,26,0,5,0,25,0 22,0,19,0,10,0,11,0,21,0,7,0 13,0,12,0,8,0,24,0,27,0,23,0 2,0,14,0,11,0,3,0,16,0,19,0 27,0,10,0,13,0,5,0,1,0,7,0 4,0,24,0,17,0,12,0,21,0,22,0 26,0,18,0,8,0,9,0,6,0,14,0 15,0,20,0,25,0,2,0,3,0,23,0 9,0,13,0,17,0,16,0,1,0,24,0 2,0,12,0,18,0,21,0,27,0,20,0 7,0,23,0,6,0,11,0,4,0,3,0 5,0,19,0,15,0,26,0,22,0,14,0 25,0,8,0,2,0,10,0,17,0,7,0 3,0,1,0,20,0,11,0,19,0,24,0 23,0,26,0,12,0,10,0,6,0,16,0 8,0,21,0,4,0,18,0,13,0,15,0 22,0,25,0,9,0,5,0,14,0,27,0 23,0,17,0,15,0,11,0,18,0,24,0 16,0,21,0,25,0,9,0,19,0,26,0 14,0,20,0,4,0,5,0,8,0,10,0 22,0,2,0,27,0,13,0,6,0,1,0 7,0,3,0,25,0,12,0,5,0,24,0 6,0,21,0,19,0,8,0,14,0,23,0 27,0,1,0,15,0,7,0,16,0,20,0 26,0,10,0,3,0,18,0,17,0,22,0 11,0,12,0,9,0,4,0,13,0,2,0 14,0,10,0,15,0,1,0,25,0,23,0 6,0,4,0,5,0,19,0,2,0,17,0 13,0,11,0,22,0,9,0,8,0,20,0 3,0,24,0,21,0,16,0,27,0,26,0 7,0,18,0,9,0,12,0,17,0,1,0 ================================================ FILE: schedules/28_1.csv ================================================ 23,0,22,0,15,0,6,0,18,0,16,0 8,0,11,0,7,0,4,0,17,0,12,0 21,0,5,0,2,0,24,0,25,0,3,0 10,0,19,0,1,0,28,0,26,0,20,0 14,0,13,0,2,1,9,0,27,0,23,1 ================================================ FILE: schedules/28_10.csv ================================================ 16,0,17,0,1,0,10,0,8,0,19,0 2,0,25,0,4,0,3,0,27,0,15,0 6,0,13,0,28,0,24,0,18,0,20,0 9,0,14,0,26,0,23,0,7,0,5,0 11,0,21,0,3,0,22,0,12,0,10,0 18,0,1,0,19,0,15,0,14,0,5,0 6,0,23,0,26,0,27,0,13,0,22,0 25,0,12,0,24,0,2,0,21,0,20,0 11,0,8,0,9,0,28,0,4,0,16,0 7,0,13,0,10,0,17,0,14,0,6,0 25,1,20,0,26,0,22,1,1,0,11,0 15,0,2,0,9,0,19,0,28,0,21,0 3,0,8,0,12,0,5,0,27,0,17,0 4,0,24,0,23,0,7,0,18,0,16,0 11,0,15,0,25,0,14,0,1,0,3,0 21,0,5,0,13,0,6,0,9,0,27,0 22,0,8,0,7,0,19,0,24,0,2,0 20,0,28,0,10,0,17,0,4,0,26,0 18,0,23,0,14,0,16,0,12,0,9,0 6,0,22,0,21,0,20,0,4,0,7,0 13,0,16,0,24,0,1,0,5,0,25,0 17,0,19,0,3,0,26,0,18,0,11,0 2,0,27,0,8,0,15,0,10,0,23,0 12,0,5,0,18,0,28,0,11,0,7,0 10,0,25,0,27,0,20,0,9,0,19,0 22,0,17,0,28,0,2,0,23,0,13,0 8,0,16,0,15,0,12,0,1,0,6,0 21,0,4,0,14,0,24,0,26,0,3,0 2,0,28,0,5,0,16,0,10,0,11,0 14,0,20,0,22,0,21,0,1,0,15,0 23,0,9,0,3,0,8,0,24,0,6,0 7,0,12,0,26,0,13,0,19,0,25,0 27,0,4,0,11,0,18,0,17,0,15,0 16,0,20,0,6,0,3,0,22,0,5,0 28,0,24,0,27,0,14,0,7,0,19,0 26,0,1,0,2,0,4,0,13,0,9,0 21,0,25,0,18,0,23,0,8,0,17,0 10,0,4,0,6,0,12,0,2,0,14,0 15,0,24,0,7,0,27,0,16,0,26,0 11,0,19,0,5,0,13,0,20,0,8,0 18,0,3,0,10,0,22,0,23,0,25,0 1,0,28,0,9,0,17,0,12,0,21,0 8,0,26,0,5,0,22,0,2,0,18,0 13,0,15,0,12,0,10,0,24,0,9,0 1,0,27,0,7,0,25,0,6,0,3,0 20,0,11,0,17,0,23,0,16,0,21,0 19,0,4,0,22,0,14,0,28,0,25,0 ================================================ FILE: schedules/28_11.csv ================================================ 4,0,17,0,19,0,8,0,24,0,2,0 21,0,27,0,28,0,14,0,11,0,1,0 20,0,18,0,12,0,3,0,26,0,15,0 9,0,5,0,7,0,13,0,22,0,16,0 25,0,10,0,8,0,6,0,23,0,1,0 7,0,11,0,13,0,28,0,4,0,15,0 17,0,14,0,10,0,21,0,19,0,5,0 3,0,18,0,2,0,16,0,25,0,23,0 9,0,22,0,24,0,27,0,6,0,12,0 20,0,7,0,15,0,26,0,23,0,2,0 5,1,6,0,18,0,4,1,17,0,9,0 1,1,27,0,26,0,20,1,10,0,13,0 16,0,24,0,11,0,8,0,3,0,21,0 25,0,28,0,22,0,19,0,14,0,12,0 15,0,8,0,1,0,4,0,21,0,9,0 25,0,2,0,22,0,10,0,7,0,24,0 12,0,17,0,26,0,14,0,28,0,6,0 19,0,16,0,27,0,5,0,11,0,3,0 18,0,13,0,14,0,23,0,20,0,4,0 9,0,16,0,15,0,27,0,8,0,22,0 19,0,7,0,6,0,21,0,18,0,1,0 3,0,24,0,28,0,25,0,26,0,20,0 23,0,11,0,10,0,13,0,5,0,12,0 2,0,1,0,28,0,17,0,22,0,3,0 11,0,27,0,15,0,4,0,18,0,16,0 6,0,21,0,17,0,9,0,13,0,25,0 2,0,5,0,10,0,8,0,20,0,14,0 7,0,23,0,12,0,26,0,19,0,24,0 4,0,14,0,3,0,10,0,22,0,21,0 13,0,27,0,24,0,6,0,16,0,2,0 11,0,20,0,19,0,17,0,15,0,25,0 5,0,12,0,8,0,28,0,18,0,23,0 9,0,1,0,3,0,7,0,26,0,4,0 14,0,27,0,25,0,22,0,18,0,11,0 21,0,20,0,2,0,28,0,13,0,19,0 17,0,1,0,5,0,15,0,24,0,12,0 26,0,10,0,6,0,16,0,7,0,8,0 23,0,14,0,21,0,9,0,27,0,20,0 4,0,8,0,6,0,3,0,7,0,25,0 26,0,22,0,5,0,11,0,17,0,2,0 10,0,18,0,15,0,24,0,1,0,13,0 19,0,9,0,23,0,12,0,28,0,16,0 26,0,8,0,13,0,17,0,24,0,18,0 1,0,20,0,16,0,7,0,14,0,22,0 25,0,4,0,11,0,9,0,28,0,10,0 19,0,15,0,2,0,27,0,5,0,23,0 12,0,21,0,11,0,3,0,6,0,20,0 18,0,8,0,9,0,10,0,1,0,19,0 24,0,25,0,6,0,14,0,5,0,15,0 16,0,26,0,21,0,12,0,4,0,2,0 3,0,23,0,13,0,27,0,7,0,17,0 22,0,4,0,1,0,28,0,5,0,20,0 ================================================ FILE: schedules/28_12.csv ================================================ 23,0,17,0,8,0,28,0,6,0,4,0 19,0,20,0,13,0,22,0,14,0,25,0 15,0,11,0,27,0,10,0,26,0,1,0 3,0,12,0,2,0,21,0,7,0,24,0 5,0,9,0,27,0,16,0,18,0,15,0 1,0,6,0,14,0,21,0,2,0,26,0 17,0,20,0,8,0,23,0,3,0,19,0 22,0,12,0,4,0,13,0,9,0,10,0 24,0,11,0,28,0,16,0,5,0,18,0 7,0,6,0,2,0,25,0,27,0,26,0 20,0,16,0,24,0,1,0,23,0,4,0 18,0,28,0,14,0,15,0,12,0,19,0 7,0,5,0,10,0,13,0,8,0,22,0 11,0,21,0,17,0,9,0,25,0,3,0 15,0,2,0,13,0,27,0,20,0,6,0 1,0,23,0,25,0,11,0,16,0,14,0 10,0,28,0,21,0,17,0,22,0,19,0 8,0,12,0,9,0,3,0,5,0,24,0 26,0,4,0,10,0,7,0,18,0,20,0 11,0,1,0,22,0,19,0,24,0,25,0 6,0,21,0,3,0,27,0,18,0,2,0 28,0,8,0,16,0,14,0,13,0,12,0 26,0,5,0,15,0,4,0,17,0,7,0 9,0,25,0,11,0,23,0,21,0,13,0 4,0,16,0,19,0,18,0,26,0,8,0 7,0,12,0,10,0,28,0,20,0,9,0 23,0,24,0,27,0,2,0,14,0,22,0 3,0,17,0,1,0,6,0,15,0,5,0 20,0,14,0,26,0,8,0,11,0,18,0 25,0,13,0,4,0,15,0,24,0,10,0 3,0,7,0,19,0,1,0,9,0,21,0 2,0,17,0,5,0,28,0,16,0,12,0 23,0,6,0,8,0,27,0,22,0,10,0 24,0,1,0,13,0,4,0,26,0,3,0 6,0,16,0,22,0,11,0,12,0,5,0 18,0,14,0,21,0,9,0,2,0,20,0 23,0,19,0,27,0,25,0,15,0,28,0 7,0,11,0,13,0,17,0,24,0,6,0 27,0,16,0,21,0,23,0,12,0,20,0 14,0,4,0,7,0,28,0,22,0,3,0 10,0,17,0,18,0,2,0,1,0,15,0 8,0,5,0,25,0,9,0,19,0,26,0 15,0,21,0,7,0,1,0,27,0,12,0 24,0,6,0,9,0,11,0,20,0,4,0 3,0,13,0,18,0,28,0,5,0,23,0 16,0,25,0,2,0,14,0,8,0,10,0 19,0,22,0,21,0,17,0,26,0,12,0 25,0,10,0,2,0,3,0,20,0,16,0 18,0,4,0,9,0,27,0,13,0,8,0 15,0,14,0,24,0,6,0,19,0,5,0 23,0,22,0,26,0,28,0,7,0,1,0 11,0,3,0,10,0,17,0,14,0,27,0 5,0,20,0,1,0,4,0,8,0,21,0 18,0,23,0,16,0,25,0,7,0,6,0 13,0,28,0,26,0,11,0,2,0,19,0 24,0,22,0,12,0,17,0,15,0,9,0 ================================================ FILE: schedules/28_13.csv ================================================ 11,0,24,0,21,0,26,0,14,0,13,0 2,0,20,0,12,0,5,0,1,0,7,0 18,0,15,0,6,0,10,0,9,0,3,0 19,0,23,0,8,0,25,0,28,0,17,0 27,0,4,0,24,0,22,0,16,0,5,0 28,0,21,0,26,0,9,0,20,0,17,0 10,0,11,0,25,0,22,0,15,0,19,0 18,0,8,0,16,0,3,0,12,0,27,0 23,0,1,0,14,0,13,0,4,0,6,0 2,0,17,0,5,0,7,0,18,0,8,0 4,1,10,0,27,0,28,1,20,0,1,0 12,0,25,0,14,0,3,0,19,0,26,0 13,0,16,0,21,0,11,0,23,0,6,0 7,0,9,0,15,0,2,0,22,0,24,0 26,0,8,0,3,0,11,0,1,0,4,0 9,0,27,0,17,0,10,0,23,0,13,0 12,0,6,0,7,0,25,0,28,0,22,0 15,0,16,0,14,0,20,0,21,0,19,0 24,0,2,0,28,0,5,0,18,0,23,0 15,0,17,0,8,0,4,0,21,0,7,0 18,0,13,0,2,0,20,0,6,0,10,0 25,0,5,0,19,0,27,0,26,0,24,0 1,0,9,0,22,0,11,0,12,0,16,0 3,0,20,0,13,0,14,0,17,0,2,0 7,0,11,0,27,0,26,0,9,0,16,0 14,0,25,0,4,0,18,0,12,0,22,0 8,0,1,0,10,0,6,0,19,0,24,0 5,0,21,0,15,0,23,0,3,0,28,0 27,0,2,0,19,0,11,0,24,0,12,0 16,0,6,0,5,0,18,0,8,0,21,0 20,0,25,0,22,0,23,0,14,0,10,0 7,0,26,0,17,0,1,0,13,0,15,0 9,0,4,0,18,0,28,0,3,0,6,0 21,0,19,0,10,0,24,0,2,0,7,0 22,0,3,0,14,0,28,0,1,0,27,0 23,0,25,0,15,0,4,0,16,0,12,0 5,0,17,0,20,0,11,0,9,0,13,0 26,0,23,0,22,0,8,0,14,0,6,0 13,0,9,0,19,0,4,0,2,0,16,0 20,0,11,0,7,0,3,0,21,0,25,0 1,0,24,0,17,0,18,0,27,0,15,0 12,0,28,0,10,0,8,0,5,0,26,0 21,0,6,0,1,0,19,0,23,0,7,0 11,0,3,0,2,0,13,0,5,0,27,0 28,0,14,0,20,0,10,0,16,0,17,0 26,0,18,0,25,0,15,0,4,0,22,0 9,0,12,0,6,0,24,0,8,0,20,0 13,0,4,0,5,0,7,0,14,0,16,0 11,0,8,0,22,0,15,0,28,0,2,0 21,0,23,0,12,0,9,0,24,0,3,0 27,0,10,0,18,0,1,0,26,0,25,0 17,0,22,0,6,0,19,0,11,0,14,0 16,0,24,0,23,0,20,0,26,0,15,0 7,0,28,0,13,0,9,0,27,0,25,0 12,0,5,0,1,0,17,0,18,0,19,0 3,0,4,0,8,0,10,0,21,0,2,0 11,0,15,0,26,0,5,0,9,0,14,0 7,0,10,0,22,0,17,0,21,0,12,0 28,0,19,0,4,0,27,0,6,0,2,0 3,0,16,0,1,0,8,0,25,0,13,0 24,0,18,0,28,0,20,0,23,0,4,0 ================================================ FILE: schedules/28_14.csv ================================================ 26,0,28,0,19,0,23,0,1,0,10,0 2,0,3,0,24,0,9,0,16,0,6,0 5,0,7,0,17,0,22,0,25,0,20,0 15,0,12,0,13,0,21,0,4,0,8,0 14,0,27,0,9,0,18,0,11,0,7,0 28,0,25,0,21,0,16,0,26,0,3,0 15,0,6,0,2,0,24,0,27,0,19,0 13,0,12,0,4,0,14,0,23,0,1,0 17,0,10,0,8,0,11,0,18,0,5,0 22,0,14,0,3,0,20,0,12,0,16,0 7,1,11,0,10,0,19,1,28,0,24,0 13,1,6,0,18,0,5,1,15,0,25,0 26,0,21,0,9,0,22,0,2,0,8,0 20,0,23,0,17,0,27,0,4,0,1,0 14,0,19,0,13,0,28,0,9,0,12,0 7,0,26,0,27,0,15,0,4,0,10,0 22,0,21,0,6,0,2,0,17,0,1,0 24,0,8,0,18,0,25,0,5,0,3,0 11,0,20,0,15,0,23,0,16,0,21,0 1,0,12,0,7,0,6,0,19,0,18,0 16,0,14,0,11,0,22,0,25,0,17,0 3,0,10,0,9,0,5,0,27,0,23,0 20,0,28,0,8,0,26,0,13,0,24,0 4,0,7,0,12,0,2,0,18,0,10,0 16,0,17,0,26,0,25,0,19,0,23,0 24,0,11,0,15,0,13,0,2,0,1,0 28,0,22,0,5,0,27,0,3,0,8,0 14,0,6,0,4,0,9,0,21,0,20,0 25,0,27,0,18,0,8,0,11,0,19,0 24,0,23,0,12,0,13,0,5,0,2,0 21,0,22,0,10,0,3,0,7,0,28,0 26,0,1,0,14,0,4,0,17,0,16,0 9,0,20,0,3,0,6,0,15,0,10,0 18,0,1,0,16,0,13,0,19,0,22,0 23,0,8,0,9,0,24,0,17,0,21,0 27,0,28,0,7,0,15,0,26,0,14,0 11,0,2,0,25,0,20,0,5,0,4,0 12,0,22,0,18,0,6,0,23,0,28,0 9,0,5,0,15,0,10,0,16,0,24,0 2,0,20,0,19,0,14,0,8,0,17,0 25,0,13,0,7,0,4,0,6,0,26,0 3,0,1,0,21,0,27,0,12,0,11,0 13,0,16,0,8,0,2,0,7,0,23,0 11,0,6,0,1,0,14,0,28,0,10,0 21,0,5,0,24,0,4,0,3,0,19,0 22,0,15,0,26,0,18,0,17,0,9,0 20,0,27,0,16,0,12,0,25,0,10,0 11,0,21,0,24,0,1,0,22,0,7,0 14,0,25,0,19,0,3,0,15,0,23,0 28,0,13,0,17,0,4,0,18,0,9,0 27,0,6,0,20,0,12,0,26,0,8,0 2,0,28,0,1,0,5,0,16,0,15,0 10,0,13,0,27,0,14,0,18,0,21,0 17,0,19,0,3,0,2,0,8,0,26,0 4,0,25,0,24,0,6,0,5,0,12,0 22,0,11,0,23,0,7,0,20,0,9,0 5,0,12,0,8,0,18,0,16,0,28,0 17,0,6,0,27,0,7,0,14,0,24,0 13,0,23,0,10,0,25,0,9,0,1,0 2,0,4,0,22,0,15,0,19,0,21,0 26,0,20,0,10,0,11,0,3,0,13,0 4,0,18,0,23,0,27,0,15,0,22,0 9,0,19,0,16,0,1,0,20,0,24,0 7,0,6,0,8,0,26,0,25,0,5,0 12,0,3,0,2,0,28,0,11,0,17,0 14,0,19,0,5,0,21,0,7,0,13,0 ================================================ FILE: schedules/28_2.csv ================================================ 23,0,18,0,21,0,14,0,17,0,20,0 7,0,12,0,8,0,10,0,26,0,2,0 11,0,24,0,9,0,25,0,16,0,27,0 19,0,22,0,13,0,1,0,6,0,28,0 3,0,15,0,16,0,5,0,4,0,18,0 21,0,26,0,27,0,6,0,19,0,25,0 9,0,7,0,20,0,22,0,3,0,8,0 4,0,10,0,1,0,14,0,11,0,2,0 5,0,15,0,12,0,17,0,24,0,13,0 28,0,2,1,8,1,23,0,4,1,7,1 ================================================ FILE: schedules/28_3.csv ================================================ 10,0,23,0,22,0,15,0,9,0,12,0 6,0,11,0,18,0,20,0,7,0,2,0 13,0,26,0,25,0,5,0,21,0,17,0 28,0,1,0,8,0,24,0,27,0,4,0 19,0,3,0,15,0,16,0,14,0,18,0 21,0,4,0,12,0,17,0,9,0,11,0 20,0,22,0,16,0,26,0,27,0,28,0 25,0,19,0,7,0,3,0,24,0,23,0 13,0,14,0,5,0,10,0,8,0,6,0 2,0,18,0,26,0,1,0,23,0,12,0 15,0,28,0,11,0,13,0,6,0,19,0 20,0,3,0,5,0,22,0,1,0,4,0 16,0,7,0,10,0,25,0,21,0,8,0 24,0,2,0,17,0,9,0,27,0,14,0 ================================================ FILE: schedules/28_4.csv ================================================ 5,0,2,0,6,0,7,0,18,0,17,0 21,0,11,0,12,0,3,0,22,0,4,0 28,0,8,0,16,0,23,0,10,0,1,0 9,0,15,0,26,0,14,0,27,0,24,0 13,0,19,0,23,0,20,0,25,0,6,0 27,0,26,0,22,0,18,0,3,0,1,0 14,0,17,0,10,0,13,0,4,0,24,0 19,0,2,0,12,0,21,0,15,0,16,0 5,0,9,0,28,0,20,0,11,0,8,0 25,0,16,0,14,0,7,0,22,0,6,0 8,1,1,0,15,0,11,1,5,0,13,0 7,0,3,0,23,0,4,0,19,0,9,0 2,0,17,0,20,0,12,0,27,0,10,0 18,0,24,0,26,0,21,0,25,0,28,0 19,0,14,0,3,0,5,0,17,0,8,0 25,0,18,0,10,0,9,0,12,0,1,0 13,0,21,0,27,0,11,0,28,0,7,0 4,0,20,0,15,0,26,0,16,0,6,0 22,0,24,0,11,0,2,0,23,0,8,0 ================================================ FILE: schedules/28_5.csv ================================================ 13,0,16,0,7,0,22,0,20,0,1,0 15,0,27,0,24,0,23,0,25,0,12,0 10,0,14,0,2,0,4,0,17,0,21,0 11,0,3,0,19,0,5,0,9,0,18,0 8,0,28,0,14,0,6,0,26,0,16,0 13,0,11,0,25,0,19,0,12,0,2,0 18,0,1,0,15,0,17,0,24,0,26,0 3,0,4,0,7,0,27,0,28,0,21,0 20,0,6,0,5,0,10,0,8,0,23,0 9,0,2,0,3,0,22,0,15,0,14,0 6,1,21,0,23,0,18,1,16,0,19,0 8,1,5,0,13,0,17,1,27,0,25,0 4,0,26,0,12,0,20,0,7,0,9,0 1,0,24,0,28,0,10,0,11,0,22,0 2,0,17,0,23,0,8,0,3,0,26,0 28,0,5,0,25,0,14,0,7,0,18,0 6,0,24,0,11,0,13,0,20,0,4,0 10,0,16,0,27,0,9,0,15,0,19,0 22,0,12,0,5,0,1,0,21,0,26,0 15,0,17,0,8,0,28,0,7,0,11,0 10,0,9,0,21,0,13,0,23,0,18,0 4,0,6,0,25,0,16,0,1,0,3,0 19,0,14,0,27,0,24,0,20,0,2,0 22,0,18,0,17,0,12,0,6,0,8,0 ================================================ FILE: schedules/28_6.csv ================================================ 28,0,17,0,1,0,24,0,22,0,9,0 3,0,12,0,8,0,18,0,4,0,15,0 6,0,10,0,20,0,21,0,14,0,7,0 13,0,26,0,25,0,2,0,16,0,27,0 5,0,19,0,12,0,23,0,11,0,9,0 6,0,18,0,8,0,16,0,28,0,13,0 19,0,24,0,7,0,3,0,27,0,21,0 20,0,25,0,23,0,15,0,22,0,10,0 17,0,14,0,11,0,4,0,2,0,26,0 1,0,20,0,13,0,5,0,3,0,24,0 26,0,18,0,10,0,19,0,25,0,4,0 15,0,1,0,27,0,14,0,28,0,12,0 21,0,5,0,2,0,8,0,17,0,23,0 11,0,16,0,22,0,9,0,7,0,6,0 10,0,5,0,27,0,18,0,21,0,1,0 7,0,11,0,13,0,17,0,15,0,12,0 23,0,4,0,28,0,20,0,14,0,16,0 19,0,3,0,9,0,6,0,25,0,2,0 26,0,22,0,12,0,24,0,8,0,10,0 17,0,2,0,9,0,27,0,20,0,18,0 4,0,22,0,14,0,21,0,13,0,19,0 5,0,23,0,15,0,24,0,26,0,6,0 7,0,25,0,1,0,11,0,28,0,8,0 3,0,10,0,14,0,16,0,17,0,5,0 20,0,21,0,28,0,25,0,11,0,12,0 24,0,15,0,16,0,19,0,1,0,2,0 8,0,22,0,27,0,4,0,3,0,6,0 9,0,13,0,18,0,26,0,7,0,23,0 ================================================ FILE: schedules/28_7.csv ================================================ 4,0,7,0,23,0,2,0,11,0,21,0 26,0,10,0,28,0,3,0,13,0,9,0 17,0,1,0,22,0,24,0,20,0,25,0 16,0,8,0,19,0,14,0,5,0,6,0 12,0,27,0,22,0,18,0,15,0,17,0 26,0,24,0,2,0,28,0,19,0,5,0 16,0,9,0,4,0,18,0,25,0,1,0 12,0,6,0,15,0,8,0,23,0,20,0 11,0,3,0,27,0,14,0,10,0,21,0 13,0,17,0,12,0,7,0,9,0,22,0 8,1,4,0,24,0,23,1,27,0,28,0 7,0,25,0,14,0,15,0,26,0,3,0 2,0,18,0,5,0,21,0,20,0,13,0 1,0,6,0,16,0,19,0,10,0,11,0 5,0,20,0,7,0,9,0,28,0,14,0 27,0,21,0,26,0,8,0,1,0,13,0 10,0,23,0,18,0,19,0,17,0,24,0 2,0,4,0,3,0,16,0,15,0,22,0 6,0,11,0,18,0,12,0,25,0,28,0 27,0,20,0,19,0,16,0,7,0,26,0 13,0,14,0,11,0,17,0,25,0,2,0 5,0,23,0,12,0,1,0,10,0,3,0 9,0,15,0,24,0,21,0,22,0,6,0 4,0,20,0,18,0,8,0,3,0,7,0 10,0,9,0,27,0,15,0,2,0,23,0 21,0,28,0,1,0,16,0,14,0,17,0 11,0,25,0,22,0,5,0,26,0,8,0 6,0,24,0,13,0,19,0,4,0,12,0 21,0,8,0,25,0,20,0,10,0,2,0 14,0,23,0,26,0,18,0,16,0,12,0 5,0,17,0,3,0,6,0,4,0,27,0 13,0,15,0,7,0,11,0,1,0,24,0 28,0,22,0,8,0,19,0,9,0,23,0 ================================================ FILE: schedules/28_8.csv ================================================ 27,0,24,0,4,0,10,0,9,0,16,0 3,0,19,0,15,0,17,0,13,0,18,0 22,0,11,0,12,0,20,0,14,0,25,0 26,0,21,0,2,0,28,0,5,0,8,0 23,0,7,0,25,0,6,0,1,0,4,0 20,0,19,0,2,0,21,0,9,0,15,0 8,0,14,0,24,0,6,0,22,0,23,0 3,0,16,0,7,0,10,0,11,0,28,0 13,0,26,0,1,0,12,0,18,0,27,0 5,0,15,0,20,0,17,0,16,0,23,0 4,1,22,0,21,0,25,1,1,0,27,0 5,1,2,0,18,0,8,1,7,0,11,0 9,0,13,0,6,0,26,0,28,0,17,0 10,0,3,0,24,0,14,0,19,0,12,0 15,0,16,0,25,0,8,0,23,0,13,0 7,0,26,0,24,0,21,0,3,0,20,0 10,0,1,0,18,0,17,0,22,0,2,0 14,0,9,0,28,0,11,0,5,0,27,0 12,0,6,0,26,0,4,0,19,0,16,0 5,0,7,0,14,0,22,0,15,0,13,0 8,0,10,0,27,0,18,0,20,0,28,0 23,0,11,0,9,0,12,0,1,0,21,0 17,0,24,0,19,0,25,0,4,0,2,0 3,0,13,0,5,0,6,0,21,0,7,0 17,0,1,0,20,0,15,0,4,0,28,0 8,0,6,0,19,0,11,0,24,0,25,0 26,0,9,0,18,0,23,0,10,0,14,0 27,0,16,0,22,0,3,0,2,0,12,0 11,0,4,0,14,0,17,0,21,0,5,0 19,0,13,0,10,0,8,0,1,0,22,0 28,0,3,0,27,0,12,0,23,0,15,0 6,0,18,0,25,0,20,0,9,0,7,0 2,0,24,0,1,0,16,0,26,0,5,0 8,0,12,0,17,0,7,0,19,0,27,0 25,0,21,0,28,0,24,0,18,0,16,0 20,0,4,0,23,0,2,0,13,0,14,0 6,0,11,0,15,0,10,0,26,0,22,0 9,0,4,0,5,0,3,0,25,0,8,0 ================================================ FILE: schedules/28_9.csv ================================================ 3,0,23,0,5,0,17,0,7,0,8,0 19,0,27,0,13,0,4,0,22,0,11,0 14,0,2,0,24,0,9,0,6,0,16,0 15,0,18,0,21,0,26,0,20,0,25,0 1,0,28,0,17,0,10,0,12,0,4,0 3,0,6,0,14,0,18,0,5,0,13,0 22,0,28,0,26,0,7,0,16,0,23,0 9,0,19,0,21,0,24,0,10,0,27,0 1,0,8,0,12,0,20,0,11,0,2,0 25,0,14,0,10,0,15,0,4,0,5,0 27,0,2,0,6,0,22,0,20,0,17,0 24,0,21,0,28,0,16,0,3,0,8,0 13,0,11,0,25,0,1,0,7,0,26,0 9,0,12,0,18,0,19,0,23,0,15,0 6,0,5,0,7,0,10,0,1,0,21,0 4,0,2,0,23,0,15,0,12,0,11,0 24,0,22,0,19,0,28,0,20,0,3,0 17,0,16,0,18,0,9,0,8,0,13,0 27,0,25,0,21,0,26,0,14,0,23,0 5,0,22,0,2,0,24,0,1,0,13,0 20,0,4,0,8,0,10,0,3,0,9,0 28,0,11,0,7,0,14,0,18,0,27,0 17,0,6,0,15,0,19,0,25,0,16,0 26,0,9,0,5,0,12,0,28,0,2,0 20,0,23,0,10,0,16,0,11,0,14,0 25,0,15,0,22,0,8,0,24,0,18,0 26,0,27,0,3,0,4,0,6,0,1,0 17,0,12,0,19,0,21,0,7,0,13,0 2,0,1,0,16,0,18,0,23,0,6,0 3,0,25,0,7,0,17,0,14,0,9,0 10,0,8,0,19,0,12,0,27,0,22,0 4,0,13,0,26,0,5,0,24,0,20,0 11,0,21,0,6,0,28,0,15,0,9,0 13,0,3,0,22,0,25,0,12,0,23,0 16,0,20,0,15,0,27,0,28,0,5,0 26,0,10,0,17,0,1,0,19,0,18,0 4,0,14,0,7,0,21,0,8,0,2,0 24,0,12,0,16,0,11,0,17,0,27,0 10,0,13,0,28,0,3,0,15,0,2,0 1,0,9,0,22,0,14,0,5,0,21,0 8,0,11,0,23,0,6,0,19,0,26,0 20,0,7,0,18,0,4,0,25,0,24,0 ================================================ FILE: schedules/29_1.csv ================================================ 10,0,26,0,27,0,21,0,24,0,4,0 20,0,23,0,11,0,8,0,3,0,15,0 28,0,9,0,14,0,22,0,5,0,13,0 16,0,2,0,25,0,12,0,7,0,1,0 19,0,17,0,6,0,29,0,18,0,24,1 ================================================ FILE: schedules/29_10.csv ================================================ 3,0,11,0,10,0,27,0,6,0,22,0 29,0,8,0,28,0,15,0,5,0,23,0 2,0,1,0,7,0,18,0,25,0,4,0 17,0,26,0,19,0,9,0,21,0,24,0 16,0,12,0,14,0,13,0,20,0,15,0 26,0,23,0,11,0,6,0,2,0,19,0 20,0,3,0,16,0,5,0,24,0,14,0 22,0,21,0,10,0,1,0,29,0,13,0 9,0,18,0,27,0,25,0,17,0,28,0 12,0,8,0,6,0,7,0,4,0,24,0 9,1,25,0,14,0,11,1,2,0,29,0 1,1,27,0,3,0,8,1,19,0,13,0 12,0,26,0,22,0,28,0,23,0,21,0 15,0,4,0,16,0,20,0,10,0,18,0 17,0,7,0,21,0,5,0,3,0,29,0 19,0,12,0,25,0,26,0,10,0,16,0 23,0,4,0,20,0,9,0,11,0,7,0 24,0,2,0,18,0,28,0,5,0,22,0 14,0,17,0,13,0,1,0,8,0,15,0 27,0,5,0,4,0,6,0,23,0,10,0 19,0,9,0,15,0,12,0,13,0,28,0 22,0,3,0,17,0,6,0,25,0,16,0 29,0,24,0,20,0,27,0,2,0,11,0 7,0,8,0,14,0,21,0,26,0,18,0 1,0,28,0,10,0,17,0,20,0,9,0 25,0,21,0,11,0,15,0,12,0,18,0 24,0,1,0,19,0,4,0,22,0,29,0 26,0,5,0,6,0,16,0,8,0,27,0 7,0,13,0,3,0,14,0,2,0,23,0 24,0,25,0,27,0,15,0,21,0,6,0 18,0,7,0,28,0,22,0,20,0,19,0 8,0,4,0,10,0,2,0,3,0,26,0 29,0,16,0,23,0,12,0,1,0,17,0 5,0,13,0,9,0,11,0,14,0,4,0 15,0,17,0,29,0,26,0,20,0,7,0 24,0,23,0,22,0,16,0,18,0,13,0 21,0,2,0,5,0,10,0,12,0,27,0 11,0,19,0,28,0,25,0,3,0,8,0 6,0,9,0,29,0,14,0,1,0,18,0 10,0,2,0,15,0,28,0,24,0,16,0 14,0,27,0,20,0,9,0,8,0,22,0 5,0,7,0,12,0,26,0,1,0,25,0 21,0,13,0,4,0,11,0,6,0,17,0 23,0,3,0,9,0,19,0,10,0,7,0 11,0,22,0,1,0,26,0,15,0,24,0 28,0,6,0,4,0,19,0,14,0,29,0 18,0,17,0,8,0,3,0,12,0,21,0 2,0,25,0,20,0,13,0,23,0,27,0 16,0,9,0,1,0,5,0,11,0,8,0 ================================================ FILE: schedules/29_11.csv ================================================ 6,0,27,0,1,0,24,0,16,0,23,0 15,0,2,0,4,0,29,0,17,0,14,0 19,0,18,0,9,0,11,0,26,0,28,0 21,0,13,0,5,0,22,0,10,0,12,0 20,0,3,0,25,0,8,0,7,0,6,0 18,0,27,0,16,0,13,0,2,0,17,0 5,0,12,0,8,0,9,0,23,0,4,0 20,0,10,0,15,0,19,0,11,0,29,0 1,0,25,0,28,0,22,0,3,0,26,0 7,0,24,0,17,0,21,0,14,0,19,0 20,1,9,0,2,0,4,1,6,0,3,0 18,1,26,0,14,0,22,1,16,0,1,0 24,1,28,0,8,0,7,0,12,0,29,0 15,0,11,0,5,0,13,0,25,0,27,0 10,0,23,0,7,0,21,0,2,0,16,0 28,0,12,0,6,0,15,0,27,0,22,0 29,0,9,0,8,0,26,0,24,0,13,0 5,0,4,0,19,0,21,0,11,0,1,0 3,0,23,0,17,0,14,0,25,0,10,0 18,0,29,0,13,0,20,0,19,0,27,0 24,0,2,0,6,0,1,0,12,0,4,0 21,0,7,0,3,0,14,0,23,0,11,0 16,0,26,0,8,0,20,0,5,0,28,0 22,0,18,0,17,0,25,0,9,0,15,0 10,0,19,0,28,0,13,0,6,0,14,0 27,0,3,0,29,0,5,0,22,0,7,0 10,0,24,0,1,0,9,0,20,0,17,0 25,0,16,0,12,0,26,0,4,0,21,0 2,0,18,0,11,0,15,0,23,0,8,0 20,0,12,0,13,0,25,0,4,0,7,0 21,0,18,0,23,0,29,0,6,0,22,0 17,0,26,0,1,0,27,0,10,0,11,0 16,0,5,0,9,0,19,0,24,0,3,0 28,0,15,0,14,0,8,0,2,0,25,0 4,0,6,0,17,0,5,0,26,0,23,0 16,0,10,0,29,0,1,0,9,0,14,0 7,0,11,0,20,0,12,0,27,0,2,0 21,0,24,0,15,0,3,0,28,0,18,0 8,0,22,0,11,0,19,0,13,0,16,0 26,0,29,0,2,0,25,0,5,0,24,0 22,0,19,0,23,0,4,0,28,0,13,0 12,0,14,0,3,0,10,0,6,0,18,0 17,0,21,0,27,0,20,0,1,0,8,0 7,0,16,0,14,0,9,0,15,0,26,0 21,0,28,0,22,0,10,0,2,0,5,0 6,0,25,0,19,0,9,0,27,0,7,0 29,0,23,0,20,0,12,0,15,0,17,0 13,0,1,0,3,0,18,0,8,0,4,0 24,0,22,0,25,0,11,0,17,0,16,0 15,0,7,0,18,0,1,0,5,0,29,0 13,0,11,0,9,0,20,0,21,0,6,0 24,0,27,0,4,0,10,0,3,0,8,0 26,0,19,0,12,0,2,0,28,0,23,0 14,0,4,0,22,0,20,0,18,0,24,0 ================================================ FILE: schedules/29_12.csv ================================================ 27,0,4,0,29,0,19,0,5,0,25,0 7,0,10,0,2,0,23,0,24,0,26,0 17,0,13,0,28,0,11,0,22,0,16,0 18,0,3,0,21,0,6,0,12,0,15,0 1,0,9,0,14,0,20,0,8,0,29,0 22,0,28,0,19,0,21,0,23,0,24,0 3,0,10,0,20,0,8,0,16,0,14,0 5,0,12,0,25,0,18,0,4,0,17,0 13,0,15,0,2,0,1,0,27,0,26,0 9,0,7,0,23,0,6,0,11,0,28,0 19,0,3,0,26,0,14,0,16,0,5,0 24,0,21,0,6,0,7,0,29,0,13,0 1,0,20,0,15,0,22,0,17,0,9,0 4,0,25,0,11,0,10,0,12,0,18,0 27,0,8,0,9,0,2,0,6,0,23,0 21,0,15,0,5,0,10,0,14,0,17,0 28,0,24,0,3,0,27,0,20,0,12,0 18,0,11,0,19,0,1,0,29,0,16,0 8,0,7,0,26,0,22,0,2,0,4,0 13,0,11,0,14,0,25,0,17,0,24,0 8,0,1,0,10,0,27,0,28,0,7,0 23,0,16,0,18,0,26,0,12,0,21,0 2,0,25,0,20,0,6,0,19,0,22,0 29,0,15,0,9,0,3,0,13,0,4,0 5,0,6,0,17,0,24,0,27,0,18,0 10,0,1,0,2,0,14,0,21,0,20,0 12,0,9,0,11,0,8,0,4,0,5,0 29,0,13,0,22,0,19,0,16,0,7,0 23,0,25,0,28,0,3,0,15,0,26,0 12,0,11,0,1,0,29,0,27,0,19,0 14,0,3,0,6,0,13,0,10,0,21,0 8,0,22,0,23,0,18,0,2,0,25,0 7,0,24,0,9,0,20,0,26,0,5,0 4,0,15,0,28,0,17,0,16,0,11,0 14,0,19,0,2,0,5,0,18,0,9,0 20,0,24,0,22,0,3,0,1,0,28,0 12,0,25,0,7,0,6,0,10,0,29,0 4,0,26,0,16,0,15,0,27,0,23,0 13,0,17,0,19,0,21,0,8,0,3,0 16,0,12,0,2,0,29,0,5,0,24,0 11,0,8,0,27,0,25,0,22,0,21,0 20,0,26,0,17,0,4,0,10,0,9,0 7,0,18,0,6,0,28,0,14,0,15,0 23,0,4,0,21,0,13,0,1,0,24,0 15,0,28,0,16,0,12,0,19,0,8,0 18,0,26,0,14,0,7,0,20,0,11,0 22,0,10,0,27,0,25,0,29,0,3,0 1,0,23,0,5,0,6,0,13,0,9,0 17,0,21,0,27,0,2,0,28,0,26,0 13,0,16,0,20,0,25,0,12,0,3,0 22,0,5,0,7,0,11,0,15,0,10,0 6,0,4,0,24,0,14,0,19,0,23,0 18,0,29,0,1,0,2,0,17,0,9,0 10,0,24,0,19,0,8,0,15,0,25,0 16,0,9,0,21,0,14,0,22,0,27,0 3,0,2,0,5,0,4,0,1,0,7,0 8,0,17,0,18,0,12,0,23,0,13,0 29,0,11,0,26,0,6,0,28,0,20,0 ================================================ FILE: schedules/29_13.csv ================================================ 10,0,7,0,19,0,20,0,13,0,23,0 25,0,9,0,12,0,21,0,28,0,1,0 17,0,26,0,5,0,15,0,27,0,11,0 16,0,18,0,2,0,29,0,14,0,24,0 4,0,8,0,3,0,22,0,6,0,11,0 5,0,9,0,1,0,7,0,24,0,13,0 19,0,14,0,26,0,15,0,4,0,22,0 12,0,17,0,3,0,18,0,25,0,23,0 21,0,10,0,28,0,20,0,29,0,27,0 16,0,8,0,15,0,2,0,6,0,12,0 19,0,25,0,4,0,18,1,1,0,10,0 9,0,20,0,24,0,14,0,22,0,8,0 5,0,13,0,2,0,3,0,28,0,27,0 6,0,21,0,16,0,17,0,23,0,11,0 7,0,28,0,20,0,29,0,26,0,8,0 21,0,27,0,22,0,5,0,10,0,14,0 17,0,19,0,15,0,2,0,3,0,9,0 11,0,18,0,7,0,26,0,13,0,6,0 16,0,29,0,23,0,24,0,4,0,12,0 1,0,17,0,14,0,25,0,10,0,2,0 22,0,18,0,5,0,12,0,11,0,13,0 28,0,6,0,8,0,23,0,24,0,19,0 4,0,7,0,1,0,9,0,15,0,21,0 26,0,25,0,27,0,16,0,3,0,20,0 29,0,5,0,2,0,19,0,1,0,11,0 21,0,25,0,14,0,4,0,13,0,16,0 17,0,7,0,27,0,28,0,29,0,22,0 20,0,18,0,12,0,23,0,9,0,8,0 6,0,10,0,24,0,26,0,3,0,15,0 17,0,9,0,29,0,14,0,19,0,13,0 6,0,18,0,4,0,8,0,5,0,28,0 27,0,10,0,23,0,15,0,7,0,2,0 24,0,3,0,22,0,20,0,1,0,25,0 26,0,16,0,11,0,21,0,12,0,4,0 9,0,25,0,18,0,15,0,5,0,6,0 11,0,21,0,3,0,19,0,14,0,27,0 13,0,1,0,24,0,17,0,20,0,26,0 28,0,23,0,2,0,16,0,22,0,10,0 12,0,29,0,25,0,8,0,7,0,3,0 14,0,17,0,2,0,5,0,4,0,20,0 13,0,10,0,18,0,24,0,26,0,21,0 23,0,22,0,1,0,6,0,7,0,29,0 19,0,9,0,8,0,27,0,12,0,16,0 15,0,28,0,24,0,11,0,22,0,25,0 20,0,8,0,16,0,5,0,10,0,19,0 23,0,15,0,12,0,17,0,13,0,28,0 4,0,29,0,11,0,18,0,1,0,27,0 6,0,3,0,14,0,9,0,7,0,26,0 2,0,8,0,27,0,21,0,5,0,23,0 22,0,3,0,7,0,20,0,18,0,15,0 2,0,11,0,24,0,10,0,9,0,4,0 19,0,13,0,21,0,25,0,6,0,17,0 26,0,12,0,1,0,14,0,16,0,28,0 6,0,9,0,22,0,29,0,2,0,21,0 27,0,13,0,4,0,18,0,28,0,26,0 29,0,1,0,10,0,12,0,5,0,3,0 20,0,19,0,11,0,16,0,7,0,17,0 23,0,15,0,14,0,25,0,8,0,24,0 20,0,28,0,12,0,1,0,6,0,27,0 16,0,24,0,5,0,3,0,18,0,17,0 26,0,4,0,23,0,19,0,2,0,22,0 29,0,13,0,15,0,14,0,11,0,9,0 7,0,10,0,25,0,8,0,21,0,18,0 ================================================ FILE: schedules/29_14.csv ================================================ 3,0,25,0,6,0,14,0,26,0,20,0 13,0,19,0,28,0,7,0,8,0,29,0 16,0,22,0,27,0,5,0,10,0,18,0 9,0,24,0,15,0,4,0,11,0,23,0 2,0,1,0,12,0,17,0,21,0,22,0 5,0,13,0,6,0,25,0,19,0,4,0 11,0,24,0,12,0,17,0,20,0,10,0 27,0,28,0,26,0,21,0,2,0,16,0 18,0,7,0,14,0,1,0,23,0,8,0 29,0,9,0,6,0,15,0,3,0,27,0 20,1,24,0,2,0,28,1,4,0,12,0 29,0,16,0,23,0,10,0,14,0,15,0 5,0,8,0,25,0,19,0,11,0,3,0 21,0,13,0,18,0,17,0,9,0,7,0 26,0,10,0,23,0,22,0,1,0,14,0 5,0,12,0,18,0,27,0,6,0,7,0 11,0,25,0,1,0,4,0,24,0,22,0 8,0,20,0,13,0,3,0,28,0,2,0 21,0,15,0,26,0,17,0,19,0,29,0 16,0,28,0,7,0,9,0,11,0,8,0 27,0,23,0,19,0,25,0,17,0,14,0 2,0,22,0,15,0,3,0,13,0,6,0 9,0,10,0,18,0,20,0,16,0,12,0 5,0,24,0,21,0,29,0,26,0,1,0 4,0,14,0,16,0,8,0,15,0,28,0 21,0,23,0,25,0,19,0,12,0,6,0 4,0,5,0,1,0,9,0,10,0,3,0 26,0,11,0,7,0,13,0,2,0,27,0 17,0,18,0,22,0,29,0,20,0,24,0 16,0,21,0,12,0,26,0,3,0,4,0 29,0,18,0,11,0,14,0,20,0,19,0 7,0,24,0,1,0,8,0,5,0,2,0 9,0,27,0,17,0,10,0,28,0,6,0 23,0,13,0,22,0,25,0,15,0,21,0 24,0,4,0,10,0,6,0,16,0,8,0 22,0,28,0,25,0,26,0,5,0,7,0 2,0,20,0,23,0,18,0,19,0,3,0 12,0,14,0,27,0,11,0,15,0,13,0 29,0,17,0,6,0,9,0,1,0,16,0 24,0,8,0,18,0,23,0,15,0,12,0 14,0,1,0,13,0,22,0,9,0,5,0 7,0,17,0,3,0,25,0,29,0,28,0 10,0,27,0,11,0,21,0,20,0,4,0 19,0,26,0,22,0,2,0,9,0,23,0 25,0,10,0,1,0,21,0,7,0,13,0 8,0,26,0,12,0,4,0,6,0,29,0 11,0,28,0,3,0,19,0,18,0,24,0 17,0,27,0,20,0,16,0,15,0,5,0 2,0,18,0,10,0,14,0,9,0,25,0 15,0,20,0,6,0,4,0,27,0,13,0 29,0,21,0,22,0,11,0,12,0,28,0 19,0,14,0,8,0,17,0,26,0,24,0 3,0,1,0,16,0,7,0,2,0,23,0 5,0,11,0,14,0,21,0,8,0,6,0 13,0,9,0,26,0,24,0,23,0,3,0 17,0,2,0,4,0,29,0,5,0,27,0 28,0,20,0,1,0,25,0,18,0,16,0 15,0,7,0,19,0,22,0,10,0,12,0 14,0,29,0,3,0,27,0,8,0,1,0 9,0,21,0,19,0,24,0,16,0,13,0 7,0,25,0,20,0,15,0,22,0,10,0 28,0,5,0,4,0,23,0,26,0,18,0 2,0,6,0,11,0,17,0,12,0,1,0 20,0,19,0,7,0,21,0,27,0,28,0 8,0,3,0,22,0,11,0,17,0,16,0 23,0,5,0,6,0,13,0,10,0,29,0 15,0,4,0,18,0,26,0,25,0,2,0 12,0,9,0,20,0,24,0,14,0,28,0 ================================================ FILE: schedules/29_2.csv ================================================ 14,0,22,0,2,0,7,0,29,0,21,0 26,0,10,0,15,0,27,0,11,0,8,0 28,0,18,0,4,0,19,0,16,0,20,0 12,0,6,0,25,0,17,0,13,0,3,0 1,0,9,0,8,0,5,0,23,0,24,0 27,0,28,0,12,0,6,0,4,0,21,0 7,0,9,0,19,0,3,0,26,0,25,0 20,0,24,0,11,0,22,0,13,0,23,0 17,0,15,0,16,0,1,0,14,0,29,0 2,0,5,0,6,1,10,0,18,0,3,1 ================================================ FILE: schedules/29_3.csv ================================================ 2,0,26,0,13,0,22,0,19,0,20,0 9,0,1,0,24,0,29,0,23,0,12,0 28,0,11,0,3,0,7,0,21,0,4,0 14,0,5,0,18,0,8,0,17,0,25,0 15,0,10,0,16,0,27,0,6,0,13,0 3,1,17,0,12,0,8,1,26,0,4,0 16,1,29,0,6,0,19,0,25,0,21,0 28,0,27,0,20,0,11,0,9,0,5,0 1,0,18,0,23,0,15,0,2,0,7,0 24,0,22,0,11,0,14,0,10,0,6,0 8,0,29,0,13,0,26,0,28,0,23,0 7,0,19,0,16,0,5,0,10,0,12,0 27,0,2,0,25,0,3,0,4,0,24,0 14,0,17,0,21,0,20,0,15,0,1,0 18,0,22,0,8,0,9,0,3,0,16,0 ================================================ FILE: schedules/29_4.csv ================================================ 24,0,25,0,6,0,5,0,7,0,10,0 14,0,2,0,15,0,29,0,22,0,20,0 16,0,3,0,17,0,19,0,18,0,12,0 26,0,27,0,13,0,21,0,4,0,1,0 9,0,8,0,28,0,11,0,23,0,15,0 14,0,13,0,20,0,18,0,24,0,27,0 22,0,10,0,21,0,3,0,12,0,8,0 26,0,9,0,16,0,29,0,5,0,6,0 7,0,4,0,2,0,17,0,28,0,11,0 25,0,1,0,20,0,19,0,23,0,16,0 15,1,18,0,10,0,21,1,26,0,11,0 28,1,22,0,27,0,5,1,25,0,9,0 8,0,17,0,6,0,14,0,1,0,24,0 7,0,12,0,23,0,3,0,13,0,29,0 19,0,4,0,9,0,2,0,24,0,21,0 11,0,3,0,6,0,13,0,25,0,15,0 14,0,29,0,28,0,10,0,19,0,1,0 5,0,23,0,22,0,17,0,18,0,4,0 7,0,27,0,16,0,26,0,8,0,2,0 12,0,21,0,5,0,20,0,15,0,28,0 ================================================ FILE: schedules/29_5.csv ================================================ 25,0,7,0,3,0,24,0,13,0,11,0 4,0,17,0,10,0,15,0,29,0,20,0 21,0,26,0,22,0,1,0,6,0,19,0 2,0,12,0,8,0,23,0,28,0,16,0 9,0,18,0,5,0,14,0,27,0,7,0 2,0,1,0,21,0,8,0,24,0,10,0 15,0,3,0,18,0,5,0,23,0,19,0 20,0,14,0,12,0,22,0,29,0,25,0 11,0,16,0,27,0,6,0,13,0,17,0 28,0,9,0,24,0,4,0,26,0,18,0 20,1,21,0,16,0,14,1,11,0,5,0 2,1,23,0,17,0,13,1,22,0,9,0 3,1,27,0,19,0,8,0,25,0,4,0 12,0,6,0,26,0,10,0,7,0,15,0 1,0,29,0,9,0,28,0,13,0,3,0 5,0,25,0,6,0,8,0,26,0,17,0 28,0,22,0,20,0,21,0,27,0,15,0 29,0,4,0,16,0,18,0,1,0,7,0 19,0,14,0,24,0,11,0,23,0,10,0 2,0,13,0,4,0,12,0,21,0,5,0 3,0,22,0,10,0,16,0,25,0,18,0 19,0,17,0,7,0,2,0,14,0,28,0 24,0,29,0,23,0,27,0,20,0,6,0 11,0,8,0,1,0,9,0,12,0,15,0 26,0,14,0,13,0,20,0,2,0,3,0 ================================================ FILE: schedules/29_6.csv ================================================ 16,0,20,0,5,0,26,0,7,0,6,0 19,0,25,0,23,0,8,0,2,0,18,0 27,0,9,0,3,0,22,0,1,0,24,0 11,0,15,0,12,0,10,0,4,0,17,0 14,0,28,0,29,0,13,0,21,0,27,0 16,0,25,0,2,0,20,0,12,0,22,0 7,0,9,0,17,0,6,0,21,0,18,0 8,0,29,0,24,0,1,0,15,0,5,0 4,0,19,0,14,0,3,0,26,0,28,0 23,0,10,0,6,0,13,0,11,0,25,0 17,0,8,0,22,0,28,0,18,0,27,0 11,0,2,0,24,0,16,0,21,0,26,0 13,0,5,0,4,0,9,0,19,0,20,0 7,0,12,0,3,0,23,0,15,0,29,0 14,0,1,0,18,0,10,0,20,0,11,0 13,0,8,0,7,0,4,0,12,0,24,0 29,0,21,0,10,0,6,0,19,0,22,0 15,0,16,0,14,0,23,0,1,0,9,0 27,0,17,0,26,0,25,0,3,0,5,0 28,0,10,0,9,0,2,0,7,0,23,0 18,0,3,0,17,0,16,0,13,0,29,0 19,0,26,0,12,0,1,0,27,0,11,0 15,0,24,0,21,0,28,0,25,0,20,0 6,0,4,0,8,0,14,0,2,0,22,0 5,0,28,0,21,0,12,0,10,0,16,0 1,0,19,0,7,0,17,0,14,0,25,0 23,0,18,0,4,0,6,0,24,0,27,0 15,0,13,0,22,0,2,0,5,0,26,0 3,0,20,0,29,0,9,0,11,0,8,0 ================================================ FILE: schedules/29_7.csv ================================================ 4,0,29,0,8,0,3,0,16,0,6,0 18,0,17,0,21,0,27,0,5,0,28,0 15,0,2,0,20,0,22,0,14,0,12,0 24,0,26,0,25,0,23,0,7,0,10,0 19,0,11,0,13,0,9,0,1,0,22,0 14,0,25,0,6,0,5,0,18,0,29,0 1,0,19,0,10,0,24,0,17,0,4,0 27,0,7,0,9,0,8,0,3,0,12,0 20,0,16,0,28,0,26,0,15,0,11,0 13,0,23,0,9,0,2,0,21,0,7,0 3,1,17,0,22,0,4,0,25,0,12,0 2,0,18,0,13,0,16,0,26,0,19,0 10,0,14,0,15,0,8,0,6,0,11,0 29,0,28,0,23,0,5,0,20,0,1,0 27,0,21,0,8,0,24,0,22,0,19,0 9,0,18,0,14,0,16,0,17,0,10,0 15,0,1,0,4,0,27,0,26,0,2,0 12,0,6,0,29,0,24,0,21,0,23,0 5,0,3,0,11,0,13,0,7,0,20,0 28,0,19,0,12,0,25,0,10,0,29,0 27,0,14,0,4,0,9,0,20,0,21,0 25,0,23,0,18,0,15,0,8,0,13,0 22,0,16,0,7,0,1,0,28,0,6,0 26,0,17,0,5,0,2,0,11,0,24,0 3,0,7,0,19,0,16,0,14,0,23,0 6,0,13,0,10,0,17,0,20,0,27,0 12,0,21,0,5,0,26,0,8,0,1,0 25,0,11,0,28,0,2,0,3,0,4,0 9,0,24,0,29,0,15,0,18,0,22,0 4,0,16,0,11,0,23,0,27,0,12,0 17,0,8,0,7,0,15,0,29,0,21,0 13,0,1,0,24,0,28,0,3,0,14,0 6,0,26,0,20,0,19,0,9,0,25,0 22,0,2,0,5,0,18,0,10,0,3,0 ================================================ FILE: schedules/29_8.csv ================================================ 5,0,19,0,21,0,11,0,18,0,4,0 15,0,8,0,26,0,1,0,23,0,24,0 6,0,9,0,22,0,20,0,13,0,27,0 2,0,7,0,25,0,10,0,3,0,12,0 16,0,17,0,14,0,28,0,29,0,6,0 11,0,20,0,10,0,24,0,4,0,15,0 7,0,27,0,21,0,8,0,16,0,23,0 1,0,3,0,2,0,13,0,28,0,19,0 17,0,5,0,26,0,18,0,14,0,12,0 25,0,22,0,23,0,29,0,9,0,11,0 5,1,13,0,12,0,10,1,16,0,28,0 15,0,6,0,2,0,26,0,21,0,22,0 14,0,24,0,7,0,19,0,1,0,20,0 3,0,8,0,29,0,18,0,17,0,9,0 4,0,25,0,20,0,27,0,15,0,12,0 29,0,23,0,19,0,10,0,5,0,8,0 3,0,22,0,13,0,25,0,14,0,21,0 28,0,27,0,11,0,26,0,7,0,18,0 1,0,16,0,9,0,2,0,4,0,17,0 6,0,27,0,26,0,24,0,10,0,19,0 14,0,13,0,9,0,11,0,15,0,21,0 7,0,17,0,28,0,23,0,2,0,5,0 1,0,8,0,18,0,12,0,20,0,6,0 29,0,24,0,22,0,3,0,16,0,4,0 10,0,21,0,18,0,25,0,1,0,13,0 24,0,17,0,12,0,11,0,19,0,22,0 6,0,25,0,5,0,9,0,26,0,3,0 28,0,4,0,8,0,15,0,29,0,7,0 20,0,23,0,14,0,16,0,27,0,2,0 21,0,9,0,24,0,28,0,12,0,25,0 4,0,29,0,27,0,13,0,26,0,2,0 16,0,19,0,18,0,10,0,23,0,15,0 5,0,14,0,22,0,6,0,7,0,8,0 20,0,3,0,15,0,17,0,11,0,1,0 18,0,24,0,13,0,9,0,5,0,7,0 25,0,16,0,11,0,19,0,2,0,8,0 29,0,26,0,10,0,21,0,20,0,17,0 12,0,4,0,23,0,6,0,3,0,14,0 1,0,28,0,5,0,22,0,27,0,10,0 ================================================ FILE: schedules/29_9.csv ================================================ 17,0,16,0,21,0,25,0,19,0,11,0 12,0,5,0,1,0,8,0,23,0,14,0 3,0,28,0,27,0,29,0,26,0,22,0 10,0,4,0,18,0,24,0,15,0,13,0 7,0,9,0,1,0,20,0,6,0,2,0 22,0,5,0,21,0,24,0,10,0,12,0 25,0,9,0,4,0,27,0,29,0,7,0 16,0,23,0,28,0,17,0,3,0,14,0 11,0,26,0,2,0,8,0,13,0,18,0 6,0,19,0,22,0,15,0,20,0,14,0 10,1,3,0,9,0,17,1,11,0,13,0 1,0,25,0,2,0,5,1,28,0,15,0 24,0,18,0,27,0,20,0,12,0,19,0 4,0,26,0,7,0,21,0,23,0,29,0 6,0,14,0,18,0,16,0,8,0,25,0 19,0,17,0,26,0,22,0,2,0,12,0 23,0,4,0,24,0,11,0,28,0,6,0 7,0,15,0,21,0,9,0,13,0,5,0 8,0,29,0,3,0,10,0,1,0,20,0 27,0,13,0,23,0,16,0,4,0,22,0 3,0,15,0,11,0,7,0,8,0,28,0 14,0,19,0,24,0,9,0,12,0,29,0 26,0,25,0,21,0,17,0,18,0,5,0 6,0,16,0,1,0,2,0,27,0,10,0 20,0,8,0,9,0,25,0,18,0,23,0 17,0,24,0,6,0,13,0,1,0,26,0 14,0,28,0,10,0,20,0,4,0,21,0 27,0,15,0,12,0,22,0,7,0,3,0 29,0,2,0,19,0,16,0,5,0,11,0 10,0,22,0,23,0,26,0,18,0,9,0 12,0,25,0,7,0,4,0,19,0,1,0 3,0,16,0,13,0,29,0,5,0,24,0 15,0,2,0,17,0,14,0,27,0,11,0 20,0,28,0,29,0,6,0,21,0,8,0 10,0,25,0,13,0,7,0,19,0,23,0 11,0,18,0,20,0,6,0,5,0,27,0 9,0,22,0,24,0,17,0,8,0,1,0 4,0,2,0,14,0,21,0,12,0,3,0 28,0,26,0,5,0,16,0,15,0,9,0 17,0,25,0,29,0,2,0,24,0,3,0 20,0,13,0,7,0,16,0,26,0,14,0 11,0,12,0,23,0,10,0,15,0,6,0 18,0,21,0,19,0,22,0,1,0,28,0 8,0,10,0,5,0,27,0,4,0,17,0 ================================================ FILE: schedules/30_1.csv ================================================ 18,0,20,0,4,0,30,0,3,0,21,0 27,0,26,0,15,0,29,0,7,0,10,0 8,0,16,0,23,0,19,0,25,0,6,0 2,0,13,0,24,0,12,0,9,0,14,0 17,0,28,0,22,0,1,0,5,0,11,0 ================================================ FILE: schedules/30_10.csv ================================================ 8,0,10,0,25,0,1,0,18,0,17,0 14,0,27,0,30,0,12,0,28,0,6,0 15,0,26,0,23,0,16,0,3,0,29,0 20,0,9,0,19,0,4,0,22,0,24,0 7,0,13,0,5,0,2,0,21,0,11,0 20,0,14,0,10,0,16,0,6,0,25,0 28,0,3,0,22,0,15,0,17,0,8,0 1,0,11,0,13,0,21,0,27,0,9,0 7,0,18,0,24,0,2,0,26,0,30,0 12,0,29,0,4,0,23,0,5,0,19,0 6,0,18,0,10,0,3,0,11,0,20,0 8,0,24,0,23,0,7,0,2,0,14,0 19,0,25,0,21,0,29,0,28,0,1,0 16,0,30,0,22,0,27,0,15,0,4,0 12,0,5,0,17,0,9,0,26,0,13,0 8,0,27,0,28,0,2,0,10,0,29,0 11,0,22,0,26,0,5,0,1,0,14,0 3,0,9,0,25,0,20,0,24,0,30,0 4,0,17,0,6,0,16,0,23,0,13,0 21,0,7,0,15,0,19,0,12,0,18,0 8,0,16,0,1,0,24,0,3,0,5,0 18,0,26,0,4,0,12,0,14,0,21,0 25,0,17,0,30,0,29,0,11,0,9,0 15,0,28,0,13,0,20,0,27,0,23,0 6,0,22,0,2,0,19,0,7,0,10,0 23,0,11,0,17,0,8,0,18,0,20,0 27,0,3,0,6,0,25,0,26,0,5,0 1,0,4,0,2,0,30,0,15,0,29,0 28,0,19,0,14,0,7,0,9,0,16,0 13,0,24,0,12,0,10,0,22,0,21,0 1,0,20,0,26,0,4,0,14,0,23,0 29,0,27,0,7,0,9,0,17,0,10,0 13,0,3,0,2,0,12,0,22,0,25,0 8,0,21,0,30,0,6,0,15,0,19,0 18,0,11,0,5,0,28,0,16,0,24,0 4,0,20,0,25,0,7,0,22,0,8,0 16,0,5,0,21,0,23,0,30,0,10,0 17,0,26,0,29,0,13,0,19,0,27,0 1,0,6,0,9,0,28,0,2,0,18,0 24,0,14,0,11,0,15,0,12,0,3,0 29,0,22,0,18,0,13,0,6,0,30,0 20,0,16,0,12,0,17,0,24,0,2,0 19,0,3,0,4,0,11,0,27,0,25,0 1,0,23,0,21,0,9,0,14,0,8,0 10,0,15,0,5,0,7,0,26,0,28,0 23,0,2,0,25,0,19,0,30,0,11,0 16,0,27,0,18,0,12,0,7,0,1,0 29,0,14,0,13,0,28,0,10,0,4,0 15,0,24,0,9,0,6,0,5,0,8,0 22,0,20,0,17,0,26,0,21,0,3,0 ================================================ FILE: schedules/30_11.csv ================================================ 5,0,3,0,30,0,4,0,13,0,18,0 21,0,25,0,16,0,27,0,22,0,26,0 23,0,2,0,6,0,7,0,17,0,20,0 19,0,9,0,15,0,29,0,12,0,24,0 14,0,10,0,11,0,1,0,28,0,8,0 15,0,12,0,20,0,5,0,4,0,2,0 26,0,23,0,14,0,1,0,30,0,22,0 25,0,7,0,19,0,29,0,11,0,18,0 17,0,13,0,28,0,3,0,21,0,8,0 24,0,16,0,27,0,10,0,9,0,6,0 28,0,4,0,2,0,21,0,14,0,30,0 7,0,6,0,11,0,13,0,9,0,26,0 16,0,12,0,22,0,24,0,1,0,17,0 25,0,23,0,27,0,5,0,20,0,8,0 10,0,29,0,19,0,15,0,18,0,3,0 2,0,20,0,21,0,14,0,24,0,9,0 6,0,18,0,8,0,12,0,25,0,26,0 29,0,5,0,13,0,28,0,19,0,22,0 3,0,4,0,27,0,1,0,11,0,23,0 16,0,30,0,17,0,7,0,15,0,10,0 11,0,2,0,25,0,26,0,5,0,19,0 14,0,22,0,18,0,16,0,3,0,6,0 1,0,20,0,29,0,7,0,28,0,21,0 15,0,8,0,24,0,13,0,12,0,23,0 17,0,27,0,9,0,10,0,30,0,4,0 1,0,5,0,15,0,14,0,6,0,19,0 30,0,8,0,26,0,2,0,22,0,9,0 23,0,7,0,3,0,10,0,25,0,24,0 4,0,12,0,11,0,16,0,28,0,29,0 18,0,17,0,21,0,27,0,20,0,13,0 9,0,16,0,23,0,29,0,3,0,25,0 19,0,20,0,11,0,10,0,27,0,28,0 18,0,7,0,26,0,21,0,15,0,4,0 22,0,24,0,5,0,14,0,8,0,17,0 30,0,13,0,2,0,6,0,12,0,1,0 7,0,8,0,27,0,22,0,25,0,4,0 24,0,30,0,6,0,21,0,11,0,5,0 13,0,10,0,1,0,29,0,2,0,26,0 12,0,19,0,3,0,16,0,14,0,20,0 18,0,28,0,9,0,15,0,17,0,23,0 21,0,27,0,12,0,3,0,11,0,13,0 30,0,23,0,29,0,16,0,2,0,8,0 4,0,26,0,1,0,24,0,19,0,18,0 20,0,10,0,22,0,7,0,5,0,9,0 14,0,28,0,15,0,6,0,25,0,17,0 9,0,8,0,4,0,1,0,19,0,16,0 17,0,10,0,26,0,28,0,12,0,5,0 25,0,18,0,20,0,11,0,15,0,30,0 24,0,2,0,3,0,27,0,6,0,29,0 14,0,13,0,7,0,23,0,22,0,21,0 8,0,12,0,10,0,3,0,26,0,20,0 21,0,29,0,9,0,25,0,5,0,14,0 11,0,17,0,22,0,2,0,18,0,1,0 13,0,15,0,6,0,16,0,7,0,4,0 28,0,23,0,24,0,27,0,30,0,19,0 ================================================ FILE: schedules/30_12.csv ================================================ 1,0,7,0,4,0,27,0,3,0,24,0 26,0,2,0,20,0,22,0,17,0,8,0 25,0,18,0,14,0,16,0,9,0,11,0 12,0,30,0,19,0,29,0,15,0,13,0 6,0,28,0,23,0,21,0,5,0,10,0 24,0,20,0,27,0,13,0,19,0,22,0 21,0,18,0,15,0,2,0,10,0,7,0 26,0,28,0,29,0,1,0,16,0,5,0 30,0,4,0,3,0,23,0,17,0,9,0 8,0,25,0,11,0,6,0,14,0,12,0 21,0,7,0,9,0,23,0,29,0,4,0 2,0,25,0,5,0,28,0,27,0,30,0 13,0,3,0,12,0,26,0,18,0,24,0 10,0,1,0,8,0,15,0,22,0,20,0 6,0,19,0,16,0,14,0,11,0,17,0 30,0,13,0,20,0,28,0,4,0,1,0 9,0,8,0,12,0,27,0,19,0,23,0 18,0,22,0,2,0,29,0,25,0,21,0 5,0,6,0,26,0,14,0,7,0,16,0 10,0,17,0,24,0,11,0,3,0,15,0 8,0,28,0,2,0,6,0,29,0,7,0 19,0,11,0,20,0,3,0,26,0,21,0 13,0,14,0,27,0,9,0,18,0,10,0 12,0,24,0,15,0,16,0,5,0,30,0 4,0,25,0,17,0,22,0,23,0,1,0 30,0,9,0,2,0,26,0,8,0,11,0 16,0,4,0,22,0,17,0,19,0,21,0 29,0,3,0,5,0,1,0,18,0,25,0 10,0,20,0,14,0,27,0,12,0,7,0 28,0,13,0,24,0,23,0,6,0,15,0 3,0,1,0,10,0,21,0,30,0,14,0 25,0,22,0,6,0,23,0,4,0,26,0 29,0,13,0,9,0,20,0,16,0,8,0 15,0,28,0,7,0,11,0,12,0,18,0 5,0,17,0,27,0,2,0,19,0,24,0 21,0,20,0,14,0,30,0,25,0,23,0 19,0,15,0,4,0,18,0,29,0,8,0 3,0,9,0,6,0,22,0,12,0,5,0 11,0,24,0,1,0,13,0,16,0,10,0 26,0,2,0,27,0,7,0,17,0,28,0 30,0,10,0,29,0,6,0,18,0,20,0 23,0,11,0,2,0,1,0,9,0,26,0 17,0,12,0,13,0,3,0,25,0,7,0 27,0,15,0,16,0,24,0,4,0,21,0 22,0,14,0,19,0,28,0,5,0,8,0 27,0,10,0,6,0,12,0,2,0,21,0 5,0,11,0,29,0,20,0,13,0,4,0 24,0,23,0,8,0,16,0,28,0,25,0 1,0,15,0,17,0,22,0,14,0,9,0 3,0,19,0,18,0,26,0,7,0,30,0 4,0,5,0,9,0,24,0,14,0,2,0 22,0,7,0,11,0,29,0,20,0,12,0 3,0,17,0,16,0,10,0,28,0,19,0 25,0,15,0,26,0,30,0,6,0,1,0 23,0,21,0,13,0,27,0,18,0,8,0 12,0,26,0,28,0,20,0,10,0,4,0 30,0,22,0,21,0,24,0,25,0,3,0 16,0,18,0,23,0,27,0,9,0,11,0 29,0,1,0,14,0,17,0,6,0,2,0 7,0,19,0,8,0,5,0,15,0,13,0 ================================================ FILE: schedules/30_13.csv ================================================ 13,0,17,0,27,0,12,0,28,0,7,0 30,0,6,0,19,0,26,0,10,0,18,0 15,0,29,0,5,0,23,0,25,0,9,0 1,0,21,0,2,0,20,0,11,0,22,0 8,0,24,0,3,0,16,0,14,0,4,0 7,0,30,0,21,0,26,0,15,0,22,0 17,0,19,0,20,0,29,0,27,0,6,0 28,0,11,0,9,0,18,0,16,0,2,0 4,0,5,0,8,0,10,0,1,0,25,0 23,0,3,0,14,0,12,0,13,0,24,0 2,0,11,0,29,0,18,0,8,0,22,0 26,0,9,0,16,0,23,0,27,0,1,0 17,0,28,0,30,0,13,0,3,0,14,0 25,0,12,0,21,0,7,0,4,0,19,0 20,0,15,0,6,0,24,0,5,0,10,0 12,0,16,0,3,0,28,0,18,0,26,0 30,0,11,0,19,0,5,0,22,0,6,0 23,0,9,0,8,0,21,0,25,0,27,0 10,0,20,0,1,0,13,0,14,0,7,0 29,0,15,0,17,0,24,0,2,0,4,0 21,0,22,0,14,0,19,0,26,0,5,0 17,0,10,0,4,0,11,0,3,0,25,0 7,0,29,0,27,0,28,0,23,0,1,0 16,0,6,0,13,0,18,0,15,0,9,0 12,0,8,0,2,0,24,0,20,0,30,0 18,0,3,0,5,0,9,0,10,0,7,0 26,0,2,0,13,0,15,0,8,0,14,0 30,0,27,0,4,0,1,0,19,0,12,0 23,0,11,0,6,0,29,0,20,0,21,0 28,0,22,0,24,0,25,0,16,0,17,0 21,0,13,0,18,0,4,0,20,0,12,0 9,0,11,0,1,0,15,0,19,0,28,0 10,0,8,0,27,0,6,0,3,0,2,0 25,0,14,0,5,0,16,0,29,0,30,0 23,0,26,0,24,0,7,0,17,0,22,0 14,0,27,0,5,0,4,0,30,0,18,0 10,0,12,0,2,0,1,0,17,0,26,0 13,0,19,0,9,0,21,0,11,0,8,0 28,0,3,0,15,0,23,0,22,0,20,0 7,0,25,0,6,0,29,0,16,0,24,0 18,0,12,0,23,0,11,0,5,0,17,0 10,0,15,0,28,0,4,0,29,0,22,0 21,0,19,0,24,0,3,0,1,0,7,0 8,0,9,0,25,0,14,0,6,0,30,0 13,0,26,0,20,0,16,0,2,0,27,0 17,0,14,0,12,0,6,0,9,0,21,0 19,0,18,0,25,0,27,0,2,0,20,0 16,0,22,0,10,0,13,0,4,0,28,0 1,0,5,0,24,0,29,0,3,0,26,0 23,0,7,0,15,0,30,0,8,0,11,0 9,0,20,0,5,0,19,0,24,0,27,0 15,0,16,0,11,0,3,0,17,0,30,0 25,0,22,0,12,0,21,0,23,0,10,0 26,0,4,0,6,0,28,0,14,0,2,0 7,0,18,0,1,0,29,0,8,0,13,0 3,0,27,0,22,0,26,0,11,0,12,0 25,0,28,0,29,0,24,0,30,0,15,0 4,0,6,0,1,0,9,0,17,0,2,0 18,0,19,0,14,0,23,0,13,0,10,0 20,0,8,0,16,0,7,0,5,0,21,0 26,0,24,0,14,0,27,0,11,0,18,0 16,0,2,0,23,0,5,0,12,0,15,0 4,0,21,0,28,0,6,0,17,0,8,0 9,0,20,0,7,0,3,0,10,0,19,0 1,0,29,0,22,0,30,0,25,0,13,0 ================================================ FILE: schedules/30_14.csv ================================================ 20,0,4,0,3,0,17,0,19,0,5,0 25,0,6,0,24,0,12,0,23,0,22,0 26,0,27,0,7,0,1,0,28,0,11,0 2,0,29,0,21,0,16,0,13,0,14,0 15,0,30,0,8,0,9,0,10,0,18,0 16,0,6,0,5,0,29,0,24,0,3,0 28,0,25,0,23,0,30,0,17,0,15,0 1,0,8,0,14,0,10,0,21,0,22,0 4,0,20,0,27,0,18,0,26,0,12,0 19,0,2,0,7,0,11,0,13,0,9,0 15,0,21,0,10,0,22,0,30,0,4,0 3,0,16,0,13,0,25,0,12,0,27,0 20,0,23,0,14,0,5,0,28,0,9,0 11,0,7,0,8,0,2,0,26,0,6,0 1,0,29,0,18,0,24,0,17,0,19,0 14,0,10,0,4,0,23,0,2,0,16,0 1,0,22,0,3,0,8,0,12,0,7,0 26,0,17,0,25,0,11,0,30,0,18,0 29,0,19,0,13,0,15,0,9,0,20,0 28,0,6,0,24,0,5,0,27,0,21,0 26,0,9,0,4,0,12,0,13,0,25,0 5,0,8,0,3,0,19,0,15,0,21,0 24,0,22,0,23,0,16,0,18,0,7,0 2,0,17,0,27,0,29,0,10,0,1,0 28,0,14,0,30,0,20,0,6,0,11,0 13,0,26,0,22,0,9,0,19,0,4,0 18,0,11,0,24,0,28,0,7,0,14,0 6,0,3,0,15,0,16,0,20,0,17,0 29,0,2,0,25,0,8,0,21,0,27,0 10,0,5,0,23,0,30,0,12,0,1,0 13,0,4,0,24,0,29,0,8,0,22,0 28,0,17,0,12,0,14,0,5,0,15,0 23,0,21,0,16,0,26,0,7,0,19,0 10,0,1,0,20,0,25,0,3,0,11,0 9,0,30,0,2,0,27,0,6,0,18,0 17,0,14,0,19,0,8,0,24,0,13,0 25,0,29,0,16,0,7,0,5,0,20,0 1,0,15,0,11,0,4,0,2,0,18,0 22,0,27,0,28,0,3,0,10,0,26,0 9,0,21,0,12,0,30,0,23,0,6,0 18,0,28,0,19,0,3,0,2,0,22,0 15,0,27,0,24,0,10,0,13,0,6,0 5,0,30,0,12,0,4,0,7,0,23,0 25,0,9,0,14,0,8,0,16,0,1,0 20,0,11,0,21,0,17,0,29,0,26,0 19,0,25,0,30,0,2,0,14,0,24,0 6,0,17,0,5,0,22,0,9,0,7,0 16,0,4,0,15,0,23,0,11,0,29,0 10,0,3,0,12,0,28,0,26,0,21,0 8,0,18,0,20,0,13,0,1,0,27,0 5,0,24,0,21,0,25,0,10,0,2,0 27,0,30,0,16,0,20,0,28,0,13,0 9,0,1,0,23,0,18,0,19,0,3,0 4,0,11,0,12,0,6,0,17,0,8,0 15,0,26,0,7,0,22,0,29,0,14,0 21,0,3,0,13,0,12,0,24,0,20,0 10,0,16,0,19,0,25,0,5,0,18,0 11,0,22,0,17,0,9,0,14,0,27,0 7,0,30,0,6,0,29,0,1,0,4,0 23,0,26,0,8,0,28,0,15,0,2,0 1,0,7,0,19,0,21,0,14,0,6,0 30,0,24,0,26,0,22,0,16,0,15,0 29,0,9,0,12,0,28,0,10,0,8,0 13,0,17,0,18,0,4,0,25,0,5,0 20,0,11,0,2,0,23,0,3,0,27,0 4,0,8,0,28,0,24,0,7,0,10,0 6,0,12,0,2,0,23,0,15,0,13,0 14,0,18,0,11,0,25,0,3,0,21,0 22,0,19,0,27,0,30,0,20,0,29,0 9,0,16,0,17,0,1,0,26,0,5,0 ================================================ FILE: schedules/30_2.csv ================================================ 15,0,10,0,17,0,28,0,30,0,14,0 5,0,20,0,21,0,16,0,9,0,29,0 8,0,3,0,23,0,27,0,11,0,13,0 4,0,22,0,26,0,2,0,24,0,7,0 25,0,18,0,6,0,19,0,1,0,12,0 24,0,3,0,14,0,7,0,21,0,9,0 11,0,17,0,12,0,22,0,19,0,5,0 16,0,28,0,26,0,18,0,13,0,23,0 2,0,27,0,15,0,10,0,29,0,25,0 6,0,30,0,1,0,20,0,8,0,4,0 ================================================ FILE: schedules/30_3.csv ================================================ 18,0,30,0,17,0,9,0,8,0,28,0 13,0,23,0,19,0,16,0,24,0,7,0 14,0,2,0,27,0,20,0,21,0,12,0 15,0,26,0,22,0,4,0,25,0,29,0 5,0,11,0,10,0,3,0,1,0,6,0 26,0,24,0,8,0,7,0,14,0,22,0 4,0,11,0,21,0,30,0,10,0,23,0 25,0,20,0,28,0,9,0,5,0,13,0 3,0,27,0,19,0,2,0,15,0,17,0 1,0,12,0,16,0,18,0,29,0,6,0 7,0,30,0,9,0,22,0,3,0,2,0 6,0,16,0,10,0,27,0,8,0,25,0 1,0,18,0,15,0,20,0,24,0,23,0 28,0,29,0,5,0,14,0,19,0,21,0 26,0,12,0,4,0,13,0,11,0,17,0 ================================================ FILE: schedules/30_4.csv ================================================ 28,0,1,0,11,0,14,0,12,0,15,0 9,0,8,0,4,0,22,0,6,0,16,0 24,0,19,0,7,0,27,0,5,0,20,0 29,0,3,0,26,0,17,0,10,0,2,0 30,0,18,0,25,0,21,0,23,0,13,0 17,0,19,0,9,0,2,0,28,0,8,0 11,0,22,0,12,0,18,0,26,0,7,0 27,0,13,0,14,0,21,0,29,0,4,0 6,0,3,0,20,0,1,0,5,0,30,0 23,0,25,0,15,0,16,0,24,0,10,0 6,0,7,0,14,0,18,0,19,0,2,0 10,0,21,0,5,0,4,0,11,0,17,0 24,0,15,0,29,0,30,0,9,0,22,0 27,0,26,0,1,0,25,0,16,0,28,0 23,0,8,0,20,0,12,0,3,0,13,0 18,0,16,0,1,0,29,0,7,0,17,0 8,0,14,0,21,0,15,0,20,0,26,0 4,0,12,0,19,0,24,0,3,0,25,0 2,0,11,0,9,0,30,0,23,0,27,0 13,0,10,0,22,0,28,0,5,0,6,0 ================================================ FILE: schedules/30_5.csv ================================================ 15,0,4,0,24,0,11,0,6,0,27,0 8,0,13,0,25,0,2,0,9,0,18,0 26,0,1,0,20,0,19,0,30,0,5,0 12,0,3,0,14,0,22,0,23,0,17,0 28,0,16,0,29,0,10,0,7,0,21,0 20,0,19,0,4,0,22,0,13,0,9,0 10,0,14,0,30,0,7,0,6,0,8,0 1,0,29,0,27,0,3,0,11,0,25,0 15,0,18,0,17,0,26,0,21,0,23,0 24,0,2,0,16,0,28,0,12,0,5,0 6,0,10,0,29,0,17,0,13,0,1,0 4,0,18,0,7,0,24,0,20,0,3,0 16,0,30,0,22,0,27,0,15,0,2,0 23,0,12,0,25,0,28,0,8,0,26,0 9,0,19,0,11,0,21,0,5,0,14,0 3,0,8,0,29,0,15,0,20,0,16,0 17,0,2,0,7,0,27,0,19,0,23,0 11,0,5,0,22,0,6,0,28,0,18,0 24,0,21,0,13,0,25,0,1,0,14,0 12,0,30,0,26,0,10,0,4,0,9,0 14,0,19,0,6,0,18,0,25,0,16,0 20,0,11,0,21,0,2,0,12,0,10,0 15,0,1,0,8,0,4,0,28,0,17,0 23,0,9,0,30,0,29,0,24,0,22,0 26,0,13,0,5,0,7,0,3,0,27,0 ================================================ FILE: schedules/30_6.csv ================================================ 19,0,12,0,24,0,14,0,6,0,5,0 22,0,30,0,17,0,2,0,29,0,21,0 4,0,20,0,25,0,16,0,9,0,23,0 10,0,8,0,27,0,7,0,15,0,13,0 1,0,28,0,11,0,3,0,18,0,26,0 5,0,19,0,13,0,24,0,23,0,4,0 6,0,29,0,26,0,22,0,27,0,18,0 2,0,28,0,12,0,25,0,16,0,15,0 1,0,30,0,7,0,9,0,8,0,11,0 3,0,20,0,14,0,21,0,10,0,17,0 16,0,28,0,30,0,27,0,19,0,29,0 3,0,22,0,1,0,20,0,12,0,13,0 14,0,15,0,17,0,4,0,18,0,7,0 8,0,24,0,21,0,25,0,23,0,26,0 2,0,11,0,6,0,10,0,5,0,9,0 8,0,7,0,14,0,28,0,22,0,20,0 2,0,9,0,13,0,26,0,21,0,19,0 4,0,12,0,10,0,18,0,29,0,30,0 27,0,17,0,5,0,24,0,1,0,25,0 15,0,6,0,23,0,3,0,11,0,16,0 29,0,7,0,25,0,13,0,1,0,14,0 23,0,22,0,10,0,17,0,9,0,28,0 26,0,20,0,15,0,19,0,6,0,30,0 8,0,3,0,12,0,27,0,2,0,4,0 21,0,18,0,16,0,24,0,5,0,11,0 27,0,23,0,13,0,30,0,2,0,14,0 11,0,19,0,18,0,22,0,25,0,8,0 7,0,17,0,26,0,16,0,5,0,12,0 29,0,20,0,9,0,3,0,15,0,24,0 4,0,21,0,1,0,6,0,28,0,10,0 ================================================ FILE: schedules/30_7.csv ================================================ 17,0,6,0,28,0,4,0,13,0,12,0 20,0,7,0,21,0,2,0,18,0,11,0 14,0,26,0,15,0,1,0,3,0,22,0 27,0,8,0,10,0,29,0,24,0,23,0 5,0,9,0,30,0,19,0,25,0,16,0 18,0,4,0,23,0,2,0,13,0,26,0 24,0,28,0,11,0,19,0,9,0,15,0 6,0,21,0,1,0,5,0,8,0,3,0 22,0,10,0,20,0,30,0,27,0,17,0 16,0,12,0,14,0,7,0,29,0,25,0 27,0,18,0,26,0,6,0,19,0,5,0 2,0,3,0,15,0,12,0,25,0,17,0 24,0,9,0,10,0,14,0,20,0,13,0 30,0,29,0,21,0,23,0,7,0,28,0 11,0,22,0,4,0,16,0,1,0,8,0 10,0,13,0,30,0,15,0,21,0,5,0 25,0,9,0,2,0,28,0,8,0,26,0 16,0,17,0,24,0,1,0,29,0,18,0 7,0,19,0,3,0,20,0,27,0,4,0 14,0,22,0,23,0,11,0,12,0,6,0 18,0,16,0,7,0,10,0,15,0,28,0 9,0,14,0,27,0,17,0,21,0,4,0 12,0,1,0,5,0,8,0,23,0,20,0 25,0,11,0,30,0,26,0,6,0,24,0 29,0,13,0,3,0,22,0,19,0,2,0 12,0,24,0,20,0,26,0,21,0,16,0 19,0,28,0,30,0,14,0,17,0,8,0 3,0,23,0,25,0,18,0,9,0,22,0 7,0,6,0,27,0,1,0,10,0,2,0 4,0,5,0,29,0,13,0,11,0,15,0 8,0,2,0,12,0,30,0,14,0,18,0 13,0,28,0,16,0,27,0,3,0,11,0 4,0,1,0,19,0,21,0,25,0,10,0 17,0,23,0,5,0,22,0,7,0,24,0 6,0,29,0,15,0,26,0,9,0,20,0 ================================================ FILE: schedules/30_8.csv ================================================ 29,0,4,0,8,0,28,0,11,0,14,0 7,0,26,0,25,0,18,0,1,0,21,0 15,0,19,0,22,0,5,0,16,0,30,0 2,0,6,0,17,0,3,0,9,0,13,0 24,0,23,0,27,0,10,0,12,0,20,0 18,0,17,0,5,0,15,0,14,0,25,0 4,0,16,0,20,0,23,0,8,0,3,0 11,0,9,0,1,0,13,0,21,0,10,0 28,0,19,0,12,0,2,0,27,0,7,0 22,0,30,0,24,0,29,0,6,0,26,0 16,0,17,0,25,0,21,0,27,0,4,0 11,0,18,0,3,0,30,0,1,0,2,0 23,0,13,0,15,0,29,0,12,0,22,0 26,0,5,0,9,0,7,0,28,0,20,0 14,0,8,0,19,0,24,0,6,0,10,0 2,0,11,0,22,0,27,0,25,0,20,0 23,0,21,0,5,0,8,0,6,0,30,0 12,0,15,0,26,0,3,0,14,0,10,0 1,0,19,0,16,0,9,0,28,0,17,0 24,0,29,0,13,0,4,0,7,0,18,0 3,0,15,0,20,0,9,0,8,0,27,0 7,0,14,0,13,0,21,0,11,0,16,0 6,0,23,0,25,0,2,0,19,0,26,0 5,0,1,0,29,0,24,0,12,0,17,0 10,0,22,0,18,0,28,0,4,0,30,0 12,0,5,0,3,0,19,0,11,0,24,0 6,0,4,0,22,0,7,0,15,0,1,0 28,0,27,0,18,0,14,0,9,0,23,0 17,0,21,0,29,0,16,0,2,0,10,0 25,0,13,0,30,0,8,0,20,0,26,0 21,0,28,0,2,0,15,0,24,0,5,0 7,0,9,0,10,0,3,0,22,0,25,0 8,0,16,0,18,0,11,0,6,0,12,0 23,0,20,0,30,0,14,0,17,0,1,0 13,0,4,0,26,0,27,0,19,0,29,0 11,0,7,0,8,0,22,0,23,0,17,0 21,0,19,0,3,0,20,0,18,0,29,0 10,0,28,0,25,0,6,0,13,0,5,0 30,0,14,0,12,0,2,0,9,0,4,0 16,0,15,0,27,0,24,0,1,0,26,0 ================================================ FILE: schedules/30_9.csv ================================================ 2,0,27,0,4,0,29,0,5,0,14,0 16,0,21,0,26,0,10,0,9,0,6,0 1,0,15,0,22,0,23,0,17,0,7,0 18,0,19,0,28,0,11,0,13,0,12,0 25,0,24,0,8,0,3,0,30,0,20,0 22,0,27,0,7,0,4,0,28,0,21,0 14,0,23,0,8,0,20,0,10,0,19,0 11,0,6,0,15,0,3,0,25,0,1,0 12,0,29,0,26,0,2,0,24,0,18,0 9,0,13,0,5,0,30,0,17,0,16,0 28,0,24,0,27,0,15,0,23,0,19,0 29,0,30,0,2,0,8,0,10,0,11,0 1,0,17,0,20,0,7,0,9,0,26,0 5,0,21,0,18,0,6,0,13,0,3,0 4,0,12,0,14,0,22,0,25,0,16,0 2,0,13,0,21,0,23,0,1,0,27,0 14,0,26,0,3,0,8,0,12,0,7,0 24,0,19,0,29,0,25,0,9,0,15,0 10,0,16,0,18,0,22,0,17,0,5,0 4,0,6,0,20,0,11,0,28,0,30,0 9,0,3,0,16,0,27,0,29,0,17,0 8,0,13,0,15,0,11,0,14,0,18,0 6,0,24,0,22,0,2,0,20,0,5,0 1,0,19,0,12,0,7,0,10,0,4,0 30,0,23,0,21,0,25,0,26,0,28,0 20,0,9,0,11,0,10,0,12,0,15,0 22,0,29,0,3,0,19,0,26,0,2,0 27,0,6,0,25,0,8,0,4,0,17,0 30,0,1,0,18,0,24,0,14,0,21,0 7,0,5,0,16,0,13,0,23,0,28,0 30,0,12,0,27,0,3,0,19,0,17,0 10,0,28,0,5,0,8,0,2,0,1,0 4,0,26,0,15,0,16,0,13,0,14,0 23,0,24,0,20,0,29,0,6,0,18,0 25,0,7,0,11,0,21,0,22,0,9,0 8,0,18,0,3,0,4,0,16,0,1,0 7,0,6,0,14,0,28,0,29,0,9,0 19,0,22,0,11,0,26,0,27,0,5,0 17,0,2,0,12,0,21,0,15,0,20,0 10,0,25,0,23,0,30,0,13,0,24,0 7,0,21,0,19,0,6,0,16,0,8,0 28,0,14,0,17,0,3,0,11,0,24,0 29,0,1,0,13,0,12,0,22,0,20,0 9,0,2,0,23,0,4,0,5,0,25,0 10,0,30,0,26,0,27,0,18,0,15,0 ================================================ FILE: schedules/31_1.csv ================================================ 19,0,5,0,20,0,25,0,2,0,9,0 31,0,17,0,1,0,11,0,27,0,10,0 29,0,16,0,21,0,22,0,14,0,13,0 18,0,7,0,23,0,26,0,8,0,28,0 15,0,30,0,6,0,3,0,4,0,12,0 24,0,31,1,10,1,9,1,25,1,13,1 ================================================ FILE: schedules/31_10.csv ================================================ 21,0,28,0,2,0,11,0,7,0,23,0 18,0,1,0,6,0,12,0,31,0,9,0 13,0,3,0,10,0,5,0,14,0,30,0 15,0,26,0,4,0,27,0,29,0,16,0 8,0,24,0,20,0,19,0,17,0,25,0 22,0,4,0,21,0,7,0,18,0,14,0 26,0,23,0,29,0,1,0,19,0,11,0 25,0,13,0,16,0,6,0,12,0,3,0 30,0,17,0,8,0,22,0,9,0,27,0 20,0,31,0,15,0,24,0,28,0,10,0 5,0,12,0,16,0,2,0,8,0,13,0 31,1,27,0,30,0,18,1,26,0,19,0 1,0,9,0,15,0,28,0,7,0,5,0 17,0,6,0,4,0,21,0,11,0,20,0 24,0,3,0,22,0,10,0,23,0,2,0 29,0,14,0,31,0,25,0,6,0,7,0 26,0,22,0,13,0,10,0,15,0,19,0 24,0,2,0,11,0,30,0,3,0,29,0 14,0,17,0,12,0,28,0,4,0,9,0 18,0,16,0,21,0,1,0,8,0,5,0 23,0,27,0,13,0,20,0,25,0,4,0 5,0,19,0,2,0,15,0,18,0,29,0 7,0,26,0,12,0,23,0,17,0,20,0 1,0,28,0,3,0,8,0,22,0,6,0 11,0,14,0,27,0,31,0,16,0,24,0 9,0,30,0,10,0,25,0,21,0,23,0 12,0,1,0,27,0,22,0,15,0,2,0 9,0,21,0,19,0,31,0,17,0,13,0 20,0,29,0,10,0,16,0,28,0,30,0 5,0,3,0,18,0,4,0,24,0,7,0 25,0,11,0,8,0,14,0,26,0,6,0 27,0,15,0,3,0,17,0,21,0,1,0 20,0,30,0,12,0,22,0,31,0,5,0 19,0,16,0,6,0,24,0,14,0,23,0 2,0,18,0,25,0,26,0,11,0,28,0 13,0,7,0,9,0,29,0,8,0,4,0 10,0,5,0,11,0,19,0,23,0,12,0 21,0,3,0,14,0,20,0,9,0,26,0 25,0,30,0,22,0,16,0,1,0,4,0 17,0,29,0,28,0,13,0,24,0,18,0 8,0,10,0,7,0,6,0,27,0,2,0 15,0,5,0,23,0,31,0,25,0,3,0 13,0,4,0,14,0,2,0,1,0,20,0 10,0,26,0,31,0,18,0,28,0,22,0 7,0,16,0,17,0,30,0,15,0,6,0 24,0,29,0,19,0,12,0,8,0,21,0 11,0,9,0,6,0,27,0,20,0,5,0 23,0,18,0,30,0,14,0,8,0,15,0 28,0,19,0,31,0,3,0,16,0,9,0 22,0,1,0,7,0,29,0,11,0,13,0 25,0,12,0,24,0,26,0,27,0,21,0 4,0,2,0,31,0,17,0,10,0,18,0 ================================================ FILE: schedules/31_11.csv ================================================ 8,0,19,0,18,0,1,0,23,0,3,0 20,0,11,0,30,0,2,0,5,0,7,0 29,0,21,0,27,0,14,0,15,0,6,0 25,0,12,0,26,0,9,0,24,0,10,0 16,0,22,0,31,0,13,0,28,0,4,0 7,0,3,0,24,0,17,0,10,0,5,0 2,0,27,0,19,0,28,0,16,0,6,0 14,0,9,0,12,0,30,0,23,0,31,0 15,0,13,0,8,0,4,0,11,0,25,0 1,0,22,0,26,0,21,0,17,0,20,0 29,0,6,0,2,0,18,0,25,0,16,0 14,0,30,0,21,0,24,1,23,0,17,0 10,0,20,0,22,0,11,0,31,0,27,0 1,0,5,0,4,0,12,0,18,0,15,0 28,0,8,0,29,0,26,0,9,0,3,0 13,0,7,0,12,0,19,0,5,0,23,0 17,0,2,0,28,0,29,0,1,0,15,0 4,0,14,0,16,0,10,0,3,0,11,0 6,0,9,0,25,0,19,0,20,0,13,0 26,0,24,0,18,0,8,0,22,0,27,0 30,0,7,0,1,0,21,0,31,0,6,0 12,0,19,0,22,0,20,0,2,0,14,0 5,0,26,0,31,0,17,0,27,0,25,0 15,0,28,0,10,0,8,0,30,0,24,0 9,0,18,0,29,0,16,0,7,0,11,0 23,0,13,0,21,0,3,0,4,0,17,0 2,0,18,0,10,0,20,0,28,0,9,0 14,0,11,0,13,0,1,0,21,0,24,0 22,0,23,0,6,0,25,0,5,0,29,0 4,0,27,0,30,0,26,0,7,0,19,0 3,0,16,0,15,0,12,0,8,0,31,0 25,0,19,0,1,0,14,0,24,0,29,0 12,0,30,0,17,0,8,0,11,0,6,0 20,0,7,0,23,0,21,0,28,0,18,0 16,0,5,0,9,0,22,0,15,0,4,0 31,0,3,0,2,0,10,0,13,0,26,0 27,0,5,0,28,0,9,0,21,0,22,0 18,0,23,0,11,0,17,0,15,0,26,0 29,0,10,0,4,0,19,0,30,0,16,0 7,0,31,0,25,0,12,0,2,0,1,0 20,0,27,0,3,0,24,0,13,0,6,0 8,0,17,0,16,0,14,0,18,0,31,0 21,0,19,0,10,0,11,0,2,0,15,0 9,0,27,0,7,0,14,0,25,0,3,0 6,0,20,0,5,0,8,0,4,0,26,0 22,0,24,0,28,0,23,0,12,0,29,0 30,0,13,0,5,0,1,0,16,0,27,0 20,0,24,0,31,0,29,0,11,0,19,0 26,0,14,0,28,0,6,0,12,0,4,0 17,0,18,0,7,0,13,0,9,0,2,0 3,0,8,0,21,0,25,0,30,0,22,0 23,0,15,0,9,0,10,0,1,0,6,0 21,0,11,0,5,0,31,0,19,0,28,0 15,0,24,0,25,0,18,0,3,0,30,0 1,0,14,0,17,0,20,0,16,0,26,0 22,0,29,0,13,0,7,0,10,0,8,0 2,0,23,0,4,0,27,0,12,0,24,0 ================================================ FILE: schedules/31_12.csv ================================================ 6,0,23,0,9,0,20,0,24,0,13,0 16,0,21,0,26,0,11,0,4,0,10,0 1,0,2,0,14,0,18,0,22,0,8,0 29,0,15,0,30,0,25,0,5,0,7,0 17,0,28,0,12,0,3,0,19,0,31,0 27,0,10,0,18,0,30,0,14,0,7,0 6,0,13,0,26,0,12,0,24,0,25,0 29,0,21,0,1,0,28,0,11,0,9,0 2,0,5,0,31,0,27,0,3,0,17,0 20,0,19,0,8,0,15,0,23,0,16,0 4,0,7,0,29,0,22,0,31,0,21,0 26,0,11,0,30,0,23,0,27,0,14,0 19,0,12,0,15,0,4,0,25,0,6,0 22,0,1,0,16,0,10,0,20,0,8,0 18,0,24,0,5,0,13,0,28,0,2,0 9,0,3,0,25,0,17,0,29,0,16,0 4,0,13,0,14,0,28,0,24,0,7,0 30,0,3,0,22,0,17,0,9,0,19,0 26,0,27,0,31,0,6,0,12,0,1,0 23,0,11,0,2,0,5,0,15,0,10,0 20,0,21,0,9,0,18,0,8,0,19,0 11,0,13,0,22,0,28,0,4,0,23,0 2,0,26,0,25,0,30,0,21,0,10,0 1,0,17,0,18,0,16,0,20,0,12,0 15,0,27,0,8,0,24,0,31,0,6,0 14,0,29,0,5,0,7,0,3,0,2,0 19,0,22,0,28,0,11,0,15,0,24,0 12,0,18,0,23,0,13,0,21,0,17,0 20,0,14,0,10,0,1,0,25,0,31,0 4,0,7,0,29,0,26,0,3,0,8,0 30,0,6,0,27,0,9,0,5,0,16,0 10,0,17,0,24,0,25,0,18,0,15,0 16,0,3,0,4,0,30,0,28,0,5,0 1,0,21,0,8,0,29,0,23,0,22,0 2,0,7,0,20,0,11,0,6,0,19,0 31,0,9,0,13,0,12,0,14,0,26,0 17,0,15,0,4,0,27,0,16,0,11,0 13,0,30,0,19,0,29,0,6,0,8,0 28,0,7,0,31,0,9,0,10,0,12,0 24,0,14,0,3,0,21,0,26,0,18,0 23,0,20,0,25,0,22,0,27,0,2,0 5,0,6,0,17,0,1,0,9,0,4,0 30,0,31,0,11,0,2,0,24,0,29,0 28,0,20,0,27,0,19,0,26,0,14,0 25,0,10,0,13,0,1,0,3,0,15,0 23,0,8,0,5,0,21,0,12,0,7,0 22,0,9,0,26,0,16,0,18,0,1,0 24,0,21,0,23,0,20,0,15,0,31,0 29,0,10,0,19,0,27,0,5,0,4,0 11,0,14,0,17,0,12,0,13,0,3,0 16,0,30,0,25,0,6,0,7,0,22,0 2,0,18,0,9,0,8,0,28,0,14,0 26,0,7,0,15,0,17,0,22,0,20,0 27,0,25,0,21,0,13,0,5,0,1,0 3,0,6,0,28,0,19,0,4,0,2,0 24,0,16,0,8,0,23,0,10,0,31,0 12,0,11,0,29,0,30,0,18,0,2,0 7,0,1,0,19,0,24,0,26,0,17,0 15,0,6,0,28,0,14,0,16,0,31,0 20,0,18,0,4,0,29,0,27,0,13,0 12,0,22,0,5,0,25,0,11,0,8,0 10,0,3,0,21,0,23,0,9,0,30,0 ================================================ FILE: schedules/31_13.csv ================================================ 5,0,29,0,27,0,19,0,25,0,26,0 22,0,1,0,10,0,11,0,28,0,23,0 20,0,6,0,2,0,21,0,30,0,24,0 16,0,7,0,18,0,4,0,9,0,17,0 3,0,13,0,31,0,14,0,15,0,12,0 24,0,18,0,1,0,8,0,7,0,23,0 3,0,2,0,28,0,21,0,5,0,16,0 4,0,6,0,10,0,26,0,25,0,12,0 20,0,27,0,13,0,30,0,17,0,29,0 11,0,14,0,31,0,22,0,15,0,19,0 9,0,5,0,3,0,8,0,10,0,13,0 4,1,11,0,2,0,23,1,31,0,12,0 26,1,9,0,16,0,22,1,14,0,25,0 15,0,18,0,20,0,8,1,29,0,6,0 7,0,24,0,17,0,1,0,28,0,30,0 19,0,27,0,18,0,21,0,3,0,10,0 14,0,29,0,26,0,4,0,20,0,28,0 9,0,31,0,21,0,6,0,30,0,11,0 12,0,22,0,13,0,8,0,27,0,17,0 15,0,2,0,24,0,5,0,1,0,23,0 25,0,16,0,27,0,7,0,19,0,3,0 9,0,11,0,1,0,18,0,2,0,29,0 15,0,26,0,16,0,22,0,17,0,20,0 10,0,28,0,25,0,8,0,24,0,31,0 7,0,30,0,12,0,14,0,4,0,5,0 23,0,13,0,26,0,21,0,19,0,6,0 22,0,24,0,16,0,29,0,27,0,28,0 31,0,8,0,30,0,1,0,9,0,15,0 4,0,23,0,19,0,25,0,17,0,5,0 21,0,12,0,20,0,18,0,2,0,10,0 14,0,7,0,11,0,6,0,3,0,13,0 24,0,4,0,25,0,17,0,23,0,21,0 18,0,28,0,12,0,13,0,1,0,16,0 7,0,2,0,5,0,22,0,31,0,29,0 11,0,15,0,3,0,27,0,9,0,30,0 19,0,10,0,14,0,20,0,26,0,8,0 6,0,23,0,25,0,16,0,4,0,30,0 27,0,24,0,29,0,15,0,31,0,10,0 17,0,14,0,12,0,8,0,2,0,9,0 19,0,11,0,20,0,22,0,6,0,18,0 26,0,21,0,5,0,28,0,7,0,13,0 1,0,8,0,12,0,3,0,25,0,29,0 15,0,7,0,4,0,21,0,18,0,11,0 6,0,31,0,5,0,9,0,19,0,24,0 16,0,10,0,17,0,2,0,14,0,1,0 22,0,28,0,30,0,20,0,3,0,23,0 27,0,26,0,9,0,13,0,5,0,15,0 20,0,1,0,7,0,12,0,22,0,3,0 8,0,21,0,25,0,26,0,18,0,30,0 14,0,6,0,16,0,13,0,23,0,24,0 28,0,19,0,17,0,10,0,27,0,11,0 29,0,4,0,18,0,31,0,2,0,7,0 9,0,25,0,13,0,24,0,20,0,22,0 19,0,15,0,30,0,16,0,2,0,12,0 17,0,26,0,3,0,1,0,4,0,31,0 8,0,14,0,28,0,6,0,21,0,27,0 10,0,23,0,29,0,5,0,11,0,7,0 3,0,8,0,18,0,26,0,16,0,31,0 23,0,2,0,27,0,9,0,14,0,20,0 1,0,17,0,6,0,25,0,28,0,5,0 21,0,22,0,4,0,10,0,24,0,12,0 29,0,15,0,11,0,30,0,13,0,19,0 9,0,6,0,28,0,26,0,22,0,2,0 5,0,12,0,19,0,11,0,8,0,16,0 20,0,30,0,10,0,3,0,24,0,4,0 27,0,31,0,17,0,18,0,14,0,23,0 13,0,29,0,21,0,25,0,1,0,15,0 7,0,23,0,22,0,4,0,26,0,8,0 ================================================ FILE: schedules/31_14.csv ================================================ 14,0,12,0,8,0,20,0,19,0,26,0 7,0,3,0,6,0,10,0,28,0,13,0 2,0,29,0,15,0,24,0,21,0,16,0 11,0,22,0,1,0,9,0,30,0,4,0 27,0,31,0,25,0,5,0,18,0,23,0 12,0,3,0,19,0,17,0,6,0,26,0 30,0,8,0,21,0,31,0,1,0,10,0 23,0,25,0,20,0,5,0,22,0,7,0 28,0,16,0,17,0,15,0,9,0,27,0 18,0,29,0,13,0,2,0,14,0,24,0 11,0,23,0,9,0,4,0,19,0,28,0 25,1,10,0,6,0,14,1,20,0,1,0 3,1,22,0,13,0,16,1,18,0,31,0 30,0,26,0,27,0,4,0,21,0,2,0 11,0,12,0,17,0,5,0,24,0,15,0 7,0,8,0,2,0,29,0,27,0,22,0 19,0,4,0,30,0,15,0,3,0,31,0 21,0,29,0,6,0,12,0,18,0,9,0 8,0,1,0,16,0,24,0,23,0,28,0 20,0,7,0,13,0,26,0,11,0,5,0 10,0,14,0,29,0,25,0,17,0,1,0 15,0,28,0,12,0,22,0,30,0,23,0 21,0,19,0,13,0,18,0,6,0,5,0 26,0,7,0,4,0,10,0,9,0,2,0 27,0,16,0,3,0,31,0,11,0,14,0 24,0,20,0,25,0,17,0,8,0,4,0 7,0,1,0,16,0,19,0,11,0,27,0 21,0,5,0,17,0,22,0,15,0,26,0 12,0,31,0,23,0,9,0,29,0,13,0 10,0,30,0,24,0,28,0,14,0,6,0 18,0,25,0,2,0,3,0,20,0,8,0 27,0,5,0,28,0,29,0,11,0,17,0 13,0,8,0,23,0,20,0,30,0,2,0 3,0,19,0,9,0,12,0,21,0,7,0 4,0,1,0,15,0,16,0,10,0,18,0 31,0,6,0,24,0,25,0,14,0,22,0 26,0,29,0,3,0,30,0,28,0,7,0 21,0,9,0,18,0,23,0,22,0,19,0 11,0,14,0,4,0,8,0,15,0,6,0 31,0,2,0,5,0,10,0,27,0,20,0 24,0,13,0,17,0,16,0,12,0,26,0 25,0,5,0,30,0,1,0,11,0,19,0 18,0,20,0,4,0,17,0,23,0,27,0 3,0,26,0,21,0,1,0,8,0,24,0 15,0,25,0,16,0,31,0,7,0,9,0 28,0,22,0,2,0,29,0,14,0,12,0 6,0,13,0,30,0,10,0,4,0,7,0 16,0,20,0,5,0,24,0,29,0,19,0 15,0,31,0,17,0,2,0,1,0,6,0 27,0,8,0,14,0,23,0,25,0,21,0 28,0,9,0,26,0,13,0,18,0,3,0 10,0,11,0,17,0,12,0,22,0,20,0 8,0,29,0,28,0,5,0,3,0,4,0 11,0,6,0,24,0,9,0,1,0,25,0 15,0,30,0,23,0,2,0,26,0,13,0 10,0,22,0,18,0,16,0,31,0,19,0 12,0,21,0,27,0,7,0,14,0,24,0 22,0,20,0,6,0,29,0,16,0,30,0 26,0,10,0,23,0,9,0,5,0,8,0 7,0,11,0,18,0,3,0,14,0,31,0 17,0,2,0,19,0,21,0,25,0,28,0 4,0,15,0,27,0,12,0,1,0,13,0 18,0,24,0,2,0,11,0,3,0,30,0 6,0,9,0,17,0,27,0,8,0,22,0 12,0,26,0,10,0,29,0,16,0,23,0 5,0,19,0,14,0,4,0,25,0,13,0 28,0,20,0,31,0,21,0,15,0,7,0 1,0,23,0,3,0,6,0,2,0,12,0 5,0,13,0,29,0,17,0,30,0,14,0 19,0,7,0,25,0,8,0,15,0,10,0 1,0,18,0,28,0,16,0,11,0,20,0 22,0,4,0,24,0,21,0,31,0,26,0 9,0,14,0,16,0,27,0,25,0,3,0 ================================================ FILE: schedules/31_2.csv ================================================ 12,0,19,0,13,0,28,0,30,0,18,0 7,0,5,0,17,0,21,0,29,0,8,0 24,0,10,0,9,0,26,0,14,0,11,0 2,0,20,0,16,0,3,0,25,0,1,0 6,0,27,0,22,0,15,0,4,0,23,0 8,0,17,0,18,0,31,0,25,0,10,0 19,0,29,0,15,0,26,0,24,0,1,0 27,0,21,0,14,0,12,0,20,0,22,0 4,0,5,0,11,0,2,0,13,0,23,0 6,0,28,0,31,0,7,0,9,0,16,0 3,0,29,1,17,1,30,0,21,1,5,1 ================================================ FILE: schedules/31_3.csv ================================================ 8,0,29,0,30,0,26,0,25,0,6,0 10,0,21,0,13,0,5,0,22,0,4,0 3,0,24,0,31,0,9,0,2,0,18,0 15,0,1,0,20,0,16,0,14,0,11,0 12,0,19,0,27,0,17,0,28,0,7,0 23,0,9,0,11,0,26,0,13,0,29,0 17,1,20,0,24,0,28,1,8,0,5,0 1,1,30,0,14,0,10,0,27,0,18,0 4,0,23,0,12,0,31,0,15,0,6,0 7,0,25,0,2,0,22,0,21,0,16,0 3,0,1,0,5,0,19,0,23,0,30,0 25,0,28,0,9,0,14,0,4,0,2,0 17,0,18,0,15,0,26,0,22,0,20,0 10,0,11,0,6,0,7,0,19,0,24,0 27,0,13,0,16,0,12,0,8,0,3,0 31,0,29,0,28,0,21,0,17,0,1,0 ================================================ FILE: schedules/31_4.csv ================================================ 3,0,25,0,21,0,29,0,19,0,8,0 22,0,6,0,2,0,20,0,10,0,7,0 17,0,30,0,31,0,16,0,24,0,9,0 18,0,13,0,5,0,27,0,14,0,26,0 11,0,28,0,4,0,1,0,12,0,23,0 6,0,13,0,25,0,15,0,24,0,17,0 20,0,21,0,16,0,27,0,4,0,7,0 2,0,1,0,5,0,30,0,3,0,8,0 26,0,31,0,29,0,22,0,15,0,23,0 18,0,10,0,19,0,12,0,9,0,28,0 14,0,8,0,20,0,11,0,15,0,30,0 1,1,4,0,9,0,29,1,22,0,13,0 23,0,19,0,17,0,10,0,2,0,27,0 7,0,3,0,24,0,11,0,18,0,26,0 25,0,5,0,12,0,6,0,31,0,16,0 14,0,28,0,24,0,21,0,2,0,29,0 23,0,26,0,9,0,25,0,20,0,1,0 22,0,11,0,12,0,17,0,21,0,5,0 31,0,8,0,7,0,19,0,13,0,28,0 3,0,14,0,15,0,16,0,4,0,10,0 18,0,27,0,29,0,6,0,30,0,1,0 ================================================ FILE: schedules/31_5.csv ================================================ 19,0,14,0,12,0,25,0,31,0,20,0 27,0,22,0,3,0,6,0,30,0,11,0 24,0,13,0,28,0,15,0,26,0,29,0 8,0,2,0,17,0,21,0,7,0,5,0 18,0,9,0,10,0,1,0,4,0,23,0 16,0,2,0,6,0,11,0,13,0,12,0 17,0,23,0,5,0,20,0,24,0,22,0 29,0,3,0,21,0,16,0,14,0,9,0 8,0,30,0,31,0,28,0,26,0,1,0 27,0,4,0,7,0,10,0,15,0,19,0 25,0,3,0,26,0,18,0,23,0,2,0 6,1,20,0,13,0,10,0,4,0,8,0 7,0,30,0,29,0,31,0,18,0,5,0 25,0,11,0,9,0,28,0,17,0,15,0 19,0,22,0,1,0,21,0,24,0,16,0 12,0,27,0,15,0,14,0,23,0,8,0 21,0,4,0,6,0,30,0,25,0,24,0 9,0,19,0,31,0,13,0,22,0,2,0 16,0,5,0,20,0,27,0,28,0,18,0 17,0,12,0,29,0,3,0,1,0,10,0 26,0,14,0,4,0,7,0,11,0,22,0 18,0,16,0,15,0,6,0,17,0,31,0 24,0,2,0,10,0,14,0,28,0,30,0 25,0,1,0,13,0,7,0,20,0,3,0 26,0,5,0,27,0,21,0,9,0,12,0 23,0,11,0,19,0,8,0,29,0,6,0 ================================================ FILE: schedules/31_6.csv ================================================ 16,0,14,0,4,0,12,0,15,0,10,0 26,0,23,0,2,0,18,0,24,0,1,0 31,0,17,0,9,0,20,0,30,0,8,0 11,0,13,0,19,0,28,0,21,0,22,0 25,0,6,0,3,0,5,0,7,0,29,0 27,0,14,0,1,0,19,0,17,0,24,0 15,0,3,0,20,0,2,0,11,0,12,0 4,0,18,0,21,0,27,0,28,0,25,0 29,0,30,0,23,0,22,0,8,0,10,0 9,0,13,0,26,0,5,0,16,0,31,0 7,0,4,0,24,0,6,0,17,0,22,0 31,0,8,0,15,0,3,0,21,0,1,0 14,0,9,0,11,0,18,0,7,0,6,0 5,0,20,0,25,0,23,0,16,0,19,0 2,0,27,0,13,0,10,0,26,0,29,0 28,0,12,0,18,0,30,0,3,0,17,0 11,0,4,0,29,0,31,0,26,0,24,0 19,0,21,0,30,0,16,0,7,0,2,0 6,0,15,0,27,0,13,0,20,0,23,0 1,0,12,0,22,0,25,0,10,0,9,0 8,0,5,0,26,0,28,0,14,0,20,0 22,0,7,0,15,0,27,0,12,0,31,0 18,0,19,0,2,0,13,0,4,0,8,0 17,0,1,0,28,0,6,0,29,0,16,0 5,0,10,0,30,0,24,0,25,0,11,0 23,0,21,0,14,0,3,0,9,0,29,0 13,0,30,0,7,0,20,0,1,0,4,0 31,0,25,0,22,0,2,0,6,0,14,0 24,0,27,0,16,0,8,0,3,0,11,0 26,0,28,0,19,0,23,0,9,0,12,0 17,0,18,0,10,0,21,0,5,0,15,0 ================================================ FILE: schedules/31_7.csv ================================================ 1,0,16,0,6,0,26,0,11,0,2,0 31,0,25,0,13,0,27,0,9,0,20,0 28,0,23,0,29,0,18,0,4,0,8,0 5,0,21,0,22,0,30,0,14,0,19,0 15,0,17,0,3,0,7,0,12,0,24,0 10,0,18,0,5,0,20,0,22,0,26,0 3,0,6,0,2,0,19,0,29,0,31,0 21,0,4,0,10,0,11,0,17,0,9,0 28,0,16,0,8,0,15,0,25,0,7,0 14,0,24,0,27,0,1,0,23,0,12,0 13,0,4,0,2,0,30,0,3,0,25,0 10,1,17,0,12,0,11,1,5,0,8,0 14,1,20,0,31,0,24,1,28,0,22,0 23,1,9,0,7,0,29,0,30,0,26,0 6,0,27,0,15,0,21,0,1,0,18,0 19,0,16,0,5,0,13,0,9,0,8,0 15,0,30,0,1,0,29,0,25,0,10,0 18,0,12,0,22,0,3,0,11,0,13,0 20,0,6,0,4,0,16,0,14,0,7,0 19,0,23,0,27,0,2,0,17,0,28,0 26,0,21,0,8,0,31,0,24,0,3,0 10,0,11,0,30,0,28,0,19,0,6,0 14,0,29,0,1,0,17,0,18,0,13,0 7,0,20,0,2,0,21,0,9,0,12,0 31,0,5,0,15,0,4,0,24,0,23,0 25,0,26,0,16,0,22,0,27,0,17,0 7,0,29,0,18,0,24,0,10,0,19,0 13,0,26,0,14,0,15,0,8,0,2,0 30,0,23,0,31,0,16,0,20,0,11,0 9,0,22,0,3,0,27,0,1,0,28,0 12,0,5,0,4,0,21,0,6,0,25,0 9,0,30,0,2,0,18,0,15,0,24,0 17,0,21,0,23,0,6,0,22,0,13,0 14,0,12,0,3,0,10,0,16,0,31,0 7,0,11,0,28,0,29,0,5,0,27,0 20,0,19,0,8,0,4,0,1,0,26,0 25,0,11,0,24,0,10,0,14,0,23,0 ================================================ FILE: schedules/31_8.csv ================================================ 2,0,19,0,16,0,18,0,14,0,13,0 20,0,27,0,26,0,9,0,12,0,17,0 21,0,6,0,8,0,11,0,22,0,31,0 23,0,15,0,1,0,7,0,28,0,24,0 4,0,3,0,5,0,29,0,30,0,25,0 28,0,18,0,26,0,10,0,22,0,21,0 29,0,14,0,24,0,11,0,6,0,17,0 15,0,10,0,5,0,9,0,19,0,20,0 4,0,13,0,12,0,1,0,31,0,3,0 2,0,7,0,23,0,16,0,27,0,8,0 25,0,15,0,6,0,30,0,13,0,10,0 17,1,27,0,28,0,8,1,14,0,31,0 26,1,24,0,19,0,1,1,2,0,4,0 16,0,23,0,9,0,3,0,22,0,25,0 11,0,18,0,7,0,12,0,5,0,30,0 21,0,20,0,15,0,29,0,3,0,6,0 13,0,9,0,31,0,7,0,14,0,4,0 25,0,18,0,27,0,26,0,1,0,11,0 12,0,21,0,29,0,8,0,19,0,23,0 17,0,5,0,16,0,10,0,2,0,28,0 22,0,30,0,27,0,20,0,24,0,13,0 11,0,19,0,29,0,15,0,16,0,26,0 21,0,31,0,2,0,25,0,7,0,20,0 1,0,17,0,10,0,23,0,6,0,5,0 24,0,3,0,30,0,28,0,9,0,8,0 22,0,4,0,18,0,14,0,12,0,15,0 17,0,3,0,13,0,11,0,5,0,21,0 26,0,4,0,9,0,2,0,30,0,8,0 10,0,23,0,29,0,27,0,14,0,1,0 31,0,20,0,6,0,24,0,16,0,18,0 19,0,28,0,25,0,12,0,22,0,7,0 13,0,26,0,5,0,31,0,27,0,24,0 8,0,3,0,7,0,6,0,10,0,18,0 30,0,9,0,14,0,16,0,1,0,21,0 11,0,20,0,4,0,28,0,22,0,23,0 12,0,2,0,25,0,17,0,15,0,29,0 19,0,1,0,7,0,3,0,27,0,11,0 6,0,28,0,13,0,29,0,18,0,9,0 14,0,20,0,5,0,25,0,8,0,26,0 31,0,17,0,23,0,30,0,19,0,15,0 16,0,12,0,10,0,21,0,4,0,24,0 22,0,8,0,1,0,2,0,17,0,26,0 ================================================ FILE: schedules/31_9.csv ================================================ 30,0,10,0,18,0,17,0,2,0,15,0 9,0,13,0,8,0,24,0,27,0,4,0 22,0,5,0,19,0,3,0,29,0,25,0 14,0,20,0,28,0,16,0,11,0,1,0 12,0,7,0,31,0,26,0,23,0,21,0 6,0,22,0,29,0,15,0,27,0,11,0 25,0,28,0,13,0,31,0,23,0,10,0 8,0,30,0,16,0,3,0,26,0,18,0 1,0,19,0,2,0,7,0,21,0,9,0 5,0,20,0,6,0,12,0,17,0,4,0 24,0,31,0,29,0,14,0,10,0,16,0 26,1,5,0,12,0,3,1,13,0,19,0 18,0,22,0,2,0,24,1,20,0,7,0 4,0,21,0,25,0,8,0,15,0,14,0 23,0,28,0,11,0,17,0,30,0,27,0 6,0,31,0,15,0,1,0,9,0,20,0 24,0,18,0,5,0,11,0,30,0,21,0 16,0,26,0,17,0,29,0,19,0,8,0 3,0,27,0,9,0,10,0,7,0,2,0 14,0,4,0,23,0,12,0,22,0,28,0 13,0,1,0,30,0,25,0,6,0,27,0 5,0,9,0,17,0,20,0,26,0,4,0 24,0,2,0,8,0,29,0,1,0,28,0 21,0,31,0,18,0,3,0,6,0,14,0 7,0,25,0,16,0,13,0,11,0,12,0 19,0,10,0,15,0,23,0,22,0,24,0 21,0,27,0,1,0,4,0,3,0,31,0 13,0,17,0,29,0,22,0,9,0,30,0 25,0,19,0,26,0,28,0,18,0,6,0 7,0,11,0,14,0,8,0,10,0,20,0 12,0,23,0,15,0,2,0,5,0,16,0 22,0,20,0,13,0,19,0,21,0,28,0 8,0,11,0,26,0,6,0,23,0,2,0 24,0,30,0,25,0,16,0,4,0,9,0 10,0,1,0,3,0,29,0,12,0,18,0 31,0,14,0,17,0,7,0,15,0,5,0 27,0,23,0,29,0,18,0,20,0,25,0 2,0,4,0,30,0,19,0,31,0,11,0 26,0,10,0,27,0,14,0,5,0,1,0 8,0,12,0,3,0,15,0,28,0,24,0 16,0,6,0,21,0,22,0,7,0,17,0 9,0,2,0,11,0,13,0,18,0,14,0 28,0,4,0,7,0,30,0,29,0,5,0 6,0,1,0,26,0,10,0,22,0,21,0 24,0,16,0,3,0,17,0,23,0,25,0 19,0,9,0,12,0,31,0,27,0,8,0 20,0,15,0,3,0,13,0,26,0,24,0 ================================================ FILE: schedules/32_1.csv ================================================ 12,0,29,0,24,0,5,0,16,0,32,0 14,0,17,0,31,0,4,0,22,0,8,0 23,0,25,0,30,0,1,0,13,0,27,0 10,0,21,0,11,0,19,0,18,0,26,0 6,0,15,0,2,0,9,0,28,0,7,0 3,0,5,1,18,1,20,0,17,1,14,1 ================================================ FILE: schedules/32_10.csv ================================================ 10,0,28,0,2,0,27,0,26,0,9,0 6,0,31,0,7,0,29,0,32,0,13,0 5,0,11,0,16,0,18,0,22,0,4,0 30,0,20,0,1,0,23,0,14,0,8,0 24,0,3,0,17,0,12,0,25,0,19,0 15,0,14,0,4,0,21,0,27,0,18,0 26,0,22,0,8,0,19,0,23,0,31,0 13,0,5,0,21,0,12,0,32,0,17,0 28,0,6,0,20,0,7,0,2,0,25,0 1,0,9,0,24,0,30,0,3,0,11,0 29,0,15,0,25,0,10,0,16,0,12,0 11,1,23,0,2,0,32,1,5,0,4,0 13,1,28,0,27,0,1,1,10,0,21,0 18,0,14,0,3,0,6,0,17,0,19,0 29,0,22,0,7,0,24,0,20,0,8,0 16,0,30,0,9,0,26,0,15,0,31,0 32,0,18,0,28,0,20,0,22,0,10,0 31,0,8,0,1,0,12,0,2,0,6,0 13,0,16,0,23,0,27,0,14,0,19,0 26,0,25,0,30,0,21,0,29,0,11,0 9,0,17,0,15,0,7,0,24,0,4,0 5,0,6,0,26,0,3,0,20,0,27,0 9,0,32,0,25,0,1,0,23,0,29,0 2,0,17,0,21,0,18,0,16,0,7,0 11,0,22,0,12,0,31,0,30,0,14,0 3,0,8,0,28,0,13,0,24,0,15,0 10,0,4,0,29,0,19,0,5,0,1,0 6,0,3,0,16,0,7,0,15,0,23,0 5,0,31,0,12,0,18,0,8,0,10,0 27,0,17,0,25,0,22,0,28,0,30,0 11,0,24,0,19,0,2,0,32,0,20,0 13,0,26,0,14,0,21,0,4,0,9,0 29,0,18,0,30,0,32,0,8,0,16,0 2,0,19,0,15,0,5,0,14,0,25,0 20,0,21,0,12,0,9,0,3,0,23,0 13,0,7,0,17,0,26,0,1,0,11,0 24,0,31,0,28,0,27,0,4,0,6,0 22,0,32,0,14,0,10,0,7,0,26,0 11,0,4,0,20,0,8,0,29,0,6,0 15,0,18,0,5,0,28,0,17,0,23,0 10,0,13,0,19,0,24,0,30,0,2,0 16,0,31,0,27,0,25,0,1,0,3,0 12,0,9,0,8,0,22,0,21,0,6,0 20,0,23,0,18,0,31,0,13,0,25,0 10,0,32,0,24,0,17,0,14,0,16,0 22,0,2,0,3,0,30,0,15,0,21,0 19,0,4,0,26,0,1,0,28,0,12,0 9,0,7,0,11,0,29,0,27,0,5,0 25,0,4,0,8,0,3,0,32,0,26,0 27,0,30,0,12,0,19,0,7,0,20,0 1,0,6,0,13,0,22,0,5,0,17,0 23,0,24,0,21,0,10,0,31,0,11,0 16,0,29,0,2,0,14,0,28,0,9,0 15,0,32,0,1,0,18,0,11,0,13,0 ================================================ FILE: schedules/32_11.csv ================================================ 13,0,10,0,29,0,23,0,24,0,3,0 1,0,30,0,16,0,11,0,2,0,17,0 25,0,20,0,15,0,4,0,19,0,7,0 26,0,9,0,14,0,28,0,6,0,8,0 22,0,18,0,21,0,31,0,12,0,27,0 32,0,28,0,1,0,5,0,20,0,23,0 22,0,2,0,26,0,27,0,11,0,29,0 19,0,8,0,21,0,32,0,13,0,24,0 5,0,31,0,4,0,14,0,25,0,17,0 15,0,30,0,9,0,18,0,12,0,3,0 16,0,6,0,11,0,10,0,7,0,8,0 12,1,23,0,14,0,31,1,20,0,2,0 25,0,6,0,5,0,3,0,9,0,32,0 4,0,10,0,1,0,13,0,15,0,18,0 21,0,28,0,29,0,17,0,22,0,30,0 27,0,7,0,16,0,24,0,26,0,19,0 8,0,32,0,17,0,12,0,10,0,11,0 15,0,6,0,31,0,16,0,20,0,29,0 19,0,14,0,27,0,23,0,9,0,13,0 18,0,7,0,2,0,3,0,5,0,21,0 30,0,28,0,24,0,4,0,26,0,25,0 1,0,9,0,2,0,22,0,13,0,19,0 7,0,17,0,6,0,4,0,23,0,18,0 12,0,21,0,30,0,26,0,5,0,16,0 14,0,20,0,3,0,32,0,22,0,10,0 8,0,25,0,11,0,1,0,15,0,27,0 24,0,29,0,2,0,31,0,28,0,16,0 22,0,4,0,14,0,11,0,7,0,1,0 23,0,15,0,32,0,26,0,8,0,18,0 9,0,27,0,21,0,28,0,17,0,20,0 12,0,25,0,13,0,3,0,6,0,29,0 24,0,10,0,5,0,19,0,30,0,31,0 16,0,4,0,2,0,9,0,8,0,20,0 23,0,29,0,25,0,30,0,32,0,14,0 31,0,17,0,10,0,7,0,13,0,26,0 24,0,22,0,6,0,18,0,1,0,5,0 15,0,19,0,12,0,27,0,28,0,3,0 11,0,4,0,9,0,21,0,23,0,10,0 17,0,5,0,13,0,22,0,29,0,15,0 12,0,20,0,26,0,1,0,24,0,25,0 19,0,3,0,16,0,11,0,14,0,21,0 18,0,32,0,31,0,30,0,27,0,6,0 8,0,2,0,13,0,7,0,28,0,5,0 6,0,20,0,32,0,15,0,16,0,21,0 18,0,10,0,14,0,27,0,2,0,25,0 7,0,29,0,30,0,8,0,4,0,12,0 17,0,26,0,3,0,1,0,19,0,23,0 28,0,11,0,22,0,31,0,9,0,24,0 3,0,4,0,30,0,27,0,26,0,10,0 15,0,17,0,24,0,6,0,2,0,14,0 7,0,32,0,21,0,1,0,31,0,13,0 16,0,23,0,8,0,22,0,9,0,25,0 18,0,11,0,20,0,5,0,29,0,19,0 12,0,6,0,1,0,28,0,10,0,2,0 3,0,8,0,31,0,4,0,21,0,17,0 12,0,9,0,29,0,7,0,15,0,14,0 28,0,18,0,19,0,16,0,25,0,32,0 24,0,20,0,27,0,13,0,11,0,30,0 23,0,26,0,31,0,22,0,5,0,12,0 ================================================ FILE: schedules/32_12.csv ================================================ 5,0,27,0,6,0,20,0,26,0,24,0 32,0,12,0,17,0,31,0,28,0,21,0 2,0,30,0,16,0,29,0,3,0,8,0 4,0,7,0,10,0,23,0,18,0,22,0 1,0,14,0,9,0,13,0,11,0,25,0 19,0,23,0,10,0,15,0,28,0,3,0 9,0,32,0,20,0,1,0,27,0,17,0 19,0,26,0,31,0,14,0,13,0,5,0 6,0,8,0,21,0,7,0,15,0,18,0 24,0,29,0,2,0,25,0,16,0,4,0 30,0,12,0,5,0,22,0,11,0,1,0 28,0,2,0,8,0,32,0,3,0,26,0 21,0,17,0,16,0,9,0,23,0,25,0 29,0,18,0,14,0,31,0,20,0,10,0 13,0,15,0,4,0,7,0,27,0,30,0 22,0,6,0,24,0,19,0,12,0,11,0 14,0,17,0,7,0,15,0,10,0,1,0 27,0,13,0,3,0,21,0,5,0,4,0 11,0,9,0,30,0,6,0,2,0,19,0 20,0,29,0,22,0,24,0,28,0,32,0 31,0,18,0,25,0,12,0,23,0,26,0 16,0,32,0,5,0,8,0,20,0,14,0 31,0,11,0,15,0,6,0,28,0,18,0 25,0,21,0,27,0,22,0,30,0,10,0 23,0,16,0,7,0,29,0,12,0,13,0 8,0,17,0,4,0,24,0,9,0,19,0 3,0,1,0,31,0,26,0,2,0,27,0 7,0,28,0,9,0,25,0,24,0,14,0 23,0,8,0,11,0,2,0,4,0,32,0 20,0,16,0,15,0,26,0,21,0,22,0 18,0,12,0,1,0,13,0,19,0,17,0 5,0,10,0,3,0,30,0,6,0,29,0 15,0,14,0,19,0,32,0,27,0,22,0 28,0,23,0,29,0,9,0,6,0,13,0 16,0,12,0,31,0,11,0,3,0,4,0 26,0,21,0,1,0,7,0,5,0,24,0 20,0,18,0,17,0,25,0,30,0,8,0 10,0,24,0,21,0,2,0,14,0,11,0 30,0,32,0,31,0,16,0,6,0,1,0 13,0,26,0,8,0,29,0,10,0,25,0 4,0,20,0,23,0,22,0,3,0,9,0 17,0,15,0,5,0,2,0,7,0,12,0 28,0,27,0,10,0,18,0,19,0,16,0 13,0,20,0,21,0,31,0,2,0,17,0 18,0,24,0,3,0,23,0,30,0,14,0 29,0,9,0,27,0,12,0,8,0,15,0 11,0,6,0,26,0,7,0,19,0,32,0 22,0,28,0,4,0,1,0,25,0,5,0 21,0,14,0,12,0,26,0,29,0,16,0 22,0,19,0,8,0,31,0,23,0,13,0 6,0,25,0,32,0,1,0,4,0,24,0 9,0,2,0,15,0,20,0,5,0,28,0 11,0,18,0,27,0,30,0,3,0,17,0 7,0,6,0,31,0,10,0,9,0,8,0 5,0,29,0,22,0,17,0,28,0,11,0 23,0,2,0,1,0,10,0,14,0,16,0 30,0,24,0,13,0,32,0,21,0,15,0 7,0,25,0,3,0,27,0,20,0,19,0 26,0,18,0,30,0,4,0,12,0,9,0 1,0,19,0,28,0,29,0,7,0,21,0 15,0,25,0,22,0,18,0,5,0,2,0 24,0,16,0,11,0,31,0,27,0,8,0 26,0,14,0,4,0,17,0,23,0,6,0 32,0,13,0,10,0,3,0,12,0,20,0 ================================================ FILE: schedules/32_13.csv ================================================ 13,0,19,0,8,0,31,0,2,0,9,0 5,0,16,0,11,0,28,0,6,0,22,0 27,0,15,0,14,0,20,0,24,0,23,0 18,0,32,0,21,0,4,0,7,0,17,0 12,0,1,0,25,0,26,0,3,0,10,0 29,0,23,0,15,0,30,0,32,0,14,0 6,0,25,0,19,0,24,0,5,0,18,0 2,0,11,0,21,0,9,0,16,0,17,0 10,0,8,0,7,0,20,0,22,0,27,0 13,0,4,0,31,0,28,0,3,0,29,0 12,0,30,0,24,0,1,0,26,0,14,0 13,1,10,0,3,0,19,1,18,0,27,0 11,1,1,0,31,0,21,1,15,0,5,0 32,0,26,0,22,0,25,0,4,0,28,0 20,0,2,0,17,0,16,0,29,0,8,0 7,0,30,0,9,0,23,0,12,0,6,0 18,0,25,0,8,0,28,0,15,0,1,0 13,0,9,0,17,0,29,0,19,0,14,0 27,0,26,0,12,0,11,0,7,0,24,0 21,0,20,0,16,0,3,0,6,0,30,0 5,0,23,0,31,0,2,0,32,0,22,0 4,0,18,0,30,0,10,0,20,0,19,0 6,0,2,0,26,0,3,0,24,0,15,0 5,0,22,0,7,0,10,0,16,0,4,0 21,0,23,0,14,0,11,0,29,0,25,0 28,0,9,0,27,0,8,0,32,0,31,0 12,0,17,0,18,0,1,0,13,0,5,0 4,0,2,0,15,0,31,0,27,0,21,0 3,0,20,0,12,0,22,0,29,0,13,0 26,0,7,0,16,0,1,0,32,0,17,0 9,0,6,0,11,0,23,0,25,0,30,0 8,0,28,0,19,0,10,0,24,0,14,0 11,0,26,0,22,0,27,0,2,0,13,0 29,0,9,0,20,0,19,0,23,0,7,0 4,0,21,0,1,0,30,0,15,0,8,0 32,0,28,0,10,0,14,0,5,0,6,0 17,0,24,0,25,0,31,0,18,0,12,0 3,0,27,0,1,0,16,0,13,0,23,0 18,0,10,0,31,0,26,0,29,0,25,0 24,0,8,0,4,0,5,0,12,0,11,0 16,0,32,0,7,0,19,0,9,0,15,0 28,0,14,0,17,0,3,0,21,0,22,0 6,0,20,0,18,0,30,0,2,0,1,0 28,0,27,0,7,0,9,0,3,0,25,0 24,0,13,0,32,0,11,0,17,0,8,0 6,0,10,0,23,0,26,0,31,0,19,0 22,0,12,0,15,0,29,0,21,0,30,0 4,0,5,0,20,0,14,0,16,0,2,0 15,0,26,0,13,0,8,0,23,0,21,0 27,0,17,0,19,0,6,0,32,0,4,0 30,0,11,0,28,0,7,0,18,0,2,0 16,0,31,0,25,0,12,0,14,0,20,0 22,0,24,0,29,0,9,0,10,0,1,0 5,0,2,0,8,0,3,0,15,0,18,0 22,0,1,0,19,0,20,0,25,0,11,0 9,0,32,0,5,0,17,0,26,0,21,0 29,0,31,0,14,0,6,0,7,0,27,0 4,0,3,0,23,0,12,0,16,0,28,0 24,0,10,0,15,0,30,0,13,0,7,0 6,0,5,0,29,0,4,0,27,0,11,0 16,0,23,0,18,0,12,0,10,0,2,0 30,0,26,0,28,0,17,0,22,0,31,0 13,0,3,0,32,0,24,0,14,0,9,0 25,0,19,0,21,0,8,0,20,0,1,0 18,0,11,0,3,0,31,0,7,0,15,0 21,0,24,0,6,0,28,0,20,0,23,0 22,0,25,0,13,0,19,0,4,0,32,0 1,0,29,0,2,0,5,0,10,0,17,0 30,0,27,0,16,0,9,0,26,0,8,0 14,0,19,0,11,0,12,0,13,0,21,0 ================================================ FILE: schedules/32_14.csv ================================================ 18,0,4,0,28,0,5,0,9,0,11,0 16,0,31,0,27,0,12,0,8,0,1,0 25,0,32,0,17,0,29,0,19,0,3,0 13,0,26,0,30,0,6,0,21,0,7,0 2,0,14,0,24,0,10,0,22,0,23,0 15,0,11,0,7,0,20,0,5,0,4,0 1,0,32,0,31,0,3,0,13,0,17,0 30,0,22,0,8,0,19,0,25,0,27,0 29,0,24,0,28,0,2,0,10,0,12,0 9,0,23,0,21,0,16,0,6,0,14,0 15,0,20,0,22,0,18,0,26,0,2,0 21,1,5,0,17,0,11,1,27,0,4,0 1,0,28,0,9,0,8,0,6,0,15,0 16,0,13,0,23,0,18,0,31,0,24,0 26,0,25,0,20,0,29,0,32,0,10,0 14,0,12,0,30,0,7,0,3,0,19,0 20,0,24,0,9,0,18,0,8,0,31,0 30,0,11,0,17,0,26,0,1,0,22,0 7,0,16,0,2,0,4,0,29,0,15,0 13,0,5,0,10,0,3,0,12,0,6,0 28,0,27,0,21,0,19,0,23,0,32,0 25,0,8,0,24,0,14,0,1,0,29,0 22,0,21,0,18,0,7,0,5,0,12,0 3,0,10,0,20,0,26,0,23,0,27,0 11,0,28,0,2,0,16,0,32,0,4,0 15,0,30,0,19,0,6,0,25,0,13,0 14,0,9,0,10,0,17,0,31,0,4,0 6,0,32,0,12,0,20,0,2,0,1,0 18,0,7,0,8,0,14,0,3,0,17,0 26,0,15,0,9,0,24,0,27,0,23,0 13,0,29,0,11,0,22,0,19,0,28,0 5,0,25,0,31,0,30,0,16,0,21,0 13,0,28,0,14,0,19,0,1,0,2,0 29,0,6,0,8,0,26,0,5,0,22,0 31,0,11,0,12,0,15,0,16,0,24,0 4,0,25,0,10,0,23,0,20,0,7,0 3,0,32,0,30,0,27,0,9,0,18,0 21,0,19,0,13,0,17,0,29,0,20,0 26,0,9,0,4,0,14,0,15,0,5,0 3,0,1,0,27,0,32,0,28,0,11,0 24,0,16,0,22,0,17,0,12,0,7,0 2,0,21,0,8,0,10,0,18,0,30,0 6,0,31,0,20,0,25,0,23,0,11,0 5,0,2,0,30,0,32,0,13,0,15,0 4,0,3,0,23,0,16,0,19,0,26,0 22,0,29,0,27,0,31,0,14,0,24,0 6,0,17,0,21,0,8,0,25,0,28,0 10,0,18,0,1,0,12,0,7,0,9,0 32,0,13,0,20,0,29,0,11,0,14,0 24,0,5,0,6,0,2,0,27,0,17,0 16,0,18,0,12,0,10,0,26,0,8,0 31,0,19,0,9,0,1,0,21,0,4,0 7,0,22,0,30,0,15,0,23,0,28,0 3,0,24,0,4,0,25,0,12,0,13,0 8,0,17,0,16,0,20,0,28,0,7,0 10,0,27,0,15,0,3,0,11,0,21,0 14,0,32,0,26,0,6,0,18,0,19,0 23,0,2,0,31,0,9,0,25,0,22,0 5,0,29,0,16,0,30,0,1,0,20,0 24,0,26,0,7,0,9,0,13,0,32,0 2,0,3,0,15,0,21,0,25,0,29,0 19,0,17,0,18,0,31,0,10,0,22,0 11,0,5,0,1,0,23,0,8,0,14,0 12,0,28,0,4,0,30,0,6,0,27,0 25,0,15,0,1,0,13,0,18,0,20,0 23,0,29,0,12,0,32,0,8,0,5,0 22,0,6,0,11,0,16,0,9,0,3,0 19,0,27,0,4,0,24,0,2,0,21,0 10,0,7,0,17,0,31,0,28,0,26,0 14,0,19,0,20,0,30,0,24,0,1,0 21,0,16,0,32,0,4,0,22,0,13,0 10,0,6,0,23,0,15,0,28,0,17,0 27,0,25,0,12,0,8,0,11,0,9,0 26,0,29,0,2,0,3,0,18,0,5,0 7,0,14,0,21,0,30,0,31,0,11,0 ================================================ FILE: schedules/32_2.csv ================================================ 23,0,11,0,4,0,31,0,16,0,13,0 1,0,25,0,28,0,14,0,30,0,2,0 7,0,6,0,27,0,21,0,8,0,32,0 19,0,24,0,20,0,12,0,29,0,5,0 3,0,22,0,10,0,15,0,17,0,9,0 18,0,2,0,5,0,26,0,13,0,6,0 31,0,20,0,21,0,22,0,1,0,24,0 25,0,16,0,8,0,19,0,18,0,9,0 17,0,29,0,14,0,27,0,4,0,26,0 32,0,12,0,11,0,28,0,10,0,15,0 7,0,30,0,20,1,23,0,3,0,19,1 ================================================ FILE: schedules/32_3.csv ================================================ 18,0,1,0,20,0,11,0,24,0,21,0 8,0,23,0,28,0,32,0,12,0,2,0 25,0,16,0,22,0,6,0,30,0,31,0 26,0,15,0,9,0,5,0,27,0,17,0 14,0,29,0,3,0,10,0,4,0,19,0 13,0,12,0,1,0,7,0,26,0,16,0 32,0,24,0,31,0,29,0,15,0,10,0 18,0,28,0,3,0,8,0,25,0,5,0 2,0,13,0,6,0,27,0,4,0,11,0 20,0,30,0,7,0,9,0,14,0,23,0 19,0,21,0,32,0,17,0,22,0,13,0 4,0,31,0,23,0,9,0,5,0,1,0 30,0,15,0,21,0,3,0,12,0,6,0 27,0,16,0,20,0,19,0,28,0,29,0 14,0,11,0,8,0,26,0,24,0,22,0 17,0,10,0,7,0,2,0,25,0,18,0 ================================================ FILE: schedules/32_4.csv ================================================ 1,0,30,0,22,0,28,0,23,0,25,0 8,0,12,0,27,0,19,0,15,0,11,0 20,0,18,0,29,0,21,0,14,0,32,0 4,0,24,0,26,0,31,0,6,0,13,0 10,0,7,0,16,0,17,0,5,0,9,0 2,0,18,0,25,0,3,0,31,0,15,0 29,0,17,0,13,0,23,0,30,0,8,0 3,0,21,0,5,0,1,0,19,0,6,0 16,0,32,0,24,0,28,0,22,0,11,0 2,0,20,0,14,0,4,0,12,0,9,0 27,0,10,0,22,0,26,0,7,0,18,0 20,1,23,0,11,0,5,1,2,0,6,0 24,1,9,0,19,0,26,1,25,0,29,0 1,0,13,0,14,0,27,0,16,0,15,0 28,0,12,0,31,0,17,0,10,0,21,0 8,0,4,0,3,0,30,0,7,0,32,0 2,0,9,0,23,0,24,0,21,0,27,0 31,0,8,0,19,0,16,0,22,0,20,0 11,0,26,0,17,0,4,0,1,0,18,0 25,0,32,0,13,0,10,0,12,0,5,0 7,0,3,0,6,0,28,0,14,0,29,0 15,0,5,0,24,0,30,0,20,0,26,0 ================================================ FILE: schedules/32_5.csv ================================================ 5,0,14,0,29,0,27,0,7,0,11,0 31,0,28,0,4,0,1,0,25,0,15,0 12,0,9,0,22,0,32,0,23,0,17,0 2,0,16,0,13,0,19,0,6,0,3,0 18,0,20,0,24,0,10,0,21,0,30,0 8,0,1,0,29,0,26,0,3,0,23,0 28,0,18,0,19,0,5,0,12,0,4,0 2,0,11,0,15,0,32,0,14,0,30,0 6,0,20,0,26,0,9,0,24,0,27,0 10,0,25,0,8,0,22,0,16,0,17,0 7,0,21,0,2,0,31,0,13,0,9,0 32,1,25,0,5,0,10,1,29,0,6,0 18,0,4,0,17,0,13,0,11,0,26,0 1,0,7,0,24,0,12,0,16,0,15,0 31,0,27,0,21,0,8,0,3,0,30,0 22,0,23,0,19,0,28,0,14,0,20,0 1,0,12,0,10,0,27,0,8,0,13,0 20,0,9,0,3,0,25,0,18,0,14,0 6,0,16,0,32,0,4,0,21,0,23,0 2,0,26,0,30,0,5,0,7,0,22,0 29,0,17,0,19,0,15,0,31,0,24,0 11,0,6,0,21,0,28,0,1,0,22,0 29,0,30,0,9,0,10,0,4,0,19,0 14,0,12,0,11,0,31,0,16,0,26,0 15,0,13,0,32,0,20,0,8,0,5,0 23,0,25,0,24,0,27,0,2,0,18,0 3,0,28,0,32,0,7,0,17,0,10,0 ================================================ FILE: schedules/32_6.csv ================================================ 32,0,2,0,3,0,6,0,23,0,20,0 26,0,22,0,9,0,18,0,15,0,27,0 25,0,4,0,21,0,29,0,17,0,7,0 28,0,8,0,30,0,13,0,31,0,5,0 12,0,1,0,10,0,14,0,19,0,11,0 16,0,17,0,23,0,24,0,5,0,28,0 25,0,9,0,3,0,4,0,31,0,10,0 19,0,15,0,32,0,29,0,13,0,30,0 20,0,11,0,24,0,7,0,26,0,18,0 8,0,12,0,27,0,6,0,16,0,1,0 22,0,21,0,31,0,14,0,2,0,24,0 29,0,3,0,15,0,11,0,8,0,17,0 23,0,4,0,26,0,19,0,16,0,12,0 10,0,32,0,28,0,22,0,2,0,7,0 27,0,5,0,14,0,18,0,13,0,25,0 6,0,9,0,30,0,1,0,20,0,21,0 13,0,15,0,2,0,12,0,3,0,7,0 29,0,18,0,23,0,31,0,1,0,30,0 24,0,22,0,19,0,6,0,8,0,25,0 32,0,5,0,16,0,11,0,21,0,9,0 14,0,17,0,28,0,27,0,20,0,4,0 10,0,6,0,7,0,26,0,29,0,5,0 13,0,11,0,23,0,4,0,17,0,22,0 19,0,18,0,1,0,21,0,28,0,3,0 2,0,26,0,8,0,14,0,9,0,32,0 20,0,16,0,31,0,15,0,25,0,10,0 27,0,24,0,17,0,30,0,12,0,32,0 11,0,26,0,6,0,28,0,31,0,25,0 1,0,5,0,2,0,24,0,15,0,4,0 12,0,22,0,13,0,20,0,29,0,9,0 21,0,18,0,8,0,23,0,10,0,27,0 7,0,14,0,16,0,3,0,30,0,19,0 ================================================ FILE: schedules/32_7.csv ================================================ 23,0,26,0,16,0,5,0,29,0,27,0 7,0,8,0,32,0,19,0,6,0,9,0 13,0,17,0,18,0,28,0,11,0,12,0 30,0,21,0,3,0,10,0,24,0,15,0 1,0,25,0,31,0,20,0,22,0,14,0 2,0,23,0,19,0,4,0,18,0,21,0 20,0,8,0,27,0,13,0,22,0,30,0 7,0,28,0,2,0,16,0,32,0,14,0 1,0,29,0,9,0,31,0,4,0,11,0 17,0,5,0,12,0,25,0,6,0,10,0 26,0,24,0,22,0,3,0,15,0,16,0 23,1,12,0,9,0,28,1,30,0,17,0 1,1,4,0,27,0,3,1,7,0,6,0 24,0,19,0,11,0,14,0,25,0,5,0 10,0,21,0,29,0,20,0,13,0,32,0 15,0,31,0,26,0,18,0,2,0,8,0 32,0,29,0,19,0,3,0,17,0,27,0 16,0,12,0,21,0,11,0,1,0,8,0 14,0,6,0,13,0,18,0,15,0,23,0 5,0,28,0,10,0,9,0,31,0,2,0 25,0,20,0,4,0,30,0,26,0,7,0 22,0,8,0,31,0,24,0,23,0,17,0 32,0,10,0,30,0,26,0,11,0,14,0 29,0,28,0,6,0,22,0,21,0,7,0 24,0,3,0,25,0,27,0,9,0,18,0 5,0,19,0,4,0,15,0,20,0,12,0 13,0,16,0,25,0,1,0,2,0,30,0 12,0,14,0,8,0,29,0,3,0,4,0 21,0,15,0,11,0,27,0,7,0,31,0 13,0,28,0,23,0,19,0,10,0,26,0 6,0,20,0,17,0,2,0,16,0,24,0 18,0,1,0,22,0,5,0,32,0,9,0 6,0,30,0,16,0,3,0,19,0,31,0 8,0,15,0,29,0,28,0,32,0,25,0 4,0,23,0,7,0,24,0,13,0,5,0 9,0,26,0,17,0,1,0,14,0,21,0 27,0,2,0,22,0,12,0,18,0,10,0 11,0,23,0,3,0,20,0,28,0,1,0 ================================================ FILE: schedules/32_8.csv ================================================ 21,0,17,0,13,0,20,0,29,0,18,0 31,0,27,0,23,0,30,0,8,0,15,0 9,0,4,0,10,0,5,0,14,0,25,0 16,0,11,0,22,0,24,0,19,0,7,0 2,0,26,0,12,0,3,0,28,0,32,0 1,0,16,0,18,0,6,0,29,0,25,0 32,0,13,0,8,0,19,0,4,0,2,0 11,0,27,0,1,0,9,0,15,0,28,0 23,0,30,0,7,0,12,0,20,0,10,0 24,0,14,0,22,0,26,0,31,0,6,0 5,0,21,0,11,0,17,0,3,0,30,0 32,1,22,0,20,0,16,1,29,0,8,0 10,0,3,0,7,0,17,0,18,0,19,0 9,0,31,0,1,0,4,0,23,0,13,0 2,0,15,0,5,0,6,0,28,0,24,0 25,0,27,0,12,0,14,0,26,0,21,0 16,0,32,0,7,0,6,0,13,0,5,0 17,0,25,0,2,0,9,0,20,0,27,0 26,0,10,0,29,0,4,0,11,0,8,0 14,0,30,0,12,0,1,0,3,0,22,0 19,0,21,0,28,0,23,0,24,0,18,0 31,0,13,0,3,0,15,0,27,0,10,0 4,0,16,0,20,0,11,0,28,0,14,0 22,0,25,0,18,0,23,0,32,0,5,0 19,0,8,0,6,0,9,0,21,0,12,0 17,0,15,0,29,0,2,0,30,0,31,0 26,0,24,0,8,0,7,0,1,0,13,0 23,0,25,0,16,0,11,0,17,0,12,0 3,0,14,0,9,0,32,0,24,0,29,0 2,0,10,0,28,0,31,0,21,0,7,0 20,0,5,0,19,0,1,0,26,0,15,0 4,0,18,0,6,0,27,0,22,0,30,0 14,0,32,0,17,0,1,0,8,0,28,0 3,0,24,0,15,0,4,0,25,0,7,0 21,0,30,0,18,0,16,0,9,0,26,0 13,0,11,0,10,0,6,0,22,0,2,0 19,0,12,0,31,0,5,0,29,0,27,0 23,0,6,0,9,0,20,0,3,0,26,0 17,0,27,0,8,0,5,0,16,0,24,0 20,0,31,0,11,0,32,0,12,0,18,0 29,0,7,0,2,0,23,0,14,0,1,0 25,0,30,0,28,0,19,0,22,0,13,0 4,0,15,0,32,0,21,0,10,0,16,0 ================================================ FILE: schedules/32_9.csv ================================================ 27,0,26,0,16,0,29,0,18,0,17,0 20,0,9,0,13,0,8,0,5,0,14,0 2,0,3,0,25,0,11,0,19,0,24,0 12,0,7,0,21,0,6,0,4,0,30,0 31,0,10,0,1,0,23,0,32,0,28,0 15,0,21,0,29,0,22,0,17,0,2,0 26,0,30,0,1,0,20,0,14,0,24,0 15,0,19,0,9,0,27,0,6,0,32,0 10,0,5,0,18,0,12,0,22,0,23,0 13,0,3,0,4,0,25,0,16,0,31,0 8,0,28,0,19,0,7,0,11,0,26,0 20,0,32,0,10,0,4,0,2,0,29,0 15,0,11,0,28,0,14,0,16,0,12,0 6,0,22,0,24,0,31,0,17,0,23,0 27,0,7,0,8,0,25,0,21,0,13,0 3,0,18,0,30,0,5,0,1,0,9,0 6,0,23,0,29,0,25,0,11,0,14,0 5,0,21,0,28,0,4,0,9,0,24,0 7,0,32,0,2,0,16,0,22,0,18,0 10,0,15,0,17,0,8,0,1,0,3,0 31,0,19,0,27,0,12,0,20,0,26,0 30,0,24,0,32,0,13,0,15,0,5,0 1,0,29,0,14,0,25,0,19,0,4,0 18,0,7,0,28,0,6,0,17,0,13,0 27,0,12,0,9,0,26,0,10,0,2,0 22,0,31,0,8,0,16,0,30,0,11,0 21,0,23,0,19,0,20,0,3,0,28,0 15,0,1,0,24,0,29,0,9,0,16,0 22,0,32,0,26,0,6,0,25,0,8,0 5,0,30,0,17,0,4,0,27,0,10,0 23,0,2,0,20,0,31,0,13,0,7,0 12,0,18,0,11,0,21,0,3,0,14,0 5,0,23,0,4,0,8,0,29,0,26,0 31,0,9,0,14,0,21,0,10,0,24,0 25,0,28,0,22,0,18,0,20,0,15,0 16,0,17,0,32,0,30,0,19,0,12,0 6,0,2,0,11,0,1,0,27,0,13,0 7,0,10,0,14,0,3,0,32,0,15,0 26,0,19,0,13,0,22,0,21,0,1,0 3,0,6,0,16,0,20,0,27,0,5,0 11,0,4,0,8,0,24,0,18,0,2,0 23,0,30,0,25,0,9,0,28,0,17,0 31,0,12,0,6,0,7,0,29,0,24,0 17,0,20,0,21,0,32,0,5,0,11,0 27,0,14,0,22,0,28,0,1,0,2,0 29,0,3,0,12,0,13,0,8,0,23,0 26,0,18,0,4,0,31,0,15,0,30,0 9,0,10,0,25,0,7,0,19,0,16,0 ================================================ FILE: schedules/33_1.csv ================================================ 12,0,17,0,23,0,19,0,3,0,30,0 20,0,25,0,2,0,18,0,9,0,27,0 4,0,28,0,24,0,5,0,8,0,15,0 21,0,31,0,32,0,1,0,26,0,33,0 29,0,10,0,13,0,11,0,16,0,14,0 7,0,22,0,1,1,6,0,19,1,30,1 ================================================ FILE: schedules/33_10.csv ================================================ 32,0,1,0,15,0,13,0,4,0,29,0 19,0,27,0,6,0,23,0,22,0,7,0 21,0,14,0,25,0,12,0,9,0,16,0 20,0,2,0,5,0,18,0,11,0,28,0 8,0,30,0,31,0,26,0,3,0,33,0 24,0,10,0,18,0,17,0,1,0,22,0 5,0,8,0,16,0,27,0,30,0,9,0 17,0,13,0,24,0,21,0,32,0,2,0 20,0,6,0,31,0,25,0,23,0,28,0 3,0,29,0,15,0,10,0,14,0,26,0 4,0,12,0,33,0,19,0,11,0,7,0 21,0,6,0,22,0,26,0,31,0,32,0 33,0,23,0,1,0,25,0,3,0,20,0 30,0,16,0,15,0,12,0,28,0,2,0 18,0,7,0,4,0,24,0,8,0,29,0 17,0,27,0,14,0,10,0,19,0,9,0 5,0,13,0,18,0,11,0,15,0,31,0 22,0,9,0,14,0,2,0,30,0,4,0 24,0,16,0,33,0,6,0,5,0,23,0 25,0,32,0,17,0,29,0,12,0,11,0 27,0,28,0,3,0,13,0,26,0,19,0 8,0,7,0,21,0,20,0,1,0,10,0 32,0,11,0,9,0,16,0,29,0,27,0 6,0,33,0,28,0,18,0,17,0,3,0 23,0,12,0,14,0,13,0,8,0,22,0 7,0,24,0,26,0,31,0,4,0,25,0 5,0,30,0,19,0,21,0,20,0,15,0 1,0,2,0,16,0,10,0,31,0,12,0 20,0,26,0,8,0,5,0,32,0,14,0 4,0,21,0,10,0,25,0,27,0,18,0 7,0,13,0,1,0,17,0,33,0,30,0 15,0,22,0,28,0,3,0,9,0,24,0 23,0,19,0,29,0,2,0,11,0,6,0 27,0,31,0,13,0,20,0,4,0,24,0 23,0,11,0,3,0,10,0,30,0,32,0 18,0,26,0,12,0,2,0,7,0,9,0 14,0,8,0,19,0,6,0,15,0,25,0 22,0,33,0,29,0,16,0,28,0,21,0 17,0,26,0,2,0,5,0,1,0,25,0 21,0,24,0,23,0,18,0,29,0,14,0 31,0,9,0,1,0,19,0,33,0,15,0 22,0,30,0,20,0,8,0,11,0,17,0 12,0,3,0,6,0,27,0,4,0,5,0 10,0,7,0,16,0,32,0,28,0,13,0 20,0,9,0,29,0,24,0,12,0,22,0 33,0,27,0,11,0,14,0,15,0,7,0 16,0,3,0,32,0,18,0,19,0,21,0 13,0,10,0,25,0,26,0,6,0,30,0 28,0,17,0,5,0,23,0,4,0,8,0 2,0,31,0,18,0,1,0,14,0,30,0 4,0,26,0,15,0,17,0,16,0,23,0 1,0,21,0,11,0,6,0,9,0,13,0 19,0,20,0,32,0,10,0,33,0,2,0 8,0,27,0,12,0,31,0,24,0,28,0 29,0,25,0,7,0,22,0,3,0,5,0 ================================================ FILE: schedules/33_11.csv ================================================ 33,0,20,0,15,0,5,0,30,0,27,0 21,0,9,0,17,0,18,0,8,0,16,0 28,0,10,0,12,0,4,0,23,0,19,0 1,0,29,0,32,0,2,0,14,0,7,0 22,0,11,0,26,0,31,0,25,0,6,0 3,0,24,0,16,0,13,0,15,0,32,0 11,0,29,0,17,0,21,0,28,0,26,0 6,0,14,0,10,0,5,0,20,0,13,0 8,0,12,0,3,0,7,0,30,0,25,0 22,0,33,0,31,0,2,0,23,0,9,0 27,0,1,0,19,0,24,0,4,0,18,0 5,1,11,0,7,0,30,1,3,0,22,0 4,1,12,0,9,0,6,0,8,0,13,0 19,0,26,0,16,0,33,0,1,0,14,0 18,0,20,0,27,0,25,0,28,0,29,0 21,0,15,0,31,0,10,0,24,0,2,0 32,0,5,0,19,0,23,0,17,0,22,0 14,0,30,0,8,0,16,0,28,0,9,0 11,0,33,0,6,0,27,0,13,0,21,0 20,0,12,0,24,0,2,0,17,0,3,0 7,0,18,0,15,0,1,0,4,0,10,0 23,0,25,0,32,0,31,0,26,0,29,0 27,0,4,0,6,0,5,0,16,0,17,0 13,0,12,0,29,0,18,0,30,0,2,0 28,0,14,0,22,0,20,0,32,0,10,0 19,0,21,0,25,0,1,0,3,0,31,0 9,0,7,0,8,0,23,0,15,0,26,0 24,0,11,0,25,0,33,0,17,0,28,0 30,0,4,0,31,0,16,0,14,0,13,0 22,0,6,0,7,0,5,0,15,0,29,0 10,0,18,0,23,0,26,0,2,0,27,0 20,0,21,0,3,0,33,0,19,0,9,0 1,0,8,0,24,0,12,0,32,0,11,0 13,0,33,0,4,0,7,0,29,0,19,0 5,0,18,0,9,0,11,0,20,0,31,0 6,0,3,0,23,0,14,0,15,0,24,0 17,0,30,0,32,0,25,0,10,0,16,0 27,0,28,0,8,0,21,0,22,0,1,0 2,0,12,0,5,0,26,0,9,0,32,0 10,0,7,0,17,0,3,0,14,0,11,0 31,0,2,0,16,0,24,0,13,0,28,0 33,0,18,0,26,0,22,0,8,0,4,0 20,0,1,0,23,0,29,0,21,0,6,0 25,0,27,0,15,0,12,0,30,0,19,0 1,0,28,0,2,0,5,0,33,0,10,0 11,0,13,0,19,0,8,0,23,0,31,0 9,0,30,0,29,0,27,0,22,0,24,0 15,0,4,0,16,0,32,0,18,0,3,0 17,0,20,0,14,0,21,0,7,0,12,0 25,0,26,0,4,0,6,0,9,0,24,0 13,0,2,0,22,0,27,0,7,0,16,0 19,0,31,0,28,0,17,0,6,0,15,0 14,0,5,0,23,0,12,0,18,0,25,0 21,0,32,0,33,0,1,0,30,0,11,0 26,0,10,0,3,0,8,0,20,0,29,0 14,0,32,0,31,0,12,0,27,0,33,0 23,0,16,0,30,0,20,0,6,0,26,0 2,0,29,0,4,0,8,0,11,0,15,0 3,0,5,0,28,0,18,0,19,0,22,0 10,0,9,0,13,0,17,0,1,0,25,0 24,0,21,0,30,0,7,0,5,0,4,0 ================================================ FILE: schedules/33_12.csv ================================================ 9,0,30,0,12,0,19,0,10,0,4,0 3,0,27,0,33,0,25,0,8,0,21,0 23,0,15,0,6,0,13,0,26,0,14,0 17,0,28,0,22,0,7,0,5,0,31,0 2,0,24,0,11,0,29,0,1,0,16,0 18,0,32,0,25,0,20,0,14,0,15,0 5,0,13,0,3,0,11,0,28,0,9,0 29,0,30,0,31,0,12,0,24,0,7,0 4,0,26,0,1,0,16,0,8,0,27,0 2,0,33,0,18,0,10,0,22,0,6,0 23,0,32,0,17,0,21,0,20,0,19,0 14,0,22,0,16,0,27,0,15,0,12,0 9,0,3,0,26,0,25,0,2,0,7,0 13,0,1,0,24,0,10,0,17,0,33,0 23,0,8,0,4,0,30,0,20,0,5,0 19,0,32,0,29,0,18,0,21,0,28,0 11,0,6,0,25,0,31,0,1,0,17,0 4,0,32,0,7,0,30,0,19,0,3,0 12,0,13,0,31,0,27,0,5,0,18,0 29,0,15,0,10,0,22,0,2,0,23,0 20,0,24,0,28,0,14,0,11,0,33,0 21,0,16,0,9,0,8,0,6,0,26,0 3,0,25,0,23,0,22,0,12,0,33,0 18,0,17,0,30,0,7,0,28,0,16,0 6,0,20,0,13,0,4,0,21,0,29,0 9,0,27,0,10,0,15,0,19,0,11,0 1,0,2,0,5,0,24,0,14,0,32,0 8,0,22,0,29,0,31,0,26,0,19,0 21,0,17,0,24,0,9,0,2,0,4,0 10,0,16,0,26,0,14,0,7,0,3,0 11,0,5,0,8,0,12,0,18,0,23,0 6,0,31,0,27,0,32,0,33,0,20,0 25,0,15,0,13,0,1,0,28,0,30,0 29,0,5,0,14,0,17,0,4,0,27,0 24,0,23,0,31,0,3,0,6,0,16,0 22,0,18,0,20,0,1,0,8,0,9,0 12,0,28,0,2,0,21,0,26,0,32,0 7,0,15,0,30,0,19,0,13,0,33,0 10,0,11,0,21,0,25,0,14,0,31,0 7,0,19,0,18,0,1,0,27,0,23,0 11,0,20,0,16,0,30,0,13,0,2,0 33,0,25,0,9,0,17,0,29,0,26,0 4,0,24,0,6,0,15,0,22,0,32,0 5,0,12,0,10,0,28,0,3,0,8,0 1,0,18,0,6,0,33,0,30,0,4,0 28,0,15,0,31,0,9,0,23,0,20,0 26,0,25,0,22,0,24,0,16,0,5,0 32,0,8,0,2,0,11,0,29,0,13,0 17,0,19,0,14,0,21,0,3,0,12,0 27,0,7,0,20,0,10,0,2,0,31,0 14,0,30,0,6,0,5,0,9,0,22,0 17,0,3,0,11,0,15,0,18,0,8,0 28,0,19,0,23,0,27,0,24,0,26,0 16,0,13,0,4,0,29,0,25,0,12,0 7,0,33,0,21,0,32,0,1,0,10,0 5,0,4,0,28,0,19,0,16,0,2,0 11,0,30,0,26,0,29,0,24,0,33,0 12,0,8,0,20,0,6,0,7,0,17,0 31,0,9,0,32,0,3,0,1,0,15,0 10,0,18,0,14,0,23,0,21,0,13,0 27,0,22,0,19,0,25,0,17,0,20,0 14,0,12,0,1,0,32,0,28,0,6,0 29,0,2,0,3,0,30,0,27,0,25,0 5,0,21,0,15,0,10,0,24,0,8,0 31,0,33,0,16,0,13,0,18,0,9,0 7,0,26,0,23,0,11,0,4,0,22,0 ================================================ FILE: schedules/33_13.csv ================================================ 18,0,22,0,7,0,25,0,8,0,10,0 33,0,13,0,24,0,19,0,4,0,1,0 28,0,27,0,9,0,26,0,29,0,21,0 23,0,6,0,14,0,30,0,5,0,17,0 2,0,11,0,31,0,16,0,12,0,3,0 32,0,20,0,26,0,15,0,27,0,8,0 4,0,11,0,23,0,7,0,29,0,9,0 19,0,30,0,24,0,16,0,22,0,28,0 3,0,20,0,5,0,21,0,18,0,14,0 13,0,32,0,10,0,6,0,15,0,31,0 25,0,2,0,12,0,17,0,33,0,1,0 23,1,27,0,6,0,9,1,4,0,14,0 8,1,10,0,7,0,25,0,33,0,31,0 12,0,18,0,13,0,16,0,21,0,5,0 1,0,30,0,15,0,20,0,24,0,22,0 3,0,29,0,28,0,17,0,32,0,19,0 26,0,2,0,8,0,11,0,14,0,10,0 22,0,21,0,32,0,20,0,7,0,13,0 19,0,12,0,6,0,29,0,5,0,25,0 18,0,16,0,15,0,24,0,1,0,9,0 30,0,31,0,27,0,28,0,11,0,4,0 26,0,23,0,33,0,17,0,3,0,2,0 18,0,10,0,29,0,11,0,30,0,21,0 4,0,28,0,32,0,15,0,9,0,23,0 25,0,3,0,19,0,6,0,2,0,20,0 13,0,1,0,31,0,8,0,17,0,14,0 24,0,27,0,5,0,22,0,12,0,33,0 7,0,26,0,31,0,16,0,19,0,29,0 5,0,32,0,18,0,2,0,30,0,9,0 6,0,10,0,24,0,4,0,20,0,12,0 33,0,8,0,14,0,21,0,15,0,7,0 28,0,17,0,25,0,26,0,1,0,11,0 22,0,23,0,3,0,16,0,27,0,13,0 8,0,19,0,28,0,10,0,21,0,6,0 17,0,20,0,32,0,5,0,11,0,33,0 27,0,25,0,26,0,22,0,14,0,9,0 7,0,24,0,4,0,30,0,23,0,13,0 2,0,16,0,1,0,18,0,3,0,31,0 29,0,20,0,23,0,12,0,15,0,24,0 11,0,18,0,6,0,13,0,4,0,25,0 21,0,9,0,19,0,12,0,30,0,8,0 17,0,22,0,31,0,3,0,32,0,26,0 33,0,10,0,16,0,14,0,27,0,29,0 15,0,5,0,2,0,28,0,1,0,7,0 23,0,12,0,32,0,26,0,24,0,18,0 11,0,22,0,29,0,7,0,6,0,3,0 19,0,4,0,10,0,15,0,16,0,17,0 9,0,5,0,8,0,28,0,33,0,2,0 30,0,13,0,14,0,27,0,20,0,21,0 1,0,25,0,22,0,31,0,9,0,10,0 20,0,8,0,18,0,26,0,28,0,13,0 16,0,30,0,25,0,32,0,33,0,15,0 14,0,1,0,12,0,29,0,3,0,6,0 4,0,2,0,27,0,5,0,19,0,31,0 23,0,21,0,17,0,24,0,11,0,7,0 19,0,22,0,15,0,4,0,18,0,33,0 16,0,12,0,26,0,25,0,32,0,11,0 17,0,9,0,6,0,2,0,27,0,7,0 13,0,30,0,29,0,20,0,31,0,8,0 3,0,21,0,1,0,10,0,23,0,5,0 14,0,24,0,25,0,28,0,30,0,20,0 12,0,17,0,7,0,27,0,19,0,18,0 9,0,33,0,3,0,4,0,26,0,5,0 13,0,15,0,21,0,23,0,10,0,28,0 16,0,8,0,11,0,1,0,22,0,6,0 24,0,31,0,29,0,14,0,2,0,32,0 3,0,11,0,15,0,5,0,13,0,12,0 16,0,9,0,20,0,19,0,2,0,23,0 7,0,30,0,33,0,10,0,1,0,27,0 21,0,4,0,8,0,25,0,29,0,32,0 28,0,31,0,14,0,17,0,18,0,24,0 22,0,26,0,9,0,6,0,23,0,8,0 ================================================ FILE: schedules/33_14.csv ================================================ 5,0,11,0,29,0,3,0,30,0,16,0 2,0,31,0,18,0,22,0,17,0,24,0 12,0,13,0,15,0,1,0,25,0,6,0 33,0,23,0,7,0,21,0,28,0,8,0 10,0,4,0,20,0,32,0,26,0,9,0 14,0,19,0,15,0,27,0,5,0,3,0 1,0,8,0,20,0,18,0,21,0,12,0 6,0,7,0,22,0,25,0,24,0,2,0 26,0,16,0,11,0,13,0,29,0,27,0 31,0,9,0,19,0,14,0,33,0,23,0 17,0,32,0,10,0,30,0,28,0,4,0 26,0,2,0,27,0,7,0,5,0,20,0 1,0,24,0,33,0,11,0,17,0,15,0 12,0,19,0,30,0,28,0,9,0,22,0 29,0,16,0,18,0,10,0,8,0,25,0 6,0,14,0,21,0,31,0,3,0,32,0 13,0,4,0,10,0,23,0,28,0,27,0 6,0,30,0,33,0,20,0,26,0,17,0 22,0,14,0,1,0,8,0,13,0,9,0 24,0,16,0,31,0,7,0,21,0,4,0 11,0,23,0,15,0,18,0,19,0,3,0 25,0,5,0,12,0,29,0,32,0,2,0 18,0,17,0,4,0,8,0,27,0,16,0 5,0,9,0,32,0,26,0,23,0,1,0 10,0,15,0,30,0,31,0,14,0,20,0 33,0,12,0,2,0,13,0,24,0,6,0 19,0,3,0,28,0,25,0,11,0,21,0 29,0,7,0,1,0,22,0,16,0,4,0 11,0,13,0,19,0,23,0,20,0,32,0 28,0,31,0,33,0,29,0,26,0,12,0 15,0,22,0,25,0,2,0,9,0,10,0 6,0,5,0,18,0,3,0,7,0,17,0 21,0,24,0,8,0,27,0,30,0,14,0 2,0,3,0,9,0,31,0,33,0,10,0 16,0,28,0,26,0,15,0,18,0,8,0 5,0,19,0,24,0,32,0,13,0,1,0 23,0,17,0,29,0,12,0,7,0,14,0 21,0,30,0,22,0,4,0,6,0,11,0 27,0,25,0,7,0,20,0,1,0,33,0 13,0,28,0,17,0,11,0,2,0,22,0 12,0,25,0,23,0,26,0,3,0,8,0 31,0,21,0,29,0,15,0,5,0,4,0 14,0,16,0,10,0,20,0,19,0,30,0 27,0,6,0,9,0,18,0,24,0,32,0 4,0,30,0,23,0,11,0,12,0,33,0 9,0,24,0,29,0,13,0,21,0,3,0 20,0,16,0,25,0,2,0,19,0,8,0 7,0,32,0,28,0,14,0,18,0,22,0 27,0,31,0,17,0,5,0,1,0,10,0 15,0,26,0,22,0,6,0,24,0,23,0 32,0,21,0,33,0,7,0,11,0,10,0 30,0,27,0,2,0,19,0,29,0,4,0 18,0,28,0,26,0,1,0,31,0,5,0 25,0,9,0,14,0,16,0,15,0,6,0 12,0,3,0,8,0,17,0,20,0,13,0 16,0,1,0,21,0,15,0,9,0,30,0 14,0,2,0,17,0,26,0,33,0,29,0 6,0,7,0,13,0,31,0,27,0,11,0 3,0,4,0,8,0,19,0,32,0,22,0 20,0,24,0,12,0,10,0,23,0,18,0 25,0,5,0,13,0,28,0,19,0,6,0 4,0,14,0,32,0,1,0,12,0,17,0 21,0,27,0,20,0,5,0,28,0,2,0 3,0,10,0,24,0,25,0,16,0,33,0 11,0,9,0,18,0,7,0,31,0,23,0 22,0,30,0,8,0,29,0,15,0,26,0 20,0,11,0,28,0,12,0,32,0,6,0 18,0,27,0,1,0,22,0,29,0,10,0 26,0,25,0,19,0,17,0,21,0,9,0 33,0,4,0,24,0,14,0,5,0,8,0 15,0,23,0,3,0,30,0,2,0,7,0 31,0,13,0,22,0,16,0,5,0,17,0 6,0,8,0,29,0,21,0,19,0,10,0 32,0,1,0,30,0,25,0,24,0,28,0 2,0,23,0,16,0,33,0,18,0,13,0 3,0,11,0,14,0,4,0,31,0,26,0 20,0,15,0,27,0,9,0,7,0,12,0 ================================================ FILE: schedules/33_2.csv ================================================ 18,0,25,0,13,0,20,0,33,0,5,0 6,0,32,0,8,0,4,0,31,0,30,0 26,0,19,0,2,0,24,0,16,0,29,0 11,0,9,0,15,0,1,0,12,0,27,0 10,0,23,0,7,0,17,0,21,0,28,0 14,0,22,0,1,0,3,0,29,0,18,0 12,0,7,0,16,0,23,0,4,0,5,0 13,0,3,0,26,0,6,0,11,0,17,0 30,0,21,0,24,0,31,0,25,0,27,0 20,0,15,0,32,0,28,0,19,0,14,0 33,0,22,0,2,0,9,0,10,0,8,0 ================================================ FILE: schedules/33_3.csv ================================================ 22,0,21,0,9,0,15,0,2,0,17,0 16,0,19,0,23,0,27,0,13,0,20,0 7,0,29,0,6,0,12,0,4,0,26,0 18,0,28,0,32,0,25,0,8,0,5,0 31,0,10,0,33,0,3,0,1,0,14,0 30,0,27,0,12,0,11,0,24,0,32,0 33,1,21,0,18,0,6,1,10,0,23,0 8,0,13,0,9,0,22,1,3,0,4,0 31,0,25,0,26,0,2,0,30,0,16,0 24,0,15,0,5,0,19,0,1,0,29,0 7,0,20,0,11,0,14,0,28,0,17,0 10,0,1,0,12,0,8,0,22,0,16,0 24,0,17,0,4,0,28,0,23,0,31,0 33,0,15,0,32,0,26,0,13,0,7,0 11,0,3,0,2,0,18,0,6,0,19,0 21,0,25,0,14,0,29,0,27,0,9,0 5,0,30,0,6,0,20,0,33,0,22,0 ================================================ FILE: schedules/33_4.csv ================================================ 27,0,16,0,29,0,9,0,31,0,2,0 18,0,8,0,7,0,15,0,26,0,1,0 24,0,22,0,28,0,3,0,32,0,6,0 17,0,10,0,30,0,12,0,21,0,11,0 20,0,5,0,25,0,33,0,4,0,13,0 19,0,1,0,30,0,23,0,14,0,16,0 12,0,13,0,8,0,33,0,27,0,24,0 6,0,25,0,9,0,23,0,7,0,10,0 19,0,18,0,11,0,20,0,22,0,31,0 3,0,28,0,21,0,5,0,29,0,26,0 4,0,14,0,15,0,2,0,17,0,32,0 1,0,20,0,29,0,12,0,22,0,6,0 28,0,8,0,2,0,10,0,19,0,25,0 9,0,30,0,24,0,4,0,18,0,26,0 23,0,13,0,21,0,32,0,15,0,31,0 11,0,5,0,7,0,27,0,14,0,3,0 16,0,33,0,26,0,17,0,22,0,23,0 12,0,5,0,3,0,19,0,15,0,9,0 16,0,6,0,21,0,4,0,11,0,8,0 13,0,20,0,2,0,7,0,28,0,30,0 27,0,17,0,31,0,25,0,1,0,24,0 32,0,10,0,14,0,29,0,33,0,18,0 ================================================ FILE: schedules/33_5.csv ================================================ 10,0,25,0,11,0,24,0,27,0,30,0 31,0,5,0,28,0,6,0,16,0,3,0 17,0,20,0,7,0,21,0,19,0,33,0 22,0,8,0,18,0,12,0,13,0,4,0 9,0,14,0,26,0,1,0,32,0,23,0 2,0,29,0,3,0,15,0,17,0,33,0 21,0,8,0,30,0,19,0,9,0,27,0 24,0,22,0,12,0,28,0,20,0,14,0 10,0,29,0,4,0,6,0,26,0,31,0 15,0,18,0,32,0,25,0,23,0,5,0 11,0,16,0,1,0,2,0,13,0,7,0 31,1,17,0,30,0,32,1,8,0,28,0 11,1,12,0,33,0,16,0,25,0,26,0 1,0,6,0,13,0,15,0,21,0,24,0 3,0,9,0,20,0,10,0,7,0,18,0 4,0,2,0,14,0,19,0,5,0,29,0 27,0,6,0,11,0,23,0,22,0,17,0 16,0,2,0,21,0,10,0,14,0,8,0 22,0,31,0,19,0,1,0,18,0,25,0 23,0,20,0,26,0,13,0,30,0,3,0 4,0,33,0,27,0,9,0,15,0,28,0 29,0,24,0,7,0,5,0,32,0,12,0 31,0,14,0,25,0,17,0,9,0,13,0 16,0,4,0,19,0,24,0,3,0,32,0 21,0,18,0,28,0,29,0,26,0,11,0 10,0,30,0,5,0,22,0,1,0,33,0 6,0,15,0,23,0,8,0,7,0,12,0 20,0,27,0,32,0,2,0,31,0,11,0 ================================================ FILE: schedules/33_6.csv ================================================ 26,0,5,0,25,0,19,0,12,0,3,0 2,0,13,0,28,0,29,0,1,0,7,0 22,0,17,0,20,0,9,0,11,0,15,0 16,0,8,0,4,0,32,0,14,0,27,0 10,0,33,0,18,0,24,0,6,0,30,0 21,0,23,0,12,0,31,0,22,0,29,0 30,0,17,0,16,0,2,0,1,0,26,0 4,0,14,0,11,0,13,0,10,0,15,0 18,0,19,0,31,0,3,0,9,0,8,0 27,0,21,0,7,0,24,0,33,0,5,0 23,0,32,0,6,0,25,0,20,0,28,0 17,0,5,0,29,0,18,0,22,0,4,0 24,0,19,0,1,0,20,0,23,0,14,0 27,0,33,0,12,0,2,0,10,0,9,0 15,0,31,0,7,0,16,0,26,0,6,0 8,0,21,0,13,0,3,0,28,0,32,0 30,0,25,0,29,0,11,0,31,0,27,0 10,0,32,0,7,0,17,0,19,0,23,0 24,0,8,0,28,0,11,0,22,0,26,0 18,0,14,0,15,0,21,0,25,0,2,0 6,0,33,0,9,0,1,0,3,0,4,0 30,0,20,0,12,0,16,0,13,0,5,0 33,0,31,0,25,0,14,0,28,0,17,0 9,0,19,0,29,0,15,0,16,0,24,0 5,0,6,0,2,0,8,0,23,0,11,0 32,0,13,0,22,0,26,0,18,0,27,0 20,0,21,0,3,0,4,0,30,0,7,0 1,0,28,0,15,0,10,0,12,0,5,0 30,0,9,0,22,0,25,0,7,0,14,0 11,0,3,0,18,0,1,0,23,0,16,0 32,0,24,0,4,0,2,0,12,0,31,0 8,0,26,0,10,0,20,0,29,0,33,0 27,0,13,0,19,0,17,0,6,0,21,0 ================================================ FILE: schedules/33_7.csv ================================================ 31,0,1,0,21,0,28,0,20,0,26,0 6,0,7,0,23,0,30,0,15,0,8,0 18,0,12,0,11,0,3,0,17,0,9,0 2,0,29,0,22,0,4,0,14,0,33,0 27,0,19,0,5,0,13,0,16,0,10,0 25,0,6,0,8,0,32,0,24,0,21,0 5,0,23,0,11,0,29,0,12,0,26,0 10,0,2,0,17,0,25,0,1,0,22,0 19,0,7,0,4,0,28,0,32,0,18,0 14,0,24,0,9,0,27,0,16,0,31,0 3,0,30,0,13,0,15,0,33,0,20,0 6,1,9,0,11,0,28,1,14,0,25,0 22,1,30,0,12,0,13,0,1,0,2,0 18,0,17,0,7,0,33,0,5,0,24,0 31,0,10,0,29,0,8,0,3,0,21,0 23,0,15,0,16,0,20,0,32,0,4,0 26,0,27,0,8,0,19,0,17,0,33,0 5,0,6,0,31,0,4,0,2,0,11,0 13,0,14,0,32,0,10,0,9,0,23,0 20,0,18,0,27,0,28,0,29,0,30,0 25,0,21,0,12,0,15,0,19,0,22,0 1,0,3,0,26,0,7,0,24,0,16,0 4,0,28,0,21,0,8,0,17,0,13,0 30,0,25,0,19,0,14,0,5,0,3,0 2,0,9,0,16,0,7,0,15,0,29,0 33,0,31,0,26,0,12,0,32,0,10,0 22,0,27,0,11,0,18,0,23,0,1,0 24,0,6,0,17,0,20,0,29,0,19,0 28,0,12,0,33,0,16,0,25,0,5,0 26,0,10,0,24,0,4,0,30,0,9,0 22,0,13,0,20,0,7,0,11,0,8,0 6,0,15,0,1,0,31,0,18,0,14,0 3,0,32,0,23,0,2,0,21,0,27,0 8,0,14,0,20,0,5,0,12,0,7,0 24,0,15,0,2,0,28,0,11,0,10,0 1,0,9,0,33,0,21,0,19,0,6,0 30,0,16,0,32,0,17,0,31,0,22,0 18,0,25,0,29,0,23,0,13,0,26,0 27,0,3,0,28,0,4,0,6,0,22,0 ================================================ FILE: schedules/33_8.csv ================================================ 26,0,24,0,33,0,3,0,31,0,32,0 4,0,17,0,28,0,10,0,8,0,6,0 7,0,23,0,12,0,14,0,15,0,20,0 16,0,25,0,11,0,5,0,21,0,19,0 9,0,22,0,29,0,18,0,13,0,30,0 1,0,2,0,10,0,27,0,26,0,11,0 32,0,15,0,23,0,6,0,21,0,30,0 25,0,1,0,19,0,9,0,31,0,33,0 18,0,17,0,29,0,14,0,7,0,24,0 28,0,2,0,16,0,20,0,3,0,22,0 12,0,4,0,13,0,5,0,8,0,27,0 18,0,28,0,15,0,32,0,19,0,11,0 1,0,20,0,8,0,29,0,21,0,3,0 14,0,23,0,22,0,4,0,24,0,9,0 30,0,31,0,12,0,27,0,16,0,10,0 13,0,26,0,6,0,33,0,25,0,2,0 7,0,17,0,31,0,5,0,3,0,1,0 12,0,15,0,16,0,24,0,25,0,18,0 10,0,7,0,20,0,13,0,19,0,22,0 26,0,30,0,4,0,21,0,2,0,17,0 32,0,27,0,33,0,11,0,23,0,8,0 6,0,29,0,14,0,28,0,5,0,9,0 20,0,11,0,18,0,31,0,8,0,4,0 21,0,10,0,24,0,5,0,14,0,33,0 15,0,27,0,9,0,26,0,17,0,16,0 28,0,13,0,3,0,23,0,19,0,30,0 32,0,6,0,25,0,7,0,22,0,1,0 29,0,31,0,23,0,12,0,2,0,14,0 5,0,25,0,17,0,20,0,32,0,30,0 16,0,1,0,33,0,29,0,15,0,4,0 9,0,12,0,21,0,27,0,7,0,28,0 6,0,3,0,18,0,10,0,13,0,11,0 24,0,22,0,8,0,2,0,19,0,26,0 32,0,14,0,1,0,13,0,16,0,20,0 4,0,6,0,19,0,29,0,26,0,12,0 5,0,30,0,2,0,18,0,33,0,7,0 8,0,9,0,3,0,22,0,15,0,31,0 27,0,24,0,23,0,28,0,10,0,25,0 11,0,21,0,33,0,17,0,12,0,22,0 2,0,8,0,29,0,9,0,10,0,32,0 14,0,4,0,11,0,30,0,3,0,25,0 13,0,21,0,7,0,31,0,24,0,16,0 26,0,5,0,18,0,28,0,1,0,23,0 19,0,20,0,27,0,6,0,17,0,15,0 ================================================ FILE: schedules/33_9.csv ================================================ 6,0,23,0,21,0,20,0,28,0,11,0 32,0,27,0,19,0,26,0,31,0,33,0 3,0,30,0,17,0,18,0,7,0,24,0 16,0,25,0,9,0,8,0,13,0,12,0 14,0,4,0,29,0,22,0,1,0,15,0 2,0,10,0,8,0,5,0,3,0,7,0 1,0,12,0,4,0,28,0,21,0,30,0 14,0,23,0,16,0,26,0,2,0,18,0 22,0,10,0,32,0,19,0,9,0,24,0 20,0,29,0,27,0,11,0,17,0,13,0 31,0,5,0,6,0,25,0,15,0,33,0 28,1,10,0,1,0,30,1,27,0,18,0 21,0,25,0,12,0,5,1,29,0,32,0 6,0,22,0,26,0,9,0,13,0,2,0 3,0,24,0,14,0,16,0,33,0,20,0 15,0,7,0,4,0,11,0,19,0,23,0 31,0,17,0,18,0,8,0,21,0,22,0 4,0,5,0,2,0,23,0,15,0,13,0 31,0,29,0,30,0,27,0,14,0,6,0 16,0,11,0,1,0,19,0,10,0,3,0 26,0,9,0,28,0,25,0,17,0,24,0 33,0,7,0,8,0,20,0,12,0,32,0 19,0,28,0,18,0,25,0,2,0,29,0 6,0,7,0,11,0,5,0,12,0,26,0 9,0,10,0,31,0,23,0,4,0,3,0 22,0,13,0,24,0,17,0,1,0,33,0 15,0,20,0,8,0,32,0,30,0,14,0 21,0,5,0,9,0,16,0,27,0,7,0 11,0,31,0,25,0,20,0,2,0,24,0 23,0,29,0,17,0,16,0,30,0,13,0 6,0,32,0,33,0,4,0,10,0,18,0 26,0,19,0,21,0,1,0,8,0,14,0 15,0,27,0,3,0,22,0,28,0,12,0 32,0,1,0,7,0,31,0,2,0,16,0 4,0,24,0,28,0,5,0,8,0,27,0 20,0,13,0,26,0,18,0,9,0,15,0 14,0,19,0,17,0,12,0,10,0,6,0 11,0,33,0,22,0,25,0,30,0,23,0 3,0,29,0,26,0,21,0,4,0,32,0 25,0,28,0,13,0,14,0,10,0,7,0 21,0,11,0,2,0,9,0,30,0,33,0 24,0,12,0,27,0,22,0,18,0,23,0 16,0,3,0,8,0,6,0,29,0,15,0 5,0,20,0,17,0,1,0,19,0,31,0 24,0,15,0,10,0,21,0,7,0,29,0 13,0,19,0,33,0,28,0,31,0,3,0 12,0,2,0,30,0,26,0,17,0,4,0 5,0,14,0,18,0,9,0,11,0,32,0 27,0,1,0,23,0,25,0,6,0,8,0 22,0,20,0,30,0,16,0,28,0,5,0 ================================================ FILE: schedules/34_1.csv ================================================ 5,0,17,0,11,0,20,0,7,0,31,0 9,0,10,0,19,0,4,0,29,0,2,0 32,0,22,0,8,0,14,0,12,0,28,0 15,0,30,0,34,0,18,0,33,0,26,0 13,0,16,0,21,0,23,0,1,0,24,0 3,0,6,0,7,1,25,0,27,0,19,1 ================================================ FILE: schedules/34_10.csv ================================================ 17,0,20,0,11,0,21,0,14,0,7,0 19,0,5,0,23,0,8,0,29,0,1,0 30,0,28,0,4,0,3,0,32,0,27,0 34,0,6,0,25,0,22,0,16,0,2,0 31,0,13,0,33,0,26,0,15,0,9,0 24,0,12,0,19,0,10,0,18,0,22,0 26,0,6,0,32,0,9,0,34,0,3,0 30,0,8,0,21,0,33,0,14,0,1,0 25,0,12,0,28,0,23,0,24,0,17,0 13,0,2,0,10,0,11,0,29,0,31,0 16,0,18,0,27,0,7,0,5,0,20,0 15,0,19,0,21,0,4,0,6,0,14,0 29,1,27,0,34,0,31,1,25,0,23,0 30,0,13,0,1,0,10,0,26,0,7,0 18,0,17,0,32,0,5,0,2,0,15,0 3,0,33,0,4,0,11,0,12,0,8,0 9,0,16,0,20,0,24,0,28,0,22,0 18,0,34,0,5,0,3,0,12,0,13,0 7,0,1,0,4,0,33,0,32,0,9,0 25,0,15,0,22,0,30,0,20,0,29,0 31,0,24,0,14,0,6,0,11,0,23,0 27,0,2,0,28,0,17,0,19,0,8,0 21,0,10,0,11,0,16,0,26,0,23,0 19,0,1,0,28,0,15,0,24,0,13,0 12,0,18,0,14,0,10,0,4,0,27,0 22,0,3,0,30,0,31,0,5,0,21,0 9,0,17,0,7,0,2,0,6,0,29,0 26,0,34,0,8,0,25,0,20,0,32,0 16,0,3,0,29,0,33,0,24,0,27,0 34,0,2,0,1,0,21,0,28,0,18,0 8,0,20,0,6,0,11,0,16,0,13,0 23,0,32,0,7,0,33,0,19,0,22,0 17,0,15,0,4,0,26,0,30,0,31,0 12,0,5,0,10,0,25,0,14,0,9,0 20,0,23,0,33,0,2,0,24,0,30,0 15,0,18,0,11,0,9,0,8,0,27,0 25,0,21,0,17,0,4,0,13,0,19,0 14,0,22,0,29,0,3,0,28,0,10,0 31,0,16,0,6,0,12,0,32,0,1,0 7,0,34,0,24,0,26,0,5,0,4,0 33,0,18,0,8,0,17,0,6,0,10,0 9,0,19,0,30,0,20,0,34,0,31,0 15,0,23,0,3,0,2,0,25,0,7,0 5,0,29,0,32,0,14,0,28,0,11,0 22,0,12,0,27,0,26,0,21,0,1,0 16,0,32,0,14,0,13,0,29,0,17,0 19,0,26,0,25,0,9,0,2,0,11,0 7,0,27,0,15,0,16,0,12,0,34,0 13,0,5,0,28,0,30,0,6,0,33,0 22,0,31,0,8,0,21,0,4,0,24,0 23,0,1,0,10,0,18,0,3,0,20,0 5,0,8,0,14,0,28,0,7,0,31,0 9,0,6,0,13,0,23,0,27,0,21,0 11,0,1,0,3,0,34,0,17,0,22,0 20,0,26,0,2,0,12,0,4,0,29,0 24,0,16,0,10,0,32,0,30,0,15,0 33,0,25,0,29,0,18,0,19,0,31,0 ================================================ FILE: schedules/34_11.csv ================================================ 20,0,11,0,25,0,29,0,6,0,22,0 34,0,1,0,24,0,27,0,18,0,32,0 19,0,33,0,12,0,21,0,30,0,13,0 17,0,14,0,3,0,28,0,23,0,2,0 31,0,10,0,8,0,26,0,16,0,15,0 7,0,9,0,34,0,5,0,4,0,11,0 28,0,20,0,14,0,1,0,15,0,19,0 22,0,18,0,5,0,10,0,30,0,17,0 31,0,25,0,9,0,27,0,33,0,21,0 8,0,12,0,2,0,6,0,32,0,4,0 24,0,29,0,26,0,3,0,13,0,23,0 16,0,20,0,30,0,7,0,32,0,5,0 28,1,33,0,31,0,12,1,26,0,11,0 22,1,2,0,3,0,9,1,19,0,18,0 17,0,13,0,16,0,25,0,34,0,27,0 6,0,1,0,8,0,24,0,7,0,4,0 21,0,14,0,29,0,23,0,10,0,15,0 28,0,9,0,32,0,20,0,6,0,13,0 24,0,11,0,33,0,15,0,12,0,3,0 1,0,14,0,23,0,34,0,31,0,30,0 17,0,18,0,7,0,21,0,8,0,19,0 4,0,27,0,2,0,10,0,26,0,25,0 22,0,16,0,7,0,5,0,29,0,3,0 25,0,18,0,1,0,8,0,11,0,15,0 4,0,23,0,19,0,21,0,20,0,9,0 26,0,31,0,32,0,34,0,6,0,17,0 5,0,12,0,30,0,2,0,14,0,16,0 10,0,33,0,29,0,27,0,24,0,13,0 22,0,21,0,11,0,28,0,16,0,1,0 27,0,9,0,26,0,14,0,7,0,12,0 29,0,18,0,28,0,33,0,2,0,32,0 5,0,24,0,17,0,4,0,20,0,10,0 30,0,8,0,25,0,3,0,19,0,34,0 13,0,15,0,22,0,31,0,23,0,6,0 10,0,24,0,28,0,1,0,9,0,5,0 16,0,34,0,21,0,26,0,33,0,6,0 3,0,4,0,18,0,31,0,15,0,17,0 11,0,27,0,23,0,32,0,8,0,20,0 14,0,30,0,19,0,29,0,25,0,7,0 13,0,2,0,10,0,22,0,12,0,34,0 5,0,20,0,19,0,29,0,17,0,11,0 16,0,25,0,6,0,18,0,24,0,23,0 13,0,32,0,12,0,1,0,3,0,21,0 28,0,15,0,27,0,7,0,30,0,26,0 8,0,33,0,4,0,14,0,9,0,22,0 31,0,12,0,21,0,2,0,20,0,29,0 26,0,28,0,34,0,24,0,8,0,22,0 31,0,16,0,18,0,13,0,14,0,5,0 27,0,3,0,10,0,19,0,11,0,32,0 7,0,1,0,2,0,25,0,33,0,23,0 6,0,15,0,30,0,9,0,17,0,4,0 20,0,7,0,3,0,18,0,10,0,34,0 9,0,6,0,11,0,31,0,24,0,14,0 8,0,23,0,5,0,25,0,12,0,28,0 2,0,19,0,17,0,33,0,13,0,1,0 21,0,15,0,32,0,22,0,30,0,27,0 26,0,4,0,1,0,29,0,16,0,19,0 27,0,6,0,5,0,33,0,30,0,3,0 29,0,34,0,15,0,9,0,16,0,8,0 23,0,26,0,22,0,20,0,18,0,12,0 13,0,4,0,31,0,11,0,7,0,28,0 10,0,14,0,32,0,21,0,25,0,2,0 24,0,12,0,9,0,17,0,28,0,22,0 ================================================ FILE: schedules/34_12.csv ================================================ 21,0,22,0,1,0,4,0,11,0,32,0 14,0,19,0,34,0,13,0,20,0,26,0 2,0,31,0,17,0,8,0,30,0,25,0 10,0,24,0,5,0,18,0,27,0,28,0 7,0,16,0,23,0,6,0,29,0,9,0 12,0,33,0,32,0,3,0,15,0,8,0 19,0,21,0,26,0,10,0,6,0,28,0 23,0,30,0,33,0,3,0,31,0,9,0 20,0,1,0,18,0,29,0,16,0,2,0 24,0,27,0,15,0,25,0,34,0,13,0 17,0,5,0,12,0,22,0,7,0,4,0 14,0,24,0,23,0,11,0,10,0,15,0 18,0,13,0,22,0,7,0,26,0,33,0 29,0,27,0,17,0,3,0,11,0,34,0 4,0,31,0,28,0,2,0,21,0,14,0 5,0,6,0,8,0,9,0,1,0,19,0 16,0,32,0,25,0,20,0,30,0,12,0 15,0,9,0,26,0,34,0,24,0,17,0 10,0,29,0,32,0,4,0,12,0,2,0 6,0,7,0,18,0,14,0,25,0,1,0 13,0,3,0,19,0,31,0,30,0,5,0 23,0,20,0,11,0,28,0,22,0,33,0 8,0,16,0,26,0,21,0,27,0,3,0 14,0,32,0,31,0,20,0,7,0,24,0 22,0,15,0,12,0,27,0,6,0,19,0 13,0,9,0,17,0,11,0,1,0,16,0 34,0,4,0,33,0,8,0,10,0,18,0 2,0,25,0,23,0,21,0,28,0,5,0 30,0,24,0,19,0,29,0,22,0,14,0 26,0,3,0,5,0,1,0,33,0,6,0 28,0,2,0,9,0,16,0,17,0,4,0 12,0,23,0,13,0,18,0,31,0,34,0 10,0,20,0,27,0,32,0,21,0,8,0 29,0,30,0,11,0,15,0,25,0,7,0 5,0,2,0,22,0,12,0,24,0,8,0 4,0,27,0,9,0,29,0,15,0,23,0 19,0,28,0,25,0,1,0,13,0,32,0 16,0,30,0,18,0,14,0,33,0,11,0 31,0,21,0,7,0,26,0,10,0,17,0 6,0,3,0,14,0,20,0,34,0,2,0 26,0,12,0,1,0,13,0,30,0,4,0 24,0,11,0,6,0,8,0,31,0,33,0 3,0,17,0,22,0,9,0,25,0,10,0 29,0,34,0,5,0,7,0,32,0,28,0 16,0,21,0,15,0,23,0,18,0,19,0 27,0,30,0,34,0,20,0,5,0,9,0 16,0,13,0,6,0,22,0,32,0,24,0 10,0,23,0,3,0,19,0,12,0,7,0 27,0,11,0,31,0,26,0,2,0,18,0 28,0,1,0,8,0,29,0,21,0,20,0 17,0,33,0,25,0,14,0,4,0,15,0 28,0,26,0,29,0,22,0,23,0,31,0 27,0,8,0,7,0,20,0,19,0,17,0 9,0,18,0,11,0,30,0,6,0,32,0 4,0,25,0,21,0,12,0,16,0,34,0 15,0,33,0,2,0,13,0,14,0,5,0 10,0,1,0,4,0,3,0,24,0,29,0 6,0,15,0,20,0,28,0,11,0,17,0 8,0,9,0,14,0,12,0,3,0,18,0 34,0,22,0,26,0,5,0,16,0,19,0 33,0,21,0,13,0,2,0,10,0,30,0 31,0,1,0,24,0,23,0,27,0,32,0 7,0,34,0,10,0,25,0,6,0,22,0 5,0,18,0,32,0,21,0,23,0,17,0 29,0,25,0,12,0,14,0,27,0,26,0 19,0,11,0,2,0,24,0,9,0,33,0 28,0,3,0,16,0,1,0,7,0,30,0 4,0,8,0,20,0,31,0,13,0,15,0 ================================================ FILE: schedules/34_13.csv ================================================ 14,0,19,0,31,0,23,0,12,0,22,0 13,0,6,0,7,0,28,0,2,0,32,0 11,0,9,0,30,0,25,0,1,0,29,0 20,0,34,0,4,0,18,0,33,0,16,0 3,0,21,0,5,0,15,0,8,0,27,0 17,0,24,0,28,0,26,0,10,0,30,0 15,0,4,0,12,0,33,0,14,0,25,0 31,0,7,0,29,0,8,0,20,0,2,0 18,0,32,0,34,0,21,0,17,0,9,0 11,0,26,0,16,0,5,0,19,0,23,0 27,0,24,0,3,0,13,0,22,0,10,0 6,0,19,0,20,0,1,0,9,0,31,0 34,1,15,0,21,0,4,1,32,0,29,0 3,0,25,0,10,0,33,0,26,0,13,0 7,0,22,0,30,0,12,0,14,0,1,0 27,0,11,0,23,0,18,0,24,0,6,0 28,0,17,0,16,0,5,0,8,0,2,0 22,0,15,0,9,0,29,0,30,0,13,0 34,0,33,0,7,0,26,0,31,0,24,0 3,0,27,0,1,0,21,0,16,0,20,0 17,0,14,0,2,0,5,0,11,0,4,0 8,0,25,0,19,0,10,0,6,0,32,0 28,0,12,0,21,0,18,0,23,0,30,0 33,0,22,0,8,0,27,0,19,0,5,0 23,0,6,0,20,0,12,0,7,0,9,0 14,0,26,0,32,0,25,0,16,0,15,0 11,0,28,0,31,0,34,0,3,0,29,0 1,0,24,0,13,0,18,0,4,0,17,0 10,0,5,0,16,0,2,0,9,0,7,0 26,0,29,0,15,0,34,0,12,0,24,0 30,0,14,0,3,0,6,0,4,0,27,0 32,0,21,0,22,0,2,0,18,0,20,0 23,0,1,0,33,0,28,0,8,0,13,0 31,0,25,0,17,0,11,0,10,0,19,0 18,0,1,0,26,0,30,0,5,0,15,0 21,0,29,0,33,0,2,0,25,0,6,0 27,0,34,0,28,0,16,0,14,0,23,0 13,0,20,0,32,0,31,0,10,0,12,0 7,0,11,0,8,0,17,0,22,0,3,0 9,0,24,0,5,0,4,0,19,0,13,0 20,0,22,0,14,0,15,0,17,0,34,0 29,0,9,0,27,0,19,0,7,0,26,0 4,0,16,0,23,0,8,0,3,0,32,0 24,0,11,0,33,0,30,0,1,0,21,0 31,0,12,0,2,0,25,0,18,0,28,0 10,0,21,0,24,0,6,0,14,0,22,0 2,0,26,0,4,0,31,0,23,0,32,0 16,0,19,0,30,0,15,0,11,0,13,0 10,0,1,0,34,0,18,0,7,0,5,0 27,0,25,0,12,0,6,0,17,0,8,0 3,0,29,0,20,0,33,0,28,0,9,0 10,0,15,0,23,0,30,0,32,0,27,0 25,0,7,0,34,0,28,0,1,0,19,0 5,0,18,0,31,0,24,0,14,0,20,0 17,0,13,0,3,0,29,0,11,0,12,0 21,0,8,0,4,0,22,0,2,0,16,0 6,0,33,0,18,0,9,0,26,0,23,0 14,0,5,0,34,0,11,0,21,0,25,0 13,0,27,0,2,0,7,0,10,0,15,0 28,0,22,0,26,0,30,0,4,0,31,0 33,0,19,0,12,0,1,0,6,0,16,0 32,0,20,0,17,0,29,0,24,0,8,0 9,0,2,0,14,0,3,0,33,0,31,0 16,0,7,0,1,0,32,0,19,0,24,0 30,0,12,0,8,0,34,0,13,0,9,0 6,0,26,0,21,0,27,0,20,0,10,0 25,0,17,0,5,0,15,0,3,0,23,0 18,0,22,0,11,0,28,0,4,0,29,0 1,0,5,0,13,0,31,0,34,0,6,0 10,0,8,0,18,0,14,0,7,0,28,0 19,0,2,0,15,0,3,0,12,0,26,0 24,0,30,0,25,0,20,0,4,0,22,0 23,0,29,0,17,0,16,0,27,0,21,0 32,0,9,0,4,0,11,0,33,0,34,0 ================================================ FILE: schedules/34_14.csv ================================================ 13,0,11,0,17,0,25,0,2,0,10,0 30,0,21,0,27,0,33,0,26,0,20,0 15,0,22,0,29,0,7,0,8,0,34,0 24,0,18,0,4,0,32,0,3,0,6,0 23,0,16,0,28,0,12,0,5,0,19,0 1,0,9,0,25,0,14,0,31,0,21,0 26,0,3,0,19,0,2,0,27,0,23,0 28,0,20,0,6,0,4,0,1,0,30,0 5,0,32,0,13,0,24,0,8,0,9,0 14,0,7,0,15,0,16,0,31,0,11,0 10,0,22,0,12,0,17,0,29,0,34,0 33,0,24,0,1,0,18,0,21,0,7,0 12,1,20,0,30,0,10,1,26,0,11,0 31,1,4,0,3,0,6,1,13,0,23,0 34,0,33,0,27,0,28,0,5,0,22,0 32,0,2,0,15,0,16,0,17,0,14,0 25,0,8,0,19,0,9,0,18,0,29,0 5,0,27,0,11,0,6,0,17,0,1,0 29,0,30,0,3,0,10,0,9,0,13,0 15,0,25,0,23,0,28,0,31,0,18,0 21,0,24,0,2,0,33,0,12,0,20,0 16,0,22,0,34,0,8,0,26,0,4,0 14,0,32,0,30,0,19,0,7,0,10,0 11,0,1,0,29,0,15,0,23,0,4,0 7,0,16,0,2,0,12,0,9,0,28,0 14,0,25,0,34,0,3,0,17,0,33,0 22,0,26,0,31,0,19,0,6,0,32,0 21,0,13,0,8,0,24,0,27,0,18,0 20,0,7,0,3,0,5,0,34,0,15,0 6,0,18,0,14,0,26,0,13,0,12,0 19,0,10,0,4,0,20,0,8,0,23,0 24,0,11,0,25,0,9,0,30,0,22,0 1,0,27,0,32,0,17,0,5,0,31,0 33,0,16,0,21,0,28,0,29,0,2,0 5,0,20,0,14,0,12,0,4,0,34,0 8,0,31,0,33,0,23,0,11,0,7,0 32,0,10,0,28,0,1,0,18,0,26,0 17,0,3,0,13,0,15,0,19,0,16,0 21,0,29,0,25,0,6,0,30,0,27,0 9,0,2,0,3,0,24,0,22,0,19,0 28,0,21,0,4,0,32,0,16,0,8,0 23,0,22,0,1,0,6,0,11,0,33,0 13,0,29,0,31,0,20,0,34,0,10,0 9,0,27,0,15,0,30,0,18,0,12,0 2,0,17,0,26,0,7,0,25,0,5,0 24,0,34,0,6,0,14,0,4,0,19,0 33,0,5,0,18,0,22,0,13,0,25,0 21,0,23,0,20,0,29,0,24,0,32,0 7,0,30,0,17,0,15,0,10,0,31,0 16,0,26,0,9,0,11,0,3,0,12,0 28,0,8,0,27,0,2,0,14,0,1,0 15,0,33,0,9,0,17,0,20,0,4,0 13,0,19,0,30,0,32,0,21,0,11,0 26,0,28,0,29,0,5,0,31,0,24,0 23,0,10,0,34,0,27,0,16,0,25,0 12,0,8,0,2,0,6,0,7,0,22,0 18,0,14,0,11,0,3,0,1,0,28,0 7,0,32,0,26,0,27,0,19,0,29,0 8,0,22,0,17,0,13,0,1,0,20,0 5,0,6,0,16,0,14,0,9,0,25,0 31,0,34,0,2,0,23,0,24,0,3,0 10,0,4,0,33,0,15,0,21,0,12,0 30,0,11,0,24,0,18,0,34,0,25,0 28,0,14,0,33,0,10,0,29,0,8,0 31,0,27,0,26,0,4,0,18,0,16,0 7,0,6,0,13,0,20,0,9,0,32,0 15,0,19,0,1,0,5,0,2,0,30,0 17,0,23,0,12,0,21,0,3,0,22,0 4,0,9,0,7,0,28,0,34,0,13,0 5,0,8,0,6,0,30,0,15,0,23,0 18,0,3,0,17,0,11,0,21,0,19,0 16,0,1,0,12,0,32,0,25,0,26,0 20,0,31,0,29,0,2,0,33,0,22,0 24,0,10,0,16,0,27,0,14,0,13,0 8,0,34,0,30,0,31,0,32,0,1,0 12,0,18,0,14,0,24,0,20,0,15,0 3,0,9,0,5,0,6,0,21,0,26,0 22,0,10,0,27,0,11,0,4,0,2,0 19,0,17,0,28,0,33,0,29,0,23,0 7,0,12,0,31,0,25,0,10,0,6,0 ================================================ FILE: schedules/34_2.csv ================================================ 12,0,30,0,5,0,32,0,23,0,8,0 21,0,24,0,6,0,4,0,10,0,29,0 17,0,28,0,1,0,13,0,9,0,3,0 20,0,26,0,27,0,31,0,14,0,15,0 22,0,7,0,18,0,2,0,25,0,11,0 34,0,33,0,15,0,19,0,16,0,28,0 8,0,11,0,1,0,26,0,29,0,21,0 5,0,31,0,13,0,4,0,22,0,19,0 25,0,9,0,16,0,20,0,24,0,12,0 34,0,23,0,27,0,6,0,17,0,2,0 3,0,10,0,14,0,18,0,32,0,33,0 7,0,20,1,9,1,30,0,31,1,21,1 ================================================ FILE: schedules/34_3.csv ================================================ 16,0,19,0,11,0,26,0,25,0,2,0 7,0,32,0,9,0,18,0,21,0,28,0 17,0,30,0,1,0,8,0,27,0,34,0 6,0,5,0,13,0,33,0,15,0,10,0 14,0,23,0,22,0,29,0,24,0,4,0 20,0,3,0,26,0,31,0,12,0,32,0 13,0,33,0,7,0,11,0,17,0,23,0 2,0,4,0,8,0,5,0,3,0,9,0 24,0,6,0,12,0,19,0,1,0,18,0 28,0,16,0,27,0,20,0,10,0,14,0 15,0,25,0,21,0,29,0,31,0,34,0 30,0,20,0,33,0,22,0,19,0,9,0 2,0,15,0,32,0,27,0,23,0,24,0 11,0,31,0,4,0,6,0,28,0,34,0 8,0,21,0,1,0,26,0,14,0,13,0 12,0,29,0,5,0,16,0,7,0,30,0 18,0,10,0,22,0,25,0,17,0,3,0 ================================================ FILE: schedules/34_4.csv ================================================ 13,0,22,0,3,0,15,0,7,0,6,0 32,0,25,0,26,0,19,0,24,0,27,0 28,0,17,0,11,0,2,0,12,0,5,0 31,0,33,0,30,0,29,0,20,0,21,0 1,0,4,0,14,0,34,0,9,0,10,0 18,0,16,0,15,0,23,0,8,0,28,0 30,0,12,0,25,0,26,0,3,0,14,0 2,0,23,0,33,0,27,0,1,0,6,0 18,0,11,0,32,0,20,0,4,0,13,0 9,0,7,0,24,0,5,0,21,0,16,0 17,0,10,0,19,0,8,0,34,0,31,0 29,0,2,0,16,0,22,0,25,0,4,0 17,1,24,0,31,0,33,1,3,0,18,0 7,0,1,0,20,0,14,0,19,0,28,0 34,0,21,0,6,0,26,0,15,0,11,0 9,0,12,0,8,0,27,0,13,0,29,0 23,0,5,0,22,0,10,0,32,0,30,0 3,0,27,0,17,0,21,0,4,0,28,0 22,0,12,0,20,0,23,0,24,0,34,0 5,0,13,0,1,0,16,0,26,0,31,0 8,0,11,0,10,0,7,0,25,0,33,0 18,0,19,0,30,0,6,0,2,0,9,0 29,0,14,0,33,0,32,0,15,0,17,0 ================================================ FILE: schedules/34_5.csv ================================================ 34,0,27,0,20,0,7,0,4,0,8,0 10,0,16,0,6,0,19,0,23,0,11,0 14,0,18,0,33,0,22,0,2,0,1,0 24,0,12,0,30,0,21,0,31,0,5,0 25,0,15,0,13,0,9,0,29,0,28,0 17,0,3,0,23,0,26,0,32,0,31,0 30,0,11,0,9,0,28,0,33,0,8,0 4,0,22,0,27,0,3,0,10,0,29,0 34,0,25,0,19,0,1,0,24,0,17,0 12,0,5,0,32,0,15,0,18,0,16,0 7,0,20,0,13,0,6,0,14,0,26,0 21,0,8,0,3,0,2,0,19,0,15,0 9,1,1,0,10,0,17,1,20,0,5,0 16,1,28,0,26,0,14,1,4,0,24,0 31,0,33,0,29,0,34,0,18,0,6,0 23,0,30,0,13,0,27,0,12,0,2,0 22,0,32,0,21,0,11,0,25,0,7,0 8,0,10,0,31,0,13,0,16,0,14,0 18,0,28,0,23,0,17,0,34,0,21,0 1,0,7,0,6,0,9,0,3,0,12,0 27,0,19,0,5,0,33,0,25,0,26,0 2,0,24,0,20,0,11,0,32,0,29,0 15,0,22,0,17,0,4,0,30,0,6,0 2,0,16,0,31,0,20,0,25,0,28,0 7,0,15,0,24,0,33,0,23,0,10,0 18,0,4,0,32,0,9,0,19,0,13,0 34,0,11,0,14,0,3,0,5,0,30,0 26,0,12,0,1,0,22,0,29,0,8,0 21,0,9,0,16,0,27,0,17,0,14,0 ================================================ FILE: schedules/34_6.csv ================================================ 25,0,20,0,15,0,13,0,31,0,11,0 30,0,8,0,33,0,4,0,19,0,28,0 7,0,14,0,22,0,12,0,21,0,10,0 2,0,24,0,5,0,1,0,16,0,34,0 9,0,23,0,26,0,3,0,29,0,32,0 18,0,6,0,15,0,27,0,17,0,33,0 31,0,28,0,21,0,32,0,26,0,2,0 24,0,27,0,19,0,9,0,20,0,11,0 1,0,29,0,7,0,4,0,34,0,18,0 3,0,17,0,10,0,25,0,16,0,8,0 14,0,23,0,5,0,30,0,13,0,22,0 6,0,32,0,25,0,12,0,1,0,33,0 30,0,34,0,24,0,22,0,31,0,10,0 27,0,2,0,3,0,14,0,29,0,17,0 16,0,18,0,23,0,8,0,20,0,21,0 28,0,11,0,7,0,9,0,13,0,6,0 26,0,4,0,12,0,5,0,15,0,19,0 21,0,13,0,16,0,27,0,1,0,30,0 17,0,2,0,25,0,9,0,22,0,4,0 6,0,10,0,33,0,5,0,26,0,20,0 8,0,32,0,14,0,29,0,15,0,24,0 12,0,34,0,31,0,11,0,3,0,18,0 19,0,7,0,17,0,28,0,23,0,24,0 20,0,12,0,13,0,8,0,9,0,34,0 21,0,22,0,19,0,16,0,29,0,6,0 1,0,4,0,31,0,10,0,23,0,27,0 11,0,26,0,15,0,30,0,2,0,7,0 5,0,28,0,32,0,25,0,14,0,18,0 3,0,16,0,22,0,33,0,7,0,15,0 2,0,10,0,13,0,32,0,19,0,18,0 34,0,27,0,6,0,23,0,25,0,30,0 20,0,4,0,24,0,28,0,12,0,3,0 9,0,29,0,21,0,5,0,31,0,33,0 1,0,14,0,11,0,8,0,26,0,17,0 ================================================ FILE: schedules/34_7.csv ================================================ 3,0,29,0,6,0,33,0,24,0,30,0 21,0,13,0,34,0,2,0,31,0,23,0 9,0,17,0,10,0,20,0,25,0,5,0 32,0,18,0,26,0,16,0,15,0,4,0 28,0,8,0,14,0,19,0,11,0,7,0 27,0,1,0,25,0,22,0,12,0,16,0 23,0,32,0,34,0,9,0,8,0,29,0 26,0,28,0,22,0,12,0,30,0,13,0 4,0,18,0,2,0,10,0,27,0,33,0 6,0,1,0,15,0,11,0,17,0,20,0 5,0,3,0,7,0,14,0,19,0,31,0 21,0,12,0,25,0,24,0,18,0,34,0 15,1,20,0,8,0,30,1,22,0,31,0 33,0,11,0,6,0,16,0,10,0,5,0 17,0,7,0,13,0,3,0,32,0,4,0 24,0,14,0,9,0,1,0,2,0,26,0 19,0,27,0,28,0,21,0,23,0,29,0 24,0,13,0,16,0,15,0,17,0,14,0 29,0,22,0,7,0,10,0,6,0,21,0 19,0,23,0,9,0,18,0,12,0,11,0 27,0,20,0,26,0,25,0,3,0,34,0 33,0,28,0,5,0,8,0,1,0,4,0 2,0,30,0,11,0,31,0,32,0,12,0 22,0,21,0,5,0,15,0,26,0,3,0 25,0,19,0,8,0,6,0,13,0,2,0 7,0,18,0,14,0,34,0,17,0,30,0 4,0,31,0,29,0,1,0,9,0,16,0 32,0,27,0,24,0,28,0,10,0,20,0 23,0,12,0,15,0,33,0,25,0,7,0 32,0,13,0,14,0,6,0,20,0,18,0 21,0,3,0,24,0,8,0,16,0,23,0 22,0,33,0,17,0,31,0,9,0,28,0 27,0,29,0,2,0,11,0,5,0,26,0 30,0,4,0,10,0,19,0,34,0,1,0 5,0,15,0,31,0,29,0,18,0,28,0 33,0,34,0,26,0,19,0,17,0,32,0 10,0,12,0,1,0,8,0,3,0,13,0 20,0,2,0,16,0,23,0,30,0,7,0 4,0,14,0,11,0,25,0,24,0,22,0 6,0,9,0,30,0,21,0,27,0,15,0 ================================================ FILE: schedules/34_8.csv ================================================ 25,0,11,0,2,0,34,0,31,0,9,0 27,0,16,0,28,0,30,0,20,0,21,0 7,0,6,0,23,0,32,0,29,0,1,0 19,0,8,0,13,0,14,0,33,0,18,0 22,0,17,0,10,0,4,0,12,0,26,0 15,0,24,0,9,0,3,0,5,0,29,0 14,0,13,0,23,0,25,0,16,0,10,0 31,0,27,0,18,0,3,0,24,0,22,0 17,0,12,0,28,0,7,0,33,0,2,0 32,0,6,0,30,0,34,0,15,0,5,0 1,0,8,0,21,0,19,0,11,0,4,0 20,0,33,0,13,0,26,0,24,0,6,0 34,1,7,0,25,0,28,1,21,0,22,0 16,1,8,0,29,0,32,1,26,0,17,0 1,0,18,0,2,0,31,0,20,0,5,0 14,0,15,0,19,0,12,0,11,0,27,0 30,0,3,0,9,0,4,0,10,0,23,0 5,0,16,0,24,0,12,0,7,0,19,0 3,0,13,0,21,0,32,0,22,0,2,0 9,0,26,0,28,0,14,0,1,0,6,0 34,0,10,0,11,0,27,0,33,0,23,0 4,0,18,0,17,0,31,0,15,0,25,0 29,0,20,0,22,0,30,0,8,0,11,0 10,0,33,0,15,0,16,0,31,0,7,0 17,0,3,0,1,0,34,0,30,0,14,0 12,0,29,0,21,0,13,0,5,0,28,0 4,0,25,0,6,0,24,0,19,0,32,0 26,0,8,0,18,0,27,0,9,0,2,0 23,0,31,0,32,0,20,0,17,0,19,0 7,0,27,0,30,0,6,0,18,0,13,0 4,0,2,0,5,0,11,0,16,0,14,0 23,0,34,0,8,0,15,0,26,0,21,0 9,0,10,0,29,0,1,0,22,0,33,0 24,0,12,0,20,0,3,0,28,0,25,0 26,0,31,0,14,0,21,0,5,0,7,0 1,0,30,0,10,0,24,0,25,0,8,0 28,0,19,0,33,0,3,0,20,0,15,0 22,0,6,0,27,0,17,0,23,0,2,0 11,0,18,0,9,0,12,0,16,0,32,0 4,0,34,0,20,0,29,0,13,0,7,0 31,0,3,0,11,0,6,0,28,0,8,0 34,0,21,0,32,0,18,0,24,0,10,0 15,0,16,0,17,0,13,0,9,0,1,0 30,0,2,0,12,0,19,0,26,0,23,0 5,0,25,0,27,0,29,0,33,0,4,0 22,0,34,0,16,0,14,0,28,0,32,0 ================================================ FILE: schedules/34_9.csv ================================================ 2,0,34,0,33,0,10,0,23,0,22,0 26,0,29,0,25,0,6,0,14,0,18,0 5,0,32,0,30,0,9,0,16,0,1,0 20,0,31,0,27,0,21,0,3,0,19,0 17,0,7,0,24,0,12,0,28,0,8,0 13,0,11,0,19,0,4,0,15,0,34,0 9,0,24,0,3,0,10,0,30,0,2,0 26,0,8,0,13,0,31,0,5,0,23,0 12,0,16,0,4,0,33,0,6,0,28,0 14,0,1,0,27,0,20,0,15,0,17,0 29,0,18,0,32,0,11,0,22,0,7,0 21,0,34,0,5,0,25,0,3,0,28,0 11,0,14,0,8,0,16,0,19,0,6,0 23,0,7,0,20,0,27,0,10,0,15,0 17,0,25,0,13,0,29,0,2,0,22,0 21,0,1,0,12,0,4,0,9,0,18,0 24,0,30,0,31,0,32,0,33,0,26,0 29,0,10,0,21,0,23,0,8,0,16,0 30,0,15,0,3,0,17,0,11,0,32,0 19,0,34,0,24,0,6,0,13,0,7,0 28,0,26,0,22,0,4,0,20,0,1,0 12,0,33,0,27,0,5,0,25,0,18,0 14,0,31,0,16,0,2,0,9,0,7,0 6,0,5,0,24,0,30,0,27,0,22,0 11,0,1,0,23,0,9,0,19,0,25,0 32,0,4,0,28,0,2,0,18,0,31,0 26,0,10,0,14,0,3,0,12,0,13,0 15,0,33,0,8,0,29,0,20,0,34,0 21,0,18,0,23,0,17,0,14,0,30,0 5,0,20,0,2,0,34,0,12,0,11,0 16,0,17,0,3,0,13,0,24,0,4,0 1,0,7,0,8,0,22,0,33,0,21,0 26,0,19,0,27,0,28,0,9,0,29,0 6,0,10,0,25,0,31,0,15,0,32,0 33,0,13,0,14,0,28,0,11,0,27,0 7,0,30,0,25,0,8,0,4,0,3,0 6,0,22,0,34,0,9,0,17,0,31,0 15,0,29,0,19,0,2,0,12,0,26,0 18,0,10,0,20,0,32,0,21,0,16,0 24,0,23,0,29,0,5,0,1,0,3,0 11,0,2,0,6,0,7,0,26,0,21,0 34,0,1,0,31,0,14,0,24,0,12,0 8,0,30,0,9,0,13,0,32,0,20,0 4,0,17,0,19,0,5,0,10,0,33,0 28,0,16,0,18,0,25,0,15,0,22,0 23,0,4,0,2,0,27,0,8,0,5,0 3,0,6,0,20,0,1,0,13,0,18,0 22,0,12,0,32,0,19,0,23,0,14,0 16,0,27,0,7,0,17,0,26,0,34,0 9,0,15,0,21,0,25,0,24,0,33,0 28,0,31,0,10,0,11,0,29,0,30,0 ================================================ FILE: schedules/35_1.csv ================================================ 13,0,31,0,19,0,2,0,26,0,20,0 22,0,4,0,9,0,24,0,15,0,34,0 5,0,18,0,27,0,6,0,28,0,35,0 21,0,14,0,3,0,32,0,29,0,10,0 33,0,30,0,25,0,17,0,23,0,12,0 8,0,7,0,11,0,16,0,1,0,32,1 ================================================ FILE: schedules/35_10.csv ================================================ 2,0,32,0,5,0,3,0,28,0,16,0 23,0,24,0,7,0,18,0,14,0,1,0 31,0,20,0,10,0,9,0,33,0,21,0 22,0,15,0,25,0,35,0,13,0,6,0 12,0,19,0,34,0,27,0,11,0,17,0 26,0,4,0,8,0,30,0,29,0,9,0 10,0,14,0,33,0,27,0,18,0,25,0 6,0,21,0,32,0,13,0,23,0,5,0 16,0,12,0,17,0,24,0,28,0,8,0 1,0,19,0,29,0,30,0,31,0,15,0 7,0,4,0,2,0,20,0,3,0,22,0 34,0,11,0,29,0,26,0,35,0,24,0 4,1,5,0,14,0,15,1,19,0,9,0 10,1,28,0,2,0,17,1,13,0,1,0 12,0,21,0,27,0,26,0,32,0,3,0 33,0,22,0,31,0,11,0,23,0,35,0 16,0,8,0,18,0,25,0,20,0,34,0 7,0,6,0,27,0,30,0,12,0,2,0 8,0,32,0,35,0,33,0,5,0,19,0 20,0,28,0,11,0,10,0,18,0,15,0 24,0,30,0,14,0,23,0,16,0,21,0 17,0,34,0,26,0,13,0,31,0,4,0 7,0,3,0,9,0,1,0,6,0,25,0 29,0,23,0,20,0,22,0,28,0,27,0 16,0,32,0,33,0,15,0,26,0,7,0 25,0,9,0,11,0,5,0,29,0,17,0 14,0,6,0,31,0,12,0,35,0,4,0 19,0,18,0,3,0,22,0,21,0,1,0 34,0,2,0,13,0,8,0,10,0,30,0 24,0,15,0,33,0,28,0,25,0,31,0 23,0,8,0,14,0,10,0,7,0,17,0 3,0,13,0,29,0,35,0,16,0,19,0 1,0,27,0,2,0,11,0,21,0,4,0 22,0,18,0,34,0,9,0,32,0,12,0 6,0,26,0,30,0,20,0,24,0,5,0 32,0,10,0,1,0,29,0,7,0,35,0 21,0,8,0,31,0,16,0,14,0,22,0 17,0,4,0,18,0,33,0,6,0,28,0 5,0,15,0,3,0,23,0,34,0,27,0 26,0,20,0,9,0,24,0,2,0,19,0 30,0,13,0,25,0,11,0,12,0,33,0 31,0,32,0,24,0,2,0,14,0,3,0 4,0,15,0,34,0,8,0,11,0,7,0 1,0,23,0,28,0,26,0,19,0,25,0 20,0,35,0,27,0,9,0,13,0,22,0 16,0,10,0,29,0,5,0,12,0,6,0 17,0,30,0,35,0,18,0,21,0,20,0 23,0,12,0,15,0,4,0,16,0,9,0 11,0,22,0,30,0,29,0,32,0,14,0 27,0,26,0,13,0,7,0,18,0,31,0 21,0,19,0,28,0,34,0,6,0,10,0 24,0,1,0,3,0,33,0,8,0,17,0 25,0,5,0,7,0,2,0,21,0,15,0 35,0,9,0,14,0,28,0,30,0,34,0 6,0,3,0,17,0,10,0,11,0,26,0 16,0,24,0,25,0,19,0,27,0,4,0 20,0,13,0,12,0,31,0,1,0,5,0 33,0,23,0,18,0,29,0,8,0,2,0 22,0,4,0,10,0,32,0,15,0,17,0 ================================================ FILE: schedules/35_11.csv ================================================ 30,0,1,0,27,0,11,0,24,0,19,0 22,0,31,0,28,0,32,0,3,0,20,0 16,0,7,0,21,0,12,0,33,0,14,0 34,0,10,0,13,0,26,0,15,0,25,0 4,0,8,0,17,0,6,0,23,0,9,0 35,0,5,0,2,0,29,0,18,0,31,0 9,0,24,0,25,0,15,0,3,0,11,0 12,0,16,0,8,0,2,0,29,0,20,0 30,0,32,0,6,0,26,0,13,0,1,0 22,0,34,0,21,0,5,0,27,0,28,0 7,0,19,0,33,0,17,0,10,0,23,0 14,0,4,0,6,0,18,0,35,0,28,0 29,1,5,0,34,0,11,1,9,0,33,0 24,1,13,0,8,0,26,1,4,0,10,0 17,0,20,0,7,0,27,1,18,0,2,0 3,0,21,0,31,0,30,0,14,0,19,0 22,0,23,0,35,0,16,0,25,0,1,0 15,0,32,0,17,0,12,0,5,0,11,0 31,0,10,0,24,0,21,0,2,0,23,0 3,0,4,0,29,0,15,0,16,0,14,0 19,0,8,0,9,0,34,0,28,0,1,0 6,0,25,0,33,0,18,0,20,0,30,0 12,0,27,0,22,0,7,0,35,0,32,0 26,0,20,0,9,0,13,0,21,0,18,0 3,0,1,0,7,0,34,0,25,0,8,0 19,0,28,0,26,0,33,0,5,0,23,0 24,0,35,0,6,0,31,0,12,0,15,0 11,0,17,0,16,0,22,0,13,0,14,0 10,0,29,0,30,0,32,0,4,0,27,0 2,0,6,0,28,0,13,0,9,0,16,0 32,0,8,0,29,0,25,0,35,0,21,0 31,0,23,0,30,0,15,0,27,0,7,0 2,0,14,0,17,0,26,0,34,0,24,0 22,0,11,0,20,0,5,0,4,0,19,0 3,0,33,0,18,0,1,0,12,0,10,0 13,0,2,0,19,0,23,0,29,0,25,0 1,0,18,0,15,0,17,0,28,0,21,0 34,0,9,0,31,0,22,0,16,0,30,0 5,0,7,0,26,0,12,0,4,0,35,0 33,0,10,0,32,0,8,0,27,0,11,0 20,0,6,0,5,0,3,0,24,0,14,0 2,0,1,0,31,0,4,0,11,0,28,0 15,0,23,0,20,0,21,0,32,0,14,0 16,0,18,0,24,0,7,0,8,0,22,0 3,0,17,0,25,0,29,0,33,0,26,0 12,0,6,0,13,0,27,0,19,0,34,0 10,0,35,0,14,0,9,0,30,0,17,0 33,0,21,0,15,0,4,0,22,0,2,0 11,0,23,0,1,0,20,0,10,0,8,0 25,0,18,0,12,0,31,0,19,0,6,0 16,0,26,0,27,0,9,0,5,0,3,0 28,0,29,0,13,0,24,0,30,0,7,0 32,0,34,0,11,0,35,0,19,0,16,0 5,0,1,0,14,0,13,0,7,0,25,0 30,0,8,0,28,0,12,0,17,0,26,0 15,0,24,0,4,0,31,0,27,0,33,0 9,0,21,0,10,0,22,0,6,0,29,0 32,0,23,0,18,0,2,0,3,0,34,0 20,0,4,0,33,0,35,0,29,0,17,0 23,0,24,0,12,0,1,0,9,0,32,0 7,0,34,0,14,0,21,0,6,0,11,0 15,0,19,0,22,0,26,0,2,0,30,0 10,0,27,0,25,0,28,0,16,0,20,0 35,0,8,0,3,0,5,0,31,0,13,0 18,0,11,0,26,0,29,0,24,0,27,0 ================================================ FILE: schedules/35_12.csv ================================================ 31,0,28,0,2,0,6,0,11,0,20,0 8,0,3,0,30,0,1,0,34,0,23,0 35,0,16,0,14,0,5,0,25,0,22,0 32,0,27,0,7,0,33,0,4,0,17,0 19,0,18,0,13,0,9,0,29,0,24,0 26,0,10,0,21,0,12,0,15,0,20,0 33,0,27,0,22,0,35,0,30,0,24,0 1,0,15,0,25,0,13,0,11,0,21,0 9,0,5,0,7,0,10,0,32,0,3,0 8,0,6,0,23,0,14,0,19,0,17,0 26,0,16,0,28,0,18,0,29,0,12,0 34,0,2,0,13,0,4,0,31,0,21,0 18,0,22,0,9,0,3,0,1,0,14,0 12,0,31,0,17,0,29,0,26,0,27,0 34,0,28,0,10,0,5,0,23,0,35,0 11,0,19,0,4,0,30,0,16,0,15,0 7,0,33,0,8,0,25,0,20,0,24,0 2,0,32,0,21,0,6,0,17,0,18,0 25,0,7,0,4,0,22,0,19,0,23,0 13,0,27,0,30,0,33,0,3,0,28,0 31,0,14,0,6,0,34,0,24,0,26,0 35,0,1,0,12,0,5,0,10,0,2,0 11,0,16,0,29,0,32,0,8,0,9,0 15,0,14,0,34,0,20,0,17,0,28,0 25,0,32,0,11,0,35,0,21,0,27,0 23,0,10,0,18,0,22,0,29,0,6,0 1,0,16,0,13,0,20,0,7,0,31,0 26,0,3,0,19,0,2,0,33,0,9,0 12,0,8,0,24,0,5,0,4,0,15,0 20,0,26,0,32,0,30,0,11,0,23,0 24,0,18,0,5,0,34,0,27,0,25,0 29,0,17,0,1,0,21,0,16,0,3,0 6,0,15,0,33,0,28,0,35,0,7,0 30,0,9,0,31,0,10,0,14,0,4,0 12,0,2,0,19,0,8,0,13,0,22,0 21,0,7,0,29,0,28,0,14,0,30,0 27,0,4,0,18,0,1,0,19,0,6,0 31,0,25,0,8,0,12,0,3,0,23,0 13,0,5,0,20,0,22,0,26,0,2,0 33,0,10,0,35,0,24,0,32,0,16,0 17,0,34,0,9,0,15,0,11,0,28,0 33,0,23,0,16,0,1,0,21,0,18,0 2,0,30,0,25,0,8,0,27,0,10,0 12,0,26,0,14,0,31,0,32,0,19,0 11,0,34,0,22,0,7,0,13,0,17,0 4,0,20,0,29,0,6,0,35,0,9,0 5,0,3,0,27,0,24,0,15,0,21,0 10,0,17,0,11,0,13,0,33,0,12,0 26,0,6,0,30,0,16,0,34,0,4,0 31,0,15,0,23,0,1,0,22,0,32,0 2,0,14,0,24,0,28,0,9,0,25,0 3,0,7,0,18,0,35,0,20,0,8,0 19,0,29,0,30,0,5,0,11,0,26,0 31,0,22,0,35,0,27,0,9,0,12,0 5,0,34,0,29,0,7,0,2,0,1,0 3,0,6,0,24,0,17,0,23,0,25,0 21,0,8,0,28,0,19,0,16,0,20,0 13,0,15,0,10,0,14,0,32,0,18,0 4,0,28,0,22,0,33,0,1,0,26,0 14,0,20,0,23,0,11,0,2,0,27,0 12,0,6,0,10,0,30,0,34,0,7,0 5,0,21,0,17,0,4,0,9,0,13,0 15,0,35,0,32,0,16,0,18,0,8,0 19,0,25,0,33,0,29,0,31,0,3,0 24,0,1,0,28,0,32,0,5,0,12,0 6,0,16,0,27,0,8,0,29,0,15,0 23,0,9,0,26,0,13,0,25,0,35,0 2,0,4,0,3,0,11,0,14,0,7,0 17,0,30,0,22,0,31,0,18,0,33,0 20,0,21,0,34,0,24,0,10,0,19,0 ================================================ FILE: schedules/35_13.csv ================================================ 31,0,10,0,22,0,18,0,9,0,1,0 15,0,3,0,30,0,25,0,2,0,16,0 17,0,26,0,7,0,21,0,11,0,23,0 28,0,35,0,6,0,12,0,24,0,29,0 33,0,8,0,34,0,13,0,32,0,27,0 14,0,4,0,1,0,20,0,19,0,5,0 29,0,6,0,7,0,8,0,3,0,22,0 32,0,35,0,21,0,14,0,34,0,10,0 24,0,9,0,5,0,28,0,15,0,16,0 2,0,25,0,19,0,20,0,18,0,23,0 26,0,12,0,13,0,17,0,33,0,4,0 30,0,27,0,20,0,11,0,31,0,28,0 29,1,9,0,3,0,23,0,32,0,25,0 33,0,24,0,31,0,10,0,17,0,30,0 7,0,12,0,19,0,15,0,14,0,26,0 11,0,4,0,21,0,2,0,6,0,1,0 16,0,5,0,34,0,35,0,27,0,22,0 18,0,32,0,4,0,8,0,13,0,17,0 22,0,7,0,33,0,21,0,9,0,28,0 8,0,18,0,15,0,27,0,19,0,1,0 23,0,26,0,12,0,31,0,35,0,3,0 13,0,25,0,5,0,11,0,2,0,10,0 34,0,6,0,20,0,30,0,16,0,24,0 29,0,15,0,5,0,14,0,7,0,31,0 32,0,28,0,30,0,11,0,23,0,13,0 33,0,20,0,10,0,6,0,16,0,4,0 14,0,8,0,19,0,21,0,17,0,34,0 26,0,9,0,2,0,1,0,24,0,35,0 25,0,29,0,27,0,12,0,18,0,22,0 3,0,21,0,16,0,13,0,19,0,30,0 12,0,10,0,32,0,27,0,17,0,5,0 2,0,31,0,20,0,11,0,9,0,8,0 23,0,22,0,24,0,14,0,4,0,26,0 33,0,29,0,28,0,25,0,6,0,3,0 18,0,34,0,7,0,1,0,35,0,15,0 22,0,13,0,16,0,23,0,27,0,14,0 31,0,29,0,19,0,7,0,4,0,30,0 12,0,28,0,17,0,10,0,1,0,21,0 6,0,18,0,5,0,34,0,33,0,3,0 9,0,15,0,25,0,26,0,8,0,24,0 35,0,11,0,20,0,32,0,2,0,33,0 3,0,14,0,18,0,12,0,9,0,6,0 30,0,1,0,23,0,29,0,8,0,2,0 11,0,24,0,19,0,28,0,7,0,10,0 17,0,34,0,35,0,20,0,15,0,13,0 4,0,27,0,16,0,31,0,21,0,25,0 26,0,22,0,1,0,32,0,5,0,30,0 27,0,11,0,34,0,23,0,17,0,9,0 7,0,3,0,32,0,2,0,12,0,31,0 13,0,14,0,21,0,28,0,4,0,5,0 16,0,8,0,20,0,10,0,29,0,18,0 6,0,33,0,15,0,25,0,24,0,22,0 35,0,7,0,23,0,26,0,19,0,28,0 24,0,17,0,2,0,32,0,6,0,31,0 25,0,30,0,14,0,8,0,35,0,13,0 10,0,4,0,15,0,11,0,16,0,18,0 26,0,27,0,21,0,20,0,3,0,1,0 29,0,22,0,9,0,5,0,12,0,33,0 19,0,17,0,18,0,34,0,2,0,13,0 3,0,23,0,10,0,21,0,22,0,30,0 28,0,34,0,25,0,32,0,19,0,15,0 26,0,5,0,11,0,7,0,6,0,8,0 14,0,1,0,29,0,9,0,33,0,27,0 35,0,12,0,16,0,20,0,4,0,24,0 31,0,27,0,5,0,15,0,11,0,33,0 2,0,35,0,30,0,6,0,17,0,22,0 19,0,23,0,34,0,16,0,31,0,9,0 28,0,3,0,4,0,26,0,25,0,18,0 12,0,8,0,1,0,14,0,20,0,32,0 24,0,13,0,10,0,29,0,21,0,7,0 14,0,6,0,11,0,12,0,30,0,34,0 24,0,18,0,21,0,5,0,33,0,23,0 32,0,31,0,29,0,19,0,15,0,22,0 8,0,28,0,4,0,3,0,2,0,27,0 10,0,13,0,9,0,7,0,26,0,20,0 25,0,17,0,1,0,35,0,16,0,29,0 ================================================ FILE: schedules/35_14.csv ================================================ 2,0,29,0,18,0,24,0,23,0,21,0 7,0,27,0,35,0,9,0,20,0,28,0 5,0,11,0,16,0,34,0,6,0,30,0 13,0,33,0,26,0,19,0,15,0,22,0 10,0,12,0,3,0,1,0,32,0,4,0 14,0,25,0,13,0,8,0,17,0,31,0 9,0,4,0,6,0,33,0,18,0,34,0 35,0,5,0,29,0,2,0,10,0,11,0 30,0,3,0,15,0,16,0,25,0,24,0 27,0,17,0,32,0,21,0,7,0,28,0 23,0,31,0,26,0,12,0,22,0,14,0 19,0,20,0,24,0,1,0,8,0,9,0 6,1,27,0,15,0,5,1,10,0,35,0 14,0,28,0,1,0,25,0,12,0,8,0 18,0,21,0,20,0,31,0,3,0,34,0 16,0,26,0,17,0,11,0,33,0,32,0 23,0,22,0,30,0,19,0,2,0,7,0 13,0,4,0,28,0,29,0,20,0,26,0 14,0,35,0,27,0,33,0,3,0,22,0 19,0,32,0,6,0,31,0,18,0,10,0 4,0,5,0,25,0,13,0,1,0,11,0 16,0,34,0,15,0,29,0,24,0,30,0 17,0,2,0,12,0,7,0,8,0,23,0 21,0,4,0,26,0,9,0,1,0,16,0 10,0,8,0,27,0,14,0,2,0,15,0 25,0,5,0,30,0,20,0,17,0,34,0 7,0,33,0,6,0,3,0,13,0,32,0 29,0,21,0,9,0,19,0,35,0,28,0 12,0,22,0,24,0,31,0,11,0,23,0 18,0,28,0,8,0,3,0,5,0,2,0 33,0,19,0,22,0,10,0,6,0,16,0 13,0,34,0,29,0,26,0,7,0,24,0 27,0,9,0,25,0,18,0,11,0,4,0 1,0,12,0,35,0,21,0,30,0,14,0 17,0,23,0,15,0,20,0,31,0,32,0 34,0,4,0,35,0,24,0,13,0,2,0 33,0,3,0,1,0,22,0,27,0,29,0 25,0,21,0,31,0,23,0,9,0,5,0 19,0,30,0,17,0,26,0,6,0,14,0 10,0,7,0,18,0,20,0,8,0,16,0 28,0,12,0,11,0,32,0,15,0,21,0 8,0,34,0,19,0,35,0,3,0,26,0 29,0,11,0,14,0,33,0,2,0,31,0 10,0,24,0,28,0,25,0,1,0,23,0 5,0,18,0,15,0,13,0,22,0,20,0 9,0,32,0,7,0,12,0,30,0,27,0 17,0,6,0,3,0,4,0,16,0,29,0 30,0,28,0,31,0,10,0,33,0,8,0 15,0,11,0,7,0,18,0,6,0,25,0 32,0,16,0,34,0,12,0,5,0,19,0 2,0,14,0,23,0,17,0,13,0,9,0 24,0,35,0,1,0,4,0,20,0,27,0 22,0,21,0,10,0,26,0,30,0,9,0 12,0,29,0,15,0,23,0,4,0,34,0 6,0,24,0,31,0,26,0,28,0,25,0 35,0,20,0,2,0,22,0,1,0,5,0 13,0,16,0,21,0,32,0,14,0,18,0 11,0,17,0,8,0,3,0,19,0,27,0 7,0,20,0,25,0,33,0,12,0,21,0 30,0,35,0,32,0,31,0,15,0,4,0 10,0,23,0,13,0,28,0,19,0,16,0 9,0,14,0,33,0,29,0,7,0,17,0 8,0,3,0,22,0,5,0,34,0,24,0 26,0,11,0,2,0,6,0,27,0,18,0 23,0,3,0,28,0,1,0,15,0,10,0 22,0,9,0,16,0,8,0,29,0,32,0 19,0,14,0,21,0,6,0,11,0,24,0 1,0,7,0,34,0,18,0,17,0,35,0 13,0,31,0,5,0,12,0,26,0,27,0 4,0,2,0,25,0,33,0,30,0,20,0 1,0,31,0,29,0,14,0,7,0,16,0 13,0,18,0,30,0,28,0,22,0,17,0 24,0,8,0,4,0,5,0,33,0,15,0 12,0,23,0,27,0,35,0,21,0,6,0 32,0,19,0,26,0,34,0,2,0,25,0 20,0,10,0,12,0,11,0,9,0,3,0 6,0,22,0,2,0,7,0,30,0,4,0 8,0,21,0,11,0,27,0,34,0,28,0 26,0,18,0,24,0,17,0,10,0,5,0 31,0,19,0,9,0,13,0,35,0,15,0 16,0,33,0,23,0,3,0,29,0,25,0 1,0,20,0,6,0,32,0,14,0,5,0 ================================================ FILE: schedules/35_2.csv ================================================ 22,0,7,0,20,0,30,0,12,0,1,0 17,0,10,0,31,0,2,0,8,0,23,0 28,0,5,0,24,0,13,0,4,0,35,0 32,0,25,0,14,0,15,0,11,0,27,0 9,0,21,0,16,0,3,0,29,0,34,0 19,0,26,0,18,0,6,0,33,0,5,0 1,0,29,0,20,0,4,0,8,0,14,0 22,0,19,0,25,0,9,0,17,0,24,0 34,0,15,0,2,0,7,0,13,0,33,0 35,0,11,0,12,0,3,0,10,0,18,0 30,0,27,0,23,0,26,0,21,0,28,0 6,0,31,0,20,1,32,0,16,0,35,1 ================================================ FILE: schedules/35_3.csv ================================================ 23,0,6,0,33,0,8,0,10,0,1,0 15,0,7,0,28,0,31,0,25,0,27,0 13,0,21,0,9,0,2,0,3,0,30,0 14,0,18,0,12,0,29,0,26,0,24,0 17,0,34,0,20,0,22,0,4,0,19,0 16,0,35,0,32,0,11,0,5,0,7,0 4,1,17,0,28,0,24,1,8,0,9,0 11,0,13,0,26,0,31,1,20,0,6,0 34,0,10,0,27,0,14,0,35,0,21,0 25,0,18,0,1,0,19,0,5,0,3,0 16,0,22,0,30,0,15,0,29,0,23,0 32,0,12,0,31,0,33,0,2,0,17,0 1,0,4,0,29,0,21,0,26,0,7,0 22,0,2,0,8,0,18,0,27,0,11,0 19,0,24,0,15,0,35,0,13,0,33,0 3,0,12,0,28,0,6,0,34,0,16,0 9,0,25,0,23,0,14,0,32,0,20,0 10,0,5,0,24,0,30,0,4,0,31,0 ================================================ FILE: schedules/35_4.csv ================================================ 9,0,10,0,31,0,20,0,19,0,16,0 21,0,33,0,5,0,25,0,8,0,24,0 15,0,29,0,3,0,26,0,30,0,1,0 17,0,18,0,28,0,34,0,6,0,13,0 22,0,12,0,23,0,14,0,7,0,2,0 11,0,35,0,32,0,4,0,27,0,24,0 7,0,18,0,15,0,8,0,9,0,29,0 20,0,21,0,22,0,11,0,3,0,17,0 26,0,25,0,19,0,14,0,4,0,13,0 27,0,30,0,2,0,6,0,28,0,31,0 16,0,5,0,34,0,32,0,12,0,1,0 35,0,23,0,13,0,10,0,33,0,30,0 15,1,14,0,16,0,21,1,11,0,28,0 6,1,24,0,7,0,10,1,20,0,26,0 4,0,29,0,33,0,22,0,34,0,9,0 27,0,1,0,19,0,23,0,17,0,8,0 31,0,35,0,3,0,18,0,12,0,5,0 32,0,25,0,10,0,2,0,29,0,17,0 6,0,1,0,9,0,14,0,21,0,35,0 20,0,2,0,13,0,15,0,5,0,27,0 30,0,25,0,18,0,24,0,16,0,22,0 28,0,3,0,7,0,19,0,32,0,33,0 8,0,26,0,11,0,23,0,31,0,34,0 12,0,21,0,6,0,4,0,15,0,10,0 ================================================ FILE: schedules/35_5.csv ================================================ 22,0,27,0,1,0,23,0,4,0,16,0 5,0,24,0,31,0,32,0,8,0,13,0 2,0,12,0,28,0,35,0,15,0,17,0 6,0,11,0,14,0,34,0,7,0,30,0 18,0,19,0,10,0,33,0,20,0,25,0 21,0,9,0,3,0,29,0,26,0,5,0 27,0,25,0,16,0,31,0,2,0,14,0 24,0,12,0,33,0,1,0,3,0,34,0 32,0,7,0,19,0,26,0,28,0,23,0 8,0,9,0,10,0,17,0,22,0,6,0 29,0,13,0,4,0,35,0,11,0,18,0 20,0,15,0,32,0,30,0,21,0,16,0 8,1,2,0,35,0,13,1,9,0,7,0 20,1,23,0,29,0,34,1,24,0,17,0 27,1,6,0,21,0,12,0,22,0,19,0 10,0,31,0,26,0,11,0,1,0,15,0 25,0,5,0,30,0,4,0,28,0,33,0 3,0,18,0,17,0,14,0,27,0,32,0 4,0,19,0,34,0,31,0,15,0,9,0 23,0,11,0,8,0,25,0,12,0,21,0 35,0,14,0,20,0,1,0,6,0,5,0 22,0,26,0,18,0,2,0,30,0,24,0 16,0,29,0,3,0,10,0,28,0,7,0 33,0,14,0,22,0,13,0,26,0,35,0 30,0,1,0,8,0,19,0,27,0,29,0 32,0,21,0,34,0,10,0,2,0,4,0 25,0,6,0,15,0,13,0,24,0,3,0 23,0,9,0,12,0,31,0,18,0,20,0 5,0,17,0,33,0,11,0,16,0,7,0 28,0,13,0,34,0,8,0,20,0,27,0 ================================================ FILE: schedules/35_6.csv ================================================ 15,0,9,0,7,0,12,0,35,0,3,0 32,0,29,0,18,0,16,0,13,0,5,0 22,0,11,0,4,0,1,0,31,0,14,0 30,0,23,0,21,0,28,0,8,0,33,0 2,0,24,0,27,0,34,0,25,0,19,0 20,0,10,0,17,0,26,0,6,0,22,0 15,0,14,0,33,0,1,0,34,0,18,0 4,0,12,0,30,0,24,0,32,0,5,0 23,0,13,0,10,0,7,0,25,0,20,0 3,0,6,0,28,0,31,0,11,0,8,0 21,0,17,0,2,0,16,0,9,0,27,0 26,0,35,0,14,0,19,0,29,0,13,0 27,0,8,0,12,0,20,0,11,0,18,0 9,0,5,0,19,0,6,0,1,0,23,0 32,0,4,0,34,0,21,0,28,0,7,0 10,0,29,0,31,0,15,0,30,0,2,0 35,0,16,0,22,0,24,0,26,0,3,0 17,0,25,0,6,0,33,0,29,0,4,0 16,0,30,0,34,0,23,0,35,0,20,0 25,0,32,0,8,0,14,0,9,0,22,0 13,0,33,0,1,0,12,0,10,0,2,0 31,0,28,0,5,0,27,0,26,0,15,0 11,0,19,0,24,0,18,0,7,0,17,0 3,0,22,0,20,0,21,0,33,0,5,0 18,0,35,0,9,0,28,0,4,0,10,0 32,0,26,0,2,0,23,0,15,0,11,0 34,0,14,0,13,0,3,0,30,0,17,0 16,0,21,0,25,0,6,0,31,0,12,0 1,0,29,0,27,0,7,0,24,0,8,0 19,0,33,0,20,0,32,0,31,0,9,0 18,0,25,0,3,0,1,0,26,0,30,0 28,0,23,0,12,0,17,0,29,0,22,0 13,0,4,0,15,0,19,0,8,0,16,0 27,0,7,0,35,0,2,0,6,0,14,0 5,0,10,0,11,0,24,0,34,0,21,0 ================================================ FILE: schedules/35_7.csv ================================================ 13,0,27,0,26,0,5,0,28,0,25,0 24,0,17,0,7,0,14,0,34,0,23,0 21,0,16,0,9,0,6,0,2,0,30,0 15,0,10,0,4,0,33,0,11,0,31,0 3,0,22,0,35,0,1,0,29,0,12,0 20,0,19,0,18,0,8,0,32,0,21,0 29,0,16,0,30,0,4,0,14,0,25,0 8,0,28,0,19,0,34,0,35,0,11,0 15,0,22,0,6,0,5,0,17,0,10,0 2,0,7,0,31,0,32,0,26,0,1,0 9,0,24,0,33,0,3,0,20,0,13,0 12,0,23,0,26,0,27,0,18,0,10,0 9,0,14,0,30,0,2,1,19,0,15,0 28,0,22,0,1,0,24,0,21,0,34,0 32,0,17,0,35,0,13,0,4,0,16,0 3,0,6,0,31,0,18,0,23,0,8,0 5,0,12,0,33,0,11,0,25,0,29,0 20,0,7,0,34,0,27,0,3,0,15,0 9,0,5,0,23,0,4,0,35,0,28,0 30,0,12,0,17,0,26,0,24,0,8,0 29,0,14,0,27,0,32,0,6,0,10,0 1,0,21,0,11,0,13,0,18,0,7,0 25,0,16,0,19,0,22,0,20,0,31,0 2,0,34,0,26,0,33,0,35,0,14,0 11,0,30,0,28,0,6,0,17,0,20,0 15,0,13,0,8,0,29,0,23,0,2,0 5,0,32,0,31,0,12,0,3,0,9,0 33,0,10,0,19,0,16,0,1,0,7,0 21,0,4,0,18,0,22,0,25,0,27,0 24,0,20,0,2,0,7,0,5,0,29,0 1,0,25,0,10,0,17,0,8,0,9,0 27,0,35,0,21,0,24,0,14,0,31,0 26,0,3,0,4,0,13,0,6,0,19,0 16,0,12,0,18,0,15,0,28,0,34,0 22,0,11,0,23,0,33,0,30,0,32,0 14,0,2,0,1,0,20,0,12,0,4,0 15,0,25,0,32,0,6,0,35,0,24,0 13,0,5,0,34,0,10,0,31,0,30,0 21,0,3,0,23,0,16,0,26,0,11,0 29,0,22,0,8,0,9,0,28,0,7,0 19,0,17,0,27,0,33,0,18,0,2,0 ================================================ FILE: schedules/35_8.csv ================================================ 27,0,29,0,28,0,17,0,16,0,9,0 19,0,8,0,22,0,5,0,23,0,21,0 13,0,30,0,33,0,35,0,12,0,2,0 26,0,31,0,10,0,34,0,32,0,24,0 25,0,14,0,3,0,6,0,18,0,15,0 4,0,7,0,11,0,1,0,20,0,13,0 32,0,25,0,26,0,12,0,19,0,9,0 1,0,33,0,18,0,30,0,6,0,10,0 15,0,7,0,34,0,11,0,35,0,8,0 17,0,31,0,22,0,21,0,14,0,20,0 3,0,24,0,29,0,5,0,16,0,28,0 4,0,2,0,21,0,27,0,23,0,14,0 31,1,9,0,6,0,24,1,12,0,7,0 8,0,25,0,30,0,17,0,32,0,4,0 23,0,35,0,28,0,1,0,5,0,11,0 15,0,26,0,29,0,33,0,3,0,2,0 19,0,34,0,20,0,18,0,16,0,13,0 22,0,27,0,25,0,10,0,1,0,29,0 18,0,20,0,12,0,2,0,28,0,8,0 7,0,14,0,32,0,27,0,15,0,5,0 17,0,34,0,33,0,19,0,23,0,24,0 35,0,21,0,16,0,30,0,31,0,4,0 9,0,22,0,10,0,3,0,13,0,11,0 6,0,8,0,17,0,26,0,2,0,27,0 4,0,10,0,3,0,19,0,31,0,7,0 15,0,9,0,20,0,30,0,5,0,24,0 11,0,14,0,16,0,26,0,33,0,12,0 29,0,23,0,22,0,18,0,32,0,35,0 13,0,28,0,34,0,25,0,21,0,6,0 1,0,12,0,32,0,17,0,35,0,3,0 14,0,5,0,19,0,30,0,29,0,11,0 26,0,24,0,6,0,1,0,22,0,4,0 34,0,18,0,21,0,2,0,9,0,7,0 20,0,10,0,23,0,16,0,15,0,25,0 13,0,27,0,8,0,28,0,31,0,33,0 29,0,12,0,5,0,34,0,4,0,6,0 23,0,7,0,30,0,22,0,26,0,28,0 32,0,33,0,21,0,20,0,3,0,16,0 1,0,35,0,9,0,10,0,14,0,8,0 2,0,18,0,11,0,25,0,24,0,31,0 13,0,15,0,35,0,19,0,17,0,27,0 31,0,16,0,2,0,6,0,22,0,7,0 26,0,5,0,17,0,10,0,18,0,25,0 24,0,20,0,8,0,14,0,13,0,29,0 33,0,19,0,4,0,28,0,32,0,9,0 27,0,30,0,3,0,23,0,34,0,11,0 12,0,21,0,31,0,1,0,15,0,24,0 ================================================ FILE: schedules/35_9.csv ================================================ 13,0,3,0,16,0,1,0,35,0,28,0 26,0,32,0,21,0,11,0,9,0,29,0 22,0,12,0,15,0,31,0,20,0,25,0 5,0,6,0,14,0,33,0,2,0,8,0 34,0,23,0,18,0,10,0,24,0,27,0 4,0,17,0,29,0,7,0,19,0,30,0 31,0,35,0,9,0,20,0,14,0,2,0 27,0,19,0,23,0,11,0,25,0,13,0 18,0,7,0,1,0,34,0,33,0,22,0 3,0,4,0,30,0,26,0,6,0,10,0 32,0,24,0,16,0,17,0,5,0,15,0 21,0,28,0,31,0,8,0,12,0,10,0 17,1,2,0,13,0,29,1,32,0,34,0 21,1,12,0,24,0,14,0,3,0,7,0 15,0,20,0,11,0,6,0,28,0,23,0 22,0,18,0,26,0,35,0,5,0,19,0 33,0,30,0,27,0,4,0,1,0,16,0 8,0,9,0,3,0,25,0,7,0,15,0 33,0,10,0,1,0,12,0,32,0,19,0 13,0,31,0,30,0,18,0,16,0,21,0 9,0,6,0,17,0,22,0,5,0,28,0 8,0,20,0,24,0,27,0,29,0,26,0 34,0,2,0,25,0,4,0,35,0,11,0 14,0,31,0,18,0,23,0,30,0,15,0 5,0,33,0,7,0,26,0,20,0,13,0 2,0,19,0,29,0,3,0,27,0,12,0 6,0,25,0,1,0,10,0,17,0,14,0 21,0,34,0,4,0,9,0,16,0,28,0 35,0,8,0,22,0,23,0,11,0,32,0 24,0,29,0,28,0,31,0,1,0,2,0 14,0,16,0,25,0,18,0,20,0,19,0 23,0,21,0,3,0,5,0,4,0,32,0 7,0,35,0,26,0,6,0,27,0,15,0 11,0,10,0,22,0,33,0,13,0,24,0 9,0,34,0,12,0,17,0,30,0,8,0 33,0,25,0,18,0,7,0,31,0,29,0 23,0,10,0,2,0,17,0,26,0,16,0 20,0,5,0,3,0,30,0,11,0,34,0 1,0,15,0,19,0,8,0,21,0,6,0 35,0,13,0,12,0,4,0,24,0,9,0 27,0,28,0,14,0,22,0,32,0,3,0 19,0,11,0,16,0,9,0,10,0,7,0 15,0,18,0,8,0,2,0,4,0,22,0 1,0,17,0,21,0,20,0,35,0,23,0 30,0,24,0,26,0,25,0,28,0,32,0 14,0,29,0,12,0,13,0,34,0,6,0 5,0,27,0,9,0,33,0,31,0,3,0 13,0,29,0,10,0,15,0,16,0,35,0 7,0,22,0,27,0,21,0,2,0,30,0 8,0,5,0,11,0,18,0,17,0,12,0 32,0,31,0,6,0,34,0,26,0,1,0 20,0,4,0,28,0,24,0,19,0,14,0 23,0,25,0,17,0,33,0,29,0,21,0 ================================================ FILE: schedules/36_1.csv ================================================ 8,0,32,0,17,0,23,0,31,0,27,0 5,0,11,0,15,0,13,0,6,0,20,0 19,0,25,0,9,0,16,0,21,0,12,0 3,0,35,0,24,0,29,0,34,0,18,0 1,0,22,0,10,0,28,0,7,0,14,0 36,0,2,0,26,0,33,0,4,0,30,0 ================================================ FILE: schedules/36_10.csv ================================================ 10,0,34,0,13,0,12,0,35,0,24,0 18,0,19,0,22,0,3,0,4,0,23,0 5,0,20,0,7,0,32,0,8,0,30,0 6,0,33,0,29,0,28,0,1,0,17,0 11,0,26,0,27,0,9,0,16,0,15,0 2,0,36,0,14,0,31,0,25,0,21,0 35,0,20,0,17,0,22,0,3,0,29,0 4,0,24,0,34,0,6,0,15,0,30,0 32,0,16,0,27,0,8,0,10,0,2,0 14,0,1,0,13,0,12,0,7,0,9,0 31,0,26,0,28,0,23,0,5,0,21,0 18,0,36,0,25,0,11,0,19,0,33,0 22,0,13,0,16,0,15,0,29,0,32,0 23,0,7,0,8,0,24,0,21,0,17,0 34,0,30,0,3,0,25,0,14,0,33,0 12,0,4,0,27,0,20,0,19,0,28,0 10,0,11,0,6,0,2,0,9,0,31,0 5,0,18,0,26,0,36,0,35,0,1,0 34,0,16,0,8,0,27,0,29,0,17,0 21,0,12,0,14,0,33,0,31,0,22,0 15,0,26,0,10,0,7,0,11,0,4,0 24,0,18,0,3,0,36,0,28,0,13,0 1,0,5,0,9,0,19,0,2,0,25,0 32,0,6,0,20,0,30,0,35,0,23,0 15,0,27,0,33,0,4,0,18,0,14,0 10,0,17,0,19,0,22,0,28,0,9,0 35,0,3,0,25,0,21,0,6,0,7,0 36,0,12,0,5,0,29,0,23,0,16,0 31,0,8,0,13,0,26,0,30,0,1,0 20,0,11,0,24,0,32,0,2,0,34,0 23,0,33,0,18,0,10,0,7,0,16,0 14,0,3,0,15,0,5,0,35,0,8,0 6,0,1,0,31,0,36,0,27,0,20,0 9,0,32,0,11,0,34,0,28,0,12,0 24,0,30,0,25,0,26,0,22,0,17,0 4,0,2,0,21,0,29,0,13,0,19,0 15,0,36,0,31,0,10,0,3,0,32,0 6,0,8,0,9,0,20,0,18,0,12,0 28,0,29,0,2,0,26,0,14,0,7,0 19,0,21,0,35,0,11,0,16,0,30,0 25,0,17,0,23,0,27,0,13,0,24,0 22,0,5,0,4,0,34,0,33,0,1,0 21,0,29,0,30,0,18,0,9,0,10,0 15,0,7,0,24,0,31,0,12,0,19,0 14,0,17,0,8,0,4,0,36,0,32,0 28,0,35,0,16,0,1,0,20,0,25,0 27,0,6,0,22,0,13,0,11,0,5,0 26,0,23,0,34,0,2,0,33,0,3,0 31,0,20,0,29,0,15,0,18,0,28,0 5,0,17,0,30,0,25,0,12,0,10,0 1,0,32,0,24,0,21,0,27,0,3,0 23,0,36,0,9,0,22,0,7,0,34,0 19,0,14,0,16,0,13,0,6,0,26,0 2,0,11,0,35,0,8,0,4,0,33,0 7,0,27,0,28,0,22,0,30,0,36,0 13,0,18,0,21,0,5,0,34,0,6,0 19,0,8,0,3,0,10,0,14,0,20,0 1,0,23,0,2,0,15,0,11,0,17,0 12,0,32,0,33,0,29,0,25,0,26,0 4,0,9,0,35,0,16,0,24,0,31,0 ================================================ FILE: schedules/36_11.csv ================================================ 27,0,36,0,23,0,24,0,30,0,17,0 19,0,10,0,2,0,22,0,7,0,5,0 16,0,8,0,3,0,34,0,6,0,28,0 35,0,15,0,18,0,31,0,25,0,12,0 11,0,1,0,20,0,4,0,14,0,26,0 32,0,9,0,21,0,33,0,29,0,13,0 5,0,6,0,30,0,23,0,8,0,18,0 10,0,25,0,34,0,4,0,15,0,1,0 17,0,35,0,29,0,2,0,11,0,27,0 14,0,28,0,12,0,9,0,13,0,31,0 7,0,16,0,19,0,32,0,24,0,3,0 33,0,26,0,36,0,20,0,21,0,22,0 12,0,1,0,23,0,10,0,13,0,8,0 35,0,16,0,25,0,30,0,29,0,19,0 22,0,33,0,6,0,17,0,11,0,36,0 27,0,18,0,7,0,28,0,15,0,26,0 21,0,24,0,31,0,34,0,5,0,14,0 20,0,4,0,32,0,9,0,2,0,3,0 29,0,6,0,16,0,12,0,7,0,33,0 28,0,17,0,18,0,21,0,5,0,35,0 13,0,22,0,25,0,10,0,36,0,32,0 8,0,4,0,2,0,1,0,31,0,27,0 11,0,24,0,34,0,23,0,30,0,20,0 14,0,15,0,9,0,19,0,26,0,3,0 10,0,33,0,17,0,16,0,12,0,18,0 2,0,22,0,31,0,30,0,21,0,28,0 8,0,15,0,24,0,11,0,4,0,29,0 3,0,14,0,7,0,1,0,35,0,36,0 6,0,19,0,9,0,20,0,27,0,13,0 26,0,23,0,34,0,32,0,25,0,5,0 30,0,35,0,33,0,21,0,1,0,3,0 8,0,12,0,29,0,28,0,19,0,36,0 18,0,5,0,20,0,13,0,4,0,7,0 31,0,10,0,11,0,26,0,2,0,16,0 32,0,14,0,22,0,25,0,23,0,6,0 15,0,34,0,17,0,24,0,9,0,27,0 21,0,13,0,26,0,8,0,7,0,30,0 28,0,31,0,4,0,10,0,35,0,23,0 3,0,27,0,33,0,5,0,11,0,12,0 20,0,17,0,6,0,19,0,15,0,25,0 18,0,1,0,9,0,24,0,29,0,22,0 36,0,2,0,14,0,32,0,16,0,34,0 28,0,33,0,25,0,8,0,26,0,20,0 19,0,31,0,23,0,4,0,24,0,18,0 6,0,2,0,1,0,36,0,5,0,9,0 12,0,34,0,13,0,35,0,11,0,7,0 30,0,3,0,22,0,15,0,29,0,32,0 17,0,27,0,16,0,21,0,10,0,14,0 25,0,24,0,7,0,2,0,33,0,34,0 8,0,11,0,28,0,13,0,32,0,18,0 29,0,23,0,5,0,20,0,35,0,31,0 12,0,15,0,21,0,19,0,22,0,1,0 16,0,30,0,36,0,17,0,9,0,26,0 10,0,3,0,4,0,27,0,6,0,14,0 29,0,20,0,2,0,19,0,18,0,34,0 21,0,36,0,25,0,9,0,11,0,23,0 26,0,5,0,24,0,12,0,35,0,6,0 15,0,30,0,10,0,8,0,33,0,14,0 4,0,27,0,22,0,13,0,28,0,16,0 32,0,1,0,7,0,3,0,17,0,31,0 19,0,11,0,21,0,24,0,6,0,10,0 2,0,13,0,23,0,33,0,15,0,16,0 30,0,32,0,26,0,12,0,4,0,17,0 5,0,27,0,28,0,1,0,25,0,14,0 34,0,3,0,36,0,29,0,31,0,18,0 9,0,7,0,20,0,8,0,22,0,35,0 ================================================ FILE: schedules/36_12.csv ================================================ 20,0,14,0,15,0,21,0,11,0,19,0 10,0,16,0,1,0,27,0,7,0,18,0 29,0,30,0,32,0,34,0,24,0,22,0 23,0,6,0,13,0,12,0,8,0,2,0 9,0,36,0,28,0,5,0,17,0,25,0 4,0,26,0,33,0,31,0,3,0,35,0 16,0,24,0,7,0,30,0,23,0,20,0 19,0,5,0,13,0,2,0,32,0,34,0 6,0,12,0,21,0,36,0,35,0,17,0 31,0,4,0,25,0,8,0,18,0,29,0 27,0,1,0,11,0,3,0,28,0,10,0 14,0,22,0,26,0,9,0,15,0,33,0 17,0,29,0,12,0,19,0,7,0,20,0 28,0,4,0,24,0,27,0,5,0,30,0 15,0,11,0,2,0,35,0,8,0,16,0 31,0,1,0,21,0,22,0,13,0,25,0 3,0,23,0,14,0,34,0,10,0,33,0 6,0,9,0,18,0,32,0,26,0,36,0 25,0,19,0,16,0,1,0,13,0,35,0 5,0,10,0,2,0,21,0,4,0,14,0 18,0,28,0,12,0,26,0,34,0,3,0 20,0,27,0,29,0,33,0,6,0,32,0 8,0,36,0,7,0,24,0,30,0,15,0 23,0,9,0,31,0,11,0,17,0,22,0 4,0,32,0,1,0,14,0,16,0,12,0 15,0,13,0,7,0,28,0,20,0,26,0 33,0,36,0,24,0,10,0,19,0,31,0 11,0,5,0,18,0,23,0,22,0,29,0 9,0,2,0,17,0,27,0,3,0,25,0 34,0,35,0,21,0,8,0,30,0,6,0 11,0,31,0,36,0,4,0,7,0,5,0 20,0,3,0,24,0,2,0,29,0,25,0 32,0,8,0,23,0,26,0,12,0,27,0 9,0,14,0,34,0,1,0,15,0,28,0 19,0,22,0,30,0,6,0,10,0,35,0 17,0,18,0,33,0,16,0,13,0,21,0 34,0,1,0,25,0,4,0,36,0,15,0 7,0,12,0,35,0,14,0,5,0,6,0 19,0,29,0,28,0,9,0,30,0,21,0 10,0,17,0,23,0,32,0,20,0,13,0 27,0,24,0,2,0,18,0,26,0,31,0 16,0,33,0,22,0,8,0,11,0,3,0 32,0,9,0,25,0,6,0,34,0,7,0 17,0,26,0,1,0,24,0,14,0,29,0 3,0,22,0,5,0,28,0,8,0,13,0 11,0,12,0,10,0,16,0,30,0,2,0 20,0,33,0,31,0,36,0,19,0,18,0 27,0,35,0,4,0,23,0,15,0,21,0 30,0,11,0,7,0,9,0,13,0,26,0 20,0,6,0,2,0,5,0,1,0,24,0 4,0,8,0,10,0,19,0,34,0,17,0 33,0,29,0,3,0,23,0,27,0,36,0 18,0,21,0,25,0,22,0,15,0,12,0 28,0,35,0,14,0,31,0,32,0,16,0 13,0,27,0,10,0,29,0,6,0,36,0 23,0,7,0,26,0,2,0,4,0,19,0 20,0,16,0,34,0,22,0,28,0,31,0 8,0,5,0,21,0,1,0,3,0,9,0 17,0,32,0,15,0,35,0,30,0,18,0 12,0,25,0,24,0,14,0,11,0,33,0 34,0,8,0,27,0,7,0,29,0,21,0 6,0,19,0,3,0,15,0,31,0,5,0 35,0,9,0,22,0,20,0,12,0,4,0 17,0,30,0,28,0,2,0,33,0,1,0 26,0,25,0,11,0,32,0,10,0,24,0 14,0,36,0,13,0,23,0,18,0,16,0 8,0,19,0,33,0,6,0,17,0,4,0 26,0,24,0,35,0,27,0,21,0,28,0 29,0,15,0,16,0,12,0,5,0,9,0 13,0,30,0,31,0,25,0,10,0,14,0 36,0,3,0,2,0,7,0,32,0,22,0 18,0,1,0,20,0,34,0,11,0,23,0 ================================================ FILE: schedules/36_13.csv ================================================ 24,0,29,0,5,0,8,0,32,0,27,0 3,0,26,0,14,0,10,0,17,0,35,0 33,0,16,0,9,0,36,0,20,0,2,0 7,0,30,0,28,0,34,0,6,0,13,0 18,0,21,0,23,0,11,0,31,0,22,0 4,0,1,0,25,0,19,0,12,0,15,0 9,0,24,0,8,0,30,0,29,0,6,0 2,0,21,0,32,0,26,0,36,0,10,0 7,0,17,0,31,0,28,0,16,0,12,0 22,0,13,0,4,0,18,0,1,0,33,0 35,0,27,0,3,0,11,0,23,0,25,0 34,0,15,0,14,0,19,0,20,0,5,0 22,0,6,0,18,0,31,0,1,0,16,0 13,0,33,0,32,0,17,0,7,0,9,0 28,0,4,0,34,0,30,0,8,0,3,0 5,0,36,0,12,0,20,0,14,0,11,0 24,0,25,0,21,0,10,0,19,0,27,0 35,0,15,0,26,0,2,0,29,0,23,0 5,0,18,0,8,0,9,0,1,0,28,0 7,0,19,0,13,0,22,0,25,0,20,0 23,0,12,0,10,0,32,0,3,0,29,0 17,0,35,0,11,0,2,0,31,0,24,0 26,0,4,0,21,0,6,0,34,0,36,0 14,0,16,0,27,0,33,0,15,0,30,0 10,0,11,0,5,0,25,0,7,0,29,0 28,0,22,0,34,0,17,0,8,0,23,0 19,0,4,0,36,0,2,0,26,0,13,0 15,0,3,0,18,0,20,0,35,0,32,0 1,0,6,0,21,0,27,0,9,0,30,0 14,0,33,0,31,0,24,0,16,0,12,0 36,0,32,0,25,0,18,0,28,0,26,0 7,0,4,0,27,0,20,0,13,0,9,0 11,0,16,0,29,0,23,0,6,0,3,0 30,0,34,0,24,0,5,0,22,0,35,0 19,0,2,0,17,0,15,0,10,0,1,0 12,0,21,0,31,0,8,0,14,0,33,0 11,0,9,0,22,0,5,0,25,0,3,0 20,0,23,0,7,0,2,0,27,0,18,0 30,0,16,0,10,0,31,0,4,0,8,0 35,0,33,0,36,0,19,0,34,0,28,0 6,0,32,0,15,0,21,0,17,0,14,0 26,0,12,0,29,0,1,0,24,0,13,0 34,0,10,0,25,0,4,0,20,0,18,0 3,0,32,0,31,0,19,0,21,0,9,0 1,0,22,0,16,0,27,0,7,0,26,0 29,0,28,0,14,0,36,0,17,0,30,0 12,0,8,0,13,0,35,0,24,0,23,0 15,0,2,0,5,0,11,0,33,0,6,0 30,0,1,0,20,0,17,0,18,0,25,0 26,0,9,0,23,0,4,0,10,0,14,0 11,0,12,0,32,0,15,0,22,0,24,0 2,0,34,0,7,0,16,0,21,0,3,0 35,0,29,0,13,0,6,0,28,0,5,0 27,0,19,0,33,0,8,0,31,0,36,0 2,0,22,0,14,0,20,0,12,0,34,0 35,0,30,0,21,0,32,0,4,0,9,0 1,0,19,0,11,0,16,0,26,0,17,0 8,0,15,0,7,0,3,0,24,0,18,0 28,0,36,0,23,0,27,0,5,0,13,0 33,0,6,0,25,0,10,0,31,0,29,0 8,0,2,0,1,0,11,0,7,0,35,0 19,0,16,0,23,0,30,0,14,0,32,0 29,0,36,0,18,0,22,0,12,0,4,0 24,0,20,0,27,0,34,0,26,0,5,0 3,0,17,0,28,0,33,0,10,0,21,0 31,0,9,0,6,0,25,0,13,0,15,0 5,0,12,0,30,0,4,0,16,0,2,0 14,0,1,0,23,0,33,0,7,0,24,0 25,0,35,0,8,0,15,0,34,0,21,0 13,0,10,0,18,0,11,0,36,0,3,0 6,0,17,0,27,0,9,0,29,0,19,0 28,0,31,0,20,0,22,0,32,0,26,0 25,0,30,0,13,0,21,0,14,0,5,0 16,0,8,0,34,0,29,0,36,0,27,0 2,0,9,0,3,0,1,0,28,0,32,0 24,0,26,0,11,0,31,0,19,0,18,0 22,0,10,0,7,0,12,0,6,0,35,0 17,0,20,0,33,0,15,0,23,0,4,0 ================================================ FILE: schedules/36_14.csv ================================================ 35,0,18,0,25,0,19,0,7,0,14,0 8,0,22,0,28,0,1,0,24,0,34,0 2,0,5,0,21,0,16,0,13,0,17,0 26,0,33,0,31,0,20,0,10,0,27,0 6,0,12,0,11,0,30,0,9,0,32,0 15,0,23,0,3,0,36,0,4,0,29,0 13,0,5,0,7,0,31,0,19,0,28,0 26,0,12,0,18,0,27,0,2,0,11,0 20,0,25,0,4,0,30,0,22,0,34,0 24,0,16,0,9,0,21,0,32,0,1,0 10,0,17,0,8,0,6,0,23,0,15,0 33,0,36,0,29,0,35,0,3,0,14,0 16,0,27,0,5,0,12,0,25,0,19,0 17,0,15,0,18,0,26,0,28,0,30,0 24,0,10,0,3,0,14,0,34,0,9,0 13,0,32,0,20,0,29,0,22,0,11,0 36,0,8,0,1,0,35,0,2,0,33,0 7,0,31,0,4,0,6,0,23,0,21,0 13,0,24,0,27,0,16,0,30,0,15,0 19,0,33,0,3,0,2,0,28,0,18,0 25,0,8,0,9,0,14,0,26,0,17,0 36,0,29,0,6,0,5,0,22,0,1,0 34,0,32,0,12,0,7,0,23,0,20,0 31,0,21,0,11,0,10,0,35,0,4,0 15,0,27,0,14,0,9,0,6,0,5,0 32,0,18,0,33,0,25,0,24,0,17,0 13,0,16,0,10,0,22,0,35,0,12,0 26,0,1,0,8,0,7,0,3,0,11,0 4,0,28,0,23,0,29,0,31,0,20,0 2,0,30,0,19,0,36,0,21,0,34,0 25,0,14,0,11,0,22,0,16,0,33,0 35,0,28,0,10,0,26,0,6,0,5,0 36,0,18,0,30,0,20,0,19,0,1,0 23,0,7,0,12,0,27,0,9,0,17,0 34,0,15,0,13,0,32,0,31,0,2,0 24,0,29,0,21,0,4,0,8,0,3,0 5,0,25,0,36,0,12,0,17,0,7,0 15,0,20,0,30,0,32,0,22,0,16,0 6,0,33,0,10,0,13,0,29,0,8,0 27,0,28,0,21,0,9,0,3,0,2,0 35,0,19,0,11,0,4,0,26,0,34,0 14,0,1,0,18,0,24,0,31,0,23,0 17,0,6,0,2,0,3,0,21,0,20,0 12,0,34,0,28,0,10,0,36,0,32,0 22,0,27,0,14,0,19,0,24,0,4,0 23,0,25,0,30,0,5,0,35,0,8,0 26,0,11,0,29,0,33,0,13,0,9,0 16,0,1,0,31,0,15,0,18,0,7,0 23,0,2,0,35,0,3,0,14,0,32,0 11,0,28,0,25,0,27,0,6,0,34,0 1,0,22,0,7,0,26,0,15,0,21,0 29,0,17,0,16,0,30,0,31,0,10,0 9,0,19,0,36,0,13,0,8,0,18,0 33,0,20,0,24,0,12,0,5,0,4,0 21,0,22,0,17,0,1,0,35,0,29,0 6,0,3,0,13,0,23,0,18,0,16,0 32,0,4,0,27,0,2,0,7,0,26,0 15,0,36,0,31,0,33,0,25,0,34,0 8,0,30,0,12,0,24,0,28,0,14,0 19,0,10,0,5,0,9,0,20,0,11,0 27,0,7,0,33,0,36,0,35,0,16,0 29,0,2,0,14,0,28,0,1,0,15,0 26,0,20,0,24,0,21,0,25,0,10,0 34,0,17,0,31,0,12,0,19,0,13,0 9,0,8,0,23,0,6,0,4,0,22,0 5,0,30,0,11,0,3,0,18,0,32,0 26,0,25,0,16,0,36,0,13,0,28,0 7,0,35,0,17,0,2,0,24,0,22,0 10,0,23,0,34,0,27,0,29,0,30,0 32,0,6,0,19,0,33,0,15,0,11,0 9,0,4,0,1,0,31,0,12,0,3,0 18,0,5,0,20,0,14,0,21,0,8,0 35,0,30,0,13,0,7,0,24,0,36,0 16,0,12,0,2,0,6,0,31,0,25,0 4,0,14,0,20,0,10,0,27,0,1,0 26,0,22,0,3,0,23,0,17,0,33,0 32,0,28,0,29,0,19,0,8,0,15,0 18,0,21,0,9,0,34,0,11,0,5,0 3,0,2,0,1,0,25,0,13,0,23,0 35,0,32,0,26,0,8,0,20,0,16,0 21,0,33,0,4,0,17,0,5,0,28,0 9,0,10,0,22,0,18,0,31,0,27,0 19,0,34,0,29,0,7,0,6,0,30,0 12,0,15,0,14,0,24,0,11,0,36,0 ================================================ FILE: schedules/36_2.csv ================================================ 33,0,24,0,34,0,16,0,20,0,25,0 6,0,10,0,11,0,8,0,9,0,5,0 19,0,30,0,32,0,27,0,17,0,31,0 36,0,4,0,14,0,3,0,21,0,22,0 18,0,2,0,26,0,1,0,28,0,13,0 12,0,35,0,15,0,7,0,29,0,23,0 24,0,32,0,25,0,5,0,11,0,14,0 28,0,22,0,17,0,1,0,34,0,10,0 16,0,7,0,31,0,13,0,9,0,4,0 2,0,29,0,19,0,6,0,36,0,20,0 23,0,3,0,35,0,30,0,26,0,33,0 8,0,27,0,15,0,12,0,21,0,18,0 ================================================ FILE: schedules/36_3.csv ================================================ 28,0,24,0,9,0,23,0,3,0,14,0 13,0,5,0,26,0,18,0,1,0,17,0 30,0,6,0,36,0,21,0,29,0,11,0 31,0,25,0,33,0,22,0,19,0,32,0 7,0,20,0,27,0,10,0,35,0,4,0 16,0,15,0,34,0,2,0,12,0,8,0 18,0,11,0,14,0,33,0,21,0,19,0 3,0,1,0,35,0,22,0,36,0,10,0 13,0,29,0,16,0,24,0,7,0,32,0 23,0,20,0,8,0,25,0,2,0,17,0 4,0,31,0,15,0,6,0,5,0,28,0 12,0,26,0,34,0,9,0,27,0,30,0 35,0,21,0,32,0,24,0,1,0,8,0 18,0,4,0,3,0,25,0,15,0,29,0 12,0,9,0,19,0,13,0,20,0,6,0 28,0,36,0,17,0,27,0,34,0,33,0 31,0,10,0,23,0,11,0,26,0,16,0 2,0,14,0,30,0,7,0,5,0,22,0 ================================================ FILE: schedules/36_4.csv ================================================ 17,0,24,0,13,0,7,0,33,0,25,0 20,0,19,0,1,0,28,0,18,0,23,0 21,0,29,0,34,0,12,0,2,0,5,0 35,0,6,0,22,0,11,0,27,0,15,0 32,0,3,0,16,0,36,0,31,0,26,0 4,0,30,0,14,0,10,0,8,0,9,0 7,0,1,0,34,0,33,0,19,0,35,0 32,0,31,0,22,0,23,0,21,0,24,0 9,0,26,0,29,0,15,0,28,0,8,0 2,0,27,0,36,0,25,0,4,0,17,0 30,0,18,0,11,0,16,0,14,0,5,0 10,0,12,0,6,0,13,0,3,0,20,0 23,0,35,0,4,0,21,0,17,0,26,0 25,0,14,0,29,0,22,0,16,0,19,0 8,0,32,0,18,0,2,0,6,0,33,0 13,0,15,0,12,0,30,0,36,0,1,0 7,0,20,0,5,0,27,0,9,0,31,0 28,0,3,0,10,0,11,0,34,0,24,0 22,0,33,0,18,0,4,0,12,0,26,0 17,0,31,0,6,0,29,0,30,0,19,0 11,0,3,0,21,0,1,0,25,0,9,0 36,0,5,0,24,0,20,0,8,0,35,0 23,0,10,0,2,0,7,0,16,0,15,0 28,0,27,0,34,0,13,0,32,0,14,0 ================================================ FILE: schedules/36_5.csv ================================================ 3,0,25,0,12,0,10,0,33,0,31,0 32,0,18,0,24,0,9,0,27,0,30,0 36,0,20,0,15,0,17,0,14,0,35,0 7,0,11,0,5,0,19,0,8,0,16,0 6,0,21,0,29,0,13,0,23,0,2,0 34,0,4,0,1,0,22,0,26,0,28,0 36,0,7,0,27,0,5,0,31,0,20,0 21,0,8,0,18,0,17,0,6,0,25,0 13,0,35,0,16,0,32,0,34,0,33,0 3,0,23,0,14,0,1,0,2,0,9,0 11,0,29,0,24,0,28,0,10,0,4,0 26,0,12,0,30,0,19,0,22,0,15,0 25,0,33,0,9,0,6,0,1,0,7,0 2,0,31,0,32,0,4,0,8,0,17,0 14,0,30,0,34,0,11,0,27,0,12,0 13,0,26,0,5,0,10,0,24,0,35,0 16,0,23,0,22,0,20,0,18,0,28,0 29,0,19,0,36,0,21,0,3,0,15,0 24,0,30,0,6,0,35,0,1,0,31,0 2,0,33,0,20,0,18,0,11,0,26,0 13,0,17,0,27,0,19,0,28,0,3,0 10,0,15,0,23,0,7,0,34,0,8,0 9,0,12,0,16,0,21,0,4,0,36,0 5,0,32,0,14,0,29,0,22,0,25,0 6,0,8,0,3,0,34,0,24,0,20,0 33,0,35,0,4,0,23,0,19,0,27,0 7,0,14,0,28,0,32,0,21,0,26,0 1,0,18,0,17,0,12,0,29,0,5,0 25,0,10,0,2,0,30,0,16,0,36,0 31,0,22,0,9,0,15,0,13,0,11,0 ================================================ FILE: schedules/36_6.csv ================================================ 21,0,2,0,13,0,6,0,25,0,3,0 9,0,15,0,16,0,1,0,35,0,34,0 26,0,10,0,18,0,17,0,30,0,11,0 36,0,12,0,32,0,19,0,27,0,4,0 31,0,20,0,14,0,8,0,29,0,5,0 28,0,24,0,22,0,33,0,23,0,7,0 18,0,6,0,2,0,32,0,9,0,34,0 20,0,19,0,29,0,21,0,26,0,16,0 33,0,12,0,3,0,25,0,15,0,11,0 27,0,5,0,30,0,22,0,8,0,23,0 24,0,36,0,4,0,28,0,10,0,31,0 17,0,13,0,1,0,7,0,14,0,35,0 33,0,8,0,16,0,26,0,12,0,2,0 34,0,15,0,22,0,31,0,36,0,21,0 17,0,3,0,14,0,28,0,19,0,23,0 25,0,18,0,5,0,4,0,29,0,7,0 35,0,10,0,11,0,6,0,27,0,1,0 30,0,24,0,32,0,13,0,9,0,20,0 34,0,7,0,3,0,5,0,26,0,4,0 25,0,8,0,35,0,10,0,19,0,22,0 21,0,11,0,24,0,16,0,32,0,14,0 2,0,33,0,29,0,1,0,36,0,30,0 9,0,31,0,6,0,28,0,17,0,12,0 20,0,27,0,23,0,18,0,13,0,15,0 36,0,16,0,7,0,30,0,3,0,8,0 35,0,6,0,19,0,5,0,31,0,33,0 18,0,28,0,1,0,12,0,21,0,22,0 11,0,4,0,20,0,9,0,23,0,2,0 27,0,34,0,26,0,24,0,14,0,25,0 32,0,29,0,13,0,15,0,17,0,10,0 3,0,36,0,35,0,12,0,20,0,18,0 22,0,30,0,16,0,6,0,4,0,14,0 23,0,1,0,31,0,25,0,26,0,32,0 29,0,11,0,28,0,34,0,8,0,13,0 5,0,17,0,19,0,2,0,15,0,24,0 10,0,27,0,7,0,21,0,9,0,33,0 ================================================ FILE: schedules/36_7.csv ================================================ 36,0,31,0,27,0,19,0,12,0,21,0 10,0,35,0,32,0,24,0,25,0,7,0 33,0,23,0,22,0,6,0,11,0,17,0 16,0,20,0,18,0,26,0,5,0,9,0 14,0,13,0,8,0,3,0,15,0,28,0 30,0,1,0,2,0,34,0,4,0,29,0 32,0,31,0,23,0,35,0,18,0,33,0 17,0,9,0,15,0,7,0,19,0,5,0 29,0,36,0,14,0,27,0,8,0,11,0 26,0,25,0,6,0,34,0,13,0,2,0 20,0,21,0,1,0,30,0,28,0,24,0 4,0,12,0,16,0,10,0,22,0,3,0 7,0,17,0,32,0,27,0,26,0,29,0 5,0,8,0,2,0,24,0,21,0,23,0 12,0,14,0,18,0,6,0,1,0,16,0 22,0,30,0,11,0,10,0,31,0,15,0 25,0,19,0,34,0,20,0,33,0,3,0 13,0,36,0,4,0,35,0,9,0,28,0 21,0,32,0,29,0,12,0,10,0,6,0 7,0,22,0,18,0,8,0,3,0,34,0 35,0,15,0,2,0,16,0,17,0,28,0 1,0,31,0,11,0,5,0,13,0,20,0 36,0,9,0,25,0,30,0,27,0,23,0 4,0,26,0,24,0,33,0,14,0,19,0 8,0,7,0,10,0,2,0,31,0,20,0 35,0,12,0,34,0,21,0,5,0,11,0 13,0,28,0,29,0,23,0,16,0,19,0 25,0,33,0,17,0,9,0,14,0,1,0 36,0,3,0,30,0,32,0,22,0,26,0 4,0,15,0,27,0,24,0,18,0,6,0 33,0,28,0,5,0,29,0,25,0,12,0 22,0,21,0,13,0,14,0,20,0,7,0 19,0,6,0,35,0,18,0,30,0,8,0 27,0,10,0,1,0,26,0,15,0,23,0 24,0,17,0,31,0,36,0,16,0,34,0 3,0,11,0,32,0,2,0,9,0,4,0 33,0,30,0,12,0,7,0,15,0,13,0 20,0,28,0,10,0,36,0,18,0,17,0 9,0,3,0,24,0,6,0,29,0,31,0 5,0,23,0,34,0,14,0,32,0,4,0 2,0,19,0,27,0,35,0,1,0,22,0 16,0,11,0,26,0,21,0,8,0,25,0 ================================================ FILE: schedules/36_8.csv ================================================ 29,0,28,0,15,0,30,0,36,0,21,0 27,0,10,0,14,0,4,0,22,0,5,0 3,0,12,0,20,0,13,0,24,0,17,0 9,0,34,0,16,0,7,0,8,0,6,0 33,0,31,0,25,0,32,0,11,0,19,0 23,0,35,0,2,0,1,0,26,0,18,0 28,0,3,0,9,0,12,0,14,0,22,0 13,0,5,0,21,0,16,0,32,0,4,0 35,0,24,0,27,0,15,0,8,0,34,0 31,0,26,0,17,0,29,0,10,0,6,0 23,0,7,0,19,0,18,0,36,0,11,0 25,0,2,0,1,0,30,0,20,0,33,0 4,0,29,0,31,0,16,0,28,0,17,0 12,0,36,0,6,0,22,0,35,0,21,0 10,0,2,0,32,0,7,0,20,0,34,0 23,0,27,0,18,0,13,0,33,0,9,0 14,0,11,0,30,0,24,0,26,0,8,0 15,0,1,0,3,0,5,0,25,0,19,0 16,0,7,0,2,0,12,0,27,0,17,0 8,0,18,0,22,0,31,0,21,0,6,0 28,0,36,0,26,0,3,0,25,0,34,0 19,0,20,0,4,0,15,0,35,0,9,0 24,0,5,0,30,0,33,0,10,0,23,0 14,0,13,0,32,0,11,0,1,0,29,0 4,0,7,0,17,0,25,0,8,0,28,0 24,0,21,0,15,0,9,0,2,0,31,0 36,0,16,0,27,0,14,0,33,0,1,0 29,0,22,0,26,0,5,0,18,0,20,0 34,0,30,0,10,0,19,0,13,0,12,0 32,0,35,0,6,0,11,0,3,0,23,0 9,0,18,0,24,0,16,0,26,0,25,0 4,0,21,0,34,0,31,0,7,0,1,0 13,0,8,0,20,0,3,0,36,0,19,0 10,0,5,0,11,0,2,0,28,0,12,0 27,0,6,0,33,0,29,0,30,0,35,0 17,0,32,0,22,0,23,0,14,0,15,0 1,0,8,0,9,0,10,0,28,0,18,0 35,0,5,0,31,0,30,0,7,0,13,0 19,0,33,0,17,0,21,0,27,0,26,0 15,0,2,0,11,0,16,0,22,0,3,0 24,0,12,0,4,0,32,0,29,0,36,0 25,0,14,0,20,0,23,0,34,0,6,0 33,0,26,0,7,0,13,0,15,0,22,0 3,0,32,0,18,0,4,0,30,0,27,0 36,0,34,0,5,0,11,0,9,0,17,0 14,0,21,0,16,0,35,0,20,0,10,0 1,0,19,0,28,0,2,0,24,0,6,0 23,0,25,0,29,0,12,0,8,0,31,0 ================================================ FILE: schedules/36_9.csv ================================================ 29,0,2,0,13,0,8,0,7,0,27,0 22,0,34,0,16,0,30,0,15,0,36,0 18,0,10,0,9,0,25,0,14,0,1,0 24,0,20,0,28,0,5,0,17,0,6,0 21,0,19,0,12,0,4,0,33,0,26,0 3,0,32,0,23,0,35,0,31,0,11,0 34,0,1,0,5,0,22,0,17,0,25,0 15,0,24,0,13,0,10,0,26,0,14,0 29,0,11,0,6,0,36,0,33,0,9,0 19,0,4,0,3,0,28,0,8,0,16,0 21,0,30,0,2,0,12,0,35,0,18,0 27,0,31,0,23,0,7,0,20,0,32,0 25,0,24,0,19,0,29,0,3,0,36,0 8,0,12,0,5,0,11,0,10,0,34,0 18,0,7,0,33,0,20,0,26,0,35,0 21,0,6,0,4,0,1,0,13,0,32,0 27,0,9,0,15,0,28,0,22,0,23,0 14,0,30,0,16,0,17,0,2,0,31,0 19,0,29,0,35,0,32,0,34,0,12,0 11,0,3,0,20,0,26,0,21,0,15,0 9,0,31,0,8,0,18,0,13,0,17,0 16,0,25,0,5,0,6,0,23,0,33,0 28,0,30,0,27,0,24,0,1,0,2,0 36,0,10,0,22,0,7,0,4,0,14,0 33,0,15,0,17,0,35,0,21,0,9,0 5,0,32,0,27,0,25,0,3,0,18,0 1,0,10,0,6,0,8,0,22,0,19,0 26,0,36,0,24,0,23,0,2,0,34,0 7,0,28,0,31,0,12,0,11,0,30,0 20,0,14,0,29,0,4,0,16,0,13,0 32,0,8,0,35,0,5,0,22,0,15,0 17,0,11,0,21,0,27,0,19,0,10,0 7,0,25,0,9,0,12,0,16,0,24,0 1,0,23,0,36,0,30,0,20,0,13,0 18,0,2,0,4,0,33,0,3,0,34,0 28,0,14,0,6,0,29,0,26,0,31,0 30,0,8,0,17,0,25,0,36,0,20,0 22,0,3,0,24,0,13,0,33,0,12,0 16,0,1,0,35,0,27,0,11,0,26,0 23,0,4,0,9,0,10,0,32,0,31,0 21,0,14,0,34,0,5,0,28,0,29,0 2,0,15,0,7,0,19,0,18,0,6,0 16,0,26,0,17,0,4,0,36,0,32,0 10,0,33,0,29,0,30,0,3,0,1,0 13,0,25,0,35,0,15,0,11,0,28,0 23,0,20,0,5,0,2,0,9,0,19,0 24,0,31,0,34,0,22,0,21,0,7,0 6,0,12,0,27,0,14,0,8,0,18,0 26,0,13,0,9,0,30,0,5,0,19,0 25,0,28,0,10,0,20,0,2,0,16,0 6,0,36,0,31,0,35,0,27,0,34,0 3,0,12,0,15,0,7,0,17,0,1,0 33,0,32,0,14,0,23,0,21,0,8,0 18,0,11,0,22,0,29,0,4,0,24,0 ================================================ FILE: schedules/37_1.csv ================================================ 32,0,24,0,36,0,30,0,19,0,37,0 2,0,31,0,8,0,13,0,26,0,22,0 16,0,15,0,35,0,3,0,28,0,7,0 29,0,23,0,25,0,5,0,9,0,11,0 33,0,27,0,18,0,4,0,6,0,10,0 20,0,34,0,1,0,17,0,12,0,21,0 14,0,30,1,31,1,7,1,3,1,2,1 ================================================ FILE: schedules/37_10.csv ================================================ 24,0,1,0,12,0,28,0,34,0,22,0 20,0,30,0,33,0,35,0,17,0,25,0 2,0,29,0,3,0,5,0,26,0,21,0 9,0,6,0,32,0,8,0,15,0,13,0 37,0,11,0,10,0,27,0,31,0,18,0 36,0,16,0,14,0,19,0,23,0,4,0 7,0,2,0,15,0,29,0,28,0,30,0 31,0,32,0,1,0,21,0,17,0,27,0 26,0,23,0,14,0,20,0,8,0,10,0 7,0,22,0,12,0,9,0,36,0,25,0 5,0,13,0,35,0,16,0,18,0,33,0 34,0,24,0,11,0,3,0,37,0,19,0 6,0,2,0,27,0,4,0,20,0,9,0 16,1,26,0,15,0,7,1,35,0,1,0 21,0,29,0,37,0,12,0,36,0,18,0 23,0,25,0,34,0,32,0,30,0,13,0 28,0,5,0,17,0,8,0,14,0,19,0 11,0,33,0,22,0,10,0,4,0,6,0 31,0,24,0,7,0,3,0,15,0,20,0 35,0,19,0,21,0,23,0,9,0,27,0 10,0,18,0,22,0,16,0,32,0,34,0 26,0,25,0,28,0,33,0,6,0,24,0 3,0,8,0,36,0,11,0,4,0,30,0 14,0,12,0,37,0,2,0,13,0,1,0 17,0,31,0,26,0,29,0,5,0,22,0 32,0,4,0,28,0,18,0,19,0,20,0 23,0,8,0,33,0,37,0,27,0,7,0 10,0,13,0,29,0,25,0,24,0,2,0 6,0,21,0,36,0,34,0,1,0,5,0 9,0,12,0,15,0,16,0,17,0,11,0 14,0,30,0,35,0,3,0,31,0,22,0 33,0,2,0,36,0,20,0,32,0,24,0 25,0,8,0,21,0,18,0,15,0,37,0 12,0,3,0,5,0,23,0,10,0,28,0 7,0,17,0,19,0,13,0,6,0,26,0 16,0,4,0,27,0,31,0,34,0,30,0 1,0,14,0,29,0,35,0,11,0,9,0 6,0,28,0,3,0,32,0,36,0,17,0 34,0,18,0,2,0,15,0,33,0,27,0 25,0,7,0,16,0,5,0,11,0,8,0 29,0,4,0,24,0,35,0,23,0,12,0 37,0,30,0,9,0,1,0,26,0,10,0 22,0,19,0,13,0,31,0,20,0,21,0 14,0,33,0,32,0,6,0,29,0,16,0 9,0,1,0,8,0,24,0,18,0,3,0 36,0,13,0,20,0,26,0,27,0,12,0 15,0,11,0,19,0,2,0,23,0,22,0 10,0,30,0,25,0,14,0,28,0,21,0 37,0,35,0,34,0,4,0,7,0,5,0 17,0,18,0,6,0,31,0,36,0,23,0 27,0,28,0,13,0,26,0,29,0,11,0 5,0,16,0,30,0,24,0,21,0,22,0 9,0,31,0,19,0,25,0,33,0,12,0 34,0,20,0,17,0,37,0,2,0,8,0 35,0,15,0,4,0,7,0,32,0,10,0 3,0,1,0,27,0,14,0,25,0,13,0 16,0,28,0,20,0,34,0,29,0,9,0 32,0,18,0,5,0,30,0,7,0,26,0 31,0,2,0,12,0,6,0,35,0,8,0 24,0,19,0,36,0,14,0,15,0,10,0 11,0,1,0,21,0,4,0,17,0,33,0 23,0,3,0,7,0,22,0,37,0,16,0 ================================================ FILE: schedules/37_11.csv ================================================ 7,0,28,0,24,0,4,0,12,0,34,0 8,0,16,0,29,0,26,0,5,0,31,0 36,0,6,0,10,0,15,0,20,0,25,0 3,0,14,0,1,0,17,0,11,0,27,0 37,0,35,0,33,0,21,0,18,0,19,0 13,0,32,0,23,0,30,0,9,0,22,0 2,0,31,0,10,0,6,0,14,0,17,0 36,0,28,0,15,0,3,0,35,0,26,0 12,0,23,0,19,0,22,0,21,0,16,0 9,0,18,0,32,0,5,0,37,0,34,0 2,0,20,0,4,0,25,0,13,0,8,0 11,0,24,0,33,0,30,0,7,0,29,0 27,0,19,0,6,0,1,0,18,0,36,0 15,1,10,0,22,0,31,0,32,0,28,0 17,0,33,0,4,0,16,0,12,0,35,0 5,0,30,0,25,0,24,0,27,0,37,0 26,0,8,0,7,0,21,0,13,0,14,0 3,0,29,0,34,0,2,0,11,0,9,0 20,0,1,0,27,0,23,0,30,0,15,0 36,0,19,0,4,0,5,0,8,0,32,0 13,0,16,0,17,0,9,0,29,0,28,0 23,0,37,0,26,0,34,0,10,0,11,0 25,0,21,0,31,0,33,0,22,0,3,0 2,0,35,0,18,0,7,0,1,0,12,0 14,0,20,0,37,0,6,0,24,0,29,0 21,0,11,0,8,0,9,0,15,0,4,0 22,0,12,0,31,0,30,0,36,0,27,0 5,0,28,0,35,0,10,0,14,0,25,0 33,0,6,0,18,0,3,0,23,0,2,0 13,0,7,0,20,0,16,0,19,0,34,0 26,0,32,0,25,0,1,0,17,0,24,0 14,0,29,0,11,0,18,0,15,0,3,0 12,0,21,0,36,0,5,0,20,0,23,0 16,0,27,0,7,0,10,0,37,0,8,0 17,0,28,0,26,0,6,0,4,0,30,0 31,0,33,0,9,0,19,0,1,0,13,0 24,0,34,0,35,0,22,0,32,0,2,0 30,0,11,0,18,0,25,0,16,0,4,0 36,0,23,0,17,0,37,0,7,0,31,0 24,0,19,0,8,0,3,0,28,0,10,0 20,0,9,0,35,0,2,0,26,0,27,0 34,0,14,0,32,0,13,0,15,0,33,0 6,0,1,0,22,0,5,0,21,0,29,0 12,0,10,0,27,0,26,0,9,0,24,0 16,0,23,0,28,0,14,0,2,0,36,0 19,0,31,0,15,0,11,0,7,0,4,0 12,0,3,0,30,0,25,0,6,0,34,0 22,0,18,0,17,0,20,0,8,0,33,0 29,0,13,0,37,0,21,0,32,0,35,0 5,0,24,0,3,0,1,0,31,0,16,0 27,0,14,0,4,0,20,0,17,0,19,0 25,0,29,0,2,0,36,0,11,0,26,0 32,0,15,0,1,0,12,0,18,0,28,0 6,0,35,0,8,0,23,0,34,0,9,0 33,0,21,0,30,0,5,0,7,0,10,0 13,0,22,0,4,0,37,0,36,0,3,0 32,0,16,0,11,0,20,0,31,0,6,0 9,0,21,0,27,0,28,0,33,0,14,0 24,0,10,0,30,0,18,0,13,0,34,0 25,0,7,0,19,0,23,0,35,0,29,0 15,0,5,0,12,0,17,0,2,0,8,0 37,0,1,0,28,0,22,0,26,0,20,0 31,0,34,0,30,0,35,0,19,0,14,0 15,0,17,0,21,0,23,0,24,0,18,0 26,0,4,0,10,0,29,0,1,0,33,0 3,0,9,0,8,0,7,0,36,0,32,0 13,0,27,0,5,0,6,0,12,0,11,0 2,0,16,0,15,0,22,0,37,0,25,0 ================================================ FILE: schedules/37_12.csv ================================================ 16,0,13,0,3,0,8,0,27,0,28,0 11,0,2,0,6,0,15,0,21,0,36,0 5,0,18,0,20,0,1,0,23,0,31,0 17,0,34,0,24,0,22,0,12,0,26,0 37,0,14,0,29,0,4,0,9,0,33,0 10,0,25,0,30,0,7,0,32,0,35,0 19,0,15,0,23,0,16,0,17,0,28,0 36,0,22,0,3,0,2,0,29,0,5,0 9,0,21,0,14,0,30,0,8,0,13,0 35,0,20,0,12,0,32,0,25,0,19,0 1,0,26,0,6,0,10,0,31,0,27,0 18,0,33,0,24,0,11,0,34,0,4,0 7,0,2,0,16,0,37,0,3,0,12,0 26,0,9,0,29,0,5,0,23,0,8,0 28,0,31,0,11,0,10,0,4,0,32,0 1,0,33,0,7,0,35,0,27,0,13,0 21,0,25,0,37,0,19,0,34,0,18,0 15,0,20,0,6,0,14,0,24,0,22,0 30,0,23,0,7,0,36,0,17,0,31,0 1,0,13,0,11,0,12,0,2,0,18,0 26,0,10,0,37,0,25,0,14,0,15,0 33,0,22,0,8,0,30,0,5,0,32,0 36,0,20,0,27,0,17,0,19,0,29,0 24,0,4,0,3,0,21,0,6,0,35,0 9,0,16,0,25,0,34,0,28,0,13,0 31,0,22,0,30,0,11,0,14,0,12,0 5,0,37,0,6,0,36,0,19,0,1,0 17,0,23,0,27,0,35,0,24,0,28,0 7,0,8,0,4,0,26,0,15,0,34,0 33,0,2,0,10,0,16,0,21,0,20,0 32,0,18,0,29,0,3,0,9,0,27,0 30,0,37,0,28,0,15,0,12,0,5,0 25,0,1,0,22,0,7,0,21,0,13,0 8,0,9,0,19,0,24,0,31,0,2,0 32,0,36,0,11,0,33,0,26,0,20,0 23,0,35,0,34,0,18,0,3,0,6,0 4,0,16,0,29,0,10,0,17,0,14,0 20,0,11,0,8,0,1,0,37,0,2,0 22,0,18,0,27,0,30,0,15,0,3,0 13,0,9,0,10,0,17,0,7,0,5,0 31,0,32,0,34,0,19,0,21,0,33,0 12,0,29,0,28,0,24,0,25,0,6,0 35,0,36,0,16,0,4,0,23,0,14,0 26,0,21,0,3,0,30,0,20,0,17,0 6,0,34,0,27,0,7,0,31,0,37,0 12,0,13,0,4,0,23,0,36,0,9,0 14,0,19,0,26,0,28,0,18,0,1,0 5,0,10,0,16,0,35,0,22,0,11,0 15,0,2,0,8,0,33,0,29,0,25,0 32,0,28,0,26,0,24,0,1,0,21,0 20,0,13,0,23,0,27,0,30,0,11,0 31,0,4,0,19,0,7,0,9,0,22,0 25,0,3,0,5,0,14,0,32,0,16,0 24,0,12,0,36,0,10,0,15,0,18,0 2,0,35,0,17,0,8,0,37,0,34,0 6,0,29,0,31,0,33,0,11,0,16,0 21,0,12,0,27,0,14,0,5,0,36,0 37,0,13,0,22,0,26,0,25,0,18,0 10,0,35,0,8,0,24,0,9,0,20,0 7,0,19,0,6,0,34,0,30,0,29,0 17,0,15,0,4,0,3,0,1,0,32,0 28,0,33,0,14,0,2,0,23,0,22,0 36,0,18,0,7,0,6,0,8,0,16,0 31,0,9,0,35,0,17,0,25,0,11,0 33,0,23,0,3,0,12,0,10,0,19,0 30,0,2,0,21,0,4,0,26,0,27,0 15,0,37,0,32,0,29,0,24,0,13,0 20,0,1,0,34,0,5,0,28,0,9,0 8,0,17,0,18,0,12,0,33,0,6,0 29,0,3,0,35,0,31,0,13,0,26,0 5,0,24,0,27,0,4,0,2,0,25,0 32,0,21,0,22,0,16,0,37,0,23,0 7,0,15,0,11,0,20,0,19,0,28,0 14,0,1,0,30,0,10,0,34,0,36,0 ================================================ FILE: schedules/37_13.csv ================================================ 23,0,22,0,3,0,28,0,9,0,2,0 7,0,37,0,31,0,32,0,21,0,13,0 6,0,30,0,19,0,5,0,14,0,29,0 1,0,10,0,17,0,15,0,35,0,11,0 24,0,12,0,8,0,27,0,26,0,33,0 34,0,16,0,25,0,18,0,20,0,4,0 36,0,37,0,6,0,10,0,5,0,19,0 11,0,29,0,8,0,33,0,31,0,15,0 17,0,30,0,21,0,34,0,35,0,18,0 1,0,24,0,9,0,12,0,25,0,14,0 16,0,22,0,36,0,4,0,20,0,3,0 26,0,2,0,32,0,13,0,23,0,28,0 27,0,12,0,34,0,7,0,6,0,29,0 21,1,3,0,33,0,19,1,30,0,14,0 31,1,5,0,18,0,28,1,35,0,25,0 11,1,27,0,4,0,8,0,9,0,13,0 20,0,15,0,10,0,37,0,2,0,1,0 17,0,7,0,36,0,23,0,24,0,26,0 32,0,22,0,28,0,16,0,3,0,6,0 25,0,19,0,9,0,30,0,8,0,1,0 24,0,4,0,2,0,27,0,17,0,31,0 5,0,34,0,15,0,36,0,10,0,13,0 7,0,11,0,14,0,21,0,23,0,18,0 29,0,33,0,26,0,35,0,22,0,37,0 32,0,16,0,10,0,20,0,12,0,24,0 25,0,23,0,34,0,19,0,17,0,15,0 7,0,2,0,30,0,5,0,21,0,8,0 16,0,13,0,29,0,27,0,22,0,1,0 36,0,31,0,35,0,14,0,20,0,26,0 12,0,11,0,37,0,18,0,9,0,3,0 4,0,32,0,6,0,28,0,33,0,5,0 20,0,7,0,8,0,27,0,15,0,24,0 10,0,22,0,9,0,31,0,29,0,23,0 14,0,26,0,21,0,12,0,33,0,1,0 25,0,3,0,28,0,13,0,35,0,34,0 11,0,32,0,19,0,37,0,16,0,4,0 2,0,6,0,17,0,30,0,18,0,36,0 5,0,12,0,7,0,1,0,3,0,31,0 27,0,25,0,23,0,4,0,29,0,22,0 14,0,13,0,19,0,20,0,26,0,36,0 10,0,28,0,30,0,37,0,15,0,32,0 11,0,6,0,24,0,2,0,8,0,35,0 18,0,16,0,33,0,21,0,34,0,17,0 9,0,12,0,4,0,37,0,29,0,3,0 35,0,1,0,6,0,30,0,24,0,32,0 19,0,18,0,27,0,10,0,26,0,7,0 8,0,16,0,31,0,34,0,28,0,36,0 20,0,17,0,5,0,9,0,14,0,15,0 21,0,23,0,2,0,25,0,11,0,33,0 22,0,24,0,34,0,13,0,30,0,3,0 35,0,10,0,29,0,8,0,17,0,4,0 26,0,18,0,15,0,16,0,12,0,21,0 27,0,28,0,1,0,37,0,23,0,5,0 6,0,14,0,22,0,36,0,11,0,19,0 13,0,20,0,2,0,31,0,33,0,9,0 32,0,34,0,29,0,25,0,7,0,1,0 8,0,18,0,10,0,23,0,16,0,30,0 37,0,31,0,26,0,33,0,2,0,14,0 24,0,25,0,5,0,11,0,22,0,20,0 35,0,4,0,19,0,12,0,28,0,13,0 36,0,3,0,15,0,21,0,6,0,27,0 9,0,17,0,11,0,32,0,7,0,22,0 14,0,28,0,8,0,19,0,34,0,37,0 24,0,29,0,18,0,36,0,2,0,12,0 5,0,15,0,13,0,32,0,35,0,17,0 20,0,21,0,1,0,4,0,23,0,7,0 27,0,3,0,16,0,25,0,26,0,30,0 31,0,10,0,33,0,9,0,6,0,34,0 2,0,5,0,22,0,11,0,18,0,1,0 29,0,30,0,20,0,7,0,28,0,15,0 25,0,21,0,37,0,24,0,9,0,36,0 13,0,31,0,4,0,26,0,17,0,16,0 35,0,3,0,27,0,8,0,19,0,33,0 23,0,14,0,32,0,10,0,12,0,6,0 26,0,34,0,31,0,9,0,5,0,4,0 35,0,33,0,7,0,16,0,24,0,2,0 18,0,11,0,28,0,14,0,10,0,27,0 15,0,12,0,30,0,21,0,19,0,22,0 23,0,1,0,36,0,3,0,32,0,8,0 37,0,13,0,6,0,17,0,29,0,25,0 20,0,19,0,28,0,21,0,31,0,11,0 ================================================ FILE: schedules/37_14.csv ================================================ 33,0,31,0,2,0,34,0,10,0,24,0 13,0,17,0,4,0,27,0,22,0,5,0 12,0,14,0,26,0,1,0,23,0,25,0 20,0,30,0,8,0,21,0,7,0,37,0 11,0,32,0,19,0,15,0,35,0,9,0 3,0,28,0,29,0,16,0,18,0,6,0 36,0,12,0,34,0,8,0,21,0,4,0 31,0,5,0,1,0,32,0,35,0,37,0 27,0,2,0,26,0,16,0,29,0,30,0 11,0,36,0,18,0,22,0,25,0,17,0 14,0,9,0,6,0,24,0,15,0,13,0 19,0,23,0,33,0,7,0,3,0,20,0 28,0,37,0,18,0,10,0,27,0,12,0 35,1,1,0,26,0,16,1,34,0,2,0 25,1,20,0,15,0,7,1,17,0,14,0 5,0,30,0,28,0,3,0,23,0,11,0 24,0,31,0,22,0,6,0,21,0,19,0 9,0,13,0,8,0,33,0,32,0,4,0 29,0,34,0,14,0,10,0,36,0,5,0 30,0,24,0,25,0,28,0,19,0,27,0 13,0,26,0,18,0,6,0,23,0,32,0 16,0,37,0,17,0,9,0,11,0,33,0 20,0,21,0,1,0,35,0,4,0,10,0 22,0,31,0,36,0,15,0,7,0,29,0 3,0,2,0,25,0,8,0,12,0,28,0 17,0,18,0,5,0,1,0,13,0,33,0 27,0,16,0,34,0,32,0,14,0,36,0 4,0,7,0,9,0,10,0,30,0,37,0 23,0,24,0,19,0,3,0,8,0,15,0 6,0,12,0,22,0,2,0,21,0,35,0 31,0,26,0,29,0,20,0,11,0,17,0 32,0,30,0,16,0,5,0,8,0,19,0 7,0,24,0,27,0,1,0,14,0,10,0 36,0,23,0,35,0,28,0,6,0,25,0 26,0,9,0,22,0,21,0,12,0,29,0 15,0,11,0,34,0,20,0,13,0,2,0 33,0,37,0,4,0,31,0,3,0,18,0 19,0,17,0,7,0,28,0,16,0,9,0 24,0,35,0,29,0,26,0,21,0,36,0 1,0,3,0,32,0,30,0,12,0,13,0 15,0,5,0,37,0,22,0,11,0,2,0 6,0,20,0,4,0,33,0,34,0,25,0 10,0,31,0,27,0,23,0,18,0,8,0 14,0,15,0,19,0,1,0,11,0,28,0 3,0,25,0,37,0,5,0,16,0,26,0 8,0,22,0,33,0,12,0,24,0,20,0 27,0,17,0,21,0,18,0,2,0,32,0 34,0,30,0,9,0,14,0,31,0,35,0 23,0,7,0,10,0,6,0,13,0,29,0 4,0,12,0,19,0,36,0,11,0,18,0 20,0,35,0,28,0,37,0,32,0,24,0 13,0,16,0,22,0,7,0,34,0,31,0 29,0,36,0,1,0,33,0,6,0,3,0 5,0,25,0,9,0,14,0,30,0,27,0 2,0,10,0,15,0,17,0,8,0,26,0 23,0,21,0,28,0,4,0,16,0,36,0 14,0,22,0,34,0,9,0,5,0,3,0 29,0,2,0,19,0,25,0,32,0,10,0 17,0,12,0,7,0,1,0,24,0,4,0 8,0,37,0,31,0,6,0,30,0,26,0 27,0,33,0,35,0,13,0,15,0,23,0 21,0,11,0,5,0,18,0,20,0,14,0 36,0,7,0,25,0,12,0,2,0,24,0 27,0,15,0,4,0,17,0,28,0,34,0 1,0,18,0,30,0,31,0,9,0,23,0 33,0,10,0,26,0,21,0,22,0,32,0 11,0,13,0,37,0,19,0,35,0,3,0 6,0,16,0,8,0,29,0,20,0,5,0 21,0,24,0,18,0,30,0,17,0,33,0 10,0,3,0,13,0,28,0,36,0,2,0 1,0,23,0,12,0,19,0,16,0,31,0 14,0,8,0,25,0,35,0,22,0,7,0 20,0,15,0,32,0,37,0,29,0,9,0 6,0,11,0,27,0,26,0,4,0,34,0 14,0,36,0,33,0,19,0,22,0,30,0 16,0,10,0,21,0,31,0,13,0,25,0 1,0,2,0,8,0,11,0,4,0,29,0 6,0,20,0,35,0,3,0,12,0,27,0 28,0,17,0,24,0,23,0,5,0,34,0 9,0,18,0,32,0,26,0,37,0,7,0 30,0,3,0,4,0,15,0,21,0,25,0 11,0,35,0,10,0,24,0,14,0,16,0 7,0,13,0,32,0,8,0,29,0,27,0 31,0,2,0,9,0,22,0,23,0,20,0 5,0,12,0,33,0,28,0,26,0,15,0 36,0,6,0,17,0,37,0,34,0,19,0 18,0,35,0,25,0,1,0,16,0,7,0 ================================================ FILE: schedules/37_2.csv ================================================ 28,0,20,0,6,0,9,0,4,0,10,0 21,0,36,0,8,0,3,0,35,0,18,0 2,0,27,0,24,0,11,0,7,0,29,0 32,0,14,0,1,0,30,0,16,0,34,0 33,0,25,0,23,0,17,0,26,0,12,0 31,0,15,0,13,0,5,0,19,0,37,0 22,0,6,0,21,0,27,0,20,0,1,0 29,0,26,0,3,0,4,0,16,0,12,0 18,0,9,0,11,0,23,0,13,0,34,0 19,0,30,0,7,0,8,0,33,0,22,0 36,0,17,0,5,0,24,0,28,0,14,0 35,0,10,0,32,0,37,0,2,0,25,0 31,0,3,1,1,1,15,0,7,1,12,1 ================================================ FILE: schedules/37_3.csv ================================================ 25,0,10,0,22,0,9,0,27,0,34,0 2,0,19,0,37,0,26,0,23,0,35,0 36,0,20,0,8,0,21,0,32,0,18,0 5,0,12,0,3,0,15,0,17,0,29,0 28,0,31,0,13,0,11,0,6,0,14,0 1,0,7,0,4,0,16,0,30,0,33,0 24,0,19,0,27,0,36,0,5,0,9,0 3,1,6,0,32,0,21,1,25,0,37,0 10,1,29,0,1,0,18,0,2,0,31,0 26,0,17,0,11,0,7,0,33,0,8,0 16,0,22,0,23,0,20,0,28,0,12,0 34,0,15,0,14,0,4,0,35,0,24,0 30,0,18,0,9,0,13,0,3,0,26,0 33,0,21,0,28,0,5,0,2,0,25,0 34,0,20,0,17,0,1,0,19,0,6,0 13,0,4,0,12,0,10,0,32,0,24,0 16,0,31,0,37,0,27,0,15,0,8,0 35,0,29,0,30,0,36,0,11,0,22,0 14,0,23,0,21,0,7,0,3,0,10,0 ================================================ FILE: schedules/37_4.csv ================================================ 5,0,35,0,14,0,2,0,32,0,1,0 26,0,23,0,6,0,7,0,36,0,17,0 25,0,33,0,24,0,4,0,19,0,8,0 10,0,21,0,11,0,3,0,15,0,29,0 20,0,13,0,18,0,9,0,34,0,30,0 16,0,28,0,12,0,27,0,22,0,37,0 23,0,3,0,1,0,31,0,32,0,33,0 9,0,5,0,15,0,29,0,19,0,17,0 11,0,26,0,20,0,25,0,28,0,14,0 36,0,30,0,27,0,35,0,22,0,24,0 7,0,4,0,12,0,2,0,13,0,21,0 8,0,31,0,34,0,10,0,6,0,16,0 37,0,36,0,33,0,18,0,14,0,15,0 35,1,3,0,7,0,28,1,9,0,24,0 30,0,2,0,16,0,23,0,11,0,19,0 13,0,22,0,17,0,1,0,25,0,10,0 32,0,21,0,18,0,8,0,27,0,26,0 4,0,37,0,29,0,20,0,6,0,31,0 34,0,5,0,25,0,12,0,36,0,3,0 2,0,27,0,9,0,33,0,26,0,10,0 19,0,30,0,1,0,28,0,21,0,6,0 12,0,8,0,15,0,35,0,23,0,20,0 18,0,11,0,22,0,7,0,31,0,5,0 14,0,32,0,13,0,24,0,29,0,16,0 4,0,17,0,35,0,37,0,34,0,28,0 ================================================ FILE: schedules/37_5.csv ================================================ 17,0,7,0,6,0,35,0,15,0,8,0 16,0,28,0,24,0,30,0,12,0,33,0 37,0,25,0,19,0,31,0,29,0,13,0 32,0,20,0,5,0,10,0,2,0,22,0 14,0,23,0,36,0,26,0,18,0,34,0 4,0,27,0,1,0,11,0,9,0,21,0 25,0,5,0,29,0,3,0,30,0,35,0 13,0,10,0,24,0,36,0,28,0,17,0 37,0,14,0,15,0,20,0,1,0,33,0 7,0,4,0,23,0,32,0,16,0,19,0 8,0,18,0,12,0,22,0,3,0,21,0 2,0,34,0,31,0,6,0,27,0,11,0 26,0,37,0,16,0,9,0,5,0,17,0 36,1,35,0,1,0,23,0,32,0,12,0 29,0,22,0,14,0,15,0,27,0,24,0 30,0,6,0,21,0,7,0,13,0,9,0 31,0,3,0,11,0,10,0,26,0,33,0 4,0,28,0,34,0,8,0,25,0,20,0 18,0,19,0,30,0,2,0,1,0,17,0 32,0,3,0,36,0,16,0,6,0,15,0 12,0,21,0,34,0,29,0,37,0,10,0 20,0,9,0,35,0,31,0,18,0,24,0 8,0,11,0,14,0,19,0,5,0,13,0 22,0,27,0,26,0,7,0,25,0,28,0 23,0,33,0,3,0,2,0,4,0,9,0 32,0,24,0,6,0,18,0,37,0,11,0 19,0,27,0,20,0,36,0,30,0,26,0 28,0,21,0,31,0,5,0,23,0,15,0 17,0,12,0,10,0,4,0,14,0,25,0 22,0,35,0,13,0,16,0,34,0,1,0 33,0,29,0,2,0,7,0,8,0,36,0 ================================================ FILE: schedules/37_6.csv ================================================ 29,0,16,0,31,0,22,0,3,0,21,0 25,0,24,0,2,0,20,0,8,0,13,0 4,0,17,0,30,0,14,0,33,0,28,0 1,0,35,0,15,0,34,0,11,0,10,0 7,0,9,0,12,0,36,0,37,0,23,0 6,0,32,0,18,0,26,0,19,0,5,0 27,0,3,0,16,0,30,0,35,0,24,0 14,0,15,0,29,0,33,0,7,0,25,0 18,0,22,0,17,0,9,0,1,0,32,0 21,0,20,0,27,0,12,0,6,0,5,0 34,0,36,0,31,0,13,0,10,0,28,0 4,0,19,0,11,0,2,0,26,0,37,0 8,0,5,0,17,0,23,0,35,0,29,0 6,0,28,0,24,0,22,0,10,0,7,0 33,0,16,0,11,0,19,0,9,0,20,0 3,0,34,0,12,0,8,0,18,0,4,0 37,0,25,0,15,0,32,0,31,0,27,0 14,0,23,0,30,0,2,0,36,0,21,0 13,0,26,0,7,0,1,0,8,0,3,0 24,0,5,0,9,0,15,0,4,0,34,0 25,0,10,0,17,0,19,0,21,0,18,0 12,0,37,0,1,0,28,0,2,0,16,0 29,0,13,0,32,0,6,0,11,0,30,0 22,0,26,0,35,0,20,0,36,0,33,0 31,0,14,0,19,0,27,0,23,0,1,0 37,0,16,0,8,0,15,0,17,0,6,0 3,0,28,0,36,0,25,0,11,0,5,0 23,0,32,0,21,0,33,0,24,0,34,0 30,0,2,0,20,0,7,0,31,0,18,0 26,0,4,0,9,0,10,0,29,0,27,0 13,0,14,0,35,0,22,0,12,0,15,0 7,0,20,0,3,0,17,0,34,0,19,0 25,0,36,0,4,0,16,0,6,0,1,0 10,0,30,0,37,0,23,0,5,0,22,0 8,0,32,0,28,0,14,0,21,0,9,0 26,0,11,0,29,0,24,0,12,0,31,0 27,0,33,0,35,0,18,0,2,0,13,0 ================================================ FILE: schedules/37_7.csv ================================================ 24,0,28,0,21,0,11,0,14,0,5,0 7,0,25,0,36,0,32,0,20,0,33,0 23,0,13,0,2,0,8,0,17,0,18,0 19,0,3,0,29,0,12,0,6,0,30,0 9,0,26,0,37,0,15,0,16,0,10,0 1,0,4,0,35,0,34,0,27,0,31,0 22,0,17,0,12,0,14,0,29,0,32,0 3,0,11,0,25,0,24,0,5,0,18,0 10,0,21,0,30,0,1,0,37,0,16,0 31,0,13,0,19,0,36,0,27,0,9,0 15,0,7,0,4,0,23,0,28,0,6,0 34,0,20,0,8,0,26,0,33,0,22,0 2,0,14,0,1,0,35,0,3,0,9,0 29,1,10,0,31,0,28,1,18,0,32,0 12,1,33,0,24,0,26,1,16,0,4,0 37,0,17,0,11,0,13,1,20,0,6,0 27,0,2,0,5,0,30,0,7,0,22,0 8,0,19,0,35,0,15,0,25,0,21,0 34,0,23,0,14,0,36,0,29,0,37,0 31,0,16,0,7,0,22,0,13,0,3,0 9,0,25,0,33,0,28,0,27,0,17,0 5,0,6,0,10,0,23,0,36,0,12,0 8,0,26,0,1,0,19,0,18,0,4,0 15,0,34,0,32,0,11,0,2,0,30,0 20,0,24,0,22,0,35,0,21,0,6,0 28,0,5,0,3,0,37,0,8,0,10,0 14,0,13,0,25,0,1,0,30,0,34,0 15,0,2,0,26,0,36,0,24,0,31,0 35,0,32,0,11,0,23,0,19,0,33,0 7,0,18,0,29,0,21,0,9,0,4,0 16,0,12,0,27,0,17,0,20,0,15,0 6,0,14,0,31,0,8,0,5,0,33,0 25,0,4,0,22,0,11,0,13,0,10,0 23,0,24,0,37,0,9,0,12,0,1,0 3,0,27,0,32,0,21,0,26,0,34,0 16,0,29,0,20,0,19,0,2,0,28,0 36,0,18,0,30,0,7,0,35,0,17,0 32,0,6,0,26,0,13,0,5,0,9,0 12,0,37,0,21,0,25,0,2,0,31,0 36,0,16,0,8,0,27,0,11,0,29,0 22,0,1,0,18,0,28,0,33,0,15,0 10,0,17,0,34,0,7,0,24,0,19,0 23,0,4,0,20,0,30,0,3,0,14,0 35,0,28,0,12,0,29,0,26,0,13,0 ================================================ FILE: schedules/37_8.csv ================================================ 25,0,12,0,21,0,28,0,33,0,31,0 26,0,2,0,37,0,19,0,5,0,7,0 6,0,24,0,4,0,16,0,14,0,3,0 27,0,15,0,32,0,17,0,9,0,20,0 1,0,35,0,29,0,36,0,8,0,34,0 13,0,18,0,10,0,30,0,23,0,11,0 22,0,25,0,28,0,20,0,4,0,32,0 6,0,21,0,16,0,36,0,15,0,2,0 30,0,19,0,31,0,12,0,8,0,27,0 1,0,18,0,11,0,35,0,13,0,37,0 14,0,17,0,5,0,33,0,29,0,10,0 9,0,3,0,34,0,23,0,26,0,22,0 7,0,1,0,6,0,24,0,27,0,25,0 11,1,35,0,15,0,12,1,5,0,28,0 36,1,26,0,20,0,3,1,33,0,18,0 31,0,37,0,24,0,23,0,2,0,17,0 14,0,19,0,34,0,21,0,13,0,32,0 16,0,4,0,7,0,10,0,30,0,9,0 8,0,29,0,26,0,22,0,12,0,15,0 11,0,34,0,20,0,19,0,17,0,33,0 13,0,25,0,14,0,35,0,2,0,30,0 7,0,3,0,28,0,36,0,31,0,1,0 23,0,5,0,37,0,4,0,27,0,22,0 10,0,8,0,24,0,32,0,6,0,9,0 16,0,29,0,19,0,18,0,21,0,28,0 17,0,11,0,36,0,25,0,4,0,26,0 33,0,22,0,30,0,15,0,1,0,24,0 32,0,14,0,18,0,12,0,6,0,3,0 13,0,34,0,5,0,16,0,8,0,37,0 20,0,35,0,21,0,7,0,23,0,10,0 31,0,29,0,2,0,9,0,27,0,11,0 17,0,22,0,1,0,12,0,18,0,16,0 24,0,32,0,30,0,36,0,21,0,5,0 9,0,8,0,28,0,33,0,14,0,23,0 4,0,2,0,13,0,20,0,29,0,7,0 15,0,3,0,25,0,10,0,37,0,19,0 27,0,31,0,6,0,35,0,34,0,26,0 32,0,8,0,22,0,2,0,7,0,11,0 29,0,23,0,9,0,19,0,25,0,1,0 18,0,27,0,37,0,24,0,36,0,14,0 30,0,28,0,13,0,17,0,26,0,6,0 5,0,20,0,10,0,31,0,12,0,34,0 15,0,21,0,33,0,3,0,35,0,4,0 16,0,1,0,23,0,26,0,32,0,11,0 36,0,19,0,22,0,31,0,14,0,10,0 2,0,12,0,24,0,34,0,4,0,28,0 17,0,27,0,35,0,8,0,3,0,21,0 37,0,33,0,20,0,30,0,29,0,6,0 18,0,7,0,25,0,5,0,16,0,15,0 9,0,12,0,36,0,13,0,11,0,3,0 ================================================ FILE: schedules/37_9.csv ================================================ 20,0,32,0,2,0,10,0,30,0,31,0 23,0,26,0,27,0,8,0,7,0,28,0 6,0,36,0,37,0,33,0,16,0,5,0 3,0,9,0,18,0,22,0,15,0,13,0 14,0,25,0,17,0,1,0,29,0,4,0 11,0,21,0,19,0,24,0,12,0,34,0 35,0,32,0,30,0,18,0,33,0,22,0 7,0,6,0,20,0,13,0,2,0,3,0 11,0,36,0,14,0,21,0,15,0,8,0 10,0,34,0,1,0,28,0,9,0,26,0 16,0,4,0,23,0,25,0,5,0,35,0 31,0,27,0,24,0,12,0,17,0,37,0 19,0,9,0,22,0,29,0,14,0,2,0 25,1,30,0,16,0,28,1,3,0,23,0 4,1,20,0,15,0,37,0,1,0,27,0 8,0,13,0,33,0,5,0,19,0,34,0 7,0,17,0,35,0,10,0,6,0,11,0 18,0,29,0,26,0,31,0,12,0,36,0 21,0,32,0,3,0,24,0,37,0,28,0 13,0,11,0,9,0,27,0,16,0,35,0 5,0,1,0,7,0,19,0,18,0,30,0 34,0,23,0,31,0,22,0,14,0,12,0 26,0,33,0,4,0,21,0,24,0,2,0 10,0,25,0,15,0,32,0,6,0,8,0 36,0,29,0,35,0,17,0,20,0,3,0 2,0,18,0,7,0,4,0,11,0,34,0 28,0,22,0,10,0,37,0,14,0,5,0 25,0,29,0,31,0,33,0,27,0,21,0 17,0,15,0,16,0,20,0,26,0,19,0 24,0,23,0,32,0,13,0,36,0,1,0 8,0,9,0,12,0,6,0,30,0,33,0 21,0,34,0,18,0,20,0,28,0,16,0 13,0,27,0,14,0,3,0,26,0,10,0 4,0,5,0,12,0,15,0,32,0,7,0 8,0,2,0,37,0,9,0,1,0,17,0 31,0,35,0,6,0,29,0,19,0,23,0 24,0,25,0,11,0,30,0,36,0,22,0 12,0,33,0,7,0,14,0,16,0,1,0 2,0,26,0,34,0,3,0,35,0,4,0 27,0,9,0,5,0,31,0,11,0,32,0 18,0,24,0,15,0,29,0,10,0,8,0 22,0,20,0,37,0,25,0,28,0,19,0 13,0,6,0,17,0,30,0,21,0,23,0 36,0,16,0,3,0,8,0,1,0,31,0 14,0,15,0,28,0,11,0,35,0,2,0 29,0,12,0,30,0,26,0,13,0,37,0 5,0,20,0,23,0,9,0,24,0,33,0 25,0,34,0,22,0,17,0,10,0,32,0 21,0,36,0,4,0,27,0,7,0,19,0 6,0,26,0,14,0,18,0,11,0,20,0 30,0,1,0,24,0,15,0,34,0,35,0 2,0,28,0,12,0,36,0,9,0,25,0 8,0,4,0,27,0,22,0,6,0,16,0 3,0,19,0,37,0,7,0,10,0,23,0 29,0,21,0,17,0,5,0,18,0,32,0 31,0,33,0,28,0,13,0,25,0,4,0 ================================================ FILE: schedules/38_1.csv ================================================ 11,0,1,0,27,0,6,0,7,0,21,0 25,0,17,0,38,0,18,0,28,0,9,0 24,0,2,0,16,0,10,0,8,0,35,0 19,0,33,0,15,0,20,0,22,0,30,0 12,0,23,0,36,0,3,0,29,0,13,0 5,0,14,0,31,0,34,0,26,0,37,0 32,0,1,1,8,1,4,0,20,1,28,1 ================================================ FILE: schedules/38_10.csv ================================================ 1,0,16,0,35,0,36,0,26,0,29,0 4,0,7,0,25,0,33,0,5,0,19,0 10,0,20,0,34,0,23,0,30,0,6,0 15,0,21,0,17,0,24,0,11,0,14,0 18,0,38,0,13,0,37,0,2,0,31,0 9,0,12,0,8,0,27,0,28,0,3,0 32,0,14,0,29,0,22,0,10,0,33,0 6,0,18,0,17,0,16,0,23,0,21,0 1,0,19,0,26,0,36,0,28,0,37,0 2,0,11,0,20,0,12,0,25,0,24,0 27,0,9,0,38,0,4,0,15,0,34,0 7,0,30,0,31,0,35,0,22,0,3,0 13,0,8,0,37,0,32,0,5,0,20,0 2,1,23,0,14,0,9,1,16,0,26,0 6,1,1,0,29,0,15,1,31,0,38,0 30,0,27,0,10,0,7,0,21,0,19,0 36,0,35,0,5,0,18,0,12,0,22,0 17,0,25,0,34,0,32,0,3,0,8,0 4,0,33,0,24,0,28,0,11,0,13,0 30,0,19,0,12,0,18,0,15,0,2,0 23,0,36,0,22,0,21,0,38,0,25,0 35,0,14,0,33,0,37,0,17,0,3,0 8,0,4,0,28,0,16,0,10,0,13,0 9,0,20,0,31,0,7,0,26,0,34,0 24,0,6,0,32,0,29,0,27,0,5,0 11,0,21,0,33,0,1,0,18,0,8,0 2,0,12,0,36,0,4,0,31,0,10,0 19,0,3,0,38,0,24,0,35,0,26,0 5,0,34,0,13,0,14,0,28,0,1,0 37,0,29,0,23,0,7,0,11,0,9,0 15,0,27,0,22,0,16,0,6,0,20,0 17,0,30,0,28,0,25,0,32,0,36,0 8,0,23,0,24,0,37,0,7,0,1,0 26,0,6,0,3,0,12,0,13,0,4,0 22,0,21,0,2,0,35,0,27,0,34,0 32,0,16,0,30,0,11,0,38,0,5,0 10,0,15,0,19,0,33,0,31,0,17,0 29,0,18,0,9,0,25,0,20,0,14,0 32,0,1,0,22,0,7,0,2,0,28,0 3,0,5,0,24,0,36,0,10,0,6,0 37,0,34,0,16,0,20,0,12,0,17,0 8,0,33,0,29,0,15,0,30,0,26,0 21,0,13,0,35,0,9,0,25,0,19,0 14,0,31,0,27,0,4,0,11,0,23,0 38,0,32,0,28,0,18,0,3,0,20,0 7,0,29,0,13,0,16,0,15,0,12,0 9,0,1,0,17,0,22,0,5,0,30,0 6,0,8,0,11,0,35,0,2,0,19,0 31,0,36,0,34,0,33,0,27,0,23,0 25,0,26,0,18,0,38,0,10,0,24,0 21,0,37,0,30,0,4,0,14,0,6,0 12,0,35,0,23,0,15,0,32,0,33,0 18,0,27,0,7,0,13,0,25,0,1,0 2,0,3,0,4,0,29,0,16,0,17,0 37,0,10,0,11,0,22,0,8,0,38,0 19,0,24,0,36,0,14,0,9,0,34,0 20,0,28,0,26,0,31,0,21,0,5,0 12,0,6,0,38,0,17,0,7,0,8,0 25,0,15,0,11,0,9,0,3,0,36,0 5,0,18,0,37,0,34,0,29,0,19,0 26,0,21,0,14,0,27,0,32,0,2,0 35,0,4,0,20,0,10,0,1,0,23,0 16,0,22,0,31,0,13,0,24,0,30,0 33,0,2,0,6,0,28,0,9,0,15,0 ================================================ FILE: schedules/38_11.csv ================================================ 14,0,17,0,27,0,29,0,12,0,34,0 23,0,22,0,31,0,18,0,3,0,6,0 2,0,4,0,26,0,28,0,10,0,37,0 9,0,13,0,38,0,19,0,35,0,33,0 25,0,21,0,5,0,32,0,1,0,20,0 15,0,11,0,8,0,7,0,30,0,24,0 16,0,28,0,14,0,36,0,22,0,27,0 38,0,37,0,33,0,2,0,31,0,20,0 34,0,26,0,1,0,5,0,9,0,15,0 24,0,29,0,3,0,10,0,8,0,7,0 18,0,13,0,23,0,16,0,30,0,25,0 6,0,36,0,11,0,4,0,21,0,32,0 12,0,19,0,37,0,35,0,17,0,7,0 3,1,13,0,20,0,15,1,14,0,24,0 16,0,21,0,36,0,6,0,9,0,34,0 33,0,4,0,23,0,26,0,27,0,29,0 8,0,19,0,2,0,11,0,18,0,22,0 17,0,38,0,32,0,1,0,30,0,5,0 12,0,31,0,10,0,35,0,25,0,28,0 21,0,19,0,6,0,29,0,37,0,2,0 18,0,14,0,7,0,30,0,26,0,9,0 33,0,16,0,32,0,22,0,38,0,8,0 12,0,13,0,25,0,20,0,34,0,17,0 27,0,4,0,35,0,1,0,15,0,23,0 31,0,11,0,28,0,5,0,10,0,24,0 3,0,7,0,21,0,36,0,19,0,13,0 30,0,29,0,22,0,4,0,12,0,9,0 35,0,10,0,14,0,5,0,20,0,33,0 6,0,38,0,24,0,17,0,26,0,18,0 16,0,34,0,2,0,28,0,3,0,1,0 36,0,15,0,32,0,23,0,8,0,25,0 11,0,27,0,13,0,31,0,37,0,17,0 35,0,5,0,3,0,21,0,22,0,2,0 18,0,28,0,30,0,38,0,36,0,20,0 7,0,23,0,34,0,33,0,11,0,29,0 24,0,27,0,12,0,1,0,4,0,16,0 25,0,15,0,37,0,9,0,19,0,31,0 14,0,8,0,32,0,10,0,6,0,26,0 22,0,12,0,7,0,27,0,21,0,38,0 2,0,35,0,15,0,18,0,16,0,29,0 8,0,6,0,5,0,37,0,13,0,34,0 14,0,26,0,20,0,31,0,3,0,4,0 1,0,11,0,10,0,23,0,30,0,19,0 9,0,17,0,33,0,24,0,36,0,28,0 25,0,38,0,4,0,32,0,13,0,7,0 19,0,5,0,16,0,30,0,8,0,27,0 33,0,21,0,34,0,15,0,31,0,18,0 11,0,9,0,23,0,12,0,2,0,14,0 29,0,28,0,17,0,32,0,37,0,3,0 1,0,25,0,36,0,35,0,24,0,26,0 20,0,10,0,19,0,6,0,22,0,15,0 7,0,2,0,5,0,23,0,16,0,17,0 31,0,38,0,1,0,14,0,36,0,29,0 26,0,28,0,12,0,21,0,8,0,13,0 20,0,22,0,35,0,34,0,24,0,11,0 9,0,37,0,27,0,18,0,10,0,32,0 6,0,30,0,4,0,25,0,33,0,3,0 8,0,24,0,17,0,23,0,21,0,14,0 32,0,31,0,26,0,35,0,12,0,16,0 6,0,2,0,27,0,11,0,3,0,30,0 9,0,18,0,36,0,5,0,29,0,13,0 10,0,4,0,34,0,15,0,19,0,38,0 1,0,7,0,37,0,33,0,22,0,28,0 20,0,29,0,8,0,25,0,31,0,27,0 3,0,10,0,15,0,36,0,5,0,12,0 32,0,28,0,19,0,24,0,23,0,2,0 30,0,37,0,21,0,34,0,25,0,14,0 18,0,1,0,35,0,7,0,33,0,6,0 20,0,16,0,9,0,11,0,38,0,26,0 17,0,22,0,3,0,4,0,13,0,15,0 ================================================ FILE: schedules/38_12.csv ================================================ 17,0,37,0,28,0,10,0,38,0,14,0 22,0,19,0,20,0,6,0,9,0,3,0 26,0,32,0,1,0,24,0,29,0,33,0 25,0,30,0,5,0,21,0,4,0,11,0 36,0,34,0,16,0,2,0,15,0,35,0 31,0,8,0,13,0,23,0,7,0,12,0 18,0,3,0,21,0,27,0,14,0,20,0 2,0,16,0,9,0,11,0,25,0,19,0 30,0,37,0,10,0,1,0,15,0,13,0 6,0,4,0,29,0,17,0,18,0,23,0 28,0,26,0,33,0,31,0,22,0,32,0 36,0,24,0,38,0,34,0,27,0,7,0 8,0,35,0,20,0,5,0,12,0,2,0 10,0,18,0,28,0,21,0,23,0,19,0 13,0,6,0,33,0,30,0,14,0,16,0 5,0,26,0,27,0,4,0,15,0,12,0 7,0,1,0,9,0,36,0,32,0,25,0 37,0,35,0,38,0,8,0,17,0,24,0 31,0,11,0,34,0,29,0,3,0,22,0 6,0,15,0,21,0,9,0,32,0,33,0 2,0,8,0,26,0,28,0,16,0,13,0 38,0,22,0,11,0,1,0,18,0,37,0 7,0,25,0,10,0,27,0,29,0,12,0 20,0,23,0,5,0,34,0,30,0,24,0 31,0,36,0,19,0,35,0,4,0,3,0 17,0,15,0,29,0,14,0,9,0,8,0 33,0,27,0,18,0,20,0,28,0,2,0 26,0,34,0,12,0,37,0,19,0,6,0 36,0,11,0,35,0,24,0,13,0,10,0 5,0,32,0,14,0,23,0,25,0,31,0 17,0,38,0,4,0,21,0,1,0,16,0 7,0,3,0,8,0,22,0,30,0,33,0 9,0,29,0,18,0,36,0,5,0,37,0 25,0,14,0,34,0,19,0,24,0,1,0 7,0,4,0,13,0,28,0,15,0,11,0 23,0,10,0,22,0,16,0,38,0,20,0 27,0,3,0,2,0,26,0,6,0,35,0 21,0,32,0,17,0,30,0,12,0,31,0 22,0,8,0,28,0,7,0,36,0,29,0 9,0,37,0,15,0,13,0,23,0,35,0 32,0,38,0,30,0,2,0,19,0,18,0 10,0,12,0,3,0,4,0,33,0,5,0 16,0,17,0,25,0,26,0,24,0,20,0 11,0,1,0,14,0,6,0,27,0,31,0 34,0,3,0,23,0,21,0,10,0,2,0 4,0,26,0,19,0,20,0,7,0,17,0 12,0,28,0,9,0,24,0,16,0,11,0 1,0,5,0,6,0,36,0,13,0,22,0 31,0,15,0,33,0,18,0,38,0,25,0 37,0,14,0,29,0,35,0,30,0,21,0 32,0,34,0,20,0,8,0,27,0,11,0 16,0,7,0,18,0,3,0,1,0,17,0 25,0,12,0,37,0,36,0,28,0,30,0 32,0,19,0,27,0,5,0,15,0,22,0 13,0,29,0,21,0,2,0,34,0,4,0 9,0,31,0,24,0,6,0,10,0,8,0 35,0,33,0,14,0,26,0,38,0,23,0 4,0,16,0,27,0,37,0,22,0,34,0 25,0,3,0,24,0,18,0,8,0,32,0 9,0,21,0,36,0,12,0,33,0,38,0 2,0,29,0,23,0,17,0,11,0,26,0 5,0,35,0,10,0,6,0,14,0,7,0 15,0,30,0,20,0,1,0,31,0,28,0 13,0,11,0,2,0,19,0,33,0,17,0 6,0,24,0,23,0,38,0,5,0,29,0 22,0,7,0,35,0,28,0,21,0,25,0 36,0,20,0,3,0,37,0,13,0,32,0 16,0,8,0,15,0,4,0,31,0,14,0 26,0,30,0,18,0,10,0,34,0,9,0 19,0,12,0,13,0,1,0,27,0,25,0 4,0,37,0,24,0,31,0,7,0,2,0 8,0,21,0,5,0,10,0,16,0,26,0 38,0,28,0,6,0,32,0,15,0,3,0 1,0,30,0,23,0,27,0,9,0,35,0 33,0,20,0,11,0,29,0,34,0,19,0 17,0,12,0,36,0,14,0,18,0,22,0 ================================================ FILE: schedules/38_13.csv ================================================ 2,0,9,0,11,0,12,0,3,0,15,0 23,0,33,0,19,0,24,0,5,0,13,0 1,0,29,0,25,0,35,0,30,0,7,0 21,0,27,0,20,0,10,0,22,0,8,0 38,0,34,0,31,0,18,0,36,0,37,0 32,0,28,0,4,0,26,0,14,0,16,0 17,0,22,0,9,0,6,0,20,0,10,0 33,0,34,0,7,0,18,0,25,0,15,0 4,0,30,0,3,0,12,0,16,0,5,0 26,0,29,0,31,0,23,0,17,0,36,0 35,0,6,0,13,0,2,0,38,0,32,0 1,0,27,0,11,0,19,0,28,0,37,0 21,0,24,0,3,0,8,0,14,0,7,0 5,1,22,0,33,0,15,1,30,0,20,0 17,1,4,0,12,0,27,1,29,0,36,0 13,0,32,0,37,0,9,0,18,0,24,0 23,0,8,0,21,0,38,0,35,0,14,0 11,0,25,0,10,0,2,0,16,0,28,0 19,0,1,0,31,0,26,0,34,0,6,0 36,0,14,0,9,0,13,0,29,0,38,0 7,0,37,0,15,0,8,0,28,0,33,0 35,0,24,0,26,0,2,0,12,0,10,0 11,0,22,0,31,0,19,0,25,0,16,0 18,0,1,0,20,0,17,0,3,0,34,0 32,0,30,0,6,0,4,0,23,0,27,0 21,0,38,0,9,0,5,0,2,0,25,0 35,0,29,0,8,0,33,0,31,0,16,0 19,0,27,0,26,0,32,0,3,0,20,0 10,0,34,0,28,0,37,0,23,0,1,0 7,0,18,0,5,0,12,0,14,0,22,0 15,0,36,0,13,0,17,0,11,0,6,0 21,0,30,0,28,0,24,0,4,0,29,0 12,0,20,0,23,0,8,0,31,0,5,0 13,0,27,0,22,0,17,0,33,0,14,0 38,0,6,0,7,0,37,0,11,0,4,0 21,0,35,0,25,0,1,0,3,0,9,0 24,0,32,0,15,0,10,0,16,0,18,0 34,0,36,0,19,0,30,0,26,0,2,0 33,0,11,0,3,0,31,0,23,0,7,0 15,0,10,0,14,0,37,0,20,0,29,0 16,0,4,0,36,0,19,0,35,0,9,0 13,0,30,0,34,0,32,0,8,0,26,0 2,0,6,0,18,0,27,0,25,0,17,0 1,0,12,0,24,0,28,0,22,0,38,0 5,0,10,0,3,0,21,0,13,0,4,0 26,0,11,0,7,0,27,0,6,0,16,0 2,0,20,0,36,0,30,0,18,0,33,0 19,0,22,0,24,0,28,0,31,0,35,0 38,0,17,0,1,0,12,0,32,0,21,0 14,0,5,0,29,0,34,0,25,0,37,0 8,0,9,0,6,0,15,0,23,0,28,0 18,0,13,0,19,0,21,0,7,0,1,0 24,0,2,0,37,0,12,0,29,0,27,0 38,0,3,0,8,0,34,0,15,0,22,0 25,0,4,0,14,0,10,0,30,0,31,0 16,0,23,0,11,0,17,0,20,0,35,0 26,0,33,0,36,0,5,0,32,0,9,0 31,0,15,0,27,0,30,0,38,0,24,0 17,0,28,0,29,0,3,0,7,0,13,0 19,0,12,0,8,0,14,0,37,0,6,0 20,0,33,0,9,0,4,0,1,0,2,0 23,0,5,0,26,0,11,0,18,0,35,0 34,0,16,0,32,0,22,0,36,0,21,0 25,0,38,0,12,0,10,0,13,0,33,0 14,0,30,0,27,0,1,0,15,0,35,0 3,0,16,0,22,0,36,0,28,0,6,0 21,0,32,0,18,0,25,0,20,0,31,0 29,0,10,0,23,0,2,0,7,0,19,0 26,0,4,0,9,0,34,0,11,0,8,0 37,0,5,0,30,0,24,0,17,0,31,0 29,0,2,0,15,0,22,0,32,0,1,0 12,0,36,0,7,0,27,0,9,0,10,0 37,0,3,0,35,0,26,0,13,0,20,0 18,0,14,0,28,0,5,0,11,0,21,0 6,0,33,0,25,0,23,0,34,0,24,0 17,0,16,0,8,0,19,0,38,0,4,0 31,0,2,0,14,0,28,0,13,0,9,0 5,0,34,0,20,0,24,0,27,0,7,0 37,0,16,0,38,0,3,0,23,0,25,0 21,0,10,0,17,0,4,0,33,0,15,0 12,0,18,0,26,0,29,0,6,0,22,0 30,0,1,0,8,0,11,0,36,0,32,0 35,0,5,0,27,0,19,0,15,0,17,0 ================================================ FILE: schedules/38_14.csv ================================================ 33,0,17,0,14,0,24,0,22,0,28,0 10,0,2,0,1,0,19,0,37,0,16,0 25,0,38,0,26,0,21,0,6,0,15,0 18,0,9,0,30,0,32,0,31,0,11,0 35,0,23,0,36,0,5,0,20,0,34,0 7,0,27,0,29,0,8,0,12,0,13,0 3,0,9,0,6,0,4,0,15,0,18,0 16,0,32,0,22,0,24,0,19,0,1,0 23,0,33,0,29,0,20,0,12,0,10,0 26,0,37,0,7,0,4,0,31,0,34,0 3,0,13,0,17,0,38,0,2,0,11,0 21,0,25,0,8,0,35,0,28,0,27,0 30,0,36,0,19,0,14,0,5,0,4,0 31,1,17,0,15,0,11,1,10,0,37,0 24,0,21,0,27,0,23,0,9,0,12,0 38,0,14,0,20,0,29,0,18,0,28,0 22,0,7,0,8,0,16,0,13,0,36,0 33,0,26,0,34,0,1,0,30,0,5,0 25,0,32,0,3,0,2,0,6,0,35,0 19,0,12,0,21,0,31,0,37,0,24,0 14,0,11,0,34,0,5,0,16,0,26,0 23,0,15,0,28,0,2,0,3,0,30,0 13,0,7,0,32,0,17,0,10,0,35,0 27,0,9,0,4,0,18,0,20,0,1,0 6,0,33,0,8,0,22,0,29,0,25,0 38,0,23,0,3,0,36,0,31,0,12,0 13,0,35,0,18,0,10,0,5,0,24,0 22,0,20,0,9,0,26,0,1,0,8,0 34,0,29,0,6,0,7,0,21,0,28,0 30,0,11,0,37,0,27,0,36,0,14,0 32,0,16,0,2,0,17,0,4,0,38,0 25,0,15,0,9,0,33,0,19,0,5,0 11,0,26,0,27,0,12,0,29,0,1,0 13,0,31,0,20,0,28,0,6,0,4,0 18,0,16,0,17,0,23,0,30,0,8,0 25,0,14,0,24,0,19,0,3,0,7,0 35,0,34,0,22,0,38,0,15,0,33,0 10,0,21,0,2,0,37,0,32,0,36,0 8,0,28,0,20,0,6,0,18,0,25,0 29,0,7,0,24,0,23,0,9,0,17,0 38,0,4,0,36,0,30,0,22,0,33,0 27,0,31,0,16,0,26,0,3,0,2,0 10,0,11,0,19,0,21,0,34,0,13,0 12,0,14,0,1,0,35,0,15,0,32,0 5,0,7,0,22,0,37,0,18,0,8,0 26,0,23,0,6,0,19,0,17,0,2,0 1,0,21,0,15,0,32,0,14,0,10,0 37,0,34,0,38,0,25,0,13,0,4,0 35,0,11,0,24,0,29,0,31,0,36,0 5,0,3,0,28,0,33,0,9,0,16,0 12,0,30,0,4,0,20,0,27,0,17,0 25,0,1,0,7,0,10,0,8,0,34,0 32,0,36,0,18,0,33,0,11,0,21,0 6,0,5,0,27,0,14,0,31,0,23,0 28,0,19,0,26,0,24,0,30,0,13,0 20,0,2,0,29,0,15,0,22,0,37,0 12,0,16,0,3,0,38,0,9,0,35,0 4,0,33,0,10,0,14,0,28,0,32,0 18,0,8,0,2,0,36,0,34,0,24,0 1,0,6,0,17,0,13,0,23,0,5,0 12,0,35,0,19,0,20,0,7,0,3,0 30,0,38,0,27,0,22,0,21,0,31,0 15,0,29,0,26,0,25,0,16,0,11,0 9,0,34,0,10,0,37,0,14,0,6,0 5,0,36,0,8,0,38,0,32,0,19,0 4,0,2,0,31,0,12,0,33,0,18,0 16,0,21,0,20,0,7,0,11,0,15,0 28,0,37,0,13,0,1,0,3,0,27,0 24,0,23,0,30,0,25,0,22,0,9,0 35,0,29,0,14,0,26,0,17,0,32,0 12,0,28,0,2,0,34,0,16,0,7,0 22,0,11,0,18,0,3,0,10,0,36,0 35,0,1,0,33,0,26,0,9,0,21,0 5,0,17,0,25,0,20,0,30,0,19,0 6,0,24,0,38,0,4,0,29,0,13,0 31,0,15,0,8,0,37,0,23,0,27,0 32,0,5,0,12,0,28,0,1,0,11,0 3,0,21,0,29,0,25,0,20,0,36,0 35,0,4,0,37,0,24,0,2,0,15,0 27,0,13,0,33,0,7,0,18,0,38,0 23,0,34,0,19,0,26,0,22,0,14,0 30,0,10,0,6,0,8,0,16,0,9,0 31,0,33,0,1,0,17,0,12,0,7,0 13,0,19,0,22,0,32,0,23,0,11,0 37,0,5,0,21,0,16,0,29,0,38,0 9,0,36,0,28,0,35,0,25,0,31,0 24,0,20,0,4,0,27,0,15,0,10,0 17,0,8,0,14,0,2,0,30,0,34,0 18,0,26,0,31,0,6,0,3,0,11,0 ================================================ FILE: schedules/38_2.csv ================================================ 29,0,3,0,17,0,4,0,27,0,14,0 28,0,26,0,20,0,23,0,33,0,31,0 6,0,2,0,34,0,22,0,15,0,12,0 13,0,8,0,25,0,24,0,35,0,11,0 38,0,32,0,18,0,7,0,30,0,5,0 36,0,9,0,16,0,10,0,1,0,37,0 21,0,25,0,33,0,19,0,17,0,34,0 29,0,31,0,8,0,2,0,22,0,38,0 14,0,15,0,10,0,13,0,20,0,18,0 23,0,35,0,19,0,7,0,6,0,16,0 4,0,21,0,24,0,28,0,37,0,5,0 36,0,1,0,26,0,3,0,11,0,32,0 12,0,30,0,20,1,27,0,9,0,25,1 ================================================ FILE: schedules/38_3.csv ================================================ 32,0,29,0,30,0,15,0,14,0,21,0 25,0,13,0,11,0,36,0,34,0,31,0 18,0,35,0,20,0,27,0,2,0,38,0 8,0,6,0,5,0,7,0,22,0,24,0 26,0,37,0,10,0,33,0,28,0,9,0 19,0,17,0,16,0,3,0,4,0,12,0 23,0,24,0,27,0,1,0,29,0,25,0 32,0,28,0,21,0,20,0,31,0,8,0 5,0,14,0,34,0,35,0,17,0,26,0 12,0,11,0,7,0,10,0,38,0,30,0 4,0,6,0,36,0,3,0,1,0,33,0 9,0,22,0,2,0,23,0,15,0,16,0 13,0,37,0,14,0,18,0,19,0,8,0 25,0,10,0,17,0,30,0,6,0,20,0 38,0,31,0,3,0,15,0,24,0,26,0 35,0,1,0,21,0,9,0,11,0,19,0 18,0,12,0,28,0,5,0,23,0,36,0 16,0,7,0,33,0,27,0,13,0,32,0 22,0,4,0,34,0,2,0,37,0,29,0 ================================================ FILE: schedules/38_4.csv ================================================ 8,0,37,0,1,0,20,0,23,0,21,0 33,0,15,0,3,0,5,0,32,0,12,0 25,0,14,0,17,0,28,0,30,0,35,0 10,0,31,0,13,0,19,0,26,0,2,0 36,0,24,0,16,0,34,0,6,0,4,0 38,0,11,0,18,0,9,0,7,0,27,0 29,0,21,0,10,0,22,0,3,0,25,0 26,0,34,0,30,0,37,0,28,0,15,0 6,0,33,0,31,0,14,0,7,0,18,0 12,0,13,0,38,0,1,0,24,0,35,0 27,0,5,0,2,0,8,0,4,0,22,0 29,0,9,0,19,0,20,0,17,0,16,0 23,0,11,0,14,0,32,0,36,0,13,0 31,1,27,0,37,0,25,1,24,0,5,0 20,1,7,0,3,0,34,1,17,0,2,0 32,0,1,0,28,0,10,0,4,0,9,0 15,0,6,0,19,0,22,0,23,0,38,0 18,0,8,0,29,0,36,0,30,0,12,0 35,0,21,0,26,0,16,0,33,0,11,0 13,0,28,0,20,0,6,0,3,0,27,0 5,0,34,0,23,0,10,0,18,0,17,0 35,0,22,0,37,0,31,0,36,0,9,0 7,0,32,0,24,0,26,0,8,0,25,0 15,0,2,0,1,0,29,0,14,0,16,0 19,0,38,0,4,0,33,0,21,0,30,0 12,0,31,0,20,0,11,0,25,0,34,0 ================================================ FILE: schedules/38_5.csv ================================================ 27,0,11,0,29,0,6,0,13,0,4,0 1,0,7,0,12,0,5,0,38,0,33,0 23,0,32,0,22,0,2,0,28,0,34,0 36,0,15,0,3,0,20,0,25,0,21,0 9,0,8,0,19,0,35,0,10,0,24,0 31,0,14,0,37,0,18,0,16,0,30,0 17,0,34,0,12,0,26,0,4,0,3,0 9,0,20,0,38,0,32,0,11,0,25,0 37,0,21,0,24,0,22,0,5,0,29,0 30,0,19,0,2,0,27,0,16,0,36,0 35,0,18,0,17,0,7,0,13,0,15,0 28,0,33,0,31,0,8,0,26,0,14,0 6,0,10,0,30,0,1,0,23,0,21,0 7,1,37,0,34,0,11,1,15,0,2,0 22,0,3,0,27,0,14,0,38,0,35,0 12,0,8,0,4,0,32,0,18,0,19,0 13,0,26,0,5,0,23,0,36,0,9,0 25,0,17,0,16,0,33,0,6,0,24,0 10,0,1,0,31,0,29,0,28,0,20,0 14,0,19,0,13,0,38,0,21,0,34,0 25,0,26,0,35,0,32,0,30,0,37,0 36,0,22,0,8,0,17,0,11,0,1,0 28,0,6,0,16,0,5,0,15,0,12,0 4,0,23,0,7,0,31,0,24,0,20,0 2,0,18,0,29,0,3,0,33,0,9,0 27,0,5,0,14,0,10,0,32,0,17,0 7,0,20,0,26,0,22,0,6,0,19,0 38,0,16,0,15,0,29,0,8,0,23,0 21,0,2,0,12,0,35,0,31,0,11,0 24,0,25,0,18,0,1,0,34,0,27,0 13,0,33,0,36,0,4,0,37,0,10,0 30,0,9,0,11,0,28,0,3,0,7,0 ================================================ FILE: schedules/38_6.csv ================================================ 37,0,23,0,21,0,33,0,14,0,24,0 7,0,30,0,20,0,34,0,36,0,10,0 2,0,15,0,4,0,9,0,6,0,19,0 28,0,35,0,17,0,1,0,25,0,32,0 16,0,27,0,11,0,29,0,38,0,12,0 18,0,22,0,3,0,26,0,31,0,13,0 8,0,2,0,36,0,5,0,1,0,33,0 7,0,14,0,34,0,15,0,32,0,12,0 13,0,20,0,19,0,25,0,30,0,35,0 21,0,26,0,8,0,4,0,28,0,16,0 24,0,6,0,29,0,17,0,31,0,38,0 11,0,3,0,10,0,5,0,23,0,18,0 27,0,22,0,8,0,37,0,9,0,30,0 13,0,21,0,29,0,15,0,1,0,7,0 16,0,5,0,26,0,24,0,19,0,34,0 9,0,25,0,17,0,11,0,18,0,14,0 32,0,27,0,31,0,23,0,36,0,4,0 28,0,2,0,38,0,20,0,37,0,10,0 12,0,35,0,3,0,22,0,33,0,6,0 17,0,1,0,26,0,30,0,27,0,15,0 37,0,34,0,28,0,9,0,13,0,36,0 20,0,24,0,32,0,18,0,8,0,6,0 19,0,4,0,10,0,22,0,29,0,14,0 16,0,38,0,7,0,33,0,23,0,35,0 31,0,25,0,12,0,5,0,2,0,21,0 11,0,1,0,24,0,3,0,4,0,34,0 33,0,7,0,18,0,27,0,19,0,28,0 5,0,29,0,32,0,22,0,30,0,38,0 15,0,25,0,20,0,16,0,3,0,37,0 26,0,36,0,14,0,6,0,35,0,11,0 2,0,23,0,12,0,13,0,17,0,8,0 10,0,9,0,32,0,31,0,21,0,16,0 19,0,38,0,14,0,36,0,1,0,3,0 17,0,4,0,6,0,7,0,37,0,5,0 25,0,27,0,13,0,24,0,10,0,8,0 34,0,21,0,18,0,2,0,35,0,22,0 29,0,9,0,23,0,26,0,20,0,12,0 28,0,30,0,33,0,31,0,15,0,11,0 ================================================ FILE: schedules/38_7.csv ================================================ 6,0,30,0,15,0,38,0,27,0,25,0 10,0,17,0,3,0,13,0,18,0,1,0 20,0,26,0,5,0,22,0,24,0,32,0 7,0,37,0,33,0,4,0,23,0,2,0 19,0,21,0,28,0,29,0,34,0,14,0 9,0,16,0,35,0,31,0,36,0,11,0 12,0,24,0,23,0,8,0,15,0,17,0 27,0,2,0,28,0,26,0,32,0,18,0 20,0,7,0,11,0,37,0,3,0,38,0 35,0,30,0,19,0,9,0,10,0,5,0 36,0,8,0,33,0,13,0,6,0,34,0 21,0,29,0,4,0,22,0,16,0,1,0 31,0,25,0,26,0,12,0,14,0,17,0 6,1,38,0,24,0,10,1,37,0,19,0 8,1,34,0,2,0,20,1,30,0,16,0 14,0,36,0,1,0,15,0,28,0,7,0 23,0,9,0,18,0,21,0,22,0,12,0 35,0,32,0,25,0,33,0,3,0,29,0 5,0,13,0,11,0,31,0,4,0,27,0 24,0,36,0,16,0,6,0,10,0,12,0 29,0,1,0,9,0,8,0,26,0,37,0 33,0,23,0,5,0,18,0,11,0,14,0 13,0,7,0,22,0,32,0,28,0,30,0 27,0,21,0,15,0,20,0,19,0,3,0 17,0,31,0,38,0,4,0,35,0,34,0 25,0,24,0,1,0,2,0,13,0,16,0 26,0,29,0,30,0,21,0,33,0,11,0 37,0,15,0,18,0,35,0,8,0,31,0 28,0,34,0,38,0,3,0,12,0,5,0 20,0,6,0,27,0,7,0,9,0,17,0 19,0,4,0,32,0,36,0,23,0,25,0 14,0,10,0,8,0,2,0,22,0,38,0 35,0,7,0,6,0,21,0,26,0,13,0 19,0,18,0,17,0,32,0,37,0,16,0 14,0,3,0,28,0,4,0,24,0,9,0 15,0,36,0,12,0,5,0,29,0,2,0 31,0,20,0,23,0,33,0,1,0,30,0 11,0,34,0,27,0,25,0,10,0,22,0 21,0,8,0,3,0,5,0,17,0,36,0 13,0,4,0,38,0,20,0,18,0,29,0 10,0,16,0,34,0,26,0,23,0,15,0 1,0,32,0,2,0,11,0,6,0,9,0 12,0,35,0,37,0,27,0,30,0,14,0 31,0,33,0,22,0,19,0,24,0,7,0 25,0,6,0,8,0,28,0,10,0,20,0 ================================================ FILE: schedules/38_8.csv ================================================ 33,0,3,0,9,0,15,0,22,0,2,0 28,0,36,0,14,0,30,0,23,0,10,0 34,0,35,0,24,0,1,0,26,0,25,0 37,0,31,0,20,0,6,0,29,0,32,0 16,0,38,0,18,0,27,0,17,0,13,0 12,0,21,0,8,0,4,0,11,0,19,0 5,0,30,0,32,0,7,0,24,0,22,0 36,0,27,0,23,0,1,0,9,0,20,0 10,0,34,0,37,0,11,0,21,0,18,0 7,0,28,0,16,0,31,0,12,0,15,0 17,0,25,0,3,0,19,0,8,0,6,0 5,0,13,0,33,0,29,0,35,0,14,0 4,0,26,0,31,0,2,0,38,0,23,0 12,1,1,0,7,0,25,1,10,0,21,0 30,0,15,0,36,0,18,0,19,0,35,0 4,0,38,0,22,0,20,0,24,0,29,0 8,0,27,0,11,0,33,0,28,0,32,0 5,0,3,0,37,0,13,0,16,0,9,0 14,0,26,0,2,0,17,0,6,0,34,0 33,0,23,0,11,0,38,0,35,0,7,0 5,0,4,0,18,0,28,0,37,0,25,0 2,0,8,0,13,0,12,0,36,0,24,0 27,0,29,0,22,0,19,0,15,0,10,0 20,0,16,0,3,0,34,0,30,0,14,0 31,0,21,0,9,0,26,0,32,0,17,0 6,0,15,0,11,0,1,0,18,0,22,0 25,0,7,0,29,0,36,0,2,0,3,0 4,0,35,0,21,0,14,0,27,0,31,0 30,0,13,0,6,0,23,0,8,0,26,0 20,0,34,0,32,0,33,0,12,0,10,0 24,0,16,0,19,0,9,0,38,0,28,0 1,0,5,0,15,0,37,0,17,0,30,0 25,0,23,0,32,0,3,0,21,0,29,0 22,0,28,0,19,0,26,0,13,0,34,0 1,0,36,0,6,0,33,0,4,0,16,0 2,0,11,0,24,0,20,0,5,0,27,0 14,0,18,0,37,0,8,0,31,0,7,0 9,0,10,0,35,0,17,0,12,0,38,0 19,0,21,0,36,0,5,0,24,0,6,0 3,0,18,0,7,0,26,0,28,0,20,0 12,0,25,0,4,0,15,0,9,0,14,0 32,0,10,0,8,0,35,0,16,0,2,0 29,0,31,0,13,0,30,0,1,0,11,0 17,0,23,0,22,0,37,0,33,0,27,0 38,0,20,0,15,0,34,0,8,0,5,0 13,0,24,0,25,0,10,0,11,0,31,0 19,0,1,0,14,0,32,0,18,0,2,0 27,0,38,0,6,0,12,0,3,0,30,0 17,0,7,0,9,0,34,0,29,0,4,0 35,0,28,0,23,0,16,0,21,0,22,0 37,0,26,0,12,0,33,0,36,0,25,0 ================================================ FILE: schedules/38_9.csv ================================================ 37,0,28,0,26,0,8,0,17,0,38,0 23,0,30,0,9,0,27,0,33,0,2,0 35,0,36,0,32,0,18,0,29,0,16,0 34,0,13,0,3,0,12,0,19,0,1,0 11,0,24,0,6,0,10,0,7,0,22,0 21,0,20,0,14,0,4,0,25,0,15,0 5,0,8,0,3,0,31,0,2,0,38,0 34,0,27,0,32,0,26,0,35,0,11,0 25,0,37,0,17,0,14,0,30,0,24,0 4,0,13,0,33,0,6,0,18,0,5,0 21,0,23,0,7,0,31,0,16,0,1,0 15,0,20,0,12,0,36,0,19,0,22,0 9,0,10,0,25,0,28,0,29,0,3,0 1,0,38,0,34,0,18,0,14,0,27,0 37,0,30,0,16,0,6,0,22,0,20,0 11,0,28,0,33,0,5,0,36,0,23,0 21,0,26,0,2,0,10,0,35,0,12,0 31,0,17,0,32,0,4,0,9,0,19,0 8,0,15,0,29,0,7,0,13,0,24,0 34,0,36,0,10,0,38,0,21,0,30,0 14,0,6,0,37,0,11,0,31,0,23,0 19,0,16,0,28,0,4,0,29,0,26,0 9,0,33,0,22,0,1,0,35,0,8,0 3,0,15,0,27,0,32,0,5,0,24,0 17,0,18,0,12,0,25,0,7,0,20,0 13,0,21,0,36,0,2,0,9,0,14,0 1,0,28,0,24,0,6,0,15,0,16,0 33,0,5,0,29,0,12,0,34,0,37,0 20,0,4,0,18,0,27,0,10,0,8,0 23,0,35,0,22,0,19,0,25,0,38,0 30,0,2,0,3,0,32,0,7,0,11,0 26,0,17,0,10,0,13,0,31,0,5,0 9,0,15,0,38,0,6,0,4,0,12,0 19,0,29,0,11,0,30,0,1,0,18,0 28,0,7,0,31,0,2,0,35,0,20,0 23,0,14,0,8,0,26,0,32,0,3,0 17,0,24,0,22,0,33,0,34,0,21,0 36,0,16,0,25,0,37,0,13,0,27,0 26,0,5,0,20,0,1,0,9,0,29,0 12,0,32,0,14,0,10,0,6,0,28,0 33,0,7,0,15,0,25,0,27,0,31,0 21,0,18,0,22,0,3,0,37,0,23,0 4,0,35,0,38,0,13,0,30,0,11,0 16,0,2,0,8,0,17,0,34,0,19,0 24,0,31,0,18,0,36,0,12,0,28,0 5,0,30,0,27,0,29,0,14,0,22,0 3,0,10,0,19,0,33,0,16,0,20,0 4,0,7,0,36,0,26,0,23,0,34,0 6,0,2,0,1,0,21,0,25,0,8,0 35,0,17,0,9,0,15,0,37,0,11,0 32,0,13,0,20,0,38,0,24,0,33,0 7,0,30,0,19,0,28,0,21,0,5,0 8,0,12,0,31,0,16,0,14,0,11,0 27,0,36,0,29,0,3,0,17,0,6,0 37,0,1,0,22,0,2,0,32,0,4,0 38,0,23,0,10,0,13,0,15,0,35,0 18,0,34,0,25,0,26,0,24,0,9,0 ================================================ FILE: schedules/39_1.csv ================================================ 1,0,32,0,5,0,24,0,18,0,2,0 10,0,38,0,31,0,16,0,17,0,7,0 23,0,33,0,19,0,26,0,20,0,29,0 4,0,6,0,36,0,34,0,30,0,37,0 22,0,13,0,39,0,35,0,3,0,12,0 15,0,14,0,21,0,9,0,8,0,11,0 27,0,25,0,36,1,28,0,30,1,1,1 ================================================ FILE: schedules/39_10.csv ================================================ 21,0,22,0,1,0,30,0,24,0,29,0 31,0,26,0,3,0,7,0,23,0,12,0 14,0,27,0,4,0,13,0,15,0,19,0 35,0,2,0,28,0,8,0,9,0,18,0 10,0,32,0,36,0,6,0,39,0,25,0 38,0,16,0,11,0,37,0,20,0,5,0 33,0,3,0,1,0,17,0,34,0,19,0 18,0,13,0,36,0,39,0,32,0,30,0 9,0,10,0,12,0,4,0,15,0,38,0 28,0,20,0,21,0,23,0,37,0,31,0 25,0,11,0,29,0,26,0,33,0,8,0 34,0,22,0,6,0,14,0,7,0,5,0 2,0,17,0,24,0,27,0,16,0,35,0 26,0,1,0,15,0,37,0,13,0,21,0 7,0,22,0,29,0,4,0,23,0,10,0 5,0,33,0,12,0,32,0,20,0,2,0 36,0,39,0,34,0,9,0,31,0,35,0 24,0,14,0,18,0,38,0,25,0,28,0 8,0,11,0,6,0,3,0,30,0,16,0 27,0,19,0,32,0,17,0,29,0,23,0 15,0,12,0,35,0,26,0,39,0,28,0 16,0,21,0,14,0,5,0,3,0,10,0 13,0,20,0,9,0,24,0,19,0,6,0 17,0,33,0,27,0,22,0,8,0,36,0 4,0,7,0,1,0,18,0,11,0,30,0 34,0,25,0,31,0,2,0,38,0,37,0 6,0,26,0,9,0,16,0,22,0,17,0 35,0,24,0,5,0,19,0,33,0,23,0 37,0,29,0,39,0,14,0,30,0,2,0 28,0,4,0,12,0,11,0,1,0,27,0 8,0,13,0,3,0,31,0,38,0,10,0 15,0,21,0,32,0,7,0,20,0,34,0 25,0,18,0,26,0,36,0,6,0,27,0 2,0,8,0,10,0,13,0,24,0,11,0 37,0,19,0,22,0,38,0,32,0,12,0 20,0,17,0,39,0,21,0,4,0,18,0 23,0,25,0,14,0,31,0,1,0,16,0 28,0,34,0,30,0,29,0,33,0,35,0 15,0,3,0,7,0,9,0,5,0,36,0 6,0,23,0,21,0,12,0,17,0,1,0 30,0,19,0,38,0,16,0,28,0,32,0 22,0,25,0,27,0,11,0,39,0,3,0 14,0,33,0,20,0,13,0,35,0,7,0 29,0,8,0,31,0,15,0,5,0,18,0 36,0,24,0,26,0,34,0,2,0,4,0 37,0,9,0,33,0,10,0,27,0,21,0 5,0,17,0,30,0,15,0,20,0,25,0 4,0,35,0,11,0,6,0,31,0,32,0 39,0,10,0,7,0,19,0,8,0,1,0 38,0,9,0,3,0,29,0,2,0,26,0 24,0,23,0,28,0,14,0,36,0,37,0 34,0,13,0,16,0,12,0,18,0,22,0 2,0,15,0,33,0,6,0,38,0,1,0 31,0,30,0,7,0,27,0,39,0,24,0 23,0,9,0,32,0,14,0,8,0,12,0 37,0,35,0,18,0,3,0,4,0,22,0 5,0,25,0,16,0,13,0,29,0,28,0 10,0,19,0,11,0,17,0,36,0,21,0 20,0,4,0,8,0,26,0,34,0,14,0 18,0,32,0,3,0,24,0,15,0,9,0 6,0,13,0,17,0,37,0,7,0,28,0 27,0,5,0,38,0,21,0,35,0,25,0 29,0,1,0,10,0,20,0,12,0,36,0 23,0,39,0,16,0,11,0,33,0,34,0 2,0,19,0,31,0,22,0,30,0,26,0 ================================================ FILE: schedules/39_11.csv ================================================ 36,0,39,0,22,0,3,0,18,0,25,0 32,0,29,0,10,0,11,0,16,0,13,0 19,0,15,0,8,0,35,0,21,0,4,0 6,0,31,0,7,0,1,0,28,0,24,0 17,0,14,0,34,0,33,0,20,0,38,0 26,0,9,0,30,0,12,0,27,0,2,0 37,0,5,0,32,0,23,0,4,0,29,0 39,0,16,0,24,0,14,0,22,0,19,0 3,0,20,0,36,0,7,0,27,0,21,0 18,0,38,0,5,0,35,0,1,0,10,0 28,0,9,0,17,0,13,0,30,0,37,0 26,0,12,0,31,0,8,0,11,0,25,0 34,0,2,0,6,0,15,0,23,0,33,0 36,1,1,0,4,0,37,1,17,0,35,0 29,1,31,0,38,0,32,0,27,0,30,0 28,0,18,0,23,0,20,0,39,0,21,0 2,0,22,0,10,0,33,0,14,0,5,0 25,0,16,0,34,0,9,0,15,0,7,0 11,0,24,0,3,0,8,0,13,0,12,0 6,0,19,0,21,0,26,0,10,0,17,0 14,0,36,0,27,0,35,0,5,0,31,0 25,0,12,0,9,0,3,0,38,0,23,0 32,0,19,0,16,0,18,0,2,0,8,0 7,0,30,0,1,0,15,0,20,0,22,0 29,0,34,0,13,0,39,0,6,0,26,0 28,0,11,0,33,0,4,0,24,0,37,0 31,0,18,0,20,0,23,0,25,0,19,0 27,0,10,0,6,0,7,0,38,0,8,0 29,0,11,0,17,0,22,0,3,0,34,0 33,0,12,0,35,0,39,0,28,0,32,0 4,0,26,0,5,0,30,0,36,0,16,0 1,0,15,0,21,0,2,0,24,0,13,0 37,0,9,0,19,0,14,0,6,0,18,0 4,0,28,0,27,0,22,0,29,0,12,0 36,0,33,0,8,0,1,0,13,0,23,0 24,0,32,0,21,0,30,0,34,0,10,0 35,0,15,0,14,0,37,0,26,0,3,0 20,0,7,0,25,0,9,0,11,0,5,0 2,0,16,0,38,0,17,0,39,0,31,0 15,0,12,0,34,0,36,0,10,0,18,0 1,0,32,0,11,0,14,0,9,0,21,0 23,0,7,0,22,0,4,0,17,0,8,0 38,0,13,0,35,0,29,0,16,0,20,0 6,0,30,0,24,0,2,0,25,0,5,0 39,0,27,0,3,0,19,0,28,0,31,0 26,0,21,0,38,0,37,0,33,0,22,0 23,0,20,0,30,0,10,0,14,0,24,0 31,0,8,0,9,0,15,0,28,0,29,0 37,0,16,0,6,0,3,0,32,0,33,0 17,0,18,0,13,0,12,0,5,0,7,0 25,0,4,0,39,0,26,0,1,0,27,0 35,0,2,0,19,0,34,0,11,0,36,0 31,0,22,0,21,0,32,0,12,0,6,0 26,0,24,0,33,0,9,0,18,0,27,0 36,0,17,0,25,0,10,0,16,0,28,0 5,0,23,0,39,0,38,0,15,0,11,0 37,0,1,0,29,0,19,0,7,0,34,0 20,0,2,0,14,0,4,0,3,0,13,0 8,0,30,0,22,0,35,0,36,0,9,0 23,0,34,0,21,0,16,0,27,0,5,0 11,0,4,0,2,0,38,0,28,0,6,0 24,0,17,0,7,0,35,0,32,0,26,0 13,0,19,0,33,0,30,0,25,0,31,0 8,0,10,0,20,0,39,0,37,0,15,0 3,0,29,0,14,0,18,0,12,0,1,0 36,0,32,0,7,0,19,0,38,0,24,0 13,0,31,0,10,0,22,0,9,0,4,0 35,0,27,0,29,0,17,0,15,0,2,0 33,0,16,0,1,0,20,0,12,0,37,0 39,0,30,0,18,0,11,0,6,0,23,0 28,0,3,0,5,0,8,0,26,0,34,0 14,0,25,0,37,0,21,0,36,0,29,0 ================================================ FILE: schedules/39_12.csv ================================================ 28,0,1,0,39,0,5,0,20,0,23,0 31,0,33,0,30,0,21,0,9,0,35,0 16,0,6,0,11,0,25,0,18,0,26,0 15,0,2,0,37,0,34,0,29,0,38,0 27,0,19,0,10,0,17,0,3,0,13,0 4,0,36,0,22,0,8,0,14,0,32,0 24,0,12,0,23,0,7,0,18,0,33,0 30,0,20,0,21,0,15,0,38,0,13,0 19,0,9,0,34,0,25,0,10,0,29,0 14,0,5,0,31,0,6,0,36,0,3,0 7,0,35,0,12,0,32,0,16,0,22,0 26,0,8,0,4,0,37,0,1,0,24,0 27,0,28,0,17,0,11,0,2,0,39,0 5,0,6,0,32,0,18,0,23,0,30,0 4,0,14,0,13,0,7,0,15,0,1,0 11,0,20,0,31,0,22,0,19,0,2,0 3,0,27,0,29,0,12,0,28,0,34,0 37,0,8,0,25,0,21,0,26,0,39,0 24,0,36,0,33,0,38,0,10,0,16,0 9,0,17,0,15,0,35,0,18,0,5,0 12,0,20,0,3,0,25,0,30,0,6,0 10,0,26,0,33,0,28,0,8,0,31,0 22,0,27,0,38,0,19,0,35,0,1,0 24,0,9,0,2,0,37,0,32,0,17,0 29,0,39,0,36,0,13,0,16,0,7,0 34,0,21,0,14,0,4,0,23,0,11,0 5,0,19,0,25,0,12,0,30,0,27,0 38,0,8,0,39,0,28,0,7,0,9,0 20,0,1,0,26,0,36,0,34,0,32,0 18,0,14,0,11,0,35,0,13,0,24,0 17,0,22,0,10,0,21,0,29,0,6,0 31,0,3,0,37,0,33,0,15,0,23,0 16,0,2,0,28,0,4,0,19,0,18,0 38,0,6,0,24,0,13,0,32,0,12,0 17,0,30,0,36,0,37,0,9,0,39,0 35,0,22,0,8,0,4,0,5,0,34,0 25,0,2,0,20,0,23,0,31,0,27,0 7,0,26,0,11,0,10,0,21,0,15,0 1,0,29,0,16,0,33,0,3,0,14,0 23,0,36,0,13,0,22,0,24,0,31,0 39,0,15,0,35,0,2,0,6,0,8,0 38,0,9,0,32,0,18,0,3,0,16,0 33,0,29,0,12,0,20,0,4,0,17,0 37,0,5,0,10,0,1,0,11,0,25,0 14,0,7,0,30,0,34,0,27,0,26,0 28,0,19,0,36,0,21,0,17,0,23,0 39,0,12,0,25,0,22,0,1,0,3,0 29,0,18,0,32,0,8,0,11,0,27,0 24,0,7,0,10,0,2,0,21,0,5,0 31,0,4,0,35,0,28,0,38,0,26,0 33,0,9,0,20,0,14,0,19,0,15,0 37,0,13,0,6,0,16,0,34,0,30,0 21,0,32,0,25,0,29,0,17,0,35,0 8,0,1,0,23,0,11,0,38,0,3,0 19,0,16,0,26,0,13,0,5,0,33,0 18,0,34,0,31,0,39,0,24,0,27,0 37,0,4,0,7,0,20,0,28,0,6,0 2,0,10,0,30,0,12,0,14,0,36,0 9,0,27,0,18,0,22,0,15,0,26,0 19,0,3,0,8,0,16,0,37,0,21,0 23,0,38,0,35,0,10,0,12,0,6,0 15,0,32,0,28,0,7,0,36,0,25,0 30,0,1,0,5,0,31,0,29,0,2,0 13,0,9,0,11,0,4,0,39,0,33,0 34,0,17,0,24,0,22,0,20,0,14,0 12,0,31,0,21,0,37,0,18,0,36,0 1,0,27,0,6,0,16,0,9,0,23,0 22,0,13,0,30,0,28,0,11,0,33,0 4,0,25,0,15,0,24,0,29,0,19,0 35,0,14,0,26,0,39,0,32,0,3,0 38,0,5,0,17,0,34,0,7,0,20,0 2,0,13,0,18,0,10,0,8,0,9,0 29,0,23,0,37,0,30,0,24,0,26,0 15,0,16,0,12,0,1,0,17,0,31,0 28,0,22,0,25,0,2,0,14,0,38,0 3,0,21,0,4,0,5,0,27,0,7,0 11,0,10,0,35,0,8,0,20,0,36,0 34,0,39,0,6,0,19,0,33,0,32,0 ================================================ FILE: schedules/39_13.csv ================================================ 22,0,9,0,32,0,39,0,8,0,25,0 1,0,3,0,12,0,34,0,17,0,27,0 23,0,20,0,15,0,5,0,13,0,37,0 4,0,11,0,38,0,2,0,24,0,7,0 6,0,30,0,26,0,10,0,29,0,33,0 35,0,16,0,18,0,21,0,14,0,19,0 28,0,36,0,17,0,31,0,9,0,4,0 12,0,11,0,30,0,39,0,33,0,1,0 7,0,19,0,20,0,34,0,16,0,23,0 3,0,32,0,13,0,18,0,37,0,6,0 10,0,31,0,5,0,36,0,27,0,38,0 29,0,15,0,2,0,21,0,8,0,35,0 28,0,25,0,24,0,22,0,14,0,26,0 12,1,39,0,18,0,33,1,27,0,11,0 34,1,19,0,5,0,35,0,9,0,10,0 36,0,31,0,2,0,24,0,16,0,6,0 8,0,26,0,17,0,14,0,3,0,23,0 37,0,32,0,28,0,15,0,1,0,30,0 4,0,22,0,7,0,38,0,20,0,21,0 29,0,25,0,26,0,13,0,9,0,18,0 3,0,19,0,28,0,2,0,39,0,11,0 38,0,12,0,1,0,15,0,36,0,16,0 29,0,5,0,20,0,25,0,32,0,7,0 37,0,23,0,33,0,10,0,24,0,17,0 8,0,27,0,14,0,21,0,31,0,6,0 22,0,13,0,34,0,30,0,4,0,35,0 26,0,19,0,24,0,1,0,17,0,32,0 15,0,33,0,7,0,18,0,10,0,27,0 36,0,3,0,30,0,23,0,38,0,25,0 6,0,9,0,11,0,22,0,29,0,21,0 12,0,14,0,28,0,35,0,2,0,5,0 13,0,4,0,20,0,16,0,8,0,31,0 34,0,39,0,38,0,37,0,15,0,26,0 29,0,14,0,9,0,12,0,2,0,33,0 25,0,35,0,1,0,7,0,5,0,6,0 3,0,34,0,11,0,28,0,31,0,22,0 16,0,13,0,27,0,37,0,19,0,17,0 4,0,21,0,39,0,18,0,23,0,24,0 8,0,36,0,10,0,32,0,30,0,20,0 15,0,31,0,3,0,2,0,19,0,9,0 22,0,11,0,35,0,12,0,13,0,23,0 27,0,25,0,21,0,28,0,10,0,26,0 24,0,30,0,37,0,36,0,18,0,14,0 38,0,5,0,8,0,4,0,16,0,33,0 32,0,29,0,39,0,7,0,1,0,34,0 6,0,17,0,25,0,20,0,22,0,12,0 5,0,3,0,21,0,8,0,11,0,19,0 15,0,9,0,24,0,7,0,18,0,30,0 10,0,1,0,13,0,4,0,36,0,34,0 31,0,39,0,20,0,33,0,35,0,26,0 38,0,2,0,37,0,32,0,6,0,14,0 17,0,29,0,16,0,23,0,27,0,28,0 34,0,18,0,8,0,9,0,12,0,5,0 33,0,14,0,30,0,4,0,19,0,1,0 35,0,20,0,27,0,24,0,32,0,11,0 31,0,29,0,37,0,38,0,15,0,6,0 10,0,16,0,7,0,3,0,39,0,22,0 36,0,26,0,23,0,2,0,28,0,21,0 13,0,17,0,33,0,25,0,15,0,11,0 16,0,9,0,1,0,38,0,3,0,35,0 2,0,18,0,32,0,10,0,34,0,14,0 23,0,30,0,28,0,8,0,6,0,20,0 37,0,39,0,27,0,5,0,25,0,4,0 7,0,26,0,21,0,17,0,31,0,12,0 22,0,36,0,24,0,29,0,13,0,19,0 14,0,15,0,35,0,25,0,3,0,9,0 4,0,18,0,17,0,26,0,39,0,5,0 28,0,34,0,6,0,21,0,24,0,13,0 12,0,10,0,32,0,11,0,31,0,23,0 22,0,8,0,33,0,36,0,7,0,37,0 20,0,2,0,16,0,1,0,27,0,29,0 19,0,31,0,25,0,38,0,30,0,13,0 6,0,36,0,35,0,17,0,15,0,39,0 23,0,7,0,9,0,34,0,2,0,26,0 10,0,21,0,11,0,1,0,37,0,14,0 18,0,19,0,38,0,33,0,28,0,20,0 4,0,24,0,12,0,3,0,8,0,29,0 22,0,16,0,30,0,5,0,27,0,32,0 7,0,31,0,14,0,28,0,13,0,39,0 10,0,37,0,4,0,12,0,35,0,29,0 33,0,32,0,38,0,17,0,30,0,21,0 19,0,27,0,6,0,20,0,9,0,34,0 5,0,36,0,11,0,3,0,16,0,26,0 23,0,2,0,1,0,18,0,22,0,15,0 25,0,12,0,34,0,8,0,24,0,33,0 ================================================ FILE: schedules/39_14.csv ================================================ 33,0,34,0,39,0,7,0,14,0,18,0 5,0,24,0,19,0,26,0,38,0,15,0 12,0,25,0,11,0,16,0,21,0,13,0 9,0,36,0,28,0,29,0,32,0,27,0 17,0,6,0,10,0,22,0,23,0,37,0 3,0,1,0,2,0,31,0,8,0,4,0 30,0,20,0,21,0,35,0,32,0,9,0 5,0,13,0,29,0,33,0,27,0,19,0 22,0,18,0,1,0,25,0,6,0,16,0 37,0,31,0,20,0,14,0,30,0,11,0 7,0,38,0,34,0,24,0,15,0,10,0 2,0,17,0,39,0,3,0,8,0,35,0 28,0,26,0,23,0,36,0,12,0,4,0 37,0,30,0,19,0,1,0,24,0,16,0 13,0,31,0,15,0,18,0,29,0,6,0 38,0,36,0,33,0,17,0,14,0,11,0 22,0,9,0,25,0,7,0,8,0,5,0 32,0,12,0,3,0,39,0,27,0,20,0 4,0,10,0,2,0,35,0,21,0,26,0 23,0,8,0,1,0,28,0,34,0,11,0 39,0,37,0,24,0,38,0,19,0,9,0 4,0,21,0,33,0,25,0,2,0,36,0 5,0,18,0,26,0,6,0,10,0,13,0 34,0,23,0,14,0,28,0,16,0,31,0 7,0,15,0,32,0,30,0,17,0,3,0 29,0,20,0,22,0,35,0,27,0,12,0 34,0,13,0,26,0,5,0,38,0,2,0 19,0,4,0,23,0,18,0,9,0,39,0 16,0,37,0,28,0,22,0,10,0,3,0 8,0,12,0,15,0,27,0,32,0,14,0 6,0,7,0,30,0,29,0,36,0,33,0 11,0,24,0,20,0,31,0,21,0,25,0 35,0,1,0,10,0,17,0,13,0,8,0 34,0,14,0,12,0,29,0,26,0,3,0 16,0,5,0,4,0,15,0,11,0,22,0 7,0,27,0,9,0,39,0,35,0,6,0 18,0,31,0,24,0,20,0,1,0,36,0 23,0,37,0,17,0,19,0,32,0,21,0 30,0,38,0,25,0,28,0,33,0,2,0 18,0,27,0,8,0,10,0,7,0,16,0 13,0,9,0,11,0,22,0,4,0,17,0 35,0,38,0,36,0,37,0,33,0,25,0 2,0,20,0,26,0,23,0,15,0,3,0 12,0,29,0,21,0,5,0,34,0,1,0 39,0,32,0,28,0,24,0,31,0,6,0 19,0,14,0,8,0,30,0,2,0,9,0 21,0,7,0,22,0,13,0,33,0,20,0 32,0,23,0,6,0,34,0,24,0,25,0 10,0,29,0,28,0,5,0,31,0,37,0 35,0,15,0,19,0,36,0,3,0,11,0 38,0,14,0,16,0,1,0,4,0,39,0 30,0,27,0,26,0,12,0,17,0,18,0 36,0,15,0,6,0,22,0,20,0,34,0 11,0,33,0,1,0,24,0,9,0,32,0 2,0,29,0,14,0,26,0,17,0,31,0 7,0,35,0,4,0,19,0,10,0,23,0 30,0,13,0,16,0,39,0,38,0,21,0 37,0,27,0,3,0,8,0,25,0,28,0 5,0,12,0,9,0,18,0,23,0,36,0 26,0,11,0,32,0,20,0,7,0,15,0 33,0,8,0,6,0,4,0,37,0,13,0 22,0,2,0,12,0,5,0,39,0,30,0 16,0,35,0,29,0,24,0,28,0,14,0 27,0,25,0,17,0,31,0,19,0,1,0 21,0,3,0,34,0,10,0,18,0,38,0 5,0,20,0,2,0,23,0,16,0,9,0 25,0,39,0,14,0,19,0,11,0,29,0 15,0,35,0,18,0,30,0,4,0,28,0 21,0,38,0,10,0,12,0,13,0,1,0 8,0,24,0,26,0,33,0,3,0,17,0 36,0,31,0,7,0,27,0,22,0,6,0 37,0,32,0,10,0,34,0,15,0,30,0 33,0,14,0,9,0,12,0,25,0,20,0 27,0,11,0,4,0,13,0,24,0,2,0 31,0,38,0,8,0,29,0,7,0,37,0 6,0,3,0,39,0,21,0,23,0,5,0 34,0,19,0,18,0,17,0,35,0,28,0 26,0,16,0,1,0,32,0,22,0,36,0 5,0,27,0,10,0,4,0,6,0,14,0 30,0,24,0,12,0,7,0,2,0,11,0 28,0,19,0,22,0,1,0,21,0,38,0 17,0,25,0,29,0,32,0,20,0,8,0 18,0,3,0,16,0,9,0,34,0,31,0 23,0,13,0,39,0,37,0,36,0,26,0 33,0,35,0,22,0,15,0,1,0,14,0 20,0,19,0,6,0,34,0,29,0,4,0 17,0,32,0,2,0,5,0,25,0,18,0 24,0,33,0,16,0,23,0,30,0,35,0 13,0,3,0,7,0,12,0,37,0,38,0 8,0,36,0,21,0,15,0,28,0,27,0 11,0,31,0,39,0,26,0,10,0,9,0 ================================================ FILE: schedules/39_2.csv ================================================ 20,0,28,0,13,0,22,0,19,0,5,0 26,0,25,0,23,0,38,0,37,0,27,0 16,0,15,0,14,0,7,0,6,0,31,0 2,0,34,0,29,0,21,0,11,0,9,0 8,0,32,0,1,0,30,0,10,0,33,0 12,0,24,0,17,0,36,0,35,0,18,0 3,0,4,0,22,0,39,0,26,0,6,0 7,0,10,0,11,0,37,0,25,0,28,0 36,0,21,0,13,0,23,0,16,0,32,0 1,0,9,0,18,0,38,0,14,0,4,0 27,0,17,0,19,0,15,0,8,0,34,0 35,0,2,0,31,0,3,0,33,0,5,0 12,0,30,0,29,0,24,0,20,0,39,0 ================================================ FILE: schedules/39_3.csv ================================================ 10,0,34,0,25,0,3,0,13,0,36,0 22,0,37,0,30,0,6,0,18,0,7,0 20,0,38,0,33,0,31,0,28,0,9,0 5,0,15,0,12,0,11,0,32,0,35,0 4,0,2,0,8,0,29,0,23,0,19,0 26,0,1,0,17,0,39,0,16,0,24,0 21,0,27,0,37,0,14,0,11,0,38,0 23,1,12,0,2,0,36,1,6,0,33,0 39,1,35,0,25,0,4,0,18,0,16,0 7,0,20,0,34,0,8,0,1,0,5,0 22,0,24,0,31,0,27,0,10,0,15,0 13,0,30,0,14,0,29,0,28,0,26,0 19,0,3,0,9,0,21,0,32,0,17,0 4,0,33,0,11,0,36,0,22,0,1,0 8,0,38,0,39,0,30,0,10,0,12,0 27,0,23,0,16,0,7,0,13,0,9,0 35,0,26,0,19,0,37,0,3,0,20,0 32,0,14,0,18,0,24,0,34,0,2,0 29,0,17,0,6,0,31,0,5,0,25,0 15,0,28,0,36,0,21,0,23,0,39,0 ================================================ FILE: schedules/39_4.csv ================================================ 20,0,1,0,33,0,6,0,7,0,29,0 18,0,27,0,37,0,31,0,35,0,5,0 3,0,26,0,19,0,14,0,25,0,12,0 36,0,17,0,34,0,16,0,39,0,32,0 24,0,2,0,38,0,21,0,22,0,10,0 8,0,15,0,11,0,4,0,13,0,9,0 28,0,23,0,39,0,30,0,29,0,19,0 35,0,10,0,14,0,1,0,36,0,21,0 2,0,16,0,9,0,3,0,27,0,20,0 22,0,12,0,4,0,5,0,33,0,34,0 31,0,24,0,17,0,30,0,8,0,7,0 25,0,11,0,6,0,37,0,15,0,23,0 18,0,26,0,13,0,32,0,28,0,38,0 29,0,8,0,3,0,36,0,10,0,5,0 11,0,27,0,19,0,22,0,1,0,17,0 37,0,30,0,32,0,12,0,9,0,38,0 31,0,21,0,23,0,26,0,33,0,16,0 7,0,28,0,4,0,2,0,25,0,35,0 18,0,14,0,15,0,39,0,20,0,24,0 6,0,13,0,30,0,34,0,27,0,10,0 1,0,3,0,31,0,23,0,4,0,32,0 5,0,38,0,16,0,19,0,15,0,7,0 33,0,17,0,14,0,2,0,37,0,13,0 34,0,21,0,29,0,25,0,9,0,18,0 36,0,12,0,20,0,11,0,24,0,28,0 35,0,22,0,39,0,6,0,8,0,26,0 ================================================ FILE: schedules/39_5.csv ================================================ 31,0,19,0,5,0,24,0,2,0,13,0 14,0,29,0,9,0,22,0,23,0,36,0 26,0,8,0,6,0,7,0,33,0,16,0 1,0,3,0,27,0,12,0,21,0,18,0 17,0,35,0,10,0,11,0,34,0,20,0 4,0,25,0,32,0,39,0,38,0,30,0 28,0,15,0,1,0,37,0,7,0,6,0 36,0,18,0,35,0,26,0,31,0,21,0 39,0,14,0,32,0,16,0,10,0,24,0 11,0,19,0,4,0,8,0,29,0,37,0 25,0,17,0,23,0,28,0,13,0,3,0 38,0,12,0,22,0,33,0,20,0,5,0 34,0,30,0,9,0,2,0,15,0,27,0 4,1,39,0,37,0,23,1,31,0,3,0 11,1,36,0,10,0,7,0,5,0,25,0 27,0,13,0,26,0,14,0,20,0,38,0 1,0,16,0,30,0,19,0,17,0,22,0 2,0,35,0,12,0,8,0,32,0,28,0 29,0,33,0,18,0,24,0,34,0,15,0 21,0,6,0,20,0,9,0,39,0,19,0 13,0,7,0,22,0,4,0,35,0,27,0 30,0,2,0,28,0,10,0,29,0,26,0 11,0,24,0,33,0,1,0,21,0,23,0 25,0,12,0,14,0,31,0,6,0,34,0 38,0,16,0,8,0,15,0,36,0,3,0 9,0,37,0,17,0,32,0,18,0,5,0 23,0,7,0,24,0,12,0,20,0,30,0 3,0,25,0,33,0,19,0,14,0,35,0 37,0,11,0,15,0,26,0,39,0,22,0 21,0,34,0,5,0,16,0,4,0,28,0 31,0,13,0,8,0,1,0,10,0,9,0 29,0,6,0,36,0,32,0,17,0,27,0 2,0,38,0,4,0,18,0,23,0,11,0 ================================================ FILE: schedules/39_6.csv ================================================ 34,0,22,0,8,0,20,0,11,0,7,0 17,0,18,0,32,0,14,0,25,0,3,0 24,0,12,0,5,0,6,0,19,0,21,0 27,0,29,0,1,0,4,0,36,0,2,0 9,0,31,0,28,0,13,0,26,0,33,0 39,0,16,0,37,0,23,0,30,0,35,0 10,0,38,0,17,0,15,0,7,0,24,0 19,0,33,0,1,0,20,0,21,0,32,0 2,0,28,0,14,0,3,0,34,0,5,0 15,0,8,0,9,0,36,0,37,0,25,0 27,0,22,0,6,0,23,0,26,0,39,0 13,0,35,0,4,0,10,0,11,0,12,0 18,0,31,0,38,0,30,0,29,0,16,0 1,0,2,0,23,0,26,0,8,0,24,0 20,0,35,0,6,0,36,0,17,0,9,0 39,0,29,0,22,0,13,0,15,0,19,0 30,0,7,0,3,0,12,0,21,0,25,0 4,0,34,0,14,0,16,0,33,0,38,0 10,0,37,0,18,0,28,0,27,0,5,0 31,0,11,0,2,0,32,0,39,0,25,0 13,0,6,0,3,0,34,0,1,0,15,0 4,0,38,0,12,0,8,0,28,0,18,0 26,0,37,0,11,0,17,0,16,0,19,0 36,0,31,0,21,0,10,0,14,0,22,0 32,0,24,0,30,0,20,0,27,0,9,0 23,0,7,0,29,0,33,0,5,0,35,0 26,0,21,0,15,0,18,0,11,0,4,0 16,0,28,0,25,0,24,0,22,0,1,0 23,0,32,0,36,0,38,0,34,0,13,0 8,0,35,0,19,0,27,0,3,0,31,0 2,0,10,0,33,0,30,0,12,0,17,0 14,0,29,0,20,0,6,0,37,0,7,0 9,0,5,0,1,0,39,0,38,0,11,0 27,0,17,0,35,0,21,0,28,0,22,0 18,0,13,0,16,0,2,0,7,0,19,0 30,0,5,0,6,0,32,0,8,0,4,0 26,0,9,0,25,0,34,0,10,0,29,0 20,0,12,0,23,0,31,0,15,0,14,0 39,0,36,0,24,0,3,0,33,0,37,0 ================================================ FILE: schedules/39_7.csv ================================================ 25,0,4,0,22,0,6,0,15,0,21,0 20,0,9,0,11,0,5,0,36,0,13,0 17,0,23,0,19,0,1,0,27,0,7,0 30,0,39,0,8,0,10,0,26,0,2,0 18,0,3,0,38,0,14,0,29,0,12,0 37,0,32,0,28,0,24,0,34,0,33,0 35,0,16,0,21,0,31,0,6,0,36,0 15,0,18,0,5,0,23,0,8,0,27,0 33,0,3,0,22,0,13,0,20,0,26,0 30,0,9,0,4,0,1,0,12,0,28,0 10,0,37,0,7,0,14,0,31,0,38,0 17,0,11,0,39,0,16,0,32,0,34,0 24,0,35,0,2,0,29,0,19,0,25,0 21,1,7,0,4,0,13,1,33,0,9,0 5,1,31,0,28,0,1,0,26,0,36,0 20,0,12,0,38,0,25,0,27,0,39,0 23,0,6,0,29,0,17,0,34,0,8,0 35,0,30,0,32,0,18,0,37,0,22,0 3,0,11,0,10,0,15,0,19,0,24,0 2,0,34,0,9,0,14,0,16,0,27,0 22,0,12,0,5,0,35,0,37,0,17,0 33,0,25,0,31,0,11,0,8,0,18,0 2,0,13,0,28,0,38,0,10,0,23,0 29,0,21,0,1,0,32,0,39,0,20,0 24,0,6,0,3,0,7,0,30,0,36,0 14,0,26,0,19,0,16,0,15,0,4,0 21,0,11,0,12,0,28,0,10,0,29,0 23,0,39,0,9,0,22,0,35,0,31,0 26,0,34,0,18,0,7,0,13,0,25,0 38,0,8,0,16,0,24,0,20,0,1,0 27,0,17,0,36,0,14,0,30,0,33,0 32,0,5,0,4,0,2,0,3,0,15,0 37,0,19,0,20,0,6,0,9,0,18,0 7,0,8,0,14,0,11,0,28,0,22,0 27,0,24,0,31,0,17,0,4,0,13,0 26,0,6,0,12,0,32,0,23,0,2,0 5,0,19,0,34,0,38,0,21,0,30,0 15,0,39,0,29,0,33,0,36,0,37,0 10,0,1,0,16,0,25,0,35,0,3,0 8,0,31,0,13,0,19,0,32,0,12,0 21,0,26,0,27,0,11,0,37,0,6,0 18,0,17,0,25,0,3,0,28,0,9,0 33,0,16,0,29,0,30,0,5,0,23,0 15,0,35,0,1,0,20,0,2,0,7,0 36,0,10,0,22,0,34,0,4,0,38,0 24,0,14,0,13,0,39,0,21,0,5,0 ================================================ FILE: schedules/39_8.csv ================================================ 6,0,10,0,16,0,20,0,33,0,4,0 11,0,34,0,29,0,25,0,14,0,23,0 15,0,19,0,8,0,17,0,12,0,27,0 7,0,3,0,13,0,32,0,21,0,30,0 18,0,1,0,22,0,38,0,28,0,2,0 24,0,37,0,31,0,26,0,5,0,35,0 39,0,8,0,4,0,9,0,36,0,27,0 12,0,25,0,21,0,22,0,33,0,38,0 14,0,32,0,37,0,6,0,26,0,17,0 30,0,18,0,5,0,15,0,16,0,36,0 29,0,39,0,13,0,31,0,19,0,34,0 10,0,35,0,3,0,11,0,28,0,1,0 24,0,23,0,2,0,7,0,9,0,20,0 38,0,21,0,8,0,32,0,29,0,15,0 36,0,1,0,19,0,13,0,31,0,11,0 33,0,5,0,17,0,7,0,22,0,35,0 16,0,24,0,25,0,6,0,28,0,39,0 12,0,23,0,30,0,14,0,2,0,10,0 20,0,27,0,26,0,3,0,9,0,18,0 4,0,15,0,7,0,37,0,34,0,1,0 36,0,39,0,12,0,35,0,6,0,30,0 17,0,16,0,13,0,2,0,25,0,11,0 33,0,19,0,23,0,26,0,38,0,37,0 4,0,14,0,9,0,3,0,31,0,21,0 10,0,34,0,18,0,24,0,32,0,22,0 28,0,20,0,5,0,29,0,8,0,27,0 14,0,38,0,19,0,30,0,16,0,7,0 11,0,32,0,35,0,15,0,34,0,9,0 10,0,20,0,1,0,25,0,5,0,39,0 36,0,29,0,2,0,4,0,3,0,26,0 12,0,18,0,28,0,13,0,21,0,37,0 6,0,27,0,31,0,17,0,23,0,22,0 33,0,1,0,2,0,24,0,8,0,14,0 19,0,13,0,9,0,10,0,5,0,37,0 12,0,34,0,32,0,16,0,20,0,31,0 7,0,6,0,8,0,29,0,18,0,35,0 3,0,24,0,39,0,17,0,38,0,15,0 28,0,25,0,22,0,36,0,23,0,4,0 30,0,26,0,11,0,27,0,21,0,33,0 35,0,13,0,38,0,6,0,20,0,14,0 22,0,8,0,3,0,37,0,19,0,16,0 27,0,4,0,11,0,12,0,24,0,7,0 32,0,23,0,5,0,39,0,33,0,18,0 31,0,9,0,28,0,15,0,30,0,25,0 36,0,10,0,21,0,2,0,34,0,17,0 26,0,29,0,23,0,1,0,13,0,12,0 25,0,4,0,35,0,32,0,18,0,19,0 38,0,34,0,6,0,3,0,2,0,5,0 27,0,24,0,15,0,33,0,14,0,36,0 11,0,37,0,22,0,30,0,20,0,39,0 26,0,7,0,31,0,8,0,10,0,28,0 17,0,9,0,21,0,16,0,29,0,1,0 ================================================ FILE: schedules/39_9.csv ================================================ 13,0,10,0,8,0,1,0,33,0,27,0 20,0,4,0,23,0,3,0,18,0,34,0 31,0,9,0,30,0,26,0,11,0,17,0 21,0,5,0,7,0,37,0,14,0,28,0 36,0,35,0,19,0,38,0,15,0,16,0 32,0,22,0,29,0,6,0,2,0,25,0 39,0,28,0,3,0,12,0,24,0,13,0 31,0,17,0,5,0,20,0,1,0,38,0 32,0,11,0,2,0,21,0,16,0,36,0 23,0,15,0,26,0,29,0,18,0,24,0 4,0,9,0,25,0,34,0,7,0,8,0 30,0,35,0,33,0,12,0,6,0,39,0 27,0,10,0,37,0,22,0,19,0,14,0 23,1,3,0,24,0,25,1,11,0,1,0 26,0,34,0,2,0,28,1,13,0,6,0 7,0,33,0,14,0,32,0,31,0,38,0 10,0,21,0,18,0,39,0,15,0,17,0 29,0,36,0,5,0,4,0,27,0,12,0 9,0,22,0,16,0,20,0,19,0,30,0 37,0,35,0,2,0,8,0,33,0,25,0 1,0,6,0,24,0,4,0,36,0,10,0 39,0,9,0,26,0,23,0,27,0,14,0 22,0,35,0,38,0,21,0,11,0,34,0 13,0,7,0,18,0,30,0,15,0,5,0 17,0,28,0,12,0,8,0,37,0,32,0 29,0,16,0,19,0,3,0,31,0,20,0 25,0,24,0,38,0,9,0,18,0,27,0 8,0,1,0,12,0,22,0,15,0,7,0 26,0,16,0,20,0,33,0,21,0,28,0 23,0,32,0,30,0,29,0,10,0,2,0 17,0,34,0,36,0,19,0,5,0,39,0 6,0,31,0,14,0,35,0,4,0,13,0 11,0,37,0,15,0,3,0,32,0,27,0 10,0,39,0,1,0,7,0,28,0,29,0 21,0,20,0,25,0,36,0,23,0,13,0 16,0,6,0,4,0,38,0,9,0,37,0 2,0,18,0,12,0,11,0,31,0,19,0 5,0,34,0,33,0,30,0,14,0,24,0 17,0,8,0,35,0,3,0,22,0,26,0 39,0,20,0,13,0,11,0,10,0,38,0 21,0,29,0,37,0,1,0,34,0,9,0 27,0,15,0,24,0,14,0,2,0,16,0 6,0,33,0,19,0,7,0,17,0,23,0 32,0,25,0,12,0,30,0,4,0,26,0 28,0,8,0,22,0,18,0,36,0,31,0 35,0,3,0,10,0,5,0,2,0,9,0 20,0,24,0,17,0,27,0,6,0,7,0 31,0,15,0,8,0,25,0,39,0,34,0 14,0,21,0,38,0,30,0,12,0,3,0 1,0,23,0,18,0,35,0,32,0,16,0 19,0,28,0,26,0,11,0,5,0,4,0 29,0,33,0,13,0,22,0,37,0,36,0 12,0,16,0,34,0,10,0,25,0,17,0 11,0,23,0,6,0,14,0,8,0,5,0 30,0,27,0,36,0,31,0,35,0,28,0 21,0,32,0,13,0,9,0,19,0,24,0 4,0,37,0,39,0,2,0,22,0,20,0 1,0,3,0,7,0,26,0,33,0,18,0 38,0,23,0,28,0,29,0,15,0,25,0 ================================================ FILE: schedules/40_1.csv ================================================ 1,0,2,0,37,0,28,0,38,0,5,0 13,0,20,0,15,0,9,0,22,0,7,0 30,0,39,0,34,0,10,0,31,0,19,0 23,0,35,0,40,0,6,0,32,0,29,0 8,0,24,0,25,0,16,0,12,0,21,0 26,0,33,0,36,0,4,0,17,0,18,0 14,0,3,0,15,1,27,0,11,0,38,1 ================================================ FILE: schedules/40_10.csv ================================================ 5,0,15,0,7,0,17,0,36,0,12,0 31,0,24,0,32,0,10,0,11,0,16,0 20,0,9,0,28,0,25,0,40,0,35,0 21,0,37,0,2,0,29,0,13,0,22,0 39,0,33,0,26,0,3,0,6,0,8,0 14,0,4,0,1,0,38,0,19,0,34,0 27,0,18,0,7,0,23,0,30,0,24,0 9,0,35,0,29,0,12,0,32,0,3,0 22,0,14,0,5,0,20,0,33,0,16,0 37,0,30,0,8,0,31,0,40,0,23,0 25,0,21,0,1,0,34,0,27,0,36,0 18,0,19,0,10,0,26,0,38,0,6,0 13,0,15,0,17,0,39,0,4,0,2,0 11,0,21,0,34,0,28,0,8,0,24,0 12,1,19,0,7,0,16,1,32,0,9,0 5,0,39,0,31,0,18,0,35,0,1,0 40,0,10,0,36,0,20,0,2,0,22,0 17,0,6,0,27,0,29,0,11,0,25,0 13,0,38,0,37,0,14,0,33,0,23,0 30,0,26,0,3,0,15,0,4,0,28,0 29,0,2,0,31,0,34,0,25,0,24,0 40,0,5,0,12,0,13,0,39,0,10,0 16,0,17,0,28,0,9,0,27,0,37,0 30,0,36,0,15,0,19,0,23,0,6,0 1,0,38,0,8,0,22,0,3,0,18,0 35,0,32,0,7,0,21,0,33,0,4,0 26,0,11,0,12,0,14,0,20,0,40,0 15,0,24,0,38,0,8,0,5,0,27,0 34,0,28,0,3,0,13,0,6,0,16,0 33,0,36,0,35,0,11,0,2,0,30,0 17,0,19,0,32,0,37,0,18,0,20,0 21,0,39,0,29,0,31,0,14,0,9,0 10,0,25,0,22,0,23,0,26,0,7,0 4,0,11,0,8,0,1,0,37,0,12,0 35,0,16,0,21,0,40,0,6,0,15,0 26,0,18,0,13,0,36,0,32,0,29,0 25,0,2,0,5,0,39,0,19,0,3,0 23,0,10,0,9,0,34,0,33,0,1,0 14,0,27,0,24,0,22,0,30,0,4,0 38,0,31,0,28,0,17,0,7,0,20,0 23,0,37,0,11,0,12,0,34,0,15,0 16,0,29,0,4,0,8,0,39,0,36,0 14,0,3,0,17,0,40,0,24,0,7,0 1,0,13,0,31,0,19,0,35,0,26,0 5,0,33,0,10,0,27,0,28,0,21,0 30,0,20,0,25,0,2,0,9,0,38,0 6,0,18,0,34,0,32,0,22,0,40,0 19,0,29,0,14,0,21,0,7,0,10,0 38,0,35,0,39,0,24,0,36,0,37,0 4,0,26,0,20,0,23,0,16,0,5,0 30,0,32,0,1,0,8,0,25,0,17,0 6,0,12,0,33,0,18,0,31,0,15,0 22,0,27,0,11,0,13,0,3,0,9,0 2,0,36,0,23,0,28,0,32,0,14,0 38,0,33,0,40,0,15,0,1,0,29,0 25,0,6,0,9,0,37,0,4,0,5,0 16,0,34,0,26,0,35,0,10,0,17,0 22,0,19,0,24,0,12,0,39,0,28,0 20,0,3,0,11,0,30,0,21,0,18,0 31,0,7,0,8,0,27,0,13,0,2,0 35,0,22,0,23,0,5,0,29,0,17,0 28,0,18,0,25,0,14,0,12,0,16,0 19,0,8,0,40,0,7,0,33,0,11,0 4,0,3,0,36,0,31,0,37,0,10,0 32,0,34,0,20,0,27,0,15,0,39,0 6,0,24,0,2,0,9,0,26,0,1,0 21,0,13,0,12,0,30,0,38,0,16,0 ================================================ FILE: schedules/40_11.csv ================================================ 39,0,37,0,1,0,23,0,27,0,12,0 8,0,15,0,25,0,16,0,5,0,38,0 24,0,17,0,4,0,21,0,30,0,35,0 28,0,26,0,9,0,18,0,22,0,31,0 7,0,2,0,3,0,29,0,20,0,32,0 6,0,40,0,36,0,33,0,19,0,14,0 13,0,10,0,4,0,34,0,11,0,25,0 9,0,29,0,24,0,27,0,15,0,32,0 1,0,20,0,8,0,36,0,14,0,31,0 10,0,35,0,33,0,7,0,26,0,39,0 23,0,38,0,18,0,11,0,19,0,30,0 13,0,37,0,2,0,28,0,5,0,40,0 34,0,3,0,6,0,16,0,21,0,12,0 17,0,10,0,8,0,22,0,19,0,32,0 36,1,28,0,2,0,15,1,4,0,31,0 26,1,27,0,38,0,40,1,33,0,13,0 24,0,22,0,34,0,3,0,1,0,11,0 35,0,16,0,6,0,18,0,30,0,29,0 5,0,25,0,9,0,12,0,20,0,39,0 7,0,23,0,14,0,37,0,17,0,21,0 31,0,26,0,34,0,40,0,29,0,38,0 24,0,20,0,16,0,39,0,28,0,10,0 11,0,12,0,22,0,19,0,35,0,15,0 2,0,30,0,5,0,14,0,27,0,3,0 33,0,1,0,36,0,32,0,13,0,18,0 25,0,21,0,7,0,8,0,37,0,9,0 17,0,23,0,15,0,6,0,4,0,20,0 26,0,16,0,33,0,24,0,12,0,19,0 9,0,13,0,21,0,29,0,10,0,5,0 39,0,36,0,23,0,17,0,28,0,3,0 1,0,32,0,34,0,38,0,25,0,4,0 30,0,27,0,31,0,11,0,37,0,6,0 35,0,7,0,22,0,40,0,2,0,8,0 14,0,29,0,4,0,18,0,25,0,1,0 31,0,3,0,39,0,10,0,6,0,38,0 20,0,35,0,13,0,26,0,21,0,8,0 22,0,23,0,40,0,16,0,18,0,36,0 12,0,5,0,15,0,30,0,37,0,32,0 34,0,14,0,28,0,27,0,7,0,19,0 9,0,17,0,11,0,33,0,2,0,24,0 13,0,29,0,8,0,3,0,4,0,23,0 26,0,20,0,30,0,37,0,34,0,40,0 11,0,18,0,24,0,7,0,5,0,36,0 25,0,16,0,10,0,17,0,27,0,22,0 19,0,6,0,1,0,2,0,9,0,35,0 31,0,38,0,33,0,21,0,15,0,39,0 28,0,32,0,11,0,14,0,12,0,8,0 6,0,22,0,30,0,7,0,34,0,4,0 18,0,27,0,39,0,21,0,20,0,2,0 5,0,17,0,19,0,1,0,26,0,40,0 29,0,12,0,31,0,24,0,13,0,14,0 9,0,32,0,38,0,28,0,16,0,23,0 37,0,25,0,35,0,3,0,10,0,36,0 33,0,39,0,8,0,15,0,30,0,34,0 16,0,19,0,13,0,24,0,7,0,31,0 36,0,21,0,32,0,22,0,5,0,1,0 12,0,4,0,40,0,10,0,9,0,27,0 17,0,29,0,35,0,38,0,37,0,28,0 18,0,20,0,3,0,33,0,11,0,15,0 14,0,6,0,2,0,25,0,26,0,23,0 29,0,27,0,21,0,19,0,8,0,36,0 1,0,31,0,28,0,7,0,33,0,30,0 11,0,26,0,14,0,16,0,39,0,9,0 2,0,12,0,18,0,38,0,34,0,17,0 10,0,20,0,15,0,23,0,6,0,13,0 3,0,25,0,32,0,24,0,35,0,40,0 5,0,37,0,26,0,22,0,4,0,33,0 14,0,15,0,16,0,1,0,10,0,2,0 30,0,38,0,3,0,9,0,36,0,20,0 19,0,37,0,4,0,39,0,13,0,22,0 11,0,40,0,21,0,29,0,28,0,25,0 5,0,34,0,27,0,35,0,31,0,23,0 8,0,32,0,24,0,6,0,18,0,17,0 7,0,15,0,40,0,12,0,36,0,26,0 ================================================ FILE: schedules/40_12.csv ================================================ 15,0,16,0,4,0,39,0,6,0,30,0 13,0,17,0,26,0,37,0,27,0,5,0 31,0,36,0,9,0,1,0,7,0,2,0 38,0,32,0,35,0,34,0,21,0,40,0 33,0,25,0,11,0,28,0,3,0,24,0 22,0,14,0,19,0,18,0,12,0,20,0 8,0,29,0,21,0,10,0,23,0,5,0 17,0,3,0,4,0,36,0,16,0,26,0 24,0,32,0,15,0,38,0,9,0,33,0 12,0,11,0,23,0,2,0,40,0,39,0 13,0,7,0,14,0,1,0,19,0,29,0 31,0,20,0,34,0,6,0,28,0,18,0 10,0,30,0,27,0,35,0,22,0,8,0 37,0,14,0,39,0,25,0,2,0,5,0 28,0,34,0,9,0,13,0,12,0,16,0 36,0,4,0,32,0,23,0,35,0,27,0 17,0,30,0,22,0,1,0,24,0,38,0 20,0,7,0,11,0,21,0,37,0,10,0 40,0,15,0,33,0,19,0,25,0,31,0 3,0,29,0,18,0,26,0,6,0,8,0 28,0,38,0,37,0,9,0,4,0,10,0 31,0,39,0,22,0,2,0,35,0,13,0 40,0,18,0,16,0,1,0,17,0,15,0 33,0,6,0,32,0,8,0,7,0,30,0 34,0,23,0,26,0,27,0,29,0,11,0 25,0,14,0,12,0,36,0,20,0,21,0 3,0,19,0,40,0,5,0,24,0,8,0 9,0,1,0,6,0,32,0,26,0,11,0 23,0,37,0,22,0,33,0,16,0,14,0 3,0,21,0,2,0,30,0,4,0,34,0 5,0,17,0,12,0,7,0,15,0,31,0 39,0,20,0,28,0,27,0,19,0,38,0 35,0,10,0,36,0,24,0,29,0,25,0 13,0,37,0,32,0,18,0,23,0,15,0 34,0,16,0,1,0,33,0,5,0,20,0 30,0,26,0,35,0,22,0,28,0,7,0 29,0,14,0,40,0,3,0,38,0,39,0 10,0,25,0,8,0,9,0,17,0,21,0 18,0,2,0,24,0,19,0,4,0,12,0 6,0,11,0,36,0,13,0,31,0,27,0 17,0,20,0,10,0,14,0,3,0,9,0 24,0,12,0,22,0,5,0,32,0,40,0 28,0,2,0,27,0,29,0,15,0,36,0 38,0,23,0,16,0,7,0,6,0,35,0 19,0,8,0,34,0,37,0,1,0,11,0 21,0,33,0,39,0,18,0,31,0,26,0 13,0,30,0,5,0,4,0,25,0,40,0 28,0,17,0,35,0,2,0,20,0,6,0 27,0,16,0,24,0,21,0,1,0,14,0 15,0,25,0,34,0,22,0,11,0,10,0 19,0,7,0,9,0,39,0,36,0,23,0 29,0,37,0,12,0,30,0,32,0,31,0 4,0,38,0,26,0,33,0,8,0,13,0 3,0,6,0,27,0,18,0,25,0,22,0 19,0,16,0,20,0,9,0,29,0,30,0 35,0,5,0,39,0,17,0,11,0,8,0 7,0,24,0,21,0,28,0,13,0,15,0 12,0,1,0,31,0,4,0,23,0,14,0 18,0,34,0,37,0,40,0,38,0,36,0 32,0,2,0,10,0,33,0,26,0,3,0 9,0,8,0,15,0,35,0,20,0,14,0 4,0,18,0,11,0,16,0,29,0,22,0 6,0,13,0,40,0,37,0,33,0,17,0 27,0,7,0,25,0,2,0,38,0,12,0 28,0,31,0,5,0,3,0,23,0,32,0 30,0,36,0,1,0,10,0,39,0,34,0 26,0,24,0,37,0,21,0,19,0,35,0 29,0,28,0,33,0,40,0,27,0,17,0 3,0,25,0,1,0,39,0,32,0,7,0 11,0,9,0,5,0,14,0,30,0,18,0 6,0,38,0,10,0,31,0,16,0,2,0 26,0,22,0,15,0,36,0,34,0,12,0 23,0,20,0,8,0,13,0,24,0,4,0 21,0,38,0,11,0,19,0,5,0,6,0 33,0,35,0,1,0,9,0,39,0,12,0 40,0,24,0,31,0,20,0,26,0,27,0 23,0,2,0,29,0,25,0,37,0,30,0 36,0,14,0,8,0,32,0,28,0,16,0 22,0,21,0,4,0,7,0,17,0,34,0 18,0,19,0,13,0,15,0,10,0,3,0 ================================================ FILE: schedules/40_13.csv ================================================ 31,0,7,0,29,0,11,0,37,0,35,0 24,0,3,0,40,0,27,0,20,0,16,0 23,0,39,0,30,0,33,0,4,0,25,0 2,0,10,0,15,0,19,0,17,0,14,0 18,0,1,0,9,0,13,0,12,0,22,0 5,0,32,0,38,0,28,0,8,0,6,0 26,0,34,0,14,0,36,0,21,0,31,0 17,0,35,0,16,0,19,0,39,0,10,0 29,0,12,0,30,0,13,0,24,0,28,0 38,0,15,0,1,0,36,0,32,0,27,0 4,0,6,0,2,0,7,0,9,0,20,0 40,0,11,0,25,0,23,0,18,0,34,0 26,0,21,0,5,0,8,0,33,0,3,0 37,0,28,0,12,0,22,0,27,0,19,0 10,1,14,0,1,0,7,1,6,0,11,0 23,0,38,0,24,0,26,0,17,0,25,0 31,0,22,0,8,0,18,0,2,0,29,0 15,0,13,0,33,0,4,0,36,0,40,0 34,0,20,0,5,0,16,0,9,0,30,0 32,0,3,0,37,0,35,0,21,0,39,0 25,0,8,0,23,0,7,0,1,0,13,0 18,0,10,0,20,0,38,0,33,0,6,0 26,0,27,0,39,0,22,0,5,0,36,0 29,0,11,0,16,0,15,0,40,0,9,0 37,0,31,0,17,0,12,0,21,0,24,0 34,0,19,0,2,0,30,0,28,0,3,0 35,0,4,0,22,0,14,0,32,0,25,0 10,0,23,0,6,0,38,0,13,0,31,0 36,0,15,0,19,0,3,0,29,0,9,0 26,0,35,0,30,0,12,0,39,0,40,0 20,0,1,0,33,0,28,0,14,0,16,0 34,0,27,0,24,0,21,0,2,0,7,0 37,0,8,0,18,0,5,0,17,0,4,0 11,0,12,0,19,0,32,0,31,0,20,0 40,0,35,0,28,0,34,0,15,0,6,0 27,0,33,0,9,0,39,0,4,0,38,0 21,0,1,0,17,0,29,0,26,0,32,0 8,0,30,0,36,0,10,0,24,0,7,0 13,0,23,0,5,0,11,0,22,0,3,0 25,0,16,0,18,0,2,0,14,0,37,0 10,0,31,0,40,0,4,0,1,0,26,0 35,0,3,0,38,0,39,0,34,0,29,0 32,0,28,0,9,0,24,0,33,0,36,0 19,0,16,0,7,0,12,0,5,0,18,0 13,0,6,0,27,0,2,0,17,0,23,0 15,0,20,0,11,0,22,0,21,0,25,0 8,0,14,0,9,0,37,0,30,0,40,0 33,0,7,0,39,0,17,0,34,0,28,0 31,0,3,0,18,0,27,0,25,0,1,0 16,0,22,0,23,0,21,0,19,0,32,0 8,0,13,0,20,0,26,0,15,0,37,0 2,0,35,0,36,0,11,0,38,0,30,0 12,0,6,0,14,0,4,0,29,0,10,0 24,0,25,0,31,0,5,0,40,0,7,0 22,0,34,0,33,0,15,0,8,0,17,0 32,0,12,0,1,0,2,0,20,0,30,0 39,0,16,0,3,0,11,0,23,0,14,0 26,0,36,0,9,0,18,0,13,0,35,0 38,0,29,0,21,0,5,0,27,0,10,0 19,0,4,0,28,0,37,0,6,0,24,0 17,0,12,0,33,0,25,0,35,0,9,0 2,0,27,0,3,0,14,0,7,0,18,0 22,0,10,0,28,0,4,0,31,0,16,0 5,0,37,0,1,0,15,0,29,0,23,0 34,0,13,0,11,0,20,0,19,0,24,0 39,0,36,0,6,0,40,0,21,0,8,0 26,0,38,0,7,0,32,0,30,0,15,0 29,0,22,0,20,0,33,0,31,0,2,0 4,0,18,0,21,0,28,0,39,0,11,0 34,0,32,0,40,0,37,0,10,0,13,0 23,0,26,0,19,0,14,0,5,0,35,0 36,0,25,0,12,0,8,0,38,0,16,0 24,0,30,0,17,0,3,0,1,0,6,0 9,0,4,0,13,0,27,0,7,0,35,0 21,0,33,0,37,0,25,0,19,0,38,0 32,0,8,0,11,0,3,0,26,0,10,0 28,0,18,0,27,0,20,0,40,0,23,0 15,0,5,0,39,0,24,0,2,0,1,0 29,0,17,0,36,0,34,0,16,0,12,0 31,0,14,0,30,0,22,0,6,0,9,0 20,0,25,0,28,0,10,0,35,0,8,0 4,0,37,0,7,0,34,0,1,0,36,0 24,0,14,0,29,0,22,0,18,0,38,0 32,0,39,0,13,0,15,0,31,0,12,0 11,0,17,0,27,0,33,0,19,0,30,0 5,0,2,0,16,0,6,0,26,0,40,0 9,0,21,0,10,0,3,0,23,0,7,0 ================================================ FILE: schedules/40_14.csv ================================================ 16,0,3,0,33,0,29,0,24,0,38,0 26,0,40,0,1,0,20,0,5,0,12,0 35,0,10,0,34,0,30,0,36,0,4,0 37,0,17,0,32,0,15,0,28,0,25,0 21,0,22,0,6,0,8,0,7,0,27,0 31,0,2,0,23,0,39,0,14,0,13,0 18,0,11,0,36,0,19,0,9,0,5,0 27,0,1,0,34,0,7,0,16,0,35,0 22,0,31,0,14,0,26,0,15,0,32,0 11,0,28,0,19,0,29,0,25,0,9,0 12,0,2,0,13,0,21,0,10,0,33,0 23,0,17,0,6,0,4,0,18,0,40,0 38,0,39,0,20,0,24,0,8,0,30,0 3,0,25,0,27,0,37,0,26,0,13,0 18,1,29,0,34,0,7,1,10,0,2,0 6,1,40,0,38,0,17,1,22,0,33,0 36,0,5,0,8,0,31,0,14,0,12,0 24,0,11,0,37,0,28,0,35,0,1,0 23,0,32,0,19,0,20,0,3,0,15,0 16,0,4,0,9,0,21,0,30,0,39,0 28,0,2,0,26,0,17,0,38,0,33,0 35,0,8,0,23,0,37,0,6,0,25,0 4,0,31,0,7,0,19,0,12,0,3,0 34,0,32,0,9,0,24,0,18,0,1,0 15,0,27,0,5,0,22,0,40,0,16,0 14,0,29,0,36,0,13,0,21,0,20,0 10,0,30,0,18,0,39,0,11,0,9,0 15,0,35,0,38,0,23,0,34,0,12,0 40,0,21,0,25,0,31,0,1,0,29,0 6,0,27,0,39,0,2,0,19,0,14,0 13,0,22,0,30,0,26,0,4,0,11,0 7,0,17,0,24,0,28,0,36,0,8,0 10,0,16,0,37,0,33,0,32,0,5,0 20,0,2,0,14,0,3,0,18,0,22,0 38,0,36,0,1,0,11,0,15,0,23,0 7,0,12,0,30,0,32,0,21,0,29,0 28,0,20,0,27,0,13,0,9,0,37,0 5,0,6,0,40,0,33,0,25,0,31,0 35,0,26,0,19,0,24,0,10,0,4,0 39,0,17,0,8,0,3,0,16,0,34,0 22,0,5,0,11,0,2,0,30,0,9,0 14,0,28,0,4,0,21,0,38,0,27,0 33,0,26,0,23,0,16,0,25,0,8,0 3,0,24,0,13,0,32,0,10,0,6,0 7,0,19,0,29,0,31,0,17,0,35,0 37,0,18,0,1,0,12,0,39,0,36,0 15,0,34,0,33,0,40,0,20,0,23,0 29,0,11,0,3,0,19,0,17,0,21,0 39,0,1,0,2,0,38,0,12,0,25,0 6,0,36,0,13,0,35,0,30,0,32,0 10,0,26,0,8,0,14,0,9,0,27,0 24,0,15,0,40,0,31,0,34,0,37,0 18,0,5,0,16,0,7,0,28,0,22,0 4,0,39,0,29,0,20,0,35,0,11,0 30,0,14,0,26,0,19,0,37,0,40,0 28,0,31,0,18,0,10,0,3,0,1,0 8,0,20,0,38,0,24,0,12,0,22,0 15,0,21,0,9,0,17,0,16,0,6,0 7,0,33,0,36,0,27,0,2,0,32,0 25,0,5,0,34,0,4,0,23,0,13,0 15,0,1,0,30,0,28,0,17,0,3,0 19,0,39,0,32,0,40,0,8,0,12,0 4,0,9,0,6,0,37,0,26,0,29,0 2,0,21,0,16,0,13,0,38,0,31,0 11,0,14,0,33,0,27,0,22,0,23,0 25,0,20,0,7,0,10,0,5,0,24,0 36,0,34,0,16,0,35,0,18,0,6,0 12,0,27,0,37,0,2,0,4,0,17,0 11,0,32,0,22,0,24,0,23,0,39,0 5,0,31,0,30,0,18,0,9,0,8,0 34,0,21,0,38,0,25,0,19,0,1,0 28,0,33,0,29,0,20,0,26,0,36,0 40,0,13,0,35,0,7,0,14,0,15,0 10,0,11,0,12,0,3,0,6,0,8,0 9,0,20,0,1,0,32,0,2,0,38,0 24,0,21,0,36,0,22,0,15,0,26,0 14,0,25,0,23,0,34,0,28,0,30,0 29,0,17,0,40,0,18,0,33,0,4,0 19,0,31,0,10,0,16,0,27,0,13,0 7,0,3,0,37,0,39,0,35,0,5,0 17,0,9,0,12,0,34,0,20,0,22,0 21,0,1,0,23,0,29,0,16,0,10,0 6,0,28,0,13,0,39,0,40,0,36,0 4,0,3,0,37,0,18,0,14,0,38,0 26,0,7,0,25,0,11,0,15,0,31,0 24,0,35,0,27,0,30,0,19,0,33,0 8,0,32,0,4,0,5,0,2,0,38,0 26,0,18,0,21,0,34,0,40,0,7,0 22,0,10,0,39,0,19,0,6,0,15,0 20,0,32,0,16,0,31,0,36,0,27,0 13,0,8,0,33,0,1,0,11,0,17,0 30,0,12,0,29,0,24,0,28,0,37,0 35,0,9,0,2,0,23,0,3,0,5,0 25,0,18,0,17,0,14,0,7,0,6,0 ================================================ FILE: schedules/40_2.csv ================================================ 34,0,5,0,19,0,37,0,23,0,11,0 27,0,31,0,33,0,26,0,16,0,40,0 36,0,3,0,17,0,1,0,8,0,10,0 28,0,6,0,39,0,25,0,38,0,29,0 7,0,32,0,4,0,15,0,24,0,22,0 21,0,20,0,13,0,30,0,14,0,2,0 9,0,35,0,10,0,18,0,12,0,23,0 17,0,37,0,39,0,22,0,7,0,31,0 1,0,14,0,15,0,33,0,6,0,34,0 4,0,12,0,16,0,13,0,38,0,3,0 19,0,21,0,29,0,9,0,40,0,32,0 18,0,8,0,24,0,30,0,26,0,5,0 35,0,36,0,11,0,20,0,27,0,28,0 25,0,19,1,9,1,2,0,32,1,40,1 ================================================ FILE: schedules/40_3.csv ================================================ 17,0,33,0,20,0,27,0,24,0,25,0 18,0,37,0,9,0,32,0,1,0,2,0 34,0,29,0,28,0,19,0,30,0,21,0 3,0,4,0,23,0,5,0,14,0,11,0 39,0,31,0,7,0,15,0,22,0,40,0 35,0,8,0,12,0,10,0,6,0,26,0 36,0,16,0,25,0,13,0,38,0,4,0 24,0,19,0,40,0,23,0,21,0,1,0 11,0,7,0,32,0,20,0,12,0,34,0 37,0,14,0,8,0,22,0,16,0,29,0 9,0,10,0,36,0,15,0,28,0,17,0 26,0,38,0,27,0,5,0,39,0,18,0 2,0,30,0,33,0,31,0,35,0,3,0 13,0,17,0,11,0,6,0,40,0,29,0 23,0,15,0,25,0,18,0,8,0,34,0 22,0,10,0,19,0,33,0,38,0,32,0 16,0,20,0,6,0,9,0,5,0,31,0 2,0,14,0,21,0,26,0,7,0,13,0 39,0,24,0,28,0,37,0,35,0,4,0 3,0,30,0,1,0,12,0,27,0,36,0 ================================================ FILE: schedules/40_4.csv ================================================ 7,0,17,0,8,0,9,0,33,0,37,0 32,0,13,0,22,0,16,0,28,0,1,0 27,0,31,0,39,0,34,0,5,0,30,0 14,0,26,0,35,0,15,0,18,0,2,0 21,0,10,0,23,0,24,0,6,0,38,0 20,0,36,0,29,0,3,0,40,0,19,0 4,0,25,0,14,0,11,0,12,0,22,0 18,0,33,0,7,0,10,0,39,0,1,0 23,0,28,0,40,0,26,0,5,0,17,0 29,0,37,0,38,0,27,0,16,0,12,0 32,0,8,0,25,0,31,0,20,0,15,0 9,0,36,0,21,0,34,0,11,0,2,0 35,0,3,0,24,0,30,0,4,0,13,0 6,0,31,0,16,0,19,0,7,0,26,0 22,1,17,0,15,0,39,1,29,0,21,0 40,0,9,0,30,0,38,0,1,0,25,0 12,0,24,0,32,0,5,0,35,0,36,0 19,0,2,0,28,0,4,0,10,0,8,0 33,0,13,0,11,0,20,0,23,0,27,0 37,0,3,0,34,0,18,0,14,0,6,0 1,0,12,0,2,0,31,0,17,0,24,0 30,0,10,0,11,0,32,0,29,0,26,0 6,0,5,0,20,0,18,0,9,0,22,0 39,0,38,0,14,0,8,0,36,0,13,0 28,0,27,0,7,0,3,0,21,0,25,0 34,0,16,0,4,0,33,0,40,0,15,0 35,0,19,0,22,0,23,0,37,0,39,0 ================================================ FILE: schedules/40_5.csv ================================================ 5,0,10,0,28,0,3,0,20,0,35,0 11,0,4,0,39,0,6,0,1,0,25,0 16,0,30,0,38,0,9,0,15,0,8,0 34,0,2,0,24,0,22,0,37,0,17,0 18,0,29,0,19,0,13,0,26,0,23,0 36,0,7,0,33,0,32,0,31,0,14,0 40,0,27,0,39,0,12,0,21,0,28,0 26,0,25,0,34,0,16,0,20,0,10,0 1,0,3,0,7,0,2,0,30,0,13,0 4,0,14,0,27,0,37,0,38,0,35,0 12,0,24,0,11,0,31,0,18,0,8,0 32,0,36,0,40,0,6,0,22,0,23,0 19,0,17,0,15,0,5,0,33,0,21,0 29,0,1,0,10,0,9,0,27,0,31,0 24,1,20,0,23,0,2,1,38,0,12,0 36,1,22,0,15,0,26,1,28,0,4,0 25,0,18,0,32,0,30,0,17,0,35,0 21,0,13,0,6,0,8,0,34,0,5,0 37,0,16,0,33,0,7,0,29,0,39,0 19,0,11,0,9,0,14,0,40,0,3,0 17,0,13,0,25,0,38,0,28,0,36,0 31,0,5,0,2,0,16,0,4,0,18,0 15,0,35,0,32,0,34,0,29,0,11,0 33,0,6,0,40,0,3,0,10,0,24,0 22,0,20,0,39,0,8,0,19,0,27,0 14,0,37,0,23,0,30,0,21,0,1,0 7,0,9,0,35,0,26,0,12,0,6,0 34,0,3,0,38,0,36,0,18,0,39,0 28,0,16,0,1,0,19,0,24,0,32,0 27,0,30,0,26,0,2,0,11,0,33,0 22,0,12,0,5,0,29,0,14,0,25,0 20,0,37,0,31,0,15,0,40,0,13,0 8,0,23,0,10,0,4,0,17,0,7,0 21,0,24,0,36,0,9,0,2,0,26,0 ================================================ FILE: schedules/40_6.csv ================================================ 12,0,22,0,13,0,24,0,37,0,30,0 14,0,28,0,35,0,15,0,3,0,23,0 20,0,9,0,11,0,32,0,4,0,5,0 1,0,8,0,26,0,6,0,40,0,31,0 25,0,36,0,7,0,10,0,17,0,38,0 33,0,2,0,19,0,29,0,34,0,18,0 39,0,21,0,5,0,27,0,16,0,31,0 23,0,37,0,35,0,1,0,7,0,32,0 14,0,18,0,8,0,13,0,10,0,4,0 26,0,21,0,38,0,3,0,20,0,2,0 36,0,12,0,40,0,22,0,29,0,39,0 24,0,17,0,9,0,16,0,33,0,34,0 30,0,11,0,25,0,19,0,6,0,28,0 27,0,38,0,2,0,15,0,12,0,32,0 3,0,17,0,4,0,29,0,24,0,31,0 22,0,18,0,25,0,16,0,8,0,20,0 13,0,5,0,15,0,7,0,34,0,6,0 27,0,37,0,19,0,40,0,35,0,10,0 36,0,28,0,1,0,21,0,9,0,14,0 39,0,30,0,33,0,23,0,11,0,26,0 13,0,16,0,32,0,3,0,19,0,40,0 37,0,17,0,28,0,38,0,5,0,18,0 30,0,29,0,15,0,39,0,1,0,20,0 6,0,8,0,33,0,12,0,21,0,35,0 14,0,7,0,11,0,22,0,26,0,24,0 2,0,31,0,23,0,9,0,25,0,10,0 34,0,27,0,30,0,4,0,36,0,8,0 11,0,40,0,13,0,21,0,17,0,15,0 24,0,39,0,35,0,5,0,25,0,2,0 3,0,6,0,9,0,27,0,7,0,18,0 32,0,28,0,10,0,16,0,29,0,26,0 4,0,22,0,19,0,38,0,33,0,1,0 31,0,14,0,20,0,12,0,37,0,34,0 23,0,24,0,32,0,36,0,21,0,18,0 9,0,39,0,15,0,17,0,8,0,19,0 7,0,20,0,40,0,33,0,31,0,28,0 29,0,35,0,5,0,30,0,14,0,38,0 6,0,36,0,16,0,37,0,4,0,2,0 27,0,12,0,26,0,23,0,25,0,13,0 3,0,10,0,34,0,11,0,22,0,1,0 ================================================ FILE: schedules/40_7.csv ================================================ 33,0,28,0,23,0,4,0,11,0,8,0 25,0,3,0,10,0,13,0,37,0,35,0 31,0,29,0,24,0,22,0,7,0,6,0 14,0,18,0,26,0,30,0,20,0,9,0 16,0,21,0,15,0,36,0,1,0,34,0 27,0,19,0,12,0,2,0,39,0,40,0 38,0,17,0,18,0,32,0,5,0,24,0 1,0,30,0,8,0,25,0,11,0,29,0 2,0,37,0,20,0,7,0,28,0,4,0 6,0,32,0,40,0,23,0,21,0,35,0 27,0,9,0,5,0,10,0,16,0,19,0 22,0,17,0,39,0,33,0,13,0,15,0 34,0,12,0,14,0,3,0,26,0,38,0 36,0,9,0,32,0,31,0,40,0,4,0 13,1,22,0,25,0,21,1,28,0,5,0 6,0,1,0,15,0,30,0,37,0,3,0 20,0,31,0,26,0,17,0,10,0,11,0 29,0,2,0,16,0,38,0,39,0,23,0 36,0,12,0,33,0,27,0,24,0,34,0 8,0,35,0,18,0,7,0,14,0,19,0 22,0,28,0,2,0,6,0,16,0,17,0 24,0,13,0,3,0,11,0,40,0,27,0 20,0,21,0,38,0,9,0,15,0,8,0 7,0,39,0,36,0,30,0,25,0,14,0 31,0,10,0,23,0,12,0,18,0,1,0 37,0,19,0,33,0,29,0,26,0,32,0 4,0,34,0,30,0,35,0,5,0,22,0 17,0,20,0,36,0,12,0,23,0,3,0 39,0,16,0,31,0,8,0,24,0,37,0 26,0,5,0,7,0,1,0,13,0,21,0 14,0,10,0,27,0,28,0,29,0,15,0 2,0,11,0,32,0,35,0,9,0,34,0 18,0,33,0,40,0,38,0,25,0,6,0 19,0,21,0,3,0,4,0,24,0,10,0 32,0,27,0,1,0,14,0,20,0,22,0 25,0,37,0,7,0,17,0,23,0,9,0 4,0,5,0,6,0,12,0,39,0,11,0 15,0,40,0,35,0,16,0,26,0,33,0 8,0,13,0,29,0,18,0,2,0,36,0 38,0,34,0,19,0,28,0,31,0,30,0 25,0,23,0,4,0,26,0,27,0,15,0 21,0,22,0,11,0,39,0,18,0,37,0 3,0,5,0,14,0,31,0,33,0,2,0 36,0,38,0,13,0,20,0,6,0,19,0 24,0,28,0,35,0,29,0,1,0,9,0 17,0,8,0,7,0,10,0,40,0,34,0 16,0,30,0,13,0,12,0,32,0,21,0 ================================================ FILE: schedules/40_8.csv ================================================ 23,0,40,0,1,0,22,0,28,0,16,0 38,0,26,0,17,0,15,0,29,0,2,0 10,0,12,0,39,0,5,0,35,0,31,0 13,0,14,0,33,0,9,0,3,0,7,0 32,0,8,0,37,0,36,0,6,0,20,0 18,0,11,0,19,0,34,0,25,0,24,0 30,0,27,0,13,0,21,0,4,0,23,0 15,0,6,0,39,0,12,0,33,0,28,0 29,0,24,0,22,0,32,0,10,0,3,0 11,0,5,0,40,0,18,0,30,0,38,0 7,0,25,0,4,0,37,0,17,0,20,0 36,0,2,0,16,0,35,0,9,0,34,0 27,0,19,0,26,0,1,0,8,0,14,0 21,0,24,0,33,0,31,0,22,0,25,0 3,1,29,0,23,0,5,1,7,0,34,0 37,1,14,0,30,0,1,1,35,0,15,0 2,0,20,0,8,0,11,0,16,0,21,0 4,0,13,0,39,0,19,0,40,0,6,0 38,0,36,0,28,0,31,0,10,0,27,0 32,0,17,0,9,0,12,0,18,0,26,0 25,0,39,0,8,0,2,0,14,0,22,0 15,0,21,0,7,0,19,0,24,0,36,0 6,0,35,0,17,0,27,0,23,0,5,0 34,0,33,0,29,0,13,0,12,0,40,0 30,0,31,0,3,0,16,0,20,0,18,0 37,0,28,0,10,0,11,0,9,0,26,0 1,0,4,0,34,0,38,0,32,0,21,0 31,0,7,0,40,0,25,0,27,0,6,0 15,0,36,0,8,0,5,0,13,0,3,0 22,0,20,0,38,0,19,0,14,0,12,0 4,0,11,0,10,0,17,0,1,0,33,0 24,0,18,0,23,0,2,0,37,0,26,0 16,0,9,0,30,0,29,0,39,0,32,0 28,0,13,0,1,0,35,0,25,0,38,0 20,0,15,0,14,0,10,0,23,0,34,0 11,0,39,0,22,0,26,0,7,0,36,0 35,0,29,0,16,0,18,0,21,0,6,0 28,0,40,0,30,0,8,0,17,0,24,0 9,0,2,0,12,0,4,0,27,0,3,0 37,0,19,0,5,0,31,0,33,0,32,0 10,0,18,0,1,0,13,0,8,0,7,0 26,0,22,0,34,0,6,0,30,0,4,0 20,0,33,0,25,0,36,0,29,0,27,0 9,0,19,0,31,0,17,0,15,0,3,0 40,0,2,0,21,0,5,0,28,0,14,0 12,0,38,0,24,0,16,0,39,0,23,0 35,0,32,0,27,0,37,0,11,0,15,0 21,0,25,0,3,0,40,0,10,0,26,0 6,0,9,0,5,0,20,0,1,0,24,0 4,0,29,0,31,0,8,0,23,0,11,0 16,0,14,0,17,0,37,0,22,0,13,0 7,0,2,0,28,0,30,0,12,0,32,0 36,0,18,0,35,0,33,0,38,0,19,0 34,0,3,0,37,0,39,0,5,0,1,0 ================================================ FILE: schedules/40_9.csv ================================================ 39,0,25,0,35,0,31,0,38,0,12,0 18,0,22,0,33,0,9,0,4,0,3,0 20,0,10,0,37,0,21,0,7,0,14,0 34,0,6,0,30,0,36,0,17,0,23,0 32,0,13,0,2,0,16,0,11,0,19,0 15,0,8,0,5,0,24,0,26,0,40,0 29,0,1,0,3,0,28,0,27,0,9,0 13,0,20,0,30,0,33,0,6,0,2,0 38,0,22,0,26,0,4,0,10,0,14,0 24,0,25,0,17,0,19,0,39,0,1,0 21,0,11,0,12,0,36,0,18,0,29,0 31,0,5,0,34,0,37,0,16,0,8,0 15,0,7,0,28,0,32,0,35,0,23,0 27,0,13,0,18,0,40,0,10,0,17,0 37,0,29,0,4,0,25,0,19,0,30,0 32,0,34,0,38,0,9,0,20,0,24,0 2,0,27,0,8,0,1,0,28,0,12,0 36,0,11,0,3,0,5,0,35,0,26,0 39,0,16,0,22,0,15,0,23,0,21,0 40,0,6,0,14,0,33,0,7,0,31,0 17,0,37,0,1,0,11,0,32,0,20,0 35,0,4,0,18,0,29,0,24,0,5,0 8,0,19,0,21,0,9,0,38,0,23,0 25,0,36,0,10,0,28,0,33,0,16,0 31,0,14,0,30,0,12,0,15,0,3,0 40,0,7,0,13,0,22,0,2,0,34,0 26,0,6,0,8,0,27,0,39,0,29,0 4,0,12,0,16,0,35,0,21,0,1,0 24,0,23,0,34,0,31,0,10,0,11,0 18,0,26,0,15,0,20,0,25,0,6,0 19,0,32,0,9,0,40,0,30,0,36,0 17,0,28,0,39,0,13,0,5,0,22,0 2,0,7,0,38,0,3,0,33,0,37,0 14,0,15,0,9,0,27,0,35,0,19,0 6,0,29,0,12,0,22,0,32,0,10,0 18,0,38,0,20,0,36,0,31,0,2,0 7,0,1,0,24,0,30,0,26,0,16,0 27,0,5,0,23,0,34,0,25,0,33,0 28,0,11,0,37,0,40,0,21,0,39,0 14,0,3,0,8,0,4,0,13,0,17,0 35,0,12,0,33,0,26,0,34,0,19,0 10,0,1,0,18,0,15,0,36,0,37,0 20,0,31,0,16,0,11,0,22,0,4,0 25,0,3,0,23,0,8,0,40,0,32,0 6,0,5,0,17,0,9,0,2,0,21,0 38,0,24,0,14,0,30,0,28,0,29,0 13,0,39,0,36,0,27,0,7,0,4,0 2,0,10,0,35,0,22,0,8,0,25,0 11,0,33,0,5,0,38,0,1,0,15,0 16,0,21,0,34,0,3,0,24,0,30,0 28,0,14,0,19,0,6,0,18,0,7,0 31,0,40,0,29,0,27,0,20,0,17,0 26,0,12,0,23,0,9,0,37,0,13,0 32,0,33,0,30,0,39,0,18,0,8,0 2,0,4,0,28,0,29,0,34,0,15,0 40,0,1,0,16,0,6,0,38,0,35,0 11,0,9,0,17,0,7,0,12,0,25,0 19,0,20,0,3,0,10,0,5,0,39,0 32,0,31,0,21,0,14,0,13,0,26,0 24,0,27,0,36,0,22,0,37,0,23,0 ================================================ FILE: schedules/41_1.csv ================================================ 35,0,10,0,37,0,23,0,33,0,19,0 12,0,26,0,13,0,4,0,39,0,2,0 9,0,16,0,25,0,11,0,27,0,6,0 41,0,28,0,36,0,21,0,34,0,20,0 15,0,22,0,24,0,18,0,14,0,40,0 38,0,31,0,1,0,17,0,8,0,7,0 30,0,29,0,5,0,32,0,3,0,33,1 ================================================ FILE: schedules/41_10.csv ================================================ 1,0,34,0,39,0,10,0,5,0,35,0 29,0,21,0,3,0,38,0,18,0,12,0 19,0,17,0,22,0,40,0,7,0,4,0 31,0,26,0,16,0,41,0,20,0,13,0 32,0,9,0,2,0,6,0,25,0,15,0 11,0,27,0,30,0,23,0,14,0,24,0 28,0,36,0,3,0,33,0,8,0,37,0 40,0,32,0,38,0,39,0,9,0,13,0 19,0,4,0,14,0,23,0,10,0,16,0 33,0,21,0,26,0,7,0,27,0,6,0 15,0,37,0,11,0,5,0,17,0,29,0 34,0,22,0,30,0,28,0,1,0,31,0 12,0,8,0,35,0,2,0,25,0,18,0 20,0,36,0,39,0,41,0,24,0,17,0 34,1,23,0,3,0,6,1,5,0,31,0 26,1,27,0,37,0,19,1,18,0,16,0 40,0,33,0,10,0,21,0,20,0,25,0 41,0,14,0,38,0,12,0,22,0,24,0 1,0,4,0,13,0,9,0,11,0,8,0 2,0,28,0,7,0,36,0,32,0,29,0 35,0,15,0,19,0,30,0,21,0,39,0 33,0,31,0,12,0,40,0,11,0,6,0 2,0,3,0,24,0,27,0,9,0,34,0 26,0,18,0,8,0,10,0,22,0,15,0 29,0,16,0,4,0,28,0,30,0,5,0 38,0,36,0,17,0,23,0,35,0,32,0 41,0,25,0,1,0,13,0,14,0,7,0 20,0,24,0,28,0,37,0,40,0,19,0 31,0,8,0,34,0,27,0,39,0,38,0 18,0,6,0,4,0,36,0,5,0,41,0 25,0,10,0,13,0,29,0,23,0,37,0 32,0,15,0,26,0,14,0,33,0,3,0 16,0,21,0,22,0,11,0,2,0,17,0 12,0,9,0,7,0,30,0,20,0,35,0 1,0,33,0,29,0,31,0,19,0,41,0 34,0,15,0,17,0,38,0,4,0,25,0 12,0,5,0,20,0,14,0,22,0,36,0 30,0,2,0,10,0,3,0,11,0,32,0 13,0,18,0,27,0,28,0,39,0,6,0 1,0,37,0,16,0,9,0,21,0,23,0 40,0,24,0,8,0,35,0,26,0,7,0 38,0,5,0,19,0,2,0,20,0,31,0 41,0,32,0,22,0,34,0,37,0,21,0 40,0,39,0,18,0,1,0,23,0,7,0 8,0,10,0,6,0,24,0,15,0,16,0 29,0,25,0,35,0,3,0,4,0,27,0 13,0,28,0,33,0,12,0,17,0,14,0 30,0,9,0,26,0,11,0,36,0,18,0 8,0,5,0,27,0,19,0,32,0,20,0 39,0,4,0,37,0,40,0,2,0,14,0 31,0,3,0,9,0,12,0,10,0,21,0 6,0,24,0,29,0,17,0,26,0,1,0 13,0,11,0,34,0,7,0,36,0,15,0 38,0,35,0,22,0,33,0,16,0,30,0 25,0,23,0,5,0,41,0,28,0,26,0 7,0,24,0,32,0,4,0,17,0,31,0 27,0,12,0,36,0,15,0,40,0,1,0 30,0,38,0,6,0,28,0,37,0,10,0 39,0,11,0,22,0,3,0,25,0,16,0 35,0,14,0,21,0,29,0,13,0,8,0 18,0,20,0,23,0,2,0,33,0,34,0 41,0,9,0,15,0,19,0,11,0,28,0 31,0,14,0,25,0,6,0,35,0,36,0 40,0,12,0,29,0,32,0,16,0,34,0 1,0,2,0,21,0,4,0,26,0,20,0 19,0,24,0,13,0,18,0,22,0,3,0 10,0,27,0,17,0,8,0,30,0,41,0 7,0,39,0,33,0,9,0,37,0,5,0 23,0,6,0,19,0,38,0,34,0,26,0 ================================================ FILE: schedules/41_11.csv ================================================ 32,0,37,0,9,0,34,0,7,0,36,0 31,0,20,0,28,0,26,0,15,0,13,0 24,0,1,0,29,0,4,0,27,0,6,0 17,0,5,0,38,0,40,0,8,0,14,0 35,0,18,0,21,0,25,0,10,0,41,0 30,0,16,0,39,0,3,0,19,0,23,0 11,0,33,0,2,0,12,0,22,0,15,0 10,0,1,0,34,0,36,0,17,0,25,0 31,0,26,0,4,0,3,0,5,0,9,0 18,0,20,0,39,0,11,0,7,0,27,0 19,0,37,0,30,0,14,0,28,0,35,0 12,0,38,0,21,0,29,0,16,0,32,0 22,0,40,0,33,0,13,0,24,0,23,0 41,0,6,0,37,0,2,0,8,0,39,0 16,1,11,0,15,0,5,1,36,0,27,0 18,1,12,0,23,0,14,1,31,0,34,0 8,1,21,0,33,0,40,0,4,0,20,0 19,0,10,0,38,0,2,0,7,0,26,0 32,0,24,0,3,0,1,0,17,0,28,0 22,0,6,0,9,0,13,0,25,0,30,0 35,0,29,0,27,0,41,0,33,0,14,0 34,0,39,0,3,0,38,0,1,0,20,0 26,0,32,0,25,0,37,0,11,0,40,0 4,0,16,0,41,0,19,0,17,0,22,0 24,0,35,0,8,0,13,0,29,0,9,0 23,0,21,0,6,0,18,0,5,0,15,0 30,0,36,0,10,0,12,0,7,0,31,0 2,0,13,0,37,0,28,0,34,0,40,0 16,0,22,0,23,0,32,0,35,0,39,0 15,0,30,0,33,0,10,0,8,0,9,0 38,0,18,0,36,0,24,0,17,0,4,0 7,0,28,0,25,0,11,0,29,0,14,0 41,0,12,0,1,0,5,0,26,0,20,0 31,0,27,0,3,0,2,0,19,0,21,0 14,0,4,0,10,0,6,0,39,0,15,0 17,0,20,0,9,0,37,0,28,0,23,0 36,0,24,0,11,0,41,0,13,0,21,0 25,0,27,0,8,0,12,0,3,0,16,0 5,0,1,0,40,0,7,0,29,0,30,0 31,0,18,0,19,0,34,0,33,0,32,0 35,0,26,0,22,0,38,0,6,0,2,0 12,0,4,0,13,0,17,0,37,0,10,0 28,0,36,0,32,0,39,0,41,0,5,0 7,0,3,0,38,0,33,0,23,0,35,0 26,0,30,0,40,0,27,0,22,0,18,0 2,0,14,0,9,0,11,0,1,0,21,0 25,0,15,0,19,0,31,0,29,0,8,0 34,0,20,0,16,0,24,0,6,0,30,0 11,0,4,0,3,0,38,0,32,0,14,0 33,0,19,0,7,0,15,0,1,0,36,0 6,0,18,0,29,0,28,0,2,0,16,0 17,0,39,0,26,0,31,0,24,0,25,0 37,0,8,0,34,0,10,0,21,0,22,0 9,0,40,0,12,0,41,0,35,0,20,0 23,0,5,0,25,0,13,0,27,0,19,0 29,0,28,0,21,0,1,0,22,0,39,0 36,0,12,0,6,0,3,0,37,0,18,0 11,0,35,0,5,0,10,0,24,0,33,0 7,0,4,0,8,0,31,0,16,0,40,0 32,0,13,0,17,0,20,0,2,0,30,0 14,0,15,0,23,0,41,0,34,0,26,0 27,0,10,0,40,0,38,0,9,0,28,0 1,0,6,0,8,0,11,0,32,0,31,0 7,0,24,0,22,0,12,0,19,0,14,0 38,0,13,0,39,0,21,0,9,0,30,0 34,0,15,0,27,0,35,0,17,0,3,0 37,0,16,0,26,0,29,0,33,0,5,0 2,0,23,0,41,0,25,0,18,0,4,0 20,0,14,0,22,0,36,0,3,0,40,0 39,0,27,0,28,0,12,0,8,0,32,0 1,0,18,0,9,0,35,0,16,0,19,0 11,0,25,0,34,0,30,0,5,0,4,0 41,0,15,0,31,0,24,0,38,0,37,0 7,0,17,0,21,0,26,0,33,0,6,0 29,0,2,0,10,0,36,0,23,0,20,0 13,0,5,0,14,0,16,0,18,0,8,0 ================================================ FILE: schedules/41_12.csv ================================================ 25,0,34,0,4,0,23,0,14,0,12,0 1,0,11,0,36,0,41,0,7,0,9,0 17,0,13,0,24,0,32,0,18,0,15,0 30,0,26,0,16,0,38,0,8,0,5,0 2,0,3,0,19,0,10,0,20,0,40,0 33,0,39,0,37,0,29,0,27,0,6,0 21,0,35,0,18,0,31,0,22,0,28,0 36,0,23,0,9,0,17,0,8,0,3,0 13,0,32,0,11,0,19,0,38,0,27,0 5,0,22,0,10,0,25,0,6,0,39,0 15,0,2,0,28,0,41,0,20,0,37,0 40,0,7,0,24,0,31,0,34,0,12,0 21,0,26,0,14,0,30,0,29,0,4,0 35,0,1,0,13,0,33,0,16,0,22,0 5,0,40,0,11,0,2,0,7,0,17,0 26,0,37,0,8,0,14,0,25,0,36,0 41,0,16,0,29,0,23,0,20,0,32,0 30,0,1,0,10,0,18,0,4,0,12,0 3,0,38,0,15,0,33,0,6,0,28,0 35,0,9,0,24,0,34,0,19,0,39,0 21,0,27,0,20,0,31,0,10,0,18,0 13,0,25,0,22,0,3,0,36,0,7,0 12,0,39,0,2,0,26,0,34,0,33,0 38,0,16,0,21,0,24,0,11,0,19,0 29,0,14,0,32,0,15,0,9,0,5,0 8,0,30,0,40,0,23,0,37,0,28,0 1,0,41,0,6,0,31,0,17,0,35,0 27,0,18,0,5,0,4,0,19,0,36,0 39,0,28,0,21,0,14,0,38,0,9,0 26,0,24,0,31,0,32,0,33,0,1,0 23,0,17,0,29,0,2,0,35,0,22,0 7,0,8,0,34,0,41,0,3,0,27,0 15,0,10,0,12,0,37,0,16,0,11,0 20,0,25,0,30,0,13,0,6,0,4,0 40,0,23,0,27,0,1,0,26,0,9,0 21,0,12,0,19,0,17,0,39,0,36,0 41,0,8,0,22,0,20,0,15,0,13,0 3,0,10,0,6,0,24,0,34,0,30,0 7,0,14,0,11,0,35,0,32,0,37,0 28,0,4,0,38,0,5,0,2,0,31,0 16,0,40,0,18,0,33,0,25,0,29,0 22,0,6,0,20,0,11,0,26,0,27,0 34,0,14,0,15,0,21,0,13,0,36,0 9,0,18,0,2,0,12,0,8,0,33,0 31,0,38,0,7,0,16,0,23,0,10,0 32,0,30,0,3,0,39,0,4,0,35,0 40,0,37,0,25,0,5,0,24,0,41,0 17,0,28,0,19,0,1,0,29,0,34,0 6,0,31,0,9,0,2,0,21,0,8,0 18,0,41,0,11,0,14,0,3,0,24,0 29,0,35,0,12,0,13,0,38,0,40,0 33,0,15,0,17,0,7,0,26,0,10,0 20,0,19,0,1,0,30,0,36,0,37,0 32,0,27,0,28,0,16,0,25,0,5,0 22,0,4,0,15,0,39,0,23,0,38,0 29,0,10,0,36,0,24,0,12,0,6,0 37,0,31,0,13,0,9,0,17,0,11,0 33,0,19,0,35,0,8,0,23,0,25,0 7,0,27,0,22,0,14,0,28,0,30,0 4,0,5,0,26,0,40,0,21,0,41,0 18,0,3,0,34,0,2,0,16,0,32,0 20,0,39,0,14,0,1,0,7,0,12,0 33,0,4,0,41,0,29,0,21,0,11,0 31,0,15,0,40,0,9,0,22,0,30,0 34,0,35,0,23,0,37,0,19,0,5,0 25,0,38,0,26,0,1,0,18,0,17,0 24,0,32,0,39,0,8,0,28,0,20,0 2,0,36,0,6,0,16,0,13,0,27,0 3,0,21,0,9,0,10,0,35,0,25,0 38,0,30,0,17,0,33,0,11,0,20,0 37,0,27,0,4,0,24,0,23,0,15,0 7,0,28,0,5,0,13,0,26,0,18,0 6,0,32,0,19,0,12,0,22,0,40,0 14,0,1,0,8,0,10,0,2,0,34,0 31,0,16,0,36,0,3,0,39,0,29,0 41,0,25,0,12,0,7,0,15,0,19,0 33,0,23,0,13,0,24,0,1,0,21,0 6,0,16,0,17,0,14,0,31,0,4,0 10,0,8,0,11,0,29,0,28,0,40,0 9,0,37,0,34,0,38,0,22,0,18,0 2,0,26,0,20,0,5,0,3,0,35,0 32,0,41,0,36,0,27,0,39,0,30,0 ================================================ FILE: schedules/41_13.csv ================================================ 1,0,20,0,32,0,17,0,10,0,8,0 16,0,26,0,38,0,3,0,39,0,29,0 5,0,19,0,35,0,27,0,13,0,23,0 40,0,37,0,2,0,36,0,28,0,4,0 33,0,30,0,9,0,21,0,15,0,7,0 41,0,18,0,25,0,11,0,12,0,34,0 6,0,14,0,24,0,31,0,22,0,19,0 3,0,32,0,2,0,37,0,33,0,36,0 30,0,17,0,11,0,26,0,41,0,28,0 20,0,34,0,40,0,1,0,39,0,21,0 24,0,5,0,12,0,38,0,31,0,9,0 15,0,13,0,22,0,18,0,27,0,8,0 10,0,4,0,23,0,6,0,16,0,7,0 29,0,35,0,30,0,25,0,14,0,2,0 20,1,38,0,41,0,34,0,37,0,22,0 31,0,39,0,28,0,27,0,16,0,33,0 26,0,25,0,21,0,19,0,14,0,10,0 40,0,12,0,23,0,15,0,17,0,1,0 24,0,3,0,13,0,29,0,32,0,6,0 9,0,36,0,5,0,35,0,4,0,18,0 7,0,8,0,39,0,11,0,31,0,15,0 27,0,10,0,34,0,41,0,24,0,17,0 2,0,1,0,16,0,22,0,30,0,6,0 19,0,18,0,20,0,40,0,3,0,35,0 32,0,9,0,26,0,25,0,11,0,37,0 28,0,8,0,12,0,13,0,5,0,21,0 33,0,7,0,4,0,38,0,29,0,36,0 14,0,32,0,11,0,23,0,18,0,24,0 9,0,27,0,17,0,35,0,41,0,16,0 1,0,4,0,29,0,12,0,25,0,15,0 21,0,22,0,2,0,23,0,26,0,39,0 33,0,10,0,38,0,40,0,28,0,13,0 31,0,6,0,37,0,3,0,20,0,7,0 5,0,8,0,34,0,36,0,30,0,14,0 19,0,27,0,38,0,29,0,23,0,11,0 21,0,31,0,24,0,17,0,7,0,40,0 16,0,15,0,18,0,5,0,20,0,2,0 25,0,22,0,3,0,10,0,36,0,35,0 8,0,30,0,26,0,1,0,28,0,9,0 14,0,4,0,12,0,13,0,34,0,33,0 39,0,19,0,6,0,41,0,37,0,32,0 20,0,21,0,16,0,11,0,38,0,5,0 28,0,33,0,35,0,15,0,26,0,24,0 27,0,22,0,36,0,6,0,41,0,1,0 39,0,4,0,37,0,18,0,10,0,31,0 25,0,34,0,23,0,13,0,9,0,8,0 2,0,19,0,30,0,17,0,14,0,3,0 7,0,29,0,12,0,32,0,40,0,22,0 35,0,1,0,8,0,5,0,33,0,39,0 23,0,36,0,15,0,34,0,24,0,30,0 6,0,4,0,38,0,19,0,17,0,26,0 28,0,20,0,27,0,25,0,7,0,32,0 41,0,11,0,3,0,10,0,13,0,2,0 31,0,40,0,29,0,18,0,21,0,9,0 12,0,16,0,17,0,14,0,37,0,7,0 13,0,41,0,39,0,23,0,2,0,33,0 15,0,9,0,19,0,38,0,20,0,22,0 11,0,36,0,21,0,6,0,28,0,5,0 10,0,24,0,1,0,29,0,34,0,16,0 3,0,18,0,26,0,40,0,8,0,25,0 37,0,12,0,30,0,27,0,35,0,31,0 14,0,21,0,41,0,4,0,32,0,15,0 6,0,8,0,2,0,9,0,11,0,10,0 7,0,13,0,18,0,33,0,19,0,1,0 34,0,31,0,14,0,38,0,23,0,32,0 28,0,37,0,17,0,5,0,29,0,22,0 30,0,25,0,4,0,24,0,20,0,39,0 16,0,3,0,36,0,27,0,12,0,26,0 35,0,7,0,11,0,40,0,1,0,14,0 8,0,24,0,32,0,38,0,2,0,39,0 20,0,23,0,6,0,12,0,33,0,18,0 41,0,10,0,22,0,40,0,5,0,30,0 31,0,17,0,36,0,35,0,13,0,26,0 29,0,27,0,21,0,3,0,9,0,4,0 34,0,15,0,28,0,37,0,19,0,16,0 25,0,38,0,1,0,2,0,41,0,31,0 22,0,7,0,23,0,27,0,3,0,30,0 6,0,35,0,34,0,28,0,32,0,21,0 17,0,5,0,18,0,9,0,24,0,25,0 20,0,37,0,26,0,14,0,13,0,29,0 15,0,39,0,10,0,12,0,36,0,19,0 8,0,33,0,11,0,16,0,40,0,4,0 5,0,7,0,27,0,34,0,26,0,2,0 9,0,14,0,39,0,3,0,23,0,28,0 31,0,32,0,13,0,30,0,10,0,16,0 35,0,24,0,22,0,4,0,11,0,20,0 37,0,1,0,18,0,38,0,21,0,12,0 40,0,33,0,15,0,6,0,25,0,17,0 29,0,41,0,19,0,8,0,36,0,20,0 ================================================ FILE: schedules/41_14.csv ================================================ 23,0,35,0,9,0,1,0,39,0,14,0 26,0,34,0,6,0,15,0,5,0,2,0 36,0,24,0,19,0,4,0,18,0,27,0 30,0,29,0,25,0,7,0,21,0,31,0 20,0,28,0,33,0,22,0,10,0,13,0 40,0,16,0,11,0,12,0,17,0,38,0 32,0,8,0,41,0,3,0,37,0,39,0 13,0,34,0,18,0,7,0,25,0,9,0 1,0,6,0,27,0,4,0,31,0,5,0 22,0,40,0,12,0,14,0,2,0,16,0 30,0,11,0,24,0,33,0,37,0,29,0 28,0,38,0,8,0,10,0,19,0,15,0 17,0,26,0,32,0,23,0,41,0,20,0 3,0,36,0,6,0,21,0,35,0,18,0 28,1,37,0,11,0,33,1,9,0,40,0 39,0,25,0,12,0,15,0,24,0,8,0 17,0,34,0,3,0,31,0,26,0,20,0 2,0,32,0,22,0,1,0,10,0,4,0 13,0,23,0,29,0,21,0,27,0,41,0 14,0,38,0,5,0,36,0,35,0,7,0 30,0,16,0,1,0,19,0,34,0,33,0 26,0,8,0,28,0,18,0,23,0,17,0 14,0,32,0,22,0,40,0,37,0,24,0 36,0,10,0,7,0,11,0,6,0,13,0 4,0,35,0,12,0,3,0,29,0,19,0 9,0,41,0,5,0,31,0,30,0,38,0 15,0,2,0,39,0,21,0,25,0,20,0 16,0,23,0,33,0,27,0,12,0,3,0 34,0,36,0,4,0,40,0,10,0,26,0 17,0,19,0,22,0,6,0,41,0,29,0 38,0,11,0,39,0,7,0,2,0,30,0 37,0,27,0,16,0,9,0,28,0,21,0 15,0,18,0,31,0,32,0,13,0,20,0 14,0,24,0,25,0,1,0,5,0,8,0 35,0,28,0,39,0,12,0,37,0,26,0 15,0,34,0,11,0,22,0,20,0,3,0 14,0,13,0,30,0,6,0,38,0,36,0 35,0,24,0,10,0,17,0,16,0,25,0 41,0,2,0,19,0,5,0,23,0,7,0 21,0,40,0,33,0,4,0,29,0,8,0 27,0,31,0,32,0,9,0,18,0,1,0 37,0,10,0,20,0,23,0,25,0,34,0 21,0,29,0,39,0,28,0,8,0,40,0 22,0,18,0,26,0,11,0,5,0,27,0 41,0,14,0,4,0,17,0,35,0,30,0 12,0,16,0,13,0,19,0,32,0,9,0 1,0,36,0,31,0,6,0,15,0,7,0 38,0,3,0,2,0,33,0,24,0,17,0 20,0,30,0,5,0,39,0,4,0,16,0 6,0,37,0,19,0,11,0,14,0,18,0 24,0,26,0,9,0,10,0,41,0,28,0 25,0,35,0,31,0,36,0,33,0,12,0 32,0,23,0,38,0,29,0,22,0,34,0 2,0,40,0,8,0,3,0,13,0,15,0 27,0,7,0,18,0,1,0,21,0,17,0 25,0,5,0,37,0,41,0,16,0,28,0 9,0,30,0,33,0,22,0,23,0,39,0 1,0,29,0,4,0,24,0,36,0,20,0 14,0,12,0,6,0,32,0,3,0,34,0 21,0,2,0,8,0,35,0,11,0,26,0 19,0,7,0,31,0,40,0,38,0,13,0 27,0,10,0,29,0,15,0,37,0,30,0 16,0,3,0,9,0,32,0,28,0,18,0 12,0,2,0,1,0,33,0,11,0,41,0 23,0,24,0,4,0,6,0,31,0,22,0 15,0,25,0,27,0,26,0,38,0,19,0 5,0,10,0,21,0,17,0,39,0,13,0 20,0,34,0,7,0,14,0,35,0,8,0 40,0,15,0,23,0,36,0,16,0,19,0 31,0,10,0,17,0,12,0,11,0,32,0 41,0,38,0,29,0,1,0,34,0,28,0 6,0,4,0,33,0,9,0,37,0,18,0 22,0,25,0,8,0,3,0,30,0,21,0 40,0,5,0,36,0,35,0,2,0,24,0 39,0,7,0,26,0,14,0,27,0,20,0 13,0,19,0,21,0,12,0,9,0,34,0 28,0,23,0,3,0,24,0,5,0,29,0 20,0,6,0,8,0,27,0,35,0,40,0 38,0,18,0,16,0,39,0,10,0,30,0 41,0,37,0,31,0,2,0,13,0,26,0 22,0,15,0,33,0,36,0,17,0,14,0 11,0,7,0,1,0,4,0,32,0,25,0 38,0,37,0,21,0,19,0,12,0,5,0 36,0,39,0,27,0,31,0,14,0,28,0 8,0,35,0,13,0,11,0,22,0,4,0 3,0,26,0,33,0,32,0,7,0,24,0 10,0,34,0,16,0,1,0,15,0,41,0 18,0,40,0,25,0,23,0,30,0,6,0 20,0,17,0,9,0,29,0,2,0,28,0 13,0,41,0,7,0,10,0,33,0,27,0 21,0,14,0,26,0,23,0,31,0,8,0 19,0,30,0,32,0,2,0,25,0,6,0 9,0,36,0,29,0,22,0,5,0,16,0 17,0,3,0,11,0,39,0,34,0,37,0 24,0,18,0,1,0,40,0,20,0,12,0 15,0,4,0,28,0,38,0,35,0,33,0 ================================================ FILE: schedules/41_2.csv ================================================ 19,0,40,0,24,0,6,0,1,0,9,0 2,0,21,0,38,0,7,0,39,0,13,0 31,0,29,0,30,0,16,0,17,0,3,0 26,0,4,0,5,0,18,0,22,0,11,0 36,0,14,0,20,0,27,0,32,0,23,0 8,0,41,0,37,0,15,0,33,0,35,0 34,0,10,0,12,0,28,0,25,0,30,0 39,0,18,0,3,0,27,0,11,0,40,0 8,0,22,0,13,0,36,0,6,0,17,0 28,0,23,0,35,0,24,0,4,0,21,0 25,0,19,0,29,0,41,0,2,0,32,0 1,0,12,0,37,0,16,0,20,0,5,0 15,0,26,0,9,0,38,0,10,0,31,0 33,0,14,0,19,1,34,0,7,0,11,1 ================================================ FILE: schedules/41_3.csv ================================================ 8,0,27,0,26,0,5,0,23,0,39,0 7,0,12,0,13,0,17,0,19,0,20,0 6,0,15,0,30,0,31,0,21,0,16,0 38,0,40,0,32,0,37,0,29,0,11,0 4,0,34,0,3,0,9,0,41,0,36,0 2,0,35,0,28,0,24,0,25,0,33,0 22,0,10,0,18,0,1,0,14,0,13,0 38,1,11,0,41,0,30,1,26,0,17,0 12,1,37,0,3,0,23,0,6,0,35,0 39,0,40,0,15,0,24,0,34,0,10,0 5,0,16,0,2,0,32,0,36,0,14,0 33,0,8,0,18,0,7,0,21,0,4,0 9,0,27,0,20,0,22,0,25,0,29,0 19,0,1,0,26,0,31,0,28,0,37,0 13,0,35,0,39,0,4,0,16,0,38,0 3,0,10,0,29,0,7,0,5,0,30,0 24,0,41,0,21,0,27,0,19,0,32,0 9,0,1,0,12,0,33,0,15,0,11,0 23,0,34,0,31,0,18,0,20,0,2,0 25,0,6,0,17,0,14,0,40,0,8,0 36,0,22,0,30,0,28,0,38,0,12,0 ================================================ FILE: schedules/41_4.csv ================================================ 5,0,4,0,12,0,19,0,1,0,3,0 23,0,24,0,28,0,9,0,33,0,20,0 25,0,41,0,14,0,13,0,2,0,21,0 35,0,39,0,11,0,34,0,29,0,32,0 17,0,22,0,38,0,30,0,15,0,27,0 26,0,10,0,18,0,37,0,31,0,40,0 36,0,7,0,8,0,6,0,16,0,41,0 3,0,13,0,30,0,32,0,33,0,35,0 2,0,27,0,29,0,23,0,1,0,18,0 20,0,26,0,34,0,38,0,16,0,12,0 5,0,21,0,17,0,10,0,36,0,31,0 6,0,37,0,19,0,39,0,28,0,15,0 24,0,40,0,11,0,7,0,22,0,14,0 9,0,4,0,27,0,25,0,8,0,26,0 15,1,13,0,23,0,30,1,34,0,36,0 31,1,33,0,14,0,7,1,19,0,29,0 21,0,6,0,18,0,24,0,35,0,12,0 1,0,9,0,38,0,41,0,37,0,11,0 25,0,16,0,10,0,3,0,22,0,28,0 39,0,2,0,40,0,20,0,8,0,5,0 32,0,7,0,37,0,4,0,17,0,23,0 9,0,31,0,3,0,22,0,6,0,34,0 20,0,27,0,19,0,10,0,13,0,11,0 5,0,15,0,32,0,41,0,24,0,26,0 4,0,16,0,30,0,40,0,21,0,29,0 17,0,8,0,1,0,28,0,14,0,35,0 33,0,36,0,25,0,18,0,38,0,39,0 12,0,15,0,31,0,2,0,30,0,7,0 ================================================ FILE: schedules/41_5.csv ================================================ 8,0,36,0,41,0,31,0,38,0,3,0 14,0,22,0,24,0,25,0,17,0,23,0 29,0,9,0,11,0,13,0,10,0,40,0 26,0,21,0,15,0,28,0,1,0,4,0 7,0,39,0,12,0,30,0,35,0,32,0 33,0,27,0,16,0,34,0,2,0,6,0 37,0,18,0,19,0,5,0,20,0,4,0 23,0,31,0,30,0,26,0,29,0,28,0 34,0,40,0,32,0,17,0,15,0,3,0 11,0,38,0,5,0,6,0,39,0,21,0 41,0,7,0,10,0,27,0,14,0,19,0 1,0,9,0,25,0,33,0,12,0,18,0 24,0,35,0,36,0,20,0,2,0,37,0 13,0,22,0,30,0,16,0,8,0,15,0 18,1,4,0,25,0,29,1,32,0,38,0 34,1,36,0,37,0,6,1,7,0,9,0 22,1,27,0,3,0,28,0,11,0,24,0 14,0,8,0,12,0,40,0,21,0,20,0 10,0,23,0,5,0,35,0,33,0,17,0 31,0,2,0,1,0,39,0,19,0,13,0 26,0,9,0,32,0,16,0,41,0,24,0 27,0,17,0,18,0,36,0,30,0,21,0 34,0,35,0,28,0,25,0,8,0,19,0 23,0,12,0,4,0,41,0,11,0,2,0 29,0,15,0,14,0,39,0,37,0,33,0 3,0,10,0,20,0,6,0,13,0,26,0 22,0,40,0,38,0,5,0,1,0,7,0 16,0,35,0,11,0,31,0,18,0,14,0 30,0,39,0,24,0,4,0,10,0,34,0 7,0,21,0,2,0,29,0,3,0,25,0 37,0,8,0,6,0,32,0,1,0,23,0 19,0,40,0,33,0,36,0,26,0,22,0 38,0,17,0,28,0,12,0,16,0,13,0 20,0,27,0,15,0,5,0,31,0,9,0 41,0,18,0,6,0,29,0,34,0,22,0 ================================================ FILE: schedules/41_6.csv ================================================ 15,0,32,0,8,0,33,0,3,0,18,0 11,0,6,0,14,0,41,0,28,0,25,0 35,0,29,0,1,0,40,0,2,0,31,0 30,0,36,0,21,0,34,0,17,0,19,0 26,0,9,0,23,0,22,0,37,0,16,0 24,0,20,0,39,0,38,0,4,0,7,0 5,0,27,0,10,0,12,0,13,0,18,0 8,0,33,0,31,0,11,0,17,0,26,0 34,0,16,0,7,0,29,0,38,0,32,0 41,0,37,0,30,0,5,0,15,0,22,0 23,0,2,0,13,0,36,0,25,0,39,0 20,0,40,0,19,0,12,0,6,0,9,0 27,0,21,0,35,0,10,0,4,0,14,0 28,0,1,0,26,0,3,0,24,0,15,0 38,0,8,0,23,0,30,0,40,0,6,0 11,0,25,0,35,0,37,0,27,0,19,0 14,0,5,0,29,0,1,0,20,0,36,0 22,0,12,0,2,0,21,0,4,0,18,0 28,0,10,0,16,0,33,0,39,0,34,0 13,0,9,0,31,0,32,0,41,0,24,0 7,0,17,0,37,0,3,0,2,0,14,0 6,0,36,0,4,0,33,0,15,0,10,0 39,0,28,0,21,0,8,0,5,0,9,0 23,0,24,0,18,0,11,0,34,0,20,0 26,0,38,0,19,0,29,0,13,0,41,0 17,0,32,0,27,0,22,0,1,0,40,0 16,0,31,0,12,0,3,0,25,0,30,0 7,0,9,0,18,0,35,0,36,0,26,0 2,0,4,0,32,0,28,0,19,0,23,0 3,0,38,0,40,0,5,0,21,0,11,0 20,0,13,0,15,0,35,0,16,0,17,0 37,0,33,0,6,0,7,0,12,0,1,0 24,0,25,0,22,0,8,0,10,0,29,0 27,0,14,0,39,0,31,0,34,0,30,0 41,0,7,0,33,0,40,0,21,0,23,0 12,0,15,0,17,0,9,0,11,0,29,0 6,0,3,0,22,0,35,0,13,0,39,0 32,0,10,0,20,0,30,0,26,0,2,0 38,0,37,0,36,0,27,0,28,0,31,0 34,0,41,0,1,0,4,0,25,0,8,0 18,0,5,0,19,0,16,0,24,0,14,0 ================================================ FILE: schedules/41_7.csv ================================================ 2,0,30,0,24,0,19,0,25,0,40,0 18,0,31,0,39,0,6,0,29,0,1,0 32,0,3,0,17,0,16,0,14,0,7,0 15,0,8,0,26,0,5,0,4,0,22,0 35,0,12,0,9,0,36,0,11,0,41,0 21,0,38,0,27,0,28,0,10,0,20,0 23,0,13,0,33,0,34,0,37,0,1,0 15,0,18,0,14,0,36,0,24,0,8,0 25,0,31,0,11,0,32,0,38,0,20,0 5,0,9,0,40,0,3,0,27,0,37,0 33,0,28,0,30,0,13,0,39,0,17,0 4,0,21,0,7,0,23,0,35,0,6,0 2,0,34,0,41,0,26,0,22,0,29,0 19,0,10,0,1,0,12,0,16,0,3,0 38,1,40,0,13,0,21,0,6,0,11,0 37,0,24,0,33,0,27,0,41,0,4,0 35,0,30,0,8,0,29,0,16,0,20,0 34,0,19,0,14,0,7,0,28,0,9,0 22,0,10,0,17,0,36,0,18,0,25,0 31,0,2,0,32,0,15,0,5,0,12,0 39,0,26,0,27,0,23,0,11,0,19,0 36,0,3,0,29,0,13,0,20,0,4,0 24,0,35,0,17,0,31,0,10,0,34,0 18,0,7,0,33,0,2,0,26,0,38,0 14,0,21,0,5,0,30,0,1,0,25,0 16,0,6,0,22,0,12,0,28,0,37,0 40,0,41,0,8,0,39,0,23,0,32,0 9,0,29,0,27,0,15,0,17,0,1,0 36,0,13,0,10,0,7,0,5,0,2,0 38,0,4,0,12,0,14,0,39,0,40,0 37,0,41,0,21,0,8,0,19,0,31,0 20,0,22,0,23,0,33,0,32,0,9,0 11,0,15,0,34,0,30,0,18,0,16,0 6,0,3,0,28,0,24,0,26,0,25,0 35,0,20,0,19,0,17,0,5,0,38,0 7,0,11,0,40,0,33,0,29,0,31,0 14,0,23,0,41,0,15,0,10,0,6,0 1,0,32,0,36,0,30,0,37,0,26,0 4,0,28,0,16,0,18,0,9,0,2,0 3,0,24,0,39,0,22,0,35,0,21,0 12,0,8,0,25,0,13,0,27,0,34,0 4,0,29,0,10,0,19,0,28,0,32,0 16,0,5,0,36,0,40,0,33,0,21,0 38,0,1,0,11,0,41,0,24,0,22,0 12,0,6,0,2,0,8,0,17,0,9,0 18,0,13,0,26,0,27,0,35,0,14,0 25,0,20,0,7,0,39,0,37,0,15,0 30,0,34,0,23,0,31,0,3,0,38,0 ================================================ FILE: schedules/41_8.csv ================================================ 39,0,15,0,33,0,7,0,18,0,20,0 11,0,9,0,34,0,25,0,23,0,36,0 37,0,12,0,13,0,35,0,38,0,19,0 2,0,26,0,16,0,5,0,29,0,41,0 6,0,4,0,14,0,3,0,27,0,31,0 24,0,17,0,21,0,28,0,32,0,40,0 10,0,8,0,30,0,1,0,22,0,36,0 35,0,5,0,25,0,27,0,15,0,19,0 40,0,11,0,14,0,26,0,29,0,12,0 24,0,16,0,34,0,10,0,4,0,22,0 17,0,13,0,7,0,2,0,18,0,31,0 37,0,1,0,8,0,39,0,38,0,3,0 21,0,41,0,32,0,20,0,28,0,9,0 23,0,33,0,18,0,30,0,6,0,16,0 2,1,25,0,17,0,8,1,36,0,14,0 34,0,19,0,28,0,13,0,39,0,4,0 35,0,26,0,22,0,7,0,9,0,3,0 31,0,41,0,24,0,15,0,30,0,21,0 12,0,27,0,23,0,20,0,1,0,33,0 29,0,38,0,11,0,32,0,6,0,10,0 40,0,9,0,36,0,5,0,37,0,39,0 19,0,14,0,13,0,23,0,15,0,16,0 10,0,26,0,21,0,25,0,12,0,18,0 17,0,5,0,20,0,34,0,6,0,8,0 38,0,22,0,37,0,41,0,2,0,4,0 3,0,28,0,30,0,7,0,27,0,29,0 33,0,31,0,32,0,35,0,40,0,1,0 24,0,2,0,37,0,11,0,20,0,25,0 26,0,41,0,6,0,13,0,36,0,10,0 28,0,22,0,31,0,12,0,33,0,5,0 7,0,23,0,38,0,24,0,27,0,40,0 30,0,32,0,19,0,18,0,14,0,34,0 3,0,11,0,35,0,39,0,16,0,21,0 15,0,29,0,9,0,8,0,4,0,17,0 1,0,5,0,18,0,20,0,41,0,14,0 28,0,10,0,16,0,37,0,40,0,6,0 4,0,34,0,23,0,7,0,8,0,21,0 9,0,1,0,31,0,19,0,24,0,11,0 25,0,27,0,13,0,39,0,29,0,22,0 30,0,35,0,33,0,26,0,17,0,38,0 2,0,15,0,36,0,32,0,3,0,12,0 10,0,29,0,25,0,23,0,5,0,31,0 22,0,11,0,18,0,28,0,38,0,14,0 12,0,39,0,7,0,16,0,41,0,17,0 1,0,6,0,2,0,34,0,35,0,15,0 32,0,8,0,24,0,27,0,26,0,37,0 3,0,40,0,20,0,30,0,9,0,13,0 4,0,36,0,19,0,21,0,33,0,2,0 8,0,29,0,18,0,24,0,12,0,35,0 15,0,14,0,7,0,10,0,9,0,37,0 4,0,5,0,30,0,32,0,11,0,13,0 20,0,38,0,27,0,36,0,31,0,16,0 41,0,40,0,33,0,34,0,25,0,3,0 17,0,6,0,22,0,21,0,19,0,1,0 28,0,39,0,2,0,26,0,23,0,8,0 ================================================ FILE: schedules/41_9.csv ================================================ 38,0,2,0,35,0,9,0,20,0,6,0 12,0,1,0,26,0,19,0,15,0,4,0 14,0,22,0,34,0,21,0,28,0,11,0 41,0,30,0,3,0,7,0,37,0,13,0 29,0,5,0,36,0,17,0,10,0,16,0 39,0,8,0,33,0,31,0,25,0,27,0 18,0,24,0,19,0,40,0,23,0,32,0 20,0,5,0,13,0,1,0,29,0,6,0 2,0,11,0,15,0,33,0,16,0,26,0 32,0,31,0,18,0,21,0,25,0,3,0 35,0,9,0,40,0,14,0,17,0,8,0 30,0,37,0,10,0,4,0,27,0,24,0 36,0,7,0,22,0,12,0,39,0,34,0 38,0,23,0,31,0,41,0,28,0,5,0 8,1,40,0,21,0,35,1,30,0,1,0 13,1,34,0,6,0,29,0,33,0,24,0 4,0,20,0,10,0,7,0,3,0,38,0 23,0,16,0,15,0,39,0,36,0,32,0 17,0,11,0,25,0,37,0,2,0,12,0 9,0,22,0,28,0,19,0,26,0,41,0 27,0,14,0,33,0,18,0,20,0,23,0 34,0,35,0,8,0,5,0,2,0,7,0 9,0,37,0,21,0,10,0,11,0,39,0 22,0,24,0,6,0,31,0,19,0,17,0 28,0,4,0,40,0,36,0,27,0,15,0 32,0,14,0,26,0,29,0,30,0,13,0 38,0,12,0,41,0,16,0,3,0,18,0 25,0,7,0,24,0,1,0,15,0,21,0 9,0,23,0,17,0,31,0,30,0,34,0 10,0,8,0,12,0,13,0,40,0,38,0 3,0,1,0,33,0,35,0,16,0,28,0 27,0,32,0,19,0,22,0,5,0,11,0 18,0,37,0,36,0,26,0,6,0,39,0 14,0,4,0,41,0,25,0,2,0,29,0 20,0,31,0,28,0,12,0,32,0,13,0 21,0,7,0,26,0,27,0,5,0,17,0 6,0,3,0,4,0,11,0,23,0,8,0 24,0,30,0,2,0,41,0,18,0,35,0 40,0,16,0,37,0,33,0,20,0,22,0 15,0,14,0,39,0,10,0,19,0,34,0 38,0,9,0,29,0,36,0,1,0,25,0 18,0,5,0,33,0,4,0,22,0,12,0 6,0,2,0,41,0,34,0,27,0,40,0 31,0,7,0,1,0,11,0,36,0,14,0 13,0,24,0,21,0,9,0,8,0,16,0 17,0,37,0,39,0,38,0,32,0,28,0 23,0,25,0,10,0,35,0,26,0,20,0 3,0,29,0,15,0,19,0,30,0,9,0 8,0,6,0,37,0,12,0,21,0,14,0 23,0,28,0,1,0,22,0,2,0,10,0 16,0,34,0,32,0,4,0,26,0,31,0 13,0,11,0,18,0,17,0,15,0,20,0 29,0,27,0,39,0,35,0,3,0,24,0 40,0,19,0,7,0,25,0,33,0,38,0 41,0,36,0,20,0,5,0,30,0,8,0 23,0,35,0,29,0,37,0,15,0,31,0 18,0,27,0,12,0,9,0,7,0,34,0 38,0,26,0,5,0,24,0,14,0,40,0 19,0,13,0,3,0,21,0,2,0,36,0 25,0,28,0,30,0,6,0,11,0,16,0 32,0,17,0,33,0,41,0,1,0,10,0 22,0,39,0,35,0,4,0,8,0,13,0 ================================================ FILE: schedules/42_1.csv ================================================ 15,0,17,0,32,0,24,0,12,0,9,0 1,0,13,0,22,0,26,0,19,0,37,0 40,0,38,0,29,0,33,0,35,0,36,0 30,0,5,0,21,0,10,0,7,0,39,0 8,0,3,0,2,0,23,0,20,0,34,0 18,0,16,0,28,0,11,0,42,0,4,0 25,0,41,0,14,0,27,0,6,0,31,0 ================================================ FILE: schedules/42_10.csv ================================================ 15,0,37,0,9,0,41,0,24,0,19,0 13,0,10,0,7,0,16,0,18,0,23,0 2,0,36,0,32,0,4,0,11,0,1,0 8,0,6,0,35,0,38,0,20,0,29,0 21,0,33,0,34,0,14,0,25,0,28,0 40,0,22,0,42,0,17,0,26,0,27,0 39,0,31,0,3,0,30,0,12,0,5,0 29,0,35,0,25,0,1,0,9,0,28,0 21,0,41,0,7,0,32,0,24,0,38,0 23,0,8,0,19,0,27,0,31,0,34,0 12,0,39,0,11,0,6,0,10,0,15,0 22,0,30,0,26,0,13,0,4,0,33,0 40,0,14,0,3,0,18,0,2,0,20,0 37,0,36,0,5,0,17,0,42,0,16,0 28,0,31,0,8,0,7,0,22,0,24,0 29,0,11,0,21,0,41,0,13,0,2,0 6,0,18,0,30,0,36,0,27,0,35,0 23,0,34,0,26,0,25,0,5,0,3,0 4,0,14,0,39,0,40,0,10,0,37,0 42,0,9,0,20,0,15,0,1,0,33,0 38,0,12,0,17,0,32,0,19,0,16,0 2,0,27,0,37,0,34,0,29,0,7,0 15,0,30,0,4,0,25,0,8,0,21,0 19,0,1,0,14,0,22,0,6,0,5,0 36,0,24,0,39,0,41,0,23,0,33,0 18,0,28,0,10,0,38,0,42,0,3,0 32,0,31,0,13,0,35,0,40,0,20,0 9,0,17,0,11,0,26,0,12,0,16,0 39,0,1,0,37,0,38,0,27,0,21,0 20,0,33,0,28,0,41,0,31,0,5,0 32,0,4,0,40,0,9,0,6,0,34,0 11,0,25,0,19,0,18,0,8,0,42,0 7,0,15,0,12,0,23,0,22,0,35,0 14,0,2,0,17,0,13,0,24,0,30,0 16,0,10,0,3,0,26,0,29,0,36,0 28,0,7,0,23,0,6,0,11,0,40,0 33,0,8,0,5,0,12,0,21,0,2,0 36,0,25,0,18,0,17,0,37,0,29,0 34,0,42,0,19,0,39,0,13,0,35,0 41,0,30,0,3,0,9,0,22,0,32,0 38,0,26,0,1,0,31,0,15,0,14,0 20,0,16,0,27,0,4,0,24,0,10,0 32,0,30,0,7,0,19,0,39,0,29,0 40,0,26,0,13,0,1,0,8,0,41,0 33,0,42,0,10,0,21,0,3,0,6,0 38,0,16,0,36,0,25,0,34,0,24,0 31,0,12,0,9,0,37,0,14,0,18,0 17,0,28,0,35,0,2,0,23,0,4,0 22,0,11,0,27,0,5,0,20,0,15,0 6,0,24,0,37,0,8,0,3,0,13,0 25,0,1,0,40,0,2,0,10,0,19,0 29,0,31,0,4,0,42,0,7,0,5,0 27,0,18,0,15,0,32,0,33,0,17,0 38,0,22,0,28,0,9,0,39,0,26,0 34,0,30,0,35,0,16,0,41,0,11,0 36,0,23,0,12,0,21,0,14,0,20,0 17,0,1,0,3,0,39,0,7,0,8,0 16,0,29,0,6,0,33,0,31,0,19,0 20,0,10,0,32,0,30,0,28,0,37,0 12,0,14,0,41,0,27,0,25,0,42,0 26,0,21,0,24,0,11,0,35,0,18,0 5,0,23,0,13,0,4,0,9,0,38,0 2,0,34,0,40,0,36,0,15,0,22,0 24,0,16,0,8,0,32,0,42,0,14,0 9,0,21,0,10,0,31,0,7,0,17,0 41,0,34,0,4,0,18,0,12,0,1,0 29,0,33,0,22,0,23,0,11,0,37,0 15,0,13,0,19,0,36,0,3,0,28,0 5,0,38,0,35,0,27,0,40,0,30,0 20,0,6,0,39,0,26,0,2,0,25,0 ================================================ FILE: schedules/42_11.csv ================================================ 24,0,7,0,8,0,37,0,30,0,6,0 22,0,32,0,41,0,34,0,29,0,40,0 39,0,11,0,16,0,4,0,1,0,20,0 10,0,27,0,9,0,23,0,5,0,42,0 33,0,25,0,28,0,18,0,19,0,35,0 38,0,17,0,14,0,3,0,15,0,12,0 36,0,31,0,21,0,2,0,26,0,13,0 23,0,16,0,28,0,22,0,24,0,33,0 32,0,38,0,9,0,8,0,19,0,25,0 4,0,41,0,39,0,14,0,7,0,12,0 29,0,20,0,27,0,37,0,35,0,31,0 17,0,18,0,36,0,5,0,34,0,26,0 40,0,11,0,15,0,3,0,13,0,21,0 30,0,42,0,2,0,6,0,10,0,1,0 36,0,39,0,25,0,41,0,5,0,24,0 22,0,23,0,27,0,17,0,15,0,4,0 6,0,13,0,16,0,10,0,32,0,3,0 31,0,33,0,1,0,21,0,38,0,34,0 30,0,19,0,12,0,18,0,40,0,2,0 14,0,35,0,42,0,11,0,37,0,8,0 29,0,26,0,28,0,20,0,9,0,7,0 24,0,4,0,13,0,33,0,21,0,19,0 34,0,1,0,11,0,23,0,17,0,37,0 6,0,15,0,27,0,14,0,25,0,26,0 10,0,7,0,35,0,36,0,40,0,22,0 38,0,18,0,16,0,41,0,29,0,9,0 5,0,20,0,31,0,32,0,30,0,8,0 3,0,2,0,28,0,42,0,39,0,12,0 18,0,7,0,23,0,35,0,27,0,1,0 20,0,37,0,13,0,4,0,6,0,25,0 10,0,19,0,26,0,31,0,41,0,11,0 34,0,9,0,3,0,33,0,40,0,30,0 28,0,8,0,15,0,12,0,16,0,36,0 21,0,42,0,24,0,32,0,29,0,17,0 22,0,2,0,14,0,39,0,38,0,5,0 7,0,6,0,19,0,34,0,35,0,16,0 11,0,29,0,4,0,9,0,30,0,31,0 28,0,17,0,5,0,13,0,22,0,25,0 38,0,23,0,3,0,14,0,20,0,36,0 33,0,41,0,15,0,1,0,8,0,42,0 37,0,39,0,2,0,26,0,18,0,21,0 12,0,40,0,10,0,24,0,27,0,32,0 34,0,17,0,30,0,19,0,14,0,28,0 16,0,22,0,8,0,23,0,11,0,2,0 18,0,12,0,9,0,37,0,15,0,10,0 25,0,29,0,31,0,1,0,3,0,36,0 21,0,4,0,5,0,6,0,35,0,41,0 40,0,42,0,32,0,24,0,39,0,20,0 27,0,7,0,26,0,13,0,38,0,33,0 41,0,30,0,3,0,37,0,22,0,28,0 42,0,17,0,25,0,40,0,16,0,31,0 33,0,20,0,34,0,2,0,10,0,4,0 9,0,6,0,36,0,21,0,39,0,27,0 13,0,32,0,14,0,18,0,24,0,1,0 26,0,35,0,11,0,38,0,8,0,12,0 29,0,5,0,7,0,15,0,23,0,19,0 16,0,21,0,41,0,27,0,14,0,30,0 3,0,24,0,35,0,17,0,2,0,9,0 25,0,5,0,18,0,7,0,42,0,11,0 23,0,6,0,40,0,38,0,31,0,28,0 36,0,32,0,15,0,4,0,37,0,33,0 10,0,34,0,8,0,29,0,39,0,13,0 1,0,19,0,22,0,26,0,12,0,20,0 2,0,31,0,27,0,28,0,11,0,32,0 35,0,33,0,29,0,14,0,6,0,39,0 36,0,13,0,23,0,42,0,41,0,19,0 38,0,26,0,15,0,16,0,30,0,24,0 20,0,10,0,21,0,34,0,25,0,7,0 37,0,1,0,12,0,5,0,9,0,22,0 18,0,4,0,8,0,40,0,17,0,3,0 30,0,39,0,35,0,15,0,13,0,31,0 14,0,9,0,1,0,28,0,36,0,10,0 5,0,37,0,40,0,26,0,33,0,16,0 38,0,22,0,4,0,6,0,42,0,18,0 19,0,34,0,24,0,11,0,27,0,3,0 2,0,20,0,32,0,7,0,17,0,41,0 25,0,21,0,12,0,23,0,29,0,8,0 ================================================ FILE: schedules/42_12.csv ================================================ 2,0,7,0,11,0,38,0,21,0,18,0 1,0,33,0,22,0,41,0,30,0,5,0 39,0,4,0,27,0,17,0,25,0,36,0 23,0,32,0,3,0,31,0,12,0,40,0 42,0,24,0,37,0,16,0,29,0,34,0 35,0,15,0,8,0,10,0,14,0,28,0 9,0,19,0,20,0,13,0,6,0,26,0 32,0,36,0,38,0,33,0,41,0,23,0 1,0,8,0,30,0,18,0,27,0,14,0 9,0,40,0,3,0,42,0,20,0,39,0 12,0,37,0,21,0,17,0,19,0,15,0 35,0,10,0,29,0,2,0,25,0,13,0 28,0,4,0,11,0,22,0,24,0,16,0 6,0,7,0,31,0,34,0,5,0,26,0 20,0,8,0,13,0,42,0,33,0,32,0 28,0,29,0,27,0,19,0,40,0,41,0 37,0,5,0,23,0,36,0,21,0,24,0 15,0,14,0,3,0,6,0,4,0,38,0 31,0,10,0,26,0,7,0,16,0,18,0 39,0,17,0,34,0,2,0,30,0,35,0 22,0,11,0,25,0,1,0,12,0,9,0 32,0,41,0,24,0,21,0,6,0,15,0 23,0,29,0,39,0,34,0,36,0,28,0 18,0,5,0,19,0,4,0,7,0,9,0 13,0,11,0,35,0,27,0,22,0,8,0 3,0,16,0,31,0,25,0,33,0,14,0 2,0,26,0,40,0,20,0,37,0,1,0 17,0,30,0,12,0,42,0,38,0,10,0 35,0,24,0,27,0,29,0,9,0,32,0 41,0,3,0,2,0,7,0,8,0,5,0 18,0,36,0,40,0,42,0,13,0,17,0 1,0,16,0,4,0,23,0,30,0,15,0 10,0,6,0,12,0,37,0,28,0,33,0 26,0,39,0,25,0,21,0,11,0,14,0 20,0,38,0,22,0,31,0,34,0,19,0 8,0,41,0,6,0,29,0,17,0,5,0 26,0,16,0,37,0,1,0,39,0,13,0 19,0,36,0,12,0,18,0,31,0,35,0 21,0,4,0,34,0,33,0,11,0,27,0 14,0,40,0,22,0,7,0,10,0,32,0 30,0,28,0,24,0,20,0,3,0,25,0 9,0,23,0,42,0,38,0,15,0,2,0 41,0,17,0,11,0,34,0,32,0,37,0 5,0,6,0,27,0,16,0,35,0,12,0 1,0,19,0,38,0,39,0,10,0,36,0 18,0,9,0,15,0,20,0,24,0,40,0 25,0,7,0,23,0,13,0,30,0,14,0 33,0,26,0,3,0,4,0,29,0,22,0 2,0,8,0,42,0,21,0,31,0,28,0 23,0,16,0,11,0,17,0,35,0,20,0 15,0,34,0,22,0,3,0,27,0,36,0 21,0,32,0,39,0,18,0,12,0,29,0 30,0,7,0,37,0,25,0,9,0,8,0 41,0,14,0,4,0,6,0,42,0,40,0 38,0,31,0,5,0,26,0,1,0,28,0 33,0,10,0,2,0,19,0,24,0,13,0 16,0,17,0,14,0,36,0,41,0,9,0 29,0,40,0,21,0,31,0,30,0,22,0 25,0,19,0,27,0,28,0,6,0,18,0 23,0,24,0,12,0,38,0,8,0,26,0 42,0,1,0,35,0,33,0,7,0,34,0 32,0,20,0,4,0,2,0,39,0,37,0 10,0,15,0,13,0,5,0,3,0,11,0 14,0,34,0,38,0,16,0,9,0,21,0 26,0,30,0,42,0,32,0,35,0,19,0 29,0,24,0,6,0,1,0,10,0,23,0 36,0,7,0,20,0,12,0,4,0,8,0 5,0,13,0,33,0,40,0,11,0,39,0 17,0,37,0,18,0,3,0,22,0,28,0 41,0,25,0,15,0,2,0,27,0,31,0 34,0,13,0,12,0,30,0,40,0,4,0 33,0,16,0,19,0,23,0,8,0,18,0 26,0,20,0,21,0,10,0,41,0,27,0 38,0,35,0,7,0,29,0,15,0,37,0 14,0,36,0,42,0,2,0,22,0,5,0 11,0,31,0,24,0,6,0,39,0,3,0 28,0,9,0,17,0,32,0,25,0,1,0 19,0,29,0,2,0,12,0,14,0,20,0 39,0,8,0,33,0,15,0,27,0,42,0 1,0,21,0,41,0,4,0,35,0,3,0 22,0,18,0,10,0,34,0,6,0,23,0 13,0,28,0,7,0,26,0,24,0,17,0 37,0,36,0,31,0,9,0,30,0,11,0 5,0,32,0,40,0,38,0,25,0,16,0 ================================================ FILE: schedules/42_13.csv ================================================ 2,0,35,0,21,0,6,0,15,0,23,0 9,0,3,0,29,0,8,0,19,0,22,0 5,0,1,0,16,0,39,0,13,0,34,0 25,0,11,0,18,0,20,0,41,0,37,0 36,0,10,0,7,0,26,0,38,0,31,0 12,0,40,0,42,0,4,0,32,0,14,0 24,0,28,0,33,0,17,0,30,0,27,0 36,0,25,0,21,0,18,0,9,0,39,0 15,0,16,0,20,0,31,0,37,0,13,0 8,0,28,0,30,0,35,0,12,0,34,0 7,0,32,0,11,0,6,0,22,0,17,0 27,0,2,0,26,0,40,0,24,0,14,0 3,0,5,0,19,0,1,0,38,0,42,0 33,0,4,0,41,0,23,0,29,0,10,0 26,0,14,0,6,0,17,0,21,0,15,0 37,0,24,0,22,0,5,0,35,0,7,0 23,0,42,0,13,0,41,0,28,0,25,0 39,0,40,0,4,0,8,0,3,0,20,0 9,0,36,0,38,0,33,0,31,0,29,0 19,0,11,0,10,0,16,0,34,0,2,0 27,0,18,0,1,0,30,0,12,0,32,0 5,0,37,0,8,0,26,0,23,0,9,0 16,0,40,0,33,0,28,0,36,0,22,0 39,0,25,0,12,0,38,0,24,0,11,0 3,0,31,0,6,0,35,0,41,0,27,0 29,0,1,0,20,0,42,0,30,0,2,0 19,0,32,0,13,0,10,0,14,0,21,0 4,0,18,0,17,0,7,0,15,0,34,0 1,0,37,0,2,0,12,0,29,0,28,0 21,0,24,0,3,0,26,0,36,0,33,0 31,0,30,0,25,0,5,0,10,0,39,0 6,0,11,0,42,0,7,0,23,0,40,0 38,0,8,0,41,0,16,0,22,0,4,0 19,0,27,0,14,0,34,0,18,0,20,0 35,0,13,0,15,0,9,0,17,0,32,0 2,0,39,0,33,0,37,0,4,0,21,0 31,0,7,0,12,0,40,0,29,0,19,0 15,0,30,0,9,0,25,0,10,0,38,0 32,0,23,0,34,0,13,0,27,0,28,0 26,0,17,0,16,0,8,0,42,0,18,0 24,0,20,0,6,0,41,0,5,0,22,0 1,0,36,0,11,0,14,0,3,0,35,0 38,0,15,0,27,0,37,0,9,0,42,0 41,0,12,0,10,0,7,0,8,0,26,0 30,0,33,0,13,0,24,0,23,0,2,0 35,0,40,0,20,0,21,0,18,0,16,0 19,0,28,0,17,0,4,0,5,0,36,0 3,0,34,0,25,0,32,0,29,0,6,0 11,0,14,0,22,0,39,0,31,0,1,0 38,0,20,0,33,0,28,0,10,0,42,0 13,0,4,0,8,0,37,0,6,0,35,0 32,0,26,0,39,0,19,0,2,0,41,0 9,0,22,0,40,0,30,0,34,0,14,0 31,0,16,0,23,0,18,0,36,0,24,0 7,0,25,0,17,0,1,0,12,0,3,0 29,0,15,0,5,0,11,0,27,0,21,0 36,0,34,0,6,0,20,0,39,0,19,0 8,0,9,0,14,0,41,0,1,0,24,0 42,0,35,0,22,0,12,0,5,0,2,0 33,0,21,0,32,0,16,0,7,0,30,0 26,0,40,0,28,0,25,0,4,0,15,0 10,0,27,0,31,0,37,0,23,0,3,0 29,0,18,0,38,0,13,0,17,0,11,0 41,0,15,0,26,0,33,0,1,0,22,0 30,0,37,0,36,0,6,0,19,0,7,0 28,0,2,0,18,0,11,0,3,0,39,0 12,0,17,0,23,0,21,0,9,0,20,0 29,0,14,0,25,0,32,0,16,0,10,0 4,0,42,0,34,0,31,0,24,0,35,0 5,0,38,0,13,0,27,0,8,0,40,0 23,0,21,0,28,0,19,0,1,0,25,0 24,0,4,0,26,0,11,0,20,0,30,0 38,0,22,0,12,0,18,0,13,0,6,0 37,0,10,0,34,0,40,0,41,0,17,0 39,0,29,0,35,0,33,0,14,0,7,0 5,0,27,0,9,0,42,0,16,0,3,0 31,0,8,0,36,0,15,0,2,0,32,0 35,0,38,0,23,0,29,0,34,0,26,0 4,0,30,0,3,0,13,0,16,0,12,0 20,0,7,0,2,0,25,0,33,0,9,0 24,0,42,0,19,0,37,0,18,0,15,0 14,0,28,0,31,0,8,0,21,0,6,0 39,0,27,0,22,0,17,0,10,0,1,0 32,0,41,0,36,0,40,0,5,0,11,0 18,0,12,0,19,0,15,0,33,0,8,0 16,0,37,0,14,0,23,0,25,0,22,0 34,0,21,0,5,0,38,0,3,0,2,0 24,0,17,0,29,0,31,0,20,0,32,0 13,0,9,0,7,0,11,0,4,0,28,0 10,0,40,0,6,0,1,0,26,0,35,0 41,0,30,0,39,0,27,0,42,0,36,0 ================================================ FILE: schedules/42_14.csv ================================================ 10,0,25,0,17,0,23,0,34,0,41,0 21,0,11,0,30,0,42,0,13,0,40,0 3,0,35,0,4,0,12,0,26,0,28,0 15,0,20,0,14,0,1,0,7,0,31,0 2,0,32,0,24,0,9,0,6,0,5,0 16,0,37,0,39,0,38,0,8,0,22,0 19,0,36,0,33,0,18,0,29,0,27,0 20,0,3,0,10,0,34,0,2,0,35,0 37,0,9,0,4,0,30,0,26,0,31,0 28,0,25,0,36,0,15,0,22,0,33,0 18,0,16,0,42,0,17,0,29,0,24,0 41,0,27,0,14,0,39,0,7,0,11,0 5,0,13,0,12,0,19,0,40,0,8,0 32,0,1,0,38,0,21,0,23,0,6,0 15,0,18,0,2,0,27,0,16,0,4,0 12,0,25,0,35,0,11,0,36,0,3,0 7,0,41,0,24,0,14,0,19,0,34,0 22,0,17,0,40,0,32,0,20,0,5,0 30,0,38,0,37,0,13,0,28,0,42,0 29,0,31,0,6,0,8,0,1,0,10,0 21,0,23,0,33,0,39,0,9,0,26,0 27,0,40,0,30,0,17,0,3,0,41,0 18,0,38,0,36,0,14,0,10,0,12,0 8,0,29,0,32,0,22,0,35,0,21,0 5,0,31,0,25,0,20,0,24,0,37,0 34,0,1,0,11,0,4,0,23,0,28,0 13,0,6,0,7,0,16,0,33,0,39,0 2,0,42,0,26,0,19,0,15,0,9,0 23,0,37,0,29,0,3,0,24,0,12,0 13,0,27,0,14,0,35,0,32,0,18,0 10,0,28,0,34,0,39,0,9,0,8,0 21,0,1,0,15,0,33,0,17,0,5,0 30,0,25,0,6,0,11,0,41,0,20,0 2,0,7,0,38,0,36,0,42,0,4,0 16,0,26,0,22,0,40,0,31,0,19,0 13,0,8,0,25,0,14,0,33,0,27,0 21,0,23,0,38,0,20,0,30,0,17,0 11,0,31,0,12,0,26,0,18,0,37,0 10,0,7,0,9,0,1,0,24,0,40,0 34,0,36,0,6,0,2,0,5,0,28,0 16,0,35,0,19,0,39,0,4,0,32,0 3,0,22,0,29,0,41,0,15,0,42,0 8,0,5,0,21,0,11,0,24,0,18,0 39,0,28,0,31,0,27,0,36,0,35,0 34,0,29,0,16,0,15,0,12,0,32,0 13,0,9,0,41,0,38,0,40,0,25,0 33,0,26,0,7,0,20,0,22,0,1,0 17,0,4,0,19,0,3,0,6,0,37,0 23,0,30,0,42,0,10,0,14,0,2,0 12,0,9,0,16,0,34,0,18,0,25,0 24,0,27,0,22,0,6,0,38,0,33,0 11,0,37,0,42,0,1,0,26,0,5,0 13,0,21,0,4,0,31,0,2,0,3,0 39,0,40,0,41,0,17,0,23,0,32,0 19,0,20,0,28,0,35,0,14,0,29,0 8,0,15,0,7,0,30,0,10,0,36,0 1,0,9,0,24,0,41,0,38,0,16,0 27,0,17,0,20,0,22,0,14,0,4,0 32,0,3,0,34,0,21,0,42,0,31,0 30,0,28,0,18,0,19,0,23,0,26,0 12,0,2,0,33,0,25,0,11,0,40,0 35,0,8,0,6,0,7,0,15,0,37,0 10,0,39,0,13,0,36,0,29,0,5,0 18,0,41,0,31,0,40,0,34,0,27,0 23,0,8,0,11,0,6,0,15,0,22,0 1,0,3,0,28,0,24,0,26,0,13,0 36,0,37,0,12,0,2,0,39,0,19,0 38,0,14,0,5,0,35,0,17,0,9,0 42,0,32,0,10,0,16,0,20,0,25,0 29,0,33,0,4,0,21,0,30,0,7,0 22,0,36,0,9,0,23,0,13,0,35,0 11,0,40,0,16,0,37,0,31,0,27,0 2,0,6,0,32,0,25,0,30,0,1,0 26,0,14,0,21,0,39,0,41,0,12,0 4,0,5,0,15,0,24,0,10,0,28,0 18,0,20,0,33,0,3,0,17,0,7,0 38,0,29,0,19,0,34,0,8,0,42,0 30,0,22,0,5,0,6,0,9,0,27,0 32,0,28,0,41,0,31,0,10,0,33,0 42,0,7,0,35,0,12,0,18,0,4,0 14,0,17,0,39,0,11,0,29,0,13,0 2,0,1,0,23,0,3,0,16,0,8,0 20,0,26,0,34,0,38,0,15,0,24,0 19,0,37,0,25,0,21,0,40,0,36,0 23,0,7,0,14,0,31,0,22,0,9,0 17,0,18,0,8,0,2,0,26,0,32,0 24,0,4,0,13,0,20,0,16,0,36,0 37,0,40,0,28,0,6,0,12,0,42,0 15,0,39,0,3,0,25,0,41,0,29,0 21,0,1,0,27,0,10,0,19,0,5,0 33,0,34,0,30,0,38,0,35,0,11,0 18,0,22,0,39,0,32,0,7,0,25,0 40,0,9,0,3,0,37,0,14,0,8,0 27,0,19,0,12,0,17,0,28,0,16,0 34,0,31,0,24,0,13,0,2,0,30,0 35,0,41,0,5,0,38,0,20,0,4,0 6,0,11,0,26,0,10,0,29,0,21,0 36,0,15,0,23,0,1,0,42,0,33,0 ================================================ FILE: schedules/42_2.csv ================================================ 22,0,28,0,2,0,26,0,15,0,7,0 1,0,18,0,42,0,32,0,36,0,38,0 20,0,27,0,25,0,24,0,29,0,17,0 6,0,21,0,41,0,23,0,35,0,16,0 4,0,13,0,8,0,9,0,19,0,5,0 12,0,3,0,34,0,40,0,33,0,14,0 39,0,11,0,31,0,30,0,10,0,37,0 6,0,38,0,23,0,27,0,28,0,4,0 32,0,33,0,15,0,25,0,41,0,8,0 12,0,36,0,16,0,11,0,13,0,26,0 14,0,31,0,9,0,20,0,42,0,21,0 7,0,29,0,18,0,35,0,34,0,39,0 19,0,3,0,37,0,1,0,17,0,2,0 40,0,5,0,30,0,24,0,10,0,22,0 ================================================ FILE: schedules/42_3.csv ================================================ 13,0,35,0,7,0,42,0,17,0,40,0 16,0,30,0,26,0,10,0,14,0,33,0 24,0,20,0,39,0,23,0,19,0,1,0 28,0,37,0,2,0,4,0,36,0,8,0 38,0,6,0,21,0,31,0,22,0,34,0 25,0,3,0,29,0,32,0,41,0,15,0 9,0,5,0,12,0,11,0,18,0,27,0 4,0,14,0,24,0,34,0,35,0,33,0 8,0,3,0,39,0,42,0,38,0,10,0 16,0,22,0,15,0,5,0,28,0,13,0 32,0,17,0,23,0,21,0,9,0,30,0 19,0,41,0,2,0,26,0,40,0,12,0 6,0,36,0,18,0,1,0,29,0,11,0 25,0,37,0,31,0,27,0,20,0,7,0 40,0,19,0,9,0,3,0,22,0,14,0 17,0,33,0,41,0,6,0,5,0,8,0 26,0,21,0,42,0,20,0,15,0,36,0 27,0,29,0,28,0,38,0,24,0,30,0 35,0,31,0,11,0,2,0,32,0,39,0 10,0,4,0,23,0,13,0,25,0,18,0 12,0,34,0,1,0,37,0,7,0,16,0 ================================================ FILE: schedules/42_4.csv ================================================ 35,0,42,0,7,0,36,0,12,0,23,0 15,0,9,0,11,0,20,0,17,0,38,0 25,0,39,0,21,0,8,0,22,0,19,0 3,0,41,0,30,0,2,0,37,0,32,0 27,0,6,0,5,0,40,0,24,0,26,0 10,0,18,0,31,0,1,0,28,0,33,0 34,0,29,0,14,0,4,0,13,0,16,0 17,0,30,0,22,0,26,0,5,0,23,0 40,0,36,0,33,0,3,0,21,0,15,0 4,0,12,0,2,0,9,0,1,0,16,0 7,0,19,0,6,0,18,0,29,0,38,0 37,0,11,0,10,0,27,0,39,0,13,0 24,0,32,0,8,0,28,0,42,0,14,0 20,0,35,0,34,0,25,0,31,0,41,0 17,0,19,0,16,0,36,0,37,0,6,0 29,0,28,0,2,0,42,0,39,0,40,0 26,0,4,0,31,0,7,0,32,0,15,0 3,0,22,0,1,0,11,0,24,0,35,0 23,0,13,0,9,0,8,0,18,0,41,0 12,0,20,0,5,0,21,0,10,0,34,0 33,0,14,0,38,0,30,0,27,0,25,0 28,0,6,0,13,0,2,0,15,0,22,0 17,0,35,0,40,0,8,0,10,0,4,0 26,0,41,0,11,0,12,0,19,0,33,0 38,0,31,0,37,0,21,0,14,0,23,0 32,0,36,0,1,0,25,0,5,0,29,0 27,0,20,0,18,0,3,0,42,0,16,0 24,0,39,0,9,0,30,0,34,0,7,0 ================================================ FILE: schedules/42_5.csv ================================================ 1,0,39,0,10,0,33,0,19,0,36,0 11,0,16,0,9,0,24,0,4,0,15,0 31,0,2,0,8,0,32,0,14,0,17,0 26,0,40,0,7,0,41,0,18,0,22,0 20,0,23,0,13,0,42,0,37,0,28,0 12,0,30,0,21,0,27,0,5,0,29,0 25,0,3,0,35,0,6,0,38,0,34,0 13,0,2,0,32,0,39,0,41,0,4,0 36,0,14,0,42,0,22,0,24,0,12,0 1,0,31,0,30,0,15,0,38,0,28,0 9,0,40,0,37,0,3,0,27,0,10,0 25,0,7,0,5,0,33,0,17,0,16,0 11,0,20,0,29,0,35,0,18,0,8,0 21,0,19,0,34,0,23,0,26,0,6,0 36,0,32,0,25,0,14,0,30,0,9,0 28,0,22,0,5,0,3,0,11,0,2,0 6,0,41,0,29,0,37,0,33,0,24,0 16,0,27,0,18,0,34,0,1,0,23,0 35,0,10,0,4,0,21,0,31,0,7,0 12,0,19,0,13,0,8,0,40,0,38,0 17,0,39,0,15,0,26,0,20,0,42,0 33,0,28,0,18,0,21,0,14,0,4,0 11,0,34,0,32,0,7,0,37,0,12,0 24,0,8,0,26,0,38,0,10,0,5,0 15,0,35,0,23,0,2,0,40,0,36,0 42,0,29,0,39,0,27,0,31,0,25,0 16,0,41,0,20,0,30,0,19,0,3,0 6,0,22,0,9,0,13,0,17,0,1,0 15,0,2,0,12,0,25,0,18,0,10,0 27,0,32,0,24,0,19,0,28,0,35,0 38,0,17,0,11,0,23,0,41,0,36,0 37,0,21,0,8,0,39,0,16,0,22,0 42,0,4,0,6,0,40,0,5,0,30,0 20,0,31,0,33,0,13,0,9,0,34,0 14,0,3,0,26,0,1,0,29,0,7,0 ================================================ FILE: schedules/42_6.csv ================================================ 5,0,3,0,30,0,33,0,17,0,20,0 37,0,36,0,32,0,1,0,18,0,31,0 35,0,11,0,28,0,24,0,29,0,6,0 21,0,4,0,41,0,14,0,10,0,40,0 2,0,16,0,23,0,26,0,7,0,9,0 12,0,25,0,8,0,13,0,22,0,27,0 39,0,34,0,19,0,42,0,38,0,15,0 40,0,20,0,16,0,29,0,32,0,1,0 13,0,23,0,35,0,41,0,3,0,36,0 28,0,38,0,34,0,5,0,21,0,22,0 9,0,31,0,25,0,4,0,19,0,33,0 11,0,27,0,10,0,18,0,7,0,15,0 2,0,30,0,12,0,39,0,24,0,37,0 17,0,6,0,14,0,42,0,26,0,8,0 5,0,41,0,29,0,36,0,31,0,15,0 7,0,24,0,34,0,33,0,40,0,13,0 35,0,12,0,9,0,20,0,18,0,14,0 23,0,1,0,19,0,8,0,21,0,30,0 37,0,27,0,38,0,6,0,3,0,16,0 32,0,42,0,22,0,2,0,4,0,11,0 17,0,28,0,26,0,39,0,10,0,25,0 36,0,6,0,21,0,33,0,12,0,15,0 8,0,2,0,40,0,38,0,31,0,35,0 11,0,39,0,1,0,23,0,14,0,5,0 3,0,22,0,20,0,19,0,7,0,10,0 24,0,32,0,9,0,41,0,17,0,27,0 42,0,16,0,18,0,25,0,28,0,30,0 26,0,37,0,4,0,34,0,29,0,13,0 40,0,6,0,22,0,39,0,36,0,9,0 25,0,15,0,24,0,1,0,14,0,3,0 10,0,33,0,34,0,8,0,16,0,32,0 13,0,19,0,18,0,29,0,2,0,17,0 35,0,7,0,5,0,37,0,42,0,21,0 26,0,11,0,30,0,38,0,12,0,41,0 31,0,20,0,4,0,27,0,23,0,28,0 3,0,8,0,24,0,5,0,18,0,9,0 15,0,22,0,30,0,32,0,35,0,26,0 29,0,33,0,42,0,12,0,23,0,10,0 41,0,25,0,6,0,20,0,2,0,34,0 36,0,38,0,1,0,7,0,17,0,4,0 28,0,14,0,37,0,27,0,40,0,19,0 39,0,13,0,31,0,21,0,11,0,16,0 ================================================ FILE: schedules/42_7.csv ================================================ 22,0,18,0,30,0,3,0,2,0,29,0 8,0,39,0,19,0,1,0,24,0,17,0 11,0,21,0,33,0,6,0,40,0,37,0 26,0,41,0,4,0,27,0,15,0,7,0 20,0,5,0,12,0,34,0,32,0,16,0 36,0,23,0,14,0,10,0,38,0,25,0 13,0,31,0,28,0,9,0,42,0,35,0 32,0,39,0,21,0,7,0,8,0,29,0 26,0,20,0,40,0,4,0,14,0,22,0 27,0,25,0,24,0,28,0,12,0,35,0 9,0,38,0,17,0,5,0,37,0,30,0 11,0,6,0,13,0,19,0,1,0,36,0 15,0,16,0,23,0,31,0,18,0,2,0 42,0,41,0,10,0,34,0,33,0,3,0 30,0,26,0,32,0,1,0,25,0,13,0 38,0,31,0,24,0,18,0,4,0,21,0 3,0,7,0,6,0,34,0,23,0,17,0 35,0,2,0,41,0,36,0,40,0,8,0 16,0,12,0,33,0,22,0,11,0,9,0 5,0,39,0,29,0,20,0,42,0,27,0 19,0,37,0,15,0,10,0,28,0,14,0 40,0,12,0,7,0,17,0,36,0,31,0 20,0,29,0,4,0,6,0,23,0,9,0 42,0,21,0,2,0,25,0,14,0,11,0 35,0,32,0,19,0,33,0,15,0,30,0 34,0,28,0,18,0,39,0,26,0,1,0 3,0,8,0,27,0,37,0,16,0,38,0 10,0,13,0,22,0,5,0,24,0,41,0 25,0,40,0,18,0,9,0,20,0,19,0 30,0,8,0,35,0,14,0,6,0,12,0 22,0,27,0,1,0,23,0,21,0,10,0 29,0,31,0,33,0,26,0,5,0,36,0 42,0,16,0,28,0,41,0,7,0,17,0 11,0,39,0,15,0,3,0,38,0,13,0 34,0,37,0,2,0,24,0,32,0,4,0 23,0,42,0,26,0,19,0,21,0,12,0 25,0,16,0,17,0,29,0,15,0,1,0 8,0,41,0,11,0,30,0,20,0,31,0 37,0,4,0,10,0,18,0,35,0,39,0 24,0,13,0,34,0,27,0,33,0,40,0 38,0,36,0,6,0,22,0,32,0,28,0 9,0,5,0,3,0,7,0,14,0,2,0 23,0,12,0,29,0,13,0,41,0,37,0 25,0,33,0,19,0,31,0,4,0,39,0 30,0,3,0,28,0,40,0,5,0,21,0 15,0,36,0,22,0,8,0,42,0,34,0 14,0,18,0,17,0,32,0,11,0,27,0 6,0,10,0,24,0,16,0,9,0,26,0 7,0,1,0,35,0,38,0,20,0,2,0 ================================================ FILE: schedules/42_8.csv ================================================ 2,0,15,0,30,0,37,0,39,0,5,0 12,0,9,0,16,0,13,0,34,0,14,0 42,0,10,0,21,0,41,0,40,0,22,0 17,0,35,0,26,0,1,0,19,0,20,0 3,0,25,0,28,0,18,0,11,0,7,0 38,0,6,0,33,0,27,0,36,0,8,0 31,0,4,0,32,0,23,0,24,0,29,0 1,0,37,0,30,0,21,0,12,0,25,0 27,0,3,0,33,0,16,0,10,0,2,0 31,0,38,0,9,0,35,0,28,0,42,0 14,0,5,0,40,0,18,0,20,0,32,0 17,0,23,0,7,0,24,0,13,0,36,0 29,0,15,0,39,0,6,0,19,0,22,0 26,0,4,0,41,0,11,0,8,0,34,0 1,0,27,0,5,0,31,0,7,0,42,0 21,0,28,0,16,0,15,0,32,0,17,0 33,0,40,0,39,0,3,0,24,0,26,0 6,0,30,0,18,0,9,0,2,0,4,0 13,0,37,0,8,0,19,0,11,0,14,0 10,0,29,0,41,0,36,0,12,0,35,0 25,0,20,0,22,0,34,0,23,0,38,0 18,0,24,0,21,0,11,0,16,0,26,0 36,0,41,0,19,0,5,0,9,0,30,0 34,0,40,0,7,0,35,0,39,0,6,0 10,0,13,0,4,0,15,0,25,0,38,0 1,0,42,0,23,0,2,0,33,0,29,0 20,0,14,0,37,0,28,0,22,0,27,0 31,0,12,0,17,0,3,0,32,0,8,0 35,0,24,0,19,0,42,0,2,0,25,0 16,0,36,0,37,0,40,0,4,0,1,0 7,0,38,0,27,0,26,0,12,0,32,0 18,0,13,0,15,0,20,0,41,0,31,0 17,0,11,0,6,0,22,0,33,0,14,0 21,0,9,0,34,0,5,0,29,0,3,0 23,0,8,0,10,0,39,0,28,0,30,0 42,0,12,0,11,0,20,0,15,0,36,0 19,0,31,0,2,0,38,0,40,0,16,0 14,0,7,0,32,0,33,0,30,0,41,0 22,0,24,0,8,0,9,0,1,0,18,0 13,0,35,0,23,0,6,0,21,0,3,0 4,0,25,0,5,0,17,0,27,0,39,0 26,0,29,0,34,0,10,0,37,0,28,0 14,0,38,0,3,0,24,0,1,0,15,0 20,0,12,0,33,0,4,0,19,0,21,0 34,0,32,0,39,0,36,0,18,0,42,0 37,0,7,0,2,0,10,0,17,0,9,0 6,0,25,0,41,0,26,0,31,0,28,0 22,0,16,0,23,0,8,0,5,0,35,0 29,0,40,0,30,0,13,0,27,0,11,0 34,0,36,0,31,0,14,0,21,0,2,0 38,0,18,0,35,0,37,0,33,0,17,0 20,0,16,0,8,0,25,0,29,0,7,0 42,0,22,0,26,0,4,0,30,0,3,0 5,0,11,0,24,0,12,0,10,0,6,0 32,0,28,0,1,0,13,0,39,0,19,0 15,0,9,0,41,0,27,0,23,0,40,0 ================================================ FILE: schedules/42_9.csv ================================================ 25,0,10,0,39,0,41,0,15,0,1,0 19,0,13,0,12,0,9,0,11,0,17,0 34,0,33,0,7,0,40,0,35,0,24,0 28,0,18,0,5,0,21,0,37,0,26,0 4,0,20,0,2,0,6,0,8,0,16,0 27,0,31,0,22,0,38,0,3,0,23,0 32,0,30,0,42,0,14,0,29,0,36,0 35,0,4,0,16,0,37,0,10,0,12,0 33,0,11,0,22,0,39,0,20,0,28,0 5,0,31,0,1,0,36,0,32,0,2,0 38,0,18,0,40,0,41,0,9,0,19,0 8,0,24,0,23,0,42,0,3,0,6,0 30,0,26,0,14,0,34,0,25,0,17,0 21,0,29,0,15,0,27,0,13,0,7,0 3,0,36,0,9,0,4,0,10,0,40,0 19,0,38,0,20,0,30,0,39,0,5,0 24,0,34,0,14,0,11,0,2,0,23,0 7,0,15,0,8,0,17,0,22,0,18,0 12,0,28,0,25,0,29,0,27,0,6,0 16,0,26,0,41,0,21,0,31,0,33,0 37,0,35,0,42,0,1,0,13,0,32,0 36,0,34,0,18,0,12,0,2,0,38,0 4,0,8,0,26,0,19,0,24,0,29,0 28,0,10,0,1,0,31,0,7,0,20,0 40,0,13,0,21,0,39,0,32,0,14,0 30,0,6,0,15,0,9,0,23,0,37,0 5,0,3,0,22,0,35,0,25,0,33,0 42,0,11,0,41,0,17,0,16,0,27,0 9,0,24,0,6,0,39,0,29,0,1,0 2,0,14,0,37,0,19,0,7,0,3,0 30,0,41,0,21,0,26,0,12,0,35,0 40,0,42,0,17,0,22,0,16,0,28,0 36,0,20,0,23,0,25,0,18,0,32,0 38,0,11,0,31,0,15,0,4,0,33,0 34,0,8,0,27,0,5,0,13,0,10,0 25,0,29,0,9,0,21,0,2,0,22,0 33,0,17,0,38,0,20,0,6,0,37,0 11,0,27,0,3,0,30,0,1,0,18,0 28,0,19,0,14,0,35,0,10,0,32,0 16,0,40,0,12,0,23,0,15,0,5,0 8,0,13,0,41,0,26,0,36,0,24,0 7,0,42,0,39,0,31,0,4,0,34,0 1,0,20,0,21,0,40,0,23,0,19,0 12,0,15,0,36,0,28,0,3,0,26,0 41,0,32,0,22,0,6,0,2,0,34,0 11,0,29,0,10,0,38,0,42,0,5,0 16,0,13,0,33,0,7,0,30,0,25,0 37,0,24,0,4,0,27,0,18,0,14,0 39,0,31,0,9,0,17,0,8,0,35,0 20,0,15,0,25,0,19,0,42,0,34,0 22,0,6,0,7,0,5,0,11,0,26,0 12,0,27,0,1,0,14,0,33,0,8,0 28,0,2,0,40,0,13,0,4,0,30,0 18,0,29,0,23,0,31,0,35,0,41,0 24,0,3,0,32,0,38,0,9,0,16,0 39,0,17,0,37,0,36,0,21,0,10,0 19,0,6,0,33,0,42,0,13,0,18,0 1,0,16,0,3,0,34,0,28,0,29,0 9,0,14,0,15,0,20,0,41,0,5,0 7,0,21,0,35,0,4,0,36,0,38,0 2,0,17,0,26,0,23,0,39,0,27,0 37,0,40,0,32,0,8,0,11,0,25,0 24,0,31,0,10,0,30,0,22,0,12,0 ================================================ FILE: schedules/43_1.csv ================================================ 19,0,23,0,3,0,1,0,40,0,9,0 11,0,32,0,42,0,22,0,5,0,16,0 43,0,15,0,26,0,38,0,14,0,6,0 36,0,41,0,34,0,39,0,25,0,33,0 24,0,21,0,30,0,17,0,29,0,10,0 37,0,31,0,27,0,8,0,2,0,35,0 7,0,20,0,18,0,28,0,4,0,12,0 13,0,11,1,16,1,3,1,41,1,36,1 ================================================ FILE: schedules/43_10.csv ================================================ 28,0,38,0,26,0,9,0,39,0,18,0 15,0,24,0,31,0,5,0,13,0,25,0 8,0,41,0,10,0,42,0,29,0,22,0 17,0,34,0,32,0,36,0,43,0,11,0 14,0,37,0,7,0,19,0,23,0,6,0 33,0,27,0,1,0,4,0,40,0,2,0 30,0,3,0,21,0,12,0,16,0,20,0 35,0,24,0,8,0,22,0,36,0,19,0 23,0,42,0,39,0,41,0,2,0,13,0 37,0,4,0,29,0,15,0,21,0,7,0 12,0,26,0,14,0,11,0,35,0,20,0 3,0,34,0,18,0,31,0,40,0,6,0 9,0,25,0,27,0,43,0,1,0,30,0 33,0,16,0,32,0,28,0,17,0,5,0 10,0,19,0,15,0,38,0,21,0,12,0 23,1,14,0,36,0,40,1,3,0,8,0 16,0,37,0,5,0,1,0,41,0,35,0 25,0,22,0,7,0,32,0,39,0,26,0 18,0,38,0,43,0,2,0,30,0,33,0 4,0,6,0,20,0,9,0,13,0,10,0 42,0,27,0,28,0,31,0,11,0,17,0 29,0,34,0,15,0,24,0,33,0,12,0 10,0,3,0,39,0,1,0,32,0,23,0 31,0,5,0,7,0,14,0,9,0,17,0 35,0,43,0,42,0,24,0,28,0,6,0 40,0,34,0,13,0,38,0,16,0,22,0 36,0,27,0,4,0,18,0,41,0,25,0 8,0,11,0,2,0,37,0,20,0,30,0 26,0,19,0,31,0,21,0,29,0,32,0 23,0,16,0,10,0,15,0,5,0,36,0 6,0,12,0,2,0,40,0,7,0,28,0 27,0,17,0,8,0,39,0,21,0,24,0 19,0,37,0,3,0,9,0,34,0,42,0 25,0,26,0,20,0,33,0,38,0,41,0 30,0,35,0,22,0,43,0,4,0,14,0 1,0,29,0,13,0,18,0,11,0,19,0 23,0,7,0,27,0,28,0,34,0,20,0 10,0,4,0,12,0,16,0,31,0,39,0 32,0,22,0,18,0,42,0,15,0,14,0 40,0,43,0,37,0,5,0,8,0,26,0 1,0,6,0,36,0,30,0,29,0,38,0 25,0,35,0,2,0,13,0,3,0,17,0 21,0,9,0,33,0,24,0,41,0,11,0 5,0,20,0,43,0,29,0,39,0,19,0 26,0,18,0,13,0,32,0,27,0,3,0 40,0,41,0,30,0,31,0,9,0,35,0 36,0,21,0,28,0,14,0,1,0,2,0 17,0,33,0,22,0,23,0,37,0,12,0 42,0,8,0,6,0,4,0,15,0,25,0 16,0,11,0,7,0,10,0,24,0,38,0 5,0,29,0,9,0,34,0,27,0,22,0 28,0,18,0,12,0,21,0,8,0,13,0 3,0,42,0,41,0,7,0,43,0,33,0 20,0,15,0,39,0,35,0,36,0,40,0 34,0,6,0,38,0,1,0,26,0,17,0 4,0,30,0,24,0,32,0,37,0,10,0 31,0,23,0,2,0,19,0,25,0,16,0 14,0,22,0,39,0,11,0,6,0,33,0 38,0,4,0,5,0,28,0,29,0,3,0 12,0,13,0,32,0,8,0,9,0,37,0 21,0,40,0,11,0,25,0,43,0,23,0 41,0,20,0,19,0,18,0,15,0,17,0 35,0,14,0,34,0,2,0,10,0,27,0 36,0,16,0,30,0,26,0,42,0,7,0 31,0,1,0,3,0,24,0,22,0,20,0 40,0,25,0,17,0,29,0,10,0,14,0 32,0,6,0,9,0,16,0,21,0,2,0 38,0,23,0,11,0,18,0,5,0,35,0 1,0,37,0,15,0,43,0,27,0,12,0 33,0,31,0,13,0,36,0,7,0,8,0 28,0,41,0,39,0,30,0,19,0,34,0 42,0,24,0,40,0,4,0,26,0,23,0 ================================================ FILE: schedules/43_11.csv ================================================ 17,0,41,0,38,0,28,0,35,0,22,0 27,0,13,0,29,0,16,0,5,0,2,0 1,0,34,0,37,0,6,0,42,0,33,0 36,0,4,0,43,0,3,0,21,0,39,0 14,0,31,0,20,0,18,0,12,0,24,0 15,0,8,0,26,0,25,0,40,0,9,0 23,0,7,0,11,0,30,0,10,0,32,0 19,0,24,0,2,0,5,0,6,0,43,0 39,0,25,0,16,0,14,0,9,0,22,0 35,0,8,0,23,0,18,0,21,0,11,0 37,0,4,0,29,0,20,0,12,0,10,0 17,0,34,0,31,0,42,0,36,0,7,0 40,0,32,0,3,0,27,0,30,0,28,0 33,0,1,0,38,0,26,0,19,0,13,0 41,0,5,0,42,0,15,0,35,0,21,0 7,1,30,0,40,0,4,0,16,0,20,0 38,0,13,0,34,0,11,0,17,0,8,0 12,0,2,0,39,0,23,0,31,0,41,0 25,0,24,0,28,0,15,0,1,0,10,0 18,0,27,0,43,0,22,0,19,0,6,0 36,0,33,0,9,0,37,0,14,0,32,0 3,0,29,0,35,0,26,0,31,0,40,0 7,0,4,0,41,0,25,0,23,0,38,0 2,0,20,0,28,0,19,0,14,0,39,0 32,0,9,0,8,0,29,0,1,0,12,0 3,0,15,0,36,0,6,0,10,0,13,0 30,0,18,0,17,0,5,0,33,0,37,0 34,0,43,0,11,0,42,0,27,0,22,0 21,0,26,0,25,0,24,0,16,0,32,0 3,0,20,0,8,0,33,0,2,0,7,0 9,0,30,0,37,0,35,0,41,0,19,0 13,0,12,0,22,0,24,0,29,0,42,0 14,0,5,0,21,0,1,0,31,0,11,0 26,0,18,0,4,0,36,0,17,0,28,0 34,0,15,0,23,0,16,0,43,0,40,0 39,0,6,0,27,0,10,0,38,0,21,0 11,0,24,0,30,0,2,0,26,0,36,0 28,0,42,0,3,0,5,0,29,0,23,0 25,0,14,0,10,0,40,0,17,0,13,0 35,0,32,0,31,0,6,0,20,0,34,0 16,0,38,0,9,0,43,0,41,0,37,0 7,0,15,0,12,0,27,0,33,0,19,0 39,0,4,0,22,0,8,0,1,0,18,0 6,0,28,0,31,0,9,0,13,0,11,0 21,0,40,0,42,0,2,0,30,0,41,0 24,0,35,0,14,0,8,0,34,0,4,0 26,0,1,0,43,0,7,0,20,0,27,0 18,0,39,0,37,0,25,0,15,0,29,0 12,0,19,0,16,0,10,0,17,0,3,0 22,0,38,0,36,0,32,0,23,0,33,0 5,0,13,0,39,0,30,0,35,0,34,0 27,0,17,0,2,0,9,0,4,0,1,0 25,0,22,0,33,0,31,0,43,0,21,0 7,0,6,0,16,0,12,0,28,0,5,0 20,0,15,0,19,0,40,0,8,0,36,0 29,0,10,0,41,0,26,0,14,0,11,0 42,0,32,0,18,0,38,0,24,0,3,0 23,0,28,0,21,0,37,0,20,0,13,0 33,0,29,0,8,0,27,0,41,0,36,0 19,0,32,0,5,0,25,0,42,0,4,0 3,0,1,0,7,0,37,0,35,0,40,0 30,0,31,0,12,0,15,0,38,0,43,0 34,0,16,0,26,0,18,0,2,0,10,0 6,0,24,0,23,0,17,0,9,0,39,0 22,0,11,0,15,0,14,0,4,0,3,0 20,0,40,0,41,0,38,0,18,0,5,0 31,0,27,0,24,0,37,0,17,0,23,0 43,0,33,0,35,0,16,0,36,0,1,0 21,0,30,0,19,0,34,0,28,0,29,0 2,0,11,0,6,0,8,0,25,0,12,0 13,0,42,0,14,0,7,0,39,0,32,0 10,0,22,0,5,0,9,0,26,0,20,0 25,0,35,0,36,0,27,0,12,0,3,0 32,0,29,0,43,0,17,0,15,0,4,0 37,0,7,0,38,0,34,0,22,0,2,0 16,0,10,0,28,0,31,0,8,0,42,0 6,0,1,0,14,0,23,0,26,0,30,0 19,0,40,0,11,0,33,0,24,0,39,0 18,0,9,0,41,0,13,0,21,0,7,0 ================================================ FILE: schedules/43_12.csv ================================================ 25,0,6,0,20,0,10,0,29,0,28,0 19,0,7,0,17,0,41,0,5,0,9,0 1,0,33,0,11,0,31,0,21,0,32,0 34,0,16,0,13,0,37,0,40,0,8,0 39,0,35,0,15,0,24,0,4,0,42,0 26,0,14,0,22,0,12,0,43,0,23,0 38,0,3,0,18,0,30,0,2,0,36,0 27,0,39,0,25,0,37,0,1,0,19,0 32,0,12,0,5,0,43,0,41,0,10,0 22,0,3,0,16,0,31,0,13,0,20,0 2,0,26,0,18,0,7,0,29,0,15,0 24,0,30,0,33,0,14,0,38,0,40,0 21,0,4,0,8,0,34,0,35,0,28,0 9,0,17,0,42,0,6,0,11,0,36,0 27,0,31,0,40,0,23,0,37,0,41,0 43,0,28,0,19,0,14,0,13,0,33,0 8,0,25,0,29,0,4,0,11,0,22,0 23,0,10,0,16,0,39,0,38,0,9,0 20,0,42,0,32,0,12,0,17,0,30,0 27,0,35,0,21,0,15,0,3,0,26,0 5,0,1,0,2,0,36,0,34,0,24,0 6,0,18,0,14,0,7,0,23,0,8,0 17,0,15,0,32,0,22,0,39,0,40,0 42,0,41,0,3,0,29,0,27,0,24,0 1,0,10,0,12,0,13,0,2,0,11,0 4,0,16,0,20,0,6,0,7,0,33,0 21,0,43,0,26,0,30,0,31,0,19,0 25,0,28,0,38,0,34,0,18,0,9,0 35,0,37,0,20,0,36,0,5,0,17,0 30,0,15,0,1,0,33,0,16,0,19,0 7,0,24,0,41,0,22,0,34,0,6,0 23,0,32,0,36,0,42,0,21,0,28,0 2,0,29,0,12,0,39,0,8,0,43,0 27,0,10,0,37,0,14,0,3,0,4,0 35,0,31,0,9,0,18,0,40,0,25,0 38,0,11,0,42,0,5,0,26,0,13,0 15,0,20,0,36,0,8,0,1,0,14,0 23,0,29,0,21,0,10,0,25,0,32,0 4,0,7,0,9,0,12,0,31,0,3,0 17,0,22,0,43,0,38,0,27,0,16,0 39,0,24,0,13,0,30,0,34,0,26,0 40,0,5,0,6,0,19,0,18,0,11,0 37,0,33,0,28,0,2,0,35,0,41,0 7,0,30,0,14,0,39,0,21,0,17,0 8,0,22,0,24,0,42,0,25,0,19,0 38,0,5,0,29,0,31,0,15,0,28,0 34,0,37,0,3,0,12,0,40,0,11,0 18,0,23,0,13,0,20,0,1,0,41,0 2,0,43,0,6,0,4,0,35,0,32,0 26,0,33,0,27,0,9,0,36,0,16,0 10,0,38,0,19,0,37,0,25,0,7,0 40,0,34,0,42,0,29,0,14,0,43,0 27,0,20,0,8,0,24,0,31,0,11,0 12,0,28,0,26,0,17,0,1,0,16,0 4,0,5,0,18,0,30,0,21,0,41,0 23,0,15,0,2,0,32,0,13,0,9,0 36,0,22,0,33,0,39,0,6,0,3,0 35,0,40,0,16,0,10,0,8,0,5,0 24,0,43,0,9,0,20,0,21,0,18,0 39,0,37,0,11,0,30,0,23,0,28,0 6,0,4,0,41,0,26,0,1,0,38,0 19,0,12,0,13,0,35,0,36,0,29,0 34,0,33,0,31,0,42,0,10,0,22,0 14,0,15,0,25,0,17,0,2,0,3,0 7,0,12,0,38,0,27,0,32,0,28,0 22,0,30,0,13,0,9,0,6,0,21,0 26,0,17,0,8,0,33,0,10,0,18,0 23,0,20,0,40,0,2,0,7,0,27,0 25,0,31,0,41,0,14,0,39,0,36,0 32,0,34,0,11,0,15,0,19,0,4,0 1,0,43,0,3,0,37,0,5,0,42,0 16,0,29,0,31,0,24,0,35,0,17,0 30,0,9,0,10,0,27,0,34,0,41,0 13,0,7,0,36,0,25,0,43,0,4,0 21,0,24,0,15,0,12,0,6,0,37,0 35,0,11,0,8,0,33,0,38,0,23,0 32,0,26,0,40,0,28,0,3,0,20,0 2,0,14,0,19,0,16,0,42,0,18,0 1,0,29,0,39,0,22,0,5,0,35,0 34,0,4,0,17,0,3,0,23,0,24,0 28,0,41,0,11,0,16,0,43,0,15,0 18,0,31,0,39,0,27,0,13,0,6,0 32,0,14,0,37,0,9,0,26,0,29,0 22,0,21,0,19,0,2,0,20,0,38,0 30,0,25,0,5,0,8,0,33,0,12,0 36,0,1,0,42,0,7,0,10,0,40,0 ================================================ FILE: schedules/43_13.csv ================================================ 36,0,31,0,39,0,26,0,34,0,19,0 6,0,2,0,27,0,7,0,11,0,28,0 17,0,5,0,43,0,12,0,21,0,23,0 13,0,24,0,41,0,1,0,4,0,42,0 3,0,30,0,35,0,20,0,40,0,22,0 9,0,8,0,15,0,33,0,10,0,14,0 25,0,32,0,18,0,37,0,16,0,29,0 38,0,28,0,31,0,4,0,17,0,24,0 19,0,7,0,6,0,43,0,26,0,35,0 9,0,36,0,42,0,39,0,12,0,29,0 30,0,8,0,34,0,13,0,27,0,21,0 38,0,1,0,16,0,23,0,15,0,40,0 11,0,20,0,32,0,41,0,25,0,5,0 3,0,37,0,10,0,18,0,2,0,33,0 14,0,29,0,1,0,22,0,27,0,17,0 16,1,12,0,8,0,34,1,35,0,11,0 42,1,6,0,23,0,10,1,2,0,25,0 33,1,30,0,15,0,41,0,31,0,3,0 22,0,32,0,7,0,38,0,39,0,24,0 19,0,5,0,14,0,37,0,28,0,18,0 21,0,4,0,26,0,20,0,13,0,36,0 40,0,43,0,24,0,9,0,2,0,17,0 10,0,27,0,11,0,31,0,37,0,35,0 41,0,30,0,4,0,25,0,19,0,29,0 26,0,3,0,7,0,1,0,5,0,33,0 42,0,8,0,40,0,6,0,28,0,32,0 20,0,14,0,9,0,23,0,38,0,36,0 13,0,34,0,16,0,43,0,18,0,39,0 21,0,22,0,37,0,15,0,12,0,42,0 24,0,30,0,10,0,27,0,26,0,23,0 16,0,14,0,2,0,8,0,19,0,1,0 12,0,32,0,9,0,6,0,17,0,18,0 35,0,39,0,15,0,5,0,20,0,28,0 38,0,21,0,7,0,31,0,25,0,34,0 11,0,29,0,41,0,4,0,33,0,40,0 13,0,3,0,22,0,36,0,43,0,32,0 30,0,17,0,31,0,2,0,35,0,42,0 26,0,40,0,18,0,24,0,29,0,15,0 19,0,10,0,12,0,20,0,8,0,3,0 7,0,27,0,41,0,22,0,9,0,28,0 16,0,5,0,23,0,34,0,37,0,6,0 13,0,33,0,38,0,1,0,21,0,36,0 39,0,25,0,14,0,43,0,4,0,11,0 23,0,34,0,2,0,42,0,28,0,41,0 16,0,18,0,31,0,30,0,22,0,1,0 6,0,33,0,20,0,38,0,40,0,14,0 24,0,27,0,19,0,37,0,7,0,12,0 17,0,29,0,36,0,39,0,8,0,11,0 9,0,25,0,43,0,15,0,5,0,26,0 21,0,10,0,35,0,3,0,4,0,32,0 13,0,42,0,31,0,6,0,14,0,12,0 15,0,2,0,22,0,39,0,34,0,20,0 21,0,32,0,8,0,23,0,9,0,30,0 29,0,7,0,5,0,10,0,41,0,36,0 19,0,38,0,18,0,17,0,28,0,1,0 40,0,16,0,27,0,13,0,35,0,4,0 33,0,43,0,3,0,25,0,24,0,37,0 11,0,5,0,12,0,26,0,30,0,14,0 6,0,4,0,29,0,21,0,18,0,34,0 31,0,2,0,1,0,13,0,37,0,32,0 23,0,22,0,39,0,19,0,11,0,33,0 17,0,26,0,42,0,40,0,25,0,7,0 8,0,24,0,36,0,41,0,20,0,16,0 43,0,15,0,10,0,27,0,35,0,38,0 28,0,3,0,25,0,9,0,19,0,31,0 18,0,22,0,4,0,8,0,23,0,7,0 1,0,35,0,20,0,29,0,43,0,42,0 37,0,15,0,36,0,30,0,40,0,6,0 41,0,34,0,14,0,12,0,3,0,24,0 10,0,13,0,28,0,9,0,16,0,11,0 17,0,33,0,21,0,32,0,2,0,26,0 39,0,27,0,37,0,38,0,5,0,3,0 14,0,43,0,23,0,7,0,15,0,16,0 1,0,11,0,6,0,24,0,9,0,35,0 40,0,39,0,19,0,5,0,21,0,31,0 25,0,22,0,36,0,42,0,27,0,18,0 10,0,4,0,20,0,34,0,32,0,17,0 8,0,2,0,41,0,12,0,26,0,38,0 29,0,33,0,28,0,30,0,13,0,43,0 1,0,40,0,9,0,22,0,10,0,34,0 35,0,18,0,14,0,21,0,39,0,41,0 11,0,38,0,30,0,7,0,42,0,24,0 20,0,23,0,37,0,26,0,29,0,31,0 12,0,28,0,27,0,33,0,32,0,16,0 17,0,19,0,3,0,15,0,13,0,6,0 25,0,8,0,4,0,5,0,2,0,36,0 38,0,9,0,29,0,16,0,30,0,28,0 13,0,7,0,18,0,27,0,20,0,15,0 41,0,12,0,1,0,39,0,10,0,6,0 33,0,37,0,26,0,4,0,36,0,34,0 32,0,5,0,42,0,14,0,8,0,22,0 31,0,11,0,24,0,43,0,19,0,21,0 25,0,35,0,23,0,2,0,3,0,40,0 34,0,42,0,33,0,17,0,16,0,10,0 ================================================ FILE: schedules/43_14.csv ================================================ 37,0,28,0,21,0,43,0,11,0,13,0 41,0,18,0,29,0,42,0,31,0,26,0 16,0,8,0,3,0,27,0,14,0,24,0 2,0,33,0,30,0,20,0,15,0,5,0 39,0,12,0,1,0,40,0,35,0,6,0 25,0,36,0,7,0,38,0,9,0,32,0 10,0,19,0,23,0,4,0,34,0,17,0 29,0,24,0,1,0,22,0,35,0,18,0 28,0,6,0,30,0,31,0,5,0,13,0 2,0,14,0,17,0,37,0,4,0,41,0 38,0,39,0,20,0,9,0,3,0,11,0 42,0,19,0,22,0,8,0,25,0,33,0 16,0,40,0,27,0,26,0,36,0,12,0 34,0,10,0,21,0,32,0,15,0,7,0 23,0,42,0,17,0,43,0,24,0,2,0 11,1,38,0,3,0,9,1,25,0,12,0 15,1,32,0,4,0,18,1,31,0,16,0 30,0,34,0,10,0,26,0,21,0,14,0 19,0,39,0,8,0,43,0,40,0,1,0 6,0,29,0,33,0,35,0,41,0,28,0 23,0,22,0,37,0,20,0,5,0,7,0 27,0,13,0,30,0,36,0,4,0,1,0 40,0,28,0,17,0,15,0,11,0,34,0 20,0,25,0,14,0,18,0,21,0,42,0 10,0,39,0,27,0,9,0,22,0,31,0 8,0,29,0,36,0,5,0,43,0,41,0 7,0,33,0,24,0,37,0,6,0,19,0 35,0,16,0,26,0,38,0,12,0,23,0 13,0,3,0,40,0,2,0,32,0,29,0 36,0,9,0,39,0,7,0,17,0,14,0 10,0,25,0,5,0,23,0,1,0,27,0 20,0,4,0,37,0,41,0,8,0,21,0 19,0,32,0,33,0,24,0,26,0,16,0 18,0,22,0,3,0,6,0,34,0,43,0 42,0,35,0,12,0,13,0,28,0,15,0 30,0,31,0,11,0,2,0,38,0,1,0 39,0,40,0,5,0,17,0,41,0,25,0 43,0,29,0,16,0,8,0,10,0,32,0 13,0,4,0,6,0,38,0,42,0,24,0 21,0,36,0,22,0,33,0,11,0,23,0 3,0,28,0,27,0,26,0,30,0,14,0 2,0,34,0,35,0,18,0,20,0,9,0 15,0,19,0,12,0,37,0,31,0,7,0 23,0,5,0,32,0,27,0,29,0,42,0 24,0,25,0,11,0,14,0,10,0,18,0 33,0,22,0,20,0,7,0,34,0,40,0 31,0,19,0,1,0,13,0,21,0,12,0 37,0,9,0,17,0,16,0,26,0,41,0 38,0,35,0,36,0,28,0,8,0,2,0 43,0,30,0,4,0,39,0,3,0,6,0 15,0,21,0,16,0,14,0,23,0,40,0 29,0,13,0,37,0,19,0,25,0,18,0 43,0,35,0,10,0,41,0,33,0,12,0 20,0,6,0,24,0,39,0,11,0,32,0 38,0,1,0,15,0,36,0,17,0,5,0 3,0,2,0,31,0,7,0,27,0,8,0 26,0,9,0,4,0,22,0,34,0,28,0 42,0,25,0,1,0,30,0,40,0,18,0 5,0,24,0,21,0,6,0,16,0,36,0 37,0,43,0,38,0,34,0,27,0,29,0 28,0,17,0,31,0,30,0,19,0,20,0 15,0,14,0,22,0,2,0,13,0,9,0 11,0,26,0,7,0,42,0,10,0,33,0 39,0,23,0,8,0,12,0,3,0,4,0 41,0,32,0,20,0,35,0,24,0,19,0 22,0,16,0,11,0,29,0,17,0,30,0 12,0,14,0,34,0,31,0,27,0,36,0 26,0,8,0,38,0,28,0,4,0,39,0 37,0,2,0,18,0,33,0,5,0,1,0 23,0,7,0,13,0,43,0,32,0,42,0 35,0,15,0,9,0,6,0,25,0,21,0 40,0,41,0,31,0,10,0,3,0,24,0 38,0,19,0,27,0,13,0,17,0,8,0 5,0,34,0,9,0,22,0,43,0,29,0 18,0,15,0,26,0,41,0,23,0,36,0 33,0,35,0,21,0,25,0,39,0,30,0 7,0,42,0,28,0,16,0,1,0,20,0 10,0,6,0,2,0,3,0,11,0,37,0 12,0,32,0,40,0,4,0,14,0,9,0 30,0,22,0,41,0,38,0,28,0,16,0 26,0,23,0,6,0,42,0,20,0,8,0 32,0,13,0,25,0,33,0,40,0,21,0 24,0,15,0,31,0,39,0,2,0,27,0 7,0,17,0,1,0,29,0,4,0,35,0 43,0,14,0,3,0,5,0,19,0,11,0 18,0,34,0,36,0,10,0,12,0,37,0 4,0,25,0,27,0,33,0,38,0,15,0 9,0,43,0,40,0,31,0,21,0,29,0 14,0,42,0,6,0,10,0,28,0,36,0 20,0,13,0,26,0,23,0,35,0,3,0 12,0,11,0,17,0,7,0,22,0,2,0 18,0,24,0,32,0,8,0,30,0,5,0 41,0,19,0,1,0,16,0,39,0,34,0 43,0,28,0,33,0,37,0,15,0,40,0 6,0,11,0,27,0,35,0,17,0,32,0 25,0,2,0,31,0,4,0,22,0,39,0 8,0,12,0,9,0,23,0,24,0,30,0 10,0,41,0,7,0,18,0,21,0,38,0 34,0,26,0,3,0,13,0,36,0,19,0 5,0,20,0,29,0,16,0,14,0,37,0 1,0,11,0,18,0,42,0,9,0,15,0 ================================================ FILE: schedules/43_2.csv ================================================ 1,0,26,0,2,0,3,0,34,0,27,0 28,0,35,0,13,0,32,0,25,0,14,0 41,0,21,0,6,0,29,0,33,0,43,0 36,0,18,0,24,0,8,0,16,0,9,0 19,0,7,0,30,0,38,0,31,0,40,0 10,0,11,0,17,0,37,0,42,0,12,0 20,0,22,0,4,0,23,0,5,0,15,0 3,0,33,0,25,0,39,0,30,0,24,0 2,0,36,0,40,0,11,0,28,0,43,0 16,0,35,0,31,0,20,0,37,0,41,0 12,0,21,0,32,0,1,0,22,0,19,0 29,0,34,0,8,0,7,0,5,0,17,0 27,0,10,0,38,0,9,0,13,0,15,0 39,0,6,0,23,0,14,0,42,0,18,0 26,0,16,1,12,1,4,0,8,1,29,1 ================================================ FILE: schedules/43_3.csv ================================================ 43,0,40,0,29,0,41,0,13,0,42,0 16,0,39,0,12,0,2,0,14,0,26,0 24,0,30,0,3,0,20,0,33,0,18,0 34,0,28,0,19,0,25,0,11,0,8,0 7,0,9,0,36,0,22,0,32,0,15,0 38,0,31,0,6,0,17,0,1,0,5,0 37,0,27,0,35,0,23,0,4,0,21,0 10,0,42,0,8,0,32,0,39,0,3,0 11,1,15,0,26,0,41,1,17,0,20,0 21,1,13,0,18,0,28,0,5,0,16,0 31,0,14,0,33,0,35,0,25,0,9,0 2,0,1,0,37,0,43,0,34,0,22,0 29,0,7,0,6,0,27,0,30,0,19,0 10,0,23,0,38,0,24,0,12,0,36,0 40,0,17,0,25,0,4,0,3,0,16,0 39,0,1,0,21,0,29,0,33,0,15,0 19,0,24,0,5,0,41,0,37,0,9,0 28,0,26,0,43,0,36,0,35,0,6,0 32,0,14,0,11,0,13,0,30,0,23,0 38,0,4,0,20,0,42,0,34,0,7,0 12,0,22,0,18,0,27,0,8,0,40,0 10,0,2,0,41,0,31,0,11,0,21,0 ================================================ FILE: schedules/43_4.csv ================================================ 21,0,27,0,15,0,40,0,9,0,43,0 5,0,32,0,16,0,22,0,39,0,20,0 6,0,1,0,24,0,42,0,13,0,34,0 2,0,18,0,11,0,37,0,29,0,35,0 25,0,19,0,14,0,33,0,10,0,26,0 12,0,30,0,36,0,7,0,17,0,4,0 41,0,38,0,31,0,8,0,23,0,28,0 26,0,29,0,32,0,3,0,6,0,15,0 17,0,24,0,11,0,21,0,19,0,4,0 8,0,7,0,20,0,35,0,42,0,25,0 12,0,10,0,3,0,13,0,27,0,38,0 14,0,9,0,22,0,28,0,34,0,2,0 40,0,33,0,18,0,30,0,41,0,39,0 36,0,43,0,37,0,1,0,31,0,5,0 16,0,9,0,25,0,23,0,6,0,12,0 2,1,4,0,41,0,20,1,26,0,27,0 10,0,35,0,34,0,21,0,39,0,36,0 14,0,23,0,29,0,5,0,7,0,24,0 19,0,8,0,1,0,40,0,3,0,16,0 31,0,22,0,13,0,33,0,11,0,15,0 28,0,42,0,17,0,32,0,18,0,43,0 37,0,38,0,20,0,30,0,14,0,6,0 21,0,1,0,25,0,41,0,29,0,22,0 42,0,2,0,33,0,23,0,3,0,36,0 27,0,30,0,28,0,35,0,16,0,24,0 39,0,7,0,26,0,38,0,43,0,11,0 4,0,9,0,37,0,13,0,32,0,8,0 34,0,12,0,5,0,15,0,19,0,18,0 10,0,40,0,2,0,17,0,31,0,20,0 ================================================ FILE: schedules/43_5.csv ================================================ 15,0,10,0,31,0,33,0,2,0,37,0 36,0,29,0,24,0,30,0,23,0,21,0 32,0,16,0,17,0,9,0,13,0,34,0 42,0,35,0,18,0,43,0,19,0,1,0 6,0,40,0,3,0,4,0,41,0,12,0 28,0,11,0,38,0,26,0,7,0,20,0 39,0,8,0,27,0,22,0,5,0,14,0 25,0,1,0,13,0,6,0,2,0,36,0 23,0,18,0,38,0,15,0,33,0,3,0 26,0,29,0,10,0,22,0,34,0,43,0 8,0,14,0,35,0,40,0,11,0,9,0 19,0,17,0,30,0,27,0,12,0,37,0 4,0,5,0,16,0,20,0,24,0,25,0 28,0,21,0,31,0,32,0,41,0,42,0 7,0,13,0,37,0,39,0,18,0,40,0 20,1,34,0,19,0,33,0,24,0,14,0 27,0,21,0,9,0,3,0,25,0,26,0 41,0,39,0,23,0,16,0,1,0,10,0 38,0,2,0,5,0,29,0,32,0,12,0 6,0,15,0,22,0,35,0,28,0,30,0 43,0,31,0,4,0,36,0,17,0,11,0 42,0,2,0,24,0,7,0,8,0,3,0 23,0,14,0,12,0,13,0,26,0,28,0 11,0,21,0,19,0,10,0,5,0,6,0 20,0,39,0,42,0,17,0,29,0,15,0 7,0,33,0,43,0,9,0,16,0,22,0 41,0,34,0,25,0,18,0,30,0,8,0 37,0,4,0,36,0,35,0,32,0,27,0 40,0,1,0,22,0,31,0,38,0,24,0 17,0,20,0,14,0,2,0,18,0,21,0 13,0,29,0,33,0,11,0,41,0,27,0 15,0,16,0,26,0,19,0,40,0,36,0 12,0,25,0,35,0,7,0,31,0,39,0 9,0,30,0,10,0,38,0,42,0,4,0 5,0,28,0,3,0,37,0,1,0,34,0 23,0,32,0,8,0,6,0,43,0,20,0 ================================================ FILE: schedules/43_6.csv ================================================ 23,0,31,0,36,0,39,0,26,0,9,0 13,0,43,0,20,0,8,0,1,0,33,0 19,0,15,0,41,0,4,0,37,0,25,0 6,0,16,0,3,0,27,0,28,0,24,0 7,0,12,0,30,0,5,0,40,0,11,0 35,0,29,0,14,0,22,0,32,0,10,0 38,0,2,0,18,0,21,0,42,0,34,0 17,0,28,0,3,0,23,0,15,0,8,0 39,0,41,0,43,0,11,0,7,0,22,0 32,0,6,0,9,0,20,0,34,0,37,0 24,0,33,0,4,0,31,0,10,0,12,0 14,0,5,0,38,0,36,0,35,0,2,0 27,0,42,0,30,0,1,0,17,0,19,0 21,0,16,0,26,0,40,0,13,0,29,0 25,0,35,0,3,0,18,0,20,0,12,0 6,0,10,0,36,0,15,0,42,0,43,0 1,0,40,0,31,0,19,0,14,0,28,0 29,0,37,0,8,0,27,0,38,0,7,0 39,0,32,0,23,0,21,0,30,0,24,0 2,0,9,0,11,0,16,0,4,0,13,0 41,0,33,0,25,0,34,0,17,0,5,0 18,0,26,0,1,0,22,0,38,0,24,0 15,0,20,0,39,0,27,0,12,0,2,0 36,0,13,0,19,0,3,0,34,0,29,0 8,0,9,0,21,0,14,0,10,0,41,0 32,0,4,0,5,0,43,0,26,0,28,0 30,0,22,0,25,0,37,0,31,0,16,0 35,0,40,0,7,0,33,0,42,0,23,0 17,0,18,0,10,0,6,0,11,0,1,0 24,0,20,0,31,0,5,0,29,0,41,0 28,0,37,0,13,0,42,0,35,0,39,0 33,0,11,0,38,0,3,0,32,0,19,0 27,0,15,0,9,0,22,0,40,0,18,0 6,0,30,0,2,0,26,0,25,0,8,0 43,0,34,0,12,0,16,0,14,0,23,0 21,0,4,0,7,0,17,0,36,0,20,0 39,0,5,0,22,0,6,0,8,0,19,0 27,0,23,0,25,0,38,0,13,0,10,0 17,0,37,0,40,0,2,0,43,0,24,0 1,0,12,0,16,0,36,0,41,0,32,0 29,0,28,0,33,0,18,0,9,0,30,0 34,0,15,0,11,0,35,0,31,0,21,0 42,0,7,0,14,0,4,0,26,0,3,0 ================================================ FILE: schedules/43_7.csv ================================================ 13,0,9,0,19,0,40,0,38,0,18,0 42,0,25,0,6,0,8,0,33,0,24,0 12,0,31,0,34,0,21,0,43,0,5,0 41,0,37,0,2,0,20,0,14,0,15,0 16,0,1,0,35,0,36,0,11,0,22,0 7,0,4,0,26,0,10,0,23,0,17,0 29,0,30,0,27,0,32,0,3,0,39,0 28,0,14,0,12,0,38,0,11,0,25,0 41,0,6,0,17,0,16,0,9,0,5,0 7,0,31,0,27,0,18,0,2,0,33,0 30,0,4,0,20,0,43,0,1,0,22,0 10,0,21,0,34,0,13,0,3,0,42,0 36,0,19,0,29,0,35,0,26,0,24,0 23,0,28,0,40,0,15,0,39,0,8,0 37,0,11,0,3,0,32,0,9,0,41,0 34,1,38,0,42,0,31,1,36,0,35,0 17,1,18,0,29,0,1,1,15,0,21,0 19,1,33,0,28,0,30,0,16,0,43,0 22,0,13,0,14,0,39,0,23,0,5,0 8,0,4,0,6,0,2,0,12,0,32,0 25,0,20,0,27,0,40,0,10,0,26,0 24,0,22,0,30,0,7,0,37,0,13,0 3,0,18,0,28,0,12,0,36,0,17,0 35,0,14,0,41,0,27,0,8,0,1,0 21,0,24,0,2,0,25,0,26,0,16,0 37,0,23,0,38,0,6,0,29,0,34,0 15,0,19,0,5,0,32,0,10,0,33,0 9,0,39,0,20,0,4,0,31,0,42,0 11,0,43,0,12,0,40,0,7,0,29,0 22,0,26,0,18,0,34,0,14,0,33,0 25,0,24,0,36,0,39,0,41,0,31,0 8,0,43,0,19,0,27,0,37,0,21,0 5,0,40,0,3,0,28,0,35,0,4,0 38,0,10,0,9,0,2,0,30,0,23,0 15,0,32,0,16,0,1,0,42,0,7,0 13,0,11,0,17,0,20,0,6,0,19,0 29,0,31,0,10,0,28,0,41,0,22,0 42,0,23,0,16,0,18,0,37,0,25,0 4,0,34,0,24,0,11,0,27,0,15,0 26,0,39,0,33,0,1,0,9,0,12,0 36,0,21,0,30,0,40,0,6,0,14,0 32,0,43,0,17,0,13,0,35,0,2,0 5,0,20,0,8,0,7,0,38,0,3,0 1,0,39,0,18,0,6,0,10,0,37,0 2,0,17,0,40,0,42,0,29,0,22,0 32,0,35,0,23,0,33,0,20,0,21,0 34,0,28,0,7,0,41,0,4,0,19,0 11,0,26,0,8,0,31,0,5,0,30,0 15,0,13,0,12,0,27,0,36,0,9,0 43,0,38,0,14,0,16,0,24,0,3,0 25,0,31,0,1,0,34,0,17,0,19,0 ================================================ FILE: schedules/43_8.csv ================================================ 12,0,43,0,31,0,8,0,26,0,37,0 20,0,18,0,19,0,40,0,5,0,22,0 25,0,28,0,15,0,34,0,9,0,7,0 42,0,4,0,30,0,6,0,27,0,38,0 33,0,39,0,32,0,14,0,13,0,16,0 10,0,41,0,2,0,35,0,29,0,3,0 1,0,17,0,11,0,21,0,36,0,23,0 24,0,40,0,27,0,25,0,16,0,31,0 10,0,20,0,15,0,18,0,8,0,30,0 6,0,41,0,9,0,12,0,21,0,17,0 7,0,38,0,5,0,36,0,39,0,24,0 32,0,1,0,37,0,42,0,19,0,28,0 13,0,43,0,11,0,29,0,34,0,4,0 23,0,22,0,14,0,2,0,26,0,35,0 3,0,27,0,15,0,33,0,17,0,40,0 9,1,18,0,12,0,11,1,29,0,7,0 22,1,2,0,4,0,8,1,21,0,32,0 38,0,10,0,16,0,19,0,41,0,14,0 37,0,31,0,34,0,1,0,5,0,33,0 6,0,36,0,13,0,28,0,24,0,35,0 42,0,26,0,25,0,39,0,20,0,3,0 23,0,43,0,32,0,30,0,38,0,9,0 12,0,2,0,36,0,4,0,10,0,33,0 26,0,20,0,27,0,11,0,41,0,28,0 39,0,8,0,40,0,34,0,35,0,1,0 5,0,3,0,23,0,43,0,7,0,16,0 13,0,17,0,42,0,15,0,14,0,31,0 21,0,22,0,29,0,37,0,30,0,24,0 18,0,25,0,33,0,19,0,6,0,8,0 5,0,43,0,28,0,14,0,11,0,2,0 21,0,10,0,9,0,40,0,13,0,26,0 15,0,41,0,32,0,23,0,6,0,37,0 30,0,29,0,17,0,19,0,39,0,25,0 7,0,36,0,35,0,27,0,42,0,31,0 20,0,24,0,16,0,1,0,12,0,4,0 38,0,34,0,28,0,18,0,22,0,3,0 42,0,33,0,8,0,29,0,23,0,41,0 30,0,26,0,12,0,5,0,35,0,17,0 14,0,24,0,32,0,40,0,20,0,34,0 16,0,27,0,22,0,2,0,7,0,6,0 38,0,43,0,25,0,13,0,10,0,1,0 4,0,31,0,21,0,39,0,18,0,15,0 37,0,3,0,19,0,9,0,11,0,36,0 7,0,1,0,40,0,30,0,33,0,41,0 24,0,17,0,22,0,10,0,43,0,42,0 13,0,34,0,19,0,12,0,27,0,23,0 8,0,14,0,3,0,21,0,6,0,5,0 39,0,35,0,4,0,37,0,9,0,25,0 29,0,18,0,26,0,16,0,32,0,36,0 11,0,20,0,31,0,2,0,38,0,15,0 28,0,6,0,39,0,23,0,40,0,10,0 1,0,29,0,9,0,5,0,27,0,14,0 11,0,3,0,34,0,32,0,31,0,30,0 22,0,15,0,36,0,12,0,41,0,25,0 28,0,7,0,26,0,8,0,38,0,4,0 19,0,35,0,33,0,21,0,43,0,20,0 2,0,37,0,17,0,13,0,18,0,24,0 16,0,9,0,8,0,42,0,11,0,22,0 ================================================ FILE: schedules/43_9.csv ================================================ 21,0,16,0,40,0,14,0,12,0,11,0 25,0,10,0,3,0,35,0,30,0,18,0 36,0,29,0,1,0,17,0,34,0,2,0 9,0,5,0,7,0,27,0,32,0,28,0 41,0,6,0,39,0,24,0,31,0,38,0 19,0,23,0,13,0,8,0,33,0,4,0 20,0,15,0,22,0,42,0,26,0,43,0 37,0,16,0,25,0,36,0,32,0,39,0 30,0,14,0,10,0,28,0,41,0,5,0 43,0,18,0,24,0,26,0,21,0,19,0 3,0,35,0,34,0,42,0,8,0,12,0 17,0,29,0,37,0,13,0,4,0,20,0 27,0,15,0,33,0,9,0,2,0,38,0 40,0,6,0,11,0,7,0,22,0,23,0 31,0,28,0,29,0,1,0,43,0,35,0 33,1,17,0,19,0,42,1,3,0,27,0 36,1,20,0,9,0,21,0,11,0,24,0 16,0,8,0,41,0,15,0,6,0,37,0 26,0,39,0,30,0,40,0,2,0,4,0 10,0,23,0,32,0,14,0,31,0,34,0 1,0,13,0,22,0,5,0,18,0,12,0 25,0,2,0,8,0,7,0,38,0,20,0 30,0,11,0,28,0,19,0,31,0,36,0 26,0,18,0,3,0,16,0,23,0,9,0 32,0,35,0,13,0,22,0,24,0,40,0 21,0,34,0,43,0,4,0,41,0,7,0 29,0,33,0,12,0,14,0,6,0,25,0 1,0,42,0,15,0,10,0,27,0,39,0 37,0,38,0,8,0,5,0,17,0,35,0 30,0,7,0,24,0,22,0,26,0,16,0 36,0,2,0,13,0,10,0,43,0,6,0 12,0,31,0,9,0,4,0,19,0,38,0 23,0,11,0,17,0,32,0,29,0,41,0 14,0,40,0,3,0,1,0,37,0,27,0 28,0,18,0,34,0,39,0,33,0,20,0 5,0,21,0,42,0,15,0,25,0,31,0 22,0,9,0,27,0,8,0,10,0,29,0 20,0,19,0,16,0,40,0,1,0,41,0 39,0,5,0,2,0,23,0,21,0,35,0 34,0,6,0,12,0,15,0,18,0,32,0 28,0,36,0,7,0,13,0,38,0,3,0 4,0,14,0,17,0,26,0,24,0,25,0 37,0,11,0,43,0,33,0,30,0,42,0 27,0,31,0,8,0,36,0,16,0,18,0 25,0,40,0,13,0,41,0,9,0,15,0 19,0,32,0,14,0,2,0,20,0,42,0 26,0,23,0,37,0,28,0,10,0,12,0 1,0,38,0,17,0,22,0,30,0,21,0 29,0,24,0,35,0,34,0,7,0,33,0 11,0,39,0,4,0,3,0,5,0,6,0 43,0,38,0,25,0,23,0,1,0,14,0 33,0,41,0,35,0,26,0,27,0,36,0 29,0,21,0,39,0,8,0,13,0,30,0 32,0,5,0,20,0,15,0,43,0,3,0 19,0,22,0,6,0,9,0,37,0,34,0 18,0,10,0,31,0,17,0,40,0,7,0 28,0,42,0,24,0,16,0,2,0,12,0 4,0,26,0,1,0,11,0,32,0,8,0 20,0,21,0,27,0,6,0,30,0,23,0 2,0,33,0,3,0,31,0,22,0,41,0 4,0,15,0,36,0,14,0,35,0,28,0 38,0,16,0,42,0,34,0,13,0,29,0 7,0,12,0,43,0,9,0,17,0,39,0 37,0,10,0,24,0,18,0,25,0,11,0 5,0,33,0,36,0,19,0,40,0,42,0 ================================================ FILE: schedules/44_1.csv ================================================ 6,0,2,0,17,0,1,0,25,0,42,0 44,0,38,0,14,0,35,0,12,0,31,0 29,0,21,0,33,0,40,0,18,0,32,0 5,0,43,0,19,0,34,0,16,0,24,0 28,0,20,0,30,0,11,0,39,0,7,0 22,0,41,0,37,0,13,0,27,0,15,0 10,0,36,0,23,0,26,0,4,0,8,0 3,0,33,1,29,1,9,0,18,1,40,1 ================================================ FILE: schedules/44_10.csv ================================================ 27,0,31,0,29,0,41,0,8,0,9,0 5,0,28,0,37,0,23,0,35,0,1,0 21,0,7,0,12,0,36,0,13,0,17,0 34,0,39,0,3,0,4,0,19,0,25,0 22,0,2,0,11,0,20,0,32,0,26,0 15,0,14,0,44,0,33,0,30,0,40,0 18,0,16,0,24,0,6,0,43,0,38,0 10,0,11,0,19,0,42,0,28,0,21,0 5,0,13,0,8,0,41,0,22,0,14,0 24,0,26,0,6,0,2,0,34,0,15,0 33,0,25,0,3,0,7,0,29,0,40,0 35,0,42,0,18,0,44,0,12,0,9,0 37,0,38,0,23,0,39,0,30,0,43,0 16,0,10,0,20,0,32,0,31,0,1,0 27,0,17,0,11,0,36,0,4,0,14,0 23,1,41,0,25,0,13,1,22,0,3,0 2,1,21,0,6,0,19,1,44,0,20,0 26,0,35,0,30,0,29,0,18,0,10,0 39,0,16,0,28,0,34,0,36,0,27,0 17,0,5,0,31,0,42,0,40,0,43,0 9,0,4,0,32,0,24,0,7,0,1,0 15,0,8,0,38,0,33,0,37,0,12,0 6,0,36,0,29,0,14,0,23,0,10,0 22,0,18,0,28,0,7,0,17,0,39,0 20,0,9,0,11,0,37,0,19,0,3,0 32,0,33,0,44,0,43,0,13,0,31,0 15,0,21,0,27,0,42,0,1,0,8,0 38,0,41,0,12,0,26,0,34,0,25,0 40,0,35,0,5,0,16,0,4,0,2,0 24,0,43,0,3,0,30,0,21,0,14,0 11,0,6,0,13,0,8,0,31,0,39,0 12,0,20,0,18,0,27,0,40,0,23,0 1,0,25,0,22,0,24,0,35,0,33,0 4,0,41,0,42,0,30,0,32,0,36,0 26,0,9,0,38,0,2,0,44,0,17,0 16,0,7,0,34,0,15,0,37,0,10,0 28,0,19,0,31,0,29,0,5,0,12,0 11,0,24,0,40,0,38,0,35,0,13,0 20,0,21,0,36,0,33,0,9,0,15,0 16,0,37,0,42,0,14,0,28,0,26,0 44,0,1,0,43,0,34,0,29,0,22,0 10,0,17,0,6,0,3,0,5,0,41,0 19,0,27,0,2,0,25,0,7,0,30,0 32,0,23,0,8,0,39,0,18,0,4,0 3,0,29,0,28,0,16,0,21,0,38,0 41,0,31,0,10,0,19,0,24,0,12,0 40,0,4,0,37,0,22,0,6,0,44,0 8,0,26,0,43,0,35,0,7,0,20,0 9,0,14,0,27,0,23,0,13,0,34,0 33,0,39,0,1,0,17,0,30,0,42,0 15,0,36,0,25,0,18,0,5,0,11,0 32,0,3,0,14,0,2,0,12,0,28,0 9,0,23,0,39,0,40,0,10,0,21,0 31,0,38,0,30,0,7,0,36,0,22,0 25,0,35,0,17,0,15,0,20,0,6,0 18,0,2,0,43,0,41,0,11,0,1,0 13,0,33,0,4,0,19,0,16,0,26,0 29,0,37,0,44,0,5,0,24,0,27,0 34,0,8,0,35,0,32,0,42,0,2,0 23,0,21,0,22,0,25,0,31,0,14,0 44,0,7,0,41,0,16,0,11,0,12,0 43,0,4,0,15,0,28,0,9,0,10,0 30,0,24,0,34,0,5,0,39,0,20,0 32,0,27,0,6,0,38,0,19,0,33,0 26,0,36,0,1,0,8,0,40,0,3,0 42,0,29,0,13,0,37,0,17,0,18,0 39,0,14,0,19,0,35,0,41,0,15,0 22,0,30,0,12,0,6,0,16,0,9,0 7,0,37,0,26,0,5,0,32,0,21,0 2,0,40,0,13,0,10,0,27,0,43,0 18,0,34,0,33,0,11,0,23,0,3,0 17,0,8,0,28,0,25,0,44,0,24,0 20,0,42,0,31,0,4,0,29,0,38,0 36,0,23,0,2,0,1,0,13,0,19,0 ================================================ FILE: schedules/44_11.csv ================================================ 37,0,12,0,31,0,16,0,13,0,1,0 24,0,39,0,43,0,5,0,19,0,35,0 9,0,2,0,10,0,34,0,11,0,21,0 27,0,22,0,17,0,42,0,4,0,41,0 18,0,32,0,25,0,29,0,15,0,7,0 26,0,14,0,40,0,30,0,28,0,20,0 44,0,8,0,36,0,3,0,23,0,33,0 38,0,35,0,7,0,6,0,41,0,2,0 31,0,32,0,40,0,19,0,25,0,10,0 8,0,4,0,29,0,26,0,12,0,16,0 18,0,24,0,34,0,39,0,33,0,38,0 9,0,43,0,1,0,3,0,17,0,20,0 11,0,23,0,36,0,21,0,28,0,27,0 13,0,44,0,37,0,22,0,42,0,5,0 15,0,6,0,35,0,14,0,30,0,1,0 10,1,17,0,29,0,9,1,19,0,38,0 33,0,41,0,16,0,27,0,43,0,26,0 30,0,8,0,25,0,44,0,11,0,24,0 18,0,5,0,20,0,28,0,23,0,6,0 12,0,22,0,3,0,15,0,2,0,37,0 32,0,21,0,14,0,39,0,13,0,31,0 36,0,7,0,42,0,34,0,4,0,40,0 25,0,6,0,11,0,5,0,37,0,3,0 15,0,1,0,44,0,26,0,29,0,39,0 17,0,34,0,19,0,35,0,28,0,16,0 18,0,31,0,9,0,42,0,32,0,20,0 2,0,40,0,13,0,43,0,23,0,41,0 7,0,12,0,27,0,22,0,21,0,30,0 14,0,33,0,36,0,8,0,38,0,10,0 4,0,6,0,13,0,24,0,3,0,19,0 41,0,34,0,15,0,40,0,1,0,18,0 35,0,23,0,39,0,31,0,16,0,22,0 42,0,29,0,38,0,8,0,11,0,5,0 33,0,4,0,20,0,32,0,30,0,2,0 37,0,24,0,27,0,17,0,26,0,7,0 14,0,28,0,44,0,12,0,10,0,21,0 25,0,43,0,16,0,9,0,36,0,6,0 33,0,31,0,34,0,37,0,26,0,22,0 3,0,1,0,29,0,42,0,19,0,14,0 41,0,25,0,24,0,20,0,11,0,39,0 4,0,12,0,38,0,9,0,40,0,23,0 18,0,10,0,28,0,35,0,27,0,13,0 30,0,5,0,15,0,21,0,2,0,36,0 43,0,8,0,17,0,44,0,32,0,7,0 10,0,24,0,22,0,1,0,4,0,28,0 26,0,21,0,38,0,35,0,42,0,25,0 6,0,8,0,40,0,39,0,2,0,17,0 37,0,32,0,36,0,41,0,18,0,44,0 11,0,3,0,14,0,34,0,23,0,16,0 27,0,29,0,5,0,31,0,20,0,43,0 15,0,19,0,13,0,9,0,33,0,7,0 30,0,42,0,10,0,12,0,39,0,41,0 38,0,1,0,22,0,43,0,40,0,11,0 16,0,9,0,29,0,33,0,24,0,28,0 5,0,26,0,6,0,32,0,34,0,12,0 27,0,30,0,18,0,8,0,15,0,3,0 2,0,35,0,4,0,31,0,25,0,44,0 7,0,37,0,19,0,23,0,14,0,20,0 21,0,17,0,6,0,36,0,13,0,29,0 39,0,44,0,5,0,15,0,9,0,27,0 35,0,32,0,3,0,37,0,38,0,40,0 21,0,23,0,25,0,1,0,17,0,33,0 2,0,42,0,18,0,16,0,4,0,14,0 28,0,31,0,19,0,41,0,8,0,7,0 36,0,20,0,26,0,13,0,11,0,22,0 10,0,34,0,43,0,24,0,12,0,30,0 32,0,9,0,28,0,1,0,27,0,2,0 31,0,11,0,15,0,4,0,5,0,17,0 34,0,37,0,39,0,43,0,29,0,21,0 13,0,8,0,14,0,22,0,40,0,25,0 23,0,10,0,26,0,7,0,6,0,18,0 42,0,33,0,12,0,35,0,36,0,24,0 19,0,16,0,20,0,38,0,30,0,44,0 41,0,13,0,21,0,3,0,39,0,4,0 2,0,23,0,22,0,32,0,29,0,24,0 33,0,44,0,40,0,6,0,27,0,34,0 16,0,38,0,3,0,31,0,10,0,7,0 17,0,41,0,30,0,14,0,9,0,5,0 11,0,1,0,19,0,12,0,18,0,36,0 42,0,43,0,28,0,15,0,25,0,26,0 20,0,8,0,9,0,37,0,35,0,10,0 ================================================ FILE: schedules/44_12.csv ================================================ 32,0,18,0,25,0,36,0,16,0,5,0 27,0,44,0,14,0,9,0,31,0,30,0 2,0,10,0,12,0,39,0,29,0,13,0 35,0,42,0,7,0,4,0,19,0,21,0 23,0,24,0,8,0,15,0,28,0,22,0 38,0,3,0,37,0,33,0,41,0,11,0 26,0,20,0,34,0,6,0,43,0,40,0 17,0,7,0,39,0,1,0,29,0,8,0 13,0,19,0,12,0,37,0,24,0,27,0 43,0,42,0,3,0,40,0,2,0,5,0 23,0,28,0,31,0,4,0,38,0,16,0 11,0,32,0,26,0,15,0,33,0,10,0 14,0,35,0,6,0,17,0,22,0,25,0 20,0,44,0,36,0,18,0,34,0,41,0 9,0,1,0,16,0,30,0,21,0,42,0 38,0,33,0,7,0,2,0,35,0,24,0 23,0,13,0,27,0,41,0,25,0,44,0 31,0,4,0,11,0,40,0,20,0,29,0 34,0,5,0,30,0,17,0,21,0,10,0 6,0,37,0,8,0,43,0,15,0,18,0 1,0,14,0,39,0,19,0,3,0,28,0 26,0,12,0,22,0,9,0,36,0,32,0 35,0,17,0,16,0,13,0,43,0,37,0 18,0,11,0,44,0,14,0,42,0,25,0 4,0,30,0,29,0,39,0,23,0,12,0 2,0,21,0,15,0,8,0,19,0,20,0 26,0,7,0,5,0,34,0,38,0,27,0 40,0,41,0,36,0,28,0,9,0,10,0 22,0,24,0,33,0,3,0,1,0,6,0 31,0,18,0,20,0,32,0,23,0,2,0 9,0,29,0,27,0,42,0,19,0,16,0 28,0,43,0,39,0,13,0,11,0,34,0 40,0,33,0,21,0,38,0,14,0,36,0 26,0,3,0,30,0,24,0,25,0,15,0 10,0,4,0,6,0,1,0,5,0,22,0 37,0,44,0,35,0,32,0,8,0,17,0 41,0,31,0,21,0,12,0,7,0,25,0 36,0,27,0,19,0,11,0,29,0,43,0 39,0,3,0,5,0,9,0,37,0,20,0 41,0,17,0,30,0,24,0,18,0,4,0 28,0,1,0,35,0,26,0,44,0,2,0 23,0,38,0,40,0,32,0,13,0,7,0 22,0,34,0,14,0,12,0,16,0,15,0 8,0,10,0,42,0,6,0,33,0,31,0 9,0,21,0,7,0,37,0,28,0,18,0 2,0,19,0,17,0,23,0,36,0,26,0 13,0,31,0,5,0,14,0,30,0,33,0 34,0,12,0,6,0,35,0,3,0,11,0 22,0,32,0,29,0,43,0,8,0,41,0 1,0,42,0,15,0,25,0,40,0,39,0 38,0,44,0,24,0,16,0,10,0,20,0 27,0,18,0,35,0,4,0,3,0,9,0 23,0,34,0,33,0,30,0,1,0,43,0 8,0,14,0,31,0,26,0,38,0,10,0 29,0,19,0,37,0,40,0,44,0,22,0 27,0,28,0,21,0,24,0,6,0,32,0 11,0,16,0,25,0,20,0,2,0,7,0 42,0,12,0,41,0,15,0,17,0,5,0 4,0,39,0,44,0,13,0,36,0,21,0 43,0,22,0,31,0,18,0,38,0,1,0 15,0,23,0,35,0,41,0,27,0,10,0 16,0,3,0,8,0,17,0,36,0,12,0 4,0,32,0,33,0,19,0,34,0,7,0 42,0,20,0,39,0,26,0,24,0,14,0 13,0,9,0,40,0,11,0,6,0,5,0 30,0,25,0,37,0,2,0,28,0,29,0 32,0,43,0,21,0,10,0,3,0,14,0 41,0,16,0,7,0,26,0,39,0,6,0 28,0,36,0,42,0,13,0,20,0,30,0 24,0,5,0,29,0,31,0,34,0,35,0 23,0,25,0,4,0,33,0,8,0,9,0 40,0,18,0,17,0,2,0,27,0,22,0 38,0,15,0,11,0,1,0,12,0,44,0 37,0,34,0,10,0,19,0,25,0,31,0 17,0,24,0,3,0,16,0,14,0,40,0 1,0,13,0,4,0,41,0,26,0,15,0 37,0,2,0,36,0,6,0,42,0,23,0 8,0,22,0,18,0,27,0,39,0,11,0 5,0,43,0,9,0,7,0,44,0,28,0 38,0,32,0,20,0,30,0,19,0,35,0 29,0,33,0,26,0,21,0,12,0,18,0 2,0,43,0,14,0,4,0,37,0,41,0 10,0,44,0,13,0,7,0,3,0,22,0 34,0,29,0,15,0,38,0,9,0,42,0 39,0,16,0,30,0,8,0,35,0,40,0 20,0,17,0,28,0,27,0,33,0,12,0 24,0,11,0,19,0,23,0,5,0,21,0 36,0,6,0,25,0,1,0,32,0,31,0 ================================================ FILE: schedules/44_13.csv ================================================ 19,0,41,0,13,0,35,0,17,0,12,0 15,0,42,0,29,0,30,0,27,0,10,0 14,0,26,0,21,0,33,0,4,0,7,0 38,0,6,0,25,0,2,0,9,0,32,0 1,0,43,0,8,0,11,0,18,0,37,0 3,0,5,0,28,0,16,0,24,0,44,0 40,0,39,0,20,0,22,0,34,0,36,0 23,0,6,0,42,0,31,0,21,0,35,0 11,0,41,0,3,0,28,0,13,0,2,0 30,0,7,0,9,0,1,0,39,0,10,0 17,0,25,0,44,0,43,0,23,0,16,0 31,0,36,0,8,0,38,0,22,0,14,0 40,0,37,0,5,0,27,0,20,0,12,0 32,0,15,0,33,0,24,0,34,0,19,0 4,0,26,0,41,0,29,0,18,0,10,0 30,1,21,0,8,0,40,1,9,0,43,0 19,1,17,0,11,0,23,1,44,0,27,0 14,0,4,0,5,0,42,0,38,0,39,0 28,0,37,0,7,0,29,0,25,0,36,0 1,0,32,0,13,0,31,0,33,0,16,0 22,0,12,0,26,0,2,0,34,0,6,0 35,0,3,0,24,0,15,0,18,0,20,0 8,0,9,0,13,0,41,0,25,0,7,0 43,0,42,0,12,0,21,0,11,0,22,0 40,0,24,0,1,0,28,0,27,0,35,0 14,0,33,0,39,0,37,0,16,0,6,0 17,0,23,0,34,0,18,0,38,0,3,0 4,0,10,0,15,0,36,0,5,0,19,0 44,0,29,0,32,0,26,0,2,0,30,0 31,0,39,0,28,0,20,0,21,0,7,0 40,0,15,0,35,0,14,0,6,0,11,0 37,0,9,0,44,0,12,0,34,0,4,0 22,0,20,0,24,0,1,0,26,0,25,0 31,0,18,0,2,0,5,0,17,0,27,0 43,0,29,0,38,0,23,0,33,0,13,0 3,0,36,0,32,0,41,0,42,0,30,0 16,0,10,0,20,0,19,0,8,0,44,0 34,0,26,0,27,0,28,0,21,0,15,0 2,0,33,0,25,0,36,0,39,0,18,0 13,0,4,0,22,0,30,0,23,0,37,0 42,0,3,0,1,0,12,0,19,0,7,0 16,0,38,0,41,0,6,0,31,0,40,0 35,0,5,0,29,0,17,0,32,0,8,0 14,0,9,0,10,0,43,0,11,0,24,0 4,0,18,0,44,0,40,0,33,0,12,0 16,0,21,0,25,0,41,0,1,0,35,0 10,0,19,0,23,0,37,0,27,0,2,0 14,0,43,0,36,0,5,0,24,0,32,0 9,0,28,0,42,0,17,0,15,0,31,0 8,0,22,0,39,0,13,0,26,0,3,0 7,0,34,0,11,0,20,0,6,0,29,0 38,0,4,0,35,0,30,0,12,0,28,0 27,0,19,0,43,0,26,0,16,0,36,0 5,0,2,0,7,0,9,0,34,0,31,0 20,0,1,0,11,0,41,0,22,0,17,0 29,0,33,0,30,0,37,0,14,0,3,0 44,0,10,0,40,0,25,0,32,0,42,0 24,0,15,0,39,0,8,0,38,0,23,0 21,0,6,0,19,0,13,0,18,0,5,0 28,0,25,0,22,0,11,0,42,0,33,0 35,0,10,0,37,0,34,0,38,0,32,0 18,0,7,0,17,0,15,0,36,0,30,0 13,0,12,0,24,0,29,0,39,0,16,0 23,0,21,0,2,0,40,0,14,0,8,0 41,0,31,0,20,0,43,0,26,0,44,0 4,0,27,0,1,0,6,0,3,0,9,0 23,0,18,0,28,0,10,0,42,0,13,0 37,0,22,0,43,0,15,0,7,0,16,0 38,0,33,0,27,0,20,0,2,0,8,0 31,0,11,0,32,0,4,0,3,0,30,0 24,0,36,0,6,0,44,0,21,0,12,0 40,0,29,0,26,0,5,0,9,0,1,0 34,0,14,0,41,0,39,0,25,0,19,0 35,0,33,0,6,0,17,0,10,0,3,0 11,0,30,0,5,0,37,0,24,0,21,0 27,0,25,0,40,0,4,0,43,0,39,0 2,0,36,0,44,0,13,0,38,0,7,0 8,0,28,0,41,0,1,0,14,0,15,0 35,0,26,0,19,0,29,0,22,0,31,0 18,0,9,0,12,0,32,0,20,0,23,0 34,0,16,0,8,0,42,0,17,0,4,0 6,0,39,0,30,0,28,0,43,0,10,0 12,0,36,0,11,0,33,0,18,0,26,0 15,0,27,0,3,0,14,0,13,0,25,0 23,0,1,0,22,0,5,0,44,0,34,0 17,0,38,0,21,0,19,0,37,0,29,0 7,0,24,0,31,0,40,0,32,0,41,0 42,0,16,0,2,0,35,0,9,0,20,0 14,0,18,0,19,0,44,0,6,0,28,0 30,0,31,0,25,0,8,0,29,0,12,0 38,0,10,0,26,0,21,0,3,0,40,0 37,0,34,0,42,0,41,0,43,0,5,0 23,0,15,0,9,0,33,0,1,0,36,0 39,0,27,0,7,0,22,0,32,0,35,0 17,0,20,0,13,0,24,0,4,0,2,0 16,0,30,0,19,0,11,0,40,0,23,0 ================================================ FILE: schedules/44_14.csv ================================================ 2,0,5,0,17,0,33,0,27,0,9,0 11,0,44,0,38,0,29,0,8,0,24,0 36,0,3,0,32,0,39,0,23,0,19,0 26,0,21,0,15,0,4,0,37,0,34,0 42,0,18,0,40,0,6,0,41,0,7,0 20,0,43,0,25,0,35,0,16,0,30,0 10,0,31,0,1,0,28,0,14,0,12,0 22,0,37,0,41,0,13,0,39,0,40,0 42,0,34,0,2,0,38,0,25,0,19,0 12,0,16,0,7,0,3,0,23,0,14,0 27,0,43,0,26,0,20,0,13,0,32,0 10,0,44,0,29,0,15,0,35,0,8,0 33,0,21,0,5,0,17,0,18,0,22,0 9,0,28,0,6,0,4,0,30,0,31,0 24,0,11,0,7,0,1,0,36,0,34,0 14,1,43,0,15,0,32,1,5,0,40,0 29,0,2,0,9,0,6,0,13,0,3,0 4,0,22,0,25,0,20,0,18,0,36,0 39,0,33,0,42,0,16,0,28,0,8,0 27,0,21,0,24,0,26,0,10,0,12,0 38,0,35,0,1,0,11,0,23,0,31,0 44,0,41,0,17,0,37,0,19,0,30,0 10,0,7,0,40,0,2,0,22,0,16,0 4,0,28,0,20,0,24,0,15,0,3,0 8,0,41,0,19,0,34,0,32,0,6,0 9,0,38,0,39,0,21,0,18,0,44,0 37,0,33,0,13,0,43,0,5,0,31,0 26,0,36,0,14,0,27,0,17,0,1,0 25,0,35,0,23,0,11,0,42,0,12,0 30,0,33,0,18,0,29,0,21,0,3,0 43,0,34,0,38,0,22,0,1,0,7,0 8,0,37,0,2,0,17,0,35,0,4,0 30,0,9,0,44,0,27,0,15,0,42,0 11,0,16,0,29,0,41,0,12,0,5,0 14,0,39,0,31,0,20,0,19,0,24,0 36,0,13,0,23,0,10,0,28,0,32,0 40,0,6,0,8,0,26,0,25,0,16,0 18,0,41,0,31,0,2,0,3,0,43,0 30,0,7,0,27,0,19,0,22,0,13,0 28,0,29,0,34,0,21,0,25,0,12,0 35,0,44,0,36,0,40,0,33,0,1,0 20,0,17,0,26,0,5,0,38,0,42,0 6,0,39,0,24,0,15,0,9,0,23,0 10,0,11,0,37,0,4,0,14,0,32,0 43,0,1,0,29,0,42,0,16,0,19,0 8,0,20,0,3,0,27,0,36,0,2,0 21,0,13,0,7,0,6,0,35,0,5,0 38,0,40,0,23,0,14,0,41,0,33,0 30,0,34,0,10,0,18,0,39,0,28,0 12,0,9,0,4,0,37,0,32,0,44,0 15,0,11,0,22,0,26,0,24,0,31,0 25,0,14,0,6,0,17,0,43,0,33,0 19,0,36,0,12,0,16,0,20,0,9,0 30,0,2,0,39,0,4,0,7,0,5,0 10,0,22,0,3,0,26,0,44,0,34,0 1,0,23,0,24,0,41,0,25,0,13,0 40,0,37,0,15,0,38,0,29,0,18,0 11,0,27,0,32,0,21,0,17,0,28,0 42,0,35,0,14,0,8,0,31,0,34,0 15,0,18,0,19,0,23,0,10,0,5,0 30,0,3,0,41,0,43,0,21,0,36,0 7,0,33,0,8,0,9,0,26,0,11,0 28,0,31,0,22,0,40,0,44,0,25,0 35,0,32,0,2,0,17,0,42,0,24,0 16,0,13,0,27,0,38,0,37,0,12,0 20,0,29,0,6,0,4,0,1,0,39,0 3,0,28,0,19,0,40,0,17,0,9,0 13,0,35,0,12,0,18,0,8,0,26,0 44,0,5,0,14,0,30,0,11,0,25,0 43,0,4,0,23,0,22,0,27,0,39,0 1,0,41,0,20,0,34,0,33,0,15,0 6,0,42,0,37,0,24,0,10,0,36,0 31,0,16,0,38,0,32,0,7,0,29,0 21,0,39,0,35,0,2,0,19,0,14,0 25,0,34,0,24,0,18,0,9,0,13,0 32,0,12,0,33,0,4,0,42,0,41,0 31,0,20,0,7,0,8,0,10,0,21,0 3,0,1,0,11,0,27,0,29,0,37,0 17,0,6,0,16,0,44,0,22,0,23,0 40,0,2,0,26,0,38,0,36,0,15,0 28,0,5,0,24,0,30,0,43,0,8,0 32,0,25,0,18,0,44,0,27,0,6,0 4,0,33,0,36,0,15,0,13,0,29,0 39,0,16,0,41,0,28,0,35,0,26,0 23,0,7,0,34,0,17,0,31,0,37,0 3,0,9,0,5,0,14,0,38,0,10,0 21,0,40,0,19,0,1,0,12,0,30,0 22,0,42,0,43,0,11,0,2,0,20,0 13,0,5,0,26,0,7,0,3,0,44,0 30,0,17,0,36,0,12,0,15,0,31,0 23,0,8,0,27,0,21,0,34,0,11,0 25,0,42,0,10,0,20,0,37,0,39,0 18,0,4,0,2,0,16,0,14,0,1,0 22,0,9,0,32,0,29,0,41,0,35,0 28,0,33,0,38,0,19,0,6,0,43,0 24,0,13,0,44,0,40,0,20,0,14,0 1,0,5,0,18,0,22,0,8,0,36,0 15,0,32,0,16,0,21,0,9,0,42,0 4,0,3,0,27,0,31,0,40,0,35,0 25,0,28,0,37,0,2,0,7,0,38,0 39,0,34,0,12,0,33,0,6,0,11,0 19,0,17,0,10,0,41,0,24,0,43,0 29,0,30,0,14,0,26,0,23,0,32,0 ================================================ FILE: schedules/44_2.csv ================================================ 18,0,10,0,28,0,14,0,38,0,36,0 27,0,17,0,6,0,29,0,35,0,12,0 44,0,37,0,2,0,22,0,33,0,24,0 4,0,15,0,34,0,40,0,7,0,13,0 8,0,16,0,25,0,42,0,20,0,39,0 23,0,32,0,3,0,26,0,19,0,30,0 11,0,31,0,9,0,21,0,43,0,1,0 41,0,10,0,13,0,5,0,39,0,6,0 40,0,12,0,20,0,32,0,37,0,28,0 35,0,30,0,14,0,31,0,22,0,42,0 11,0,17,0,25,0,3,0,34,0,41,0 24,0,38,0,43,0,15,0,26,0,16,0 29,0,9,0,19,0,5,0,33,0,8,0 1,0,2,0,27,0,23,0,7,0,18,0 36,0,21,0,25,1,4,0,44,0,30,1 ================================================ FILE: schedules/44_3.csv ================================================ 7,0,29,0,44,0,30,0,35,0,39,0 14,0,23,0,16,0,2,0,24,0,3,0 43,0,25,0,42,0,13,0,33,0,4,0 32,0,1,0,18,0,17,0,27,0,9,0 41,0,37,0,22,0,8,0,21,0,10,0 6,0,20,0,31,0,28,0,40,0,11,0 19,0,12,0,38,0,26,0,36,0,34,0 15,0,10,0,1,0,5,0,35,0,43,0 40,0,42,0,30,0,18,0,2,0,21,0 19,0,27,0,41,0,16,0,28,0,44,0 29,0,9,0,13,0,15,0,38,0,8,0 4,0,6,0,26,0,39,0,23,0,22,0 17,0,37,0,33,0,31,0,14,0,12,0 24,0,5,0,36,0,20,0,7,0,32,0 3,0,34,0,9,0,11,0,25,0,22,0 12,0,8,0,35,0,42,0,16,0,6,0 18,0,28,0,43,0,37,0,23,0,36,0 11,0,44,0,26,0,2,0,5,0,17,0 21,0,38,0,14,0,7,0,25,0,1,0 39,0,13,0,10,0,31,0,19,0,32,0 20,0,30,0,3,0,27,0,15,0,4,0 41,0,24,0,34,0,29,0,40,0,33,0 ================================================ FILE: schedules/44_4.csv ================================================ 17,0,26,0,39,0,13,0,10,0,42,0 32,0,27,0,24,0,8,0,7,0,31,0 14,0,18,0,4,0,19,0,2,0,35,0 22,0,5,0,28,0,36,0,15,0,9,0 6,0,1,0,44,0,11,0,23,0,33,0 41,0,40,0,21,0,3,0,43,0,30,0 38,0,34,0,29,0,37,0,12,0,25,0 16,0,32,0,44,0,20,0,42,0,9,0 7,0,10,0,36,0,14,0,43,0,23,0 19,0,17,0,40,0,5,0,29,0,27,0 34,0,1,0,3,0,39,0,20,0,18,0 33,0,24,0,12,0,41,0,35,0,15,0 8,0,6,0,38,0,30,0,16,0,22,0 13,0,28,0,37,0,21,0,31,0,4,0 2,0,11,0,43,0,25,0,26,0,24,0 5,1,3,0,17,0,1,1,14,0,16,0 12,1,20,0,21,0,10,1,19,0,6,0 37,0,7,0,42,0,11,0,41,0,22,0 39,0,2,0,31,0,36,0,44,0,29,0 9,0,30,0,35,0,25,0,13,0,27,0 15,0,4,0,26,0,23,0,34,0,8,0 28,0,38,0,33,0,18,0,32,0,40,0 36,0,42,0,30,0,24,0,19,0,1,0 23,0,5,0,25,0,20,0,31,0,41,0 16,0,35,0,7,0,26,0,29,0,28,0 11,0,3,0,15,0,10,0,27,0,38,0 13,0,18,0,44,0,12,0,8,0,43,0 2,0,34,0,22,0,17,0,33,0,21,0 9,0,40,0,14,0,6,0,37,0,39,0 32,0,5,0,12,0,4,0,1,0,10,0 ================================================ FILE: schedules/44_5.csv ================================================ 9,0,15,0,10,0,6,0,2,0,38,0 12,0,44,0,18,0,29,0,22,0,23,0 30,0,34,0,33,0,20,0,24,0,36,0 27,0,35,0,8,0,11,0,7,0,13,0 26,0,39,0,21,0,41,0,43,0,32,0 14,0,37,0,25,0,5,0,28,0,17,0 40,0,31,0,4,0,1,0,19,0,42,0 3,0,20,0,44,0,16,0,41,0,8,0 26,0,12,0,36,0,11,0,28,0,2,0 7,0,37,0,23,0,42,0,32,0,38,0 4,0,6,0,18,0,33,0,5,0,13,0 35,0,22,0,9,0,31,0,21,0,24,0 17,0,16,0,1,0,19,0,34,0,15,0 14,0,43,0,10,0,30,0,27,0,3,0 25,0,39,0,7,0,40,0,29,0,9,0 1,1,33,0,41,0,35,1,32,0,28,0 34,0,21,0,23,0,11,0,4,0,14,0 5,0,30,0,40,0,22,0,8,0,2,0 6,0,36,0,17,0,39,0,44,0,27,0 31,0,38,0,43,0,12,0,16,0,25,0 24,0,3,0,15,0,18,0,26,0,37,0 13,0,19,0,20,0,29,0,10,0,42,0 22,0,43,0,33,0,17,0,14,0,7,0 38,0,35,0,44,0,26,0,40,0,34,0 10,0,8,0,12,0,1,0,32,0,24,0 29,0,16,0,11,0,6,0,37,0,30,0 2,0,42,0,25,0,18,0,27,0,21,0 28,0,39,0,13,0,31,0,20,0,15,0 36,0,19,0,5,0,23,0,3,0,9,0 41,0,24,0,27,0,4,0,29,0,38,0 22,0,1,0,6,0,26,0,20,0,25,0 12,0,5,0,42,0,15,0,33,0,35,0 21,0,19,0,28,0,7,0,30,0,44,0 16,0,40,0,32,0,13,0,14,0,36,0 34,0,4,0,37,0,9,0,43,0,8,0 31,0,17,0,11,0,41,0,18,0,10,0 2,0,3,0,1,0,39,0,23,0,35,0 ================================================ FILE: schedules/44_6.csv ================================================ 29,0,36,0,3,0,5,0,35,0,22,0 42,0,15,0,12,0,11,0,34,0,10,0 23,0,1,0,39,0,4,0,27,0,30,0 21,0,7,0,44,0,20,0,14,0,41,0 8,0,25,0,17,0,9,0,40,0,2,0 38,0,37,0,6,0,13,0,32,0,28,0 33,0,18,0,16,0,26,0,31,0,43,0 19,0,29,0,12,0,24,0,1,0,41,0 8,0,32,0,27,0,34,0,20,0,35,0 16,0,37,0,22,0,23,0,40,0,44,0 19,0,36,0,4,0,17,0,6,0,33,0 26,0,7,0,39,0,13,0,15,0,5,0 11,0,43,0,14,0,25,0,28,0,3,0 24,0,38,0,10,0,21,0,31,0,2,0 30,0,9,0,32,0,42,0,18,0,29,0 34,0,40,0,1,0,36,0,20,0,13,0 38,0,21,0,3,0,12,0,16,0,17,0 42,0,26,0,28,0,22,0,25,0,27,0 35,0,44,0,9,0,19,0,10,0,39,0 2,0,14,0,4,0,15,0,18,0,37,0 7,0,24,0,8,0,6,0,30,0,43,0 41,0,11,0,5,0,31,0,33,0,23,0 12,0,22,0,21,0,18,0,13,0,9,0 36,0,14,0,32,0,24,0,26,0,19,0 34,0,23,0,25,0,29,0,7,0,38,0 40,0,28,0,31,0,15,0,30,0,35,0 41,0,37,0,17,0,27,0,43,0,10,0 1,0,4,0,5,0,8,0,44,0,42,0 6,0,20,0,16,0,11,0,39,0,2,0 3,0,7,0,40,0,33,0,32,0,10,0 31,0,34,0,17,0,1,0,14,0,22,0 18,0,8,0,36,0,41,0,39,0,28,0 44,0,15,0,27,0,21,0,29,0,6,0 26,0,35,0,4,0,38,0,9,0,11,0 42,0,24,0,20,0,3,0,37,0,33,0 16,0,30,0,13,0,25,0,19,0,5,0 2,0,43,0,32,0,23,0,12,0,36,0 33,0,38,0,22,0,39,0,15,0,8,0 13,0,17,0,44,0,11,0,18,0,24,0 6,0,5,0,27,0,14,0,40,0,12,0 10,0,31,0,20,0,29,0,4,0,25,0 26,0,2,0,30,0,3,0,41,0,34,0 37,0,1,0,28,0,7,0,16,0,9,0 35,0,42,0,19,0,23,0,43,0,21,0 ================================================ FILE: schedules/44_7.csv ================================================ 10,0,27,0,38,0,26,0,19,0,9,0 43,0,29,0,13,0,42,0,2,0,41,0 28,0,7,0,22,0,31,0,8,0,1,0 24,0,44,0,36,0,5,0,20,0,6,0 16,0,11,0,40,0,15,0,4,0,18,0 17,0,3,0,37,0,21,0,23,0,25,0 39,0,30,0,35,0,32,0,12,0,34,0 33,0,18,0,36,0,14,0,10,0,41,0 26,0,15,0,5,0,42,0,31,0,3,0 8,0,37,0,7,0,27,0,43,0,35,0 24,0,20,0,4,0,29,0,28,0,25,0 11,0,12,0,21,0,32,0,6,0,2,0 19,0,23,0,44,0,16,0,39,0,22,0 40,0,9,0,1,0,14,0,17,0,34,0 13,0,30,0,5,0,38,0,33,0,28,0 19,1,7,0,20,0,41,1,18,0,23,0 11,1,2,0,14,0,34,1,24,0,31,0 44,0,29,0,9,0,15,0,30,0,21,0 17,0,4,0,10,0,6,0,22,0,37,0 27,0,1,0,32,0,16,0,3,0,13,0 39,0,42,0,33,0,36,0,8,0,40,0 35,0,25,0,12,0,38,0,43,0,26,0 17,0,32,0,16,0,5,0,29,0,7,0 9,0,39,0,37,0,18,0,28,0,11,0 22,0,19,0,3,0,13,0,36,0,12,0 27,0,33,0,14,0,25,0,4,0,44,0 23,0,15,0,1,0,2,0,38,0,35,0 26,0,31,0,6,0,20,0,30,0,40,0 43,0,8,0,34,0,21,0,10,0,24,0 41,0,7,0,4,0,42,0,12,0,9,0 38,0,20,0,39,0,16,0,14,0,37,0 13,0,24,0,32,0,44,0,26,0,18,0 36,0,15,0,27,0,43,0,17,0,28,0 6,0,42,0,25,0,19,0,34,0,1,0 41,0,21,0,5,0,22,0,35,0,40,0 29,0,33,0,10,0,11,0,23,0,31,0 30,0,3,0,18,0,8,0,2,0,17,0 28,0,42,0,19,0,21,0,35,0,14,0 9,0,32,0,43,0,20,0,22,0,33,0 30,0,2,0,31,0,25,0,36,0,16,0 13,0,7,0,15,0,10,0,6,0,39,0 26,0,8,0,23,0,11,0,5,0,4,0 1,0,12,0,41,0,37,0,27,0,24,0 34,0,40,0,44,0,38,0,29,0,3,0 14,0,6,0,18,0,23,0,43,0,5,0 21,0,4,0,31,0,13,0,39,0,1,0 22,0,27,0,11,0,42,0,30,0,38,0 25,0,41,0,19,0,8,0,32,0,15,0 37,0,34,0,29,0,36,0,7,0,26,0 2,0,40,0,12,0,44,0,28,0,10,0 16,0,35,0,24,0,3,0,33,0,9,0 17,0,19,0,11,0,20,0,41,0,34,0 ================================================ FILE: schedules/44_8.csv ================================================ 33,0,31,0,11,0,10,0,18,0,13,0 27,0,43,0,35,0,9,0,26,0,23,0 2,0,34,0,28,0,7,0,5,0,30,0 44,0,29,0,38,0,17,0,20,0,12,0 36,0,14,0,8,0,19,0,25,0,42,0 3,0,22,0,40,0,32,0,21,0,37,0 41,0,1,0,4,0,6,0,39,0,16,0 15,0,33,0,23,0,24,0,29,0,8,0 43,0,28,0,7,0,19,0,22,0,38,0 32,0,36,0,30,0,44,0,16,0,35,0 6,0,12,0,42,0,13,0,25,0,37,0 5,0,39,0,27,0,24,0,41,0,17,0 18,0,31,0,21,0,15,0,2,0,14,0 10,0,3,0,9,0,34,0,26,0,1,0 20,0,40,0,5,0,11,0,4,0,6,0 18,1,33,0,17,0,23,1,2,0,12,0 34,0,44,0,41,0,22,0,25,0,31,0 42,0,43,0,24,0,35,0,3,0,21,0 29,0,28,0,13,0,40,0,10,0,16,0 38,0,8,0,4,0,27,0,37,0,1,0 26,0,7,0,32,0,39,0,20,0,14,0 36,0,11,0,19,0,30,0,15,0,9,0 17,0,37,0,5,0,43,0,25,0,1,0 33,0,35,0,20,0,28,0,27,0,40,0 8,0,7,0,34,0,6,0,18,0,36,0 19,0,10,0,44,0,23,0,39,0,21,0 15,0,22,0,4,0,2,0,42,0,26,0 13,0,41,0,38,0,30,0,3,0,14,0 12,0,32,0,29,0,9,0,11,0,24,0 16,0,18,0,27,0,31,0,19,0,39,0 4,0,10,0,7,0,25,0,3,0,15,0 38,0,30,0,21,0,33,0,41,0,8,0 2,0,17,0,13,0,32,0,35,0,34,0 31,0,23,0,20,0,12,0,43,0,22,0 26,0,37,0,36,0,5,0,29,0,11,0 14,0,42,0,44,0,9,0,28,0,6,0 16,0,1,0,22,0,40,0,24,0,15,0 18,0,12,0,8,0,10,0,5,0,35,0 23,0,17,0,3,0,36,0,28,0,31,0 11,0,37,0,40,0,41,0,14,0,27,0 34,0,21,0,9,0,20,0,16,0,4,0 1,0,7,0,42,0,44,0,33,0,32,0 19,0,6,0,2,0,24,0,26,0,38,0 29,0,25,0,39,0,30,0,43,0,13,0 1,0,11,0,21,0,7,0,23,0,35,0 17,0,26,0,31,0,8,0,40,0,42,0 24,0,5,0,19,0,13,0,4,0,44,0 27,0,6,0,3,0,22,0,29,0,30,0 14,0,12,0,37,0,34,0,15,0,39,0 20,0,43,0,2,0,10,0,41,0,36,0 9,0,25,0,32,0,18,0,28,0,38,0 16,0,14,0,23,0,33,0,5,0,4,0 35,0,41,0,31,0,19,0,7,0,29,0 10,0,6,0,15,0,17,0,27,0,32,0 21,0,28,0,26,0,12,0,36,0,1,0 24,0,18,0,30,0,20,0,37,0,42,0 39,0,13,0,33,0,8,0,22,0,9,0 44,0,25,0,2,0,3,0,16,0,11,0 34,0,40,0,18,0,43,0,38,0,23,0 ================================================ FILE: schedules/44_9.csv ================================================ 14,0,29,0,43,0,9,0,42,0,44,0 33,0,8,0,20,0,36,0,15,0,10,0 3,0,35,0,39,0,7,0,27,0,28,0 11,0,1,0,17,0,23,0,22,0,24,0 13,0,41,0,2,0,12,0,19,0,5,0 31,0,32,0,21,0,30,0,37,0,25,0 38,0,16,0,34,0,4,0,6,0,26,0 40,0,24,0,41,0,18,0,14,0,15,0 43,0,39,0,22,0,2,0,32,0,10,0 17,0,5,0,7,0,8,0,37,0,31,0 36,0,34,0,6,0,12,0,18,0,23,0 26,0,30,0,19,0,42,0,1,0,27,0 21,0,40,0,29,0,16,0,35,0,11,0 9,0,13,0,33,0,3,0,20,0,38,0 4,0,28,0,12,0,25,0,44,0,24,0 30,0,29,0,41,0,17,0,34,0,40,0 13,0,6,0,22,0,5,0,21,0,26,0 16,0,7,0,4,0,32,0,33,0,14,0 44,0,10,0,39,0,38,0,1,0,35,0 11,0,31,0,25,0,36,0,9,0,27,0 19,0,3,0,37,0,15,0,43,0,8,0 28,0,18,0,20,0,23,0,42,0,2,0 14,0,7,0,36,0,21,0,10,0,34,0 12,0,11,0,39,0,31,0,6,0,19,0 30,0,23,0,43,0,24,0,13,0,38,0 3,0,8,0,40,0,22,0,42,0,41,0 18,0,9,0,17,0,32,0,27,0,4,0 25,0,20,0,5,0,29,0,16,0,1,0 44,0,26,0,35,0,2,0,33,0,37,0 15,0,21,0,27,0,28,0,43,0,34,0 38,0,14,0,23,0,32,0,8,0,5,0 19,0,17,0,4,0,40,0,35,0,20,0 42,0,13,0,15,0,7,0,31,0,1,0 22,0,36,0,37,0,39,0,24,0,16,0 10,0,11,0,3,0,12,0,29,0,26,0 2,0,25,0,18,0,44,0,33,0,30,0 6,0,9,0,1,0,28,0,41,0,37,0 24,0,35,0,21,0,42,0,20,0,10,0 29,0,38,0,19,0,18,0,7,0,22,0 9,0,8,0,28,0,30,0,16,0,12,0 23,0,26,0,17,0,25,0,39,0,14,0 44,0,40,0,27,0,13,0,5,0,36,0 31,0,4,0,34,0,3,0,2,0,43,0 41,0,32,0,15,0,11,0,6,0,33,0 37,0,12,0,35,0,14,0,22,0,30,0 8,0,38,0,27,0,1,0,44,0,21,0 31,0,24,0,20,0,32,0,26,0,40,0 43,0,7,0,42,0,23,0,6,0,25,0 33,0,5,0,10,0,9,0,34,0,19,0 2,0,16,0,36,0,3,0,17,0,15,0 11,0,29,0,18,0,13,0,28,0,39,0 41,0,23,0,27,0,4,0,10,0,37,0 26,0,2,0,24,0,40,0,9,0,7,0 6,0,3,0,14,0,39,0,20,0,19,0 16,0,42,0,31,0,41,0,44,0,38,0 12,0,33,0,1,0,21,0,17,0,43,0 8,0,25,0,35,0,18,0,13,0,34,0 4,0,5,0,22,0,11,0,28,0,15,0 32,0,30,0,1,0,36,0,29,0,3,0 21,0,18,0,19,0,9,0,16,0,23,0 44,0,7,0,34,0,20,0,22,0,11,0 14,0,28,0,10,0,17,0,31,0,13,0 36,0,43,0,26,0,35,0,41,0,5,0 37,0,32,0,38,0,12,0,40,0,25,0 6,0,27,0,2,0,24,0,8,0,29,0 39,0,42,0,30,0,4,0,15,0,33,0 ================================================ FILE: schedules/45_1.csv ================================================ 39,0,30,0,11,0,16,0,33,0,6,0 20,0,12,0,1,0,25,0,19,0,13,0 40,0,29,0,3,0,45,0,10,0,34,0 36,0,4,0,22,0,21,0,26,0,42,0 37,0,8,0,14,0,41,0,31,0,15,0 28,0,7,0,23,0,18,0,43,0,32,0 17,0,9,0,38,0,27,0,35,0,24,0 44,0,5,0,6,1,2,0,4,1,11,1 ================================================ FILE: schedules/45_10.csv ================================================ 14,0,2,0,1,0,18,0,6,0,28,0 30,0,22,0,36,0,38,0,8,0,35,0 7,0,24,0,27,0,21,0,15,0,32,0 9,0,41,0,17,0,19,0,44,0,5,0 40,0,42,0,10,0,37,0,45,0,3,0 25,0,33,0,39,0,16,0,31,0,29,0 43,0,34,0,12,0,11,0,13,0,26,0 4,0,20,0,24,0,23,0,19,0,6,0 44,0,35,0,41,0,10,0,37,0,8,0 11,0,21,0,2,0,25,0,5,0,14,0 20,0,38,0,18,0,40,0,39,0,26,0 13,0,42,0,27,0,1,0,17,0,36,0 7,0,30,0,45,0,28,0,31,0,4,0 32,0,34,0,23,0,15,0,12,0,33,0 3,0,9,0,29,0,16,0,22,0,43,0 27,0,5,0,37,0,20,0,31,0,36,0 2,0,19,0,26,0,32,0,30,0,11,0 14,0,12,0,44,0,38,0,42,0,4,0 40,0,28,0,15,0,8,0,13,0,29,0 22,0,3,0,33,0,21,0,7,0,6,0 35,0,16,0,10,0,1,0,18,0,24,0 43,0,17,0,45,0,41,0,25,0,23,0 9,0,34,0,37,0,39,0,29,0,21,0 5,0,15,0,35,0,26,0,6,0,42,0 12,0,1,0,4,0,36,0,25,0,24,0 32,0,3,0,31,0,18,0,41,0,13,0 28,0,11,0,38,0,43,0,33,0,44,0 7,0,19,0,8,0,34,0,45,0,16,0 39,0,23,0,20,0,10,0,22,0,14,0 17,0,27,0,40,0,9,0,30,0,2,0 25,0,15,0,29,0,31,0,44,0,1,0 32,0,43,0,41,0,34,0,36,0,14,0 45,0,9,0,22,0,12,0,17,0,35,0 16,0,30,0,28,0,42,0,21,0,5,0 4,0,2,0,33,0,20,0,13,0,3,0 6,0,8,0,39,0,38,0,19,0,27,0 10,0,24,0,23,0,7,0,40,0,11,0 26,0,18,0,17,0,37,0,28,0,33,0 8,0,34,0,20,0,31,0,42,0,9,0 40,0,35,0,25,0,14,0,19,0,32,0 36,0,7,0,12,0,18,0,39,0,30,0 26,0,24,0,15,0,41,0,2,0,22,0 3,0,27,0,16,0,23,0,38,0,44,0 4,0,37,0,21,0,1,0,43,0,11,0 5,0,6,0,29,0,13,0,10,0,45,0 36,0,9,0,23,0,42,0,24,0,2,0 35,0,1,0,30,0,3,0,34,0,28,0 22,0,18,0,40,0,4,0,44,0,27,0 41,0,31,0,6,0,12,0,16,0,21,0 19,0,43,0,37,0,7,0,33,0,5,0 39,0,11,0,14,0,45,0,15,0,8,0 38,0,32,0,29,0,20,0,10,0,17,0 25,0,13,0,6,0,26,0,37,0,30,0 31,0,34,0,22,0,2,0,40,0,44,0 32,0,1,0,28,0,4,0,41,0,39,0 23,0,21,0,13,0,19,0,35,0,36,0 18,0,33,0,45,0,9,0,43,0,15,0 11,0,12,0,42,0,29,0,27,0,10,0 25,0,3,0,38,0,8,0,24,0,5,0 20,0,14,0,26,0,17,0,16,0,7,0 10,0,18,0,31,0,19,0,22,0,42,0 5,0,28,0,23,0,37,0,32,0,12,0 16,0,2,0,8,0,4,0,43,0,40,0 13,0,1,0,38,0,9,0,7,0,25,0 45,0,44,0,20,0,36,0,21,0,26,0 14,0,24,0,33,0,34,0,30,0,27,0 6,0,11,0,15,0,3,0,39,0,17,0 29,0,35,0,2,0,41,0,7,0,38,0 26,0,25,0,10,0,27,0,28,0,9,0 13,0,16,0,37,0,24,0,11,0,22,0 1,0,15,0,41,0,30,0,20,0,40,0 21,0,18,0,8,0,23,0,29,0,45,0 36,0,44,0,42,0,33,0,32,0,6,0 12,0,31,0,19,0,43,0,14,0,3,0 17,0,5,0,4,0,39,0,34,0,35,0 ================================================ FILE: schedules/45_11.csv ================================================ 45,0,43,0,8,0,21,0,23,0,20,0 25,0,3,0,39,0,31,0,14,0,12,0 5,0,37,0,1,0,18,0,17,0,7,0 38,0,33,0,11,0,30,0,6,0,34,0 2,0,44,0,36,0,13,0,35,0,16,0 22,0,32,0,24,0,4,0,9,0,41,0 26,0,27,0,42,0,15,0,28,0,29,0 19,0,40,0,39,0,10,0,37,0,44,0 22,0,2,0,21,0,23,0,6,0,31,0 13,0,29,0,20,0,7,0,5,0,25,0 12,0,16,0,24,0,15,0,14,0,26,0 17,0,36,0,30,0,41,0,32,0,3,0 38,0,45,0,19,0,9,0,33,0,27,0 34,0,8,0,28,0,18,0,35,0,4,0 40,0,1,0,10,0,11,0,42,0,43,0 12,1,15,0,25,0,27,1,7,0,19,0 18,1,3,0,36,0,21,0,26,0,37,0 43,0,40,0,28,0,31,0,9,0,16,0 34,0,33,0,4,0,23,0,39,0,44,0 42,0,17,0,1,0,8,0,24,0,2,0 38,0,6,0,41,0,45,0,20,0,11,0 35,0,29,0,14,0,10,0,13,0,32,0 30,0,22,0,15,0,5,0,24,0,18,0 6,0,12,0,36,0,27,0,1,0,43,0 23,0,42,0,4,0,25,0,16,0,41,0 9,0,44,0,26,0,35,0,21,0,30,0 3,0,31,0,28,0,8,0,7,0,38,0 11,0,13,0,5,0,19,0,33,0,32,0 45,0,14,0,34,0,40,0,17,0,29,0 39,0,22,0,10,0,2,0,20,0,37,0 43,0,6,0,18,0,19,0,4,0,3,0 34,0,26,0,12,0,9,0,25,0,45,0 37,0,7,0,31,0,42,0,32,0,30,0 39,0,24,0,35,0,38,0,29,0,23,0 15,0,27,0,5,0,41,0,44,0,8,0 10,0,33,0,21,0,16,0,40,0,2,0 1,0,28,0,11,0,20,0,36,0,14,0 13,0,42,0,19,0,22,0,17,0,34,0 29,0,43,0,16,0,8,0,30,0,39,0 7,0,24,0,36,0,12,0,44,0,45,0 27,0,17,0,14,0,20,0,31,0,33,0 9,0,23,0,13,0,1,0,3,0,6,0 40,0,25,0,21,0,5,0,28,0,32,0 11,0,35,0,15,0,22,0,4,0,37,0 10,0,2,0,41,0,26,0,18,0,38,0 30,0,23,0,28,0,12,0,17,0,8,0 35,0,20,0,19,0,24,0,40,0,3,0 43,0,32,0,14,0,22,0,5,0,38,0 42,0,9,0,2,0,36,0,27,0,25,0 41,0,18,0,37,0,44,0,33,0,6,0 15,0,16,0,21,0,1,0,34,0,29,0 11,0,31,0,39,0,13,0,45,0,26,0 7,0,10,0,20,0,4,0,12,0,27,0 2,0,32,0,34,0,15,0,43,0,3,0 18,0,23,0,8,0,11,0,14,0,9,0 33,0,13,0,37,0,10,0,24,0,28,0 45,0,31,0,1,0,35,0,44,0,5,0 4,0,38,0,17,0,21,0,42,0,36,0 26,0,39,0,16,0,22,0,6,0,7,0 30,0,41,0,40,0,19,0,25,0,29,0 5,0,9,0,12,0,13,0,4,0,2,0 32,0,38,0,20,0,23,0,26,0,1,0 25,0,6,0,17,0,10,0,43,0,35,0 15,0,41,0,19,0,21,0,39,0,28,0 3,0,8,0,29,0,36,0,33,0,22,0 14,0,30,0,16,0,37,0,45,0,42,0 27,0,24,0,31,0,18,0,40,0,34,0 44,0,7,0,29,0,11,0,2,0,23,0 3,0,33,0,45,0,42,0,15,0,10,0 1,0,4,0,20,0,19,0,31,0,30,0 44,0,38,0,40,0,13,0,22,0,12,0 5,0,39,0,6,0,36,0,28,0,26,0 17,0,32,0,35,0,18,0,16,0,27,0 24,0,37,0,25,0,21,0,8,0,11,0 41,0,7,0,14,0,34,0,43,0,9,0 32,0,44,0,18,0,42,0,20,0,39,0 16,0,37,0,11,0,27,0,3,0,38,0 4,0,7,0,26,0,14,0,40,0,8,0 34,0,23,0,10,0,36,0,19,0,5,0 12,0,33,0,35,0,41,0,43,0,24,0 22,0,45,0,28,0,25,0,1,0,2,0 29,0,9,0,6,0,17,0,31,0,15,0 13,0,21,0,27,0,30,0,12,0,18,0 ================================================ FILE: schedules/45_12.csv ================================================ 17,0,25,0,45,0,36,0,20,0,22,0 4,0,5,0,33,0,21,0,38,0,9,0 1,0,41,0,19,0,40,0,44,0,29,0 8,0,27,0,11,0,2,0,13,0,12,0 24,0,35,0,14,0,23,0,7,0,15,0 32,0,42,0,43,0,18,0,30,0,34,0 3,0,31,0,6,0,26,0,16,0,37,0 28,0,10,0,22,0,39,0,27,0,9,0 34,0,7,0,20,0,13,0,15,0,1,0 19,0,17,0,42,0,35,0,23,0,5,0 16,0,45,0,28,0,2,0,33,0,18,0 39,0,11,0,4,0,12,0,37,0,3,0 44,0,26,0,36,0,21,0,43,0,29,0 40,0,38,0,25,0,6,0,30,0,24,0 8,0,41,0,10,0,14,0,31,0,32,0 5,0,17,0,22,0,11,0,34,0,44,0 29,0,28,0,27,0,20,0,37,0,42,0 25,0,12,0,31,0,40,0,23,0,18,0 10,0,1,0,6,0,3,0,30,0,8,0 32,0,2,0,38,0,19,0,36,0,39,0 14,0,26,0,21,0,13,0,45,0,35,0 33,0,7,0,16,0,4,0,43,0,41,0 15,0,24,0,8,0,9,0,3,0,29,0 28,0,2,0,37,0,25,0,23,0,10,0 13,0,30,0,43,0,38,0,45,0,14,0 41,0,5,0,36,0,11,0,22,0,6,0 18,0,12,0,24,0,44,0,20,0,33,0 7,0,1,0,27,0,39,0,21,0,17,0 31,0,9,0,16,0,35,0,40,0,34,0 15,0,26,0,42,0,4,0,32,0,19,0 13,0,6,0,18,0,29,0,41,0,39,0 7,0,3,0,35,0,28,0,44,0,12,0 27,0,14,0,43,0,34,0,9,0,2,0 37,0,40,0,21,0,42,0,8,0,22,0 19,0,24,0,23,0,16,0,11,0,36,0 32,0,25,0,1,0,5,0,10,0,45,0 38,0,30,0,33,0,31,0,20,0,15,0 4,0,26,0,18,0,17,0,27,0,36,0 19,0,9,0,28,0,1,0,22,0,43,0 35,0,39,0,31,0,33,0,25,0,11,0 10,0,13,0,17,0,40,0,16,0,24,0 8,0,26,0,38,0,7,0,42,0,41,0 32,0,45,0,34,0,21,0,12,0,6,0 2,0,44,0,23,0,4,0,29,0,30,0 14,0,20,0,3,0,37,0,15,0,5,0 40,0,11,0,13,0,32,0,33,0,26,0 6,0,39,0,16,0,9,0,45,0,8,0 12,0,34,0,43,0,24,0,10,0,38,0 5,0,20,0,30,0,36,0,7,0,28,0 21,0,19,0,3,0,2,0,14,0,17,0 22,0,37,0,4,0,35,0,18,0,1,0 41,0,15,0,44,0,31,0,23,0,27,0 42,0,29,0,33,0,25,0,14,0,7,0 6,0,20,0,35,0,43,0,2,0,11,0 21,0,5,0,27,0,16,0,23,0,38,0 39,0,30,0,12,0,41,0,26,0,17,0 18,0,44,0,45,0,10,0,15,0,3,0 9,0,37,0,1,0,36,0,42,0,13,0 29,0,22,0,32,0,24,0,4,0,31,0 25,0,34,0,19,0,28,0,8,0,40,0 9,0,30,0,10,0,7,0,21,0,11,0 31,0,2,0,26,0,5,0,24,0,1,0 27,0,34,0,41,0,33,0,19,0,35,0 36,0,6,0,40,0,15,0,14,0,28,0 23,0,4,0,20,0,32,0,39,0,8,0 37,0,45,0,29,0,17,0,43,0,38,0 16,0,13,0,3,0,25,0,44,0,42,0 22,0,18,0,19,0,12,0,5,0,7,0 39,0,43,0,20,0,14,0,40,0,4,0 6,0,45,0,42,0,31,0,10,0,44,0 29,0,16,0,8,0,32,0,35,0,30,0 33,0,28,0,34,0,37,0,17,0,24,0 11,0,3,0,1,0,41,0,18,0,38,0 15,0,21,0,2,0,25,0,22,0,27,0 36,0,12,0,23,0,9,0,13,0,26,0 29,0,5,0,38,0,11,0,28,0,35,0 42,0,21,0,24,0,39,0,18,0,15,0 2,0,4,0,36,0,31,0,34,0,13,0 1,0,8,0,23,0,43,0,6,0,33,0 30,0,14,0,37,0,22,0,16,0,12,0 7,0,32,0,40,0,45,0,27,0,3,0 20,0,25,0,41,0,10,0,26,0,19,0 9,0,44,0,14,0,17,0,18,0,8,0 43,0,31,0,40,0,28,0,32,0,5,0 15,0,12,0,11,0,42,0,16,0,1,0 41,0,9,0,24,0,45,0,21,0,20,0 39,0,37,0,13,0,19,0,44,0,30,0 34,0,22,0,38,0,26,0,3,0,23,0 29,0,36,0,35,0,33,0,10,0,27,0 17,0,7,0,4,0,2,0,25,0,6,0 ================================================ FILE: schedules/45_13.csv ================================================ 28,0,10,0,29,0,35,0,24,0,3,0 23,0,34,0,39,0,1,0,43,0,17,0 31,0,4,0,21,0,11,0,26,0,40,0 9,0,44,0,6,0,20,0,2,0,18,0 14,0,37,0,38,0,8,0,33,0,5,0 36,0,13,0,19,0,45,0,7,0,15,0 32,0,30,0,25,0,12,0,22,0,42,0 27,0,16,0,3,0,41,0,5,0,40,0 9,0,1,0,7,0,38,0,31,0,20,0 17,0,19,0,2,0,43,0,32,0,4,0 27,0,37,0,23,0,30,0,33,0,36,0 25,0,42,0,14,0,10,0,35,0,45,0 16,0,26,0,44,0,13,0,11,0,6,0 15,0,24,0,41,0,34,0,22,0,18,0 28,0,8,0,12,0,21,0,39,0,29,0 33,1,43,0,25,0,7,1,16,0,11,0 15,1,40,0,1,0,42,0,41,0,32,0 5,0,6,0,36,0,10,0,8,0,22,0 31,0,17,0,29,0,27,0,44,0,30,0 2,0,35,0,39,0,18,0,24,0,38,0 19,0,4,0,20,0,34,0,28,0,13,0 23,0,14,0,21,0,26,0,9,0,3,0 12,0,45,0,40,0,37,0,24,0,6,0 31,0,10,0,32,0,19,0,8,0,18,0 11,0,21,0,33,0,13,0,42,0,30,0 41,0,17,0,45,0,38,0,39,0,9,0 25,0,36,0,34,0,5,0,44,0,2,0 28,0,35,0,22,0,16,0,23,0,12,0 20,0,1,0,26,0,43,0,3,0,29,0 4,0,15,0,37,0,27,0,14,0,7,0 32,0,6,0,18,0,22,0,13,0,21,0 35,0,12,0,26,0,44,0,41,0,23,0 5,0,42,0,7,0,28,0,36,0,17,0 9,0,20,0,40,0,27,0,45,0,8,0 11,0,3,0,15,0,37,0,31,0,34,0 33,0,16,0,24,0,39,0,19,0,14,0 29,0,30,0,1,0,25,0,38,0,4,0 2,0,43,0,26,0,10,0,12,0,37,0 22,0,19,0,6,0,9,0,17,0,27,0 24,0,21,0,20,0,16,0,41,0,36,0 3,0,40,0,34,0,35,0,14,0,44,0 7,0,13,0,4,0,31,0,42,0,39,0 38,0,43,0,8,0,25,0,15,0,28,0 32,0,2,0,29,0,11,0,5,0,23,0 18,0,30,0,10,0,45,0,33,0,1,0 8,0,44,0,24,0,42,0,43,0,27,0 38,0,36,0,3,0,6,0,4,0,16,0 25,0,37,0,39,0,19,0,21,0,9,0 29,0,33,0,20,0,26,0,18,0,7,0 17,0,15,0,10,0,28,0,2,0,40,0 30,0,5,0,12,0,41,0,13,0,1,0 22,0,23,0,31,0,14,0,34,0,45,0 32,0,11,0,17,0,35,0,37,0,20,0 36,0,9,0,42,0,3,0,1,0,12,0 8,0,23,0,13,0,27,0,25,0,40,0 32,0,33,0,44,0,4,0,24,0,28,0 21,0,43,0,16,0,7,0,10,0,38,0 34,0,26,0,19,0,45,0,22,0,30,0 11,0,2,0,14,0,39,0,41,0,18,0 6,0,31,0,35,0,5,0,29,0,15,0 38,0,23,0,40,0,20,0,44,0,10,0 3,0,28,0,33,0,36,0,2,0,45,0 35,0,41,0,21,0,19,0,31,0,1,0 7,0,30,0,37,0,32,0,9,0,24,0 25,0,18,0,16,0,17,0,4,0,39,0 34,0,42,0,11,0,27,0,6,0,12,0 5,0,13,0,43,0,14,0,22,0,29,0 15,0,8,0,32,0,26,0,41,0,25,0 1,0,23,0,10,0,19,0,11,0,28,0 45,0,4,0,29,0,7,0,21,0,36,0 20,0,39,0,22,0,37,0,42,0,3,0 9,0,18,0,33,0,40,0,43,0,6,0 35,0,13,0,16,0,30,0,8,0,2,0 12,0,44,0,17,0,14,0,15,0,31,0 34,0,24,0,27,0,26,0,5,0,38,0 6,0,20,0,41,0,25,0,7,0,35,0 14,0,36,0,43,0,30,0,31,0,11,0 27,0,13,0,39,0,10,0,2,0,21,0 18,0,44,0,28,0,5,0,37,0,19,0 12,0,38,0,33,0,23,0,26,0,17,0 4,0,40,0,8,0,24,0,22,0,1,0 16,0,15,0,42,0,34,0,9,0,29,0 45,0,3,0,5,0,32,0,38,0,19,0 7,0,6,0,2,0,1,0,14,0,8,0 37,0,9,0,22,0,29,0,44,0,11,0 42,0,45,0,21,0,43,0,20,0,15,0 27,0,31,0,18,0,32,0,28,0,16,0 24,0,13,0,17,0,25,0,3,0,23,0 34,0,12,0,41,0,10,0,4,0,33,0 26,0,39,0,36,0,35,0,40,0,30,0 16,0,38,0,1,0,37,0,44,0,13,0 25,0,2,0,22,0,7,0,31,0,33,0 28,0,39,0,30,0,6,0,15,0,26,0 45,0,11,0,24,0,17,0,8,0,21,0 19,0,41,0,10,0,29,0,42,0,40,0 35,0,4,0,5,0,23,0,43,0,9,0 12,0,18,0,14,0,27,0,20,0,36,0 3,0,32,0,7,0,34,0,33,0,15,0 ================================================ FILE: schedules/45_14.csv ================================================ 29,0,26,0,28,0,5,0,33,0,38,0 19,0,23,0,21,0,10,0,32,0,17,0 31,0,22,0,11,0,27,0,7,0,34,0 3,0,36,0,37,0,13,0,1,0,24,0 41,0,2,0,12,0,25,0,9,0,16,0 6,0,42,0,4,0,30,0,45,0,44,0 39,0,14,0,40,0,43,0,18,0,8,0 20,0,15,0,7,0,35,0,5,0,37,0 26,0,3,0,6,0,25,0,22,0,36,0 11,0,44,0,9,0,2,0,32,0,19,0 33,0,20,0,12,0,41,0,17,0,45,0 1,0,31,0,18,0,13,0,30,0,35,0 8,0,38,0,15,0,40,0,42,0,10,0 43,0,14,0,34,0,16,0,4,0,28,0 27,0,23,0,29,0,39,0,24,0,21,0 45,0,32,0,25,0,37,0,18,0,7,0 31,0,34,0,2,0,14,0,19,0,20,0 21,0,10,0,8,0,6,0,22,0,44,0 13,0,36,0,4,0,42,0,3,0,23,0 24,0,30,0,17,0,16,0,11,0,15,0 40,0,28,0,35,0,9,0,12,0,38,0 27,0,1,0,33,0,5,0,41,0,43,0 26,0,39,0,45,0,29,0,15,0,14,0 8,0,24,0,4,0,17,0,21,0,31,0 6,0,28,0,7,0,35,0,3,0,19,0 42,0,43,0,16,0,32,0,44,0,23,0 37,0,27,0,41,0,38,0,18,0,34,0 36,0,5,0,11,0,9,0,29,0,40,0 30,0,33,0,2,0,25,0,39,0,10,0 22,0,13,0,20,0,1,0,26,0,12,0 41,0,35,0,23,0,14,0,17,0,8,0 27,0,3,0,16,0,37,0,6,0,39,0 38,0,31,0,42,0,30,0,21,0,25,0 11,0,1,0,20,0,26,0,44,0,4,0 32,0,34,0,22,0,29,0,13,0,12,0 45,0,28,0,18,0,15,0,5,0,10,0 19,0,7,0,36,0,2,0,43,0,40,0 9,0,30,0,26,0,24,0,33,0,14,0 22,0,42,0,21,0,41,0,31,0,28,0 2,0,5,0,16,0,10,0,4,0,29,0 40,0,25,0,11,0,43,0,24,0,20,0 3,0,8,0,1,0,19,0,27,0,15,0 32,0,13,0,9,0,33,0,34,0,6,0 18,0,35,0,17,0,36,0,45,0,38,0 44,0,12,0,37,0,7,0,23,0,39,0 6,0,32,0,15,0,5,0,14,0,27,0 34,0,4,0,25,0,35,0,38,0,10,0 17,0,39,0,43,0,19,0,13,0,26,0 16,0,7,0,24,0,18,0,20,0,29,0 31,0,44,0,3,0,41,0,36,0,9,0 11,0,21,0,33,0,1,0,42,0,37,0 22,0,2,0,23,0,12,0,40,0,45,0 30,0,8,0,36,0,28,0,20,0,32,0 5,0,25,0,3,0,17,0,44,0,34,0 1,0,39,0,4,0,33,0,18,0,40,0 9,0,28,0,19,0,42,0,8,0,12,0 7,0,38,0,41,0,11,0,6,0,24,0 2,0,10,0,37,0,14,0,22,0,26,0 43,0,29,0,45,0,27,0,31,0,30,0 21,0,35,0,15,0,13,0,23,0,16,0 5,0,42,0,19,0,3,0,12,0,22,0 32,0,40,0,4,0,41,0,26,0,33,0 11,0,10,0,13,0,31,0,36,0,16,0 23,0,30,0,15,0,7,0,44,0,29,0 1,0,38,0,43,0,20,0,9,0,39,0 6,0,27,0,18,0,28,0,2,0,17,0 34,0,37,0,24,0,35,0,45,0,8,0 14,0,21,0,36,0,25,0,15,0,44,0 5,0,17,0,23,0,39,0,28,0,11,0 19,0,22,0,37,0,30,0,18,0,4,0 42,0,24,0,32,0,2,0,1,0,14,0 25,0,7,0,33,0,45,0,9,0,34,0 26,0,31,0,8,0,38,0,6,0,16,0 12,0,43,0,35,0,3,0,29,0,21,0 13,0,40,0,27,0,20,0,10,0,41,0 9,0,6,0,1,0,34,0,23,0,26,0 22,0,39,0,18,0,42,0,35,0,11,0 7,0,4,0,14,0,12,0,27,0,36,0 40,0,21,0,20,0,32,0,30,0,3,0 13,0,44,0,38,0,24,0,31,0,5,0 25,0,41,0,29,0,37,0,28,0,43,0 10,0,45,0,33,0,8,0,16,0,19,0 17,0,15,0,13,0,2,0,4,0,9,0 5,0,20,0,26,0,44,0,21,0,18,0 45,0,14,0,3,0,38,0,29,0,11,0 2,0,25,0,8,0,1,0,17,0,7,0 40,0,16,0,37,0,27,0,28,0,42,0 31,0,35,0,32,0,22,0,15,0,33,0 39,0,12,0,34,0,36,0,24,0,10,0 19,0,41,0,30,0,43,0,23,0,6,0 4,0,45,0,11,0,1,0,25,0,28,0 17,0,9,0,3,0,21,0,32,0,37,0 15,0,26,0,18,0,12,0,23,0,31,0 36,0,34,0,35,0,30,0,40,0,5,0 42,0,29,0,33,0,6,0,8,0,20,0 19,0,24,0,44,0,27,0,38,0,22,0 10,0,16,0,14,0,7,0,43,0,13,0 39,0,2,0,15,0,41,0,21,0,34,0 5,0,6,0,12,0,37,0,30,0,11,0 17,0,29,0,16,0,22,0,40,0,1,0 23,0,14,0,38,0,4,0,33,0,19,0 10,0,43,0,9,0,20,0,3,0,2,0 32,0,39,0,41,0,31,0,7,0,45,0 35,0,24,0,27,0,42,0,36,0,26,0 28,0,8,0,44,0,25,0,18,0,13,0 ================================================ FILE: schedules/45_2.csv ================================================ 34,0,16,0,35,0,22,0,32,0,7,0 11,0,31,0,30,0,2,0,37,0,1,0 29,0,17,0,12,0,6,0,8,0,28,0 41,0,33,0,26,0,38,0,27,0,42,0 45,0,10,0,5,0,19,0,14,0,39,0 43,0,20,0,23,0,3,0,44,0,15,0 36,0,25,0,18,0,13,0,21,0,9,0 24,0,4,0,14,0,40,0,11,0,6,0 38,0,16,0,28,0,30,0,10,0,20,0 21,0,32,0,19,0,12,0,42,0,23,0 13,0,8,0,44,0,39,0,33,0,40,0 9,0,29,0,27,0,34,0,37,0,15,0 2,0,17,0,36,0,45,0,35,0,41,0 22,0,31,0,5,0,4,0,25,0,3,0 1,0,43,0,24,0,7,0,18,0,26,0 ================================================ FILE: schedules/45_3.csv ================================================ 22,0,40,0,27,0,29,0,13,0,26,0 25,0,14,0,28,0,44,0,45,0,6,0 32,0,37,0,1,0,19,0,35,0,23,0 8,0,21,0,12,0,9,0,7,0,36,0 18,0,15,0,33,0,30,0,10,0,43,0 17,0,41,0,34,0,3,0,20,0,39,0 24,0,16,0,31,0,38,0,5,0,4,0 11,0,8,0,1,0,42,0,2,0,15,0 14,1,33,0,34,0,13,1,7,0,32,0 23,1,44,0,40,0,10,0,12,0,16,0 22,0,42,0,6,0,4,0,17,0,9,0 25,0,38,0,3,0,29,0,11,0,30,0 26,0,45,0,5,0,41,0,36,0,35,0 37,0,20,0,2,0,28,0,43,0,24,0 39,0,19,0,18,0,21,0,27,0,31,0 10,0,13,0,9,0,25,0,1,0,41,0 42,0,43,0,7,0,45,0,3,0,16,0 39,0,14,0,4,0,15,0,37,0,40,0 23,0,36,0,29,0,34,0,28,0,18,0 2,0,26,0,6,0,38,0,19,0,12,0 31,0,35,0,20,0,8,0,33,0,22,0 27,0,17,0,30,0,32,0,44,0,5,0 24,0,11,0,13,0,21,0,14,0,23,0 ================================================ FILE: schedules/45_4.csv ================================================ 32,0,29,0,41,0,11,0,30,0,14,0 12,0,35,0,2,0,22,0,20,0,42,0 1,0,44,0,27,0,37,0,10,0,33,0 4,0,15,0,23,0,19,0,38,0,31,0 45,0,17,0,6,0,36,0,25,0,13,0 16,0,28,0,34,0,21,0,18,0,9,0 5,0,26,0,7,0,40,0,43,0,39,0 8,0,24,0,14,0,3,0,6,0,20,0 32,0,9,0,15,0,22,0,45,0,33,0 40,0,36,0,18,0,19,0,2,0,29,0 38,0,39,0,10,0,42,0,24,0,28,0 43,0,4,0,27,0,41,0,13,0,8,0 21,0,30,0,31,0,26,0,12,0,1,0 37,0,25,0,23,0,7,0,11,0,16,0 17,0,44,0,3,0,35,0,5,0,34,0 39,0,20,0,30,0,18,0,27,0,45,0 10,0,12,0,6,0,7,0,9,0,4,0 35,0,28,0,19,0,25,0,1,0,14,0 16,0,17,0,29,0,26,0,15,0,8,0 13,0,2,0,21,0,37,0,3,0,32,0 33,0,11,0,42,0,31,0,34,0,40,0 22,0,41,0,36,0,23,0,24,0,5,0 38,0,44,0,20,0,43,0,16,0,32,0 2,0,1,0,11,0,39,0,9,0,17,0 18,0,7,0,15,0,24,0,13,0,35,0 40,0,3,0,12,0,28,0,23,0,27,0 38,0,33,0,5,0,30,0,8,0,25,0 31,0,43,0,37,0,22,0,6,0,29,0 21,0,42,0,14,0,44,0,4,0,36,0 34,0,19,0,45,0,10,0,26,0,41,0 ================================================ FILE: schedules/45_5.csv ================================================ 11,0,45,0,7,0,36,0,31,0,26,0 15,0,30,0,10,0,32,0,8,0,4,0 12,0,23,0,2,0,22,0,29,0,14,0 1,0,35,0,40,0,44,0,17,0,28,0 19,0,27,0,24,0,6,0,25,0,20,0 42,0,43,0,41,0,37,0,33,0,13,0 38,0,16,0,18,0,5,0,9,0,21,0 3,0,34,0,25,0,39,0,12,0,40,0 28,0,13,0,29,0,30,0,27,0,7,0 17,0,6,0,33,0,26,0,38,0,4,0 2,0,39,0,19,0,16,0,10,0,44,0 5,0,11,0,20,0,32,0,43,0,23,0 15,0,14,0,21,0,31,0,1,0,37,0 24,0,3,0,45,0,18,0,42,0,22,0 9,0,8,0,36,0,41,0,34,0,35,0 5,1,32,0,27,0,26,1,1,0,12,0 2,1,16,0,3,0,4,0,11,0,28,0 22,0,25,0,15,0,44,0,41,0,7,0 14,0,13,0,38,0,24,0,39,0,36,0 29,0,33,0,35,0,18,0,19,0,31,0 37,0,23,0,9,0,40,0,30,0,6,0 45,0,10,0,17,0,43,0,21,0,34,0 42,0,2,0,7,0,8,0,20,0,38,0 44,0,3,0,33,0,36,0,5,0,30,0 6,0,18,0,12,0,13,0,10,0,1,0 19,0,28,0,34,0,23,0,26,0,15,0 22,0,37,0,27,0,35,0,11,0,39,0 8,0,43,0,40,0,29,0,24,0,21,0 4,0,9,0,41,0,14,0,20,0,45,0 42,0,31,0,32,0,25,0,17,0,16,0 30,0,22,0,1,0,43,0,38,0,19,0 20,0,29,0,26,0,3,0,37,0,10,0 2,0,17,0,11,0,15,0,9,0,24,0 31,0,39,0,5,0,28,0,41,0,6,0 44,0,36,0,4,0,21,0,42,0,12,0 34,0,32,0,40,0,18,0,14,0,7,0 8,0,23,0,16,0,27,0,45,0,33,0 35,0,13,0,26,0,25,0,5,0,2,0 ================================================ FILE: schedules/45_6.csv ================================================ 27,0,23,0,29,0,11,0,8,0,24,0 25,0,1,0,2,0,44,0,39,0,15,0 36,0,42,0,35,0,37,0,45,0,5,0 38,0,18,0,21,0,4,0,32,0,7,0 33,0,3,0,14,0,34,0,12,0,6,0 26,0,10,0,31,0,20,0,30,0,19,0 43,0,9,0,41,0,16,0,13,0,40,0 22,0,17,0,23,0,28,0,37,0,7,0 44,0,5,0,32,0,10,0,3,0,39,0 35,0,11,0,34,0,38,0,41,0,2,0 1,0,8,0,9,0,21,0,6,0,26,0 45,0,13,0,12,0,29,0,4,0,30,0 15,0,27,0,22,0,33,0,16,0,20,0 24,0,19,0,28,0,25,0,36,0,43,0 40,0,17,0,42,0,31,0,18,0,14,0 10,0,38,0,29,0,9,0,15,0,6,0 22,0,12,0,39,0,11,0,26,0,36,0 35,0,43,0,31,0,27,0,18,0,3,0 1,0,41,0,30,0,42,0,32,0,28,0 21,0,37,0,24,0,2,0,33,0,40,0 14,0,19,0,4,0,8,0,44,0,16,0 34,0,7,0,17,0,13,0,5,0,25,0 20,0,3,0,40,0,45,0,23,0,1,0 39,0,24,0,6,0,4,0,42,0,31,0 15,0,35,0,33,0,32,0,19,0,13,0 16,0,37,0,26,0,34,0,44,0,29,0 11,0,14,0,20,0,5,0,21,0,28,0 43,0,22,0,8,0,17,0,38,0,45,0 30,0,36,0,7,0,2,0,9,0,27,0 10,0,41,0,18,0,23,0,12,0,25,0 42,0,21,0,19,0,29,0,22,0,3,0 15,0,37,0,43,0,30,0,8,0,39,0 33,0,44,0,7,0,31,0,41,0,45,0 16,0,5,0,6,0,2,0,18,0,28,0 23,0,26,0,13,0,36,0,14,0,38,0 9,0,32,0,20,0,12,0,17,0,24,0 1,0,11,0,27,0,10,0,4,0,34,0 40,0,25,0,30,0,35,0,22,0,6,0 36,0,3,0,21,0,15,0,41,0,17,0 34,0,39,0,45,0,19,0,9,0,18,0 38,0,28,0,40,0,12,0,44,0,27,0 33,0,26,0,4,0,43,0,23,0,5,0 29,0,24,0,7,0,1,0,14,0,35,0 16,0,32,0,25,0,31,0,37,0,11,0 2,0,13,0,8,0,20,0,42,0,10,0 ================================================ FILE: schedules/45_7.csv ================================================ 28,0,7,0,32,0,38,0,4,0,14,0 45,0,34,0,17,0,2,0,8,0,33,0 21,0,12,0,42,0,22,0,35,0,31,0 19,0,40,0,6,0,26,0,41,0,10,0 18,0,29,0,13,0,11,0,20,0,5,0 15,0,30,0,37,0,16,0,1,0,44,0 9,0,27,0,25,0,23,0,24,0,36,0 3,0,43,0,7,0,39,0,42,0,35,0 17,0,2,0,20,0,31,0,37,0,11,0 10,0,34,0,25,0,38,0,45,0,5,0 22,0,29,0,1,0,28,0,40,0,23,0 19,0,14,0,16,0,21,0,13,0,39,0 9,0,3,0,33,0,41,0,32,0,15,0 44,0,26,0,4,0,12,0,27,0,36,0 8,0,24,0,30,0,43,0,18,0,6,0 41,1,14,0,2,0,25,1,1,0,42,0 12,0,39,0,37,0,13,1,9,0,45,0 24,0,38,0,22,0,16,0,26,0,17,0 6,0,30,0,31,0,29,0,33,0,7,0 43,0,15,0,23,0,20,0,4,0,10,0 21,0,8,0,5,0,44,0,27,0,32,0 36,0,28,0,11,0,34,0,19,0,3,0 35,0,40,0,12,0,18,0,2,0,15,0 4,0,43,0,22,0,5,0,37,0,14,0 32,0,21,0,26,0,25,0,29,0,30,0 41,0,19,0,42,0,17,0,27,0,18,0 7,0,6,0,45,0,1,0,3,0,20,0 8,0,16,0,28,0,10,0,11,0,9,0 39,0,44,0,31,0,40,0,24,0,34,0 36,0,35,0,38,0,23,0,13,0,33,0 21,0,4,0,9,0,17,0,3,0,6,0 10,0,27,0,22,0,2,0,39,0,30,0 42,0,37,0,13,0,28,0,26,0,24,0 32,0,45,0,43,0,23,0,31,0,16,0 40,0,11,0,44,0,33,0,14,0,25,0 19,0,36,0,8,0,29,0,35,0,15,0 1,0,5,0,41,0,12,0,38,0,20,0 18,0,34,0,32,0,7,0,10,0,37,0 3,0,40,0,29,0,27,0,13,0,16,0 35,0,11,0,30,0,41,0,4,0,45,0 5,0,19,0,23,0,2,0,24,0,7,0 36,0,18,0,39,0,38,0,21,0,1,0 26,0,31,0,20,0,14,0,9,0,8,0 15,0,34,0,44,0,6,0,22,0,42,0 33,0,17,0,28,0,25,0,12,0,43,0 26,0,37,0,23,0,11,0,41,0,21,0 42,0,20,0,45,0,40,0,32,0,36,0 4,0,16,0,33,0,25,0,19,0,18,0 5,0,17,0,39,0,35,0,28,0,6,0 1,0,15,0,27,0,34,0,31,0,13,0 3,0,14,0,24,0,12,0,30,0,10,0 2,0,38,0,9,0,44,0,43,0,29,0 7,0,41,0,13,0,8,0,22,0,25,0 ================================================ FILE: schedules/45_8.csv ================================================ 20,0,18,0,6,0,7,0,22,0,16,0 17,0,41,0,26,0,31,0,2,0,43,0 29,0,44,0,1,0,40,0,37,0,5,0 11,0,9,0,39,0,33,0,25,0,10,0 21,0,19,0,38,0,28,0,13,0,4,0 15,0,32,0,35,0,14,0,34,0,42,0 27,0,36,0,24,0,3,0,12,0,8,0 45,0,40,0,16,0,23,0,30,0,19,0 43,0,4,0,44,0,42,0,18,0,25,0 7,0,38,0,1,0,29,0,17,0,34,0 5,0,13,0,33,0,3,0,15,0,41,0 26,0,12,0,22,0,39,0,8,0,14,0 21,0,6,0,10,0,45,0,27,0,31,0 37,0,36,0,11,0,20,0,23,0,35,0 28,0,2,0,30,0,9,0,32,0,24,0 3,0,18,0,14,0,29,0,19,0,6,0 22,0,41,0,10,0,38,0,17,0,42,0 24,0,39,0,16,0,31,0,32,0,37,0 21,0,27,0,43,0,33,0,11,0,1,0 34,0,35,0,12,0,9,0,44,0,13,0 40,0,20,0,25,0,28,0,8,0,45,0 30,0,36,0,4,0,7,0,26,0,15,0 2,0,5,0,39,0,23,0,38,0,6,0 14,0,20,0,45,0,13,0,43,0,41,0 7,0,24,0,3,0,11,0,22,0,35,0 27,0,40,0,9,0,15,0,18,0,17,0 33,0,8,0,31,0,4,0,19,0,2,0 32,0,44,0,23,0,10,0,1,0,26,0 28,0,42,0,29,0,16,0,34,0,36,0 30,0,25,0,37,0,5,0,12,0,21,0 24,0,8,0,18,0,13,0,17,0,10,0 38,0,31,0,20,0,3,0,9,0,1,0 23,0,14,0,7,0,33,0,28,0,44,0 5,0,22,0,43,0,32,0,36,0,21,0 29,0,39,0,45,0,27,0,35,0,4,0 6,0,26,0,34,0,25,0,11,0,19,0 37,0,12,0,16,0,2,0,15,0,40,0 42,0,41,0,23,0,30,0,13,0,27,0 9,0,19,0,45,0,5,0,7,0,36,0 33,0,26,0,18,0,34,0,24,0,20,0 2,0,22,0,32,0,29,0,4,0,25,0 44,0,35,0,21,0,16,0,8,0,17,0 10,0,43,0,30,0,37,0,3,0,38,0 1,0,28,0,15,0,39,0,6,0,41,0 11,0,31,0,42,0,12,0,40,0,14,0 20,0,4,0,16,0,10,0,5,0,27,0 43,0,19,0,15,0,29,0,24,0,23,0 31,0,35,0,28,0,18,0,22,0,30,0 14,0,36,0,13,0,2,0,25,0,1,0 8,0,41,0,37,0,11,0,7,0,34,0 40,0,3,0,6,0,9,0,21,0,26,0 32,0,42,0,12,0,38,0,45,0,33,0 44,0,17,0,30,0,39,0,20,0,36,0 15,0,23,0,34,0,21,0,22,0,31,0 10,0,12,0,19,0,1,0,35,0,41,0 2,0,3,0,11,0,44,0,45,0,18,0 7,0,40,0,13,0,32,0,43,0,39,0 5,0,29,0,9,0,8,0,26,0,42,0 17,0,4,0,33,0,28,0,37,0,6,0 25,0,14,0,24,0,38,0,16,0,27,0 ================================================ FILE: schedules/45_9.csv ================================================ 5,0,38,0,3,0,20,0,35,0,42,0 1,0,19,0,4,0,8,0,39,0,43,0 31,0,29,0,44,0,25,0,10,0,27,0 15,0,24,0,41,0,18,0,17,0,9,0 2,0,23,0,22,0,11,0,30,0,14,0 7,0,37,0,34,0,26,0,40,0,45,0 12,0,28,0,13,0,21,0,36,0,16,0 32,0,6,0,41,0,33,0,44,0,2,0 18,0,11,0,38,0,8,0,37,0,27,0 22,0,34,0,15,0,43,0,31,0,42,0 32,0,20,0,36,0,39,0,21,0,10,0 4,0,40,0,33,0,35,0,30,0,13,0 45,0,23,0,19,0,9,0,24,0,1,0 7,0,14,0,17,0,16,0,12,0,29,0 6,0,3,0,28,0,25,0,5,0,26,0 19,1,35,0,34,0,2,1,27,0,15,0 41,1,10,0,14,0,37,0,45,0,13,0 33,0,5,0,12,0,26,0,1,0,31,0 25,0,18,0,8,0,17,0,20,0,30,0 11,0,9,0,44,0,3,0,7,0,4,0 32,0,29,0,42,0,28,0,43,0,16,0 24,0,21,0,40,0,39,0,38,0,22,0 23,0,5,0,18,0,36,0,6,0,7,0 41,0,13,0,26,0,25,0,29,0,35,0 16,0,42,0,34,0,11,0,20,0,19,0 22,0,8,0,30,0,12,0,32,0,37,0 24,0,39,0,6,0,3,0,15,0,31,0 43,0,21,0,2,0,45,0,17,0,44,0 33,0,10,0,28,0,38,0,23,0,9,0 27,0,4,0,14,0,36,0,40,0,1,0 44,0,34,0,8,0,5,0,24,0,13,0 39,0,37,0,25,0,42,0,2,0,9,0 14,0,43,0,36,0,11,0,41,0,31,0 40,0,17,0,38,0,23,0,33,0,32,0 29,0,3,0,10,0,18,0,12,0,22,0 4,0,16,0,20,0,45,0,1,0,6,0 15,0,21,0,30,0,26,0,7,0,19,0 35,0,27,0,18,0,28,0,14,0,9,0 8,0,42,0,6,0,10,0,34,0,40,0 39,0,12,0,26,0,44,0,23,0,43,0 16,0,24,0,11,0,21,0,33,0,25,0 38,0,15,0,45,0,30,0,41,0,29,0 3,0,27,0,19,0,32,0,13,0,7,0 1,0,22,0,17,0,4,0,5,0,28,0 35,0,36,0,31,0,20,0,37,0,2,0 33,0,42,0,19,0,14,0,44,0,18,0 10,0,45,0,30,0,3,0,17,0,11,0 20,0,43,0,7,0,28,0,37,0,24,0 13,0,25,0,15,0,1,0,5,0,32,0 29,0,21,0,26,0,40,0,31,0,8,0 9,0,12,0,36,0,34,0,38,0,6,0 23,0,16,0,39,0,41,0,22,0,35,0 4,0,2,0,30,0,27,0,29,0,24,0 36,0,45,0,28,0,8,0,15,0,33,0 35,0,17,0,37,0,6,0,19,0,44,0 40,0,43,0,27,0,16,0,10,0,5,0 41,0,1,0,2,0,3,0,42,0,21,0 9,0,20,0,26,0,22,0,11,0,13,0 7,0,25,0,38,0,14,0,34,0,39,0 31,0,23,0,12,0,4,0,32,0,18,0 36,0,42,0,13,0,26,0,17,0,24,0 19,0,25,0,22,0,45,0,27,0,33,0 37,0,18,0,41,0,21,0,4,0,34,0 43,0,10,0,1,0,35,0,2,0,7,0 39,0,11,0,32,0,5,0,6,0,29,0 16,0,31,0,9,0,38,0,30,0,44,0 3,0,8,0,20,0,15,0,23,0,14,0 28,0,40,0,2,0,12,0,19,0,41,0 ================================================ FILE: schedules/46_1.csv ================================================ 18,0,13,0,32,0,35,0,1,0,8,0 33,0,7,0,37,0,9,0,26,0,3,0 20,0,39,0,19,0,31,0,30,0,41,0 44,0,36,0,6,0,22,0,21,0,45,0 34,0,24,0,16,0,27,0,14,0,29,0 40,0,43,0,15,0,25,0,12,0,23,0 11,0,4,0,2,0,28,0,46,0,42,0 38,0,10,0,1,1,5,0,17,0,30,1 ================================================ FILE: schedules/46_10.csv ================================================ 25,0,9,0,38,0,28,0,39,0,27,0 37,0,2,0,4,0,42,0,26,0,10,0 19,0,24,0,16,0,12,0,11,0,45,0 21,0,29,0,18,0,15,0,7,0,31,0 3,0,20,0,33,0,35,0,22,0,40,0 41,0,1,0,43,0,44,0,30,0,34,0 14,0,6,0,36,0,13,0,32,0,8,0 23,0,17,0,9,0,5,0,46,0,42,0 45,0,16,0,37,0,40,0,27,0,4,0 43,0,13,0,18,0,38,0,21,0,24,0 35,0,36,0,3,0,41,0,17,0,44,0 30,0,15,0,14,0,19,0,10,0,23,0 46,0,22,0,28,0,12,0,39,0,31,0 1,0,5,0,2,0,20,0,6,0,29,0 33,0,34,0,26,0,11,0,8,0,7,0 25,0,17,0,24,0,32,0,15,0,40,0 28,1,44,0,10,0,6,1,23,0,46,0 36,0,11,0,13,0,20,0,42,0,45,0 39,0,35,0,8,0,19,0,21,0,1,0 2,0,32,0,43,0,9,0,33,0,5,0 38,0,4,0,14,0,29,0,34,0,12,0 16,0,26,0,30,0,31,0,25,0,3,0 22,0,37,0,27,0,18,0,7,0,41,0 6,0,9,0,40,0,11,0,29,0,19,0 33,0,17,0,21,0,4,0,28,0,20,0 12,0,22,0,42,0,10,0,30,0,32,0 34,0,2,0,15,0,36,0,39,0,16,0 18,0,35,0,45,0,46,0,25,0,13,0 1,0,24,0,37,0,3,0,26,0,38,0 8,0,31,0,5,0,23,0,41,0,27,0 44,0,43,0,25,0,7,0,14,0,2,0 46,0,12,0,38,0,36,0,29,0,33,0 15,0,17,0,28,0,26,0,22,0,6,0 20,0,31,0,10,0,45,0,3,0,34,0 39,0,19,0,30,0,5,0,24,0,18,0 40,0,43,0,21,0,42,0,41,0,8,0 27,0,32,0,11,0,4,0,44,0,35,0 9,0,16,0,7,0,13,0,23,0,1,0 14,0,5,0,28,0,37,0,36,0,34,0 6,0,21,0,41,0,46,0,26,0,45,0 40,0,3,0,13,0,12,0,23,0,2,0 18,0,39,0,37,0,11,0,43,0,10,0 32,0,17,0,42,0,38,0,15,0,16,0 35,0,7,0,20,0,30,0,9,0,4,0 29,0,22,0,25,0,44,0,8,0,19,0 33,0,24,0,31,0,1,0,14,0,27,0 35,0,10,0,21,0,5,0,40,0,36,0 23,0,44,0,26,0,20,0,39,0,34,0 15,0,25,0,41,0,1,0,33,0,11,0 46,0,14,0,24,0,22,0,16,0,4,0 27,0,19,0,31,0,17,0,2,0,13,0 32,0,12,0,6,0,7,0,43,0,38,0 18,0,3,0,28,0,42,0,9,0,29,0 8,0,45,0,33,0,37,0,30,0,17,0 26,0,4,0,19,0,36,0,43,0,31,0 34,0,42,0,14,0,35,0,27,0,6,0 5,0,23,0,22,0,45,0,1,0,38,0 46,0,7,0,30,0,40,0,11,0,2,0 10,0,29,0,41,0,39,0,13,0,24,0 18,0,8,0,20,0,32,0,16,0,28,0 9,0,12,0,44,0,15,0,21,0,37,0 25,0,36,0,7,0,3,0,24,0,42,0 16,0,33,0,27,0,10,0,6,0,39,0 11,0,22,0,34,0,9,0,2,0,21,0 46,0,4,0,8,0,5,0,15,0,3,0 30,0,45,0,13,0,43,0,28,0,26,0 40,0,17,0,12,0,1,0,18,0,44,0 20,0,38,0,41,0,25,0,14,0,19,0 31,0,29,0,23,0,32,0,35,0,37,0 13,0,16,0,42,0,22,0,33,0,44,0 28,0,7,0,12,0,41,0,5,0,45,0 32,0,1,0,34,0,46,0,19,0,37,0 40,0,10,0,38,0,31,0,26,0,9,0 23,0,4,0,36,0,18,0,6,0,25,0 15,0,29,0,27,0,30,0,43,0,20,0 11,0,39,0,21,0,14,0,17,0,3,0 2,0,8,0,6,0,24,0,35,0,28,0 ================================================ FILE: schedules/46_11.csv ================================================ 16,0,41,0,22,0,10,0,31,0,28,0 12,0,24,0,8,0,29,0,40,0,46,0 15,0,44,0,18,0,19,0,7,0,21,0 1,0,23,0,4,0,38,0,6,0,9,0 5,0,33,0,45,0,27,0,34,0,2,0 30,0,13,0,3,0,42,0,11,0,43,0 32,0,39,0,36,0,17,0,25,0,20,0 26,0,14,0,28,0,35,0,37,0,21,0 27,0,22,0,42,0,3,0,38,0,4,0 39,0,30,0,1,0,40,0,45,0,2,0 13,0,5,0,18,0,41,0,44,0,26,0 14,0,7,0,9,0,20,0,19,0,8,0 23,0,37,0,43,0,34,0,36,0,10,0 16,0,11,0,12,0,33,0,24,0,17,0 31,0,25,0,6,0,46,0,35,0,15,0 32,0,30,0,10,0,29,0,18,0,27,0 34,1,26,0,1,0,36,1,42,0,16,0 21,1,20,0,12,0,2,1,13,0,25,0 5,0,6,0,35,0,43,0,19,0,24,0 32,0,37,0,17,0,31,0,23,0,44,0 22,0,39,0,28,0,15,0,9,0,8,0 14,0,29,0,3,0,33,0,4,0,40,0 45,0,11,0,46,0,7,0,38,0,41,0 27,0,31,0,24,0,28,0,13,0,8,0 5,0,32,0,21,0,15,0,33,0,42,0 16,0,46,0,9,0,34,0,14,0,30,0 45,0,29,0,20,0,6,0,23,0,17,0 19,0,39,0,2,0,26,0,11,0,3,0 41,0,18,0,1,0,25,0,37,0,22,0 10,0,12,0,38,0,36,0,7,0,35,0 44,0,40,0,16,0,4,0,43,0,45,0 26,0,21,0,15,0,27,0,9,0,17,0 29,0,37,0,31,0,38,0,39,0,5,0 32,0,4,0,2,0,13,0,46,0,19,0 22,0,33,0,1,0,14,0,24,0,20,0 23,0,10,0,40,0,44,0,35,0,11,0 25,0,34,0,28,0,30,0,7,0,6,0 18,0,42,0,8,0,41,0,12,0,43,0 3,0,35,0,27,0,36,0,9,0,1,0 19,0,38,0,14,0,25,0,10,0,45,0 6,0,15,0,12,0,37,0,30,0,11,0 20,0,36,0,4,0,18,0,26,0,31,0 24,0,3,0,39,0,34,0,44,0,32,0 29,0,43,0,17,0,28,0,41,0,2,0 33,0,8,0,7,0,16,0,13,0,23,0 42,0,21,0,40,0,22,0,5,0,46,0 4,0,27,0,25,0,37,0,24,0,10,0 35,0,2,0,30,0,3,0,23,0,41,0 5,0,42,0,34,0,28,0,18,0,20,0 9,0,40,0,19,0,36,0,33,0,31,0 46,0,8,0,43,0,1,0,21,0,45,0 44,0,38,0,29,0,15,0,32,0,16,0 39,0,6,0,26,0,22,0,12,0,7,0 11,0,17,0,34,0,13,0,14,0,1,0 38,0,20,0,33,0,30,0,44,0,43,0 7,0,25,0,29,0,42,0,9,0,3,0 17,0,10,0,18,0,40,0,8,0,6,0 13,0,36,0,45,0,5,0,23,0,15,0 11,0,14,0,2,0,32,0,12,0,31,0 41,0,46,0,24,0,19,0,37,0,26,0 21,0,28,0,16,0,39,0,4,0,35,0 27,0,11,0,7,0,22,0,29,0,30,0 24,0,13,0,9,0,18,0,45,0,38,0 10,0,35,0,33,0,39,0,17,0,42,0 44,0,28,0,36,0,46,0,14,0,6,0 19,0,25,0,23,0,21,0,22,0,43,0 15,0,31,0,41,0,34,0,12,0,3,0 2,0,20,0,16,0,37,0,27,0,40,0 5,0,26,0,4,0,8,0,1,0,32,0 18,0,30,0,23,0,31,0,14,0,39,0 37,0,41,0,6,0,9,0,33,0,21,0 40,0,35,0,22,0,13,0,29,0,32,0 3,0,17,0,46,0,10,0,20,0,5,0 43,0,15,0,7,0,38,0,2,0,24,0 4,0,16,0,8,0,25,0,36,0,11,0 19,0,12,0,44,0,28,0,1,0,27,0 42,0,26,0,32,0,34,0,45,0,6,0 46,0,18,0,37,0,3,0,33,0,16,0 31,0,13,0,21,0,1,0,10,0,7,0 9,0,45,0,22,0,5,0,2,0,12,0 14,0,36,0,43,0,39,0,27,0,41,0 20,0,35,0,34,0,11,0,15,0,4,0 38,0,23,0,28,0,25,0,26,0,40,0 42,0,30,0,19,0,8,0,17,0,44,0 24,0,34,0,21,0,29,0,36,0,2,0 ================================================ FILE: schedules/46_12.csv ================================================ 10,0,11,0,24,0,18,0,2,0,39,0 36,0,6,0,37,0,15,0,33,0,26,0 4,0,27,0,43,0,34,0,46,0,14,0 3,0,42,0,20,0,44,0,41,0,32,0 21,0,13,0,16,0,35,0,8,0,38,0 23,0,45,0,31,0,28,0,29,0,5,0 19,0,17,0,40,0,9,0,30,0,7,0 12,0,22,0,33,0,1,0,25,0,4,0 34,0,32,0,43,0,16,0,29,0,15,0 14,0,26,0,7,0,31,0,38,0,11,0 19,0,46,0,6,0,39,0,10,0,44,0 22,0,27,0,13,0,9,0,42,0,2,0 30,0,28,0,24,0,21,0,20,0,8,0 1,0,18,0,41,0,17,0,37,0,35,0 3,0,5,0,45,0,40,0,12,0,25,0 23,0,30,0,16,0,36,0,22,0,28,0 13,0,32,0,1,0,41,0,27,0,29,0 12,0,44,0,20,0,7,0,35,0,21,0 18,0,45,0,46,0,36,0,33,0,31,0 3,0,15,0,34,0,10,0,14,0,2,0 42,0,11,0,43,0,23,0,37,0,40,0 8,0,4,0,17,0,26,0,39,0,25,0 19,0,9,0,24,0,6,0,5,0,38,0 31,0,7,0,43,0,30,0,41,0,42,0 39,0,46,0,21,0,22,0,32,0,14,0 29,0,19,0,33,0,36,0,24,0,26,0 15,0,17,0,20,0,40,0,45,0,13,0 16,0,6,0,12,0,2,0,11,0,8,0 27,0,34,0,5,0,28,0,18,0,4,0 25,0,9,0,38,0,23,0,3,0,35,0 37,0,10,0,8,0,1,0,44,0,43,0 20,0,34,0,11,0,5,0,17,0,22,0 39,0,35,0,24,0,12,0,28,0,15,0 2,0,25,0,21,0,42,0,18,0,31,0 41,0,6,0,3,0,7,0,36,0,27,0 16,0,45,0,10,0,19,0,13,0,26,0 33,0,23,0,9,0,44,0,30,0,4,0 32,0,37,0,46,0,29,0,40,0,14,0 1,0,22,0,7,0,38,0,43,0,45,0 18,0,20,0,33,0,12,0,3,0,11,0 9,0,6,0,44,0,34,0,25,0,29,0 5,0,46,0,30,0,13,0,2,0,35,0 4,0,41,0,21,0,19,0,15,0,1,0 26,0,27,0,16,0,31,0,40,0,39,0 24,0,14,0,8,0,36,0,10,0,23,0 38,0,28,0,37,0,42,0,32,0,17,0 29,0,13,0,9,0,18,0,3,0,16,0 1,0,45,0,35,0,27,0,6,0,2,0 10,0,34,0,30,0,38,0,41,0,12,0 14,0,28,0,11,0,19,0,25,0,44,0 5,0,40,0,7,0,8,0,33,0,39,0 31,0,15,0,4,0,37,0,24,0,20,0 36,0,46,0,17,0,22,0,21,0,42,0 32,0,26,0,18,0,23,0,43,0,12,0 29,0,11,0,35,0,15,0,7,0,10,0 13,0,42,0,38,0,33,0,14,0,4,0 41,0,40,0,8,0,34,0,24,0,22,0 28,0,21,0,26,0,43,0,9,0,5,0 1,0,23,0,27,0,16,0,46,0,20,0 44,0,2,0,31,0,36,0,32,0,19,0 37,0,3,0,39,0,6,0,45,0,30,0 25,0,33,0,27,0,17,0,10,0,21,0 44,0,22,0,15,0,18,0,5,0,12,0 38,0,14,0,20,0,29,0,45,0,8,0 1,0,30,0,31,0,11,0,32,0,9,0 40,0,36,0,42,0,6,0,4,0,35,0 17,0,24,0,25,0,43,0,16,0,37,0 19,0,7,0,39,0,13,0,23,0,34,0 3,0,28,0,2,0,46,0,41,0,26,0 14,0,18,0,9,0,8,0,6,0,42,0 16,0,44,0,7,0,15,0,38,0,24,0 27,0,37,0,12,0,19,0,23,0,5,0 33,0,35,0,32,0,45,0,34,0,17,0 3,0,22,0,4,0,31,0,21,0,29,0 36,0,39,0,11,0,20,0,43,0,13,0 40,0,30,0,26,0,28,0,10,0,1,0 41,0,2,0,7,0,46,0,25,0,23,0 21,0,9,0,36,0,11,0,45,0,37,0 18,0,35,0,19,0,26,0,20,0,22,0 29,0,43,0,2,0,44,0,40,0,33,0 6,0,14,0,31,0,17,0,13,0,12,0 39,0,34,0,42,0,24,0,1,0,3,0 8,0,25,0,30,0,27,0,15,0,46,0 41,0,10,0,5,0,32,0,16,0,4,0 38,0,33,0,2,0,28,0,39,0,20,0 24,0,44,0,29,0,17,0,30,0,27,0 12,0,26,0,10,0,46,0,22,0,9,0 28,0,8,0,32,0,7,0,11,0,4,0 21,0,23,0,38,0,40,0,18,0,6,0 43,0,15,0,35,0,31,0,3,0,19,0 5,0,16,0,42,0,41,0,45,0,14,0 36,0,13,0,25,0,34,0,37,0,1,0 ================================================ FILE: schedules/46_13.csv ================================================ 3,0,40,0,20,0,5,0,45,0,16,0 41,0,10,0,13,0,11,0,35,0,6,0 7,0,38,0,29,0,2,0,9,0,4,0 21,0,8,0,36,0,19,0,18,0,22,0 28,0,23,0,1,0,14,0,32,0,43,0 15,0,31,0,12,0,44,0,30,0,27,0 25,0,39,0,33,0,46,0,37,0,24,0 17,0,42,0,35,0,34,0,26,0,3,0 11,0,45,0,13,0,8,0,16,0,9,0 19,0,33,0,10,0,39,0,15,0,44,0 43,0,30,0,28,0,12,0,22,0,14,0 17,0,34,0,20,0,37,0,36,0,5,0 18,0,31,0,4,0,25,0,2,0,21,0 41,0,7,0,46,0,6,0,1,0,42,0 26,0,32,0,24,0,40,0,27,0,38,0 23,0,22,0,15,0,29,0,34,0,5,0 2,1,43,0,33,0,8,1,20,0,11,0 35,0,30,0,24,0,40,0,21,0,18,0 14,0,6,0,38,0,3,0,25,0,36,0 16,0,46,0,32,0,37,0,41,0,9,0 12,0,42,0,29,0,19,0,17,0,1,0 44,0,31,0,13,0,26,0,39,0,7,0 28,0,45,0,27,0,10,0,4,0,23,0 40,0,41,0,15,0,18,0,17,0,25,0 9,0,34,0,39,0,21,0,1,0,43,0 12,0,26,0,30,0,45,0,33,0,23,0 44,0,28,0,36,0,27,0,2,0,46,0 32,0,13,0,37,0,3,0,11,0,19,0 24,0,8,0,5,0,4,0,7,0,42,0 6,0,29,0,31,0,20,0,38,0,35,0 16,0,22,0,21,0,14,0,10,0,28,0 43,0,46,0,26,0,3,0,33,0,18,0 23,0,37,0,38,0,40,0,29,0,2,0 15,0,9,0,11,0,42,0,36,0,27,0 39,0,1,0,4,0,20,0,30,0,5,0 41,0,31,0,32,0,34,0,45,0,22,0 25,0,44,0,14,0,17,0,8,0,13,0 12,0,35,0,19,0,24,0,6,0,16,0 10,0,26,0,36,0,7,0,1,0,37,0 21,0,17,0,30,0,45,0,46,0,38,0 8,0,43,0,42,0,25,0,31,0,23,0 19,0,13,0,5,0,12,0,2,0,28,0 7,0,14,0,15,0,20,0,41,0,24,0 4,0,40,0,35,0,22,0,9,0,33,0 16,0,18,0,11,0,34,0,44,0,6,0 27,0,3,0,32,0,10,0,39,0,29,0 40,0,1,0,33,0,13,0,14,0,42,0 44,0,37,0,20,0,22,0,31,0,24,0 8,0,2,0,41,0,10,0,35,0,3,0 39,0,36,0,38,0,23,0,12,0,16,0 25,0,11,0,4,0,21,0,19,0,32,0 5,0,27,0,7,0,46,0,34,0,18,0 9,0,6,0,28,0,17,0,26,0,15,0 30,0,29,0,32,0,45,0,43,0,36,0 12,0,20,0,7,0,8,0,46,0,40,0 6,0,2,0,23,0,41,0,33,0,21,0 13,0,27,0,1,0,29,0,17,0,43,0 18,0,42,0,15,0,16,0,39,0,28,0 35,0,5,0,25,0,31,0,30,0,45,0 4,0,38,0,3,0,44,0,11,0,22,0 24,0,34,0,10,0,19,0,26,0,9,0 37,0,6,0,17,0,14,0,30,0,39,0 8,0,25,0,15,0,11,0,1,0,12,0 34,0,41,0,36,0,4,0,28,0,26,0 20,0,29,0,46,0,32,0,18,0,9,0 42,0,5,0,23,0,44,0,35,0,21,0 22,0,37,0,3,0,33,0,7,0,13,0 40,0,19,0,45,0,31,0,14,0,27,0 43,0,10,0,16,0,2,0,24,0,38,0 9,0,35,0,29,0,41,0,12,0,39,0 33,0,17,0,28,0,1,0,36,0,31,0 16,0,27,0,19,0,7,0,30,0,8,0 26,0,5,0,22,0,6,0,43,0,25,0 38,0,42,0,10,0,18,0,20,0,13,0 21,0,37,0,45,0,40,0,44,0,32,0 14,0,3,0,2,0,4,0,15,0,34,0 24,0,23,0,36,0,11,0,46,0,17,0 1,0,41,0,22,0,44,0,38,0,19,0 27,0,12,0,18,0,33,0,42,0,37,0 7,0,25,0,16,0,39,0,21,0,23,0 45,0,3,0,6,0,29,0,28,0,24,0 34,0,11,0,30,0,26,0,2,0,20,0 4,0,32,0,8,0,15,0,35,0,13,0 9,0,46,0,14,0,5,0,10,0,31,0 43,0,11,0,39,0,40,0,28,0,7,0 24,0,12,0,21,0,29,0,26,0,8,0 14,0,45,0,1,0,18,0,37,0,35,0 34,0,40,0,13,0,36,0,15,0,46,0 19,0,20,0,31,0,41,0,23,0,3,0 27,0,6,0,33,0,38,0,5,0,32,0 17,0,16,0,2,0,4,0,43,0,22,0 9,0,44,0,10,0,30,0,25,0,42,0 19,0,34,0,28,0,38,0,33,0,8,0 21,0,46,0,5,0,1,0,15,0,24,0 11,0,26,0,31,0,29,0,16,0,14,0 35,0,2,0,36,0,27,0,20,0,25,0 12,0,17,0,44,0,10,0,32,0,7,0 40,0,43,0,37,0,6,0,41,0,4,0 18,0,23,0,30,0,13,0,9,0,3,0 42,0,22,0,2,0,39,0,45,0,8,0 ================================================ FILE: schedules/46_14.csv ================================================ 41,0,5,0,16,0,27,0,28,0,2,0 11,0,14,0,17,0,1,0,15,0,45,0 22,0,25,0,34,0,39,0,30,0,38,0 18,0,43,0,42,0,31,0,9,0,13,0 26,0,32,0,4,0,44,0,7,0,36,0 33,0,10,0,46,0,3,0,6,0,12,0 21,0,20,0,40,0,29,0,35,0,8,0 24,0,37,0,36,0,23,0,19,0,5,0 16,0,39,0,28,0,33,0,26,0,22,0 2,0,7,0,21,0,31,0,27,0,10,0 45,0,3,0,24,0,44,0,42,0,23,0 1,0,35,0,13,0,34,0,41,0,37,0 9,0,29,0,43,0,30,0,14,0,4,0 15,0,20,0,18,0,40,0,12,0,25,0 11,0,38,0,19,0,46,0,17,0,8,0 6,0,35,0,26,0,32,0,30,0,1,0 7,1,12,0,31,0,14,1,40,0,13,0 23,1,41,0,24,0,11,1,33,0,37,0 18,0,32,0,2,0,34,0,45,0,4,0 43,0,20,0,3,0,39,0,10,0,22,0 16,0,38,0,17,0,6,0,9,0,44,0 46,0,25,0,36,0,15,0,21,0,8,0 42,0,27,0,5,0,29,0,19,0,28,0 14,0,32,0,9,0,24,0,18,0,4,0 33,0,45,0,16,0,43,0,8,0,40,0 41,0,13,0,6,0,25,0,31,0,39,0 10,0,1,0,28,0,23,0,15,0,38,0 20,0,44,0,11,0,21,0,37,0,19,0 12,0,30,0,2,0,35,0,17,0,36,0 26,0,34,0,27,0,29,0,42,0,46,0 7,0,5,0,20,0,22,0,3,0,18,0 41,0,40,0,32,0,30,0,11,0,21,0 28,0,17,0,42,0,29,0,15,0,16,0 4,0,33,0,5,0,25,0,27,0,38,0 8,0,23,0,3,0,6,0,14,0,34,0 26,0,19,0,36,0,45,0,37,0,9,0 1,0,24,0,12,0,43,0,22,0,31,0 35,0,39,0,46,0,44,0,10,0,2,0 7,0,40,0,23,0,13,0,4,0,19,0 42,0,38,0,8,0,36,0,41,0,43,0 25,0,10,0,37,0,45,0,11,0,22,0 44,0,3,0,29,0,27,0,13,0,18,0 39,0,24,0,15,0,20,0,35,0,2,0 21,0,6,0,5,0,26,0,9,0,12,0 31,0,46,0,30,0,14,0,28,0,33,0 34,0,1,0,16,0,7,0,17,0,32,0 10,0,18,0,26,0,19,0,41,0,2,0 8,0,45,0,44,0,29,0,36,0,39,0 16,0,6,0,7,0,13,0,5,0,15,0 27,0,17,0,9,0,14,0,22,0,35,0 28,0,34,0,23,0,20,0,4,0,25,0 24,0,11,0,42,0,40,0,1,0,46,0 32,0,21,0,3,0,12,0,43,0,33,0 30,0,37,0,7,0,31,0,38,0,2,0 23,0,36,0,13,0,17,0,45,0,41,0 29,0,14,0,12,0,1,0,33,0,19,0 27,0,15,0,35,0,8,0,37,0,18,0 11,0,10,0,9,0,30,0,34,0,3,0 31,0,40,0,42,0,25,0,32,0,28,0 39,0,6,0,4,0,24,0,46,0,5,0 43,0,44,0,38,0,16,0,20,0,26,0 21,0,23,0,33,0,22,0,30,0,40,0 19,0,18,0,46,0,39,0,32,0,42,0 9,0,41,0,28,0,45,0,20,0,12,0 17,0,44,0,4,0,35,0,31,0,5,0 37,0,14,0,27,0,43,0,10,0,6,0 8,0,25,0,1,0,3,0,2,0,16,0 26,0,38,0,7,0,24,0,34,0,21,0 29,0,13,0,22,0,36,0,15,0,11,0 42,0,9,0,30,0,27,0,20,0,8,0 1,0,37,0,17,0,28,0,44,0,21,0 22,0,46,0,15,0,6,0,31,0,45,0 34,0,10,0,38,0,5,0,40,0,36,0 24,0,14,0,19,0,18,0,16,0,35,0 26,0,41,0,29,0,7,0,3,0,25,0 4,0,2,0,43,0,12,0,11,0,13,0 33,0,32,0,27,0,39,0,23,0,20,0 36,0,10,0,30,0,16,0,44,0,24,0 15,0,28,0,31,0,38,0,9,0,3,0 41,0,25,0,18,0,43,0,23,0,46,0 12,0,5,0,8,0,1,0,26,0,11,0 21,0,17,0,39,0,42,0,14,0,7,0 4,0,29,0,40,0,37,0,2,0,6,0 33,0,34,0,13,0,19,0,22,0,32,0 45,0,23,0,25,0,35,0,9,0,24,0 12,0,36,0,16,0,39,0,27,0,11,0 2,0,33,0,40,0,17,0,3,0,26,0 43,0,37,0,35,0,46,0,28,0,7,0 6,0,30,0,15,0,34,0,19,0,42,0 13,0,38,0,21,0,45,0,14,0,18,0 8,0,22,0,4,0,44,0,1,0,41,0 31,0,20,0,32,0,29,0,10,0,5,0 2,0,46,0,11,0,7,0,33,0,9,0 14,0,25,0,15,0,44,0,27,0,40,0 19,0,3,0,39,0,21,0,12,0,4,0 1,0,29,0,6,0,38,0,36,0,20,0 28,0,8,0,13,0,10,0,32,0,24,0 22,0,16,0,23,0,26,0,42,0,37,0 45,0,30,0,43,0,5,0,18,0,17,0 34,0,35,0,44,0,41,0,31,0,33,0 29,0,37,0,38,0,23,0,12,0,32,0 18,0,36,0,6,0,3,0,11,0,28,0 22,0,2,0,5,0,21,0,41,0,14,0 4,0,7,0,35,0,16,0,10,0,42,0 45,0,46,0,27,0,30,0,20,0,13,0 9,0,40,0,34,0,43,0,1,0,39,0 17,0,15,0,19,0,24,0,25,0,26,0 31,0,14,0,23,0,8,0,7,0,11,0 ================================================ FILE: schedules/46_2.csv ================================================ 31,0,36,0,32,0,37,0,7,0,41,0 40,0,14,0,3,0,19,0,4,0,29,0 9,0,8,0,2,0,27,0,17,0,23,0 43,0,22,0,10,0,24,0,26,0,16,0 45,0,42,0,13,0,30,0,5,0,46,0 44,0,33,0,39,0,18,0,12,0,34,0 38,0,25,0,1,0,28,0,20,0,35,0 21,0,6,0,42,0,11,0,15,0,32,0 19,0,30,0,31,0,39,0,22,0,9,0 7,0,34,0,24,0,38,0,13,0,3,0 17,0,20,0,41,0,5,0,10,0,6,0 18,0,15,0,35,0,8,0,40,0,36,0 28,0,11,0,23,0,26,0,14,0,12,0 37,0,33,0,4,0,25,0,45,0,43,0 29,0,46,0,16,0,2,0,1,0,21,0 27,0,38,1,3,1,44,0,31,1,14,1 ================================================ FILE: schedules/46_3.csv ================================================ 3,0,28,0,20,0,43,0,13,0,10,0 42,0,4,0,25,0,5,0,23,0,40,0 16,0,7,0,46,0,14,0,45,0,21,0 31,0,29,0,9,0,15,0,41,0,34,0 27,0,6,0,8,0,19,0,36,0,2,0 18,0,1,0,26,0,33,0,37,0,11,0 35,0,39,0,24,0,32,0,17,0,44,0 30,0,38,0,45,0,12,0,22,0,20,0 25,0,28,0,14,0,36,0,37,0,29,0 21,0,19,0,10,0,1,0,15,0,24,0 33,0,9,0,17,0,5,0,6,0,16,0 11,0,13,0,2,0,39,0,42,0,12,0 23,0,44,0,41,0,18,0,46,0,27,0 4,0,22,0,32,0,3,0,8,0,31,0 38,0,34,0,43,0,35,0,7,0,26,0 40,0,41,0,33,0,30,0,2,0,24,0 15,0,27,0,16,0,20,0,11,0,4,0 18,0,12,0,3,0,6,0,34,0,14,0 30,0,42,0,36,0,44,0,9,0,7,0 17,0,46,0,10,0,25,0,8,0,38,0 29,0,23,0,43,0,1,0,39,0,22,0 21,0,37,0,5,0,35,0,13,0,31,0 40,0,32,0,26,0,45,0,19,0,28,0 ================================================ FILE: schedules/46_4.csv ================================================ 20,0,39,0,23,0,29,0,34,0,42,0 6,0,14,0,11,0,1,0,22,0,24,0 43,0,18,0,35,0,36,0,8,0,21,0 10,0,44,0,7,0,25,0,31,0,19,0 40,0,45,0,26,0,13,0,32,0,2,0 5,0,41,0,4,0,3,0,15,0,33,0 46,0,17,0,38,0,27,0,37,0,12,0 30,0,16,0,31,0,28,0,9,0,35,0 25,0,3,0,8,0,40,0,14,0,20,0 5,0,43,0,42,0,38,0,1,0,44,0 29,0,12,0,16,0,4,0,24,0,45,0 10,0,13,0,9,0,17,0,23,0,11,0 32,0,39,0,33,0,37,0,28,0,6,0 46,0,41,0,30,0,18,0,7,0,22,0 27,0,34,0,15,0,2,0,21,0,19,0 36,0,42,0,3,0,26,0,16,0,10,0 29,1,32,0,25,0,11,1,41,0,43,0 13,0,6,0,12,0,34,0,31,0,18,0 17,0,14,0,21,0,45,0,30,0,5,0 1,0,7,0,23,0,26,0,33,0,27,0 8,0,2,0,24,0,39,0,38,0,9,0 20,0,19,0,28,0,46,0,4,0,36,0 37,0,35,0,22,0,40,0,15,0,44,0 9,0,33,0,21,0,12,0,25,0,42,0 18,0,19,0,23,0,3,0,24,0,32,0 35,0,38,0,45,0,7,0,6,0,20,0 27,0,10,0,22,0,8,0,29,0,28,0 44,0,34,0,11,0,30,0,26,0,4,0 1,0,31,0,40,0,41,0,17,0,39,0 15,0,14,0,46,0,16,0,43,0,13,0 37,0,2,0,29,0,5,0,36,0,11,0 ================================================ FILE: schedules/46_5.csv ================================================ 8,0,35,0,38,0,14,0,25,0,9,0 2,0,16,0,36,0,7,0,20,0,41,0 34,0,4,0,31,0,30,0,42,0,5,0 46,0,37,0,44,0,22,0,3,0,28,0 21,0,12,0,29,0,17,0,33,0,6,0 23,0,24,0,40,0,43,0,1,0,13,0 32,0,45,0,39,0,26,0,11,0,18,0 10,0,15,0,34,0,19,0,27,0,25,0 37,0,23,0,38,0,29,0,36,0,4,0 20,0,5,0,12,0,45,0,1,0,44,0 10,0,30,0,32,0,9,0,46,0,24,0 16,0,28,0,11,0,6,0,15,0,35,0 22,0,33,0,13,0,27,0,39,0,2,0 19,0,7,0,26,0,21,0,14,0,31,0 3,0,18,0,8,0,41,0,43,0,17,0 42,0,44,0,9,0,40,0,16,0,33,0 22,1,23,0,25,0,32,1,12,0,31,0 15,1,45,0,14,0,41,1,46,0,13,0 7,0,17,0,11,0,40,0,37,0,34,0 28,0,27,0,26,0,8,0,24,0,4,0 1,0,19,0,35,0,18,0,2,0,29,0 43,0,38,0,30,0,20,0,39,0,21,0 42,0,3,0,36,0,5,0,6,0,10,0 1,0,2,0,25,0,46,0,4,0,11,0 20,0,15,0,9,0,23,0,18,0,17,0 44,0,24,0,39,0,36,0,35,0,31,0 13,0,42,0,12,0,8,0,19,0,37,0 27,0,16,0,29,0,3,0,30,0,14,0 28,0,33,0,5,0,43,0,32,0,7,0 40,0,6,0,41,0,34,0,38,0,26,0 10,0,45,0,4,0,21,0,22,0,16,0 8,0,39,0,7,0,29,0,46,0,15,0 35,0,20,0,32,0,34,0,13,0,3,0 14,0,40,0,28,0,10,0,2,0,12,0 24,0,17,0,22,0,19,0,38,0,5,0 44,0,11,0,21,0,23,0,27,0,41,0 9,0,37,0,31,0,6,0,45,0,43,0 25,0,18,0,30,0,33,0,26,0,36,0 1,0,22,0,15,0,42,0,32,0,41,0 ================================================ FILE: schedules/46_6.csv ================================================ 39,0,14,0,34,0,33,0,16,0,32,0 45,0,22,0,19,0,26,0,4,0,18,0 17,0,24,0,43,0,2,0,46,0,35,0 20,0,21,0,15,0,31,0,7,0,38,0 5,0,9,0,27,0,28,0,6,0,40,0 8,0,12,0,37,0,23,0,42,0,10,0 41,0,1,0,25,0,44,0,36,0,3,0 13,0,11,0,24,0,30,0,29,0,28,0 46,0,16,0,27,0,8,0,23,0,20,0 12,0,7,0,39,0,22,0,6,0,41,0 3,0,35,0,10,0,4,0,32,0,9,0 15,0,5,0,19,0,36,0,33,0,13,0 17,0,38,0,29,0,45,0,14,0,44,0 42,0,26,0,34,0,43,0,21,0,11,0 1,0,31,0,18,0,30,0,37,0,40,0 2,0,10,0,28,0,25,0,15,0,39,0 19,0,23,0,9,0,17,0,41,0,21,0 44,0,7,0,33,0,26,0,31,0,35,0 22,0,40,0,32,0,36,0,11,0,46,0 6,0,18,0,8,0,13,0,43,0,14,0 37,0,38,0,25,0,24,0,34,0,27,0 42,0,29,0,16,0,1,0,5,0,4,0 3,0,30,0,2,0,12,0,20,0,45,0 6,0,11,0,32,0,31,0,25,0,23,0 38,0,16,0,36,0,35,0,28,0,18,0 22,0,15,0,30,0,8,0,9,0,34,0 10,0,24,0,45,0,20,0,33,0,1,0 40,0,39,0,13,0,3,0,17,0,42,0 27,0,4,0,21,0,44,0,12,0,43,0 26,0,2,0,41,0,29,0,5,0,37,0 14,0,46,0,30,0,19,0,7,0,25,0 36,0,45,0,9,0,43,0,39,0,23,0 20,0,22,0,44,0,37,0,28,0,42,0 10,0,34,0,31,0,13,0,46,0,29,0 8,0,33,0,4,0,38,0,40,0,41,0 17,0,7,0,18,0,32,0,5,0,12,0 14,0,19,0,11,0,27,0,1,0,2,0 3,0,26,0,6,0,24,0,16,0,15,0 35,0,45,0,13,0,21,0,22,0,25,0 23,0,28,0,4,0,2,0,7,0,34,0 17,0,36,0,30,0,10,0,6,0,16,0 44,0,5,0,31,0,24,0,8,0,39,0 32,0,43,0,20,0,19,0,40,0,29,0 18,0,37,0,21,0,33,0,11,0,3,0 35,0,41,0,15,0,14,0,27,0,42,0 38,0,1,0,46,0,9,0,12,0,26,0 ================================================ FILE: schedules/46_7.csv ================================================ 29,0,13,0,21,0,42,0,32,0,4,0 28,0,27,0,2,0,43,0,3,0,22,0 14,0,9,0,39,0,12,0,38,0,26,0 33,0,19,0,8,0,1,0,34,0,16,0 20,0,30,0,36,0,15,0,7,0,35,0 24,0,45,0,17,0,46,0,25,0,18,0 10,0,11,0,5,0,41,0,6,0,37,0 31,0,23,0,32,0,44,0,40,0,33,0 43,0,15,0,46,0,39,0,42,0,25,0 38,0,14,0,28,0,1,0,17,0,35,0 9,0,13,0,27,0,34,0,30,0,37,0 23,0,41,0,24,0,20,0,19,0,26,0 4,0,2,0,12,0,44,0,18,0,11,0 3,0,6,0,16,0,40,0,36,0,22,0 10,0,45,0,21,0,7,0,8,0,31,0 29,0,11,0,23,0,5,0,27,0,1,0 32,1,41,0,2,0,24,1,38,0,25,0 18,0,15,0,33,0,14,0,21,0,3,0 40,0,30,0,5,0,43,0,10,0,42,0 13,0,22,0,35,0,44,0,8,0,46,0 31,0,9,0,6,0,17,0,20,0,4,0 12,0,39,0,37,0,19,0,36,0,29,0 7,0,34,0,45,0,16,0,26,0,28,0 44,0,42,0,38,0,20,0,3,0,27,0 2,0,5,0,17,0,39,0,33,0,13,0 22,0,1,0,26,0,15,0,32,0,10,0 46,0,21,0,16,0,23,0,9,0,30,0 25,0,28,0,4,0,37,0,40,0,19,0 34,0,12,0,35,0,6,0,7,0,24,0 36,0,43,0,14,0,45,0,41,0,11,0 8,0,18,0,30,0,29,0,31,0,38,0 10,0,37,0,25,0,3,0,23,0,35,0 44,0,27,0,21,0,28,0,6,0,39,0 7,0,32,0,19,0,5,0,14,0,46,0 34,0,29,0,20,0,45,0,40,0,2,0 42,0,11,0,31,0,24,0,22,0,16,0 36,0,41,0,13,0,9,0,18,0,1,0 15,0,26,0,4,0,8,0,17,0,43,0 12,0,22,0,42,0,33,0,35,0,45,0 39,0,16,0,18,0,10,0,28,0,20,0 2,0,37,0,1,0,31,0,46,0,26,0 33,0,43,0,11,0,29,0,7,0,9,0 3,0,30,0,41,0,17,0,32,0,12,0 25,0,34,0,44,0,21,0,36,0,5,0 8,0,40,0,4,0,14,0,24,0,27,0 15,0,6,0,38,0,13,0,23,0,19,0 18,0,20,0,37,0,32,0,43,0,34,0 3,0,24,0,1,0,30,0,39,0,45,0 31,0,27,0,16,0,25,0,13,0,12,0 8,0,14,0,42,0,2,0,6,0,23,0 40,0,26,0,35,0,21,0,19,0,11,0 46,0,38,0,33,0,10,0,4,0,36,0 7,0,22,0,44,0,29,0,41,0,17,0 5,0,9,0,32,0,28,0,15,0,24,0 ================================================ FILE: schedules/46_8.csv ================================================ 4,0,16,0,7,0,17,0,9,0,6,0 11,0,44,0,28,0,31,0,12,0,40,0 36,0,10,0,14,0,41,0,39,0,22,0 35,0,29,0,43,0,2,0,19,0,37,0 20,0,45,0,5,0,23,0,1,0,18,0 42,0,32,0,46,0,33,0,38,0,24,0 8,0,25,0,30,0,34,0,3,0,27,0 15,0,26,0,2,0,13,0,21,0,28,0 29,0,6,0,18,0,12,0,46,0,39,0 8,0,40,0,7,0,33,0,4,0,35,0 1,0,19,0,24,0,41,0,25,0,11,0 9,0,15,0,13,0,32,0,14,0,30,0 10,0,34,0,43,0,26,0,23,0,20,0 16,0,42,0,31,0,27,0,5,0,36,0 37,0,44,0,3,0,38,0,22,0,17,0 45,0,33,0,29,0,21,0,11,0,10,0 26,1,25,0,35,0,46,1,16,0,18,0 23,1,4,0,12,0,19,1,36,0,3,0 41,0,21,0,40,0,30,0,42,0,34,0 44,0,15,0,1,0,43,0,9,0,7,0 22,0,14,0,2,0,8,0,5,0,38,0 6,0,13,0,24,0,37,0,45,0,31,0 27,0,39,0,32,0,20,0,17,0,28,0 42,0,29,0,12,0,22,0,35,0,9,0 46,0,3,0,10,0,2,0,31,0,7,0 8,0,27,0,6,0,23,0,15,0,11,0 30,0,41,0,17,0,38,0,26,0,45,0 21,0,32,0,19,0,37,0,36,0,40,0 4,0,39,0,5,0,43,0,25,0,33,0 28,0,1,0,34,0,14,0,24,0,16,0 18,0,20,0,41,0,44,0,13,0,2,0 15,0,25,0,37,0,45,0,36,0,42,0 28,0,29,0,14,0,30,0,4,0,43,0 46,0,31,0,8,0,16,0,20,0,21,0 3,0,32,0,26,0,1,0,6,0,39,0 23,0,10,0,38,0,9,0,40,0,18,0 34,0,24,0,7,0,22,0,12,0,27,0 13,0,11,0,35,0,44,0,5,0,17,0 19,0,9,0,28,0,33,0,20,0,3,0 4,0,27,0,40,0,1,0,2,0,45,0 5,0,37,0,16,0,10,0,41,0,15,0 42,0,14,0,11,0,26,0,7,0,46,0 22,0,6,0,31,0,19,0,23,0,25,0 30,0,21,0,24,0,44,0,39,0,35,0 43,0,17,0,32,0,12,0,8,0,18,0 33,0,13,0,36,0,38,0,34,0,29,0 45,0,23,0,41,0,28,0,3,0,35,0 12,0,26,0,9,0,24,0,5,0,46,0 31,0,39,0,38,0,15,0,34,0,4,0 21,0,33,0,37,0,18,0,27,0,14,0 16,0,30,0,22,0,2,0,11,0,20,0 44,0,25,0,7,0,32,0,29,0,8,0 17,0,13,0,1,0,19,0,10,0,42,0 36,0,43,0,41,0,6,0,40,0,46,0 26,0,11,0,34,0,32,0,37,0,4,0 45,0,39,0,19,0,42,0,9,0,8,0 30,0,2,0,12,0,33,0,31,0,1,0 18,0,38,0,36,0,7,0,28,0,5,0 40,0,23,0,17,0,29,0,24,0,15,0 22,0,21,0,3,0,13,0,43,0,16,0 35,0,20,0,10,0,25,0,6,0,14,0 27,0,46,0,23,0,44,0,26,0,19,0 ================================================ FILE: schedules/46_9.csv ================================================ 1,0,25,0,21,0,23,0,31,0,46,0 39,0,30,0,36,0,32,0,8,0,19,0 4,0,11,0,5,0,6,0,29,0,40,0 33,0,42,0,37,0,34,0,38,0,15,0 44,0,22,0,10,0,35,0,2,0,43,0 27,0,9,0,13,0,24,0,12,0,26,0 16,0,20,0,45,0,17,0,18,0,3,0 7,0,14,0,1,0,41,0,28,0,38,0 15,0,6,0,21,0,10,0,12,0,32,0 5,0,30,0,16,0,26,0,42,0,25,0 35,0,37,0,29,0,46,0,28,0,39,0 8,0,4,0,31,0,20,0,7,0,24,0 2,0,18,0,41,0,33,0,13,0,3,0 23,0,44,0,45,0,11,0,40,0,22,0 17,0,34,0,19,0,14,0,43,0,9,0 36,0,5,0,41,0,27,0,18,0,30,0 23,0,26,0,29,0,3,0,6,0,7,0 14,0,15,0,35,0,40,0,43,0,13,0 12,0,20,0,25,0,34,0,24,0,28,0 42,0,44,0,31,0,9,0,4,0,36,0 2,0,10,0,46,0,17,0,39,0,45,0 11,0,32,0,16,0,38,0,37,0,22,0 27,0,1,0,19,0,8,0,21,0,33,0 39,0,12,0,7,0,45,0,14,0,25,0 43,0,17,0,36,0,38,0,6,0,4,0 19,0,23,0,28,0,27,0,44,0,41,0 10,0,29,0,1,0,30,0,13,0,34,0 8,0,35,0,22,0,18,0,9,0,15,0 40,0,33,0,46,0,26,0,20,0,32,0 2,0,11,0,42,0,16,0,24,0,21,0 3,0,37,0,19,0,31,0,5,0,12,0 36,0,38,0,20,0,13,0,25,0,10,0 43,0,32,0,42,0,26,0,45,0,27,0 5,0,29,0,14,0,2,0,31,0,22,0 3,0,9,0,35,0,33,0,11,0,1,0 17,0,30,0,24,0,37,0,7,0,23,0 28,0,18,0,21,0,15,0,4,0,40,0 8,0,34,0,39,0,16,0,44,0,46,0 6,0,22,0,26,0,41,0,19,0,20,0 30,0,31,0,9,0,21,0,38,0,45,0 4,0,33,0,23,0,39,0,13,0,37,0 18,0,46,0,25,0,11,0,6,0,27,0 2,0,34,0,5,0,32,0,35,0,7,0 8,0,10,0,42,0,3,0,14,0,28,0 36,0,12,0,40,0,16,0,1,0,43,0 15,0,24,0,44,0,17,0,29,0,41,0 13,0,46,0,11,0,42,0,7,0,19,0 3,0,40,0,39,0,27,0,34,0,22,0 24,0,45,0,29,0,36,0,33,0,10,0 2,0,6,0,44,0,18,0,37,0,1,0 35,0,26,0,28,0,21,0,31,0,17,0 12,0,43,0,38,0,5,0,8,0,23,0 32,0,41,0,9,0,16,0,4,0,25,0 14,0,20,0,27,0,30,0,15,0,37,0 1,0,28,0,45,0,43,0,24,0,5,0 6,0,35,0,31,0,42,0,16,0,41,0 34,0,11,0,23,0,15,0,2,0,36,0 3,0,21,0,26,0,44,0,38,0,14,0 4,0,22,0,46,0,33,0,12,0,30,0 18,0,7,0,40,0,19,0,9,0,10,0 17,0,25,0,32,0,8,0,13,0,29,0 39,0,43,0,27,0,20,0,31,0,11,0 33,0,16,0,15,0,44,0,5,0,7,0 18,0,32,0,29,0,14,0,23,0,12,0 22,0,20,0,17,0,36,0,42,0,1,0 24,0,38,0,3,0,35,0,46,0,19,0 28,0,30,0,6,0,2,0,9,0,39,0 21,0,40,0,37,0,25,0,41,0,8,0 26,0,4,0,13,0,45,0,34,0,10,0 ================================================ FILE: schedules/47_1.csv ================================================ 1,0,47,0,30,0,24,0,15,0,29,0 17,0,14,0,4,0,40,0,16,0,22,0 11,0,5,0,27,0,46,0,18,0,44,0 38,0,12,0,32,0,10,0,7,0,25,0 2,0,13,0,35,0,33,0,26,0,3,0 21,0,41,0,37,0,31,0,28,0,36,0 23,0,8,0,6,0,34,0,39,0,9,0 43,0,20,0,45,0,42,0,19,0,4,1 ================================================ FILE: schedules/47_10.csv ================================================ 28,0,34,0,32,0,27,0,24,0,14,0 1,0,26,0,23,0,40,0,11,0,41,0 46,0,17,0,30,0,15,0,25,0,36,0 33,0,44,0,12,0,22,0,47,0,37,0 10,0,35,0,42,0,6,0,45,0,43,0 9,0,8,0,3,0,20,0,29,0,38,0 18,0,7,0,31,0,5,0,21,0,4,0 39,0,19,0,16,0,2,0,13,0,6,0 12,0,47,0,43,0,3,0,28,0,30,0 20,0,25,0,8,0,7,0,4,0,36,0 38,0,19,0,32,0,21,0,1,0,35,0 15,0,11,0,22,0,9,0,13,0,27,0 40,0,24,0,45,0,41,0,5,0,17,0 14,0,39,0,18,0,10,0,26,0,46,0 37,0,44,0,23,0,16,0,42,0,2,0 31,0,29,0,13,0,33,0,34,0,1,0 6,1,8,0,10,0,19,1,41,0,28,0 7,1,25,0,9,0,40,1,14,0,12,0 46,0,36,0,3,0,34,0,35,0,26,0 4,0,31,0,23,0,37,0,27,0,15,0 32,0,47,0,20,0,22,0,29,0,39,0 45,0,21,0,11,0,30,0,18,0,33,0 38,0,24,0,5,0,44,0,16,0,43,0 2,0,9,0,26,0,17,0,42,0,47,0 45,0,25,0,35,0,15,0,23,0,29,0 41,0,18,0,13,0,7,0,38,0,12,0 28,0,44,0,24,0,4,0,11,0,46,0 34,0,42,0,22,0,21,0,10,0,30,0 43,0,40,0,32,0,36,0,8,0,33,0 5,0,39,0,2,0,1,0,27,0,3,0 16,0,14,0,17,0,31,0,20,0,6,0 19,0,15,0,46,0,37,0,12,0,41,0 29,0,9,0,4,0,40,0,13,0,21,0 22,0,3,0,5,0,42,0,26,0,25,0 23,0,19,0,47,0,10,0,14,0,38,0 39,0,27,0,44,0,8,0,43,0,31,0 37,0,32,0,18,0,17,0,34,0,6,0 35,0,30,0,11,0,24,0,2,0,20,0 1,0,16,0,28,0,45,0,33,0,7,0 36,0,41,0,14,0,44,0,42,0,13,0 43,0,18,0,10,0,2,0,15,0,32,0 35,0,29,0,46,0,22,0,16,0,7,0 33,0,21,0,17,0,23,0,3,0,24,0 45,0,4,0,12,0,39,0,6,0,38,0 31,0,27,0,26,0,19,0,30,0,20,0 36,0,1,0,9,0,37,0,5,0,28,0 40,0,34,0,8,0,47,0,11,0,25,0 15,0,24,0,7,0,3,0,26,0,39,0 22,0,2,0,12,0,31,0,45,0,36,0 14,0,37,0,30,0,35,0,38,0,8,0 13,0,47,0,5,0,23,0,21,0,32,0 6,0,19,0,1,0,43,0,46,0,9,0 27,0,28,0,42,0,29,0,40,0,18,0 25,0,4,0,17,0,16,0,11,0,10,0 20,0,33,0,15,0,34,0,41,0,44,0 23,0,38,0,40,0,46,0,22,0,18,0 7,0,13,0,35,0,47,0,31,0,10,0 2,0,33,0,11,0,14,0,5,0,19,0 8,0,12,0,42,0,1,0,24,0,17,0 37,0,21,0,25,0,28,0,39,0,20,0 32,0,29,0,6,0,30,0,26,0,44,0 36,0,34,0,27,0,45,0,16,0,9,0 4,0,41,0,22,0,3,0,43,0,14,0 28,0,18,0,17,0,19,0,35,0,44,0 27,0,6,0,7,0,33,0,25,0,38,0 20,0,12,0,34,0,5,0,23,0,43,0 15,0,30,0,16,0,40,0,1,0,47,0 10,0,36,0,37,0,11,0,29,0,24,0 8,0,26,0,13,0,21,0,2,0,46,0 3,0,41,0,45,0,31,0,9,0,32,0 39,0,42,0,1,0,4,0,35,0,33,0 5,0,6,0,15,0,28,0,22,0,8,0 13,0,45,0,10,0,40,0,37,0,20,0 19,0,2,0,29,0,24,0,4,0,34,0 36,0,30,0,39,0,18,0,9,0,23,0 17,0,27,0,43,0,7,0,47,0,14,0 46,0,31,0,38,0,32,0,11,0,42,0 41,0,26,0,21,0,25,0,12,0,16,0 44,0,6,0,40,0,3,0,19,0,7,0 ================================================ FILE: schedules/47_11.csv ================================================ 12,0,44,0,10,0,19,0,14,0,32,0 21,0,26,0,30,0,8,0,27,0,29,0 4,0,11,0,20,0,41,0,7,0,5,0 28,0,17,0,47,0,36,0,46,0,2,0 6,0,31,0,37,0,39,0,13,0,9,0 45,0,33,0,15,0,24,0,25,0,22,0 23,0,40,0,1,0,16,0,42,0,43,0 34,0,18,0,3,0,38,0,35,0,31,0 30,0,29,0,13,0,25,0,36,0,4,0 40,0,14,0,47,0,8,0,7,0,6,0 42,0,2,0,15,0,19,0,11,0,35,0 10,0,39,0,37,0,23,0,44,0,21,0 20,0,28,0,27,0,34,0,32,0,33,0 46,0,38,0,18,0,9,0,1,0,17,0 45,0,12,0,5,0,26,0,16,0,24,0 43,0,22,0,20,0,3,0,41,0,42,0 37,1,4,0,27,0,47,1,6,0,25,0 12,1,16,0,7,0,36,1,10,0,30,0 9,1,32,0,29,0,14,0,41,0,45,0 8,0,5,0,17,0,13,0,19,0,22,0 43,0,31,0,44,0,11,0,2,0,33,0 18,0,39,0,1,0,34,0,15,0,24,0 21,0,38,0,28,0,35,0,26,0,23,0 3,0,40,0,16,0,46,0,25,0,44,0 14,0,11,0,18,0,12,0,30,0,39,0 1,0,22,0,8,0,32,0,4,0,23,0 41,0,21,0,35,0,47,0,46,0,5,0 2,0,37,0,29,0,20,0,31,0,3,0 19,0,15,0,6,0,28,0,34,0,36,0 9,0,42,0,26,0,33,0,17,0,7,0 45,0,13,0,24,0,43,0,27,0,38,0 10,0,5,0,2,0,40,0,8,0,34,0 46,0,9,0,28,0,30,0,14,0,3,0 37,0,19,0,16,0,24,0,33,0,4,0 21,0,47,0,13,0,32,0,18,0,42,0 38,0,22,0,36,0,43,0,40,0,39,0 12,0,31,0,25,0,26,0,44,0,1,0 6,0,23,0,27,0,20,0,15,0,41,0 29,0,17,0,35,0,45,0,7,0,10,0 11,0,32,0,43,0,18,0,25,0,37,0 12,0,6,0,38,0,16,0,30,0,22,0 4,0,31,0,8,0,35,0,40,0,45,0 41,0,34,0,23,0,44,0,17,0,13,0 42,0,24,0,5,0,28,0,29,0,14,0 9,0,15,0,10,0,2,0,20,0,21,0 39,0,7,0,19,0,3,0,27,0,46,0 36,0,11,0,26,0,33,0,1,0,47,0 15,0,8,0,35,0,43,0,29,0,12,0 38,0,4,0,41,0,14,0,31,0,10,0 32,0,24,0,44,0,17,0,46,0,6,0 28,0,13,0,2,0,16,0,39,0,20,0 47,0,7,0,26,0,37,0,34,0,22,0 45,0,19,0,27,0,40,0,11,0,9,0 42,0,25,0,23,0,36,0,18,0,5,0 21,0,33,0,3,0,30,0,1,0,6,0 46,0,13,0,14,0,34,0,26,0,12,0 36,0,20,0,42,0,38,0,8,0,44,0 17,0,4,0,3,0,39,0,11,0,15,0 5,0,43,0,28,0,31,0,47,0,27,0 41,0,19,0,30,0,45,0,37,0,1,0 23,0,16,0,9,0,32,0,35,0,25,0 22,0,18,0,33,0,40,0,29,0,10,0 2,0,24,0,41,0,21,0,7,0,36,0 43,0,25,0,14,0,17,0,20,0,19,0 33,0,27,0,42,0,12,0,4,0,46,0 35,0,10,0,1,0,5,0,6,0,13,0 32,0,7,0,30,0,39,0,2,0,31,0 22,0,44,0,40,0,9,0,21,0,24,0 45,0,23,0,8,0,28,0,37,0,3,0 11,0,47,0,34,0,29,0,16,0,38,0 26,0,33,0,14,0,15,0,18,0,13,0 31,0,17,0,36,0,21,0,12,0,27,0 20,0,30,0,44,0,43,0,35,0,24,0 6,0,26,0,29,0,23,0,19,0,2,0 46,0,41,0,16,0,8,0,9,0,18,0 45,0,39,0,3,0,10,0,47,0,42,0 1,0,25,0,11,0,7,0,28,0,22,0 37,0,32,0,15,0,40,0,38,0,5,0 34,0,43,0,19,0,4,0,21,0,16,0 35,0,2,0,22,0,14,0,1,0,27,0 36,0,3,0,9,0,5,0,26,0,32,0 40,0,30,0,37,0,17,0,42,0,34,0 12,0,18,0,20,0,6,0,45,0,28,0 7,0,4,0,13,0,47,0,15,0,44,0 39,0,33,0,38,0,8,0,41,0,25,0 10,0,24,0,46,0,23,0,31,0,11,0 29,0,47,0,36,0,37,0,12,0,9,0 ================================================ FILE: schedules/47_12.csv ================================================ 37,0,45,0,13,0,4,0,43,0,26,0 21,0,24,0,31,0,22,0,47,0,30,0 18,0,44,0,42,0,38,0,46,0,11,0 23,0,8,0,41,0,7,0,20,0,39,0 2,0,33,0,28,0,17,0,14,0,27,0 25,0,5,0,19,0,40,0,16,0,34,0 6,0,10,0,35,0,12,0,9,0,29,0 3,0,15,0,32,0,36,0,1,0,2,0 44,0,45,0,20,0,27,0,25,0,7,0 39,0,26,0,12,0,16,0,18,0,9,0 29,0,22,0,31,0,38,0,17,0,43,0 42,0,33,0,10,0,40,0,13,0,21,0 47,0,8,0,37,0,28,0,4,0,23,0 30,0,36,0,35,0,34,0,41,0,46,0 1,0,11,0,32,0,14,0,19,0,3,0 15,0,5,0,26,0,24,0,6,0,25,0 47,0,34,0,9,0,33,0,36,0,37,0 8,0,4,0,2,0,41,0,44,0,1,0 6,0,19,0,28,0,20,0,30,0,13,0 18,0,11,0,7,0,31,0,40,0,17,0 46,0,32,0,39,0,24,0,38,0,10,0 3,0,42,0,27,0,22,0,35,0,12,0 5,0,16,0,29,0,14,0,45,0,15,0 43,0,23,0,19,0,21,0,18,0,4,0 27,0,30,0,2,0,47,0,10,0,11,0 5,0,9,0,13,0,14,0,31,0,46,0 3,0,24,0,22,0,7,0,41,0,37,0 43,0,40,0,15,0,44,0,12,0,23,0 32,0,17,0,34,0,42,0,45,0,16,0 20,0,28,0,8,0,29,0,36,0,21,0 38,0,35,0,39,0,26,0,25,0,1,0 33,0,46,0,19,0,6,0,2,0,3,0 9,0,44,0,40,0,32,0,8,0,29,0 24,0,30,0,5,0,23,0,13,0,17,0 14,0,21,0,1,0,6,0,27,0,34,0 25,0,15,0,16,0,11,0,22,0,33,0 4,0,20,0,37,0,36,0,39,0,18,0 47,0,45,0,43,0,41,0,42,0,35,0 12,0,31,0,7,0,28,0,26,0,38,0 25,0,22,0,34,0,10,0,13,0,4,0 43,0,16,0,39,0,30,0,40,0,3,0 6,0,45,0,31,0,36,0,24,0,28,0 20,0,14,0,18,0,7,0,35,0,15,0 10,0,46,0,37,0,11,0,8,0,27,0 23,0,26,0,29,0,2,0,42,0,32,0 47,0,12,0,41,0,5,0,33,0,1,0 9,0,21,0,38,0,17,0,19,0,44,0 8,0,6,0,18,0,22,0,2,0,16,0 13,0,24,0,1,0,43,0,11,0,20,0 27,0,21,0,45,0,39,0,15,0,9,0 17,0,4,0,36,0,10,0,5,0,12,0 47,0,42,0,28,0,35,0,19,0,32,0 30,0,26,0,34,0,3,0,44,0,29,0 23,0,46,0,7,0,31,0,33,0,25,0 40,0,41,0,38,0,37,0,14,0,9,0 17,0,15,0,8,0,34,0,43,0,35,0 45,0,32,0,33,0,21,0,22,0,46,0 3,0,18,0,26,0,4,0,5,0,27,0 16,0,24,0,23,0,44,0,38,0,36,0 1,0,40,0,20,0,28,0,10,0,31,0 29,0,39,0,2,0,13,0,47,0,7,0 30,0,11,0,14,0,19,0,12,0,37,0 41,0,25,0,28,0,6,0,42,0,9,0 13,0,34,0,3,0,38,0,47,0,18,0 33,0,35,0,14,0,8,0,24,0,26,0 27,0,10,0,20,0,5,0,43,0,42,0 4,0,7,0,32,0,30,0,6,0,15,0 11,0,21,0,12,0,2,0,25,0,23,0 17,0,37,0,16,0,1,0,46,0,29,0 19,0,36,0,31,0,40,0,22,0,45,0 41,0,39,0,33,0,44,0,28,0,11,0 3,0,17,0,1,0,26,0,9,0,20,0 24,0,27,0,46,0,40,0,19,0,29,0 25,0,36,0,32,0,13,0,18,0,43,0 15,0,2,0,31,0,34,0,42,0,37,0 38,0,6,0,12,0,8,0,30,0,45,0 10,0,7,0,21,0,16,0,41,0,4,0 44,0,39,0,22,0,23,0,5,0,35,0 14,0,34,0,12,0,47,0,20,0,46,0 42,0,4,0,40,0,24,0,2,0,9,0 33,0,44,0,30,0,1,0,45,0,18,0 17,0,28,0,29,0,3,0,8,0,25,0 10,0,43,0,36,0,7,0,26,0,19,0 11,0,35,0,37,0,5,0,32,0,21,0 38,0,13,0,31,0,15,0,27,0,41,0 6,0,14,0,16,0,39,0,23,0,47,0 22,0,28,0,9,0,34,0,2,0,11,0 12,0,27,0,18,0,41,0,32,0,24,0 7,0,36,0,5,0,30,0,1,0,42,0 40,0,46,0,26,0,47,0,15,0,21,0 14,0,43,0,44,0,17,0,39,0,6,0 25,0,45,0,10,0,3,0,23,0,37,0 22,0,4,0,38,0,20,0,29,0,33,0 19,0,13,0,16,0,8,0,35,0,31,0 ================================================ FILE: schedules/47_13.csv ================================================ 40,0,34,0,45,0,5,0,8,0,44,0 47,0,12,0,31,0,23,0,20,0,42,0 28,0,22,0,4,0,27,0,35,0,26,0 7,0,30,0,46,0,2,0,43,0,29,0 19,0,10,0,9,0,21,0,32,0,15,0 6,0,14,0,17,0,11,0,13,0,3,0 24,0,25,0,36,0,1,0,18,0,39,0 33,0,38,0,37,0,41,0,16,0,35,0 15,0,4,0,20,0,44,0,2,0,26,0 14,0,5,0,23,0,36,0,6,0,21,0 3,0,34,0,16,0,41,0,7,0,22,0 29,0,38,0,11,0,37,0,18,0,8,0 28,0,33,0,31,0,30,0,25,0,9,0 24,0,32,0,39,0,19,0,46,0,27,0 12,0,1,0,43,0,13,0,40,0,10,0 42,0,47,0,14,0,45,0,17,0,25,0 34,1,19,0,30,0,29,0,22,0,6,0 9,0,36,0,38,0,2,0,12,0,7,0 16,0,20,0,1,0,28,0,46,0,45,0 13,0,24,0,8,0,47,0,35,0,44,0 3,0,23,0,15,0,43,0,27,0,4,0 17,0,5,0,31,0,33,0,10,0,18,0 42,0,39,0,26,0,37,0,21,0,40,0 41,0,11,0,2,0,32,0,44,0,25,0 8,0,14,0,16,0,30,0,20,0,12,0 9,0,43,0,26,0,47,0,3,0,38,0 6,0,41,0,23,0,15,0,40,0,19,0 29,0,35,0,32,0,5,0,1,0,28,0 24,0,33,0,7,0,10,0,37,0,42,0 46,0,39,0,21,0,11,0,22,0,17,0 45,0,27,0,36,0,13,0,34,0,31,0 4,0,40,0,7,0,18,0,32,0,23,0 3,0,22,0,25,0,10,0,24,0,35,0 27,0,21,0,30,0,13,0,41,0,38,0 46,0,11,0,26,0,5,0,43,0,6,0 15,0,14,0,44,0,16,0,47,0,18,0 17,0,37,0,20,0,1,0,9,0,4,0 8,0,29,0,19,0,31,0,42,0,36,0 2,0,34,0,33,0,39,0,12,0,45,0 28,0,43,0,13,0,41,0,18,0,9,0 3,0,14,0,27,0,26,0,31,0,37,0 44,0,10,0,22,0,2,0,8,0,15,0 42,0,19,0,45,0,46,0,16,0,36,0 32,0,47,0,40,0,29,0,33,0,30,0 17,0,35,0,1,0,34,0,23,0,39,0 12,0,11,0,21,0,24,0,28,0,20,0 25,0,4,0,5,0,38,0,7,0,6,0 29,0,17,0,36,0,35,0,9,0,15,0 3,0,46,0,10,0,28,0,40,0,14,0 32,0,1,0,34,0,43,0,42,0,8,0 19,0,23,0,21,0,25,0,2,0,38,0 37,0,24,0,4,0,45,0,30,0,13,0 44,0,11,0,6,0,16,0,31,0,39,0 41,0,27,0,47,0,20,0,7,0,5,0 26,0,22,0,18,0,33,0,12,0,23,0 9,0,32,0,28,0,6,0,24,0,45,0 15,0,31,0,7,0,21,0,14,0,35,0 38,0,17,0,43,0,36,0,44,0,39,0 2,0,1,0,19,0,5,0,47,0,26,0 13,0,25,0,37,0,40,0,20,0,22,0 8,0,4,0,12,0,46,0,41,0,33,0 30,0,18,0,11,0,42,0,34,0,27,0 29,0,3,0,39,0,16,0,10,0,32,0 35,0,6,0,40,0,14,0,2,0,13,0 28,0,37,0,7,0,19,0,12,0,44,0 5,0,46,0,18,0,9,0,16,0,42,0 10,0,30,0,15,0,34,0,20,0,25,0 45,0,29,0,41,0,26,0,23,0,24,0 1,0,11,0,36,0,21,0,3,0,33,0 43,0,47,0,22,0,4,0,38,0,31,0 8,0,40,0,30,0,27,0,17,0,9,0 35,0,3,0,18,0,20,0,19,0,26,0 37,0,12,0,22,0,43,0,45,0,32,0 42,0,24,0,21,0,34,0,4,0,14,0 6,0,2,0,16,0,8,0,1,0,33,0 31,0,44,0,27,0,25,0,46,0,29,0 47,0,15,0,13,0,39,0,5,0,11,0 23,0,36,0,7,0,28,0,41,0,17,0 38,0,45,0,35,0,10,0,6,0,27,0 39,0,43,0,33,0,29,0,14,0,20,0 36,0,18,0,12,0,22,0,5,0,30,0 10,0,4,0,23,0,8,0,9,0,11,0 25,0,16,0,7,0,32,0,13,0,26,0 15,0,41,0,34,0,46,0,37,0,47,0 40,0,2,0,17,0,24,0,19,0,31,0 21,0,38,0,44,0,42,0,3,0,1,0 28,0,25,0,39,0,8,0,7,0,34,0 18,0,20,0,2,0,6,0,32,0,37,0 10,0,26,0,29,0,13,0,4,0,36,0 42,0,46,0,44,0,30,0,35,0,23,0 16,0,27,0,12,0,47,0,17,0,21,0 9,0,31,0,22,0,14,0,1,0,41,0 45,0,33,0,5,0,19,0,43,0,3,0 40,0,24,0,38,0,15,0,11,0,28,0 6,0,25,0,47,0,34,0,36,0,37,0 39,0,8,0,35,0,41,0,3,0,12,0 1,0,30,0,26,0,10,0,11,0,7,0 23,0,31,0,43,0,15,0,24,0,16,0 13,0,42,0,33,0,27,0,28,0,2,0 32,0,5,0,19,0,17,0,4,0,44,0 45,0,21,0,20,0,40,0,29,0,18,0 46,0,9,0,14,0,22,0,38,0,34,0 ================================================ FILE: schedules/47_14.csv ================================================ 19,0,29,0,32,0,15,0,26,0,12,0 10,0,4,0,28,0,21,0,18,0,44,0 30,0,11,0,45,0,9,0,43,0,7,0 20,0,35,0,39,0,47,0,40,0,5,0 41,0,3,0,25,0,6,0,24,0,8,0 37,0,2,0,33,0,22,0,31,0,23,0 46,0,34,0,14,0,17,0,38,0,16,0 42,0,27,0,1,0,13,0,36,0,4,0 44,0,47,0,29,0,9,0,40,0,33,0 15,0,17,0,30,0,11,0,41,0,20,0 10,0,8,0,36,0,32,0,28,0,37,0 22,0,35,0,14,0,3,0,19,0,23,0 2,0,42,0,39,0,12,0,24,0,38,0 31,0,18,0,25,0,1,0,46,0,13,0 26,0,5,0,6,0,16,0,7,0,34,0 43,0,27,0,39,0,21,0,45,0,9,0 22,1,44,0,40,0,18,1,46,0,15,0 32,0,41,0,8,0,31,0,2,0,34,0 23,0,33,0,42,0,27,0,16,0,10,0 43,0,6,0,14,0,29,0,5,0,7,0 36,0,12,0,25,0,21,0,30,0,26,0 37,0,3,0,35,0,47,0,1,0,38,0 13,0,11,0,19,0,17,0,28,0,20,0 4,0,24,0,32,0,45,0,7,0,33,0 34,0,29,0,40,0,31,0,44,0,1,0 35,0,10,0,30,0,36,0,43,0,21,0 28,0,16,0,45,0,18,0,3,0,12,0 22,0,2,0,11,0,6,0,13,0,39,0 8,0,20,0,42,0,47,0,25,0,14,0 27,0,5,0,38,0,17,0,19,0,41,0 15,0,23,0,24,0,9,0,46,0,4,0 37,0,31,0,16,0,26,0,36,0,20,0 14,0,40,0,42,0,30,0,2,0,3,0 21,0,38,0,33,0,1,0,8,0,25,0 6,0,9,0,12,0,46,0,37,0,19,0 27,0,11,0,24,0,34,0,23,0,18,0 28,0,44,0,13,0,7,0,47,0,32,0 41,0,39,0,10,0,45,0,35,0,15,0 26,0,22,0,29,0,43,0,4,0,5,0 17,0,1,0,37,0,44,0,30,0,23,0 20,0,25,0,16,0,9,0,11,0,47,0 3,0,8,0,4,0,6,0,34,0,35,0 21,0,28,0,42,0,39,0,15,0,29,0 12,0,14,0,41,0,22,0,33,0,18,0 32,0,43,0,2,0,46,0,17,0,24,0 7,0,27,0,19,0,10,0,26,0,40,0 36,0,38,0,45,0,31,0,13,0,5,0 29,0,30,0,43,0,16,0,18,0,8,0 10,0,7,0,2,0,47,0,27,0,35,0 24,0,45,0,19,0,20,0,4,0,15,0 34,0,25,0,44,0,22,0,39,0,12,0 41,0,40,0,38,0,13,0,21,0,32,0 9,0,31,0,26,0,6,0,23,0,28,0 46,0,5,0,33,0,37,0,11,0,42,0 1,0,14,0,36,0,3,0,17,0,27,0 41,0,13,0,7,0,29,0,35,0,12,0 38,0,4,0,37,0,20,0,40,0,32,0 33,0,26,0,8,0,36,0,17,0,18,0 19,0,25,0,28,0,2,0,1,0,16,0 47,0,15,0,34,0,45,0,23,0,43,0 14,0,21,0,11,0,6,0,42,0,44,0 24,0,10,0,5,0,9,0,30,0,22,0 3,0,39,0,7,0,46,0,31,0,8,0 23,0,4,0,40,0,28,0,41,0,36,0 29,0,45,0,37,0,38,0,25,0,11,0 15,0,9,0,1,0,2,0,19,0,5,0 46,0,21,0,20,0,3,0,22,0,13,0 39,0,31,0,32,0,30,0,14,0,27,0 17,0,34,0,12,0,43,0,10,0,42,0 33,0,44,0,24,0,16,0,35,0,26,0 47,0,18,0,39,0,6,0,19,0,36,0 5,0,32,0,3,0,25,0,23,0,10,0 1,0,41,0,34,0,7,0,14,0,37,0 2,0,27,0,20,0,44,0,43,0,12,0 6,0,15,0,33,0,30,0,13,0,38,0 17,0,40,0,21,0,24,0,9,0,16,0 4,0,31,0,35,0,8,0,11,0,28,0 46,0,45,0,22,0,47,0,26,0,42,0 18,0,7,0,6,0,29,0,20,0,23,0 43,0,17,0,31,0,25,0,37,0,39,0 8,0,44,0,19,0,42,0,45,0,41,0 27,0,18,0,29,0,40,0,2,0,35,0 36,0,16,0,22,0,3,0,38,0,15,0 47,0,30,0,24,0,28,0,5,0,1,0 13,0,9,0,34,0,4,0,33,0,12,0 11,0,26,0,46,0,32,0,10,0,14,0 44,0,7,0,36,0,21,0,2,0,25,0 23,0,13,0,16,0,39,0,30,0,4,0 42,0,38,0,31,0,43,0,24,0,18,0 21,0,47,0,19,0,34,0,11,0,32,0 14,0,20,0,9,0,35,0,46,0,41,0 5,0,22,0,15,0,27,0,37,0,8,0 26,0,3,0,28,0,29,0,33,0,17,0 40,0,1,0,6,0,12,0,10,0,45,0 19,0,22,0,38,0,31,0,7,0,30,0 17,0,9,0,35,0,15,0,32,0,42,0 46,0,6,0,25,0,28,0,27,0,33,0 3,0,47,0,43,0,4,0,44,0,41,0 36,0,37,0,24,0,13,0,29,0,14,0 12,0,8,0,23,0,40,0,11,0,16,0 20,0,10,0,1,0,26,0,34,0,39,0 18,0,45,0,2,0,5,0,21,0,37,0 16,0,47,0,12,0,41,0,31,0,24,0 13,0,43,0,33,0,39,0,40,0,19,0 1,0,18,0,32,0,22,0,20,0,6,0 30,0,8,0,5,0,44,0,46,0,27,0 26,0,4,0,45,0,38,0,2,0,14,0 15,0,10,0,11,0,36,0,3,0,29,0 23,0,7,0,35,0,17,0,42,0,25,0 28,0,9,0,18,0,21,0,34,0,22,0 ================================================ FILE: schedules/47_2.csv ================================================ 23,0,14,0,6,0,29,0,33,0,8,0 4,0,44,0,41,0,42,0,9,0,36,0 38,0,39,0,16,0,18,0,3,0,35,0 26,0,46,0,2,0,15,0,13,0,27,0 43,0,28,0,7,0,32,0,24,0,1,0 31,0,34,0,37,0,30,0,47,0,21,0 45,0,40,0,5,0,22,0,12,0,11,0 10,0,25,0,17,0,20,0,19,0,41,0 14,0,21,0,1,0,35,0,44,0,27,0 32,0,9,0,29,0,40,0,26,0,37,0 19,0,47,0,5,0,36,0,16,0,43,0 12,0,42,0,24,0,25,0,23,0,39,0 6,0,22,0,4,0,7,0,2,0,10,0 33,0,11,0,46,0,17,0,18,0,34,0 8,0,30,0,15,0,38,0,20,0,45,0 13,0,3,0,40,1,31,0,28,0,14,1 ================================================ FILE: schedules/47_3.csv ================================================ 42,0,30,0,41,0,46,0,16,0,4,0 1,0,40,0,33,0,13,0,6,0,9,0 35,0,26,0,17,0,3,0,5,0,12,0 36,0,11,0,44,0,31,0,38,0,45,0 15,0,14,0,47,0,37,0,25,0,32,0 39,0,20,0,18,0,43,0,23,0,2,0 27,0,22,0,24,0,10,0,21,0,29,0 28,0,19,0,5,0,34,0,8,0,7,0 32,1,38,0,4,0,3,1,33,0,43,0 46,1,31,0,21,0,37,0,40,0,12,0 2,0,29,0,34,0,16,0,36,0,14,0 8,0,9,0,10,0,39,0,17,0,30,0 42,0,26,0,23,0,47,0,44,0,24,0 19,0,27,0,11,0,41,0,1,0,15,0 20,0,22,0,45,0,35,0,6,0,7,0 13,0,25,0,31,0,28,0,18,0,42,0 46,0,38,0,8,0,26,0,14,0,27,0 37,0,33,0,24,0,30,0,20,0,19,0 5,0,16,0,32,0,22,0,23,0,1,0 6,0,21,0,43,0,17,0,34,0,25,0 13,0,39,0,3,0,44,0,29,0,15,0 47,0,9,0,7,0,41,0,12,0,36,0 2,0,40,0,4,0,11,0,35,0,28,0 10,0,45,0,32,0,18,0,3,0,46,0 ================================================ FILE: schedules/47_4.csv ================================================ 29,0,15,0,24,0,36,0,13,0,41,0 16,0,31,0,33,0,9,0,35,0,22,0 32,0,46,0,10,0,7,0,27,0,34,0 43,0,1,0,23,0,47,0,25,0,37,0 26,0,21,0,12,0,30,0,19,0,8,0 42,0,3,0,18,0,17,0,14,0,45,0 5,0,44,0,38,0,20,0,28,0,40,0 11,0,6,0,39,0,2,0,4,0,16,0 30,0,9,0,37,0,24,0,45,0,46,0 14,0,21,0,10,0,15,0,1,0,5,0 18,0,41,0,27,0,35,0,38,0,39,0 13,0,25,0,22,0,11,0,40,0,7,0 26,0,36,0,17,0,33,0,6,0,44,0 32,0,4,0,20,0,29,0,19,0,43,0 3,0,34,0,31,0,2,0,12,0,23,0 47,0,28,0,16,0,8,0,42,0,24,0 5,1,7,0,4,0,36,1,18,0,37,0 45,1,39,0,44,0,23,1,10,0,13,0 35,0,25,0,2,0,46,0,28,0,19,0 38,0,32,0,1,0,8,0,3,0,33,0 6,0,42,0,41,0,43,0,21,0,22,0 11,0,27,0,20,0,26,0,31,0,15,0 40,0,9,0,29,0,47,0,17,0,12,0 14,0,36,0,43,0,34,0,30,0,35,0 37,0,39,0,22,0,26,0,28,0,3,0 15,0,17,0,16,0,23,0,38,0,7,0 40,0,46,0,8,0,41,0,14,0,4,0 2,0,45,0,21,0,33,0,27,0,29,0 5,0,30,0,47,0,6,0,13,0,31,0 25,0,10,0,12,0,24,0,18,0,20,0 19,0,34,0,9,0,44,0,1,0,42,0 11,0,5,0,45,0,32,0,36,0,23,0 ================================================ FILE: schedules/47_5.csv ================================================ 40,0,39,0,35,0,21,0,38,0,6,0 3,0,31,0,29,0,30,0,37,0,25,0 1,0,13,0,16,0,11,0,28,0,20,0 47,0,33,0,19,0,46,0,43,0,23,0 34,0,42,0,7,0,22,0,17,0,9,0 18,0,36,0,8,0,44,0,4,0,2,0 27,0,5,0,32,0,41,0,12,0,24,0 14,0,10,0,15,0,26,0,45,0,7,0 4,0,37,0,1,0,19,0,42,0,39,0 30,0,46,0,41,0,18,0,34,0,13,0 21,0,22,0,20,0,3,0,14,0,23,0 45,0,43,0,36,0,12,0,31,0,17,0 5,0,6,0,9,0,11,0,26,0,47,0 25,0,38,0,16,0,8,0,32,0,10,0 15,0,40,0,33,0,24,0,2,0,29,0 28,0,44,0,17,0,35,0,27,0,46,0 18,1,5,0,3,0,43,1,10,0,1,0 6,1,2,0,42,0,38,1,45,0,30,0 20,1,31,0,32,0,8,0,33,0,26,0 9,0,36,0,27,0,13,0,40,0,25,0 28,0,24,0,47,0,34,0,14,0,39,0 23,0,37,0,7,0,44,0,12,0,16,0 41,0,22,0,35,0,15,0,4,0,11,0 21,0,19,0,45,0,29,0,13,0,5,0 37,0,17,0,14,0,40,0,18,0,32,0 23,0,31,0,15,0,38,0,1,0,9,0 24,0,11,0,46,0,42,0,21,0,36,0 29,0,12,0,47,0,44,0,35,0,20,0 30,0,10,0,39,0,22,0,33,0,27,0 2,0,26,0,34,0,43,0,4,0,25,0 6,0,28,0,3,0,8,0,41,0,7,0 16,0,35,0,18,0,19,0,31,0,24,0 39,0,20,0,25,0,15,0,46,0,5,0 6,0,17,0,4,0,23,0,13,0,10,0 30,0,12,0,8,0,19,0,40,0,9,0 38,0,22,0,26,0,37,0,28,0,36,0 41,0,43,0,14,0,16,0,29,0,42,0 45,0,33,0,11,0,34,0,3,0,44,0 1,0,7,0,2,0,21,0,47,0,32,0 27,0,18,0,38,0,43,0,6,0,20,0 ================================================ FILE: schedules/47_6.csv ================================================ 33,0,29,0,26,0,12,0,24,0,44,0 21,0,28,0,42,0,30,0,32,0,4,0 27,0,1,0,37,0,10,0,41,0,25,0 31,0,23,0,39,0,20,0,43,0,7,0 14,0,11,0,9,0,6,0,19,0,47,0 15,0,34,0,13,0,18,0,5,0,3,0 35,0,36,0,40,0,38,0,17,0,16,0 8,0,22,0,2,0,46,0,45,0,6,0 21,0,23,0,41,0,29,0,13,0,19,0 44,0,9,0,3,0,1,0,43,0,36,0 40,0,30,0,2,0,39,0,15,0,14,0 25,0,16,0,11,0,46,0,34,0,32,0 5,0,7,0,38,0,22,0,33,0,27,0 42,0,18,0,8,0,31,0,47,0,10,0 45,0,28,0,24,0,17,0,12,0,37,0 20,0,26,0,2,0,35,0,4,0,1,0 32,0,29,0,7,0,36,0,34,0,8,0 21,0,13,0,12,0,43,0,47,0,16,0 15,0,26,0,45,0,25,0,38,0,19,0 41,0,46,0,20,0,24,0,18,0,9,0 35,0,33,0,10,0,28,0,39,0,11,0 4,0,37,0,31,0,40,0,44,0,5,0 27,0,42,0,3,0,14,0,23,0,22,0 6,0,17,0,20,0,30,0,10,0,29,0 47,0,36,0,15,0,4,0,26,0,41,0 8,0,46,0,38,0,13,0,44,0,28,0 43,0,19,0,40,0,33,0,32,0,42,0 14,0,1,0,31,0,34,0,21,0,45,0 37,0,16,0,18,0,6,0,27,0,39,0 12,0,30,0,35,0,9,0,23,0,5,0 3,0,24,0,17,0,25,0,2,0,7,0 22,0,37,0,29,0,11,0,15,0,43,0 44,0,46,0,30,0,45,0,35,0,47,0 40,0,20,0,9,0,8,0,27,0,21,0 12,0,5,0,36,0,42,0,2,0,11,0 24,0,19,0,10,0,16,0,22,0,34,0 38,0,32,0,13,0,17,0,1,0,39,0 6,0,3,0,41,0,26,0,28,0,31,0 14,0,4,0,25,0,33,0,23,0,18,0 7,0,42,0,44,0,20,0,16,0,15,0 24,0,27,0,30,0,11,0,13,0,31,0 33,0,25,0,36,0,21,0,35,0,6,0 34,0,47,0,38,0,37,0,2,0,23,0 5,0,14,0,43,0,8,0,41,0,17,0 22,0,1,0,18,0,29,0,28,0,40,0 39,0,46,0,4,0,3,0,12,0,19,0 45,0,7,0,10,0,32,0,26,0,9,0 ================================================ FILE: schedules/47_7.csv ================================================ 40,0,6,0,12,0,26,0,38,0,16,0 13,0,17,0,27,0,39,0,21,0,23,0 7,0,29,0,19,0,10,0,46,0,15,0 45,0,22,0,14,0,9,0,44,0,47,0 1,0,8,0,32,0,5,0,42,0,35,0 28,0,11,0,20,0,24,0,36,0,30,0 2,0,43,0,31,0,34,0,41,0,37,0 33,0,25,0,3,0,18,0,4,0,8,0 28,0,44,0,13,0,11,0,26,0,10,0 36,0,22,0,32,0,31,0,17,0,37,0 18,0,42,0,3,0,38,0,46,0,43,0 4,0,40,0,23,0,41,0,19,0,1,0 5,0,39,0,14,0,24,0,29,0,6,0 35,0,30,0,47,0,2,0,7,0,12,0 15,0,25,0,45,0,20,0,33,0,27,0 9,0,34,0,24,0,16,0,21,0,8,0 38,1,4,0,31,0,11,0,39,0,35,0 36,0,47,0,10,0,43,0,6,0,33,0 16,0,45,0,19,0,5,0,28,0,37,0 46,0,9,0,30,0,26,0,34,0,23,0 40,0,22,0,29,0,42,0,25,0,7,0 15,0,41,0,32,0,13,0,14,0,12,0 21,0,2,0,44,0,1,0,3,0,20,0 18,0,17,0,10,0,27,0,40,0,16,0 30,0,13,0,38,0,5,0,9,0,4,0 25,0,24,0,41,0,1,0,46,0,47,0 14,0,34,0,3,0,35,0,17,0,28,0 36,0,15,0,6,0,44,0,18,0,23,0 26,0,39,0,7,0,45,0,2,0,32,0 8,0,20,0,12,0,43,0,27,0,22,0 42,0,21,0,33,0,19,0,37,0,11,0 31,0,16,0,13,0,29,0,3,0,30,0 7,0,20,0,6,0,9,0,41,0,17,0 11,0,47,0,43,0,15,0,27,0,5,0 4,0,42,0,12,0,10,0,45,0,34,0 39,0,44,0,46,0,28,0,40,0,8,0 22,0,23,0,2,0,24,0,38,0,33,0 14,0,31,0,26,0,25,0,21,0,19,0 1,0,29,0,35,0,36,0,37,0,18,0 9,0,11,0,15,0,32,0,40,0,3,0 44,0,33,0,41,0,30,0,27,0,42,0 34,0,19,0,6,0,1,0,22,0,13,0 26,0,4,0,35,0,20,0,43,0,16,0 46,0,5,0,2,0,36,0,12,0,17,0 14,0,18,0,24,0,31,0,7,0,45,0 23,0,10,0,37,0,39,0,8,0,25,0 28,0,38,0,21,0,47,0,32,0,29,0 42,0,46,0,16,0,14,0,2,0,15,0 35,0,40,0,43,0,23,0,24,0,13,0 19,0,39,0,47,0,20,0,18,0,30,0 34,0,38,0,32,0,44,0,36,0,25,0 37,0,27,0,7,0,4,0,3,0,6,0 21,0,26,0,41,0,5,0,22,0,10,0 28,0,12,0,1,0,33,0,9,0,31,0 17,0,45,0,8,0,29,0,11,0,38,0 ================================================ FILE: schedules/47_8.csv ================================================ 11,0,23,0,26,0,28,0,35,0,3,0 20,0,43,0,19,0,1,0,22,0,13,0 33,0,14,0,37,0,34,0,9,0,2,0 17,0,42,0,31,0,6,0,5,0,46,0 24,0,41,0,8,0,21,0,18,0,39,0 29,0,44,0,27,0,30,0,32,0,38,0 12,0,25,0,4,0,15,0,16,0,36,0 45,0,10,0,7,0,47,0,40,0,21,0 33,0,18,0,29,0,31,0,43,0,26,0 37,0,1,0,8,0,6,0,23,0,12,0 40,0,38,0,44,0,36,0,20,0,25,0 16,0,46,0,28,0,10,0,2,0,5,0 45,0,11,0,19,0,27,0,17,0,34,0 9,0,15,0,41,0,3,0,13,0,30,0 22,0,47,0,7,0,14,0,35,0,39,0 24,0,4,0,43,0,32,0,42,0,11,0 19,1,6,0,16,0,26,1,18,0,15,0 20,0,46,0,41,0,35,0,7,0,37,0 24,0,36,0,38,0,22,0,5,0,14,0 4,0,45,0,3,0,44,0,10,0,33,0 25,0,34,0,47,0,8,0,31,0,32,0 2,0,27,0,13,0,1,0,21,0,42,0 23,0,39,0,9,0,40,0,17,0,29,0 30,0,12,0,31,0,28,0,20,0,45,0 34,0,3,0,38,0,46,0,21,0,43,0 10,0,13,0,17,0,14,0,29,0,25,0 5,0,44,0,35,0,18,0,12,0,40,0 33,0,16,0,9,0,7,0,27,0,8,0 15,0,6,0,32,0,22,0,23,0,2,0 41,0,42,0,36,0,47,0,26,0,28,0 30,0,37,0,4,0,24,0,1,0,19,0 39,0,6,0,13,0,11,0,5,0,38,0 20,0,35,0,16,0,34,0,29,0,42,0 2,0,24,0,40,0,41,0,12,0,43,0 19,0,23,0,46,0,9,0,44,0,45,0 47,0,37,0,18,0,27,0,25,0,3,0 8,0,26,0,30,0,10,0,22,0,11,0 32,0,28,0,36,0,33,0,39,0,7,0 14,0,17,0,1,0,15,0,21,0,31,0 29,0,20,0,2,0,4,0,47,0,11,0 28,0,30,0,40,0,16,0,37,0,13,0 32,0,1,0,35,0,36,0,10,0,9,0 3,0,12,0,21,0,19,0,31,0,39,0 41,0,34,0,33,0,22,0,44,0,42,0 7,0,23,0,17,0,4,0,18,0,38,0 5,0,43,0,27,0,14,0,8,0,15,0 46,0,25,0,45,0,26,0,6,0,24,0 38,0,10,0,42,0,12,0,37,0,9,0 14,0,31,0,11,0,44,0,41,0,16,0 6,0,36,0,7,0,34,0,43,0,30,0 18,0,45,0,35,0,32,0,4,0,13,0 22,0,40,0,39,0,46,0,1,0,27,0 2,0,26,0,3,0,17,0,8,0,20,0 19,0,5,0,21,0,33,0,23,0,25,0 15,0,47,0,29,0,28,0,24,0,34,0 22,0,35,0,43,0,45,0,16,0,17,0 8,0,18,0,2,0,19,0,36,0,30,0 5,0,1,0,29,0,3,0,41,0,7,0 39,0,44,0,15,0,37,0,42,0,26,0 13,0,46,0,11,0,12,0,33,0,47,0 23,0,27,0,10,0,24,0,31,0,20,0 6,0,25,0,21,0,9,0,4,0,28,0 14,0,38,0,26,0,32,0,40,0,19,0 ================================================ FILE: schedules/47_9.csv ================================================ 31,0,45,0,5,0,21,0,11,0,6,0 12,0,1,0,25,0,13,0,44,0,41,0 34,0,38,0,18,0,39,0,9,0,14,0 7,0,46,0,36,0,4,0,16,0,26,0 43,0,23,0,35,0,19,0,28,0,15,0 47,0,33,0,8,0,10,0,37,0,30,0 29,0,20,0,3,0,32,0,24,0,27,0 40,0,42,0,2,0,17,0,22,0,35,0 46,0,9,0,44,0,47,0,13,0,43,0 34,0,6,0,4,0,33,0,38,0,29,0 30,0,39,0,32,0,26,0,28,0,42,0 14,0,41,0,25,0,24,0,21,0,40,0 10,0,31,0,36,0,15,0,3,0,1,0 7,0,18,0,16,0,11,0,22,0,19,0 5,0,2,0,37,0,17,0,23,0,27,0 12,0,8,0,35,0,20,0,45,0,39,0 7,1,22,0,42,0,21,1,46,0,3,0 17,0,32,0,37,0,18,1,31,0,43,0 24,0,12,0,11,0,28,0,1,0,9,0 30,0,15,0,27,0,40,0,33,0,45,0 34,0,25,0,10,0,5,0,20,0,16,0 26,0,6,0,44,0,14,0,4,0,23,0 19,0,29,0,41,0,8,0,38,0,36,0 47,0,16,0,24,0,2,0,13,0,33,0 3,0,17,0,30,0,6,0,12,0,9,0 28,0,22,0,41,0,31,0,44,0,20,0 38,0,25,0,23,0,32,0,18,0,46,0 11,0,35,0,39,0,4,0,27,0,36,0 13,0,42,0,14,0,29,0,15,0,37,0 34,0,8,0,43,0,40,0,1,0,7,0 10,0,19,0,26,0,21,0,45,0,2,0 47,0,4,0,18,0,5,0,12,0,15,0 3,0,31,0,9,0,8,0,29,0,23,0 30,0,33,0,44,0,36,0,11,0,42,0 1,0,6,0,45,0,7,0,25,0,37,0 34,0,24,0,28,0,46,0,10,0,22,0 26,0,38,0,21,0,17,0,47,0,20,0 32,0,13,0,40,0,19,0,39,0,5,0 41,0,16,0,43,0,14,0,35,0,27,0 2,0,26,0,12,0,31,0,34,0,29,0 23,0,6,0,36,0,40,0,22,0,47,0 21,0,42,0,4,0,24,0,8,0,18,0 27,0,7,0,44,0,9,0,10,0,32,0 20,0,37,0,41,0,15,0,11,0,2,0 14,0,46,0,30,0,5,0,1,0,35,0 13,0,28,0,45,0,16,0,38,0,17,0 33,0,3,0,39,0,43,0,19,0,25,0 40,0,10,0,11,0,46,0,29,0,12,0 27,0,13,0,16,0,6,0,8,0,31,0 22,0,26,0,9,0,42,0,33,0,25,0 14,0,28,0,18,0,45,0,47,0,3,0 2,0,20,0,19,0,1,0,30,0,4,0 15,0,35,0,21,0,32,0,34,0,44,0 24,0,5,0,36,0,37,0,43,0,38,0 7,0,17,0,39,0,23,0,41,0,10,0 47,0,27,0,11,0,34,0,19,0,42,0 1,0,38,0,31,0,18,0,40,0,44,0 37,0,9,0,4,0,16,0,28,0,21,0 17,0,15,0,6,0,46,0,24,0,39,0 7,0,23,0,33,0,14,0,20,0,12,0 29,0,43,0,32,0,22,0,30,0,45,0 3,0,5,0,13,0,41,0,26,0,35,0 8,0,2,0,28,0,36,0,25,0,15,0 10,0,43,0,20,0,6,0,42,0,18,0 9,0,19,0,33,0,46,0,41,0,5,0 35,0,24,0,25,0,7,0,31,0,47,0 32,0,8,0,11,0,14,0,2,0,17,0 16,0,1,0,29,0,39,0,23,0,21,0 4,0,45,0,44,0,3,0,34,0,40,0 12,0,22,0,38,0,27,0,26,0,37,0 36,0,21,0,18,0,13,0,30,0,7,0 ================================================ FILE: schedules/48_1.csv ================================================ 5,0,21,0,42,0,30,0,16,0,19,0 18,0,24,0,47,0,39,0,41,0,2,0 28,0,20,0,26,0,27,0,9,0,10,0 34,0,37,0,36,0,25,0,15,0,4,0 14,0,45,0,38,0,6,0,3,0,46,0 22,0,17,0,33,0,40,0,12,0,7,0 11,0,35,0,48,0,32,0,31,0,23,0 44,0,1,0,13,0,29,0,43,0,8,0 ================================================ FILE: schedules/48_10.csv ================================================ 2,0,3,0,4,0,37,0,38,0,26,0 5,0,47,0,32,0,16,0,12,0,20,0 15,0,30,0,41,0,39,0,35,0,48,0 33,0,23,0,7,0,46,0,31,0,42,0 22,0,6,0,1,0,14,0,45,0,17,0 25,0,36,0,43,0,40,0,29,0,18,0 44,0,28,0,9,0,24,0,21,0,27,0 13,0,19,0,8,0,34,0,10,0,11,0 17,0,22,0,42,0,15,0,20,0,26,0 31,0,39,0,36,0,46,0,4,0,47,0 40,0,38,0,27,0,16,0,7,0,45,0 32,0,11,0,12,0,18,0,24,0,41,0 14,0,37,0,25,0,21,0,34,0,48,0 33,0,30,0,10,0,6,0,43,0,28,0 29,0,5,0,44,0,2,0,9,0,13,0 1,0,35,0,8,0,19,0,3,0,23,0 11,0,27,0,20,0,38,0,22,0,4,0 32,0,21,0,43,0,47,0,48,0,42,0 25,0,44,0,17,0,36,0,41,0,33,0 29,0,19,0,45,0,39,0,46,0,26,0 9,0,1,0,37,0,30,0,13,0,40,0 23,0,34,0,28,0,2,0,18,0,16,0 31,0,6,0,15,0,5,0,24,0,8,0 7,0,12,0,14,0,3,0,35,0,10,0 33,0,32,0,48,0,38,0,1,0,19,0 11,0,42,0,26,0,16,0,21,0,39,0 31,0,41,0,37,0,6,0,27,0,36,0 17,0,8,0,47,0,25,0,28,0,30,0 18,0,7,0,46,0,9,0,14,0,15,0 35,0,2,0,12,0,40,0,45,0,34,0 22,0,20,0,3,0,13,0,24,0,44,0 43,0,29,0,10,0,5,0,23,0,4,0 47,0,9,0,26,0,11,0,8,0,15,0 14,0,39,0,19,0,37,0,16,0,28,0 3,0,25,0,48,0,6,0,42,0,24,0 38,0,10,0,20,0,21,0,1,0,46,0 18,0,5,0,34,0,44,0,33,0,31,0 45,0,27,0,41,0,43,0,13,0,23,0 32,0,40,0,4,0,17,0,35,0,30,0 2,0,7,0,22,0,12,0,29,0,36,0 25,0,24,0,39,0,14,0,5,0,38,0 18,0,33,0,45,0,20,0,8,0,37,0 40,0,42,0,15,0,28,0,10,0,46,0 16,0,41,0,34,0,29,0,22,0,9,0 31,0,21,0,2,0,17,0,32,0,3,0 48,0,30,0,12,0,36,0,23,0,26,0 11,0,44,0,1,0,35,0,7,0,43,0 13,0,27,0,4,0,19,0,6,0,47,0 33,0,24,0,22,0,39,0,2,0,40,0 48,0,28,0,36,0,20,0,23,0,9,0 42,0,38,0,16,0,29,0,8,0,41,0 14,0,47,0,10,0,32,0,45,0,44,0 18,0,19,0,21,0,6,0,7,0,4,0 43,0,17,0,15,0,12,0,37,0,34,0 5,0,46,0,11,0,3,0,27,0,30,0 1,0,13,0,26,0,25,0,35,0,31,0 40,0,7,0,44,0,4,0,48,0,8,0 38,0,39,0,17,0,18,0,10,0,9,0 37,0,3,0,24,0,47,0,23,0,29,0 35,0,26,0,14,0,42,0,5,0,27,0 2,0,46,0,34,0,6,0,11,0,41,0 43,0,30,0,20,0,16,0,25,0,19,0 22,0,12,0,28,0,31,0,32,0,1,0 15,0,21,0,33,0,36,0,45,0,13,0 29,0,48,0,24,0,27,0,17,0,10,0 34,0,6,0,26,0,39,0,7,0,20,0 19,0,42,0,30,0,12,0,44,0,18,0 16,0,47,0,15,0,33,0,1,0,2,0 31,0,38,0,13,0,43,0,11,0,14,0 8,0,36,0,46,0,32,0,37,0,35,0 21,0,41,0,23,0,40,0,22,0,5,0 3,0,28,0,45,0,25,0,9,0,4,0 20,0,2,0,29,0,14,0,30,0,31,0 46,0,13,0,16,0,17,0,18,0,48,0 23,0,44,0,6,0,15,0,38,0,32,0 35,0,19,0,9,0,43,0,22,0,47,0 5,0,37,0,45,0,7,0,11,0,28,0 4,0,36,0,24,0,42,0,34,0,1,0 10,0,41,0,40,0,26,0,3,0,33,0 27,0,39,0,12,0,21,0,25,0,8,0 ================================================ FILE: schedules/48_11.csv ================================================ 16,0,12,0,33,0,46,0,25,0,6,0 22,0,15,0,47,0,4,0,42,0,19,0 41,0,44,0,24,0,28,0,7,0,26,0 30,0,10,0,17,0,37,0,36,0,11,0 39,0,8,0,32,0,45,0,3,0,20,0 5,0,40,0,21,0,34,0,9,0,18,0 27,0,2,0,35,0,38,0,14,0,48,0 29,0,43,0,1,0,31,0,13,0,23,0 37,0,22,0,28,0,8,0,26,0,44,0 10,0,33,0,34,0,47,0,30,0,36,0 25,0,9,0,24,0,18,0,45,0,39,0 41,0,31,0,29,0,32,0,42,0,35,0 11,0,46,0,3,0,4,0,5,0,38,0 14,0,2,0,15,0,6,0,20,0,13,0 1,0,12,0,40,0,16,0,27,0,19,0 21,0,7,0,48,0,17,0,23,0,43,0 37,0,45,0,5,0,22,0,38,0,29,0 42,0,3,0,24,0,34,0,2,0,11,0 8,0,16,0,15,0,30,0,39,0,31,0 48,0,25,0,10,0,7,0,6,0,40,0 23,0,20,0,41,0,1,0,33,0,27,0 17,0,14,0,12,0,43,0,28,0,9,0 19,0,35,0,18,0,44,0,46,0,13,0 21,0,36,0,32,0,4,0,26,0,47,0 20,0,42,0,7,0,1,0,30,0,5,0 9,0,16,0,23,0,10,0,41,0,3,0 17,0,19,0,11,0,14,0,45,0,34,0 4,0,18,0,25,0,43,0,26,0,2,0 44,0,38,0,28,0,21,0,31,0,33,0 46,0,36,0,27,0,13,0,24,0,8,0 39,0,40,0,47,0,22,0,35,0,6,0 29,0,48,0,32,0,12,0,15,0,37,0 4,0,34,0,43,0,44,0,16,0,10,0 2,0,23,0,5,0,36,0,8,0,19,0 31,0,22,0,9,0,11,0,20,0,25,0 17,0,38,0,6,0,13,0,41,0,40,0 33,0,45,0,28,0,27,0,48,0,42,0 39,0,14,0,21,0,37,0,32,0,46,0 7,0,3,0,1,0,29,0,47,0,18,0 35,0,26,0,12,0,24,0,30,0,15,0 25,0,19,0,13,0,28,0,10,0,8,0 32,0,9,0,44,0,48,0,16,0,2,0 46,0,38,0,40,0,20,0,36,0,43,0 4,0,35,0,37,0,6,0,1,0,45,0 15,0,21,0,11,0,41,0,12,0,7,0 47,0,23,0,42,0,18,0,17,0,24,0 22,0,34,0,30,0,27,0,29,0,39,0 31,0,26,0,3,0,5,0,33,0,14,0 10,0,6,0,36,0,20,0,21,0,35,0 44,0,37,0,7,0,42,0,15,0,46,0 1,0,48,0,13,0,11,0,39,0,22,0 27,0,17,0,25,0,32,0,5,0,3,0 33,0,18,0,8,0,24,0,4,0,14,0 29,0,30,0,26,0,19,0,38,0,9,0 28,0,12,0,31,0,23,0,40,0,34,0 43,0,45,0,16,0,47,0,41,0,2,0 48,0,15,0,36,0,25,0,1,0,14,0 20,0,4,0,17,0,44,0,29,0,19,0 30,0,27,0,6,0,3,0,18,0,23,0 28,0,46,0,39,0,31,0,11,0,47,0 34,0,38,0,32,0,7,0,8,0,9,0 22,0,41,0,5,0,2,0,12,0,10,0 13,0,42,0,45,0,26,0,21,0,16,0 37,0,43,0,40,0,33,0,35,0,24,0 14,0,11,0,23,0,25,0,44,0,47,0 36,0,31,0,18,0,19,0,48,0,41,0 26,0,1,0,15,0,34,0,46,0,21,0 27,0,13,0,43,0,37,0,3,0,9,0 7,0,16,0,35,0,8,0,22,0,17,0 6,0,28,0,24,0,5,0,20,0,29,0 45,0,32,0,2,0,40,0,30,0,33,0 39,0,4,0,10,0,12,0,42,0,38,0 9,0,27,0,47,0,15,0,7,0,31,0 26,0,34,0,19,0,48,0,6,0,43,0 37,0,33,0,20,0,16,0,18,0,11,0 21,0,42,0,29,0,25,0,2,0,8,0 14,0,41,0,30,0,22,0,4,0,46,0 44,0,3,0,39,0,45,0,40,0,36,0 35,0,5,0,13,0,32,0,12,0,23,0 38,0,10,0,24,0,28,0,1,0,17,0 47,0,20,0,34,0,25,0,41,0,37,0 36,0,14,0,29,0,42,0,40,0,16,0 5,0,7,0,19,0,33,0,13,0,39,0 9,0,2,0,4,0,35,0,17,0,31,0 8,0,12,0,6,0,11,0,44,0,1,0 22,0,24,0,48,0,21,0,3,0,30,0 45,0,26,0,46,0,23,0,27,0,10,0 38,0,43,0,18,0,15,0,28,0,32,0 ================================================ FILE: schedules/48_12.csv ================================================ 32,0,1,0,16,0,44,0,21,0,30,0 28,0,39,0,9,0,40,0,33,0,8,0 10,0,45,0,19,0,11,0,37,0,27,0 42,0,15,0,23,0,41,0,4,0,34,0 46,0,12,0,18,0,22,0,48,0,47,0 3,0,25,0,7,0,31,0,38,0,43,0 2,0,20,0,17,0,6,0,29,0,36,0 5,0,35,0,24,0,26,0,14,0,13,0 4,0,30,0,27,0,34,0,22,0,28,0 46,0,39,0,16,0,42,0,32,0,38,0 8,0,31,0,41,0,17,0,1,0,33,0 25,0,23,0,40,0,35,0,44,0,13,0 24,0,47,0,37,0,21,0,29,0,12,0 10,0,14,0,2,0,18,0,15,0,3,0 48,0,19,0,9,0,26,0,20,0,6,0 36,0,45,0,11,0,7,0,43,0,5,0 13,0,34,0,46,0,38,0,41,0,33,0 30,0,17,0,25,0,40,0,14,0,1,0 29,0,4,0,35,0,12,0,39,0,10,0 24,0,11,0,26,0,27,0,16,0,20,0 9,0,2,0,31,0,47,0,19,0,44,0 23,0,7,0,8,0,37,0,32,0,48,0 3,0,42,0,28,0,22,0,5,0,36,0 43,0,15,0,45,0,6,0,21,0,18,0 30,0,10,0,33,0,31,0,47,0,25,0 48,0,13,0,29,0,27,0,46,0,1,0 3,0,2,0,38,0,19,0,23,0,20,0 5,0,16,0,18,0,41,0,37,0,9,0 36,0,24,0,43,0,8,0,15,0,39,0 34,0,14,0,6,0,44,0,12,0,11,0 21,0,45,0,28,0,35,0,17,0,42,0 26,0,4,0,22,0,32,0,7,0,40,0 27,0,3,0,36,0,47,0,39,0,1,0 16,0,8,0,6,0,31,0,34,0,18,0 48,0,30,0,28,0,15,0,24,0,13,0 5,0,21,0,41,0,19,0,12,0,26,0 35,0,11,0,38,0,40,0,4,0,2,0 14,0,37,0,44,0,20,0,43,0,42,0 32,0,45,0,25,0,29,0,9,0,17,0 7,0,22,0,33,0,10,0,46,0,23,0 6,0,1,0,12,0,38,0,19,0,28,0 37,0,40,0,13,0,34,0,2,0,24,0 42,0,21,0,25,0,4,0,36,0,18,0 17,0,46,0,14,0,16,0,9,0,23,0 3,0,47,0,29,0,48,0,8,0,44,0 39,0,22,0,45,0,15,0,7,0,31,0 30,0,20,0,35,0,5,0,27,0,33,0 43,0,11,0,10,0,41,0,32,0,26,0 36,0,38,0,34,0,21,0,48,0,14,0 4,0,12,0,13,0,9,0,45,0,3,0 5,0,19,0,39,0,16,0,17,0,22,0 25,0,41,0,20,0,24,0,32,0,28,0 40,0,18,0,11,0,46,0,31,0,35,0 1,0,43,0,23,0,6,0,10,0,27,0 15,0,29,0,44,0,26,0,37,0,33,0 2,0,42,0,7,0,47,0,30,0,8,0 38,0,24,0,48,0,35,0,45,0,41,0 19,0,31,0,3,0,34,0,17,0,32,0 15,0,36,0,20,0,40,0,9,0,46,0 47,0,33,0,13,0,4,0,43,0,6,0 26,0,44,0,1,0,42,0,18,0,30,0 27,0,29,0,7,0,21,0,16,0,2,0 23,0,37,0,28,0,14,0,11,0,39,0 8,0,10,0,22,0,12,0,25,0,5,0 48,0,43,0,17,0,19,0,30,0,40,0 32,0,35,0,33,0,2,0,1,0,45,0 7,0,14,0,47,0,41,0,29,0,28,0 42,0,8,0,13,0,10,0,21,0,20,0 22,0,3,0,12,0,11,0,15,0,16,0 26,0,25,0,18,0,23,0,39,0,34,0 31,0,36,0,37,0,27,0,38,0,9,0 6,0,5,0,44,0,4,0,46,0,24,0 17,0,8,0,12,0,20,0,11,0,13,0 39,0,43,0,35,0,34,0,30,0,7,0 32,0,19,0,18,0,33,0,29,0,42,0 10,0,36,0,28,0,16,0,45,0,44,0 41,0,27,0,14,0,40,0,6,0,3,0 9,0,21,0,24,0,31,0,22,0,23,0 2,0,37,0,46,0,4,0,48,0,25,0 5,0,38,0,1,0,15,0,47,0,26,0 41,0,13,0,19,0,36,0,44,0,39,0 40,0,21,0,17,0,12,0,24,0,33,0 4,0,16,0,28,0,18,0,43,0,2,0 22,0,11,0,30,0,38,0,37,0,29,0 6,0,31,0,48,0,14,0,5,0,42,0 20,0,9,0,34,0,1,0,7,0,10,0 45,0,26,0,23,0,8,0,3,0,46,0 32,0,27,0,47,0,15,0,35,0,25,0 39,0,41,0,2,0,22,0,21,0,43,0 11,0,33,0,9,0,10,0,42,0,48,0 1,0,19,0,4,0,14,0,24,0,8,0 31,0,29,0,26,0,25,0,13,0,28,0 34,0,40,0,16,0,20,0,45,0,47,0 46,0,15,0,6,0,35,0,3,0,37,0 27,0,18,0,44,0,7,0,38,0,17,0 5,0,32,0,30,0,23,0,12,0,36,0 ================================================ FILE: schedules/48_13.csv ================================================ 6,0,7,0,24,0,23,0,30,0,11,0 43,0,39,0,25,0,13,0,37,0,33,0 15,0,40,0,14,0,36,0,38,0,44,0 34,0,22,0,41,0,8,0,31,0,47,0 45,0,42,0,26,0,2,0,4,0,19,0 3,0,32,0,21,0,46,0,28,0,5,0 29,0,27,0,10,0,17,0,16,0,12,0 35,0,48,0,20,0,1,0,18,0,9,0 37,0,4,0,43,0,15,0,24,0,30,0 23,0,45,0,46,0,42,0,22,0,8,0 21,0,5,0,25,0,36,0,10,0,26,0 17,0,11,0,33,0,19,0,16,0,14,0 12,0,6,0,41,0,32,0,44,0,18,0 35,0,39,0,40,0,29,0,3,0,34,0 2,0,13,0,20,0,48,0,28,0,31,0 47,0,1,0,38,0,27,0,9,0,7,0 17,0,25,0,46,0,41,0,11,0,4,0 29,0,23,0,32,0,39,0,37,0,18,0 30,0,34,0,8,0,20,0,44,0,33,0 45,0,27,0,15,0,35,0,19,0,7,0 2,0,1,0,36,0,38,0,24,0,12,0 42,0,13,0,48,0,47,0,5,0,10,0 9,0,28,0,14,0,22,0,40,0,26,0 16,0,21,0,31,0,6,0,3,0,43,0 7,0,18,0,46,0,24,0,17,0,36,0 38,0,29,0,48,0,19,0,25,0,23,0 22,0,14,0,5,0,35,0,30,0,1,0 28,0,33,0,34,0,21,0,2,0,6,0 16,0,10,0,3,0,42,0,9,0,41,0 47,0,20,0,32,0,45,0,12,0,39,0 27,0,37,0,26,0,11,0,43,0,8,0 4,0,44,0,15,0,40,0,13,0,31,0 30,0,6,0,38,0,41,0,2,0,35,0 46,0,16,0,29,0,1,0,32,0,28,0 22,0,21,0,12,0,37,0,20,0,23,0 48,0,27,0,25,0,5,0,15,0,3,0 42,0,44,0,24,0,11,0,39,0,26,0 18,0,47,0,19,0,31,0,14,0,4,0 9,0,33,0,8,0,36,0,13,0,7,0 17,0,45,0,43,0,10,0,40,0,34,0 30,0,20,0,25,0,15,0,26,0,35,0 4,0,48,0,21,0,22,0,38,0,39,0 5,0,13,0,19,0,46,0,37,0,6,0 34,0,9,0,32,0,42,0,17,0,14,0 33,0,23,0,24,0,3,0,45,0,8,0 7,0,31,0,10,0,2,0,44,0,29,0 11,0,27,0,47,0,12,0,28,0,40,0 18,0,36,0,41,0,43,0,1,0,16,0 35,0,13,0,8,0,17,0,21,0,19,0 26,0,46,0,9,0,39,0,10,0,6,0 44,0,12,0,3,0,45,0,48,0,5,0 38,0,4,0,20,0,32,0,14,0,43,0 30,0,2,0,22,0,23,0,16,0,27,0 36,0,31,0,34,0,11,0,1,0,25,0 15,0,29,0,28,0,33,0,18,0,42,0 7,0,40,0,47,0,24,0,37,0,41,0 2,0,16,0,38,0,20,0,46,0,39,0 19,0,11,0,32,0,13,0,9,0,30,0 35,0,25,0,44,0,27,0,8,0,28,0 5,0,4,0,18,0,21,0,34,0,7,0 45,0,6,0,14,0,29,0,47,0,43,0 26,0,41,0,31,0,15,0,12,0,33,0 24,0,1,0,40,0,23,0,42,0,10,0 17,0,22,0,37,0,3,0,36,0,48,0 39,0,7,0,4,0,6,0,25,0,28,0 14,0,12,0,11,0,46,0,2,0,8,0 40,0,41,0,5,0,29,0,20,0,19,0 38,0,31,0,37,0,35,0,18,0,45,0 23,0,9,0,22,0,43,0,44,0,21,0 10,0,32,0,48,0,36,0,33,0,27,0 1,0,3,0,17,0,42,0,47,0,30,0 16,0,13,0,15,0,26,0,34,0,24,0 44,0,7,0,28,0,20,0,43,0,31,0 27,0,22,0,18,0,10,0,46,0,11,0 6,0,1,0,42,0,25,0,45,0,37,0 35,0,16,0,33,0,4,0,32,0,40,0 2,0,34,0,12,0,9,0,19,0,3,0 36,0,47,0,15,0,30,0,21,0,29,0 24,0,39,0,8,0,38,0,5,0,17,0 26,0,13,0,14,0,48,0,41,0,23,0 35,0,32,0,37,0,34,0,46,0,44,0 6,0,19,0,15,0,22,0,33,0,1,0 36,0,8,0,4,0,10,0,43,0,2,0 23,0,31,0,5,0,27,0,41,0,17,0 16,0,24,0,25,0,47,0,21,0,14,0 18,0,29,0,26,0,38,0,3,0,13,0 42,0,11,0,40,0,12,0,7,0,20,0 45,0,30,0,28,0,9,0,39,0,48,0 2,0,17,0,32,0,22,0,15,0,25,0 19,0,33,0,46,0,47,0,23,0,44,0 13,0,18,0,43,0,26,0,5,0,12,0 8,0,1,0,7,0,40,0,16,0,48,0 30,0,41,0,39,0,45,0,36,0,21,0 20,0,3,0,42,0,4,0,27,0,6,0 28,0,10,0,37,0,38,0,34,0,14,0 11,0,9,0,24,0,35,0,29,0,31,0 17,0,40,0,44,0,18,0,2,0,25,0 3,0,26,0,47,0,32,0,22,0,7,0 21,0,39,0,13,0,14,0,27,0,1,0 12,0,23,0,36,0,4,0,35,0,34,0 24,0,19,0,10,0,41,0,20,0,28,0 48,0,43,0,30,0,42,0,46,0,31,0 29,0,6,0,9,0,37,0,15,0,8,0 33,0,38,0,45,0,16,0,11,0,5,0 ================================================ FILE: schedules/48_14.csv ================================================ 32,0,21,0,15,0,6,0,47,0,33,0 38,0,46,0,40,0,8,0,45,0,4,0 30,0,23,0,29,0,28,0,20,0,24,0 41,0,16,0,34,0,18,0,43,0,22,0 11,0,39,0,26,0,36,0,27,0,3,0 44,0,12,0,19,0,42,0,7,0,9,0 37,0,2,0,31,0,1,0,5,0,13,0 10,0,48,0,14,0,25,0,17,0,35,0 45,0,41,0,47,0,32,0,29,0,11,0 27,0,18,0,23,0,38,0,33,0,34,0 26,0,8,0,9,0,36,0,20,0,4,0 21,0,12,0,5,0,15,0,13,0,22,0 30,0,46,0,14,0,2,0,48,0,44,0 28,0,6,0,25,0,39,0,43,0,31,0 17,0,10,0,37,0,7,0,40,0,19,0 42,0,24,0,3,0,35,0,1,0,16,0 22,0,36,0,34,0,29,0,2,0,33,0 13,0,14,0,47,0,26,0,25,0,41,0 31,0,5,0,4,0,19,0,32,0,39,0 48,0,1,0,43,0,10,0,45,0,27,0 6,0,7,0,44,0,40,0,35,0,20,0 3,0,15,0,12,0,18,0,17,0,24,0 38,0,42,0,23,0,28,0,9,0,46,0 8,0,30,0,16,0,37,0,11,0,21,0 34,0,6,0,20,0,27,0,47,0,40,0 5,0,24,0,29,0,35,0,4,0,48,0 32,0,18,0,45,0,14,0,36,0,28,0 8,0,3,0,31,0,15,0,38,0,37,0 12,0,42,0,2,0,10,0,41,0,30,0 9,0,23,0,21,0,11,0,7,0,25,0 46,0,43,0,17,0,22,0,26,0,1,0 33,0,19,0,16,0,44,0,39,0,13,0 15,0,4,0,41,0,42,0,27,0,30,0 14,0,34,0,9,0,35,0,3,0,37,0 43,0,38,0,7,0,48,0,47,0,31,0 18,0,2,0,1,0,8,0,39,0,21,0 11,0,36,0,44,0,17,0,22,0,28,0 5,0,40,0,16,0,12,0,29,0,46,0 6,0,24,0,32,0,26,0,13,0,23,0 25,0,10,0,19,0,20,0,33,0,45,0 48,0,28,0,42,0,47,0,15,0,34,0 11,0,43,0,40,0,3,0,5,0,14,0 35,0,27,0,13,0,2,0,9,0,17,0 46,0,41,0,7,0,36,0,39,0,24,0 8,0,19,0,6,0,16,0,25,0,38,0 10,0,18,0,21,0,29,0,4,0,44,0 22,0,33,0,32,0,37,0,30,0,20,0 45,0,26,0,12,0,23,0,31,0,1,0 14,0,40,0,42,0,16,0,9,0,39,0 24,0,41,0,19,0,36,0,18,0,6,0 25,0,47,0,30,0,5,0,22,0,46,0 20,0,15,0,29,0,37,0,12,0,13,0 43,0,23,0,3,0,2,0,10,0,32,0 21,0,48,0,33,0,17,0,31,0,26,0 38,0,45,0,11,0,34,0,35,0,44,0 4,0,27,0,28,0,8,0,7,0,1,0 29,0,36,0,40,0,25,0,23,0,15,0 26,0,2,0,47,0,22,0,9,0,19,0 39,0,35,0,38,0,33,0,43,0,12,0 8,0,44,0,17,0,32,0,30,0,5,0 27,0,20,0,48,0,16,0,28,0,3,0 34,0,37,0,18,0,6,0,46,0,10,0 11,0,14,0,24,0,1,0,4,0,21,0 7,0,31,0,45,0,41,0,42,0,13,0 22,0,27,0,39,0,30,0,35,0,19,0 28,0,26,0,43,0,12,0,40,0,10,0 46,0,1,0,33,0,3,0,29,0,9,0 2,0,20,0,5,0,21,0,41,0,38,0 14,0,15,0,31,0,24,0,34,0,7,0 17,0,45,0,13,0,23,0,8,0,36,0 32,0,25,0,48,0,42,0,6,0,11,0 47,0,37,0,4,0,16,0,18,0,44,0 24,0,30,0,40,0,27,0,31,0,33,0 35,0,15,0,9,0,43,0,41,0,8,0 48,0,3,0,19,0,12,0,32,0,23,0 25,0,4,0,22,0,28,0,37,0,45,0 21,0,44,0,46,0,29,0,34,0,13,0 6,0,2,0,39,0,10,0,11,0,47,0 20,0,1,0,42,0,16,0,17,0,14,0 26,0,36,0,7,0,5,0,38,0,18,0 27,0,12,0,41,0,46,0,25,0,3,0 34,0,40,0,39,0,48,0,8,0,13,0 30,0,45,0,9,0,29,0,14,0,6,0 26,0,32,0,16,0,28,0,7,0,2,0 23,0,17,0,4,0,35,0,5,0,47,0 15,0,11,0,1,0,18,0,20,0,19,0 37,0,33,0,36,0,42,0,21,0,43,0 44,0,22,0,10,0,31,0,38,0,24,0 6,0,40,0,9,0,12,0,48,0,16,0 35,0,32,0,28,0,18,0,46,0,15,0 21,0,20,0,3,0,45,0,42,0,5,0 23,0,39,0,41,0,44,0,37,0,26,0 33,0,10,0,7,0,8,0,11,0,22,0 30,0,31,0,13,0,47,0,36,0,1,0 43,0,34,0,25,0,2,0,4,0,24,0 19,0,29,0,17,0,38,0,14,0,27,0 41,0,9,0,5,0,40,0,21,0,28,0 35,0,36,0,31,0,10,0,20,0,16,0 42,0,8,0,37,0,47,0,24,0,12,0 43,0,13,0,2,0,11,0,48,0,18,0 19,0,27,0,1,0,32,0,34,0,46,0 25,0,29,0,45,0,17,0,7,0,39,0 38,0,26,0,3,0,30,0,44,0,15,0 33,0,14,0,4,0,22,0,6,0,23,0 36,0,13,0,10,0,5,0,27,0,37,0 46,0,2,0,11,0,31,0,29,0,42,0 30,0,39,0,18,0,9,0,20,0,25,0 7,0,12,0,35,0,4,0,26,0,34,0 17,0,1,0,38,0,41,0,6,0,48,0 15,0,16,0,24,0,23,0,44,0,45,0 21,0,47,0,22,0,32,0,40,0,3,0 8,0,33,0,28,0,43,0,19,0,14,0 ================================================ FILE: schedules/48_2.csv ================================================ 27,0,40,0,45,0,17,0,6,0,12,0 3,0,46,0,4,0,25,0,34,0,37,0 8,0,42,0,15,0,9,0,28,0,1,0 48,0,44,0,23,0,35,0,2,0,43,0 24,0,14,0,33,0,13,0,11,0,30,0 26,0,31,0,22,0,47,0,38,0,7,0 36,0,32,0,20,0,5,0,18,0,41,0 21,0,16,0,10,0,19,0,29,0,39,0 12,0,28,0,34,0,11,0,25,0,48,0 37,0,23,0,9,0,40,0,30,0,38,0 5,0,15,0,2,0,4,0,14,0,31,0 33,0,39,0,43,0,6,0,41,0,26,0 18,0,29,0,8,0,17,0,44,0,3,0 16,0,22,0,46,0,21,0,27,0,32,0 47,0,13,0,36,0,42,0,45,0,10,0 7,0,1,0,35,0,20,0,19,0,24,0 ================================================ FILE: schedules/48_3.csv ================================================ 2,0,13,0,38,0,9,0,6,0,25,0 23,0,41,0,44,0,10,0,36,0,12,0 14,0,34,0,18,0,32,0,40,0,42,0 28,0,24,0,19,0,37,0,27,0,29,0 39,0,11,0,5,0,45,0,8,0,47,0 30,0,33,0,1,0,31,0,4,0,43,0 26,0,21,0,7,0,48,0,15,0,16,0 22,0,17,0,46,0,3,0,20,0,35,0 11,0,44,0,10,0,40,0,13,0,29,0 37,0,36,0,18,0,5,0,2,0,1,0 25,0,16,0,33,0,34,0,8,0,27,0 9,0,43,0,21,0,45,0,20,0,32,0 3,0,7,0,39,0,41,0,30,0,19,0 48,0,31,0,23,0,46,0,38,0,28,0 26,0,42,0,47,0,17,0,35,0,4,0 12,0,15,0,22,0,14,0,6,0,24,0 27,0,20,0,40,0,5,0,41,0,7,0 8,0,32,0,29,0,46,0,2,0,30,0 45,0,19,0,17,0,16,0,18,0,44,0 23,0,9,0,35,0,33,0,24,0,15,0 6,0,3,0,28,0,26,0,1,0,11,0 37,0,10,0,25,0,14,0,31,0,47,0 34,0,39,0,4,0,38,0,12,0,21,0 13,0,42,0,43,0,36,0,22,0,48,0 ================================================ FILE: schedules/48_4.csv ================================================ 22,0,16,0,15,0,45,0,18,0,2,0 5,0,36,0,27,0,44,0,26,0,25,0 28,0,4,0,13,0,11,0,37,0,34,0 6,0,12,0,1,0,3,0,14,0,24,0 29,0,48,0,23,0,41,0,9,0,46,0 7,0,42,0,39,0,19,0,33,0,8,0 17,0,21,0,43,0,47,0,31,0,35,0 30,0,10,0,32,0,40,0,20,0,38,0 27,0,26,0,13,0,24,0,46,0,18,0 2,0,14,0,11,0,36,0,29,0,39,0 6,0,15,0,28,0,41,0,8,0,43,0 44,0,9,0,31,0,3,0,40,0,16,0 35,0,37,0,33,0,30,0,23,0,38,0 47,0,32,0,19,0,5,0,1,0,22,0 12,0,4,0,20,0,21,0,48,0,42,0 7,0,34,0,45,0,17,0,25,0,10,0 2,0,33,0,46,0,37,0,6,0,40,0 30,0,43,0,22,0,24,0,44,0,39,0 21,0,8,0,5,0,38,0,9,0,18,0 29,0,3,0,7,0,20,0,47,0,13,0 36,0,45,0,12,0,23,0,28,0,19,0 31,0,34,0,42,0,26,0,41,0,1,0 35,0,48,0,11,0,10,0,15,0,27,0 17,0,14,0,16,0,4,0,25,0,32,0 47,0,23,0,18,0,6,0,39,0,20,0 24,0,40,0,29,0,5,0,42,0,28,0 46,0,44,0,1,0,21,0,15,0,7,0 17,0,3,0,19,0,11,0,26,0,30,0 9,0,4,0,14,0,22,0,10,0,33,0 38,0,43,0,16,0,48,0,34,0,36,0 41,0,25,0,2,0,35,0,12,0,13,0 8,0,37,0,45,0,27,0,32,0,31,0 ================================================ FILE: schedules/48_5.csv ================================================ 35,0,12,0,40,0,34,0,38,0,4,0 13,0,25,0,15,0,29,0,47,0,20,0 8,0,2,0,43,0,24,0,11,0,48,0 7,0,42,0,26,0,5,0,46,0,10,0 3,0,30,0,41,0,17,0,21,0,44,0 32,0,27,0,22,0,31,0,45,0,9,0 1,0,14,0,19,0,16,0,33,0,28,0 37,0,39,0,36,0,6,0,23,0,18,0 41,0,8,0,35,0,15,0,3,0,42,0 32,0,46,0,48,0,47,0,21,0,34,0 22,0,4,0,25,0,43,0,19,0,5,0 27,0,40,0,29,0,23,0,1,0,26,0 45,0,11,0,18,0,30,0,7,0,16,0 20,0,36,0,28,0,39,0,17,0,2,0 44,0,6,0,13,0,33,0,38,0,9,0 14,0,24,0,10,0,12,0,37,0,31,0 1,0,22,0,11,0,25,0,41,0,34,0 39,0,4,0,27,0,8,0,30,0,47,0 19,0,44,0,46,0,35,0,2,0,23,0 16,0,37,0,17,0,29,0,9,0,42,0 43,0,26,0,6,0,32,0,14,0,12,0 36,0,45,0,5,0,3,0,13,0,24,0 7,0,31,0,33,0,20,0,40,0,48,0 28,0,38,0,21,0,15,0,10,0,18,0 47,0,9,0,37,0,35,0,11,0,26,0 4,0,45,0,17,0,1,0,46,0,6,0 3,0,25,0,12,0,27,0,2,0,7,0 24,0,18,0,41,0,40,0,19,0,32,0 5,0,38,0,20,0,8,0,14,0,21,0 39,0,15,0,48,0,16,0,22,0,44,0 30,0,43,0,33,0,36,0,10,0,29,0 31,0,34,0,23,0,13,0,28,0,42,0 38,0,1,0,2,0,37,0,5,0,32,0 20,0,9,0,3,0,46,0,4,0,18,0 8,0,6,0,10,0,16,0,25,0,40,0 42,0,14,0,44,0,11,0,27,0,36,0 33,0,24,0,23,0,22,0,47,0,17,0 12,0,29,0,28,0,45,0,48,0,41,0 34,0,15,0,30,0,26,0,19,0,31,0 35,0,7,0,21,0,13,0,43,0,39,0 ================================================ FILE: schedules/48_6.csv ================================================ 25,0,8,0,24,0,40,0,3,0,7,0 10,0,44,0,41,0,31,0,4,0,46,0 43,0,21,0,28,0,47,0,2,0,48,0 42,0,11,0,1,0,9,0,34,0,37,0 33,0,6,0,39,0,17,0,32,0,23,0 27,0,35,0,12,0,22,0,20,0,26,0 15,0,14,0,16,0,38,0,13,0,45,0 36,0,18,0,30,0,29,0,19,0,5,0 17,0,34,0,47,0,10,0,9,0,25,0 11,0,40,0,44,0,33,0,21,0,27,0 22,0,3,0,39,0,28,0,16,0,38,0 37,0,31,0,43,0,14,0,35,0,6,0 19,0,4,0,30,0,8,0,15,0,32,0 23,0,5,0,26,0,7,0,46,0,48,0 29,0,36,0,13,0,42,0,12,0,41,0 18,0,45,0,20,0,1,0,2,0,24,0 17,0,27,0,11,0,43,0,4,0,16,0 35,0,32,0,5,0,8,0,38,0,44,0 40,0,47,0,22,0,41,0,23,0,14,0 45,0,28,0,34,0,31,0,29,0,26,0 25,0,46,0,2,0,30,0,13,0,1,0 39,0,20,0,15,0,37,0,7,0,36,0 48,0,19,0,6,0,42,0,24,0,10,0 21,0,9,0,3,0,18,0,33,0,12,0 41,0,43,0,32,0,25,0,26,0,16,0 8,0,28,0,23,0,37,0,27,0,13,0 31,0,5,0,40,0,2,0,42,0,17,0 48,0,18,0,44,0,34,0,22,0,15,0 35,0,9,0,46,0,7,0,19,0,45,0 47,0,20,0,3,0,29,0,6,0,11,0 12,0,21,0,14,0,39,0,10,0,30,0 36,0,24,0,33,0,38,0,1,0,4,0 23,0,16,0,42,0,25,0,18,0,35,0 48,0,13,0,22,0,31,0,32,0,11,0 14,0,28,0,17,0,20,0,8,0,46,0 10,0,2,0,27,0,3,0,36,0,15,0 30,0,26,0,38,0,9,0,40,0,6,0 43,0,29,0,7,0,1,0,44,0,33,0 24,0,41,0,19,0,21,0,34,0,39,0 12,0,4,0,45,0,5,0,47,0,37,0 9,0,31,0,14,0,27,0,36,0,32,0 38,0,7,0,18,0,11,0,28,0,10,0 3,0,1,0,41,0,30,0,35,0,48,0 15,0,37,0,29,0,17,0,46,0,24,0 22,0,6,0,25,0,5,0,21,0,45,0 40,0,34,0,4,0,43,0,13,0,20,0 16,0,2,0,19,0,44,0,12,0,23,0 33,0,8,0,47,0,42,0,39,0,26,0 ================================================ FILE: schedules/48_7.csv ================================================ 29,0,47,0,33,0,22,0,38,0,43,0 13,0,12,0,3,0,11,0,42,0,48,0 45,0,14,0,9,0,4,0,40,0,34,0 6,0,15,0,18,0,41,0,20,0,44,0 1,0,8,0,46,0,36,0,28,0,23,0 37,0,10,0,32,0,25,0,27,0,19,0 39,0,26,0,30,0,7,0,21,0,16,0 35,0,2,0,5,0,24,0,17,0,31,0 23,0,12,0,1,0,40,0,33,0,41,0 19,0,48,0,8,0,18,0,14,0,38,0 6,0,11,0,25,0,9,0,28,0,26,0 36,0,3,0,24,0,34,0,31,0,44,0 29,0,27,0,21,0,5,0,42,0,7,0 10,0,22,0,30,0,17,0,37,0,15,0 16,0,32,0,35,0,45,0,46,0,43,0 4,0,47,0,39,0,2,0,13,0,20,0 24,0,1,0,40,0,29,0,48,0,25,0 23,0,17,0,30,0,12,0,6,0,19,0 41,0,38,0,7,0,10,0,11,0,5,0 42,0,26,0,20,0,34,0,35,0,22,0 33,0,36,0,27,0,13,0,16,0,14,0 18,0,46,0,9,0,31,0,39,0,37,0 2,0,15,0,47,0,3,0,8,0,45,0 28,0,44,0,21,0,32,0,43,0,4,0 19,0,10,0,40,0,35,0,11,0,36,0 34,0,9,0,7,0,13,0,33,0,17,0 24,0,15,0,12,0,18,0,16,0,47,0 22,0,3,0,23,0,39,0,28,0,27,0 29,0,8,0,4,0,32,0,26,0,41,0 25,0,20,0,31,0,45,0,38,0,21,0 48,0,30,0,14,0,46,0,44,0,5,0 43,0,37,0,2,0,42,0,6,0,1,0 7,0,11,0,23,0,35,0,4,0,15,0 13,0,18,0,45,0,29,0,10,0,28,0 22,0,16,0,8,0,21,0,40,0,31,0 32,0,20,0,36,0,37,0,5,0,12,0 47,0,27,0,34,0,6,0,46,0,48,0 43,0,33,0,19,0,26,0,2,0,3,0 24,0,38,0,42,0,30,0,9,0,1,0 17,0,25,0,41,0,39,0,14,0,44,0 37,0,18,0,11,0,34,0,21,0,23,0 13,0,6,0,5,0,45,0,22,0,19,0 40,0,43,0,28,0,24,0,7,0,20,0 42,0,39,0,32,0,33,0,48,0,15,0 29,0,2,0,41,0,30,0,36,0,25,0 35,0,12,0,44,0,9,0,8,0,27,0 4,0,17,0,38,0,16,0,46,0,3,0 26,0,47,0,31,0,14,0,10,0,1,0 33,0,45,0,32,0,24,0,11,0,30,0 34,0,5,0,43,0,39,0,15,0,8,0 7,0,46,0,22,0,12,0,25,0,2,0 21,0,35,0,14,0,29,0,3,0,6,0 28,0,42,0,31,0,19,0,41,0,47,0 1,0,36,0,17,0,27,0,4,0,18,0 16,0,20,0,48,0,10,0,23,0,9,0 13,0,26,0,44,0,37,0,38,0,40,0 ================================================ FILE: schedules/48_8.csv ================================================ 31,0,27,0,33,0,36,0,8,0,45,0 18,0,35,0,21,0,12,0,30,0,7,0 13,0,38,0,3,0,46,0,26,0,11,0 39,0,24,0,23,0,22,0,17,0,9,0 48,0,16,0,32,0,40,0,37,0,14,0 1,0,29,0,25,0,10,0,34,0,43,0 47,0,44,0,5,0,2,0,4,0,42,0 6,0,28,0,20,0,41,0,19,0,15,0 39,0,18,0,30,0,16,0,13,0,45,0 23,0,11,0,25,0,31,0,26,0,7,0 44,0,29,0,42,0,22,0,48,0,38,0 15,0,34,0,5,0,47,0,24,0,27,0 3,0,41,0,6,0,36,0,2,0,32,0 1,0,35,0,40,0,8,0,19,0,9,0 20,0,14,0,21,0,10,0,17,0,4,0 33,0,46,0,12,0,37,0,28,0,43,0 15,0,7,0,16,0,34,0,32,0,42,0 23,0,6,0,35,0,13,0,44,0,27,0 41,0,24,0,29,0,31,0,30,0,14,0 5,0,3,0,9,0,48,0,33,0,25,0 26,0,10,0,36,0,47,0,22,0,18,0 8,0,21,0,4,0,2,0,11,0,28,0 1,0,46,0,39,0,40,0,12,0,20,0 43,0,17,0,38,0,19,0,37,0,45,0 18,0,16,0,24,0,25,0,41,0,35,0 28,0,26,0,8,0,6,0,34,0,48,0 32,0,27,0,22,0,13,0,1,0,21,0 14,0,19,0,17,0,42,0,12,0,11,0 47,0,7,0,33,0,46,0,20,0,30,0 10,0,5,0,2,0,45,0,40,0,23,0 9,0,4,0,38,0,43,0,36,0,15,0 3,0,44,0,37,0,39,0,31,0,29,0 27,0,30,0,25,0,48,0,17,0,28,0 32,0,10,0,8,0,46,0,42,0,24,0 9,0,45,0,43,0,6,0,22,0,14,0 40,0,44,0,34,0,11,0,15,0,18,0 41,0,39,0,37,0,5,0,21,0,7,0 2,0,20,0,31,0,38,0,35,0,12,0 36,0,47,0,3,0,1,0,23,0,16,0 19,0,13,0,26,0,4,0,33,0,29,0 5,0,11,0,37,0,22,0,15,0,30,0 39,0,48,0,43,0,35,0,24,0,32,0 23,0,12,0,41,0,8,0,38,0,34,0 4,0,40,0,7,0,3,0,29,0,45,0 13,0,28,0,31,0,10,0,47,0,9,0 21,0,36,0,46,0,44,0,25,0,14,0 42,0,17,0,18,0,6,0,33,0,1,0 16,0,19,0,20,0,27,0,26,0,2,0 11,0,48,0,45,0,41,0,47,0,32,0 15,0,8,0,14,0,13,0,25,0,39,0 33,0,21,0,24,0,6,0,40,0,38,0 12,0,19,0,27,0,44,0,10,0,7,0 43,0,42,0,20,0,18,0,3,0,23,0 2,0,30,0,37,0,1,0,9,0,26,0 4,0,22,0,31,0,16,0,34,0,46,0 29,0,36,0,28,0,17,0,35,0,5,0 27,0,40,0,42,0,41,0,43,0,13,0 10,0,30,0,38,0,3,0,39,0,8,0 37,0,25,0,12,0,6,0,4,0,47,0 33,0,22,0,34,0,2,0,35,0,14,0 45,0,7,0,28,0,24,0,1,0,44,0 32,0,31,0,17,0,5,0,26,0,18,0 15,0,46,0,48,0,19,0,23,0,21,0 16,0,9,0,36,0,11,0,20,0,29,0 ================================================ FILE: schedules/48_9.csv ================================================ 15,0,7,0,5,0,21,0,9,0,30,0 47,0,12,0,16,0,36,0,23,0,39,0 14,0,24,0,11,0,10,0,33,0,48,0 19,0,17,0,4,0,1,0,37,0,3,0 25,0,46,0,31,0,8,0,18,0,2,0 41,0,34,0,45,0,22,0,38,0,35,0 6,0,13,0,43,0,29,0,40,0,27,0 32,0,44,0,42,0,26,0,28,0,20,0 33,0,37,0,2,0,47,0,21,0,3,0 14,0,7,0,9,0,46,0,23,0,19,0 38,0,48,0,18,0,39,0,27,0,35,0 5,0,22,0,17,0,36,0,42,0,31,0 24,0,26,0,10,0,4,0,6,0,45,0 13,0,40,0,1,0,44,0,8,0,34,0 15,0,29,0,25,0,41,0,32,0,16,0 11,0,20,0,30,0,12,0,43,0,28,0 22,0,27,0,37,0,14,0,10,0,46,0 33,0,36,0,44,0,4,0,35,0,18,0 38,0,45,0,24,0,3,0,7,0,32,0 23,0,5,0,42,0,2,0,41,0,29,0 16,0,21,0,17,0,34,0,28,0,13,0 12,0,11,0,31,0,47,0,19,0,40,0 8,0,26,0,48,0,20,0,15,0,43,0 6,0,39,0,30,0,9,0,1,0,25,0 33,0,14,0,34,0,41,0,36,0,27,0 16,0,38,0,5,0,17,0,11,0,46,0 28,0,44,0,15,0,2,0,24,0,22,0 39,0,32,0,31,0,43,0,4,0,7,0 6,0,23,0,1,0,21,0,20,0,45,0 10,0,9,0,3,0,35,0,42,0,40,0 13,0,19,0,48,0,26,0,25,0,47,0 18,0,29,0,37,0,8,0,30,0,12,0 34,0,46,0,6,0,39,0,33,0,15,0 42,0,20,0,2,0,7,0,16,0,35,0 28,0,4,0,3,0,13,0,5,0,31,0 26,0,40,0,45,0,29,0,30,0,36,0 19,0,8,0,27,0,41,0,24,0,23,0 22,0,1,0,32,0,48,0,11,0,37,0 14,0,21,0,44,0,12,0,38,0,25,0 10,0,47,0,18,0,17,0,43,0,9,0 45,0,8,0,39,0,33,0,19,0,5,0 1,0,42,0,16,0,32,0,27,0,24,0 37,0,12,0,23,0,35,0,15,0,13,0 28,0,47,0,36,0,25,0,10,0,7,0 4,0,20,0,40,0,22,0,18,0,14,0 31,0,2,0,26,0,9,0,11,0,34,0 38,0,17,0,3,0,48,0,6,0,29,0 46,0,41,0,21,0,43,0,30,0,44,0 13,0,45,0,14,0,18,0,42,0,15,0 7,0,1,0,27,0,12,0,26,0,5,0 10,0,32,0,8,0,39,0,2,0,3,0 40,0,25,0,43,0,17,0,24,0,33,0 21,0,29,0,35,0,19,0,22,0,11,0 30,0,23,0,48,0,31,0,34,0,16,0 38,0,20,0,44,0,9,0,36,0,37,0 41,0,6,0,28,0,46,0,4,0,47,0 17,0,32,0,35,0,5,0,14,0,8,0 3,0,11,0,15,0,25,0,18,0,27,0 34,0,10,0,29,0,44,0,31,0,7,0 30,0,24,0,46,0,20,0,13,0,47,0 39,0,37,0,21,0,26,0,41,0,42,0 33,0,23,0,40,0,1,0,28,0,38,0 4,0,9,0,12,0,45,0,48,0,16,0 22,0,43,0,36,0,6,0,19,0,2,0 34,0,25,0,5,0,20,0,10,0,37,0 1,0,18,0,39,0,29,0,28,0,14,0 7,0,41,0,48,0,40,0,11,0,44,0 33,0,6,0,9,0,32,0,13,0,12,0 15,0,47,0,8,0,42,0,38,0,4,0 36,0,46,0,35,0,24,0,31,0,21,0 26,0,3,0,43,0,23,0,16,0,22,0 2,0,27,0,17,0,19,0,30,0,45,0 ================================================ FILE: schedules/49_1.csv ================================================ 10,0,1,0,43,0,34,0,8,0,3,0 32,0,16,0,33,0,20,0,17,0,9,0 41,0,13,0,23,0,7,0,49,0,19,0 29,0,48,0,46,0,27,0,31,0,22,0 37,0,14,0,2,0,39,0,21,0,28,0 44,0,15,0,11,0,24,0,42,0,5,0 6,0,25,0,4,0,18,0,12,0,26,0 36,0,47,0,30,0,45,0,40,0,35,0 38,0,27,1,39,1,32,1,34,1,14,1 ================================================ FILE: schedules/49_10.csv ================================================ 12,0,27,0,47,0,45,0,20,0,39,0 43,0,3,0,38,0,30,0,25,0,44,0 46,0,15,0,48,0,9,0,13,0,41,0 26,0,34,0,49,0,24,0,14,0,32,0 35,0,33,0,10,0,37,0,31,0,18,0 1,0,28,0,42,0,36,0,16,0,40,0 29,0,11,0,21,0,19,0,2,0,5,0 6,0,8,0,4,0,17,0,7,0,22,0 46,0,12,0,30,0,23,0,31,0,10,0 41,0,32,0,49,0,47,0,3,0,45,0 34,0,14,0,5,0,39,0,15,0,28,0 9,0,33,0,4,0,20,0,2,0,8,0 35,0,21,0,17,0,27,0,23,0,48,0 24,0,7,0,16,0,43,0,36,0,37,0 6,0,44,0,38,0,29,0,42,0,26,0 40,0,1,0,22,0,25,0,11,0,18,0 19,0,8,0,39,0,13,0,46,0,3,0 4,1,35,0,14,0,36,1,12,0,5,0 16,0,2,0,23,0,26,0,47,0,41,0 1,0,29,0,25,0,48,0,49,0,24,0 31,0,38,0,34,0,43,0,17,0,11,0 15,0,6,0,33,0,45,0,19,0,10,0 40,0,21,0,30,0,44,0,37,0,9,0 32,0,22,0,27,0,42,0,13,0,7,0 28,0,20,0,16,0,18,0,17,0,5,0 46,0,2,0,38,0,49,0,15,0,36,0 29,0,41,0,33,0,30,0,11,0,26,0 24,0,12,0,31,0,6,0,3,0,40,0 43,0,28,0,32,0,10,0,4,0,21,0 9,0,22,0,48,0,47,0,23,0,34,0 18,0,1,0,39,0,7,0,35,0,8,0 14,0,37,0,25,0,27,0,19,0,44,0 42,0,20,0,3,0,45,0,13,0,4,0 15,0,9,0,26,0,22,0,12,0,11,0 48,0,47,0,7,0,28,0,33,0,38,0 37,0,32,0,17,0,39,0,23,0,36,0 10,0,29,0,16,0,35,0,25,0,31,0 44,0,21,0,46,0,34,0,18,0,45,0 40,0,27,0,13,0,49,0,2,0,43,0 6,0,14,0,20,0,1,0,41,0,30,0 19,0,42,0,24,0,8,0,5,0,47,0 25,0,45,0,7,0,34,0,35,0,11,0 40,0,32,0,29,0,46,0,33,0,17,0 15,0,43,0,10,0,2,0,6,0,1,0 16,0,18,0,13,0,38,0,26,0,14,0 39,0,24,0,3,0,23,0,28,0,9,0 31,0,36,0,22,0,21,0,20,0,19,0 8,0,41,0,12,0,49,0,44,0,42,0 27,0,37,0,30,0,4,0,5,0,48,0 3,0,1,0,33,0,46,0,6,0,34,0 19,0,35,0,26,0,40,0,43,0,20,0 49,0,11,0,23,0,42,0,18,0,36,0 4,0,39,0,27,0,24,0,10,0,41,0 45,0,14,0,28,0,37,0,22,0,29,0 17,0,13,0,47,0,21,0,12,0,25,0 5,0,7,0,44,0,2,0,48,0,31,0 8,0,30,0,9,0,16,0,15,0,32,0 38,0,23,0,19,0,1,0,49,0,45,0 28,0,36,0,13,0,27,0,6,0,11,0 39,0,5,0,21,0,33,0,25,0,26,0 47,0,4,0,15,0,40,0,44,0,31,0 42,0,17,0,9,0,14,0,7,0,10,0 37,0,8,0,34,0,20,0,29,0,38,0 48,0,35,0,18,0,3,0,32,0,2,0 43,0,16,0,12,0,46,0,41,0,22,0 24,0,44,0,36,0,30,0,13,0,33,0 23,0,25,0,15,0,4,0,20,0,7,0 5,0,28,0,31,0,32,0,38,0,1,0 46,0,11,0,10,0,21,0,3,0,14,0 43,0,29,0,48,0,39,0,12,0,42,0 40,0,19,0,34,0,41,0,16,0,27,0 47,0,9,0,49,0,35,0,6,0,37,0 2,0,22,0,18,0,17,0,24,0,30,0 26,0,45,0,36,0,8,0,10,0,48,0 23,0,40,0,7,0,29,0,13,0,5,0 49,0,4,0,12,0,34,0,16,0,33,0 35,0,38,0,41,0,21,0,24,0,22,0 8,0,31,0,45,0,43,0,14,0,9,0 3,0,26,0,17,0,15,0,27,0,1,0 44,0,11,0,20,0,6,0,32,0,39,0 42,0,25,0,2,0,28,0,46,0,37,0 30,0,18,0,4,0,47,0,19,0,36,0 ================================================ FILE: schedules/49_11.csv ================================================ 30,0,11,0,31,0,7,0,35,0,32,0 18,0,19,0,6,0,37,0,20,0,26,0 27,0,23,0,39,0,49,0,34,0,9,0 45,0,17,0,8,0,29,0,10,0,4,0 21,0,1,0,44,0,38,0,40,0,13,0 24,0,42,0,41,0,48,0,33,0,47,0 14,0,25,0,46,0,36,0,3,0,12,0 28,0,43,0,2,0,16,0,22,0,5,0 13,0,7,0,23,0,15,0,39,0,37,0 21,0,4,0,49,0,6,0,48,0,17,0 46,0,20,0,38,0,24,0,30,0,45,0 26,0,19,0,25,0,16,0,8,0,43,0 5,0,15,0,47,0,40,0,10,0,31,0 27,0,22,0,44,0,35,0,41,0,29,0 2,0,14,0,9,0,42,0,18,0,1,0 33,0,28,0,12,0,36,0,11,0,34,0 3,0,16,0,13,0,32,0,40,0,17,0 7,1,22,0,38,0,46,0,19,0,23,0 5,0,10,0,24,0,9,0,35,0,4,0 28,0,29,0,47,0,2,0,39,0,1,0 31,0,41,0,6,0,34,0,3,0,43,0 21,0,27,0,42,0,11,0,45,0,26,0 48,0,18,0,14,0,25,0,33,0,32,0 37,0,8,0,36,0,30,0,20,0,49,0 15,0,12,0,34,0,44,0,4,0,16,0 28,0,39,0,26,0,46,0,24,0,40,0 35,0,47,0,3,0,48,0,38,0,19,0 27,0,30,0,37,0,36,0,21,0,25,0 15,0,41,0,8,0,12,0,17,0,2,0 22,0,33,0,10,0,44,0,11,0,6,0 42,0,7,0,5,0,1,0,13,0,20,0 45,0,9,0,18,0,49,0,29,0,31,0 14,0,32,0,36,0,23,0,43,0,4,0 37,0,46,0,11,0,2,0,48,0,34,0 3,0,5,0,38,0,15,0,42,0,26,0 8,0,13,0,35,0,47,0,18,0,41,0 6,0,49,0,23,0,12,0,16,0,27,0 40,0,25,0,20,0,17,0,10,0,9,0 14,0,19,0,29,0,21,0,30,0,28,0 32,0,45,0,43,0,44,0,7,0,24,0 1,0,31,0,22,0,39,0,33,0,16,0 20,0,23,0,11,0,4,0,46,0,47,0 30,0,13,0,9,0,3,0,28,0,49,0 29,0,5,0,45,0,41,0,14,0,37,0 26,0,35,0,17,0,1,0,36,0,33,0 7,0,39,0,6,0,8,0,38,0,21,0 42,0,10,0,34,0,19,0,12,0,43,0 15,0,40,0,27,0,22,0,18,0,32,0 25,0,24,0,48,0,31,0,2,0,44,0 21,0,33,0,11,0,5,0,8,0,49,0 26,0,38,0,10,0,28,0,13,0,37,0 41,0,1,0,9,0,30,0,15,0,46,0 42,0,32,0,47,0,34,0,29,0,25,0 19,0,20,0,44,0,27,0,14,0,31,0 2,0,36,0,23,0,40,0,6,0,45,0 43,0,48,0,22,0,24,0,39,0,17,0 3,0,7,0,4,0,35,0,16,0,18,0 12,0,14,0,11,0,41,0,13,0,19,0 46,0,10,0,2,0,21,0,31,0,32,0 8,0,28,0,44,0,23,0,42,0,9,0 35,0,45,0,39,0,5,0,25,0,6,0 12,0,49,0,18,0,43,0,1,0,38,0 15,0,3,0,48,0,20,0,36,0,29,0 47,0,7,0,16,0,27,0,33,0,17,0 34,0,4,0,30,0,40,0,26,0,22,0 24,0,32,0,1,0,37,0,19,0,45,0 43,0,21,0,35,0,20,0,28,0,15,0 16,0,25,0,9,0,41,0,38,0,11,0 22,0,23,0,34,0,13,0,48,0,5,0 44,0,10,0,36,0,3,0,18,0,39,0 4,0,31,0,17,0,37,0,42,0,6,0 49,0,2,0,47,0,14,0,7,0,26,0 29,0,24,0,33,0,12,0,30,0,40,0 46,0,1,0,48,0,27,0,8,0,10,0 38,0,18,0,17,0,32,0,11,0,5,0 19,0,28,0,4,0,7,0,25,0,41,0 31,0,20,0,35,0,23,0,29,0,26,0 34,0,8,0,6,0,15,0,14,0,24,0 30,0,36,0,39,0,2,0,16,0,42,0 43,0,13,0,33,0,45,0,3,0,27,0 12,0,37,0,21,0,9,0,47,0,22,0 40,0,44,0,29,0,49,0,46,0,7,0 20,0,6,0,32,0,1,0,28,0,25,0 24,0,38,0,31,0,27,0,13,0,36,0 22,0,39,0,11,0,14,0,3,0,8,0 17,0,30,0,5,0,44,0,47,0,34,0 16,0,23,0,41,0,18,0,10,0,21,0 19,0,49,0,33,0,2,0,4,0,15,0 37,0,35,0,40,0,42,0,43,0,46,0 12,0,9,0,26,0,45,0,48,0,7,0 ================================================ FILE: schedules/49_12.csv ================================================ 41,0,6,0,26,0,40,0,22,0,47,0 19,0,29,0,27,0,37,0,10,0,3,0 21,0,17,0,48,0,39,0,9,0,30,0 24,0,49,0,4,0,20,0,34,0,1,0 8,0,25,0,32,0,11,0,23,0,18,0 44,0,42,0,14,0,35,0,7,0,31,0 12,0,28,0,38,0,36,0,16,0,2,0 46,0,15,0,13,0,33,0,45,0,43,0 32,0,17,0,20,0,5,0,41,0,22,0 39,0,11,0,31,0,18,0,1,0,25,0 19,0,42,0,28,0,9,0,47,0,44,0 38,0,6,0,16,0,7,0,36,0,8,0 2,0,24,0,48,0,34,0,14,0,13,0 40,0,5,0,35,0,23,0,12,0,46,0 30,0,37,0,4,0,26,0,3,0,43,0 15,0,27,0,33,0,10,0,49,0,29,0 45,0,20,0,7,0,21,0,1,0,32,0 48,0,22,0,44,0,24,0,5,0,18,0 39,0,35,0,19,0,43,0,40,0,38,0 23,0,3,0,9,0,4,0,16,0,46,0 11,0,14,0,26,0,15,0,28,0,49,0 47,0,6,0,45,0,31,0,27,0,12,0 42,0,10,0,13,0,25,0,34,0,41,0 36,0,21,0,30,0,33,0,2,0,37,0 29,0,8,0,28,0,17,0,38,0,24,0 1,0,43,0,23,0,44,0,26,0,45,0 32,0,10,0,7,0,40,0,4,0,27,0 49,0,37,0,12,0,25,0,13,0,9,0 39,0,20,0,46,0,6,0,19,0,14,0 35,0,17,0,34,0,3,0,21,0,47,0 5,0,30,0,29,0,42,0,36,0,31,0 18,0,48,0,41,0,33,0,16,0,8,0 11,0,15,0,20,0,22,0,2,0,12,0 46,0,32,0,34,0,38,0,37,0,1,0 24,0,40,0,9,0,36,0,5,0,3,0 23,0,42,0,26,0,39,0,6,0,33,0 13,0,19,0,41,0,28,0,30,0,7,0 11,0,4,0,22,0,48,0,45,0,29,0 21,0,44,0,15,0,27,0,25,0,16,0 35,0,47,0,14,0,10,0,18,0,8,0 2,0,43,0,31,0,49,0,17,0,41,0 28,0,26,0,33,0,39,0,5,0,7,0 34,0,23,0,44,0,30,0,15,0,22,0 48,0,27,0,10,0,11,0,46,0,37,0 17,0,36,0,25,0,20,0,4,0,14,0 12,0,43,0,16,0,42,0,24,0,32,0 49,0,21,0,8,0,31,0,40,0,19,0 38,0,3,0,45,0,18,0,13,0,6,0 29,0,47,0,2,0,35,0,9,0,1,0 16,0,14,0,23,0,43,0,42,0,37,0 17,0,22,0,7,0,39,0,25,0,10,0 46,0,28,0,36,0,45,0,21,0,31,0 27,0,47,0,38,0,49,0,5,0,20,0 8,0,13,0,2,0,4,0,44,0,29,0 32,0,15,0,26,0,9,0,19,0,48,0 40,0,3,0,34,0,12,0,1,0,33,0 35,0,11,0,6,0,24,0,41,0,30,0 18,0,4,0,42,0,46,0,27,0,17,0 10,0,47,0,36,0,48,0,13,0,32,0 34,0,8,0,31,0,20,0,22,0,26,0 15,0,6,0,1,0,21,0,28,0,35,0 44,0,39,0,37,0,41,0,9,0,11,0 18,0,12,0,7,0,49,0,23,0,2,0 5,0,25,0,33,0,45,0,19,0,24,0 16,0,30,0,40,0,14,0,29,0,38,0 3,0,48,0,20,0,43,0,28,0,44,0 46,0,42,0,22,0,32,0,36,0,49,0 39,0,13,0,45,0,35,0,2,0,27,0 31,0,30,0,33,0,12,0,4,0,9,0 29,0,6,0,43,0,5,0,11,0,34,0 21,0,23,0,38,0,41,0,10,0,14,0 1,0,26,0,19,0,17,0,18,0,16,0 24,0,37,0,7,0,47,0,15,0,8,0 25,0,40,0,49,0,3,0,44,0,30,0 14,0,39,0,21,0,12,0,29,0,32,0 41,0,1,0,36,0,34,0,19,0,10,0 9,0,27,0,43,0,8,0,38,0,22,0 5,0,16,0,28,0,35,0,4,0,25,0 33,0,46,0,3,0,47,0,7,0,11,0 17,0,31,0,13,0,23,0,24,0,15,0 2,0,45,0,42,0,26,0,48,0,40,0 37,0,18,0,29,0,6,0,20,0,44,0 36,0,22,0,35,0,19,0,21,0,33,0 31,0,10,0,28,0,30,0,43,0,32,0 4,0,3,0,15,0,42,0,47,0,39,0 17,0,40,0,11,0,16,0,20,0,13,0 26,0,24,0,25,0,2,0,38,0,46,0 9,0,7,0,34,0,14,0,45,0,18,0 27,0,1,0,49,0,48,0,23,0,6,0 37,0,41,0,8,0,12,0,5,0,15,0 38,0,19,0,4,0,21,0,11,0,42,0 16,0,9,0,45,0,10,0,30,0,20,0 33,0,44,0,32,0,17,0,2,0,6,0 34,0,36,0,24,0,27,0,39,0,23,0 41,0,29,0,35,0,26,0,49,0,46,0 22,0,18,0,31,0,28,0,37,0,40,0 25,0,12,0,47,0,43,0,7,0,48,0 5,0,8,0,14,0,3,0,1,0,13,0 ================================================ FILE: schedules/49_13.csv ================================================ 21,0,39,0,7,0,46,0,11,0,28,0 37,0,42,0,25,0,9,0,22,0,31,0 47,0,32,0,44,0,38,0,24,0,18,0 17,0,43,0,33,0,40,0,45,0,2,0 10,0,6,0,41,0,30,0,3,0,20,0 5,0,1,0,12,0,48,0,36,0,4,0 15,0,35,0,16,0,19,0,26,0,29,0 34,0,27,0,8,0,49,0,13,0,14,0 23,0,40,0,32,0,22,0,30,0,2,0 25,0,4,0,3,0,45,0,43,0,37,0 42,0,47,0,1,0,15,0,5,0,20,0 31,0,28,0,13,0,46,0,41,0,29,0 49,0,23,0,21,0,14,0,12,0,39,0 17,0,9,0,11,0,26,0,27,0,16,0 48,0,8,0,18,0,7,0,35,0,44,0 36,0,38,0,33,0,24,0,6,0,19,0 34,0,28,0,47,0,10,0,4,0,2,0 43,1,25,0,46,0,26,1,30,0,23,0 7,1,3,0,49,0,5,1,22,0,29,0 31,0,44,0,12,0,19,1,13,0,17,0 34,0,36,0,10,0,32,0,18,0,27,0 40,0,6,0,39,0,38,0,42,0,41,0 24,0,48,0,11,0,8,0,33,0,15,0 20,0,35,0,9,0,21,0,16,0,37,0 1,0,44,0,30,0,14,0,45,0,7,0 42,0,32,0,26,0,4,0,49,0,18,0 22,0,48,0,12,0,2,0,34,0,39,0 38,0,13,0,5,0,28,0,29,0,9,0 3,0,37,0,40,0,19,0,11,0,47,0 23,0,27,0,35,0,6,0,33,0,1,0 45,0,46,0,24,0,41,0,14,0,36,0 15,0,10,0,25,0,8,0,21,0,17,0 43,0,20,0,44,0,16,0,31,0,32,0 35,0,6,0,13,0,47,0,37,0,39,0 27,0,24,0,41,0,23,0,9,0,45,0 4,0,5,0,17,0,3,0,46,0,8,0 33,0,2,0,19,0,25,0,49,0,28,0 18,0,16,0,22,0,36,0,7,0,1,0 38,0,14,0,43,0,34,0,42,0,15,0 31,0,26,0,40,0,21,0,12,0,11,0 48,0,30,0,29,0,20,0,10,0,46,0 33,0,39,0,4,0,9,0,44,0,37,0 16,0,2,0,6,0,7,0,18,0,15,0 8,0,47,0,38,0,32,0,45,0,12,0 3,0,21,0,10,0,24,0,23,0,13,0 43,0,29,0,11,0,1,0,22,0,14,0 27,0,28,0,40,0,35,0,25,0,5,0 30,0,41,0,17,0,19,0,48,0,42,0 31,0,36,0,20,0,34,0,26,0,49,0 39,0,29,0,15,0,12,0,33,0,18,0 23,0,25,0,38,0,1,0,3,0,16,0 4,0,30,0,19,0,48,0,13,0,27,0 9,0,2,0,47,0,14,0,46,0,31,0 21,0,43,0,41,0,5,0,6,0,36,0 28,0,45,0,17,0,7,0,37,0,32,0 24,0,20,0,34,0,35,0,40,0,11,0 26,0,22,0,44,0,8,0,42,0,10,0 48,0,21,0,1,0,49,0,47,0,43,0 28,0,14,0,19,0,18,0,3,0,17,0 34,0,13,0,11,0,32,0,25,0,6,0 30,0,12,0,42,0,37,0,2,0,24,0 7,0,16,0,8,0,20,0,23,0,39,0 36,0,44,0,45,0,9,0,15,0,40,0 49,0,10,0,35,0,31,0,41,0,5,0 46,0,38,0,26,0,27,0,33,0,22,0 4,0,6,0,7,0,29,0,24,0,12,0 11,0,39,0,18,0,9,0,13,0,30,0 32,0,15,0,3,0,31,0,48,0,25,0 21,0,34,0,22,0,44,0,19,0,41,0 46,0,40,0,36,0,8,0,1,0,37,0 4,0,26,0,28,0,16,0,42,0,23,0 5,0,2,0,49,0,45,0,10,0,38,0 20,0,17,0,14,0,35,0,47,0,33,0 27,0,29,0,37,0,43,0,32,0,24,0 16,0,9,0,46,0,12,0,3,0,34,0 5,0,48,0,10,0,25,0,45,0,11,0 35,0,8,0,31,0,6,0,38,0,30,0 18,0,2,0,14,0,21,0,20,0,4,0 36,0,29,0,49,0,23,0,44,0,17,0 13,0,7,0,43,0,42,0,33,0,40,0 28,0,41,0,22,0,15,0,47,0,27,0 1,0,19,0,45,0,26,0,39,0,3,0 20,0,18,0,6,0,24,0,25,0,17,0 48,0,14,0,16,0,10,0,13,0,40,0 43,0,36,0,12,0,35,0,42,0,28,0 7,0,38,0,27,0,26,0,47,0,21,0 32,0,2,0,1,0,9,0,39,0,19,0 37,0,11,0,41,0,29,0,44,0,8,0 23,0,33,0,5,0,31,0,34,0,30,0 15,0,22,0,49,0,4,0,46,0,35,0 10,0,24,0,26,0,1,0,39,0,28,0 42,0,44,0,2,0,27,0,3,0,11,0 32,0,29,0,17,0,5,0,21,0,40,0 25,0,7,0,41,0,4,0,12,0,38,0 18,0,45,0,31,0,20,0,13,0,22,0 30,0,33,0,14,0,47,0,36,0,16,0 23,0,19,0,34,0,46,0,15,0,37,0 43,0,48,0,9,0,6,0,49,0,8,0 39,0,22,0,24,0,17,0,31,0,27,0 11,0,33,0,16,0,32,0,41,0,4,0 13,0,2,0,3,0,26,0,35,0,36,0 12,0,15,0,19,0,43,0,10,0,30,0 8,0,14,0,9,0,28,0,7,0,5,0 6,0,47,0,46,0,25,0,44,0,40,0 37,0,18,0,23,0,38,0,48,0,49,0 21,0,45,0,42,0,34,0,1,0,29,0 20,0,26,0,7,0,43,0,5,0,19,0 ================================================ FILE: schedules/49_14.csv ================================================ 4,0,7,0,3,0,22,0,2,0,24,0 34,0,45,0,8,0,42,0,17,0,30,0 1,0,23,0,16,0,48,0,25,0,11,0 36,0,15,0,49,0,37,0,39,0,14,0 6,0,26,0,21,0,9,0,33,0,10,0 40,0,32,0,29,0,19,0,43,0,35,0 12,0,44,0,18,0,20,0,38,0,46,0 27,0,47,0,13,0,28,0,41,0,31,0 5,0,9,0,21,0,34,0,36,0,30,0 37,0,8,0,26,0,24,0,16,0,25,0 44,0,14,0,3,0,19,0,11,0,7,0 12,0,33,0,48,0,32,0,31,0,39,0 15,0,13,0,2,0,45,0,47,0,18,0 28,0,1,0,17,0,49,0,10,0,38,0 22,0,42,0,35,0,27,0,23,0,5,0 6,0,29,0,41,0,20,0,4,0,43,0 40,0,21,0,45,0,46,0,44,0,16,0 3,1,38,0,15,0,9,1,37,0,31,0 17,1,10,0,22,0,13,1,1,0,30,0 4,0,12,0,11,0,14,0,36,0,35,0 43,0,27,0,42,0,48,0,47,0,5,0 8,0,25,0,41,0,6,0,2,0,32,0 7,0,29,0,24,0,23,0,34,0,33,0 49,0,28,0,46,0,19,0,26,0,40,0 20,0,18,0,22,0,39,0,43,0,9,0 35,0,32,0,4,0,44,0,10,0,42,0 48,0,14,0,38,0,3,0,6,0,8,0 2,0,46,0,34,0,23,0,11,0,37,0 45,0,28,0,13,0,36,0,16,0,19,0 30,0,12,0,31,0,39,0,25,0,17,0 40,0,24,0,27,0,33,0,1,0,5,0 7,0,41,0,18,0,20,0,15,0,26,0 47,0,29,0,23,0,49,0,21,0,13,0 12,0,43,0,38,0,4,0,6,0,45,0 44,0,40,0,31,0,2,0,10,0,14,0 35,0,28,0,7,0,19,0,9,0,18,0 42,0,32,0,49,0,24,0,26,0,30,0 21,0,1,0,41,0,8,0,36,0,22,0 17,0,5,0,11,0,48,0,29,0,15,0 46,0,47,0,33,0,37,0,25,0,3,0 27,0,39,0,20,0,16,0,34,0,26,0 9,0,45,0,23,0,32,0,14,0,41,0 43,0,5,0,24,0,36,0,11,0,38,0 46,0,10,0,30,0,7,0,12,0,47,0 39,0,1,0,2,0,13,0,35,0,6,0 48,0,49,0,3,0,44,0,28,0,29,0 25,0,20,0,40,0,22,0,31,0,34,0 19,0,4,0,21,0,15,0,27,0,17,0 42,0,18,0,8,0,16,0,37,0,33,0 47,0,11,0,30,0,41,0,44,0,38,0 10,0,26,0,48,0,5,0,3,0,12,0 22,0,29,0,14,0,28,0,36,0,32,0 20,0,34,0,19,0,4,0,1,0,42,0 25,0,46,0,21,0,45,0,15,0,35,0 24,0,9,0,6,0,31,0,18,0,27,0 13,0,16,0,43,0,8,0,33,0,2,0 37,0,17,0,40,0,7,0,39,0,23,0 49,0,47,0,34,0,35,0,20,0,41,0 19,0,25,0,27,0,10,0,18,0,29,0 31,0,36,0,43,0,3,0,30,0,16,0 46,0,6,0,5,0,44,0,17,0,8,0 45,0,32,0,1,0,4,0,37,0,49,0 40,0,38,0,9,0,7,0,48,0,13,0 33,0,24,0,39,0,21,0,28,0,14,0 11,0,2,0,42,0,15,0,22,0,12,0 23,0,17,0,36,0,26,0,35,0,3,0 1,0,31,0,10,0,43,0,29,0,46,0 14,0,6,0,30,0,37,0,5,0,34,0 41,0,16,0,4,0,48,0,18,0,40,0 26,0,22,0,33,0,44,0,21,0,47,0 32,0,13,0,25,0,7,0,38,0,27,0 49,0,8,0,19,0,9,0,12,0,2,0 39,0,11,0,28,0,20,0,45,0,42,0 24,0,23,0,35,0,15,0,6,0,16,0 47,0,14,0,26,0,43,0,1,0,48,0 37,0,18,0,32,0,13,0,17,0,34,0 39,0,38,0,45,0,22,0,41,0,19,0 36,0,20,0,3,0,8,0,46,0,27,0 23,0,30,0,2,0,28,0,4,0,33,0 5,0,31,0,25,0,24,0,11,0,21,0 10,0,40,0,12,0,9,0,42,0,29,0 15,0,7,0,43,0,44,0,49,0,27,0 46,0,39,0,26,0,22,0,32,0,38,0 31,0,23,0,48,0,20,0,2,0,21,0 14,0,4,0,17,0,42,0,25,0,47,0 30,0,28,0,37,0,29,0,35,0,8,0 45,0,5,0,16,0,7,0,1,0,9,0 36,0,18,0,6,0,40,0,49,0,11,0 44,0,19,0,33,0,24,0,41,0,12,0 15,0,34,0,14,0,10,0,13,0,3,0 48,0,37,0,35,0,26,0,45,0,31,0 21,0,42,0,38,0,2,0,7,0,36,0 9,0,27,0,11,0,4,0,40,0,39,0 13,0,44,0,22,0,29,0,16,0,17,0 33,0,41,0,30,0,46,0,15,0,1,0 34,0,43,0,3,0,12,0,25,0,28,0 20,0,6,0,47,0,32,0,24,0,19,0 8,0,10,0,5,0,18,0,23,0,49,0 26,0,36,0,1,0,2,0,17,0,31,0 34,0,9,0,35,0,3,0,33,0,45,0 46,0,48,0,22,0,13,0,42,0,24,0 49,0,41,0,39,0,25,0,29,0,4,0 43,0,44,0,37,0,12,0,21,0,27,0 18,0,11,0,16,0,10,0,32,0,47,0 30,0,19,0,38,0,20,0,14,0,23,0 28,0,15,0,8,0,6,0,7,0,40,0 13,0,31,0,4,0,5,0,26,0,49,0 9,0,36,0,48,0,34,0,25,0,44,0 42,0,19,0,3,0,18,0,21,0,30,0 39,0,35,0,10,0,38,0,8,0,47,0 17,0,7,0,33,0,43,0,11,0,6,0 29,0,2,0,27,0,45,0,14,0,46,0 1,0,12,0,37,0,22,0,28,0,23,0 16,0,32,0,20,0,40,0,5,0,15,0 24,0,3,0,17,0,41,0,9,0,13,0 ================================================ FILE: schedules/49_2.csv ================================================ 23,0,43,0,8,0,16,0,33,0,46,0 26,0,24,0,11,0,18,0,31,0,25,0 47,0,7,0,32,0,30,0,3,0,41,0 9,0,42,0,37,0,15,0,39,0,35,0 5,0,22,0,36,0,13,0,38,0,12,0 1,0,10,0,14,0,4,0,28,0,40,0 2,0,17,0,49,0,20,0,45,0,19,0 27,0,6,0,44,0,48,0,21,0,34,0 29,0,38,0,25,0,43,0,47,0,37,0 11,0,13,0,10,0,30,0,8,0,42,0 15,0,41,0,22,0,20,0,18,0,23,0 39,0,4,0,19,0,5,0,44,0,7,0 2,0,27,0,46,0,12,0,24,0,14,0 48,0,32,0,40,0,35,0,36,0,49,0 31,0,33,0,3,0,45,0,29,0,6,0 34,0,16,0,9,0,28,0,26,0,17,0 21,0,47,1,5,1,1,0,22,1,8,1 ================================================ FILE: schedules/49_3.csv ================================================ 6,0,29,0,27,0,21,0,24,0,34,0 17,0,43,0,31,0,49,0,42,0,38,0 32,0,8,0,46,0,30,0,15,0,41,0 33,0,4,0,37,0,35,0,44,0,18,0 5,0,45,0,12,0,23,0,10,0,20,0 36,0,26,0,40,0,19,0,7,0,39,0 13,0,9,0,48,0,3,0,47,0,22,0 25,0,16,0,2,0,14,0,11,0,1,0 28,0,41,0,20,0,37,0,29,0,31,0 49,1,4,0,23,0,19,1,27,0,15,0 33,1,5,0,22,0,36,0,8,0,17,0 30,0,24,0,14,0,43,0,10,0,3,0 1,0,42,0,9,0,34,0,40,0,44,0 39,0,6,0,46,0,48,0,12,0,25,0 47,0,28,0,35,0,32,0,26,0,11,0 13,0,38,0,18,0,21,0,7,0,2,0 45,0,24,0,15,0,16,0,33,0,31,0 10,0,22,0,19,0,25,0,42,0,37,0 29,0,32,0,14,0,36,0,4,0,48,0 49,0,40,0,2,0,30,0,28,0,12,0 27,0,20,0,8,0,16,0,38,0,47,0 46,0,3,0,18,0,26,0,5,0,1,0 21,0,43,0,35,0,9,0,39,0,23,0 44,0,17,0,41,0,6,0,7,0,45,0 11,0,19,0,33,0,13,0,34,0,49,0 ================================================ FILE: schedules/49_4.csv ================================================ 14,0,10,0,21,0,9,0,45,0,47,0 32,0,44,0,34,0,31,0,20,0,25,0 42,0,26,0,7,0,41,0,30,0,2,0 43,0,35,0,27,0,1,0,4,0,24,0 8,0,49,0,37,0,22,0,40,0,16,0 48,0,39,0,12,0,13,0,17,0,28,0 15,0,19,0,5,0,23,0,29,0,46,0 36,0,38,0,18,0,3,0,33,0,6,0 11,0,20,0,45,0,7,0,24,0,16,0 30,0,40,0,25,0,27,0,13,0,14,0 47,0,22,0,19,0,12,0,35,0,31,0 49,0,29,0,6,0,33,0,41,0,9,0 34,0,15,0,21,0,39,0,18,0,4,0 32,0,46,0,42,0,36,0,48,0,1,0 28,0,10,0,11,0,5,0,8,0,3,0 38,0,44,0,43,0,17,0,26,0,37,0 2,0,35,0,49,0,23,0,18,0,25,0 31,1,33,0,13,0,15,1,42,0,24,0 36,0,47,0,41,0,20,0,4,0,8,0 19,0,40,0,7,0,1,0,39,0,38,0 3,0,16,0,32,0,43,0,14,0,29,0 26,0,23,0,9,0,11,0,27,0,48,0 44,0,5,0,30,0,12,0,21,0,6,0 46,0,2,0,10,0,34,0,17,0,22,0 28,0,25,0,1,0,45,0,37,0,15,0 8,0,13,0,9,0,32,0,7,0,35,0 24,0,14,0,36,0,26,0,5,0,49,0 16,0,31,0,46,0,41,0,27,0,21,0 22,0,3,0,23,0,42,0,44,0,39,0 28,0,33,0,47,0,34,0,43,0,30,0 45,0,29,0,4,0,2,0,38,0,12,0 37,0,18,0,20,0,48,0,19,0,10,0 6,0,17,0,31,0,40,0,11,0,15,0 ================================================ FILE: schedules/49_5.csv ================================================ 33,0,46,0,31,0,32,0,4,0,10,0 15,0,11,0,20,0,9,0,13,0,39,0 30,0,49,0,36,0,14,0,37,0,6,0 16,0,24,0,35,0,18,0,48,0,27,0 22,0,47,0,23,0,44,0,12,0,19,0 21,0,17,0,45,0,7,0,34,0,2,0 25,0,38,0,42,0,41,0,26,0,5,0 40,0,1,0,28,0,29,0,43,0,3,0 35,0,9,0,10,0,8,0,23,0,37,0 2,0,27,0,6,0,20,0,33,0,22,0 34,0,32,0,41,0,30,0,18,0,47,0 29,0,44,0,31,0,17,0,13,0,25,0 45,0,5,0,40,0,8,0,16,0,11,0 49,0,3,0,46,0,24,0,15,0,26,0 7,0,12,0,48,0,38,0,43,0,36,0 21,0,19,0,14,0,1,0,39,0,42,0 4,0,9,0,17,0,28,0,30,0,16,0 2,1,23,0,18,0,25,0,40,0,49,0 44,0,6,0,43,0,11,0,24,0,41,0 42,0,47,0,14,0,35,0,31,0,20,0 1,0,37,0,12,0,5,0,33,0,34,0 45,0,32,0,15,0,36,0,29,0,10,0 19,0,27,0,8,0,4,0,7,0,26,0 46,0,22,0,48,0,13,0,28,0,21,0 39,0,18,0,6,0,3,0,38,0,17,0 20,0,23,0,5,0,29,0,24,0,30,0 49,0,42,0,8,0,32,0,16,0,12,0 43,0,37,0,31,0,21,0,27,0,15,0 26,0,48,0,14,0,9,0,44,0,33,0 13,0,36,0,47,0,2,0,1,0,4,0 7,0,41,0,40,0,39,0,46,0,35,0 10,0,25,0,11,0,3,0,22,0,34,0 38,0,19,0,33,0,28,0,45,0,24,0 16,0,26,0,1,0,31,0,23,0,6,0 44,0,2,0,30,0,15,0,42,0,7,0 35,0,22,0,17,0,43,0,5,0,32,0 47,0,29,0,38,0,21,0,9,0,49,0 40,0,27,0,13,0,12,0,10,0,14,0 8,0,28,0,39,0,34,0,25,0,36,0 3,0,4,0,20,0,45,0,48,0,41,0 37,0,18,0,11,0,19,0,46,0,2,0 ================================================ FILE: schedules/49_6.csv ================================================ 22,0,2,0,10,0,11,0,27,0,9,0 19,0,16,0,17,0,1,0,38,0,21,0 12,0,49,0,37,0,45,0,29,0,41,0 25,0,46,0,23,0,14,0,40,0,47,0 28,0,48,0,33,0,15,0,4,0,30,0 44,0,35,0,20,0,34,0,18,0,24,0 8,0,43,0,36,0,26,0,7,0,5,0 42,0,13,0,6,0,39,0,32,0,3,0 31,0,10,0,1,0,14,0,49,0,48,0 16,0,41,0,28,0,19,0,35,0,25,0 4,0,34,0,27,0,12,0,26,0,21,0 6,0,44,0,46,0,36,0,37,0,9,0 24,0,15,0,32,0,23,0,2,0,3,0 7,0,40,0,18,0,22,0,29,0,39,0 5,0,17,0,42,0,47,0,31,0,20,0 43,0,45,0,38,0,33,0,13,0,11,0 30,0,21,0,9,0,8,0,32,0,49,0 2,0,48,0,34,0,41,0,46,0,39,0 15,0,27,0,37,0,7,0,17,0,35,0 40,0,20,0,19,0,10,0,13,0,4,0 14,0,45,0,24,0,43,0,6,0,22,0 18,0,33,0,12,0,5,0,3,0,25,0 23,0,36,0,11,0,16,0,31,0,30,0 29,0,44,0,8,0,42,0,28,0,38,0 47,0,26,0,41,0,1,0,22,0,32,0 12,0,39,0,14,0,20,0,9,0,17,0 49,0,11,0,4,0,18,0,46,0,3,0 35,0,38,0,10,0,6,0,23,0,5,0 13,0,47,0,48,0,21,0,36,0,29,0 19,0,2,0,15,0,31,0,44,0,45,0 37,0,25,0,26,0,30,0,42,0,24,0 1,0,27,0,43,0,8,0,28,0,40,0 7,0,33,0,9,0,34,0,16,0,47,0 22,0,49,0,36,0,38,0,20,0,15,0 35,0,30,0,14,0,13,0,2,0,12,0 5,0,39,0,11,0,24,0,28,0,21,0 8,0,31,0,41,0,4,0,6,0,33,0 26,0,17,0,29,0,46,0,16,0,10,0 44,0,3,0,48,0,27,0,40,0,25,0 34,0,37,0,32,0,18,0,43,0,19,0 23,0,45,0,42,0,1,0,7,0,4,0 13,0,16,0,49,0,24,0,8,0,17,0 25,0,29,0,6,0,15,0,11,0,26,0 47,0,39,0,30,0,10,0,43,0,44,0 14,0,41,0,38,0,27,0,42,0,18,0 3,0,35,0,34,0,36,0,45,0,1,0 40,0,21,0,33,0,20,0,37,0,2,0 22,0,5,0,9,0,48,0,23,0,19,0 46,0,28,0,31,0,7,0,32,0,12,0 ================================================ FILE: schedules/49_7.csv ================================================ 31,0,32,0,16,0,2,0,15,0,9,0 40,0,39,0,6,0,34,0,42,0,19,0 5,0,28,0,4,0,43,0,18,0,27,0 35,0,45,0,13,0,3,0,11,0,23,0 29,0,49,0,10,0,46,0,38,0,36,0 12,0,33,0,26,0,25,0,7,0,21,0 22,0,37,0,17,0,14,0,24,0,41,0 47,0,1,0,20,0,8,0,30,0,44,0 16,0,11,0,6,0,48,0,31,0,10,0 33,0,18,0,25,0,40,0,32,0,46,0 39,0,36,0,15,0,23,0,7,0,22,0 27,0,19,0,14,0,47,0,45,0,29,0 4,0,13,0,34,0,37,0,21,0,44,0 17,0,2,0,48,0,43,0,8,0,3,0 41,0,35,0,5,0,49,0,26,0,1,0 9,0,12,0,42,0,28,0,20,0,24,0 30,0,23,0,19,0,38,0,16,0,37,0 6,1,32,0,27,0,44,1,17,0,36,0 29,1,18,0,8,0,25,1,34,0,3,0 22,0,20,0,40,0,5,1,11,0,31,0 35,0,24,0,7,0,48,0,30,0,4,0 1,0,14,0,33,0,42,0,15,0,10,0 49,0,21,0,13,0,28,0,47,0,2,0 45,0,46,0,43,0,39,0,26,0,9,0 41,0,38,0,32,0,12,0,40,0,34,0 19,0,24,0,10,0,23,0,20,0,18,0 37,0,27,0,3,0,25,0,6,0,1,0 2,0,30,0,42,0,29,0,22,0,26,0 5,0,21,0,45,0,38,0,15,0,17,0 9,0,43,0,48,0,33,0,13,0,36,0 31,0,41,0,44,0,28,0,39,0,35,0 49,0,12,0,11,0,14,0,8,0,4,0 47,0,46,0,34,0,16,0,7,0,1,0 15,0,13,0,26,0,27,0,40,0,24,0 20,0,48,0,29,0,45,0,32,0,37,0 30,0,43,0,49,0,25,0,42,0,31,0 14,0,46,0,2,0,44,0,23,0,4,0 7,0,9,0,11,0,17,0,18,0,41,0 47,0,10,0,5,0,3,0,39,0,12,0 33,0,38,0,8,0,22,0,6,0,28,0 35,0,21,0,36,0,16,0,19,0,25,0 26,0,20,0,34,0,49,0,17,0,14,0 40,0,44,0,2,0,45,0,10,0,7,0 48,0,23,0,42,0,47,0,27,0,41,0 38,0,29,0,39,0,16,0,18,0,13,0 19,0,3,0,4,0,22,0,9,0,33,0 24,0,37,0,31,0,36,0,8,0,5,0 15,0,12,0,6,0,30,0,35,0,46,0 21,0,28,0,43,0,11,0,1,0,32,0 25,0,47,0,38,0,4,0,20,0,41,0 24,0,33,0,16,0,49,0,45,0,44,0 46,0,7,0,42,0,13,0,5,0,19,0 23,0,31,0,1,0,29,0,17,0,12,0 36,0,3,0,6,0,40,0,14,0,21,0 8,0,35,0,22,0,32,0,43,0,10,0 28,0,26,0,18,0,48,0,37,0,15,0 30,0,11,0,27,0,2,0,34,0,39,0 9,0,44,0,25,0,6,0,29,0,5,0 ================================================ FILE: schedules/49_8.csv ================================================ 26,0,4,0,24,0,19,0,20,0,5,0 38,0,27,0,2,0,10,0,12,0,22,0 45,0,41,0,33,0,25,0,46,0,49,0 30,0,43,0,14,0,47,0,15,0,6,0 13,0,17,0,28,0,39,0,1,0,16,0 42,0,21,0,9,0,44,0,48,0,8,0 31,0,11,0,3,0,36,0,18,0,23,0 37,0,7,0,35,0,34,0,29,0,40,0 32,0,17,0,46,0,25,0,27,0,6,0 21,0,1,0,4,0,45,0,30,0,26,0 49,0,3,0,43,0,48,0,5,0,38,0 22,0,19,0,36,0,28,0,37,0,15,0 41,0,7,0,8,0,13,0,10,0,31,0 16,0,11,0,24,0,33,0,32,0,44,0 40,0,18,0,42,0,39,0,23,0,34,0 29,0,35,0,12,0,9,0,14,0,20,0 47,0,3,0,17,0,2,0,26,0,19,0 41,1,13,0,37,0,21,1,44,0,43,0 48,1,31,0,6,0,23,1,33,0,28,0 24,0,12,0,25,0,40,0,8,0,49,0 2,0,14,0,16,0,45,0,5,0,36,0 15,0,30,0,42,0,11,0,27,0,35,0 32,0,4,0,9,0,18,0,34,0,10,0 20,0,39,0,47,0,7,0,46,0,38,0 29,0,22,0,6,0,1,0,24,0,41,0 25,0,30,0,16,0,37,0,3,0,42,0 34,0,19,0,43,0,36,0,27,0,21,0 18,0,32,0,45,0,15,0,12,0,7,0 5,0,28,0,46,0,9,0,11,0,40,0 48,0,47,0,49,0,4,0,29,0,17,0 22,0,38,0,23,0,14,0,13,0,26,0 39,0,10,0,44,0,20,0,35,0,31,0 1,0,8,0,32,0,2,0,33,0,37,0 15,0,21,0,41,0,16,0,4,0,12,0 5,0,6,0,23,0,34,0,45,0,38,0 7,0,40,0,44,0,3,0,14,0,27,0 2,0,18,0,47,0,48,0,24,0,28,0 31,0,26,0,39,0,9,0,43,0,25,0 22,0,17,0,8,0,20,0,11,0,46,0 49,0,1,0,13,0,35,0,42,0,36,0 10,0,29,0,33,0,30,0,19,0,40,0 27,0,23,0,41,0,9,0,37,0,47,0 28,0,25,0,11,0,4,0,7,0,43,0 31,0,34,0,15,0,49,0,2,0,20,0 14,0,45,0,10,0,42,0,24,0,17,0 6,0,16,0,38,0,35,0,8,0,19,0 26,0,29,0,18,0,36,0,44,0,46,0 30,0,48,0,21,0,22,0,32,0,39,0 13,0,3,0,5,0,1,0,12,0,33,0 2,0,6,0,9,0,7,0,16,0,42,0 37,0,40,0,4,0,38,0,31,0,17,0 46,0,23,0,43,0,30,0,24,0,10,0 8,0,15,0,45,0,29,0,28,0,3,0 27,0,34,0,12,0,48,0,1,0,26,0 19,0,14,0,11,0,39,0,41,0,49,0 36,0,20,0,13,0,32,0,47,0,25,0 35,0,21,0,22,0,18,0,33,0,5,0 44,0,9,0,24,0,1,0,38,0,15,0 19,0,12,0,46,0,42,0,31,0,23,0 28,0,49,0,32,0,3,0,41,0,26,0 11,0,29,0,2,0,6,0,21,0,13,0 25,0,37,0,10,0,14,0,48,0,18,0 8,0,33,0,36,0,4,0,39,0,27,0 5,0,7,0,34,0,44,0,17,0,30,0 35,0,16,0,45,0,47,0,22,0,43,0 20,0,41,0,48,0,40,0,21,0,23,0 ================================================ FILE: schedules/49_9.csv ================================================ 40,0,16,0,18,0,46,0,42,0,14,0 9,0,32,0,29,0,7,0,23,0,12,0 39,0,35,0,4,0,21,0,37,0,6,0 30,0,8,0,25,0,45,0,41,0,47,0 49,0,3,0,11,0,48,0,26,0,10,0 44,0,2,0,38,0,33,0,34,0,36,0 22,0,13,0,28,0,19,0,24,0,5,0 20,0,17,0,31,0,27,0,15,0,43,0 1,0,21,0,47,0,26,0,29,0,14,0 34,0,23,0,6,0,49,0,8,0,42,0 39,0,5,0,41,0,7,0,40,0,11,0 12,0,36,0,45,0,48,0,43,0,19,0 18,0,9,0,46,0,33,0,28,0,31,0 3,0,24,0,20,0,35,0,16,0,32,0 1,0,38,0,37,0,17,0,22,0,25,0 44,0,13,0,27,0,15,0,30,0,4,0 10,0,23,0,45,0,2,0,41,0,33,0 5,1,12,0,49,0,36,1,39,0,20,0 18,1,3,0,8,0,22,0,38,0,9,0 31,0,24,0,25,0,44,0,4,0,11,0 43,0,16,0,47,0,13,0,34,0,37,0 15,0,19,0,14,0,46,0,6,0,26,0 27,0,32,0,40,0,10,0,29,0,28,0 48,0,42,0,35,0,17,0,2,0,30,0 1,0,8,0,36,0,7,0,21,0,31,0 47,0,9,0,25,0,46,0,5,0,20,0 4,0,19,0,33,0,40,0,49,0,14,0 11,0,6,0,27,0,22,0,18,0,2,0 30,0,12,0,13,0,21,0,23,0,44,0 41,0,17,0,48,0,34,0,24,0,29,0 16,0,7,0,28,0,10,0,35,0,15,0 39,0,37,0,42,0,32,0,3,0,45,0 26,0,1,0,2,0,43,0,38,0,40,0 14,0,21,0,20,0,11,0,23,0,5,0 48,0,22,0,7,0,33,0,16,0,44,0 42,0,10,0,13,0,39,0,31,0,8,0 4,0,46,0,3,0,41,0,1,0,43,0 26,0,24,0,35,0,18,0,25,0,12,0 6,0,17,0,15,0,47,0,36,0,32,0 49,0,38,0,29,0,45,0,30,0,28,0 34,0,19,0,27,0,9,0,37,0,11,0 20,0,12,0,44,0,3,0,41,0,42,0 31,0,4,0,10,0,23,0,22,0,47,0 25,0,39,0,28,0,14,0,43,0,36,0 21,0,38,0,19,0,16,0,27,0,48,0 49,0,37,0,18,0,2,0,29,0,15,0 45,0,26,0,17,0,7,0,13,0,46,0 24,0,9,0,30,0,6,0,1,0,40,0 35,0,5,0,33,0,34,0,8,0,32,0 37,0,14,0,31,0,10,0,38,0,12,0 23,0,41,0,26,0,27,0,17,0,28,0 18,0,7,0,44,0,47,0,20,0,19,0 16,0,24,0,39,0,9,0,2,0,8,0 15,0,40,0,3,0,21,0,34,0,25,0 32,0,33,0,6,0,13,0,11,0,1,0 4,0,42,0,43,0,48,0,29,0,5,0 22,0,46,0,36,0,35,0,30,0,49,0 45,0,9,0,44,0,14,0,10,0,17,0 18,0,15,0,34,0,12,0,1,0,39,0 41,0,29,0,31,0,5,0,16,0,6,0 26,0,33,0,8,0,4,0,37,0,20,0 21,0,2,0,48,0,46,0,32,0,25,0 22,0,35,0,27,0,40,0,13,0,45,0 47,0,42,0,11,0,28,0,3,0,36,0 49,0,23,0,43,0,24,0,7,0,38,0 30,0,10,0,32,0,19,0,18,0,26,0 5,0,8,0,27,0,46,0,1,0,44,0 28,0,34,0,20,0,6,0,45,0,22,0 17,0,36,0,11,0,12,0,16,0,4,0 47,0,15,0,24,0,38,0,42,0,33,0 14,0,2,0,7,0,31,0,30,0,3,0 21,0,43,0,13,0,41,0,49,0,9,0 29,0,23,0,39,0,25,0,35,0,19,0 37,0,40,0,5,0,48,0,36,0,18,0 ================================================ FILE: schedules/50_1.csv ================================================ 46,0,35,0,13,0,32,0,30,0,36,0 33,0,42,0,31,0,49,0,37,0,48,0 39,0,5,0,8,0,17,0,29,0,4,0 2,0,38,0,15,0,25,0,1,0,34,0 20,0,22,0,19,0,41,0,43,0,40,0 16,0,14,0,11,0,23,0,47,0,24,0 12,0,28,0,45,0,44,0,6,0,7,0 21,0,26,0,10,0,50,0,3,0,18,0 27,0,19,1,35,1,9,0,37,1,41,1 ================================================ FILE: schedules/50_10.csv ================================================ 43,0,38,0,50,0,21,0,6,0,3,0 28,0,2,0,14,0,41,0,29,0,12,0 11,0,23,0,48,0,8,0,16,0,1,0 35,0,22,0,5,0,25,0,42,0,47,0 4,0,46,0,44,0,15,0,9,0,20,0 49,0,34,0,37,0,33,0,19,0,13,0 10,0,24,0,18,0,7,0,40,0,45,0 32,0,17,0,30,0,31,0,26,0,36,0 27,0,35,0,20,0,39,0,6,0,12,0 44,0,50,0,3,0,1,0,23,0,14,0 40,0,37,0,29,0,4,0,13,0,49,0 46,0,2,0,21,0,25,0,7,0,28,0 22,0,9,0,26,0,10,0,8,0,33,0 19,0,32,0,16,0,18,0,30,0,5,0 36,0,39,0,24,0,15,0,41,0,48,0 42,0,11,0,17,0,27,0,34,0,43,0 38,0,45,0,12,0,31,0,47,0,7,0 18,1,44,0,19,0,29,1,23,0,35,0 37,1,46,0,36,0,48,1,40,0,3,0 17,0,6,0,13,0,2,0,5,0,9,0 49,0,20,0,8,0,50,0,28,0,11,0 45,0,39,0,22,0,4,0,21,0,16,0 47,0,14,0,26,0,24,0,27,0,31,0 25,0,15,0,1,0,38,0,34,0,32,0 10,0,30,0,41,0,42,0,43,0,33,0 12,0,16,0,49,0,44,0,17,0,21,0 19,0,39,0,47,0,50,0,24,0,9,0 40,0,35,0,13,0,23,0,7,0,15,0 30,0,11,0,46,0,10,0,6,0,22,0 3,0,32,0,33,0,2,0,42,0,4,0 18,0,29,0,8,0,38,0,25,0,36,0 20,0,34,0,5,0,31,0,43,0,48,0 1,0,28,0,41,0,37,0,45,0,26,0 14,0,49,0,15,0,27,0,10,0,16,0 39,0,38,0,21,0,11,0,40,0,33,0 31,0,44,0,42,0,50,0,46,0,13,0 20,0,18,0,4,0,26,0,24,0,1,0 22,0,37,0,2,0,34,0,14,0,35,0 25,0,3,0,19,0,17,0,28,0,48,0 23,0,43,0,12,0,45,0,9,0,32,0 8,0,36,0,41,0,6,0,5,0,47,0 29,0,7,0,50,0,30,0,27,0,37,0 48,0,16,0,44,0,42,0,38,0,26,0 21,0,34,0,13,0,3,0,35,0,24,0 12,0,18,0,17,0,46,0,15,0,22,0 4,0,28,0,33,0,6,0,27,0,36,0 5,0,25,0,10,0,39,0,41,0,23,0 7,0,11,0,1,0,9,0,31,0,29,0 43,0,32,0,40,0,19,0,14,0,8,0 47,0,45,0,20,0,2,0,30,0,49,0 48,0,50,0,36,0,10,0,13,0,12,0 27,0,21,0,9,0,34,0,18,0,41,0 28,0,31,0,6,0,22,0,24,0,16,0 4,0,43,0,37,0,23,0,47,0,46,0 1,0,30,0,35,0,49,0,40,0,38,0 33,0,45,0,2,0,8,0,5,0,44,0 26,0,19,0,15,0,11,0,29,0,3,0 14,0,32,0,7,0,39,0,17,0,20,0 25,0,37,0,9,0,42,0,16,0,30,0 24,0,48,0,38,0,46,0,49,0,5,0 27,0,15,0,2,0,22,0,1,0,43,0 28,0,47,0,13,0,32,0,18,0,11,0 3,0,34,0,8,0,39,0,29,0,10,0 17,0,26,0,33,0,45,0,35,0,50,0 25,0,12,0,31,0,40,0,6,0,19,0 23,0,36,0,42,0,20,0,21,0,14,0 41,0,4,0,11,0,44,0,7,0,30,0 33,0,29,0,16,0,43,0,47,0,24,0 48,0,9,0,10,0,35,0,28,0,32,0 31,0,15,0,17,0,21,0,37,0,8,0 46,0,42,0,39,0,1,0,19,0,2,0 14,0,22,0,41,0,13,0,20,0,38,0 27,0,5,0,3,0,44,0,12,0,40,0 25,0,50,0,34,0,45,0,4,0,36,0 23,0,6,0,49,0,18,0,26,0,7,0 1,0,47,0,38,0,19,0,10,0,17,0 8,0,11,0,24,0,12,0,35,0,37,0 5,0,21,0,48,0,30,0,4,0,14,0 40,0,18,0,16,0,41,0,50,0,2,0 6,0,42,0,45,0,32,0,15,0,29,0 26,0,27,0,13,0,43,0,46,0,25,0 7,0,9,0,49,0,36,0,3,0,22,0 28,0,44,0,23,0,34,0,39,0,31,0 33,0,18,0,37,0,20,0,29,0,48,0 ================================================ FILE: schedules/50_11.csv ================================================ 44,0,9,0,35,0,41,0,1,0,26,0 36,0,38,0,8,0,43,0,27,0,25,0 42,0,19,0,30,0,22,0,20,0,15,0 48,0,18,0,45,0,32,0,40,0,34,0 21,0,12,0,11,0,49,0,31,0,47,0 28,0,13,0,7,0,29,0,4,0,5,0 50,0,16,0,37,0,10,0,39,0,2,0 14,0,6,0,33,0,24,0,17,0,3,0 46,0,25,0,20,0,23,0,30,0,47,0 18,0,38,0,22,0,36,0,28,0,49,0 37,0,1,0,32,0,15,0,4,0,2,0 29,0,42,0,40,0,35,0,17,0,14,0 9,0,46,0,16,0,31,0,13,0,34,0 11,0,19,0,27,0,50,0,43,0,33,0 12,0,26,0,24,0,48,0,39,0,5,0 7,0,41,0,8,0,6,0,21,0,45,0 23,0,10,0,22,0,44,0,3,0,32,0 28,1,20,0,38,0,36,1,1,0,11,0 9,0,19,0,24,0,18,0,30,0,37,0 42,0,35,0,33,0,7,0,39,0,21,0 2,0,3,0,27,0,34,0,5,0,44,0 25,0,29,0,41,0,49,0,15,0,43,0 16,0,31,0,12,0,26,0,14,0,23,0 48,0,17,0,8,0,10,0,50,0,46,0 13,0,6,0,4,0,45,0,47,0,40,0 28,0,5,0,3,0,32,0,41,0,30,0 31,0,18,0,7,0,44,0,16,0,15,0 43,0,17,0,36,0,21,0,9,0,37,0 49,0,2,0,35,0,45,0,14,0,4,0 12,0,40,0,1,0,34,0,25,0,33,0 47,0,46,0,6,0,10,0,42,0,38,0 19,0,39,0,26,0,23,0,13,0,8,0 22,0,24,0,48,0,50,0,29,0,11,0 27,0,17,0,7,0,20,0,41,0,4,0 33,0,44,0,49,0,6,0,5,0,15,0 32,0,38,0,2,0,13,0,26,0,9,0 31,0,50,0,40,0,36,0,30,0,39,0 25,0,35,0,10,0,18,0,1,0,28,0 11,0,47,0,42,0,3,0,8,0,34,0 43,0,12,0,22,0,24,0,20,0,45,0 16,0,14,0,19,0,46,0,48,0,27,0 21,0,23,0,31,0,37,0,29,0,38,0 11,0,13,0,2,0,25,0,17,0,18,0 43,0,20,0,44,0,4,0,49,0,39,0 15,0,9,0,33,0,48,0,10,0,3,0 16,0,41,0,28,0,40,0,8,0,24,0 35,0,50,0,5,0,34,0,23,0,6,0 12,0,36,0,32,0,42,0,1,0,46,0 14,0,22,0,47,0,19,0,7,0,37,0 21,0,26,0,29,0,30,0,27,0,45,0 43,0,39,0,23,0,28,0,33,0,2,0 46,0,38,0,3,0,41,0,24,0,18,0 8,0,9,0,10,0,4,0,7,0,12,0 30,0,34,0,48,0,49,0,6,0,20,0 40,0,27,0,13,0,31,0,42,0,37,0 32,0,25,0,21,0,14,0,44,0,50,0 47,0,36,0,15,0,22,0,26,0,35,0 5,0,1,0,19,0,29,0,16,0,17,0 11,0,3,0,37,0,45,0,46,0,28,0 50,0,2,0,41,0,42,0,20,0,12,0 18,0,4,0,34,0,23,0,25,0,24,0 1,0,30,0,14,0,43,0,8,0,47,0 40,0,17,0,49,0,38,0,26,0,7,0 39,0,6,0,16,0,11,0,9,0,32,0 10,0,45,0,44,0,19,0,29,0,36,0 48,0,15,0,13,0,21,0,27,0,22,0 33,0,5,0,20,0,31,0,35,0,8,0 43,0,28,0,26,0,6,0,7,0,42,0 45,0,49,0,32,0,10,0,24,0,16,0 18,0,29,0,27,0,12,0,39,0,3,0 50,0,23,0,15,0,17,0,47,0,9,0 40,0,21,0,4,0,22,0,46,0,5,0 31,0,1,0,25,0,41,0,48,0,19,0 37,0,44,0,2,0,30,0,35,0,11,0 14,0,34,0,36,0,13,0,38,0,33,0 28,0,17,0,6,0,12,0,27,0,47,0 42,0,25,0,22,0,31,0,5,0,9,0 8,0,49,0,19,0,46,0,35,0,32,0 34,0,26,0,11,0,37,0,14,0,41,0 7,0,36,0,24,0,48,0,23,0,2,0 45,0,50,0,39,0,1,0,38,0,15,0 30,0,4,0,44,0,18,0,33,0,16,0 13,0,20,0,3,0,10,0,43,0,40,0 29,0,34,0,28,0,21,0,19,0,2,0 45,0,23,0,1,0,27,0,42,0,49,0 39,0,17,0,41,0,22,0,36,0,16,0 24,0,15,0,37,0,12,0,8,0,44,0 43,0,29,0,46,0,33,0,32,0,26,0 7,0,3,0,35,0,50,0,13,0,25,0 6,0,9,0,18,0,21,0,14,0,20,0 30,0,10,0,5,0,40,0,38,0,11,0 47,0,4,0,28,0,31,0,48,0,36,0 ================================================ FILE: schedules/50_12.csv ================================================ 26,0,11,0,1,0,39,0,45,0,18,0 40,0,31,0,20,0,49,0,50,0,25,0 9,0,4,0,27,0,38,0,5,0,43,0 3,0,2,0,29,0,30,0,8,0,13,0 42,0,19,0,32,0,21,0,47,0,41,0 14,0,17,0,36,0,22,0,46,0,10,0 28,0,37,0,15,0,34,0,35,0,23,0 48,0,33,0,12,0,6,0,7,0,16,0 44,0,2,0,4,0,24,0,32,0,20,0 31,0,19,0,30,0,10,0,1,0,40,0 28,0,18,0,50,0,14,0,29,0,43,0 7,0,48,0,35,0,6,0,3,0,11,0 41,0,36,0,24,0,9,0,12,0,16,0 17,0,23,0,42,0,45,0,27,0,25,0 33,0,34,0,44,0,47,0,46,0,5,0 21,0,8,0,37,0,49,0,22,0,38,0 15,0,13,0,16,0,26,0,39,0,40,0 43,0,27,0,24,0,14,0,20,0,48,0 6,0,5,0,32,0,2,0,50,0,23,0 19,0,33,0,29,0,45,0,4,0,17,0 47,0,34,0,18,0,11,0,8,0,22,0 46,0,49,0,1,0,35,0,9,0,41,0 31,0,12,0,10,0,38,0,28,0,3,0 36,0,42,0,37,0,13,0,26,0,7,0 39,0,15,0,25,0,44,0,21,0,30,0 43,0,35,0,45,0,34,0,50,0,22,0 16,0,8,0,28,0,19,0,17,0,20,0 11,0,5,0,27,0,36,0,29,0,31,0 7,0,4,0,21,0,24,0,13,0,44,0 33,0,39,0,10,0,49,0,2,0,37,0 30,0,48,0,40,0,14,0,6,0,41,0 26,0,9,0,47,0,23,0,3,0,25,0 38,0,12,0,32,0,18,0,42,0,46,0 1,0,24,0,45,0,15,0,10,0,43,0 6,0,4,0,30,0,37,0,17,0,11,0 39,0,22,0,7,0,23,0,41,0,28,0 19,0,50,0,13,0,12,0,44,0,14,0 49,0,3,0,34,0,42,0,16,0,2,0 9,0,5,0,18,0,48,0,15,0,47,0 26,0,27,0,29,0,1,0,20,0,33,0 38,0,8,0,36,0,40,0,25,0,32,0 46,0,35,0,17,0,21,0,31,0,42,0 16,0,18,0,43,0,7,0,5,0,10,0 20,0,13,0,9,0,11,0,34,0,30,0 6,0,15,0,49,0,22,0,47,0,29,0 44,0,41,0,38,0,33,0,26,0,14,0 21,0,23,0,36,0,50,0,48,0,1,0 24,0,40,0,28,0,3,0,46,0,4,0 45,0,2,0,32,0,27,0,19,0,35,0 25,0,31,0,8,0,37,0,12,0,39,0 42,0,22,0,26,0,48,0,17,0,9,0 10,0,41,0,3,0,4,0,50,0,20,0 45,0,16,0,38,0,1,0,44,0,47,0 25,0,11,0,13,0,28,0,27,0,46,0 39,0,31,0,23,0,30,0,43,0,33,0 14,0,15,0,7,0,32,0,49,0,8,0 6,0,19,0,37,0,36,0,18,0,2,0 29,0,5,0,40,0,12,0,24,0,35,0 21,0,10,0,27,0,34,0,46,0,26,0 32,0,47,0,30,0,28,0,31,0,7,0 49,0,23,0,20,0,13,0,18,0,38,0 43,0,3,0,44,0,40,0,45,0,36,0 9,0,22,0,14,0,33,0,16,0,21,0 17,0,12,0,1,0,37,0,34,0,4,0 41,0,42,0,50,0,15,0,11,0,2,0 24,0,5,0,8,0,25,0,35,0,6,0 39,0,29,0,20,0,19,0,48,0,36,0 22,0,33,0,3,0,1,0,32,0,21,0 46,0,12,0,13,0,30,0,15,0,45,0 4,0,18,0,26,0,31,0,5,0,35,0 27,0,42,0,44,0,6,0,8,0,10,0 23,0,29,0,11,0,16,0,14,0,39,0 28,0,49,0,47,0,37,0,24,0,48,0 7,0,40,0,50,0,34,0,19,0,9,0 25,0,17,0,38,0,43,0,41,0,2,0 42,0,14,0,30,0,4,0,36,0,5,0 16,0,10,0,47,0,35,0,13,0,39,0 6,0,20,0,28,0,21,0,45,0,9,0 15,0,34,0,41,0,31,0,48,0,38,0 44,0,32,0,23,0,11,0,49,0,12,0 50,0,24,0,33,0,17,0,8,0,18,0 27,0,37,0,22,0,3,0,40,0,19,0 25,0,46,0,2,0,29,0,1,0,7,0 43,0,4,0,49,0,26,0,36,0,6,0 41,0,48,0,8,0,44,0,28,0,45,0 10,0,20,0,11,0,15,0,40,0,33,0 35,0,50,0,16,0,27,0,38,0,30,0 31,0,46,0,24,0,19,0,22,0,23,0 5,0,39,0,17,0,32,0,13,0,3,0 1,0,14,0,25,0,42,0,7,0,34,0 43,0,26,0,21,0,2,0,47,0,12,0 18,0,37,0,41,0,9,0,29,0,44,0 19,0,11,0,45,0,30,0,5,0,49,0 13,0,23,0,48,0,25,0,10,0,4,0 36,0,35,0,15,0,28,0,17,0,33,0 22,0,20,0,12,0,47,0,27,0,7,0 14,0,2,0,8,0,1,0,9,0,31,0 29,0,21,0,18,0,40,0,43,0,42,0 50,0,46,0,32,0,37,0,26,0,16,0 34,0,6,0,38,0,39,0,24,0,3,0 ================================================ FILE: schedules/50_13.csv ================================================ 35,0,13,0,41,0,21,0,1,0,15,0 46,0,32,0,43,0,48,0,23,0,37,0 5,0,12,0,11,0,38,0,47,0,24,0 27,0,26,0,18,0,29,0,44,0,50,0 39,0,14,0,40,0,9,0,17,0,30,0 20,0,45,0,6,0,8,0,25,0,16,0 7,0,28,0,42,0,2,0,49,0,19,0 4,0,34,0,10,0,36,0,22,0,3,0 33,0,14,0,9,0,31,0,37,0,43,0 16,0,6,0,21,0,39,0,5,0,46,0 45,0,17,0,35,0,28,0,47,0,19,0 24,0,42,0,44,0,29,0,26,0,13,0 40,0,3,0,34,0,15,0,18,0,23,0 12,0,38,0,50,0,20,0,25,0,49,0 22,0,7,0,2,0,30,0,11,0,41,0 10,0,27,0,31,0,48,0,32,0,8,0 36,0,4,0,40,0,1,0,33,0,19,0 18,1,6,0,42,0,37,1,47,0,3,0 22,1,43,0,50,0,7,1,15,0,12,0 41,0,28,0,8,0,14,0,34,0,31,0 11,0,32,0,20,0,38,0,46,0,35,0 9,0,10,0,26,0,13,0,21,0,4,0 5,0,1,0,48,0,27,0,45,0,44,0 16,0,39,0,2,0,24,0,33,0,49,0 25,0,29,0,30,0,17,0,23,0,36,0 41,0,47,0,7,0,20,0,35,0,9,0 34,0,38,0,32,0,43,0,6,0,4,0 27,0,39,0,19,0,40,0,45,0,15,0 37,0,5,0,13,0,17,0,31,0,2,0 3,0,11,0,28,0,25,0,14,0,50,0 18,0,16,0,30,0,10,0,42,0,12,0 36,0,8,0,49,0,21,0,23,0,44,0 29,0,1,0,24,0,22,0,46,0,33,0 48,0,17,0,20,0,26,0,6,0,11,0 32,0,47,0,4,0,45,0,39,0,28,0 49,0,15,0,38,0,14,0,30,0,21,0 33,0,10,0,7,0,27,0,12,0,1,0 29,0,31,0,35,0,16,0,3,0,43,0 8,0,23,0,26,0,2,0,44,0,18,0 13,0,19,0,40,0,46,0,50,0,41,0 24,0,48,0,36,0,34,0,9,0,42,0 22,0,5,0,30,0,37,0,25,0,32,0 17,0,33,0,26,0,3,0,27,0,38,0 41,0,44,0,6,0,35,0,28,0,40,0 31,0,42,0,23,0,19,0,10,0,20,0 25,0,43,0,7,0,46,0,24,0,37,0 8,0,5,0,29,0,4,0,15,0,11,0 13,0,1,0,2,0,39,0,34,0,12,0 9,0,18,0,36,0,14,0,16,0,45,0 50,0,21,0,49,0,22,0,48,0,47,0 41,0,33,0,31,0,38,0,23,0,5,0 24,0,3,0,26,0,20,0,8,0,40,0 44,0,34,0,19,0,14,0,10,0,11,0 30,0,49,0,45,0,43,0,18,0,13,0 35,0,6,0,22,0,50,0,36,0,42,0 2,0,12,0,28,0,29,0,39,0,48,0 25,0,47,0,21,0,16,0,1,0,32,0 37,0,9,0,4,0,17,0,46,0,27,0 15,0,26,0,43,0,7,0,6,0,31,0 8,0,11,0,22,0,23,0,20,0,33,0 24,0,12,0,40,0,21,0,38,0,28,0 1,0,37,0,17,0,50,0,48,0,10,0 41,0,29,0,16,0,19,0,32,0,30,0 9,0,15,0,44,0,25,0,4,0,2,0 3,0,45,0,5,0,7,0,13,0,49,0 18,0,46,0,14,0,35,0,42,0,27,0 36,0,34,0,37,0,47,0,39,0,26,0 28,0,48,0,15,0,16,0,22,0,20,0 40,0,31,0,1,0,11,0,49,0,29,0 42,0,21,0,32,0,43,0,41,0,17,0 10,0,13,0,44,0,14,0,6,0,5,0 9,0,19,0,25,0,34,0,18,0,8,0 24,0,4,0,27,0,35,0,30,0,47,0 33,0,39,0,38,0,50,0,23,0,7,0 3,0,46,0,2,0,45,0,36,0,12,0 19,0,14,0,43,0,22,0,1,0,26,0 6,0,28,0,49,0,27,0,9,0,41,0 42,0,29,0,20,0,5,0,21,0,34,0 15,0,47,0,2,0,10,0,40,0,46,0 45,0,31,0,4,0,50,0,30,0,24,0 48,0,11,0,18,0,32,0,13,0,33,0 38,0,7,0,17,0,36,0,44,0,16,0 39,0,35,0,37,0,3,0,8,0,12,0 23,0,41,0,19,0,25,0,24,0,6,0 31,0,20,0,21,0,18,0,4,0,1,0 22,0,13,0,27,0,38,0,2,0,36,0 15,0,50,0,3,0,32,0,5,0,9,0 23,0,46,0,30,0,34,0,26,0,28,0 43,0,40,0,42,0,7,0,39,0,8,0 37,0,16,0,49,0,35,0,44,0,11,0 17,0,14,0,47,0,25,0,12,0,48,0 45,0,33,0,50,0,10,0,29,0,6,0 3,0,9,0,23,0,30,0,28,0,1,0 27,0,11,0,2,0,21,0,36,0,43,0 17,0,39,0,18,0,41,0,24,0,22,0 46,0,47,0,12,0,8,0,44,0,31,0 34,0,13,0,20,0,40,0,33,0,16,0 5,0,25,0,10,0,48,0,26,0,35,0 29,0,7,0,32,0,14,0,4,0,49,0 38,0,45,0,37,0,15,0,19,0,42,0 43,0,33,0,30,0,47,0,20,0,44,0 22,0,25,0,39,0,11,0,13,0,31,0 36,0,1,0,6,0,24,0,5,0,18,0 37,0,12,0,26,0,45,0,32,0,41,0 21,0,48,0,27,0,19,0,3,0,7,0 46,0,34,0,15,0,42,0,49,0,17,0 16,0,4,0,50,0,23,0,14,0,2,0 35,0,8,0,10,0,9,0,38,0,29,0 28,0,18,0,22,0,40,0,37,0,7,0 ================================================ FILE: schedules/50_14.csv ================================================ 29,0,20,0,22,0,4,0,26,0,10,0 34,0,1,0,6,0,37,0,11,0,2,0 21,0,16,0,32,0,43,0,40,0,28,0 30,0,7,0,35,0,27,0,38,0,15,0 48,0,23,0,12,0,17,0,13,0,3,0 18,0,41,0,47,0,33,0,14,0,50,0 9,0,25,0,19,0,45,0,46,0,36,0 39,0,44,0,5,0,31,0,49,0,24,0 42,0,7,0,11,0,8,0,4,0,35,0 14,0,21,0,34,0,3,0,27,0,22,0 26,0,18,0,28,0,46,0,50,0,16,0 43,0,25,0,49,0,48,0,13,0,20,0 41,0,32,0,9,0,44,0,17,0,45,0 38,0,24,0,40,0,23,0,36,0,1,0 6,0,33,0,8,0,15,0,31,0,5,0 30,0,42,0,10,0,47,0,37,0,19,0 12,0,2,0,28,0,39,0,29,0,35,0 17,1,46,0,34,0,4,1,49,0,50,0 27,0,6,0,32,0,20,0,25,0,8,0 19,0,14,0,48,0,16,0,40,0,37,0 26,0,13,0,23,0,18,0,31,0,11,0 9,0,24,0,15,0,22,0,5,0,42,0 7,0,41,0,12,0,21,0,39,0,30,0 33,0,1,0,45,0,43,0,10,0,36,0 44,0,29,0,38,0,3,0,47,0,2,0 11,0,22,0,46,0,42,0,48,0,17,0 28,0,23,0,24,0,7,0,19,0,34,0 20,0,43,0,15,0,14,0,41,0,40,0 31,0,4,0,13,0,38,0,10,0,45,0 8,0,2,0,21,0,25,0,18,0,5,0 29,0,6,0,49,0,3,0,1,0,50,0 30,0,36,0,9,0,39,0,33,0,32,0 26,0,37,0,27,0,16,0,44,0,12,0 47,0,38,0,21,0,35,0,15,0,19,0 46,0,3,0,31,0,5,0,11,0,28,0 45,0,50,0,2,0,25,0,10,0,48,0 42,0,44,0,20,0,36,0,24,0,39,0 7,0,32,0,1,0,14,0,18,0,29,0 47,0,17,0,4,0,8,0,41,0,34,0 40,0,35,0,13,0,27,0,33,0,16,0 12,0,43,0,26,0,6,0,9,0,22,0 23,0,37,0,21,0,30,0,49,0,20,0 15,0,10,0,41,0,34,0,11,0,47,0 36,0,4,0,29,0,14,0,13,0,16,0 2,0,17,0,27,0,24,0,42,0,19,0 25,0,33,0,23,0,39,0,48,0,7,0 37,0,8,0,50,0,3,0,38,0,43,0 49,0,18,0,45,0,35,0,6,0,28,0 31,0,12,0,22,0,46,0,9,0,40,0 32,0,5,0,30,0,44,0,26,0,1,0 15,0,39,0,42,0,13,0,43,0,34,0 3,0,6,0,16,0,47,0,33,0,7,0 24,0,11,0,20,0,18,0,9,0,37,0 25,0,45,0,29,0,17,0,22,0,30,0 49,0,28,0,19,0,4,0,32,0,2,0 10,0,35,0,23,0,14,0,26,0,46,0 48,0,44,0,36,0,12,0,8,0,5,0 1,0,38,0,31,0,27,0,21,0,41,0 40,0,47,0,42,0,50,0,25,0,6,0 32,0,3,0,35,0,24,0,22,0,10,0 39,0,49,0,14,0,26,0,8,0,19,0 44,0,21,0,33,0,11,0,17,0,23,0 40,0,31,0,2,0,46,0,13,0,29,0 9,0,34,0,12,0,28,0,38,0,20,0 4,0,43,0,48,0,27,0,30,0,18,0 16,0,41,0,45,0,1,0,37,0,5,0 15,0,50,0,11,0,7,0,36,0,49,0 10,0,14,0,28,0,12,0,17,0,25,0 8,0,40,0,22,0,30,0,33,0,2,0 20,0,41,0,39,0,42,0,3,0,45,0 6,0,4,0,24,0,43,0,46,0,21,0 23,0,19,0,27,0,50,0,29,0,9,0 15,0,1,0,48,0,7,0,31,0,26,0 38,0,16,0,18,0,44,0,34,0,32,0 35,0,47,0,5,0,36,0,13,0,37,0 49,0,9,0,8,0,21,0,40,0,45,0 26,0,50,0,17,0,27,0,39,0,4,0 42,0,33,0,46,0,38,0,23,0,32,0 13,0,18,0,22,0,5,0,19,0,41,0 11,0,3,0,25,0,16,0,31,0,20,0 44,0,37,0,10,0,15,0,28,0,7,0 48,0,24,0,2,0,47,0,14,0,6,0 34,0,36,0,35,0,29,0,43,0,30,0 1,0,16,0,11,0,12,0,39,0,50,0 7,0,8,0,45,0,38,0,33,0,26,0 49,0,17,0,37,0,47,0,25,0,31,0 27,0,28,0,36,0,41,0,23,0,22,0 4,0,15,0,18,0,3,0,19,0,12,0 43,0,5,0,14,0,32,0,42,0,29,0 6,0,40,0,30,0,44,0,13,0,24,0 20,0,1,0,9,0,2,0,46,0,35,0 34,0,48,0,31,0,10,0,21,0,19,0 43,0,7,0,16,0,49,0,38,0,22,0 11,0,45,0,30,0,12,0,14,0,32,0 1,0,25,0,4,0,44,0,15,0,23,0 6,0,41,0,17,0,9,0,48,0,35,0 5,0,33,0,13,0,50,0,28,0,34,0 26,0,3,0,21,0,2,0,36,0,42,0 10,0,47,0,39,0,20,0,40,0,18,0 24,0,37,0,46,0,29,0,8,0,27,0 44,0,50,0,31,0,14,0,22,0,35,0 34,0,16,0,2,0,45,0,43,0,23,0 7,0,13,0,25,0,9,0,4,0,3,0 49,0,33,0,10,0,27,0,24,0,12,0 29,0,40,0,26,0,11,0,41,0,48,0 39,0,46,0,18,0,15,0,30,0,37,0 47,0,36,0,8,0,21,0,1,0,28,0 19,0,17,0,38,0,5,0,6,0,20,0 42,0,12,0,35,0,32,0,49,0,48,0 3,0,24,0,34,0,41,0,25,0,26,0 14,0,30,0,8,0,16,0,10,0,9,0 17,0,36,0,31,0,43,0,2,0,18,0 29,0,37,0,33,0,4,0,20,0,21,0 19,0,46,0,44,0,13,0,1,0,42,0 22,0,28,0,39,0,6,0,38,0,11,0 47,0,27,0,50,0,15,0,32,0,45,0 5,0,40,0,17,0,7,0,23,0,4,0 ================================================ FILE: schedules/50_2.csv ================================================ 37,0,32,0,39,0,49,0,25,0,11,0 28,0,44,0,42,0,27,0,20,0,7,0 24,0,50,0,33,0,6,0,9,0,12,0 5,0,29,0,17,0,31,0,21,0,22,0 16,0,8,0,45,0,10,0,23,0,35,0 43,0,36,0,47,0,34,0,1,0,3,0 14,0,19,0,4,0,15,0,40,0,46,0 26,0,41,0,13,0,30,0,48,0,2,0 38,0,22,0,50,0,18,0,45,0,37,0 20,0,31,0,32,0,35,0,24,0,47,0 10,0,17,0,42,0,36,0,19,0,25,0 27,0,1,0,40,0,2,0,39,0,5,0 18,0,8,0,7,0,26,0,6,0,4,0 9,0,49,0,30,0,38,0,34,0,46,0 12,0,48,0,23,0,3,0,15,0,29,0 41,0,21,0,11,0,14,0,44,0,16,0 13,0,33,0,40,1,28,0,43,0,35,1 ================================================ FILE: schedules/50_3.csv ================================================ 34,0,38,0,44,0,3,0,17,0,1,0 29,0,2,0,22,0,43,0,27,0,36,0 31,0,39,0,30,0,28,0,6,0,13,0 24,0,47,0,23,0,42,0,46,0,8,0 4,0,45,0,10,0,50,0,12,0,21,0 19,0,40,0,48,0,14,0,33,0,11,0 37,0,41,0,9,0,26,0,20,0,49,0 15,0,35,0,5,0,32,0,18,0,25,0 16,0,22,0,45,0,7,0,31,0,1,0 50,0,2,0,46,0,6,0,34,0,40,0 8,0,38,0,29,0,10,0,11,0,26,0 44,0,14,0,15,0,24,0,41,0,28,0 25,0,39,0,20,0,23,0,4,0,43,0 17,0,32,0,21,0,37,0,36,0,30,0 47,0,13,0,9,0,35,0,7,0,19,0 3,0,27,0,33,0,16,0,49,0,5,0 18,0,12,0,20,0,42,0,48,0,22,0 28,0,32,0,34,0,23,0,29,0,45,0 15,0,10,0,17,0,2,0,31,0,47,0 25,0,36,0,49,0,13,0,38,0,40,0 35,0,26,0,24,0,48,0,21,0,16,0 1,0,27,0,4,0,19,0,30,0,8,0 43,0,44,0,46,0,12,0,9,0,33,0 6,0,42,0,41,0,5,0,7,0,11,0 14,0,50,0,37,0,3,0,18,0,39,0 ================================================ FILE: schedules/50_4.csv ================================================ 33,0,25,0,20,0,39,0,24,0,37,0 45,0,15,0,27,0,18,0,41,0,14,0 40,0,32,0,46,0,48,0,10,0,12,0 19,0,5,0,22,0,8,0,34,0,44,0 50,0,35,0,13,0,49,0,29,0,21,0 42,0,6,0,4,0,23,0,38,0,7,0 30,0,11,0,28,0,36,0,16,0,47,0 26,0,17,0,9,0,2,0,43,0,1,0 31,0,22,0,12,0,3,0,35,0,14,0 49,0,24,0,7,0,15,0,34,0,10,0 23,0,18,0,39,0,5,0,40,0,28,0 38,0,16,0,8,0,29,0,17,0,20,0 44,0,47,0,13,0,32,0,43,0,27,0 2,0,42,0,36,0,37,0,41,0,19,0 45,0,25,0,4,0,9,0,46,0,30,0 33,0,48,0,26,0,50,0,31,0,11,0 3,0,21,0,34,0,6,0,1,0,20,0 14,1,10,0,39,0,8,1,13,0,2,0 43,1,35,0,37,0,40,1,4,0,16,0 32,0,26,0,29,0,22,0,42,0,45,0 11,0,12,0,19,0,27,0,23,0,49,0 30,0,24,0,50,0,5,0,17,0,6,0 7,0,3,0,28,0,46,0,41,0,33,0 1,0,18,0,31,0,25,0,36,0,44,0 47,0,15,0,9,0,21,0,48,0,38,0 49,0,20,0,30,0,22,0,40,0,2,0 12,0,5,0,41,0,13,0,26,0,16,0 24,0,14,0,1,0,32,0,19,0,4,0 8,0,7,0,11,0,18,0,35,0,9,0 23,0,46,0,43,0,15,0,29,0,31,0 34,0,39,0,36,0,27,0,38,0,50,0 6,0,48,0,44,0,28,0,45,0,37,0 17,0,47,0,10,0,3,0,42,0,25,0 33,0,14,0,43,0,21,0,8,0,40,0 ================================================ FILE: schedules/50_5.csv ================================================ 6,0,18,0,30,0,39,0,34,0,26,0 42,0,10,0,3,0,46,0,1,0,24,0 36,0,12,0,14,0,7,0,20,0,44,0 38,0,22,0,48,0,8,0,2,0,33,0 23,0,25,0,45,0,9,0,16,0,11,0 37,0,28,0,43,0,5,0,41,0,29,0 31,0,4,0,32,0,15,0,35,0,40,0 50,0,17,0,27,0,21,0,13,0,19,0 49,0,42,0,7,0,47,0,8,0,18,0 16,0,36,0,38,0,28,0,6,0,24,0 32,0,3,0,45,0,2,0,12,0,5,0 34,0,15,0,20,0,23,0,50,0,43,0 9,0,48,0,41,0,35,0,13,0,14,0 37,0,46,0,11,0,30,0,27,0,31,0 21,0,29,0,39,0,44,0,49,0,10,0 40,0,22,0,1,0,47,0,19,0,25,0 17,0,26,0,9,0,4,0,33,0,7,0 31,1,18,0,2,0,20,1,41,0,16,0 37,0,49,0,13,0,12,0,24,0,34,0 1,0,15,0,11,0,6,0,21,0,48,0 35,0,36,0,33,0,29,0,19,0,3,0 47,0,46,0,45,0,44,0,50,0,4,0 23,0,38,0,5,0,42,0,40,0,39,0 17,0,30,0,8,0,43,0,25,0,14,0 26,0,28,0,10,0,32,0,22,0,27,0 4,0,29,0,13,0,20,0,1,0,18,0 34,0,31,0,21,0,47,0,3,0,9,0 48,0,50,0,42,0,36,0,25,0,37,0 44,0,19,0,23,0,41,0,32,0,30,0 12,0,43,0,35,0,38,0,11,0,26,0 14,0,33,0,6,0,10,0,45,0,40,0 16,0,46,0,5,0,49,0,22,0,17,0 24,0,7,0,2,0,39,0,27,0,15,0 8,0,50,0,9,0,28,0,12,0,1,0 32,0,34,0,29,0,14,0,11,0,42,0 20,0,22,0,30,0,45,0,21,0,35,0 24,0,18,0,44,0,33,0,5,0,31,0 23,0,37,0,47,0,17,0,2,0,6,0 15,0,41,0,8,0,46,0,36,0,26,0 27,0,4,0,25,0,38,0,49,0,3,0 16,0,40,0,43,0,7,0,10,0,13,0 28,0,39,0,20,0,19,0,48,0,31,0 ================================================ FILE: schedules/50_6.csv ================================================ 43,0,6,0,41,0,46,0,7,0,49,0 26,0,16,0,42,0,45,0,20,0,30,0 37,0,29,0,18,0,28,0,24,0,38,0 5,0,9,0,25,0,32,0,50,0,1,0 34,0,10,0,40,0,27,0,8,0,2,0 17,0,33,0,11,0,13,0,4,0,12,0 36,0,23,0,22,0,3,0,44,0,14,0 39,0,47,0,31,0,15,0,19,0,35,0 21,0,43,0,32,0,48,0,16,0,27,0 28,0,37,0,7,0,33,0,26,0,1,0 17,0,50,0,2,0,29,0,42,0,41,0 44,0,8,0,24,0,6,0,31,0,5,0 15,0,20,0,49,0,13,0,3,0,21,0 46,0,45,0,47,0,11,0,40,0,22,0 18,0,9,0,12,0,36,0,35,0,10,0 4,0,19,0,30,0,38,0,25,0,23,0 48,0,34,0,26,0,14,0,39,0,50,0 33,0,44,0,29,0,49,0,40,0,47,0 27,0,46,0,37,0,20,0,35,0,17,0 3,0,31,0,7,0,32,0,4,0,10,0 2,0,11,0,30,0,6,0,36,0,48,0 41,0,21,0,15,0,25,0,18,0,22,0 1,0,39,0,38,0,45,0,43,0,8,0 19,0,42,0,24,0,14,0,9,0,13,0 28,0,12,0,23,0,16,0,5,0,34,0 4,0,35,0,27,0,49,0,26,0,41,0 38,0,50,0,10,0,44,0,15,0,11,0 33,0,8,0,14,0,46,0,9,0,21,0 6,0,25,0,16,0,37,0,13,0,47,0 22,0,1,0,42,0,12,0,19,0,48,0 23,0,7,0,2,0,20,0,24,0,39,0 3,0,40,0,17,0,43,0,28,0,18,0 34,0,45,0,36,0,32,0,29,0,31,0 30,0,41,0,10,0,5,0,37,0,14,0 44,0,16,0,9,0,4,0,46,0,39,0 12,0,47,0,50,0,7,0,18,0,8,0 38,0,3,0,6,0,42,0,34,0,35,0 36,0,19,0,26,0,40,0,5,0,21,0 31,0,43,0,30,0,33,0,22,0,2,0 49,0,25,0,48,0,24,0,45,0,17,0 15,0,13,0,1,0,27,0,23,0,29,0 20,0,32,0,8,0,11,0,28,0,41,0 37,0,36,0,4,0,47,0,43,0,42,0 7,0,21,0,34,0,44,0,30,0,17,0 49,0,18,0,14,0,16,0,1,0,2,0 9,0,48,0,38,0,40,0,31,0,23,0 50,0,13,0,35,0,28,0,45,0,22,0 39,0,5,0,27,0,25,0,11,0,3,0 10,0,29,0,20,0,33,0,19,0,6,0 46,0,15,0,32,0,12,0,24,0,26,0 ================================================ FILE: schedules/50_7.csv ================================================ 23,0,16,0,35,0,36,0,41,0,8,0 28,0,29,0,33,0,25,0,22,0,6,0 4,0,12,0,24,0,47,0,13,0,27,0 40,0,20,0,34,0,5,0,46,0,49,0 19,0,10,0,15,0,1,0,26,0,32,0 44,0,21,0,17,0,45,0,42,0,43,0 11,0,7,0,31,0,14,0,50,0,18,0 37,0,30,0,3,0,38,0,2,0,48,0 9,0,26,0,40,0,39,0,28,0,24,0 43,0,16,0,12,0,1,0,20,0,35,0 50,0,34,0,22,0,19,0,8,0,17,0 18,0,38,0,10,0,29,0,23,0,48,0 21,0,6,0,30,0,31,0,39,0,5,0 44,0,47,0,3,0,46,0,7,0,33,0 42,0,2,0,36,0,11,0,9,0,4,0 27,0,37,0,15,0,14,0,25,0,49,0 45,0,32,0,20,0,41,0,13,0,50,0 30,1,29,0,46,0,7,1,19,0,16,0 10,1,40,0,6,0,21,1,18,0,47,0 14,0,12,0,8,0,2,0,43,0,33,0 22,0,48,0,4,0,32,0,24,0,15,0 28,0,45,0,35,0,37,0,42,0,34,0 26,0,11,0,27,0,23,0,44,0,31,0 13,0,39,0,36,0,38,0,1,0,5,0 9,0,41,0,25,0,49,0,3,0,17,0 42,0,24,0,46,0,37,0,50,0,12,0 45,0,11,0,47,0,29,0,15,0,35,0 1,0,48,0,33,0,21,0,27,0,40,0 25,0,26,0,5,0,38,0,7,0,8,0 41,0,17,0,16,0,28,0,10,0,31,0 2,0,14,0,39,0,34,0,23,0,32,0 49,0,6,0,43,0,3,0,36,0,19,0 13,0,18,0,22,0,44,0,9,0,30,0 4,0,8,0,42,0,20,0,29,0,31,0 47,0,5,0,14,0,16,0,45,0,48,0 35,0,50,0,36,0,26,0,33,0,3,0 18,0,43,0,1,0,24,0,34,0,25,0 28,0,46,0,23,0,4,0,30,0,49,0 41,0,2,0,6,0,13,0,7,0,15,0 38,0,19,0,9,0,21,0,12,0,11,0 37,0,20,0,39,0,10,0,22,0,44,0 32,0,40,0,29,0,27,0,17,0,30,0 36,0,31,0,25,0,34,0,46,0,47,0 15,0,50,0,28,0,21,0,43,0,38,0 41,0,37,0,1,0,26,0,4,0,18,0 13,0,32,0,49,0,11,0,16,0,33,0 7,0,39,0,48,0,17,0,20,0,12,0 8,0,27,0,10,0,9,0,6,0,45,0 22,0,23,0,14,0,40,0,42,0,3,0 2,0,5,0,44,0,35,0,19,0,24,0 29,0,21,0,34,0,13,0,37,0,26,0 8,0,43,0,11,0,48,0,10,0,46,0 45,0,49,0,7,0,1,0,22,0,31,0 16,0,44,0,25,0,40,0,50,0,2,0 9,0,20,0,33,0,30,0,15,0,23,0 47,0,42,0,19,0,27,0,41,0,39,0 35,0,17,0,38,0,6,0,14,0,4,0 32,0,3,0,5,0,12,0,28,0,18,0 24,0,30,0,10,0,36,0,7,0,21,0 ================================================ FILE: schedules/50_8.csv ================================================ 1,0,15,0,27,0,26,0,3,0,50,0 46,0,40,0,7,0,48,0,18,0,13,0 8,0,33,0,5,0,6,0,29,0,19,0 35,0,16,0,17,0,28,0,36,0,4,0 37,0,2,0,24,0,23,0,34,0,45,0 41,0,38,0,30,0,21,0,9,0,11,0 25,0,14,0,10,0,32,0,47,0,42,0 31,0,22,0,44,0,43,0,39,0,12,0 20,0,16,0,15,0,49,0,19,0,37,0 13,0,36,0,29,0,6,0,24,0,41,0 23,0,26,0,14,0,35,0,11,0,8,0 1,0,43,0,42,0,17,0,32,0,2,0 10,0,28,0,46,0,3,0,39,0,30,0 31,0,7,0,49,0,27,0,33,0,38,0 44,0,25,0,12,0,34,0,21,0,48,0 20,0,18,0,4,0,50,0,47,0,9,0 22,0,40,0,35,0,5,0,45,0,11,0 24,1,29,0,39,0,7,1,15,0,2,0 42,0,38,0,17,0,44,0,8,0,3,0 28,0,26,0,33,0,37,0,50,0,25,0 49,0,40,0,21,0,4,0,10,0,22,0 9,0,14,0,34,0,1,0,31,0,13,0 32,0,41,0,48,0,45,0,16,0,6,0 19,0,5,0,47,0,46,0,36,0,23,0 12,0,27,0,20,0,30,0,43,0,18,0 21,0,35,0,44,0,2,0,49,0,13,0 45,0,3,0,4,0,31,0,8,0,39,0 50,0,40,0,17,0,24,0,14,0,38,0 9,0,43,0,46,0,25,0,16,0,29,0 34,0,7,0,28,0,20,0,19,0,32,0 1,0,48,0,26,0,22,0,47,0,23,0 6,0,11,0,33,0,15,0,12,0,42,0 5,0,37,0,10,0,41,0,27,0,18,0 30,0,45,0,8,0,36,0,43,0,25,0 46,0,16,0,39,0,1,0,24,0,21,0 20,0,23,0,44,0,40,0,32,0,33,0 47,0,14,0,12,0,41,0,15,0,28,0 48,0,22,0,19,0,31,0,30,0,37,0 5,0,13,0,26,0,2,0,38,0,4,0 9,0,6,0,17,0,10,0,35,0,7,0 3,0,18,0,49,0,29,0,11,0,34,0 36,0,42,0,21,0,27,0,50,0,23,0 43,0,24,0,40,0,12,0,19,0,33,0 30,0,25,0,5,0,13,0,17,0,15,0 18,0,2,0,47,0,3,0,16,0,31,0 34,0,8,0,50,0,41,0,7,0,22,0 27,0,32,0,39,0,29,0,38,0,35,0 1,0,36,0,11,0,48,0,10,0,20,0 42,0,9,0,28,0,49,0,26,0,45,0 37,0,4,0,6,0,44,0,14,0,46,0 39,0,13,0,34,0,17,0,33,0,47,0 3,0,48,0,7,0,43,0,5,0,21,0 12,0,10,0,50,0,2,0,16,0,8,0 37,0,15,0,32,0,36,0,9,0,40,0 18,0,23,0,24,0,49,0,22,0,6,0 38,0,25,0,11,0,1,0,19,0,4,0 29,0,14,0,45,0,30,0,26,0,44,0 42,0,31,0,41,0,35,0,46,0,20,0 28,0,24,0,8,0,27,0,48,0,9,0 32,0,49,0,11,0,50,0,5,0,39,0 7,0,29,0,4,0,37,0,36,0,12,0 45,0,35,0,33,0,46,0,18,0,1,0 27,0,22,0,3,0,14,0,16,0,13,0 6,0,2,0,31,0,25,0,40,0,28,0 17,0,19,0,26,0,21,0,41,0,20,0 43,0,23,0,38,0,34,0,10,0,15,0 47,0,30,0,24,0,44,0,42,0,7,0 ================================================ FILE: schedules/50_9.csv ================================================ 40,0,6,0,1,0,8,0,12,0,33,0 49,0,38,0,7,0,29,0,4,0,26,0 5,0,44,0,41,0,32,0,13,0,43,0 30,0,42,0,17,0,50,0,2,0,18,0 21,0,28,0,15,0,22,0,45,0,20,0 3,0,24,0,14,0,25,0,37,0,36,0 11,0,34,0,27,0,9,0,46,0,16,0 39,0,10,0,48,0,19,0,23,0,35,0 47,0,42,0,18,0,31,0,29,0,8,0 41,0,15,0,2,0,28,0,33,0,3,0 4,0,30,0,24,0,32,0,16,0,45,0 39,0,6,0,7,0,48,0,13,0,22,0 21,0,46,0,12,0,19,0,50,0,44,0 36,0,26,0,35,0,9,0,27,0,20,0 5,0,49,0,40,0,14,0,17,0,34,0 38,0,37,0,23,0,31,0,47,0,43,0 25,0,11,0,32,0,10,0,1,0,50,0 3,0,48,0,7,0,16,0,30,0,18,0 2,0,17,0,13,0,20,0,26,0,24,0 22,0,5,0,29,0,37,0,33,0,34,0 31,0,12,0,27,0,25,0,43,0,10,0 41,0,38,0,1,0,40,0,42,0,23,0 44,0,46,0,28,0,49,0,35,0,6,0 36,0,14,0,11,0,45,0,47,0,19,0 15,0,8,0,4,0,21,0,39,0,9,0 23,0,1,0,43,0,7,0,2,0,30,0 17,0,16,0,48,0,22,0,12,0,41,0 11,0,19,0,3,0,40,0,24,0,44,0 9,0,10,0,36,0,28,0,29,0,38,0 46,0,13,0,31,0,8,0,32,0,21,0 26,0,18,0,25,0,34,0,6,0,15,0 50,0,20,0,33,0,4,0,49,0,47,0 37,0,45,0,5,0,27,0,42,0,39,0 35,0,11,0,29,0,14,0,32,0,41,0 40,0,26,0,19,0,30,0,31,0,28,0 2,0,48,0,34,0,38,0,50,0,15,0 18,0,22,0,24,0,46,0,27,0,49,0 1,0,5,0,4,0,47,0,3,0,35,0 39,0,20,0,16,0,14,0,43,0,42,0 23,0,33,0,45,0,9,0,13,0,25,0 17,0,10,0,44,0,36,0,8,0,7,0 6,0,12,0,30,0,21,0,37,0,29,0 28,0,43,0,35,0,24,0,34,0,50,0 33,0,9,0,40,0,32,0,39,0,18,0 7,0,17,0,31,0,46,0,15,0,14,0 13,0,19,0,6,0,27,0,38,0,3,0 45,0,26,0,1,0,48,0,44,0,20,0 8,0,25,0,49,0,2,0,37,0,11,0 21,0,5,0,47,0,41,0,16,0,10,0 22,0,42,0,36,0,12,0,4,0,23,0 32,0,35,0,38,0,17,0,3,0,45,0 31,0,34,0,39,0,2,0,1,0,44,0 41,0,47,0,7,0,6,0,9,0,24,0 11,0,18,0,12,0,20,0,5,0,13,0 22,0,8,0,27,0,50,0,14,0,30,0 16,0,33,0,21,0,36,0,23,0,28,0 19,0,10,0,42,0,49,0,15,0,26,0 46,0,43,0,37,0,4,0,40,0,48,0 29,0,47,0,44,0,25,0,22,0,17,0 38,0,9,0,14,0,24,0,1,0,12,0 8,0,50,0,23,0,5,0,3,0,26,0 49,0,34,0,36,0,41,0,30,0,13,0 32,0,28,0,19,0,18,0,43,0,4,0 27,0,40,0,25,0,21,0,20,0,7,0 33,0,48,0,6,0,11,0,31,0,42,0 39,0,45,0,2,0,46,0,29,0,10,0 16,0,15,0,13,0,37,0,35,0,1,0 9,0,43,0,3,0,21,0,49,0,17,0 20,0,42,0,32,0,7,0,19,0,34,0 10,0,4,0,14,0,6,0,44,0,18,0 38,0,46,0,30,0,33,0,5,0,25,0 27,0,24,0,29,0,48,0,15,0,23,0 22,0,35,0,16,0,2,0,8,0,40,0 28,0,26,0,12,0,11,0,39,0,47,0 37,0,50,0,31,0,41,0,36,0,45,0 ================================================ FILE: schedules/51_1.csv ================================================ 39,0,14,0,30,0,12,0,45,0,28,0 11,0,15,0,47,0,49,0,21,0,33,0 9,0,7,0,10,0,17,0,48,0,16,0 20,0,51,0,1,0,29,0,3,0,24,0 2,0,35,0,8,0,4,0,27,0,41,0 36,0,34,0,42,0,38,0,26,0,50,0 19,0,25,0,5,0,13,0,37,0,6,0 22,0,46,0,18,0,40,0,44,0,43,0 23,0,32,0,47,1,31,0,39,1,41,1 ================================================ FILE: schedules/51_10.csv ================================================ 51,0,4,0,19,0,40,0,47,0,44,0 41,0,8,0,11,0,12,0,9,0,38,0 26,0,42,0,16,0,39,0,15,0,20,0 30,0,25,0,27,0,2,0,3,0,24,0 33,0,6,0,50,0,37,0,36,0,32,0 28,0,34,0,7,0,5,0,1,0,10,0 23,0,45,0,22,0,29,0,14,0,17,0 13,0,18,0,49,0,21,0,46,0,35,0 43,0,31,0,47,0,48,0,25,0,15,0 4,0,41,0,33,0,26,0,3,0,34,0 38,0,22,0,6,0,44,0,27,0,45,0 35,0,9,0,18,0,30,0,8,0,12,0 10,0,21,0,36,0,23,0,51,0,43,0 32,0,42,0,2,0,46,0,7,0,14,0 31,0,49,0,39,0,1,0,24,0,11,0 37,0,40,0,17,0,28,0,20,0,13,0 5,0,19,0,48,0,50,0,29,0,16,0 12,0,36,0,45,0,15,0,2,0,34,0 44,0,42,0,23,0,18,0,24,0,31,0 38,0,40,0,49,0,17,0,26,0,10,0 32,0,9,0,13,0,47,0,22,0,48,0 20,0,5,0,30,0,21,0,33,0,11,0 3,0,4,0,50,0,43,0,37,0,39,0 29,0,7,0,51,0,14,0,27,0,35,0 6,0,46,0,8,0,41,0,28,0,19,0 16,0,1,0,13,0,25,0,45,0,24,0 48,0,32,0,21,0,2,0,44,0,4,0 10,0,37,0,38,0,15,0,22,0,18,0 19,0,30,0,39,0,5,0,41,0,7,0 6,0,16,0,20,0,9,0,14,0,49,0 43,0,17,0,27,0,46,0,33,0,31,0 47,0,50,0,28,0,11,0,3,0,23,0 26,0,25,0,1,0,8,0,36,0,29,0 34,0,12,0,42,0,35,0,51,0,40,0 2,0,39,0,14,0,19,0,43,0,38,0 17,0,49,0,16,0,30,0,32,0,41,0 23,0,1,0,46,0,48,0,20,0,4,0 33,0,28,0,26,0,51,0,22,0,9,0 37,0,34,0,24,0,29,0,21,0,47,0 8,0,18,0,7,0,40,0,3,0,31,0 10,0,11,0,25,0,6,0,42,0,45,0 50,0,13,0,44,0,15,0,27,0,12,0 35,0,5,0,39,0,36,0,48,0,17,0 34,0,40,0,8,0,16,0,22,0,21,0 37,0,14,0,47,0,30,0,10,0,31,0 18,0,33,0,32,0,1,0,19,0,45,0 35,0,41,0,38,0,50,0,23,0,25,0 24,0,20,0,43,0,6,0,12,0,7,0 27,0,4,0,26,0,13,0,5,0,42,0 49,0,2,0,36,0,9,0,44,0,28,0 11,0,15,0,29,0,3,0,51,0,46,0 7,0,33,0,47,0,16,0,8,0,38,0 12,0,31,0,22,0,4,0,6,0,39,0 44,0,19,0,10,0,20,0,1,0,35,0 46,0,26,0,45,0,37,0,30,0,50,0 13,0,29,0,27,0,43,0,49,0,32,0 36,0,9,0,3,0,42,0,17,0,21,0 41,0,15,0,14,0,5,0,40,0,24,0 28,0,48,0,11,0,25,0,18,0,34,0 2,0,51,0,45,0,23,0,13,0,8,0 32,0,3,0,20,0,36,0,31,0,38,0 22,0,19,0,50,0,49,0,42,0,24,0 29,0,44,0,37,0,40,0,11,0,7,0 39,0,12,0,21,0,14,0,33,0,25,0 46,0,9,0,43,0,34,0,5,0,23,0 2,0,17,0,6,0,18,0,47,0,26,0 16,0,48,0,41,0,51,0,27,0,10,0 35,0,15,0,30,0,4,0,28,0,1,0 23,0,40,0,9,0,25,0,39,0,32,0 22,0,3,0,44,0,2,0,5,0,46,0 45,0,48,0,7,0,21,0,26,0,49,0 43,0,8,0,15,0,11,0,17,0,30,0 6,0,51,0,31,0,50,0,34,0,38,0 1,0,42,0,14,0,41,0,13,0,37,0 24,0,29,0,4,0,10,0,20,0,18,0 36,0,27,0,28,0,12,0,47,0,19,0 35,0,11,0,31,0,33,0,16,0,2,0 34,0,14,0,13,0,39,0,44,0,8,0 25,0,5,0,49,0,18,0,37,0,51,0 1,0,9,0,21,0,50,0,40,0,27,0 45,0,47,0,20,0,22,0,41,0,43,0 4,0,46,0,17,0,36,0,7,0,16,0 35,0,24,0,10,0,26,0,32,0,12,0 33,0,15,0,3,0,23,0,19,0,6,0 42,0,30,0,28,0,38,0,48,0,29,0 ================================================ FILE: schedules/51_11.csv ================================================ 23,0,41,0,50,0,11,0,14,0,5,0 12,0,17,0,21,0,32,0,40,0,49,0 27,0,45,0,36,0,31,0,19,0,10,0 25,0,47,0,48,0,24,0,34,0,22,0 35,0,42,0,46,0,13,0,37,0,1,0 38,0,9,0,3,0,29,0,28,0,20,0 16,0,39,0,8,0,18,0,7,0,51,0 30,0,33,0,43,0,6,0,15,0,26,0 44,0,2,0,5,0,4,0,49,0,37,0 13,0,3,0,45,0,23,0,32,0,48,0 21,0,22,0,36,0,9,0,35,0,7,0 18,0,1,0,38,0,12,0,34,0,14,0 43,0,31,0,47,0,28,0,10,0,42,0 46,0,4,0,17,0,51,0,29,0,15,0 2,0,41,0,16,0,44,0,39,0,19,0 25,0,6,0,27,0,26,0,50,0,8,0 40,0,24,0,33,0,11,0,30,0,20,0 48,1,21,0,14,0,45,1,4,0,38,0 23,1,5,0,29,0,22,0,43,0,16,0 49,0,8,0,35,0,46,0,47,0,50,0 12,0,51,0,44,0,34,0,15,0,28,0 7,0,24,0,26,0,18,0,42,0,19,0 9,0,32,0,27,0,40,0,13,0,41,0 30,0,6,0,2,0,10,0,20,0,36,0 11,0,39,0,31,0,25,0,3,0,1,0 33,0,28,0,23,0,37,0,17,0,8,0 15,0,4,0,14,0,9,0,47,0,19,0 2,0,49,0,12,0,7,0,41,0,6,0 35,0,50,0,39,0,32,0,34,0,29,0 1,0,24,0,51,0,26,0,43,0,21,0 13,0,17,0,10,0,25,0,11,0,22,0 20,0,5,0,18,0,31,0,36,0,46,0 30,0,27,0,48,0,37,0,38,0,44,0 16,0,33,0,45,0,40,0,3,0,42,0 9,0,2,0,29,0,47,0,6,0,24,0 13,0,51,0,19,0,18,0,31,0,49,0 8,0,11,0,10,0,44,0,21,0,4,0 32,0,36,0,16,0,28,0,30,0,1,0 40,0,43,0,25,0,3,0,46,0,37,0 7,0,48,0,17,0,41,0,35,0,5,0 14,0,22,0,38,0,34,0,26,0,45,0 15,0,42,0,39,0,23,0,20,0,27,0 50,0,21,0,29,0,12,0,33,0,13,0 41,0,47,0,51,0,36,0,30,0,3,0 2,0,31,0,34,0,16,0,40,0,46,0 27,0,4,0,7,0,35,0,20,0,1,0 12,0,18,0,25,0,43,0,9,0,23,0 8,0,14,0,42,0,22,0,49,0,17,0 37,0,10,0,15,0,50,0,38,0,24,0 32,0,26,0,28,0,19,0,48,0,11,0 44,0,33,0,6,0,5,0,45,0,39,0 49,0,7,0,23,0,25,0,9,0,30,0 50,0,4,0,31,0,18,0,43,0,17,0 34,0,8,0,38,0,13,0,42,0,36,0 37,0,19,0,22,0,41,0,21,0,3,0 35,0,28,0,24,0,33,0,39,0,14,0 46,0,44,0,20,0,48,0,12,0,26,0 40,0,10,0,29,0,15,0,5,0,1,0 51,0,11,0,45,0,27,0,47,0,2,0 32,0,6,0,13,0,16,0,4,0,24,0 20,0,3,0,22,0,44,0,28,0,50,0 36,0,49,0,43,0,39,0,48,0,40,0 46,0,51,0,34,0,10,0,33,0,7,0 19,0,12,0,32,0,5,0,25,0,42,0 2,0,26,0,1,0,41,0,17,0,9,0 6,0,16,0,23,0,47,0,21,0,38,0 15,0,30,0,8,0,35,0,45,0,31,0 37,0,18,0,14,0,11,0,27,0,29,0 1,0,36,0,4,0,25,0,50,0,33,0 10,0,46,0,38,0,41,0,39,0,32,0 19,0,40,0,23,0,51,0,22,0,6,0 35,0,11,0,47,0,12,0,45,0,43,0 3,0,5,0,17,0,34,0,18,0,30,0 49,0,20,0,26,0,29,0,16,0,37,0 27,0,15,0,13,0,2,0,7,0,28,0 21,0,9,0,42,0,44,0,48,0,31,0 14,0,24,0,3,0,8,0,12,0,36,0 47,0,37,0,20,0,45,0,17,0,1,0 18,0,32,0,22,0,33,0,15,0,2,0 16,0,9,0,48,0,10,0,27,0,50,0 28,0,46,0,49,0,23,0,24,0,11,0 41,0,34,0,19,0,4,0,8,0,43,0 38,0,42,0,6,0,25,0,35,0,51,0 30,0,26,0,5,0,39,0,21,0,13,0 31,0,7,0,40,0,14,0,29,0,44,0 15,0,17,0,24,0,27,0,16,0,3,0 19,0,33,0,1,0,48,0,49,0,38,0 45,0,28,0,21,0,25,0,41,0,46,0 50,0,5,0,7,0,47,0,26,0,40,0 35,0,10,0,44,0,23,0,18,0,13,0 39,0,4,0,30,0,22,0,12,0,42,0 51,0,43,0,14,0,2,0,20,0,32,0 11,0,34,0,37,0,6,0,9,0,31,0 36,0,29,0,48,0,8,0,45,0,23,0 ================================================ FILE: schedules/51_12.csv ================================================ 26,0,30,0,45,0,16,0,11,0,15,0 42,0,17,0,29,0,18,0,37,0,21,0 3,0,39,0,20,0,9,0,36,0,31,0 50,0,1,0,34,0,8,0,6,0,13,0 46,0,33,0,23,0,4,0,40,0,25,0 32,0,12,0,27,0,10,0,22,0,41,0 44,0,24,0,47,0,5,0,48,0,2,0 49,0,51,0,38,0,7,0,43,0,14,0 35,0,19,0,9,0,28,0,13,0,36,0 26,0,22,0,27,0,17,0,4,0,31,0 32,0,37,0,5,0,16,0,23,0,34,0 1,0,14,0,49,0,48,0,41,0,33,0 10,0,44,0,20,0,45,0,29,0,21,0 19,0,42,0,2,0,38,0,15,0,3,0 28,0,43,0,47,0,12,0,35,0,40,0 46,0,18,0,51,0,50,0,24,0,30,0 7,0,25,0,6,0,39,0,11,0,8,0 10,0,14,0,16,0,13,0,5,0,17,0 28,0,22,0,20,0,41,0,44,0,37,0 3,0,29,0,9,0,48,0,23,0,30,0 39,0,38,0,40,0,51,0,26,0,4,0 43,0,2,0,21,0,36,0,1,0,25,0 8,0,27,0,24,0,45,0,47,0,42,0 46,0,49,0,19,0,34,0,18,0,11,0 50,0,31,0,12,0,15,0,33,0,35,0 32,0,6,0,23,0,7,0,26,0,44,0 21,0,16,0,5,0,4,0,41,0,36,0 43,0,1,0,48,0,20,0,46,0,45,0 15,0,50,0,17,0,34,0,24,0,33,0 40,0,10,0,13,0,49,0,47,0,39,0 29,0,11,0,6,0,28,0,31,0,42,0 12,0,3,0,37,0,2,0,32,0,51,0 19,0,18,0,7,0,35,0,14,0,27,0 25,0,8,0,22,0,9,0,30,0,38,0 43,0,49,0,45,0,5,0,28,0,26,0 32,0,11,0,4,0,1,0,29,0,37,0 18,0,15,0,40,0,31,0,6,0,16,0 22,0,21,0,19,0,51,0,7,0,47,0 25,0,48,0,39,0,27,0,42,0,34,0 35,0,36,0,10,0,30,0,33,0,44,0 46,0,2,0,12,0,3,0,14,0,8,0 38,0,24,0,17,0,20,0,13,0,23,0 41,0,9,0,26,0,50,0,19,0,37,0 35,0,42,0,43,0,6,0,22,0,4,0 33,0,5,0,47,0,39,0,46,0,36,0 44,0,25,0,15,0,49,0,3,0,17,0 18,0,32,0,41,0,51,0,8,0,45,0 24,0,7,0,31,0,16,0,1,0,28,0 2,0,9,0,40,0,10,0,29,0,27,0 13,0,34,0,38,0,30,0,12,0,21,0 20,0,14,0,48,0,50,0,11,0,23,0 8,0,46,0,44,0,19,0,31,0,15,0 49,0,26,0,36,0,29,0,24,0,22,0 33,0,18,0,16,0,28,0,34,0,2,0 30,0,39,0,41,0,1,0,38,0,35,0 9,0,13,0,47,0,42,0,7,0,32,0 20,0,12,0,6,0,45,0,5,0,25,0 3,0,23,0,4,0,10,0,50,0,43,0 37,0,14,0,11,0,48,0,40,0,21,0 51,0,30,0,35,0,27,0,17,0,46,0 20,0,26,0,16,0,8,0,42,0,12,0 2,0,22,0,49,0,39,0,19,0,23,0 29,0,47,0,25,0,50,0,41,0,3,0 24,0,15,0,4,0,14,0,32,0,28,0 34,0,17,0,37,0,40,0,36,0,45,0 31,0,43,0,5,0,13,0,48,0,7,0 10,0,18,0,38,0,44,0,1,0,11,0 33,0,27,0,6,0,51,0,21,0,9,0 45,0,28,0,50,0,2,0,14,0,39,0 48,0,31,0,32,0,19,0,17,0,25,0 42,0,36,0,37,0,10,0,46,0,7,0 40,0,1,0,8,0,3,0,5,0,35,0 41,0,23,0,21,0,18,0,13,0,26,0 34,0,29,0,15,0,38,0,22,0,47,0 4,0,12,0,33,0,49,0,44,0,6,0 9,0,27,0,11,0,43,0,51,0,16,0 30,0,19,0,40,0,20,0,24,0,21,0 38,0,36,0,48,0,39,0,32,0,50,0 33,0,45,0,13,0,4,0,29,0,7,0 10,0,37,0,51,0,15,0,43,0,8,0 2,0,31,0,30,0,42,0,41,0,49,0 22,0,44,0,16,0,46,0,14,0,6,0 26,0,47,0,23,0,1,0,20,0,27,0 11,0,5,0,12,0,9,0,17,0,18,0 34,0,25,0,3,0,28,0,24,0,35,0 29,0,8,0,16,0,39,0,43,0,33,0 44,0,45,0,23,0,51,0,13,0,42,0 5,0,30,0,7,0,50,0,40,0,26,0 3,0,21,0,36,0,49,0,27,0,15,0 17,0,35,0,32,0,2,0,20,0,11,0 14,0,25,0,38,0,31,0,37,0,47,0 10,0,4,0,28,0,18,0,48,0,22,0 41,0,46,0,24,0,6,0,9,0,34,0 1,0,42,0,23,0,12,0,19,0,36,0 49,0,50,0,35,0,16,0,45,0,32,0 3,0,13,0,27,0,22,0,11,0,33,0 14,0,34,0,44,0,9,0,43,0,20,0 39,0,21,0,31,0,10,0,24,0,12,0 40,0,17,0,7,0,15,0,1,0,41,0 28,0,51,0,48,0,38,0,8,0,5,0 30,0,37,0,4,0,6,0,19,0,47,0 18,0,2,0,29,0,26,0,25,0,46,0 ================================================ FILE: schedules/51_13.csv ================================================ 47,0,45,0,4,0,33,0,1,0,48,0 44,0,8,0,11,0,41,0,2,0,12,0 29,0,6,0,25,0,42,0,30,0,46,0 17,0,16,0,15,0,20,0,32,0,7,0 9,0,23,0,3,0,50,0,28,0,13,0 27,0,43,0,5,0,49,0,40,0,38,0 14,0,31,0,22,0,37,0,19,0,36,0 21,0,39,0,26,0,51,0,24,0,34,0 35,0,18,0,3,0,10,0,42,0,1,0 25,0,46,0,8,0,9,0,45,0,28,0 44,0,30,0,48,0,17,0,7,0,33,0 31,0,15,0,36,0,40,0,26,0,47,0 12,0,37,0,10,0,6,0,5,0,34,0 21,0,43,0,18,0,23,0,38,0,32,0 11,0,14,0,39,0,27,0,4,0,13,0 41,0,35,0,50,0,29,0,22,0,51,0 20,0,24,0,19,0,49,0,16,0,2,0 25,1,44,0,32,0,10,1,45,0,7,0 40,1,6,0,21,0,3,0,39,0,5,0 28,0,23,0,47,0,38,0,42,0,51,0 49,0,15,0,12,0,31,0,18,0,41,0 2,0,20,0,27,0,4,0,9,0,35,0 33,0,16,0,24,0,11,0,36,0,50,0 34,0,29,0,17,0,43,0,22,0,8,0 13,0,30,0,19,0,37,0,46,0,48,0 14,0,1,0,21,0,26,0,10,0,31,0 36,0,38,0,16,0,25,0,39,0,12,0 23,0,44,0,50,0,11,0,17,0,40,0 27,0,51,0,37,0,32,0,48,0,8,0 24,0,4,0,26,0,42,0,6,0,43,0 29,0,47,0,7,0,35,0,13,0,14,0 34,0,1,0,19,0,41,0,30,0,45,0 15,0,9,0,46,0,22,0,3,0,49,0 20,0,33,0,5,0,28,0,2,0,18,0 39,0,17,0,4,0,10,0,23,0,25,0 34,0,27,0,36,0,29,0,44,0,19,0 6,0,31,0,16,0,50,0,15,0,48,0 1,0,2,0,26,0,46,0,12,0,43,0 28,0,38,0,30,0,11,0,35,0,22,0 5,0,32,0,42,0,9,0,33,0,41,0 47,0,37,0,21,0,20,0,45,0,49,0 24,0,13,0,8,0,7,0,14,0,40,0 51,0,18,0,16,0,3,0,44,0,34,0 22,0,48,0,28,0,35,0,39,0,27,0 42,0,47,0,36,0,21,0,15,0,30,0 41,0,10,0,46,0,23,0,37,0,43,0 12,0,20,0,14,0,50,0,17,0,51,0 1,0,40,0,9,0,11,0,7,0,19,0 29,0,24,0,32,0,2,0,4,0,31,0 49,0,25,0,33,0,6,0,26,0,3,0 38,0,18,0,13,0,8,0,45,0,5,0 27,0,17,0,41,0,16,0,30,0,47,0 22,0,12,0,7,0,46,0,23,0,21,0 6,0,49,0,9,0,36,0,10,0,40,0 1,0,24,0,25,0,18,0,34,0,48,0 19,0,51,0,5,0,11,0,29,0,20,0 14,0,28,0,8,0,32,0,43,0,15,0 33,0,35,0,44,0,26,0,13,0,37,0 2,0,45,0,3,0,50,0,42,0,31,0 4,0,38,0,7,0,39,0,19,0,41,0 48,0,43,0,16,0,5,0,9,0,21,0 37,0,33,0,32,0,29,0,1,0,12,0 23,0,35,0,6,0,14,0,45,0,27,0 40,0,44,0,31,0,28,0,4,0,46,0 30,0,34,0,25,0,3,0,38,0,50,0 39,0,51,0,13,0,17,0,49,0,36,0 20,0,22,0,47,0,18,0,24,0,10,0 11,0,2,0,42,0,26,0,8,0,15,0 46,0,14,0,33,0,34,0,21,0,16,0 13,0,41,0,43,0,25,0,27,0,31,0 32,0,50,0,22,0,44,0,47,0,6,0 10,0,5,0,15,0,35,0,19,0,42,0 49,0,39,0,23,0,1,0,8,0,30,0 11,0,38,0,45,0,36,0,51,0,2,0 7,0,28,0,26,0,29,0,4,0,18,0 37,0,17,0,9,0,40,0,3,0,24,0 20,0,48,0,13,0,12,0,42,0,23,0 15,0,19,0,45,0,33,0,43,0,11,0 50,0,4,0,16,0,35,0,8,0,49,0 25,0,7,0,36,0,5,0,22,0,37,0 41,0,14,0,3,0,24,0,12,0,48,0 2,0,38,0,17,0,1,0,6,0,28,0 21,0,51,0,31,0,44,0,10,0,9,0 46,0,39,0,29,0,47,0,18,0,32,0 40,0,27,0,30,0,34,0,20,0,26,0 36,0,8,0,3,0,23,0,4,0,19,0 28,0,35,0,12,0,45,0,24,0,21,0 43,0,2,0,50,0,37,0,7,0,39,0 42,0,40,0,13,0,22,0,1,0,16,0 17,0,6,0,46,0,41,0,51,0,20,0 5,0,26,0,18,0,32,0,31,0,30,0 29,0,49,0,48,0,44,0,15,0,38,0 9,0,25,0,11,0,34,0,47,0,14,0 33,0,10,0,8,0,27,0,24,0,28,0 50,0,18,0,6,0,21,0,19,0,17,0 1,0,43,0,20,0,36,0,13,0,44,0 47,0,51,0,15,0,4,0,25,0,37,0 7,0,42,0,3,0,27,0,11,0,32,0 30,0,10,0,29,0,12,0,9,0,16,0 35,0,46,0,40,0,39,0,33,0,38,0 22,0,45,0,26,0,48,0,5,0,41,0 31,0,49,0,34,0,2,0,14,0,23,0 27,0,50,0,9,0,18,0,15,0,1,0 12,0,19,0,40,0,25,0,47,0,35,0 51,0,43,0,4,0,33,0,30,0,22,0 34,0,7,0,8,0,31,0,3,0,20,0 10,0,21,0,49,0,11,0,13,0,6,0 5,0,46,0,38,0,24,0,44,0,14,0 41,0,42,0,37,0,39,0,28,0,36,0 17,0,45,0,23,0,16,0,29,0,26,0 2,0,32,0,10,0,48,0,25,0,40,0 ================================================ FILE: schedules/51_14.csv ================================================ 47,0,35,0,4,0,16,0,29,0,45,0 32,0,33,0,43,0,41,0,10,0,25,0 42,0,19,0,31,0,23,0,17,0,14,0 40,0,3,0,15,0,34,0,13,0,44,0 27,0,6,0,12,0,2,0,8,0,36,0 50,0,22,0,51,0,9,0,37,0,7,0 24,0,21,0,46,0,30,0,5,0,48,0 38,0,28,0,11,0,1,0,18,0,20,0 26,0,49,0,41,0,39,0,34,0,25,0 50,0,17,0,32,0,27,0,43,0,2,0 7,0,46,0,3,0,19,0,12,0,24,0 23,0,10,0,9,0,28,0,35,0,29,0 16,0,11,0,44,0,21,0,33,0,8,0 15,0,22,0,31,0,39,0,36,0,18,0 14,0,48,0,42,0,51,0,37,0,26,0 4,0,45,0,40,0,49,0,13,0,1,0 20,0,38,0,30,0,5,0,6,0,47,0 29,0,11,0,36,0,39,0,3,0,9,0 24,0,34,0,26,0,35,0,17,0,33,0 32,0,7,0,21,0,14,0,45,0,15,0 20,0,31,0,50,0,47,0,41,0,46,0 27,0,4,0,19,0,22,0,38,0,16,0 2,0,1,0,23,0,49,0,51,0,44,0 13,0,5,0,42,0,12,0,10,0,28,0 40,0,8,0,37,0,30,0,6,0,43,0 25,0,29,0,17,0,48,0,18,0,46,0 3,0,21,0,19,0,1,0,51,0,33,0 4,0,7,0,28,0,9,0,27,0,36,0 10,0,20,0,16,0,49,0,50,0,40,0 11,0,48,0,26,0,31,0,2,0,13,0 45,0,22,0,39,0,14,0,30,0,12,0 43,0,18,0,37,0,23,0,5,0,34,0 6,0,25,0,8,0,47,0,24,0,15,0 38,0,42,0,35,0,32,0,44,0,41,0 36,0,17,0,51,0,33,0,16,0,30,0 19,0,2,0,10,0,34,0,18,0,21,0 43,0,22,0,48,0,45,0,3,0,23,0 41,0,1,0,28,0,26,0,15,0,29,0 6,0,24,0,35,0,14,0,40,0,27,0 46,0,50,0,8,0,49,0,9,0,32,0 47,0,11,0,39,0,42,0,7,0,25,0 4,0,31,0,38,0,12,0,44,0,37,0 5,0,16,0,17,0,20,0,13,0,22,0 32,0,34,0,2,0,28,0,15,0,36,0 40,0,48,0,1,0,35,0,50,0,18,0 43,0,8,0,39,0,9,0,33,0,19,0 47,0,51,0,12,0,41,0,11,0,6,0 23,0,7,0,49,0,5,0,38,0,26,0 10,0,21,0,14,0,4,0,25,0,46,0 44,0,3,0,24,0,37,0,20,0,42,0 13,0,27,0,45,0,31,0,29,0,30,0 5,0,19,0,7,0,35,0,41,0,40,0 22,0,23,0,32,0,8,0,1,0,11,0 26,0,36,0,14,0,44,0,46,0,10,0 39,0,28,0,6,0,21,0,45,0,48,0 3,0,30,0,42,0,18,0,16,0,2,0 4,0,33,0,24,0,43,0,47,0,50,0 25,0,20,0,9,0,27,0,31,0,34,0 29,0,38,0,12,0,37,0,17,0,15,0 51,0,13,0,6,0,49,0,21,0,42,0 41,0,22,0,36,0,23,0,40,0,47,0 26,0,35,0,19,0,20,0,43,0,4,0 45,0,11,0,37,0,10,0,48,0,17,0 2,0,29,0,14,0,8,0,34,0,38,0 13,0,18,0,9,0,7,0,16,0,24,0 44,0,39,0,27,0,51,0,5,0,32,0 30,0,49,0,25,0,3,0,50,0,28,0 33,0,12,0,15,0,46,0,1,0,31,0 16,0,13,0,35,0,6,0,38,0,23,0 26,0,47,0,9,0,51,0,40,0,10,0 18,0,8,0,45,0,20,0,41,0,24,0 21,0,44,0,2,0,22,0,7,0,17,0 11,0,14,0,3,0,15,0,50,0,39,0 42,0,4,0,32,0,33,0,48,0,31,0 19,0,46,0,49,0,37,0,28,0,27,0 1,0,36,0,25,0,5,0,43,0,12,0 34,0,29,0,41,0,30,0,22,0,11,0 39,0,51,0,2,0,13,0,38,0,24,0 40,0,17,0,28,0,3,0,4,0,8,0 18,0,49,0,14,0,47,0,33,0,44,0 30,0,9,0,50,0,45,0,12,0,26,0 25,0,37,0,31,0,7,0,35,0,1,0 46,0,43,0,34,0,6,0,16,0,42,0 36,0,23,0,21,0,32,0,27,0,29,0 15,0,10,0,5,0,48,0,19,0,20,0 18,0,31,0,12,0,8,0,51,0,35,0 17,0,41,0,13,0,6,0,1,0,9,0 44,0,36,0,38,0,26,0,50,0,25,0 7,0,20,0,33,0,48,0,23,0,29,0 49,0,28,0,43,0,14,0,22,0,24,0 40,0,46,0,5,0,2,0,42,0,45,0 30,0,47,0,37,0,11,0,32,0,19,0 34,0,15,0,16,0,39,0,4,0,10,0 27,0,21,0,26,0,3,0,41,0,18,0 33,0,50,0,6,0,28,0,5,0,31,0 35,0,36,0,48,0,22,0,8,0,49,0 47,0,25,0,45,0,19,0,13,0,37,0 3,0,2,0,20,0,9,0,14,0,4,0 38,0,27,0,15,0,11,0,46,0,42,0 12,0,23,0,16,0,24,0,32,0,39,0 7,0,10,0,30,0,17,0,1,0,34,0 43,0,44,0,40,0,21,0,29,0,51,0 41,0,33,0,45,0,2,0,38,0,25,0 4,0,13,0,50,0,19,0,23,0,18,0 30,0,34,0,28,0,31,0,7,0,47,0 8,0,9,0,42,0,5,0,21,0,37,0 51,0,46,0,15,0,43,0,35,0,11,0 17,0,39,0,12,0,36,0,40,0,20,0 32,0,6,0,10,0,3,0,22,0,26,0 1,0,44,0,14,0,16,0,48,0,27,0 29,0,24,0,5,0,49,0,11,0,4,0 35,0,15,0,23,0,30,0,17,0,21,0 22,0,34,0,33,0,13,0,12,0,46,0 10,0,31,0,8,0,38,0,3,0,43,0 14,0,51,0,20,0,32,0,25,0,40,0 6,0,49,0,48,0,41,0,50,0,7,0 39,0,16,0,37,0,28,0,2,0,26,0 19,0,1,0,29,0,42,0,36,0,24,0 27,0,47,0,18,0,45,0,9,0,44,0 ================================================ FILE: schedules/51_2.csv ================================================ 37,0,25,0,20,0,30,0,44,0,16,0 43,0,12,0,46,0,2,0,38,0,40,0 15,0,31,0,23,0,29,0,11,0,28,0 5,0,47,0,41,0,10,0,39,0,8,0 19,0,13,0,26,0,51,0,24,0,18,0 49,0,6,0,9,0,1,0,48,0,50,0 45,0,4,0,34,0,27,0,7,0,35,0 42,0,36,0,21,0,32,0,17,0,33,0 14,0,22,0,51,0,3,0,28,0,46,0 8,0,2,0,11,0,9,0,25,0,19,0 7,0,49,0,40,0,29,0,20,0,10,0 24,0,33,0,50,0,30,0,4,0,23,0 42,0,16,0,22,0,34,0,15,0,6,0 32,0,47,0,27,0,37,0,1,0,13,0 17,0,35,0,5,0,12,0,14,0,18,0 31,0,39,0,3,0,38,0,44,0,36,0 26,0,43,0,48,0,45,0,21,0,41,0 ================================================ FILE: schedules/51_3.csv ================================================ 33,0,51,0,28,0,29,0,40,0,32,0 16,0,39,0,3,0,44,0,12,0,7,0 13,0,50,0,14,0,2,0,17,0,18,0 15,0,24,0,47,0,34,0,27,0,43,0 5,0,45,0,31,0,35,0,23,0,30,0 10,0,19,0,49,0,36,0,11,0,4,0 41,0,9,0,26,0,38,0,6,0,42,0 48,0,25,0,21,0,20,0,1,0,46,0 8,0,22,0,2,0,37,0,29,0,15,0 39,1,34,0,18,0,23,1,33,0,19,0 27,1,32,0,41,0,13,0,16,0,49,0 44,0,43,0,5,0,48,0,26,0,28,0 46,0,35,0,50,0,9,0,3,0,11,0 4,0,42,0,17,0,31,0,51,0,21,0 45,0,7,0,20,0,10,0,37,0,24,0 36,0,8,0,38,0,14,0,1,0,12,0 40,0,6,0,30,0,22,0,25,0,47,0 29,0,50,0,43,0,16,0,23,0,4,0 17,0,3,0,37,0,27,0,19,0,28,0 32,0,26,0,14,0,7,0,21,0,35,0 30,0,42,0,46,0,39,0,36,0,24,0 20,0,9,0,31,0,8,0,47,0,18,0 13,0,22,0,34,0,10,0,51,0,44,0 48,0,38,0,49,0,45,0,40,0,15,0 12,0,5,0,25,0,11,0,41,0,33,0 1,0,6,0,23,0,2,0,39,0,27,0 ================================================ FILE: schedules/51_4.csv ================================================ 4,0,51,0,23,0,43,0,42,0,6,0 32,0,50,0,31,0,49,0,2,0,47,0 48,0,24,0,5,0,46,0,16,0,9,0 10,0,38,0,45,0,7,0,30,0,36,0 22,0,21,0,18,0,20,0,14,0,11,0 26,0,25,0,35,0,40,0,17,0,34,0 44,0,19,0,28,0,41,0,1,0,15,0 3,0,8,0,13,0,27,0,29,0,12,0 33,0,39,0,49,0,37,0,21,0,43,0 36,0,31,0,48,0,23,0,26,0,11,0 35,0,6,0,7,0,47,0,19,0,18,0 30,0,22,0,41,0,5,0,8,0,2,0 13,0,46,0,15,0,40,0,4,0,45,0 25,0,28,0,9,0,3,0,50,0,42,0 17,0,12,0,14,0,37,0,1,0,16,0 10,0,20,0,27,0,33,0,34,0,32,0 24,0,44,0,51,0,39,0,29,0,38,0 3,0,22,0,43,0,48,0,47,0,15,0 42,0,46,0,2,0,26,0,7,0,21,0 13,0,49,0,19,0,17,0,23,0,20,0 11,0,25,0,1,0,5,0,29,0,10,0 45,0,33,0,50,0,16,0,44,0,6,0 37,0,27,0,36,0,24,0,35,0,28,0 41,0,34,0,39,0,4,0,31,0,12,0 30,0,18,0,32,0,40,0,51,0,9,0 14,0,8,0,26,0,38,0,50,0,19,0 44,0,10,0,42,0,13,0,48,0,37,0 16,0,20,0,47,0,36,0,25,0,41,0 21,0,31,0,5,0,45,0,28,0,51,0 9,0,38,0,12,0,35,0,23,0,33,0 7,0,15,0,8,0,11,0,39,0,32,0 29,0,43,0,34,0,30,0,46,0,14,0 2,0,17,0,4,0,24,0,3,0,18,0 49,0,27,0,40,0,22,0,6,0,1,0 ================================================ FILE: schedules/51_5.csv ================================================ 43,0,18,0,32,0,22,0,28,0,9,0 23,0,19,0,36,0,7,0,48,0,6,0 31,0,50,0,21,0,13,0,38,0,30,0 15,0,4,0,10,0,44,0,20,0,40,0 35,0,46,0,5,0,29,0,24,0,1,0 12,0,16,0,42,0,33,0,26,0,51,0 39,0,34,0,11,0,49,0,41,0,14,0 25,0,37,0,47,0,3,0,8,0,27,0 45,0,40,0,28,0,2,0,17,0,38,0 18,0,31,0,4,0,1,0,7,0,16,0 49,0,35,0,33,0,22,0,36,0,10,0 51,0,20,0,3,0,32,0,11,0,5,0 14,0,12,0,47,0,6,0,45,0,44,0 25,0,17,0,43,0,24,0,50,0,39,0 13,0,34,0,48,0,27,0,46,0,26,0 19,0,21,0,41,0,15,0,42,0,37,0 2,0,29,0,30,0,8,0,9,0,23,0 51,1,32,0,39,0,35,1,7,0,45,0 34,1,36,0,28,0,16,0,20,0,25,0 26,0,3,0,41,0,10,0,50,0,6,0 11,0,27,0,29,0,43,0,40,0,31,0 9,0,12,0,49,0,4,0,21,0,46,0 8,0,42,0,38,0,44,0,18,0,48,0 30,0,33,0,17,0,14,0,1,0,15,0 2,0,24,0,22,0,13,0,19,0,47,0 23,0,5,0,10,0,37,0,45,0,43,0 29,0,49,0,7,0,26,0,38,0,20,0 6,0,9,0,27,0,39,0,42,0,35,0 40,0,22,0,1,0,48,0,41,0,51,0 19,0,31,0,8,0,17,0,32,0,34,0 37,0,24,0,18,0,30,0,12,0,36,0 4,0,3,0,14,0,23,0,28,0,13,0 16,0,15,0,50,0,47,0,46,0,11,0 33,0,5,0,44,0,2,0,21,0,25,0 38,0,39,0,1,0,10,0,19,0,12,0 40,0,24,0,7,0,3,0,9,0,34,0 32,0,48,0,37,0,16,0,29,0,14,0 44,0,35,0,26,0,11,0,23,0,17,0 51,0,27,0,2,0,4,0,36,0,50,0 41,0,20,0,13,0,33,0,43,0,8,0 45,0,22,0,46,0,42,0,25,0,30,0 6,0,15,0,28,0,31,0,5,0,49,0 47,0,51,0,34,0,18,0,21,0,35,0 ================================================ FILE: schedules/51_6.csv ================================================ 30,0,8,0,24,0,11,0,47,0,17,0 3,0,31,0,45,0,41,0,1,0,48,0 22,0,40,0,28,0,34,0,51,0,43,0 4,0,49,0,7,0,38,0,19,0,9,0 10,0,35,0,27,0,21,0,42,0,39,0 37,0,36,0,33,0,18,0,2,0,29,0 16,0,14,0,5,0,26,0,32,0,13,0 20,0,46,0,44,0,50,0,15,0,6,0 12,0,23,0,22,0,25,0,45,0,7,0 47,0,51,0,42,0,2,0,41,0,34,0 27,0,48,0,5,0,24,0,18,0,4,0 1,0,39,0,8,0,13,0,49,0,15,0 26,0,23,0,28,0,6,0,10,0,36,0 14,0,37,0,9,0,46,0,40,0,11,0 21,0,17,0,43,0,12,0,29,0,20,0 35,0,3,0,32,0,25,0,50,0,19,0 16,0,30,0,38,0,44,0,31,0,33,0 1,0,11,0,36,0,7,0,46,0,5,0 42,0,4,0,41,0,8,0,26,0,22,0 39,0,32,0,48,0,12,0,6,0,37,0 15,0,9,0,25,0,30,0,51,0,29,0 10,0,40,0,50,0,45,0,17,0,16,0 19,0,31,0,43,0,33,0,13,0,47,0 14,0,2,0,24,0,20,0,35,0,38,0 44,0,34,0,3,0,18,0,21,0,23,0 49,0,28,0,37,0,27,0,30,0,41,0 6,0,25,0,47,0,33,0,40,0,5,0 51,0,4,0,19,0,14,0,12,0,1,0 21,0,11,0,50,0,48,0,13,0,22,0 38,0,32,0,17,0,46,0,27,0,23,0 15,0,18,0,26,0,43,0,7,0,35,0 29,0,34,0,31,0,10,0,49,0,24,0 3,0,42,0,9,0,36,0,16,0,20,0 2,0,8,0,45,0,39,0,44,0,28,0 13,0,23,0,35,0,37,0,4,0,30,0 33,0,48,0,51,0,46,0,49,0,26,0 47,0,20,0,22,0,18,0,10,0,1,0 41,0,43,0,14,0,39,0,25,0,36,0 50,0,31,0,17,0,2,0,5,0,9,0 12,0,24,0,15,0,28,0,3,0,16,0 6,0,34,0,11,0,19,0,27,0,45,0 32,0,29,0,44,0,40,0,42,0,7,0 21,0,8,0,5,0,38,0,37,0,51,0 46,0,2,0,10,0,3,0,30,0,43,0 12,0,13,0,9,0,33,0,34,0,27,0 11,0,18,0,25,0,28,0,42,0,31,0 36,0,47,0,45,0,15,0,4,0,32,0 1,0,26,0,38,0,50,0,29,0,39,0 22,0,49,0,44,0,17,0,14,0,35,0 48,0,20,0,23,0,8,0,40,0,19,0 41,0,6,0,7,0,24,0,21,0,16,0 ================================================ FILE: schedules/51_7.csv ================================================ 3,0,41,0,30,0,45,0,47,0,21,0 6,0,44,0,18,0,19,0,29,0,4,0 12,0,22,0,25,0,28,0,15,0,26,0 32,0,13,0,5,0,42,0,34,0,24,0 50,0,16,0,40,0,2,0,10,0,31,0 20,0,11,0,38,0,46,0,23,0,43,0 27,0,51,0,37,0,9,0,14,0,39,0 48,0,1,0,17,0,36,0,8,0,35,0 49,0,33,0,12,0,7,0,13,0,6,0 5,0,15,0,23,0,46,0,50,0,30,0 51,0,28,0,34,0,38,0,45,0,16,0 35,0,19,0,39,0,32,0,31,0,43,0 42,0,27,0,20,0,44,0,17,0,25,0 14,0,26,0,40,0,33,0,18,0,36,0 1,0,37,0,47,0,2,0,21,0,49,0 4,0,41,0,22,0,8,0,10,0,9,0 11,0,7,0,3,0,48,0,24,0,29,0 25,1,39,0,33,0,34,1,44,0,5,0 14,1,49,0,16,0,15,0,42,0,35,0 13,0,31,0,26,0,1,0,4,0,38,0 29,0,8,0,37,0,23,0,45,0,40,0 3,0,10,0,24,0,9,0,19,0,17,0 18,0,20,0,51,0,7,0,47,0,30,0 43,0,2,0,6,0,22,0,27,0,48,0 36,0,11,0,50,0,28,0,32,0,41,0 12,0,46,0,16,0,21,0,4,0,39,0 9,0,25,0,45,0,13,0,35,0,23,0 42,0,2,0,8,0,29,0,30,0,33,0 20,0,14,0,32,0,10,0,1,0,49,0 7,0,43,0,22,0,50,0,47,0,34,0 26,0,21,0,6,0,51,0,17,0,11,0 44,0,28,0,36,0,46,0,3,0,37,0 24,0,27,0,18,0,41,0,31,0,15,0 19,0,38,0,40,0,5,0,12,0,48,0 32,0,47,0,6,0,26,0,16,0,9,0 29,0,17,0,46,0,43,0,49,0,34,0 23,0,42,0,51,0,31,0,36,0,22,0 15,0,13,0,11,0,40,0,2,0,44,0 41,0,19,0,1,0,37,0,7,0,25,0 12,0,30,0,38,0,14,0,27,0,3,0 48,0,50,0,4,0,33,0,45,0,20,0 10,0,18,0,28,0,35,0,5,0,21,0 39,0,46,0,47,0,24,0,8,0,40,0 1,0,43,0,44,0,41,0,16,0,51,0 33,0,9,0,31,0,11,0,34,0,12,0 21,0,36,0,19,0,29,0,13,0,27,0 23,0,30,0,48,0,26,0,10,0,39,0 7,0,45,0,15,0,32,0,38,0,42,0 49,0,50,0,8,0,3,0,18,0,25,0 14,0,2,0,4,0,5,0,28,0,17,0 24,0,37,0,35,0,6,0,22,0,20,0 10,0,36,0,42,0,43,0,47,0,12,0 33,0,3,0,34,0,27,0,23,0,1,0 25,0,32,0,40,0,30,0,4,0,51,0 44,0,24,0,21,0,50,0,38,0,14,0 49,0,45,0,22,0,19,0,11,0,5,0 48,0,13,0,16,0,37,0,17,0,18,0 35,0,2,0,46,0,7,0,26,0,41,0 15,0,9,0,29,0,28,0,39,0,20,0 6,0,31,0,34,0,8,0,25,0,14,0 ================================================ FILE: schedules/51_8.csv ================================================ 27,0,39,0,19,0,8,0,6,0,40,0 2,0,29,0,7,0,20,0,33,0,12,0 15,0,50,0,35,0,51,0,22,0,1,0 17,0,28,0,4,0,49,0,32,0,3,0 42,0,31,0,23,0,25,0,9,0,48,0 21,0,13,0,5,0,11,0,30,0,46,0 16,0,14,0,43,0,44,0,10,0,45,0 24,0,34,0,36,0,41,0,38,0,26,0 47,0,48,0,20,0,18,0,37,0,27,0 6,0,21,0,11,0,7,0,28,0,9,0 25,0,2,0,1,0,30,0,10,0,17,0 46,0,40,0,49,0,42,0,35,0,33,0 43,0,31,0,32,0,15,0,12,0,47,0 5,0,38,0,19,0,14,0,13,0,41,0 16,0,3,0,37,0,51,0,36,0,39,0 8,0,26,0,24,0,29,0,22,0,50,0 18,0,34,0,45,0,4,0,44,0,23,0 12,0,35,0,17,0,41,0,15,0,21,0 11,0,14,0,38,0,32,0,27,0,46,0 22,0,49,0,10,0,19,0,48,0,36,0 34,0,28,0,42,0,2,0,13,0,45,0 39,0,30,0,33,0,9,0,47,0,50,0 20,0,25,0,31,0,43,0,24,0,40,0 29,0,4,0,1,0,16,0,7,0,5,0 6,0,44,0,26,0,51,0,23,0,37,0 18,0,8,0,32,0,3,0,10,0,9,0 50,0,36,0,45,0,21,0,19,0,40,0 11,0,41,0,28,0,39,0,48,0,43,0 1,0,24,0,7,0,46,0,47,0,44,0 4,0,30,0,15,0,42,0,8,0,37,0 29,0,13,0,27,0,25,0,51,0,17,0 12,0,3,0,5,0,34,0,23,0,20,0 16,0,35,0,22,0,31,0,38,0,33,0 18,0,2,0,6,0,14,0,26,0,49,0 8,0,44,0,41,0,25,0,47,0,21,0 37,0,5,0,46,0,50,0,28,0,12,0 40,0,10,0,51,0,34,0,30,0,38,0 39,0,11,0,45,0,49,0,29,0,20,0 7,0,27,0,22,0,42,0,18,0,3,0 19,0,43,0,23,0,2,0,4,0,35,0 32,0,9,0,33,0,36,0,1,0,13,0 48,0,6,0,14,0,16,0,15,0,24,0 31,0,26,0,5,0,17,0,27,0,45,0 25,0,4,0,3,0,38,0,50,0,2,0 37,0,21,0,34,0,43,0,1,0,49,0 40,0,16,0,9,0,41,0,12,0,22,0 13,0,30,0,6,0,18,0,31,0,44,0 19,0,17,0,33,0,42,0,11,0,24,0 28,0,20,0,8,0,36,0,14,0,35,0 23,0,46,0,15,0,29,0,10,0,47,0 26,0,51,0,48,0,7,0,39,0,32,0 13,0,11,0,18,0,1,0,16,0,50,0 49,0,17,0,38,0,9,0,44,0,20,0 21,0,10,0,12,0,24,0,27,0,4,0 46,0,22,0,34,0,25,0,6,0,39,0 47,0,51,0,43,0,5,0,36,0,42,0 33,0,7,0,41,0,23,0,8,0,14,0 30,0,26,0,45,0,3,0,35,0,48,0 32,0,37,0,28,0,19,0,29,0,31,0 2,0,15,0,44,0,40,0,5,0,39,0 22,0,36,0,43,0,17,0,13,0,7,0 49,0,23,0,24,0,30,0,27,0,16,0 10,0,32,0,50,0,42,0,6,0,41,0 33,0,25,0,15,0,26,0,18,0,28,0 37,0,35,0,47,0,2,0,34,0,11,0 1,0,48,0,45,0,38,0,12,0,8,0 14,0,29,0,21,0,3,0,31,0,40,0 51,0,46,0,9,0,20,0,19,0,4,0 ================================================ FILE: schedules/51_9.csv ================================================ 30,0,36,0,34,0,38,0,33,0,3,0 50,0,48,0,5,0,40,0,15,0,19,0 42,0,26,0,13,0,4,0,46,0,21,0 14,0,23,0,31,0,29,0,25,0,51,0 10,0,37,0,45,0,27,0,47,0,2,0 22,0,16,0,9,0,44,0,32,0,8,0 41,0,12,0,11,0,35,0,24,0,28,0 39,0,20,0,43,0,18,0,7,0,1,0 6,0,10,0,13,0,49,0,17,0,29,0 46,0,34,0,22,0,23,0,45,0,40,0 14,0,35,0,38,0,47,0,50,0,31,0 36,0,41,0,28,0,39,0,21,0,18,0 43,0,11,0,8,0,3,0,37,0,49,0 7,0,51,0,24,0,48,0,32,0,16,0 25,0,12,0,17,0,15,0,26,0,9,0 33,0,27,0,1,0,42,0,2,0,6,0 44,0,5,0,19,0,30,0,20,0,4,0 18,1,51,0,14,0,10,1,7,0,41,0 11,1,23,0,13,0,36,0,8,0,26,0 38,0,40,0,29,0,24,0,21,0,32,0 20,0,31,0,27,0,46,0,30,0,12,0 39,0,49,0,34,0,5,0,35,0,17,0 2,0,37,0,22,0,50,0,19,0,25,0 47,0,15,0,28,0,6,0,44,0,43,0 48,0,33,0,4,0,3,0,1,0,45,0 16,0,42,0,18,0,9,0,29,0,30,0 41,0,2,0,32,0,11,0,5,0,26,0 51,0,38,0,23,0,13,0,49,0,20,0 14,0,21,0,3,0,35,0,15,0,22,0 7,0,37,0,31,0,6,0,28,0,4,0 50,0,12,0,45,0,10,0,16,0,36,0 48,0,25,0,44,0,43,0,42,0,34,0 8,0,40,0,46,0,1,0,47,0,17,0 19,0,24,0,33,0,9,0,39,0,27,0 7,0,13,0,15,0,22,0,11,0,30,0 28,0,43,0,32,0,42,0,50,0,23,0 2,0,21,0,17,0,37,0,20,0,14,0 9,0,41,0,33,0,48,0,31,0,49,0 46,0,26,0,19,0,34,0,38,0,10,0 4,0,45,0,39,0,8,0,29,0,12,0 3,0,27,0,18,0,51,0,44,0,40,0 25,0,5,0,1,0,47,0,35,0,16,0 36,0,24,0,48,0,6,0,26,0,14,0 41,0,30,0,19,0,23,0,43,0,17,0 42,0,44,0,39,0,10,0,31,0,11,0 47,0,22,0,51,0,28,0,33,0,12,0 2,0,40,0,35,0,16,0,4,0,13,0 3,0,24,0,9,0,37,0,5,0,46,0 20,0,38,0,18,0,6,0,45,0,25,0 36,0,49,0,27,0,1,0,32,0,15,0 29,0,21,0,50,0,7,0,34,0,8,0 28,0,16,0,31,0,19,0,3,0,17,0 14,0,11,0,45,0,43,0,9,0,40,0 12,0,37,0,1,0,41,0,44,0,38,0 8,0,15,0,30,0,10,0,20,0,32,0 47,0,5,0,21,0,48,0,27,0,23,0 39,0,6,0,51,0,50,0,26,0,34,0 35,0,29,0,7,0,46,0,2,0,36,0 42,0,4,0,49,0,24,0,18,0,22,0 33,0,13,0,32,0,25,0,10,0,14,0 47,0,9,0,11,0,20,0,34,0,21,0 48,0,2,0,30,0,28,0,39,0,46,0 29,0,31,0,36,0,22,0,5,0,43,0 23,0,26,0,37,0,15,0,18,0,33,0 1,0,50,0,44,0,45,0,13,0,24,0 40,0,25,0,3,0,7,0,49,0,12,0 8,0,6,0,19,0,51,0,35,0,42,0 41,0,16,0,17,0,27,0,38,0,4,0 34,0,15,0,24,0,18,0,31,0,2,0 49,0,21,0,26,0,45,0,44,0,30,0 35,0,43,0,1,0,10,0,9,0,51,0 27,0,25,0,11,0,4,0,36,0,50,0 28,0,7,0,38,0,33,0,5,0,8,0 20,0,42,0,29,0,41,0,40,0,37,0 3,0,13,0,47,0,32,0,39,0,19,0 23,0,6,0,46,0,16,0,14,0,12,0 17,0,22,0,10,0,48,0,18,0,11,0 ================================================ FILE: schedules/52_1.csv ================================================ 29,0,7,0,44,0,41,0,33,0,15,0 46,0,31,0,51,0,34,0,32,0,42,0 12,0,10,0,52,0,17,0,30,0,49,0 5,0,19,0,45,0,8,0,25,0,2,0 3,0,35,0,24,0,43,0,14,0,50,0 18,0,4,0,23,0,39,0,27,0,1,0 36,0,21,0,48,0,16,0,6,0,28,0 26,0,11,0,40,0,20,0,47,0,37,0 22,0,38,0,44,1,13,0,9,0,17,1 ================================================ FILE: schedules/52_10.csv ================================================ 44,0,2,0,10,0,11,0,14,0,20,0 9,0,29,0,1,0,12,0,7,0,48,0 52,0,8,0,18,0,21,0,16,0,47,0 46,0,3,0,4,0,28,0,15,0,22,0 33,0,43,0,36,0,6,0,45,0,35,0 27,0,51,0,13,0,17,0,40,0,23,0 32,0,25,0,37,0,42,0,39,0,38,0 34,0,50,0,49,0,5,0,41,0,19,0 24,0,30,0,6,0,31,0,26,0,44,0 21,0,22,0,48,0,14,0,15,0,13,0 18,0,46,0,1,0,40,0,3,0,33,0 25,0,47,0,51,0,34,0,41,0,2,0 10,0,5,0,39,0,31,0,35,0,9,0 20,0,37,0,24,0,49,0,43,0,28,0 38,0,16,0,7,0,12,0,36,0,42,0 50,0,27,0,32,0,30,0,29,0,52,0 4,0,23,0,19,0,45,0,17,0,8,0 26,0,51,0,18,0,11,0,43,0,37,0 41,1,31,0,13,0,38,1,36,0,46,0 34,0,9,0,22,0,2,0,6,0,27,0 14,0,3,0,47,0,23,0,12,0,32,0 45,0,4,0,25,0,29,0,49,0,10,0 15,0,42,0,52,0,33,0,8,0,20,0 24,0,35,0,11,0,40,0,50,0,7,0 21,0,26,0,17,0,1,0,5,0,16,0 44,0,48,0,30,0,19,0,28,0,39,0 22,0,31,0,42,0,43,0,52,0,23,0 14,0,27,0,36,0,25,0,49,0,3,0 45,0,40,0,29,0,15,0,2,0,16,0 33,0,34,0,17,0,26,0,28,0,9,0 11,0,6,0,5,0,8,0,48,0,37,0 51,0,39,0,12,0,21,0,4,0,50,0 7,0,20,0,46,0,38,0,18,0,30,0 19,0,10,0,47,0,24,0,13,0,1,0 44,0,32,0,15,0,35,0,41,0,36,0 21,0,2,0,31,0,50,0,48,0,33,0 23,0,16,0,30,0,49,0,37,0,9,0 10,0,3,0,8,0,43,0,38,0,34,0 46,0,13,0,12,0,52,0,25,0,11,0 18,0,44,0,41,0,22,0,26,0,29,0 19,0,17,0,6,0,14,0,40,0,32,0 51,0,45,0,28,0,47,0,39,0,7,0 42,0,20,0,27,0,5,0,4,0,24,0 1,0,48,0,49,0,35,0,52,0,38,0 6,0,9,0,16,0,46,0,21,0,19,0 13,0,3,0,50,0,44,0,7,0,45,0 15,0,43,0,5,0,36,0,47,0,11,0 28,0,14,0,31,0,8,0,1,0,51,0 29,0,17,0,42,0,34,0,35,0,30,0 26,0,25,0,39,0,22,0,40,0,20,0 24,0,27,0,10,0,33,0,32,0,18,0 23,0,41,0,37,0,12,0,2,0,4,0 6,0,31,0,52,0,28,0,11,0,29,0 16,0,19,0,35,0,3,0,51,0,20,0 49,0,32,0,42,0,8,0,26,0,46,0 2,0,36,0,22,0,12,0,17,0,24,0 21,0,38,0,44,0,27,0,47,0,23,0 4,0,9,0,39,0,18,0,43,0,13,0 41,0,40,0,30,0,48,0,10,0,45,0 33,0,7,0,14,0,34,0,37,0,5,0 25,0,1,0,23,0,50,0,15,0,6,0 11,0,22,0,49,0,9,0,32,0,47,0 51,0,44,0,17,0,10,0,42,0,46,0 13,0,34,0,40,0,12,0,20,0,31,0 8,0,39,0,29,0,3,0,41,0,24,0 28,0,5,0,35,0,18,0,25,0,2,0 37,0,45,0,36,0,27,0,1,0,21,0 50,0,43,0,16,0,38,0,14,0,48,0 19,0,52,0,7,0,26,0,4,0,15,0 30,0,13,0,22,0,33,0,51,0,5,0 32,0,1,0,45,0,20,0,34,0,44,0 17,0,47,0,37,0,31,0,48,0,25,0 38,0,11,0,4,0,24,0,19,0,14,0 41,0,7,0,28,0,27,0,16,0,33,0 40,0,36,0,9,0,8,0,42,0,50,0 52,0,26,0,2,0,30,0,3,0,39,0 46,0,35,0,43,0,23,0,21,0,29,0 15,0,49,0,12,0,10,0,18,0,6,0 33,0,4,0,31,0,25,0,16,0,44,0 45,0,9,0,38,0,22,0,51,0,52,0 41,0,11,0,39,0,1,0,30,0,17,0 48,0,34,0,23,0,18,0,36,0,24,0 2,0,19,0,49,0,7,0,42,0,43,0 12,0,14,0,8,0,35,0,27,0,26,0 21,0,5,0,40,0,3,0,28,0,32,0 50,0,10,0,20,0,46,0,47,0,6,0 29,0,15,0,41,0,37,0,13,0,38,0 ================================================ FILE: schedules/52_11.csv ================================================ 17,0,30,0,49,0,35,0,41,0,44,0 46,0,47,0,15,0,32,0,20,0,2,0 26,0,40,0,8,0,9,0,4,0,36,0 28,0,42,0,33,0,48,0,6,0,51,0 34,0,31,0,5,0,16,0,43,0,52,0 29,0,27,0,1,0,24,0,37,0,3,0 39,0,19,0,22,0,7,0,45,0,14,0 18,0,11,0,38,0,12,0,50,0,13,0 25,0,21,0,9,0,10,0,23,0,28,0 24,0,26,0,32,0,17,0,40,0,5,0 7,0,41,0,4,0,6,0,37,0,2,0 14,0,13,0,33,0,44,0,46,0,30,0 19,0,31,0,1,0,48,0,10,0,8,0 45,0,23,0,11,0,18,0,15,0,3,0 12,0,34,0,52,0,27,0,21,0,47,0 51,0,38,0,25,0,43,0,49,0,39,0 29,0,35,0,16,0,22,0,20,0,42,0 50,0,10,0,24,0,36,0,7,0,6,0 28,1,31,0,11,0,37,1,47,0,45,0 44,1,32,0,33,0,26,1,52,0,25,0 16,0,42,0,15,0,4,0,3,0,49,0 12,0,43,0,29,0,36,0,23,0,17,0 39,0,2,0,38,0,46,0,1,0,35,0 41,0,13,0,5,0,8,0,34,0,51,0 18,0,40,0,21,0,48,0,22,0,14,0 20,0,30,0,19,0,27,0,9,0,50,0 39,0,44,0,15,0,29,0,31,0,24,0 43,0,45,0,42,0,12,0,47,0,41,0 51,0,35,0,3,0,14,0,32,0,10,0 11,0,34,0,27,0,38,0,22,0,28,0 30,0,9,0,8,0,7,0,16,0,48,0 17,0,46,0,6,0,25,0,19,0,18,0 5,0,36,0,20,0,21,0,2,0,13,0 37,0,50,0,4,0,40,0,33,0,52,0 49,0,26,0,12,0,23,0,1,0,39,0 46,0,8,0,22,0,28,0,24,0,17,0 41,0,9,0,42,0,31,0,18,0,36,0 27,0,6,0,44,0,2,0,43,0,40,0 1,0,7,0,33,0,13,0,45,0,20,0 23,0,48,0,32,0,14,0,4,0,11,0 38,0,5,0,16,0,37,0,10,0,25,0 51,0,19,0,52,0,47,0,3,0,30,0 35,0,21,0,34,0,15,0,29,0,26,0 49,0,44,0,2,0,50,0,45,0,22,0 6,0,10,0,20,0,17,0,12,0,8,0 3,0,33,0,9,0,41,0,24,0,38,0 19,0,21,0,43,0,1,0,32,0,16,0 51,0,46,0,50,0,23,0,35,0,31,0 52,0,18,0,28,0,29,0,49,0,7,0 25,0,48,0,13,0,37,0,34,0,26,0 27,0,14,0,5,0,42,0,39,0,4,0 40,0,36,0,47,0,11,0,30,0,15,0 18,0,50,0,44,0,51,0,21,0,1,0 17,0,3,0,20,0,34,0,49,0,48,0 43,0,22,0,23,0,13,0,52,0,37,0 4,0,24,0,15,0,7,0,12,0,19,0 42,0,38,0,40,0,16,0,8,0,45,0 47,0,31,0,2,0,29,0,25,0,33,0 26,0,10,0,11,0,46,0,41,0,27,0 14,0,36,0,35,0,5,0,28,0,6,0 39,0,9,0,12,0,30,0,32,0,42,0 17,0,45,0,51,0,7,0,37,0,21,0 23,0,8,0,50,0,47,0,44,0,34,0 41,0,40,0,3,0,20,0,46,0,28,0 36,0,16,0,10,0,39,0,48,0,52,0 27,0,43,0,18,0,33,0,15,0,35,0 11,0,19,0,29,0,49,0,5,0,25,0 2,0,30,0,14,0,38,0,31,0,26,0 32,0,9,0,6,0,1,0,13,0,22,0 4,0,28,0,45,0,24,0,35,0,43,0 46,0,48,0,37,0,42,0,12,0,44,0 10,0,2,0,18,0,34,0,40,0,19,0 6,0,39,0,13,0,21,0,3,0,11,0 49,0,16,0,23,0,24,0,27,0,33,0 7,0,47,0,52,0,17,0,38,0,9,0 14,0,51,0,26,0,8,0,20,0,29,0 31,0,30,0,22,0,4,0,1,0,5,0 32,0,25,0,41,0,15,0,36,0,50,0 16,0,2,0,34,0,9,0,44,0,11,0 49,0,45,0,10,0,47,0,6,0,26,0 46,0,29,0,21,0,43,0,30,0,4,0 35,0,7,0,5,0,12,0,40,0,23,0 13,0,3,0,27,0,31,0,17,0,50,0 48,0,38,0,36,0,51,0,22,0,15,0 28,0,8,0,37,0,18,0,39,0,32,0 25,0,1,0,24,0,14,0,52,0,41,0 20,0,33,0,23,0,42,0,19,0,10,0 44,0,31,0,40,0,6,0,21,0,38,0 50,0,28,0,47,0,13,0,16,0,4,0 49,0,15,0,37,0,46,0,9,0,14,0 43,0,25,0,7,0,26,0,3,0,42,0 52,0,17,0,1,0,51,0,2,0,11,0 27,0,48,0,45,0,32,0,29,0,5,0 22,0,12,0,35,0,8,0,33,0,41,0 30,0,39,0,24,0,34,0,20,0,18,0 36,0,28,0,26,0,19,0,37,0,44,0 ================================================ FILE: schedules/52_12.csv ================================================ 3,0,41,0,1,0,26,0,36,0,7,0 46,0,37,0,47,0,32,0,23,0,9,0 13,0,11,0,45,0,30,0,18,0,34,0 29,0,24,0,52,0,12,0,49,0,25,0 14,0,42,0,20,0,21,0,44,0,28,0 17,0,6,0,8,0,43,0,16,0,19,0 5,0,38,0,48,0,22,0,27,0,10,0 35,0,40,0,2,0,50,0,51,0,15,0 4,0,31,0,7,0,39,0,33,0,13,0 12,0,46,0,24,0,43,0,17,0,36,0 47,0,9,0,8,0,29,0,30,0,10,0 37,0,26,0,21,0,44,0,41,0,25,0 39,0,20,0,16,0,42,0,2,0,34,0 15,0,23,0,14,0,6,0,22,0,31,0 33,0,27,0,51,0,1,0,52,0,18,0 45,0,48,0,19,0,50,0,32,0,35,0 3,0,28,0,4,0,40,0,49,0,38,0 11,0,12,0,34,0,5,0,44,0,8,0 6,0,2,0,21,0,31,0,46,0,27,0 24,0,14,0,35,0,7,0,47,0,1,0 17,0,29,0,26,0,48,0,40,0,42,0 51,0,10,0,11,0,33,0,20,0,28,0 18,0,36,0,50,0,4,0,19,0,22,0 43,0,52,0,41,0,30,0,23,0,38,0 16,0,49,0,3,0,39,0,9,0,37,0 32,0,45,0,15,0,25,0,13,0,5,0 11,0,19,0,7,0,21,0,34,0,22,0 24,0,42,0,1,0,46,0,2,0,4,0 14,0,43,0,10,0,23,0,36,0,52,0 15,0,25,0,8,0,31,0,39,0,50,0 26,0,13,0,9,0,17,0,28,0,32,0 41,0,30,0,51,0,12,0,3,0,48,0 37,0,5,0,40,0,38,0,33,0,6,0 16,0,47,0,35,0,49,0,44,0,18,0 45,0,29,0,4,0,27,0,20,0,52,0 31,0,10,0,24,0,19,0,32,0,51,0 9,0,34,0,6,0,36,0,12,0,1,0 49,0,47,0,43,0,2,0,50,0,37,0 44,0,39,0,22,0,46,0,21,0,30,0 27,0,42,0,23,0,11,0,3,0,35,0 29,0,18,0,16,0,41,0,15,0,26,0 33,0,25,0,17,0,20,0,13,0,38,0 7,0,28,0,48,0,8,0,14,0,45,0 5,0,24,0,32,0,40,0,9,0,21,0 22,0,49,0,36,0,42,0,51,0,26,0 12,0,39,0,41,0,13,0,27,0,47,0 45,0,33,0,44,0,29,0,43,0,25,0 46,0,19,0,20,0,40,0,30,0,14,0 6,0,23,0,18,0,48,0,8,0,2,0 34,0,3,0,10,0,17,0,4,0,15,0 5,0,1,0,35,0,38,0,31,0,28,0 50,0,16,0,11,0,37,0,7,0,52,0 27,0,21,0,14,0,43,0,13,0,12,0 41,0,2,0,32,0,4,0,8,0,49,0 46,0,10,0,9,0,45,0,26,0,18,0 34,0,7,0,51,0,29,0,50,0,6,0 30,0,37,0,36,0,20,0,17,0,5,0 22,0,42,0,3,0,47,0,31,0,33,0 1,0,16,0,28,0,23,0,19,0,25,0 11,0,52,0,40,0,35,0,39,0,48,0 44,0,38,0,4,0,15,0,24,0,9,0 50,0,8,0,10,0,13,0,42,0,37,0 49,0,33,0,41,0,46,0,34,0,14,0 43,0,32,0,39,0,22,0,29,0,1,0 12,0,44,0,23,0,40,0,7,0,18,0 16,0,30,0,25,0,35,0,6,0,27,0 48,0,31,0,15,0,20,0,11,0,24,0 51,0,36,0,38,0,21,0,45,0,47,0 5,0,2,0,52,0,26,0,3,0,19,0 28,0,8,0,27,0,17,0,41,0,18,0 43,0,1,0,9,0,11,0,33,0,48,0 22,0,32,0,38,0,14,0,16,0,12,0 23,0,35,0,4,0,51,0,29,0,5,0 28,0,39,0,2,0,44,0,36,0,10,0 49,0,13,0,7,0,20,0,25,0,6,0 34,0,26,0,50,0,30,0,24,0,3,0 21,0,31,0,52,0,17,0,40,0,47,0 15,0,19,0,37,0,42,0,45,0,46,0 9,0,22,0,20,0,8,0,35,0,41,0 18,0,25,0,14,0,44,0,51,0,3,0 29,0,13,0,40,0,16,0,24,0,36,0 46,0,43,0,7,0,5,0,10,0,28,0 52,0,42,0,38,0,48,0,34,0,32,0 4,0,47,0,26,0,6,0,15,0,11,0 50,0,21,0,17,0,39,0,1,0,23,0 12,0,30,0,45,0,31,0,2,0,49,0 33,0,37,0,22,0,19,0,27,0,24,0 20,0,51,0,18,0,43,0,42,0,5,0 47,0,50,0,25,0,16,0,4,0,9,0 40,0,6,0,3,0,1,0,45,0,10,0 31,0,29,0,34,0,37,0,14,0,28,0 38,0,27,0,11,0,36,0,32,0,46,0 48,0,49,0,23,0,19,0,13,0,44,0 17,0,52,0,30,0,15,0,7,0,2,0 35,0,26,0,33,0,12,0,21,0,8,0 41,0,45,0,5,0,39,0,47,0,24,0 20,0,32,0,44,0,3,0,23,0,50,0 4,0,48,0,36,0,16,0,37,0,31,0 17,0,13,0,46,0,35,0,22,0,51,0 19,0,38,0,18,0,29,0,39,0,7,0 42,0,9,0,28,0,6,0,52,0,12,0 8,0,26,0,40,0,43,0,27,0,34,0 1,0,21,0,33,0,15,0,30,0,49,0 10,0,25,0,2,0,14,0,11,0,41,0 ================================================ FILE: schedules/52_13.csv ================================================ 13,0,22,0,10,0,1,0,35,0,21,0 40,0,37,0,24,0,42,0,11,0,17,0 45,0,31,0,51,0,32,0,7,0,46,0 8,0,52,0,39,0,28,0,15,0,5,0 29,0,12,0,2,0,34,0,19,0,18,0 38,0,47,0,14,0,36,0,26,0,4,0 30,0,6,0,16,0,25,0,3,0,33,0 49,0,50,0,48,0,20,0,9,0,43,0 23,0,27,0,13,0,41,0,44,0,34,0 35,0,32,0,2,0,39,0,29,0,46,0 31,0,5,0,3,0,33,0,17,0,8,0 30,0,37,0,45,0,47,0,1,0,36,0 10,0,15,0,44,0,43,0,6,0,24,0 22,0,18,0,50,0,21,0,23,0,9,0 12,0,28,0,11,0,48,0,41,0,16,0 38,0,7,0,52,0,27,0,42,0,25,0 14,0,26,0,19,0,49,0,51,0,20,0 4,0,46,0,3,0,40,0,21,0,34,0 6,1,28,0,47,0,31,1,23,0,11,0 50,0,38,0,16,0,52,0,10,0,37,0 22,0,9,0,49,0,7,0,5,0,12,0 2,0,24,0,45,0,4,0,14,0,48,0 33,0,27,0,40,0,15,0,35,0,19,0 20,0,26,0,32,0,30,0,17,0,39,0 36,0,43,0,51,0,41,0,8,0,13,0 18,0,42,0,29,0,25,0,44,0,1,0 33,0,46,0,31,0,12,0,21,0,52,0 15,0,17,0,23,0,14,0,37,0,2,0 16,0,40,0,32,0,48,0,24,0,13,0 28,0,45,0,49,0,30,0,25,0,34,0 41,0,4,0,43,0,22,0,35,0,20,0 6,0,29,0,3,0,5,0,38,0,51,0 19,0,36,0,10,0,39,0,18,0,11,0 9,0,26,0,47,0,27,0,8,0,1,0 7,0,44,0,13,0,50,0,42,0,33,0 52,0,17,0,6,0,22,0,45,0,4,0 41,0,18,0,38,0,49,0,24,0,32,0 30,0,29,0,48,0,31,0,36,0,14,0 21,0,37,0,46,0,27,0,5,0,44,0 11,0,2,0,34,0,39,0,1,0,20,0 12,0,9,0,50,0,15,0,3,0,26,0 47,0,23,0,10,0,42,0,19,0,40,0 28,0,25,0,16,0,8,0,35,0,51,0 43,0,34,0,14,0,7,0,27,0,18,0 33,0,5,0,29,0,11,0,41,0,15,0 3,0,2,0,10,0,50,0,45,0,13,0 4,0,40,0,1,0,26,0,28,0,51,0 35,0,24,0,30,0,17,0,38,0,9,0 20,0,42,0,46,0,16,0,36,0,22,0 25,0,8,0,47,0,12,0,44,0,39,0 32,0,52,0,31,0,43,0,37,0,49,0 21,0,7,0,48,0,6,0,23,0,19,0 13,0,33,0,11,0,14,0,29,0,28,0 27,0,4,0,9,0,16,0,51,0,44,0 24,0,38,0,42,0,20,0,45,0,12,0 10,0,25,0,41,0,31,0,17,0,34,0 19,0,3,0,1,0,52,0,43,0,46,0 15,0,7,0,40,0,36,0,49,0,18,0 5,0,26,0,8,0,37,0,32,0,23,0 47,0,35,0,39,0,50,0,6,0,21,0 30,0,22,0,38,0,48,0,2,0,44,0 18,0,28,0,17,0,46,0,16,0,19,0 1,0,49,0,23,0,3,0,11,0,24,0 15,0,12,0,31,0,10,0,4,0,20,0 6,0,9,0,42,0,32,0,14,0,21,0 5,0,45,0,39,0,29,0,13,0,43,0 35,0,26,0,52,0,36,0,7,0,2,0 37,0,8,0,50,0,34,0,48,0,27,0 51,0,40,0,22,0,30,0,47,0,41,0 33,0,43,0,23,0,25,0,4,0,39,0 1,0,11,0,7,0,44,0,32,0,6,0 16,0,31,0,21,0,38,0,15,0,2,0 34,0,13,0,42,0,19,0,9,0,30,0 45,0,48,0,35,0,18,0,12,0,26,0 37,0,41,0,20,0,33,0,51,0,10,0 5,0,46,0,49,0,50,0,47,0,24,0 29,0,17,0,36,0,28,0,3,0,27,0 22,0,25,0,52,0,40,0,14,0,8,0 19,0,51,0,41,0,37,0,39,0,9,0 42,0,44,0,23,0,35,0,49,0,31,0 34,0,45,0,47,0,16,0,33,0,15,0 14,0,50,0,10,0,22,0,32,0,28,0 27,0,11,0,29,0,30,0,40,0,52,0 25,0,43,0,7,0,26,0,24,0,21,0 18,0,8,0,46,0,4,0,13,0,6,0 48,0,1,0,17,0,38,0,12,0,3,0 20,0,36,0,40,0,5,0,2,0,9,0 37,0,33,0,26,0,7,0,29,0,22,0 49,0,21,0,41,0,6,0,45,0,8,0 35,0,34,0,38,0,11,0,19,0,32,0 1,0,18,0,31,0,17,0,50,0,5,0 15,0,14,0,25,0,46,0,10,0,48,0 20,0,44,0,24,0,13,0,52,0,28,0 3,0,43,0,39,0,42,0,47,0,16,0 12,0,27,0,36,0,23,0,2,0,51,0 4,0,8,0,21,0,30,0,11,0,50,0 28,0,9,0,24,0,37,0,29,0,31,0 39,0,14,0,33,0,46,0,38,0,40,0 12,0,32,0,25,0,27,0,20,0,6,0 44,0,22,0,19,0,26,0,45,0,16,0 3,0,36,0,30,0,10,0,18,0,43,0 17,0,2,0,13,0,49,0,47,0,7,0 52,0,15,0,1,0,23,0,41,0,35,0 34,0,51,0,4,0,48,0,42,0,5,0 12,0,37,0,6,0,25,0,40,0,50,0 27,0,39,0,19,0,22,0,24,0,31,0 30,0,23,0,7,0,41,0,46,0,45,0 2,0,43,0,42,0,28,0,38,0,8,0 4,0,16,0,49,0,10,0,1,0,29,0 51,0,17,0,21,0,36,0,34,0,15,0 14,0,5,0,20,0,44,0,3,0,35,0 48,0,32,0,18,0,47,0,33,0,52,0 11,0,26,0,6,0,13,0,9,0,31,0 ================================================ FILE: schedules/52_14.csv ================================================ 12,0,32,0,30,0,34,0,3,0,43,0 4,0,20,0,26,0,37,0,21,0,8,0 14,0,25,0,24,0,23,0,51,0,16,0 15,0,46,0,11,0,22,0,49,0,48,0 1,0,6,0,17,0,28,0,39,0,5,0 47,0,9,0,50,0,18,0,35,0,2,0 44,0,10,0,7,0,13,0,42,0,19,0 40,0,45,0,33,0,38,0,41,0,29,0 31,0,27,0,48,0,52,0,36,0,16,0 6,0,32,0,8,0,24,0,1,0,34,0 19,0,26,0,17,0,14,0,11,0,49,0 46,0,4,0,43,0,18,0,29,0,9,0 25,0,52,0,50,0,22,0,3,0,20,0 42,0,41,0,35,0,39,0,38,0,51,0 30,0,27,0,21,0,45,0,31,0,44,0 37,0,7,0,5,0,33,0,28,0,10,0 13,0,36,0,47,0,15,0,2,0,12,0 23,0,8,0,39,0,40,0,50,0,11,0 41,1,26,0,25,0,44,1,17,0,43,0 27,1,45,0,6,0,7,1,42,0,4,0 24,0,2,0,20,0,14,0,48,0,29,0 38,0,1,0,22,0,15,0,49,0,47,0 36,0,21,0,34,0,18,0,51,0,10,0 37,0,23,0,3,0,13,0,5,0,9,0 28,0,35,0,12,0,32,0,31,0,33,0 16,0,30,0,40,0,46,0,19,0,52,0 21,0,20,0,38,0,36,0,43,0,2,0 41,0,3,0,13,0,34,0,8,0,29,0 4,0,6,0,47,0,50,0,10,0,49,0 25,0,16,0,35,0,52,0,26,0,5,0 46,0,45,0,51,0,1,0,33,0,7,0 11,0,32,0,44,0,9,0,27,0,14,0 30,0,19,0,24,0,39,0,15,0,40,0 17,0,48,0,12,0,28,0,37,0,18,0 42,0,22,0,50,0,23,0,31,0,36,0 1,0,2,0,52,0,4,0,10,0,45,0 44,0,38,0,8,0,51,0,6,0,33,0 17,0,37,0,29,0,24,0,12,0,39,0 49,0,46,0,18,0,28,0,27,0,16,0 7,0,43,0,48,0,31,0,41,0,14,0 19,0,15,0,20,0,9,0,32,0,23,0 11,0,42,0,25,0,34,0,30,0,26,0 22,0,47,0,5,0,21,0,40,0,3,0 35,0,24,0,31,0,13,0,46,0,1,0 15,0,27,0,52,0,6,0,37,0,2,0 14,0,7,0,38,0,30,0,4,0,8,0 50,0,21,0,32,0,33,0,17,0,42,0 23,0,18,0,19,0,51,0,3,0,12,0 36,0,44,0,5,0,29,0,49,0,43,0 34,0,20,0,28,0,35,0,22,0,26,0 41,0,39,0,48,0,9,0,45,0,25,0 13,0,16,0,11,0,47,0,10,0,40,0 1,0,36,0,51,0,3,0,44,0,4,0 26,0,38,0,49,0,7,0,29,0,12,0 6,0,19,0,5,0,24,0,21,0,18,0 45,0,30,0,17,0,46,0,20,0,23,0 14,0,39,0,37,0,34,0,27,0,25,0 10,0,22,0,13,0,16,0,50,0,41,0 8,0,42,0,52,0,43,0,31,0,28,0 48,0,40,0,2,0,47,0,32,0,35,0 33,0,15,0,18,0,11,0,9,0,4,0 36,0,39,0,6,0,14,0,22,0,19,0 31,0,10,0,3,0,49,0,17,0,20,0 2,0,42,0,16,0,12,0,8,0,41,0 50,0,27,0,1,0,40,0,26,0,46,0 34,0,33,0,44,0,47,0,48,0,52,0 9,0,7,0,28,0,25,0,21,0,15,0 43,0,35,0,30,0,13,0,51,0,37,0 24,0,5,0,11,0,45,0,38,0,32,0 29,0,16,0,20,0,23,0,42,0,1,0 39,0,18,0,31,0,44,0,15,0,26,0 33,0,41,0,36,0,6,0,30,0,46,0 9,0,24,0,52,0,8,0,47,0,7,0 2,0,49,0,51,0,11,0,19,0,37,0 12,0,27,0,13,0,48,0,5,0,21,0 22,0,29,0,40,0,4,0,25,0,32,0 38,0,43,0,23,0,17,0,10,0,34,0 14,0,3,0,28,0,35,0,45,0,50,0 47,0,31,0,11,0,5,0,41,0,20,0 46,0,22,0,8,0,37,0,42,0,44,0 38,0,6,0,9,0,13,0,29,0,52,0 48,0,32,0,18,0,7,0,50,0,23,0 21,0,4,0,17,0,34,0,39,0,16,0 26,0,27,0,3,0,24,0,10,0,15,0 49,0,35,0,1,0,36,0,25,0,19,0 28,0,40,0,51,0,12,0,45,0,14,0 33,0,43,0,5,0,2,0,30,0,22,0 3,0,39,0,32,0,48,0,38,0,46,0 44,0,47,0,21,0,24,0,37,0,27,0 50,0,19,0,29,0,51,0,52,0,34,0 18,0,14,0,42,0,41,0,1,0,15,0 16,0,10,0,9,0,36,0,30,0,28,0 31,0,17,0,25,0,4,0,33,0,2,0 13,0,35,0,6,0,45,0,26,0,23,0 12,0,40,0,43,0,7,0,20,0,11,0 49,0,30,0,52,0,8,0,50,0,18,0 10,0,37,0,38,0,14,0,1,0,32,0 48,0,15,0,13,0,17,0,51,0,5,0 46,0,12,0,47,0,6,0,25,0,43,0 29,0,27,0,4,0,35,0,19,0,21,0 23,0,41,0,11,0,44,0,28,0,2,0 20,0,39,0,33,0,3,0,7,0,16,0 24,0,26,0,8,0,36,0,22,0,45,0 34,0,9,0,42,0,49,0,31,0,40,0 30,0,29,0,44,0,28,0,47,0,25,0 52,0,23,0,14,0,21,0,12,0,1,0 48,0,10,0,19,0,35,0,8,0,33,0 43,0,45,0,16,0,50,0,38,0,15,0 3,0,5,0,2,0,39,0,42,0,26,0 49,0,4,0,36,0,24,0,13,0,32,0 51,0,9,0,41,0,17,0,27,0,22,0 20,0,31,0,37,0,40,0,6,0,18,0 34,0,11,0,2,0,7,0,46,0,21,0 28,0,42,0,45,0,19,0,47,0,3,0 12,0,4,0,50,0,24,0,41,0,44,0 33,0,49,0,23,0,27,0,39,0,43,0 52,0,40,0,7,0,17,0,35,0,36,0 14,0,8,0,51,0,32,0,5,0,46,0 26,0,10,0,1,0,9,0,48,0,30,0 18,0,25,0,22,0,13,0,38,0,31,0 37,0,15,0,16,0,11,0,29,0,6,0 34,0,41,0,7,0,20,0,44,0,27,0 ================================================ FILE: schedules/52_2.csv ================================================ 36,0,50,0,16,0,34,0,39,0,10,0 37,0,35,0,7,0,26,0,15,0,43,0 52,0,41,0,6,0,24,0,20,0,18,0 22,0,11,0,3,0,17,0,25,0,42,0 51,0,38,0,45,0,14,0,31,0,21,0 49,0,5,0,30,0,47,0,19,0,2,0 13,0,23,0,1,0,12,0,4,0,32,0 8,0,44,0,40,0,27,0,48,0,9,0 29,0,28,0,20,0,46,0,33,0,35,0 19,0,15,0,21,0,36,0,22,0,41,0 39,0,38,0,2,0,23,0,18,0,3,0 24,0,25,0,26,0,27,0,47,0,34,0 37,0,32,0,14,0,44,0,11,0,28,0 6,0,9,0,51,0,50,0,29,0,13,0 10,0,8,0,12,0,52,0,33,0,5,0 45,0,46,0,4,0,43,0,40,0,42,0 1,0,31,0,7,0,30,0,16,0,17,0 48,0,11,1,37,1,49,0,25,1,39,1 ================================================ FILE: schedules/52_3.csv ================================================ 40,0,30,0,26,0,27,0,28,0,35,0 4,0,6,0,5,0,10,0,12,0,51,0 11,0,38,0,41,0,32,0,21,0,49,0 50,0,39,0,31,0,45,0,9,0,19,0 16,0,20,0,43,0,18,0,17,0,23,0 42,0,44,0,33,0,29,0,48,0,46,0 25,0,24,0,13,0,14,0,52,0,47,0 15,0,8,0,1,0,3,0,7,0,37,0 36,0,22,0,38,0,34,0,2,0,26,0 17,0,51,0,45,0,29,0,28,0,11,0 21,0,18,0,40,0,31,0,4,0,13,0 49,0,1,0,16,0,9,0,52,0,33,0 48,0,3,0,50,0,24,0,36,0,43,0 44,0,5,0,35,0,22,0,25,0,37,0 2,0,7,0,39,0,30,0,46,0,32,0 19,0,47,0,12,0,15,0,20,0,41,0 23,0,8,0,34,0,6,0,27,0,42,0 14,0,9,0,36,0,10,0,40,0,44,0 45,0,30,0,18,0,25,0,38,0,1,0 26,0,33,0,13,0,39,0,5,0,20,0 21,0,48,0,6,0,19,0,7,0,16,0 10,0,43,0,2,0,8,0,28,0,41,0 46,0,11,0,27,0,3,0,12,0,14,0 35,0,31,0,52,0,51,0,15,0,42,0 23,0,29,0,49,0,24,0,4,0,22,0 37,0,17,0,32,0,47,0,50,0,34,0 ================================================ FILE: schedules/52_4.csv ================================================ 51,0,5,0,21,0,11,0,29,0,20,0 36,0,9,0,4,0,26,0,2,0,37,0 40,0,46,0,23,0,48,0,15,0,17,0 45,0,1,0,27,0,13,0,50,0,41,0 19,0,33,0,7,0,44,0,22,0,10,0 38,0,6,0,14,0,12,0,52,0,3,0 18,0,34,0,35,0,43,0,8,0,49,0 32,0,42,0,25,0,39,0,16,0,31,0 47,0,30,0,19,0,24,0,28,0,17,0 22,0,20,0,38,0,48,0,4,0,1,0 10,0,43,0,45,0,3,0,15,0,36,0 41,0,37,0,31,0,40,0,21,0,34,0 52,0,32,0,50,0,29,0,7,0,9,0 44,0,16,0,49,0,6,0,11,0,24,0 18,0,14,0,27,0,25,0,47,0,5,0 8,0,39,0,13,0,12,0,46,0,28,0 33,0,30,0,26,0,35,0,23,0,42,0 2,0,50,0,3,0,51,0,22,0,49,0 41,1,29,0,47,0,43,1,48,0,6,0 15,0,12,0,1,0,44,0,9,0,31,0 4,0,16,0,10,0,8,0,30,0,52,0 32,0,34,0,33,0,20,0,27,0,17,0 24,0,46,0,25,0,26,0,38,0,21,0 51,0,40,0,39,0,35,0,36,0,14,0 7,0,2,0,28,0,42,0,45,0,5,0 37,0,18,0,13,0,23,0,19,0,11,0 29,0,44,0,3,0,46,0,27,0,30,0 48,0,8,0,14,0,26,0,31,0,50,0 52,0,36,0,5,0,33,0,24,0,1,0 11,0,15,0,28,0,35,0,32,0,41,0 25,0,13,0,20,0,40,0,2,0,43,0 10,0,42,0,38,0,47,0,49,0,37,0 12,0,4,0,17,0,21,0,18,0,7,0 22,0,23,0,6,0,39,0,45,0,34,0 51,0,9,0,43,0,19,0,16,0,41,0 ================================================ FILE: schedules/52_5.csv ================================================ 10,0,13,0,34,0,38,0,52,0,3,0 2,0,6,0,47,0,20,0,44,0,28,0 31,0,32,0,40,0,43,0,22,0,8,0 26,0,30,0,12,0,48,0,37,0,45,0 25,0,24,0,21,0,41,0,16,0,14,0 35,0,51,0,11,0,33,0,5,0,9,0 49,0,4,0,27,0,15,0,18,0,17,0 39,0,36,0,1,0,19,0,29,0,46,0 50,0,23,0,38,0,42,0,7,0,31,0 5,0,43,0,14,0,47,0,30,0,10,0 37,0,6,0,22,0,25,0,49,0,9,0 3,0,26,0,35,0,36,0,4,0,21,0 29,0,13,0,48,0,11,0,24,0,23,0 41,0,2,0,33,0,27,0,1,0,40,0 42,0,12,0,15,0,46,0,20,0,32,0 17,0,8,0,28,0,45,0,50,0,34,0 16,0,51,0,52,0,44,0,39,0,18,0 19,0,41,0,4,0,7,0,11,0,47,0 32,1,38,0,35,0,30,1,37,0,27,0 1,1,21,0,45,0,13,1,5,0,42,0 10,0,33,0,49,0,36,0,16,0,8,0 19,0,34,0,9,0,48,0,18,0,2,0 6,0,7,0,24,0,40,0,12,0,39,0 20,0,50,0,14,0,29,0,22,0,51,0 52,0,28,0,25,0,15,0,31,0,26,0 46,0,3,0,23,0,43,0,44,0,17,0 32,0,16,0,48,0,4,0,6,0,5,0 8,0,29,0,27,0,21,0,9,0,12,0 38,0,45,0,47,0,25,0,33,0,39,0 24,0,20,0,43,0,26,0,1,0,34,0 31,0,37,0,44,0,14,0,13,0,19,0 46,0,49,0,11,0,50,0,52,0,40,0 36,0,23,0,30,0,51,0,15,0,41,0 22,0,17,0,7,0,35,0,2,0,10,0 18,0,42,0,37,0,28,0,3,0,24,0 44,0,26,0,40,0,29,0,38,0,5,0 13,0,43,0,50,0,25,0,12,0,36,0 1,0,51,0,47,0,31,0,48,0,49,0 32,0,17,0,52,0,33,0,19,0,21,0 27,0,34,0,22,0,30,0,42,0,16,0 41,0,18,0,45,0,6,0,35,0,46,0 9,0,39,0,4,0,20,0,23,0,10,0 3,0,15,0,14,0,2,0,11,0,8,0 28,0,30,0,1,0,7,0,32,0,13,0 ================================================ FILE: schedules/52_6.csv ================================================ 11,0,47,0,19,0,17,0,23,0,27,0 7,0,36,0,34,0,22,0,15,0,9,0 31,0,48,0,30,0,25,0,6,0,35,0 5,0,16,0,26,0,37,0,1,0,14,0 12,0,28,0,33,0,29,0,32,0,3,0 41,0,44,0,46,0,42,0,24,0,20,0 13,0,38,0,52,0,50,0,45,0,40,0 4,0,49,0,2,0,8,0,10,0,21,0 51,0,43,0,3,0,18,0,39,0,27,0 41,0,34,0,12,0,48,0,47,0,16,0 5,0,42,0,50,0,11,0,31,0,9,0 26,0,29,0,35,0,21,0,20,0,13,0 45,0,1,0,23,0,8,0,15,0,28,0 43,0,2,0,30,0,44,0,17,0,33,0 6,0,10,0,7,0,14,0,40,0,32,0 36,0,18,0,38,0,4,0,19,0,46,0 37,0,25,0,52,0,22,0,39,0,24,0 51,0,9,0,28,0,49,0,41,0,16,0 47,0,3,0,50,0,10,0,30,0,1,0 27,0,40,0,13,0,2,0,42,0,15,0 21,0,19,0,52,0,25,0,44,0,5,0 20,0,49,0,39,0,36,0,6,0,17,0 23,0,12,0,35,0,37,0,7,0,46,0 24,0,11,0,14,0,33,0,34,0,18,0 32,0,26,0,45,0,31,0,4,0,43,0 22,0,8,0,48,0,38,0,29,0,51,0 27,0,35,0,10,0,28,0,36,0,44,0 20,0,15,0,18,0,12,0,30,0,50,0 9,0,6,0,46,0,3,0,52,0,2,0 29,0,47,0,45,0,7,0,5,0,24,0 49,0,48,0,1,0,43,0,11,0,40,0 17,0,4,0,25,0,14,0,51,0,13,0 21,0,31,0,39,0,33,0,16,0,38,0 42,0,19,0,32,0,37,0,8,0,34,0 22,0,41,0,6,0,23,0,26,0,43,0 40,0,35,0,4,0,17,0,3,0,5,0 7,0,12,0,44,0,31,0,51,0,1,0 8,0,33,0,13,0,9,0,20,0,47,0 46,0,25,0,27,0,45,0,49,0,34,0 21,0,24,0,36,0,32,0,30,0,23,0 29,0,14,0,39,0,50,0,19,0,2,0 48,0,42,0,18,0,52,0,26,0,28,0 15,0,41,0,37,0,38,0,11,0,10,0 22,0,45,0,17,0,16,0,21,0,12,0 5,0,51,0,2,0,23,0,34,0,20,0 33,0,7,0,50,0,4,0,27,0,48,0 44,0,47,0,37,0,40,0,18,0,6,0 30,0,28,0,13,0,22,0,11,0,46,0 39,0,32,0,38,0,1,0,9,0,35,0 16,0,10,0,43,0,42,0,29,0,25,0 24,0,15,0,3,0,49,0,19,0,26,0 14,0,8,0,31,0,41,0,52,0,36,0 ================================================ FILE: schedules/52_7.csv ================================================ 15,0,33,0,48,0,23,0,32,0,35,0 44,0,16,0,31,0,8,0,46,0,42,0 49,0,36,0,29,0,4,0,26,0,28,0 3,0,20,0,41,0,17,0,6,0,13,0 22,0,34,0,11,0,14,0,37,0,18,0 5,0,27,0,30,0,25,0,9,0,1,0 10,0,52,0,50,0,19,0,38,0,39,0 47,0,7,0,21,0,40,0,45,0,24,0 2,0,51,0,42,0,12,0,43,0,37,0 14,0,41,0,34,0,48,0,32,0,25,0 15,0,52,0,49,0,5,0,6,0,46,0 28,0,1,0,44,0,50,0,20,0,21,0 8,0,27,0,43,0,24,0,33,0,38,0 31,0,7,0,12,0,4,0,9,0,3,0 39,0,40,0,35,0,13,0,30,0,29,0 51,0,36,0,22,0,2,0,47,0,10,0 11,0,23,0,17,0,16,0,45,0,26,0 19,0,4,0,37,0,18,0,24,0,15,0 3,1,50,0,49,0,52,1,34,0,9,0 47,0,28,0,48,0,42,0,13,0,27,0 32,0,12,0,45,0,22,0,29,0,44,0 30,0,35,0,18,0,8,0,26,0,21,0 43,0,25,0,20,0,7,0,19,0,16,0 6,0,1,0,33,0,11,0,51,0,39,0 36,0,46,0,41,0,40,0,23,0,38,0 17,0,31,0,2,0,14,0,10,0,5,0 8,0,47,0,50,0,25,0,12,0,52,0 39,0,27,0,24,0,49,0,26,0,32,0 44,0,43,0,48,0,36,0,30,0,3,0 42,0,34,0,5,0,33,0,41,0,7,0 23,0,21,0,29,0,19,0,11,0,31,0 38,0,4,0,35,0,2,0,22,0,20,0 18,0,45,0,13,0,10,0,1,0,46,0 16,0,9,0,40,0,15,0,51,0,14,0 37,0,6,0,8,0,17,0,28,0,7,0 11,0,2,0,41,0,52,0,44,0,24,0 42,0,22,0,26,0,3,0,19,0,1,0 20,0,49,0,14,0,30,0,45,0,15,0 37,0,23,0,51,0,35,0,25,0,27,0 32,0,31,0,10,0,40,0,43,0,28,0 9,0,18,0,6,0,48,0,29,0,38,0 39,0,21,0,34,0,46,0,17,0,47,0 5,0,33,0,4,0,13,0,50,0,16,0 12,0,24,0,11,0,36,0,20,0,35,0 10,0,26,0,27,0,44,0,15,0,7,0 30,0,34,0,46,0,51,0,28,0,19,0 45,0,22,0,39,0,48,0,5,0,8,0 9,0,32,0,50,0,17,0,36,0,42,0 4,0,47,0,23,0,14,0,6,0,43,0 31,0,37,0,29,0,1,0,41,0,52,0 25,0,40,0,3,0,18,0,33,0,2,0 12,0,38,0,13,0,16,0,21,0,49,0 50,0,7,0,24,0,23,0,22,0,46,0 26,0,48,0,51,0,20,0,31,0,52,0 19,0,33,0,9,0,44,0,37,0,45,0 28,0,12,0,16,0,18,0,41,0,39,0 3,0,5,0,47,0,11,0,32,0,38,0 15,0,13,0,8,0,2,0,34,0,29,0 43,0,35,0,1,0,40,0,17,0,49,0 42,0,30,0,25,0,10,0,4,0,6,0 36,0,14,0,52,0,21,0,27,0,3,0 ================================================ FILE: schedules/52_8.csv ================================================ 39,0,22,0,44,0,13,0,38,0,18,0 51,0,30,0,50,0,41,0,37,0,33,0 32,0,4,0,31,0,25,0,42,0,16,0 6,0,45,0,48,0,23,0,5,0,19,0 15,0,12,0,2,0,20,0,21,0,29,0 9,0,1,0,10,0,47,0,49,0,46,0 26,0,35,0,28,0,36,0,40,0,14,0 34,0,43,0,11,0,8,0,3,0,52,0 17,0,7,0,19,0,27,0,24,0,37,0 42,0,33,0,12,0,49,0,22,0,23,0 21,0,5,0,4,0,31,0,40,0,9,0 44,0,36,0,8,0,32,0,2,0,50,0 17,0,28,0,47,0,30,0,20,0,39,0 7,0,13,0,51,0,11,0,46,0,45,0 10,0,48,0,29,0,34,0,14,0,41,0 26,0,15,0,24,0,38,0,25,0,6,0 18,0,27,0,35,0,43,0,1,0,16,0 3,0,37,0,45,0,52,0,9,0,36,0 48,1,50,0,21,0,28,1,13,0,10,0 33,1,22,0,31,0,7,1,15,0,8,0 34,0,47,0,20,0,32,0,46,0,38,0 11,0,42,0,24,0,5,0,1,0,30,0 49,0,25,0,26,0,18,0,19,0,29,0 16,0,3,0,14,0,17,0,51,0,12,0 41,0,40,0,39,0,52,0,43,0,6,0 4,0,23,0,35,0,27,0,44,0,2,0 38,0,9,0,47,0,25,0,7,0,29,0 20,0,8,0,17,0,49,0,13,0,36,0 16,0,28,0,37,0,6,0,22,0,34,0 26,0,31,0,2,0,41,0,11,0,48,0 12,0,24,0,35,0,45,0,50,0,4,0 14,0,43,0,19,0,44,0,21,0,42,0 1,0,32,0,40,0,23,0,39,0,3,0 30,0,10,0,27,0,5,0,15,0,51,0 18,0,46,0,4,0,33,0,52,0,17,0 34,0,16,0,2,0,9,0,13,0,24,0 48,0,19,0,22,0,11,0,20,0,40,0 42,0,3,0,10,0,44,0,35,0,7,0 37,0,12,0,5,0,26,0,39,0,46,0 49,0,32,0,6,0,30,0,21,0,52,0 41,0,25,0,28,0,8,0,45,0,1,0 50,0,14,0,23,0,18,0,47,0,15,0 33,0,38,0,51,0,31,0,43,0,36,0 29,0,24,0,49,0,27,0,22,0,3,0 40,0,30,0,25,0,44,0,34,0,12,0 16,0,8,0,5,0,14,0,20,0,7,0 26,0,13,0,37,0,23,0,32,0,43,0 2,0,9,0,18,0,28,0,6,0,51,0 52,0,27,0,45,0,10,0,47,0,31,0 38,0,50,0,17,0,1,0,42,0,48,0 19,0,46,0,36,0,41,0,15,0,4,0 21,0,35,0,11,0,33,0,39,0,29,0 20,0,52,0,51,0,26,0,7,0,23,0 18,0,42,0,40,0,8,0,10,0,24,0 43,0,44,0,15,0,9,0,28,0,48,0 47,0,19,0,33,0,3,0,2,0,13,0 5,0,41,0,22,0,17,0,32,0,35,0 34,0,45,0,25,0,27,0,21,0,39,0 38,0,11,0,14,0,49,0,37,0,4,0 29,0,12,0,36,0,1,0,31,0,6,0 50,0,46,0,3,0,16,0,30,0,26,0 10,0,43,0,2,0,22,0,25,0,17,0 48,0,8,0,39,0,51,0,24,0,4,0 20,0,41,0,1,0,44,0,9,0,33,0 7,0,31,0,49,0,50,0,34,0,35,0 38,0,52,0,23,0,28,0,19,0,30,0 37,0,29,0,15,0,45,0,16,0,40,0 6,0,46,0,13,0,27,0,42,0,14,0 47,0,36,0,21,0,18,0,11,0,5,0 32,0,48,0,33,0,12,0,28,0,7,0 ================================================ FILE: schedules/52_9.csv ================================================ 43,0,22,0,15,0,50,0,49,0,31,0 28,0,35,0,47,0,21,0,41,0,10,0 34,0,1,0,38,0,30,0,24,0,23,0 13,0,8,0,11,0,20,0,25,0,40,0 33,0,44,0,12,0,27,0,17,0,26,0 51,0,45,0,42,0,2,0,32,0,9,0 16,0,36,0,19,0,14,0,46,0,37,0 48,0,6,0,52,0,3,0,7,0,4,0 29,0,18,0,26,0,39,0,5,0,20,0 40,0,47,0,30,0,44,0,43,0,51,0 41,0,32,0,35,0,1,0,16,0,13,0 31,0,6,0,17,0,10,0,34,0,8,0 36,0,11,0,2,0,48,0,49,0,24,0 14,0,52,0,29,0,37,0,45,0,38,0 4,0,18,0,39,0,23,0,28,0,50,0 12,0,15,0,42,0,22,0,33,0,7,0 27,0,25,0,21,0,9,0,46,0,5,0 3,0,17,0,49,0,19,0,1,0,24,0 41,0,13,0,26,0,6,0,2,0,45,0 37,0,29,0,36,0,18,0,44,0,42,0 11,0,30,0,22,0,4,0,35,0,9,0 3,0,12,0,48,0,8,0,40,0,21,0 52,0,16,0,28,0,34,0,25,0,15,0 19,0,50,0,32,0,38,0,10,0,31,0 7,0,46,0,20,0,51,0,23,0,33,0 5,0,14,0,27,0,47,0,43,0,39,0 44,0,24,0,28,0,8,0,35,0,22,0 36,0,30,0,12,0,25,0,13,0,10,0 21,0,20,0,9,0,31,0,15,0,32,0 29,0,4,0,17,0,26,0,16,0,51,0 1,0,50,0,14,0,11,0,27,0,6,0 40,0,5,0,19,0,52,0,23,0,42,0 49,0,45,0,46,0,7,0,39,0,34,0 41,0,33,0,48,0,37,0,43,0,18,0 38,0,3,0,50,0,2,0,47,0,16,0 10,0,52,0,15,0,27,0,29,0,8,0 23,0,21,0,32,0,14,0,6,0,22,0 7,0,25,0,5,0,24,0,37,0,17,0 11,0,43,0,26,0,34,0,51,0,28,0 47,0,49,0,36,0,45,0,30,0,20,0 9,0,33,0,13,0,44,0,38,0,48,0 4,0,31,0,12,0,1,0,42,0,41,0 40,0,2,0,18,0,19,0,35,0,46,0 3,0,37,0,22,0,39,0,51,0,30,0 48,0,23,0,8,0,27,0,49,0,16,0 44,0,47,0,15,0,25,0,1,0,6,0 4,0,45,0,34,0,19,0,33,0,21,0 41,0,39,0,29,0,24,0,40,0,9,0 43,0,42,0,10,0,13,0,18,0,38,0 46,0,52,0,32,0,12,0,11,0,17,0 20,0,28,0,31,0,3,0,2,0,14,0 35,0,50,0,7,0,26,0,5,0,36,0 38,0,51,0,25,0,21,0,49,0,18,0 47,0,23,0,9,0,52,0,13,0,12,0 20,0,16,0,42,0,43,0,24,0,6,0 3,0,34,0,5,0,32,0,4,0,44,0 14,0,39,0,45,0,35,0,15,0,17,0 10,0,1,0,46,0,48,0,22,0,26,0 8,0,50,0,2,0,30,0,29,0,33,0 28,0,37,0,27,0,36,0,31,0,40,0 7,0,19,0,44,0,41,0,11,0,20,0 4,0,24,0,26,0,15,0,14,0,13,0 1,0,17,0,52,0,21,0,43,0,2,0 34,0,35,0,37,0,9,0,50,0,12,0 16,0,38,0,32,0,27,0,40,0,7,0 45,0,23,0,10,0,11,0,42,0,3,0 51,0,6,0,36,0,33,0,31,0,39,0 47,0,25,0,22,0,19,0,29,0,48,0 30,0,5,0,49,0,41,0,28,0,46,0 18,0,14,0,9,0,8,0,1,0,7,0 24,0,51,0,20,0,50,0,52,0,45,0 40,0,44,0,39,0,4,0,2,0,10,0 43,0,27,0,33,0,35,0,3,0,25,0 46,0,26,0,8,0,32,0,42,0,47,0 31,0,22,0,18,0,30,0,17,0,16,0 19,0,38,0,6,0,12,0,28,0,5,0 21,0,37,0,13,0,49,0,11,0,29,0 41,0,34,0,23,0,15,0,36,0,48,0 ================================================ FILE: schedules/53_1.csv ================================================ 33,0,20,0,8,0,21,0,3,0,35,0 2,0,6,0,14,0,24,0,17,0,37,0 12,0,36,0,43,0,29,0,26,0,7,0 47,0,40,0,22,0,38,0,10,0,48,0 1,0,15,0,16,0,13,0,39,0,44,0 11,0,31,0,53,0,9,0,34,0,50,0 4,0,23,0,46,0,52,0,27,0,49,0 25,0,30,0,5,0,51,0,42,0,19,0 41,0,45,0,18,0,28,0,32,0,40,1 ================================================ FILE: schedules/53_10.csv ================================================ 52,0,51,0,45,0,22,0,46,0,5,0 27,0,28,0,33,0,7,0,13,0,4,0 6,0,8,0,11,0,34,0,2,0,16,0 44,0,12,0,31,0,21,0,37,0,18,0 14,0,36,0,3,0,47,0,25,0,30,0 42,0,41,0,23,0,24,0,40,0,20,0 48,0,53,0,1,0,39,0,35,0,50,0 19,0,17,0,9,0,26,0,43,0,49,0 15,0,38,0,10,0,32,0,29,0,36,0 34,0,41,0,30,0,23,0,31,0,51,0 35,0,53,0,25,0,22,0,13,0,44,0 18,0,26,0,7,0,45,0,47,0,16,0 46,0,50,0,21,0,14,0,32,0,17,0 5,0,3,0,49,0,42,0,48,0,8,0 39,0,10,0,37,0,38,0,6,0,43,0 27,0,12,0,9,0,28,0,11,0,20,0 19,0,24,0,4,0,29,0,2,0,15,0 33,0,40,0,23,0,52,0,1,0,18,0 42,1,43,0,53,0,46,1,6,0,14,0 31,1,27,0,17,0,39,1,16,0,5,0 50,0,13,0,28,0,8,0,49,0,10,0 48,0,32,0,34,0,33,0,44,0,30,0 26,0,19,0,35,0,37,0,40,0,3,0 15,0,36,0,1,0,41,0,21,0,45,0 2,0,47,0,52,0,20,0,12,0,29,0 4,0,22,0,51,0,7,0,9,0,11,0 25,0,24,0,48,0,38,0,8,0,27,0 34,0,36,0,5,0,18,0,39,0,3,0 1,0,46,0,43,0,44,0,28,0,47,0 29,0,40,0,49,0,11,0,14,0,22,0 16,0,51,0,37,0,15,0,4,0,42,0 17,0,6,0,26,0,23,0,12,0,13,0 41,0,2,0,31,0,25,0,10,0,52,0 24,0,50,0,30,0,9,0,35,0,45,0 53,0,32,0,38,0,7,0,19,0,20,0 33,0,48,0,6,0,21,0,36,0,51,0 44,0,23,0,16,0,3,0,22,0,28,0 14,0,43,0,13,0,5,0,24,0,37,0 2,0,4,0,25,0,47,0,18,0,35,0 11,0,17,0,52,0,10,0,45,0,30,0 20,0,9,0,8,0,40,0,1,0,7,0 53,0,12,0,39,0,32,0,15,0,49,0 29,0,46,0,34,0,27,0,41,0,19,0 31,0,26,0,50,0,42,0,38,0,33,0 21,0,40,0,43,0,35,0,30,0,51,0 16,0,17,0,20,0,48,0,9,0,44,0 25,0,14,0,12,0,34,0,23,0,19,0 45,0,3,0,29,0,13,0,33,0,31,0 4,0,52,0,21,0,8,0,50,0,32,0 49,0,2,0,7,0,46,0,37,0,36,0 10,0,42,0,18,0,53,0,27,0,24,0 15,0,11,0,5,0,26,0,38,0,1,0 47,0,22,0,41,0,28,0,6,0,39,0 23,0,3,0,7,0,2,0,43,0,50,0 37,0,32,0,27,0,45,0,17,0,40,0 31,0,19,0,5,0,36,0,11,0,44,0 35,0,52,0,38,0,51,0,34,0,49,0 41,0,39,0,8,0,18,0,33,0,14,0 26,0,28,0,16,0,30,0,53,0,29,0 15,0,24,0,46,0,6,0,20,0,25,0 10,0,4,0,1,0,22,0,12,0,48,0 42,0,13,0,9,0,21,0,47,0,34,0 17,0,5,0,28,0,36,0,2,0,53,0 44,0,50,0,18,0,11,0,51,0,29,0 32,0,6,0,24,0,31,0,1,0,3,0 16,0,7,0,43,0,41,0,52,0,13,0 8,0,22,0,21,0,20,0,37,0,26,0 12,0,33,0,10,0,14,0,42,0,35,0 27,0,47,0,49,0,15,0,23,0,30,0 19,0,45,0,25,0,39,0,40,0,48,0 46,0,38,0,3,0,4,0,9,0,53,0 52,0,37,0,34,0,28,0,24,0,1,0 18,0,15,0,41,0,42,0,17,0,22,0 40,0,16,0,19,0,47,0,50,0,10,0 38,0,7,0,30,0,6,0,21,0,12,0 35,0,8,0,23,0,48,0,46,0,11,0 2,0,39,0,32,0,51,0,13,0,26,0 25,0,33,0,29,0,9,0,43,0,5,0 49,0,20,0,14,0,31,0,45,0,4,0 27,0,44,0,35,0,36,0,6,0,52,0 39,0,47,0,51,0,8,0,17,0,24,0 11,0,37,0,12,0,3,0,41,0,53,0 48,0,13,0,15,0,31,0,40,0,46,0 18,0,23,0,28,0,32,0,42,0,19,0 1,0,21,0,49,0,25,0,27,0,16,0 14,0,44,0,45,0,2,0,38,0,9,0 22,0,20,0,30,0,33,0,5,0,50,0 43,0,10,0,36,0,26,0,4,0,34,0 29,0,42,0,31,0,7,0,46,0,39,0 ================================================ FILE: schedules/53_11.csv ================================================ 51,0,50,0,35,0,13,0,45,0,34,0 29,0,19,0,11,0,23,0,53,0,37,0 8,0,33,0,22,0,2,0,6,0,17,0 3,0,48,0,20,0,28,0,21,0,36,0 41,0,49,0,24,0,10,0,39,0,44,0 31,0,42,0,43,0,4,0,27,0,12,0 25,0,7,0,15,0,32,0,5,0,52,0 14,0,47,0,26,0,1,0,46,0,30,0 18,0,38,0,16,0,9,0,40,0,39,0 21,0,13,0,27,0,23,0,8,0,4,0 29,0,43,0,22,0,28,0,11,0,45,0 20,0,5,0,14,0,51,0,53,0,2,0 30,0,48,0,47,0,10,0,15,0,35,0 31,0,3,0,52,0,37,0,38,0,49,0 24,0,12,0,18,0,41,0,7,0,26,0 25,0,1,0,42,0,6,0,16,0,50,0 32,0,44,0,46,0,9,0,19,0,33,0 40,0,34,0,23,0,36,0,17,0,14,0 18,1,2,0,29,0,3,1,21,0,24,0 10,1,6,0,38,0,11,1,5,0,51,0 33,1,35,0,52,0,8,0,9,0,1,0 39,0,12,0,45,0,28,0,19,0,40,0 17,0,7,0,50,0,31,0,44,0,48,0 20,0,16,0,49,0,15,0,27,0,26,0 25,0,43,0,30,0,13,0,36,0,41,0 42,0,47,0,37,0,53,0,22,0,32,0 46,0,4,0,31,0,34,0,6,0,24,0 16,0,15,0,1,0,7,0,51,0,23,0 18,0,30,0,19,0,8,0,38,0,29,0 9,0,21,0,17,0,36,0,47,0,43,0 26,0,42,0,5,0,40,0,41,0,48,0 14,0,35,0,27,0,3,0,50,0,44,0 28,0,33,0,39,0,4,0,13,0,37,0 2,0,46,0,45,0,25,0,49,0,53,0 20,0,32,0,11,0,34,0,52,0,12,0 10,0,16,0,21,0,22,0,35,0,7,0 19,0,5,0,48,0,4,0,33,0,14,0 13,0,47,0,23,0,44,0,38,0,24,0 2,0,30,0,12,0,18,0,50,0,34,0 51,0,49,0,1,0,29,0,25,0,17,0 6,0,40,0,26,0,28,0,32,0,37,0 8,0,43,0,41,0,20,0,22,0,15,0 10,0,53,0,45,0,31,0,39,0,36,0 46,0,9,0,11,0,3,0,42,0,27,0 52,0,30,0,4,0,17,0,12,0,16,0 8,0,49,0,34,0,47,0,28,0,41,0 26,0,31,0,19,0,2,0,25,0,35,0 10,0,50,0,11,0,15,0,6,0,21,0 13,0,9,0,7,0,29,0,53,0,14,0 45,0,23,0,24,0,33,0,42,0,20,0 37,0,3,0,46,0,43,0,5,0,40,0 32,0,48,0,27,0,38,0,1,0,39,0 36,0,51,0,44,0,22,0,18,0,52,0 42,0,6,0,23,0,49,0,30,0,7,0 40,0,14,0,16,0,8,0,11,0,31,0 53,0,41,0,38,0,33,0,50,0,43,0 47,0,51,0,22,0,26,0,3,0,39,0 36,0,35,0,12,0,29,0,46,0,5,0 10,0,48,0,37,0,18,0,20,0,9,0 17,0,15,0,32,0,13,0,28,0,2,0 27,0,45,0,19,0,24,0,25,0,52,0 34,0,4,0,53,0,1,0,21,0,44,0 14,0,9,0,12,0,49,0,22,0,6,0 37,0,17,0,35,0,42,0,41,0,32,0 50,0,40,0,29,0,10,0,20,0,52,0 1,0,31,0,24,0,36,0,3,0,15,0 28,0,51,0,18,0,27,0,30,0,23,0 44,0,34,0,5,0,26,0,45,0,43,0 4,0,2,0,7,0,47,0,38,0,11,0 46,0,25,0,33,0,8,0,39,0,21,0 13,0,19,0,49,0,16,0,48,0,36,0 28,0,43,0,14,0,18,0,35,0,32,0 22,0,26,0,4,0,9,0,23,0,50,0 52,0,51,0,38,0,46,0,21,0,42,0 47,0,33,0,29,0,31,0,16,0,27,0 45,0,41,0,37,0,48,0,1,0,2,0 6,0,13,0,44,0,8,0,40,0,20,0 10,0,7,0,3,0,34,0,25,0,19,0 11,0,24,0,39,0,30,0,17,0,5,0 53,0,15,0,33,0,12,0,38,0,26,0 48,0,18,0,13,0,45,0,47,0,6,0 27,0,1,0,43,0,19,0,22,0,10,0 30,0,21,0,32,0,49,0,31,0,5,0 50,0,36,0,8,0,7,0,37,0,11,0 23,0,17,0,20,0,12,0,25,0,3,0 2,0,44,0,41,0,52,0,46,0,16,0 53,0,35,0,40,0,51,0,24,0,4,0 29,0,15,0,39,0,14,0,42,0,34,0 28,0,25,0,50,0,9,0,47,0,5,0 17,0,31,0,18,0,19,0,46,0,20,0 36,0,7,0,40,0,27,0,33,0,2,0 38,0,21,0,45,0,11,0,41,0,14,0 42,0,12,0,28,0,10,0,1,0,13,0 32,0,8,0,26,0,29,0,4,0,3,0 52,0,6,0,39,0,35,0,43,0,23,0 9,0,44,0,37,0,15,0,30,0,51,0 34,0,16,0,22,0,24,0,53,0,48,0 49,0,3,0,11,0,18,0,10,0,33,0 ================================================ FILE: schedules/53_12.csv ================================================ 39,0,10,0,49,0,26,0,31,0,12,0 41,0,50,0,21,0,33,0,44,0,45,0 11,0,32,0,35,0,23,0,17,0,2,0 28,0,20,0,48,0,47,0,7,0,43,0 40,0,36,0,3,0,37,0,38,0,29,0 51,0,9,0,46,0,34,0,30,0,18,0 14,0,15,0,8,0,16,0,19,0,25,0 4,0,42,0,24,0,5,0,1,0,27,0 53,0,13,0,6,0,52,0,22,0,41,0 43,0,23,0,34,0,38,0,35,0,10,0 31,0,21,0,29,0,14,0,47,0,37,0 30,0,9,0,48,0,8,0,2,0,45,0 27,0,44,0,26,0,1,0,18,0,17,0 25,0,22,0,39,0,49,0,51,0,24,0 16,0,40,0,11,0,19,0,3,0,52,0 5,0,32,0,42,0,36,0,15,0,50,0 13,0,33,0,20,0,28,0,53,0,46,0 12,0,4,0,35,0,7,0,6,0,45,0 24,0,43,0,22,0,14,0,41,0,3,0 50,0,32,0,47,0,34,0,19,0,26,0 8,0,33,0,18,0,42,0,29,0,10,0 48,0,27,0,23,0,9,0,44,0,40,0 36,0,2,0,49,0,1,0,20,0,46,0 25,0,11,0,37,0,31,0,28,0,4,0 39,0,52,0,6,0,51,0,38,0,7,0 16,0,12,0,5,0,17,0,21,0,30,0 15,0,13,0,49,0,53,0,42,0,35,0 46,0,31,0,41,0,8,0,26,0,48,0 11,0,19,0,10,0,44,0,7,0,36,0 52,0,4,0,21,0,30,0,39,0,3,0 45,0,17,0,20,0,25,0,28,0,14,0 1,0,13,0,22,0,18,0,32,0,16,0 12,0,29,0,6,0,50,0,43,0,27,0 51,0,53,0,23,0,37,0,5,0,15,0 2,0,33,0,38,0,24,0,9,0,47,0 34,0,36,0,21,0,40,0,25,0,41,0 20,0,42,0,52,0,22,0,29,0,45,0 19,0,35,0,48,0,11,0,46,0,5,0 39,0,1,0,51,0,33,0,23,0,10,0 26,0,9,0,17,0,53,0,37,0,4,0 38,0,34,0,6,0,31,0,16,0,15,0 50,0,28,0,8,0,18,0,40,0,49,0 30,0,13,0,7,0,47,0,27,0,3,0 43,0,2,0,12,0,44,0,24,0,14,0 1,0,21,0,10,0,32,0,9,0,38,0 33,0,50,0,35,0,31,0,20,0,22,0 27,0,52,0,36,0,28,0,47,0,15,0 43,0,40,0,45,0,51,0,16,0,26,0 32,0,3,0,6,0,46,0,44,0,48,0 19,0,37,0,8,0,7,0,12,0,24,0 30,0,41,0,53,0,14,0,42,0,23,0 17,0,49,0,4,0,13,0,2,0,34,0 5,0,18,0,25,0,11,0,39,0,29,0 24,0,31,0,27,0,21,0,32,0,20,0 44,0,47,0,38,0,42,0,45,0,51,0 46,0,17,0,15,0,10,0,41,0,9,0 53,0,16,0,7,0,18,0,36,0,29,0 2,0,22,0,28,0,12,0,19,0,23,0 50,0,14,0,52,0,1,0,37,0,35,0 33,0,40,0,30,0,6,0,49,0,11,0 5,0,26,0,3,0,34,0,25,0,8,0 4,0,13,0,39,0,48,0,43,0,36,0 29,0,47,0,46,0,12,0,41,0,1,0 20,0,9,0,49,0,23,0,44,0,16,0 21,0,7,0,37,0,22,0,34,0,35,0 8,0,40,0,51,0,14,0,32,0,4,0 10,0,24,0,26,0,11,0,52,0,48,0 31,0,30,0,42,0,19,0,17,0,28,0 38,0,45,0,39,0,5,0,13,0,50,0 18,0,2,0,3,0,6,0,27,0,15,0 25,0,43,0,32,0,33,0,53,0,21,0 44,0,8,0,22,0,28,0,11,0,36,0 24,0,39,0,23,0,34,0,17,0,29,0 7,0,14,0,27,0,41,0,26,0,49,0 42,0,33,0,16,0,4,0,48,0,50,0 9,0,12,0,25,0,47,0,13,0,52,0 45,0,3,0,53,0,31,0,51,0,35,0 5,0,19,0,38,0,6,0,20,0,18,0 15,0,1,0,40,0,43,0,30,0,46,0 37,0,10,0,16,0,2,0,25,0,24,0 11,0,7,0,3,0,42,0,9,0,50,0 51,0,48,0,29,0,28,0,21,0,49,0 1,0,19,0,44,0,52,0,34,0,33,0 26,0,35,0,14,0,13,0,8,0,38,0 10,0,22,0,46,0,45,0,4,0,27,0 36,0,47,0,23,0,6,0,17,0,5,0 43,0,18,0,41,0,31,0,32,0,37,0 20,0,15,0,2,0,40,0,12,0,39,0 53,0,48,0,25,0,30,0,38,0,1,0 34,0,9,0,28,0,6,0,22,0,14,0 4,0,47,0,18,0,23,0,3,0,35,0 17,0,32,0,52,0,33,0,49,0,43,0 26,0,30,0,50,0,46,0,24,0,36,0 44,0,13,0,31,0,5,0,7,0,40,0 29,0,19,0,41,0,10,0,2,0,51,0 42,0,27,0,37,0,20,0,8,0,16,0 11,0,21,0,45,0,39,0,53,0,15,0 12,0,18,0,14,0,3,0,48,0,33,0 31,0,5,0,36,0,52,0,9,0,2,0 17,0,38,0,43,0,19,0,30,0,22,0 29,0,20,0,44,0,15,0,4,0,26,0 7,0,42,0,46,0,23,0,25,0,21,0 1,0,45,0,49,0,6,0,37,0,24,0 28,0,35,0,16,0,32,0,41,0,39,0 8,0,10,0,47,0,50,0,40,0,53,0 51,0,34,0,11,0,13,0,12,0,27,0 ================================================ FILE: schedules/53_13.csv ================================================ 48,0,7,0,53,0,37,0,51,0,19,0 36,0,43,0,29,0,25,0,12,0,52,0 45,0,50,0,33,0,5,0,16,0,24,0 47,0,28,0,46,0,4,0,20,0,9,0 38,0,22,0,26,0,27,0,6,0,40,0 10,0,17,0,15,0,41,0,13,0,1,0 49,0,11,0,3,0,44,0,14,0,39,0 21,0,42,0,35,0,23,0,18,0,2,0 30,0,32,0,31,0,8,0,34,0,7,0 38,0,50,0,24,0,41,0,19,0,28,0 46,0,33,0,3,0,6,0,17,0,37,0 12,0,48,0,21,0,11,0,39,0,10,0 49,0,53,0,23,0,31,0,36,0,22,0 14,0,5,0,13,0,18,0,9,0,47,0 27,0,52,0,45,0,42,0,15,0,8,0 34,0,25,0,20,0,44,0,1,0,4,0 40,0,29,0,16,0,51,0,35,0,30,0 43,0,32,0,50,0,26,0,2,0,41,0 10,0,13,0,46,0,12,1,27,0,31,0 37,0,39,0,53,0,28,0,15,0,1,0 23,0,45,0,30,0,33,0,44,0,18,0 7,0,2,0,17,0,8,0,4,0,29,0 3,0,20,0,5,0,11,0,51,0,48,0 47,0,34,0,16,0,49,0,21,0,40,0 36,0,6,0,24,0,43,0,14,0,42,0 52,0,32,0,19,0,38,0,9,0,35,0 22,0,25,0,30,0,26,0,39,0,5,0 17,0,11,0,1,0,48,0,28,0,16,0 31,0,34,0,37,0,6,0,43,0,45,0 13,0,8,0,51,0,42,0,4,0,23,0 52,0,36,0,18,0,40,0,44,0,26,0 46,0,21,0,15,0,53,0,3,0,32,0 12,0,2,0,38,0,24,0,49,0,9,0 41,0,10,0,50,0,35,0,20,0,14,0 25,0,33,0,47,0,7,0,19,0,22,0 27,0,1,0,21,0,29,0,5,0,18,0 6,0,39,0,8,0,16,0,43,0,9,0 4,0,11,0,12,0,40,0,52,0,31,0 19,0,15,0,26,0,49,0,20,0,33,0 29,0,34,0,42,0,7,0,10,0,47,0 35,0,28,0,22,0,45,0,36,0,46,0 3,0,48,0,24,0,32,0,25,0,23,0 14,0,51,0,2,0,38,0,37,0,13,0 41,0,27,0,17,0,30,0,53,0,44,0 50,0,28,0,21,0,40,0,10,0,22,0 31,0,46,0,29,0,48,0,33,0,42,0 15,0,11,0,47,0,35,0,25,0,26,0 41,0,9,0,14,0,34,0,51,0,27,0 32,0,39,0,4,0,5,0,36,0,17,0 52,0,44,0,24,0,13,0,30,0,50,0 8,0,38,0,19,0,3,0,37,0,18,0 16,0,49,0,1,0,43,0,7,0,23,0 45,0,20,0,2,0,53,0,12,0,6,0 14,0,21,0,52,0,28,0,31,0,33,0 34,0,24,0,26,0,9,0,8,0,3,0 16,0,41,0,44,0,42,0,22,0,37,0 15,0,48,0,32,0,18,0,4,0,50,0 49,0,39,0,27,0,20,0,6,0,51,0 38,0,29,0,7,0,53,0,5,0,11,0 47,0,2,0,13,0,30,0,10,0,36,0 40,0,23,0,19,0,46,0,43,0,17,0 12,0,35,0,45,0,1,0,25,0,39,0 44,0,6,0,28,0,21,0,7,0,32,0 18,0,31,0,11,0,41,0,30,0,47,0 2,0,22,0,27,0,34,0,3,0,52,0 12,0,20,0,19,0,14,0,8,0,23,0 53,0,25,0,9,0,42,0,49,0,17,0 1,0,5,0,37,0,50,0,36,0,40,0 51,0,10,0,29,0,45,0,24,0,15,0 48,0,4,0,35,0,43,0,26,0,33,0 13,0,16,0,7,0,38,0,46,0,34,0 25,0,49,0,50,0,27,0,32,0,37,0 30,0,52,0,42,0,3,0,19,0,1,0 14,0,48,0,40,0,15,0,9,0,44,0 39,0,28,0,18,0,24,0,2,0,46,0 38,0,36,0,20,0,16,0,17,0,31,0 26,0,29,0,45,0,4,0,13,0,21,0 5,0,12,0,41,0,6,0,35,0,23,0 33,0,11,0,8,0,47,0,53,0,51,0 10,0,43,0,20,0,22,0,15,0,52,0 18,0,46,0,1,0,26,0,49,0,14,0 44,0,23,0,31,0,9,0,39,0,29,0 35,0,40,0,7,0,27,0,53,0,24,0 51,0,17,0,3,0,12,0,50,0,47,0 5,0,30,0,33,0,28,0,43,0,38,0 4,0,6,0,10,0,25,0,16,0,19,0 36,0,2,0,21,0,41,0,48,0,8,0 42,0,45,0,13,0,32,0,22,0,11,0 37,0,47,0,52,0,34,0,39,0,23,0 38,0,18,0,53,0,43,0,4,0,25,0 16,0,15,0,14,0,2,0,5,0,31,0 32,0,1,0,33,0,8,0,10,0,27,0 41,0,7,0,36,0,40,0,45,0,3,0 42,0,19,0,44,0,28,0,51,0,12,0 34,0,13,0,35,0,17,0,20,0,48,0 24,0,11,0,30,0,46,0,6,0,49,0 50,0,9,0,37,0,29,0,21,0,22,0 26,0,18,0,16,0,3,0,7,0,12,0 23,0,28,0,36,0,15,0,34,0,53,0 48,0,27,0,43,0,17,0,47,0,45,0 6,0,9,0,22,0,1,0,29,0,30,0 25,0,14,0,31,0,26,0,51,0,32,0 49,0,4,0,37,0,52,0,10,0,35,0 42,0,24,0,20,0,38,0,21,0,5,0 11,0,44,0,46,0,2,0,50,0,8,0 41,0,40,0,39,0,13,0,33,0,19,0 23,0,26,0,3,0,45,0,53,0,10,0 30,0,43,0,18,0,37,0,21,0,20,0 44,0,35,0,47,0,1,0,38,0,31,0 40,0,33,0,12,0,34,0,2,0,32,0 25,0,51,0,5,0,46,0,52,0,41,0 19,0,27,0,9,0,36,0,11,0,16,0 49,0,8,0,28,0,29,0,13,0,48,0 7,0,42,0,6,0,50,0,39,0,15,0 17,0,4,0,22,0,24,0,14,0,12,0 ================================================ FILE: schedules/53_14.csv ================================================ 49,0,28,0,45,0,29,0,52,0,46,0 33,0,35,0,18,0,1,0,30,0,7,0 24,0,40,0,42,0,31,0,25,0,34,0 4,0,12,0,22,0,2,0,48,0,39,0 26,0,10,0,5,0,53,0,43,0,23,0 3,0,9,0,6,0,47,0,36,0,41,0 21,0,50,0,15,0,17,0,20,0,19,0 37,0,8,0,38,0,27,0,32,0,51,0 13,0,11,0,16,0,44,0,14,0,1,0 25,0,36,0,49,0,30,0,26,0,4,0 53,0,50,0,17,0,22,0,18,0,3,0 9,0,19,0,15,0,33,0,48,0,45,0 46,0,43,0,40,0,21,0,44,0,12,0 2,0,47,0,32,0,5,0,28,0,29,0 34,0,27,0,20,0,42,0,41,0,16,0 11,0,23,0,35,0,6,0,52,0,13,0 7,0,39,0,37,0,8,0,31,0,14,0 38,0,51,0,1,0,24,0,10,0,3,0 27,1,45,0,36,0,5,1,47,0,22,0 21,0,28,0,17,0,33,0,49,0,50,0 4,0,44,0,9,0,42,0,30,0,37,0 6,0,19,0,24,0,8,0,35,0,15,0 32,0,25,0,43,0,51,0,31,0,52,0 29,0,11,0,39,0,46,0,16,0,10,0 13,0,18,0,2,0,34,0,38,0,48,0 20,0,14,0,7,0,26,0,12,0,40,0 53,0,41,0,37,0,23,0,32,0,15,0 43,0,39,0,21,0,24,0,35,0,17,0 10,0,28,0,42,0,16,0,30,0,22,0 52,0,11,0,47,0,18,0,20,0,51,0 53,0,14,0,25,0,34,0,29,0,9,0 44,0,45,0,6,0,26,0,27,0,3,0 2,0,5,0,49,0,46,0,7,0,50,0 31,0,36,0,23,0,38,0,19,0,12,0 1,0,8,0,40,0,41,0,4,0,48,0 33,0,32,0,20,0,13,0,43,0,42,0 47,0,6,0,30,0,34,0,39,0,53,0 31,0,27,0,16,0,9,0,5,0,46,0 19,0,48,0,37,0,11,0,26,0,25,0 10,0,52,0,38,0,33,0,17,0,4,0 1,0,45,0,22,0,21,0,8,0,49,0 18,0,29,0,15,0,40,0,35,0,50,0 51,0,36,0,12,0,28,0,41,0,13,0 44,0,23,0,3,0,14,0,24,0,2,0 7,0,19,0,4,0,45,0,47,0,20,0 9,0,35,0,42,0,5,0,11,0,40,0 21,0,34,0,22,0,37,0,26,0,36,0 30,0,8,0,28,0,31,0,43,0,3,0 6,0,10,0,48,0,33,0,51,0,46,0 2,0,12,0,53,0,27,0,52,0,1,0 7,0,13,0,23,0,16,0,25,0,17,0 32,0,49,0,41,0,14,0,18,0,39,0 50,0,29,0,44,0,38,0,15,0,24,0 11,0,33,0,21,0,53,0,8,0,27,0 16,0,47,0,23,0,1,0,3,0,48,0 32,0,19,0,52,0,9,0,40,0,17,0 14,0,49,0,6,0,18,0,42,0,31,0 20,0,5,0,12,0,10,0,37,0,45,0 2,0,50,0,26,0,30,0,13,0,51,0 24,0,46,0,25,0,41,0,22,0,15,0 7,0,43,0,29,0,36,0,39,0,44,0 34,0,35,0,4,0,38,0,28,0,23,0 31,0,6,0,2,0,45,0,17,0,13,0 25,0,15,0,51,0,42,0,53,0,1,0 30,0,40,0,27,0,43,0,24,0,47,0 33,0,3,0,8,0,49,0,20,0,16,0 39,0,5,0,50,0,44,0,52,0,34,0 19,0,14,0,26,0,46,0,4,0,38,0 21,0,18,0,41,0,28,0,11,0,37,0 36,0,48,0,7,0,29,0,10,0,32,0 22,0,9,0,49,0,12,0,35,0,6,0 1,0,13,0,15,0,8,0,52,0,5,0 14,0,46,0,42,0,47,0,25,0,28,0 34,0,30,0,23,0,20,0,21,0,29,0 26,0,45,0,35,0,11,0,48,0,32,0 4,0,3,0,37,0,33,0,7,0,40,0 43,0,18,0,9,0,2,0,22,0,38,0 41,0,39,0,31,0,10,0,27,0,50,0 44,0,24,0,16,0,19,0,36,0,53,0 17,0,12,0,46,0,51,0,8,0,34,0 52,0,48,0,42,0,21,0,38,0,7,0 50,0,30,0,45,0,37,0,14,0,43,0 53,0,28,0,20,0,39,0,13,0,19,0 29,0,26,0,17,0,41,0,9,0,1,0 10,0,23,0,25,0,47,0,49,0,27,0 44,0,22,0,51,0,6,0,4,0,16,0 5,0,24,0,31,0,11,0,18,0,12,0 2,0,15,0,33,0,40,0,32,0,36,0 35,0,37,0,46,0,3,0,53,0,13,0 20,0,8,0,39,0,25,0,38,0,9,0 47,0,1,0,4,0,11,0,50,0,43,0 33,0,6,0,42,0,29,0,23,0,2,0 12,0,24,0,34,0,32,0,16,0,45,0 27,0,28,0,18,0,7,0,15,0,26,0 22,0,10,0,35,0,31,0,40,0,44,0 51,0,41,0,19,0,49,0,30,0,52,0 3,0,14,0,17,0,48,0,5,0,21,0 36,0,46,0,8,0,50,0,42,0,23,0 29,0,25,0,12,0,39,0,33,0,26,0 18,0,7,0,10,0,22,0,13,0,24,0 27,0,17,0,48,0,20,0,44,0,30,0 15,0,49,0,31,0,43,0,2,0,4,0 3,0,32,0,34,0,1,0,11,0,19,0 5,0,51,0,35,0,14,0,36,0,9,0 52,0,16,0,28,0,40,0,6,0,37,0 41,0,45,0,38,0,53,0,21,0,47,0 11,0,46,0,22,0,32,0,30,0,17,0 27,0,4,0,13,0,29,0,49,0,35,0 1,0,12,0,37,0,42,0,19,0,2,0 40,0,21,0,45,0,39,0,23,0,51,0 48,0,9,0,53,0,36,0,28,0,50,0 47,0,31,0,7,0,44,0,41,0,33,0 38,0,5,0,3,0,6,0,20,0,25,0 14,0,16,0,34,0,43,0,10,0,15,0 18,0,26,0,52,0,24,0,8,0,45,0 13,0,44,0,32,0,21,0,23,0,9,0 22,0,19,0,29,0,5,0,37,0,27,0 41,0,25,0,50,0,2,0,35,0,16,0 8,0,26,0,42,0,10,0,47,0,17,0 1,0,36,0,20,0,28,0,46,0,31,0 40,0,53,0,38,0,11,0,7,0,49,0 48,0,43,0,51,0,34,0,6,0,18,0 30,0,39,0,3,0,12,0,52,0,15,0 33,0,24,0,27,0,14,0,4,0,5,0 ================================================ FILE: schedules/53_2.csv ================================================ 26,0,50,0,30,0,4,0,12,0,45,0 46,0,14,0,44,0,11,0,52,0,20,0 33,0,48,0,24,0,38,0,22,0,37,0 18,0,5,0,53,0,10,0,40,0,29,0 35,0,42,0,49,0,13,0,7,0,25,0 2,0,9,0,36,0,3,0,17,0,1,0 28,0,43,0,21,0,41,0,39,0,16,0 23,0,6,0,34,0,51,0,47,0,19,0 32,0,27,0,40,0,15,0,8,0,31,0 33,0,3,0,46,0,53,0,26,0,42,0 13,0,18,0,45,0,48,0,36,0,43,0 22,0,50,0,16,0,23,0,5,0,44,0 20,0,32,0,25,0,34,0,30,0,39,0 8,0,24,0,47,0,14,0,21,0,35,0 7,0,12,0,51,0,17,0,11,0,28,0 4,0,10,0,52,0,19,0,2,0,27,0 38,0,31,0,29,0,9,0,49,0,6,0 1,0,37,0,47,1,15,0,41,0,14,1 ================================================ FILE: schedules/53_3.csv ================================================ 36,0,8,0,20,0,30,0,45,0,31,0 39,0,34,0,6,0,12,0,48,0,11,0 40,0,21,0,14,0,35,0,5,0,25,0 38,0,18,0,43,0,7,0,29,0,44,0 24,0,46,0,27,0,17,0,50,0,13,0 3,0,19,0,47,0,37,0,1,0,22,0 28,0,41,0,53,0,23,0,10,0,9,0 2,0,32,0,4,0,16,0,15,0,42,0 33,0,49,0,52,0,26,0,51,0,31,0 20,1,48,0,44,0,37,1,46,0,5,0 35,1,29,0,47,0,28,0,50,0,8,0 7,0,11,0,3,0,17,0,23,0,4,0 34,0,10,0,26,0,21,0,18,0,30,0 16,0,45,0,33,0,19,0,39,0,27,0 51,0,12,0,41,0,43,0,13,0,2,0 9,0,40,0,22,0,52,0,42,0,38,0 36,0,24,0,15,0,53,0,6,0,25,0 49,0,1,0,48,0,14,0,32,0,8,0 50,0,2,0,21,0,37,0,7,0,33,0 27,0,47,0,31,0,34,0,23,0,40,0 5,0,28,0,26,0,36,0,4,0,43,0 14,0,20,0,39,0,24,0,3,0,29,0 10,0,35,0,16,0,6,0,22,0,49,0 52,0,25,0,32,0,11,0,41,0,18,0 13,0,30,0,53,0,42,0,19,0,44,0 15,0,38,0,1,0,12,0,45,0,46,0 9,0,51,0,37,0,17,0,20,0,35,0 ================================================ FILE: schedules/53_4.csv ================================================ 13,0,49,0,38,0,40,0,10,0,5,0 17,0,4,0,6,0,53,0,28,0,2,0 36,0,15,0,46,0,33,0,3,0,1,0 41,0,20,0,44,0,48,0,47,0,19,0 9,0,32,0,43,0,24,0,14,0,27,0 35,0,29,0,51,0,45,0,25,0,7,0 16,0,18,0,37,0,39,0,12,0,23,0 42,0,50,0,30,0,21,0,52,0,34,0 31,0,22,0,8,0,26,0,11,0,24,0 53,0,32,0,35,0,41,0,15,0,38,0 25,0,3,0,10,0,18,0,20,0,6,0 5,0,2,0,33,0,9,0,7,0,16,0 40,0,45,0,14,0,19,0,22,0,52,0 11,0,37,0,4,0,43,0,1,0,34,0 26,0,21,0,28,0,49,0,48,0,51,0 36,0,50,0,44,0,39,0,8,0,27,0 29,0,30,0,13,0,46,0,23,0,17,0 47,0,31,0,5,0,12,0,42,0,35,0 53,1,10,0,26,0,52,1,37,0,7,0 27,1,34,0,6,0,48,1,33,0,22,0 3,0,50,0,23,0,51,0,38,0,11,0 47,0,13,0,25,0,32,0,4,0,8,0 24,0,19,0,16,0,36,0,49,0,17,0 14,0,41,0,31,0,30,0,18,0,2,0 1,0,42,0,9,0,29,0,20,0,39,0 15,0,12,0,21,0,43,0,40,0,44,0 45,0,46,0,32,0,28,0,50,0,10,0 38,0,27,0,25,0,31,0,37,0,17,0 9,0,4,0,51,0,52,0,41,0,36,0 29,0,8,0,48,0,18,0,15,0,5,0 53,0,33,0,39,0,45,0,21,0,13,0 7,0,46,0,20,0,22,0,43,0,49,0 1,0,19,0,6,0,26,0,30,0,35,0 24,0,2,0,34,0,47,0,23,0,40,0 11,0,14,0,28,0,16,0,44,0,42,0 3,0,52,0,27,0,12,0,53,0,48,0 ================================================ FILE: schedules/53_5.csv ================================================ 32,0,49,0,7,0,34,0,52,0,9,0 20,0,43,0,10,0,4,0,47,0,24,0 30,0,45,0,23,0,5,0,11,0,40,0 14,0,53,0,35,0,39,0,1,0,12,0 21,0,13,0,8,0,22,0,17,0,37,0 25,0,16,0,18,0,2,0,26,0,27,0 29,0,41,0,6,0,50,0,46,0,51,0 36,0,38,0,42,0,48,0,33,0,28,0 15,0,3,0,17,0,31,0,44,0,19,0 37,0,52,0,40,0,4,0,12,0,27,0 41,0,45,0,20,0,49,0,2,0,13,0 28,0,11,0,32,0,53,0,43,0,46,0 25,0,44,0,23,0,1,0,9,0,33,0 34,0,15,0,10,0,29,0,42,0,14,0 30,0,51,0,26,0,19,0,35,0,38,0 50,0,48,0,8,0,7,0,5,0,47,0 16,0,6,0,21,0,24,0,31,0,36,0 22,0,39,0,9,0,18,0,3,0,46,0 2,1,20,0,29,0,17,1,12,0,30,0 48,1,13,0,47,0,53,1,15,0,23,0 6,1,1,0,34,0,8,0,45,0,38,0 37,0,31,0,32,0,42,0,25,0,35,0 19,0,28,0,21,0,18,0,40,0,10,0 26,0,36,0,22,0,11,0,49,0,4,0 5,0,52,0,14,0,3,0,24,0,41,0 39,0,51,0,44,0,27,0,43,0,7,0 33,0,50,0,19,0,16,0,20,0,34,0 49,0,31,0,8,0,53,0,10,0,30,0 47,0,12,0,41,0,25,0,38,0,21,0 22,0,48,0,44,0,52,0,29,0,35,0 43,0,40,0,13,0,6,0,26,0,14,0 27,0,11,0,1,0,50,0,42,0,3,0 9,0,5,0,28,0,15,0,16,0,51,0 7,0,23,0,46,0,37,0,36,0,2,0 45,0,39,0,33,0,32,0,17,0,24,0 4,0,53,0,38,0,18,0,50,0,44,0 42,0,19,0,12,0,6,0,5,0,22,0 3,0,30,0,2,0,34,0,43,0,36,0 47,0,17,0,52,0,28,0,1,0,26,0 49,0,24,0,25,0,51,0,40,0,48,0 27,0,23,0,8,0,14,0,32,0,20,0 16,0,11,0,10,0,41,0,37,0,39,0 29,0,31,0,18,0,7,0,13,0,33,0 46,0,35,0,15,0,45,0,21,0,4,0 9,0,2,0,53,0,17,0,48,0,6,0 ================================================ FILE: schedules/53_6.csv ================================================ 6,0,37,0,10,0,51,0,52,0,48,0 2,0,44,0,43,0,24,0,53,0,38,0 42,0,1,0,13,0,32,0,19,0,9,0 8,0,21,0,17,0,45,0,39,0,26,0 18,0,34,0,28,0,12,0,20,0,25,0 29,0,49,0,36,0,40,0,27,0,15,0 14,0,22,0,50,0,16,0,33,0,35,0 7,0,4,0,41,0,30,0,31,0,47,0 23,0,11,0,46,0,5,0,3,0,51,0 34,0,49,0,38,0,52,0,13,0,39,0 15,0,2,0,50,0,37,0,18,0,32,0 40,0,7,0,16,0,1,0,4,0,45,0 19,0,5,0,24,0,25,0,8,0,10,0 31,0,12,0,22,0,44,0,21,0,29,0 26,0,14,0,53,0,11,0,48,0,20,0 46,0,3,0,35,0,30,0,42,0,17,0 6,0,28,0,41,0,43,0,23,0,27,0 9,0,47,0,34,0,36,0,33,0,44,0 51,0,8,0,13,0,40,0,18,0,14,0 7,0,49,0,37,0,5,0,53,0,12,0 26,0,29,0,38,0,19,0,41,0,16,0 50,0,6,0,11,0,24,0,9,0,17,0 1,0,25,0,3,0,39,0,2,0,31,0 4,0,28,0,21,0,33,0,46,0,52,0 43,0,42,0,48,0,15,0,45,0,47,0 32,0,27,0,22,0,30,0,10,0,20,0 35,0,23,0,53,0,36,0,8,0,1,0 33,0,25,0,7,0,13,0,11,0,29,0 4,0,19,0,26,0,3,0,15,0,6,0 12,0,47,0,46,0,38,0,10,0,50,0 30,0,16,0,9,0,23,0,18,0,49,0 48,0,44,0,39,0,40,0,35,0,28,0 17,0,5,0,32,0,22,0,43,0,34,0 24,0,31,0,45,0,14,0,27,0,52,0 42,0,20,0,21,0,41,0,36,0,37,0 2,0,47,0,19,0,51,0,35,0,49,0 48,0,5,0,30,0,50,0,29,0,1,0 10,0,33,0,31,0,26,0,18,0,43,0 13,0,3,0,41,0,12,0,36,0,24,0 40,0,25,0,53,0,21,0,6,0,32,0 39,0,15,0,51,0,7,0,20,0,9,0 46,0,16,0,27,0,8,0,2,0,34,0 44,0,37,0,14,0,4,0,17,0,23,0 22,0,45,0,42,0,11,0,38,0,28,0 52,0,18,0,53,0,3,0,47,0,29,0 32,0,49,0,8,0,41,0,33,0,48,0 30,0,39,0,12,0,14,0,43,0,19,0 10,0,1,0,11,0,34,0,21,0,15,0 4,0,35,0,9,0,38,0,27,0,25,0 51,0,36,0,31,0,17,0,28,0,16,0 44,0,52,0,23,0,42,0,7,0,50,0 24,0,40,0,26,0,22,0,37,0,46,0 6,0,20,0,5,0,13,0,45,0,2,0 ================================================ FILE: schedules/53_7.csv ================================================ 47,0,18,0,9,0,12,0,14,0,28,0 23,0,24,0,53,0,36,0,19,0,7,0 41,0,27,0,34,0,49,0,51,0,25,0 5,0,42,0,20,0,11,0,15,0,29,0 1,0,43,0,13,0,37,0,44,0,32,0 39,0,8,0,35,0,26,0,10,0,30,0 6,0,45,0,4,0,33,0,16,0,40,0 38,0,17,0,50,0,31,0,52,0,2,0 46,0,22,0,3,0,21,0,48,0,12,0 51,0,5,0,26,0,28,0,43,0,24,0 7,0,6,0,35,0,15,0,27,0,44,0 16,0,9,0,36,0,19,0,25,0,50,0 37,0,2,0,30,0,29,0,41,0,21,0 42,0,32,0,45,0,22,0,17,0,8,0 18,0,33,0,52,0,34,0,3,0,23,0 48,0,10,0,13,0,4,0,38,0,47,0 40,0,46,0,1,0,20,0,49,0,53,0 11,0,31,0,32,0,39,0,14,0,7,0 17,1,28,0,21,0,6,0,43,0,33,0 8,0,25,0,18,0,2,0,5,0,48,0 1,0,4,0,23,0,30,0,34,0,9,0 29,0,22,0,24,0,11,0,47,0,49,0 39,0,52,0,37,0,42,0,36,0,27,0 19,0,51,0,38,0,20,0,45,0,3,0 15,0,41,0,26,0,13,0,50,0,53,0 14,0,16,0,31,0,10,0,46,0,44,0 40,0,23,0,42,0,12,0,35,0,25,0 6,0,36,0,51,0,18,0,32,0,30,0 39,0,41,0,3,0,47,0,17,0,5,0 11,0,9,0,45,0,21,0,27,0,13,0 38,0,46,0,8,0,7,0,43,0,40,0 53,0,14,0,26,0,22,0,34,0,2,0 35,0,16,0,48,0,1,0,29,0,31,0 24,0,10,0,50,0,33,0,37,0,20,0 28,0,15,0,49,0,52,0,4,0,19,0 12,0,38,0,11,0,44,0,41,0,6,0 25,0,32,0,23,0,31,0,3,0,26,0 2,0,1,0,9,0,24,0,33,0,42,0 27,0,19,0,22,0,40,0,10,0,5,0 34,0,44,0,51,0,46,0,50,0,29,0 16,0,13,0,20,0,12,0,39,0,18,0 45,0,43,0,53,0,35,0,47,0,52,0 30,0,28,0,7,0,37,0,48,0,17,0 49,0,21,0,4,0,8,0,36,0,14,0 15,0,25,0,22,0,1,0,38,0,39,0 19,0,41,0,33,0,32,0,35,0,46,0 29,0,40,0,6,0,9,0,31,0,13,0 43,0,48,0,14,0,50,0,23,0,27,0 37,0,34,0,47,0,16,0,8,0,15,0 12,0,17,0,53,0,51,0,4,0,24,0 7,0,21,0,20,0,52,0,42,0,26,0 2,0,36,0,3,0,11,0,10,0,28,0 44,0,45,0,30,0,49,0,18,0,5,0 47,0,8,0,50,0,17,0,6,0,1,0 48,0,32,0,39,0,24,0,40,0,21,0 26,0,37,0,25,0,11,0,46,0,4,0 52,0,5,0,13,0,14,0,51,0,35,0 12,0,31,0,36,0,34,0,45,0,15,0 38,0,33,0,27,0,30,0,53,0,42,0 16,0,49,0,2,0,3,0,9,0,7,0 28,0,20,0,44,0,41,0,23,0,22,0 10,0,19,0,29,0,43,0,18,0,17,0 ================================================ FILE: schedules/53_8.csv ================================================ 35,0,24,0,29,0,1,0,6,0,8,0 2,0,11,0,47,0,5,0,28,0,19,0 25,0,37,0,10,0,27,0,53,0,4,0 40,0,31,0,38,0,16,0,39,0,43,0 15,0,42,0,34,0,7,0,50,0,44,0 18,0,36,0,48,0,23,0,30,0,26,0 49,0,21,0,12,0,13,0,20,0,17,0 22,0,32,0,52,0,9,0,51,0,3,0 41,0,45,0,15,0,46,0,14,0,33,0 5,0,35,0,4,0,36,0,34,0,23,0 31,0,28,0,1,0,26,0,25,0,13,0 27,0,12,0,39,0,11,0,9,0,29,0 53,0,20,0,24,0,19,0,45,0,7,0 21,0,43,0,10,0,52,0,30,0,8,0 42,0,22,0,47,0,18,0,38,0,41,0 46,0,37,0,32,0,16,0,6,0,44,0 2,0,40,0,3,0,14,0,50,0,48,0 33,0,51,0,28,0,17,0,49,0,30,0 19,1,29,0,13,0,8,1,35,0,22,0 4,0,16,0,42,0,36,0,24,0,9,0 40,0,41,0,23,0,1,0,12,0,10,0 50,0,47,0,51,0,46,0,7,0,27,0 26,0,39,0,17,0,44,0,3,0,14,0 6,0,34,0,21,0,31,0,45,0,11,0 18,0,53,0,32,0,49,0,2,0,43,0 48,0,37,0,5,0,33,0,25,0,20,0 38,0,52,0,24,0,15,0,23,0,28,0 27,0,22,0,10,0,45,0,36,0,39,0 46,0,8,0,31,0,40,0,4,0,49,0 5,0,7,0,14,0,16,0,18,0,29,0 51,0,37,0,12,0,1,0,42,0,2,0 48,0,38,0,6,0,41,0,53,0,34,0 17,0,3,0,21,0,35,0,25,0,47,0 52,0,11,0,26,0,32,0,33,0,50,0 20,0,44,0,19,0,9,0,30,0,15,0 43,0,6,0,46,0,13,0,23,0,22,0 14,0,21,0,24,0,27,0,38,0,51,0 42,0,39,0,7,0,25,0,52,0,48,0 5,0,8,0,53,0,44,0,12,0,15,0 49,0,13,0,16,0,10,0,3,0,34,0 45,0,9,0,47,0,26,0,43,0,1,0 11,0,35,0,33,0,40,0,20,0,18,0 28,0,36,0,17,0,31,0,37,0,50,0 30,0,4,0,41,0,2,0,32,0,29,0 19,0,26,0,48,0,6,0,51,0,5,0 46,0,35,0,42,0,10,0,14,0,11,0 23,0,9,0,50,0,53,0,31,0,21,0 44,0,18,0,13,0,41,0,27,0,52,0 30,0,34,0,37,0,40,0,24,0,22,0 16,0,1,0,45,0,15,0,17,0,2,0 43,0,3,0,33,0,12,0,4,0,7,0 36,0,25,0,29,0,19,0,38,0,49,0 39,0,20,0,32,0,47,0,28,0,8,0 31,0,27,0,16,0,35,0,53,0,52,0 5,0,50,0,17,0,24,0,43,0,41,0 3,0,23,0,19,0,45,0,37,0,42,0 40,0,7,0,36,0,32,0,28,0,21,0 26,0,20,0,34,0,10,0,46,0,29,0 30,0,25,0,6,0,12,0,14,0,47,0 51,0,18,0,15,0,4,0,13,0,39,0 1,0,11,0,44,0,49,0,22,0,48,0 8,0,2,0,9,0,38,0,33,0,23,0 29,0,43,0,53,0,42,0,3,0,28,0 52,0,6,0,14,0,4,0,36,0,20,0 1,0,19,0,46,0,18,0,21,0,39,0 11,0,41,0,8,0,25,0,16,0,51,0 9,0,49,0,7,0,37,0,35,0,2,0 33,0,24,0,10,0,44,0,31,0,47,0 26,0,15,0,22,0,40,0,48,0,12,0 50,0,13,0,38,0,30,0,45,0,5,0 27,0,34,0,19,0,17,0,32,0,8,0 ================================================ FILE: schedules/53_9.csv ================================================ 17,0,42,0,31,0,39,0,8,0,33,0 14,0,26,0,2,0,25,0,15,0,9,0 41,0,38,0,10,0,32,0,24,0,12,0 34,0,1,0,16,0,44,0,51,0,43,0 18,0,4,0,40,0,30,0,46,0,21,0 37,0,36,0,23,0,27,0,29,0,19,0 48,0,7,0,50,0,49,0,5,0,20,0 6,0,11,0,3,0,28,0,22,0,13,0 53,0,45,0,47,0,35,0,52,0,40,0 1,0,24,0,23,0,30,0,12,0,8,0 39,0,5,0,18,0,9,0,43,0,32,0 37,0,28,0,7,0,26,0,17,0,44,0 41,0,19,0,6,0,15,0,33,0,4,0 53,0,49,0,22,0,27,0,16,0,46,0 31,0,13,0,52,0,48,0,36,0,10,0 21,0,42,0,35,0,3,0,38,0,50,0 25,0,2,0,20,0,51,0,34,0,29,0 45,0,14,0,30,0,11,0,47,0,44,0 37,1,18,0,8,0,15,1,7,0,53,0 9,0,17,0,35,0,12,1,16,0,13,0 28,0,38,0,51,0,52,0,23,0,41,0 43,0,24,0,22,0,26,0,50,0,36,0 29,0,32,0,21,0,6,0,31,0,45,0 11,0,27,0,33,0,25,0,4,0,48,0 42,0,47,0,19,0,2,0,34,0,49,0 46,0,1,0,40,0,5,0,3,0,10,0 39,0,14,0,6,0,20,0,12,0,50,0 28,0,36,0,9,0,38,0,15,0,45,0 35,0,23,0,53,0,44,0,31,0,2,0 52,0,5,0,16,0,21,0,25,0,24,0 40,0,8,0,27,0,32,0,13,0,34,0 37,0,11,0,10,0,43,0,18,0,42,0 22,0,33,0,17,0,30,0,47,0,1,0 3,0,46,0,19,0,7,0,51,0,14,0 29,0,41,0,39,0,26,0,49,0,48,0 20,0,16,0,53,0,4,0,28,0,5,0 32,0,30,0,27,0,2,0,52,0,1,0 11,0,25,0,36,0,46,0,6,0,8,0 37,0,50,0,9,0,31,0,41,0,40,0 45,0,4,0,7,0,22,0,42,0,34,0 12,0,44,0,3,0,18,0,33,0,29,0 39,0,51,0,49,0,15,0,35,0,24,0 21,0,43,0,23,0,48,0,14,0,17,0 19,0,38,0,26,0,47,0,13,0,20,0 33,0,7,0,16,0,10,0,45,0,40,0 51,0,30,0,5,0,39,0,36,0,12,0 46,0,42,0,14,0,41,0,28,0,1,0 44,0,49,0,8,0,43,0,38,0,6,0 31,0,20,0,15,0,3,0,27,0,17,0 2,0,13,0,24,0,22,0,37,0,21,0 48,0,11,0,32,0,19,0,53,0,9,0 4,0,47,0,10,0,50,0,23,0,25,0 52,0,18,0,34,0,26,0,29,0,35,0 13,0,41,0,30,0,43,0,7,0,20,0 45,0,5,0,12,0,2,0,19,0,17,0 44,0,37,0,4,0,36,0,8,0,3,0 49,0,47,0,25,0,31,0,18,0,28,0 24,0,51,0,6,0,42,0,48,0,40,0 21,0,38,0,53,0,33,0,26,0,1,0 16,0,50,0,32,0,11,0,29,0,15,0 34,0,23,0,46,0,52,0,39,0,9,0 35,0,10,0,8,0,22,0,14,0,27,0 25,0,3,0,41,0,43,0,30,0,53,0 50,0,15,0,18,0,1,0,45,0,13,0 17,0,12,0,40,0,52,0,49,0,11,0 35,0,46,0,20,0,32,0,33,0,37,0 34,0,48,0,31,0,16,0,14,0,38,0 26,0,42,0,6,0,27,0,23,0,5,0 2,0,4,0,29,0,24,0,28,0,10,0 47,0,7,0,9,0,21,0,36,0,51,0 44,0,22,0,25,0,19,0,39,0,40,0 45,0,23,0,32,0,3,0,49,0,37,0 43,0,31,0,26,0,12,0,46,0,4,0 36,0,1,0,5,0,35,0,41,0,11,0 2,0,39,0,27,0,38,0,7,0,18,0 10,0,34,0,30,0,21,0,6,0,15,0 22,0,20,0,52,0,9,0,44,0,42,0 19,0,51,0,33,0,8,0,50,0,28,0 14,0,29,0,24,0,53,0,17,0,13,0 48,0,16,0,15,0,47,0,37,0,12,0 ================================================ FILE: schedules/54_1.csv ================================================ 52,0,16,0,13,0,18,0,49,0,35,0 1,0,40,0,36,0,23,0,37,0,45,0 21,0,31,0,47,0,20,0,8,0,30,0 38,0,53,0,32,0,12,0,22,0,24,0 50,0,34,0,25,0,41,0,4,0,48,0 26,0,33,0,6,0,29,0,3,0,43,0 17,0,28,0,46,0,39,0,14,0,10,0 44,0,7,0,54,0,42,0,5,0,51,0 11,0,19,0,27,0,9,0,2,0,15,0 ================================================ FILE: schedules/54_10.csv ================================================ 30,0,40,0,6,0,43,0,20,0,52,0 10,0,45,0,37,0,9,0,21,0,51,0 49,0,35,0,38,0,46,0,22,0,33,0 23,0,27,0,8,0,24,0,48,0,13,0 12,0,19,0,34,0,17,0,18,0,4,0 41,0,53,0,39,0,14,0,44,0,42,0 47,0,26,0,25,0,5,0,54,0,11,0 7,0,36,0,16,0,3,0,32,0,31,0 2,0,50,0,1,0,15,0,28,0,29,0 17,0,27,0,34,0,46,0,9,0,10,0 45,0,23,0,24,0,38,0,12,0,14,0 13,0,11,0,42,0,49,0,40,0,54,0 8,0,53,0,44,0,5,0,33,0,6,0 32,0,18,0,35,0,47,0,21,0,3,0 52,0,2,0,4,0,50,0,25,0,7,0 31,0,22,0,37,0,1,0,29,0,20,0 15,0,26,0,51,0,36,0,43,0,39,0 41,0,30,0,48,0,19,0,16,0,28,0 34,0,38,0,47,0,27,0,44,0,35,0 24,0,2,0,5,0,13,0,4,0,21,0 31,0,46,0,7,0,6,0,50,0,9,0 40,0,18,0,52,0,45,0,22,0,36,0 48,0,32,0,8,0,15,0,25,0,49,0 43,0,42,0,53,0,30,0,29,0,12,0 33,0,51,0,20,0,41,0,16,0,17,0 19,0,10,0,11,0,1,0,23,0,39,0 14,0,37,0,28,0,3,0,54,0,26,0 40,0,35,0,34,0,15,0,50,0,5,0 46,0,53,0,30,0,7,0,48,0,45,0 49,0,51,0,42,0,31,0,27,0,4,0 36,0,25,0,6,0,38,0,13,0,29,0 21,0,52,0,10,0,54,0,20,0,8,0 11,0,37,0,3,0,24,0,33,0,19,0 39,0,14,0,2,0,22,0,16,0,18,0 43,0,47,0,44,0,28,0,1,0,17,0 23,0,12,0,9,0,41,0,32,0,26,0 54,0,10,0,53,0,35,0,52,0,31,0 27,0,29,0,45,0,4,0,11,0,33,0 42,0,19,0,8,0,50,0,34,0,22,0 30,0,47,0,15,0,49,0,14,0,13,0 7,0,38,0,39,0,41,0,1,0,21,0 40,0,48,0,17,0,32,0,6,0,24,0 36,0,12,0,44,0,20,0,37,0,2,0 9,0,43,0,25,0,3,0,23,0,16,0 5,0,26,0,28,0,46,0,51,0,18,0 22,0,15,0,54,0,7,0,41,0,27,0 35,0,21,0,11,0,30,0,17,0,31,0 6,0,10,0,29,0,32,0,19,0,47,0 43,0,50,0,13,0,33,0,39,0,45,0 8,0,16,0,4,0,36,0,37,0,38,0 2,0,3,0,44,0,40,0,46,0,26,0 49,0,12,0,28,0,52,0,14,0,9,0 1,0,34,0,24,0,51,0,53,0,25,0 20,0,18,0,5,0,23,0,42,0,48,0 47,0,17,0,36,0,54,0,39,0,30,0 45,0,3,0,4,0,6,0,41,0,8,0 49,0,19,0,31,0,2,0,40,0,38,0 51,0,28,0,7,0,35,0,12,0,13,0 20,0,14,0,32,0,27,0,11,0,43,0 52,0,1,0,48,0,9,0,33,0,34,0 26,0,18,0,21,0,50,0,29,0,53,0 16,0,44,0,5,0,24,0,10,0,22,0 46,0,15,0,42,0,23,0,25,0,37,0 39,0,3,0,28,0,20,0,45,0,31,0 6,0,1,0,27,0,35,0,36,0,2,0 47,0,29,0,51,0,9,0,8,0,40,0 13,0,22,0,17,0,48,0,53,0,26,0 33,0,41,0,14,0,10,0,34,0,25,0 54,0,4,0,50,0,30,0,44,0,23,0 24,0,18,0,37,0,7,0,49,0,43,0 38,0,11,0,32,0,5,0,52,0,42,0 16,0,46,0,12,0,19,0,21,0,15,0 53,0,27,0,33,0,36,0,40,0,28,0 48,0,4,0,20,0,14,0,47,0,35,0 43,0,23,0,41,0,2,0,31,0,8,0 50,0,38,0,30,0,37,0,51,0,32,0 44,0,22,0,9,0,11,0,15,0,18,0 26,0,6,0,49,0,34,0,16,0,21,0 13,0,1,0,10,0,3,0,12,0,42,0 52,0,46,0,54,0,39,0,29,0,24,0 7,0,17,0,19,0,45,0,5,0,25,0 15,0,9,0,20,0,38,0,4,0,53,0 23,0,21,0,6,0,22,0,28,0,27,0 50,0,36,0,11,0,10,0,43,0,48,0 18,0,30,0,14,0,8,0,1,0,46,0 35,0,25,0,39,0,37,0,12,0,40,0 5,0,17,0,29,0,3,0,41,0,49,0 33,0,42,0,26,0,7,0,24,0,47,0 54,0,45,0,34,0,2,0,32,0,16,0 51,0,31,0,13,0,19,0,52,0,44,0 ================================================ FILE: schedules/54_11.csv ================================================ 15,0,44,0,11,0,22,0,27,0,39,0 7,0,12,0,26,0,18,0,6,0,47,0 32,0,1,0,28,0,35,0,46,0,30,0 5,0,24,0,21,0,31,0,42,0,20,0 54,0,50,0,23,0,14,0,51,0,43,0 2,0,17,0,53,0,13,0,37,0,38,0 19,0,4,0,8,0,25,0,45,0,9,0 33,0,41,0,48,0,52,0,29,0,16,0 34,0,40,0,49,0,10,0,3,0,36,0 26,0,6,0,43,0,14,0,24,0,11,0 35,0,27,0,13,0,21,0,37,0,39,0 51,0,12,0,25,0,47,0,2,0,42,0 28,0,38,0,52,0,50,0,31,0,7,0 18,0,32,0,41,0,34,0,53,0,8,0 44,0,16,0,30,0,15,0,29,0,36,0 54,0,40,0,10,0,23,0,9,0,33,0 4,0,22,0,5,0,46,0,17,0,3,0 19,0,45,0,20,0,1,0,48,0,49,0 42,0,32,0,37,0,18,0,14,0,28,0 25,0,35,0,53,0,43,0,44,0,12,0 50,0,9,0,36,0,27,0,7,0,30,0 29,0,13,0,31,0,4,0,11,0,26,0 39,0,10,0,48,0,38,0,41,0,49,0 47,0,3,0,8,0,1,0,15,0,33,0 54,0,19,0,2,0,6,0,5,0,46,0 52,0,40,0,21,0,45,0,51,0,34,0 17,0,23,0,22,0,16,0,24,0,20,0 10,0,44,0,13,0,50,0,42,0,48,0 49,0,30,0,3,0,27,0,25,0,43,0 53,0,18,0,9,0,46,0,39,0,31,0 32,0,36,0,51,0,19,0,12,0,33,0 41,0,40,0,26,0,5,0,15,0,54,0 45,0,29,0,2,0,23,0,24,0,7,0 28,0,22,0,47,0,6,0,21,0,8,0 16,0,37,0,4,0,38,0,34,0,1,0 52,0,35,0,14,0,11,0,20,0,17,0 9,0,10,0,27,0,5,0,18,0,51,0 46,0,33,0,44,0,13,0,7,0,42,0 43,0,2,0,48,0,32,0,22,0,21,0 24,0,54,0,1,0,38,0,25,0,40,0 45,0,6,0,53,0,15,0,3,0,35,0 37,0,30,0,14,0,41,0,12,0,31,0 36,0,8,0,16,0,20,0,52,0,26,0 11,0,23,0,49,0,28,0,34,0,4,0 29,0,50,0,47,0,19,0,17,0,39,0 5,0,10,0,1,0,32,0,7,0,43,0 38,0,46,0,27,0,6,0,14,0,40,0 15,0,24,0,13,0,51,0,8,0,35,0 37,0,31,0,26,0,22,0,44,0,49,0 23,0,3,0,18,0,16,0,19,0,21,0 47,0,4,0,54,0,48,0,30,0,36,0 41,0,20,0,9,0,11,0,50,0,2,0 42,0,29,0,28,0,53,0,52,0,12,0 25,0,17,0,34,0,45,0,33,0,39,0 16,0,5,0,38,0,49,0,32,0,35,0 26,0,8,0,46,0,23,0,30,0,51,0 31,0,22,0,15,0,36,0,1,0,2,0 11,0,52,0,27,0,21,0,53,0,54,0 6,0,34,0,48,0,9,0,37,0,17,0 25,0,50,0,20,0,33,0,18,0,29,0 39,0,42,0,14,0,4,0,7,0,3,0 41,0,43,0,45,0,40,0,13,0,12,0 19,0,47,0,44,0,10,0,28,0,24,0 6,0,49,0,51,0,1,0,30,0,53,0 29,0,35,0,34,0,46,0,22,0,54,0 25,0,5,0,33,0,21,0,48,0,14,0 38,0,23,0,12,0,52,0,15,0,9,0 11,0,37,0,10,0,47,0,45,0,16,0 26,0,50,0,39,0,2,0,4,0,32,0 24,0,18,0,36,0,41,0,28,0,13,0 7,0,44,0,20,0,3,0,19,0,40,0 31,0,17,0,43,0,27,0,42,0,8,0 53,0,16,0,49,0,14,0,47,0,9,0 12,0,11,0,1,0,10,0,50,0,46,0 38,0,45,0,22,0,18,0,30,0,25,0 39,0,32,0,24,0,52,0,3,0,54,0 34,0,15,0,7,0,13,0,43,0,20,0 51,0,21,0,44,0,41,0,4,0,17,0 36,0,42,0,5,0,29,0,6,0,23,0 35,0,19,0,48,0,8,0,31,0,40,0 2,0,26,0,33,0,27,0,28,0,37,0 14,0,53,0,13,0,1,0,9,0,22,0 15,0,21,0,46,0,24,0,50,0,49,0 3,0,29,0,20,0,38,0,51,0,10,0 16,0,54,0,6,0,44,0,45,0,31,0 12,0,34,0,42,0,27,0,48,0,26,0 30,0,8,0,28,0,39,0,40,0,5,0 43,0,52,0,4,0,37,0,19,0,18,0 7,0,36,0,17,0,32,0,25,0,11,0 47,0,33,0,35,0,23,0,41,0,2,0 21,0,1,0,3,0,9,0,26,0,29,0 50,0,45,0,40,0,16,0,42,0,22,0 4,0,39,0,6,0,12,0,10,0,20,0 38,0,17,0,8,0,43,0,46,0,36,0 7,0,49,0,18,0,54,0,35,0,41,0 5,0,2,0,14,0,44,0,52,0,34,0 31,0,27,0,32,0,13,0,23,0,47,0 51,0,28,0,15,0,37,0,48,0,25,0 19,0,30,0,24,0,33,0,53,0,11,0 ================================================ FILE: schedules/54_12.csv ================================================ 6,0,23,0,33,0,16,0,19,0,34,0 11,0,50,0,5,0,48,0,54,0,42,0 26,0,21,0,24,0,8,0,1,0,18,0 43,0,46,0,13,0,38,0,10,0,7,0 15,0,32,0,25,0,12,0,35,0,36,0 40,0,2,0,28,0,22,0,39,0,45,0 9,0,14,0,17,0,49,0,4,0,47,0 27,0,41,0,30,0,37,0,31,0,20,0 3,0,52,0,29,0,44,0,51,0,53,0 25,0,5,0,48,0,38,0,19,0,33,0 43,0,34,0,39,0,54,0,24,0,45,0 16,0,10,0,42,0,4,0,35,0,14,0 11,0,46,0,17,0,18,0,27,0,12,0 47,0,40,0,7,0,15,0,3,0,41,0 53,0,6,0,49,0,21,0,30,0,2,0 13,0,8,0,31,0,28,0,44,0,1,0 22,0,37,0,50,0,29,0,36,0,51,0 20,0,52,0,9,0,26,0,23,0,32,0 24,0,14,0,19,0,11,0,35,0,27,0 46,0,33,0,18,0,2,0,54,0,3,0 8,0,48,0,44,0,47,0,12,0,43,0 36,0,49,0,25,0,51,0,39,0,31,0 21,0,28,0,9,0,40,0,34,0,41,0 10,0,50,0,53,0,38,0,37,0,45,0 20,0,1,0,16,0,15,0,29,0,5,0 22,0,6,0,42,0,52,0,26,0,17,0 30,0,23,0,4,0,7,0,32,0,13,0 9,0,19,0,18,0,3,0,43,0,36,0 40,0,31,0,48,0,34,0,37,0,46,0 21,0,1,0,12,0,47,0,39,0,35,0 28,0,11,0,6,0,49,0,5,0,20,0 8,0,4,0,54,0,52,0,23,0,53,0 42,0,51,0,24,0,41,0,10,0,29,0 13,0,26,0,45,0,25,0,27,0,17,0 2,0,7,0,50,0,33,0,16,0,32,0 38,0,30,0,14,0,15,0,44,0,22,0 37,0,39,0,5,0,52,0,19,0,8,0 4,0,48,0,12,0,18,0,51,0,35,0 23,0,10,0,49,0,40,0,26,0,27,0 25,0,3,0,33,0,24,0,28,0,29,0 2,0,45,0,43,0,30,0,42,0,1,0 32,0,34,0,17,0,41,0,14,0,44,0 16,0,46,0,15,0,11,0,13,0,9,0 36,0,22,0,7,0,21,0,53,0,20,0 47,0,6,0,38,0,31,0,50,0,54,0 40,0,33,0,51,0,26,0,30,0,43,0 12,0,17,0,28,0,25,0,10,0,2,0 3,0,44,0,39,0,42,0,23,0,11,0 22,0,8,0,24,0,4,0,32,0,20,0 1,0,5,0,35,0,46,0,9,0,50,0 15,0,54,0,7,0,36,0,19,0,37,0 21,0,18,0,29,0,6,0,31,0,14,0 38,0,53,0,34,0,47,0,27,0,52,0 48,0,45,0,41,0,49,0,13,0,16,0 22,0,30,0,33,0,8,0,9,0,5,0 46,0,23,0,35,0,25,0,24,0,50,0 26,0,4,0,31,0,2,0,19,0,15,0 11,0,32,0,47,0,29,0,40,0,6,0 53,0,37,0,3,0,13,0,39,0,14,0 27,0,16,0,44,0,28,0,18,0,54,0 12,0,49,0,41,0,20,0,42,0,34,0 43,0,38,0,51,0,7,0,1,0,17,0 52,0,45,0,10,0,48,0,36,0,21,0 31,0,32,0,9,0,39,0,53,0,24,0 35,0,26,0,3,0,37,0,30,0,16,0 25,0,20,0,40,0,4,0,44,0,50,0 1,0,54,0,19,0,41,0,22,0,17,0 7,0,27,0,14,0,52,0,12,0,6,0 2,0,36,0,23,0,48,0,29,0,38,0 49,0,42,0,33,0,47,0,18,0,13,0 43,0,5,0,10,0,34,0,21,0,11,0 45,0,28,0,46,0,51,0,8,0,15,0 19,0,30,0,31,0,16,0,50,0,17,0 40,0,4,0,1,0,6,0,3,0,48,0 52,0,44,0,38,0,49,0,35,0,24,0 21,0,54,0,13,0,12,0,26,0,29,0 46,0,39,0,20,0,45,0,33,0,14,0 11,0,10,0,51,0,34,0,2,0,8,0 18,0,43,0,53,0,23,0,5,0,41,0 25,0,7,0,37,0,22,0,9,0,47,0 36,0,32,0,42,0,15,0,27,0,28,0 24,0,3,0,12,0,50,0,45,0,6,0 34,0,13,0,29,0,46,0,49,0,19,0 35,0,40,0,17,0,5,0,53,0,33,0 11,0,26,0,8,0,31,0,41,0,7,0 1,0,14,0,32,0,54,0,43,0,25,0 23,0,38,0,20,0,42,0,37,0,28,0 30,0,15,0,18,0,22,0,48,0,52,0 51,0,16,0,4,0,39,0,21,0,27,0 44,0,2,0,47,0,9,0,10,0,36,0 50,0,49,0,26,0,25,0,12,0,53,0 32,0,41,0,35,0,31,0,3,0,45,0 28,0,7,0,20,0,34,0,18,0,48,0 27,0,29,0,23,0,17,0,39,0,30,0 52,0,4,0,37,0,33,0,11,0,1,0 22,0,21,0,19,0,42,0,46,0,44,0 15,0,43,0,9,0,10,0,6,0,54,0 51,0,5,0,47,0,24,0,13,0,2,0 38,0,8,0,36,0,40,0,16,0,14,0 53,0,11,0,41,0,25,0,28,0,30,0 34,0,27,0,49,0,3,0,22,0,1,0 37,0,48,0,15,0,6,0,21,0,17,0 31,0,42,0,12,0,7,0,9,0,33,0 47,0,14,0,54,0,45,0,23,0,51,0 52,0,16,0,24,0,13,0,40,0,50,0 2,0,35,0,29,0,43,0,20,0,8,0 39,0,19,0,10,0,38,0,32,0,18,0 36,0,44,0,26,0,46,0,4,0,5,0 ================================================ FILE: schedules/54_13.csv ================================================ 36,0,21,0,33,0,17,0,49,0,43,0 7,0,34,0,3,0,20,0,29,0,2,0 4,0,37,0,8,0,39,0,18,0,28,0 41,0,23,0,24,0,1,0,14,0,9,0 52,0,5,0,25,0,12,0,11,0,6,0 16,0,51,0,15,0,45,0,53,0,22,0 13,0,42,0,35,0,47,0,48,0,31,0 38,0,54,0,40,0,10,0,50,0,30,0 19,0,46,0,27,0,32,0,26,0,44,0 1,0,7,0,5,0,33,0,3,0,28,0 14,0,11,0,29,0,37,0,18,0,51,0 2,0,25,0,53,0,52,0,17,0,24,0 10,0,22,0,49,0,31,0,13,0,36,0 38,0,23,0,50,0,42,0,45,0,32,0 26,0,46,0,47,0,20,0,6,0,8,0 19,0,9,0,40,0,34,0,35,0,39,0 44,0,16,0,4,0,30,0,43,0,41,0 54,0,12,0,27,0,48,0,21,0,15,0 13,0,18,0,22,0,11,0,1,0,25,0 50,0,31,0,52,0,51,0,8,0,46,0 42,0,37,0,14,0,2,0,19,0,32,0 23,0,40,0,35,0,44,0,28,0,6,0 20,0,3,0,16,0,27,0,17,0,38,0 30,0,48,0,26,0,41,0,5,0,36,0 12,0,43,0,53,0,49,0,54,0,34,0 4,0,24,0,9,0,15,0,29,0,7,0 33,0,39,0,45,0,21,0,10,0,47,0 3,0,27,0,6,0,37,0,31,0,23,0 5,0,40,0,16,0,2,0,11,0,51,0 41,0,44,0,14,0,36,0,53,0,54,0 20,0,49,0,32,0,1,0,30,0,35,0 15,0,45,0,4,0,26,0,8,0,13,0 17,0,33,0,50,0,48,0,24,0,22,0 9,0,10,0,39,0,25,0,38,0,43,0 12,0,28,0,47,0,19,0,52,0,29,0 18,0,34,0,46,0,42,0,21,0,7,0 6,0,40,0,45,0,2,0,49,0,4,0 13,0,51,0,24,0,8,0,30,0,54,0 15,0,3,0,25,0,39,0,50,0,20,0 27,0,10,0,11,0,28,0,41,0,19,0 53,0,42,0,18,0,48,0,35,0,33,0 34,0,21,0,38,0,31,0,5,0,14,0 43,0,44,0,22,0,32,0,47,0,52,0 26,0,17,0,36,0,29,0,1,0,37,0 16,0,7,0,23,0,12,0,9,0,46,0 11,0,18,0,33,0,50,0,40,0,27,0 53,0,5,0,49,0,19,0,20,0,42,0 31,0,43,0,15,0,25,0,28,0,14,0 45,0,51,0,44,0,1,0,24,0,3,0 23,0,48,0,54,0,26,0,2,0,52,0 21,0,35,0,46,0,29,0,4,0,10,0 39,0,8,0,38,0,16,0,36,0,12,0 6,0,17,0,13,0,34,0,41,0,32,0 30,0,22,0,47,0,9,0,7,0,37,0 45,0,26,0,31,0,18,0,54,0,24,0 1,0,20,0,53,0,10,0,43,0,40,0 38,0,49,0,36,0,50,0,46,0,2,0 5,0,11,0,35,0,27,0,13,0,15,0 14,0,3,0,32,0,25,0,4,0,47,0 29,0,41,0,6,0,22,0,39,0,23,0 9,0,17,0,48,0,7,0,8,0,19,0 12,0,34,0,51,0,37,0,33,0,44,0 52,0,28,0,21,0,42,0,30,0,16,0 50,0,24,0,36,0,27,0,43,0,35,0 46,0,3,0,13,0,40,0,22,0,14,0 17,0,39,0,32,0,54,0,5,0,45,0 2,0,7,0,6,0,10,0,8,0,18,0 26,0,12,0,42,0,30,0,4,0,51,0 11,0,31,0,21,0,9,0,23,0,53,0 44,0,49,0,29,0,25,0,48,0,37,0 28,0,15,0,20,0,41,0,33,0,52,0 1,0,38,0,16,0,19,0,34,0,47,0 5,0,39,0,6,0,24,0,42,0,46,0 31,0,27,0,22,0,40,0,12,0,17,0 13,0,25,0,7,0,51,0,21,0,53,0 9,0,20,0,41,0,28,0,37,0,45,0 4,0,32,0,36,0,52,0,11,0,16,0 34,0,10,0,44,0,50,0,35,0,26,0 48,0,8,0,29,0,14,0,38,0,33,0 30,0,18,0,19,0,3,0,43,0,23,0 54,0,15,0,2,0,49,0,47,0,1,0 40,0,52,0,20,0,32,0,24,0,21,0 31,0,28,0,17,0,4,0,39,0,26,0 53,0,37,0,35,0,5,0,22,0,38,0 25,0,30,0,45,0,29,0,34,0,27,0 2,0,41,0,1,0,12,0,7,0,50,0 51,0,48,0,14,0,10,0,16,0,6,0 49,0,33,0,8,0,9,0,18,0,44,0 54,0,47,0,42,0,11,0,3,0,36,0 19,0,13,0,43,0,15,0,23,0,46,0 28,0,27,0,4,0,38,0,53,0,24,0 14,0,50,0,6,0,5,0,20,0,12,0 16,0,32,0,37,0,10,0,33,0,31,0 3,0,47,0,51,0,18,0,41,0,17,0 8,0,2,0,42,0,22,0,1,0,21,0 39,0,11,0,15,0,44,0,23,0,30,0 36,0,25,0,19,0,7,0,45,0,35,0 29,0,43,0,26,0,49,0,40,0,48,0 54,0,52,0,46,0,9,0,34,0,13,0 28,0,8,0,24,0,12,0,3,0,22,0 38,0,10,0,42,0,15,0,44,0,17,0 30,0,2,0,5,0,19,0,4,0,33,0 23,0,18,0,32,0,51,0,36,0,20,0 25,0,29,0,35,0,16,0,13,0,54,0 9,0,50,0,21,0,6,0,26,0,53,0 34,0,1,0,45,0,48,0,43,0,11,0 7,0,52,0,39,0,49,0,14,0,27,0 41,0,37,0,47,0,40,0,31,0,46,0 54,0,51,0,22,0,38,0,4,0,20,0 23,0,19,0,26,0,25,0,16,0,33,0 28,0,2,0,9,0,32,0,50,0,13,0 52,0,1,0,48,0,21,0,39,0,3,0 17,0,14,0,7,0,40,0,11,0,44,0 34,0,37,0,36,0,6,0,24,0,15,0 12,0,41,0,10,0,18,0,35,0,49,0 47,0,43,0,8,0,27,0,42,0,5,0 31,0,53,0,30,0,45,0,46,0,29,0 ================================================ FILE: schedules/54_14.csv ================================================ 29,0,17,0,23,0,41,0,39,0,31,0 51,0,22,0,46,0,24,0,26,0,12,0 13,0,54,0,28,0,48,0,37,0,1,0 20,0,19,0,9,0,52,0,44,0,5,0 43,0,18,0,49,0,45,0,10,0,6,0 36,0,7,0,3,0,2,0,38,0,11,0 35,0,34,0,16,0,25,0,40,0,47,0 15,0,32,0,21,0,27,0,33,0,4,0 53,0,50,0,42,0,30,0,8,0,14,0 23,0,28,0,10,0,29,0,31,0,44,0 41,0,3,0,17,0,54,0,37,0,24,0 39,0,19,0,48,0,26,0,47,0,49,0 38,0,15,0,9,0,34,0,43,0,22,0 12,0,27,0,36,0,53,0,6,0,11,0 50,0,4,0,1,0,51,0,45,0,2,0 52,0,13,0,18,0,42,0,30,0,25,0 7,0,33,0,16,0,20,0,32,0,8,0 35,0,14,0,40,0,46,0,5,0,21,0 23,0,48,0,12,0,27,0,15,0,3,0 2,0,22,0,26,0,45,0,11,0,28,0 50,0,17,0,44,0,1,0,13,0,25,0 29,0,43,0,8,0,47,0,53,0,52,0 54,0,18,0,33,0,46,0,49,0,36,0 32,0,6,0,7,0,5,0,24,0,35,0 19,0,4,0,38,0,16,0,40,0,39,0 51,0,34,0,42,0,10,0,37,0,21,0 41,0,30,0,9,0,20,0,31,0,14,0 12,0,43,0,54,0,2,0,28,0,25,0 23,0,13,0,53,0,32,0,46,0,18,0 49,0,39,0,27,0,3,0,29,0,5,0 4,0,44,0,6,0,33,0,47,0,22,0 52,0,34,0,26,0,35,0,50,0,36,0 31,0,24,0,42,0,9,0,45,0,14,0 15,0,10,0,19,0,8,0,7,0,17,0 30,0,51,0,48,0,20,0,11,0,40,0 1,0,41,0,21,0,38,0,37,0,16,0 44,0,12,0,39,0,43,0,28,0,35,0 26,0,42,0,33,0,54,0,31,0,3,0 18,0,34,0,45,0,52,0,17,0,32,0 29,0,40,0,49,0,15,0,14,0,50,0 19,0,21,0,47,0,38,0,24,0,53,0 8,0,27,0,5,0,51,0,13,0,41,0 11,0,46,0,48,0,9,0,6,0,1,0 22,0,4,0,37,0,7,0,23,0,25,0 10,0,36,0,2,0,20,0,16,0,30,0 17,0,49,0,15,0,35,0,47,0,42,0 8,0,53,0,40,0,54,0,39,0,45,0 11,0,1,0,31,0,13,0,32,0,19,0 28,0,46,0,29,0,51,0,4,0,25,0 24,0,10,0,48,0,33,0,36,0,38,0 9,0,7,0,44,0,18,0,21,0,50,0 16,0,27,0,14,0,43,0,52,0,37,0 5,0,20,0,34,0,22,0,12,0,3,0 30,0,6,0,2,0,26,0,41,0,23,0 35,0,39,0,15,0,45,0,36,0,13,0 31,0,25,0,53,0,38,0,40,0,48,0 9,0,52,0,11,0,10,0,4,0,54,0 24,0,20,0,18,0,14,0,37,0,29,0 6,0,3,0,42,0,7,0,1,0,51,0 12,0,28,0,47,0,17,0,21,0,30,0 22,0,49,0,41,0,44,0,34,0,32,0 33,0,8,0,19,0,23,0,2,0,27,0 43,0,5,0,16,0,46,0,50,0,26,0 53,0,20,0,54,0,15,0,4,0,13,0 37,0,12,0,45,0,9,0,10,0,47,0 11,0,25,0,36,0,14,0,41,0,38,0 29,0,35,0,51,0,8,0,22,0,48,0 49,0,3,0,50,0,23,0,31,0,16,0 26,0,5,0,1,0,27,0,44,0,18,0 2,0,32,0,40,0,21,0,42,0,43,0 34,0,33,0,46,0,19,0,28,0,17,0 24,0,39,0,6,0,7,0,52,0,30,0 45,0,16,0,8,0,20,0,3,0,48,0 37,0,27,0,31,0,54,0,22,0,35,0 38,0,21,0,13,0,26,0,29,0,9,0 17,0,25,0,43,0,23,0,42,0,11,0 19,0,40,0,50,0,6,0,41,0,12,0 28,0,34,0,36,0,4,0,18,0,7,0 2,0,47,0,15,0,46,0,52,0,24,0 32,0,14,0,39,0,44,0,10,0,51,0 5,0,33,0,49,0,30,0,1,0,53,0 8,0,25,0,6,0,9,0,31,0,21,0 7,0,28,0,38,0,45,0,35,0,23,0 20,0,29,0,36,0,19,0,54,0,42,0 50,0,47,0,39,0,11,0,32,0,27,0 14,0,48,0,5,0,17,0,2,0,4,0 16,0,18,0,41,0,51,0,33,0,40,0 22,0,52,0,10,0,1,0,46,0,3,0 44,0,30,0,26,0,37,0,53,0,15,0 13,0,43,0,24,0,34,0,49,0,12,0 27,0,6,0,38,0,42,0,20,0,28,0 25,0,39,0,18,0,33,0,50,0,48,0 22,0,5,0,45,0,21,0,14,0,36,0 30,0,46,0,47,0,54,0,7,0,41,0 17,0,13,0,31,0,52,0,16,0,12,0 43,0,1,0,2,0,15,0,24,0,34,0 8,0,4,0,26,0,44,0,11,0,49,0 3,0,51,0,9,0,19,0,53,0,35,0 40,0,37,0,23,0,32,0,29,0,10,0 50,0,6,0,5,0,17,0,42,0,38,0 54,0,16,0,21,0,13,0,39,0,22,0 27,0,46,0,7,0,48,0,31,0,34,0 41,0,15,0,52,0,26,0,53,0,51,0 9,0,37,0,25,0,19,0,2,0,49,0 36,0,40,0,24,0,44,0,28,0,8,0 12,0,11,0,35,0,45,0,33,0,29,0 23,0,18,0,14,0,20,0,47,0,1,0 4,0,32,0,43,0,3,0,30,0,10,0 15,0,31,0,46,0,39,0,37,0,5,0 53,0,7,0,2,0,17,0,22,0,40,0 54,0,34,0,29,0,16,0,6,0,26,0 52,0,38,0,1,0,12,0,8,0,18,0 48,0,45,0,42,0,41,0,44,0,43,0 13,0,14,0,47,0,33,0,3,0,28,0 36,0,32,0,51,0,49,0,23,0,9,0 35,0,21,0,4,0,11,0,30,0,19,0 20,0,27,0,10,0,25,0,50,0,24,0 38,0,22,0,44,0,52,0,54,0,48,0 42,0,14,0,12,0,34,0,39,0,8,0 17,0,9,0,33,0,26,0,7,0,40,0 13,0,2,0,3,0,6,0,18,0,29,0 37,0,51,0,47,0,31,0,43,0,36,0 30,0,32,0,45,0,25,0,19,0,27,0 50,0,11,0,16,0,15,0,28,0,5,0 23,0,20,0,46,0,49,0,24,0,21,0 1,0,35,0,10,0,4,0,53,0,41,0 ================================================ FILE: schedules/54_2.csv ================================================ 43,0,38,0,53,0,51,0,4,0,20,0 16,0,10,0,52,0,5,0,7,0,44,0 8,0,32,0,27,0,12,0,15,0,37,0 30,0,35,0,26,0,54,0,50,0,3,0 42,0,22,0,13,0,34,0,19,0,45,0 25,0,21,0,18,0,46,0,31,0,14,0 2,0,11,0,47,0,40,0,23,0,1,0 49,0,39,0,24,0,33,0,6,0,17,0 28,0,9,0,29,0,41,0,48,0,36,0 15,0,35,0,19,0,53,0,7,0,26,0 54,0,13,0,44,0,27,0,38,0,21,0 31,0,47,0,20,0,22,0,32,0,16,0 17,0,12,0,30,0,42,0,11,0,10,0 25,0,43,0,5,0,29,0,40,0,39,0 18,0,3,0,48,0,49,0,4,0,8,0 14,0,34,0,36,0,33,0,2,0,41,0 46,0,6,0,1,0,45,0,51,0,9,0 50,0,23,0,52,0,24,0,28,0,37,0 ================================================ FILE: schedules/54_3.csv ================================================ 15,0,26,0,18,0,6,0,25,0,8,0 34,0,32,0,5,0,35,0,31,0,49,0 9,0,3,0,46,0,24,0,40,0,11,0 51,0,21,0,4,0,37,0,1,0,52,0 42,0,38,0,12,0,53,0,30,0,33,0 14,0,23,0,54,0,10,0,22,0,41,0 2,0,7,0,43,0,39,0,44,0,27,0 20,0,48,0,28,0,19,0,45,0,50,0 29,0,16,0,36,0,13,0,47,0,17,0 18,0,38,0,52,0,26,0,46,0,49,0 40,0,32,0,25,0,33,0,23,0,37,0 1,0,8,0,30,0,3,0,54,0,44,0 48,0,39,0,42,0,4,0,15,0,14,0 17,0,50,0,31,0,43,0,10,0,47,0 22,0,36,0,35,0,9,0,6,0,28,0 19,0,5,0,24,0,7,0,51,0,13,0 16,0,53,0,45,0,11,0,2,0,34,0 27,0,12,0,29,0,20,0,41,0,21,0 26,0,40,0,30,0,4,0,48,0,43,0 17,0,42,0,44,0,32,0,18,0,22,0 10,0,25,0,13,0,39,0,46,0,28,0 33,0,2,0,8,0,14,0,36,0,5,0 27,0,37,0,16,0,3,0,19,0,38,0 15,0,53,0,20,0,9,0,31,0,21,0 34,0,6,0,54,0,52,0,29,0,24,0 35,0,11,0,23,0,12,0,50,0,51,0 49,0,47,0,41,0,1,0,45,0,7,0 ================================================ FILE: schedules/54_4.csv ================================================ 12,0,23,0,52,0,18,0,1,0,40,0 21,0,3,0,7,0,9,0,2,0,37,0 6,0,33,0,20,0,28,0,47,0,17,0 54,0,31,0,8,0,38,0,26,0,53,0 22,0,10,0,4,0,19,0,50,0,36,0 41,0,5,0,39,0,34,0,11,0,27,0 24,0,16,0,15,0,43,0,29,0,14,0 45,0,25,0,30,0,51,0,46,0,44,0 13,0,49,0,42,0,32,0,35,0,48,0 2,0,33,0,53,0,23,0,4,0,19,0 52,0,38,0,36,0,41,0,47,0,37,0 40,0,15,0,39,0,3,0,54,0,20,0 29,0,31,0,21,0,22,0,12,0,30,0 50,0,17,0,35,0,44,0,5,0,14,0 49,0,27,0,48,0,10,0,25,0,6,0 32,0,43,0,18,0,8,0,45,0,34,0 51,0,26,0,9,0,28,0,42,0,24,0 46,0,13,0,11,0,1,0,7,0,16,0 19,0,44,0,3,0,20,0,29,0,41,0 5,0,40,0,36,0,53,0,49,0,30,0 10,0,12,0,43,0,39,0,37,0,33,0 48,0,8,0,24,0,4,0,21,0,17,0 47,0,42,0,2,0,45,0,1,0,22,0 18,0,14,0,54,0,13,0,9,0,27,0 7,0,26,0,35,0,52,0,34,0,25,0 28,0,15,0,50,0,23,0,31,0,46,0 11,0,16,0,6,0,32,0,38,0,51,0 17,0,48,0,45,0,29,0,39,0,36,0 1,0,41,0,21,0,54,0,43,0,49,0 40,0,10,0,14,0,8,0,42,0,7,0 52,0,3,0,30,0,24,0,33,0,50,0 23,0,37,0,26,0,22,0,16,0,20,0 2,0,28,0,38,0,25,0,13,0,5,0 53,0,27,0,32,0,15,0,47,0,44,0 9,0,12,0,34,0,46,0,6,0,4,0 51,0,11,0,18,0,31,0,19,0,35,0 ================================================ FILE: schedules/54_5.csv ================================================ 21,0,40,0,54,0,20,0,45,0,7,0 38,0,48,0,39,0,18,0,49,0,34,0 9,0,35,0,46,0,51,0,37,0,8,0 12,0,30,0,28,0,3,0,14,0,19,0 10,0,26,0,22,0,5,0,27,0,11,0 1,0,15,0,41,0,50,0,17,0,33,0 4,0,25,0,23,0,2,0,47,0,29,0 24,0,31,0,13,0,32,0,6,0,44,0 16,0,42,0,53,0,52,0,43,0,36,0 8,0,30,0,22,0,7,0,38,0,18,0 33,0,5,0,49,0,40,0,37,0,12,0 19,0,27,0,29,0,21,0,46,0,1,0 45,0,50,0,28,0,11,0,2,0,6,0 17,0,20,0,32,0,47,0,39,0,42,0 4,0,53,0,48,0,14,0,13,0,26,0 23,0,3,0,15,0,44,0,9,0,16,0 36,0,31,0,41,0,25,0,10,0,35,0 24,0,54,0,43,0,52,0,51,0,34,0 18,0,45,0,37,0,1,0,19,0,42,0 32,0,7,0,33,0,53,0,29,0,11,0 12,0,39,0,50,0,9,0,22,0,4,0 40,0,36,0,47,0,8,0,15,0,13,0 48,0,5,0,3,0,6,0,35,0,54,0 21,0,44,0,51,0,41,0,49,0,28,0 25,0,24,0,38,0,16,0,26,0,46,0 27,0,2,0,31,0,43,0,30,0,17,0 34,0,14,0,10,0,23,0,52,0,20,0 15,0,6,0,42,0,7,0,4,0,35,0 47,0,19,0,44,0,22,0,48,0,33,0 37,0,26,0,36,0,29,0,28,0,54,0 51,0,39,0,40,0,27,0,25,0,3,0 50,0,14,0,43,0,18,0,10,0,32,0 20,0,53,0,2,0,41,0,24,0,8,0 23,0,13,0,12,0,17,0,45,0,46,0 21,0,52,0,9,0,5,0,31,0,38,0 34,0,11,0,16,0,30,0,49,0,1,0 7,0,19,0,26,0,44,0,39,0,43,0 18,0,4,0,27,0,36,0,33,0,24,0 14,0,6,0,46,0,22,0,41,0,40,0 2,0,10,0,9,0,54,0,13,0,42,0 17,0,34,0,25,0,37,0,21,0,53,0 11,0,20,0,31,0,48,0,12,0,15,0 30,0,47,0,16,0,45,0,51,0,5,0 49,0,8,0,29,0,52,0,50,0,3,0 28,0,35,0,38,0,32,0,1,0,23,0 ================================================ FILE: schedules/54_6.csv ================================================ 16,0,32,0,46,0,45,0,13,0,50,0 43,0,34,0,9,0,31,0,26,0,41,0 36,0,27,0,40,0,7,0,35,0,22,0 2,0,53,0,5,0,23,0,51,0,38,0 48,0,28,0,33,0,37,0,39,0,30,0 12,0,21,0,20,0,17,0,52,0,14,0 19,0,47,0,10,0,18,0,8,0,49,0 25,0,15,0,3,0,4,0,6,0,44,0 29,0,24,0,54,0,1,0,42,0,11,0 39,0,5,0,9,0,27,0,16,0,43,0 33,0,7,0,20,0,45,0,31,0,38,0 46,0,34,0,12,0,22,0,51,0,49,0 30,0,44,0,13,0,52,0,23,0,8,0 40,0,19,0,1,0,3,0,6,0,53,0 37,0,21,0,18,0,42,0,36,0,25,0 29,0,48,0,10,0,4,0,14,0,54,0 47,0,41,0,15,0,35,0,32,0,11,0 50,0,28,0,17,0,26,0,24,0,2,0 49,0,39,0,52,0,40,0,45,0,23,0 27,0,30,0,3,0,37,0,20,0,46,0 8,0,36,0,6,0,31,0,51,0,48,0 53,0,15,0,43,0,33,0,10,0,42,0 4,0,26,0,21,0,5,0,11,0,19,0 7,0,25,0,41,0,24,0,47,0,16,0 44,0,35,0,38,0,54,0,50,0,12,0 32,0,22,0,9,0,2,0,17,0,29,0 18,0,1,0,14,0,28,0,34,0,13,0 26,0,8,0,53,0,39,0,6,0,46,0 11,0,40,0,16,0,31,0,10,0,20,0 23,0,24,0,12,0,43,0,4,0,36,0 38,0,52,0,27,0,25,0,19,0,32,0 45,0,37,0,2,0,15,0,13,0,1,0 17,0,54,0,5,0,33,0,34,0,47,0 49,0,7,0,21,0,44,0,29,0,28,0 41,0,48,0,18,0,22,0,50,0,3,0 35,0,51,0,42,0,14,0,30,0,9,0 11,0,13,0,43,0,25,0,40,0,6,0 39,0,10,0,1,0,36,0,17,0,38,0 29,0,45,0,47,0,26,0,12,0,27,0 15,0,48,0,20,0,24,0,19,0,34,0 33,0,46,0,14,0,2,0,41,0,44,0 50,0,49,0,4,0,9,0,37,0,51,0 30,0,22,0,54,0,21,0,16,0,53,0 42,0,3,0,23,0,7,0,8,0,32,0 31,0,52,0,35,0,18,0,5,0,28,0 43,0,44,0,45,0,19,0,17,0,48,0 51,0,41,0,40,0,37,0,38,0,29,0 50,0,6,0,34,0,21,0,27,0,10,0 22,0,42,0,4,0,39,0,13,0,47,0 49,0,31,0,24,0,53,0,32,0,14,0 36,0,16,0,52,0,33,0,3,0,26,0 46,0,23,0,28,0,15,0,9,0,54,0 35,0,25,0,5,0,1,0,8,0,20,0 30,0,18,0,11,0,12,0,2,0,7,0 ================================================ FILE: schedules/54_7.csv ================================================ 10,0,17,0,5,0,41,0,53,0,15,0 50,0,28,0,20,0,27,0,2,0,25,0 1,0,48,0,12,0,11,0,22,0,8,0 35,0,38,0,33,0,6,0,49,0,19,0 43,0,45,0,23,0,39,0,32,0,3,0 16,0,30,0,44,0,40,0,26,0,7,0 46,0,21,0,13,0,24,0,51,0,4,0 34,0,52,0,9,0,37,0,36,0,14,0 18,0,42,0,29,0,54,0,31,0,47,0 48,0,2,0,5,0,1,0,10,0,19,0 22,0,53,0,40,0,35,0,23,0,28,0 49,0,26,0,24,0,12,0,15,0,25,0 27,0,7,0,52,0,38,0,45,0,41,0 9,0,51,0,11,0,32,0,54,0,44,0 37,0,34,0,39,0,46,0,29,0,50,0 4,0,3,0,31,0,6,0,8,0,20,0 30,0,17,0,47,0,36,0,43,0,13,0 14,0,42,0,21,0,18,0,16,0,33,0 52,0,32,0,26,0,22,0,2,0,35,0 5,0,39,0,38,0,9,0,48,0,24,0 27,0,40,0,46,0,31,0,49,0,10,0 3,0,29,0,54,0,19,0,50,0,30,0 28,0,36,0,11,0,4,0,7,0,33,0 23,0,25,0,6,0,51,0,17,0,14,0 37,0,1,0,15,0,42,0,16,0,43,0 44,0,8,0,34,0,21,0,47,0,41,0 45,0,20,0,53,0,18,0,13,0,12,0 54,0,33,0,10,0,39,0,22,0,7,0 36,0,32,0,40,0,29,0,25,0,5,0 42,0,11,0,3,0,17,0,26,0,38,0 37,0,6,0,2,0,21,0,27,0,44,0 8,0,9,0,46,0,18,0,53,0,43,0 45,0,15,0,35,0,30,0,4,0,34,0 14,0,47,0,20,0,49,0,51,0,1,0 12,0,28,0,24,0,16,0,52,0,19,0 41,0,48,0,50,0,31,0,23,0,13,0 18,0,22,0,10,0,37,0,3,0,38,0 30,0,42,0,25,0,39,0,8,0,53,0 6,0,45,0,1,0,9,0,29,0,26,0 43,0,44,0,35,0,14,0,12,0,5,0 2,0,13,0,16,0,31,0,11,0,34,0 7,0,21,0,19,0,23,0,46,0,20,0 50,0,51,0,15,0,52,0,40,0,33,0 54,0,28,0,49,0,36,0,24,0,41,0 27,0,32,0,47,0,48,0,17,0,4,0 5,0,31,0,6,0,37,0,30,0,11,0 16,0,45,0,25,0,44,0,46,0,22,0 19,0,42,0,12,0,40,0,9,0,21,0 39,0,36,0,51,0,35,0,41,0,18,0 13,0,28,0,14,0,38,0,32,0,15,0 53,0,3,0,24,0,34,0,1,0,27,0 43,0,48,0,33,0,20,0,54,0,52,0 26,0,4,0,47,0,23,0,10,0,50,0 49,0,8,0,7,0,2,0,29,0,17,0 22,0,19,0,31,0,14,0,39,0,15,0 41,0,12,0,32,0,46,0,30,0,6,0 53,0,48,0,38,0,36,0,21,0,16,0 34,0,51,0,26,0,43,0,28,0,27,0 33,0,2,0,47,0,3,0,9,0,25,0 37,0,8,0,17,0,40,0,45,0,54,0 11,0,29,0,35,0,24,0,20,0,10,0 1,0,23,0,4,0,44,0,18,0,52,0 13,0,7,0,50,0,5,0,49,0,42,0 ================================================ FILE: schedules/54_8.csv ================================================ 33,0,35,0,14,0,4,0,39,0,50,0 52,0,24,0,28,0,7,0,44,0,53,0 36,0,3,0,42,0,1,0,45,0,38,0 29,0,47,0,2,0,48,0,30,0,12,0 6,0,54,0,23,0,15,0,20,0,25,0 10,0,51,0,11,0,46,0,40,0,27,0 26,0,13,0,21,0,43,0,17,0,5,0 16,0,18,0,19,0,9,0,41,0,32,0 37,0,8,0,34,0,49,0,31,0,22,0 4,0,3,0,2,0,50,0,53,0,6,0 33,0,45,0,15,0,28,0,47,0,46,0 17,0,40,0,7,0,38,0,29,0,25,0 12,0,54,0,14,0,11,0,1,0,21,0 36,0,8,0,49,0,16,0,10,0,13,0 18,0,41,0,20,0,5,0,22,0,52,0 44,0,27,0,24,0,48,0,31,0,19,0 37,0,26,0,32,0,23,0,35,0,51,0 43,0,34,0,30,0,9,0,39,0,42,0 49,0,38,0,21,0,15,0,46,0,6,0 33,0,7,0,16,0,13,0,2,0,22,0 41,0,27,0,4,0,54,0,8,0,47,0 14,0,45,0,53,0,40,0,18,0,10,0 32,0,48,0,17,0,52,0,12,0,42,0 43,0,35,0,3,0,28,0,34,0,5,0 19,0,25,0,39,0,11,0,26,0,31,0 29,0,30,0,50,0,23,0,36,0,44,0 37,0,9,0,51,0,1,0,20,0,24,0 53,0,32,0,49,0,27,0,7,0,54,0 35,0,41,0,40,0,48,0,33,0,42,0 45,0,5,0,31,0,16,0,4,0,11,0 22,0,46,0,8,0,30,0,14,0,26,0 2,0,23,0,12,0,43,0,24,0,38,0 15,0,18,0,17,0,3,0,37,0,44,0 34,0,51,0,19,0,52,0,36,0,6,0 50,0,13,0,9,0,25,0,47,0,21,0 1,0,28,0,39,0,29,0,10,0,20,0 8,0,5,0,33,0,12,0,38,0,53,0 2,0,54,0,46,0,44,0,35,0,31,0 11,0,7,0,6,0,42,0,37,0,16,0 36,0,32,0,14,0,41,0,25,0,43,0 10,0,19,0,1,0,47,0,4,0,17,0 28,0,20,0,30,0,27,0,18,0,13,0 9,0,22,0,48,0,3,0,39,0,51,0 24,0,29,0,40,0,21,0,34,0,15,0 26,0,23,0,50,0,49,0,45,0,52,0 5,0,54,0,36,0,33,0,17,0,46,0 42,0,25,0,4,0,37,0,28,0,27,0 39,0,12,0,10,0,41,0,6,0,44,0 51,0,18,0,21,0,7,0,2,0,8,0 15,0,53,0,26,0,48,0,1,0,50,0 52,0,13,0,23,0,40,0,9,0,31,0 38,0,47,0,20,0,14,0,34,0,16,0 45,0,22,0,43,0,29,0,19,0,35,0 49,0,11,0,24,0,30,0,32,0,3,0 28,0,41,0,15,0,51,0,26,0,2,0 21,0,42,0,31,0,18,0,36,0,53,0 48,0,47,0,39,0,23,0,7,0,46,0 27,0,29,0,9,0,5,0,6,0,14,0 25,0,11,0,17,0,24,0,8,0,35,0 32,0,13,0,44,0,34,0,4,0,45,0 54,0,50,0,38,0,22,0,37,0,10,0 40,0,3,0,49,0,12,0,19,0,20,0 16,0,30,0,52,0,1,0,43,0,33,0 48,0,8,0,11,0,28,0,36,0,9,0 29,0,46,0,41,0,24,0,53,0,13,0 45,0,27,0,2,0,17,0,37,0,39,0 5,0,44,0,42,0,14,0,51,0,49,0 23,0,1,0,25,0,34,0,33,0,18,0 6,0,20,0,31,0,43,0,32,0,50,0 47,0,40,0,16,0,54,0,3,0,26,0 12,0,7,0,22,0,4,0,10,0,15,0 35,0,30,0,38,0,21,0,52,0,19,0 ================================================ FILE: schedules/54_9.csv ================================================ 34,0,24,0,37,0,2,0,52,0,7,0 49,0,12,0,33,0,40,0,9,0,20,0 23,0,50,0,38,0,47,0,36,0,35,0 26,0,43,0,11,0,15,0,39,0,48,0 3,0,54,0,22,0,8,0,19,0,28,0 25,0,21,0,6,0,45,0,13,0,32,0 44,0,51,0,42,0,27,0,30,0,18,0 46,0,4,0,29,0,14,0,53,0,31,0 41,0,16,0,10,0,1,0,5,0,17,0 23,0,49,0,19,0,24,0,26,0,8,0 52,0,11,0,15,0,9,0,54,0,32,0 21,0,36,0,40,0,2,0,51,0,25,0 33,0,37,0,3,0,46,0,44,0,48,0 6,0,39,0,38,0,4,0,1,0,42,0 14,0,18,0,35,0,30,0,17,0,16,0 7,0,20,0,27,0,43,0,28,0,31,0 47,0,22,0,29,0,41,0,5,0,13,0 10,0,50,0,45,0,34,0,12,0,53,0 40,0,26,0,6,0,38,0,44,0,9,0 17,0,15,0,21,0,36,0,3,0,30,0 35,0,37,0,31,0,25,0,49,0,39,0 52,0,47,0,41,0,19,0,14,0,33,0 4,0,27,0,53,0,5,0,16,0,32,0 18,0,8,0,1,0,11,0,28,0,34,0 42,0,12,0,50,0,29,0,2,0,23,0 7,0,45,0,46,0,22,0,10,0,20,0 51,0,54,0,13,0,43,0,24,0,48,0 21,0,53,0,19,0,15,0,33,0,27,0 28,0,6,0,9,0,34,0,35,0,17,0 2,0,5,0,30,0,31,0,3,0,38,0 40,0,14,0,22,0,11,0,37,0,50,0 29,0,1,0,20,0,52,0,51,0,23,0 43,0,7,0,49,0,44,0,47,0,32,0 4,0,18,0,48,0,41,0,12,0,24,0 26,0,54,0,42,0,46,0,10,0,25,0 39,0,8,0,45,0,36,0,13,0,16,0 38,0,15,0,34,0,23,0,37,0,27,0 29,0,51,0,31,0,11,0,6,0,19,0 48,0,49,0,41,0,50,0,7,0,30,0 21,0,26,0,28,0,52,0,42,0,5,0 45,0,40,0,47,0,3,0,18,0,46,0 13,0,35,0,10,0,4,0,20,0,33,0 17,0,9,0,24,0,22,0,32,0,39,0 12,0,2,0,43,0,16,0,25,0,8,0 1,0,14,0,36,0,54,0,53,0,44,0 34,0,51,0,41,0,49,0,46,0,38,0 13,0,4,0,52,0,7,0,15,0,3,0 30,0,32,0,29,0,28,0,37,0,22,0 10,0,23,0,17,0,40,0,19,0,43,0 31,0,48,0,1,0,35,0,42,0,45,0 6,0,12,0,36,0,27,0,26,0,47,0 16,0,11,0,44,0,24,0,50,0,21,0 8,0,5,0,9,0,14,0,25,0,20,0 53,0,33,0,39,0,18,0,2,0,54,0 32,0,28,0,15,0,41,0,31,0,40,0 47,0,51,0,37,0,4,0,10,0,26,0 12,0,30,0,46,0,6,0,24,0,1,0 48,0,3,0,14,0,23,0,20,0,34,0 13,0,11,0,2,0,44,0,17,0,49,0 27,0,45,0,19,0,50,0,9,0,39,0 54,0,7,0,8,0,35,0,29,0,21,0 22,0,38,0,25,0,53,0,52,0,18,0 36,0,5,0,33,0,16,0,42,0,43,0 2,0,15,0,24,0,28,0,10,0,14,0 50,0,32,0,1,0,3,0,13,0,26,0 20,0,39,0,47,0,30,0,21,0,34,0 49,0,27,0,40,0,45,0,29,0,52,0 44,0,35,0,5,0,12,0,19,0,51,0 18,0,7,0,16,0,6,0,23,0,54,0 33,0,31,0,46,0,8,0,38,0,17,0 42,0,53,0,41,0,9,0,37,0,43,0 4,0,36,0,25,0,11,0,22,0,48,0 3,0,51,0,32,0,14,0,12,0,39,0 54,0,30,0,19,0,34,0,13,0,40,0 20,0,16,0,24,0,29,0,26,0,38,0 8,0,43,0,50,0,37,0,52,0,6,0 21,0,31,0,9,0,36,0,18,0,10,0 25,0,48,0,5,0,1,0,15,0,49,0 42,0,17,0,11,0,53,0,47,0,7,0 4,0,23,0,28,0,45,0,44,0,33,0 35,0,27,0,2,0,46,0,22,0,41,0 ================================================ FILE: schedules/55_1.csv ================================================ 1,0,45,0,49,0,52,0,11,0,16,0 31,0,35,0,22,0,23,0,30,0,13,0 38,0,34,0,50,0,46,0,3,0,41,0 51,0,19,0,47,0,40,0,8,0,2,0 24,0,9,0,54,0,10,0,17,0,25,0 15,0,36,0,48,0,18,0,28,0,6,0 5,0,32,0,20,0,14,0,12,0,27,0 33,0,53,0,4,0,39,0,55,0,7,0 29,0,37,0,44,0,42,0,21,0,43,0 26,0,30,1,50,1,17,1,40,1,10,1 ================================================ FILE: schedules/55_10.csv ================================================ 4,0,15,0,48,0,29,0,42,0,1,0 12,0,37,0,26,0,41,0,23,0,46,0 40,0,9,0,21,0,28,0,45,0,35,0 53,0,47,0,13,0,18,0,38,0,17,0 24,0,8,0,2,0,30,0,5,0,33,0 25,0,7,0,11,0,20,0,52,0,44,0 36,0,31,0,14,0,6,0,50,0,34,0 27,0,49,0,43,0,54,0,39,0,32,0 55,0,3,0,10,0,16,0,19,0,22,0 51,0,21,0,33,0,9,0,13,0,12,0 40,0,46,0,17,0,29,0,5,0,11,0 23,0,2,0,25,0,35,0,6,0,42,0 45,0,50,0,7,0,4,0,49,0,32,0 14,0,19,0,20,0,27,0,30,0,53,0 31,0,41,0,34,0,3,0,52,0,43,0 1,0,38,0,39,0,18,0,10,0,26,0 48,0,51,0,22,0,36,0,8,0,37,0 44,0,55,0,16,0,54,0,15,0,47,0 24,0,53,0,7,0,28,0,6,0,27,0 20,1,23,0,13,0,41,1,50,0,4,0 18,0,21,0,29,0,26,0,3,0,30,0 35,0,1,0,46,0,31,0,49,0,48,0 16,0,54,0,11,0,36,0,9,0,32,0 43,0,22,0,8,0,44,0,12,0,17,0 39,0,33,0,55,0,34,0,52,0,5,0 42,0,51,0,28,0,14,0,37,0,10,0 45,0,19,0,38,0,25,0,15,0,24,0 40,0,2,0,13,0,47,0,16,0,27,0 20,0,3,0,9,0,6,0,1,0,12,0 44,0,22,0,18,0,31,0,33,0,23,0 35,0,52,0,32,0,29,0,8,0,26,0 48,0,55,0,36,0,24,0,43,0,38,0 37,0,51,0,50,0,7,0,15,0,5,0 39,0,19,0,17,0,41,0,14,0,45,0 4,0,11,0,47,0,34,0,21,0,25,0 53,0,10,0,28,0,49,0,30,0,2,0 42,0,46,0,31,0,54,0,40,0,38,0 50,0,27,0,24,0,3,0,51,0,35,0 13,0,41,0,18,0,48,0,32,0,44,0 12,0,55,0,47,0,29,0,45,0,37,0 15,0,39,0,2,0,11,0,8,0,21,0 20,0,1,0,54,0,17,0,23,0,28,0 6,0,19,0,10,0,4,0,33,0,40,0 30,0,46,0,9,0,34,0,43,0,7,0 26,0,22,0,36,0,53,0,14,0,25,0 52,0,49,0,42,0,5,0,16,0,12,0 44,0,51,0,31,0,45,0,20,0,21,0 33,0,3,0,17,0,35,0,55,0,38,0 7,0,48,0,30,0,39,0,40,0,11,0 54,0,2,0,37,0,19,0,26,0,50,0 29,0,13,0,34,0,10,0,1,0,22,0 25,0,16,0,8,0,4,0,43,0,53,0 52,0,6,0,46,0,18,0,27,0,15,0 49,0,28,0,9,0,42,0,41,0,36,0 32,0,5,0,24,0,14,0,23,0,47,0 48,0,12,0,39,0,19,0,13,0,31,0 8,0,34,0,38,0,37,0,40,0,20,0 1,0,18,0,11,0,35,0,16,0,50,0 7,0,42,0,27,0,33,0,29,0,41,0 25,0,28,0,32,0,51,0,46,0,55,0 15,0,30,0,6,0,22,0,47,0,49,0 17,0,4,0,26,0,24,0,44,0,9,0 5,0,23,0,53,0,10,0,43,0,21,0 54,0,14,0,52,0,2,0,3,0,45,0 19,0,35,0,29,0,36,0,13,0,28,0 6,0,49,0,41,0,38,0,11,0,51,0 34,0,20,0,27,0,16,0,48,0,26,0 10,0,17,0,5,0,32,0,31,0,15,0 52,0,33,0,53,0,9,0,47,0,37,0 43,0,18,0,45,0,42,0,22,0,2,0 23,0,50,0,12,0,55,0,40,0,30,0 21,0,1,0,14,0,54,0,8,0,7,0 44,0,36,0,4,0,3,0,39,0,46,0 24,0,16,0,33,0,25,0,31,0,29,0 11,0,26,0,43,0,19,0,28,0,47,0 45,0,5,0,55,0,6,0,48,0,20,0 15,0,12,0,40,0,14,0,18,0,9,0 46,0,44,0,34,0,50,0,42,0,53,0 21,0,36,0,24,0,41,0,1,0,52,0 4,0,30,0,22,0,38,0,2,0,32,0 23,0,54,0,35,0,7,0,51,0,39,0 25,0,3,0,49,0,17,0,37,0,13,0 10,0,8,0,31,0,27,0,55,0,9,0 14,0,29,0,15,0,33,0,20,0,43,0 22,0,50,0,28,0,24,0,52,0,48,0 51,0,40,0,32,0,1,0,44,0,53,0 41,0,54,0,5,0,18,0,25,0,4,0 42,0,26,0,45,0,13,0,11,0,30,0 12,0,2,0,27,0,7,0,36,0,17,0 6,0,38,0,37,0,39,0,16,0,21,0 19,0,3,0,34,0,49,0,23,0,8,0 35,0,47,0,41,0,46,0,10,0,20,0 ================================================ FILE: schedules/55_11.csv ================================================ 2,0,11,0,13,0,9,0,18,0,37,0 8,0,17,0,4,0,45,0,47,0,12,0 40,0,36,0,44,0,22,0,21,0,51,0 32,0,29,0,41,0,14,0,19,0,31,0 55,0,25,0,10,0,52,0,3,0,39,0 42,0,53,0,24,0,50,0,23,0,33,0 43,0,26,0,1,0,6,0,49,0,16,0 20,0,15,0,46,0,7,0,5,0,54,0 28,0,38,0,34,0,35,0,48,0,27,0 30,0,32,0,2,0,17,0,10,0,44,0 13,0,39,0,25,0,29,0,33,0,14,0 37,0,24,0,21,0,31,0,50,0,18,0 42,0,55,0,43,0,8,0,47,0,7,0 49,0,26,0,9,0,41,0,52,0,40,0 3,0,11,0,19,0,23,0,46,0,35,0 12,0,53,0,51,0,34,0,22,0,15,0 45,0,6,0,48,0,1,0,36,0,20,0 54,0,38,0,27,0,16,0,5,0,30,0 28,0,9,0,14,0,4,0,33,0,55,0 32,1,50,0,21,0,41,0,25,0,43,0 10,0,47,0,26,0,24,0,29,0,11,0 23,0,13,0,6,0,44,0,46,0,34,0 39,0,45,0,27,0,40,0,54,0,19,0 22,0,7,0,16,0,17,0,3,0,2,0 38,0,8,0,42,0,53,0,15,0,1,0 48,0,36,0,49,0,35,0,18,0,30,0 31,0,5,0,51,0,4,0,37,0,20,0 12,0,52,0,6,0,28,0,21,0,11,0 46,0,19,0,47,0,22,0,25,0,26,0 7,0,40,0,15,0,23,0,32,0,10,0 50,0,17,0,35,0,54,0,14,0,13,0 45,0,24,0,49,0,38,0,2,0,51,0 12,0,39,0,55,0,18,0,41,0,42,0 27,0,44,0,9,0,20,0,53,0,29,0 3,0,36,0,34,0,52,0,31,0,8,0 5,0,43,0,37,0,30,0,1,0,28,0 4,0,48,0,40,0,16,0,33,0,2,0 24,0,6,0,39,0,35,0,25,0,15,0 22,0,9,0,54,0,18,0,26,0,23,0 3,0,42,0,47,0,38,0,36,0,14,0 10,0,34,0,29,0,43,0,20,0,28,0 11,0,46,0,55,0,1,0,27,0,50,0 37,0,31,0,16,0,45,0,44,0,52,0 41,0,8,0,48,0,51,0,32,0,13,0 4,0,5,0,19,0,53,0,49,0,17,0 33,0,30,0,21,0,7,0,12,0,29,0 1,0,14,0,2,0,28,0,40,0,23,0 39,0,42,0,9,0,22,0,24,0,43,0 47,0,27,0,15,0,37,0,41,0,3,0 11,0,16,0,20,0,19,0,55,0,36,0 7,0,44,0,31,0,49,0,12,0,35,0 53,0,4,0,21,0,54,0,48,0,32,0 52,0,25,0,46,0,8,0,30,0,45,0 18,0,13,0,5,0,10,0,51,0,6,0 17,0,38,0,33,0,50,0,34,0,26,0 12,0,43,0,14,0,24,0,27,0,2,0 49,0,29,0,54,0,37,0,22,0,55,0 40,0,25,0,53,0,36,0,46,0,7,0 6,0,32,0,18,0,47,0,16,0,52,0 5,0,33,0,34,0,45,0,11,0,41,0 4,0,31,0,30,0,42,0,13,0,26,0 19,0,50,0,15,0,28,0,48,0,44,0 8,0,51,0,1,0,35,0,9,0,10,0 23,0,38,0,39,0,21,0,20,0,17,0 3,0,14,0,7,0,54,0,6,0,11,0 25,0,2,0,18,0,27,0,42,0,34,0 46,0,28,0,24,0,4,0,45,0,32,0 37,0,19,0,26,0,8,0,12,0,10,0 13,0,33,0,43,0,52,0,36,0,15,0 3,0,51,0,44,0,38,0,1,0,29,0 41,0,53,0,35,0,30,0,40,0,20,0 50,0,9,0,16,0,47,0,39,0,49,0 23,0,22,0,17,0,55,0,31,0,48,0 21,0,2,0,36,0,5,0,26,0,28,0 52,0,27,0,11,0,42,0,4,0,44,0 12,0,40,0,37,0,3,0,38,0,6,0 41,0,49,0,10,0,45,0,54,0,53,0 22,0,18,0,20,0,32,0,8,0,33,0 46,0,31,0,17,0,15,0,9,0,43,0 23,0,30,0,7,0,51,0,39,0,50,0 13,0,21,0,34,0,24,0,16,0,19,0 1,0,48,0,5,0,47,0,25,0,14,0 29,0,55,0,52,0,35,0,40,0,2,0 15,0,38,0,41,0,11,0,4,0,22,0 45,0,3,0,18,0,43,0,50,0,53,0 19,0,27,0,30,0,6,0,33,0,31,0 34,0,54,0,20,0,47,0,1,0,24,0 26,0,29,0,44,0,7,0,39,0,48,0 42,0,28,0,17,0,49,0,46,0,51,0 32,0,5,0,12,0,9,0,13,0,55,0 8,0,35,0,14,0,16,0,21,0,23,0 25,0,36,0,33,0,10,0,37,0,38,0 52,0,1,0,18,0,19,0,7,0,41,0 11,0,47,0,31,0,39,0,53,0,2,0 49,0,32,0,20,0,13,0,3,0,27,0 50,0,24,0,44,0,8,0,5,0,40,0 28,0,35,0,6,0,17,0,25,0,9,0 4,0,23,0,54,0,43,0,29,0,36,0 10,0,16,0,48,0,12,0,42,0,46,0 45,0,51,0,15,0,26,0,21,0,55,0 22,0,14,0,32,0,30,0,37,0,34,0 ================================================ FILE: schedules/55_12.csv ================================================ 41,0,23,0,53,0,51,0,6,0,30,0 36,0,16,0,14,0,1,0,10,0,45,0 52,0,54,0,48,0,34,0,11,0,31,0 12,0,33,0,49,0,19,0,29,0,47,0 7,0,8,0,20,0,2,0,38,0,46,0 27,0,4,0,39,0,15,0,9,0,18,0 24,0,5,0,42,0,37,0,22,0,43,0 28,0,35,0,21,0,13,0,26,0,40,0 17,0,55,0,32,0,44,0,50,0,25,0 3,0,54,0,33,0,52,0,6,0,36,0 48,0,12,0,16,0,18,0,46,0,4,0 42,0,47,0,30,0,2,0,27,0,34,0 7,0,21,0,38,0,39,0,51,0,19,0 50,0,41,0,8,0,49,0,28,0,13,0 37,0,55,0,35,0,32,0,3,0,45,0 1,0,23,0,26,0,15,0,24,0,22,0 40,0,44,0,14,0,29,0,9,0,31,0 43,0,53,0,11,0,17,0,25,0,20,0 10,0,50,0,7,0,5,0,16,0,27,0 55,0,4,0,30,0,28,0,52,0,37,0 45,0,24,0,33,0,39,0,46,0,13,0 8,0,40,0,12,0,22,0,14,0,41,0 23,0,3,0,49,0,48,0,20,0,9,0 21,0,51,0,43,0,36,0,44,0,29,0 35,0,53,0,34,0,15,0,19,0,5,0 54,0,25,0,31,0,18,0,42,0,1,0 10,0,38,0,32,0,6,0,26,0,11,0 2,0,7,0,28,0,17,0,47,0,9,0 49,0,43,0,30,0,16,0,46,0,55,0 20,0,22,0,50,0,48,0,4,0,14,0 21,0,18,0,52,0,53,0,13,0,8,0 44,0,32,0,1,0,10,0,19,0,27,0 26,0,39,0,35,0,54,0,29,0,34,0 2,0,36,0,23,0,33,0,41,0,37,0 5,0,17,0,31,0,12,0,45,0,51,0 47,0,25,0,24,0,40,0,15,0,38,0 11,0,42,0,13,0,3,0,6,0,53,0 14,0,49,0,1,0,34,0,21,0,30,0 19,0,41,0,54,0,23,0,55,0,7,0 46,0,52,0,9,0,36,0,5,0,50,0 15,0,8,0,45,0,10,0,43,0,48,0 38,0,24,0,6,0,44,0,35,0,2,0 18,0,16,0,51,0,33,0,11,0,40,0 20,0,4,0,3,0,39,0,47,0,31,0 28,0,32,0,26,0,42,0,12,0,25,0 29,0,37,0,27,0,17,0,22,0,8,0 44,0,13,0,48,0,7,0,30,0,54,0 55,0,10,0,34,0,51,0,9,0,53,0 36,0,1,0,39,0,23,0,40,0,20,0 38,0,43,0,33,0,28,0,12,0,3,0 45,0,22,0,26,0,47,0,11,0,50,0 16,0,2,0,4,0,25,0,29,0,35,0 27,0,46,0,42,0,21,0,15,0,41,0 37,0,6,0,5,0,14,0,17,0,18,0 19,0,32,0,49,0,52,0,31,0,24,0 34,0,40,0,1,0,33,0,55,0,44,0 22,0,2,0,39,0,12,0,53,0,10,0 21,0,23,0,54,0,45,0,16,0,38,0 6,0,29,0,50,0,47,0,7,0,15,0 42,0,4,0,32,0,8,0,5,0,51,0 31,0,41,0,20,0,24,0,18,0,30,0 3,0,35,0,11,0,27,0,14,0,13,0 48,0,17,0,36,0,28,0,19,0,25,0 37,0,49,0,9,0,46,0,26,0,43,0 52,0,2,0,5,0,45,0,39,0,44,0 55,0,47,0,6,0,21,0,8,0,31,0 12,0,29,0,18,0,34,0,24,0,50,0 33,0,36,0,15,0,7,0,14,0,32,0 9,0,13,0,19,0,16,0,20,0,42,0 41,0,43,0,40,0,52,0,53,0,38,0 37,0,11,0,51,0,1,0,48,0,28,0 25,0,3,0,30,0,54,0,49,0,22,0 46,0,17,0,10,0,35,0,4,0,23,0 27,0,55,0,31,0,26,0,5,0,33,0 53,0,45,0,42,0,24,0,16,0,7,0 37,0,20,0,15,0,12,0,44,0,21,0 11,0,19,0,18,0,30,0,9,0,2,0 32,0,25,0,39,0,6,0,48,0,8,0 54,0,47,0,51,0,43,0,50,0,35,0 28,0,14,0,29,0,27,0,23,0,52,0 41,0,3,0,26,0,4,0,1,0,17,0 38,0,34,0,13,0,46,0,36,0,22,0 40,0,49,0,48,0,10,0,42,0,2,0 50,0,39,0,53,0,31,0,37,0,7,0 25,0,52,0,15,0,20,0,51,0,27,0 24,0,12,0,23,0,11,0,14,0,55,0 9,0,43,0,1,0,13,0,6,0,32,0 44,0,18,0,26,0,28,0,40,0,46,0 47,0,41,0,34,0,3,0,10,0,16,0 30,0,19,0,38,0,4,0,45,0,29,0 5,0,22,0,35,0,36,0,49,0,21,0 33,0,8,0,9,0,17,0,54,0,15,0 40,0,31,0,18,0,23,0,43,0,32,0 14,0,37,0,39,0,16,0,25,0,41,0 51,0,52,0,7,0,26,0,12,0,2,0 34,0,6,0,22,0,28,0,20,0,45,0 8,0,46,0,29,0,19,0,1,0,3,0 30,0,35,0,10,0,50,0,33,0,21,0 53,0,27,0,24,0,4,0,54,0,36,0 55,0,5,0,13,0,47,0,48,0,38,0 11,0,17,0,44,0,49,0,42,0,39,0 16,0,15,0,28,0,31,0,3,0,2,0 10,0,40,0,6,0,19,0,50,0,37,0 25,0,1,0,22,0,9,0,7,0,35,0 47,0,14,0,46,0,54,0,53,0,32,0 27,0,45,0,18,0,38,0,51,0,49,0 24,0,21,0,48,0,52,0,17,0,33,0 36,0,12,0,30,0,42,0,8,0,26,0 13,0,4,0,43,0,23,0,34,0,44,0 11,0,20,0,5,0,55,0,29,0,41,0 ================================================ FILE: schedules/55_13.csv ================================================ 34,0,21,0,5,0,26,0,27,0,47,0 25,0,3,0,7,0,43,0,23,0,9,0 13,0,30,0,50,0,12,0,29,0,18,0 1,0,24,0,10,0,20,0,19,0,54,0 17,0,4,0,2,0,16,0,48,0,32,0 31,0,51,0,41,0,52,0,15,0,45,0 53,0,49,0,14,0,39,0,40,0,37,0 6,0,33,0,38,0,36,0,35,0,8,0 28,0,44,0,22,0,42,0,11,0,55,0 2,0,1,0,5,0,46,0,25,0,29,0 32,0,54,0,24,0,3,0,45,0,30,0 41,0,27,0,12,0,4,0,14,0,37,0 48,0,17,0,43,0,6,0,31,0,13,0 19,0,8,0,9,0,20,0,39,0,42,0 46,0,55,0,28,0,15,0,47,0,50,0 51,0,18,0,34,0,16,0,33,0,22,0 52,0,38,0,23,0,53,0,26,0,11,0 21,0,10,0,36,0,49,0,7,0,40,0 35,0,3,0,29,0,44,0,9,0,5,0 54,1,55,0,47,0,17,1,27,0,8,0 50,1,37,0,42,0,15,1,24,0,51,0 16,0,34,0,19,0,14,1,6,0,23,0 18,0,41,0,7,0,53,0,52,0,32,0 4,0,31,0,30,0,21,0,2,0,11,0 39,0,33,0,44,0,46,0,40,0,43,0 25,0,38,0,48,0,28,0,10,0,12,0 20,0,26,0,13,0,35,0,45,0,49,0 1,0,22,0,14,0,36,0,18,0,23,0 47,0,4,0,34,0,11,0,51,0,3,0 41,0,29,0,53,0,8,0,54,0,31,0 39,0,19,0,15,0,25,0,21,0,43,0 17,0,20,0,16,0,37,0,55,0,26,0 48,0,28,0,24,0,40,0,33,0,27,0 36,0,5,0,50,0,7,0,32,0,6,0 42,0,49,0,52,0,35,0,38,0,1,0 30,0,9,0,46,0,22,0,13,0,10,0 44,0,2,0,34,0,45,0,12,0,14,0 23,0,40,0,21,0,37,0,54,0,33,0 26,0,17,0,7,0,51,0,6,0,28,0 31,0,50,0,19,0,3,0,5,0,27,0 24,0,8,0,46,0,32,0,43,0,22,0 20,0,30,0,2,0,44,0,41,0,38,0 25,0,11,0,45,0,18,0,48,0,42,0 39,0,55,0,1,0,10,0,35,0,4,0 15,0,53,0,36,0,13,0,16,0,29,0 12,0,49,0,54,0,9,0,47,0,52,0 31,0,28,0,26,0,46,0,19,0,32,0 44,0,37,0,51,0,18,0,50,0,8,0 40,0,14,0,5,0,22,0,55,0,4,0 25,0,27,0,6,0,53,0,30,0,23,0 43,0,12,0,13,0,16,0,52,0,1,0 35,0,47,0,20,0,29,0,7,0,48,0 39,0,49,0,21,0,41,0,2,0,24,0 36,0,33,0,45,0,10,0,15,0,11,0 9,0,3,0,38,0,42,0,17,0,34,0 4,0,32,0,26,0,44,0,13,0,25,0 12,0,19,0,48,0,53,0,55,0,51,0 27,0,54,0,23,0,18,0,49,0,5,0 24,0,20,0,31,0,36,0,39,0,47,0 42,0,1,0,40,0,41,0,6,0,50,0 43,0,10,0,33,0,9,0,2,0,14,0 22,0,46,0,11,0,17,0,45,0,29,0 8,0,7,0,15,0,30,0,34,0,37,0 3,0,28,0,16,0,21,0,35,0,52,0 38,0,42,0,51,0,53,0,39,0,31,0 32,0,33,0,25,0,20,0,50,0,55,0 17,0,54,0,6,0,10,0,44,0,14,0 8,0,48,0,45,0,4,0,24,0,49,0 35,0,5,0,11,0,43,0,2,0,37,0 36,0,13,0,28,0,23,0,34,0,41,0 52,0,12,0,22,0,21,0,29,0,19,0 38,0,16,0,46,0,27,0,7,0,9,0 40,0,26,0,3,0,15,0,1,0,30,0 18,0,4,0,33,0,47,0,31,0,43,0 54,0,50,0,53,0,34,0,20,0,11,0 39,0,12,0,8,0,5,0,23,0,17,0 52,0,41,0,46,0,25,0,16,0,24,0 38,0,49,0,13,0,55,0,19,0,14,0 40,0,32,0,10,0,29,0,27,0,42,0 51,0,9,0,36,0,44,0,21,0,48,0 15,0,26,0,6,0,7,0,2,0,22,0 37,0,45,0,1,0,28,0,30,0,47,0 18,0,35,0,53,0,3,0,46,0,34,0 11,0,32,0,29,0,39,0,14,0,38,0 52,0,27,0,10,0,44,0,36,0,4,0 43,0,54,0,41,0,26,0,48,0,50,0 8,0,2,0,33,0,7,0,1,0,19,0 24,0,30,0,42,0,16,0,5,0,12,0 51,0,47,0,40,0,23,0,25,0,35,0 21,0,9,0,18,0,45,0,55,0,6,0 37,0,49,0,22,0,17,0,31,0,15,0 13,0,3,0,14,0,28,0,20,0,8,0 54,0,7,0,46,0,42,0,12,0,4,0 32,0,50,0,2,0,34,0,40,0,52,0 55,0,30,0,29,0,51,0,45,0,43,0 25,0,47,0,37,0,38,0,22,0,36,0 23,0,1,0,26,0,31,0,10,0,48,0 15,0,28,0,5,0,20,0,44,0,18,0 13,0,53,0,17,0,24,0,21,0,33,0 27,0,11,0,19,0,35,0,41,0,9,0 6,0,49,0,16,0,39,0,3,0,50,0 23,0,55,0,8,0,36,0,52,0,2,0 43,0,15,0,4,0,28,0,38,0,54,0 34,0,14,0,48,0,42,0,46,0,21,0 5,0,10,0,47,0,51,0,32,0,13,0 44,0,16,0,30,0,33,0,49,0,19,0 35,0,7,0,39,0,41,0,3,0,22,0 45,0,27,0,53,0,17,0,25,0,1,0 26,0,29,0,9,0,18,0,37,0,24,0 12,0,31,0,11,0,20,0,40,0,6,0 21,0,16,0,50,0,38,0,10,0,8,0 30,0,14,0,52,0,48,0,5,0,39,0 51,0,27,0,22,0,2,0,54,0,13,0 44,0,32,0,15,0,9,0,53,0,1,0 18,0,17,0,47,0,19,0,40,0,41,0 42,0,36,0,3,0,12,0,26,0,33,0 31,0,25,0,55,0,11,0,7,0,24,0 29,0,6,0,43,0,49,0,34,0,28,0 23,0,20,0,37,0,46,0,4,0,45,0 35,0,17,0,50,0,54,0,15,0,14,0 ================================================ FILE: schedules/55_14.csv ================================================ 28,0,33,0,53,0,55,0,49,0,51,0 43,0,44,0,20,0,13,0,8,0,37,0 38,0,4,0,12,0,32,0,31,0,3,0 5,0,21,0,30,0,36,0,50,0,7,0 40,0,6,0,14,0,52,0,15,0,34,0 29,0,9,0,17,0,18,0,54,0,48,0 2,0,24,0,19,0,11,0,41,0,16,0 46,0,42,0,26,0,27,0,25,0,39,0 47,0,35,0,22,0,10,0,45,0,23,0 12,0,8,0,6,0,1,0,28,0,7,0 14,0,31,0,54,0,38,0,3,0,9,0 53,0,30,0,24,0,15,0,19,0,20,0 48,0,4,0,2,0,42,0,43,0,5,0 10,0,51,0,35,0,37,0,26,0,55,0 1,0,45,0,25,0,39,0,50,0,52,0 16,0,33,0,21,0,27,0,34,0,17,0 13,0,22,0,44,0,11,0,49,0,47,0 23,0,36,0,18,0,32,0,46,0,41,0 40,0,43,0,31,0,29,0,24,0,51,0 3,1,2,0,26,0,6,1,1,0,5,0 7,1,4,0,35,0,17,1,33,0,20,0 47,0,52,0,38,0,37,0,9,0,30,0 53,0,50,0,41,0,12,0,46,0,48,0 15,0,29,0,39,0,22,0,25,0,19,0 44,0,55,0,23,0,8,0,21,0,14,0 11,0,18,0,32,0,42,0,34,0,10,0 54,0,45,0,36,0,13,0,27,0,40,0 16,0,28,0,26,0,49,0,30,0,38,0 46,0,35,0,5,0,47,0,43,0,9,0 25,0,48,0,6,0,37,0,14,0,4,0 32,0,22,0,10,0,7,0,55,0,24,0 31,0,39,0,8,0,11,0,52,0,27,0 51,0,17,0,50,0,2,0,36,0,20,0 3,0,41,0,34,0,54,0,28,0,13,0 45,0,44,0,33,0,53,0,29,0,42,0 21,0,12,0,1,0,49,0,19,0,40,0 18,0,16,0,24,0,15,0,23,0,26,0 46,0,11,0,14,0,20,0,27,0,22,0 17,0,5,0,13,0,30,0,51,0,32,0 28,0,10,0,39,0,34,0,43,0,48,0 19,0,50,0,33,0,52,0,1,0,3,0 16,0,9,0,12,0,4,0,25,0,21,0 40,0,54,0,7,0,53,0,37,0,23,0 42,0,2,0,15,0,36,0,8,0,47,0 35,0,41,0,44,0,45,0,6,0,31,0 18,0,29,0,49,0,55,0,38,0,20,0 11,0,48,0,51,0,32,0,27,0,1,0 43,0,37,0,22,0,3,0,23,0,50,0 9,0,7,0,34,0,2,0,12,0,47,0 28,0,15,0,41,0,52,0,35,0,42,0 4,0,49,0,54,0,10,0,26,0,44,0 38,0,31,0,17,0,40,0,45,0,16,0 6,0,13,0,30,0,55,0,25,0,46,0 39,0,24,0,5,0,18,0,53,0,21,0 36,0,19,0,14,0,8,0,29,0,33,0 47,0,37,0,27,0,2,0,1,0,41,0 38,0,51,0,7,0,4,0,34,0,50,0 17,0,12,0,52,0,43,0,35,0,15,0 49,0,23,0,13,0,9,0,42,0,54,0 29,0,14,0,16,0,39,0,6,0,46,0 5,0,3,0,8,0,25,0,10,0,24,0 18,0,28,0,19,0,36,0,40,0,44,0 33,0,55,0,48,0,11,0,45,0,30,0 53,0,32,0,20,0,21,0,26,0,31,0 22,0,1,0,29,0,41,0,13,0,4,0 16,0,42,0,8,0,37,0,51,0,54,0 47,0,14,0,50,0,24,0,49,0,28,0 2,0,45,0,34,0,46,0,19,0,23,0 6,0,20,0,52,0,36,0,3,0,53,0 17,0,44,0,21,0,48,0,22,0,38,0 7,0,30,0,27,0,39,0,43,0,18,0 15,0,40,0,9,0,11,0,55,0,5,0 25,0,32,0,26,0,33,0,35,0,12,0 31,0,23,0,42,0,10,0,50,0,13,0 49,0,22,0,45,0,6,0,2,0,51,0 39,0,17,0,4,0,8,0,44,0,34,0 53,0,7,0,5,0,3,0,29,0,11,0 41,0,20,0,47,0,28,0,40,0,25,0 43,0,55,0,1,0,38,0,54,0,19,0 36,0,27,0,10,0,30,0,16,0,35,0 48,0,37,0,52,0,18,0,12,0,26,0 21,0,15,0,46,0,31,0,33,0,24,0 32,0,14,0,34,0,9,0,20,0,45,0 3,0,54,0,55,0,39,0,2,0,44,0 22,0,42,0,41,0,5,0,38,0,16,0 40,0,29,0,50,0,8,0,26,0,35,0 6,0,27,0,33,0,13,0,24,0,12,0 25,0,31,0,15,0,7,0,48,0,49,0 19,0,53,0,10,0,28,0,32,0,37,0 30,0,1,0,4,0,17,0,14,0,23,0 21,0,52,0,51,0,47,0,18,0,46,0 11,0,9,0,26,0,36,0,43,0,29,0 20,0,3,0,42,0,40,0,48,0,35,0 50,0,32,0,45,0,16,0,54,0,15,0 30,0,34,0,12,0,2,0,22,0,31,0 27,0,41,0,21,0,10,0,47,0,33,0 6,0,38,0,24,0,23,0,9,0,39,0 36,0,51,0,25,0,7,0,14,0,44,0 37,0,1,0,11,0,4,0,46,0,28,0 49,0,52,0,53,0,43,0,17,0,8,0 13,0,55,0,19,0,5,0,18,0,50,0 10,0,30,0,29,0,42,0,40,0,12,0 23,0,38,0,27,0,51,0,15,0,3,0 44,0,48,0,28,0,24,0,22,0,9,0 21,0,11,0,20,0,35,0,6,0,54,0 47,0,25,0,34,0,17,0,53,0,55,0 36,0,37,0,39,0,5,0,49,0,31,0 18,0,33,0,1,0,16,0,2,0,7,0 46,0,45,0,8,0,4,0,19,0,26,0 43,0,32,0,13,0,14,0,41,0,52,0 54,0,30,0,17,0,6,0,11,0,50,0 34,0,23,0,28,0,29,0,5,0,48,0 40,0,37,0,20,0,39,0,22,0,33,0 25,0,12,0,7,0,45,0,18,0,51,0 14,0,26,0,49,0,41,0,19,0,31,0 35,0,38,0,13,0,8,0,53,0,2,0 16,0,43,0,3,0,47,0,21,0,32,0 55,0,36,0,52,0,4,0,24,0,42,0 9,0,46,0,10,0,1,0,44,0,15,0 27,0,31,0,18,0,28,0,22,0,6,0 11,0,40,0,2,0,12,0,53,0,14,0 3,0,37,0,49,0,29,0,21,0,45,0 54,0,43,0,23,0,33,0,25,0,5,0 46,0,52,0,13,0,7,0,17,0,10,0 24,0,35,0,36,0,34,0,38,0,1,0 48,0,20,0,26,0,16,0,55,0,47,0 50,0,15,0,27,0,4,0,44,0,32,0 51,0,8,0,9,0,30,0,41,0,39,0 19,0,3,0,7,0,42,0,6,0,17,0 ================================================ FILE: schedules/55_2.csv ================================================ 37,0,19,0,9,0,17,0,48,0,8,0 2,0,18,0,39,0,34,0,28,0,49,0 7,0,26,0,22,0,3,0,16,0,30,0 44,0,46,0,27,0,42,0,20,0,15,0 40,0,24,0,1,0,13,0,6,0,4,0 38,0,32,0,31,0,12,0,25,0,33,0 54,0,45,0,50,0,51,0,41,0,23,0 53,0,47,0,55,0,11,0,10,0,43,0 29,0,21,0,5,0,14,0,36,0,52,0 26,0,8,0,20,0,35,0,39,0,4,0 42,0,6,0,3,0,19,0,18,0,38,0 15,0,48,0,1,0,2,0,7,0,45,0 44,0,41,0,16,0,9,0,55,0,31,0 22,0,28,0,12,0,27,0,29,0,43,0 49,0,17,0,36,0,54,0,24,0,53,0 11,0,13,0,32,0,37,0,23,0,21,0 10,0,14,0,33,0,30,0,50,0,40,0 34,0,35,0,5,0,47,0,25,0,51,0 52,0,8,1,45,1,46,0,2,1,39,1 ================================================ FILE: schedules/55_3.csv ================================================ 20,0,28,0,39,0,38,0,1,0,33,0 6,0,55,0,18,0,11,0,5,0,14,0 35,0,47,0,52,0,45,0,7,0,37,0 4,0,54,0,3,0,8,0,22,0,46,0 44,0,23,0,16,0,26,0,29,0,50,0 10,0,12,0,27,0,25,0,30,0,41,0 32,0,53,0,31,0,43,0,2,0,40,0 34,0,17,0,42,0,51,0,36,0,49,0 9,0,19,0,13,0,21,0,48,0,15,0 24,0,45,0,1,0,54,0,29,0,18,0 55,1,3,0,20,0,26,1,7,0,12,0 11,0,30,0,38,0,46,1,53,0,47,0 10,0,22,0,36,0,6,0,43,0,28,0 5,0,9,0,37,0,23,0,39,0,32,0 8,0,48,0,49,0,44,0,41,0,31,0 51,0,15,0,4,0,16,0,2,0,14,0 17,0,21,0,40,0,50,0,27,0,35,0 52,0,25,0,24,0,33,0,34,0,19,0 42,0,29,0,32,0,13,0,46,0,28,0 48,0,54,0,43,0,5,0,26,0,30,0 45,0,41,0,15,0,36,0,38,0,3,0 1,0,49,0,16,0,35,0,9,0,55,0 53,0,33,0,18,0,10,0,50,0,51,0 12,0,23,0,6,0,4,0,17,0,52,0 14,0,47,0,13,0,24,0,27,0,44,0 7,0,25,0,8,0,2,0,39,0,21,0 22,0,19,0,40,0,20,0,11,0,42,0 37,0,31,0,26,0,34,0,55,0,46,0 ================================================ FILE: schedules/55_4.csv ================================================ 17,0,25,0,19,0,27,0,36,0,54,0 7,0,45,0,22,0,11,0,20,0,42,0 3,0,34,0,29,0,21,0,47,0,13,0 43,0,30,0,28,0,4,0,40,0,26,0 10,0,1,0,31,0,38,0,44,0,55,0 23,0,53,0,12,0,51,0,52,0,8,0 15,0,41,0,16,0,46,0,37,0,6,0 14,0,50,0,32,0,39,0,33,0,18,0 24,0,49,0,48,0,5,0,2,0,35,0 44,0,28,0,20,0,9,0,13,0,25,0 10,0,36,0,47,0,4,0,53,0,7,0 26,0,52,0,16,0,21,0,22,0,31,0 54,0,11,0,39,0,40,0,1,0,34,0 17,0,12,0,45,0,49,0,55,0,14,0 2,0,51,0,46,0,3,0,50,0,19,0 5,0,43,0,37,0,18,0,29,0,23,0 38,0,8,0,9,0,41,0,32,0,24,0 42,0,48,0,33,0,6,0,27,0,30,0 35,0,7,0,13,0,15,0,40,0,17,0 1,1,20,0,53,0,50,1,26,0,49,0 16,0,5,0,36,0,39,0,28,0,51,0 25,0,55,0,23,0,24,0,22,0,47,0 37,0,44,0,8,0,14,0,19,0,48,0 6,0,45,0,54,0,29,0,10,0,32,0 52,0,46,0,38,0,43,0,27,0,34,0 9,0,31,0,15,0,4,0,3,0,33,0 21,0,11,0,35,0,30,0,18,0,12,0 41,0,47,0,1,0,2,0,42,0,17,0 26,0,51,0,25,0,29,0,14,0,7,0 27,0,40,0,44,0,45,0,50,0,16,0 3,0,32,0,55,0,20,0,52,0,5,0 19,0,15,0,30,0,38,0,22,0,53,0 34,0,18,0,48,0,36,0,31,0,41,0 49,0,8,0,13,0,10,0,11,0,33,0 43,0,6,0,39,0,12,0,9,0,2,0 46,0,54,0,42,0,28,0,23,0,35,0 21,0,4,0,50,0,37,0,24,0,1,0 ================================================ FILE: schedules/55_5.csv ================================================ 35,0,11,0,42,0,10,0,17,0,40,0 49,0,16,0,38,0,22,0,36,0,14,0 3,0,8,0,43,0,32,0,12,0,52,0 50,0,29,0,33,0,45,0,54,0,20,0 41,0,15,0,23,0,47,0,24,0,19,0 28,0,55,0,44,0,18,0,53,0,5,0 7,0,25,0,51,0,31,0,1,0,48,0 30,0,39,0,46,0,9,0,26,0,37,0 6,0,27,0,2,0,21,0,34,0,4,0 12,0,11,0,20,0,13,0,38,0,15,0 23,0,33,0,32,0,53,0,42,0,36,0 8,0,40,0,28,0,16,0,1,0,54,0 44,0,29,0,22,0,48,0,30,0,19,0 7,0,24,0,43,0,55,0,9,0,27,0 35,0,18,0,26,0,6,0,41,0,14,0 13,0,31,0,50,0,21,0,5,0,37,0 17,0,4,0,52,0,47,0,45,0,51,0 25,0,3,0,10,0,49,0,2,0,39,0 34,0,23,0,54,0,46,0,7,0,44,0 20,1,18,0,1,0,32,0,22,0,24,0 42,0,9,0,48,0,38,0,41,0,21,0 45,0,14,0,37,0,53,0,40,0,43,0 27,0,26,0,47,0,10,0,12,0,31,0 19,0,51,0,28,0,34,0,11,0,49,0 6,0,13,0,46,0,17,0,3,0,16,0 55,0,4,0,36,0,25,0,50,0,30,0 5,0,15,0,33,0,39,0,8,0,35,0 52,0,2,0,9,0,29,0,40,0,23,0 38,0,19,0,54,0,31,0,43,0,18,0 41,0,53,0,20,0,51,0,16,0,10,0 24,0,36,0,21,0,26,0,17,0,28,0 22,0,25,0,8,0,45,0,13,0,27,0 34,0,37,0,3,0,29,0,47,0,35,0 12,0,49,0,55,0,6,0,33,0,48,0 52,0,44,0,39,0,1,0,50,0,14,0 32,0,7,0,30,0,11,0,5,0,2,0 4,0,46,0,31,0,42,0,15,0,28,0 13,0,36,0,10,0,51,0,29,0,43,0 20,0,17,0,49,0,37,0,27,0,23,0 18,0,21,0,16,0,52,0,33,0,25,0 40,0,6,0,47,0,44,0,32,0,38,0 1,0,5,0,9,0,19,0,4,0,12,0 48,0,45,0,46,0,2,0,35,0,24,0 54,0,22,0,11,0,55,0,41,0,39,0 53,0,15,0,26,0,50,0,7,0,3,0 34,0,8,0,14,0,42,0,30,0,20,0 ================================================ FILE: schedules/55_6.csv ================================================ 18,0,5,0,32,0,40,0,25,0,8,0 44,0,39,0,50,0,22,0,7,0,17,0 15,0,26,0,45,0,37,0,47,0,6,0 49,0,2,0,11,0,35,0,54,0,20,0 27,0,42,0,31,0,48,0,36,0,28,0 21,0,12,0,43,0,51,0,9,0,23,0 46,0,14,0,55,0,13,0,29,0,38,0 24,0,53,0,19,0,10,0,3,0,41,0 34,0,4,0,52,0,33,0,1,0,16,0 30,0,37,0,2,0,42,0,44,0,40,0 6,0,39,0,8,0,27,0,54,0,51,0 7,0,11,0,14,0,31,0,21,0,32,0 18,0,19,0,26,0,49,0,12,0,22,0 16,0,53,0,10,0,50,0,55,0,48,0 33,0,46,0,25,0,43,0,45,0,41,0 38,0,52,0,23,0,47,0,30,0,5,0 13,0,3,0,9,0,28,0,35,0,4,0 15,0,36,0,29,0,24,0,17,0,1,0 34,0,14,0,48,0,20,0,19,0,37,0 51,0,26,0,50,0,2,0,33,0,31,0 32,0,12,0,54,0,53,0,52,0,44,0 3,0,16,0,40,0,49,0,43,0,39,0 23,0,15,0,18,0,27,0,13,0,41,0 46,0,4,0,7,0,36,0,10,0,8,0 5,0,42,0,45,0,9,0,29,0,20,0 1,0,30,0,55,0,21,0,6,0,22,0 28,0,47,0,25,0,34,0,24,0,11,0 17,0,35,0,51,0,38,0,16,0,37,0 8,0,43,0,32,0,2,0,48,0,15,0 20,0,41,0,12,0,39,0,4,0,31,0 26,0,1,0,53,0,13,0,40,0,7,0 54,0,29,0,33,0,36,0,47,0,18,0 28,0,50,0,5,0,46,0,19,0,6,0 23,0,35,0,44,0,24,0,25,0,55,0 30,0,45,0,27,0,14,0,17,0,3,0 9,0,34,0,22,0,10,0,38,0,11,0 42,0,49,0,41,0,21,0,52,0,8,0 6,0,2,0,7,0,16,0,12,0,29,0 31,0,44,0,47,0,13,0,19,0,43,0 40,0,14,0,4,0,50,0,15,0,54,0 22,0,24,0,27,0,5,0,33,0,37,0 35,0,32,0,34,0,26,0,46,0,42,0 36,0,38,0,21,0,25,0,53,0,20,0 1,0,11,0,39,0,45,0,23,0,48,0 17,0,52,0,9,0,3,0,18,0,55,0 49,0,30,0,10,0,51,0,28,0,15,0 22,0,16,0,41,0,47,0,32,0,14,0 4,0,19,0,29,0,21,0,25,0,27,0 39,0,13,0,36,0,34,0,5,0,2,0 50,0,38,0,12,0,42,0,3,0,11,0 48,0,8,0,24,0,30,0,26,0,9,0 43,0,37,0,28,0,54,0,55,0,7,0 17,0,33,0,6,0,23,0,49,0,53,0 31,0,52,0,10,0,40,0,35,0,45,0 51,0,20,0,46,0,18,0,1,0,44,0 ================================================ FILE: schedules/55_7.csv ================================================ 12,0,1,0,23,0,26,0,24,0,22,0 7,0,4,0,9,0,46,0,48,0,2,0 47,0,37,0,42,0,41,0,36,0,15,0 55,0,31,0,13,0,30,0,28,0,52,0 18,0,33,0,40,0,19,0,20,0,38,0 21,0,14,0,39,0,27,0,35,0,8,0 44,0,17,0,29,0,45,0,50,0,32,0 6,0,11,0,34,0,53,0,49,0,3,0 25,0,54,0,5,0,43,0,10,0,16,0 51,0,2,0,18,0,12,0,47,0,52,0 28,0,9,0,8,0,35,0,24,0,33,0 36,0,45,0,39,0,38,0,31,0,1,0 3,0,21,0,15,0,19,0,48,0,44,0 49,0,32,0,23,0,54,0,20,0,46,0 10,0,53,0,14,0,51,0,55,0,43,0 41,0,29,0,5,0,13,0,40,0,34,0 30,0,22,0,25,0,11,0,37,0,4,0 26,0,27,0,6,0,7,0,50,0,42,0 17,0,49,0,12,0,16,0,33,0,8,0 18,1,53,0,24,0,15,1,44,0,31,0 43,1,35,0,34,0,32,1,46,0,47,0 9,1,22,0,19,0,10,0,29,0,36,0 2,0,54,0,30,0,26,0,28,0,40,0 41,0,52,0,11,0,6,0,21,0,45,0 50,0,48,0,25,0,39,0,5,0,23,0 27,0,37,0,55,0,51,0,1,0,17,0 16,0,3,0,14,0,4,0,42,0,20,0 13,0,38,0,44,0,7,0,43,0,26,0 35,0,40,0,32,0,52,0,33,0,53,0 54,0,19,0,47,0,48,0,11,0,45,0 23,0,22,0,8,0,41,0,31,0,51,0 16,0,36,0,30,0,24,0,34,0,21,0 3,0,39,0,7,0,12,0,29,0,55,0 50,0,46,0,14,0,25,0,13,0,18,0 27,0,20,0,15,0,4,0,5,0,28,0 10,0,2,0,38,0,6,0,37,0,17,0 42,0,49,0,44,0,9,0,1,0,52,0 40,0,11,0,43,0,12,0,39,0,24,0 8,0,46,0,55,0,45,0,16,0,22,0 4,0,50,0,33,0,54,0,51,0,34,0 18,0,26,0,17,0,41,0,3,0,35,0 37,0,19,0,31,0,49,0,13,0,7,0 48,0,6,0,15,0,20,0,14,0,1,0 29,0,9,0,38,0,47,0,23,0,30,0 28,0,42,0,32,0,10,0,21,0,5,0 36,0,53,0,27,0,2,0,25,0,3,0 39,0,34,0,4,0,45,0,18,0,37,0 7,0,24,0,52,0,41,0,14,0,54,0 55,0,15,0,35,0,38,0,49,0,50,0 1,0,48,0,8,0,32,0,10,0,13,0 51,0,26,0,9,0,28,0,11,0,16,0 53,0,12,0,19,0,30,0,46,0,27,0 36,0,43,0,42,0,40,0,17,0,23,0 33,0,5,0,22,0,6,0,44,0,47,0 21,0,2,0,20,0,31,0,25,0,29,0 4,0,24,0,10,0,39,0,26,0,49,0 48,0,41,0,32,0,38,0,16,0,27,0 43,0,52,0,50,0,8,0,3,0,37,0 54,0,6,0,18,0,9,0,55,0,36,0 51,0,45,0,40,0,7,0,25,0,15,0 44,0,28,0,12,0,23,0,34,0,14,0 47,0,20,0,17,0,13,0,21,0,53,0 33,0,31,0,46,0,42,0,11,0,29,0 1,0,5,0,2,0,30,0,35,0,19,0 18,0,43,0,9,0,22,0,15,0,32,0 ================================================ FILE: schedules/55_8.csv ================================================ 45,0,30,0,21,0,43,0,39,0,19,0 42,0,23,0,44,0,24,0,2,0,11,0 17,0,54,0,31,0,1,0,20,0,49,0 18,0,16,0,36,0,6,0,10,0,53,0 38,0,55,0,13,0,27,0,14,0,9,0 34,0,4,0,28,0,52,0,50,0,26,0 22,0,47,0,12,0,25,0,41,0,29,0 5,0,3,0,8,0,15,0,40,0,51,0 37,0,32,0,33,0,48,0,35,0,46,0 10,0,14,0,24,0,7,0,20,0,39,0 11,0,27,0,1,0,4,0,18,0,30,0 42,0,26,0,29,0,55,0,17,0,43,0 6,0,9,0,41,0,19,0,31,0,5,0 33,0,28,0,3,0,37,0,44,0,53,0 36,0,34,0,50,0,48,0,25,0,8,0 49,0,32,0,16,0,23,0,13,0,22,0 12,0,15,0,35,0,21,0,38,0,54,0 45,0,40,0,52,0,2,0,46,0,7,0 47,0,26,0,6,0,51,0,37,0,30,0 10,1,17,0,27,0,9,1,24,0,48,0 50,1,29,0,39,0,49,1,31,0,18,0 15,0,8,0,13,0,33,0,41,0,20,0 55,0,46,0,34,0,11,0,16,0,21,0 32,0,35,0,25,0,7,0,40,0,53,0 45,0,28,0,23,0,42,0,36,0,1,0 44,0,5,0,22,0,14,0,54,0,4,0 19,0,2,0,47,0,3,0,38,0,43,0 12,0,11,0,49,0,51,0,52,0,8,0 21,0,26,0,37,0,10,0,40,0,13,0 53,0,20,0,29,0,50,0,6,0,1,0 44,0,9,0,30,0,41,0,34,0,32,0 22,0,27,0,31,0,43,0,28,0,46,0 5,0,24,0,42,0,52,0,33,0,38,0 14,0,25,0,18,0,23,0,35,0,19,0 54,0,3,0,51,0,17,0,45,0,16,0 39,0,36,0,2,0,15,0,55,0,47,0 48,0,7,0,43,0,4,0,12,0,9,0 53,0,52,0,24,0,8,0,26,0,30,0 19,0,34,0,38,0,29,0,49,0,46,0 40,0,33,0,14,0,16,0,50,0,54,0 39,0,6,0,13,0,35,0,3,0,11,0 51,0,36,0,7,0,41,0,42,0,27,0 10,0,15,0,1,0,25,0,44,0,12,0 4,0,48,0,31,0,23,0,21,0,2,0 22,0,45,0,20,0,5,0,55,0,37,0 28,0,17,0,32,0,47,0,18,0,8,0 9,0,3,0,46,0,14,0,36,0,26,0 35,0,43,0,52,0,16,0,44,0,41,0 51,0,23,0,4,0,38,0,39,0,53,0 49,0,25,0,6,0,45,0,27,0,33,0 29,0,54,0,13,0,10,0,28,0,2,0 40,0,37,0,24,0,12,0,34,0,31,0 47,0,7,0,21,0,18,0,1,0,5,0 19,0,50,0,15,0,22,0,11,0,17,0 55,0,20,0,42,0,32,0,48,0,30,0 8,0,54,0,46,0,39,0,9,0,25,0 41,0,2,0,53,0,34,0,49,0,14,0 24,0,4,0,35,0,29,0,36,0,28,0 38,0,26,0,17,0,21,0,6,0,22,0 31,0,37,0,16,0,7,0,15,0,42,0 19,0,52,0,1,0,10,0,32,0,55,0 23,0,30,0,27,0,3,0,50,0,12,0 20,0,40,0,11,0,43,0,47,0,33,0 18,0,48,0,44,0,13,0,45,0,51,0 5,0,2,0,9,0,16,0,25,0,28,0 4,0,10,0,7,0,55,0,8,0,6,0 21,0,49,0,50,0,32,0,24,0,3,0 31,0,20,0,38,0,52,0,11,0,36,0 43,0,54,0,41,0,18,0,37,0,23,0 12,0,5,0,46,0,53,0,17,0,13,0 14,0,29,0,30,0,48,0,45,0,15,0 44,0,27,0,39,0,19,0,26,0,40,0 33,0,35,0,1,0,51,0,34,0,22,0 47,0,10,0,50,0,42,0,9,0,49,0 ================================================ FILE: schedules/55_9.csv ================================================ 54,0,20,0,16,0,47,0,50,0,41,0 7,0,30,0,42,0,51,0,17,0,6,0 15,0,39,0,19,0,37,0,26,0,40,0 48,0,2,0,4,0,43,0,12,0,23,0 29,0,49,0,53,0,52,0,10,0,34,0 9,0,28,0,32,0,8,0,46,0,44,0 18,0,14,0,27,0,35,0,33,0,1,0 21,0,45,0,24,0,25,0,36,0,22,0 5,0,3,0,55,0,31,0,11,0,38,0 13,0,52,0,15,0,39,0,50,0,42,0 46,0,37,0,4,0,7,0,54,0,49,0 26,0,27,0,17,0,28,0,29,0,18,0 22,0,12,0,10,0,16,0,25,0,44,0 6,0,30,0,2,0,35,0,48,0,34,0 38,0,24,0,5,0,41,0,23,0,40,0 9,0,20,0,51,0,55,0,14,0,31,0 13,0,53,0,1,0,33,0,21,0,3,0 47,0,36,0,45,0,43,0,19,0,32,0 8,0,52,0,7,0,11,0,18,0,16,0 12,1,29,0,50,0,46,1,22,0,6,0 24,1,27,0,23,0,10,0,49,0,51,0 48,0,9,0,37,0,41,0,38,0,33,0 36,0,39,0,17,0,14,0,2,0,53,0 25,0,1,0,19,0,42,0,28,0,55,0 43,0,54,0,34,0,8,0,15,0,31,0 44,0,26,0,30,0,11,0,47,0,21,0 13,0,4,0,35,0,32,0,20,0,5,0 45,0,40,0,46,0,3,0,52,0,14,0 10,0,36,0,50,0,38,0,51,0,48,0 49,0,16,0,24,0,31,0,19,0,28,0 27,0,54,0,42,0,43,0,22,0,9,0 29,0,33,0,5,0,39,0,55,0,30,0 11,0,8,0,25,0,41,0,35,0,37,0 2,0,15,0,21,0,7,0,20,0,45,0 44,0,47,0,40,0,53,0,6,0,4,0 34,0,26,0,32,0,1,0,23,0,3,0 17,0,18,0,19,0,13,0,12,0,38,0 37,0,25,0,43,0,50,0,30,0,14,0 16,0,21,0,29,0,54,0,35,0,24,0 55,0,52,0,49,0,22,0,8,0,47,0 42,0,41,0,1,0,10,0,2,0,44,0 33,0,11,0,51,0,32,0,46,0,15,0 34,0,12,0,17,0,5,0,39,0,9,0 20,0,40,0,3,0,48,0,7,0,28,0 18,0,4,0,31,0,27,0,45,0,53,0 23,0,26,0,6,0,36,0,13,0,37,0 32,0,21,0,51,0,52,0,41,0,29,0 49,0,38,0,47,0,2,0,33,0,25,0 44,0,1,0,24,0,5,0,43,0,7,0 15,0,28,0,35,0,12,0,9,0,53,0 13,0,55,0,16,0,36,0,27,0,46,0 4,0,39,0,54,0,6,0,18,0,3,0 14,0,11,0,34,0,48,0,19,0,22,0 8,0,20,0,23,0,45,0,17,0,42,0 50,0,31,0,26,0,30,0,40,0,10,0 13,0,2,0,51,0,28,0,16,0,37,0 15,0,3,0,7,0,27,0,25,0,47,0 33,0,19,0,9,0,29,0,22,0,4,0 38,0,53,0,32,0,14,0,6,0,24,0 18,0,49,0,42,0,50,0,21,0,5,0 34,0,45,0,41,0,26,0,55,0,46,0 20,0,43,0,39,0,10,0,23,0,11,0 30,0,36,0,12,0,8,0,54,0,1,0 31,0,52,0,35,0,17,0,48,0,44,0 40,0,22,0,2,0,18,0,25,0,32,0 37,0,42,0,38,0,27,0,34,0,16,0 28,0,5,0,6,0,33,0,10,0,45,0 43,0,8,0,14,0,13,0,29,0,26,0 50,0,11,0,15,0,17,0,4,0,24,0 54,0,21,0,12,0,51,0,55,0,40,0 48,0,31,0,47,0,46,0,39,0,1,0 7,0,23,0,19,0,41,0,53,0,30,0 44,0,35,0,20,0,49,0,3,0,36,0 9,0,27,0,6,0,52,0,24,0,2,0 45,0,14,0,32,0,12,0,16,0,42,0 46,0,47,0,10,0,17,0,37,0,21,0 53,0,48,0,25,0,26,0,54,0,5,0 41,0,7,0,22,0,13,0,31,0,39,0 28,0,38,0,52,0,30,0,43,0,4,0 8,0,3,0,35,0,51,0,19,0,50,0 55,0,29,0,44,0,18,0,15,0,23,0 36,0,11,0,1,0,49,0,9,0,40,0 33,0,34,0,46,0,20,0,12,0,24,0 ================================================ FILE: schedules/56_1.csv ================================================ 32,0,22,0,21,0,4,0,40,0,15,0 7,0,19,0,36,0,44,0,51,0,47,0 38,0,28,0,8,0,52,0,24,0,56,0 6,0,34,0,14,0,12,0,30,0,54,0 31,0,53,0,10,0,11,0,5,0,33,0 18,0,35,0,48,0,50,0,1,0,17,0 42,0,41,0,49,0,55,0,25,0,45,0 37,0,26,0,46,0,29,0,27,0,23,0 43,0,39,0,2,0,16,0,3,0,13,0 9,0,21,1,30,1,20,0,7,1,4,1 ================================================ FILE: schedules/56_10.csv ================================================ 44,0,35,0,21,0,24,0,29,0,48,0 14,0,33,0,36,0,3,0,50,0,51,0 46,0,52,0,13,0,4,0,32,0,30,0 20,0,53,0,18,0,5,0,16,0,19,0 37,0,56,0,2,0,49,0,40,0,54,0 22,0,12,0,31,0,7,0,26,0,34,0 27,0,25,0,1,0,41,0,8,0,6,0 45,0,55,0,15,0,47,0,23,0,9,0 17,0,42,0,11,0,43,0,10,0,28,0 38,0,48,0,46,0,39,0,19,0,52,0 30,0,36,0,3,0,31,0,5,0,34,0 26,0,49,0,41,0,13,0,14,0,24,0 16,0,40,0,35,0,12,0,50,0,15,0 9,0,1,0,6,0,43,0,54,0,33,0 10,0,45,0,37,0,29,0,7,0,38,0 18,0,44,0,23,0,28,0,53,0,17,0 11,0,25,0,8,0,55,0,39,0,2,0 4,0,42,0,21,0,56,0,32,0,47,0 51,0,27,0,49,0,20,0,22,0,35,0 48,1,10,0,50,0,3,1,43,0,37,0 28,1,15,0,29,0,31,1,19,0,33,0 53,0,24,0,34,0,9,0,45,0,46,0 6,0,39,0,12,0,32,0,17,0,44,0 56,0,25,0,13,0,16,0,27,0,22,0 41,0,38,0,11,0,20,0,21,0,5,0 51,0,55,0,30,0,42,0,26,0,18,0 1,0,7,0,4,0,2,0,40,0,36,0 8,0,54,0,23,0,47,0,52,0,14,0 32,0,28,0,19,0,35,0,37,0,25,0 10,0,33,0,34,0,48,0,12,0,27,0 31,0,38,0,50,0,53,0,6,0,42,0 26,0,22,0,1,0,45,0,17,0,29,0 49,0,16,0,44,0,52,0,43,0,55,0 56,0,41,0,36,0,9,0,18,0,8,0 11,0,51,0,39,0,23,0,3,0,7,0 24,0,20,0,30,0,4,0,15,0,54,0 46,0,14,0,21,0,13,0,2,0,5,0 47,0,55,0,27,0,40,0,31,0,43,0 32,0,8,0,50,0,26,0,28,0,38,0 1,0,56,0,29,0,11,0,53,0,23,0 54,0,12,0,24,0,4,0,25,0,36,0 7,0,48,0,52,0,42,0,15,0,14,0 19,0,37,0,47,0,13,0,30,0,34,0 3,0,49,0,35,0,6,0,40,0,17,0 44,0,22,0,46,0,20,0,16,0,41,0 33,0,39,0,18,0,21,0,2,0,45,0 5,0,51,0,4,0,10,0,9,0,15,0 28,0,34,0,50,0,1,0,52,0,54,0 47,0,7,0,11,0,26,0,24,0,6,0 12,0,36,0,17,0,20,0,19,0,55,0 46,0,29,0,18,0,3,0,27,0,42,0 16,0,51,0,13,0,38,0,45,0,40,0 49,0,9,0,53,0,32,0,21,0,25,0 31,0,35,0,56,0,14,0,10,0,39,0 37,0,5,0,22,0,8,0,44,0,33,0 2,0,43,0,48,0,41,0,23,0,30,0 55,0,29,0,34,0,38,0,4,0,6,0 11,0,54,0,21,0,46,0,51,0,15,0 53,0,36,0,39,0,10,0,26,0,13,0 5,0,45,0,8,0,12,0,42,0,49,0 20,0,2,0,3,0,50,0,52,0,56,0 23,0,24,0,43,0,18,0,31,0,32,0 28,0,40,0,47,0,48,0,41,0,22,0 33,0,16,0,1,0,30,0,7,0,35,0 9,0,14,0,37,0,27,0,19,0,17,0 44,0,26,0,15,0,25,0,3,0,38,0 13,0,32,0,20,0,31,0,29,0,8,0 2,0,53,0,41,0,51,0,12,0,34,0 48,0,18,0,36,0,6,0,49,0,11,0 50,0,35,0,19,0,55,0,56,0,22,0 52,0,24,0,42,0,37,0,1,0,39,0 10,0,40,0,23,0,9,0,21,0,30,0 17,0,5,0,33,0,4,0,16,0,47,0 7,0,14,0,43,0,46,0,28,0,25,0 27,0,45,0,26,0,54,0,44,0,19,0 18,0,15,0,6,0,37,0,12,0,13,0 29,0,41,0,9,0,30,0,50,0,39,0 16,0,17,0,31,0,48,0,51,0,8,0 21,0,43,0,53,0,22,0,36,0,52,0 25,0,42,0,40,0,34,0,23,0,20,0 27,0,2,0,38,0,28,0,24,0,56,0 45,0,44,0,4,0,35,0,11,0,14,0 10,0,46,0,3,0,49,0,47,0,1,0 55,0,5,0,54,0,7,0,32,0,33,0 26,0,21,0,39,0,34,0,37,0,16,0 15,0,17,0,30,0,27,0,53,0,56,0 9,0,20,0,12,0,28,0,48,0,11,0 19,0,43,0,8,0,24,0,4,0,3,0 51,0,47,0,31,0,50,0,1,0,44,0 33,0,23,0,38,0,36,0,49,0,46,0 52,0,25,0,29,0,40,0,18,0,5,0 6,0,10,0,32,0,2,0,22,0,14,0 42,0,7,0,54,0,35,0,13,0,41,0 45,0,3,0,28,0,55,0,48,0,31,0 ================================================ FILE: schedules/56_11.csv ================================================ 12,0,21,0,4,0,39,0,46,0,32,0 20,0,19,0,25,0,26,0,22,0,2,0 9,0,52,0,23,0,42,0,54,0,51,0 36,0,47,0,16,0,13,0,14,0,44,0 3,0,34,0,24,0,18,0,37,0,15,0 28,0,7,0,48,0,17,0,8,0,31,0 33,0,27,0,45,0,40,0,55,0,56,0 6,0,10,0,1,0,38,0,50,0,30,0 41,0,29,0,49,0,11,0,5,0,53,0 43,0,22,0,23,0,35,0,44,0,34,0 31,0,4,0,26,0,15,0,42,0,14,0 36,0,9,0,20,0,28,0,21,0,55,0 3,0,10,0,12,0,24,0,47,0,2,0 41,0,30,0,33,0,27,0,18,0,13,0 32,0,49,0,53,0,16,0,8,0,50,0 37,0,29,0,45,0,46,0,48,0,52,0 5,0,51,0,35,0,7,0,1,0,38,0 17,0,40,0,54,0,39,0,25,0,6,0 56,0,43,0,34,0,11,0,19,0,4,0 42,1,55,0,27,0,28,1,2,0,12,0 23,0,21,0,10,0,53,0,31,0,45,0 46,0,24,0,15,0,51,0,41,0,36,0 25,0,54,0,13,0,50,0,7,0,5,0 30,0,18,0,40,0,47,0,35,0,17,0 56,0,49,0,19,0,32,0,14,0,43,0 26,0,16,0,9,0,33,0,37,0,22,0 6,0,44,0,38,0,29,0,3,0,48,0 11,0,52,0,8,0,39,0,1,0,20,0 50,0,21,0,2,0,41,0,4,0,7,0 13,0,43,0,42,0,40,0,51,0,32,0 47,0,14,0,45,0,22,0,15,0,5,0 56,0,24,0,53,0,31,0,6,0,48,0 37,0,44,0,1,0,17,0,28,0,27,0 12,0,11,0,16,0,30,0,26,0,23,0 54,0,49,0,46,0,33,0,20,0,38,0 39,0,8,0,3,0,29,0,35,0,19,0 55,0,36,0,52,0,10,0,18,0,25,0 34,0,5,0,48,0,9,0,2,0,40,0 47,0,22,0,21,0,37,0,43,0,6,0 44,0,17,0,42,0,49,0,50,0,24,0 11,0,15,0,31,0,32,0,35,0,33,0 20,0,45,0,4,0,30,0,53,0,3,0 36,0,54,0,26,0,27,0,51,0,8,0 14,0,19,0,38,0,12,0,9,0,18,0 10,0,46,0,16,0,39,0,7,0,34,0 55,0,25,0,41,0,1,0,29,0,23,0 13,0,56,0,5,0,28,0,52,0,15,0 21,0,43,0,36,0,17,0,2,0,33,0 42,0,37,0,3,0,30,0,8,0,12,0 18,0,44,0,51,0,11,0,39,0,45,0 48,0,16,0,14,0,41,0,1,0,54,0 10,0,31,0,56,0,49,0,25,0,9,0 47,0,20,0,27,0,4,0,29,0,38,0 46,0,22,0,35,0,53,0,55,0,13,0 23,0,28,0,50,0,40,0,19,0,24,0 52,0,26,0,7,0,32,0,6,0,34,0 18,0,11,0,42,0,5,0,21,0,16,0 48,0,1,0,25,0,15,0,43,0,47,0 35,0,37,0,41,0,20,0,54,0,10,0 8,0,2,0,46,0,44,0,9,0,56,0 53,0,19,0,7,0,38,0,40,0,52,0 34,0,51,0,55,0,30,0,6,0,14,0 13,0,17,0,49,0,23,0,4,0,3,0 36,0,29,0,31,0,45,0,50,0,12,0 28,0,24,0,39,0,22,0,27,0,32,0 33,0,48,0,44,0,26,0,19,0,42,0 40,0,8,0,15,0,11,0,38,0,10,0 47,0,3,0,7,0,23,0,56,0,51,0 53,0,4,0,50,0,55,0,30,0,37,0 46,0,28,0,45,0,25,0,43,0,16,0 32,0,31,0,2,0,54,0,18,0,29,0 21,0,35,0,27,0,52,0,14,0,49,0 33,0,1,0,5,0,34,0,12,0,20,0 9,0,6,0,24,0,39,0,13,0,26,0 22,0,41,0,38,0,36,0,17,0,56,0 30,0,29,0,15,0,43,0,19,0,54,0 7,0,49,0,11,0,47,0,48,0,55,0 51,0,33,0,4,0,44,0,28,0,10,0 14,0,12,0,27,0,25,0,8,0,53,0 52,0,35,0,2,0,24,0,22,0,16,0 50,0,42,0,6,0,46,0,18,0,20,0 39,0,31,0,23,0,37,0,5,0,36,0 13,0,3,0,40,0,1,0,26,0,21,0 17,0,32,0,41,0,34,0,45,0,9,0 25,0,12,0,51,0,35,0,48,0,4,0 29,0,7,0,10,0,28,0,42,0,22,0 30,0,39,0,2,0,23,0,49,0,15,0 18,0,53,0,26,0,56,0,1,0,50,0 11,0,14,0,40,0,17,0,37,0,46,0 8,0,38,0,34,0,21,0,45,0,13,0 36,0,19,0,33,0,41,0,47,0,6,0 52,0,43,0,27,0,3,0,31,0,9,0 5,0,54,0,32,0,55,0,44,0,24,0 20,0,17,0,29,0,16,0,15,0,56,0 38,0,37,0,39,0,25,0,42,0,2,0 6,0,26,0,28,0,49,0,45,0,35,0 14,0,50,0,22,0,33,0,11,0,3,0 9,0,30,0,1,0,24,0,7,0,36,0 13,0,32,0,23,0,10,0,48,0,27,0 18,0,5,0,8,0,4,0,46,0,43,0 12,0,40,0,44,0,41,0,20,0,52,0 16,0,55,0,19,0,31,0,21,0,51,0 53,0,34,0,42,0,54,0,47,0,28,0 ================================================ FILE: schedules/56_12.csv ================================================ 47,0,7,0,25,0,22,0,5,0,35,0 54,0,43,0,3,0,26,0,24,0,8,0 36,0,28,0,32,0,23,0,12,0,50,0 37,0,21,0,9,0,29,0,16,0,46,0 39,0,27,0,14,0,41,0,49,0,56,0 11,0,17,0,53,0,34,0,55,0,45,0 40,0,44,0,15,0,42,0,13,0,48,0 4,0,30,0,1,0,20,0,51,0,19,0 33,0,31,0,6,0,38,0,2,0,10,0 18,0,8,0,25,0,52,0,36,0,26,0 49,0,7,0,46,0,3,0,28,0,35,0 34,0,17,0,50,0,15,0,48,0,9,0 41,0,23,0,32,0,14,0,21,0,29,0 44,0,33,0,20,0,19,0,45,0,54,0 42,0,2,0,22,0,10,0,12,0,39,0 30,0,31,0,13,0,37,0,27,0,6,0 16,0,38,0,51,0,55,0,40,0,11,0 47,0,52,0,53,0,1,0,43,0,56,0 24,0,4,0,54,0,18,0,5,0,44,0 21,0,48,0,26,0,2,0,14,0,49,0 37,0,34,0,42,0,25,0,33,0,41,0 38,0,20,0,55,0,7,0,23,0,28,0 35,0,50,0,27,0,51,0,52,0,11,0 5,0,40,0,24,0,3,0,36,0,39,0 29,0,31,0,8,0,4,0,47,0,13,0 18,0,6,0,12,0,1,0,16,0,17,0 46,0,22,0,15,0,56,0,53,0,32,0 9,0,43,0,45,0,19,0,10,0,30,0 34,0,41,0,51,0,44,0,28,0,2,0 5,0,49,0,48,0,8,0,37,0,55,0 38,0,1,0,18,0,13,0,50,0,14,0 40,0,26,0,47,0,46,0,17,0,20,0 10,0,11,0,23,0,9,0,19,0,3,0 33,0,39,0,53,0,30,0,21,0,25,0 15,0,4,0,45,0,24,0,6,0,7,0 22,0,29,0,36,0,43,0,16,0,35,0 42,0,52,0,32,0,54,0,31,0,27,0 56,0,55,0,9,0,12,0,40,0,8,0 47,0,39,0,19,0,34,0,14,0,38,0 1,0,24,0,48,0,26,0,13,0,25,0 30,0,7,0,2,0,44,0,46,0,50,0 33,0,42,0,43,0,15,0,23,0,49,0 56,0,28,0,54,0,36,0,35,0,6,0 31,0,3,0,20,0,53,0,22,0,18,0 21,0,45,0,16,0,52,0,5,0,27,0 41,0,29,0,37,0,12,0,17,0,51,0 10,0,32,0,25,0,4,0,11,0,44,0 19,0,13,0,1,0,49,0,36,0,34,0 6,0,46,0,23,0,8,0,50,0,39,0 20,0,45,0,48,0,31,0,56,0,35,0 29,0,17,0,55,0,33,0,14,0,24,0 5,0,12,0,2,0,40,0,52,0,43,0 38,0,41,0,7,0,54,0,32,0,9,0 16,0,10,0,18,0,51,0,37,0,53,0 27,0,47,0,21,0,3,0,22,0,4,0 28,0,42,0,15,0,11,0,26,0,30,0 17,0,33,0,49,0,50,0,5,0,20,0 46,0,43,0,36,0,45,0,31,0,41,0 9,0,18,0,39,0,55,0,48,0,32,0 25,0,34,0,1,0,3,0,6,0,38,0 40,0,4,0,14,0,28,0,37,0,22,0 8,0,54,0,16,0,30,0,51,0,47,0 13,0,21,0,24,0,42,0,7,0,56,0 29,0,52,0,2,0,19,0,15,0,11,0 35,0,44,0,12,0,53,0,26,0,23,0 10,0,33,0,1,0,27,0,40,0,46,0 9,0,14,0,36,0,20,0,4,0,6,0 5,0,34,0,3,0,32,0,31,0,51,0 38,0,50,0,48,0,45,0,29,0,42,0 12,0,24,0,30,0,11,0,47,0,49,0 26,0,55,0,19,0,27,0,22,0,41,0 35,0,15,0,18,0,10,0,44,0,21,0 43,0,28,0,13,0,39,0,17,0,54,0 23,0,56,0,2,0,25,0,37,0,16,0 52,0,7,0,14,0,8,0,53,0,34,0 22,0,49,0,31,0,11,0,9,0,1,0 41,0,19,0,35,0,40,0,30,0,18,0 50,0,15,0,10,0,55,0,47,0,54,0 51,0,28,0,21,0,25,0,43,0,48,0 3,0,12,0,16,0,45,0,13,0,33,0 8,0,27,0,42,0,2,0,53,0,20,0 29,0,26,0,32,0,56,0,6,0,5,0 4,0,39,0,7,0,52,0,23,0,17,0 38,0,46,0,37,0,44,0,24,0,36,0 40,0,31,0,34,0,49,0,21,0,54,0 20,0,25,0,14,0,12,0,15,0,43,0 33,0,48,0,19,0,32,0,5,0,47,0 35,0,23,0,55,0,45,0,1,0,6,0 56,0,51,0,36,0,44,0,42,0,9,0 41,0,26,0,3,0,16,0,50,0,4,0 27,0,53,0,30,0,28,0,29,0,38,0 17,0,24,0,22,0,52,0,8,0,10,0 2,0,39,0,11,0,18,0,7,0,37,0 13,0,49,0,51,0,46,0,45,0,32,0 6,0,9,0,47,0,5,0,42,0,21,0 43,0,4,0,26,0,35,0,33,0,38,0 28,0,19,0,50,0,24,0,31,0,16,0 1,0,44,0,8,0,39,0,29,0,15,0 30,0,56,0,22,0,23,0,18,0,34,0 53,0,3,0,14,0,17,0,36,0,2,0 37,0,11,0,12,0,46,0,48,0,54,0 13,0,20,0,52,0,10,0,55,0,41,0 27,0,7,0,45,0,25,0,40,0,29,0 49,0,6,0,44,0,16,0,47,0,22,0 15,0,51,0,26,0,23,0,39,0,31,0 8,0,17,0,21,0,12,0,38,0,19,0 5,0,11,0,54,0,1,0,14,0,41,0 53,0,50,0,25,0,13,0,9,0,40,0 3,0,52,0,56,0,33,0,28,0,30,0 18,0,43,0,55,0,42,0,46,0,4,0 10,0,36,0,27,0,7,0,48,0,34,0 35,0,32,0,20,0,2,0,24,0,37,0 ================================================ FILE: schedules/56_13.csv ================================================ 37,0,56,0,29,0,2,0,51,0,46,0 49,0,30,0,14,0,27,0,55,0,5,0 35,0,40,0,23,0,32,0,1,0,22,0 26,0,43,0,38,0,34,0,39,0,8,0 13,0,52,0,36,0,31,0,17,0,15,0 48,0,47,0,6,0,18,0,7,0,50,0 42,0,25,0,44,0,3,0,9,0,21,0 33,0,10,0,28,0,53,0,20,0,12,0 45,0,19,0,11,0,41,0,16,0,4,0 54,0,51,0,22,0,24,0,49,0,17,0 46,0,13,0,8,0,7,0,34,0,48,0 50,0,30,0,40,0,3,0,18,0,25,0 27,0,42,0,15,0,56,0,35,0,53,0 26,0,33,0,4,0,37,0,9,0,47,0 6,0,52,0,41,0,54,0,32,0,5,0 10,0,14,0,43,0,19,0,36,0,31,0 11,0,1,0,2,0,24,0,45,0,28,0 21,0,20,0,39,0,29,0,16,0,23,0 55,0,44,0,35,0,12,0,38,0,13,0 6,1,30,0,54,0,46,1,48,0,56,0 31,1,42,0,41,0,50,1,27,0,37,0 3,0,28,0,1,0,34,0,9,0,43,0 26,0,45,0,16,0,29,0,15,0,47,0 40,0,4,0,17,0,39,0,25,0,10,0 49,0,32,0,18,0,12,0,14,0,23,0 20,0,52,0,24,0,36,0,21,0,38,0 8,0,5,0,44,0,33,0,19,0,2,0 55,0,53,0,22,0,51,0,11,0,7,0 46,0,10,0,27,0,15,0,1,0,39,0 16,0,32,0,14,0,13,0,4,0,42,0 20,0,48,0,26,0,17,0,45,0,56,0 2,0,5,0,18,0,23,0,33,0,50,0 19,0,12,0,21,0,38,0,40,0,54,0 55,0,36,0,9,0,6,0,24,0,53,0 44,0,37,0,49,0,47,0,30,0,22,0 51,0,8,0,43,0,25,0,31,0,11,0 35,0,41,0,29,0,52,0,28,0,34,0 7,0,4,0,21,0,3,0,2,0,17,0 32,0,38,0,55,0,45,0,18,0,54,0 50,0,44,0,39,0,37,0,20,0,14,0 31,0,56,0,47,0,9,0,11,0,40,0 23,0,30,0,34,0,52,0,42,0,19,0 22,0,29,0,13,0,53,0,5,0,10,0 43,0,24,0,15,0,49,0,6,0,26,0 12,0,36,0,28,0,46,0,16,0,7,0 48,0,33,0,25,0,1,0,35,0,27,0 51,0,3,0,14,0,8,0,41,0,20,0 45,0,31,0,5,0,37,0,54,0,21,0 19,0,38,0,15,0,4,0,47,0,50,0 32,0,23,0,56,0,43,0,36,0,44,0 42,0,40,0,12,0,11,0,55,0,29,0 53,0,34,0,2,0,49,0,25,0,35,0 7,0,26,0,41,0,30,0,46,0,33,0 28,0,27,0,6,0,22,0,17,0,8,0 51,0,39,0,18,0,9,0,52,0,1,0 3,0,24,0,10,0,48,0,16,0,13,0 54,0,25,0,2,0,36,0,42,0,14,0 7,0,43,0,49,0,29,0,20,0,4,0 34,0,15,0,46,0,40,0,44,0,32,0 50,0,1,0,17,0,8,0,55,0,56,0 5,0,11,0,16,0,9,0,35,0,30,0 52,0,31,0,39,0,22,0,33,0,45,0 51,0,53,0,19,0,6,0,18,0,21,0 3,0,12,0,27,0,24,0,47,0,26,0 10,0,48,0,37,0,23,0,28,0,38,0 41,0,50,0,9,0,13,0,40,0,49,0 46,0,35,0,17,0,45,0,43,0,30,0 1,0,8,0,4,0,21,0,22,0,44,0 19,0,56,0,16,0,3,0,52,0,33,0 48,0,11,0,27,0,29,0,34,0,36,0 31,0,18,0,24,0,20,0,28,0,32,0 2,0,55,0,14,0,51,0,10,0,26,0 12,0,47,0,54,0,41,0,13,0,53,0 15,0,25,0,7,0,5,0,37,0,39,0 6,0,38,0,46,0,23,0,42,0,11,0 31,0,20,0,9,0,48,0,4,0,19,0 30,0,32,0,3,0,29,0,28,0,51,0 16,0,40,0,24,0,45,0,44,0,27,0 8,0,18,0,10,0,34,0,54,0,35,0 42,0,38,0,7,0,49,0,41,0,1,0 5,0,36,0,50,0,26,0,12,0,39,0 53,0,47,0,14,0,17,0,52,0,23,0 33,0,15,0,37,0,21,0,43,0,55,0 22,0,56,0,2,0,6,0,13,0,25,0 29,0,27,0,8,0,18,0,46,0,9,0 3,0,54,0,42,0,39,0,28,0,11,0 17,0,30,0,16,0,53,0,31,0,1,0 24,0,35,0,7,0,19,0,14,0,50,0 37,0,45,0,4,0,34,0,6,0,12,0 47,0,40,0,51,0,43,0,48,0,5,0 2,0,15,0,36,0,38,0,22,0,41,0 23,0,55,0,20,0,26,0,52,0,25,0 33,0,56,0,21,0,32,0,10,0,13,0 44,0,1,0,19,0,49,0,53,0,29,0 34,0,51,0,17,0,16,0,42,0,50,0 28,0,37,0,40,0,14,0,35,0,6,0 25,0,41,0,23,0,12,0,31,0,55,0 39,0,38,0,24,0,56,0,5,0,30,0 47,0,46,0,32,0,2,0,21,0,10,0 49,0,9,0,33,0,45,0,3,0,36,0 43,0,13,0,54,0,20,0,27,0,7,0 11,0,18,0,22,0,44,0,15,0,26,0 4,0,52,0,53,0,8,0,48,0,24,0 47,0,55,0,25,0,28,0,46,0,19,0 31,0,29,0,3,0,38,0,37,0,17,0 45,0,34,0,21,0,56,0,7,0,14,0 13,0,27,0,33,0,51,0,23,0,6,0 5,0,26,0,1,0,44,0,4,0,54,0 52,0,11,0,35,0,50,0,49,0,10,0 39,0,48,0,9,0,2,0,41,0,32,0 22,0,42,0,43,0,18,0,16,0,12,0 36,0,20,0,30,0,8,0,15,0,40,0 25,0,29,0,14,0,33,0,24,0,54,0 45,0,7,0,6,0,10,0,23,0,44,0 26,0,53,0,46,0,38,0,51,0,31,0 52,0,50,0,21,0,41,0,43,0,27,0 34,0,42,0,1,0,5,0,47,0,20,0 19,0,17,0,13,0,32,0,11,0,37,0 16,0,8,0,49,0,40,0,55,0,39,0 35,0,28,0,18,0,36,0,56,0,4,0 9,0,12,0,2,0,48,0,15,0,30,0 22,0,6,0,31,0,3,0,46,0,50,0 ================================================ FILE: schedules/56_14.csv ================================================ 45,0,34,0,56,0,5,0,47,0,39,0 44,0,10,0,40,0,3,0,50,0,6,0 29,0,7,0,32,0,8,0,31,0,13,0 51,0,55,0,22,0,11,0,42,0,1,0 24,0,33,0,26,0,4,0,23,0,18,0 53,0,16,0,20,0,2,0,41,0,35,0 46,0,38,0,12,0,21,0,52,0,43,0 36,0,25,0,15,0,14,0,49,0,54,0 9,0,27,0,28,0,30,0,37,0,17,0 19,0,11,0,47,0,48,0,10,0,29,0 13,0,7,0,42,0,50,0,8,0,34,0 16,0,2,0,1,0,23,0,24,0,32,0 25,0,31,0,41,0,54,0,40,0,33,0 53,0,15,0,4,0,21,0,36,0,6,0 22,0,19,0,49,0,46,0,28,0,44,0 45,0,3,0,30,0,52,0,48,0,39,0 51,0,20,0,9,0,27,0,56,0,12,0 38,0,14,0,55,0,37,0,26,0,35,0 18,0,43,0,29,0,5,0,17,0,31,0 34,1,42,0,23,0,16,1,7,0,54,0 6,0,25,0,24,0,36,0,52,0,28,0 19,0,44,0,21,0,39,0,51,0,41,0 27,0,37,0,11,0,26,0,45,0,12,0 22,0,50,0,14,0,9,0,56,0,32,0 46,0,30,0,15,0,2,0,8,0,18,0 35,0,43,0,3,0,47,0,53,0,13,0 40,0,48,0,5,0,38,0,1,0,33,0 49,0,4,0,55,0,17,0,10,0,20,0 54,0,34,0,24,0,45,0,19,0,37,0 56,0,15,0,18,0,29,0,41,0,6,0 9,0,35,0,52,0,22,0,21,0,27,0 8,0,39,0,32,0,38,0,11,0,44,0 3,0,10,0,36,0,1,0,17,0,46,0 20,0,25,0,55,0,13,0,16,0,30,0 26,0,40,0,43,0,7,0,53,0,51,0 2,0,23,0,5,0,31,0,47,0,4,0 12,0,50,0,42,0,33,0,49,0,28,0 48,0,41,0,21,0,14,0,8,0,37,0 18,0,45,0,20,0,36,0,16,0,55,0 1,0,15,0,54,0,34,0,22,0,9,0 2,0,56,0,29,0,26,0,25,0,52,0 23,0,39,0,12,0,46,0,10,0,50,0 13,0,19,0,27,0,7,0,49,0,6,0 48,0,3,0,32,0,28,0,43,0,4,0 24,0,5,0,38,0,44,0,51,0,42,0 30,0,40,0,31,0,14,0,11,0,53,0 47,0,35,0,8,0,33,0,17,0,36,0 37,0,34,0,55,0,25,0,23,0,29,0 3,0,2,0,28,0,56,0,10,0,7,0 5,0,1,0,27,0,38,0,50,0,41,0 21,0,18,0,42,0,40,0,45,0,32,0 53,0,48,0,31,0,49,0,39,0,16,0 17,0,13,0,22,0,24,0,14,0,12,0 20,0,52,0,30,0,43,0,44,0,15,0 54,0,51,0,47,0,6,0,33,0,11,0 9,0,4,0,26,0,46,0,19,0,35,0 27,0,25,0,39,0,18,0,36,0,31,0 50,0,55,0,13,0,38,0,53,0,17,0 37,0,2,0,43,0,8,0,1,0,22,0 15,0,34,0,7,0,51,0,24,0,48,0 41,0,9,0,42,0,3,0,19,0,29,0 10,0,28,0,54,0,20,0,26,0,21,0 30,0,44,0,12,0,35,0,45,0,5,0 23,0,49,0,47,0,56,0,40,0,11,0 4,0,52,0,46,0,14,0,33,0,16,0 6,0,17,0,39,0,32,0,42,0,2,0 26,0,22,0,3,0,20,0,38,0,31,0 51,0,5,0,15,0,13,0,28,0,48,0 36,0,49,0,11,0,44,0,24,0,18,0 35,0,29,0,53,0,10,0,34,0,14,0 16,0,6,0,56,0,37,0,21,0,40,0 45,0,33,0,4,0,50,0,43,0,1,0 46,0,47,0,7,0,30,0,41,0,27,0 32,0,54,0,19,0,55,0,52,0,12,0 25,0,8,0,11,0,9,0,23,0,3,0 51,0,56,0,28,0,35,0,18,0,16,0 34,0,21,0,29,0,36,0,24,0,22,0 49,0,17,0,45,0,26,0,46,0,41,0 6,0,13,0,38,0,54,0,4,0,30,0 33,0,37,0,10,0,32,0,15,0,27,0 14,0,39,0,9,0,55,0,7,0,43,0 47,0,12,0,1,0,25,0,42,0,53,0 40,0,23,0,8,0,5,0,20,0,19,0 44,0,50,0,48,0,2,0,52,0,31,0 51,0,30,0,49,0,17,0,32,0,4,0 29,0,24,0,37,0,39,0,46,0,3,0 42,0,27,0,54,0,43,0,53,0,56,0 41,0,18,0,40,0,34,0,28,0,12,0 6,0,14,0,2,0,55,0,45,0,23,0 11,0,31,0,35,0,19,0,15,0,50,0 44,0,47,0,52,0,13,0,1,0,26,0 10,0,16,0,22,0,8,0,36,0,5,0 21,0,38,0,25,0,20,0,48,0,7,0 33,0,41,0,53,0,9,0,24,0,30,0 55,0,31,0,15,0,12,0,51,0,3,0 56,0,17,0,14,0,44,0,27,0,34,0 16,0,5,0,50,0,54,0,26,0,39,0 35,0,36,0,23,0,42,0,48,0,43,0 22,0,46,0,32,0,40,0,25,0,19,0 13,0,11,0,20,0,2,0,21,0,33,0 7,0,52,0,8,0,1,0,6,0,18,0 28,0,45,0,38,0,49,0,9,0,29,0 4,0,10,0,42,0,47,0,37,0,15,0 24,0,43,0,46,0,55,0,56,0,5,0 23,0,27,0,16,0,13,0,44,0,3,0 26,0,48,0,34,0,12,0,32,0,6,0 19,0,30,0,1,0,54,0,17,0,21,0 29,0,50,0,33,0,37,0,49,0,20,0 28,0,31,0,22,0,8,0,45,0,53,0 41,0,36,0,14,0,11,0,51,0,2,0 38,0,52,0,18,0,9,0,47,0,10,0 7,0,39,0,40,0,35,0,25,0,4,0 12,0,54,0,43,0,16,0,44,0,29,0 6,0,30,0,26,0,15,0,42,0,22,0 31,0,3,0,21,0,34,0,49,0,2,0 1,0,32,0,14,0,28,0,47,0,20,0 17,0,7,0,35,0,11,0,5,0,52,0 27,0,8,0,48,0,55,0,40,0,24,0 53,0,50,0,37,0,19,0,51,0,18,0 38,0,4,0,36,0,23,0,41,0,56,0 45,0,10,0,39,0,13,0,33,0,25,0 9,0,31,0,6,0,46,0,20,0,42,0 28,0,5,0,21,0,27,0,47,0,55,0 26,0,8,0,49,0,52,0,1,0,34,0 32,0,44,0,53,0,4,0,37,0,7,0 16,0,19,0,17,0,38,0,39,0,15,0 51,0,33,0,23,0,29,0,22,0,45,0 3,0,18,0,54,0,35,0,14,0,48,0 24,0,56,0,50,0,10,0,30,0,25,0 13,0,36,0,2,0,40,0,12,0,9,0 46,0,11,0,34,0,41,0,43,0,16,0 ================================================ FILE: schedules/56_2.csv ================================================ 55,0,39,0,54,0,42,0,11,0,12,0 21,0,38,0,4,0,43,0,35,0,29,0 15,0,40,0,10,0,51,0,19,0,18,0 27,0,44,0,14,0,48,0,31,0,2,0 23,0,17,0,5,0,26,0,37,0,56,0 22,0,45,0,13,0,24,0,28,0,41,0 49,0,32,0,8,0,46,0,52,0,20,0 1,0,34,0,33,0,6,0,36,0,47,0 3,0,9,0,25,0,7,0,53,0,30,0 16,0,44,0,29,0,50,0,18,0,23,0 43,0,28,0,12,0,27,0,19,0,56,0 35,0,41,0,20,0,10,0,11,0,14,0 1,0,42,0,46,0,45,0,4,0,40,0 6,0,48,0,32,0,9,0,13,0,54,0 26,0,25,0,47,0,22,0,39,0,16,0 55,0,50,0,24,0,49,0,34,0,30,0 51,0,53,0,17,0,2,0,33,0,52,0 37,0,31,0,36,0,8,0,38,0,3,0 15,0,7,0,41,1,21,0,5,0,13,1 ================================================ FILE: schedules/56_3.csv ================================================ 35,0,50,0,40,0,39,0,21,0,20,0 10,0,38,0,43,0,24,0,32,0,2,0 5,0,19,0,14,0,9,0,55,0,44,0 45,0,15,0,16,0,54,0,11,0,22,0 1,0,30,0,53,0,7,0,23,0,12,0 47,0,26,0,27,0,46,0,36,0,25,0 52,0,51,0,13,0,33,0,34,0,48,0 29,0,4,0,49,0,8,0,56,0,28,0 37,0,31,0,3,0,42,0,17,0,18,0 41,0,53,0,24,0,6,0,14,0,35,0 26,0,23,0,54,0,10,0,39,0,9,0 20,0,19,0,7,0,43,0,11,0,52,0 51,0,4,0,22,0,38,0,40,0,27,0 45,0,18,0,25,0,28,0,44,0,33,0 12,0,42,0,15,0,34,0,50,0,47,0 21,0,3,0,36,0,30,0,56,0,55,0 13,0,8,0,5,0,2,0,16,0,31,0 46,0,1,0,6,0,37,0,32,0,29,0 41,0,48,0,40,0,49,0,17,0,19,0 12,0,39,0,11,0,14,0,4,0,18,0 52,0,9,0,47,0,22,0,24,0,3,0 33,0,7,0,2,0,27,0,50,0,54,0 6,0,44,0,8,0,10,0,15,0,36,0 17,0,46,0,30,0,45,0,51,0,35,0 31,0,56,0,43,0,41,0,1,0,26,0 48,0,16,0,28,0,32,0,21,0,42,0 13,0,55,0,29,0,20,0,38,0,53,0 34,0,49,0,23,0,37,0,25,0,5,0 ================================================ FILE: schedules/56_4.csv ================================================ 56,0,21,0,6,0,27,0,55,0,25,0 35,0,51,0,38,0,34,0,43,0,20,0 16,0,23,0,41,0,44,0,40,0,31,0 15,0,30,0,45,0,49,0,8,0,2,0 54,0,36,0,39,0,53,0,26,0,28,0 11,0,13,0,24,0,19,0,18,0,42,0 22,0,47,0,1,0,10,0,33,0,32,0 4,0,12,0,9,0,37,0,52,0,29,0 3,0,14,0,7,0,50,0,46,0,5,0 48,0,2,0,55,0,17,0,53,0,43,0 28,0,45,0,38,0,41,0,42,0,56,0 10,0,25,0,40,0,54,0,20,0,11,0 52,0,32,0,35,0,15,0,6,0,39,0 13,0,26,0,29,0,34,0,7,0,23,0 17,0,46,0,18,0,16,0,49,0,22,0 27,0,33,0,31,0,4,0,24,0,14,0 36,0,8,0,50,0,44,0,48,0,37,0 19,0,30,0,21,0,1,0,3,0,12,0 47,0,5,0,39,0,9,0,51,0,23,0 53,1,10,0,46,0,45,1,35,0,29,0 52,1,2,0,38,0,31,1,26,0,18,0 20,0,24,0,17,0,32,0,41,0,36,0 50,0,15,0,42,0,55,0,12,0,54,0 3,0,56,0,8,0,13,0,33,0,9,0 1,0,44,0,11,0,27,0,34,0,49,0 43,0,5,0,40,0,4,0,6,0,19,0 16,0,7,0,21,0,37,0,47,0,28,0 51,0,30,0,14,0,22,0,48,0,25,0 39,0,29,0,31,0,20,0,55,0,8,0 12,0,11,0,23,0,38,0,36,0,46,0 52,0,43,0,44,0,54,0,24,0,3,0 49,0,41,0,6,0,33,0,53,0,7,0 27,0,26,0,37,0,45,0,40,0,51,0 32,0,2,0,25,0,13,0,50,0,28,0 10,0,17,0,9,0,15,0,14,0,19,0 42,0,5,0,48,0,35,0,16,0,1,0 47,0,18,0,34,0,30,0,56,0,4,0 22,0,53,0,52,0,21,0,45,0,31,0 ================================================ FILE: schedules/56_5.csv ================================================ 19,0,44,0,11,0,4,0,40,0,35,0 52,0,34,0,46,0,9,0,33,0,18,0 21,0,15,0,39,0,7,0,20,0,55,0 28,0,53,0,3,0,36,0,45,0,25,0 31,0,13,0,56,0,32,0,29,0,41,0 2,0,23,0,16,0,51,0,1,0,54,0 43,0,5,0,10,0,8,0,30,0,12,0 50,0,42,0,49,0,22,0,6,0,24,0 47,0,17,0,26,0,37,0,14,0,38,0 48,0,46,0,32,0,27,0,25,0,20,0 4,0,33,0,16,0,29,0,39,0,28,0 36,0,55,0,51,0,13,0,40,0,52,0 9,0,35,0,42,0,41,0,53,0,21,0 12,0,37,0,1,0,19,0,56,0,7,0 50,0,3,0,27,0,10,0,47,0,54,0 11,0,30,0,15,0,14,0,26,0,49,0 45,0,17,0,22,0,2,0,18,0,43,0 8,0,48,0,6,0,34,0,23,0,38,0 24,0,31,0,21,0,44,0,5,0,25,0 51,1,37,0,42,0,50,1,28,0,55,0 14,0,40,0,7,0,33,0,10,0,41,0 29,0,20,0,11,0,52,0,2,0,12,0 16,0,26,0,36,0,18,0,6,0,32,0 53,0,27,0,38,0,13,0,5,0,15,0 9,0,30,0,19,0,48,0,31,0,17,0 54,0,24,0,4,0,8,0,56,0,45,0 1,0,44,0,22,0,3,0,34,0,39,0 49,0,43,0,46,0,23,0,47,0,35,0 25,0,7,0,51,0,38,0,42,0,11,0 33,0,12,0,55,0,31,0,27,0,26,0 2,0,14,0,19,0,8,0,32,0,50,0 10,0,18,0,20,0,13,0,44,0,37,0 40,0,16,0,22,0,15,0,9,0,56,0 39,0,23,0,24,0,30,0,47,0,53,0 1,0,41,0,52,0,49,0,28,0,48,0 17,0,6,0,5,0,3,0,46,0,4,0 36,0,21,0,34,0,54,0,43,0,29,0 35,0,15,0,8,0,45,0,31,0,51,0 47,0,9,0,7,0,44,0,32,0,2,0 49,0,10,0,55,0,19,0,16,0,53,0 23,0,52,0,5,0,26,0,56,0,50,0 14,0,13,0,43,0,48,0,3,0,42,0 38,0,41,0,20,0,36,0,4,0,22,0 29,0,30,0,45,0,1,0,40,0,46,0 28,0,27,0,34,0,17,0,11,0,24,0 54,0,37,0,6,0,35,0,33,0,25,0 18,0,21,0,50,0,12,0,39,0,51,0 ================================================ FILE: schedules/56_6.csv ================================================ 43,0,38,0,41,0,21,0,36,0,55,0 1,0,40,0,10,0,53,0,54,0,8,0 25,0,6,0,24,0,50,0,18,0,39,0 15,0,35,0,28,0,4,0,13,0,56,0 47,0,46,0,19,0,23,0,37,0,45,0 16,0,17,0,51,0,52,0,48,0,42,0 32,0,26,0,7,0,20,0,31,0,3,0 5,0,14,0,22,0,30,0,2,0,33,0 11,0,27,0,34,0,49,0,9,0,44,0 29,0,43,0,53,0,12,0,39,0,35,0 21,0,50,0,8,0,37,0,28,0,16,0 10,0,4,0,24,0,42,0,32,0,45,0 54,0,13,0,3,0,5,0,47,0,38,0 51,0,55,0,34,0,20,0,56,0,40,0 48,0,22,0,27,0,11,0,46,0,1,0 52,0,31,0,18,0,30,0,9,0,36,0 6,0,19,0,7,0,49,0,2,0,17,0 29,0,25,0,15,0,26,0,14,0,44,0 33,0,12,0,16,0,23,0,41,0,32,0 46,0,56,0,27,0,10,0,50,0,38,0 42,0,11,0,40,0,39,0,3,0,28,0 55,0,47,0,53,0,7,0,48,0,18,0 24,0,9,0,8,0,20,0,29,0,2,0 36,0,44,0,6,0,4,0,22,0,23,0 14,0,1,0,34,0,12,0,13,0,31,0 30,0,17,0,45,0,21,0,35,0,25,0 37,0,41,0,51,0,5,0,26,0,49,0 54,0,33,0,52,0,43,0,19,0,15,0 36,0,4,0,29,0,40,0,27,0,47,0 2,0,9,0,13,0,55,0,42,0,46,0 14,0,20,0,35,0,6,0,16,0,38,0 48,0,56,0,23,0,8,0,26,0,45,0 21,0,49,0,18,0,10,0,33,0,3,0 30,0,28,0,25,0,34,0,41,0,54,0 43,0,44,0,52,0,7,0,24,0,1,0 31,0,53,0,19,0,5,0,11,0,50,0 37,0,39,0,32,0,15,0,22,0,17,0 12,0,3,0,46,0,51,0,6,0,8,0 27,0,26,0,41,0,35,0,2,0,18,0 49,0,20,0,42,0,30,0,43,0,47,0 38,0,25,0,31,0,48,0,33,0,40,0 24,0,23,0,15,0,53,0,21,0,34,0 7,0,56,0,54,0,11,0,36,0,37,0 28,0,17,0,44,0,55,0,12,0,10,0 4,0,39,0,5,0,1,0,16,0,9,0 50,0,52,0,45,0,22,0,13,0,29,0 51,0,32,0,21,0,14,0,19,0,27,0 2,0,48,0,34,0,3,0,43,0,37,0 47,0,10,0,11,0,15,0,41,0,6,0 53,0,20,0,36,0,46,0,33,0,17,0 35,0,50,0,42,0,7,0,23,0,5,0 39,0,44,0,45,0,51,0,31,0,54,0 40,0,30,0,26,0,13,0,24,0,16,0 49,0,55,0,8,0,52,0,14,0,4,0 38,0,28,0,1,0,18,0,32,0,29,0 9,0,22,0,12,0,56,0,25,0,19,0 ================================================ FILE: schedules/56_7.csv ================================================ 12,0,21,0,47,0,32,0,49,0,28,0 44,0,45,0,6,0,46,0,50,0,42,0 13,0,22,0,40,0,38,0,18,0,36,0 4,0,43,0,15,0,2,0,16,0,41,0 1,0,24,0,51,0,10,0,19,0,54,0 11,0,3,0,31,0,52,0,23,0,53,0 30,0,34,0,33,0,56,0,25,0,37,0 7,0,14,0,26,0,27,0,29,0,20,0 55,0,9,0,8,0,39,0,35,0,48,0 5,0,15,0,19,0,17,0,22,0,47,0 4,0,51,0,3,0,46,0,38,0,24,0 23,0,28,0,40,0,16,0,56,0,6,0 11,0,36,0,12,0,2,0,30,0,14,0 52,0,20,0,34,0,55,0,54,0,45,0 39,0,32,0,41,0,29,0,37,0,17,0 21,0,7,0,35,0,33,0,1,0,42,0 5,0,43,0,9,0,31,0,18,0,49,0 44,0,53,0,13,0,8,0,10,0,26,0 25,0,48,0,36,0,50,0,27,0,54,0 6,1,38,0,47,0,14,1,37,0,45,0 4,1,32,0,19,0,23,1,11,0,35,0 49,0,1,0,20,0,46,0,39,0,30,0 18,0,33,0,55,0,29,0,28,0,26,0 40,0,10,0,17,0,42,0,43,0,12,0 16,0,44,0,27,0,34,0,51,0,5,0 56,0,9,0,3,0,25,0,41,0,8,0 50,0,52,0,15,0,21,0,53,0,24,0 2,0,7,0,22,0,48,0,31,0,13,0 30,0,47,0,35,0,10,0,43,0,29,0 20,0,51,0,37,0,11,0,49,0,4,0 23,0,1,0,45,0,17,0,36,0,9,0 14,0,8,0,46,0,33,0,15,0,40,0 24,0,6,0,27,0,31,0,22,0,21,0 5,0,39,0,54,0,13,0,3,0,28,0 7,0,12,0,32,0,55,0,50,0,16,0 18,0,42,0,41,0,53,0,48,0,34,0 38,0,52,0,56,0,44,0,2,0,19,0 26,0,22,0,11,0,25,0,46,0,47,0 13,0,35,0,17,0,51,0,14,0,6,0 50,0,28,0,30,0,4,0,40,0,9,0 3,0,10,0,42,0,55,0,31,0,15,0 23,0,37,0,2,0,27,0,1,0,8,0 36,0,49,0,56,0,7,0,48,0,52,0 29,0,53,0,25,0,5,0,16,0,45,0 34,0,39,0,43,0,38,0,21,0,26,0 24,0,41,0,12,0,33,0,20,0,44,0 32,0,54,0,30,0,19,0,18,0,14,0 55,0,4,0,1,0,22,0,56,0,27,0 52,0,29,0,47,0,42,0,51,0,23,0 46,0,31,0,28,0,36,0,35,0,34,0 5,0,50,0,41,0,11,0,10,0,2,0 18,0,6,0,25,0,7,0,39,0,15,0 20,0,21,0,48,0,3,0,40,0,44,0 43,0,13,0,8,0,32,0,45,0,24,0 16,0,38,0,49,0,33,0,17,0,54,0 53,0,37,0,26,0,9,0,12,0,19,0 31,0,39,0,50,0,47,0,14,0,56,0 34,0,29,0,11,0,6,0,1,0,48,0 44,0,46,0,23,0,55,0,43,0,7,0 8,0,42,0,38,0,30,0,5,0,20,0 12,0,25,0,17,0,52,0,4,0,13,0 2,0,15,0,54,0,35,0,26,0,40,0 16,0,37,0,36,0,3,0,24,0,18,0 9,0,53,0,33,0,51,0,32,0,22,0 27,0,45,0,49,0,19,0,28,0,41,0 10,0,14,0,4,0,21,0,6,0,23,0 ================================================ FILE: schedules/56_8.csv ================================================ 30,0,50,0,9,0,42,0,43,0,23,0 24,0,52,0,22,0,12,0,18,0,36,0 11,0,7,0,46,0,54,0,19,0,49,0 32,0,1,0,26,0,15,0,29,0,47,0 2,0,37,0,17,0,3,0,21,0,38,0 14,0,27,0,56,0,4,0,41,0,5,0 8,0,39,0,48,0,34,0,25,0,33,0 55,0,6,0,44,0,10,0,40,0,20,0 16,0,35,0,28,0,13,0,45,0,51,0 31,0,19,0,9,0,53,0,36,0,3,0 47,0,30,0,49,0,38,0,27,0,24,0 2,0,25,0,18,0,54,0,42,0,32,0 52,0,55,0,34,0,17,0,44,0,4,0 11,0,6,0,45,0,23,0,41,0,21,0 56,0,40,0,33,0,15,0,50,0,13,0 37,0,8,0,1,0,12,0,35,0,14,0 48,0,31,0,20,0,28,0,39,0,5,0 10,0,53,0,22,0,7,0,26,0,51,0 29,0,16,0,21,0,46,0,43,0,4,0 3,1,17,0,42,0,33,1,36,0,47,0 44,0,30,0,54,0,32,0,45,0,8,0 52,0,50,0,20,0,27,0,31,0,37,0 18,0,39,0,51,0,11,0,14,0,9,0 2,0,12,0,5,0,10,0,15,0,19,0 35,0,26,0,13,0,46,0,6,0,25,0 34,0,49,0,22,0,1,0,43,0,40,0 38,0,23,0,29,0,56,0,28,0,53,0 55,0,48,0,41,0,16,0,7,0,24,0 54,0,21,0,47,0,10,0,52,0,31,0 17,0,45,0,19,0,20,0,18,0,13,0 32,0,9,0,49,0,34,0,26,0,12,0 4,0,22,0,39,0,23,0,2,0,30,0 53,0,16,0,25,0,14,0,6,0,50,0 33,0,7,0,44,0,37,0,56,0,24,0 36,0,46,0,41,0,15,0,8,0,51,0 48,0,3,0,40,0,1,0,27,0,29,0 38,0,35,0,42,0,11,0,5,0,55,0 28,0,26,0,17,0,43,0,14,0,54,0 6,0,19,0,39,0,22,0,50,0,32,0 51,0,20,0,33,0,30,0,12,0,21,0 13,0,41,0,3,0,52,0,49,0,48,0 38,0,8,0,10,0,16,0,42,0,1,0 37,0,23,0,5,0,46,0,40,0,18,0 27,0,36,0,7,0,2,0,34,0,28,0 43,0,25,0,56,0,47,0,55,0,45,0 4,0,29,0,9,0,24,0,35,0,31,0 53,0,15,0,26,0,44,0,11,0,48,0 54,0,40,0,38,0,41,0,39,0,12,0 50,0,46,0,1,0,52,0,7,0,28,0 51,0,6,0,2,0,5,0,17,0,47,0 8,0,21,0,27,0,22,0,55,0,9,0 23,0,24,0,25,0,20,0,15,0,3,0 14,0,49,0,31,0,42,0,45,0,33,0 18,0,43,0,10,0,53,0,4,0,35,0 19,0,11,0,34,0,56,0,29,0,30,0 36,0,13,0,16,0,44,0,37,0,32,0 38,0,20,0,41,0,46,0,26,0,22,0 40,0,28,0,45,0,33,0,9,0,2,0 27,0,42,0,15,0,35,0,39,0,21,0 12,0,50,0,11,0,4,0,3,0,47,0 43,0,48,0,32,0,51,0,52,0,56,0 6,0,31,0,29,0,8,0,18,0,7,0 19,0,53,0,30,0,16,0,55,0,37,0 24,0,13,0,14,0,54,0,34,0,10,0 5,0,36,0,44,0,49,0,1,0,25,0 23,0,46,0,27,0,17,0,32,0,33,0 15,0,4,0,7,0,38,0,9,0,45,0 30,0,3,0,28,0,18,0,6,0,56,0 43,0,24,0,8,0,11,0,2,0,13,0 21,0,50,0,55,0,36,0,48,0,26,0 52,0,47,0,35,0,19,0,14,0,40,0 12,0,51,0,31,0,34,0,44,0,23,0 37,0,10,0,49,0,25,0,29,0,39,0 41,0,53,0,42,0,20,0,17,0,1,0 54,0,22,0,33,0,5,0,16,0,3,0 ================================================ FILE: schedules/56_9.csv ================================================ 17,0,52,0,9,0,13,0,49,0,51,0 32,0,37,0,22,0,12,0,56,0,1,0 30,0,45,0,39,0,28,0,26,0,15,0 42,0,36,0,11,0,23,0,27,0,8,0 40,0,5,0,16,0,25,0,48,0,46,0 24,0,34,0,21,0,54,0,44,0,7,0 31,0,47,0,6,0,20,0,14,0,50,0 3,0,2,0,33,0,43,0,19,0,18,0 41,0,38,0,10,0,4,0,53,0,55,0 35,0,9,0,13,0,29,0,48,0,12,0 15,0,27,0,16,0,52,0,32,0,54,0 1,0,6,0,25,0,42,0,47,0,34,0 7,0,31,0,11,0,45,0,33,0,49,0 30,0,18,0,41,0,22,0,40,0,14,0 4,0,2,0,51,0,21,0,35,0,36,0 37,0,5,0,38,0,10,0,39,0,3,0 20,0,53,0,19,0,23,0,24,0,17,0 44,0,55,0,50,0,28,0,8,0,43,0 29,0,56,0,42,0,46,0,26,0,49,0 54,0,40,0,35,0,47,0,36,0,13,0 15,0,52,0,31,0,12,0,3,0,34,0 27,0,32,0,19,0,21,0,9,0,5,0 53,0,25,0,37,0,18,0,28,0,11,0 10,0,7,0,14,0,44,0,17,0,56,0 23,0,6,0,50,0,2,0,55,0,26,0 22,0,1,0,29,0,4,0,48,0,45,0 33,0,41,0,51,0,16,0,24,0,39,0 46,0,8,0,20,0,30,0,43,0,38,0 21,0,28,0,10,0,52,0,36,0,12,0 5,0,26,0,17,0,55,0,35,0,11,0 54,0,18,0,49,0,19,0,50,0,1,0 14,0,33,0,48,0,34,0,2,0,37,0 4,0,8,0,9,0,24,0,31,0,40,0 56,0,39,0,53,0,27,0,6,0,13,0 3,0,32,0,45,0,51,0,42,0,20,0 44,0,25,0,47,0,46,0,30,0,22,0 16,0,41,0,43,0,7,0,38,0,23,0 15,0,11,0,34,0,29,0,4,0,10,0 6,0,28,0,48,0,24,0,1,0,49,0 14,0,54,0,42,0,5,0,51,0,12,0 8,0,55,0,45,0,18,0,52,0,56,0 39,0,33,0,38,0,22,0,21,0,47,0 43,0,15,0,20,0,26,0,9,0,53,0 17,0,3,0,35,0,23,0,31,0,25,0 36,0,37,0,46,0,19,0,7,0,41,0 44,0,30,0,13,0,32,0,16,0,2,0 50,0,27,0,28,0,29,0,40,0,38,0 21,0,48,0,15,0,42,0,18,0,8,0 49,0,47,0,53,0,5,0,24,0,3,0 56,0,46,0,23,0,54,0,4,0,34,0 22,0,20,0,2,0,10,0,16,0,11,0 19,0,9,0,29,0,7,0,6,0,30,0 52,0,26,0,35,0,44,0,40,0,33,0 31,0,51,0,50,0,55,0,37,0,13,0 43,0,1,0,32,0,39,0,36,0,14,0 12,0,17,0,25,0,41,0,45,0,27,0 47,0,5,0,28,0,16,0,56,0,8,0 35,0,42,0,7,0,53,0,10,0,18,0 33,0,55,0,22,0,15,0,54,0,9,0 36,0,44,0,19,0,48,0,39,0,20,0 24,0,26,0,4,0,52,0,14,0,25,0 38,0,51,0,32,0,6,0,41,0,29,0 2,0,30,0,1,0,27,0,31,0,17,0 43,0,40,0,23,0,37,0,12,0,45,0 3,0,11,0,21,0,13,0,50,0,46,0 34,0,16,0,14,0,49,0,39,0,55,0 8,0,7,0,26,0,22,0,28,0,51,0 38,0,36,0,56,0,15,0,25,0,33,0 12,0,4,0,18,0,6,0,5,0,44,0 24,0,2,0,9,0,45,0,42,0,46,0 47,0,54,0,17,0,43,0,37,0,29,0 40,0,49,0,48,0,21,0,53,0,32,0 34,0,41,0,50,0,20,0,27,0,35,0 13,0,1,0,31,0,23,0,10,0,19,0 30,0,11,0,5,0,3,0,52,0,6,0 29,0,25,0,54,0,2,0,39,0,8,0 4,0,32,0,46,0,17,0,28,0,33,0 44,0,21,0,49,0,41,0,15,0,37,0 34,0,18,0,26,0,9,0,16,0,36,0 19,0,14,0,35,0,45,0,11,0,38,0 13,0,42,0,52,0,43,0,22,0,31,0 48,0,10,0,27,0,23,0,51,0,47,0 24,0,12,0,53,0,50,0,56,0,30,0 7,0,55,0,40,0,1,0,3,0,20,0 ================================================ FILE: schedules/57_1.csv ================================================ 2,0,53,0,31,0,12,0,18,0,27,0 28,0,56,0,26,0,48,0,54,0,22,0 29,0,47,0,30,0,14,0,39,0,11,0 16,0,37,0,49,0,45,0,46,0,55,0 44,0,3,0,21,0,34,0,36,0,43,0 50,0,5,0,24,0,25,0,19,0,32,0 17,0,23,0,51,0,15,0,13,0,42,0 52,0,1,0,8,0,38,0,4,0,41,0 57,0,6,0,10,0,35,0,7,0,20,0 9,0,33,0,54,1,40,0,48,1,44,1 ================================================ FILE: schedules/57_10.csv ================================================ 42,0,7,0,3,0,44,0,51,0,37,0 45,0,48,0,26,0,29,0,30,0,15,0 4,0,33,0,54,0,2,0,39,0,34,0 40,0,27,0,5,0,25,0,1,0,53,0 31,0,22,0,35,0,41,0,49,0,32,0 36,0,17,0,21,0,16,0,46,0,56,0 8,0,14,0,43,0,6,0,38,0,18,0 52,0,11,0,50,0,10,0,13,0,20,0 12,0,19,0,23,0,57,0,47,0,24,0 55,0,28,0,22,0,9,0,31,0,40,0 42,0,1,0,4,0,29,0,32,0,46,0 5,0,33,0,3,0,49,0,15,0,8,0 44,0,30,0,6,0,41,0,17,0,50,0 56,0,34,0,57,0,14,0,10,0,48,0 36,0,26,0,25,0,19,0,9,0,52,0 23,0,24,0,28,0,43,0,18,0,21,0 39,0,54,0,20,0,51,0,55,0,7,0 11,0,53,0,16,0,38,0,12,0,35,0 47,0,2,0,13,0,27,0,37,0,45,0 44,0,46,0,26,0,34,0,31,0,8,0 4,0,17,0,24,0,9,0,41,0,3,0 43,0,22,0,19,0,32,0,33,0,20,0 36,0,39,0,5,0,35,0,18,0,23,0 21,0,37,0,56,0,49,0,53,0,30,0 51,0,27,0,38,0,45,0,28,0,50,0 13,0,52,0,7,0,29,0,14,0,2,0 57,0,42,0,55,0,25,0,11,0,47,0 6,0,48,0,15,0,16,0,54,0,1,0 40,0,46,0,19,0,10,0,12,0,44,0 20,0,43,0,50,0,36,0,37,0,4,0 31,0,7,0,32,0,21,0,53,0,38,0 47,0,29,0,56,0,11,0,5,0,34,0 16,0,22,0,30,0,42,0,24,0,52,0 15,0,12,0,51,0,41,0,48,0,18,0 45,0,49,0,2,0,25,0,17,0,14,0 33,0,39,0,26,0,27,0,28,0,57,0 40,0,10,0,3,0,6,0,9,0,35,0 23,0,13,0,1,0,54,0,55,0,8,0 34,0,47,0,53,0,15,0,20,0,41,0 2,0,22,0,32,0,48,0,36,0,56,0 14,0,44,0,49,0,25,0,16,0,28,0 9,0,57,0,7,0,46,0,18,0,45,0 35,0,29,0,55,0,19,0,30,0,38,0 31,0,37,0,50,0,8,0,52,0,23,0 10,0,1,0,17,0,42,0,39,0,43,0 6,0,12,0,5,0,4,0,51,0,13,0 54,0,27,0,26,0,11,0,24,0,40,0 21,0,33,0,34,0,3,0,36,0,55,0 56,0,41,0,35,0,52,0,46,0,28,0 32,0,23,0,10,0,25,0,15,0,2,0 9,0,49,0,50,0,39,0,12,0,29,0 43,0,16,0,5,0,54,0,45,0,19,0 30,0,40,0,18,0,33,0,47,0,31,0 4,0,22,0,3,0,38,0,26,0,13,0 11,0,8,0,42,0,7,0,48,0,24,0 53,0,37,0,57,0,6,0,51,0,17,0 21,0,44,0,20,0,1,0,14,0,27,0 55,0,30,0,46,0,28,0,5,0,2,0 10,0,47,0,43,0,3,0,26,0,16,0 7,0,39,0,25,0,56,0,24,0,13,0 54,0,35,0,32,0,8,0,50,0,57,0 14,0,41,0,11,0,19,0,33,0,37,0 15,0,31,0,42,0,36,0,6,0,27,0 17,0,45,0,12,0,22,0,23,0,20,0 53,0,44,0,18,0,48,0,52,0,4,0 38,0,1,0,9,0,34,0,51,0,49,0 21,0,29,0,8,0,40,0,25,0,41,0 14,0,39,0,32,0,3,0,47,0,30,0 27,0,7,0,50,0,17,0,26,0,22,0 31,0,45,0,4,0,19,0,42,0,56,0 12,0,18,0,24,0,37,0,1,0,34,0 53,0,28,0,29,0,36,0,54,0,10,0 2,0,38,0,48,0,5,0,21,0,9,0 43,0,15,0,13,0,44,0,57,0,35,0 16,0,51,0,52,0,40,0,55,0,33,0 6,0,23,0,46,0,20,0,49,0,11,0 19,0,14,0,34,0,22,0,53,0,8,0 56,0,25,0,3,0,54,0,12,0,50,0 32,0,36,0,24,0,5,0,44,0,45,0 38,0,40,0,52,0,39,0,15,0,57,0 28,0,18,0,20,0,42,0,13,0,29,0 51,0,41,0,31,0,11,0,2,0,43,0 55,0,27,0,48,0,49,0,46,0,37,0 17,0,47,0,9,0,35,0,33,0,1,0 30,0,23,0,4,0,7,0,16,0,10,0 6,0,21,0,45,0,26,0,52,0,12,0 2,0,18,0,42,0,19,0,50,0,53,0 48,0,25,0,49,0,43,0,40,0,36,0 28,0,11,0,13,0,34,0,17,0,32,0 3,0,20,0,1,0,57,0,30,0,31,0 35,0,51,0,46,0,24,0,14,0,26,0 37,0,54,0,5,0,22,0,10,0,21,0 47,0,55,0,15,0,4,0,7,0,6,0 41,0,16,0,8,0,9,0,27,0,39,0 38,0,29,0,44,0,23,0,33,0,56,0 ================================================ FILE: schedules/57_11.csv ================================================ 12,0,8,0,21,0,18,0,11,0,17,0 48,0,42,0,23,0,34,0,10,0,38,0 55,0,24,0,35,0,46,0,52,0,6,0 33,0,1,0,47,0,51,0,41,0,37,0 36,0,19,0,3,0,44,0,13,0,31,0 40,0,45,0,7,0,43,0,15,0,49,0 4,0,26,0,32,0,57,0,20,0,39,0 2,0,16,0,22,0,27,0,14,0,54,0 9,0,53,0,5,0,28,0,29,0,56,0 25,0,30,0,31,0,50,0,6,0,42,0 55,0,37,0,34,0,12,0,10,0,24,0 36,0,43,0,13,0,11,0,51,0,1,0 8,0,35,0,7,0,4,0,48,0,54,0 45,0,21,0,56,0,44,0,57,0,52,0 29,0,50,0,46,0,26,0,22,0,27,0 47,0,5,0,28,0,40,0,9,0,14,0 30,0,19,0,17,0,23,0,49,0,3,0 41,0,15,0,53,0,32,0,25,0,38,0 20,0,33,0,2,0,39,0,18,0,16,0 21,1,51,0,26,0,4,1,55,0,7,0 22,1,57,0,43,0,5,0,37,0,54,0 50,0,9,0,36,0,23,0,6,0,45,0 14,0,41,0,10,0,17,0,53,0,52,0 3,0,13,0,46,0,47,0,20,0,12,0 48,0,8,0,30,0,27,0,56,0,2,0 16,0,38,0,49,0,31,0,28,0,11,0 24,0,32,0,19,0,42,0,29,0,33,0 44,0,35,0,18,0,40,0,34,0,25,0 1,0,15,0,12,0,39,0,5,0,50,0 23,0,55,0,22,0,7,0,13,0,53,0 14,0,52,0,31,0,4,0,9,0,43,0 8,0,17,0,42,0,28,0,46,0,26,0 34,0,36,0,54,0,21,0,32,0,49,0 38,0,27,0,40,0,37,0,3,0,33,0 24,0,18,0,51,0,45,0,39,0,10,0 6,0,29,0,44,0,41,0,1,0,2,0 15,0,57,0,47,0,16,0,30,0,35,0 11,0,25,0,20,0,19,0,56,0,48,0 5,0,55,0,17,0,33,0,27,0,32,0 45,0,34,0,3,0,37,0,22,0,8,0 38,0,51,0,52,0,2,0,50,0,40,0 41,0,54,0,30,0,28,0,13,0,39,0 57,0,49,0,14,0,29,0,18,0,23,0 9,0,1,0,31,0,24,0,48,0,21,0 4,0,15,0,46,0,44,0,11,0,53,0 19,0,12,0,25,0,7,0,47,0,43,0 26,0,42,0,16,0,35,0,56,0,36,0 20,0,10,0,40,0,6,0,8,0,57,0 48,0,22,0,31,0,17,0,51,0,32,0 37,0,23,0,44,0,52,0,11,0,5,0 9,0,46,0,18,0,15,0,54,0,19,0 16,0,21,0,1,0,12,0,3,0,42,0 41,0,38,0,20,0,30,0,36,0,55,0 4,0,29,0,2,0,28,0,45,0,25,0 34,0,43,0,24,0,53,0,26,0,56,0 47,0,27,0,39,0,49,0,10,0,6,0 33,0,7,0,14,0,35,0,13,0,50,0 40,0,18,0,48,0,22,0,41,0,42,0 12,0,29,0,52,0,51,0,30,0,44,0 57,0,45,0,32,0,1,0,38,0,46,0 4,0,5,0,34,0,17,0,43,0,16,0 27,0,24,0,28,0,15,0,36,0,7,0 50,0,10,0,56,0,49,0,19,0,13,0 53,0,14,0,6,0,26,0,54,0,3,0 2,0,39,0,37,0,23,0,35,0,21,0 31,0,33,0,55,0,25,0,47,0,8,0 11,0,9,0,27,0,20,0,1,0,34,0 13,0,42,0,57,0,45,0,15,0,17,0 12,0,22,0,5,0,41,0,36,0,48,0 6,0,51,0,40,0,19,0,16,0,53,0 37,0,56,0,7,0,46,0,14,0,32,0 39,0,35,0,29,0,38,0,43,0,55,0 25,0,9,0,49,0,3,0,8,0,2,0 54,0,44,0,21,0,24,0,50,0,20,0 52,0,28,0,23,0,18,0,31,0,47,0 11,0,4,0,10,0,30,0,33,0,26,0 39,0,14,0,51,0,34,0,15,0,42,0 48,0,49,0,2,0,55,0,57,0,53,0 25,0,17,0,13,0,16,0,9,0,37,0 28,0,8,0,19,0,1,0,52,0,35,0 43,0,33,0,41,0,46,0,21,0,36,0 45,0,18,0,30,0,5,0,7,0,26,0 54,0,22,0,38,0,44,0,47,0,10,0 4,0,56,0,23,0,12,0,27,0,6,0 50,0,11,0,32,0,24,0,3,0,40,0 20,0,29,0,53,0,31,0,42,0,37,0 5,0,30,0,21,0,51,0,25,0,46,0 49,0,44,0,22,0,9,0,33,0,35,0 15,0,2,0,10,0,47,0,36,0,4,0 23,0,1,0,54,0,40,0,26,0,55,0 32,0,28,0,20,0,12,0,50,0,43,0 27,0,41,0,34,0,57,0,19,0,31,0 13,0,24,0,6,0,38,0,18,0,8,0 16,0,48,0,11,0,45,0,29,0,14,0 17,0,3,0,7,0,39,0,56,0,52,0 22,0,25,0,1,0,30,0,20,0,23,0 42,0,43,0,10,0,44,0,2,0,9,0 32,0,47,0,53,0,21,0,27,0,18,0 49,0,35,0,4,0,24,0,5,0,41,0 52,0,7,0,50,0,16,0,34,0,8,0 11,0,3,0,57,0,55,0,28,0,51,0 17,0,39,0,46,0,29,0,40,0,36,0 48,0,6,0,26,0,15,0,37,0,13,0 12,0,33,0,56,0,54,0,45,0,31,0 38,0,19,0,21,0,14,0,4,0,22,0 ================================================ FILE: schedules/57_12.csv ================================================ 38,0,41,0,15,0,3,0,42,0,12,0 2,0,39,0,57,0,18,0,29,0,7,0 25,0,37,0,55,0,24,0,14,0,49,0 51,0,32,0,36,0,26,0,33,0,56,0 48,0,46,0,20,0,52,0,6,0,10,0 43,0,21,0,44,0,13,0,19,0,27,0 9,0,11,0,16,0,1,0,5,0,17,0 34,0,50,0,8,0,30,0,40,0,47,0 54,0,23,0,22,0,35,0,4,0,45,0 31,0,28,0,38,0,53,0,37,0,10,0 26,0,43,0,12,0,29,0,20,0,14,0 48,0,21,0,17,0,44,0,55,0,46,0 11,0,30,0,50,0,6,0,42,0,51,0 52,0,34,0,25,0,9,0,13,0,23,0 24,0,33,0,39,0,45,0,47,0,19,0 35,0,53,0,1,0,2,0,7,0,8,0 27,0,56,0,4,0,57,0,31,0,41,0 49,0,18,0,32,0,28,0,5,0,22,0 54,0,3,0,15,0,36,0,40,0,16,0 48,0,25,0,38,0,26,0,17,0,34,0 44,0,19,0,9,0,2,0,20,0,50,0 4,0,21,0,30,0,29,0,1,0,39,0 37,0,27,0,51,0,8,0,5,0,46,0 3,0,45,0,11,0,7,0,56,0,13,0 49,0,47,0,43,0,54,0,52,0,32,0 6,0,41,0,33,0,40,0,23,0,28,0 36,0,18,0,22,0,42,0,15,0,24,0 35,0,14,0,12,0,10,0,57,0,16,0 31,0,53,0,51,0,55,0,45,0,39,0 34,0,38,0,1,0,46,0,50,0,56,0 3,0,2,0,40,0,25,0,32,0,4,0 42,0,13,0,20,0,27,0,7,0,28,0 49,0,52,0,22,0,41,0,14,0,17,0 10,0,9,0,12,0,6,0,36,0,53,0 30,0,57,0,26,0,24,0,55,0,43,0 47,0,16,0,5,0,31,0,23,0,19,0 35,0,48,0,8,0,21,0,18,0,15,0 29,0,54,0,44,0,33,0,37,0,11,0 56,0,49,0,39,0,14,0,42,0,9,0 7,0,30,0,45,0,41,0,32,0,46,0 19,0,10,0,43,0,1,0,22,0,40,0 57,0,25,0,28,0,8,0,51,0,16,0 13,0,55,0,26,0,47,0,15,0,12,0 3,0,53,0,29,0,27,0,44,0,50,0 23,0,38,0,17,0,18,0,54,0,2,0 20,0,37,0,6,0,34,0,11,0,4,0 52,0,33,0,31,0,24,0,35,0,21,0 36,0,5,0,14,0,48,0,13,0,40,0 7,0,55,0,9,0,28,0,29,0,19,0 45,0,1,0,23,0,3,0,44,0,57,0 34,0,56,0,18,0,10,0,49,0,54,0 6,0,24,0,4,0,43,0,51,0,38,0 37,0,46,0,2,0,33,0,22,0,48,0 47,0,17,0,11,0,27,0,36,0,30,0 41,0,35,0,42,0,16,0,53,0,26,0 12,0,25,0,20,0,32,0,21,0,39,0 8,0,15,0,52,0,31,0,50,0,5,0 45,0,57,0,13,0,49,0,6,0,2,0 14,0,47,0,18,0,4,0,51,0,29,0 16,0,56,0,22,0,53,0,33,0,30,0 9,0,17,0,37,0,40,0,26,0,42,0 27,0,54,0,1,0,48,0,28,0,24,0 34,0,10,0,41,0,5,0,25,0,21,0 35,0,55,0,31,0,36,0,3,0,20,0 32,0,8,0,44,0,52,0,38,0,7,0 46,0,39,0,11,0,43,0,23,0,15,0 19,0,50,0,42,0,12,0,4,0,54,0 22,0,47,0,51,0,21,0,9,0,1,0 48,0,45,0,37,0,16,0,35,0,30,0 44,0,28,0,14,0,36,0,34,0,57,0 41,0,40,0,11,0,38,0,55,0,18,0 46,0,49,0,3,0,8,0,12,0,53,0 23,0,56,0,2,0,20,0,52,0,27,0 7,0,43,0,5,0,25,0,33,0,17,0 19,0,6,0,32,0,31,0,15,0,29,0 10,0,24,0,26,0,13,0,39,0,50,0 46,0,54,0,40,0,47,0,57,0,53,0 18,0,9,0,4,0,12,0,48,0,27,0 30,0,42,0,55,0,52,0,44,0,5,0 15,0,33,0,45,0,20,0,8,0,17,0 19,0,35,0,25,0,11,0,56,0,6,0 51,0,34,0,24,0,10,0,32,0,3,0 36,0,29,0,26,0,49,0,31,0,1,0 43,0,41,0,39,0,2,0,28,0,16,0 23,0,7,0,50,0,14,0,21,0,37,0 13,0,38,0,5,0,22,0,57,0,20,0 30,0,15,0,10,0,54,0,9,0,25,0 52,0,19,0,46,0,18,0,3,0,26,0 34,0,27,0,40,0,35,0,39,0,51,0 14,0,6,0,55,0,32,0,1,0,33,0 41,0,23,0,8,0,17,0,24,0,29,0 50,0,53,0,48,0,43,0,13,0,11,0 12,0,36,0,28,0,45,0,38,0,22,0 16,0,4,0,31,0,7,0,49,0,44,0 2,0,21,0,47,0,42,0,56,0,37,0 39,0,19,0,54,0,52,0,41,0,51,0 9,0,29,0,32,0,35,0,46,0,13,0 27,0,53,0,15,0,25,0,14,0,1,0 22,0,10,0,8,0,55,0,11,0,23,0 30,0,49,0,5,0,3,0,33,0,38,0 45,0,42,0,31,0,43,0,34,0,48,0 12,0,24,0,7,0,56,0,40,0,44,0 26,0,21,0,28,0,4,0,36,0,2,0 16,0,20,0,18,0,6,0,47,0,50,0 57,0,17,0,32,0,37,0,19,0,3,0 29,0,42,0,52,0,10,0,45,0,25,0 51,0,40,0,7,0,23,0,49,0,48,0 2,0,11,0,14,0,30,0,12,0,31,0 20,0,5,0,4,0,53,0,46,0,24,0 27,0,55,0,21,0,54,0,38,0,16,0 50,0,17,0,28,0,35,0,47,0,56,0 33,0,57,0,43,0,34,0,15,0,9,0 1,0,13,0,36,0,41,0,37,0,18,0 6,0,22,0,44,0,26,0,39,0,8,0 ================================================ FILE: schedules/57_13.csv ================================================ 2,0,47,0,48,0,55,0,43,0,39,0 10,0,26,0,37,0,8,0,1,0,7,0 50,0,49,0,25,0,57,0,46,0,38,0 23,0,34,0,53,0,42,0,27,0,19,0 5,0,20,0,28,0,14,0,16,0,3,0 11,0,21,0,31,0,35,0,44,0,52,0 33,0,29,0,54,0,40,0,30,0,45,0 36,0,12,0,56,0,4,0,32,0,9,0 18,0,6,0,24,0,51,0,41,0,22,0 15,0,8,0,2,0,13,0,17,0,47,0 53,0,21,0,10,0,37,0,49,0,5,0 27,0,20,0,26,0,33,0,57,0,44,0 3,0,52,0,45,0,36,0,35,0,32,0 23,0,55,0,48,0,56,0,9,0,28,0 17,0,39,0,29,0,19,0,6,0,50,0 30,0,16,0,38,0,41,0,18,0,4,0 51,0,13,0,34,0,12,0,11,0,24,0 7,0,14,0,54,0,22,0,25,0,15,0 31,0,40,0,43,0,42,0,46,0,1,0 39,1,6,0,9,0,44,1,45,0,53,0 19,0,47,0,30,0,10,1,36,0,50,0 26,0,18,0,21,0,32,0,24,0,48,0 27,0,5,0,35,0,37,0,54,0,22,0 55,0,34,0,38,0,13,0,1,0,20,0 57,0,25,0,8,0,28,0,23,0,29,0 7,0,12,0,46,0,15,0,11,0,33,0 42,0,31,0,16,0,51,0,2,0,3,0 17,0,14,0,49,0,56,0,40,0,41,0 4,0,38,0,20,0,43,0,52,0,21,0 35,0,10,0,18,0,36,0,26,0,25,0 5,0,44,0,39,0,32,0,34,0,15,0 19,0,24,0,7,0,27,0,9,0,8,0 28,0,50,0,2,0,12,0,41,0,31,0 1,0,56,0,57,0,11,0,6,0,42,0 17,0,45,0,54,0,14,0,46,0,55,0 4,0,33,0,49,0,52,0,47,0,29,0 43,0,23,0,30,0,13,0,37,0,3,0 40,0,22,0,48,0,53,0,16,0,51,0 34,0,36,0,44,0,1,0,18,0,28,0 45,0,12,0,14,0,38,0,31,0,19,0 21,0,7,0,42,0,39,0,54,0,20,0 24,0,37,0,30,0,57,0,55,0,47,0 56,0,50,0,15,0,16,0,29,0,35,0 46,0,41,0,48,0,22,0,8,0,53,0 17,0,33,0,27,0,3,0,43,0,26,0 13,0,52,0,32,0,9,0,49,0,51,0 40,0,23,0,2,0,10,0,11,0,5,0 6,0,4,0,15,0,25,0,55,0,44,0 46,0,35,0,22,0,42,0,30,0,20,0 17,0,12,0,1,0,39,0,18,0,27,0 54,0,47,0,56,0,28,0,53,0,26,0 7,0,49,0,38,0,19,0,5,0,2,0 23,0,57,0,3,0,4,0,34,0,40,0 51,0,24,0,21,0,45,0,43,0,50,0 11,0,29,0,8,0,36,0,9,0,14,0 37,0,25,0,41,0,48,0,31,0,52,0 10,0,32,0,33,0,16,0,13,0,6,0 3,0,12,0,18,0,57,0,53,0,15,0 22,0,55,0,17,0,44,0,21,0,23,0 20,0,11,0,50,0,28,0,49,0,54,0 2,0,42,0,37,0,25,0,29,0,4,0 27,0,43,0,7,0,56,0,32,0,45,0 52,0,19,0,14,0,48,0,1,0,30,0 40,0,36,0,16,0,46,0,24,0,13,0 8,0,26,0,39,0,51,0,38,0,10,0 5,0,34,0,41,0,35,0,33,0,9,0 47,0,31,0,53,0,6,0,17,0,7,0 52,0,57,0,2,0,56,0,18,0,22,0 3,0,19,0,32,0,54,0,25,0,11,0 29,0,46,0,43,0,44,0,26,0,13,0 48,0,50,0,9,0,35,0,38,0,40,0 14,0,15,0,37,0,21,0,34,0,6,0 36,0,30,0,27,0,20,0,31,0,51,0 23,0,1,0,5,0,41,0,24,0,47,0 16,0,12,0,55,0,49,0,10,0,42,0 28,0,4,0,8,0,39,0,33,0,45,0 38,0,26,0,2,0,53,0,6,0,40,0 51,0,11,0,30,0,17,0,43,0,25,0 56,0,31,0,13,0,5,0,54,0,24,0 3,0,47,0,9,0,21,0,46,0,16,0 44,0,41,0,20,0,37,0,19,0,12,0 48,0,49,0,34,0,7,0,45,0,36,0 22,0,42,0,32,0,28,0,15,0,10,0 35,0,39,0,14,0,18,0,23,0,33,0 50,0,55,0,8,0,27,0,52,0,4,0 29,0,57,0,51,0,1,0,47,0,21,0 26,0,11,0,49,0,34,0,30,0,31,0 36,0,6,0,54,0,9,0,2,0,43,0 18,0,53,0,13,0,20,0,35,0,23,0 10,0,24,0,4,0,17,0,28,0,46,0 15,0,29,0,3,0,27,0,48,0,38,0 25,0,1,0,45,0,5,0,22,0,12,0 52,0,41,0,16,0,57,0,39,0,7,0 50,0,32,0,44,0,14,0,8,0,42,0 19,0,40,0,33,0,56,0,55,0,37,0 48,0,20,0,10,0,24,0,29,0,9,0 43,0,51,0,1,0,49,0,15,0,23,0 5,0,6,0,52,0,28,0,3,0,27,0 12,0,44,0,38,0,7,0,47,0,16,0 13,0,19,0,4,0,22,0,14,0,26,0 37,0,35,0,57,0,17,0,32,0,2,0 56,0,39,0,34,0,25,0,30,0,46,0 42,0,53,0,41,0,55,0,11,0,45,0 8,0,36,0,18,0,40,0,21,0,54,0 31,0,9,0,22,0,33,0,50,0,47,0 28,0,35,0,51,0,37,0,4,0,7,0 46,0,6,0,26,0,52,0,23,0,12,0 15,0,20,0,45,0,30,0,2,0,56,0 1,0,34,0,11,0,54,0,16,0,8,0 25,0,13,0,40,0,21,0,27,0,41,0 38,0,42,0,33,0,17,0,36,0,48,0 24,0,39,0,3,0,44,0,49,0,19,0 53,0,14,0,5,0,43,0,10,0,57,0 18,0,55,0,32,0,50,0,29,0,31,0 40,0,28,0,52,0,15,0,13,0,12,0 9,0,45,0,16,0,23,0,26,0,17,0 11,0,37,0,36,0,22,0,38,0,39,0 49,0,30,0,35,0,44,0,6,0,8,0 54,0,10,0,31,0,57,0,4,0,48,0 53,0,25,0,33,0,50,0,1,0,24,0 47,0,43,0,32,0,34,0,20,0,19,0 27,0,51,0,46,0,2,0,21,0,14,0 29,0,42,0,55,0,7,0,5,0,18,0 56,0,3,0,44,0,41,0,39,0,10,0 ================================================ FILE: schedules/57_14.csv ================================================ 22,0,57,0,52,0,7,0,25,0,37,0 45,0,51,0,49,0,55,0,11,0,26,0 16,0,1,0,31,0,4,0,32,0,56,0 35,0,41,0,34,0,33,0,15,0,53,0 21,0,27,0,6,0,10,0,43,0,24,0 30,0,38,0,3,0,54,0,8,0,28,0 36,0,17,0,39,0,13,0,5,0,23,0 44,0,20,0,2,0,19,0,29,0,12,0 47,0,9,0,46,0,50,0,14,0,40,0 42,0,34,0,37,0,48,0,18,0,49,0 6,0,7,0,22,0,38,0,11,0,56,0 53,0,25,0,54,0,13,0,1,0,24,0 26,0,2,0,36,0,8,0,20,0,32,0 41,0,27,0,50,0,47,0,19,0,3,0 9,0,43,0,42,0,16,0,51,0,15,0 29,0,48,0,30,0,45,0,35,0,46,0 18,0,33,0,44,0,52,0,55,0,17,0 12,0,10,0,28,0,4,0,14,0,5,0 39,0,23,0,40,0,21,0,31,0,57,0 16,0,24,0,3,0,36,0,1,0,22,0 15,0,48,0,43,0,38,0,54,0,26,0 13,0,49,0,32,0,33,0,27,0,8,0 12,0,50,0,2,0,18,0,45,0,10,0 20,0,57,0,14,0,11,0,19,0,25,0 6,0,44,0,46,0,31,0,39,0,9,0 7,0,35,0,5,0,47,0,41,0,37,0 4,0,52,0,42,0,17,0,30,0,40,0 21,0,28,0,29,0,56,0,55,0,51,0 34,0,53,0,12,0,23,0,32,0,38,0 24,0,14,0,11,0,3,0,15,0,26,0 36,0,18,0,43,0,10,0,39,0,35,0 5,0,9,0,48,0,33,0,57,0,1,0 42,0,50,0,47,0,56,0,13,0,21,0 46,0,31,0,19,0,53,0,7,0,52,0 20,0,45,0,54,0,17,0,4,0,28,0 55,0,16,0,30,0,25,0,27,0,49,0 8,0,44,0,41,0,6,0,51,0,2,0 22,0,37,0,40,0,34,0,29,0,23,0 50,0,31,0,56,0,36,0,15,0,38,0 32,0,11,0,35,0,21,0,46,0,52,0 26,0,16,0,18,0,13,0,47,0,57,0 6,0,45,0,3,0,33,0,20,0,5,0 23,0,37,0,4,0,44,0,42,0,24,0 2,0,9,0,1,0,28,0,43,0,49,0 10,0,54,0,30,0,19,0,40,0,34,0 41,0,48,0,55,0,22,0,39,0,12,0 27,0,7,0,14,0,29,0,53,0,8,0 51,0,25,0,26,0,17,0,38,0,6,0 18,0,15,0,24,0,20,0,16,0,46,0 2,0,4,0,57,0,34,0,31,0,3,0 22,0,5,0,55,0,54,0,50,0,44,0 33,0,36,0,12,0,42,0,21,0,8,0 25,0,47,0,56,0,53,0,39,0,45,0 49,0,19,0,23,0,28,0,48,0,35,0 29,0,14,0,41,0,43,0,13,0,52,0 17,0,10,0,32,0,7,0,30,0,9,0 37,0,51,0,1,0,27,0,11,0,40,0 3,0,46,0,50,0,53,0,26,0,42,0 21,0,22,0,15,0,5,0,6,0,18,0 57,0,38,0,49,0,54,0,29,0,47,0 25,0,35,0,23,0,10,0,2,0,56,0 17,0,12,0,1,0,19,0,30,0,43,0 44,0,13,0,36,0,45,0,40,0,48,0 52,0,37,0,8,0,55,0,9,0,20,0 51,0,14,0,39,0,32,0,16,0,34,0 24,0,28,0,27,0,11,0,41,0,31,0 4,0,7,0,19,0,33,0,25,0,2,0 21,0,53,0,30,0,26,0,29,0,22,0 43,0,1,0,8,0,56,0,23,0,52,0 54,0,46,0,42,0,16,0,6,0,35,0 18,0,57,0,27,0,14,0,36,0,45,0 31,0,12,0,15,0,28,0,33,0,37,0 40,0,55,0,32,0,47,0,24,0,5,0 11,0,50,0,7,0,48,0,4,0,34,0 9,0,44,0,38,0,10,0,13,0,41,0 20,0,51,0,17,0,39,0,3,0,49,0 14,0,6,0,33,0,36,0,37,0,30,0 43,0,47,0,45,0,31,0,22,0,24,0 53,0,16,0,11,0,2,0,54,0,55,0 19,0,15,0,35,0,40,0,8,0,4,0 42,0,10,0,29,0,32,0,48,0,39,0 18,0,17,0,25,0,41,0,28,0,57,0 56,0,49,0,46,0,51,0,44,0,12,0 27,0,5,0,26,0,9,0,52,0,34,0 7,0,38,0,20,0,50,0,21,0,1,0 3,0,13,0,55,0,23,0,30,0,15,0 16,0,48,0,22,0,28,0,6,0,53,0 47,0,10,0,36,0,29,0,11,0,17,0 32,0,26,0,57,0,27,0,37,0,44,0 49,0,2,0,7,0,39,0,54,0,24,0 23,0,8,0,51,0,4,0,33,0,50,0 9,0,56,0,3,0,19,0,18,0,21,0 40,0,52,0,1,0,45,0,41,0,12,0 14,0,38,0,31,0,42,0,35,0,20,0 43,0,34,0,5,0,46,0,25,0,13,0 33,0,51,0,24,0,57,0,50,0,30,0 47,0,21,0,17,0,2,0,48,0,8,0 23,0,16,0,12,0,52,0,11,0,6,0 41,0,56,0,40,0,14,0,26,0,49,0 43,0,38,0,53,0,37,0,45,0,5,0 25,0,1,0,39,0,3,0,44,0,35,0 28,0,55,0,36,0,7,0,46,0,34,0 32,0,29,0,31,0,54,0,9,0,18,0 10,0,20,0,19,0,13,0,42,0,22,0 15,0,27,0,52,0,4,0,47,0,12,0 40,0,24,0,6,0,50,0,17,0,35,0 45,0,44,0,34,0,8,0,7,0,16,0 54,0,3,0,21,0,37,0,56,0,14,0 1,0,26,0,28,0,55,0,42,0,33,0 38,0,5,0,39,0,2,0,19,0,27,0 20,0,29,0,18,0,23,0,43,0,41,0 13,0,48,0,11,0,51,0,31,0,30,0 22,0,4,0,53,0,49,0,36,0,9,0 25,0,10,0,57,0,46,0,32,0,15,0 39,0,28,0,52,0,37,0,24,0,50,0 47,0,34,0,6,0,3,0,29,0,1,0 12,0,55,0,14,0,17,0,31,0,48,0 26,0,19,0,41,0,54,0,23,0,36,0 20,0,53,0,49,0,15,0,10,0,7,0 45,0,4,0,13,0,32,0,21,0,9,0 30,0,8,0,56,0,16,0,57,0,5,0 18,0,11,0,42,0,25,0,43,0,44,0 40,0,46,0,33,0,2,0,22,0,38,0 35,0,54,0,52,0,51,0,27,0,36,0 45,0,19,0,32,0,15,0,6,0,49,0 9,0,13,0,26,0,7,0,12,0,3,0 56,0,42,0,48,0,24,0,34,0,20,0 39,0,33,0,11,0,40,0,53,0,18,0 23,0,28,0,44,0,14,0,47,0,30,0 37,0,21,0,10,0,2,0,16,0,41,0 8,0,22,0,17,0,27,0,46,0,1,0 4,0,38,0,35,0,57,0,55,0,43,0 50,0,51,0,29,0,31,0,25,0,5,0 ================================================ FILE: schedules/57_2.csv ================================================ 18,0,19,0,22,0,20,0,47,0,27,0 46,0,35,0,9,0,4,0,6,0,55,0 8,0,41,0,57,0,25,0,44,0,10,0 24,0,14,0,54,0,33,0,53,0,32,0 38,0,12,0,21,0,3,0,2,0,31,0 56,0,26,0,5,0,16,0,37,0,28,0 13,0,40,0,11,0,30,0,45,0,52,0 1,0,34,0,43,0,39,0,48,0,36,0 51,0,42,0,23,0,50,0,29,0,17,0 49,0,7,0,9,0,15,0,41,0,12,0 4,0,2,0,24,0,8,0,20,0,5,0 6,0,40,0,44,0,19,0,56,0,38,0 26,0,53,0,52,0,47,0,46,0,3,0 55,0,33,0,31,0,13,0,29,0,1,0 34,0,54,0,50,0,16,0,7,0,57,0 30,0,32,0,28,0,15,0,17,0,43,0 23,0,39,0,37,0,45,0,35,0,18,0 21,0,27,0,36,0,25,0,51,0,11,0 14,0,10,0,48,0,22,0,49,0,42,0 ================================================ FILE: schedules/57_3.csv ================================================ 41,0,13,0,31,0,29,0,17,0,45,0 52,0,8,0,12,0,35,0,27,0,7,0 28,0,19,0,24,0,23,0,1,0,30,0 6,0,32,0,26,0,47,0,39,0,34,0 48,0,25,0,44,0,4,0,49,0,46,0 56,0,38,0,16,0,42,0,21,0,15,0 50,0,54,0,9,0,2,0,33,0,40,0 37,0,10,0,20,0,18,0,55,0,43,0 53,0,51,0,36,0,3,0,22,0,11,0 57,0,14,0,35,0,5,0,32,0,13,0 46,1,19,0,17,0,56,1,34,0,12,0 47,1,44,0,1,0,31,0,52,0,33,0 40,0,29,0,38,0,23,0,43,0,4,0 55,0,51,0,16,0,6,0,28,0,25,0 49,0,3,0,20,0,39,0,9,0,30,0 27,0,2,0,36,0,10,0,21,0,41,0 50,0,8,0,11,0,14,0,42,0,37,0 57,0,45,0,7,0,24,0,48,0,53,0 54,0,5,0,15,0,22,0,18,0,26,0 6,0,56,0,13,0,3,0,44,0,40,0 34,0,9,0,35,0,36,0,31,0,25,0 46,0,33,0,23,0,8,0,20,0,41,0 10,0,14,0,29,0,16,0,49,0,24,0 22,0,21,0,43,0,19,0,47,0,7,0 53,0,4,0,42,0,27,0,18,0,32,0 52,0,45,0,30,0,38,0,54,0,51,0 55,0,48,0,39,0,15,0,50,0,17,0 26,0,12,0,1,0,57,0,2,0,37,0 11,0,28,0,46,0,5,0,56,0,47,0 ================================================ FILE: schedules/57_4.csv ================================================ 20,0,1,0,37,0,13,0,23,0,35,0 45,0,57,0,28,0,16,0,18,0,48,0 17,0,21,0,41,0,42,0,4,0,24,0 30,0,14,0,10,0,22,0,36,0,7,0 5,0,44,0,27,0,9,0,31,0,33,0 15,0,50,0,53,0,52,0,40,0,26,0 55,0,6,0,49,0,12,0,43,0,46,0 39,0,47,0,29,0,25,0,51,0,19,0 34,0,11,0,8,0,56,0,38,0,32,0 3,0,2,0,35,0,54,0,42,0,36,0 27,0,37,0,14,0,50,0,57,0,24,0 30,0,28,0,12,0,40,0,23,0,44,0 7,0,9,0,4,0,47,0,55,0,53,0 56,0,33,0,46,0,17,0,10,0,29,0 52,0,49,0,38,0,31,0,13,0,2,0 43,0,21,0,1,0,16,0,11,0,25,0 41,0,39,0,54,0,18,0,20,0,34,0 19,0,48,0,15,0,22,0,6,0,8,0 3,0,26,0,32,0,45,0,5,0,51,0 31,0,42,0,28,0,56,0,14,0,55,0 9,0,29,0,40,0,36,0,1,0,49,0 53,0,20,0,11,0,57,0,30,0,46,0 22,0,44,0,13,0,47,0,50,0,41,0 18,0,24,0,25,0,52,0,3,0,8,0 12,0,51,0,4,0,27,0,2,0,34,0 35,0,33,0,43,0,39,0,45,0,15,0 10,0,37,0,5,0,38,0,48,0,21,0 7,0,23,0,16,0,54,0,19,0,26,0 32,0,17,0,36,0,6,0,13,0,25,0 47,0,40,0,42,0,46,0,27,0,8,0 24,0,56,0,2,0,15,0,44,0,20,0 34,0,53,0,22,0,21,0,45,0,31,0 33,0,26,0,18,0,12,0,14,0,1,0 11,0,23,0,3,0,41,0,29,0,48,0 4,0,16,0,50,0,49,0,39,0,10,0 19,0,57,0,5,0,55,0,35,0,17,0 43,0,7,0,32,0,52,0,28,0,37,0 6,0,38,0,51,0,30,0,54,0,9,0 ================================================ FILE: schedules/57_5.csv ================================================ 7,0,35,0,2,0,48,0,54,0,1,0 30,0,19,0,53,0,38,0,47,0,25,0 9,0,51,0,39,0,44,0,28,0,6,0 50,0,57,0,46,0,10,0,5,0,16,0 45,0,34,0,33,0,49,0,4,0,32,0 42,0,36,0,26,0,21,0,11,0,3,0 8,0,37,0,17,0,20,0,15,0,56,0 23,0,31,0,55,0,43,0,29,0,12,0 41,0,24,0,14,0,18,0,27,0,22,0 40,0,34,0,48,0,52,0,13,0,46,0 44,0,49,0,16,0,26,0,30,0,54,0 38,0,56,0,4,0,2,0,36,0,5,0 28,0,20,0,43,0,29,0,57,0,3,0 15,0,10,0,14,0,25,0,11,0,31,0 21,0,1,0,45,0,41,0,47,0,51,0 13,0,39,0,27,0,33,0,12,0,37,0 9,0,23,0,24,0,7,0,8,0,40,0 52,0,22,0,6,0,19,0,17,0,32,0 18,0,50,0,53,0,42,0,55,0,35,0 20,1,25,0,45,0,31,1,28,0,5,0 33,1,26,0,43,0,48,0,14,0,38,0 15,0,4,0,29,0,39,0,1,0,40,0 19,0,11,0,56,0,23,0,44,0,46,0 57,0,35,0,37,0,34,0,41,0,9,0 49,0,42,0,51,0,7,0,27,0,52,0 16,0,8,0,36,0,55,0,47,0,22,0 12,0,3,0,6,0,2,0,24,0,50,0 21,0,10,0,18,0,13,0,32,0,30,0 17,0,53,0,39,0,54,0,46,0,31,0 33,0,28,0,41,0,19,0,42,0,40,0 1,0,38,0,27,0,11,0,9,0,16,0 37,0,25,0,52,0,2,0,55,0,26,0 47,0,7,0,20,0,34,0,6,0,10,0 57,0,21,0,8,0,14,0,12,0,53,0 54,0,4,0,51,0,23,0,3,0,18,0 56,0,13,0,29,0,50,0,22,0,49,0 44,0,35,0,5,0,43,0,32,0,15,0 17,0,30,0,48,0,24,0,36,0,45,0 46,0,37,0,28,0,38,0,21,0,7,0 27,0,31,0,34,0,3,0,8,0,19,0 20,0,40,0,2,0,53,0,49,0,11,0 9,0,12,0,22,0,26,0,4,0,10,0 29,0,54,0,47,0,33,0,24,0,5,0 15,0,30,0,23,0,42,0,57,0,6,0 44,0,14,0,55,0,13,0,1,0,17,0 25,0,32,0,50,0,41,0,39,0,48,0 16,0,18,0,43,0,52,0,45,0,56,0 35,0,36,0,31,0,51,0,20,0,33,0 ================================================ FILE: schedules/57_6.csv ================================================ 53,0,24,0,54,0,11,0,39,0,57,0 47,0,2,0,15,0,40,0,16,0,13,0 3,0,49,0,14,0,12,0,27,0,30,0 20,0,56,0,51,0,37,0,33,0,1,0 43,0,48,0,46,0,8,0,22,0,6,0 42,0,18,0,55,0,38,0,34,0,26,0 45,0,5,0,7,0,19,0,44,0,32,0 21,0,52,0,23,0,17,0,50,0,10,0 4,0,36,0,9,0,28,0,29,0,31,0 35,0,25,0,30,0,41,0,56,0,6,0 40,0,1,0,2,0,54,0,18,0,43,0 45,0,33,0,27,0,13,0,24,0,42,0 53,0,46,0,38,0,7,0,23,0,51,0 55,0,9,0,49,0,36,0,8,0,5,0 11,0,22,0,47,0,21,0,35,0,19,0 25,0,16,0,26,0,28,0,17,0,12,0 37,0,50,0,3,0,29,0,57,0,41,0 44,0,48,0,31,0,14,0,52,0,34,0 10,0,32,0,39,0,15,0,4,0,20,0 18,0,22,0,7,0,49,0,47,0,27,0 11,0,13,0,8,0,1,0,30,0,23,0 57,0,12,0,19,0,46,0,40,0,42,0 37,0,16,0,6,0,21,0,45,0,14,0 15,0,29,0,52,0,25,0,54,0,5,0 33,0,41,0,28,0,44,0,55,0,39,0 51,0,2,0,17,0,48,0,32,0,9,0 24,0,35,0,50,0,20,0,31,0,26,0 38,0,36,0,10,0,43,0,56,0,3,0 4,0,53,0,29,0,34,0,1,0,45,0 25,0,37,0,46,0,18,0,44,0,11,0 32,0,6,0,52,0,12,0,55,0,13,0 39,0,16,0,7,0,50,0,9,0,30,0 33,0,40,0,49,0,38,0,31,0,17,0 15,0,36,0,51,0,41,0,21,0,26,0 35,0,54,0,8,0,42,0,10,0,14,0 43,0,19,0,20,0,28,0,53,0,27,0 48,0,47,0,5,0,24,0,4,0,3,0 34,0,57,0,23,0,2,0,56,0,22,0 45,0,51,0,30,0,31,0,52,0,18,0 10,0,26,0,29,0,6,0,40,0,7,0 17,0,13,0,43,0,39,0,37,0,35,0 27,0,50,0,55,0,46,0,54,0,4,0 57,0,32,0,38,0,47,0,1,0,25,0 34,0,19,0,8,0,16,0,3,0,33,0 28,0,42,0,48,0,49,0,23,0,15,0 5,0,2,0,41,0,20,0,11,0,14,0 21,0,12,0,44,0,53,0,56,0,9,0 24,0,22,0,30,0,36,0,32,0,37,0 34,0,40,0,27,0,39,0,25,0,51,0 57,0,52,0,26,0,49,0,43,0,4,0 45,0,28,0,8,0,2,0,38,0,50,0 17,0,56,0,14,0,47,0,29,0,46,0 23,0,12,0,18,0,33,0,35,0,5,0 44,0,16,0,42,0,6,0,36,0,11,0 20,0,21,0,54,0,13,0,7,0,48,0 31,0,15,0,22,0,53,0,55,0,3,0 41,0,10,0,1,0,19,0,9,0,24,0 ================================================ FILE: schedules/57_7.csv ================================================ 38,0,19,0,33,0,34,0,45,0,32,0 40,0,44,0,47,0,56,0,14,0,31,0 13,0,27,0,16,0,36,0,25,0,28,0 41,0,52,0,30,0,3,0,46,0,8,0 21,0,54,0,18,0,29,0,1,0,12,0 37,0,20,0,39,0,50,0,10,0,42,0 51,0,23,0,26,0,6,0,15,0,35,0 17,0,11,0,49,0,55,0,57,0,48,0 22,0,9,0,5,0,43,0,4,0,2,0 53,0,24,0,56,0,7,0,27,0,8,0 3,0,47,0,28,0,42,0,32,0,21,0 25,0,46,0,10,0,51,0,44,0,18,0 35,0,29,0,45,0,20,0,16,0,17,0 30,0,12,0,36,0,49,0,37,0,9,0 43,0,38,0,55,0,23,0,1,0,24,0 50,0,26,0,34,0,53,0,11,0,40,0 14,0,15,0,52,0,22,0,7,0,39,0 2,0,33,0,6,0,48,0,13,0,54,0 31,0,57,0,41,0,4,0,5,0,19,0 18,1,56,0,45,0,49,1,23,0,30,0 53,1,10,0,9,0,35,0,28,0,1,0 37,0,15,0,16,0,38,0,47,0,8,0 3,0,33,0,11,0,25,0,14,0,24,0 22,0,46,0,29,0,50,0,31,0,48,0 17,0,19,0,12,0,52,0,40,0,42,0 39,0,44,0,27,0,41,0,6,0,21,0 36,0,34,0,51,0,2,0,20,0,57,0 32,0,13,0,4,0,26,0,7,0,55,0 43,0,5,0,18,0,54,0,16,0,47,0 49,0,33,0,29,0,10,0,23,0,52,0 40,0,6,0,30,0,25,0,22,0,38,0 51,0,11,0,21,0,9,0,56,0,19,0 46,0,2,0,7,0,27,0,55,0,45,0 20,0,48,0,8,0,5,0,32,0,26,0 42,0,36,0,54,0,53,0,4,0,14,0 24,0,57,0,12,0,13,0,41,0,35,0 1,0,15,0,3,0,50,0,44,0,17,0 43,0,37,0,28,0,34,0,31,0,39,0 19,0,10,0,55,0,47,0,27,0,22,0 8,0,40,0,4,0,45,0,51,0,49,0 42,0,5,0,24,0,6,0,36,0,29,0 1,0,16,0,14,0,52,0,2,0,26,0 53,0,17,0,33,0,46,0,21,0,43,0 38,0,31,0,13,0,9,0,20,0,3,0 48,0,56,0,34,0,12,0,25,0,15,0 23,0,18,0,50,0,28,0,7,0,57,0 54,0,11,0,39,0,30,0,35,0,44,0 41,0,37,0,40,0,32,0,2,0,29,0 21,0,31,0,26,0,10,0,24,0,45,0 16,0,48,0,6,0,53,0,55,0,3,0 22,0,34,0,1,0,47,0,13,0,49,0 57,0,38,0,56,0,39,0,46,0,42,0 8,0,44,0,36,0,35,0,18,0,19,0 4,0,30,0,15,0,33,0,20,0,28,0 7,0,9,0,17,0,41,0,54,0,25,0 32,0,14,0,50,0,51,0,43,0,12,0 27,0,52,0,37,0,11,0,23,0,5,0 1,0,39,0,47,0,36,0,40,0,48,0 2,0,49,0,28,0,46,0,19,0,24,0 55,0,9,0,18,0,26,0,42,0,33,0 44,0,7,0,10,0,16,0,38,0,12,0 29,0,51,0,5,0,53,0,13,0,30,0 43,0,6,0,20,0,11,0,41,0,56,0 54,0,45,0,57,0,37,0,3,0,22,0 35,0,4,0,25,0,21,0,50,0,52,0 14,0,27,0,23,0,34,0,8,0,17,0 32,0,49,0,53,0,31,0,15,0,18,0 ================================================ FILE: schedules/57_8.csv ================================================ 10,0,19,0,1,0,52,0,38,0,12,0 6,0,44,0,46,0,14,0,7,0,27,0 48,0,22,0,47,0,49,0,36,0,15,0 39,0,42,0,50,0,16,0,55,0,17,0 24,0,29,0,3,0,30,0,2,0,34,0 5,0,57,0,56,0,25,0,53,0,33,0 45,0,32,0,28,0,9,0,37,0,35,0 31,0,41,0,51,0,43,0,11,0,8,0 4,0,21,0,23,0,18,0,26,0,20,0 40,0,52,0,30,0,54,0,13,0,6,0 53,0,36,0,38,0,7,0,55,0,24,0 5,0,50,0,15,0,44,0,27,0,56,0 33,0,45,0,48,0,51,0,14,0,3,0 39,0,34,0,11,0,57,0,12,0,18,0 17,0,32,0,2,0,19,0,16,0,21,0 28,0,31,0,20,0,26,0,29,0,47,0 35,0,49,0,40,0,10,0,4,0,8,0 54,0,46,0,42,0,1,0,43,0,37,0 22,0,9,0,23,0,25,0,41,0,13,0 51,0,34,0,36,0,17,0,6,0,5,0 11,0,50,0,14,0,30,0,53,0,28,0 57,0,10,0,39,0,4,0,29,0,32,0 27,0,2,0,47,0,45,0,54,0,1,0 46,0,22,0,12,0,56,0,55,0,21,0 31,0,52,0,18,0,9,0,44,0,42,0 20,0,15,0,16,0,40,0,41,0,38,0 37,0,33,0,8,0,26,0,24,0,48,0 7,0,43,0,35,0,25,0,3,0,23,0 13,0,49,0,39,0,19,0,46,0,28,0 1,0,44,0,11,0,22,0,6,0,29,0 55,0,5,0,20,0,2,0,45,0,52,0 4,0,54,0,51,0,32,0,24,0,36,0 43,0,18,0,41,0,47,0,57,0,7,0 38,0,33,0,13,0,50,0,34,0,8,0 3,0,19,0,26,0,40,0,53,0,42,0 37,0,30,0,25,0,15,0,10,0,21,0 14,0,17,0,31,0,49,0,56,0,23,0 27,0,9,0,48,0,35,0,12,0,16,0 33,0,46,0,2,0,4,0,36,0,11,0 7,0,28,0,40,0,22,0,5,0,32,0 8,0,21,0,13,0,42,0,29,0,45,0 57,0,19,0,24,0,6,0,15,0,31,0 38,0,3,0,49,0,37,0,52,0,27,0 26,0,25,0,54,0,12,0,48,0,50,0 56,0,35,0,30,0,39,0,41,0,1,0 51,0,16,0,53,0,23,0,47,0,44,0 14,0,34,0,55,0,9,0,20,0,43,0 17,0,18,0,27,0,10,0,22,0,33,0 12,0,5,0,36,0,42,0,31,0,3,0 11,0,41,0,48,0,32,0,21,0,52,0 45,0,56,0,51,0,30,0,7,0,38,0 2,0,15,0,44,0,13,0,35,0,26,0 6,0,55,0,28,0,54,0,23,0,10,0 57,0,8,0,9,0,17,0,1,0,20,0 29,0,53,0,18,0,16,0,46,0,49,0 40,0,25,0,24,0,39,0,14,0,47,0 19,0,43,0,34,0,4,0,37,0,50,0 22,0,54,0,21,0,38,0,31,0,35,0 56,0,26,0,10,0,9,0,5,0,11,0 49,0,12,0,32,0,44,0,30,0,20,0 1,0,18,0,8,0,55,0,15,0,3,0 37,0,14,0,16,0,57,0,36,0,13,0 4,0,7,0,52,0,47,0,17,0,50,0 48,0,2,0,6,0,43,0,39,0,53,0 42,0,34,0,27,0,51,0,28,0,25,0 41,0,24,0,23,0,40,0,46,0,45,0 29,0,19,0,15,0,33,0,54,0,9,0 4,0,16,0,5,0,21,0,1,0,14,0 47,0,13,0,32,0,6,0,56,0,3,0 42,0,25,0,38,0,11,0,2,0,49,0 7,0,31,0,46,0,34,0,10,0,48,0 43,0,45,0,26,0,52,0,22,0,39,0 17,0,37,0,53,0,29,0,41,0,12,0 35,0,20,0,50,0,51,0,18,0,24,0 8,0,23,0,27,0,36,0,19,0,30,0 40,0,55,0,44,0,33,0,57,0,28,0 ================================================ FILE: schedules/57_9.csv ================================================ 21,0,57,0,13,0,36,0,14,0,44,0 55,0,39,0,35,0,50,0,24,0,38,0 52,0,30,0,29,0,8,0,33,0,51,0 18,0,10,0,1,0,17,0,12,0,26,0 34,0,28,0,23,0,45,0,7,0,49,0 41,0,19,0,43,0,27,0,5,0,42,0 31,0,20,0,53,0,2,0,9,0,22,0 56,0,47,0,6,0,16,0,3,0,46,0 15,0,4,0,32,0,54,0,37,0,48,0 11,0,25,0,8,0,40,0,21,0,34,0 10,0,49,0,33,0,7,0,57,0,50,0 14,0,41,0,17,0,29,0,2,0,31,0 43,0,24,0,12,0,16,0,36,0,6,0 52,0,19,0,44,0,38,0,1,0,28,0 15,0,54,0,26,0,30,0,53,0,55,0 35,0,56,0,11,0,4,0,47,0,51,0 37,0,5,0,3,0,45,0,18,0,13,0 48,0,25,0,39,0,46,0,23,0,20,0 40,0,27,0,9,0,42,0,32,0,22,0 28,1,14,0,57,0,15,1,53,0,38,0 33,1,29,0,24,0,21,0,7,0,56,0 1,0,36,0,26,0,34,0,8,0,5,0 55,0,20,0,41,0,11,0,44,0,12,0 22,0,19,0,47,0,48,0,49,0,32,0 3,0,30,0,27,0,46,0,40,0,50,0 43,0,9,0,51,0,4,0,23,0,18,0 2,0,17,0,13,0,25,0,35,0,16,0 10,0,31,0,52,0,6,0,45,0,54,0 39,0,42,0,1,0,37,0,47,0,33,0 11,0,26,0,41,0,19,0,24,0,57,0 38,0,18,0,43,0,21,0,22,0,29,0 48,0,2,0,5,0,56,0,55,0,40,0 20,0,36,0,45,0,30,0,15,0,35,0 42,0,16,0,53,0,46,0,34,0,52,0 6,0,8,0,28,0,37,0,13,0,32,0 23,0,31,0,51,0,50,0,10,0,3,0 27,0,14,0,49,0,12,0,25,0,4,0 7,0,9,0,54,0,44,0,17,0,39,0 33,0,1,0,11,0,48,0,43,0,36,0 18,0,5,0,28,0,20,0,6,0,35,0 37,0,19,0,21,0,10,0,16,0,40,0 52,0,57,0,23,0,32,0,55,0,2,0 25,0,22,0,24,0,42,0,29,0,3,0 12,0,46,0,7,0,15,0,9,0,31,0 34,0,49,0,51,0,38,0,17,0,54,0 8,0,50,0,45,0,47,0,53,0,41,0 27,0,56,0,26,0,13,0,39,0,14,0 44,0,16,0,22,0,30,0,4,0,5,0 48,0,46,0,28,0,12,0,29,0,57,0 18,0,25,0,42,0,31,0,36,0,54,0 51,0,55,0,3,0,1,0,8,0,7,0 49,0,13,0,53,0,39,0,10,0,20,0 33,0,14,0,9,0,27,0,6,0,19,0 40,0,4,0,24,0,47,0,17,0,52,0 35,0,21,0,32,0,15,0,34,0,41,0 11,0,23,0,38,0,37,0,30,0,56,0 2,0,50,0,44,0,43,0,45,0,26,0 16,0,48,0,14,0,51,0,39,0,18,0 13,0,40,0,6,0,33,0,7,0,53,0 31,0,8,0,3,0,27,0,57,0,35,0 5,0,10,0,24,0,25,0,38,0,9,0 34,0,47,0,44,0,29,0,23,0,15,0 56,0,43,0,17,0,19,0,30,0,32,0 26,0,22,0,50,0,52,0,28,0,11,0 45,0,4,0,21,0,2,0,42,0,12,0 37,0,55,0,36,0,41,0,46,0,49,0 20,0,54,0,27,0,1,0,24,0,23,0 33,0,32,0,25,0,18,0,53,0,44,0 48,0,13,0,19,0,34,0,31,0,50,0 7,0,42,0,4,0,38,0,26,0,8,0 15,0,12,0,5,0,3,0,52,0,39,0 36,0,40,0,41,0,51,0,56,0,28,0 49,0,30,0,1,0,21,0,2,0,6,0 54,0,10,0,46,0,35,0,22,0,14,0 37,0,17,0,20,0,43,0,47,0,57,0 16,0,29,0,11,0,55,0,9,0,45,0 4,0,36,0,53,0,3,0,23,0,19,0 39,0,21,0,30,0,41,0,31,0,28,0 12,0,38,0,35,0,40,0,26,0,33,0 46,0,8,0,15,0,49,0,24,0,18,0 57,0,22,0,45,0,56,0,25,0,1,0 54,0,29,0,32,0,11,0,5,0,13,0 34,0,43,0,55,0,10,0,47,0,9,0 6,0,44,0,42,0,17,0,51,0,48,0 37,0,50,0,52,0,20,0,14,0,7,0 2,0,16,0,15,0,27,0,28,0,33,0 ================================================ FILE: schedules/58_1.csv ================================================ 48,0,30,0,22,0,9,0,39,0,34,0 14,0,21,0,28,0,11,0,23,0,46,0 38,0,33,0,55,0,44,0,42,0,5,0 26,0,51,0,53,0,8,0,15,0,6,0 47,0,19,0,27,0,43,0,58,0,25,0 17,0,1,0,37,0,3,0,24,0,12,0 35,0,32,0,13,0,36,0,4,0,29,0 50,0,18,0,45,0,40,0,57,0,2,0 10,0,20,0,7,0,52,0,54,0,49,0 56,0,41,0,15,1,16,0,31,0,51,1 ================================================ FILE: schedules/58_10.csv ================================================ 44,0,20,0,49,0,25,0,36,0,15,0 7,0,8,0,48,0,43,0,55,0,19,0 37,0,41,0,1,0,35,0,53,0,24,0 52,0,50,0,2,0,39,0,42,0,54,0 21,0,18,0,38,0,46,0,31,0,33,0 51,0,23,0,26,0,9,0,12,0,16,0 30,0,4,0,6,0,10,0,40,0,3,0 29,0,5,0,14,0,13,0,56,0,47,0 28,0,22,0,27,0,32,0,17,0,45,0 11,0,58,0,46,0,57,0,34,0,19,0 44,0,2,0,48,0,18,0,9,0,49,0 37,0,52,0,7,0,12,0,40,0,20,0 13,0,35,0,1,0,26,0,36,0,47,0 42,0,24,0,22,0,25,0,38,0,55,0 41,0,50,0,16,0,27,0,10,0,43,0 39,0,30,0,28,0,58,0,56,0,31,0 11,0,6,0,21,0,29,0,54,0,53,0 5,0,51,0,33,0,8,0,57,0,4,0 34,0,23,0,32,0,45,0,15,0,14,0 3,0,24,0,47,0,17,0,27,0,26,0 46,1,16,0,56,0,48,1,22,0,20,0 53,0,13,0,30,0,50,0,38,0,44,0 10,0,54,0,31,0,33,0,37,0,9,0 25,0,57,0,28,0,8,0,29,0,23,0 35,0,40,0,49,0,43,0,45,0,34,0 21,0,5,0,3,0,2,0,42,0,58,0 15,0,18,0,7,0,11,0,4,0,1,0 17,0,12,0,19,0,41,0,14,0,39,0 32,0,36,0,55,0,52,0,6,0,51,0 24,0,57,0,20,0,31,0,50,0,43,0 23,0,10,0,45,0,21,0,2,0,56,0 46,0,38,0,26,0,29,0,40,0,28,0 8,0,16,0,19,0,3,0,37,0,15,0 51,0,30,0,44,0,54,0,47,0,34,0 25,0,1,0,14,0,9,0,27,0,52,0 39,0,12,0,32,0,55,0,5,0,48,0 4,0,36,0,18,0,58,0,53,0,17,0 6,0,33,0,22,0,35,0,7,0,41,0 42,0,49,0,16,0,11,0,13,0,24,0 28,0,21,0,44,0,37,0,43,0,51,0 46,0,45,0,3,0,5,0,1,0,54,0 14,0,10,0,32,0,58,0,18,0,8,0 15,0,47,0,38,0,12,0,57,0,2,0 52,0,22,0,36,0,23,0,11,0,31,0 19,0,53,0,39,0,33,0,20,0,35,0 48,0,29,0,9,0,30,0,50,0,27,0 6,0,7,0,26,0,42,0,34,0,25,0 55,0,40,0,4,0,49,0,13,0,41,0 17,0,44,0,43,0,56,0,5,0,11,0 18,0,19,0,10,0,28,0,47,0,52,0 24,0,9,0,2,0,29,0,32,0,33,0 8,0,50,0,3,0,34,0,7,0,22,0 27,0,13,0,40,0,21,0,51,0,57,0 25,0,45,0,41,0,58,0,37,0,36,0 42,0,46,0,35,0,14,0,30,0,12,0 20,0,54,0,17,0,48,0,23,0,1,0 49,0,38,0,4,0,39,0,6,0,16,0 31,0,15,0,55,0,56,0,26,0,53,0 51,0,22,0,13,0,52,0,19,0,58,0 5,0,47,0,9,0,41,0,21,0,34,0 1,0,43,0,36,0,29,0,10,0,12,0 27,0,8,0,24,0,39,0,46,0,44,0 23,0,56,0,4,0,37,0,26,0,50,0 54,0,49,0,2,0,31,0,7,0,14,0 53,0,25,0,40,0,48,0,16,0,32,0 6,0,15,0,42,0,28,0,33,0,17,0 45,0,55,0,57,0,20,0,30,0,18,0 35,0,11,0,9,0,3,0,38,0,56,0 51,0,47,0,58,0,46,0,50,0,49,0 12,0,54,0,21,0,4,0,25,0,24,0 41,0,40,0,22,0,1,0,15,0,2,0 48,0,53,0,31,0,8,0,42,0,45,0 57,0,29,0,52,0,44,0,16,0,35,0 13,0,23,0,33,0,3,0,32,0,43,0 28,0,26,0,14,0,11,0,7,0,39,0 37,0,19,0,30,0,6,0,36,0,5,0 38,0,17,0,34,0,20,0,55,0,10,0 18,0,56,0,42,0,27,0,49,0,51,0 53,0,43,0,4,0,46,0,22,0,47,0 7,0,40,0,58,0,24,0,44,0,23,0 21,0,31,0,1,0,19,0,50,0,32,0 45,0,20,0,9,0,12,0,13,0,6,0 52,0,26,0,8,0,17,0,41,0,30,0 33,0,3,0,57,0,48,0,36,0,14,0 37,0,34,0,18,0,39,0,29,0,38,0 2,0,55,0,16,0,35,0,54,0,28,0 15,0,10,0,11,0,5,0,27,0,25,0 46,0,32,0,30,0,7,0,49,0,17,0 14,0,42,0,19,0,44,0,4,0,45,0 58,0,43,0,48,0,1,0,38,0,6,0 51,0,41,0,29,0,20,0,31,0,3,0 33,0,47,0,55,0,37,0,16,0,11,0 50,0,25,0,23,0,18,0,35,0,5,0 12,0,27,0,34,0,2,0,53,0,28,0 39,0,26,0,57,0,21,0,22,0,10,0 54,0,56,0,9,0,40,0,8,0,36,0 24,0,15,0,46,0,52,0,13,0,48,0 ================================================ FILE: schedules/58_11.csv ================================================ 45,0,58,0,11,0,31,0,43,0,12,0 36,0,50,0,37,0,14,0,51,0,35,0 7,0,15,0,21,0,26,0,8,0,13,0 39,0,27,0,53,0,30,0,25,0,16,0 46,0,17,0,5,0,28,0,20,0,42,0 49,0,55,0,1,0,29,0,34,0,38,0 10,0,44,0,52,0,9,0,18,0,24,0 48,0,40,0,3,0,32,0,56,0,4,0 54,0,57,0,6,0,22,0,33,0,2,0 23,0,47,0,30,0,19,0,41,0,43,0 37,0,7,0,27,0,58,0,12,0,5,0 18,0,50,0,55,0,53,0,36,0,11,0 15,0,29,0,45,0,32,0,3,0,10,0 8,0,38,0,48,0,6,0,42,0,49,0 21,0,23,0,22,0,44,0,14,0,46,0 2,0,31,0,51,0,47,0,41,0,40,0 13,0,17,0,4,0,9,0,57,0,52,0 35,0,19,0,20,0,39,0,34,0,54,0 24,0,56,0,25,0,16,0,26,0,28,0 1,0,30,0,36,0,33,0,23,0,46,0 8,1,21,0,55,0,40,1,27,0,45,0 50,1,43,0,13,0,17,1,42,0,3,0 53,0,54,0,9,0,48,0,15,0,51,0 6,0,18,0,16,0,19,0,37,0,34,0 41,0,57,0,26,0,52,0,58,0,38,0 14,0,22,0,32,0,5,0,33,0,56,0 29,0,1,0,11,0,20,0,47,0,24,0 10,0,4,0,25,0,35,0,2,0,12,0 31,0,44,0,28,0,49,0,7,0,39,0 9,0,38,0,19,0,37,0,40,0,21,0 34,0,45,0,22,0,50,0,30,0,3,0 52,0,51,0,43,0,6,0,27,0,46,0 20,0,2,0,54,0,26,0,14,0,55,0 42,0,7,0,1,0,4,0,18,0,41,0 31,0,39,0,16,0,29,0,17,0,36,0 23,0,24,0,28,0,32,0,8,0,12,0 53,0,56,0,10,0,47,0,11,0,57,0 13,0,49,0,5,0,15,0,58,0,25,0 44,0,35,0,43,0,33,0,48,0,20,0 54,0,16,0,7,0,38,0,45,0,42,0 41,0,31,0,3,0,8,0,46,0,37,0 18,0,12,0,57,0,14,0,40,0,30,0 50,0,15,0,4,0,39,0,21,0,47,0 9,0,2,0,11,0,34,0,1,0,28,0 19,0,29,0,52,0,36,0,25,0,33,0 5,0,48,0,22,0,24,0,51,0,55,0 6,0,10,0,17,0,26,0,49,0,23,0 58,0,27,0,13,0,53,0,35,0,32,0 44,0,41,0,37,0,56,0,15,0,11,0 36,0,34,0,14,0,43,0,7,0,28,0 3,0,12,0,16,0,1,0,52,0,48,0 54,0,24,0,33,0,8,0,18,0,39,0 10,0,46,0,47,0,27,0,38,0,17,0 26,0,35,0,9,0,22,0,30,0,42,0 56,0,55,0,13,0,50,0,6,0,23,0 5,0,51,0,45,0,29,0,4,0,44,0 19,0,40,0,2,0,58,0,53,0,49,0 25,0,32,0,21,0,57,0,31,0,20,0 3,0,8,0,47,0,12,0,36,0,9,0 54,0,43,0,46,0,56,0,7,0,50,0 24,0,6,0,29,0,4,0,34,0,30,0 35,0,5,0,40,0,16,0,52,0,23,0 25,0,42,0,14,0,55,0,10,0,19,0 58,0,17,0,39,0,22,0,38,0,11,0 48,0,18,0,2,0,31,0,27,0,15,0 21,0,28,0,33,0,53,0,51,0,41,0 49,0,20,0,37,0,57,0,13,0,45,0 1,0,26,0,6,0,44,0,32,0,36,0 35,0,46,0,29,0,24,0,40,0,43,0 4,0,19,0,23,0,31,0,22,0,54,0 56,0,51,0,8,0,39,0,2,0,30,0 38,0,20,0,12,0,5,0,15,0,53,0 3,0,28,0,45,0,26,0,27,0,18,0 7,0,48,0,14,0,1,0,17,0,25,0 44,0,16,0,47,0,57,0,58,0,55,0 33,0,34,0,41,0,37,0,13,0,10,0 52,0,42,0,21,0,11,0,49,0,32,0 50,0,31,0,26,0,9,0,20,0,5,0 1,0,40,0,15,0,35,0,28,0,6,0 8,0,16,0,53,0,4,0,43,0,14,0 38,0,25,0,47,0,3,0,33,0,44,0 12,0,34,0,42,0,56,0,57,0,39,0 36,0,27,0,49,0,22,0,41,0,24,0 9,0,29,0,21,0,7,0,2,0,23,0 17,0,55,0,32,0,51,0,18,0,37,0 46,0,11,0,13,0,19,0,45,0,48,0 58,0,10,0,30,0,54,0,50,0,52,0 20,0,36,0,4,0,56,0,38,0,49,0 35,0,57,0,22,0,29,0,28,0,8,0 53,0,2,0,3,0,7,0,17,0,24,0 27,0,11,0,51,0,23,0,13,0,40,0 32,0,16,0,19,0,44,0,50,0,12,0 5,0,39,0,43,0,1,0,10,0,21,0 33,0,30,0,31,0,42,0,15,0,55,0 14,0,58,0,41,0,9,0,45,0,6,0 52,0,34,0,26,0,37,0,47,0,48,0 25,0,46,0,12,0,54,0,18,0,17,0 22,0,51,0,40,0,7,0,10,0,20,0 27,0,8,0,57,0,19,0,50,0,1,0 30,0,38,0,24,0,14,0,31,0,13,0 48,0,36,0,28,0,29,0,37,0,58,0 33,0,26,0,15,0,4,0,16,0,46,0 41,0,11,0,6,0,3,0,54,0,5,0 32,0,39,0,52,0,2,0,43,0,55,0 23,0,42,0,9,0,25,0,53,0,45,0 56,0,18,0,47,0,21,0,49,0,35,0 34,0,8,0,50,0,44,0,40,0,17,0 ================================================ FILE: schedules/58_12.csv ================================================ 55,0,6,0,51,0,13,0,35,0,18,0 56,0,25,0,8,0,34,0,19,0,53,0 58,0,40,0,52,0,15,0,26,0,22,0 42,0,45,0,57,0,5,0,50,0,38,0 21,0,49,0,48,0,32,0,27,0,2,0 41,0,44,0,36,0,14,0,39,0,20,0 46,0,30,0,29,0,31,0,7,0,54,0 33,0,10,0,11,0,3,0,9,0,37,0 1,0,47,0,17,0,4,0,16,0,23,0 12,0,28,0,8,0,43,0,24,0,45,0 6,0,50,0,18,0,2,0,36,0,56,0 14,0,31,0,5,0,40,0,25,0,48,0 49,0,13,0,34,0,57,0,41,0,21,0 20,0,35,0,23,0,42,0,19,0,54,0 47,0,11,0,22,0,29,0,43,0,51,0 44,0,4,0,15,0,10,0,16,0,55,0 26,0,32,0,58,0,28,0,46,0,9,0 12,0,33,0,1,0,39,0,17,0,52,0 24,0,3,0,38,0,27,0,7,0,37,0 53,0,50,0,22,0,30,0,8,0,41,0 2,0,48,0,34,0,15,0,45,0,23,0 40,0,19,0,44,0,6,0,4,0,43,0 33,0,21,0,36,0,1,0,26,0,51,0 31,0,27,0,12,0,57,0,47,0,10,0 17,0,53,0,42,0,14,0,11,0,46,0 13,0,54,0,3,0,58,0,24,0,39,0 9,0,7,0,5,0,49,0,18,0,55,0 52,0,28,0,20,0,35,0,25,0,30,0 16,0,29,0,56,0,32,0,38,0,37,0 19,0,10,0,12,0,48,0,1,0,36,0 31,0,26,0,53,0,4,0,39,0,13,0 46,0,43,0,55,0,57,0,6,0,33,0 22,0,30,0,52,0,18,0,34,0,17,0 29,0,50,0,20,0,58,0,23,0,14,0 47,0,5,0,2,0,32,0,56,0,24,0 28,0,15,0,35,0,38,0,51,0,27,0 16,0,7,0,21,0,9,0,25,0,42,0 49,0,54,0,44,0,11,0,45,0,8,0 37,0,40,0,23,0,3,0,41,0,55,0 48,0,32,0,6,0,30,0,10,0,58,0 34,0,56,0,51,0,24,0,31,0,20,0 27,0,47,0,19,0,50,0,52,0,46,0 29,0,44,0,8,0,26,0,42,0,33,0 4,0,1,0,54,0,5,0,57,0,28,0 36,0,13,0,45,0,40,0,17,0,11,0 15,0,39,0,41,0,18,0,43,0,7,0 14,0,16,0,35,0,22,0,3,0,21,0 9,0,49,0,2,0,37,0,53,0,12,0 25,0,55,0,26,0,38,0,48,0,47,0 57,0,44,0,17,0,29,0,40,0,28,0 6,0,34,0,54,0,42,0,1,0,27,0 46,0,3,0,8,0,20,0,15,0,36,0 24,0,19,0,35,0,32,0,53,0,11,0 9,0,14,0,43,0,56,0,23,0,52,0 16,0,37,0,39,0,5,0,30,0,45,0 33,0,31,0,18,0,2,0,58,0,38,0 13,0,10,0,22,0,49,0,50,0,7,0 12,0,4,0,41,0,51,0,21,0,25,0 1,0,32,0,55,0,34,0,20,0,3,0 36,0,52,0,57,0,53,0,23,0,5,0 35,0,56,0,9,0,54,0,26,0,45,0 2,0,37,0,31,0,14,0,28,0,22,0 12,0,43,0,11,0,27,0,16,0,58,0 17,0,29,0,15,0,6,0,49,0,25,0 51,0,40,0,10,0,39,0,21,0,50,0 47,0,44,0,30,0,41,0,19,0,38,0 48,0,4,0,24,0,42,0,18,0,46,0 33,0,8,0,32,0,13,0,7,0,57,0 25,0,15,0,31,0,35,0,37,0,36,0 28,0,39,0,45,0,29,0,52,0,21,0 23,0,2,0,51,0,10,0,27,0,44,0 14,0,50,0,26,0,11,0,1,0,34,0 41,0,40,0,18,0,46,0,16,0,54,0 58,0,5,0,17,0,7,0,8,0,19,0 24,0,55,0,42,0,30,0,49,0,43,0 13,0,6,0,20,0,12,0,47,0,9,0 22,0,56,0,48,0,3,0,4,0,33,0 38,0,45,0,18,0,53,0,1,0,10,0 32,0,52,0,19,0,51,0,8,0,31,0 16,0,2,0,41,0,55,0,36,0,29,0 23,0,42,0,6,0,26,0,24,0,37,0 57,0,22,0,35,0,44,0,9,0,48,0 46,0,40,0,5,0,34,0,30,0,12,0 28,0,7,0,4,0,11,0,49,0,20,0 53,0,54,0,14,0,47,0,15,0,33,0 27,0,39,0,25,0,56,0,58,0,13,0 38,0,21,0,43,0,17,0,50,0,3,0 42,0,36,0,22,0,12,0,45,0,32,0 48,0,8,0,5,0,6,0,28,0,41,0 7,0,47,0,29,0,52,0,35,0,34,0 20,0,53,0,27,0,40,0,16,0,26,0 50,0,10,0,25,0,54,0,33,0,24,0 13,0,37,0,46,0,44,0,43,0,1,0 18,0,51,0,19,0,49,0,57,0,3,0 23,0,55,0,21,0,11,0,31,0,39,0 38,0,30,0,9,0,2,0,4,0,14,0 15,0,58,0,42,0,56,0,17,0,41,0 43,0,20,0,5,0,48,0,29,0,10,0 3,0,7,0,45,0,47,0,26,0,6,0 28,0,23,0,34,0,16,0,33,0,13,0 49,0,52,0,24,0,40,0,38,0,36,0 8,0,14,0,27,0,55,0,4,0,19,0 39,0,46,0,1,0,22,0,2,0,25,0 50,0,31,0,32,0,18,0,12,0,44,0 11,0,30,0,21,0,15,0,56,0,57,0 51,0,9,0,53,0,54,0,17,0,37,0 58,0,33,0,43,0,35,0,45,0,4,0 38,0,49,0,23,0,22,0,20,0,46,0 18,0,25,0,47,0,8,0,42,0,40,0 3,0,19,0,36,0,28,0,13,0,2,0 26,0,27,0,17,0,41,0,32,0,5,0 30,0,14,0,56,0,51,0,12,0,7,0 15,0,9,0,24,0,29,0,31,0,1,0 21,0,54,0,58,0,55,0,44,0,53,0 16,0,11,0,57,0,6,0,52,0,10,0 34,0,50,0,37,0,48,0,39,0,35,0 ================================================ FILE: schedules/58_13.csv ================================================ 50,0,4,0,46,0,48,0,43,0,42,0 25,0,37,0,44,0,39,0,49,0,8,0 29,0,19,0,40,0,22,0,57,0,24,0 36,0,17,0,20,0,35,0,18,0,16,0 38,0,2,0,31,0,12,0,10,0,28,0 47,0,33,0,56,0,9,0,41,0,53,0 55,0,58,0,34,0,13,0,21,0,14,0 30,0,1,0,15,0,26,0,54,0,7,0 6,0,5,0,51,0,52,0,27,0,11,0 45,0,23,0,12,0,3,0,32,0,17,0 36,0,25,0,9,0,37,0,40,0,24,0 56,0,48,0,35,0,16,0,39,0,34,0 2,0,21,0,8,0,22,0,4,0,33,0 28,0,29,0,6,0,30,0,50,0,5,0 41,0,49,0,51,0,58,0,54,0,18,0 44,0,10,0,38,0,13,0,43,0,15,0 52,0,53,0,3,0,57,0,26,0,31,0 14,0,45,0,11,0,1,0,46,0,20,0 7,0,32,0,55,0,19,0,27,0,42,0 23,0,29,0,50,0,47,0,18,0,41,0 2,1,58,0,43,0,36,1,34,0,12,0 25,0,49,0,4,0,53,0,51,0,16,0 57,0,14,0,5,0,9,0,38,0,6,0 35,0,30,0,45,0,32,0,22,0,8,0 42,0,47,0,37,0,17,0,44,0,31,0 10,0,55,0,3,0,33,0,54,0,1,0 39,0,24,0,46,0,23,0,21,0,27,0 52,0,13,0,28,0,48,0,19,0,15,0 40,0,26,0,56,0,20,0,7,0,11,0 51,0,38,0,42,0,49,0,37,0,22,0 32,0,36,0,4,0,5,0,47,0,54,0 39,0,50,0,1,0,21,0,30,0,34,0 13,0,24,0,31,0,41,0,16,0,8,0 3,0,29,0,26,0,27,0,58,0,14,0 48,0,33,0,25,0,11,0,35,0,23,0 53,0,55,0,43,0,20,0,19,0,45,0 18,0,44,0,40,0,2,0,28,0,46,0 12,0,56,0,9,0,57,0,10,0,15,0 6,0,52,0,24,0,17,0,7,0,13,0 33,0,34,0,50,0,49,0,26,0,38,0 41,0,45,0,1,0,19,0,32,0,58,0 31,0,35,0,46,0,55,0,18,0,29,0 4,0,15,0,28,0,39,0,3,0,11,0 17,0,27,0,10,0,30,0,36,0,22,0 37,0,5,0,16,0,57,0,2,0,42,0 52,0,8,0,56,0,47,0,21,0,9,0 23,0,14,0,53,0,7,0,40,0,51,0 25,0,6,0,54,0,12,0,43,0,44,0 20,0,32,0,33,0,48,0,29,0,31,0 18,0,13,0,10,0,5,0,45,0,26,0 16,0,11,0,38,0,52,0,21,0,58,0 23,0,37,0,30,0,4,0,55,0,19,0 34,0,56,0,57,0,25,0,42,0,46,0 2,0,7,0,6,0,36,0,53,0,39,0 1,0,22,0,14,0,44,0,48,0,41,0 8,0,17,0,40,0,50,0,51,0,3,0 20,0,54,0,43,0,24,0,9,0,28,0 15,0,49,0,47,0,27,0,35,0,12,0 21,0,42,0,18,0,53,0,30,0,4,0 32,0,2,0,29,0,38,0,56,0,25,0 41,0,58,0,26,0,6,0,40,0,36,0 13,0,9,0,46,0,24,0,51,0,1,0 19,0,17,0,11,0,54,0,14,0,49,0 35,0,43,0,22,0,31,0,23,0,5,0 55,0,8,0,12,0,39,0,52,0,48,0 45,0,44,0,34,0,57,0,33,0,27,0 28,0,37,0,50,0,10,0,16,0,7,0 47,0,20,0,53,0,15,0,3,0,38,0 22,0,6,0,13,0,1,0,18,0,25,0 42,0,41,0,14,0,4,0,52,0,35,0 26,0,55,0,23,0,44,0,2,0,9,0 50,0,45,0,27,0,54,0,56,0,37,0 39,0,51,0,21,0,29,0,10,0,20,0 48,0,58,0,40,0,24,0,30,0,47,0 31,0,8,0,7,0,5,0,11,0,34,0 32,0,49,0,57,0,43,0,17,0,28,0 36,0,19,0,16,0,12,0,46,0,33,0 3,0,23,0,22,0,15,0,14,0,56,0 54,0,42,0,9,0,13,0,29,0,39,0 53,0,31,0,58,0,50,0,24,0,35,0 52,0,32,0,10,0,34,0,49,0,20,0 18,0,46,0,6,0,37,0,38,0,8,0 40,0,1,0,27,0,33,0,43,0,16,0 36,0,48,0,21,0,19,0,44,0,3,0 25,0,5,0,28,0,55,0,45,0,47,0 4,0,26,0,51,0,57,0,12,0,7,0 17,0,30,0,41,0,2,0,11,0,15,0 39,0,27,0,54,0,40,0,38,0,14,0 23,0,10,0,19,0,6,0,42,0,8,0 52,0,33,0,18,0,50,0,32,0,25,0 44,0,20,0,22,0,4,0,7,0,58,0 5,0,53,0,21,0,48,0,17,0,26,0 46,0,37,0,34,0,28,0,3,0,41,0 11,0,49,0,12,0,56,0,24,0,55,0 51,0,15,0,9,0,45,0,31,0,36,0 57,0,35,0,47,0,13,0,1,0,2,0 16,0,30,0,44,0,29,0,43,0,38,0 46,0,32,0,48,0,10,0,53,0,6,0 27,0,41,0,7,0,25,0,17,0,21,0 42,0,15,0,26,0,58,0,8,0,28,0 50,0,18,0,36,0,57,0,55,0,11,0 5,0,19,0,1,0,31,0,56,0,20,0 43,0,24,0,3,0,51,0,52,0,2,0 40,0,4,0,45,0,29,0,49,0,35,0 22,0,54,0,16,0,34,0,47,0,23,0 13,0,37,0,12,0,14,0,33,0,30,0 39,0,58,0,25,0,9,0,5,0,10,0 55,0,28,0,38,0,51,0,17,0,56,0 2,0,3,0,35,0,50,0,19,0,6,0 11,0,44,0,21,0,40,0,32,0,53,0 20,0,57,0,8,0,12,0,54,0,41,0 16,0,24,0,42,0,15,0,45,0,33,0 47,0,39,0,22,0,46,0,43,0,26,0 14,0,7,0,9,0,18,0,30,0,49,0 29,0,34,0,1,0,36,0,52,0,23,0 48,0,27,0,13,0,37,0,4,0,31,0 12,0,5,0,15,0,40,0,21,0,50,0 19,0,35,0,51,0,47,0,44,0,26,0 24,0,11,0,41,0,10,0,22,0,42,0 43,0,14,0,8,0,2,0,56,0,36,0 58,0,17,0,57,0,55,0,39,0,33,0 16,0,4,0,9,0,6,0,34,0,32,0 28,0,1,0,53,0,37,0,27,0,29,0 18,0,7,0,38,0,3,0,48,0,45,0 46,0,54,0,30,0,52,0,31,0,25,0 20,0,23,0,2,0,13,0,49,0,36,0 ================================================ FILE: schedules/58_14.csv ================================================ 21,0,33,0,39,0,3,0,32,0,54,0 22,0,5,0,18,0,51,0,47,0,57,0 40,0,29,0,25,0,10,0,31,0,6,0 20,0,37,0,12,0,23,0,13,0,36,0 48,0,7,0,2,0,15,0,55,0,4,0 45,0,53,0,38,0,8,0,17,0,43,0 11,0,34,0,46,0,27,0,1,0,28,0 24,0,44,0,52,0,56,0,30,0,14,0 19,0,50,0,9,0,49,0,42,0,41,0 58,0,26,0,36,0,16,0,35,0,15,0 5,0,32,0,33,0,18,0,13,0,20,0 21,0,48,0,43,0,2,0,40,0,11,0 45,0,34,0,54,0,46,0,53,0,51,0 55,0,22,0,9,0,28,0,50,0,29,0 6,0,19,0,8,0,3,0,14,0,25,0 35,0,1,0,42,0,7,0,23,0,58,0 24,0,41,0,56,0,27,0,17,0,31,0 4,0,52,0,30,0,12,0,26,0,39,0 47,0,16,0,49,0,57,0,44,0,10,0 38,0,34,0,29,0,37,0,19,0,45,0 46,1,42,0,15,0,53,1,14,0,18,0 41,1,3,0,22,0,40,1,5,0,48,0 26,0,33,0,2,0,39,0,56,0,31,0 43,0,16,0,1,0,54,0,47,0,35,0 51,0,32,0,55,0,57,0,24,0,12,0 23,0,49,0,20,0,17,0,4,0,38,0 28,0,9,0,44,0,36,0,8,0,25,0 27,0,7,0,52,0,21,0,6,0,58,0 30,0,37,0,13,0,50,0,11,0,10,0 24,0,34,0,19,0,33,0,43,0,22,0 55,0,56,0,57,0,46,0,38,0,49,0 2,0,47,0,12,0,25,0,17,0,23,0 42,0,6,0,27,0,44,0,8,0,51,0 29,0,54,0,20,0,41,0,52,0,18,0 35,0,31,0,28,0,3,0,13,0,21,0 45,0,7,0,4,0,16,0,40,0,30,0 48,0,14,0,32,0,10,0,26,0,53,0 58,0,39,0,11,0,50,0,36,0,5,0 1,0,37,0,6,0,9,0,15,0,2,0 23,0,52,0,33,0,38,0,28,0,41,0 8,0,54,0,22,0,12,0,17,0,40,0 21,0,56,0,10,0,45,0,20,0,42,0 58,0,32,0,57,0,25,0,44,0,34,0 37,0,14,0,36,0,29,0,19,0,30,0 55,0,16,0,18,0,1,0,53,0,50,0 7,0,39,0,49,0,13,0,11,0,51,0 9,0,31,0,43,0,48,0,4,0,46,0 27,0,3,0,47,0,15,0,24,0,26,0 35,0,2,0,30,0,5,0,34,0,20,0 41,0,1,0,58,0,45,0,57,0,8,0 25,0,53,0,55,0,29,0,51,0,21,0 13,0,44,0,38,0,40,0,10,0,22,0 17,0,37,0,28,0,6,0,7,0,18,0 49,0,54,0,48,0,46,0,39,0,19,0 15,0,12,0,3,0,11,0,43,0,35,0 42,0,33,0,56,0,47,0,36,0,4,0 24,0,16,0,50,0,26,0,5,0,52,0 31,0,23,0,14,0,32,0,9,0,27,0 44,0,45,0,41,0,48,0,39,0,13,0 21,0,54,0,53,0,30,0,6,0,49,0 40,0,43,0,3,0,36,0,34,0,1,0 12,0,10,0,51,0,28,0,4,0,24,0 23,0,11,0,56,0,7,0,25,0,26,0 8,0,46,0,31,0,5,0,15,0,37,0 2,0,42,0,32,0,52,0,16,0,22,0 50,0,35,0,20,0,19,0,27,0,57,0 17,0,18,0,33,0,55,0,29,0,14,0 47,0,9,0,48,0,58,0,38,0,30,0 11,0,8,0,26,0,54,0,23,0,41,0 46,0,12,0,13,0,53,0,3,0,6,0 15,0,22,0,31,0,36,0,56,0,20,0 34,0,50,0,39,0,7,0,37,0,55,0 28,0,19,0,32,0,44,0,1,0,17,0 47,0,21,0,40,0,33,0,58,0,51,0 5,0,38,0,16,0,14,0,43,0,27,0 25,0,10,0,52,0,35,0,9,0,45,0 18,0,49,0,4,0,29,0,24,0,2,0 57,0,26,0,20,0,42,0,48,0,28,0 51,0,23,0,15,0,30,0,44,0,50,0 31,0,13,0,5,0,47,0,17,0,55,0 53,0,37,0,43,0,58,0,56,0,19,0 38,0,25,0,6,0,1,0,39,0,24,0 7,0,11,0,54,0,14,0,22,0,42,0 40,0,18,0,45,0,9,0,36,0,3,0 34,0,8,0,4,0,21,0,52,0,57,0 41,0,35,0,29,0,46,0,32,0,16,0 10,0,2,0,49,0,27,0,33,0,12,0 38,0,19,0,42,0,31,0,55,0,30,0 14,0,40,0,6,0,50,0,47,0,23,0 44,0,4,0,26,0,21,0,20,0,1,0 25,0,37,0,51,0,41,0,16,0,48,0 11,0,15,0,17,0,52,0,34,0,9,0 53,0,39,0,35,0,49,0,28,0,43,0 57,0,36,0,7,0,33,0,54,0,24,0 58,0,27,0,8,0,22,0,13,0,29,0 32,0,10,0,45,0,46,0,18,0,2,0 3,0,5,0,19,0,56,0,12,0,4,0 41,0,50,0,14,0,35,0,21,0,55,0 1,0,57,0,30,0,33,0,53,0,31,0 27,0,29,0,15,0,40,0,42,0,39,0 52,0,17,0,36,0,7,0,46,0,10,0 11,0,38,0,3,0,2,0,51,0,20,0 6,0,13,0,26,0,43,0,18,0,25,0 45,0,49,0,58,0,23,0,22,0,32,0 47,0,44,0,5,0,54,0,9,0,37,0 56,0,48,0,8,0,34,0,28,0,16,0 24,0,36,0,40,0,12,0,42,0,53,0 1,0,19,0,51,0,52,0,11,0,14,0 46,0,17,0,22,0,25,0,21,0,30,0 43,0,57,0,29,0,44,0,3,0,7,0 55,0,49,0,26,0,10,0,37,0,8,0 9,0,23,0,24,0,39,0,20,0,16,0 34,0,18,0,58,0,31,0,41,0,12,0 35,0,5,0,4,0,33,0,45,0,6,0 27,0,48,0,50,0,47,0,32,0,56,0 15,0,13,0,28,0,2,0,38,0,54,0 26,0,51,0,40,0,49,0,17,0,19,0 39,0,9,0,14,0,34,0,57,0,22,0 16,0,44,0,6,0,11,0,33,0,55,0 24,0,42,0,3,0,35,0,58,0,37,0 1,0,23,0,10,0,5,0,53,0,56,0 25,0,4,0,32,0,15,0,43,0,54,0 46,0,30,0,36,0,13,0,2,0,41,0 20,0,28,0,52,0,29,0,47,0,45,0 50,0,7,0,31,0,12,0,8,0,38,0 27,0,21,0,23,0,18,0,48,0,24,0 6,0,17,0,34,0,42,0,58,0,10,0 43,0,56,0,2,0,9,0,41,0,51,0 47,0,53,0,22,0,4,0,37,0,11,0 25,0,46,0,50,0,33,0,36,0,38,0 28,0,14,0,5,0,40,0,49,0,52,0 29,0,44,0,12,0,26,0,48,0,1,0 8,0,39,0,30,0,35,0,32,0,18,0 16,0,57,0,13,0,21,0,19,0,15,0 27,0,54,0,55,0,45,0,31,0,3,0 20,0,46,0,41,0,7,0,53,0,40,0 ================================================ FILE: schedules/58_2.csv ================================================ 49,0,53,0,11,0,1,0,36,0,14,0 4,0,10,0,23,0,34,0,2,0,19,0 7,0,8,0,16,0,57,0,17,0,48,0 25,0,29,0,9,0,32,0,45,0,33,0 55,0,12,0,56,0,26,0,27,0,38,0 15,0,30,0,47,0,51,0,13,0,18,0 50,0,22,0,42,0,3,0,37,0,52,0 40,0,21,0,20,0,43,0,46,0,58,0 44,0,6,0,24,0,41,0,31,0,39,0 35,0,5,0,34,0,54,0,28,0,17,0 48,0,47,0,26,0,9,0,36,0,10,0 18,0,25,0,8,0,55,0,11,0,50,0 58,0,3,0,29,0,15,0,7,0,19,0 13,0,23,0,40,0,42,0,24,0,53,0 2,0,31,0,49,0,46,0,5,0,56,0 12,0,32,0,35,0,22,0,44,0,16,0 33,0,43,0,28,0,41,0,30,0,38,0 21,0,37,0,39,0,27,0,14,0,4,0 1,0,52,0,45,0,51,0,20,0,54,0 57,0,9,1,18,1,6,0,50,1,10,1 ================================================ FILE: schedules/58_3.csv ================================================ 33,0,24,0,58,0,47,0,14,0,19,0 41,0,34,0,4,0,39,0,13,0,15,0 56,0,18,0,10,0,29,0,36,0,52,0 31,0,38,0,40,0,43,0,37,0,6,0 28,0,16,0,45,0,1,0,8,0,25,0 57,0,50,0,23,0,53,0,26,0,11,0 54,0,49,0,48,0,55,0,17,0,44,0 9,0,21,0,12,0,5,0,35,0,46,0 2,0,32,0,3,0,30,0,27,0,7,0 20,0,42,0,58,0,51,0,22,0,16,0 29,0,38,0,8,0,57,0,24,0,34,0 39,0,18,0,53,0,45,0,48,0,33,0 47,0,13,0,25,0,36,0,46,0,40,0 43,0,11,0,54,0,32,0,4,0,56,0 7,0,35,0,23,0,44,0,20,0,52,0 27,0,14,0,21,0,31,0,51,0,50,0 22,0,41,0,2,0,6,0,49,0,26,0 15,0,17,0,28,0,42,0,9,0,10,0 37,0,1,0,55,0,19,0,3,0,12,0 5,0,36,0,16,0,30,0,23,0,33,0 8,0,46,0,44,0,14,0,11,0,39,0 52,0,31,0,54,0,41,0,53,0,47,0 40,0,21,0,32,0,28,0,58,0,18,0 26,0,13,0,27,0,1,0,38,0,42,0 34,0,48,0,35,0,22,0,37,0,10,0 57,0,45,0,15,0,56,0,12,0,2,0 49,0,29,0,20,0,3,0,5,0,25,0 17,0,6,0,19,0,50,0,4,0,7,0 9,0,30,0,51,0,43,0,55,0,24,0 ================================================ FILE: schedules/58_4.csv ================================================ 34,0,5,0,23,0,21,0,4,0,28,0 22,0,1,0,8,0,13,0,10,0,33,0 41,0,26,0,42,0,14,0,52,0,16,0 51,0,6,0,29,0,17,0,36,0,37,0 2,0,56,0,31,0,20,0,45,0,18,0 27,0,48,0,50,0,19,0,9,0,54,0 57,0,47,0,12,0,15,0,49,0,35,0 39,0,53,0,43,0,11,0,38,0,58,0 55,0,7,0,40,0,3,0,24,0,32,0 46,0,44,0,52,0,30,0,25,0,51,0 18,0,33,0,42,0,5,0,27,0,6,0 15,0,29,0,50,0,13,0,31,0,28,0 4,0,47,0,22,0,14,0,2,0,53,0 39,0,9,0,32,0,12,0,21,0,20,0 17,0,41,0,30,0,8,0,57,0,48,0 7,0,43,0,10,0,37,0,16,0,23,0 36,0,44,0,54,0,24,0,38,0,35,0 40,0,19,0,26,0,46,0,56,0,49,0 25,0,55,0,34,0,58,0,1,0,45,0 11,0,18,0,13,0,3,0,21,0,30,0 20,1,23,0,48,0,22,1,6,0,15,0 32,0,52,0,36,0,43,0,47,0,33,0 24,0,19,0,28,0,51,0,39,0,42,0 35,0,10,0,17,0,40,0,9,0,58,0 3,0,56,0,12,0,54,0,25,0,41,0 4,0,16,0,38,0,45,0,46,0,57,0 37,0,14,0,31,0,34,0,11,0,27,0 53,0,50,0,5,0,26,0,1,0,7,0 49,0,2,0,29,0,55,0,44,0,8,0 25,0,13,0,20,0,47,0,42,0,40,0 21,0,24,0,22,0,56,0,17,0,52,0 3,0,35,0,16,0,48,0,51,0,34,0 45,0,30,0,27,0,23,0,36,0,53,0 9,0,1,0,28,0,18,0,49,0,43,0 44,0,26,0,11,0,4,0,32,0,10,0 58,0,46,0,54,0,2,0,15,0,5,0 8,0,38,0,6,0,19,0,31,0,12,0 14,0,7,0,33,0,29,0,57,0,39,0 55,0,37,0,20,0,50,0,41,0,22,0 ================================================ FILE: schedules/58_5.csv ================================================ 7,0,27,0,54,0,58,0,45,0,22,0 51,0,4,0,47,0,38,0,41,0,46,0 35,0,11,0,40,0,29,0,24,0,15,0 48,0,9,0,34,0,18,0,55,0,13,0 23,0,19,0,33,0,26,0,36,0,10,0 49,0,42,0,12,0,44,0,17,0,21,0 57,0,50,0,53,0,3,0,28,0,1,0 25,0,52,0,39,0,37,0,20,0,6,0 2,0,16,0,8,0,5,0,32,0,31,0 14,0,56,0,40,0,43,0,30,0,58,0 23,0,7,0,11,0,44,0,55,0,47,0 36,0,45,0,4,0,35,0,48,0,42,0 3,0,27,0,13,0,24,0,21,0,52,0 17,0,15,0,57,0,33,0,51,0,39,0 28,0,25,0,22,0,31,0,29,0,38,0 50,0,37,0,32,0,46,0,14,0,12,0 26,0,30,0,49,0,9,0,20,0,16,0 19,0,54,0,1,0,18,0,43,0,5,0 2,0,6,0,10,0,56,0,34,0,53,0 41,0,21,0,28,0,8,0,23,0,58,0 32,1,47,0,48,0,40,1,33,0,25,0 7,1,29,0,36,0,57,1,9,0,12,0 52,0,55,0,1,0,16,0,22,0,4,0 20,0,5,0,35,0,27,0,10,0,44,0 42,0,39,0,8,0,46,0,34,0,11,0 49,0,24,0,41,0,18,0,50,0,56,0 14,0,15,0,38,0,13,0,19,0,2,0 54,0,30,0,53,0,17,0,31,0,37,0 43,0,26,0,3,0,51,0,45,0,6,0 10,0,58,0,46,0,57,0,16,0,25,0 44,0,22,0,56,0,32,0,36,0,39,0 41,0,34,0,5,0,7,0,15,0,52,0 27,0,55,0,37,0,40,0,42,0,2,0 45,0,29,0,14,0,53,0,49,0,33,0 30,0,51,0,19,0,11,0,28,0,48,0 18,0,23,0,17,0,3,0,38,0,20,0 26,0,12,0,13,0,8,0,1,0,35,0 50,0,9,0,21,0,54,0,6,0,4,0 43,0,31,0,34,0,47,0,24,0,57,0 10,0,41,0,55,0,45,0,32,0,30,0 16,0,3,0,42,0,29,0,56,0,19,0 18,0,53,0,46,0,26,0,52,0,40,0 28,0,35,0,39,0,7,0,49,0,2,0 58,0,47,0,36,0,50,0,13,0,17,0 33,0,37,0,43,0,21,0,11,0,22,0 51,0,14,0,44,0,54,0,8,0,25,0 31,0,1,0,15,0,9,0,23,0,27,0 6,0,5,0,24,0,48,0,38,0,12,0 20,0,32,0,7,0,4,0,40,0,57,0 ================================================ FILE: schedules/58_6.csv ================================================ 53,0,4,0,36,0,41,0,24,0,46,0 44,0,40,0,42,0,52,0,17,0,22,0 43,0,29,0,23,0,48,0,58,0,9,0 50,0,8,0,20,0,49,0,1,0,26,0 34,0,39,0,10,0,30,0,13,0,51,0 2,0,19,0,54,0,3,0,28,0,31,0 7,0,47,0,11,0,35,0,45,0,27,0 32,0,5,0,57,0,33,0,14,0,25,0 15,0,6,0,55,0,18,0,12,0,38,0 21,0,16,0,20,0,56,0,37,0,44,0 8,0,40,0,29,0,30,0,24,0,54,0 53,0,31,0,58,0,13,0,52,0,47,0 10,0,22,0,57,0,35,0,4,0,28,0 32,0,36,0,48,0,50,0,34,0,15,0 46,0,51,0,25,0,21,0,38,0,27,0 14,0,39,0,18,0,45,0,23,0,7,0 43,0,26,0,16,0,41,0,12,0,42,0 9,0,19,0,56,0,49,0,55,0,5,0 33,0,6,0,17,0,37,0,1,0,3,0 11,0,38,0,24,0,2,0,52,0,32,0 51,0,15,0,54,0,7,0,20,0,57,0 27,0,28,0,39,0,53,0,40,0,43,0 29,0,49,0,18,0,41,0,34,0,21,0 17,0,12,0,45,0,9,0,31,0,46,0 14,0,58,0,3,0,25,0,35,0,8,0 42,0,2,0,56,0,10,0,36,0,1,0 55,0,33,0,13,0,48,0,4,0,16,0 30,0,37,0,19,0,22,0,26,0,11,0 50,0,23,0,5,0,47,0,44,0,6,0 35,0,9,0,34,0,20,0,38,0,53,0 45,0,25,0,49,0,24,0,28,0,15,0 56,0,27,0,41,0,57,0,17,0,13,0 37,0,7,0,12,0,2,0,40,0,48,0 30,0,4,0,1,0,44,0,18,0,43,0 29,0,47,0,26,0,36,0,3,0,39,0 6,0,32,0,46,0,54,0,42,0,58,0 11,0,10,0,55,0,50,0,21,0,14,0 51,0,52,0,8,0,33,0,23,0,19,0 5,0,31,0,1,0,16,0,22,0,27,0 36,0,44,0,57,0,49,0,38,0,39,0 20,0,2,0,45,0,6,0,13,0,29,0 34,0,14,0,12,0,54,0,47,0,4,0 21,0,9,0,30,0,15,0,42,0,33,0 16,0,50,0,24,0,58,0,51,0,17,0 48,0,41,0,28,0,11,0,8,0,5,0 22,0,46,0,3,0,7,0,56,0,43,0 26,0,40,0,35,0,32,0,31,0,23,0 53,0,18,0,19,0,10,0,37,0,25,0 52,0,36,0,58,0,55,0,30,0,20,0 21,0,2,0,4,0,5,0,39,0,17,0 50,0,28,0,12,0,29,0,56,0,33,0 41,0,38,0,51,0,40,0,1,0,45,0 3,0,11,0,57,0,16,0,23,0,53,0 31,0,34,0,7,0,42,0,55,0,25,0 26,0,48,0,27,0,10,0,6,0,24,0 47,0,22,0,9,0,8,0,32,0,18,0 35,0,52,0,49,0,37,0,54,0,43,0 15,0,46,0,13,0,14,0,44,0,19,0 ================================================ FILE: schedules/58_7.csv ================================================ 51,0,27,0,11,0,40,0,33,0,9,0 22,0,1,0,14,0,4,0,43,0,52,0 20,0,26,0,39,0,50,0,45,0,25,0 54,0,35,0,57,0,29,0,53,0,21,0 56,0,7,0,48,0,17,0,13,0,28,0 34,0,12,0,42,0,46,0,10,0,58,0 47,0,32,0,31,0,15,0,5,0,8,0 55,0,24,0,37,0,19,0,2,0,16,0 6,0,49,0,36,0,18,0,44,0,30,0 38,0,3,0,28,0,41,0,23,0,35,0 45,0,52,0,9,0,13,0,42,0,54,0 20,0,4,0,31,0,11,0,33,0,10,0 37,0,40,0,25,0,47,0,5,0,7,0 17,0,51,0,21,0,39,0,24,0,18,0 57,0,16,0,27,0,34,0,26,0,38,0 46,0,56,0,30,0,55,0,14,0,29,0 19,0,12,0,22,0,8,0,49,0,23,0 58,0,41,0,32,0,1,0,36,0,53,0 50,0,6,0,43,0,2,0,48,0,3,0 44,0,35,0,52,0,15,0,24,0,20,0 17,1,5,0,16,0,9,1,28,0,14,0 33,0,23,0,47,0,55,0,57,0,42,0 13,0,10,0,26,0,22,0,40,0,30,0 50,0,46,0,54,0,19,0,36,0,27,0 12,0,1,0,25,0,48,0,31,0,44,0 4,0,56,0,2,0,41,0,51,0,49,0 15,0,53,0,34,0,37,0,21,0,3,0 18,0,8,0,43,0,29,0,45,0,38,0 11,0,58,0,7,0,6,0,39,0,32,0 22,0,48,0,24,0,57,0,9,0,31,0 42,0,25,0,36,0,35,0,51,0,56,0 52,0,47,0,3,0,27,0,21,0,30,0 41,0,8,0,40,0,14,0,17,0,34,0 37,0,23,0,29,0,10,0,50,0,32,0 26,0,33,0,49,0,1,0,15,0,7,0 38,0,2,0,13,0,12,0,5,0,39,0 19,0,45,0,4,0,6,0,44,0,53,0 18,0,28,0,58,0,20,0,55,0,54,0 16,0,46,0,21,0,43,0,11,0,23,0 27,0,7,0,10,0,51,0,24,0,8,0 36,0,39,0,14,0,12,0,37,0,33,0 50,0,15,0,30,0,38,0,42,0,4,0 9,0,54,0,26,0,47,0,44,0,56,0 49,0,53,0,17,0,52,0,55,0,5,0 18,0,41,0,3,0,11,0,22,0,25,0 34,0,2,0,29,0,1,0,28,0,45,0 43,0,35,0,19,0,40,0,58,0,31,0 57,0,32,0,13,0,6,0,16,0,20,0 48,0,53,0,51,0,46,0,23,0,26,0 24,0,11,0,14,0,38,0,54,0,49,0 12,0,29,0,17,0,15,0,22,0,27,0 25,0,8,0,2,0,30,0,33,0,58,0 28,0,57,0,10,0,44,0,43,0,39,0 7,0,36,0,55,0,9,0,34,0,4,0 5,0,48,0,21,0,20,0,42,0,19,0 1,0,18,0,35,0,47,0,13,0,50,0 41,0,37,0,6,0,52,0,31,0,46,0 45,0,56,0,40,0,3,0,32,0,16,0 4,0,28,0,24,0,26,0,8,0,12,0 30,0,5,0,43,0,34,0,51,0,54,0 38,0,10,0,19,0,25,0,9,0,17,0 42,0,31,0,14,0,7,0,18,0,53,0 45,0,32,0,11,0,48,0,55,0,35,0 49,0,29,0,39,0,16,0,47,0,41,0 44,0,37,0,13,0,58,0,23,0,27,0 21,0,33,0,6,0,50,0,22,0,56,0 52,0,40,0,15,0,2,0,36,0,57,0 20,0,3,0,9,0,46,0,1,0,17,0 ================================================ FILE: schedules/58_8.csv ================================================ 33,0,23,0,24,0,41,0,42,0,30,0 47,0,4,0,8,0,46,0,26,0,7,0 17,0,52,0,48,0,34,0,56,0,44,0 45,0,1,0,28,0,11,0,10,0,19,0 21,0,54,0,39,0,9,0,15,0,29,0 32,0,5,0,25,0,43,0,27,0,53,0 37,0,13,0,50,0,38,0,36,0,55,0 6,0,2,0,14,0,51,0,31,0,35,0 57,0,3,0,40,0,58,0,16,0,18,0 49,0,22,0,52,0,20,0,12,0,45,0 25,0,9,0,26,0,17,0,42,0,32,0 36,0,23,0,43,0,53,0,34,0,11,0 8,0,10,0,51,0,44,0,39,0,27,0 29,0,1,0,40,0,47,0,30,0,31,0 35,0,28,0,33,0,12,0,18,0,15,0 7,0,50,0,14,0,56,0,54,0,3,0 38,0,46,0,48,0,5,0,16,0,21,0 19,0,49,0,58,0,22,0,13,0,6,0 41,0,55,0,37,0,57,0,20,0,4,0 2,0,32,0,40,0,24,0,17,0,11,0 36,1,31,0,25,0,45,1,10,0,33,0 18,1,39,0,43,0,21,1,48,0,14,0 49,0,44,0,12,0,7,0,5,0,1,0 28,0,55,0,27,0,26,0,52,0,23,0 35,0,54,0,53,0,19,0,41,0,47,0 13,0,24,0,57,0,34,0,8,0,22,0 20,0,2,0,42,0,38,0,3,0,29,0 16,0,9,0,51,0,4,0,58,0,50,0 15,0,6,0,30,0,46,0,37,0,56,0 23,0,14,0,55,0,21,0,49,0,40,0 19,0,54,0,52,0,24,0,43,0,31,0 5,0,12,0,29,0,26,0,11,0,41,0 1,0,57,0,8,0,9,0,2,0,36,0 20,0,33,0,50,0,6,0,17,0,27,0 32,0,10,0,7,0,58,0,15,0,48,0 53,0,56,0,22,0,42,0,16,0,39,0 3,0,34,0,35,0,45,0,4,0,30,0 38,0,18,0,13,0,44,0,46,0,25,0 47,0,51,0,17,0,37,0,28,0,21,0 10,0,5,0,36,0,40,0,54,0,20,0 29,0,6,0,58,0,12,0,23,0,8,0 19,0,55,0,50,0,30,0,7,0,2,0 35,0,44,0,13,0,32,0,16,0,33,0 42,0,47,0,45,0,15,0,27,0,14,0 53,0,26,0,37,0,24,0,48,0,1,0 11,0,4,0,18,0,38,0,52,0,39,0 31,0,46,0,9,0,28,0,43,0,22,0 41,0,34,0,51,0,25,0,49,0,3,0 56,0,10,0,17,0,57,0,35,0,23,0 7,0,20,0,21,0,13,0,53,0,45,0 18,0,5,0,8,0,19,0,32,0,15,0 4,0,44,0,6,0,36,0,28,0,42,0 50,0,31,0,26,0,39,0,34,0,49,0 52,0,1,0,46,0,41,0,58,0,14,0 9,0,56,0,27,0,40,0,24,0,38,0 11,0,3,0,22,0,48,0,55,0,47,0 29,0,30,0,33,0,51,0,43,0,57,0 2,0,12,0,16,0,37,0,54,0,25,0 31,0,15,0,41,0,36,0,17,0,13,0 20,0,14,0,19,0,4,0,23,0,9,0 39,0,58,0,28,0,5,0,24,0,55,0 34,0,57,0,38,0,47,0,32,0,6,0 42,0,12,0,48,0,40,0,51,0,46,0 3,0,21,0,53,0,33,0,52,0,8,0 56,0,45,0,16,0,26,0,2,0,43,0 29,0,25,0,22,0,50,0,1,0,35,0 11,0,49,0,27,0,30,0,54,0,44,0 37,0,7,0,34,0,10,0,18,0,9,0 39,0,19,0,36,0,3,0,12,0,46,0 47,0,2,0,23,0,5,0,13,0,52,0 4,0,21,0,32,0,56,0,31,0,1,0 48,0,25,0,30,0,28,0,8,0,20,0 17,0,55,0,54,0,18,0,45,0,51,0 43,0,58,0,42,0,35,0,49,0,37,0 44,0,15,0,40,0,57,0,53,0,50,0 26,0,33,0,22,0,38,0,14,0,10,0 27,0,41,0,7,0,11,0,6,0,16,0 24,0,36,0,18,0,29,0,45,0,21,0 ================================================ FILE: schedules/58_9.csv ================================================ 41,0,12,0,30,0,45,0,19,0,22,0 7,0,25,0,51,0,13,0,24,0,2,0 17,0,55,0,14,0,1,0,56,0,38,0 50,0,36,0,18,0,43,0,44,0,37,0 52,0,49,0,47,0,33,0,58,0,3,0 35,0,5,0,40,0,9,0,54,0,32,0 10,0,16,0,6,0,11,0,26,0,20,0 21,0,48,0,39,0,53,0,42,0,23,0 28,0,27,0,8,0,57,0,4,0,15,0 31,0,46,0,14,0,34,0,29,0,25,0 43,0,52,0,58,0,55,0,24,0,45,0 38,0,9,0,12,0,33,0,49,0,32,0 42,0,47,0,10,0,2,0,41,0,40,0 21,0,3,0,6,0,22,0,44,0,8,0 50,0,26,0,23,0,34,0,54,0,1,0 57,0,20,0,7,0,35,0,36,0,19,0 13,0,46,0,11,0,18,0,4,0,39,0 29,0,37,0,5,0,28,0,53,0,17,0 51,0,30,0,15,0,56,0,16,0,31,0 27,0,47,0,34,0,48,0,52,0,10,0 42,0,49,0,41,0,14,0,35,0,23,0 44,0,45,0,3,0,25,0,57,0,26,0 46,0,5,0,1,0,7,0,2,0,43,0 50,0,17,0,22,0,16,0,53,0,4,0 18,0,32,0,21,0,55,0,36,0,31,0 48,0,29,0,51,0,30,0,39,0,9,0 33,0,24,0,40,0,6,0,19,0,15,0 56,0,58,0,13,0,12,0,11,0,27,0 38,0,37,0,28,0,20,0,8,0,54,0 21,0,35,0,16,0,5,0,18,0,47,0 4,0,43,0,32,0,52,0,42,0,51,0 49,0,26,0,55,0,17,0,7,0,40,0 9,0,10,0,25,0,58,0,12,0,53,0 34,0,22,0,20,0,24,0,39,0,44,0 30,0,19,0,27,0,3,0,37,0,1,0 41,0,11,0,38,0,48,0,15,0,46,0 2,0,57,0,54,0,6,0,56,0,29,0 13,0,45,0,36,0,23,0,28,0,33,0 31,0,8,0,52,0,50,0,14,0,40,0 51,0,20,0,4,0,58,0,21,0,1,0 24,0,17,0,41,0,27,0,44,0,32,0 6,0,53,0,30,0,34,0,38,0,7,0 46,0,16,0,49,0,19,0,57,0,55,0 25,0,15,0,43,0,54,0,39,0,22,0 37,0,45,0,48,0,35,0,13,0,31,0 36,0,11,0,42,0,5,0,9,0,8,0 2,0,26,0,29,0,33,0,12,0,18,0 56,0,28,0,50,0,23,0,3,0,10,0 47,0,32,0,57,0,14,0,1,0,43,0 54,0,53,0,44,0,30,0,31,0,49,0 37,0,42,0,55,0,11,0,25,0,22,0 26,0,41,0,52,0,13,0,21,0,9,0 35,0,2,0,28,0,24,0,27,0,38,0 7,0,3,0,48,0,16,0,40,0,12,0 39,0,33,0,14,0,4,0,5,0,10,0 15,0,45,0,47,0,29,0,20,0,50,0 8,0,18,0,19,0,34,0,56,0,23,0 58,0,17,0,51,0,36,0,6,0,46,0 2,0,11,0,21,0,30,0,32,0,40,0 53,0,9,0,24,0,14,0,3,0,16,0 44,0,1,0,10,0,35,0,15,0,52,0 4,0,50,0,13,0,19,0,5,0,38,0 8,0,6,0,12,0,47,0,39,0,55,0 23,0,43,0,20,0,27,0,31,0,17,0 34,0,57,0,37,0,41,0,51,0,33,0 56,0,45,0,54,0,46,0,7,0,42,0 22,0,58,0,28,0,26,0,48,0,18,0 25,0,36,0,4,0,29,0,49,0,35,0 43,0,55,0,8,0,30,0,13,0,10,0 3,0,15,0,9,0,34,0,2,0,17,0 19,0,14,0,54,0,44,0,11,0,51,0 22,0,33,0,21,0,50,0,7,0,27,0 46,0,56,0,53,0,26,0,36,0,47,0 32,0,23,0,38,0,29,0,16,0,58,0 42,0,20,0,18,0,57,0,52,0,12,0 39,0,40,0,31,0,41,0,28,0,1,0 48,0,5,0,6,0,25,0,49,0,45,0 24,0,15,0,14,0,37,0,21,0,26,0 4,0,23,0,44,0,47,0,9,0,7,0 58,0,35,0,46,0,30,0,50,0,33,0 31,0,22,0,38,0,36,0,57,0,10,0 5,0,54,0,3,0,20,0,55,0,41,0 1,0,13,0,29,0,42,0,24,0,6,0 37,0,16,0,39,0,2,0,56,0,52,0 12,0,49,0,34,0,28,0,43,0,11,0 17,0,19,0,32,0,25,0,8,0,48,0 40,0,53,0,27,0,45,0,51,0,18,0 ================================================ FILE: schedules/59_1.csv ================================================ 53,0,34,0,16,0,10,0,48,0,55,0 21,0,19,0,1,0,35,0,24,0,15,0 54,0,51,0,37,0,4,0,52,0,49,0 27,0,36,0,26,0,18,0,47,0,23,0 13,0,38,0,8,0,59,0,33,0,56,0 30,0,32,0,43,0,5,0,45,0,14,0 7,0,31,0,20,0,42,0,50,0,40,0 11,0,29,0,58,0,46,0,22,0,12,0 44,0,41,0,9,0,57,0,6,0,28,0 3,0,2,0,17,0,25,0,39,0,21,1 ================================================ FILE: schedules/59_10.csv ================================================ 33,0,37,0,26,0,44,0,4,0,19,0 1,0,43,0,11,0,28,0,36,0,38,0 42,0,20,0,12,0,7,0,45,0,52,0 23,0,48,0,25,0,51,0,22,0,53,0 56,0,30,0,46,0,57,0,8,0,16,0 13,0,50,0,5,0,2,0,39,0,49,0 35,0,6,0,55,0,15,0,40,0,58,0 24,0,34,0,27,0,59,0,29,0,18,0 17,0,41,0,47,0,21,0,32,0,10,0 31,0,3,0,54,0,9,0,14,0,53,0 7,0,2,0,43,0,16,0,22,0,19,0 23,0,37,0,28,0,46,0,45,0,5,0 34,0,1,0,18,0,56,0,39,0,12,0 21,0,15,0,11,0,44,0,26,0,24,0 32,0,40,0,17,0,38,0,13,0,25,0 49,0,27,0,55,0,48,0,20,0,3,0 52,0,4,0,51,0,8,0,54,0,29,0 50,0,33,0,9,0,58,0,57,0,41,0 35,0,14,0,10,0,59,0,30,0,42,0 36,0,6,0,2,0,31,0,47,0,56,0 21,1,48,0,38,0,53,1,20,0,18,0 43,1,27,0,3,0,13,1,40,0,37,0 5,0,16,0,1,0,58,0,45,0,32,0 9,0,59,0,8,0,11,0,49,0,19,0 24,0,35,0,22,0,10,0,4,0,34,0 26,0,29,0,57,0,47,0,25,0,6,0 46,0,33,0,12,0,55,0,54,0,42,0 28,0,30,0,52,0,31,0,50,0,44,0 7,0,15,0,14,0,41,0,23,0,51,0 17,0,39,0,9,0,36,0,4,0,48,0 21,0,29,0,2,0,20,0,1,0,37,0 22,0,38,0,45,0,59,0,33,0,35,0 5,0,18,0,49,0,31,0,30,0,10,0 8,0,6,0,44,0,14,0,25,0,50,0 26,0,55,0,23,0,28,0,34,0,17,0 51,0,19,0,24,0,47,0,52,0,46,0 41,0,7,0,12,0,39,0,3,0,57,0 53,0,27,0,32,0,58,0,42,0,11,0 36,0,16,0,56,0,15,0,54,0,13,0 40,0,29,0,4,0,43,0,31,0,45,0 49,0,46,0,14,0,52,0,1,0,17,0 38,0,50,0,7,0,55,0,21,0,9,0 10,0,47,0,2,0,27,0,33,0,23,0 6,0,39,0,20,0,16,0,59,0,24,0 56,0,43,0,51,0,58,0,37,0,44,0 3,0,13,0,26,0,35,0,48,0,8,0 42,0,22,0,40,0,54,0,18,0,11,0 28,0,15,0,12,0,25,0,32,0,30,0 53,0,19,0,36,0,34,0,5,0,41,0 57,0,21,0,24,0,14,0,2,0,45,0 23,0,10,0,39,0,56,0,52,0,38,0 51,0,17,0,33,0,3,0,16,0,18,0 13,0,58,0,7,0,4,0,28,0,47,0 55,0,1,0,29,0,41,0,8,0,22,0 53,0,44,0,40,0,49,0,59,0,12,0 36,0,32,0,46,0,27,0,50,0,26,0 20,0,54,0,57,0,15,0,43,0,5,0 35,0,42,0,25,0,9,0,31,0,19,0 6,0,11,0,34,0,30,0,37,0,48,0 7,0,53,0,33,0,29,0,56,0,24,0 28,0,21,0,14,0,39,0,27,0,40,0 52,0,18,0,44,0,55,0,57,0,2,0 58,0,25,0,19,0,23,0,20,0,13,0 12,0,45,0,3,0,11,0,10,0,36,0 54,0,50,0,49,0,37,0,51,0,35,0 47,0,5,0,59,0,48,0,43,0,42,0 9,0,1,0,22,0,15,0,30,0,26,0 31,0,38,0,4,0,16,0,41,0,46,0 34,0,8,0,32,0,17,0,6,0,7,0 3,0,11,0,29,0,56,0,23,0,50,0 24,0,54,0,47,0,49,0,44,0,28,0 45,0,19,0,30,0,39,0,51,0,55,0 41,0,52,0,37,0,25,0,40,0,16,0 48,0,53,0,58,0,15,0,46,0,10,0 17,0,5,0,22,0,9,0,6,0,12,0 14,0,18,0,31,0,20,0,32,0,26,0 36,0,35,0,43,0,8,0,33,0,21,0 57,0,27,0,59,0,13,0,1,0,4,0 2,0,42,0,3,0,34,0,38,0,15,0 54,0,30,0,39,0,29,0,17,0,58,0 16,0,50,0,45,0,53,0,26,0,47,0 31,0,23,0,24,0,8,0,12,0,43,0 37,0,59,0,36,0,18,0,7,0,32,0 13,0,34,0,48,0,33,0,14,0,52,0 19,0,38,0,57,0,49,0,21,0,22,0 51,0,42,0,10,0,28,0,1,0,6,0 46,0,20,0,2,0,40,0,9,0,35,0 11,0,56,0,55,0,5,0,4,0,25,0 44,0,41,0,54,0,27,0,13,0,45,0 15,0,32,0,49,0,43,0,39,0,33,0 17,0,37,0,8,0,53,0,57,0,42,0 51,0,12,0,58,0,26,0,2,0,38,0 25,0,46,0,31,0,21,0,59,0,3,0 28,0,22,0,56,0,41,0,20,0,14,0 11,0,5,0,52,0,7,0,35,0,27,0 16,0,29,0,34,0,9,0,10,0,44,0 4,0,30,0,55,0,23,0,47,0,36,0 19,0,48,0,40,0,1,0,24,0,50,0 18,0,21,0,43,0,6,0,53,0,13,0 ================================================ FILE: schedules/59_11.csv ================================================ 8,0,34,0,56,0,19,0,15,0,3,0 21,0,33,0,58,0,47,0,17,0,29,0 42,0,13,0,24,0,28,0,6,0,50,0 55,0,22,0,23,0,40,0,1,0,44,0 35,0,48,0,5,0,37,0,11,0,9,0 45,0,54,0,38,0,26,0,12,0,57,0 10,0,39,0,59,0,53,0,18,0,4,0 16,0,46,0,49,0,31,0,27,0,43,0 14,0,41,0,52,0,20,0,25,0,36,0 7,0,30,0,51,0,2,0,32,0,17,0 35,0,19,0,54,0,23,0,47,0,6,0 42,0,1,0,45,0,53,0,48,0,59,0 27,0,49,0,10,0,38,0,50,0,15,0 40,0,36,0,37,0,39,0,26,0,4,0 3,0,31,0,30,0,20,0,24,0,9,0 7,0,13,0,8,0,55,0,41,0,34,0 29,0,46,0,25,0,5,0,2,0,57,0 11,0,22,0,33,0,43,0,14,0,51,0 18,0,44,0,58,0,56,0,12,0,28,0 52,0,32,0,6,0,16,0,21,0,45,0 30,1,47,0,34,0,37,1,31,0,48,0 29,1,40,0,59,0,26,1,19,0,17,0 7,0,57,0,49,0,13,1,51,0,35,0 36,0,58,0,38,0,46,0,44,0,23,0 10,0,18,0,16,0,3,0,25,0,14,0 27,0,42,0,28,0,5,0,41,0,39,0 1,0,50,0,53,0,12,0,8,0,32,0 56,0,33,0,15,0,52,0,54,0,22,0 2,0,4,0,21,0,55,0,9,0,43,0 11,0,24,0,29,0,20,0,47,0,38,0 14,0,5,0,28,0,34,0,40,0,45,0 32,0,26,0,23,0,27,0,12,0,3,0 48,0,7,0,19,0,10,0,22,0,58,0 18,0,41,0,25,0,37,0,6,0,33,0 43,0,35,0,17,0,15,0,20,0,42,0 51,0,59,0,2,0,54,0,31,0,13,0 46,0,30,0,11,0,56,0,1,0,4,0 50,0,44,0,9,0,16,0,52,0,39,0 57,0,24,0,36,0,53,0,49,0,55,0 8,0,18,0,23,0,21,0,42,0,5,0 43,0,12,0,20,0,7,0,59,0,28,0 41,0,33,0,40,0,35,0,34,0,32,0 3,0,58,0,50,0,2,0,45,0,11,0 6,0,55,0,46,0,9,0,49,0,26,0 36,0,14,0,54,0,29,0,19,0,27,0 17,0,53,0,15,0,44,0,38,0,31,0 39,0,21,0,57,0,30,0,16,0,22,0 48,0,4,0,13,0,24,0,25,0,56,0 51,0,37,0,47,0,52,0,10,0,1,0 33,0,54,0,43,0,8,0,36,0,5,0 55,0,29,0,42,0,32,0,11,0,15,0 58,0,26,0,34,0,18,0,30,0,49,0 31,0,40,0,12,0,21,0,19,0,25,0 44,0,52,0,24,0,14,0,35,0,46,0 56,0,9,0,13,0,45,0,17,0,37,0 41,0,10,0,50,0,59,0,57,0,23,0 2,0,53,0,20,0,27,0,6,0,22,0 39,0,3,0,7,0,51,0,1,0,38,0 4,0,8,0,16,0,48,0,28,0,47,0 30,0,44,0,14,0,32,0,54,0,5,0 57,0,19,0,18,0,13,0,11,0,52,0 2,0,37,0,34,0,21,0,59,0,24,0 46,0,36,0,9,0,7,0,22,0,42,0 40,0,28,0,26,0,15,0,31,0,10,0 16,0,41,0,47,0,56,0,51,0,53,0 3,0,17,0,48,0,12,0,6,0,49,0 45,0,20,0,23,0,27,0,33,0,55,0 29,0,38,0,4,0,8,0,50,0,35,0 1,0,25,0,39,0,43,0,58,0,24,0 19,0,44,0,10,0,41,0,9,0,21,0 57,0,22,0,14,0,42,0,26,0,47,0 15,0,12,0,16,0,36,0,13,0,33,0 18,0,51,0,11,0,40,0,27,0,46,0 31,0,50,0,23,0,56,0,37,0,7,0 34,0,43,0,25,0,53,0,29,0,45,0 32,0,20,0,1,0,49,0,39,0,54,0 6,0,59,0,35,0,30,0,58,0,8,0 2,0,55,0,48,0,28,0,38,0,52,0 3,0,5,0,26,0,4,0,17,0,41,0 45,0,15,0,25,0,19,0,51,0,46,0 1,0,47,0,9,0,18,0,36,0,50,0 8,0,33,0,49,0,7,0,44,0,11,0 52,0,48,0,30,0,43,0,23,0,40,0 37,0,35,0,28,0,53,0,3,0,54,0 39,0,56,0,31,0,29,0,14,0,6,0 42,0,10,0,12,0,24,0,16,0,2,0 17,0,20,0,27,0,34,0,4,0,57,0 59,0,22,0,5,0,38,0,32,0,55,0 58,0,13,0,53,0,21,0,3,0,40,0 49,0,28,0,11,0,23,0,30,0,25,0 29,0,15,0,2,0,48,0,1,0,41,0 6,0,57,0,51,0,4,0,44,0,43,0 50,0,12,0,54,0,34,0,39,0,46,0 52,0,8,0,21,0,27,0,26,0,7,0 13,0,59,0,38,0,14,0,33,0,9,0 56,0,45,0,5,0,35,0,36,0,10,0 37,0,55,0,20,0,19,0,16,0,58,0 24,0,17,0,31,0,32,0,22,0,18,0 47,0,44,0,3,0,42,0,30,0,40,0 9,0,51,0,29,0,12,0,23,0,53,0 49,0,41,0,2,0,39,0,45,0,8,0 34,0,11,0,38,0,6,0,36,0,16,0 26,0,21,0,14,0,50,0,48,0,20,0 46,0,32,0,43,0,37,0,10,0,13,0 4,0,31,0,52,0,42,0,58,0,54,0 1,0,19,0,28,0,57,0,17,0,33,0 7,0,5,0,15,0,24,0,47,0,18,0 56,0,35,0,27,0,55,0,25,0,59,0 22,0,37,0,26,0,30,0,29,0,13,0 ================================================ FILE: schedules/59_12.csv ================================================ 16,0,53,0,17,0,52,0,40,0,1,0 48,0,34,0,12,0,42,0,20,0,27,0 58,0,25,0,29,0,54,0,43,0,11,0 2,0,26,0,57,0,8,0,10,0,35,0 21,0,47,0,33,0,3,0,55,0,28,0 56,0,19,0,18,0,30,0,45,0,32,0 15,0,39,0,9,0,46,0,50,0,37,0 5,0,31,0,14,0,4,0,41,0,22,0 51,0,59,0,13,0,44,0,38,0,23,0 49,0,7,0,6,0,36,0,24,0,55,0 17,0,42,0,57,0,45,0,21,0,2,0 48,0,47,0,52,0,37,0,12,0,35,0 39,0,4,0,33,0,19,0,41,0,15,0 8,0,16,0,40,0,59,0,9,0,5,0 54,0,31,0,30,0,53,0,34,0,38,0 27,0,1,0,56,0,6,0,44,0,11,0 22,0,28,0,20,0,36,0,18,0,51,0 58,0,3,0,14,0,25,0,7,0,46,0 26,0,23,0,50,0,43,0,24,0,32,0 13,0,49,0,9,0,29,0,10,0,47,0 35,0,33,0,34,0,31,0,6,0,45,0 37,0,54,0,40,0,28,0,4,0,12,0 8,0,38,0,39,0,36,0,3,0,25,0 19,0,48,0,53,0,23,0,21,0,56,0 14,0,52,0,2,0,50,0,49,0,27,0 58,0,15,0,24,0,59,0,17,0,30,0 55,0,29,0,32,0,5,0,57,0,1,0 20,0,51,0,11,0,10,0,42,0,41,0 13,0,26,0,7,0,22,0,16,0,18,0 46,0,47,0,2,0,44,0,43,0,31,0 50,0,59,0,21,0,56,0,39,0,36,0 34,0,14,0,37,0,32,0,1,0,58,0 24,0,6,0,8,0,42,0,29,0,11,0 20,0,16,0,13,0,57,0,54,0,19,0 43,0,46,0,45,0,33,0,38,0,10,0 9,0,30,0,44,0,7,0,4,0,48,0 18,0,28,0,5,0,17,0,23,0,52,0 35,0,26,0,40,0,51,0,3,0,49,0 55,0,53,0,15,0,27,0,25,0,22,0 41,0,32,0,2,0,12,0,11,0,59,0 57,0,46,0,16,0,31,0,36,0,34,0 43,0,1,0,7,0,39,0,20,0,21,0 38,0,9,0,37,0,24,0,49,0,23,0 33,0,30,0,27,0,29,0,40,0,51,0 50,0,28,0,6,0,10,0,53,0,5,0 54,0,41,0,18,0,35,0,3,0,48,0 45,0,42,0,55,0,4,0,58,0,26,0 12,0,47,0,56,0,15,0,22,0,14,0 19,0,44,0,52,0,17,0,8,0,25,0 13,0,11,0,32,0,21,0,46,0,40,0 3,0,20,0,23,0,6,0,2,0,30,0 34,0,28,0,49,0,59,0,41,0,24,0 10,0,16,0,4,0,27,0,18,0,15,0 57,0,12,0,7,0,48,0,51,0,33,0 54,0,8,0,50,0,47,0,17,0,45,0 19,0,43,0,55,0,5,0,42,0,37,0 1,0,36,0,44,0,9,0,53,0,26,0 25,0,31,0,35,0,56,0,14,0,13,0 22,0,29,0,38,0,58,0,39,0,52,0 32,0,48,0,40,0,15,0,47,0,6,0 28,0,23,0,46,0,7,0,8,0,42,0 19,0,37,0,59,0,10,0,54,0,3,0 43,0,14,0,53,0,24,0,18,0,57,0 2,0,17,0,31,0,9,0,55,0,51,0 22,0,33,0,49,0,50,0,20,0,1,0 58,0,27,0,12,0,26,0,5,0,39,0 36,0,30,0,11,0,52,0,45,0,13,0 29,0,21,0,35,0,25,0,34,0,4,0 38,0,56,0,16,0,41,0,44,0,40,0 22,0,3,0,42,0,32,0,9,0,57,0 24,0,27,0,14,0,54,0,2,0,33,0 55,0,52,0,31,0,43,0,59,0,23,0 4,0,29,0,5,0,26,0,10,0,48,0 51,0,19,0,45,0,15,0,46,0,1,0 25,0,21,0,30,0,16,0,49,0,37,0 41,0,12,0,8,0,13,0,50,0,58,0 39,0,47,0,44,0,6,0,18,0,34,0 35,0,38,0,17,0,20,0,7,0,53,0 28,0,36,0,54,0,56,0,11,0,55,0 59,0,52,0,25,0,26,0,42,0,33,0 10,0,1,0,49,0,12,0,3,0,31,0 45,0,5,0,22,0,34,0,46,0,24,0 9,0,43,0,6,0,30,0,19,0,14,0 57,0,38,0,11,0,47,0,4,0,50,0 41,0,36,0,23,0,17,0,40,0,27,0 48,0,15,0,2,0,13,0,53,0,39,0 32,0,35,0,20,0,16,0,28,0,58,0 51,0,56,0,7,0,8,0,37,0,29,0 44,0,18,0,14,0,21,0,38,0,55,0 47,0,27,0,41,0,19,0,23,0,1,0 45,0,10,0,57,0,40,0,39,0,25,0 58,0,6,0,36,0,13,0,28,0,2,0 20,0,24,0,52,0,3,0,56,0,4,0 30,0,5,0,50,0,42,0,35,0,44,0 51,0,12,0,43,0,16,0,34,0,9,0 53,0,46,0,18,0,29,0,49,0,59,0 15,0,54,0,26,0,11,0,7,0,21,0 48,0,37,0,17,0,8,0,22,0,31,0 32,0,44,0,10,0,33,0,52,0,36,0 13,0,27,0,3,0,43,0,56,0,28,0 23,0,29,0,45,0,12,0,14,0,20,0 24,0,42,0,39,0,47,0,16,0,35,0 4,0,37,0,57,0,6,0,17,0,46,0 55,0,26,0,8,0,30,0,53,0,41,0 1,0,11,0,22,0,48,0,59,0,38,0 19,0,40,0,34,0,2,0,7,0,50,0 25,0,49,0,54,0,5,0,51,0,32,0 18,0,21,0,58,0,31,0,33,0,9,0 15,0,4,0,35,0,43,0,8,0,36,0 59,0,27,0,46,0,30,0,57,0,47,0 3,0,16,0,29,0,50,0,45,0,11,0 39,0,34,0,10,0,14,0,55,0,17,0 6,0,23,0,51,0,54,0,22,0,21,0 24,0,25,0,2,0,48,0,1,0,18,0 13,0,40,0,5,0,33,0,20,0,37,0 28,0,31,0,38,0,19,0,26,0,12,0 42,0,58,0,49,0,56,0,15,0,44,0 7,0,9,0,41,0,53,0,52,0,32,0 ================================================ FILE: schedules/59_13.csv ================================================ 51,0,58,0,34,0,20,0,55,0,28,0 11,0,25,0,36,0,2,0,56,0,7,0 24,0,59,0,54,0,27,0,37,0,52,0 38,0,42,0,41,0,23,0,43,0,22,0 12,0,40,0,50,0,8,0,26,0,21,0 9,0,53,0,31,0,30,0,39,0,16,0 14,0,57,0,15,0,46,0,13,0,32,0 17,0,45,0,18,0,33,0,19,0,10,0 49,0,44,0,35,0,6,0,1,0,3,0 29,0,4,0,47,0,48,0,5,0,27,0 21,0,55,0,41,0,26,0,11,0,56,0 58,0,7,0,40,0,9,0,59,0,50,0 15,0,19,0,43,0,54,0,36,0,22,0 8,0,24,0,34,0,42,0,14,0,10,0 48,0,25,0,49,0,16,0,53,0,51,0 38,0,13,0,52,0,6,0,4,0,20,0 57,0,32,0,23,0,28,0,2,0,5,0 44,0,18,0,29,0,46,0,31,0,17,0 37,0,1,0,45,0,12,0,47,0,30,0 35,0,3,0,48,0,33,0,39,0,15,0 9,1,10,0,52,0,38,0,49,0,51,0 53,0,26,0,20,0,28,0,59,0,43,0 6,0,42,0,31,0,17,0,58,0,27,0 23,0,14,0,19,0,21,0,4,0,30,0 13,0,11,0,16,0,25,0,32,0,35,0 50,0,55,0,54,0,45,0,33,0,5,0 41,0,39,0,18,0,46,0,40,0,2,0 22,0,56,0,57,0,1,0,47,0,44,0 24,0,37,0,36,0,29,0,34,0,3,0 12,0,7,0,19,0,8,0,48,0,51,0 31,0,16,0,10,0,52,0,35,0,55,0 28,0,6,0,17,0,54,0,25,0,41,0 38,0,30,0,15,0,26,0,49,0,18,0 37,0,22,0,13,0,23,0,21,0,40,0 5,0,24,0,11,0,39,0,44,0,20,0 42,0,27,0,56,0,57,0,53,0,50,0 33,0,2,0,43,0,14,0,12,0,9,0 58,0,4,0,36,0,1,0,29,0,8,0 45,0,46,0,34,0,59,0,32,0,3,0 7,0,54,0,51,0,47,0,22,0,49,0 10,0,37,0,5,0,15,0,53,0,41,0 57,0,35,0,39,0,19,0,55,0,25,0 21,0,1,0,11,0,38,0,29,0,28,0 32,0,24,0,58,0,17,0,36,0,40,0 2,0,34,0,26,0,52,0,31,0,47,0 30,0,14,0,13,0,44,0,7,0,42,0 8,0,45,0,27,0,48,0,23,0,46,0 56,0,59,0,6,0,33,0,12,0,18,0 3,0,43,0,20,0,50,0,16,0,4,0 9,0,49,0,11,0,19,0,57,0,47,0 28,0,30,0,52,0,55,0,15,0,40,0 38,0,21,0,24,0,48,0,2,0,53,0 39,0,26,0,29,0,34,0,1,0,32,0 8,0,17,0,37,0,56,0,35,0,20,0 50,0,45,0,51,0,41,0,16,0,14,0 6,0,23,0,5,0,7,0,43,0,31,0 13,0,3,0,18,0,36,0,27,0,9,0 22,0,44,0,33,0,10,0,59,0,58,0 4,0,54,0,12,0,42,0,25,0,46,0 55,0,45,0,14,0,37,0,40,0,57,0 34,0,20,0,48,0,6,0,49,0,50,0 47,0,3,0,8,0,41,0,43,0,30,0 1,0,52,0,53,0,32,0,17,0,7,0 44,0,21,0,36,0,54,0,27,0,35,0 58,0,28,0,16,0,38,0,2,0,19,0 25,0,9,0,26,0,5,0,18,0,42,0 59,0,33,0,4,0,22,0,39,0,11,0 13,0,15,0,31,0,56,0,24,0,12,0 10,0,51,0,46,0,23,0,29,0,36,0 17,0,38,0,34,0,30,0,57,0,45,0 6,0,19,0,53,0,3,0,55,0,9,0 26,0,41,0,35,0,54,0,58,0,14,0 59,0,48,0,40,0,13,0,1,0,43,0 2,0,27,0,39,0,7,0,10,0,15,0 32,0,28,0,22,0,49,0,12,0,31,0 5,0,8,0,16,0,37,0,18,0,11,0 47,0,23,0,25,0,50,0,24,0,33,0 51,0,52,0,20,0,46,0,21,0,56,0 29,0,42,0,2,0,4,0,44,0,45,0 12,0,58,0,6,0,39,0,53,0,36,0 40,0,31,0,54,0,11,0,34,0,10,0 30,0,25,0,27,0,8,0,32,0,38,0 50,0,14,0,3,0,52,0,22,0,18,0 16,0,21,0,15,0,17,0,23,0,59,0 5,0,55,0,46,0,42,0,24,0,1,0 7,0,48,0,47,0,35,0,19,0,28,0 33,0,57,0,29,0,20,0,13,0,41,0 9,0,51,0,44,0,37,0,4,0,26,0 49,0,43,0,10,0,56,0,25,0,58,0 23,0,34,0,18,0,12,0,11,0,53,0 47,0,21,0,5,0,6,0,36,0,45,0 17,0,16,0,55,0,13,0,48,0,54,0 20,0,19,0,27,0,1,0,2,0,14,0 42,0,3,0,33,0,51,0,32,0,31,0 37,0,56,0,43,0,46,0,38,0,39,0 41,0,29,0,40,0,7,0,52,0,49,0 9,0,28,0,15,0,50,0,8,0,44,0 22,0,30,0,26,0,4,0,24,0,57,0 35,0,51,0,14,0,59,0,5,0,53,0 55,0,32,0,47,0,38,0,43,0,18,0 48,0,11,0,52,0,58,0,37,0,42,0 1,0,31,0,20,0,45,0,15,0,25,0 3,0,10,0,4,0,57,0,16,0,7,0 35,0,9,0,46,0,34,0,50,0,22,0 56,0,33,0,36,0,28,0,27,0,40,0 12,0,59,0,41,0,24,0,29,0,19,0 23,0,39,0,49,0,17,0,26,0,44,0 6,0,2,0,13,0,8,0,54,0,30,0 21,0,18,0,7,0,57,0,34,0,43,0 4,0,42,0,53,0,35,0,33,0,40,0 1,0,27,0,15,0,11,0,51,0,41,0 19,0,22,0,48,0,32,0,44,0,5,0 56,0,29,0,16,0,6,0,24,0,26,0 49,0,59,0,55,0,2,0,23,0,8,0 9,0,54,0,17,0,3,0,38,0,12,0 52,0,58,0,39,0,45,0,13,0,47,0 20,0,50,0,46,0,10,0,30,0,36,0 31,0,25,0,28,0,37,0,14,0,21,0 8,0,53,0,55,0,15,0,29,0,22,0 41,0,56,0,32,0,4,0,48,0,9,0 44,0,12,0,27,0,52,0,34,0,16,0 7,0,46,0,30,0,33,0,26,0,58,0 50,0,2,0,17,0,6,0,37,0,51,0 36,0,38,0,57,0,31,0,59,0,14,0 13,0,40,0,25,0,3,0,5,0,19,0 43,0,35,0,11,0,45,0,24,0,49,0 10,0,47,0,39,0,21,0,28,0,42,0 23,0,1,0,54,0,20,0,18,0,9,0 ================================================ FILE: schedules/59_14.csv ================================================ 1,0,34,0,3,0,31,0,5,0,10,0 55,0,38,0,45,0,23,0,24,0,36,0 57,0,43,0,11,0,29,0,13,0,25,0 50,0,40,0,58,0,56,0,35,0,4,0 15,0,19,0,47,0,8,0,59,0,33,0 49,0,42,0,41,0,44,0,9,0,46,0 39,0,51,0,2,0,21,0,26,0,22,0 32,0,17,0,30,0,48,0,16,0,54,0 6,0,53,0,27,0,7,0,37,0,28,0 52,0,20,0,18,0,14,0,12,0,35,0 45,0,4,0,9,0,55,0,34,0,19,0 56,0,33,0,58,0,38,0,39,0,57,0 16,0,24,0,25,0,10,0,15,0,43,0 59,0,28,0,17,0,46,0,23,0,11,0 2,0,36,0,18,0,47,0,32,0,37,0 8,0,3,0,27,0,6,0,51,0,30,0 41,0,48,0,26,0,40,0,53,0,29,0 31,0,13,0,7,0,42,0,20,0,22,0 49,0,5,0,21,0,14,0,52,0,50,0 54,0,1,0,24,0,12,0,44,0,4,0 30,1,27,0,38,0,39,1,9,0,15,0 26,0,46,0,53,0,32,0,8,0,34,0 28,0,2,0,57,0,20,0,19,0,3,0 21,0,56,0,14,0,43,0,5,0,13,0 1,0,47,0,41,0,36,0,17,0,16,0 52,0,42,0,55,0,29,0,33,0,44,0 59,0,31,0,18,0,10,0,6,0,54,0 48,0,11,0,58,0,7,0,22,0,49,0 12,0,25,0,50,0,23,0,40,0,45,0 35,0,51,0,24,0,37,0,57,0,19,0 14,0,43,0,53,0,55,0,39,0,1,0 52,0,44,0,21,0,34,0,36,0,47,0 29,0,6,0,18,0,20,0,8,0,11,0 54,0,7,0,45,0,49,0,33,0,28,0 37,0,48,0,5,0,15,0,31,0,4,0 51,0,56,0,40,0,9,0,17,0,25,0 42,0,2,0,46,0,50,0,16,0,27,0 12,0,32,0,10,0,22,0,38,0,59,0 23,0,13,0,41,0,58,0,35,0,30,0 26,0,47,0,18,0,3,0,55,0,7,0 17,0,51,0,15,0,49,0,24,0,6,0 11,0,29,0,50,0,52,0,36,0,56,0 48,0,14,0,34,0,39,0,28,0,12,0 31,0,58,0,44,0,41,0,32,0,27,0 26,0,57,0,23,0,9,0,1,0,21,0 59,0,35,0,43,0,5,0,42,0,45,0 54,0,33,0,4,0,53,0,2,0,25,0 37,0,10,0,20,0,46,0,19,0,30,0 3,0,40,0,38,0,13,0,22,0,8,0 16,0,12,0,34,0,6,0,56,0,7,0 49,0,31,0,32,0,11,0,47,0,24,0 33,0,25,0,5,0,41,0,28,0,35,0 2,0,1,0,30,0,45,0,46,0,18,0 39,0,29,0,22,0,17,0,57,0,27,0 14,0,42,0,36,0,26,0,15,0,40,0 19,0,59,0,9,0,44,0,13,0,50,0 48,0,51,0,10,0,16,0,20,0,55,0 23,0,43,0,21,0,3,0,53,0,54,0 38,0,8,0,37,0,4,0,58,0,52,0 32,0,22,0,40,0,1,0,14,0,49,0 44,0,15,0,7,0,35,0,17,0,29,0 36,0,25,0,11,0,34,0,30,0,9,0 47,0,53,0,50,0,57,0,20,0,41,0 19,0,5,0,27,0,38,0,18,0,48,0 6,0,21,0,46,0,12,0,55,0,58,0 4,0,28,0,43,0,52,0,59,0,51,0 24,0,39,0,37,0,54,0,8,0,42,0 23,0,31,0,33,0,56,0,2,0,13,0 26,0,3,0,17,0,10,0,45,0,16,0 9,0,58,0,36,0,18,0,12,0,19,0 43,0,44,0,6,0,48,0,20,0,40,0 29,0,5,0,57,0,46,0,47,0,54,0 39,0,59,0,23,0,1,0,7,0,51,0 22,0,33,0,30,0,32,0,21,0,4,0 2,0,55,0,31,0,38,0,42,0,25,0 14,0,24,0,27,0,50,0,41,0,3,0 56,0,11,0,49,0,26,0,10,0,28,0 52,0,13,0,45,0,8,0,16,0,53,0 15,0,35,0,22,0,37,0,34,0,18,0 36,0,4,0,40,0,43,0,7,0,46,0 54,0,39,0,32,0,55,0,5,0,9,0 47,0,51,0,3,0,56,0,50,0,48,0 45,0,41,0,17,0,52,0,10,0,19,0 37,0,11,0,16,0,14,0,33,0,38,0 44,0,35,0,42,0,30,0,53,0,21,0 28,0,1,0,13,0,15,0,58,0,24,0 27,0,23,0,20,0,26,0,25,0,59,0 12,0,29,0,8,0,2,0,49,0,34,0 6,0,57,0,32,0,31,0,45,0,56,0 17,0,53,0,4,0,3,0,9,0,14,0 44,0,18,0,10,0,21,0,39,0,50,0 22,0,43,0,19,0,23,0,52,0,15,0 48,0,59,0,46,0,26,0,33,0,37,0 25,0,34,0,20,0,58,0,16,0,1,0 30,0,40,0,24,0,11,0,2,0,5,0 38,0,6,0,28,0,47,0,29,0,42,0 35,0,57,0,31,0,8,0,49,0,36,0 51,0,55,0,13,0,41,0,12,0,7,0 54,0,21,0,20,0,27,0,45,0,15,0 56,0,22,0,46,0,18,0,24,0,53,0 47,0,10,0,59,0,29,0,58,0,14,0 6,0,52,0,35,0,2,0,32,0,38,0 42,0,39,0,31,0,19,0,23,0,48,0 50,0,9,0,7,0,8,0,43,0,30,0 36,0,54,0,13,0,51,0,28,0,5,0 16,0,4,0,57,0,41,0,44,0,11,0 49,0,3,0,12,0,55,0,37,0,25,0 17,0,40,0,1,0,34,0,27,0,33,0 26,0,50,0,30,0,22,0,31,0,6,0 46,0,38,0,5,0,58,0,53,0,51,0 10,0,9,0,57,0,14,0,7,0,2,0 16,0,43,0,41,0,35,0,54,0,18,0 25,0,47,0,52,0,13,0,39,0,40,0 19,0,56,0,8,0,55,0,21,0,27,0 15,0,3,0,28,0,32,0,26,0,44,0 29,0,37,0,49,0,1,0,4,0,23,0 33,0,48,0,36,0,59,0,34,0,24,0 20,0,12,0,45,0,11,0,42,0,17,0 35,0,55,0,47,0,27,0,22,0,9,0 25,0,14,0,46,0,6,0,39,0,19,0 28,0,16,0,29,0,31,0,40,0,21,0 56,0,41,0,53,0,59,0,15,0,2,0 49,0,20,0,30,0,38,0,52,0,24,0 3,0,33,0,10,0,12,0,36,0,43,0 7,0,32,0,11,0,54,0,23,0,50,0 4,0,34,0,51,0,42,0,18,0,57,0 8,0,58,0,26,0,44,0,5,0,17,0 37,0,45,0,1,0,13,0,48,0,47,0 53,0,12,0,9,0,24,0,31,0,29,0 54,0,11,0,52,0,46,0,3,0,35,0 39,0,4,0,41,0,36,0,20,0,6,0 15,0,30,0,55,0,59,0,57,0,40,0 58,0,5,0,22,0,45,0,2,0,33,0 50,0,18,0,8,0,28,0,25,0,48,0 42,0,7,0,19,0,1,0,32,0,56,0 34,0,21,0,38,0,43,0,37,0,17,0 23,0,10,0,14,0,51,0,44,0,27,0 16,0,13,0,30,0,26,0,49,0,39,0 ================================================ FILE: schedules/59_2.csv ================================================ 10,0,23,0,14,0,29,0,18,0,54,0 46,0,22,0,1,0,25,0,26,0,32,0 13,0,47,0,7,0,43,0,45,0,8,0 20,0,16,0,50,0,31,0,2,0,28,0 21,0,56,0,55,0,6,0,19,0,48,0 4,0,27,0,57,0,37,0,59,0,33,0 44,0,42,0,24,0,38,0,36,0,11,0 51,0,34,0,41,0,58,0,35,0,15,0 39,0,12,0,53,0,9,0,30,0,3,0 5,0,40,0,52,0,49,0,17,0,22,0 14,0,21,0,8,0,28,0,46,0,27,0 11,0,54,0,55,0,7,0,25,0,50,0 51,0,48,0,36,0,13,0,20,0,1,0 35,0,19,0,59,0,24,0,53,0,26,0 58,0,38,0,10,0,17,0,3,0,4,0 49,0,56,0,30,0,23,0,37,0,44,0 2,0,29,0,45,0,12,0,57,0,52,0 33,0,39,0,31,0,34,0,47,0,42,0 16,0,32,0,43,0,15,0,18,0,5,0 41,0,6,0,11,1,9,0,40,0,59,1 ================================================ FILE: schedules/59_3.csv ================================================ 49,0,19,0,32,0,23,0,37,0,9,0 34,0,2,0,7,0,5,0,45,0,46,0 54,0,39,0,11,0,8,0,18,0,53,0 50,0,42,0,22,0,4,0,57,0,58,0 29,0,38,0,31,0,52,0,43,0,33,0 28,0,1,0,26,0,47,0,56,0,17,0 48,0,20,0,40,0,12,0,27,0,21,0 36,0,51,0,25,0,24,0,15,0,55,0 3,0,13,0,41,0,16,0,44,0,30,0 14,0,59,0,35,0,6,0,10,0,32,0 56,1,9,0,31,0,54,1,58,0,7,0 4,1,48,0,19,0,34,0,28,0,43,0 36,0,23,0,1,0,2,0,39,0,33,0 20,0,45,0,44,0,53,0,24,0,29,0 15,0,30,0,21,0,38,0,14,0,22,0 10,0,51,0,46,0,13,0,50,0,27,0 5,0,47,0,18,0,49,0,16,0,40,0 52,0,26,0,59,0,42,0,25,0,11,0 17,0,12,0,37,0,35,0,41,0,8,0 57,0,55,0,53,0,3,0,6,0,1,0 27,0,4,0,31,0,30,0,32,0,36,0 50,0,54,0,47,0,23,0,20,0,38,0 33,0,34,0,22,0,11,0,44,0,40,0 24,0,58,0,8,0,49,0,26,0,10,0 57,0,46,0,56,0,19,0,14,0,52,0 43,0,55,0,2,0,42,0,35,0,18,0 17,0,5,0,25,0,3,0,21,0,9,0 37,0,13,0,7,0,48,0,15,0,29,0 6,0,28,0,39,0,45,0,16,0,12,0 41,0,51,0,56,0,59,0,54,0,4,0 ================================================ FILE: schedules/59_4.csv ================================================ 52,0,2,0,36,0,49,0,14,0,6,0 27,0,44,0,20,0,7,0,30,0,35,0 3,0,15,0,29,0,16,0,39,0,34,0 19,0,50,0,10,0,24,0,9,0,5,0 53,0,56,0,45,0,28,0,59,0,54,0 58,0,40,0,22,0,55,0,12,0,42,0 37,0,13,0,8,0,51,0,41,0,32,0 21,0,33,0,25,0,11,0,43,0,38,0 23,0,31,0,4,0,46,0,57,0,47,0 1,0,18,0,39,0,26,0,48,0,17,0 20,0,55,0,29,0,10,0,2,0,53,0 58,0,49,0,30,0,3,0,9,0,41,0 32,0,42,0,11,0,19,0,56,0,36,0 5,0,15,0,47,0,43,0,45,0,14,0 24,0,46,0,17,0,54,0,16,0,44,0 40,0,27,0,1,0,25,0,31,0,8,0 18,0,22,0,37,0,35,0,21,0,4,0 48,0,23,0,34,0,12,0,51,0,33,0 59,0,13,0,57,0,7,0,50,0,52,0 38,0,26,0,19,0,6,0,28,0,20,0 41,1,10,0,42,0,1,1,15,0,44,0 54,1,30,0,11,0,22,1,5,0,31,0 14,0,25,0,4,0,34,0,56,0,55,0 43,0,9,0,59,0,27,0,36,0,48,0 40,0,7,0,29,0,23,0,24,0,37,0 51,0,21,0,50,0,6,0,47,0,58,0 35,0,32,0,16,0,52,0,33,0,26,0 49,0,39,0,53,0,13,0,38,0,46,0 12,0,18,0,2,0,45,0,8,0,3,0 57,0,17,0,41,0,28,0,40,0,14,0 36,0,54,0,23,0,25,0,58,0,15,0 43,0,55,0,51,0,24,0,1,0,35,0 52,0,39,0,9,0,44,0,22,0,56,0 7,0,48,0,38,0,2,0,32,0,31,0 49,0,21,0,12,0,26,0,10,0,59,0 57,0,8,0,53,0,30,0,19,0,34,0 42,0,3,0,28,0,37,0,5,0,46,0 47,0,13,0,16,0,27,0,18,0,11,0 45,0,17,0,6,0,29,0,4,0,33,0 20,0,41,0,54,0,50,0,1,0,22,0 ================================================ FILE: schedules/59_5.csv ================================================ 18,0,12,0,28,0,27,0,33,0,59,0 44,0,4,0,2,0,58,0,10,0,23,0 52,0,50,0,46,0,37,0,5,0,41,0 43,0,3,0,29,0,13,0,39,0,16,0 55,0,30,0,31,0,14,0,49,0,42,0 17,0,51,0,8,0,45,0,54,0,6,0 56,0,25,0,57,0,7,0,1,0,20,0 35,0,40,0,38,0,24,0,9,0,47,0 21,0,22,0,34,0,26,0,48,0,32,0 53,0,11,0,39,0,19,0,36,0,15,0 14,0,59,0,58,0,16,0,51,0,52,0 3,0,5,0,55,0,2,0,57,0,8,0 41,0,45,0,12,0,23,0,43,0,49,0 46,0,34,0,42,0,24,0,4,0,17,0 56,0,54,0,47,0,31,0,53,0,26,0 11,0,13,0,9,0,10,0,1,0,48,0 35,0,20,0,27,0,21,0,15,0,30,0 28,0,22,0,6,0,36,0,44,0,40,0 29,0,33,0,37,0,25,0,19,0,38,0 50,0,7,0,55,0,32,0,18,0,4,0 56,1,2,0,16,0,48,1,42,0,12,0 35,1,10,0,51,0,39,1,31,0,46,0 28,1,23,0,8,0,34,0,9,0,30,0 6,0,27,0,24,0,11,0,49,0,25,0 26,0,7,0,15,0,44,0,14,0,38,0 40,0,45,0,57,0,59,0,37,0,21,0 20,0,33,0,43,0,22,0,17,0,50,0 32,0,36,0,13,0,41,0,58,0,47,0 18,0,1,0,19,0,3,0,54,0,52,0 53,0,48,0,27,0,5,0,29,0,7,0 4,0,12,0,25,0,39,0,14,0,8,0 11,0,17,0,31,0,2,0,21,0,28,0 26,0,23,0,24,0,33,0,16,0,57,0 1,0,37,0,44,0,34,0,47,0,43,0 35,0,32,0,52,0,42,0,45,0,29,0 38,0,41,0,6,0,20,0,18,0,10,0 59,0,9,0,46,0,54,0,55,0,36,0 15,0,5,0,49,0,22,0,51,0,56,0 53,0,30,0,40,0,58,0,50,0,3,0 19,0,57,0,34,0,13,0,12,0,35,0 16,0,28,0,1,0,4,0,45,0,38,0 42,0,37,0,9,0,39,0,26,0,20,0 36,0,43,0,52,0,21,0,8,0,56,0 15,0,50,0,48,0,59,0,6,0,31,0 3,0,49,0,47,0,7,0,33,0,46,0 19,0,41,0,17,0,44,0,55,0,27,0 10,0,30,0,22,0,29,0,54,0,24,0 40,0,14,0,5,0,11,0,23,0,32,0 51,0,2,0,25,0,53,0,18,0,13,0 58,0,48,0,39,0,56,0,35,0,28,0 ================================================ FILE: schedules/59_6.csv ================================================ 54,0,59,0,20,0,4,0,39,0,28,0 34,0,30,0,12,0,8,0,41,0,11,0 6,0,10,0,17,0,45,0,35,0,18,0 50,0,3,0,51,0,2,0,55,0,31,0 9,0,5,0,49,0,58,0,53,0,52,0 43,0,47,0,44,0,48,0,29,0,27,0 32,0,14,0,21,0,1,0,38,0,46,0 56,0,40,0,42,0,24,0,15,0,25,0 19,0,13,0,22,0,7,0,23,0,36,0 57,0,37,0,33,0,16,0,26,0,59,0 52,0,8,0,35,0,31,0,4,0,47,0 12,0,53,0,48,0,10,0,20,0,38,0 51,0,15,0,43,0,54,0,21,0,30,0 27,0,42,0,2,0,14,0,5,0,23,0 58,0,16,0,29,0,6,0,11,0,40,0 50,0,37,0,24,0,19,0,34,0,1,0 39,0,3,0,46,0,57,0,22,0,18,0 56,0,36,0,55,0,33,0,32,0,41,0 28,0,7,0,9,0,26,0,44,0,17,0 13,0,45,0,30,0,49,0,25,0,48,0 21,0,53,0,8,0,19,0,42,0,16,0 59,0,24,0,23,0,51,0,6,0,38,0 4,0,22,0,33,0,50,0,43,0,58,0 32,0,2,0,52,0,26,0,12,0,39,0 14,0,7,0,10,0,47,0,55,0,54,0 44,0,31,0,5,0,46,0,37,0,11,0 34,0,29,0,18,0,20,0,25,0,36,0 57,0,45,0,27,0,41,0,9,0,40,0 3,0,28,0,1,0,35,0,56,0,49,0 17,0,58,0,47,0,15,0,13,0,59,0 12,0,54,0,5,0,24,0,6,0,22,0 2,0,4,0,18,0,53,0,37,0,7,0 57,0,44,0,25,0,10,0,32,0,8,0 31,0,43,0,41,0,39,0,19,0,49,0 35,0,46,0,27,0,20,0,16,0,30,0 45,0,15,0,38,0,28,0,50,0,29,0 36,0,11,0,51,0,9,0,42,0,1,0 21,0,23,0,55,0,34,0,26,0,48,0 40,0,33,0,3,0,17,0,52,0,14,0 56,0,16,0,10,0,13,0,5,0,4,0 2,0,8,0,46,0,24,0,43,0,45,0 59,0,42,0,49,0,32,0,29,0,7,0 54,0,25,0,1,0,23,0,44,0,41,0 15,0,9,0,6,0,37,0,3,0,20,0 28,0,21,0,12,0,58,0,31,0,36,0 19,0,55,0,27,0,18,0,38,0,52,0 50,0,39,0,11,0,48,0,56,0,17,0 40,0,26,0,30,0,22,0,53,0,47,0 51,0,14,0,35,0,57,0,13,0,34,0 33,0,46,0,49,0,23,0,12,0,15,0 41,0,29,0,24,0,10,0,21,0,3,0 8,0,17,0,20,0,5,0,1,0,55,0 37,0,58,0,30,0,45,0,39,0,42,0 13,0,31,0,54,0,27,0,53,0,32,0 14,0,11,0,26,0,4,0,25,0,19,0 44,0,36,0,59,0,50,0,35,0,40,0 22,0,48,0,28,0,16,0,51,0,18,0 47,0,38,0,9,0,2,0,33,0,34,0 56,0,6,0,52,0,57,0,43,0,7,0 ================================================ FILE: schedules/59_7.csv ================================================ 3,0,55,0,19,0,48,0,4,0,51,0 26,0,45,0,8,0,18,0,38,0,37,0 49,0,13,0,6,0,16,0,47,0,39,0 7,0,35,0,42,0,41,0,31,0,17,0 15,0,20,0,54,0,5,0,1,0,12,0 24,0,50,0,2,0,57,0,36,0,30,0 40,0,58,0,14,0,53,0,52,0,25,0 11,0,46,0,43,0,22,0,44,0,23,0 9,0,27,0,10,0,28,0,34,0,33,0 29,0,32,0,21,0,56,0,59,0,35,0 18,0,51,0,36,0,39,0,12,0,31,0 17,0,14,0,8,0,6,0,48,0,1,0 4,0,26,0,49,0,44,0,58,0,20,0 41,0,50,0,55,0,34,0,13,0,11,0 28,0,53,0,16,0,54,0,56,0,7,0 52,0,45,0,27,0,57,0,22,0,10,0 42,0,2,0,25,0,19,0,15,0,21,0 33,0,37,0,5,0,47,0,23,0,29,0 30,0,40,0,9,0,32,0,46,0,3,0 24,0,59,0,31,0,43,0,38,0,1,0 50,1,16,0,48,0,27,0,26,0,41,0 22,0,21,0,12,0,58,0,55,0,28,0 33,0,20,0,11,0,14,0,18,0,2,0 47,0,4,0,57,0,35,0,53,0,9,0 17,0,56,0,5,0,36,0,46,0,38,0 32,0,7,0,19,0,44,0,52,0,24,0 34,0,37,0,15,0,43,0,49,0,3,0 51,0,13,0,54,0,29,0,45,0,40,0 23,0,39,0,42,0,10,0,59,0,8,0 30,0,25,0,12,0,6,0,38,0,11,0 2,0,44,0,36,0,1,0,27,0,35,0 3,0,31,0,14,0,22,0,50,0,26,0 5,0,18,0,9,0,13,0,19,0,58,0 45,0,53,0,43,0,42,0,32,0,20,0 8,0,41,0,56,0,55,0,40,0,24,0 25,0,49,0,48,0,33,0,10,0,46,0 52,0,59,0,30,0,15,0,28,0,47,0 16,0,57,0,51,0,17,0,34,0,23,0 37,0,4,0,54,0,6,0,21,0,39,0 29,0,3,0,58,0,7,0,38,0,2,0 49,0,50,0,10,0,43,0,56,0,18,0 36,0,47,0,22,0,32,0,25,0,8,0 5,0,48,0,28,0,51,0,24,0,53,0 37,0,16,0,52,0,42,0,12,0,9,0 59,0,39,0,34,0,45,0,14,0,46,0 23,0,35,0,19,0,30,0,54,0,26,0 29,0,6,0,44,0,20,0,55,0,31,0 13,0,21,0,1,0,7,0,33,0,57,0 15,0,40,0,11,0,4,0,27,0,17,0 41,0,49,0,38,0,52,0,51,0,9,0 47,0,42,0,18,0,24,0,34,0,54,0 31,0,58,0,56,0,30,0,48,0,45,0 20,0,25,0,7,0,57,0,50,0,23,0 4,0,12,0,59,0,22,0,2,0,13,0 43,0,6,0,40,0,19,0,36,0,28,0 44,0,14,0,41,0,21,0,10,0,3,0 17,0,33,0,39,0,55,0,26,0,32,0 53,0,46,0,1,0,29,0,27,0,37,0 35,0,8,0,11,0,16,0,5,0,15,0 2,0,56,0,34,0,31,0,6,0,52,0 54,0,57,0,18,0,48,0,44,0,59,0 28,0,32,0,38,0,4,0,14,0,50,0 29,0,24,0,13,0,3,0,25,0,17,0 15,0,36,0,23,0,41,0,9,0,45,0 55,0,1,0,22,0,42,0,49,0,40,0 5,0,39,0,27,0,30,0,7,0,43,0 35,0,10,0,51,0,11,0,37,0,58,0 46,0,47,0,21,0,16,0,26,0,20,0 33,0,12,0,53,0,8,0,19,0,50,0 ================================================ FILE: schedules/59_8.csv ================================================ 40,0,18,0,19,0,48,0,54,0,49,0 20,0,53,0,25,0,45,0,28,0,33,0 46,0,13,0,15,0,26,0,17,0,37,0 7,0,23,0,42,0,52,0,8,0,27,0 34,0,39,0,11,0,12,0,44,0,29,0 24,0,57,0,31,0,10,0,56,0,14,0 22,0,43,0,30,0,32,0,2,0,38,0 4,0,59,0,58,0,1,0,55,0,41,0 21,0,47,0,36,0,5,0,35,0,3,0 6,0,16,0,53,0,9,0,51,0,50,0 48,0,11,0,52,0,37,0,25,0,31,0 7,0,17,0,10,0,54,0,22,0,26,0 59,0,24,0,39,0,30,0,20,0,58,0 44,0,56,0,32,0,36,0,28,0,4,0 38,0,47,0,51,0,45,0,21,0,12,0 1,0,9,0,27,0,43,0,35,0,29,0 49,0,16,0,8,0,5,0,6,0,13,0 42,0,3,0,18,0,46,0,55,0,57,0 41,0,2,0,40,0,19,0,33,0,14,0 23,0,15,0,45,0,34,0,50,0,58,0 29,1,36,0,1,0,17,1,25,0,30,0 16,0,21,0,24,0,59,0,32,0,11,0 52,0,13,0,39,0,28,0,22,0,35,0 5,0,18,0,46,0,33,0,53,0,7,0 20,0,40,0,8,0,37,0,55,0,38,0 12,0,57,0,6,0,41,0,54,0,23,0 4,0,10,0,19,0,27,0,50,0,43,0 44,0,47,0,42,0,9,0,14,0,15,0 26,0,2,0,49,0,31,0,3,0,51,0 56,0,48,0,59,0,34,0,38,0,5,0 18,0,6,0,45,0,22,0,52,0,24,0 8,0,36,0,17,0,43,0,11,0,53,0 13,0,14,0,12,0,55,0,7,0,4,0 54,0,33,0,58,0,47,0,27,0,16,0 30,0,28,0,31,0,41,0,46,0,34,0 25,0,26,0,50,0,44,0,40,0,57,0 39,0,1,0,19,0,32,0,3,0,15,0 37,0,9,0,56,0,23,0,49,0,21,0 48,0,51,0,29,0,35,0,42,0,20,0 10,0,27,0,18,0,2,0,11,0,13,0 4,0,25,0,46,0,38,0,24,0,54,0 52,0,55,0,36,0,34,0,15,0,16,0 43,0,3,0,9,0,12,0,58,0,56,0 40,0,31,0,22,0,1,0,42,0,53,0 14,0,17,0,51,0,23,0,30,0,19,0 33,0,39,0,21,0,48,0,6,0,26,0 32,0,35,0,41,0,37,0,5,0,10,0 29,0,45,0,57,0,44,0,49,0,7,0 2,0,28,0,50,0,8,0,59,0,47,0 20,0,23,0,11,0,22,0,3,0,4,0 14,0,38,0,58,0,18,0,26,0,36,0 51,0,27,0,56,0,40,0,46,0,39,0 55,0,9,0,29,0,31,0,33,0,32,0 8,0,45,0,37,0,10,0,12,0,30,0 59,0,35,0,25,0,6,0,19,0,15,0 53,0,54,0,52,0,21,0,41,0,44,0 49,0,5,0,50,0,17,0,42,0,28,0 1,0,2,0,24,0,48,0,7,0,16,0 20,0,34,0,47,0,57,0,43,0,13,0 45,0,9,0,10,0,36,0,59,0,40,0 8,0,58,0,22,0,46,0,21,0,19,0 28,0,37,0,3,0,14,0,54,0,29,0 38,0,7,0,41,0,50,0,39,0,42,0 44,0,23,0,43,0,13,0,31,0,16,0 4,0,15,0,57,0,53,0,2,0,48,0 47,0,55,0,17,0,24,0,27,0,6,0 26,0,12,0,5,0,52,0,20,0,1,0 30,0,35,0,11,0,49,0,33,0,56,0 32,0,34,0,51,0,25,0,18,0,8,0 43,0,15,0,7,0,28,0,21,0,40,0 38,0,23,0,53,0,29,0,10,0,47,0 55,0,54,0,2,0,39,0,5,0,45,0 31,0,52,0,35,0,17,0,58,0,57,0 50,0,32,0,30,0,3,0,48,0,13,0 22,0,27,0,49,0,12,0,25,0,36,0 14,0,6,0,20,0,11,0,1,0,46,0 37,0,44,0,33,0,42,0,51,0,59,0 19,0,34,0,26,0,4,0,24,0,9,0 41,0,16,0,17,0,18,0,56,0,29,0 ================================================ FILE: schedules/59_9.csv ================================================ 20,0,39,0,14,0,2,0,57,0,52,0 38,0,12,0,44,0,53,0,22,0,5,0 9,0,51,0,17,0,40,0,13,0,47,0 4,0,16,0,26,0,27,0,59,0,15,0 19,0,54,0,49,0,55,0,42,0,8,0 50,0,11,0,36,0,18,0,28,0,1,0 32,0,25,0,48,0,33,0,41,0,45,0 6,0,34,0,7,0,58,0,43,0,10,0 24,0,46,0,37,0,21,0,30,0,29,0 23,0,35,0,51,0,31,0,56,0,3,0 52,0,40,0,59,0,42,0,12,0,19,0 8,0,26,0,45,0,39,0,11,0,47,0 16,0,41,0,1,0,58,0,44,0,2,0 27,0,21,0,57,0,55,0,33,0,18,0 46,0,29,0,3,0,48,0,36,0,5,0 35,0,6,0,13,0,30,0,50,0,53,0 14,0,49,0,32,0,10,0,37,0,56,0 4,0,34,0,17,0,23,0,22,0,54,0 28,0,7,0,24,0,20,0,15,0,9,0 43,0,38,0,39,0,31,0,25,0,59,0 57,1,30,0,3,0,1,1,26,0,21,0 53,1,27,0,48,0,10,0,8,0,47,0 58,0,13,0,5,0,52,0,23,0,33,0 12,0,56,0,45,0,7,0,54,0,44,0 24,0,29,0,17,0,49,0,4,0,41,0 19,0,43,0,51,0,15,0,38,0,50,0 14,0,37,0,25,0,16,0,22,0,18,0 55,0,6,0,9,0,11,0,46,0,20,0 42,0,2,0,36,0,34,0,32,0,35,0 28,0,31,0,5,0,40,0,30,0,45,0 50,0,47,0,3,0,38,0,49,0,58,0 10,0,22,0,27,0,43,0,29,0,52,0 21,0,56,0,8,0,13,0,20,0,16,0 48,0,9,0,23,0,18,0,53,0,19,0 46,0,12,0,51,0,17,0,39,0,1,0 35,0,40,0,42,0,14,0,11,0,4,0 41,0,31,0,57,0,7,0,37,0,36,0 28,0,54,0,25,0,6,0,2,0,26,0 44,0,33,0,34,0,24,0,59,0,55,0 15,0,39,0,30,0,32,0,53,0,10,0 43,0,17,0,5,0,9,0,42,0,56,0 45,0,38,0,16,0,40,0,57,0,29,0 27,0,13,0,28,0,46,0,41,0,22,0 6,0,4,0,47,0,31,0,19,0,33,0 15,0,12,0,2,0,48,0,21,0,11,0 14,0,3,0,1,0,7,0,25,0,55,0 37,0,20,0,32,0,50,0,58,0,54,0 44,0,59,0,51,0,23,0,8,0,36,0 35,0,18,0,26,0,24,0,52,0,49,0 34,0,56,0,40,0,27,0,39,0,46,0 3,0,53,0,21,0,43,0,4,0,28,0 1,0,19,0,57,0,32,0,29,0,22,0 14,0,58,0,31,0,15,0,44,0,17,0 25,0,49,0,33,0,51,0,11,0,30,0 7,0,50,0,42,0,48,0,24,0,16,0 36,0,10,0,34,0,26,0,13,0,12,0 45,0,55,0,2,0,6,0,23,0,37,0 54,0,18,0,20,0,47,0,59,0,5,0 35,0,52,0,41,0,38,0,9,0,8,0 57,0,50,0,4,0,46,0,44,0,25,0 26,0,29,0,58,0,31,0,53,0,42,0 2,0,7,0,56,0,19,0,22,0,30,0 13,0,43,0,54,0,40,0,48,0,1,0 52,0,55,0,32,0,12,0,47,0,28,0 15,0,37,0,33,0,35,0,17,0,8,0 27,0,11,0,23,0,14,0,38,0,24,0 5,0,41,0,18,0,34,0,51,0,20,0 10,0,45,0,9,0,16,0,59,0,3,0 39,0,36,0,44,0,21,0,6,0,49,0 50,0,33,0,26,0,17,0,2,0,40,0 47,0,55,0,29,0,56,0,25,0,15,0 41,0,54,0,30,0,43,0,23,0,14,0 53,0,46,0,52,0,51,0,16,0,7,0 21,0,31,0,32,0,5,0,9,0,34,0 8,0,24,0,22,0,58,0,45,0,36,0 49,0,59,0,48,0,28,0,57,0,6,0 11,0,19,0,37,0,3,0,13,0,39,0 10,0,38,0,1,0,4,0,18,0,42,0 20,0,12,0,23,0,27,0,35,0,25,0 52,0,16,0,30,0,36,0,55,0,17,0 28,0,51,0,8,0,34,0,29,0,14,0 53,0,11,0,58,0,56,0,57,0,59,0 18,0,40,0,15,0,6,0,41,0,3,0 49,0,42,0,1,0,27,0,31,0,45,0 21,0,19,0,46,0,35,0,10,0,54,0 48,0,20,0,43,0,37,0,44,0,26,0 9,0,33,0,22,0,39,0,50,0,12,0 38,0,4,0,7,0,32,0,13,0,2,0 47,0,57,0,53,0,5,0,24,0,1,0 ================================================ FILE: schedules/60_1.csv ================================================ 35,0,33,0,25,0,44,0,51,0,58,0 9,0,13,0,24,0,31,0,3,0,12,0 4,0,7,0,52,0,26,0,30,0,6,0 23,0,59,0,15,0,21,0,28,0,2,0 29,0,47,0,38,0,60,0,49,0,11,0 43,0,1,0,19,0,8,0,34,0,10,0 22,0,57,0,27,0,5,0,39,0,50,0 17,0,56,0,45,0,55,0,37,0,46,0 14,0,53,0,40,0,18,0,32,0,16,0 20,0,42,0,48,0,54,0,36,0,41,0 ================================================ FILE: schedules/60_10.csv ================================================ 32,0,28,0,54,0,46,0,50,0,27,0 23,0,59,0,41,0,58,0,13,0,31,0 51,0,10,0,15,0,18,0,9,0,47,0 1,0,7,0,6,0,2,0,48,0,12,0 11,0,21,0,35,0,5,0,39,0,56,0 29,0,24,0,30,0,38,0,40,0,34,0 43,0,49,0,4,0,22,0,17,0,3,0 42,0,33,0,55,0,36,0,45,0,26,0 16,0,57,0,20,0,19,0,37,0,8,0 25,0,14,0,53,0,44,0,60,0,52,0 11,0,29,0,23,0,15,0,27,0,35,0 31,0,47,0,17,0,28,0,2,0,30,0 54,0,24,0,58,0,51,0,1,0,33,0 41,0,55,0,18,0,7,0,37,0,49,0 53,0,22,0,21,0,48,0,38,0,32,0 19,0,10,0,20,0,56,0,6,0,42,0 3,0,34,0,5,0,36,0,16,0,60,0 14,0,8,0,12,0,40,0,9,0,43,0 39,0,57,0,4,0,13,0,46,0,25,0 26,0,52,0,59,0,44,0,50,0,45,0 53,0,17,0,11,0,21,0,19,0,51,0 3,0,49,0,24,0,32,0,10,0,5,0 54,0,40,0,16,0,36,0,56,0,2,0 41,0,38,0,28,0,60,0,43,0,57,0 23,0,47,0,58,0,20,0,48,0,14,0 35,0,25,0,1,0,31,0,42,0,50,0 13,0,7,0,45,0,46,0,26,0,30,0 27,0,44,0,37,0,9,0,34,0,15,0 39,0,52,0,22,0,6,0,59,0,33,0 18,0,29,0,12,0,55,0,4,0,8,0 25,0,54,0,3,0,11,0,20,0,40,0 53,0,7,0,19,0,58,0,43,0,45,0 17,0,38,0,36,0,56,0,46,0,15,0 48,0,30,0,22,0,57,0,26,0,27,0 6,0,18,0,8,0,21,0,13,0,28,0 14,0,9,0,29,0,59,0,49,0,2,0 47,0,33,0,50,0,5,0,4,0,37,0 24,0,44,0,23,0,42,0,12,0,16,0 35,0,34,0,32,0,1,0,41,0,52,0 10,0,31,0,60,0,55,0,51,0,39,0 38,0,15,0,2,0,8,0,45,0,25,0 33,0,57,0,21,0,7,0,29,0,40,0 47,0,46,0,37,0,22,0,42,0,43,0 49,0,27,0,20,0,13,0,35,0,53,0 36,0,32,0,19,0,4,0,31,0,23,0 50,0,9,0,6,0,16,0,41,0,24,0 28,0,12,0,5,0,58,0,52,0,51,0 60,0,48,0,11,0,30,0,44,0,10,0 55,0,56,0,1,0,14,0,59,0,3,0 26,0,39,0,18,0,54,0,17,0,34,0 46,0,16,0,43,0,33,0,31,0,35,0 40,0,8,0,21,0,27,0,22,0,58,0 50,0,20,0,32,0,12,0,30,0,15,0 51,0,42,0,49,0,57,0,59,0,48,0 17,0,52,0,9,0,13,0,1,0,11,0 39,0,10,0,37,0,26,0,2,0,23,0 56,0,24,0,34,0,53,0,47,0,55,0 36,0,44,0,5,0,7,0,18,0,38,0 19,0,28,0,25,0,41,0,29,0,3,0 6,0,4,0,45,0,54,0,14,0,60,0 46,0,49,0,52,0,30,0,23,0,21,0 17,0,37,0,48,0,24,0,12,0,31,0 50,0,57,0,34,0,10,0,58,0,11,0 15,0,13,0,16,0,1,0,53,0,28,0 19,0,27,0,33,0,14,0,55,0,44,0 43,0,26,0,5,0,25,0,29,0,6,0 59,0,8,0,60,0,35,0,47,0,54,0 3,0,42,0,7,0,9,0,38,0,39,0 40,0,45,0,56,0,18,0,4,0,32,0 22,0,41,0,36,0,51,0,20,0,2,0 10,0,34,0,13,0,33,0,25,0,12,0 46,0,59,0,28,0,24,0,11,0,19,0 1,0,49,0,31,0,47,0,8,0,44,0 55,0,15,0,43,0,21,0,54,0,52,0 40,0,48,0,36,0,39,0,50,0,29,0 57,0,18,0,2,0,20,0,3,0,53,0 42,0,27,0,45,0,41,0,5,0,17,0 30,0,51,0,32,0,14,0,6,0,37,0 26,0,58,0,4,0,38,0,35,0,16,0 23,0,56,0,60,0,7,0,22,0,9,0 39,0,33,0,20,0,49,0,50,0,28,0 43,0,1,0,59,0,5,0,27,0,18,0 40,0,46,0,14,0,10,0,53,0,41,0 30,0,3,0,6,0,58,0,15,0,44,0 37,0,31,0,22,0,54,0,45,0,11,0 2,0,42,0,8,0,34,0,52,0,4,0 9,0,48,0,13,0,55,0,35,0,19,0 47,0,24,0,21,0,25,0,36,0,57,0 16,0,29,0,32,0,17,0,7,0,60,0 12,0,51,0,23,0,56,0,26,0,38,0 5,0,22,0,14,0,31,0,34,0,28,0 35,0,42,0,30,0,53,0,54,0,18,0 9,0,10,0,59,0,4,0,21,0,20,0 1,0,37,0,58,0,29,0,36,0,46,0 12,0,45,0,47,0,16,0,39,0,3,0 51,0,56,0,7,0,52,0,27,0,25,0 2,0,44,0,13,0,24,0,43,0,32,0 50,0,17,0,55,0,57,0,6,0,23,0 8,0,11,0,38,0,48,0,33,0,41,0 19,0,26,0,15,0,40,0,49,0,60,0 ================================================ FILE: schedules/60_11.csv ================================================ 48,0,59,0,13,0,21,0,49,0,56,0 40,0,29,0,45,0,58,0,14,0,50,0 2,0,7,0,54,0,30,0,12,0,53,0 32,0,5,0,27,0,25,0,28,0,34,0 19,0,10,0,17,0,31,0,60,0,33,0 20,0,26,0,36,0,39,0,8,0,1,0 15,0,51,0,16,0,11,0,23,0,24,0 35,0,41,0,52,0,57,0,22,0,9,0 44,0,6,0,42,0,46,0,37,0,47,0 43,0,3,0,18,0,38,0,55,0,4,0 14,0,33,0,59,0,36,0,39,0,13,0 21,0,31,0,8,0,23,0,15,0,12,0 51,0,22,0,20,0,27,0,17,0,2,0 45,0,54,0,34,0,11,0,37,0,42,0 49,0,18,0,25,0,46,0,7,0,56,0 43,0,47,0,48,0,19,0,52,0,30,0 50,0,29,0,55,0,5,0,44,0,4,0 26,0,38,0,24,0,6,0,9,0,41,0 16,0,3,0,10,0,35,0,40,0,32,0 58,0,28,0,1,0,57,0,53,0,60,0 34,0,8,0,56,0,7,0,14,0,17,0 13,0,55,0,2,0,59,0,42,0,31,0 21,0,37,0,51,0,49,0,43,0,41,0 36,0,35,0,9,0,10,0,54,0,40,0 23,0,52,0,18,0,27,0,28,0,44,0 11,0,4,0,60,0,22,0,6,0,25,0 33,0,53,0,26,0,38,0,46,0,3,0 24,0,58,0,12,0,30,0,39,0,5,0 16,0,1,0,45,0,48,0,29,0,19,0 50,0,47,0,15,0,57,0,20,0,32,0 43,0,59,0,23,0,4,0,35,0,17,0 7,0,22,0,8,0,37,0,28,0,13,0 26,0,40,0,60,0,54,0,56,0,5,0 11,0,14,0,44,0,38,0,1,0,30,0 15,0,57,0,27,0,45,0,36,0,3,0 25,0,52,0,33,0,16,0,20,0,2,0 50,0,6,0,49,0,55,0,31,0,9,0 10,0,46,0,29,0,24,0,51,0,48,0 32,0,39,0,42,0,53,0,21,0,41,0 19,0,47,0,12,0,34,0,58,0,18,0 52,0,3,0,57,0,11,0,59,0,8,0 40,0,30,0,25,0,15,0,6,0,13,0 35,0,54,0,38,0,51,0,1,0,50,0 37,0,9,0,7,0,29,0,20,0,23,0 36,0,60,0,21,0,24,0,34,0,44,0 39,0,16,0,46,0,5,0,2,0,47,0 55,0,12,0,17,0,26,0,48,0,27,0 41,0,58,0,42,0,28,0,56,0,10,0 45,0,4,0,43,0,32,0,49,0,33,0 53,0,22,0,14,0,31,0,18,0,19,0 52,0,9,0,59,0,24,0,1,0,37,0 50,0,13,0,7,0,47,0,39,0,26,0 30,0,58,0,21,0,20,0,3,0,17,0 44,0,45,0,10,0,8,0,15,0,2,0 53,0,18,0,55,0,60,0,51,0,34,0 48,0,42,0,4,0,35,0,14,0,5,0 23,0,31,0,57,0,54,0,43,0,25,0 32,0,6,0,56,0,33,0,29,0,22,0 40,0,46,0,27,0,41,0,19,0,11,0 28,0,12,0,49,0,38,0,36,0,16,0 35,0,15,0,42,0,26,0,7,0,52,0 48,0,53,0,58,0,25,0,9,0,4,0 18,0,6,0,5,0,59,0,45,0,21,0 41,0,14,0,2,0,23,0,47,0,3,0 11,0,16,0,50,0,43,0,60,0,56,0 8,0,37,0,20,0,40,0,55,0,24,0 51,0,29,0,31,0,28,0,19,0,36,0 22,0,27,0,49,0,39,0,54,0,44,0 32,0,1,0,17,0,13,0,46,0,12,0 57,0,34,0,30,0,38,0,10,0,33,0 15,0,20,0,7,0,41,0,60,0,59,0 25,0,58,0,37,0,14,0,26,0,51,0 6,0,19,0,2,0,24,0,9,0,56,0 8,0,29,0,13,0,53,0,43,0,27,0 47,0,30,0,28,0,55,0,35,0,45,0 11,0,38,0,39,0,10,0,32,0,31,0 57,0,16,0,40,0,44,0,17,0,18,0 36,0,54,0,4,0,46,0,52,0,21,0 34,0,22,0,5,0,49,0,3,0,1,0 48,0,12,0,33,0,23,0,42,0,50,0 56,0,31,0,37,0,27,0,35,0,30,0 9,0,39,0,17,0,18,0,45,0,15,0 60,0,7,0,38,0,29,0,21,0,2,0 24,0,14,0,46,0,57,0,28,0,55,0 11,0,22,0,47,0,36,0,50,0,12,0 49,0,5,0,10,0,52,0,53,0,20,0 33,0,51,0,41,0,44,0,40,0,48,0 4,0,6,0,8,0,54,0,13,0,16,0 1,0,19,0,43,0,25,0,3,0,42,0 34,0,23,0,32,0,59,0,26,0,58,0 28,0,29,0,18,0,30,0,2,0,11,0 60,0,39,0,12,0,48,0,52,0,37,0 5,0,36,0,51,0,6,0,57,0,7,0 53,0,24,0,3,0,50,0,56,0,45,0 43,0,14,0,21,0,22,0,26,0,10,0 40,0,41,0,47,0,1,0,31,0,4,0 55,0,27,0,54,0,33,0,58,0,15,0 44,0,32,0,13,0,19,0,35,0,20,0 34,0,46,0,59,0,9,0,8,0,16,0 17,0,25,0,23,0,38,0,49,0,42,0 28,0,53,0,39,0,6,0,43,0,40,0 26,0,12,0,56,0,4,0,51,0,57,0 52,0,44,0,31,0,7,0,45,0,58,0 41,0,54,0,20,0,14,0,29,0,34,0 27,0,25,0,59,0,21,0,50,0,10,0 60,0,3,0,9,0,13,0,47,0,42,0 37,0,19,0,5,0,15,0,17,0,38,0 49,0,35,0,11,0,24,0,8,0,33,0 1,0,48,0,36,0,18,0,32,0,2,0 55,0,46,0,30,0,22,0,16,0,23,0 ================================================ FILE: schedules/60_12.csv ================================================ 9,0,2,0,57,0,19,0,47,0,15,0 14,0,5,0,12,0,23,0,48,0,41,0 4,0,24,0,37,0,46,0,39,0,8,0 52,0,58,0,40,0,42,0,20,0,10,0 53,0,44,0,7,0,13,0,36,0,43,0 25,0,6,0,22,0,59,0,28,0,56,0 3,0,18,0,34,0,35,0,1,0,16,0 33,0,54,0,30,0,31,0,21,0,49,0 55,0,50,0,38,0,17,0,29,0,51,0 45,0,26,0,27,0,11,0,32,0,60,0 9,0,24,0,40,0,48,0,37,0,52,0 10,0,5,0,47,0,53,0,43,0,42,0 54,0,57,0,31,0,28,0,12,0,22,0 36,0,17,0,1,0,51,0,8,0,33,0 7,0,56,0,20,0,45,0,19,0,38,0 41,0,16,0,46,0,21,0,13,0,23,0 32,0,3,0,44,0,11,0,39,0,59,0 6,0,18,0,60,0,49,0,29,0,58,0 30,0,55,0,4,0,2,0,25,0,34,0 35,0,14,0,26,0,27,0,50,0,15,0 47,0,21,0,38,0,36,0,24,0,23,0 11,0,8,0,31,0,19,0,52,0,53,0 40,0,6,0,32,0,41,0,17,0,3,0 20,0,43,0,46,0,12,0,34,0,55,0 60,0,49,0,35,0,10,0,37,0,56,0 29,0,44,0,14,0,33,0,16,0,25,0 42,0,1,0,50,0,45,0,15,0,57,0 4,0,48,0,39,0,26,0,58,0,22,0 59,0,18,0,27,0,9,0,54,0,7,0 30,0,2,0,13,0,5,0,51,0,28,0 34,0,14,0,6,0,40,0,36,0,31,0 23,0,45,0,16,0,24,0,43,0,57,0 19,0,17,0,26,0,1,0,58,0,46,0 50,0,33,0,3,0,12,0,37,0,27,0 38,0,20,0,54,0,11,0,4,0,44,0 10,0,51,0,35,0,5,0,7,0,22,0 30,0,8,0,56,0,9,0,48,0,29,0 32,0,42,0,47,0,25,0,18,0,13,0 21,0,39,0,2,0,52,0,60,0,59,0 55,0,49,0,28,0,15,0,53,0,41,0 57,0,46,0,40,0,35,0,5,0,44,0 1,0,10,0,48,0,50,0,19,0,54,0 26,0,36,0,32,0,56,0,31,0,24,0 8,0,25,0,23,0,6,0,27,0,20,0 37,0,59,0,53,0,16,0,17,0,4,0 9,0,41,0,22,0,2,0,7,0,33,0 43,0,29,0,28,0,3,0,21,0,52,0 55,0,13,0,60,0,18,0,30,0,14,0 49,0,11,0,38,0,34,0,42,0,58,0 39,0,15,0,12,0,45,0,51,0,47,0 54,0,41,0,56,0,16,0,8,0,50,0 31,0,6,0,23,0,4,0,9,0,10,0 29,0,21,0,59,0,20,0,26,0,5,0 37,0,2,0,43,0,38,0,28,0,32,0 19,0,27,0,1,0,40,0,49,0,44,0 22,0,52,0,45,0,18,0,36,0,15,0 55,0,35,0,57,0,13,0,58,0,39,0 3,0,51,0,24,0,14,0,53,0,25,0 42,0,60,0,48,0,46,0,33,0,34,0 17,0,7,0,12,0,11,0,30,0,47,0 10,0,36,0,27,0,2,0,16,0,20,0 41,0,31,0,59,0,39,0,1,0,18,0 24,0,44,0,58,0,9,0,15,0,28,0 6,0,21,0,33,0,46,0,48,0,51,0 52,0,49,0,4,0,7,0,32,0,50,0 8,0,5,0,45,0,25,0,3,0,38,0 29,0,54,0,11,0,35,0,40,0,47,0 26,0,34,0,60,0,53,0,12,0,13,0 22,0,19,0,30,0,37,0,55,0,23,0 17,0,14,0,43,0,57,0,42,0,56,0 48,0,3,0,49,0,44,0,46,0,2,0 8,0,18,0,9,0,39,0,40,0,10,0 15,0,52,0,34,0,6,0,5,0,54,0 38,0,16,0,7,0,26,0,31,0,55,0 53,0,45,0,58,0,59,0,33,0,14,0 27,0,13,0,4,0,21,0,56,0,17,0 11,0,43,0,50,0,60,0,24,0,22,0 32,0,25,0,51,0,23,0,19,0,29,0 36,0,12,0,30,0,41,0,35,0,42,0 20,0,28,0,37,0,1,0,57,0,47,0 7,0,10,0,15,0,3,0,14,0,39,0 21,0,11,0,45,0,9,0,55,0,6,0 5,0,13,0,24,0,58,0,54,0,27,0 43,0,59,0,48,0,36,0,8,0,49,0 23,0,47,0,2,0,34,0,56,0,50,0 26,0,44,0,25,0,30,0,17,0,52,0 31,0,29,0,18,0,37,0,51,0,57,0 42,0,33,0,28,0,4,0,35,0,19,0 46,0,22,0,53,0,41,0,32,0,20,0 12,0,16,0,60,0,40,0,1,0,38,0 49,0,5,0,23,0,52,0,11,0,55,0 57,0,25,0,39,0,48,0,36,0,54,0 42,0,24,0,19,0,6,0,35,0,7,0 41,0,51,0,18,0,4,0,43,0,26,0 45,0,46,0,50,0,27,0,30,0,28,0 1,0,34,0,53,0,22,0,56,0,29,0 20,0,60,0,17,0,9,0,31,0,3,0 21,0,44,0,37,0,14,0,10,0,2,0 33,0,15,0,40,0,13,0,38,0,59,0 32,0,16,0,58,0,8,0,47,0,12,0 53,0,39,0,27,0,6,0,30,0,43,0 36,0,5,0,4,0,60,0,1,0,9,0 31,0,37,0,35,0,41,0,45,0,25,0 50,0,2,0,28,0,33,0,18,0,11,0 56,0,55,0,51,0,44,0,8,0,52,0 15,0,16,0,13,0,48,0,19,0,20,0 29,0,12,0,24,0,10,0,49,0,17,0 58,0,57,0,7,0,21,0,34,0,32,0 47,0,22,0,59,0,46,0,14,0,38,0 54,0,42,0,40,0,3,0,26,0,23,0 13,0,37,0,50,0,6,0,36,0,44,0 56,0,33,0,5,0,24,0,20,0,18,0 35,0,48,0,15,0,32,0,43,0,31,0 7,0,11,0,46,0,1,0,29,0,25,0 47,0,28,0,34,0,8,0,26,0,10,0 19,0,55,0,14,0,59,0,4,0,12,0 54,0,17,0,23,0,60,0,2,0,45,0 58,0,30,0,21,0,22,0,3,0,40,0 9,0,39,0,51,0,16,0,49,0,42,0 52,0,27,0,41,0,53,0,57,0,38,0 ================================================ FILE: schedules/60_13.csv ================================================ 13,0,59,0,35,0,26,0,11,0,22,0 41,0,30,0,34,0,29,0,39,0,48,0 28,0,21,0,51,0,10,0,44,0,27,0 24,0,47,0,45,0,18,0,3,0,37,0 16,0,52,0,33,0,58,0,15,0,31,0 38,0,50,0,4,0,2,0,60,0,7,0 57,0,8,0,25,0,46,0,55,0,9,0 54,0,32,0,20,0,23,0,14,0,12,0 43,0,49,0,1,0,19,0,6,0,40,0 36,0,17,0,5,0,42,0,53,0,56,0 16,0,60,0,31,0,37,0,22,0,29,0 44,0,2,0,55,0,13,0,48,0,7,0 50,0,11,0,25,0,38,0,24,0,54,0 47,0,59,0,20,0,58,0,21,0,6,0 56,0,57,0,23,0,53,0,49,0,34,0 43,0,12,0,39,0,42,0,8,0,36,0 46,0,14,0,30,0,27,0,28,0,35,0 51,0,9,0,45,0,26,0,41,0,15,0 52,0,3,0,10,0,5,0,19,0,1,0 18,0,32,0,17,0,33,0,40,0,4,0 2,0,22,0,48,0,8,0,20,0,38,0 46,0,58,0,56,0,11,0,36,0,37,0 51,0,13,0,29,0,6,0,53,0,59,0 12,0,30,0,1,0,25,0,5,0,45,0 47,0,32,0,15,0,39,0,54,0,55,0 41,0,31,0,44,0,43,0,60,0,23,0 7,0,17,0,34,0,16,0,21,0,35,0 24,0,10,0,49,0,52,0,27,0,50,0 14,0,28,0,3,0,18,0,33,0,26,0 40,0,9,0,57,0,4,0,19,0,42,0 56,0,47,0,1,0,20,0,30,0,60,0 53,0,7,0,44,0,45,0,46,0,59,0 2,0,8,0,12,0,23,0,31,0,17,0 58,0,18,0,55,0,50,0,10,0,34,0 24,0,35,0,51,0,5,0,41,0,57,0 28,0,29,0,38,0,32,0,40,0,13,0 6,0,26,0,9,0,49,0,16,0,39,0 27,0,54,0,14,0,4,0,52,0,48,0 3,0,22,0,43,0,36,0,25,0,33,0 19,0,15,0,11,0,37,0,21,0,42,0 53,0,5,0,32,0,20,0,41,0,46,0 18,0,57,0,10,0,39,0,59,0,23,0 30,0,24,0,7,0,13,0,58,0,8,0 36,0,27,0,38,0,45,0,31,0,26,0 11,0,52,0,43,0,47,0,55,0,35,0 34,0,37,0,51,0,29,0,54,0,42,0 12,0,15,0,4,0,22,0,28,0,6,0 25,0,19,0,48,0,16,0,40,0,56,0 60,0,49,0,14,0,2,0,3,0,17,0 1,0,9,0,33,0,21,0,50,0,44,0 10,0,45,0,8,0,11,0,35,0,34,0 13,0,4,0,26,0,52,0,23,0,37,0 59,0,15,0,55,0,27,0,46,0,40,0 16,0,38,0,2,0,51,0,47,0,41,0 20,0,57,0,19,0,50,0,28,0,17,0 7,0,33,0,29,0,9,0,12,0,56,0 49,0,5,0,42,0,25,0,18,0,44,0 58,0,53,0,39,0,1,0,22,0,14,0 3,0,36,0,24,0,48,0,60,0,54,0 43,0,31,0,6,0,30,0,21,0,32,0 55,0,16,0,10,0,33,0,37,0,38,0 41,0,59,0,27,0,20,0,50,0,42,0 18,0,51,0,52,0,7,0,46,0,12,0 40,0,23,0,11,0,39,0,60,0,5,0 48,0,26,0,21,0,32,0,35,0,22,0 58,0,2,0,57,0,6,0,25,0,3,0 31,0,1,0,4,0,47,0,49,0,13,0 14,0,8,0,29,0,19,0,44,0,36,0 56,0,45,0,34,0,28,0,24,0,43,0 53,0,30,0,17,0,15,0,54,0,9,0 37,0,39,0,57,0,33,0,2,0,27,0 11,0,7,0,16,0,3,0,32,0,1,0 10,0,5,0,29,0,4,0,47,0,14,0 46,0,13,0,23,0,48,0,50,0,43,0 28,0,36,0,41,0,17,0,49,0,55,0 22,0,42,0,40,0,52,0,45,0,30,0 54,0,35,0,53,0,44,0,60,0,6,0 34,0,25,0,31,0,59,0,19,0,51,0 56,0,15,0,20,0,24,0,8,0,26,0 38,0,9,0,58,0,18,0,21,0,12,0 3,0,23,0,16,0,13,0,27,0,42,0 4,0,39,0,2,0,53,0,55,0,45,0 30,0,6,0,36,0,41,0,10,0,7,0 37,0,8,0,60,0,25,0,32,0,51,0 18,0,31,0,19,0,54,0,11,0,57,0 21,0,22,0,9,0,56,0,24,0,14,0 48,0,15,0,28,0,58,0,43,0,5,0 52,0,44,0,1,0,59,0,17,0,38,0 50,0,40,0,26,0,47,0,12,0,34,0 35,0,33,0,46,0,20,0,29,0,49,0 56,0,25,0,21,0,39,0,13,0,18,0 60,0,32,0,10,0,45,0,57,0,42,0 27,0,22,0,5,0,7,0,43,0,19,0 54,0,37,0,41,0,1,0,28,0,8,0 9,0,29,0,34,0,2,0,52,0,15,0 3,0,59,0,33,0,23,0,30,0,38,0 44,0,17,0,46,0,26,0,58,0,47,0 12,0,49,0,6,0,11,0,48,0,14,0 50,0,24,0,53,0,40,0,35,0,31,0 4,0,55,0,36,0,16,0,20,0,51,0 54,0,52,0,19,0,33,0,41,0,39,0 46,0,21,0,8,0,3,0,45,0,60,0 12,0,17,0,26,0,43,0,10,0,25,0 28,0,59,0,32,0,9,0,2,0,24,0 50,0,22,0,23,0,57,0,1,0,29,0 42,0,6,0,35,0,55,0,56,0,38,0 11,0,30,0,58,0,51,0,4,0,44,0 48,0,16,0,27,0,18,0,47,0,53,0 14,0,36,0,13,0,34,0,40,0,15,0 20,0,7,0,5,0,31,0,37,0,49,0 54,0,22,0,56,0,10,0,2,0,46,0 29,0,17,0,43,0,51,0,11,0,3,0 24,0,60,0,19,0,26,0,55,0,30,0 12,0,41,0,25,0,21,0,4,0,53,0 1,0,18,0,27,0,32,0,34,0,36,0 59,0,50,0,8,0,14,0,5,0,16,0 37,0,58,0,40,0,35,0,9,0,23,0 38,0,48,0,44,0,57,0,15,0,49,0 20,0,45,0,33,0,13,0,52,0,6,0 39,0,42,0,47,0,31,0,7,0,28,0 5,0,21,0,55,0,29,0,36,0,26,0 50,0,37,0,2,0,43,0,18,0,30,0 44,0,3,0,40,0,41,0,56,0,32,0 34,0,27,0,6,0,22,0,60,0,17,0 31,0,13,0,20,0,9,0,10,0,4,0 19,0,46,0,39,0,38,0,35,0,12,0 53,0,11,0,8,0,57,0,52,0,28,0 54,0,45,0,49,0,16,0,58,0,59,0 25,0,47,0,23,0,15,0,7,0,14,0 33,0,51,0,42,0,48,0,1,0,24,0 ================================================ FILE: schedules/60_14.csv ================================================ 24,0,2,0,14,0,50,0,6,0,3,0 58,0,27,0,10,0,31,0,12,0,54,0 51,0,34,0,18,0,49,0,16,0,56,0 52,0,11,0,39,0,28,0,1,0,57,0 36,0,41,0,47,0,29,0,19,0,13,0 42,0,23,0,35,0,22,0,53,0,48,0 43,0,55,0,37,0,38,0,17,0,25,0 15,0,60,0,4,0,8,0,21,0,7,0 45,0,26,0,44,0,59,0,30,0,33,0 40,0,9,0,32,0,46,0,5,0,20,0 12,0,51,0,35,0,11,0,47,0,54,0 52,0,10,0,53,0,16,0,50,0,38,0 27,0,29,0,34,0,8,0,28,0,17,0 3,0,33,0,31,0,59,0,41,0,13,0 37,0,23,0,5,0,15,0,43,0,49,0 26,0,46,0,40,0,25,0,22,0,2,0 45,0,18,0,32,0,48,0,1,0,42,0 36,0,39,0,19,0,57,0,14,0,4,0 60,0,30,0,56,0,6,0,9,0,20,0 58,0,24,0,7,0,55,0,21,0,44,0 28,0,31,0,50,0,51,0,16,0,26,0 12,0,52,0,43,0,53,0,15,0,42,0 47,0,29,0,14,0,18,0,36,0,25,0 54,0,34,0,1,0,3,0,60,0,13,0 7,0,4,0,41,0,46,0,22,0,30,0 55,0,49,0,24,0,45,0,27,0,39,0 17,0,10,0,32,0,8,0,35,0,6,0 21,0,2,0,5,0,59,0,23,0,19,0 44,0,9,0,38,0,11,0,40,0,48,0 37,0,57,0,58,0,56,0,33,0,20,0 34,0,15,0,31,0,52,0,36,0,30,0 4,0,47,0,32,0,26,0,10,0,24,0 50,0,5,0,54,0,17,0,18,0,42,0 41,0,23,0,25,0,45,0,60,0,59,0 2,0,49,0,8,0,58,0,33,0,55,0 12,0,28,0,48,0,19,0,57,0,20,0 29,0,1,0,6,0,37,0,40,0,22,0 9,0,51,0,3,0,14,0,44,0,53,0 21,0,27,0,46,0,43,0,16,0,11,0 56,0,13,0,38,0,7,0,35,0,39,0 58,0,42,0,8,0,19,0,28,0,54,0 26,0,48,0,55,0,12,0,34,0,37,0 59,0,14,0,31,0,60,0,24,0,23,0 25,0,30,0,11,0,18,0,10,0,3,0 1,0,33,0,4,0,56,0,27,0,35,0 50,0,7,0,43,0,40,0,39,0,41,0 15,0,51,0,57,0,38,0,32,0,6,0 16,0,13,0,47,0,22,0,9,0,5,0 20,0,52,0,45,0,21,0,49,0,17,0 46,0,53,0,2,0,29,0,44,0,36,0 19,0,50,0,25,0,7,0,30,0,1,0 12,0,38,0,27,0,14,0,23,0,51,0 13,0,43,0,6,0,18,0,58,0,11,0 55,0,39,0,17,0,48,0,57,0,3,0 2,0,15,0,20,0,53,0,47,0,34,0 41,0,54,0,42,0,56,0,40,0,4,0 31,0,32,0,29,0,9,0,21,0,45,0 46,0,35,0,52,0,59,0,8,0,26,0 5,0,36,0,24,0,37,0,16,0,33,0 60,0,49,0,44,0,28,0,22,0,10,0 40,0,38,0,57,0,27,0,53,0,13,0 31,0,6,0,11,0,55,0,25,0,4,0 58,0,54,0,48,0,52,0,7,0,14,0 29,0,35,0,2,0,15,0,45,0,5,0 42,0,47,0,43,0,3,0,49,0,30,0 59,0,36,0,1,0,20,0,10,0,8,0 16,0,60,0,21,0,19,0,37,0,17,0 39,0,28,0,9,0,26,0,18,0,33,0 41,0,34,0,22,0,24,0,32,0,51,0 56,0,46,0,50,0,44,0,23,0,12,0 49,0,42,0,40,0,31,0,57,0,8,0 30,0,47,0,6,0,16,0,1,0,55,0 27,0,60,0,28,0,48,0,36,0,35,0 45,0,2,0,19,0,38,0,7,0,51,0 56,0,11,0,41,0,15,0,29,0,10,0 25,0,58,0,46,0,34,0,5,0,39,0 4,0,20,0,21,0,3,0,14,0,43,0 44,0,37,0,59,0,32,0,54,0,53,0 22,0,26,0,12,0,24,0,18,0,13,0 33,0,9,0,23,0,52,0,50,0,17,0 56,0,8,0,39,0,5,0,47,0,60,0 10,0,11,0,55,0,20,0,14,0,42,0 48,0,27,0,16,0,41,0,15,0,32,0 24,0,38,0,35,0,58,0,40,0,29,0 18,0,50,0,57,0,46,0,31,0,45,0 19,0,22,0,44,0,34,0,59,0,43,0 30,0,13,0,17,0,2,0,52,0,37,0 4,0,6,0,12,0,49,0,9,0,1,0 21,0,51,0,53,0,33,0,25,0,28,0 3,0,7,0,54,0,26,0,36,0,23,0 59,0,57,0,47,0,34,0,58,0,50,0 35,0,14,0,45,0,37,0,13,0,46,0 16,0,4,0,18,0,2,0,60,0,38,0 19,0,11,0,51,0,40,0,52,0,8,0 25,0,3,0,42,0,15,0,27,0,9,0 1,0,23,0,17,0,41,0,44,0,24,0 20,0,29,0,12,0,31,0,26,0,39,0 36,0,22,0,55,0,56,0,32,0,21,0 48,0,7,0,10,0,43,0,33,0,5,0 30,0,53,0,28,0,49,0,54,0,6,0 11,0,17,0,57,0,58,0,23,0,47,0 59,0,51,0,39,0,42,0,37,0,29,0 36,0,16,0,3,0,12,0,45,0,40,0 20,0,44,0,25,0,52,0,13,0,4,0 5,0,7,0,27,0,6,0,18,0,53,0 38,0,8,0,22,0,30,0,48,0,31,0 15,0,33,0,24,0,46,0,54,0,60,0 9,0,34,0,55,0,50,0,21,0,35,0 26,0,32,0,49,0,41,0,14,0,19,0 56,0,10,0,1,0,28,0,2,0,43,0 37,0,27,0,31,0,44,0,47,0,7,0 23,0,16,0,8,0,29,0,25,0,39,0 33,0,54,0,22,0,20,0,34,0,38,0 59,0,50,0,48,0,11,0,49,0,4,0 13,0,21,0,57,0,30,0,51,0,10,0 26,0,58,0,6,0,36,0,43,0,45,0 12,0,53,0,5,0,41,0,55,0,60,0 15,0,14,0,18,0,17,0,35,0,40,0 24,0,1,0,19,0,9,0,42,0,46,0 52,0,56,0,28,0,2,0,3,0,32,0 20,0,22,0,39,0,27,0,44,0,50,0 29,0,23,0,45,0,10,0,34,0,4,0 53,0,60,0,26,0,58,0,17,0,51,0 14,0,46,0,33,0,1,0,31,0,47,0 43,0,41,0,9,0,57,0,54,0,2,0 52,0,19,0,48,0,6,0,56,0,24,0 15,0,13,0,40,0,28,0,55,0,59,0 30,0,5,0,42,0,38,0,36,0,11,0 37,0,18,0,8,0,21,0,12,0,3,0 49,0,7,0,25,0,35,0,32,0,16,0 54,0,43,0,44,0,57,0,29,0,60,0 53,0,17,0,45,0,56,0,14,0,22,0 2,0,34,0,33,0,11,0,42,0,27,0 40,0,6,0,21,0,39,0,48,0,47,0 5,0,16,0,58,0,1,0,15,0,26,0 18,0,55,0,20,0,52,0,51,0,41,0 32,0,13,0,8,0,30,0,50,0,23,0 9,0,25,0,59,0,12,0,7,0,36,0 28,0,49,0,38,0,4,0,46,0,24,0 35,0,3,0,37,0,19,0,10,0,31,0 ================================================ FILE: schedules/60_2.csv ================================================ 27,0,56,0,23,0,25,0,2,0,24,0 15,0,58,0,9,0,20,0,18,0,6,0 41,0,37,0,59,0,5,0,46,0,51,0 43,0,55,0,26,0,11,0,35,0,10,0 49,0,57,0,4,0,47,0,52,0,7,0 54,0,19,0,1,0,14,0,33,0,53,0 13,0,45,0,12,0,3,0,30,0,8,0 21,0,22,0,16,0,60,0,17,0,44,0 40,0,28,0,31,0,42,0,29,0,38,0 39,0,32,0,50,0,34,0,36,0,48,0 53,0,51,0,35,0,18,0,47,0,23,0 46,0,14,0,20,0,45,0,26,0,49,0 16,0,7,0,27,0,3,0,19,0,15,0 5,0,8,0,21,0,54,0,29,0,58,0 38,0,1,0,6,0,44,0,39,0,12,0 2,0,37,0,43,0,13,0,4,0,50,0 36,0,42,0,56,0,55,0,41,0,22,0 60,0,48,0,24,0,30,0,57,0,40,0 34,0,17,0,10,0,9,0,31,0,59,0 28,0,33,0,52,0,25,0,32,0,11,0 ================================================ FILE: schedules/60_3.csv ================================================ 32,0,1,0,35,0,41,0,2,0,60,0 27,0,23,0,58,0,55,0,37,0,4,0 11,0,21,0,48,0,40,0,17,0,19,0 30,0,46,0,7,0,57,0,5,0,18,0 44,0,12,0,50,0,52,0,28,0,38,0 22,0,24,0,39,0,15,0,8,0,13,0 31,0,36,0,45,0,51,0,16,0,43,0 9,0,47,0,29,0,54,0,25,0,10,0 26,0,56,0,20,0,59,0,33,0,53,0 14,0,42,0,34,0,49,0,3,0,6,0 60,0,19,0,37,0,50,0,24,0,46,0 18,0,48,0,55,0,1,0,45,0,22,0 13,0,5,0,52,0,27,0,40,0,35,0 26,0,15,0,16,0,57,0,2,0,10,0 3,0,29,0,59,0,28,0,23,0,36,0 31,0,6,0,54,0,41,0,7,0,39,0 53,0,49,0,9,0,8,0,32,0,12,0 56,0,14,0,4,0,43,0,17,0,44,0 38,0,30,0,11,0,42,0,20,0,47,0 51,0,33,0,21,0,34,0,25,0,58,0 45,0,23,0,40,0,6,0,46,0,15,0 37,0,12,0,2,0,5,0,22,0,54,0 8,0,28,0,10,0,48,0,27,0,60,0 47,0,1,0,16,0,49,0,44,0,59,0 18,0,33,0,32,0,4,0,29,0,42,0 57,0,31,0,13,0,50,0,14,0,21,0 39,0,34,0,55,0,36,0,19,0,20,0 25,0,43,0,52,0,7,0,11,0,26,0 3,0,51,0,38,0,56,0,35,0,9,0 58,0,41,0,17,0,24,0,53,0,30,0 ================================================ FILE: schedules/60_4.csv ================================================ 1,0,52,0,3,0,39,0,4,0,29,0 13,0,20,0,45,0,38,0,50,0,60,0 15,0,35,0,54,0,46,0,36,0,28,0 34,0,9,0,18,0,41,0,57,0,43,0 6,0,32,0,42,0,12,0,37,0,40,0 24,0,11,0,7,0,56,0,49,0,23,0 59,0,58,0,44,0,48,0,2,0,31,0 30,0,22,0,25,0,47,0,33,0,21,0 27,0,53,0,19,0,51,0,5,0,17,0 26,0,8,0,14,0,10,0,16,0,55,0 38,0,40,0,36,0,56,0,34,0,4,0 52,0,6,0,45,0,54,0,59,0,43,0 12,0,35,0,25,0,58,0,60,0,18,0 23,0,57,0,42,0,28,0,53,0,3,0 5,0,7,0,16,0,30,0,31,0,29,0 13,0,22,0,17,0,32,0,11,0,14,0 27,0,49,0,37,0,10,0,9,0,47,0 24,0,26,0,46,0,2,0,39,0,33,0 21,0,50,0,8,0,44,0,19,0,15,0 55,0,1,0,41,0,48,0,20,0,51,0 43,0,5,0,3,0,35,0,40,0,13,0 42,0,60,0,4,0,27,0,7,0,59,0 53,0,58,0,36,0,14,0,24,0,30,0 57,0,44,0,33,0,16,0,11,0,45,0 31,0,49,0,38,0,39,0,41,0,6,0 55,0,15,0,29,0,37,0,25,0,17,0 21,0,9,0,28,0,26,0,1,0,12,0 2,0,34,0,19,0,10,0,20,0,22,0 46,0,48,0,8,0,56,0,18,0,52,0 51,0,54,0,50,0,32,0,23,0,47,0 4,0,57,0,31,0,35,0,55,0,24,0 17,0,3,0,16,0,58,0,6,0,9,0 14,0,25,0,28,0,49,0,59,0,34,0 30,0,56,0,13,0,1,0,15,0,42,0 2,0,12,0,47,0,45,0,8,0,5,0 22,0,40,0,46,0,7,0,44,0,51,0 43,0,39,0,36,0,32,0,20,0,21,0 11,0,10,0,41,0,50,0,53,0,52,0 33,0,29,0,18,0,27,0,54,0,38,0 48,0,37,0,23,0,19,0,60,0,26,0 ================================================ FILE: schedules/60_5.csv ================================================ 42,0,26,0,18,0,5,0,9,0,53,0 2,0,50,0,3,0,40,0,37,0,47,0 21,0,24,0,23,0,12,0,54,0,41,0 36,0,57,0,35,0,22,0,10,0,52,0 33,0,55,0,6,0,14,0,39,0,4,0 31,0,25,0,46,0,27,0,7,0,32,0 11,0,59,0,44,0,58,0,15,0,60,0 13,0,49,0,16,0,30,0,8,0,19,0 56,0,34,0,28,0,1,0,29,0,38,0 51,0,17,0,20,0,48,0,43,0,45,0 41,0,3,0,35,0,33,0,31,0,9,0 12,0,52,0,46,0,59,0,2,0,6,0 42,0,54,0,30,0,27,0,58,0,50,0 38,0,10,0,7,0,49,0,4,0,18,0 22,0,1,0,14,0,5,0,23,0,20,0 47,0,43,0,15,0,28,0,25,0,39,0 32,0,53,0,34,0,24,0,17,0,19,0 16,0,60,0,21,0,57,0,45,0,29,0 48,0,11,0,36,0,26,0,40,0,8,0 51,0,13,0,37,0,55,0,56,0,44,0 54,0,33,0,15,0,18,0,2,0,1,0 43,0,53,0,14,0,50,0,38,0,46,0 20,0,29,0,19,0,42,0,25,0,35,0 57,0,28,0,49,0,58,0,26,0,41,0 45,0,11,0,23,0,3,0,10,0,56,0 44,0,39,0,34,0,31,0,36,0,21,0 22,0,51,0,9,0,16,0,59,0,32,0 6,0,24,0,7,0,5,0,40,0,13,0 8,0,17,0,37,0,27,0,52,0,4,0 55,0,47,0,12,0,60,0,30,0,48,0 26,0,39,0,19,0,38,0,2,0,23,0 32,0,15,0,35,0,56,0,21,0,14,0 3,0,29,0,6,0,49,0,36,0,54,0 7,0,53,0,33,0,37,0,16,0,11,0 50,0,5,0,52,0,51,0,60,0,25,0 10,0,20,0,27,0,55,0,9,0,28,0 59,0,41,0,18,0,47,0,45,0,13,0 8,0,58,0,43,0,34,0,22,0,12,0 44,0,4,0,46,0,42,0,24,0,48,0 57,0,31,0,40,0,30,0,17,0,1,0 50,0,9,0,29,0,23,0,7,0,15,0 27,0,21,0,26,0,51,0,47,0,6,0 52,0,41,0,38,0,11,0,20,0,32,0 48,0,13,0,2,0,22,0,28,0,53,0 40,0,60,0,54,0,43,0,4,0,35,0 45,0,37,0,1,0,19,0,36,0,12,0 42,0,39,0,56,0,17,0,49,0,59,0 10,0,5,0,30,0,34,0,46,0,33,0 24,0,16,0,58,0,31,0,55,0,18,0 14,0,25,0,44,0,8,0,57,0,3,0 ================================================ FILE: schedules/60_6.csv ================================================ 22,0,11,0,44,0,52,0,55,0,5,0 42,0,46,0,26,0,60,0,17,0,32,0 34,0,33,0,28,0,40,0,57,0,16,0 25,0,59,0,30,0,31,0,14,0,37,0 47,0,21,0,12,0,15,0,9,0,53,0 3,0,1,0,2,0,27,0,20,0,56,0 43,0,13,0,41,0,35,0,54,0,50,0 7,0,6,0,49,0,23,0,38,0,51,0 18,0,36,0,19,0,29,0,24,0,39,0 4,0,10,0,48,0,58,0,45,0,8,0 32,0,11,0,15,0,14,0,30,0,56,0 3,0,37,0,54,0,16,0,47,0,60,0 43,0,27,0,55,0,51,0,12,0,17,0 9,0,38,0,1,0,19,0,57,0,50,0 8,0,21,0,28,0,46,0,13,0,22,0 2,0,5,0,25,0,29,0,58,0,18,0 53,0,52,0,31,0,23,0,4,0,24,0 33,0,20,0,6,0,39,0,48,0,42,0 35,0,26,0,44,0,7,0,45,0,34,0 41,0,36,0,59,0,49,0,10,0,40,0 60,0,13,0,11,0,12,0,25,0,1,0 38,0,28,0,24,0,27,0,15,0,58,0 51,0,2,0,42,0,19,0,37,0,4,0 50,0,23,0,39,0,47,0,26,0,14,0 55,0,7,0,33,0,59,0,46,0,29,0 16,0,36,0,43,0,32,0,22,0,31,0 30,0,52,0,10,0,3,0,35,0,48,0 40,0,8,0,41,0,53,0,44,0,18,0 57,0,49,0,20,0,21,0,45,0,5,0 56,0,6,0,9,0,34,0,54,0,17,0 60,0,14,0,19,0,22,0,33,0,58,0 47,0,42,0,28,0,43,0,7,0,10,0 3,0,13,0,53,0,39,0,51,0,32,0 48,0,46,0,31,0,2,0,12,0,44,0 50,0,25,0,17,0,20,0,36,0,8,0 54,0,59,0,57,0,23,0,18,0,11,0 40,0,27,0,4,0,35,0,9,0,5,0 16,0,29,0,45,0,6,0,41,0,15,0 21,0,26,0,37,0,56,0,38,0,52,0 55,0,34,0,1,0,30,0,49,0,24,0 31,0,58,0,17,0,13,0,57,0,47,0 44,0,23,0,33,0,10,0,27,0,25,0 46,0,5,0,36,0,14,0,3,0,6,0 45,0,22,0,12,0,42,0,18,0,38,0 4,0,35,0,39,0,16,0,49,0,56,0 53,0,30,0,20,0,43,0,19,0,26,0 15,0,60,0,34,0,59,0,52,0,8,0 9,0,55,0,32,0,28,0,41,0,2,0 24,0,48,0,50,0,7,0,37,0,11,0 54,0,51,0,29,0,1,0,40,0,21,0 42,0,30,0,44,0,13,0,23,0,36,0 16,0,5,0,17,0,10,0,53,0,38,0 49,0,18,0,43,0,33,0,9,0,52,0 45,0,31,0,56,0,50,0,60,0,55,0 22,0,24,0,26,0,2,0,59,0,6,0 21,0,32,0,19,0,34,0,27,0,48,0 40,0,15,0,7,0,57,0,25,0,3,0 12,0,14,0,20,0,4,0,54,0,28,0 29,0,35,0,47,0,8,0,11,0,51,0 1,0,58,0,39,0,37,0,41,0,46,0 ================================================ FILE: schedules/60_7.csv ================================================ 34,0,32,0,41,0,54,0,29,0,55,0 40,0,45,0,27,0,20,0,23,0,31,0 19,0,1,0,15,0,39,0,10,0,52,0 8,0,43,0,44,0,22,0,14,0,37,0 24,0,59,0,46,0,13,0,56,0,58,0 42,0,50,0,51,0,6,0,26,0,60,0 9,0,16,0,11,0,17,0,49,0,57,0 48,0,21,0,3,0,53,0,5,0,28,0 18,0,47,0,4,0,2,0,12,0,30,0 25,0,7,0,36,0,38,0,33,0,35,0 56,0,26,0,55,0,15,0,31,0,8,0 6,0,39,0,34,0,16,0,14,0,45,0 32,0,28,0,44,0,46,0,53,0,52,0 57,0,59,0,5,0,20,0,18,0,1,0 35,0,42,0,47,0,54,0,11,0,43,0 24,0,10,0,25,0,9,0,4,0,27,0 13,0,33,0,21,0,49,0,50,0,30,0 22,0,58,0,38,0,19,0,23,0,29,0 37,0,3,0,36,0,17,0,2,0,51,0 40,0,7,0,60,0,12,0,48,0,41,0 55,0,20,0,35,0,39,0,56,0,9,0 32,0,47,0,45,0,13,0,5,0,27,0 10,0,30,0,53,0,58,0,6,0,11,0 18,0,54,0,36,0,19,0,28,0,37,0 22,0,60,0,52,0,34,0,7,0,2,0 23,0,1,0,51,0,21,0,14,0,15,0 41,0,43,0,50,0,25,0,16,0,31,0 8,0,17,0,12,0,38,0,42,0,59,0 24,0,3,0,57,0,40,0,33,0,44,0 29,0,49,0,4,0,26,0,48,0,46,0 10,0,2,0,56,0,54,0,45,0,21,0 13,0,23,0,53,0,18,0,55,0,43,0 30,0,34,0,15,0,28,0,17,0,38,0 50,0,11,0,19,0,24,0,12,0,32,0 59,0,27,0,22,0,48,0,33,0,6,0 5,0,37,0,60,0,46,0,25,0,40,0 31,0,9,0,44,0,36,0,1,0,4,0 7,0,39,0,26,0,47,0,58,0,57,0 35,0,52,0,49,0,14,0,41,0,51,0 29,0,8,0,42,0,20,0,3,0,16,0 45,0,18,0,48,0,24,0,15,0,50,0 38,0,2,0,40,0,11,0,55,0,1,0 31,0,21,0,46,0,9,0,12,0,22,0 54,0,49,0,39,0,44,0,59,0,30,0 57,0,37,0,6,0,35,0,13,0,4,0 27,0,26,0,19,0,34,0,3,0,43,0 29,0,53,0,25,0,47,0,56,0,51,0 52,0,42,0,41,0,5,0,58,0,36,0 16,0,8,0,7,0,23,0,10,0,28,0 17,0,20,0,14,0,32,0,60,0,33,0 43,0,6,0,49,0,1,0,40,0,24,0 48,0,13,0,15,0,2,0,44,0,25,0 22,0,45,0,11,0,36,0,41,0,26,0 21,0,47,0,16,0,55,0,52,0,37,0 4,0,3,0,60,0,59,0,23,0,32,0 9,0,58,0,33,0,18,0,34,0,8,0 5,0,31,0,39,0,53,0,17,0,54,0 28,0,12,0,50,0,27,0,29,0,35,0 14,0,30,0,56,0,42,0,19,0,7,0 10,0,51,0,46,0,57,0,20,0,38,0 58,0,32,0,16,0,40,0,22,0,15,0 34,0,36,0,24,0,59,0,47,0,53,0 37,0,23,0,33,0,39,0,48,0,11,0 43,0,17,0,29,0,21,0,4,0,7,0 35,0,30,0,1,0,60,0,8,0,45,0 27,0,18,0,38,0,56,0,41,0,44,0 14,0,55,0,46,0,10,0,3,0,50,0 2,0,57,0,28,0,42,0,31,0,49,0 20,0,54,0,25,0,12,0,26,0,52,0 51,0,6,0,13,0,5,0,19,0,9,0 ================================================ FILE: schedules/60_8.csv ================================================ 29,0,55,0,14,0,54,0,40,0,23,0 36,0,28,0,56,0,15,0,8,0,9,0 57,0,45,0,39,0,31,0,59,0,51,0 44,0,24,0,35,0,7,0,38,0,10,0 5,0,30,0,52,0,48,0,43,0,20,0 17,0,60,0,47,0,32,0,2,0,34,0 53,0,4,0,19,0,3,0,6,0,27,0 58,0,18,0,42,0,33,0,46,0,50,0 16,0,49,0,26,0,37,0,22,0,21,0 1,0,11,0,13,0,25,0,12,0,41,0 32,0,51,0,43,0,24,0,31,0,14,0 2,0,7,0,6,0,28,0,59,0,38,0 30,0,27,0,15,0,46,0,60,0,55,0 58,0,17,0,20,0,21,0,36,0,39,0 11,0,57,0,8,0,37,0,44,0,48,0 25,0,34,0,35,0,16,0,45,0,18,0 47,0,23,0,52,0,1,0,33,0,19,0 29,0,49,0,4,0,13,0,12,0,53,0 56,0,41,0,54,0,5,0,50,0,22,0 10,0,9,0,26,0,3,0,42,0,40,0 21,0,32,0,31,0,25,0,8,0,6,0 7,0,55,0,37,0,43,0,36,0,1,0 16,0,28,0,2,0,57,0,58,0,52,0 53,0,47,0,45,0,24,0,13,0,56,0 44,0,14,0,3,0,49,0,22,0,33,0 39,0,40,0,38,0,15,0,23,0,18,0 20,0,19,0,42,0,54,0,59,0,11,0 27,0,60,0,10,0,50,0,9,0,29,0 12,0,26,0,46,0,35,0,17,0,5,0 4,0,34,0,41,0,48,0,30,0,51,0 57,0,53,0,32,0,22,0,43,0,15,0 8,0,1,0,24,0,49,0,54,0,20,0 31,0,19,0,50,0,2,0,36,0,13,0 21,0,42,0,35,0,14,0,47,0,5,0 33,0,26,0,55,0,45,0,41,0,38,0 58,0,30,0,16,0,6,0,44,0,29,0 34,0,48,0,40,0,12,0,27,0,59,0 17,0,18,0,10,0,11,0,4,0,28,0 56,0,51,0,3,0,7,0,23,0,60,0 37,0,52,0,39,0,25,0,9,0,46,0 47,0,50,0,21,0,29,0,38,0,57,0 22,0,40,0,32,0,58,0,1,0,35,0 36,0,27,0,5,0,24,0,11,0,16,0 17,0,42,0,15,0,51,0,19,0,49,0 14,0,20,0,46,0,3,0,28,0,34,0 18,0,7,0,8,0,26,0,52,0,13,0 43,0,59,0,25,0,56,0,33,0,4,0 2,0,53,0,39,0,10,0,48,0,55,0 9,0,23,0,12,0,30,0,31,0,41,0 60,0,44,0,45,0,37,0,6,0,54,0 3,0,29,0,5,0,32,0,18,0,36,0 16,0,15,0,4,0,14,0,7,0,50,0 8,0,39,0,22,0,42,0,34,0,24,0 33,0,13,0,21,0,28,0,30,0,40,0 51,0,54,0,12,0,47,0,37,0,10,0 49,0,9,0,6,0,57,0,55,0,20,0 46,0,23,0,2,0,11,0,45,0,43,0 1,0,27,0,31,0,35,0,26,0,56,0 59,0,44,0,41,0,17,0,53,0,52,0 25,0,48,0,38,0,58,0,60,0,19,0 9,0,55,0,22,0,18,0,4,0,47,0 57,0,54,0,33,0,7,0,46,0,36,0 15,0,24,0,3,0,21,0,12,0,2,0 40,0,17,0,51,0,52,0,56,0,6,0 19,0,41,0,43,0,10,0,8,0,16,0 31,0,5,0,38,0,37,0,53,0,34,0 25,0,27,0,32,0,23,0,20,0,44,0 45,0,29,0,48,0,42,0,28,0,1,0 49,0,35,0,50,0,30,0,11,0,39,0 60,0,14,0,13,0,26,0,58,0,59,0 33,0,9,0,18,0,53,0,51,0,16,0 34,0,44,0,56,0,19,0,55,0,21,0 12,0,36,0,4,0,42,0,38,0,52,0 28,0,54,0,47,0,27,0,43,0,39,0 30,0,1,0,25,0,57,0,17,0,14,0 2,0,37,0,41,0,20,0,35,0,29,0 26,0,6,0,48,0,24,0,23,0,50,0 49,0,59,0,13,0,46,0,32,0,10,0 7,0,22,0,11,0,60,0,31,0,40,0 8,0,3,0,58,0,15,0,45,0,5,0 ================================================ FILE: schedules/60_9.csv ================================================ 20,0,31,0,43,0,51,0,1,0,27,0 53,0,2,0,45,0,15,0,49,0,5,0 4,0,18,0,47,0,42,0,6,0,40,0 60,0,24,0,38,0,46,0,41,0,10,0 34,0,57,0,32,0,44,0,25,0,55,0 16,0,35,0,3,0,59,0,26,0,29,0 37,0,33,0,7,0,28,0,19,0,39,0 22,0,52,0,54,0,58,0,56,0,12,0 17,0,14,0,48,0,21,0,9,0,50,0 11,0,30,0,23,0,13,0,8,0,36,0 2,0,42,0,10,0,20,0,45,0,32,0 39,0,25,0,5,0,4,0,31,0,35,0 44,0,46,0,43,0,56,0,18,0,53,0 24,0,7,0,58,0,9,0,48,0,26,0 27,0,29,0,50,0,19,0,52,0,11,0 59,0,13,0,34,0,60,0,37,0,22,0 38,0,49,0,6,0,28,0,8,0,3,0 54,0,23,0,33,0,1,0,14,0,16,0 21,0,51,0,15,0,57,0,30,0,47,0 36,0,55,0,17,0,12,0,40,0,41,0 4,0,37,0,29,0,20,0,46,0,24,0 44,0,60,0,26,0,8,0,31,0,2,0 16,0,9,0,25,0,43,0,28,0,38,0 1,0,45,0,30,0,7,0,59,0,6,0 41,0,49,0,57,0,50,0,13,0,33,0 5,0,47,0,21,0,34,0,54,0,36,0 19,0,17,0,56,0,35,0,15,0,11,0 22,0,3,0,12,0,40,0,27,0,10,0 42,0,32,0,48,0,52,0,23,0,51,0 39,0,55,0,18,0,14,0,53,0,58,0 44,0,13,0,54,0,28,0,7,0,29,0 57,0,8,0,1,0,37,0,5,0,35,0 56,0,45,0,9,0,19,0,41,0,3,0 11,0,47,0,32,0,24,0,12,0,43,0 26,0,15,0,20,0,59,0,14,0,18,0 46,0,51,0,17,0,22,0,2,0,16,0 40,0,48,0,50,0,34,0,39,0,38,0 10,0,31,0,6,0,36,0,58,0,23,0 30,0,60,0,27,0,55,0,4,0,49,0 52,0,53,0,42,0,21,0,25,0,33,0 44,0,51,0,47,0,9,0,3,0,14,0 43,0,7,0,8,0,15,0,46,0,34,0 58,0,2,0,19,0,1,0,40,0,24,0 22,0,35,0,18,0,49,0,32,0,30,0 12,0,28,0,42,0,60,0,5,0,29,0 20,0,23,0,53,0,38,0,57,0,17,0 55,0,31,0,21,0,33,0,11,0,45,0 50,0,16,0,59,0,10,0,25,0,36,0 39,0,13,0,4,0,26,0,52,0,56,0 41,0,48,0,37,0,54,0,27,0,6,0 17,0,58,0,5,0,29,0,30,0,44,0 38,0,53,0,40,0,31,0,7,0,32,0 43,0,19,0,59,0,57,0,55,0,42,0 36,0,14,0,28,0,46,0,52,0,35,0 1,0,56,0,20,0,60,0,47,0,49,0 23,0,37,0,26,0,50,0,12,0,45,0 8,0,33,0,10,0,18,0,48,0,51,0 15,0,25,0,24,0,27,0,13,0,3,0 21,0,22,0,39,0,16,0,41,0,6,0 34,0,4,0,9,0,11,0,54,0,2,0 55,0,59,0,37,0,52,0,38,0,47,0 20,0,8,0,5,0,40,0,19,0,32,0 7,0,30,0,56,0,24,0,14,0,57,0 46,0,39,0,27,0,21,0,44,0,23,0 2,0,41,0,50,0,28,0,31,0,18,0 29,0,45,0,25,0,51,0,36,0,22,0 33,0,35,0,6,0,9,0,15,0,60,0 54,0,49,0,43,0,26,0,17,0,10,0 11,0,34,0,42,0,1,0,58,0,3,0 53,0,13,0,12,0,48,0,4,0,16,0 40,0,23,0,59,0,28,0,56,0,51,0 15,0,22,0,44,0,50,0,55,0,20,0 18,0,27,0,38,0,54,0,5,0,45,0 3,0,30,0,36,0,43,0,33,0,2,0 24,0,52,0,31,0,17,0,34,0,16,0 11,0,60,0,6,0,57,0,53,0,26,0 46,0,49,0,19,0,12,0,25,0,48,0 29,0,10,0,13,0,9,0,1,0,39,0 35,0,8,0,41,0,47,0,42,0,7,0 14,0,21,0,4,0,58,0,37,0,32,0 51,0,53,0,6,0,54,0,24,0,50,0 55,0,3,0,15,0,48,0,23,0,5,0 30,0,26,0,28,0,19,0,34,0,10,0 57,0,9,0,31,0,22,0,42,0,46,0 29,0,18,0,2,0,37,0,56,0,21,0 36,0,38,0,41,0,4,0,1,0,44,0 14,0,35,0,40,0,45,0,43,0,13,0 60,0,25,0,32,0,47,0,17,0,39,0 16,0,52,0,7,0,20,0,49,0,11,0 12,0,33,0,27,0,59,0,58,0,8,0 ================================================ FILE: schedules/61_1.csv ================================================ 41,0,31,0,26,0,18,0,57,0,37,0 32,0,11,0,3,0,16,0,5,0,51,0 46,0,44,0,23,0,14,0,47,0,2,0 13,0,36,0,4,0,9,0,20,0,21,0 10,0,56,0,38,0,27,0,22,0,12,0 24,0,42,0,53,0,28,0,52,0,7,0 45,0,8,0,49,0,61,0,39,0,48,0 29,0,43,0,15,0,6,0,55,0,35,0 1,0,60,0,54,0,33,0,19,0,30,0 50,0,40,0,34,0,25,0,58,0,17,0 59,0,12,1,10,1,23,1,52,1,21,1 ================================================ FILE: schedules/61_10.csv ================================================ 3,0,57,0,40,0,41,0,22,0,29,0 25,0,18,0,21,0,60,0,49,0,15,0 54,0,56,0,4,0,9,0,36,0,61,0 2,0,33,0,47,0,37,0,32,0,13,0 5,0,7,0,38,0,8,0,46,0,48,0 6,0,31,0,50,0,27,0,34,0,39,0 26,0,45,0,20,0,16,0,53,0,58,0 42,0,1,0,12,0,30,0,23,0,44,0 24,0,19,0,52,0,11,0,14,0,51,0 10,0,43,0,59,0,17,0,28,0,55,0 35,0,31,0,40,0,5,0,47,0,25,0 16,0,34,0,49,0,9,0,3,0,13,0 54,0,58,0,38,0,15,0,2,0,44,0 42,0,60,0,7,0,57,0,33,0,24,0 11,0,32,0,39,0,26,0,17,0,41,0 61,0,8,0,45,0,22,0,35,0,6,0 52,0,59,0,21,0,1,0,53,0,37,0 10,0,12,0,55,0,48,0,19,0,36,0 50,0,43,0,29,0,46,0,51,0,56,0 23,0,14,0,28,0,4,0,27,0,20,0 30,0,32,0,5,0,18,0,16,0,3,0 61,1,59,0,49,0,47,1,58,0,31,0 53,0,35,0,36,0,11,0,42,0,15,0 43,0,38,0,9,0,12,0,52,0,57,0 20,0,28,0,48,0,19,0,13,0,56,0 33,0,30,0,41,0,55,0,8,0,29,0 1,0,25,0,2,0,50,0,27,0,14,0 60,0,51,0,23,0,17,0,34,0,40,0 22,0,46,0,44,0,26,0,6,0,24,0 18,0,10,0,54,0,37,0,4,0,45,0 39,0,21,0,28,0,7,0,30,0,29,0 49,0,8,0,11,0,47,0,56,0,42,0 2,0,31,0,57,0,48,0,52,0,16,0 9,0,40,0,5,0,17,0,6,0,1,0 22,0,4,0,32,0,25,0,12,0,34,0 53,0,61,0,41,0,58,0,7,0,10,0 44,0,33,0,39,0,51,0,18,0,20,0 24,0,50,0,60,0,59,0,36,0,38,0 46,0,27,0,13,0,23,0,45,0,19,0 3,0,35,0,14,0,54,0,21,0,55,0 15,0,37,0,7,0,26,0,43,0,34,0 20,0,57,0,44,0,47,0,49,0,4,0 60,0,58,0,6,0,50,0,53,0,30,0 33,0,1,0,11,0,46,0,12,0,16,0 56,0,31,0,21,0,32,0,23,0,10,0 29,0,26,0,15,0,48,0,59,0,14,0 37,0,25,0,17,0,3,0,24,0,45,0 52,0,27,0,8,0,54,0,39,0,40,0 13,0,51,0,42,0,38,0,55,0,61,0 36,0,28,0,41,0,22,0,5,0,2,0 43,0,35,0,19,0,9,0,18,0,50,0 46,0,20,0,14,0,30,0,60,0,37,0 56,0,39,0,59,0,45,0,33,0,34,0 53,0,26,0,55,0,8,0,31,0,17,0 3,0,1,0,48,0,51,0,58,0,4,0 13,0,5,0,11,0,10,0,15,0,22,0 32,0,54,0,19,0,49,0,43,0,57,0 23,0,27,0,16,0,35,0,38,0,29,0 52,0,7,0,36,0,44,0,47,0,18,0 12,0,21,0,40,0,2,0,24,0,61,0 6,0,9,0,28,0,42,0,41,0,25,0 10,0,34,0,53,0,14,0,57,0,39,0 50,0,48,0,49,0,22,0,33,0,23,0 58,0,37,0,27,0,32,0,36,0,55,0 3,0,29,0,56,0,52,0,26,0,60,0 7,0,41,0,54,0,1,0,20,0,13,0 6,0,19,0,47,0,38,0,21,0,17,0 15,0,8,0,18,0,28,0,31,0,12,0 25,0,61,0,43,0,44,0,5,0,16,0 2,0,51,0,30,0,45,0,11,0,9,0 46,0,4,0,40,0,42,0,35,0,59,0 10,0,6,0,52,0,24,0,32,0,20,0 55,0,18,0,49,0,26,0,38,0,1,0 8,0,28,0,44,0,3,0,23,0,50,0 29,0,37,0,14,0,7,0,9,0,31,0 13,0,57,0,36,0,46,0,30,0,25,0 5,0,4,0,24,0,56,0,53,0,2,0 19,0,42,0,16,0,34,0,59,0,54,0 40,0,11,0,22,0,43,0,21,0,58,0 61,0,27,0,17,0,15,0,48,0,33,0 51,0,45,0,12,0,47,0,41,0,60,0 39,0,26,0,30,0,35,0,2,0,4,0 8,0,34,0,38,0,10,0,25,0,20,0 53,0,44,0,32,0,29,0,13,0,40,0 23,0,18,0,37,0,61,0,11,0,57,0 31,0,43,0,3,0,33,0,6,0,36,0 14,0,17,0,56,0,58,0,35,0,12,0 48,0,24,0,47,0,54,0,1,0,28,0 9,0,19,0,15,0,22,0,39,0,60,0 41,0,59,0,46,0,27,0,21,0,49,0 42,0,55,0,45,0,50,0,5,0,52,0 51,0,16,0,6,0,7,0,12,0,4,0 11,0,54,0,53,0,38,0,33,0,28,0 15,0,47,0,23,0,30,0,10,0,9,0 58,0,24,0,13,0,39,0,8,0,43,0 1,0,61,0,31,0,19,0,3,0,60,0 22,0,25,0,56,0,7,0,59,0,55,0 26,0,57,0,21,0,27,0,5,0,51,0 16,0,45,0,14,0,49,0,36,0,40,0 20,0,17,0,29,0,18,0,2,0,42,0 34,0,37,0,35,0,41,0,48,0,44,0 50,0,46,0,61,0,32,0,52,0,47,0 ================================================ FILE: schedules/61_11.csv ================================================ 5,0,22,0,51,0,56,0,48,0,20,0 30,0,36,0,14,0,9,0,11,0,27,0 49,0,6,0,32,0,45,0,40,0,29,0 59,0,42,0,38,0,13,0,58,0,25,0 17,0,54,0,31,0,34,0,3,0,44,0 2,0,46,0,23,0,57,0,4,0,35,0 47,0,26,0,21,0,24,0,41,0,7,0 33,0,28,0,50,0,10,0,18,0,12,0 8,0,55,0,43,0,15,0,37,0,61,0 16,0,53,0,19,0,52,0,1,0,39,0 60,0,46,0,34,0,42,0,5,0,30,0 22,0,47,0,6,0,58,0,21,0,36,0 23,0,24,0,20,0,50,0,41,0,29,0 15,0,2,0,12,0,32,0,3,0,10,0 37,0,25,0,14,0,44,0,18,0,16,0 49,0,31,0,56,0,38,0,53,0,9,0 55,0,57,0,54,0,40,0,52,0,13,0 8,0,7,0,51,0,4,0,17,0,33,0 61,0,19,0,39,0,60,0,45,0,11,0 48,0,27,0,28,0,1,0,35,0,59,0 43,0,44,0,6,0,26,0,14,0,3,0 56,0,30,0,32,0,52,1,57,0,25,0 54,0,34,0,58,0,16,0,10,0,51,0 5,0,50,0,21,0,53,0,61,0,31,0 15,0,41,0,46,0,7,0,11,0,48,0 59,0,20,0,27,0,60,0,36,0,55,0 4,0,8,0,40,0,47,0,24,0,39,0 33,0,35,0,22,0,17,0,19,0,43,0 9,0,37,0,42,0,12,0,13,0,23,0 45,0,49,0,26,0,2,0,28,0,1,0 38,0,18,0,58,0,29,0,7,0,27,0 55,0,16,0,31,0,24,0,36,0,46,0 17,0,6,0,14,0,57,0,48,0,41,0 51,0,35,0,53,0,40,0,37,0,59,0 43,0,60,0,5,0,8,0,12,0,1,0 50,0,19,0,23,0,15,0,38,0,30,0 42,0,22,0,25,0,47,0,10,0,49,0 45,0,13,0,18,0,44,0,20,0,11,0 61,0,56,0,29,0,34,0,4,0,28,0 9,0,2,0,26,0,33,0,54,0,39,0 21,0,3,0,35,0,32,0,52,0,60,0 10,0,43,0,40,0,36,0,48,0,38,0 45,0,51,0,17,0,31,0,30,0,47,0 20,0,41,0,28,0,15,0,8,0,44,0 18,0,42,0,6,0,2,0,61,0,54,0 23,0,33,0,5,0,59,0,11,0,52,0 27,0,57,0,37,0,19,0,24,0,22,0 13,0,32,0,34,0,7,0,53,0,46,0 26,0,55,0,12,0,58,0,29,0,49,0 3,0,25,0,50,0,39,0,9,0,21,0 16,0,14,0,1,0,56,0,4,0,51,0 47,0,2,0,11,0,43,0,54,0,27,0 38,0,24,0,17,0,53,0,20,0,60,0 58,0,45,0,32,0,8,0,23,0,36,0 29,0,30,0,6,0,37,0,35,0,31,0 34,0,1,0,15,0,9,0,25,0,33,0 39,0,7,0,4,0,52,0,22,0,28,0 44,0,14,0,59,0,61,0,12,0,46,0 19,0,56,0,55,0,3,0,42,0,41,0 21,0,10,0,57,0,49,0,5,0,18,0 48,0,16,0,40,0,13,0,50,0,26,0 36,0,4,0,54,0,25,0,53,0,30,0 33,0,52,0,46,0,38,0,45,0,6,0 51,0,9,0,60,0,32,0,29,0,22,0 21,0,1,0,11,0,37,0,2,0,58,0 15,0,3,0,28,0,5,0,24,0,13,0 27,0,16,0,49,0,43,0,23,0,41,0 56,0,7,0,17,0,50,0,40,0,61,0 10,0,14,0,35,0,20,0,39,0,55,0 59,0,31,0,57,0,42,0,26,0,8,0 12,0,47,0,48,0,18,0,34,0,19,0 44,0,9,0,32,0,5,0,27,0,6,0 36,0,29,0,52,0,2,0,17,0,41,0 56,0,39,0,45,0,15,0,43,0,21,0 30,0,13,0,61,0,33,0,26,0,58,0 19,0,20,0,12,0,25,0,31,0,46,0 40,0,24,0,28,0,14,0,42,0,34,0 4,0,60,0,48,0,49,0,37,0,54,0 57,0,11,0,3,0,59,0,16,0,7,0 53,0,23,0,55,0,18,0,51,0,47,0 38,0,50,0,8,0,1,0,44,0,22,0 10,0,24,0,9,0,35,0,19,0,45,0 56,0,5,0,37,0,17,0,39,0,58,0 4,0,20,0,21,0,34,0,57,0,43,0 23,0,25,0,18,0,26,0,60,0,40,0 44,0,7,0,38,0,51,0,2,0,55,0 48,0,52,0,10,0,8,0,61,0,3,0 49,0,15,0,33,0,31,0,14,0,27,0 13,0,1,0,42,0,35,0,36,0,6,0 46,0,59,0,29,0,22,0,54,0,50,0 41,0,11,0,30,0,12,0,53,0,28,0 32,0,16,0,61,0,47,0,38,0,20,0 48,0,33,0,44,0,56,0,21,0,23,0 27,0,52,0,26,0,37,0,34,0,10,0 2,0,29,0,8,0,19,0,14,0,13,0 45,0,5,0,7,0,25,0,35,0,54,0 41,0,31,0,40,0,60,0,58,0,1,0 4,0,42,0,11,0,32,0,17,0,50,0 53,0,15,0,22,0,6,0,16,0,12,0 24,0,43,0,18,0,59,0,9,0,30,0 36,0,3,0,39,0,51,0,49,0,46,0 28,0,57,0,60,0,55,0,47,0,33,0 1,0,31,0,10,0,23,0,32,0,7,0 8,0,54,0,13,0,12,0,27,0,56,0 38,0,41,0,37,0,34,0,45,0,59,0 24,0,11,0,25,0,52,0,6,0,51,0 40,0,20,0,22,0,2,0,3,0,30,0 18,0,36,0,26,0,5,0,4,0,19,0 16,0,17,0,46,0,21,0,28,0,55,0 57,0,61,0,47,0,35,0,9,0,15,0 44,0,53,0,39,0,48,0,29,0,42,0 58,0,50,0,52,0,43,0,49,0,14,0 ================================================ FILE: schedules/61_12.csv ================================================ 61,0,20,0,51,0,5,0,34,0,1,0 36,0,9,0,55,0,45,0,19,0,13,0 38,0,2,0,39,0,47,0,42,0,43,0 57,0,12,0,50,0,7,0,58,0,60,0 27,0,8,0,56,0,37,0,30,0,23,0 15,0,41,0,35,0,59,0,49,0,10,0 46,0,53,0,6,0,22,0,28,0,32,0 17,0,44,0,3,0,54,0,4,0,33,0 14,0,26,0,18,0,48,0,40,0,25,0 16,0,11,0,31,0,29,0,24,0,52,0 21,0,36,0,7,0,39,0,60,0,51,0 46,0,9,0,61,0,8,0,47,0,58,0 10,0,28,0,12,0,4,0,23,0,32,0 17,0,34,0,45,0,30,0,57,0,14,0 29,0,19,0,59,0,43,0,53,0,50,0 44,0,33,0,42,0,55,0,25,0,20,0 54,0,24,0,13,0,40,0,37,0,2,0 38,0,6,0,22,0,52,0,15,0,16,0 11,0,5,0,26,0,41,0,3,0,18,0 31,0,49,0,27,0,1,0,21,0,48,0 56,0,19,0,25,0,35,0,34,0,39,0 13,0,10,0,58,0,45,0,59,0,33,0 29,0,51,0,32,0,15,0,2,0,42,0 47,0,12,0,14,0,44,0,36,0,37,0 5,0,52,0,8,0,7,0,26,0,16,0 21,0,55,0,6,0,4,0,24,0,57,0 3,0,60,0,53,0,35,0,48,0,46,0 18,0,40,0,49,0,20,0,23,0,38,0 27,0,9,0,1,0,22,0,43,0,54,0 41,0,28,0,31,0,17,0,50,0,30,0 61,0,11,0,59,0,56,0,12,0,32,0 25,0,53,0,47,0,5,0,13,0,57,0 37,0,26,0,49,0,19,0,55,0,60,0 4,0,9,0,3,0,38,0,27,0,29,0 42,0,16,0,23,0,50,0,45,0,21,0 35,0,28,0,43,0,14,0,33,0,36,0 48,0,44,0,34,0,15,0,11,0,39,0 6,0,40,0,1,0,7,0,10,0,30,0 54,0,20,0,58,0,56,0,52,0,2,0 22,0,51,0,18,0,61,0,17,0,8,0 24,0,41,0,25,0,31,0,46,0,36,0 16,0,39,0,5,0,12,0,27,0,55,0 9,0,30,0,15,0,14,0,42,0,53,0 11,0,54,0,19,0,23,0,47,0,45,0 29,0,18,0,1,0,6,0,58,0,28,0 37,0,46,0,43,0,49,0,51,0,50,0 20,0,22,0,10,0,3,0,31,0,24,0 7,0,56,0,48,0,13,0,44,0,41,0 33,0,52,0,57,0,40,0,8,0,32,0 4,0,61,0,2,0,60,0,35,0,26,0 38,0,21,0,34,0,17,0,59,0,54,0 20,0,37,0,24,0,39,0,58,0,9,0 56,0,43,0,45,0,15,0,18,0,7,0 3,0,10,0,51,0,44,0,29,0,57,0 33,0,6,0,30,0,5,0,46,0,19,0 55,0,23,0,40,0,31,0,61,0,35,0 13,0,32,0,21,0,14,0,50,0,38,0 27,0,16,0,17,0,53,0,11,0,2,0 1,0,28,0,47,0,8,0,26,0,25,0 42,0,12,0,4,0,34,0,41,0,49,0 48,0,36,0,60,0,22,0,59,0,52,0 29,0,54,0,10,0,18,0,55,0,30,0 50,0,6,0,9,0,44,0,61,0,39,0 51,0,21,0,11,0,26,0,33,0,53,0 38,0,49,0,24,0,34,0,56,0,28,0 7,0,46,0,52,0,4,0,35,0,47,0 14,0,23,0,59,0,2,0,3,0,1,0 60,0,13,0,43,0,32,0,31,0,5,0 22,0,42,0,25,0,19,0,17,0,37,0 15,0,48,0,45,0,8,0,20,0,12,0 57,0,27,0,58,0,36,0,16,0,41,0 40,0,4,0,50,0,1,0,56,0,51,0 2,0,18,0,33,0,9,0,31,0,34,0 25,0,49,0,32,0,6,0,3,0,7,0 24,0,45,0,12,0,43,0,52,0,17,0 23,0,54,0,48,0,29,0,5,0,36,0 37,0,10,0,39,0,53,0,40,0,16,0 60,0,44,0,8,0,19,0,58,0,38,0 61,0,26,0,13,0,42,0,30,0,27,0 35,0,21,0,14,0,41,0,46,0,20,0 55,0,47,0,57,0,15,0,59,0,28,0 22,0,39,0,7,0,11,0,33,0,29,0 36,0,52,0,18,0,37,0,50,0,3,0 58,0,23,0,44,0,26,0,24,0,43,0 10,0,2,0,45,0,61,0,21,0,25,0 30,0,16,0,1,0,41,0,60,0,47,0 13,0,8,0,53,0,34,0,6,0,54,0 20,0,40,0,15,0,28,0,27,0,11,0 12,0,31,0,38,0,14,0,19,0,51,0 5,0,55,0,56,0,17,0,42,0,46,0 35,0,57,0,59,0,22,0,49,0,9,0 48,0,4,0,41,0,32,0,37,0,54,0 3,0,29,0,45,0,40,0,34,0,60,0 43,0,36,0,2,0,10,0,11,0,8,0 23,0,46,0,15,0,13,0,39,0,17,0 22,0,47,0,16,0,49,0,56,0,14,0 18,0,28,0,5,0,21,0,52,0,44,0 61,0,57,0,7,0,19,0,48,0,24,0 12,0,53,0,1,0,33,0,55,0,38,0 32,0,50,0,59,0,27,0,26,0,20,0 35,0,58,0,42,0,51,0,31,0,6,0 4,0,30,0,60,0,9,0,25,0,11,0 28,0,29,0,17,0,3,0,49,0,61,0 1,0,45,0,37,0,44,0,2,0,5,0 26,0,46,0,39,0,10,0,57,0,38,0 8,0,14,0,7,0,42,0,55,0,59,0 47,0,32,0,30,0,18,0,35,0,24,0 9,0,52,0,41,0,51,0,53,0,23,0 58,0,25,0,31,0,27,0,15,0,54,0 21,0,40,0,56,0,22,0,36,0,12,0 19,0,20,0,43,0,13,0,16,0,4,0 33,0,50,0,34,0,6,0,48,0,47,0 57,0,11,0,37,0,1,0,61,0,38,0 28,0,49,0,39,0,51,0,54,0,45,0 31,0,56,0,26,0,53,0,9,0,7,0 8,0,29,0,35,0,12,0,25,0,13,0 59,0,46,0,40,0,44,0,18,0,16,0 17,0,23,0,36,0,20,0,6,0,32,0 34,0,19,0,42,0,52,0,10,0,27,0 3,0,48,0,30,0,58,0,43,0,21,0 60,0,5,0,33,0,15,0,24,0,14,0 50,0,41,0,2,0,55,0,22,0,4,0 ================================================ FILE: schedules/61_13.csv ================================================ 22,0,46,0,42,0,43,0,6,0,53,0 37,0,38,0,24,0,7,0,8,0,45,0 23,0,29,0,51,0,28,0,39,0,18,0 4,0,55,0,15,0,40,0,59,0,36,0 34,0,35,0,33,0,49,0,10,0,19,0 17,0,44,0,1,0,14,0,57,0,11,0 47,0,3,0,20,0,16,0,21,0,52,0 30,0,12,0,60,0,54,0,2,0,31,0 32,0,61,0,48,0,9,0,13,0,25,0 27,0,41,0,50,0,56,0,5,0,58,0 26,0,44,0,7,0,23,0,55,0,17,0 42,0,18,0,19,0,21,0,46,0,38,0 43,0,16,0,12,0,57,0,33,0,49,0 35,0,30,0,6,0,47,0,54,0,37,0 3,0,9,0,15,0,2,0,39,0,56,0 36,0,51,0,10,0,26,0,24,0,41,0 8,0,32,0,34,0,48,0,58,0,22,0 31,0,4,0,5,0,11,0,28,0,61,0 1,0,45,0,60,0,52,0,59,0,13,0 50,0,20,0,40,0,53,0,14,0,29,0 25,0,12,0,42,0,27,0,44,0,35,0 39,1,24,0,16,0,19,1,22,0,15,0 9,1,43,0,2,0,55,1,41,0,36,0 45,1,58,0,18,0,4,0,49,0,1,0 48,0,56,0,50,0,52,0,60,0,10,0 21,0,14,0,30,0,34,0,51,0,59,0 32,0,5,0,38,0,20,0,26,0,57,0 17,0,33,0,13,0,31,0,37,0,28,0 23,0,11,0,47,0,8,0,29,0,46,0 3,0,40,0,53,0,6,0,25,0,27,0 54,0,61,0,14,0,7,0,48,0,39,0 59,0,60,0,19,0,16,0,18,0,26,0 12,0,2,0,38,0,17,0,34,0,37,0 21,0,36,0,58,0,56,0,11,0,22,0 28,0,33,0,9,0,44,0,6,0,40,0 53,0,41,0,8,0,13,0,30,0,61,0 15,0,52,0,31,0,27,0,57,0,7,0 10,0,5,0,47,0,43,0,55,0,1,0 23,0,20,0,4,0,24,0,42,0,35,0 29,0,49,0,32,0,54,0,3,0,46,0 45,0,25,0,36,0,51,0,50,0,60,0 58,0,15,0,28,0,26,0,14,0,38,0 31,0,7,0,53,0,9,0,19,0,44,0 35,0,16,0,11,0,27,0,52,0,2,0 46,0,37,0,6,0,20,0,59,0,21,0 50,0,4,0,43,0,8,0,54,0,48,0 1,0,40,0,42,0,34,0,41,0,39,0 25,0,18,0,47,0,24,0,57,0,3,0 29,0,33,0,45,0,30,0,23,0,32,0 56,0,61,0,17,0,12,0,22,0,55,0 13,0,10,0,14,0,49,0,5,0,51,0 20,0,42,0,6,0,60,0,2,0,41,0 34,0,52,0,58,0,25,0,19,0,37,0 8,0,33,0,59,0,54,0,36,0,57,0 40,0,56,0,32,0,23,0,7,0,43,0 30,0,11,0,1,0,49,0,22,0,38,0 21,0,13,0,15,0,12,0,50,0,9,0 27,0,46,0,61,0,24,0,10,0,55,0 28,0,45,0,26,0,53,0,16,0,47,0 39,0,5,0,29,0,17,0,4,0,35,0 51,0,44,0,31,0,18,0,3,0,48,0 9,0,41,0,59,0,49,0,52,0,11,0 25,0,55,0,57,0,54,0,22,0,20,0 28,0,2,0,32,0,53,0,24,0,50,0 26,0,27,0,29,0,61,0,34,0,43,0 47,0,38,0,40,0,12,0,31,0,36,0 10,0,6,0,48,0,23,0,18,0,13,0 16,0,30,0,7,0,46,0,58,0,39,0 8,0,5,0,60,0,21,0,33,0,19,0 56,0,4,0,44,0,35,0,1,0,51,0 15,0,17,0,14,0,45,0,42,0,3,0 37,0,13,0,26,0,40,0,54,0,11,0 59,0,2,0,10,0,7,0,41,0,25,0 29,0,28,0,57,0,60,0,9,0,55,0 52,0,5,0,44,0,30,0,34,0,46,0 48,0,27,0,24,0,21,0,49,0,17,0 16,0,23,0,37,0,4,0,51,0,53,0 33,0,42,0,39,0,61,0,58,0,47,0 3,0,38,0,31,0,50,0,35,0,22,0 36,0,6,0,18,0,12,0,32,0,14,0 19,0,8,0,43,0,1,0,15,0,20,0 45,0,57,0,34,0,56,0,46,0,28,0 54,0,49,0,41,0,47,0,55,0,44,0 22,0,3,0,37,0,59,0,26,0,42,0 35,0,9,0,7,0,30,0,50,0,18,0 31,0,8,0,1,0,6,0,32,0,16,0 11,0,17,0,60,0,23,0,10,0,15,0 53,0,39,0,52,0,33,0,5,0,36,0 21,0,27,0,43,0,38,0,61,0,4,0 19,0,14,0,24,0,13,0,56,0,29,0 40,0,45,0,48,0,2,0,58,0,20,0 25,0,51,0,11,0,12,0,7,0,47,0 37,0,35,0,49,0,32,0,60,0,15,0 5,0,54,0,16,0,42,0,38,0,9,0 46,0,41,0,1,0,33,0,3,0,50,0 20,0,30,0,48,0,28,0,27,0,36,0 39,0,26,0,25,0,8,0,6,0,56,0 17,0,51,0,18,0,43,0,40,0,52,0 57,0,22,0,61,0,45,0,2,0,19,0 55,0,31,0,14,0,21,0,24,0,23,0 58,0,10,0,29,0,12,0,44,0,53,0 13,0,34,0,50,0,59,0,4,0,47,0 20,0,49,0,56,0,17,0,8,0,28,0 61,0,18,0,41,0,15,0,37,0,45,0 26,0,46,0,43,0,31,0,25,0,35,0 12,0,52,0,19,0,32,0,24,0,44,0 57,0,21,0,40,0,39,0,30,0,10,0 13,0,7,0,36,0,16,0,29,0,42,0 3,0,60,0,6,0,34,0,11,0,5,0 4,0,2,0,22,0,14,0,33,0,51,0 54,0,23,0,9,0,1,0,58,0,27,0 55,0,53,0,59,0,38,0,48,0,35,0 49,0,50,0,44,0,16,0,40,0,61,0 3,0,17,0,25,0,19,0,36,0,30,0 28,0,10,0,21,0,32,0,42,0,52,0 8,0,27,0,47,0,7,0,60,0,14,0 9,0,26,0,4,0,46,0,45,0,12,0 54,0,51,0,15,0,20,0,31,0,34,0 53,0,11,0,33,0,56,0,18,0,55,0 39,0,22,0,23,0,41,0,13,0,38,0 6,0,58,0,24,0,59,0,57,0,43,0 48,0,2,0,29,0,5,0,1,0,37,0 4,0,28,0,12,0,3,0,10,0,7,0 32,0,51,0,47,0,27,0,17,0,9,0 46,0,19,0,16,0,41,0,14,0,40,0 35,0,52,0,55,0,58,0,8,0,13,0 36,0,43,0,39,0,60,0,44,0,37,0 38,0,56,0,45,0,29,0,6,0,31,0 33,0,24,0,30,0,42,0,48,0,11,0 59,0,18,0,22,0,5,0,61,0,20,0 21,0,54,0,1,0,25,0,15,0,53,0 57,0,2,0,50,0,49,0,23,0,26,0 34,0,19,0,55,0,39,0,9,0,45,0 ================================================ FILE: schedules/61_14.csv ================================================ 35,0,50,0,15,0,19,0,61,0,36,0 3,0,6,0,49,0,39,0,46,0,31,0 52,0,16,0,20,0,59,0,8,0,40,0 12,0,43,0,34,0,45,0,37,0,27,0 42,0,54,0,4,0,33,0,28,0,22,0 51,0,38,0,32,0,24,0,44,0,47,0 11,0,14,0,5,0,30,0,25,0,55,0 26,0,1,0,41,0,18,0,10,0,60,0 7,0,57,0,23,0,29,0,56,0,21,0 48,0,53,0,17,0,2,0,58,0,13,0 45,0,28,0,12,0,9,0,24,0,52,0 19,0,22,0,37,0,27,0,3,0,51,0 41,0,42,0,35,0,4,0,43,0,26,0 54,0,20,0,29,0,47,0,15,0,34,0 40,0,10,0,36,0,31,0,32,0,61,0 55,0,57,0,48,0,60,0,53,0,25,0 17,0,7,0,44,0,39,0,11,0,8,0 46,0,2,0,5,0,14,0,50,0,21,0 30,0,18,0,58,0,9,0,59,0,49,0 16,0,6,0,13,0,38,0,23,0,33,0 1,0,61,0,51,0,56,0,52,0,45,0 7,1,35,0,8,0,60,1,37,0,54,0 25,1,50,0,36,0,3,1,22,0,14,0 21,0,59,0,47,0,17,0,57,0,32,0 29,0,6,0,40,0,53,0,43,0,13,0 24,0,48,0,33,0,30,0,15,0,41,0 42,0,18,0,44,0,19,0,11,0,10,0 49,0,28,0,20,0,1,0,5,0,56,0 39,0,58,0,23,0,16,0,55,0,27,0 9,0,4,0,2,0,38,0,34,0,31,0 26,0,46,0,50,0,12,0,52,0,17,0 53,0,32,0,45,0,48,0,7,0,54,0 13,0,33,0,30,0,8,0,51,0,20,0 56,0,24,0,16,0,3,0,18,0,21,0 2,0,28,0,27,0,61,0,41,0,55,0 37,0,6,0,9,0,59,0,42,0,36,0 43,0,15,0,11,0,22,0,40,0,46,0 34,0,58,0,44,0,1,0,60,0,35,0 10,0,29,0,38,0,25,0,12,0,5,0 4,0,19,0,14,0,23,0,47,0,49,0 26,0,31,0,54,0,39,0,57,0,24,0 56,0,11,0,32,0,50,0,43,0,3,0 60,0,8,0,45,0,46,0,15,0,42,0 40,0,27,0,20,0,30,0,36,0,44,0 2,0,12,0,16,0,5,0,48,0,51,0 57,0,33,0,58,0,61,0,22,0,34,0 10,0,6,0,52,0,7,0,49,0,18,0 38,0,28,0,26,0,53,0,23,0,14,0 25,0,13,0,41,0,31,0,9,0,47,0 55,0,21,0,1,0,35,0,59,0,19,0 39,0,4,0,48,0,29,0,17,0,37,0 56,0,7,0,2,0,12,0,33,0,15,0 26,0,32,0,14,0,45,0,58,0,40,0 54,0,9,0,43,0,5,0,10,0,3,0 57,0,35,0,61,0,38,0,8,0,49,0 52,0,30,0,50,0,4,0,44,0,6,0 11,0,41,0,34,0,23,0,13,0,19,0 39,0,17,0,51,0,31,0,28,0,21,0 46,0,55,0,60,0,20,0,47,0,37,0 27,0,53,0,22,0,24,0,18,0,59,0 36,0,1,0,16,0,42,0,25,0,29,0 3,0,41,0,58,0,44,0,11,0,12,0 28,0,23,0,34,0,30,0,43,0,7,0 10,0,31,0,15,0,21,0,17,0,20,0 5,0,52,0,19,0,6,0,53,0,57,0 14,0,9,0,60,0,8,0,24,0,27,0 2,0,35,0,36,0,45,0,29,0,13,0 33,0,16,0,39,0,47,0,1,0,32,0 54,0,46,0,25,0,4,0,56,0,59,0 49,0,61,0,48,0,51,0,26,0,22,0 38,0,50,0,18,0,40,0,42,0,55,0 37,0,5,0,53,0,31,0,60,0,44,0 6,0,20,0,1,0,43,0,2,0,14,0 15,0,23,0,8,0,28,0,3,0,32,0 29,0,16,0,9,0,26,0,61,0,11,0 45,0,38,0,25,0,50,0,54,0,58,0 30,0,51,0,4,0,27,0,57,0,42,0 47,0,39,0,55,0,12,0,22,0,36,0 24,0,49,0,41,0,37,0,7,0,40,0 13,0,34,0,59,0,46,0,56,0,10,0 33,0,35,0,21,0,52,0,18,0,48,0 19,0,43,0,27,0,17,0,38,0,5,0 26,0,42,0,45,0,55,0,20,0,3,0 11,0,40,0,47,0,2,0,8,0,57,0 14,0,61,0,30,0,32,0,37,0,13,0 29,0,18,0,46,0,51,0,28,0,54,0 52,0,60,0,22,0,12,0,23,0,31,0 34,0,49,0,53,0,41,0,50,0,16,0 15,0,24,0,19,0,35,0,39,0,25,0 1,0,44,0,33,0,9,0,56,0,48,0 58,0,59,0,17,0,7,0,36,0,4,0 21,0,10,0,8,0,6,0,45,0,22,0 29,0,34,0,3,0,52,0,14,0,41,0 47,0,57,0,5,0,24,0,35,0,23,0 25,0,61,0,43,0,44,0,39,0,53,0 60,0,2,0,32,0,16,0,4,0,11,0 31,0,36,0,37,0,18,0,33,0,56,0 27,0,7,0,38,0,46,0,48,0,1,0 12,0,49,0,21,0,42,0,13,0,20,0 19,0,50,0,28,0,58,0,26,0,10,0 59,0,55,0,51,0,9,0,15,0,40,0 54,0,17,0,56,0,6,0,30,0,60,0 46,0,45,0,44,0,16,0,22,0,23,0 31,0,11,0,35,0,14,0,27,0,48,0 21,0,57,0,38,0,28,0,41,0,36,0 53,0,9,0,18,0,39,0,15,0,20,0 42,0,43,0,37,0,52,0,47,0,58,0 40,0,54,0,32,0,1,0,19,0,12,0 55,0,4,0,13,0,5,0,7,0,26,0 30,0,24,0,3,0,10,0,61,0,2,0 6,0,8,0,17,0,25,0,34,0,51,0 59,0,29,0,33,0,49,0,50,0,31,0 22,0,32,0,35,0,20,0,41,0,9,0 39,0,18,0,40,0,45,0,4,0,5,0 55,0,36,0,23,0,12,0,30,0,10,0 3,0,37,0,11,0,1,0,53,0,38,0 24,0,46,0,17,0,34,0,33,0,42,0 58,0,56,0,8,0,19,0,2,0,29,0 26,0,47,0,48,0,59,0,6,0,28,0 7,0,21,0,51,0,61,0,60,0,50,0 52,0,25,0,15,0,27,0,49,0,13,0 14,0,57,0,54,0,43,0,44,0,16,0 53,0,12,0,4,0,19,0,33,0,45,0 5,0,31,0,8,0,1,0,58,0,42,0 38,0,48,0,59,0,34,0,39,0,60,0 17,0,23,0,3,0,51,0,40,0,35,0 56,0,6,0,55,0,41,0,32,0,27,0 46,0,21,0,43,0,30,0,9,0,26,0 61,0,47,0,7,0,25,0,20,0,18,0 49,0,36,0,52,0,2,0,11,0,54,0 50,0,10,0,37,0,16,0,57,0,15,0 22,0,44,0,13,0,28,0,29,0,24,0 12,0,59,0,60,0,14,0,6,0,35,0 5,0,18,0,61,0,34,0,32,0,46,0 51,0,41,0,43,0,48,0,8,0,36,0 26,0,25,0,23,0,2,0,37,0,33,0 13,0,3,0,15,0,1,0,4,0,57,0 42,0,56,0,14,0,7,0,39,0,52,0 20,0,11,0,58,0,21,0,54,0,24,0 10,0,9,0,27,0,53,0,47,0,50,0 31,0,30,0,22,0,38,0,16,0,19,0 44,0,29,0,49,0,17,0,55,0,45,0 28,0,7,0,25,0,40,0,60,0,3,0 ================================================ FILE: schedules/61_2.csv ================================================ 7,0,32,0,25,0,36,0,52,0,56,0 57,0,12,0,4,0,55,0,39,0,59,0 47,0,49,0,2,0,53,0,22,0,14,0 48,0,24,0,31,0,19,0,40,0,58,0 1,0,50,0,37,0,60,0,30,0,38,0 41,0,27,0,13,0,28,0,18,0,9,0 3,0,6,0,10,0,44,0,16,0,61,0 43,0,17,0,15,0,54,0,29,0,21,0 45,0,11,0,20,0,51,0,42,0,35,0 23,0,5,0,46,0,34,0,26,0,33,0 53,0,36,0,27,0,8,0,50,0,24,0 55,0,38,0,9,0,6,0,7,0,2,0 39,0,22,0,32,0,48,0,29,0,37,0 3,0,51,0,58,0,43,0,59,0,25,0 28,0,21,0,52,0,45,0,1,0,14,0 54,0,16,0,18,0,46,0,47,0,4,0 61,0,26,0,35,0,15,0,49,0,13,0 60,0,34,0,17,0,12,0,42,0,31,0 40,0,11,0,8,0,56,0,44,0,23,0 10,0,57,0,30,0,41,0,5,0,19,0 33,0,3,1,28,1,20,0,7,1,37,1 ================================================ FILE: schedules/61_3.csv ================================================ 28,0,53,0,29,0,35,0,43,0,44,0 23,0,10,0,24,0,54,0,16,0,40,0 41,0,12,0,1,0,46,0,5,0,38,0 18,0,6,0,33,0,49,0,36,0,57,0 26,0,59,0,22,0,45,0,30,0,56,0 20,0,21,0,32,0,52,0,48,0,51,0 50,0,47,0,58,0,17,0,9,0,15,0 60,0,25,0,2,0,31,0,34,0,39,0 14,0,37,0,27,0,8,0,55,0,42,0 11,0,19,0,61,0,4,0,7,0,13,0 3,0,40,0,49,0,32,0,30,0,53,0 58,1,54,0,6,0,41,1,26,0,21,0 33,1,20,0,28,0,24,0,31,0,56,0 16,0,34,0,50,0,37,0,59,0,35,0 10,0,15,0,4,0,18,0,1,0,27,0 55,0,5,0,9,0,13,0,23,0,22,0 60,0,14,0,44,0,17,0,12,0,61,0 39,0,8,0,51,0,29,0,19,0,36,0 2,0,57,0,42,0,3,0,48,0,7,0 43,0,45,0,46,0,47,0,11,0,25,0 38,0,23,0,30,0,52,0,6,0,50,0 53,0,31,0,61,0,16,0,58,0,22,0 24,0,18,0,17,0,29,0,41,0,32,0 1,0,54,0,36,0,20,0,59,0,55,0 13,0,10,0,37,0,46,0,60,0,3,0 39,0,5,0,7,0,27,0,47,0,33,0 14,0,9,0,21,0,43,0,2,0,38,0 26,0,40,0,15,0,25,0,57,0,19,0 12,0,52,0,4,0,49,0,28,0,42,0 44,0,8,0,48,0,56,0,34,0,11,0 35,0,45,0,41,0,51,0,58,0,33,0 ================================================ FILE: schedules/61_4.csv ================================================ 13,0,52,0,12,0,51,0,33,0,20,0 36,0,22,0,47,0,54,0,32,0,42,0 45,0,7,0,39,0,40,0,56,0,34,0 35,0,43,0,11,0,58,0,26,0,38,0 50,0,41,0,53,0,8,0,23,0,31,0 5,0,17,0,24,0,16,0,25,0,60,0 55,0,1,0,57,0,37,0,19,0,21,0 30,0,46,0,44,0,61,0,49,0,3,0 2,0,9,0,15,0,29,0,59,0,48,0 18,0,4,0,10,0,14,0,28,0,27,0 6,0,60,0,52,0,53,0,7,0,26,0 31,0,39,0,19,0,11,0,32,0,33,0 12,0,44,0,45,0,23,0,21,0,47,0 20,0,34,0,50,0,46,0,43,0,59,0 9,0,14,0,42,0,24,0,13,0,30,0 51,0,18,0,29,0,55,0,54,0,17,0 10,0,3,0,41,0,36,0,2,0,5,0 16,0,48,0,6,0,1,0,28,0,38,0 4,0,37,0,56,0,22,0,61,0,35,0 27,0,25,0,58,0,40,0,8,0,57,0 49,0,51,0,42,0,15,0,11,0,7,0 54,1,59,0,26,0,45,1,19,0,10,0 55,0,34,0,48,0,14,0,41,0,60,0 50,0,52,0,30,0,5,0,4,0,1,0 17,0,32,0,27,0,6,0,44,0,56,0 2,0,13,0,39,0,22,0,16,0,23,0 61,0,53,0,24,0,38,0,57,0,47,0 28,0,8,0,20,0,37,0,15,0,3,0 33,0,40,0,21,0,43,0,29,0,36,0 49,0,18,0,35,0,25,0,12,0,31,0 58,0,23,0,60,0,46,0,9,0,1,0 45,0,38,0,32,0,55,0,13,0,4,0 5,0,42,0,26,0,39,0,8,0,48,0 21,0,11,0,61,0,16,0,54,0,41,0 56,0,19,0,28,0,25,0,52,0,36,0 29,0,10,0,22,0,6,0,34,0,30,0 7,0,57,0,33,0,18,0,50,0,9,0 47,0,59,0,27,0,35,0,3,0,51,0 15,0,46,0,40,0,17,0,12,0,53,0 14,0,43,0,31,0,37,0,44,0,2,0 24,0,58,0,54,0,49,0,20,0,45,0 ================================================ FILE: schedules/61_5.csv ================================================ 21,0,16,0,22,0,56,0,33,0,58,0 10,0,2,0,1,0,24,0,48,0,46,0 13,0,59,0,12,0,38,0,44,0,32,0 61,0,19,0,45,0,43,0,17,0,20,0 52,0,27,0,41,0,26,0,60,0,31,0 36,0,30,0,14,0,50,0,8,0,28,0 40,0,15,0,3,0,4,0,29,0,11,0 51,0,37,0,47,0,9,0,35,0,34,0 57,0,18,0,39,0,25,0,7,0,5,0 23,0,42,0,49,0,55,0,54,0,6,0 53,0,60,0,33,0,17,0,38,0,10,0 3,0,20,0,26,0,13,0,46,0,21,0 45,0,50,0,11,0,59,0,22,0,47,0 14,0,32,0,29,0,5,0,37,0,27,0 49,0,19,0,1,0,28,0,41,0,7,0 2,0,4,0,12,0,42,0,39,0,34,0 18,0,6,0,61,0,31,0,53,0,40,0 56,0,48,0,9,0,23,0,36,0,15,0 30,0,43,0,35,0,58,0,54,0,24,0 8,0,25,0,44,0,16,0,52,0,51,0 57,0,11,0,13,0,55,0,17,0,1,0 49,1,32,0,31,0,47,0,3,0,2,0 26,0,4,0,14,0,22,0,61,0,23,0 38,0,6,0,36,0,35,0,20,0,5,0 60,0,39,0,54,0,19,0,48,0,16,0 34,0,7,0,15,0,55,0,44,0,58,0 59,0,24,0,42,0,40,0,37,0,52,0 50,0,10,0,27,0,43,0,21,0,57,0 30,0,56,0,51,0,46,0,45,0,53,0 8,0,33,0,9,0,12,0,18,0,41,0 29,0,28,0,60,0,25,0,13,0,61,0 58,0,47,0,38,0,14,0,40,0,48,0 44,0,22,0,20,0,57,0,49,0,37,0 16,0,32,0,7,0,42,0,45,0,36,0 55,0,10,0,39,0,30,0,3,0,52,0 23,0,41,0,53,0,2,0,29,0,50,0 43,0,11,0,46,0,9,0,6,0,25,0 5,0,21,0,1,0,8,0,4,0,59,0 31,0,24,0,19,0,51,0,12,0,15,0 27,0,54,0,17,0,34,0,56,0,18,0 33,0,35,0,48,0,26,0,28,0,32,0 61,0,11,0,7,0,38,0,2,0,30,0 46,0,5,0,40,0,50,0,60,0,49,0 55,0,14,0,41,0,20,0,16,0,24,0 44,0,9,0,45,0,31,0,29,0,10,0 22,0,25,0,12,0,27,0,53,0,1,0 3,0,28,0,58,0,18,0,23,0,51,0 37,0,21,0,17,0,39,0,15,0,6,0 8,0,56,0,42,0,19,0,57,0,35,0 47,0,4,0,52,0,13,0,33,0,54,0 43,0,36,0,34,0,26,0,59,0,49,0 ================================================ FILE: schedules/61_6.csv ================================================ 14,0,49,0,40,0,48,0,37,0,32,0 22,0,41,0,60,0,56,0,52,0,34,0 26,0,47,0,15,0,24,0,5,0,54,0 46,0,8,0,44,0,30,0,59,0,53,0 36,0,13,0,3,0,21,0,17,0,38,0 28,0,18,0,42,0,43,0,11,0,51,0 10,0,7,0,58,0,4,0,6,0,1,0 12,0,50,0,16,0,57,0,23,0,27,0 45,0,33,0,39,0,55,0,2,0,31,0 61,0,9,0,25,0,19,0,29,0,20,0 35,0,18,0,44,0,24,0,49,0,38,0 46,0,13,0,51,0,56,0,1,0,54,0 28,0,27,0,21,0,34,0,5,0,48,0 42,0,36,0,41,0,10,0,40,0,39,0 16,0,2,0,32,0,25,0,26,0,52,0 47,0,59,0,37,0,58,0,61,0,33,0 7,0,55,0,20,0,12,0,35,0,53,0 9,0,23,0,31,0,11,0,8,0,60,0 29,0,50,0,30,0,15,0,3,0,14,0 45,0,43,0,17,0,6,0,19,0,57,0 22,0,33,0,32,0,4,0,28,0,38,0 20,0,13,0,2,0,10,0,18,0,37,0 34,0,7,0,40,0,16,0,44,0,61,0 21,0,1,0,42,0,49,0,60,0,53,0 58,0,5,0,29,0,23,0,17,0,52,0 59,0,12,0,36,0,25,0,22,0,45,0 8,0,47,0,19,0,48,0,50,0,35,0 6,0,55,0,11,0,26,0,3,0,46,0 15,0,4,0,57,0,41,0,31,0,51,0 9,0,43,0,56,0,24,0,30,0,39,0 54,0,14,0,60,0,27,0,58,0,36,0 61,0,50,0,22,0,49,0,10,0,5,0 11,0,17,0,25,0,35,0,34,0,37,0 59,0,48,0,26,0,57,0,13,0,42,0 8,0,12,0,1,0,56,0,38,0,29,0 43,0,20,0,41,0,46,0,32,0,45,0 40,0,6,0,52,0,30,0,28,0,31,0 54,0,4,0,9,0,55,0,21,0,16,0 24,0,14,0,53,0,2,0,19,0,23,0 51,0,39,0,18,0,47,0,3,0,7,0 44,0,27,0,1,0,15,0,33,0,43,0 8,0,26,0,17,0,20,0,40,0,22,0 45,0,50,0,34,0,4,0,42,0,30,0 6,0,35,0,14,0,56,0,21,0,61,0 54,0,31,0,48,0,12,0,10,0,24,0 38,0,52,0,37,0,7,0,46,0,19,0 49,0,16,0,29,0,36,0,33,0,51,0 11,0,53,0,27,0,41,0,47,0,13,0 25,0,5,0,18,0,60,0,55,0,57,0 58,0,28,0,2,0,44,0,9,0,3,0 15,0,59,0,23,0,39,0,32,0,35,0 29,0,37,0,24,0,42,0,22,0,6,0 36,0,43,0,26,0,50,0,31,0,7,0 16,0,48,0,41,0,18,0,17,0,1,0 57,0,52,0,21,0,33,0,20,0,11,0 49,0,61,0,54,0,28,0,45,0,23,0 27,0,30,0,32,0,51,0,55,0,58,0 44,0,39,0,13,0,14,0,25,0,8,0 56,0,3,0,19,0,4,0,5,0,59,0 38,0,34,0,10,0,53,0,9,0,15,0 46,0,2,0,60,0,47,0,12,0,40,0 ================================================ FILE: schedules/61_7.csv ================================================ 35,0,45,0,11,0,1,0,50,0,20,0 24,0,3,0,23,0,41,0,46,0,29,0 14,0,51,0,31,0,28,0,44,0,54,0 56,0,18,0,8,0,48,0,59,0,25,0 19,0,26,0,10,0,22,0,61,0,57,0 36,0,13,0,17,0,32,0,60,0,21,0 7,0,33,0,55,0,16,0,30,0,38,0 49,0,43,0,34,0,4,0,15,0,2,0 42,0,40,0,9,0,47,0,12,0,52,0 53,0,5,0,37,0,27,0,6,0,58,0 59,0,57,0,31,0,39,0,36,0,1,0 16,0,11,0,29,0,26,0,17,0,48,0 46,0,50,0,60,0,30,0,49,0,25,0 13,0,18,0,2,0,41,0,51,0,40,0 34,0,61,0,24,0,55,0,35,0,5,0 8,0,15,0,19,0,3,0,37,0,52,0 54,0,20,0,33,0,47,0,4,0,27,0 12,0,22,0,21,0,53,0,56,0,39,0 45,0,32,0,7,0,44,0,58,0,42,0 9,0,23,0,43,0,10,0,14,0,38,0 28,0,52,0,1,0,6,0,2,0,17,0 47,1,3,0,30,0,49,1,51,0,61,0 31,1,37,0,29,0,35,1,40,0,4,0 22,1,59,0,50,0,5,0,21,0,42,0 11,0,27,0,36,0,24,0,56,0,14,0 55,0,57,0,44,0,53,0,46,0,43,0 32,0,15,0,25,0,33,0,23,0,26,0 58,0,20,0,60,0,38,0,18,0,19,0 8,0,34,0,39,0,9,0,16,0,45,0 54,0,7,0,10,0,41,0,6,0,12,0 48,0,13,0,37,0,28,0,22,0,55,0 5,0,2,0,46,0,32,0,11,0,31,0 30,0,24,0,4,0,59,0,53,0,42,0 26,0,1,0,21,0,34,0,51,0,58,0 47,0,16,0,36,0,10,0,18,0,44,0 25,0,27,0,17,0,45,0,19,0,12,0 61,0,15,0,60,0,6,0,29,0,9,0 49,0,20,0,48,0,57,0,23,0,14,0 38,0,52,0,13,0,50,0,39,0,54,0 28,0,56,0,41,0,35,0,33,0,8,0 40,0,43,0,36,0,7,0,3,0,22,0 25,0,12,0,5,0,1,0,4,0,16,0 23,0,10,0,59,0,34,0,60,0,27,0 54,0,48,0,24,0,19,0,44,0,2,0 29,0,51,0,57,0,32,0,38,0,37,0 18,0,50,0,31,0,33,0,43,0,61,0 52,0,58,0,30,0,56,0,13,0,35,0 55,0,45,0,6,0,26,0,40,0,49,0 41,0,42,0,39,0,15,0,20,0,17,0 47,0,21,0,14,0,7,0,46,0,8,0 3,0,9,0,28,0,53,0,11,0,18,0 1,0,54,0,60,0,16,0,56,0,43,0 4,0,22,0,51,0,24,0,52,0,45,0 12,0,58,0,50,0,57,0,15,0,36,0 33,0,42,0,6,0,48,0,34,0,46,0 31,0,27,0,26,0,9,0,7,0,13,0 38,0,21,0,2,0,35,0,25,0,3,0 14,0,19,0,55,0,29,0,47,0,39,0 32,0,53,0,28,0,20,0,10,0,40,0 8,0,44,0,17,0,5,0,23,0,30,0 37,0,61,0,41,0,11,0,59,0,49,0 18,0,46,0,22,0,1,0,27,0,15,0 35,0,39,0,48,0,60,0,7,0,51,0 43,0,47,0,58,0,24,0,28,0,25,0 31,0,6,0,16,0,21,0,23,0,19,0 53,0,38,0,36,0,8,0,61,0,26,0 33,0,5,0,49,0,10,0,29,0,52,0 3,0,59,0,44,0,12,0,13,0,20,0 55,0,4,0,32,0,50,0,9,0,41,0 30,0,11,0,40,0,57,0,34,0,54,0 14,0,42,0,45,0,56,0,37,0,2,0 17,0,49,0,35,0,47,0,31,0,22,0 ================================================ FILE: schedules/61_8.csv ================================================ 40,0,21,0,28,0,8,0,18,0,37,0 29,0,3,0,19,0,46,0,17,0,53,0 43,0,56,0,60,0,38,0,36,0,57,0 14,0,11,0,4,0,39,0,5,0,33,0 47,0,22,0,52,0,10,0,12,0,9,0 34,0,16,0,54,0,42,0,49,0,48,0 32,0,27,0,25,0,6,0,30,0,31,0 2,0,20,0,41,0,15,0,55,0,58,0 59,0,23,0,35,0,50,0,61,0,13,0 51,0,24,0,45,0,26,0,44,0,1,0 7,0,17,0,22,0,37,0,21,0,54,0 53,0,49,0,6,0,18,0,31,0,43,0 14,0,8,0,58,0,47,0,3,0,57,0 42,0,12,0,56,0,20,0,23,0,25,0 45,0,28,0,61,0,36,0,39,0,41,0 50,0,26,0,15,0,19,0,30,0,48,0 7,0,10,0,16,0,44,0,4,0,59,0 11,0,13,0,52,0,60,0,32,0,51,0 9,0,38,0,29,0,1,0,27,0,2,0 46,0,35,0,24,0,34,0,5,0,40,0 55,0,53,0,36,0,33,0,21,0,42,0 12,1,48,0,20,0,19,1,61,0,4,0 51,1,50,0,25,0,16,1,58,0,43,0 39,0,2,0,18,0,59,0,54,0,57,0 23,0,31,0,46,0,47,0,7,0,11,0 34,0,27,0,33,0,15,0,3,0,37,0 45,0,35,0,32,0,10,0,38,0,8,0 55,0,17,0,40,0,6,0,60,0,14,0 49,0,13,0,44,0,28,0,29,0,5,0 56,0,30,0,24,0,22,0,41,0,9,0 52,0,1,0,39,0,26,0,43,0,3,0 19,0,23,0,54,0,16,0,31,0,33,0 18,0,20,0,38,0,34,0,47,0,51,0 27,0,45,0,58,0,48,0,28,0,7,0 22,0,46,0,50,0,32,0,55,0,44,0 42,0,10,0,11,0,29,0,61,0,40,0 52,0,57,0,17,0,15,0,24,0,25,0 12,0,13,0,21,0,14,0,2,0,30,0 8,0,1,0,35,0,60,0,41,0,53,0 37,0,59,0,6,0,56,0,26,0,5,0 36,0,4,0,3,0,49,0,9,0,50,0 11,0,43,0,61,0,16,0,24,0,18,0 25,0,34,0,28,0,51,0,14,0,22,0 7,0,1,0,57,0,20,0,19,0,33,0 27,0,59,0,46,0,60,0,42,0,58,0 32,0,40,0,26,0,12,0,54,0,49,0 15,0,47,0,44,0,35,0,56,0,21,0 23,0,30,0,10,0,6,0,2,0,36,0 37,0,4,0,52,0,53,0,45,0,29,0 5,0,17,0,31,0,38,0,48,0,41,0 8,0,9,0,39,0,55,0,13,0,34,0 21,0,7,0,60,0,26,0,61,0,51,0 32,0,15,0,14,0,24,0,59,0,42,0 36,0,27,0,16,0,35,0,52,0,20,0 56,0,50,0,33,0,45,0,18,0,17,0 48,0,2,0,22,0,11,0,8,0,3,0 5,0,57,0,53,0,40,0,23,0,9,0 4,0,28,0,41,0,54,0,46,0,43,0 38,0,6,0,58,0,12,0,39,0,44,0 37,0,49,0,19,0,10,0,13,0,25,0 55,0,31,0,47,0,30,0,1,0,29,0 5,0,7,0,2,0,32,0,56,0,52,0 4,0,17,0,9,0,35,0,26,0,42,0 51,0,54,0,15,0,8,0,46,0,6,0 44,0,37,0,43,0,14,0,23,0,48,0 39,0,61,0,49,0,53,0,47,0,27,0 18,0,58,0,22,0,36,0,13,0,1,0 10,0,41,0,31,0,57,0,21,0,34,0 3,0,30,0,40,0,16,0,20,0,28,0 25,0,19,0,38,0,59,0,55,0,11,0 60,0,29,0,33,0,12,0,50,0,24,0 45,0,47,0,42,0,43,0,5,0,22,0 58,0,32,0,34,0,17,0,61,0,23,0 51,0,40,0,56,0,27,0,31,0,4,0 16,0,13,0,26,0,15,0,53,0,38,0 28,0,44,0,60,0,9,0,19,0,2,0 18,0,3,0,12,0,35,0,7,0,55,0 14,0,25,0,29,0,54,0,45,0,36,0 24,0,48,0,10,0,46,0,39,0,20,0 49,0,59,0,30,0,52,0,8,0,33,0 21,0,1,0,6,0,57,0,50,0,11,0 37,0,12,0,51,0,41,0,19,0,16,0 ================================================ FILE: schedules/61_9.csv ================================================ 27,0,17,0,32,0,56,0,4,0,20,0 30,0,40,0,18,0,60,0,49,0,38,0 9,0,6,0,2,0,57,0,10,0,47,0 39,0,21,0,28,0,8,0,37,0,25,0 43,0,19,0,12,0,31,0,61,0,35,0 1,0,3,0,53,0,24,0,46,0,22,0 41,0,55,0,16,0,48,0,13,0,5,0 51,0,42,0,59,0,58,0,33,0,50,0 36,0,11,0,34,0,23,0,29,0,7,0 26,0,52,0,14,0,45,0,54,0,44,0 15,0,49,0,37,0,32,0,57,0,35,0 43,0,4,0,39,0,2,0,28,0,16,0 40,0,47,0,24,0,58,0,55,0,12,0 30,0,11,0,59,0,17,0,36,0,3,0 7,0,21,0,18,0,41,0,52,0,46,0 25,0,1,0,20,0,48,0,15,0,45,0 54,0,13,0,56,0,34,0,33,0,6,0 9,0,53,0,22,0,61,0,51,0,8,0 31,0,60,0,44,0,50,0,29,0,5,0 42,0,10,0,26,0,27,0,19,0,38,0 14,0,43,0,37,0,23,0,48,0,47,0 11,1,45,0,16,0,21,1,40,0,6,0 22,1,34,0,41,0,9,0,30,0,32,0 55,0,57,0,28,0,20,0,50,0,7,0 46,0,58,0,5,0,15,0,19,0,54,0 53,0,14,0,59,0,18,0,26,0,56,0 49,0,8,0,24,0,27,0,31,0,36,0 33,0,25,0,61,0,44,0,10,0,3,0 52,0,51,0,13,0,29,0,4,0,12,0 17,0,39,0,23,0,1,0,42,0,60,0 35,0,2,0,58,0,38,0,28,0,22,0 45,0,5,0,14,0,27,0,46,0,8,0 33,0,31,0,26,0,15,0,11,0,47,0 25,0,56,0,29,0,7,0,19,0,49,0 48,0,4,0,30,0,54,0,42,0,21,0 2,0,34,0,40,0,37,0,61,0,17,0 52,0,3,0,60,0,36,0,43,0,57,0 59,0,1,0,44,0,13,0,55,0,35,0 10,0,16,0,18,0,24,0,51,0,32,0 39,0,12,0,53,0,20,0,41,0,6,0 38,0,50,0,56,0,9,0,23,0,15,0 34,0,14,0,46,0,2,0,25,0,60,0 26,0,55,0,29,0,8,0,30,0,22,0 54,0,47,0,61,0,36,0,1,0,16,0 41,0,43,0,49,0,6,0,51,0,17,0 21,0,38,0,10,0,59,0,12,0,31,0 44,0,57,0,19,0,48,0,18,0,39,0 24,0,23,0,33,0,20,0,52,0,35,0 32,0,28,0,5,0,42,0,40,0,3,0 11,0,4,0,53,0,50,0,45,0,37,0 27,0,7,0,9,0,13,0,58,0,60,0 16,0,12,0,38,0,46,0,44,0,36,0 1,0,17,0,29,0,57,0,21,0,14,0 19,0,20,0,8,0,41,0,59,0,40,0 31,0,55,0,54,0,32,0,2,0,53,0 18,0,22,0,33,0,43,0,45,0,27,0 15,0,28,0,13,0,24,0,10,0,30,0 11,0,35,0,5,0,25,0,52,0,9,0 3,0,51,0,56,0,42,0,37,0,47,0 26,0,7,0,6,0,61,0,23,0,4,0 50,0,48,0,34,0,39,0,49,0,58,0 17,0,60,0,28,0,33,0,19,0,53,0 41,0,57,0,13,0,14,0,31,0,40,0 24,0,44,0,37,0,59,0,54,0,9,0 35,0,27,0,23,0,21,0,16,0,30,0 36,0,6,0,22,0,42,0,15,0,25,0 32,0,47,0,38,0,29,0,45,0,39,0 51,0,5,0,43,0,1,0,26,0,34,0 8,0,50,0,3,0,12,0,52,0,48,0 61,0,20,0,2,0,58,0,11,0,18,0 4,0,10,0,46,0,55,0,56,0,49,0 7,0,15,0,22,0,44,0,17,0,40,0 13,0,23,0,30,0,25,0,53,0,57,0 32,0,29,0,48,0,33,0,59,0,27,0 31,0,52,0,6,0,1,0,28,0,37,0 49,0,16,0,42,0,14,0,9,0,20,0 3,0,47,0,35,0,18,0,4,0,34,0 61,0,11,0,39,0,51,0,55,0,46,0 36,0,45,0,58,0,41,0,56,0,10,0 8,0,38,0,54,0,60,0,7,0,43,0 50,0,21,0,2,0,26,0,19,0,24,0 12,0,23,0,22,0,5,0,59,0,49,0 6,0,15,0,55,0,3,0,14,0,27,0 42,0,34,0,52,0,16,0,31,0,53,0 46,0,37,0,29,0,20,0,43,0,10,0 48,0,60,0,21,0,61,0,28,0,56,0 58,0,8,0,1,0,44,0,32,0,11,0 9,0,36,0,35,0,39,0,40,0,26,0 50,0,54,0,25,0,41,0,18,0,17,0 24,0,57,0,4,0,38,0,5,0,33,0 30,0,12,0,51,0,45,0,2,0,7,0 47,0,19,0,21,0,13,0,11,0,22,0 ================================================ FILE: schedules/62_1.csv ================================================ 27,0,12,0,62,0,18,0,19,0,52,0 4,0,41,0,56,0,42,0,32,0,24,0 45,0,36,0,20,0,54,0,29,0,35,0 59,0,3,0,37,0,25,0,2,0,9,0 22,0,48,0,8,0,34,0,40,0,10,0 47,0,6,0,13,0,44,0,49,0,23,0 55,0,5,0,51,0,38,0,31,0,50,0 30,0,11,0,33,0,61,0,43,0,58,0 28,0,57,0,39,0,21,0,1,0,26,0 15,0,7,0,46,0,16,0,60,0,14,0 17,0,59,1,8,1,53,0,13,1,23,1 ================================================ FILE: schedules/62_10.csv ================================================ 56,0,8,0,26,0,61,0,1,0,62,0 48,0,44,0,21,0,52,0,4,0,54,0 16,0,35,0,40,0,41,0,11,0,50,0 47,0,49,0,20,0,23,0,59,0,3,0 19,0,45,0,13,0,33,0,32,0,6,0 43,0,53,0,25,0,30,0,7,0,31,0 24,0,27,0,38,0,9,0,28,0,34,0 36,0,37,0,18,0,46,0,5,0,2,0 60,0,22,0,58,0,17,0,39,0,42,0 57,0,29,0,55,0,15,0,12,0,10,0 14,0,33,0,23,0,51,0,44,0,7,0 11,0,26,0,45,0,43,0,27,0,49,0 37,0,38,0,52,0,4,0,46,0,41,0 62,0,58,0,19,0,53,0,47,0,18,0 5,0,34,0,10,0,48,0,59,0,39,0 55,0,61,0,31,0,57,0,16,0,22,0 24,0,54,0,51,0,9,0,15,0,32,0 36,0,60,0,56,0,29,0,28,0,21,0 3,0,14,0,42,0,2,0,30,0,40,0 8,0,50,0,25,0,13,0,20,0,12,0 17,0,1,0,31,0,6,0,35,0,4,0 47,1,62,0,44,0,34,1,38,0,43,0 45,1,39,0,23,0,48,1,56,0,41,0 53,0,46,0,3,0,16,0,9,0,54,0 42,0,32,0,11,0,61,0,12,0,7,0 2,0,20,0,21,0,27,0,28,0,13,0 35,0,17,0,59,0,57,0,25,0,36,0 37,0,26,0,60,0,40,0,19,0,33,0 30,0,29,0,5,0,24,0,1,0,6,0 14,0,55,0,15,0,8,0,52,0,58,0 18,0,49,0,50,0,51,0,22,0,10,0 31,0,62,0,41,0,36,0,48,0,42,0 57,0,46,0,11,0,20,0,34,0,39,0 9,0,43,0,24,0,37,0,23,0,13,0 54,0,59,0,61,0,14,0,58,0,45,0 5,0,33,0,12,0,35,0,22,0,52,0 44,0,3,0,29,0,19,0,50,0,26,0 28,0,4,0,7,0,47,0,6,0,30,0 32,0,17,0,49,0,8,0,21,0,15,0 2,0,10,0,38,0,53,0,1,0,60,0 18,0,27,0,51,0,16,0,25,0,56,0 55,0,35,0,20,0,40,0,54,0,37,0 3,0,52,0,33,0,31,0,23,0,34,0 12,0,48,0,14,0,43,0,19,0,46,0 61,0,22,0,39,0,47,0,9,0,21,0 1,0,15,0,28,0,42,0,18,0,59,0 17,0,53,0,44,0,41,0,27,0,29,0 50,0,58,0,57,0,36,0,32,0,45,0 62,0,30,0,8,0,16,0,10,0,60,0 38,0,6,0,11,0,2,0,51,0,55,0 56,0,7,0,40,0,49,0,5,0,13,0 25,0,4,0,59,0,26,0,24,0,22,0 33,0,34,0,46,0,17,0,61,0,29,0 30,0,15,0,37,0,44,0,45,0,31,0 19,0,1,0,23,0,21,0,16,0,11,0 7,0,36,0,39,0,54,0,8,0,38,0 50,0,14,0,2,0,25,0,62,0,5,0 12,0,53,0,57,0,40,0,51,0,28,0 13,0,9,0,48,0,49,0,55,0,58,0 35,0,42,0,60,0,47,0,27,0,52,0 43,0,3,0,32,0,10,0,56,0,4,0 24,0,20,0,41,0,6,0,26,0,18,0 40,0,1,0,22,0,62,0,36,0,34,0 17,0,23,0,2,0,45,0,12,0,50,0 47,0,31,0,13,0,54,0,11,0,29,0 10,0,21,0,7,0,58,0,37,0,46,0 8,0,51,0,35,0,44,0,24,0,42,0 25,0,6,0,15,0,3,0,48,0,60,0 27,0,59,0,16,0,39,0,52,0,43,0 19,0,61,0,30,0,38,0,41,0,49,0 5,0,20,0,32,0,33,0,55,0,53,0 9,0,57,0,4,0,56,0,18,0,14,0 26,0,46,0,31,0,28,0,8,0,23,0 3,0,12,0,6,0,21,0,62,0,27,0 22,0,34,0,15,0,19,0,7,0,2,0 49,0,1,0,52,0,32,0,37,0,25,0 10,0,40,0,47,0,17,0,24,0,45,0 60,0,11,0,33,0,9,0,59,0,50,0 29,0,56,0,42,0,14,0,20,0,38,0 48,0,4,0,43,0,35,0,61,0,53,0 57,0,28,0,44,0,16,0,5,0,58,0 26,0,36,0,51,0,39,0,30,0,55,0 54,0,13,0,34,0,41,0,18,0,60,0 50,0,32,0,21,0,59,0,31,0,38,0 9,0,10,0,45,0,42,0,25,0,20,0 2,0,33,0,47,0,57,0,43,0,8,0 29,0,37,0,48,0,22,0,11,0,28,0 27,0,23,0,4,0,19,0,5,0,55,0 44,0,52,0,6,0,18,0,40,0,61,0 41,0,7,0,58,0,51,0,1,0,3,0 30,0,54,0,26,0,12,0,56,0,17,0 53,0,16,0,24,0,36,0,49,0,14,0 39,0,62,0,46,0,35,0,15,0,13,0 48,0,25,0,40,0,38,0,33,0,21,0 11,0,5,0,18,0,45,0,3,0,8,0 54,0,22,0,27,0,57,0,30,0,23,0 37,0,6,0,16,0,12,0,34,0,42,0 55,0,47,0,43,0,46,0,50,0,1,0 28,0,41,0,35,0,14,0,32,0,10,0 29,0,49,0,39,0,2,0,62,0,4,0 56,0,53,0,13,0,15,0,59,0,44,0 24,0,58,0,61,0,60,0,31,0,20,0 9,0,7,0,52,0,36,0,17,0,19,0 51,0,47,0,45,0,26,0,34,0,48,0 ================================================ FILE: schedules/62_11.csv ================================================ 46,0,33,0,48,0,10,0,54,0,12,0 45,0,17,0,42,0,27,0,4,0,22,0 32,0,49,0,5,0,28,0,3,0,7,0 50,0,29,0,41,0,16,0,52,0,55,0 20,0,40,0,57,0,25,0,31,0,14,0 34,0,26,0,23,0,62,0,58,0,47,0 37,0,56,0,2,0,24,0,6,0,18,0 21,0,51,0,38,0,43,0,19,0,15,0 44,0,59,0,9,0,30,0,1,0,8,0 35,0,36,0,13,0,39,0,53,0,60,0 11,0,52,0,58,0,61,0,57,0,10,0 6,0,34,0,25,0,3,0,48,0,45,0 16,0,56,0,47,0,21,0,42,0,40,0 14,0,50,0,62,0,41,0,7,0,17,0 4,0,12,0,33,0,35,0,23,0,9,0 32,0,24,0,54,0,44,0,29,0,43,0 26,0,28,0,27,0,11,0,39,0,31,0 8,0,60,0,18,0,46,0,1,0,19,0 2,0,30,0,49,0,22,0,13,0,38,0 59,0,15,0,53,0,61,0,37,0,55,0 20,0,5,0,7,0,36,0,51,0,54,0 35,1,43,0,39,0,25,1,56,0,40,0 27,0,17,0,16,0,32,0,48,0,19,0 45,0,62,0,60,0,31,0,3,0,8,0 33,0,26,0,14,0,15,0,50,0,6,0 47,0,18,0,57,0,12,0,61,0,5,0 30,0,13,0,52,0,23,0,55,0,42,0 29,0,38,0,1,0,20,0,34,0,53,0 59,0,46,0,22,0,11,0,21,0,44,0 41,0,51,0,10,0,37,0,28,0,4,0 58,0,9,0,49,0,2,0,36,0,24,0 3,0,57,0,19,0,40,0,39,0,30,0 18,0,20,0,16,0,27,0,15,0,45,0 14,0,34,0,21,0,8,0,54,0,35,0 31,0,44,0,53,0,33,0,47,0,52,0 60,0,24,0,43,0,26,0,10,0,7,0 1,0,59,0,36,0,2,0,4,0,62,0 22,0,23,0,61,0,48,0,56,0,29,0 46,0,37,0,25,0,13,0,50,0,32,0 28,0,5,0,11,0,41,0,38,0,9,0 51,0,55,0,58,0,17,0,6,0,12,0 49,0,54,0,53,0,42,0,18,0,59,0 10,0,45,0,43,0,14,0,44,0,23,0 20,0,22,0,24,0,33,0,32,0,35,0 36,0,31,0,34,0,19,0,11,0,16,0 12,0,47,0,48,0,4,0,60,0,15,0 39,0,58,0,6,0,62,0,46,0,29,0 56,0,57,0,42,0,7,0,2,0,55,0 26,0,9,0,61,0,25,0,49,0,51,0 27,0,50,0,30,0,40,0,1,0,5,0 37,0,21,0,3,0,38,0,52,0,17,0 8,0,13,0,53,0,41,0,28,0,48,0 32,0,15,0,36,0,58,0,57,0,23,0 20,0,39,0,61,0,12,0,43,0,16,0 19,0,42,0,4,0,25,0,5,0,44,0 26,0,17,0,2,0,54,0,52,0,46,0 27,0,35,0,29,0,50,0,49,0,37,0 60,0,51,0,40,0,34,0,41,0,22,0 3,0,33,0,9,0,14,0,18,0,13,0 24,0,55,0,47,0,8,0,28,0,62,0 31,0,59,0,38,0,6,0,10,0,56,0 21,0,1,0,7,0,11,0,30,0,45,0 37,0,22,0,52,0,43,0,58,0,36,0 18,0,53,0,4,0,26,0,50,0,16,0 28,0,44,0,40,0,2,0,15,0,48,0 42,0,39,0,62,0,33,0,38,0,20,0 7,0,34,0,12,0,13,0,59,0,10,0 8,0,23,0,25,0,27,0,54,0,11,0 35,0,5,0,46,0,56,0,45,0,55,0 6,0,41,0,1,0,49,0,57,0,21,0 29,0,24,0,19,0,14,0,47,0,3,0 31,0,32,0,17,0,61,0,51,0,30,0 60,0,26,0,48,0,9,0,20,0,42,0 12,0,45,0,2,0,53,0,11,0,37,0 5,0,8,0,33,0,25,0,52,0,43,0 47,0,15,0,10,0,19,0,49,0,35,0 62,0,6,0,27,0,61,0,44,0,13,0 50,0,54,0,3,0,31,0,1,0,22,0 46,0,24,0,38,0,16,0,57,0,51,0 18,0,32,0,58,0,60,0,41,0,59,0 55,0,29,0,21,0,40,0,36,0,4,0 7,0,39,0,23,0,17,0,34,0,9,0 28,0,30,0,12,0,14,0,56,0,22,0 37,0,1,0,43,0,31,0,42,0,46,0 16,0,35,0,3,0,59,0,57,0,26,0 61,0,19,0,2,0,45,0,41,0,33,0 40,0,10,0,62,0,18,0,9,0,21,0 48,0,55,0,27,0,38,0,7,0,58,0 14,0,4,0,39,0,52,0,32,0,53,0 17,0,56,0,51,0,8,0,36,0,29,0 49,0,23,0,11,0,44,0,60,0,50,0 28,0,47,0,6,0,30,0,25,0,20,0 54,0,34,0,13,0,5,0,15,0,24,0 3,0,62,0,43,0,2,0,53,0,27,0 7,0,52,0,35,0,51,0,19,0,18,0 36,0,38,0,12,0,26,0,44,0,41,0 61,0,58,0,48,0,50,0,21,0,39,0 55,0,15,0,22,0,25,0,10,0,1,0 30,0,14,0,46,0,33,0,49,0,34,0 54,0,9,0,60,0,6,0,16,0,37,0 45,0,57,0,13,0,29,0,47,0,17,0 56,0,11,0,8,0,20,0,4,0,32,0 31,0,24,0,40,0,59,0,5,0,23,0 42,0,61,0,35,0,28,0,36,0,46,0 16,0,25,0,15,0,7,0,30,0,62,0 52,0,29,0,34,0,12,0,9,0,27,0 44,0,56,0,4,0,13,0,58,0,3,0 40,0,32,0,45,0,26,0,54,0,38,0 55,0,49,0,18,0,31,0,48,0,43,0 28,0,21,0,33,0,37,0,60,0,57,0 50,0,10,0,5,0,2,0,8,0,42,0 53,0,19,0,22,0,23,0,6,0,20,0 51,0,59,0,14,0,39,0,47,0,1,0 41,0,11,0,25,0,17,0,24,0,35,0 ================================================ FILE: schedules/62_12.csv ================================================ 4,0,24,0,44,0,11,0,61,0,23,0 37,0,29,0,13,0,46,0,1,0,16,0 57,0,14,0,7,0,28,0,25,0,17,0 47,0,10,0,27,0,15,0,49,0,43,0 42,0,53,0,54,0,21,0,56,0,52,0 41,0,6,0,30,0,35,0,55,0,12,0 59,0,51,0,22,0,31,0,3,0,58,0 39,0,18,0,19,0,8,0,34,0,2,0 9,0,20,0,62,0,36,0,60,0,5,0 33,0,38,0,32,0,50,0,40,0,45,0 48,0,24,0,6,0,26,0,27,0,12,0 25,0,31,0,11,0,29,0,56,0,1,0 17,0,2,0,22,0,61,0,53,0,8,0 51,0,41,0,49,0,20,0,42,0,13,0 54,0,36,0,19,0,7,0,15,0,38,0 48,0,3,0,32,0,37,0,23,0,14,0 34,0,57,0,46,0,59,0,45,0,30,0 47,0,21,0,16,0,4,0,62,0,18,0 39,0,44,0,52,0,60,0,55,0,33,0 28,0,9,0,26,0,43,0,58,0,40,0 35,0,50,0,53,0,5,0,10,0,3,0 49,0,17,0,32,0,56,0,46,0,59,0 15,0,31,0,20,0,11,0,48,0,4,0 8,0,6,0,54,0,44,0,60,0,16,0 23,0,39,0,9,0,38,0,28,0,42,0 61,0,58,0,14,0,26,0,19,0,13,0 41,0,1,0,36,0,10,0,45,0,2,0 43,0,55,0,22,0,25,0,33,0,62,0 51,0,30,0,40,0,52,0,29,0,27,0 12,0,47,0,24,0,50,0,7,0,34,0 21,0,18,0,37,0,5,0,57,0,35,0 15,0,1,0,58,0,41,0,44,0,61,0 16,0,6,0,53,0,36,0,59,0,49,0 30,0,25,0,54,0,39,0,3,0,2,0 34,0,45,0,62,0,28,0,52,0,14,0 40,0,21,0,20,0,57,0,24,0,27,0 56,0,26,0,23,0,35,0,22,0,18,0 31,0,60,0,47,0,17,0,33,0,37,0 11,0,5,0,7,0,38,0,43,0,46,0 42,0,29,0,48,0,50,0,13,0,8,0 55,0,10,0,4,0,32,0,19,0,51,0 9,0,22,0,58,0,12,0,57,0,54,0 15,0,60,0,3,0,49,0,24,0,18,0 43,0,61,0,39,0,16,0,45,0,52,0 2,0,33,0,42,0,59,0,48,0,20,0 17,0,53,0,27,0,29,0,55,0,50,0 11,0,8,0,46,0,25,0,9,0,47,0 5,0,41,0,38,0,4,0,26,0,31,0 34,0,23,0,6,0,7,0,51,0,56,0 13,0,12,0,40,0,10,0,62,0,44,0 28,0,32,0,1,0,21,0,30,0,19,0 36,0,14,0,2,0,37,0,35,0,49,0 52,0,3,0,43,0,41,0,17,0,57,0 61,0,27,0,38,0,59,0,18,0,42,0 29,0,16,0,7,0,20,0,33,0,22,0 26,0,54,0,51,0,62,0,30,0,11,0 14,0,46,0,31,0,24,0,40,0,53,0 23,0,1,0,10,0,6,0,39,0,58,0 34,0,37,0,44,0,4,0,50,0,9,0 47,0,55,0,15,0,56,0,28,0,13,0 25,0,36,0,8,0,12,0,32,0,5,0 21,0,35,0,45,0,19,0,48,0,60,0 57,0,42,0,10,0,24,0,33,0,11,0 18,0,23,0,41,0,53,0,62,0,46,0 44,0,38,0,2,0,17,0,3,0,16,0 20,0,26,0,55,0,47,0,1,0,37,0 59,0,4,0,40,0,39,0,35,0,7,0 12,0,21,0,8,0,51,0,15,0,14,0 43,0,27,0,25,0,31,0,34,0,48,0 30,0,50,0,60,0,36,0,58,0,56,0 32,0,45,0,13,0,22,0,6,0,52,0 49,0,61,0,5,0,29,0,54,0,28,0 9,0,33,0,51,0,19,0,35,0,17,0 46,0,23,0,2,0,57,0,21,0,55,0 14,0,24,0,56,0,43,0,4,0,41,0 48,0,52,0,1,0,36,0,27,0,22,0 54,0,58,0,45,0,47,0,29,0,20,0 11,0,53,0,3,0,12,0,60,0,28,0 31,0,10,0,13,0,18,0,8,0,9,0 34,0,5,0,16,0,40,0,42,0,32,0 15,0,50,0,19,0,39,0,26,0,59,0 38,0,62,0,37,0,6,0,25,0,61,0 30,0,49,0,53,0,7,0,44,0,48,0 46,0,29,0,22,0,4,0,60,0,14,0 35,0,11,0,20,0,34,0,32,0,55,0 5,0,27,0,56,0,33,0,45,0,39,0 21,0,58,0,50,0,43,0,31,0,6,0 12,0,59,0,19,0,23,0,54,0,40,0 16,0,13,0,2,0,17,0,26,0,24,0 52,0,42,0,30,0,37,0,10,0,15,0 7,0,61,0,47,0,41,0,3,0,9,0 62,0,57,0,1,0,49,0,8,0,38,0 18,0,28,0,36,0,51,0,25,0,44,0 17,0,55,0,48,0,5,0,4,0,54,0 2,0,58,0,37,0,40,0,15,0,11,0 29,0,59,0,23,0,41,0,52,0,47,0 3,0,22,0,19,0,20,0,46,0,6,0 18,0,12,0,31,0,39,0,49,0,42,0 7,0,45,0,27,0,32,0,8,0,44,0 14,0,53,0,33,0,1,0,30,0,9,0 57,0,56,0,50,0,61,0,16,0,51,0 24,0,28,0,43,0,13,0,35,0,38,0 34,0,26,0,25,0,10,0,60,0,21,0 62,0,3,0,55,0,36,0,42,0,31,0 5,0,30,0,44,0,14,0,47,0,19,0 17,0,40,0,18,0,45,0,11,0,6,0 41,0,35,0,46,0,54,0,50,0,27,0 37,0,59,0,28,0,24,0,10,0,22,0 36,0,61,0,13,0,34,0,21,0,33,0 20,0,16,0,25,0,53,0,15,0,23,0 8,0,52,0,4,0,49,0,26,0,58,0 39,0,32,0,62,0,57,0,48,0,9,0 7,0,43,0,60,0,1,0,51,0,2,0 12,0,56,0,10,0,38,0,29,0,21,0 19,0,27,0,41,0,37,0,16,0,11,0 59,0,52,0,50,0,14,0,18,0,20,0 45,0,49,0,9,0,25,0,55,0,24,0 5,0,15,0,17,0,34,0,1,0,22,0 62,0,35,0,42,0,7,0,58,0,46,0 39,0,38,0,51,0,47,0,32,0,53,0 60,0,13,0,54,0,23,0,31,0,30,0 26,0,43,0,57,0,36,0,44,0,29,0 8,0,40,0,48,0,56,0,61,0,3,0 28,0,33,0,4,0,2,0,12,0,6,0 ================================================ FILE: schedules/62_13.csv ================================================ 21,0,47,0,50,0,53,0,31,0,48,0 37,0,60,0,19,0,55,0,5,0,34,0 30,0,54,0,41,0,1,0,39,0,17,0 16,0,15,0,23,0,13,0,36,0,18,0 58,0,51,0,27,0,8,0,40,0,29,0 56,0,38,0,4,0,3,0,42,0,11,0 7,0,22,0,46,0,52,0,61,0,24,0 59,0,43,0,35,0,9,0,20,0,6,0 49,0,2,0,45,0,28,0,10,0,62,0 33,0,32,0,12,0,44,0,26,0,57,0 14,0,8,0,38,0,25,0,4,0,47,0 39,0,27,0,22,0,7,0,36,0,19,0 56,0,6,0,21,0,61,0,50,0,41,0 3,0,45,0,13,0,20,0,17,0,42,0 58,0,52,0,1,0,49,0,12,0,34,0 44,0,10,0,60,0,37,0,51,0,24,0 9,0,53,0,2,0,54,0,32,0,26,0 18,0,31,0,40,0,25,0,57,0,5,0 28,0,30,0,46,0,59,0,48,0,62,0 23,0,55,0,29,0,33,0,43,0,14,0 16,0,11,0,4,0,15,0,35,0,21,0 34,1,24,0,26,0,10,1,41,0,8,0 40,1,1,0,27,0,3,1,61,0,32,0 18,0,45,0,59,0,50,0,49,0,44,0 33,0,47,0,5,0,28,0,17,0,51,0 30,0,52,0,48,0,36,0,29,0,25,0 35,0,23,0,54,0,37,0,58,0,31,0 14,0,62,0,13,0,56,0,7,0,39,0 12,0,60,0,11,0,9,0,43,0,22,0 55,0,2,0,6,0,42,0,16,0,46,0 15,0,20,0,53,0,19,0,57,0,38,0 17,0,59,0,50,0,23,0,34,0,61,0 1,0,29,0,35,0,49,0,24,0,62,0 26,0,13,0,8,0,11,0,30,0,21,0 9,0,14,0,3,0,5,0,6,0,27,0 2,0,47,0,32,0,37,0,22,0,18,0 42,0,44,0,25,0,10,0,19,0,58,0 55,0,16,0,48,0,12,0,7,0,41,0 54,0,57,0,36,0,43,0,51,0,4,0 15,0,31,0,46,0,45,0,33,0,39,0 53,0,56,0,52,0,40,0,28,0,20,0 38,0,10,0,59,0,60,0,29,0,13,0 32,0,19,0,8,0,3,0,7,0,2,0 47,0,57,0,11,0,16,0,44,0,1,0 48,0,26,0,43,0,35,0,27,0,17,0 21,0,34,0,39,0,28,0,24,0,56,0 40,0,37,0,4,0,52,0,38,0,45,0 49,0,20,0,54,0,55,0,25,0,22,0 18,0,61,0,62,0,58,0,33,0,9,0 31,0,50,0,60,0,36,0,42,0,14,0 51,0,6,0,53,0,15,0,30,0,12,0 23,0,41,0,32,0,5,0,46,0,29,0 52,0,57,0,34,0,13,0,27,0,48,0 55,0,18,0,28,0,38,0,1,0,26,0 35,0,58,0,2,0,60,0,25,0,14,0 12,0,39,0,4,0,47,0,19,0,17,0 51,0,46,0,45,0,16,0,9,0,56,0 59,0,20,0,36,0,37,0,54,0,21,0 41,0,42,0,24,0,53,0,23,0,40,0 43,0,3,0,50,0,10,0,7,0,30,0 49,0,6,0,61,0,33,0,31,0,11,0 22,0,44,0,62,0,8,0,15,0,5,0 4,0,48,0,58,0,26,0,51,0,59,0 57,0,12,0,2,0,29,0,21,0,45,0 39,0,35,0,55,0,23,0,52,0,18,0 19,0,42,0,34,0,47,0,46,0,6,0 61,0,13,0,33,0,40,0,54,0,5,0 62,0,25,0,11,0,27,0,28,0,50,0 41,0,56,0,3,0,60,0,49,0,36,0 24,0,15,0,32,0,30,0,14,0,20,0 44,0,9,0,38,0,17,0,31,0,7,0 1,0,37,0,43,0,22,0,53,0,16,0 8,0,6,0,48,0,10,0,45,0,54,0 36,0,46,0,11,0,58,0,47,0,3,0 5,0,12,0,50,0,2,0,4,0,27,0 33,0,59,0,41,0,32,0,38,0,35,0 44,0,55,0,53,0,34,0,25,0,13,0 8,0,28,0,1,0,23,0,9,0,19,0 18,0,10,0,42,0,21,0,52,0,14,0 30,0,17,0,61,0,56,0,57,0,37,0 51,0,29,0,62,0,20,0,31,0,22,0 49,0,26,0,7,0,40,0,15,0,60,0 43,0,16,0,25,0,24,0,39,0,5,0 21,0,36,0,44,0,33,0,46,0,35,0 9,0,47,0,30,0,10,0,4,0,52,0 14,0,31,0,23,0,53,0,12,0,3,0 56,0,2,0,17,0,55,0,15,0,59,0 7,0,27,0,42,0,1,0,49,0,51,0 11,0,24,0,13,0,19,0,18,0,48,0 34,0,38,0,58,0,43,0,32,0,45,0 61,0,60,0,16,0,20,0,8,0,62,0 22,0,50,0,54,0,57,0,28,0,41,0 37,0,29,0,39,0,40,0,26,0,6,0 21,0,59,0,25,0,55,0,1,0,3,0 5,0,7,0,45,0,36,0,53,0,35,0 17,0,46,0,38,0,10,0,16,0,27,0 41,0,34,0,51,0,18,0,2,0,11,0 47,0,60,0,23,0,56,0,40,0,30,0 44,0,33,0,48,0,14,0,4,0,22,0 57,0,58,0,24,0,13,0,9,0,50,0 20,0,12,0,37,0,39,0,49,0,8,0 28,0,54,0,15,0,29,0,42,0,32,0 26,0,19,0,52,0,43,0,31,0,61,0 62,0,21,0,38,0,6,0,44,0,23,0 27,0,45,0,53,0,60,0,55,0,33,0 14,0,49,0,37,0,13,0,46,0,57,0 39,0,40,0,9,0,48,0,50,0,2,0 31,0,42,0,5,0,11,0,59,0,8,0 32,0,36,0,58,0,17,0,6,0,24,0 62,0,15,0,41,0,52,0,43,0,47,0 20,0,4,0,29,0,18,0,34,0,7,0 26,0,16,0,28,0,51,0,3,0,54,0 35,0,10,0,25,0,61,0,12,0,56,0 19,0,22,0,45,0,1,0,30,0,23,0 5,0,60,0,53,0,38,0,48,0,39,0 43,0,17,0,11,0,40,0,2,0,14,0 52,0,8,0,7,0,59,0,6,0,57,0 51,0,50,0,25,0,37,0,32,0,46,0 24,0,12,0,18,0,62,0,54,0,42,0 10,0,1,0,34,0,15,0,33,0,36,0 4,0,30,0,55,0,28,0,58,0,61,0 3,0,35,0,26,0,13,0,47,0,22,0 27,0,56,0,20,0,31,0,44,0,41,0 16,0,19,0,21,0,49,0,9,0,29,0 8,0,18,0,17,0,46,0,53,0,43,0 32,0,57,0,10,0,39,0,23,0,11,0 40,0,3,0,36,0,55,0,12,0,62,0 13,0,31,0,6,0,60,0,1,0,4,0 28,0,34,0,14,0,16,0,35,0,51,0 29,0,33,0,52,0,56,0,50,0,19,0 15,0,7,0,9,0,25,0,41,0,37,0 59,0,61,0,27,0,47,0,45,0,24,0 49,0,38,0,30,0,54,0,2,0,44,0 5,0,20,0,48,0,42,0,26,0,58,0 22,0,34,0,40,0,21,0,10,0,3,0 ================================================ FILE: schedules/62_14.csv ================================================ 4,0,5,0,49,0,31,0,55,0,51,0 8,0,7,0,41,0,36,0,54,0,25,0 24,0,42,0,45,0,3,0,53,0,11,0 44,0,56,0,62,0,12,0,58,0,29,0 9,0,60,0,32,0,21,0,61,0,33,0 30,0,46,0,26,0,1,0,27,0,2,0 14,0,13,0,59,0,6,0,35,0,28,0 47,0,15,0,22,0,43,0,52,0,20,0 18,0,40,0,39,0,57,0,50,0,16,0 17,0,37,0,34,0,19,0,23,0,10,0 48,0,58,0,5,0,38,0,2,0,46,0 13,0,7,0,35,0,61,0,62,0,24,0 31,0,32,0,8,0,3,0,1,0,56,0 50,0,12,0,11,0,29,0,15,0,41,0 25,0,43,0,49,0,33,0,9,0,19,0 55,0,53,0,57,0,34,0,54,0,22,0 16,0,37,0,48,0,21,0,30,0,14,0 39,0,47,0,60,0,17,0,42,0,18,0 4,0,20,0,28,0,45,0,27,0,6,0 36,0,44,0,51,0,52,0,40,0,26,0 23,0,59,0,22,0,10,0,38,0,54,0 49,1,55,0,8,0,41,1,53,0,19,0 42,0,48,0,34,0,11,0,57,0,62,0 56,0,25,0,58,0,31,0,15,0,61,0 46,0,28,0,24,0,26,0,20,0,21,0 33,0,27,0,47,0,50,0,14,0,29,0 37,0,4,0,43,0,36,0,35,0,2,0 45,0,17,0,9,0,38,0,32,0,6,0 51,0,12,0,18,0,40,0,13,0,30,0 60,0,52,0,3,0,7,0,39,0,23,0 1,0,16,0,44,0,59,0,10,0,5,0 53,0,42,0,54,0,14,0,56,0,35,0 19,0,36,0,47,0,62,0,31,0,46,0 61,0,43,0,27,0,6,0,24,0,40,0 25,0,13,0,20,0,55,0,60,0,48,0 58,0,50,0,1,0,17,0,49,0,23,0 16,0,34,0,2,0,15,0,51,0,39,0 26,0,45,0,5,0,10,0,33,0,41,0 11,0,7,0,22,0,32,0,44,0,30,0 8,0,52,0,12,0,59,0,4,0,57,0 3,0,29,0,28,0,18,0,9,0,37,0 38,0,1,0,51,0,21,0,35,0,25,0 48,0,40,0,54,0,45,0,31,0,39,0 22,0,46,0,17,0,42,0,36,0,13,0 57,0,27,0,41,0,23,0,58,0,32,0 60,0,33,0,53,0,2,0,6,0,44,0 61,0,20,0,14,0,18,0,62,0,59,0 30,0,37,0,56,0,15,0,49,0,24,0 43,0,7,0,5,0,28,0,8,0,34,0 4,0,19,0,50,0,21,0,11,0,9,0 55,0,26,0,29,0,16,0,38,0,52,0 47,0,12,0,35,0,10,0,3,0,48,0 54,0,33,0,30,0,20,0,1,0,42,0 32,0,2,0,24,0,40,0,59,0,49,0 17,0,44,0,21,0,34,0,56,0,27,0 15,0,9,0,55,0,7,0,36,0,29,0 47,0,58,0,11,0,22,0,25,0,6,0 12,0,31,0,16,0,23,0,53,0,61,0 60,0,10,0,50,0,28,0,51,0,52,0 46,0,45,0,41,0,43,0,57,0,14,0 8,0,38,0,18,0,37,0,19,0,62,0 5,0,3,0,39,0,26,0,4,0,13,0 11,0,16,0,42,0,1,0,55,0,7,0 48,0,15,0,59,0,27,0,53,0,49,0 31,0,2,0,33,0,57,0,17,0,28,0 51,0,60,0,45,0,37,0,46,0,12,0 26,0,43,0,62,0,47,0,32,0,54,0 18,0,22,0,4,0,41,0,24,0,56,0 29,0,19,0,20,0,35,0,23,0,40,0 44,0,52,0,25,0,9,0,39,0,14,0 50,0,21,0,38,0,61,0,10,0,13,0 3,0,30,0,6,0,5,0,36,0,34,0 58,0,49,0,33,0,8,0,4,0,16,0 7,0,19,0,2,0,22,0,12,0,45,0 44,0,55,0,54,0,47,0,18,0,24,0 61,0,40,0,17,0,26,0,14,0,1,0 48,0,51,0,23,0,59,0,9,0,43,0 46,0,57,0,3,0,29,0,25,0,62,0 42,0,21,0,31,0,13,0,52,0,15,0 27,0,37,0,38,0,34,0,20,0,41,0 10,0,28,0,39,0,53,0,30,0,58,0 35,0,32,0,11,0,8,0,5,0,60,0 50,0,6,0,59,0,36,0,56,0,55,0 33,0,16,0,40,0,9,0,22,0,3,0 29,0,61,0,52,0,45,0,54,0,37,0 21,0,28,0,1,0,4,0,47,0,44,0 5,0,53,0,38,0,17,0,30,0,43,0 34,0,12,0,24,0,36,0,31,0,27,0 10,0,14,0,62,0,19,0,60,0,15,0 18,0,23,0,2,0,25,0,11,0,8,0 41,0,49,0,35,0,13,0,46,0,39,0 57,0,48,0,26,0,7,0,56,0,50,0 6,0,20,0,58,0,42,0,51,0,32,0 37,0,3,0,31,0,44,0,22,0,38,0 55,0,62,0,23,0,30,0,28,0,45,0 36,0,52,0,33,0,35,0,1,0,18,0 19,0,61,0,57,0,26,0,27,0,11,0 21,0,12,0,15,0,54,0,5,0,17,0 2,0,51,0,49,0,42,0,6,0,29,0 39,0,8,0,58,0,48,0,14,0,24,0 32,0,46,0,59,0,34,0,47,0,50,0 13,0,43,0,56,0,60,0,16,0,20,0 10,0,53,0,40,0,25,0,7,0,4,0 9,0,49,0,1,0,41,0,12,0,62,0 17,0,38,0,24,0,2,0,57,0,52,0 18,0,15,0,45,0,58,0,26,0,35,0 14,0,11,0,54,0,51,0,33,0,3,0 31,0,59,0,30,0,60,0,29,0,43,0 7,0,53,0,9,0,46,0,47,0,20,0 50,0,25,0,5,0,37,0,22,0,42,0 36,0,23,0,6,0,21,0,39,0,16,0 19,0,40,0,56,0,55,0,41,0,28,0 48,0,32,0,4,0,44,0,61,0,34,0 27,0,10,0,29,0,8,0,13,0,24,0 53,0,59,0,26,0,37,0,60,0,58,0 38,0,45,0,35,0,16,0,49,0,47,0 31,0,57,0,25,0,9,0,50,0,30,0 21,0,7,0,40,0,43,0,18,0,11,0 10,0,4,0,36,0,2,0,14,0,42,0 23,0,34,0,52,0,33,0,56,0,5,0 55,0,61,0,6,0,8,0,15,0,46,0 44,0,41,0,3,0,48,0,17,0,20,0 28,0,32,0,13,0,54,0,19,0,12,0 1,0,39,0,62,0,22,0,51,0,27,0 36,0,60,0,14,0,38,0,58,0,7,0 11,0,6,0,46,0,10,0,52,0,31,0 16,0,23,0,15,0,24,0,4,0,33,0 54,0,57,0,56,0,37,0,47,0,5,0 51,0,9,0,35,0,27,0,17,0,55,0 41,0,30,0,2,0,59,0,21,0,3,0 28,0,22,0,19,0,39,0,48,0,61,0 50,0,44,0,42,0,45,0,43,0,8,0 25,0,26,0,34,0,12,0,49,0,20,0 29,0,13,0,18,0,32,0,53,0,1,0 62,0,54,0,60,0,40,0,46,0,4,0 41,0,47,0,61,0,5,0,51,0,30,0 17,0,39,0,33,0,37,0,59,0,7,0 57,0,22,0,20,0,49,0,21,0,10,0 9,0,23,0,56,0,2,0,11,0,13,0 62,0,8,0,35,0,26,0,31,0,50,0 24,0,29,0,1,0,48,0,6,0,19,0 52,0,27,0,32,0,16,0,25,0,53,0 3,0,12,0,14,0,55,0,58,0,43,0 38,0,15,0,42,0,44,0,28,0,40,0 34,0,45,0,49,0,18,0,36,0,41,0 ================================================ FILE: schedules/62_2.csv ================================================ 24,0,14,0,8,0,27,0,36,0,60,0 59,0,18,0,61,0,42,0,34,0,43,0 29,0,20,0,46,0,13,0,12,0,54,0 23,0,62,0,51,0,4,0,19,0,38,0 3,0,28,0,44,0,52,0,30,0,53,0 56,0,26,0,33,0,17,0,57,0,15,0 11,0,37,0,9,0,6,0,22,0,39,0 45,0,47,0,50,0,41,0,21,0,32,0 55,0,16,0,1,0,40,0,35,0,58,0 48,0,10,0,2,0,7,0,5,0,25,0 49,0,34,0,12,0,31,0,33,0,4,0 14,0,52,0,43,0,39,0,62,0,13,0 24,0,22,0,41,0,61,0,46,0,51,0 40,0,27,0,26,0,23,0,9,0,50,0 19,0,7,0,17,0,21,0,53,0,36,0 56,0,29,0,38,0,1,0,44,0,2,0 30,0,18,0,10,0,16,0,8,0,47,0 35,0,15,0,42,0,20,0,3,0,11,0 5,0,6,0,49,0,32,0,54,0,55,0 58,0,45,0,37,0,28,0,59,0,48,0 60,0,57,0,46,1,31,0,25,0,38,1 ================================================ FILE: schedules/62_3.csv ================================================ 27,0,49,0,13,0,18,0,1,0,15,0 51,0,31,0,45,0,50,0,42,0,35,0 8,0,40,0,22,0,25,0,2,0,34,0 48,0,52,0,36,0,24,0,10,0,38,0 37,0,17,0,33,0,56,0,5,0,59,0 60,0,21,0,7,0,39,0,44,0,16,0 62,0,14,0,57,0,29,0,30,0,46,0 47,0,26,0,43,0,12,0,53,0,61,0 20,0,4,0,6,0,54,0,3,0,58,0 32,0,55,0,23,0,9,0,41,0,19,0 11,0,7,0,17,0,28,0,15,0,25,0 39,0,37,0,30,0,22,0,10,0,45,0 43,0,29,0,21,0,2,0,31,0,52,0 56,0,49,0,62,0,26,0,54,0,51,0 3,0,34,0,19,0,13,0,48,0,16,0 9,0,33,0,24,0,61,0,58,0,27,0 20,0,53,0,44,0,28,0,57,0,23,0 8,0,35,0,4,0,47,0,60,0,41,0 50,0,38,0,46,0,5,0,32,0,11,0 1,0,14,0,42,0,55,0,40,0,59,0 18,0,12,0,16,0,6,0,36,0,33,0 39,0,2,0,13,0,26,0,20,0,9,0 21,0,51,0,58,0,34,0,37,0,15,0 3,0,10,0,8,0,11,0,62,0,27,0 41,0,38,0,44,0,42,0,22,0,43,0 12,0,52,0,32,0,49,0,17,0,57,0 40,0,54,0,18,0,19,0,45,0,29,0 5,0,47,0,31,0,7,0,23,0,14,0 56,0,61,0,28,0,36,0,55,0,60,0 48,0,59,0,50,0,53,0,30,0,4,0 25,0,1,0,46,0,6,0,24,0,35,0 ================================================ FILE: schedules/62_4.csv ================================================ 18,0,47,0,43,0,25,0,8,0,30,0 12,0,52,0,23,0,31,0,45,0,16,0 40,0,26,0,36,0,6,0,10,0,60,0 41,0,59,0,11,0,56,0,21,0,14,0 39,0,46,0,34,0,17,0,54,0,20,0 38,0,61,0,62,0,57,0,53,0,5,0 35,0,29,0,37,0,55,0,19,0,7,0 28,0,24,0,50,0,13,0,9,0,27,0 44,0,51,0,48,0,3,0,15,0,49,0 2,0,58,0,1,0,42,0,4,0,22,0 32,0,62,0,60,0,33,0,11,0,23,0 20,0,19,0,8,0,12,0,59,0,38,0 16,0,17,0,50,0,41,0,10,0,55,0 25,0,27,0,34,0,57,0,15,0,26,0 36,0,52,0,1,0,29,0,21,0,48,0 44,0,14,0,61,0,18,0,40,0,42,0 7,0,5,0,28,0,47,0,32,0,45,0 31,0,33,0,24,0,39,0,4,0,49,0 13,0,58,0,3,0,46,0,53,0,43,0 2,0,9,0,56,0,51,0,37,0,30,0 54,0,22,0,14,0,35,0,6,0,48,0 32,1,18,0,15,0,38,1,29,0,16,0 42,1,7,0,26,0,52,1,8,0,11,0 20,0,24,0,23,0,3,0,36,0,61,0 10,0,5,0,49,0,2,0,34,0,12,0 13,0,6,0,62,0,30,0,4,0,41,0 55,0,40,0,46,0,57,0,33,0,59,0 21,0,60,0,51,0,45,0,58,0,50,0 35,0,39,0,53,0,44,0,25,0,9,0 43,0,31,0,1,0,37,0,28,0,54,0 17,0,47,0,27,0,22,0,56,0,19,0 30,0,32,0,12,0,36,0,14,0,46,0 11,0,55,0,6,0,51,0,18,0,24,0 50,0,4,0,38,0,44,0,7,0,23,0 29,0,25,0,42,0,20,0,33,0,5,0 53,0,56,0,54,0,49,0,52,0,40,0 31,0,9,0,3,0,26,0,17,0,21,0 57,0,16,0,48,0,47,0,13,0,2,0 35,0,8,0,15,0,58,0,10,0,28,0 39,0,61,0,41,0,19,0,1,0,60,0 59,0,45,0,22,0,34,0,37,0,62,0 27,0,32,0,42,0,43,0,38,0,52,0 ================================================ FILE: schedules/62_5.csv ================================================ 18,0,56,0,60,0,7,0,42,0,22,0 5,0,2,0,41,0,8,0,40,0,55,0 59,0,4,0,29,0,49,0,52,0,14,0 48,0,31,0,38,0,58,0,6,0,1,0 3,0,13,0,54,0,24,0,10,0,39,0 27,0,35,0,53,0,9,0,12,0,62,0 26,0,15,0,30,0,61,0,34,0,47,0 16,0,33,0,11,0,17,0,23,0,21,0 20,0,44,0,25,0,43,0,37,0,46,0 57,0,36,0,19,0,51,0,28,0,45,0 50,0,27,0,38,0,32,0,42,0,4,0 2,0,30,0,9,0,7,0,54,0,29,0 49,0,48,0,18,0,3,0,47,0,8,0 56,0,25,0,10,0,52,0,5,0,21,0 41,0,62,0,61,0,24,0,43,0,6,0 31,0,13,0,53,0,57,0,11,0,22,0 58,0,36,0,12,0,55,0,16,0,15,0 20,0,33,0,40,0,19,0,50,0,35,0 46,0,14,0,28,0,17,0,26,0,60,0 34,0,39,0,23,0,45,0,44,0,59,0 1,0,37,0,61,0,32,0,51,0,49,0 27,1,24,0,47,0,21,1,36,0,31,0 12,0,54,0,33,0,38,0,56,0,8,0 35,0,42,0,6,0,29,0,11,0,46,0 15,0,25,0,28,0,23,0,7,0,40,0 52,0,9,0,45,0,60,0,43,0,48,0 4,0,10,0,16,0,57,0,44,0,1,0 26,0,55,0,32,0,19,0,39,0,18,0 37,0,17,0,22,0,41,0,59,0,30,0 51,0,5,0,50,0,62,0,13,0,58,0 34,0,3,0,53,0,20,0,2,0,14,0 35,0,49,0,43,0,36,0,7,0,10,0 21,0,61,0,38,0,55,0,44,0,9,0 27,0,8,0,11,0,26,0,25,0,59,0 47,0,22,0,51,0,46,0,23,0,52,0 45,0,32,0,24,0,30,0,20,0,56,0 39,0,1,0,42,0,5,0,14,0,15,0 34,0,54,0,17,0,58,0,18,0,4,0 50,0,16,0,41,0,31,0,3,0,28,0 6,0,19,0,13,0,60,0,12,0,2,0 62,0,48,0,37,0,33,0,29,0,57,0 40,0,59,0,46,0,53,0,61,0,36,0 51,0,8,0,35,0,24,0,4,0,15,0 7,0,52,0,11,0,1,0,3,0,55,0 39,0,21,0,2,0,43,0,50,0,22,0 44,0,26,0,12,0,48,0,41,0,42,0 57,0,23,0,58,0,27,0,56,0,49,0 9,0,32,0,33,0,28,0,34,0,13,0 17,0,47,0,29,0,20,0,5,0,38,0 30,0,19,0,14,0,62,0,10,0,31,0 45,0,6,0,25,0,53,0,16,0,18,0 60,0,37,0,21,0,54,0,40,0,27,0 ================================================ FILE: schedules/62_6.csv ================================================ 15,0,1,0,60,0,45,0,35,0,28,0 12,0,32,0,34,0,57,0,9,0,36,0 2,0,50,0,48,0,25,0,43,0,11,0 30,0,39,0,3,0,27,0,5,0,10,0 13,0,42,0,20,0,40,0,16,0,58,0 4,0,56,0,14,0,49,0,47,0,29,0 55,0,53,0,38,0,6,0,18,0,8,0 23,0,51,0,44,0,26,0,52,0,24,0 41,0,37,0,21,0,22,0,54,0,62,0 46,0,7,0,59,0,17,0,31,0,19,0 33,0,4,0,58,0,61,0,32,0,2,0 45,0,5,0,40,0,56,0,38,0,35,0 13,0,27,0,24,0,14,0,11,0,53,0 10,0,9,0,47,0,42,0,41,0,43,0 62,0,46,0,26,0,16,0,15,0,12,0 48,0,49,0,6,0,34,0,17,0,28,0 1,0,23,0,39,0,29,0,57,0,18,0 25,0,20,0,22,0,30,0,19,0,51,0 52,0,60,0,55,0,50,0,37,0,31,0 44,0,36,0,54,0,7,0,3,0,61,0 59,0,8,0,26,0,33,0,21,0,14,0 29,0,2,0,6,0,24,0,12,0,42,0 19,0,16,0,18,0,43,0,49,0,27,0 31,0,51,0,45,0,58,0,62,0,9,0 28,0,11,0,32,0,5,0,7,0,37,0 15,0,20,0,36,0,39,0,48,0,21,0 61,0,34,0,22,0,56,0,55,0,10,0 17,0,60,0,33,0,23,0,13,0,41,0 47,0,57,0,46,0,44,0,25,0,38,0 52,0,3,0,53,0,59,0,35,0,4,0 50,0,30,0,8,0,54,0,40,0,1,0 55,0,43,0,14,0,5,0,15,0,51,0 32,0,22,0,17,0,26,0,45,0,39,0 42,0,62,0,60,0,48,0,27,0,61,0 44,0,10,0,33,0,20,0,31,0,12,0 38,0,37,0,34,0,1,0,24,0,4,0 49,0,46,0,40,0,3,0,11,0,21,0 13,0,28,0,47,0,52,0,30,0,18,0 16,0,41,0,25,0,29,0,8,0,36,0 56,0,7,0,9,0,2,0,23,0,53,0 19,0,6,0,35,0,57,0,58,0,50,0 54,0,11,0,55,0,59,0,45,0,42,0 3,0,51,0,18,0,37,0,48,0,33,0 44,0,43,0,8,0,4,0,13,0,39,0 53,0,12,0,61,0,40,0,17,0,25,0 5,0,49,0,36,0,62,0,23,0,50,0 58,0,14,0,7,0,60,0,46,0,22,0 2,0,35,0,41,0,34,0,30,0,26,0 47,0,16,0,21,0,6,0,1,0,31,0 52,0,29,0,27,0,38,0,20,0,9,0 15,0,24,0,28,0,57,0,59,0,10,0 56,0,54,0,48,0,32,0,19,0,13,0 30,0,37,0,43,0,36,0,45,0,46,0 62,0,40,0,39,0,55,0,47,0,7,0 21,0,58,0,29,0,53,0,34,0,44,0 35,0,61,0,31,0,24,0,49,0,8,0 11,0,15,0,22,0,33,0,52,0,6,0 42,0,19,0,28,0,3,0,23,0,14,0 57,0,5,0,17,0,20,0,54,0,2,0 38,0,50,0,16,0,51,0,10,0,32,0 18,0,25,0,4,0,60,0,26,0,9,0 1,0,12,0,27,0,59,0,41,0,56,0 ================================================ FILE: schedules/62_7.csv ================================================ 5,0,19,0,31,0,58,0,51,0,54,0 62,0,47,0,15,0,17,0,46,0,41,0 61,0,49,0,1,0,33,0,39,0,42,0 14,0,28,0,7,0,13,0,59,0,20,0 21,0,8,0,37,0,16,0,24,0,38,0 25,0,35,0,50,0,32,0,3,0,4,0 48,0,34,0,52,0,44,0,30,0,2,0 55,0,6,0,12,0,9,0,23,0,60,0 22,0,29,0,56,0,11,0,10,0,57,0 43,0,36,0,53,0,45,0,26,0,40,0 18,0,16,0,31,0,27,0,61,0,47,0 34,0,32,0,8,0,58,0,15,0,14,0 41,0,7,0,39,0,21,0,9,0,25,0 51,0,1,0,30,0,10,0,59,0,35,0 38,0,56,0,11,0,33,0,26,0,46,0 42,0,20,0,62,0,18,0,54,0,43,0 23,0,27,0,13,0,29,0,52,0,5,0 37,0,3,0,48,0,45,0,22,0,49,0 57,0,44,0,60,0,53,0,17,0,4,0 55,0,40,0,50,0,19,0,24,0,12,0 6,0,2,0,16,0,28,0,36,0,42,0 9,1,14,0,31,0,56,1,46,0,35,0 37,1,20,0,26,0,32,1,52,0,41,0 38,0,4,0,45,0,51,0,29,0,15,0 57,0,3,0,61,0,24,0,30,0,7,0 60,0,10,0,48,0,21,0,50,0,18,0 47,0,19,0,44,0,6,0,43,0,13,0 40,0,33,0,23,0,34,0,22,0,62,0 5,0,11,0,1,0,8,0,25,0,28,0 53,0,59,0,12,0,27,0,49,0,2,0 39,0,17,0,54,0,55,0,36,0,58,0 21,0,4,0,6,0,56,0,20,0,61,0 46,0,45,0,60,0,32,0,16,0,19,0 29,0,40,0,30,0,50,0,8,0,31,0 48,0,25,0,57,0,15,0,12,0,33,0 38,0,17,0,35,0,34,0,42,0,7,0 14,0,52,0,54,0,47,0,53,0,22,0 62,0,2,0,37,0,26,0,55,0,1,0 10,0,58,0,49,0,23,0,43,0,28,0 9,0,44,0,24,0,51,0,27,0,11,0 41,0,59,0,3,0,5,0,36,0,18,0 13,0,22,0,38,0,39,0,31,0,32,0 45,0,17,0,33,0,2,0,50,0,20,0 47,0,49,0,25,0,60,0,26,0,34,0 23,0,51,0,19,0,57,0,14,0,37,0 7,0,18,0,12,0,16,0,52,0,11,0 53,0,15,0,9,0,42,0,13,0,30,0 29,0,59,0,58,0,62,0,44,0,21,0 5,0,61,0,55,0,35,0,43,0,48,0 46,0,3,0,10,0,39,0,8,0,6,0 54,0,27,0,28,0,4,0,41,0,40,0 36,0,24,0,23,0,1,0,56,0,15,0 9,0,26,0,18,0,19,0,29,0,17,0 61,0,34,0,58,0,37,0,11,0,53,0 46,0,20,0,5,0,22,0,12,0,30,0 6,0,59,0,25,0,48,0,54,0,38,0 13,0,50,0,16,0,62,0,51,0,49,0 56,0,42,0,41,0,55,0,44,0,8,0 21,0,2,0,47,0,40,0,57,0,32,0 43,0,27,0,1,0,3,0,60,0,14,0 4,0,7,0,36,0,31,0,10,0,33,0 52,0,35,0,28,0,45,0,39,0,24,0 53,0,29,0,20,0,25,0,16,0,55,0 49,0,30,0,11,0,6,0,17,0,32,0 42,0,51,0,3,0,47,0,56,0,48,0 10,0,14,0,12,0,61,0,62,0,38,0 33,0,9,0,43,0,52,0,8,0,59,0 37,0,39,0,15,0,40,0,5,0,60,0 13,0,2,0,24,0,46,0,4,0,58,0 31,0,57,0,45,0,1,0,41,0,34,0 22,0,36,0,35,0,19,0,27,0,21,0 54,0,44,0,26,0,23,0,7,0,50,0 18,0,56,0,32,0,28,0,9,0,37,0 ================================================ FILE: schedules/62_8.csv ================================================ 17,0,37,0,54,0,60,0,10,0,30,0 14,0,7,0,32,0,51,0,43,0,26,0 53,0,41,0,25,0,1,0,36,0,50,0 27,0,18,0,28,0,12,0,5,0,47,0 15,0,11,0,61,0,48,0,62,0,40,0 2,0,24,0,38,0,23,0,45,0,42,0 22,0,29,0,56,0,44,0,9,0,20,0 16,0,35,0,8,0,52,0,21,0,13,0 3,0,58,0,59,0,34,0,4,0,6,0 19,0,49,0,39,0,46,0,57,0,33,0 55,0,28,0,40,0,31,0,38,0,51,0 44,0,47,0,60,0,10,0,1,0,32,0 7,0,23,0,18,0,13,0,53,0,37,0 50,0,52,0,26,0,12,0,11,0,54,0 15,0,33,0,22,0,14,0,57,0,3,0 48,0,24,0,19,0,31,0,41,0,5,0 30,0,35,0,56,0,59,0,45,0,4,0 6,0,58,0,20,0,46,0,25,0,62,0 34,0,55,0,49,0,17,0,29,0,2,0 9,0,27,0,61,0,43,0,36,0,16,0 8,0,21,0,54,0,39,0,42,0,28,0 47,1,37,0,57,0,14,1,40,0,13,0 18,0,1,0,33,0,56,0,52,0,58,0 10,0,34,0,24,0,7,0,35,0,11,0 50,0,12,0,48,0,62,0,16,0,38,0 19,0,4,0,9,0,42,0,27,0,8,0 43,0,60,0,55,0,59,0,15,0,41,0 29,0,6,0,49,0,23,0,30,0,5,0 26,0,46,0,36,0,44,0,3,0,45,0 31,0,32,0,53,0,20,0,17,0,21,0 22,0,25,0,61,0,51,0,39,0,2,0 42,0,47,0,16,0,41,0,55,0,58,0 43,0,56,0,37,0,38,0,48,0,6,0 36,0,49,0,8,0,7,0,50,0,15,0 9,0,35,0,28,0,3,0,17,0,11,0 57,0,25,0,34,0,12,0,61,0,30,0 52,0,39,0,31,0,27,0,14,0,53,0 13,0,51,0,33,0,60,0,5,0,45,0 23,0,24,0,4,0,32,0,54,0,22,0 20,0,40,0,2,0,59,0,18,0,44,0 26,0,1,0,21,0,29,0,19,0,62,0 46,0,41,0,61,0,10,0,28,0,53,0 3,0,38,0,25,0,7,0,60,0,27,0 43,0,5,0,11,0,58,0,23,0,57,0 16,0,20,0,45,0,8,0,14,0,34,0 55,0,26,0,30,0,9,0,48,0,33,0 39,0,32,0,29,0,18,0,37,0,36,0 12,0,4,0,21,0,46,0,24,0,40,0 50,0,13,0,2,0,10,0,56,0,19,0 22,0,31,0,59,0,49,0,1,0,47,0 51,0,42,0,62,0,44,0,17,0,52,0 15,0,6,0,18,0,54,0,35,0,61,0 34,0,30,0,48,0,14,0,46,0,21,0 11,0,33,0,36,0,20,0,4,0,38,0 58,0,40,0,60,0,53,0,49,0,24,0 3,0,51,0,56,0,8,0,41,0,12,0 28,0,62,0,52,0,19,0,22,0,7,0 39,0,59,0,23,0,16,0,10,0,9,0 13,0,29,0,44,0,54,0,43,0,31,0 15,0,45,0,17,0,50,0,47,0,25,0 32,0,57,0,27,0,2,0,55,0,6,0 5,0,42,0,1,0,37,0,35,0,26,0 14,0,62,0,41,0,9,0,49,0,18,0 31,0,36,0,28,0,34,0,23,0,33,0 40,0,19,0,54,0,56,0,16,0,25,0 3,0,43,0,47,0,52,0,30,0,2,0 51,0,45,0,58,0,27,0,21,0,37,0 13,0,20,0,39,0,24,0,15,0,26,0 42,0,10,0,12,0,53,0,6,0,22,0 7,0,48,0,57,0,29,0,35,0,60,0 17,0,32,0,46,0,38,0,59,0,8,0 50,0,44,0,4,0,55,0,5,0,61,0 11,0,20,0,30,0,1,0,51,0,27,0 14,0,15,0,9,0,12,0,58,0,2,0 45,0,7,0,41,0,39,0,6,0,40,0 34,0,54,0,53,0,33,0,43,0,62,0 56,0,8,0,23,0,47,0,61,0,26,0 60,0,22,0,46,0,31,0,11,0,18,0 5,0,21,0,10,0,52,0,25,0,55,0 24,0,50,0,59,0,29,0,28,0,37,0 1,0,17,0,16,0,36,0,57,0,4,0 13,0,42,0,3,0,32,0,48,0,49,0 44,0,38,0,14,0,19,0,35,0,47,0 ================================================ FILE: schedules/62_9.csv ================================================ 53,0,32,0,15,0,22,0,26,0,19,0 39,0,13,0,56,0,16,0,6,0,2,0 3,0,59,0,55,0,8,0,4,0,34,0 60,0,62,0,1,0,33,0,11,0,5,0 41,0,35,0,30,0,9,0,52,0,31,0 14,0,48,0,25,0,21,0,54,0,36,0 57,0,17,0,51,0,37,0,40,0,61,0 58,0,7,0,44,0,29,0,49,0,45,0 24,0,12,0,20,0,23,0,42,0,38,0 47,0,46,0,18,0,10,0,28,0,27,0 43,0,30,0,2,0,50,0,1,0,19,0 4,0,39,0,21,0,17,0,22,0,54,0 8,0,45,0,59,0,62,0,25,0,35,0 37,0,23,0,31,0,33,0,60,0,3,0 49,0,51,0,46,0,13,0,53,0,34,0 41,0,14,0,7,0,57,0,44,0,38,0 6,0,11,0,61,0,12,0,52,0,27,0 15,0,28,0,29,0,24,0,48,0,55,0 58,0,10,0,47,0,50,0,32,0,16,0 56,0,36,0,43,0,5,0,20,0,9,0 40,0,26,0,8,0,18,0,42,0,41,0 57,0,34,0,45,0,27,0,22,0,2,0 35,0,38,0,37,0,46,0,55,0,6,0 13,0,11,0,44,0,32,0,17,0,4,0 33,0,50,0,54,0,3,0,51,0,56,0 29,0,10,0,61,0,26,0,23,0,36,0 5,0,19,0,12,0,25,0,31,0,7,0 39,0,9,0,48,0,53,0,24,0,62,0 47,0,49,0,42,0,60,0,21,0,15,0 52,0,20,0,16,0,18,0,1,0,14,0 43,0,28,0,40,0,59,0,30,0,58,0 33,0,36,0,12,0,26,0,4,0,57,0 19,0,46,0,29,0,9,0,11,0,45,0 27,0,38,0,8,0,17,0,15,0,31,0 23,0,52,0,51,0,56,0,47,0,48,0 54,0,6,0,53,0,18,0,30,0,7,0 14,0,10,0,34,0,13,0,24,0,42,0 1,0,22,0,20,0,25,0,40,0,49,0 32,0,35,0,21,0,3,0,43,0,5,0 60,0,37,0,50,0,44,0,39,0,28,0 58,0,2,0,55,0,62,0,61,0,41,0 16,0,26,0,42,0,59,0,48,0,11,0 57,0,56,0,19,0,49,0,8,0,24,0 29,0,30,0,22,0,13,0,38,0,47,0 50,0,52,0,21,0,40,0,46,0,7,0 12,0,58,0,3,0,9,0,15,0,18,0 31,0,16,0,61,0,28,0,4,0,53,0 41,0,17,0,34,0,25,0,43,0,33,0 55,0,45,0,5,0,39,0,23,0,14,0 60,0,27,0,36,0,59,0,54,0,32,0 2,0,37,0,62,0,35,0,20,0,10,0 6,0,51,0,24,0,1,0,44,0,21,0 19,0,28,0,42,0,52,0,22,0,3,0 18,0,49,0,31,0,11,0,39,0,43,0 8,0,23,0,25,0,58,0,53,0,27,0 60,0,40,0,38,0,10,0,45,0,56,0 9,0,26,0,1,0,17,0,47,0,55,0 48,0,7,0,13,0,61,0,33,0,35,0 12,0,59,0,14,0,32,0,2,0,51,0 44,0,46,0,54,0,57,0,5,0,62,0 16,0,37,0,15,0,36,0,30,0,34,0 41,0,20,0,4,0,6,0,50,0,29,0 39,0,19,0,27,0,33,0,40,0,21,0 18,0,28,0,23,0,49,0,17,0,2,0 52,0,45,0,1,0,13,0,57,0,59,0 25,0,32,0,42,0,37,0,56,0,46,0 47,0,24,0,3,0,41,0,36,0,53,0 31,0,26,0,6,0,14,0,62,0,58,0 38,0,9,0,50,0,34,0,61,0,54,0 11,0,20,0,30,0,44,0,48,0,8,0 15,0,7,0,4,0,10,0,43,0,51,0 35,0,5,0,29,0,22,0,16,0,12,0 55,0,26,0,25,0,60,0,52,0,2,0 23,0,41,0,54,0,19,0,13,0,37,0 3,0,49,0,62,0,30,0,27,0,14,0 20,0,61,0,28,0,33,0,45,0,15,0 22,0,10,0,44,0,59,0,56,0,31,0 17,0,1,0,36,0,42,0,58,0,35,0 32,0,24,0,11,0,50,0,7,0,55,0 21,0,51,0,38,0,9,0,8,0,16,0 53,0,18,0,43,0,60,0,57,0,29,0 34,0,40,0,5,0,47,0,6,0,4,0 46,0,48,0,41,0,12,0,39,0,1,0 25,0,36,0,13,0,31,0,28,0,50,0 9,0,2,0,33,0,44,0,49,0,32,0 16,0,24,0,43,0,37,0,45,0,26,0 15,0,11,0,54,0,35,0,40,0,23,0 62,0,56,0,21,0,29,0,12,0,34,0 14,0,22,0,8,0,60,0,61,0,46,0 3,0,17,0,53,0,10,0,52,0,6,0 42,0,5,0,27,0,30,0,51,0,55,0 58,0,18,0,4,0,38,0,48,0,19,0 39,0,47,0,59,0,20,0,57,0,7,0 ================================================ FILE: schedules/63_1.csv ================================================ 30,0,61,0,25,0,39,0,33,0,52,0 22,0,55,0,56,0,38,0,4,0,7,0 5,0,12,0,20,0,24,0,62,0,60,0 34,0,15,0,42,0,1,0,51,0,63,0 18,0,13,0,36,0,44,0,16,0,26,0 45,0,54,0,28,0,21,0,23,0,32,0 46,0,6,0,14,0,27,0,41,0,58,0 50,0,47,0,35,0,29,0,48,0,53,0 40,0,37,0,49,0,10,0,31,0,2,0 9,0,8,0,59,0,57,0,43,0,17,0 19,0,3,0,15,1,11,0,25,1,54,1 ================================================ FILE: schedules/63_10.csv ================================================ 62,0,60,0,56,0,28,0,31,0,53,0 52,0,32,0,4,0,54,0,34,0,36,0 1,0,23,0,37,0,42,0,41,0,48,0 14,0,26,0,2,0,8,0,24,0,15,0 10,0,13,0,18,0,38,0,47,0,59,0 25,0,3,0,19,0,50,0,21,0,45,0 51,0,7,0,35,0,63,0,22,0,57,0 20,0,30,0,58,0,39,0,55,0,17,0 6,0,43,0,29,0,9,0,49,0,11,0 5,0,16,0,33,0,44,0,12,0,61,0 27,0,46,0,23,0,40,0,15,0,32,0 60,0,41,0,25,0,57,0,2,0,52,0 19,0,48,0,18,0,63,0,54,0,26,0 56,0,43,0,1,0,13,0,37,0,21,0 8,0,5,0,38,0,35,0,62,0,59,0 50,0,10,0,27,0,16,0,17,0,30,0 44,0,7,0,29,0,34,0,40,0,39,0 14,0,42,0,28,0,3,0,9,0,6,0 12,0,24,0,31,0,58,0,46,0,61,0 22,0,53,0,36,0,20,0,49,0,47,0 45,0,51,0,11,0,55,0,33,0,4,0 60,0,48,0,8,0,27,0,7,0,38,0 28,0,37,0,19,0,44,0,13,0,35,0 42,0,62,0,43,0,12,0,2,0,29,0 56,0,32,0,50,0,20,0,6,0,5,0 26,0,45,0,9,0,41,0,40,0,61,0 3,0,53,0,58,0,36,0,15,0,52,0 47,0,57,0,17,0,33,0,54,0,11,0 22,0,25,0,34,0,31,0,18,0,46,0 1,0,63,0,14,0,23,0,10,0,55,0 21,0,30,0,49,0,4,0,24,0,59,0 39,0,16,0,36,0,51,0,56,0,13,0 29,0,58,0,45,0,47,0,2,0,48,0 62,0,6,0,37,0,22,0,40,0,33,0 12,0,34,0,38,0,3,0,27,0,14,0 59,0,7,0,20,0,25,0,23,0,61,0 42,0,26,0,16,0,30,0,55,0,57,0 54,0,51,0,15,0,31,0,49,0,1,0 18,0,53,0,50,0,24,0,28,0,41,0 63,0,10,0,17,0,9,0,32,0,21,0 11,0,52,0,8,0,5,0,19,0,39,0 43,0,46,0,44,0,35,0,60,0,4,0 42,0,49,0,3,0,58,0,7,0,62,0 48,0,40,0,54,0,59,0,50,0,16,0 63,0,30,0,23,0,56,0,38,0,57,0 52,0,28,0,45,0,17,0,12,0,22,0 26,0,20,0,29,0,10,0,44,0,51,0 39,0,31,0,6,0,27,0,35,0,2,0 21,0,33,0,41,0,36,0,14,0,46,0 61,0,32,0,18,0,37,0,43,0,8,0 4,0,5,0,9,0,25,0,15,0,55,0 19,0,60,0,1,0,47,0,24,0,34,0 11,0,13,0,12,0,53,0,26,0,23,0 59,0,17,0,46,0,42,0,39,0,63,0 28,0,40,0,38,0,43,0,52,0,58,0 55,0,54,0,21,0,62,0,44,0,8,0 47,0,18,0,41,0,30,0,15,0,6,0 25,0,35,0,9,0,33,0,49,0,56,0 13,0,31,0,48,0,11,0,20,0,14,0 34,0,4,0,57,0,2,0,37,0,50,0 3,0,1,0,22,0,29,0,16,0,60,0 36,0,24,0,7,0,10,0,45,0,5,0 51,0,61,0,53,0,19,0,27,0,32,0 52,0,20,0,31,0,47,0,21,0,42,0 50,0,11,0,62,0,18,0,63,0,35,0 58,0,23,0,28,0,25,0,39,0,4,0 54,0,57,0,9,0,46,0,12,0,48,0 2,0,30,0,24,0,51,0,3,0,32,0 1,0,27,0,44,0,56,0,14,0,45,0 55,0,49,0,16,0,38,0,41,0,19,0 33,0,34,0,10,0,53,0,8,0,40,0 7,0,15,0,61,0,13,0,17,0,29,0 6,0,59,0,36,0,37,0,26,0,60,0 5,0,22,0,14,0,43,0,54,0,30,0 23,0,16,0,9,0,62,0,18,0,52,0 12,0,63,0,32,0,25,0,44,0,47,0 7,0,2,0,33,0,1,0,20,0,28,0 31,0,35,0,34,0,26,0,38,0,17,0 57,0,59,0,15,0,19,0,43,0,36,0 50,0,8,0,49,0,45,0,46,0,13,0 37,0,29,0,55,0,24,0,53,0,27,0 58,0,51,0,41,0,60,0,21,0,5,0 56,0,10,0,40,0,42,0,11,0,22,0 3,0,61,0,39,0,6,0,48,0,4,0 26,0,32,0,47,0,14,0,7,0,50,0 57,0,36,0,28,0,1,0,8,0,29,0 35,0,20,0,41,0,27,0,54,0,58,0 25,0,37,0,46,0,38,0,30,0,11,0 39,0,43,0,21,0,16,0,48,0,53,0 10,0,60,0,15,0,45,0,61,0,62,0 5,0,49,0,51,0,18,0,42,0,34,0 4,0,17,0,40,0,19,0,12,0,56,0 59,0,2,0,23,0,22,0,44,0,9,0 24,0,63,0,13,0,33,0,52,0,6,0 55,0,3,0,41,0,31,0,43,0,10,0 32,0,14,0,39,0,60,0,57,0,49,0 16,0,34,0,21,0,15,0,28,0,11,0 50,0,38,0,44,0,9,0,36,0,51,0 26,0,46,0,40,0,2,0,5,0,1,0 63,0,20,0,8,0,37,0,3,0,12,0 52,0,47,0,56,0,59,0,55,0,61,0 17,0,24,0,6,0,62,0,25,0,48,0 53,0,35,0,54,0,45,0,7,0,42,0 29,0,19,0,30,0,23,0,33,0,31,0 18,0,27,0,22,0,4,0,58,0,13,0 ================================================ FILE: schedules/63_11.csv ================================================ 60,0,47,0,24,0,10,0,61,0,30,0 37,0,1,0,23,0,54,0,9,0,14,0 56,0,53,0,26,0,57,0,12,0,59,0 39,0,25,0,49,0,28,0,51,0,43,0 22,0,6,0,31,0,33,0,32,0,16,0 17,0,35,0,7,0,62,0,44,0,36,0 29,0,50,0,3,0,4,0,45,0,42,0 18,0,13,0,38,0,19,0,34,0,55,0 48,0,5,0,8,0,2,0,58,0,46,0 63,0,20,0,15,0,21,0,11,0,40,0 52,0,41,0,59,0,27,0,35,0,30,0 53,0,4,0,17,0,9,0,22,0,43,0 13,0,56,0,31,0,3,0,47,0,62,0 18,0,42,0,51,0,24,0,5,0,6,0 63,0,16,0,58,0,26,0,37,0,61,0 14,0,1,0,29,0,28,0,38,0,15,0 19,0,40,0,33,0,25,0,45,0,2,0 7,0,39,0,27,0,21,0,8,0,60,0 11,0,12,0,52,0,36,0,48,0,54,0 32,0,55,0,23,0,57,0,50,0,46,0 10,0,44,0,41,0,34,0,49,0,20,0 1,1,33,0,17,0,61,1,13,0,58,0 45,1,24,0,30,0,2,0,4,0,62,0 59,0,16,0,47,0,11,0,8,0,28,0 36,0,12,0,55,0,60,0,22,0,51,0 31,0,15,0,37,0,44,0,23,0,57,0 49,0,48,0,18,0,26,0,39,0,29,0 32,0,5,0,40,0,14,0,34,0,35,0 21,0,52,0,20,0,9,0,3,0,38,0 50,0,7,0,56,0,19,0,27,0,6,0 53,0,46,0,42,0,25,0,63,0,10,0 43,0,54,0,31,0,41,0,29,0,18,0 61,0,28,0,40,0,58,0,4,0,22,0 38,0,39,0,32,0,59,0,26,0,24,0 57,0,8,0,14,0,52,0,49,0,13,0 30,0,33,0,11,0,50,0,53,0,1,0 51,0,62,0,27,0,47,0,23,0,48,0 3,0,6,0,12,0,41,0,2,0,9,0 43,0,35,0,19,0,21,0,15,0,10,0 54,0,44,0,45,0,60,0,63,0,5,0 20,0,55,0,46,0,37,0,56,0,17,0 34,0,36,0,7,0,42,0,16,0,25,0 23,0,11,0,22,0,18,0,3,0,30,0 10,0,50,0,28,0,12,0,48,0,15,0 61,0,53,0,54,0,39,0,13,0,2,0 52,0,40,0,1,0,46,0,44,0,31,0 62,0,60,0,9,0,34,0,25,0,59,0 5,0,42,0,47,0,49,0,33,0,38,0 45,0,37,0,55,0,43,0,27,0,8,0 36,0,58,0,32,0,41,0,19,0,21,0 14,0,24,0,16,0,35,0,56,0,20,0 51,0,7,0,29,0,17,0,57,0,63,0 26,0,6,0,44,0,4,0,25,0,46,0 49,0,55,0,10,0,37,0,2,0,11,0 22,0,39,0,59,0,58,0,50,0,5,0 9,0,45,0,27,0,30,0,32,0,54,0 43,0,13,0,47,0,7,0,42,0,1,0 62,0,26,0,34,0,15,0,33,0,52,0 20,0,8,0,12,0,29,0,61,0,35,0 41,0,16,0,56,0,51,0,38,0,53,0 21,0,63,0,24,0,6,0,28,0,23,0 3,0,57,0,40,0,17,0,36,0,18,0 19,0,48,0,4,0,60,0,14,0,31,0 49,0,43,0,30,0,12,0,46,0,54,0 22,0,1,0,26,0,42,0,8,0,56,0 51,0,61,0,63,0,34,0,50,0,9,0 62,0,15,0,16,0,3,0,39,0,41,0 33,0,25,0,44,0,11,0,29,0,27,0 57,0,4,0,5,0,20,0,19,0,47,0 18,0,23,0,58,0,60,0,35,0,10,0 2,0,32,0,52,0,17,0,13,0,28,0 38,0,14,0,59,0,6,0,45,0,36,0 48,0,24,0,53,0,40,0,7,0,37,0 31,0,30,0,5,0,21,0,55,0,26,0 8,0,33,0,4,0,23,0,54,0,51,0 15,0,25,0,61,0,18,0,32,0,56,0 57,0,35,0,2,0,38,0,22,0,63,0 44,0,13,0,9,0,16,0,10,0,48,0 6,0,55,0,1,0,40,0,29,0,62,0 21,0,17,0,59,0,42,0,19,0,49,0 20,0,36,0,27,0,53,0,28,0,31,0 50,0,60,0,41,0,52,0,14,0,37,0 45,0,39,0,46,0,7,0,47,0,12,0 11,0,3,0,34,0,43,0,58,0,24,0 19,0,63,0,23,0,16,0,22,0,49,0 42,0,28,0,48,0,55,0,35,0,54,0 2,0,20,0,60,0,51,0,32,0,1,0 47,0,21,0,45,0,18,0,53,0,52,0 62,0,58,0,38,0,43,0,44,0,12,0 8,0,31,0,17,0,50,0,25,0,24,0 11,0,41,0,13,0,4,0,40,0,26,0 3,0,46,0,14,0,61,0,33,0,27,0 29,0,9,0,10,0,5,0,56,0,36,0 30,0,34,0,39,0,57,0,6,0,37,0 15,0,59,0,54,0,7,0,22,0,20,0 42,0,24,0,40,0,60,0,12,0,16,0 62,0,32,0,19,0,63,0,53,0,8,0 9,0,18,0,28,0,41,0,33,0,46,0 6,0,58,0,35,0,45,0,31,0,49,0 57,0,51,0,21,0,11,0,14,0,44,0 25,0,27,0,37,0,15,0,5,0,13,0 48,0,17,0,34,0,56,0,30,0,1,0 3,0,10,0,4,0,55,0,7,0,59,0 38,0,52,0,29,0,61,0,23,0,39,0 26,0,2,0,43,0,47,0,50,0,36,0 22,0,13,0,45,0,41,0,24,0,20,0 1,0,12,0,18,0,27,0,63,0,32,0 15,0,60,0,53,0,17,0,6,0,49,0 11,0,9,0,61,0,62,0,42,0,31,0 58,0,25,0,14,0,47,0,55,0,30,0 54,0,50,0,8,0,10,0,38,0,40,0 5,0,43,0,7,0,23,0,52,0,56,0 35,0,4,0,36,0,37,0,39,0,33,0 2,0,34,0,21,0,46,0,59,0,29,0 51,0,19,0,44,0,26,0,28,0,3,0 57,0,16,0,61,0,48,0,1,0,45,0 ================================================ FILE: schedules/63_12.csv ================================================ 14,0,6,0,57,0,5,0,1,0,31,0 42,0,13,0,55,0,59,0,16,0,45,0 29,0,50,0,46,0,20,0,12,0,22,0 7,0,32,0,44,0,61,0,60,0,23,0 9,0,15,0,52,0,17,0,43,0,34,0 63,0,49,0,62,0,8,0,51,0,41,0 36,0,39,0,25,0,18,0,3,0,37,0 10,0,19,0,48,0,40,0,11,0,53,0 4,0,24,0,35,0,27,0,26,0,47,0 58,0,21,0,56,0,54,0,33,0,38,0 28,0,30,0,57,0,2,0,12,0,63,0 43,0,45,0,14,0,29,0,51,0,3,0 5,0,16,0,48,0,23,0,39,0,22,0 42,0,11,0,27,0,31,0,32,0,52,0 36,0,19,0,38,0,59,0,24,0,55,0 1,0,33,0,2,0,53,0,17,0,10,0 15,0,6,0,37,0,54,0,60,0,30,0 21,0,49,0,46,0,47,0,7,0,34,0 28,0,58,0,13,0,20,0,18,0,62,0 44,0,9,0,41,0,26,0,8,0,35,0 56,0,50,0,4,0,61,0,25,0,40,0 43,0,22,0,3,0,19,0,60,0,59,0 31,0,7,0,10,0,15,0,36,0,29,0 12,0,1,0,48,0,21,0,24,0,42,0 51,0,18,0,49,0,53,0,16,0,57,0 63,0,35,0,28,0,5,0,13,0,25,0 58,0,38,0,40,0,2,0,14,0,37,0 32,0,27,0,55,0,54,0,34,0,50,0 62,0,6,0,44,0,46,0,45,0,11,0 23,0,4,0,30,0,8,0,9,0,33,0 41,0,26,0,17,0,56,0,39,0,61,0 20,0,47,0,31,0,52,0,1,0,38,0 60,0,29,0,40,0,16,0,35,0,42,0 54,0,13,0,46,0,25,0,48,0,49,0 10,0,63,0,15,0,27,0,4,0,14,0 59,0,36,0,6,0,17,0,23,0,62,0 26,0,11,0,51,0,28,0,21,0,50,0 9,0,45,0,58,0,19,0,5,0,7,0 43,0,39,0,12,0,44,0,2,0,55,0 22,0,8,0,56,0,18,0,52,0,24,0 37,0,53,0,30,0,57,0,61,0,20,0 34,0,3,0,32,0,47,0,41,0,33,0 23,0,25,0,26,0,42,0,45,0,19,0 27,0,31,0,54,0,39,0,13,0,16,0 15,0,59,0,50,0,46,0,1,0,18,0 21,0,30,0,14,0,49,0,44,0,24,0 9,0,61,0,22,0,2,0,51,0,36,0 52,0,28,0,7,0,41,0,6,0,53,0 11,0,43,0,58,0,40,0,35,0,57,0 8,0,34,0,60,0,10,0,56,0,20,0 3,0,62,0,38,0,12,0,5,0,32,0 55,0,63,0,47,0,37,0,48,0,33,0 29,0,17,0,42,0,4,0,44,0,46,0 61,0,27,0,21,0,40,0,9,0,59,0 14,0,24,0,34,0,18,0,43,0,23,0 32,0,6,0,49,0,45,0,12,0,35,0 28,0,54,0,2,0,3,0,8,0,36,0 63,0,7,0,33,0,22,0,50,0,38,0 60,0,20,0,51,0,31,0,17,0,19,0 5,0,15,0,53,0,13,0,56,0,29,0 48,0,39,0,4,0,58,0,57,0,52,0 11,0,1,0,41,0,25,0,55,0,30,0 47,0,37,0,10,0,16,0,26,0,62,0 2,0,61,0,35,0,24,0,20,0,23,0 31,0,56,0,44,0,63,0,3,0,9,0 17,0,45,0,38,0,27,0,28,0,53,0 13,0,43,0,51,0,4,0,1,0,32,0 57,0,26,0,55,0,6,0,7,0,22,0 37,0,12,0,42,0,8,0,11,0,10,0 16,0,60,0,46,0,41,0,36,0,58,0 21,0,25,0,34,0,29,0,30,0,62,0 39,0,50,0,33,0,15,0,19,0,49,0 52,0,54,0,47,0,18,0,40,0,5,0 59,0,48,0,32,0,14,0,9,0,20,0 13,0,31,0,41,0,22,0,17,0,37,0 29,0,25,0,44,0,2,0,58,0,27,0 21,0,10,0,23,0,50,0,63,0,43,0 28,0,8,0,45,0,57,0,47,0,15,0 12,0,7,0,18,0,51,0,40,0,54,0 16,0,61,0,34,0,38,0,6,0,48,0 30,0,59,0,46,0,52,0,5,0,26,0 39,0,14,0,19,0,56,0,62,0,42,0 60,0,1,0,24,0,49,0,11,0,33,0 35,0,3,0,53,0,36,0,55,0,4,0 25,0,8,0,43,0,47,0,16,0,6,0 51,0,57,0,48,0,38,0,44,0,15,0 56,0,12,0,41,0,23,0,31,0,59,0 40,0,7,0,50,0,62,0,24,0,13,0 18,0,54,0,63,0,17,0,35,0,11,0 37,0,4,0,5,0,19,0,21,0,2,0 26,0,22,0,34,0,49,0,42,0,58,0 55,0,3,0,61,0,46,0,14,0,10,0 20,0,33,0,30,0,27,0,36,0,45,0 9,0,39,0,32,0,1,0,29,0,28,0 53,0,52,0,2,0,60,0,62,0,50,0 17,0,25,0,4,0,12,0,34,0,49,0 24,0,54,0,57,0,10,0,41,0,42,0 23,0,5,0,58,0,51,0,15,0,55,0 33,0,59,0,44,0,37,0,28,0,31,0 18,0,29,0,26,0,48,0,60,0,3,0 52,0,13,0,11,0,61,0,36,0,14,0 8,0,27,0,38,0,43,0,19,0,46,0 20,0,40,0,32,0,39,0,6,0,63,0 16,0,1,0,30,0,56,0,35,0,7,0 22,0,45,0,53,0,21,0,47,0,9,0 51,0,33,0,62,0,54,0,26,0,42,0 17,0,50,0,5,0,8,0,14,0,48,0 37,0,49,0,23,0,52,0,27,0,29,0 46,0,56,0,36,0,43,0,32,0,57,0 1,0,40,0,34,0,22,0,44,0,28,0 61,0,53,0,24,0,58,0,63,0,31,0 45,0,18,0,6,0,2,0,41,0,4,0 35,0,25,0,10,0,7,0,39,0,59,0 55,0,38,0,12,0,13,0,60,0,9,0 20,0,15,0,3,0,16,0,11,0,21,0 47,0,19,0,29,0,30,0,17,0,61,0 63,0,36,0,40,0,45,0,26,0,1,0 54,0,5,0,41,0,43,0,44,0,53,0 9,0,6,0,42,0,58,0,50,0,18,0 49,0,4,0,20,0,28,0,56,0,55,0 24,0,37,0,39,0,34,0,46,0,51,0 47,0,2,0,59,0,7,0,15,0,11,0 13,0,23,0,38,0,30,0,10,0,3,0 8,0,21,0,57,0,25,0,60,0,32,0 33,0,16,0,19,0,12,0,14,0,52,0 35,0,62,0,27,0,31,0,22,0,48,0 ================================================ FILE: schedules/63_13.csv ================================================ 39,0,11,0,43,0,26,0,47,0,27,0 53,0,31,0,58,0,21,0,50,0,18,0 40,0,17,0,7,0,48,0,5,0,57,0 63,0,6,0,62,0,35,0,2,0,56,0 38,0,3,0,14,0,4,0,34,0,24,0 25,0,42,0,16,0,30,0,8,0,54,0 51,0,32,0,19,0,10,0,9,0,60,0 41,0,13,0,44,0,29,0,33,0,52,0 36,0,37,0,22,0,59,0,61,0,46,0 23,0,1,0,45,0,28,0,20,0,55,0 15,0,12,0,63,0,49,0,35,0,14,0 48,0,24,0,27,0,54,0,19,0,2,0 50,0,29,0,34,0,39,0,42,0,10,0 26,0,61,0,58,0,62,0,51,0,59,0 41,0,46,0,55,0,4,0,43,0,21,0 25,0,12,0,56,0,38,0,36,0,33,0 40,0,53,0,47,0,52,0,16,0,23,0 7,0,8,0,32,0,45,0,15,0,11,0 30,0,28,0,37,0,57,0,17,0,44,0 13,0,9,0,18,0,6,0,3,0,1,0 22,0,49,0,60,0,31,0,20,0,5,0 61,1,53,0,2,0,34,1,43,0,56,0 21,0,46,0,33,0,48,1,54,0,39,0 10,0,23,0,51,0,8,0,44,0,63,0 29,0,11,0,42,0,36,0,45,0,58,0 52,0,50,0,20,0,5,0,35,0,3,0 16,0,9,0,47,0,14,0,18,0,57,0 13,0,17,0,49,0,26,0,32,0,40,0 28,0,27,0,31,0,12,0,59,0,41,0 15,0,24,0,6,0,55,0,37,0,62,0 4,0,22,0,19,0,1,0,7,0,25,0 60,0,38,0,35,0,30,0,10,0,53,0 51,0,16,0,8,0,34,0,36,0,39,0 14,0,54,0,43,0,17,0,50,0,59,0 61,0,13,0,42,0,28,0,24,0,21,0 58,0,18,0,25,0,41,0,20,0,40,0 32,0,6,0,46,0,30,0,55,0,29,0 15,0,26,0,5,0,33,0,19,0,1,0 62,0,4,0,45,0,27,0,22,0,44,0 48,0,7,0,56,0,52,0,31,0,9,0 37,0,49,0,57,0,38,0,23,0,2,0 11,0,47,0,12,0,3,0,63,0,60,0 59,0,19,0,40,0,21,0,29,0,51,0 62,0,46,0,15,0,18,0,34,0,28,0 33,0,61,0,35,0,27,0,14,0,8,0 56,0,4,0,54,0,26,0,23,0,30,0 3,0,41,0,7,0,22,0,32,0,10,0 9,0,45,0,6,0,58,0,38,0,5,0 60,0,52,0,25,0,42,0,43,0,57,0 31,0,17,0,39,0,24,0,11,0,1,0 50,0,55,0,44,0,48,0,47,0,49,0 16,0,53,0,12,0,37,0,20,0,2,0 13,0,63,0,38,0,36,0,9,0,62,0 56,0,10,0,52,0,28,0,4,0,58,0 26,0,24,0,17,0,41,0,18,0,30,0 15,0,27,0,39,0,51,0,3,0,40,0 14,0,23,0,61,0,48,0,6,0,11,0 25,0,21,0,55,0,63,0,2,0,34,0 50,0,36,0,32,0,44,0,33,0,20,0 54,0,53,0,29,0,7,0,22,0,57,0 59,0,37,0,16,0,8,0,1,0,60,0 46,0,47,0,42,0,49,0,5,0,12,0 35,0,43,0,31,0,19,0,13,0,45,0 38,0,26,0,20,0,61,0,50,0,51,0 14,0,10,0,21,0,36,0,52,0,18,0 17,0,60,0,33,0,23,0,29,0,58,0 34,0,54,0,47,0,1,0,32,0,2,0 11,0,27,0,13,0,30,0,15,0,25,0 8,0,12,0,40,0,43,0,22,0,9,0 45,0,41,0,24,0,46,0,53,0,49,0 7,0,5,0,19,0,44,0,16,0,62,0 55,0,48,0,3,0,42,0,37,0,56,0 57,0,59,0,63,0,6,0,39,0,4,0 28,0,35,0,36,0,31,0,22,0,26,0 49,0,29,0,18,0,9,0,8,0,2,0 52,0,1,0,41,0,61,0,62,0,12,0 60,0,23,0,21,0,50,0,15,0,7,0 56,0,40,0,6,0,44,0,24,0,42,0 34,0,35,0,59,0,47,0,17,0,38,0 45,0,25,0,5,0,37,0,39,0,32,0 16,0,20,0,48,0,10,0,27,0,55,0 4,0,33,0,51,0,28,0,53,0,11,0 58,0,63,0,54,0,43,0,13,0,3,0 30,0,14,0,46,0,31,0,57,0,19,0 29,0,38,0,44,0,39,0,21,0,12,0 9,0,41,0,26,0,15,0,34,0,37,0 8,0,33,0,24,0,20,0,47,0,7,0 11,0,22,0,17,0,50,0,16,0,56,0 30,0,19,0,3,0,36,0,49,0,6,0 2,0,46,0,45,0,61,0,60,0,40,0 28,0,32,0,54,0,14,0,52,0,58,0 23,0,57,0,55,0,59,0,13,0,31,0 5,0,1,0,42,0,27,0,53,0,63,0 51,0,48,0,43,0,18,0,35,0,4,0 10,0,62,0,17,0,25,0,47,0,61,0 37,0,11,0,58,0,49,0,19,0,34,0 15,0,54,0,31,0,29,0,6,0,20,0 2,0,42,0,22,0,33,0,13,0,26,0 32,0,18,0,5,0,23,0,12,0,4,0 3,0,25,0,50,0,51,0,46,0,28,0 9,0,39,0,44,0,53,0,55,0,35,0 30,0,1,0,62,0,40,0,10,0,43,0 41,0,38,0,57,0,36,0,48,0,8,0 52,0,59,0,45,0,16,0,24,0,63,0 21,0,7,0,27,0,14,0,60,0,56,0 20,0,9,0,23,0,17,0,25,0,46,0 19,0,61,0,18,0,33,0,39,0,55,0 10,0,12,0,34,0,13,0,53,0,6,0 59,0,44,0,5,0,2,0,11,0,41,0 4,0,36,0,47,0,45,0,54,0,40,0 62,0,57,0,27,0,3,0,32,0,31,0 52,0,48,0,22,0,58,0,15,0,60,0 14,0,1,0,51,0,56,0,30,0,49,0 37,0,29,0,24,0,35,0,50,0,63,0 38,0,42,0,28,0,16,0,43,0,7,0 21,0,8,0,53,0,26,0,62,0,3,0 6,0,22,0,55,0,17,0,27,0,52,0 15,0,19,0,20,0,56,0,47,0,57,0 40,0,34,0,31,0,37,0,63,0,33,0 51,0,35,0,39,0,41,0,23,0,42,0 43,0,1,0,28,0,5,0,36,0,24,0 44,0,60,0,11,0,18,0,54,0,38,0 4,0,49,0,32,0,21,0,16,0,61,0 2,0,59,0,30,0,58,0,7,0,9,0 45,0,12,0,14,0,10,0,25,0,26,0 13,0,29,0,8,0,46,0,50,0,48,0 27,0,23,0,18,0,34,0,22,0,38,0 43,0,33,0,47,0,37,0,21,0,6,0 42,0,40,0,35,0,61,0,11,0,32,0 24,0,7,0,55,0,58,0,51,0,12,0 3,0,59,0,49,0,28,0,25,0,48,0 16,0,1,0,26,0,52,0,44,0,46,0 60,0,20,0,39,0,13,0,14,0,62,0 63,0,9,0,19,0,41,0,50,0,54,0 10,0,2,0,36,0,15,0,53,0,17,0 56,0,31,0,29,0,8,0,4,0,5,0 57,0,30,0,34,0,45,0,61,0,48,0 ================================================ FILE: schedules/63_14.csv ================================================ 14,0,45,0,41,0,9,0,57,0,48,0 27,0,13,0,1,0,43,0,32,0,46,0 2,0,54,0,25,0,3,0,26,0,7,0 21,0,35,0,18,0,38,0,22,0,29,0 42,0,6,0,30,0,37,0,51,0,11,0 56,0,60,0,5,0,31,0,61,0,44,0 36,0,62,0,4,0,17,0,59,0,15,0 58,0,19,0,20,0,16,0,50,0,23,0 12,0,33,0,39,0,53,0,28,0,52,0 8,0,40,0,47,0,49,0,10,0,24,0 34,0,55,0,45,0,63,0,27,0,6,0 31,0,11,0,38,0,59,0,43,0,22,0 13,0,37,0,29,0,17,0,54,0,48,0 44,0,53,0,62,0,1,0,9,0,26,0 16,0,35,0,30,0,56,0,12,0,49,0 14,0,46,0,10,0,15,0,50,0,25,0 7,0,4,0,51,0,5,0,8,0,32,0 40,0,23,0,34,0,58,0,36,0,41,0 60,0,47,0,24,0,3,0,21,0,52,0 63,0,28,0,33,0,61,0,20,0,2,0 57,0,39,0,42,0,19,0,55,0,18,0 50,0,44,0,46,0,45,0,53,0,17,0 35,0,23,0,9,0,34,0,25,0,51,0 12,0,11,0,26,0,4,0,13,0,24,0 54,0,61,0,63,0,8,0,33,0,31,0 5,0,7,0,18,0,49,0,59,0,14,0 27,0,37,0,48,0,16,0,28,0,60,0 38,0,40,0,32,0,47,0,20,0,62,0 42,0,1,0,43,0,6,0,3,0,29,0 36,0,19,0,10,0,55,0,56,0,41,0 22,0,39,0,21,0,30,0,58,0,2,0 15,0,52,0,7,0,57,0,35,0,13,0 47,0,32,0,48,0,46,0,18,0,33,0 62,0,29,0,42,0,23,0,49,0,4,0 28,0,55,0,43,0,53,0,41,0,26,0 50,0,10,0,31,0,30,0,3,0,38,0 2,0,15,0,8,0,40,0,16,0,45,0 51,0,52,0,63,0,36,0,57,0,56,0 39,0,58,0,44,0,24,0,6,0,1,0 59,0,19,0,25,0,54,0,21,0,60,0 11,0,34,0,9,0,12,0,37,0,61,0 17,0,20,0,27,0,22,0,5,0,14,0 31,0,52,0,62,0,53,0,8,0,48,0 16,0,29,0,43,0,51,0,24,0,57,0 47,0,38,0,25,0,15,0,44,0,41,0 28,0,46,0,61,0,6,0,35,0,49,0 5,0,12,0,36,0,45,0,58,0,3,0 19,0,22,0,42,0,59,0,9,0,63,0 32,0,13,0,60,0,2,0,10,0,40,0 20,0,56,0,21,0,17,0,34,0,1,0 50,0,33,0,4,0,37,0,55,0,7,0 26,0,14,0,27,0,39,0,23,0,30,0 18,0,54,0,3,0,11,0,45,0,61,0 24,0,31,0,42,0,41,0,2,0,13,0 22,0,6,0,25,0,8,0,57,0,52,0 59,0,35,0,48,0,43,0,4,0,20,0 55,0,16,0,1,0,28,0,47,0,30,0 27,0,23,0,15,0,63,0,44,0,11,0 39,0,17,0,50,0,10,0,51,0,5,0 40,0,56,0,46,0,54,0,9,0,14,0 32,0,53,0,36,0,49,0,7,0,19,0 58,0,34,0,12,0,29,0,60,0,33,0 26,0,37,0,18,0,21,0,38,0,62,0 5,0,41,0,11,0,1,0,52,0,35,0 2,0,9,0,6,0,47,0,27,0,50,0 48,0,30,0,51,0,57,0,40,0,7,0 16,0,17,0,61,0,43,0,39,0,25,0 56,0,3,0,8,0,28,0,18,0,59,0 20,0,44,0,10,0,12,0,54,0,62,0 45,0,21,0,29,0,36,0,13,0,33,0 19,0,63,0,31,0,37,0,24,0,46,0 38,0,53,0,55,0,32,0,23,0,58,0 60,0,26,0,22,0,14,0,15,0,42,0 34,0,49,0,44,0,4,0,52,0,48,0 30,0,13,0,21,0,20,0,41,0,6,0 50,0,11,0,19,0,33,0,25,0,62,0 59,0,53,0,1,0,40,0,27,0,24,0 23,0,56,0,51,0,2,0,47,0,12,0 3,0,31,0,14,0,34,0,29,0,4,0 5,0,17,0,58,0,42,0,8,0,54,0 43,0,60,0,49,0,63,0,15,0,55,0 35,0,7,0,38,0,10,0,45,0,28,0 37,0,22,0,57,0,32,0,26,0,61,0 9,0,46,0,36,0,18,0,39,0,16,0 42,0,48,0,25,0,12,0,27,0,53,0 19,0,44,0,2,0,29,0,55,0,52,0 8,0,50,0,30,0,63,0,35,0,60,0 17,0,32,0,49,0,31,0,45,0,6,0 18,0,10,0,23,0,40,0,43,0,37,0 24,0,33,0,5,0,38,0,15,0,9,0 26,0,39,0,62,0,7,0,56,0,34,0 22,0,1,0,41,0,51,0,16,0,54,0 20,0,36,0,3,0,11,0,46,0,57,0 59,0,58,0,13,0,47,0,14,0,61,0 4,0,28,0,9,0,21,0,32,0,10,0 17,0,55,0,25,0,18,0,24,0,30,0 6,0,33,0,40,0,31,0,56,0,26,0 63,0,38,0,49,0,39,0,3,0,1,0 57,0,53,0,47,0,5,0,34,0,54,0 43,0,12,0,14,0,8,0,37,0,36,0 27,0,61,0,59,0,41,0,29,0,50,0 60,0,52,0,44,0,35,0,46,0,20,0 58,0,4,0,15,0,51,0,28,0,2,0 62,0,19,0,23,0,45,0,13,0,22,0 7,0,16,0,48,0,21,0,11,0,42,0 43,0,63,0,17,0,12,0,25,0,32,0 54,0,35,0,31,0,27,0,55,0,36,0 29,0,53,0,9,0,15,0,20,0,30,0 13,0,49,0,50,0,18,0,56,0,58,0 10,0,26,0,6,0,19,0,5,0,16,0 40,0,59,0,3,0,22,0,33,0,44,0 41,0,28,0,24,0,62,0,14,0,57,0 34,0,38,0,8,0,42,0,2,0,46,0 60,0,48,0,61,0,23,0,1,0,7,0 4,0,45,0,37,0,47,0,52,0,39,0 11,0,53,0,18,0,21,0,51,0,44,0 35,0,3,0,55,0,17,0,13,0,62,0 25,0,40,0,36,0,50,0,28,0,42,0 54,0,15,0,24,0,6,0,23,0,48,0 9,0,45,0,52,0,31,0,43,0,58,0 4,0,27,0,8,0,38,0,56,0,19,0 2,0,21,0,14,0,61,0,1,0,10,0 34,0,37,0,30,0,5,0,46,0,59,0 7,0,41,0,47,0,63,0,22,0,12,0 32,0,29,0,57,0,60,0,39,0,11,0 26,0,49,0,16,0,20,0,51,0,33,0 1,0,36,0,15,0,25,0,8,0,9,0 61,0,30,0,43,0,4,0,54,0,19,0 55,0,12,0,46,0,21,0,5,0,40,0 56,0,63,0,62,0,58,0,48,0,29,0 10,0,52,0,33,0,18,0,27,0,42,0 45,0,47,0,26,0,11,0,17,0,14,0 41,0,16,0,37,0,3,0,53,0,49,0 51,0,6,0,13,0,38,0,59,0,60,0 31,0,20,0,23,0,28,0,39,0,7,0 22,0,24,0,32,0,34,0,50,0,35,0 2,0,57,0,33,0,44,0,17,0,30,0 58,0,62,0,49,0,25,0,11,0,27,0 41,0,18,0,4,0,6,0,53,0,60,0 10,0,59,0,8,0,23,0,26,0,63,0 7,0,46,0,29,0,22,0,55,0,9,0 39,0,48,0,2,0,36,0,35,0,47,0 54,0,38,0,52,0,16,0,14,0,32,0 5,0,28,0,44,0,43,0,34,0,13,0 57,0,50,0,12,0,1,0,31,0,21,0 24,0,56,0,45,0,37,0,20,0,42,0 51,0,15,0,40,0,3,0,19,0,61,0 ================================================ FILE: schedules/63_2.csv ================================================ 22,0,37,0,14,0,3,0,52,0,11,0 36,0,59,0,49,0,47,0,50,0,44,0 18,0,17,0,46,0,16,0,9,0,29,0 58,0,48,0,8,0,27,0,32,0,39,0 38,0,61,0,51,0,54,0,7,0,6,0 57,0,30,0,23,0,62,0,25,0,43,0 10,0,35,0,20,0,55,0,53,0,12,0 21,0,31,0,34,0,42,0,5,0,63,0 2,0,26,0,45,0,56,0,1,0,28,0 24,0,19,0,41,0,13,0,4,0,15,0 33,0,60,0,9,0,40,0,23,0,14,0 29,0,48,0,50,0,30,0,12,0,61,0 37,0,17,0,5,0,51,0,32,0,59,0 56,0,43,0,38,0,10,0,58,0,21,0 15,0,31,0,28,0,3,0,20,0,47,0 60,0,39,0,52,0,16,0,49,0,19,0 1,0,42,0,4,0,27,0,57,0,54,0 44,0,63,0,55,0,62,0,2,0,7,0 6,0,40,0,53,0,46,0,22,0,13,0 25,0,45,0,11,0,8,0,41,0,34,0 36,0,24,0,18,0,33,0,35,0,26,0 ================================================ FILE: schedules/63_3.csv ================================================ 1,0,16,0,5,0,36,0,8,0,7,0 10,0,18,0,26,0,29,0,41,0,46,0 59,0,2,0,22,0,28,0,32,0,39,0 48,0,49,0,58,0,23,0,55,0,15,0 20,0,42,0,35,0,57,0,61,0,54,0 38,0,56,0,43,0,45,0,27,0,11,0 17,0,3,0,12,0,47,0,34,0,31,0 30,0,40,0,6,0,33,0,37,0,62,0 25,0,4,0,19,0,14,0,52,0,51,0 13,0,53,0,44,0,21,0,50,0,60,0 63,0,24,0,27,0,9,0,55,0,20,0 22,1,10,0,35,0,23,1,36,0,34,0 45,0,7,0,39,0,41,1,3,0,37,0 59,0,57,0,46,0,51,0,30,0,47,0 31,0,6,0,32,0,25,0,26,0,48,0 11,0,18,0,52,0,54,0,13,0,63,0 33,0,58,0,4,0,38,0,61,0,44,0 49,0,28,0,50,0,19,0,8,0,17,0 15,0,5,0,29,0,56,0,2,0,53,0 62,0,14,0,60,0,16,0,24,0,43,0 12,0,9,0,42,0,1,0,40,0,21,0 6,0,45,0,47,0,23,0,20,0,52,0 4,0,41,0,36,0,57,0,55,0,11,0 63,0,7,0,2,0,30,0,25,0,35,0 24,0,17,0,56,0,46,0,22,0,33,0 9,0,38,0,26,0,19,0,59,0,62,0 60,0,54,0,27,0,58,0,28,0,1,0 32,0,40,0,3,0,49,0,43,0,44,0 37,0,16,0,15,0,12,0,10,0,13,0 51,0,21,0,61,0,18,0,5,0,39,0 29,0,34,0,50,0,42,0,14,0,48,0 8,0,53,0,23,0,31,0,22,0,41,0 ================================================ FILE: schedules/63_4.csv ================================================ 39,0,28,0,3,0,26,0,8,0,13,0 1,0,45,0,24,0,49,0,20,0,62,0 11,0,17,0,37,0,33,0,29,0,21,0 2,0,46,0,19,0,34,0,40,0,36,0 23,0,59,0,12,0,32,0,16,0,47,0 30,0,53,0,10,0,42,0,50,0,18,0 31,0,57,0,41,0,55,0,15,0,14,0 5,0,22,0,52,0,63,0,51,0,43,0 54,0,44,0,4,0,9,0,25,0,6,0 35,0,56,0,60,0,7,0,38,0,58,0 61,0,11,0,16,0,27,0,48,0,19,0 47,0,53,0,57,0,3,0,36,0,45,0 29,0,49,0,26,0,46,0,10,0,5,0 52,0,28,0,33,0,4,0,30,0,14,0 59,0,40,0,42,0,44,0,24,0,39,0 54,0,55,0,38,0,34,0,63,0,17,0 50,0,9,0,58,0,31,0,61,0,32,0 13,0,25,0,23,0,60,0,21,0,1,0 62,0,15,0,18,0,51,0,27,0,56,0 48,0,41,0,43,0,37,0,12,0,7,0 2,0,35,0,20,0,8,0,6,0,22,0 26,0,63,0,58,0,33,0,45,0,42,0 16,0,40,0,5,0,60,0,54,0,30,0 29,0,34,0,61,0,25,0,28,0,18,0 1,0,51,0,32,0,19,0,14,0,38,0 49,0,15,0,48,0,50,0,23,0,6,0 41,0,9,0,47,0,2,0,52,0,39,0 56,0,37,0,8,0,46,0,59,0,53,0 10,0,21,0,36,0,7,0,22,0,24,0 27,0,43,0,13,0,57,0,35,0,4,0 3,0,55,0,12,0,44,0,20,0,11,0 62,0,17,0,25,0,31,0,48,0,52,0 50,0,19,0,29,0,8,0,60,0,41,0 28,0,47,0,54,0,58,0,15,0,37,0 46,0,14,0,7,0,61,0,23,0,42,0 22,0,34,0,1,0,56,0,26,0,57,0 49,0,51,0,44,0,16,0,2,0,17,0 36,0,30,0,55,0,59,0,62,0,13,0 39,0,11,0,6,0,43,0,45,0,32,0 4,0,21,0,63,0,53,0,31,0,20,0 12,0,18,0,5,0,24,0,9,0,35,0 40,0,27,0,33,0,38,0,10,0,3,0 ================================================ FILE: schedules/63_5.csv ================================================ 41,0,16,0,29,0,5,0,48,0,34,0 54,0,17,0,23,0,49,0,6,0,42,0 33,0,25,0,44,0,1,0,39,0,55,0 30,0,32,0,28,0,36,0,38,0,18,0 45,0,53,0,43,0,26,0,61,0,40,0 52,0,14,0,31,0,35,0,13,0,22,0 19,0,7,0,56,0,2,0,11,0,12,0 51,0,9,0,3,0,15,0,10,0,57,0 24,0,27,0,20,0,59,0,4,0,50,0 37,0,47,0,62,0,21,0,63,0,46,0 58,0,17,0,39,0,8,0,60,0,48,0 1,0,6,0,61,0,30,0,19,0,34,0 35,0,15,0,42,0,40,0,5,0,2,0 55,0,52,0,16,0,50,0,26,0,10,0 18,0,31,0,51,0,43,0,25,0,56,0 20,0,38,0,11,0,49,0,47,0,57,0 29,0,4,0,37,0,14,0,54,0,36,0 62,0,33,0,32,0,23,0,59,0,53,0 21,0,27,0,12,0,58,0,9,0,22,0 60,0,46,0,3,0,24,0,28,0,13,0 44,0,7,0,8,0,45,0,63,0,41,0 10,1,19,0,48,0,42,1,14,0,25,0 50,0,57,0,5,0,1,1,32,0,37,0 22,0,39,0,26,0,56,0,62,0,30,0 46,0,51,0,52,0,4,0,17,0,38,0 53,0,3,0,20,0,29,0,31,0,7,0 58,0,54,0,28,0,40,0,41,0,59,0 2,0,18,0,6,0,45,0,27,0,33,0 63,0,49,0,9,0,55,0,24,0,43,0 23,0,47,0,12,0,15,0,36,0,61,0 44,0,35,0,60,0,11,0,34,0,21,0 13,0,16,0,40,0,8,0,38,0,62,0 26,0,48,0,57,0,54,0,18,0,7,0 10,0,2,0,49,0,29,0,58,0,32,0 63,0,22,0,5,0,19,0,3,0,4,0 59,0,45,0,47,0,52,0,60,0,25,0 30,0,24,0,17,0,44,0,53,0,12,0 8,0,56,0,21,0,15,0,50,0,6,0 11,0,13,0,61,0,55,0,42,0,51,0 36,0,46,0,39,0,34,0,27,0,31,0 43,0,41,0,35,0,20,0,33,0,37,0 28,0,9,0,14,0,23,0,1,0,16,0 40,0,24,0,21,0,52,0,7,0,32,0 22,0,57,0,25,0,61,0,2,0,17,0 10,0,63,0,38,0,54,0,39,0,12,0 26,0,42,0,36,0,3,0,58,0,33,0 14,0,45,0,5,0,51,0,20,0,30,0 8,0,59,0,11,0,1,0,43,0,46,0 13,0,50,0,34,0,47,0,53,0,9,0 31,0,6,0,48,0,44,0,28,0,62,0 55,0,23,0,29,0,27,0,35,0,19,0 37,0,15,0,49,0,16,0,60,0,18,0 56,0,4,0,42,0,41,0,10,0,1,0 ================================================ FILE: schedules/63_6.csv ================================================ 28,0,48,0,36,0,12,0,51,0,10,0 31,0,26,0,5,0,46,0,25,0,30,0 15,0,57,0,42,0,58,0,39,0,23,0 33,0,3,0,56,0,21,0,45,0,27,0 29,0,44,0,34,0,53,0,49,0,61,0 4,0,60,0,2,0,54,0,47,0,24,0 38,0,40,0,8,0,1,0,11,0,20,0 6,0,43,0,7,0,19,0,59,0,13,0 41,0,37,0,55,0,16,0,17,0,9,0 63,0,52,0,50,0,35,0,22,0,14,0 32,0,25,0,12,0,18,0,62,0,4,0 40,0,60,0,5,0,48,0,44,0,3,0 38,0,26,0,10,0,54,0,61,0,57,0 29,0,58,0,55,0,43,0,20,0,21,0 19,0,15,0,1,0,52,0,37,0,46,0 49,0,33,0,62,0,6,0,23,0,9,0 28,0,17,0,11,0,32,0,50,0,7,0 42,0,45,0,13,0,47,0,53,0,14,0 16,0,18,0,36,0,35,0,24,0,31,0 27,0,59,0,22,0,51,0,39,0,8,0 41,0,56,0,34,0,30,0,63,0,2,0 21,0,4,0,10,0,11,0,26,0,9,0 46,0,38,0,43,0,49,0,28,0,3,0 31,0,12,0,47,0,15,0,50,0,29,0 44,0,23,0,19,0,22,0,25,0,16,0 35,0,34,0,39,0,40,0,45,0,6,0 54,0,42,0,17,0,36,0,30,0,62,0 5,0,37,0,20,0,18,0,2,0,7,0 48,0,27,0,13,0,52,0,24,0,57,0 59,0,1,0,14,0,60,0,41,0,58,0 63,0,51,0,33,0,55,0,61,0,32,0 53,0,17,0,6,0,8,0,56,0,31,0 18,0,22,0,10,0,40,0,29,0,42,0 2,0,35,0,27,0,44,0,15,0,38,0 46,0,23,0,45,0,41,0,20,0,12,0 1,0,43,0,63,0,4,0,5,0,57,0 3,0,52,0,16,0,53,0,51,0,54,0 8,0,19,0,14,0,34,0,28,0,26,0 11,0,36,0,25,0,33,0,13,0,58,0 9,0,32,0,47,0,48,0,56,0,59,0 21,0,50,0,61,0,60,0,37,0,62,0 39,0,49,0,24,0,55,0,7,0,30,0 40,0,2,0,12,0,57,0,19,0,17,0 6,0,52,0,29,0,5,0,41,0,38,0 13,0,15,0,32,0,34,0,20,0,16,0 18,0,1,0,9,0,50,0,54,0,27,0 28,0,25,0,35,0,59,0,53,0,55,0 8,0,46,0,24,0,44,0,21,0,42,0 31,0,48,0,14,0,39,0,4,0,33,0 56,0,51,0,26,0,58,0,37,0,49,0 47,0,61,0,7,0,36,0,23,0,3,0 30,0,22,0,60,0,45,0,43,0,11,0 62,0,63,0,16,0,10,0,46,0,27,0 20,0,59,0,57,0,44,0,50,0,33,0 58,0,18,0,53,0,38,0,48,0,19,0 42,0,7,0,51,0,31,0,34,0,9,0 55,0,26,0,45,0,1,0,36,0,2,0 37,0,3,0,24,0,12,0,6,0,14,0 61,0,30,0,4,0,15,0,40,0,28,0 23,0,13,0,60,0,63,0,29,0,8,0 11,0,62,0,35,0,39,0,56,0,5,0 49,0,41,0,54,0,21,0,32,0,22,0 25,0,47,0,17,0,43,0,52,0,10,0 ================================================ FILE: schedules/63_7.csv ================================================ 53,0,48,0,62,0,11,0,4,0,40,0 13,0,57,0,26,0,12,0,52,0,41,0 10,0,27,0,46,0,14,0,7,0,58,0 44,0,3,0,45,0,21,0,31,0,42,0 6,0,36,0,39,0,23,0,17,0,49,0 1,0,54,0,35,0,50,0,43,0,63,0 59,0,37,0,2,0,20,0,8,0,55,0 30,0,29,0,47,0,60,0,38,0,16,0 61,0,51,0,34,0,18,0,9,0,22,0 19,0,24,0,15,0,33,0,32,0,25,0 5,0,28,0,7,0,56,0,13,0,39,0 10,0,8,0,3,0,52,0,23,0,1,0 63,0,57,0,42,0,53,0,49,0,46,0 55,0,11,0,12,0,21,0,38,0,36,0 45,0,37,0,43,0,51,0,27,0,19,0 25,0,20,0,44,0,29,0,40,0,34,0 32,0,22,0,56,0,60,0,17,0,58,0 28,0,16,0,6,0,18,0,41,0,48,0 35,0,62,0,31,0,15,0,9,0,5,0 30,0,4,0,24,0,54,0,26,0,2,0 33,0,50,0,14,0,61,0,59,0,47,0 23,1,13,0,46,0,38,1,53,0,20,0 42,1,34,0,27,0,6,0,63,0,55,0 51,0,5,0,32,0,41,0,29,0,3,0 11,0,57,0,28,0,9,0,8,0,30,0 36,0,44,0,19,0,61,0,4,0,35,0 2,0,47,0,25,0,12,0,56,0,62,0 10,0,50,0,17,0,40,0,24,0,45,0 22,0,14,0,54,0,48,0,37,0,31,0 39,0,58,0,43,0,18,0,60,0,59,0 16,0,26,0,15,0,21,0,1,0,7,0 49,0,33,0,11,0,52,0,51,0,56,0 63,0,20,0,17,0,3,0,19,0,9,0 4,0,29,0,50,0,27,0,28,0,31,0 55,0,25,0,23,0,43,0,48,0,57,0 38,0,13,0,14,0,1,0,44,0,24,0 26,0,53,0,10,0,6,0,59,0,22,0 60,0,61,0,7,0,54,0,8,0,62,0 12,0,40,0,58,0,42,0,37,0,15,0 47,0,21,0,18,0,52,0,49,0,32,0 30,0,41,0,35,0,34,0,46,0,39,0 36,0,2,0,16,0,33,0,45,0,5,0 63,0,25,0,38,0,4,0,7,0,22,0 15,0,55,0,17,0,8,0,29,0,13,0 1,0,59,0,31,0,11,0,19,0,18,0 51,0,12,0,6,0,44,0,54,0,46,0 45,0,26,0,20,0,48,0,47,0,35,0 3,0,58,0,49,0,2,0,50,0,30,0 57,0,37,0,34,0,10,0,62,0,33,0 53,0,39,0,9,0,16,0,32,0,14,0 42,0,43,0,52,0,36,0,28,0,24,0 23,0,41,0,21,0,61,0,27,0,56,0 40,0,60,0,19,0,5,0,55,0,26,0 38,0,8,0,6,0,58,0,33,0,35,0 48,0,9,0,29,0,49,0,12,0,1,0 22,0,39,0,62,0,42,0,20,0,50,0 14,0,23,0,59,0,63,0,28,0,45,0 51,0,60,0,21,0,13,0,4,0,10,0 61,0,46,0,5,0,25,0,17,0,52,0 54,0,56,0,57,0,40,0,16,0,3,0 24,0,7,0,41,0,47,0,37,0,44,0 18,0,27,0,30,0,15,0,36,0,53,0 31,0,11,0,32,0,34,0,2,0,43,0 29,0,21,0,62,0,6,0,14,0,19,0 35,0,13,0,16,0,42,0,25,0,59,0 38,0,9,0,56,0,50,0,26,0,37,0 58,0,24,0,20,0,57,0,51,0,36,0 12,0,33,0,23,0,30,0,31,0,7,0 27,0,44,0,52,0,48,0,60,0,2,0 49,0,8,0,41,0,22,0,40,0,43,0 28,0,53,0,34,0,47,0,3,0,17,0 4,0,45,0,1,0,32,0,55,0,46,0 15,0,63,0,39,0,61,0,10,0,11,0 18,0,23,0,42,0,54,0,5,0,38,0 ================================================ FILE: schedules/63_8.csv ================================================ 62,0,48,0,46,0,43,0,35,0,4,0 18,0,27,0,45,0,40,0,44,0,51,0 37,0,29,0,7,0,57,0,24,0,1,0 39,0,32,0,22,0,36,0,53,0,34,0 5,0,42,0,59,0,3,0,12,0,2,0 20,0,41,0,14,0,30,0,23,0,61,0 19,0,26,0,33,0,56,0,63,0,25,0 58,0,47,0,60,0,55,0,38,0,8,0 10,0,54,0,31,0,50,0,28,0,15,0 13,0,11,0,16,0,9,0,17,0,21,0 6,0,49,0,37,0,52,0,42,0,53,0 40,0,4,0,12,0,14,0,33,0,57,0 58,0,18,0,51,0,35,0,32,0,1,0 45,0,30,0,47,0,54,0,19,0,7,0 26,0,3,0,60,0,43,0,41,0,10,0 63,0,34,0,39,0,21,0,28,0,49,0 6,0,2,0,62,0,31,0,55,0,16,0 5,0,61,0,13,0,8,0,50,0,22,0 56,0,15,0,23,0,29,0,44,0,59,0 36,0,52,0,27,0,11,0,9,0,20,0 48,0,24,0,38,0,25,0,46,0,17,0 26,0,16,0,34,0,4,0,37,0,47,0 13,0,18,0,43,0,28,0,12,0,19,0 44,0,6,0,31,0,61,0,3,0,1,0 2,0,50,0,53,0,29,0,20,0,21,0 35,0,55,0,25,0,57,0,52,0,23,0 11,0,22,0,10,0,30,0,49,0,38,0 46,0,5,0,15,0,45,0,41,0,36,0 51,0,39,0,54,0,24,0,8,0,56,0 33,0,27,0,42,0,48,0,60,0,32,0 63,0,17,0,40,0,62,0,59,0,58,0 9,0,7,0,53,0,14,0,44,0,10,0 46,0,11,0,61,0,55,0,26,0,18,0 16,0,43,0,57,0,54,0,8,0,1,0 5,0,3,0,30,0,29,0,52,0,33,0 31,0,32,0,13,0,20,0,37,0,38,0 42,0,17,0,7,0,15,0,34,0,51,0 59,0,28,0,22,0,6,0,35,0,60,0 48,0,41,0,9,0,56,0,39,0,40,0 21,0,19,0,47,0,27,0,62,0,23,0 25,0,49,0,36,0,58,0,14,0,12,0 4,0,24,0,50,0,45,0,2,0,63,0 61,0,53,0,37,0,35,0,54,0,33,0 28,0,55,0,32,0,7,0,56,0,41,0 51,0,29,0,11,0,6,0,40,0,47,0 15,0,25,0,9,0,62,0,22,0,3,0 45,0,42,0,23,0,63,0,38,0,43,0 49,0,19,0,4,0,36,0,17,0,8,0 1,0,50,0,14,0,26,0,59,0,27,0 60,0,21,0,24,0,12,0,30,0,31,0 52,0,2,0,34,0,48,0,13,0,58,0 20,0,57,0,10,0,18,0,5,0,39,0 46,0,44,0,28,0,16,0,33,0,22,0 23,0,36,0,43,0,40,0,37,0,50,0 45,0,32,0,8,0,21,0,25,0,6,0 14,0,38,0,54,0,29,0,62,0,34,0 7,0,35,0,63,0,27,0,31,0,5,0 59,0,10,0,56,0,4,0,61,0,16,0 57,0,30,0,60,0,2,0,46,0,9,0 24,0,41,0,18,0,13,0,47,0,53,0 12,0,1,0,26,0,15,0,17,0,52,0 55,0,48,0,20,0,51,0,3,0,49,0 39,0,58,0,19,0,11,0,44,0,42,0 9,0,33,0,59,0,34,0,45,0,31,0 36,0,56,0,30,0,13,0,38,0,6,0 12,0,8,0,63,0,41,0,46,0,29,0 35,0,17,0,10,0,2,0,47,0,20,0 50,0,3,0,57,0,53,0,11,0,62,0 54,0,44,0,43,0,5,0,32,0,49,0 25,0,39,0,37,0,60,0,61,0,27,0 40,0,21,0,42,0,1,0,22,0,55,0 58,0,28,0,23,0,26,0,4,0,51,0 48,0,15,0,16,0,19,0,24,0,14,0 52,0,18,0,38,0,7,0,59,0,50,0 35,0,29,0,27,0,45,0,13,0,49,0 55,0,12,0,6,0,63,0,54,0,9,0 1,0,34,0,44,0,30,0,41,0,25,0 2,0,51,0,33,0,43,0,39,0,15,0 52,0,40,0,19,0,32,0,10,0,24,0 53,0,5,0,16,0,60,0,23,0,17,0 21,0,3,0,56,0,58,0,37,0,46,0 47,0,28,0,36,0,48,0,57,0,61,0 7,0,8,0,62,0,26,0,42,0,20,0 22,0,4,0,14,0,18,0,11,0,31,0 ================================================ FILE: schedules/63_9.csv ================================================ 19,0,17,0,58,0,50,0,12,0,29,0 43,0,44,0,32,0,33,0,39,0,5,0 40,0,38,0,63,0,57,0,20,0,51,0 55,0,24,0,15,0,2,0,25,0,1,0 60,0,26,0,21,0,34,0,27,0,48,0 30,0,4,0,13,0,52,0,62,0,37,0 49,0,6,0,36,0,14,0,59,0,54,0 11,0,41,0,16,0,7,0,47,0,46,0 35,0,22,0,18,0,10,0,31,0,9,0 28,0,56,0,45,0,61,0,8,0,23,0 53,0,3,0,12,0,42,0,34,0,5,0 52,0,6,0,27,0,24,0,58,0,44,0 21,0,63,0,59,0,11,0,50,0,32,0 29,0,10,0,14,0,60,0,4,0,33,0 43,0,62,0,19,0,47,0,40,0,25,0 42,0,28,0,30,0,46,0,55,0,18,0 49,0,38,0,23,0,17,0,48,0,13,0 51,0,31,0,8,0,41,0,1,0,37,0 16,0,2,0,20,0,9,0,36,0,39,0 53,0,61,0,7,0,57,0,15,0,22,0 56,0,54,0,35,0,45,0,3,0,26,0 30,1,47,0,10,0,17,1,6,0,5,0 41,0,28,0,25,0,32,1,33,0,52,0 51,0,48,0,21,0,39,0,18,0,12,0 9,0,7,0,1,0,36,0,58,0,63,0 46,0,20,0,15,0,54,0,24,0,45,0 31,0,38,0,50,0,60,0,62,0,3,0 53,0,49,0,35,0,4,0,43,0,2,0 8,0,16,0,55,0,22,0,40,0,14,0 42,0,19,0,37,0,59,0,11,0,27,0 34,0,13,0,57,0,56,0,44,0,29,0 23,0,26,0,39,0,61,0,50,0,33,0 7,0,3,0,32,0,6,0,18,0,1,0 20,0,21,0,30,0,8,0,35,0,25,0 10,0,54,0,19,0,48,0,28,0,16,0 60,0,37,0,57,0,49,0,41,0,46,0 56,0,17,0,40,0,9,0,24,0,11,0 12,0,4,0,47,0,22,0,27,0,45,0 5,0,52,0,36,0,23,0,34,0,62,0 55,0,29,0,61,0,43,0,38,0,59,0 14,0,31,0,58,0,42,0,2,0,13,0 63,0,44,0,51,0,15,0,53,0,26,0 25,0,57,0,50,0,54,0,32,0,27,0 37,0,46,0,6,0,22,0,23,0,1,0 47,0,61,0,60,0,21,0,40,0,18,0 56,0,43,0,3,0,58,0,30,0,16,0 4,0,8,0,36,0,17,0,38,0,42,0 62,0,51,0,45,0,44,0,10,0,55,0 26,0,33,0,11,0,20,0,49,0,13,0 7,0,24,0,59,0,5,0,31,0,35,0 29,0,48,0,9,0,53,0,14,0,52,0 34,0,15,0,63,0,28,0,39,0,19,0 41,0,12,0,30,0,2,0,44,0,61,0 47,0,32,0,58,0,49,0,4,0,55,0 54,0,60,0,23,0,51,0,11,0,43,0 22,0,9,0,62,0,26,0,42,0,24,0 28,0,21,0,31,0,20,0,6,0,53,0 36,0,14,0,41,0,19,0,3,0,50,0 38,0,27,0,15,0,10,0,56,0,18,0 45,0,5,0,25,0,63,0,13,0,29,0 52,0,16,0,1,0,12,0,57,0,33,0 37,0,40,0,39,0,7,0,17,0,35,0 46,0,48,0,2,0,8,0,59,0,34,0 6,0,42,0,4,0,51,0,19,0,61,0 5,0,22,0,43,0,20,0,41,0,18,0 23,0,57,0,55,0,3,0,9,0,21,0 1,0,50,0,49,0,52,0,40,0,45,0 25,0,10,0,11,0,53,0,58,0,39,0 59,0,35,0,44,0,17,0,60,0,28,0 36,0,33,0,48,0,24,0,47,0,31,0 13,0,54,0,38,0,30,0,7,0,34,0 26,0,2,0,29,0,37,0,32,0,16,0 14,0,56,0,46,0,12,0,62,0,63,0 27,0,8,0,5,0,15,0,49,0,9,0 45,0,47,0,39,0,60,0,42,0,52,0 1,0,44,0,31,0,54,0,21,0,4,0 11,0,2,0,3,0,29,0,28,0,22,0 32,0,53,0,24,0,30,0,38,0,19,0 17,0,8,0,62,0,6,0,63,0,16,0 18,0,34,0,61,0,14,0,25,0,37,0 59,0,58,0,40,0,41,0,23,0,15,0 13,0,46,0,33,0,27,0,51,0,35,0 50,0,55,0,20,0,7,0,56,0,48,0 26,0,12,0,10,0,36,0,43,0,57,0 39,0,29,0,11,0,62,0,31,0,30,0 23,0,59,0,18,0,44,0,16,0,4,0 33,0,2,0,40,0,45,0,6,0,38,0 17,0,46,0,52,0,20,0,61,0,3,0 36,0,42,0,35,0,48,0,32,0,15,0 13,0,55,0,27,0,41,0,54,0,53,0 60,0,5,0,19,0,1,0,26,0,56,0 24,0,63,0,37,0,21,0,43,0,10,0 50,0,58,0,34,0,8,0,47,0,57,0 12,0,25,0,9,0,49,0,7,0,28,0 22,0,51,0,17,0,14,0,30,0,32,0 ================================================ FILE: schedules/64_1.csv ================================================ 5,0,8,0,27,0,7,0,15,0,22,0 34,0,58,0,12,0,47,0,51,0,21,0 37,0,24,0,31,0,52,0,62,0,3,0 10,0,25,0,41,0,19,0,59,0,33,0 57,0,26,0,4,0,2,0,42,0,54,0 46,0,28,0,44,0,53,0,50,0,32,0 55,0,16,0,13,0,14,0,23,0,20,0 64,0,36,0,39,0,63,0,9,0,45,0 61,0,56,0,11,0,29,0,6,0,40,0 48,0,35,0,30,0,17,0,49,0,18,0 1,0,60,0,24,1,43,0,38,0,32,1 ================================================ FILE: schedules/64_10.csv ================================================ 49,0,27,0,39,0,59,0,15,0,8,0 40,0,3,0,61,0,22,0,52,0,7,0 23,0,41,0,28,0,62,0,43,0,44,0 6,0,9,0,46,0,35,0,55,0,4,0 17,0,53,0,30,0,29,0,2,0,63,0 25,0,26,0,21,0,24,0,57,0,36,0 33,0,32,0,34,0,54,0,19,0,38,0 47,0,48,0,31,0,20,0,45,0,51,0 12,0,50,0,1,0,18,0,37,0,14,0 56,0,16,0,60,0,10,0,13,0,58,0 42,0,5,0,17,0,11,0,64,0,49,0 36,0,41,0,19,0,6,0,26,0,22,0 30,0,54,0,28,0,47,0,59,0,21,0 34,0,62,0,24,0,53,0,48,0,39,0 9,0,15,0,23,0,56,0,40,0,37,0 7,0,11,0,8,0,10,0,55,0,2,0 5,0,32,0,61,0,58,0,35,0,16,0 12,0,27,0,52,0,44,0,46,0,57,0 50,0,4,0,33,0,51,0,13,0,60,0 42,0,31,0,14,0,38,0,63,0,3,0 18,0,25,0,64,0,45,0,43,0,29,0 1,0,36,0,9,0,20,0,16,0,17,0 6,1,49,0,32,0,30,1,12,0,23,0 53,0,19,0,2,0,4,0,47,0,57,0 48,0,42,0,7,0,27,0,54,0,50,0 55,0,37,0,44,0,45,0,58,0,56,0 14,0,38,0,15,0,21,0,41,0,52,0 63,0,22,0,59,0,51,0,64,0,46,0 31,0,5,0,8,0,33,0,28,0,18,0 20,0,24,0,13,0,11,0,62,0,61,0 10,0,3,0,43,0,39,0,29,0,34,0 35,0,25,0,40,0,26,0,1,0,60,0 14,0,48,0,58,0,7,0,57,0,17,0 54,0,45,0,2,0,12,0,5,0,41,0 27,0,33,0,21,0,9,0,62,0,64,0 56,0,39,0,52,0,11,0,47,0,32,0 44,0,18,0,30,0,15,0,19,0,25,0 16,0,3,0,59,0,4,0,37,0,26,0 22,0,20,0,29,0,34,0,60,0,35,0 10,0,42,0,46,0,61,0,51,0,28,0 43,0,38,0,53,0,1,0,8,0,13,0 40,0,49,0,24,0,50,0,31,0,6,0 55,0,63,0,33,0,36,0,23,0,52,0 30,0,59,0,45,0,3,0,60,0,62,0 21,0,4,0,18,0,22,0,48,0,10,0 46,0,37,0,7,0,25,0,39,0,13,0 14,0,44,0,53,0,49,0,5,0,20,0 34,0,26,0,63,0,28,0,6,0,58,0 31,0,64,0,1,0,57,0,61,0,56,0 51,0,11,0,54,0,9,0,29,0,40,0 12,0,32,0,24,0,42,0,41,0,8,0 36,0,38,0,17,0,35,0,27,0,23,0 47,0,43,0,55,0,50,0,16,0,15,0 19,0,60,0,37,0,2,0,49,0,61,0 48,0,52,0,25,0,9,0,5,0,28,0 51,0,32,0,29,0,62,0,7,0,26,0 4,0,8,0,14,0,56,0,36,0,34,0 11,0,46,0,30,0,1,0,58,0,41,0 50,0,10,0,35,0,15,0,53,0,63,0 40,0,47,0,17,0,44,0,24,0,33,0 42,0,6,0,16,0,39,0,2,0,21,0 20,0,57,0,55,0,54,0,59,0,18,0 13,0,64,0,38,0,19,0,3,0,12,0 23,0,43,0,22,0,27,0,31,0,45,0 17,0,56,0,50,0,46,0,34,0,41,0 7,0,29,0,4,0,1,0,47,0,5,0 37,0,32,0,36,0,10,0,28,0,53,0 57,0,49,0,35,0,39,0,55,0,40,0 60,0,43,0,63,0,48,0,12,0,11,0 15,0,2,0,62,0,54,0,22,0,31,0 8,0,19,0,21,0,51,0,58,0,23,0 33,0,3,0,25,0,20,0,61,0,27,0 38,0,18,0,9,0,24,0,6,0,59,0 44,0,52,0,13,0,30,0,26,0,42,0 45,0,64,0,28,0,14,0,16,0,40,0 62,0,39,0,12,0,55,0,19,0,17,0 5,0,21,0,63,0,27,0,56,0,32,0 36,0,35,0,51,0,2,0,3,0,18,0 34,0,59,0,31,0,11,0,25,0,44,0 54,0,58,0,52,0,24,0,43,0,4,0 48,0,20,0,37,0,30,0,64,0,8,0 41,0,22,0,16,0,7,0,53,0,33,0 6,0,1,0,15,0,60,0,45,0,42,0 23,0,57,0,38,0,29,0,50,0,46,0 10,0,61,0,26,0,47,0,14,0,9,0 13,0,4,0,54,0,49,0,63,0,17,0 5,0,34,0,16,0,24,0,30,0,51,0 19,0,43,0,56,0,59,0,35,0,42,0 46,0,40,0,12,0,53,0,20,0,21,0 28,0,3,0,7,0,11,0,57,0,15,0 13,0,61,0,41,0,23,0,55,0,18,0 14,0,29,0,27,0,37,0,6,0,33,0 62,0,50,0,45,0,8,0,52,0,10,0 31,0,60,0,39,0,64,0,26,0,36,0 1,0,44,0,2,0,9,0,32,0,48,0 58,0,49,0,47,0,22,0,25,0,38,0 23,0,6,0,56,0,53,0,54,0,3,0 24,0,45,0,16,0,63,0,46,0,19,0 39,0,28,0,20,0,41,0,27,0,4,0 9,0,30,0,35,0,12,0,7,0,31,0 60,0,61,0,21,0,44,0,8,0,17,0 29,0,13,0,59,0,36,0,48,0,15,0 22,0,51,0,55,0,14,0,32,0,25,0 64,0,2,0,34,0,49,0,1,0,52,0 18,0,58,0,40,0,47,0,62,0,42,0 11,0,5,0,26,0,50,0,38,0,37,0 57,0,10,0,6,0,43,0,33,0,30,0 ================================================ FILE: schedules/64_11.csv ================================================ 43,0,35,0,36,0,29,0,31,0,58,0 41,0,15,0,59,0,55,0,53,0,34,0 23,0,61,0,3,0,8,0,51,0,30,0 64,0,49,0,44,0,4,0,17,0,16,0 28,0,63,0,37,0,26,0,27,0,45,0 56,0,62,0,12,0,25,0,33,0,40,0 2,0,11,0,47,0,46,0,5,0,50,0 9,0,18,0,1,0,10,0,19,0,7,0 60,0,14,0,54,0,21,0,22,0,42,0 13,0,20,0,48,0,57,0,24,0,39,0 32,0,52,0,26,0,6,0,38,0,12,0 30,0,43,0,62,0,63,0,59,0,4,0 17,0,64,0,37,0,9,0,5,0,3,0 2,0,19,0,40,0,34,0,8,0,36,0 57,0,22,0,16,0,7,0,31,0,33,0 38,0,14,0,48,0,11,0,51,0,20,0 50,0,32,0,1,0,25,0,13,0,41,0 60,0,24,0,55,0,49,0,39,0,53,0 18,0,61,0,44,0,35,0,56,0,28,0 58,0,6,0,15,0,46,0,45,0,23,0 27,0,47,0,52,0,21,0,10,0,54,0 29,0,22,0,11,0,42,0,9,0,63,0 12,1,59,0,36,0,3,1,16,0,24,0 41,1,35,0,5,0,28,1,26,0,40,0 46,0,56,0,60,0,13,0,45,0,64,0 61,0,21,0,20,0,31,0,25,0,53,0 19,0,49,0,52,0,33,0,50,0,29,0 2,0,57,0,38,0,1,0,43,0,15,0 17,0,32,0,39,0,58,0,18,0,14,0 23,0,7,0,51,0,37,0,47,0,42,0 62,0,44,0,6,0,8,0,55,0,54,0 48,0,30,0,4,0,10,0,27,0,34,0 13,0,50,0,31,0,26,0,3,0,15,0 64,0,28,0,53,0,32,0,40,0,38,0 11,0,45,0,41,0,51,0,59,0,19,0 62,0,55,0,21,0,18,0,29,0,36,0 25,0,54,0,46,0,9,0,49,0,48,0 1,0,8,0,44,0,37,0,20,0,58,0 16,0,42,0,30,0,6,0,56,0,24,0 33,0,47,0,57,0,60,0,17,0,27,0 35,0,10,0,23,0,2,0,63,0,14,0 5,0,34,0,7,0,43,0,61,0,12,0 22,0,4,0,15,0,39,0,52,0,37,0 19,0,62,0,31,0,28,0,6,0,49,0 9,0,58,0,54,0,3,0,13,0,57,0 63,0,36,0,33,0,53,0,51,0,50,0 24,0,5,0,30,0,21,0,35,0,1,0 60,0,39,0,10,0,8,0,32,0,11,0 7,0,43,0,38,0,44,0,48,0,56,0 16,0,20,0,41,0,17,0,46,0,29,0 26,0,25,0,55,0,4,0,14,0,47,0 12,0,18,0,27,0,61,0,2,0,45,0 34,0,23,0,59,0,22,0,64,0,52,0 40,0,37,0,53,0,42,0,50,0,57,0 8,0,13,0,19,0,51,0,43,0,16,0 1,0,31,0,28,0,47,0,63,0,54,0 10,0,45,0,32,0,20,0,49,0,3,0 5,0,52,0,58,0,30,0,27,0,14,0 56,0,25,0,2,0,41,0,22,0,17,0 34,0,12,0,35,0,9,0,38,0,55,0 29,0,6,0,23,0,40,0,60,0,48,0 33,0,18,0,4,0,46,0,24,0,59,0 7,0,64,0,21,0,62,0,15,0,11,0 26,0,39,0,61,0,42,0,44,0,36,0 16,0,25,0,38,0,5,0,37,0,10,0 17,0,51,0,45,0,1,0,34,0,54,0 43,0,53,0,20,0,23,0,55,0,47,0 63,0,21,0,29,0,32,0,56,0,3,0 39,0,9,0,6,0,59,0,33,0,61,0 4,0,26,0,42,0,2,0,58,0,48,0 50,0,44,0,19,0,30,0,60,0,22,0 18,0,49,0,41,0,52,0,8,0,57,0 11,0,12,0,24,0,31,0,27,0,15,0 64,0,36,0,40,0,13,0,14,0,7,0 46,0,35,0,42,0,28,0,62,0,3,0 33,0,16,0,55,0,23,0,1,0,48,0 17,0,38,0,52,0,63,0,60,0,61,0 56,0,5,0,4,0,57,0,6,0,19,0 31,0,40,0,39,0,25,0,30,0,45,0 8,0,28,0,14,0,53,0,15,0,9,0 58,0,50,0,10,0,51,0,21,0,12,0 29,0,47,0,13,0,2,0,59,0,44,0 24,0,20,0,26,0,64,0,54,0,62,0 46,0,27,0,32,0,22,0,7,0,36,0 35,0,11,0,49,0,37,0,41,0,43,0 18,0,3,0,31,0,34,0,60,0,38,0 50,0,12,0,17,0,28,0,4,0,23,0 2,0,52,0,51,0,20,0,9,0,40,0 8,0,45,0,33,0,5,0,42,0,55,0 59,0,48,0,37,0,21,0,19,0,32,0 58,0,30,0,56,0,54,0,49,0,15,0 35,0,13,0,22,0,7,0,6,0,53,0 14,0,61,0,34,0,62,0,47,0,24,0 16,0,1,0,29,0,18,0,11,0,26,0 25,0,44,0,10,0,57,0,36,0,46,0 43,0,63,0,27,0,64,0,39,0,41,0 38,0,49,0,45,0,23,0,13,0,21,0 34,0,37,0,2,0,33,0,14,0,6,0 32,0,60,0,58,0,16,0,9,0,62,0 17,0,57,0,26,0,11,0,55,0,30,0 24,0,28,0,7,0,25,0,43,0,52,0 40,0,22,0,3,0,1,0,61,0,4,0 41,0,31,0,42,0,64,0,18,0,10,0 63,0,15,0,51,0,5,0,29,0,44,0 53,0,54,0,12,0,46,0,19,0,39,0 56,0,27,0,50,0,20,0,59,0,35,0 8,0,47,0,22,0,48,0,36,0,45,0 33,0,37,0,30,0,18,0,13,0,28,0 55,0,63,0,64,0,58,0,61,0,25,0 3,0,2,0,53,0,52,0,44,0,11,0 6,0,40,0,21,0,43,0,17,0,10,0 4,0,20,0,54,0,7,0,41,0,60,0 14,0,42,0,59,0,12,0,49,0,1,0 9,0,46,0,51,0,26,0,56,0,31,0 23,0,5,0,57,0,62,0,32,0,34,0 29,0,24,0,27,0,50,0,8,0,38,0 15,0,47,0,39,0,35,0,16,0,19,0 36,0,3,0,41,0,48,0,12,0,28,0 ================================================ FILE: schedules/64_12.csv ================================================ 61,0,58,0,18,0,25,0,45,0,34,0 30,0,24,0,19,0,49,0,53,0,37,0 28,0,33,0,11,0,9,0,16,0,46,0 17,0,47,0,52,0,7,0,4,0,63,0 20,0,54,0,60,0,21,0,35,0,8,0 41,0,62,0,2,0,5,0,56,0,26,0 32,0,15,0,14,0,23,0,50,0,40,0 43,0,51,0,44,0,13,0,6,0,59,0 27,0,36,0,55,0,57,0,3,0,38,0 42,0,12,0,39,0,29,0,31,0,48,0 64,0,22,0,9,0,1,0,10,0,52,0 58,0,17,0,62,0,28,0,50,0,53,0 23,0,59,0,37,0,7,0,25,0,54,0 16,0,43,0,40,0,18,0,46,0,5,0 21,0,27,0,47,0,29,0,34,0,15,0 41,0,39,0,20,0,36,0,64,0,1,0 63,0,42,0,24,0,14,0,10,0,6,0 35,0,13,0,44,0,4,0,30,0,26,0 49,0,57,0,11,0,60,0,48,0,32,0 55,0,3,0,45,0,51,0,2,0,31,0 56,0,38,0,61,0,8,0,19,0,33,0 22,0,20,0,62,0,12,0,23,0,29,0 21,0,16,0,7,0,9,0,39,0,25,0 17,0,48,0,49,0,43,0,36,0,35,0 1,0,47,0,28,0,14,0,55,0,18,0 59,0,51,0,38,0,60,0,58,0,52,0 4,0,56,0,42,0,64,0,45,0,15,0 19,0,37,0,31,0,11,0,13,0,40,0 8,0,34,0,10,0,53,0,44,0,46,0 22,0,26,0,54,0,24,0,33,0,3,0 41,0,57,0,6,0,2,0,12,0,50,0 30,0,32,0,63,0,5,0,27,0,61,0 43,0,37,0,60,0,55,0,39,0,47,0 23,0,1,0,35,0,42,0,49,0,31,0 11,0,20,0,53,0,17,0,38,0,7,0 28,0,34,0,64,0,22,0,50,0,13,0 6,0,36,0,2,0,25,0,15,0,33,0 24,0,32,0,16,0,19,0,56,0,29,0 4,0,9,0,10,0,57,0,26,0,61,0 8,0,18,0,3,0,41,0,63,0,48,0 52,0,27,0,54,0,58,0,5,0,44,0 12,0,45,0,30,0,21,0,40,0,59,0 46,0,14,0,17,0,51,0,62,0,49,0 57,0,2,0,53,0,22,0,16,0,39,0 9,0,23,0,47,0,56,0,6,0,8,0 3,0,1,0,41,0,32,0,58,0,4,0 7,0,30,0,10,0,19,0,45,0,36,0 25,0,40,0,35,0,63,0,62,0,38,0 55,0,51,0,33,0,20,0,64,0,50,0 31,0,13,0,46,0,54,0,21,0,14,0 59,0,34,0,18,0,11,0,24,0,29,0 5,0,28,0,12,0,60,0,61,0,42,0 26,0,37,0,52,0,27,0,15,0,48,0 44,0,8,0,4,0,43,0,62,0,33,0 31,0,57,0,21,0,53,0,51,0,6,0 10,0,46,0,32,0,59,0,39,0,35,0 1,0,14,0,12,0,19,0,7,0,34,0 38,0,29,0,18,0,50,0,26,0,9,0 17,0,16,0,42,0,60,0,27,0,30,0 58,0,54,0,63,0,64,0,37,0,2,0 36,0,11,0,22,0,56,0,40,0,47,0 48,0,44,0,28,0,41,0,15,0,24,0 3,0,61,0,25,0,43,0,20,0,52,0 13,0,49,0,55,0,23,0,45,0,5,0 64,0,31,0,7,0,27,0,62,0,46,0 50,0,58,0,29,0,8,0,30,0,40,0 6,0,63,0,26,0,16,0,1,0,11,0 54,0,34,0,37,0,20,0,32,0,9,0 57,0,19,0,55,0,44,0,42,0,25,0 47,0,10,0,35,0,21,0,3,0,5,0 12,0,15,0,56,0,17,0,13,0,53,0 59,0,33,0,52,0,41,0,18,0,49,0 14,0,43,0,22,0,39,0,45,0,60,0 51,0,36,0,48,0,23,0,4,0,28,0 24,0,61,0,44,0,2,0,38,0,21,0 17,0,5,0,40,0,34,0,57,0,1,0 18,0,33,0,13,0,32,0,7,0,42,0 25,0,56,0,50,0,49,0,3,0,10,0 19,0,47,0,12,0,46,0,58,0,26,0 23,0,38,0,53,0,63,0,43,0,64,0 45,0,2,0,11,0,28,0,52,0,35,0 31,0,60,0,15,0,9,0,30,0,41,0 29,0,37,0,39,0,61,0,4,0,51,0 14,0,36,0,62,0,54,0,16,0,59,0 22,0,6,0,27,0,8,0,55,0,48,0 20,0,5,0,25,0,24,0,28,0,26,0 9,0,13,0,38,0,49,0,47,0,2,0 29,0,60,0,7,0,64,0,10,0,44,0 32,0,62,0,21,0,42,0,58,0,36,0 6,0,55,0,46,0,52,0,56,0,30,0 24,0,39,0,18,0,3,0,17,0,23,0 19,0,4,0,59,0,20,0,31,0,63,0 37,0,8,0,15,0,57,0,16,0,14,0 51,0,54,0,35,0,41,0,22,0,34,0 1,0,53,0,40,0,33,0,48,0,61,0 43,0,50,0,45,0,27,0,12,0,11,0 56,0,10,0,20,0,18,0,30,0,31,0 49,0,26,0,8,0,39,0,7,0,28,0 42,0,23,0,34,0,38,0,41,0,16,0 59,0,57,0,48,0,5,0,47,0,64,0 27,0,40,0,24,0,1,0,51,0,13,0 2,0,60,0,14,0,36,0,53,0,4,0 61,0,11,0,15,0,62,0,55,0,54,0 50,0,21,0,44,0,22,0,37,0,17,0 6,0,43,0,9,0,58,0,35,0,19,0 46,0,45,0,33,0,29,0,3,0,63,0 25,0,52,0,24,0,32,0,12,0,8,0 4,0,40,0,41,0,7,0,55,0,11,0 26,0,15,0,17,0,31,0,59,0,22,0 58,0,56,0,27,0,61,0,35,0,14,0 63,0,18,0,19,0,21,0,51,0,60,0 16,0,3,0,64,0,44,0,49,0,12,0 53,0,42,0,45,0,47,0,54,0,50,0 10,0,38,0,28,0,6,0,32,0,37,0 30,0,1,0,29,0,43,0,2,0,23,0 34,0,62,0,52,0,57,0,39,0,33,0 48,0,5,0,9,0,36,0,46,0,20,0 13,0,41,0,27,0,25,0,18,0,53,0 26,0,64,0,32,0,45,0,8,0,17,0 15,0,49,0,23,0,10,0,11,0,58,0 31,0,50,0,16,0,61,0,59,0,47,0 33,0,5,0,35,0,12,0,37,0,51,0 46,0,4,0,25,0,42,0,22,0,1,0 3,0,60,0,62,0,6,0,24,0,34,0 29,0,36,0,13,0,52,0,63,0,55,0 9,0,2,0,44,0,20,0,40,0,14,0 7,0,57,0,56,0,28,0,21,0,43,0 48,0,30,0,39,0,38,0,54,0,19,0 ================================================ FILE: schedules/64_13.csv ================================================ 60,0,8,0,41,0,20,0,4,0,40,0 48,0,6,0,18,0,59,0,32,0,13,0 5,0,54,0,29,0,31,0,37,0,21,0 22,0,57,0,19,0,11,0,24,0,58,0 52,0,3,0,7,0,2,0,56,0,45,0 33,0,38,0,30,0,34,0,44,0,16,0 35,0,49,0,27,0,14,0,51,0,36,0 25,0,43,0,53,0,64,0,42,0,55,0 23,0,10,0,1,0,63,0,50,0,28,0 26,0,17,0,61,0,39,0,46,0,47,0 62,0,12,0,2,0,15,0,9,0,31,0 8,0,54,0,36,0,13,0,51,0,44,0 60,0,48,0,33,0,41,0,30,0,56,0 29,0,42,0,32,0,4,0,23,0,35,0 17,0,63,0,64,0,45,0,39,0,50,0 24,0,37,0,15,0,28,0,18,0,38,0 11,0,10,0,16,0,46,0,59,0,58,0 49,0,19,0,9,0,61,0,47,0,40,0 62,0,26,0,34,0,21,0,43,0,52,0 20,0,25,0,7,0,57,0,1,0,6,0 5,0,3,0,22,0,53,0,27,0,12,0 55,0,24,0,17,0,14,0,13,0,63,0 56,1,50,0,15,0,8,1,16,0,9,0 46,0,30,0,11,0,28,0,2,0,29,0 49,0,23,0,60,0,57,0,52,0,44,0 64,0,22,0,37,0,32,0,21,0,33,0 59,0,1,0,62,0,54,0,35,0,61,0 40,0,36,0,31,0,6,0,53,0,10,0 41,0,3,0,34,0,25,0,39,0,18,0 7,0,55,0,51,0,19,0,47,0,5,0 48,0,20,0,45,0,27,0,14,0,42,0 4,0,38,0,12,0,58,0,26,0,43,0 10,0,35,0,9,0,8,0,22,0,6,0 46,0,50,0,33,0,3,0,59,0,36,0 24,0,63,0,1,0,5,0,7,0,30,0 34,0,53,0,61,0,57,0,15,0,41,0 16,0,14,0,43,0,47,0,23,0,20,0 56,0,29,0,12,0,25,0,40,0,28,0 4,0,58,0,39,0,55,0,37,0,44,0 49,0,52,0,11,0,42,0,17,0,38,0 2,0,51,0,48,0,62,0,64,0,21,0 31,0,19,0,13,0,26,0,32,0,27,0 18,0,45,0,14,0,54,0,60,0,50,0 58,0,34,0,35,0,5,0,53,0,9,0 56,0,6,0,59,0,12,0,39,0,23,0 41,0,64,0,38,0,29,0,49,0,36,0 25,0,61,0,15,0,26,0,7,0,48,0 4,0,54,0,30,0,19,0,17,0,11,0 47,0,43,0,32,0,60,0,1,0,21,0 18,0,40,0,2,0,51,0,27,0,16,0 8,0,55,0,52,0,10,0,3,0,46,0 44,0,22,0,24,0,42,0,45,0,62,0 57,0,20,0,31,0,28,0,33,0,13,0 63,0,36,0,48,0,37,0,54,0,58,0 50,0,32,0,53,0,11,0,51,0,43,0 2,0,38,0,39,0,1,0,8,0,12,0 46,0,61,0,21,0,6,0,25,0,14,0 23,0,31,0,29,0,3,0,55,0,15,0 19,0,59,0,63,0,9,0,4,0,52,0 22,0,28,0,20,0,5,0,44,0,17,0 27,0,60,0,37,0,34,0,10,0,24,0 47,0,30,0,64,0,18,0,57,0,56,0 49,0,45,0,26,0,40,0,35,0,33,0 42,0,13,0,16,0,62,0,7,0,41,0 58,0,63,0,44,0,21,0,25,0,2,0 29,0,50,0,8,0,52,0,48,0,61,0 39,0,15,0,28,0,10,0,51,0,32,0 27,0,57,0,47,0,46,0,54,0,12,0 23,0,6,0,55,0,18,0,26,0,22,0 19,0,16,0,4,0,35,0,1,0,56,0 36,0,5,0,33,0,42,0,11,0,9,0 43,0,59,0,41,0,24,0,45,0,31,0 60,0,13,0,7,0,53,0,38,0,49,0 34,0,64,0,40,0,3,0,20,0,17,0 14,0,37,0,10,0,62,0,30,0,57,0 8,0,25,0,4,0,15,0,54,0,33,0 18,0,5,0,43,0,36,0,28,0,52,0 13,0,2,0,61,0,56,0,53,0,23,0 55,0,59,0,45,0,6,0,38,0,20,0 58,0,48,0,30,0,35,0,47,0,31,0 14,0,40,0,21,0,7,0,39,0,11,0 19,0,26,0,50,0,37,0,41,0,42,0 63,0,51,0,29,0,22,0,34,0,12,0 16,0,32,0,1,0,24,0,3,0,49,0 62,0,44,0,9,0,46,0,64,0,27,0 60,0,57,0,43,0,17,0,2,0,59,0 21,0,39,0,42,0,53,0,30,0,13,0 29,0,40,0,38,0,14,0,31,0,5,0 48,0,50,0,34,0,4,0,49,0,6,0 20,0,33,0,18,0,19,0,62,0,10,0 8,0,27,0,7,0,23,0,58,0,64,0 17,0,51,0,52,0,1,0,61,0,41,0 45,0,9,0,25,0,32,0,11,0,37,0 56,0,24,0,16,0,36,0,12,0,55,0 22,0,63,0,35,0,60,0,46,0,15,0 28,0,54,0,44,0,47,0,26,0,3,0 4,0,42,0,5,0,18,0,10,0,61,0 17,0,53,0,1,0,62,0,8,0,33,0 58,0,12,0,52,0,14,0,32,0,30,0 16,0,49,0,39,0,31,0,43,0,63,0 3,0,11,0,28,0,48,0,35,0,13,0 54,0,9,0,26,0,60,0,24,0,29,0 22,0,21,0,27,0,38,0,25,0,56,0 15,0,44,0,40,0,55,0,57,0,50,0 59,0,20,0,51,0,7,0,37,0,46,0 36,0,23,0,2,0,19,0,34,0,45,0 64,0,6,0,11,0,47,0,41,0,63,0 13,0,18,0,1,0,9,0,22,0,29,0 53,0,31,0,52,0,16,0,17,0,25,0 44,0,46,0,35,0,43,0,40,0,37,0 23,0,33,0,51,0,38,0,24,0,48,0 10,0,12,0,28,0,7,0,64,0,45,0 15,0,32,0,49,0,20,0,5,0,56,0 54,0,47,0,42,0,39,0,59,0,34,0 2,0,14,0,57,0,36,0,4,0,26,0 50,0,41,0,27,0,61,0,30,0,55,0 6,0,62,0,3,0,60,0,19,0,58,0 21,0,7,0,18,0,8,0,35,0,17,0 52,0,15,0,64,0,24,0,13,0,40,0 45,0,46,0,1,0,31,0,34,0,4,0 54,0,41,0,14,0,43,0,2,0,22,0 10,0,44,0,38,0,48,0,19,0,53,0 63,0,6,0,39,0,29,0,33,0,27,0 55,0,9,0,21,0,59,0,28,0,49,0 62,0,47,0,25,0,50,0,30,0,23,0 37,0,51,0,56,0,42,0,3,0,58,0 57,0,16,0,26,0,5,0,8,0,32,0 36,0,11,0,61,0,12,0,20,0,60,0 49,0,21,0,13,0,45,0,10,0,4,0 33,0,39,0,24,0,35,0,2,0,50,0 43,0,30,0,27,0,59,0,7,0,15,0 25,0,34,0,5,0,8,0,19,0,14,0 47,0,37,0,36,0,22,0,52,0,1,0 58,0,56,0,17,0,20,0,29,0,26,0 38,0,32,0,3,0,61,0,62,0,63,0 42,0,28,0,51,0,6,0,60,0,16,0 12,0,9,0,57,0,41,0,48,0,55,0 46,0,53,0,40,0,54,0,18,0,23,0 31,0,11,0,56,0,44,0,64,0,8,0 ================================================ FILE: schedules/64_14.csv ================================================ 52,0,7,0,12,0,16,0,21,0,59,0 49,0,42,0,22,0,23,0,11,0,64,0 19,0,62,0,8,0,4,0,14,0,24,0 37,0,9,0,45,0,25,0,44,0,46,0 63,0,58,0,50,0,38,0,51,0,29,0 30,0,26,0,20,0,53,0,57,0,5,0 47,0,33,0,61,0,36,0,2,0,15,0 18,0,43,0,6,0,17,0,28,0,56,0 31,0,60,0,1,0,3,0,40,0,10,0 27,0,48,0,39,0,32,0,41,0,34,0 35,0,55,0,37,0,54,0,13,0,62,0 38,0,63,0,12,0,61,0,20,0,44,0 28,0,51,0,50,0,47,0,26,0,16,0 33,0,1,0,14,0,45,0,43,0,31,0 19,0,59,0,2,0,21,0,18,0,23,0 25,0,49,0,5,0,34,0,27,0,55,0 48,0,64,0,60,0,24,0,13,0,7,0 22,0,56,0,40,0,32,0,58,0,39,0 15,0,46,0,30,0,42,0,3,0,52,0 4,0,57,0,17,0,9,0,35,0,41,0 10,0,29,0,53,0,54,0,11,0,6,0 36,0,60,0,23,0,8,0,34,0,31,0 24,1,63,0,64,0,47,1,62,0,28,0 43,1,58,0,27,0,55,1,3,0,21,0 15,0,22,0,5,0,45,0,56,0,57,0 37,0,48,0,51,0,11,0,30,0,52,0 40,0,26,0,38,0,6,0,17,0,33,0 46,0,59,0,18,0,39,0,54,0,29,0 41,0,8,0,42,0,12,0,49,0,16,0 53,0,14,0,20,0,25,0,35,0,10,0 32,0,4,0,44,0,50,0,61,0,13,0 2,0,7,0,9,0,19,0,1,0,36,0 21,0,15,0,45,0,40,0,31,0,29,0 57,0,47,0,63,0,37,0,39,0,34,0 14,0,56,0,25,0,38,0,16,0,48,0 51,0,43,0,46,0,18,0,49,0,60,0 53,0,27,0,11,0,52,0,26,0,8,0 54,0,1,0,32,0,20,0,12,0,42,0 36,0,44,0,17,0,24,0,30,0,22,0 19,0,23,0,6,0,33,0,55,0,5,0 28,0,13,0,9,0,10,0,7,0,62,0 61,0,58,0,3,0,35,0,59,0,50,0 2,0,4,0,53,0,64,0,41,0,37,0 15,0,54,0,56,0,14,0,63,0,36,0 47,0,51,0,39,0,21,0,6,0,31,0 12,0,13,0,34,0,30,0,43,0,19,0 59,0,1,0,11,0,5,0,35,0,61,0 4,0,9,0,42,0,22,0,2,0,26,0 49,0,62,0,20,0,40,0,50,0,18,0 8,0,55,0,57,0,48,0,17,0,45,0 16,0,64,0,28,0,3,0,27,0,38,0 41,0,44,0,60,0,25,0,58,0,23,0 10,0,32,0,52,0,24,0,33,0,46,0 7,0,39,0,14,0,29,0,49,0,4,0 34,0,56,0,59,0,20,0,8,0,9,0 43,0,5,0,50,0,37,0,40,0,36,0 38,0,15,0,60,0,11,0,18,0,41,0 52,0,44,0,57,0,32,0,28,0,31,0 24,0,10,0,48,0,63,0,26,0,35,0 3,0,17,0,13,0,33,0,25,0,2,0 22,0,21,0,19,0,53,0,46,0,1,0 62,0,45,0,29,0,16,0,51,0,23,0 27,0,61,0,54,0,47,0,30,0,42,0 58,0,55,0,12,0,7,0,64,0,6,0 8,0,39,0,5,0,44,0,38,0,13,0 10,0,49,0,56,0,21,0,57,0,37,0 20,0,40,0,23,0,11,0,48,0,28,0 45,0,53,0,41,0,9,0,36,0,47,0 29,0,50,0,33,0,34,0,1,0,64,0 19,0,27,0,7,0,61,0,17,0,15,0 3,0,26,0,12,0,52,0,14,0,62,0 31,0,42,0,59,0,43,0,55,0,63,0 24,0,25,0,32,0,18,0,51,0,4,0 16,0,22,0,35,0,6,0,30,0,60,0 54,0,46,0,34,0,2,0,58,0,48,0 23,0,38,0,61,0,3,0,9,0,53,0 20,0,13,0,1,0,15,0,26,0,49,0 12,0,25,0,11,0,39,0,36,0,4,0 57,0,35,0,19,0,27,0,44,0,29,0 46,0,50,0,52,0,56,0,6,0,41,0 31,0,37,0,62,0,17,0,59,0,5,0 7,0,54,0,8,0,43,0,33,0,22,0 58,0,24,0,18,0,45,0,42,0,10,0 14,0,32,0,64,0,60,0,21,0,47,0 40,0,28,0,2,0,30,0,55,0,51,0 63,0,23,0,37,0,16,0,27,0,1,0 13,0,25,0,36,0,6,0,57,0,46,0 62,0,48,0,53,0,39,0,44,0,43,0 21,0,17,0,52,0,60,0,4,0,54,0 49,0,8,0,30,0,50,0,10,0,15,0 63,0,45,0,3,0,19,0,11,0,32,0 35,0,42,0,34,0,7,0,38,0,28,0 24,0,29,0,26,0,12,0,2,0,56,0 61,0,41,0,22,0,20,0,51,0,33,0 58,0,5,0,31,0,9,0,16,0,18,0 64,0,40,0,55,0,47,0,59,0,14,0 3,0,15,0,28,0,37,0,43,0,4,0 42,0,6,0,62,0,34,0,57,0,25,0 56,0,24,0,50,0,23,0,53,0,7,0 38,0,19,0,54,0,51,0,31,0,49,0 11,0,5,0,2,0,8,0,58,0,14,0 55,0,26,0,45,0,60,0,61,0,39,0 36,0,10,0,41,0,40,0,59,0,32,0 64,0,52,0,13,0,1,0,18,0,35,0 17,0,27,0,47,0,48,0,12,0,46,0 29,0,30,0,16,0,20,0,63,0,22,0 21,0,33,0,11,0,9,0,44,0,55,0 61,0,6,0,8,0,14,0,37,0,19,0 59,0,54,0,57,0,60,0,40,0,24,0 38,0,32,0,35,0,43,0,23,0,15,0 42,0,18,0,29,0,3,0,48,0,36,0 13,0,2,0,39,0,9,0,50,0,27,0 16,0,44,0,56,0,17,0,10,0,1,0 31,0,25,0,30,0,62,0,21,0,41,0 49,0,7,0,47,0,5,0,52,0,63,0 4,0,34,0,26,0,46,0,45,0,64,0 33,0,28,0,12,0,22,0,53,0,58,0 51,0,60,0,3,0,20,0,36,0,56,0 18,0,57,0,27,0,14,0,50,0,11,0 21,0,5,0,29,0,42,0,17,0,32,0 26,0,44,0,19,0,43,0,41,0,47,0 2,0,62,0,55,0,38,0,22,0,52,0 33,0,37,0,16,0,24,0,39,0,35,0 34,0,10,0,9,0,40,0,51,0,12,0 31,0,46,0,23,0,61,0,30,0,7,0 59,0,28,0,53,0,49,0,13,0,45,0 54,0,25,0,63,0,8,0,64,0,15,0 48,0,4,0,20,0,58,0,6,0,1,0 36,0,52,0,35,0,39,0,19,0,40,0 18,0,37,0,30,0,32,0,7,0,26,0 3,0,16,0,46,0,33,0,38,0,57,0 24,0,21,0,8,0,34,0,61,0,28,0 41,0,55,0,4,0,63,0,29,0,56,0 5,0,45,0,23,0,50,0,12,0,54,0 47,0,11,0,58,0,1,0,25,0,62,0 43,0,10,0,20,0,64,0,2,0,31,0 6,0,51,0,44,0,15,0,59,0,27,0 14,0,17,0,22,0,42,0,13,0,53,0 60,0,9,0,12,0,48,0,49,0,63,0 39,0,41,0,3,0,5,0,54,0,24,0 28,0,43,0,52,0,61,0,29,0,25,0 4,0,47,0,1,0,38,0,30,0,59,0 18,0,15,0,34,0,55,0,16,0,53,0 33,0,42,0,27,0,62,0,60,0,56,0 64,0,17,0,51,0,57,0,23,0,14,0 6,0,35,0,49,0,32,0,45,0,2,0 48,0,50,0,22,0,31,0,19,0,10,0 21,0,58,0,36,0,13,0,26,0,37,0 7,0,40,0,46,0,44,0,8,0,11,0 9,0,24,0,43,0,20,0,47,0,55,0 ================================================ FILE: schedules/64_2.csv ================================================ 13,0,62,0,38,0,5,0,10,0,7,0 26,0,46,0,45,0,27,0,8,0,22,0 42,0,64,0,33,0,20,0,6,0,24,0 50,0,36,0,41,0,57,0,52,0,44,0 63,0,34,0,35,0,25,0,30,0,58,0 49,0,11,0,43,0,14,0,39,0,21,0 47,0,12,0,59,0,54,0,32,0,37,0 51,0,40,0,60,0,3,0,9,0,18,0 15,0,23,0,1,0,19,0,29,0,4,0 16,0,31,0,17,0,56,0,48,0,53,0 2,0,28,0,36,0,61,0,55,0,62,0 10,0,25,0,33,0,50,0,11,0,8,0 40,0,5,0,47,0,64,0,30,0,45,0 1,0,57,0,9,0,13,0,26,0,39,0 24,0,43,0,3,0,31,0,59,0,35,0 55,0,14,0,32,0,42,0,16,0,23,0 61,0,44,0,4,0,34,0,17,0,18,0 48,0,58,0,21,0,60,0,15,0,2,0 28,0,19,0,56,0,63,0,46,0,6,0 37,0,52,0,22,0,38,0,53,0,51,0 29,0,20,0,54,0,7,0,41,0,49,0 27,0,61,1,1,1,12,0,11,1,18,1 ================================================ FILE: schedules/64_3.csv ================================================ 51,0,3,0,32,0,63,0,2,0,10,0 15,0,4,0,1,0,28,0,19,0,42,0 27,0,12,0,57,0,39,0,36,0,13,0 38,0,7,0,48,0,24,0,45,0,50,0 17,0,53,0,11,0,30,0,5,0,56,0 40,0,52,0,20,0,23,0,49,0,58,0 9,0,61,0,29,0,26,0,62,0,41,0 31,0,25,0,18,0,37,0,21,0,14,0 44,0,8,0,59,0,6,0,22,0,43,0 60,0,64,0,33,0,54,0,16,0,46,0 34,0,55,0,24,0,47,0,35,0,2,0 17,0,12,0,62,0,40,0,15,0,3,0 36,0,32,0,37,0,5,0,26,0,38,0 21,0,13,0,42,0,51,0,52,0,9,0 63,0,18,0,22,0,20,0,64,0,27,0 41,0,54,0,1,0,53,0,34,0,48,0 28,0,23,0,29,0,6,0,7,0,56,0 16,0,35,0,49,0,4,0,10,0,39,0 46,0,47,0,50,0,25,0,11,0,43,0 45,0,19,0,14,0,55,0,60,0,59,0 30,0,44,0,57,0,58,0,31,0,61,0 33,0,36,0,52,0,8,0,63,0,7,0 64,0,23,0,4,0,32,0,34,0,17,0 9,0,46,0,56,0,49,0,1,0,24,0 5,0,3,0,27,0,47,0,21,0,29,0 16,0,19,0,13,0,44,0,40,0,25,0 10,0,55,0,58,0,8,0,37,0,53,0 22,0,39,0,50,0,42,0,41,0,31,0 15,0,43,0,45,0,51,0,57,0,20,0 6,0,11,0,26,0,14,0,12,0,54,0 2,0,62,0,59,0,38,0,30,0,33,0 28,0,48,0,61,0,18,0,35,0,60,0 ================================================ FILE: schedules/64_4.csv ================================================ 15,0,39,0,48,0,9,0,63,0,55,0 16,0,18,0,41,0,27,0,46,0,12,0 2,0,60,0,52,0,59,0,47,0,5,0 42,0,45,0,51,0,8,0,17,0,57,0 43,0,11,0,19,0,32,0,50,0,29,0 64,0,37,0,10,0,21,0,24,0,62,0 30,0,26,0,54,0,36,0,23,0,35,0 38,0,31,0,6,0,44,0,49,0,25,0 34,0,3,0,53,0,7,0,28,0,4,0 14,0,22,0,61,0,40,0,33,0,20,0 1,0,56,0,29,0,58,0,13,0,64,0 16,0,19,0,9,0,37,0,2,0,36,0 24,0,51,0,52,0,30,0,41,0,50,0 47,0,4,0,38,0,48,0,18,0,42,0 46,0,11,0,59,0,44,0,34,0,20,0 60,0,56,0,55,0,17,0,3,0,31,0 7,0,62,0,14,0,49,0,32,0,35,0 23,0,57,0,33,0,39,0,6,0,1,0 8,0,27,0,15,0,22,0,58,0,10,0 26,0,12,0,53,0,45,0,43,0,40,0 25,0,28,0,21,0,61,0,5,0,63,0 13,0,46,0,9,0,54,0,24,0,3,0 17,1,29,0,7,0,39,1,59,0,16,0 49,0,55,0,50,0,37,0,27,0,23,0 31,0,18,0,19,0,64,0,14,0,15,0 42,0,35,0,61,0,6,0,12,0,11,0 25,0,53,0,48,0,62,0,56,0,22,0 5,0,20,0,26,0,4,0,51,0,58,0 30,0,45,0,28,0,2,0,38,0,1,0 32,0,47,0,33,0,41,0,54,0,44,0 34,0,21,0,8,0,13,0,43,0,60,0 52,0,10,0,40,0,36,0,63,0,57,0 56,0,37,0,6,0,18,0,59,0,26,0 30,0,3,0,20,0,48,0,29,0,27,0 44,0,17,0,64,0,4,0,12,0,9,0 2,0,25,0,35,0,33,0,24,0,8,0 5,0,31,0,32,0,45,0,34,0,39,0 36,0,43,0,51,0,15,0,46,0,47,0 50,0,1,0,62,0,40,0,16,0,54,0 41,0,11,0,14,0,28,0,55,0,10,0 57,0,38,0,13,0,61,0,53,0,19,0 42,0,58,0,63,0,7,0,60,0,23,0 49,0,22,0,17,0,21,0,52,0,39,0 ================================================ FILE: schedules/64_5.csv ================================================ 59,0,25,0,62,0,19,0,13,0,60,0 27,0,4,0,24,0,17,0,38,0,20,0 35,0,63,0,47,0,22,0,40,0,1,0 7,0,46,0,14,0,2,0,45,0,18,0 6,0,61,0,44,0,36,0,12,0,56,0 51,0,41,0,28,0,15,0,31,0,23,0 26,0,54,0,55,0,9,0,3,0,32,0 5,0,58,0,57,0,8,0,33,0,16,0 52,0,30,0,48,0,10,0,29,0,21,0 50,0,42,0,49,0,37,0,64,0,43,0 53,0,11,0,51,0,34,0,39,0,19,0 17,0,54,0,47,0,44,0,2,0,28,0 56,0,46,0,33,0,55,0,25,0,38,0 60,0,18,0,12,0,57,0,48,0,22,0 42,0,59,0,6,0,7,0,3,0,5,0 61,0,53,0,10,0,41,0,4,0,43,0 20,0,30,0,8,0,26,0,63,0,50,0 58,0,15,0,1,0,39,0,49,0,45,0 21,0,9,0,40,0,64,0,36,0,14,0 37,0,52,0,62,0,16,0,34,0,31,0 32,0,23,0,11,0,24,0,29,0,13,0 27,0,41,0,44,0,35,0,59,0,55,0 5,1,25,0,50,0,47,1,12,0,10,0 14,1,22,0,33,0,43,1,17,0,3,0 60,0,34,0,64,0,4,0,30,0,7,0 1,0,26,0,19,0,28,0,56,0,52,0 48,0,16,0,38,0,6,0,53,0,32,0 15,0,57,0,2,0,35,0,21,0,24,0 31,0,20,0,61,0,11,0,45,0,42,0 18,0,51,0,13,0,27,0,9,0,58,0 39,0,8,0,23,0,40,0,46,0,37,0 49,0,36,0,29,0,62,0,54,0,63,0 25,0,43,0,32,0,15,0,52,0,7,0 57,0,38,0,3,0,34,0,50,0,1,0 9,0,45,0,5,0,24,0,48,0,41,0 47,0,21,0,60,0,61,0,27,0,33,0 22,0,55,0,28,0,8,0,42,0,53,0 35,0,58,0,19,0,23,0,54,0,64,0 14,0,12,0,37,0,20,0,51,0,29,0 4,0,16,0,63,0,44,0,13,0,46,0 17,0,18,0,36,0,59,0,26,0,39,0 62,0,2,0,30,0,11,0,40,0,56,0 10,0,49,0,8,0,31,0,6,0,35,0 38,0,43,0,28,0,29,0,60,0,58,0 23,0,25,0,1,0,53,0,44,0,14,0 17,0,34,0,46,0,12,0,9,0,15,0 39,0,61,0,2,0,5,0,32,0,63,0 13,0,33,0,40,0,54,0,48,0,42,0 24,0,51,0,64,0,47,0,26,0,62,0 6,0,55,0,11,0,52,0,4,0,18,0 45,0,59,0,16,0,22,0,50,0,21,0 3,0,27,0,19,0,37,0,36,0,10,0 56,0,20,0,41,0,49,0,7,0,57,0 31,0,5,0,14,0,30,0,47,0,43,0 ================================================ FILE: schedules/64_6.csv ================================================ 26,0,33,0,6,0,52,0,4,0,3,0 9,0,43,0,62,0,20,0,37,0,41,0 58,0,45,0,63,0,31,0,40,0,27,0 17,0,1,0,30,0,35,0,54,0,48,0 25,0,34,0,55,0,61,0,21,0,14,0 15,0,8,0,7,0,60,0,46,0,13,0 28,0,44,0,16,0,59,0,47,0,38,0 53,0,51,0,39,0,42,0,11,0,19,0 12,0,64,0,32,0,22,0,50,0,29,0 24,0,10,0,18,0,23,0,56,0,36,0 5,0,57,0,4,0,49,0,2,0,40,0 31,0,59,0,26,0,54,0,55,0,60,0 17,0,37,0,52,0,44,0,25,0,8,0 35,0,29,0,3,0,42,0,41,0,28,0 50,0,19,0,21,0,18,0,6,0,1,0 45,0,36,0,39,0,9,0,34,0,32,0 61,0,22,0,20,0,46,0,53,0,10,0 51,0,33,0,5,0,64,0,23,0,13,0 2,0,7,0,38,0,62,0,48,0,24,0 43,0,47,0,57,0,11,0,30,0,63,0 12,0,56,0,14,0,15,0,27,0,16,0 58,0,46,0,37,0,49,0,29,0,54,0 4,0,25,0,50,0,41,0,39,0,59,0 36,0,38,0,5,0,17,0,61,0,42,0 44,0,63,0,33,0,2,0,10,0,9,0 27,0,11,0,35,0,13,0,24,0,21,0 8,0,20,0,31,0,14,0,48,0,23,0 32,0,53,0,15,0,55,0,18,0,30,0 43,0,40,0,60,0,6,0,28,0,51,0 62,0,22,0,56,0,58,0,3,0,1,0 7,0,34,0,16,0,57,0,26,0,64,0 45,0,19,0,49,0,12,0,52,0,47,0 23,0,55,0,39,0,37,0,63,0,35,0 44,0,54,0,18,0,40,0,61,0,13,0 46,0,3,0,21,0,9,0,38,0,30,0 1,0,64,0,59,0,14,0,53,0,36,0 29,0,19,0,56,0,20,0,7,0,33,0 34,0,6,0,41,0,5,0,11,0,12,0 42,0,2,0,22,0,16,0,45,0,60,0 47,0,4,0,8,0,10,0,58,0,32,0 51,0,17,0,57,0,50,0,15,0,24,0 26,0,48,0,27,0,49,0,25,0,43,0 52,0,31,0,53,0,28,0,62,0,5,0 61,0,30,0,59,0,6,0,45,0,7,0 37,0,32,0,14,0,33,0,38,0,11,0 42,0,9,0,56,0,8,0,54,0,50,0 46,0,24,0,44,0,19,0,4,0,55,0 35,0,58,0,18,0,12,0,20,0,51,0 48,0,34,0,13,0,63,0,22,0,52,0 23,0,60,0,41,0,1,0,27,0,57,0 2,0,25,0,47,0,31,0,36,0,3,0 21,0,49,0,28,0,64,0,17,0,10,0 29,0,40,0,62,0,15,0,39,0,26,0 43,0,50,0,33,0,16,0,35,0,53,0 52,0,46,0,42,0,59,0,57,0,32,0 27,0,22,0,55,0,36,0,8,0,6,0 30,0,49,0,31,0,34,0,56,0,51,0 61,0,24,0,9,0,60,0,47,0,29,0 64,0,3,0,48,0,40,0,37,0,19,0 28,0,54,0,11,0,23,0,7,0,25,0 14,0,41,0,13,0,26,0,58,0,2,0 16,0,18,0,63,0,4,0,62,0,17,0 38,0,1,0,10,0,39,0,12,0,43,0 45,0,21,0,15,0,20,0,5,0,44,0 ================================================ FILE: schedules/64_7.csv ================================================ 41,0,31,0,58,0,1,0,28,0,11,0 13,0,30,0,5,0,33,0,2,0,46,0 48,0,18,0,26,0,56,0,32,0,3,0 12,0,62,0,61,0,55,0,20,0,45,0 43,0,59,0,14,0,27,0,42,0,63,0 38,0,25,0,10,0,4,0,24,0,7,0 6,0,17,0,44,0,54,0,35,0,64,0 9,0,39,0,15,0,8,0,23,0,36,0 40,0,21,0,19,0,50,0,57,0,51,0 34,0,52,0,29,0,16,0,22,0,53,0 49,0,37,0,30,0,47,0,60,0,45,0 3,0,44,0,27,0,25,0,62,0,58,0 11,0,55,0,59,0,7,0,8,0,18,0 48,0,12,0,17,0,5,0,31,0,36,0 23,0,42,0,19,0,53,0,6,0,61,0 34,0,20,0,47,0,63,0,33,0,40,0 46,0,22,0,37,0,21,0,56,0,10,0 1,0,51,0,52,0,54,0,9,0,38,0 24,0,64,0,13,0,32,0,16,0,50,0 4,0,26,0,29,0,39,0,41,0,43,0 35,0,15,0,2,0,28,0,60,0,14,0 49,0,11,0,44,0,57,0,61,0,48,0 5,1,6,0,1,0,53,1,59,0,62,0 40,0,8,0,56,0,45,0,17,0,27,0 36,0,58,0,37,0,38,0,29,0,50,0 13,0,25,0,43,0,60,0,12,0,52,0 4,0,31,0,57,0,47,0,2,0,42,0 24,0,23,0,30,0,18,0,34,0,28,0 16,0,49,0,54,0,10,0,15,0,19,0 26,0,7,0,64,0,9,0,21,0,20,0 3,0,35,0,39,0,55,0,63,0,46,0 51,0,14,0,41,0,32,0,33,0,22,0 56,0,38,0,23,0,47,0,11,0,62,0 8,0,50,0,60,0,1,0,44,0,34,0 61,0,40,0,59,0,64,0,15,0,29,0 35,0,27,0,9,0,19,0,12,0,30,0 14,0,53,0,31,0,55,0,13,0,10,0 36,0,63,0,45,0,24,0,2,0,26,0 42,0,48,0,16,0,46,0,20,0,51,0 33,0,6,0,28,0,25,0,49,0,39,0 17,0,52,0,32,0,37,0,4,0,21,0 18,0,22,0,58,0,54,0,5,0,43,0 3,0,57,0,30,0,41,0,7,0,36,0 46,0,11,0,50,0,15,0,53,0,26,0 28,0,8,0,10,0,62,0,42,0,29,0 4,0,35,0,20,0,56,0,1,0,13,0 24,0,6,0,55,0,48,0,40,0,52,0 47,0,16,0,12,0,44,0,21,0,59,0 14,0,45,0,54,0,57,0,25,0,23,0 7,0,39,0,37,0,27,0,5,0,51,0 41,0,9,0,63,0,49,0,18,0,17,0 60,0,31,0,64,0,19,0,22,0,3,0 34,0,2,0,38,0,61,0,43,0,32,0 33,0,4,0,15,0,58,0,45,0,44,0 12,0,26,0,6,0,8,0,37,0,14,0 46,0,27,0,18,0,29,0,1,0,57,0 55,0,60,0,21,0,42,0,54,0,36,0 40,0,7,0,62,0,35,0,16,0,31,0 51,0,34,0,58,0,49,0,13,0,59,0 64,0,10,0,48,0,2,0,41,0,23,0 47,0,61,0,28,0,52,0,3,0,50,0 32,0,11,0,25,0,19,0,5,0,63,0 24,0,56,0,53,0,9,0,43,0,33,0 20,0,22,0,30,0,17,0,39,0,38,0 62,0,4,0,54,0,12,0,34,0,46,0 13,0,44,0,42,0,18,0,40,0,37,0 52,0,57,0,5,0,35,0,26,0,10,0 45,0,3,0,21,0,6,0,11,0,43,0 20,0,32,0,36,0,27,0,28,0,53,0 22,0,9,0,2,0,50,0,25,0,59,0 7,0,19,0,29,0,48,0,47,0,14,0 51,0,63,0,56,0,15,0,30,0,31,0 60,0,41,0,61,0,58,0,24,0,39,0 23,0,16,0,33,0,17,0,55,0,1,0 38,0,8,0,5,0,49,0,64,0,53,0 ================================================ FILE: schedules/64_8.csv ================================================ 54,0,4,0,62,0,10,0,16,0,44,0 33,0,31,0,41,0,22,0,47,0,3,0 1,0,17,0,8,0,52,0,24,0,5,0 43,0,46,0,38,0,60,0,36,0,50,0 7,0,49,0,14,0,27,0,42,0,39,0 6,0,51,0,15,0,53,0,32,0,63,0 29,0,35,0,59,0,2,0,18,0,57,0 19,0,11,0,56,0,25,0,40,0,28,0 64,0,61,0,26,0,58,0,12,0,30,0 37,0,48,0,55,0,45,0,21,0,20,0 13,0,9,0,36,0,34,0,23,0,14,0 42,0,43,0,3,0,59,0,6,0,4,0 28,0,7,0,10,0,52,0,25,0,41,0 53,0,31,0,18,0,24,0,50,0,58,0 27,0,40,0,22,0,44,0,29,0,8,0 2,0,39,0,48,0,5,0,62,0,51,0 37,0,19,0,30,0,57,0,55,0,54,0 32,0,49,0,17,0,12,0,9,0,60,0 34,0,35,0,20,0,16,0,26,0,38,0 63,0,56,0,23,0,61,0,47,0,21,0 13,0,45,0,11,0,33,0,15,0,46,0 1,0,25,0,36,0,64,0,6,0,62,0 41,1,28,0,60,0,53,1,5,0,55,0 2,1,32,0,29,0,38,1,10,0,58,0 27,0,35,0,56,0,37,0,31,0,4,0 47,0,26,0,14,0,51,0,43,0,19,0 12,0,21,0,15,0,52,0,22,0,42,0 20,0,49,0,57,0,46,0,61,0,8,0 30,0,17,0,18,0,33,0,34,0,48,0 50,0,63,0,9,0,1,0,40,0,16,0 44,0,64,0,39,0,59,0,23,0,11,0 3,0,13,0,54,0,24,0,7,0,45,0 12,0,47,0,55,0,4,0,46,0,29,0 10,0,8,0,56,0,42,0,18,0,36,0 34,0,52,0,37,0,43,0,63,0,49,0 22,0,14,0,31,0,32,0,64,0,5,0 2,0,44,0,45,0,9,0,26,0,17,0 53,0,3,0,25,0,48,0,23,0,54,0 24,0,28,0,15,0,39,0,38,0,61,0 19,0,60,0,59,0,20,0,1,0,33,0 50,0,6,0,57,0,7,0,11,0,21,0 35,0,40,0,41,0,58,0,62,0,13,0 51,0,27,0,45,0,16,0,30,0,22,0 34,0,9,0,47,0,61,0,3,0,10,0 38,0,29,0,17,0,14,0,25,0,63,0 5,0,33,0,12,0,36,0,7,0,44,0 64,0,43,0,57,0,53,0,13,0,56,0 54,0,42,0,11,0,48,0,1,0,26,0 4,0,21,0,23,0,28,0,2,0,19,0 52,0,31,0,51,0,6,0,40,0,46,0 58,0,60,0,37,0,24,0,16,0,59,0 41,0,62,0,27,0,20,0,15,0,18,0 39,0,35,0,32,0,55,0,50,0,8,0 49,0,5,0,29,0,30,0,56,0,3,0 1,0,22,0,46,0,7,0,53,0,34,0 16,0,6,0,2,0,14,0,61,0,33,0 44,0,47,0,57,0,28,0,48,0,58,0 23,0,60,0,40,0,18,0,45,0,35,0 38,0,52,0,64,0,9,0,19,0,42,0 4,0,51,0,11,0,36,0,41,0,49,0 12,0,63,0,54,0,20,0,31,0,39,0 30,0,62,0,21,0,32,0,43,0,24,0 25,0,26,0,8,0,50,0,37,0,15,0 59,0,17,0,55,0,27,0,10,0,13,0 16,0,28,0,64,0,6,0,18,0,49,0 61,0,54,0,22,0,4,0,38,0,40,0 48,0,7,0,20,0,29,0,43,0,9,0 24,0,42,0,57,0,51,0,33,0,23,0 50,0,62,0,19,0,45,0,34,0,12,0 44,0,31,0,13,0,8,0,21,0,60,0 41,0,56,0,59,0,32,0,46,0,26,0 39,0,36,0,47,0,17,0,37,0,53,0 2,0,58,0,15,0,1,0,3,0,55,0 52,0,14,0,10,0,35,0,30,0,11,0 27,0,63,0,4,0,25,0,5,0,57,0 34,0,6,0,60,0,56,0,54,0,51,0 42,0,61,0,50,0,29,0,13,0,41,0 26,0,33,0,55,0,49,0,53,0,62,0 40,0,24,0,20,0,64,0,2,0,47,0 12,0,32,0,3,0,28,0,27,0,11,0 37,0,1,0,18,0,44,0,38,0,14,0 46,0,21,0,5,0,9,0,10,0,35,0 58,0,43,0,52,0,39,0,45,0,25,0 22,0,59,0,48,0,63,0,36,0,19,0 23,0,16,0,7,0,31,0,15,0,17,0 8,0,53,0,2,0,30,0,41,0,38,0 ================================================ FILE: schedules/64_9.csv ================================================ 61,0,15,0,7,0,24,0,44,0,53,0 27,0,3,0,13,0,6,0,43,0,19,0 57,0,5,0,22,0,14,0,12,0,38,0 31,0,42,0,23,0,1,0,58,0,34,0 47,0,2,0,56,0,40,0,49,0,55,0 36,0,21,0,60,0,10,0,45,0,25,0 26,0,35,0,11,0,59,0,16,0,50,0 41,0,4,0,64,0,29,0,20,0,46,0 52,0,39,0,30,0,9,0,33,0,8,0 62,0,54,0,18,0,51,0,28,0,17,0 37,0,48,0,7,0,32,0,63,0,13,0 10,0,38,0,1,0,56,0,35,0,59,0 44,0,5,0,31,0,46,0,47,0,36,0 15,0,64,0,2,0,39,0,50,0,3,0 58,0,27,0,51,0,20,0,12,0,55,0 48,0,8,0,22,0,11,0,43,0,53,0 42,0,9,0,57,0,33,0,29,0,26,0 14,0,49,0,4,0,28,0,25,0,52,0 19,0,60,0,34,0,62,0,16,0,37,0 18,0,41,0,32,0,23,0,21,0,61,0 54,0,30,0,17,0,6,0,40,0,63,0 24,0,56,0,33,0,45,0,3,0,44,0 28,0,50,0,1,0,29,0,48,0,55,0 34,0,62,0,9,0,35,0,12,0,15,0 64,0,37,0,18,0,52,0,31,0,47,0 41,0,53,0,25,0,13,0,40,0,59,0 42,0,45,0,32,0,39,0,27,0,49,0 20,0,17,0,21,0,5,0,16,0,30,0 23,0,43,0,4,0,11,0,51,0,7,0 38,0,6,0,24,0,8,0,60,0,26,0 19,0,46,0,63,0,10,0,14,0,58,0 36,0,57,0,2,0,61,0,54,0,22,0 35,0,55,0,31,0,45,0,13,0,20,0 50,0,37,0,43,0,17,0,9,0,44,0 5,0,29,0,12,0,40,0,8,0,32,0 7,0,3,0,26,0,47,0,60,0,58,0 41,0,34,0,48,0,38,0,56,0,52,0 49,0,11,0,54,0,33,0,19,0,61,0 16,0,14,0,53,0,64,0,42,0,24,0 6,0,59,0,2,0,36,0,23,0,18,0 22,0,51,0,10,0,27,0,30,0,28,0 62,0,39,0,4,0,63,0,57,0,25,0 21,0,1,0,13,0,15,0,46,0,54,0 60,0,40,0,9,0,49,0,48,0,31,0 11,0,17,0,29,0,36,0,14,0,7,0 38,0,23,0,20,0,28,0,33,0,37,0 24,0,58,0,30,0,47,0,32,0,62,0 15,0,45,0,27,0,59,0,4,0,5,0 10,0,19,0,16,0,18,0,44,0,57,0 42,0,50,0,22,0,25,0,3,0,46,0 39,0,26,0,12,0,43,0,1,0,41,0 6,0,21,0,52,0,51,0,35,0,53,0 61,0,8,0,34,0,55,0,63,0,64,0 56,0,45,0,7,0,2,0,11,0,30,0 54,0,3,0,57,0,20,0,59,0,31,0 15,0,16,0,43,0,38,0,58,0,49,0 12,0,33,0,46,0,48,0,18,0,6,0 53,0,63,0,28,0,9,0,5,0,41,0 64,0,44,0,25,0,1,0,51,0,32,0 52,0,61,0,13,0,62,0,10,0,50,0 17,0,2,0,55,0,60,0,4,0,42,0 23,0,27,0,35,0,14,0,47,0,8,0 24,0,40,0,36,0,34,0,39,0,37,0 19,0,26,0,56,0,22,0,21,0,29,0 6,0,10,0,11,0,62,0,64,0,5,0 31,0,33,0,32,0,15,0,17,0,41,0 1,0,49,0,8,0,57,0,51,0,50,0 30,0,36,0,48,0,4,0,3,0,35,0 34,0,20,0,25,0,9,0,7,0,18,0 22,0,40,0,46,0,52,0,24,0,23,0 37,0,53,0,54,0,16,0,26,0,27,0 60,0,12,0,28,0,61,0,56,0,42,0 58,0,44,0,13,0,14,0,21,0,2,0 29,0,45,0,47,0,38,0,63,0,43,0 59,0,19,0,52,0,55,0,39,0,7,0 32,0,50,0,4,0,34,0,6,0,53,0 64,0,27,0,57,0,17,0,23,0,56,0 51,0,30,0,14,0,41,0,60,0,37,0 28,0,26,0,15,0,8,0,45,0,46,0 31,0,12,0,25,0,19,0,24,0,2,0 29,0,59,0,44,0,22,0,49,0,62,0 35,0,5,0,39,0,61,0,18,0,58,0 47,0,48,0,43,0,10,0,42,0,54,0 63,0,1,0,16,0,13,0,33,0,36,0 21,0,38,0,55,0,11,0,9,0,3,0 40,0,62,0,14,0,20,0,26,0,50,0 56,0,58,0,8,0,4,0,25,0,37,0 19,0,29,0,51,0,5,0,2,0,48,0 63,0,18,0,27,0,24,0,60,0,1,0 13,0,47,0,34,0,57,0,11,0,28,0 6,0,16,0,9,0,41,0,45,0,22,0 7,0,33,0,40,0,21,0,64,0,35,0 3,0,49,0,53,0,17,0,10,0,12,0 43,0,59,0,61,0,31,0,46,0,30,0 23,0,44,0,55,0,54,0,38,0,39,0 42,0,36,0,52,0,15,0,20,0,32,0 ================================================ FILE: schedules/65_1.csv ================================================ 9,0,61,0,15,0,41,0,36,0,18,0 57,0,22,0,14,0,34,0,42,0,4,0 38,0,45,0,62,0,17,0,58,0,30,0 65,0,54,0,63,0,10,0,40,0,47,0 6,0,8,0,11,0,26,0,53,0,27,0 29,0,49,0,51,0,55,0,3,0,44,0 60,0,19,0,20,0,64,0,37,0,59,0 24,0,2,0,48,0,12,0,23,0,46,0 50,0,43,0,35,0,32,0,25,0,31,0 52,0,16,0,1,0,28,0,7,0,21,0 56,0,33,0,13,0,39,0,5,0,14,1 ================================================ FILE: schedules/65_10.csv ================================================ 46,0,59,0,48,0,7,0,11,0,57,0 39,0,20,0,10,0,62,0,60,0,64,0 34,0,24,0,58,0,21,0,40,0,26,0 49,0,51,0,30,0,52,0,33,0,5,0 12,0,63,0,29,0,1,0,53,0,23,0 41,0,6,0,38,0,31,0,27,0,45,0 50,0,55,0,56,0,44,0,19,0,54,0 18,0,32,0,9,0,22,0,8,0,16,0 43,0,4,0,42,0,25,0,2,0,13,0 14,0,47,0,17,0,61,0,28,0,35,0 15,0,65,0,3,0,37,0,36,0,11,0 54,0,56,0,1,0,62,0,58,0,26,0 52,0,48,0,22,0,8,0,12,0,27,0 41,0,19,0,57,0,4,0,53,0,49,0 47,0,7,0,24,0,45,0,50,0,30,0 37,0,33,0,9,0,17,0,32,0,13,0 35,0,38,0,15,0,25,0,39,0,23,0 60,0,59,0,65,0,46,0,2,0,63,0 44,0,31,0,42,0,10,0,3,0,21,0 5,0,36,0,14,0,6,0,18,0,64,0 28,0,51,0,43,0,55,0,29,0,40,0 16,0,61,0,57,0,34,0,20,0,23,0 56,1,62,0,19,0,7,1,2,0,32,0 9,1,26,0,25,0,41,1,10,0,65,0 15,0,49,0,59,0,48,0,24,0,54,0 11,0,29,0,58,0,44,0,60,0,13,0 64,0,40,0,39,0,46,0,45,0,22,0 27,0,37,0,61,0,21,0,5,0,4,0 8,0,50,0,36,0,28,0,20,0,33,0 53,0,12,0,18,0,30,0,3,0,43,0 31,0,17,0,63,0,55,0,52,0,14,0 34,0,42,0,47,0,38,0,1,0,51,0 16,0,6,0,29,0,35,0,59,0,64,0 48,0,27,0,50,0,65,0,40,0,9,0 33,0,24,0,61,0,12,0,2,0,10,0 26,0,49,0,18,0,55,0,28,0,7,0 57,0,5,0,43,0,36,0,1,0,31,0 15,0,16,0,30,0,63,0,42,0,58,0 34,0,54,0,38,0,17,0,4,0,46,0 51,0,11,0,14,0,8,0,41,0,25,0 35,0,45,0,60,0,3,0,62,0,37,0 6,0,32,0,39,0,53,0,52,0,44,0 13,0,47,0,22,0,21,0,20,0,56,0 23,0,64,0,26,0,19,0,33,0,43,0 29,0,5,0,27,0,17,0,15,0,10,0 25,0,40,0,48,0,61,0,1,0,60,0 14,0,2,0,9,0,45,0,53,0,34,0 56,0,57,0,8,0,42,0,6,0,30,0 36,0,55,0,3,0,47,0,32,0,46,0 35,0,51,0,62,0,50,0,21,0,63,0 39,0,38,0,13,0,18,0,24,0,19,0 52,0,11,0,49,0,4,0,23,0,16,0 28,0,65,0,54,0,22,0,41,0,44,0 37,0,31,0,20,0,12,0,59,0,58,0 7,0,21,0,53,0,33,0,40,0,8,0 19,0,6,0,34,0,47,0,48,0,10,0 60,0,30,0,23,0,36,0,4,0,32,0 46,0,44,0,1,0,49,0,9,0,35,0 64,0,63,0,28,0,31,0,38,0,56,0 7,0,37,0,12,0,25,0,54,0,16,0 61,0,50,0,59,0,39,0,41,0,43,0 17,0,45,0,65,0,51,0,58,0,18,0 2,0,22,0,20,0,29,0,14,0,15,0 52,0,3,0,57,0,5,0,13,0,26,0 55,0,27,0,42,0,11,0,24,0,62,0 53,0,9,0,10,0,36,0,59,0,28,0 31,0,51,0,39,0,48,0,7,0,16,0 46,0,41,0,33,0,47,0,15,0,58,0 40,0,23,0,13,0,2,0,17,0,6,0 29,0,52,0,37,0,50,0,18,0,42,0 30,0,27,0,54,0,43,0,14,0,60,0 49,0,8,0,63,0,61,0,56,0,3,0 45,0,26,0,1,0,4,0,44,0,20,0 55,0,25,0,62,0,5,0,34,0,22,0 64,0,57,0,32,0,65,0,35,0,24,0 12,0,11,0,21,0,19,0,38,0,9,0 23,0,50,0,46,0,10,0,13,0,14,0 54,0,8,0,4,0,31,0,47,0,29,0 1,0,28,0,3,0,16,0,27,0,39,0 45,0,49,0,32,0,59,0,17,0,25,0 2,0,62,0,44,0,12,0,57,0,51,0 20,0,65,0,43,0,52,0,21,0,24,0 19,0,40,0,7,0,42,0,35,0,5,0 18,0,33,0,11,0,56,0,34,0,63,0 55,0,48,0,64,0,41,0,30,0,37,0 58,0,22,0,38,0,53,0,36,0,61,0 60,0,6,0,50,0,26,0,15,0,12,0 3,0,24,0,51,0,54,0,9,0,23,0 56,0,10,0,52,0,40,0,45,0,57,0 20,0,32,0,35,0,27,0,41,0,34,0 21,0,2,0,36,0,49,0,48,0,39,0 8,0,59,0,1,0,55,0,13,0,65,0 19,0,25,0,46,0,30,0,28,0,29,0 53,0,26,0,47,0,17,0,11,0,64,0 44,0,5,0,16,0,38,0,33,0,60,0 63,0,7,0,22,0,6,0,37,0,43,0 61,0,4,0,31,0,62,0,18,0,15,0 14,0,42,0,28,0,58,0,32,0,48,0 39,0,9,0,12,0,57,0,55,0,47,0 41,0,17,0,21,0,2,0,1,0,30,0 56,0,24,0,16,0,46,0,53,0,5,0 15,0,34,0,44,0,7,0,43,0,8,0 18,0,35,0,10,0,54,0,11,0,20,0 13,0,36,0,19,0,27,0,63,0,51,0 4,0,25,0,58,0,50,0,3,0,64,0 29,0,65,0,33,0,45,0,6,0,61,0 22,0,42,0,23,0,26,0,59,0,31,0 38,0,62,0,40,0,49,0,37,0,14,0 60,0,56,0,41,0,52,0,7,0,9,0 ================================================ FILE: schedules/65_11.csv ================================================ 41,0,11,0,27,0,5,0,18,0,61,0 34,0,42,0,12,0,21,0,64,0,23,0 54,0,25,0,9,0,7,0,15,0,47,0 51,0,4,0,26,0,16,0,14,0,49,0 58,0,62,0,36,0,1,0,40,0,65,0 6,0,55,0,59,0,32,0,37,0,28,0 35,0,22,0,10,0,53,0,46,0,39,0 52,0,50,0,3,0,56,0,19,0,31,0 29,0,48,0,43,0,13,0,45,0,8,0 24,0,20,0,17,0,2,0,30,0,57,0 60,0,44,0,63,0,38,0,33,0,27,0 65,0,51,0,7,0,35,0,41,0,55,0 53,0,4,0,1,0,25,0,5,0,46,0 49,0,12,0,43,0,6,0,47,0,56,0 2,0,62,0,29,0,11,0,39,0,52,0 10,0,30,0,19,0,60,0,13,0,9,0 63,0,18,0,21,0,50,0,54,0,36,0 44,0,24,0,45,0,14,0,23,0,37,0 40,0,15,0,16,0,8,0,32,0,22,0 31,0,28,0,48,0,20,0,61,0,42,0 59,0,34,0,3,0,57,0,58,0,33,0 64,0,17,0,36,0,26,0,38,0,9,0 44,1,35,0,2,0,10,1,18,0,12,0 50,1,56,0,37,0,15,1,13,0,25,0 65,1,60,0,53,0,28,0,29,0,7,0 11,0,40,0,49,0,1,0,14,0,59,0 32,0,26,0,5,0,39,0,38,0,30,0 16,0,57,0,3,0,63,0,46,0,23,0 27,0,34,0,51,0,48,0,54,0,19,0 21,0,31,0,6,0,62,0,41,0,24,0 17,0,33,0,47,0,4,0,64,0,45,0 43,0,42,0,55,0,22,0,61,0,52,0 20,0,8,0,12,0,58,0,15,0,63,0 39,0,28,0,3,0,16,0,51,0,44,0 21,0,53,0,30,0,50,0,27,0,48,0 9,0,23,0,32,0,31,0,65,0,2,0 37,0,10,0,57,0,40,0,41,0,18,0 6,0,46,0,7,0,61,0,59,0,45,0 64,0,35,0,11,0,60,0,20,0,43,0 56,0,54,0,29,0,22,0,26,0,17,0 33,0,8,0,55,0,25,0,14,0,36,0 38,0,13,0,34,0,52,0,47,0,4,0 5,0,58,0,49,0,19,0,42,0,62,0 24,0,28,0,63,0,1,0,7,0,44,0 46,0,35,0,31,0,6,0,48,0,40,0 12,0,14,0,9,0,41,0,50,0,16,0 30,0,22,0,51,0,2,0,61,0,37,0 13,0,26,0,59,0,5,0,33,0,52,0 25,0,4,0,18,0,29,0,58,0,21,0 47,0,57,0,42,0,65,0,10,0,32,0 43,0,39,0,1,0,23,0,54,0,38,0 11,0,3,0,62,0,17,0,27,0,8,0 45,0,15,0,53,0,64,0,49,0,19,0 24,0,60,0,55,0,20,0,56,0,34,0 36,0,57,0,52,0,35,0,61,0,4,0 7,0,21,0,33,0,31,0,1,0,10,0 2,0,14,0,6,0,13,0,63,0,5,0 16,0,27,0,42,0,25,0,43,0,59,0 65,0,8,0,56,0,37,0,38,0,53,0 29,0,32,0,64,0,62,0,50,0,44,0 45,0,54,0,30,0,55,0,3,0,40,0 11,0,22,0,9,0,34,0,49,0,24,0 58,0,23,0,41,0,48,0,60,0,26,0 19,0,15,0,39,0,36,0,47,0,28,0 20,0,18,0,46,0,17,0,51,0,12,0 65,0,25,0,16,0,64,0,30,0,6,0 8,0,5,0,44,0,21,0,34,0,57,0 2,0,40,0,50,0,4,0,42,0,38,0 47,0,61,0,41,0,3,0,22,0,29,0 7,0,43,0,31,0,12,0,58,0,37,0 28,0,33,0,1,0,35,0,56,0,9,0 53,0,13,0,23,0,18,0,51,0,11,0 45,0,10,0,62,0,20,0,26,0,36,0 32,0,46,0,14,0,27,0,52,0,19,0 24,0,59,0,48,0,15,0,60,0,54,0 49,0,17,0,39,0,63,0,55,0,37,0 11,0,44,0,38,0,25,0,58,0,42,0 57,0,5,0,51,0,8,0,9,0,31,0 23,0,22,0,20,0,6,0,50,0,33,0 45,0,19,0,65,0,59,0,16,0,18,0 14,0,54,0,52,0,64,0,10,0,28,0 4,0,7,0,12,0,3,0,32,0,48,0 46,0,15,0,56,0,30,0,62,0,34,0 47,0,27,0,1,0,55,0,26,0,2,0 60,0,40,0,17,0,13,0,21,0,39,0 63,0,36,0,41,0,24,0,53,0,43,0 29,0,61,0,23,0,35,0,49,0,59,0 25,0,28,0,45,0,5,0,22,0,12,0 57,0,6,0,19,0,54,0,1,0,11,0 42,0,18,0,56,0,39,0,7,0,14,0 26,0,10,0,24,0,51,0,3,0,43,0 63,0,48,0,4,0,62,0,64,0,9,0 47,0,50,0,30,0,58,0,8,0,35,0 36,0,37,0,60,0,46,0,2,0,16,0 34,0,32,0,44,0,53,0,41,0,17,0 29,0,15,0,38,0,31,0,55,0,27,0 13,0,52,0,49,0,20,0,21,0,65,0 61,0,40,0,39,0,33,0,24,0,12,0 5,0,37,0,42,0,35,0,54,0,3,0 41,0,19,0,28,0,4,0,30,0,23,0 62,0,22,0,38,0,7,0,59,0,57,0 6,0,8,0,49,0,27,0,2,0,10,0 61,0,34,0,31,0,25,0,63,0,26,0 46,0,55,0,64,0,58,0,18,0,13,0 9,0,47,0,20,0,53,0,40,0,44,0 60,0,1,0,50,0,52,0,45,0,51,0 65,0,14,0,33,0,43,0,17,0,15,0 36,0,21,0,48,0,56,0,32,0,11,0 16,0,23,0,5,0,29,0,10,0,55,0 62,0,54,0,59,0,30,0,44,0,12,0 37,0,7,0,26,0,20,0,50,0,19,0 41,0,15,0,8,0,42,0,45,0,1,0 43,0,21,0,38,0,9,0,3,0,46,0 56,0,39,0,63,0,65,0,4,0,11,0 36,0,40,0,51,0,34,0,6,0,29,0 35,0,32,0,27,0,24,0,13,0,64,0 14,0,18,0,60,0,47,0,22,0,31,0 25,0,49,0,48,0,57,0,28,0,17,0 58,0,2,0,52,0,53,0,16,0,33,0 61,0,10,0,50,0,44,0,15,0,65,0 ================================================ FILE: schedules/65_12.csv ================================================ 30,0,3,0,41,0,49,0,14,0,31,0 23,0,46,0,35,0,45,0,10,0,11,0 62,0,9,0,34,0,6,0,64,0,19,0 16,0,15,0,5,0,22,0,32,0,50,0 43,0,63,0,21,0,4,0,29,0,59,0 7,0,18,0,27,0,57,0,33,0,47,0 48,0,39,0,58,0,36,0,60,0,13,0 54,0,1,0,37,0,28,0,53,0,61,0 25,0,38,0,44,0,17,0,56,0,24,0 8,0,20,0,2,0,52,0,40,0,12,0 26,0,51,0,7,0,65,0,42,0,55,0 6,0,3,0,18,0,30,0,46,0,15,0 64,0,50,0,5,0,45,0,33,0,60,0 39,0,25,0,49,0,53,0,59,0,32,0 11,0,28,0,21,0,62,0,2,0,19,0 20,0,16,0,4,0,54,0,41,0,56,0 37,0,36,0,48,0,23,0,34,0,47,0 51,0,27,0,22,0,52,0,24,0,61,0 29,0,40,0,9,0,65,0,13,0,35,0 17,0,14,0,43,0,63,0,26,0,55,0 42,0,10,0,57,0,1,0,31,0,44,0 12,0,8,0,47,0,38,0,58,0,11,0 60,0,56,0,64,0,22,0,59,0,30,0 53,0,33,0,39,0,35,0,52,0,6,0 65,0,17,0,48,0,18,0,62,0,46,0 26,0,43,0,37,0,16,0,32,0,44,0 2,0,1,0,38,0,29,0,54,0,5,0 40,0,31,0,21,0,36,0,25,0,50,0 13,0,23,0,3,0,63,0,51,0,19,0 42,0,14,0,27,0,49,0,12,0,28,0 61,0,57,0,8,0,20,0,9,0,10,0 34,0,45,0,15,0,55,0,4,0,58,0 24,0,41,0,35,0,7,0,1,0,59,0 39,0,3,0,62,0,22,0,37,0,40,0 6,0,29,0,13,0,31,0,26,0,23,0 32,0,11,0,18,0,44,0,61,0,36,0 30,0,57,0,38,0,28,0,51,0,4,0 63,0,5,0,56,0,27,0,12,0,34,0 42,0,16,0,24,0,33,0,2,0,46,0 65,0,52,0,58,0,55,0,49,0,50,0 19,0,25,0,48,0,64,0,41,0,10,0 53,0,60,0,47,0,45,0,14,0,21,0 15,0,54,0,17,0,8,0,43,0,9,0 20,0,18,0,13,0,7,0,23,0,22,0 61,0,11,0,31,0,59,0,33,0,16,0 64,0,35,0,26,0,38,0,4,0,12,0 49,0,27,0,45,0,40,0,44,0,39,0 52,0,62,0,48,0,43,0,57,0,15,0 47,0,41,0,28,0,24,0,6,0,58,0 51,0,2,0,25,0,9,0,14,0,54,0 36,0,32,0,5,0,42,0,8,0,3,0 20,0,65,0,56,0,1,0,19,0,60,0 46,0,50,0,63,0,37,0,53,0,7,0 55,0,34,0,10,0,29,0,30,0,21,0 13,0,22,0,28,0,17,0,33,0,25,0 27,0,32,0,31,0,54,0,48,0,64,0 9,0,26,0,44,0,58,0,60,0,3,0 23,0,62,0,4,0,5,0,49,0,61,0 39,0,15,0,56,0,21,0,46,0,51,0 1,0,35,0,30,0,63,0,8,0,37,0 55,0,41,0,40,0,18,0,57,0,53,0 59,0,52,0,42,0,29,0,17,0,47,0 38,0,36,0,14,0,7,0,10,0,19,0 43,0,24,0,11,0,20,0,50,0,45,0 6,0,65,0,34,0,2,0,16,0,12,0 8,0,62,0,53,0,56,0,26,0,27,0 18,0,15,0,63,0,60,0,42,0,31,0 23,0,58,0,30,0,40,0,7,0,17,0 55,0,5,0,39,0,11,0,41,0,25,0 20,0,6,0,59,0,45,0,38,0,48,0 46,0,16,0,9,0,29,0,28,0,36,0 65,0,4,0,22,0,37,0,10,0,14,0 12,0,13,0,24,0,57,0,32,0,21,0 2,0,44,0,54,0,19,0,35,0,33,0 49,0,34,0,51,0,43,0,47,0,50,0 61,0,1,0,3,0,52,0,64,0,17,0 58,0,59,0,37,0,6,0,27,0,5,0 22,0,21,0,42,0,9,0,11,0,48,0 4,0,32,0,30,0,65,0,19,0,46,0 62,0,31,0,50,0,20,0,35,0,44,0 60,0,10,0,40,0,43,0,28,0,52,0 34,0,1,0,26,0,23,0,25,0,18,0 33,0,38,0,56,0,3,0,15,0,14,0 61,0,63,0,7,0,39,0,45,0,2,0 12,0,29,0,51,0,36,0,53,0,41,0 47,0,64,0,13,0,55,0,16,0,8,0 24,0,57,0,37,0,54,0,49,0,60,0 14,0,32,0,6,0,11,0,40,0,1,0 5,0,18,0,43,0,56,0,35,0,9,0 58,0,45,0,25,0,62,0,51,0,42,0 16,0,23,0,21,0,52,0,27,0,3,0 33,0,10,0,49,0,12,0,17,0,63,0 28,0,50,0,57,0,26,0,59,0,8,0 22,0,41,0,38,0,13,0,46,0,34,0 65,0,7,0,29,0,64,0,15,0,61,0 31,0,36,0,4,0,2,0,24,0,55,0 30,0,53,0,44,0,47,0,48,0,20,0 54,0,19,0,50,0,39,0,12,0,18,0 6,0,17,0,57,0,14,0,34,0,35,0 8,0,21,0,33,0,23,0,41,0,65,0 32,0,55,0,9,0,59,0,27,0,38,0 4,0,25,0,63,0,44,0,15,0,11,0 7,0,47,0,2,0,22,0,3,0,43,0 58,0,62,0,16,0,39,0,1,0,10,0 45,0,40,0,28,0,29,0,48,0,56,0 53,0,19,0,26,0,24,0,31,0,5,0 13,0,30,0,52,0,54,0,36,0,42,0 49,0,37,0,46,0,51,0,64,0,20,0 60,0,12,0,35,0,61,0,55,0,23,0 3,0,33,0,50,0,1,0,48,0,4,0 39,0,32,0,29,0,47,0,62,0,56,0 26,0,52,0,11,0,9,0,30,0,7,0 40,0,65,0,54,0,63,0,24,0,34,0 17,0,42,0,45,0,31,0,41,0,37,0 20,0,61,0,46,0,5,0,58,0,14,0 16,0,64,0,49,0,38,0,21,0,18,0 60,0,44,0,22,0,51,0,6,0,8,0 15,0,59,0,10,0,53,0,2,0,13,0 36,0,19,0,43,0,57,0,25,0,27,0 28,0,55,0,33,0,39,0,34,0,20,0 12,0,9,0,1,0,47,0,31,0,46,0 63,0,60,0,41,0,32,0,38,0,62,0 8,0,14,0,29,0,24,0,48,0,18,0 35,0,49,0,36,0,15,0,22,0,26,0 19,0,40,0,4,0,51,0,17,0,16,0 54,0,59,0,45,0,10,0,65,0,3,0 2,0,37,0,11,0,57,0,13,0,56,0 43,0,64,0,23,0,58,0,53,0,42,0 52,0,7,0,21,0,28,0,44,0,5,0 27,0,61,0,50,0,6,0,25,0,30,0 ================================================ FILE: schedules/65_13.csv ================================================ 39,0,11,0,24,0,12,0,19,0,51,0 18,0,26,0,6,0,52,0,3,0,54,0 53,0,7,0,61,0,31,0,2,0,57,0 38,0,8,0,47,0,60,0,27,0,48,0 33,0,13,0,17,0,41,0,59,0,15,0 56,0,49,0,40,0,55,0,50,0,42,0 25,0,36,0,37,0,34,0,62,0,21,0 32,0,63,0,65,0,58,0,20,0,4,0 14,0,45,0,35,0,9,0,16,0,5,0 30,0,10,0,22,0,43,0,46,0,44,0 1,0,29,0,64,0,28,0,23,0,41,0 34,0,54,0,37,0,8,0,7,0,12,0 57,0,42,0,39,0,60,0,58,0,33,0 27,0,47,0,63,0,17,0,16,0,45,0 21,0,56,0,6,0,35,0,44,0,4,0 55,0,51,0,46,0,32,0,23,0,2,0 59,0,20,0,1,0,61,0,38,0,43,0 53,0,52,0,29,0,62,0,3,0,9,0 31,0,5,0,65,0,11,0,10,0,28,0 49,0,18,0,13,0,40,0,22,0,36,0 25,0,19,0,48,0,64,0,14,0,15,0 50,0,26,0,21,0,30,0,24,0,38,0 55,1,39,0,3,0,1,0,62,0,17,0 23,0,43,0,8,0,42,0,35,0,28,0 61,0,51,0,63,0,18,0,12,0,41,0 4,0,16,0,10,0,40,0,11,0,25,0 54,0,53,0,19,0,37,0,45,0,59,0 34,0,9,0,30,0,15,0,2,0,56,0 46,0,31,0,32,0,29,0,14,0,49,0 58,0,47,0,22,0,50,0,64,0,24,0 60,0,5,0,36,0,6,0,65,0,48,0 13,0,20,0,52,0,33,0,7,0,27,0 57,0,44,0,23,0,26,0,62,0,19,0 28,0,30,0,45,0,40,0,59,0,51,0 32,0,42,0,38,0,53,0,47,0,3,0 63,0,56,0,37,0,17,0,61,0,11,0 9,0,46,0,33,0,34,0,64,0,65,0 41,0,36,0,31,0,35,0,26,0,43,0 49,0,25,0,1,0,5,0,20,0,27,0 44,0,50,0,12,0,48,0,52,0,2,0 8,0,24,0,15,0,18,0,4,0,55,0 57,0,21,0,7,0,22,0,6,0,16,0 10,0,13,0,60,0,58,0,29,0,54,0 14,0,30,0,37,0,39,0,64,0,27,0 3,0,31,0,23,0,44,0,63,0,33,0 25,0,12,0,15,0,1,0,42,0,65,0 11,0,6,0,20,0,22,0,53,0,45,0 56,0,16,0,62,0,32,0,60,0,26,0 47,0,57,0,14,0,54,0,18,0,28,0 39,0,5,0,13,0,43,0,34,0,50,0 55,0,29,0,8,0,36,0,21,0,59,0 52,0,10,0,35,0,4,0,61,0,2,0 17,0,40,0,19,0,38,0,48,0,46,0 24,0,58,0,49,0,9,0,41,0,7,0 51,0,43,0,53,0,14,0,56,0,25,0 63,0,26,0,39,0,29,0,6,0,42,0 60,0,4,0,64,0,31,0,45,0,44,0 22,0,34,0,35,0,54,0,1,0,48,0 20,0,41,0,38,0,55,0,9,0,37,0 27,0,8,0,40,0,51,0,23,0,15,0 62,0,2,0,5,0,24,0,47,0,59,0 57,0,33,0,36,0,11,0,30,0,52,0 17,0,32,0,7,0,18,0,50,0,10,0 21,0,65,0,12,0,49,0,19,0,3,0 16,0,61,0,28,0,13,0,58,0,46,0 26,0,14,0,51,0,20,0,34,0,47,0 27,0,31,0,1,0,36,0,56,0,9,0 48,0,17,0,55,0,11,0,7,0,4,0 6,0,10,0,49,0,30,0,59,0,23,0 22,0,12,0,28,0,62,0,60,0,41,0 52,0,38,0,16,0,8,0,65,0,39,0 25,0,2,0,29,0,19,0,58,0,18,0 35,0,64,0,5,0,53,0,63,0,13,0 61,0,3,0,32,0,24,0,40,0,45,0 37,0,57,0,46,0,44,0,42,0,15,0 54,0,33,0,50,0,21,0,43,0,55,0 8,0,22,0,2,0,17,0,26,0,25,0 23,0,36,0,10,0,12,0,56,0,53,0 45,0,7,0,65,0,30,0,41,0,35,0 59,0,48,0,32,0,24,0,63,0,1,0 31,0,64,0,42,0,21,0,20,0,18,0 38,0,28,0,49,0,15,0,33,0,52,0 40,0,16,0,57,0,44,0,34,0,5,0 19,0,9,0,14,0,6,0,60,0,61,0 4,0,46,0,39,0,13,0,47,0,54,0 62,0,11,0,58,0,27,0,43,0,3,0 50,0,51,0,22,0,37,0,29,0,65,0 34,0,2,0,18,0,23,0,45,0,49,0 38,0,17,0,14,0,36,0,35,0,24,0 19,0,5,0,41,0,4,0,52,0,42,0 28,0,53,0,21,0,55,0,61,0,27,0 9,0,15,0,50,0,63,0,62,0,54,0 47,0,32,0,12,0,31,0,25,0,6,0 39,0,29,0,43,0,7,0,44,0,40,0 20,0,8,0,64,0,10,0,56,0,57,0 48,0,3,0,58,0,51,0,30,0,13,0 1,0,37,0,11,0,16,0,26,0,59,0 46,0,60,0,24,0,33,0,25,0,53,0 23,0,55,0,22,0,14,0,5,0,52,0 27,0,2,0,44,0,41,0,54,0,65,0 38,0,34,0,4,0,29,0,61,0,31,0 36,0,45,0,3,0,50,0,20,0,39,0 47,0,37,0,60,0,63,0,43,0,49,0 19,0,30,0,6,0,28,0,1,0,8,0 9,0,11,0,21,0,13,0,32,0,40,0 35,0,59,0,12,0,64,0,57,0,58,0 62,0,33,0,42,0,10,0,17,0,51,0 18,0,7,0,48,0,46,0,26,0,56,0 16,0,53,0,41,0,15,0,39,0,19,0 20,0,44,0,24,0,28,0,13,0,34,0 59,0,63,0,2,0,14,0,21,0,22,0 50,0,4,0,1,0,60,0,51,0,57,0 26,0,45,0,27,0,12,0,10,0,46,0 9,0,29,0,35,0,11,0,47,0,33,0 49,0,61,0,65,0,62,0,8,0,48,0 58,0,6,0,23,0,37,0,40,0,38,0 7,0,56,0,54,0,5,0,3,0,25,0 18,0,16,0,42,0,55,0,36,0,30,0 43,0,17,0,15,0,32,0,52,0,64,0 31,0,62,0,13,0,8,0,19,0,45,0 50,0,11,0,41,0,14,0,46,0,20,0 65,0,56,0,27,0,57,0,29,0,24,0 3,0,42,0,34,0,59,0,4,0,22,0 44,0,55,0,10,0,1,0,18,0,47,0 7,0,51,0,49,0,63,0,64,0,38,0 33,0,43,0,16,0,12,0,6,0,2,0 40,0,30,0,54,0,31,0,17,0,53,0 23,0,25,0,21,0,39,0,48,0,9,0 60,0,52,0,28,0,37,0,32,0,35,0 36,0,15,0,26,0,58,0,5,0,61,0 41,0,63,0,55,0,10,0,34,0,19,0 11,0,44,0,53,0,50,0,49,0,8,0 7,0,62,0,64,0,40,0,14,0,6,0 56,0,4,0,48,0,37,0,28,0,33,0 59,0,18,0,43,0,26,0,9,0,65,0 12,0,20,0,29,0,30,0,17,0,5,0 35,0,39,0,61,0,27,0,22,0,32,0 58,0,1,0,52,0,47,0,46,0,21,0 60,0,3,0,15,0,51,0,2,0,36,0 24,0,23,0,42,0,31,0,16,0,54,0 45,0,25,0,13,0,57,0,38,0,55,0 ================================================ FILE: schedules/65_14.csv ================================================ 44,0,38,0,1,0,32,0,39,0,17,0 3,0,9,0,8,0,64,0,11,0,54,0 34,0,53,0,7,0,46,0,35,0,51,0 63,0,41,0,37,0,14,0,57,0,50,0 6,0,13,0,62,0,5,0,30,0,21,0 20,0,2,0,29,0,26,0,36,0,18,0 22,0,31,0,33,0,19,0,40,0,59,0 12,0,27,0,23,0,24,0,45,0,56,0 4,0,52,0,42,0,16,0,58,0,49,0 47,0,61,0,60,0,55,0,28,0,65,0 25,0,15,0,43,0,48,0,10,0,20,0 46,0,41,0,8,0,62,0,31,0,40,0 32,0,1,0,56,0,29,0,63,0,54,0 3,0,35,0,12,0,4,0,36,0,33,0 19,0,39,0,26,0,28,0,49,0,17,0 25,0,45,0,37,0,43,0,5,0,11,0 14,0,21,0,23,0,61,0,51,0,42,0 30,0,50,0,22,0,9,0,60,0,44,0 18,0,59,0,65,0,27,0,52,0,6,0 58,0,13,0,38,0,57,0,24,0,48,0 16,0,53,0,10,0,7,0,2,0,47,0 15,0,55,0,31,0,34,0,64,0,39,0 60,1,19,0,8,0,21,1,36,0,63,0 1,0,14,0,3,0,12,0,65,0,25,0 6,0,28,0,23,0,37,0,22,0,54,0 40,0,38,0,56,0,51,0,18,0,7,0 16,0,5,0,17,0,35,0,64,0,13,0 30,0,20,0,52,0,27,0,33,0,24,0 34,0,50,0,15,0,53,0,45,0,49,0 9,0,10,0,41,0,26,0,48,0,55,0 47,0,11,0,4,0,59,0,32,0,57,0 43,0,61,0,58,0,62,0,29,0,46,0 2,0,42,0,14,0,44,0,17,0,31,0 60,0,38,0,12,0,49,0,13,0,20,0 64,0,33,0,5,0,22,0,27,0,7,0 18,0,55,0,30,0,11,0,28,0,3,0 65,0,36,0,35,0,63,0,51,0,62,0 42,0,39,0,45,0,4,0,57,0,10,0 48,0,21,0,16,0,50,0,46,0,56,0 24,0,32,0,9,0,53,0,25,0,61,0 40,0,34,0,6,0,29,0,8,0,23,0 54,0,58,0,19,0,2,0,44,0,15,0 47,0,41,0,52,0,59,0,37,0,1,0 43,0,27,0,50,0,26,0,42,0,33,0 28,0,14,0,62,0,20,0,38,0,53,0 13,0,25,0,7,0,39,0,29,0,18,0 24,0,11,0,49,0,22,0,17,0,40,0 46,0,4,0,2,0,15,0,1,0,6,0 31,0,21,0,54,0,12,0,36,0,47,0 43,0,41,0,48,0,61,0,5,0,19,0 55,0,34,0,16,0,26,0,63,0,58,0 30,0,32,0,65,0,10,0,23,0,64,0 57,0,51,0,45,0,60,0,35,0,52,0 59,0,56,0,9,0,37,0,44,0,3,0 8,0,54,0,13,0,49,0,14,0,41,0 55,0,33,0,63,0,2,0,6,0,21,0 11,0,10,0,39,0,29,0,38,0,19,0 15,0,20,0,18,0,16,0,30,0,31,0 64,0,9,0,62,0,51,0,12,0,59,0 37,0,58,0,32,0,65,0,26,0,45,0 44,0,5,0,36,0,23,0,4,0,1,0 22,0,46,0,48,0,8,0,47,0,42,0 52,0,40,0,61,0,27,0,53,0,3,0 57,0,60,0,56,0,17,0,43,0,34,0 25,0,24,0,28,0,35,0,50,0,7,0 20,0,31,0,63,0,58,0,9,0,5,0 45,0,48,0,11,0,54,0,62,0,33,0 36,0,32,0,15,0,13,0,59,0,52,0 1,0,46,0,57,0,22,0,64,0,55,0 30,0,29,0,17,0,50,0,4,0,65,0 60,0,18,0,53,0,39,0,8,0,37,0 40,0,21,0,49,0,10,0,35,0,14,0 27,0,47,0,19,0,38,0,25,0,34,0 26,0,16,0,43,0,44,0,23,0,24,0 2,0,51,0,28,0,41,0,42,0,3,0 61,0,7,0,56,0,6,0,12,0,20,0 45,0,35,0,40,0,9,0,55,0,52,0 49,0,4,0,64,0,18,0,47,0,25,0 10,0,24,0,29,0,1,0,8,0,33,0 21,0,27,0,28,0,32,0,2,0,43,0 15,0,14,0,26,0,62,0,5,0,60,0 3,0,50,0,63,0,23,0,22,0,38,0 53,0,65,0,19,0,56,0,42,0,13,0 59,0,54,0,61,0,30,0,58,0,34,0 39,0,48,0,51,0,12,0,11,0,16,0 6,0,36,0,7,0,57,0,41,0,44,0 17,0,37,0,60,0,31,0,46,0,3,0 23,0,5,0,52,0,9,0,47,0,29,0 22,0,2,0,24,0,34,0,54,0,4,0 42,0,65,0,20,0,40,0,50,0,11,0 14,0,63,0,44,0,18,0,64,0,48,0 37,0,61,0,33,0,39,0,36,0,38,0 8,0,45,0,59,0,28,0,56,0,16,0 51,0,10,0,30,0,17,0,57,0,21,0 12,0,1,0,58,0,35,0,43,0,19,0 49,0,46,0,7,0,32,0,62,0,55,0 6,0,31,0,25,0,41,0,26,0,53,0 13,0,27,0,44,0,15,0,63,0,11,0 52,0,2,0,54,0,64,0,50,0,61,0 57,0,5,0,34,0,8,0,18,0,21,0 20,0,22,0,35,0,23,0,32,0,19,0 28,0,29,0,1,0,31,0,51,0,56,0 33,0,59,0,58,0,60,0,25,0,14,0 26,0,3,0,40,0,13,0,15,0,47,0 49,0,62,0,10,0,27,0,37,0,16,0 4,0,53,0,55,0,38,0,65,0,43,0 46,0,39,0,12,0,30,0,45,0,41,0 17,0,24,0,6,0,42,0,36,0,48,0 9,0,1,0,11,0,7,0,58,0,21,0 59,0,50,0,23,0,10,0,5,0,13,0 34,0,62,0,2,0,52,0,25,0,56,0 40,0,44,0,4,0,60,0,28,0,63,0 12,0,42,0,55,0,15,0,29,0,37,0 26,0,38,0,35,0,64,0,8,0,30,0 27,0,36,0,49,0,9,0,46,0,53,0 31,0,39,0,43,0,22,0,65,0,6,0 16,0,33,0,18,0,17,0,41,0,61,0 32,0,47,0,45,0,14,0,51,0,24,0 3,0,57,0,54,0,19,0,20,0,7,0 48,0,13,0,29,0,35,0,37,0,28,0 42,0,10,0,38,0,34,0,9,0,36,0 31,0,2,0,60,0,62,0,23,0,11,0 55,0,43,0,8,0,18,0,32,0,52,0 5,0,65,0,49,0,46,0,33,0,44,0 30,0,4,0,27,0,7,0,48,0,14,0 64,0,51,0,19,0,45,0,50,0,6,0 12,0,57,0,26,0,53,0,40,0,1,0 17,0,54,0,25,0,16,0,63,0,61,0 59,0,3,0,39,0,21,0,24,0,20,0 56,0,22,0,47,0,15,0,58,0,41,0 33,0,50,0,48,0,31,0,32,0,34,0 52,0,46,0,64,0,13,0,12,0,28,0 16,0,19,0,6,0,9,0,65,0,14,0 51,0,44,0,8,0,25,0,20,0,55,0 41,0,60,0,23,0,15,0,38,0,27,0 3,0,62,0,30,0,42,0,1,0,49,0 11,0,57,0,61,0,4,0,26,0,56,0 5,0,37,0,40,0,39,0,58,0,2,0 53,0,29,0,36,0,21,0,45,0,22,0 63,0,7,0,17,0,47,0,43,0,59,0 35,0,24,0,54,0,18,0,10,0,46,0 6,0,32,0,48,0,16,0,60,0,3,0 9,0,15,0,23,0,28,0,33,0,57,0 34,0,21,0,41,0,44,0,65,0,11,0 51,0,38,0,49,0,2,0,59,0,5,0 35,0,39,0,55,0,27,0,54,0,14,0 17,0,58,0,50,0,53,0,8,0,12,0 7,0,26,0,10,0,22,0,63,0,52,0 43,0,56,0,36,0,40,0,30,0,25,0 62,0,47,0,37,0,19,0,4,0,24,0 18,0,13,0,61,0,1,0,31,0,45,0 20,0,64,0,60,0,42,0,29,0,21,0 ================================================ FILE: schedules/65_2.csv ================================================ 33,0,56,0,7,0,20,0,24,0,49,0 47,0,10,0,29,0,59,0,18,0,37,0 15,0,4,0,14,0,28,0,21,0,48,0 58,0,39,0,3,0,60,0,12,0,57,0 42,0,53,0,26,0,6,0,36,0,63,0 19,0,55,0,54,0,17,0,31,0,27,0 43,0,46,0,22,0,44,0,9,0,23,0 30,0,41,0,8,0,32,0,52,0,1,0 50,0,61,0,51,0,65,0,40,0,25,0 62,0,64,0,13,0,2,0,45,0,5,0 34,0,11,0,7,0,38,0,35,0,16,0 43,0,18,0,57,0,55,0,26,0,56,0 49,0,54,0,60,0,10,0,23,0,6,0 27,0,39,0,20,0,47,0,46,0,51,0 2,0,40,0,44,0,59,0,30,0,4,0 45,0,58,0,16,0,37,0,53,0,31,0 9,0,52,0,65,0,63,0,34,0,15,0 8,0,17,0,24,0,61,0,62,0,29,0 14,0,5,0,12,0,22,0,19,0,25,0 1,0,48,0,11,0,42,0,3,0,64,0 35,0,50,0,21,0,41,0,36,0,13,0 38,0,32,0,55,1,33,0,28,0,57,1 ================================================ FILE: schedules/65_3.csv ================================================ 22,0,11,0,32,0,47,0,30,0,40,0 38,0,2,0,16,0,18,0,15,0,39,0 37,0,42,0,46,0,1,0,49,0,57,0 58,0,56,0,31,0,64,0,6,0,4,0 45,0,8,0,51,0,27,0,7,0,35,0 61,0,36,0,20,0,52,0,17,0,5,0 65,0,23,0,60,0,25,0,13,0,14,0 28,0,53,0,24,0,10,0,12,0,54,0 44,0,26,0,34,0,50,0,62,0,29,0 43,0,48,0,9,0,19,0,21,0,41,0 55,0,63,0,3,0,59,0,33,0,51,0 60,1,42,0,16,0,58,1,47,0,20,0 45,1,56,0,10,0,65,0,61,0,22,0 11,0,52,0,4,0,26,0,14,0,35,0 17,0,38,0,40,0,28,0,62,0,43,0 33,0,29,0,23,0,2,0,36,0,64,0 13,0,15,0,8,0,37,0,19,0,24,0 49,0,55,0,9,0,32,0,7,0,39,0 59,0,1,0,54,0,41,0,50,0,31,0 6,0,46,0,18,0,12,0,30,0,34,0 44,0,57,0,25,0,21,0,53,0,63,0 5,0,48,0,47,0,27,0,3,0,13,0 11,0,7,0,19,0,33,0,56,0,42,0 60,0,40,0,35,0,31,0,24,0,49,0 10,0,34,0,41,0,23,0,51,0,58,0 21,0,30,0,14,0,17,0,16,0,37,0 52,0,39,0,64,0,48,0,22,0,1,0 45,0,59,0,6,0,29,0,53,0,38,0 28,0,50,0,5,0,2,0,25,0,46,0 54,0,20,0,3,0,44,0,9,0,8,0 32,0,43,0,27,0,61,0,57,0,4,0 15,0,12,0,36,0,55,0,26,0,65,0 63,0,62,0,58,0,18,0,60,0,45,0 ================================================ FILE: schedules/65_4.csv ================================================ 64,0,11,0,44,0,63,0,29,0,8,0 27,0,20,0,32,0,61,0,45,0,54,0 38,0,53,0,12,0,39,0,48,0,9,0 4,0,18,0,35,0,55,0,16,0,51,0 22,0,47,0,36,0,15,0,46,0,37,0 43,0,26,0,13,0,33,0,21,0,40,0 34,0,6,0,60,0,19,0,57,0,2,0 14,0,50,0,62,0,52,0,23,0,42,0 58,0,41,0,31,0,7,0,59,0,1,0 49,0,65,0,25,0,5,0,10,0,24,0 17,0,30,0,37,0,28,0,3,0,56,0 34,0,9,0,21,0,20,0,63,0,4,0 11,0,54,0,15,0,43,0,52,0,39,0 57,0,22,0,14,0,16,0,31,0,53,0 45,0,13,0,7,0,18,0,42,0,10,0 47,0,5,0,35,0,62,0,30,0,6,0 56,0,19,0,49,0,58,0,32,0,44,0 12,0,55,0,24,0,33,0,1,0,46,0 41,0,3,0,2,0,29,0,48,0,26,0 38,0,40,0,61,0,64,0,28,0,60,0 8,0,23,0,51,0,25,0,36,0,59,0 27,0,50,0,44,0,17,0,65,0,31,0 13,1,4,0,11,0,58,1,30,0,53,0 62,1,19,0,29,0,55,1,7,0,20,0 63,0,1,0,52,0,6,0,26,0,28,0 56,0,54,0,46,0,57,0,25,0,35,0 59,0,18,0,21,0,22,0,49,0,61,0 42,0,65,0,39,0,34,0,47,0,8,0 38,0,33,0,32,0,10,0,17,0,36,0 9,0,24,0,60,0,45,0,23,0,3,0 16,0,12,0,27,0,2,0,40,0,15,0 43,0,37,0,51,0,50,0,41,0,5,0 48,0,20,0,59,0,64,0,14,0,13,0 55,0,30,0,52,0,34,0,38,0,44,0 45,0,28,0,58,0,35,0,36,0,65,0 31,0,62,0,26,0,60,0,11,0,12,0 57,0,29,0,33,0,37,0,27,0,42,0 47,0,64,0,17,0,2,0,43,0,4,0 15,0,23,0,63,0,56,0,41,0,18,0 39,0,6,0,10,0,51,0,3,0,22,0 8,0,24,0,16,0,48,0,61,0,19,0 21,0,7,0,46,0,5,0,14,0,32,0 54,0,1,0,40,0,49,0,50,0,53,0 25,0,13,0,62,0,9,0,58,0,55,0 ================================================ FILE: schedules/65_5.csv ================================================ 51,0,30,0,15,0,56,0,62,0,23,0 14,0,64,0,8,0,3,0,53,0,25,0 50,0,48,0,45,0,46,0,27,0,33,0 59,0,32,0,60,0,57,0,37,0,10,0 54,0,42,0,31,0,44,0,35,0,39,0 18,0,29,0,28,0,2,0,4,0,9,0 65,0,52,0,7,0,1,0,43,0,47,0 20,0,6,0,13,0,5,0,41,0,21,0 19,0,36,0,17,0,34,0,16,0,12,0 49,0,22,0,63,0,38,0,61,0,11,0 40,0,58,0,3,0,24,0,55,0,26,0 53,0,50,0,4,0,47,0,31,0,57,0 20,0,33,0,9,0,54,0,10,0,64,0 45,0,17,0,32,0,29,0,65,0,44,0 43,0,62,0,2,0,60,0,22,0,36,0 13,0,34,0,46,0,58,0,15,0,18,0 23,0,8,0,35,0,28,0,63,0,5,0 19,0,56,0,1,0,14,0,11,0,41,0 30,0,26,0,25,0,39,0,7,0,49,0 21,0,16,0,59,0,42,0,40,0,38,0 51,0,12,0,27,0,55,0,61,0,52,0 24,0,48,0,36,0,6,0,37,0,63,0 60,1,33,0,56,0,47,1,8,0,34,0 17,1,14,0,46,0,9,1,30,0,43,0 21,1,44,0,23,0,11,0,7,0,57,0 28,0,26,0,10,0,42,0,45,0,12,0 61,0,64,0,41,0,48,0,29,0,59,0 65,0,24,0,39,0,13,0,19,0,2,0 31,0,40,0,6,0,32,0,1,0,49,0 53,0,18,0,5,0,16,0,52,0,62,0 38,0,27,0,20,0,15,0,3,0,35,0 22,0,37,0,51,0,54,0,4,0,58,0 55,0,25,0,13,0,50,0,17,0,59,0 24,0,33,0,1,0,30,0,28,0,57,0 21,0,49,0,10,0,48,0,52,0,14,0 43,0,5,0,29,0,38,0,26,0,31,0 27,0,16,0,7,0,22,0,9,0,56,0 55,0,62,0,4,0,64,0,19,0,35,0 34,0,61,0,45,0,20,0,53,0,40,0 44,0,3,0,41,0,50,0,12,0,37,0 63,0,47,0,46,0,39,0,32,0,51,0 18,0,54,0,11,0,36,0,8,0,65,0 25,0,58,0,60,0,42,0,6,0,23,0 15,0,40,0,52,0,2,0,33,0,17,0 50,0,29,0,14,0,22,0,20,0,24,0 10,0,7,0,34,0,51,0,31,0,3,0 26,0,37,0,56,0,61,0,18,0,21,0 23,0,39,0,9,0,45,0,55,0,36,0 30,0,60,0,63,0,41,0,53,0,27,0 28,0,47,0,59,0,6,0,19,0,54,0 12,0,62,0,38,0,48,0,65,0,58,0 11,0,4,0,5,0,32,0,15,0,25,0 43,0,57,0,42,0,64,0,13,0,49,0 44,0,8,0,16,0,1,0,2,0,46,0 35,0,47,0,9,0,60,0,17,0,21,0 ================================================ FILE: schedules/65_6.csv ================================================ 7,0,3,0,11,0,42,0,39,0,65,0 1,0,18,0,8,0,33,0,35,0,57,0 37,0,25,0,17,0,62,0,30,0,54,0 28,0,64,0,43,0,58,0,51,0,29,0 9,0,21,0,6,0,49,0,24,0,16,0 48,0,12,0,38,0,44,0,26,0,50,0 59,0,2,0,45,0,36,0,15,0,46,0 14,0,31,0,13,0,10,0,60,0,55,0 63,0,20,0,47,0,61,0,4,0,5,0 22,0,52,0,41,0,27,0,40,0,56,0 23,0,19,0,11,0,34,0,53,0,32,0 48,0,42,0,46,0,25,0,8,0,64,0 51,0,13,0,50,0,36,0,17,0,9,0 60,0,37,0,28,0,7,0,49,0,12,0 62,0,47,0,41,0,1,0,14,0,59,0 45,0,4,0,35,0,44,0,40,0,32,0 39,0,21,0,54,0,31,0,26,0,63,0 61,0,6,0,34,0,33,0,65,0,22,0 5,0,29,0,57,0,52,0,38,0,23,0 15,0,16,0,10,0,43,0,20,0,53,0 3,0,55,0,58,0,19,0,2,0,56,0 18,0,24,0,7,0,27,0,30,0,47,0 9,0,28,0,34,0,41,0,31,0,42,0 52,0,11,0,63,0,44,0,14,0,37,0 8,0,59,0,50,0,4,0,65,0,53,0 13,0,46,0,26,0,6,0,35,0,56,0 45,0,18,0,49,0,48,0,29,0,17,0 16,0,27,0,58,0,60,0,25,0,38,0 24,0,5,0,3,0,40,0,54,0,43,0 39,0,19,0,22,0,30,0,15,0,1,0 2,0,10,0,12,0,23,0,62,0,51,0 36,0,33,0,20,0,21,0,32,0,55,0 57,0,61,0,59,0,64,0,26,0,37,0 3,0,31,0,27,0,17,0,6,0,44,0 4,0,41,0,7,0,38,0,46,0,19,0 29,0,63,0,56,0,24,0,1,0,12,0 15,0,48,0,40,0,21,0,23,0,58,0 22,0,36,0,49,0,57,0,42,0,14,0 53,0,30,0,64,0,55,0,5,0,35,0 28,0,2,0,61,0,18,0,25,0,13,0 32,0,51,0,65,0,16,0,47,0,52,0 8,0,54,0,10,0,9,0,45,0,11,0 60,0,62,0,34,0,50,0,20,0,39,0 33,0,4,0,14,0,43,0,48,0,27,0 58,0,46,0,53,0,57,0,24,0,31,0 26,0,51,0,41,0,15,0,3,0,49,0 40,0,19,0,6,0,29,0,37,0,42,0 35,0,25,0,36,0,10,0,39,0,47,0 23,0,50,0,55,0,63,0,45,0,22,0 16,0,44,0,34,0,5,0,7,0,13,0 62,0,56,0,38,0,11,0,28,0,33,0 20,0,18,0,59,0,52,0,12,0,54,0 43,0,32,0,61,0,30,0,9,0,60,0 17,0,65,0,21,0,64,0,2,0,1,0 37,0,23,0,39,0,8,0,41,0,24,0 33,0,10,0,42,0,58,0,5,0,50,0 25,0,11,0,57,0,51,0,6,0,20,0 63,0,60,0,48,0,35,0,59,0,19,0 45,0,30,0,21,0,3,0,28,0,52,0 36,0,16,0,26,0,62,0,29,0,4,0 44,0,9,0,2,0,53,0,22,0,47,0 46,0,12,0,17,0,43,0,34,0,55,0 64,0,40,0,65,0,18,0,38,0,14,0 54,0,1,0,27,0,13,0,32,0,49,0 31,0,56,0,8,0,61,0,7,0,15,0 ================================================ FILE: schedules/65_7.csv ================================================ 15,0,61,0,58,0,5,0,57,0,1,0 54,0,21,0,31,0,19,0,20,0,50,0 37,0,45,0,34,0,30,0,60,0,33,0 4,0,51,0,7,0,44,0,41,0,11,0 28,0,25,0,32,0,59,0,24,0,65,0 12,0,47,0,6,0,10,0,62,0,22,0 35,0,18,0,2,0,52,0,36,0,9,0 16,0,63,0,14,0,42,0,17,0,29,0 13,0,39,0,3,0,49,0,56,0,8,0 26,0,23,0,55,0,27,0,38,0,64,0 43,0,40,0,53,0,48,0,46,0,30,0 22,0,28,0,1,0,9,0,44,0,50,0 31,0,58,0,51,0,45,0,6,0,14,0 11,0,52,0,21,0,10,0,42,0,13,0 64,0,41,0,37,0,36,0,3,0,18,0 33,0,16,0,39,0,27,0,43,0,54,0 60,0,25,0,56,0,46,0,2,0,15,0 19,0,23,0,47,0,7,0,24,0,61,0 8,0,55,0,17,0,32,0,12,0,57,0 59,0,63,0,20,0,35,0,38,0,40,0 34,0,48,0,5,0,4,0,26,0,65,0 62,0,29,0,33,0,49,0,53,0,44,0 37,1,50,0,10,0,51,0,25,0,61,0 24,0,60,0,1,0,8,0,31,0,16,0 43,0,9,0,13,0,19,0,63,0,41,0 22,0,35,0,3,0,46,0,32,0,58,0 23,0,42,0,5,0,53,0,6,0,54,0 36,0,48,0,56,0,47,0,55,0,20,0 39,0,2,0,17,0,65,0,64,0,7,0 27,0,57,0,40,0,45,0,62,0,11,0 52,0,49,0,15,0,34,0,12,0,14,0 38,0,30,0,21,0,29,0,28,0,4,0 26,0,18,0,61,0,59,0,6,0,8,0 41,0,65,0,54,0,56,0,35,0,10,0 19,0,55,0,16,0,51,0,22,0,53,0 45,0,5,0,7,0,43,0,25,0,20,0 46,0,12,0,38,0,50,0,11,0,36,0 59,0,42,0,57,0,2,0,30,0,44,0 37,0,9,0,4,0,49,0,23,0,17,0 3,0,34,0,28,0,27,0,63,0,31,0 29,0,13,0,32,0,26,0,1,0,47,0 64,0,40,0,58,0,33,0,24,0,52,0 60,0,18,0,48,0,21,0,14,0,39,0 15,0,51,0,43,0,62,0,35,0,59,0 57,0,7,0,16,0,10,0,3,0,9,0 22,0,8,0,29,0,20,0,2,0,34,0 32,0,38,0,61,0,54,0,45,0,49,0 63,0,6,0,1,0,36,0,65,0,21,0 47,0,18,0,44,0,17,0,40,0,15,0 50,0,42,0,27,0,41,0,48,0,58,0 14,0,46,0,55,0,5,0,39,0,37,0 53,0,4,0,60,0,12,0,64,0,13,0 11,0,56,0,19,0,28,0,33,0,26,0 31,0,52,0,30,0,62,0,25,0,23,0 24,0,2,0,38,0,43,0,3,0,6,0 49,0,46,0,42,0,1,0,7,0,18,0 14,0,36,0,40,0,32,0,10,0,4,0 5,0,27,0,17,0,60,0,59,0,22,0 8,0,62,0,58,0,37,0,28,0,19,0 15,0,45,0,41,0,24,0,29,0,39,0 65,0,53,0,52,0,57,0,47,0,50,0 35,0,61,0,31,0,33,0,55,0,13,0 26,0,12,0,20,0,51,0,30,0,9,0 44,0,56,0,21,0,34,0,16,0,23,0 54,0,64,0,63,0,25,0,48,0,11,0 6,0,32,0,37,0,7,0,27,0,52,0 59,0,33,0,47,0,3,0,14,0,41,0 15,0,65,0,9,0,8,0,42,0,38,0 62,0,20,0,4,0,46,0,61,0,16,0 49,0,21,0,25,0,26,0,22,0,40,0 34,0,36,0,17,0,19,0,54,0,51,0 12,0,48,0,45,0,23,0,28,0,2,0 44,0,63,0,10,0,58,0,60,0,55,0 29,0,57,0,64,0,56,0,31,0,43,0 50,0,30,0,13,0,5,0,18,0,24,0 53,0,39,0,1,0,11,0,35,0,37,0 ================================================ FILE: schedules/65_8.csv ================================================ 19,0,35,0,3,0,51,0,27,0,49,0 50,0,30,0,44,0,41,0,53,0,4,0 7,0,39,0,17,0,10,0,54,0,55,0 59,0,62,0,56,0,8,0,34,0,9,0 60,0,40,0,2,0,32,0,42,0,25,0 1,0,6,0,15,0,48,0,28,0,5,0 65,0,29,0,23,0,21,0,12,0,11,0 52,0,46,0,16,0,64,0,22,0,38,0 45,0,31,0,57,0,61,0,13,0,58,0 20,0,18,0,47,0,33,0,36,0,63,0 37,0,26,0,43,0,14,0,24,0,2,0 51,0,50,0,23,0,39,0,32,0,15,0 46,0,10,0,21,0,59,0,53,0,3,0 5,0,13,0,64,0,19,0,7,0,42,0 52,0,49,0,57,0,20,0,4,0,55,0 11,0,48,0,35,0,26,0,47,0,28,0 41,0,36,0,58,0,12,0,8,0,37,0 56,0,29,0,33,0,17,0,25,0,43,0 27,0,40,0,34,0,65,0,63,0,6,0 62,0,24,0,38,0,18,0,31,0,30,0 61,0,45,0,16,0,9,0,54,0,44,0 22,0,14,0,47,0,1,0,60,0,13,0 10,1,28,0,2,0,58,1,56,0,21,0 53,0,19,0,65,0,20,0,43,0,23,0 12,0,48,0,33,0,52,0,31,0,42,0 63,0,15,0,8,0,44,0,38,0,49,0 61,0,57,0,64,0,27,0,37,0,25,0 54,0,29,0,30,0,35,0,5,0,46,0 26,0,6,0,32,0,62,0,22,0,16,0 17,0,4,0,1,0,34,0,24,0,51,0 18,0,50,0,11,0,59,0,7,0,60,0 41,0,39,0,9,0,3,0,36,0,40,0 14,0,55,0,64,0,45,0,29,0,63,0 62,0,53,0,28,0,27,0,54,0,52,0 57,0,8,0,24,0,32,0,65,0,48,0 10,0,15,0,58,0,18,0,34,0,42,0 20,0,40,0,50,0,5,0,3,0,22,0 47,0,51,0,55,0,25,0,31,0,44,0 23,0,16,0,37,0,60,0,56,0,4,0 33,0,11,0,46,0,9,0,1,0,2,0 61,0,49,0,21,0,7,0,41,0,26,0 38,0,43,0,36,0,35,0,59,0,6,0 45,0,14,0,17,0,30,0,39,0,19,0 13,0,56,0,27,0,12,0,55,0,50,0 32,0,20,0,10,0,37,0,31,0,28,0 16,0,29,0,53,0,57,0,47,0,15,0 34,0,7,0,46,0,25,0,36,0,24,0 26,0,3,0,63,0,43,0,58,0,54,0 4,0,19,0,61,0,33,0,8,0,22,0 52,0,21,0,44,0,17,0,60,0,6,0 62,0,35,0,18,0,1,0,12,0,45,0 41,0,11,0,40,0,38,0,51,0,14,0 23,0,13,0,9,0,30,0,64,0,48,0 39,0,65,0,2,0,59,0,49,0,5,0 42,0,8,0,27,0,46,0,43,0,47,0 62,0,36,0,60,0,15,0,19,0,55,0 22,0,35,0,57,0,10,0,41,0,34,0 13,0,24,0,29,0,28,0,40,0,33,0 20,0,12,0,7,0,6,0,39,0,44,0 42,0,37,0,49,0,54,0,1,0,50,0 26,0,51,0,64,0,65,0,18,0,56,0 4,0,25,0,9,0,21,0,14,0,32,0 38,0,45,0,53,0,2,0,48,0,3,0 63,0,31,0,5,0,16,0,17,0,11,0 58,0,52,0,59,0,61,0,30,0,23,0 12,0,28,0,60,0,49,0,64,0,34,0 9,0,42,0,51,0,20,0,26,0,29,0 65,0,37,0,45,0,33,0,15,0,7,0 5,0,38,0,50,0,57,0,14,0,62,0 10,0,48,0,44,0,19,0,40,0,43,0 27,0,36,0,1,0,30,0,21,0,16,0 22,0,4,0,31,0,63,0,35,0,2,0 39,0,53,0,55,0,24,0,58,0,11,0 32,0,54,0,59,0,56,0,41,0,47,0 13,0,3,0,25,0,6,0,52,0,8,0 46,0,18,0,61,0,17,0,23,0,28,0 51,0,7,0,30,0,63,0,60,0,57,0 26,0,34,0,39,0,33,0,27,0,31,0 58,0,1,0,19,0,32,0,29,0,38,0 54,0,22,0,25,0,12,0,24,0,59,0 10,0,5,0,47,0,23,0,45,0,52,0 37,0,35,0,44,0,13,0,65,0,46,0 15,0,3,0,43,0,64,0,11,0,4,0 42,0,56,0,36,0,61,0,53,0,14,0 48,0,41,0,17,0,62,0,20,0,2,0 21,0,8,0,40,0,18,0,16,0,55,0 9,0,6,0,58,0,50,0,49,0,10,0 ================================================ FILE: schedules/65_9.csv ================================================ 57,0,18,0,34,0,63,0,45,0,43,0 47,0,13,0,62,0,39,0,41,0,54,0 53,0,3,0,19,0,16,0,33,0,20,0 52,0,50,0,25,0,29,0,61,0,58,0 46,0,32,0,12,0,36,0,38,0,6,0 65,0,11,0,27,0,10,0,28,0,59,0 23,0,5,0,31,0,64,0,49,0,2,0 7,0,4,0,51,0,9,0,24,0,60,0 40,0,26,0,35,0,42,0,8,0,37,0 55,0,17,0,56,0,30,0,48,0,1,0 15,0,14,0,38,0,21,0,22,0,44,0 64,0,20,0,19,0,34,0,27,0,58,0 2,0,11,0,63,0,65,0,36,0,62,0 47,0,45,0,24,0,31,0,13,0,6,0 4,0,61,0,57,0,40,0,23,0,56,0 29,0,59,0,37,0,17,0,14,0,16,0 5,0,21,0,42,0,32,0,52,0,18,0 60,0,53,0,30,0,1,0,39,0,35,0 26,0,12,0,51,0,55,0,50,0,48,0 25,0,49,0,46,0,15,0,22,0,7,0 28,0,9,0,41,0,44,0,43,0,33,0 10,0,3,0,57,0,8,0,54,0,38,0 5,1,1,0,45,0,24,1,23,0,20,0 14,0,34,0,36,0,65,1,30,0,51,0 63,0,61,0,22,0,27,0,26,0,53,0 32,0,28,0,48,0,4,0,15,0,62,0 9,0,21,0,37,0,3,0,47,0,58,0 43,0,60,0,39,0,31,0,11,0,25,0 13,0,50,0,33,0,17,0,49,0,18,0 19,0,16,0,29,0,6,0,56,0,35,0 7,0,2,0,44,0,12,0,40,0,10,0 41,0,59,0,8,0,46,0,42,0,55,0 54,0,64,0,65,0,52,0,53,0,43,0 58,0,9,0,26,0,32,0,13,0,45,0 50,0,38,0,23,0,16,0,15,0,60,0 62,0,12,0,1,0,18,0,61,0,31,0 2,0,27,0,3,0,24,0,41,0,29,0 30,0,21,0,40,0,28,0,19,0,25,0 37,0,55,0,54,0,22,0,11,0,33,0 8,0,14,0,6,0,7,0,63,0,5,0 4,0,17,0,46,0,64,0,47,0,51,0 42,0,56,0,39,0,10,0,49,0,20,0 57,0,48,0,36,0,59,0,52,0,44,0 35,0,54,0,25,0,34,0,12,0,45,0 55,0,1,0,31,0,28,0,5,0,38,0 30,0,16,0,24,0,64,0,26,0,18,0 63,0,9,0,13,0,42,0,23,0,19,0 43,0,8,0,4,0,21,0,29,0,20,0 61,0,49,0,48,0,60,0,14,0,65,0 32,0,47,0,44,0,50,0,3,0,11,0 35,0,22,0,59,0,58,0,56,0,2,0 15,0,40,0,53,0,51,0,17,0,41,0 33,0,10,0,46,0,34,0,62,0,52,0 36,0,27,0,37,0,39,0,7,0,57,0 6,0,29,0,65,0,18,0,20,0,44,0 35,0,23,0,61,0,21,0,24,0,55,0 49,0,58,0,15,0,63,0,3,0,1,0 45,0,38,0,59,0,47,0,33,0,40,0 32,0,31,0,51,0,56,0,8,0,22,0 60,0,19,0,2,0,46,0,57,0,54,0 27,0,7,0,62,0,43,0,30,0,17,0 28,0,42,0,50,0,64,0,6,0,37,0 39,0,34,0,10,0,48,0,9,0,16,0 5,0,36,0,13,0,53,0,25,0,4,0 52,0,11,0,26,0,12,0,14,0,41,0 1,0,24,0,44,0,33,0,19,0,32,0 38,0,29,0,51,0,62,0,49,0,37,0 16,0,7,0,31,0,65,0,58,0,42,0 50,0,4,0,21,0,63,0,59,0,54,0 36,0,10,0,15,0,26,0,6,0,61,0 64,0,25,0,3,0,35,0,55,0,14,0 41,0,22,0,20,0,30,0,57,0,9,0 2,0,17,0,52,0,28,0,45,0,39,0 40,0,34,0,8,0,27,0,13,0,60,0 11,0,48,0,18,0,23,0,46,0,53,0 5,0,12,0,56,0,47,0,43,0,37,0 63,0,64,0,41,0,10,0,25,0,32,0 21,0,57,0,33,0,29,0,30,0,31,0 65,0,39,0,26,0,19,0,4,0,38,0 28,0,7,0,20,0,13,0,48,0,35,0 8,0,24,0,52,0,34,0,49,0,11,0 53,0,6,0,62,0,55,0,59,0,9,0 23,0,17,0,60,0,3,0,12,0,42,0 14,0,56,0,46,0,27,0,45,0,50,0 54,0,58,0,5,0,61,0,51,0,44,0 16,0,1,0,43,0,22,0,36,0,40,0 47,0,18,0,19,0,2,0,15,0,8,0 13,0,39,0,12,0,64,0,21,0,59,0 35,0,65,0,50,0,57,0,41,0,62,0 45,0,30,0,42,0,38,0,61,0,11,0 48,0,22,0,46,0,5,0,3,0,40,0 43,0,25,0,6,0,1,0,51,0,2,0 10,0,53,0,58,0,14,0,28,0,24,0 23,0,29,0,47,0,34,0,7,0,26,0 9,0,18,0,54,0,36,0,17,0,31,0 49,0,44,0,16,0,4,0,27,0,55,0 20,0,37,0,52,0,63,0,60,0,32,0 56,0,33,0,24,0,15,0,5,0,65,0 ================================================ FILE: schedules/66_1.csv ================================================ 9,0,46,0,47,0,3,0,48,0,16,0 5,0,65,0,1,0,8,0,14,0,34,0 2,0,32,0,19,0,24,0,53,0,66,0 44,0,31,0,20,0,54,0,41,0,18,0 30,0,21,0,7,0,37,0,56,0,17,0 62,0,60,0,15,0,11,0,51,0,22,0 55,0,33,0,45,0,50,0,25,0,49,0 4,0,35,0,10,0,43,0,26,0,42,0 13,0,39,0,12,0,58,0,38,0,64,0 57,0,52,0,36,0,6,0,40,0,61,0 28,0,63,0,29,0,27,0,59,0,23,0 ================================================ FILE: schedules/66_10.csv ================================================ 8,0,57,0,36,0,3,0,17,0,39,0 65,0,35,0,15,0,66,0,47,0,58,0 50,0,1,0,28,0,30,0,25,0,40,0 63,0,56,0,10,0,19,0,27,0,23,0 5,0,26,0,13,0,44,0,61,0,6,0 20,0,64,0,31,0,34,0,38,0,51,0 24,0,11,0,53,0,9,0,22,0,29,0 7,0,41,0,49,0,32,0,21,0,4,0 12,0,48,0,46,0,62,0,60,0,16,0 55,0,43,0,54,0,52,0,2,0,14,0 59,0,18,0,42,0,45,0,37,0,33,0 19,0,65,0,39,0,27,0,53,0,40,0 61,0,58,0,5,0,56,0,64,0,24,0 22,0,16,0,21,0,62,0,26,0,25,0 51,0,30,0,11,0,60,0,41,0,55,0 32,0,37,0,17,0,66,0,20,0,54,0 34,0,13,0,29,0,2,0,18,0,46,0 12,0,14,0,45,0,63,0,6,0,8,0 3,0,44,0,9,0,28,0,23,0,7,0 47,0,4,0,10,0,33,0,48,0,36,0 43,0,1,0,52,0,15,0,31,0,59,0 49,0,42,0,38,0,57,0,35,0,50,0 25,0,45,0,39,0,55,0,32,0,61,0 12,0,17,0,2,0,51,0,7,0,19,0 63,0,9,0,16,0,21,0,65,0,64,0 54,0,27,0,1,0,5,0,36,0,60,0 3,0,46,0,6,0,43,0,24,0,49,0 29,0,57,0,4,0,23,0,30,0,34,0 42,0,15,0,41,0,56,0,40,0,26,0 59,0,47,0,53,0,13,0,66,0,38,0 11,0,10,0,62,0,35,0,18,0,52,0 22,0,31,0,14,0,28,0,37,0,48,0 50,0,20,0,8,0,44,0,33,0,58,0 9,0,41,0,2,0,1,0,5,0,57,0 66,0,60,0,61,0,7,0,63,0,40,0 17,0,4,0,26,0,18,0,38,0,43,0 52,0,37,0,21,0,45,0,24,0,3,0 28,0,19,0,36,0,29,0,11,0,46,0 15,0,8,0,22,0,30,0,27,0,42,0 39,0,58,0,13,0,16,0,10,0,12,0 59,0,32,0,35,0,14,0,64,0,44,0 34,0,54,0,62,0,51,0,56,0,33,0 23,0,55,0,31,0,50,0,47,0,6,0 25,0,48,0,49,0,20,0,65,0,53,0 61,0,38,0,41,0,27,0,22,0,3,0 19,0,5,0,30,0,32,0,43,0,13,0 51,0,8,0,24,0,59,0,16,0,4,0 36,0,6,0,18,0,66,0,15,0,9,0 55,0,33,0,65,0,46,0,17,0,1,0 50,0,21,0,10,0,60,0,28,0,14,0 47,0,34,0,52,0,39,0,12,0,44,0 48,0,7,0,29,0,45,0,56,0,35,0 40,0,49,0,62,0,37,0,58,0,23,0 25,0,2,0,20,0,11,0,63,0,42,0 57,0,26,0,64,0,53,0,31,0,54,0 12,0,33,0,28,0,38,0,5,0,24,0 61,0,65,0,29,0,15,0,14,0,10,0 30,0,32,0,45,0,62,0,9,0,27,0 42,0,23,0,43,0,51,0,48,0,1,0 25,0,3,0,19,0,4,0,58,0,54,0 46,0,31,0,8,0,41,0,18,0,66,0 21,0,34,0,2,0,53,0,35,0,6,0 56,0,36,0,16,0,44,0,52,0,57,0 37,0,40,0,13,0,64,0,11,0,55,0 59,0,20,0,39,0,7,0,26,0,50,0 49,0,60,0,63,0,22,0,17,0,47,0 65,0,32,0,18,0,42,0,61,0,28,0 44,0,27,0,45,0,31,0,58,0,2,0 66,0,57,0,23,0,11,0,33,0,21,0 16,0,7,0,15,0,19,0,50,0,34,0 24,0,13,0,17,0,41,0,14,0,25,0 48,0,10,0,9,0,59,0,49,0,54,0 22,0,40,0,5,0,52,0,46,0,20,0 29,0,38,0,47,0,43,0,8,0,62,0 6,0,64,0,4,0,1,0,39,0,60,0 37,0,26,0,63,0,36,0,35,0,30,0 53,0,56,0,3,0,51,0,55,0,12,0 16,0,45,0,23,0,5,0,20,0,17,0 24,0,32,0,40,0,10,0,18,0,57,0 9,0,42,0,31,0,19,0,60,0,13,0 39,0,66,0,63,0,29,0,44,0,43,0 65,0,4,0,50,0,54,0,12,0,22,0 35,0,33,0,41,0,61,0,52,0,36,0 11,0,14,0,58,0,53,0,1,0,7,0 28,0,26,0,55,0,49,0,34,0,8,0 48,0,2,0,62,0,15,0,64,0,3,0 46,0,59,0,38,0,21,0,56,0,30,0 27,0,25,0,6,0,47,0,51,0,37,0 40,0,35,0,54,0,12,0,31,0,43,0 60,0,23,0,52,0,8,0,26,0,32,0 9,0,17,0,34,0,48,0,61,0,50,0 41,0,58,0,28,0,63,0,59,0,55,0 38,0,36,0,62,0,7,0,65,0,6,0 53,0,37,0,44,0,15,0,46,0,4,0 14,0,30,0,66,0,16,0,42,0,2,0 19,0,56,0,1,0,20,0,24,0,47,0 27,0,33,0,64,0,25,0,21,0,29,0 22,0,51,0,57,0,10,0,13,0,45,0 39,0,18,0,11,0,49,0,3,0,5,0 43,0,37,0,60,0,41,0,65,0,34,0 24,0,15,0,54,0,63,0,23,0,38,0 56,0,32,0,50,0,53,0,2,0,36,0 35,0,62,0,20,0,4,0,13,0,28,0 61,0,12,0,27,0,59,0,11,0,57,0 58,0,29,0,6,0,52,0,17,0,42,0 5,0,8,0,7,0,31,0,25,0,10,0 46,0,14,0,51,0,26,0,9,0,39,0 66,0,1,0,64,0,45,0,22,0,49,0 47,0,33,0,40,0,3,0,30,0,16,0 44,0,55,0,19,0,18,0,48,0,21,0 ================================================ FILE: schedules/66_11.csv ================================================ 65,0,47,0,25,0,20,0,34,0,16,0 32,0,40,0,8,0,13,0,10,0,52,0 12,0,45,0,3,0,57,0,61,0,48,0 33,0,17,0,31,0,26,0,53,0,51,0 64,0,14,0,36,0,27,0,23,0,54,0 4,0,41,0,29,0,58,0,62,0,1,0 22,0,21,0,9,0,56,0,24,0,60,0 15,0,2,0,39,0,19,0,44,0,46,0 5,0,42,0,35,0,30,0,43,0,59,0 28,0,50,0,55,0,63,0,49,0,37,0 18,0,6,0,11,0,7,0,66,0,38,0 4,0,26,0,16,0,22,0,40,0,14,0 29,0,10,0,15,0,17,0,12,0,21,0 30,0,5,0,64,0,19,0,41,0,60,0 20,0,8,0,48,0,58,0,43,0,32,0 66,0,11,0,54,0,65,0,55,0,35,0 46,0,23,0,7,0,37,0,34,0,31,0 18,0,9,0,62,0,57,0,47,0,52,0 28,0,13,0,61,0,38,0,51,0,50,0 2,0,44,0,53,0,36,0,25,0,56,0 42,0,49,0,59,0,1,0,39,0,3,0 6,0,63,0,27,0,45,0,33,0,24,0 57,0,31,0,5,0,40,0,66,0,64,0 43,0,54,0,29,0,22,0,19,0,18,0 8,0,26,0,56,0,65,0,61,0,46,0 41,0,48,0,52,0,39,0,36,0,4,0 33,0,7,0,10,0,47,0,55,0,14,0 38,0,60,0,1,0,45,0,15,0,25,0 50,0,11,0,32,0,44,0,3,0,17,0 35,0,24,0,27,0,49,0,58,0,34,0 59,0,53,0,16,0,9,0,63,0,20,0 23,0,21,0,62,0,28,0,51,0,6,0 12,0,37,0,2,0,13,0,30,0,42,0 32,0,31,0,65,0,5,0,60,0,39,0 64,0,15,0,47,0,61,0,25,0,29,0 4,0,34,0,18,0,53,0,3,0,10,0 35,0,23,0,9,0,40,0,50,0,7,0 13,0,66,0,16,0,30,0,24,0,58,0 56,0,57,0,54,0,38,0,41,0,63,0 22,0,36,0,55,0,12,0,6,0,20,0 1,0,48,0,37,0,51,0,52,0,19,0 62,0,59,0,28,0,44,0,33,0,26,0 8,0,46,0,27,0,42,0,11,0,21,0 43,0,45,0,14,0,2,0,17,0,49,0 39,0,23,0,65,0,29,0,57,0,13,0 51,0,24,0,32,0,30,0,53,0,7,0 26,0,12,0,9,0,19,0,35,0,25,0 58,0,37,0,22,0,63,0,15,0,62,0 54,0,2,0,21,0,48,0,47,0,59,0 20,0,40,0,17,0,66,0,3,0,41,0 56,0,18,0,52,0,5,0,27,0,55,0 64,0,46,0,1,0,14,0,50,0,6,0 43,0,38,0,42,0,10,0,16,0,44,0 61,0,36,0,49,0,33,0,60,0,34,0 31,0,4,0,45,0,11,0,28,0,8,0 19,0,21,0,53,0,22,0,13,0,41,0 63,0,47,0,66,0,12,0,48,0,23,0 43,0,17,0,25,0,27,0,62,0,7,0 16,0,3,0,29,0,46,0,37,0,36,0 55,0,49,0,64,0,65,0,59,0,38,0 31,0,60,0,28,0,6,0,52,0,42,0 35,0,4,0,57,0,32,0,15,0,56,0 40,0,33,0,51,0,39,0,58,0,54,0 18,0,45,0,30,0,26,0,50,0,20,0 34,0,14,0,8,0,5,0,44,0,9,0 61,0,11,0,24,0,1,0,2,0,10,0 37,0,47,0,27,0,41,0,59,0,32,0 53,0,15,0,46,0,65,0,66,0,52,0 7,0,13,0,56,0,64,0,3,0,62,0 55,0,40,0,25,0,48,0,45,0,42,0 28,0,39,0,17,0,34,0,35,0,22,0 49,0,10,0,6,0,57,0,9,0,30,0 38,0,5,0,58,0,36,0,26,0,2,0 16,0,19,0,1,0,8,0,18,0,23,0 54,0,61,0,44,0,24,0,31,0,20,0 11,0,63,0,60,0,14,0,29,0,51,0 21,0,33,0,50,0,12,0,43,0,4,0 65,0,28,0,22,0,2,0,7,0,32,0 19,0,38,0,34,0,62,0,40,0,42,0 45,0,52,0,53,0,64,0,16,0,54,0 63,0,48,0,29,0,31,0,44,0,27,0 61,0,51,0,12,0,5,0,4,0,59,0 1,0,20,0,14,0,21,0,37,0,57,0 17,0,58,0,9,0,46,0,55,0,30,0 13,0,24,0,15,0,36,0,11,0,43,0 49,0,3,0,60,0,23,0,47,0,26,0 25,0,8,0,66,0,39,0,56,0,50,0 41,0,10,0,18,0,33,0,35,0,6,0 12,0,34,0,62,0,54,0,32,0,14,0 53,0,13,0,27,0,30,0,15,0,1,0 63,0,36,0,42,0,7,0,17,0,65,0 16,0,43,0,39,0,60,0,61,0,55,0 57,0,59,0,26,0,50,0,52,0,29,0 40,0,46,0,48,0,28,0,24,0,18,0 21,0,38,0,47,0,35,0,58,0,31,0 44,0,66,0,37,0,4,0,64,0,9,0 45,0,22,0,23,0,25,0,5,0,10,0 2,0,51,0,3,0,41,0,8,0,6,0 19,0,49,0,33,0,56,0,20,0,11,0 30,0,63,0,61,0,40,0,36,0,21,0 1,0,26,0,32,0,43,0,66,0,9,0 44,0,7,0,58,0,12,0,60,0,52,0 47,0,22,0,42,0,57,0,51,0,64,0 34,0,56,0,6,0,15,0,48,0,16,0 19,0,65,0,10,0,27,0,3,0,28,0 20,0,38,0,23,0,24,0,17,0,4,0 11,0,45,0,39,0,37,0,53,0,62,0 14,0,25,0,59,0,18,0,13,0,31,0 55,0,33,0,29,0,2,0,8,0,35,0 54,0,41,0,5,0,49,0,50,0,46,0 56,0,17,0,1,0,47,0,40,0,12,0 24,0,26,0,10,0,39,0,37,0,64,0 30,0,11,0,52,0,34,0,63,0,25,0 3,0,48,0,9,0,38,0,33,0,22,0 55,0,41,0,42,0,61,0,23,0,15,0 44,0,21,0,51,0,18,0,49,0,65,0 14,0,58,0,57,0,28,0,43,0,53,0 59,0,36,0,19,0,32,0,45,0,66,0 54,0,7,0,6,0,29,0,5,0,8,0 62,0,31,0,50,0,2,0,27,0,16,0 13,0,35,0,60,0,46,0,20,0,4,0 ================================================ FILE: schedules/66_12.csv ================================================ 22,0,66,0,25,0,7,0,11,0,10,0 19,0,9,0,38,0,40,0,63,0,18,0 29,0,3,0,49,0,53,0,35,0,23,0 41,0,17,0,55,0,48,0,26,0,32,0 33,0,5,0,37,0,34,0,24,0,46,0 21,0,50,0,20,0,8,0,39,0,27,0 45,0,52,0,2,0,30,0,36,0,12,0 56,0,16,0,13,0,60,0,59,0,44,0 15,0,64,0,42,0,47,0,54,0,51,0 4,0,58,0,65,0,61,0,1,0,14,0 28,0,62,0,43,0,31,0,6,0,57,0 55,0,46,0,25,0,52,0,38,0,41,0 48,0,33,0,2,0,7,0,3,0,8,0 30,0,45,0,59,0,50,0,64,0,40,0 26,0,18,0,9,0,37,0,53,0,12,0 10,0,28,0,57,0,4,0,1,0,34,0 6,0,21,0,23,0,65,0,22,0,42,0 44,0,61,0,43,0,49,0,54,0,35,0 11,0,19,0,58,0,47,0,16,0,32,0 63,0,24,0,15,0,27,0,56,0,20,0 66,0,60,0,39,0,29,0,36,0,31,0 62,0,5,0,14,0,13,0,51,0,17,0 25,0,45,0,48,0,10,0,61,0,21,0 1,0,8,0,19,0,26,0,11,0,6,0 35,0,2,0,4,0,32,0,56,0,38,0 16,0,12,0,39,0,3,0,24,0,28,0 40,0,27,0,42,0,44,0,52,0,53,0 13,0,65,0,54,0,66,0,33,0,31,0 9,0,47,0,15,0,46,0,23,0,7,0 60,0,49,0,5,0,22,0,59,0,18,0 57,0,17,0,14,0,63,0,64,0,55,0 37,0,34,0,50,0,62,0,58,0,36,0 41,0,30,0,51,0,20,0,29,0,43,0 40,0,9,0,48,0,35,0,47,0,13,0 33,0,39,0,18,0,25,0,15,0,11,0 57,0,23,0,56,0,21,0,19,0,12,0 32,0,6,0,36,0,54,0,16,0,61,0 42,0,2,0,62,0,24,0,66,0,1,0 3,0,5,0,34,0,52,0,8,0,31,0 27,0,28,0,37,0,49,0,30,0,22,0 64,0,51,0,53,0,38,0,10,0,46,0 65,0,29,0,60,0,55,0,44,0,50,0 45,0,20,0,58,0,4,0,17,0,43,0 14,0,41,0,63,0,26,0,59,0,7,0 61,0,32,0,40,0,15,0,57,0,22,0 16,0,19,0,64,0,5,0,27,0,66,0 56,0,62,0,65,0,53,0,47,0,28,0 8,0,29,0,11,0,42,0,13,0,9,0 34,0,59,0,39,0,30,0,23,0,17,0 37,0,6,0,7,0,44,0,45,0,38,0 4,0,54,0,63,0,3,0,50,0,48,0 26,0,20,0,46,0,36,0,2,0,21,0 35,0,24,0,41,0,18,0,58,0,31,0 55,0,49,0,12,0,25,0,1,0,51,0 14,0,52,0,43,0,60,0,33,0,10,0 30,0,50,0,4,0,11,0,5,0,44,0 19,0,20,0,22,0,53,0,54,0,48,0 15,0,28,0,58,0,66,0,59,0,2,0 35,0,6,0,64,0,37,0,39,0,13,0 24,0,17,0,52,0,65,0,57,0,8,0 26,0,25,0,61,0,3,0,27,0,47,0 46,0,45,0,31,0,14,0,56,0,42,0 55,0,9,0,10,0,16,0,49,0,33,0 18,0,21,0,38,0,62,0,1,0,29,0 51,0,12,0,34,0,60,0,41,0,40,0 63,0,7,0,36,0,43,0,23,0,32,0 65,0,26,0,44,0,20,0,64,0,59,0 47,0,52,0,66,0,50,0,6,0,49,0 8,0,35,0,15,0,45,0,16,0,62,0 54,0,14,0,2,0,57,0,37,0,40,0 25,0,53,0,33,0,31,0,30,0,32,0 17,0,38,0,61,0,10,0,42,0,24,0 28,0,11,0,23,0,48,0,60,0,55,0 13,0,43,0,1,0,3,0,19,0,39,0 12,0,29,0,22,0,63,0,58,0,34,0 41,0,36,0,5,0,9,0,56,0,21,0 27,0,46,0,51,0,18,0,4,0,7,0 14,0,24,0,23,0,54,0,25,0,6,0 59,0,53,0,61,0,55,0,8,0,43,0 39,0,32,0,10,0,12,0,40,0,65,0 35,0,1,0,37,0,50,0,60,0,17,0 18,0,66,0,36,0,30,0,48,0,47,0 46,0,52,0,58,0,13,0,62,0,26,0 15,0,3,0,51,0,19,0,44,0,28,0 31,0,21,0,22,0,64,0,9,0,4,0 29,0,41,0,57,0,45,0,27,0,33,0 38,0,7,0,42,0,5,0,20,0,16,0 49,0,34,0,11,0,63,0,2,0,56,0 55,0,65,0,52,0,37,0,15,0,19,0 6,0,1,0,53,0,36,0,35,0,59,0 44,0,62,0,47,0,22,0,39,0,41,0 7,0,30,0,24,0,21,0,60,0,3,0 48,0,38,0,34,0,27,0,32,0,14,0 20,0,31,0,40,0,23,0,49,0,58,0 43,0,63,0,10,0,18,0,5,0,42,0 13,0,11,0,46,0,54,0,28,0,45,0 26,0,66,0,50,0,9,0,57,0,51,0 8,0,61,0,64,0,56,0,12,0,33,0 2,0,17,0,16,0,29,0,4,0,25,0 47,0,37,0,31,0,10,0,1,0,27,0 32,0,49,0,21,0,13,0,14,0,19,0 59,0,3,0,38,0,11,0,36,0,57,0 42,0,20,0,33,0,12,0,50,0,35,0 9,0,45,0,22,0,51,0,2,0,65,0 16,0,18,0,44,0,34,0,52,0,23,0 7,0,56,0,54,0,58,0,55,0,39,0 40,0,6,0,28,0,17,0,5,0,26,0 4,0,8,0,53,0,41,0,66,0,15,0 24,0,29,0,48,0,25,0,64,0,43,0 30,0,60,0,63,0,46,0,61,0,62,0 54,0,20,0,32,0,1,0,9,0,52,0 50,0,10,0,13,0,23,0,2,0,26,0 22,0,36,0,47,0,33,0,17,0,8,0 44,0,21,0,27,0,12,0,43,0,66,0 18,0,3,0,30,0,6,0,55,0,56,0 31,0,16,0,11,0,37,0,51,0,61,0 62,0,40,0,4,0,7,0,29,0,64,0 24,0,25,0,59,0,45,0,34,0,19,0 5,0,53,0,15,0,14,0,58,0,60,0 57,0,39,0,49,0,46,0,48,0,42,0 38,0,35,0,63,0,41,0,65,0,28,0 12,0,17,0,27,0,11,0,62,0,54,0 56,0,29,0,59,0,37,0,32,0,52,0 58,0,10,0,25,0,8,0,9,0,44,0 55,0,36,0,13,0,4,0,24,0,22,0 35,0,19,0,7,0,42,0,30,0,34,0 28,0,61,0,66,0,18,0,20,0,14,0 39,0,47,0,5,0,57,0,2,0,53,0 3,0,1,0,23,0,64,0,45,0,41,0 49,0,31,0,48,0,38,0,15,0,26,0 65,0,50,0,43,0,46,0,40,0,16,0 60,0,51,0,6,0,33,0,63,0,21,0 ================================================ FILE: schedules/66_13.csv ================================================ 56,0,1,0,18,0,50,0,66,0,17,0 14,0,19,0,25,0,27,0,15,0,41,0 36,0,16,0,26,0,57,0,59,0,22,0 2,0,63,0,44,0,45,0,24,0,60,0 31,0,61,0,49,0,28,0,58,0,51,0 47,0,62,0,53,0,29,0,55,0,21,0 52,0,64,0,38,0,20,0,34,0,30,0 10,0,35,0,12,0,6,0,7,0,3,0 33,0,32,0,11,0,46,0,43,0,42,0 4,0,23,0,48,0,8,0,65,0,37,0 54,0,5,0,9,0,40,0,39,0,13,0 44,0,53,0,41,0,1,0,20,0,64,0 57,0,51,0,60,0,38,0,7,0,15,0 52,0,59,0,17,0,49,0,21,0,66,0 8,0,4,0,22,0,10,0,37,0,58,0 27,0,33,0,40,0,12,0,16,0,47,0 48,0,54,0,62,0,43,0,63,0,56,0 9,0,65,0,34,0,14,0,11,0,35,0 42,0,6,0,28,0,23,0,25,0,45,0 61,0,46,0,29,0,5,0,19,0,24,0 3,0,55,0,2,0,36,0,30,0,50,0 13,0,31,0,26,0,39,0,18,0,32,0 16,0,11,0,66,0,7,0,58,0,4,0 42,0,22,0,38,0,12,0,44,0,6,0 9,0,10,0,57,0,8,0,51,0,29,0 53,0,30,0,63,0,19,0,28,0,61,0 50,0,5,0,31,0,48,0,25,0,35,0 43,0,64,0,27,0,40,0,60,0,3,0 46,0,24,0,2,0,65,0,18,0,41,0 55,0,59,0,20,0,33,0,1,0,13,0 39,0,15,0,17,0,45,0,36,0,37,0 14,0,26,0,54,0,23,0,52,0,21,0 47,0,32,0,34,0,56,0,62,0,49,0 63,0,4,0,12,0,35,0,51,0,64,0 28,0,57,0,24,0,55,0,48,0,42,0 59,0,13,0,7,0,39,0,25,0,46,0 66,0,53,0,54,0,2,0,11,0,36,0 17,0,56,0,22,0,60,0,41,0,61,0 58,0,31,0,16,0,52,0,14,0,9,0 3,0,29,0,37,0,33,0,38,0,49,0 50,0,20,0,19,0,26,0,34,0,43,0 30,0,21,0,40,0,8,0,44,0,32,0 23,0,27,0,18,0,10,0,45,0,62,0 1,0,5,0,47,0,15,0,6,0,65,0 39,0,35,0,56,0,42,0,14,0,24,0 34,0,37,0,50,0,54,0,46,0,12,0 44,0,40,0,52,0,19,0,48,0,59,0 51,0,20,0,11,0,49,0,25,0,16,0 30,0,43,0,18,0,9,0,53,0,22,0 23,0,63,0,7,0,21,0,15,0,3,0 60,0,1,0,32,0,5,0,58,0,36,0 29,0,2,0,62,0,6,0,4,0,17,0 55,0,38,0,41,0,61,0,10,0,66,0 27,0,13,0,28,0,64,0,33,0,57,0 26,0,65,0,47,0,31,0,8,0,45,0 21,0,22,0,11,0,20,0,24,0,40,0 4,0,16,0,52,0,3,0,5,0,43,0 1,0,59,0,2,0,9,0,60,0,12,0 34,0,62,0,19,0,10,0,28,0,39,0 29,0,15,0,26,0,48,0,27,0,61,0 46,0,6,0,45,0,58,0,56,0,38,0 51,0,47,0,42,0,66,0,36,0,65,0 33,0,30,0,31,0,63,0,41,0,54,0 49,0,8,0,57,0,18,0,25,0,50,0 17,0,64,0,23,0,35,0,32,0,55,0 37,0,13,0,44,0,7,0,53,0,14,0 40,0,1,0,15,0,28,0,52,0,46,0 22,0,54,0,20,0,29,0,19,0,42,0 12,0,41,0,21,0,43,0,47,0,60,0 45,0,30,0,56,0,33,0,4,0,59,0 44,0,16,0,61,0,13,0,23,0,50,0 49,0,2,0,64,0,5,0,10,0,14,0 25,0,24,0,9,0,26,0,66,0,37,0 32,0,53,0,65,0,39,0,6,0,63,0 7,0,36,0,57,0,18,0,62,0,31,0 58,0,48,0,3,0,55,0,34,0,51,0 8,0,35,0,17,0,27,0,11,0,38,0 5,0,46,0,64,0,9,0,23,0,42,0 26,0,21,0,28,0,16,0,56,0,10,0 45,0,43,0,29,0,37,0,61,0,1,0 34,0,3,0,39,0,66,0,60,0,44,0 63,0,24,0,36,0,20,0,8,0,7,0 38,0,14,0,51,0,62,0,40,0,50,0 52,0,33,0,25,0,2,0,65,0,22,0 18,0,58,0,15,0,59,0,41,0,35,0 49,0,53,0,6,0,54,0,31,0,27,0 12,0,57,0,55,0,19,0,32,0,4,0 48,0,11,0,17,0,47,0,13,0,30,0 45,0,5,0,61,0,66,0,62,0,20,0 64,0,44,0,56,0,29,0,25,0,36,0 40,0,58,0,63,0,10,0,42,0,18,0 28,0,9,0,7,0,22,0,27,0,32,0 24,0,13,0,15,0,34,0,12,0,49,0 26,0,19,0,11,0,1,0,51,0,17,0 54,0,59,0,3,0,57,0,47,0,14,0 35,0,30,0,65,0,37,0,53,0,16,0 48,0,21,0,43,0,2,0,31,0,38,0 6,0,52,0,60,0,8,0,55,0,46,0 33,0,23,0,41,0,39,0,4,0,50,0 24,0,3,0,18,0,14,0,28,0,1,0 5,0,16,0,51,0,54,0,17,0,45,0 37,0,27,0,19,0,32,0,42,0,2,0 63,0,25,0,59,0,34,0,38,0,29,0 15,0,10,0,8,0,53,0,33,0,56,0 20,0,4,0,13,0,23,0,31,0,60,0 61,0,39,0,12,0,11,0,52,0,57,0 50,0,47,0,21,0,22,0,58,0,64,0 55,0,43,0,49,0,44,0,65,0,7,0 36,0,6,0,41,0,9,0,48,0,40,0 66,0,35,0,46,0,62,0,26,0,30,0 32,0,25,0,38,0,1,0,54,0,16,0 3,0,17,0,42,0,53,0,31,0,59,0 5,0,39,0,27,0,55,0,18,0,22,0 10,0,51,0,6,0,43,0,44,0,24,0 56,0,65,0,40,0,26,0,7,0,50,0 2,0,8,0,66,0,64,0,15,0,28,0 46,0,57,0,37,0,20,0,47,0,63,0 48,0,33,0,60,0,35,0,49,0,19,0 14,0,58,0,23,0,12,0,29,0,30,0 62,0,52,0,41,0,11,0,13,0,45,0 9,0,36,0,61,0,4,0,34,0,21,0 25,0,55,0,15,0,43,0,54,0,40,0 66,0,1,0,22,0,48,0,31,0,63,0 65,0,20,0,39,0,12,0,17,0,58,0 59,0,47,0,56,0,51,0,23,0,2,0 13,0,42,0,62,0,8,0,30,0,3,0 21,0,44,0,46,0,35,0,57,0,27,0 4,0,5,0,38,0,24,0,26,0,53,0 14,0,36,0,34,0,33,0,6,0,61,0 45,0,7,0,49,0,19,0,9,0,64,0 29,0,11,0,60,0,16,0,28,0,18,0 10,0,50,0,41,0,32,0,52,0,37,0 22,0,31,0,24,0,15,0,59,0,62,0 23,0,66,0,40,0,57,0,43,0,53,0 49,0,51,0,39,0,1,0,30,0,46,0 28,0,12,0,33,0,26,0,5,0,44,0 7,0,35,0,29,0,2,0,52,0,61,0 8,0,34,0,42,0,16,0,17,0,41,0 18,0,37,0,11,0,64,0,21,0,6,0 65,0,19,0,58,0,13,0,38,0,36,0 60,0,4,0,10,0,25,0,47,0,54,0 45,0,48,0,20,0,32,0,3,0,14,0 50,0,56,0,55,0,9,0,63,0,27,0 ================================================ FILE: schedules/66_14.csv ================================================ 35,0,39,0,63,0,31,0,22,0,14,0 6,0,2,0,30,0,24,0,36,0,13,0 19,0,17,0,26,0,41,0,21,0,33,0 60,0,50,0,34,0,27,0,66,0,52,0 47,0,55,0,43,0,37,0,32,0,61,0 15,0,29,0,45,0,1,0,53,0,20,0 56,0,3,0,7,0,62,0,4,0,25,0 9,0,49,0,10,0,46,0,59,0,48,0 38,0,16,0,65,0,8,0,58,0,57,0 23,0,12,0,44,0,40,0,18,0,5,0 11,0,64,0,54,0,42,0,28,0,51,0 6,0,43,0,39,0,15,0,56,0,52,0 60,0,20,0,7,0,37,0,35,0,24,0 33,0,34,0,58,0,31,0,30,0,4,0 45,0,5,0,53,0,48,0,27,0,3,0 64,0,40,0,55,0,29,0,59,0,25,0 47,0,46,0,16,0,26,0,1,0,36,0 51,0,66,0,38,0,13,0,12,0,61,0 17,0,42,0,10,0,50,0,8,0,62,0 65,0,28,0,44,0,9,0,14,0,2,0 18,0,57,0,63,0,49,0,54,0,21,0 32,0,23,0,11,0,22,0,41,0,19,0 55,0,52,0,20,0,51,0,13,0,31,0 37,0,36,0,3,0,34,0,24,0,61,0 16,0,6,0,12,0,50,0,64,0,45,0 8,0,35,0,27,0,1,0,15,0,18,0 28,0,17,0,56,0,63,0,38,0,47,0 25,0,19,0,9,0,66,0,58,0,53,0 59,0,49,0,5,0,39,0,7,0,22,0 32,0,14,0,30,0,10,0,60,0,23,0 40,0,21,0,42,0,2,0,43,0,26,0 4,0,33,0,54,0,11,0,65,0,46,0 62,0,29,0,48,0,57,0,41,0,44,0 9,0,51,0,3,0,22,0,36,0,8,0 50,0,18,0,25,0,1,0,63,0,37,0 28,0,47,0,23,0,15,0,66,0,13,0 27,0,33,0,59,0,20,0,16,0,14,0 21,0,56,0,38,0,46,0,42,0,5,0 39,0,2,0,64,0,11,0,48,0,17,0 60,0,62,0,58,0,43,0,29,0,49,0 4,0,53,0,44,0,54,0,6,0,55,0 19,0,10,0,12,0,65,0,52,0,61,0 45,0,7,0,35,0,41,0,26,0,30,0 31,0,40,0,24,0,32,0,57,0,34,0 22,0,60,0,15,0,16,0,48,0,42,0 13,0,62,0,9,0,11,0,29,0,21,0 10,0,5,0,4,0,20,0,17,0,18,0 37,0,52,0,64,0,26,0,63,0,65,0 34,0,28,0,55,0,7,0,57,0,19,0 6,0,31,0,59,0,27,0,30,0,38,0 32,0,40,0,53,0,39,0,12,0,46,0 24,0,51,0,14,0,25,0,45,0,43,0 49,0,35,0,50,0,61,0,44,0,47,0 33,0,3,0,1,0,23,0,54,0,58,0 2,0,8,0,56,0,36,0,66,0,41,0 19,0,15,0,64,0,4,0,13,0,38,0 63,0,17,0,62,0,55,0,9,0,30,0 22,0,40,0,29,0,45,0,31,0,18,0 37,0,11,0,7,0,21,0,27,0,10,0 3,0,2,0,58,0,52,0,14,0,47,0 28,0,61,0,25,0,60,0,16,0,44,0 23,0,33,0,36,0,57,0,50,0,53,0 35,0,66,0,42,0,6,0,5,0,32,0 41,0,39,0,48,0,43,0,12,0,1,0 26,0,54,0,34,0,59,0,56,0,51,0 65,0,8,0,20,0,46,0,24,0,49,0 38,0,3,0,14,0,52,0,30,0,7,0 40,0,62,0,36,0,35,0,15,0,21,0 1,0,61,0,10,0,55,0,33,0,2,0 56,0,22,0,32,0,37,0,58,0,44,0 16,0,25,0,13,0,12,0,49,0,34,0 50,0,41,0,9,0,5,0,64,0,20,0 45,0,66,0,11,0,43,0,31,0,46,0 24,0,23,0,19,0,42,0,27,0,63,0 53,0,18,0,65,0,17,0,59,0,60,0 26,0,39,0,28,0,29,0,4,0,8,0 54,0,57,0,51,0,48,0,47,0,6,0 46,0,21,0,50,0,3,0,30,0,25,0 15,0,43,0,44,0,7,0,10,0,64,0 61,0,17,0,22,0,24,0,27,0,1,0 60,0,5,0,39,0,36,0,2,0,19,0 12,0,47,0,8,0,56,0,33,0,62,0 65,0,29,0,58,0,6,0,35,0,51,0 26,0,13,0,53,0,32,0,38,0,18,0 37,0,20,0,4,0,23,0,48,0,57,0 41,0,55,0,31,0,14,0,49,0,42,0 52,0,16,0,54,0,66,0,40,0,9,0 45,0,59,0,34,0,28,0,63,0,11,0 30,0,51,0,47,0,56,0,18,0,39,0 61,0,43,0,5,0,57,0,4,0,6,0 26,0,32,0,31,0,17,0,15,0,3,0 54,0,46,0,9,0,55,0,35,0,23,0 34,0,10,0,16,0,53,0,28,0,41,0 2,0,25,0,65,0,22,0,20,0,62,0 66,0,37,0,48,0,33,0,14,0,29,0 19,0,50,0,38,0,49,0,45,0,40,0 42,0,52,0,24,0,59,0,44,0,21,0 27,0,36,0,11,0,64,0,58,0,12,0 63,0,7,0,13,0,60,0,8,0,1,0 23,0,43,0,30,0,16,0,22,0,28,0 25,0,49,0,56,0,45,0,33,0,9,0 20,0,34,0,19,0,17,0,44,0,6,0 53,0,24,0,48,0,52,0,11,0,35,0 21,0,26,0,66,0,27,0,55,0,58,0 38,0,1,0,62,0,60,0,51,0,37,0 13,0,42,0,3,0,57,0,39,0,10,0 15,0,54,0,31,0,2,0,50,0,12,0 40,0,8,0,7,0,64,0,47,0,65,0 14,0,41,0,46,0,18,0,61,0,4,0 32,0,63,0,59,0,29,0,36,0,5,0 20,0,23,0,21,0,39,0,38,0,34,0 9,0,22,0,57,0,12,0,26,0,60,0 1,0,44,0,31,0,64,0,30,0,28,0 53,0,51,0,27,0,4,0,2,0,49,0 54,0,45,0,61,0,32,0,62,0,52,0 8,0,14,0,11,0,56,0,19,0,40,0 24,0,55,0,29,0,33,0,5,0,15,0 6,0,42,0,41,0,47,0,25,0,37,0 58,0,36,0,50,0,7,0,18,0,48,0 16,0,63,0,66,0,3,0,65,0,10,0 17,0,13,0,46,0,35,0,43,0,59,0 64,0,9,0,27,0,39,0,24,0,32,0 20,0,12,0,29,0,30,0,42,0,19,0 4,0,21,0,55,0,45,0,47,0,60,0 6,0,18,0,52,0,7,0,28,0,62,0 34,0,14,0,13,0,26,0,50,0,5,0 63,0,3,0,46,0,51,0,15,0,41,0 35,0,38,0,44,0,11,0,33,0,16,0 49,0,37,0,57,0,66,0,2,0,17,0 1,0,56,0,58,0,59,0,40,0,10,0 22,0,43,0,65,0,36,0,54,0,53,0 8,0,48,0,61,0,25,0,23,0,31,0 32,0,21,0,28,0,33,0,50,0,51,0 4,0,66,0,12,0,24,0,63,0,44,0 41,0,59,0,62,0,40,0,13,0,27,0 39,0,30,0,45,0,65,0,54,0,37,0 64,0,23,0,29,0,46,0,52,0,22,0 7,0,58,0,61,0,53,0,56,0,42,0 1,0,57,0,14,0,20,0,15,0,9,0 6,0,60,0,49,0,26,0,3,0,11,0 31,0,10,0,47,0,16,0,5,0,19,0 25,0,36,0,48,0,55,0,38,0,17,0 2,0,18,0,35,0,8,0,34,0,43,0 22,0,53,0,64,0,21,0,62,0,14,0 46,0,45,0,44,0,58,0,13,0,39,0 6,0,33,0,20,0,63,0,60,0,40,0 1,0,52,0,4,0,49,0,36,0,32,0 15,0,42,0,47,0,9,0,65,0,34,0 18,0,11,0,30,0,61,0,66,0,55,0 27,0,57,0,5,0,25,0,54,0,8,0 37,0,12,0,59,0,35,0,19,0,3,0 24,0,26,0,56,0,28,0,48,0,50,0 7,0,2,0,51,0,16,0,23,0,17,0 41,0,10,0,43,0,38,0,29,0,31,0 ================================================ FILE: schedules/66_2.csv ================================================ 43,0,2,0,25,0,61,0,4,0,49,0 28,0,16,0,3,0,7,0,35,0,12,0 65,0,54,0,11,0,66,0,30,0,50,0 22,0,32,0,23,0,55,0,5,0,24,0 19,0,10,0,42,0,8,0,21,0,38,0 53,0,40,0,52,0,41,0,34,0,29,0 26,0,60,0,39,0,64,0,20,0,27,0 13,0,62,0,48,0,14,0,9,0,51,0 58,0,44,0,1,0,18,0,33,0,6,0 15,0,63,0,45,0,46,0,17,0,59,0 57,0,31,0,47,0,56,0,36,0,37,0 60,0,66,0,29,0,43,0,23,0,28,0 64,0,65,0,13,0,8,0,40,0,25,0 27,0,42,0,5,0,49,0,62,0,35,0 21,0,33,0,2,0,41,0,11,0,16,0 56,0,6,0,34,0,24,0,3,0,15,0 30,0,26,0,9,0,59,0,53,0,19,0 38,0,46,0,37,0,61,0,52,0,22,0 1,0,57,0,4,0,54,0,48,0,55,0 50,0,17,0,7,0,39,0,31,0,58,0 63,0,36,0,51,0,10,0,12,0,44,0 14,0,18,0,20,0,47,0,32,0,45,0 ================================================ FILE: schedules/66_3.csv ================================================ 39,0,4,0,1,0,53,0,48,0,38,0 64,0,33,0,9,0,32,0,44,0,59,0 2,0,11,0,50,0,40,0,54,0,6,0 61,0,58,0,30,0,3,0,25,0,37,0 27,0,66,0,7,0,43,0,5,0,31,0 28,0,12,0,10,0,45,0,55,0,63,0 23,0,35,0,42,0,36,0,21,0,57,0 49,0,15,0,24,0,46,0,51,0,56,0 62,0,8,0,20,0,13,0,18,0,65,0 26,0,29,0,60,0,17,0,34,0,22,0 52,0,16,0,41,0,14,0,19,0,47,0 28,0,48,0,58,0,50,0,36,0,43,0 42,0,38,0,31,0,55,0,54,0,32,0 7,0,51,0,25,0,33,0,39,0,21,0 22,0,57,0,12,0,11,0,56,0,59,0 19,0,60,0,5,0,8,0,3,0,9,0 18,0,16,0,30,0,2,0,63,0,24,0 62,0,1,0,17,0,15,0,41,0,44,0 53,0,23,0,65,0,47,0,49,0,66,0 45,0,20,0,52,0,27,0,6,0,29,0 10,0,37,0,13,0,40,0,64,0,26,0 34,0,14,0,46,0,4,0,61,0,35,0 60,0,55,0,59,0,50,0,25,0,1,0 32,0,41,0,2,0,8,0,66,0,58,0 63,0,17,0,54,0,23,0,5,0,39,0 52,0,40,0,3,0,22,0,18,0,53,0 43,0,64,0,34,0,56,0,65,0,45,0 27,0,21,0,61,0,15,0,10,0,16,0 44,0,51,0,19,0,31,0,29,0,35,0 6,0,4,0,13,0,30,0,28,0,57,0 7,0,14,0,36,0,37,0,38,0,49,0 33,0,11,0,46,0,62,0,26,0,48,0 24,0,42,0,47,0,20,0,12,0,9,0 ================================================ FILE: schedules/66_4.csv ================================================ 6,0,15,0,44,0,45,0,28,0,52,0 30,0,14,0,29,0,7,0,64,0,58,0 62,0,54,0,4,0,16,0,63,0,17,0 35,0,66,0,27,0,11,0,40,0,2,0 42,0,3,0,43,0,8,0,53,0,57,0 60,0,23,0,32,0,65,0,10,0,37,0 48,0,49,0,18,0,39,0,36,0,41,0 22,0,59,0,34,0,12,0,51,0,61,0 19,0,31,0,56,0,25,0,46,0,33,0 55,0,26,0,21,0,50,0,38,0,5,0 9,0,20,0,24,0,1,0,13,0,47,0 6,0,8,0,36,0,11,0,32,0,16,0 17,0,45,0,29,0,37,0,49,0,3,0 28,0,18,0,56,0,35,0,42,0,7,0 48,0,15,0,53,0,59,0,54,0,23,0 40,0,20,0,65,0,61,0,5,0,33,0 34,0,66,0,24,0,26,0,62,0,64,0 14,0,1,0,60,0,38,0,31,0,22,0 12,0,25,0,47,0,44,0,2,0,21,0 43,0,58,0,46,0,50,0,13,0,41,0 39,0,10,0,51,0,19,0,9,0,63,0 57,0,52,0,55,0,27,0,4,0,30,0 17,0,38,0,42,0,24,0,32,0,15,0 8,0,65,0,49,0,1,0,12,0,54,0 61,0,47,0,46,0,48,0,26,0,29,0 2,0,5,0,64,0,56,0,45,0,59,0 4,0,39,0,35,0,53,0,34,0,33,0 37,0,7,0,25,0,40,0,9,0,6,0 43,0,16,0,30,0,19,0,22,0,44,0 57,0,31,0,58,0,21,0,66,0,28,0 52,0,11,0,10,0,3,0,20,0,41,0 50,0,62,0,27,0,51,0,60,0,18,0 63,0,36,0,13,0,14,0,55,0,23,0 7,0,4,0,45,0,38,0,47,0,43,0 28,0,32,0,2,0,34,0,1,0,46,0 16,0,48,0,58,0,3,0,35,0,65,0 41,0,37,0,5,0,8,0,19,0,62,0 64,0,22,0,33,0,21,0,15,0,27,0 44,0,55,0,24,0,61,0,10,0,18,0 23,0,26,0,40,0,42,0,51,0,30,0 53,0,63,0,60,0,6,0,20,0,49,0 59,0,39,0,13,0,66,0,25,0,29,0 11,0,57,0,54,0,14,0,56,0,9,0 36,0,50,0,12,0,52,0,17,0,31,0 ================================================ FILE: schedules/66_5.csv ================================================ 42,0,3,0,33,0,25,0,14,0,21,0 17,0,35,0,30,0,28,0,6,0,22,0 44,0,4,0,63,0,49,0,34,0,5,0 53,0,19,0,15,0,1,0,12,0,16,0 48,0,56,0,37,0,61,0,58,0,32,0 7,0,10,0,13,0,60,0,65,0,29,0 46,0,51,0,23,0,26,0,39,0,9,0 18,0,2,0,41,0,55,0,62,0,36,0 24,0,11,0,27,0,57,0,31,0,45,0 50,0,64,0,38,0,52,0,8,0,43,0 54,0,66,0,47,0,20,0,59,0,40,0 39,0,63,0,61,0,19,0,3,0,29,0 2,0,6,0,16,0,26,0,33,0,56,0 18,0,35,0,5,0,11,0,13,0,23,0 14,0,27,0,60,0,34,0,50,0,17,0 44,0,47,0,41,0,22,0,46,0,38,0 43,0,31,0,32,0,10,0,36,0,30,0 12,0,4,0,8,0,48,0,55,0,59,0 62,0,45,0,21,0,54,0,1,0,49,0 52,0,28,0,37,0,57,0,25,0,40,0 53,0,24,0,51,0,58,0,66,0,7,0 64,0,20,0,9,0,65,0,42,0,15,0 46,0,43,0,14,0,13,0,56,0,4,0 10,0,6,0,45,0,59,0,18,0,63,0 16,0,31,0,17,0,52,0,55,0,54,0 61,0,50,0,25,0,12,0,66,0,44,0 28,0,36,0,53,0,60,0,11,0,64,0 22,0,48,0,7,0,5,0,15,0,2,0 47,0,33,0,34,0,24,0,62,0,39,0 40,0,29,0,23,0,41,0,42,0,32,0 27,0,21,0,19,0,37,0,51,0,65,0 49,0,38,0,30,0,20,0,26,0,3,0 8,0,58,0,1,0,35,0,9,0,57,0 61,0,4,0,17,0,64,0,45,0,33,0 56,0,50,0,59,0,23,0,62,0,28,0 37,0,7,0,11,0,41,0,34,0,16,0 60,0,31,0,25,0,19,0,6,0,38,0 8,0,39,0,42,0,2,0,49,0,66,0 52,0,5,0,47,0,53,0,10,0,9,0 20,0,43,0,18,0,48,0,21,0,44,0 65,0,30,0,55,0,24,0,1,0,14,0 58,0,36,0,29,0,12,0,54,0,46,0 35,0,26,0,15,0,63,0,40,0,27,0 57,0,32,0,22,0,51,0,13,0,3,0 34,0,66,0,19,0,48,0,45,0,52,0 59,0,9,0,60,0,44,0,16,0,24,0 36,0,39,0,4,0,7,0,20,0,50,0 23,0,63,0,53,0,30,0,8,0,33,0 1,0,32,0,46,0,5,0,25,0,27,0 41,0,65,0,3,0,43,0,54,0,28,0 26,0,58,0,13,0,62,0,42,0,17,0 37,0,12,0,10,0,35,0,2,0,38,0 21,0,29,0,57,0,15,0,56,0,47,0 49,0,55,0,11,0,61,0,51,0,6,0 18,0,64,0,40,0,14,0,22,0,31,0 ================================================ FILE: schedules/66_6.csv ================================================ 4,0,36,0,3,0,39,0,45,0,15,0 16,0,21,0,47,0,40,0,48,0,59,0 18,0,51,0,46,0,37,0,53,0,64,0 28,0,63,0,60,0,32,0,24,0,30,0 9,0,38,0,50,0,33,0,34,0,26,0 41,0,5,0,22,0,14,0,25,0,31,0 29,0,66,0,57,0,6,0,49,0,19,0 7,0,43,0,65,0,56,0,13,0,55,0 23,0,10,0,12,0,27,0,58,0,42,0 61,0,52,0,20,0,54,0,2,0,62,0 35,0,8,0,1,0,11,0,44,0,17,0 21,0,31,0,15,0,51,0,50,0,19,0 46,0,33,0,63,0,57,0,25,0,48,0 28,0,45,0,18,0,13,0,58,0,34,0 64,0,38,0,62,0,6,0,12,0,59,0 37,0,23,0,52,0,65,0,35,0,40,0 7,0,54,0,11,0,42,0,3,0,24,0 20,0,47,0,55,0,8,0,5,0,29,0 41,0,49,0,36,0,10,0,1,0,56,0 2,0,30,0,17,0,4,0,66,0,9,0 60,0,43,0,26,0,44,0,22,0,27,0 14,0,32,0,53,0,39,0,61,0,16,0 55,0,6,0,24,0,25,0,18,0,35,0 56,0,54,0,12,0,50,0,45,0,46,0 20,0,23,0,66,0,63,0,34,0,1,0 49,0,40,0,51,0,11,0,9,0,5,0 64,0,8,0,2,0,21,0,41,0,60,0 33,0,13,0,3,0,32,0,31,0,29,0 4,0,28,0,16,0,27,0,65,0,57,0 17,0,43,0,58,0,47,0,39,0,38,0 48,0,30,0,10,0,22,0,7,0,61,0 53,0,44,0,42,0,52,0,59,0,15,0 14,0,37,0,26,0,36,0,19,0,62,0 64,0,31,0,27,0,20,0,9,0,45,0 18,0,32,0,50,0,66,0,65,0,41,0 38,0,56,0,35,0,5,0,4,0,63,0 60,0,34,0,55,0,11,0,53,0,57,0 51,0,42,0,36,0,48,0,13,0,2,0 25,0,44,0,47,0,12,0,49,0,61,0 30,0,15,0,46,0,26,0,16,0,58,0 40,0,1,0,28,0,29,0,7,0,62,0 52,0,24,0,17,0,14,0,10,0,21,0 39,0,33,0,6,0,22,0,54,0,37,0 59,0,19,0,43,0,8,0,23,0,3,0 13,0,26,0,63,0,53,0,12,0,41,0 25,0,16,0,29,0,36,0,60,0,50,0 38,0,57,0,44,0,10,0,20,0,40,0 62,0,35,0,27,0,51,0,33,0,66,0 9,0,21,0,58,0,3,0,61,0,55,0 11,0,30,0,18,0,47,0,56,0,52,0 49,0,48,0,54,0,31,0,43,0,28,0 45,0,59,0,5,0,2,0,24,0,37,0 64,0,22,0,32,0,15,0,17,0,23,0 7,0,6,0,34,0,8,0,14,0,4,0 39,0,65,0,19,0,46,0,42,0,1,0 35,0,36,0,53,0,9,0,28,0,47,0 10,0,2,0,11,0,50,0,43,0,63,0 3,0,66,0,52,0,55,0,16,0,22,0 56,0,58,0,14,0,33,0,40,0,64,0 41,0,27,0,59,0,17,0,29,0,46,0 65,0,15,0,48,0,6,0,60,0,20,0 34,0,19,0,5,0,30,0,54,0,44,0 32,0,45,0,62,0,42,0,8,0,49,0 37,0,13,0,1,0,38,0,21,0,25,0 4,0,61,0,24,0,23,0,51,0,26,0 12,0,7,0,39,0,18,0,57,0,31,0 ================================================ FILE: schedules/66_7.csv ================================================ 35,0,58,0,33,0,57,0,37,0,54,0 51,0,36,0,3,0,11,0,59,0,66,0 19,0,63,0,9,0,24,0,45,0,42,0 13,0,31,0,47,0,16,0,46,0,49,0 56,0,23,0,21,0,48,0,34,0,41,0 1,0,15,0,8,0,30,0,52,0,27,0 64,0,5,0,32,0,28,0,62,0,65,0 6,0,18,0,17,0,39,0,12,0,22,0 40,0,55,0,50,0,43,0,60,0,44,0 53,0,26,0,14,0,10,0,61,0,4,0 29,0,7,0,2,0,25,0,20,0,38,0 62,0,1,0,21,0,49,0,51,0,19,0 57,0,28,0,52,0,13,0,23,0,36,0 65,0,43,0,45,0,59,0,54,0,17,0 3,0,10,0,39,0,15,0,35,0,47,0 7,0,31,0,8,0,26,0,18,0,50,0 27,0,24,0,25,0,56,0,37,0,4,0 53,0,20,0,5,0,60,0,34,0,22,0 38,0,41,0,32,0,44,0,66,0,63,0 11,0,48,0,42,0,40,0,61,0,12,0 55,0,33,0,30,0,29,0,16,0,9,0 64,0,6,0,2,0,58,0,14,0,46,0 50,0,4,0,22,0,13,0,21,0,54,0 18,0,10,0,52,0,51,0,41,0,45,0 43,0,12,0,56,0,5,0,63,0,15,0 42,0,3,0,16,0,37,0,44,0,62,0 46,0,61,0,36,0,20,0,24,0,35,0 6,0,59,0,38,0,57,0,55,0,1,0 40,0,66,0,8,0,64,0,9,0,23,0 25,0,34,0,26,0,47,0,19,0,65,0 7,0,58,0,32,0,48,0,39,0,30,0 31,0,29,0,60,0,17,0,14,0,11,0 28,0,53,0,49,0,27,0,33,0,2,0 45,0,21,0,20,0,15,0,6,0,37,0 23,0,38,0,50,0,5,0,24,0,51,0 26,0,16,0,58,0,36,0,22,0,56,0 64,0,31,0,39,0,59,0,42,0,4,0 61,0,9,0,54,0,2,0,28,0,17,0 32,0,35,0,19,0,60,0,40,0,27,0 65,0,49,0,44,0,7,0,14,0,57,0 25,0,1,0,29,0,63,0,3,0,18,0 43,0,41,0,53,0,30,0,13,0,11,0 8,0,12,0,10,0,46,0,34,0,55,0 48,0,66,0,47,0,52,0,33,0,62,0 28,0,42,0,51,0,56,0,35,0,6,0 15,0,44,0,22,0,25,0,61,0,31,0 21,0,18,0,16,0,38,0,65,0,53,0 57,0,32,0,24,0,43,0,2,0,8,0 59,0,46,0,50,0,29,0,27,0,48,0 52,0,34,0,63,0,7,0,11,0,64,0 66,0,55,0,13,0,14,0,19,0,39,0 20,0,30,0,54,0,62,0,23,0,12,0 60,0,9,0,49,0,37,0,10,0,36,0 47,0,45,0,40,0,1,0,4,0,58,0 17,0,33,0,41,0,3,0,5,0,26,0 46,0,27,0,39,0,57,0,63,0,21,0 56,0,11,0,20,0,32,0,55,0,18,0 28,0,30,0,37,0,59,0,22,0,19,0 24,0,1,0,12,0,7,0,66,0,53,0 6,0,3,0,60,0,54,0,8,0,48,0 61,0,5,0,58,0,49,0,29,0,52,0 40,0,33,0,13,0,65,0,51,0,31,0 36,0,47,0,14,0,15,0,41,0,42,0 34,0,4,0,62,0,9,0,38,0,43,0 2,0,23,0,26,0,44,0,45,0,35,0 25,0,64,0,17,0,16,0,50,0,10,0 37,0,51,0,63,0,48,0,53,0,55,0 7,0,54,0,19,0,31,0,5,0,36,0 52,0,56,0,46,0,40,0,3,0,38,0 11,0,44,0,28,0,58,0,21,0,24,0 62,0,13,0,15,0,26,0,6,0,29,0 39,0,65,0,2,0,50,0,1,0,41,0 4,0,35,0,49,0,17,0,20,0,8,0 66,0,27,0,45,0,16,0,61,0,34,0 60,0,57,0,30,0,64,0,47,0,18,0 12,0,59,0,14,0,32,0,25,0,9,0 10,0,43,0,22,0,33,0,23,0,42,0 ================================================ FILE: schedules/66_8.csv ================================================ 15,0,58,0,37,0,20,0,26,0,41,0 21,0,28,0,43,0,6,0,38,0,66,0 10,0,9,0,31,0,33,0,51,0,24,0 5,0,35,0,56,0,39,0,4,0,44,0 60,0,64,0,62,0,16,0,55,0,12,0 8,0,2,0,14,0,59,0,46,0,65,0 19,0,25,0,40,0,49,0,18,0,42,0 17,0,29,0,22,0,53,0,63,0,50,0 61,0,7,0,34,0,3,0,23,0,45,0 1,0,47,0,32,0,11,0,54,0,48,0 27,0,52,0,30,0,57,0,36,0,13,0 31,0,26,0,62,0,39,0,18,0,35,0 58,0,53,0,9,0,25,0,38,0,16,0 33,0,15,0,66,0,23,0,22,0,4,0 3,0,17,0,21,0,48,0,20,0,32,0 37,0,61,0,27,0,8,0,47,0,56,0 40,0,41,0,57,0,29,0,7,0,43,0 65,0,28,0,14,0,34,0,52,0,54,0 46,0,10,0,13,0,5,0,1,0,63,0 30,0,24,0,44,0,59,0,49,0,64,0 55,0,60,0,11,0,19,0,6,0,51,0 36,0,50,0,45,0,42,0,12,0,2,0 43,0,57,0,9,0,61,0,62,0,54,0 21,0,7,0,13,0,33,0,8,0,18,0 40,0,47,0,26,0,28,0,4,0,53,0 55,0,52,0,49,0,39,0,63,0,41,0 46,0,34,0,12,0,20,0,30,0,31,0 29,0,42,0,38,0,59,0,15,0,60,0 32,0,64,0,5,0,22,0,36,0,6,0 48,0,66,0,35,0,37,0,25,0,45,0 3,0,16,0,1,0,24,0,56,0,2,0 65,0,10,0,17,0,23,0,44,0,11,0 19,0,14,0,58,0,50,0,51,0,27,0 39,0,60,0,47,0,7,0,36,0,9,0 12,0,5,0,54,0,52,0,26,0,29,0 63,0,28,0,42,0,48,0,31,0,37,0 57,0,59,0,4,0,16,0,18,0,10,0 1,0,65,0,51,0,21,0,64,0,61,0 38,0,13,0,14,0,11,0,22,0,40,0 23,0,25,0,46,0,41,0,24,0,27,0 33,0,53,0,20,0,6,0,2,0,35,0 44,0,19,0,43,0,34,0,32,0,15,0 49,0,56,0,62,0,58,0,45,0,17,0 66,0,8,0,50,0,30,0,55,0,3,0 42,0,39,0,22,0,21,0,16,0,46,0 12,0,35,0,41,0,48,0,59,0,51,0 18,0,44,0,52,0,9,0,2,0,61,0 4,0,20,0,29,0,49,0,1,0,27,0 13,0,50,0,60,0,43,0,37,0,23,0 33,0,54,0,45,0,40,0,64,0,55,0 65,0,11,0,58,0,7,0,66,0,30,0 24,0,38,0,19,0,47,0,17,0,5,0 53,0,25,0,14,0,36,0,31,0,3,0 26,0,63,0,6,0,56,0,57,0,34,0 10,0,15,0,28,0,62,0,32,0,8,0 66,0,12,0,40,0,9,0,1,0,44,0 11,0,50,0,4,0,21,0,52,0,45,0 3,0,18,0,51,0,37,0,5,0,49,0 48,0,26,0,33,0,46,0,61,0,60,0 30,0,6,0,39,0,27,0,15,0,17,0 19,0,7,0,22,0,25,0,62,0,59,0 63,0,36,0,23,0,38,0,8,0,54,0 65,0,41,0,42,0,13,0,56,0,53,0 10,0,20,0,43,0,47,0,14,0,64,0 31,0,55,0,2,0,58,0,57,0,32,0 35,0,24,0,16,0,28,0,29,0,34,0 48,0,62,0,6,0,44,0,40,0,50,0 27,0,11,0,42,0,9,0,3,0,33,0 21,0,37,0,54,0,30,0,10,0,19,0 56,0,20,0,59,0,55,0,5,0,66,0 18,0,63,0,45,0,14,0,16,0,43,0 60,0,49,0,22,0,35,0,47,0,65,0 8,0,53,0,57,0,39,0,24,0,12,0 36,0,61,0,41,0,17,0,4,0,34,0 52,0,51,0,32,0,7,0,46,0,38,0 64,0,2,0,13,0,25,0,15,0,26,0 1,0,23,0,29,0,28,0,58,0,31,0 18,0,27,0,54,0,53,0,66,0,60,0 30,0,5,0,62,0,33,0,14,0,41,0 4,0,6,0,55,0,37,0,65,0,24,0 15,0,11,0,36,0,56,0,40,0,46,0 61,0,29,0,39,0,32,0,25,0,13,0 45,0,51,0,57,0,44,0,28,0,20,0 9,0,64,0,63,0,35,0,3,0,19,0 48,0,34,0,2,0,38,0,22,0,10,0 31,0,7,0,16,0,50,0,26,0,49,0 12,0,47,0,59,0,58,0,23,0,21,0 1,0,43,0,52,0,8,0,42,0,17,0 ================================================ FILE: schedules/66_9.csv ================================================ 38,0,26,0,56,0,19,0,43,0,57,0 61,0,47,0,9,0,34,0,44,0,33,0 63,0,51,0,6,0,21,0,53,0,18,0 20,0,2,0,48,0,37,0,15,0,46,0 12,0,60,0,5,0,65,0,31,0,41,0 1,0,62,0,7,0,54,0,10,0,17,0 24,0,64,0,66,0,55,0,52,0,32,0 23,0,8,0,28,0,42,0,11,0,45,0 50,0,22,0,13,0,25,0,39,0,59,0 58,0,14,0,3,0,30,0,36,0,40,0 29,0,16,0,35,0,27,0,4,0,49,0 17,0,55,0,60,0,2,0,38,0,6,0 63,0,57,0,9,0,12,0,54,0,46,0 56,0,18,0,28,0,34,0,41,0,61,0 21,0,44,0,64,0,8,0,30,0,65,0 27,0,29,0,1,0,23,0,58,0,59,0 15,0,24,0,16,0,5,0,19,0,33,0 48,0,4,0,7,0,13,0,49,0,11,0 3,0,53,0,22,0,26,0,31,0,52,0 20,0,45,0,32,0,40,0,10,0,25,0 37,0,14,0,43,0,50,0,62,0,66,0 36,0,42,0,39,0,35,0,51,0,47,0 48,0,30,0,27,0,55,0,9,0,19,0 16,0,41,0,28,0,2,0,58,0,17,0 40,0,60,0,29,0,24,0,44,0,57,0 14,0,63,0,56,0,15,0,31,0,8,0 49,0,51,0,20,0,66,0,65,0,22,0 3,0,18,0,45,0,59,0,54,0,43,0 25,0,7,0,52,0,33,0,6,0,36,0 1,0,39,0,26,0,38,0,34,0,64,0 37,0,12,0,32,0,47,0,23,0,13,0 10,0,11,0,5,0,50,0,35,0,53,0 62,0,4,0,61,0,46,0,21,0,42,0 31,0,43,0,40,0,16,0,2,0,7,0 39,0,64,0,63,0,33,0,20,0,58,0 1,0,49,0,59,0,47,0,28,0,14,0 26,0,41,0,44,0,45,0,66,0,27,0 38,0,10,0,12,0,52,0,4,0,8,0 19,0,35,0,60,0,37,0,22,0,17,0 56,0,21,0,25,0,54,0,24,0,23,0 42,0,18,0,57,0,32,0,53,0,48,0 11,0,30,0,6,0,62,0,15,0,65,0 13,0,5,0,9,0,61,0,36,0,55,0 50,0,46,0,29,0,51,0,34,0,3,0 21,0,22,0,40,0,27,0,33,0,12,0 24,0,7,0,41,0,48,0,35,0,38,0 52,0,18,0,2,0,23,0,39,0,14,0 64,0,37,0,10,0,59,0,42,0,9,0 51,0,62,0,36,0,56,0,16,0,45,0 15,0,55,0,6,0,29,0,49,0,26,0 66,0,54,0,58,0,11,0,60,0,61,0 25,0,57,0,4,0,3,0,65,0,28,0 13,0,32,0,46,0,44,0,1,0,53,0 17,0,34,0,43,0,63,0,5,0,30,0 47,0,19,0,8,0,20,0,31,0,50,0 61,0,45,0,39,0,24,0,48,0,12,0 3,0,15,0,23,0,64,0,60,0,7,0 38,0,44,0,25,0,49,0,62,0,58,0 1,0,2,0,21,0,36,0,26,0,5,0 42,0,50,0,16,0,20,0,63,0,55,0 52,0,19,0,11,0,59,0,51,0,40,0 56,0,17,0,53,0,4,0,9,0,66,0 31,0,33,0,46,0,35,0,43,0,28,0 30,0,54,0,41,0,32,0,47,0,22,0 14,0,65,0,18,0,10,0,29,0,13,0 27,0,8,0,34,0,37,0,6,0,57,0 63,0,26,0,40,0,62,0,23,0,9,0 53,0,33,0,45,0,60,0,50,0,49,0 59,0,20,0,15,0,38,0,21,0,41,0 47,0,55,0,58,0,35,0,56,0,65,0 5,0,28,0,54,0,27,0,13,0,52,0 24,0,30,0,31,0,4,0,37,0,18,0 61,0,48,0,6,0,10,0,3,0,1,0 19,0,66,0,16,0,64,0,46,0,25,0 34,0,57,0,11,0,14,0,22,0,36,0 42,0,51,0,2,0,44,0,7,0,12,0 8,0,29,0,43,0,32,0,17,0,39,0 26,0,50,0,65,0,54,0,40,0,48,0 45,0,9,0,35,0,52,0,1,0,15,0 10,0,47,0,34,0,16,0,21,0,60,0 51,0,55,0,37,0,14,0,25,0,41,0 19,0,36,0,23,0,4,0,39,0,44,0 58,0,24,0,13,0,6,0,42,0,43,0 31,0,64,0,17,0,57,0,61,0,49,0 2,0,33,0,59,0,66,0,56,0,30,0 3,0,38,0,32,0,27,0,63,0,11,0 12,0,53,0,28,0,29,0,20,0,62,0 46,0,8,0,22,0,18,0,7,0,5,0 15,0,10,0,58,0,57,0,31,0,51,0 13,0,19,0,65,0,45,0,2,0,34,0 42,0,37,0,49,0,56,0,52,0,3,0 41,0,27,0,36,0,43,0,64,0,53,0 33,0,4,0,40,0,1,0,8,0,55,0 48,0,5,0,66,0,47,0,29,0,63,0 50,0,21,0,32,0,9,0,7,0,28,0 46,0,59,0,62,0,24,0,39,0,60,0 61,0,38,0,23,0,22,0,30,0,16,0 25,0,11,0,12,0,18,0,17,0,26,0 54,0,35,0,14,0,44,0,20,0,6,0 ================================================ FILE: schedules/67_1.csv ================================================ 36,0,29,0,21,0,3,0,38,0,20,0 34,0,50,0,62,0,40,0,60,0,48,0 31,0,64,0,18,0,39,0,42,0,26,0 19,0,24,0,15,0,51,0,33,0,35,0 52,0,16,0,5,0,59,0,25,0,13,0 49,0,7,0,12,0,45,0,6,0,44,0 66,0,56,0,27,0,67,0,28,0,47,0 30,0,23,0,17,0,65,0,2,0,63,0 10,0,9,0,1,0,58,0,4,0,11,0 32,0,53,0,41,0,14,0,8,0,46,0 54,0,22,0,55,0,43,0,61,0,57,0 37,0,29,1,39,1,52,1,19,1,15,1 ================================================ FILE: schedules/67_10.csv ================================================ 4,0,47,0,48,0,36,0,33,0,11,0 25,0,65,0,46,0,60,0,20,0,59,0 5,0,40,0,13,0,49,0,2,0,29,0 22,0,53,0,8,0,15,0,42,0,18,0 24,0,19,0,17,0,67,0,3,0,34,0 27,0,43,0,44,0,54,0,50,0,64,0 26,0,57,0,55,0,21,0,35,0,56,0 7,0,52,0,58,0,10,0,63,0,23,0 6,0,51,0,9,0,38,0,31,0,66,0 32,0,61,0,14,0,1,0,41,0,28,0 62,0,30,0,45,0,16,0,12,0,39,0 37,0,54,0,8,0,3,0,49,0,26,0 10,0,25,0,20,0,44,0,19,0,40,0 4,0,34,0,56,0,51,0,38,0,18,0 36,0,61,0,58,0,5,0,32,0,53,0 17,0,43,0,28,0,35,0,9,0,30,0 2,0,62,0,31,0,7,0,60,0,47,0 42,0,59,0,52,0,24,0,13,0,37,0 64,0,48,0,46,0,6,0,67,0,55,0 23,0,14,0,22,0,27,0,65,0,16,0 63,0,33,0,50,0,21,0,1,0,39,0 57,0,41,0,66,0,11,0,45,0,29,0 12,0,37,0,5,0,15,0,20,0,44,0 25,1,4,0,3,0,49,1,6,0,13,0 10,0,16,0,51,0,18,0,67,0,35,0 47,0,36,0,63,0,43,0,40,0,26,0 22,0,62,0,50,0,19,0,9,0,11,0 57,0,45,0,2,0,23,0,28,0,54,0 38,0,41,0,46,0,30,0,7,0,24,0 58,0,55,0,1,0,12,0,34,0,31,0 52,0,17,0,65,0,21,0,53,0,42,0 15,0,56,0,60,0,48,0,14,0,29,0 33,0,64,0,39,0,61,0,8,0,66,0 27,0,59,0,19,0,32,0,51,0,30,0 38,0,1,0,67,0,62,0,23,0,20,0 40,0,28,0,53,0,37,0,26,0,11,0 45,0,60,0,43,0,24,0,4,0,5,0 58,0,35,0,14,0,33,0,42,0,6,0 13,0,56,0,61,0,63,0,65,0,54,0 17,0,66,0,44,0,2,0,48,0,8,0 9,0,27,0,12,0,52,0,18,0,57,0 32,0,21,0,10,0,64,0,47,0,49,0 15,0,3,0,41,0,46,0,39,0,55,0 25,0,50,0,34,0,7,0,29,0,16,0 36,0,31,0,53,0,22,0,59,0,67,0 13,0,8,0,35,0,19,0,12,0,23,0 45,0,37,0,6,0,51,0,47,0,65,0 21,0,2,0,18,0,38,0,43,0,14,0 64,0,4,0,66,0,25,0,30,0,58,0 17,0,1,0,11,0,27,0,15,0,49,0 5,0,31,0,54,0,41,0,16,0,52,0 20,0,63,0,48,0,29,0,9,0,3,0 33,0,62,0,26,0,59,0,24,0,10,0 34,0,44,0,46,0,22,0,57,0,61,0 60,0,55,0,42,0,36,0,50,0,28,0 40,0,56,0,7,0,32,0,39,0,17,0 47,0,30,0,5,0,1,0,13,0,48,0 63,0,15,0,12,0,24,0,25,0,2,0 19,0,38,0,29,0,37,0,61,0,33,0 36,0,21,0,51,0,44,0,62,0,41,0 6,0,16,0,11,0,43,0,32,0,8,0 27,0,42,0,45,0,10,0,3,0,55,0 26,0,9,0,20,0,14,0,7,0,64,0 35,0,57,0,65,0,31,0,4,0,50,0 59,0,46,0,18,0,54,0,40,0,58,0 60,0,23,0,39,0,34,0,53,0,49,0 56,0,67,0,66,0,22,0,52,0,28,0 15,0,61,0,19,0,7,0,36,0,45,0 29,0,24,0,21,0,27,0,8,0,31,0 47,0,16,0,13,0,9,0,41,0,58,0 10,0,53,0,54,0,4,0,1,0,14,0 12,0,26,0,51,0,50,0,17,0,46,0 52,0,40,0,38,0,60,0,64,0,35,0 63,0,34,0,6,0,62,0,5,0,28,0 67,0,57,0,48,0,42,0,37,0,39,0 32,0,49,0,18,0,33,0,44,0,65,0 3,0,23,0,66,0,43,0,59,0,56,0 22,0,11,0,30,0,2,0,20,0,55,0 25,0,35,0,52,0,47,0,61,0,1,0 58,0,67,0,8,0,38,0,50,0,45,0 24,0,36,0,60,0,17,0,16,0,57,0 21,0,15,0,40,0,19,0,6,0,4,0 23,0,31,0,29,0,44,0,26,0,30,0 64,0,51,0,22,0,14,0,13,0,63,0 18,0,28,0,11,0,3,0,7,0,5,0 65,0,43,0,34,0,48,0,10,0,41,0 2,0,33,0,53,0,27,0,62,0,46,0 37,0,25,0,49,0,55,0,56,0,9,0 42,0,32,0,54,0,66,0,12,0,20,0 39,0,18,0,29,0,59,0,47,0,6,0 34,0,14,0,30,0,36,0,8,0,52,0 13,0,15,0,50,0,31,0,10,0,28,0 49,0,58,0,48,0,35,0,22,0,24,0 3,0,62,0,65,0,57,0,64,0,40,0 32,0,37,0,9,0,23,0,4,0,46,0 67,0,11,0,61,0,21,0,60,0,12,0 39,0,5,0,27,0,25,0,26,0,38,0 63,0,59,0,44,0,41,0,45,0,17,0 7,0,51,0,55,0,33,0,54,0,43,0 16,0,1,0,42,0,2,0,19,0,56,0 53,0,20,0,35,0,66,0,34,0,13,0 29,0,28,0,64,0,12,0,36,0,49,0 48,0,32,0,31,0,25,0,45,0,14,0 8,0,33,0,59,0,5,0,9,0,57,0 11,0,65,0,2,0,58,0,39,0,51,0 50,0,24,0,55,0,40,0,23,0,61,0 41,0,6,0,20,0,53,0,27,0,56,0 7,0,26,0,4,0,44,0,42,0,67,0 10,0,38,0,47,0,22,0,17,0,54,0 46,0,1,0,3,0,21,0,66,0,16,0 19,0,37,0,30,0,63,0,60,0,18,0 43,0,52,0,49,0,62,0,15,0,25,0 ================================================ FILE: schedules/67_11.csv ================================================ 21,0,51,0,64,0,20,0,5,0,17,0 25,0,8,0,44,0,13,0,26,0,53,0 6,0,46,0,35,0,65,0,48,0,1,0 49,0,28,0,52,0,15,0,2,0,41,0 56,0,59,0,54,0,55,0,3,0,10,0 50,0,45,0,11,0,39,0,37,0,60,0 27,0,4,0,42,0,38,0,32,0,36,0 66,0,34,0,18,0,14,0,40,0,29,0 12,0,57,0,16,0,23,0,19,0,31,0 9,0,43,0,62,0,58,0,61,0,63,0 67,0,7,0,30,0,24,0,33,0,22,0 47,0,8,0,46,0,36,0,56,0,11,0 4,0,38,0,40,0,28,0,1,0,15,0 60,0,25,0,31,0,35,0,17,0,27,0 5,0,55,0,34,0,32,0,6,0,45,0 41,0,61,0,19,0,51,0,50,0,23,0 66,0,26,0,43,0,18,0,7,0,53,0 29,0,65,0,16,0,22,0,57,0,52,0 47,0,33,0,10,0,63,0,44,0,37,0 59,0,64,0,39,0,9,0,58,0,24,0 13,0,30,0,20,0,42,0,49,0,62,0 12,0,21,0,2,0,3,0,14,0,48,0 54,0,15,0,61,0,67,0,31,0,46,0 52,1,17,0,23,0,47,0,32,0,43,0 4,0,53,0,57,0,56,0,45,0,9,0 26,0,60,0,10,0,13,0,36,0,28,0 30,0,1,0,41,0,44,0,14,0,64,0 24,0,20,0,63,0,54,0,18,0,65,0 5,0,38,0,66,0,62,0,8,0,2,0 40,0,39,0,22,0,21,0,55,0,49,0 48,0,42,0,58,0,7,0,34,0,50,0 33,0,3,0,59,0,51,0,25,0,16,0 6,0,37,0,29,0,19,0,67,0,27,0 35,0,11,0,53,0,12,0,38,0,63,0 10,0,31,0,41,0,20,0,22,0,32,0 54,0,23,0,24,0,36,0,14,0,50,0 62,0,21,0,16,0,45,0,42,0,26,0 59,0,60,0,4,0,7,0,66,0,49,0 1,0,2,0,39,0,34,0,61,0,33,0 19,0,64,0,28,0,65,0,8,0,56,0 47,0,29,0,15,0,3,0,6,0,30,0 17,0,58,0,51,0,37,0,52,0,35,0 13,0,48,0,9,0,55,0,67,0,18,0 5,0,40,0,43,0,57,0,27,0,11,0 12,0,25,0,42,0,44,0,46,0,10,0 39,0,65,0,30,0,60,0,16,0,38,0 53,0,22,0,28,0,58,0,32,0,59,0 36,0,8,0,37,0,21,0,31,0,35,0 51,0,57,0,2,0,47,0,4,0,18,0 15,0,52,0,6,0,62,0,56,0,7,0 66,0,3,0,50,0,27,0,9,0,23,0 63,0,40,0,1,0,5,0,19,0,25,0 14,0,33,0,43,0,55,0,20,0,64,0 17,0,13,0,67,0,41,0,11,0,46,0 49,0,29,0,45,0,48,0,44,0,54,0 24,0,26,0,61,0,34,0,12,0,27,0 3,0,32,0,7,0,19,0,65,0,35,0 25,0,63,0,55,0,21,0,57,0,30,0 31,0,50,0,2,0,59,0,6,0,11,0 47,0,20,0,16,0,48,0,60,0,53,0 29,0,13,0,34,0,28,0,23,0,33,0 24,0,15,0,42,0,58,0,41,0,66,0 12,0,49,0,36,0,43,0,1,0,67,0 14,0,61,0,10,0,45,0,8,0,17,0 56,0,37,0,64,0,38,0,22,0,18,0 52,0,46,0,5,0,39,0,4,0,26,0 44,0,51,0,62,0,40,0,9,0,54,0 27,0,55,0,53,0,65,0,2,0,23,0 11,0,28,0,48,0,3,0,57,0,61,0 13,0,16,0,7,0,37,0,14,0,1,0 63,0,22,0,8,0,32,0,15,0,50,0 38,0,24,0,49,0,46,0,33,0,51,0 45,0,25,0,67,0,47,0,64,0,66,0 10,0,4,0,35,0,29,0,21,0,43,0 54,0,19,0,17,0,42,0,39,0,18,0 31,0,56,0,58,0,40,0,30,0,26,0 36,0,59,0,44,0,20,0,34,0,52,0 60,0,41,0,9,0,6,0,5,0,12,0 48,0,22,0,25,0,62,0,24,0,4,0 32,0,8,0,67,0,16,0,3,0,2,0 57,0,50,0,56,0,1,0,66,0,17,0 64,0,7,0,27,0,49,0,10,0,63,0 18,0,35,0,28,0,30,0,44,0,5,0 29,0,55,0,33,0,60,0,58,0,46,0 20,0,37,0,19,0,26,0,15,0,9,0 34,0,38,0,21,0,54,0,41,0,47,0 65,0,62,0,45,0,59,0,12,0,43,0 53,0,14,0,42,0,31,0,51,0,39,0 36,0,52,0,61,0,40,0,13,0,6,0 11,0,18,0,60,0,23,0,15,0,10,0 26,0,38,0,1,0,29,0,17,0,48,0 9,0,22,0,30,0,45,0,27,0,2,0 53,0,3,0,46,0,64,0,62,0,34,0 32,0,52,0,12,0,66,0,21,0,33,0 23,0,61,0,42,0,56,0,35,0,49,0 31,0,59,0,24,0,13,0,5,0,47,0 8,0,39,0,7,0,57,0,20,0,40,0 44,0,55,0,58,0,51,0,19,0,11,0 65,0,67,0,14,0,50,0,25,0,4,0 54,0,6,0,43,0,28,0,16,0,37,0 36,0,63,0,27,0,41,0,59,0,48,0 45,0,18,0,1,0,31,0,52,0,3,0 32,0,13,0,51,0,12,0,39,0,29,0 49,0,50,0,19,0,53,0,10,0,62,0 21,0,47,0,9,0,46,0,28,0,7,0 33,0,40,0,37,0,65,0,42,0,41,0 5,0,15,0,64,0,55,0,61,0,16,0 23,0,58,0,6,0,20,0,38,0,25,0 35,0,14,0,57,0,67,0,26,0,22,0 30,0,11,0,8,0,54,0,34,0,4,0 44,0,56,0,2,0,43,0,60,0,24,0 36,0,66,0,55,0,17,0,63,0,28,0 65,0,15,0,27,0,13,0,21,0,45,0 18,0,40,0,46,0,50,0,59,0,16,0 6,0,9,0,1,0,10,0,8,0,42,0 62,0,35,0,41,0,39,0,56,0,47,0 7,0,31,0,61,0,44,0,29,0,38,0 52,0,63,0,11,0,14,0,25,0,24,0 22,0,5,0,3,0,33,0,36,0,53,0 32,0,26,0,57,0,49,0,64,0,54,0 66,0,23,0,48,0,51,0,37,0,30,0 4,0,2,0,17,0,12,0,58,0,20,0 60,0,67,0,34,0,19,0,43,0,52,0 ================================================ FILE: schedules/67_12.csv ================================================ 33,0,62,0,52,0,65,0,14,0,27,0 16,0,45,0,56,0,43,0,4,0,53,0 34,0,50,0,19,0,40,0,57,0,18,0 49,0,28,0,59,0,30,0,31,0,35,0 44,0,36,0,67,0,21,0,32,0,10,0 9,0,51,0,22,0,54,0,23,0,5,0 3,0,41,0,26,0,25,0,29,0,38,0 37,0,15,0,6,0,47,0,42,0,2,0 46,0,63,0,17,0,60,0,48,0,64,0 11,0,55,0,12,0,7,0,58,0,66,0 39,0,61,0,8,0,24,0,20,0,1,0 13,0,59,0,21,0,54,0,65,0,10,0 53,0,26,0,29,0,51,0,23,0,37,0 44,0,48,0,6,0,34,0,30,0,52,0 15,0,36,0,18,0,55,0,16,0,9,0 7,0,32,0,45,0,8,0,22,0,40,0 1,0,5,0,35,0,12,0,38,0,33,0 31,0,64,0,28,0,11,0,57,0,13,0 60,0,47,0,3,0,24,0,49,0,42,0 4,0,46,0,66,0,63,0,62,0,61,0 17,0,67,0,14,0,41,0,56,0,20,0 43,0,58,0,2,0,19,0,27,0,39,0 50,0,51,0,16,0,25,0,37,0,8,0 9,0,21,0,24,0,6,0,7,0,64,0 18,0,63,0,28,0,62,0,53,0,54,0 42,0,57,0,46,0,67,0,35,0,29,0 33,0,11,0,4,0,36,0,22,0,19,0 47,0,40,0,61,0,10,0,38,0,17,0 52,0,49,0,55,0,56,0,50,0,25,0 20,0,66,0,3,0,45,0,44,0,2,0 34,0,65,0,43,0,5,0,15,0,31,0 48,0,41,0,27,0,39,0,23,0,59,0 30,0,32,0,58,0,60,0,1,0,13,0 14,0,12,0,9,0,26,0,17,0,21,0 7,0,55,0,51,0,61,0,33,0,44,0 24,0,16,0,64,0,45,0,34,0,29,0 5,0,49,0,43,0,41,0,66,0,8,0 22,0,56,0,38,0,30,0,42,0,19,0 6,0,18,0,65,0,35,0,58,0,26,0 50,0,14,0,10,0,60,0,39,0,32,0 15,0,28,0,20,0,1,0,48,0,37,0 46,0,13,0,53,0,27,0,36,0,52,0 57,0,12,0,59,0,2,0,11,0,25,0 47,0,62,0,31,0,23,0,3,0,63,0 4,0,67,0,8,0,54,0,40,0,60,0 24,0,22,0,48,0,18,0,35,0,37,0 34,0,32,0,55,0,26,0,65,0,19,0 46,0,50,0,6,0,10,0,28,0,33,0 1,0,59,0,47,0,53,0,44,0,5,0 66,0,38,0,16,0,14,0,23,0,31,0 58,0,41,0,61,0,21,0,15,0,57,0 36,0,56,0,54,0,7,0,39,0,3,0 49,0,29,0,40,0,9,0,20,0,11,0 27,0,63,0,51,0,12,0,30,0,45,0 43,0,42,0,25,0,13,0,17,0,62,0 67,0,64,0,2,0,52,0,4,0,65,0 21,0,37,0,53,0,66,0,19,0,55,0 60,0,61,0,35,0,50,0,11,0,54,0 14,0,47,0,38,0,8,0,57,0,36,0 41,0,7,0,30,0,31,0,20,0,46,0 52,0,43,0,12,0,10,0,24,0,23,0 63,0,67,0,6,0,17,0,1,0,16,0 48,0,40,0,26,0,62,0,22,0,2,0 29,0,56,0,13,0,59,0,44,0,18,0 39,0,58,0,5,0,28,0,42,0,45,0 3,0,25,0,27,0,34,0,4,0,9,0 15,0,49,0,33,0,32,0,51,0,64,0 55,0,8,0,54,0,48,0,31,0,2,0 29,0,30,0,59,0,43,0,50,0,36,0 5,0,61,0,66,0,40,0,56,0,6,0 62,0,9,0,35,0,60,0,41,0,19,0 3,0,51,0,18,0,52,0,11,0,67,0 32,0,49,0,37,0,38,0,58,0,4,0 39,0,33,0,13,0,47,0,12,0,34,0 25,0,46,0,23,0,1,0,21,0,45,0 7,0,20,0,42,0,63,0,16,0,26,0 17,0,57,0,22,0,27,0,15,0,10,0 64,0,65,0,44,0,53,0,24,0,14,0 28,0,52,0,61,0,29,0,32,0,47,0 40,0,41,0,45,0,13,0,55,0,6,0 4,0,39,0,1,0,31,0,66,0,26,0 27,0,23,0,17,0,50,0,7,0,5,0 11,0,37,0,65,0,63,0,56,0,14,0 58,0,24,0,15,0,46,0,59,0,33,0 12,0,19,0,48,0,67,0,49,0,16,0 42,0,54,0,9,0,30,0,53,0,57,0 21,0,43,0,64,0,22,0,28,0,3,0 18,0,2,0,38,0,51,0,44,0,60,0 34,0,62,0,10,0,8,0,20,0,35,0 25,0,61,0,19,0,36,0,65,0,48,0 15,0,14,0,29,0,40,0,12,0,4,0 9,0,50,0,66,0,47,0,67,0,58,0 22,0,11,0,44,0,39,0,16,0,46,0 20,0,57,0,63,0,43,0,55,0,24,0 62,0,6,0,21,0,59,0,38,0,51,0 64,0,37,0,30,0,10,0,41,0,5,0 7,0,53,0,35,0,52,0,3,0,13,0 42,0,31,0,18,0,33,0,32,0,25,0 23,0,2,0,1,0,36,0,49,0,34,0 60,0,56,0,8,0,27,0,26,0,28,0 54,0,17,0,44,0,45,0,58,0,37,0 35,0,38,0,52,0,63,0,15,0,39,0 5,0,4,0,47,0,55,0,18,0,46,0 10,0,7,0,1,0,19,0,3,0,14,0 25,0,36,0,59,0,40,0,20,0,64,0 29,0,21,0,65,0,30,0,11,0,8,0 23,0,62,0,16,0,56,0,24,0,57,0 12,0,27,0,66,0,42,0,32,0,48,0 2,0,26,0,54,0,33,0,50,0,41,0 60,0,53,0,49,0,22,0,34,0,6,0 43,0,31,0,45,0,67,0,61,0,9,0 28,0,13,0,19,0,51,0,17,0,24,0 58,0,29,0,36,0,35,0,63,0,66,0 54,0,38,0,1,0,64,0,55,0,27,0 26,0,60,0,57,0,5,0,59,0,52,0 50,0,20,0,65,0,22,0,12,0,41,0 42,0,44,0,13,0,61,0,49,0,4,0 7,0,25,0,67,0,2,0,28,0,53,0 31,0,34,0,56,0,21,0,47,0,51,0 10,0,45,0,11,0,15,0,62,0,48,0 46,0,32,0,14,0,9,0,6,0,43,0 40,0,33,0,30,0,3,0,37,0,16,0 8,0,23,0,18,0,39,0,17,0,64,0 51,0,41,0,65,0,36,0,42,0,1,0 22,0,15,0,26,0,67,0,13,0,66,0 31,0,38,0,24,0,58,0,50,0,53,0 25,0,12,0,60,0,44,0,43,0,47,0 5,0,32,0,17,0,3,0,29,0,11,0 14,0,30,0,2,0,45,0,61,0,18,0 27,0,16,0,40,0,21,0,35,0,28,0 55,0,37,0,39,0,49,0,46,0,62,0 54,0,19,0,20,0,52,0,6,0,23,0 57,0,48,0,10,0,4,0,7,0,56,0 34,0,33,0,8,0,59,0,63,0,9,0 ================================================ FILE: schedules/67_13.csv ================================================ 18,0,63,0,61,0,51,0,44,0,53,0 39,0,22,0,58,0,3,0,29,0,31,0 4,0,8,0,54,0,59,0,57,0,66,0 9,0,52,0,64,0,49,0,7,0,14,0 24,0,62,0,21,0,15,0,42,0,37,0 50,0,41,0,26,0,60,0,43,0,67,0 6,0,27,0,40,0,20,0,2,0,48,0 34,0,47,0,45,0,36,0,65,0,28,0 17,0,56,0,30,0,33,0,10,0,1,0 16,0,13,0,19,0,55,0,35,0,23,0 38,0,32,0,5,0,25,0,11,0,12,0 15,0,24,0,43,0,46,0,44,0,3,0 31,0,41,0,37,0,4,0,36,0,45,0 17,0,6,0,39,0,21,0,30,0,61,0 48,0,14,0,34,0,16,0,22,0,10,0 28,0,29,0,12,0,9,0,42,0,23,0 7,0,33,0,35,0,63,0,62,0,60,0 19,0,40,0,38,0,32,0,58,0,26,0 67,0,59,0,47,0,13,0,11,0,5,0 27,0,1,0,51,0,8,0,64,0,25,0 20,0,46,0,52,0,57,0,54,0,50,0 56,0,55,0,53,0,66,0,49,0,2,0 18,0,43,0,40,0,65,0,22,0,6,0 17,1,29,0,48,0,14,1,32,0,19,0 26,1,28,0,39,0,11,1,62,0,4,0 1,0,44,0,61,0,23,1,54,0,5,0 12,0,20,0,49,0,16,0,41,0,15,0 56,0,10,0,60,0,46,0,9,0,25,0 18,0,47,0,52,0,58,0,2,0,37,0 45,0,42,0,21,0,51,0,13,0,57,0 59,0,38,0,34,0,33,0,67,0,30,0 66,0,24,0,55,0,27,0,63,0,50,0 36,0,53,0,31,0,65,0,35,0,64,0 8,0,7,0,5,0,3,0,16,0,43,0 39,0,49,0,23,0,18,0,48,0,25,0 15,0,1,0,22,0,6,0,58,0,47,0 34,0,26,0,57,0,41,0,63,0,44,0 21,0,2,0,4,0,36,0,50,0,64,0 42,0,61,0,67,0,10,0,19,0,52,0 55,0,65,0,45,0,60,0,8,0,24,0 12,0,14,0,62,0,53,0,46,0,54,0 29,0,35,0,40,0,56,0,59,0,11,0 28,0,51,0,3,0,27,0,38,0,37,0 31,0,33,0,66,0,32,0,9,0,30,0 20,0,7,0,4,0,17,0,13,0,44,0 5,0,6,0,10,0,52,0,53,0,26,0 59,0,43,0,25,0,48,0,63,0,47,0 37,0,18,0,60,0,15,0,12,0,56,0 3,0,39,0,32,0,1,0,35,0,50,0 21,0,66,0,36,0,20,0,40,0,14,0 7,0,67,0,54,0,23,0,30,0,45,0 64,0,22,0,57,0,24,0,19,0,33,0 16,0,2,0,11,0,58,0,62,0,51,0 34,0,42,0,31,0,49,0,8,0,17,0 27,0,61,0,9,0,13,0,65,0,46,0 41,0,28,0,4,0,55,0,29,0,38,0 5,0,50,0,60,0,22,0,48,0,30,0 36,0,40,0,7,0,1,0,39,0,67,0 24,0,17,0,3,0,21,0,26,0,49,0 34,0,20,0,58,0,25,0,61,0,23,0 57,0,16,0,63,0,9,0,29,0,2,0 12,0,52,0,51,0,44,0,33,0,65,0 59,0,15,0,27,0,31,0,43,0,32,0 62,0,64,0,28,0,66,0,18,0,10,0 38,0,14,0,46,0,45,0,56,0,13,0 41,0,11,0,8,0,37,0,19,0,53,0 35,0,6,0,42,0,47,0,54,0,55,0 52,0,36,0,63,0,60,0,23,0,32,0 43,0,49,0,48,0,28,0,21,0,58,0 44,0,14,0,39,0,38,0,25,0,2,0 51,0,29,0,4,0,10,0,24,0,34,0 40,0,64,0,30,0,8,0,13,0,12,0 67,0,66,0,35,0,46,0,17,0,15,0 41,0,53,0,22,0,9,0,54,0,1,0 42,0,20,0,5,0,31,0,18,0,59,0 45,0,62,0,3,0,61,0,19,0,47,0 57,0,11,0,6,0,7,0,56,0,27,0 26,0,33,0,37,0,65,0,50,0,16,0 55,0,58,0,4,0,9,0,44,0,12,0 51,0,66,0,20,0,67,0,5,0,22,0 49,0,1,0,36,0,13,0,59,0,29,0 24,0,28,0,14,0,61,0,40,0,41,0 53,0,23,0,2,0,34,0,60,0,17,0 57,0,39,0,10,0,43,0,65,0,37,0 48,0,64,0,42,0,56,0,26,0,3,0 30,0,27,0,46,0,16,0,47,0,62,0 38,0,15,0,11,0,52,0,55,0,8,0 50,0,25,0,19,0,7,0,6,0,31,0 35,0,18,0,45,0,32,0,33,0,21,0 54,0,37,0,3,0,63,0,34,0,40,0 57,0,5,0,44,0,62,0,36,0,17,0 52,0,29,0,43,0,47,0,66,0,64,0 58,0,50,0,38,0,16,0,53,0,42,0 56,0,25,0,22,0,59,0,55,0,21,0 35,0,32,0,8,0,7,0,28,0,9,0 24,0,63,0,49,0,30,0,6,0,12,0 45,0,1,0,19,0,20,0,26,0,15,0 54,0,2,0,13,0,31,0,11,0,10,0 60,0,14,0,27,0,18,0,4,0,67,0 33,0,23,0,51,0,39,0,46,0,41,0 65,0,7,0,66,0,61,0,48,0,38,0 37,0,44,0,45,0,49,0,22,0,29,0 50,0,12,0,10,0,36,0,11,0,47,0 55,0,31,0,16,0,52,0,60,0,40,0 9,0,21,0,6,0,62,0,34,0,67,0 23,0,1,0,59,0,2,0,57,0,24,0 41,0,64,0,14,0,58,0,5,0,35,0 48,0,3,0,13,0,18,0,53,0,17,0 32,0,15,0,25,0,4,0,65,0,61,0 19,0,26,0,54,0,33,0,39,0,27,0 63,0,46,0,56,0,28,0,8,0,20,0 43,0,30,0,35,0,51,0,42,0,14,0 23,0,62,0,50,0,45,0,40,0,49,0 3,0,12,0,67,0,57,0,25,0,31,0 21,0,27,0,17,0,38,0,41,0,52,0 65,0,32,0,54,0,5,0,2,0,56,0 18,0,46,0,29,0,55,0,30,0,26,0 11,0,37,0,61,0,1,0,64,0,43,0 22,0,33,0,63,0,10,0,42,0,4,0 16,0,28,0,44,0,19,0,6,0,59,0 9,0,8,0,15,0,36,0,51,0,48,0 60,0,13,0,58,0,66,0,34,0,39,0 53,0,47,0,20,0,24,0,7,0,32,0 62,0,65,0,31,0,1,0,29,0,14,0 12,0,61,0,2,0,35,0,22,0,26,0 4,0,46,0,33,0,48,0,5,0,40,0 21,0,10,0,44,0,66,0,8,0,23,0 50,0,7,0,15,0,28,0,18,0,34,0 39,0,59,0,53,0,27,0,45,0,52,0 36,0,41,0,6,0,11,0,42,0,3,0 13,0,67,0,25,0,24,0,16,0,37,0 19,0,56,0,58,0,30,0,63,0,51,0 60,0,47,0,57,0,49,0,64,0,38,0 9,0,43,0,55,0,17,0,54,0,20,0 8,0,33,0,29,0,6,0,61,0,14,0 52,0,48,0,32,0,62,0,13,0,41,0 46,0,42,0,66,0,1,0,37,0,7,0 10,0,49,0,58,0,35,0,4,0,27,0 51,0,9,0,17,0,40,0,26,0,59,0 23,0,56,0,44,0,47,0,31,0,50,0 11,0,65,0,60,0,21,0,20,0,3,0 34,0,19,0,2,0,5,0,12,0,43,0 38,0,16,0,54,0,18,0,36,0,24,0 67,0,63,0,55,0,39,0,45,0,64,0 25,0,30,0,53,0,28,0,15,0,57,0 17,0,26,0,23,0,22,0,14,0,11,0 ================================================ FILE: schedules/67_14.csv ================================================ 3,0,34,0,48,0,44,0,47,0,32,0 39,0,51,0,37,0,40,0,8,0,56,0 23,0,2,0,29,0,36,0,9,0,57,0 24,0,54,0,7,0,22,0,18,0,55,0 30,0,64,0,25,0,35,0,66,0,26,0 19,0,52,0,10,0,20,0,59,0,46,0 41,0,62,0,16,0,13,0,31,0,15,0 65,0,1,0,17,0,14,0,28,0,12,0 61,0,6,0,60,0,11,0,50,0,58,0 4,0,38,0,45,0,63,0,21,0,5,0 27,0,53,0,49,0,33,0,43,0,67,0 42,0,51,0,24,0,2,0,41,0,34,0 47,0,12,0,7,0,30,0,10,0,9,0 50,0,57,0,64,0,3,0,46,0,37,0 14,0,52,0,21,0,39,0,55,0,25,0 62,0,54,0,19,0,60,0,29,0,16,0 13,0,26,0,59,0,48,0,17,0,27,0 20,0,18,0,44,0,8,0,5,0,38,0 42,0,66,0,61,0,53,0,4,0,31,0 33,0,56,0,36,0,35,0,67,0,32,0 6,0,45,0,65,0,23,0,40,0,49,0 22,0,1,0,43,0,63,0,15,0,11,0 28,0,26,0,64,0,58,0,8,0,59,0 52,1,5,0,29,0,3,1,17,0,51,0 61,1,48,0,32,0,66,1,57,0,39,0 34,0,23,0,7,0,12,0,35,0,62,0 37,0,56,0,53,0,22,0,30,0,19,0 1,0,9,0,60,0,41,0,18,0,45,0 33,0,63,0,4,0,24,0,20,0,15,0 43,0,42,0,65,0,67,0,38,0,13,0 28,0,31,0,44,0,49,0,6,0,54,0 27,0,21,0,16,0,10,0,14,0,36,0 11,0,2,0,25,0,46,0,58,0,55,0 47,0,40,0,29,0,50,0,12,0,24,0 8,0,1,0,32,0,43,0,59,0,19,0 15,0,42,0,35,0,66,0,37,0,6,0 67,0,64,0,34,0,60,0,7,0,45,0 36,0,58,0,3,0,62,0,4,0,10,0 31,0,5,0,40,0,25,0,18,0,27,0 20,0,41,0,21,0,44,0,65,0,22,0 61,0,2,0,26,0,54,0,38,0,56,0 9,0,46,0,51,0,33,0,48,0,16,0 49,0,28,0,50,0,30,0,63,0,39,0 11,0,17,0,14,0,47,0,23,0,53,0 55,0,13,0,43,0,52,0,57,0,12,0 37,0,18,0,5,0,62,0,61,0,67,0 4,0,56,0,32,0,9,0,31,0,27,0 28,0,24,0,59,0,15,0,3,0,49,0 41,0,38,0,64,0,23,0,36,0,11,0 17,0,16,0,42,0,25,0,7,0,50,0 13,0,30,0,40,0,53,0,1,0,46,0 63,0,20,0,65,0,55,0,48,0,29,0 6,0,22,0,57,0,26,0,34,0,14,0 66,0,8,0,52,0,54,0,21,0,33,0 19,0,58,0,44,0,45,0,51,0,47,0 10,0,35,0,43,0,39,0,2,0,60,0 7,0,63,0,46,0,53,0,32,0,5,0 11,0,34,0,28,0,13,0,18,0,9,0 26,0,33,0,12,0,14,0,4,0,42,0 15,0,47,0,62,0,44,0,45,0,25,0 51,0,67,0,1,0,20,0,54,0,39,0 36,0,55,0,60,0,59,0,40,0,37,0 66,0,27,0,65,0,3,0,19,0,8,0 50,0,16,0,6,0,56,0,41,0,52,0 35,0,61,0,17,0,64,0,2,0,24,0 10,0,38,0,22,0,49,0,57,0,31,0 30,0,21,0,29,0,48,0,58,0,23,0 46,0,47,0,39,0,26,0,65,0,60,0 25,0,41,0,54,0,19,0,4,0,34,0 11,0,45,0,3,0,14,0,7,0,37,0 38,0,35,0,6,0,1,0,28,0,16,0 32,0,13,0,27,0,51,0,2,0,21,0 5,0,48,0,67,0,36,0,50,0,22,0 49,0,58,0,9,0,55,0,42,0,52,0 62,0,20,0,30,0,43,0,17,0,24,0 57,0,23,0,59,0,33,0,18,0,31,0 15,0,29,0,53,0,10,0,64,0,8,0 66,0,40,0,44,0,61,0,56,0,63,0 12,0,2,0,65,0,5,0,16,0,45,0 60,0,47,0,52,0,28,0,27,0,22,0 13,0,23,0,24,0,37,0,19,0,32,0 41,0,48,0,43,0,64,0,58,0,18,0 29,0,50,0,46,0,35,0,44,0,14,0 10,0,33,0,1,0,61,0,55,0,34,0 30,0,12,0,54,0,11,0,4,0,49,0 31,0,38,0,7,0,39,0,15,0,17,0 51,0,63,0,66,0,6,0,62,0,59,0 57,0,8,0,20,0,40,0,42,0,36,0 53,0,67,0,3,0,9,0,26,0,21,0 25,0,28,0,46,0,56,0,23,0,43,0 48,0,52,0,31,0,7,0,35,0,19,0 59,0,18,0,15,0,50,0,47,0,2,0 37,0,58,0,34,0,27,0,29,0,38,0 4,0,67,0,26,0,40,0,55,0,16,0 45,0,22,0,17,0,10,0,66,0,32,0 11,0,9,0,39,0,44,0,62,0,24,0 61,0,57,0,53,0,51,0,41,0,12,0 36,0,63,0,25,0,54,0,65,0,3,0 60,0,20,0,33,0,56,0,6,0,21,0 14,0,13,0,5,0,8,0,30,0,49,0 64,0,42,0,37,0,1,0,52,0,44,0 58,0,57,0,16,0,53,0,11,0,66,0 22,0,35,0,4,0,65,0,59,0,51,0 40,0,3,0,2,0,33,0,38,0,34,0 32,0,41,0,49,0,29,0,25,0,26,0 10,0,23,0,27,0,50,0,48,0,1,0 7,0,9,0,17,0,43,0,61,0,21,0 56,0,5,0,20,0,13,0,64,0,47,0 39,0,18,0,19,0,6,0,36,0,30,0 12,0,8,0,60,0,31,0,24,0,63,0 28,0,55,0,62,0,42,0,45,0,46,0 15,0,14,0,48,0,54,0,67,0,40,0 65,0,47,0,58,0,61,0,33,0,37,0 19,0,56,0,17,0,49,0,34,0,39,0 12,0,1,0,59,0,25,0,21,0,38,0 66,0,36,0,4,0,44,0,50,0,13,0 2,0,62,0,45,0,53,0,30,0,52,0 31,0,26,0,3,0,43,0,20,0,11,0 15,0,54,0,60,0,23,0,5,0,42,0 51,0,32,0,14,0,10,0,18,0,28,0 57,0,24,0,29,0,6,0,7,0,27,0 9,0,63,0,16,0,46,0,22,0,64,0 67,0,8,0,55,0,41,0,35,0,47,0 66,0,2,0,1,0,3,0,4,0,60,0 11,0,56,0,62,0,48,0,65,0,10,0 50,0,15,0,23,0,51,0,52,0,26,0 39,0,5,0,43,0,42,0,59,0,29,0 30,0,38,0,37,0,16,0,20,0,32,0 8,0,18,0,53,0,49,0,25,0,17,0 46,0,24,0,34,0,31,0,36,0,21,0 45,0,54,0,58,0,57,0,13,0,35,0 41,0,22,0,7,0,40,0,33,0,28,0 14,0,63,0,67,0,19,0,9,0,61,0 55,0,27,0,12,0,44,0,64,0,6,0 31,0,60,0,42,0,30,0,51,0,48,0 16,0,52,0,4,0,47,0,8,0,43,0 22,0,33,0,25,0,13,0,29,0,39,0 50,0,32,0,40,0,58,0,1,0,62,0 14,0,49,0,20,0,66,0,34,0,9,0 44,0,23,0,67,0,2,0,59,0,10,0 36,0,45,0,61,0,6,0,26,0,46,0 12,0,3,0,18,0,15,0,55,0,56,0 57,0,21,0,11,0,5,0,19,0,28,0 35,0,27,0,37,0,63,0,17,0,41,0 54,0,53,0,64,0,38,0,24,0,65,0 7,0,49,0,51,0,47,0,36,0,1,0 39,0,23,0,16,0,3,0,61,0,20,0 62,0,46,0,8,0,12,0,22,0,67,0 42,0,41,0,11,0,63,0,52,0,32,0 6,0,28,0,48,0,37,0,2,0,4,0 19,0,21,0,13,0,35,0,40,0,64,0 24,0,10,0,26,0,66,0,25,0,5,0 59,0,56,0,44,0,58,0,53,0,7,0 54,0,31,0,43,0,50,0,45,0,33,0 30,0,65,0,15,0,57,0,27,0,34,0 14,0,55,0,9,0,38,0,60,0,17,0 18,0,52,0,61,0,29,0,3,0,66,0 ================================================ FILE: schedules/67_2.csv ================================================ 4,0,27,0,23,0,6,0,36,0,32,0 66,0,26,0,55,0,16,0,56,0,8,0 45,0,65,0,19,0,64,0,20,0,60,0 2,0,7,0,33,0,24,0,34,0,29,0 61,0,46,0,13,0,54,0,50,0,57,0 48,0,53,0,14,0,47,0,11,0,59,0 51,0,40,0,9,0,42,0,22,0,3,0 21,0,41,0,35,0,1,0,30,0,62,0 39,0,31,0,58,0,49,0,52,0,67,0 43,0,28,0,10,0,25,0,5,0,37,0 44,0,15,0,63,0,18,0,17,0,38,0 12,0,40,0,26,0,45,0,23,0,7,0 14,0,65,0,34,0,61,0,66,0,4,0 64,0,56,0,67,0,33,0,35,0,22,0 20,0,10,0,11,0,51,0,36,0,30,0 32,0,5,0,57,0,59,0,21,0,63,0 49,0,17,0,12,0,24,0,46,0,48,0 58,0,50,0,37,0,41,0,44,0,6,0 62,0,60,0,42,0,31,0,2,0,43,0 55,0,27,0,29,0,15,0,19,0,3,0 28,0,38,0,13,0,53,0,9,0,39,0 25,0,16,0,47,0,52,0,18,0,54,0 1,0,44,1,61,1,8,0,5,1,48,1 ================================================ FILE: schedules/67_3.csv ================================================ 39,0,7,0,35,0,41,0,42,0,58,0 9,0,48,0,33,0,13,0,5,0,6,0 50,0,40,0,46,0,4,0,37,0,25,0 11,0,8,0,22,0,52,0,27,0,20,0 53,0,49,0,24,0,66,0,16,0,55,0 1,0,34,0,17,0,12,0,18,0,51,0 32,0,63,0,64,0,31,0,43,0,47,0 45,0,60,0,2,0,15,0,56,0,36,0 29,0,54,0,21,0,61,0,65,0,14,0 23,0,10,0,57,0,19,0,26,0,59,0 30,0,28,0,67,0,3,0,62,0,44,0 20,0,37,0,42,0,38,0,17,0,33,0 25,1,60,0,58,0,18,1,8,0,53,0 39,1,9,0,12,0,54,0,45,0,63,0 10,0,36,0,64,0,50,0,7,0,11,0 16,0,41,0,14,0,30,0,40,0,2,0 31,0,65,0,13,0,38,0,22,0,28,0 62,0,43,0,29,0,5,0,59,0,46,0 32,0,52,0,66,0,26,0,48,0,34,0 3,0,4,0,51,0,6,0,35,0,57,0 44,0,55,0,21,0,23,0,56,0,27,0 49,0,61,0,47,0,67,0,1,0,15,0 19,0,40,0,13,0,24,0,17,0,29,0 46,0,38,0,26,0,39,0,53,0,36,0 33,0,18,0,57,0,45,0,7,0,31,0 30,0,35,0,25,0,64,0,21,0,52,0 41,0,56,0,37,0,10,0,49,0,6,0 44,0,51,0,59,0,42,0,11,0,47,0 34,0,24,0,15,0,62,0,22,0,63,0 1,0,66,0,8,0,23,0,54,0,50,0 28,0,12,0,4,0,20,0,60,0,48,0 19,0,2,0,43,0,9,0,61,0,3,0 27,0,16,0,5,0,58,0,32,0,65,0 67,0,55,0,18,0,14,0,25,0,39,0 ================================================ FILE: schedules/67_4.csv ================================================ 27,0,9,0,19,0,13,0,10,0,23,0 66,0,64,0,3,0,25,0,12,0,34,0 62,0,55,0,2,0,53,0,46,0,63,0 20,0,37,0,52,0,31,0,28,0,8,0 48,0,5,0,36,0,4,0,45,0,59,0 43,0,51,0,18,0,49,0,60,0,6,0 44,0,39,0,26,0,35,0,65,0,15,0 17,0,54,0,33,0,14,0,58,0,16,0 57,0,11,0,7,0,40,0,41,0,67,0 61,0,50,0,24,0,42,0,38,0,29,0 1,0,21,0,30,0,32,0,22,0,47,0 56,0,36,0,66,0,26,0,51,0,55,0 16,0,52,0,63,0,45,0,23,0,60,0 62,0,39,0,37,0,7,0,6,0,3,0 25,0,61,0,28,0,9,0,14,0,53,0 17,0,40,0,42,0,46,0,43,0,5,0 12,0,65,0,49,0,19,0,32,0,24,0 8,0,22,0,13,0,48,0,64,0,18,0 38,0,41,0,35,0,56,0,59,0,30,0 47,0,29,0,11,0,44,0,20,0,54,0 50,0,2,0,31,0,27,0,21,0,57,0 34,0,10,0,4,0,15,0,33,0,1,0 58,0,51,0,24,0,67,0,25,0,48,0 17,1,8,0,41,0,19,1,36,0,63,0 30,0,18,0,23,0,28,0,62,0,12,0 13,0,44,0,32,0,37,0,40,0,38,0 26,0,4,0,16,0,11,0,64,0,2,0 52,0,22,0,55,0,3,0,50,0,54,0 47,0,46,0,6,0,56,0,57,0,10,0 5,0,60,0,15,0,20,0,61,0,58,0 49,0,7,0,1,0,9,0,31,0,59,0 66,0,53,0,65,0,67,0,27,0,33,0 29,0,45,0,43,0,14,0,34,0,35,0 42,0,13,0,11,0,21,0,39,0,55,0 26,0,57,0,12,0,20,0,17,0,22,0 10,0,32,0,54,0,63,0,28,0,51,0 38,0,53,0,15,0,18,0,36,0,47,0 5,0,27,0,35,0,1,0,3,0,8,0 40,0,59,0,6,0,61,0,52,0,65,0 29,0,67,0,46,0,16,0,39,0,19,0 64,0,21,0,33,0,43,0,24,0,56,0 4,0,9,0,41,0,62,0,42,0,58,0 7,0,44,0,25,0,30,0,2,0,45,0 50,0,14,0,37,0,66,0,23,0,49,0 31,0,60,0,19,0,34,0,48,0,17,0 ================================================ FILE: schedules/67_5.csv ================================================ 10,0,5,0,1,0,41,0,38,0,63,0 57,0,46,0,3,0,67,0,40,0,29,0 34,0,31,0,49,0,16,0,26,0,42,0 47,0,27,0,36,0,7,0,4,0,25,0 58,0,66,0,43,0,22,0,18,0,9,0 13,0,51,0,20,0,48,0,44,0,35,0 11,0,21,0,55,0,54,0,45,0,28,0 15,0,14,0,17,0,6,0,37,0,33,0 39,0,32,0,64,0,19,0,62,0,65,0 24,0,50,0,56,0,59,0,8,0,60,0 23,0,61,0,2,0,12,0,30,0,52,0 25,0,43,0,34,0,53,0,21,0,1,0 38,0,36,0,37,0,13,0,3,0,16,0 10,0,15,0,26,0,44,0,39,0,55,0 56,0,4,0,62,0,9,0,11,0,14,0 5,0,46,0,65,0,2,0,47,0,50,0 51,0,22,0,8,0,30,0,32,0,54,0 60,0,12,0,66,0,35,0,67,0,42,0 41,0,28,0,24,0,33,0,18,0,49,0 7,0,20,0,29,0,61,0,64,0,17,0 57,0,53,0,31,0,63,0,27,0,59,0 48,0,40,0,23,0,6,0,45,0,19,0 52,0,65,0,42,0,58,0,38,0,15,0 46,1,22,0,13,0,14,0,12,0,28,0 51,0,64,0,3,0,60,0,55,0,34,0 7,0,44,0,56,0,31,0,67,0,1,0 35,0,9,0,33,0,2,0,39,0,53,0 29,0,10,0,45,0,36,0,59,0,43,0 48,0,11,0,25,0,49,0,52,0,63,0 66,0,20,0,50,0,41,0,30,0,16,0 5,0,23,0,21,0,4,0,57,0,32,0 17,0,18,0,26,0,62,0,40,0,8,0 6,0,54,0,58,0,61,0,24,0,27,0 47,0,37,0,9,0,19,0,31,0,28,0 49,0,64,0,2,0,13,0,66,0,10,0 42,0,30,0,57,0,39,0,14,0,48,0 67,0,32,0,16,0,18,0,25,0,55,0 38,0,33,0,34,0,7,0,40,0,11,0 23,0,17,0,65,0,51,0,56,0,41,0 8,0,52,0,6,0,46,0,36,0,21,0 63,0,22,0,24,0,20,0,62,0,47,0 27,0,12,0,19,0,43,0,3,0,44,0 29,0,54,0,26,0,5,0,60,0,37,0 53,0,4,0,45,0,50,0,61,0,15,0 59,0,58,0,16,0,35,0,1,0,40,0 6,0,39,0,47,0,51,0,11,0,66,0 9,0,34,0,65,0,10,0,8,0,20,0 37,0,18,0,63,0,46,0,44,0,42,0 4,0,2,0,67,0,28,0,38,0,43,0 62,0,30,0,7,0,5,0,49,0,45,0 21,0,31,0,48,0,12,0,29,0,15,0 19,0,55,0,53,0,13,0,56,0,58,0 27,0,14,0,35,0,26,0,50,0,23,0 41,0,36,0,61,0,22,0,60,0,57,0 32,0,3,0,1,0,24,0,52,0,17,0 59,0,25,0,54,0,64,0,33,0,46,0 ================================================ FILE: schedules/67_6.csv ================================================ 32,0,64,0,41,0,3,0,61,0,50,0 67,0,12,0,59,0,22,0,30,0,29,0 36,0,28,0,55,0,6,0,23,0,51,0 24,0,7,0,39,0,54,0,13,0,20,0 26,0,57,0,45,0,65,0,43,0,1,0 31,0,18,0,42,0,53,0,44,0,33,0 9,0,16,0,27,0,8,0,37,0,62,0 52,0,4,0,46,0,2,0,5,0,38,0 63,0,49,0,35,0,11,0,34,0,56,0 66,0,15,0,17,0,10,0,21,0,25,0 60,0,40,0,48,0,47,0,19,0,14,0 58,0,8,0,28,0,65,0,61,0,20,0 3,0,36,0,27,0,44,0,39,0,59,0 30,0,50,0,18,0,11,0,57,0,16,0 31,0,1,0,56,0,4,0,54,0,66,0 48,0,35,0,25,0,6,0,5,0,33,0 24,0,45,0,41,0,9,0,47,0,38,0 7,0,2,0,32,0,55,0,67,0,40,0 37,0,17,0,63,0,12,0,14,0,42,0 49,0,21,0,29,0,23,0,26,0,46,0 51,0,34,0,58,0,53,0,13,0,15,0 64,0,22,0,10,0,62,0,52,0,60,0 19,0,11,0,8,0,43,0,3,0,7,0 25,0,56,0,14,0,18,0,59,0,55,0 40,0,5,0,1,0,21,0,41,0,42,0 2,0,54,0,15,0,30,0,63,0,28,0 53,0,26,0,27,0,52,0,48,0,32,0 60,0,61,0,33,0,49,0,51,0,67,0 23,0,45,0,44,0,20,0,10,0,50,0 36,0,29,0,62,0,24,0,57,0,31,0 9,0,22,0,6,0,4,0,58,0,43,0 65,0,13,0,47,0,46,0,66,0,37,0 64,0,38,0,35,0,19,0,12,0,39,0 17,0,16,0,7,0,34,0,48,0,1,0 23,0,42,0,54,0,27,0,57,0,60,0 59,0,24,0,40,0,8,0,49,0,6,0 32,0,66,0,63,0,5,0,44,0,62,0 20,0,38,0,43,0,67,0,37,0,25,0 14,0,21,0,11,0,39,0,22,0,51,0 2,0,50,0,34,0,31,0,26,0,47,0 33,0,46,0,56,0,64,0,30,0,58,0 16,0,3,0,55,0,65,0,35,0,29,0 10,0,4,0,19,0,41,0,53,0,28,0 52,0,18,0,61,0,17,0,45,0,13,0 12,0,9,0,32,0,15,0,36,0,49,0 46,0,63,0,39,0,25,0,40,0,50,0 38,0,14,0,23,0,66,0,3,0,34,0 62,0,6,0,53,0,20,0,11,0,1,0 26,0,56,0,67,0,24,0,28,0,16,0 57,0,15,0,41,0,48,0,22,0,8,0 43,0,17,0,44,0,29,0,2,0,64,0 60,0,31,0,21,0,13,0,30,0,9,0 61,0,7,0,42,0,10,0,35,0,36,0 65,0,52,0,51,0,54,0,59,0,19,0 58,0,12,0,5,0,27,0,18,0,47,0 37,0,55,0,33,0,4,0,45,0,15,0 14,0,13,0,44,0,16,0,41,0,6,0 48,0,43,0,23,0,31,0,61,0,39,0 66,0,20,0,42,0,9,0,29,0,52,0 65,0,53,0,12,0,2,0,56,0,60,0 28,0,27,0,22,0,34,0,40,0,45,0 21,0,64,0,67,0,8,0,36,0,63,0 3,0,1,0,51,0,46,0,24,0,18,0 54,0,26,0,10,0,11,0,38,0,33,0 49,0,5,0,50,0,55,0,19,0,17,0 35,0,57,0,37,0,32,0,59,0,58,0 47,0,25,0,30,0,62,0,7,0,4,0 ================================================ FILE: schedules/67_7.csv ================================================ 67,0,63,0,42,0,52,0,43,0,47,0 18,0,20,0,36,0,21,0,2,0,49,0 30,0,14,0,31,0,60,0,35,0,37,0 19,0,56,0,1,0,58,0,38,0,54,0 25,0,22,0,62,0,15,0,39,0,34,0 55,0,11,0,5,0,12,0,29,0,6,0 65,0,40,0,57,0,44,0,17,0,23,0 9,0,45,0,50,0,4,0,41,0,61,0 66,0,3,0,64,0,8,0,24,0,10,0 51,0,16,0,59,0,27,0,46,0,32,0 7,0,26,0,28,0,33,0,13,0,53,0 22,0,6,0,17,0,48,0,31,0,43,0 23,0,5,0,45,0,1,0,2,0,34,0 20,0,30,0,58,0,29,0,67,0,25,0 51,0,42,0,3,0,11,0,49,0,60,0 19,0,24,0,4,0,53,0,52,0,62,0 48,0,40,0,54,0,14,0,33,0,9,0 8,0,57,0,18,0,46,0,37,0,50,0 39,0,41,0,21,0,38,0,16,0,28,0 36,0,47,0,61,0,65,0,32,0,64,0 7,0,10,0,59,0,15,0,56,0,44,0 27,0,12,0,66,0,35,0,63,0,26,0 13,0,46,0,42,0,55,0,2,0,14,0 45,1,33,0,52,0,21,1,5,0,8,0 38,1,34,0,50,0,67,1,64,0,31,0 51,1,37,0,6,0,65,0,15,0,54,0 30,0,24,0,41,0,11,0,40,0,27,0 12,0,9,0,49,0,13,0,56,0,32,0 61,0,25,0,59,0,60,0,66,0,1,0 47,0,35,0,58,0,4,0,16,0,55,0 26,0,62,0,23,0,48,0,36,0,3,0 20,0,17,0,63,0,19,0,10,0,28,0 29,0,18,0,39,0,43,0,53,0,44,0 7,0,57,0,5,0,22,0,42,0,66,0 2,0,31,0,15,0,11,0,58,0,9,0 40,0,8,0,13,0,38,0,6,0,25,0 21,0,60,0,65,0,50,0,63,0,12,0 29,0,53,0,16,0,17,0,56,0,45,0 61,0,44,0,62,0,33,0,27,0,67,0 55,0,52,0,22,0,26,0,32,0,18,0 64,0,23,0,14,0,51,0,7,0,19,0 43,0,49,0,54,0,28,0,30,0,46,0 1,0,57,0,4,0,3,0,39,0,20,0 37,0,48,0,41,0,10,0,34,0,47,0 35,0,36,0,6,0,59,0,24,0,9,0 64,0,15,0,29,0,42,0,26,0,40,0 50,0,27,0,22,0,28,0,23,0,56,0 54,0,44,0,63,0,25,0,5,0,4,0 34,0,61,0,11,0,19,0,57,0,21,0 53,0,38,0,14,0,47,0,66,0,20,0 3,0,59,0,33,0,2,0,43,0,41,0 46,0,52,0,60,0,39,0,10,0,58,0 13,0,48,0,1,0,30,0,18,0,51,0 49,0,65,0,24,0,55,0,31,0,45,0 35,0,32,0,17,0,8,0,62,0,7,0 16,0,12,0,40,0,37,0,36,0,67,0 21,0,27,0,6,0,58,0,14,0,3,0 11,0,64,0,33,0,4,0,22,0,63,0 39,0,49,0,19,0,59,0,48,0,50,0 43,0,13,0,15,0,45,0,35,0,57,0 51,0,54,0,26,0,61,0,20,0,8,0 65,0,67,0,56,0,5,0,18,0,41,0 53,0,25,0,10,0,32,0,42,0,31,0 47,0,46,0,1,0,17,0,62,0,12,0 2,0,29,0,38,0,24,0,7,0,37,0 44,0,60,0,55,0,36,0,34,0,28,0 23,0,9,0,66,0,30,0,16,0,52,0 8,0,41,0,27,0,49,0,53,0,15,0 19,0,31,0,47,0,5,0,3,0,13,0 58,0,45,0,12,0,64,0,18,0,59,0 2,0,51,0,28,0,57,0,6,0,62,0 32,0,67,0,23,0,24,0,54,0,60,0 38,0,17,0,30,0,33,0,36,0,42,0 44,0,37,0,9,0,22,0,20,0,21,0 16,0,1,0,43,0,14,0,26,0,50,0 4,0,46,0,34,0,66,0,29,0,65,0 39,0,7,0,61,0,55,0,63,0,40,0 11,0,48,0,56,0,25,0,52,0,35,0 10,0,45,0,67,0,21,0,38,0,51,0 ================================================ FILE: schedules/67_8.csv ================================================ 54,0,43,0,33,0,66,0,24,0,61,0 7,0,15,0,25,0,49,0,27,0,28,0 37,0,8,0,5,0,23,0,13,0,45,0 10,0,52,0,32,0,22,0,40,0,14,0 38,0,20,0,29,0,26,0,51,0,50,0 47,0,16,0,1,0,39,0,35,0,21,0 57,0,48,0,64,0,11,0,56,0,44,0 58,0,30,0,36,0,17,0,63,0,67,0 4,0,62,0,18,0,12,0,2,0,60,0 31,0,6,0,65,0,53,0,9,0,41,0 46,0,42,0,34,0,55,0,19,0,3,0 59,0,43,0,16,0,40,0,38,0,23,0 7,0,61,0,22,0,36,0,17,0,26,0 62,0,56,0,13,0,21,0,66,0,58,0 51,0,41,0,35,0,67,0,44,0,25,0 42,0,63,0,50,0,52,0,65,0,2,0 9,0,39,0,12,0,19,0,37,0,14,0 20,0,31,0,49,0,60,0,10,0,47,0 6,0,15,0,18,0,5,0,46,0,57,0 11,0,55,0,24,0,4,0,45,0,59,0 32,0,33,0,28,0,34,0,29,0,8,0 27,0,30,0,48,0,1,0,54,0,3,0 53,0,35,0,49,0,64,0,52,0,36,0 43,1,65,0,17,0,21,1,57,0,10,0 44,1,7,0,20,0,24,1,13,0,63,0 45,0,61,0,32,0,42,0,41,0,15,0 38,0,62,0,54,0,37,0,34,0,11,0 19,0,18,0,64,0,29,0,59,0,30,0 39,0,67,0,33,0,31,0,27,0,4,0 55,0,60,0,51,0,48,0,16,0,22,0 50,0,12,0,28,0,56,0,46,0,23,0 25,0,14,0,58,0,8,0,6,0,3,0 40,0,26,0,5,0,1,0,66,0,53,0 2,0,47,0,44,0,9,0,38,0,15,0 7,0,18,0,35,0,10,0,55,0,33,0 17,0,19,0,13,0,54,0,31,0,16,0 36,0,27,0,34,0,14,0,41,0,50,0 60,0,24,0,56,0,6,0,30,0,25,0 8,0,32,0,64,0,20,0,21,0,4,0 52,0,61,0,39,0,29,0,5,0,3,0 51,0,57,0,66,0,23,0,9,0,42,0 63,0,48,0,40,0,49,0,45,0,62,0 67,0,26,0,59,0,2,0,28,0,37,0 46,0,11,0,22,0,53,0,65,0,47,0 58,0,43,0,31,0,12,0,1,0,32,0 17,0,38,0,42,0,56,0,39,0,8,0 4,0,40,0,41,0,57,0,30,0,13,0 23,0,10,0,61,0,21,0,34,0,63,0 14,0,44,0,16,0,7,0,62,0,53,0 22,0,66,0,37,0,50,0,18,0,25,0 5,0,65,0,33,0,28,0,58,0,60,0 45,0,26,0,27,0,19,0,35,0,43,0 48,0,9,0,52,0,46,0,67,0,20,0 24,0,49,0,29,0,1,0,2,0,11,0 51,0,3,0,59,0,6,0,47,0,36,0 12,0,15,0,54,0,64,0,55,0,40,0 63,0,5,0,66,0,38,0,4,0,19,0 60,0,23,0,53,0,27,0,17,0,32,0 44,0,8,0,1,0,18,0,61,0,65,0 35,0,24,0,57,0,31,0,48,0,34,0 6,0,55,0,62,0,28,0,20,0,39,0 21,0,56,0,14,0,29,0,51,0,54,0 46,0,45,0,2,0,25,0,16,0,36,0 43,0,37,0,64,0,52,0,7,0,41,0 15,0,11,0,3,0,67,0,10,0,50,0 9,0,58,0,13,0,49,0,59,0,22,0 42,0,30,0,26,0,33,0,47,0,12,0 34,0,20,0,65,0,56,0,16,0,5,0 40,0,17,0,46,0,37,0,27,0,29,0 60,0,67,0,19,0,8,0,57,0,7,0 39,0,53,0,51,0,15,0,58,0,24,0 9,0,50,0,61,0,55,0,30,0,35,0 4,0,49,0,54,0,42,0,44,0,6,0 62,0,23,0,52,0,26,0,31,0,25,0 11,0,18,0,36,0,13,0,43,0,32,0 3,0,22,0,21,0,45,0,12,0,38,0 59,0,2,0,33,0,48,0,10,0,41,0 14,0,66,0,47,0,64,0,28,0,63,0 1,0,34,0,4,0,52,0,17,0,51,0 67,0,43,0,56,0,5,0,53,0,55,0 16,0,37,0,3,0,32,0,49,0,57,0 8,0,24,0,10,0,9,0,62,0,27,0 23,0,2,0,6,0,19,0,44,0,22,0 36,0,29,0,48,0,65,0,12,0,66,0 31,0,21,0,28,0,42,0,18,0,40,0 38,0,25,0,13,0,61,0,64,0,33,0 41,0,11,0,63,0,39,0,60,0,26,0 47,0,50,0,7,0,54,0,58,0,45,0 1,0,15,0,35,0,14,0,59,0,20,0 46,0,21,0,44,0,30,0,43,0,24,0 ================================================ FILE: schedules/67_9.csv ================================================ 40,0,3,0,30,0,14,0,63,0,49,0 60,0,56,0,9,0,23,0,1,0,34,0 52,0,41,0,11,0,26,0,59,0,58,0 38,0,47,0,31,0,20,0,44,0,53,0 45,0,22,0,37,0,24,0,35,0,33,0 65,0,32,0,67,0,51,0,16,0,50,0 17,0,57,0,8,0,12,0,28,0,7,0 36,0,4,0,39,0,13,0,19,0,10,0 64,0,66,0,27,0,2,0,18,0,43,0 42,0,21,0,29,0,6,0,25,0,61,0 54,0,15,0,55,0,46,0,48,0,62,0 5,0,40,0,9,0,28,0,67,0,8,0 50,0,58,0,34,0,59,0,47,0,17,0 10,0,2,0,12,0,24,0,49,0,32,0 11,0,35,0,63,0,65,0,38,0,66,0 52,0,44,0,25,0,64,0,39,0,3,0 56,0,36,0,55,0,45,0,41,0,42,0 6,0,21,0,13,0,37,0,30,0,31,0 1,0,14,0,4,0,18,0,5,0,48,0 20,0,22,0,16,0,46,0,61,0,60,0 23,0,7,0,54,0,53,0,15,0,33,0 29,0,43,0,57,0,26,0,19,0,51,0 62,0,41,0,13,0,27,0,12,0,35,0 45,1,59,0,48,0,49,1,65,0,39,0 52,1,8,0,60,0,6,0,4,0,66,0 53,0,3,0,34,0,21,0,55,0,5,0 28,0,10,0,50,0,54,0,38,0,42,0 62,0,9,0,47,0,37,0,29,0,64,0 33,0,40,0,56,0,27,0,57,0,61,0 2,0,24,0,58,0,25,0,14,0,46,0 17,0,26,0,23,0,44,0,32,0,30,0 51,0,20,0,11,0,18,0,15,0,63,0 1,0,7,0,43,0,36,0,31,0,67,0 19,0,16,0,12,0,22,0,34,0,21,0 35,0,8,0,61,0,10,0,14,0,55,0 33,0,26,0,39,0,38,0,2,0,62,0 29,0,46,0,5,0,23,0,64,0,13,0 54,0,24,0,20,0,36,0,7,0,49,0 30,0,50,0,18,0,60,0,41,0,19,0 52,0,15,0,40,0,17,0,31,0,22,0 27,0,37,0,59,0,67,0,42,0,63,0 43,0,65,0,48,0,9,0,3,0,57,0 44,0,45,0,51,0,6,0,28,0,58,0 53,0,47,0,4,0,16,0,11,0,1,0 25,0,66,0,19,0,56,0,32,0,54,0 63,0,17,0,21,0,2,0,60,0,36,0 43,0,30,0,24,0,62,0,42,0,40,0 18,0,12,0,3,0,23,0,45,0,10,0 57,0,37,0,44,0,4,0,55,0,49,0 1,0,25,0,53,0,52,0,50,0,35,0 16,0,38,0,5,0,59,0,56,0,29,0 66,0,51,0,14,0,13,0,33,0,9,0 7,0,32,0,48,0,11,0,27,0,22,0 6,0,39,0,15,0,58,0,67,0,61,0 64,0,34,0,28,0,65,0,20,0,41,0 26,0,47,0,18,0,31,0,46,0,8,0 16,0,55,0,63,0,24,0,13,0,52,0 54,0,59,0,44,0,43,0,12,0,14,0 67,0,62,0,23,0,57,0,11,0,21,0 29,0,15,0,4,0,50,0,41,0,2,0 6,0,36,0,46,0,32,0,9,0,38,0 31,0,64,0,51,0,35,0,17,0,49,0 7,0,3,0,37,0,66,0,61,0,34,0 45,0,20,0,27,0,25,0,5,0,30,0 19,0,58,0,33,0,40,0,1,0,8,0 47,0,22,0,65,0,10,0,26,0,56,0 28,0,42,0,60,0,39,0,48,0,53,0 18,0,7,0,21,0,9,0,59,0,52,0 4,0,38,0,13,0,43,0,23,0,49,0 14,0,32,0,31,0,45,0,57,0,34,0 46,0,1,0,10,0,44,0,63,0,41,0 60,0,11,0,55,0,29,0,54,0,40,0 62,0,8,0,20,0,17,0,42,0,3,0 28,0,19,0,35,0,6,0,47,0,27,0 66,0,5,0,39,0,22,0,24,0,50,0 26,0,16,0,36,0,64,0,25,0,15,0 37,0,12,0,53,0,65,0,58,0,56,0 51,0,67,0,2,0,30,0,48,0,61,0 33,0,31,0,63,0,32,0,4,0,28,0 45,0,7,0,38,0,21,0,40,0,47,0 49,0,66,0,42,0,1,0,15,0,26,0 24,0,9,0,17,0,19,0,11,0,56,0 54,0,13,0,58,0,2,0,3,0,22,0 5,0,10,0,62,0,25,0,60,0,51,0 35,0,34,0,67,0,29,0,44,0,18,0 48,0,6,0,55,0,33,0,50,0,20,0 41,0,8,0,16,0,39,0,43,0,37,0 52,0,14,0,65,0,27,0,36,0,23,0 64,0,46,0,30,0,59,0,53,0,57,0 61,0,9,0,26,0,12,0,45,0,4,0 15,0,60,0,32,0,47,0,13,0,3,0 17,0,18,0,25,0,37,0,55,0,38,0 48,0,10,0,41,0,31,0,66,0,16,0 42,0,44,0,65,0,5,0,7,0,19,0 36,0,29,0,52,0,33,0,30,0,12,0 49,0,21,0,56,0,14,0,39,0,28,0 27,0,8,0,34,0,51,0,24,0,53,0 35,0,59,0,2,0,40,0,20,0,23,0 63,0,61,0,50,0,58,0,62,0,43,0 64,0,57,0,6,0,54,0,1,0,22,0 67,0,11,0,49,0,46,0,45,0,52,0 ================================================ FILE: schedules/68_1.csv ================================================ 51,0,61,0,5,0,20,0,9,0,23,0 48,0,28,0,21,0,8,0,67,0,18,0 64,0,46,0,7,0,39,0,37,0,15,0 3,0,47,0,25,0,44,0,66,0,58,0 12,0,65,0,55,0,4,0,60,0,34,0 68,0,36,0,56,0,10,0,35,0,6,0 32,0,24,0,22,0,1,0,2,0,43,0 40,0,57,0,29,0,31,0,49,0,53,0 41,0,19,0,50,0,14,0,59,0,62,0 33,0,16,0,27,0,26,0,11,0,42,0 52,0,38,0,13,0,30,0,54,0,45,0 63,0,32,1,7,1,17,0,28,1,64,1 ================================================ FILE: schedules/68_10.csv ================================================ 24,0,45,0,16,0,57,0,48,0,60,0 67,0,62,0,61,0,65,0,13,0,27,0 53,0,22,0,55,0,63,0,10,0,37,0 46,0,31,0,54,0,25,0,26,0,34,0 33,0,5,0,30,0,14,0,21,0,41,0 42,0,44,0,56,0,12,0,58,0,32,0 50,0,38,0,2,0,4,0,6,0,17,0 29,0,18,0,3,0,59,0,43,0,19,0 9,0,66,0,64,0,28,0,39,0,51,0 52,0,36,0,49,0,20,0,23,0,11,0 15,0,8,0,47,0,1,0,68,0,35,0 7,0,41,0,26,0,40,0,62,0,58,0 55,0,65,0,29,0,33,0,54,0,45,0 17,0,25,0,44,0,27,0,10,0,51,0 13,0,6,0,63,0,64,0,52,0,57,0 19,0,11,0,36,0,30,0,4,0,42,0 38,0,68,0,60,0,9,0,18,0,21,0 48,0,37,0,34,0,56,0,47,0,39,0 50,0,7,0,61,0,5,0,53,0,49,0 1,0,14,0,28,0,22,0,43,0,12,0 3,0,66,0,35,0,24,0,2,0,20,0 31,0,40,0,8,0,23,0,67,0,59,0 46,0,32,0,18,0,16,0,15,0,52,0 68,1,64,0,48,0,61,1,34,0,38,0 12,1,10,0,39,0,11,1,50,0,41,0 56,0,7,0,66,0,29,0,30,0,25,0 53,0,19,0,47,0,58,0,54,0,9,0 1,0,21,0,42,0,31,0,17,0,16,0 40,0,67,0,57,0,36,0,28,0,2,0 45,0,26,0,23,0,15,0,44,0,37,0 20,0,65,0,8,0,63,0,51,0,14,0 4,0,33,0,24,0,22,0,62,0,46,0 13,0,43,0,3,0,60,0,5,0,55,0 59,0,27,0,35,0,49,0,6,0,32,0 57,0,16,0,23,0,58,0,38,0,39,0 17,0,54,0,40,0,48,0,20,0,18,0 63,0,1,0,9,0,26,0,11,0,44,0 14,0,4,0,29,0,51,0,60,0,37,0 43,0,50,0,34,0,66,0,52,0,27,0 19,0,68,0,28,0,6,0,62,0,55,0 41,0,32,0,67,0,22,0,45,0,7,0 12,0,2,0,30,0,8,0,10,0,46,0 13,0,61,0,21,0,35,0,47,0,36,0 3,0,56,0,65,0,31,0,64,0,49,0 15,0,59,0,42,0,25,0,53,0,33,0 5,0,40,0,63,0,24,0,38,0,32,0 66,0,67,0,34,0,12,0,26,0,17,0 11,0,2,0,27,0,22,0,16,0,21,0 35,0,31,0,51,0,43,0,48,0,7,0 54,0,15,0,49,0,14,0,57,0,30,0 28,0,45,0,47,0,4,0,18,0,25,0 33,0,39,0,8,0,44,0,3,0,6,0 60,0,58,0,46,0,50,0,64,0,59,0 20,0,1,0,52,0,55,0,42,0,61,0 13,0,68,0,53,0,41,0,23,0,56,0 9,0,24,0,62,0,37,0,36,0,29,0 10,0,5,0,7,0,65,0,19,0,16,0 21,0,34,0,49,0,44,0,4,0,8,0 25,0,43,0,58,0,67,0,38,0,63,0 14,0,53,0,17,0,45,0,11,0,46,0 54,0,39,0,29,0,1,0,22,0,13,0 59,0,68,0,36,0,48,0,66,0,10,0 57,0,51,0,32,0,62,0,47,0,3,0 12,0,37,0,52,0,2,0,31,0,33,0 60,0,41,0,27,0,20,0,26,0,19,0 5,0,35,0,9,0,42,0,64,0,40,0 15,0,55,0,28,0,24,0,50,0,56,0 65,0,6,0,61,0,30,0,23,0,18,0 14,0,31,0,39,0,32,0,47,0,2,0 33,0,49,0,16,0,17,0,43,0,68,0 52,0,22,0,26,0,51,0,5,0,64,0 57,0,21,0,53,0,40,0,55,0,66,0 58,0,15,0,48,0,4,0,9,0,65,0 37,0,42,0,6,0,54,0,60,0,67,0 62,0,59,0,63,0,12,0,50,0,35,0 20,0,7,0,25,0,24,0,11,0,13,0 18,0,41,0,36,0,3,0,1,0,46,0 29,0,10,0,34,0,28,0,23,0,61,0 19,0,45,0,27,0,38,0,8,0,56,0 44,0,43,0,62,0,30,0,64,0,47,0 59,0,51,0,12,0,54,0,21,0,24,0 48,0,9,0,26,0,2,0,25,0,49,0 18,0,13,0,28,0,33,0,58,0,37,0 53,0,23,0,1,0,67,0,35,0,4,0 50,0,40,0,36,0,14,0,16,0,34,0 15,0,63,0,17,0,3,0,7,0,39,0 44,0,41,0,38,0,65,0,60,0,52,0 22,0,19,0,56,0,66,0,61,0,57,0 30,0,68,0,46,0,27,0,29,0,42,0 5,0,31,0,6,0,10,0,45,0,20,0 8,0,32,0,64,0,11,0,55,0,18,0 4,0,12,0,60,0,40,0,52,0,7,0 51,0,66,0,49,0,13,0,33,0,38,0 46,0,23,0,48,0,19,0,63,0,21,0 17,0,47,0,27,0,5,0,24,0,29,0 55,0,2,0,14,0,44,0,59,0,61,0 65,0,37,0,57,0,50,0,32,0,1,0 42,0,25,0,9,0,6,0,34,0,41,0 30,0,3,0,16,0,53,0,26,0,28,0 11,0,10,0,56,0,43,0,54,0,35,0 45,0,39,0,67,0,20,0,62,0,68,0 8,0,22,0,58,0,36,0,15,0,31,0 23,0,7,0,12,0,27,0,9,0,55,0 38,0,47,0,49,0,42,0,46,0,28,0 54,0,61,0,16,0,63,0,41,0,66,0 25,0,37,0,11,0,3,0,19,0,40,0 24,0,6,0,36,0,43,0,65,0,53,0 20,0,50,0,44,0,22,0,29,0,68,0 2,0,62,0,18,0,5,0,56,0,34,0 10,0,64,0,21,0,14,0,15,0,67,0 59,0,26,0,4,0,13,0,39,0,57,0 60,0,33,0,32,0,1,0,8,0,48,0 30,0,58,0,35,0,17,0,52,0,45,0 51,0,61,0,11,0,31,0,68,0,12,0 ================================================ FILE: schedules/68_11.csv ================================================ 40,0,58,0,19,0,12,0,45,0,7,0 3,0,14,0,35,0,66,0,60,0,2,0 49,0,52,0,11,0,8,0,63,0,6,0 28,0,22,0,41,0,37,0,56,0,27,0 47,0,68,0,36,0,32,0,39,0,53,0 21,0,9,0,10,0,65,0,13,0,17,0 57,0,29,0,59,0,4,0,25,0,31,0 67,0,48,0,54,0,61,0,44,0,64,0 55,0,50,0,15,0,26,0,42,0,30,0 23,0,24,0,38,0,1,0,5,0,18,0 34,0,51,0,46,0,33,0,20,0,16,0 62,0,11,0,59,0,43,0,52,0,35,0 17,0,40,0,28,0,48,0,57,0,14,0 68,0,7,0,63,0,50,0,65,0,67,0 3,0,9,0,31,0,39,0,22,0,55,0 58,0,54,0,21,0,19,0,42,0,33,0 32,0,36,0,5,0,26,0,25,0,61,0 37,0,2,0,10,0,46,0,4,0,1,0 41,0,29,0,64,0,43,0,30,0,49,0 6,0,16,0,15,0,56,0,23,0,13,0 12,0,20,0,62,0,38,0,47,0,45,0 53,0,18,0,44,0,66,0,51,0,27,0 60,0,8,0,25,0,34,0,24,0,54,0 52,1,19,0,1,0,48,1,29,0,68,0 14,0,65,0,23,0,41,0,33,0,11,0 59,0,26,0,3,0,10,0,58,0,7,0 13,0,6,0,67,0,39,0,2,0,35,0 20,0,51,0,60,0,31,0,64,0,17,0 32,0,56,0,4,0,44,0,9,0,8,0 38,0,57,0,46,0,61,0,55,0,27,0 5,0,37,0,62,0,40,0,30,0,16,0 22,0,63,0,42,0,66,0,47,0,34,0 45,0,21,0,43,0,50,0,28,0,53,0 24,0,18,0,36,0,49,0,15,0,12,0 11,0,58,0,27,0,9,0,64,0,67,0 48,0,38,0,37,0,33,0,8,0,39,0 26,0,66,0,4,0,30,0,52,0,31,0 55,0,56,0,29,0,5,0,65,0,21,0 32,0,60,0,12,0,59,0,28,0,1,0 13,0,42,0,14,0,24,0,45,0,68,0 50,0,16,0,54,0,57,0,47,0,35,0 3,0,51,0,23,0,49,0,36,0,40,0 43,0,53,0,6,0,19,0,22,0,10,0 25,0,63,0,62,0,15,0,44,0,46,0 41,0,34,0,17,0,7,0,2,0,18,0 20,0,56,0,66,0,61,0,50,0,12,0 65,0,47,0,42,0,37,0,51,0,64,0 67,0,4,0,49,0,5,0,45,0,14,0 59,0,13,0,53,0,8,0,54,0,29,0 68,0,25,0,58,0,62,0,2,0,21,0 7,0,43,0,3,0,15,0,20,0,57,0 33,0,52,0,61,0,18,0,17,0,22,0 23,0,9,0,34,0,26,0,28,0,10,0 38,0,31,0,16,0,36,0,44,0,11,0 1,0,35,0,27,0,63,0,39,0,40,0 46,0,6,0,24,0,41,0,32,0,48,0 60,0,19,0,7,0,55,0,30,0,67,0 29,0,34,0,52,0,58,0,14,0,37,0 2,0,8,0,5,0,31,0,42,0,20,0 44,0,57,0,12,0,21,0,23,0,22,0 46,0,40,0,11,0,56,0,15,0,47,0 13,0,50,0,4,0,27,0,36,0,62,0 3,0,28,0,30,0,25,0,6,0,65,0 61,0,51,0,19,0,9,0,35,0,41,0 66,0,54,0,17,0,43,0,38,0,1,0 26,0,53,0,33,0,39,0,64,0,24,0 60,0,45,0,16,0,63,0,18,0,32,0 68,0,49,0,55,0,59,0,10,0,48,0 40,0,65,0,12,0,44,0,4,0,52,0 50,0,8,0,35,0,17,0,25,0,23,0 31,0,61,0,67,0,24,0,21,0,37,0 20,0,18,0,27,0,6,0,29,0,26,0 30,0,47,0,2,0,9,0,59,0,33,0 41,0,42,0,57,0,53,0,60,0,62,0 34,0,1,0,45,0,3,0,55,0,11,0 66,0,28,0,64,0,46,0,68,0,16,0 43,0,39,0,58,0,63,0,51,0,56,0 38,0,32,0,10,0,19,0,15,0,14,0 22,0,48,0,36,0,5,0,7,0,54,0 13,0,40,0,61,0,49,0,34,0,60,0 12,0,17,0,26,0,67,0,3,0,46,0 25,0,53,0,64,0,31,0,56,0,1,0 35,0,44,0,37,0,43,0,24,0,10,0 2,0,29,0,33,0,63,0,57,0,45,0 20,0,30,0,23,0,32,0,68,0,27,0 18,0,48,0,4,0,11,0,42,0,21,0 8,0,14,0,62,0,36,0,51,0,55,0 52,0,41,0,15,0,39,0,28,0,54,0 13,0,22,0,16,0,58,0,65,0,38,0 5,0,9,0,6,0,59,0,7,0,66,0 49,0,19,0,31,0,47,0,50,0,27,0 63,0,37,0,23,0,48,0,3,0,53,0 10,0,56,0,36,0,42,0,52,0,60,0 8,0,1,0,26,0,14,0,16,0,21,0 35,0,33,0,15,0,5,0,41,0,12,0 50,0,68,0,2,0,11,0,51,0,38,0 58,0,32,0,49,0,65,0,66,0,57,0 22,0,9,0,25,0,20,0,40,0,67,0 18,0,46,0,55,0,13,0,43,0,54,0 44,0,45,0,39,0,17,0,30,0,59,0 47,0,24,0,61,0,28,0,29,0,7,0 62,0,4,0,64,0,6,0,34,0,19,0 1,0,57,0,53,0,52,0,20,0,9,0 16,0,66,0,55,0,41,0,25,0,67,0 2,0,65,0,43,0,48,0,40,0,26,0 10,0,14,0,30,0,12,0,31,0,54,0 17,0,11,0,29,0,22,0,32,0,62,0 56,0,21,0,34,0,51,0,59,0,24,0 18,0,61,0,35,0,3,0,68,0,4,0 33,0,28,0,63,0,36,0,19,0,13,0 39,0,42,0,7,0,23,0,46,0,49,0 60,0,5,0,44,0,6,0,50,0,58,0 64,0,27,0,45,0,8,0,37,0,15,0 38,0,21,0,52,0,47,0,3,0,32,0 24,0,20,0,17,0,4,0,55,0,63,0 65,0,34,0,30,0,35,0,36,0,53,0 1,0,7,0,67,0,33,0,56,0,62,0 12,0,27,0,43,0,16,0,61,0,2,0 28,0,6,0,31,0,42,0,38,0,40,0 48,0,15,0,23,0,60,0,9,0,29,0 68,0,54,0,44,0,26,0,49,0,37,0 57,0,11,0,39,0,66,0,5,0,19,0 50,0,59,0,14,0,64,0,46,0,22,0 47,0,8,0,10,0,41,0,58,0,18,0 51,0,25,0,48,0,45,0,13,0,52,0 ================================================ FILE: schedules/68_12.csv ================================================ 27,0,10,0,61,0,34,0,66,0,35,0 13,0,24,0,36,0,68,0,49,0,19,0 46,0,58,0,1,0,23,0,57,0,42,0 29,0,28,0,60,0,18,0,53,0,5,0 38,0,54,0,62,0,25,0,22,0,17,0 20,0,55,0,45,0,67,0,39,0,43,0 2,0,44,0,37,0,16,0,21,0,48,0 52,0,9,0,63,0,47,0,33,0,3,0 41,0,4,0,7,0,31,0,26,0,59,0 14,0,50,0,64,0,56,0,32,0,11,0 8,0,12,0,6,0,40,0,30,0,65,0 51,0,68,0,36,0,15,0,5,0,42,0 62,0,3,0,29,0,49,0,16,0,55,0 44,0,4,0,67,0,41,0,22,0,52,0 63,0,50,0,2,0,23,0,20,0,37,0 32,0,28,0,57,0,61,0,8,0,13,0 64,0,54,0,26,0,38,0,33,0,1,0 46,0,9,0,59,0,65,0,19,0,31,0 12,0,48,0,53,0,11,0,7,0,66,0 15,0,51,0,17,0,18,0,10,0,45,0 43,0,21,0,30,0,56,0,27,0,40,0 58,0,47,0,34,0,24,0,14,0,25,0 35,0,6,0,3,0,60,0,39,0,36,0 61,0,68,0,4,0,37,0,46,0,55,0 16,0,18,0,66,0,1,0,9,0,64,0 8,0,38,0,43,0,41,0,29,0,15,0 67,0,23,0,24,0,17,0,40,0,7,0 60,0,21,0,31,0,12,0,32,0,51,0 11,0,50,0,35,0,25,0,33,0,59,0 44,0,10,0,30,0,53,0,42,0,65,0 22,0,27,0,47,0,39,0,6,0,13,0 52,0,2,0,28,0,63,0,45,0,14,0 58,0,48,0,5,0,49,0,20,0,54,0 56,0,34,0,26,0,57,0,19,0,62,0 51,0,16,0,42,0,65,0,38,0,50,0 61,0,11,0,29,0,30,0,9,0,68,0 23,0,53,0,31,0,55,0,33,0,67,0 44,0,49,0,12,0,27,0,6,0,4,0 40,0,37,0,18,0,46,0,54,0,35,0 13,0,7,0,34,0,15,0,21,0,20,0 10,0,62,0,36,0,28,0,47,0,59,0 19,0,5,0,41,0,3,0,1,0,14,0 24,0,64,0,57,0,45,0,48,0,60,0 56,0,43,0,66,0,39,0,22,0,8,0 2,0,58,0,17,0,26,0,52,0,32,0 63,0,65,0,44,0,25,0,31,0,61,0 11,0,62,0,40,0,41,0,13,0,1,0 67,0,53,0,54,0,19,0,36,0,50,0 23,0,47,0,30,0,38,0,18,0,59,0 60,0,27,0,42,0,2,0,55,0,9,0 25,0,32,0,35,0,66,0,22,0,15,0 10,0,26,0,8,0,48,0,37,0,14,0 16,0,46,0,7,0,49,0,45,0,56,0 5,0,39,0,21,0,63,0,24,0,4,0 29,0,68,0,20,0,17,0,57,0,6,0 43,0,12,0,3,0,51,0,33,0,58,0 28,0,34,0,30,0,64,0,52,0,67,0 15,0,31,0,14,0,54,0,27,0,16,0 5,0,50,0,60,0,26,0,40,0,22,0 57,0,1,0,68,0,47,0,32,0,63,0 23,0,41,0,36,0,66,0,65,0,45,0 61,0,33,0,20,0,29,0,10,0,24,0 59,0,56,0,7,0,44,0,3,0,18,0 12,0,39,0,11,0,34,0,19,0,2,0 42,0,62,0,52,0,64,0,21,0,37,0 38,0,28,0,6,0,4,0,55,0,58,0 48,0,35,0,13,0,9,0,17,0,43,0 49,0,51,0,46,0,25,0,53,0,8,0 57,0,50,0,26,0,3,0,27,0,30,0 18,0,64,0,61,0,41,0,12,0,21,0 55,0,22,0,36,0,20,0,16,0,34,0 9,0,14,0,5,0,44,0,43,0,62,0 6,0,59,0,37,0,51,0,66,0,24,0 2,0,48,0,33,0,38,0,46,0,68,0 45,0,42,0,32,0,47,0,11,0,4,0 56,0,28,0,15,0,17,0,23,0,49,0 7,0,63,0,31,0,19,0,58,0,40,0 65,0,52,0,8,0,39,0,35,0,53,0 1,0,25,0,67,0,60,0,10,0,13,0 54,0,50,0,47,0,29,0,34,0,21,0 55,0,42,0,17,0,5,0,59,0,12,0 31,0,18,0,33,0,57,0,66,0,49,0 20,0,36,0,64,0,44,0,27,0,8,0 41,0,3,0,39,0,25,0,68,0,10,0 15,0,6,0,32,0,63,0,46,0,11,0 65,0,9,0,22,0,37,0,7,0,28,0 30,0,4,0,54,0,43,0,13,0,2,0 24,0,58,0,53,0,56,0,62,0,1,0 19,0,16,0,38,0,60,0,52,0,35,0 26,0,14,0,67,0,23,0,51,0,61,0 45,0,40,0,25,0,48,0,29,0,42,0 13,0,30,0,32,0,33,0,36,0,5,0 9,0,41,0,53,0,2,0,54,0,6,0 12,0,24,0,15,0,28,0,50,0,44,0 21,0,11,0,49,0,23,0,26,0,65,0 45,0,34,0,37,0,58,0,3,0,38,0 63,0,8,0,19,0,16,0,4,0,17,0 51,0,55,0,48,0,35,0,47,0,56,0 61,0,1,0,60,0,52,0,43,0,7,0 10,0,64,0,22,0,31,0,46,0,29,0 27,0,68,0,66,0,18,0,67,0,62,0 40,0,59,0,14,0,57,0,20,0,39,0 45,0,5,0,23,0,8,0,9,0,34,0 19,0,47,0,24,0,30,0,2,0,15,0 37,0,17,0,33,0,44,0,41,0,60,0 54,0,52,0,25,0,26,0,68,0,12,0 38,0,66,0,55,0,14,0,7,0,21,0 57,0,16,0,10,0,6,0,11,0,43,0 63,0,49,0,27,0,59,0,42,0,22,0 1,0,20,0,28,0,31,0,35,0,51,0 40,0,3,0,53,0,32,0,64,0,4,0 39,0,18,0,48,0,50,0,62,0,61,0 13,0,65,0,67,0,56,0,58,0,29,0 46,0,26,0,43,0,36,0,34,0,63,0 1,0,49,0,37,0,30,0,12,0,14,0 68,0,40,0,47,0,16,0,53,0,28,0 52,0,51,0,3,0,48,0,23,0,27,0 59,0,15,0,39,0,58,0,64,0,60,0 19,0,33,0,45,0,61,0,22,0,6,0 11,0,65,0,18,0,67,0,38,0,20,0 25,0,21,0,4,0,9,0,57,0,36,0 44,0,13,0,17,0,50,0,66,0,46,0 55,0,24,0,32,0,41,0,10,0,54,0 29,0,8,0,35,0,2,0,7,0,62,0 42,0,56,0,6,0,31,0,5,0,52,0 4,0,34,0,15,0,65,0,48,0,1,0 27,0,33,0,43,0,19,0,25,0,37,0 14,0,22,0,23,0,36,0,18,0,12,0 32,0,39,0,29,0,26,0,51,0,44,0 2,0,16,0,35,0,57,0,58,0,67,0 54,0,60,0,66,0,42,0,63,0,28,0 5,0,64,0,17,0,61,0,47,0,7,0 45,0,21,0,59,0,53,0,68,0,13,0 9,0,38,0,10,0,49,0,50,0,40,0 55,0,3,0,31,0,24,0,11,0,8,0 20,0,62,0,41,0,56,0,46,0,30,0 ================================================ FILE: schedules/68_13.csv ================================================ 56,0,35,0,7,0,55,0,4,0,37,0 25,0,65,0,50,0,68,0,49,0,14,0 9,0,52,0,28,0,1,0,67,0,54,0 36,0,22,0,43,0,32,0,16,0,2,0 3,0,17,0,5,0,60,0,48,0,29,0 19,0,53,0,58,0,10,0,20,0,39,0 45,0,38,0,27,0,51,0,31,0,24,0 33,0,13,0,62,0,18,0,44,0,59,0 21,0,47,0,42,0,46,0,34,0,57,0 15,0,64,0,11,0,61,0,8,0,41,0 26,0,40,0,23,0,30,0,63,0,6,0 12,0,27,0,36,0,66,0,48,0,39,0 28,0,32,0,25,0,62,0,59,0,9,0 54,0,17,0,42,0,22,0,44,0,50,0 53,0,41,0,55,0,19,0,1,0,3,0 24,0,58,0,68,0,35,0,63,0,11,0 40,0,7,0,12,0,67,0,21,0,52,0 10,0,51,0,4,0,43,0,18,0,23,0 65,0,31,0,66,0,34,0,13,0,16,0 38,0,46,0,6,0,5,0,64,0,56,0 61,0,60,0,30,0,2,0,49,0,57,0 33,0,20,0,26,0,45,0,37,0,8,0 14,0,29,0,43,0,15,0,47,0,52,0 21,1,63,0,34,0,35,1,59,0,36,0 27,1,50,0,64,0,13,1,3,0,23,0 58,0,57,0,10,0,22,0,51,0,49,0 5,0,11,0,54,0,65,0,37,0,2,0 9,0,45,0,7,0,39,0,14,0,6,0 55,0,26,0,32,0,33,0,68,0,47,0 8,0,67,0,60,0,56,0,42,0,29,0 25,0,48,0,38,0,1,0,15,0,28,0 44,0,66,0,20,0,46,0,41,0,30,0 18,0,40,0,24,0,61,0,19,0,16,0 31,0,4,0,17,0,53,0,12,0,62,0 36,0,13,0,49,0,3,0,6,0,54,0 34,0,52,0,37,0,32,0,64,0,68,0 27,0,10,0,44,0,60,0,58,0,25,0 2,0,14,0,22,0,1,0,24,0,41,0 47,0,12,0,35,0,28,0,18,0,51,0 17,0,45,0,50,0,9,0,66,0,61,0 15,0,38,0,30,0,62,0,7,0,55,0 16,0,63,0,59,0,20,0,42,0,46,0 19,0,4,0,23,0,5,0,21,0,33,0 39,0,8,0,53,0,43,0,67,0,65,0 26,0,57,0,48,0,40,0,29,0,11,0 56,0,36,0,3,0,31,0,45,0,47,0 14,0,16,0,30,0,27,0,28,0,17,0 23,0,68,0,2,0,13,0,7,0,20,0 37,0,15,0,63,0,5,0,10,0,12,0 42,0,51,0,34,0,1,0,11,0,6,0 66,0,33,0,67,0,38,0,22,0,35,0 44,0,41,0,31,0,52,0,40,0,39,0 50,0,62,0,21,0,8,0,24,0,26,0 57,0,18,0,61,0,56,0,53,0,25,0 46,0,48,0,58,0,4,0,32,0,54,0 29,0,64,0,9,0,55,0,49,0,59,0 60,0,43,0,47,0,19,0,65,0,6,0 16,0,17,0,21,0,45,0,33,0,15,0 67,0,36,0,51,0,13,0,25,0,5,0 40,0,41,0,35,0,53,0,38,0,54,0 29,0,61,0,46,0,62,0,10,0,34,0 2,0,18,0,55,0,50,0,48,0,63,0 31,0,7,0,64,0,58,0,28,0,42,0 24,0,12,0,11,0,56,0,9,0,43,0 22,0,37,0,59,0,49,0,19,0,52,0 65,0,4,0,20,0,27,0,57,0,3,0 14,0,8,0,44,0,32,0,23,0,66,0 68,0,30,0,26,0,39,0,1,0,60,0 11,0,2,0,42,0,25,0,55,0,17,0 33,0,29,0,6,0,50,0,41,0,28,0 19,0,63,0,13,0,9,0,57,0,38,0 18,0,10,0,46,0,24,0,7,0,36,0 23,0,60,0,59,0,45,0,54,0,66,0 26,0,67,0,14,0,34,0,4,0,43,0 5,0,1,0,8,0,44,0,58,0,12,0 37,0,30,0,64,0,16,0,47,0,53,0 56,0,40,0,15,0,27,0,32,0,49,0 52,0,65,0,62,0,20,0,61,0,51,0 68,0,48,0,3,0,21,0,31,0,22,0 39,0,25,0,46,0,35,0,50,0,60,0 12,0,16,0,9,0,26,0,38,0,10,0 40,0,55,0,28,0,37,0,36,0,58,0 20,0,49,0,5,0,18,0,17,0,34,0 66,0,4,0,7,0,8,0,19,0,11,0 2,0,64,0,6,0,54,0,21,0,68,0 45,0,43,0,52,0,27,0,30,0,35,0 61,0,47,0,62,0,22,0,39,0,23,0 65,0,53,0,24,0,44,0,32,0,29,0 63,0,3,0,51,0,56,0,33,0,14,0 57,0,67,0,59,0,1,0,31,0,48,0 15,0,41,0,19,0,42,0,13,0,26,0 40,0,49,0,34,0,8,0,35,0,62,0 65,0,28,0,12,0,46,0,22,0,55,0 21,0,51,0,9,0,44,0,53,0,68,0 50,0,4,0,52,0,38,0,36,0,16,0 42,0,10,0,30,0,5,0,48,0,14,0 25,0,31,0,29,0,20,0,23,0,54,0 27,0,33,0,59,0,7,0,11,0,47,0 13,0,39,0,64,0,56,0,24,0,17,0 58,0,66,0,15,0,67,0,3,0,2,0 18,0,45,0,41,0,43,0,57,0,37,0 32,0,6,0,60,0,61,0,63,0,1,0 33,0,42,0,9,0,40,0,65,0,36,0 22,0,29,0,8,0,13,0,30,0,51,0 20,0,35,0,48,0,56,0,44,0,47,0 57,0,52,0,55,0,66,0,5,0,24,0 43,0,1,0,17,0,46,0,50,0,7,0 38,0,61,0,12,0,3,0,59,0,14,0 25,0,37,0,18,0,58,0,6,0,31,0 60,0,49,0,41,0,21,0,28,0,4,0 11,0,68,0,39,0,16,0,15,0,23,0 62,0,45,0,67,0,10,0,64,0,63,0 27,0,2,0,54,0,34,0,53,0,26,0 32,0,51,0,35,0,19,0,50,0,42,0 36,0,21,0,41,0,17,0,30,0,65,0 38,0,13,0,14,0,37,0,20,0,60,0 62,0,56,0,23,0,52,0,58,0,16,0 54,0,31,0,61,0,43,0,33,0,55,0 27,0,48,0,8,0,9,0,63,0,46,0 28,0,34,0,3,0,39,0,57,0,44,0 7,0,22,0,5,0,26,0,64,0,25,0 29,0,19,0,2,0,45,0,68,0,12,0 1,0,10,0,49,0,40,0,47,0,66,0 6,0,24,0,59,0,4,0,53,0,15,0 32,0,11,0,21,0,18,0,67,0,20,0 56,0,58,0,34,0,30,0,33,0,50,0 54,0,16,0,55,0,57,0,51,0,7,0 45,0,49,0,23,0,12,0,48,0,42,0 65,0,3,0,61,0,35,0,37,0,26,0 68,0,59,0,17,0,40,0,8,0,10,0 60,0,22,0,15,0,31,0,9,0,18,0 53,0,13,0,46,0,52,0,11,0,14,0 32,0,47,0,39,0,38,0,2,0,5,0 62,0,63,0,25,0,43,0,66,0,41,0 64,0,1,0,44,0,4,0,29,0,36,0 67,0,6,0,28,0,24,0,19,0,27,0 7,0,48,0,53,0,65,0,34,0,60,0 18,0,8,0,42,0,52,0,3,0,38,0 2,0,26,0,51,0,31,0,59,0,46,0 39,0,56,0,37,0,21,0,66,0,29,0 13,0,11,0,28,0,45,0,32,0,10,0 19,0,57,0,35,0,23,0,14,0,36,0 50,0,68,0,5,0,27,0,41,0,62,0 49,0,6,0,16,0,67,0,44,0,55,0 63,0,58,0,4,0,17,0,9,0,47,0 54,0,33,0,24,0,30,0,25,0,12,0 15,0,43,0,20,0,22,0,64,0,40,0 1,0,21,0,27,0,61,0,35,0,13,0 ================================================ FILE: schedules/68_14.csv ================================================ 34,0,52,0,36,0,38,0,12,0,39,0 40,0,58,0,33,0,50,0,42,0,59,0 29,0,21,0,48,0,19,0,3,0,61,0 37,0,46,0,44,0,31,0,41,0,67,0 13,0,55,0,45,0,63,0,1,0,22,0 24,0,18,0,27,0,57,0,64,0,56,0 7,0,65,0,8,0,30,0,49,0,43,0 17,0,5,0,51,0,60,0,62,0,16,0 2,0,35,0,68,0,15,0,47,0,20,0 66,0,28,0,4,0,9,0,54,0,6,0 10,0,14,0,26,0,53,0,23,0,25,0 11,0,13,0,39,0,32,0,31,0,57,0 58,0,1,0,3,0,5,0,44,0,12,0 48,0,8,0,24,0,67,0,62,0,27,0 65,0,6,0,66,0,45,0,59,0,36,0 23,0,63,0,40,0,51,0,22,0,29,0 4,0,43,0,32,0,18,0,38,0,25,0 28,0,54,0,2,0,19,0,41,0,64,0 68,0,34,0,26,0,56,0,49,0,21,0 55,0,9,0,47,0,16,0,30,0,17,0 15,0,53,0,14,0,7,0,60,0,61,0 37,0,10,0,35,0,50,0,46,0,11,0 52,0,20,0,57,0,33,0,42,0,63,0 29,1,19,0,56,0,58,1,39,0,22,0 32,0,67,0,68,0,51,0,26,0,9,0 7,0,16,0,4,0,36,0,48,0,31,0 45,0,17,0,6,0,27,0,61,0,44,0 2,0,66,0,30,0,60,0,24,0,1,0 8,0,20,0,33,0,14,0,35,0,5,0 52,0,46,0,38,0,21,0,15,0,28,0 3,0,64,0,54,0,37,0,53,0,50,0 23,0,13,0,18,0,41,0,59,0,49,0 34,0,10,0,43,0,55,0,42,0,62,0 40,0,25,0,12,0,11,0,47,0,65,0 16,0,14,0,6,0,1,0,15,0,39,0 64,0,50,0,22,0,20,0,7,0,32,0 24,0,30,0,37,0,5,0,68,0,45,0 31,0,26,0,28,0,34,0,66,0,59,0 46,0,60,0,21,0,27,0,33,0,11,0 29,0,49,0,12,0,67,0,25,0,43,0 47,0,63,0,56,0,10,0,4,0,54,0 48,0,2,0,52,0,57,0,36,0,58,0 19,0,62,0,13,0,53,0,9,0,40,0 61,0,41,0,38,0,51,0,55,0,8,0 42,0,23,0,65,0,3,0,18,0,17,0 44,0,22,0,16,0,35,0,28,0,12,0 54,0,25,0,59,0,21,0,2,0,39,0 19,0,9,0,1,0,31,0,37,0,43,0 60,0,50,0,34,0,61,0,63,0,48,0 68,0,10,0,58,0,8,0,14,0,36,0 67,0,66,0,64,0,65,0,33,0,17,0 53,0,49,0,11,0,38,0,42,0,47,0 46,0,45,0,24,0,44,0,20,0,29,0 32,0,15,0,30,0,23,0,4,0,57,0 55,0,5,0,40,0,18,0,52,0,6,0 27,0,35,0,7,0,62,0,26,0,41,0 13,0,3,0,31,0,51,0,56,0,33,0 38,0,63,0,20,0,65,0,37,0,48,0 17,0,39,0,4,0,8,0,45,0,53,0 61,0,9,0,21,0,10,0,1,0,64,0 34,0,19,0,11,0,5,0,23,0,15,0 57,0,42,0,67,0,56,0,16,0,41,0 66,0,58,0,44,0,47,0,51,0,62,0 7,0,25,0,22,0,52,0,24,0,59,0 60,0,36,0,54,0,13,0,26,0,43,0 50,0,68,0,30,0,28,0,46,0,27,0 49,0,35,0,32,0,6,0,40,0,3,0 18,0,29,0,55,0,12,0,2,0,14,0 11,0,51,0,67,0,58,0,7,0,59,0 22,0,45,0,9,0,57,0,25,0,15,0 37,0,27,0,23,0,36,0,66,0,39,0 38,0,1,0,8,0,24,0,40,0,56,0 65,0,53,0,13,0,46,0,34,0,2,0 48,0,10,0,30,0,6,0,12,0,33,0 18,0,16,0,19,0,50,0,20,0,26,0 43,0,63,0,41,0,21,0,17,0,14,0 31,0,47,0,49,0,60,0,28,0,29,0 55,0,52,0,3,0,62,0,68,0,4,0 32,0,5,0,42,0,35,0,54,0,61,0 64,0,40,0,15,0,44,0,39,0,67,0 19,0,53,0,59,0,27,0,8,0,12,0 17,0,25,0,37,0,34,0,13,0,7,0 38,0,26,0,60,0,6,0,57,0,47,0 55,0,14,0,46,0,24,0,3,0,32,0 62,0,52,0,54,0,63,0,29,0,30,0 22,0,61,0,18,0,16,0,68,0,66,0 33,0,9,0,5,0,49,0,65,0,36,0 20,0,64,0,28,0,1,0,4,0,11,0 42,0,48,0,51,0,21,0,45,0,31,0 2,0,58,0,56,0,35,0,23,0,43,0 41,0,44,0,13,0,50,0,10,0,52,0 59,0,61,0,57,0,46,0,17,0,19,0 24,0,39,0,26,0,63,0,9,0,4,0 1,0,47,0,18,0,36,0,7,0,33,0 31,0,14,0,51,0,22,0,54,0,30,0 32,0,41,0,27,0,65,0,34,0,58,0 21,0,37,0,20,0,6,0,8,0,29,0 60,0,3,0,35,0,25,0,45,0,64,0 53,0,68,0,43,0,48,0,44,0,40,0 55,0,50,0,49,0,11,0,66,0,15,0 62,0,23,0,12,0,56,0,28,0,42,0 5,0,67,0,16,0,38,0,10,0,2,0 32,0,26,0,65,0,52,0,37,0,1,0 36,0,51,0,43,0,53,0,64,0,46,0 41,0,9,0,14,0,45,0,11,0,60,0 47,0,12,0,24,0,13,0,21,0,50,0 2,0,44,0,62,0,61,0,49,0,4,0 39,0,28,0,16,0,3,0,8,0,30,0 17,0,35,0,63,0,58,0,31,0,38,0 42,0,68,0,25,0,7,0,19,0,6,0 67,0,33,0,54,0,55,0,22,0,23,0 48,0,27,0,66,0,29,0,10,0,5,0 34,0,56,0,15,0,18,0,20,0,59,0 57,0,21,0,16,0,40,0,49,0,14,0 24,0,61,0,17,0,11,0,52,0,35,0 43,0,6,0,22,0,3,0,41,0,50,0 36,0,19,0,32,0,63,0,60,0,67,0 44,0,42,0,34,0,8,0,66,0,9,0 25,0,31,0,55,0,20,0,53,0,27,0 38,0,65,0,57,0,12,0,54,0,68,0 58,0,15,0,4,0,37,0,13,0,33,0 40,0,2,0,45,0,28,0,7,0,10,0 29,0,59,0,26,0,64,0,30,0,5,0 1,0,56,0,23,0,46,0,47,0,48,0 62,0,39,0,25,0,18,0,51,0,41,0 49,0,22,0,20,0,17,0,58,0,53,0 40,0,16,0,36,0,54,0,24,0,34,0 59,0,21,0,44,0,60,0,32,0,55,0 38,0,33,0,3,0,2,0,27,0,26,0 64,0,23,0,6,0,8,0,52,0,31,0 46,0,15,0,7,0,12,0,63,0,66,0 42,0,39,0,29,0,68,0,1,0,13,0 43,0,28,0,47,0,37,0,61,0,5,0 65,0,10,0,51,0,57,0,35,0,19,0 30,0,9,0,11,0,56,0,48,0,18,0 4,0,67,0,50,0,45,0,62,0,14,0 54,0,63,0,27,0,1,0,49,0,25,0 61,0,68,0,31,0,26,0,58,0,23,0 6,0,42,0,37,0,24,0,51,0,2,0 7,0,56,0,5,0,57,0,55,0,44,0 11,0,8,0,62,0,46,0,22,0,65,0 21,0,35,0,53,0,67,0,30,0,18,0 33,0,19,0,52,0,45,0,34,0,16,0 17,0,36,0,29,0,50,0,32,0,28,0 10,0,41,0,47,0,9,0,15,0,3,0 14,0,38,0,48,0,59,0,13,0,64,0 20,0,60,0,66,0,39,0,40,0,43,0 12,0,1,0,34,0,4,0,35,0,51,0 56,0,31,0,50,0,2,0,65,0,25,0 33,0,53,0,41,0,29,0,68,0,24,0 44,0,7,0,45,0,54,0,23,0,38,0 11,0,63,0,59,0,43,0,3,0,16,0 36,0,4,0,5,0,21,0,42,0,22,0 58,0,18,0,49,0,10,0,46,0,39,0 61,0,30,0,28,0,13,0,67,0,20,0 57,0,12,0,60,0,37,0,32,0,62,0 8,0,40,0,17,0,26,0,48,0,15,0 66,0,47,0,52,0,14,0,19,0,27,0 64,0,9,0,29,0,55,0,6,0,58,0 ================================================ FILE: schedules/68_2.csv ================================================ 65,0,40,0,41,0,9,0,11,0,1,0 53,0,13,0,17,0,8,0,60,0,68,0 54,0,12,0,59,0,32,0,39,0,36,0 5,0,56,0,50,0,45,0,4,0,49,0 30,0,22,0,24,0,25,0,21,0,66,0 7,0,14,0,3,0,2,0,55,0,23,0 26,0,15,0,52,0,29,0,48,0,61,0 37,0,42,0,46,0,51,0,38,0,44,0 28,0,6,0,67,0,62,0,43,0,18,0 27,0,63,0,10,0,31,0,58,0,35,0 34,0,47,0,20,0,16,0,64,0,33,0 57,0,54,0,50,0,19,0,15,0,40,0 51,0,65,0,29,0,49,0,30,0,23,0 42,0,32,0,9,0,28,0,52,0,25,0 68,0,21,0,5,0,27,0,67,0,14,0 7,0,38,0,4,0,16,0,58,0,24,0 61,0,8,0,36,0,43,0,57,0,41,0 19,0,35,0,62,0,3,0,12,0,34,0 55,0,22,0,1,0,26,0,13,0,59,0 44,0,48,0,63,0,20,0,60,0,6,0 2,0,46,0,64,0,66,0,56,0,31,0 39,0,11,0,47,0,18,0,10,0,53,0 33,0,45,0,15,1,37,0,17,0,35,1 ================================================ FILE: schedules/68_3.csv ================================================ 53,0,28,0,45,0,36,0,32,0,66,0 18,0,13,0,30,0,48,0,52,0,22,0 35,0,60,0,62,0,10,0,61,0,5,0 6,0,21,0,64,0,9,0,57,0,38,0 7,0,39,0,49,0,58,0,55,0,59,0 19,0,33,0,56,0,8,0,37,0,42,0 20,0,17,0,3,0,68,0,54,0,34,0 50,0,47,0,11,0,31,0,46,0,27,0 44,0,1,0,43,0,29,0,63,0,41,0 67,0,65,0,4,0,23,0,2,0,51,0 16,0,40,0,25,0,14,0,24,0,15,0 26,0,6,0,66,0,12,0,10,0,33,0 47,0,9,0,30,0,20,0,36,0,59,0 34,0,28,0,38,0,56,0,63,0,5,0 48,0,11,0,4,0,49,0,62,0,45,0 32,0,68,0,61,0,8,0,25,0,44,0 41,0,58,0,53,0,51,0,52,0,26,0 24,0,50,0,54,0,43,0,12,0,19,0 23,0,18,0,60,0,64,0,40,0,42,0 16,0,67,0,35,0,13,0,7,0,1,0 15,0,22,0,57,0,31,0,39,0,65,0 37,0,2,0,29,0,55,0,17,0,46,0 3,0,27,0,52,0,14,0,21,0,28,0 49,0,24,0,9,0,53,0,34,0,33,0 36,0,1,0,51,0,19,0,48,0,64,0 20,0,45,0,40,0,67,0,43,0,57,0 25,0,31,0,12,0,35,0,18,0,41,0 23,0,50,0,38,0,16,0,26,0,37,0 13,0,2,0,8,0,14,0,66,0,62,0 27,0,39,0,56,0,68,0,6,0,4,0 32,0,42,0,10,0,30,0,55,0,21,0 63,0,61,0,58,0,17,0,47,0,65,0 22,0,29,0,60,0,7,0,54,0,11,0 46,0,5,0,59,0,44,0,15,0,3,0 ================================================ FILE: schedules/68_4.csv ================================================ 57,0,44,0,48,0,33,0,10,0,53,0 6,0,27,0,65,0,56,0,42,0,25,0 52,0,30,0,20,0,47,0,36,0,8,0 46,0,4,0,24,0,22,0,9,0,37,0 26,0,41,0,16,0,45,0,51,0,54,0 39,0,63,0,29,0,62,0,49,0,66,0 58,0,61,0,43,0,59,0,19,0,5,0 35,0,3,0,12,0,55,0,21,0,64,0 31,0,11,0,60,0,23,0,38,0,14,0 1,0,50,0,28,0,67,0,2,0,32,0 15,0,17,0,18,0,40,0,13,0,34,0 7,0,66,0,9,0,68,0,6,0,54,0 19,0,27,0,33,0,36,0,3,0,41,0 31,0,24,0,58,0,10,0,20,0,63,0 46,0,29,0,56,0,21,0,50,0,51,0 62,0,37,0,67,0,18,0,38,0,55,0 52,0,45,0,60,0,40,0,5,0,32,0 49,0,61,0,28,0,57,0,26,0,7,0 43,0,13,0,39,0,48,0,22,0,30,0 65,0,4,0,53,0,16,0,11,0,34,0 14,0,44,0,25,0,68,0,12,0,8,0 17,0,35,0,47,0,23,0,42,0,2,0 64,0,59,0,57,0,1,0,15,0,27,0 54,1,40,0,36,0,56,1,28,0,43,0 48,1,45,0,20,0,19,1,29,0,65,0 14,0,34,0,32,0,33,0,58,0,66,0 17,0,10,0,50,0,9,0,52,0,16,0 63,0,41,0,55,0,5,0,42,0,8,0 6,0,37,0,11,0,1,0,13,0,47,0 2,0,21,0,7,0,60,0,4,0,44,0 38,0,26,0,53,0,64,0,39,0,24,0 23,0,3,0,62,0,61,0,25,0,15,0 51,0,22,0,18,0,31,0,35,0,68,0 67,0,49,0,30,0,46,0,12,0,59,0 9,0,58,0,47,0,28,0,27,0,45,0 10,0,34,0,2,0,37,0,56,0,26,0 25,0,55,0,29,0,24,0,32,0,43,0 5,0,64,0,31,0,48,0,4,0,36,0 53,0,61,0,21,0,63,0,18,0,52,0 54,0,8,0,59,0,60,0,13,0,62,0 66,0,57,0,19,0,40,0,11,0,46,0 38,0,42,0,68,0,50,0,15,0,30,0 1,0,49,0,14,0,51,0,65,0,3,0 67,0,6,0,23,0,44,0,41,0,22,0 7,0,33,0,20,0,16,0,35,0,39,0 12,0,56,0,48,0,17,0,54,0,19,0 ================================================ FILE: schedules/68_5.csv ================================================ 37,0,51,0,2,0,1,0,53,0,52,0 3,0,26,0,4,0,8,0,49,0,18,0 16,0,22,0,17,0,61,0,24,0,43,0 19,0,46,0,23,0,57,0,40,0,9,0 32,0,38,0,28,0,64,0,65,0,44,0 31,0,15,0,25,0,35,0,42,0,20,0 7,0,59,0,34,0,54,0,6,0,29,0 39,0,68,0,55,0,12,0,13,0,5,0 45,0,48,0,14,0,41,0,62,0,66,0 11,0,56,0,10,0,27,0,30,0,50,0 60,0,33,0,63,0,36,0,58,0,21,0 47,0,57,0,8,0,67,0,31,0,51,0 23,0,59,0,37,0,13,0,32,0,22,0 55,0,17,0,52,0,7,0,42,0,38,0 6,0,48,0,25,0,19,0,11,0,2,0 53,0,12,0,14,0,28,0,16,0,56,0 43,0,46,0,47,0,39,0,33,0,41,0 54,0,1,0,21,0,27,0,64,0,18,0 62,0,10,0,15,0,26,0,65,0,61,0 4,0,35,0,24,0,30,0,63,0,34,0 60,0,29,0,5,0,49,0,40,0,67,0 20,0,44,0,68,0,36,0,9,0,66,0 3,0,50,0,51,0,58,0,45,0,39,0 14,1,52,0,18,0,32,1,61,0,57,0 55,0,26,0,30,0,23,0,2,0,21,0 42,0,13,0,67,0,62,0,11,0,33,0 38,0,9,0,34,0,53,0,41,0,31,0 6,0,64,0,66,0,37,0,15,0,49,0 58,0,4,0,20,0,10,0,19,0,12,0 35,0,65,0,50,0,54,0,60,0,17,0 3,0,7,0,40,0,28,0,68,0,22,0 59,0,45,0,47,0,5,0,16,0,63,0 27,0,24,0,29,0,46,0,36,0,25,0 1,0,56,0,44,0,43,0,48,0,8,0 65,0,2,0,67,0,20,0,14,0,39,0 68,0,54,0,15,0,11,0,4,0,57,0 31,0,33,0,22,0,30,0,64,0,19,0 63,0,41,0,17,0,25,0,32,0,3,0 40,0,37,0,35,0,38,0,10,0,47,0 13,0,60,0,46,0,48,0,26,0,7,0 16,0,1,0,36,0,55,0,62,0,50,0 12,0,18,0,43,0,51,0,29,0,42,0 9,0,56,0,52,0,24,0,59,0,21,0 53,0,61,0,5,0,6,0,58,0,44,0 27,0,28,0,8,0,66,0,23,0,34,0 49,0,1,0,32,0,45,0,10,0,33,0 14,0,36,0,43,0,3,0,37,0,31,0 20,0,51,0,62,0,46,0,30,0,59,0 6,0,41,0,68,0,18,0,56,0,67,0 25,0,61,0,28,0,13,0,50,0,4,0 22,0,8,0,15,0,45,0,60,0,53,0 7,0,12,0,27,0,63,0,9,0,65,0 21,0,66,0,19,0,17,0,29,0,47,0 24,0,57,0,64,0,2,0,42,0,5,0 16,0,49,0,48,0,38,0,23,0,54,0 39,0,34,0,26,0,44,0,40,0,52,0 11,0,58,0,14,0,35,0,55,0,32,0 ================================================ FILE: schedules/68_6.csv ================================================ 62,0,57,0,41,0,9,0,68,0,36,0 12,0,54,0,20,0,67,0,14,0,2,0 32,0,64,0,15,0,23,0,52,0,42,0 17,0,51,0,21,0,48,0,45,0,24,0 59,0,7,0,26,0,55,0,5,0,25,0 44,0,27,0,4,0,29,0,1,0,34,0 60,0,50,0,66,0,61,0,28,0,39,0 35,0,65,0,53,0,37,0,6,0,18,0 8,0,56,0,16,0,49,0,13,0,43,0 40,0,47,0,31,0,58,0,22,0,19,0 46,0,63,0,38,0,33,0,10,0,11,0 3,0,28,0,27,0,30,0,7,0,42,0 9,0,61,0,34,0,59,0,15,0,20,0 49,0,2,0,65,0,36,0,51,0,23,0 58,0,35,0,68,0,32,0,56,0,66,0 37,0,14,0,45,0,50,0,13,0,4,0 24,0,30,0,11,0,53,0,31,0,43,0 16,0,25,0,3,0,39,0,62,0,29,0 1,0,47,0,48,0,26,0,38,0,18,0 21,0,6,0,10,0,60,0,8,0,40,0 67,0,64,0,63,0,19,0,5,0,44,0 22,0,41,0,46,0,17,0,52,0,54,0 12,0,33,0,24,0,55,0,57,0,35,0 50,0,30,0,59,0,36,0,38,0,20,0 58,0,9,0,6,0,49,0,3,0,26,0 45,0,34,0,18,0,2,0,40,0,63,0 65,0,13,0,68,0,31,0,25,0,1,0 43,0,39,0,42,0,12,0,4,0,19,0 7,0,32,0,22,0,53,0,10,0,48,0 28,0,37,0,29,0,23,0,11,0,17,0 21,0,56,0,33,0,41,0,44,0,61,0 16,0,5,0,14,0,27,0,52,0,60,0 57,0,46,0,67,0,15,0,51,0,8,0 66,0,55,0,47,0,64,0,54,0,62,0 9,0,45,0,19,0,23,0,35,0,30,0 26,0,44,0,22,0,65,0,24,0,42,0 43,0,34,0,38,0,32,0,6,0,14,0 40,0,25,0,36,0,53,0,17,0,33,0 54,0,61,0,68,0,16,0,48,0,63,0 12,0,60,0,7,0,46,0,13,0,62,0 29,0,31,0,8,0,64,0,50,0,18,0 37,0,15,0,27,0,55,0,49,0,21,0 1,0,5,0,28,0,41,0,58,0,2,0 11,0,4,0,52,0,57,0,20,0,3,0 67,0,56,0,10,0,59,0,47,0,39,0 66,0,13,0,19,0,51,0,6,0,33,0 29,0,35,0,26,0,46,0,14,0,40,0 50,0,65,0,17,0,12,0,16,0,9,0 52,0,18,0,49,0,62,0,30,0,44,0 3,0,43,0,5,0,10,0,68,0,15,0 42,0,51,0,60,0,54,0,1,0,53,0 38,0,31,0,57,0,7,0,56,0,45,0 36,0,61,0,58,0,67,0,55,0,4,0 11,0,59,0,2,0,22,0,27,0,64,0 24,0,32,0,25,0,28,0,20,0,47,0 41,0,8,0,48,0,34,0,37,0,39,0 23,0,21,0,14,0,63,0,66,0,3,0 60,0,43,0,67,0,33,0,29,0,65,0 10,0,35,0,62,0,31,0,27,0,61,0 18,0,19,0,16,0,36,0,11,0,32,0 20,0,5,0,46,0,49,0,48,0,42,0 2,0,30,0,4,0,66,0,8,0,17,0 47,0,52,0,53,0,34,0,68,0,21,0 7,0,1,0,24,0,63,0,37,0,9,0 51,0,55,0,39,0,44,0,38,0,40,0 23,0,54,0,59,0,13,0,57,0,58,0 56,0,15,0,6,0,50,0,22,0,25,0 64,0,12,0,26,0,45,0,41,0,28,0 ================================================ FILE: schedules/68_7.csv ================================================ 60,0,67,0,22,0,4,0,61,0,19,0 49,0,65,0,68,0,20,0,32,0,24,0 46,0,15,0,47,0,21,0,27,0,41,0 5,0,3,0,55,0,57,0,56,0,12,0 28,0,37,0,29,0,50,0,35,0,10,0 16,0,2,0,14,0,58,0,64,0,54,0 44,0,9,0,43,0,31,0,18,0,62,0 26,0,8,0,38,0,59,0,23,0,51,0 63,0,33,0,6,0,7,0,25,0,1,0 52,0,53,0,36,0,48,0,30,0,34,0 39,0,17,0,13,0,40,0,66,0,45,0 11,0,35,0,5,0,42,0,19,0,16,0 10,0,65,0,58,0,9,0,8,0,57,0 20,0,3,0,26,0,43,0,25,0,50,0 36,0,6,0,18,0,22,0,59,0,27,0 40,0,52,0,47,0,37,0,64,0,4,0 48,0,23,0,39,0,44,0,41,0,32,0 15,0,68,0,54,0,45,0,28,0,60,0 51,0,55,0,34,0,7,0,11,0,24,0 12,0,2,0,62,0,66,0,67,0,1,0 63,0,14,0,38,0,42,0,29,0,56,0 17,0,21,0,31,0,30,0,61,0,49,0 33,0,46,0,19,0,13,0,53,0,20,0 27,1,16,0,23,0,3,1,28,0,7,0 51,1,57,0,41,0,9,1,60,0,2,0 52,0,10,0,38,0,25,0,18,0,32,0 30,0,66,0,42,0,65,0,56,0,43,0 37,0,14,0,44,0,45,0,5,0,21,0 62,0,49,0,63,0,47,0,34,0,26,0 61,0,64,0,35,0,39,0,59,0,12,0 8,0,4,0,29,0,6,0,24,0,53,0 58,0,1,0,11,0,36,0,15,0,13,0 17,0,46,0,54,0,22,0,48,0,50,0 31,0,40,0,55,0,68,0,33,0,67,0 60,0,21,0,43,0,39,0,63,0,52,0 27,0,6,0,44,0,2,0,34,0,56,0 41,0,7,0,35,0,20,0,66,0,36,0 45,0,42,0,50,0,12,0,18,0,49,0 57,0,59,0,10,0,68,0,16,0,17,0 38,0,9,0,28,0,46,0,1,0,55,0 5,0,30,0,26,0,15,0,4,0,33,0 64,0,65,0,51,0,62,0,19,0,48,0 47,0,25,0,14,0,11,0,53,0,22,0 61,0,29,0,58,0,23,0,3,0,40,0 8,0,13,0,32,0,54,0,31,0,37,0 24,0,57,0,63,0,67,0,35,0,38,0 4,0,20,0,1,0,42,0,59,0,44,0 53,0,27,0,28,0,17,0,64,0,26,0 66,0,68,0,50,0,11,0,23,0,9,0 7,0,29,0,2,0,31,0,52,0,65,0 40,0,24,0,12,0,16,0,15,0,22,0 43,0,54,0,19,0,41,0,49,0,10,0 3,0,34,0,33,0,18,0,39,0,14,0 30,0,62,0,60,0,58,0,37,0,6,0 45,0,48,0,55,0,61,0,47,0,8,0 67,0,25,0,13,0,51,0,21,0,56,0 32,0,36,0,49,0,5,0,46,0,64,0 33,0,66,0,22,0,57,0,29,0,44,0 37,0,11,0,20,0,2,0,38,0,39,0 62,0,27,0,68,0,14,0,4,0,35,0 48,0,26,0,12,0,13,0,9,0,6,0 19,0,1,0,50,0,40,0,32,0,30,0 60,0,42,0,47,0,10,0,3,0,36,0 21,0,23,0,18,0,54,0,55,0,65,0 67,0,17,0,7,0,8,0,15,0,43,0 16,0,41,0,53,0,51,0,61,0,63,0 31,0,28,0,58,0,5,0,25,0,34,0 24,0,56,0,59,0,45,0,52,0,46,0 48,0,64,0,3,0,21,0,68,0,1,0 2,0,32,0,35,0,17,0,33,0,9,0 43,0,6,0,51,0,40,0,14,0,36,0 44,0,49,0,25,0,8,0,60,0,16,0 15,0,20,0,56,0,10,0,62,0,53,0 54,0,39,0,30,0,27,0,57,0,7,0 58,0,22,0,52,0,26,0,55,0,41,0 13,0,50,0,18,0,5,0,61,0,24,0 34,0,42,0,46,0,23,0,67,0,37,0 66,0,38,0,59,0,19,0,47,0,31,0 11,0,65,0,4,0,12,0,28,0,63,0 45,0,27,0,9,0,29,0,3,0,51,0 ================================================ FILE: schedules/68_8.csv ================================================ 22,0,23,0,7,0,57,0,43,0,2,0 3,0,24,0,1,0,51,0,36,0,45,0 39,0,44,0,6,0,47,0,54,0,14,0 30,0,66,0,59,0,33,0,62,0,60,0 15,0,38,0,16,0,52,0,40,0,46,0 31,0,64,0,4,0,28,0,11,0,41,0 19,0,29,0,20,0,58,0,63,0,8,0 12,0,5,0,67,0,53,0,48,0,21,0 68,0,35,0,26,0,10,0,17,0,13,0 37,0,9,0,27,0,34,0,42,0,61,0 55,0,25,0,49,0,56,0,65,0,50,0 32,0,23,0,58,0,18,0,6,0,40,0 67,0,57,0,11,0,1,0,33,0,36,0 45,0,30,0,17,0,38,0,39,0,22,0 60,0,28,0,12,0,2,0,19,0,42,0 51,0,65,0,47,0,61,0,35,0,52,0 27,0,32,0,44,0,68,0,24,0,20,0 50,0,62,0,31,0,34,0,43,0,21,0 49,0,59,0,8,0,4,0,10,0,7,0 29,0,54,0,56,0,9,0,18,0,26,0 66,0,3,0,53,0,37,0,55,0,14,0 15,0,48,0,63,0,16,0,41,0,13,0 46,0,64,0,32,0,5,0,25,0,30,0 10,1,2,0,38,0,47,1,31,0,27,0 61,0,62,0,57,0,58,0,50,0,6,0 29,0,68,0,43,0,49,0,35,0,53,0 54,0,16,0,21,0,24,0,11,0,37,0 41,0,7,0,26,0,34,0,45,0,66,0 51,0,22,0,12,0,15,0,39,0,56,0 36,0,60,0,4,0,40,0,20,0,48,0 46,0,1,0,59,0,23,0,44,0,28,0 55,0,63,0,9,0,64,0,33,0,14,0 67,0,17,0,52,0,25,0,8,0,42,0 18,0,19,0,13,0,3,0,65,0,5,0 4,0,37,0,68,0,47,0,15,0,50,0 53,0,41,0,23,0,58,0,27,0,51,0 35,0,63,0,46,0,60,0,34,0,56,0 39,0,57,0,48,0,52,0,64,0,49,0 5,0,22,0,42,0,6,0,20,0,33,0 16,0,36,0,19,0,32,0,26,0,55,0 40,0,7,0,17,0,31,0,29,0,65,0 59,0,24,0,14,0,25,0,12,0,18,0 21,0,66,0,38,0,10,0,1,0,61,0 13,0,45,0,2,0,8,0,9,0,44,0 28,0,30,0,54,0,3,0,67,0,43,0 11,0,42,0,35,0,62,0,32,0,48,0 52,0,50,0,36,0,23,0,14,0,29,0 41,0,21,0,47,0,25,0,22,0,19,0 9,0,20,0,2,0,17,0,1,0,49,0 65,0,34,0,53,0,38,0,54,0,59,0 30,0,8,0,6,0,56,0,11,0,27,0 28,0,18,0,68,0,66,0,16,0,51,0 3,0,10,0,15,0,60,0,7,0,57,0 61,0,55,0,33,0,46,0,31,0,45,0 64,0,13,0,37,0,43,0,12,0,58,0 26,0,67,0,44,0,4,0,63,0,62,0 5,0,39,0,34,0,24,0,40,0,8,0 47,0,16,0,42,0,23,0,59,0,3,0 33,0,50,0,27,0,7,0,35,0,19,0 15,0,18,0,43,0,61,0,36,0,17,0 54,0,31,0,49,0,13,0,66,0,32,0 4,0,51,0,25,0,38,0,29,0,37,0 11,0,26,0,20,0,39,0,53,0,46,0 6,0,60,0,65,0,67,0,9,0,41,0 1,0,5,0,55,0,68,0,62,0,12,0 56,0,2,0,48,0,45,0,14,0,58,0 21,0,44,0,40,0,64,0,57,0,30,0 24,0,28,0,10,0,22,0,52,0,63,0 16,0,43,0,27,0,66,0,65,0,4,0 29,0,15,0,34,0,67,0,32,0,6,0 31,0,14,0,26,0,60,0,5,0,51,0 59,0,11,0,19,0,40,0,68,0,61,0 33,0,38,0,44,0,49,0,41,0,12,0 57,0,24,0,13,0,17,0,47,0,53,0 52,0,20,0,23,0,37,0,62,0,56,0 55,0,42,0,58,0,39,0,21,0,7,0 1,0,18,0,22,0,64,0,35,0,8,0 50,0,10,0,46,0,48,0,9,0,3,0 36,0,63,0,30,0,54,0,25,0,2,0 45,0,53,0,62,0,28,0,19,0,15,0 5,0,56,0,66,0,44,0,11,0,17,0 22,0,47,0,60,0,55,0,27,0,29,0 14,0,8,0,68,0,46,0,57,0,65,0 10,0,31,0,37,0,39,0,18,0,67,0 43,0,32,0,51,0,45,0,59,0,63,0 49,0,61,0,48,0,26,0,24,0,23,0 35,0,25,0,58,0,28,0,9,0,16,0 41,0,40,0,50,0,42,0,54,0,1,0 36,0,6,0,64,0,38,0,13,0,7,0 33,0,3,0,52,0,4,0,2,0,21,0 34,0,12,0,47,0,20,0,30,0,10,0 ================================================ FILE: schedules/68_9.csv ================================================ 10,0,18,0,68,0,49,0,40,0,62,0 21,0,3,0,35,0,53,0,66,0,26,0 65,0,38,0,7,0,54,0,37,0,60,0 9,0,41,0,11,0,12,0,51,0,17,0 13,0,36,0,16,0,45,0,5,0,42,0 6,0,1,0,34,0,52,0,43,0,59,0 25,0,29,0,63,0,14,0,61,0,33,0 47,0,4,0,28,0,23,0,19,0,30,0 56,0,48,0,46,0,22,0,55,0,31,0 58,0,20,0,27,0,15,0,8,0,64,0 32,0,24,0,57,0,39,0,44,0,50,0 2,0,18,0,54,0,67,0,6,0,35,0 1,0,40,0,59,0,47,0,9,0,45,0 65,0,52,0,55,0,26,0,29,0,19,0 56,0,60,0,61,0,30,0,10,0,46,0 44,0,66,0,38,0,17,0,34,0,68,0 14,0,4,0,8,0,43,0,62,0,7,0 37,0,41,0,3,0,36,0,28,0,33,0 13,0,5,0,22,0,49,0,25,0,24,0 15,0,51,0,16,0,48,0,64,0,57,0 21,0,39,0,63,0,2,0,12,0,20,0 58,0,23,0,11,0,32,0,50,0,53,0 67,0,31,0,44,0,42,0,27,0,60,0 45,0,30,0,17,0,52,0,62,0,37,0 59,0,68,0,19,0,14,0,35,0,22,0 13,0,20,0,40,0,29,0,66,0,33,0 9,0,36,0,58,0,2,0,25,0,10,0 7,0,39,0,55,0,11,0,64,0,5,0 8,0,56,0,34,0,12,0,6,0,28,0 50,0,41,0,42,0,4,0,61,0,15,0 31,0,43,0,48,0,32,0,63,0,54,0 67,0,16,0,21,0,47,0,38,0,3,0 51,0,26,0,65,0,23,0,24,0,18,0 53,0,46,0,1,0,27,0,49,0,57,0 55,0,8,0,60,0,2,0,9,0,68,0 42,0,11,0,13,0,28,0,14,0,48,0 30,0,5,0,43,0,67,0,66,0,58,0 50,0,65,0,25,0,39,0,47,0,35,0 40,0,34,0,38,0,22,0,36,0,51,0 24,0,1,0,62,0,63,0,46,0,3,0 33,0,49,0,15,0,52,0,31,0,19,0 4,0,20,0,64,0,6,0,10,0,26,0 45,0,44,0,53,0,29,0,54,0,12,0 17,0,21,0,23,0,61,0,27,0,7,0 59,0,18,0,16,0,56,0,32,0,41,0 37,0,5,0,40,0,57,0,52,0,63,0 4,0,22,0,60,0,1,0,58,0,51,0 68,0,54,0,15,0,3,0,30,0,11,0 42,0,49,0,9,0,39,0,66,0,6,0 47,0,62,0,48,0,20,0,41,0,34,0 12,0,61,0,57,0,13,0,7,0,19,0 33,0,55,0,10,0,67,0,24,0,50,0 43,0,46,0,38,0,23,0,45,0,25,0 36,0,8,0,29,0,32,0,18,0,21,0 17,0,28,0,31,0,64,0,16,0,35,0 2,0,14,0,56,0,27,0,37,0,26,0 59,0,53,0,10,0,44,0,65,0,33,0 50,0,6,0,45,0,48,0,3,0,68,0 19,0,8,0,42,0,54,0,1,0,25,0 20,0,67,0,28,0,7,0,32,0,46,0 57,0,60,0,29,0,34,0,62,0,23,0 53,0,43,0,2,0,61,0,40,0,16,0 27,0,30,0,39,0,59,0,51,0,13,0 55,0,58,0,35,0,12,0,49,0,38,0 37,0,22,0,64,0,44,0,18,0,9,0 41,0,24,0,52,0,21,0,14,0,66,0 56,0,15,0,17,0,65,0,4,0,5,0 26,0,36,0,47,0,63,0,31,0,11,0 7,0,49,0,2,0,59,0,30,0,48,0 3,0,44,0,23,0,25,0,40,0,55,0 27,0,50,0,12,0,18,0,52,0,22,0 51,0,68,0,5,0,29,0,28,0,53,0 64,0,32,0,66,0,1,0,61,0,38,0 11,0,46,0,33,0,34,0,21,0,4,0 31,0,62,0,65,0,13,0,9,0,67,0 60,0,17,0,24,0,19,0,43,0,36,0 63,0,37,0,6,0,41,0,16,0,58,0 42,0,57,0,20,0,56,0,35,0,45,0 47,0,54,0,10,0,14,0,15,0,39,0 26,0,48,0,33,0,8,0,5,0,38,0 2,0,66,0,19,0,50,0,62,0,51,0 24,0,29,0,27,0,16,0,4,0,9,0 18,0,30,0,64,0,42,0,53,0,63,0 54,0,61,0,55,0,36,0,59,0,20,0 28,0,45,0,43,0,65,0,21,0,49,0 6,0,47,0,58,0,17,0,46,0,13,0 52,0,39,0,67,0,23,0,68,0,56,0 22,0,10,0,11,0,8,0,57,0,3,0 35,0,44,0,7,0,1,0,41,0,15,0 14,0,32,0,26,0,40,0,12,0,60,0 34,0,25,0,59,0,31,0,37,0,24,0 52,0,48,0,36,0,4,0,53,0,67,0 29,0,62,0,38,0,27,0,11,0,56,0 51,0,61,0,49,0,47,0,8,0,44,0 39,0,45,0,3,0,7,0,58,0,18,0 31,0,30,0,21,0,55,0,6,0,57,0 15,0,66,0,63,0,25,0,60,0,28,0 32,0,2,0,22,0,42,0,17,0,33,0 14,0,23,0,65,0,1,0,16,0,20,0 12,0,13,0,35,0,37,0,43,0,10,0 54,0,9,0,50,0,5,0,26,0,34,0 46,0,41,0,19,0,64,0,68,0,40,0 ================================================ FILE: schedules/69_1.csv ================================================ 14,0,7,0,30,0,17,0,24,0,47,0 67,0,57,0,27,0,34,0,20,0,54,0 4,0,49,0,6,0,33,0,21,0,48,0 18,0,53,0,25,0,35,0,40,0,58,0 69,0,19,0,51,0,1,0,8,0,39,0 56,0,52,0,32,0,62,0,16,0,31,0 66,0,63,0,28,0,43,0,37,0,9,0 15,0,42,0,29,0,64,0,11,0,3,0 26,0,13,0,5,0,2,0,38,0,59,0 50,0,22,0,44,0,45,0,23,0,41,0 12,0,36,0,61,0,68,0,55,0,60,0 46,0,65,0,62,1,10,0,18,1,31,1 ================================================ FILE: schedules/69_10.csv ================================================ 38,0,62,0,59,0,60,0,4,0,18,0 15,0,46,0,10,0,51,0,45,0,65,0 43,0,54,0,33,0,49,0,39,0,21,0 67,0,47,0,28,0,8,0,40,0,16,0 68,0,3,0,22,0,37,0,42,0,26,0 1,0,52,0,32,0,2,0,7,0,25,0 44,0,27,0,19,0,14,0,36,0,48,0 53,0,63,0,11,0,29,0,31,0,23,0 13,0,50,0,66,0,9,0,61,0,5,0 64,0,55,0,6,0,56,0,12,0,57,0 35,0,24,0,41,0,20,0,34,0,30,0 69,0,17,0,33,0,58,0,40,0,38,0 14,0,42,0,8,0,43,0,25,0,11,0 9,0,2,0,47,0,37,0,65,0,48,0 56,0,1,0,39,0,26,0,51,0,63,0 3,0,7,0,16,0,18,0,68,0,64,0 30,0,55,0,62,0,15,0,5,0,53,0 45,0,69,0,59,0,28,0,50,0,31,0 44,0,17,0,29,0,66,0,4,0,20,0 58,0,21,0,10,0,41,0,27,0,22,0 36,0,57,0,13,0,52,0,67,0,34,0 61,0,12,0,54,0,60,0,19,0,35,0 32,0,24,0,23,0,46,0,6,0,49,0 3,0,30,0,45,0,14,0,39,0,66,0 16,0,51,0,58,0,31,0,55,0,42,0 41,0,62,0,48,0,10,0,43,0,63,0 7,0,17,0,53,0,47,0,54,0,27,0 36,0,21,0,23,0,40,0,61,0,18,0 50,0,37,0,29,0,24,0,46,0,33,0 34,0,35,0,44,0,19,0,56,0,8,0 13,0,25,0,28,0,12,0,22,0,15,0 5,0,11,0,68,0,59,0,32,0,65,0 9,0,6,0,60,0,26,0,1,0,67,0 69,0,64,0,49,0,2,0,52,0,4,0 57,0,20,0,46,0,38,0,54,0,42,0 62,0,7,0,56,0,13,0,3,0,23,0 55,0,40,0,15,0,61,0,50,0,27,0 44,0,66,0,11,0,6,0,51,0,25,0 58,0,52,0,29,0,59,0,9,0,19,0 34,0,60,0,24,0,10,0,2,0,17,0 48,0,53,0,64,0,1,0,8,0,22,0 67,0,21,0,68,0,45,0,20,0,12,0 26,0,41,0,47,0,33,0,14,0,4,0 16,0,32,0,43,0,69,0,37,0,57,0 39,0,31,0,30,0,65,0,18,0,49,0 38,0,36,0,63,0,5,0,35,0,28,0 67,0,66,0,19,0,64,0,50,0,10,0 51,0,42,0,21,0,29,0,62,0,2,0 61,0,17,0,43,0,52,0,45,0,68,0 56,0,22,0,26,0,59,0,24,0,16,0 5,0,34,0,12,0,39,0,69,0,23,0 20,0,28,0,9,0,25,0,14,0,53,0 35,0,15,0,49,0,57,0,47,0,1,0 11,0,6,0,38,0,30,0,13,0,63,0 65,0,46,0,36,0,58,0,4,0,8,0 40,0,44,0,32,0,54,0,41,0,3,0 7,0,37,0,31,0,55,0,48,0,60,0 18,0,27,0,20,0,33,0,1,0,45,0 6,0,59,0,22,0,62,0,35,0,69,0 4,0,16,0,10,0,25,0,39,0,5,0 47,0,34,0,64,0,58,0,11,0,54,0 12,0,50,0,26,0,36,0,7,0,42,0 65,0,3,0,28,0,24,0,29,0,19,0 57,0,51,0,18,0,48,0,40,0,17,0 2,0,43,0,41,0,38,0,66,0,55,0 14,0,13,0,46,0,68,0,63,0,60,0 8,0,31,0,32,0,15,0,21,0,9,0 53,0,37,0,49,0,61,0,67,0,44,0 27,0,30,0,33,0,23,0,56,0,52,0 55,0,22,0,65,0,17,0,18,0,34,0 54,0,50,0,20,0,11,0,16,0,62,0 3,0,25,0,60,0,58,0,57,0,43,0 44,0,15,0,42,0,64,0,39,0,59,0 9,0,49,0,63,0,51,0,68,0,27,0 46,0,56,0,69,0,10,0,41,0,7,0 30,0,67,0,23,0,32,0,48,0,28,0 1,0,19,0,4,0,37,0,13,0,21,0 14,0,24,0,31,0,12,0,52,0,38,0 8,0,61,0,33,0,2,0,6,0,5,0 45,0,26,0,66,0,53,0,35,0,40,0 29,0,36,0,60,0,47,0,22,0,32,0 17,0,21,0,1,0,44,0,50,0,30,0 67,0,58,0,63,0,15,0,4,0,24,0 52,0,18,0,10,0,28,0,42,0,6,0 48,0,12,0,66,0,34,0,16,0,46,0 35,0,33,0,39,0,9,0,55,0,11,0 19,0,57,0,45,0,62,0,26,0,8,0 65,0,27,0,64,0,20,0,43,0,13,0 53,0,31,0,2,0,56,0,68,0,36,0 54,0,59,0,51,0,41,0,37,0,23,0 5,0,49,0,40,0,29,0,14,0,7,0 47,0,61,0,25,0,38,0,3,0,69,0 66,0,60,0,16,0,33,0,65,0,21,0 27,0,11,0,2,0,46,0,22,0,67,0 50,0,4,0,43,0,53,0,34,0,6,0 52,0,40,0,20,0,37,0,15,0,63,0 12,0,8,0,59,0,49,0,3,0,17,0 68,0,48,0,1,0,24,0,69,0,54,0 5,0,47,0,19,0,31,0,18,0,41,0 38,0,23,0,26,0,10,0,55,0,44,0 58,0,14,0,35,0,13,0,32,0,51,0 57,0,28,0,62,0,7,0,39,0,61,0 45,0,42,0,64,0,30,0,36,0,9,0 25,0,54,0,18,0,56,0,29,0,67,0 52,0,48,0,5,0,3,0,26,0,21,0 40,0,59,0,11,0,12,0,10,0,1,0 2,0,65,0,57,0,50,0,23,0,14,0 19,0,69,0,51,0,60,0,53,0,20,0 9,0,22,0,4,0,43,0,30,0,7,0 61,0,42,0,34,0,33,0,32,0,63,0 58,0,37,0,56,0,28,0,49,0,66,0 41,0,6,0,36,0,17,0,16,0,15,0 55,0,24,0,13,0,44,0,47,0,45,0 31,0,35,0,25,0,46,0,62,0,64,0 68,0,39,0,8,0,38,0,29,0,27,0 ================================================ FILE: schedules/69_11.csv ================================================ 18,0,60,0,22,0,65,0,48,0,52,0 27,0,50,0,57,0,64,0,29,0,4,0 40,0,20,0,67,0,6,0,10,0,2,0 28,0,45,0,30,0,36,0,62,0,11,0 51,0,32,0,63,0,56,0,34,0,35,0 55,0,41,0,33,0,31,0,23,0,47,0 5,0,24,0,69,0,53,0,14,0,12,0 37,0,49,0,8,0,13,0,7,0,43,0 66,0,42,0,25,0,59,0,54,0,19,0 26,0,3,0,38,0,16,0,61,0,1,0 68,0,44,0,9,0,58,0,21,0,17,0 46,0,15,0,24,0,39,0,11,0,23,0 31,0,60,0,4,0,67,0,45,0,56,0 66,0,29,0,65,0,34,0,28,0,5,0 6,0,16,0,52,0,33,0,59,0,2,0 8,0,41,0,57,0,35,0,44,0,38,0 64,0,1,0,69,0,20,0,18,0,15,0 36,0,27,0,40,0,49,0,19,0,58,0 51,0,62,0,10,0,17,0,68,0,43,0 61,0,25,0,21,0,14,0,37,0,39,0 13,0,3,0,50,0,12,0,9,0,63,0 46,0,22,0,47,0,42,0,30,0,26,0 54,0,32,0,7,0,48,0,55,0,53,0 64,1,18,0,49,0,62,1,59,0,45,0 27,1,37,0,60,0,28,0,15,0,68,0 61,0,20,0,23,0,9,0,8,0,36,0 19,0,2,0,21,0,38,0,50,0,69,0 11,0,7,0,44,0,52,0,67,0,47,0 32,0,39,0,12,0,33,0,42,0,22,0 46,0,17,0,65,0,41,0,6,0,13,0 10,0,63,0,4,0,30,0,14,0,48,0 56,0,29,0,5,0,43,0,16,0,55,0 53,0,35,0,26,0,25,0,40,0,31,0 58,0,66,0,57,0,3,0,51,0,1,0 54,0,34,0,67,0,24,0,17,0,27,0 30,0,6,0,19,0,13,0,61,0,18,0 12,0,16,0,49,0,41,0,44,0,46,0 11,0,53,0,65,0,35,0,43,0,42,0 62,0,56,0,22,0,69,0,60,0,57,0 31,0,9,0,24,0,25,0,4,0,2,0 47,0,54,0,58,0,50,0,8,0,15,0 1,0,29,0,33,0,10,0,37,0,36,0 48,0,23,0,34,0,21,0,59,0,51,0 52,0,14,0,28,0,55,0,39,0,3,0 45,0,20,0,26,0,38,0,32,0,66,0 40,0,63,0,68,0,7,0,5,0,64,0 6,0,1,0,43,0,47,0,19,0,12,0 67,0,61,0,59,0,29,0,53,0,58,0 23,0,35,0,17,0,4,0,3,0,18,0 50,0,30,0,20,0,52,0,49,0,55,0 11,0,64,0,2,0,66,0,14,0,51,0 15,0,34,0,13,0,26,0,33,0,44,0 48,0,38,0,5,0,37,0,9,0,62,0 27,0,45,0,42,0,16,0,10,0,41,0 69,0,25,0,36,0,46,0,68,0,32,0 8,0,39,0,54,0,65,0,57,0,40,0 22,0,21,0,24,0,28,0,63,0,31,0 60,0,56,0,12,0,7,0,23,0,58,0 53,0,41,0,61,0,34,0,4,0,1,0 35,0,46,0,52,0,66,0,62,0,27,0 14,0,42,0,38,0,68,0,50,0,6,0 48,0,63,0,47,0,36,0,45,0,57,0 22,0,20,0,7,0,29,0,25,0,3,0 19,0,64,0,44,0,60,0,24,0,39,0 51,0,69,0,67,0,33,0,13,0,40,0 15,0,9,0,21,0,65,0,30,0,16,0 32,0,18,0,2,0,43,0,8,0,28,0 10,0,11,0,49,0,5,0,54,0,31,0 59,0,17,0,26,0,55,0,56,0,37,0 27,0,38,0,7,0,69,0,39,0,66,0 1,0,15,0,40,0,9,0,34,0,45,0 25,0,43,0,51,0,41,0,60,0,50,0 4,0,5,0,33,0,20,0,46,0,21,0 13,0,58,0,52,0,35,0,29,0,48,0 30,0,63,0,55,0,67,0,42,0,37,0 47,0,68,0,49,0,2,0,61,0,56,0 18,0,8,0,10,0,26,0,24,0,12,0 19,0,17,0,36,0,53,0,16,0,22,0 6,0,57,0,3,0,31,0,11,0,32,0 14,0,62,0,23,0,44,0,54,0,65,0 64,0,59,0,47,0,28,0,35,0,69,0 56,0,66,0,41,0,40,0,21,0,18,0 12,0,29,0,17,0,39,0,2,0,30,0 27,0,55,0,9,0,6,0,22,0,11,0 16,0,48,0,62,0,31,0,8,0,20,0 36,0,59,0,42,0,5,0,15,0,60,0 45,0,37,0,68,0,19,0,24,0,3,0 65,0,58,0,64,0,33,0,53,0,38,0 14,0,57,0,67,0,49,0,43,0,34,0 32,0,44,0,61,0,46,0,63,0,50,0 52,0,26,0,7,0,4,0,51,0,54,0 13,0,23,0,28,0,25,0,10,0,1,0 59,0,24,0,56,0,36,0,65,0,3,0 31,0,33,0,43,0,17,0,66,0,30,0 16,0,68,0,20,0,11,0,12,0,34,0 4,0,7,0,15,0,19,0,62,0,32,0 48,0,69,0,42,0,23,0,29,0,26,0 27,0,13,0,51,0,45,0,47,0,14,0 21,0,6,0,55,0,64,0,60,0,8,0 9,0,53,0,46,0,57,0,52,0,10,0 38,0,22,0,37,0,40,0,44,0,49,0 58,0,2,0,63,0,18,0,54,0,41,0 39,0,1,0,35,0,50,0,5,0,67,0 28,0,25,0,33,0,61,0,48,0,27,0 42,0,13,0,16,0,57,0,7,0,24,0 30,0,52,0,23,0,40,0,32,0,64,0 14,0,54,0,68,0,59,0,29,0,46,0 3,0,53,0,49,0,47,0,62,0,21,0 63,0,65,0,60,0,20,0,1,0,2,0 5,0,9,0,19,0,28,0,41,0,26,0 36,0,38,0,12,0,67,0,55,0,25,0 50,0,45,0,11,0,8,0,56,0,17,0 35,0,66,0,10,0,22,0,61,0,15,0 69,0,4,0,43,0,44,0,58,0,6,0 39,0,18,0,31,0,34,0,51,0,37,0 47,0,60,0,40,0,32,0,24,0,29,0 30,0,1,0,53,0,27,0,68,0,8,0 45,0,35,0,3,0,54,0,46,0,2,0 41,0,67,0,43,0,48,0,22,0,64,0 6,0,39,0,26,0,62,0,49,0,63,0 34,0,55,0,65,0,10,0,19,0,69,0 38,0,4,0,21,0,13,0,59,0,11,0 58,0,37,0,50,0,66,0,16,0,23,0 56,0,44,0,51,0,20,0,42,0,28,0 25,0,15,0,57,0,52,0,17,0,5,0 18,0,36,0,33,0,14,0,7,0,9,0 31,0,61,0,62,0,12,0,64,0,27,0 ================================================ FILE: schedules/69_12.csv ================================================ 21,0,33,0,23,0,54,0,64,0,40,0 10,0,46,0,36,0,65,0,58,0,25,0 24,0,8,0,63,0,18,0,50,0,30,0 14,0,19,0,62,0,22,0,1,0,15,0 51,0,12,0,44,0,66,0,5,0,59,0 45,0,38,0,47,0,31,0,52,0,69,0 61,0,35,0,29,0,20,0,16,0,56,0 37,0,34,0,43,0,55,0,7,0,39,0 41,0,28,0,26,0,68,0,17,0,9,0 67,0,60,0,48,0,6,0,53,0,2,0 57,0,49,0,13,0,27,0,3,0,4,0 32,0,42,0,38,0,11,0,50,0,15,0 12,0,10,0,21,0,56,0,14,0,35,0 24,0,62,0,43,0,36,0,33,0,69,0 59,0,17,0,64,0,34,0,54,0,58,0 25,0,3,0,66,0,68,0,40,0,45,0 44,0,5,0,42,0,57,0,4,0,6,0 29,0,26,0,23,0,22,0,55,0,67,0 11,0,37,0,47,0,18,0,28,0,48,0 27,0,52,0,9,0,61,0,2,0,46,0 13,0,63,0,16,0,1,0,60,0,7,0 49,0,53,0,41,0,8,0,51,0,20,0 39,0,65,0,19,0,31,0,30,0,32,0 4,0,45,0,12,0,38,0,26,0,17,0 34,0,66,0,55,0,58,0,24,0,15,0 46,0,23,0,16,0,14,0,6,0,36,0 28,0,54,0,51,0,2,0,35,0,13,0 60,0,37,0,42,0,8,0,33,0,30,0 57,0,56,0,41,0,48,0,31,0,62,0 10,0,53,0,59,0,68,0,21,0,47,0 5,0,61,0,1,0,49,0,25,0,69,0 32,0,11,0,40,0,20,0,7,0,29,0 44,0,19,0,18,0,9,0,50,0,67,0 3,0,39,0,64,0,65,0,52,0,63,0 27,0,38,0,15,0,43,0,22,0,35,0 30,0,2,0,10,0,62,0,53,0,26,0 61,0,33,0,31,0,12,0,7,0,58,0 11,0,18,0,21,0,4,0,41,0,25,0 45,0,6,0,24,0,65,0,37,0,9,0 22,0,34,0,52,0,8,0,28,0,16,0 5,0,48,0,13,0,40,0,46,0,19,0 20,0,63,0,54,0,43,0,42,0,47,0 68,0,67,0,1,0,57,0,39,0,51,0 44,0,59,0,56,0,14,0,55,0,17,0 50,0,69,0,64,0,3,0,60,0,29,0 32,0,36,0,23,0,27,0,49,0,66,0 7,0,37,0,4,0,54,0,19,0,35,0 15,0,10,0,43,0,16,0,48,0,45,0 30,0,22,0,12,0,13,0,41,0,52,0 31,0,55,0,1,0,53,0,46,0,64,0 21,0,50,0,63,0,26,0,36,0,34,0 5,0,17,0,23,0,42,0,61,0,62,0 39,0,69,0,2,0,40,0,14,0,8,0 28,0,3,0,6,0,33,0,38,0,20,0 25,0,57,0,24,0,51,0,59,0,32,0 65,0,27,0,56,0,11,0,44,0,67,0 9,0,29,0,58,0,49,0,47,0,60,0 66,0,68,0,36,0,18,0,61,0,54,0 48,0,20,0,42,0,21,0,64,0,1,0 7,0,46,0,24,0,3,0,45,0,41,0 33,0,22,0,27,0,59,0,63,0,31,0 4,0,56,0,43,0,2,0,60,0,32,0 57,0,29,0,65,0,12,0,28,0,34,0 49,0,40,0,51,0,62,0,16,0,30,0 5,0,68,0,14,0,55,0,37,0,50,0 58,0,10,0,8,0,11,0,19,0,38,0 15,0,44,0,26,0,39,0,47,0,23,0 52,0,35,0,53,0,18,0,17,0,6,0 69,0,66,0,9,0,25,0,67,0,13,0 32,0,68,0,24,0,42,0,64,0,12,0 11,0,63,0,61,0,2,0,40,0,55,0 49,0,8,0,43,0,21,0,44,0,31,0 36,0,5,0,50,0,45,0,7,0,28,0 15,0,65,0,53,0,54,0,4,0,13,0 20,0,62,0,67,0,37,0,59,0,52,0 14,0,30,0,57,0,38,0,25,0,29,0 6,0,69,0,51,0,26,0,27,0,58,0 18,0,3,0,9,0,39,0,10,0,1,0 47,0,16,0,33,0,46,0,17,0,56,0 34,0,19,0,60,0,35,0,41,0,23,0 66,0,22,0,8,0,48,0,64,0,4,0 14,0,61,0,67,0,43,0,28,0,32,0 54,0,15,0,69,0,52,0,12,0,11,0 20,0,17,0,24,0,13,0,27,0,39,0 34,0,42,0,46,0,51,0,60,0,10,0 65,0,18,0,45,0,2,0,59,0,29,0 55,0,47,0,36,0,19,0,57,0,33,0 31,0,41,0,38,0,37,0,40,0,44,0 58,0,16,0,5,0,30,0,21,0,3,0 25,0,9,0,53,0,62,0,63,0,23,0 48,0,35,0,7,0,68,0,49,0,26,0 56,0,1,0,66,0,50,0,22,0,6,0 39,0,38,0,59,0,60,0,61,0,36,0 21,0,28,0,29,0,19,0,24,0,27,0 37,0,51,0,13,0,10,0,32,0,63,0 48,0,8,0,54,0,45,0,55,0,62,0 58,0,52,0,68,0,23,0,4,0,44,0 46,0,30,0,9,0,50,0,20,0,35,0 40,0,7,0,69,0,17,0,65,0,22,0 11,0,33,0,43,0,57,0,53,0,66,0 56,0,25,0,6,0,49,0,64,0,15,0 47,0,2,0,12,0,1,0,34,0,3,0 31,0,18,0,26,0,42,0,14,0,16,0 67,0,41,0,27,0,5,0,54,0,10,0 63,0,37,0,17,0,21,0,46,0,66,0 57,0,35,0,58,0,52,0,40,0,56,0 6,0,8,0,13,0,29,0,43,0,68,0 25,0,55,0,19,0,2,0,3,0,42,0 30,0,28,0,4,0,59,0,69,0,23,0 44,0,32,0,45,0,33,0,1,0,53,0 26,0,61,0,22,0,11,0,24,0,65,0 38,0,62,0,49,0,67,0,34,0,47,0 15,0,60,0,31,0,18,0,20,0,5,0 64,0,14,0,51,0,36,0,7,0,9,0 16,0,39,0,50,0,41,0,48,0,12,0 19,0,63,0,68,0,69,0,24,0,56,0 25,0,1,0,47,0,35,0,8,0,65,0 30,0,67,0,6,0,34,0,21,0,45,0 42,0,7,0,66,0,53,0,38,0,28,0 60,0,55,0,18,0,27,0,12,0,62,0 13,0,17,0,11,0,50,0,23,0,31,0 54,0,22,0,39,0,49,0,5,0,46,0 2,0,37,0,64,0,15,0,16,0,57,0 29,0,48,0,36,0,52,0,3,0,44,0 58,0,59,0,40,0,9,0,26,0,43,0 4,0,33,0,14,0,41,0,61,0,51,0 20,0,32,0,55,0,10,0,18,0,69,0 60,0,54,0,17,0,25,0,28,0,22,0 7,0,62,0,21,0,6,0,66,0,39,0 34,0,16,0,68,0,9,0,11,0,5,0 38,0,65,0,23,0,56,0,48,0,51,0 31,0,4,0,35,0,36,0,67,0,24,0 13,0,64,0,30,0,61,0,47,0,44,0 26,0,3,0,46,0,8,0,32,0,15,0 2,0,52,0,50,0,33,0,10,0,49,0 57,0,20,0,45,0,14,0,63,0,58,0 59,0,41,0,43,0,42,0,29,0,1,0 53,0,27,0,40,0,12,0,37,0,19,0 ================================================ FILE: schedules/69_13.csv ================================================ 51,0,46,0,66,0,2,0,33,0,9,0 25,0,63,0,22,0,16,0,1,0,44,0 5,0,49,0,23,0,60,0,31,0,54,0 50,0,17,0,38,0,65,0,32,0,62,0 53,0,3,0,47,0,43,0,36,0,8,0 12,0,52,0,64,0,40,0,28,0,37,0 26,0,41,0,10,0,55,0,45,0,21,0 20,0,18,0,42,0,24,0,15,0,34,0 27,0,56,0,6,0,11,0,68,0,57,0 13,0,7,0,48,0,29,0,4,0,35,0 39,0,67,0,19,0,61,0,14,0,30,0 59,0,69,0,44,0,58,0,46,0,16,0 24,0,51,0,53,0,54,0,28,0,34,0 2,0,37,0,26,0,10,0,43,0,6,0 23,0,33,0,12,0,17,0,42,0,32,0 64,0,27,0,13,0,3,0,60,0,45,0 35,0,61,0,21,0,59,0,50,0,29,0 56,0,38,0,20,0,14,0,47,0,41,0 30,0,25,0,69,0,4,0,18,0,9,0 5,0,57,0,15,0,48,0,63,0,66,0 58,0,1,0,52,0,31,0,67,0,65,0 7,0,39,0,68,0,36,0,40,0,49,0 8,0,55,0,62,0,11,0,19,0,22,0 2,1,56,0,43,0,28,1,25,0,61,0 47,1,60,0,9,0,48,0,59,0,41,0 51,0,50,0,63,0,52,0,6,0,30,0 12,0,37,0,39,0,46,0,45,0,7,0 53,0,8,0,54,0,31,0,69,0,17,0 10,0,44,0,19,0,29,0,66,0,5,0 20,0,55,0,35,0,36,0,58,0,62,0 11,0,40,0,4,0,38,0,57,0,33,0 64,0,34,0,32,0,1,0,68,0,26,0 22,0,15,0,13,0,65,0,18,0,49,0 21,0,16,0,14,0,27,0,23,0,24,0 67,0,58,0,66,0,42,0,3,0,43,0 47,0,25,0,19,0,11,0,17,0,39,0 56,0,57,0,52,0,54,0,59,0,10,0 31,0,15,0,62,0,37,0,13,0,51,0 41,0,33,0,16,0,53,0,49,0,30,0 8,0,7,0,28,0,20,0,21,0,23,0 3,0,26,0,22,0,12,0,24,0,50,0 35,0,5,0,63,0,18,0,40,0,64,0 27,0,61,0,48,0,38,0,46,0,65,0 14,0,42,0,67,0,45,0,68,0,44,0 36,0,9,0,32,0,4,0,60,0,6,0 69,0,1,0,34,0,55,0,2,0,29,0 31,0,41,0,18,0,62,0,3,0,64,0 47,0,37,0,56,0,33,0,49,0,35,0 25,0,42,0,65,0,23,0,26,0,54,0 30,0,28,0,17,0,44,0,57,0,13,0 2,0,7,0,22,0,52,0,19,0,53,0 21,0,24,0,48,0,1,0,51,0,39,0 9,0,55,0,38,0,43,0,15,0,27,0 67,0,40,0,16,0,61,0,32,0,8,0 60,0,20,0,11,0,63,0,69,0,45,0 46,0,5,0,10,0,36,0,34,0,50,0 29,0,12,0,6,0,66,0,59,0,14,0 4,0,2,0,39,0,68,0,58,0,22,0 61,0,57,0,53,0,42,0,64,0,21,0 51,0,69,0,55,0,65,0,40,0,13,0 11,0,50,0,26,0,36,0,16,0,20,0 30,0,33,0,29,0,27,0,3,0,8,0 6,0,34,0,44,0,9,0,52,0,49,0 38,0,59,0,24,0,68,0,28,0,67,0 66,0,23,0,45,0,1,0,62,0,4,0 58,0,48,0,47,0,10,0,18,0,7,0 12,0,60,0,32,0,25,0,56,0,31,0 15,0,37,0,35,0,17,0,5,0,41,0 43,0,46,0,54,0,63,0,14,0,19,0 62,0,9,0,50,0,33,0,24,0,39,0 64,0,58,0,53,0,6,0,51,0,38,0 52,0,66,0,3,0,47,0,45,0,61,0 18,0,68,0,56,0,55,0,67,0,17,0 19,0,28,0,69,0,1,0,41,0,32,0 26,0,4,0,8,0,44,0,60,0,37,0 57,0,31,0,35,0,2,0,25,0,46,0 49,0,59,0,63,0,27,0,42,0,10,0 20,0,7,0,14,0,16,0,5,0,65,0 54,0,21,0,15,0,12,0,30,0,11,0 36,0,23,0,22,0,48,0,43,0,34,0 13,0,29,0,9,0,40,0,58,0,26,0 45,0,57,0,4,0,19,0,18,0,51,0 28,0,35,0,65,0,31,0,39,0,10,0 59,0,25,0,68,0,37,0,8,0,50,0 48,0,2,0,49,0,63,0,55,0,12,0 56,0,64,0,30,0,34,0,66,0,7,0 60,0,29,0,52,0,46,0,42,0,11,0 62,0,44,0,40,0,53,0,23,0,6,0 17,0,61,0,43,0,41,0,22,0,20,0 36,0,33,0,27,0,67,0,15,0,1,0 54,0,16,0,32,0,13,0,47,0,21,0 14,0,5,0,38,0,3,0,69,0,24,0 18,0,28,0,66,0,39,0,49,0,26,0 17,0,9,0,45,0,31,0,63,0,29,0 2,0,11,0,41,0,67,0,48,0,23,0 46,0,59,0,30,0,43,0,64,0,20,0 5,0,25,0,58,0,33,0,21,0,52,0 15,0,3,0,55,0,44,0,32,0,7,0 51,0,35,0,42,0,16,0,22,0,38,0 50,0,1,0,40,0,14,0,4,0,56,0 60,0,65,0,34,0,19,0,57,0,62,0 68,0,47,0,10,0,69,0,12,0,53,0 6,0,36,0,61,0,8,0,13,0,24,0 37,0,27,0,20,0,54,0,35,0,66,0 17,0,4,0,16,0,64,0,28,0,2,0 21,0,57,0,60,0,22,0,14,0,33,0 48,0,31,0,38,0,44,0,26,0,30,0 24,0,29,0,68,0,52,0,41,0,65,0 12,0,7,0,54,0,61,0,1,0,9,0 47,0,39,0,55,0,6,0,5,0,59,0 62,0,27,0,45,0,43,0,69,0,40,0 46,0,32,0,49,0,11,0,51,0,8,0 10,0,34,0,53,0,67,0,13,0,25,0 58,0,15,0,18,0,56,0,50,0,23,0 19,0,3,0,36,0,42,0,37,0,63,0 33,0,44,0,43,0,7,0,65,0,24,0 47,0,11,0,27,0,22,0,31,0,51,0 69,0,8,0,41,0,66,0,57,0,12,0 10,0,1,0,17,0,61,0,16,0,60,0 6,0,25,0,40,0,20,0,48,0,19,0 18,0,36,0,21,0,38,0,2,0,52,0 29,0,39,0,64,0,55,0,54,0,56,0 68,0,23,0,62,0,3,0,46,0,28,0 53,0,26,0,59,0,63,0,15,0,4,0 67,0,37,0,49,0,9,0,14,0,58,0 34,0,5,0,30,0,35,0,45,0,32,0 13,0,43,0,31,0,42,0,50,0,57,0 7,0,41,0,6,0,18,0,27,0,25,0 19,0,24,0,46,0,15,0,64,0,47,0 14,0,69,0,49,0,61,0,52,0,26,0 16,0,48,0,45,0,33,0,54,0,68,0 20,0,4,0,51,0,12,0,10,0,67,0 23,0,13,0,34,0,38,0,39,0,63,0 9,0,8,0,42,0,62,0,56,0,5,0 2,0,65,0,1,0,59,0,11,0,3,0 22,0,30,0,32,0,58,0,37,0,29,0 35,0,50,0,60,0,55,0,28,0,53,0 21,0,40,0,66,0,17,0,36,0,44,0 63,0,26,0,67,0,62,0,47,0,7,0 34,0,33,0,31,0,19,0,61,0,59,0 1,0,12,0,43,0,5,0,13,0,18,0 6,0,22,0,65,0,56,0,46,0,69,0 28,0,36,0,51,0,14,0,29,0,25,0 2,0,10,0,45,0,15,0,8,0,38,0 24,0,16,0,57,0,37,0,66,0,55,0 11,0,9,0,44,0,68,0,64,0,35,0 4,0,3,0,48,0,21,0,17,0,49,0 54,0,58,0,50,0,41,0,60,0,40,0 39,0,52,0,27,0,32,0,20,0,53,0 42,0,23,0,28,0,30,0,2,0,47,0 ================================================ FILE: schedules/69_14.csv ================================================ 25,0,21,0,64,0,27,0,26,0,57,0 43,0,53,0,68,0,28,0,59,0,55,0 31,0,22,0,48,0,37,0,44,0,5,0 3,0,54,0,69,0,36,0,23,0,63,0 46,0,35,0,20,0,14,0,16,0,11,0 51,0,9,0,42,0,7,0,49,0,61,0 18,0,56,0,45,0,30,0,39,0,6,0 2,0,29,0,24,0,12,0,13,0,33,0 1,0,19,0,65,0,60,0,38,0,15,0 67,0,8,0,4,0,17,0,52,0,32,0 50,0,40,0,41,0,58,0,47,0,10,0 66,0,34,0,49,0,62,0,45,0,43,0 13,0,30,0,2,0,44,0,57,0,68,0 16,0,15,0,25,0,38,0,53,0,46,0 5,0,11,0,59,0,8,0,17,0,51,0 42,0,27,0,48,0,28,0,65,0,24,0 4,0,37,0,66,0,23,0,18,0,7,0 32,0,62,0,54,0,3,0,64,0,56,0 69,0,34,0,21,0,39,0,67,0,40,0 31,0,36,0,14,0,50,0,19,0,9,0 22,0,10,0,33,0,12,0,47,0,26,0 58,0,1,0,60,0,52,0,20,0,6,0 41,0,55,0,61,0,63,0,35,0,29,0 54,0,37,0,68,0,53,0,65,0,21,0 64,0,14,0,39,0,36,0,15,0,11,0 27,0,49,0,59,0,3,0,18,0,40,0 12,0,48,0,43,0,20,0,8,0,23,0 25,0,60,0,28,0,34,0,13,0,56,0 38,0,57,0,17,0,66,0,29,0,10,0 7,0,5,0,2,0,26,0,19,0,58,0 52,0,22,0,67,0,16,0,63,0,30,0 50,0,33,0,6,0,61,0,32,0,35,0 69,0,44,0,42,0,55,0,45,0,51,0 1,0,62,0,31,0,41,0,46,0,24,0 4,0,47,0,20,0,9,0,34,0,65,0 38,0,11,0,52,0,40,0,2,0,21,0 56,0,6,0,12,0,48,0,53,0,49,0 17,0,59,0,61,0,39,0,15,0,45,0 55,0,31,0,19,0,33,0,60,0,16,0 44,0,47,0,29,0,25,0,1,0,23,0 46,0,28,0,26,0,41,0,7,0,36,0 18,0,14,0,62,0,67,0,42,0,68,0 8,0,30,0,5,0,32,0,10,0,4,0 57,0,69,0,35,0,54,0,58,0,22,0 64,0,63,0,24,0,50,0,37,0,51,0 66,0,43,0,13,0,27,0,9,0,3,0 33,0,65,0,45,0,28,0,1,0,11,0 6,0,21,0,23,0,59,0,31,0,15,0 55,0,49,0,46,0,8,0,57,0,22,0 35,0,64,0,5,0,40,0,38,0,69,0 17,0,47,0,36,0,24,0,61,0,13,0 43,0,19,0,67,0,44,0,54,0,12,0 32,0,41,0,66,0,25,0,39,0,20,0 3,0,26,0,30,0,42,0,34,0,50,0 7,0,37,0,60,0,29,0,62,0,68,0 53,0,18,0,63,0,9,0,48,0,2,0 14,0,27,0,58,0,56,0,16,0,4,0 10,0,12,0,28,0,51,0,52,0,21,0 15,0,49,0,54,0,66,0,47,0,69,0 22,0,64,0,1,0,31,0,39,0,13,0 19,0,46,0,40,0,65,0,37,0,18,0 34,0,11,0,63,0,56,0,68,0,27,0 48,0,16,0,23,0,62,0,10,0,51,0 14,0,35,0,45,0,52,0,26,0,59,0 58,0,30,0,41,0,9,0,33,0,8,0 50,0,32,0,20,0,17,0,53,0,2,0 25,0,36,0,67,0,6,0,4,0,55,0 38,0,24,0,7,0,44,0,61,0,3,0 29,0,57,0,60,0,43,0,5,0,42,0 56,0,51,0,22,0,41,0,27,0,19,0 28,0,64,0,47,0,16,0,66,0,2,0 33,0,34,0,23,0,46,0,17,0,67,0 8,0,50,0,55,0,38,0,39,0,54,0 40,0,53,0,29,0,26,0,48,0,4,0 3,0,6,0,63,0,57,0,65,0,20,0 21,0,43,0,35,0,14,0,7,0,13,0 25,0,24,0,62,0,9,0,30,0,45,0 12,0,18,0,11,0,5,0,61,0,1,0 59,0,58,0,37,0,49,0,36,0,32,0 10,0,31,0,42,0,68,0,52,0,15,0 60,0,69,0,41,0,44,0,53,0,14,0 34,0,64,0,45,0,33,0,48,0,21,0 6,0,29,0,19,0,3,0,11,0,47,0 23,0,50,0,54,0,27,0,7,0,1,0 57,0,39,0,18,0,9,0,35,0,24,0 68,0,16,0,49,0,25,0,32,0,26,0 13,0,59,0,10,0,44,0,67,0,63,0 65,0,8,0,69,0,61,0,62,0,2,0 5,0,31,0,52,0,36,0,66,0,55,0 15,0,22,0,42,0,40,0,20,0,56,0 58,0,17,0,12,0,30,0,28,0,37,0 51,0,4,0,38,0,43,0,60,0,46,0 16,0,53,0,50,0,11,0,57,0,21,0 7,0,48,0,3,0,25,0,47,0,41,0 52,0,44,0,27,0,6,0,62,0,9,0 23,0,64,0,30,0,19,0,14,0,49,0 26,0,66,0,17,0,63,0,56,0,60,0 10,0,1,0,40,0,43,0,2,0,55,0 37,0,8,0,13,0,15,0,33,0,69,0 20,0,12,0,24,0,4,0,68,0,59,0 38,0,32,0,22,0,34,0,31,0,18,0 46,0,61,0,39,0,28,0,54,0,5,0 67,0,65,0,51,0,58,0,45,0,36,0 35,0,8,0,16,0,29,0,42,0,3,0 2,0,14,0,6,0,37,0,55,0,17,0 49,0,9,0,38,0,50,0,68,0,48,0 33,0,1,0,59,0,7,0,57,0,4,0 28,0,36,0,21,0,22,0,18,0,60,0 34,0,27,0,15,0,41,0,5,0,12,0 35,0,53,0,19,0,24,0,67,0,66,0 40,0,11,0,45,0,23,0,13,0,62,0 56,0,47,0,31,0,43,0,51,0,69,0 61,0,63,0,42,0,46,0,32,0,64,0 39,0,58,0,65,0,10,0,44,0,25,0 29,0,26,0,20,0,30,0,52,0,54,0 45,0,53,0,3,0,5,0,22,0,68,0 12,0,37,0,9,0,56,0,35,0,1,0 60,0,32,0,21,0,24,0,47,0,23,0 11,0,10,0,19,0,4,0,25,0,69,0 59,0,62,0,63,0,38,0,58,0,28,0 52,0,18,0,43,0,64,0,50,0,65,0 40,0,61,0,48,0,66,0,14,0,30,0 2,0,20,0,44,0,27,0,46,0,36,0 17,0,13,0,41,0,54,0,42,0,16,0 34,0,26,0,7,0,31,0,6,0,8,0 51,0,39,0,49,0,67,0,33,0,29,0 55,0,57,0,32,0,15,0,12,0,65,0 68,0,58,0,9,0,23,0,46,0,22,0 30,0,10,0,35,0,36,0,1,0,53,0 11,0,56,0,7,0,64,0,20,0,38,0 16,0,69,0,5,0,43,0,24,0,6,0 61,0,60,0,67,0,3,0,41,0,2,0 42,0,39,0,55,0,48,0,37,0,47,0 15,0,28,0,4,0,50,0,44,0,49,0 18,0,51,0,66,0,21,0,26,0,13,0 54,0,25,0,40,0,17,0,33,0,31,0 27,0,63,0,45,0,8,0,14,0,29,0 34,0,62,0,52,0,59,0,19,0,57,0 32,0,3,0,1,0,28,0,69,0,48,0 7,0,39,0,16,0,60,0,12,0,30,0 68,0,46,0,51,0,66,0,40,0,6,0 9,0,55,0,67,0,26,0,11,0,64,0 47,0,62,0,33,0,14,0,63,0,5,0 17,0,65,0,27,0,35,0,31,0,49,0 54,0,2,0,4,0,42,0,59,0,45,0 44,0,36,0,56,0,21,0,18,0,8,0 15,0,24,0,53,0,29,0,58,0,34,0 41,0,52,0,57,0,23,0,37,0,38,0 50,0,43,0,61,0,19,0,25,0,22,0 20,0,13,0,49,0,10,0,55,0,5,0 9,0,7,0,44,0,32,0,40,0,16,0 60,0,68,0,47,0,27,0,8,0,64,0 33,0,42,0,36,0,12,0,66,0,38,0 37,0,57,0,31,0,28,0,45,0,67,0 18,0,15,0,30,0,63,0,41,0,43,0 29,0,50,0,46,0,69,0,59,0,56,0 62,0,21,0,19,0,17,0,1,0,20,0 54,0,26,0,61,0,48,0,58,0,11,0 14,0,22,0,24,0,65,0,10,0,6,0 23,0,51,0,2,0,35,0,25,0,34,0 3,0,13,0,52,0,4,0,53,0,39,0 ================================================ FILE: schedules/69_2.csv ================================================ 26,0,68,0,24,0,69,0,52,0,28,0 37,0,55,0,17,0,25,0,53,0,42,0 18,0,36,0,22,0,2,0,21,0,48,0 19,0,47,0,7,0,14,0,38,0,32,0 5,0,13,0,64,0,27,0,63,0,34,0 4,0,23,0,9,0,61,0,56,0,40,0 44,0,50,0,65,0,67,0,57,0,3,0 62,0,16,0,54,0,29,0,60,0,30,0 1,0,11,0,58,0,43,0,31,0,20,0 35,0,49,0,66,0,46,0,51,0,39,0 45,0,6,0,8,0,12,0,33,0,15,0 10,0,41,0,69,0,59,0,17,0,4,0 61,0,27,0,42,0,47,0,48,0,16,0 60,0,56,0,68,0,58,0,7,0,65,0 46,0,34,0,23,0,28,0,36,0,32,0 6,0,38,0,63,0,35,0,43,0,37,0 53,0,30,0,14,0,57,0,45,0,41,0 31,0,26,0,39,0,50,0,55,0,12,0 21,0,62,0,3,0,64,0,24,0,1,0 33,0,13,0,20,0,51,0,18,0,54,0 40,0,5,0,2,0,29,0,49,0,10,0 15,0,67,0,59,0,66,0,25,0,22,0 19,0,9,0,52,0,8,0,44,0,11,0 ================================================ FILE: schedules/69_3.csv ================================================ 6,0,37,0,40,0,16,0,28,0,48,0 2,0,10,0,49,0,50,0,60,0,18,0 39,0,53,0,15,0,4,0,5,0,45,0 26,0,61,0,33,0,68,0,54,0,66,0 19,0,8,0,13,0,29,0,27,0,55,0 67,0,47,0,12,0,23,0,38,0,43,0 41,0,21,0,11,0,34,0,22,0,59,0 14,0,64,0,58,0,25,0,46,0,63,0 31,0,42,0,62,0,52,0,9,0,3,0 32,0,20,0,69,0,1,0,35,0,17,0 30,0,24,0,51,0,7,0,57,0,56,0 65,0,55,0,43,0,44,0,36,0,61,0 40,1,66,0,64,0,60,1,23,0,4,0 34,0,39,0,63,0,67,1,2,0,16,0 52,0,45,0,20,0,18,0,27,0,12,0 35,0,51,0,19,0,31,0,10,0,28,0 3,0,15,0,29,0,32,0,11,0,68,0 44,0,56,0,59,0,38,0,26,0,25,0 33,0,41,0,48,0,24,0,47,0,8,0 30,0,13,0,36,0,21,0,62,0,14,0 50,0,54,0,9,0,7,0,6,0,69,0 46,0,1,0,42,0,22,0,5,0,49,0 57,0,65,0,17,0,58,0,37,0,53,0 20,0,38,0,40,0,31,0,39,0,11,0 47,0,32,0,66,0,63,0,56,0,13,0 27,0,24,0,25,0,43,0,60,0,9,0 45,0,55,0,28,0,69,0,33,0,3,0 49,0,4,0,17,0,26,0,67,0,6,0 29,0,14,0,53,0,51,0,22,0,52,0 23,0,46,0,10,0,34,0,62,0,48,0 12,0,8,0,50,0,58,0,35,0,61,0 2,0,7,0,21,0,65,0,15,0,42,0 44,0,5,0,37,0,64,0,68,0,30,0 18,0,1,0,16,0,54,0,36,0,41,0 57,0,59,0,60,0,19,0,40,0,67,0 ================================================ FILE: schedules/69_4.csv ================================================ 29,0,28,0,49,0,48,0,7,0,6,0 16,0,32,0,37,0,63,0,59,0,67,0 20,0,43,0,14,0,11,0,23,0,2,0 10,0,21,0,62,0,58,0,8,0,44,0 9,0,15,0,38,0,17,0,46,0,51,0 24,0,65,0,3,0,57,0,66,0,22,0 18,0,36,0,25,0,31,0,33,0,30,0 40,0,68,0,56,0,54,0,5,0,69,0 50,0,47,0,53,0,39,0,45,0,60,0 4,0,42,0,52,0,13,0,19,0,34,0 64,0,27,0,61,0,26,0,1,0,12,0 35,0,41,0,65,0,55,0,36,0,21,0 15,0,48,0,67,0,20,0,31,0,40,0 33,0,2,0,38,0,53,0,7,0,3,0 45,0,28,0,44,0,4,0,22,0,9,0 16,0,47,0,51,0,11,0,42,0,54,0 37,0,1,0,23,0,17,0,58,0,56,0 69,0,32,0,34,0,41,0,61,0,10,0 8,0,27,0,6,0,19,0,5,0,35,0 59,0,24,0,62,0,52,0,25,0,29,0 60,0,46,0,66,0,18,0,68,0,12,0 55,0,64,0,50,0,49,0,13,0,14,0 30,0,57,0,39,0,43,0,26,0,63,0 54,0,61,0,7,0,4,0,8,0,65,0 56,0,52,0,41,0,47,0,15,0,27,0 25,0,5,0,58,0,66,0,28,0,11,0 69,0,13,0,9,0,67,0,36,0,3,0 14,0,31,0,12,0,37,0,34,0,6,0 22,0,26,0,19,0,38,0,10,0,50,0 57,0,23,0,33,0,40,0,64,0,59,0 55,0,17,0,60,0,2,0,44,0,42,0 51,0,62,0,39,0,35,0,68,0,49,0 43,0,45,0,21,0,32,0,18,0,29,0 53,0,63,0,46,0,48,0,24,0,1,0 20,0,30,0,56,0,16,0,64,0,22,0 54,0,66,0,23,0,52,0,9,0,31,0 65,0,10,0,33,0,51,0,5,0,14,0 67,0,18,0,8,0,47,0,49,0,2,0 11,0,27,0,38,0,63,0,69,0,55,0 26,0,21,0,53,0,42,0,20,0,37,0 68,0,24,0,58,0,32,0,36,0,15,0 45,0,41,0,48,0,30,0,19,0,62,0 40,0,6,0,44,0,16,0,43,0,61,0 57,0,7,0,13,0,25,0,1,0,60,0 4,0,3,0,17,0,29,0,12,0,39,0 59,0,46,0,35,0,34,0,50,0,28,0 ================================================ FILE: schedules/69_5.csv ================================================ 63,0,49,0,1,0,41,0,34,0,28,0 26,0,38,0,18,0,65,0,61,0,7,0 8,0,13,0,2,0,24,0,5,0,66,0 6,0,22,0,19,0,58,0,20,0,67,0 11,0,12,0,50,0,68,0,25,0,37,0 40,0,17,0,54,0,35,0,47,0,14,0 44,0,21,0,3,0,15,0,43,0,36,0 42,0,39,0,33,0,52,0,46,0,48,0 4,0,27,0,16,0,23,0,45,0,53,0 51,0,62,0,29,0,10,0,56,0,69,0 57,0,30,0,55,0,31,0,64,0,9,0 60,0,32,0,41,0,59,0,14,0,44,0 58,0,25,0,24,0,63,0,15,0,39,0 3,0,48,0,27,0,18,0,11,0,35,0 46,0,28,0,36,0,6,0,50,0,51,0 29,0,26,0,67,0,68,0,16,0,31,0 30,0,12,0,19,0,52,0,43,0,32,0 37,0,23,0,40,0,22,0,56,0,57,0 10,0,47,0,2,0,55,0,38,0,45,0 64,0,66,0,33,0,1,0,65,0,17,0 7,0,53,0,34,0,42,0,8,0,60,0 61,0,9,0,69,0,20,0,13,0,21,0 49,0,5,0,59,0,54,0,62,0,4,0 12,1,67,0,15,0,41,1,46,0,27,0 32,0,65,0,3,0,22,1,29,0,47,0 44,0,64,0,48,0,37,0,8,0,38,0 16,0,13,0,60,0,10,0,19,0,11,0 40,0,31,0,21,0,42,0,25,0,49,0 58,0,4,0,52,0,55,0,7,0,56,0 2,0,6,0,68,0,23,0,1,0,62,0 61,0,36,0,17,0,30,0,34,0,24,0 66,0,18,0,57,0,54,0,51,0,39,0 35,0,20,0,28,0,45,0,59,0,33,0 14,0,69,0,53,0,5,0,26,0,50,0 63,0,38,0,11,0,43,0,9,0,46,0 4,0,19,0,34,0,64,0,29,0,2,0 8,0,23,0,10,0,31,0,32,0,58,0 56,0,54,0,25,0,20,0,48,0,41,0 35,0,39,0,7,0,21,0,50,0,30,0 65,0,15,0,52,0,13,0,51,0,14,0 68,0,27,0,43,0,17,0,57,0,28,0 59,0,1,0,36,0,69,0,40,0,16,0 47,0,9,0,53,0,66,0,49,0,44,0 6,0,26,0,24,0,3,0,12,0,60,0 62,0,63,0,45,0,18,0,42,0,22,0 5,0,37,0,61,0,33,0,67,0,55,0 23,0,64,0,20,0,11,0,7,0,15,0 35,0,31,0,19,0,41,0,36,0,53,0 21,0,56,0,28,0,16,0,8,0,47,0 45,0,50,0,1,0,9,0,32,0,54,0 44,0,5,0,57,0,6,0,65,0,63,0 39,0,38,0,34,0,12,0,62,0,13,0 51,0,48,0,55,0,24,0,22,0,59,0 37,0,17,0,46,0,49,0,26,0,10,0 52,0,61,0,60,0,27,0,29,0,40,0 43,0,25,0,67,0,14,0,4,0,18,0 30,0,42,0,68,0,58,0,3,0,66,0 33,0,41,0,22,0,69,0,2,0,12,0 ================================================ FILE: schedules/69_6.csv ================================================ 10,0,19,0,30,0,7,0,11,0,1,0 37,0,50,0,28,0,33,0,20,0,38,0 67,0,5,0,31,0,68,0,40,0,26,0 17,0,35,0,48,0,54,0,69,0,27,0 55,0,9,0,51,0,64,0,41,0,61,0 62,0,29,0,47,0,22,0,34,0,36,0 13,0,42,0,60,0,65,0,56,0,3,0 63,0,53,0,4,0,25,0,6,0,45,0 32,0,58,0,49,0,16,0,15,0,46,0 44,0,24,0,43,0,59,0,2,0,21,0 39,0,14,0,57,0,12,0,52,0,23,0 8,0,66,0,5,0,18,0,65,0,7,0 38,0,3,0,36,0,10,0,17,0,45,0 13,0,15,0,61,0,27,0,19,0,26,0 51,0,68,0,46,0,22,0,4,0,35,0 16,0,64,0,48,0,39,0,11,0,29,0 69,0,57,0,40,0,25,0,59,0,28,0 32,0,23,0,47,0,66,0,24,0,33,0 14,0,67,0,41,0,56,0,8,0,21,0 37,0,34,0,42,0,52,0,44,0,55,0 6,0,60,0,12,0,31,0,50,0,1,0 20,0,49,0,54,0,18,0,2,0,63,0 9,0,30,0,58,0,62,0,43,0,53,0 21,0,64,0,23,0,5,0,28,0,35,0 11,0,33,0,25,0,8,0,36,0,42,0 17,0,4,0,59,0,13,0,39,0,37,0 10,0,61,0,66,0,20,0,6,0,57,0 29,0,52,0,40,0,51,0,54,0,58,0 48,0,32,0,44,0,19,0,12,0,67,0 55,0,53,0,2,0,16,0,68,0,56,0 7,0,24,0,62,0,31,0,15,0,63,0 26,0,41,0,22,0,50,0,30,0,49,0 27,0,9,0,34,0,3,0,14,0,1,0 45,0,46,0,47,0,60,0,69,0,18,0 65,0,38,0,11,0,43,0,61,0,32,0 25,0,2,0,51,0,48,0,10,0,23,0 21,0,26,0,33,0,16,0,12,0,54,0 59,0,6,0,52,0,7,0,36,0,49,0 1,0,68,0,28,0,45,0,42,0,58,0 46,0,43,0,31,0,64,0,17,0,34,0 44,0,13,0,22,0,9,0,5,0,63,0 8,0,35,0,29,0,37,0,15,0,60,0 50,0,66,0,19,0,40,0,14,0,53,0 56,0,27,0,24,0,18,0,38,0,30,0 3,0,67,0,4,0,57,0,55,0,47,0 41,0,69,0,65,0,39,0,62,0,20,0 45,0,33,0,7,0,61,0,34,0,48,0 14,0,15,0,28,0,6,0,51,0,17,0 9,0,18,0,52,0,68,0,10,0,32,0 38,0,35,0,63,0,47,0,42,0,40,0 30,0,2,0,65,0,67,0,46,0,29,0 5,0,56,0,59,0,54,0,50,0,62,0 55,0,36,0,20,0,58,0,13,0,12,0 1,0,39,0,25,0,43,0,66,0,26,0 37,0,16,0,19,0,22,0,57,0,24,0 44,0,64,0,49,0,8,0,53,0,3,0 60,0,11,0,23,0,27,0,4,0,41,0 21,0,69,0,51,0,31,0,30,0,13,0 50,0,34,0,68,0,65,0,15,0,25,0 28,0,54,0,36,0,67,0,66,0,9,0 64,0,56,0,26,0,47,0,7,0,20,0 6,0,3,0,40,0,33,0,62,0,46,0 10,0,39,0,55,0,24,0,35,0,49,0 53,0,52,0,5,0,38,0,48,0,41,0 19,0,29,0,43,0,69,0,4,0,42,0 58,0,14,0,31,0,2,0,37,0,11,0 12,0,22,0,27,0,59,0,8,0,45,0 32,0,57,0,63,0,17,0,21,0,60,0 16,0,18,0,61,0,44,0,23,0,1,0 ================================================ FILE: schedules/69_7.csv ================================================ 56,0,36,0,15,0,53,0,52,0,14,0 43,0,37,0,59,0,6,0,12,0,46,0 16,0,31,0,68,0,24,0,18,0,10,0 45,0,69,0,64,0,1,0,7,0,19,0 11,0,26,0,2,0,3,0,61,0,34,0 40,0,28,0,8,0,27,0,20,0,49,0 51,0,41,0,33,0,55,0,17,0,4,0 50,0,67,0,29,0,58,0,9,0,42,0 5,0,13,0,21,0,54,0,63,0,32,0 57,0,48,0,39,0,47,0,23,0,30,0 65,0,25,0,35,0,44,0,60,0,22,0 62,0,38,0,19,0,66,0,18,0,26,0 34,0,59,0,17,0,52,0,16,0,40,0 10,0,27,0,33,0,15,0,9,0,32,0 43,0,3,0,30,0,21,0,51,0,36,0 2,0,8,0,7,0,60,0,29,0,57,0 5,0,68,0,53,0,38,0,47,0,45,0 66,0,39,0,41,0,50,0,6,0,1,0 64,0,23,0,61,0,14,0,54,0,35,0 25,0,31,0,58,0,12,0,48,0,49,0 46,0,13,0,11,0,65,0,56,0,42,0 22,0,4,0,24,0,63,0,20,0,37,0 62,0,44,0,55,0,67,0,69,0,28,0 6,1,66,0,7,0,47,1,5,0,27,0 8,1,53,0,30,0,10,0,35,0,59,0 60,0,32,0,61,0,19,0,17,0,42,0 45,0,48,0,43,0,15,0,24,0,34,0 12,0,44,0,13,0,3,0,39,0,20,0 36,0,18,0,65,0,57,0,33,0,63,0 21,0,31,0,9,0,1,0,22,0,55,0 38,0,2,0,56,0,58,0,16,0,64,0 29,0,4,0,54,0,62,0,25,0,40,0 14,0,69,0,50,0,51,0,11,0,68,0 46,0,23,0,52,0,28,0,41,0,26,0 67,0,49,0,15,0,37,0,39,0,21,0 1,0,34,0,18,0,30,0,5,0,42,0 38,0,24,0,40,0,33,0,7,0,44,0 14,0,13,0,59,0,22,0,19,0,48,0 57,0,3,0,28,0,56,0,6,0,17,0 62,0,50,0,47,0,2,0,36,0,31,0 23,0,8,0,32,0,68,0,12,0,4,0 37,0,58,0,54,0,26,0,27,0,51,0 49,0,66,0,53,0,60,0,64,0,63,0 29,0,46,0,16,0,45,0,35,0,55,0 43,0,25,0,41,0,67,0,11,0,10,0 20,0,9,0,52,0,61,0,65,0,69,0 18,0,48,0,17,0,50,0,54,0,8,0 42,0,7,0,28,0,68,0,37,0,36,0 31,0,6,0,4,0,15,0,38,0,13,0 10,0,55,0,34,0,56,0,23,0,49,0 66,0,20,0,14,0,46,0,21,0,57,0 11,0,35,0,63,0,9,0,12,0,40,0 16,0,33,0,26,0,25,0,69,0,39,0 24,0,60,0,41,0,5,0,59,0,3,0 1,0,47,0,32,0,51,0,29,0,44,0 27,0,2,0,19,0,53,0,65,0,43,0 22,0,58,0,30,0,61,0,62,0,45,0 64,0,67,0,68,0,52,0,13,0,57,0 28,0,15,0,54,0,16,0,11,0,66,0 10,0,48,0,60,0,69,0,46,0,38,0 33,0,20,0,35,0,43,0,50,0,56,0 45,0,59,0,18,0,9,0,2,0,49,0 44,0,19,0,21,0,4,0,34,0,58,0 37,0,3,0,1,0,62,0,14,0,32,0 8,0,52,0,42,0,25,0,47,0,24,0 17,0,63,0,31,0,7,0,30,0,26,0 36,0,27,0,12,0,61,0,41,0,29,0 53,0,51,0,6,0,22,0,23,0,67,0 40,0,65,0,55,0,39,0,5,0,64,0 15,0,35,0,69,0,47,0,18,0,3,0 30,0,9,0,56,0,8,0,19,0,37,0 57,0,42,0,41,0,31,0,45,0,44,0 6,0,62,0,20,0,68,0,34,0,60,0 24,0,11,0,32,0,53,0,58,0,55,0 4,0,16,0,65,0,67,0,7,0,48,0 22,0,17,0,49,0,36,0,46,0,5,0 59,0,50,0,63,0,27,0,25,0,23,0 54,0,12,0,1,0,33,0,2,0,52,0 10,0,61,0,40,0,13,0,51,0,66,0 39,0,38,0,28,0,29,0,14,0,43,0 21,0,26,0,6,0,64,0,47,0,8,0 ================================================ FILE: schedules/69_8.csv ================================================ 45,0,4,0,53,0,47,0,8,0,29,0 5,0,37,0,14,0,7,0,61,0,62,0 9,0,35,0,26,0,21,0,11,0,43,0 15,0,57,0,60,0,67,0,66,0,38,0 68,0,34,0,28,0,48,0,18,0,50,0 19,0,20,0,33,0,65,0,41,0,17,0 12,0,46,0,54,0,1,0,52,0,23,0 10,0,27,0,24,0,13,0,51,0,64,0 30,0,40,0,63,0,16,0,36,0,49,0 3,0,6,0,42,0,55,0,58,0,25,0 22,0,32,0,44,0,56,0,59,0,39,0 69,0,2,0,60,0,31,0,23,0,21,0 52,0,38,0,19,0,27,0,50,0,9,0 41,0,68,0,61,0,45,0,63,0,54,0 15,0,17,0,26,0,34,0,29,0,3,0 39,0,13,0,20,0,14,0,57,0,53,0 25,0,51,0,31,0,62,0,30,0,33,0 16,0,5,0,42,0,43,0,32,0,28,0 6,0,7,0,48,0,46,0,2,0,59,0 47,0,67,0,65,0,64,0,49,0,11,0 10,0,44,0,18,0,69,0,8,0,35,0 4,0,22,0,37,0,58,0,12,0,36,0 56,0,66,0,1,0,24,0,55,0,40,0 38,0,45,0,39,0,43,0,6,0,26,0 65,0,28,0,59,0,30,0,54,0,9,0 67,0,23,0,29,0,33,0,16,0,44,0 21,0,46,0,62,0,41,0,36,0,15,0 63,0,50,0,58,0,13,0,14,0,31,0 24,0,4,0,35,0,5,0,52,0,68,0 3,0,56,0,57,0,47,0,37,0,18,0 12,0,7,0,1,0,10,0,60,0,17,0 20,0,49,0,55,0,27,0,48,0,69,0 40,0,64,0,61,0,32,0,53,0,19,0 25,0,66,0,34,0,22,0,8,0,11,0 42,0,51,0,45,0,2,0,15,0,4,0 63,0,35,0,38,0,46,0,1,0,37,0 69,0,16,0,26,0,62,0,57,0,12,0 67,0,39,0,17,0,24,0,50,0,36,0 8,0,10,0,9,0,48,0,33,0,56,0 53,0,3,0,31,0,65,0,42,0,22,0 43,0,23,0,64,0,66,0,20,0,30,0 11,0,54,0,18,0,55,0,14,0,2,0 34,0,49,0,52,0,41,0,7,0,32,0 44,0,40,0,27,0,21,0,6,0,5,0 68,0,60,0,19,0,13,0,29,0,25,0 51,0,58,0,59,0,61,0,28,0,47,0 33,0,69,0,11,0,53,0,63,0,37,0 42,0,12,0,34,0,9,0,20,0,67,0 38,0,21,0,17,0,64,0,54,0,56,0 26,0,68,0,24,0,14,0,44,0,30,0 22,0,28,0,49,0,10,0,62,0,45,0 58,0,43,0,8,0,60,0,46,0,40,0 29,0,51,0,55,0,41,0,50,0,23,0 36,0,59,0,52,0,13,0,3,0,2,0 35,0,61,0,65,0,57,0,16,0,25,0 5,0,66,0,47,0,19,0,39,0,48,0 15,0,6,0,18,0,32,0,31,0,1,0 27,0,7,0,28,0,4,0,63,0,23,0 55,0,21,0,10,0,59,0,34,0,45,0 56,0,43,0,25,0,53,0,12,0,2,0 48,0,41,0,16,0,24,0,38,0,58,0 51,0,66,0,32,0,69,0,17,0,68,0 50,0,60,0,11,0,61,0,20,0,3,0 1,0,62,0,9,0,4,0,64,0,44,0 7,0,13,0,40,0,18,0,26,0,65,0 52,0,6,0,14,0,19,0,22,0,67,0 47,0,33,0,36,0,42,0,54,0,35,0 29,0,5,0,49,0,46,0,31,0,57,0 27,0,30,0,8,0,37,0,15,0,39,0 62,0,43,0,65,0,34,0,24,0,23,0 59,0,50,0,4,0,25,0,69,0,40,0 67,0,1,0,53,0,58,0,21,0,68,0 46,0,10,0,20,0,47,0,32,0,26,0 54,0,37,0,48,0,60,0,6,0,51,0 3,0,14,0,33,0,12,0,38,0,49,0 30,0,35,0,56,0,45,0,27,0,13,0 28,0,8,0,31,0,17,0,52,0,61,0 2,0,9,0,41,0,66,0,16,0,39,0 36,0,11,0,57,0,7,0,44,0,19,0 42,0,63,0,29,0,18,0,5,0,64,0 15,0,22,0,47,0,55,0,43,0,68,0 37,0,24,0,45,0,20,0,59,0,31,0 54,0,32,0,62,0,3,0,8,0,67,0 14,0,46,0,16,0,34,0,51,0,56,0 53,0,41,0,64,0,35,0,28,0,6,0 39,0,60,0,65,0,55,0,52,0,63,0 11,0,27,0,17,0,57,0,40,0,42,0 1,0,2,0,26,0,50,0,33,0,22,0 13,0,48,0,12,0,44,0,15,0,61,0 49,0,18,0,21,0,19,0,66,0,4,0 30,0,69,0,58,0,9,0,29,0,7,0 38,0,23,0,36,0,5,0,10,0,25,0 ================================================ FILE: schedules/69_9.csv ================================================ 47,0,68,0,31,0,61,0,24,0,67,0 22,0,26,0,11,0,36,0,32,0,64,0 52,0,39,0,19,0,48,0,2,0,42,0 34,0,23,0,56,0,6,0,16,0,69,0 35,0,33,0,63,0,45,0,44,0,21,0 38,0,1,0,25,0,4,0,27,0,58,0 17,0,51,0,10,0,66,0,53,0,8,0 37,0,46,0,60,0,7,0,20,0,3,0 14,0,30,0,15,0,62,0,65,0,54,0 5,0,59,0,18,0,50,0,43,0,12,0 40,0,9,0,55,0,13,0,57,0,28,0 49,0,41,0,56,0,29,0,39,0,47,0 24,0,42,0,33,0,1,0,3,0,10,0 44,0,69,0,31,0,11,0,52,0,15,0 59,0,35,0,6,0,4,0,22,0,53,0 5,0,40,0,17,0,21,0,25,0,30,0 27,0,54,0,9,0,23,0,36,0,50,0 49,0,68,0,63,0,28,0,19,0,60,0 34,0,20,0,57,0,8,0,18,0,62,0 67,0,2,0,32,0,38,0,7,0,13,0 64,0,37,0,14,0,29,0,61,0,43,0 51,0,48,0,65,0,58,0,12,0,26,0 46,0,45,0,55,0,41,0,66,0,16,0 59,1,33,0,1,0,60,1,11,0,49,0 24,1,53,0,52,0,20,0,30,0,28,0 43,0,13,0,47,0,19,0,10,0,36,0 6,0,12,0,64,0,38,0,9,0,42,0 14,0,27,0,29,0,48,0,35,0,68,0 34,0,44,0,4,0,7,0,26,0,17,0 67,0,18,0,15,0,66,0,22,0,58,0 69,0,39,0,37,0,65,0,55,0,21,0 23,0,62,0,16,0,50,0,61,0,31,0 40,0,32,0,45,0,56,0,3,0,8,0 51,0,54,0,63,0,25,0,5,0,2,0 41,0,46,0,17,0,57,0,27,0,59,0 66,0,18,0,11,0,24,0,37,0,38,0 53,0,34,0,19,0,55,0,67,0,29,0 8,0,16,0,52,0,47,0,21,0,14,0 58,0,7,0,62,0,5,0,9,0,39,0 23,0,15,0,64,0,63,0,13,0,20,0 10,0,57,0,26,0,45,0,49,0,6,0 12,0,61,0,54,0,46,0,35,0,32,0 51,0,56,0,4,0,28,0,43,0,65,0 60,0,41,0,42,0,31,0,36,0,25,0 2,0,33,0,68,0,69,0,40,0,50,0 44,0,48,0,3,0,30,0,22,0,1,0 24,0,58,0,63,0,6,0,46,0,29,0 61,0,35,0,7,0,51,0,18,0,52,0 62,0,43,0,25,0,32,0,11,0,55,0 19,0,47,0,4,0,12,0,69,0,33,0 20,0,50,0,49,0,44,0,42,0,67,0 48,0,36,0,37,0,59,0,40,0,15,0 39,0,38,0,30,0,23,0,14,0,57,0 5,0,56,0,27,0,64,0,60,0,10,0 2,0,21,0,22,0,34,0,45,0,41,0 3,0,65,0,9,0,17,0,66,0,31,0 26,0,16,0,13,0,68,0,1,0,54,0 28,0,53,0,50,0,8,0,37,0,58,0 6,0,67,0,47,0,46,0,51,0,62,0 7,0,43,0,10,0,41,0,48,0,23,0 27,0,64,0,66,0,52,0,40,0,49,0 31,0,57,0,21,0,20,0,12,0,29,0 30,0,24,0,11,0,34,0,13,0,35,0 32,0,4,0,68,0,42,0,5,0,55,0 22,0,28,0,8,0,33,0,39,0,54,0 61,0,69,0,38,0,60,0,17,0,45,0 59,0,14,0,2,0,44,0,9,0,56,0 36,0,53,0,65,0,63,0,1,0,18,0 3,0,25,0,16,0,15,0,19,0,26,0 12,0,41,0,10,0,34,0,37,0,52,0 45,0,42,0,50,0,17,0,24,0,48,0 6,0,66,0,54,0,68,0,59,0,21,0 36,0,47,0,28,0,57,0,5,0,65,0 11,0,39,0,63,0,51,0,16,0,27,0 8,0,13,0,61,0,44,0,49,0,25,0 60,0,22,0,7,0,40,0,14,0,19,0 15,0,32,0,31,0,33,0,46,0,53,0 38,0,56,0,20,0,35,0,26,0,55,0 4,0,2,0,29,0,3,0,18,0,23,0 43,0,1,0,69,0,67,0,9,0,30,0 58,0,36,0,21,0,62,0,64,0,24,0 42,0,40,0,11,0,65,0,61,0,46,0 35,0,15,0,5,0,6,0,41,0,8,0 14,0,50,0,66,0,4,0,63,0,26,0 39,0,3,0,27,0,34,0,43,0,67,0 7,0,48,0,57,0,25,0,69,0,53,0 60,0,18,0,9,0,44,0,47,0,32,0 20,0,1,0,23,0,22,0,51,0,68,0 16,0,30,0,55,0,12,0,49,0,2,0 58,0,17,0,52,0,33,0,13,0,56,0 28,0,29,0,59,0,10,0,62,0,38,0 54,0,45,0,64,0,31,0,19,0,37,0 11,0,67,0,20,0,5,0,41,0,14,0 9,0,4,0,49,0,51,0,24,0,15,0 52,0,6,0,55,0,50,0,3,0,60,0 18,0,46,0,30,0,68,0,10,0,39,0 65,0,33,0,25,0,64,0,59,0,16,0 1,0,19,0,21,0,57,0,56,0,61,0 13,0,22,0,62,0,42,0,69,0,27,0 32,0,48,0,34,0,63,0,28,0,31,0 29,0,66,0,45,0,7,0,12,0,36,0 44,0,38,0,43,0,40,0,54,0,53,0 37,0,2,0,17,0,47,0,35,0,58,0 8,0,26,0,59,0,23,0,60,0,24,0 ================================================ FILE: schedules/6_1.csv ================================================ 2,0,3,0,1,0,5,0,4,0,6,0 ================================================ FILE: schedules/6_10.csv ================================================ 4,0,6,0,5,0,2,0,3,0,1,0 5,0,3,0,2,0,1,0,4,0,6,0 6,0,2,0,3,0,4,0,5,0,1,0 6,0,1,0,5,0,4,0,3,0,2,0 1,0,2,0,4,0,5,0,6,0,3,0 2,0,5,0,4,0,6,0,1,0,3,0 1,0,6,0,2,0,3,0,5,0,4,0 3,0,1,0,5,0,2,0,4,0,6,0 3,0,4,0,6,0,5,0,2,0,1,0 3,0,1,0,4,0,2,0,5,0,6,0 ================================================ FILE: schedules/6_11.csv ================================================ 2,0,4,0,6,0,5,0,3,0,1,0 5,0,4,0,6,0,2,0,1,0,3,0 1,0,5,0,2,0,3,0,6,0,4,0 3,0,5,0,2,0,6,0,1,0,4,0 6,0,1,0,5,0,2,0,4,0,3,0 5,0,4,0,2,0,6,0,1,0,3,0 6,0,2,0,3,0,1,0,5,0,4,0 1,0,2,0,6,0,4,0,3,0,5,0 4,0,3,0,1,0,5,0,6,0,2,0 3,0,6,0,5,0,4,0,2,0,1,0 4,0,3,0,1,0,2,0,6,0,5,0 ================================================ FILE: schedules/6_12.csv ================================================ 1,0,6,0,2,0,3,0,5,0,4,0 6,0,3,0,4,0,5,0,1,0,2,0 4,0,5,0,1,0,6,0,3,0,2,0 4,0,6,0,2,0,3,0,1,0,5,0 1,0,2,0,3,0,5,0,4,0,6,0 2,0,5,0,6,0,4,0,1,0,3,0 5,0,3,0,6,0,2,0,4,0,1,0 4,0,2,0,5,0,3,0,1,0,6,0 5,0,2,0,3,0,6,0,4,0,1,0 1,0,4,0,3,0,2,0,6,0,5,0 1,0,6,0,5,0,3,0,2,0,4,0 6,0,4,0,1,0,2,0,3,0,5,0 ================================================ FILE: schedules/6_13.csv ================================================ 4,0,6,0,2,0,3,0,5,0,1,0 4,0,2,0,3,0,6,0,5,0,1,0 1,0,3,0,2,0,5,0,4,0,6,0 1,0,6,0,5,0,3,0,4,0,2,0 2,0,3,0,5,0,6,0,4,0,1,0 1,0,3,0,6,0,2,0,4,0,5,0 2,0,1,0,5,0,6,0,3,0,4,0 3,0,5,0,4,0,1,0,6,0,2,0 4,0,1,0,6,0,2,0,5,0,3,0 5,0,2,0,1,0,4,0,3,0,6,0 5,0,6,0,3,0,1,0,2,0,4,0 5,0,1,0,4,0,6,0,2,0,3,0 3,0,1,0,4,0,5,0,6,0,2,0 ================================================ FILE: schedules/6_14.csv ================================================ 6,0,2,0,5,0,1,0,3,0,4,0 6,0,5,0,3,0,1,0,2,0,4,0 2,0,3,0,4,0,1,0,5,0,6,0 1,0,6,0,5,0,2,0,3,0,4,0 3,0,6,0,2,0,5,0,4,0,1,0 1,0,2,0,5,0,6,0,4,0,3,0 4,0,5,0,3,0,2,0,1,0,6,0 5,0,1,0,3,0,4,0,6,0,2,0 6,0,3,0,1,0,4,0,5,0,2,0 5,0,4,0,6,0,3,0,2,0,1,0 5,0,4,0,2,0,3,0,6,0,1,0 4,0,1,0,3,0,2,0,6,0,5,0 2,0,1,0,4,0,3,0,5,0,6,0 4,0,1,0,6,0,3,0,2,0,5,0 ================================================ FILE: schedules/6_2.csv ================================================ 5,0,1,0,4,0,2,0,6,0,3,0 1,0,3,0,2,0,4,0,5,0,6,0 ================================================ FILE: schedules/6_3.csv ================================================ 1,0,3,0,6,0,5,0,2,0,4,0 2,0,4,0,1,0,6,0,5,0,3,0 4,0,1,0,5,0,3,0,6,0,2,0 ================================================ FILE: schedules/6_4.csv ================================================ 5,0,2,0,1,0,6,0,3,0,4,0 4,0,5,0,3,0,1,0,2,0,6,0 3,0,1,0,6,0,2,0,4,0,5,0 3,0,6,0,2,0,1,0,5,0,4,0 ================================================ FILE: schedules/6_5.csv ================================================ 1,0,2,0,5,0,4,0,6,0,3,0 6,0,3,0,5,0,4,0,2,0,1,0 6,0,1,0,4,0,3,0,5,0,2,0 1,0,5,0,3,0,2,0,4,0,6,0 2,0,3,0,6,0,5,0,4,0,1,0 ================================================ FILE: schedules/6_6.csv ================================================ 3,0,2,0,1,0,4,0,5,0,6,0 5,0,3,0,4,0,6,0,2,0,1,0 2,0,4,0,6,0,3,0,1,0,5,0 1,0,5,0,2,0,6,0,3,0,4,0 2,0,6,0,5,0,4,0,1,0,3,0 1,0,6,0,3,0,5,0,4,0,2,0 ================================================ FILE: schedules/6_7.csv ================================================ 2,0,1,0,4,0,5,0,6,0,3,0 3,0,1,0,5,0,2,0,4,0,6,0 6,0,2,0,1,0,5,0,4,0,3,0 3,0,6,0,4,0,5,0,2,0,1,0 6,0,2,0,5,0,3,0,4,0,1,0 4,0,5,0,6,0,1,0,3,0,2,0 4,0,5,0,2,0,1,0,3,0,6,0 ================================================ FILE: schedules/6_8.csv ================================================ 4,0,5,0,1,0,6,0,2,0,3,0 6,0,3,0,5,0,2,0,4,0,1,0 3,0,6,0,4,0,2,0,1,0,5,0 2,0,6,0,1,0,5,0,3,0,4,0 1,0,5,0,6,0,3,0,4,0,2,0 4,0,1,0,3,0,5,0,2,0,6,0 6,0,4,0,2,0,1,0,3,0,5,0 5,0,2,0,3,0,4,0,1,0,6,0 ================================================ FILE: schedules/6_9.csv ================================================ 3,0,6,0,1,0,2,0,4,0,5,0 5,0,2,0,6,0,4,0,1,0,3,0 1,0,2,0,4,0,6,0,5,0,3,0 4,0,6,0,3,0,2,0,5,0,1,0 2,0,1,0,6,0,3,0,4,0,5,0 3,0,2,0,4,0,5,0,1,0,6,0 1,0,3,0,5,0,6,0,4,0,2,0 4,0,5,0,1,0,6,0,3,0,2,0 5,0,3,0,2,0,1,0,6,0,4,0 ================================================ FILE: schedules/70_1.csv ================================================ 65,0,32,0,10,0,18,0,26,0,52,0 22,0,47,0,17,0,48,0,3,0,38,0 59,0,67,0,36,0,21,0,40,0,8,0 44,0,1,0,58,0,57,0,53,0,42,0 54,0,66,0,6,0,7,0,39,0,30,0 56,0,64,0,33,0,28,0,45,0,5,0 23,0,13,0,34,0,49,0,2,0,35,0 4,0,41,0,16,0,50,0,46,0,14,0 55,0,19,0,12,0,68,0,31,0,20,0 51,0,62,0,61,0,15,0,70,0,24,0 25,0,69,0,63,0,60,0,27,0,43,0 11,0,37,0,48,1,29,0,9,0,47,1 ================================================ FILE: schedules/70_10.csv ================================================ 42,0,5,0,40,0,36,0,52,0,28,0 11,0,22,0,7,0,14,0,29,0,64,0 8,0,55,0,44,0,53,0,13,0,6,0 43,0,62,0,45,0,31,0,24,0,70,0 67,0,2,0,9,0,30,0,59,0,49,0 58,0,32,0,1,0,68,0,23,0,41,0 39,0,20,0,48,0,21,0,17,0,26,0 57,0,37,0,50,0,54,0,18,0,63,0 38,0,61,0,69,0,47,0,3,0,25,0 4,0,10,0,19,0,27,0,35,0,66,0 60,0,16,0,65,0,56,0,12,0,34,0 51,0,15,0,39,0,33,0,46,0,62,0 26,0,7,0,59,0,18,0,36,0,43,0 61,0,17,0,50,0,22,0,42,0,6,0 14,0,21,0,47,0,67,0,45,0,55,0 58,0,64,0,9,0,40,0,12,0,19,0 23,0,70,0,33,0,65,0,27,0,37,0 60,0,11,0,10,0,25,0,20,0,52,0 35,0,53,0,51,0,16,0,31,0,28,0 8,0,24,0,54,0,49,0,1,0,15,0 3,0,32,0,34,0,44,0,57,0,5,0 2,0,41,0,30,0,29,0,13,0,69,0 46,0,48,0,56,0,63,0,4,0,68,0 38,0,23,0,52,0,66,0,9,0,53,0 62,1,21,0,12,0,1,1,10,0,42,0 67,0,35,0,5,0,61,0,15,0,43,0 45,0,14,0,27,0,18,0,60,0,39,0 65,0,11,0,63,0,32,0,36,0,51,0 34,0,29,0,48,0,38,0,59,0,13,0 64,0,19,0,8,0,50,0,41,0,47,0 17,0,30,0,25,0,31,0,57,0,56,0 20,0,37,0,16,0,24,0,3,0,7,0 70,0,68,0,44,0,22,0,69,0,33,0 55,0,2,0,66,0,54,0,40,0,46,0 28,0,26,0,6,0,58,0,4,0,49,0 12,0,50,0,15,0,45,0,30,0,36,0 18,0,35,0,65,0,9,0,21,0,25,0 32,0,47,0,59,0,37,0,10,0,17,0 1,0,22,0,31,0,48,0,67,0,40,0 63,0,49,0,44,0,16,0,27,0,5,0 64,0,13,0,4,0,54,0,20,0,62,0 69,0,56,0,6,0,52,0,24,0,29,0 38,0,57,0,60,0,46,0,58,0,7,0 34,0,51,0,68,0,14,0,66,0,43,0 19,0,11,0,26,0,53,0,42,0,33,0 41,0,55,0,28,0,3,0,61,0,70,0 39,0,23,0,10,0,8,0,2,0,36,0 52,0,13,0,27,0,67,0,12,0,46,0 40,0,51,0,47,0,29,0,50,0,49,0 42,0,38,0,44,0,18,0,31,0,4,0 25,0,15,0,66,0,70,0,7,0,32,0 45,0,69,0,26,0,65,0,8,0,57,0 33,0,54,0,59,0,20,0,41,0,60,0 68,0,3,0,62,0,35,0,11,0,2,0 22,0,5,0,19,0,56,0,23,0,55,0 61,0,1,0,34,0,39,0,53,0,30,0 14,0,63,0,28,0,17,0,9,0,24,0 58,0,43,0,37,0,16,0,21,0,64,0 48,0,32,0,18,0,6,0,2,0,12,0 31,0,7,0,69,0,55,0,50,0,10,0 65,0,52,0,49,0,13,0,61,0,22,0 40,0,23,0,35,0,45,0,20,0,34,0 38,0,64,0,24,0,5,0,68,0,26,0 58,0,54,0,11,0,27,0,56,0,39,0 36,0,46,0,53,0,3,0,48,0,17,0 62,0,6,0,63,0,67,0,25,0,19,0 28,0,8,0,33,0,30,0,66,0,16,0 4,0,21,0,57,0,51,0,70,0,59,0 29,0,41,0,42,0,37,0,14,0,15,0 1,0,44,0,60,0,47,0,43,0,9,0 56,0,3,0,53,0,45,0,49,0,64,0 24,0,48,0,55,0,58,0,65,0,25,0 17,0,12,0,7,0,5,0,54,0,23,0 41,0,63,0,70,0,10,0,40,0,38,0 18,0,29,0,61,0,20,0,68,0,8,0 67,0,37,0,30,0,4,0,60,0,51,0 27,0,33,0,9,0,6,0,36,0,34,0 69,0,1,0,46,0,35,0,19,0,28,0 50,0,62,0,14,0,59,0,44,0,52,0 57,0,43,0,42,0,39,0,13,0,66,0 15,0,16,0,22,0,26,0,2,0,47,0 31,0,21,0,49,0,11,0,32,0,41,0 51,0,19,0,37,0,48,0,45,0,38,0 3,0,52,0,54,0,8,0,34,0,58,0 20,0,70,0,36,0,14,0,56,0,1,0 28,0,57,0,25,0,22,0,43,0,12,0 16,0,4,0,9,0,39,0,32,0,55,0 2,0,21,0,7,0,61,0,63,0,33,0 6,0,40,0,27,0,15,0,59,0,68,0 62,0,47,0,10,0,65,0,5,0,53,0 13,0,50,0,60,0,26,0,35,0,24,0 67,0,66,0,18,0,69,0,17,0,11,0 44,0,46,0,30,0,42,0,64,0,23,0 29,0,39,0,59,0,31,0,63,0,12,0 22,0,41,0,45,0,4,0,62,0,7,0 25,0,68,0,36,0,49,0,19,0,16,0 34,0,47,0,55,0,18,0,11,0,24,0 9,0,46,0,10,0,61,0,54,0,26,0 13,0,31,0,5,0,66,0,1,0,37,0 23,0,69,0,53,0,15,0,21,0,60,0 17,0,58,0,70,0,51,0,29,0,44,0 43,0,56,0,67,0,42,0,8,0,32,0 33,0,52,0,48,0,35,0,57,0,64,0 30,0,40,0,3,0,65,0,6,0,14,0 2,0,20,0,27,0,50,0,28,0,38,0 24,0,36,0,66,0,41,0,21,0,44,0 12,0,49,0,26,0,69,0,37,0,34,0 42,0,58,0,45,0,63,0,1,0,59,0 16,0,61,0,14,0,57,0,62,0,23,0 25,0,4,0,53,0,33,0,50,0,40,0 15,0,17,0,2,0,19,0,60,0,52,0 39,0,68,0,65,0,28,0,67,0,7,0 13,0,51,0,56,0,3,0,10,0,18,0 6,0,31,0,43,0,46,0,20,0,47,0 8,0,11,0,70,0,48,0,9,0,5,0 30,0,32,0,54,0,38,0,35,0,22,0 55,0,64,0,62,0,29,0,27,0,1,0 ================================================ FILE: schedules/70_11.csv ================================================ 70,0,4,0,51,0,7,0,34,0,18,0 22,0,12,0,5,0,42,0,64,0,13,0 19,0,8,0,2,0,6,0,46,0,28,0 36,0,37,0,35,0,21,0,63,0,16,0 56,0,68,0,29,0,38,0,17,0,59,0 65,0,60,0,30,0,55,0,3,0,11,0 9,0,32,0,27,0,67,0,15,0,54,0 52,0,25,0,23,0,24,0,57,0,69,0 44,0,61,0,33,0,26,0,14,0,1,0 41,0,49,0,20,0,31,0,39,0,62,0 45,0,50,0,47,0,43,0,58,0,48,0 10,0,40,0,18,0,66,0,53,0,22,0 67,0,21,0,24,0,5,0,42,0,30,0 1,0,4,0,56,0,26,0,57,0,19,0 55,0,16,0,38,0,49,0,52,0,59,0 8,0,45,0,54,0,23,0,36,0,64,0 39,0,13,0,66,0,6,0,25,0,27,0 11,0,63,0,7,0,12,0,47,0,68,0 70,0,35,0,41,0,3,0,58,0,17,0 53,0,14,0,46,0,69,0,60,0,43,0 2,0,9,0,20,0,50,0,51,0,37,0 34,0,29,0,31,0,44,0,32,0,28,0 33,0,15,0,65,0,61,0,48,0,62,0 40,0,52,0,47,0,10,0,49,0,12,0 8,1,69,0,16,0,67,1,66,0,11,0 56,1,42,0,53,0,7,1,37,0,2,0 70,0,14,0,19,0,32,0,63,0,13,0 58,0,26,0,65,0,38,0,22,0,39,0 62,0,64,0,43,0,27,0,34,0,57,0 28,0,25,0,29,0,9,0,18,0,21,0 54,0,41,0,51,0,48,0,55,0,4,0 33,0,50,0,5,0,45,0,60,0,17,0 20,0,24,0,59,0,10,0,6,0,44,0 23,0,1,0,15,0,31,0,35,0,30,0 36,0,40,0,3,0,61,0,46,0,68,0 9,0,37,0,43,0,22,0,41,0,52,0 28,0,54,0,21,0,47,0,17,0,70,0 10,0,33,0,51,0,19,0,16,0,42,0 67,0,60,0,27,0,49,0,4,0,35,0 58,0,64,0,68,0,13,0,53,0,26,0 48,0,29,0,3,0,66,0,59,0,14,0 65,0,1,0,7,0,23,0,40,0,20,0 55,0,61,0,25,0,38,0,45,0,31,0 6,0,62,0,18,0,36,0,5,0,69,0 39,0,34,0,63,0,50,0,15,0,8,0 2,0,44,0,57,0,11,0,32,0,30,0 12,0,24,0,48,0,56,0,46,0,9,0 43,0,29,0,67,0,40,0,19,0,60,0 54,0,49,0,17,0,25,0,58,0,51,0 69,0,28,0,41,0,26,0,33,0,36,0 14,0,30,0,38,0,34,0,20,0,10,0 35,0,66,0,46,0,56,0,44,0,64,0 16,0,7,0,39,0,24,0,2,0,62,0 57,0,31,0,63,0,3,0,42,0,45,0 23,0,27,0,11,0,6,0,50,0,61,0 32,0,12,0,59,0,18,0,65,0,37,0 5,0,52,0,4,0,53,0,70,0,15,0 8,0,55,0,68,0,1,0,22,0,21,0 47,0,57,0,38,0,13,0,51,0,67,0 42,0,25,0,26,0,62,0,29,0,7,0 6,0,31,0,17,0,16,0,12,0,14,0 24,0,64,0,41,0,70,0,65,0,50,0 66,0,23,0,49,0,19,0,32,0,68,0 3,0,30,0,44,0,13,0,9,0,36,0 54,0,60,0,58,0,8,0,18,0,52,0 10,0,4,0,61,0,46,0,21,0,43,0 2,0,15,0,63,0,69,0,40,0,55,0 45,0,22,0,28,0,56,0,27,0,20,0 34,0,53,0,47,0,59,0,33,0,35,0 37,0,1,0,48,0,11,0,5,0,39,0 51,0,21,0,7,0,43,0,66,0,3,0 60,0,50,0,10,0,70,0,32,0,62,0 58,0,38,0,24,0,19,0,69,0,27,0 42,0,46,0,55,0,18,0,23,0,26,0 45,0,39,0,30,0,35,0,29,0,12,0 9,0,6,0,47,0,53,0,31,0,65,0 40,0,17,0,37,0,8,0,4,0,13,0 25,0,2,0,36,0,48,0,22,0,34,0 49,0,57,0,5,0,54,0,33,0,14,0 59,0,15,0,64,0,1,0,11,0,41,0 61,0,52,0,63,0,67,0,56,0,28,0 68,0,16,0,4,0,44,0,20,0,65,0 8,0,66,0,26,0,30,0,24,0,70,0 51,0,27,0,12,0,36,0,10,0,29,0 37,0,25,0,3,0,15,0,19,0,47,0 13,0,62,0,11,0,46,0,52,0,45,0 69,0,32,0,21,0,20,0,39,0,64,0 42,0,50,0,1,0,28,0,49,0,38,0 7,0,40,0,35,0,5,0,55,0,9,0 43,0,33,0,68,0,18,0,2,0,31,0 23,0,44,0,17,0,63,0,48,0,53,0 16,0,59,0,22,0,67,0,61,0,57,0 34,0,6,0,54,0,56,0,41,0,60,0 14,0,28,0,11,0,58,0,40,0,4,0 69,0,46,0,37,0,49,0,29,0,65,0 55,0,20,0,50,0,25,0,12,0,66,0 53,0,19,0,17,0,36,0,57,0,39,0 22,0,9,0,64,0,38,0,33,0,63,0 27,0,14,0,18,0,7,0,41,0,47,0 34,0,32,0,8,0,3,0,26,0,5,0 56,0,59,0,62,0,58,0,21,0,23,0 10,0,70,0,45,0,2,0,67,0,1,0 35,0,52,0,6,0,48,0,30,0,68,0 13,0,31,0,61,0,24,0,51,0,60,0 43,0,15,0,42,0,44,0,16,0,54,0 38,0,53,0,12,0,62,0,3,0,8,0 63,0,5,0,56,0,25,0,10,0,65,0 55,0,67,0,18,0,64,0,17,0,14,0 60,0,48,0,28,0,68,0,57,0,37,0 19,0,30,0,7,0,54,0,22,0,50,0 41,0,23,0,13,0,29,0,2,0,16,0 34,0,9,0,58,0,61,0,66,0,1,0 36,0,45,0,4,0,24,0,32,0,47,0 27,0,40,0,31,0,59,0,21,0,70,0 26,0,49,0,43,0,15,0,11,0,6,0 52,0,39,0,33,0,44,0,51,0,46,0 69,0,20,0,61,0,35,0,42,0,8,0 19,0,10,0,9,0,68,0,45,0,34,0 53,0,29,0,24,0,54,0,1,0,63,0 21,0,49,0,15,0,57,0,7,0,12,0 58,0,67,0,6,0,33,0,37,0,55,0 22,0,51,0,62,0,14,0,35,0,44,0 11,0,36,0,70,0,23,0,56,0,38,0 59,0,5,0,13,0,43,0,28,0,39,0 65,0,66,0,27,0,52,0,17,0,42,0 40,0,46,0,30,0,25,0,41,0,32,0 64,0,26,0,2,0,60,0,20,0,47,0 16,0,3,0,50,0,69,0,4,0,18,0 48,0,8,0,56,0,31,0,67,0,7,0 ================================================ FILE: schedules/70_12.csv ================================================ 9,0,55,0,26,0,11,0,45,0,68,0 36,0,27,0,34,0,59,0,31,0,22,0 70,0,54,0,57,0,8,0,50,0,21,0 13,0,62,0,32,0,10,0,52,0,29,0 37,0,46,0,43,0,3,0,53,0,47,0 33,0,14,0,51,0,64,0,61,0,7,0 42,0,1,0,69,0,35,0,58,0,19,0 17,0,16,0,12,0,41,0,65,0,63,0 15,0,25,0,60,0,24,0,2,0,44,0 23,0,28,0,49,0,20,0,40,0,39,0 66,0,4,0,30,0,48,0,5,0,6,0 38,0,18,0,46,0,67,0,56,0,57,0 47,0,10,0,54,0,45,0,16,0,14,0 11,0,53,0,35,0,36,0,61,0,2,0 62,0,12,0,68,0,31,0,25,0,40,0 29,0,7,0,41,0,21,0,5,0,60,0 42,0,38,0,20,0,27,0,8,0,3,0 55,0,59,0,39,0,19,0,67,0,66,0 43,0,48,0,22,0,56,0,69,0,65,0 64,0,58,0,34,0,70,0,4,0,9,0 44,0,18,0,30,0,49,0,17,0,13,0 37,0,50,0,63,0,32,0,51,0,1,0 26,0,6,0,28,0,52,0,33,0,24,0 15,0,69,0,3,0,23,0,66,0,36,0 2,0,21,0,47,0,48,0,27,0,61,0 7,0,14,0,12,0,43,0,55,0,29,0 9,0,35,0,18,0,54,0,25,0,63,0 62,0,56,0,39,0,41,0,50,0,33,0 15,0,59,0,6,0,10,0,58,0,5,0 19,0,52,0,20,0,65,0,34,0,60,0 4,0,11,0,22,0,28,0,57,0,32,0 37,0,44,0,8,0,31,0,23,0,26,0 42,0,49,0,64,0,38,0,68,0,24,0 67,0,1,0,16,0,53,0,13,0,70,0 45,0,17,0,30,0,46,0,51,0,40,0 32,0,6,0,50,0,35,0,12,0,36,0 56,0,21,0,11,0,3,0,10,0,63,0 49,0,5,0,37,0,69,0,25,0,27,0 64,0,20,0,29,0,59,0,48,0,1,0 17,0,2,0,15,0,9,0,43,0,16,0 26,0,44,0,52,0,53,0,7,0,57,0 19,0,18,0,40,0,51,0,41,0,70,0 31,0,67,0,54,0,24,0,65,0,30,0 60,0,39,0,28,0,8,0,68,0,14,0 66,0,34,0,45,0,58,0,38,0,61,0 42,0,13,0,46,0,23,0,22,0,55,0 4,0,47,0,17,0,33,0,62,0,15,0 2,0,49,0,59,0,6,0,1,0,12,0 8,0,36,0,28,0,51,0,63,0,67,0 5,0,39,0,27,0,70,0,18,0,32,0 45,0,65,0,10,0,60,0,37,0,64,0 34,0,62,0,29,0,23,0,35,0,30,0 48,0,38,0,9,0,55,0,14,0,41,0 26,0,3,0,24,0,16,0,13,0,61,0 58,0,57,0,42,0,40,0,33,0,43,0 69,0,11,0,19,0,7,0,31,0,47,0 50,0,54,0,56,0,68,0,44,0,53,0 20,0,21,0,46,0,25,0,52,0,4,0 66,0,64,0,14,0,22,0,67,0,18,0 29,0,6,0,61,0,39,0,42,0,37,0 23,0,24,0,10,0,9,0,57,0,12,0 50,0,49,0,65,0,7,0,15,0,34,0 36,0,30,0,54,0,26,0,4,0,19,0 70,0,63,0,68,0,69,0,43,0,20,0 55,0,25,0,8,0,1,0,22,0,17,0 44,0,59,0,38,0,47,0,51,0,11,0 58,0,2,0,41,0,13,0,52,0,3,0 40,0,35,0,21,0,56,0,5,0,66,0 32,0,31,0,33,0,60,0,46,0,48,0 53,0,27,0,16,0,45,0,62,0,28,0 50,0,57,0,11,0,14,0,20,0,65,0 6,0,41,0,22,0,44,0,47,0,70,0 67,0,61,0,5,0,68,0,2,0,23,0 56,0,43,0,25,0,26,0,59,0,34,0 36,0,21,0,37,0,9,0,49,0,33,0 7,0,19,0,32,0,13,0,8,0,64,0 38,0,35,0,39,0,52,0,48,0,17,0 66,0,46,0,69,0,62,0,51,0,54,0 31,0,53,0,24,0,63,0,29,0,58,0 10,0,1,0,30,0,18,0,28,0,3,0 55,0,60,0,27,0,40,0,4,0,16,0 12,0,42,0,70,0,15,0,45,0,52,0 19,0,62,0,22,0,43,0,38,0,5,0 57,0,13,0,48,0,6,0,68,0,36,0 69,0,50,0,61,0,30,0,9,0,59,0 64,0,28,0,31,0,55,0,3,0,21,0 60,0,67,0,4,0,49,0,56,0,12,0 35,0,8,0,16,0,33,0,37,0,18,0 53,0,20,0,41,0,42,0,15,0,10,0 65,0,47,0,26,0,2,0,32,0,40,0 63,0,24,0,34,0,46,0,14,0,44,0 51,0,39,0,7,0,1,0,25,0,58,0 23,0,27,0,29,0,54,0,17,0,11,0 66,0,13,0,33,0,45,0,20,0,31,0 52,0,22,0,40,0,10,0,50,0,9,0 16,0,15,0,21,0,19,0,6,0,46,0 69,0,57,0,39,0,2,0,64,0,56,0 54,0,61,0,43,0,60,0,1,0,38,0 12,0,34,0,48,0,28,0,53,0,51,0 5,0,14,0,42,0,26,0,36,0,17,0 59,0,63,0,7,0,4,0,37,0,62,0 68,0,67,0,41,0,27,0,45,0,32,0 3,0,70,0,66,0,29,0,25,0,44,0 55,0,35,0,47,0,30,0,49,0,8,0 24,0,58,0,18,0,65,0,23,0,11,0 5,0,51,0,31,0,20,0,56,0,16,0 9,0,1,0,21,0,26,0,62,0,42,0 2,0,70,0,7,0,54,0,28,0,66,0 40,0,60,0,10,0,69,0,38,0,36,0 61,0,8,0,65,0,46,0,4,0,29,0 41,0,23,0,59,0,14,0,53,0,49,0 19,0,45,0,3,0,24,0,17,0,50,0 52,0,6,0,43,0,18,0,27,0,64,0 33,0,68,0,58,0,22,0,12,0,30,0 11,0,15,0,63,0,13,0,39,0,25,0 32,0,37,0,47,0,34,0,55,0,57,0 67,0,44,0,10,0,48,0,35,0,26,0 31,0,4,0,18,0,2,0,42,0,50,0 23,0,56,0,14,0,27,0,19,0,1,0 33,0,65,0,5,0,53,0,38,0,63,0 25,0,30,0,34,0,64,0,57,0,41,0 52,0,51,0,16,0,49,0,22,0,29,0 28,0,13,0,67,0,69,0,9,0,47,0 40,0,11,0,48,0,37,0,15,0,54,0 70,0,61,0,20,0,36,0,62,0,55,0 43,0,12,0,45,0,39,0,21,0,44,0 35,0,68,0,59,0,7,0,24,0,46,0 66,0,17,0,58,0,8,0,60,0,32,0 3,0,29,0,40,0,6,0,34,0,67,0 70,0,52,0,14,0,30,0,37,0,56,0 25,0,10,0,49,0,19,0,61,0,33,0 24,0,4,0,36,0,47,0,39,0,43,0 46,0,1,0,68,0,66,0,11,0,41,0 60,0,26,0,58,0,18,0,62,0,48,0 32,0,65,0,44,0,59,0,42,0,28,0 45,0,7,0,22,0,2,0,63,0,20,0 38,0,64,0,23,0,50,0,16,0,31,0 15,0,51,0,13,0,57,0,27,0,35,0 53,0,55,0,17,0,69,0,6,0,21,0 8,0,54,0,9,0,12,0,5,0,3,0 ================================================ FILE: schedules/70_13.csv ================================================ 60,0,47,0,1,0,10,0,39,0,7,0 48,0,38,0,18,0,23,0,21,0,69,0 20,0,14,0,28,0,40,0,36,0,62,0 58,0,57,0,55,0,30,0,8,0,9,0 13,0,4,0,44,0,63,0,35,0,17,0 64,0,22,0,53,0,24,0,11,0,65,0 43,0,2,0,49,0,32,0,15,0,52,0 37,0,70,0,19,0,3,0,50,0,26,0 29,0,27,0,54,0,45,0,31,0,68,0 12,0,59,0,46,0,34,0,51,0,16,0 5,0,67,0,33,0,6,0,42,0,56,0 25,0,66,0,22,0,61,0,41,0,13,0 53,0,38,0,17,0,70,0,57,0,26,0 15,0,48,0,43,0,7,0,24,0,37,0 16,0,21,0,8,0,34,0,10,0,23,0 35,0,52,0,9,0,47,0,64,0,45,0 28,0,69,0,27,0,29,0,2,0,4,0 49,0,18,0,55,0,1,0,6,0,19,0 31,0,61,0,46,0,59,0,56,0,14,0 58,0,39,0,40,0,65,0,67,0,44,0 30,0,32,0,25,0,33,0,3,0,60,0 66,0,50,0,62,0,42,0,51,0,63,0 11,0,12,0,54,0,5,0,41,0,20,0 36,0,9,0,48,0,68,0,56,0,26,0 39,1,37,0,28,0,17,1,34,0,69,0 18,0,10,0,52,0,59,0,65,0,70,0 35,0,45,0,8,0,62,0,21,0,43,0 11,0,61,0,27,0,54,0,60,0,23,0 47,0,53,0,6,0,20,0,64,0,50,0 14,0,33,0,16,0,55,0,2,0,19,0 1,0,5,0,66,0,44,0,46,0,32,0 58,0,22,0,51,0,57,0,29,0,25,0 40,0,49,0,67,0,4,0,12,0,24,0 30,0,15,0,38,0,68,0,36,0,13,0 63,0,41,0,3,0,7,0,31,0,42,0 14,0,65,0,61,0,70,0,35,0,48,0 29,0,5,0,17,0,50,0,25,0,52,0 46,0,62,0,47,0,18,0,2,0,22,0 21,0,59,0,19,0,68,0,69,0,30,0 49,0,36,0,28,0,58,0,33,0,45,0 31,0,32,0,39,0,15,0,42,0,16,0 60,0,34,0,26,0,40,0,44,0,55,0 43,0,11,0,6,0,3,0,10,0,51,0 20,0,54,0,63,0,9,0,37,0,1,0 27,0,66,0,38,0,8,0,67,0,24,0 23,0,13,0,57,0,41,0,64,0,4,0 56,0,7,0,52,0,53,0,12,0,28,0 62,0,17,0,58,0,43,0,31,0,47,0 70,0,14,0,45,0,30,0,22,0,5,0 32,0,34,0,18,0,38,0,20,0,25,0 4,0,9,0,69,0,8,0,1,0,36,0 24,0,64,0,3,0,63,0,60,0,21,0 56,0,15,0,41,0,27,0,50,0,40,0 57,0,59,0,2,0,66,0,37,0,42,0 26,0,54,0,35,0,67,0,6,0,16,0 11,0,51,0,44,0,19,0,48,0,7,0 29,0,23,0,65,0,49,0,12,0,13,0 68,0,61,0,53,0,33,0,46,0,39,0 55,0,36,0,17,0,10,0,63,0,59,0 56,0,24,0,34,0,1,0,18,0,35,0 19,0,32,0,5,0,64,0,40,0,57,0 13,0,47,0,42,0,21,0,27,0,37,0 70,0,29,0,69,0,11,0,60,0,62,0 12,0,10,0,44,0,22,0,33,0,9,0 52,0,38,0,43,0,61,0,55,0,39,0 4,0,49,0,50,0,66,0,54,0,7,0 31,0,2,0,28,0,30,0,6,0,48,0 15,0,14,0,26,0,41,0,8,0,25,0 3,0,16,0,68,0,58,0,53,0,65,0 23,0,20,0,45,0,46,0,67,0,51,0 50,0,69,0,43,0,57,0,34,0,12,0 55,0,35,0,66,0,36,0,29,0,22,0 33,0,11,0,48,0,1,0,62,0,39,0 25,0,70,0,15,0,47,0,28,0,59,0 45,0,16,0,44,0,24,0,42,0,41,0 65,0,20,0,30,0,56,0,17,0,27,0 2,0,37,0,67,0,10,0,60,0,8,0 58,0,23,0,7,0,54,0,14,0,52,0 4,0,19,0,46,0,32,0,38,0,6,0 40,0,13,0,18,0,9,0,3,0,31,0 61,0,21,0,51,0,26,0,49,0,53,0 64,0,5,0,2,0,63,0,68,0,39,0 62,0,57,0,44,0,15,0,27,0,55,0 41,0,23,0,52,0,33,0,19,0,35,0 3,0,37,0,30,0,40,0,29,0,16,0 7,0,9,0,13,0,46,0,70,0,24,0 60,0,45,0,48,0,59,0,20,0,4,0 38,0,28,0,26,0,5,0,43,0,65,0 69,0,10,0,61,0,42,0,25,0,58,0 14,0,63,0,47,0,34,0,49,0,6,0 22,0,56,0,8,0,51,0,64,0,54,0 12,0,1,0,31,0,36,0,21,0,53,0 18,0,17,0,68,0,66,0,67,0,11,0 50,0,10,0,13,0,32,0,45,0,28,0 9,0,16,0,20,0,15,0,49,0,69,0 60,0,56,0,19,0,43,0,22,0,63,0 27,0,51,0,35,0,3,0,38,0,5,0 11,0,42,0,36,0,52,0,46,0,34,0 66,0,40,0,70,0,54,0,21,0,33,0 8,0,59,0,29,0,39,0,47,0,41,0 62,0,24,0,68,0,26,0,32,0,23,0 4,0,65,0,7,0,55,0,31,0,25,0 53,0,18,0,57,0,44,0,2,0,14,0 64,0,30,0,67,0,1,0,48,0,50,0 17,0,37,0,6,0,61,0,12,0,58,0 22,0,68,0,42,0,40,0,63,0,28,0 43,0,25,0,24,0,54,0,36,0,19,0 10,0,33,0,2,0,38,0,34,0,29,0 65,0,9,0,39,0,14,0,21,0,66,0 52,0,51,0,6,0,69,0,67,0,13,0 17,0,41,0,11,0,55,0,32,0,48,0 8,0,46,0,20,0,70,0,3,0,44,0 1,0,58,0,26,0,45,0,27,0,59,0 12,0,64,0,7,0,30,0,62,0,61,0 53,0,15,0,37,0,5,0,4,0,23,0 16,0,60,0,57,0,47,0,56,0,18,0 31,0,49,0,8,0,35,0,50,0,11,0 46,0,40,0,54,0,10,0,17,0,48,0 67,0,21,0,29,0,32,0,7,0,59,0 43,0,42,0,14,0,13,0,64,0,1,0 63,0,33,0,65,0,15,0,45,0,57,0 28,0,23,0,6,0,44,0,60,0,9,0 55,0,3,0,56,0,66,0,69,0,47,0 35,0,68,0,25,0,37,0,20,0,12,0 39,0,53,0,34,0,27,0,19,0,62,0 70,0,30,0,2,0,51,0,41,0,49,0 22,0,24,0,26,0,52,0,31,0,4,0 36,0,50,0,5,0,18,0,16,0,61,0 38,0,21,0,13,0,58,0,56,0,11,0 19,0,10,0,45,0,12,0,15,0,66,0 48,0,25,0,46,0,49,0,57,0,63,0 65,0,32,0,47,0,54,0,8,0,69,0 3,0,40,0,1,0,61,0,23,0,2,0 67,0,9,0,59,0,29,0,43,0,53,0 42,0,30,0,39,0,4,0,18,0,26,0 62,0,41,0,34,0,5,0,6,0,58,0 22,0,31,0,44,0,38,0,37,0,64,0 70,0,27,0,7,0,36,0,35,0,16,0 24,0,51,0,20,0,28,0,33,0,55,0 68,0,52,0,60,0,14,0,50,0,17,0 66,0,63,0,23,0,43,0,58,0,30,0 59,0,62,0,49,0,56,0,44,0,38,0 34,0,3,0,15,0,48,0,67,0,22,0 69,0,33,0,64,0,26,0,5,0,7,0 18,0,54,0,39,0,28,0,13,0,35,0 4,0,51,0,47,0,14,0,11,0,68,0 1,0,57,0,21,0,52,0,16,0,17,0 29,0,31,0,10,0,19,0,20,0,61,0 32,0,42,0,12,0,55,0,70,0,53,0 24,0,50,0,9,0,2,0,27,0,25,0 46,0,41,0,36,0,65,0,60,0,37,0 6,0,8,0,39,0,40,0,45,0,17,0 ================================================ FILE: schedules/70_14.csv ================================================ 67,0,26,0,8,0,44,0,10,0,36,0 40,0,62,0,59,0,42,0,48,0,34,0 17,0,30,0,38,0,66,0,11,0,15,0 31,0,32,0,57,0,21,0,20,0,24,0 25,0,12,0,41,0,50,0,68,0,27,0 55,0,49,0,70,0,22,0,18,0,3,0 2,0,51,0,29,0,60,0,35,0,43,0 47,0,61,0,14,0,28,0,63,0,37,0 13,0,56,0,33,0,58,0,4,0,7,0 46,0,1,0,5,0,9,0,39,0,23,0 54,0,16,0,6,0,53,0,64,0,19,0 45,0,69,0,36,0,65,0,52,0,48,0 41,0,50,0,28,0,66,0,20,0,22,0 61,0,44,0,4,0,18,0,11,0,51,0 35,0,1,0,23,0,26,0,43,0,21,0 15,0,39,0,63,0,13,0,10,0,31,0 6,0,19,0,3,0,62,0,65,0,56,0 27,0,34,0,30,0,52,0,14,0,16,0 12,0,57,0,7,0,45,0,53,0,29,0 55,0,42,0,9,0,17,0,60,0,70,0 64,0,67,0,37,0,24,0,5,0,33,0 68,0,59,0,69,0,49,0,47,0,32,0 25,0,8,0,58,0,54,0,2,0,38,0 40,0,21,0,29,0,46,0,16,0,66,0 12,1,9,0,27,0,4,1,35,0,39,0 48,1,7,0,44,0,28,1,15,0,55,0 41,0,65,0,33,0,23,0,31,0,60,0 32,0,51,0,34,0,22,0,58,0,56,0 24,0,61,0,38,0,69,0,19,0,40,0 46,0,53,0,42,0,30,0,50,0,43,0 20,0,37,0,62,0,52,0,8,0,10,0 54,0,11,0,70,0,47,0,13,0,63,0 26,0,45,0,1,0,49,0,25,0,67,0 2,0,18,0,68,0,6,0,5,0,14,0 59,0,36,0,17,0,3,0,64,0,57,0 62,0,53,0,10,0,55,0,21,0,60,0 11,0,23,0,40,0,48,0,58,0,31,0 29,0,25,0,34,0,37,0,24,0,49,0 5,0,56,0,41,0,30,0,61,0,13,0 28,0,9,0,26,0,68,0,6,0,7,0 8,0,36,0,54,0,50,0,12,0,32,0 46,0,69,0,38,0,27,0,63,0,4,0 66,0,65,0,3,0,64,0,35,0,42,0 43,0,39,0,16,0,45,0,15,0,18,0 59,0,51,0,14,0,33,0,70,0,67,0 57,0,47,0,1,0,22,0,19,0,52,0 20,0,2,0,23,0,17,0,44,0,13,0 63,0,49,0,21,0,41,0,64,0,8,0 68,0,31,0,4,0,43,0,48,0,66,0 5,0,28,0,16,0,62,0,32,0,33,0 52,0,12,0,34,0,19,0,7,0,18,0 14,0,40,0,46,0,44,0,57,0,15,0 50,0,45,0,35,0,59,0,56,0,38,0 67,0,22,0,61,0,29,0,58,0,11,0 54,0,9,0,25,0,20,0,3,0,51,0 55,0,39,0,24,0,36,0,65,0,2,0 1,0,70,0,10,0,30,0,53,0,6,0 27,0,69,0,37,0,26,0,42,0,17,0 60,0,8,0,29,0,47,0,35,0,28,0 15,0,61,0,49,0,23,0,67,0,50,0 31,0,43,0,64,0,14,0,19,0,32,0 21,0,52,0,6,0,51,0,12,0,38,0 17,0,56,0,11,0,46,0,36,0,41,0 65,0,27,0,44,0,9,0,58,0,53,0 20,0,47,0,42,0,55,0,45,0,5,0 18,0,66,0,13,0,34,0,59,0,26,0 4,0,2,0,37,0,57,0,60,0,54,0 70,0,48,0,68,0,7,0,24,0,10,0 16,0,63,0,30,0,62,0,22,0,25,0 33,0,3,0,40,0,1,0,39,0,69,0 28,0,67,0,20,0,65,0,38,0,34,0 45,0,52,0,66,0,14,0,60,0,41,0 10,0,19,0,51,0,47,0,2,0,27,0 5,0,8,0,59,0,31,0,17,0,6,0 44,0,55,0,16,0,56,0,1,0,12,0 64,0,62,0,13,0,69,0,22,0,53,0 48,0,50,0,39,0,70,0,35,0,29,0 15,0,7,0,25,0,4,0,32,0,36,0 42,0,24,0,54,0,61,0,46,0,18,0 37,0,58,0,23,0,3,0,68,0,63,0 11,0,26,0,49,0,40,0,57,0,43,0 33,0,21,0,50,0,30,0,9,0,45,0 66,0,25,0,69,0,8,0,12,0,6,0 22,0,44,0,47,0,17,0,52,0,24,0 14,0,13,0,38,0,1,0,3,0,29,0 43,0,63,0,36,0,5,0,27,0,20,0 33,0,48,0,9,0,26,0,54,0,19,0 60,0,58,0,39,0,57,0,16,0,59,0 34,0,21,0,2,0,42,0,68,0,15,0 51,0,30,0,7,0,23,0,49,0,62,0 18,0,64,0,65,0,41,0,10,0,40,0 53,0,28,0,31,0,56,0,67,0,46,0 55,0,32,0,35,0,11,0,37,0,61,0 70,0,5,0,22,0,4,0,21,0,19,0 48,0,6,0,36,0,13,0,16,0,42,0 57,0,30,0,24,0,7,0,8,0,43,0 9,0,60,0,10,0,38,0,40,0,31,0 17,0,51,0,61,0,39,0,14,0,26,0 2,0,56,0,15,0,63,0,69,0,33,0 53,0,4,0,47,0,66,0,34,0,35,0 32,0,70,0,3,0,41,0,27,0,29,0 64,0,50,0,11,0,37,0,1,0,18,0 44,0,28,0,52,0,23,0,25,0,59,0 62,0,68,0,55,0,67,0,54,0,45,0 20,0,58,0,65,0,46,0,12,0,49,0 17,0,41,0,63,0,40,0,7,0,35,0 11,0,53,0,3,0,33,0,15,0,8,0 43,0,38,0,44,0,34,0,39,0,37,0 23,0,16,0,24,0,66,0,54,0,10,0 21,0,9,0,47,0,48,0,64,0,2,0 62,0,36,0,5,0,14,0,29,0,49,0 18,0,56,0,60,0,25,0,1,0,20,0 13,0,26,0,32,0,12,0,65,0,30,0 46,0,19,0,59,0,69,0,55,0,51,0 58,0,52,0,67,0,4,0,50,0,70,0 22,0,27,0,31,0,45,0,6,0,61,0 42,0,57,0,18,0,28,0,68,0,33,0 9,0,49,0,66,0,37,0,32,0,56,0 63,0,14,0,25,0,48,0,55,0,53,0 4,0,15,0,30,0,20,0,29,0,59,0 35,0,13,0,6,0,46,0,44,0,24,0 26,0,57,0,38,0,70,0,41,0,62,0 19,0,45,0,2,0,23,0,36,0,3,0 69,0,50,0,60,0,34,0,5,0,11,0 52,0,27,0,39,0,28,0,21,0,64,0 42,0,31,0,8,0,16,0,1,0,51,0 61,0,40,0,12,0,67,0,47,0,7,0 54,0,22,0,17,0,43,0,68,0,65,0 58,0,35,0,57,0,10,0,25,0,5,0 56,0,6,0,49,0,11,0,21,0,39,0 4,0,8,0,14,0,23,0,42,0,41,0 50,0,7,0,16,0,47,0,3,0,37,0 69,0,29,0,30,0,44,0,31,0,54,0 60,0,22,0,48,0,67,0,38,0,27,0 15,0,24,0,19,0,58,0,45,0,28,0 32,0,40,0,17,0,52,0,53,0,13,0 1,0,61,0,65,0,68,0,51,0,36,0 34,0,10,0,55,0,12,0,33,0,66,0 18,0,59,0,43,0,62,0,63,0,9,0 20,0,46,0,64,0,26,0,70,0,2,0 48,0,32,0,54,0,60,0,49,0,44,0 19,0,13,0,39,0,68,0,8,0,30,0 7,0,14,0,11,0,25,0,65,0,21,0 37,0,22,0,12,0,59,0,31,0,15,0 45,0,70,0,51,0,69,0,28,0,17,0 33,0,16,0,64,0,35,0,20,0,61,0 10,0,29,0,42,0,9,0,52,0,56,0 4,0,1,0,66,0,24,0,62,0,2,0 53,0,23,0,18,0,38,0,47,0,36,0 55,0,40,0,27,0,57,0,50,0,5,0 6,0,41,0,26,0,63,0,34,0,58,0 67,0,3,0,10,0,43,0,46,0,32,0 54,0,35,0,56,0,15,0,22,0,14,0 23,0,47,0,12,0,42,0,39,0,62,0 28,0,49,0,4,0,17,0,16,0,2,0 31,0,52,0,29,0,26,0,18,0,55,0 66,0,7,0,59,0,1,0,27,0,11,0 41,0,48,0,24,0,51,0,53,0,37,0 43,0,20,0,33,0,6,0,40,0,25,0 38,0,58,0,68,0,64,0,30,0,36,0 46,0,34,0,45,0,70,0,61,0,8,0 21,0,67,0,57,0,69,0,9,0,13,0 60,0,65,0,19,0,44,0,50,0,63,0 3,0,12,0,28,0,5,0,4,0,48,0 ================================================ FILE: schedules/70_2.csv ================================================ 29,0,28,0,6,0,22,0,5,0,50,0 12,0,48,0,58,0,15,0,47,0,43,0 19,0,55,0,68,0,11,0,57,0,3,0 60,0,59,0,27,0,64,0,30,0,2,0 70,0,14,0,63,0,40,0,24,0,1,0 4,0,34,0,38,0,23,0,25,0,41,0 67,0,44,0,13,0,37,0,45,0,39,0 26,0,33,0,61,0,49,0,56,0,69,0 36,0,20,0,62,0,51,0,10,0,17,0 65,0,35,0,46,0,54,0,42,0,32,0 8,0,31,0,66,0,7,0,16,0,18,0 52,0,9,0,40,0,53,0,21,0,6,0 29,0,33,0,37,0,34,0,11,0,63,0 3,0,43,0,14,0,20,0,50,0,4,0 41,0,42,0,68,0,10,0,44,0,2,0 67,0,30,0,70,0,22,0,8,0,26,0 7,0,17,0,5,0,12,0,54,0,53,0 49,0,36,0,1,0,60,0,32,0,9,0 21,0,66,0,47,0,38,0,13,0,55,0 62,0,16,0,52,0,58,0,23,0,28,0 35,0,39,0,56,0,15,0,19,0,24,0 27,0,25,0,18,0,69,0,45,0,65,0 57,0,31,0,51,0,46,0,48,0,64,0 61,0,47,1,41,1,59,0,21,1,38,1 ================================================ FILE: schedules/70_3.csv ================================================ 52,0,38,0,46,0,60,0,5,0,32,0 20,0,61,0,62,0,48,0,6,0,51,0 67,0,33,0,9,0,28,0,1,0,19,0 4,0,25,0,13,0,50,0,37,0,10,0 26,0,66,0,36,0,68,0,56,0,31,0 14,0,21,0,16,0,44,0,29,0,43,0 30,0,11,0,12,0,70,0,57,0,27,0 18,0,54,0,15,0,45,0,59,0,22,0 49,0,8,0,39,0,3,0,47,0,65,0 34,0,53,0,63,0,7,0,58,0,17,0 42,0,69,0,23,0,2,0,55,0,24,0 41,0,64,0,27,0,40,0,35,0,51,0 59,0,1,0,43,0,66,0,48,0,50,0 14,0,22,0,4,0,8,0,30,0,61,0 25,0,18,0,34,0,33,0,60,0,11,0 45,0,28,0,7,0,21,0,49,0,52,0 58,0,40,0,31,0,24,0,32,0,67,0 62,0,65,0,56,0,37,0,23,0,41,0 29,0,26,0,70,0,69,0,3,0,9,0 10,0,55,0,19,0,15,0,5,0,63,0 68,0,6,0,42,0,39,0,13,0,64,0 20,0,47,0,17,0,16,0,46,0,12,0 53,0,57,0,36,0,54,0,44,0,38,0 35,0,56,0,50,0,2,0,34,0,49,0 70,0,43,0,31,0,41,0,4,0,28,0 24,0,60,0,68,0,45,0,30,0,1,0 66,0,67,0,17,0,14,0,64,0,65,0 59,0,37,0,61,0,26,0,42,0,63,0 47,0,10,0,44,0,11,0,69,0,32,0 8,0,51,0,7,0,19,0,29,0,38,0 3,0,53,0,13,0,52,0,15,0,12,0 35,0,21,0,54,0,58,0,20,0,33,0 57,0,2,0,5,0,25,0,40,0,62,0 48,0,55,0,39,0,18,0,16,0,27,0 46,0,6,0,22,0,23,0,9,0,36,0 ================================================ FILE: schedules/70_4.csv ================================================ 69,0,24,0,30,0,42,0,54,0,19,0 43,0,70,0,53,0,64,0,28,0,9,0 40,0,7,0,67,0,8,0,48,0,2,0 41,0,60,0,37,0,15,0,20,0,31,0 22,0,46,0,16,0,25,0,52,0,55,0 63,0,1,0,21,0,34,0,23,0,11,0 5,0,29,0,3,0,32,0,44,0,13,0 57,0,27,0,45,0,39,0,17,0,51,0 59,0,58,0,18,0,65,0,56,0,10,0 35,0,14,0,33,0,38,0,12,0,4,0 62,0,26,0,68,0,50,0,36,0,61,0 6,0,47,0,20,0,66,0,49,0,23,0 8,0,27,0,44,0,31,0,24,0,55,0 2,0,64,0,58,0,22,0,51,0,37,0 59,0,17,0,11,0,30,0,52,0,28,0 19,0,65,0,34,0,46,0,33,0,39,0 38,0,42,0,61,0,67,0,13,0,15,0 32,0,62,0,57,0,1,0,18,0,40,0 3,0,41,0,43,0,45,0,36,0,14,0 70,0,21,0,4,0,29,0,26,0,69,0 56,0,47,0,9,0,25,0,7,0,12,0 5,0,48,0,35,0,53,0,68,0,66,0 60,0,49,0,50,0,16,0,10,0,54,0 63,0,61,0,46,0,6,0,58,0,41,0 43,1,15,0,18,0,22,1,69,0,33,0 1,0,39,0,56,0,8,0,37,0,29,0 24,0,17,0,32,0,36,0,35,0,47,0 31,0,13,0,62,0,30,0,66,0,16,0 2,0,68,0,44,0,54,0,70,0,25,0 5,0,23,0,57,0,50,0,64,0,4,0 55,0,59,0,48,0,6,0,9,0,19,0 11,0,49,0,51,0,26,0,65,0,14,0 10,0,12,0,34,0,67,0,3,0,53,0 28,0,27,0,7,0,38,0,60,0,21,0 45,0,20,0,40,0,63,0,52,0,42,0 13,0,24,0,70,0,59,0,41,0,57,0 48,0,54,0,11,0,43,0,47,0,29,0 51,0,15,0,68,0,4,0,34,0,55,0 33,0,56,0,2,0,53,0,62,0,60,0 7,0,52,0,37,0,65,0,44,0,50,0 14,0,66,0,21,0,8,0,46,0,9,0 3,0,35,0,30,0,40,0,27,0,22,0 38,0,25,0,64,0,39,0,10,0,63,0 28,0,12,0,58,0,45,0,49,0,32,0 16,0,69,0,61,0,5,0,1,0,20,0 19,0,36,0,31,0,18,0,23,0,67,0 26,0,42,0,22,0,6,0,17,0,43,0 ================================================ FILE: schedules/70_5.csv ================================================ 11,0,31,0,43,0,7,0,51,0,64,0 53,0,32,0,49,0,8,0,24,0,50,0 61,0,41,0,65,0,22,0,13,0,2,0 35,0,48,0,47,0,67,0,52,0,66,0 3,0,19,0,18,0,33,0,55,0,40,0 5,0,6,0,39,0,37,0,9,0,38,0 12,0,54,0,1,0,44,0,27,0,29,0 59,0,15,0,16,0,60,0,57,0,69,0 20,0,26,0,4,0,10,0,25,0,17,0 45,0,28,0,34,0,63,0,62,0,58,0 42,0,30,0,56,0,14,0,36,0,21,0 46,0,23,0,66,0,68,0,70,0,6,0 8,0,16,0,37,0,1,0,67,0,2,0 17,0,61,0,60,0,31,0,54,0,3,0 43,0,26,0,57,0,40,0,65,0,12,0 49,0,4,0,29,0,36,0,48,0,18,0 52,0,19,0,23,0,28,0,69,0,53,0 35,0,55,0,63,0,13,0,51,0,14,0 64,0,70,0,45,0,39,0,22,0,15,0 5,0,56,0,24,0,44,0,68,0,59,0 38,0,10,0,11,0,47,0,21,0,41,0 9,0,33,0,27,0,32,0,20,0,34,0 50,0,25,0,58,0,7,0,46,0,30,0 42,0,40,0,66,0,62,0,60,0,49,0 26,1,48,0,14,0,6,1,59,0,1,0 52,1,68,0,41,0,64,1,63,0,3,0 4,0,69,0,27,0,70,0,55,0,37,0 65,0,51,0,58,0,33,0,24,0,23,0 17,0,44,0,50,0,42,0,19,0,67,0 25,0,36,0,45,0,11,0,9,0,13,0 8,0,22,0,21,0,7,0,57,0,54,0 39,0,18,0,32,0,47,0,56,0,61,0 15,0,62,0,38,0,35,0,20,0,12,0 31,0,5,0,2,0,28,0,46,0,29,0 16,0,10,0,53,0,34,0,43,0,30,0 60,0,13,0,1,0,52,0,33,0,21,0 36,0,44,0,39,0,58,0,66,0,3,0 47,0,49,0,51,0,68,0,19,0,26,0 24,0,17,0,55,0,46,0,57,0,38,0 41,0,14,0,15,0,40,0,31,0,32,0 5,0,67,0,30,0,54,0,65,0,64,0 7,0,12,0,56,0,4,0,16,0,45,0 8,0,23,0,27,0,10,0,62,0,48,0 50,0,2,0,6,0,69,0,34,0,11,0 29,0,9,0,42,0,53,0,35,0,61,0 37,0,22,0,18,0,25,0,63,0,59,0 28,0,20,0,67,0,70,0,43,0,14,0 52,0,40,0,51,0,17,0,5,0,16,0 34,0,12,0,19,0,48,0,31,0,24,0 46,0,33,0,54,0,15,0,47,0,53,0 32,0,44,0,30,0,45,0,6,0,35,0 10,0,64,0,57,0,13,0,56,0,37,0 63,0,7,0,36,0,26,0,61,0,23,0 25,0,69,0,21,0,43,0,39,0,62,0 70,0,9,0,60,0,18,0,41,0,50,0 11,0,55,0,65,0,8,0,66,0,20,0 22,0,1,0,28,0,42,0,4,0,68,0 59,0,49,0,3,0,38,0,27,0,2,0 29,0,26,0,52,0,58,0,6,0,64,0 ================================================ FILE: schedules/70_6.csv ================================================ 15,0,16,0,9,0,70,0,11,0,47,0 63,0,28,0,20,0,37,0,24,0,52,0 5,0,39,0,31,0,49,0,27,0,17,0 57,0,68,0,66,0,58,0,56,0,1,0 69,0,22,0,51,0,43,0,8,0,45,0 64,0,60,0,50,0,35,0,62,0,59,0 14,0,3,0,4,0,54,0,53,0,65,0 26,0,2,0,10,0,7,0,41,0,55,0 36,0,34,0,67,0,6,0,42,0,46,0 44,0,32,0,21,0,19,0,25,0,40,0 18,0,13,0,61,0,23,0,12,0,29,0 38,0,33,0,68,0,48,0,30,0,50,0 35,0,52,0,43,0,17,0,10,0,57,0 2,0,56,0,49,0,6,0,28,0,45,0 22,0,60,0,24,0,25,0,9,0,34,0 54,0,29,0,36,0,40,0,66,0,7,0 51,0,46,0,15,0,19,0,26,0,5,0 70,0,30,0,31,0,13,0,20,0,65,0 47,0,21,0,59,0,12,0,53,0,48,0 27,0,55,0,42,0,64,0,33,0,16,0 18,0,44,0,3,0,38,0,39,0,37,0 4,0,63,0,8,0,41,0,11,0,32,0 61,0,58,0,67,0,69,0,14,0,62,0 23,0,9,0,49,0,1,0,51,0,59,0 45,0,48,0,27,0,57,0,13,0,54,0 16,0,7,0,68,0,60,0,18,0,17,0 12,0,25,0,20,0,4,0,10,0,39,0 64,0,37,0,36,0,8,0,56,0,19,0 31,0,6,0,63,0,1,0,33,0,61,0 65,0,21,0,69,0,35,0,23,0,46,0 30,0,14,0,24,0,41,0,42,0,44,0 62,0,28,0,66,0,47,0,26,0,3,0 40,0,11,0,5,0,22,0,2,0,52,0 43,0,53,0,38,0,15,0,67,0,55,0 70,0,58,0,32,0,50,0,34,0,29,0 61,0,30,0,16,0,57,0,4,0,36,0 42,0,65,0,19,0,48,0,18,0,66,0 39,0,6,0,64,0,13,0,24,0,11,0 3,0,20,0,40,0,27,0,15,0,59,0 45,0,34,0,26,0,23,0,52,0,53,0 54,0,51,0,47,0,31,0,68,0,25,0 10,0,56,0,44,0,60,0,70,0,69,0 50,0,12,0,41,0,37,0,67,0,49,0 43,0,2,0,29,0,62,0,21,0,33,0 1,0,46,0,7,0,32,0,14,0,22,0 35,0,28,0,8,0,38,0,9,0,5,0 58,0,55,0,40,0,63,0,17,0,51,0 24,0,50,0,10,0,61,0,27,0,66,0 53,0,41,0,62,0,13,0,16,0,56,0 31,0,11,0,3,0,48,0,34,0,7,0 29,0,15,0,52,0,44,0,64,0,49,0 46,0,30,0,8,0,18,0,59,0,25,0 19,0,4,0,17,0,33,0,69,0,28,0 21,0,60,0,14,0,63,0,57,0,38,0 5,0,23,0,36,0,20,0,43,0,47,0 54,0,12,0,26,0,22,0,6,0,58,0 68,0,32,0,65,0,39,0,2,0,67,0 70,0,1,0,42,0,35,0,37,0,45,0 9,0,56,0,18,0,55,0,50,0,21,0 57,0,33,0,47,0,44,0,7,0,8,0 38,0,62,0,17,0,23,0,24,0,54,0 61,0,48,0,52,0,60,0,51,0,32,0 35,0,49,0,20,0,14,0,11,0,26,0 25,0,6,0,69,0,55,0,29,0,3,0 15,0,22,0,42,0,10,0,31,0,28,0 70,0,4,0,67,0,64,0,66,0,5,0 27,0,63,0,53,0,2,0,19,0,30,0 16,0,34,0,43,0,65,0,1,0,12,0 39,0,41,0,59,0,58,0,36,0,45,0 40,0,13,0,37,0,68,0,9,0,46,0 ================================================ FILE: schedules/70_7.csv ================================================ 52,0,3,0,11,0,37,0,39,0,8,0 22,0,35,0,46,0,12,0,63,0,10,0 6,0,49,0,58,0,62,0,24,0,61,0 25,0,54,0,55,0,29,0,31,0,47,0 64,0,28,0,7,0,38,0,40,0,14,0 20,0,18,0,57,0,41,0,56,0,2,0 42,0,21,0,9,0,32,0,69,0,1,0 43,0,4,0,19,0,34,0,30,0,36,0 44,0,26,0,68,0,65,0,15,0,60,0 33,0,13,0,70,0,27,0,23,0,5,0 16,0,48,0,51,0,67,0,59,0,17,0 53,0,45,0,29,0,50,0,66,0,32,0 41,0,19,0,12,0,40,0,8,0,6,0 56,0,3,0,14,0,49,0,43,0,1,0 2,0,30,0,39,0,61,0,55,0,44,0 17,0,60,0,70,0,20,0,58,0,31,0 65,0,50,0,13,0,46,0,54,0,57,0 10,0,64,0,66,0,36,0,48,0,26,0 37,0,15,0,38,0,25,0,51,0,42,0 7,0,47,0,22,0,11,0,5,0,69,0 59,0,23,0,34,0,63,0,21,0,62,0 27,0,45,0,24,0,28,0,4,0,67,0 68,0,53,0,16,0,18,0,52,0,9,0 35,0,61,0,31,0,33,0,38,0,8,0 37,1,2,0,60,0,1,1,64,0,12,0 6,0,17,0,5,0,10,0,25,0,57,0 45,0,69,0,40,0,46,0,20,0,51,0 50,0,59,0,27,0,41,0,11,0,26,0 29,0,43,0,52,0,33,0,44,0,7,0 32,0,67,0,36,0,35,0,54,0,62,0 19,0,39,0,23,0,22,0,15,0,16,0 56,0,21,0,66,0,70,0,24,0,68,0 65,0,18,0,28,0,49,0,55,0,34,0 30,0,3,0,42,0,13,0,53,0,58,0 48,0,47,0,9,0,4,0,14,0,63,0 10,0,38,0,16,0,54,0,20,0,43,0 2,0,7,0,15,0,27,0,46,0,62,0 12,0,23,0,32,0,28,0,31,0,68,0 67,0,50,0,69,0,60,0,18,0,61,0 37,0,34,0,41,0,33,0,47,0,17,0 24,0,65,0,11,0,1,0,36,0,25,0 5,0,48,0,40,0,56,0,55,0,58,0 59,0,13,0,44,0,22,0,66,0,4,0 29,0,64,0,57,0,9,0,19,0,3,0 63,0,26,0,6,0,39,0,45,0,42,0 30,0,49,0,51,0,35,0,70,0,52,0 8,0,14,0,5,0,21,0,53,0,67,0 4,0,37,0,31,0,69,0,16,0,65,0 32,0,40,0,60,0,24,0,59,0,2,0 47,0,28,0,1,0,10,0,19,0,44,0 52,0,58,0,63,0,64,0,15,0,41,0 21,0,29,0,17,0,49,0,39,0,46,0 43,0,25,0,35,0,68,0,13,0,45,0 66,0,9,0,20,0,61,0,7,0,23,0 11,0,56,0,51,0,53,0,6,0,54,0 8,0,62,0,18,0,48,0,70,0,42,0 26,0,30,0,33,0,57,0,14,0,12,0 22,0,27,0,55,0,38,0,3,0,36,0 50,0,5,0,1,0,34,0,20,0,52,0 64,0,44,0,37,0,24,0,53,0,23,0 61,0,10,0,4,0,68,0,41,0,29,0 33,0,54,0,45,0,18,0,58,0,59,0 14,0,66,0,42,0,16,0,11,0,2,0 12,0,38,0,70,0,65,0,47,0,67,0 46,0,8,0,25,0,32,0,56,0,30,0 15,0,3,0,6,0,28,0,35,0,21,0 9,0,40,0,43,0,17,0,26,0,22,0 63,0,36,0,31,0,49,0,7,0,50,0 34,0,69,0,39,0,48,0,57,0,27,0 51,0,62,0,60,0,19,0,55,0,13,0 4,0,20,0,11,0,33,0,21,0,64,0 17,0,61,0,14,0,52,0,65,0,32,0 54,0,66,0,63,0,40,0,30,0,37,0 48,0,22,0,68,0,6,0,50,0,2,0 41,0,39,0,25,0,70,0,28,0,9,0 1,0,8,0,58,0,27,0,51,0,29,0 57,0,23,0,36,0,42,0,47,0,60,0 67,0,56,0,34,0,10,0,15,0,13,0 62,0,16,0,12,0,45,0,3,0,44,0 69,0,49,0,53,0,59,0,19,0,38,0 24,0,46,0,31,0,5,0,43,0,18,0 55,0,35,0,37,0,7,0,26,0,1,0 ================================================ FILE: schedules/70_8.csv ================================================ 47,0,52,0,4,0,62,0,16,0,53,0 24,0,61,0,42,0,5,0,25,0,43,0 59,0,57,0,70,0,58,0,20,0,66,0 50,0,60,0,29,0,11,0,65,0,14,0 21,0,28,0,64,0,68,0,26,0,13,0 45,0,56,0,22,0,41,0,32,0,40,0 17,0,46,0,37,0,49,0,7,0,8,0 34,0,36,0,63,0,6,0,27,0,35,0 23,0,31,0,33,0,39,0,55,0,2,0 15,0,51,0,54,0,67,0,19,0,38,0 48,0,44,0,1,0,10,0,12,0,9,0 69,0,30,0,52,0,3,0,18,0,24,0 40,0,43,0,63,0,62,0,59,0,14,0 53,0,36,0,20,0,45,0,26,0,17,0 65,0,34,0,68,0,54,0,32,0,39,0 15,0,5,0,23,0,41,0,13,0,48,0 67,0,66,0,18,0,37,0,55,0,10,0 50,0,57,0,56,0,16,0,51,0,33,0 21,0,3,0,6,0,7,0,61,0,1,0 22,0,38,0,35,0,47,0,44,0,60,0 11,0,30,0,8,0,9,0,64,0,70,0 4,0,27,0,25,0,49,0,69,0,19,0 29,0,12,0,31,0,42,0,46,0,58,0 2,0,34,0,62,0,28,0,50,0,20,0 33,1,45,0,40,0,38,1,37,0,1,0 5,1,57,0,9,0,68,1,6,0,17,0 13,0,4,0,66,0,30,0,54,0,7,0 3,0,11,0,16,0,22,0,31,0,63,0 53,0,15,0,69,0,2,0,60,0,21,0 49,0,47,0,14,0,70,0,55,0,51,0 36,0,23,0,46,0,10,0,24,0,65,0 35,0,52,0,58,0,67,0,25,0,26,0 12,0,41,0,59,0,61,0,18,0,28,0 42,0,56,0,27,0,44,0,39,0,8,0 32,0,43,0,19,0,29,0,64,0,48,0 55,0,16,0,60,0,36,0,40,0,54,0 20,0,35,0,1,0,46,0,68,0,69,0 58,0,18,0,53,0,5,0,49,0,11,0 15,0,3,0,56,0,59,0,65,0,9,0 42,0,70,0,38,0,34,0,52,0,21,0 41,0,7,0,19,0,2,0,10,0,26,0 67,0,44,0,57,0,4,0,28,0,23,0 66,0,14,0,64,0,39,0,45,0,6,0 8,0,24,0,51,0,29,0,62,0,22,0 32,0,50,0,37,0,63,0,61,0,13,0 27,0,17,0,33,0,43,0,30,0,12,0 47,0,25,0,59,0,31,0,48,0,21,0 42,0,68,0,40,0,11,0,6,0,23,0 9,0,46,0,18,0,62,0,45,0,19,0 52,0,55,0,56,0,7,0,28,0,5,0 26,0,15,0,57,0,22,0,27,0,37,0 53,0,44,0,61,0,51,0,65,0,31,0 13,0,43,0,69,0,47,0,67,0,36,0 4,0,38,0,14,0,17,0,32,0,58,0 66,0,8,0,12,0,2,0,35,0,3,0 70,0,29,0,10,0,16,0,54,0,25,0 63,0,39,0,41,0,30,0,60,0,20,0 49,0,33,0,48,0,64,0,34,0,24,0 50,0,31,0,43,0,1,0,23,0,52,0 38,0,36,0,11,0,56,0,62,0,61,0 45,0,10,0,27,0,58,0,51,0,68,0 13,0,16,0,2,0,46,0,44,0,14,0 67,0,33,0,59,0,8,0,32,0,60,0 24,0,40,0,70,0,39,0,17,0,35,0 25,0,3,0,64,0,41,0,37,0,53,0 26,0,18,0,54,0,50,0,48,0,42,0 7,0,12,0,69,0,57,0,63,0,65,0 6,0,30,0,49,0,28,0,15,0,29,0 21,0,9,0,20,0,22,0,55,0,4,0 5,0,1,0,19,0,66,0,34,0,47,0 62,0,26,0,32,0,44,0,3,0,70,0 11,0,7,0,39,0,43,0,67,0,45,0 49,0,61,0,2,0,52,0,40,0,57,0 16,0,27,0,21,0,35,0,23,0,18,0 51,0,48,0,28,0,46,0,66,0,63,0 68,0,55,0,19,0,50,0,53,0,59,0 8,0,13,0,65,0,25,0,38,0,20,0 42,0,22,0,30,0,36,0,14,0,1,0 5,0,10,0,64,0,15,0,4,0,31,0 33,0,58,0,54,0,47,0,9,0,41,0 60,0,12,0,6,0,37,0,56,0,24,0 17,0,29,0,23,0,69,0,34,0,59,0 55,0,13,0,35,0,57,0,42,0,45,0 7,0,25,0,40,0,68,0,15,0,18,0 28,0,39,0,10,0,3,0,47,0,38,0 52,0,32,0,11,0,12,0,20,0,19,0 44,0,41,0,49,0,36,0,50,0,66,0 6,0,22,0,46,0,53,0,70,0,33,0 62,0,37,0,65,0,30,0,21,0,5,0 67,0,24,0,9,0,27,0,31,0,14,0 8,0,48,0,58,0,69,0,61,0,16,0 17,0,1,0,54,0,56,0,2,0,64,0 60,0,26,0,34,0,4,0,43,0,51,0 63,0,38,0,5,0,29,0,33,0,68,0 ================================================ FILE: schedules/70_9.csv ================================================ 68,0,58,0,43,0,22,0,12,0,61,0 21,0,8,0,60,0,33,0,1,0,47,0 66,0,20,0,36,0,31,0,38,0,26,0 9,0,7,0,2,0,41,0,18,0,55,0 32,0,67,0,25,0,70,0,27,0,63,0 64,0,45,0,5,0,15,0,30,0,35,0 37,0,16,0,23,0,57,0,17,0,53,0 6,0,56,0,59,0,29,0,34,0,51,0 24,0,52,0,48,0,13,0,11,0,10,0 40,0,46,0,49,0,42,0,14,0,19,0 44,0,28,0,4,0,69,0,50,0,65,0 39,0,62,0,15,0,54,0,3,0,37,0 29,0,58,0,20,0,2,0,45,0,57,0 12,0,34,0,63,0,16,0,36,0,24,0 49,0,18,0,17,0,5,0,43,0,11,0 41,0,14,0,50,0,56,0,61,0,32,0 55,0,52,0,62,0,8,0,25,0,46,0 48,0,51,0,9,0,21,0,4,0,22,0 53,0,70,0,1,0,42,0,64,0,66,0 44,0,59,0,23,0,40,0,33,0,26,0 68,0,7,0,31,0,65,0,13,0,3,0 54,0,69,0,30,0,19,0,47,0,67,0 10,0,39,0,6,0,60,0,28,0,27,0 38,0,21,0,55,0,35,0,24,0,29,0 18,0,26,0,12,0,42,0,52,0,50,0 53,0,20,0,34,0,65,0,22,0,62,0 41,0,36,0,33,0,58,0,15,0,19,0 64,0,23,0,32,0,44,0,60,0,46,0 70,0,49,0,47,0,4,0,6,0,68,0 69,0,66,0,10,0,45,0,7,0,16,0 14,0,2,0,3,0,35,0,48,0,28,0 54,0,56,0,9,0,1,0,25,0,17,0 30,0,61,0,59,0,13,0,38,0,63,0 67,0,11,0,40,0,39,0,57,0,43,0 5,0,27,0,31,0,51,0,8,0,37,0 19,0,68,0,10,0,26,0,32,0,29,0 3,0,66,0,23,0,12,0,25,0,4,0 63,0,47,0,22,0,45,0,44,0,17,0 11,0,6,0,30,0,21,0,58,0,46,0 35,0,41,0,31,0,1,0,59,0,16,0 70,0,51,0,2,0,15,0,40,0,24,0 56,0,13,0,42,0,62,0,36,0,27,0 5,0,52,0,61,0,34,0,67,0,69,0 38,0,14,0,65,0,64,0,18,0,8,0 53,0,28,0,55,0,33,0,43,0,54,0 57,0,37,0,60,0,50,0,7,0,48,0 49,0,39,0,13,0,9,0,20,0,12,0 5,0,26,0,42,0,16,0,6,0,25,0 27,0,68,0,35,0,69,0,18,0,23,0 41,0,28,0,47,0,64,0,40,0,36,0 55,0,31,0,17,0,60,0,67,0,58,0 54,0,48,0,46,0,20,0,24,0,61,0 33,0,34,0,39,0,2,0,38,0,4,0 7,0,32,0,22,0,1,0,49,0,11,0 3,0,19,0,45,0,8,0,56,0,53,0 10,0,57,0,21,0,65,0,70,0,59,0 44,0,14,0,66,0,51,0,62,0,30,0 37,0,29,0,63,0,52,0,9,0,43,0 50,0,40,0,17,0,15,0,13,0,6,0 33,0,38,0,46,0,56,0,5,0,7,0 2,0,54,0,26,0,49,0,27,0,45,0 1,0,57,0,24,0,62,0,68,0,69,0 61,0,31,0,34,0,9,0,28,0,19,0 15,0,12,0,10,0,44,0,53,0,21,0 30,0,3,0,43,0,60,0,41,0,70,0 4,0,29,0,14,0,67,0,22,0,36,0 50,0,11,0,25,0,20,0,8,0,35,0 52,0,51,0,64,0,39,0,32,0,16,0 18,0,37,0,59,0,66,0,58,0,47,0 63,0,23,0,55,0,48,0,42,0,65,0 43,0,1,0,27,0,34,0,46,0,15,0 28,0,29,0,62,0,26,0,11,0,60,0 45,0,9,0,24,0,33,0,14,0,6,0 44,0,16,0,67,0,13,0,2,0,18,0 3,0,38,0,58,0,10,0,51,0,49,0 36,0,35,0,70,0,61,0,37,0,7,0 57,0,8,0,4,0,54,0,63,0,41,0 68,0,40,0,52,0,56,0,66,0,21,0 32,0,47,0,5,0,65,0,12,0,55,0 69,0,25,0,48,0,53,0,64,0,31,0 50,0,59,0,19,0,39,0,22,0,23,0 30,0,42,0,33,0,17,0,20,0,10,0 16,0,11,0,9,0,38,0,15,0,68,0 67,0,49,0,37,0,24,0,28,0,56,0 43,0,62,0,4,0,31,0,32,0,45,0 66,0,22,0,6,0,54,0,55,0,13,0 60,0,40,0,53,0,5,0,63,0,18,0 17,0,21,0,64,0,26,0,61,0,3,0 36,0,1,0,65,0,30,0,2,0,50,0 52,0,7,0,20,0,23,0,47,0,14,0 27,0,57,0,51,0,35,0,12,0,19,0 69,0,42,0,46,0,29,0,39,0,41,0 58,0,70,0,8,0,44,0,34,0,48,0 25,0,45,0,60,0,59,0,68,0,36,0 14,0,31,0,54,0,10,0,23,0,5,0 56,0,19,0,63,0,11,0,2,0,64,0 46,0,35,0,65,0,9,0,66,0,67,0 48,0,12,0,38,0,62,0,17,0,41,0 44,0,20,0,3,0,1,0,52,0,6,0 27,0,4,0,61,0,40,0,55,0,30,0 22,0,15,0,18,0,28,0,57,0,25,0 24,0,39,0,47,0,53,0,26,0,58,0 33,0,70,0,16,0,49,0,29,0,50,0 69,0,32,0,13,0,34,0,37,0,21,0 42,0,8,0,43,0,51,0,7,0,59,0 ================================================ FILE: schedules/71_1.csv ================================================ 44,0,2,0,59,0,30,0,15,0,31,0 7,0,64,0,46,0,43,0,23,0,21,0 54,0,70,0,65,0,66,0,71,0,36,0 60,0,63,0,20,0,26,0,40,0,37,0 42,0,9,0,35,0,19,0,32,0,39,0 29,0,62,0,18,0,45,0,67,0,11,0 41,0,49,0,22,0,51,0,58,0,5,0 3,0,56,0,14,0,52,0,24,0,28,0 17,0,10,0,55,0,13,0,47,0,1,0 12,0,16,0,68,0,38,0,8,0,61,0 27,0,50,0,48,0,6,0,34,0,53,0 57,0,69,0,25,0,4,0,33,0,70,1 ================================================ FILE: schedules/71_10.csv ================================================ 18,0,22,0,20,0,70,0,19,0,29,0 31,0,43,0,53,0,68,0,27,0,56,0 21,0,60,0,23,0,52,0,45,0,2,0 41,0,33,0,26,0,38,0,51,0,63,0 54,0,71,0,10,0,4,0,62,0,39,0 40,0,5,0,34,0,64,0,57,0,30,0 3,0,14,0,61,0,7,0,47,0,46,0 49,0,16,0,9,0,8,0,50,0,55,0 59,0,44,0,13,0,12,0,28,0,32,0 42,0,1,0,36,0,35,0,66,0,37,0 15,0,67,0,48,0,25,0,17,0,69,0 11,0,24,0,3,0,58,0,65,0,6,0 54,0,53,0,45,0,14,0,19,0,63,0 47,0,23,0,32,0,41,0,50,0,34,0 37,0,68,0,71,0,46,0,55,0,21,0 49,0,26,0,61,0,66,0,59,0,67,0 2,0,62,0,18,0,57,0,31,0,48,0 13,0,58,0,4,0,40,0,35,0,20,0 69,0,6,0,30,0,36,0,12,0,60,0 39,0,7,0,1,0,24,0,70,0,15,0 25,0,9,0,10,0,65,0,5,0,56,0 28,0,17,0,43,0,33,0,8,0,42,0 64,0,51,0,22,0,11,0,52,0,27,0 29,0,16,0,69,0,44,0,38,0,35,0 2,1,53,0,49,0,61,1,18,0,32,0 13,1,37,0,21,0,34,1,58,0,9,0 41,0,55,0,40,0,1,0,67,0,6,0 31,0,7,0,19,0,51,0,59,0,25,0 20,0,26,0,44,0,15,0,47,0,10,0 45,0,65,0,27,0,54,0,66,0,8,0 3,0,64,0,62,0,42,0,68,0,38,0 52,0,4,0,33,0,12,0,56,0,30,0 46,0,48,0,63,0,16,0,36,0,39,0 14,0,28,0,22,0,17,0,23,0,5,0 29,0,43,0,24,0,57,0,60,0,71,0 11,0,70,0,44,0,50,0,37,0,53,0 30,0,58,0,7,0,62,0,10,0,8,0 56,0,51,0,15,0,32,0,64,0,54,0 42,0,34,0,6,0,59,0,4,0,49,0 1,0,18,0,65,0,28,0,21,0,26,0 29,0,11,0,46,0,31,0,12,0,67,0 24,0,69,0,61,0,19,0,33,0,55,0 36,0,25,0,14,0,16,0,57,0,68,0 60,0,27,0,5,0,41,0,39,0,20,0 35,0,45,0,50,0,22,0,71,0,2,0 52,0,40,0,70,0,17,0,3,0,63,0 66,0,43,0,38,0,48,0,9,0,47,0 23,0,8,0,67,0,13,0,36,0,18,0 55,0,57,0,61,0,44,0,27,0,4,0 37,0,45,0,41,0,7,0,49,0,28,0 12,0,65,0,3,0,22,0,15,0,34,0 19,0,38,0,48,0,10,0,60,0,40,0 50,0,68,0,29,0,51,0,58,0,66,0 11,0,2,0,5,0,24,0,56,0,63,0 39,0,35,0,43,0,52,0,21,0,25,0 59,0,30,0,33,0,71,0,23,0,70,0 26,0,54,0,42,0,32,0,69,0,31,0 20,0,17,0,9,0,46,0,6,0,62,0 53,0,1,0,47,0,16,0,13,0,64,0 14,0,8,0,4,0,41,0,29,0,48,0 43,0,3,0,59,0,18,0,44,0,45,0 35,0,33,0,57,0,67,0,10,0,32,0 68,0,19,0,15,0,11,0,30,0,28,0 16,0,40,0,22,0,37,0,26,0,62,0 71,0,36,0,53,0,58,0,38,0,17,0 31,0,23,0,20,0,24,0,64,0,39,0 47,0,5,0,54,0,49,0,6,0,21,0 14,0,27,0,51,0,70,0,9,0,13,0 66,0,7,0,34,0,60,0,56,0,55,0 1,0,46,0,2,0,52,0,69,0,65,0 12,0,61,0,63,0,42,0,50,0,25,0 59,0,21,0,15,0,41,0,57,0,36,0 45,0,62,0,32,0,5,0,37,0,67,0 28,0,55,0,66,0,70,0,58,0,31,0 68,0,46,0,52,0,13,0,49,0,19,0 53,0,69,0,51,0,23,0,4,0,3,0 12,0,17,0,24,0,10,0,27,0,26,0 50,0,7,0,16,0,30,0,43,0,65,0 63,0,8,0,47,0,22,0,35,0,60,0 14,0,9,0,42,0,44,0,39,0,40,0 11,0,25,0,34,0,54,0,18,0,38,0 56,0,48,0,71,0,61,0,1,0,20,0 2,0,6,0,33,0,64,0,29,0,7,0 66,0,24,0,22,0,13,0,30,0,41,0 59,0,8,0,5,0,46,0,51,0,40,0 21,0,32,0,17,0,19,0,4,0,16,0 44,0,49,0,65,0,35,0,70,0,48,0 37,0,64,0,69,0,43,0,10,0,63,0 60,0,61,0,68,0,9,0,54,0,1,0 26,0,25,0,3,0,29,0,55,0,23,0 67,0,58,0,42,0,27,0,2,0,15,0 36,0,11,0,62,0,33,0,45,0,47,0 34,0,31,0,18,0,71,0,52,0,14,0 56,0,38,0,28,0,39,0,6,0,50,0 57,0,12,0,21,0,20,0,53,0,8,0 66,0,5,0,63,0,15,0,23,0,43,0 44,0,33,0,58,0,25,0,22,0,1,0 4,0,70,0,64,0,46,0,45,0,26,0 65,0,19,0,40,0,31,0,47,0,36,0 10,0,29,0,52,0,41,0,42,0,53,0 27,0,6,0,35,0,34,0,48,0,68,0 51,0,30,0,18,0,61,0,37,0,17,0 39,0,57,0,13,0,11,0,49,0,69,0 59,0,56,0,50,0,24,0,60,0,62,0 38,0,55,0,20,0,14,0,2,0,32,0 71,0,9,0,28,0,67,0,3,0,16,0 54,0,23,0,68,0,12,0,7,0,44,0 70,0,36,0,8,0,52,0,5,0,61,0 18,0,57,0,58,0,42,0,46,0,56,0 4,0,25,0,47,0,37,0,24,0,2,0 28,0,67,0,63,0,34,0,51,0,20,0 22,0,69,0,10,0,66,0,14,0,21,0 48,0,13,0,50,0,33,0,54,0,3,0 12,0,41,0,19,0,64,0,9,0,35,0 65,0,55,0,39,0,53,0,59,0,17,0 6,0,38,0,16,0,45,0,31,0,15,0 27,0,62,0,30,0,1,0,49,0,29,0 7,0,60,0,32,0,11,0,71,0,40,0 26,0,2,0,13,0,43,0,61,0,34,0 ================================================ FILE: schedules/71_11.csv ================================================ 30,0,46,0,18,0,59,0,47,0,35,0 27,0,26,0,45,0,68,0,17,0,70,0 4,0,60,0,64,0,40,0,9,0,63,0 49,0,36,0,71,0,19,0,33,0,20,0 13,0,3,0,7,0,6,0,56,0,11,0 65,0,8,0,39,0,32,0,37,0,52,0 62,0,48,0,43,0,34,0,38,0,12,0 28,0,1,0,50,0,67,0,24,0,53,0 2,0,66,0,14,0,61,0,54,0,22,0 41,0,29,0,55,0,25,0,44,0,5,0 21,0,58,0,15,0,31,0,69,0,57,0 16,0,23,0,35,0,10,0,51,0,42,0 40,0,17,0,11,0,49,0,46,0,43,0 54,0,39,0,34,0,18,0,64,0,33,0 22,0,56,0,55,0,70,0,37,0,62,0 58,0,47,0,24,0,63,0,13,0,2,0 31,0,68,0,61,0,42,0,8,0,12,0 52,0,3,0,69,0,67,0,5,0,26,0 36,0,21,0,53,0,65,0,10,0,15,0 51,0,7,0,50,0,60,0,29,0,59,0 38,0,4,0,27,0,41,0,20,0,16,0 9,0,66,0,30,0,45,0,19,0,44,0 32,0,25,0,28,0,23,0,6,0,71,0 57,0,1,0,11,0,48,0,14,0,36,0 49,1,59,0,70,0,3,1,42,0,29,0 64,1,40,0,68,0,41,1,52,0,58,0 66,1,61,0,10,0,63,0,18,0,62,0 8,0,56,0,24,0,55,0,17,0,30,0 51,0,27,0,34,0,71,0,65,0,5,0 22,0,33,0,47,0,31,0,48,0,26,0 9,0,6,0,16,0,43,0,15,0,50,0 2,0,69,0,44,0,60,0,35,0,38,0 57,0,12,0,45,0,7,0,1,0,25,0 13,0,23,0,19,0,14,0,37,0,53,0 39,0,46,0,20,0,21,0,67,0,28,0 54,0,32,0,48,0,4,0,3,0,68,0 33,0,65,0,11,0,59,0,55,0,2,0 8,0,35,0,29,0,57,0,64,0,15,0 12,0,14,0,58,0,9,0,53,0,41,0 45,0,24,0,37,0,5,0,49,0,47,0 13,0,67,0,56,0,16,0,34,0,60,0 10,0,25,0,54,0,19,0,42,0,52,0 70,0,43,0,71,0,44,0,21,0,61,0 66,0,51,0,31,0,1,0,38,0,6,0 22,0,50,0,69,0,46,0,23,0,17,0 27,0,40,0,36,0,39,0,30,0,32,0 18,0,26,0,7,0,63,0,20,0,28,0 4,0,67,0,29,0,62,0,71,0,12,0 19,0,68,0,14,0,6,0,34,0,59,0 21,0,17,0,35,0,25,0,66,0,48,0 27,0,11,0,37,0,44,0,10,0,50,0 7,0,36,0,45,0,8,0,64,0,69,0 31,0,20,0,70,0,52,0,46,0,24,0 26,0,61,0,55,0,40,0,15,0,23,0 22,0,9,0,28,0,57,0,49,0,3,0 16,0,51,0,63,0,30,0,33,0,53,0 65,0,62,0,47,0,54,0,60,0,41,0 18,0,32,0,38,0,58,0,13,0,5,0 1,0,2,0,42,0,56,0,4,0,39,0 3,0,37,0,20,0,43,0,31,0,35,0 53,0,7,0,64,0,70,0,61,0,48,0 62,0,24,0,16,0,14,0,69,0,40,0 59,0,33,0,10,0,66,0,67,0,45,0 63,0,57,0,50,0,38,0,19,0,39,0 54,0,49,0,12,0,51,0,32,0,60,0 42,0,11,0,41,0,15,0,71,0,28,0 56,0,26,0,30,0,29,0,58,0,25,0 44,0,22,0,17,0,1,0,65,0,18,0 4,0,13,0,6,0,46,0,8,0,27,0 9,0,55,0,34,0,21,0,52,0,47,0 23,0,43,0,5,0,2,0,36,0,68,0 66,0,54,0,71,0,7,0,57,0,24,0 26,0,19,0,32,0,64,0,62,0,1,0 49,0,61,0,56,0,48,0,65,0,50,0 6,0,44,0,47,0,42,0,40,0,53,0 8,0,58,0,38,0,23,0,70,0,33,0 46,0,51,0,68,0,55,0,37,0,18,0 25,0,69,0,43,0,13,0,59,0,39,0 2,0,21,0,41,0,29,0,17,0,63,0 28,0,10,0,45,0,34,0,4,0,31,0 5,0,60,0,20,0,15,0,14,0,30,0 12,0,16,0,52,0,36,0,3,0,22,0 35,0,9,0,27,0,11,0,67,0,61,0 39,0,26,0,66,0,71,0,46,0,13,0 7,0,10,0,47,0,68,0,65,0,43,0 14,0,55,0,20,0,50,0,45,0,64,0 22,0,32,0,15,0,38,0,24,0,59,0 58,0,51,0,62,0,17,0,8,0,28,0 34,0,63,0,52,0,49,0,1,0,35,0 67,0,70,0,6,0,57,0,36,0,41,0 40,0,3,0,25,0,18,0,2,0,27,0 5,0,19,0,4,0,33,0,21,0,60,0 53,0,16,0,29,0,11,0,31,0,54,0 48,0,30,0,42,0,69,0,37,0,9,0 23,0,44,0,63,0,56,0,12,0,20,0 17,0,71,0,38,0,3,0,10,0,55,0 6,0,35,0,45,0,58,0,22,0,39,0 47,0,25,0,50,0,70,0,36,0,4,0 42,0,21,0,64,0,24,0,11,0,51,0 67,0,30,0,31,0,2,0,23,0,7,0 59,0,53,0,5,0,57,0,9,0,62,0 60,0,18,0,14,0,26,0,8,0,43,0 65,0,40,0,37,0,29,0,12,0,66,0 28,0,48,0,52,0,13,0,44,0,16,0 56,0,68,0,1,0,15,0,33,0,49,0 32,0,41,0,61,0,34,0,69,0,46,0 54,0,19,0,43,0,27,0,67,0,22,0 29,0,18,0,24,0,9,0,23,0,36,0 10,0,12,0,64,0,28,0,5,0,6,0 70,0,65,0,57,0,40,0,13,0,20,0 8,0,25,0,34,0,3,0,66,0,50,0 17,0,33,0,42,0,14,0,7,0,32,0 15,0,46,0,48,0,45,0,2,0,51,0 1,0,47,0,60,0,61,0,71,0,27,0 58,0,37,0,26,0,16,0,21,0,59,0 39,0,49,0,63,0,44,0,31,0,55,0 62,0,38,0,30,0,52,0,68,0,11,0 35,0,69,0,4,0,53,0,56,0,19,0 41,0,13,0,43,0,54,0,1,0,45,0 46,0,65,0,64,0,16,0,25,0,33,0 42,0,36,0,60,0,66,0,55,0,58,0 49,0,21,0,62,0,6,0,27,0,30,0 52,0,17,0,57,0,61,0,4,0,37,0 39,0,41,0,24,0,7,0,48,0,19,0 44,0,3,0,67,0,47,0,14,0,51,0 12,0,31,0,5,0,35,0,26,0,50,0 15,0,69,0,11,0,34,0,18,0,70,0 53,0,63,0,71,0,68,0,22,0,8,0 2,0,9,0,29,0,32,0,20,0,10,0 28,0,59,0,54,0,40,0,56,0,38,0 23,0,3,0,64,0,49,0,41,0,66,0 ================================================ FILE: schedules/71_12.csv ================================================ 21,0,63,0,62,0,11,0,64,0,17,0 2,0,69,0,34,0,58,0,18,0,9,0 28,0,14,0,41,0,6,0,7,0,8,0 36,0,10,0,56,0,43,0,25,0,51,0 48,0,1,0,15,0,37,0,42,0,16,0 60,0,44,0,57,0,35,0,49,0,67,0 40,0,32,0,65,0,19,0,47,0,71,0 23,0,55,0,38,0,53,0,70,0,45,0 31,0,5,0,29,0,20,0,4,0,33,0 46,0,39,0,61,0,50,0,22,0,68,0 66,0,54,0,30,0,24,0,26,0,13,0 52,0,12,0,59,0,27,0,3,0,11,0 65,0,21,0,70,0,57,0,8,0,56,0 6,0,45,0,15,0,71,0,29,0,36,0 34,0,61,0,16,0,64,0,25,0,49,0 38,0,18,0,47,0,14,0,26,0,42,0 41,0,68,0,58,0,63,0,44,0,53,0 1,0,2,0,28,0,59,0,50,0,40,0 32,0,17,0,3,0,10,0,33,0,9,0 13,0,31,0,22,0,48,0,60,0,52,0 43,0,24,0,67,0,46,0,23,0,62,0 55,0,27,0,7,0,66,0,5,0,37,0 35,0,51,0,69,0,54,0,20,0,12,0 4,0,30,0,28,0,39,0,19,0,41,0 53,0,22,0,64,0,49,0,33,0,2,0 34,0,56,0,26,0,40,0,13,0,3,0 67,0,59,0,47,0,15,0,5,0,61,0 20,0,65,0,60,0,7,0,16,0,11,0 35,0,45,0,58,0,32,0,68,0,21,0 24,0,19,0,27,0,31,0,70,0,51,0 71,0,55,0,46,0,42,0,17,0,69,0 50,0,8,0,29,0,66,0,63,0,52,0 10,0,54,0,62,0,4,0,57,0,9,0 30,0,43,0,6,0,12,0,1,0,38,0 23,0,44,0,25,0,18,0,37,0,48,0 39,0,14,0,58,0,36,0,33,0,64,0 42,0,24,0,7,0,50,0,53,0,19,0 68,0,54,0,51,0,67,0,55,0,60,0 63,0,3,0,35,0,65,0,30,0,1,0 12,0,9,0,32,0,40,0,22,0,23,0 56,0,52,0,47,0,36,0,46,0,20,0 70,0,49,0,26,0,59,0,39,0,62,0 31,0,16,0,44,0,71,0,21,0,28,0 38,0,34,0,48,0,69,0,41,0,5,0 18,0,11,0,61,0,66,0,43,0,15,0 37,0,13,0,45,0,2,0,10,0,6,0 17,0,8,0,14,0,4,0,27,0,25,0 57,0,53,0,46,0,29,0,60,0,12,0 36,0,16,0,70,0,26,0,9,0,50,0 59,0,5,0,49,0,58,0,63,0,51,0 39,0,1,0,68,0,34,0,10,0,47,0 18,0,40,0,67,0,31,0,8,0,27,0 2,0,15,0,25,0,52,0,21,0,54,0 17,0,61,0,4,0,23,0,45,0,30,0 69,0,29,0,24,0,28,0,64,0,13,0 44,0,66,0,48,0,14,0,65,0,62,0 37,0,43,0,20,0,41,0,57,0,32,0 42,0,33,0,6,0,56,0,35,0,11,0 19,0,55,0,22,0,38,0,3,0,71,0 7,0,39,0,12,0,31,0,63,0,25,0 48,0,51,0,65,0,15,0,17,0,34,0 23,0,57,0,52,0,14,0,1,0,5,0 30,0,70,0,58,0,67,0,20,0,42,0 33,0,40,0,26,0,21,0,4,0,55,0 46,0,18,0,54,0,10,0,19,0,11,0 22,0,16,0,45,0,43,0,7,0,35,0 59,0,6,0,9,0,60,0,53,0,24,0 38,0,49,0,61,0,8,0,13,0,32,0 44,0,41,0,56,0,29,0,27,0,2,0 36,0,3,0,68,0,28,0,69,0,66,0 50,0,37,0,71,0,64,0,47,0,62,0 9,0,25,0,5,0,42,0,65,0,45,0 46,0,8,0,16,0,54,0,58,0,55,0 56,0,12,0,67,0,1,0,49,0,19,0 39,0,24,0,2,0,48,0,32,0,35,0 60,0,71,0,26,0,52,0,20,0,61,0 6,0,29,0,62,0,3,0,23,0,34,0 11,0,4,0,50,0,22,0,69,0,44,0 66,0,64,0,10,0,40,0,70,0,41,0 15,0,18,0,36,0,7,0,33,0,30,0 13,0,59,0,21,0,14,0,68,0,43,0 53,0,17,0,51,0,47,0,31,0,37,0 57,0,38,0,27,0,28,0,63,0,16,0 10,0,8,0,35,0,71,0,5,0,23,0 61,0,12,0,58,0,56,0,48,0,24,0 15,0,4,0,3,0,60,0,25,0,70,0 9,0,46,0,7,0,13,0,1,0,44,0 22,0,42,0,41,0,36,0,65,0,59,0 33,0,63,0,27,0,45,0,69,0,47,0 17,0,43,0,38,0,54,0,40,0,39,0 64,0,50,0,18,0,57,0,51,0,6,0 31,0,30,0,55,0,11,0,14,0,2,0 53,0,21,0,67,0,66,0,34,0,20,0 19,0,37,0,68,0,29,0,52,0,49,0 28,0,32,0,25,0,26,0,62,0,5,0 3,0,59,0,57,0,44,0,39,0,17,0 51,0,23,0,11,0,71,0,41,0,7,0 58,0,2,0,66,0,6,0,4,0,47,0 20,0,22,0,1,0,27,0,18,0,68,0 56,0,31,0,64,0,15,0,32,0,38,0 14,0,49,0,45,0,24,0,40,0,46,0 62,0,60,0,69,0,19,0,21,0,30,0 29,0,10,0,63,0,67,0,48,0,16,0 33,0,65,0,28,0,70,0,61,0,13,0 43,0,52,0,36,0,53,0,34,0,55,0 35,0,12,0,26,0,8,0,9,0,37,0 50,0,42,0,21,0,54,0,27,0,23,0 58,0,25,0,47,0,30,0,22,0,29,0 31,0,66,0,38,0,10,0,51,0,46,0 19,0,63,0,59,0,55,0,20,0,6,0 33,0,8,0,11,0,16,0,24,0,1,0 13,0,50,0,17,0,35,0,41,0,18,0 54,0,53,0,37,0,5,0,28,0,56,0 71,0,14,0,44,0,70,0,34,0,12,0 26,0,7,0,15,0,68,0,2,0,57,0 32,0,45,0,39,0,52,0,69,0,65,0 61,0,60,0,40,0,36,0,62,0,42,0 43,0,3,0,48,0,67,0,64,0,4,0 9,0,47,0,28,0,49,0,18,0,55,0 16,0,68,0,5,0,12,0,6,0,17,0 24,0,20,0,44,0,15,0,22,0,10,0 36,0,23,0,19,0,13,0,2,0,63,0 4,0,52,0,62,0,42,0,35,0,38,0 67,0,69,0,39,0,14,0,56,0,37,0 66,0,25,0,71,0,33,0,60,0,43,0 45,0,3,0,50,0,31,0,49,0,58,0 27,0,64,0,65,0,30,0,46,0,26,0 54,0,32,0,7,0,59,0,34,0,29,0 53,0,48,0,40,0,11,0,70,0,57,0 21,0,1,0,9,0,41,0,61,0,51,0 8,0,68,0,42,0,43,0,2,0,31,0 15,0,13,0,55,0,62,0,12,0,50,0 37,0,65,0,46,0,4,0,59,0,18,0 63,0,34,0,57,0,66,0,56,0,22,0 23,0,17,0,10,0,69,0,58,0,26,0 33,0,5,0,52,0,40,0,44,0,30,0 20,0,47,0,41,0,25,0,24,0,3,0 29,0,11,0,67,0,9,0,38,0,39,0 16,0,19,0,35,0,53,0,14,0,61,0 49,0,48,0,7,0,27,0,21,0,6,0 32,0,70,0,71,0,54,0,36,0,1,0 51,0,60,0,64,0,45,0,28,0,8,0 ================================================ FILE: schedules/71_13.csv ================================================ 71,0,68,0,32,0,17,0,69,0,7,0 8,0,24,0,12,0,59,0,10,0,48,0 55,0,1,0,37,0,9,0,16,0,40,0 44,0,35,0,42,0,26,0,4,0,5,0 60,0,63,0,29,0,6,0,62,0,58,0 28,0,61,0,25,0,19,0,39,0,21,0 47,0,15,0,18,0,2,0,57,0,53,0 56,0,23,0,13,0,33,0,67,0,14,0 66,0,20,0,52,0,50,0,70,0,36,0 31,0,64,0,65,0,3,0,41,0,11,0 27,0,34,0,43,0,22,0,46,0,51,0 30,0,54,0,38,0,49,0,45,0,59,0 69,0,48,0,18,0,40,0,44,0,56,0 20,0,15,0,23,0,4,0,28,0,9,0 12,0,5,0,13,0,41,0,2,0,47,0 19,0,58,0,53,0,37,0,8,0,35,0 26,0,54,0,67,0,10,0,65,0,32,0 30,0,21,0,11,0,46,0,7,0,60,0 43,0,3,0,68,0,55,0,62,0,38,0 50,0,27,0,17,0,61,0,31,0,45,0 14,0,42,0,34,0,36,0,24,0,63,0 1,0,57,0,22,0,33,0,29,0,25,0 52,0,70,0,49,0,6,0,39,0,71,0 64,0,16,0,47,0,66,0,51,0,28,0 12,1,65,0,27,0,60,0,19,0,40,0 41,0,21,0,62,0,44,0,24,0,23,0 15,0,2,0,56,0,8,0,17,0,42,0 46,0,35,0,67,0,50,0,61,0,18,0 14,0,29,0,4,0,48,0,16,0,25,0 3,0,5,0,30,0,36,0,69,0,57,0 51,0,55,0,59,0,63,0,20,0,49,0 39,0,64,0,32,0,38,0,58,0,34,0 43,0,53,0,7,0,31,0,1,0,6,0 71,0,45,0,52,0,26,0,13,0,9,0 70,0,68,0,66,0,22,0,10,0,37,0 11,0,54,0,27,0,33,0,2,0,63,0 51,0,36,0,16,0,41,0,65,0,60,0 62,0,49,0,8,0,67,0,34,0,5,0 52,0,19,0,48,0,30,0,29,0,43,0 47,0,59,0,58,0,22,0,61,0,17,0 21,0,66,0,37,0,38,0,26,0,15,0 40,0,7,0,28,0,4,0,44,0,53,0 23,0,45,0,39,0,10,0,55,0,69,0 68,0,57,0,42,0,13,0,20,0,32,0 25,0,31,0,12,0,71,0,18,0,64,0 70,0,33,0,46,0,14,0,9,0,24,0 1,0,3,0,50,0,11,0,6,0,56,0 35,0,36,0,28,0,54,0,43,0,45,0 23,0,40,0,62,0,22,0,26,0,2,0 63,0,52,0,41,0,69,0,8,0,61,0 16,0,38,0,39,0,18,0,27,0,4,0 67,0,9,0,12,0,3,0,25,0,66,0 37,0,31,0,49,0,21,0,46,0,47,0 57,0,51,0,71,0,55,0,42,0,48,0 68,0,7,0,34,0,5,0,54,0,50,0 15,0,33,0,11,0,30,0,10,0,58,0 60,0,13,0,70,0,64,0,59,0,56,0 24,0,65,0,35,0,32,0,29,0,1,0 44,0,20,0,6,0,17,0,14,0,19,0 21,0,48,0,63,0,53,0,39,0,68,0 50,0,2,0,8,0,23,0,30,0,9,0 22,0,52,0,40,0,3,0,64,0,28,0 66,0,12,0,29,0,42,0,69,0,49,0 36,0,17,0,56,0,37,0,38,0,4,0 70,0,18,0,14,0,41,0,58,0,5,0 10,0,1,0,54,0,20,0,60,0,61,0 31,0,46,0,57,0,62,0,16,0,35,0 47,0,51,0,6,0,25,0,11,0,32,0 71,0,43,0,44,0,59,0,15,0,67,0 45,0,53,0,33,0,34,0,65,0,19,0 26,0,55,0,7,0,24,0,13,0,27,0 61,0,58,0,49,0,57,0,40,0,4,0 31,0,68,0,22,0,9,0,56,0,29,0 30,0,16,0,32,0,23,0,43,0,70,0 33,0,51,0,50,0,39,0,44,0,37,0 24,0,69,0,59,0,15,0,65,0,6,0 19,0,41,0,1,0,54,0,3,0,42,0 45,0,20,0,62,0,71,0,12,0,11,0 14,0,10,0,27,0,34,0,52,0,47,0 17,0,66,0,55,0,35,0,60,0,18,0 28,0,8,0,63,0,13,0,7,0,38,0 2,0,21,0,36,0,67,0,64,0,48,0 46,0,26,0,53,0,25,0,5,0,56,0 39,0,40,0,50,0,57,0,41,0,24,0 47,0,68,0,11,0,42,0,23,0,52,0 19,0,35,0,31,0,15,0,34,0,13,0 58,0,20,0,48,0,3,0,67,0,7,0 70,0,25,0,44,0,8,0,65,0,45,0 36,0,33,0,26,0,12,0,63,0,16,0 54,0,59,0,6,0,46,0,55,0,64,0 66,0,69,0,5,0,1,0,27,0,28,0 43,0,9,0,17,0,21,0,49,0,10,0 4,0,2,0,32,0,22,0,60,0,14,0 51,0,61,0,38,0,71,0,53,0,29,0 37,0,18,0,20,0,62,0,30,0,34,0 54,0,69,0,25,0,31,0,50,0,16,0 6,0,5,0,63,0,48,0,66,0,23,0 35,0,49,0,41,0,27,0,68,0,33,0 60,0,26,0,57,0,70,0,53,0,9,0 45,0,56,0,7,0,52,0,2,0,39,0 19,0,10,0,46,0,71,0,38,0,1,0 44,0,13,0,3,0,61,0,37,0,32,0 4,0,24,0,64,0,43,0,47,0,8,0 14,0,12,0,30,0,40,0,17,0,51,0 42,0,58,0,22,0,65,0,21,0,55,0 11,0,67,0,18,0,29,0,59,0,28,0 62,0,15,0,25,0,36,0,7,0,49,0 8,0,34,0,44,0,68,0,60,0,16,0 47,0,4,0,63,0,19,0,71,0,50,0 20,0,65,0,56,0,35,0,27,0,6,0 40,0,2,0,31,0,59,0,66,0,33,0 70,0,42,0,61,0,62,0,43,0,28,0 64,0,45,0,10,0,57,0,37,0,14,0 5,0,38,0,9,0,24,0,58,0,11,0 39,0,48,0,41,0,15,0,54,0,22,0 67,0,53,0,32,0,46,0,12,0,52,0 3,0,36,0,29,0,26,0,23,0,17,0 1,0,21,0,13,0,51,0,18,0,30,0 69,0,38,0,11,0,55,0,14,0,35,0 54,0,39,0,9,0,62,0,47,0,19,0 60,0,25,0,52,0,33,0,5,0,20,0 28,0,32,0,26,0,31,0,8,0,48,0 61,0,71,0,24,0,56,0,30,0,68,0 59,0,53,0,27,0,42,0,36,0,10,0 55,0,50,0,29,0,12,0,21,0,15,0 2,0,23,0,49,0,44,0,58,0,1,0 17,0,46,0,34,0,41,0,40,0,66,0 3,0,6,0,22,0,16,0,45,0,13,0 4,0,51,0,7,0,70,0,67,0,69,0 43,0,37,0,65,0,57,0,63,0,18,0 64,0,14,0,26,0,1,0,68,0,15,0 32,0,56,0,19,0,66,0,36,0,62,0 50,0,10,0,60,0,38,0,28,0,49,0 40,0,48,0,29,0,45,0,70,0,47,0 24,0,16,0,22,0,20,0,11,0,53,0 35,0,23,0,61,0,64,0,12,0,7,0 31,0,67,0,44,0,55,0,63,0,30,0 37,0,34,0,41,0,2,0,59,0,25,0 27,0,57,0,3,0,71,0,21,0,8,0 17,0,65,0,5,0,39,0,43,0,13,0 46,0,58,0,54,0,52,0,51,0,69,0 9,0,18,0,33,0,6,0,42,0,4,0 45,0,60,0,1,0,41,0,68,0,67,0 12,0,55,0,34,0,70,0,56,0,28,0 61,0,30,0,7,0,66,0,65,0,14,0 29,0,39,0,8,0,46,0,20,0,36,0 40,0,58,0,13,0,25,0,43,0,50,0 37,0,42,0,71,0,23,0,31,0,54,0 15,0,9,0,64,0,27,0,32,0,63,0 24,0,10,0,2,0,35,0,51,0,3,0 69,0,62,0,33,0,17,0,53,0,47,0 18,0,49,0,19,0,26,0,11,0,48,0 16,0,59,0,4,0,52,0,5,0,21,0 38,0,57,0,6,0,44,0,22,0,12,0 ================================================ FILE: schedules/71_14.csv ================================================ 44,0,56,0,68,0,45,0,28,0,53,0 13,0,48,0,15,0,18,0,27,0,57,0 4,0,65,0,46,0,32,0,66,0,17,0 69,0,41,0,8,0,23,0,31,0,38,0 55,0,43,0,22,0,33,0,19,0,21,0 30,0,47,0,42,0,40,0,36,0,35,0 62,0,7,0,60,0,34,0,63,0,58,0 39,0,12,0,1,0,70,0,16,0,37,0 52,0,59,0,10,0,29,0,9,0,26,0 3,0,14,0,6,0,64,0,50,0,61,0 25,0,5,0,71,0,51,0,24,0,54,0 20,0,2,0,67,0,49,0,11,0,60,0 12,0,56,0,53,0,23,0,48,0,7,0 10,0,63,0,62,0,65,0,39,0,66,0 30,0,22,0,16,0,46,0,43,0,18,0 26,0,35,0,31,0,14,0,29,0,15,0 71,0,59,0,69,0,52,0,41,0,40,0 33,0,34,0,6,0,47,0,1,0,68,0 45,0,9,0,13,0,55,0,4,0,25,0 61,0,49,0,19,0,44,0,27,0,24,0 11,0,2,0,8,0,58,0,70,0,32,0 20,0,50,0,38,0,57,0,36,0,64,0 51,0,37,0,21,0,54,0,42,0,3,0 67,0,5,0,22,0,28,0,17,0,31,0 1,1,60,0,66,0,65,1,55,0,48,0 8,0,7,0,27,0,29,0,6,0,68,0 24,0,71,0,64,0,69,0,32,0,33,0 40,0,39,0,10,0,34,0,20,0,43,0 3,0,17,0,38,0,25,0,19,0,11,0 4,0,35,0,58,0,50,0,37,0,12,0 36,0,56,0,67,0,5,0,15,0,61,0 53,0,42,0,51,0,57,0,14,0,9,0 13,0,70,0,52,0,30,0,62,0,41,0 59,0,47,0,28,0,16,0,23,0,2,0 45,0,18,0,26,0,63,0,44,0,21,0 46,0,49,0,39,0,54,0,6,0,56,0 37,0,67,0,3,0,20,0,29,0,71,0 53,0,41,0,11,0,64,0,66,0,22,0 33,0,70,0,14,0,23,0,65,0,27,0 2,0,61,0,52,0,21,0,42,0,12,0 16,0,32,0,36,0,60,0,25,0,26,0 34,0,24,0,1,0,28,0,46,0,35,0 44,0,43,0,15,0,9,0,69,0,48,0 63,0,59,0,19,0,47,0,31,0,4,0 5,0,38,0,54,0,62,0,55,0,18,0 40,0,68,0,51,0,13,0,57,0,17,0 45,0,58,0,50,0,10,0,30,0,49,0 7,0,56,0,22,0,8,0,52,0,67,0 37,0,1,0,48,0,4,0,59,0,21,0 2,0,42,0,44,0,38,0,29,0,70,0 6,0,32,0,19,0,12,0,35,0,60,0 17,0,65,0,30,0,15,0,16,0,3,0 50,0,62,0,47,0,71,0,8,0,43,0 34,0,14,0,10,0,69,0,7,0,18,0 27,0,11,0,54,0,63,0,13,0,53,0 55,0,61,0,26,0,28,0,49,0,51,0 45,0,57,0,31,0,24,0,58,0,36,0 68,0,41,0,64,0,39,0,5,0,9,0 20,0,23,0,33,0,25,0,40,0,66,0 16,0,50,0,44,0,46,0,2,0,13,0 37,0,17,0,43,0,61,0,14,0,60,0 4,0,34,0,19,0,70,0,56,0,71,0 39,0,69,0,24,0,1,0,36,0,3,0 54,0,66,0,30,0,26,0,59,0,64,0 28,0,27,0,29,0,41,0,12,0,25,0 35,0,38,0,9,0,7,0,65,0,49,0 31,0,18,0,67,0,33,0,51,0,45,0 6,0,62,0,57,0,11,0,22,0,23,0 46,0,8,0,53,0,20,0,63,0,15,0 5,0,48,0,47,0,32,0,42,0,52,0 40,0,21,0,55,0,10,0,68,0,58,0 36,0,66,0,14,0,67,0,19,0,9,0 44,0,61,0,70,0,71,0,31,0,7,0 25,0,33,0,27,0,35,0,2,0,30,0 12,0,48,0,59,0,69,0,17,0,50,0 63,0,41,0,28,0,51,0,58,0,6,0 54,0,49,0,62,0,43,0,52,0,68,0 13,0,18,0,24,0,65,0,20,0,56,0 42,0,16,0,64,0,34,0,8,0,45,0 26,0,11,0,57,0,4,0,37,0,5,0 3,0,47,0,23,0,10,0,15,0,55,0 22,0,53,0,1,0,38,0,40,0,60,0 32,0,21,0,46,0,39,0,29,0,36,0 54,0,35,0,20,0,44,0,41,0,45,0 14,0,27,0,69,0,11,0,56,0,58,0 71,0,65,0,52,0,57,0,66,0,61,0 8,0,15,0,30,0,51,0,48,0,4,0 59,0,13,0,16,0,7,0,19,0,5,0 29,0,55,0,31,0,50,0,39,0,53,0 28,0,64,0,12,0,47,0,60,0,10,0 38,0,43,0,32,0,68,0,23,0,46,0 2,0,40,0,18,0,9,0,24,0,37,0 42,0,49,0,17,0,63,0,33,0,1,0 62,0,25,0,70,0,6,0,67,0,21,0 26,0,3,0,66,0,22,0,34,0,12,0 61,0,47,0,45,0,11,0,38,0,46,0 10,0,57,0,48,0,16,0,54,0,31,0 52,0,39,0,20,0,51,0,17,0,27,0 2,0,55,0,63,0,71,0,35,0,1,0 29,0,23,0,49,0,13,0,34,0,64,0 50,0,22,0,70,0,14,0,25,0,24,0 53,0,6,0,37,0,30,0,5,0,36,0 44,0,40,0,3,0,32,0,62,0,4,0 42,0,19,0,68,0,26,0,67,0,69,0 65,0,60,0,15,0,41,0,21,0,7,0 33,0,9,0,18,0,58,0,8,0,28,0 56,0,43,0,57,0,59,0,35,0,25,0 14,0,31,0,12,0,13,0,1,0,62,0 10,0,46,0,26,0,53,0,71,0,27,0 67,0,4,0,24,0,41,0,16,0,6,0 19,0,30,0,58,0,20,0,5,0,68,0 37,0,33,0,39,0,7,0,38,0,44,0 43,0,64,0,21,0,17,0,56,0,55,0 51,0,3,0,70,0,59,0,18,0,49,0 28,0,15,0,42,0,66,0,11,0,50,0 69,0,54,0,34,0,22,0,2,0,65,0 32,0,48,0,40,0,29,0,61,0,63,0 52,0,45,0,23,0,36,0,8,0,60,0 47,0,21,0,24,0,9,0,44,0,17,0 68,0,35,0,16,0,64,0,70,0,31,0 7,0,28,0,20,0,43,0,4,0,42,0 38,0,33,0,26,0,50,0,6,0,48,0 59,0,32,0,55,0,34,0,67,0,27,0 22,0,51,0,36,0,65,0,10,0,12,0 15,0,23,0,1,0,52,0,54,0,19,0 58,0,18,0,61,0,47,0,25,0,53,0 41,0,66,0,13,0,2,0,45,0,37,0 71,0,40,0,49,0,14,0,39,0,8,0 5,0,60,0,69,0,46,0,62,0,29,0 63,0,56,0,9,0,30,0,3,0,57,0 11,0,36,0,6,0,59,0,44,0,34,0 17,0,35,0,67,0,53,0,10,0,23,0 68,0,50,0,27,0,47,0,70,0,66,0 43,0,58,0,60,0,26,0,13,0,42,0 9,0,4,0,61,0,39,0,54,0,22,0 38,0,21,0,15,0,16,0,63,0,71,0 25,0,8,0,37,0,65,0,19,0,69,0 7,0,52,0,30,0,24,0,11,0,55,0 29,0,32,0,64,0,1,0,18,0,51,0 5,0,40,0,31,0,2,0,56,0,3,0 28,0,14,0,62,0,48,0,20,0,45,0 41,0,57,0,46,0,49,0,33,0,12,0 27,0,60,0,59,0,4,0,38,0,10,0 1,0,65,0,58,0,67,0,30,0,44,0 53,0,26,0,70,0,69,0,47,0,13,0 31,0,63,0,25,0,37,0,64,0,52,0 56,0,16,0,29,0,61,0,33,0,62,0 39,0,57,0,51,0,19,0,28,0,2,0 41,0,42,0,14,0,55,0,3,0,46,0 20,0,9,0,21,0,32,0,50,0,34,0 45,0,12,0,15,0,40,0,43,0,6,0 11,0,68,0,71,0,48,0,35,0,22,0 8,0,23,0,66,0,24,0,49,0,5,0 7,0,17,0,36,0,54,0,18,0,28,0 56,0,61,0,10,0,41,0,26,0,1,0 6,0,20,0,69,0,9,0,16,0,55,0 46,0,48,0,19,0,40,0,64,0,58,0 65,0,11,0,34,0,31,0,51,0,43,0 49,0,22,0,37,0,32,0,47,0,15,0 29,0,60,0,17,0,70,0,54,0,57,0 4,0,2,0,33,0,62,0,36,0,53,0 52,0,44,0,66,0,30,0,38,0,14,0 25,0,18,0,23,0,42,0,39,0,71,0 27,0,13,0,35,0,21,0,8,0,3,0 63,0,12,0,24,0,67,0,68,0,59,0 50,0,7,0,1,0,45,0,5,0,65,0 ================================================ FILE: schedules/71_2.csv ================================================ 62,0,61,0,27,0,39,0,50,0,29,0 7,0,34,0,3,0,67,0,40,0,57,0 36,0,42,0,48,0,71,0,17,0,43,0 11,0,10,0,5,0,65,0,58,0,12,0 22,0,41,0,19,0,59,0,4,0,45,0 25,0,2,0,28,0,13,0,53,0,9,0 52,0,60,0,20,0,26,0,23,0,46,0 49,0,31,0,68,0,21,0,51,0,30,0 38,0,66,0,8,0,14,0,47,0,54,0 1,0,18,0,55,0,33,0,44,0,56,0 24,0,6,0,35,0,32,0,63,0,37,0 15,0,69,0,70,0,64,0,16,0,53,0 11,0,68,0,29,0,34,0,9,0,22,0 50,0,57,0,23,0,47,0,48,0,25,0 21,0,26,0,42,0,27,0,58,0,54,0 6,0,65,0,20,0,7,0,62,0,43,0 70,0,19,0,12,0,61,0,49,0,37,0 33,0,60,0,28,0,67,0,5,0,38,0 63,0,14,0,4,0,31,0,39,0,55,0 3,0,45,0,18,0,36,0,15,0,2,0 17,0,10,0,40,0,30,0,69,0,1,0 44,0,59,0,66,0,24,0,51,0,52,0 32,0,46,0,56,0,71,0,41,0,64,0 16,0,13,0,61,1,35,0,8,0,11,1 ================================================ FILE: schedules/71_3.csv ================================================ 54,0,15,0,41,0,19,0,52,0,55,0 33,0,45,0,21,0,34,0,22,0,63,0 24,0,14,0,66,0,37,0,65,0,42,0 68,0,13,0,67,0,28,0,71,0,29,0 12,0,26,0,58,0,17,0,36,0,44,0 64,0,48,0,69,0,23,0,40,0,51,0 9,0,47,0,2,0,61,0,53,0,20,0 8,0,30,0,32,0,31,0,62,0,25,0 6,0,49,0,60,0,4,0,43,0,39,0 50,0,7,0,27,0,10,0,35,0,38,0 18,0,59,0,5,0,56,0,3,0,70,0 1,0,16,0,11,0,46,0,57,0,21,0 26,1,40,0,22,0,15,1,24,0,29,0 34,1,43,0,36,0,20,0,41,0,8,0 4,0,37,0,10,0,68,0,54,0,47,0 38,0,18,0,39,0,32,0,2,0,42,0 25,0,5,0,58,0,7,0,67,0,66,0 6,0,46,0,33,0,59,0,27,0,62,0 3,0,17,0,14,0,13,0,9,0,51,0 1,0,44,0,60,0,70,0,53,0,69,0 45,0,35,0,16,0,56,0,48,0,55,0 71,0,65,0,23,0,19,0,49,0,30,0 28,0,12,0,52,0,11,0,61,0,64,0 57,0,63,0,29,0,31,0,50,0,37,0 54,0,53,0,32,0,21,0,58,0,14,0 7,0,47,0,6,0,18,0,48,0,26,0 22,0,2,0,43,0,3,0,44,0,16,0 30,0,67,0,56,0,4,0,69,0,15,0 64,0,33,0,55,0,1,0,39,0,24,0 17,0,8,0,71,0,46,0,60,0,63,0 68,0,11,0,31,0,49,0,66,0,34,0 51,0,25,0,41,0,38,0,12,0,57,0 28,0,70,0,23,0,45,0,9,0,27,0 59,0,52,0,50,0,65,0,36,0,13,0 19,0,20,0,40,0,35,0,5,0,42,0 62,0,61,0,15,0,10,0,26,0,34,0 ================================================ FILE: schedules/71_4.csv ================================================ 63,0,50,0,69,0,33,0,55,0,24,0 20,0,61,0,34,0,11,0,7,0,1,0 57,0,14,0,60,0,43,0,59,0,67,0 38,0,46,0,71,0,58,0,10,0,12,0 6,0,23,0,48,0,26,0,35,0,47,0 70,0,39,0,45,0,29,0,36,0,18,0 27,0,52,0,64,0,13,0,8,0,51,0 9,0,66,0,22,0,16,0,30,0,19,0 49,0,25,0,31,0,37,0,41,0,40,0 28,0,42,0,4,0,3,0,62,0,17,0 68,0,56,0,32,0,53,0,54,0,65,0 44,0,2,0,15,0,5,0,21,0,64,0 24,0,8,0,61,0,35,0,19,0,60,0 25,0,30,0,52,0,46,0,36,0,69,0 62,0,51,0,10,0,34,0,31,0,63,0 68,0,40,0,11,0,22,0,39,0,67,0 12,0,29,0,16,0,23,0,41,0,2,0 18,0,54,0,14,0,33,0,4,0,71,0 47,0,55,0,66,0,56,0,70,0,13,0 5,0,65,0,50,0,20,0,3,0,38,0 57,0,26,0,9,0,32,0,42,0,44,0 37,0,53,0,59,0,1,0,6,0,27,0 15,0,17,0,7,0,45,0,49,0,58,0 28,0,43,0,24,0,21,0,48,0,70,0 30,1,67,0,18,0,2,1,31,0,8,0 39,1,51,0,9,0,47,1,60,0,25,0 37,0,44,0,52,0,71,0,23,0,61,0 54,0,12,0,59,0,40,0,45,0,50,0 55,0,27,0,62,0,7,0,57,0,5,0 64,0,1,0,58,0,65,0,66,0,63,0 26,0,36,0,4,0,56,0,22,0,49,0 43,0,42,0,33,0,68,0,20,0,6,0 38,0,32,0,19,0,28,0,11,0,14,0 48,0,46,0,3,0,53,0,29,0,15,0 69,0,21,0,41,0,13,0,10,0,35,0 16,0,36,0,67,0,34,0,17,0,44,0 25,0,56,0,71,0,20,0,59,0,2,0 61,0,45,0,22,0,28,0,33,0,27,0 55,0,51,0,40,0,15,0,4,0,1,0 6,0,65,0,70,0,12,0,52,0,57,0 7,0,46,0,39,0,41,0,66,0,26,0 11,0,42,0,16,0,5,0,47,0,24,0 49,0,30,0,60,0,32,0,63,0,29,0 53,0,13,0,34,0,18,0,19,0,50,0 69,0,8,0,37,0,68,0,17,0,48,0 3,0,21,0,31,0,9,0,58,0,23,0 35,0,38,0,43,0,64,0,62,0,54,0 10,0,2,0,47,0,14,0,30,0,39,0 ================================================ FILE: schedules/71_5.csv ================================================ 3,0,25,0,28,0,37,0,43,0,69,0 33,0,2,0,65,0,45,0,11,0,55,0 68,0,70,0,26,0,12,0,18,0,5,0 15,0,61,0,49,0,29,0,13,0,20,0 31,0,36,0,27,0,16,0,30,0,10,0 17,0,21,0,40,0,35,0,56,0,44,0 53,0,66,0,60,0,7,0,23,0,57,0 48,0,4,0,19,0,24,0,32,0,34,0 63,0,14,0,41,0,67,0,52,0,54,0 51,0,38,0,9,0,47,0,62,0,42,0 8,0,46,0,64,0,22,0,50,0,1,0 58,0,39,0,59,0,71,0,6,0,31,0 53,0,69,0,11,0,30,0,19,0,17,0 66,0,3,0,10,0,13,0,48,0,55,0 26,0,52,0,9,0,40,0,16,0,20,0 51,0,65,0,23,0,24,0,8,0,28,0 54,0,21,0,34,0,64,0,68,0,61,0 32,0,38,0,37,0,12,0,36,0,33,0 14,0,57,0,49,0,56,0,50,0,59,0 60,0,4,0,47,0,71,0,67,0,5,0 63,0,6,0,1,0,62,0,44,0,70,0 2,0,7,0,43,0,22,0,41,0,58,0 27,0,29,0,35,0,25,0,39,0,46,0 15,0,45,0,32,0,18,0,42,0,14,0 40,1,24,0,55,0,38,1,53,0,49,0 11,1,26,0,31,0,63,1,28,0,21,0 54,0,62,0,8,0,13,1,4,0,57,0 71,0,12,0,29,0,69,0,41,0,66,0 37,0,42,0,58,0,68,0,46,0,52,0 23,0,61,0,35,0,16,0,19,0,18,0 2,0,64,0,67,0,36,0,6,0,3,0 33,0,59,0,34,0,9,0,70,0,60,0 48,0,47,0,30,0,44,0,7,0,45,0 39,0,17,0,51,0,43,0,1,0,15,0 22,0,5,0,20,0,56,0,27,0,65,0 25,0,50,0,24,0,10,0,2,0,63,0 8,0,41,0,16,0,21,0,3,0,32,0 64,0,37,0,60,0,45,0,49,0,26,0 55,0,9,0,6,0,46,0,7,0,54,0 14,0,29,0,62,0,34,0,11,0,43,0 57,0,70,0,15,0,27,0,58,0,40,0 59,0,67,0,30,0,61,0,38,0,22,0 71,0,44,0,42,0,28,0,20,0,10,0 69,0,33,0,13,0,35,0,51,0,5,0 4,0,1,0,12,0,23,0,25,0,31,0 47,0,19,0,39,0,50,0,65,0,66,0 56,0,53,0,18,0,48,0,36,0,52,0 68,0,20,0,3,0,17,0,59,0,63,0 44,0,14,0,46,0,26,0,69,0,38,0 11,0,27,0,41,0,51,0,49,0,4,0 71,0,57,0,25,0,30,0,55,0,21,0 18,0,43,0,64,0,31,0,13,0,65,0 48,0,42,0,50,0,17,0,23,0,6,0 45,0,34,0,67,0,53,0,8,0,12,0 10,0,54,0,40,0,5,0,37,0,39,0 61,0,58,0,36,0,24,0,1,0,9,0 29,0,56,0,16,0,47,0,70,0,2,0 66,0,22,0,68,0,32,0,35,0,28,0 52,0,7,0,33,0,15,0,19,0,62,0 38,0,11,0,13,0,60,0,40,0,63,0 ================================================ FILE: schedules/71_6.csv ================================================ 10,0,3,0,25,0,2,0,4,0,31,0 23,0,20,0,35,0,54,0,42,0,28,0 56,0,18,0,6,0,27,0,32,0,66,0 49,0,68,0,48,0,67,0,58,0,17,0 9,0,46,0,38,0,62,0,1,0,7,0 60,0,61,0,12,0,39,0,41,0,53,0 11,0,24,0,33,0,40,0,50,0,43,0 15,0,59,0,64,0,57,0,44,0,30,0 55,0,8,0,69,0,52,0,21,0,34,0 63,0,29,0,71,0,13,0,47,0,51,0 5,0,65,0,14,0,45,0,26,0,16,0 36,0,19,0,70,0,37,0,22,0,3,0 11,0,42,0,7,0,17,0,56,0,53,0 58,0,39,0,44,0,32,0,31,0,24,0 59,0,67,0,1,0,34,0,28,0,13,0 10,0,41,0,63,0,45,0,18,0,35,0 12,0,64,0,4,0,19,0,66,0,43,0 16,0,51,0,62,0,69,0,68,0,33,0 8,0,20,0,47,0,46,0,36,0,15,0 9,0,40,0,52,0,48,0,54,0,26,0 21,0,61,0,22,0,57,0,50,0,25,0 27,0,29,0,23,0,70,0,2,0,14,0 6,0,60,0,38,0,30,0,49,0,65,0 37,0,71,0,17,0,55,0,5,0,10,0 1,0,45,0,3,0,43,0,8,0,54,0 40,0,58,0,20,0,7,0,64,0,41,0 67,0,31,0,19,0,50,0,52,0,62,0 36,0,39,0,16,0,38,0,66,0,57,0 46,0,14,0,60,0,4,0,48,0,59,0 69,0,53,0,5,0,24,0,27,0,28,0 35,0,9,0,34,0,47,0,49,0,70,0 51,0,2,0,42,0,18,0,30,0,61,0 55,0,12,0,15,0,32,0,11,0,29,0 22,0,13,0,44,0,23,0,33,0,6,0 56,0,21,0,63,0,65,0,68,0,37,0 26,0,25,0,43,0,71,0,70,0,69,0 67,0,10,0,36,0,9,0,53,0,51,0 57,0,11,0,28,0,60,0,8,0,31,0 49,0,46,0,50,0,12,0,42,0,44,0 41,0,65,0,48,0,27,0,19,0,13,0 54,0,63,0,2,0,5,0,15,0,33,0 14,0,32,0,52,0,1,0,61,0,68,0 20,0,34,0,25,0,24,0,56,0,38,0 55,0,66,0,3,0,35,0,7,0,26,0 4,0,71,0,21,0,23,0,39,0,30,0 47,0,62,0,45,0,6,0,40,0,59,0 29,0,16,0,17,0,64,0,22,0,18,0 37,0,13,0,53,0,58,0,52,0,38,0 50,0,56,0,28,0,48,0,36,0,55,0 66,0,33,0,67,0,8,0,25,0,14,0 4,0,68,0,5,0,11,0,6,0,35,0 43,0,39,0,59,0,65,0,20,0,2,0 41,0,69,0,30,0,3,0,9,0,29,0 57,0,26,0,23,0,62,0,63,0,32,0 22,0,58,0,15,0,1,0,60,0,51,0 24,0,37,0,18,0,12,0,47,0,7,0 45,0,64,0,31,0,27,0,71,0,49,0 34,0,40,0,19,0,61,0,44,0,17,0 70,0,21,0,54,0,46,0,16,0,10,0 42,0,52,0,36,0,63,0,6,0,25,0 18,0,13,0,50,0,39,0,68,0,8,0 23,0,58,0,45,0,12,0,9,0,56,0 41,0,22,0,66,0,5,0,31,0,59,0 7,0,54,0,29,0,61,0,4,0,65,0 14,0,62,0,49,0,21,0,3,0,53,0 32,0,17,0,30,0,28,0,43,0,46,0 48,0,51,0,44,0,20,0,70,0,11,0 42,0,37,0,57,0,69,0,1,0,40,0 55,0,47,0,38,0,2,0,67,0,64,0 24,0,19,0,35,0,15,0,16,0,71,0 33,0,27,0,60,0,34,0,26,0,10,0 ================================================ FILE: schedules/71_7.csv ================================================ 54,0,12,0,65,0,21,0,11,0,47,0 67,0,14,0,59,0,10,0,69,0,2,0 26,0,43,0,27,0,56,0,39,0,7,0 15,0,57,0,8,0,63,0,16,0,50,0 29,0,66,0,38,0,40,0,30,0,9,0 19,0,24,0,18,0,28,0,5,0,58,0 61,0,53,0,46,0,44,0,37,0,60,0 35,0,20,0,23,0,62,0,49,0,4,0 25,0,51,0,1,0,71,0,42,0,34,0 36,0,33,0,48,0,17,0,70,0,6,0 55,0,32,0,64,0,41,0,68,0,22,0 31,0,3,0,13,0,45,0,52,0,7,0 4,0,37,0,24,0,2,0,54,0,26,0 56,0,62,0,28,0,59,0,44,0,40,0 30,0,15,0,20,0,33,0,27,0,71,0 17,0,23,0,68,0,46,0,11,0,34,0 67,0,58,0,1,0,12,0,8,0,61,0 47,0,14,0,50,0,51,0,64,0,18,0 39,0,35,0,45,0,66,0,16,0,36,0 10,0,60,0,31,0,38,0,49,0,41,0 43,0,5,0,25,0,65,0,70,0,9,0 3,0,69,0,42,0,32,0,48,0,53,0 19,0,22,0,13,0,21,0,29,0,57,0 6,0,63,0,40,0,55,0,52,0,23,0 64,1,10,0,4,0,18,0,61,0,39,0 28,0,30,0,54,0,45,0,8,0,41,0 37,0,34,0,3,0,35,0,5,0,14,0 42,0,26,0,65,0,20,0,22,0,31,0 48,0,15,0,52,0,43,0,11,0,19,0 56,0,53,0,57,0,67,0,24,0,68,0 38,0,32,0,21,0,25,0,33,0,46,0 60,0,12,0,71,0,6,0,66,0,2,0 63,0,69,0,70,0,13,0,62,0,47,0 59,0,9,0,7,0,58,0,16,0,49,0 27,0,44,0,51,0,55,0,36,0,29,0 1,0,17,0,38,0,50,0,43,0,20,0 33,0,4,0,5,0,11,0,40,0,67,0 68,0,39,0,47,0,48,0,25,0,28,0 41,0,12,0,57,0,42,0,59,0,37,0 14,0,45,0,61,0,32,0,6,0,29,0 15,0,44,0,22,0,58,0,23,0,66,0 8,0,2,0,13,0,49,0,18,0,56,0 69,0,64,0,31,0,34,0,19,0,27,0 9,0,50,0,60,0,55,0,3,0,54,0 30,0,7,0,21,0,36,0,1,0,63,0 10,0,53,0,71,0,26,0,35,0,70,0 16,0,65,0,51,0,17,0,52,0,24,0 46,0,48,0,18,0,62,0,31,0,57,0 47,0,20,0,44,0,9,0,32,0,67,0 11,0,22,0,56,0,45,0,37,0,25,0 6,0,49,0,54,0,5,0,69,0,1,0 2,0,38,0,70,0,51,0,39,0,3,0 63,0,41,0,19,0,65,0,71,0,4,0 40,0,42,0,58,0,50,0,46,0,35,0 7,0,66,0,33,0,14,0,68,0,10,0 62,0,17,0,59,0,55,0,30,0,53,0 21,0,28,0,16,0,27,0,23,0,61,0 12,0,64,0,36,0,24,0,15,0,13,0 52,0,29,0,8,0,60,0,26,0,34,0 43,0,33,0,37,0,63,0,58,0,31,0 20,0,6,0,46,0,3,0,56,0,41,0 17,0,49,0,39,0,19,0,42,0,14,0 64,0,5,0,2,0,44,0,45,0,48,0 68,0,13,0,51,0,59,0,54,0,35,0 26,0,30,0,25,0,57,0,23,0,69,0 1,0,18,0,40,0,60,0,15,0,32,0 7,0,50,0,67,0,28,0,34,0,65,0 16,0,29,0,47,0,53,0,43,0,4,0 10,0,27,0,9,0,12,0,22,0,52,0 55,0,70,0,66,0,21,0,8,0,24,0 61,0,11,0,71,0,36,0,38,0,62,0 3,0,68,0,18,0,44,0,65,0,30,0 69,0,29,0,41,0,50,0,33,0,39,0 53,0,19,0,12,0,51,0,7,0,23,0 28,0,4,0,32,0,66,0,17,0,57,0 67,0,42,0,62,0,64,0,6,0,16,0 14,0,25,0,58,0,13,0,60,0,27,0 11,0,2,0,31,0,35,0,1,0,9,0 48,0,49,0,40,0,71,0,21,0,37,0 43,0,36,0,59,0,46,0,22,0,8,0 15,0,5,0,55,0,38,0,47,0,26,0 34,0,24,0,45,0,63,0,20,0,10,0 70,0,56,0,52,0,54,0,61,0,64,0 ================================================ FILE: schedules/71_8.csv ================================================ 28,0,58,0,7,0,38,0,29,0,48,0 27,0,57,0,53,0,1,0,55,0,40,0 46,0,26,0,23,0,24,0,18,0,56,0 52,0,42,0,35,0,54,0,13,0,12,0 62,0,68,0,8,0,3,0,51,0,32,0 61,0,22,0,4,0,9,0,50,0,10,0 44,0,34,0,65,0,39,0,66,0,20,0 19,0,25,0,21,0,47,0,11,0,43,0 64,0,33,0,59,0,30,0,15,0,16,0 63,0,45,0,6,0,37,0,71,0,70,0 14,0,49,0,60,0,36,0,69,0,17,0 31,0,41,0,67,0,2,0,5,0,26,0 58,0,24,0,8,0,21,0,61,0,40,0 50,0,64,0,3,0,52,0,65,0,1,0 29,0,18,0,63,0,43,0,39,0,33,0 32,0,19,0,27,0,54,0,36,0,6,0 14,0,11,0,53,0,62,0,10,0,16,0 69,0,38,0,2,0,25,0,66,0,55,0 34,0,17,0,42,0,28,0,68,0,30,0 60,0,15,0,47,0,37,0,23,0,7,0 31,0,13,0,71,0,44,0,22,0,46,0 49,0,56,0,41,0,35,0,48,0,51,0 12,0,45,0,59,0,4,0,57,0,67,0 20,0,70,0,16,0,5,0,9,0,55,0 1,1,29,0,17,0,23,1,10,0,19,0 14,0,28,0,66,0,52,0,27,0,8,0 44,0,6,0,50,0,42,0,24,0,25,0 3,0,26,0,48,0,12,0,39,0,22,0 30,0,65,0,71,0,41,0,36,0,61,0 15,0,67,0,63,0,38,0,20,0,51,0 43,0,56,0,13,0,62,0,37,0,34,0 7,0,49,0,9,0,59,0,11,0,40,0 5,0,21,0,32,0,64,0,18,0,57,0 35,0,47,0,69,0,4,0,46,0,70,0 54,0,33,0,53,0,31,0,60,0,58,0 68,0,45,0,24,0,2,0,10,0,20,0 37,0,17,0,44,0,3,0,55,0,41,0 36,0,5,0,65,0,13,0,63,0,11,0 35,0,19,0,38,0,14,0,40,0,34,0 67,0,27,0,9,0,29,0,69,0,62,0 22,0,30,0,51,0,52,0,23,0,57,0 6,0,1,0,60,0,46,0,59,0,48,0 12,0,33,0,47,0,2,0,8,0,49,0 54,0,31,0,18,0,66,0,15,0,68,0 43,0,26,0,70,0,53,0,28,0,50,0 61,0,64,0,7,0,56,0,25,0,45,0 16,0,42,0,39,0,58,0,32,0,4,0 21,0,38,0,9,0,71,0,12,0,17,0 3,0,47,0,40,0,30,0,10,0,6,0 62,0,54,0,63,0,57,0,28,0,41,0 8,0,69,0,56,0,19,0,20,0,31,0 66,0,61,0,59,0,29,0,42,0,26,0 7,0,2,0,36,0,44,0,1,0,18,0 71,0,55,0,39,0,49,0,24,0,15,0 35,0,60,0,43,0,65,0,22,0,45,0 52,0,53,0,37,0,46,0,25,0,5,0 33,0,13,0,51,0,4,0,27,0,21,0 32,0,11,0,48,0,34,0,50,0,67,0 68,0,23,0,70,0,64,0,14,0,58,0 20,0,29,0,22,0,16,0,49,0,54,0 2,0,46,0,63,0,3,0,19,0,42,0 28,0,37,0,10,0,69,0,21,0,59,0 38,0,27,0,44,0,30,0,56,0,11,0 4,0,34,0,41,0,53,0,7,0,24,0 47,0,55,0,67,0,33,0,68,0,52,0 12,0,14,0,1,0,15,0,32,0,43,0 40,0,71,0,62,0,66,0,60,0,64,0 23,0,8,0,5,0,39,0,35,0,50,0 25,0,70,0,48,0,31,0,57,0,65,0 9,0,45,0,26,0,36,0,58,0,51,0 16,0,61,0,6,0,17,0,18,0,13,0 10,0,64,0,44,0,43,0,49,0,67,0 21,0,30,0,66,0,63,0,35,0,7,0 29,0,56,0,40,0,52,0,32,0,70,0 15,0,41,0,46,0,50,0,45,0,27,0 26,0,57,0,71,0,16,0,8,0,34,0 48,0,37,0,20,0,33,0,14,0,61,0 12,0,23,0,31,0,6,0,55,0,11,0 3,0,18,0,4,0,25,0,60,0,28,0 59,0,17,0,58,0,2,0,62,0,65,0 51,0,1,0,69,0,5,0,24,0,54,0 36,0,38,0,42,0,22,0,53,0,47,0 68,0,19,0,39,0,13,0,9,0,41,0 57,0,11,0,15,0,3,0,35,0,61,0 70,0,34,0,10,0,18,0,27,0,12,0 66,0,5,0,48,0,4,0,17,0,43,0 67,0,25,0,22,0,1,0,58,0,63,0 32,0,31,0,24,0,28,0,47,0,9,0 8,0,55,0,36,0,46,0,64,0,29,0 33,0,40,0,69,0,23,0,42,0,65,0 16,0,50,0,56,0,21,0,68,0,60,0 7,0,62,0,52,0,26,0,20,0,6,0 53,0,19,0,51,0,44,0,59,0,71,0 39,0,30,0,54,0,2,0,14,0,37,0 13,0,49,0,1,0,45,0,38,0,23,0 ================================================ FILE: schedules/71_9.csv ================================================ 50,0,36,0,19,0,20,0,47,0,5,0 51,0,59,0,23,0,30,0,12,0,27,0 58,0,29,0,54,0,43,0,38,0,61,0 56,0,4,0,26,0,68,0,41,0,66,0 13,0,53,0,44,0,52,0,42,0,28,0 21,0,3,0,37,0,22,0,63,0,16,0 2,0,33,0,67,0,10,0,34,0,60,0 57,0,49,0,71,0,6,0,32,0,18,0 69,0,62,0,64,0,55,0,17,0,31,0 65,0,8,0,24,0,7,0,14,0,48,0 39,0,40,0,11,0,1,0,46,0,15,0 9,0,70,0,35,0,45,0,25,0,10,0 3,0,13,0,6,0,50,0,43,0,60,0 31,0,22,0,66,0,61,0,41,0,51,0 12,0,33,0,21,0,62,0,54,0,32,0 34,0,14,0,30,0,15,0,5,0,68,0 69,0,25,0,38,0,49,0,44,0,63,0 8,0,19,0,11,0,28,0,2,0,17,0 56,0,47,0,40,0,37,0,9,0,67,0 4,0,1,0,59,0,45,0,53,0,36,0 55,0,18,0,46,0,52,0,7,0,16,0 42,0,57,0,27,0,26,0,65,0,48,0 35,0,24,0,71,0,20,0,39,0,29,0 23,0,64,0,60,0,70,0,58,0,47,0 67,1,53,0,31,0,14,1,6,0,15,0 51,1,11,0,4,0,18,0,37,0,34,0 13,0,25,0,1,0,66,0,30,0,57,0 27,0,36,0,46,0,29,0,8,0,49,0 58,0,19,0,24,0,32,0,35,0,69,0 22,0,20,0,2,0,43,0,9,0,12,0 10,0,39,0,61,0,5,0,63,0,56,0 23,0,48,0,33,0,40,0,44,0,16,0 21,0,28,0,7,0,38,0,71,0,26,0 64,0,41,0,3,0,59,0,54,0,42,0 68,0,45,0,65,0,62,0,52,0,50,0 17,0,70,0,29,0,55,0,6,0,51,0 18,0,44,0,67,0,22,0,39,0,36,0 63,0,46,0,60,0,14,0,28,0,66,0 9,0,34,0,61,0,30,0,19,0,26,0 41,0,15,0,47,0,8,0,71,0,62,0 31,0,52,0,35,0,4,0,33,0,3,0 5,0,17,0,7,0,37,0,58,0,42,0 57,0,24,0,54,0,11,0,59,0,56,0 20,0,25,0,53,0,32,0,65,0,23,0 69,0,27,0,16,0,68,0,2,0,13,0 55,0,49,0,45,0,43,0,21,0,40,0 70,0,50,0,12,0,48,0,1,0,38,0 64,0,57,0,36,0,10,0,51,0,52,0 60,0,25,0,41,0,61,0,15,0,7,0 58,0,6,0,63,0,8,0,33,0,22,0 27,0,55,0,20,0,3,0,66,0,44,0 1,0,43,0,14,0,35,0,26,0,62,0 45,0,64,0,12,0,46,0,34,0,24,0 30,0,70,0,38,0,53,0,2,0,11,0 31,0,50,0,32,0,16,0,9,0,56,0 19,0,68,0,21,0,23,0,42,0,67,0 4,0,28,0,47,0,49,0,54,0,39,0 5,0,59,0,65,0,69,0,40,0,71,0 10,0,37,0,48,0,13,0,18,0,29,0 17,0,66,0,36,0,33,0,9,0,38,0 25,0,43,0,68,0,21,0,46,0,31,0 1,0,22,0,61,0,42,0,47,0,24,0 40,0,32,0,63,0,70,0,41,0,34,0 50,0,2,0,44,0,57,0,4,0,14,0 51,0,48,0,45,0,54,0,55,0,19,0 5,0,29,0,26,0,64,0,13,0,49,0 23,0,28,0,16,0,15,0,35,0,17,0 71,0,67,0,11,0,52,0,58,0,27,0 10,0,62,0,20,0,59,0,6,0,7,0 56,0,30,0,69,0,8,0,18,0,3,0 12,0,60,0,37,0,53,0,39,0,65,0 42,0,15,0,2,0,45,0,29,0,32,0 22,0,35,0,64,0,27,0,50,0,11,0 66,0,16,0,54,0,5,0,67,0,70,0 24,0,17,0,44,0,10,0,30,0,41,0 18,0,58,0,26,0,12,0,31,0,40,0 53,0,7,0,34,0,47,0,69,0,57,0 39,0,33,0,59,0,55,0,25,0,14,0 46,0,38,0,6,0,65,0,19,0,3,0 13,0,61,0,8,0,23,0,4,0,21,0 9,0,63,0,51,0,71,0,1,0,68,0 48,0,49,0,52,0,56,0,20,0,60,0 43,0,62,0,30,0,28,0,36,0,37,0 47,0,32,0,14,0,17,0,3,0,45,0 42,0,16,0,6,0,25,0,11,0,12,0 10,0,54,0,26,0,46,0,50,0,71,0 24,0,38,0,5,0,27,0,60,0,31,0 56,0,15,0,13,0,51,0,65,0,36,0 68,0,9,0,59,0,58,0,44,0,48,0 66,0,52,0,39,0,21,0,8,0,34,0 67,0,43,0,63,0,4,0,64,0,7,0 29,0,62,0,40,0,53,0,22,0,19,0 61,0,70,0,33,0,69,0,20,0,28,0 18,0,49,0,1,0,23,0,41,0,2,0 55,0,37,0,68,0,57,0,35,0,38,0 56,0,54,0,34,0,27,0,17,0,25,0 12,0,52,0,15,0,66,0,47,0,43,0 8,0,51,0,16,0,60,0,59,0,26,0 18,0,5,0,9,0,24,0,53,0,21,0 57,0,3,0,39,0,70,0,62,0,23,0 7,0,41,0,67,0,33,0,29,0,50,0 44,0,19,0,14,0,37,0,64,0,71,0 35,0,36,0,2,0,6,0,40,0,61,0 65,0,10,0,28,0,1,0,58,0,55,0 63,0,31,0,11,0,20,0,45,0,13,0 32,0,4,0,48,0,30,0,46,0,22,0 42,0,14,0,51,0,49,0,69,0,67,0 ================================================ FILE: schedules/72_1.csv ================================================ 38,0,56,0,25,0,7,0,62,0,12,0 5,0,36,0,34,0,24,0,35,0,30,0 16,0,9,0,45,0,26,0,11,0,69,0 44,0,13,0,51,0,33,0,49,0,39,0 60,0,37,0,63,0,40,0,17,0,72,0 61,0,20,0,1,0,14,0,58,0,6,0 4,0,68,0,48,0,71,0,18,0,28,0 41,0,65,0,70,0,52,0,47,0,3,0 2,0,8,0,27,0,29,0,43,0,64,0 10,0,67,0,42,0,21,0,46,0,23,0 53,0,59,0,15,0,19,0,57,0,66,0 31,0,54,0,32,0,50,0,55,0,22,0 ================================================ FILE: schedules/72_10.csv ================================================ 22,0,51,0,71,0,55,0,21,0,19,0 34,0,16,0,20,0,56,0,12,0,9,0 11,0,33,0,66,0,64,0,2,0,63,0 14,0,41,0,62,0,70,0,61,0,28,0 43,0,18,0,25,0,4,0,57,0,5,0 46,0,60,0,68,0,26,0,8,0,44,0 58,0,54,0,53,0,13,0,29,0,17,0 1,0,39,0,59,0,40,0,52,0,47,0 37,0,24,0,67,0,6,0,38,0,42,0 30,0,31,0,50,0,36,0,32,0,7,0 48,0,72,0,35,0,3,0,45,0,27,0 49,0,15,0,65,0,69,0,23,0,10,0 4,0,62,0,8,0,63,0,5,0,11,0 60,0,21,0,56,0,17,0,40,0,18,0 28,0,1,0,52,0,20,0,67,0,57,0 38,0,64,0,39,0,36,0,22,0,54,0 42,0,47,0,2,0,12,0,58,0,71,0 9,0,48,0,66,0,15,0,19,0,37,0 7,0,34,0,6,0,27,0,72,0,59,0 24,0,3,0,65,0,70,0,44,0,14,0 61,0,30,0,53,0,33,0,25,0,35,0 29,0,16,0,49,0,46,0,31,0,55,0 13,0,26,0,68,0,45,0,10,0,43,0 69,0,41,0,51,0,50,0,32,0,23,0 56,0,59,0,4,0,67,0,64,0,42,0 40,0,70,0,5,0,20,0,58,0,15,0 6,0,48,0,17,0,71,0,14,0,36,0 22,0,34,0,31,0,18,0,53,0,60,0 55,0,10,0,33,0,47,0,7,0,35,0 11,0,26,0,27,0,41,0,25,0,16,0 9,0,49,0,50,0,54,0,62,0,68,0 2,0,8,0,1,0,45,0,65,0,37,0 57,0,23,0,44,0,61,0,39,0,12,0 52,0,51,0,32,0,72,0,66,0,24,0 69,0,63,0,43,0,28,0,19,0,29,0 38,0,13,0,21,0,3,0,46,0,30,0 54,0,27,0,60,0,20,0,71,0,62,0 64,0,47,0,53,0,50,0,45,0,8,0 2,0,67,0,18,0,61,0,40,0,23,0 26,0,56,0,70,0,55,0,39,0,6,0 42,0,25,0,9,0,14,0,17,0,10,0 37,0,69,0,7,0,44,0,13,0,41,0 52,0,15,0,43,0,3,0,38,0,34,0 36,0,35,0,16,0,63,0,21,0,59,0 46,0,19,0,12,0,5,0,32,0,1,0 4,0,28,0,72,0,49,0,22,0,66,0 31,0,58,0,33,0,51,0,57,0,24,0 65,0,11,0,30,0,68,0,48,0,29,0 40,0,71,0,50,0,3,0,37,0,26,0 21,0,14,0,39,0,43,0,27,0,53,0 36,0,42,0,69,0,46,0,5,0,34,0 35,0,54,0,6,0,19,0,8,0,52,0 58,0,38,0,63,0,61,0,9,0,72,0 33,0,65,0,64,0,49,0,41,0,18,0 20,0,51,0,29,0,7,0,2,0,4,0 68,0,16,0,17,0,15,0,32,0,47,0 30,0,60,0,12,0,55,0,24,0,28,0 45,0,66,0,1,0,23,0,56,0,25,0 48,0,57,0,31,0,59,0,44,0,62,0 10,0,13,0,70,0,11,0,67,0,22,0 52,0,5,0,26,0,64,0,7,0,9,0 54,0,37,0,20,0,47,0,18,0,16,0 65,0,38,0,32,0,28,0,35,0,71,0 30,0,24,0,49,0,41,0,39,0,34,0 6,0,44,0,40,0,51,0,63,0,53,0 29,0,8,0,3,0,56,0,36,0,33,0 58,0,45,0,19,0,62,0,10,0,67,0 17,0,46,0,23,0,11,0,43,0,72,0 57,0,42,0,21,0,2,0,48,0,70,0 27,0,31,0,4,0,15,0,61,0,1,0 25,0,12,0,68,0,22,0,59,0,69,0 66,0,14,0,13,0,50,0,55,0,60,0 71,0,44,0,45,0,16,0,33,0,5,0 11,0,3,0,23,0,20,0,6,0,30,0 32,0,9,0,62,0,40,0,39,0,8,0 27,0,29,0,10,0,64,0,37,0,57,0 61,0,56,0,43,0,48,0,22,0,7,0 47,0,67,0,72,0,31,0,69,0,21,0 12,0,54,0,41,0,35,0,15,0,66,0 53,0,59,0,50,0,38,0,70,0,24,0 17,0,34,0,26,0,28,0,13,0,51,0 58,0,14,0,65,0,52,0,4,0,46,0 55,0,63,0,68,0,42,0,1,0,18,0 2,0,60,0,36,0,19,0,49,0,25,0 23,0,22,0,27,0,8,0,31,0,9,0 5,0,66,0,61,0,10,0,6,0,59,0 48,0,40,0,28,0,16,0,64,0,13,0 37,0,46,0,43,0,51,0,35,0,70,0 67,0,54,0,34,0,14,0,33,0,63,0 21,0,24,0,71,0,7,0,68,0,1,0 62,0,2,0,56,0,30,0,52,0,69,0 18,0,32,0,55,0,36,0,44,0,58,0 15,0,72,0,39,0,29,0,50,0,25,0 12,0,38,0,45,0,49,0,17,0,11,0 19,0,53,0,20,0,42,0,26,0,65,0 41,0,57,0,60,0,3,0,47,0,4,0 66,0,7,0,16,0,70,0,8,0,69,0 67,0,52,0,27,0,30,0,68,0,44,0 1,0,25,0,6,0,34,0,64,0,58,0 39,0,35,0,11,0,71,0,18,0,31,0 40,0,29,0,14,0,38,0,22,0,5,0 23,0,47,0,24,0,13,0,19,0,4,0 72,0,62,0,37,0,36,0,12,0,53,0 46,0,28,0,10,0,54,0,50,0,2,0 20,0,63,0,17,0,48,0,55,0,41,0 3,0,15,0,42,0,51,0,61,0,45,0 9,0,33,0,59,0,43,0,60,0,65,0 49,0,56,0,57,0,32,0,21,0,26,0 19,0,14,0,64,0,31,0,68,0,72,0 52,0,70,0,18,0,12,0,13,0,27,0 22,0,2,0,16,0,41,0,6,0,24,0 47,0,44,0,29,0,62,0,34,0,66,0 43,0,8,0,35,0,58,0,42,0,50,0 1,0,38,0,51,0,10,0,60,0,48,0 36,0,30,0,4,0,26,0,45,0,9,0 59,0,20,0,25,0,63,0,49,0,32,0 23,0,5,0,28,0,33,0,21,0,37,0 71,0,15,0,57,0,53,0,56,0,46,0 11,0,61,0,55,0,69,0,40,0,54,0 3,0,39,0,7,0,67,0,65,0,17,0 ================================================ FILE: schedules/72_11.csv ================================================ 66,0,22,0,10,0,32,0,27,0,63,0 69,0,4,0,18,0,23,0,19,0,59,0 49,0,41,0,52,0,6,0,26,0,48,0 44,0,71,0,31,0,42,0,47,0,7,0 17,0,58,0,13,0,43,0,61,0,14,0 9,0,70,0,72,0,8,0,54,0,45,0 64,0,15,0,38,0,24,0,16,0,20,0 21,0,12,0,60,0,46,0,53,0,35,0 39,0,28,0,50,0,57,0,11,0,5,0 36,0,34,0,33,0,2,0,65,0,29,0 56,0,55,0,37,0,62,0,25,0,67,0 1,0,3,0,51,0,30,0,68,0,40,0 27,0,45,0,18,0,20,0,47,0,49,0 8,0,70,0,23,0,12,0,52,0,43,0 54,0,16,0,69,0,58,0,14,0,31,0 60,0,32,0,34,0,33,0,6,0,9,0 21,0,4,0,37,0,24,0,2,0,7,0 57,0,29,0,62,0,67,0,64,0,68,0 5,0,50,0,17,0,51,0,36,0,53,0 15,0,25,0,42,0,26,0,72,0,22,0 40,0,35,0,39,0,59,0,48,0,10,0 55,0,13,0,46,0,71,0,41,0,30,0 65,0,28,0,56,0,19,0,63,0,38,0 66,0,44,0,1,0,61,0,3,0,11,0 34,0,6,0,67,0,47,0,68,0,17,0 23,0,16,0,14,0,22,0,49,0,57,0 5,0,18,0,32,0,48,0,70,0,21,0 60,0,13,0,25,0,51,0,2,0,52,0 65,0,7,0,41,0,69,0,72,0,27,0 28,0,30,0,59,0,12,0,9,0,44,0 29,0,58,0,42,0,4,0,38,0,66,0 64,0,50,0,1,0,55,0,8,0,63,0 40,0,53,0,61,0,26,0,71,0,37,0 35,0,33,0,3,0,39,0,62,0,54,0 15,0,11,0,24,0,31,0,45,0,10,0 36,0,43,0,20,0,56,0,46,0,19,0 47,0,14,0,66,0,5,0,65,0,59,0 2,0,55,0,23,0,29,0,72,0,68,0 53,0,58,0,12,0,57,0,1,0,25,0 52,0,39,0,63,0,37,0,16,0,7,0 38,0,10,0,30,0,8,0,61,0,18,0 64,0,36,0,9,0,49,0,27,0,71,0 21,0,42,0,56,0,11,0,54,0,6,0 41,0,19,0,70,0,60,0,3,0,24,0 45,0,69,0,32,0,26,0,44,0,62,0 50,0,15,0,33,0,67,0,43,0,46,0 48,0,20,0,40,0,17,0,28,0,22,0 35,0,51,0,13,0,31,0,4,0,34,0 23,0,63,0,54,0,36,0,47,0,25,0 14,0,52,0,24,0,18,0,55,0,66,0 71,0,45,0,19,0,1,0,5,0,38,0 16,0,67,0,2,0,53,0,9,0,10,0 61,0,46,0,30,0,22,0,70,0,64,0 8,0,65,0,4,0,6,0,20,0,3,0 62,0,60,0,72,0,49,0,40,0,50,0 56,0,26,0,29,0,17,0,12,0,31,0 35,0,68,0,44,0,37,0,41,0,58,0 27,0,48,0,7,0,33,0,51,0,11,0 28,0,21,0,32,0,13,0,15,0,39,0 43,0,34,0,42,0,69,0,59,0,57,0 19,0,62,0,14,0,2,0,6,0,47,0 20,0,72,0,12,0,16,0,5,0,61,0 54,0,17,0,52,0,44,0,64,0,30,0 33,0,53,0,68,0,40,0,63,0,66,0 51,0,15,0,27,0,35,0,56,0,23,0 36,0,48,0,57,0,8,0,59,0,13,0 32,0,7,0,25,0,45,0,50,0,41,0 37,0,11,0,69,0,60,0,70,0,38,0 67,0,49,0,1,0,65,0,24,0,42,0 4,0,9,0,55,0,22,0,31,0,39,0 10,0,34,0,26,0,46,0,58,0,21,0 29,0,3,0,43,0,28,0,71,0,18,0 2,0,57,0,20,0,7,0,54,0,66,0 38,0,68,0,59,0,70,0,27,0,52,0 19,0,16,0,36,0,40,0,32,0,11,0 9,0,1,0,24,0,50,0,35,0,69,0 33,0,13,0,23,0,45,0,56,0,44,0 3,0,4,0,49,0,5,0,15,0,55,0 28,0,72,0,34,0,26,0,64,0,14,0 41,0,42,0,17,0,62,0,10,0,8,0 71,0,43,0,21,0,25,0,30,0,65,0 6,0,53,0,39,0,29,0,51,0,61,0 63,0,18,0,22,0,60,0,67,0,58,0 47,0,31,0,48,0,46,0,37,0,12,0 7,0,56,0,36,0,9,0,68,0,14,0 4,0,50,0,10,0,33,0,52,0,28,0 26,0,43,0,49,0,44,0,38,0,54,0 53,0,57,0,30,0,41,0,15,0,6,0 61,0,35,0,45,0,19,0,55,0,42,0 27,0,37,0,60,0,13,0,29,0,1,0 69,0,51,0,47,0,21,0,22,0,8,0 2,0,11,0,18,0,64,0,12,0,32,0 25,0,59,0,3,0,16,0,17,0,46,0 63,0,5,0,20,0,24,0,34,0,62,0 67,0,65,0,23,0,40,0,70,0,31,0 66,0,71,0,58,0,72,0,39,0,48,0 30,0,19,0,49,0,33,0,7,0,29,0 10,0,64,0,41,0,43,0,56,0,47,0 54,0,55,0,59,0,28,0,53,0,60,0 6,0,22,0,68,0,13,0,24,0,12,0 40,0,46,0,5,0,52,0,69,0,42,0 38,0,35,0,8,0,14,0,67,0,32,0 63,0,36,0,31,0,72,0,3,0,21,0 20,0,66,0,11,0,23,0,26,0,9,0 61,0,1,0,62,0,4,0,16,0,48,0 44,0,25,0,27,0,39,0,34,0,18,0 50,0,2,0,71,0,15,0,58,0,70,0 57,0,51,0,17,0,37,0,45,0,65,0 13,0,47,0,38,0,7,0,53,0,3,0 46,0,8,0,69,0,49,0,28,0,66,0 31,0,59,0,1,0,41,0,33,0,20,0 67,0,24,0,26,0,39,0,36,0,30,0 25,0,22,0,54,0,5,0,10,0,29,0 52,0,56,0,32,0,61,0,57,0,71,0 65,0,62,0,68,0,18,0,60,0,15,0 11,0,63,0,72,0,17,0,35,0,4,0 37,0,14,0,42,0,27,0,12,0,50,0 21,0,19,0,9,0,64,0,23,0,48,0 70,0,55,0,16,0,34,0,44,0,51,0 40,0,45,0,6,0,2,0,43,0,58,0 49,0,61,0,31,0,25,0,68,0,28,0 62,0,22,0,11,0,52,0,65,0,53,0 71,0,67,0,12,0,41,0,54,0,4,0 13,0,37,0,64,0,69,0,33,0,10,0 9,0,51,0,18,0,42,0,63,0,46,0 7,0,70,0,6,0,36,0,55,0,1,0 3,0,48,0,30,0,56,0,50,0,34,0 58,0,72,0,24,0,47,0,32,0,59,0 26,0,57,0,8,0,5,0,27,0,19,0 16,0,43,0,45,0,35,0,21,0,66,0 60,0,39,0,2,0,17,0,38,0,23,0 44,0,40,0,29,0,20,0,14,0,15,0 ================================================ FILE: schedules/72_12.csv ================================================ 65,0,55,0,60,0,41,0,13,0,51,0 36,0,45,0,34,0,5,0,32,0,43,0 52,0,30,0,20,0,18,0,49,0,59,0 29,0,33,0,66,0,9,0,62,0,50,0 53,0,22,0,68,0,40,0,17,0,44,0 15,0,2,0,1,0,28,0,3,0,11,0 25,0,58,0,10,0,54,0,19,0,47,0 46,0,67,0,23,0,70,0,39,0,57,0 8,0,72,0,12,0,21,0,37,0,42,0 7,0,27,0,14,0,16,0,26,0,31,0 56,0,64,0,4,0,48,0,38,0,61,0 69,0,24,0,6,0,35,0,71,0,63,0 25,0,9,0,19,0,34,0,41,0,22,0 30,0,57,0,32,0,52,0,43,0,1,0 44,0,21,0,36,0,18,0,39,0,2,0 29,0,31,0,8,0,66,0,55,0,5,0 4,0,17,0,53,0,65,0,28,0,7,0 6,0,61,0,68,0,50,0,11,0,42,0 27,0,49,0,45,0,24,0,33,0,35,0 63,0,14,0,64,0,58,0,13,0,67,0 38,0,20,0,40,0,37,0,10,0,16,0 54,0,59,0,23,0,12,0,69,0,26,0 51,0,72,0,62,0,3,0,56,0,46,0 71,0,47,0,15,0,48,0,70,0,60,0 19,0,28,0,4,0,39,0,55,0,30,0 22,0,21,0,5,0,1,0,35,0,50,0 41,0,29,0,16,0,17,0,24,0,49,0 66,0,14,0,25,0,59,0,40,0,32,0 37,0,57,0,61,0,2,0,58,0,6,0 43,0,64,0,62,0,63,0,7,0,60,0 15,0,27,0,67,0,56,0,54,0,52,0 47,0,68,0,13,0,18,0,12,0,46,0 36,0,48,0,69,0,8,0,33,0,10,0 34,0,26,0,72,0,53,0,70,0,20,0 51,0,9,0,44,0,45,0,42,0,71,0 31,0,11,0,65,0,23,0,3,0,38,0 66,0,56,0,30,0,6,0,22,0,7,0 16,0,62,0,59,0,58,0,39,0,47,0 4,0,33,0,69,0,12,0,25,0,57,0 5,0,28,0,61,0,20,0,54,0,10,0 67,0,19,0,1,0,68,0,26,0,51,0 36,0,55,0,32,0,53,0,50,0,65,0 34,0,8,0,60,0,23,0,24,0,11,0 46,0,45,0,48,0,2,0,14,0,17,0 35,0,52,0,9,0,43,0,31,0,72,0 63,0,49,0,40,0,38,0,15,0,44,0 41,0,3,0,42,0,21,0,18,0,71,0 37,0,29,0,70,0,27,0,13,0,64,0 16,0,56,0,22,0,23,0,32,0,33,0 55,0,53,0,10,0,2,0,67,0,24,0 48,0,25,0,11,0,62,0,30,0,36,0 60,0,1,0,61,0,69,0,72,0,45,0 47,0,50,0,41,0,57,0,31,0,44,0 5,0,6,0,63,0,68,0,28,0,70,0 18,0,3,0,29,0,35,0,26,0,8,0 37,0,19,0,34,0,49,0,52,0,4,0 43,0,14,0,71,0,27,0,20,0,39,0 59,0,64,0,46,0,65,0,42,0,15,0 9,0,13,0,40,0,7,0,21,0,54,0 58,0,17,0,66,0,51,0,12,0,38,0 18,0,50,0,10,0,63,0,56,0,45,0 26,0,48,0,67,0,31,0,37,0,5,0 71,0,23,0,55,0,72,0,49,0,14,0 65,0,20,0,19,0,62,0,24,0,44,0 40,0,8,0,3,0,64,0,30,0,41,0 32,0,2,0,11,0,12,0,4,0,29,0 54,0,9,0,53,0,6,0,59,0,1,0 33,0,52,0,28,0,61,0,66,0,47,0 60,0,16,0,15,0,36,0,35,0,57,0 43,0,70,0,21,0,17,0,25,0,51,0 38,0,22,0,69,0,46,0,68,0,7,0 42,0,39,0,13,0,27,0,34,0,58,0 72,0,59,0,2,0,41,0,67,0,6,0 5,0,4,0,47,0,64,0,9,0,23,0 62,0,8,0,49,0,32,0,54,0,31,0 45,0,11,0,43,0,66,0,53,0,48,0 65,0,14,0,18,0,19,0,10,0,57,0 50,0,17,0,15,0,69,0,13,0,20,0 39,0,51,0,3,0,37,0,52,0,22,0 35,0,34,0,12,0,56,0,44,0,55,0 26,0,63,0,46,0,16,0,30,0,61,0 21,0,25,0,38,0,28,0,27,0,60,0 24,0,40,0,1,0,70,0,42,0,33,0 71,0,29,0,7,0,68,0,58,0,36,0 20,0,4,0,31,0,6,0,13,0,45,0 44,0,64,0,54,0,11,0,72,0,17,0 50,0,30,0,51,0,35,0,16,0,14,0 60,0,25,0,3,0,9,0,12,0,61,0 21,0,39,0,56,0,26,0,53,0,49,0 7,0,59,0,33,0,46,0,10,0,34,0 63,0,70,0,8,0,52,0,19,0,2,0 32,0,41,0,58,0,68,0,5,0,15,0 66,0,62,0,65,0,71,0,37,0,69,0 28,0,40,0,67,0,29,0,36,0,23,0 18,0,47,0,43,0,38,0,55,0,1,0 24,0,27,0,42,0,22,0,48,0,57,0 60,0,10,0,30,0,31,0,34,0,17,0 70,0,11,0,7,0,39,0,41,0,14,0 32,0,51,0,49,0,2,0,69,0,64,0 65,0,23,0,26,0,52,0,45,0,58,0 15,0,8,0,55,0,68,0,16,0,9,0 27,0,18,0,62,0,72,0,40,0,5,0 46,0,24,0,37,0,50,0,25,0,54,0 33,0,57,0,53,0,71,0,3,0,20,0 38,0,35,0,6,0,48,0,12,0,19,0 1,0,66,0,21,0,4,0,36,0,63,0 22,0,47,0,44,0,61,0,67,0,29,0 59,0,42,0,56,0,28,0,13,0,43,0 58,0,70,0,18,0,69,0,9,0,31,0 5,0,50,0,46,0,52,0,40,0,60,0 35,0,25,0,2,0,23,0,7,0,20,0 49,0,39,0,6,0,8,0,1,0,65,0 10,0,22,0,26,0,71,0,11,0,4,0 13,0,16,0,48,0,66,0,3,0,44,0 29,0,57,0,14,0,63,0,54,0,34,0 42,0,17,0,38,0,62,0,67,0,33,0 24,0,72,0,32,0,28,0,59,0,51,0 61,0,64,0,45,0,19,0,21,0,55,0 68,0,41,0,37,0,36,0,56,0,43,0 12,0,47,0,27,0,15,0,53,0,30,0 13,0,2,0,71,0,1,0,5,0,16,0 20,0,9,0,34,0,63,0,65,0,48,0 18,0,54,0,67,0,66,0,60,0,32,0 50,0,19,0,23,0,7,0,3,0,17,0 45,0,41,0,35,0,28,0,37,0,62,0 24,0,51,0,36,0,38,0,47,0,30,0 69,0,14,0,52,0,29,0,42,0,53,0 10,0,43,0,12,0,70,0,22,0,49,0 39,0,33,0,31,0,72,0,68,0,64,0 56,0,58,0,57,0,11,0,40,0,21,0 4,0,44,0,61,0,27,0,59,0,8,0 6,0,26,0,55,0,15,0,25,0,46,0 17,0,35,0,13,0,47,0,32,0,9,0 30,0,22,0,54,0,70,0,2,0,65,0 53,0,36,0,31,0,42,0,19,0,63,0 49,0,69,0,16,0,67,0,11,0,5,0 28,0,71,0,12,0,64,0,8,0,50,0 61,0,34,0,51,0,40,0,18,0,15,0 60,0,44,0,43,0,58,0,33,0,26,0 23,0,21,0,52,0,6,0,10,0,62,0 20,0,1,0,41,0,27,0,46,0,66,0 38,0,39,0,72,0,29,0,25,0,45,0 68,0,24,0,56,0,4,0,14,0,3,0 55,0,57,0,7,0,37,0,59,0,48,0 ================================================ FILE: schedules/72_13.csv ================================================ 19,0,33,0,70,0,63,0,44,0,9,0 51,0,17,0,3,0,38,0,32,0,39,0 64,0,48,0,61,0,10,0,22,0,52,0 36,0,25,0,24,0,27,0,23,0,54,0 57,0,47,0,59,0,7,0,58,0,21,0 20,0,12,0,56,0,45,0,41,0,8,0 2,0,43,0,60,0,72,0,50,0,65,0 68,0,42,0,11,0,67,0,69,0,34,0 28,0,29,0,15,0,53,0,40,0,31,0 1,0,35,0,62,0,66,0,49,0,30,0 37,0,14,0,13,0,16,0,6,0,18,0 55,0,4,0,26,0,71,0,5,0,46,0 51,0,54,0,2,0,33,0,7,0,8,0 11,0,60,0,22,0,3,0,45,0,56,0 31,0,47,0,72,0,42,0,38,0,64,0 44,0,49,0,53,0,65,0,25,0,41,0 68,0,15,0,70,0,66,0,58,0,1,0 19,0,18,0,55,0,27,0,67,0,29,0 34,0,40,0,30,0,17,0,14,0,24,0 57,0,61,0,5,0,20,0,50,0,63,0 6,0,10,0,12,0,28,0,39,0,43,0 52,0,36,0,48,0,26,0,9,0,13,0 32,0,37,0,23,0,21,0,62,0,71,0 69,0,35,0,59,0,16,0,46,0,4,0 55,0,31,0,15,0,25,0,34,0,22,0 66,0,70,0,17,0,2,0,64,0,29,0 43,0,5,0,27,0,7,0,61,0,60,0 51,0,48,0,50,0,42,0,19,0,14,0 58,0,36,0,54,0,67,0,62,0,65,0 37,0,21,0,63,0,52,0,56,0,30,0 9,0,72,0,11,0,1,0,32,0,4,0 44,0,47,0,20,0,13,0,3,0,59,0 71,0,57,0,33,0,39,0,41,0,53,0 18,0,10,0,40,0,45,0,26,0,69,0 8,0,6,0,28,0,23,0,35,0,46,0 24,0,38,0,49,0,12,0,68,0,16,0 7,0,19,0,36,0,15,0,37,0,66,0 58,0,9,0,42,0,63,0,17,0,29,0 30,0,11,0,32,0,13,0,39,0,50,0 4,0,33,0,10,0,25,0,70,0,60,0 21,0,53,0,27,0,35,0,72,0,5,0 26,0,14,0,28,0,22,0,54,0,59,0 51,0,56,0,46,0,43,0,47,0,68,0 44,0,48,0,57,0,71,0,12,0,49,0 41,0,3,0,40,0,67,0,64,0,8,0 55,0,45,0,1,0,31,0,62,0,24,0 18,0,38,0,69,0,65,0,61,0,23,0 2,0,34,0,6,0,16,0,20,0,52,0 29,0,60,0,68,0,14,0,30,0,36,0 28,0,63,0,66,0,21,0,44,0,13,0 59,0,25,0,17,0,72,0,37,0,8,0 41,0,26,0,22,0,51,0,7,0,1,0 45,0,23,0,53,0,61,0,47,0,70,0 43,0,16,0,38,0,15,0,32,0,67,0 31,0,18,0,20,0,58,0,48,0,11,0 4,0,49,0,56,0,39,0,40,0,55,0 10,0,27,0,69,0,52,0,57,0,2,0 35,0,12,0,19,0,54,0,42,0,3,0 24,0,65,0,5,0,71,0,6,0,9,0 62,0,50,0,46,0,64,0,34,0,33,0 61,0,16,0,58,0,66,0,44,0,26,0 25,0,40,0,28,0,11,0,38,0,51,0 52,0,29,0,53,0,32,0,22,0,20,0 15,0,60,0,18,0,57,0,42,0,39,0 56,0,65,0,27,0,59,0,71,0,19,0 10,0,72,0,62,0,41,0,46,0,68,0 24,0,13,0,7,0,64,0,31,0,14,0 55,0,67,0,54,0,63,0,6,0,47,0 33,0,43,0,1,0,21,0,48,0,17,0 9,0,50,0,45,0,37,0,35,0,49,0 30,0,70,0,5,0,36,0,8,0,69,0 34,0,12,0,3,0,4,0,23,0,2,0 68,0,26,0,64,0,19,0,27,0,20,0 32,0,40,0,52,0,60,0,57,0,66,0 17,0,22,0,62,0,25,0,18,0,47,0 46,0,9,0,53,0,38,0,21,0,45,0 8,0,14,0,15,0,24,0,55,0,44,0 28,0,67,0,13,0,33,0,72,0,61,0 23,0,49,0,42,0,54,0,56,0,10,0 34,0,7,0,65,0,35,0,48,0,30,0 43,0,41,0,37,0,70,0,31,0,11,0 69,0,4,0,5,0,58,0,6,0,51,0 50,0,16,0,71,0,29,0,1,0,3,0 36,0,59,0,63,0,2,0,12,0,39,0 25,0,56,0,33,0,14,0,32,0,61,0 49,0,13,0,17,0,60,0,23,0,26,0 20,0,38,0,66,0,10,0,37,0,55,0 8,0,44,0,51,0,9,0,52,0,62,0 16,0,21,0,30,0,41,0,70,0,54,0 4,0,18,0,59,0,53,0,36,0,50,0 64,0,45,0,39,0,34,0,28,0,58,0 65,0,6,0,29,0,7,0,57,0,11,0 68,0,67,0,71,0,31,0,35,0,2,0 42,0,12,0,47,0,5,0,1,0,40,0 46,0,48,0,27,0,63,0,3,0,15,0 22,0,24,0,69,0,43,0,19,0,72,0 55,0,64,0,51,0,21,0,60,0,36,0 4,0,37,0,62,0,61,0,13,0,29,0 9,0,41,0,66,0,18,0,54,0,34,0 52,0,12,0,8,0,31,0,49,0,58,0 14,0,1,0,65,0,10,0,5,0,3,0 63,0,7,0,43,0,68,0,25,0,53,0 44,0,72,0,67,0,23,0,39,0,20,0 59,0,32,0,46,0,70,0,24,0,42,0 38,0,33,0,22,0,30,0,27,0,6,0 45,0,57,0,40,0,19,0,48,0,16,0 11,0,2,0,47,0,35,0,26,0,15,0 71,0,56,0,17,0,69,0,28,0,50,0 63,0,67,0,4,0,7,0,64,0,10,0 43,0,31,0,3,0,36,0,9,0,18,0 39,0,54,0,1,0,61,0,27,0,37,0 8,0,42,0,25,0,16,0,57,0,53,0 33,0,47,0,46,0,49,0,19,0,52,0 29,0,44,0,5,0,38,0,56,0,34,0 30,0,15,0,72,0,12,0,45,0,51,0 35,0,13,0,71,0,70,0,40,0,22,0 23,0,58,0,41,0,50,0,2,0,55,0 65,0,26,0,20,0,28,0,24,0,32,0 6,0,60,0,48,0,62,0,68,0,59,0 66,0,14,0,21,0,69,0,11,0,17,0 31,0,30,0,42,0,44,0,10,0,19,0 49,0,70,0,34,0,18,0,67,0,51,0 35,0,36,0,56,0,57,0,38,0,1,0 61,0,46,0,2,0,9,0,40,0,29,0 64,0,37,0,22,0,33,0,65,0,68,0 52,0,23,0,5,0,59,0,11,0,45,0 48,0,24,0,66,0,41,0,28,0,4,0 20,0,13,0,54,0,15,0,71,0,43,0 16,0,17,0,39,0,62,0,55,0,7,0 3,0,50,0,21,0,26,0,6,0,25,0 69,0,32,0,60,0,53,0,63,0,12,0 58,0,47,0,8,0,27,0,72,0,14,0 57,0,30,0,51,0,31,0,59,0,67,0 65,0,45,0,71,0,33,0,66,0,42,0 61,0,41,0,19,0,36,0,17,0,5,0 44,0,54,0,40,0,18,0,50,0,68,0 38,0,62,0,2,0,21,0,22,0,4,0 27,0,7,0,12,0,11,0,20,0,46,0 52,0,72,0,28,0,70,0,55,0,3,0 63,0,14,0,35,0,43,0,49,0,26,0 64,0,9,0,15,0,23,0,6,0,56,0 25,0,39,0,69,0,29,0,48,0,47,0 58,0,53,0,60,0,37,0,16,0,24,0 10,0,34,0,1,0,13,0,8,0,32,0 3,0,57,0,68,0,30,0,61,0,55,0 52,0,27,0,31,0,65,0,17,0,4,0 67,0,14,0,50,0,66,0,12,0,46,0 70,0,72,0,26,0,15,0,56,0,62,0 37,0,7,0,45,0,43,0,69,0,44,0 49,0,9,0,16,0,28,0,5,0,22,0 21,0,20,0,6,0,36,0,42,0,40,0 63,0,11,0,18,0,71,0,8,0,24,0 23,0,10,0,29,0,35,0,33,0,51,0 41,0,59,0,34,0,47,0,38,0,60,0 54,0,32,0,64,0,53,0,48,0,2,0 39,0,19,0,58,0,25,0,1,0,13,0 ================================================ FILE: schedules/72_14.csv ================================================ 48,0,50,0,9,0,67,0,39,0,20,0 55,0,7,0,27,0,18,0,38,0,61,0 23,0,47,0,69,0,63,0,13,0,2,0 64,0,71,0,6,0,46,0,36,0,68,0 70,0,49,0,24,0,44,0,3,0,58,0 41,0,72,0,21,0,35,0,40,0,16,0 53,0,1,0,28,0,25,0,62,0,32,0 56,0,11,0,5,0,22,0,15,0,8,0 54,0,17,0,52,0,12,0,33,0,31,0 66,0,4,0,14,0,42,0,37,0,26,0 19,0,34,0,59,0,60,0,45,0,30,0 57,0,65,0,51,0,10,0,29,0,43,0 68,0,32,0,49,0,21,0,2,0,70,0 48,0,38,0,71,0,72,0,6,0,3,0 25,0,31,0,1,0,55,0,23,0,9,0 26,0,50,0,8,0,12,0,17,0,64,0 47,0,41,0,39,0,19,0,52,0,69,0 65,0,29,0,37,0,16,0,27,0,5,0 61,0,10,0,45,0,58,0,56,0,62,0 4,0,42,0,34,0,24,0,7,0,43,0 22,0,36,0,67,0,33,0,28,0,44,0 66,0,60,0,63,0,46,0,40,0,18,0 13,0,53,0,11,0,35,0,14,0,51,0 59,0,30,0,54,0,57,0,15,0,20,0 1,0,16,0,17,0,47,0,71,0,61,0 65,0,50,0,49,0,32,0,37,0,41,0 22,0,3,0,7,0,19,0,8,0,68,0 55,0,18,0,62,0,5,0,48,0,34,0 56,0,72,0,60,0,9,0,6,0,4,0 43,0,14,0,20,0,25,0,44,0,52,0 2,0,39,0,51,0,38,0,64,0,33,0 54,0,57,0,69,0,63,0,46,0,35,0 45,0,24,0,40,0,23,0,27,0,15,0 59,0,31,0,70,0,28,0,10,0,13,0 26,0,11,0,36,0,42,0,21,0,30,0 67,0,12,0,58,0,29,0,66,0,53,0 64,0,47,0,5,0,61,0,3,0,41,0 8,0,14,0,9,0,65,0,63,0,54,0 72,0,25,0,39,0,17,0,24,0,34,0 32,0,51,0,40,0,59,0,20,0,71,0 21,0,7,0,45,0,13,0,69,0,48,0 10,0,33,0,15,0,16,0,26,0,6,0 29,0,30,0,19,0,38,0,49,0,1,0 58,0,52,0,11,0,55,0,46,0,4,0 62,0,66,0,37,0,36,0,35,0,70,0 60,0,27,0,2,0,53,0,22,0,43,0 42,0,12,0,28,0,56,0,57,0,23,0 18,0,31,0,68,0,67,0,44,0,50,0 17,0,26,0,9,0,38,0,41,0,45,0 63,0,29,0,55,0,20,0,21,0,64,0 52,0,47,0,32,0,10,0,58,0,66,0 54,0,24,0,15,0,61,0,72,0,37,0 12,0,70,0,23,0,8,0,43,0,30,0 44,0,68,0,4,0,5,0,28,0,62,0 71,0,39,0,42,0,13,0,18,0,49,0 1,0,7,0,33,0,46,0,50,0,59,0 22,0,40,0,65,0,53,0,34,0,31,0 36,0,69,0,16,0,14,0,11,0,27,0 2,0,19,0,35,0,56,0,48,0,6,0 3,0,25,0,51,0,60,0,57,0,67,0 41,0,8,0,18,0,72,0,29,0,58,0 43,0,1,0,45,0,66,0,64,0,68,0 13,0,55,0,22,0,15,0,30,0,9,0 42,0,40,0,10,0,50,0,69,0,28,0 35,0,4,0,53,0,20,0,31,0,36,0 3,0,47,0,38,0,54,0,67,0,56,0 7,0,2,0,46,0,25,0,5,0,70,0 14,0,71,0,32,0,19,0,24,0,57,0 62,0,39,0,27,0,6,0,12,0,51,0 33,0,34,0,21,0,11,0,65,0,23,0 16,0,63,0,49,0,26,0,52,0,59,0 44,0,48,0,37,0,60,0,61,0,17,0 66,0,3,0,8,0,55,0,20,0,2,0 4,0,57,0,58,0,50,0,22,0,1,0 6,0,7,0,70,0,12,0,47,0,40,0 38,0,31,0,13,0,64,0,24,0,11,0 45,0,72,0,67,0,49,0,5,0,21,0 36,0,65,0,61,0,39,0,59,0,18,0 42,0,43,0,19,0,9,0,62,0,16,0 60,0,37,0,69,0,29,0,33,0,32,0 26,0,34,0,41,0,51,0,56,0,44,0 15,0,28,0,63,0,53,0,17,0,71,0 52,0,46,0,14,0,68,0,30,0,48,0 25,0,10,0,23,0,54,0,27,0,35,0 67,0,21,0,11,0,61,0,57,0,43,0 60,0,39,0,8,0,16,0,45,0,42,0 33,0,13,0,50,0,55,0,19,0,49,0 20,0,51,0,22,0,24,0,37,0,6,0 63,0,34,0,69,0,3,0,4,0,12,0 5,0,59,0,2,0,9,0,71,0,52,0 54,0,7,0,40,0,26,0,1,0,32,0 29,0,35,0,47,0,44,0,15,0,36,0 68,0,17,0,72,0,10,0,53,0,70,0 28,0,23,0,64,0,14,0,18,0,58,0 30,0,38,0,62,0,48,0,65,0,25,0 27,0,66,0,46,0,41,0,31,0,56,0 37,0,21,0,40,0,39,0,3,0,19,0 15,0,35,0,67,0,1,0,2,0,42,0 53,0,26,0,57,0,13,0,52,0,8,0 18,0,45,0,54,0,70,0,22,0,11,0 6,0,14,0,61,0,32,0,50,0,34,0 23,0,59,0,68,0,41,0,4,0,29,0 17,0,33,0,62,0,71,0,30,0,27,0 28,0,48,0,24,0,16,0,47,0,66,0 58,0,31,0,43,0,38,0,5,0,63,0 56,0,20,0,10,0,7,0,64,0,60,0 36,0,9,0,25,0,49,0,69,0,51,0 12,0,46,0,44,0,65,0,72,0,55,0 18,0,30,0,53,0,6,0,41,0,54,0 22,0,52,0,24,0,62,0,21,0,50,0 5,0,43,0,33,0,1,0,47,0,14,0 10,0,11,0,59,0,48,0,40,0,67,0 25,0,34,0,64,0,37,0,71,0,15,0 16,0,3,0,29,0,46,0,9,0,45,0 70,0,19,0,61,0,51,0,4,0,31,0 13,0,32,0,44,0,12,0,8,0,27,0 72,0,23,0,49,0,66,0,7,0,57,0 20,0,38,0,58,0,68,0,69,0,42,0 55,0,60,0,28,0,26,0,35,0,39,0 36,0,63,0,17,0,56,0,2,0,65,0 9,0,18,0,47,0,51,0,53,0,24,0 16,0,64,0,67,0,70,0,27,0,32,0 5,0,40,0,4,0,57,0,25,0,33,0 29,0,20,0,12,0,42,0,22,0,61,0 46,0,8,0,38,0,10,0,35,0,34,0 55,0,59,0,21,0,17,0,56,0,14,0 45,0,37,0,28,0,41,0,30,0,2,0 58,0,68,0,39,0,26,0,54,0,19,0 3,0,1,0,36,0,43,0,13,0,72,0 6,0,63,0,50,0,66,0,44,0,11,0 7,0,23,0,71,0,60,0,52,0,65,0 31,0,69,0,15,0,62,0,49,0,48,0 16,0,4,0,20,0,12,0,2,0,18,0 9,0,27,0,34,0,47,0,68,0,21,0 59,0,38,0,35,0,64,0,14,0,22,0 53,0,46,0,56,0,39,0,24,0,33,0 55,0,54,0,50,0,51,0,36,0,45,0 26,0,62,0,15,0,3,0,23,0,67,0 8,0,61,0,29,0,66,0,71,0,25,0 5,0,44,0,19,0,17,0,10,0,69,0 13,0,30,0,65,0,58,0,40,0,60,0 48,0,70,0,41,0,63,0,1,0,57,0 6,0,43,0,28,0,37,0,7,0,49,0 31,0,72,0,52,0,11,0,42,0,32,0 35,0,25,0,12,0,33,0,68,0,45,0 24,0,55,0,8,0,59,0,69,0,67,0 4,0,60,0,71,0,54,0,21,0,38,0 15,0,70,0,66,0,39,0,65,0,14,0 13,0,1,0,56,0,18,0,37,0,10,0 17,0,41,0,57,0,34,0,58,0,6,0 16,0,51,0,30,0,7,0,63,0,44,0 48,0,32,0,22,0,36,0,23,0,43,0 27,0,19,0,53,0,5,0,3,0,42,0 9,0,64,0,61,0,40,0,28,0,52,0 72,0,2,0,26,0,50,0,29,0,31,0 49,0,11,0,46,0,62,0,20,0,47,0 66,0,54,0,34,0,16,0,59,0,13,0 15,0,48,0,21,0,8,0,51,0,58,0 3,0,35,0,32,0,4,0,18,0,17,0 14,0,42,0,25,0,10,0,41,0,22,0 12,0,52,0,1,0,24,0,60,0,36,0 45,0,44,0,49,0,40,0,38,0,53,0 33,0,61,0,27,0,63,0,72,0,9,0 64,0,2,0,29,0,11,0,62,0,7,0 20,0,65,0,46,0,19,0,67,0,28,0 30,0,39,0,6,0,5,0,31,0,23,0 71,0,50,0,56,0,69,0,70,0,43,0 47,0,57,0,37,0,26,0,55,0,68,0 ================================================ FILE: schedules/72_2.csv ================================================ 52,0,15,0,46,0,5,0,61,0,70,0 63,0,34,0,56,0,21,0,43,0,47,0 16,0,18,0,39,0,55,0,59,0,14,0 41,0,64,0,22,0,26,0,51,0,44,0 45,0,40,0,20,0,31,0,60,0,32,0 37,0,6,0,58,0,48,0,50,0,62,0 2,0,68,0,69,0,24,0,67,0,42,0 71,0,4,0,53,0,33,0,72,0,25,0 65,0,27,0,35,0,38,0,54,0,13,0 10,0,23,0,11,0,36,0,8,0,19,0 3,0,9,0,30,0,7,0,28,0,49,0 12,0,1,0,17,0,66,0,29,0,57,0 61,0,32,0,50,0,55,0,68,0,21,0 33,0,24,0,46,0,39,0,22,0,34,0 38,0,18,0,62,0,67,0,45,0,56,0 5,0,26,0,53,0,23,0,35,0,6,0 2,0,58,0,8,0,27,0,16,0,52,0 31,0,44,0,14,0,4,0,30,0,17,0 72,0,47,0,40,0,70,0,7,0,11,0 29,0,20,0,3,0,71,0,41,0,65,0 59,0,28,0,51,0,66,0,10,0,63,0 60,0,15,0,42,0,37,0,1,0,54,0 13,0,57,0,48,0,19,0,69,0,9,0 43,0,25,0,36,0,49,0,64,0,12,0 ================================================ FILE: schedules/72_3.csv ================================================ 9,0,40,0,18,0,16,0,51,0,45,0 71,0,60,0,34,0,47,0,43,0,65,0 70,0,39,0,22,0,20,0,15,0,11,0 66,0,13,0,48,0,14,0,21,0,54,0 32,0,33,0,46,0,42,0,23,0,1,0 50,0,56,0,67,0,2,0,61,0,72,0 68,0,63,0,5,0,30,0,24,0,8,0 38,0,37,0,59,0,69,0,19,0,10,0 36,0,27,0,17,0,7,0,64,0,3,0 58,0,31,0,6,0,12,0,57,0,26,0 52,0,4,0,55,0,62,0,35,0,41,0 28,0,29,0,53,0,25,0,49,0,44,0 30,0,20,0,33,0,65,0,48,0,40,0 9,0,70,0,47,0,59,0,5,0,61,0 14,0,43,0,17,0,16,0,39,0,63,0 24,0,72,0,23,0,15,0,27,0,51,0 4,0,45,0,36,0,13,0,50,0,58,0 25,0,41,0,69,0,60,0,68,0,54,0 62,0,1,0,7,0,28,0,57,0,66,0 34,0,53,0,31,0,18,0,67,0,35,0 12,0,44,0,37,0,52,0,21,0,46,0 8,0,10,0,64,0,6,0,55,0,71,0 29,0,26,0,2,0,11,0,38,0,32,0 49,0,19,0,3,0,42,0,22,0,56,0 16,0,59,0,62,0,13,0,23,0,68,0 54,0,57,0,50,0,17,0,70,0,40,0 14,0,4,0,15,0,7,0,30,0,46,0 51,0,35,0,5,0,20,0,25,0,21,0 52,0,61,0,38,0,34,0,39,0,66,0 48,0,2,0,45,0,28,0,69,0,43,0 47,0,49,0,32,0,6,0,63,0,67,0 27,0,10,0,22,0,58,0,29,0,9,0 18,0,41,0,19,0,12,0,8,0,33,0 44,0,55,0,11,0,3,0,31,0,60,0 1,0,24,0,56,0,53,0,64,0,65,0 72,0,26,0,71,0,36,0,37,0,42,0 ================================================ FILE: schedules/72_4.csv ================================================ 11,0,8,0,38,0,22,0,54,0,36,0 6,0,23,0,39,0,21,0,32,0,53,0 68,0,33,0,49,0,24,0,64,0,19,0 47,0,41,0,12,0,2,0,67,0,46,0 48,0,70,0,28,0,65,0,25,0,72,0 63,0,13,0,30,0,4,0,45,0,66,0 16,0,58,0,37,0,57,0,29,0,56,0 14,0,17,0,31,0,15,0,34,0,1,0 7,0,18,0,62,0,42,0,50,0,5,0 43,0,40,0,55,0,27,0,69,0,9,0 71,0,20,0,61,0,35,0,3,0,10,0 52,0,26,0,51,0,60,0,59,0,44,0 53,0,36,0,41,0,58,0,48,0,19,0 66,0,23,0,72,0,67,0,29,0,24,0 54,0,65,0,46,0,18,0,14,0,57,0 4,0,55,0,7,0,16,0,33,0,17,0 64,0,5,0,11,0,15,0,30,0,37,0 62,0,3,0,60,0,6,0,43,0,25,0 13,0,52,0,56,0,20,0,69,0,47,0 12,0,32,0,45,0,28,0,26,0,10,0 1,0,50,0,22,0,61,0,59,0,39,0 34,0,42,0,9,0,63,0,49,0,44,0 70,0,2,0,27,0,8,0,51,0,71,0 35,0,31,0,21,0,68,0,40,0,38,0 14,0,69,0,3,0,67,0,11,0,16,0 43,0,65,0,53,0,4,0,15,0,20,0 10,0,56,0,72,0,60,0,33,0,39,0 23,0,26,0,34,0,18,0,36,0,64,0 52,0,19,0,17,0,8,0,66,0,42,0 40,0,61,0,63,0,6,0,5,0,2,0 48,0,37,0,46,0,9,0,32,0,38,0 24,0,1,0,35,0,70,0,41,0,7,0 22,0,44,0,27,0,31,0,62,0,28,0 71,0,25,0,47,0,57,0,59,0,45,0 58,0,12,0,68,0,13,0,54,0,55,0 21,0,29,0,30,0,51,0,50,0,49,0 14,0,42,0,20,0,40,0,48,0,26,0 8,0,9,0,1,0,5,0,60,0,23,0 64,0,22,0,16,0,72,0,6,0,35,0 38,0,3,0,15,0,33,0,47,0,70,0 66,0,39,0,65,0,12,0,7,0,27,0 59,0,4,0,69,0,37,0,49,0,41,0 57,0,67,0,61,0,13,0,28,0,21,0 46,0,19,0,43,0,56,0,31,0,11,0 45,0,18,0,29,0,17,0,68,0,44,0 24,0,32,0,58,0,51,0,34,0,25,0 71,0,36,0,50,0,55,0,63,0,52,0 54,0,62,0,2,0,10,0,30,0,53,0 ================================================ FILE: schedules/72_5.csv ================================================ 59,0,6,0,15,0,51,0,70,0,47,0 22,0,20,0,25,0,68,0,24,0,33,0 28,0,67,0,44,0,53,0,31,0,50,0 27,0,63,0,16,0,13,0,72,0,10,0 35,0,42,0,48,0,38,0,1,0,18,0 12,0,37,0,32,0,34,0,62,0,2,0 58,0,11,0,57,0,30,0,17,0,7,0 36,0,54,0,29,0,71,0,9,0,8,0 41,0,52,0,3,0,5,0,39,0,4,0 14,0,19,0,23,0,55,0,40,0,56,0 26,0,49,0,60,0,65,0,45,0,64,0 21,0,46,0,61,0,69,0,43,0,66,0 38,0,70,0,2,0,10,0,53,0,25,0 59,0,37,0,35,0,16,0,29,0,33,0 1,0,27,0,68,0,58,0,15,0,3,0 4,0,9,0,11,0,51,0,44,0,62,0 65,0,63,0,31,0,55,0,20,0,30,0 41,0,24,0,26,0,7,0,23,0,54,0 8,0,60,0,42,0,13,0,14,0,69,0 50,0,21,0,34,0,64,0,19,0,72,0 71,0,61,0,47,0,12,0,52,0,28,0 5,0,17,0,48,0,43,0,40,0,45,0 6,0,32,0,56,0,46,0,39,0,67,0 49,0,66,0,57,0,18,0,36,0,22,0 10,0,37,0,15,0,65,0,11,0,24,0 23,0,58,0,4,0,64,0,25,0,31,0 53,0,21,0,71,0,51,0,16,0,14,0 19,0,54,0,3,0,30,0,43,0,47,0 72,0,33,0,41,0,32,0,9,0,48,0 38,0,36,0,20,0,6,0,7,0,60,0 1,0,45,0,39,0,62,0,8,0,61,0 26,0,42,0,40,0,52,0,66,0,2,0 29,0,44,0,55,0,17,0,49,0,27,0 69,0,63,0,50,0,12,0,56,0,22,0 34,0,67,0,59,0,5,0,18,0,68,0 70,0,57,0,28,0,35,0,13,0,46,0 62,0,48,0,65,0,7,0,19,0,25,0 45,0,14,0,72,0,52,0,37,0,20,0 40,0,38,0,30,0,32,0,29,0,4,0 31,0,12,0,6,0,27,0,41,0,66,0 15,0,17,0,39,0,9,0,34,0,22,0 51,0,63,0,35,0,36,0,23,0,3,0 60,0,54,0,10,0,67,0,57,0,21,0 64,0,55,0,18,0,11,0,46,0,71,0 47,0,13,0,5,0,1,0,26,0,53,0 28,0,2,0,69,0,59,0,49,0,24,0 16,0,56,0,68,0,8,0,44,0,43,0 58,0,70,0,61,0,50,0,33,0,42,0 12,0,14,0,35,0,54,0,4,0,15,0 20,0,66,0,10,0,17,0,32,0,19,0 27,0,22,0,5,0,60,0,23,0,46,0 72,0,18,0,69,0,62,0,47,0,31,0 39,0,44,0,65,0,38,0,59,0,71,0 9,0,24,0,53,0,57,0,42,0,45,0 2,0,33,0,67,0,63,0,11,0,8,0 3,0,7,0,61,0,56,0,64,0,13,0 16,0,52,0,30,0,48,0,70,0,34,0 50,0,6,0,40,0,49,0,68,0,37,0 41,0,55,0,25,0,1,0,36,0,21,0 43,0,28,0,51,0,29,0,26,0,58,0 ================================================ FILE: schedules/72_6.csv ================================================ 40,0,35,0,57,0,68,0,28,0,54,0 45,0,69,0,47,0,16,0,23,0,29,0 32,0,50,0,52,0,34,0,7,0,64,0 49,0,58,0,24,0,44,0,8,0,26,0 10,0,25,0,43,0,72,0,18,0,15,0 51,0,37,0,61,0,48,0,41,0,6,0 70,0,4,0,2,0,13,0,56,0,12,0 67,0,14,0,65,0,22,0,33,0,59,0 42,0,63,0,71,0,27,0,46,0,62,0 36,0,38,0,17,0,9,0,66,0,19,0 39,0,20,0,30,0,55,0,5,0,53,0 21,0,60,0,1,0,31,0,11,0,3,0 69,0,34,0,8,0,61,0,2,0,28,0 51,0,43,0,22,0,29,0,24,0,40,0 54,0,12,0,32,0,6,0,25,0,49,0 67,0,48,0,44,0,10,0,50,0,19,0 23,0,42,0,65,0,13,0,36,0,35,0 59,0,70,0,21,0,7,0,5,0,72,0 15,0,14,0,66,0,1,0,46,0,64,0 56,0,55,0,11,0,17,0,71,0,16,0 18,0,41,0,62,0,30,0,38,0,45,0 57,0,33,0,47,0,63,0,53,0,60,0 68,0,27,0,31,0,26,0,39,0,4,0 52,0,9,0,3,0,20,0,37,0,58,0 7,0,69,0,48,0,46,0,36,0,49,0 28,0,5,0,25,0,44,0,56,0,29,0 34,0,35,0,30,0,71,0,70,0,43,0 53,0,50,0,11,0,6,0,24,0,62,0 10,0,13,0,33,0,66,0,61,0,39,0 38,0,63,0,64,0,58,0,31,0,59,0 54,0,37,0,27,0,67,0,18,0,23,0 2,0,41,0,65,0,47,0,68,0,3,0 16,0,20,0,51,0,21,0,26,0,15,0 60,0,32,0,40,0,14,0,55,0,9,0 17,0,12,0,72,0,57,0,1,0,22,0 4,0,8,0,19,0,45,0,42,0,52,0 54,0,36,0,10,0,29,0,11,0,64,0 46,0,3,0,70,0,50,0,39,0,28,0 5,0,24,0,16,0,35,0,63,0,67,0 23,0,26,0,48,0,2,0,53,0,43,0 72,0,27,0,58,0,41,0,34,0,33,0 4,0,32,0,20,0,69,0,65,0,57,0 56,0,49,0,1,0,59,0,18,0,19,0 52,0,12,0,44,0,40,0,21,0,71,0 31,0,13,0,6,0,45,0,14,0,17,0 55,0,38,0,22,0,25,0,8,0,37,0 7,0,9,0,61,0,15,0,47,0,62,0 42,0,68,0,66,0,60,0,51,0,30,0 4,0,24,0,48,0,54,0,34,0,1,0 43,0,67,0,39,0,41,0,64,0,21,0 40,0,45,0,26,0,72,0,56,0,65,0 20,0,14,0,25,0,50,0,36,0,63,0 44,0,61,0,18,0,22,0,32,0,31,0 29,0,2,0,66,0,58,0,71,0,57,0 59,0,47,0,37,0,11,0,28,0,42,0 55,0,62,0,49,0,52,0,35,0,10,0 8,0,13,0,30,0,16,0,9,0,46,0 70,0,60,0,19,0,27,0,69,0,6,0 17,0,5,0,15,0,23,0,68,0,33,0 53,0,51,0,12,0,3,0,7,0,38,0 28,0,22,0,71,0,20,0,45,0,48,0 40,0,41,0,66,0,4,0,49,0,63,0 31,0,47,0,72,0,30,0,52,0,54,0 50,0,21,0,29,0,18,0,13,0,55,0 61,0,64,0,17,0,25,0,24,0,70,0 11,0,46,0,58,0,65,0,5,0,19,0 7,0,27,0,35,0,2,0,44,0,14,0 42,0,3,0,6,0,67,0,56,0,15,0 57,0,62,0,39,0,23,0,51,0,8,0 68,0,69,0,9,0,59,0,10,0,53,0 36,0,34,0,26,0,60,0,12,0,37,0 1,0,38,0,43,0,16,0,32,0,33,0 ================================================ FILE: schedules/72_7.csv ================================================ 27,0,34,0,63,0,15,0,59,0,14,0 35,0,5,0,25,0,8,0,70,0,20,0 43,0,30,0,36,0,53,0,28,0,6,0 10,0,21,0,40,0,33,0,55,0,45,0 31,0,66,0,62,0,52,0,26,0,32,0 41,0,51,0,64,0,72,0,7,0,60,0 46,0,23,0,67,0,49,0,39,0,4,0 47,0,17,0,69,0,24,0,22,0,42,0 13,0,61,0,18,0,48,0,54,0,3,0 58,0,16,0,37,0,9,0,12,0,1,0 50,0,68,0,65,0,2,0,19,0,57,0 71,0,38,0,44,0,11,0,29,0,56,0 25,0,41,0,43,0,27,0,55,0,66,0 33,0,28,0,46,0,35,0,47,0,63,0 14,0,52,0,70,0,22,0,72,0,13,0 42,0,34,0,31,0,45,0,16,0,67,0 7,0,62,0,1,0,50,0,48,0,40,0 9,0,49,0,18,0,38,0,36,0,15,0 20,0,58,0,29,0,65,0,4,0,32,0 64,0,44,0,19,0,10,0,53,0,69,0 5,0,37,0,6,0,3,0,17,0,51,0 11,0,59,0,54,0,60,0,8,0,68,0 57,0,12,0,30,0,56,0,39,0,61,0 26,0,24,0,2,0,71,0,23,0,21,0 16,0,32,0,13,0,49,0,43,0,33,0 65,0,15,0,10,0,35,0,66,0,72,0 40,0,20,0,36,0,31,0,47,0,51,0 60,0,1,0,70,0,69,0,63,0,6,0 62,0,56,0,19,0,58,0,54,0,34,0 8,0,17,0,18,0,71,0,28,0,67,0 29,0,61,0,9,0,26,0,46,0,42,0 4,0,52,0,24,0,11,0,55,0,50,0 53,0,21,0,22,0,48,0,39,0,68,0 37,0,64,0,30,0,38,0,25,0,59,0 44,0,41,0,12,0,2,0,3,0,14,0 7,0,45,0,27,0,5,0,57,0,23,0 56,0,46,0,72,0,1,0,36,0,32,0 54,0,71,0,35,0,42,0,6,0,40,0 22,0,29,0,15,0,60,0,62,0,33,0 34,0,55,0,9,0,51,0,53,0,8,0 44,0,47,0,67,0,37,0,61,0,68,0 3,0,50,0,16,0,20,0,23,0,64,0 52,0,12,0,21,0,17,0,27,0,19,0 26,0,43,0,48,0,70,0,38,0,4,0 45,0,63,0,41,0,49,0,30,0,24,0 14,0,11,0,31,0,5,0,69,0,65,0 28,0,57,0,59,0,66,0,13,0,58,0 7,0,10,0,39,0,25,0,18,0,2,0 15,0,68,0,42,0,52,0,64,0,56,0 33,0,6,0,26,0,72,0,50,0,67,0 17,0,1,0,55,0,29,0,30,0,54,0 8,0,38,0,46,0,41,0,31,0,21,0 9,0,57,0,3,0,69,0,40,0,43,0 48,0,71,0,16,0,25,0,36,0,14,0 28,0,11,0,23,0,19,0,70,0,37,0 39,0,51,0,63,0,62,0,65,0,44,0 12,0,49,0,66,0,34,0,7,0,20,0 27,0,58,0,18,0,35,0,60,0,24,0 2,0,47,0,13,0,45,0,53,0,4,0 32,0,61,0,59,0,10,0,22,0,5,0 25,0,3,0,67,0,11,0,21,0,1,0 33,0,48,0,42,0,44,0,57,0,8,0 52,0,39,0,54,0,20,0,28,0,41,0 23,0,69,0,72,0,12,0,55,0,62,0 60,0,36,0,26,0,13,0,37,0,65,0 71,0,66,0,50,0,22,0,46,0,30,0 16,0,5,0,4,0,63,0,19,0,18,0 35,0,51,0,14,0,45,0,38,0,32,0 6,0,9,0,56,0,59,0,7,0,47,0 24,0,68,0,34,0,43,0,10,0,29,0 70,0,49,0,27,0,40,0,2,0,64,0 53,0,31,0,61,0,15,0,58,0,17,0 57,0,1,0,22,0,41,0,26,0,18,0 20,0,19,0,60,0,67,0,14,0,55,0 37,0,4,0,69,0,7,0,21,0,35,0 28,0,10,0,50,0,42,0,51,0,12,0 63,0,23,0,40,0,56,0,13,0,25,0 59,0,65,0,53,0,52,0,49,0,71,0 38,0,2,0,6,0,61,0,16,0,62,0 36,0,45,0,3,0,8,0,66,0,29,0 17,0,64,0,32,0,34,0,48,0,11,0 43,0,47,0,72,0,58,0,39,0,5,0 15,0,54,0,70,0,46,0,24,0,44,0 31,0,33,0,68,0,9,0,30,0,27,0 ================================================ FILE: schedules/72_8.csv ================================================ 3,0,38,0,39,0,10,0,20,0,66,0 50,0,14,0,69,0,33,0,24,0,54,0 18,0,70,0,63,0,45,0,16,0,15,0 31,0,65,0,34,0,29,0,4,0,60,0 48,0,28,0,43,0,11,0,68,0,61,0 12,0,32,0,47,0,2,0,37,0,41,0 9,0,26,0,42,0,8,0,46,0,19,0 53,0,7,0,27,0,36,0,62,0,51,0 1,0,59,0,23,0,5,0,44,0,30,0 57,0,6,0,52,0,58,0,56,0,64,0 13,0,21,0,67,0,22,0,72,0,55,0 35,0,71,0,17,0,40,0,25,0,49,0 43,0,41,0,29,0,20,0,70,0,24,0 46,0,4,0,16,0,39,0,2,0,53,0 8,0,38,0,45,0,37,0,11,0,14,0 9,0,36,0,50,0,57,0,48,0,18,0 32,0,23,0,34,0,33,0,13,0,52,0 3,0,22,0,64,0,42,0,17,0,40,0 59,0,55,0,61,0,7,0,26,0,58,0 62,0,10,0,69,0,12,0,1,0,65,0 5,0,71,0,67,0,47,0,60,0,56,0 72,0,44,0,35,0,31,0,27,0,28,0 25,0,51,0,66,0,21,0,30,0,63,0 68,0,54,0,15,0,49,0,6,0,19,0 55,0,52,0,17,0,38,0,2,0,36,0 13,0,64,0,24,0,53,0,61,0,10,0 23,0,48,0,37,0,16,0,60,0,22,0 62,0,3,0,7,0,9,0,71,0,8,0 12,0,34,0,42,0,18,0,14,0,5,0 26,0,21,0,31,0,39,0,15,0,69,0 66,0,58,0,68,0,44,0,29,0,40,0 27,0,65,0,57,0,70,0,25,0,19,0 30,0,50,0,4,0,32,0,11,0,49,0 67,0,35,0,43,0,1,0,51,0,6,0 33,0,47,0,46,0,28,0,45,0,20,0 63,0,59,0,56,0,72,0,54,0,41,0 9,0,64,0,16,0,24,0,44,0,38,0 55,0,70,0,53,0,48,0,34,0,71,0 50,0,42,0,29,0,27,0,37,0,39,0 51,0,49,0,8,0,5,0,58,0,13,0 30,0,61,0,17,0,62,0,31,0,12,0 22,0,46,0,66,0,43,0,18,0,65,0 68,0,14,0,32,0,59,0,67,0,10,0 41,0,26,0,28,0,57,0,1,0,4,0 47,0,7,0,21,0,52,0,54,0,35,0 33,0,40,0,11,0,6,0,63,0,2,0 36,0,56,0,25,0,20,0,15,0,23,0 72,0,60,0,69,0,45,0,3,0,19,0 64,0,12,0,46,0,70,0,68,0,50,0 13,0,57,0,31,0,14,0,43,0,16,0 37,0,5,0,54,0,26,0,17,0,66,0 34,0,27,0,6,0,10,0,21,0,8,0 41,0,39,0,25,0,33,0,18,0,55,0 11,0,53,0,29,0,23,0,3,0,52,0 30,0,60,0,58,0,2,0,9,0,28,0 56,0,1,0,19,0,4,0,24,0,40,0 15,0,61,0,42,0,47,0,38,0,72,0 7,0,49,0,63,0,67,0,69,0,48,0 44,0,51,0,71,0,45,0,36,0,65,0 32,0,20,0,59,0,22,0,62,0,35,0 14,0,17,0,70,0,23,0,6,0,28,0 1,0,54,0,11,0,27,0,60,0,55,0 47,0,18,0,13,0,4,0,68,0,3,0 34,0,37,0,69,0,61,0,9,0,25,0 26,0,72,0,33,0,10,0,30,0,36,0 51,0,31,0,40,0,32,0,24,0,46,0 67,0,20,0,12,0,16,0,58,0,19,0 65,0,50,0,38,0,35,0,56,0,53,0 2,0,49,0,71,0,64,0,66,0,59,0 29,0,57,0,15,0,22,0,7,0,5,0 44,0,63,0,39,0,43,0,8,0,52,0 45,0,62,0,48,0,42,0,41,0,21,0 51,0,9,0,20,0,72,0,11,0,12,0 18,0,16,0,56,0,26,0,32,0,27,0 28,0,40,0,37,0,65,0,13,0,59,0 38,0,30,0,6,0,29,0,69,0,71,0 36,0,39,0,49,0,47,0,34,0,22,0 52,0,19,0,66,0,50,0,31,0,48,0 45,0,23,0,10,0,7,0,2,0,43,0 53,0,67,0,8,0,15,0,17,0,41,0 4,0,5,0,25,0,64,0,14,0,62,0 58,0,21,0,33,0,3,0,70,0,1,0 55,0,68,0,24,0,42,0,63,0,35,0 44,0,54,0,60,0,57,0,61,0,46,0 37,0,19,0,10,0,18,0,71,0,28,0 66,0,45,0,9,0,67,0,27,0,23,0 7,0,65,0,72,0,6,0,32,0,39,0 1,0,2,0,64,0,48,0,29,0,8,0 55,0,43,0,62,0,50,0,47,0,40,0 49,0,56,0,21,0,44,0,12,0,33,0 14,0,46,0,3,0,35,0,15,0,30,0 54,0,58,0,25,0,42,0,53,0,31,0 20,0,13,0,38,0,63,0,60,0,26,0 4,0,70,0,22,0,51,0,61,0,52,0 36,0,69,0,41,0,16,0,68,0,5,0 24,0,57,0,17,0,11,0,34,0,59,0 ================================================ FILE: schedules/72_9.csv ================================================ 34,0,39,0,53,0,20,0,51,0,46,0 59,0,69,0,27,0,38,0,11,0,65,0 40,0,17,0,19,0,29,0,12,0,58,0 4,0,36,0,23,0,44,0,2,0,66,0 32,0,57,0,35,0,16,0,22,0,55,0 60,0,13,0,48,0,63,0,25,0,64,0 15,0,43,0,9,0,31,0,26,0,5,0 56,0,24,0,30,0,1,0,50,0,7,0 10,0,18,0,14,0,28,0,52,0,47,0 41,0,49,0,68,0,42,0,70,0,67,0 62,0,21,0,33,0,72,0,3,0,6,0 61,0,45,0,37,0,71,0,54,0,8,0 58,0,51,0,11,0,2,0,64,0,55,0 57,0,39,0,31,0,56,0,25,0,13,0 10,0,53,0,69,0,66,0,43,0,35,0 59,0,48,0,20,0,24,0,18,0,40,0 41,0,29,0,63,0,72,0,22,0,34,0 7,0,6,0,12,0,36,0,46,0,68,0 50,0,3,0,8,0,23,0,26,0,9,0 16,0,30,0,44,0,70,0,54,0,21,0 37,0,62,0,49,0,52,0,15,0,33,0 5,0,71,0,47,0,17,0,27,0,42,0 65,0,67,0,32,0,1,0,45,0,28,0 19,0,38,0,14,0,61,0,4,0,60,0 18,0,63,0,26,0,12,0,57,0,11,0 3,0,34,0,2,0,13,0,30,0,31,0 50,0,46,0,59,0,41,0,37,0,35,0 53,0,54,0,55,0,33,0,56,0,42,0 58,0,28,0,44,0,62,0,43,0,8,0 40,0,51,0,72,0,14,0,49,0,71,0 45,0,20,0,27,0,19,0,10,0,21,0 64,0,1,0,70,0,23,0,52,0,5,0 22,0,47,0,7,0,60,0,15,0,69,0 66,0,68,0,4,0,17,0,24,0,32,0 38,0,29,0,39,0,48,0,65,0,6,0 16,0,36,0,25,0,61,0,67,0,9,0 40,0,45,0,55,0,46,0,44,0,31,0 52,0,70,0,58,0,26,0,20,0,13,0 56,0,12,0,22,0,21,0,23,0,2,0 27,0,32,0,64,0,53,0,30,0,49,0 57,0,1,0,71,0,3,0,48,0,41,0 14,0,7,0,29,0,62,0,67,0,66,0 61,0,35,0,47,0,34,0,6,0,28,0 8,0,60,0,38,0,16,0,68,0,5,0 39,0,63,0,33,0,17,0,43,0,59,0 37,0,10,0,9,0,19,0,65,0,4,0 51,0,42,0,24,0,69,0,36,0,18,0 54,0,25,0,11,0,50,0,15,0,72,0 56,0,66,0,3,0,52,0,67,0,27,0 5,0,61,0,2,0,53,0,57,0,62,0 12,0,31,0,64,0,33,0,14,0,8,0 30,0,55,0,28,0,39,0,37,0,60,0 1,0,17,0,6,0,44,0,69,0,20,0 59,0,72,0,42,0,10,0,23,0,13,0 16,0,15,0,4,0,41,0,45,0,51,0 26,0,24,0,49,0,34,0,65,0,29,0 58,0,46,0,18,0,22,0,9,0,54,0 11,0,36,0,48,0,70,0,19,0,35,0 71,0,43,0,38,0,32,0,25,0,7,0 40,0,21,0,68,0,47,0,50,0,63,0 52,0,20,0,37,0,12,0,16,0,42,0 27,0,15,0,13,0,44,0,24,0,8,0 66,0,60,0,54,0,41,0,59,0,6,0 46,0,56,0,28,0,29,0,64,0,5,0 17,0,11,0,22,0,31,0,62,0,10,0 48,0,21,0,69,0,4,0,58,0,49,0 32,0,34,0,18,0,50,0,19,0,33,0 30,0,23,0,67,0,40,0,57,0,43,0 35,0,2,0,71,0,9,0,39,0,1,0 63,0,65,0,70,0,51,0,61,0,7,0 14,0,53,0,25,0,26,0,45,0,68,0 47,0,3,0,55,0,38,0,72,0,36,0 5,0,24,0,12,0,10,0,58,0,41,0 50,0,6,0,4,0,13,0,22,0,67,0 16,0,62,0,34,0,56,0,59,0,71,0 31,0,61,0,23,0,18,0,29,0,27,0 7,0,35,0,45,0,33,0,40,0,64,0 25,0,20,0,49,0,8,0,66,0,55,0 72,0,52,0,19,0,44,0,68,0,39,0 21,0,11,0,1,0,60,0,36,0,53,0 54,0,69,0,2,0,3,0,32,0,63,0 17,0,14,0,65,0,57,0,30,0,46,0 15,0,28,0,42,0,9,0,38,0,70,0 51,0,43,0,26,0,47,0,37,0,48,0 7,0,8,0,49,0,18,0,35,0,39,0 5,0,19,0,67,0,55,0,59,0,21,0 53,0,52,0,31,0,71,0,6,0,24,0 29,0,60,0,16,0,2,0,10,0,50,0 25,0,42,0,44,0,3,0,22,0,65,0 64,0,68,0,34,0,57,0,69,0,37,0 47,0,12,0,13,0,62,0,32,0,45,0 43,0,4,0,70,0,72,0,46,0,27,0 66,0,26,0,40,0,38,0,61,0,1,0 15,0,56,0,36,0,58,0,63,0,14,0 9,0,41,0,33,0,20,0,30,0,11,0 54,0,23,0,17,0,48,0,51,0,28,0 57,0,29,0,59,0,53,0,44,0,47,0 46,0,19,0,43,0,16,0,24,0,3,0 72,0,13,0,65,0,5,0,66,0,18,0 50,0,71,0,69,0,12,0,55,0,70,0 52,0,8,0,22,0,36,0,40,0,34,0 33,0,51,0,1,0,27,0,58,0,25,0 64,0,62,0,39,0,42,0,54,0,4,0 63,0,67,0,35,0,31,0,20,0,38,0 23,0,32,0,37,0,11,0,14,0,6,0 60,0,17,0,9,0,45,0,49,0,56,0 2,0,26,0,41,0,7,0,28,0,21,0 48,0,68,0,10,0,15,0,30,0,61,0 ================================================ FILE: schedules/73_1.csv ================================================ 19,0,44,0,67,0,62,0,12,0,61,0 63,0,36,0,32,0,42,0,23,0,11,0 18,0,30,0,34,0,60,0,4,0,31,0 40,0,54,0,55,0,38,0,65,0,51,0 69,0,17,0,46,0,71,0,37,0,45,0 70,0,26,0,57,0,1,0,2,0,29,0 59,0,52,0,10,0,16,0,25,0,7,0 41,0,53,0,13,0,28,0,68,0,39,0 72,0,35,0,21,0,3,0,64,0,5,0 6,0,58,0,48,0,15,0,20,0,50,0 14,0,66,0,43,0,22,0,27,0,49,0 33,0,8,0,73,0,9,0,24,0,56,0 47,0,34,1,57,1,16,1,31,1,52,1 ================================================ FILE: schedules/73_10.csv ================================================ 11,0,65,0,41,0,16,0,58,0,20,0 69,0,52,0,56,0,5,0,68,0,33,0 28,0,47,0,54,0,39,0,36,0,43,0 71,0,50,0,64,0,45,0,23,0,63,0 42,0,73,0,29,0,67,0,49,0,25,0 9,0,4,0,3,0,72,0,31,0,62,0 14,0,51,0,2,0,8,0,38,0,32,0 48,0,40,0,18,0,70,0,10,0,24,0 1,0,66,0,15,0,60,0,22,0,34,0 55,0,61,0,13,0,12,0,17,0,7,0 44,0,26,0,19,0,53,0,37,0,30,0 35,0,21,0,46,0,59,0,27,0,57,0 6,0,16,0,52,0,45,0,64,0,43,0 31,0,56,0,3,0,2,0,47,0,63,0 71,0,14,0,10,0,4,0,67,0,41,0 55,0,34,0,38,0,28,0,25,0,18,0 5,0,30,0,17,0,70,0,65,0,23,0 22,0,7,0,58,0,57,0,62,0,29,0 69,0,37,0,6,0,21,0,32,0,66,0 73,0,26,0,40,0,9,0,39,0,50,0 1,0,46,0,27,0,12,0,48,0,13,0 59,0,44,0,72,0,54,0,68,0,20,0 61,0,11,0,8,0,60,0,42,0,53,0 35,0,36,0,49,0,19,0,24,0,33,0 51,0,23,0,16,0,15,0,55,0,3,0 45,1,62,0,34,0,41,1,32,0,56,0 5,0,2,0,12,0,43,0,18,0,10,0 30,0,58,0,73,0,52,0,72,0,27,0 39,0,20,0,70,0,64,0,13,0,42,0 71,0,49,0,8,0,36,0,37,0,46,0 44,0,67,0,7,0,35,0,69,0,1,0 33,0,22,0,21,0,9,0,38,0,61,0 14,0,54,0,63,0,57,0,6,0,26,0 29,0,66,0,53,0,31,0,24,0,68,0 65,0,51,0,25,0,4,0,60,0,48,0 28,0,15,0,40,0,19,0,11,0,59,0 50,0,42,0,69,0,47,0,17,0,72,0 46,0,38,0,70,0,44,0,43,0,58,0 62,0,52,0,12,0,49,0,54,0,21,0 10,0,27,0,37,0,56,0,55,0,68,0 3,0,1,0,20,0,36,0,32,0,30,0 59,0,9,0,22,0,18,0,53,0,23,0 24,0,63,0,15,0,73,0,41,0,17,0 60,0,45,0,11,0,2,0,13,0,35,0 57,0,64,0,66,0,47,0,4,0,8,0 61,0,51,0,31,0,34,0,67,0,19,0 26,0,48,0,16,0,28,0,71,0,29,0 6,0,33,0,25,0,39,0,65,0,40,0 14,0,5,0,46,0,7,0,50,0,15,0 42,0,62,0,18,0,52,0,36,0,44,0 66,0,59,0,13,0,64,0,41,0,38,0 69,0,57,0,2,0,61,0,53,0,73,0 1,0,49,0,63,0,72,0,55,0,11,0 65,0,45,0,12,0,51,0,37,0,28,0 39,0,60,0,47,0,71,0,19,0,5,0 29,0,10,0,20,0,35,0,6,0,50,0 16,0,27,0,33,0,14,0,31,0,70,0 32,0,67,0,54,0,30,0,9,0,48,0 23,0,43,0,68,0,8,0,25,0,7,0 40,0,21,0,3,0,34,0,58,0,17,0 24,0,56,0,5,0,4,0,26,0,22,0 18,0,46,0,72,0,51,0,39,0,35,0 2,0,59,0,64,0,29,0,1,0,33,0 15,0,47,0,49,0,61,0,32,0,44,0 28,0,8,0,62,0,27,0,50,0,63,0 45,0,17,0,68,0,9,0,58,0,67,0 10,0,31,0,38,0,26,0,11,0,69,0 70,0,36,0,41,0,56,0,53,0,21,0 42,0,6,0,4,0,22,0,23,0,48,0 40,0,60,0,37,0,7,0,52,0,20,0 19,0,14,0,73,0,43,0,65,0,55,0 30,0,12,0,57,0,16,0,66,0,34,0 13,0,54,0,24,0,71,0,3,0,25,0 41,0,68,0,44,0,11,0,50,0,32,0 6,0,18,0,17,0,31,0,8,0,1,0 27,0,4,0,53,0,33,0,15,0,20,0 7,0,9,0,64,0,65,0,56,0,49,0 21,0,67,0,73,0,16,0,60,0,28,0 34,0,26,0,71,0,58,0,2,0,42,0 59,0,3,0,14,0,39,0,37,0,12,0 36,0,38,0,25,0,45,0,5,0,57,0 22,0,52,0,51,0,10,0,63,0,13,0 23,0,19,0,54,0,69,0,29,0,46,0 61,0,43,0,48,0,72,0,35,0,66,0 55,0,30,0,47,0,24,0,62,0,40,0 70,0,7,0,6,0,73,0,59,0,71,0 9,0,28,0,41,0,5,0,42,0,1,0 65,0,44,0,8,0,26,0,3,0,10,0 25,0,22,0,32,0,64,0,19,0,17,0 12,0,72,0,38,0,29,0,15,0,56,0 63,0,36,0,48,0,40,0,69,0,16,0 66,0,61,0,33,0,58,0,62,0,51,0 45,0,21,0,24,0,20,0,31,0,46,0 43,0,67,0,37,0,13,0,57,0,50,0 30,0,60,0,68,0,14,0,49,0,18,0 34,0,27,0,11,0,52,0,23,0,47,0 70,0,55,0,35,0,2,0,4,0,54,0 53,0,62,0,1,0,39,0,16,0,38,0 33,0,72,0,42,0,19,0,7,0,10,0 15,0,25,0,58,0,37,0,31,0,63,0 26,0,36,0,64,0,61,0,12,0,68,0 13,0,47,0,29,0,65,0,21,0,14,0 50,0,49,0,4,0,34,0,69,0,59,0 28,0,23,0,32,0,57,0,70,0,60,0 9,0,52,0,8,0,48,0,20,0,55,0 67,0,53,0,5,0,6,0,46,0,3,0 43,0,22,0,35,0,41,0,30,0,51,0 17,0,24,0,39,0,27,0,2,0,44,0 18,0,56,0,71,0,73,0,66,0,11,0 54,0,40,0,61,0,45,0,14,0,1,0 25,0,50,0,19,0,52,0,21,0,70,0 72,0,4,0,58,0,36,0,13,0,28,0 35,0,68,0,65,0,63,0,38,0,42,0 55,0,29,0,60,0,33,0,41,0,3,0 64,0,34,0,44,0,5,0,73,0,48,0 39,0,69,0,8,0,45,0,30,0,15,0 23,0,20,0,59,0,67,0,56,0,62,0 11,0,57,0,24,0,9,0,51,0,6,0 31,0,32,0,71,0,12,0,43,0,40,0 10,0,66,0,49,0,53,0,54,0,17,0 16,0,2,0,37,0,46,0,22,0,47,0 27,0,7,0,45,0,18,0,26,0,41,0 ================================================ FILE: schedules/73_11.csv ================================================ 2,0,69,0,66,0,24,0,21,0,19,0 28,0,23,0,6,0,41,0,7,0,9,0 14,0,44,0,49,0,1,0,35,0,25,0 8,0,17,0,48,0,33,0,29,0,32,0 22,0,52,0,57,0,67,0,18,0,13,0 64,0,62,0,55,0,37,0,53,0,40,0 43,0,38,0,11,0,70,0,5,0,59,0 42,0,31,0,4,0,60,0,12,0,46,0 36,0,72,0,30,0,51,0,16,0,58,0 3,0,39,0,54,0,10,0,65,0,20,0 15,0,26,0,45,0,27,0,50,0,68,0 63,0,73,0,61,0,56,0,47,0,34,0 9,0,59,0,19,0,71,0,40,0,49,0 29,0,41,0,35,0,21,0,38,0,31,0 17,0,70,0,6,0,14,0,55,0,18,0 10,0,46,0,52,0,60,0,36,0,37,0 20,0,15,0,68,0,25,0,33,0,51,0 48,0,39,0,66,0,3,0,61,0,64,0 12,0,7,0,65,0,44,0,58,0,72,0 27,0,16,0,73,0,69,0,1,0,24,0 56,0,45,0,2,0,8,0,28,0,57,0 23,0,53,0,26,0,47,0,22,0,11,0 62,0,54,0,13,0,43,0,34,0,32,0 67,0,71,0,30,0,50,0,4,0,63,0 5,0,6,0,35,0,42,0,33,0,36,0 27,0,46,0,7,0,20,1,66,0,14,0 40,0,38,0,2,0,15,0,52,0,48,0 22,0,26,0,1,0,28,0,61,0,70,0 32,0,56,0,39,0,12,0,16,0,53,0 10,0,64,0,8,0,51,0,50,0,59,0 72,0,57,0,49,0,11,0,54,0,42,0 3,0,31,0,30,0,24,0,5,0,9,0 65,0,73,0,13,0,37,0,23,0,4,0 62,0,34,0,44,0,71,0,18,0,69,0 41,0,63,0,58,0,43,0,17,0,55,0 21,0,29,0,47,0,25,0,60,0,45,0 19,0,68,0,33,0,67,0,54,0,10,0 27,0,8,0,40,0,72,0,70,0,3,0 11,0,13,0,20,0,12,0,28,0,36,0 71,0,9,0,56,0,69,0,65,0,35,0 66,0,53,0,57,0,34,0,41,0,4,0 42,0,16,0,55,0,22,0,2,0,25,0 23,0,31,0,60,0,59,0,39,0,17,0 52,0,73,0,14,0,58,0,26,0,21,0 44,0,19,0,18,0,43,0,64,0,29,0 15,0,67,0,37,0,32,0,5,0,1,0 45,0,6,0,46,0,62,0,30,0,49,0 38,0,63,0,7,0,68,0,51,0,61,0 50,0,24,0,65,0,47,0,48,0,40,0 26,0,13,0,41,0,9,0,42,0,10,0 73,0,53,0,33,0,72,0,2,0,60,0 66,0,12,0,70,0,15,0,23,0,35,0 37,0,18,0,43,0,56,0,49,0,27,0 71,0,8,0,22,0,1,0,20,0,31,0 62,0,58,0,36,0,19,0,3,0,63,0 51,0,28,0,48,0,44,0,16,0,67,0 25,0,50,0,17,0,57,0,38,0,46,0 68,0,24,0,47,0,6,0,4,0,39,0 61,0,59,0,55,0,29,0,52,0,69,0 64,0,5,0,34,0,32,0,14,0,45,0 54,0,7,0,21,0,30,0,11,0,56,0 44,0,63,0,2,0,31,0,27,0,10,0 25,0,12,0,58,0,71,0,48,0,70,0 43,0,42,0,39,0,50,0,1,0,33,0 4,0,9,0,8,0,18,0,15,0,16,0 72,0,35,0,20,0,47,0,41,0,19,0 40,0,26,0,29,0,54,0,6,0,36,0 67,0,59,0,57,0,64,0,73,0,7,0 69,0,11,0,37,0,66,0,22,0,45,0 62,0,14,0,38,0,24,0,28,0,13,0 68,0,3,0,53,0,46,0,21,0,17,0 32,0,65,0,49,0,52,0,61,0,30,0 60,0,51,0,34,0,5,0,23,0,55,0 70,0,44,0,33,0,20,0,73,0,9,0 31,0,11,0,6,0,15,0,64,0,69,0 63,0,37,0,39,0,14,0,48,0,19,0 35,0,68,0,12,0,62,0,59,0,2,0 25,0,41,0,54,0,36,0,52,0,50,0 58,0,28,0,5,0,4,0,10,0,40,0 24,0,34,0,17,0,7,0,49,0,22,0 42,0,51,0,32,0,18,0,21,0,66,0 3,0,27,0,67,0,30,0,23,0,29,0 72,0,56,0,1,0,55,0,45,0,38,0 16,0,43,0,57,0,65,0,26,0,60,0 61,0,47,0,71,0,46,0,8,0,13,0 53,0,50,0,19,0,31,0,7,0,70,0 4,0,64,0,49,0,41,0,2,0,20,0 18,0,42,0,48,0,40,0,73,0,68,0 72,0,10,0,21,0,22,0,15,0,62,0 27,0,60,0,28,0,32,0,54,0,35,0 36,0,47,0,65,0,67,0,17,0,66,0 57,0,58,0,9,0,39,0,46,0,1,0 52,0,59,0,3,0,56,0,6,0,44,0 24,0,71,0,55,0,33,0,23,0,11,0 61,0,43,0,14,0,16,0,30,0,45,0 26,0,34,0,12,0,8,0,37,0,38,0 25,0,69,0,13,0,63,0,53,0,5,0 51,0,39,0,35,0,29,0,73,0,17,0 52,0,72,0,28,0,68,0,31,0,64,0 33,0,22,0,46,0,41,0,65,0,44,0 9,0,14,0,1,0,11,0,32,0,2,0 30,0,15,0,55,0,26,0,57,0,19,0 40,0,21,0,60,0,67,0,61,0,12,0 18,0,8,0,49,0,58,0,53,0,38,0 47,0,7,0,37,0,3,0,71,0,42,0 63,0,45,0,51,0,54,0,70,0,24,0 10,0,25,0,16,0,6,0,66,0,34,0 5,0,20,0,50,0,56,0,62,0,29,0 48,0,69,0,4,0,36,0,23,0,43,0 59,0,27,0,64,0,13,0,58,0,22,0 18,0,1,0,30,0,47,0,33,0,12,0 15,0,44,0,61,0,17,0,53,0,54,0 19,0,32,0,31,0,25,0,73,0,38,0 50,0,2,0,6,0,72,0,37,0,5,0 23,0,52,0,16,0,46,0,20,0,63,0 60,0,70,0,56,0,68,0,13,0,49,0 65,0,59,0,29,0,28,0,14,0,42,0 21,0,34,0,9,0,48,0,27,0,36,0 45,0,40,0,41,0,39,0,71,0,7,0 55,0,66,0,11,0,8,0,67,0,43,0 3,0,69,0,62,0,51,0,4,0,26,0 35,0,10,0,37,0,24,0,57,0,61,0 22,0,17,0,5,0,52,0,19,0,12,0 15,0,36,0,31,0,65,0,56,0,14,0 47,0,38,0,54,0,9,0,64,0,16,0 21,0,20,0,33,0,63,0,34,0,40,0 60,0,68,0,41,0,8,0,30,0,69,0 48,0,29,0,1,0,66,0,13,0,7,0 23,0,32,0,70,0,10,0,44,0,57,0 46,0,18,0,24,0,59,0,72,0,26,0 73,0,50,0,49,0,55,0,3,0,28,0 39,0,11,0,25,0,4,0,62,0,27,0 51,0,2,0,53,0,71,0,6,0,43,0 58,0,67,0,20,0,35,0,42,0,45,0 ================================================ FILE: schedules/73_12.csv ================================================ 55,0,33,0,21,0,19,0,39,0,45,0 7,0,37,0,4,0,29,0,26,0,61,0 36,0,10,0,65,0,24,0,68,0,72,0 38,0,14,0,31,0,43,0,54,0,30,0 46,0,50,0,20,0,34,0,41,0,8,0 42,0,16,0,13,0,64,0,27,0,71,0 23,0,51,0,48,0,2,0,32,0,59,0 49,0,60,0,63,0,9,0,47,0,58,0 6,0,17,0,56,0,57,0,28,0,35,0 70,0,12,0,22,0,11,0,25,0,69,0 73,0,15,0,67,0,40,0,5,0,1,0 3,0,44,0,62,0,18,0,52,0,53,0 66,0,2,0,45,0,54,0,16,0,65,0 29,0,72,0,30,0,20,0,9,0,71,0 63,0,37,0,32,0,4,0,34,0,13,0 8,0,26,0,11,0,31,0,33,0,56,0 43,0,24,0,58,0,21,0,1,0,46,0 67,0,14,0,42,0,68,0,55,0,23,0 41,0,70,0,15,0,64,0,18,0,47,0 27,0,44,0,38,0,25,0,10,0,57,0 17,0,53,0,35,0,48,0,39,0,59,0 5,0,50,0,69,0,49,0,51,0,62,0 73,0,22,0,36,0,66,0,61,0,60,0 40,0,19,0,12,0,28,0,7,0,3,0 52,0,30,0,64,0,6,0,46,0,32,0 42,0,29,0,24,0,2,0,43,0,31,0 34,0,44,0,17,0,11,0,16,0,4,0 50,0,13,0,26,0,14,0,59,0,54,0 56,0,8,0,62,0,70,0,36,0,48,0 49,0,37,0,67,0,12,0,20,0,57,0 27,0,40,0,66,0,51,0,21,0,47,0 33,0,61,0,25,0,58,0,23,0,72,0 45,0,15,0,68,0,63,0,35,0,22,0 73,0,41,0,7,0,65,0,38,0,6,0 28,0,9,0,69,0,39,0,53,0,5,0 19,0,52,0,60,0,71,0,18,0,1,0 3,0,55,0,13,0,10,0,11,0,51,0 58,0,59,0,70,0,31,0,34,0,67,0 25,0,62,0,22,0,46,0,2,0,42,0 16,0,33,0,40,0,68,0,43,0,50,0 39,0,47,0,37,0,6,0,54,0,24,0 29,0,35,0,27,0,1,0,49,0,19,0 9,0,7,0,57,0,64,0,44,0,21,0 53,0,23,0,10,0,45,0,4,0,8,0 5,0,66,0,12,0,52,0,63,0,55,0 32,0,69,0,72,0,38,0,18,0,28,0 41,0,17,0,3,0,71,0,73,0,26,0 15,0,61,0,56,0,60,0,65,0,30,0 14,0,36,0,21,0,20,0,48,0,25,0 34,0,64,0,7,0,33,0,47,0,54,0 46,0,70,0,43,0,5,0,19,0,10,0 16,0,58,0,63,0,37,0,38,0,53,0 72,0,6,0,66,0,59,0,31,0,3,0 17,0,24,0,12,0,32,0,61,0,42,0 57,0,18,0,30,0,26,0,51,0,22,0 41,0,23,0,13,0,69,0,52,0,35,0 20,0,65,0,45,0,1,0,50,0,62,0 73,0,68,0,9,0,2,0,56,0,27,0 67,0,4,0,71,0,36,0,39,0,15,0 28,0,14,0,49,0,11,0,44,0,60,0 8,0,48,0,30,0,40,0,55,0,29,0 69,0,54,0,26,0,72,0,63,0,21,0 20,0,35,0,16,0,70,0,24,0,7,0 34,0,45,0,62,0,38,0,9,0,12,0 64,0,39,0,1,0,10,0,31,0,22,0 46,0,23,0,18,0,73,0,49,0,17,0 40,0,65,0,56,0,14,0,4,0,25,0 8,0,37,0,44,0,5,0,51,0,42,0 59,0,29,0,15,0,3,0,52,0,33,0 32,0,67,0,11,0,43,0,27,0,60,0 47,0,50,0,55,0,53,0,61,0,71,0 41,0,28,0,58,0,48,0,68,0,66,0 2,0,6,0,57,0,13,0,36,0,19,0 45,0,18,0,42,0,5,0,14,0,56,0 17,0,10,0,52,0,21,0,65,0,22,0 51,0,24,0,38,0,49,0,70,0,26,0 35,0,73,0,47,0,44,0,12,0,50,0 32,0,64,0,58,0,3,0,72,0,20,0 13,0,6,0,53,0,29,0,25,0,34,0 28,0,59,0,27,0,43,0,4,0,61,0 46,0,39,0,11,0,40,0,57,0,48,0 9,0,54,0,15,0,23,0,16,0,8,0 7,0,31,0,1,0,55,0,36,0,69,0 71,0,66,0,19,0,37,0,68,0,62,0 33,0,30,0,63,0,41,0,67,0,2,0 60,0,29,0,51,0,72,0,45,0,17,0 13,0,20,0,38,0,56,0,44,0,39,0 21,0,35,0,11,0,42,0,73,0,8,0 36,0,7,0,26,0,58,0,27,0,15,0 54,0,4,0,48,0,49,0,12,0,18,0 1,0,70,0,65,0,37,0,28,0,33,0 66,0,50,0,10,0,30,0,25,0,9,0 43,0,62,0,59,0,41,0,57,0,55,0 2,0,34,0,63,0,61,0,3,0,14,0 40,0,24,0,53,0,64,0,60,0,23,0 16,0,52,0,47,0,67,0,69,0,19,0 68,0,32,0,22,0,6,0,5,0,31,0 71,0,36,0,12,0,46,0,51,0,33,0 39,0,38,0,58,0,15,0,50,0,42,0 66,0,49,0,43,0,7,0,17,0,8,0 53,0,30,0,70,0,13,0,73,0,72,0 28,0,55,0,64,0,52,0,2,0,37,0 25,0,47,0,26,0,45,0,32,0,35,0 3,0,65,0,48,0,20,0,23,0,22,0 68,0,57,0,19,0,24,0,34,0,69,0 1,0,4,0,6,0,9,0,46,0,14,0 21,0,61,0,62,0,56,0,67,0,16,0 71,0,40,0,31,0,63,0,44,0,18,0 59,0,41,0,10,0,11,0,29,0,54,0 27,0,5,0,55,0,60,0,35,0,33,0 51,0,20,0,68,0,43,0,15,0,53,0 45,0,30,0,3,0,24,0,49,0,36,0 32,0,73,0,39,0,62,0,16,0,14,0 56,0,12,0,72,0,23,0,1,0,66,0 54,0,2,0,44,0,17,0,58,0,69,0 8,0,64,0,19,0,25,0,59,0,63,0 10,0,40,0,42,0,26,0,6,0,41,0 60,0,9,0,4,0,57,0,52,0,70,0 11,0,5,0,34,0,65,0,71,0,7,0 31,0,61,0,47,0,21,0,13,0,48,0 38,0,22,0,46,0,67,0,29,0,28,0 27,0,18,0,36,0,37,0,50,0,23,0 53,0,54,0,19,0,30,0,56,0,32,0 63,0,6,0,14,0,70,0,62,0,17,0 44,0,43,0,26,0,39,0,65,0,12,0 42,0,69,0,20,0,40,0,60,0,59,0 5,0,16,0,3,0,1,0,57,0,47,0 35,0,67,0,18,0,29,0,66,0,64,0 25,0,21,0,2,0,49,0,41,0,71,0 52,0,8,0,68,0,38,0,11,0,61,0 31,0,15,0,46,0,37,0,45,0,27,0 34,0,51,0,58,0,10,0,73,0,28,0 72,0,50,0,4,0,7,0,22,0,55,0 9,0,24,0,48,0,33,0,13,0,67,0 43,0,36,0,5,0,26,0,64,0,53,0 59,0,23,0,11,0,30,0,62,0,47,0 69,0,56,0,70,0,3,0,46,0,27,0 61,0,45,0,1,0,41,0,32,0,44,0 14,0,57,0,71,0,8,0,58,0,35,0 50,0,16,0,60,0,6,0,10,0,48,0 49,0,72,0,34,0,52,0,39,0,42,0 19,0,37,0,9,0,22,0,17,0,40,0 25,0,55,0,54,0,24,0,15,0,28,0 21,0,12,0,7,0,18,0,68,0,13,0 63,0,29,0,31,0,73,0,65,0,51,0 2,0,33,0,20,0,66,0,4,0,38,0 ================================================ FILE: schedules/73_13.csv ================================================ 23,0,67,0,17,0,64,0,30,0,14,0 46,0,66,0,12,0,15,0,38,0,32,0 61,0,22,0,50,0,9,0,71,0,63,0 18,0,40,0,56,0,62,0,52,0,7,0 13,0,28,0,33,0,59,0,4,0,73,0 31,0,2,0,37,0,11,0,43,0,68,0 54,0,42,0,45,0,57,0,26,0,36,0 70,0,27,0,6,0,29,0,5,0,10,0 65,0,24,0,19,0,39,0,3,0,25,0 58,0,20,0,1,0,8,0,41,0,60,0 49,0,53,0,16,0,69,0,44,0,72,0 55,0,35,0,51,0,34,0,21,0,48,0 13,0,67,0,43,0,47,0,36,0,18,0 31,0,5,0,12,0,4,0,22,0,23,0 70,0,14,0,33,0,54,0,2,0,40,0 52,0,37,0,9,0,60,0,27,0,3,0 38,0,26,0,61,0,65,0,8,0,11,0 48,0,71,0,57,0,68,0,28,0,39,0 47,0,7,0,66,0,34,0,42,0,41,0 73,0,10,0,25,0,59,0,50,0,21,0 6,0,53,0,19,0,62,0,16,0,58,0 45,0,32,0,72,0,17,0,51,0,20,0 55,0,1,0,15,0,30,0,56,0,69,0 24,0,35,0,64,0,46,0,29,0,44,0 49,0,54,0,38,0,63,0,43,0,3,0 10,1,66,0,60,0,23,1,47,0,33,0 18,1,39,0,7,0,16,1,59,0,61,0 2,1,50,0,27,0,57,0,62,0,32,0 25,0,1,0,37,0,5,0,13,0,51,0 71,0,21,0,44,0,40,0,15,0,42,0 69,0,8,0,26,0,36,0,24,0,6,0 73,0,53,0,20,0,68,0,22,0,52,0 48,0,9,0,65,0,45,0,34,0,30,0 46,0,70,0,67,0,4,0,63,0,17,0 29,0,72,0,14,0,56,0,28,0,31,0 49,0,41,0,19,0,12,0,35,0,11,0 58,0,39,0,10,0,64,0,55,0,42,0 6,0,69,0,2,0,52,0,13,0,38,0 36,0,68,0,7,0,5,0,65,0,33,0 32,0,17,0,53,0,60,0,23,0,1,0 45,0,46,0,31,0,66,0,16,0,8,0 28,0,22,0,44,0,37,0,19,0,34,0 61,0,41,0,4,0,73,0,55,0,57,0 43,0,70,0,64,0,62,0,3,0,30,0 25,0,54,0,14,0,12,0,18,0,48,0 24,0,15,0,26,0,49,0,9,0,67,0 56,0,72,0,20,0,35,0,71,0,27,0 29,0,59,0,51,0,58,0,40,0,63,0 21,0,11,0,19,0,50,0,47,0,52,0 57,0,28,0,1,0,64,0,38,0,33,0 68,0,10,0,8,0,4,0,42,0,13,0 73,0,43,0,66,0,24,0,60,0,70,0 67,0,2,0,39,0,41,0,45,0,56,0 14,0,5,0,46,0,34,0,49,0,61,0 30,0,72,0,27,0,50,0,11,0,6,0 17,0,26,0,16,0,48,0,25,0,62,0 29,0,18,0,69,0,7,0,22,0,37,0 35,0,40,0,59,0,23,0,54,0,15,0 9,0,32,0,31,0,53,0,36,0,21,0 63,0,44,0,12,0,71,0,55,0,20,0 47,0,3,0,65,0,51,0,58,0,72,0 60,0,67,0,11,0,16,0,28,0,10,0 29,0,1,0,39,0,50,0,46,0,73,0 54,0,68,0,62,0,34,0,69,0,23,0 27,0,26,0,42,0,31,0,33,0,18,0 52,0,6,0,63,0,15,0,37,0,41,0 55,0,14,0,43,0,25,0,19,0,7,0 3,0,17,0,21,0,12,0,2,0,57,0 4,0,65,0,20,0,53,0,9,0,56,0 22,0,58,0,24,0,35,0,45,0,38,0 13,0,48,0,59,0,70,0,49,0,71,0 5,0,8,0,47,0,32,0,64,0,44,0 51,0,61,0,40,0,36,0,30,0,66,0 3,0,42,0,23,0,6,0,46,0,60,0 25,0,34,0,63,0,2,0,73,0,72,0 31,0,43,0,10,0,56,0,17,0,65,0 53,0,7,0,26,0,28,0,50,0,35,0 71,0,18,0,32,0,11,0,64,0,1,0 62,0,39,0,9,0,29,0,12,0,37,0 5,0,55,0,52,0,54,0,24,0,51,0 15,0,20,0,45,0,13,0,47,0,70,0 44,0,33,0,19,0,61,0,69,0,48,0 49,0,27,0,4,0,40,0,38,0,16,0 58,0,59,0,8,0,57,0,67,0,14,0 36,0,41,0,22,0,68,0,21,0,30,0 66,0,62,0,28,0,65,0,52,0,1,0 63,0,5,0,15,0,45,0,18,0,53,0 23,0,50,0,9,0,69,0,43,0,51,0 72,0,13,0,60,0,61,0,54,0,29,0 56,0,73,0,11,0,8,0,44,0,3,0 25,0,35,0,4,0,6,0,47,0,30,0 36,0,34,0,31,0,19,0,70,0,57,0 37,0,42,0,38,0,20,0,40,0,67,0 33,0,41,0,16,0,71,0,24,0,17,0 39,0,27,0,14,0,66,0,21,0,22,0 49,0,2,0,48,0,7,0,64,0,58,0 68,0,59,0,46,0,12,0,55,0,26,0 10,0,56,0,6,0,32,0,54,0,19,0 28,0,42,0,20,0,5,0,50,0,43,0 16,0,31,0,70,0,61,0,35,0,1,0 11,0,53,0,57,0,66,0,40,0,25,0 65,0,51,0,22,0,2,0,41,0,64,0 7,0,46,0,34,0,44,0,13,0,27,0 8,0,33,0,62,0,39,0,72,0,15,0 3,0,69,0,45,0,14,0,59,0,32,0 71,0,30,0,38,0,26,0,52,0,10,0 18,0,24,0,63,0,21,0,4,0,60,0 23,0,36,0,12,0,58,0,73,0,37,0 47,0,17,0,49,0,29,0,9,0,68,0 55,0,67,0,22,0,48,0,72,0,6,0 34,0,64,0,3,0,31,0,15,0,53,0 10,0,40,0,32,0,43,0,41,0,26,0 59,0,30,0,19,0,46,0,20,0,2,0 11,0,24,0,4,0,14,0,7,0,1,0 51,0,44,0,36,0,39,0,38,0,60,0 49,0,56,0,33,0,50,0,45,0,37,0 29,0,47,0,48,0,52,0,23,0,57,0 5,0,35,0,66,0,67,0,73,0,71,0 25,0,68,0,18,0,9,0,70,0,8,0 54,0,69,0,21,0,27,0,58,0,61,0 63,0,65,0,13,0,12,0,16,0,42,0 17,0,62,0,36,0,55,0,28,0,49,0 24,0,38,0,34,0,56,0,37,0,59,0 47,0,53,0,2,0,39,0,73,0,26,0 19,0,40,0,72,0,5,0,68,0,1,0 45,0,44,0,23,0,21,0,25,0,27,0 11,0,70,0,52,0,22,0,42,0,33,0 57,0,41,0,10,0,69,0,46,0,9,0 71,0,51,0,12,0,67,0,31,0,6,0 20,0,60,0,35,0,62,0,14,0,65,0 28,0,7,0,8,0,30,0,63,0,54,0 15,0,61,0,64,0,48,0,43,0,4,0 58,0,13,0,18,0,50,0,17,0,66,0 32,0,16,0,3,0,55,0,29,0,33,0 70,0,23,0,41,0,44,0,56,0,26,0 37,0,14,0,51,0,53,0,10,0,42,0 12,0,27,0,28,0,24,0,8,0,2,0 11,0,62,0,61,0,68,0,67,0,45,0 57,0,69,0,35,0,20,0,5,0,18,0 3,0,29,0,4,0,25,0,71,0,36,0 58,0,52,0,30,0,34,0,32,0,39,0 40,0,50,0,60,0,31,0,55,0,48,0 6,0,21,0,1,0,65,0,59,0,49,0 47,0,54,0,43,0,16,0,46,0,22,0 38,0,7,0,73,0,17,0,19,0,15,0 13,0,66,0,9,0,64,0,72,0,63,0 67,0,42,0,56,0,28,0,25,0,69,0 33,0,61,0,39,0,20,0,10,0,23,0 41,0,27,0,18,0,3,0,48,0,53,0 55,0,32,0,37,0,70,0,65,0,35,0 50,0,16,0,68,0,15,0,36,0,14,0 2,0,43,0,21,0,71,0,29,0,8,0 73,0,9,0,5,0,46,0,11,0,58,0 52,0,60,0,64,0,45,0,12,0,7,0 44,0,6,0,34,0,1,0,40,0,17,0 22,0,30,0,57,0,49,0,24,0,13,0 4,0,54,0,26,0,66,0,51,0,19,0 38,0,63,0,59,0,31,0,47,0,62,0 72,0,23,0,16,0,10,0,18,0,2,0 ================================================ FILE: schedules/73_14.csv ================================================ 25,0,7,0,72,0,30,0,4,0,34,0 46,0,39,0,55,0,70,0,31,0,62,0 53,0,43,0,42,0,18,0,37,0,2,0 19,0,23,0,54,0,61,0,16,0,1,0 38,0,35,0,47,0,59,0,13,0,27,0 33,0,24,0,63,0,20,0,67,0,12,0 3,0,71,0,58,0,64,0,50,0,28,0 69,0,44,0,6,0,45,0,48,0,32,0 65,0,5,0,41,0,22,0,15,0,26,0 49,0,9,0,8,0,73,0,36,0,57,0 17,0,14,0,11,0,51,0,66,0,10,0 29,0,52,0,60,0,21,0,68,0,40,0 56,0,30,0,62,0,34,0,1,0,27,0 47,0,64,0,2,0,46,0,45,0,18,0 61,0,63,0,71,0,43,0,37,0,3,0 53,0,8,0,15,0,12,0,28,0,58,0 50,0,31,0,17,0,20,0,42,0,57,0 54,0,51,0,32,0,35,0,7,0,60,0 69,0,21,0,14,0,26,0,16,0,33,0 36,0,55,0,66,0,22,0,29,0,59,0 73,0,10,0,23,0,70,0,65,0,40,0 25,0,38,0,68,0,11,0,5,0,72,0 41,0,13,0,44,0,52,0,39,0,67,0 56,0,49,0,48,0,4,0,24,0,19,0 6,0,71,0,34,0,9,0,15,0,43,0 32,1,33,0,21,0,57,1,2,0,51,0 47,1,36,0,18,0,31,1,45,0,30,0 22,0,14,0,20,0,58,0,46,0,23,0 55,0,28,0,17,0,73,0,61,0,13,0 40,0,11,0,35,0,37,0,5,0,29,0 16,0,52,0,56,0,67,0,42,0,7,0 26,0,59,0,39,0,53,0,49,0,54,0 27,0,3,0,6,0,68,0,24,0,65,0 70,0,64,0,63,0,44,0,9,0,25,0 66,0,38,0,1,0,48,0,41,0,8,0 10,0,72,0,12,0,69,0,60,0,50,0 19,0,62,0,28,0,4,0,5,0,57,0 71,0,17,0,18,0,47,0,16,0,23,0 35,0,26,0,42,0,45,0,34,0,14,0 37,0,44,0,30,0,58,0,22,0,49,0 53,0,7,0,70,0,36,0,48,0,6,0 1,0,8,0,25,0,52,0,32,0,50,0 15,0,10,0,13,0,54,0,66,0,73,0 63,0,56,0,21,0,69,0,61,0,46,0 19,0,9,0,67,0,2,0,68,0,72,0 62,0,29,0,27,0,20,0,31,0,51,0 3,0,41,0,60,0,59,0,11,0,4,0 38,0,65,0,55,0,64,0,43,0,12,0 39,0,33,0,14,0,24,0,40,0,48,0 44,0,63,0,54,0,30,0,50,0,53,0 21,0,36,0,25,0,1,0,37,0,67,0 31,0,15,0,34,0,22,0,61,0,52,0 59,0,58,0,51,0,45,0,73,0,3,0 16,0,12,0,57,0,46,0,29,0,64,0 41,0,69,0,42,0,71,0,40,0,19,0 72,0,62,0,13,0,26,0,8,0,6,0 55,0,4,0,43,0,35,0,10,0,39,0 5,0,24,0,2,0,7,0,66,0,47,0 18,0,20,0,32,0,11,0,9,0,38,0 23,0,70,0,27,0,60,0,28,0,49,0 56,0,68,0,33,0,65,0,17,0,53,0 61,0,64,0,72,0,51,0,41,0,6,0 73,0,62,0,71,0,22,0,25,0,63,0 19,0,12,0,52,0,47,0,59,0,31,0 4,0,32,0,37,0,16,0,58,0,14,0 48,0,5,0,30,0,42,0,46,0,13,0 44,0,28,0,20,0,7,0,34,0,26,0 21,0,8,0,43,0,17,0,24,0,70,0 10,0,29,0,1,0,2,0,3,0,33,0 9,0,36,0,40,0,38,0,54,0,56,0 11,0,60,0,68,0,45,0,15,0,55,0 57,0,23,0,39,0,66,0,27,0,67,0 35,0,49,0,50,0,69,0,18,0,65,0 34,0,70,0,59,0,13,0,24,0,16,0 48,0,4,0,53,0,51,0,5,0,21,0 19,0,29,0,8,0,46,0,9,0,30,0 42,0,60,0,62,0,44,0,64,0,38,0 7,0,73,0,58,0,11,0,39,0,2,0 61,0,12,0,47,0,49,0,14,0,25,0 50,0,40,0,43,0,67,0,36,0,28,0 45,0,37,0,69,0,66,0,65,0,20,0 32,0,72,0,15,0,10,0,17,0,56,0 33,0,23,0,35,0,63,0,6,0,31,0 52,0,1,0,26,0,71,0,57,0,55,0 27,0,18,0,68,0,22,0,54,0,41,0 3,0,64,0,30,0,40,0,53,0,47,0 50,0,65,0,61,0,48,0,29,0,7,0 16,0,32,0,28,0,72,0,49,0,45,0 36,0,19,0,33,0,35,0,15,0,62,0 25,0,24,0,57,0,44,0,55,0,23,0 9,0,41,0,68,0,10,0,59,0,37,0 2,0,14,0,31,0,8,0,34,0,5,0 69,0,4,0,54,0,43,0,17,0,52,0 58,0,27,0,26,0,12,0,42,0,63,0 70,0,71,0,20,0,56,0,11,0,66,0 73,0,1,0,46,0,60,0,67,0,18,0 39,0,22,0,6,0,3,0,21,0,38,0 51,0,23,0,50,0,13,0,68,0,34,0 54,0,37,0,48,0,2,0,55,0,62,0 41,0,72,0,43,0,29,0,47,0,58,0 61,0,20,0,40,0,70,0,8,0,32,0 73,0,11,0,30,0,24,0,35,0,69,0 22,0,60,0,65,0,39,0,16,0,19,0 64,0,31,0,7,0,17,0,59,0,21,0 3,0,15,0,36,0,42,0,44,0,66,0 4,0,6,0,67,0,18,0,12,0,26,0 57,0,56,0,28,0,51,0,14,0,38,0 5,0,13,0,1,0,45,0,9,0,63,0 27,0,53,0,25,0,71,0,10,0,46,0 49,0,52,0,73,0,33,0,43,0,54,0 44,0,3,0,34,0,19,0,41,0,17,0 30,0,67,0,26,0,61,0,11,0,31,0 55,0,40,0,18,0,72,0,58,0,21,0 60,0,64,0,23,0,5,0,36,0,69,0 20,0,68,0,35,0,25,0,48,0,71,0 10,0,6,0,16,0,63,0,47,0,39,0 24,0,66,0,53,0,32,0,62,0,9,0 45,0,56,0,22,0,12,0,8,0,33,0 50,0,70,0,37,0,27,0,4,0,52,0 7,0,46,0,2,0,15,0,38,0,49,0 1,0,59,0,42,0,28,0,65,0,51,0 29,0,57,0,18,0,14,0,13,0,60,0 44,0,24,0,31,0,71,0,72,0,54,0 34,0,22,0,67,0,64,0,32,0,53,0 50,0,6,0,5,0,56,0,73,0,55,0 16,0,36,0,11,0,48,0,27,0,9,0 70,0,69,0,58,0,47,0,1,0,68,0 66,0,13,0,4,0,61,0,33,0,42,0 43,0,65,0,59,0,14,0,46,0,62,0 57,0,21,0,49,0,20,0,3,0,10,0 7,0,12,0,17,0,35,0,37,0,41,0 38,0,2,0,45,0,23,0,52,0,30,0 51,0,8,0,40,0,15,0,19,0,63,0 29,0,28,0,26,0,39,0,25,0,32,0 9,0,31,0,55,0,65,0,14,0,4,0 44,0,59,0,18,0,61,0,56,0,27,0 41,0,47,0,49,0,50,0,62,0,21,0 38,0,58,0,37,0,33,0,34,0,73,0 13,0,11,0,20,0,1,0,19,0,43,0 10,0,48,0,26,0,22,0,64,0,40,0 54,0,45,0,42,0,72,0,70,0,29,0 17,0,60,0,2,0,30,0,25,0,6,0 66,0,46,0,63,0,52,0,28,0,68,0 24,0,15,0,7,0,53,0,69,0,57,0 67,0,8,0,16,0,5,0,3,0,35,0 51,0,39,0,12,0,36,0,23,0,71,0 21,0,47,0,65,0,34,0,11,0,54,0 40,0,31,0,49,0,17,0,13,0,6,0 66,0,60,0,25,0,56,0,58,0,43,0 27,0,7,0,33,0,19,0,55,0,64,0 48,0,72,0,14,0,52,0,53,0,3,0 67,0,45,0,61,0,10,0,62,0,38,0 2,0,63,0,32,0,41,0,36,0,59,0 57,0,70,0,30,0,5,0,12,0,71,0 51,0,46,0,37,0,50,0,26,0,24,0 69,0,68,0,39,0,8,0,18,0,42,0 4,0,73,0,15,0,20,0,23,0,29,0 28,0,1,0,9,0,44,0,22,0,35,0 16,0,25,0,45,0,53,0,31,0,41,0 43,0,5,0,32,0,27,0,21,0,30,0 11,0,57,0,46,0,33,0,6,0,72,0 48,0,66,0,34,0,18,0,63,0,49,0 58,0,24,0,52,0,10,0,65,0,36,0 28,0,35,0,61,0,47,0,20,0,60,0 12,0,40,0,73,0,44,0,68,0,16,0 51,0,22,0,55,0,67,0,69,0,2,0 15,0,14,0,59,0,1,0,39,0,50,0 64,0,71,0,4,0,13,0,8,0,54,0 17,0,38,0,29,0,70,0,26,0,19,0 3,0,42,0,9,0,7,0,62,0,23,0 56,0,32,0,47,0,37,0,57,0,31,0 ================================================ FILE: schedules/73_2.csv ================================================ 19,0,7,0,71,0,49,0,26,0,45,0 24,0,4,0,1,0,52,0,40,0,20,0 3,0,6,0,27,0,48,0,72,0,37,0 22,0,67,0,14,0,65,0,42,0,66,0 59,0,25,0,23,0,28,0,33,0,10,0 17,0,8,0,32,0,46,0,68,0,43,0 53,0,16,0,63,0,70,0,29,0,55,0 50,0,64,0,21,0,38,0,41,0,12,0 58,0,57,0,31,0,62,0,69,0,35,0 39,0,18,0,51,0,13,0,44,0,61,0 30,0,2,0,11,0,34,0,56,0,73,0 15,0,47,0,54,0,9,0,36,0,5,0 60,0,48,0,28,0,26,0,46,0,4,0 32,0,65,0,49,0,6,0,52,0,41,0 37,0,43,0,20,0,12,0,45,0,42,0 38,0,71,0,63,0,22,0,59,0,62,0 33,0,13,0,34,0,24,0,19,0,64,0 29,0,11,0,57,0,27,0,51,0,68,0 10,0,31,0,53,0,1,0,30,0,17,0 73,0,5,0,18,0,25,0,21,0,58,0 15,0,44,0,56,0,66,0,8,0,72,0 47,0,69,0,61,0,14,0,70,0,2,0 60,0,36,0,67,0,50,0,16,0,3,0 40,0,55,0,23,0,39,0,7,0,54,0 35,0,32,1,59,1,9,0,13,1,49,1 ================================================ FILE: schedules/73_3.csv ================================================ 62,0,21,0,43,0,69,0,46,0,53,0 60,0,39,0,56,0,33,0,64,0,63,0 29,0,31,0,18,0,7,0,51,0,55,0 68,0,23,0,61,0,3,0,50,0,13,0 71,0,14,0,20,0,8,0,67,0,65,0 12,0,35,0,66,0,19,0,37,0,22,0 48,0,32,0,30,0,54,0,27,0,70,0 47,0,44,0,2,0,45,0,28,0,36,0 17,0,57,0,58,0,10,0,11,0,72,0 4,0,6,0,15,0,16,0,9,0,5,0 42,0,59,0,25,0,34,0,40,0,1,0 26,0,52,0,73,0,24,0,38,0,49,0 41,0,71,0,18,0,66,0,32,0,43,0 35,1,51,0,54,0,33,1,53,0,44,0 27,1,10,0,8,0,29,0,19,0,45,0 55,0,50,0,9,0,57,0,46,0,47,0 1,0,39,0,5,0,22,0,68,0,30,0 26,0,2,0,69,0,59,0,23,0,60,0 70,0,6,0,67,0,25,0,73,0,11,0 56,0,42,0,16,0,49,0,12,0,62,0 65,0,17,0,36,0,4,0,24,0,13,0 72,0,48,0,63,0,61,0,34,0,15,0 7,0,38,0,37,0,41,0,64,0,21,0 40,0,52,0,28,0,31,0,58,0,14,0 3,0,27,0,43,0,20,0,57,0,39,0 53,0,10,0,23,0,25,0,16,0,55,0 33,0,12,0,45,0,26,0,18,0,17,0 35,0,13,0,60,0,8,0,5,0,73,0 24,0,7,0,9,0,67,0,22,0,72,0 19,0,63,0,70,0,62,0,38,0,59,0 51,0,30,0,3,0,56,0,2,0,52,0 1,0,69,0,41,0,14,0,48,0,6,0 4,0,47,0,58,0,21,0,29,0,54,0 15,0,50,0,71,0,42,0,44,0,31,0 46,0,28,0,20,0,68,0,64,0,66,0 61,0,49,0,32,0,40,0,37,0,36,0 34,0,11,0,33,0,65,0,35,0,27,0 ================================================ FILE: schedules/73_4.csv ================================================ 19,0,51,0,54,0,3,0,48,0,34,0 70,0,40,0,32,0,23,0,56,0,33,0 4,0,42,0,64,0,22,0,49,0,71,0 45,0,31,0,16,0,73,0,5,0,72,0 8,0,67,0,41,0,47,0,14,0,43,0 13,0,66,0,65,0,53,0,10,0,9,0 38,0,50,0,27,0,26,0,62,0,39,0 24,0,11,0,30,0,17,0,60,0,44,0 59,0,12,0,61,0,63,0,21,0,15,0 29,0,69,0,46,0,52,0,68,0,6,0 35,0,20,0,7,0,55,0,28,0,57,0 18,0,2,0,58,0,37,0,25,0,36,0 1,0,14,0,50,0,3,0,9,0,72,0 17,0,31,0,47,0,23,0,39,0,66,0 4,0,15,0,33,0,16,0,30,0,62,0 22,0,56,0,63,0,11,0,53,0,41,0 5,0,40,0,48,0,8,0,7,0,61,0 28,0,52,0,25,0,65,0,59,0,27,0 42,0,1,0,44,0,2,0,29,0,38,0 71,0,51,0,68,0,20,0,21,0,37,0 60,0,34,0,6,0,43,0,70,0,10,0 67,0,18,0,57,0,13,0,24,0,19,0 55,0,26,0,36,0,49,0,46,0,45,0 12,0,69,0,35,0,58,0,73,0,32,0 54,0,38,0,15,0,64,0,11,0,28,0 8,1,66,0,16,0,21,1,56,0,42,0 34,0,20,0,63,0,1,0,27,0,47,0 2,0,50,0,65,0,31,0,60,0,67,0 6,0,23,0,53,0,55,0,25,0,71,0 5,0,62,0,3,0,59,0,24,0,58,0 4,0,44,0,26,0,18,0,12,0,68,0 70,0,45,0,7,0,69,0,54,0,39,0 30,0,36,0,57,0,29,0,51,0,32,0 43,0,37,0,22,0,35,0,40,0,13,0 41,0,72,0,10,0,33,0,64,0,17,0 52,0,9,0,19,0,49,0,73,0,61,0 14,0,48,0,60,0,46,0,28,0,62,0 8,0,63,0,3,0,70,0,2,0,68,0 32,0,55,0,59,0,67,0,38,0,66,0 36,0,40,0,21,0,6,0,1,0,4,0 11,0,13,0,33,0,45,0,71,0,58,0 30,0,73,0,20,0,22,0,26,0,65,0 53,0,47,0,61,0,16,0,50,0,69,0 39,0,72,0,46,0,42,0,18,0,35,0 57,0,9,0,41,0,15,0,48,0,25,0 23,0,10,0,37,0,19,0,5,0,44,0 56,0,54,0,27,0,31,0,24,0,43,0 64,0,12,0,51,0,14,0,52,0,7,0 34,0,49,0,21,0,29,0,17,0,8,0 ================================================ FILE: schedules/73_5.csv ================================================ 18,0,23,0,68,0,31,0,25,0,72,0 37,0,2,0,47,0,46,0,48,0,26,0 36,0,8,0,59,0,27,0,4,0,52,0 14,0,1,0,70,0,73,0,49,0,5,0 41,0,38,0,28,0,16,0,22,0,45,0 54,0,21,0,67,0,11,0,58,0,40,0 15,0,64,0,61,0,6,0,44,0,20,0 63,0,55,0,42,0,10,0,7,0,35,0 39,0,56,0,17,0,32,0,53,0,62,0 29,0,24,0,34,0,13,0,66,0,60,0 3,0,57,0,50,0,30,0,19,0,71,0 12,0,9,0,51,0,69,0,43,0,33,0 65,0,49,0,25,0,61,0,58,0,46,0 6,0,27,0,21,0,63,0,47,0,14,0 11,0,7,0,15,0,52,0,28,0,53,0 39,0,18,0,54,0,20,0,35,0,38,0 19,0,10,0,62,0,64,0,45,0,29,0 5,0,4,0,3,0,31,0,2,0,12,0 33,0,59,0,42,0,67,0,32,0,30,0 43,0,1,0,40,0,36,0,24,0,23,0 48,0,69,0,34,0,70,0,16,0,56,0 26,0,22,0,73,0,44,0,71,0,13,0 68,0,9,0,17,0,57,0,66,0,37,0 60,0,72,0,55,0,50,0,8,0,51,0 65,0,47,0,5,0,41,0,53,0,18,0 10,1,36,0,30,0,38,0,15,0,21,0 70,0,32,0,45,0,52,0,12,0,61,0 14,0,35,0,56,0,44,0,24,0,3,0 20,0,25,0,43,0,27,0,2,0,66,0 49,0,63,0,60,0,67,0,48,0,9,0 33,0,64,0,26,0,34,0,55,0,68,0 73,0,46,0,50,0,41,0,54,0,42,0 71,0,7,0,16,0,17,0,51,0,6,0 59,0,31,0,22,0,11,0,1,0,19,0 28,0,37,0,13,0,23,0,65,0,8,0 40,0,69,0,57,0,29,0,39,0,72,0 4,0,62,0,14,0,58,0,68,0,20,0 67,0,52,0,10,0,5,0,46,0,34,0 45,0,53,0,54,0,25,0,33,0,24,0 51,0,18,0,49,0,26,0,15,0,19,0 27,0,7,0,64,0,38,0,3,0,1,0 66,0,23,0,44,0,30,0,47,0,39,0 2,0,50,0,40,0,28,0,63,0,59,0 70,0,29,0,65,0,17,0,42,0,4,0 12,0,37,0,60,0,11,0,56,0,73,0 58,0,31,0,6,0,41,0,57,0,8,0 13,0,16,0,32,0,9,0,36,0,72,0 48,0,43,0,62,0,71,0,55,0,21,0 35,0,69,0,5,0,22,0,61,0,23,0 30,0,34,0,45,0,65,0,51,0,27,0 73,0,33,0,19,0,4,0,63,0,38,0 47,0,56,0,28,0,49,0,54,0,31,0 72,0,58,0,44,0,59,0,17,0,10,0 53,0,64,0,36,0,12,0,50,0,67,0 18,0,11,0,46,0,43,0,57,0,16,0 68,0,41,0,24,0,39,0,70,0,21,0 6,0,35,0,2,0,1,0,62,0,9,0 66,0,26,0,14,0,7,0,8,0,32,0 52,0,20,0,55,0,22,0,29,0,37,0 15,0,25,0,71,0,69,0,42,0,60,0 3,0,61,0,48,0,13,0,40,0,10,0 ================================================ FILE: schedules/73_6.csv ================================================ 29,0,12,0,18,0,36,0,58,0,27,0 5,0,65,0,25,0,38,0,44,0,43,0 16,0,22,0,19,0,47,0,3,0,24,0 50,0,17,0,61,0,33,0,32,0,55,0 7,0,52,0,1,0,42,0,56,0,31,0 21,0,40,0,63,0,45,0,64,0,15,0 59,0,68,0,28,0,35,0,2,0,71,0 30,0,39,0,4,0,57,0,48,0,49,0 13,0,60,0,11,0,53,0,46,0,10,0 62,0,6,0,41,0,37,0,69,0,67,0 20,0,72,0,54,0,70,0,9,0,51,0 8,0,73,0,14,0,23,0,26,0,66,0 34,0,35,0,38,0,19,0,61,0,42,0 63,0,49,0,59,0,18,0,52,0,65,0 10,0,27,0,30,0,24,0,5,0,21,0 68,0,47,0,32,0,45,0,1,0,58,0 44,0,51,0,22,0,53,0,6,0,50,0 41,0,23,0,56,0,25,0,29,0,46,0 8,0,40,0,33,0,28,0,60,0,9,0 34,0,66,0,4,0,20,0,3,0,64,0 73,0,71,0,13,0,7,0,54,0,12,0 43,0,11,0,62,0,55,0,31,0,39,0 26,0,36,0,16,0,37,0,48,0,15,0 2,0,14,0,17,0,72,0,69,0,57,0 67,0,18,0,1,0,70,0,33,0,19,0 64,0,65,0,24,0,41,0,9,0,32,0 10,0,47,0,42,0,20,0,63,0,6,0 35,0,44,0,66,0,11,0,49,0,12,0 4,0,73,0,25,0,51,0,40,0,58,0 16,0,39,0,5,0,23,0,53,0,71,0 61,0,45,0,22,0,13,0,30,0,69,0 46,0,52,0,26,0,43,0,57,0,54,0 56,0,3,0,38,0,14,0,50,0,36,0 29,0,59,0,72,0,37,0,8,0,21,0 27,0,55,0,48,0,7,0,67,0,2,0 70,0,15,0,68,0,60,0,62,0,34,0 28,0,31,0,65,0,17,0,22,0,10,0 44,0,30,0,46,0,20,0,16,0,18,0 57,0,13,0,24,0,1,0,6,0,25,0 58,0,64,0,72,0,35,0,39,0,50,0 61,0,49,0,40,0,3,0,26,0,67,0 15,0,53,0,47,0,56,0,33,0,59,0 36,0,2,0,41,0,21,0,66,0,52,0 29,0,7,0,38,0,17,0,70,0,4,0 51,0,37,0,43,0,27,0,68,0,14,0 28,0,45,0,48,0,62,0,73,0,42,0 23,0,69,0,9,0,12,0,31,0,34,0 32,0,11,0,63,0,8,0,5,0,54,0 55,0,71,0,26,0,60,0,19,0,6,0 10,0,44,0,39,0,15,0,2,0,3,0 20,0,14,0,49,0,29,0,22,0,1,0 65,0,33,0,57,0,27,0,35,0,16,0 37,0,23,0,64,0,7,0,61,0,28,0 50,0,12,0,46,0,5,0,45,0,70,0 17,0,53,0,9,0,43,0,73,0,18,0 21,0,67,0,42,0,32,0,4,0,60,0 25,0,69,0,54,0,59,0,36,0,55,0 30,0,71,0,58,0,63,0,62,0,66,0 47,0,51,0,8,0,52,0,38,0,13,0 31,0,41,0,19,0,48,0,72,0,68,0 34,0,24,0,17,0,40,0,11,0,56,0 5,0,1,0,37,0,9,0,35,0,4,0 64,0,46,0,6,0,73,0,2,0,49,0 58,0,14,0,60,0,44,0,61,0,59,0 25,0,52,0,15,0,67,0,12,0,30,0 27,0,70,0,71,0,41,0,42,0,8,0 7,0,32,0,66,0,43,0,10,0,40,0 18,0,34,0,57,0,50,0,21,0,47,0 38,0,54,0,68,0,22,0,39,0,33,0 48,0,3,0,11,0,69,0,51,0,65,0 19,0,36,0,62,0,13,0,20,0,23,0 16,0,56,0,55,0,28,0,63,0,72,0 31,0,53,0,45,0,26,0,29,0,24,0 ================================================ FILE: schedules/73_7.csv ================================================ 71,0,39,0,53,0,37,0,4,0,29,0 24,0,43,0,10,0,58,0,46,0,11,0 50,0,3,0,35,0,70,0,57,0,19,0 13,0,7,0,15,0,55,0,18,0,48,0 66,0,28,0,67,0,33,0,61,0,40,0 60,0,6,0,62,0,44,0,32,0,56,0 14,0,5,0,41,0,25,0,26,0,22,0 72,0,30,0,36,0,49,0,21,0,51,0 73,0,42,0,8,0,52,0,20,0,27,0 16,0,12,0,17,0,45,0,34,0,69,0 2,0,1,0,68,0,47,0,64,0,23,0 54,0,31,0,59,0,9,0,65,0,63,0 40,0,70,0,10,0,38,0,55,0,71,0 35,0,7,0,22,0,39,0,46,0,28,0 30,0,15,0,8,0,66,0,3,0,60,0 4,0,62,0,19,0,61,0,17,0,43,0 18,0,24,0,33,0,73,0,23,0,57,0 11,0,47,0,25,0,32,0,63,0,48,0 49,0,42,0,12,0,2,0,54,0,5,0 51,0,37,0,68,0,34,0,59,0,41,0 56,0,26,0,31,0,38,0,27,0,64,0 29,0,65,0,72,0,6,0,50,0,20,0 67,0,53,0,21,0,14,0,52,0,45,0 69,0,58,0,1,0,36,0,9,0,13,0 44,0,8,0,11,0,16,0,61,0,2,0 10,1,73,0,3,0,37,1,7,0,5,0 28,1,43,0,71,0,60,1,23,0,12,0 20,1,49,0,57,0,59,0,46,0,66,0 50,0,15,0,39,0,54,0,62,0,14,0 21,0,18,0,47,0,27,0,19,0,69,0 13,0,63,0,30,0,52,0,26,0,4,0 38,0,45,0,25,0,36,0,68,0,29,0 70,0,16,0,41,0,58,0,6,0,67,0 56,0,17,0,42,0,9,0,72,0,53,0 48,0,35,0,51,0,24,0,1,0,31,0 64,0,34,0,40,0,32,0,22,0,65,0 44,0,37,0,52,0,33,0,55,0,47,0 28,0,59,0,73,0,4,0,21,0,50,0 60,0,67,0,38,0,39,0,11,0,13,0 18,0,61,0,70,0,53,0,25,0,46,0 9,0,6,0,23,0,15,0,5,0,51,0 58,0,72,0,7,0,31,0,40,0,62,0 42,0,29,0,34,0,35,0,26,0,44,0 63,0,22,0,3,0,17,0,33,0,1,0 14,0,49,0,68,0,32,0,69,0,8,0 19,0,24,0,54,0,45,0,30,0,71,0 36,0,27,0,66,0,65,0,12,0,55,0 20,0,48,0,43,0,41,0,2,0,56,0 57,0,10,0,29,0,16,0,64,0,13,0 51,0,26,0,11,0,40,0,18,0,3,0 9,0,8,0,4,0,22,0,47,0,67,0 32,0,17,0,46,0,54,0,52,0,38,0 14,0,23,0,59,0,44,0,19,0,7,0 20,0,5,0,31,0,39,0,34,0,36,0 6,0,55,0,45,0,57,0,43,0,42,0 35,0,71,0,64,0,73,0,25,0,66,0 70,0,63,0,2,0,72,0,28,0,15,0 65,0,49,0,53,0,48,0,60,0,58,0 41,0,61,0,21,0,12,0,10,0,1,0 62,0,33,0,27,0,16,0,30,0,68,0 56,0,37,0,69,0,24,0,50,0,67,0 14,0,38,0,34,0,66,0,6,0,18,0 25,0,54,0,40,0,8,0,43,0,13,0 31,0,22,0,53,0,19,0,11,0,73,0 36,0,3,0,32,0,23,0,42,0,41,0 33,0,39,0,26,0,12,0,59,0,70,0 56,0,47,0,10,0,35,0,30,0,17,0 29,0,48,0,69,0,62,0,28,0,52,0 1,0,16,0,65,0,37,0,15,0,46,0 55,0,64,0,5,0,24,0,72,0,60,0 44,0,63,0,20,0,71,0,68,0,21,0 7,0,45,0,9,0,49,0,61,0,50,0 58,0,4,0,2,0,27,0,57,0,51,0 36,0,17,0,59,0,6,0,40,0,48,0 13,0,23,0,62,0,37,0,22,0,70,0 46,0,60,0,33,0,31,0,42,0,14,0 28,0,19,0,5,0,38,0,1,0,8,0 26,0,20,0,55,0,54,0,69,0,53,0 44,0,67,0,27,0,10,0,49,0,25,0 61,0,57,0,47,0,71,0,34,0,15,0 52,0,66,0,11,0,68,0,56,0,7,0 65,0,24,0,2,0,3,0,39,0,21,0 41,0,18,0,72,0,35,0,45,0,4,0 12,0,32,0,73,0,29,0,30,0,58,0 64,0,51,0,50,0,16,0,43,0,63,0 9,0,37,0,28,0,10,0,60,0,20,0 ================================================ FILE: schedules/73_8.csv ================================================ 69,0,28,0,56,0,13,0,73,0,50,0 14,0,51,0,18,0,58,0,48,0,60,0 63,0,43,0,34,0,68,0,46,0,64,0 39,0,10,0,53,0,62,0,55,0,9,0 36,0,29,0,8,0,32,0,52,0,3,0 30,0,44,0,19,0,20,0,4,0,41,0 40,0,2,0,42,0,47,0,6,0,17,0 1,0,38,0,49,0,35,0,70,0,37,0 21,0,25,0,31,0,57,0,66,0,72,0 5,0,45,0,23,0,22,0,16,0,54,0 65,0,15,0,59,0,67,0,26,0,27,0 11,0,12,0,71,0,33,0,61,0,7,0 24,0,17,0,32,0,10,0,4,0,18,0 49,0,9,0,40,0,20,0,73,0,51,0 58,0,46,0,50,0,72,0,55,0,3,0 13,0,21,0,16,0,41,0,60,0,53,0 26,0,43,0,14,0,47,0,70,0,31,0 45,0,2,0,68,0,15,0,7,0,1,0 36,0,61,0,28,0,66,0,19,0,54,0 11,0,52,0,39,0,34,0,30,0,67,0 56,0,64,0,6,0,65,0,22,0,12,0 35,0,25,0,62,0,23,0,29,0,63,0 5,0,69,0,27,0,33,0,24,0,48,0 42,0,71,0,44,0,57,0,8,0,37,0 38,0,46,0,66,0,59,0,14,0,45,0 36,1,70,0,10,0,11,1,68,0,51,0 26,1,9,0,72,0,2,1,7,0,16,0 22,0,18,0,21,0,28,0,15,0,63,0 49,0,23,0,67,0,69,0,19,0,53,0 3,0,1,0,62,0,31,0,12,0,42,0 47,0,50,0,4,0,52,0,33,0,25,0 40,0,13,0,55,0,44,0,54,0,35,0 56,0,58,0,59,0,39,0,5,0,20,0 30,0,37,0,73,0,24,0,61,0,6,0 29,0,34,0,65,0,71,0,60,0,17,0 57,0,32,0,27,0,38,0,43,0,41,0 48,0,4,0,2,0,64,0,8,0,49,0 22,0,66,0,50,0,42,0,51,0,19,0 36,0,31,0,16,0,40,0,33,0,59,0 5,0,25,0,13,0,30,0,70,0,18,0 73,0,58,0,44,0,65,0,53,0,45,0 24,0,71,0,35,0,47,0,3,0,39,0 26,0,20,0,48,0,28,0,32,0,1,0 38,0,8,0,6,0,55,0,63,0,11,0 64,0,7,0,52,0,21,0,37,0,10,0 23,0,34,0,61,0,57,0,15,0,14,0 67,0,56,0,43,0,72,0,62,0,17,0 54,0,9,0,60,0,46,0,12,0,27,0 41,0,68,0,39,0,29,0,69,0,26,0 45,0,22,0,49,0,11,0,32,0,13,0 66,0,44,0,64,0,70,0,3,0,16,0 35,0,2,0,19,0,31,0,73,0,52,0 17,0,7,0,38,0,61,0,48,0,50,0 63,0,67,0,12,0,40,0,57,0,58,0 60,0,4,0,59,0,23,0,55,0,37,0 6,0,15,0,36,0,71,0,62,0,69,0 51,0,46,0,65,0,1,0,25,0,24,0 5,0,28,0,8,0,14,0,9,0,41,0 47,0,72,0,20,0,10,0,34,0,27,0 53,0,42,0,33,0,56,0,18,0,68,0 29,0,54,0,30,0,21,0,43,0,49,0 67,0,22,0,60,0,2,0,61,0,3,0 51,0,69,0,17,0,11,0,35,0,64,0 65,0,52,0,57,0,62,0,70,0,28,0 24,0,8,0,40,0,34,0,26,0,50,0 4,0,71,0,27,0,5,0,73,0,66,0 43,0,55,0,20,0,42,0,45,0,25,0 37,0,39,0,12,0,36,0,14,0,13,0 9,0,68,0,47,0,32,0,21,0,44,0 19,0,48,0,10,0,6,0,46,0,16,0 41,0,18,0,7,0,31,0,23,0,56,0 53,0,72,0,1,0,30,0,59,0,63,0 33,0,15,0,29,0,54,0,38,0,58,0 67,0,24,0,14,0,42,0,36,0,64,0 62,0,68,0,61,0,8,0,13,0,27,0 45,0,70,0,39,0,40,0,4,0,21,0 10,0,3,0,56,0,26,0,49,0,25,0 55,0,73,0,41,0,22,0,48,0,34,0 31,0,63,0,54,0,50,0,65,0,20,0 69,0,12,0,18,0,2,0,44,0,59,0 32,0,60,0,33,0,72,0,6,0,35,0 30,0,16,0,51,0,28,0,71,0,38,0 37,0,19,0,15,0,43,0,11,0,5,0 57,0,53,0,47,0,29,0,7,0,46,0 17,0,1,0,52,0,58,0,9,0,23,0 66,0,24,0,55,0,68,0,12,0,49,0 14,0,20,0,21,0,33,0,62,0,2,0 70,0,32,0,42,0,69,0,61,0,63,0 11,0,40,0,72,0,65,0,18,0,48,0 57,0,59,0,13,0,19,0,64,0,47,0 52,0,60,0,26,0,44,0,5,0,38,0 58,0,36,0,7,0,22,0,43,0,4,0 29,0,28,0,27,0,45,0,37,0,31,0 34,0,3,0,54,0,6,0,51,0,53,0 25,0,16,0,17,0,8,0,39,0,73,0 50,0,1,0,71,0,41,0,67,0,10,0 35,0,66,0,15,0,56,0,9,0,30,0 23,0,11,0,2,0,46,0,36,0,26,0 ================================================ FILE: schedules/73_9.csv ================================================ 7,0,59,0,3,0,1,0,72,0,73,0 48,0,61,0,37,0,16,0,56,0,9,0 54,0,28,0,41,0,45,0,24,0,68,0 55,0,36,0,58,0,43,0,42,0,40,0 52,0,67,0,69,0,32,0,11,0,30,0 70,0,2,0,71,0,13,0,49,0,63,0 18,0,29,0,47,0,14,0,8,0,17,0 66,0,20,0,4,0,22,0,5,0,12,0 19,0,34,0,65,0,57,0,15,0,26,0 38,0,60,0,35,0,46,0,25,0,44,0 50,0,10,0,21,0,39,0,64,0,53,0 62,0,31,0,27,0,6,0,23,0,51,0 33,0,18,0,40,0,1,0,54,0,70,0 11,0,45,0,29,0,42,0,3,0,48,0 17,0,67,0,9,0,66,0,63,0,58,0 34,0,68,0,56,0,32,0,22,0,73,0 16,0,65,0,53,0,13,0,72,0,38,0 46,0,43,0,24,0,49,0,26,0,31,0 5,0,64,0,35,0,55,0,62,0,33,0 15,0,4,0,8,0,69,0,2,0,6,0 30,0,50,0,23,0,60,0,59,0,36,0 7,0,39,0,19,0,12,0,27,0,71,0 52,0,25,0,51,0,47,0,61,0,28,0 57,0,37,0,44,0,41,0,21,0,14,0 20,0,54,0,46,0,10,0,3,0,55,0 70,1,62,0,49,0,15,1,29,0,56,0 9,1,13,0,31,0,64,0,8,0,30,0 17,0,40,0,68,0,39,0,23,0,4,0 5,0,2,0,67,0,65,0,7,0,47,0 27,0,36,0,41,0,66,0,48,0,73,0 1,0,12,0,63,0,42,0,50,0,25,0 57,0,51,0,71,0,22,0,35,0,11,0 53,0,14,0,6,0,24,0,20,0,19,0 16,0,44,0,33,0,34,0,45,0,52,0 72,0,61,0,10,0,58,0,18,0,60,0 26,0,59,0,38,0,69,0,21,0,28,0 43,0,37,0,3,0,32,0,8,0,7,0 66,0,47,0,64,0,4,0,71,0,40,0 49,0,65,0,35,0,48,0,39,0,30,0 25,0,6,0,5,0,54,0,16,0,36,0 56,0,60,0,63,0,11,0,24,0,27,0 52,0,55,0,72,0,22,0,17,0,2,0 9,0,51,0,45,0,21,0,19,0,18,0 67,0,38,0,70,0,43,0,59,0,68,0 61,0,26,0,32,0,29,0,50,0,44,0 42,0,57,0,73,0,13,0,62,0,28,0 1,0,10,0,69,0,31,0,14,0,34,0 15,0,33,0,23,0,12,0,41,0,20,0 53,0,58,0,47,0,46,0,37,0,45,0 65,0,68,0,3,0,18,0,66,0,36,0 7,0,54,0,22,0,38,0,50,0,63,0 39,0,2,0,25,0,9,0,59,0,24,0 5,0,71,0,49,0,14,0,69,0,60,0 28,0,17,0,64,0,15,0,48,0,1,0 34,0,62,0,37,0,20,0,72,0,70,0 32,0,58,0,12,0,57,0,31,0,16,0 33,0,21,0,13,0,11,0,43,0,10,0 44,0,51,0,27,0,55,0,4,0,67,0 8,0,41,0,26,0,40,0,53,0,61,0 19,0,42,0,56,0,35,0,23,0,52,0 29,0,30,0,73,0,6,0,46,0,71,0 15,0,32,0,18,0,5,0,63,0,59,0 47,0,48,0,2,0,21,0,62,0,12,0 68,0,44,0,36,0,31,0,37,0,10,0 9,0,69,0,43,0,54,0,27,0,72,0 51,0,20,0,39,0,66,0,56,0,38,0 42,0,64,0,6,0,60,0,70,0,57,0 46,0,33,0,28,0,8,0,67,0,19,0 3,0,16,0,22,0,30,0,40,0,24,0 49,0,7,0,53,0,25,0,17,0,34,0 58,0,52,0,29,0,65,0,41,0,4,0 61,0,23,0,1,0,45,0,35,0,13,0 11,0,73,0,14,0,26,0,55,0,50,0 8,0,62,0,20,0,71,0,39,0,44,0 10,0,18,0,27,0,2,0,42,0,38,0 19,0,31,0,22,0,3,0,47,0,25,0 30,0,43,0,58,0,15,0,53,0,51,0 12,0,24,0,67,0,29,0,34,0,61,0 41,0,32,0,49,0,1,0,21,0,6,0 55,0,23,0,46,0,16,0,70,0,69,0 72,0,68,0,50,0,48,0,5,0,57,0 4,0,73,0,60,0,33,0,65,0,37,0 56,0,13,0,59,0,54,0,40,0,14,0 9,0,11,0,36,0,35,0,7,0,28,0 45,0,26,0,66,0,52,0,63,0,64,0 17,0,3,0,41,0,62,0,51,0,69,0 55,0,48,0,68,0,25,0,71,0,53,0 44,0,1,0,19,0,5,0,43,0,39,0 21,0,22,0,8,0,27,0,70,0,58,0 40,0,2,0,28,0,20,0,60,0,32,0 7,0,14,0,42,0,33,0,30,0,66,0 34,0,13,0,4,0,46,0,50,0,9,0 11,0,37,0,6,0,61,0,17,0,59,0 45,0,12,0,10,0,26,0,65,0,56,0 35,0,63,0,15,0,29,0,72,0,31,0 24,0,57,0,38,0,23,0,47,0,36,0 73,0,64,0,16,0,67,0,18,0,49,0 52,0,1,0,53,0,54,0,62,0,9,0 40,0,6,0,48,0,7,0,69,0,44,0 32,0,14,0,46,0,42,0,65,0,51,0 70,0,10,0,30,0,25,0,4,0,45,0 13,0,60,0,17,0,3,0,12,0,26,0 72,0,71,0,36,0,56,0,33,0,67,0 66,0,15,0,50,0,37,0,24,0,55,0 29,0,28,0,23,0,18,0,43,0,22,0 31,0,38,0,21,0,73,0,61,0,5,0 59,0,27,0,52,0,20,0,49,0,57,0 63,0,16,0,8,0,19,0,35,0,68,0 34,0,54,0,11,0,58,0,64,0,2,0 39,0,70,0,9,0,47,0,41,0,15,0 ================================================ FILE: schedules/74_1.csv ================================================ 29,0,45,0,19,0,49,0,63,0,58,0 57,0,6,0,54,0,46,0,55,0,66,0 18,0,69,0,40,0,32,0,68,0,71,0 14,0,38,0,50,0,34,0,15,0,51,0 37,0,10,0,2,0,21,0,61,0,16,0 3,0,35,0,36,0,22,0,30,0,73,0 64,0,70,0,43,0,17,0,60,0,41,0 48,0,47,0,28,0,26,0,5,0,20,0 25,0,31,0,8,0,65,0,56,0,13,0 27,0,11,0,72,0,59,0,23,0,42,0 4,0,7,0,74,0,9,0,12,0,44,0 24,0,67,0,33,0,52,0,62,0,1,0 53,0,36,1,18,1,39,0,30,1,6,1 ================================================ FILE: schedules/74_10.csv ================================================ 37,0,49,0,70,0,69,0,73,0,38,0 62,0,60,0,30,0,45,0,33,0,65,0 44,0,57,0,66,0,51,0,32,0,11,0 59,0,9,0,58,0,68,0,43,0,55,0 31,0,72,0,74,0,14,0,39,0,48,0 25,0,24,0,16,0,20,0,71,0,15,0 7,0,42,0,35,0,19,0,2,0,17,0 29,0,46,0,27,0,21,0,54,0,3,0 63,0,26,0,41,0,23,0,52,0,67,0 36,0,13,0,53,0,12,0,5,0,4,0 18,0,1,0,8,0,10,0,64,0,40,0 56,0,50,0,22,0,28,0,34,0,6,0 47,0,32,0,66,0,61,0,19,0,20,0 69,0,2,0,39,0,58,0,43,0,24,0 74,0,55,0,37,0,16,0,67,0,30,0 70,0,46,0,36,0,72,0,35,0,65,0 53,0,29,0,10,0,27,0,59,0,49,0 48,0,23,0,8,0,56,0,38,0,71,0 40,0,45,0,5,0,42,0,52,0,6,0 9,0,21,0,62,0,13,0,7,0,34,0 11,0,26,0,47,0,28,0,68,0,60,0 57,0,25,0,54,0,44,0,31,0,73,0 3,0,1,0,14,0,63,0,17,0,22,0 33,0,18,0,50,0,41,0,15,0,4,0 64,0,12,0,30,0,51,0,61,0,48,0 34,1,10,0,19,0,36,1,43,0,5,0 60,1,65,0,21,0,40,1,74,0,32,0 37,0,44,0,53,0,8,0,45,0,20,0 29,0,31,0,70,0,71,0,2,0,6,0 50,0,49,0,15,0,55,0,57,0,3,0 73,0,25,0,51,0,9,0,26,0,22,0 4,0,17,0,11,0,72,0,58,0,63,0 69,0,16,0,68,0,35,0,41,0,62,0 14,0,59,0,61,0,38,0,7,0,33,0 52,0,12,0,1,0,66,0,24,0,46,0 67,0,13,0,54,0,64,0,56,0,47,0 23,0,18,0,28,0,39,0,42,0,27,0 49,0,58,0,5,0,60,0,51,0,74,0 40,0,57,0,72,0,29,0,68,0,19,0 4,0,6,0,30,0,8,0,69,0,9,0 73,0,63,0,59,0,35,0,71,0,12,0 46,0,10,0,38,0,50,0,13,0,66,0 61,0,24,0,17,0,21,0,28,0,26,0 42,0,48,0,11,0,54,0,62,0,15,0 2,0,22,0,55,0,23,0,65,0,44,0 25,0,37,0,39,0,1,0,32,0,7,0 43,0,47,0,3,0,52,0,36,0,45,0 18,0,70,0,56,0,14,0,53,0,16,0 34,0,20,0,27,0,31,0,41,0,64,0 33,0,8,0,10,0,67,0,12,0,21,0 19,0,63,0,15,0,46,0,9,0,60,0 35,0,39,0,55,0,40,0,13,0,38,0 57,0,37,0,71,0,36,0,28,0,72,0 32,0,58,0,53,0,54,0,30,0,23,0 59,0,52,0,4,0,27,0,51,0,31,0 6,0,33,0,16,0,26,0,48,0,1,0 22,0,43,0,61,0,41,0,74,0,70,0 7,0,56,0,3,0,20,0,11,0,69,0 24,0,67,0,42,0,49,0,34,0,44,0 73,0,68,0,66,0,14,0,65,0,17,0 18,0,5,0,25,0,47,0,62,0,2,0 64,0,45,0,35,0,29,0,50,0,58,0 28,0,51,0,33,0,43,0,46,0,13,0 55,0,7,0,54,0,4,0,71,0,10,0 16,0,34,0,72,0,8,0,61,0,52,0 56,0,20,0,59,0,17,0,60,0,70,0 65,0,19,0,25,0,49,0,48,0,63,0 26,0,64,0,62,0,2,0,53,0,66,0 38,0,21,0,22,0,45,0,31,0,18,0 15,0,40,0,29,0,23,0,14,0,69,0 50,0,1,0,73,0,36,0,32,0,42,0 3,0,39,0,68,0,30,0,44,0,5,0 9,0,47,0,12,0,11,0,37,0,41,0 67,0,74,0,27,0,6,0,57,0,24,0 16,0,43,0,60,0,66,0,21,0,64,0 17,0,55,0,34,0,25,0,29,0,33,0 52,0,20,0,13,0,14,0,2,0,49,0 51,0,45,0,39,0,8,0,70,0,19,0 47,0,22,0,15,0,30,0,72,0,10,0 48,0,28,0,40,0,53,0,41,0,73,0 11,0,61,0,31,0,67,0,50,0,5,0 6,0,62,0,23,0,37,0,46,0,59,0 42,0,9,0,38,0,24,0,32,0,3,0 36,0,63,0,69,0,18,0,68,0,54,0 4,0,35,0,74,0,56,0,26,0,44,0 7,0,65,0,12,0,58,0,27,0,57,0 71,0,30,0,53,0,1,0,34,0,11,0 66,0,48,0,22,0,67,0,39,0,59,0 19,0,23,0,16,0,13,0,3,0,31,0 36,0,14,0,62,0,55,0,8,0,24,0 64,0,72,0,5,0,35,0,33,0,9,0 6,0,32,0,49,0,17,0,18,0,12,0 41,0,1,0,57,0,54,0,60,0,38,0 7,0,47,0,27,0,40,0,44,0,70,0 61,0,15,0,2,0,73,0,45,0,56,0 28,0,10,0,52,0,74,0,25,0,69,0 51,0,21,0,20,0,63,0,50,0,68,0 29,0,42,0,43,0,65,0,37,0,4,0 46,0,26,0,32,0,71,0,58,0,8,0 54,0,11,0,33,0,22,0,16,0,40,0 41,0,6,0,44,0,19,0,36,0,64,0 23,0,49,0,45,0,66,0,7,0,72,0 3,0,60,0,27,0,25,0,35,0,61,0 52,0,57,0,70,0,4,0,48,0,21,0 14,0,67,0,58,0,28,0,1,0,9,0 24,0,37,0,10,0,63,0,31,0,56,0 69,0,55,0,53,0,51,0,47,0,42,0 30,0,18,0,38,0,73,0,20,0,29,0 17,0,71,0,50,0,39,0,43,0,62,0 12,0,68,0,46,0,34,0,74,0,2,0 65,0,13,0,5,0,59,0,15,0,26,0 14,0,11,0,45,0,35,0,32,0,10,0 19,0,1,0,72,0,27,0,55,0,56,0 41,0,30,0,66,0,25,0,70,0,42,0 38,0,6,0,58,0,47,0,21,0,53,0 4,0,60,0,73,0,24,0,34,0,23,0 40,0,26,0,31,0,12,0,43,0,49,0 36,0,20,0,9,0,74,0,39,0,33,0 8,0,59,0,2,0,28,0,54,0,50,0 68,0,15,0,7,0,52,0,22,0,64,0 17,0,5,0,69,0,57,0,46,0,16,0 51,0,71,0,3,0,65,0,18,0,67,0 63,0,44,0,29,0,61,0,13,0,62,0 48,0,34,0,60,0,37,0,36,0,40,0 ================================================ FILE: schedules/74_11.csv ================================================ 48,0,72,0,44,0,24,0,57,0,26,0 32,0,17,0,21,0,29,0,1,0,62,0 63,0,55,0,65,0,10,0,56,0,34,0 39,0,66,0,11,0,58,0,25,0,53,0 49,0,41,0,35,0,8,0,31,0,64,0 7,0,51,0,68,0,12,0,45,0,61,0 13,0,18,0,2,0,36,0,15,0,47,0 38,0,23,0,16,0,4,0,20,0,6,0 46,0,9,0,40,0,3,0,33,0,60,0 70,0,43,0,19,0,27,0,52,0,67,0 42,0,59,0,5,0,69,0,54,0,73,0 74,0,30,0,28,0,14,0,50,0,71,0 37,0,13,0,51,0,22,0,53,0,64,0 62,0,15,0,10,0,16,0,68,0,1,0 4,0,8,0,9,0,56,0,48,0,65,0 7,0,52,0,26,0,46,0,29,0,38,0 73,0,61,0,44,0,23,0,31,0,63,0 58,0,50,0,45,0,47,0,49,0,19,0 21,0,69,0,57,0,37,0,28,0,66,0 74,0,33,0,11,0,67,0,17,0,59,0 35,0,43,0,30,0,54,0,42,0,60,0 71,0,41,0,3,0,70,0,6,0,55,0 24,0,39,0,12,0,36,0,40,0,34,0 14,0,5,0,20,0,72,0,18,0,25,0 27,0,22,0,7,0,2,0,32,0,50,0 38,1,19,0,1,0,29,1,44,0,59,0 43,0,47,0,48,0,64,0,33,0,66,0 15,0,57,0,74,0,58,0,70,0,65,0 8,0,40,0,53,0,73,0,26,0,10,0 62,0,25,0,51,0,63,0,35,0,36,0 54,0,20,0,71,0,37,0,39,0,2,0 69,0,30,0,31,0,16,0,55,0,67,0 52,0,45,0,72,0,23,0,18,0,3,0 56,0,60,0,6,0,49,0,28,0,32,0 24,0,68,0,42,0,4,0,41,0,11,0 27,0,34,0,61,0,5,0,9,0,22,0 21,0,14,0,12,0,13,0,17,0,46,0 40,0,35,0,59,0,30,0,58,0,7,0 70,0,54,0,38,0,72,0,36,0,50,0 3,0,2,0,47,0,51,0,74,0,44,0 66,0,19,0,73,0,65,0,71,0,60,0 25,0,33,0,52,0,27,0,6,0,37,0 62,0,14,0,22,0,10,0,23,0,11,0 45,0,18,0,24,0,55,0,17,0,9,0 69,0,28,0,1,0,41,0,61,0,8,0 46,0,57,0,68,0,42,0,32,0,31,0 29,0,13,0,39,0,43,0,16,0,56,0 63,0,21,0,49,0,48,0,53,0,5,0 64,0,20,0,26,0,15,0,67,0,12,0 4,0,73,0,62,0,34,0,3,0,50,0 58,0,71,0,44,0,33,0,69,0,18,0 38,0,17,0,25,0,57,0,10,0,61,0 54,0,23,0,29,0,8,0,47,0,24,0 13,0,42,0,45,0,59,0,74,0,27,0 6,0,67,0,14,0,48,0,40,0,1,0 64,0,7,0,72,0,9,0,39,0,63,0 37,0,65,0,36,0,49,0,11,0,30,0 20,0,68,0,35,0,53,0,56,0,21,0 15,0,55,0,22,0,4,0,46,0,43,0 5,0,2,0,34,0,28,0,52,0,41,0 66,0,60,0,26,0,70,0,16,0,51,0 32,0,19,0,59,0,12,0,31,0,25,0 1,0,18,0,74,0,38,0,37,0,7,0 71,0,8,0,68,0,13,0,72,0,67,0 6,0,48,0,50,0,65,0,39,0,69,0 15,0,4,0,40,0,29,0,21,0,52,0 22,0,51,0,35,0,49,0,24,0,73,0 60,0,46,0,11,0,44,0,10,0,45,0 64,0,70,0,36,0,23,0,5,0,19,0 9,0,47,0,28,0,62,0,53,0,43,0 57,0,12,0,41,0,33,0,63,0,54,0 31,0,16,0,58,0,14,0,27,0,2,0 56,0,30,0,3,0,17,0,34,0,66,0 55,0,26,0,32,0,20,0,61,0,42,0 50,0,37,0,44,0,40,0,13,0,68,0 36,0,4,0,10,0,71,0,45,0,35,0 6,0,11,0,59,0,8,0,51,0,15,0 72,0,19,0,74,0,21,0,73,0,28,0 12,0,3,0,43,0,5,0,57,0,1,0 54,0,39,0,67,0,66,0,18,0,46,0 34,0,31,0,65,0,69,0,47,0,7,0 60,0,20,0,17,0,48,0,22,0,58,0 2,0,56,0,64,0,62,0,42,0,38,0 55,0,23,0,25,0,16,0,49,0,33,0 32,0,63,0,14,0,70,0,24,0,52,0 41,0,27,0,30,0,29,0,61,0,53,0 9,0,21,0,31,0,26,0,71,0,6,0 40,0,44,0,43,0,20,0,65,0,51,0 3,0,48,0,38,0,11,0,13,0,35,0 42,0,34,0,23,0,60,0,1,0,58,0 17,0,47,0,39,0,68,0,70,0,73,0 46,0,25,0,61,0,50,0,64,0,74,0 62,0,49,0,52,0,26,0,30,0,54,0 4,0,12,0,63,0,27,0,18,0,28,0 57,0,55,0,36,0,59,0,14,0,8,0 24,0,7,0,15,0,69,0,19,0,53,0 37,0,29,0,9,0,10,0,67,0,2,0 16,0,66,0,45,0,32,0,5,0,41,0 72,0,56,0,1,0,22,0,33,0,31,0 58,0,40,0,51,0,28,0,13,0,54,0 23,0,73,0,36,0,48,0,46,0,27,0 47,0,52,0,50,0,57,0,59,0,60,0 55,0,11,0,29,0,70,0,12,0,9,0 10,0,64,0,30,0,74,0,20,0,24,0 7,0,5,0,49,0,17,0,71,0,4,0 38,0,65,0,53,0,62,0,45,0,67,0 44,0,56,0,18,0,41,0,16,0,21,0 43,0,2,0,25,0,26,0,69,0,68,0 61,0,66,0,6,0,14,0,35,0,72,0 33,0,15,0,37,0,34,0,32,0,8,0 39,0,22,0,3,0,63,0,19,0,42,0 65,0,13,0,5,0,1,0,24,0,46,0 59,0,70,0,49,0,62,0,40,0,18,0 58,0,28,0,68,0,38,0,64,0,55,0 41,0,53,0,31,0,36,0,74,0,60,0 51,0,67,0,71,0,23,0,56,0,57,0 63,0,73,0,50,0,43,0,6,0,29,0 33,0,4,0,61,0,11,0,2,0,19,0 48,0,16,0,42,0,72,0,37,0,12,0 25,0,14,0,54,0,44,0,15,0,34,0 45,0,39,0,8,0,22,0,21,0,30,0 69,0,17,0,35,0,32,0,9,0,52,0 27,0,10,0,20,0,3,0,7,0,66,0 26,0,56,0,63,0,47,0,74,0,58,0 71,0,24,0,16,0,59,0,61,0,43,0 6,0,1,0,53,0,4,0,64,0,54,0 60,0,5,0,31,0,15,0,38,0,39,0 28,0,65,0,29,0,68,0,22,0,25,0 46,0,34,0,45,0,2,0,35,0,70,0 26,0,50,0,17,0,23,0,37,0,41,0 11,0,47,0,27,0,72,0,55,0,40,0 62,0,8,0,66,0,12,0,52,0,44,0 33,0,67,0,21,0,7,0,42,0,36,0 9,0,57,0,73,0,13,0,20,0,30,0 32,0,10,0,18,0,19,0,48,0,51,0 49,0,69,0,38,0,3,0,14,0,29,0 ================================================ FILE: schedules/74_12.csv ================================================ 67,0,14,0,47,0,50,0,42,0,49,0 23,0,29,0,60,0,28,0,38,0,51,0 11,0,27,0,39,0,55,0,43,0,74,0 34,0,1,0,18,0,40,0,62,0,52,0 41,0,37,0,3,0,56,0,33,0,61,0 65,0,58,0,16,0,2,0,69,0,25,0 7,0,24,0,30,0,20,0,54,0,48,0 70,0,46,0,26,0,8,0,22,0,73,0 17,0,15,0,13,0,31,0,19,0,53,0 12,0,57,0,5,0,45,0,72,0,36,0 4,0,9,0,10,0,21,0,44,0,66,0 68,0,59,0,6,0,63,0,32,0,71,0 35,0,20,0,27,0,64,0,67,0,33,0 73,0,1,0,43,0,29,0,51,0,47,0 28,0,53,0,34,0,49,0,2,0,74,0 15,0,38,0,41,0,24,0,12,0,55,0 5,0,9,0,14,0,19,0,56,0,11,0 4,0,39,0,42,0,32,0,46,0,59,0 64,0,40,0,35,0,26,0,6,0,54,0 52,0,65,0,44,0,63,0,23,0,22,0 66,0,31,0,72,0,8,0,3,0,36,0 45,0,71,0,48,0,60,0,61,0,18,0 57,0,70,0,37,0,13,0,16,0,68,0 30,0,69,0,58,0,21,0,17,0,7,0 25,0,10,0,24,0,62,0,50,0,5,0 52,0,12,0,41,0,27,0,6,0,73,0 14,0,15,0,33,0,8,0,4,0,2,0 39,0,48,0,19,0,65,0,29,0,56,0 55,0,35,0,68,0,45,0,46,0,28,0 37,0,38,0,40,0,49,0,31,0,30,0 43,0,25,0,18,0,23,0,42,0,74,0 36,0,9,0,21,0,70,0,71,0,34,0 53,0,58,0,54,0,10,0,51,0,11,0 22,0,69,0,3,0,59,0,64,0,57,0 50,0,60,0,7,0,1,0,66,0,63,0 17,0,20,0,67,0,62,0,32,0,61,0 44,0,13,0,47,0,72,0,26,0,16,0 38,0,52,0,70,0,14,0,39,0,25,0 2,0,54,0,43,0,41,0,8,0,19,0 64,0,55,0,5,0,53,0,23,0,73,0 11,0,45,0,63,0,37,0,22,0,24,0 29,0,32,0,6,0,57,0,18,0,69,0 28,0,27,0,13,0,3,0,58,0,40,0 31,0,51,0,21,0,65,0,7,0,67,0 49,0,56,0,71,0,12,0,10,0,42,0 16,0,50,0,61,0,4,0,72,0,35,0 17,0,59,0,74,0,9,0,1,0,44,0 20,0,62,0,15,0,66,0,48,0,46,0 26,0,60,0,34,0,33,0,30,0,68,0 36,0,25,0,7,0,47,0,28,0,39,0 41,0,65,0,71,0,40,0,5,0,45,0 72,0,32,0,73,0,21,0,38,0,54,0 9,0,13,0,42,0,52,0,61,0,2,0 4,0,58,0,1,0,12,0,37,0,20,0 56,0,22,0,53,0,33,0,43,0,16,0 64,0,50,0,19,0,62,0,36,0,68,0 69,0,44,0,51,0,27,0,15,0,34,0 63,0,55,0,57,0,30,0,66,0,70,0 14,0,74,0,10,0,35,0,60,0,67,0 59,0,24,0,47,0,18,0,8,0,31,0 48,0,23,0,3,0,49,0,17,0,26,0 11,0,6,0,33,0,29,0,46,0,16,0 50,0,25,0,15,0,54,0,27,0,45,0 28,0,69,0,71,0,52,0,43,0,20,0 35,0,56,0,5,0,1,0,13,0,30,0 58,0,38,0,18,0,64,0,61,0,44,0 49,0,66,0,8,0,41,0,68,0,32,0 46,0,55,0,21,0,14,0,51,0,37,0 12,0,29,0,26,0,34,0,9,0,7,0 73,0,10,0,48,0,19,0,59,0,42,0 36,0,6,0,31,0,4,0,74,0,22,0 23,0,2,0,72,0,70,0,11,0,62,0 39,0,67,0,57,0,53,0,40,0,63,0 17,0,24,0,3,0,65,0,47,0,60,0 33,0,45,0,44,0,1,0,52,0,21,0 34,0,50,0,59,0,41,0,64,0,28,0 38,0,4,0,69,0,13,0,74,0,48,0 22,0,43,0,32,0,55,0,10,0,7,0 61,0,11,0,30,0,39,0,12,0,8,0 49,0,36,0,65,0,60,0,58,0,73,0 67,0,6,0,56,0,24,0,70,0,15,0 17,0,40,0,14,0,20,0,68,0,51,0 9,0,19,0,46,0,72,0,25,0,3,0 26,0,5,0,27,0,2,0,18,0,63,0 66,0,23,0,47,0,53,0,71,0,37,0 31,0,62,0,29,0,16,0,42,0,54,0 57,0,11,0,21,0,35,0,52,0,59,0 24,0,6,0,49,0,51,0,13,0,39,0 33,0,70,0,74,0,32,0,65,0,50,0 1,0,28,0,68,0,9,0,15,0,22,0 66,0,12,0,2,0,17,0,64,0,48,0 67,0,45,0,4,0,19,0,23,0,34,0 58,0,42,0,8,0,3,0,38,0,5,0 37,0,60,0,62,0,43,0,53,0,69,0 56,0,54,0,36,0,44,0,26,0,55,0 25,0,73,0,20,0,63,0,31,0,35,0 72,0,29,0,14,0,27,0,30,0,71,0 46,0,61,0,47,0,40,0,10,0,57,0 18,0,16,0,52,0,7,0,41,0,49,0 34,0,48,0,22,0,39,0,37,0,5,0 67,0,38,0,59,0,26,0,43,0,58,0 63,0,8,0,50,0,69,0,9,0,56,0 33,0,25,0,55,0,71,0,17,0,6,0 70,0,64,0,27,0,46,0,1,0,31,0 4,0,68,0,47,0,29,0,41,0,11,0 15,0,54,0,12,0,23,0,57,0,65,0 74,0,44,0,73,0,14,0,61,0,7,0 19,0,21,0,40,0,16,0,60,0,66,0 51,0,62,0,30,0,3,0,32,0,45,0 2,0,13,0,20,0,18,0,10,0,36,0 42,0,53,0,72,0,35,0,24,0,28,0 29,0,8,0,52,0,37,0,55,0,67,0 74,0,46,0,68,0,58,0,56,0,23,0 60,0,27,0,49,0,4,0,26,0,57,0 5,0,70,0,7,0,59,0,15,0,40,0 30,0,32,0,64,0,25,0,11,0,44,0 66,0,43,0,61,0,34,0,24,0,54,0 69,0,62,0,13,0,33,0,73,0,47,0 2,0,71,0,39,0,50,0,3,0,1,0 19,0,12,0,35,0,51,0,22,0,18,0 45,0,42,0,65,0,20,0,6,0,9,0 41,0,53,0,36,0,21,0,48,0,14,0 10,0,28,0,16,0,63,0,17,0,38,0 31,0,23,0,59,0,72,0,34,0,56,0 52,0,54,0,7,0,70,0,4,0,3,0 13,0,11,0,73,0,67,0,25,0,66,0 61,0,1,0,19,0,55,0,69,0,49,0 57,0,9,0,71,0,62,0,41,0,58,0 30,0,18,0,65,0,46,0,53,0,50,0 24,0,40,0,2,0,21,0,22,0,29,0 31,0,14,0,26,0,12,0,28,0,32,0 72,0,63,0,51,0,33,0,42,0,48,0 37,0,43,0,15,0,17,0,35,0,36,0 27,0,68,0,38,0,6,0,47,0,5,0 8,0,16,0,74,0,64,0,10,0,45,0 44,0,20,0,41,0,39,0,60,0,53,0 46,0,54,0,22,0,13,0,71,0,67,0 51,0,49,0,61,0,25,0,59,0,30,0 17,0,29,0,58,0,50,0,70,0,35,0 18,0,42,0,3,0,11,0,15,0,55,0 32,0,37,0,48,0,40,0,27,0,9,0 20,0,5,0,66,0,26,0,74,0,52,0 10,0,68,0,72,0,65,0,39,0,69,0 45,0,2,0,60,0,73,0,56,0,31,0 24,0,1,0,23,0,16,0,14,0,36,0 33,0,57,0,34,0,7,0,19,0,38,0 62,0,8,0,28,0,6,0,44,0,4,0 64,0,12,0,63,0,47,0,21,0,43,0 ================================================ FILE: schedules/74_13.csv ================================================ 1,0,54,0,51,0,23,0,47,0,69,0 55,0,37,0,33,0,31,0,3,0,24,0 48,0,19,0,52,0,72,0,30,0,16,0 56,0,4,0,67,0,53,0,9,0,38,0 44,0,11,0,8,0,50,0,32,0,57,0 46,0,43,0,28,0,6,0,41,0,71,0 60,0,42,0,68,0,13,0,65,0,73,0 63,0,29,0,20,0,12,0,35,0,74,0 21,0,66,0,62,0,10,0,25,0,40,0 34,0,61,0,58,0,59,0,64,0,36,0 17,0,39,0,2,0,14,0,22,0,45,0 27,0,7,0,5,0,70,0,49,0,26,0 18,0,50,0,69,0,15,0,32,0,13,0 38,0,72,0,46,0,3,0,65,0,28,0 31,0,19,0,68,0,4,0,12,0,23,0 37,0,1,0,56,0,8,0,58,0,20,0 22,0,40,0,59,0,6,0,52,0,35,0 47,0,7,0,57,0,74,0,34,0,42,0 11,0,41,0,54,0,30,0,49,0,64,0 21,0,36,0,17,0,63,0,39,0,55,0 45,0,51,0,53,0,71,0,15,0,48,0 43,0,9,0,62,0,70,0,73,0,24,0 29,0,10,0,27,0,61,0,2,0,14,0 44,0,33,0,5,0,18,0,66,0,60,0 16,0,26,0,37,0,25,0,67,0,13,0 34,1,1,0,32,0,65,1,68,0,41,0 45,1,3,0,4,0,12,1,58,0,15,0 40,0,9,0,30,0,71,0,47,0,39,0 2,0,73,0,69,0,74,0,53,0,23,0 46,0,22,0,48,0,36,0,7,0,62,0 25,0,59,0,26,0,33,0,14,0,50,0 66,0,67,0,63,0,72,0,49,0,27,0 6,0,17,0,42,0,61,0,20,0,31,0 35,0,28,0,44,0,54,0,16,0,55,0 10,0,60,0,8,0,52,0,70,0,51,0 11,0,24,0,5,0,19,0,56,0,21,0 18,0,43,0,64,0,38,0,29,0,57,0 13,0,62,0,69,0,12,0,3,0,47,0 74,0,65,0,4,0,61,0,40,0,27,0 48,0,35,0,17,0,26,0,58,0,44,0 34,0,9,0,23,0,14,0,28,0,42,0 19,0,6,0,32,0,67,0,39,0,46,0 50,0,38,0,41,0,5,0,60,0,21,0 49,0,57,0,36,0,51,0,2,0,20,0 24,0,68,0,37,0,16,0,11,0,29,0 55,0,66,0,64,0,71,0,53,0,8,0 45,0,52,0,1,0,63,0,33,0,73,0 70,0,18,0,56,0,30,0,59,0,54,0 31,0,72,0,10,0,22,0,15,0,43,0 7,0,61,0,65,0,25,0,20,0,23,0 50,0,35,0,49,0,39,0,48,0,37,0 2,0,36,0,68,0,28,0,60,0,17,0 12,0,73,0,52,0,26,0,46,0,27,0 33,0,6,0,74,0,34,0,38,0,4,0 15,0,70,0,59,0,16,0,21,0,42,0 3,0,13,0,55,0,14,0,51,0,66,0 30,0,10,0,44,0,45,0,64,0,9,0 25,0,72,0,71,0,57,0,56,0,69,0 29,0,41,0,58,0,7,0,67,0,22,0 62,0,40,0,11,0,1,0,53,0,18,0 19,0,8,0,5,0,54,0,47,0,43,0 63,0,24,0,28,0,31,0,32,0,26,0 23,0,49,0,45,0,52,0,55,0,38,0 74,0,21,0,71,0,72,0,44,0,12,0 3,0,48,0,50,0,10,0,61,0,56,0 14,0,68,0,64,0,7,0,20,0,18,0 11,0,69,0,51,0,70,0,22,0,6,0 1,0,24,0,46,0,57,0,39,0,60,0 33,0,19,0,29,0,32,0,62,0,42,0 2,0,58,0,66,0,30,0,65,0,43,0 59,0,37,0,73,0,4,0,17,0,5,0 54,0,53,0,40,0,63,0,34,0,13,0 47,0,35,0,15,0,27,0,41,0,67,0 25,0,16,0,36,0,9,0,31,0,8,0 61,0,26,0,50,0,46,0,68,0,51,0 7,0,3,0,30,0,1,0,6,0,65,0 10,0,73,0,39,0,12,0,28,0,18,0 32,0,45,0,74,0,37,0,70,0,66,0 57,0,63,0,19,0,60,0,59,0,13,0 54,0,71,0,14,0,41,0,62,0,16,0 56,0,34,0,64,0,31,0,2,0,52,0 58,0,38,0,49,0,69,0,44,0,24,0 55,0,15,0,67,0,20,0,40,0,5,0 35,0,43,0,8,0,42,0,4,0,53,0 22,0,23,0,36,0,72,0,47,0,33,0 17,0,9,0,29,0,11,0,27,0,21,0 25,0,2,0,70,0,48,0,6,0,18,0 31,0,28,0,38,0,1,0,13,0,30,0 67,0,59,0,24,0,65,0,51,0,44,0 71,0,61,0,62,0,49,0,34,0,37,0 32,0,36,0,53,0,12,0,45,0,5,0 20,0,52,0,33,0,39,0,43,0,11,0 23,0,16,0,57,0,10,0,3,0,17,0 66,0,56,0,15,0,35,0,73,0,29,0 50,0,72,0,54,0,7,0,9,0,26,0 19,0,27,0,74,0,25,0,58,0,22,0 8,0,42,0,41,0,68,0,40,0,69,0 14,0,60,0,4,0,48,0,64,0,21,0 47,0,55,0,11,0,46,0,63,0,10,0 35,0,5,0,18,0,17,0,34,0,24,0 66,0,54,0,44,0,61,0,15,0,1,0 6,0,39,0,49,0,56,0,13,0,74,0 23,0,31,0,62,0,27,0,50,0,59,0 9,0,60,0,3,0,32,0,22,0,20,0 58,0,47,0,4,0,71,0,29,0,52,0 72,0,19,0,26,0,2,0,8,0,40,0 42,0,63,0,65,0,51,0,64,0,16,0 48,0,38,0,25,0,55,0,41,0,12,0 73,0,14,0,67,0,36,0,30,0,69,0 21,0,46,0,7,0,43,0,45,0,37,0 57,0,70,0,68,0,33,0,53,0,28,0 61,0,74,0,3,0,18,0,19,0,9,0 58,0,71,0,42,0,26,0,5,0,10,0 39,0,32,0,35,0,62,0,64,0,2,0 41,0,20,0,34,0,72,0,73,0,51,0 14,0,21,0,65,0,47,0,31,0,49,0 27,0,60,0,16,0,7,0,53,0,6,0 40,0,15,0,50,0,24,0,36,0,38,0 59,0,28,0,69,0,45,0,11,0,66,0 13,0,23,0,46,0,70,0,8,0,29,0 56,0,63,0,25,0,43,0,68,0,44,0 55,0,30,0,22,0,4,0,57,0,37,0 48,0,67,0,12,0,1,0,33,0,17,0 52,0,74,0,36,0,54,0,24,0,42,0 69,0,49,0,65,0,35,0,10,0,9,0 61,0,53,0,70,0,58,0,14,0,39,0 38,0,7,0,2,0,71,0,63,0,11,0 30,0,5,0,51,0,29,0,68,0,25,0 64,0,13,0,27,0,46,0,33,0,56,0 17,0,47,0,37,0,60,0,15,0,19,0 40,0,57,0,31,0,73,0,48,0,54,0 34,0,12,0,66,0,22,0,16,0,50,0 28,0,20,0,26,0,4,0,62,0,44,0 72,0,1,0,43,0,32,0,59,0,55,0 3,0,18,0,21,0,67,0,8,0,52,0 45,0,41,0,63,0,6,0,23,0,56,0 7,0,35,0,14,0,19,0,73,0,38,0 70,0,33,0,30,0,17,0,15,0,49,0 31,0,16,0,69,0,5,0,61,0,46,0 29,0,55,0,43,0,34,0,60,0,26,0 13,0,11,0,18,0,36,0,4,0,72,0 6,0,37,0,40,0,64,0,23,0,44,0 45,0,54,0,39,0,3,0,25,0,42,0 9,0,2,0,12,0,41,0,52,0,59,0 20,0,47,0,24,0,28,0,48,0,66,0 53,0,22,0,65,0,1,0,71,0,50,0 27,0,58,0,32,0,51,0,21,0,57,0 67,0,10,0,62,0,8,0,68,0,74,0 17,0,16,0,14,0,40,0,56,0,43,0 44,0,41,0,70,0,31,0,36,0,29,0 30,0,48,0,34,0,69,0,63,0,3,0 72,0,22,0,13,0,24,0,61,0,45,0 39,0,26,0,38,0,59,0,47,0,66,0 42,0,12,0,51,0,2,0,37,0,18,0 5,0,15,0,52,0,62,0,65,0,57,0 49,0,20,0,21,0,46,0,53,0,19,0 23,0,60,0,71,0,67,0,11,0,35,0 68,0,9,0,73,0,6,0,55,0,58,0 28,0,1,0,64,0,74,0,25,0,50,0 4,0,32,0,33,0,54,0,10,0,7,0 8,0,34,0,45,0,27,0,65,0,12,0 ================================================ FILE: schedules/74_14.csv ================================================ 43,0,72,0,15,0,7,0,57,0,16,0 2,0,21,0,27,0,46,0,60,0,41,0 42,0,54,0,48,0,22,0,44,0,11,0 39,0,14,0,74,0,9,0,34,0,25,0 68,0,69,0,35,0,50,0,19,0,5,0 1,0,28,0,3,0,55,0,45,0,6,0 62,0,61,0,58,0,36,0,13,0,31,0 49,0,20,0,8,0,51,0,40,0,37,0 70,0,67,0,65,0,71,0,33,0,53,0 38,0,59,0,32,0,4,0,47,0,29,0 12,0,64,0,56,0,17,0,10,0,30,0 66,0,63,0,52,0,18,0,24,0,73,0 26,0,7,0,61,0,23,0,19,0,2,0 35,0,9,0,27,0,8,0,72,0,21,0 71,0,41,0,36,0,20,0,28,0,45,0 5,0,49,0,58,0,11,0,3,0,46,0 70,0,62,0,4,0,44,0,30,0,12,0 31,0,15,0,55,0,39,0,17,0,60,0 14,0,37,0,68,0,73,0,43,0,67,0 13,0,59,0,26,0,6,0,18,0,42,0 54,0,1,0,50,0,66,0,23,0,56,0 69,0,51,0,16,0,34,0,48,0,10,0 53,0,63,0,22,0,64,0,38,0,29,0 74,0,33,0,65,0,32,0,52,0,24,0 40,0,25,0,2,0,57,0,47,0,71,0 68,1,62,0,11,0,9,1,21,0,26,0 54,0,72,0,5,0,49,0,19,0,4,0 37,0,18,0,59,0,12,0,3,0,50,0 23,0,69,0,38,0,31,0,42,0,73,0 14,0,48,0,13,0,24,0,15,0,65,0 55,0,30,0,74,0,41,0,61,0,53,0 67,0,46,0,47,0,10,0,35,0,57,0 58,0,52,0,27,0,40,0,7,0,28,0 20,0,70,0,51,0,6,0,22,0,43,0 33,0,64,0,17,0,29,0,16,0,66,0 56,0,44,0,34,0,45,0,60,0,32,0 63,0,36,0,1,0,8,0,39,0,25,0 4,0,71,0,48,0,35,0,73,0,55,0 38,0,54,0,18,0,69,0,40,0,41,0 51,0,31,0,3,0,24,0,21,0,11,0 33,0,50,0,29,0,10,0,58,0,43,0 56,0,46,0,32,0,9,0,37,0,13,0 17,0,8,0,47,0,5,0,45,0,22,0 68,0,64,0,36,0,74,0,23,0,27,0 19,0,62,0,28,0,65,0,25,0,53,0 60,0,57,0,59,0,52,0,34,0,70,0 66,0,12,0,42,0,63,0,61,0,15,0 6,0,7,0,2,0,30,0,39,0,20,0 14,0,67,0,44,0,16,0,1,0,49,0 72,0,47,0,74,0,26,0,56,0,48,0 51,0,65,0,35,0,37,0,62,0,25,0 22,0,40,0,13,0,34,0,23,0,68,0 28,0,5,0,61,0,73,0,21,0,59,0 4,0,60,0,55,0,10,0,8,0,66,0 27,0,31,0,54,0,15,0,20,0,6,0 24,0,1,0,53,0,49,0,71,0,43,0 46,0,57,0,30,0,3,0,63,0,16,0 11,0,32,0,7,0,45,0,18,0,64,0 19,0,41,0,39,0,29,0,70,0,17,0 38,0,52,0,67,0,72,0,26,0,58,0 2,0,14,0,33,0,44,0,69,0,36,0 50,0,42,0,22,0,9,0,12,0,28,0 10,0,49,0,40,0,59,0,48,0,6,0 57,0,37,0,55,0,31,0,5,0,64,0 20,0,53,0,18,0,35,0,39,0,56,0 41,0,15,0,23,0,51,0,4,0,63,0 72,0,52,0,29,0,46,0,73,0,2,0 17,0,13,0,74,0,44,0,1,0,27,0 38,0,14,0,71,0,3,0,32,0,54,0 19,0,25,0,11,0,33,0,12,0,60,0 26,0,24,0,16,0,8,0,70,0,50,0 42,0,65,0,45,0,68,0,58,0,30,0 21,0,47,0,61,0,69,0,34,0,43,0 9,0,36,0,62,0,7,0,66,0,67,0 44,0,57,0,28,0,18,0,29,0,23,0 74,0,19,0,46,0,55,0,38,0,20,0 4,0,11,0,6,0,63,0,37,0,50,0 42,0,10,0,1,0,2,0,5,0,32,0 58,0,73,0,64,0,70,0,21,0,25,0 51,0,47,0,45,0,27,0,39,0,67,0 48,0,12,0,62,0,60,0,68,0,71,0 66,0,41,0,31,0,59,0,14,0,65,0 3,0,53,0,9,0,69,0,52,0,15,0 16,0,56,0,43,0,36,0,40,0,26,0 24,0,30,0,72,0,54,0,17,0,22,0 7,0,34,0,13,0,49,0,35,0,33,0 8,0,6,0,27,0,61,0,67,0,42,0 28,0,68,0,39,0,4,0,57,0,14,0 73,0,44,0,15,0,65,0,41,0,50,0 47,0,43,0,20,0,55,0,64,0,9,0 1,0,70,0,23,0,62,0,10,0,72,0 25,0,5,0,7,0,24,0,13,0,38,0 49,0,46,0,63,0,45,0,33,0,31,0 32,0,21,0,66,0,30,0,52,0,40,0 16,0,58,0,18,0,19,0,60,0,22,0 26,0,54,0,34,0,12,0,36,0,53,0 37,0,3,0,48,0,2,0,17,0,61,0 59,0,35,0,71,0,11,0,51,0,74,0 29,0,8,0,7,0,69,0,56,0,14,0 64,0,46,0,4,0,65,0,40,0,1,0 22,0,27,0,41,0,62,0,33,0,5,0 72,0,49,0,70,0,32,0,42,0,68,0 17,0,43,0,24,0,28,0,18,0,34,0 25,0,38,0,50,0,2,0,67,0,48,0 37,0,39,0,15,0,69,0,26,0,74,0 60,0,53,0,30,0,59,0,23,0,47,0 10,0,71,0,9,0,19,0,63,0,31,0 36,0,21,0,6,0,56,0,29,0,55,0 20,0,35,0,66,0,3,0,58,0,44,0 73,0,13,0,57,0,11,0,12,0,8,0 52,0,45,0,16,0,54,0,61,0,51,0 24,0,40,0,62,0,39,0,47,0,42,0 60,0,74,0,18,0,4,0,5,0,67,0 56,0,68,0,33,0,28,0,15,0,38,0 44,0,64,0,41,0,72,0,46,0,34,0 48,0,43,0,70,0,13,0,3,0,66,0 9,0,23,0,58,0,71,0,16,0,6,0 17,0,25,0,20,0,61,0,59,0,69,0 54,0,52,0,21,0,37,0,19,0,8,0 26,0,1,0,31,0,22,0,35,0,30,0 50,0,73,0,32,0,36,0,57,0,51,0 12,0,29,0,10,0,7,0,27,0,65,0 45,0,11,0,2,0,14,0,55,0,53,0 49,0,69,0,60,0,63,0,28,0,64,0 46,0,23,0,43,0,74,0,8,0,59,0 22,0,67,0,24,0,56,0,21,0,15,0 18,0,30,0,13,0,51,0,71,0,72,0 54,0,65,0,73,0,47,0,33,0,1,0 45,0,9,0,40,0,70,0,2,0,12,0 39,0,66,0,61,0,11,0,49,0,38,0 44,0,63,0,10,0,58,0,36,0,37,0 5,0,17,0,52,0,35,0,6,0,14,0 3,0,41,0,7,0,68,0,26,0,25,0 32,0,34,0,55,0,27,0,62,0,50,0 53,0,4,0,16,0,20,0,29,0,31,0 42,0,57,0,23,0,19,0,48,0,45,0 67,0,59,0,64,0,13,0,39,0,54,0 15,0,11,0,30,0,36,0,38,0,10,0 2,0,18,0,22,0,6,0,49,0,74,0 71,0,66,0,73,0,27,0,46,0,26,0 16,0,61,0,44,0,68,0,47,0,24,0 20,0,34,0,63,0,48,0,5,0,65,0 25,0,42,0,56,0,52,0,43,0,4,0 33,0,40,0,19,0,62,0,3,0,14,0 41,0,29,0,9,0,1,0,37,0,60,0 8,0,31,0,35,0,28,0,32,0,70,0 72,0,69,0,12,0,58,0,55,0,51,0 57,0,50,0,21,0,53,0,17,0,7,0 63,0,68,0,2,0,56,0,59,0,54,0 6,0,38,0,73,0,62,0,64,0,16,0 47,0,34,0,19,0,15,0,1,0,66,0 14,0,61,0,25,0,46,0,70,0,18,0 43,0,12,0,39,0,35,0,23,0,5,0 71,0,31,0,22,0,7,0,52,0,44,0 27,0,69,0,30,0,57,0,49,0,24,0 65,0,60,0,36,0,42,0,72,0,3,0 50,0,10,0,45,0,13,0,20,0,21,0 8,0,53,0,32,0,48,0,58,0,41,0 11,0,29,0,28,0,67,0,40,0,74,0 26,0,51,0,33,0,17,0,4,0,9,0 37,0,38,0,34,0,55,0,71,0,70,0 43,0,14,0,19,0,56,0,27,0,63,0 31,0,6,0,69,0,68,0,72,0,66,0 47,0,36,0,49,0,41,0,52,0,12,0 3,0,39,0,10,0,22,0,73,0,74,0 57,0,58,0,65,0,61,0,9,0,1,0 11,0,17,0,67,0,20,0,32,0,23,0 26,0,5,0,55,0,25,0,54,0,44,0 42,0,7,0,51,0,46,0,53,0,37,0 29,0,15,0,59,0,62,0,8,0,45,0 40,0,64,0,60,0,24,0,50,0,35,0 4,0,28,0,21,0,16,0,13,0,2,0 48,0,18,0,68,0,30,0,33,0,9,0 ================================================ FILE: schedules/74_2.csv ================================================ 59,0,24,0,13,0,47,0,33,0,7,0 46,0,12,0,35,0,19,0,49,0,10,0 9,0,74,0,2,0,69,0,37,0,50,0 5,0,61,0,55,0,48,0,73,0,57,0 65,0,62,0,17,0,56,0,28,0,42,0 53,0,54,0,3,0,16,0,64,0,66,0 4,0,67,0,6,0,40,0,71,0,21,0 30,0,41,0,15,0,32,0,29,0,38,0 20,0,60,0,27,0,58,0,25,0,31,0 63,0,18,0,52,0,34,0,36,0,8,0 39,0,26,0,11,0,23,0,51,0,45,0 72,0,1,0,44,0,70,0,22,0,14,0 68,0,54,0,48,0,43,0,50,0,17,0 47,0,56,0,49,0,5,0,53,0,67,0 37,0,40,0,58,0,16,0,65,0,59,0 7,0,71,0,10,0,62,0,38,0,18,0 45,0,36,0,9,0,42,0,64,0,35,0 70,0,33,0,73,0,39,0,74,0,30,0 29,0,66,0,19,0,27,0,24,0,55,0 34,0,28,0,61,0,25,0,68,0,6,0 60,0,1,0,57,0,2,0,15,0,8,0 51,0,63,0,46,0,13,0,72,0,21,0 31,0,41,0,14,0,12,0,26,0,4,0 22,0,43,0,69,0,20,0,3,0,23,0 32,0,11,0,9,1,52,0,44,0,55,1 ================================================ FILE: schedules/74_3.csv ================================================ 69,0,61,0,53,0,12,0,13,0,8,0 50,0,41,0,39,0,9,0,67,0,20,0 65,0,31,0,72,0,26,0,14,0,2,0 37,0,24,0,4,0,21,0,16,0,56,0 45,0,55,0,38,0,52,0,60,0,23,0 6,0,46,0,40,0,5,0,59,0,44,0 58,0,36,0,51,0,1,0,19,0,3,0 48,0,7,0,74,0,10,0,43,0,70,0 30,0,27,0,73,0,11,0,54,0,64,0 17,0,66,0,18,0,63,0,22,0,35,0 33,0,25,0,28,0,34,0,32,0,49,0 62,0,47,0,68,0,29,0,71,0,15,0 42,0,58,0,13,0,57,0,46,0,4,0 51,0,45,0,10,0,14,0,24,0,41,0 44,0,20,0,54,0,74,0,65,0,8,0 53,0,21,0,5,0,7,0,60,0,18,0 28,0,39,0,70,0,73,0,19,0,37,0 22,0,2,0,32,0,36,0,29,0,48,0 50,0,38,0,27,0,17,0,56,0,31,0 69,0,67,0,49,0,1,0,68,0,30,0 9,0,57,0,43,0,71,0,63,0,40,0 15,0,33,0,26,0,61,0,66,0,23,0 72,0,64,0,16,0,25,0,12,0,42,0 59,0,52,0,3,0,35,0,47,0,11,0 62,0,34,0,56,0,55,0,6,0,10,0 20,0,60,0,17,0,51,0,69,0,28,0 36,0,73,0,71,0,44,0,4,0,67,0 61,0,14,0,63,0,27,0,39,0,5,0 19,0,23,0,30,0,21,0,22,0,9,0 48,0,3,0,8,0,66,0,50,0,42,0 1,0,7,0,12,0,2,0,45,0,33,0 70,0,11,0,6,0,24,0,58,0,65,0 59,0,26,0,34,0,57,0,18,0,68,0 55,0,15,0,49,0,40,0,64,0,74,0 29,0,35,0,41,0,38,0,43,0,25,0 37,0,52,0,46,0,72,0,53,0,62,0 16,0,54,0,13,0,32,0,31,0,47,0 ================================================ FILE: schedules/74_4.csv ================================================ 13,0,64,0,70,0,42,0,63,0,34,0 6,0,43,0,7,0,8,0,48,0,14,0 47,0,19,0,69,0,18,0,38,0,56,0 9,0,49,0,36,0,33,0,73,0,26,0 17,0,4,0,51,0,28,0,3,0,67,0 10,0,71,0,35,0,57,0,46,0,53,0 54,0,29,0,1,0,50,0,16,0,37,0 60,0,65,0,62,0,23,0,27,0,61,0 39,0,11,0,55,0,45,0,20,0,31,0 32,0,59,0,66,0,40,0,5,0,2,0 30,0,58,0,44,0,24,0,22,0,72,0 74,0,15,0,21,0,12,0,25,0,52,0 41,0,26,0,3,0,68,0,43,0,70,0 42,0,61,0,46,0,4,0,38,0,73,0 28,0,7,0,23,0,39,0,18,0,37,0 9,0,40,0,63,0,54,0,6,0,20,0 64,0,71,0,29,0,66,0,31,0,30,0 52,0,8,0,19,0,2,0,53,0,51,0 13,0,72,0,57,0,25,0,50,0,59,0 55,0,14,0,27,0,32,0,21,0,1,0 48,0,68,0,24,0,17,0,11,0,12,0 41,0,44,0,45,0,56,0,33,0,15,0 67,0,5,0,47,0,49,0,65,0,35,0 60,0,16,0,74,0,58,0,34,0,10,0 22,0,62,0,57,0,69,0,36,0,63,0 2,1,18,0,71,0,4,1,14,0,54,0 72,1,73,0,70,0,7,1,55,0,29,0 40,0,51,0,46,0,64,0,21,0,39,0 23,0,12,0,20,0,30,0,3,0,47,0 15,0,48,0,1,0,60,0,42,0,26,0 69,0,33,0,66,0,65,0,11,0,8,0 17,0,6,0,52,0,16,0,61,0,45,0 67,0,19,0,37,0,22,0,9,0,10,0 28,0,5,0,13,0,44,0,68,0,36,0 32,0,25,0,53,0,31,0,58,0,41,0 62,0,24,0,34,0,49,0,50,0,38,0 35,0,56,0,59,0,74,0,27,0,43,0 61,0,70,0,54,0,47,0,51,0,15,0 20,0,67,0,2,0,48,0,29,0,46,0 45,0,4,0,68,0,8,0,64,0,60,0 10,0,72,0,41,0,52,0,40,0,65,0 49,0,57,0,58,0,1,0,7,0,19,0 50,0,53,0,30,0,21,0,36,0,17,0 3,0,27,0,18,0,13,0,33,0,22,0 63,0,23,0,35,0,32,0,24,0,73,0 12,0,34,0,66,0,55,0,43,0,28,0 11,0,42,0,74,0,44,0,71,0,6,0 25,0,56,0,26,0,62,0,37,0,5,0 38,0,39,0,16,0,14,0,59,0,9,0 31,0,2,0,7,0,69,0,4,0,72,0 ================================================ FILE: schedules/74_5.csv ================================================ 66,0,53,0,32,0,38,0,46,0,37,0 4,0,3,0,16,0,45,0,60,0,67,0 28,0,7,0,24,0,17,0,14,0,19,0 68,0,50,0,70,0,29,0,41,0,12,0 64,0,9,0,59,0,63,0,48,0,72,0 20,0,51,0,56,0,35,0,52,0,31,0 49,0,15,0,42,0,54,0,55,0,8,0 10,0,36,0,47,0,39,0,61,0,33,0 13,0,18,0,23,0,26,0,25,0,6,0 34,0,1,0,43,0,22,0,21,0,65,0 11,0,5,0,57,0,71,0,73,0,74,0 27,0,62,0,2,0,58,0,40,0,30,0 69,0,29,0,17,0,44,0,59,0,38,0 61,0,55,0,72,0,66,0,68,0,4,0 70,0,3,0,49,0,14,0,23,0,56,0 6,0,24,0,9,0,16,0,37,0,21,0 19,0,52,0,65,0,41,0,48,0,71,0 1,0,58,0,64,0,18,0,45,0,11,0 40,0,12,0,46,0,5,0,15,0,63,0 54,0,50,0,67,0,73,0,35,0,47,0 51,0,60,0,43,0,33,0,57,0,28,0 22,0,25,0,69,0,8,0,30,0,20,0 13,0,74,0,42,0,10,0,27,0,53,0 36,0,2,0,34,0,44,0,31,0,32,0 7,0,39,0,4,0,26,0,62,0,46,0 1,1,6,0,72,0,19,1,67,0,70,0 5,0,18,0,49,0,68,0,52,0,24,0 73,0,29,0,30,0,21,0,3,0,64,0 48,0,45,0,38,0,10,0,43,0,8,0 61,0,40,0,31,0,13,0,14,0,54,0 44,0,66,0,57,0,20,0,15,0,26,0 53,0,33,0,71,0,59,0,2,0,25,0 35,0,22,0,32,0,27,0,11,0,60,0 28,0,9,0,12,0,42,0,36,0,69,0 63,0,37,0,74,0,34,0,50,0,7,0 17,0,39,0,58,0,56,0,41,0,55,0 47,0,65,0,16,0,51,0,62,0,23,0 14,0,44,0,5,0,53,0,1,0,8,0 22,0,2,0,48,0,57,0,24,0,13,0 33,0,26,0,67,0,42,0,64,0,52,0 29,0,27,0,37,0,36,0,49,0,43,0 19,0,20,0,21,0,50,0,40,0,32,0 65,0,38,0,55,0,9,0,70,0,60,0 11,0,23,0,39,0,72,0,54,0,69,0 59,0,74,0,15,0,16,0,61,0,35,0 4,0,34,0,18,0,12,0,47,0,17,0 51,0,3,0,46,0,41,0,10,0,25,0 71,0,6,0,45,0,7,0,56,0,30,0 73,0,68,0,58,0,28,0,31,0,63,0 66,0,8,0,33,0,62,0,29,0,9,0 64,0,37,0,70,0,22,0,61,0,44,0 5,0,23,0,35,0,19,0,2,0,42,0 40,0,26,0,34,0,49,0,69,0,51,0 50,0,30,0,55,0,1,0,46,0,36,0 67,0,27,0,25,0,48,0,39,0,28,0 15,0,11,0,41,0,4,0,24,0,43,0 60,0,63,0,17,0,20,0,13,0,71,0 16,0,54,0,52,0,57,0,38,0,58,0 68,0,14,0,45,0,32,0,74,0,47,0 72,0,31,0,21,0,18,0,7,0,53,0 59,0,66,0,6,0,3,0,12,0,65,0 56,0,10,0,1,0,73,0,62,0,19,0 ================================================ FILE: schedules/74_6.csv ================================================ 1,0,68,0,38,0,8,0,4,0,56,0 57,0,62,0,7,0,3,0,26,0,9,0 49,0,15,0,11,0,20,0,17,0,2,0 10,0,42,0,18,0,6,0,46,0,63,0 71,0,41,0,66,0,50,0,22,0,31,0 67,0,47,0,72,0,37,0,40,0,23,0 14,0,27,0,24,0,53,0,52,0,30,0 25,0,28,0,16,0,44,0,48,0,70,0 60,0,64,0,54,0,73,0,51,0,36,0 74,0,61,0,21,0,32,0,39,0,45,0 58,0,19,0,35,0,29,0,34,0,5,0 59,0,12,0,33,0,55,0,69,0,43,0 13,0,52,0,49,0,65,0,46,0,4,0 22,0,56,0,6,0,72,0,24,0,57,0 15,0,14,0,48,0,7,0,8,0,67,0 63,0,23,0,54,0,9,0,25,0,68,0 70,0,36,0,62,0,11,0,19,0,42,0 20,0,3,0,51,0,35,0,66,0,74,0 32,0,40,0,18,0,73,0,59,0,5,0 2,0,39,0,31,0,33,0,38,0,60,0 43,0,41,0,47,0,10,0,61,0,29,0 53,0,16,0,45,0,69,0,13,0,17,0 64,0,50,0,65,0,58,0,26,0,30,0 37,0,34,0,1,0,27,0,28,0,12,0 21,0,55,0,63,0,44,0,71,0,24,0 56,0,9,0,19,0,48,0,2,0,74,0 67,0,33,0,35,0,25,0,11,0,46,0 22,0,60,0,20,0,52,0,5,0,7,0 3,0,45,0,64,0,14,0,23,0,38,0 43,0,53,0,66,0,8,0,39,0,18,0 27,0,17,0,68,0,71,0,70,0,57,0 26,0,37,0,16,0,42,0,61,0,73,0 41,0,72,0,65,0,15,0,59,0,1,0 29,0,55,0,51,0,13,0,40,0,50,0 10,0,21,0,34,0,54,0,49,0,62,0 30,0,31,0,32,0,12,0,44,0,4,0 69,0,58,0,28,0,47,0,36,0,6,0 46,0,71,0,39,0,16,0,64,0,7,0 5,0,25,0,26,0,56,0,45,0,15,0 61,0,17,0,72,0,3,0,63,0,60,0 23,0,59,0,8,0,2,0,57,0,29,0 51,0,65,0,19,0,10,0,32,0,68,0 27,0,13,0,44,0,22,0,62,0,47,0 11,0,69,0,50,0,21,0,18,0,1,0 42,0,40,0,52,0,54,0,38,0,66,0 53,0,6,0,70,0,33,0,41,0,34,0 20,0,48,0,31,0,58,0,24,0,43,0 36,0,74,0,37,0,4,0,14,0,55,0 30,0,28,0,9,0,35,0,49,0,73,0 67,0,16,0,60,0,12,0,21,0,57,0 56,0,44,0,39,0,59,0,11,0,3,0 22,0,26,0,29,0,1,0,54,0,17,0 23,0,62,0,41,0,20,0,32,0,69,0 38,0,74,0,5,0,50,0,47,0,46,0 58,0,63,0,7,0,49,0,51,0,27,0 34,0,68,0,13,0,36,0,30,0,48,0 25,0,55,0,64,0,8,0,31,0,6,0 52,0,2,0,43,0,45,0,37,0,35,0 15,0,12,0,40,0,53,0,71,0,19,0 4,0,18,0,33,0,24,0,28,0,61,0 70,0,14,0,73,0,66,0,72,0,10,0 65,0,42,0,5,0,67,0,9,0,17,0 21,0,8,0,46,0,3,0,27,0,41,0 50,0,49,0,36,0,32,0,43,0,56,0 62,0,31,0,52,0,15,0,63,0,16,0 20,0,38,0,71,0,59,0,37,0,25,0 26,0,44,0,40,0,68,0,69,0,60,0 66,0,45,0,67,0,19,0,55,0,28,0 30,0,22,0,10,0,74,0,33,0,23,0 61,0,54,0,7,0,12,0,70,0,35,0 34,0,14,0,57,0,18,0,51,0,47,0 4,0,11,0,58,0,72,0,53,0,9,0 24,0,13,0,1,0,64,0,2,0,42,0 73,0,29,0,6,0,65,0,48,0,39,0 ================================================ FILE: schedules/74_7.csv ================================================ 64,0,55,0,57,0,35,0,38,0,28,0 22,0,37,0,59,0,13,0,60,0,17,0 8,0,7,0,33,0,41,0,24,0,61,0 15,0,31,0,9,0,70,0,40,0,29,0 63,0,66,0,42,0,5,0,52,0,49,0 53,0,44,0,71,0,50,0,32,0,74,0 20,0,45,0,21,0,73,0,19,0,68,0 43,0,18,0,11,0,65,0,51,0,6,0 25,0,3,0,62,0,34,0,10,0,72,0 14,0,54,0,69,0,56,0,4,0,30,0 47,0,26,0,36,0,58,0,48,0,2,0 12,0,46,0,1,0,16,0,27,0,39,0 23,0,35,0,61,0,67,0,70,0,22,0 31,0,24,0,59,0,18,0,42,0,53,0 33,0,51,0,19,0,50,0,37,0,5,0 57,0,52,0,65,0,72,0,44,0,60,0 71,0,63,0,9,0,25,0,6,0,45,0 7,0,58,0,40,0,1,0,14,0,20,0 73,0,16,0,3,0,11,0,69,0,55,0 21,0,2,0,29,0,38,0,39,0,54,0 28,0,13,0,46,0,26,0,10,0,15,0 8,0,30,0,62,0,12,0,67,0,36,0 66,0,27,0,32,0,56,0,17,0,43,0 68,0,41,0,4,0,47,0,74,0,23,0 48,0,34,0,50,0,49,0,64,0,45,0 35,1,52,0,6,0,31,1,3,0,58,0 33,1,42,0,2,0,71,1,1,0,10,0 5,0,30,0,61,0,53,0,60,0,11,0 18,0,15,0,54,0,19,0,27,0,57,0 46,0,29,0,67,0,41,0,51,0,55,0 20,0,28,0,48,0,32,0,4,0,65,0 63,0,24,0,56,0,62,0,39,0,68,0 49,0,47,0,43,0,37,0,16,0,9,0 14,0,36,0,74,0,72,0,64,0,22,0 13,0,38,0,12,0,66,0,69,0,40,0 17,0,70,0,21,0,34,0,26,0,7,0 25,0,8,0,44,0,23,0,59,0,73,0 1,0,29,0,45,0,56,0,61,0,65,0 62,0,32,0,57,0,33,0,58,0,46,0 30,0,37,0,28,0,63,0,3,0,18,0 16,0,67,0,14,0,48,0,19,0,71,0 39,0,17,0,69,0,42,0,64,0,47,0 21,0,40,0,35,0,53,0,27,0,8,0 50,0,7,0,23,0,13,0,43,0,72,0 24,0,52,0,10,0,20,0,38,0,74,0 54,0,5,0,26,0,12,0,25,0,31,0 73,0,41,0,34,0,36,0,60,0,15,0 9,0,51,0,22,0,68,0,44,0,66,0 49,0,11,0,2,0,70,0,59,0,4,0 6,0,50,0,17,0,55,0,1,0,30,0 65,0,3,0,67,0,27,0,7,0,47,0 56,0,72,0,42,0,26,0,20,0,8,0 36,0,69,0,28,0,43,0,29,0,24,0 53,0,48,0,15,0,37,0,62,0,66,0 33,0,10,0,40,0,11,0,63,0,54,0 64,0,12,0,73,0,70,0,71,0,18,0 4,0,38,0,16,0,61,0,6,0,44,0 35,0,59,0,68,0,34,0,14,0,5,0 41,0,25,0,22,0,32,0,52,0,21,0 60,0,23,0,46,0,19,0,9,0,2,0 74,0,58,0,55,0,13,0,49,0,31,0 39,0,51,0,70,0,57,0,45,0,36,0 33,0,48,0,12,0,3,0,56,0,44,0 63,0,27,0,64,0,4,0,29,0,26,0 71,0,59,0,52,0,62,0,28,0,54,0 72,0,5,0,6,0,46,0,47,0,24,0 58,0,19,0,41,0,53,0,65,0,17,0 45,0,31,0,37,0,38,0,11,0,67,0 73,0,13,0,61,0,42,0,57,0,14,0 30,0,10,0,51,0,21,0,23,0,49,0 32,0,1,0,34,0,8,0,69,0,9,0 39,0,74,0,66,0,35,0,7,0,18,0 55,0,20,0,2,0,43,0,15,0,22,0 50,0,60,0,40,0,25,0,68,0,16,0 47,0,53,0,70,0,52,0,33,0,14,0 17,0,49,0,72,0,54,0,67,0,73,0 1,0,63,0,31,0,48,0,21,0,57,0 10,0,19,0,32,0,12,0,29,0,35,0 44,0,39,0,11,0,13,0,20,0,41,0 58,0,27,0,25,0,69,0,61,0,51,0 26,0,3,0,24,0,66,0,23,0,71,0 22,0,6,0,42,0,34,0,40,0,28,0 36,0,56,0,18,0,38,0,46,0,50,0 45,0,30,0,74,0,15,0,16,0,59,0 68,0,8,0,65,0,2,0,64,0,37,0 7,0,62,0,4,0,5,0,9,0,55,0 60,0,35,0,71,0,43,0,31,0,33,0 ================================================ FILE: schedules/74_8.csv ================================================ 67,0,55,0,48,0,37,0,74,0,73,0 71,0,44,0,11,0,30,0,42,0,31,0 36,0,56,0,47,0,26,0,12,0,33,0 66,0,45,0,57,0,43,0,68,0,25,0 50,0,16,0,10,0,2,0,29,0,70,0 21,0,15,0,19,0,34,0,60,0,39,0 4,0,52,0,24,0,46,0,32,0,8,0 64,0,13,0,65,0,28,0,41,0,51,0 59,0,38,0,18,0,58,0,63,0,35,0 6,0,40,0,1,0,22,0,3,0,53,0 17,0,20,0,14,0,5,0,61,0,54,0 49,0,62,0,23,0,9,0,7,0,69,0 27,0,74,0,32,0,72,0,71,0,2,0 30,0,15,0,66,0,47,0,52,0,55,0 12,0,63,0,51,0,45,0,70,0,34,0 29,0,19,0,8,0,38,0,44,0,26,0 68,0,58,0,67,0,17,0,65,0,1,0 61,0,33,0,35,0,25,0,6,0,62,0 56,0,28,0,14,0,22,0,11,0,60,0 5,0,13,0,50,0,42,0,49,0,37,0 40,0,21,0,4,0,41,0,31,0,23,0 54,0,39,0,27,0,59,0,48,0,43,0 16,0,64,0,53,0,46,0,69,0,73,0 3,0,20,0,57,0,24,0,7,0,36,0 18,0,9,0,61,0,72,0,10,0,8,0 26,1,62,0,42,0,74,1,70,0,28,0 23,0,50,0,19,0,14,0,71,0,68,0 48,0,45,0,29,0,17,0,35,0,52,0 63,0,31,0,54,0,22,0,46,0,13,0 60,0,12,0,4,0,16,0,49,0,44,0 34,0,53,0,57,0,27,0,65,0,33,0 36,0,43,0,38,0,55,0,10,0,69,0 21,0,47,0,5,0,32,0,1,0,51,0 67,0,3,0,39,0,56,0,18,0,30,0 24,0,66,0,73,0,59,0,6,0,41,0 58,0,9,0,2,0,25,0,11,0,20,0 40,0,15,0,72,0,37,0,7,0,64,0 12,0,61,0,69,0,68,0,29,0,27,0 43,0,47,0,8,0,49,0,70,0,53,0 54,0,1,0,74,0,56,0,45,0,38,0 62,0,73,0,60,0,10,0,71,0,17,0 23,0,42,0,6,0,36,0,63,0,16,0 13,0,21,0,44,0,55,0,35,0,20,0 33,0,51,0,52,0,67,0,72,0,19,0 41,0,39,0,26,0,57,0,5,0,2,0 37,0,4,0,34,0,9,0,22,0,30,0 65,0,31,0,25,0,7,0,48,0,14,0 18,0,28,0,40,0,50,0,46,0,66,0 11,0,3,0,32,0,59,0,15,0,64,0 24,0,71,0,53,0,58,0,61,0,21,0 41,0,67,0,69,0,47,0,45,0,44,0 51,0,35,0,9,0,54,0,26,0,73,0 33,0,1,0,7,0,8,0,13,0,60,0 36,0,72,0,31,0,17,0,34,0,50,0 3,0,52,0,27,0,5,0,28,0,23,0 12,0,46,0,37,0,19,0,20,0,43,0 2,0,42,0,68,0,18,0,4,0,55,0 58,0,10,0,64,0,48,0,56,0,66,0 70,0,22,0,25,0,24,0,38,0,15,0 49,0,14,0,32,0,40,0,63,0,30,0 11,0,6,0,74,0,39,0,29,0,65,0 59,0,16,0,1,0,57,0,62,0,72,0 45,0,5,0,7,0,28,0,19,0,55,0 46,0,42,0,60,0,26,0,35,0,67,0 54,0,25,0,36,0,18,0,53,0,52,0 17,0,63,0,43,0,24,0,44,0,56,0 29,0,30,0,33,0,64,0,20,0,23,0 27,0,37,0,8,0,21,0,62,0,11,0 58,0,6,0,69,0,51,0,50,0,4,0 13,0,74,0,14,0,57,0,9,0,12,0 49,0,22,0,15,0,2,0,73,0,65,0 39,0,70,0,31,0,32,0,66,0,61,0 10,0,59,0,34,0,40,0,68,0,47,0 48,0,38,0,71,0,3,0,16,0,41,0 46,0,36,0,44,0,5,0,58,0,62,0 63,0,55,0,25,0,60,0,64,0,26,0 33,0,43,0,22,0,21,0,74,0,52,0 18,0,51,0,31,0,29,0,24,0,49,0 20,0,8,0,45,0,50,0,73,0,39,0 2,0,34,0,69,0,66,0,54,0,3,0 15,0,14,0,27,0,1,0,10,0,41,0 68,0,9,0,28,0,48,0,53,0,32,0 56,0,70,0,37,0,6,0,71,0,57,0 17,0,59,0,47,0,42,0,4,0,19,0 65,0,35,0,12,0,72,0,23,0,30,0 38,0,61,0,11,0,67,0,40,0,13,0 7,0,26,0,34,0,16,0,58,0,43,0 68,0,64,0,5,0,8,0,31,0,74,0 46,0,71,0,55,0,33,0,39,0,49,0 32,0,22,0,41,0,20,0,18,0,62,0 24,0,2,0,45,0,37,0,14,0,60,0 19,0,17,0,25,0,3,0,69,0,13,0 57,0,23,0,44,0,48,0,15,0,61,0 21,0,10,0,67,0,12,0,54,0,6,0 72,0,73,0,28,0,47,0,29,0,63,0 42,0,7,0,38,0,51,0,66,0,27,0 4,0,1,0,35,0,11,0,36,0,70,0 65,0,16,0,56,0,9,0,52,0,40,0 30,0,53,0,26,0,59,0,50,0,74,0 ================================================ FILE: schedules/74_9.csv ================================================ 59,0,19,0,52,0,56,0,7,0,49,0 60,0,34,0,27,0,55,0,44,0,69,0 28,0,24,0,72,0,39,0,33,0,35,0 61,0,16,0,62,0,37,0,46,0,41,0 43,0,64,0,5,0,2,0,68,0,66,0 22,0,32,0,42,0,65,0,38,0,36,0 11,0,21,0,48,0,8,0,9,0,70,0 13,0,18,0,40,0,23,0,45,0,57,0 1,0,53,0,54,0,63,0,12,0,6,0 17,0,3,0,47,0,51,0,67,0,14,0 25,0,26,0,74,0,20,0,31,0,4,0 29,0,58,0,71,0,15,0,50,0,73,0 10,0,66,0,35,0,30,0,44,0,8,0 21,0,72,0,43,0,41,0,16,0,56,0 42,0,33,0,37,0,59,0,69,0,9,0 5,0,27,0,51,0,1,0,19,0,38,0 52,0,7,0,47,0,60,0,32,0,23,0 48,0,71,0,36,0,74,0,13,0,53,0 62,0,24,0,31,0,45,0,3,0,29,0 58,0,57,0,12,0,20,0,17,0,10,0 55,0,40,0,26,0,6,0,15,0,14,0 70,0,39,0,49,0,68,0,67,0,34,0 50,0,18,0,22,0,28,0,30,0,63,0 2,0,61,0,65,0,54,0,73,0,4,0 46,0,11,0,1,0,64,0,25,0,23,0 16,0,13,0,19,0,33,0,60,0,17,0 20,0,44,0,62,0,8,0,43,0,71,0 10,0,68,0,14,0,37,0,72,0,31,0 9,0,66,0,74,0,27,0,3,0,50,0 4,0,41,0,59,0,12,0,28,0,32,0 15,0,7,0,39,0,46,0,36,0,21,0 6,0,54,0,65,0,18,0,64,0,35,0 49,0,34,0,26,0,22,0,73,0,24,0 47,0,70,0,40,0,61,0,53,0,56,0 52,0,11,0,51,0,58,0,2,0,42,0 25,0,38,0,67,0,45,0,55,0,30,0 29,0,57,0,48,0,5,0,63,0,69,0 13,0,20,0,28,0,15,0,66,0,27,0 9,0,36,0,44,0,12,0,26,0,16,0 56,0,3,0,35,0,37,0,60,0,1,0 42,0,61,0,8,0,50,0,6,0,17,0 31,0,45,0,22,0,54,0,32,0,51,0 48,0,25,0,7,0,40,0,62,0,68,0 10,0,33,0,71,0,21,0,18,0,52,0 49,0,24,0,63,0,58,0,43,0,55,0 57,0,47,0,64,0,72,0,38,0,4,0 46,0,67,0,19,0,73,0,53,0,69,0 65,0,30,0,14,0,59,0,34,0,11,0 70,0,23,0,2,0,41,0,29,0,74,0 5,0,54,0,44,0,39,0,56,0,50,0 31,0,60,0,66,0,61,0,40,0,12,0 37,0,49,0,27,0,4,0,45,0,48,0 1,0,42,0,20,0,21,0,73,0,62,0 46,0,34,0,32,0,17,0,57,0,43,0 36,0,11,0,35,0,63,0,19,0,47,0 8,0,59,0,26,0,13,0,2,0,67,0 3,0,41,0,33,0,5,0,25,0,58,0 16,0,39,0,74,0,10,0,38,0,6,0 69,0,71,0,14,0,22,0,64,0,70,0 72,0,18,0,7,0,51,0,29,0,9,0 30,0,68,0,24,0,53,0,15,0,52,0 55,0,23,0,56,0,28,0,65,0,62,0 59,0,35,0,58,0,21,0,27,0,40,0 32,0,2,0,6,0,44,0,37,0,19,0 71,0,38,0,12,0,11,0,49,0,3,0 50,0,41,0,60,0,26,0,48,0,39,0 29,0,52,0,4,0,13,0,34,0,66,0 63,0,15,0,25,0,65,0,10,0,51,0 47,0,68,0,54,0,46,0,42,0,28,0 73,0,17,0,72,0,22,0,55,0,74,0 57,0,36,0,30,0,33,0,1,0,61,0 31,0,5,0,7,0,18,0,70,0,67,0 53,0,45,0,64,0,20,0,43,0,9,0 24,0,23,0,14,0,8,0,16,0,69,0 50,0,29,0,21,0,32,0,49,0,65,0 52,0,46,0,73,0,38,0,44,0,48,0 28,0,1,0,25,0,71,0,2,0,34,0 13,0,30,0,12,0,47,0,37,0,5,0 55,0,9,0,19,0,39,0,31,0,57,0 10,0,24,0,41,0,27,0,42,0,64,0 66,0,45,0,70,0,6,0,36,0,72,0 68,0,69,0,20,0,61,0,51,0,35,0 8,0,3,0,7,0,16,0,22,0,4,0 43,0,15,0,60,0,59,0,23,0,54,0 56,0,17,0,11,0,26,0,53,0,18,0 62,0,33,0,74,0,67,0,63,0,40,0 14,0,55,0,1,0,58,0,48,0,66,0 69,0,6,0,49,0,31,0,41,0,13,0 73,0,37,0,12,0,39,0,64,0,8,0 60,0,72,0,65,0,46,0,5,0,20,0 4,0,51,0,36,0,24,0,56,0,59,0 3,0,18,0,42,0,19,0,26,0,43,0 23,0,63,0,22,0,44,0,21,0,68,0 28,0,67,0,61,0,10,0,29,0,11,0 52,0,54,0,16,0,25,0,57,0,27,0 34,0,9,0,45,0,74,0,58,0,47,0 38,0,17,0,15,0,35,0,62,0,70,0 53,0,2,0,50,0,33,0,14,0,7,0 40,0,32,0,19,0,71,0,30,0,72,0 56,0,12,0,67,0,48,0,42,0,23,0 61,0,64,0,55,0,3,0,13,0,21,0 60,0,57,0,44,0,24,0,11,0,74,0 51,0,58,0,73,0,16,0,70,0,28,0 5,0,35,0,45,0,14,0,26,0,52,0 34,0,38,0,40,0,54,0,20,0,41,0 18,0,4,0,32,0,1,0,68,0,15,0 39,0,53,0,22,0,59,0,29,0,25,0 30,0,9,0,6,0,49,0,2,0,46,0 8,0,65,0,27,0,31,0,33,0,47,0 37,0,66,0,17,0,63,0,7,0,71,0 62,0,69,0,43,0,50,0,36,0,10,0 ================================================ FILE: schedules/75_1.csv ================================================ 23,0,50,0,1,0,12,0,73,0,40,0 17,0,49,0,14,0,18,0,2,0,53,0 44,0,54,0,36,0,46,0,37,0,30,0 63,0,41,0,55,0,38,0,66,0,57,0 16,0,75,0,32,0,35,0,64,0,21,0 56,0,31,0,72,0,5,0,45,0,10,0 61,0,58,0,59,0,48,0,68,0,27,0 52,0,26,0,39,0,7,0,43,0,6,0 19,0,51,0,70,0,20,0,33,0,28,0 25,0,71,0,4,0,9,0,34,0,62,0 42,0,67,0,15,0,65,0,24,0,8,0 22,0,11,0,47,0,74,0,69,0,3,0 13,0,60,0,56,1,29,0,1,1,75,1 ================================================ FILE: schedules/75_10.csv ================================================ 34,0,16,0,32,0,72,0,46,0,33,0 5,0,24,0,60,0,37,0,36,0,47,0 11,0,7,0,1,0,75,0,19,0,38,0 57,0,62,0,41,0,2,0,14,0,73,0 10,0,25,0,66,0,21,0,70,0,55,0 50,0,67,0,4,0,20,0,53,0,22,0 9,0,26,0,35,0,3,0,48,0,15,0 74,0,64,0,71,0,43,0,44,0,30,0 18,0,29,0,68,0,54,0,31,0,13,0 52,0,17,0,39,0,28,0,51,0,61,0 58,0,63,0,27,0,8,0,42,0,40,0 69,0,59,0,65,0,49,0,23,0,56,0 12,0,6,0,20,0,45,0,2,0,1,0 72,0,26,0,25,0,38,0,43,0,67,0 53,0,31,0,62,0,35,0,74,0,11,0 9,0,37,0,32,0,50,0,29,0,75,0 28,0,48,0,27,0,71,0,33,0,10,0 23,0,64,0,47,0,21,0,57,0,42,0 7,0,54,0,39,0,24,0,14,0,22,0 16,0,8,0,44,0,69,0,68,0,51,0 19,0,56,0,34,0,66,0,40,0,41,0 49,0,63,0,15,0,18,0,12,0,17,0 13,0,65,0,58,0,60,0,70,0,3,0 46,0,45,0,36,0,61,0,55,0,4,0 30,0,52,0,6,0,73,0,5,0,59,0 48,0,23,0,37,0,62,0,8,0,54,0 72,0,75,0,47,0,35,0,56,0,39,0 42,0,71,0,31,0,69,0,50,0,2,0 14,0,29,0,26,0,12,0,10,0,65,0 13,0,21,0,40,0,49,0,24,0,74,0 4,0,1,0,53,0,52,0,16,0,57,0 11,0,5,0,3,0,45,0,25,0,43,0 20,0,38,0,41,0,17,0,32,0,64,0 15,0,9,0,66,0,58,0,30,0,68,0 19,0,22,0,51,0,73,0,33,0,18,0 27,0,60,0,44,0,34,0,28,0,55,0 63,0,36,0,59,0,67,0,46,0,7,0 61,0,70,0,56,0,6,0,48,0,53,0 16,0,35,0,45,0,10,0,54,0,17,0 49,0,58,0,62,0,47,0,43,0,32,0 21,0,51,0,3,0,4,0,2,0,31,0 69,0,30,0,74,0,33,0,60,0,1,0 67,0,39,0,42,0,55,0,9,0,73,0 18,0,27,0,61,0,41,0,25,0,37,0 57,0,34,0,24,0,38,0,52,0,12,0 50,0,23,0,13,0,28,0,7,0,15,0 72,0,68,0,5,0,63,0,65,0,19,0 71,0,29,0,6,0,22,0,46,0,66,0 36,0,70,0,75,0,64,0,8,0,14,0 59,0,20,0,40,0,11,0,26,0,44,0 53,0,12,0,51,0,21,0,32,0,60,0 43,0,35,0,50,0,24,0,4,0,18,0 2,0,48,0,47,0,38,0,13,0,68,0 56,0,5,0,57,0,3,0,17,0,46,0 37,0,67,0,69,0,28,0,14,0,30,0 26,0,1,0,55,0,63,0,71,0,41,0 73,0,40,0,64,0,65,0,15,0,45,0 16,0,61,0,75,0,66,0,59,0,31,0 9,0,11,0,10,0,23,0,34,0,36,0 58,0,19,0,74,0,20,0,27,0,39,0 6,0,33,0,8,0,7,0,29,0,62,0 44,0,49,0,70,0,42,0,72,0,54,0 25,0,3,0,14,0,52,0,22,0,64,0 4,0,73,0,60,0,68,0,71,0,59,0 61,0,32,0,10,0,43,0,13,0,1,0 75,0,55,0,17,0,34,0,53,0,69,0 21,0,28,0,47,0,18,0,11,0,6,0 48,0,42,0,51,0,20,0,65,0,7,0 40,0,2,0,29,0,23,0,72,0,39,0 67,0,5,0,12,0,66,0,62,0,44,0 54,0,33,0,36,0,25,0,31,0,57,0 49,0,35,0,38,0,37,0,22,0,58,0 30,0,26,0,50,0,27,0,56,0,16,0 8,0,46,0,15,0,74,0,41,0,52,0 9,0,63,0,70,0,24,0,19,0,45,0 11,0,69,0,12,0,48,0,64,0,39,0 4,0,59,0,28,0,29,0,47,0,25,0 40,0,6,0,55,0,38,0,51,0,54,0 14,0,60,0,18,0,66,0,17,0,72,0 10,0,41,0,22,0,20,0,5,0,31,0 33,0,23,0,24,0,58,0,61,0,67,0 53,0,46,0,2,0,49,0,30,0,9,0 7,0,43,0,27,0,57,0,68,0,70,0 44,0,32,0,52,0,19,0,35,0,36,0 73,0,37,0,63,0,3,0,74,0,16,0 75,0,62,0,45,0,13,0,26,0,42,0 21,0,65,0,34,0,50,0,1,0,8,0 71,0,56,0,67,0,15,0,51,0,11,0 5,0,55,0,48,0,58,0,64,0,18,0 68,0,22,0,12,0,61,0,72,0,40,0 29,0,73,0,69,0,20,0,70,0,35,0 45,0,66,0,57,0,74,0,32,0,28,0 24,0,46,0,65,0,53,0,27,0,75,0 43,0,34,0,15,0,6,0,54,0,59,0 62,0,13,0,10,0,30,0,63,0,4,0 2,0,52,0,7,0,26,0,37,0,60,0 36,0,3,0,50,0,39,0,49,0,41,0 23,0,8,0,25,0,71,0,16,0,19,0 42,0,38,0,14,0,56,0,21,0,33,0 9,0,31,0,17,0,44,0,1,0,47,0 6,0,64,0,35,0,67,0,13,0,27,0 24,0,28,0,54,0,26,0,32,0,5,0 72,0,58,0,69,0,41,0,7,0,4,0 29,0,60,0,57,0,19,0,61,0,49,0 38,0,10,0,53,0,18,0,3,0,8,0 43,0,42,0,22,0,36,0,12,0,16,0 71,0,21,0,17,0,37,0,75,0,40,0 25,0,46,0,44,0,1,0,23,0,73,0 31,0,30,0,47,0,48,0,34,0,45,0 20,0,62,0,52,0,68,0,56,0,55,0 63,0,66,0,11,0,65,0,33,0,2,0 74,0,14,0,59,0,50,0,9,0,51,0 39,0,15,0,4,0,70,0,38,0,5,0 37,0,57,0,72,0,6,0,10,0,42,0 16,0,48,0,41,0,29,0,67,0,21,0 3,0,75,0,30,0,28,0,23,0,12,0 73,0,13,0,17,0,36,0,27,0,11,0 1,0,51,0,49,0,64,0,66,0,24,0 74,0,68,0,7,0,34,0,25,0,35,0 65,0,54,0,61,0,9,0,20,0,71,0 46,0,18,0,19,0,26,0,69,0,62,0 22,0,2,0,8,0,55,0,59,0,32,0 39,0,31,0,43,0,60,0,63,0,56,0 70,0,50,0,33,0,40,0,52,0,47,0 45,0,44,0,53,0,14,0,15,0,58,0 ================================================ FILE: schedules/75_11.csv ================================================ 23,0,74,0,5,0,17,0,35,0,43,0 34,0,64,0,3,0,40,0,26,0,38,0 13,0,20,0,57,0,2,0,37,0,61,0 36,0,69,0,48,0,9,0,6,0,42,0 28,0,27,0,66,0,65,0,59,0,58,0 16,0,7,0,21,0,46,0,62,0,53,0 67,0,50,0,22,0,8,0,55,0,25,0 52,0,4,0,70,0,14,0,45,0,19,0 10,0,47,0,60,0,44,0,68,0,54,0 18,0,24,0,63,0,51,0,12,0,56,0 15,0,29,0,75,0,32,0,30,0,49,0 39,0,41,0,33,0,11,0,31,0,1,0 72,0,71,0,3,0,73,0,58,0,22,0 26,0,36,0,14,0,8,0,37,0,16,0 4,0,74,0,69,0,55,0,61,0,67,0 25,0,57,0,68,0,46,0,64,0,27,0 42,0,40,0,29,0,56,0,20,0,66,0 21,0,65,0,31,0,24,0,13,0,34,0 12,0,60,0,73,0,23,0,1,0,39,0 49,0,5,0,6,0,10,0,71,0,38,0 18,0,19,0,33,0,35,0,15,0,28,0 7,0,62,0,50,0,48,0,30,0,44,0 59,0,70,0,2,0,52,0,43,0,9,0 45,0,53,0,41,0,72,0,75,0,47,0 51,0,32,0,63,0,54,0,17,0,11,0 8,1,24,0,68,0,73,1,23,0,38,0 1,0,29,0,64,0,31,1,55,0,16,0 56,0,25,0,60,0,3,0,48,0,5,0 49,0,28,0,34,0,46,0,6,0,14,0 18,0,7,0,67,0,42,0,72,0,59,0 54,0,58,0,74,0,21,0,20,0,50,0 13,0,52,0,69,0,41,0,71,0,51,0 61,0,35,0,70,0,47,0,27,0,12,0 26,0,30,0,43,0,66,0,19,0,11,0 22,0,75,0,9,0,10,0,62,0,57,0 40,0,44,0,2,0,45,0,33,0,37,0 63,0,53,0,17,0,4,0,65,0,15,0 36,0,5,0,72,0,39,0,32,0,55,0 52,0,51,0,61,0,3,0,1,0,50,0 38,0,27,0,20,0,31,0,19,0,7,0 59,0,68,0,13,0,62,0,54,0,12,0 29,0,10,0,14,0,74,0,26,0,18,0 30,0,56,0,70,0,16,0,22,0,71,0 43,0,46,0,28,0,32,0,37,0,53,0 65,0,67,0,23,0,49,0,41,0,9,0 39,0,48,0,15,0,45,0,64,0,8,0 58,0,44,0,63,0,34,0,75,0,36,0 33,0,25,0,66,0,69,0,47,0,73,0 6,0,2,0,11,0,60,0,35,0,24,0 42,0,4,0,17,0,57,0,21,0,40,0 55,0,62,0,5,0,26,0,70,0,65,0 71,0,28,0,53,0,20,0,64,0,12,0 45,0,61,0,50,0,16,0,68,0,43,0 49,0,33,0,8,0,7,0,13,0,51,0 22,0,15,0,27,0,34,0,14,0,2,0 38,0,35,0,41,0,25,0,42,0,63,0 46,0,17,0,60,0,18,0,66,0,69,0 21,0,72,0,30,0,36,0,23,0,52,0 9,0,58,0,37,0,47,0,56,0,31,0 11,0,40,0,73,0,59,0,57,0,75,0 39,0,19,0,67,0,10,0,32,0,24,0 44,0,6,0,29,0,3,0,4,0,54,0 48,0,74,0,71,0,1,0,68,0,63,0 34,0,45,0,30,0,60,0,28,0,55,0 35,0,2,0,64,0,8,0,7,0,17,0 9,0,61,0,66,0,21,0,15,0,5,0 59,0,23,0,31,0,14,0,50,0,69,0 24,0,6,0,26,0,53,0,57,0,33,0 74,0,32,0,19,0,25,0,41,0,13,0 18,0,29,0,62,0,58,0,67,0,52,0 22,0,10,0,1,0,40,0,46,0,4,0 49,0,54,0,73,0,48,0,37,0,70,0 36,0,20,0,47,0,11,0,65,0,51,0 42,0,3,0,75,0,39,0,16,0,12,0 56,0,38,0,72,0,43,0,44,0,27,0 6,0,31,0,62,0,25,0,17,0,61,0 32,0,71,0,40,0,7,0,9,0,14,0 49,0,59,0,19,0,60,0,8,0,63,0 53,0,48,0,23,0,29,0,22,0,11,0 67,0,47,0,4,0,64,0,30,0,5,0 69,0,15,0,38,0,58,0,20,0,1,0 43,0,41,0,57,0,54,0,36,0,55,0 50,0,42,0,10,0,2,0,33,0,27,0 37,0,65,0,34,0,72,0,12,0,74,0 16,0,52,0,44,0,24,0,28,0,73,0 56,0,35,0,46,0,45,0,26,0,13,0 75,0,39,0,66,0,51,0,68,0,70,0 21,0,3,0,8,0,18,0,32,0,47,0 10,0,59,0,48,0,17,0,30,0,20,0 41,0,40,0,14,0,62,0,43,0,60,0 36,0,1,0,24,0,27,0,49,0,72,0 55,0,12,0,45,0,38,0,9,0,11,0 56,0,52,0,64,0,54,0,75,0,33,0 18,0,37,0,57,0,34,0,71,0,50,0 66,0,67,0,31,0,53,0,35,0,3,0 5,0,51,0,42,0,19,0,44,0,22,0 16,0,25,0,26,0,4,0,23,0,58,0 39,0,2,0,65,0,61,0,69,0,46,0 15,0,7,0,73,0,13,0,28,0,74,0 6,0,21,0,68,0,70,0,29,0,63,0 27,0,17,0,37,0,67,0,3,0,60,0 45,0,1,0,62,0,36,0,42,0,53,0 58,0,12,0,33,0,41,0,8,0,5,0 61,0,23,0,19,0,34,0,59,0,56,0 50,0,4,0,55,0,24,0,7,0,66,0 63,0,11,0,72,0,69,0,64,0,28,0 68,0,31,0,40,0,49,0,52,0,26,0 14,0,35,0,20,0,21,0,73,0,44,0 6,0,13,0,43,0,39,0,47,0,22,0 9,0,46,0,51,0,74,0,30,0,29,0 75,0,2,0,25,0,71,0,54,0,18,0 16,0,32,0,38,0,57,0,48,0,65,0 15,0,70,0,3,0,10,0,41,0,7,0 17,0,49,0,14,0,11,0,58,0,56,0 34,0,20,0,4,0,35,0,62,0,39,0 21,0,26,0,12,0,43,0,67,0,51,0 24,0,45,0,27,0,29,0,5,0,69,0 64,0,32,0,65,0,18,0,59,0,44,0 46,0,71,0,42,0,15,0,23,0,47,0 36,0,70,0,38,0,33,0,50,0,28,0 16,0,9,0,10,0,63,0,13,0,66,0 55,0,19,0,73,0,53,0,68,0,2,0 1,0,30,0,75,0,6,0,37,0,25,0 54,0,48,0,8,0,72,0,40,0,61,0 22,0,74,0,57,0,31,0,52,0,60,0 35,0,47,0,71,0,36,0,29,0,59,0 13,0,64,0,58,0,70,0,24,0,42,0 55,0,20,0,46,0,3,0,63,0,33,0 56,0,23,0,62,0,15,0,32,0,2,0 43,0,8,0,73,0,34,0,69,0,10,0 11,0,37,0,7,0,5,0,52,0,68,0 75,0,51,0,28,0,4,0,48,0,31,0 60,0,22,0,26,0,21,0,61,0,38,0 41,0,18,0,27,0,40,0,6,0,16,0 9,0,12,0,17,0,72,0,19,0,50,0 44,0,53,0,49,0,74,0,25,0,39,0 57,0,66,0,54,0,1,0,67,0,14,0 65,0,30,0,8,0,45,0,73,0,31,0 ================================================ FILE: schedules/75_12.csv ================================================ 42,0,6,0,32,0,57,0,28,0,23,0 26,0,18,0,73,0,25,0,63,0,29,0 10,0,70,0,38,0,61,0,15,0,7,0 27,0,33,0,48,0,14,0,8,0,67,0 4,0,5,0,17,0,60,0,52,0,66,0 47,0,65,0,72,0,39,0,62,0,59,0 36,0,75,0,50,0,13,0,51,0,31,0 54,0,16,0,68,0,37,0,58,0,21,0 55,0,46,0,53,0,20,0,64,0,69,0 12,0,44,0,24,0,34,0,19,0,2,0 22,0,56,0,11,0,9,0,43,0,1,0 41,0,3,0,71,0,45,0,30,0,74,0 40,0,35,0,52,0,49,0,61,0,33,0 28,0,51,0,72,0,37,0,48,0,10,0 13,0,62,0,73,0,15,0,42,0,66,0 46,0,27,0,39,0,32,0,34,0,55,0 75,0,24,0,53,0,16,0,56,0,26,0 54,0,63,0,2,0,36,0,5,0,11,0 58,0,18,0,40,0,59,0,38,0,57,0 3,0,64,0,1,0,60,0,14,0,4,0 44,0,68,0,43,0,17,0,41,0,25,0 12,0,49,0,29,0,6,0,67,0,50,0 69,0,19,0,31,0,30,0,22,0,65,0 21,0,35,0,9,0,45,0,71,0,7,0 74,0,23,0,70,0,8,0,47,0,20,0 5,0,46,0,32,0,33,0,73,0,75,0 38,0,62,0,14,0,55,0,17,0,10,0 13,0,67,0,15,0,59,0,16,0,11,0 68,0,1,0,18,0,51,0,69,0,42,0 36,0,41,0,60,0,35,0,29,0,6,0 37,0,43,0,40,0,2,0,3,0,50,0 26,0,27,0,47,0,9,0,28,0,12,0 64,0,71,0,66,0,25,0,19,0,20,0 53,0,45,0,54,0,39,0,23,0,31,0 24,0,57,0,34,0,30,0,7,0,49,0 70,0,56,0,65,0,63,0,48,0,21,0 4,0,44,0,74,0,58,0,61,0,72,0 8,0,22,0,15,0,52,0,17,0,12,0 64,0,19,0,36,0,40,0,67,0,47,0 14,0,6,0,39,0,73,0,37,0,66,0 28,0,18,0,16,0,34,0,5,0,7,0 20,0,41,0,59,0,33,0,51,0,54,0 50,0,61,0,9,0,53,0,63,0,60,0 49,0,11,0,75,0,30,0,27,0,62,0 24,0,22,0,45,0,74,0,32,0,25,0 31,0,46,0,10,0,56,0,57,0,4,0 1,0,69,0,44,0,29,0,23,0,48,0 8,0,2,0,71,0,58,0,65,0,26,0 43,0,55,0,52,0,21,0,70,0,42,0 38,0,35,0,13,0,72,0,3,0,68,0 20,0,51,0,73,0,40,0,34,0,11,0 74,0,15,0,59,0,56,0,28,0,64,0 60,0,32,0,22,0,54,0,47,0,10,0 67,0,39,0,5,0,71,0,44,0,58,0 7,0,65,0,23,0,17,0,27,0,50,0 57,0,33,0,3,0,36,0,62,0,48,0 69,0,52,0,25,0,16,0,38,0,72,0 41,0,21,0,8,0,31,0,53,0,61,0 75,0,13,0,66,0,24,0,35,0,63,0 26,0,12,0,30,0,14,0,70,0,68,0 49,0,55,0,4,0,18,0,9,0,2,0 43,0,19,0,45,0,6,0,46,0,1,0 37,0,29,0,7,0,42,0,11,0,71,0 48,0,34,0,50,0,64,0,58,0,38,0 32,0,63,0,59,0,44,0,52,0,20,0 57,0,60,0,21,0,25,0,75,0,15,0 56,0,5,0,62,0,23,0,26,0,68,0 74,0,2,0,39,0,1,0,27,0,13,0 6,0,72,0,9,0,31,0,24,0,8,0 41,0,67,0,73,0,22,0,28,0,55,0 29,0,70,0,69,0,54,0,40,0,4,0 10,0,33,0,18,0,3,0,19,0,12,0 51,0,35,0,47,0,46,0,30,0,17,0 53,0,37,0,49,0,43,0,65,0,66,0 14,0,61,0,36,0,16,0,45,0,42,0 64,0,74,0,57,0,38,0,73,0,9,0 69,0,60,0,7,0,32,0,2,0,56,0 54,0,71,0,12,0,75,0,72,0,1,0 29,0,52,0,30,0,10,0,58,0,28,0 46,0,67,0,65,0,41,0,15,0,24,0 3,0,42,0,31,0,5,0,27,0,59,0 22,0,34,0,6,0,48,0,35,0,53,0 20,0,62,0,26,0,61,0,39,0,43,0 13,0,23,0,25,0,49,0,70,0,51,0 4,0,8,0,68,0,45,0,11,0,47,0 50,0,55,0,33,0,16,0,44,0,66,0 37,0,36,0,17,0,21,0,18,0,19,0 14,0,42,0,27,0,63,0,40,0,22,0 69,0,6,0,61,0,75,0,59,0,34,0 20,0,5,0,29,0,65,0,13,0,9,0 35,0,25,0,58,0,31,0,15,0,12,0 28,0,66,0,8,0,46,0,54,0,3,0 38,0,4,0,19,0,51,0,32,0,53,0 68,0,55,0,40,0,24,0,7,0,48,0 72,0,30,0,71,0,33,0,36,0,43,0 1,0,50,0,47,0,57,0,26,0,41,0 10,0,44,0,21,0,73,0,74,0,49,0 60,0,56,0,45,0,67,0,37,0,62,0 11,0,23,0,2,0,14,0,18,0,52,0 70,0,63,0,17,0,39,0,64,0,16,0 59,0,58,0,43,0,27,0,24,0,66,0 3,0,32,0,61,0,25,0,65,0,1,0 55,0,42,0,38,0,6,0,30,0,54,0 28,0,21,0,50,0,35,0,62,0,4,0 23,0,60,0,9,0,72,0,73,0,19,0 47,0,16,0,48,0,71,0,20,0,31,0 53,0,70,0,2,0,67,0,10,0,68,0 26,0,33,0,17,0,69,0,45,0,49,0 74,0,11,0,63,0,12,0,46,0,57,0 75,0,41,0,37,0,7,0,64,0,52,0 51,0,14,0,34,0,29,0,13,0,56,0 22,0,44,0,39,0,36,0,8,0,18,0 15,0,40,0,72,0,5,0,55,0,71,0 16,0,43,0,67,0,35,0,32,0,23,0 30,0,25,0,9,0,59,0,2,0,48,0 54,0,62,0,52,0,53,0,74,0,19,0 14,0,69,0,73,0,50,0,7,0,20,0 24,0,29,0,38,0,33,0,47,0,21,0 56,0,40,0,66,0,41,0,12,0,18,0 31,0,37,0,26,0,44,0,46,0,13,0 51,0,61,0,57,0,64,0,22,0,5,0 27,0,34,0,15,0,1,0,45,0,36,0 63,0,39,0,68,0,28,0,60,0,49,0 42,0,8,0,65,0,10,0,4,0,75,0 11,0,58,0,17,0,70,0,3,0,6,0 54,0,72,0,25,0,50,0,14,0,46,0 61,0,16,0,2,0,29,0,57,0,19,0 7,0,13,0,33,0,53,0,43,0,47,0 20,0,49,0,56,0,38,0,36,0,22,0 40,0,65,0,31,0,34,0,74,0,60,0 10,0,12,0,51,0,55,0,45,0,39,0 6,0,64,0,27,0,44,0,18,0,62,0 24,0,42,0,28,0,71,0,17,0,69,0 11,0,48,0,26,0,66,0,21,0,32,0 3,0,67,0,9,0,68,0,52,0,75,0 37,0,30,0,4,0,15,0,63,0,23,0 59,0,35,0,1,0,8,0,70,0,73,0 58,0,5,0,19,0,41,0,49,0,14,0 42,0,50,0,25,0,39,0,56,0,33,0 28,0,45,0,38,0,44,0,65,0,11,0 74,0,3,0,7,0,6,0,51,0,26,0 32,0,31,0,29,0,64,0,15,0,68,0 30,0,1,0,8,0,40,0,16,0,62,0 47,0,58,0,23,0,63,0,75,0,55,0 48,0,43,0,13,0,54,0,61,0,18,0 12,0,36,0,73,0,24,0,4,0,52,0 10,0,35,0,5,0,69,0,37,0,27,0 71,0,60,0,46,0,59,0,22,0,53,0 17,0,20,0,21,0,2,0,72,0,67,0 34,0,41,0,66,0,70,0,57,0,9,0 ================================================ FILE: schedules/75_13.csv ================================================ 41,0,67,0,14,0,16,0,45,0,30,0 64,0,13,0,54,0,56,0,1,0,31,0 43,0,70,0,3,0,73,0,36,0,48,0 23,0,37,0,10,0,52,0,25,0,55,0 19,0,35,0,72,0,17,0,66,0,34,0 33,0,74,0,75,0,29,0,8,0,11,0 42,0,50,0,47,0,68,0,62,0,26,0 63,0,40,0,28,0,61,0,5,0,12,0 32,0,15,0,58,0,6,0,53,0,9,0 49,0,65,0,51,0,7,0,20,0,4,0 38,0,46,0,24,0,44,0,18,0,27,0 71,0,39,0,59,0,22,0,69,0,57,0 60,0,3,0,34,0,2,0,21,0,29,0 56,0,33,0,68,0,72,0,5,0,70,0 53,0,63,0,47,0,37,0,55,0,66,0 35,0,61,0,6,0,25,0,26,0,48,0 4,0,51,0,11,0,17,0,1,0,32,0 57,0,30,0,52,0,73,0,65,0,46,0 13,0,23,0,19,0,12,0,22,0,44,0 27,0,39,0,2,0,64,0,67,0,15,0 18,0,7,0,45,0,42,0,28,0,60,0 58,0,71,0,41,0,10,0,36,0,50,0 75,0,24,0,20,0,69,0,43,0,49,0 9,0,31,0,8,0,14,0,40,0,59,0 74,0,62,0,54,0,21,0,16,0,38,0 17,1,3,0,6,0,66,1,30,0,27,0 12,1,11,0,64,0,5,0,60,0,47,0 36,0,44,0,63,0,45,0,26,0,39,0 65,0,34,0,19,0,67,0,75,0,71,0 33,0,10,0,48,0,15,0,37,0,24,0 1,0,22,0,2,0,72,0,61,0,74,0 16,0,25,0,42,0,56,0,9,0,69,0 51,0,55,0,70,0,18,0,54,0,57,0 50,0,23,0,21,0,49,0,32,0,4,0 38,0,35,0,40,0,43,0,52,0,58,0 73,0,29,0,68,0,31,0,7,0,59,0 20,0,53,0,46,0,41,0,28,0,8,0 13,0,14,0,37,0,62,0,71,0,27,0 64,0,24,0,48,0,12,0,25,0,72,0 36,0,45,0,69,0,1,0,9,0,65,0 11,0,63,0,56,0,50,0,18,0,6,0 4,0,54,0,44,0,74,0,43,0,30,0 2,0,23,0,61,0,29,0,70,0,41,0 31,0,52,0,66,0,49,0,22,0,8,0 16,0,14,0,33,0,26,0,7,0,57,0 3,0,40,0,58,0,39,0,62,0,17,0 13,0,10,0,46,0,32,0,68,0,47,0 21,0,67,0,51,0,28,0,35,0,73,0 60,0,15,0,20,0,55,0,59,0,19,0 5,0,34,0,75,0,42,0,38,0,53,0 6,0,71,0,57,0,24,0,4,0,8,0 50,0,22,0,25,0,40,0,45,0,70,0 29,0,44,0,17,0,16,0,52,0,56,0 69,0,7,0,12,0,58,0,47,0,67,0 35,0,18,0,64,0,14,0,15,0,62,0 59,0,60,0,66,0,32,0,43,0,36,0 27,0,61,0,46,0,9,0,2,0,51,0 26,0,73,0,72,0,23,0,28,0,75,0 49,0,54,0,37,0,3,0,5,0,68,0 21,0,33,0,1,0,63,0,65,0,10,0 38,0,19,0,48,0,53,0,31,0,30,0 74,0,42,0,39,0,20,0,55,0,41,0 11,0,34,0,15,0,13,0,25,0,36,0 47,0,28,0,44,0,59,0,6,0,70,0 18,0,8,0,16,0,73,0,3,0,9,0 10,0,72,0,60,0,40,0,27,0,4,0 48,0,23,0,32,0,75,0,14,0,54,0 42,0,17,0,20,0,31,0,33,0,71,0 46,0,22,0,45,0,58,0,55,0,24,0 68,0,52,0,21,0,19,0,11,0,61,0 35,0,29,0,30,0,50,0,37,0,1,0 26,0,66,0,2,0,65,0,56,0,38,0 57,0,53,0,62,0,12,0,49,0,67,0 64,0,34,0,7,0,69,0,63,0,74,0 43,0,39,0,41,0,51,0,13,0,5,0 14,0,3,0,36,0,46,0,72,0,28,0 16,0,71,0,73,0,6,0,40,0,55,0 45,0,56,0,59,0,27,0,52,0,48,0 31,0,60,0,62,0,23,0,24,0,65,0 63,0,42,0,75,0,2,0,15,0,17,0 25,0,8,0,74,0,47,0,12,0,21,0 9,0,49,0,68,0,34,0,44,0,41,0 43,0,22,0,54,0,53,0,11,0,7,0 32,0,18,0,30,0,39,0,33,0,61,0 1,0,51,0,26,0,19,0,37,0,58,0 4,0,29,0,38,0,69,0,13,0,35,0 67,0,70,0,66,0,20,0,10,0,64,0 57,0,5,0,25,0,50,0,44,0,75,0 49,0,62,0,7,0,56,0,36,0,55,0 65,0,17,0,74,0,28,0,14,0,43,0 58,0,51,0,34,0,8,0,59,0,33,0 72,0,41,0,23,0,15,0,38,0,63,0 21,0,18,0,69,0,22,0,48,0,68,0 53,0,71,0,1,0,3,0,39,0,47,0 57,0,61,0,10,0,42,0,35,0,54,0 31,0,16,0,13,0,70,0,60,0,30,0 46,0,52,0,40,0,4,0,26,0,64,0 67,0,5,0,29,0,24,0,66,0,9,0 11,0,50,0,27,0,73,0,20,0,19,0 32,0,12,0,6,0,37,0,45,0,2,0 71,0,25,0,65,0,72,0,63,0,58,0 75,0,55,0,3,0,33,0,44,0,51,0 59,0,46,0,69,0,53,0,17,0,13,0 47,0,22,0,15,0,30,0,28,0,5,0 9,0,35,0,16,0,11,0,49,0,20,0 56,0,12,0,39,0,73,0,10,0,38,0 24,0,50,0,52,0,34,0,54,0,2,0 66,0,57,0,43,0,68,0,45,0,23,0 36,0,4,0,62,0,61,0,31,0,29,0 19,0,8,0,32,0,70,0,64,0,42,0 41,0,27,0,7,0,40,0,21,0,48,0 74,0,37,0,26,0,60,0,18,0,67,0 1,0,14,0,5,0,6,0,34,0,20,0 16,0,65,0,44,0,10,0,51,0,53,0 56,0,4,0,47,0,58,0,45,0,75,0 39,0,28,0,31,0,25,0,66,0,35,0 19,0,3,0,24,0,13,0,7,0,61,0 69,0,27,0,60,0,63,0,54,0,52,0 22,0,73,0,40,0,42,0,36,0,37,0 55,0,30,0,14,0,2,0,11,0,68,0 38,0,17,0,9,0,57,0,64,0,21,0 59,0,72,0,32,0,62,0,18,0,41,0 49,0,26,0,70,0,15,0,71,0,29,0 74,0,23,0,12,0,6,0,46,0,33,0 43,0,48,0,50,0,8,0,1,0,67,0 66,0,42,0,61,0,11,0,14,0,44,0 31,0,58,0,5,0,57,0,2,0,55,0 65,0,22,0,27,0,34,0,16,0,32,0 54,0,72,0,20,0,47,0,29,0,26,0 69,0,10,0,25,0,62,0,30,0,19,0 52,0,12,0,4,0,3,0,41,0,15,0 9,0,37,0,7,0,70,0,50,0,17,0 45,0,28,0,38,0,40,0,33,0,49,0 36,0,67,0,68,0,75,0,6,0,64,0 48,0,56,0,60,0,71,0,51,0,46,0 8,0,63,0,73,0,13,0,24,0,74,0 59,0,18,0,53,0,35,0,1,0,23,0 43,0,21,0,42,0,39,0,72,0,16,0 11,0,26,0,41,0,3,0,31,0,69,0 55,0,17,0,68,0,38,0,67,0,25,0 57,0,4,0,28,0,48,0,62,0,34,0 10,0,14,0,6,0,22,0,60,0,51,0 65,0,2,0,36,0,23,0,18,0,47,0 43,0,20,0,8,0,37,0,61,0,56,0 49,0,29,0,46,0,39,0,19,0,63,0 7,0,70,0,35,0,27,0,1,0,12,0 32,0,5,0,9,0,52,0,74,0,71,0 13,0,59,0,50,0,64,0,33,0,66,0 40,0,24,0,30,0,21,0,75,0,53,0 45,0,15,0,44,0,58,0,73,0,54,0 47,0,61,0,41,0,60,0,57,0,19,0 55,0,43,0,12,0,34,0,29,0,27,0 67,0,9,0,63,0,22,0,3,0,38,0 70,0,39,0,37,0,59,0,11,0,65,0 1,0,66,0,75,0,16,0,62,0,46,0 6,0,52,0,13,0,21,0,72,0,7,0 36,0,26,0,5,0,17,0,10,0,8,0 31,0,15,0,51,0,74,0,50,0,45,0 24,0,28,0,68,0,32,0,56,0,35,0 44,0,40,0,2,0,20,0,48,0,69,0 64,0,30,0,58,0,23,0,49,0,42,0 73,0,53,0,33,0,25,0,14,0,4,0 71,0,54,0,17,0,18,0,66,0,12,0 ================================================ FILE: schedules/75_14.csv ================================================ 65,0,34,0,7,0,67,0,35,0,68,0 53,0,8,0,42,0,45,0,43,0,16,0 63,0,36,0,17,0,61,0,3,0,52,0 44,0,21,0,30,0,46,0,47,0,49,0 38,0,56,0,5,0,37,0,58,0,55,0 31,0,50,0,48,0,51,0,26,0,59,0 64,0,70,0,14,0,24,0,25,0,39,0 22,0,74,0,32,0,41,0,60,0,11,0 15,0,29,0,23,0,19,0,4,0,13,0 10,0,27,0,71,0,54,0,12,0,2,0 75,0,33,0,6,0,73,0,62,0,20,0 57,0,69,0,18,0,66,0,1,0,72,0 28,0,9,0,14,0,40,0,63,0,50,0 68,0,22,0,48,0,16,0,49,0,37,0 19,0,29,0,30,0,42,0,21,0,59,0 17,0,54,0,64,0,56,0,51,0,15,0 70,0,46,0,11,0,45,0,71,0,75,0 6,0,3,0,41,0,55,0,43,0,39,0 53,0,28,0,72,0,35,0,23,0,60,0 36,0,12,0,62,0,58,0,74,0,57,0 13,0,34,0,20,0,8,0,24,0,65,0 40,0,1,0,18,0,32,0,25,0,10,0 38,0,26,0,66,0,52,0,67,0,9,0 4,0,61,0,44,0,69,0,27,0,73,0 31,0,47,0,2,0,7,0,5,0,33,0 51,0,12,0,23,0,75,0,55,0,21,0 14,0,6,0,59,0,54,0,57,0,49,0 28,0,36,0,74,0,1,0,53,0,48,0 15,0,8,0,35,0,62,0,41,0,25,0 63,0,72,0,38,0,46,0,71,0,24,0 37,0,70,0,9,0,4,0,31,0,69,0 68,0,33,0,58,0,50,0,11,0,39,0 27,0,64,0,47,0,26,0,32,0,20,0 45,0,60,0,18,0,29,0,44,0,65,0 52,0,19,0,16,0,40,0,10,0,2,0 73,0,30,0,7,0,43,0,13,0,17,0 42,0,5,0,3,0,66,0,34,0,56,0 22,0,67,0,15,0,61,0,46,0,59,0 26,0,62,0,1,0,14,0,68,0,23,0 39,0,53,0,36,0,37,0,29,0,12,0 2,0,55,0,35,0,8,0,18,0,64,0 25,0,73,0,38,0,54,0,60,0,7,0 58,0,63,0,43,0,47,0,72,0,69,0 41,0,66,0,30,0,19,0,51,0,44,0 33,0,45,0,65,0,56,0,10,0,9,0 4,0,40,0,70,0,75,0,74,0,17,0 27,0,49,0,52,0,34,0,28,0,31,0 21,0,20,0,11,0,61,0,16,0,5,0 48,0,6,0,71,0,67,0,3,0,50,0 57,0,32,0,42,0,24,0,22,0,13,0 43,0,60,0,12,0,46,0,19,0,18,0 55,0,47,0,41,0,17,0,2,0,14,0 10,0,31,0,75,0,44,0,53,0,34,0 8,0,51,0,27,0,69,0,38,0,9,0 71,0,73,0,58,0,30,0,28,0,68,0 61,0,49,0,50,0,64,0,32,0,7,0 23,0,42,0,13,0,16,0,39,0,74,0 26,0,25,0,72,0,56,0,6,0,4,0 48,0,54,0,40,0,45,0,20,0,3,0 52,0,70,0,57,0,67,0,11,0,29,0 63,0,35,0,1,0,21,0,15,0,37,0 66,0,24,0,5,0,59,0,62,0,33,0 65,0,22,0,75,0,36,0,50,0,47,0 32,0,6,0,58,0,17,0,19,0,53,0 46,0,9,0,7,0,20,0,23,0,54,0 31,0,72,0,44,0,42,0,40,0,11,0 15,0,63,0,16,0,57,0,30,0,34,0 14,0,62,0,10,0,51,0,67,0,43,0 26,0,45,0,28,0,22,0,2,0,3,0 60,0,37,0,13,0,27,0,12,0,59,0 8,0,39,0,69,0,71,0,18,0,21,0 5,0,48,0,64,0,29,0,1,0,4,0 66,0,52,0,25,0,74,0,55,0,65,0 68,0,24,0,73,0,36,0,41,0,56,0 49,0,33,0,35,0,38,0,61,0,70,0 30,0,72,0,46,0,62,0,27,0,15,0 6,0,37,0,45,0,75,0,13,0,14,0 12,0,11,0,10,0,42,0,7,0,69,0 52,0,8,0,60,0,50,0,4,0,66,0 55,0,36,0,20,0,32,0,31,0,19,0 63,0,51,0,2,0,53,0,29,0,49,0 3,0,25,0,70,0,68,0,44,0,38,0 35,0,41,0,58,0,48,0,57,0,26,0 17,0,59,0,47,0,18,0,34,0,23,0 1,0,43,0,71,0,61,0,40,0,22,0 24,0,56,0,33,0,28,0,21,0,16,0 64,0,67,0,73,0,9,0,5,0,74,0 54,0,39,0,32,0,65,0,69,0,2,0 62,0,42,0,46,0,25,0,55,0,49,0 38,0,45,0,15,0,12,0,48,0,66,0 13,0,6,0,68,0,47,0,18,0,63,0 14,0,56,0,20,0,23,0,71,0,52,0 21,0,53,0,31,0,73,0,41,0,57,0 3,0,7,0,75,0,19,0,27,0,1,0 60,0,59,0,9,0,40,0,8,0,58,0 51,0,61,0,11,0,65,0,28,0,37,0 67,0,24,0,36,0,4,0,30,0,35,0 44,0,16,0,54,0,74,0,26,0,29,0 50,0,5,0,22,0,10,0,70,0,17,0 72,0,43,0,34,0,39,0,64,0,33,0 69,0,59,0,41,0,45,0,56,0,23,0 19,0,11,0,73,0,14,0,25,0,48,0 65,0,61,0,31,0,38,0,62,0,30,0 16,0,18,0,42,0,9,0,58,0,51,0 71,0,3,0,29,0,32,0,35,0,47,0 49,0,15,0,28,0,36,0,5,0,75,0 68,0,52,0,74,0,43,0,21,0,6,0 17,0,40,0,39,0,53,0,24,0,27,0 2,0,1,0,34,0,70,0,20,0,60,0 67,0,57,0,55,0,50,0,37,0,44,0 66,0,13,0,46,0,64,0,10,0,26,0 33,0,4,0,12,0,63,0,22,0,54,0 7,0,72,0,51,0,8,0,36,0,45,0 62,0,35,0,43,0,11,0,27,0,9,0 39,0,49,0,71,0,1,0,52,0,65,0 20,0,15,0,53,0,68,0,42,0,50,0 74,0,19,0,56,0,61,0,34,0,47,0 46,0,44,0,69,0,48,0,33,0,13,0 67,0,12,0,28,0,8,0,32,0,17,0 60,0,25,0,40,0,26,0,5,0,63,0 64,0,2,0,30,0,38,0,57,0,75,0 18,0,29,0,66,0,37,0,41,0,7,0 3,0,54,0,4,0,21,0,58,0,14,0 10,0,22,0,23,0,31,0,6,0,24,0 73,0,16,0,55,0,59,0,72,0,70,0 5,0,17,0,71,0,9,0,19,0,42,0 47,0,48,0,51,0,12,0,52,0,34,0 29,0,8,0,57,0,27,0,46,0,56,0 50,0,21,0,26,0,43,0,38,0,18,0 3,0,62,0,53,0,22,0,64,0,4,0 33,0,37,0,2,0,23,0,25,0,30,0 15,0,6,0,65,0,28,0,7,0,40,0 44,0,74,0,20,0,14,0,35,0,72,0 59,0,63,0,66,0,32,0,36,0,70,0 11,0,24,0,55,0,54,0,73,0,1,0 67,0,69,0,75,0,68,0,60,0,16,0 58,0,10,0,13,0,49,0,41,0,31,0 39,0,61,0,57,0,45,0,5,0,51,0 12,0,3,0,30,0,25,0,9,0,6,0 43,0,22,0,56,0,70,0,35,0,48,0 19,0,23,0,64,0,63,0,65,0,11,0 69,0,55,0,29,0,15,0,26,0,73,0 42,0,27,0,14,0,18,0,33,0,36,0 7,0,24,0,44,0,53,0,52,0,58,0 40,0,62,0,67,0,2,0,21,0,13,0 32,0,68,0,49,0,45,0,72,0,4,0 17,0,37,0,31,0,74,0,71,0,60,0 16,0,34,0,41,0,1,0,46,0,50,0 75,0,54,0,47,0,61,0,8,0,66,0 39,0,10,0,59,0,28,0,38,0,20,0 27,0,48,0,58,0,65,0,70,0,23,0 53,0,13,0,18,0,56,0,3,0,49,0 24,0,45,0,29,0,31,0,25,0,67,0 32,0,12,0,46,0,52,0,5,0,73,0 40,0,74,0,33,0,51,0,68,0,55,0 57,0,37,0,4,0,20,0,47,0,43,0 7,0,8,0,26,0,39,0,63,0,30,0 35,0,11,0,16,0,6,0,66,0,17,0 22,0,69,0,34,0,14,0,36,0,38,0 28,0,50,0,54,0,19,0,62,0,72,0 9,0,61,0,1,0,59,0,2,0,44,0 60,0,21,0,10,0,64,0,15,0,71,0 41,0,75,0,27,0,42,0,63,0,67,0 23,0,49,0,66,0,43,0,40,0,73,0 25,0,29,0,34,0,20,0,58,0,22,0 17,0,65,0,26,0,57,0,33,0,53,0 45,0,54,0,52,0,30,0,18,0,5,0 60,0,61,0,36,0,6,0,55,0,10,0 51,0,38,0,35,0,13,0,1,0,11,0 28,0,47,0,70,0,42,0,41,0,64,0 4,0,14,0,71,0,16,0,59,0,7,0 24,0,74,0,2,0,3,0,69,0,15,0 9,0,48,0,21,0,32,0,75,0,72,0 19,0,37,0,68,0,46,0,8,0,31,0 62,0,56,0,50,0,44,0,39,0,12,0 ================================================ FILE: schedules/75_2.csv ================================================ 1,0,36,0,32,0,45,0,66,0,41,0 33,0,23,0,61,0,65,0,37,0,35,0 7,0,16,0,59,0,20,0,72,0,55,0 67,0,34,0,19,0,60,0,46,0,58,0 62,0,53,0,8,0,29,0,6,0,75,0 24,0,12,0,49,0,31,0,47,0,13,0 63,0,25,0,70,0,11,0,74,0,57,0 52,0,14,0,15,0,40,0,44,0,54,0 22,0,42,0,2,0,50,0,28,0,26,0 73,0,30,0,68,0,51,0,64,0,27,0 38,0,17,0,9,0,10,0,18,0,43,0 71,0,3,0,21,0,39,0,48,0,69,0 56,0,4,0,55,0,5,0,53,0,31,0 72,0,41,0,46,0,54,0,74,0,12,0 59,0,11,0,23,0,34,0,47,0,32,0 73,0,28,0,24,0,36,0,25,0,8,0 18,0,50,0,7,0,63,0,33,0,30,0 57,0,45,0,48,0,43,0,49,0,64,0 39,0,6,0,13,0,4,0,2,0,68,0 16,0,9,0,27,0,22,0,40,0,67,0 10,0,37,0,75,0,66,0,52,0,60,0 51,0,21,0,44,0,70,0,29,0,65,0 20,0,71,0,19,0,14,0,42,0,56,0 1,0,5,0,38,0,58,0,3,0,61,0 26,0,15,0,35,0,69,0,17,0,62,0 ================================================ FILE: schedules/75_3.csv ================================================ 17,0,49,0,61,0,44,0,60,0,22,0 45,0,38,0,3,0,26,0,2,0,27,0 71,0,74,0,15,0,69,0,51,0,55,0 75,0,24,0,6,0,72,0,8,0,41,0 56,0,63,0,14,0,11,0,70,0,12,0 65,0,4,0,52,0,23,0,28,0,57,0 67,0,31,0,73,0,50,0,20,0,25,0 19,0,64,0,13,0,54,0,1,0,7,0 53,0,10,0,21,0,35,0,36,0,62,0 37,0,48,0,16,0,18,0,34,0,40,0 66,0,42,0,39,0,46,0,9,0,29,0 30,0,59,0,5,0,33,0,47,0,32,0 43,0,22,0,23,0,58,0,68,0,50,0 1,1,69,0,26,0,20,1,17,0,57,0 25,0,60,0,55,0,10,1,24,0,3,0 62,0,54,0,2,0,31,0,11,0,71,0 4,0,49,0,67,0,38,0,6,0,35,0 53,0,14,0,18,0,51,0,59,0,39,0 33,0,41,0,42,0,37,0,52,0,64,0 66,0,70,0,72,0,5,0,7,0,15,0 44,0,30,0,43,0,46,0,63,0,34,0 75,0,19,0,9,0,28,0,56,0,32,0 29,0,45,0,36,0,48,0,13,0,73,0 27,0,68,0,47,0,12,0,16,0,61,0 58,0,40,0,8,0,74,0,21,0,65,0 11,0,33,0,7,0,53,0,49,0,25,0 2,0,57,0,6,0,10,0,14,0,64,0 20,0,9,0,3,0,59,0,22,0,4,0 39,0,26,0,73,0,23,0,62,0,24,0 15,0,12,0,1,0,75,0,52,0,45,0 34,0,8,0,29,0,5,0,54,0,69,0 41,0,32,0,48,0,67,0,21,0,66,0 51,0,27,0,37,0,60,0,58,0,63,0 46,0,50,0,35,0,16,0,55,0,19,0 36,0,70,0,61,0,38,0,74,0,30,0 17,0,28,0,68,0,18,0,42,0,71,0 56,0,31,0,65,0,13,0,43,0,47,0 44,0,72,0,20,0,40,0,1,0,10,0 ================================================ FILE: schedules/75_4.csv ================================================ 12,0,49,0,69,0,62,0,71,0,39,0 28,0,11,0,42,0,31,0,38,0,22,0 40,0,66,0,32,0,43,0,8,0,16,0 46,0,2,0,17,0,60,0,6,0,4,0 25,0,29,0,52,0,20,0,74,0,10,0 36,0,44,0,73,0,14,0,72,0,57,0 19,0,24,0,26,0,30,0,33,0,9,0 70,0,48,0,47,0,45,0,58,0,55,0 35,0,67,0,1,0,13,0,61,0,56,0 50,0,27,0,34,0,5,0,64,0,21,0 65,0,15,0,41,0,23,0,54,0,63,0 7,0,18,0,51,0,59,0,68,0,37,0 3,0,53,0,60,0,75,0,32,0,36,0 10,0,73,0,4,0,12,0,48,0,11,0 71,0,9,0,72,0,31,0,67,0,46,0 38,0,30,0,39,0,50,0,61,0,20,0 52,0,42,0,41,0,57,0,8,0,70,0 22,0,15,0,24,0,59,0,5,0,49,0 19,0,56,0,34,0,16,0,65,0,7,0 35,0,37,0,75,0,66,0,47,0,69,0 68,0,74,0,14,0,62,0,26,0,64,0 18,0,53,0,45,0,2,0,21,0,23,0 43,0,63,0,1,0,3,0,6,0,55,0 51,0,28,0,17,0,58,0,25,0,44,0 33,0,29,0,40,0,54,0,13,0,27,0 32,0,11,0,61,0,37,0,46,0,34,0 36,0,24,0,42,0,4,0,65,0,50,0 57,0,5,0,23,0,74,0,19,0,35,0 38,0,62,0,6,0,75,0,67,0,48,0 56,0,64,0,31,0,18,0,15,0,52,0 43,0,20,0,47,0,73,0,13,0,28,0 72,0,33,0,21,0,41,0,58,0,60,0 68,0,63,0,39,0,29,0,70,0,9,0 16,0,14,0,27,0,3,0,10,0,17,0 69,0,25,0,59,0,26,0,40,0,45,0 30,0,7,0,49,0,2,0,55,0,44,0 22,0,54,0,71,0,53,0,66,0,1,0 12,0,8,0,46,0,51,0,75,0,65,0 50,0,73,0,62,0,29,0,18,0,32,0 63,0,5,0,13,0,52,0,14,0,11,0 56,0,48,0,27,0,69,0,28,0,60,0 35,0,55,0,20,0,42,0,33,0,15,0 37,0,44,0,74,0,41,0,53,0,24,0 9,0,61,0,6,0,66,0,7,0,45,0 40,0,51,0,10,0,38,0,23,0,34,0 19,0,12,0,54,0,70,0,25,0,43,0 16,0,22,0,4,0,30,0,67,0,64,0 59,0,2,0,3,0,72,0,39,0,47,0 31,0,58,0,49,0,68,0,1,0,57,0 8,0,21,0,17,0,26,0,36,0,71,0 ================================================ FILE: schedules/75_5.csv ================================================ 21,0,20,0,10,0,1,0,44,0,65,0 36,0,8,0,48,0,9,0,61,0,6,0 72,0,50,0,75,0,18,0,62,0,68,0 71,0,70,0,16,0,73,0,57,0,59,0 7,0,54,0,2,0,55,0,39,0,43,0 42,0,3,0,32,0,66,0,12,0,13,0 47,0,38,0,56,0,24,0,15,0,34,0 33,0,41,0,64,0,45,0,63,0,46,0 35,0,30,0,4,0,51,0,53,0,67,0 19,0,31,0,5,0,25,0,26,0,60,0 69,0,74,0,37,0,52,0,22,0,23,0 40,0,27,0,29,0,17,0,14,0,49,0 58,0,11,0,70,0,28,0,75,0,34,0 7,0,13,0,24,0,72,0,8,0,20,0 38,0,65,0,57,0,39,0,35,0,18,0 26,0,50,0,73,0,66,0,2,0,4,0 15,0,12,0,52,0,31,0,71,0,63,0 37,0,14,0,46,0,9,0,47,0,32,0 5,0,53,0,17,0,3,0,55,0,6,0 58,0,22,0,61,0,45,0,19,0,54,0 28,0,68,0,1,0,48,0,74,0,29,0 43,0,44,0,67,0,64,0,16,0,49,0 59,0,30,0,60,0,21,0,27,0,69,0 36,0,10,0,40,0,56,0,41,0,11,0 23,0,25,0,51,0,62,0,42,0,33,0 7,1,63,0,9,0,75,1,5,0,38,0 14,1,22,0,48,0,71,0,3,0,50,0 68,0,17,0,24,0,46,0,19,0,2,0 57,0,13,0,27,0,52,0,4,0,61,0 53,0,34,0,72,0,66,0,45,0,40,0 42,0,47,0,73,0,31,0,41,0,28,0 25,0,55,0,65,0,11,0,59,0,37,0 39,0,15,0,69,0,51,0,10,0,49,0 16,0,58,0,35,0,20,0,26,0,32,0 21,0,67,0,29,0,70,0,12,0,36,0 33,0,8,0,60,0,54,0,44,0,56,0 1,0,6,0,64,0,23,0,30,0,18,0 62,0,43,0,19,0,74,0,14,0,65,0 51,0,45,0,48,0,11,0,47,0,2,0 3,0,31,0,75,0,37,0,40,0,39,0 57,0,9,0,66,0,22,0,17,0,67,0 68,0,41,0,44,0,7,0,71,0,69,0 60,0,4,0,70,0,42,0,64,0,38,0 13,0,43,0,59,0,1,0,5,0,58,0 49,0,6,0,54,0,63,0,32,0,72,0 74,0,20,0,33,0,34,0,36,0,55,0 56,0,52,0,26,0,53,0,21,0,18,0 8,0,73,0,62,0,27,0,35,0,15,0 10,0,24,0,29,0,30,0,61,0,25,0 23,0,46,0,16,0,28,0,12,0,50,0 14,0,54,0,66,0,64,0,68,0,59,0 32,0,19,0,1,0,4,0,75,0,41,0 52,0,2,0,49,0,65,0,5,0,33,0 3,0,18,0,60,0,45,0,73,0,7,0 9,0,40,0,15,0,55,0,58,0,21,0 12,0,22,0,53,0,43,0,25,0,38,0 20,0,30,0,57,0,37,0,62,0,48,0 34,0,44,0,61,0,50,0,31,0,51,0 17,0,28,0,71,0,10,0,72,0,35,0 39,0,63,0,74,0,47,0,8,0,70,0 67,0,11,0,23,0,26,0,27,0,24,0 13,0,6,0,56,0,69,0,29,0,46,0 36,0,42,0,75,0,16,0,7,0,14,0 ================================================ FILE: schedules/75_6.csv ================================================ 64,0,57,0,20,0,2,0,7,0,53,0 17,0,62,0,19,0,75,0,42,0,15,0 22,0,10,0,56,0,16,0,24,0,38,0 33,0,49,0,71,0,55,0,59,0,18,0 58,0,54,0,73,0,47,0,52,0,27,0 74,0,70,0,36,0,29,0,28,0,48,0 14,0,35,0,34,0,67,0,4,0,13,0 61,0,32,0,46,0,26,0,3,0,37,0 30,0,1,0,45,0,25,0,72,0,41,0 63,0,60,0,69,0,51,0,44,0,40,0 5,0,31,0,66,0,12,0,50,0,11,0 68,0,65,0,8,0,21,0,43,0,39,0 23,0,15,0,20,0,9,0,6,0,59,0 16,0,17,0,48,0,58,0,34,0,61,0 75,0,35,0,38,0,49,0,70,0,64,0 44,0,3,0,29,0,53,0,27,0,10,0 72,0,36,0,11,0,46,0,4,0,19,0 32,0,54,0,21,0,28,0,66,0,40,0 1,0,62,0,51,0,57,0,8,0,23,0 22,0,68,0,14,0,63,0,9,0,41,0 42,0,60,0,33,0,5,0,30,0,24,0 39,0,50,0,25,0,67,0,73,0,71,0 55,0,12,0,47,0,6,0,7,0,74,0 13,0,26,0,69,0,43,0,31,0,45,0 18,0,2,0,52,0,37,0,65,0,56,0 41,0,64,0,16,0,46,0,54,0,23,0 3,0,30,0,58,0,11,0,68,0,51,0 17,0,28,0,71,0,35,0,10,0,72,0 21,0,47,0,9,0,70,0,50,0,62,0 53,0,6,0,4,0,24,0,39,0,31,0 34,0,12,0,40,0,1,0,20,0,18,0 44,0,45,0,8,0,56,0,7,0,66,0 5,0,52,0,75,0,36,0,13,0,32,0 19,0,57,0,65,0,14,0,29,0,69,0 2,0,43,0,63,0,25,0,15,0,49,0 61,0,60,0,59,0,74,0,73,0,38,0 22,0,37,0,55,0,42,0,67,0,27,0 26,0,48,0,23,0,33,0,53,0,35,0 24,0,44,0,13,0,50,0,1,0,54,0 7,0,32,0,51,0,16,0,31,0,70,0 62,0,18,0,6,0,68,0,25,0,69,0 71,0,52,0,43,0,12,0,38,0,14,0 11,0,17,0,49,0,73,0,22,0,8,0 55,0,63,0,57,0,3,0,39,0,36,0 60,0,29,0,41,0,58,0,21,0,56,0 40,0,26,0,47,0,72,0,42,0,2,0 74,0,10,0,15,0,34,0,33,0,37,0 4,0,61,0,5,0,65,0,45,0,20,0 75,0,30,0,46,0,59,0,67,0,28,0 66,0,64,0,27,0,19,0,48,0,9,0 58,0,23,0,25,0,36,0,12,0,44,0 16,0,72,0,50,0,57,0,60,0,52,0 68,0,31,0,37,0,49,0,47,0,1,0 13,0,38,0,62,0,33,0,40,0,65,0 70,0,59,0,69,0,56,0,54,0,5,0 74,0,4,0,21,0,22,0,64,0,30,0 8,0,10,0,20,0,32,0,41,0,19,0 28,0,15,0,14,0,27,0,61,0,39,0 24,0,2,0,45,0,46,0,17,0,55,0 29,0,11,0,35,0,6,0,42,0,63,0 26,0,73,0,9,0,51,0,34,0,75,0 67,0,43,0,7,0,18,0,48,0,3,0 53,0,66,0,1,0,71,0,22,0,70,0 56,0,72,0,12,0,64,0,68,0,61,0 25,0,14,0,31,0,54,0,20,0,60,0 35,0,47,0,65,0,15,0,30,0,16,0 73,0,37,0,40,0,23,0,24,0,19,0 51,0,36,0,59,0,45,0,10,0,21,0 42,0,69,0,3,0,52,0,74,0,66,0 9,0,38,0,39,0,2,0,11,0,32,0 5,0,49,0,67,0,29,0,62,0,26,0 4,0,27,0,7,0,33,0,17,0,50,0 75,0,18,0,8,0,58,0,53,0,63,0 6,0,48,0,46,0,57,0,71,0,13,0 43,0,28,0,41,0,34,0,44,0,55,0 ================================================ FILE: schedules/75_7.csv ================================================ 75,0,1,0,20,0,67,0,39,0,69,0 4,0,32,0,56,0,53,0,42,0,9,0 17,0,33,0,12,0,73,0,48,0,41,0 51,0,59,0,46,0,74,0,36,0,21,0 52,0,43,0,23,0,28,0,37,0,30,0 26,0,55,0,22,0,45,0,11,0,72,0 3,0,58,0,60,0,47,0,66,0,44,0 34,0,27,0,63,0,31,0,14,0,10,0 35,0,7,0,25,0,65,0,57,0,38,0 40,0,6,0,8,0,64,0,49,0,5,0 29,0,2,0,61,0,16,0,24,0,18,0 70,0,50,0,13,0,62,0,68,0,54,0 71,0,19,0,45,0,15,0,33,0,28,0 72,0,3,0,4,0,74,0,41,0,27,0 53,0,35,0,11,0,75,0,59,0,34,0 65,0,30,0,5,0,48,0,26,0,56,0 51,0,29,0,6,0,31,0,25,0,43,0 2,0,13,0,40,0,58,0,39,0,10,0 66,0,54,0,19,0,14,0,16,0,73,0 38,0,46,0,70,0,63,0,55,0,9,0 61,0,62,0,1,0,15,0,7,0,23,0 50,0,69,0,22,0,64,0,12,0,47,0 8,0,42,0,18,0,67,0,44,0,36,0 20,0,32,0,21,0,52,0,57,0,60,0 68,0,71,0,24,0,37,0,49,0,17,0 28,1,2,0,66,0,48,1,75,0,25,0 34,0,72,0,16,0,6,1,23,0,13,0 26,0,74,0,58,0,70,0,73,0,29,0 22,0,18,0,38,0,30,0,41,0,51,0 44,0,31,0,20,0,7,0,4,0,54,0 35,0,21,0,12,0,56,0,67,0,55,0 11,0,61,0,42,0,71,0,60,0,64,0 59,0,10,0,9,0,45,0,8,0,50,0 40,0,15,0,65,0,52,0,68,0,36,0 27,0,43,0,49,0,1,0,19,0,53,0 47,0,33,0,39,0,37,0,32,0,46,0 14,0,57,0,5,0,62,0,69,0,24,0 63,0,21,0,28,0,17,0,3,0,42,0 64,0,25,0,13,0,20,0,55,0,41,0 71,0,50,0,36,0,23,0,26,0,4,0 58,0,16,0,53,0,48,0,67,0,45,0 34,0,47,0,2,0,56,0,54,0,52,0 75,0,57,0,12,0,6,0,37,0,70,0 31,0,1,0,9,0,11,0,33,0,3,0 29,0,68,0,32,0,44,0,69,0,27,0 24,0,65,0,51,0,60,0,19,0,10,0 62,0,63,0,72,0,18,0,59,0,40,0 5,0,43,0,74,0,66,0,61,0,38,0 73,0,15,0,22,0,39,0,49,0,35,0 30,0,14,0,7,0,17,0,8,0,46,0 23,0,47,0,31,0,42,0,55,0,75,0 44,0,9,0,71,0,65,0,21,0,34,0 25,0,36,0,28,0,27,0,11,0,16,0 18,0,48,0,74,0,19,0,32,0,13,0 6,0,35,0,41,0,52,0,63,0,24,0 57,0,30,0,68,0,45,0,64,0,1,0 49,0,70,0,66,0,33,0,56,0,20,0 26,0,39,0,8,0,3,0,43,0,12,0 67,0,14,0,4,0,61,0,59,0,22,0 37,0,29,0,10,0,38,0,62,0,53,0 73,0,50,0,60,0,2,0,72,0,46,0 17,0,54,0,51,0,58,0,5,0,15,0 7,0,69,0,48,0,40,0,70,0,71,0 56,0,28,0,39,0,31,0,68,0,74,0 9,0,26,0,6,0,20,0,27,0,61,0 53,0,66,0,8,0,57,0,63,0,22,0 42,0,52,0,10,0,1,0,12,0,72,0 18,0,37,0,34,0,15,0,25,0,50,0 47,0,11,0,5,0,7,0,19,0,21,0 73,0,3,0,36,0,45,0,13,0,24,0 33,0,64,0,44,0,51,0,2,0,14,0 60,0,23,0,38,0,67,0,40,0,17,0 41,0,75,0,65,0,16,0,62,0,32,0 54,0,55,0,49,0,30,0,59,0,29,0 46,0,43,0,69,0,4,0,58,0,35,0 66,0,11,0,10,0,6,0,68,0,18,0 14,0,25,0,39,0,21,0,53,0,70,0 23,0,27,0,45,0,5,0,2,0,12,0 24,0,64,0,48,0,15,0,31,0,38,0 20,0,62,0,73,0,34,0,51,0,28,0 67,0,30,0,74,0,71,0,63,0,47,0 46,0,44,0,52,0,49,0,75,0,26,0 17,0,56,0,1,0,29,0,13,0,22,0 41,0,57,0,19,0,9,0,58,0,36,0 37,0,69,0,72,0,54,0,8,0,65,0 42,0,16,0,59,0,43,0,7,0,33,0 61,0,32,0,40,0,35,0,3,0,50,0 55,0,60,0,48,0,4,0,28,0,6,0 ================================================ FILE: schedules/75_8.csv ================================================ 61,0,25,0,12,0,52,0,56,0,71,0 15,0,49,0,46,0,64,0,9,0,33,0 4,0,59,0,68,0,1,0,5,0,69,0 42,0,67,0,23,0,58,0,44,0,6,0 55,0,16,0,37,0,21,0,48,0,32,0 75,0,26,0,43,0,39,0,29,0,41,0 66,0,14,0,20,0,72,0,54,0,62,0 50,0,51,0,30,0,31,0,70,0,53,0 34,0,19,0,8,0,57,0,13,0,45,0 2,0,18,0,17,0,60,0,73,0,63,0 11,0,47,0,24,0,28,0,38,0,65,0 74,0,7,0,3,0,35,0,36,0,40,0 22,0,61,0,20,0,10,0,27,0,44,0 23,0,46,0,43,0,37,0,4,0,25,0 72,0,21,0,12,0,49,0,19,0,6,0 66,0,8,0,70,0,52,0,33,0,17,0 18,0,68,0,71,0,39,0,16,0,51,0 38,0,62,0,57,0,63,0,48,0,7,0 56,0,40,0,42,0,24,0,26,0,69,0 60,0,29,0,54,0,28,0,3,0,50,0 2,0,53,0,15,0,1,0,75,0,27,0 67,0,65,0,5,0,22,0,74,0,13,0 10,0,31,0,45,0,58,0,64,0,35,0 30,0,32,0,9,0,11,0,59,0,14,0 73,0,36,0,34,0,41,0,47,0,55,0 72,0,8,0,24,0,7,0,4,0,50,0 69,0,39,0,48,0,23,0,6,0,28,0 71,0,65,0,62,0,19,0,60,0,15,0 5,0,35,0,49,0,29,0,37,0,38,0 2,0,52,0,11,0,74,0,31,0,44,0 42,0,1,0,25,0,70,0,32,0,34,0 67,0,33,0,21,0,30,0,61,0,75,0 41,0,17,0,27,0,68,0,40,0,45,0 64,0,47,0,18,0,56,0,3,0,20,0 57,0,10,0,55,0,43,0,59,0,54,0 46,0,12,0,58,0,14,0,22,0,53,0 13,0,51,0,73,0,66,0,9,0,26,0 63,0,36,0,49,0,16,0,24,0,28,0 71,0,44,0,69,0,34,0,30,0,37,0 5,0,2,0,7,0,20,0,41,0,32,0 31,0,56,0,65,0,75,0,57,0,68,0 29,0,4,0,14,0,18,0,27,0,42,0 3,0,39,0,45,0,55,0,62,0,53,0 64,0,59,0,22,0,40,0,73,0,52,0 43,0,38,0,72,0,67,0,51,0,15,0 54,0,6,0,74,0,25,0,47,0,8,0 12,0,10,0,13,0,36,0,33,0,48,0 19,0,16,0,17,0,50,0,23,0,9,0 58,0,26,0,11,0,60,0,70,0,21,0 35,0,1,0,61,0,63,0,66,0,46,0 65,0,20,0,42,0,49,0,51,0,59,0 32,0,43,0,31,0,3,0,27,0,24,0 75,0,38,0,69,0,74,0,64,0,55,0 41,0,28,0,62,0,30,0,8,0,12,0 71,0,73,0,45,0,54,0,23,0,11,0 72,0,16,0,47,0,10,0,29,0,46,0 44,0,17,0,26,0,4,0,35,0,48,0 18,0,36,0,53,0,6,0,57,0,52,0 67,0,63,0,40,0,70,0,14,0,19,0 15,0,34,0,56,0,50,0,66,0,5,0 39,0,60,0,33,0,1,0,22,0,7,0 61,0,37,0,58,0,68,0,13,0,2,0 9,0,21,0,27,0,25,0,69,0,35,0 73,0,4,0,75,0,16,0,12,0,3,0 54,0,30,0,52,0,19,0,46,0,38,0 74,0,29,0,48,0,53,0,20,0,34,0 28,0,33,0,55,0,31,0,5,0,40,0 37,0,64,0,11,0,72,0,42,0,63,0 9,0,22,0,68,0,47,0,71,0,43,0 26,0,57,0,50,0,49,0,2,0,67,0 10,0,1,0,56,0,62,0,17,0,6,0 39,0,61,0,32,0,36,0,8,0,65,0 60,0,58,0,59,0,25,0,66,0,41,0 44,0,14,0,7,0,45,0,21,0,51,0 13,0,70,0,24,0,18,0,15,0,23,0 68,0,50,0,20,0,33,0,73,0,38,0 71,0,6,0,46,0,55,0,27,0,26,0 11,0,4,0,62,0,40,0,61,0,34,0 48,0,52,0,3,0,72,0,65,0,58,0 53,0,67,0,59,0,47,0,7,0,37,0 23,0,51,0,8,0,60,0,2,0,64,0 49,0,14,0,69,0,17,0,31,0,13,0 66,0,32,0,28,0,19,0,18,0,75,0 15,0,41,0,35,0,22,0,42,0,54,0 39,0,30,0,25,0,63,0,5,0,10,0 45,0,56,0,70,0,43,0,74,0,16,0 44,0,9,0,1,0,57,0,24,0,12,0 36,0,21,0,59,0,29,0,17,0,71,0 47,0,50,0,32,0,62,0,58,0,69,0 41,0,46,0,18,0,48,0,31,0,67,0 25,0,3,0,19,0,51,0,33,0,11,0 42,0,60,0,5,0,16,0,61,0,53,0 66,0,6,0,22,0,45,0,30,0,24,0 29,0,55,0,63,0,44,0,68,0,8,0 10,0,23,0,75,0,34,0,52,0,49,0 40,0,43,0,13,0,20,0,21,0,1,0 2,0,38,0,9,0,36,0,4,0,56,0 64,0,27,0,7,0,12,0,54,0,65,0 15,0,74,0,37,0,28,0,26,0,14,0 70,0,35,0,57,0,39,0,73,0,72,0 ================================================ FILE: schedules/75_9.csv ================================================ 51,0,28,0,18,0,69,0,75,0,24,0 35,0,1,0,53,0,72,0,19,0,25,0 48,0,27,0,3,0,37,0,59,0,44,0 60,0,46,0,26,0,23,0,39,0,61,0 6,0,21,0,2,0,30,0,7,0,45,0 63,0,14,0,52,0,5,0,32,0,71,0 56,0,8,0,41,0,67,0,29,0,50,0 55,0,66,0,9,0,22,0,73,0,65,0 64,0,4,0,43,0,62,0,10,0,70,0 16,0,57,0,68,0,42,0,31,0,47,0 74,0,12,0,49,0,40,0,58,0,33,0 15,0,20,0,11,0,34,0,36,0,13,0 17,0,54,0,37,0,38,0,18,0,56,0 23,0,53,0,67,0,29,0,45,0,63,0 48,0,22,0,52,0,19,0,50,0,4,0 73,0,59,0,57,0,51,0,46,0,32,0 44,0,58,0,8,0,62,0,7,0,42,0 10,0,26,0,16,0,21,0,9,0,35,0 13,0,5,0,75,0,30,0,17,0,68,0 38,0,27,0,60,0,74,0,72,0,34,0 43,0,1,0,20,0,2,0,31,0,69,0 71,0,15,0,24,0,12,0,55,0,41,0 70,0,54,0,40,0,14,0,11,0,61,0 28,0,25,0,66,0,36,0,49,0,64,0 6,0,39,0,33,0,47,0,3,0,65,0 13,1,73,0,58,0,26,1,67,0,37,0 29,1,52,0,21,0,27,0,35,0,31,0 34,0,30,0,24,0,48,0,53,0,10,0 75,0,61,0,15,0,1,0,44,0,45,0 50,0,18,0,11,0,23,0,32,0,62,0 25,0,57,0,74,0,65,0,43,0,17,0 56,0,55,0,16,0,36,0,33,0,7,0 20,0,70,0,63,0,47,0,12,0,28,0 39,0,38,0,51,0,41,0,64,0,68,0 49,0,9,0,42,0,19,0,14,0,6,0 22,0,2,0,71,0,54,0,46,0,8,0 72,0,40,0,4,0,59,0,5,0,66,0 69,0,60,0,29,0,3,0,11,0,52,0 61,0,55,0,53,0,20,0,21,0,57,0 13,0,37,0,10,0,25,0,32,0,31,0 62,0,45,0,24,0,74,0,56,0,73,0 22,0,23,0,75,0,47,0,14,0,27,0 28,0,67,0,19,0,59,0,39,0,7,0 30,0,66,0,3,0,8,0,70,0,15,0 17,0,58,0,46,0,36,0,4,0,41,0 49,0,71,0,65,0,60,0,1,0,51,0 33,0,48,0,35,0,5,0,54,0,42,0 26,0,18,0,12,0,2,0,68,0,72,0 34,0,69,0,16,0,6,0,50,0,64,0 43,0,44,0,40,0,9,0,63,0,38,0 75,0,36,0,19,0,3,0,21,0,74,0 47,0,25,0,10,0,61,0,51,0,8,0 45,0,31,0,56,0,11,0,66,0,58,0 42,0,72,0,37,0,46,0,15,0,65,0 67,0,62,0,71,0,27,0,30,0,20,0 69,0,50,0,26,0,59,0,63,0,17,0 54,0,4,0,23,0,16,0,1,0,24,0 39,0,41,0,49,0,43,0,5,0,22,0 35,0,73,0,44,0,33,0,2,0,70,0 13,0,7,0,38,0,53,0,52,0,12,0 9,0,57,0,40,0,29,0,64,0,18,0 28,0,32,0,48,0,6,0,60,0,55,0 68,0,14,0,46,0,34,0,1,0,62,0 74,0,23,0,8,0,20,0,49,0,69,0 63,0,31,0,33,0,22,0,59,0,24,0 53,0,42,0,3,0,66,0,26,0,51,0 58,0,2,0,15,0,57,0,50,0,38,0 11,0,55,0,35,0,17,0,64,0,67,0 25,0,21,0,14,0,41,0,18,0,44,0 47,0,40,0,19,0,13,0,45,0,60,0 27,0,36,0,12,0,10,0,5,0,6,0 29,0,56,0,65,0,68,0,28,0,4,0 43,0,52,0,73,0,16,0,48,0,61,0 34,0,70,0,75,0,37,0,71,0,7,0 30,0,39,0,32,0,72,0,54,0,9,0 62,0,66,0,41,0,57,0,60,0,63,0 45,0,59,0,42,0,22,0,18,0,10,0 5,0,46,0,20,0,26,0,19,0,56,0 3,0,55,0,2,0,40,0,23,0,68,0 27,0,15,0,4,0,33,0,69,0,53,0 1,0,39,0,13,0,48,0,58,0,21,0 61,0,28,0,74,0,30,0,9,0,37,0 65,0,64,0,8,0,75,0,12,0,31,0 67,0,36,0,54,0,44,0,52,0,47,0 50,0,24,0,14,0,72,0,7,0,43,0 38,0,73,0,25,0,71,0,11,0,6,0 32,0,29,0,17,0,70,0,16,0,49,0 35,0,51,0,19,0,34,0,23,0,58,0 62,0,21,0,22,0,40,0,37,0,15,0 33,0,68,0,52,0,66,0,10,0,46,0 13,0,18,0,27,0,8,0,55,0,43,0 7,0,64,0,47,0,74,0,26,0,48,0 17,0,31,0,72,0,73,0,3,0,28,0 30,0,44,0,11,0,4,0,51,0,49,0 32,0,6,0,54,0,41,0,75,0,53,0 45,0,71,0,69,0,36,0,35,0,57,0 65,0,20,0,59,0,16,0,38,0,14,0 29,0,1,0,61,0,42,0,12,0,50,0 60,0,9,0,5,0,24,0,67,0,70,0 34,0,39,0,56,0,2,0,25,0,63,0 49,0,31,0,48,0,15,0,62,0,26,0 23,0,33,0,71,0,28,0,21,0,43,0 41,0,7,0,10,0,69,0,40,0,73,0 30,0,47,0,29,0,38,0,46,0,55,0 72,0,70,0,51,0,74,0,22,0,13,0 17,0,34,0,9,0,8,0,52,0,45,0 42,0,1,0,64,0,27,0,56,0,32,0 59,0,60,0,68,0,25,0,54,0,58,0 53,0,2,0,5,0,16,0,11,0,37,0 12,0,3,0,4,0,57,0,14,0,67,0 36,0,65,0,63,0,61,0,18,0,19,0 75,0,50,0,20,0,35,0,39,0,66,0 6,0,44,0,26,0,24,0,13,0,29,0 ================================================ FILE: schedules/76_1.csv ================================================ 36,0,43,0,19,0,57,0,54,0,47,0 20,0,37,0,35,0,7,0,46,0,16,0 55,0,31,0,12,0,45,0,63,0,27,0 29,0,24,0,61,0,8,0,30,0,14,0 34,0,40,0,66,0,22,0,76,0,42,0 67,0,10,0,23,0,41,0,2,0,56,0 32,0,6,0,39,0,71,0,9,0,4,0 65,0,50,0,18,0,38,0,21,0,60,0 15,0,51,0,74,0,62,0,28,0,3,0 17,0,72,0,25,0,1,0,75,0,68,0 58,0,69,0,26,0,13,0,49,0,5,0 59,0,44,0,52,0,53,0,33,0,64,0 70,0,73,0,6,1,48,0,11,0,4,1 ================================================ FILE: schedules/76_10.csv ================================================ 43,0,31,0,25,0,13,0,4,0,55,0 32,0,18,0,63,0,75,0,1,0,45,0 21,0,33,0,52,0,68,0,41,0,8,0 59,0,58,0,60,0,37,0,53,0,40,0 15,0,49,0,34,0,71,0,11,0,24,0 10,0,2,0,70,0,30,0,74,0,73,0 62,0,65,0,14,0,3,0,17,0,54,0 22,0,28,0,20,0,57,0,27,0,67,0 47,0,36,0,46,0,7,0,26,0,35,0 51,0,66,0,44,0,5,0,6,0,23,0 29,0,42,0,69,0,48,0,76,0,12,0 16,0,72,0,9,0,56,0,38,0,64,0 19,0,39,0,30,0,61,0,50,0,54,0 31,0,75,0,37,0,14,0,2,0,20,0 17,0,74,0,45,0,4,0,36,0,15,0 55,0,1,0,22,0,34,0,65,0,44,0 25,0,28,0,27,0,52,0,12,0,6,0 73,0,9,0,41,0,66,0,43,0,58,0 5,0,35,0,70,0,11,0,29,0,18,0 56,0,26,0,68,0,67,0,59,0,32,0 47,0,49,0,21,0,33,0,64,0,50,0 48,0,57,0,8,0,13,0,7,0,60,0 76,0,40,0,38,0,46,0,23,0,3,0 39,0,71,0,69,0,63,0,10,0,53,0 62,0,72,0,24,0,42,0,51,0,19,0 61,0,25,0,18,0,16,0,20,0,41,0 59,1,9,0,30,0,29,1,31,0,35,0 32,0,60,0,66,0,36,0,49,0,12,0 76,0,13,0,27,0,1,0,47,0,2,0 45,0,68,0,50,0,65,0,43,0,38,0 6,0,42,0,39,0,70,0,14,0,56,0 26,0,3,0,8,0,28,0,16,0,24,0 67,0,72,0,54,0,58,0,10,0,44,0 51,0,53,0,11,0,61,0,73,0,46,0 69,0,52,0,55,0,15,0,23,0,7,0 75,0,17,0,71,0,40,0,22,0,64,0 34,0,19,0,5,0,21,0,4,0,57,0 63,0,48,0,74,0,33,0,37,0,62,0 49,0,1,0,72,0,30,0,29,0,43,0 25,0,50,0,46,0,8,0,58,0,14,0 15,0,11,0,68,0,66,0,20,0,76,0 35,0,42,0,52,0,38,0,32,0,2,0 61,0,75,0,6,0,26,0,55,0,21,0 65,0,67,0,7,0,5,0,63,0,40,0 13,0,56,0,74,0,51,0,22,0,18,0 9,0,23,0,54,0,17,0,53,0,27,0 62,0,31,0,39,0,45,0,60,0,16,0 34,0,48,0,64,0,10,0,3,0,36,0 71,0,4,0,73,0,33,0,28,0,44,0 70,0,19,0,41,0,37,0,47,0,69,0 24,0,12,0,14,0,57,0,59,0,74,0 63,0,21,0,35,0,25,0,15,0,54,0 18,0,62,0,5,0,55,0,49,0,39,0 29,0,68,0,2,0,51,0,34,0,40,0 16,0,30,0,42,0,46,0,53,0,71,0 7,0,27,0,4,0,66,0,64,0,37,0 33,0,36,0,57,0,76,0,31,0,6,0 23,0,72,0,22,0,45,0,48,0,26,0 8,0,43,0,32,0,65,0,70,0,61,0 28,0,10,0,75,0,24,0,50,0,9,0 56,0,12,0,20,0,47,0,58,0,17,0 60,0,1,0,38,0,41,0,67,0,69,0 11,0,44,0,59,0,52,0,19,0,13,0 3,0,21,0,42,0,73,0,27,0,18,0 43,0,26,0,2,0,64,0,15,0,62,0 50,0,53,0,34,0,32,0,31,0,72,0 58,0,33,0,29,0,65,0,75,0,39,0 1,0,6,0,24,0,7,0,68,0,17,0 37,0,25,0,57,0,54,0,51,0,56,0 76,0,19,0,67,0,74,0,35,0,8,0 20,0,44,0,46,0,49,0,48,0,9,0 38,0,30,0,55,0,36,0,28,0,11,0 5,0,10,0,71,0,14,0,13,0,41,0 66,0,70,0,3,0,22,0,63,0,52,0 23,0,60,0,47,0,4,0,59,0,61,0 73,0,45,0,40,0,69,0,16,0,12,0 18,0,50,0,37,0,76,0,17,0,34,0 32,0,64,0,58,0,28,0,19,0,74,0 67,0,26,0,31,0,51,0,49,0,41,0 7,0,36,0,14,0,44,0,72,0,21,0 66,0,38,0,48,0,59,0,8,0,39,0 27,0,75,0,24,0,73,0,60,0,5,0 23,0,13,0,12,0,30,0,63,0,68,0 4,0,65,0,35,0,20,0,42,0,10,0 2,0,54,0,6,0,43,0,16,0,11,0 15,0,9,0,70,0,1,0,40,0,57,0 45,0,53,0,47,0,3,0,25,0,55,0 61,0,62,0,52,0,29,0,71,0,56,0 69,0,22,0,24,0,33,0,46,0,32,0 51,0,20,0,26,0,34,0,63,0,8,0 11,0,65,0,30,0,37,0,21,0,48,0 41,0,7,0,59,0,42,0,15,0,28,0 36,0,73,0,23,0,1,0,25,0,39,0 17,0,49,0,10,0,52,0,57,0,16,0 12,0,2,0,67,0,18,0,33,0,9,0 64,0,19,0,60,0,55,0,46,0,68,0 76,0,61,0,58,0,14,0,45,0,22,0 4,0,74,0,6,0,29,0,50,0,3,0 44,0,43,0,69,0,56,0,27,0,35,0 13,0,66,0,72,0,75,0,70,0,62,0 71,0,38,0,54,0,47,0,31,0,5,0 40,0,26,0,18,0,53,0,57,0,19,0 65,0,76,0,59,0,64,0,25,0,49,0 39,0,14,0,52,0,4,0,51,0,30,0 61,0,7,0,16,0,34,0,74,0,33,0 29,0,45,0,37,0,13,0,24,0,67,0 27,0,68,0,31,0,70,0,58,0,48,0 20,0,21,0,32,0,23,0,43,0,71,0 11,0,3,0,63,0,9,0,60,0,42,0 1,0,66,0,56,0,28,0,54,0,46,0 36,0,22,0,50,0,5,0,69,0,2,0 12,0,53,0,44,0,38,0,15,0,75,0 10,0,73,0,8,0,47,0,62,0,6,0 35,0,55,0,41,0,17,0,72,0,40,0 68,0,65,0,74,0,39,0,26,0,9,0 70,0,51,0,28,0,60,0,21,0,76,0 14,0,63,0,16,0,29,0,32,0,27,0 13,0,64,0,42,0,34,0,69,0,58,0 4,0,49,0,53,0,2,0,56,0,8,0 38,0,22,0,19,0,25,0,10,0,7,0 30,0,33,0,17,0,45,0,5,0,59,0 3,0,37,0,12,0,35,0,71,0,1,0 6,0,15,0,46,0,47,0,72,0,18,0 44,0,61,0,40,0,66,0,24,0,31,0 48,0,36,0,43,0,52,0,67,0,75,0 41,0,57,0,11,0,62,0,23,0,50,0 54,0,55,0,59,0,20,0,73,0,29,0 ================================================ FILE: schedules/76_11.csv ================================================ 31,0,39,0,4,0,54,0,76,0,2,0 26,0,36,0,48,0,47,0,34,0,37,0 12,0,38,0,63,0,62,0,15,0,50,0 22,0,5,0,40,0,41,0,35,0,9,0 3,0,73,0,53,0,23,0,46,0,66,0 8,0,58,0,52,0,19,0,33,0,56,0 16,0,64,0,57,0,27,0,6,0,24,0 28,0,67,0,30,0,70,0,43,0,18,0 69,0,71,0,32,0,20,0,14,0,1,0 42,0,13,0,25,0,72,0,21,0,55,0 49,0,65,0,10,0,60,0,61,0,68,0 11,0,17,0,74,0,75,0,29,0,45,0 51,0,44,0,66,0,7,0,59,0,62,0 50,0,35,0,28,0,3,0,31,0,52,0 20,0,47,0,27,0,41,0,12,0,56,0 1,0,70,0,55,0,22,0,15,0,48,0 36,0,68,0,42,0,16,0,19,0,58,0 71,0,40,0,61,0,17,0,4,0,13,0 54,0,43,0,64,0,8,0,25,0,73,0 5,0,11,0,6,0,37,0,51,0,23,0 45,0,38,0,49,0,44,0,26,0,57,0 65,0,33,0,60,0,75,0,18,0,39,0 24,0,74,0,2,0,9,0,63,0,69,0 34,0,67,0,32,0,53,0,59,0,21,0 29,0,14,0,7,0,76,0,46,0,10,0 72,0,37,0,12,0,30,0,23,0,71,0 13,1,40,0,47,0,73,1,45,0,42,0 56,1,25,0,27,0,51,1,1,0,38,0 2,0,44,0,18,0,35,0,61,0,70,0 49,0,57,0,63,0,19,0,67,0,53,0 7,0,8,0,9,0,6,0,65,0,52,0 41,0,24,0,39,0,17,0,3,0,59,0 22,0,32,0,29,0,68,0,64,0,33,0 4,0,69,0,46,0,21,0,62,0,36,0 75,0,30,0,14,0,34,0,5,0,31,0 54,0,10,0,11,0,15,0,72,0,28,0 20,0,58,0,48,0,66,0,50,0,60,0 16,0,76,0,43,0,55,0,26,0,74,0 51,0,70,0,71,0,38,0,57,0,9,0 49,0,46,0,59,0,42,0,69,0,8,0 56,0,7,0,23,0,39,0,63,0,68,0 35,0,1,0,37,0,13,0,45,0,19,0 29,0,52,0,62,0,30,0,73,0,47,0 32,0,66,0,41,0,2,0,16,0,65,0 6,0,17,0,60,0,25,0,36,0,74,0 20,0,28,0,64,0,53,0,15,0,14,0 21,0,40,0,48,0,11,0,12,0,18,0 3,0,44,0,27,0,75,0,43,0,4,0 72,0,58,0,26,0,22,0,31,0,24,0 33,0,50,0,61,0,67,0,76,0,5,0 10,0,55,0,6,0,54,0,34,0,35,0 2,0,14,0,62,0,68,0,53,0,17,0 69,0,28,0,12,0,60,0,39,0,51,0 66,0,49,0,64,0,70,0,75,0,36,0 31,0,18,0,38,0,32,0,13,0,46,0 73,0,59,0,43,0,37,0,20,0,22,0 45,0,67,0,33,0,7,0,55,0,16,0 21,0,9,0,65,0,50,0,27,0,23,0 41,0,74,0,52,0,10,0,48,0,57,0 34,0,15,0,3,0,61,0,42,0,56,0 47,0,72,0,63,0,4,0,8,0,76,0 26,0,54,0,1,0,44,0,40,0,30,0 5,0,71,0,19,0,25,0,29,0,24,0 58,0,73,0,70,0,11,0,69,0,16,0 74,0,18,0,50,0,14,0,37,0,49,0 38,0,22,0,35,0,34,0,28,0,23,0 60,0,41,0,31,0,64,0,63,0,62,0 6,0,68,0,72,0,21,0,45,0,43,0 19,0,46,0,20,0,2,0,55,0,40,0 67,0,13,0,29,0,36,0,8,0,12,0 42,0,24,0,7,0,48,0,32,0,75,0 9,0,39,0,61,0,58,0,30,0,53,0 76,0,11,0,27,0,52,0,44,0,71,0 57,0,4,0,65,0,1,0,5,0,59,0 15,0,54,0,25,0,66,0,47,0,33,0 51,0,3,0,56,0,10,0,26,0,17,0 7,0,34,0,19,0,72,0,70,0,41,0 61,0,38,0,8,0,20,0,68,0,74,0 12,0,76,0,60,0,22,0,45,0,46,0 35,0,73,0,2,0,24,0,50,0,36,0 69,0,23,0,47,0,66,0,43,0,31,0 25,0,37,0,75,0,58,0,57,0,40,0 30,0,4,0,6,0,56,0,49,0,32,0 63,0,59,0,14,0,48,0,54,0,3,0 5,0,13,0,26,0,52,0,28,0,53,0 71,0,33,0,18,0,51,0,64,0,42,0 9,0,17,0,15,0,44,0,16,0,21,0 39,0,67,0,10,0,27,0,62,0,1,0 11,0,29,0,31,0,65,0,55,0,56,0 38,0,76,0,7,0,36,0,40,0,37,0 52,0,45,0,25,0,59,0,4,0,23,0 32,0,70,0,5,0,26,0,60,0,3,0 51,0,28,0,49,0,58,0,2,0,21,0 15,0,73,0,68,0,71,0,39,0,6,0 65,0,19,0,48,0,64,0,17,0,69,0 33,0,27,0,53,0,35,0,74,0,72,0 66,0,30,0,13,0,63,0,22,0,10,0 46,0,67,0,75,0,54,0,20,0,9,0 57,0,34,0,8,0,16,0,62,0,18,0 50,0,41,0,1,0,61,0,29,0,43,0 24,0,44,0,55,0,12,0,47,0,14,0 11,0,4,0,53,0,42,0,38,0,33,0 76,0,28,0,74,0,32,0,73,0,19,0 36,0,51,0,45,0,65,0,15,0,30,0 21,0,37,0,54,0,52,0,60,0,16,0 22,0,71,0,2,0,3,0,7,0,67,0 18,0,59,0,68,0,1,0,47,0,9,0 10,0,12,0,44,0,64,0,58,0,5,0 55,0,23,0,75,0,26,0,41,0,8,0 66,0,42,0,57,0,14,0,35,0,56,0 50,0,72,0,46,0,17,0,70,0,39,0 13,0,62,0,24,0,11,0,49,0,20,0 43,0,69,0,40,0,34,0,63,0,29,0 27,0,31,0,61,0,48,0,25,0,6,0 36,0,44,0,1,0,8,0,33,0,28,0 45,0,2,0,56,0,5,0,54,0,18,0 59,0,50,0,47,0,71,0,75,0,10,0 14,0,19,0,41,0,11,0,26,0,67,0 64,0,39,0,55,0,66,0,38,0,52,0 61,0,21,0,57,0,73,0,7,0,31,0 30,0,69,0,68,0,76,0,35,0,25,0 37,0,63,0,70,0,42,0,27,0,32,0 58,0,34,0,46,0,65,0,13,0,74,0 48,0,16,0,53,0,4,0,22,0,51,0 72,0,62,0,20,0,29,0,3,0,6,0 15,0,23,0,43,0,40,0,60,0,24,0 17,0,12,0,33,0,49,0,9,0,31,0 73,0,21,0,69,0,41,0,38,0,5,0 39,0,34,0,25,0,11,0,32,0,44,0 52,0,51,0,75,0,46,0,61,0,63,0 56,0,10,0,8,0,45,0,53,0,70,0 54,0,22,0,62,0,50,0,19,0,42,0 49,0,16,0,35,0,71,0,47,0,65,0 9,0,14,0,48,0,72,0,43,0,13,0 74,0,30,0,3,0,64,0,7,0,40,0 58,0,15,0,29,0,27,0,59,0,2,0 55,0,68,0,37,0,24,0,4,0,28,0 17,0,36,0,20,0,18,0,57,0,23,0 76,0,6,0,26,0,12,0,1,0,66,0 60,0,13,0,56,0,67,0,73,0,51,0 ================================================ FILE: schedules/76_12.csv ================================================ 49,0,28,0,36,0,76,0,74,0,1,0 56,0,41,0,14,0,55,0,11,0,23,0 47,0,73,0,59,0,42,0,17,0,43,0 7,0,57,0,34,0,69,0,71,0,9,0 48,0,53,0,19,0,24,0,27,0,15,0 21,0,70,0,33,0,62,0,12,0,22,0 38,0,18,0,29,0,58,0,4,0,63,0 30,0,72,0,13,0,31,0,26,0,37,0 2,0,45,0,75,0,3,0,68,0,46,0 16,0,5,0,35,0,64,0,65,0,40,0 52,0,25,0,66,0,10,0,50,0,20,0 61,0,67,0,51,0,60,0,6,0,32,0 44,0,8,0,36,0,54,0,39,0,57,0 23,0,33,0,9,0,18,0,73,0,70,0 31,0,30,0,14,0,7,0,21,0,2,0 3,0,41,0,1,0,71,0,16,0,27,0 47,0,74,0,50,0,40,0,34,0,38,0 48,0,42,0,22,0,52,0,43,0,45,0 69,0,64,0,12,0,68,0,56,0,54,0 35,0,46,0,29,0,53,0,39,0,60,0 51,0,76,0,26,0,66,0,75,0,8,0 61,0,65,0,37,0,17,0,10,0,11,0 25,0,32,0,63,0,15,0,44,0,72,0 5,0,4,0,62,0,59,0,49,0,24,0 19,0,58,0,28,0,67,0,13,0,20,0 55,0,14,0,22,0,6,0,16,0,9,0 8,0,76,0,46,0,56,0,70,0,47,0 52,0,12,0,17,0,30,0,23,0,74,0 10,0,29,0,60,0,54,0,21,0,15,0 31,0,53,0,51,0,4,0,61,0,68,0 27,0,40,0,5,0,36,0,13,0,32,0 50,0,72,0,28,0,24,0,43,0,2,0 39,0,41,0,59,0,26,0,19,0,73,0 20,0,75,0,42,0,37,0,7,0,49,0 25,0,38,0,65,0,6,0,3,0,69,0 11,0,44,0,33,0,1,0,48,0,34,0 45,0,57,0,67,0,64,0,63,0,62,0 71,0,66,0,55,0,18,0,58,0,35,0 26,0,28,0,9,0,52,0,36,0,60,0 13,0,23,0,43,0,7,0,29,0,39,0 50,0,61,0,41,0,30,0,69,0,42,0 56,0,3,0,33,0,15,0,37,0,53,0 75,0,48,0,49,0,34,0,65,0,67,0 14,0,40,0,54,0,66,0,19,0,62,0 57,0,32,0,12,0,24,0,55,0,47,0 35,0,11,0,74,0,22,0,59,0,58,0 18,0,25,0,21,0,64,0,76,0,70,0 20,0,38,0,2,0,51,0,27,0,44,0 17,0,71,0,5,0,31,0,63,0,6,0 4,0,1,0,16,0,10,0,46,0,73,0 72,0,8,0,40,0,68,0,45,0,14,0 50,0,13,0,58,0,56,0,61,0,48,0 36,0,69,0,24,0,11,0,75,0,22,0 27,0,26,0,65,0,42,0,9,0,54,0 35,0,2,0,17,0,15,0,12,0,20,0 44,0,46,0,70,0,19,0,5,0,6,0 7,0,3,0,72,0,64,0,41,0,47,0 21,0,53,0,34,0,73,0,57,0,28,0 68,0,59,0,29,0,10,0,71,0,67,0 18,0,63,0,16,0,8,0,49,0,30,0 38,0,32,0,1,0,23,0,45,0,66,0 4,0,76,0,33,0,43,0,60,0,55,0 51,0,39,0,74,0,37,0,62,0,25,0 31,0,7,0,73,0,52,0,58,0,40,0 34,0,17,0,56,0,67,0,35,0,72,0 44,0,64,0,49,0,14,0,50,0,53,0 24,0,65,0,46,0,41,0,23,0,21,0 11,0,54,0,76,0,3,0,13,0,63,0 20,0,74,0,61,0,39,0,26,0,55,0 6,0,30,0,75,0,66,0,29,0,33,0 52,0,47,0,62,0,25,0,4,0,27,0 71,0,15,0,59,0,36,0,38,0,12,0 43,0,10,0,19,0,8,0,9,0,51,0 28,0,42,0,16,0,32,0,70,0,68,0 22,0,2,0,37,0,1,0,57,0,5,0 60,0,18,0,69,0,48,0,45,0,31,0 27,0,50,0,39,0,14,0,63,0,75,0 46,0,67,0,26,0,33,0,38,0,24,0 65,0,53,0,62,0,8,0,7,0,12,0 68,0,15,0,73,0,49,0,11,0,61,0 23,0,51,0,35,0,5,0,28,0,44,0 42,0,72,0,10,0,57,0,3,0,74,0 29,0,31,0,76,0,20,0,41,0,9,0 43,0,16,0,66,0,21,0,36,0,56,0 55,0,45,0,25,0,59,0,34,0,13,0 18,0,71,0,19,0,52,0,32,0,22,0 70,0,17,0,60,0,1,0,58,0,64,0 47,0,2,0,4,0,69,0,37,0,54,0 48,0,6,0,20,0,30,0,40,0,57,0 15,0,39,0,66,0,31,0,28,0,65,0 8,0,56,0,29,0,42,0,74,0,5,0 22,0,67,0,24,0,76,0,27,0,7,0 73,0,17,0,41,0,25,0,51,0,36,0 49,0,69,0,58,0,46,0,32,0,33,0 12,0,6,0,18,0,50,0,43,0,37,0 64,0,30,0,45,0,4,0,11,0,19,0 3,0,21,0,38,0,61,0,34,0,52,0 10,0,55,0,2,0,40,0,53,0,70,0 47,0,9,0,68,0,63,0,35,0,1,0 72,0,16,0,54,0,59,0,48,0,23,0 13,0,62,0,44,0,75,0,71,0,60,0 14,0,25,0,58,0,26,0,12,0,5,0 34,0,32,0,11,0,43,0,8,0,20,0 55,0,27,0,3,0,50,0,73,0,29,0 39,0,6,0,4,0,42,0,21,0,1,0 22,0,54,0,66,0,46,0,17,0,49,0 19,0,7,0,9,0,72,0,68,0,38,0 26,0,62,0,48,0,53,0,76,0,2,0 56,0,24,0,10,0,60,0,63,0,30,0 71,0,64,0,13,0,33,0,65,0,51,0 18,0,40,0,59,0,44,0,57,0,41,0 47,0,75,0,61,0,23,0,14,0,28,0 37,0,45,0,35,0,36,0,31,0,70,0 15,0,69,0,52,0,16,0,74,0,67,0 30,0,5,0,68,0,34,0,39,0,76,0 22,0,56,0,20,0,73,0,4,0,38,0 7,0,51,0,54,0,18,0,50,0,11,0 40,0,42,0,61,0,71,0,25,0,24,0 23,0,64,0,10,0,62,0,36,0,6,0 31,0,12,0,60,0,49,0,3,0,19,0 55,0,8,0,69,0,28,0,17,0,27,0 57,0,15,0,13,0,46,0,1,0,14,0 52,0,63,0,2,0,41,0,35,0,33,0 16,0,26,0,44,0,47,0,45,0,29,0 67,0,70,0,58,0,43,0,72,0,65,0 74,0,21,0,32,0,9,0,75,0,53,0 59,0,37,0,64,0,48,0,66,0,28,0 34,0,20,0,46,0,18,0,42,0,62,0 15,0,31,0,23,0,8,0,50,0,22,0 49,0,27,0,6,0,26,0,56,0,35,0 1,0,69,0,40,0,51,0,12,0,29,0 54,0,70,0,43,0,41,0,38,0,75,0 37,0,63,0,21,0,7,0,55,0,59,0 76,0,19,0,57,0,33,0,61,0,16,0 30,0,53,0,11,0,25,0,9,0,67,0 32,0,14,0,3,0,17,0,4,0,48,0 52,0,44,0,74,0,13,0,68,0,24,0 58,0,45,0,71,0,10,0,39,0,47,0 66,0,60,0,73,0,2,0,72,0,5,0 36,0,50,0,57,0,65,0,29,0,19,0 62,0,11,0,38,0,55,0,31,0,42,0 43,0,64,0,27,0,30,0,46,0,61,0 8,0,1,0,6,0,59,0,52,0,75,0 54,0,24,0,34,0,16,0,58,0,37,0 35,0,70,0,10,0,32,0,69,0,26,0 23,0,63,0,22,0,28,0,25,0,60,0 65,0,71,0,76,0,74,0,14,0,73,0 36,0,68,0,53,0,20,0,18,0,72,0 17,0,33,0,7,0,56,0,44,0,45,0 4,0,67,0,12,0,41,0,13,0,66,0 48,0,15,0,47,0,21,0,51,0,5,0 49,0,39,0,9,0,40,0,2,0,3,0 ================================================ FILE: schedules/76_13.csv ================================================ 4,0,20,0,17,0,6,0,56,0,8,0 5,0,36,0,46,0,75,0,16,0,21,0 37,0,66,0,38,0,35,0,25,0,43,0 76,0,40,0,67,0,7,0,52,0,14,0 11,0,12,0,58,0,41,0,23,0,65,0 45,0,71,0,61,0,48,0,30,0,50,0 51,0,27,0,73,0,57,0,54,0,10,0 28,0,3,0,26,0,15,0,29,0,44,0 74,0,49,0,62,0,1,0,22,0,69,0 63,0,24,0,32,0,34,0,9,0,47,0 13,0,39,0,55,0,19,0,68,0,64,0 70,0,31,0,2,0,18,0,42,0,33,0 60,0,59,0,54,0,53,0,72,0,38,0 43,0,15,0,5,0,67,0,61,0,11,0 57,0,37,0,29,0,16,0,56,0,49,0 75,0,69,0,45,0,34,0,27,0,7,0 50,0,22,0,52,0,58,0,19,0,8,0 1,0,46,0,13,0,66,0,47,0,65,0 70,0,6,0,63,0,44,0,60,0,68,0 26,0,41,0,55,0,40,0,17,0,24,0 42,0,48,0,14,0,35,0,28,0,39,0 30,0,64,0,31,0,25,0,59,0,4,0 9,0,10,0,76,0,74,0,20,0,23,0 71,0,3,0,21,0,62,0,33,0,51,0 12,0,72,0,36,0,53,0,32,0,2,0 73,0,61,0,1,0,18,0,55,0,52,0 7,1,15,0,41,0,42,1,8,0,39,0 4,0,24,0,75,0,22,0,70,0,66,0 9,0,56,0,19,0,38,0,31,0,45,0 48,0,54,0,51,0,26,0,13,0,50,0 14,0,16,0,43,0,71,0,2,0,63,0 30,0,10,0,18,0,58,0,3,0,37,0 40,0,72,0,46,0,49,0,57,0,5,0 6,0,33,0,74,0,29,0,73,0,36,0 53,0,59,0,11,0,25,0,68,0,67,0 65,0,20,0,60,0,17,0,34,0,35,0 44,0,23,0,32,0,27,0,64,0,21,0 76,0,12,0,47,0,62,0,28,0,69,0 61,0,41,0,66,0,22,0,2,0,54,0 70,0,46,0,7,0,58,0,71,0,13,0 45,0,14,0,1,0,33,0,38,0,11,0 51,0,17,0,67,0,74,0,63,0,25,0 10,0,26,0,42,0,50,0,65,0,5,0 72,0,6,0,52,0,37,0,15,0,27,0 40,0,73,0,34,0,4,0,76,0,53,0 32,0,8,0,49,0,24,0,16,0,28,0 57,0,23,0,35,0,47,0,31,0,59,0 69,0,9,0,64,0,18,0,21,0,43,0 3,0,12,0,60,0,48,0,55,0,19,0 75,0,29,0,68,0,30,0,20,0,62,0 39,0,44,0,5,0,56,0,36,0,2,0 71,0,15,0,38,0,4,0,41,0,34,0 45,0,42,0,28,0,63,0,26,0,52,0 27,0,24,0,10,0,61,0,21,0,14,0 53,0,18,0,48,0,46,0,51,0,23,0 59,0,70,0,12,0,9,0,22,0,20,0 69,0,31,0,54,0,44,0,6,0,17,0 56,0,40,0,66,0,58,0,68,0,36,0 7,0,29,0,62,0,60,0,64,0,73,0 65,0,25,0,37,0,33,0,19,0,47,0 57,0,55,0,43,0,75,0,50,0,32,0 74,0,8,0,1,0,35,0,13,0,72,0 49,0,30,0,76,0,11,0,39,0,16,0 67,0,71,0,54,0,3,0,22,0,42,0 9,0,4,0,68,0,29,0,27,0,14,0 37,0,46,0,31,0,7,0,73,0,20,0 21,0,47,0,48,0,34,0,56,0,52,0 51,0,15,0,35,0,12,0,43,0,45,0 58,0,17,0,32,0,19,0,75,0,11,0 23,0,6,0,24,0,76,0,5,0,13,0 62,0,18,0,44,0,38,0,59,0,65,0 74,0,53,0,3,0,61,0,26,0,49,0 67,0,16,0,50,0,70,0,33,0,69,0 25,0,28,0,36,0,41,0,60,0,57,0 30,0,72,0,39,0,63,0,55,0,66,0 40,0,8,0,2,0,10,0,1,0,64,0 73,0,18,0,68,0,5,0,12,0,71,0 54,0,58,0,15,0,24,0,20,0,29,0 34,0,6,0,26,0,7,0,43,0,11,0 53,0,35,0,33,0,9,0,44,0,75,0 46,0,25,0,56,0,76,0,3,0,50,0 22,0,38,0,8,0,40,0,65,0,55,0 74,0,59,0,37,0,41,0,45,0,21,0 27,0,63,0,57,0,2,0,48,0,66,0 70,0,10,0,52,0,39,0,49,0,17,0 64,0,51,0,61,0,47,0,36,0,42,0 19,0,62,0,23,0,28,0,4,0,72,0 32,0,16,0,60,0,67,0,1,0,31,0 30,0,13,0,41,0,14,0,69,0,73,0 43,0,27,0,56,0,8,0,7,0,53,0 52,0,24,0,11,0,74,0,46,0,2,0 49,0,20,0,63,0,38,0,36,0,50,0 71,0,25,0,44,0,58,0,61,0,55,0 40,0,18,0,47,0,45,0,16,0,54,0 22,0,31,0,72,0,10,0,34,0,68,0 37,0,33,0,17,0,28,0,64,0,13,0 69,0,15,0,39,0,62,0,9,0,57,0 6,0,1,0,19,0,67,0,59,0,14,0 60,0,21,0,42,0,12,0,4,0,26,0 5,0,35,0,66,0,32,0,70,0,3,0 76,0,75,0,51,0,65,0,48,0,29,0 23,0,38,0,34,0,30,0,7,0,61,0 9,0,52,0,49,0,54,0,25,0,13,0 36,0,62,0,11,0,27,0,50,0,31,0 10,0,15,0,22,0,64,0,63,0,46,0 14,0,58,0,60,0,42,0,57,0,74,0 45,0,4,0,3,0,39,0,68,0,65,0 44,0,76,0,20,0,71,0,51,0,19,0 2,0,21,0,28,0,40,0,35,0,6,0 5,0,55,0,32,0,37,0,69,0,53,0 17,0,16,0,48,0,73,0,66,0,59,0 72,0,70,0,29,0,41,0,43,0,47,0 1,0,33,0,56,0,12,0,30,0,24,0 67,0,75,0,8,0,26,0,18,0,23,0 19,0,27,0,65,0,71,0,35,0,49,0 55,0,11,0,22,0,21,0,13,0,57,0 5,0,64,0,14,0,66,0,60,0,52,0 69,0,2,0,34,0,28,0,29,0,58,0 3,0,41,0,1,0,63,0,53,0,31,0 17,0,68,0,42,0,18,0,76,0,46,0 59,0,20,0,33,0,7,0,32,0,40,0 47,0,8,0,30,0,48,0,74,0,44,0 36,0,54,0,23,0,62,0,37,0,43,0 10,0,25,0,75,0,15,0,12,0,16,0 24,0,51,0,50,0,39,0,38,0,6,0 72,0,56,0,61,0,26,0,73,0,70,0 4,0,67,0,55,0,9,0,45,0,46,0 47,0,22,0,28,0,30,0,53,0,27,0 14,0,8,0,20,0,3,0,5,0,62,0 13,0,42,0,69,0,59,0,15,0,75,0 16,0,68,0,66,0,74,0,51,0,34,0 38,0,61,0,17,0,32,0,29,0,12,0 45,0,35,0,58,0,6,0,64,0,49,0 54,0,39,0,7,0,21,0,1,0,25,0 52,0,33,0,44,0,10,0,43,0,4,0 56,0,50,0,41,0,9,0,18,0,60,0 36,0,67,0,65,0,72,0,48,0,24,0 26,0,2,0,57,0,71,0,37,0,76,0 63,0,73,0,19,0,11,0,23,0,40,0 31,0,21,0,29,0,70,0,45,0,8,0 58,0,4,0,5,0,51,0,1,0,59,0 35,0,41,0,68,0,16,0,52,0,61,0 7,0,50,0,47,0,15,0,36,0,17,0 26,0,39,0,14,0,32,0,46,0,22,0 48,0,20,0,64,0,69,0,11,0,72,0 62,0,71,0,53,0,66,0,6,0,10,0 43,0,65,0,28,0,56,0,74,0,31,0 57,0,19,0,30,0,70,0,42,0,24,0 27,0,13,0,18,0,25,0,60,0,40,0 63,0,76,0,23,0,54,0,33,0,55,0 38,0,9,0,73,0,3,0,75,0,2,0 34,0,37,0,49,0,67,0,44,0,12,0 48,0,26,0,43,0,68,0,20,0,1,0 50,0,29,0,64,0,53,0,14,0,65,0 61,0,46,0,19,0,69,0,41,0,8,0 18,0,7,0,24,0,35,0,4,0,63,0 32,0,25,0,42,0,73,0,62,0,56,0 11,0,70,0,9,0,28,0,51,0,37,0 55,0,34,0,59,0,36,0,49,0,10,0 23,0,45,0,2,0,60,0,17,0,22,0 39,0,71,0,74,0,75,0,54,0,40,0 52,0,57,0,12,0,3,0,30,0,6,0 47,0,38,0,27,0,33,0,67,0,5,0 58,0,66,0,31,0,76,0,21,0,15,0 13,0,16,0,7,0,72,0,44,0,42,0 ================================================ FILE: schedules/76_14.csv ================================================ 42,0,67,0,49,0,65,0,55,0,36,0 17,0,35,0,58,0,25,0,71,0,73,0 22,0,6,0,34,0,57,0,52,0,47,0 15,0,18,0,72,0,28,0,7,0,12,0 32,0,2,0,21,0,43,0,59,0,19,0 4,0,62,0,53,0,13,0,3,0,23,0 20,0,68,0,63,0,51,0,8,0,70,0 60,0,30,0,37,0,41,0,46,0,40,0 45,0,9,0,54,0,29,0,33,0,5,0 38,0,31,0,69,0,26,0,75,0,24,0 27,0,74,0,76,0,1,0,14,0,44,0 10,0,48,0,50,0,16,0,61,0,11,0 39,0,56,0,67,0,64,0,66,0,58,0 57,0,20,0,59,0,52,0,41,0,30,0 46,0,54,0,34,0,8,0,25,0,18,0 28,0,62,0,36,0,26,0,63,0,69,0 37,0,2,0,44,0,73,0,9,0,32,0 22,0,38,0,72,0,27,0,21,0,15,0 4,0,24,0,64,0,6,0,61,0,33,0 45,0,13,0,1,0,16,0,60,0,65,0 43,0,70,0,12,0,66,0,23,0,76,0 53,0,5,0,14,0,19,0,75,0,68,0 40,0,49,0,47,0,39,0,17,0,48,0 3,0,56,0,51,0,11,0,31,0,42,0 35,0,29,0,10,0,7,0,74,0,55,0 71,0,44,0,21,0,50,0,67,0,26,0 28,1,61,0,43,0,59,1,58,0,9,0 53,1,60,0,36,0,37,1,27,0,34,0 70,0,32,0,66,0,24,0,5,0,62,0 15,0,51,0,40,0,57,0,14,0,13,0 48,0,16,0,4,0,35,0,22,0,56,0 41,0,47,0,31,0,72,0,49,0,10,0 52,0,3,0,64,0,68,0,1,0,65,0 42,0,39,0,8,0,29,0,50,0,25,0 12,0,75,0,71,0,30,0,18,0,74,0 20,0,11,0,6,0,54,0,2,0,69,0 7,0,63,0,46,0,76,0,19,0,45,0 33,0,38,0,23,0,73,0,17,0,55,0 66,0,72,0,26,0,14,0,59,0,16,0 25,0,27,0,13,0,3,0,48,0,70,0 41,0,32,0,8,0,40,0,35,0,42,0 12,0,9,0,39,0,6,0,57,0,75,0 58,0,24,0,54,0,4,0,50,0,37,0 36,0,76,0,7,0,53,0,11,0,33,0 19,0,47,0,61,0,60,0,20,0,71,0 64,0,49,0,45,0,44,0,15,0,23,0 31,0,46,0,29,0,22,0,68,0,62,0 18,0,38,0,34,0,63,0,56,0,10,0 21,0,30,0,55,0,51,0,28,0,1,0 65,0,69,0,73,0,43,0,5,0,74,0 67,0,52,0,16,0,2,0,17,0,76,0 32,0,26,0,60,0,3,0,8,0,6,0 23,0,41,0,24,0,36,0,22,0,58,0 59,0,33,0,70,0,18,0,11,0,49,0 35,0,27,0,75,0,57,0,64,0,42,0 29,0,13,0,30,0,5,0,44,0,61,0 50,0,55,0,47,0,43,0,66,0,62,0 15,0,1,0,74,0,67,0,53,0,25,0 38,0,7,0,68,0,37,0,39,0,65,0 51,0,19,0,10,0,73,0,12,0,48,0 71,0,17,0,9,0,31,0,54,0,21,0 28,0,52,0,20,0,4,0,14,0,46,0 72,0,45,0,40,0,34,0,56,0,69,0 63,0,18,0,61,0,2,0,23,0,67,0 29,0,53,0,49,0,24,0,27,0,16,0 19,0,64,0,62,0,22,0,37,0,51,0 15,0,35,0,68,0,17,0,54,0,26,0 44,0,41,0,58,0,4,0,3,0,28,0 10,0,6,0,38,0,72,0,5,0,76,0 1,0,50,0,57,0,46,0,69,0,32,0 55,0,39,0,14,0,2,0,34,0,45,0 42,0,71,0,65,0,48,0,66,0,33,0 52,0,21,0,74,0,11,0,63,0,13,0 12,0,25,0,20,0,60,0,9,0,40,0 36,0,56,0,70,0,43,0,75,0,30,0 47,0,59,0,73,0,7,0,8,0,31,0 27,0,68,0,55,0,18,0,19,0,58,0 39,0,23,0,16,0,71,0,57,0,5,0 61,0,1,0,2,0,38,0,26,0,51,0 33,0,41,0,35,0,67,0,14,0,63,0 42,0,43,0,3,0,24,0,20,0,72,0 64,0,8,0,37,0,12,0,74,0,31,0 9,0,4,0,76,0,47,0,30,0,62,0 73,0,11,0,40,0,45,0,66,0,15,0 59,0,56,0,60,0,69,0,29,0,70,0 7,0,44,0,48,0,34,0,52,0,36,0 54,0,13,0,6,0,28,0,46,0,49,0 75,0,10,0,22,0,17,0,50,0,32,0 25,0,65,0,61,0,53,0,21,0,12,0 55,0,3,0,5,0,15,0,8,0,71,0 19,0,29,0,39,0,35,0,4,0,18,0 72,0,48,0,1,0,20,0,37,0,70,0 46,0,24,0,11,0,47,0,27,0,9,0 74,0,58,0,75,0,40,0,16,0,33,0 28,0,13,0,2,0,50,0,7,0,64,0 14,0,76,0,42,0,60,0,22,0,73,0 34,0,32,0,30,0,49,0,68,0,17,0 25,0,62,0,56,0,59,0,52,0,44,0 26,0,10,0,57,0,54,0,43,0,53,0 41,0,38,0,67,0,45,0,69,0,51,0 31,0,66,0,6,0,21,0,23,0,63,0 65,0,22,0,18,0,36,0,9,0,8,0 7,0,1,0,42,0,12,0,4,0,5,0 20,0,73,0,64,0,34,0,29,0,16,0 3,0,2,0,14,0,54,0,56,0,47,0 33,0,44,0,46,0,24,0,10,0,39,0 21,0,76,0,25,0,27,0,51,0,32,0 58,0,48,0,45,0,26,0,30,0,53,0 60,0,69,0,52,0,49,0,23,0,35,0 17,0,62,0,63,0,72,0,11,0,65,0 75,0,37,0,59,0,67,0,13,0,55,0 31,0,57,0,28,0,36,0,61,0,66,0 19,0,15,0,41,0,74,0,70,0,50,0 38,0,71,0,43,0,40,0,6,0,68,0 26,0,7,0,29,0,25,0,23,0,30,0 65,0,53,0,35,0,22,0,46,0,2,0 63,0,44,0,60,0,59,0,48,0,54,0 58,0,55,0,69,0,14,0,64,0,9,0 49,0,50,0,75,0,1,0,3,0,73,0 37,0,61,0,17,0,8,0,27,0,43,0 70,0,67,0,40,0,52,0,10,0,31,0 34,0,13,0,24,0,41,0,71,0,76,0 74,0,11,0,19,0,39,0,72,0,57,0 36,0,51,0,16,0,4,0,32,0,15,0 18,0,45,0,62,0,6,0,21,0,42,0 47,0,68,0,33,0,28,0,5,0,56,0 66,0,12,0,50,0,20,0,38,0,44,0 31,0,37,0,43,0,35,0,52,0,25,0 30,0,67,0,22,0,11,0,54,0,39,0 73,0,72,0,70,0,61,0,4,0,55,0 63,0,3,0,24,0,7,0,14,0,17,0 71,0,64,0,16,0,46,0,18,0,59,0 5,0,2,0,68,0,41,0,27,0,12,0 66,0,69,0,9,0,15,0,10,0,53,0 47,0,28,0,76,0,74,0,42,0,45,0 21,0,75,0,65,0,60,0,58,0,34,0 40,0,36,0,29,0,19,0,1,0,6,0 57,0,62,0,8,0,49,0,48,0,38,0 26,0,56,0,23,0,13,0,20,0,32,0 51,0,72,0,35,0,33,0,9,0,50,0 3,0,61,0,54,0,39,0,69,0,76,0 59,0,30,0,31,0,34,0,65,0,15,0 17,0,5,0,66,0,60,0,18,0,1,0 4,0,2,0,42,0,37,0,45,0,10,0 56,0,21,0,68,0,73,0,36,0,24,0 48,0,14,0,74,0,6,0,43,0,46,0 23,0,29,0,8,0,28,0,41,0,75,0 57,0,27,0,7,0,67,0,20,0,62,0 33,0,25,0,19,0,16,0,13,0,38,0 26,0,11,0,22,0,44,0,40,0,55,0 51,0,12,0,52,0,58,0,49,0,71,0 53,0,32,0,64,0,70,0,47,0,63,0 46,0,36,0,45,0,3,0,59,0,17,0 5,0,10,0,20,0,35,0,28,0,21,0 27,0,6,0,30,0,56,0,16,0,73,0 23,0,9,0,1,0,34,0,42,0,19,0 22,0,49,0,66,0,75,0,7,0,61,0 54,0,51,0,50,0,40,0,74,0,53,0 4,0,71,0,69,0,63,0,37,0,25,0 44,0,26,0,70,0,65,0,38,0,47,0 14,0,32,0,11,0,12,0,29,0,67,0 2,0,15,0,57,0,24,0,60,0,33,0 43,0,39,0,52,0,41,0,64,0,48,0 58,0,8,0,68,0,62,0,72,0,13,0 76,0,18,0,53,0,55,0,31,0,20,0 74,0,34,0,9,0,3,0,38,0,66,0 50,0,23,0,27,0,59,0,65,0,10,0 33,0,71,0,28,0,1,0,22,0,32,0 56,0,6,0,17,0,51,0,41,0,7,0 16,0,62,0,70,0,14,0,61,0,40,0 46,0,37,0,76,0,21,0,26,0,49,0 13,0,12,0,18,0,69,0,47,0,35,0 4,0,11,0,67,0,68,0,60,0,43,0 24,0,19,0,52,0,45,0,8,0,75,0 55,0,42,0,63,0,44,0,57,0,30,0 5,0,54,0,25,0,72,0,36,0,64,0 15,0,48,0,31,0,2,0,29,0,58,0 73,0,28,0,37,0,39,0,59,0,53,0 ================================================ FILE: schedules/76_2.csv ================================================ 22,0,70,0,52,0,21,0,32,0,15,0 35,0,20,0,72,0,48,0,2,0,17,0 49,0,68,0,76,0,24,0,38,0,37,0 57,0,27,0,14,0,19,0,41,0,10,0 12,0,62,0,8,0,29,0,4,0,31,0 40,0,69,0,26,0,5,0,61,0,25,0 36,0,1,0,67,0,46,0,30,0,34,0 56,0,74,0,71,0,60,0,53,0,39,0 66,0,28,0,59,0,55,0,45,0,18,0 44,0,73,0,47,0,9,0,42,0,54,0 13,0,58,0,43,0,16,0,33,0,23,0 7,0,64,0,51,0,6,0,75,0,65,0 11,0,63,0,36,0,3,0,50,0,40,0 10,0,5,0,21,0,56,0,2,0,8,0 4,0,69,0,41,0,67,0,70,0,74,0 39,0,30,0,18,0,19,0,68,0,29,0 66,0,48,0,60,0,26,0,14,0,47,0 23,0,17,0,1,0,6,0,24,0,73,0 71,0,63,0,25,0,27,0,62,0,20,0 42,0,13,0,55,0,32,0,51,0,11,0 65,0,54,0,33,0,49,0,22,0,12,0 9,0,46,0,3,0,16,0,38,0,72,0 37,0,31,0,61,0,35,0,28,0,64,0 59,0,34,0,50,0,52,0,75,0,76,0 53,0,44,0,45,0,43,0,57,0,15,0 7,0,18,1,73,1,58,0,30,1,1,1 ================================================ FILE: schedules/76_3.csv ================================================ 63,0,40,0,49,0,50,0,47,0,72,0 32,0,67,0,30,0,48,0,51,0,75,0 33,0,34,0,13,0,5,0,19,0,3,0 57,0,58,0,17,0,70,0,12,0,24,0 68,0,31,0,76,0,52,0,42,0,16,0 22,0,9,0,62,0,46,0,54,0,10,0 21,0,43,0,74,0,8,0,2,0,23,0 38,0,53,0,7,0,15,0,39,0,20,0 29,0,35,0,56,0,26,0,14,0,4,0 6,0,61,0,28,0,59,0,66,0,45,0 1,0,60,0,18,0,69,0,65,0,55,0 25,0,71,0,73,0,27,0,64,0,37,0 36,0,11,0,32,0,41,0,44,0,50,0 40,0,23,0,24,0,38,0,13,0,9,0 5,0,53,0,56,0,58,0,46,0,30,0 42,0,62,0,20,0,19,0,4,0,67,0 2,0,55,0,75,0,31,0,39,0,6,0 54,0,59,0,27,0,74,0,68,0,14,0 35,0,65,0,22,0,37,0,3,0,28,0 51,0,76,0,41,0,15,0,64,0,43,0 52,0,10,0,45,0,47,0,12,0,34,0 48,0,8,0,57,0,63,0,11,0,60,0 26,0,61,0,49,0,70,0,7,0,71,0 21,0,16,0,44,0,72,0,17,0,1,0 66,0,33,0,18,0,36,0,25,0,29,0 69,0,32,0,20,0,73,0,56,0,28,0 4,0,47,0,68,0,55,0,23,0,58,0 59,0,50,0,39,0,51,0,34,0,60,0 65,0,54,0,26,0,76,0,53,0,57,0 72,0,41,0,9,0,6,0,35,0,5,0 63,0,37,0,21,0,10,0,61,0,18,0 64,0,8,0,13,0,22,0,29,0,42,0 7,0,44,0,12,0,25,0,48,0,40,0 1,0,11,0,30,0,33,0,43,0,49,0 71,0,17,0,15,0,66,0,74,0,52,0 70,0,19,0,46,0,69,0,31,0,36,0 3,0,24,0,75,0,45,0,62,0,27,0 14,0,67,0,2,0,38,0,73,0,16,0 ================================================ FILE: schedules/76_4.csv ================================================ 22,0,25,0,62,0,67,0,49,0,1,0 14,0,76,0,10,0,41,0,30,0,35,0 63,0,42,0,11,0,5,0,46,0,21,0 73,0,16,0,45,0,28,0,59,0,44,0 26,0,20,0,15,0,70,0,55,0,72,0 64,0,34,0,53,0,60,0,3,0,40,0 50,0,12,0,19,0,51,0,7,0,18,0 31,0,52,0,65,0,57,0,47,0,56,0 8,0,74,0,9,0,2,0,23,0,33,0 37,0,17,0,66,0,4,0,43,0,54,0 29,0,75,0,61,0,48,0,58,0,24,0 39,0,38,0,71,0,6,0,69,0,68,0 13,0,32,0,30,0,36,0,27,0,44,0 76,0,34,0,31,0,49,0,20,0,7,0 72,0,12,0,35,0,67,0,74,0,63,0 56,0,54,0,26,0,62,0,46,0,73,0 28,0,57,0,19,0,64,0,42,0,23,0 14,0,8,0,1,0,75,0,38,0,50,0 2,0,32,0,22,0,24,0,18,0,6,0 51,0,60,0,11,0,45,0,66,0,52,0 25,0,4,0,21,0,55,0,61,0,68,0 33,0,53,0,47,0,58,0,17,0,10,0 40,0,39,0,36,0,41,0,5,0,15,0 3,0,13,0,48,0,16,0,69,0,37,0 70,0,43,0,65,0,71,0,9,0,29,0 27,0,2,0,46,0,59,0,49,0,64,0 22,1,74,0,68,0,54,1,76,0,51,0 20,0,44,0,58,0,14,0,52,0,62,0 75,0,41,0,53,0,56,0,19,0,25,0 12,0,69,0,36,0,60,0,8,0,61,0 57,0,73,0,37,0,55,0,39,0,11,0 47,0,18,0,5,0,28,0,9,0,34,0 4,0,70,0,50,0,13,0,63,0,31,0 15,0,1,0,3,0,43,0,24,0,30,0 59,0,72,0,48,0,32,0,65,0,66,0 7,0,67,0,40,0,10,0,23,0,38,0 29,0,16,0,6,0,35,0,42,0,17,0 26,0,71,0,27,0,45,0,33,0,21,0 20,0,61,0,41,0,57,0,22,0,50,0 75,0,51,0,43,0,62,0,2,0,47,0 28,0,58,0,13,0,76,0,39,0,72,0 67,0,11,0,31,0,9,0,3,0,14,0 73,0,24,0,52,0,7,0,25,0,69,0 38,0,21,0,35,0,54,0,36,0,19,0 6,0,10,0,8,0,48,0,45,0,46,0 30,0,23,0,59,0,53,0,5,0,4,0 16,0,55,0,40,0,32,0,12,0,71,0 56,0,66,0,64,0,33,0,44,0,63,0 37,0,18,0,74,0,29,0,1,0,26,0 49,0,60,0,68,0,65,0,17,0,15,0 34,0,42,0,22,0,70,0,27,0,54,0 ================================================ FILE: schedules/76_5.csv ================================================ 28,0,62,0,55,0,39,0,3,0,11,0 13,0,33,0,25,0,69,0,34,0,52,0 65,0,9,0,57,0,6,0,71,0,32,0 27,0,26,0,45,0,74,0,8,0,14,0 64,0,35,0,7,0,37,0,5,0,44,0 46,0,42,0,70,0,18,0,58,0,75,0 53,0,4,0,49,0,23,0,56,0,61,0 63,0,2,0,16,0,17,0,29,0,40,0 51,0,36,0,72,0,15,0,30,0,41,0 12,0,73,0,20,0,47,0,59,0,68,0 67,0,10,0,19,0,54,0,24,0,60,0 22,0,38,0,76,0,66,0,43,0,31,0 50,0,48,0,6,0,1,0,21,0,58,0 26,0,70,0,29,0,5,0,34,0,65,0 35,0,2,0,8,0,11,0,4,0,36,0 56,0,7,0,12,0,27,0,46,0,55,0 44,0,28,0,74,0,67,0,68,0,33,0 15,0,61,0,43,0,9,0,39,0,13,0 1,0,14,0,37,0,66,0,10,0,42,0 69,0,24,0,17,0,71,0,51,0,48,0 73,0,32,0,41,0,25,0,62,0,19,0 53,0,54,0,3,0,63,0,20,0,31,0 75,0,45,0,49,0,30,0,76,0,40,0 18,0,50,0,38,0,52,0,72,0,57,0 23,0,60,0,22,0,64,0,47,0,21,0 16,0,43,0,70,0,59,0,69,0,8,0 74,1,46,0,32,0,48,1,10,0,15,0 29,1,44,0,14,0,25,1,51,0,61,0 34,0,56,0,66,0,28,0,40,0,54,0 4,0,30,0,27,0,3,0,73,0,65,0 76,0,37,0,67,0,62,0,21,0,18,0 9,0,35,0,72,0,47,0,19,0,42,0 31,0,16,0,49,0,64,0,36,0,50,0 55,0,17,0,59,0,60,0,33,0,6,0 57,0,2,0,13,0,41,0,75,0,23,0 71,0,20,0,52,0,26,0,7,0,22,0 11,0,12,0,1,0,63,0,24,0,38,0 68,0,45,0,39,0,58,0,53,0,5,0 30,0,61,0,21,0,31,0,28,0,70,0 56,0,18,0,3,0,6,0,74,0,69,0 55,0,41,0,66,0,35,0,16,0,67,0 48,0,75,0,59,0,4,0,7,0,34,0 19,0,20,0,65,0,38,0,44,0,2,0 51,0,37,0,26,0,39,0,32,0,49,0 23,0,9,0,52,0,17,0,10,0,45,0 58,0,33,0,8,0,76,0,12,0,72,0 64,0,40,0,11,0,46,0,25,0,71,0 36,0,42,0,5,0,24,0,62,0,43,0 29,0,53,0,47,0,27,0,57,0,1,0 14,0,15,0,60,0,68,0,50,0,63,0 13,0,54,0,17,0,22,0,73,0,35,0 58,0,61,0,74,0,20,0,16,0,34,0 38,0,33,0,71,0,37,0,41,0,45,0 18,0,39,0,25,0,66,0,23,0,24,0 64,0,67,0,30,0,48,0,26,0,57,0 53,0,65,0,21,0,43,0,11,0,14,0 3,0,1,0,68,0,13,0,19,0,51,0 62,0,49,0,6,0,72,0,54,0,29,0 40,0,7,0,31,0,73,0,60,0,8,0 47,0,15,0,52,0,75,0,56,0,44,0 5,0,59,0,46,0,28,0,9,0,2,0 63,0,76,0,27,0,36,0,32,0,70,0 69,0,10,0,4,0,22,0,50,0,12,0 42,0,74,0,25,0,55,0,48,0,29,0 ================================================ FILE: schedules/76_6.csv ================================================ 50,0,61,0,39,0,37,0,5,0,16,0 2,0,68,0,25,0,47,0,29,0,57,0 62,0,21,0,18,0,38,0,3,0,74,0 24,0,41,0,66,0,65,0,60,0,72,0 64,0,69,0,58,0,6,0,35,0,34,0 59,0,17,0,71,0,27,0,22,0,33,0 30,0,63,0,42,0,46,0,44,0,36,0 56,0,20,0,15,0,52,0,53,0,13,0 54,0,76,0,75,0,45,0,9,0,11,0 55,0,8,0,73,0,51,0,32,0,12,0 43,0,19,0,7,0,4,0,14,0,10,0 70,0,67,0,31,0,23,0,49,0,1,0 40,0,26,0,57,0,28,0,48,0,17,0 42,0,27,0,5,0,24,0,21,0,34,0 22,0,69,0,65,0,9,0,38,0,47,0 53,0,66,0,33,0,50,0,74,0,44,0 29,0,4,0,45,0,59,0,41,0,51,0 35,0,63,0,56,0,39,0,43,0,11,0 48,0,31,0,15,0,55,0,3,0,75,0 28,0,10,0,20,0,32,0,6,0,67,0 19,0,72,0,2,0,62,0,58,0,26,0 61,0,54,0,23,0,36,0,64,0,71,0 37,0,68,0,30,0,8,0,70,0,52,0 73,0,7,0,49,0,16,0,60,0,18,0 13,0,14,0,12,0,40,0,76,0,1,0 46,0,43,0,45,0,25,0,53,0,31,0 42,0,51,0,48,0,39,0,72,0,69,0 63,0,47,0,50,0,27,0,64,0,75,0 15,0,37,0,36,0,62,0,67,0,57,0 9,0,17,0,16,0,52,0,34,0,41,0 44,0,38,0,73,0,19,0,68,0,40,0 65,0,5,0,32,0,7,0,59,0,35,0 61,0,6,0,76,0,22,0,46,0,60,0 54,0,30,0,4,0,25,0,33,0,56,0 71,0,70,0,11,0,18,0,66,0,12,0 74,0,55,0,29,0,58,0,1,0,10,0 14,0,21,0,8,0,20,0,49,0,26,0 2,0,3,0,23,0,28,0,24,0,13,0 32,0,52,0,61,0,31,0,38,0,63,0 27,0,39,0,6,0,40,0,7,0,30,0 12,0,16,0,59,0,43,0,57,0,54,0 18,0,10,0,9,0,48,0,33,0,46,0 50,0,36,0,19,0,20,0,41,0,70,0 53,0,47,0,4,0,21,0,23,0,55,0 35,0,26,0,1,0,37,0,66,0,73,0 74,0,51,0,11,0,2,0,65,0,15,0 76,0,58,0,67,0,8,0,42,0,56,0 34,0,14,0,22,0,68,0,28,0,75,0 60,0,62,0,64,0,13,0,45,0,5,0 25,0,49,0,44,0,69,0,71,0,24,0 72,0,17,0,70,0,3,0,29,0,61,0 48,0,38,0,20,0,59,0,11,0,30,0 52,0,55,0,18,0,42,0,6,0,57,0 15,0,4,0,28,0,50,0,9,0,8,0 39,0,46,0,13,0,34,0,54,0,66,0 56,0,37,0,40,0,2,0,10,0,49,0 26,0,60,0,27,0,29,0,69,0,23,0 41,0,68,0,3,0,43,0,76,0,71,0 75,0,25,0,1,0,17,0,5,0,51,0 12,0,33,0,72,0,67,0,47,0,7,0 53,0,65,0,62,0,14,0,63,0,73,0 24,0,74,0,22,0,35,0,19,0,31,0 45,0,16,0,58,0,32,0,21,0,36,0 44,0,70,0,39,0,64,0,4,0,2,0 38,0,49,0,55,0,66,0,27,0,43,0 6,0,37,0,41,0,48,0,13,0,25,0 10,0,51,0,34,0,47,0,60,0,71,0 42,0,33,0,20,0,61,0,35,0,75,0 26,0,45,0,67,0,68,0,24,0,63,0 7,0,28,0,69,0,11,0,62,0,52,0 40,0,18,0,53,0,29,0,54,0,22,0 21,0,46,0,19,0,17,0,15,0,12,0 44,0,5,0,9,0,58,0,31,0,14,0 57,0,32,0,50,0,76,0,23,0,30,0 74,0,72,0,59,0,56,0,36,0,73,0 1,0,64,0,3,0,8,0,65,0,16,0 ================================================ FILE: schedules/76_7.csv ================================================ 18,0,76,0,54,0,68,0,51,0,41,0 74,0,71,0,58,0,56,0,20,0,66,0 13,0,14,0,40,0,8,0,27,0,24,0 31,0,10,0,4,0,42,0,17,0,34,0 35,0,19,0,46,0,47,0,59,0,9,0 12,0,2,0,62,0,60,0,36,0,64,0 57,0,25,0,44,0,72,0,52,0,55,0 53,0,43,0,6,0,33,0,21,0,26,0 70,0,49,0,3,0,65,0,29,0,32,0 73,0,63,0,37,0,23,0,67,0,75,0 1,0,48,0,38,0,61,0,30,0,7,0 16,0,28,0,39,0,15,0,5,0,45,0 50,0,69,0,9,0,11,0,22,0,74,0 72,0,66,0,46,0,13,0,17,0,53,0 51,0,2,0,65,0,6,0,27,0,56,0 33,0,29,0,25,0,42,0,19,0,14,0 49,0,60,0,68,0,23,0,30,0,44,0 47,0,16,0,8,0,57,0,36,0,70,0 67,0,34,0,41,0,38,0,40,0,28,0 4,0,71,0,15,0,50,0,35,0,61,0 12,0,59,0,54,0,43,0,31,0,69,0 32,0,58,0,37,0,48,0,22,0,21,0 20,0,26,0,1,0,63,0,10,0,45,0 3,0,62,0,52,0,24,0,5,0,18,0 11,0,55,0,7,0,73,0,39,0,64,0 76,0,13,0,44,0,75,0,38,0,9,0 54,1,35,0,36,0,34,1,53,0,65,0 61,0,46,0,32,0,31,0,60,0,8,0 57,0,20,0,37,0,33,0,12,0,28,0 45,0,59,0,58,0,25,0,62,0,68,0 64,0,56,0,18,0,19,0,72,0,67,0 5,0,47,0,73,0,22,0,4,0,2,0 48,0,63,0,24,0,70,0,42,0,50,0 30,0,66,0,51,0,11,0,75,0,29,0 41,0,16,0,7,0,52,0,74,0,43,0 39,0,6,0,1,0,49,0,40,0,69,0 76,0,71,0,55,0,27,0,26,0,17,0 3,0,14,0,15,0,21,0,23,0,10,0 25,0,9,0,53,0,63,0,32,0,12,0 59,0,36,0,44,0,56,0,73,0,28,0 8,0,19,0,22,0,62,0,54,0,30,0 42,0,5,0,74,0,37,0,1,0,35,0 26,0,68,0,7,0,29,0,67,0,24,0 6,0,23,0,52,0,4,0,64,0,38,0 51,0,60,0,13,0,34,0,55,0,15,0 65,0,39,0,14,0,41,0,17,0,61,0 49,0,48,0,43,0,18,0,46,0,20,0 75,0,10,0,27,0,47,0,69,0,58,0 21,0,40,0,45,0,57,0,66,0,76,0 72,0,2,0,50,0,16,0,31,0,3,0 11,0,33,0,38,0,70,0,71,0,59,0 24,0,6,0,12,0,19,0,74,0,34,0 5,0,54,0,56,0,55,0,46,0,29,0 42,0,22,0,52,0,13,0,68,0,28,0 4,0,62,0,69,0,7,0,66,0,63,0 30,0,39,0,47,0,32,0,20,0,76,0 14,0,57,0,73,0,31,0,18,0,71,0 41,0,27,0,60,0,11,0,25,0,35,0 75,0,17,0,3,0,33,0,45,0,36,0 37,0,16,0,53,0,61,0,44,0,10,0 51,0,70,0,43,0,9,0,1,0,64,0 40,0,65,0,26,0,23,0,48,0,72,0 15,0,2,0,67,0,49,0,58,0,8,0 21,0,29,0,18,0,50,0,59,0,39,0 11,0,31,0,5,0,6,0,36,0,63,0 27,0,61,0,73,0,74,0,3,0,54,0 38,0,25,0,24,0,69,0,46,0,37,0 44,0,17,0,40,0,47,0,51,0,7,0 64,0,75,0,57,0,49,0,35,0,22,0 65,0,12,0,42,0,58,0,16,0,76,0 34,0,56,0,50,0,43,0,45,0,8,0 53,0,30,0,55,0,14,0,4,0,67,0 23,0,20,0,62,0,41,0,13,0,70,0 9,0,33,0,10,0,48,0,68,0,2,0 28,0,21,0,72,0,1,0,71,0,60,0 19,0,26,0,66,0,32,0,15,0,52,0 74,0,64,0,31,0,25,0,47,0,65,0 29,0,17,0,22,0,38,0,16,0,63,0 76,0,34,0,49,0,14,0,7,0,5,0 59,0,8,0,4,0,51,0,48,0,3,0 42,0,60,0,20,0,40,0,75,0,54,0 18,0,30,0,35,0,26,0,2,0,28,0 21,0,70,0,52,0,12,0,27,0,46,0 69,0,41,0,45,0,53,0,19,0,73,0 32,0,71,0,10,0,67,0,6,0,13,0 43,0,72,0,15,0,37,0,62,0,11,0 68,0,1,0,36,0,50,0,66,0,55,0 23,0,56,0,61,0,24,0,9,0,57,0 58,0,33,0,34,0,44,0,39,0,54,0 ================================================ FILE: schedules/76_8.csv ================================================ 33,0,60,0,50,0,26,0,64,0,76,0 38,0,47,0,10,0,15,0,27,0,73,0 75,0,36,0,46,0,29,0,74,0,25,0 52,0,31,0,40,0,45,0,13,0,57,0 4,0,32,0,12,0,20,0,5,0,18,0 70,0,65,0,68,0,63,0,66,0,55,0 1,0,9,0,30,0,24,0,2,0,62,0 17,0,54,0,22,0,51,0,67,0,53,0 28,0,61,0,59,0,48,0,3,0,39,0 6,0,49,0,8,0,11,0,43,0,72,0 7,0,37,0,19,0,41,0,21,0,44,0 23,0,34,0,69,0,42,0,71,0,56,0 16,0,14,0,65,0,58,0,35,0,73,0 31,0,15,0,66,0,22,0,46,0,12,0 64,0,55,0,28,0,5,0,57,0,24,0 68,0,39,0,30,0,13,0,10,0,75,0 9,0,63,0,27,0,32,0,25,0,33,0 70,0,67,0,76,0,6,0,69,0,29,0 23,0,72,0,54,0,14,0,60,0,4,0 38,0,58,0,52,0,1,0,59,0,21,0 20,0,7,0,51,0,48,0,42,0,43,0 41,0,11,0,17,0,26,0,2,0,16,0 74,0,47,0,53,0,49,0,61,0,40,0 44,0,34,0,62,0,45,0,8,0,3,0 35,0,50,0,56,0,37,0,36,0,18,0 71,0,6,0,22,0,19,0,55,0,60,0 38,1,7,0,75,0,4,1,70,0,9,0 69,1,57,0,11,0,48,1,73,0,25,0 21,0,63,0,13,0,74,0,16,0,72,0 76,0,10,0,59,0,46,0,49,0,44,0 39,0,45,0,42,0,66,0,18,0,67,0 65,0,8,0,36,0,20,0,30,0,33,0 12,0,27,0,43,0,28,0,34,0,2,0 14,0,71,0,3,0,29,0,53,0,50,0 37,0,23,0,40,0,64,0,17,0,1,0 62,0,32,0,31,0,19,0,54,0,47,0 26,0,5,0,52,0,35,0,68,0,61,0 51,0,24,0,58,0,41,0,15,0,56,0 6,0,57,0,38,0,74,0,2,0,66,0 50,0,42,0,16,0,27,0,75,0,22,0 73,0,55,0,21,0,17,0,48,0,12,0 4,0,67,0,25,0,34,0,1,0,31,0 64,0,69,0,45,0,59,0,63,0,54,0 15,0,43,0,35,0,70,0,23,0,30,0 53,0,44,0,32,0,36,0,68,0,11,0 7,0,24,0,33,0,52,0,10,0,3,0 5,0,40,0,46,0,58,0,39,0,71,0 49,0,28,0,19,0,13,0,18,0,14,0 41,0,62,0,20,0,29,0,61,0,60,0 26,0,72,0,47,0,37,0,51,0,65,0 76,0,9,0,53,0,8,0,56,0,57,0 31,0,17,0,27,0,6,0,59,0,30,0 15,0,50,0,21,0,54,0,40,0,11,0 66,0,64,0,7,0,32,0,34,0,73,0 75,0,5,0,1,0,63,0,41,0,3,0 74,0,70,0,42,0,4,0,24,0,37,0 55,0,25,0,18,0,8,0,10,0,26,0 52,0,16,0,39,0,36,0,76,0,47,0 60,0,46,0,45,0,28,0,9,0,51,0 33,0,72,0,35,0,62,0,38,0,71,0 20,0,23,0,19,0,58,0,67,0,68,0 13,0,61,0,69,0,65,0,12,0,44,0 49,0,48,0,2,0,22,0,56,0,29,0 14,0,21,0,66,0,43,0,75,0,26,0 36,0,10,0,34,0,41,0,6,0,54,0 70,0,57,0,46,0,72,0,50,0,1,0 74,0,18,0,15,0,64,0,71,0,52,0 68,0,16,0,8,0,24,0,12,0,60,0 49,0,3,0,32,0,51,0,35,0,69,0 25,0,2,0,5,0,7,0,45,0,23,0 42,0,30,0,55,0,76,0,38,0,61,0 44,0,40,0,67,0,14,0,27,0,48,0 29,0,59,0,43,0,9,0,65,0,19,0 37,0,11,0,62,0,22,0,28,0,58,0 63,0,73,0,20,0,53,0,39,0,31,0 13,0,56,0,4,0,17,0,33,0,47,0 18,0,60,0,57,0,30,0,34,0,21,0 24,0,49,0,71,0,36,0,67,0,26,0 9,0,12,0,55,0,54,0,74,0,35,0 16,0,19,0,3,0,40,0,70,0,25,0 38,0,29,0,44,0,31,0,51,0,5,0 13,0,2,0,37,0,76,0,15,0,32,0 47,0,48,0,63,0,50,0,58,0,8,0 22,0,10,0,1,0,45,0,43,0,61,0 33,0,28,0,53,0,66,0,41,0,23,0 75,0,52,0,17,0,20,0,69,0,72,0 27,0,65,0,56,0,7,0,39,0,11,0 62,0,64,0,6,0,42,0,14,0,46,0 73,0,59,0,2,0,68,0,4,0,50,0 13,0,58,0,43,0,36,0,55,0,3,0 48,0,35,0,76,0,45,0,19,0,24,0 66,0,54,0,71,0,1,0,20,0,16,0 74,0,28,0,26,0,7,0,31,0,69,0 63,0,37,0,12,0,67,0,57,0,10,0 68,0,22,0,34,0,38,0,9,0,40,0 27,0,4,0,51,0,53,0,52,0,62,0 17,0,65,0,60,0,42,0,15,0,49,0 29,0,39,0,8,0,21,0,32,0,23,0 59,0,47,0,11,0,70,0,14,0,5,0 72,0,30,0,56,0,64,0,44,0,25,0 33,0,73,0,61,0,6,0,18,0,75,0 41,0,38,0,69,0,46,0,4,0,48,0 ================================================ FILE: schedules/76_9.csv ================================================ 45,0,49,0,76,0,57,0,75,0,64,0 10,0,74,0,63,0,53,0,48,0,23,0 20,0,36,0,14,0,8,0,7,0,31,0 34,0,35,0,59,0,40,0,5,0,62,0 38,0,54,0,25,0,42,0,52,0,4,0 29,0,69,0,17,0,65,0,15,0,37,0 18,0,50,0,9,0,41,0,30,0,55,0 47,0,39,0,2,0,16,0,61,0,13,0 58,0,6,0,73,0,28,0,33,0,32,0 67,0,3,0,24,0,68,0,71,0,11,0 43,0,60,0,22,0,1,0,51,0,26,0 46,0,70,0,72,0,21,0,19,0,27,0 66,0,44,0,29,0,56,0,12,0,53,0 8,0,16,0,69,0,55,0,40,0,42,0 9,0,5,0,48,0,28,0,20,0,15,0 52,0,24,0,41,0,33,0,35,0,7,0 39,0,11,0,75,0,62,0,25,0,65,0 37,0,23,0,72,0,6,0,59,0,1,0 12,0,74,0,47,0,45,0,68,0,26,0 27,0,32,0,10,0,60,0,44,0,17,0 71,0,50,0,58,0,38,0,22,0,76,0 2,0,3,0,14,0,19,0,73,0,64,0 30,0,31,0,66,0,43,0,63,0,34,0 4,0,61,0,70,0,57,0,46,0,36,0 13,0,56,0,51,0,54,0,21,0,49,0 67,0,42,0,32,0,18,0,20,0,59,0 5,0,15,0,38,0,75,0,55,0,33,0 25,0,53,0,40,0,14,0,71,0,9,0 12,0,41,0,28,0,11,0,1,0,60,0 73,0,65,0,45,0,63,0,36,0,44,0 68,0,64,0,48,0,51,0,4,0,58,0 29,0,8,0,21,0,24,0,6,0,39,0 13,0,7,0,30,0,69,0,72,0,56,0 19,0,54,0,17,0,61,0,74,0,43,0 50,0,34,0,37,0,16,0,27,0,49,0 10,0,35,0,22,0,76,0,70,0,66,0 62,0,2,0,23,0,46,0,26,0,18,0 67,0,57,0,31,0,52,0,3,0,47,0 11,0,55,0,72,0,42,0,29,0,58,0 51,0,75,0,30,0,6,0,41,0,71,0 19,0,68,0,8,0,50,0,5,0,44,0 40,0,20,0,43,0,64,0,27,0,13,0 1,0,35,0,4,0,73,0,18,0,74,0 61,0,32,0,62,0,3,0,63,0,49,0 56,0,76,0,24,0,36,0,47,0,60,0 54,0,45,0,59,0,53,0,39,0,46,0 33,0,48,0,57,0,14,0,69,0,66,0 31,0,26,0,70,0,28,0,38,0,65,0 2,0,21,0,37,0,22,0,9,0,67,0 7,0,16,0,23,0,17,0,25,0,12,0 52,0,15,0,19,0,34,0,10,0,58,0 42,0,53,0,60,0,36,0,68,0,35,0 5,0,51,0,24,0,61,0,18,0,27,0 28,0,55,0,66,0,75,0,47,0,54,0 1,0,63,0,14,0,56,0,70,0,29,0 25,0,76,0,30,0,48,0,37,0,32,0 39,0,41,0,3,0,23,0,38,0,20,0 40,0,44,0,49,0,15,0,46,0,67,0 64,0,22,0,31,0,62,0,6,0,69,0 21,0,71,0,26,0,4,0,59,0,16,0 33,0,65,0,13,0,12,0,10,0,8,0 45,0,7,0,11,0,50,0,43,0,2,0 72,0,34,0,9,0,74,0,17,0,57,0 52,0,68,0,56,0,73,0,23,0,40,0 42,0,64,0,5,0,32,0,47,0,70,0 14,0,75,0,44,0,4,0,37,0,24,0 49,0,60,0,71,0,31,0,19,0,55,0 36,0,50,0,1,0,21,0,15,0,62,0 46,0,6,0,17,0,12,0,48,0,3,0 76,0,33,0,2,0,74,0,59,0,28,0 16,0,73,0,38,0,66,0,43,0,72,0 29,0,51,0,20,0,45,0,25,0,35,0 58,0,63,0,27,0,9,0,69,0,39,0 57,0,11,0,18,0,10,0,54,0,13,0 65,0,41,0,7,0,34,0,53,0,22,0 26,0,52,0,67,0,8,0,30,0,61,0 66,0,42,0,59,0,17,0,24,0,50,0 38,0,71,0,32,0,36,0,29,0,2,0 9,0,62,0,3,0,33,0,43,0,4,0 25,0,18,0,28,0,44,0,21,0,64,0 73,0,55,0,57,0,39,0,51,0,7,0 48,0,47,0,8,0,75,0,1,0,34,0 41,0,61,0,68,0,37,0,31,0,10,0 74,0,56,0,16,0,46,0,58,0,20,0 53,0,69,0,49,0,11,0,26,0,5,0 15,0,63,0,72,0,12,0,54,0,76,0 65,0,35,0,14,0,6,0,27,0,67,0 23,0,70,0,60,0,30,0,40,0,45,0 22,0,19,0,75,0,52,0,13,0,36,0 10,0,39,0,43,0,42,0,56,0,71,0 31,0,1,0,46,0,9,0,24,0,32,0 11,0,37,0,63,0,51,0,38,0,8,0 73,0,61,0,12,0,21,0,69,0,20,0 26,0,7,0,58,0,3,0,35,0,54,0 34,0,4,0,13,0,23,0,29,0,76,0 18,0,40,0,47,0,17,0,33,0,49,0 50,0,64,0,60,0,48,0,65,0,72,0 68,0,16,0,15,0,14,0,22,0,45,0 53,0,62,0,27,0,28,0,57,0,30,0 6,0,55,0,44,0,52,0,2,0,70,0 25,0,67,0,5,0,41,0,66,0,74,0 59,0,38,0,29,0,19,0,47,0,7,0 75,0,26,0,20,0,50,0,10,0,40,0 37,0,46,0,35,0,71,0,63,0,13,0 57,0,43,0,21,0,32,0,68,0,65,0 62,0,24,0,54,0,48,0,70,0,73,0 74,0,34,0,69,0,51,0,44,0,3,0 52,0,28,0,22,0,39,0,72,0,49,0 27,0,1,0,33,0,42,0,45,0,31,0 36,0,12,0,30,0,58,0,5,0,14,0 18,0,53,0,6,0,19,0,16,0,76,0 64,0,9,0,61,0,11,0,66,0,23,0 55,0,17,0,4,0,56,0,67,0,41,0 60,0,15,0,8,0,59,0,2,0,25,0 ================================================ FILE: schedules/77_1.csv ================================================ 44,0,57,0,11,0,22,0,23,0,72,0 20,0,75,0,1,0,40,0,62,0,76,0 64,0,51,0,17,0,73,0,3,0,70,0 41,0,46,0,47,0,42,0,19,0,31,0 69,0,8,0,14,0,29,0,32,0,26,0 53,0,15,0,4,0,59,0,39,0,66,0 16,0,56,0,25,0,68,0,2,0,9,0 49,0,58,0,55,0,28,0,54,0,50,0 5,0,74,0,63,0,48,0,43,0,6,0 61,0,18,0,21,0,12,0,67,0,38,0 52,0,33,0,60,0,24,0,13,0,37,0 34,0,35,0,30,0,36,0,10,0,65,0 27,0,77,0,45,0,71,0,7,0,11,1 ================================================ FILE: schedules/77_10.csv ================================================ 76,0,43,0,7,0,4,0,77,0,18,0 65,0,1,0,45,0,60,0,48,0,35,0 23,0,9,0,29,0,24,0,73,0,36,0 32,0,25,0,50,0,56,0,52,0,49,0 71,0,63,0,11,0,40,0,19,0,61,0 64,0,37,0,30,0,10,0,31,0,67,0 6,0,72,0,54,0,47,0,20,0,13,0 44,0,41,0,5,0,17,0,14,0,59,0 74,0,68,0,34,0,21,0,3,0,8,0 66,0,69,0,2,0,51,0,57,0,15,0 26,0,39,0,16,0,58,0,75,0,28,0 55,0,46,0,12,0,62,0,27,0,33,0 22,0,53,0,70,0,38,0,42,0,6,0 60,0,18,0,71,0,25,0,52,0,64,0 11,0,76,0,10,0,54,0,50,0,41,0 2,0,77,0,36,0,74,0,45,0,37,0 47,0,26,0,43,0,19,0,48,0,15,0 29,0,57,0,35,0,23,0,72,0,62,0 20,0,32,0,55,0,59,0,58,0,9,0 27,0,69,0,44,0,21,0,42,0,28,0 5,0,34,0,67,0,70,0,12,0,1,0 51,0,13,0,22,0,63,0,73,0,30,0 31,0,3,0,49,0,53,0,65,0,40,0 7,0,39,0,17,0,56,0,66,0,16,0 46,0,4,0,8,0,75,0,61,0,24,0 38,0,68,0,77,0,33,0,14,0,11,0 72,1,37,0,50,0,60,1,44,0,54,0 10,1,27,0,1,0,2,1,22,0,71,0 52,0,36,0,12,0,26,0,3,0,69,0 41,0,9,0,45,0,25,0,7,0,40,0 64,0,35,0,17,0,21,0,51,0,43,0 68,0,48,0,18,0,38,0,24,0,49,0 53,0,15,0,55,0,75,0,73,0,34,0 74,0,65,0,23,0,67,0,76,0,14,0 33,0,47,0,59,0,29,0,30,0,4,0 57,0,70,0,13,0,8,0,56,0,58,0 31,0,20,0,63,0,62,0,39,0,66,0 46,0,19,0,28,0,5,0,6,0,32,0 61,0,42,0,12,0,16,0,48,0,37,0 53,0,67,0,51,0,50,0,68,0,7,0 59,0,22,0,34,0,11,0,65,0,18,0 15,0,45,0,58,0,38,0,21,0,29,0 10,0,23,0,49,0,70,0,33,0,63,0 24,0,60,0,14,0,39,0,69,0,32,0 26,0,4,0,72,0,27,0,66,0,25,0 46,0,77,0,3,0,41,0,35,0,42,0 74,0,52,0,30,0,55,0,43,0,6,0 5,0,76,0,71,0,36,0,56,0,20,0 47,0,75,0,62,0,17,0,2,0,40,0 61,0,8,0,28,0,54,0,73,0,31,0 19,0,1,0,9,0,44,0,64,0,57,0 16,0,14,0,50,0,13,0,21,0,18,0 55,0,37,0,39,0,25,0,29,0,70,0 26,0,7,0,74,0,46,0,65,0,59,0 17,0,60,0,34,0,58,0,67,0,36,0 32,0,66,0,40,0,22,0,48,0,61,0 6,0,4,0,56,0,3,0,64,0,62,0 71,0,28,0,15,0,12,0,68,0,41,0 43,0,75,0,63,0,31,0,1,0,76,0 20,0,19,0,38,0,2,0,23,0,30,0 11,0,51,0,42,0,9,0,49,0,47,0 16,0,27,0,73,0,54,0,35,0,52,0 33,0,8,0,53,0,69,0,72,0,5,0 13,0,45,0,77,0,44,0,24,0,10,0 57,0,14,0,62,0,37,0,7,0,71,0 50,0,40,0,64,0,26,0,46,0,2,0 36,0,17,0,4,0,55,0,19,0,31,0 23,0,56,0,60,0,28,0,47,0,27,0 32,0,76,0,51,0,16,0,70,0,38,0 39,0,9,0,52,0,33,0,34,0,13,0 25,0,8,0,59,0,77,0,12,0,63,0 10,0,58,0,22,0,3,0,35,0,15,0 24,0,57,0,21,0,54,0,65,0,5,0 74,0,29,0,48,0,11,0,20,0,53,0 73,0,72,0,42,0,67,0,43,0,45,0 69,0,61,0,41,0,6,0,1,0,49,0 30,0,75,0,18,0,66,0,44,0,68,0 40,0,38,0,35,0,4,0,37,0,34,0 54,0,51,0,56,0,55,0,77,0,22,0 5,0,63,0,29,0,50,0,27,0,3,0 25,0,28,0,62,0,10,0,36,0,43,0 14,0,19,0,7,0,58,0,73,0,49,0 24,0,2,0,67,0,53,0,16,0,41,0 65,0,9,0,12,0,72,0,30,0,17,0 52,0,13,0,68,0,59,0,61,0,76,0 44,0,31,0,70,0,15,0,74,0,60,0 18,0,26,0,32,0,33,0,42,0,57,0 47,0,8,0,6,0,71,0,45,0,66,0 1,0,46,0,21,0,39,0,11,0,23,0 69,0,75,0,64,0,20,0,48,0,7,0 24,0,30,0,27,0,76,0,62,0,34,0 43,0,14,0,53,0,10,0,9,0,61,0 38,0,73,0,44,0,56,0,26,0,63,0 65,0,19,0,52,0,8,0,37,0,51,0 12,0,4,0,54,0,39,0,2,0,42,0 40,0,1,0,74,0,72,0,18,0,28,0 6,0,58,0,77,0,23,0,50,0,48,0 45,0,70,0,3,0,59,0,71,0,69,0 13,0,64,0,15,0,32,0,11,0,17,0 21,0,67,0,66,0,49,0,29,0,55,0 25,0,31,0,35,0,68,0,5,0,47,0 75,0,41,0,33,0,36,0,60,0,22,0 57,0,20,0,34,0,46,0,16,0,10,0 23,0,71,0,44,0,7,0,53,0,4,0 30,0,56,0,1,0,54,0,26,0,14,0 66,0,65,0,73,0,70,0,64,0,77,0 21,0,2,0,48,0,28,0,63,0,9,0 33,0,35,0,19,0,50,0,24,0,31,0 67,0,3,0,55,0,18,0,38,0,47,0 39,0,49,0,15,0,36,0,59,0,72,0 62,0,61,0,58,0,5,0,74,0,51,0 46,0,76,0,22,0,17,0,25,0,69,0 27,0,37,0,41,0,13,0,32,0,43,0 57,0,52,0,75,0,12,0,45,0,11,0 60,0,16,0,29,0,6,0,40,0,68,0 20,0,42,0,50,0,8,0,14,0,15,0 48,0,56,0,34,0,72,0,31,0,51,0 3,0,25,0,33,0,2,0,44,0,61,0 10,0,69,0,73,0,4,0,32,0,74,0 63,0,47,0,58,0,41,0,46,0,52,0 21,0,12,0,76,0,19,0,53,0,60,0 27,0,40,0,67,0,39,0,57,0,77,0 36,0,11,0,28,0,70,0,30,0,35,0 49,0,64,0,16,0,22,0,5,0,45,0 71,0,42,0,13,0,29,0,75,0,65,0 17,0,24,0,68,0,1,0,20,0,37,0 62,0,6,0,18,0,26,0,9,0,8,0 59,0,54,0,43,0,66,0,38,0,23,0 7,0,72,0,2,0,55,0,60,0,10,0 ================================================ FILE: schedules/77_11.csv ================================================ 67,0,50,0,24,0,8,0,14,0,42,0 71,0,9,0,5,0,72,0,12,0,30,0 13,0,56,0,35,0,68,0,58,0,59,0 4,0,19,0,53,0,48,0,16,0,31,0 1,0,73,0,61,0,47,0,49,0,52,0 34,0,27,0,32,0,65,0,63,0,54,0 23,0,6,0,38,0,57,0,51,0,44,0 20,0,25,0,22,0,7,0,21,0,43,0 33,0,36,0,60,0,64,0,15,0,66,0 18,0,28,0,26,0,29,0,74,0,2,0 37,0,76,0,62,0,55,0,11,0,17,0 3,0,46,0,70,0,39,0,69,0,40,0 75,0,77,0,54,0,41,0,45,0,10,0 67,0,6,0,43,0,31,0,65,0,12,0 44,0,52,0,63,0,13,0,59,0,5,0 34,0,49,0,66,0,25,0,68,0,24,0 33,0,32,0,64,0,55,0,50,0,18,0 16,0,36,0,11,0,30,0,56,0,2,0 39,0,27,0,20,0,23,0,53,0,73,0 69,0,14,0,37,0,45,0,9,0,19,0 46,0,8,0,1,0,76,0,74,0,41,0 42,0,58,0,77,0,61,0,51,0,29,0 40,0,62,0,7,0,26,0,47,0,71,0 28,0,17,0,22,0,60,0,57,0,35,0 70,0,10,0,21,0,48,0,15,0,38,0 3,0,4,0,18,0,75,0,72,0,67,0 13,1,73,0,9,0,25,1,8,0,36,0 64,1,29,0,30,0,31,1,59,0,14,0 65,1,39,0,55,0,74,0,24,0,51,0 50,0,54,0,71,0,49,0,1,0,22,0 17,0,53,0,63,0,70,0,41,0,58,0 2,0,60,0,52,0,10,0,48,0,43,0 20,0,4,0,62,0,28,0,5,0,35,0 38,0,33,0,27,0,46,0,37,0,42,0 44,0,61,0,34,0,76,0,15,0,45,0 47,0,69,0,72,0,21,0,68,0,16,0 23,0,40,0,11,0,7,0,77,0,6,0 57,0,66,0,26,0,3,0,56,0,32,0 75,0,19,0,36,0,12,0,55,0,52,0 59,0,4,0,64,0,17,0,54,0,43,0 67,0,5,0,61,0,27,0,22,0,10,0 44,0,25,0,58,0,46,0,18,0,39,0 51,0,15,0,68,0,7,0,9,0,37,0 31,0,29,0,33,0,34,0,71,0,73,0 77,0,24,0,57,0,70,0,53,0,62,0 47,0,13,0,3,0,11,0,20,0,60,0 65,0,56,0,49,0,38,0,2,0,14,0 45,0,23,0,48,0,50,0,30,0,74,0 35,0,72,0,16,0,32,0,40,0,8,0 42,0,12,0,28,0,1,0,69,0,26,0 76,0,66,0,63,0,75,0,21,0,6,0 41,0,20,0,18,0,19,0,61,0,71,0 9,0,36,0,47,0,58,0,38,0,49,0 55,0,14,0,77,0,3,0,2,0,31,0 62,0,29,0,43,0,16,0,15,0,33,0 12,0,34,0,64,0,37,0,8,0,53,0 73,0,59,0,60,0,4,0,46,0,6,0 51,0,72,0,70,0,50,0,27,0,76,0 68,0,11,0,52,0,41,0,57,0,65,0 48,0,21,0,13,0,39,0,75,0,5,0 40,0,42,0,22,0,66,0,44,0,30,0 69,0,54,0,74,0,67,0,56,0,17,0 45,0,35,0,63,0,24,0,7,0,1,0 19,0,10,0,25,0,23,0,28,0,32,0 59,0,50,0,16,0,26,0,20,0,34,0 72,0,38,0,46,0,31,0,61,0,62,0 47,0,30,0,57,0,76,0,64,0,39,0 48,0,75,0,22,0,11,0,42,0,65,0 27,0,41,0,6,0,29,0,36,0,21,0 32,0,43,0,13,0,69,0,77,0,49,0 26,0,53,0,60,0,35,0,67,0,9,0 14,0,33,0,45,0,70,0,68,0,5,0 58,0,40,0,15,0,25,0,55,0,1,0 56,0,54,0,24,0,52,0,18,0,23,0 37,0,28,0,71,0,73,0,63,0,3,0 74,0,4,0,12,0,7,0,44,0,10,0 2,0,66,0,8,0,19,0,17,0,51,0 49,0,62,0,41,0,48,0,67,0,76,0 42,0,45,0,57,0,20,0,21,0,55,0 69,0,25,0,61,0,35,0,6,0,33,0 40,0,68,0,73,0,75,0,50,0,43,0 60,0,74,0,18,0,63,0,77,0,36,0 37,0,58,0,26,0,30,0,65,0,4,0 39,0,38,0,7,0,34,0,19,0,59,0 5,0,46,0,51,0,53,0,47,0,54,0 22,0,64,0,3,0,10,0,16,0,29,0 27,0,15,0,8,0,28,0,52,0,56,0 24,0,2,0,17,0,44,0,13,0,71,0 32,0,11,0,31,0,70,0,1,0,9,0 12,0,14,0,66,0,72,0,23,0,20,0 19,0,73,0,67,0,57,0,58,0,76,0 16,0,6,0,39,0,42,0,68,0,54,0 65,0,62,0,5,0,60,0,50,0,69,0 45,0,22,0,47,0,8,0,18,0,63,0 51,0,49,0,31,0,33,0,10,0,40,0 21,0,52,0,17,0,34,0,46,0,77,0 32,0,48,0,12,0,3,0,24,0,61,0 56,0,44,0,72,0,43,0,25,0,37,0 53,0,14,0,11,0,74,0,15,0,71,0 1,0,29,0,66,0,13,0,4,0,38,0 55,0,28,0,9,0,59,0,41,0,23,0 35,0,2,0,75,0,70,0,30,0,27,0 26,0,7,0,48,0,64,0,36,0,46,0 51,0,25,0,12,0,63,0,62,0,16,0 49,0,5,0,18,0,37,0,31,0,57,0 10,0,50,0,8,0,11,0,39,0,66,0 77,0,76,0,4,0,33,0,22,0,9,0 30,0,3,0,17,0,27,0,68,0,1,0 67,0,21,0,53,0,2,0,32,0,59,0 7,0,65,0,61,0,55,0,73,0,54,0 70,0,56,0,42,0,41,0,60,0,34,0 52,0,20,0,38,0,74,0,40,0,64,0 71,0,45,0,43,0,58,0,28,0,36,0 26,0,19,0,72,0,15,0,13,0,6,0 23,0,69,0,24,0,75,0,47,0,29,0 44,0,14,0,21,0,35,0,11,0,73,0 57,0,50,0,63,0,61,0,4,0,2,0 30,0,31,0,8,0,60,0,25,0,54,0 58,0,52,0,16,0,33,0,7,0,66,0 55,0,37,0,13,0,67,0,70,0,22,0 59,0,27,0,51,0,69,0,48,0,71,0 5,0,41,0,43,0,26,0,24,0,38,0 28,0,65,0,1,0,77,0,72,0,53,0 39,0,56,0,29,0,45,0,12,0,40,0 18,0,6,0,10,0,9,0,14,0,17,0 76,0,23,0,35,0,42,0,36,0,3,0 75,0,20,0,15,0,49,0,46,0,32,0 68,0,74,0,44,0,62,0,19,0,64,0 34,0,43,0,55,0,47,0,27,0,66,0 25,0,70,0,71,0,4,0,67,0,52,0 1,0,16,0,37,0,39,0,61,0,60,0 30,0,69,0,38,0,7,0,53,0,18,0 17,0,33,0,8,0,21,0,26,0,65,0 64,0,42,0,49,0,63,0,11,0,19,0 54,0,40,0,76,0,14,0,13,0,28,0 47,0,15,0,31,0,41,0,50,0,35,0 29,0,9,0,77,0,20,0,48,0,44,0 2,0,46,0,68,0,12,0,23,0,22,0 24,0,36,0,59,0,10,0,72,0,57,0 73,0,32,0,75,0,51,0,62,0,56,0 74,0,6,0,5,0,34,0,58,0,3,0 13,0,64,0,65,0,45,0,25,0,31,0 ================================================ FILE: schedules/77_12.csv ================================================ 24,0,49,0,65,0,14,0,37,0,39,0 55,0,31,0,66,0,56,0,61,0,21,0 72,0,50,0,38,0,4,0,33,0,45,0 76,0,7,0,35,0,22,0,12,0,19,0 73,0,36,0,11,0,48,0,43,0,18,0 6,0,77,0,60,0,32,0,59,0,40,0 17,0,67,0,16,0,34,0,62,0,68,0 64,0,27,0,1,0,30,0,42,0,41,0 54,0,46,0,25,0,75,0,47,0,74,0 23,0,10,0,5,0,20,0,8,0,3,0 2,0,51,0,53,0,44,0,15,0,28,0 26,0,52,0,71,0,63,0,70,0,57,0 29,0,58,0,9,0,69,0,13,0,6,0 50,0,30,0,12,0,36,0,59,0,38,0 11,0,4,0,66,0,34,0,42,0,76,0 61,0,39,0,62,0,45,0,64,0,25,0 55,0,43,0,2,0,72,0,35,0,14,0 52,0,56,0,16,0,22,0,32,0,77,0 13,0,58,0,75,0,51,0,73,0,20,0 8,0,19,0,26,0,37,0,74,0,40,0 3,0,1,0,69,0,15,0,17,0,48,0 23,0,29,0,33,0,18,0,46,0,70,0 44,0,67,0,9,0,24,0,63,0,10,0 68,0,54,0,28,0,7,0,5,0,21,0 71,0,60,0,41,0,49,0,53,0,31,0 27,0,57,0,35,0,47,0,65,0,40,0 48,0,37,0,34,0,50,0,13,0,64,0 14,0,8,0,61,0,11,0,69,0,52,0 45,0,22,0,74,0,1,0,43,0,15,0 42,0,24,0,59,0,29,0,19,0,51,0 10,0,21,0,39,0,23,0,72,0,58,0 47,0,12,0,20,0,68,0,56,0,9,0 76,0,49,0,3,0,25,0,27,0,55,0 6,0,28,0,70,0,62,0,18,0,31,0 16,0,4,0,30,0,71,0,75,0,44,0 63,0,32,0,65,0,73,0,53,0,54,0 46,0,7,0,66,0,38,0,67,0,57,0 60,0,2,0,26,0,33,0,41,0,17,0 5,0,29,0,14,0,77,0,36,0,45,0 68,0,64,0,49,0,58,0,76,0,70,0 39,0,15,0,20,0,21,0,71,0,27,0 31,0,32,0,44,0,3,0,34,0,74,0 50,0,1,0,11,0,51,0,54,0,35,0 37,0,17,0,63,0,59,0,25,0,66,0 9,0,18,0,4,0,55,0,57,0,77,0 19,0,69,0,43,0,13,0,5,0,16,0 75,0,67,0,23,0,2,0,40,0,12,0 10,0,73,0,30,0,46,0,61,0,28,0 56,0,33,0,36,0,62,0,41,0,8,0 48,0,65,0,42,0,38,0,22,0,60,0 47,0,53,0,7,0,72,0,24,0,52,0 6,0,25,0,4,0,26,0,20,0,14,0 23,0,40,0,31,0,45,0,76,0,9,0 59,0,57,0,21,0,73,0,1,0,2,0 75,0,77,0,18,0,34,0,8,0,49,0 13,0,41,0,36,0,61,0,65,0,16,0 52,0,60,0,66,0,28,0,74,0,35,0 48,0,5,0,62,0,32,0,7,0,24,0 17,0,10,0,19,0,64,0,12,0,54,0 27,0,38,0,37,0,69,0,70,0,67,0 50,0,3,0,44,0,29,0,47,0,39,0 63,0,72,0,15,0,11,0,56,0,46,0 42,0,53,0,43,0,33,0,55,0,58,0 6,0,26,0,22,0,68,0,51,0,30,0 62,0,74,0,59,0,71,0,9,0,65,0 73,0,14,0,64,0,20,0,67,0,31,0 36,0,7,0,2,0,39,0,4,0,69,0 46,0,5,0,12,0,52,0,48,0,13,0 54,0,72,0,34,0,70,0,29,0,60,0 6,0,53,0,8,0,50,0,17,0,76,0 55,0,21,0,15,0,30,0,33,0,19,0 1,0,75,0,26,0,66,0,10,0,32,0 57,0,44,0,24,0,11,0,41,0,23,0 68,0,58,0,22,0,18,0,63,0,40,0 51,0,38,0,3,0,37,0,43,0,56,0 71,0,77,0,42,0,61,0,25,0,47,0 45,0,35,0,16,0,28,0,27,0,49,0 14,0,70,0,9,0,30,0,60,0,75,0 36,0,29,0,74,0,11,0,53,0,17,0 34,0,58,0,59,0,24,0,26,0,15,0 55,0,54,0,56,0,39,0,52,0,73,0 77,0,2,0,33,0,65,0,22,0,64,0 46,0,21,0,76,0,37,0,62,0,44,0 40,0,51,0,66,0,5,0,3,0,41,0 61,0,48,0,72,0,57,0,6,0,20,0 43,0,4,0,47,0,8,0,28,0,12,0 42,0,27,0,63,0,7,0,23,0,49,0 71,0,68,0,69,0,45,0,32,0,19,0 67,0,1,0,25,0,50,0,16,0,18,0 13,0,10,0,31,0,35,0,38,0,53,0 64,0,52,0,40,0,72,0,36,0,44,0 24,0,34,0,46,0,43,0,20,0,65,0 58,0,30,0,7,0,11,0,77,0,3,0 9,0,12,0,6,0,66,0,49,0,33,0 41,0,69,0,18,0,76,0,59,0,54,0 39,0,1,0,63,0,38,0,47,0,31,0 21,0,32,0,8,0,29,0,42,0,67,0 4,0,51,0,74,0,73,0,70,0,16,0 19,0,48,0,60,0,23,0,25,0,56,0 62,0,75,0,35,0,68,0,15,0,61,0 26,0,17,0,28,0,55,0,71,0,13,0 50,0,57,0,14,0,5,0,27,0,22,0 37,0,45,0,47,0,10,0,2,0,18,0 42,0,21,0,3,0,69,0,36,0,63,0 52,0,34,0,41,0,25,0,9,0,38,0 51,0,16,0,8,0,46,0,39,0,60,0 70,0,20,0,77,0,53,0,1,0,19,0 6,0,11,0,75,0,5,0,55,0,64,0 76,0,48,0,33,0,10,0,35,0,29,0 59,0,23,0,13,0,68,0,14,0,66,0 24,0,30,0,2,0,50,0,31,0,74,0 22,0,17,0,54,0,37,0,4,0,61,0 49,0,15,0,57,0,32,0,28,0,43,0 72,0,73,0,26,0,12,0,62,0,27,0 44,0,56,0,65,0,67,0,7,0,45,0 58,0,40,0,38,0,71,0,16,0,14,0 77,0,74,0,68,0,55,0,41,0,10,0 4,0,3,0,64,0,53,0,46,0,9,0 34,0,51,0,61,0,63,0,19,0,2,0 18,0,32,0,39,0,17,0,30,0,35,0 23,0,15,0,73,0,6,0,37,0,7,0 43,0,40,0,29,0,52,0,1,0,62,0 58,0,27,0,8,0,66,0,48,0,44,0 72,0,31,0,42,0,59,0,65,0,5,0 47,0,54,0,49,0,36,0,26,0,67,0 12,0,70,0,25,0,22,0,21,0,11,0 28,0,60,0,69,0,20,0,50,0,75,0 56,0,57,0,45,0,13,0,76,0,24,0 71,0,1,0,7,0,33,0,34,0,14,0 17,0,46,0,43,0,27,0,77,0,31,0 18,0,52,0,65,0,3,0,19,0,6,0 38,0,49,0,61,0,44,0,68,0,29,0 64,0,51,0,62,0,69,0,54,0,23,0 21,0,45,0,75,0,48,0,53,0,26,0 36,0,66,0,22,0,24,0,73,0,71,0 55,0,37,0,12,0,57,0,60,0,16,0 67,0,33,0,28,0,59,0,39,0,11,0 13,0,9,0,8,0,2,0,15,0,25,0 20,0,76,0,5,0,30,0,74,0,63,0 35,0,32,0,47,0,58,0,4,0,41,0 56,0,70,0,10,0,50,0,40,0,42,0 72,0,57,0,19,0,75,0,17,0,49,0 33,0,68,0,11,0,52,0,31,0,37,0 55,0,59,0,45,0,64,0,7,0,8,0 2,0,20,0,16,0,29,0,66,0,54,0 36,0,65,0,25,0,28,0,58,0,1,0 53,0,30,0,69,0,40,0,34,0,56,0 62,0,22,0,70,0,13,0,3,0,47,0 61,0,32,0,50,0,43,0,23,0,9,0 73,0,44,0,46,0,42,0,26,0,35,0 63,0,41,0,14,0,12,0,48,0,39,0 71,0,76,0,67,0,51,0,72,0,77,0 74,0,24,0,38,0,6,0,18,0,21,0 10,0,15,0,27,0,4,0,5,0,60,0 ================================================ FILE: schedules/77_13.csv ================================================ 16,0,56,0,68,0,45,0,43,0,22,0 64,0,70,0,17,0,3,0,61,0,1,0 27,0,9,0,42,0,2,0,20,0,63,0 28,0,65,0,53,0,6,0,18,0,49,0 69,0,50,0,48,0,19,0,33,0,71,0 30,0,77,0,38,0,51,0,62,0,29,0 32,0,11,0,47,0,10,0,25,0,73,0 57,0,41,0,58,0,31,0,44,0,35,0 59,0,21,0,24,0,5,0,67,0,66,0 55,0,36,0,14,0,15,0,60,0,52,0 54,0,75,0,13,0,4,0,39,0,76,0 12,0,37,0,23,0,8,0,7,0,74,0 72,0,40,0,46,0,26,0,34,0,45,0 73,0,65,0,31,0,38,0,69,0,56,0 2,0,62,0,32,0,35,0,63,0,67,0 28,0,47,0,48,0,51,0,24,0,57,0 10,0,60,0,71,0,5,0,16,0,13,0 21,0,1,0,4,0,9,0,74,0,58,0 46,0,43,0,77,0,18,0,23,0,52,0 30,0,66,0,7,0,76,0,54,0,25,0 42,0,55,0,12,0,72,0,61,0,75,0 17,0,44,0,20,0,8,0,29,0,14,0 19,0,15,0,34,0,64,0,53,0,11,0 33,0,39,0,3,0,36,0,22,0,40,0 49,0,26,0,37,0,70,0,27,0,50,0 41,0,68,0,4,0,6,0,59,0,46,0 69,1,58,0,67,0,75,0,7,0,77,0 32,0,56,0,54,0,5,0,8,0,18,0 62,0,48,0,42,0,29,0,45,0,64,0 52,0,11,0,76,0,40,0,21,0,16,0 38,0,70,0,33,0,63,0,60,0,14,0 1,0,19,0,28,0,26,0,23,0,30,0 57,0,31,0,49,0,3,0,12,0,2,0 6,0,55,0,9,0,10,0,24,0,50,0 51,0,72,0,68,0,17,0,53,0,41,0 71,0,20,0,37,0,61,0,34,0,65,0 59,0,44,0,36,0,22,0,13,0,47,0 35,0,15,0,43,0,66,0,73,0,39,0 74,0,19,0,45,0,27,0,25,0,5,0 8,0,67,0,10,0,70,0,76,0,57,0 69,0,55,0,68,0,51,0,21,0,23,0 16,0,46,0,75,0,9,0,37,0,28,0 63,0,44,0,61,0,7,0,1,0,31,0 60,0,56,0,26,0,41,0,52,0,39,0 53,0,48,0,33,0,12,0,20,0,59,0 43,0,25,0,36,0,42,0,6,0,64,0 18,0,71,0,47,0,11,0,4,0,66,0 30,0,74,0,40,0,50,0,73,0,2,0 15,0,58,0,65,0,29,0,3,0,32,0 22,0,62,0,24,0,54,0,14,0,72,0 38,0,35,0,49,0,77,0,13,0,34,0 27,0,33,0,10,0,17,0,46,0,7,0 5,0,36,0,4,0,28,0,63,0,66,0 18,0,73,0,20,0,23,0,64,0,41,0 44,0,11,0,8,0,68,0,50,0,74,0 31,0,19,0,61,0,60,0,32,0,6,0 15,0,22,0,72,0,57,0,2,0,25,0 77,0,3,0,58,0,48,0,14,0,13,0 9,0,43,0,12,0,30,0,70,0,62,0 42,0,52,0,51,0,54,0,49,0,1,0 55,0,67,0,38,0,37,0,39,0,47,0 29,0,16,0,71,0,21,0,53,0,27,0 75,0,59,0,56,0,24,0,35,0,40,0 69,0,45,0,65,0,76,0,26,0,17,0 34,0,62,0,25,0,10,0,3,0,28,0 9,0,33,0,13,0,68,0,8,0,73,0 58,0,6,0,72,0,20,0,23,0,11,0 54,0,41,0,50,0,15,0,61,0,29,0 5,0,53,0,31,0,77,0,55,0,22,0 70,0,75,0,35,0,52,0,65,0,30,0 39,0,57,0,18,0,21,0,74,0,63,0 36,0,1,0,37,0,48,0,45,0,49,0 12,0,27,0,76,0,38,0,24,0,43,0 26,0,44,0,64,0,67,0,16,0,4,0 14,0,32,0,17,0,40,0,71,0,59,0 66,0,2,0,60,0,46,0,34,0,69,0 7,0,51,0,47,0,56,0,42,0,19,0 74,0,70,0,48,0,55,0,41,0,31,0 30,0,13,0,24,0,37,0,63,0,11,0 4,0,77,0,20,0,15,0,10,0,16,0 76,0,35,0,5,0,29,0,9,0,36,0 61,0,2,0,59,0,38,0,18,0,45,0 71,0,3,0,6,0,7,0,39,0,54,0 21,0,57,0,46,0,14,0,42,0,50,0 34,0,52,0,28,0,32,0,68,0,12,0 73,0,17,0,56,0,67,0,19,0,62,0 26,0,25,0,40,0,58,0,60,0,51,0 22,0,69,0,66,0,49,0,64,0,8,0 1,0,47,0,27,0,72,0,65,0,33,0 43,0,23,0,70,0,44,0,53,0,75,0 9,0,71,0,7,0,15,0,74,0,59,0 30,0,67,0,46,0,20,0,36,0,31,0 55,0,2,0,13,0,54,0,19,0,16,0 42,0,24,0,68,0,3,0,18,0,26,0 10,0,64,0,65,0,58,0,12,0,39,0 21,0,25,0,45,0,32,0,41,0,77,0 76,0,23,0,50,0,63,0,56,0,22,0 34,0,51,0,75,0,73,0,27,0,14,0 29,0,57,0,69,0,52,0,37,0,4,0 61,0,49,0,62,0,47,0,44,0,5,0 43,0,8,0,53,0,1,0,40,0,60,0 38,0,72,0,17,0,6,0,66,0,48,0 28,0,11,0,31,0,33,0,35,0,42,0 65,0,23,0,3,0,67,0,59,0,9,0 19,0,26,0,73,0,71,0,57,0,77,0 58,0,45,0,5,0,47,0,30,0,50,0 61,0,14,0,25,0,69,0,53,0,4,0 41,0,63,0,7,0,49,0,34,0,43,0 6,0,39,0,40,0,27,0,62,0,16,0 2,0,64,0,1,0,76,0,55,0,24,0 28,0,46,0,29,0,11,0,56,0,70,0 8,0,21,0,72,0,36,0,75,0,10,0 37,0,60,0,54,0,68,0,17,0,35,0 74,0,32,0,20,0,51,0,22,0,38,0 52,0,48,0,44,0,18,0,33,0,66,0 13,0,12,0,40,0,15,0,41,0,1,0 28,0,67,0,43,0,61,0,71,0,50,0 65,0,2,0,7,0,11,0,21,0,36,0 58,0,23,0,16,0,54,0,62,0,57,0 39,0,20,0,29,0,68,0,49,0,25,0 8,0,38,0,63,0,46,0,3,0,19,0 60,0,77,0,76,0,72,0,9,0,47,0 12,0,14,0,22,0,35,0,6,0,26,0 34,0,56,0,44,0,48,0,55,0,30,0 51,0,70,0,45,0,4,0,33,0,24,0 32,0,53,0,66,0,42,0,13,0,37,0 74,0,64,0,5,0,52,0,75,0,17,0 27,0,18,0,15,0,10,0,69,0,31,0 73,0,54,0,63,0,59,0,72,0,28,0 41,0,19,0,14,0,65,0,76,0,9,0 39,0,46,0,8,0,61,0,77,0,48,0 29,0,4,0,22,0,34,0,1,0,67,0 21,0,70,0,13,0,56,0,47,0,6,0 5,0,51,0,37,0,15,0,2,0,44,0 49,0,33,0,11,0,32,0,43,0,55,0 52,0,73,0,45,0,20,0,3,0,7,0 31,0,66,0,62,0,26,0,75,0,68,0 35,0,69,0,74,0,10,0,40,0,42,0 50,0,18,0,12,0,17,0,25,0,16,0 59,0,60,0,27,0,30,0,57,0,64,0 53,0,71,0,24,0,36,0,58,0,38,0 41,0,47,0,2,0,23,0,14,0,28,0 75,0,66,0,19,0,20,0,22,0,1,0 3,0,74,0,13,0,72,0,69,0,43,0 37,0,62,0,15,0,33,0,76,0,21,0 59,0,18,0,7,0,55,0,29,0,26,0 6,0,45,0,24,0,60,0,44,0,73,0 35,0,32,0,64,0,46,0,53,0,50,0 34,0,39,0,5,0,58,0,42,0,70,0 68,0,10,0,63,0,67,0,71,0,48,0 49,0,4,0,30,0,8,0,40,0,17,0 57,0,61,0,16,0,36,0,65,0,51,0 25,0,9,0,23,0,31,0,38,0,52,0 77,0,12,0,56,0,11,0,27,0,54,0 13,0,29,0,6,0,2,0,75,0,33,0 67,0,26,0,47,0,74,0,34,0,53,0 42,0,73,0,76,0,48,0,4,0,60,0 41,0,30,0,16,0,69,0,24,0,32,0 18,0,36,0,72,0,70,0,37,0,19,0 64,0,40,0,38,0,57,0,68,0,7,0 63,0,25,0,77,0,65,0,55,0,44,0 31,0,54,0,17,0,21,0,43,0,20,0 23,0,35,0,8,0,15,0,71,0,45,0 9,0,14,0,10,0,49,0,56,0,66,0 27,0,22,0,52,0,61,0,58,0,28,0 11,0,50,0,1,0,59,0,62,0,39,0 3,0,51,0,69,0,46,0,5,0,12,0 ================================================ FILE: schedules/77_14.csv ================================================ 23,0,19,0,31,0,49,0,34,0,8,0 51,0,77,0,74,0,64,0,20,0,9,0 6,0,56,0,25,0,47,0,15,0,13,0 71,0,70,0,12,0,55,0,10,0,21,0 69,0,27,0,32,0,37,0,61,0,3,0 1,0,75,0,65,0,66,0,62,0,38,0 36,0,11,0,72,0,60,0,7,0,48,0 29,0,59,0,17,0,52,0,46,0,40,0 68,0,45,0,67,0,24,0,43,0,76,0 2,0,22,0,28,0,33,0,53,0,39,0 54,0,35,0,73,0,4,0,16,0,63,0 58,0,41,0,26,0,5,0,18,0,42,0 57,0,44,0,30,0,14,0,50,0,64,0 37,0,60,0,47,0,46,0,3,0,13,0 27,0,59,0,24,0,51,0,34,0,71,0 48,0,6,0,55,0,76,0,17,0,2,0 69,0,38,0,31,0,28,0,54,0,20,0 22,0,10,0,62,0,23,0,67,0,11,0 16,0,18,0,14,0,19,0,39,0,66,0 50,0,58,0,4,0,25,0,70,0,68,0 21,0,63,0,32,0,8,0,26,0,74,0 40,0,45,0,35,0,72,0,44,0,1,0 30,0,5,0,9,0,42,0,75,0,49,0 61,0,56,0,65,0,33,0,12,0,41,0 73,0,15,0,36,0,52,0,53,0,77,0 29,0,43,0,55,0,57,0,7,0,69,0 59,1,23,0,16,0,47,1,14,0,58,0 10,0,19,0,70,0,2,0,37,0,44,0 18,0,67,0,72,0,25,0,9,0,63,0 41,0,60,0,24,0,49,0,74,0,64,0 66,0,51,0,13,0,50,0,61,0,77,0 36,0,34,0,12,0,45,0,5,0,57,0 33,0,29,0,76,0,6,0,31,0,35,0 38,0,26,0,54,0,62,0,43,0,8,0 40,0,15,0,75,0,71,0,4,0,73,0 42,0,3,0,1,0,17,0,39,0,11,0 48,0,27,0,65,0,53,0,21,0,28,0 56,0,68,0,22,0,52,0,30,0,32,0 46,0,7,0,9,0,20,0,34,0,58,0 62,0,41,0,70,0,16,0,51,0,29,0 61,0,63,0,19,0,77,0,64,0,69,0 50,0,17,0,26,0,74,0,45,0,33,0 67,0,55,0,57,0,48,0,40,0,18,0 8,0,60,0,53,0,10,0,65,0,59,0 22,0,66,0,27,0,56,0,42,0,54,0 46,0,38,0,25,0,23,0,44,0,76,0 6,0,73,0,5,0,37,0,24,0,14,0 39,0,21,0,15,0,35,0,68,0,75,0 4,0,11,0,3,0,72,0,28,0,49,0 71,0,52,0,1,0,20,0,7,0,47,0 32,0,2,0,12,0,36,0,13,0,31,0 43,0,40,0,61,0,30,0,58,0,65,0 6,0,23,0,53,0,66,0,69,0,74,0 16,0,44,0,68,0,34,0,48,0,9,0 29,0,63,0,8,0,37,0,76,0,11,0 38,0,5,0,15,0,10,0,39,0,50,0 57,0,54,0,1,0,60,0,21,0,77,0 3,0,24,0,18,0,56,0,70,0,31,0 26,0,4,0,32,0,64,0,71,0,27,0 28,0,41,0,45,0,55,0,25,0,52,0 20,0,30,0,13,0,67,0,35,0,36,0 73,0,62,0,42,0,2,0,7,0,33,0 51,0,49,0,14,0,43,0,12,0,47,0 19,0,59,0,72,0,75,0,17,0,22,0 46,0,31,0,8,0,16,0,1,0,50,0 5,0,58,0,32,0,6,0,65,0,11,0 39,0,4,0,13,0,29,0,34,0,69,0 20,0,57,0,76,0,73,0,53,0,41,0 66,0,21,0,37,0,62,0,9,0,45,0 24,0,25,0,54,0,75,0,19,0,36,0 44,0,3,0,27,0,23,0,52,0,12,0 77,0,35,0,55,0,68,0,59,0,26,0 56,0,30,0,71,0,46,0,51,0,72,0 48,0,43,0,74,0,42,0,47,0,10,0 17,0,28,0,64,0,15,0,67,0,2,0 63,0,40,0,14,0,60,0,33,0,38,0 7,0,22,0,49,0,61,0,18,0,70,0 66,0,4,0,9,0,57,0,31,0,41,0 6,0,76,0,13,0,30,0,59,0,3,0 8,0,65,0,16,0,44,0,56,0,20,0 43,0,64,0,52,0,75,0,53,0,37,0 47,0,50,0,36,0,62,0,63,0,17,0 54,0,11,0,70,0,45,0,39,0,71,0 42,0,38,0,61,0,24,0,55,0,72,0 77,0,1,0,34,0,10,0,29,0,28,0 33,0,49,0,58,0,15,0,74,0,27,0 46,0,35,0,2,0,14,0,25,0,32,0 67,0,48,0,19,0,73,0,12,0,26,0 40,0,51,0,22,0,69,0,21,0,5,0 7,0,68,0,37,0,60,0,23,0,18,0 41,0,9,0,59,0,43,0,63,0,28,0 75,0,76,0,77,0,47,0,16,0,27,0 33,0,71,0,3,0,66,0,8,0,36,0 39,0,62,0,72,0,57,0,74,0,13,0 65,0,45,0,19,0,4,0,46,0,42,0 38,0,17,0,7,0,51,0,12,0,68,0 18,0,64,0,10,0,52,0,21,0,6,0 60,0,73,0,31,0,58,0,25,0,22,0 2,0,50,0,53,0,34,0,11,0,40,0 69,0,26,0,70,0,15,0,1,0,30,0 44,0,14,0,61,0,67,0,54,0,29,0 48,0,20,0,35,0,49,0,56,0,5,0 32,0,55,0,39,0,23,0,24,0,77,0 36,0,6,0,60,0,16,0,19,0,38,0 65,0,31,0,63,0,10,0,57,0,27,0 34,0,25,0,28,0,37,0,74,0,42,0 14,0,62,0,4,0,44,0,53,0,58,0 71,0,49,0,59,0,2,0,56,0,1,0 40,0,70,0,72,0,66,0,64,0,76,0 17,0,48,0,15,0,24,0,32,0,20,0 8,0,75,0,30,0,7,0,18,0,41,0 46,0,12,0,67,0,33,0,69,0,54,0 51,0,52,0,11,0,13,0,26,0,35,0 45,0,61,0,21,0,73,0,23,0,47,0 9,0,43,0,50,0,55,0,22,0,3,0 29,0,68,0,66,0,5,0,59,0,36,0 65,0,34,0,18,0,76,0,15,0,14,0 37,0,33,0,64,0,54,0,48,0,71,0 42,0,53,0,12,0,60,0,35,0,32,0 49,0,63,0,45,0,40,0,39,0,58,0 67,0,50,0,41,0,1,0,23,0,27,0 13,0,24,0,28,0,16,0,26,0,7,0 61,0,9,0,52,0,6,0,8,0,70,0 10,0,68,0,74,0,69,0,56,0,73,0 5,0,43,0,77,0,44,0,46,0,17,0 2,0,21,0,47,0,4,0,38,0,72,0 11,0,62,0,31,0,55,0,19,0,30,0 29,0,3,0,57,0,51,0,75,0,25,0 20,0,36,0,14,0,22,0,26,0,42,0 23,0,13,0,54,0,70,0,65,0,9,0 10,0,58,0,69,0,24,0,35,0,17,0 4,0,52,0,8,0,60,0,5,0,67,0 53,0,7,0,76,0,19,0,50,0,56,0 30,0,66,0,12,0,15,0,63,0,34,0 28,0,27,0,68,0,62,0,47,0,40,0 2,0,64,0,57,0,16,0,45,0,3,0 25,0,59,0,21,0,11,0,20,0,33,0 46,0,74,0,75,0,61,0,31,0,55,0 77,0,71,0,22,0,41,0,48,0,38,0 44,0,39,0,49,0,6,0,51,0,37,0 1,0,73,0,18,0,43,0,72,0,32,0 29,0,50,0,52,0,2,0,65,0,24,0 23,0,5,0,33,0,30,0,76,0,28,0 25,0,8,0,64,0,27,0,12,0,62,0 34,0,55,0,17,0,22,0,60,0,54,0 48,0,10,0,16,0,59,0,4,0,61,0 41,0,11,0,21,0,15,0,46,0,6,0 71,0,42,0,31,0,68,0,63,0,53,0 20,0,45,0,43,0,13,0,19,0,29,0 72,0,69,0,75,0,77,0,14,0,70,0 32,0,44,0,7,0,49,0,57,0,66,0 37,0,58,0,73,0,36,0,1,0,51,0 18,0,35,0,74,0,40,0,38,0,3,0 47,0,56,0,39,0,9,0,26,0,67,0 42,0,23,0,29,0,15,0,64,0,59,0 43,0,34,0,16,0,33,0,52,0,72,0 17,0,49,0,53,0,8,0,21,0,13,0 10,0,41,0,6,0,50,0,54,0,68,0 20,0,60,0,62,0,18,0,32,0,45,0 77,0,56,0,26,0,40,0,31,0,37,0 30,0,73,0,11,0,9,0,27,0,38,0 47,0,55,0,69,0,65,0,44,0,36,0 35,0,19,0,71,0,28,0,57,0,61,0 1,0,22,0,76,0,4,0,12,0,24,0 67,0,58,0,74,0,2,0,75,0,66,0 70,0,3,0,51,0,63,0,46,0,48,0 5,0,14,0,39,0,7,0,25,0,31,0 54,0,53,0,16,0,29,0,49,0,30,0 33,0,40,0,19,0,32,0,10,0,9,0 37,0,15,0,57,0,59,0,38,0,22,0 76,0,52,0,42,0,69,0,62,0,71,0 35,0,34,0,70,0,17,0,47,0,41,0 27,0,63,0,13,0,1,0,55,0,5,0 20,0,75,0,12,0,6,0,72,0,50,0 74,0,56,0,23,0,43,0,36,0,4,0 65,0,46,0,64,0,73,0,39,0,68,0 58,0,7,0,21,0,67,0,77,0,3,0 48,0,28,0,51,0,14,0,8,0,45,0 25,0,2,0,60,0,26,0,61,0,66,0 44,0,24,0,47,0,18,0,11,0,59,0 ================================================ FILE: schedules/77_2.csv ================================================ 41,0,43,0,5,0,18,0,27,0,2,0 37,0,50,0,64,0,52,0,71,0,38,0 63,0,29,0,46,0,76,0,30,0,62,0 31,0,11,0,1,0,34,0,3,0,59,0 61,0,58,0,55,0,56,0,36,0,53,0 33,0,70,0,14,0,73,0,6,0,39,0 17,0,8,0,57,0,20,0,40,0,22,0 24,0,45,0,74,0,12,0,10,0,72,0 44,0,51,0,47,0,4,0,19,0,23,0 65,0,68,0,49,0,15,0,42,0,9,0 28,0,13,0,26,0,25,0,48,0,66,0 35,0,69,0,7,0,21,0,67,0,32,0 16,0,75,0,60,0,77,0,54,0,38,0 6,0,53,0,20,0,1,0,64,0,18,0 62,0,56,0,2,0,11,0,19,0,24,0 33,0,27,0,22,0,44,0,12,0,30,0 59,0,5,0,48,0,65,0,70,0,55,0 9,0,3,0,29,0,35,0,50,0,45,0 36,0,69,0,43,0,60,0,51,0,13,0 76,0,7,0,66,0,74,0,77,0,41,0 15,0,25,0,57,0,47,0,54,0,14,0 23,0,67,0,10,0,26,0,49,0,63,0 34,0,73,0,32,0,17,0,52,0,46,0 72,0,4,0,8,0,58,0,71,0,75,0 21,0,68,0,40,0,37,0,31,0,16,0 42,0,28,0,69,1,39,0,61,0,60,1 ================================================ FILE: schedules/77_3.csv ================================================ 37,0,35,0,8,0,47,0,36,0,26,0 25,0,72,0,16,0,76,0,61,0,71,0 62,0,77,0,58,0,14,0,23,0,59,0 2,0,33,0,60,0,46,0,53,0,39,0 41,0,13,0,50,0,4,0,69,0,68,0 75,0,18,0,51,0,55,0,34,0,67,0 54,0,10,0,21,0,17,0,49,0,11,0 29,0,15,0,27,0,38,0,12,0,44,0 20,0,6,0,5,0,28,0,43,0,22,0 40,0,42,0,45,0,64,0,70,0,32,0 24,0,30,0,52,0,1,0,48,0,9,0 56,0,31,0,63,0,57,0,7,0,73,0 19,0,3,0,66,0,65,0,74,0,13,0 11,1,2,0,34,0,23,1,37,0,29,0 67,1,53,0,4,0,16,0,44,0,8,0 71,0,10,0,58,0,42,0,12,0,6,0 75,0,59,0,41,0,47,0,60,0,20,0 7,0,5,0,48,0,50,0,39,0,14,0 31,0,62,0,36,0,19,0,38,0,32,0 76,0,54,0,64,0,24,0,27,0,35,0 70,0,21,0,69,0,73,0,3,0,52,0 30,0,22,0,77,0,61,0,40,0,56,0 26,0,55,0,65,0,25,0,33,0,68,0 66,0,9,0,17,0,28,0,15,0,51,0 18,0,72,0,46,0,1,0,43,0,63,0 74,0,49,0,20,0,45,0,57,0,62,0 14,0,21,0,6,0,34,0,19,0,60,0 59,0,39,0,52,0,56,0,29,0,54,0 27,0,67,0,32,0,69,0,2,0,7,0 9,0,11,0,22,0,13,0,58,0,64,0 47,0,73,0,10,0,18,0,61,0,48,0 3,0,24,0,16,0,31,0,46,0,55,0 1,0,71,0,40,0,51,0,23,0,65,0 49,0,26,0,50,0,66,0,53,0,63,0 76,0,28,0,70,0,74,0,8,0,33,0 68,0,43,0,38,0,42,0,75,0,35,0 4,0,37,0,45,0,77,0,25,0,15,0 57,0,5,0,17,0,36,0,30,0,44,0 41,0,12,0,23,0,72,0,11,0,67,0 ================================================ FILE: schedules/77_4.csv ================================================ 2,0,18,0,16,0,45,0,55,0,31,0 53,0,11,0,19,0,34,0,17,0,59,0 58,0,29,0,70,0,4,0,8,0,36,0 42,0,74,0,57,0,25,0,50,0,39,0 66,0,24,0,3,0,51,0,35,0,77,0 6,0,13,0,5,0,44,0,75,0,63,0 41,0,48,0,43,0,46,0,14,0,23,0 22,0,49,0,38,0,68,0,10,0,67,0 72,0,62,0,30,0,33,0,69,0,32,0 7,0,26,0,54,0,47,0,61,0,52,0 60,0,73,0,56,0,27,0,64,0,76,0 40,0,1,0,28,0,65,0,12,0,20,0 15,0,71,0,59,0,9,0,37,0,21,0 25,0,36,0,19,0,35,0,68,0,13,0 42,0,5,0,18,0,11,0,69,0,41,0 6,0,49,0,32,0,46,0,52,0,74,0 63,0,39,0,61,0,38,0,53,0,66,0 26,0,27,0,67,0,28,0,57,0,8,0 56,0,30,0,23,0,45,0,10,0,7,0 1,0,64,0,3,0,33,0,14,0,29,0 37,0,51,0,12,0,16,0,75,0,43,0 71,0,55,0,4,0,47,0,65,0,17,0 62,0,9,0,40,0,77,0,70,0,73,0 50,0,20,0,54,0,58,0,72,0,21,0 60,0,31,0,22,0,24,0,44,0,48,0 76,0,34,0,52,0,15,0,2,0,10,0 68,1,59,0,23,0,8,1,42,0,33,0 63,1,36,0,17,0,30,1,49,0,18,0 29,0,12,0,67,0,56,0,71,0,32,0 58,0,69,0,14,0,26,0,53,0,51,0 21,0,27,0,77,0,4,0,31,0,13,0 37,0,3,0,54,0,62,0,76,0,22,0 15,0,50,0,44,0,16,0,70,0,19,0 24,0,38,0,75,0,74,0,28,0,45,0 47,0,43,0,2,0,1,0,73,0,35,0 40,0,46,0,64,0,39,0,5,0,72,0 25,0,7,0,9,0,55,0,41,0,66,0 11,0,61,0,65,0,6,0,57,0,60,0 20,0,48,0,70,0,34,0,71,0,30,0 58,0,10,0,62,0,24,0,27,0,19,0 75,0,77,0,53,0,2,0,42,0,56,0 68,0,45,0,43,0,50,0,40,0,26,0 51,0,23,0,52,0,25,0,63,0,22,0 17,0,8,0,46,0,37,0,1,0,61,0 4,0,74,0,34,0,72,0,41,0,67,0 38,0,76,0,7,0,29,0,44,0,18,0 73,0,11,0,28,0,55,0,54,0,15,0 57,0,14,0,47,0,13,0,16,0,49,0 66,0,31,0,32,0,59,0,65,0,64,0 21,0,35,0,69,0,48,0,6,0,39,0 60,0,20,0,33,0,9,0,36,0,5,0 12,0,68,0,63,0,3,0,8,0,30,0 ================================================ FILE: schedules/77_5.csv ================================================ 26,0,72,0,27,0,1,0,9,0,14,0 37,0,51,0,71,0,49,0,8,0,41,0 32,0,13,0,47,0,70,0,62,0,60,0 34,0,11,0,25,0,53,0,35,0,69,0 15,0,19,0,54,0,23,0,65,0,30,0 66,0,45,0,2,0,46,0,22,0,38,0 63,0,10,0,18,0,33,0,44,0,59,0 50,0,12,0,39,0,67,0,4,0,17,0 57,0,5,0,43,0,55,0,68,0,16,0 64,0,24,0,36,0,74,0,52,0,73,0 31,0,61,0,48,0,29,0,56,0,40,0 76,0,28,0,6,0,75,0,58,0,21,0 7,0,3,0,20,0,42,0,77,0,27,0 69,0,45,0,4,0,1,0,37,0,59,0 57,0,15,0,14,0,32,0,44,0,12,0 24,0,2,0,55,0,50,0,13,0,34,0 64,0,26,0,51,0,46,0,19,0,48,0 49,0,56,0,22,0,58,0,18,0,5,0 42,0,41,0,73,0,66,0,75,0,67,0 9,0,35,0,39,0,6,0,47,0,77,0 31,0,16,0,25,0,38,0,36,0,60,0 30,0,71,0,63,0,11,0,52,0,7,0 23,0,76,0,33,0,61,0,20,0,17,0 40,0,62,0,21,0,65,0,53,0,43,0 72,0,3,0,70,0,74,0,54,0,10,0 8,0,68,0,9,0,29,0,28,0,22,0 38,1,57,0,42,0,13,1,26,0,56,0 19,1,12,0,55,0,59,1,35,0,36,0 77,1,23,0,75,0,63,0,45,0,34,0 40,0,46,0,69,0,30,0,39,0,49,0 72,0,5,0,15,0,50,0,71,0,76,0 62,0,54,0,24,0,16,0,6,0,27,0 25,0,33,0,32,0,66,0,21,0,3,0 58,0,47,0,4,0,20,0,53,0,68,0 17,0,1,0,44,0,64,0,8,0,2,0 70,0,28,0,37,0,31,0,73,0,18,0 7,0,65,0,14,0,10,0,48,0,67,0 51,0,43,0,74,0,61,0,60,0,11,0 29,0,41,0,50,0,52,0,69,0,32,0 63,0,53,0,36,0,5,0,3,0,39,0 19,0,72,0,66,0,24,0,4,0,49,0 9,0,45,0,30,0,58,0,13,0,64,0 26,0,37,0,75,0,54,0,7,0,44,0 67,0,18,0,25,0,61,0,47,0,2,0 51,0,59,0,65,0,17,0,28,0,52,0 55,0,20,0,56,0,1,0,10,0,62,0 6,0,40,0,38,0,15,0,70,0,34,0 35,0,74,0,27,0,71,0,57,0,33,0 60,0,22,0,48,0,41,0,77,0,76,0 29,0,11,0,16,0,73,0,46,0,12,0 14,0,68,0,23,0,21,0,42,0,31,0 8,0,54,0,32,0,43,0,39,0,59,0 38,0,50,0,28,0,10,0,64,0,47,0 74,0,7,0,62,0,5,0,9,0,19,0 6,0,44,0,22,0,65,0,69,0,36,0 77,0,2,0,56,0,16,0,30,0,33,0 13,0,73,0,76,0,25,0,51,0,27,0 53,0,52,0,55,0,8,0,66,0,23,0 17,0,42,0,49,0,29,0,70,0,63,0 58,0,34,0,67,0,72,0,31,0,43,0 18,0,1,0,48,0,15,0,75,0,11,0 60,0,46,0,24,0,20,0,57,0,37,0 71,0,61,0,21,0,45,0,26,0,12,0 4,0,41,0,35,0,14,0,40,0,3,0 68,0,13,0,59,0,38,0,19,0,77,0 ================================================ FILE: schedules/77_6.csv ================================================ 71,0,11,0,67,0,29,0,19,0,25,0 26,0,16,0,64,0,65,0,69,0,51,0 47,0,8,0,76,0,48,0,54,0,40,0 10,0,17,0,68,0,63,0,62,0,43,0 18,0,52,0,4,0,20,0,37,0,72,0 9,0,74,0,3,0,32,0,31,0,35,0 44,0,6,0,36,0,56,0,21,0,70,0 61,0,73,0,38,0,34,0,39,0,46,0 12,0,30,0,22,0,49,0,27,0,58,0 59,0,7,0,41,0,23,0,66,0,24,0 28,0,50,0,5,0,53,0,15,0,75,0 45,0,77,0,57,0,60,0,13,0,1,0 55,0,14,0,33,0,42,0,2,0,68,0 21,0,11,0,20,0,40,0,3,0,73,0 35,0,56,0,65,0,38,0,27,0,18,0 76,0,32,0,24,0,61,0,43,0,52,0 49,0,25,0,46,0,26,0,63,0,47,0 75,0,41,0,37,0,30,0,10,0,51,0 72,0,22,0,59,0,33,0,45,0,67,0 62,0,42,0,6,0,71,0,66,0,64,0 17,0,23,0,53,0,29,0,14,0,13,0 36,0,58,0,19,0,16,0,1,0,5,0 44,0,31,0,12,0,50,0,7,0,8,0 48,0,39,0,60,0,9,0,4,0,28,0 34,0,74,0,69,0,55,0,57,0,15,0 77,0,70,0,41,0,54,0,2,0,3,0 38,0,52,0,64,0,75,0,68,0,47,0 61,0,40,0,25,0,51,0,62,0,5,0 22,0,46,0,8,0,36,0,11,0,14,0 24,0,31,0,19,0,27,0,17,0,21,0 9,0,29,0,57,0,10,0,73,0,50,0 35,0,66,0,13,0,4,0,43,0,69,0 6,0,49,0,48,0,77,0,72,0,74,0 56,0,33,0,54,0,20,0,28,0,71,0 70,0,37,0,34,0,45,0,76,0,58,0 2,0,65,0,67,0,15,0,12,0,23,0 55,0,18,0,1,0,63,0,59,0,39,0 26,0,44,0,42,0,32,0,53,0,30,0 60,0,7,0,14,0,16,0,61,0,3,0 66,0,27,0,9,0,36,0,52,0,40,0 20,0,49,0,68,0,57,0,19,0,41,0 37,0,47,0,13,0,62,0,11,0,56,0 63,0,21,0,15,0,29,0,72,0,76,0 67,0,10,0,64,0,18,0,32,0,58,0 51,0,42,0,28,0,70,0,12,0,17,0 71,0,73,0,48,0,75,0,59,0,26,0 45,0,30,0,16,0,39,0,50,0,6,0 1,0,38,0,4,0,54,0,31,0,53,0 24,0,44,0,2,0,22,0,74,0,25,0 33,0,65,0,8,0,43,0,60,0,34,0 5,0,35,0,46,0,55,0,77,0,7,0 23,0,36,0,63,0,69,0,42,0,61,0 14,0,39,0,47,0,71,0,10,0,15,0 72,0,66,0,75,0,19,0,3,0,56,0 74,0,11,0,26,0,45,0,12,0,41,0 51,0,33,0,27,0,44,0,76,0,57,0 54,0,73,0,5,0,32,0,17,0,37,0 2,0,29,0,38,0,6,0,60,0,59,0 20,0,34,0,50,0,35,0,1,0,22,0 58,0,4,0,62,0,65,0,7,0,21,0 30,0,13,0,31,0,46,0,64,0,48,0 52,0,67,0,55,0,8,0,49,0,28,0 40,0,18,0,69,0,70,0,53,0,24,0 23,0,25,0,16,0,9,0,77,0,68,0 43,0,50,0,19,0,74,0,42,0,59,0 75,0,6,0,54,0,65,0,57,0,11,0 22,0,63,0,56,0,41,0,31,0,5,0 12,0,55,0,66,0,29,0,20,0,47,0 3,0,15,0,49,0,51,0,38,0,24,0 27,0,32,0,2,0,4,0,34,0,16,0 61,0,68,0,70,0,71,0,8,0,13,0 73,0,35,0,58,0,60,0,72,0,44,0 30,0,14,0,69,0,9,0,67,0,76,0 26,0,43,0,77,0,39,0,37,0,36,0 21,0,10,0,53,0,52,0,25,0,48,0 17,0,1,0,64,0,33,0,7,0,40,0 28,0,45,0,62,0,18,0,46,0,23,0 ================================================ FILE: schedules/77_7.csv ================================================ 35,0,10,0,50,0,73,0,36,0,43,0 9,0,16,0,44,0,15,0,12,0,57,0 27,0,72,0,41,0,77,0,71,0,56,0 65,0,42,0,5,0,8,0,59,0,60,0 23,0,53,0,3,0,6,0,20,0,18,0 13,0,33,0,21,0,47,0,66,0,25,0 70,0,75,0,40,0,64,0,28,0,17,0 14,0,2,0,4,0,74,0,22,0,34,0 69,0,19,0,38,0,31,0,29,0,26,0 7,0,58,0,63,0,49,0,48,0,68,0 54,0,51,0,24,0,30,0,37,0,55,0 62,0,32,0,45,0,1,0,39,0,52,0 76,0,11,0,46,0,61,0,67,0,18,0 50,0,28,0,20,0,2,0,12,0,59,0 47,0,70,0,74,0,6,0,44,0,77,0 26,0,73,0,9,0,68,0,71,0,75,0 16,0,25,0,40,0,23,0,36,0,65,0 33,0,19,0,39,0,4,0,48,0,35,0 8,0,31,0,22,0,55,0,45,0,10,0 11,0,60,0,1,0,27,0,34,0,21,0 30,0,72,0,67,0,52,0,63,0,38,0 37,0,5,0,69,0,14,0,53,0,32,0 46,0,13,0,3,0,41,0,7,0,43,0 29,0,54,0,62,0,15,0,76,0,17,0 57,0,58,0,42,0,66,0,24,0,64,0 61,0,56,0,23,0,51,0,49,0,22,0 63,1,60,0,25,0,19,0,71,0,10,0 8,0,21,0,74,0,67,0,53,0,9,0 28,0,65,0,6,0,11,0,41,0,37,0 13,0,15,0,73,0,18,0,70,0,39,0 50,0,46,0,55,0,5,0,26,0,40,0 14,0,59,0,30,0,16,0,76,0,7,0 62,0,77,0,66,0,51,0,20,0,34,0 56,0,64,0,52,0,4,0,29,0,43,0 27,0,45,0,75,0,69,0,33,0,44,0 38,0,61,0,35,0,58,0,3,0,54,0 31,0,1,0,36,0,57,0,48,0,47,0 72,0,17,0,42,0,68,0,32,0,2,0 12,0,18,0,8,0,49,0,24,0,14,0 76,0,21,0,28,0,4,0,77,0,55,0 10,0,39,0,34,0,7,0,9,0,5,0 74,0,66,0,73,0,41,0,63,0,69,0 27,0,59,0,62,0,46,0,22,0,58,0 15,0,52,0,37,0,31,0,61,0,25,0 32,0,47,0,35,0,40,0,60,0,49,0 26,0,12,0,36,0,6,0,54,0,67,0 23,0,44,0,24,0,29,0,13,0,72,0 71,0,11,0,64,0,16,0,50,0,3,0 53,0,48,0,2,0,75,0,51,0,65,0 38,0,68,0,43,0,57,0,70,0,33,0 17,0,56,0,1,0,20,0,19,0,30,0 42,0,4,0,25,0,45,0,18,0,26,0 59,0,10,0,72,0,49,0,54,0,21,0 76,0,34,0,71,0,52,0,58,0,40,0 39,0,29,0,75,0,12,0,61,0,55,0 7,0,50,0,32,0,23,0,27,0,38,0 51,0,16,0,31,0,74,0,13,0,35,0 47,0,43,0,53,0,62,0,42,0,11,0 63,0,17,0,77,0,37,0,22,0,57,0 64,0,20,0,41,0,15,0,36,0,8,0 2,0,19,0,6,0,24,0,45,0,73,0 9,0,69,0,48,0,70,0,46,0,30,0 66,0,67,0,44,0,65,0,68,0,1,0 3,0,14,0,33,0,60,0,28,0,56,0 5,0,77,0,18,0,16,0,38,0,75,0 63,0,26,0,51,0,32,0,11,0,59,0 61,0,4,0,71,0,7,0,36,0,24,0 34,0,17,0,6,0,13,0,48,0,50,0 19,0,55,0,9,0,65,0,72,0,62,0 57,0,23,0,60,0,46,0,74,0,52,0 66,0,8,0,27,0,76,0,2,0,35,0 21,0,40,0,14,0,41,0,44,0,39,0 37,0,20,0,33,0,73,0,29,0,42,0 68,0,30,0,15,0,47,0,3,0,10,0 22,0,54,0,1,0,25,0,64,0,69,0 49,0,5,0,67,0,31,0,43,0,28,0 12,0,70,0,45,0,58,0,56,0,53,0 52,0,51,0,7,0,18,0,17,0,21,0 57,0,32,0,13,0,61,0,19,0,8,0 10,0,24,0,40,0,33,0,11,0,74,0 48,0,22,0,73,0,38,0,76,0,44,0 69,0,20,0,4,0,60,0,16,0,72,0 65,0,39,0,43,0,30,0,26,0,27,0 54,0,63,0,75,0,56,0,31,0,50,0 49,0,70,0,1,0,42,0,3,0,55,0 59,0,64,0,45,0,77,0,35,0,9,0 41,0,5,0,68,0,25,0,12,0,62,0 46,0,6,0,71,0,14,0,66,0,15,0 58,0,23,0,47,0,67,0,2,0,37,0 29,0,34,0,36,0,28,0,53,0,63,0 ================================================ FILE: schedules/77_8.csv ================================================ 63,0,2,0,51,0,48,0,57,0,19,0 36,0,45,0,77,0,42,0,41,0,3,0 62,0,1,0,67,0,17,0,76,0,4,0 18,0,29,0,58,0,5,0,49,0,28,0 38,0,16,0,24,0,55,0,54,0,22,0 34,0,32,0,11,0,46,0,66,0,60,0 20,0,37,0,6,0,44,0,70,0,64,0 15,0,53,0,74,0,21,0,25,0,56,0 40,0,33,0,14,0,9,0,43,0,23,0 72,0,8,0,7,0,52,0,31,0,10,0 73,0,13,0,26,0,30,0,35,0,27,0 50,0,75,0,59,0,12,0,61,0,71,0 47,0,69,0,65,0,68,0,39,0,58,0 6,0,5,0,57,0,46,0,67,0,3,0 40,0,45,0,56,0,18,0,51,0,32,0 44,0,43,0,74,0,62,0,49,0,7,0 26,0,1,0,28,0,48,0,36,0,72,0 73,0,25,0,54,0,8,0,29,0,33,0 20,0,75,0,65,0,42,0,38,0,11,0 47,0,35,0,15,0,60,0,77,0,19,0 61,0,41,0,76,0,21,0,55,0,23,0 4,0,63,0,31,0,24,0,59,0,14,0 71,0,37,0,22,0,30,0,66,0,10,0 27,0,39,0,52,0,50,0,64,0,17,0 16,0,53,0,34,0,68,0,9,0,70,0 2,0,13,0,20,0,12,0,69,0,1,0 54,1,19,0,67,0,40,1,26,0,41,0 4,0,3,0,21,0,32,0,44,0,28,0 11,0,24,0,35,0,29,0,36,0,7,0 6,0,23,0,71,0,47,0,63,0,25,0 9,0,27,0,48,0,76,0,49,0,45,0 68,0,22,0,77,0,61,0,2,0,5,0 74,0,8,0,60,0,39,0,13,0,51,0 10,0,15,0,17,0,33,0,57,0,34,0 62,0,64,0,65,0,12,0,73,0,16,0 52,0,70,0,18,0,66,0,14,0,69,0 30,0,75,0,43,0,53,0,55,0,31,0 37,0,58,0,38,0,72,0,59,0,56,0 42,0,44,0,2,0,46,0,50,0,54,0 34,0,39,0,48,0,4,0,25,0,77,0 64,0,33,0,32,0,5,0,63,0,41,0 70,0,11,0,12,0,17,0,74,0,22,0 14,0,15,0,61,0,8,0,6,0,30,0 65,0,56,0,13,0,67,0,28,0,31,0 7,0,16,0,76,0,57,0,59,0,20,0 68,0,66,0,72,0,24,0,27,0,75,0 21,0,45,0,29,0,47,0,43,0,37,0 46,0,40,0,62,0,36,0,38,0,52,0 9,0,60,0,69,0,3,0,10,0,26,0 1,0,51,0,55,0,58,0,35,0,71,0 42,0,19,0,73,0,53,0,18,0,23,0 49,0,25,0,11,0,50,0,14,0,72,0 30,0,21,0,7,0,64,0,67,0,48,0 68,0,46,0,12,0,31,0,15,0,45,0 13,0,54,0,36,0,4,0,9,0,75,0 37,0,35,0,3,0,40,0,8,0,65,0 76,0,33,0,47,0,44,0,18,0,38,0 28,0,24,0,57,0,23,0,69,0,41,0 19,0,22,0,1,0,34,0,6,0,50,0 17,0,59,0,51,0,53,0,5,0,26,0 39,0,20,0,62,0,29,0,56,0,63,0 49,0,55,0,70,0,73,0,2,0,60,0 77,0,52,0,43,0,71,0,32,0,16,0 42,0,61,0,27,0,10,0,74,0,58,0 66,0,57,0,35,0,25,0,44,0,9,0 40,0,75,0,28,0,15,0,22,0,64,0 62,0,48,0,54,0,53,0,11,0,47,0 37,0,36,0,73,0,51,0,76,0,69,0 63,0,3,0,72,0,16,0,13,0,17,0 18,0,61,0,60,0,43,0,65,0,1,0 23,0,30,0,5,0,34,0,38,0,12,0 31,0,27,0,6,0,33,0,2,0,21,0 56,0,42,0,70,0,8,0,24,0,71,0 50,0,58,0,26,0,7,0,66,0,77,0 19,0,52,0,4,0,45,0,55,0,20,0 29,0,74,0,14,0,32,0,68,0,67,0 41,0,10,0,46,0,59,0,39,0,49,0 17,0,38,0,9,0,28,0,6,0,73,0 2,0,25,0,3,0,18,0,75,0,62,0 69,0,54,0,72,0,34,0,21,0,35,0 27,0,60,0,4,0,71,0,40,0,7,0 57,0,31,0,32,0,42,0,47,0,22,0 77,0,51,0,70,0,29,0,46,0,65,0 33,0,67,0,53,0,49,0,20,0,61,0 19,0,12,0,24,0,76,0,43,0,58,0 48,0,41,0,68,0,13,0,52,0,37,0 59,0,23,0,66,0,64,0,1,0,8,0 36,0,10,0,5,0,56,0,16,0,14,0 39,0,44,0,55,0,15,0,11,0,26,0 30,0,50,0,45,0,63,0,74,0,28,0 25,0,69,0,38,0,19,0,7,0,61,0 9,0,12,0,47,0,67,0,51,0,52,0 6,0,66,0,76,0,29,0,42,0,40,0 58,0,14,0,64,0,57,0,54,0,60,0 36,0,59,0,18,0,34,0,55,0,27,0 46,0,22,0,8,0,63,0,26,0,43,0 13,0,50,0,21,0,70,0,10,0,62,0 11,0,33,0,56,0,30,0,68,0,3,0 41,0,16,0,35,0,4,0,2,0,74,0 71,0,53,0,72,0,44,0,45,0,65,0 32,0,15,0,24,0,48,0,73,0,20,0 49,0,23,0,17,0,37,0,77,0,75,0 31,0,5,0,54,0,39,0,1,0,40,0 ================================================ FILE: schedules/77_9.csv ================================================ 23,0,28,0,3,0,63,0,19,0,39,0 40,0,34,0,10,0,5,0,20,0,7,0 4,0,13,0,22,0,49,0,59,0,51,0 64,0,26,0,36,0,2,0,48,0,8,0 17,0,56,0,45,0,46,0,47,0,71,0 66,0,11,0,33,0,29,0,43,0,41,0 24,0,30,0,32,0,68,0,76,0,35,0 69,0,44,0,16,0,21,0,31,0,57,0 77,0,6,0,53,0,52,0,15,0,58,0 9,0,75,0,37,0,54,0,55,0,38,0 70,0,42,0,12,0,1,0,27,0,14,0 60,0,74,0,18,0,61,0,62,0,72,0 65,0,50,0,46,0,67,0,25,0,73,0 26,0,47,0,66,0,76,0,33,0,39,0 8,0,7,0,52,0,44,0,29,0,22,0 31,0,75,0,58,0,40,0,13,0,23,0 38,0,35,0,5,0,77,0,56,0,11,0 74,0,27,0,34,0,55,0,2,0,17,0 12,0,53,0,63,0,64,0,24,0,72,0 6,0,70,0,25,0,16,0,4,0,45,0 42,0,65,0,62,0,21,0,37,0,48,0 19,0,71,0,61,0,57,0,41,0,54,0 32,0,18,0,1,0,49,0,67,0,9,0 28,0,30,0,51,0,60,0,69,0,50,0 15,0,43,0,3,0,59,0,73,0,10,0 14,0,68,0,17,0,20,0,36,0,53,0 42,1,21,0,72,0,77,1,13,0,39,0 6,1,76,0,62,0,7,0,55,0,41,0 40,0,35,0,48,0,9,0,45,0,33,0 29,0,46,0,38,0,26,0,58,0,1,0 11,0,70,0,15,0,74,0,19,0,50,0 61,0,66,0,73,0,24,0,69,0,34,0 57,0,52,0,68,0,25,0,60,0,37,0 54,0,14,0,63,0,47,0,5,0,51,0 8,0,32,0,43,0,23,0,4,0,71,0 30,0,27,0,3,0,64,0,31,0,49,0 56,0,36,0,67,0,12,0,16,0,22,0 20,0,65,0,44,0,59,0,18,0,28,0 10,0,75,0,6,0,2,0,33,0,61,0 13,0,50,0,45,0,38,0,34,0,14,0 42,0,58,0,74,0,68,0,66,0,8,0 47,0,72,0,15,0,49,0,69,0,7,0 35,0,26,0,25,0,3,0,12,0,62,0 44,0,64,0,67,0,41,0,51,0,77,0 19,0,75,0,43,0,30,0,65,0,52,0 11,0,24,0,48,0,23,0,17,0,18,0 5,0,70,0,55,0,20,0,39,0,32,0 63,0,59,0,1,0,56,0,60,0,57,0 4,0,21,0,73,0,29,0,36,0,40,0 37,0,27,0,71,0,76,0,10,0,16,0 46,0,2,0,54,0,22,0,53,0,31,0 28,0,13,0,7,0,9,0,25,0,17,0 62,0,33,0,24,0,20,0,38,0,15,0 45,0,5,0,44,0,42,0,61,0,30,0 29,0,60,0,34,0,14,0,32,0,6,0 49,0,63,0,40,0,70,0,8,0,37,0 48,0,22,0,69,0,71,0,55,0,77,0 12,0,52,0,23,0,47,0,41,0,74,0 72,0,59,0,31,0,66,0,75,0,36,0 21,0,67,0,28,0,54,0,68,0,10,0 39,0,16,0,43,0,9,0,46,0,64,0 51,0,19,0,1,0,27,0,35,0,73,0 57,0,4,0,3,0,2,0,11,0,65,0 56,0,58,0,53,0,18,0,50,0,76,0 26,0,55,0,13,0,44,0,60,0,71,0 48,0,41,0,14,0,22,0,74,0,28,0 66,0,21,0,9,0,6,0,30,0,12,0 72,0,51,0,33,0,25,0,52,0,34,0 36,0,24,0,3,0,46,0,1,0,5,0 38,0,10,0,4,0,18,0,42,0,63,0 26,0,56,0,68,0,70,0,69,0,75,0 37,0,50,0,43,0,20,0,31,0,77,0 29,0,49,0,57,0,45,0,62,0,23,0 54,0,65,0,35,0,17,0,39,0,15,0 64,0,19,0,76,0,59,0,67,0,40,0 2,0,32,0,73,0,16,0,7,0,58,0 27,0,8,0,11,0,47,0,53,0,61,0 55,0,6,0,24,0,28,0,43,0,56,0 23,0,14,0,46,0,77,0,66,0,4,0 29,0,48,0,12,0,51,0,57,0,15,0 9,0,22,0,76,0,3,0,65,0,34,0 17,0,41,0,30,0,72,0,40,0,38,0 74,0,73,0,37,0,53,0,5,0,26,0 33,0,44,0,36,0,63,0,27,0,32,0 61,0,59,0,16,0,50,0,68,0,49,0 71,0,42,0,20,0,75,0,7,0,67,0 52,0,35,0,18,0,64,0,70,0,13,0 47,0,45,0,60,0,21,0,2,0,19,0 39,0,31,0,1,0,10,0,25,0,8,0 69,0,58,0,62,0,11,0,54,0,43,0 55,0,61,0,23,0,15,0,30,0,36,0 22,0,57,0,40,0,50,0,32,0,42,0 71,0,65,0,28,0,64,0,29,0,5,0 44,0,72,0,27,0,6,0,46,0,48,0 49,0,76,0,25,0,14,0,75,0,74,0 41,0,20,0,60,0,4,0,58,0,35,0 70,0,77,0,10,0,9,0,62,0,47,0 17,0,66,0,1,0,52,0,16,0,63,0 7,0,26,0,51,0,21,0,45,0,11,0 69,0,39,0,2,0,59,0,37,0,24,0 54,0,8,0,33,0,13,0,73,0,56,0 18,0,31,0,34,0,12,0,19,0,68,0 38,0,67,0,60,0,53,0,3,0,70,0 55,0,16,0,29,0,10,0,72,0,35,0 61,0,32,0,77,0,26,0,65,0,17,0 5,0,25,0,23,0,27,0,59,0,21,0 52,0,46,0,11,0,76,0,42,0,28,0 6,0,68,0,73,0,22,0,63,0,62,0 9,0,51,0,74,0,71,0,24,0,31,0 20,0,66,0,49,0,56,0,48,0,54,0 53,0,39,0,57,0,43,0,34,0,7,0 64,0,75,0,47,0,1,0,4,0,50,0 8,0,41,0,69,0,45,0,18,0,3,0 37,0,58,0,30,0,67,0,33,0,14,0 15,0,40,0,12,0,38,0,2,0,44,0 36,0,19,0,77,0,13,0,42,0,6,0 ================================================ FILE: schedules/78_1.csv ================================================ 69,0,35,0,28,0,38,0,55,0,43,0 62,0,58,0,57,0,7,0,18,0,31,0 29,0,46,0,67,0,59,0,50,0,2,0 14,0,70,0,8,0,22,0,49,0,75,0 13,0,54,0,27,0,68,0,24,0,52,0 19,0,65,0,76,0,41,0,42,0,77,0 44,0,4,0,47,0,9,0,39,0,40,0 36,0,63,0,53,0,34,0,64,0,23,0 51,0,6,0,30,0,74,0,72,0,15,0 37,0,5,0,20,0,33,0,25,0,66,0 17,0,56,0,45,0,1,0,60,0,10,0 32,0,21,0,11,0,73,0,71,0,16,0 78,0,48,0,12,0,3,0,26,0,61,0 ================================================ FILE: schedules/78_10.csv ================================================ 11,0,35,0,57,0,72,0,42,0,2,0 8,0,22,0,59,0,75,0,51,0,47,0 44,0,31,0,70,0,34,0,32,0,46,0 16,0,36,0,71,0,39,0,30,0,78,0 1,0,62,0,67,0,77,0,54,0,14,0 18,0,69,0,12,0,24,0,19,0,50,0 20,0,48,0,43,0,5,0,29,0,27,0 64,0,45,0,73,0,74,0,60,0,6,0 53,0,17,0,28,0,49,0,68,0,15,0 58,0,52,0,9,0,13,0,41,0,76,0 40,0,65,0,63,0,33,0,26,0,37,0 61,0,25,0,4,0,38,0,10,0,7,0 23,0,66,0,56,0,55,0,21,0,3,0 59,0,14,0,24,0,36,0,46,0,43,0 78,0,72,0,6,0,31,0,19,0,54,0 1,0,68,0,75,0,35,0,50,0,44,0 34,0,29,0,62,0,58,0,57,0,73,0 40,0,52,0,17,0,60,0,18,0,8,0 26,0,48,0,61,0,16,0,69,0,49,0 67,0,45,0,25,0,41,0,32,0,22,0 71,0,38,0,64,0,66,0,65,0,42,0 11,0,27,0,21,0,53,0,10,0,74,0 77,0,15,0,56,0,13,0,4,0,39,0 23,0,47,0,2,0,76,0,5,0,33,0 55,0,37,0,28,0,20,0,3,0,30,0 70,0,12,0,9,0,7,0,51,0,63,0 49,0,43,0,19,0,58,0,25,0,40,0 72,0,24,0,16,0,75,0,38,0,52,0 57,0,44,0,18,0,53,0,65,0,48,0 62,0,8,0,27,0,34,0,61,0,21,0 47,0,46,0,74,0,13,0,68,0,66,0 4,0,78,0,29,0,28,0,1,0,33,0 23,0,50,0,30,0,11,0,32,0,14,0 55,0,39,0,54,0,17,0,45,0,12,0 69,0,2,0,41,0,73,0,56,0,59,0 20,0,42,0,15,0,63,0,22,0,70,0 5,0,10,0,67,0,9,0,6,0,71,0 7,0,37,0,76,0,35,0,60,0,31,0 3,0,36,0,64,0,77,0,26,0,51,0 40,0,28,0,24,0,58,0,44,0,21,0 38,0,57,0,30,0,27,0,78,0,47,0 46,0,56,0,12,0,1,0,61,0,23,0 70,0,25,0,48,0,73,0,11,0,54,0 63,0,41,0,6,0,66,0,17,0,16,0 53,0,34,0,59,0,52,0,39,0,7,0 32,0,74,0,5,0,75,0,15,0,26,0 69,0,65,0,55,0,36,0,35,0,29,0 13,0,20,0,50,0,64,0,72,0,67,0 43,0,71,0,3,0,60,0,2,0,4,0 14,0,31,0,51,0,33,0,10,0,49,0 19,0,42,0,8,0,76,0,77,0,45,0 22,0,37,0,68,0,9,0,62,0,18,0 28,0,39,0,66,0,75,0,48,0,24,0 47,0,6,0,25,0,52,0,65,0,29,0 74,0,70,0,36,0,1,0,17,0,38,0 58,0,3,0,15,0,72,0,61,0,27,0 49,0,73,0,67,0,63,0,35,0,30,0 59,0,45,0,11,0,44,0,20,0,56,0 8,0,57,0,37,0,5,0,41,0,12,0 13,0,18,0,43,0,42,0,55,0,33,0 31,0,62,0,71,0,23,0,53,0,64,0 26,0,22,0,21,0,78,0,7,0,46,0 40,0,50,0,76,0,4,0,54,0,51,0 34,0,19,0,9,0,2,0,14,0,16,0 32,0,77,0,10,0,68,0,69,0,60,0 5,0,63,0,52,0,61,0,11,0,28,0 49,0,42,0,39,0,41,0,27,0,44,0 1,0,45,0,47,0,3,0,53,0,37,0 35,0,24,0,71,0,26,0,8,0,56,0 48,0,76,0,78,0,62,0,50,0,74,0 73,0,66,0,15,0,31,0,36,0,9,0 30,0,34,0,40,0,12,0,64,0,22,0 4,0,14,0,69,0,6,0,57,0,75,0 38,0,2,0,20,0,58,0,77,0,18,0 10,0,13,0,19,0,32,0,17,0,59,0 51,0,60,0,46,0,25,0,72,0,55,0 29,0,16,0,33,0,67,0,21,0,70,0 23,0,43,0,65,0,7,0,68,0,54,0 27,0,50,0,71,0,28,0,9,0,45,0 41,0,62,0,11,0,47,0,24,0,15,0 49,0,2,0,56,0,52,0,37,0,36,0 26,0,20,0,6,0,34,0,42,0,12,0 3,0,25,0,75,0,17,0,63,0,76,0 77,0,61,0,30,0,31,0,33,0,48,0 43,0,1,0,72,0,10,0,69,0,39,0 68,0,59,0,64,0,70,0,57,0,4,0 54,0,58,0,16,0,35,0,5,0,46,0 66,0,51,0,78,0,67,0,18,0,23,0 32,0,53,0,38,0,55,0,40,0,73,0 22,0,60,0,13,0,19,0,65,0,21,0 7,0,44,0,29,0,14,0,74,0,8,0 50,0,34,0,77,0,63,0,47,0,43,0 68,0,12,0,27,0,31,0,2,0,25,0 70,0,72,0,45,0,62,0,49,0,5,0 28,0,76,0,56,0,64,0,18,0,16,0 46,0,57,0,33,0,6,0,15,0,36,0 51,0,58,0,32,0,39,0,21,0,37,0 9,0,42,0,59,0,60,0,1,0,40,0 78,0,17,0,65,0,24,0,61,0,20,0 7,0,13,0,75,0,29,0,71,0,11,0 44,0,52,0,23,0,10,0,26,0,73,0 54,0,66,0,30,0,8,0,69,0,53,0 14,0,35,0,22,0,38,0,48,0,3,0 74,0,19,0,4,0,41,0,67,0,55,0 16,0,31,0,21,0,43,0,45,0,57,0 61,0,39,0,6,0,18,0,70,0,40,0 49,0,77,0,9,0,46,0,11,0,65,0 7,0,33,0,27,0,72,0,32,0,56,0 15,0,29,0,76,0,26,0,30,0,59,0 73,0,5,0,13,0,51,0,24,0,1,0 3,0,8,0,41,0,68,0,38,0,50,0 67,0,53,0,60,0,12,0,75,0,36,0 54,0,2,0,10,0,28,0,22,0,74,0 19,0,66,0,52,0,20,0,62,0,35,0 42,0,17,0,4,0,48,0,23,0,34,0 44,0,69,0,64,0,25,0,37,0,78,0 55,0,47,0,58,0,14,0,71,0,63,0 68,0,11,0,33,0,39,0,76,0,73,0 24,0,7,0,32,0,6,0,49,0,3,0 12,0,28,0,65,0,72,0,74,0,59,0 60,0,26,0,57,0,61,0,50,0,66,0 10,0,30,0,75,0,46,0,62,0,42,0 44,0,67,0,51,0,43,0,52,0,15,0 37,0,40,0,14,0,13,0,27,0,16,0 78,0,77,0,35,0,53,0,70,0,41,0 29,0,38,0,63,0,45,0,23,0,19,0 48,0,55,0,1,0,2,0,8,0,64,0 31,0,5,0,58,0,56,0,22,0,17,0 21,0,69,0,47,0,9,0,4,0,20,0 34,0,18,0,36,0,71,0,54,0,25,0 ================================================ FILE: schedules/78_11.csv ================================================ 7,0,40,0,15,0,14,0,49,0,9,0 21,0,38,0,6,0,74,0,47,0,57,0 4,0,61,0,76,0,41,0,68,0,29,0 43,0,63,0,67,0,44,0,65,0,17,0 32,0,52,0,35,0,26,0,33,0,1,0 24,0,73,0,22,0,77,0,71,0,27,0 19,0,60,0,56,0,69,0,18,0,53,0 37,0,20,0,42,0,78,0,58,0,39,0 75,0,10,0,50,0,59,0,55,0,72,0 51,0,11,0,8,0,30,0,62,0,3,0 16,0,54,0,13,0,31,0,12,0,48,0 34,0,23,0,2,0,66,0,46,0,36,0 64,0,25,0,28,0,5,0,70,0,45,0 21,0,9,0,24,0,56,0,49,0,35,0 32,0,44,0,40,0,71,0,61,0,58,0 47,0,63,0,33,0,77,0,39,0,19,0 59,0,74,0,53,0,65,0,55,0,62,0 60,0,38,0,30,0,54,0,6,0,68,0 73,0,12,0,42,0,75,0,18,0,8,0 14,0,11,0,76,0,72,0,22,0,43,0 31,0,51,0,26,0,78,0,64,0,41,0 46,0,5,0,57,0,7,0,10,0,1,0 52,0,2,0,37,0,23,0,67,0,28,0 70,0,4,0,27,0,36,0,45,0,16,0 25,0,50,0,29,0,69,0,48,0,15,0 34,0,3,0,66,0,13,0,20,0,17,0 12,0,18,0,60,0,40,0,72,0,62,0 59,0,19,0,78,0,32,0,54,0,76,0 24,0,11,0,39,0,46,0,74,0,41,0 21,0,43,0,68,0,10,0,33,0,2,0 49,0,51,0,65,0,57,0,37,0,38,0 31,0,45,0,9,0,63,0,42,0,1,0 73,0,70,0,3,0,52,0,22,0,29,0 71,0,8,0,16,0,67,0,14,0,53,0 36,0,77,0,56,0,50,0,13,0,15,0 55,0,44,0,47,0,7,0,4,0,48,0 64,0,30,0,17,0,23,0,61,0,27,0 35,0,34,0,20,0,5,0,28,0,69,0 26,0,6,0,66,0,58,0,25,0,75,0 41,0,10,0,21,0,70,0,62,0,54,0 38,0,19,0,71,0,8,0,52,0,12,0 68,0,65,0,14,0,24,0,49,0,1,0 33,0,67,0,15,0,46,0,45,0,59,0 27,0,53,0,50,0,13,0,76,0,39,0 60,0,31,0,55,0,73,0,57,0,23,0 78,0,47,0,16,0,9,0,34,0,75,0 22,0,5,0,40,0,66,0,4,0,69,0 58,0,11,0,64,0,35,0,77,0,18,0 74,0,25,0,17,0,7,0,56,0,37,0 20,0,32,0,43,0,63,0,48,0,30,0 42,0,44,0,36,0,29,0,28,0,51,0 2,0,72,0,6,0,3,0,26,0,61,0 34,0,50,0,1,0,60,0,41,0,67,0 59,0,38,0,23,0,24,0,5,0,4,0 76,0,8,0,78,0,64,0,33,0,40,0 27,0,25,0,11,0,68,0,52,0,47,0 18,0,37,0,13,0,75,0,46,0,63,0 74,0,14,0,30,0,42,0,19,0,29,0 31,0,49,0,44,0,56,0,22,0,6,0 45,0,77,0,54,0,7,0,43,0,66,0 28,0,53,0,26,0,17,0,10,0,9,0 55,0,51,0,21,0,61,0,20,0,15,0 35,0,48,0,65,0,72,0,71,0,70,0 39,0,3,0,36,0,57,0,12,0,58,0 62,0,16,0,32,0,2,0,73,0,69,0 14,0,31,0,18,0,38,0,25,0,34,0 41,0,22,0,59,0,13,0,52,0,30,0 8,0,43,0,29,0,24,0,47,0,26,0 20,0,33,0,7,0,60,0,61,0,11,0 45,0,72,0,37,0,53,0,21,0,44,0 3,0,23,0,63,0,68,0,74,0,15,0 16,0,35,0,17,0,55,0,40,0,54,0 1,0,48,0,9,0,27,0,58,0,6,0 77,0,69,0,70,0,67,0,75,0,51,0 39,0,46,0,28,0,4,0,71,0,32,0 73,0,10,0,19,0,65,0,36,0,64,0 66,0,62,0,57,0,56,0,76,0,42,0 78,0,12,0,2,0,5,0,49,0,50,0 33,0,17,0,24,0,44,0,30,0,18,0 58,0,7,0,72,0,68,0,31,0,8,0 41,0,37,0,43,0,3,0,59,0,27,0 9,0,38,0,13,0,32,0,55,0,70,0 53,0,46,0,1,0,22,0,47,0,51,0 75,0,15,0,4,0,19,0,62,0,61,0 77,0,48,0,60,0,42,0,35,0,2,0 69,0,10,0,23,0,14,0,12,0,6,0 40,0,36,0,49,0,20,0,25,0,67,0 74,0,76,0,45,0,26,0,73,0,34,0 63,0,54,0,57,0,50,0,11,0,71,0 52,0,65,0,28,0,66,0,78,0,21,0 16,0,56,0,29,0,64,0,5,0,39,0 17,0,41,0,72,0,77,0,15,0,32,0 44,0,1,0,62,0,13,0,19,0,23,0 25,0,3,0,8,0,9,0,60,0,46,0 76,0,36,0,35,0,47,0,31,0,37,0 58,0,54,0,4,0,2,0,49,0,74,0 51,0,12,0,27,0,34,0,33,0,55,0 75,0,20,0,68,0,45,0,71,0,56,0 5,0,67,0,73,0,14,0,21,0,39,0 69,0,64,0,52,0,43,0,42,0,57,0 59,0,66,0,29,0,16,0,38,0,11,0 28,0,40,0,6,0,24,0,53,0,63,0 65,0,30,0,70,0,7,0,50,0,26,0 78,0,18,0,61,0,22,0,48,0,10,0 2,0,1,0,71,0,55,0,25,0,76,0 74,0,60,0,51,0,17,0,5,0,31,0 64,0,42,0,67,0,4,0,72,0,13,0 75,0,14,0,35,0,57,0,44,0,41,0 32,0,12,0,24,0,11,0,66,0,37,0 26,0,68,0,46,0,21,0,59,0,36,0 54,0,9,0,61,0,77,0,65,0,23,0 22,0,33,0,19,0,16,0,28,0,50,0 7,0,27,0,63,0,69,0,29,0,78,0 56,0,53,0,58,0,43,0,73,0,38,0 52,0,48,0,39,0,62,0,34,0,49,0 70,0,20,0,8,0,6,0,18,0,15,0 45,0,47,0,30,0,10,0,3,0,40,0 37,0,77,0,26,0,60,0,4,0,14,0 67,0,55,0,9,0,19,0,68,0,66,0 78,0,13,0,25,0,57,0,24,0,72,0 75,0,2,0,64,0,22,0,7,0,38,0 12,0,61,0,50,0,35,0,74,0,43,0 46,0,29,0,62,0,20,0,31,0,65,0 63,0,10,0,58,0,76,0,16,0,51,0 23,0,11,0,48,0,39,0,45,0,40,0 36,0,5,0,18,0,3,0,54,0,52,0 34,0,27,0,44,0,21,0,8,0,32,0 33,0,49,0,69,0,53,0,41,0,70,0 73,0,15,0,56,0,1,0,30,0,28,0 42,0,71,0,17,0,6,0,59,0,47,0 57,0,77,0,68,0,12,0,16,0,37,0 45,0,55,0,13,0,29,0,60,0,58,0 22,0,75,0,39,0,25,0,54,0,65,0 10,0,20,0,52,0,44,0,74,0,9,0 40,0,41,0,31,0,21,0,19,0,2,0 76,0,7,0,3,0,67,0,24,0,48,0 49,0,72,0,66,0,30,0,46,0,27,0 6,0,4,0,73,0,78,0,35,0,33,0 28,0,71,0,43,0,23,0,51,0,18,0 62,0,50,0,14,0,47,0,32,0,64,0 1,0,69,0,36,0,8,0,17,0,38,0 61,0,59,0,63,0,34,0,70,0,56,0 26,0,15,0,5,0,53,0,42,0,11,0 ================================================ FILE: schedules/78_12.csv ================================================ 14,0,77,0,46,0,9,0,11,0,47,0 27,0,67,0,69,0,64,0,51,0,29,0 2,0,32,0,16,0,37,0,45,0,23,0 54,0,4,0,49,0,73,0,52,0,57,0 43,0,39,0,13,0,36,0,26,0,58,0 3,0,5,0,76,0,7,0,28,0,59,0 15,0,31,0,34,0,48,0,50,0,65,0 18,0,71,0,78,0,66,0,63,0,22,0 42,0,60,0,41,0,55,0,17,0,56,0 44,0,33,0,62,0,20,0,38,0,75,0 72,0,68,0,19,0,74,0,30,0,53,0 10,0,40,0,1,0,8,0,12,0,25,0 21,0,70,0,61,0,24,0,6,0,35,0 39,0,64,0,50,0,11,0,32,0,52,0 9,0,13,0,73,0,27,0,34,0,78,0 7,0,49,0,2,0,31,0,55,0,29,0 65,0,3,0,51,0,4,0,18,0,36,0 77,0,56,0,72,0,57,0,45,0,19,0 60,0,16,0,8,0,76,0,54,0,33,0 40,0,30,0,68,0,42,0,43,0,75,0 62,0,6,0,63,0,5,0,58,0,12,0 67,0,26,0,70,0,14,0,23,0,38,0 28,0,1,0,48,0,20,0,41,0,66,0 59,0,35,0,22,0,69,0,46,0,15,0 47,0,24,0,74,0,25,0,17,0,10,0 21,0,44,0,53,0,61,0,37,0,71,0 9,0,3,0,42,0,33,0,39,0,49,0 5,0,18,0,73,0,36,0,31,0,68,0 60,0,14,0,7,0,63,0,72,0,34,0 8,0,20,0,51,0,16,0,64,0,65,0 13,0,46,0,67,0,52,0,4,0,75,0 74,0,23,0,32,0,48,0,66,0,59,0 15,0,57,0,76,0,17,0,24,0,78,0 54,0,29,0,10,0,70,0,19,0,53,0 43,0,21,0,2,0,12,0,22,0,77,0 11,0,28,0,45,0,58,0,38,0,61,0 1,0,69,0,71,0,56,0,30,0,6,0 25,0,35,0,50,0,62,0,41,0,27,0 47,0,26,0,40,0,44,0,55,0,37,0 46,0,23,0,34,0,39,0,20,0,68,0 3,0,75,0,66,0,24,0,72,0,65,0 76,0,52,0,42,0,18,0,10,0,48,0 64,0,7,0,45,0,9,0,57,0,22,0 33,0,16,0,73,0,59,0,63,0,77,0 13,0,6,0,60,0,11,0,41,0,53,0 71,0,67,0,31,0,47,0,58,0,25,0 44,0,1,0,32,0,17,0,70,0,62,0 37,0,26,0,12,0,5,0,15,0,51,0 54,0,30,0,36,0,28,0,74,0,2,0 29,0,4,0,56,0,61,0,8,0,50,0 55,0,43,0,27,0,69,0,14,0,21,0 78,0,49,0,38,0,40,0,19,0,35,0 6,0,47,0,20,0,3,0,73,0,22,0 45,0,24,0,31,0,59,0,33,0,52,0 13,0,25,0,42,0,12,0,16,0,46,0 18,0,39,0,62,0,57,0,67,0,37,0 15,0,4,0,71,0,23,0,29,0,60,0 32,0,36,0,9,0,72,0,8,0,26,0 53,0,49,0,1,0,28,0,14,0,27,0 34,0,66,0,54,0,40,0,17,0,69,0 50,0,38,0,30,0,21,0,10,0,5,0 77,0,70,0,43,0,78,0,7,0,51,0 19,0,2,0,48,0,58,0,11,0,75,0 63,0,74,0,55,0,61,0,65,0,35,0 68,0,41,0,56,0,76,0,64,0,44,0 25,0,20,0,49,0,32,0,15,0,60,0 17,0,27,0,23,0,52,0,12,0,3,0 26,0,66,0,6,0,42,0,59,0,34,0 53,0,8,0,5,0,69,0,77,0,39,0 21,0,48,0,11,0,47,0,57,0,33,0 22,0,40,0,54,0,62,0,29,0,72,0 75,0,73,0,70,0,56,0,28,0,64,0 78,0,30,0,16,0,14,0,36,0,67,0 58,0,2,0,4,0,9,0,44,0,35,0 18,0,24,0,19,0,1,0,55,0,50,0 71,0,38,0,41,0,7,0,74,0,37,0 68,0,76,0,51,0,61,0,13,0,31,0 10,0,63,0,65,0,43,0,46,0,45,0 64,0,11,0,25,0,21,0,49,0,26,0 42,0,56,0,27,0,77,0,32,0,54,0 66,0,53,0,23,0,73,0,35,0,30,0 28,0,69,0,72,0,16,0,44,0,18,0 37,0,29,0,52,0,36,0,12,0,20,0 59,0,51,0,24,0,7,0,19,0,47,0 45,0,17,0,76,0,71,0,14,0,50,0 60,0,61,0,43,0,3,0,48,0,62,0 9,0,15,0,68,0,67,0,1,0,63,0 75,0,34,0,74,0,55,0,22,0,8,0 57,0,2,0,65,0,5,0,13,0,70,0 33,0,58,0,41,0,40,0,46,0,78,0 39,0,6,0,31,0,4,0,10,0,38,0 17,0,11,0,36,0,56,0,7,0,20,0 24,0,73,0,69,0,71,0,45,0,26,0 54,0,47,0,61,0,49,0,23,0,18,0 35,0,3,0,37,0,1,0,34,0,76,0 12,0,59,0,21,0,65,0,60,0,9,0 44,0,8,0,41,0,67,0,19,0,43,0 55,0,6,0,72,0,39,0,15,0,28,0 31,0,63,0,75,0,74,0,57,0,27,0 14,0,32,0,10,0,40,0,13,0,51,0 53,0,78,0,62,0,42,0,64,0,2,0 50,0,16,0,52,0,58,0,22,0,70,0 66,0,38,0,25,0,4,0,68,0,77,0 48,0,29,0,33,0,46,0,5,0,30,0 37,0,17,0,59,0,43,0,72,0,49,0 44,0,54,0,7,0,6,0,21,0,65,0 47,0,35,0,36,0,45,0,60,0,75,0 20,0,15,0,18,0,10,0,56,0,13,0 28,0,57,0,50,0,26,0,42,0,23,0 12,0,41,0,9,0,70,0,31,0,69,0 66,0,77,0,55,0,58,0,29,0,67,0 27,0,19,0,16,0,40,0,61,0,39,0 46,0,76,0,73,0,38,0,2,0,1,0 11,0,34,0,30,0,62,0,32,0,24,0 25,0,22,0,48,0,53,0,63,0,51,0 52,0,8,0,78,0,3,0,71,0,68,0 14,0,33,0,5,0,4,0,64,0,74,0 29,0,75,0,6,0,18,0,9,0,17,0 39,0,27,0,70,0,66,0,47,0,60,0 72,0,10,0,58,0,73,0,41,0,21,0 1,0,31,0,11,0,43,0,23,0,54,0 20,0,59,0,57,0,55,0,30,0,2,0 37,0,65,0,69,0,78,0,28,0,77,0 19,0,14,0,4,0,62,0,15,0,22,0 67,0,33,0,12,0,32,0,76,0,53,0 61,0,56,0,5,0,52,0,34,0,25,0 45,0,50,0,40,0,13,0,74,0,3,0 64,0,8,0,63,0,24,0,42,0,38,0 46,0,36,0,51,0,71,0,44,0,49,0 48,0,26,0,7,0,35,0,68,0,16,0 30,0,60,0,22,0,37,0,9,0,31,0 70,0,18,0,59,0,4,0,11,0,27,0 73,0,61,0,77,0,41,0,14,0,15,0 65,0,40,0,58,0,56,0,23,0,76,0 28,0,17,0,8,0,63,0,2,0,13,0 1,0,52,0,74,0,21,0,42,0,51,0 35,0,5,0,20,0,67,0,54,0,24,0 75,0,49,0,50,0,69,0,7,0,53,0 12,0,64,0,34,0,71,0,47,0,72,0 39,0,25,0,44,0,78,0,48,0,45,0 57,0,66,0,29,0,38,0,16,0,43,0 32,0,19,0,26,0,6,0,46,0,3,0 36,0,55,0,62,0,33,0,10,0,68,0 65,0,67,0,22,0,42,0,11,0,73,0 7,0,15,0,58,0,30,0,8,0,27,0 18,0,52,0,2,0,34,0,40,0,41,0 47,0,69,0,4,0,63,0,76,0,20,0 59,0,75,0,72,0,1,0,78,0,61,0 28,0,71,0,35,0,57,0,43,0,32,0 36,0,64,0,23,0,6,0,25,0,19,0 33,0,37,0,46,0,56,0,70,0,50,0 3,0,53,0,17,0,16,0,31,0,21,0 55,0,38,0,13,0,48,0,9,0,54,0 10,0,74,0,77,0,60,0,44,0,26,0 68,0,24,0,14,0,12,0,39,0,29,0 51,0,45,0,49,0,66,0,62,0,5,0 ================================================ FILE: schedules/78_13.csv ================================================ 4,0,43,0,20,0,2,0,39,0,67,0 55,0,28,0,64,0,29,0,30,0,8,0 72,0,69,0,62,0,42,0,41,0,65,0 21,0,38,0,71,0,52,0,47,0,16,0 77,0,53,0,51,0,25,0,6,0,73,0 12,0,78,0,50,0,74,0,9,0,40,0 44,0,27,0,35,0,24,0,57,0,49,0 56,0,66,0,10,0,31,0,14,0,70,0 18,0,32,0,59,0,45,0,33,0,19,0 63,0,75,0,46,0,48,0,7,0,23,0 61,0,58,0,37,0,3,0,26,0,5,0 11,0,76,0,60,0,36,0,34,0,1,0 15,0,13,0,68,0,54,0,17,0,22,0 41,0,24,0,12,0,40,0,57,0,52,0 50,0,21,0,31,0,30,0,65,0,4,0 18,0,28,0,2,0,73,0,62,0,44,0 6,0,71,0,55,0,70,0,48,0,42,0 74,0,56,0,19,0,77,0,26,0,16,0 37,0,47,0,9,0,51,0,75,0,64,0 33,0,15,0,66,0,20,0,61,0,53,0 29,0,46,0,67,0,10,0,17,0,1,0 43,0,54,0,72,0,32,0,63,0,11,0 22,0,3,0,7,0,25,0,27,0,34,0 76,0,23,0,39,0,60,0,14,0,38,0 36,0,8,0,13,0,78,0,49,0,59,0 35,0,58,0,5,0,68,0,45,0,69,0 26,0,24,0,6,0,41,0,31,0,15,0 40,0,29,0,65,0,33,0,47,0,67,0 63,0,64,0,18,0,20,0,55,0,74,0 34,0,77,0,70,0,12,0,52,0,30,0 48,0,46,0,9,0,43,0,21,0,62,0 10,0,19,0,72,0,44,0,51,0,13,0 57,0,45,0,37,0,14,0,39,0,25,0 68,0,54,0,7,0,56,0,1,0,3,0 59,0,16,0,76,0,66,0,4,0,28,0 32,0,78,0,27,0,60,0,5,0,2,0 50,0,17,0,61,0,23,0,35,0,11,0 42,0,58,0,22,0,8,0,73,0,38,0 49,0,36,0,75,0,69,0,71,0,53,0 18,0,30,0,10,0,12,0,39,0,9,0 14,0,33,0,77,0,55,0,43,0,13,0 25,0,19,0,3,0,21,0,74,0,1,0 70,0,78,0,28,0,54,0,46,0,65,0 4,0,51,0,35,0,34,0,26,0,63,0 59,0,31,0,8,0,68,0,23,0,29,0 71,0,52,0,73,0,62,0,37,0,50,0 38,0,56,0,44,0,6,0,64,0,40,0 72,0,57,0,47,0,15,0,61,0,45,0 2,0,41,0,27,0,53,0,48,0,36,0 69,0,7,0,58,0,24,0,67,0,76,0 49,0,32,0,60,0,75,0,22,0,66,0 16,0,11,0,17,0,20,0,42,0,5,0 70,0,43,0,1,0,31,0,37,0,35,0 64,0,14,0,26,0,28,0,12,0,65,0 57,0,23,0,50,0,51,0,54,0,18,0 8,0,33,0,2,0,34,0,74,0,6,0 68,0,62,0,41,0,13,0,45,0,7,0 22,0,10,0,60,0,71,0,77,0,72,0 36,0,66,0,11,0,29,0,24,0,73,0 78,0,75,0,55,0,4,0,21,0,44,0 25,0,15,0,5,0,76,0,46,0,42,0 38,0,59,0,30,0,27,0,61,0,67,0 63,0,48,0,69,0,17,0,32,0,52,0 39,0,19,0,16,0,3,0,40,0,53,0 58,0,20,0,9,0,49,0,56,0,47,0 66,0,26,0,50,0,1,0,2,0,7,0 74,0,11,0,51,0,70,0,22,0,45,0 57,0,31,0,64,0,46,0,60,0,36,0 34,0,24,0,75,0,61,0,10,0,78,0 71,0,12,0,67,0,8,0,63,0,35,0 37,0,72,0,6,0,30,0,19,0,76,0 52,0,43,0,23,0,28,0,44,0,15,0 55,0,54,0,21,0,59,0,41,0,58,0 39,0,27,0,4,0,56,0,33,0,62,0 69,0,47,0,42,0,18,0,68,0,53,0 5,0,14,0,49,0,77,0,48,0,40,0 25,0,20,0,17,0,9,0,73,0,65,0 16,0,3,0,38,0,29,0,32,0,13,0 61,0,52,0,22,0,36,0,64,0,7,0 58,0,43,0,66,0,57,0,41,0,71,0 67,0,6,0,59,0,75,0,62,0,74,0 39,0,55,0,11,0,10,0,68,0,26,0 14,0,47,0,4,0,19,0,24,0,54,0 63,0,5,0,45,0,50,0,30,0,33,0 1,0,38,0,49,0,78,0,15,0,2,0 21,0,25,0,29,0,69,0,70,0,18,0 56,0,46,0,16,0,73,0,72,0,35,0 23,0,77,0,32,0,20,0,65,0,34,0 40,0,51,0,31,0,27,0,42,0,28,0 60,0,13,0,17,0,12,0,37,0,53,0 3,0,9,0,8,0,44,0,48,0,76,0 64,0,67,0,68,0,71,0,14,0,2,0 22,0,57,0,63,0,6,0,29,0,78,0 70,0,15,0,38,0,50,0,19,0,75,0 74,0,52,0,65,0,58,0,10,0,39,0 47,0,40,0,62,0,31,0,1,0,11,0 30,0,34,0,23,0,16,0,13,0,49,0 24,0,56,0,51,0,48,0,43,0,59,0 8,0,46,0,55,0,69,0,37,0,32,0 4,0,61,0,60,0,41,0,25,0,28,0 54,0,5,0,44,0,20,0,66,0,12,0 9,0,17,0,18,0,26,0,72,0,27,0 3,0,35,0,45,0,42,0,77,0,36,0 53,0,33,0,73,0,76,0,21,0,7,0 15,0,30,0,75,0,2,0,56,0,65,0 50,0,43,0,47,0,16,0,22,0,55,0 63,0,28,0,13,0,24,0,25,0,58,0 20,0,14,0,46,0,41,0,52,0,1,0 44,0,29,0,18,0,71,0,34,0,61,0 17,0,39,0,5,0,36,0,59,0,51,0 68,0,37,0,48,0,74,0,66,0,78,0 57,0,69,0,33,0,38,0,11,0,26,0 53,0,32,0,45,0,10,0,4,0,64,0 35,0,42,0,6,0,9,0,7,0,60,0 72,0,70,0,12,0,23,0,3,0,62,0 77,0,21,0,8,0,40,0,27,0,54,0 31,0,76,0,73,0,19,0,67,0,49,0 63,0,65,0,1,0,22,0,44,0,59,0 17,0,33,0,28,0,56,0,57,0,75,0 50,0,53,0,34,0,58,0,14,0,48,0 35,0,78,0,30,0,47,0,10,0,41,0 24,0,7,0,15,0,70,0,39,0,32,0 74,0,43,0,64,0,42,0,21,0,13,0 73,0,23,0,19,0,5,0,55,0,27,0 6,0,54,0,11,0,16,0,37,0,25,0 26,0,71,0,29,0,76,0,40,0,45,0 2,0,69,0,31,0,9,0,77,0,61,0 68,0,49,0,51,0,4,0,46,0,12,0 20,0,62,0,8,0,72,0,66,0,38,0 3,0,52,0,36,0,18,0,67,0,60,0 1,0,73,0,48,0,70,0,13,0,64,0 7,0,59,0,42,0,37,0,44,0,14,0 29,0,74,0,35,0,54,0,23,0,53,0 10,0,50,0,27,0,28,0,69,0,6,0 39,0,41,0,22,0,9,0,63,0,19,0 61,0,62,0,76,0,68,0,20,0,77,0 30,0,3,0,49,0,43,0,57,0,17,0 60,0,45,0,34,0,15,0,56,0,55,0 2,0,4,0,52,0,8,0,11,0,47,0 67,0,26,0,51,0,66,0,32,0,21,0 71,0,65,0,24,0,46,0,38,0,5,0 16,0,18,0,33,0,78,0,31,0,58,0 12,0,40,0,36,0,25,0,72,0,75,0 28,0,48,0,29,0,19,0,35,0,20,0 73,0,34,0,54,0,39,0,69,0,43,0 44,0,74,0,41,0,17,0,76,0,47,0 21,0,10,0,2,0,37,0,23,0,22,0 61,0,26,0,42,0,52,0,49,0,63,0 70,0,53,0,56,0,8,0,57,0,67,0 78,0,77,0,24,0,50,0,64,0,72,0 32,0,36,0,25,0,30,0,14,0,62,0 1,0,27,0,46,0,45,0,58,0,75,0 5,0,12,0,7,0,55,0,31,0,38,0 71,0,11,0,9,0,3,0,59,0,15,0 68,0,16,0,60,0,51,0,65,0,33,0 66,0,40,0,13,0,6,0,18,0,4,0 37,0,41,0,49,0,56,0,29,0,50,0 42,0,67,0,25,0,78,0,26,0,23,0 19,0,34,0,58,0,64,0,17,0,62,0 22,0,2,0,76,0,35,0,24,0,55,0 38,0,48,0,54,0,45,0,31,0,10,0 7,0,65,0,61,0,51,0,8,0,43,0 12,0,63,0,15,0,27,0,16,0,21,0 40,0,20,0,30,0,60,0,59,0,69,0 74,0,73,0,57,0,4,0,71,0,32,0 13,0,39,0,77,0,47,0,66,0,46,0 14,0,75,0,6,0,18,0,3,0,11,0 44,0,9,0,70,0,36,0,33,0,68,0 53,0,72,0,1,0,28,0,52,0,5,0 ================================================ FILE: schedules/78_14.csv ================================================ 32,0,25,0,64,0,69,0,20,0,50,0 9,0,26,0,37,0,67,0,14,0,36,0 48,0,27,0,8,0,2,0,63,0,45,0 16,0,51,0,17,0,34,0,75,0,77,0 74,0,49,0,31,0,43,0,21,0,5,0 55,0,52,0,13,0,30,0,18,0,12,0 41,0,56,0,19,0,76,0,47,0,70,0 42,0,78,0,15,0,68,0,10,0,22,0 58,0,1,0,39,0,54,0,57,0,29,0 72,0,11,0,46,0,71,0,59,0,66,0 7,0,62,0,23,0,61,0,60,0,4,0 40,0,3,0,65,0,53,0,38,0,33,0 24,0,44,0,73,0,35,0,28,0,6,0 52,0,30,0,41,0,25,0,36,0,48,0 45,0,37,0,18,0,22,0,74,0,43,0 16,0,54,0,77,0,20,0,19,0,10,0 68,0,8,0,58,0,76,0,75,0,56,0 64,0,21,0,13,0,63,0,51,0,39,0 50,0,55,0,60,0,49,0,2,0,11,0 78,0,9,0,46,0,12,0,53,0,23,0 70,0,29,0,72,0,69,0,28,0,67,0 14,0,26,0,71,0,31,0,24,0,65,0 34,0,32,0,38,0,4,0,47,0,73,0 42,0,40,0,66,0,44,0,61,0,6,0 3,0,59,0,57,0,5,0,1,0,7,0 15,0,17,0,35,0,33,0,62,0,27,0 37,0,77,0,76,0,53,0,25,0,49,0 52,0,9,0,20,0,23,0,74,0,63,0 30,0,48,0,67,0,46,0,60,0,64,0 70,0,41,0,28,0,50,0,34,0,8,0 21,0,73,0,65,0,69,0,44,0,56,0 31,0,16,0,47,0,57,0,22,0,7,0 33,0,39,0,54,0,2,0,59,0,61,0 38,0,26,0,11,0,13,0,45,0,68,0 36,0,62,0,10,0,58,0,3,0,12,0 24,0,1,0,35,0,66,0,78,0,51,0 71,0,27,0,4,0,19,0,75,0,40,0 6,0,55,0,32,0,42,0,43,0,29,0 18,0,5,0,17,0,14,0,72,0,15,0 67,0,33,0,74,0,7,0,8,0,69,0 23,0,65,0,61,0,76,0,16,0,41,0 3,0,26,0,56,0,63,0,22,0,25,0 45,0,34,0,10,0,39,0,46,0,49,0 36,0,68,0,66,0,73,0,31,0,62,0 12,0,47,0,2,0,44,0,77,0,4,0 21,0,55,0,14,0,78,0,37,0,27,0 32,0,58,0,19,0,30,0,5,0,64,0 18,0,28,0,42,0,48,0,17,0,71,0 15,0,13,0,75,0,29,0,35,0,59,0 51,0,20,0,53,0,57,0,72,0,52,0 9,0,38,0,6,0,11,0,50,0,1,0 60,0,43,0,24,0,70,0,40,0,54,0 77,0,49,0,3,0,61,0,78,0,73,0 32,0,10,0,12,0,45,0,27,0,56,0 48,0,23,0,31,0,44,0,37,0,19,0 25,0,34,0,5,0,65,0,35,0,68,0 69,0,26,0,52,0,29,0,2,0,75,0 64,0,53,0,58,0,42,0,55,0,7,0 30,0,38,0,39,0,74,0,70,0,16,0 72,0,66,0,8,0,9,0,33,0,13,0 41,0,22,0,54,0,15,0,51,0,6,0 46,0,47,0,28,0,62,0,43,0,14,0 24,0,63,0,11,0,67,0,4,0,18,0 71,0,1,0,60,0,36,0,21,0,20,0 17,0,40,0,57,0,59,0,50,0,76,0 25,0,38,0,29,0,31,0,78,0,34,0 73,0,45,0,9,0,70,0,58,0,42,0 2,0,74,0,68,0,10,0,6,0,65,0 5,0,61,0,27,0,46,0,69,0,51,0 54,0,4,0,43,0,30,0,35,0,72,0 53,0,1,0,8,0,23,0,26,0,18,0 62,0,24,0,59,0,22,0,64,0,77,0 17,0,39,0,36,0,44,0,11,0,60,0 12,0,28,0,48,0,33,0,32,0,76,0 56,0,37,0,40,0,7,0,19,0,52,0 75,0,55,0,66,0,47,0,20,0,67,0 16,0,15,0,50,0,3,0,21,0,63,0 71,0,41,0,13,0,49,0,14,0,57,0 2,0,38,0,43,0,5,0,23,0,42,0 29,0,27,0,64,0,18,0,9,0,44,0 62,0,12,0,65,0,59,0,1,0,54,0 11,0,33,0,22,0,19,0,34,0,53,0 40,0,8,0,28,0,47,0,30,0,77,0 72,0,17,0,67,0,21,0,6,0,68,0 36,0,73,0,75,0,48,0,24,0,61,0 13,0,4,0,51,0,10,0,37,0,3,0 57,0,35,0,69,0,60,0,56,0,63,0 76,0,58,0,20,0,41,0,46,0,31,0 55,0,15,0,25,0,70,0,39,0,71,0 26,0,49,0,78,0,74,0,32,0,7,0 52,0,16,0,66,0,45,0,50,0,14,0 72,0,28,0,54,0,38,0,27,0,36,0 68,0,17,0,43,0,8,0,64,0,3,0 69,0,21,0,75,0,11,0,10,0,42,0 6,0,59,0,20,0,56,0,48,0,34,0 61,0,47,0,13,0,15,0,9,0,65,0 71,0,63,0,77,0,1,0,37,0,32,0 51,0,25,0,14,0,40,0,45,0,60,0 67,0,70,0,2,0,31,0,53,0,18,0 33,0,23,0,16,0,49,0,55,0,58,0 19,0,74,0,12,0,24,0,66,0,29,0 44,0,50,0,57,0,4,0,22,0,30,0 46,0,7,0,76,0,73,0,35,0,52,0 62,0,5,0,78,0,41,0,26,0,39,0 3,0,69,0,45,0,34,0,71,0,6,0 1,0,25,0,31,0,28,0,75,0,11,0 47,0,59,0,58,0,51,0,67,0,42,0 23,0,14,0,56,0,64,0,54,0,74,0 66,0,27,0,49,0,53,0,48,0,57,0 4,0,68,0,33,0,70,0,36,0,43,0 65,0,46,0,50,0,78,0,77,0,55,0 44,0,12,0,15,0,60,0,38,0,19,0 63,0,30,0,76,0,10,0,7,0,72,0 37,0,21,0,2,0,41,0,20,0,24,0 18,0,13,0,73,0,40,0,62,0,16,0 9,0,39,0,35,0,26,0,17,0,32,0 61,0,22,0,8,0,5,0,29,0,52,0 4,0,42,0,14,0,67,0,1,0,49,0 78,0,65,0,58,0,15,0,43,0,48,0 76,0,44,0,54,0,55,0,34,0,74,0 60,0,75,0,53,0,33,0,41,0,6,0 18,0,63,0,20,0,51,0,68,0,28,0 36,0,23,0,19,0,59,0,32,0,45,0 30,0,56,0,29,0,3,0,66,0,17,0 9,0,8,0,10,0,22,0,40,0,31,0 11,0,61,0,70,0,27,0,12,0,26,0 37,0,47,0,7,0,50,0,72,0,5,0 25,0,57,0,21,0,62,0,38,0,46,0 64,0,35,0,2,0,16,0,71,0,73,0 24,0,77,0,52,0,13,0,39,0,69,0 29,0,14,0,44,0,53,0,68,0,59,0 63,0,6,0,78,0,36,0,76,0,18,0 31,0,45,0,4,0,41,0,61,0,17,0 22,0,65,0,75,0,72,0,49,0,32,0 19,0,55,0,3,0,26,0,28,0,21,0 7,0,12,0,9,0,25,0,54,0,2,0 64,0,57,0,1,0,52,0,10,0,70,0 42,0,16,0,60,0,24,0,8,0,46,0 27,0,40,0,67,0,13,0,34,0,20,0 23,0,51,0,73,0,33,0,15,0,30,0 39,0,50,0,48,0,56,0,62,0,71,0 66,0,69,0,38,0,58,0,37,0,43,0 11,0,77,0,74,0,35,0,47,0,5,0 64,0,72,0,44,0,45,0,78,0,41,0 68,0,24,0,32,0,61,0,55,0,57,0 6,0,25,0,7,0,19,0,8,0,14,0 20,0,26,0,4,0,15,0,46,0,18,0 50,0,67,0,3,0,23,0,27,0,39,0 36,0,56,0,31,0,16,0,49,0,69,0 51,0,74,0,29,0,48,0,11,0,65,0 35,0,12,0,21,0,40,0,2,0,58,0 5,0,22,0,28,0,13,0,66,0,60,0 73,0,63,0,53,0,54,0,17,0,47,0 59,0,10,0,33,0,38,0,71,0,52,0 70,0,30,0,62,0,37,0,42,0,75,0 34,0,43,0,76,0,9,0,1,0,77,0 46,0,44,0,32,0,51,0,11,0,3,0 39,0,4,0,19,0,18,0,8,0,65,0 29,0,36,0,22,0,14,0,35,0,20,0 74,0,5,0,41,0,73,0,55,0,40,0 49,0,47,0,38,0,6,0,64,0,24,0 10,0,2,0,78,0,66,0,28,0,62,0 45,0,76,0,57,0,67,0,15,0,37,0 31,0,75,0,50,0,12,0,63,0,54,0 42,0,56,0,1,0,72,0,33,0,77,0 68,0,69,0,71,0,9,0,53,0,30,0 43,0,59,0,27,0,26,0,16,0,25,0 52,0,61,0,34,0,58,0,21,0,60,0 70,0,7,0,48,0,17,0,23,0,13,0 40,0,74,0,15,0,28,0,36,0,64,0 73,0,20,0,37,0,8,0,11,0,12,0 75,0,35,0,41,0,38,0,14,0,3,0 62,0,51,0,45,0,29,0,76,0,9,0 42,0,6,0,77,0,31,0,26,0,57,0 53,0,61,0,43,0,56,0,10,0,50,0 17,0,46,0,19,0,1,0,13,0,2,0 58,0,72,0,23,0,39,0,24,0,25,0 5,0,67,0,71,0,44,0,78,0,16,0 48,0,22,0,59,0,4,0,55,0,69,0 66,0,70,0,34,0,63,0,7,0,65,0 33,0,21,0,18,0,32,0,54,0,30,0 60,0,52,0,49,0,27,0,68,0,47,0 ================================================ FILE: schedules/78_2.csv ================================================ 7,0,4,0,48,0,15,0,31,0,17,0 1,0,50,0,5,0,62,0,24,0,40,0 66,0,70,0,45,0,67,0,10,0,20,0 49,0,60,0,26,0,36,0,39,0,78,0 75,0,69,0,35,0,77,0,28,0,33,0 68,0,38,0,18,0,44,0,55,0,21,0 3,0,73,0,37,0,52,0,8,0,23,0 47,0,30,0,6,0,2,0,12,0,34,0 13,0,58,0,54,0,61,0,43,0,72,0 46,0,71,0,22,0,57,0,27,0,53,0 74,0,11,0,32,0,51,0,16,0,63,0 76,0,19,0,29,0,59,0,56,0,41,0 65,0,42,0,64,0,9,0,14,0,25,0 52,0,40,0,31,0,60,0,35,0,70,0 24,0,7,0,8,0,47,0,26,0,38,0 10,0,15,0,55,0,36,0,72,0,23,0 28,0,5,0,2,0,37,0,57,0,58,0 44,0,32,0,61,0,49,0,73,0,71,0 21,0,77,0,67,0,54,0,53,0,29,0 16,0,9,0,39,0,19,0,46,0,66,0 62,0,3,0,59,0,74,0,4,0,30,0 41,0,48,0,42,0,27,0,45,0,13,0 20,0,14,0,56,0,63,0,1,0,6,0 64,0,12,0,50,0,18,0,22,0,69,0 51,0,34,0,33,0,78,0,65,0,76,0 25,0,75,0,17,0,68,0,43,0,11,0 ================================================ FILE: schedules/78_3.csv ================================================ 55,0,7,0,30,0,22,0,67,0,14,0 73,0,21,0,42,0,2,0,71,0,58,0 29,0,13,0,74,0,59,0,19,0,54,0 4,0,49,0,1,0,63,0,61,0,17,0 64,0,8,0,43,0,28,0,76,0,9,0 36,0,23,0,31,0,6,0,78,0,15,0 51,0,47,0,33,0,12,0,68,0,62,0 39,0,40,0,25,0,52,0,45,0,72,0 77,0,50,0,41,0,3,0,69,0,32,0 35,0,44,0,16,0,34,0,70,0,65,0 10,0,46,0,66,0,75,0,48,0,60,0 5,0,20,0,57,0,37,0,11,0,26,0 18,0,56,0,38,0,53,0,24,0,27,0 28,0,71,0,74,0,30,0,51,0,36,0 14,0,73,0,9,0,19,0,45,0,47,0 52,0,22,0,42,0,17,0,50,0,15,0 65,0,6,0,3,0,25,0,4,0,8,0 35,0,2,0,60,0,39,0,49,0,55,0 58,0,59,0,26,0,63,0,68,0,76,0 46,0,70,0,56,0,20,0,78,0,77,0 12,0,54,0,38,0,69,0,16,0,66,0 67,0,34,0,31,0,53,0,5,0,72,0 43,0,13,0,21,0,48,0,27,0,44,0 62,0,37,0,61,0,41,0,40,0,7,0 64,0,24,0,23,0,75,0,33,0,11,0 32,0,57,0,10,0,29,0,1,0,18,0 74,0,26,0,47,0,25,0,42,0,49,0 76,0,6,0,45,0,55,0,46,0,54,0 20,0,53,0,4,0,71,0,15,0,9,0 50,0,72,0,19,0,2,0,16,0,36,0 12,0,3,0,7,0,31,0,56,0,35,0 60,0,24,0,61,0,78,0,13,0,8,0 5,0,43,0,51,0,10,0,52,0,14,0 66,0,30,0,34,0,64,0,1,0,21,0 18,0,48,0,11,0,73,0,39,0,22,0 28,0,69,0,17,0,57,0,59,0,40,0 63,0,75,0,77,0,62,0,65,0,29,0 27,0,33,0,37,0,58,0,32,0,70,0 68,0,44,0,41,0,38,0,23,0,67,0 ================================================ FILE: schedules/78_4.csv ================================================ 13,0,33,0,59,0,31,0,2,0,6,0 71,0,70,0,73,0,26,0,48,0,16,0 68,0,65,0,50,0,32,0,63,0,60,0 17,0,47,0,67,0,66,0,77,0,52,0 22,0,75,0,37,0,19,0,44,0,76,0 21,0,29,0,34,0,35,0,53,0,42,0 40,0,62,0,55,0,10,0,1,0,45,0 15,0,69,0,11,0,36,0,41,0,23,0 64,0,9,0,4,0,72,0,54,0,18,0 56,0,5,0,24,0,51,0,38,0,7,0 61,0,46,0,39,0,74,0,3,0,58,0 30,0,43,0,12,0,57,0,14,0,25,0 8,0,20,0,28,0,78,0,49,0,27,0 77,0,31,0,63,0,21,0,40,0,48,0 29,0,13,0,50,0,55,0,52,0,44,0 73,0,41,0,33,0,65,0,19,0,18,0 60,0,66,0,75,0,11,0,59,0,38,0 72,0,62,0,2,0,16,0,69,0,24,0 9,0,1,0,15,0,17,0,6,0,7,0 20,0,51,0,23,0,39,0,4,0,12,0 34,0,74,0,45,0,43,0,70,0,56,0 58,0,78,0,26,0,25,0,35,0,76,0 32,0,37,0,27,0,46,0,5,0,36,0 22,0,8,0,64,0,14,0,68,0,67,0 54,0,47,0,3,0,28,0,30,0,53,0 42,0,61,0,49,0,10,0,57,0,71,0 48,0,72,0,52,0,39,0,65,0,7,0 43,0,16,0,21,0,17,0,75,0,23,0 76,0,31,0,74,0,12,0,29,0,24,0 55,0,26,0,11,0,9,0,20,0,33,0 18,0,46,0,66,0,8,0,50,0,69,0 36,0,68,0,51,0,53,0,2,0,58,0 10,0,60,0,35,0,22,0,70,0,3,0 14,0,6,0,49,0,63,0,54,0,44,0 67,0,19,0,42,0,4,0,28,0,38,0 15,0,71,0,5,0,25,0,40,0,34,0 56,0,32,0,77,0,1,0,13,0,61,0 57,0,62,0,37,0,41,0,78,0,47,0 45,0,30,0,73,0,64,0,59,0,27,0 24,0,35,0,17,0,55,0,48,0,36,0 49,0,52,0,9,0,2,0,60,0,46,0 10,0,8,0,65,0,4,0,74,0,11,0 12,0,28,0,44,0,66,0,34,0,68,0 6,0,3,0,38,0,16,0,32,0,29,0 42,0,25,0,39,0,47,0,1,0,33,0 14,0,40,0,20,0,59,0,37,0,18,0 13,0,76,0,72,0,15,0,30,0,51,0 69,0,58,0,7,0,71,0,43,0,67,0 27,0,50,0,31,0,62,0,23,0,70,0 21,0,78,0,54,0,22,0,73,0,61,0 63,0,19,0,57,0,64,0,56,0,26,0 41,0,53,0,45,0,75,0,77,0,5,0 ================================================ FILE: schedules/78_5.csv ================================================ 9,0,44,0,33,0,40,0,3,0,63,0 41,0,31,0,8,0,42,0,35,0,36,0 65,0,53,0,27,0,61,0,37,0,78,0 4,0,5,0,50,0,16,0,73,0,60,0 39,0,1,0,64,0,6,0,11,0,72,0 62,0,13,0,77,0,19,0,29,0,7,0 59,0,46,0,18,0,20,0,21,0,24,0 58,0,74,0,68,0,57,0,75,0,52,0 38,0,22,0,34,0,47,0,56,0,45,0 51,0,54,0,67,0,55,0,32,0,70,0 43,0,30,0,17,0,10,0,48,0,2,0 12,0,76,0,71,0,26,0,15,0,66,0 69,0,28,0,23,0,25,0,49,0,14,0 73,0,18,0,65,0,3,0,42,0,62,0 46,0,31,0,27,0,52,0,64,0,13,0 57,0,33,0,61,0,50,0,36,0,56,0 41,0,53,0,34,0,20,0,58,0,55,0 38,0,51,0,77,0,40,0,30,0,5,0 60,0,45,0,54,0,11,0,66,0,24,0 26,0,70,0,49,0,1,0,43,0,9,0 6,0,63,0,14,0,7,0,68,0,16,0 22,0,32,0,15,0,59,0,10,0,28,0 17,0,72,0,75,0,76,0,47,0,19,0 29,0,78,0,48,0,8,0,69,0,39,0 67,0,2,0,12,0,23,0,21,0,37,0 44,0,71,0,74,0,35,0,25,0,4,0 33,0,62,0,43,0,51,0,60,0,27,0 20,0,14,0,9,0,30,0,61,0,31,0 11,0,18,0,63,0,50,0,55,0,15,0 5,0,76,0,1,0,56,0,41,0,28,0 46,0,42,0,22,0,17,0,29,0,26,0 19,0,57,0,73,0,32,0,49,0,12,0 75,0,39,0,35,0,65,0,40,0,7,0 23,0,16,0,45,0,71,0,8,0,53,0 59,0,3,0,78,0,58,0,4,0,13,0 21,0,52,0,48,0,54,0,6,0,38,0 72,0,24,0,37,0,74,0,10,0,70,0 47,0,69,0,68,0,67,0,66,0,44,0 25,0,36,0,34,0,77,0,64,0,2,0 7,0,17,0,28,0,9,0,12,0,51,0 32,0,62,0,11,0,14,0,46,0,75,0 31,0,40,0,56,0,16,0,78,0,26,0 42,0,21,0,50,0,39,0,53,0,13,0 30,0,54,0,74,0,23,0,63,0,73,0 48,0,45,0,58,0,27,0,72,0,35,0 66,0,64,0,8,0,33,0,37,0,59,0 69,0,70,0,76,0,18,0,34,0,4,0 38,0,61,0,41,0,44,0,19,0,43,0 6,0,24,0,47,0,36,0,71,0,65,0 20,0,49,0,52,0,77,0,67,0,22,0 60,0,57,0,2,0,3,0,1,0,15,0 68,0,5,0,55,0,29,0,10,0,25,0 12,0,64,0,35,0,62,0,50,0,54,0 17,0,70,0,40,0,27,0,14,0,21,0 66,0,78,0,73,0,41,0,72,0,46,0 13,0,26,0,36,0,32,0,18,0,38,0 16,0,19,0,30,0,34,0,33,0,65,0 69,0,20,0,1,0,51,0,63,0,45,0 42,0,60,0,55,0,74,0,61,0,76,0 58,0,2,0,49,0,8,0,7,0,5,0 77,0,23,0,44,0,15,0,48,0,24,0 25,0,56,0,59,0,9,0,75,0,6,0 29,0,31,0,4,0,28,0,57,0,67,0 3,0,10,0,52,0,53,0,47,0,11,0 37,0,43,0,22,0,68,0,39,0,71,0 ================================================ FILE: schedules/78_6.csv ================================================ 25,0,29,0,7,0,27,0,12,0,78,0 74,0,33,0,34,0,17,0,60,0,51,0 77,0,46,0,43,0,67,0,24,0,15,0 18,0,41,0,35,0,75,0,50,0,63,0 2,0,47,0,22,0,54,0,9,0,59,0 31,0,45,0,11,0,30,0,57,0,73,0 69,0,48,0,70,0,65,0,58,0,55,0 21,0,40,0,72,0,32,0,5,0,42,0 53,0,14,0,39,0,56,0,64,0,61,0 19,0,62,0,1,0,76,0,28,0,38,0 52,0,16,0,68,0,4,0,66,0,20,0 26,0,8,0,3,0,36,0,49,0,37,0 10,0,6,0,23,0,71,0,44,0,13,0 9,0,34,0,75,0,24,0,58,0,25,0 47,0,17,0,30,0,35,0,40,0,43,0 70,0,50,0,15,0,59,0,57,0,61,0 2,0,42,0,28,0,11,0,53,0,60,0 14,0,78,0,41,0,22,0,31,0,33,0 32,0,68,0,76,0,26,0,45,0,46,0 23,0,54,0,27,0,18,0,37,0,19,0 8,0,12,0,10,0,77,0,63,0,66,0 67,0,4,0,51,0,3,0,62,0,72,0 39,0,44,0,74,0,16,0,69,0,21,0 71,0,55,0,56,0,7,0,5,0,38,0 20,0,29,0,48,0,6,0,1,0,49,0 13,0,73,0,36,0,64,0,65,0,52,0 26,0,31,0,75,0,42,0,27,0,15,0 2,0,19,0,41,0,61,0,12,0,40,0 54,0,57,0,62,0,25,0,77,0,17,0 50,0,45,0,66,0,51,0,53,0,22,0 37,0,55,0,32,0,47,0,24,0,16,0 44,0,35,0,1,0,56,0,8,0,34,0 23,0,58,0,60,0,73,0,68,0,29,0 38,0,64,0,20,0,78,0,69,0,10,0 6,0,5,0,36,0,63,0,76,0,67,0 39,0,9,0,30,0,28,0,4,0,65,0 46,0,71,0,33,0,70,0,21,0,3,0 7,0,49,0,11,0,43,0,14,0,52,0 74,0,59,0,13,0,18,0,48,0,72,0 66,0,15,0,73,0,44,0,25,0,19,0 69,0,68,0,53,0,41,0,37,0,1,0 24,0,54,0,61,0,36,0,29,0,38,0 51,0,10,0,65,0,35,0,42,0,76,0 4,0,6,0,21,0,75,0,8,0,22,0 17,0,50,0,20,0,14,0,2,0,3,0 60,0,71,0,18,0,32,0,43,0,39,0 23,0,74,0,78,0,45,0,63,0,49,0 55,0,72,0,30,0,33,0,77,0,52,0 40,0,11,0,64,0,26,0,9,0,62,0 7,0,16,0,13,0,67,0,34,0,70,0 27,0,47,0,57,0,48,0,56,0,28,0 5,0,46,0,59,0,58,0,31,0,12,0 18,0,65,0,22,0,17,0,68,0,61,0 42,0,37,0,25,0,45,0,14,0,71,0 53,0,15,0,49,0,10,0,32,0,4,0 64,0,43,0,3,0,74,0,41,0,29,0 77,0,69,0,75,0,60,0,19,0,13,0 27,0,16,0,76,0,8,0,72,0,2,0 35,0,55,0,66,0,78,0,59,0,28,0 12,0,6,0,11,0,54,0,50,0,56,0 40,0,7,0,58,0,44,0,36,0,57,0 48,0,51,0,52,0,23,0,46,0,9,0 67,0,38,0,33,0,47,0,39,0,73,0 70,0,24,0,26,0,5,0,1,0,30,0 62,0,63,0,34,0,21,0,20,0,31,0 18,0,3,0,28,0,10,0,25,0,16,0 54,0,8,0,15,0,14,0,74,0,55,0 36,0,32,0,17,0,69,0,66,0,11,0 76,0,56,0,77,0,40,0,23,0,59,0 71,0,78,0,57,0,67,0,2,0,75,0 44,0,72,0,49,0,41,0,9,0,70,0 21,0,19,0,47,0,26,0,29,0,65,0 68,0,63,0,30,0,64,0,51,0,7,0 73,0,20,0,53,0,35,0,27,0,46,0 58,0,42,0,1,0,50,0,33,0,13,0 43,0,45,0,61,0,4,0,34,0,5,0 12,0,24,0,22,0,62,0,48,0,39,0 60,0,37,0,52,0,38,0,6,0,31,0 ================================================ FILE: schedules/78_7.csv ================================================ 8,0,37,0,10,0,62,0,57,0,15,0 76,0,5,0,73,0,56,0,25,0,39,0 66,0,74,0,70,0,52,0,42,0,60,0 36,0,75,0,49,0,59,0,67,0,29,0 26,0,77,0,47,0,33,0,9,0,24,0 13,0,12,0,23,0,11,0,55,0,43,0 68,0,2,0,28,0,41,0,51,0,50,0 6,0,61,0,32,0,18,0,19,0,78,0 40,0,16,0,14,0,30,0,54,0,48,0 1,0,63,0,7,0,53,0,34,0,35,0 3,0,71,0,38,0,17,0,58,0,44,0 21,0,20,0,69,0,72,0,4,0,22,0 31,0,46,0,27,0,64,0,65,0,45,0 11,0,28,0,24,0,73,0,60,0,75,0 36,0,33,0,10,0,32,0,41,0,42,0 51,0,6,0,57,0,16,0,26,0,12,0 13,0,9,0,1,0,40,0,25,0,74,0 55,0,61,0,58,0,59,0,66,0,15,0 62,0,29,0,35,0,50,0,23,0,44,0 37,0,17,0,31,0,72,0,53,0,48,0 69,0,63,0,18,0,68,0,70,0,49,0 30,0,45,0,21,0,67,0,8,0,5,0 22,0,54,0,39,0,77,0,3,0,64,0 2,0,71,0,65,0,14,0,7,0,20,0 43,0,4,0,78,0,56,0,52,0,46,0 19,0,27,0,47,0,76,0,34,0,38,0 75,0,42,0,40,0,31,0,23,0,26,0 1,0,24,0,69,0,58,0,16,0,62,0 68,0,59,0,74,0,48,0,5,0,32,0 49,0,50,0,15,0,30,0,6,0,64,0 18,0,25,0,17,0,21,0,12,0,65,0 41,0,57,0,35,0,77,0,45,0,70,0 72,0,7,0,60,0,8,0,56,0,19,0 36,0,55,0,63,0,3,0,2,0,27,0 39,0,29,0,28,0,71,0,4,0,13,0 47,0,14,0,52,0,11,0,22,0,61,0 51,0,53,0,20,0,73,0,38,0,78,0 67,0,33,0,34,0,37,0,46,0,66,0 43,0,44,0,10,0,54,0,9,0,76,0 30,0,56,0,74,0,12,0,77,0,75,0 48,0,64,0,70,0,23,0,2,0,58,0 40,0,41,0,72,0,71,0,27,0,24,0 16,0,32,0,3,0,45,0,47,0,4,0 55,0,14,0,60,0,18,0,38,0,57,0 8,0,6,0,20,0,1,0,52,0,28,0 19,0,9,0,31,0,67,0,11,0,35,0 78,0,66,0,5,0,10,0,22,0,50,0 26,0,36,0,76,0,37,0,13,0,7,0 54,0,29,0,61,0,17,0,69,0,46,0 39,0,15,0,42,0,68,0,53,0,21,0 62,0,65,0,73,0,49,0,43,0,34,0 63,0,44,0,59,0,33,0,51,0,25,0 70,0,67,0,72,0,12,0,32,0,1,0 18,0,35,0,47,0,5,0,40,0,28,0 26,0,48,0,19,0,55,0,10,0,71,0 66,0,16,0,17,0,75,0,64,0,76,0 3,0,24,0,68,0,57,0,29,0,20,0 34,0,13,0,77,0,8,0,2,0,78,0 11,0,56,0,50,0,58,0,65,0,42,0 25,0,23,0,52,0,69,0,27,0,15,0 46,0,51,0,21,0,36,0,14,0,9,0 60,0,22,0,53,0,6,0,62,0,59,0 4,0,31,0,41,0,54,0,63,0,73,0 49,0,44,0,45,0,61,0,74,0,37,0 38,0,43,0,39,0,7,0,30,0,33,0 40,0,58,0,18,0,77,0,10,0,29,0 5,0,19,0,75,0,65,0,70,0,15,0 14,0,67,0,28,0,69,0,78,0,42,0 72,0,13,0,64,0,51,0,47,0,62,0 25,0,8,0,32,0,53,0,24,0,54,0 56,0,23,0,71,0,66,0,45,0,36,0 33,0,27,0,4,0,35,0,6,0,17,0 61,0,60,0,20,0,43,0,63,0,26,0 52,0,59,0,37,0,30,0,9,0,2,0 57,0,74,0,34,0,31,0,39,0,50,0 55,0,7,0,73,0,16,0,68,0,44,0 12,0,46,0,48,0,41,0,22,0,38,0 49,0,76,0,1,0,3,0,21,0,11,0 58,0,45,0,19,0,13,0,14,0,53,0 4,0,24,0,23,0,51,0,67,0,10,0 6,0,2,0,43,0,69,0,47,0,75,0 29,0,42,0,9,0,63,0,5,0,72,0 15,0,32,0,56,0,20,0,40,0,34,0 50,0,77,0,71,0,37,0,60,0,16,0 52,0,12,0,68,0,31,0,33,0,76,0 66,0,11,0,48,0,39,0,18,0,44,0 65,0,1,0,78,0,55,0,41,0,30,0 8,0,70,0,73,0,46,0,59,0,3,0 38,0,35,0,61,0,25,0,64,0,36,0 17,0,57,0,22,0,49,0,28,0,7,0 21,0,54,0,62,0,27,0,26,0,74,0 ================================================ FILE: schedules/78_8.csv ================================================ 58,0,17,0,66,0,67,0,73,0,64,0 35,0,70,0,54,0,36,0,19,0,21,0 27,0,76,0,23,0,40,0,13,0,41,0 1,0,10,0,46,0,55,0,72,0,62,0 22,0,50,0,61,0,65,0,28,0,20,0 33,0,7,0,12,0,25,0,42,0,78,0 6,0,43,0,52,0,75,0,8,0,26,0 38,0,14,0,71,0,51,0,39,0,34,0 60,0,49,0,44,0,37,0,68,0,9,0 18,0,74,0,31,0,5,0,30,0,63,0 29,0,16,0,47,0,59,0,11,0,48,0 32,0,53,0,69,0,45,0,15,0,77,0 4,0,2,0,56,0,24,0,3,0,57,0 17,0,54,0,75,0,12,0,1,0,66,0 43,0,36,0,10,0,25,0,40,0,22,0 64,0,8,0,68,0,61,0,27,0,42,0 6,0,72,0,9,0,14,0,21,0,63,0 26,0,60,0,38,0,16,0,28,0,73,0 46,0,39,0,15,0,59,0,33,0,20,0 44,0,23,0,7,0,18,0,2,0,52,0 74,0,56,0,13,0,45,0,62,0,70,0 30,0,3,0,29,0,51,0,35,0,49,0 77,0,48,0,31,0,65,0,76,0,24,0 69,0,11,0,37,0,67,0,19,0,34,0 41,0,78,0,57,0,71,0,32,0,55,0 4,0,47,0,58,0,50,0,5,0,53,0 46,0,14,0,22,0,42,0,60,0,54,0 20,0,45,0,40,0,63,0,2,0,68,0 7,0,26,0,61,0,17,0,49,0,74,0 62,0,33,0,77,0,35,0,38,0,43,0 9,0,12,0,70,0,8,0,18,0,67,0 34,0,36,0,23,0,78,0,24,0,29,0 3,0,52,0,41,0,66,0,47,0,69,0 71,0,6,0,10,0,16,0,15,0,58,0 64,0,72,0,56,0,51,0,25,0,32,0 50,0,27,0,30,0,57,0,37,0,48,0 44,0,11,0,28,0,31,0,55,0,53,0 19,0,39,0,13,0,75,0,65,0,4,0 76,0,5,0,73,0,1,0,59,0,21,0 34,0,40,0,24,0,42,0,49,0,62,0 8,0,17,0,3,0,33,0,23,0,10,0 14,0,61,0,78,0,47,0,70,0,15,0 56,0,54,0,52,0,71,0,30,0,77,0 67,0,51,0,27,0,36,0,60,0,74,0 41,0,39,0,37,0,72,0,31,0,58,0 53,0,73,0,35,0,20,0,75,0,57,0 16,0,44,0,4,0,46,0,45,0,43,0 65,0,7,0,1,0,63,0,69,0,64,0 59,0,66,0,76,0,50,0,55,0,18,0 68,0,29,0,21,0,13,0,28,0,32,0 19,0,48,0,9,0,12,0,26,0,22,0 25,0,5,0,6,0,11,0,38,0,2,0 31,0,70,0,57,0,10,0,52,0,34,0 56,0,33,0,53,0,16,0,60,0,41,0 4,0,42,0,36,0,63,0,72,0,75,0 8,0,65,0,58,0,59,0,62,0,78,0 3,0,20,0,18,0,29,0,27,0,77,0 35,0,68,0,69,0,17,0,76,0,46,0 55,0,47,0,54,0,25,0,37,0,74,0 22,0,15,0,13,0,38,0,24,0,66,0 48,0,5,0,67,0,7,0,39,0,32,0 61,0,71,0,51,0,23,0,11,0,9,0 28,0,43,0,2,0,19,0,14,0,1,0 30,0,40,0,26,0,64,0,44,0,21,0 73,0,50,0,49,0,12,0,45,0,6,0 34,0,25,0,8,0,16,0,77,0,46,0 74,0,58,0,3,0,75,0,38,0,76,0 59,0,24,0,32,0,17,0,27,0,70,0 72,0,60,0,18,0,71,0,69,0,57,0 43,0,47,0,31,0,7,0,13,0,9,0 28,0,40,0,35,0,5,0,66,0,37,0 73,0,29,0,44,0,39,0,56,0,61,0 55,0,68,0,26,0,14,0,36,0,33,0 49,0,12,0,52,0,10,0,11,0,64,0 20,0,78,0,4,0,6,0,54,0,48,0 1,0,23,0,45,0,67,0,22,0,30,0 63,0,19,0,62,0,15,0,50,0,41,0 51,0,21,0,65,0,42,0,2,0,53,0 7,0,58,0,57,0,40,0,9,0,46,0 77,0,5,0,75,0,70,0,16,0,68,0 61,0,34,0,13,0,55,0,3,0,60,0 28,0,27,0,33,0,47,0,72,0,52,0 36,0,67,0,69,0,20,0,49,0,56,0 59,0,63,0,37,0,12,0,23,0,43,0 38,0,21,0,41,0,8,0,48,0,45,0 18,0,15,0,11,0,35,0,4,0,1,0 17,0,31,0,42,0,50,0,71,0,29,0 24,0,30,0,25,0,65,0,73,0,14,0 10,0,51,0,78,0,19,0,44,0,66,0 39,0,53,0,64,0,22,0,6,0,74,0 26,0,62,0,76,0,2,0,54,0,32,0 72,0,40,0,67,0,61,0,3,0,59,0 12,0,55,0,21,0,27,0,4,0,7,0 47,0,38,0,46,0,31,0,56,0,23,0 16,0,13,0,50,0,52,0,14,0,35,0 5,0,65,0,15,0,44,0,36,0,17,0 69,0,42,0,70,0,73,0,43,0,58,0 64,0,29,0,45,0,57,0,19,0,76,0 66,0,48,0,53,0,25,0,68,0,71,0 49,0,54,0,63,0,39,0,8,0,28,0 32,0,18,0,22,0,34,0,33,0,6,0 20,0,1,0,37,0,26,0,51,0,24,0 62,0,75,0,30,0,78,0,60,0,11,0 41,0,2,0,74,0,9,0,10,0,77,0 ================================================ FILE: schedules/78_9.csv ================================================ 30,0,46,0,10,0,5,0,50,0,66,0 11,0,28,0,4,0,36,0,61,0,70,0 49,0,26,0,18,0,68,0,65,0,77,0 54,0,52,0,56,0,25,0,64,0,37,0 3,0,6,0,51,0,21,0,27,0,1,0 45,0,73,0,19,0,29,0,41,0,42,0 24,0,9,0,22,0,53,0,43,0,13,0 59,0,2,0,38,0,44,0,17,0,48,0 15,0,16,0,32,0,47,0,57,0,71,0 33,0,78,0,63,0,60,0,39,0,40,0 67,0,58,0,12,0,76,0,14,0,75,0 35,0,7,0,69,0,23,0,20,0,8,0 72,0,31,0,62,0,74,0,34,0,55,0 26,0,66,0,53,0,36,0,54,0,19,0 65,0,5,0,42,0,59,0,70,0,25,0 24,0,28,0,50,0,57,0,52,0,44,0 43,0,29,0,39,0,68,0,71,0,6,0 63,0,58,0,77,0,16,0,27,0,37,0 73,0,38,0,3,0,56,0,7,0,22,0 40,0,1,0,49,0,12,0,10,0,74,0 8,0,48,0,34,0,30,0,32,0,60,0 67,0,17,0,20,0,61,0,51,0,62,0 64,0,55,0,41,0,75,0,23,0,78,0 47,0,76,0,2,0,9,0,31,0,21,0 15,0,14,0,11,0,33,0,18,0,69,0 46,0,4,0,45,0,72,0,35,0,13,0 25,0,74,0,27,0,39,0,36,0,7,0 16,0,56,0,50,0,49,0,48,0,12,0 34,0,63,0,24,0,20,0,38,0,6,0 68,0,70,0,62,0,52,0,10,0,3,0 30,0,61,0,22,0,57,0,75,0,65,0 5,0,8,0,26,0,55,0,17,0,33,0 11,0,66,0,35,0,43,0,15,0,44,0 32,0,14,0,1,0,29,0,4,0,2,0 31,0,64,0,23,0,45,0,71,0,77,0 46,0,60,0,9,0,69,0,54,0,41,0 42,0,47,0,18,0,37,0,53,0,67,0 13,0,40,0,21,0,28,0,73,0,58,0 51,0,76,0,78,0,72,0,19,0,59,0 65,0,52,0,74,0,16,0,8,0,11,0 25,0,48,0,62,0,35,0,75,0,22,0 10,0,44,0,63,0,61,0,7,0,14,0 43,0,49,0,50,0,41,0,2,0,3,0 15,0,5,0,60,0,24,0,1,0,45,0 34,0,54,0,18,0,40,0,29,0,70,0 47,0,17,0,58,0,36,0,23,0,46,0 37,0,73,0,72,0,9,0,71,0,26,0 33,0,28,0,51,0,42,0,31,0,68,0 32,0,76,0,67,0,66,0,38,0,27,0 20,0,57,0,77,0,21,0,53,0,78,0 39,0,56,0,69,0,55,0,4,0,59,0 19,0,6,0,13,0,30,0,64,0,12,0 70,0,49,0,75,0,15,0,63,0,46,0 37,0,41,0,22,0,5,0,40,0,14,0 34,0,16,0,45,0,44,0,3,0,9,0 1,0,8,0,50,0,76,0,68,0,11,0 21,0,36,0,60,0,52,0,18,0,67,0 38,0,69,0,58,0,61,0,26,0,25,0 55,0,27,0,19,0,10,0,28,0,35,0 39,0,64,0,17,0,72,0,32,0,24,0 42,0,71,0,66,0,62,0,4,0,7,0 77,0,43,0,47,0,48,0,13,0,51,0 59,0,54,0,31,0,30,0,20,0,73,0 57,0,56,0,74,0,23,0,2,0,6,0 53,0,33,0,29,0,12,0,65,0,78,0 41,0,67,0,8,0,15,0,28,0,25,0 44,0,32,0,18,0,46,0,22,0,19,0 7,0,40,0,76,0,26,0,35,0,52,0 42,0,75,0,11,0,39,0,34,0,77,0 49,0,9,0,51,0,38,0,30,0,70,0 73,0,55,0,14,0,66,0,6,0,47,0 53,0,61,0,59,0,23,0,1,0,16,0 65,0,62,0,64,0,63,0,21,0,50,0 13,0,74,0,71,0,48,0,54,0,33,0 17,0,43,0,78,0,27,0,45,0,56,0 36,0,3,0,20,0,29,0,72,0,5,0 2,0,12,0,37,0,69,0,24,0,68,0 4,0,57,0,60,0,10,0,58,0,31,0 59,0,40,0,6,0,9,0,8,0,77,0 26,0,1,0,46,0,67,0,64,0,22,0 70,0,23,0,21,0,66,0,48,0,19,0 32,0,52,0,61,0,78,0,13,0,42,0 18,0,45,0,39,0,20,0,76,0,28,0 71,0,2,0,72,0,11,0,53,0,63,0 51,0,34,0,65,0,58,0,41,0,56,0 12,0,62,0,55,0,54,0,43,0,57,0 27,0,69,0,44,0,5,0,31,0,49,0 3,0,30,0,4,0,25,0,24,0,47,0 35,0,17,0,68,0,60,0,74,0,14,0 50,0,29,0,15,0,7,0,38,0,37,0 33,0,10,0,36,0,16,0,75,0,73,0 72,0,41,0,6,0,18,0,61,0,48,0 66,0,52,0,12,0,22,0,59,0,63,0 57,0,31,0,51,0,39,0,46,0,8,0 25,0,55,0,13,0,20,0,1,0,44,0 5,0,19,0,62,0,9,0,58,0,11,0 24,0,29,0,67,0,56,0,35,0,77,0 33,0,34,0,7,0,49,0,47,0,64,0 78,0,38,0,68,0,16,0,54,0,4,0 28,0,14,0,23,0,43,0,3,0,26,0 69,0,10,0,17,0,76,0,65,0,71,0 21,0,75,0,37,0,45,0,74,0,32,0 70,0,53,0,27,0,73,0,50,0,60,0 2,0,30,0,40,0,42,0,15,0,36,0 12,0,5,0,61,0,39,0,47,0,35,0 78,0,8,0,49,0,18,0,62,0,24,0 52,0,77,0,46,0,14,0,38,0,19,0 9,0,57,0,66,0,17,0,25,0,29,0 41,0,11,0,20,0,26,0,32,0,10,0 75,0,60,0,59,0,3,0,28,0,71,0 53,0,68,0,48,0,55,0,45,0,40,0 54,0,22,0,42,0,58,0,6,0,50,0 76,0,15,0,27,0,4,0,34,0,23,0 70,0,7,0,16,0,67,0,2,0,13,0 36,0,65,0,43,0,37,0,31,0,1,0 74,0,64,0,63,0,51,0,73,0,69,0 56,0,44,0,30,0,72,0,21,0,33,0 ================================================ FILE: schedules/79_1.csv ================================================ 5,0,32,0,79,0,60,0,18,0,76,0 62,0,69,0,70,0,16,0,64,0,63,0 31,0,6,0,36,0,54,0,34,0,9,0 71,0,78,0,7,0,21,0,41,0,26,0 55,0,12,0,45,0,37,0,22,0,25,0 57,0,65,0,74,0,48,0,67,0,15,0 28,0,13,0,4,0,49,0,8,0,11,0 39,0,29,0,33,0,17,0,46,0,50,0 38,0,51,0,66,0,73,0,52,0,40,0 14,0,56,0,53,0,23,0,10,0,61,0 2,0,35,0,58,0,77,0,43,0,47,0 59,0,24,0,42,0,30,0,1,0,75,0 68,0,27,0,44,0,3,0,19,0,20,0 72,0,36,1,71,1,6,1,7,1,15,1 ================================================ FILE: schedules/79_10.csv ================================================ 23,0,11,0,19,0,45,0,64,0,40,0 58,0,60,0,10,0,49,0,8,0,24,0 20,0,55,0,38,0,42,0,63,0,53,0 76,0,43,0,50,0,32,0,75,0,72,0 51,0,15,0,33,0,28,0,46,0,78,0 71,0,9,0,61,0,22,0,67,0,56,0 54,0,69,0,77,0,26,0,14,0,34,0 35,0,16,0,44,0,36,0,52,0,18,0 7,0,25,0,4,0,41,0,47,0,5,0 73,0,57,0,30,0,39,0,48,0,65,0 29,0,59,0,79,0,62,0,68,0,21,0 27,0,13,0,12,0,31,0,37,0,3,0 74,0,17,0,2,0,66,0,1,0,6,0 70,0,77,0,45,0,20,0,71,0,75,0 23,0,72,0,49,0,69,0,55,0,35,0 19,0,47,0,44,0,76,0,38,0,46,0 67,0,39,0,7,0,4,0,53,0,33,0 22,0,10,0,65,0,50,0,21,0,51,0 37,0,18,0,40,0,32,0,25,0,63,0 62,0,31,0,6,0,48,0,28,0,34,0 27,0,57,0,79,0,74,0,52,0,5,0 8,0,17,0,9,0,68,0,43,0,13,0 42,0,73,0,1,0,61,0,54,0,15,0 60,0,2,0,29,0,58,0,26,0,11,0 3,0,78,0,64,0,30,0,16,0,70,0 36,0,24,0,14,0,66,0,41,0,56,0 12,0,53,0,39,0,59,0,72,0,22,0 48,1,37,0,67,0,74,1,75,0,49,0 13,0,28,0,63,0,52,0,21,0,35,0 61,0,77,0,79,0,51,0,23,0,25,0 65,0,27,0,15,0,17,0,34,0,4,0 9,0,7,0,76,0,64,0,54,0,60,0 55,0,46,0,29,0,6,0,45,0,8,0 11,0,36,0,5,0,68,0,12,0,32,0 30,0,20,0,31,0,69,0,10,0,2,0 43,0,58,0,41,0,70,0,33,0,62,0 1,0,40,0,3,0,59,0,42,0,57,0 16,0,71,0,26,0,47,0,24,0,73,0 78,0,56,0,14,0,18,0,38,0,19,0 44,0,50,0,49,0,66,0,28,0,79,0 51,0,75,0,54,0,35,0,27,0,68,0 11,0,46,0,31,0,36,0,17,0,77,0 13,0,41,0,76,0,39,0,15,0,74,0 30,0,33,0,25,0,9,0,60,0,12,0 48,0,20,0,47,0,37,0,72,0,29,0 2,0,55,0,16,0,40,0,10,0,67,0 71,0,58,0,21,0,53,0,7,0,19,0 8,0,23,0,66,0,4,0,73,0,78,0 38,0,24,0,3,0,34,0,22,0,43,0 14,0,59,0,63,0,57,0,64,0,6,0 5,0,50,0,70,0,18,0,61,0,62,0 52,0,32,0,69,0,1,0,56,0,65,0 44,0,26,0,48,0,45,0,42,0,25,0 9,0,2,0,15,0,72,0,19,0,36,0 20,0,51,0,67,0,11,0,13,0,66,0 34,0,74,0,53,0,35,0,41,0,8,0 30,0,22,0,68,0,76,0,49,0,77,0 38,0,50,0,6,0,39,0,60,0,27,0 32,0,55,0,7,0,62,0,3,0,73,0 52,0,64,0,4,0,26,0,10,0,43,0 69,0,21,0,37,0,5,0,78,0,61,0 44,0,31,0,63,0,33,0,1,0,71,0 12,0,57,0,18,0,58,0,46,0,23,0 75,0,29,0,40,0,17,0,24,0,79,0 14,0,28,0,47,0,42,0,65,0,70,0 54,0,56,0,59,0,16,0,45,0,50,0 53,0,64,0,49,0,27,0,73,0,25,0 78,0,32,0,62,0,39,0,77,0,2,0 38,0,37,0,11,0,41,0,1,0,9,0 18,0,60,0,48,0,55,0,71,0,34,0 24,0,23,0,76,0,6,0,5,0,63,0 15,0,70,0,22,0,29,0,26,0,31,0 21,0,17,0,33,0,54,0,20,0,14,0 19,0,16,0,12,0,74,0,28,0,69,0 4,0,44,0,61,0,13,0,40,0,72,0 58,0,75,0,52,0,59,0,30,0,51,0 35,0,66,0,47,0,43,0,45,0,57,0 67,0,79,0,3,0,36,0,8,0,65,0 46,0,10,0,56,0,7,0,68,0,42,0 14,0,22,0,23,0,15,0,48,0,32,0 76,0,28,0,2,0,27,0,18,0,71,0 54,0,11,0,62,0,53,0,24,0,78,0 40,0,9,0,26,0,20,0,74,0,50,0 69,0,73,0,75,0,47,0,60,0,13,0 41,0,12,0,51,0,55,0,44,0,17,0 36,0,61,0,43,0,65,0,59,0,7,0 68,0,25,0,39,0,63,0,66,0,58,0 6,0,77,0,35,0,56,0,4,0,3,0 1,0,29,0,5,0,19,0,10,0,49,0 57,0,46,0,34,0,21,0,70,0,67,0 72,0,31,0,45,0,38,0,30,0,79,0 42,0,33,0,8,0,16,0,52,0,37,0 69,0,65,0,71,0,64,0,62,0,15,0 28,0,73,0,36,0,22,0,58,0,40,0 20,0,23,0,27,0,43,0,56,0,44,0 11,0,10,0,59,0,63,0,74,0,47,0 75,0,21,0,39,0,49,0,18,0,9,0 19,0,4,0,70,0,55,0,12,0,54,0 72,0,8,0,16,0,51,0,7,0,14,0 41,0,68,0,61,0,31,0,78,0,57,0 50,0,46,0,25,0,2,0,24,0,52,0 66,0,42,0,34,0,32,0,29,0,30,0 64,0,35,0,48,0,38,0,33,0,77,0 76,0,53,0,26,0,37,0,1,0,79,0 60,0,3,0,45,0,5,0,67,0,17,0 6,0,72,0,65,0,13,0,58,0,16,0 39,0,43,0,71,0,69,0,51,0,40,0 56,0,57,0,15,0,75,0,11,0,8,0 49,0,78,0,20,0,36,0,34,0,47,0 41,0,74,0,64,0,32,0,21,0,42,0 48,0,54,0,79,0,2,0,12,0,63,0 67,0,25,0,59,0,35,0,76,0,31,0 22,0,62,0,37,0,46,0,4,0,60,0 53,0,77,0,73,0,29,0,9,0,44,0 19,0,66,0,61,0,26,0,33,0,3,0 5,0,13,0,55,0,30,0,14,0,50,0 70,0,52,0,38,0,7,0,17,0,23,0 68,0,24,0,45,0,27,0,28,0,1,0 18,0,6,0,15,0,10,0,20,0,79,0 16,0,21,0,48,0,76,0,11,0,4,0 56,0,60,0,40,0,51,0,31,0,53,0 26,0,72,0,63,0,65,0,67,0,41,0 3,0,25,0,74,0,71,0,29,0,54,0 64,0,34,0,5,0,75,0,44,0,2,0 32,0,13,0,24,0,57,0,33,0,55,0 45,0,14,0,52,0,62,0,49,0,12,0 8,0,28,0,10,0,38,0,61,0,39,0 6,0,30,0,43,0,37,0,19,0,73,0 7,0,1,0,47,0,22,0,77,0,18,0 66,0,46,0,27,0,69,0,9,0,59,0 58,0,42,0,17,0,78,0,35,0,50,0 36,0,68,0,74,0,23,0,70,0,48,0 ================================================ FILE: schedules/79_11.csv ================================================ 54,0,57,0,52,0,59,0,32,0,26,0 44,0,5,0,19,0,34,0,45,0,28,0 49,0,25,0,47,0,70,0,10,0,40,0 37,0,20,0,61,0,72,0,27,0,18,0 55,0,77,0,71,0,29,0,33,0,12,0 62,0,2,0,56,0,11,0,3,0,43,0 50,0,23,0,1,0,74,0,42,0,68,0 60,0,51,0,31,0,64,0,15,0,75,0 24,0,79,0,22,0,38,0,16,0,36,0 48,0,6,0,67,0,35,0,69,0,14,0 65,0,39,0,9,0,17,0,8,0,21,0 66,0,41,0,7,0,78,0,13,0,63,0 4,0,73,0,76,0,58,0,53,0,46,0 30,0,11,0,23,0,10,0,12,0,19,0 49,0,71,0,2,0,59,0,5,0,72,0 47,0,79,0,34,0,77,0,18,0,57,0 36,0,56,0,67,0,37,0,52,0,1,0 54,0,29,0,61,0,51,0,48,0,70,0 38,0,28,0,35,0,21,0,31,0,74,0 45,0,58,0,6,0,32,0,40,0,13,0 66,0,69,0,27,0,3,0,73,0,15,0 42,0,7,0,55,0,53,0,44,0,75,0 14,0,33,0,62,0,4,0,9,0,17,0 25,0,20,0,60,0,8,0,22,0,30,0 64,0,41,0,24,0,39,0,68,0,76,0 50,0,16,0,43,0,78,0,65,0,46,0 26,0,56,0,74,0,63,0,10,0,5,0 3,0,70,0,19,0,79,1,6,0,59,0 66,0,57,0,40,0,44,0,29,0,23,0 55,0,4,0,67,0,72,0,7,0,49,0 48,0,60,0,42,0,34,0,71,0,38,0 35,0,37,0,62,0,64,0,12,0,73,0 14,0,54,0,1,0,20,0,11,0,15,0 8,0,45,0,75,0,24,0,77,0,69,0 31,0,68,0,46,0,63,0,30,0,9,0 17,0,33,0,27,0,36,0,78,0,58,0 21,0,76,0,13,0,51,0,52,0,26,0 18,0,43,0,53,0,32,0,41,0,25,0 2,0,50,0,61,0,16,0,39,0,28,0 22,0,47,0,72,0,65,0,11,0,74,0 29,0,10,0,37,0,79,0,20,0,75,0 30,0,56,0,24,0,57,0,49,0,15,0 70,0,34,0,69,0,23,0,9,0,71,0 64,0,4,0,40,0,27,0,55,0,54,0 53,0,68,0,59,0,38,0,12,0,17,0 77,0,36,0,76,0,6,0,66,0,43,0 7,0,18,0,51,0,14,0,52,0,5,0 28,0,32,0,63,0,60,0,62,0,67,0 31,0,45,0,26,0,41,0,22,0,50,0 21,0,39,0,42,0,3,0,25,0,16,0 35,0,44,0,13,0,46,0,47,0,1,0 33,0,78,0,19,0,8,0,73,0,61,0 65,0,48,0,75,0,2,0,58,0,79,0 29,0,11,0,17,0,18,0,76,0,69,0 27,0,34,0,63,0,28,0,6,0,49,0 72,0,14,0,70,0,68,0,26,0,24,0 3,0,37,0,55,0,23,0,5,0,25,0 12,0,44,0,4,0,50,0,60,0,21,0 56,0,31,0,39,0,36,0,71,0,47,0 22,0,35,0,78,0,9,0,42,0,54,0 58,0,43,0,8,0,57,0,74,0,61,0 51,0,10,0,46,0,41,0,53,0,67,0 16,0,59,0,40,0,48,0,15,0,7,0 32,0,1,0,64,0,33,0,2,0,66,0 65,0,62,0,52,0,38,0,19,0,45,0 20,0,30,0,73,0,77,0,13,0,39,0 26,0,78,0,4,0,35,0,56,0,79,0 6,0,21,0,23,0,61,0,24,0,60,0 28,0,12,0,46,0,18,0,75,0,70,0 42,0,11,0,8,0,67,0,59,0,27,0 66,0,15,0,71,0,53,0,74,0,25,0 62,0,31,0,1,0,40,0,5,0,65,0 32,0,34,0,3,0,29,0,64,0,22,0 73,0,17,0,57,0,45,0,2,0,10,0 30,0,58,0,50,0,47,0,7,0,14,0 44,0,49,0,38,0,77,0,51,0,37,0 41,0,48,0,9,0,19,0,36,0,72,0 20,0,69,0,68,0,16,0,55,0,52,0 76,0,63,0,43,0,33,0,54,0,13,0 46,0,15,0,79,0,8,0,62,0,6,0 60,0,5,0,35,0,53,0,27,0,39,0 17,0,40,0,3,0,50,0,71,0,57,0 58,0,34,0,21,0,66,0,30,0,67,0 9,0,12,0,26,0,25,0,1,0,61,0 74,0,10,0,36,0,16,0,64,0,44,0 49,0,33,0,23,0,48,0,18,0,45,0 70,0,77,0,52,0,11,0,31,0,4,0 7,0,19,0,29,0,56,0,43,0,68,0 51,0,24,0,65,0,37,0,42,0,63,0 59,0,13,0,73,0,55,0,22,0,28,0 47,0,38,0,54,0,2,0,69,0,41,0 72,0,32,0,78,0,75,0,14,0,76,0 20,0,57,0,64,0,5,0,48,0,46,0 8,0,53,0,49,0,36,0,26,0,3,0 66,0,39,0,12,0,43,0,31,0,67,0 6,0,50,0,42,0,33,0,10,0,52,0 17,0,15,0,22,0,70,0,63,0,44,0 41,0,54,0,79,0,21,0,71,0,73,0 47,0,51,0,16,0,45,0,9,0,55,0 59,0,74,0,20,0,40,0,78,0,62,0 32,0,27,0,23,0,38,0,7,0,30,0 29,0,1,0,4,0,58,0,28,0,24,0 69,0,25,0,56,0,77,0,65,0,72,0 60,0,19,0,18,0,2,0,35,0,76,0 11,0,61,0,13,0,34,0,75,0,68,0 14,0,10,0,22,0,37,0,46,0,39,0 52,0,12,0,49,0,78,0,64,0,47,0 66,0,70,0,45,0,42,0,20,0,38,0 1,0,43,0,59,0,79,0,51,0,23,0 53,0,69,0,65,0,57,0,28,0,33,0 18,0,36,0,21,0,55,0,62,0,15,0 31,0,72,0,13,0,27,0,29,0,60,0 14,0,34,0,16,0,8,0,56,0,54,0 74,0,2,0,9,0,37,0,7,0,6,0 5,0,32,0,11,0,24,0,73,0,50,0 75,0,3,0,61,0,35,0,30,0,41,0 77,0,40,0,19,0,67,0,26,0,17,0 44,0,25,0,71,0,4,0,58,0,68,0 76,0,48,0,55,0,63,0,1,0,39,0 12,0,42,0,57,0,49,0,14,0,13,0 6,0,18,0,65,0,54,0,53,0,66,0 45,0,7,0,46,0,60,0,36,0,11,0 52,0,74,0,41,0,79,0,70,0,27,0 56,0,75,0,47,0,59,0,21,0,33,0 51,0,22,0,40,0,19,0,4,0,2,0 58,0,23,0,35,0,62,0,16,0,72,0 28,0,15,0,43,0,71,0,64,0,26,0 67,0,3,0,9,0,44,0,20,0,76,0 73,0,63,0,38,0,50,0,25,0,29,0 10,0,78,0,69,0,31,0,34,0,24,0 68,0,8,0,77,0,37,0,48,0,32,0 17,0,5,0,36,0,61,0,30,0,42,0 39,0,19,0,75,0,54,0,49,0,74,0 57,0,16,0,6,0,11,0,1,0,41,0 2,0,27,0,26,0,46,0,66,0,55,0 7,0,76,0,71,0,35,0,65,0,20,0 64,0,50,0,67,0,22,0,56,0,18,0 79,0,72,0,33,0,12,0,51,0,34,0 38,0,15,0,5,0,10,0,58,0,9,0 48,0,25,0,24,0,13,0,17,0,62,0 28,0,68,0,60,0,47,0,3,0,77,0 78,0,53,0,45,0,29,0,70,0,21,0 8,0,63,0,52,0,40,0,23,0,73,0 30,0,37,0,59,0,4,0,69,0,43,0 14,0,32,0,44,0,61,0,31,0,79,0 ================================================ FILE: schedules/79_12.csv ================================================ 31,0,77,0,33,0,17,0,24,0,7,0 28,0,29,0,62,0,57,0,56,0,79,0 53,0,66,0,61,0,68,0,63,0,10,0 47,0,12,0,58,0,26,0,52,0,49,0 3,0,4,0,14,0,27,0,23,0,78,0 64,0,36,0,69,0,30,0,73,0,15,0 8,0,42,0,55,0,19,0,51,0,13,0 16,0,46,0,39,0,22,0,5,0,65,0 67,0,9,0,54,0,37,0,50,0,20,0 18,0,48,0,44,0,75,0,60,0,21,0 74,0,11,0,41,0,45,0,38,0,71,0 72,0,59,0,34,0,2,0,6,0,40,0 43,0,35,0,1,0,76,0,25,0,70,0 24,0,49,0,28,0,32,0,66,0,29,0 64,0,68,0,73,0,46,0,23,0,12,0 79,0,47,0,20,0,36,0,33,0,55,0 13,0,39,0,52,0,78,0,31,0,18,0 61,0,60,0,19,0,58,0,67,0,4,0 54,0,2,0,75,0,74,0,53,0,3,0 37,0,56,0,35,0,48,0,26,0,65,0 32,0,50,0,34,0,21,0,71,0,1,0 15,0,57,0,70,0,44,0,42,0,11,0 41,0,5,0,43,0,62,0,40,0,30,0 38,0,69,0,72,0,10,0,25,0,14,0 76,0,7,0,51,0,27,0,59,0,16,0 45,0,6,0,22,0,9,0,77,0,17,0 63,0,75,0,47,0,8,0,39,0,73,0 23,0,18,0,79,0,50,0,2,0,53,0 29,0,61,0,34,0,36,0,42,0,48,0 35,0,40,0,54,0,67,0,46,0,15,0 21,0,38,0,25,0,26,0,19,0,24,0 44,0,14,0,51,0,62,0,58,0,33,0 10,0,72,0,11,0,22,0,55,0,9,0 12,0,1,0,37,0,74,0,57,0,17,0 70,0,77,0,3,0,5,0,64,0,20,0 59,0,4,0,49,0,31,0,56,0,43,0 41,0,6,0,63,0,28,0,78,0,69,0 7,0,13,0,16,0,71,0,60,0,66,0 32,0,30,0,68,0,8,0,27,0,65,0 52,0,76,0,46,0,45,0,50,0,29,0 40,0,42,0,24,0,47,0,37,0,73,0 51,0,12,0,10,0,15,0,79,0,48,0 77,0,43,0,36,0,54,0,38,0,53,0 75,0,26,0,55,0,70,0,28,0,31,0 25,0,63,0,56,0,58,0,13,0,57,0 23,0,5,0,1,0,33,0,61,0,6,0 62,0,76,0,22,0,7,0,34,0,74,0 78,0,8,0,60,0,11,0,2,0,21,0 66,0,19,0,65,0,3,0,44,0,69,0 14,0,16,0,67,0,9,0,30,0,18,0 68,0,41,0,49,0,35,0,4,0,39,0 59,0,17,0,64,0,71,0,27,0,20,0 72,0,32,0,54,0,52,0,45,0,75,0 50,0,7,0,73,0,61,0,38,0,28,0 58,0,29,0,6,0,31,0,13,0,10,0 34,0,77,0,60,0,56,0,12,0,3,0 8,0,11,0,66,0,37,0,43,0,33,0 62,0,2,0,24,0,22,0,48,0,69,0 9,0,1,0,46,0,19,0,27,0,47,0 35,0,79,0,76,0,30,0,71,0,44,0 15,0,65,0,21,0,17,0,49,0,25,0 45,0,78,0,26,0,59,0,18,0,5,0 23,0,64,0,16,0,55,0,41,0,57,0 4,0,70,0,51,0,72,0,63,0,36,0 42,0,67,0,74,0,68,0,52,0,14,0 39,0,40,0,20,0,32,0,53,0,12,0 9,0,35,0,8,0,3,0,73,0,29,0 33,0,27,0,50,0,62,0,19,0,10,0 25,0,59,0,71,0,18,0,47,0,28,0 15,0,78,0,55,0,61,0,7,0,43,0 34,0,37,0,31,0,79,0,45,0,16,0 5,0,72,0,2,0,66,0,68,0,57,0 32,0,4,0,64,0,38,0,44,0,26,0 69,0,39,0,49,0,60,0,1,0,51,0 46,0,17,0,53,0,13,0,30,0,74,0 14,0,70,0,54,0,24,0,41,0,56,0 65,0,11,0,75,0,77,0,23,0,40,0 76,0,48,0,63,0,6,0,67,0,36,0 22,0,20,0,21,0,42,0,52,0,58,0 50,0,55,0,43,0,68,0,35,0,34,0 9,0,3,0,32,0,61,0,62,0,59,0 44,0,8,0,10,0,78,0,5,0,74,0 46,0,26,0,70,0,79,0,7,0,66,0 17,0,19,0,41,0,72,0,60,0,73,0 27,0,24,0,39,0,45,0,36,0,2,0 13,0,33,0,23,0,54,0,49,0,76,0 30,0,75,0,51,0,4,0,25,0,37,0 67,0,69,0,77,0,21,0,57,0,47,0 38,0,18,0,14,0,12,0,29,0,63,0 1,0,58,0,56,0,16,0,53,0,11,0 71,0,52,0,64,0,6,0,65,0,42,0 48,0,31,0,20,0,28,0,40,0,15,0 22,0,27,0,36,0,35,0,66,0,23,0 24,0,79,0,68,0,13,0,60,0,9,0 45,0,55,0,67,0,25,0,2,0,73,0 29,0,59,0,57,0,39,0,19,0,70,0 18,0,32,0,17,0,11,0,69,0,34,0 74,0,16,0,49,0,3,0,72,0,78,0 15,0,75,0,5,0,76,0,58,0,14,0 48,0,7,0,4,0,54,0,65,0,47,0 33,0,28,0,21,0,53,0,37,0,64,0 40,0,10,0,1,0,8,0,52,0,77,0 61,0,26,0,56,0,71,0,22,0,51,0 44,0,63,0,43,0,20,0,46,0,41,0 6,0,31,0,30,0,12,0,50,0,42,0 62,0,68,0,78,0,38,0,17,0,70,0 79,0,59,0,73,0,65,0,74,0,14,0 66,0,34,0,58,0,54,0,39,0,64,0 52,0,69,0,57,0,7,0,75,0,9,0 45,0,28,0,51,0,10,0,21,0,35,0 22,0,2,0,16,0,43,0,47,0,29,0 6,0,25,0,18,0,40,0,27,0,4,0 42,0,60,0,53,0,5,0,76,0,55,0 48,0,30,0,38,0,33,0,1,0,3,0 13,0,15,0,11,0,41,0,26,0,50,0 77,0,63,0,19,0,37,0,71,0,32,0 56,0,72,0,44,0,23,0,31,0,67,0 36,0,49,0,12,0,8,0,46,0,62,0 20,0,61,0,75,0,24,0,35,0,16,0 60,0,29,0,74,0,40,0,51,0,64,0 58,0,5,0,28,0,2,0,17,0,4,0 53,0,73,0,33,0,34,0,52,0,70,0 25,0,42,0,30,0,32,0,7,0,78,0 48,0,71,0,43,0,23,0,72,0,39,0 63,0,26,0,54,0,1,0,55,0,62,0 11,0,20,0,19,0,6,0,14,0,49,0 77,0,21,0,41,0,61,0,79,0,27,0 8,0,67,0,13,0,22,0,59,0,38,0 46,0,10,0,3,0,37,0,24,0,18,0 47,0,45,0,56,0,15,0,68,0,44,0 76,0,12,0,31,0,66,0,9,0,69,0 65,0,57,0,40,0,36,0,50,0,78,0 60,0,33,0,35,0,32,0,74,0,63,0 19,0,6,0,64,0,79,0,75,0,43,0 53,0,27,0,26,0,67,0,72,0,29,0 7,0,18,0,2,0,20,0,1,0,49,0 37,0,52,0,5,0,38,0,15,0,34,0 45,0,23,0,58,0,8,0,30,0,69,0 39,0,56,0,17,0,61,0,10,0,42,0 66,0,46,0,14,0,25,0,48,0,77,0 71,0,57,0,31,0,73,0,22,0,54,0 9,0,47,0,51,0,70,0,65,0,41,0 76,0,3,0,36,0,68,0,28,0,11,0 21,0,4,0,13,0,12,0,62,0,16,0 24,0,50,0,59,0,55,0,44,0,58,0 23,0,30,0,20,0,34,0,10,0,26,0 18,0,42,0,15,0,33,0,72,0,66,0 5,0,27,0,73,0,48,0,56,0,49,0 60,0,65,0,43,0,1,0,45,0,14,0 25,0,7,0,8,0,9,0,41,0,53,0 38,0,57,0,32,0,6,0,51,0,46,0 29,0,21,0,69,0,59,0,54,0,68,0 78,0,71,0,12,0,75,0,24,0,67,0 74,0,50,0,39,0,55,0,77,0,4,0 70,0,61,0,37,0,76,0,2,0,13,0 47,0,11,0,62,0,35,0,64,0,31,0 19,0,52,0,44,0,36,0,16,0,28,0 40,0,79,0,3,0,63,0,22,0,17,0 ================================================ FILE: schedules/79_13.csv ================================================ 50,0,68,0,62,0,63,0,24,0,57,0 72,0,17,0,60,0,42,0,67,0,61,0 71,0,44,0,38,0,19,0,23,0,45,0 70,0,75,0,21,0,40,0,13,0,25,0 47,0,49,0,34,0,43,0,59,0,11,0 16,0,12,0,30,0,65,0,6,0,27,0 36,0,51,0,9,0,55,0,20,0,26,0 10,0,8,0,78,0,52,0,22,0,35,0 41,0,31,0,7,0,28,0,2,0,74,0 48,0,66,0,46,0,73,0,64,0,18,0 69,0,58,0,1,0,76,0,4,0,32,0 33,0,53,0,39,0,5,0,56,0,14,0 79,0,3,0,77,0,54,0,15,0,37,0 29,0,38,0,25,0,43,0,55,0,27,0 45,0,47,0,10,0,75,0,6,0,24,0 62,0,60,0,22,0,34,0,65,0,26,0 18,0,41,0,46,0,68,0,52,0,17,0 30,0,20,0,21,0,73,0,49,0,67,0 7,0,35,0,33,0,58,0,59,0,72,0 13,0,32,0,5,0,31,0,44,0,54,0 56,0,2,0,3,0,64,0,50,0,40,0 4,0,12,0,19,0,42,0,70,0,77,0 71,0,53,0,16,0,79,0,78,0,29,0 69,0,15,0,57,0,39,0,48,0,36,0 66,0,37,0,23,0,51,0,8,0,11,0 61,0,14,0,28,0,76,0,63,0,9,0 1,0,59,0,27,0,74,0,73,0,44,0 33,1,2,0,60,0,43,1,10,0,52,0 54,1,18,0,45,0,40,1,58,0,21,0 62,1,70,0,16,0,50,0,5,0,7,0 3,0,72,0,57,0,69,0,78,0,75,0 41,0,4,0,30,0,56,0,47,0,23,0 34,0,6,0,35,0,66,0,61,0,29,0 38,0,65,0,14,0,74,0,20,0,8,0 17,0,25,0,63,0,11,0,53,0,32,0 26,0,71,0,37,0,31,0,48,0,1,0 19,0,79,0,67,0,9,0,39,0,22,0 49,0,55,0,28,0,13,0,68,0,12,0 76,0,77,0,51,0,46,0,36,0,64,0 24,0,42,0,78,0,15,0,44,0,2,0 61,0,20,0,75,0,50,0,8,0,27,0 14,0,16,0,47,0,23,0,69,0,62,0 34,0,57,0,11,0,30,0,7,0,71,0 41,0,17,0,26,0,19,0,3,0,29,0 33,0,6,0,52,0,73,0,48,0,13,0 10,0,32,0,28,0,36,0,67,0,70,0 37,0,24,0,25,0,76,0,12,0,5,0 18,0,55,0,66,0,72,0,39,0,79,0 64,0,42,0,54,0,9,0,38,0,31,0 58,0,51,0,22,0,49,0,77,0,60,0 35,0,43,0,45,0,68,0,1,0,74,0 4,0,56,0,63,0,65,0,21,0,59,0 15,0,46,0,7,0,53,0,40,0,29,0 76,0,27,0,67,0,34,0,52,0,48,0 17,0,69,0,19,0,30,0,55,0,13,0 75,0,42,0,73,0,5,0,26,0,79,0 41,0,10,0,16,0,61,0,11,0,77,0 50,0,66,0,12,0,44,0,60,0,43,0 3,0,62,0,32,0,8,0,56,0,72,0 31,0,24,0,59,0,51,0,70,0,14,0 28,0,40,0,15,0,6,0,23,0,58,0 53,0,22,0,21,0,64,0,47,0,68,0 36,0,38,0,33,0,37,0,63,0,35,0 39,0,74,0,71,0,54,0,4,0,25,0 78,0,2,0,18,0,49,0,1,0,20,0 65,0,57,0,9,0,45,0,46,0,32,0 43,0,3,0,61,0,19,0,59,0,51,0 70,0,13,0,10,0,29,0,41,0,58,0 52,0,55,0,40,0,44,0,47,0,30,0 75,0,76,0,66,0,7,0,77,0,17,0 31,0,67,0,68,0,62,0,25,0,15,0 73,0,36,0,50,0,23,0,54,0,53,0 63,0,6,0,48,0,22,0,2,0,1,0 28,0,65,0,42,0,18,0,35,0,69,0 24,0,49,0,64,0,37,0,16,0,39,0 38,0,5,0,20,0,60,0,46,0,71,0 45,0,12,0,34,0,33,0,79,0,56,0 21,0,9,0,74,0,72,0,11,0,78,0 26,0,4,0,27,0,14,0,57,0,8,0 48,0,53,0,43,0,61,0,32,0,55,0 30,0,29,0,50,0,1,0,18,0,42,0 36,0,23,0,59,0,39,0,52,0,75,0 40,0,5,0,67,0,64,0,65,0,63,0 7,0,19,0,10,0,69,0,49,0,37,0 17,0,78,0,73,0,51,0,62,0,12,0 9,0,77,0,27,0,13,0,35,0,56,0 20,0,54,0,72,0,24,0,34,0,4,0 71,0,2,0,8,0,70,0,33,0,68,0 41,0,79,0,14,0,6,0,44,0,57,0 11,0,45,0,16,0,31,0,22,0,66,0 3,0,76,0,15,0,47,0,60,0,21,0 25,0,46,0,74,0,58,0,26,0,28,0 38,0,7,0,12,0,67,0,9,0,1,0 56,0,42,0,52,0,20,0,37,0,43,0 73,0,72,0,40,0,10,0,71,0,68,0 61,0,24,0,8,0,18,0,13,0,79,0 62,0,49,0,36,0,41,0,45,0,27,0 47,0,4,0,51,0,48,0,35,0,5,0 59,0,22,0,25,0,54,0,30,0,2,0 58,0,34,0,14,0,3,0,64,0,17,0 31,0,57,0,29,0,69,0,77,0,21,0 39,0,6,0,50,0,78,0,26,0,38,0 75,0,53,0,65,0,28,0,44,0,66,0 63,0,55,0,23,0,74,0,70,0,76,0 32,0,33,0,15,0,16,0,19,0,46,0 11,0,27,0,79,0,60,0,40,0,68,0 71,0,52,0,5,0,49,0,3,0,9,0 48,0,45,0,24,0,29,0,17,0,43,0 13,0,22,0,64,0,57,0,50,0,35,0 53,0,30,0,62,0,37,0,4,0,10,0 2,0,31,0,61,0,55,0,38,0,75,0 78,0,21,0,66,0,33,0,23,0,42,0 77,0,74,0,26,0,20,0,32,0,47,0 16,0,56,0,54,0,18,0,76,0,28,0 63,0,34,0,51,0,41,0,15,0,12,0 14,0,72,0,36,0,1,0,19,0,60,0 8,0,46,0,69,0,59,0,67,0,6,0 11,0,44,0,65,0,58,0,70,0,39,0 25,0,73,0,23,0,7,0,3,0,22,0 30,0,32,0,52,0,21,0,24,0,38,0 18,0,9,0,29,0,75,0,62,0,4,0 47,0,17,0,42,0,33,0,27,0,71,0 43,0,78,0,34,0,28,0,77,0,36,0 59,0,15,0,55,0,20,0,57,0,10,0 12,0,54,0,35,0,46,0,11,0,14,0 64,0,1,0,41,0,25,0,65,0,79,0 6,0,70,0,49,0,53,0,76,0,72,0 68,0,26,0,44,0,61,0,7,0,56,0 19,0,73,0,58,0,31,0,63,0,8,0 50,0,74,0,60,0,40,0,37,0,48,0 13,0,39,0,67,0,16,0,51,0,2,0 69,0,5,0,59,0,66,0,45,0,15,0 29,0,28,0,20,0,22,0,11,0,33,0 17,0,27,0,70,0,6,0,54,0,78,0 21,0,55,0,35,0,41,0,62,0,71,0 18,0,44,0,10,0,34,0,3,0,25,0 4,0,31,0,46,0,49,0,79,0,50,0 14,0,68,0,32,0,37,0,75,0,51,0 63,0,60,0,30,0,45,0,7,0,39,0 12,0,74,0,23,0,64,0,61,0,69,0 57,0,73,0,76,0,19,0,38,0,43,0 47,0,72,0,65,0,2,0,13,0,36,0 40,0,56,0,26,0,66,0,24,0,67,0 52,0,8,0,1,0,5,0,77,0,53,0 58,0,48,0,68,0,9,0,16,0,42,0 79,0,28,0,7,0,50,0,21,0,51,0 71,0,22,0,32,0,18,0,15,0,14,0 39,0,63,0,43,0,31,0,27,0,10,0 61,0,33,0,74,0,36,0,3,0,30,0 13,0,46,0,37,0,45,0,4,0,78,0 1,0,54,0,70,0,47,0,57,0,66,0 75,0,19,0,64,0,62,0,65,0,52,0 9,0,60,0,24,0,41,0,73,0,69,0 11,0,56,0,6,0,55,0,5,0,42,0 77,0,20,0,23,0,48,0,25,0,72,0 38,0,8,0,40,0,16,0,34,0,17,0 59,0,26,0,2,0,53,0,12,0,58,0 44,0,49,0,76,0,67,0,29,0,35,0 79,0,15,0,75,0,30,0,74,0,43,0 51,0,68,0,54,0,10,0,65,0,33,0 64,0,6,0,71,0,24,0,7,0,36,0 61,0,39,0,1,0,46,0,21,0,62,0 11,0,3,0,66,0,13,0,4,0,38,0 58,0,18,0,5,0,27,0,23,0,57,0 76,0,22,0,42,0,41,0,59,0,40,0 52,0,72,0,44,0,63,0,26,0,16,0 70,0,2,0,37,0,9,0,73,0,34,0 60,0,35,0,20,0,31,0,53,0,17,0 48,0,19,0,56,0,78,0,25,0,49,0 77,0,67,0,45,0,14,0,55,0,50,0 32,0,8,0,29,0,28,0,12,0,47,0 69,0,43,0,40,0,33,0,54,0,62,0 ================================================ FILE: schedules/79_14.csv ================================================ 75,0,33,0,39,0,25,0,26,0,6,0 52,0,28,0,24,0,60,0,36,0,40,0 31,0,8,0,11,0,78,0,37,0,57,0 13,0,61,0,47,0,48,0,66,0,19,0 73,0,23,0,14,0,12,0,5,0,4,0 45,0,68,0,15,0,32,0,30,0,44,0 63,0,74,0,71,0,64,0,1,0,72,0 9,0,51,0,3,0,43,0,10,0,69,0 27,0,77,0,34,0,54,0,56,0,7,0 16,0,49,0,50,0,29,0,53,0,22,0 79,0,70,0,21,0,42,0,35,0,62,0 38,0,65,0,67,0,59,0,55,0,46,0 58,0,76,0,41,0,20,0,2,0,18,0 17,0,15,0,8,0,31,0,24,0,68,0 40,0,72,0,66,0,45,0,4,0,9,0 39,0,60,0,1,0,3,0,11,0,43,0 26,0,10,0,61,0,73,0,49,0,36,0 79,0,30,0,63,0,13,0,27,0,22,0 28,0,74,0,56,0,33,0,48,0,42,0 29,0,52,0,58,0,38,0,47,0,14,0 19,0,76,0,75,0,7,0,35,0,17,0 18,0,25,0,64,0,12,0,67,0,37,0 71,0,65,0,44,0,50,0,6,0,5,0 41,0,54,0,78,0,62,0,23,0,46,0 2,0,21,0,59,0,77,0,51,0,55,0 69,0,34,0,57,0,53,0,32,0,16,0 20,0,72,0,29,0,70,0,22,0,39,0 33,1,30,0,35,0,43,1,74,0,7,0 25,1,66,0,37,0,47,1,36,0,79,0 19,0,26,0,60,0,27,0,5,0,64,0 56,0,41,0,11,0,45,0,71,0,24,0 77,0,38,0,62,0,31,0,12,0,3,0 14,0,10,0,34,0,63,0,48,0,6,0 67,0,42,0,58,0,57,0,73,0,40,0 61,0,54,0,75,0,51,0,4,0,68,0 44,0,28,0,16,0,20,0,21,0,23,0 2,0,17,0,13,0,52,0,69,0,65,0 46,0,15,0,9,0,50,0,76,0,55,0 18,0,70,0,8,0,49,0,59,0,32,0 1,0,38,0,12,0,53,0,78,0,7,0 3,0,73,0,33,0,66,0,24,0,14,0 47,0,60,0,41,0,68,0,30,0,74,0 57,0,48,0,29,0,51,0,6,0,62,0 56,0,34,0,64,0,39,0,69,0,36,0 11,0,55,0,17,0,28,0,22,0,61,0 50,0,9,0,32,0,31,0,67,0,19,0 49,0,37,0,42,0,13,0,45,0,59,0 35,0,20,0,77,0,23,0,10,0,4,0 53,0,44,0,5,0,54,0,72,0,76,0 18,0,75,0,27,0,65,0,1,0,21,0 40,0,2,0,79,0,8,0,43,0,71,0 52,0,63,0,46,0,16,0,58,0,26,0 15,0,70,0,69,0,25,0,78,0,28,0 59,0,73,0,42,0,68,0,34,0,3,0 20,0,17,0,24,0,12,0,74,0,50,0 31,0,4,0,55,0,49,0,60,0,48,0 36,0,29,0,75,0,54,0,11,0,30,0 43,0,23,0,22,0,27,0,37,0,38,0 44,0,64,0,61,0,18,0,57,0,52,0 19,0,63,0,1,0,25,0,21,0,40,0 6,0,77,0,32,0,79,0,26,0,78,0 66,0,53,0,33,0,70,0,2,0,46,0 16,0,76,0,45,0,39,0,10,0,65,0 67,0,47,0,35,0,15,0,56,0,72,0 51,0,8,0,7,0,41,0,5,0,14,0 13,0,71,0,62,0,9,0,58,0,36,0 54,0,59,0,69,0,20,0,73,0,74,0 23,0,64,0,50,0,30,0,55,0,34,0 18,0,4,0,78,0,27,0,63,0,29,0 45,0,43,0,77,0,53,0,57,0,76,0 11,0,46,0,65,0,15,0,42,0,25,0 41,0,8,0,22,0,56,0,26,0,44,0 39,0,12,0,40,0,66,0,51,0,35,0 14,0,16,0,62,0,61,0,17,0,1,0 24,0,7,0,72,0,58,0,48,0,32,0 38,0,60,0,71,0,37,0,19,0,21,0 5,0,70,0,28,0,13,0,10,0,67,0 33,0,52,0,68,0,9,0,49,0,79,0 3,0,2,0,6,0,75,0,31,0,47,0 51,0,76,0,25,0,66,0,74,0,34,0 39,0,59,0,41,0,53,0,17,0,63,0 42,0,4,0,16,0,8,0,24,0,78,0 20,0,48,0,27,0,36,0,71,0,15,0 43,0,58,0,50,0,70,0,56,0,61,0 64,0,57,0,46,0,10,0,79,0,1,0 6,0,12,0,21,0,52,0,3,0,30,0 40,0,55,0,54,0,18,0,13,0,31,0 26,0,22,0,45,0,68,0,47,0,19,0 9,0,67,0,44,0,14,0,2,0,49,0 60,0,75,0,69,0,23,0,29,0,77,0 37,0,65,0,7,0,62,0,73,0,28,0 5,0,72,0,32,0,11,0,38,0,33,0 35,0,43,0,4,0,59,0,6,0,64,0 3,0,27,0,70,0,41,0,17,0,57,0 47,0,55,0,20,0,63,0,42,0,51,0 67,0,78,0,61,0,21,0,76,0,24,0 12,0,48,0,2,0,19,0,45,0,29,0 31,0,30,0,56,0,10,0,25,0,16,0 11,0,32,0,66,0,52,0,54,0,23,0 68,0,72,0,69,0,18,0,14,0,37,0 26,0,73,0,46,0,71,0,35,0,9,0 49,0,33,0,13,0,15,0,1,0,77,0 5,0,60,0,22,0,7,0,62,0,39,0 65,0,58,0,74,0,8,0,44,0,36,0 38,0,28,0,79,0,75,0,34,0,50,0 53,0,30,0,25,0,40,0,4,0,3,0 16,0,64,0,68,0,27,0,2,0,66,0 19,0,78,0,11,0,67,0,20,0,56,0 21,0,48,0,54,0,17,0,26,0,43,0 12,0,59,0,57,0,13,0,60,0,72,0 22,0,71,0,51,0,33,0,65,0,76,0 73,0,70,0,9,0,28,0,77,0,63,0 49,0,52,0,38,0,42,0,74,0,39,0 35,0,34,0,24,0,29,0,44,0,1,0 58,0,8,0,53,0,75,0,55,0,6,0 31,0,45,0,37,0,61,0,46,0,5,0 50,0,40,0,62,0,47,0,69,0,32,0 7,0,14,0,79,0,23,0,36,0,18,0 15,0,10,0,21,0,41,0,72,0,2,0 63,0,49,0,26,0,12,0,56,0,76,0 43,0,78,0,13,0,39,0,44,0,68,0 35,0,57,0,25,0,20,0,54,0,38,0 60,0,65,0,8,0,33,0,34,0,61,0 31,0,52,0,51,0,73,0,27,0,67,0 32,0,18,0,42,0,71,0,14,0,30,0 15,0,7,0,29,0,37,0,40,0,17,0 22,0,6,0,66,0,41,0,69,0,1,0 24,0,5,0,48,0,59,0,9,0,75,0 46,0,79,0,4,0,70,0,11,0,47,0 58,0,23,0,28,0,3,0,45,0,64,0 53,0,55,0,19,0,62,0,10,0,74,0 36,0,16,0,72,0,77,0,50,0,68,0 38,0,17,0,30,0,2,0,56,0,51,0 73,0,22,0,63,0,15,0,32,0,60,0 13,0,25,0,20,0,29,0,8,0,61,0 9,0,21,0,7,0,11,0,57,0,4,0 44,0,45,0,69,0,70,0,31,0,33,0 39,0,28,0,27,0,46,0,12,0,14,0 6,0,19,0,24,0,49,0,77,0,18,0 42,0,79,0,64,0,53,0,48,0,41,0 65,0,3,0,78,0,74,0,40,0,26,0 67,0,62,0,34,0,66,0,75,0,43,0 55,0,71,0,5,0,16,0,52,0,35,0 36,0,1,0,76,0,59,0,23,0,47,0 37,0,10,0,50,0,54,0,58,0,39,0 18,0,45,0,51,0,9,0,25,0,60,0 6,0,29,0,56,0,68,0,46,0,28,0 61,0,20,0,53,0,32,0,7,0,27,0 31,0,79,0,43,0,72,0,12,0,65,0 41,0,74,0,13,0,73,0,75,0,16,0 70,0,62,0,76,0,38,0,24,0,64,0 36,0,33,0,19,0,23,0,57,0,55,0 42,0,10,0,71,0,17,0,66,0,44,0 59,0,14,0,26,0,15,0,11,0,40,0 67,0,48,0,77,0,30,0,58,0,22,0 5,0,49,0,34,0,21,0,78,0,47,0 37,0,1,0,4,0,2,0,50,0,52,0 8,0,69,0,3,0,54,0,63,0,35,0 55,0,36,0,41,0,32,0,43,0,12,0 23,0,60,0,61,0,42,0,6,0,72,0 14,0,9,0,56,0,65,0,53,0,70,0 76,0,59,0,66,0,29,0,28,0,31,0 68,0,17,0,5,0,25,0,58,0,77,0 64,0,37,0,30,0,20,0,1,0,33,0 50,0,21,0,73,0,48,0,8,0,45,0 39,0,47,0,4,0,69,0,71,0,67,0 3,0,19,0,54,0,79,0,15,0,16,0 40,0,78,0,52,0,75,0,10,0,22,0 2,0,24,0,26,0,13,0,7,0,57,0 18,0,44,0,63,0,38,0,46,0,51,0 35,0,74,0,49,0,27,0,11,0,62,0 34,0,1,0,31,0,20,0,41,0,70,0 65,0,29,0,47,0,21,0,64,0,77,0 43,0,30,0,39,0,28,0,8,0,19,0 22,0,54,0,12,0,61,0,42,0,9,0 59,0,58,0,10,0,33,0,69,0,79,0 56,0,32,0,46,0,5,0,13,0,3,0 55,0,27,0,25,0,72,0,73,0,44,0 75,0,57,0,63,0,66,0,49,0,71,0 17,0,36,0,74,0,45,0,67,0,6,0 48,0,68,0,11,0,76,0,40,0,38,0 35,0,78,0,2,0,50,0,14,0,60,0 23,0,26,0,37,0,24,0,51,0,53,0 15,0,62,0,18,0,52,0,34,0,4,0 7,0,33,0,25,0,16,0,43,0,47,0 ================================================ FILE: schedules/79_2.csv ================================================ 48,0,70,0,64,0,15,0,24,0,16,0 6,0,43,0,65,0,68,0,9,0,58,0 67,0,3,0,62,0,8,0,12,0,21,0 54,0,39,0,51,0,18,0,36,0,19,0 27,0,44,0,45,0,61,0,30,0,53,0 49,0,28,0,32,0,20,0,26,0,35,0 2,0,55,0,22,0,34,0,50,0,4,0 25,0,23,0,74,0,71,0,77,0,5,0 33,0,38,0,42,0,10,0,7,0,41,0 56,0,1,0,78,0,57,0,76,0,47,0 52,0,79,0,66,0,69,0,17,0,60,0 46,0,37,0,29,0,31,0,63,0,59,0 40,0,72,0,11,0,14,0,73,0,13,0 75,0,20,0,61,0,58,0,15,0,51,0 65,0,49,0,21,0,74,0,2,0,53,0 35,0,50,0,43,0,38,0,27,0,24,0 19,0,22,0,10,0,6,0,32,0,67,0 66,0,56,0,64,0,3,0,42,0,44,0 16,0,9,0,69,0,54,0,12,0,47,0 14,0,68,0,33,0,46,0,76,0,23,0 29,0,45,0,28,0,75,0,11,0,25,0 8,0,13,0,39,0,55,0,30,0,37,0 34,0,31,0,5,0,40,0,1,0,70,0 4,0,18,0,17,0,63,0,62,0,71,0 72,0,59,0,41,0,78,0,60,0,77,0 57,0,26,0,7,0,73,0,79,0,48,0 36,0,21,1,15,1,52,0,43,1,67,1 ================================================ FILE: schedules/79_3.csv ================================================ 31,0,72,0,33,0,26,0,30,0,50,0 17,0,13,0,32,0,63,0,27,0,14,0 8,0,78,0,74,0,40,0,53,0,1,0 59,0,68,0,20,0,58,0,41,0,10,0 39,0,29,0,12,0,65,0,3,0,54,0 64,0,44,0,66,0,19,0,49,0,24,0 57,0,70,0,55,0,42,0,18,0,15,0 51,0,2,0,23,0,52,0,75,0,47,0 21,0,73,0,56,0,9,0,77,0,5,0 37,0,25,0,7,0,71,0,16,0,34,0 46,0,28,0,76,0,11,0,38,0,62,0 36,0,45,0,48,0,43,0,22,0,6,0 35,0,67,0,60,0,4,0,79,0,69,0 61,0,31,0,59,0,32,0,39,0,78,0 42,1,41,0,19,0,75,1,13,0,12,0 44,1,53,0,26,0,29,0,70,0,2,0 54,0,16,0,63,0,1,0,50,0,20,0 58,0,56,0,18,0,8,0,17,0,25,0 10,0,9,0,24,0,76,0,52,0,3,0 22,0,35,0,47,0,30,0,7,0,57,0 71,0,27,0,11,0,77,0,36,0,68,0 64,0,14,0,55,0,37,0,60,0,48,0 43,0,40,0,49,0,62,0,73,0,67,0 72,0,4,0,66,0,23,0,46,0,34,0 38,0,5,0,69,0,33,0,65,0,15,0 79,0,61,0,74,0,45,0,51,0,28,0 6,0,58,0,75,0,21,0,32,0,7,0 12,0,50,0,22,0,70,0,8,0,52,0 10,0,36,0,1,0,64,0,39,0,35,0 29,0,60,0,63,0,42,0,56,0,49,0 34,0,78,0,54,0,43,0,57,0,24,0 15,0,11,0,20,0,9,0,44,0,31,0 26,0,3,0,71,0,47,0,66,0,14,0 62,0,5,0,25,0,74,0,6,0,19,0 48,0,65,0,21,0,46,0,79,0,68,0 37,0,73,0,76,0,18,0,69,0,27,0 30,0,51,0,13,0,38,0,59,0,4,0 2,0,17,0,41,0,16,0,61,0,33,0 45,0,23,0,77,0,53,0,67,0,55,0 28,0,40,0,75,0,72,0,42,0,44,0 ================================================ FILE: schedules/79_4.csv ================================================ 14,0,75,0,5,0,43,0,39,0,31,0 28,0,47,0,9,0,37,0,24,0,1,0 35,0,30,0,71,0,11,0,58,0,55,0 66,0,52,0,62,0,50,0,25,0,51,0 63,0,15,0,38,0,78,0,77,0,49,0 18,0,53,0,4,0,72,0,45,0,12,0 59,0,2,0,64,0,26,0,67,0,76,0 73,0,42,0,7,0,46,0,6,0,70,0 61,0,65,0,19,0,69,0,17,0,41,0 3,0,68,0,57,0,8,0,60,0,10,0 33,0,29,0,21,0,32,0,36,0,16,0 40,0,22,0,34,0,44,0,13,0,48,0 27,0,20,0,79,0,23,0,54,0,56,0 11,0,47,0,31,0,74,0,51,0,49,0 58,0,26,0,50,0,4,0,1,0,38,0 18,0,15,0,62,0,71,0,19,0,5,0 76,0,9,0,17,0,25,0,70,0,35,0 75,0,8,0,64,0,77,0,52,0,69,0 6,0,44,0,36,0,12,0,30,0,65,0 45,0,32,0,57,0,73,0,67,0,23,0 72,0,74,0,55,0,20,0,10,0,37,0 22,0,59,0,54,0,33,0,61,0,68,0 21,0,53,0,48,0,14,0,63,0,3,0 29,0,56,0,78,0,60,0,46,0,13,0 43,0,79,0,28,0,66,0,41,0,40,0 42,0,24,0,2,0,27,0,16,0,34,0 39,0,17,0,11,0,7,0,23,0,62,0 9,1,8,0,45,0,51,1,19,0,55,0 76,0,74,0,4,0,30,0,68,0,32,0 20,0,15,0,6,0,59,0,14,0,58,0 12,0,22,0,67,0,56,0,77,0,3,0 1,0,18,0,70,0,78,0,54,0,66,0 27,0,10,0,73,0,40,0,63,0,31,0 44,0,7,0,69,0,28,0,60,0,49,0 25,0,36,0,5,0,34,0,47,0,64,0 52,0,42,0,71,0,38,0,43,0,33,0 2,0,29,0,37,0,53,0,57,0,79,0 13,0,61,0,72,0,50,0,21,0,75,0 41,0,16,0,39,0,35,0,26,0,48,0 46,0,24,0,3,0,65,0,15,0,32,0 68,0,31,0,66,0,44,0,17,0,67,0 12,0,23,0,78,0,5,0,59,0,9,0 55,0,49,0,14,0,52,0,22,0,4,0 51,0,58,0,7,0,18,0,64,0,57,0 37,0,21,0,25,0,45,0,40,0,54,0 63,0,50,0,19,0,42,0,36,0,39,0 56,0,35,0,65,0,2,0,62,0,8,0 26,0,60,0,77,0,24,0,61,0,20,0 28,0,70,0,16,0,53,0,11,0,38,0 27,0,1,0,48,0,76,0,72,0,33,0 73,0,69,0,47,0,13,0,71,0,79,0 75,0,6,0,34,0,29,0,74,0,41,0 46,0,43,0,51,0,30,0,10,0,9,0 ================================================ FILE: schedules/79_5.csv ================================================ 43,0,53,0,70,0,63,0,18,0,16,0 49,0,4,0,22,0,6,0,40,0,23,0 7,0,42,0,19,0,64,0,35,0,71,0 55,0,51,0,62,0,1,0,59,0,65,0 47,0,60,0,5,0,39,0,52,0,29,0 78,0,24,0,57,0,68,0,11,0,61,0 79,0,72,0,44,0,41,0,14,0,69,0 20,0,10,0,67,0,15,0,54,0,17,0 31,0,50,0,33,0,27,0,37,0,2,0 30,0,3,0,76,0,25,0,58,0,46,0 32,0,66,0,38,0,73,0,56,0,9,0 45,0,21,0,13,0,36,0,12,0,34,0 48,0,8,0,77,0,75,0,28,0,74,0 26,0,61,0,19,0,70,0,51,0,4,0 68,0,67,0,39,0,40,0,42,0,62,0 63,0,59,0,31,0,41,0,35,0,20,0 52,0,54,0,33,0,53,0,57,0,30,0 29,0,7,0,46,0,24,0,32,0,69,0 36,0,76,0,71,0,43,0,72,0,55,0 47,0,65,0,34,0,78,0,9,0,18,0 17,0,14,0,74,0,73,0,6,0,16,0 2,0,21,0,77,0,26,0,22,0,3,0 12,0,8,0,58,0,10,0,64,0,50,0 49,0,75,0,27,0,13,0,60,0,15,0 37,0,66,0,5,0,23,0,79,0,25,0 56,0,44,0,28,0,45,0,11,0,1,0 48,0,40,0,72,0,38,0,59,0,61,0 46,1,4,0,42,0,63,0,54,0,55,0 69,0,17,0,78,0,51,0,39,0,53,0 50,0,62,0,22,0,70,0,57,0,47,0 8,0,32,0,30,0,36,0,26,0,49,0 18,0,74,0,24,0,20,0,64,0,60,0 35,0,6,0,13,0,67,0,3,0,1,0 68,0,58,0,16,0,29,0,34,0,38,0 28,0,66,0,65,0,21,0,33,0,7,0 43,0,25,0,44,0,52,0,31,0,48,0 14,0,19,0,9,0,76,0,37,0,45,0 41,0,27,0,23,0,77,0,71,0,12,0 10,0,73,0,5,0,11,0,2,0,75,0 79,0,15,0,26,0,56,0,78,0,42,0 13,0,69,0,30,0,4,0,16,0,62,0 64,0,66,0,70,0,17,0,40,0,29,0 60,0,54,0,35,0,61,0,28,0,58,0 8,0,63,0,6,0,44,0,76,0,47,0 20,0,14,0,55,0,38,0,21,0,27,0 3,0,34,0,51,0,43,0,24,0,33,0 59,0,49,0,10,0,53,0,19,0,74,0 48,0,32,0,12,0,57,0,2,0,65,0 67,0,25,0,45,0,41,0,22,0,73,0 11,0,36,0,37,0,15,0,39,0,77,0 46,0,23,0,68,0,52,0,50,0,72,0 1,0,9,0,71,0,79,0,75,0,31,0 18,0,56,0,3,0,5,0,7,0,14,0 69,0,64,0,61,0,43,0,47,0,27,0 2,0,40,0,53,0,60,0,55,0,44,0 16,0,24,0,76,0,12,0,42,0,49,0 33,0,62,0,45,0,6,0,32,0,10,0 70,0,37,0,73,0,46,0,78,0,48,0 11,0,52,0,59,0,67,0,34,0,79,0 51,0,28,0,25,0,20,0,9,0,50,0 72,0,39,0,4,0,58,0,66,0,31,0 63,0,65,0,38,0,36,0,74,0,22,0 26,0,29,0,54,0,18,0,71,0,13,0 75,0,57,0,23,0,56,0,21,0,35,0 7,0,17,0,1,0,77,0,68,0,30,0 41,0,19,0,46,0,15,0,8,0,5,0 ================================================ FILE: schedules/79_6.csv ================================================ 51,0,3,0,71,0,47,0,46,0,28,0 32,0,66,0,68,0,11,0,26,0,24,0 69,0,17,0,58,0,7,0,35,0,4,0 6,0,40,0,13,0,30,0,2,0,22,0 62,0,48,0,75,0,25,0,64,0,5,0 38,0,77,0,52,0,36,0,76,0,57,0 12,0,33,0,70,0,44,0,60,0,49,0 59,0,27,0,53,0,10,0,67,0,43,0 9,0,73,0,74,0,14,0,31,0,29,0 41,0,20,0,78,0,1,0,65,0,55,0 61,0,15,0,23,0,18,0,63,0,56,0 37,0,79,0,45,0,39,0,72,0,34,0 16,0,54,0,50,0,42,0,8,0,19,0 21,0,7,0,11,0,49,0,71,0,52,0 10,0,4,0,28,0,64,0,57,0,44,0 76,0,43,0,62,0,46,0,2,0,68,0 1,0,13,0,17,0,32,0,51,0,60,0 65,0,36,0,40,0,69,0,33,0,15,0 22,0,79,0,63,0,35,0,26,0,14,0 72,0,47,0,53,0,54,0,58,0,78,0 34,0,41,0,30,0,77,0,59,0,73,0 42,0,18,0,25,0,24,0,70,0,74,0 29,0,38,0,19,0,21,0,37,0,75,0 56,0,50,0,31,0,45,0,6,0,48,0 66,0,20,0,61,0,39,0,3,0,9,0 8,0,12,0,23,0,27,0,55,0,5,0 67,0,64,0,65,0,16,0,63,0,60,0 15,0,78,0,4,0,43,0,71,0,79,0 11,0,46,0,77,0,22,0,44,0,1,0 19,0,68,0,40,0,72,0,25,0,52,0 18,0,31,0,33,0,62,0,51,0,34,0 69,0,24,0,6,0,21,0,14,0,28,0 13,0,49,0,66,0,29,0,10,0,23,0 2,0,39,0,75,0,73,0,17,0,42,0 3,0,7,0,30,0,55,0,70,0,48,0 50,0,61,0,59,0,47,0,35,0,38,0 56,0,53,0,26,0,16,0,9,0,12,0 74,0,57,0,20,0,58,0,37,0,8,0 36,0,32,0,5,0,67,0,45,0,41,0 76,0,54,0,33,0,27,0,13,0,25,0 65,0,44,0,17,0,43,0,19,0,66,0 14,0,75,0,49,0,78,0,34,0,46,0 22,0,52,0,4,0,60,0,29,0,18,0 68,0,38,0,1,0,39,0,30,0,12,0 15,0,26,0,3,0,59,0,8,0,6,0 56,0,21,0,79,0,32,0,70,0,62,0 58,0,28,0,48,0,77,0,42,0,27,0 24,0,76,0,72,0,7,0,31,0,23,0 37,0,35,0,10,0,41,0,16,0,51,0 63,0,57,0,55,0,45,0,9,0,47,0 73,0,50,0,71,0,20,0,64,0,36,0 67,0,69,0,2,0,61,0,11,0,54,0 5,0,53,0,34,0,40,0,74,0,4,0 52,0,26,0,27,0,70,0,17,0,78,0 44,0,79,0,6,0,68,0,7,0,75,0 19,0,41,0,12,0,22,0,28,0,62,0 43,0,51,0,29,0,42,0,56,0,57,0 10,0,33,0,77,0,47,0,24,0,20,0 64,0,8,0,45,0,13,0,18,0,35,0 76,0,9,0,67,0,50,0,15,0,21,0 46,0,39,0,55,0,31,0,25,0,69,0 59,0,48,0,60,0,74,0,72,0,36,0 61,0,49,0,37,0,30,0,65,0,5,0 73,0,32,0,38,0,40,0,63,0,54,0 58,0,1,0,2,0,66,0,71,0,16,0 14,0,11,0,23,0,53,0,3,0,41,0 28,0,75,0,35,0,52,0,67,0,20,0 39,0,15,0,7,0,77,0,62,0,29,0 48,0,46,0,13,0,9,0,4,0,19,0 22,0,21,0,45,0,61,0,17,0,10,0 63,0,27,0,51,0,72,0,69,0,30,0 1,0,43,0,5,0,50,0,26,0,33,0 32,0,74,0,16,0,23,0,78,0,6,0 54,0,55,0,71,0,44,0,59,0,24,0 18,0,57,0,68,0,49,0,53,0,73,0 8,0,56,0,47,0,14,0,65,0,76,0 42,0,60,0,31,0,66,0,37,0,40,0 11,0,70,0,34,0,38,0,64,0,58,0 36,0,12,0,25,0,79,0,2,0,3,0 ================================================ FILE: schedules/79_7.csv ================================================ 37,0,77,0,66,0,79,0,39,0,60,0 73,0,16,0,41,0,24,0,33,0,50,0 13,0,44,0,26,0,10,0,19,0,23,0 55,0,35,0,3,0,7,0,48,0,32,0 43,0,75,0,12,0,76,0,31,0,2,0 65,0,49,0,67,0,18,0,74,0,34,0 59,0,9,0,64,0,15,0,1,0,47,0 42,0,46,0,69,0,71,0,58,0,53,0 4,0,36,0,30,0,51,0,45,0,5,0 27,0,38,0,57,0,63,0,61,0,62,0 11,0,78,0,20,0,17,0,22,0,56,0 40,0,14,0,72,0,68,0,70,0,25,0 52,0,6,0,28,0,29,0,21,0,54,0 8,0,67,0,79,0,43,0,32,0,59,0 26,0,42,0,48,0,12,0,34,0,41,0 65,0,75,0,10,0,9,0,16,0,69,0 50,0,74,0,19,0,53,0,77,0,38,0 47,0,39,0,62,0,78,0,3,0,36,0 63,0,68,0,17,0,31,0,73,0,64,0 23,0,24,0,49,0,30,0,6,0,72,0 21,0,22,0,66,0,44,0,51,0,33,0 37,0,35,0,70,0,15,0,5,0,27,0 11,0,7,0,8,0,4,0,29,0,46,0 56,0,45,0,71,0,76,0,40,0,57,0 55,0,52,0,58,0,1,0,2,0,13,0 25,0,60,0,61,0,20,0,28,0,18,0 14,0,42,0,32,0,54,0,77,0,49,0 30,1,21,0,41,0,3,1,65,0,19,0 69,1,15,0,67,0,63,1,23,0,51,0 33,1,9,0,72,0,34,0,17,0,79,0 74,0,24,0,31,0,37,0,46,0,40,0 57,0,2,0,5,0,7,0,50,0,78,0 27,0,66,0,6,0,12,0,58,0,64,0 60,0,56,0,75,0,14,0,62,0,59,0 25,0,39,0,55,0,10,0,4,0,22,0 68,0,53,0,44,0,52,0,8,0,20,0 18,0,35,0,73,0,43,0,54,0,13,0 16,0,26,0,45,0,28,0,11,0,47,0 1,0,71,0,29,0,48,0,70,0,61,0 38,0,9,0,32,0,76,0,36,0,21,0 33,0,60,0,19,0,2,0,46,0,15,0 79,0,12,0,23,0,62,0,7,0,74,0 57,0,10,0,72,0,52,0,3,0,66,0 31,0,77,0,65,0,4,0,58,0,20,0 28,0,42,0,56,0,5,0,39,0,68,0 27,0,17,0,18,0,29,0,14,0,45,0 76,0,64,0,61,0,30,0,44,0,34,0 48,0,11,0,43,0,36,0,50,0,49,0 69,0,8,0,73,0,55,0,47,0,40,0 13,0,6,0,37,0,59,0,16,0,71,0 26,0,25,0,51,0,24,0,1,0,38,0 70,0,78,0,54,0,75,0,53,0,63,0 35,0,41,0,46,0,67,0,22,0,45,0 14,0,33,0,39,0,61,0,65,0,7,0 58,0,36,0,68,0,10,0,74,0,29,0 57,0,15,0,34,0,69,0,28,0,31,0 19,0,47,0,76,0,66,0,49,0,17,0 60,0,23,0,52,0,73,0,38,0,71,0 6,0,70,0,51,0,55,0,43,0,9,0 77,0,56,0,2,0,25,0,64,0,3,0 53,0,18,0,59,0,26,0,30,0,40,0 41,0,54,0,62,0,37,0,11,0,72,0 13,0,22,0,24,0,32,0,75,0,27,0 44,0,78,0,79,0,35,0,4,0,42,0 50,0,21,0,1,0,12,0,8,0,63,0 20,0,16,0,48,0,5,0,67,0,66,0 25,0,58,0,33,0,57,0,23,0,43,0 70,0,65,0,17,0,60,0,36,0,26,0 55,0,54,0,38,0,68,0,30,0,15,0 32,0,10,0,62,0,64,0,28,0,71,0 76,0,22,0,7,0,53,0,37,0,73,0 52,0,4,0,49,0,69,0,12,0,59,0 41,0,5,0,63,0,29,0,77,0,47,0 34,0,8,0,51,0,19,0,78,0,14,0 1,0,46,0,72,0,56,0,16,0,18,0 50,0,31,0,3,0,42,0,13,0,67,0 11,0,40,0,61,0,35,0,6,0,75,0 2,0,45,0,20,0,79,0,24,0,21,0 48,0,74,0,9,0,44,0,27,0,39,0 69,0,68,0,7,0,41,0,60,0,43,0 19,0,64,0,36,0,54,0,57,0,22,0 30,0,77,0,62,0,16,0,70,0,52,0 4,0,28,0,3,0,23,0,17,0,1,0 56,0,33,0,49,0,8,0,35,0,31,0 14,0,76,0,20,0,63,0,55,0,26,0 53,0,47,0,27,0,21,0,67,0,10,0 65,0,46,0,79,0,48,0,6,0,25,0 29,0,38,0,40,0,13,0,39,0,34,0 45,0,58,0,50,0,72,0,44,0,75,0 71,0,5,0,12,0,9,0,18,0,24,0 74,0,59,0,2,0,11,0,42,0,51,0 66,0,73,0,15,0,61,0,78,0,32,0 37,0,30,0,63,0,3,0,69,0,33,0 ================================================ FILE: schedules/79_8.csv ================================================ 62,0,44,0,1,0,57,0,61,0,67,0 64,0,52,0,38,0,56,0,11,0,55,0 24,0,9,0,48,0,17,0,66,0,34,0 14,0,68,0,6,0,40,0,70,0,19,0 69,0,65,0,37,0,5,0,32,0,25,0 35,0,73,0,71,0,26,0,63,0,2,0 8,0,7,0,20,0,29,0,16,0,59,0 43,0,30,0,60,0,31,0,28,0,51,0 53,0,45,0,79,0,36,0,21,0,72,0 15,0,13,0,42,0,50,0,74,0,41,0 47,0,23,0,3,0,54,0,75,0,27,0 77,0,78,0,33,0,22,0,49,0,46,0 4,0,58,0,18,0,12,0,39,0,10,0 76,0,24,0,26,0,70,0,38,0,69,0 7,0,2,0,66,0,67,0,19,0,32,0 28,0,55,0,5,0,9,0,45,0,68,0 65,0,20,0,52,0,48,0,21,0,13,0 35,0,72,0,62,0,64,0,75,0,16,0 40,0,56,0,74,0,71,0,79,0,54,0 49,0,4,0,50,0,14,0,3,0,57,0 39,0,73,0,47,0,6,0,22,0,51,0 42,0,77,0,1,0,76,0,53,0,30,0 60,0,37,0,12,0,8,0,36,0,15,0 11,0,61,0,31,0,33,0,10,0,23,0 29,0,41,0,17,0,44,0,63,0,18,0 25,0,58,0,34,0,59,0,27,0,78,0 46,0,50,0,64,0,43,0,40,0,69,0 57,1,35,0,51,0,19,1,9,0,20,0 30,1,4,0,32,0,79,1,52,0,62,0 45,0,66,0,26,0,3,0,1,0,8,0 16,0,33,0,12,0,47,0,71,0,53,0 22,0,28,0,48,0,14,0,63,0,42,0 21,0,41,0,55,0,25,0,31,0,49,0 75,0,76,0,29,0,60,0,78,0,67,0 77,0,70,0,72,0,74,0,61,0,65,0 43,0,59,0,38,0,17,0,15,0,10,0 54,0,13,0,5,0,11,0,7,0,58,0 6,0,24,0,27,0,46,0,36,0,56,0 34,0,18,0,68,0,73,0,44,0,23,0 2,0,16,0,28,0,39,0,37,0,41,0 32,0,51,0,63,0,1,0,33,0,50,0 61,0,60,0,52,0,66,0,53,0,40,0 19,0,8,0,48,0,72,0,49,0,38,0 11,0,69,0,12,0,3,0,59,0,74,0 13,0,9,0,29,0,62,0,77,0,6,0 30,0,47,0,7,0,17,0,46,0,14,0 21,0,57,0,58,0,68,0,2,0,24,0 15,0,78,0,64,0,39,0,65,0,79,0 10,0,54,0,67,0,45,0,35,0,34,0 73,0,4,0,37,0,76,0,43,0,56,0 71,0,27,0,20,0,42,0,55,0,18,0 44,0,70,0,5,0,31,0,22,0,75,0 36,0,23,0,9,0,25,0,26,0,52,0 57,0,72,0,40,0,29,0,47,0,11,0 41,0,32,0,64,0,58,0,14,0,77,0 62,0,45,0,19,0,24,0,12,0,63,0 3,0,39,0,43,0,61,0,13,0,68,0 67,0,18,0,33,0,74,0,30,0,38,0 31,0,59,0,46,0,79,0,42,0,37,0 70,0,48,0,1,0,78,0,7,0,4,0 6,0,28,0,25,0,15,0,76,0,71,0 17,0,50,0,21,0,27,0,35,0,22,0 73,0,66,0,69,0,49,0,54,0,36,0 23,0,56,0,5,0,2,0,60,0,20,0 53,0,34,0,51,0,65,0,8,0,75,0 10,0,55,0,16,0,26,0,44,0,30,0 33,0,45,0,59,0,41,0,40,0,48,0 1,0,9,0,14,0,38,0,71,0,39,0 31,0,18,0,15,0,3,0,52,0,24,0 17,0,64,0,73,0,12,0,13,0,70,0 67,0,72,0,23,0,28,0,50,0,58,0 25,0,51,0,29,0,54,0,68,0,46,0 76,0,79,0,10,0,22,0,8,0,2,0 63,0,61,0,36,0,55,0,34,0,4,0 49,0,27,0,62,0,53,0,5,0,26,0 74,0,44,0,66,0,20,0,47,0,37,0 77,0,75,0,19,0,56,0,69,0,21,0 78,0,42,0,43,0,11,0,16,0,32,0 65,0,57,0,6,0,35,0,7,0,60,0 68,0,67,0,71,0,48,0,31,0,64,0 76,0,59,0,61,0,9,0,18,0,50,0 54,0,22,0,30,0,24,0,72,0,41,0 40,0,20,0,15,0,62,0,73,0,58,0 12,0,79,0,29,0,23,0,28,0,49,0 10,0,3,0,53,0,19,0,37,0,78,0 74,0,6,0,75,0,55,0,1,0,43,0 46,0,11,0,4,0,2,0,45,0,65,0 7,0,26,0,39,0,21,0,34,0,42,0 77,0,52,0,16,0,51,0,5,0,17,0 66,0,63,0,56,0,70,0,57,0,25,0 47,0,36,0,32,0,38,0,13,0,35,0 14,0,8,0,27,0,69,0,44,0,33,0 60,0,19,0,54,0,1,0,59,0,64,0 49,0,2,0,30,0,61,0,15,0,75,0 41,0,26,0,20,0,67,0,6,0,79,0 74,0,53,0,29,0,31,0,4,0,17,0 24,0,37,0,51,0,7,0,55,0,23,0 32,0,34,0,46,0,76,0,12,0,57,0 68,0,8,0,56,0,47,0,78,0,50,0 71,0,58,0,22,0,45,0,52,0,69,0 39,0,11,0,35,0,44,0,77,0,48,0 21,0,5,0,14,0,18,0,43,0,66,0 63,0,38,0,40,0,27,0,16,0,65,0 33,0,3,0,36,0,28,0,62,0,70,0 72,0,42,0,10,0,73,0,9,0,60,0 13,0,57,0,30,0,25,0,19,0,79,0 ================================================ FILE: schedules/79_9.csv ================================================ 51,0,12,0,30,0,48,0,6,0,71,0 34,0,10,0,32,0,27,0,37,0,72,0 7,0,62,0,22,0,43,0,57,0,31,0 38,0,58,0,14,0,50,0,19,0,18,0 41,0,35,0,45,0,68,0,69,0,40,0 9,0,1,0,25,0,74,0,55,0,77,0 36,0,61,0,24,0,46,0,70,0,23,0 21,0,44,0,20,0,78,0,2,0,49,0 66,0,53,0,5,0,15,0,75,0,56,0 3,0,52,0,67,0,26,0,8,0,13,0 28,0,54,0,76,0,60,0,47,0,4,0 33,0,29,0,11,0,63,0,16,0,73,0 39,0,64,0,59,0,42,0,17,0,79,0 65,0,24,0,10,0,9,0,43,0,48,0 72,0,38,0,70,0,21,0,6,0,45,0 55,0,5,0,57,0,71,0,40,0,2,0 20,0,46,0,69,0,67,0,26,0,75,0 53,0,1,0,44,0,60,0,31,0,62,0 54,0,33,0,56,0,77,0,51,0,35,0 50,0,32,0,66,0,42,0,16,0,36,0 7,0,64,0,19,0,3,0,30,0,41,0 49,0,29,0,79,0,22,0,13,0,14,0 11,0,76,0,61,0,18,0,68,0,59,0 4,0,23,0,37,0,12,0,65,0,25,0 27,0,63,0,58,0,47,0,15,0,17,0 52,0,8,0,34,0,73,0,78,0,28,0 74,0,36,0,6,0,39,0,67,0,35,0 60,1,46,0,44,0,33,1,5,0,42,0 45,1,56,0,70,0,10,0,3,0,20,0 51,0,7,0,13,0,1,0,2,0,38,0 29,0,50,0,31,0,24,0,54,0,37,0 41,0,77,0,57,0,12,0,16,0,53,0 58,0,52,0,79,0,66,0,63,0,61,0 11,0,32,0,17,0,30,0,65,0,21,0 69,0,39,0,27,0,55,0,73,0,43,0 22,0,64,0,40,0,78,0,18,0,23,0 62,0,74,0,15,0,8,0,76,0,48,0 25,0,19,0,26,0,47,0,59,0,71,0 75,0,28,0,68,0,72,0,14,0,9,0 49,0,66,0,67,0,4,0,34,0,38,0 20,0,11,0,1,0,58,0,36,0,12,0 57,0,39,0,52,0,29,0,44,0,32,0 10,0,79,0,45,0,73,0,50,0,51,0 22,0,5,0,65,0,61,0,35,0,8,0 31,0,70,0,64,0,77,0,47,0,48,0 15,0,16,0,2,0,26,0,30,0,43,0 49,0,59,0,4,0,9,0,56,0,6,0 24,0,27,0,25,0,76,0,75,0,21,0 33,0,18,0,53,0,17,0,13,0,74,0 71,0,78,0,3,0,62,0,72,0,69,0 54,0,42,0,68,0,34,0,7,0,23,0 63,0,41,0,60,0,14,0,46,0,37,0 19,0,28,0,38,0,40,0,55,0,44,0 35,0,79,0,16,0,67,0,1,0,10,0 75,0,51,0,31,0,39,0,8,0,58,0 17,0,2,0,76,0,61,0,29,0,56,0 13,0,64,0,5,0,69,0,6,0,11,0 50,0,21,0,22,0,3,0,77,0,68,0 71,0,37,0,52,0,42,0,7,0,15,0 78,0,19,0,65,0,46,0,45,0,57,0 70,0,18,0,43,0,60,0,25,0,66,0 55,0,72,0,23,0,59,0,63,0,30,0 41,0,32,0,12,0,49,0,28,0,24,0 34,0,9,0,47,0,62,0,40,0,33,0 73,0,48,0,26,0,36,0,4,0,53,0 20,0,14,0,74,0,54,0,27,0,71,0 46,0,16,0,22,0,76,0,39,0,6,0 37,0,67,0,7,0,58,0,70,0,5,0 30,0,66,0,8,0,68,0,29,0,1,0 77,0,17,0,24,0,69,0,60,0,38,0 59,0,43,0,3,0,12,0,34,0,75,0 63,0,62,0,13,0,45,0,28,0,36,0 61,0,4,0,50,0,57,0,74,0,64,0 2,0,48,0,54,0,79,0,32,0,78,0 18,0,73,0,65,0,47,0,44,0,72,0 15,0,23,0,35,0,9,0,41,0,20,0 40,0,56,0,31,0,11,0,25,0,14,0 42,0,21,0,26,0,10,0,33,0,55,0 51,0,27,0,49,0,52,0,53,0,19,0 13,0,30,0,34,0,39,0,50,0,60,0 45,0,2,0,77,0,37,0,75,0,59,0 12,0,67,0,44,0,66,0,17,0,22,0 41,0,5,0,73,0,18,0,54,0,62,0 72,0,8,0,79,0,7,0,20,0,24,0 78,0,33,0,4,0,31,0,68,0,15,0 26,0,6,0,1,0,57,0,27,0,61,0 16,0,48,0,56,0,58,0,23,0,19,0 63,0,76,0,71,0,38,0,64,0,9,0 14,0,47,0,36,0,21,0,69,0,52,0 46,0,29,0,53,0,25,0,28,0,10,0 42,0,35,0,55,0,11,0,49,0,70,0 51,0,43,0,40,0,3,0,74,0,32,0 65,0,6,0,2,0,66,0,41,0,33,0 20,0,75,0,4,0,19,0,62,0,17,0 1,0,71,0,45,0,22,0,34,0,24,0 21,0,9,0,60,0,56,0,79,0,57,0 14,0,76,0,73,0,67,0,77,0,23,0 25,0,15,0,54,0,64,0,44,0,36,0 12,0,47,0,39,0,78,0,10,0,61,0 59,0,70,0,69,0,65,0,51,0,28,0 7,0,40,0,26,0,50,0,63,0,49,0 43,0,38,0,37,0,11,0,53,0,8,0 3,0,35,0,29,0,48,0,27,0,18,0 52,0,16,0,72,0,31,0,74,0,5,0 32,0,55,0,68,0,13,0,58,0,46,0 30,0,47,0,56,0,42,0,24,0,67,0 12,0,19,0,69,0,76,0,33,0,79,0 21,0,59,0,40,0,1,0,15,0,73,0 70,0,8,0,17,0,50,0,41,0,71,0 75,0,10,0,60,0,22,0,36,0,38,0 57,0,23,0,28,0,3,0,11,0,66,0 29,0,5,0,77,0,45,0,43,0,4,0 62,0,37,0,68,0,51,0,16,0,64,0 58,0,34,0,74,0,65,0,44,0,26,0 9,0,30,0,54,0,27,0,46,0,52,0 25,0,72,0,42,0,13,0,2,0,35,0 18,0,63,0,20,0,32,0,39,0,31,0 6,0,78,0,14,0,53,0,55,0,7,0 61,0,48,0,60,0,49,0,33,0,45,0 ================================================ FILE: schedules/7_1.csv ================================================ 5,0,4,0,3,0,6,0,7,0,1,0 2,0,6,1,7,1,1,1,3,1,4,1 ================================================ FILE: schedules/7_10.csv ================================================ 6,0,1,0,5,0,7,0,4,0,3,0 2,0,3,0,1,0,7,0,6,0,5,0 5,0,7,0,2,0,4,0,6,0,1,0 7,0,4,1,1,0,3,1,2,0,6,0 6,0,4,0,2,0,7,0,5,0,3,0 2,0,4,0,5,0,3,0,1,0,6,0 3,0,1,0,5,0,4,0,2,0,7,0 1,0,7,0,4,0,3,0,5,0,2,0 4,0,3,0,6,0,2,0,1,0,7,0 6,0,2,0,7,0,5,0,3,0,4,0 5,0,6,0,4,0,1,0,3,0,2,0 6,0,7,0,3,0,1,0,5,0,4,0 ================================================ FILE: schedules/7_11.csv ================================================ 4,0,5,0,2,0,7,0,1,0,6,0 1,0,4,0,3,0,5,0,2,0,7,0 7,0,1,0,3,0,2,0,6,0,5,0 2,0,6,0,4,1,3,0,5,0,7,0 6,0,1,0,5,0,4,0,3,0,7,0 1,0,2,0,4,0,6,0,3,0,5,0 4,0,7,0,6,0,3,0,2,0,1,0 3,0,5,0,4,0,7,0,2,0,1,0 1,0,7,0,2,0,6,0,4,0,3,0 2,0,3,0,5,0,6,0,4,0,1,0 6,0,5,0,1,0,7,0,4,0,2,0 7,0,5,0,4,0,3,0,6,0,2,0 3,0,7,0,6,0,5,0,1,0,4,0 ================================================ FILE: schedules/7_12.csv ================================================ 3,0,6,0,2,0,7,0,4,0,1,0 4,0,2,0,7,0,1,0,3,0,5,0 3,0,4,0,6,0,5,0,2,0,7,0 4,0,1,0,3,0,6,0,2,0,5,0 5,0,1,0,4,0,6,0,7,0,3,0 1,0,6,0,7,0,3,0,5,0,2,0 6,0,7,0,5,0,4,0,2,0,1,0 1,0,5,0,6,0,7,0,3,0,4,0 7,0,2,0,1,0,4,0,6,0,3,0 2,0,3,0,7,0,5,0,6,0,4,0 2,0,4,0,6,0,1,0,5,0,3,0 2,0,5,0,4,0,7,0,1,0,6,0 2,0,3,0,1,0,5,0,7,0,4,0 3,0,7,0,5,0,6,0,1,0,2,0 ================================================ FILE: schedules/7_13.csv ================================================ 7,0,3,0,4,0,2,0,1,0,6,0 5,0,1,0,7,0,6,0,3,0,4,0 3,0,2,0,4,0,5,0,6,0,1,0 7,1,2,1,6,1,5,1,1,1,3,0 5,0,7,0,3,0,2,0,4,0,1,0 6,0,4,0,1,0,7,0,5,0,2,0 5,0,3,0,6,0,7,0,2,0,4,0 2,0,6,0,5,0,1,0,7,0,3,0 3,0,1,0,2,0,4,0,7,0,5,0 4,0,5,0,2,0,6,0,7,0,3,0 4,0,1,0,7,0,2,0,5,0,6,0 6,0,3,0,2,0,1,0,4,0,5,0 1,0,7,0,6,0,3,0,4,0,5,0 4,0,6,0,7,0,1,0,3,0,2,0 1,0,2,0,7,0,4,0,6,0,5,0 3,0,5,0,1,0,7,0,2,0,6,0 ================================================ FILE: schedules/7_14.csv ================================================ 5,0,3,0,7,0,6,0,4,0,1,0 5,0,4,0,7,0,2,0,3,0,6,0 2,0,6,0,5,0,4,0,7,0,1,0 4,0,2,1,3,1,1,1,7,0,6,1 2,0,1,0,4,0,3,0,6,0,5,0 3,0,7,0,1,0,2,0,5,0,4,0 6,0,1,0,5,0,3,0,2,0,7,0 1,0,2,0,3,0,4,0,7,0,5,0 6,0,2,0,4,0,3,0,1,0,5,0 6,0,4,0,3,0,2,0,5,0,7,0 7,0,4,0,3,0,1,0,6,0,2,0 5,0,1,0,2,0,7,0,3,0,6,0 4,0,6,0,7,0,1,0,5,0,3,0 7,0,2,0,1,0,5,0,4,0,6,0 6,0,5,0,1,0,3,0,2,0,4,0 7,0,6,0,2,0,1,0,3,0,4,0 5,0,3,0,2,0,7,0,1,0,6,0 ================================================ FILE: schedules/7_2.csv ================================================ 7,0,5,0,3,0,4,0,6,0,1,0 2,0,4,0,7,0,3,0,1,0,5,0 6,0,7,1,5,1,1,1,2,0,3,1 ================================================ FILE: schedules/7_3.csv ================================================ 4,0,2,0,7,0,6,0,5,0,3,0 1,0,6,0,4,0,7,0,5,0,3,0 2,0,3,0,5,0,1,0,7,0,6,0 6,1,1,0,2,0,5,1,4,0,3,1 ================================================ FILE: schedules/7_4.csv ================================================ 3,0,1,0,7,0,6,0,5,0,2,0 7,0,6,0,4,0,5,0,3,0,1,0 3,0,2,0,6,0,4,0,7,0,5,0 5,0,4,0,3,0,7,0,2,0,1,0 2,0,4,0,5,1,1,0,6,0,7,1 ================================================ FILE: schedules/7_5.csv ================================================ 6,0,2,0,3,0,1,0,4,0,7,0 3,0,1,0,5,0,4,0,6,0,2,0 5,0,1,0,6,0,7,0,4,0,3,0 1,0,2,0,4,0,5,0,7,0,6,0 3,0,5,0,4,0,2,0,7,0,1,0 7,0,5,0,2,0,6,0,3,0,1,1 ================================================ FILE: schedules/7_6.csv ================================================ 3,0,2,0,5,0,4,0,1,0,7,0 2,0,7,0,6,0,3,0,1,0,5,0 1,0,3,0,6,0,5,0,2,0,4,0 6,0,5,0,4,0,7,0,3,0,2,0 7,0,4,0,3,0,1,0,6,0,2,0 5,0,7,0,1,0,4,0,6,0,3,0 2,0,4,0,1,0,6,0,5,0,7,0 ================================================ FILE: schedules/7_7.csv ================================================ 4,0,7,0,1,0,5,0,2,0,3,0 1,0,6,0,3,0,7,0,4,0,2,0 6,0,2,0,4,0,5,0,7,0,1,0 6,1,3,1,4,1,5,1,7,1,2,0 3,0,1,0,2,0,5,0,6,0,7,0 7,0,3,0,6,0,1,0,4,0,5,0 4,0,3,0,5,0,2,0,1,0,6,0 1,0,5,0,6,0,3,0,4,0,7,0 2,0,5,0,7,0,6,0,3,0,4,0 ================================================ FILE: schedules/7_8.csv ================================================ 3,0,5,0,7,0,1,0,6,0,2,0 1,0,4,0,7,0,3,0,5,0,6,0 2,0,1,0,5,0,4,0,7,0,6,0 3,1,4,1,5,0,7,0,1,1,2,1 2,0,6,0,7,0,4,0,3,0,1,0 4,0,2,0,3,0,6,0,5,0,1,0 2,0,6,0,3,0,5,0,7,0,4,0 6,0,1,0,4,0,7,0,3,0,2,0 1,0,7,0,3,0,5,0,4,0,2,0 6,0,3,0,4,0,5,0,2,0,1,0 ================================================ FILE: schedules/7_9.csv ================================================ 5,0,6,0,7,0,2,0,4,0,1,0 1,0,7,0,6,0,3,0,5,0,4,0 3,0,7,0,4,0,2,0,6,0,5,0 5,0,1,1,3,1,2,1,6,0,4,0 3,0,1,0,6,0,7,0,5,0,2,0 2,0,7,0,3,0,4,0,1,0,6,0 1,0,3,0,2,0,7,0,5,0,4,0 1,0,2,0,5,0,6,0,3,0,7,0 4,0,3,0,5,0,7,0,2,0,1,0 4,0,1,0,7,0,6,0,2,0,3,0 6,0,4,0,2,0,5,0,3,0,1,0 ================================================ FILE: schedules/80_1.csv ================================================ 72,0,60,0,19,0,73,0,13,0,64,0 38,0,69,0,45,0,61,0,4,0,25,0 22,0,23,0,18,0,8,0,34,0,21,0 42,0,52,0,1,0,44,0,39,0,17,0 5,0,49,0,14,0,74,0,16,0,62,0 56,0,59,0,3,0,71,0,70,0,15,0 77,0,26,0,9,0,20,0,33,0,29,0 76,0,50,0,57,0,32,0,53,0,24,0 65,0,51,0,79,0,35,0,6,0,31,0 2,0,43,0,40,0,12,0,80,0,47,0 36,0,48,0,58,0,68,0,30,0,41,0 54,0,27,0,10,0,55,0,11,0,28,0 7,0,67,0,75,0,66,0,46,0,63,0 37,0,74,1,73,1,78,0,56,1,4,1 ================================================ FILE: schedules/80_10.csv ================================================ 62,0,56,0,51,0,47,0,3,0,9,0 2,0,59,0,34,0,27,0,63,0,44,0 68,0,52,0,61,0,64,0,26,0,31,0 8,0,12,0,5,0,29,0,33,0,32,0 7,0,4,0,60,0,40,0,50,0,1,0 55,0,17,0,35,0,73,0,19,0,80,0 10,0,57,0,46,0,11,0,65,0,22,0 43,0,79,0,78,0,24,0,38,0,71,0 6,0,70,0,76,0,25,0,41,0,45,0 16,0,74,0,53,0,49,0,48,0,54,0 14,0,72,0,20,0,23,0,69,0,13,0 39,0,67,0,18,0,15,0,36,0,58,0 21,0,37,0,42,0,30,0,66,0,28,0 75,0,60,0,55,0,77,0,64,0,29,0 32,0,1,0,52,0,51,0,19,0,59,0 17,0,6,0,10,0,47,0,61,0,24,0 79,0,34,0,76,0,26,0,35,0,7,0 40,0,22,0,48,0,2,0,20,0,50,0 56,0,78,0,45,0,54,0,57,0,8,0 43,0,23,0,65,0,58,0,18,0,30,0 41,0,71,0,75,0,74,0,15,0,21,0 77,0,69,0,39,0,38,0,66,0,62,0 37,0,27,0,49,0,70,0,80,0,36,0 3,0,46,0,16,0,63,0,13,0,28,0 73,0,42,0,72,0,12,0,44,0,67,0 9,0,11,0,4,0,25,0,5,0,31,0 33,0,53,0,43,0,14,0,68,0,1,0 32,1,15,0,60,0,35,1,48,0,76,0 21,1,30,0,19,0,50,1,69,0,24,0 57,0,80,0,26,0,6,0,36,0,62,0 61,0,70,0,79,0,20,0,18,0,16,0 8,0,34,0,72,0,51,0,64,0,66,0 11,0,56,0,28,0,7,0,49,0,59,0 29,0,25,0,47,0,14,0,58,0,40,0 52,0,13,0,78,0,44,0,53,0,9,0 17,0,33,0,74,0,77,0,63,0,4,0 45,0,65,0,31,0,42,0,39,0,2,0 12,0,55,0,71,0,37,0,22,0,41,0 23,0,3,0,67,0,10,0,38,0,68,0 75,0,5,0,54,0,73,0,46,0,27,0 49,0,61,0,57,0,58,0,79,0,21,0 26,0,56,0,24,0,13,0,50,0,14,0 8,0,6,0,16,0,19,0,4,0,18,0 45,0,15,0,20,0,11,0,33,0,51,0 28,0,1,0,2,0,77,0,41,0,36,0 10,0,31,0,66,0,63,0,12,0,35,0 65,0,64,0,53,0,67,0,17,0,40,0 43,0,48,0,55,0,5,0,34,0,69,0 23,0,52,0,44,0,46,0,39,0,71,0 73,0,76,0,3,0,47,0,30,0,37,0 27,0,29,0,60,0,74,0,72,0,78,0 70,0,68,0,22,0,54,0,59,0,62,0 80,0,25,0,75,0,32,0,38,0,7,0 42,0,66,0,50,0,9,0,57,0,41,0 35,0,58,0,13,0,45,0,51,0,4,0 19,0,46,0,77,0,43,0,67,0,49,0 14,0,36,0,52,0,55,0,76,0,21,0 31,0,40,0,24,0,37,0,8,0,74,0 39,0,53,0,29,0,30,0,22,0,61,0 7,0,72,0,18,0,54,0,47,0,71,0 80,0,15,0,28,0,78,0,5,0,1,0 64,0,32,0,11,0,23,0,16,0,62,0 34,0,20,0,17,0,25,0,56,0,42,0 44,0,10,0,2,0,60,0,69,0,70,0 79,0,33,0,59,0,75,0,3,0,6,0 63,0,73,0,65,0,68,0,9,0,48,0 38,0,27,0,47,0,26,0,12,0,4,0 53,0,77,0,58,0,76,0,72,0,50,0 67,0,21,0,51,0,22,0,5,0,16,0 13,0,36,0,42,0,11,0,29,0,35,0 32,0,34,0,40,0,71,0,28,0,70,0 44,0,62,0,57,0,43,0,31,0,20,0 63,0,7,0,30,0,78,0,41,0,14,0 6,0,66,0,1,0,74,0,56,0,65,0 23,0,19,0,68,0,2,0,79,0,25,0 3,0,10,0,8,0,15,0,27,0,55,0 64,0,18,0,73,0,45,0,59,0,69,0 37,0,12,0,38,0,46,0,61,0,48,0 9,0,26,0,49,0,75,0,39,0,17,0 54,0,33,0,80,0,60,0,52,0,24,0 78,0,6,0,31,0,72,0,32,0,67,0 71,0,25,0,62,0,65,0,16,0,50,0 7,0,70,0,53,0,5,0,42,0,19,0 64,0,35,0,15,0,57,0,27,0,30,0 37,0,77,0,59,0,8,0,79,0,14,0 48,0,21,0,29,0,1,0,26,0,23,0 38,0,46,0,20,0,9,0,45,0,55,0 54,0,69,0,11,0,51,0,12,0,17,0 41,0,24,0,39,0,34,0,4,0,3,0 49,0,33,0,2,0,18,0,13,0,66,0 68,0,40,0,76,0,56,0,44,0,75,0 47,0,63,0,22,0,60,0,43,0,36,0 28,0,52,0,74,0,58,0,73,0,10,0 80,0,9,0,67,0,61,0,14,0,71,0 65,0,26,0,78,0,51,0,70,0,77,0 54,0,29,0,16,0,38,0,41,0,34,0 15,0,62,0,24,0,12,0,2,0,53,0 1,0,69,0,35,0,37,0,39,0,25,0 22,0,56,0,76,0,33,0,31,0,18,0 27,0,50,0,28,0,6,0,11,0,68,0 40,0,64,0,49,0,63,0,10,0,42,0 7,0,17,0,45,0,43,0,52,0,3,0 36,0,8,0,61,0,73,0,23,0,60,0 80,0,72,0,4,0,21,0,46,0,59,0 13,0,47,0,19,0,75,0,48,0,57,0 44,0,55,0,30,0,79,0,74,0,32,0 5,0,58,0,26,0,66,0,20,0,71,0 31,0,15,0,50,0,70,0,49,0,29,0 56,0,35,0,41,0,52,0,53,0,67,0 22,0,1,0,38,0,76,0,42,0,8,0 7,0,21,0,69,0,33,0,65,0,27,0 13,0,54,0,39,0,40,0,77,0,6,0 61,0,73,0,4,0,2,0,32,0,43,0 66,0,47,0,14,0,45,0,44,0,16,0 18,0,57,0,51,0,55,0,24,0,68,0 79,0,62,0,17,0,28,0,46,0,60,0 37,0,19,0,3,0,78,0,64,0,20,0 9,0,12,0,59,0,23,0,74,0,34,0 5,0,72,0,30,0,25,0,36,0,10,0 75,0,58,0,11,0,63,0,80,0,48,0 49,0,41,0,44,0,35,0,65,0,8,0 14,0,33,0,73,0,57,0,40,0,38,0 46,0,51,0,2,0,7,0,29,0,6,0 69,0,79,0,42,0,52,0,4,0,15,0 13,0,70,0,12,0,43,0,64,0,21,0 25,0,18,0,32,0,53,0,26,0,60,0 45,0,50,0,63,0,37,0,5,0,23,0 24,0,19,0,22,0,9,0,72,0,28,0 74,0,39,0,20,0,80,0,47,0,68,0 48,0,77,0,71,0,10,0,56,0,27,0 55,0,66,0,78,0,11,0,76,0,61,0 59,0,16,0,36,0,31,0,58,0,17,0 75,0,30,0,67,0,62,0,34,0,1,0 3,0,32,0,21,0,54,0,35,0,50,0 ================================================ FILE: schedules/80_11.csv ================================================ 62,0,54,0,1,0,37,0,14,0,30,0 47,0,58,0,33,0,69,0,22,0,71,0 12,0,75,0,50,0,9,0,66,0,43,0 19,0,70,0,10,0,20,0,3,0,52,0 36,0,53,0,21,0,80,0,6,0,76,0 63,0,51,0,4,0,7,0,45,0,40,0 57,0,29,0,77,0,18,0,38,0,56,0 13,0,32,0,61,0,42,0,27,0,46,0 15,0,65,0,78,0,17,0,64,0,26,0 16,0,55,0,59,0,39,0,49,0,23,0 2,0,72,0,74,0,24,0,79,0,5,0 67,0,25,0,31,0,44,0,73,0,48,0 35,0,60,0,41,0,11,0,34,0,68,0 28,0,57,0,43,0,8,0,40,0,19,0 4,0,69,0,3,0,9,0,46,0,54,0 17,0,21,0,29,0,52,0,33,0,32,0 42,0,53,0,51,0,15,0,71,0,12,0 13,0,24,0,37,0,23,0,70,0,80,0 79,0,65,0,30,0,58,0,76,0,59,0 35,0,73,0,50,0,5,0,36,0,41,0 60,0,10,0,25,0,47,0,38,0,75,0 7,0,56,0,66,0,64,0,27,0,20,0 39,0,74,0,61,0,26,0,6,0,14,0 78,0,55,0,44,0,2,0,63,0,11,0 68,0,1,0,31,0,72,0,62,0,22,0 48,0,67,0,45,0,28,0,18,0,16,0 49,0,8,0,53,0,77,0,34,0,30,0 51,1,38,0,13,0,37,1,69,0,65,0 5,0,17,0,7,0,71,0,21,0,60,0 79,0,64,0,3,0,12,0,57,0,41,0 19,0,4,0,56,0,78,0,14,0,80,0 31,0,63,0,22,0,29,0,46,0,23,0 26,0,70,0,11,0,66,0,72,0,16,0 54,0,68,0,42,0,49,0,44,0,25,0 76,0,50,0,62,0,33,0,77,0,67,0 61,0,2,0,36,0,45,0,59,0,43,0 27,0,47,0,10,0,55,0,1,0,28,0 40,0,6,0,35,0,75,0,32,0,48,0 15,0,34,0,24,0,39,0,9,0,52,0 74,0,20,0,18,0,8,0,58,0,73,0 53,0,14,0,69,0,23,0,42,0,72,0 71,0,63,0,79,0,13,0,49,0,77,0 21,0,37,0,54,0,16,0,60,0,19,0 36,0,66,0,29,0,78,0,46,0,41,0 68,0,80,0,28,0,61,0,75,0,5,0 34,0,3,0,17,0,43,0,11,0,47,0 31,0,7,0,57,0,74,0,65,0,35,0 2,0,33,0,8,0,48,0,1,0,38,0 44,0,45,0,64,0,62,0,24,0,32,0 20,0,9,0,25,0,40,0,59,0,22,0 12,0,56,0,10,0,30,0,67,0,39,0 58,0,50,0,52,0,55,0,51,0,26,0 15,0,73,0,18,0,27,0,6,0,4,0 76,0,41,0,61,0,70,0,72,0,7,0 71,0,48,0,34,0,19,0,66,0,23,0 1,0,43,0,35,0,42,0,16,0,77,0 37,0,53,0,64,0,2,0,40,0,68,0 9,0,32,0,59,0,56,0,5,0,67,0 62,0,58,0,46,0,10,0,17,0,80,0 47,0,4,0,30,0,57,0,44,0,26,0 15,0,39,0,28,0,25,0,63,0,76,0 70,0,3,0,6,0,22,0,8,0,79,0 60,0,18,0,12,0,20,0,13,0,55,0 38,0,29,0,45,0,49,0,50,0,11,0 75,0,36,0,74,0,27,0,69,0,52,0 31,0,21,0,14,0,78,0,51,0,24,0 54,0,73,0,43,0,65,0,33,0,53,0 47,0,15,0,48,0,41,0,62,0,37,0 16,0,57,0,76,0,68,0,32,0,10,0 6,0,5,0,55,0,64,0,30,0,19,0 28,0,72,0,44,0,58,0,9,0,49,0 23,0,25,0,45,0,52,0,17,0,35,0 42,0,60,0,40,0,78,0,50,0,70,0 59,0,3,0,80,0,38,0,14,0,33,0 65,0,67,0,63,0,8,0,75,0,24,0 20,0,71,0,7,0,11,0,1,0,36,0 79,0,18,0,66,0,31,0,61,0,54,0 77,0,27,0,22,0,26,0,12,0,21,0 51,0,34,0,46,0,56,0,74,0,73,0 69,0,2,0,13,0,29,0,39,0,4,0 50,0,9,0,16,0,64,0,47,0,80,0 5,0,58,0,63,0,38,0,42,0,6,0 72,0,57,0,33,0,60,0,45,0,15,0 8,0,10,0,59,0,53,0,66,0,41,0 19,0,49,0,24,0,1,0,12,0,32,0 62,0,34,0,23,0,21,0,40,0,61,0 26,0,2,0,65,0,56,0,46,0,25,0 18,0,17,0,39,0,79,0,75,0,44,0 77,0,20,0,54,0,27,0,78,0,48,0 73,0,71,0,52,0,14,0,28,0,35,0 7,0,67,0,37,0,69,0,55,0,29,0 30,0,31,0,51,0,13,0,36,0,3,0 76,0,22,0,11,0,74,0,4,0,43,0 68,0,21,0,38,0,70,0,66,0,15,0 40,0,44,0,33,0,16,0,56,0,79,0 34,0,78,0,26,0,5,0,10,0,18,0 19,0,48,0,61,0,50,0,53,0,17,0 72,0,37,0,52,0,46,0,39,0,20,0 27,0,8,0,41,0,45,0,80,0,31,0 75,0,22,0,49,0,14,0,2,0,57,0 36,0,58,0,32,0,25,0,77,0,4,0 6,0,64,0,1,0,51,0,60,0,67,0 11,0,29,0,28,0,65,0,12,0,42,0 47,0,13,0,59,0,24,0,35,0,54,0 62,0,30,0,70,0,69,0,43,0,63,0 71,0,9,0,55,0,76,0,74,0,68,0 23,0,7,0,16,0,73,0,3,0,2,0 22,0,17,0,56,0,49,0,37,0,36,0 48,0,46,0,53,0,5,0,57,0,1,0 4,0,52,0,42,0,8,0,31,0,64,0 80,0,79,0,11,0,32,0,15,0,51,0 14,0,44,0,65,0,20,0,34,0,41,0 55,0,70,0,75,0,77,0,45,0,71,0 26,0,38,0,54,0,24,0,28,0,7,0 78,0,12,0,68,0,6,0,69,0,59,0 29,0,13,0,74,0,19,0,25,0,62,0 3,0,72,0,30,0,18,0,21,0,50,0 27,0,60,0,23,0,67,0,43,0,58,0 9,0,33,0,35,0,10,0,61,0,63,0 76,0,47,0,39,0,66,0,73,0,40,0 37,0,32,0,31,0,53,0,26,0,75,0 41,0,69,0,24,0,77,0,55,0,17,0 6,0,52,0,11,0,13,0,56,0,57,0 25,0,14,0,8,0,5,0,16,0,12,0 64,0,59,0,46,0,28,0,70,0,21,0 67,0,71,0,4,0,72,0,61,0,38,0 62,0,49,0,40,0,65,0,27,0,3,0 45,0,66,0,78,0,1,0,74,0,58,0 19,0,51,0,20,0,35,0,2,0,76,0 47,0,36,0,18,0,68,0,63,0,23,0 73,0,60,0,79,0,29,0,9,0,30,0 80,0,43,0,42,0,7,0,48,0,39,0 10,0,15,0,50,0,54,0,22,0,44,0 33,0,28,0,12,0,34,0,37,0,4,0 61,0,56,0,1,0,3,0,55,0,25,0 75,0,77,0,19,0,11,0,59,0,72,0 49,0,35,0,69,0,18,0,76,0,64,0 9,0,73,0,38,0,78,0,62,0,52,0 16,0,27,0,24,0,29,0,51,0,71,0 45,0,46,0,21,0,53,0,79,0,47,0 30,0,41,0,23,0,42,0,74,0,33,0 17,0,20,0,2,0,6,0,50,0,31,0 65,0,39,0,66,0,22,0,32,0,60,0 80,0,34,0,57,0,54,0,63,0,70,0 15,0,40,0,26,0,36,0,67,0,8,0 14,0,48,0,68,0,58,0,7,0,13,0 5,0,43,0,51,0,10,0,44,0,37,0 ================================================ FILE: schedules/80_12.csv ================================================ 29,0,45,0,5,0,35,0,19,0,24,0 73,0,56,0,42,0,3,0,27,0,46,0 74,0,37,0,34,0,60,0,18,0,68,0 21,0,57,0,54,0,25,0,8,0,50,0 43,0,53,0,38,0,65,0,69,0,51,0 63,0,52,0,2,0,16,0,36,0,77,0 41,0,1,0,70,0,79,0,58,0,22,0 10,0,20,0,14,0,49,0,4,0,7,0 67,0,62,0,72,0,17,0,26,0,44,0 11,0,76,0,39,0,66,0,31,0,28,0 75,0,23,0,13,0,55,0,32,0,64,0 33,0,40,0,48,0,61,0,15,0,78,0 59,0,9,0,6,0,47,0,12,0,80,0 71,0,22,0,50,0,30,0,34,0,24,0 45,0,60,0,7,0,8,0,56,0,79,0 72,0,1,0,35,0,67,0,77,0,57,0 38,0,19,0,58,0,31,0,68,0,14,0 73,0,32,0,23,0,25,0,10,0,53,0 15,0,51,0,42,0,63,0,13,0,11,0 36,0,54,0,55,0,47,0,3,0,44,0 18,0,46,0,65,0,59,0,26,0,48,0 49,0,33,0,21,0,5,0,62,0,30,0 61,0,28,0,75,0,2,0,20,0,71,0 78,0,64,0,12,0,29,0,70,0,37,0 16,0,74,0,39,0,17,0,9,0,4,0 41,0,43,0,52,0,6,0,76,0,66,0 27,0,69,0,58,0,80,0,40,0,45,0 14,0,42,0,36,0,24,0,57,0,65,0 31,0,77,0,62,0,47,0,51,0,23,0 3,0,28,0,7,0,19,0,26,0,32,0 30,0,37,0,59,0,38,0,1,0,44,0 61,0,34,0,17,0,13,0,25,0,46,0 78,0,8,0,67,0,2,0,73,0,49,0 41,0,60,0,33,0,12,0,11,0,71,0 5,0,16,0,22,0,18,0,43,0,72,0 63,0,80,0,20,0,39,0,66,0,21,0 70,0,35,0,55,0,69,0,40,0,74,0 48,0,27,0,9,0,76,0,64,0,52,0 29,0,79,0,10,0,54,0,56,0,75,0 53,0,50,0,68,0,6,0,4,0,15,0 46,0,24,0,37,0,7,0,62,0,41,0 30,0,2,0,57,0,47,0,13,0,45,0 26,0,34,0,77,0,20,0,21,0,78,0 69,0,59,0,61,0,31,0,74,0,63,0 73,0,66,0,60,0,38,0,55,0,72,0 71,0,1,0,36,0,29,0,27,0,32,0 8,0,43,0,11,0,17,0,75,0,50,0 5,0,15,0,9,0,70,0,3,0,10,0 80,0,64,0,22,0,44,0,25,0,65,0 23,0,56,0,40,0,12,0,28,0,4,0 79,0,68,0,35,0,51,0,52,0,49,0 53,0,18,0,42,0,33,0,14,0,76,0 67,0,39,0,54,0,19,0,48,0,6,0 16,0,24,0,55,0,58,0,34,0,59,0 13,0,3,0,66,0,75,0,21,0,1,0 64,0,25,0,9,0,77,0,60,0,43,0 31,0,22,0,4,0,15,0,57,0,46,0 44,0,2,0,11,0,27,0,35,0,12,0 53,0,71,0,47,0,72,0,79,0,63,0 32,0,56,0,51,0,48,0,14,0,17,0 74,0,20,0,76,0,8,0,52,0,29,0 65,0,26,0,58,0,37,0,54,0,33,0 67,0,16,0,7,0,70,0,23,0,30,0 68,0,36,0,49,0,39,0,18,0,40,0 50,0,80,0,41,0,45,0,10,0,19,0 69,0,28,0,38,0,5,0,42,0,78,0 61,0,62,0,64,0,6,0,73,0,11,0 47,0,35,0,74,0,56,0,22,0,25,0 54,0,72,0,24,0,43,0,31,0,27,0 29,0,48,0,34,0,53,0,2,0,7,0 13,0,26,0,40,0,14,0,16,0,60,0 58,0,44,0,70,0,20,0,52,0,50,0 66,0,79,0,23,0,33,0,59,0,68,0 28,0,80,0,62,0,1,0,18,0,15,0 6,0,77,0,46,0,38,0,49,0,75,0 30,0,61,0,41,0,9,0,32,0,42,0 4,0,78,0,69,0,76,0,36,0,67,0 51,0,8,0,45,0,3,0,39,0,71,0 57,0,37,0,63,0,5,0,17,0,73,0 19,0,65,0,12,0,21,0,55,0,10,0 43,0,80,0,14,0,2,0,23,0,35,0 68,0,38,0,24,0,64,0,56,0,16,0 28,0,25,0,48,0,41,0,72,0,49,0 52,0,42,0,4,0,75,0,22,0,26,0 30,0,9,0,46,0,54,0,53,0,11,0 79,0,3,0,18,0,67,0,31,0,20,0 77,0,73,0,51,0,29,0,50,0,69,0 34,0,15,0,19,0,27,0,66,0,47,0 71,0,40,0,5,0,65,0,6,0,74,0 17,0,70,0,33,0,21,0,36,0,45,0 63,0,62,0,12,0,8,0,32,0,58,0 37,0,13,0,60,0,59,0,76,0,10,0 78,0,7,0,44,0,61,0,39,0,1,0 57,0,68,0,29,0,55,0,11,0,67,0 46,0,49,0,16,0,66,0,69,0,80,0 47,0,20,0,34,0,40,0,43,0,42,0 70,0,18,0,75,0,25,0,24,0,51,0 38,0,17,0,52,0,28,0,71,0,54,0 37,0,9,0,36,0,72,0,23,0,45,0 4,0,10,0,8,0,1,0,33,0,64,0 57,0,7,0,55,0,78,0,62,0,53,0 59,0,32,0,31,0,5,0,2,0,50,0 56,0,13,0,39,0,41,0,77,0,65,0 3,0,48,0,30,0,58,0,60,0,35,0 27,0,21,0,14,0,6,0,22,0,61,0 73,0,15,0,76,0,12,0,26,0,79,0 63,0,44,0,33,0,74,0,19,0,75,0 71,0,67,0,24,0,40,0,66,0,9,0 38,0,45,0,32,0,4,0,18,0,47,0 1,0,50,0,65,0,46,0,2,0,68,0 64,0,58,0,49,0,17,0,42,0,7,0 53,0,8,0,36,0,5,0,41,0,35,0 27,0,77,0,55,0,37,0,79,0,48,0 56,0,15,0,74,0,73,0,43,0,21,0 54,0,23,0,22,0,60,0,69,0,20,0 12,0,39,0,31,0,34,0,62,0,13,0 6,0,63,0,25,0,29,0,30,0,28,0 44,0,10,0,57,0,51,0,26,0,16,0 72,0,76,0,70,0,3,0,80,0,61,0 19,0,14,0,52,0,78,0,59,0,11,0 15,0,66,0,35,0,65,0,42,0,37,0 47,0,69,0,75,0,41,0,68,0,17,0 67,0,22,0,27,0,38,0,7,0,12,0 28,0,74,0,45,0,53,0,64,0,31,0 58,0,18,0,21,0,2,0,29,0,9,0 76,0,40,0,77,0,54,0,32,0,44,0 52,0,46,0,39,0,33,0,55,0,25,0 26,0,80,0,8,0,13,0,48,0,24,0 30,0,6,0,72,0,19,0,51,0,4,0 50,0,78,0,14,0,63,0,60,0,3,0 23,0,49,0,59,0,70,0,57,0,71,0 43,0,61,0,79,0,62,0,36,0,10,0 5,0,20,0,56,0,16,0,11,0,1,0 73,0,65,0,45,0,34,0,75,0,52,0 7,0,31,0,33,0,77,0,80,0,68,0 72,0,69,0,2,0,15,0,64,0,39,0 51,0,21,0,60,0,67,0,28,0,47,0 41,0,6,0,18,0,63,0,78,0,23,0 43,0,46,0,32,0,8,0,37,0,19,0 54,0,25,0,1,0,16,0,12,0,42,0 40,0,3,0,17,0,22,0,29,0,59,0 57,0,53,0,66,0,61,0,58,0,56,0 14,0,55,0,73,0,30,0,20,0,36,0 49,0,26,0,27,0,74,0,9,0,50,0 5,0,4,0,24,0,13,0,44,0,79,0 11,0,48,0,10,0,34,0,38,0,70,0 71,0,76,0,19,0,62,0,35,0,16,0 64,0,51,0,2,0,41,0,40,0,54,0 52,0,53,0,56,0,67,0,80,0,37,0 7,0,75,0,25,0,59,0,15,0,36,0 28,0,68,0,9,0,22,0,8,0,73,0 47,0,39,0,29,0,14,0,5,0,61,0 1,0,55,0,26,0,43,0,63,0,45,0 17,0,12,0,30,0,66,0,18,0,77,0 72,0,78,0,10,0,58,0,74,0,46,0 49,0,11,0,24,0,3,0,23,0,76,0 13,0,20,0,35,0,38,0,33,0,50,0 32,0,79,0,6,0,34,0,69,0,57,0 62,0,4,0,70,0,27,0,60,0,65,0 31,0,71,0,44,0,48,0,42,0,21,0 ================================================ FILE: schedules/80_13.csv ================================================ 42,0,14,0,21,0,3,0,75,0,15,0 18,0,74,0,61,0,36,0,1,0,39,0 17,0,2,0,30,0,66,0,20,0,33,0 68,0,41,0,55,0,53,0,78,0,54,0 46,0,23,0,5,0,25,0,38,0,48,0 32,0,22,0,12,0,80,0,47,0,29,0 43,0,44,0,60,0,9,0,51,0,4,0 11,0,6,0,72,0,52,0,7,0,24,0 26,0,28,0,40,0,10,0,27,0,59,0 62,0,57,0,50,0,77,0,64,0,69,0 76,0,34,0,31,0,37,0,35,0,73,0 79,0,70,0,63,0,16,0,49,0,67,0 8,0,65,0,13,0,19,0,56,0,58,0 71,0,5,0,21,0,45,0,17,0,12,0 14,0,6,0,7,0,9,0,38,0,29,0 80,0,24,0,41,0,74,0,25,0,10,0 47,0,39,0,60,0,15,0,42,0,66,0 53,0,69,0,36,0,32,0,31,0,37,0 11,0,59,0,73,0,67,0,78,0,23,0 57,0,68,0,20,0,27,0,65,0,46,0 62,0,4,0,35,0,19,0,40,0,1,0 70,0,52,0,77,0,58,0,30,0,26,0 75,0,22,0,51,0,63,0,72,0,55,0 54,0,50,0,61,0,49,0,8,0,43,0 64,0,76,0,18,0,79,0,48,0,56,0 28,0,2,0,44,0,34,0,45,0,16,0 3,0,33,0,67,0,71,0,13,0,38,0 37,1,46,0,9,0,5,1,1,0,73,0 68,1,17,0,29,0,4,1,11,0,41,0 60,0,80,0,40,0,78,0,36,0,21,0 66,0,55,0,69,0,61,0,49,0,52,0 59,0,57,0,53,0,42,0,24,0,22,0 63,0,39,0,7,0,64,0,65,0,62,0 45,0,8,0,6,0,33,0,32,0,23,0 16,0,76,0,54,0,3,0,50,0,74,0 34,0,47,0,25,0,71,0,75,0,14,0 35,0,30,0,51,0,26,0,10,0,13,0 18,0,56,0,44,0,15,0,70,0,31,0 19,0,77,0,12,0,79,0,2,0,27,0 48,0,72,0,58,0,28,0,20,0,43,0 39,0,57,0,73,0,60,0,7,0,41,0 63,0,45,0,11,0,42,0,55,0,46,0 36,0,67,0,66,0,9,0,54,0,24,0 53,0,26,0,6,0,5,0,76,0,62,0 31,0,64,0,74,0,78,0,17,0,34,0 65,0,29,0,79,0,51,0,47,0,2,0 72,0,4,0,23,0,70,0,71,0,27,0 25,0,52,0,3,0,40,0,37,0,18,0 61,0,32,0,38,0,35,0,21,0,58,0 68,0,75,0,16,0,69,0,59,0,20,0 15,0,8,0,30,0,43,0,48,0,80,0 77,0,44,0,1,0,10,0,12,0,28,0 14,0,19,0,22,0,56,0,50,0,33,0 49,0,27,0,47,0,13,0,45,0,5,0 42,0,65,0,3,0,55,0,26,0,73,0 36,0,58,0,41,0,7,0,2,0,23,0 17,0,35,0,67,0,18,0,62,0,75,0 29,0,78,0,37,0,16,0,48,0,24,0 63,0,77,0,80,0,59,0,34,0,4,0 79,0,60,0,1,0,8,0,33,0,52,0 30,0,38,0,31,0,39,0,54,0,22,0 51,0,57,0,32,0,76,0,19,0,28,0 49,0,71,0,74,0,56,0,9,0,11,0 15,0,43,0,14,0,10,0,6,0,68,0 70,0,21,0,12,0,50,0,53,0,66,0 44,0,40,0,46,0,69,0,72,0,13,0 20,0,64,0,26,0,61,0,25,0,67,0 77,0,41,0,75,0,80,0,8,0,36,0 52,0,47,0,59,0,7,0,57,0,54,0 30,0,78,0,9,0,28,0,3,0,5,0 1,0,27,0,58,0,16,0,31,0,11,0 74,0,42,0,33,0,66,0,4,0,29,0 37,0,60,0,53,0,56,0,65,0,23,0 45,0,72,0,18,0,12,0,14,0,61,0 32,0,62,0,10,0,70,0,46,0,25,0 43,0,69,0,22,0,64,0,71,0,2,0 35,0,24,0,79,0,55,0,44,0,50,0 48,0,6,0,17,0,19,0,73,0,49,0 63,0,20,0,15,0,76,0,40,0,38,0 34,0,51,0,13,0,68,0,21,0,39,0 72,0,80,0,14,0,31,0,60,0,57,0 54,0,33,0,29,0,58,0,10,0,46,0 67,0,74,0,65,0,27,0,43,0,12,0 9,0,16,0,77,0,22,0,25,0,35,0 44,0,61,0,62,0,30,0,37,0,47,0 42,0,70,0,40,0,38,0,8,0,2,0 11,0,75,0,48,0,13,0,32,0,79,0 56,0,1,0,66,0,34,0,6,0,3,0 63,0,19,0,5,0,69,0,21,0,41,0 55,0,17,0,76,0,59,0,39,0,23,0 53,0,24,0,20,0,28,0,18,0,51,0 52,0,73,0,36,0,64,0,68,0,45,0 26,0,7,0,50,0,71,0,4,0,78,0 49,0,29,0,77,0,15,0,65,0,72,0 67,0,42,0,48,0,34,0,10,0,1,0 13,0,54,0,62,0,2,0,61,0,60,0 44,0,58,0,5,0,76,0,75,0,74,0 35,0,23,0,28,0,69,0,80,0,33,0 68,0,36,0,3,0,57,0,70,0,47,0 39,0,8,0,53,0,45,0,9,0,26,0 49,0,51,0,6,0,71,0,59,0,37,0 56,0,30,0,24,0,12,0,16,0,63,0 17,0,73,0,18,0,27,0,50,0,38,0 7,0,31,0,55,0,43,0,25,0,19,0 79,0,15,0,22,0,78,0,66,0,46,0 32,0,4,0,20,0,14,0,41,0,52,0 64,0,11,0,47,0,40,0,21,0,77,0 33,0,75,0,35,0,68,0,49,0,53,0 65,0,24,0,71,0,61,0,5,0,70,0 27,0,16,0,42,0,54,0,6,0,80,0 2,0,63,0,10,0,17,0,9,0,57,0 7,0,29,0,69,0,18,0,34,0,8,0 78,0,45,0,25,0,76,0,1,0,13,0 43,0,46,0,79,0,41,0,56,0,39,0 23,0,74,0,51,0,40,0,62,0,14,0 67,0,21,0,28,0,31,0,52,0,22,0 30,0,32,0,66,0,73,0,72,0,50,0 4,0,12,0,60,0,3,0,11,0,20,0 37,0,19,0,26,0,15,0,58,0,64,0 55,0,38,0,59,0,36,0,48,0,44,0 7,0,80,0,1,0,5,0,79,0,68,0 33,0,27,0,61,0,41,0,63,0,51,0 78,0,47,0,22,0,70,0,6,0,18,0 46,0,35,0,52,0,17,0,43,0,74,0 24,0,45,0,4,0,75,0,31,0,65,0 67,0,71,0,76,0,77,0,66,0,60,0 36,0,12,0,42,0,25,0,49,0,58,0 19,0,39,0,50,0,44,0,20,0,23,0 54,0,2,0,26,0,14,0,37,0,48,0 38,0,34,0,53,0,11,0,30,0,57,0 64,0,59,0,13,0,32,0,15,0,9,0 16,0,10,0,72,0,8,0,62,0,21,0 56,0,28,0,55,0,40,0,29,0,73,0 3,0,80,0,58,0,69,0,51,0,17,0 60,0,19,0,18,0,68,0,74,0,63,0 7,0,33,0,43,0,24,0,76,0,77,0 52,0,39,0,5,0,14,0,35,0,2,0 65,0,49,0,78,0,44,0,25,0,30,0 34,0,11,0,27,0,36,0,15,0,62,0 73,0,48,0,4,0,61,0,53,0,47,0 56,0,69,0,32,0,42,0,20,0,54,0 9,0,70,0,59,0,79,0,72,0,37,0 57,0,21,0,75,0,29,0,1,0,26,0 45,0,40,0,41,0,67,0,50,0,22,0 38,0,6,0,28,0,55,0,64,0,12,0 31,0,10,0,8,0,71,0,3,0,46,0 66,0,13,0,43,0,16,0,23,0,18,0 2,0,80,0,11,0,76,0,73,0,61,0 78,0,77,0,51,0,42,0,52,0,56,0 54,0,25,0,15,0,35,0,53,0,72,0 62,0,9,0,41,0,48,0,68,0,65,0 57,0,19,0,29,0,67,0,5,0,30,0 28,0,46,0,39,0,4,0,6,0,36,0 33,0,16,0,71,0,32,0,40,0,55,0 8,0,70,0,37,0,74,0,20,0,27,0 23,0,21,0,3,0,44,0,49,0,7,0 50,0,12,0,13,0,63,0,31,0,59,0 24,0,58,0,17,0,47,0,1,0,14,0 10,0,64,0,38,0,75,0,45,0,66,0 69,0,34,0,79,0,60,0,26,0,22,0 25,0,2,0,4,0,67,0,56,0,51,0 71,0,15,0,55,0,30,0,62,0,74,0 5,0,65,0,37,0,18,0,33,0,11,0 70,0,48,0,3,0,39,0,77,0,35,0 7,0,68,0,13,0,17,0,42,0,28,0 76,0,47,0,72,0,19,0,16,0,41,0 50,0,45,0,59,0,60,0,29,0,58,0 75,0,34,0,23,0,54,0,52,0,12,0 20,0,10,0,73,0,22,0,36,0,63,0 64,0,46,0,14,0,80,0,53,0,44,0 27,0,9,0,21,0,24,0,78,0,69,0 6,0,31,0,40,0,61,0,79,0,57,0 1,0,49,0,38,0,26,0,32,0,43,0 66,0,37,0,68,0,8,0,5,0,4,0 ================================================ FILE: schedules/80_14.csv ================================================ 4,0,58,0,34,0,19,0,24,0,54,0 52,0,5,0,13,0,64,0,71,0,40,0 76,0,68,0,50,0,78,0,72,0,55,0 18,0,10,0,29,0,59,0,69,0,80,0 8,0,9,0,12,0,25,0,38,0,75,0 77,0,1,0,26,0,37,0,3,0,53,0 48,0,14,0,22,0,49,0,44,0,21,0 35,0,62,0,65,0,30,0,73,0,6,0 2,0,33,0,43,0,15,0,57,0,60,0 23,0,16,0,36,0,46,0,79,0,41,0 39,0,28,0,56,0,45,0,47,0,42,0 66,0,11,0,7,0,31,0,63,0,17,0 67,0,27,0,74,0,32,0,20,0,70,0 61,0,49,0,68,0,51,0,5,0,18,0 69,0,9,0,75,0,53,0,35,0,54,0 62,0,24,0,15,0,52,0,8,0,55,0 2,0,46,0,76,0,12,0,26,0,58,0 42,0,10,0,72,0,3,0,77,0,79,0 6,0,37,0,21,0,45,0,78,0,4,0 17,0,23,0,47,0,31,0,67,0,59,0 33,0,40,0,16,0,27,0,19,0,48,0 80,0,41,0,63,0,64,0,74,0,43,0 73,0,25,0,71,0,57,0,22,0,34,0 60,0,56,0,29,0,14,0,30,0,61,0 11,0,28,0,20,0,50,0,51,0,65,0 70,0,1,0,39,0,7,0,13,0,36,0 32,0,44,0,79,0,38,0,66,0,23,0 19,1,59,0,78,0,42,1,8,0,31,0 35,0,46,0,37,0,48,0,53,0,15,0 3,0,27,0,52,0,47,0,49,0,25,0 68,0,40,0,69,0,63,0,9,0,74,0 28,0,58,0,61,0,43,0,55,0,62,0 13,0,72,0,17,0,57,0,6,0,14,0 45,0,50,0,24,0,71,0,65,0,21,0 76,0,32,0,33,0,56,0,41,0,1,0 30,0,34,0,77,0,38,0,22,0,70,0 36,0,39,0,12,0,44,0,67,0,29,0 60,0,16,0,54,0,66,0,64,0,10,0 51,0,80,0,2,0,73,0,5,0,7,0 4,0,26,0,11,0,18,0,75,0,20,0 52,0,24,0,14,0,19,0,68,0,28,0 58,0,8,0,79,0,37,0,74,0,49,0 9,0,47,0,1,0,43,0,17,0,6,0 25,0,69,0,77,0,50,0,15,0,32,0 71,0,45,0,33,0,31,0,12,0,76,0 61,0,54,0,70,0,23,0,80,0,39,0 63,0,53,0,57,0,30,0,4,0,64,0 44,0,56,0,40,0,16,0,21,0,55,0 26,0,59,0,5,0,65,0,72,0,48,0 62,0,75,0,27,0,10,0,51,0,36,0 2,0,11,0,35,0,78,0,34,0,66,0 60,0,13,0,18,0,41,0,3,0,73,0 22,0,7,0,46,0,20,0,42,0,67,0 38,0,61,0,6,0,29,0,76,0,19,0 1,0,30,0,57,0,50,0,55,0,47,0 24,0,70,0,12,0,16,0,49,0,72,0 14,0,74,0,53,0,45,0,25,0,5,0 34,0,15,0,21,0,56,0,51,0,79,0 43,0,48,0,73,0,11,0,78,0,36,0 71,0,41,0,35,0,28,0,10,0,7,0 60,0,31,0,32,0,26,0,62,0,54,0 39,0,44,0,20,0,59,0,3,0,2,0 22,0,67,0,65,0,29,0,9,0,68,0 8,0,69,0,23,0,66,0,27,0,13,0 58,0,75,0,33,0,77,0,18,0,64,0 80,0,38,0,40,0,4,0,42,0,37,0 46,0,63,0,45,0,17,0,52,0,35,0 6,0,79,0,36,0,60,0,53,0,50,0 21,0,62,0,74,0,26,0,7,0,49,0 65,0,47,0,10,0,34,0,61,0,12,0 15,0,72,0,19,0,23,0,11,0,43,0 64,0,44,0,69,0,8,0,76,0,1,0 3,0,16,0,67,0,58,0,57,0,29,0 51,0,17,0,9,0,55,0,56,0,70,0 73,0,78,0,42,0,54,0,5,0,33,0 75,0,37,0,59,0,24,0,27,0,28,0 32,0,46,0,80,0,14,0,13,0,68,0 77,0,38,0,63,0,71,0,20,0,48,0 31,0,18,0,4,0,2,0,22,0,25,0 41,0,66,0,30,0,52,0,40,0,39,0 64,0,26,0,70,0,44,0,35,0,47,0 56,0,50,0,3,0,17,0,74,0,73,0 37,0,43,0,16,0,5,0,75,0,76,0 21,0,45,0,27,0,11,0,13,0,54,0 72,0,51,0,53,0,32,0,71,0,58,0 59,0,55,0,25,0,7,0,80,0,6,0 38,0,10,0,78,0,18,0,63,0,14,0 28,0,8,0,36,0,2,0,77,0,40,0 20,0,30,0,31,0,61,0,48,0,24,0 39,0,4,0,68,0,49,0,79,0,33,0 66,0,15,0,42,0,1,0,29,0,34,0 60,0,22,0,9,0,23,0,52,0,12,0 19,0,62,0,57,0,46,0,65,0,69,0 67,0,26,0,51,0,41,0,38,0,64,0 53,0,77,0,59,0,21,0,40,0,73,0 78,0,13,0,25,0,75,0,10,0,30,0 31,0,44,0,55,0,72,0,63,0,4,0 42,0,80,0,14,0,50,0,66,0,58,0 7,0,29,0,39,0,28,0,43,0,34,0 2,0,48,0,79,0,56,0,52,0,69,0 71,0,57,0,9,0,41,0,49,0,62,0 70,0,60,0,19,0,37,0,67,0,18,0 46,0,47,0,3,0,8,0,11,0,5,0 23,0,6,0,24,0,74,0,36,0,33,0 54,0,12,0,20,0,68,0,35,0,1,0 61,0,22,0,16,0,45,0,32,0,17,0 27,0,65,0,7,0,15,0,76,0,78,0 13,0,57,0,50,0,31,0,26,0,38,0 21,0,72,0,80,0,28,0,60,0,69,0 2,0,39,0,30,0,19,0,77,0,9,0 25,0,18,0,23,0,62,0,48,0,37,0 56,0,49,0,59,0,64,0,54,0,46,0 55,0,10,0,74,0,52,0,11,0,53,0 3,0,40,0,43,0,22,0,12,0,32,0 75,0,47,0,61,0,63,0,33,0,1,0 29,0,20,0,5,0,70,0,17,0,79,0 66,0,35,0,6,0,24,0,71,0,51,0 73,0,68,0,8,0,16,0,15,0,45,0 41,0,65,0,44,0,42,0,58,0,27,0 4,0,36,0,67,0,14,0,76,0,34,0 23,0,32,0,53,0,78,0,57,0,39,0 77,0,55,0,48,0,31,0,43,0,13,0 64,0,37,0,29,0,62,0,11,0,72,0 74,0,12,0,18,0,54,0,21,0,30,0 6,0,68,0,70,0,66,0,2,0,75,0 5,0,63,0,22,0,15,0,41,0,28,0 27,0,80,0,36,0,19,0,56,0,71,0 47,0,40,0,58,0,73,0,20,0,38,0 1,0,49,0,45,0,67,0,10,0,60,0 17,0,25,0,65,0,51,0,44,0,33,0 59,0,34,0,52,0,26,0,69,0,16,0 35,0,50,0,4,0,61,0,3,0,8,0 79,0,7,0,76,0,9,0,46,0,24,0 14,0,71,0,11,0,42,0,23,0,30,0 64,0,73,0,55,0,66,0,37,0,12,0 41,0,19,0,45,0,78,0,20,0,47,0 31,0,48,0,40,0,65,0,80,0,1,0 38,0,52,0,32,0,28,0,5,0,6,0 18,0,72,0,22,0,27,0,35,0,56,0 74,0,50,0,75,0,44,0,34,0,46,0 3,0,14,0,36,0,9,0,59,0,15,0 25,0,7,0,58,0,60,0,26,0,68,0 21,0,10,0,8,0,33,0,70,0,57,0 49,0,24,0,13,0,61,0,2,0,29,0 76,0,16,0,51,0,77,0,39,0,62,0 43,0,63,0,54,0,79,0,67,0,53,0 17,0,4,0,12,0,42,0,69,0,41,0 31,0,37,0,28,0,44,0,9,0,30,0 14,0,73,0,19,0,27,0,55,0,26,0 66,0,33,0,22,0,50,0,72,0,36,0 65,0,23,0,64,0,21,0,7,0,32,0 61,0,11,0,76,0,70,0,25,0,40,0 57,0,79,0,5,0,59,0,35,0,58,0 1,0,42,0,53,0,18,0,2,0,16,0 48,0,17,0,75,0,60,0,39,0,71,0 74,0,54,0,47,0,29,0,13,0,15,0 62,0,38,0,3,0,80,0,45,0,68,0 34,0,6,0,49,0,63,0,20,0,8,0 78,0,67,0,69,0,56,0,77,0,24,0 46,0,10,0,52,0,51,0,4,0,43,0 25,0,50,0,9,0,64,0,19,0,16,0 58,0,70,0,11,0,59,0,1,0,22,0 76,0,42,0,55,0,60,0,74,0,35,0 47,0,41,0,21,0,37,0,2,0,68,0 33,0,53,0,62,0,20,0,34,0,13,0 71,0,26,0,44,0,79,0,61,0,78,0 14,0,45,0,72,0,75,0,7,0,40,0 23,0,54,0,48,0,51,0,3,0,6,0 38,0,49,0,69,0,36,0,65,0,43,0 10,0,73,0,63,0,24,0,39,0,32,0 66,0,28,0,57,0,46,0,18,0,56,0 27,0,29,0,12,0,4,0,77,0,5,0 30,0,15,0,8,0,17,0,80,0,67,0 52,0,21,0,78,0,31,0,58,0,1,0 79,0,55,0,19,0,75,0,22,0,3,0 2,0,71,0,74,0,16,0,65,0,14,0 49,0,35,0,43,0,50,0,59,0,42,0 38,0,46,0,72,0,25,0,39,0,54,0 53,0,66,0,4,0,7,0,62,0,47,0 64,0,34,0,9,0,17,0,27,0,61,0 41,0,8,0,32,0,48,0,29,0,30,0 28,0,70,0,67,0,69,0,73,0,33,0 60,0,24,0,80,0,77,0,11,0,44,0 26,0,15,0,18,0,40,0,6,0,45,0 52,0,57,0,20,0,76,0,37,0,36,0 5,0,56,0,68,0,23,0,10,0,31,0 51,0,13,0,19,0,12,0,63,0,42,0 ================================================ FILE: schedules/80_2.csv ================================================ 37,0,33,0,19,0,76,0,63,0,68,0 4,0,34,0,59,0,49,0,43,0,64,0 78,0,13,0,24,0,54,0,44,0,6,0 46,0,28,0,69,0,27,0,2,0,32,0 48,0,18,0,16,0,8,0,12,0,73,0 67,0,15,0,14,0,74,0,65,0,77,0 40,0,39,0,42,0,7,0,22,0,51,0 26,0,10,0,11,0,61,0,71,0,79,0 72,0,29,0,56,0,80,0,62,0,23,0 30,0,52,0,47,0,20,0,58,0,53,0 70,0,57,0,5,0,31,0,21,0,66,0 55,0,75,0,1,0,35,0,3,0,36,0 60,0,9,0,38,0,41,0,25,0,17,0 45,0,12,0,28,0,50,0,39,0,15,0 8,0,2,0,74,0,37,0,49,0,40,0 18,0,69,0,22,0,13,0,71,0,72,0 32,0,63,0,53,0,10,0,48,0,54,0 19,0,44,0,27,0,31,0,56,0,52,0 64,0,36,0,73,0,51,0,29,0,67,0 68,0,60,0,70,0,78,0,26,0,55,0 76,0,5,0,1,0,11,0,14,0,62,0 77,0,25,0,35,0,24,0,43,0,47,0 45,0,17,0,65,0,30,0,80,0,46,0 6,0,38,0,61,0,20,0,4,0,57,0 3,0,41,0,50,0,34,0,23,0,42,0 9,0,66,0,33,0,16,0,59,0,58,0 79,0,21,0,32,1,75,0,7,0,2,1 ================================================ FILE: schedules/80_3.csv ================================================ 76,0,3,0,28,0,27,0,52,0,63,0 30,0,66,0,7,0,21,0,55,0,43,0 41,0,73,0,60,0,15,0,71,0,23,0 62,0,75,0,46,0,74,0,29,0,12,0 53,0,45,0,49,0,79,0,68,0,32,0 26,0,56,0,8,0,47,0,67,0,35,0 14,0,65,0,78,0,2,0,37,0,69,0 31,0,58,0,51,0,80,0,11,0,36,0 42,0,25,0,57,0,48,0,34,0,1,0 64,0,9,0,44,0,18,0,20,0,16,0 38,0,5,0,4,0,10,0,13,0,50,0 22,0,17,0,39,0,40,0,59,0,54,0 77,0,19,0,70,0,61,0,72,0,24,0 33,0,21,0,27,0,6,0,78,0,12,0 37,0,55,0,53,0,75,0,28,0,31,0 79,0,2,0,35,0,76,0,23,0,62,0 14,0,41,0,48,0,7,0,26,0,51,0 10,0,9,0,65,0,45,0,60,0,74,0 18,0,50,0,49,0,57,0,46,0,17,0 67,0,43,0,16,0,70,0,29,0,38,0 1,0,77,0,52,0,15,0,56,0,39,0 44,0,69,0,5,0,34,0,72,0,30,0 13,0,54,0,19,0,8,0,6,0,58,0 40,0,42,0,32,0,66,0,73,0,11,0 61,0,25,0,59,0,3,0,71,0,47,0 63,0,24,0,80,0,4,0,20,0,22,0 36,0,68,0,10,0,33,0,64,0,46,0 48,0,23,0,18,0,37,0,74,0,52,0 21,0,57,0,72,0,38,0,2,0,41,0 34,0,60,0,51,0,77,0,67,0,6,0 11,0,27,0,7,0,39,0,53,0,8,0 47,0,70,0,66,0,65,0,28,0,44,0 71,0,9,0,32,0,4,0,69,0,35,0 31,0,19,0,33,0,3,0,42,0,56,0 58,0,15,0,61,0,62,0,20,0,17,0 80,0,64,0,75,0,14,0,49,0,40,0 22,0,5,0,29,0,25,0,76,0,36,0 12,0,43,0,68,0,73,0,54,0,24,0 16,0,30,0,45,0,63,0,1,0,50,0 79,0,78,0,13,0,59,0,55,0,26,0 ================================================ FILE: schedules/80_4.csv ================================================ 75,0,27,0,78,0,20,0,7,0,25,0 59,0,54,0,14,0,42,0,56,0,31,0 2,0,51,0,12,0,18,0,43,0,36,0 23,0,49,0,52,0,53,0,33,0,39,0 48,0,63,0,57,0,50,0,24,0,17,0 62,0,32,0,47,0,4,0,13,0,70,0 65,0,11,0,5,0,76,0,77,0,68,0 3,0,26,0,66,0,40,0,79,0,37,0 74,0,16,0,8,0,41,0,55,0,9,0 72,0,60,0,69,0,45,0,15,0,30,0 64,0,21,0,80,0,10,0,67,0,19,0 28,0,58,0,22,0,61,0,38,0,29,0 35,0,73,0,6,0,1,0,46,0,44,0 34,0,17,0,14,0,71,0,68,0,25,0 57,0,53,0,77,0,54,0,66,0,62,0 76,0,48,0,42,0,79,0,52,0,2,0 15,0,36,0,40,0,39,0,70,0,27,0 56,0,13,0,3,0,51,0,74,0,21,0 9,0,10,0,37,0,32,0,11,0,60,0 80,0,12,0,44,0,24,0,16,0,26,0 71,0,29,0,7,0,18,0,30,0,6,0 65,0,49,0,72,0,31,0,22,0,19,0 47,0,8,0,33,0,1,0,61,0,64,0 5,0,50,0,78,0,46,0,34,0,58,0 55,0,45,0,28,0,59,0,63,0,73,0 43,0,4,0,35,0,69,0,38,0,20,0 41,0,67,0,56,0,75,0,23,0,62,0 13,1,37,0,16,0,76,1,30,0,17,0 14,1,19,0,26,0,53,1,7,0,60,0 42,0,68,0,1,0,66,0,32,0,80,0 61,0,9,0,40,0,25,0,72,0,48,0 70,0,28,0,54,0,12,0,49,0,6,0 22,0,74,0,44,0,34,0,10,0,4,0 79,0,21,0,35,0,50,0,39,0,29,0 27,0,46,0,55,0,52,0,43,0,47,0 45,0,57,0,38,0,5,0,51,0,75,0 31,0,23,0,73,0,36,0,69,0,77,0 58,0,63,0,8,0,11,0,18,0,20,0 24,0,41,0,59,0,64,0,78,0,65,0 2,0,15,0,67,0,71,0,33,0,3,0 70,0,17,0,1,0,22,0,21,0,53,0 39,0,46,0,7,0,56,0,9,0,76,0 30,0,5,0,10,0,47,0,79,0,28,0 77,0,13,0,38,0,60,0,44,0,27,0 11,0,62,0,12,0,35,0,74,0,14,0 24,0,61,0,69,0,34,0,42,0,49,0 52,0,25,0,59,0,67,0,51,0,50,0 20,0,41,0,37,0,36,0,72,0,71,0 31,0,55,0,26,0,4,0,58,0,57,0 64,0,66,0,2,0,16,0,45,0,23,0 43,0,6,0,33,0,80,0,63,0,65,0 68,0,29,0,73,0,78,0,40,0,8,0 48,0,32,0,19,0,75,0,3,0,54,0 18,0,13,0,14,0,15,0,76,0,53,0 ================================================ FILE: schedules/80_5.csv ================================================ 10,0,27,0,74,0,38,0,69,0,61,0 40,0,70,0,4,0,46,0,75,0,51,0 65,0,66,0,13,0,35,0,60,0,34,0 11,0,47,0,18,0,50,0,80,0,39,0 42,0,6,0,79,0,14,0,72,0,21,0 49,0,9,0,57,0,22,0,59,0,25,0 52,0,5,0,78,0,37,0,19,0,53,0 15,0,63,0,26,0,20,0,30,0,1,0 45,0,55,0,29,0,41,0,56,0,32,0 68,0,76,0,71,0,28,0,64,0,44,0 24,0,31,0,12,0,43,0,33,0,62,0 54,0,36,0,58,0,16,0,48,0,2,0 3,0,7,0,67,0,77,0,17,0,8,0 73,0,80,0,21,0,23,0,59,0,52,0 30,0,9,0,79,0,53,0,40,0,50,0 13,0,14,0,69,0,19,0,4,0,49,0 22,0,60,0,55,0,20,0,76,0,11,0 65,0,56,0,57,0,39,0,10,0,43,0 66,0,74,0,28,0,51,0,12,0,78,0 31,0,77,0,75,0,37,0,68,0,58,0 27,0,33,0,34,0,7,0,18,0,15,0 35,0,17,0,46,0,36,0,62,0,25,0 44,0,8,0,38,0,70,0,47,0,41,0 6,0,61,0,2,0,71,0,5,0,32,0 42,0,67,0,64,0,16,0,1,0,45,0 29,0,63,0,48,0,73,0,3,0,24,0 26,0,23,0,76,0,54,0,72,0,57,0 21,1,4,0,33,0,30,1,74,0,11,0 36,0,49,0,20,0,65,0,79,0,12,0 43,0,27,0,53,0,51,0,55,0,8,0 69,0,2,0,40,0,25,0,52,0,44,0 59,0,62,0,56,0,1,0,77,0,47,0 37,0,35,0,80,0,42,0,71,0,15,0 17,0,58,0,61,0,13,0,28,0,39,0 14,0,50,0,5,0,68,0,45,0,63,0 16,0,78,0,3,0,26,0,9,0,6,0 10,0,23,0,19,0,7,0,64,0,29,0 48,0,60,0,32,0,70,0,31,0,18,0 41,0,22,0,46,0,73,0,54,0,66,0 38,0,24,0,34,0,72,0,67,0,75,0 30,0,77,0,28,0,57,0,27,0,36,0 51,0,79,0,62,0,11,0,37,0,61,0 50,0,4,0,52,0,42,0,55,0,12,0 16,0,21,0,20,0,56,0,68,0,13,0 17,0,1,0,71,0,9,0,60,0,19,0 15,0,40,0,64,0,14,0,22,0,3,0 43,0,72,0,41,0,48,0,59,0,69,0 32,0,76,0,73,0,78,0,39,0,33,0 44,0,45,0,35,0,6,0,24,0,23,0 70,0,29,0,34,0,54,0,74,0,80,0 47,0,26,0,67,0,5,0,49,0,58,0 75,0,66,0,8,0,10,0,18,0,25,0 2,0,7,0,53,0,65,0,38,0,31,0 63,0,19,0,43,0,46,0,28,0,79,0 41,0,64,0,52,0,33,0,20,0,9,0 78,0,15,0,68,0,57,0,55,0,17,0 37,0,50,0,44,0,34,0,21,0,48,0 59,0,39,0,45,0,4,0,71,0,27,0 42,0,49,0,32,0,77,0,23,0,66,0 3,0,30,0,31,0,5,0,10,0,76,0 18,0,58,0,6,0,65,0,63,0,69,0 62,0,53,0,72,0,74,0,73,0,16,0 47,0,12,0,14,0,75,0,29,0,61,0 80,0,51,0,22,0,13,0,67,0,36,0 70,0,56,0,25,0,24,0,7,0,26,0 54,0,40,0,1,0,11,0,35,0,38,0 46,0,8,0,21,0,2,0,60,0,30,0 ================================================ FILE: schedules/80_6.csv ================================================ 62,0,17,0,70,0,56,0,16,0,13,0 50,0,5,0,21,0,37,0,61,0,45,0 72,0,38,0,8,0,36,0,9,0,4,0 64,0,22,0,34,0,44,0,49,0,30,0 59,0,39,0,48,0,32,0,69,0,74,0 78,0,25,0,14,0,41,0,53,0,11,0 19,0,46,0,60,0,28,0,33,0,57,0 76,0,6,0,43,0,77,0,65,0,68,0 71,0,27,0,73,0,18,0,35,0,67,0 3,0,7,0,66,0,51,0,75,0,80,0 26,0,15,0,40,0,2,0,12,0,58,0 52,0,31,0,55,0,54,0,24,0,47,0 42,0,20,0,23,0,10,0,63,0,79,0 29,0,33,0,45,0,1,0,11,0,16,0 21,0,6,0,69,0,72,0,22,0,25,0 60,0,73,0,37,0,39,0,70,0,53,0 46,0,4,0,56,0,48,0,68,0,67,0 44,0,32,0,26,0,3,0,19,0,35,0 59,0,49,0,54,0,58,0,17,0,80,0 41,0,30,0,57,0,24,0,71,0,75,0 28,0,52,0,40,0,13,0,20,0,34,0 51,0,61,0,8,0,2,0,74,0,31,0 12,0,79,0,43,0,36,0,27,0,78,0 66,0,63,0,50,0,76,0,38,0,29,0 1,0,77,0,42,0,18,0,5,0,55,0 14,0,65,0,9,0,47,0,10,0,64,0 15,0,62,0,44,0,7,0,23,0,67,0 26,0,25,0,48,0,20,0,57,0,73,0 2,0,4,0,16,0,71,0,32,0,6,0 13,0,61,0,53,0,27,0,59,0,22,0 21,0,54,0,51,0,19,0,34,0,29,0 18,0,12,0,68,0,60,0,75,0,45,0 74,0,72,0,65,0,66,0,49,0,1,0 70,0,78,0,23,0,46,0,58,0,55,0 39,0,41,0,40,0,35,0,76,0,62,0 64,0,33,0,3,0,42,0,52,0,38,0 15,0,56,0,10,0,8,0,50,0,43,0 9,0,28,0,77,0,24,0,79,0,80,0 69,0,30,0,5,0,14,0,31,0,17,0 36,0,47,0,11,0,37,0,7,0,63,0 29,0,78,0,49,0,13,0,6,0,48,0 60,0,59,0,2,0,25,0,1,0,67,0 58,0,62,0,52,0,4,0,21,0,57,0 22,0,33,0,12,0,65,0,41,0,70,0 19,0,53,0,76,0,20,0,8,0,24,0 46,0,50,0,27,0,9,0,69,0,26,0 31,0,36,0,10,0,44,0,75,0,77,0 5,0,47,0,23,0,68,0,28,0,38,0 63,0,80,0,56,0,64,0,40,0,18,0 42,0,32,0,7,0,43,0,14,0,61,0 74,0,3,0,55,0,71,0,79,0,11,0 73,0,17,0,34,0,15,0,66,0,45,0 35,0,16,0,72,0,54,0,30,0,37,0 51,0,4,0,25,0,39,0,12,0,50,0 67,0,70,0,38,0,20,0,49,0,21,0 8,0,18,0,44,0,59,0,52,0,46,0 78,0,24,0,5,0,62,0,60,0,64,0 41,0,1,0,19,0,9,0,56,0,31,0 58,0,48,0,63,0,43,0,71,0,34,0 7,0,29,0,68,0,10,0,22,0,55,0 74,0,36,0,35,0,6,0,23,0,80,0 13,0,45,0,76,0,72,0,2,0,42,0 66,0,53,0,30,0,26,0,79,0,47,0 37,0,51,0,77,0,27,0,17,0,33,0 28,0,39,0,16,0,14,0,15,0,3,0 69,0,61,0,11,0,65,0,57,0,40,0 73,0,75,0,63,0,54,0,32,0,5,0 25,0,58,0,18,0,38,0,10,0,19,0 20,0,31,0,35,0,4,0,78,0,7,0 80,0,60,0,47,0,72,0,44,0,29,0 36,0,64,0,21,0,2,0,53,0,48,0 22,0,45,0,14,0,51,0,62,0,26,0 57,0,37,0,59,0,9,0,12,0,23,0 68,0,74,0,27,0,70,0,40,0,30,0 13,0,1,0,24,0,73,0,43,0,3,0 61,0,71,0,15,0,76,0,46,0,54,0 79,0,17,0,65,0,50,0,32,0,52,0 75,0,56,0,33,0,39,0,49,0,55,0 16,0,34,0,67,0,77,0,69,0,41,0 8,0,6,0,66,0,42,0,28,0,11,0 ================================================ FILE: schedules/80_7.csv ================================================ 30,0,72,0,55,0,56,0,59,0,80,0 29,0,26,0,42,0,36,0,79,0,24,0 37,0,14,0,47,0,41,0,49,0,28,0 70,0,22,0,23,0,4,0,10,0,51,0 48,0,60,0,15,0,2,0,78,0,54,0 11,0,46,0,16,0,53,0,18,0,58,0 71,0,77,0,38,0,57,0,31,0,27,0 34,0,50,0,6,0,17,0,63,0,3,0 52,0,32,0,33,0,65,0,69,0,12,0 13,0,74,0,45,0,62,0,8,0,61,0 19,0,76,0,43,0,35,0,73,0,75,0 64,0,39,0,67,0,66,0,21,0,25,0 68,0,1,0,5,0,44,0,20,0,9,0 7,0,23,0,41,0,40,0,60,0,59,0 63,0,38,0,22,0,55,0,2,0,42,0 10,0,30,0,36,0,14,0,17,0,46,0 4,0,8,0,79,0,32,0,58,0,72,0 45,0,75,0,69,0,71,0,70,0,37,0 78,0,25,0,27,0,19,0,51,0,47,0 73,0,6,0,11,0,31,0,13,0,1,0 54,0,18,0,9,0,33,0,35,0,67,0 80,0,21,0,20,0,29,0,52,0,49,0 62,0,64,0,68,0,3,0,28,0,26,0 66,0,77,0,53,0,34,0,76,0,12,0 5,0,24,0,50,0,56,0,39,0,15,0 44,0,16,0,74,0,57,0,7,0,43,0 61,0,65,0,11,0,40,0,48,0,51,0 67,1,4,0,73,0,79,1,38,0,46,0 23,1,19,0,45,0,2,1,22,0,6,0 80,0,32,0,25,0,60,0,31,0,26,0 36,0,49,0,58,0,1,0,62,0,69,0 55,0,71,0,54,0,50,0,20,0,64,0 59,0,14,0,5,0,43,0,29,0,34,0 33,0,56,0,61,0,68,0,41,0,77,0 9,0,12,0,17,0,16,0,47,0,15,0 28,0,7,0,70,0,72,0,27,0,24,0 35,0,53,0,52,0,13,0,10,0,78,0 3,0,74,0,40,0,21,0,42,0,75,0 63,0,65,0,37,0,44,0,39,0,76,0 18,0,66,0,30,0,8,0,48,0,57,0 38,0,60,0,45,0,11,0,34,0,36,0 73,0,32,0,68,0,23,0,49,0,50,0 58,0,12,0,31,0,5,0,28,0,61,0 72,0,69,0,29,0,51,0,77,0,35,0 33,0,2,0,43,0,1,0,17,0,40,0 39,0,3,0,14,0,79,0,54,0,13,0 24,0,66,0,55,0,44,0,46,0,52,0 10,0,21,0,37,0,56,0,16,0,27,0 8,0,78,0,26,0,9,0,65,0,59,0 42,0,20,0,67,0,30,0,76,0,47,0 63,0,15,0,70,0,19,0,74,0,18,0 62,0,7,0,71,0,6,0,48,0,25,0 53,0,57,0,4,0,80,0,41,0,64,0 22,0,28,0,17,0,75,0,66,0,79,0 51,0,49,0,3,0,33,0,45,0,55,0 46,0,23,0,1,0,21,0,65,0,72,0 39,0,40,0,38,0,68,0,20,0,16,0 27,0,43,0,26,0,52,0,11,0,15,0 34,0,25,0,24,0,10,0,74,0,58,0 77,0,4,0,30,0,19,0,9,0,7,0 78,0,57,0,6,0,75,0,32,0,5,0 36,0,18,0,41,0,76,0,2,0,71,0 56,0,53,0,48,0,73,0,14,0,69,0 54,0,31,0,47,0,62,0,29,0,63,0 59,0,61,0,35,0,64,0,22,0,37,0 13,0,12,0,50,0,42,0,60,0,70,0 8,0,67,0,11,0,44,0,80,0,77,0 15,0,23,0,33,0,75,0,30,0,20,0 5,0,10,0,26,0,45,0,40,0,18,0 1,0,32,0,28,0,19,0,39,0,71,0 56,0,7,0,58,0,38,0,65,0,66,0 3,0,2,0,59,0,73,0,25,0,52,0 46,0,51,0,57,0,37,0,54,0,12,0 44,0,48,0,36,0,50,0,22,0,47,0 31,0,41,0,34,0,35,0,8,0,70,0 17,0,67,0,69,0,24,0,78,0,68,0 49,0,13,0,64,0,63,0,72,0,16,0 4,0,60,0,76,0,29,0,74,0,27,0 9,0,80,0,42,0,6,0,61,0,14,0 79,0,21,0,62,0,43,0,55,0,53,0 12,0,20,0,48,0,10,0,59,0,19,0 5,0,66,0,3,0,36,0,37,0,23,0 47,0,58,0,35,0,68,0,15,0,57,0 72,0,22,0,40,0,52,0,67,0,31,0 41,0,54,0,44,0,73,0,17,0,45,0 28,0,16,0,50,0,69,0,80,0,2,0 64,0,65,0,79,0,77,0,60,0,6,0 9,0,56,0,75,0,46,0,25,0,49,0 74,0,1,0,26,0,30,0,38,0,53,0 11,0,42,0,62,0,33,0,39,0,70,0 18,0,29,0,13,0,7,0,55,0,32,0 76,0,51,0,14,0,8,0,21,0,24,0 63,0,71,0,61,0,4,0,78,0,43,0 27,0,79,0,2,0,34,0,67,0,23,0 ================================================ FILE: schedules/80_8.csv ================================================ 55,0,43,0,54,0,80,0,46,0,72,0 4,0,19,0,60,0,28,0,17,0,49,0 37,0,13,0,18,0,12,0,51,0,38,0 11,0,8,0,16,0,76,0,77,0,75,0 32,0,71,0,20,0,3,0,63,0,52,0 5,0,41,0,56,0,31,0,45,0,61,0 48,0,39,0,34,0,66,0,68,0,10,0 59,0,33,0,2,0,6,0,1,0,14,0 42,0,27,0,26,0,69,0,58,0,21,0 70,0,50,0,29,0,15,0,23,0,24,0 53,0,22,0,30,0,62,0,36,0,44,0 65,0,35,0,40,0,25,0,79,0,78,0 7,0,67,0,74,0,47,0,64,0,57,0 9,0,45,0,20,0,73,0,34,0,4,0 75,0,59,0,37,0,3,0,72,0,49,0 13,0,5,0,14,0,76,0,58,0,32,0 2,0,28,0,80,0,10,0,50,0,61,0 38,0,46,0,53,0,77,0,17,0,70,0 19,0,40,0,15,0,54,0,39,0,6,0 30,0,29,0,71,0,21,0,65,0,57,0 42,0,74,0,63,0,9,0,44,0,66,0 8,0,55,0,47,0,31,0,78,0,60,0 52,0,35,0,26,0,51,0,22,0,43,0 48,0,79,0,41,0,11,0,1,0,12,0 64,0,69,0,33,0,23,0,18,0,73,0 24,0,62,0,56,0,27,0,67,0,25,0 68,0,36,0,28,0,7,0,16,0,71,0 74,1,37,0,32,0,34,1,30,0,54,0 61,0,17,0,39,0,21,0,14,0,75,0 31,0,53,0,66,0,29,0,59,0,43,0 4,0,35,0,38,0,47,0,1,0,42,0 72,0,33,0,44,0,76,0,57,0,20,0 13,0,26,0,50,0,55,0,73,0,48,0 51,0,46,0,27,0,40,0,16,0,41,0 60,0,3,0,9,0,80,0,69,0,12,0 64,0,45,0,79,0,8,0,63,0,24,0 18,0,36,0,15,0,49,0,2,0,67,0 70,0,62,0,58,0,65,0,11,0,6,0 23,0,7,0,22,0,25,0,5,0,10,0 52,0,68,0,77,0,19,0,78,0,56,0 71,0,73,0,35,0,41,0,34,0,17,0 31,0,3,0,50,0,33,0,21,0,16,0 39,0,59,0,12,0,64,0,55,0,42,0 45,0,1,0,75,0,60,0,36,0,32,0 66,0,80,0,11,0,18,0,40,0,57,0 23,0,51,0,72,0,58,0,53,0,47,0 38,0,76,0,49,0,9,0,68,0,29,0 5,0,70,0,37,0,44,0,2,0,52,0 48,0,27,0,8,0,19,0,22,0,20,0 74,0,26,0,54,0,28,0,24,0,65,0 63,0,15,0,7,0,62,0,61,0,13,0 43,0,6,0,30,0,77,0,69,0,25,0 14,0,56,0,10,0,79,0,4,0,46,0 78,0,39,0,23,0,67,0,80,0,71,0 70,0,36,0,76,0,64,0,21,0,40,0 44,0,34,0,3,0,1,0,55,0,27,0 8,0,49,0,51,0,50,0,5,0,54,0 31,0,35,0,72,0,2,0,13,0,68,0 24,0,73,0,57,0,75,0,42,0,53,0 43,0,58,0,74,0,20,0,10,0,60,0 59,0,18,0,9,0,77,0,41,0,62,0 12,0,25,0,26,0,19,0,45,0,46,0 56,0,32,0,33,0,48,0,28,0,47,0 69,0,4,0,29,0,37,0,11,0,63,0 65,0,17,0,16,0,66,0,52,0,15,0 61,0,6,0,67,0,38,0,79,0,22,0 78,0,30,0,75,0,14,0,7,0,51,0 58,0,44,0,24,0,18,0,31,0,39,0 1,0,62,0,76,0,19,0,73,0,74,0 47,0,70,0,10,0,13,0,71,0,12,0 27,0,54,0,57,0,45,0,68,0,59,0 20,0,49,0,53,0,69,0,35,0,56,0 77,0,66,0,2,0,23,0,3,0,79,0 4,0,16,0,61,0,64,0,78,0,43,0 36,0,41,0,38,0,55,0,63,0,65,0 48,0,60,0,6,0,7,0,37,0,46,0 11,0,17,0,30,0,33,0,26,0,5,0 80,0,32,0,34,0,42,0,22,0,29,0 25,0,21,0,15,0,8,0,28,0,72,0 40,0,14,0,52,0,9,0,50,0,67,0 49,0,79,0,31,0,27,0,71,0,74,0 16,0,19,0,55,0,57,0,35,0,70,0 75,0,54,0,2,0,48,0,62,0,69,0 46,0,20,0,66,0,30,0,13,0,24,0 42,0,65,0,10,0,18,0,3,0,76,0 23,0,11,0,21,0,43,0,32,0,38,0 64,0,56,0,15,0,34,0,60,0,26,0 9,0,7,0,8,0,33,0,39,0,53,0 12,0,78,0,72,0,5,0,6,0,63,0 45,0,17,0,40,0,22,0,37,0,58,0 77,0,67,0,51,0,1,0,29,0,28,0 41,0,25,0,68,0,50,0,44,0,4,0 61,0,47,0,73,0,36,0,52,0,59,0 14,0,62,0,49,0,80,0,26,0,16,0 54,0,11,0,42,0,31,0,7,0,20,0 63,0,76,0,60,0,27,0,35,0,23,0 57,0,3,0,22,0,13,0,56,0,39,0 33,0,78,0,45,0,10,0,15,0,38,0 18,0,17,0,55,0,68,0,6,0,74,0 19,0,50,0,47,0,75,0,34,0,79,0 64,0,28,0,58,0,30,0,52,0,41,0 32,0,25,0,61,0,66,0,51,0,70,0 1,0,43,0,24,0,71,0,37,0,9,0 21,0,48,0,80,0,5,0,4,0,53,0 59,0,65,0,69,0,44,0,46,0,67,0 12,0,29,0,2,0,73,0,8,0,40,0 77,0,14,0,34,0,36,0,72,0,74,0 ================================================ FILE: schedules/80_9.csv ================================================ 35,0,22,0,73,0,80,0,34,0,60,0 28,0,41,0,8,0,12,0,64,0,10,0 49,0,58,0,72,0,47,0,21,0,17,0 45,0,78,0,29,0,14,0,4,0,31,0 62,0,32,0,57,0,55,0,18,0,79,0 15,0,56,0,67,0,44,0,52,0,76,0 43,0,25,0,9,0,59,0,71,0,50,0 24,0,30,0,11,0,36,0,7,0,51,0 61,0,63,0,66,0,74,0,42,0,16,0 46,0,20,0,37,0,6,0,3,0,1,0 19,0,26,0,39,0,27,0,48,0,33,0 69,0,68,0,54,0,5,0,65,0,13,0 23,0,53,0,77,0,2,0,38,0,40,0 70,0,29,0,56,0,75,0,10,0,25,0 52,0,59,0,7,0,47,0,45,0,79,0 14,0,11,0,55,0,73,0,76,0,49,0 50,0,6,0,16,0,28,0,22,0,78,0 60,0,42,0,9,0,58,0,1,0,36,0 69,0,13,0,20,0,61,0,26,0,44,0 4,0,66,0,38,0,51,0,71,0,62,0 12,0,3,0,77,0,39,0,35,0,72,0 68,0,23,0,27,0,75,0,43,0,41,0 19,0,64,0,31,0,32,0,24,0,53,0 15,0,33,0,2,0,54,0,70,0,37,0 48,0,34,0,5,0,57,0,8,0,74,0 65,0,67,0,21,0,30,0,17,0,46,0 18,0,40,0,4,0,63,0,80,0,11,0 51,0,13,0,1,0,72,0,79,0,29,0 78,0,12,0,73,0,44,0,71,0,7,0 60,0,28,0,68,0,52,0,24,0,39,0 53,0,76,0,26,0,70,0,41,0,66,0 6,0,38,0,69,0,8,0,25,0,49,0 9,0,55,0,22,0,64,0,2,0,48,0 23,0,62,0,36,0,33,0,65,0,59,0 80,0,58,0,5,0,10,0,27,0,15,0 57,0,17,0,77,0,14,0,63,0,20,0 75,0,74,0,35,0,50,0,21,0,45,0 32,0,30,0,40,0,61,0,43,0,3,0 18,0,16,0,34,0,67,0,19,0,37,0 56,0,47,0,54,0,46,0,31,0,42,0 2,0,59,0,6,0,13,0,24,0,73,0 64,0,58,0,7,0,68,0,26,0,62,0 41,0,22,0,17,0,11,0,33,0,39,0 35,0,79,0,15,0,9,0,4,0,69,0 40,0,70,0,44,0,72,0,57,0,36,0 25,0,3,0,60,0,55,0,74,0,5,0 71,0,49,0,1,0,54,0,61,0,53,0 14,0,75,0,48,0,52,0,16,0,46,0 43,0,21,0,10,0,19,0,77,0,66,0 12,0,47,0,50,0,67,0,32,0,63,0 20,0,80,0,51,0,78,0,23,0,8,0 45,0,27,0,37,0,56,0,76,0,30,0 42,0,34,0,65,0,29,0,18,0,38,0 28,0,72,0,11,0,31,0,9,0,62,0 14,0,5,0,46,0,33,0,40,0,7,0 52,0,1,0,43,0,73,0,57,0,69,0 39,0,71,0,63,0,58,0,70,0,55,0 41,0,51,0,25,0,54,0,44,0,3,0 6,0,36,0,13,0,80,0,47,0,19,0 20,0,76,0,48,0,24,0,38,0,50,0 23,0,49,0,56,0,35,0,16,0,64,0 27,0,30,0,31,0,66,0,12,0,18,0 10,0,34,0,2,0,45,0,17,0,68,0 61,0,21,0,15,0,59,0,60,0,29,0 67,0,42,0,78,0,53,0,8,0,79,0 77,0,65,0,26,0,28,0,37,0,74,0 22,0,4,0,44,0,75,0,32,0,58,0 40,0,62,0,24,0,41,0,56,0,1,0 6,0,9,0,66,0,18,0,57,0,33,0 73,0,70,0,45,0,64,0,20,0,38,0 16,0,43,0,51,0,76,0,60,0,2,0 35,0,17,0,36,0,78,0,5,0,52,0 13,0,50,0,15,0,46,0,8,0,77,0 29,0,54,0,7,0,55,0,39,0,67,0 61,0,65,0,79,0,19,0,25,0,12,0 71,0,34,0,14,0,32,0,27,0,21,0 63,0,72,0,22,0,26,0,10,0,23,0 28,0,3,0,80,0,48,0,42,0,49,0 30,0,68,0,74,0,47,0,53,0,4,0 37,0,75,0,69,0,11,0,31,0,59,0 8,0,73,0,58,0,16,0,77,0,29,0 13,0,38,0,41,0,35,0,7,0,60,0 39,0,25,0,40,0,21,0,62,0,76,0 18,0,36,0,20,0,22,0,15,0,71,0 44,0,28,0,45,0,63,0,19,0,1,0 4,0,48,0,12,0,56,0,17,0,53,0 33,0,42,0,10,0,69,0,55,0,30,0 67,0,5,0,68,0,49,0,51,0,70,0 11,0,64,0,57,0,27,0,61,0,50,0 52,0,74,0,54,0,59,0,32,0,80,0 31,0,43,0,79,0,26,0,6,0,34,0 78,0,75,0,66,0,65,0,3,0,2,0 24,0,14,0,37,0,47,0,9,0,23,0 46,0,71,0,60,0,72,0,19,0,69,0 18,0,21,0,41,0,56,0,73,0,48,0 8,0,63,0,76,0,68,0,35,0,1,0 32,0,64,0,33,0,13,0,25,0,42,0 16,0,30,0,38,0,11,0,44,0,5,0 62,0,77,0,67,0,45,0,61,0,22,0 39,0,2,0,74,0,14,0,36,0,79,0 10,0,51,0,58,0,65,0,31,0,40,0 23,0,28,0,50,0,66,0,17,0,29,0 3,0,27,0,52,0,4,0,6,0,70,0 24,0,47,0,55,0,34,0,75,0,15,0 59,0,57,0,78,0,46,0,26,0,49,0 72,0,53,0,80,0,37,0,7,0,43,0 54,0,12,0,21,0,9,0,20,0,16,0 48,0,77,0,1,0,25,0,11,0,67,0 32,0,56,0,14,0,69,0,28,0,51,0 42,0,2,0,19,0,52,0,50,0,62,0 79,0,33,0,3,0,38,0,68,0,71,0 10,0,76,0,47,0,61,0,78,0,18,0 7,0,74,0,31,0,70,0,23,0,22,0 80,0,45,0,24,0,57,0,12,0,58,0 63,0,29,0,46,0,64,0,36,0,43,0 30,0,8,0,26,0,75,0,54,0,60,0 73,0,39,0,66,0,15,0,5,0,37,0 9,0,17,0,49,0,40,0,13,0,27,0 53,0,55,0,44,0,65,0,35,0,6,0 59,0,4,0,72,0,41,0,20,0,34,0 ================================================ FILE: schedules/81_1.csv ================================================ 4,0,19,0,77,0,53,0,69,0,24,0 58,0,11,0,61,0,57,0,16,0,37,0 17,0,56,0,6,0,35,0,62,0,76,0 14,0,33,0,72,0,38,0,70,0,42,0 49,0,67,0,47,0,36,0,55,0,43,0 3,0,60,0,68,0,2,0,30,0,80,0 5,0,15,0,22,0,10,0,50,0,73,0 18,0,9,0,34,0,66,0,32,0,21,0 74,0,20,0,48,0,44,0,27,0,1,0 52,0,63,0,64,0,31,0,12,0,26,0 59,0,75,0,45,0,29,0,25,0,41,0 65,0,8,0,40,0,71,0,46,0,28,0 23,0,13,0,51,0,81,0,54,0,39,0 78,0,79,0,33,1,7,0,15,1,62,1 ================================================ FILE: schedules/81_10.csv ================================================ 53,0,61,0,81,0,26,0,34,0,18,0 42,0,33,0,8,0,2,0,59,0,74,0 73,0,79,0,32,0,6,0,43,0,11,0 28,0,15,0,48,0,67,0,46,0,69,0 21,0,62,0,9,0,20,0,44,0,75,0 40,0,54,0,77,0,25,0,7,0,13,0 57,0,71,0,63,0,30,0,35,0,19,0 72,0,68,0,31,0,1,0,38,0,58,0 65,0,24,0,41,0,27,0,23,0,3,0 12,0,4,0,47,0,50,0,49,0,37,0 70,0,64,0,80,0,60,0,36,0,66,0 14,0,10,0,16,0,55,0,22,0,52,0 76,0,5,0,39,0,51,0,29,0,45,0 78,0,17,0,44,0,56,0,73,0,69,0 62,0,26,0,20,0,58,0,35,0,79,0 54,0,3,0,43,0,2,0,63,0,61,0 49,0,68,0,81,0,75,0,42,0,30,0 71,0,66,0,4,0,48,0,72,0,34,0 53,0,6,0,52,0,24,0,11,0,13,0 76,0,1,0,7,0,64,0,39,0,14,0 47,0,38,0,57,0,28,0,41,0,60,0 56,0,18,0,59,0,16,0,46,0,23,0 15,0,55,0,50,0,74,0,31,0,27,0 65,0,9,0,67,0,8,0,5,0,80,0 78,0,12,0,36,0,40,0,22,0,32,0 29,0,37,0,19,0,25,0,51,0,17,0 77,0,45,0,21,0,33,0,70,0,10,0 72,0,2,0,44,0,63,0,13,0,14,0 38,0,20,0,69,0,24,0,61,0,66,0 31,0,76,0,34,0,75,0,79,0,57,0 56,0,53,0,5,0,35,0,7,0,42,0 55,0,41,0,48,0,26,0,12,0,80,0 18,0,17,0,30,0,50,0,58,0,32,0 8,0,10,0,27,0,54,0,46,0,49,0 37,0,36,0,77,0,21,0,68,0,73,0 16,0,51,0,78,0,25,0,47,0,9,0 28,0,71,0,45,0,81,0,23,0,22,0 62,0,1,0,4,0,52,0,65,0,40,0 64,0,67,0,29,0,74,0,6,0,70,0 33,0,15,0,3,0,39,0,19,0,11,0 60,0,59,0,50,0,43,0,48,0,56,0 38,0,44,0,55,0,37,0,76,0,35,0 69,0,79,0,21,0,80,0,25,0,72,0 77,0,24,0,57,0,8,0,61,0,78,0 2,0,9,0,30,0,1,0,53,0,22,0 32,0,28,0,42,0,27,0,51,0,66,0 31,0,17,0,70,0,12,0,81,0,40,0 75,0,73,0,33,0,7,0,52,0,18,0 64,0,23,0,15,0,5,0,68,0,62,0 10,0,39,0,54,0,47,0,6,0,71,0 11,0,59,0,4,0,63,0,29,0,20,0 74,0,13,0,65,0,46,0,45,0,34,0 14,0,26,0,49,0,60,0,3,0,16,0 41,0,58,0,43,0,67,0,19,0,36,0 25,0,50,0,24,0,81,0,80,0,2,0 70,0,9,0,48,0,32,0,37,0,68,0 55,0,57,0,53,0,33,0,64,0,51,0 7,0,23,0,79,0,78,0,4,0,10,0 45,0,61,0,59,0,1,0,73,0,15,0 20,0,72,0,52,0,77,0,17,0,39,0 13,0,60,0,19,0,18,0,69,0,5,0 31,0,71,0,8,0,44,0,26,0,29,0 66,0,6,0,28,0,30,0,62,0,16,0 12,0,42,0,58,0,65,0,11,0,54,0 49,0,22,0,43,0,38,0,34,0,21,0 46,0,63,0,74,0,41,0,75,0,40,0 56,0,67,0,27,0,14,0,36,0,76,0 3,0,35,0,32,0,47,0,72,0,23,0 13,0,64,0,81,0,4,0,9,0,73,0 25,0,5,0,66,0,26,0,59,0,10,0 65,0,61,0,28,0,7,0,55,0,70,0 22,0,18,0,11,0,62,0,37,0,57,0 79,0,68,0,19,0,50,0,40,0,45,0 34,0,39,0,56,0,58,0,63,0,80,0 78,0,21,0,41,0,15,0,2,0,29,0 20,0,14,0,6,0,8,0,51,0,12,0 38,0,46,0,43,0,3,0,71,0,1,0 69,0,47,0,76,0,52,0,42,0,74,0 17,0,24,0,35,0,31,0,49,0,67,0 16,0,77,0,75,0,48,0,27,0,53,0 33,0,36,0,30,0,60,0,44,0,54,0 65,0,15,0,57,0,26,0,56,0,32,0 78,0,20,0,11,0,55,0,19,0,81,0 79,0,29,0,9,0,14,0,23,0,28,0 40,0,3,0,37,0,69,0,59,0,34,0 42,0,13,0,62,0,50,0,71,0,70,0 48,0,8,0,73,0,38,0,25,0,39,0 5,0,27,0,33,0,80,0,47,0,30,0 68,0,43,0,10,0,53,0,74,0,17,0 45,0,7,0,58,0,44,0,41,0,16,0 22,0,72,0,75,0,64,0,24,0,54,0 52,0,46,0,36,0,51,0,2,0,35,0 67,0,12,0,1,0,18,0,77,0,66,0 60,0,4,0,21,0,61,0,6,0,31,0 63,0,49,0,23,0,76,0,33,0,48,0 40,0,42,0,10,0,20,0,73,0,57,0 69,0,30,0,7,0,43,0,62,0,29,0 26,0,38,0,45,0,9,0,27,0,17,0 35,0,80,0,14,0,78,0,54,0,74,0 53,0,37,0,2,0,39,0,79,0,67,0 75,0,55,0,58,0,13,0,8,0,66,0 19,0,22,0,77,0,4,0,31,0,46,0 61,0,64,0,25,0,32,0,41,0,71,0 51,0,24,0,60,0,21,0,1,0,63,0 81,0,6,0,65,0,72,0,59,0,76,0 49,0,47,0,70,0,44,0,18,0,15,0 56,0,12,0,52,0,28,0,68,0,3,0 34,0,36,0,11,0,50,0,16,0,5,0 67,0,30,0,54,0,45,0,55,0,4,0 78,0,27,0,75,0,43,0,37,0,39,0 40,0,71,0,58,0,33,0,14,0,24,0 32,0,8,0,23,0,19,0,21,0,53,0 47,0,66,0,2,0,73,0,31,0,65,0 51,0,13,0,38,0,10,0,81,0,56,0 76,0,11,0,50,0,77,0,28,0,26,0 49,0,74,0,1,0,36,0,20,0,5,0 15,0,17,0,63,0,16,0,64,0,79,0 80,0,68,0,7,0,57,0,3,0,59,0 35,0,18,0,6,0,9,0,69,0,41,0 22,0,61,0,44,0,42,0,29,0,48,0 46,0,60,0,25,0,12,0,72,0,62,0 70,0,19,0,26,0,52,0,34,0,54,0 2,0,40,0,39,0,28,0,49,0,55,0 16,0,20,0,31,0,13,0,43,0,33,0 59,0,79,0,81,0,36,0,21,0,47,0 5,0,32,0,75,0,38,0,4,0,14,0 51,0,69,0,63,0,71,0,65,0,77,0 66,0,9,0,50,0,7,0,57,0,46,0 74,0,72,0,37,0,56,0,61,0,62,0 80,0,42,0,23,0,17,0,6,0,1,0 45,0,18,0,3,0,48,0,78,0,64,0 52,0,29,0,73,0,60,0,58,0,53,0 41,0,11,0,35,0,22,0,70,0,8,0 27,0,25,0,34,0,68,0,67,0,44,0 24,0,12,0,10,0,15,0,76,0,30,0 ================================================ FILE: schedules/81_11.csv ================================================ 1,0,67,0,81,0,36,0,35,0,16,0 10,0,63,0,17,0,79,0,5,0,48,0 43,0,73,0,30,0,28,0,25,0,12,0 80,0,55,0,27,0,52,0,76,0,14,0 34,0,3,0,75,0,57,0,22,0,50,0 69,0,29,0,61,0,24,0,45,0,33,0 68,0,78,0,77,0,62,0,49,0,38,0 32,0,66,0,11,0,53,0,72,0,20,0 42,0,6,0,15,0,37,0,65,0,51,0 31,0,44,0,4,0,70,0,58,0,18,0 13,0,46,0,60,0,41,0,54,0,8,0 39,0,47,0,71,0,9,0,64,0,74,0 7,0,23,0,59,0,21,0,56,0,40,0 19,0,2,0,22,0,26,0,52,0,35,0 11,0,24,0,79,0,73,0,50,0,55,0 81,0,10,0,45,0,15,0,25,0,3,0 30,0,18,0,78,0,80,0,69,0,63,0 12,0,4,0,48,0,6,0,14,0,54,0 64,0,51,0,61,0,75,0,1,0,43,0 72,0,39,0,37,0,16,0,62,0,17,0 20,0,28,0,34,0,23,0,41,0,31,0 13,0,9,0,56,0,65,0,32,0,2,0 33,0,40,0,5,0,26,0,21,0,38,0 53,0,71,0,70,0,29,0,8,0,76,0 57,0,77,0,46,0,44,0,59,0,27,0 74,0,47,0,68,0,58,0,60,0,19,0 49,0,42,0,66,0,7,0,36,0,67,0 10,1,4,0,37,0,28,1,43,0,78,0 80,0,31,0,39,0,51,1,48,0,25,0 15,0,32,0,17,0,34,0,14,0,30,0 61,0,3,0,12,0,35,0,21,0,29,0 24,0,46,0,73,0,52,0,71,0,6,0 38,0,27,0,23,0,79,0,8,0,19,0 2,0,75,0,41,0,68,0,11,0,63,0 36,0,5,0,9,0,72,0,18,0,7,0 81,0,59,0,60,0,64,0,33,0,65,0 22,0,49,0,53,0,54,0,47,0,62,0 1,0,58,0,42,0,69,0,57,0,40,0 20,0,55,0,26,0,45,0,70,0,13,0 16,0,50,0,76,0,77,0,66,0,44,0 56,0,67,0,3,0,74,0,43,0,31,0 19,0,11,0,71,0,28,0,7,0,48,0 65,0,75,0,73,0,80,0,4,0,23,0 78,0,64,0,27,0,32,0,36,0,29,0 17,0,60,0,57,0,15,0,49,0,21,0 8,0,47,0,72,0,68,0,35,0,51,0 41,0,69,0,45,0,70,0,66,0,37,0 56,0,10,0,18,0,55,0,24,0,77,0 40,0,16,0,54,0,14,0,9,0,20,0 1,0,12,0,2,0,62,0,58,0,5,0 38,0,52,0,63,0,61,0,44,0,39,0 50,0,81,0,26,0,46,0,30,0,42,0 6,0,67,0,33,0,13,0,34,0,53,0 79,0,25,0,74,0,22,0,59,0,76,0 43,0,60,0,48,0,77,0,32,0,45,0 18,0,35,0,54,0,75,0,17,0,37,0 16,0,7,0,64,0,69,0,68,0,73,0 1,0,8,0,44,0,55,0,15,0,78,0 21,0,20,0,58,0,27,0,81,0,71,0 52,0,5,0,19,0,53,0,51,0,56,0 3,0,79,0,4,0,30,0,2,0,66,0 36,0,47,0,14,0,46,0,63,0,28,0 76,0,11,0,33,0,22,0,39,0,42,0 31,0,50,0,62,0,61,0,13,0,23,0 12,0,67,0,57,0,41,0,26,0,24,0 9,0,49,0,6,0,80,0,10,0,59,0 74,0,34,0,29,0,38,0,72,0,65,0 70,0,25,0,2,0,40,0,60,0,7,0 21,0,3,0,53,0,37,0,55,0,36,0 76,0,20,0,63,0,43,0,19,0,15,0 42,0,61,0,56,0,16,0,27,0,47,0 17,0,68,0,28,0,22,0,24,0,1,0 33,0,31,0,77,0,78,0,12,0,52,0 59,0,54,0,58,0,73,0,26,0,34,0 72,0,13,0,75,0,79,0,46,0,69,0 81,0,40,0,11,0,8,0,6,0,74,0 25,0,49,0,29,0,14,0,41,0,4,0 51,0,32,0,18,0,50,0,45,0,39,0 23,0,66,0,65,0,5,0,71,0,10,0 62,0,44,0,9,0,67,0,48,0,30,0 57,0,70,0,64,0,35,0,80,0,38,0 27,0,7,0,63,0,33,0,37,0,34,0 15,0,26,0,77,0,69,0,47,0,75,0 28,0,13,0,52,0,81,0,3,0,49,0 20,0,79,0,39,0,60,0,12,0,56,0 2,0,53,0,24,0,23,0,14,0,78,0 18,0,6,0,61,0,67,0,76,0,68,0 25,0,9,0,35,0,66,0,5,0,46,0 1,0,64,0,50,0,19,0,70,0,72,0 22,0,65,0,55,0,48,0,41,0,40,0 45,0,8,0,59,0,16,0,58,0,30,0 10,0,21,0,42,0,54,0,73,0,29,0 71,0,44,0,43,0,80,0,17,0,11,0 57,0,36,0,51,0,74,0,62,0,4,0 32,0,38,0,79,0,31,0,37,0,7,0 72,0,60,0,67,0,28,0,27,0,6,0 1,0,18,0,48,0,33,0,49,0,56,0 15,0,5,0,41,0,39,0,59,0,24,0 47,0,70,0,22,0,78,0,16,0,10,0 21,0,68,0,50,0,25,0,63,0,65,0 20,0,73,0,17,0,36,0,74,0,2,0 45,0,42,0,38,0,46,0,4,0,53,0 35,0,31,0,69,0,55,0,71,0,62,0 14,0,61,0,19,0,57,0,81,0,66,0 58,0,75,0,29,0,9,0,52,0,43,0 76,0,34,0,51,0,13,0,40,0,12,0 30,0,54,0,11,0,77,0,23,0,64,0 8,0,32,0,26,0,80,0,44,0,3,0 2,0,38,0,59,0,28,0,10,0,1,0 72,0,45,0,22,0,73,0,56,0,63,0 15,0,71,0,33,0,70,0,79,0,36,0 62,0,18,0,66,0,27,0,43,0,21,0 69,0,9,0,17,0,53,0,81,0,76,0 74,0,5,0,30,0,54,0,75,0,55,0 80,0,37,0,40,0,50,0,12,0,47,0 46,0,11,0,78,0,3,0,65,0,58,0 29,0,26,0,16,0,31,0,51,0,60,0 34,0,48,0,49,0,61,0,24,0,8,0 23,0,57,0,19,0,32,0,25,0,6,0 14,0,68,0,44,0,39,0,35,0,13,0 52,0,20,0,64,0,67,0,42,0,4,0 41,0,7,0,74,0,77,0,50,0,53,0 59,0,43,0,36,0,69,0,2,0,54,0 12,0,16,0,38,0,18,0,15,0,11,0 73,0,62,0,48,0,70,0,29,0,81,0 49,0,63,0,23,0,51,0,58,0,55,0 66,0,26,0,78,0,6,0,17,0,56,0 46,0,40,0,67,0,19,0,10,0,39,0 35,0,28,0,41,0,32,0,27,0,76,0 80,0,33,0,68,0,3,0,5,0,20,0 31,0,14,0,72,0,42,0,75,0,8,0 9,0,77,0,79,0,21,0,34,0,1,0 52,0,7,0,65,0,45,0,47,0,57,0 4,0,22,0,30,0,71,0,60,0,61,0 25,0,37,0,24,0,44,0,64,0,13,0 29,0,28,0,66,0,40,0,18,0,63,0 39,0,51,0,27,0,54,0,70,0,3,0 23,0,16,0,74,0,46,0,12,0,49,0 41,0,43,0,55,0,81,0,9,0,33,0 32,0,47,0,73,0,69,0,5,0,67,0 7,0,58,0,80,0,15,0,22,0,61,0 57,0,10,0,52,0,72,0,68,0,30,0 37,0,14,0,26,0,65,0,1,0,71,0 60,0,24,0,76,0,36,0,75,0,38,0 77,0,8,0,13,0,19,0,17,0,4,0 35,0,50,0,48,0,20,0,59,0,78,0 56,0,34,0,62,0,25,0,11,0,42,0 2,0,21,0,6,0,45,0,64,0,31,0 53,0,44,0,28,0,79,0,10,0,51,0 ================================================ FILE: schedules/81_12.csv ================================================ 68,0,58,0,64,0,81,0,35,0,23,0 55,0,57,0,16,0,61,0,19,0,28,0 21,0,67,0,42,0,78,0,4,0,47,0 3,0,46,0,1,0,65,0,6,0,71,0 8,0,50,0,41,0,62,0,77,0,17,0 34,0,18,0,29,0,72,0,75,0,40,0 26,0,66,0,10,0,54,0,73,0,36,0 51,0,48,0,80,0,38,0,45,0,56,0 14,0,7,0,11,0,43,0,52,0,30,0 5,0,20,0,59,0,9,0,49,0,60,0 53,0,33,0,32,0,2,0,76,0,22,0 31,0,70,0,15,0,27,0,69,0,74,0 12,0,63,0,44,0,13,0,25,0,24,0 79,0,37,0,16,0,39,0,75,0,66,0 23,0,73,0,10,0,57,0,80,0,38,0 35,0,36,0,64,0,14,0,3,0,19,0 30,0,81,0,18,0,5,0,62,0,8,0 78,0,51,0,41,0,65,0,7,0,2,0 61,0,70,0,11,0,1,0,9,0,29,0 20,0,43,0,46,0,32,0,40,0,69,0 27,0,17,0,71,0,56,0,6,0,63,0 34,0,60,0,47,0,74,0,24,0,49,0 68,0,25,0,55,0,33,0,42,0,26,0 77,0,22,0,31,0,52,0,44,0,39,0 54,0,67,0,53,0,15,0,59,0,48,0 50,0,45,0,79,0,13,0,76,0,21,0 12,0,37,0,58,0,72,0,4,0,28,0 46,0,80,0,78,0,18,0,35,0,63,0 1,0,64,0,32,0,30,0,49,0,10,0 26,0,9,0,69,0,2,0,8,0,16,0 47,0,75,0,27,0,44,0,55,0,73,0 68,0,5,0,65,0,54,0,19,0,70,0 43,0,56,0,15,0,21,0,25,0,61,0 42,0,52,0,36,0,48,0,60,0,76,0 4,0,12,0,59,0,51,0,3,0,7,0 50,0,31,0,20,0,66,0,22,0,58,0 71,0,34,0,79,0,62,0,11,0,33,0 28,0,81,0,39,0,40,0,74,0,17,0 67,0,6,0,45,0,37,0,57,0,77,0 24,0,53,0,38,0,13,0,14,0,29,0 23,0,41,0,44,0,72,0,32,0,16,0 2,0,12,0,60,0,47,0,15,0,35,0 56,0,26,0,51,0,70,0,50,0,30,0 3,0,48,0,33,0,58,0,43,0,73,0 4,0,54,0,52,0,34,0,9,0,55,0 18,0,36,0,61,0,17,0,68,0,31,0 13,0,19,0,62,0,42,0,37,0,20,0 29,0,81,0,40,0,80,0,27,0,6,0 74,0,66,0,71,0,72,0,57,0,7,0 63,0,69,0,10,0,53,0,65,0,45,0 78,0,24,0,23,0,75,0,77,0,11,0 28,0,79,0,21,0,22,0,8,0,64,0 14,0,49,0,25,0,46,0,41,0,67,0 1,0,5,0,39,0,76,0,38,0,59,0 68,0,32,0,60,0,37,0,2,0,27,0 12,0,56,0,66,0,42,0,81,0,19,0 40,0,9,0,53,0,44,0,71,0,58,0 74,0,20,0,61,0,10,0,50,0,52,0 64,0,33,0,24,0,17,0,4,0,45,0 72,0,15,0,8,0,75,0,73,0,14,0 13,0,26,0,47,0,46,0,23,0,39,0 25,0,80,0,34,0,1,0,69,0,59,0 16,0,77,0,76,0,3,0,18,0,11,0 63,0,7,0,29,0,48,0,28,0,62,0 6,0,54,0,38,0,41,0,43,0,31,0 65,0,51,0,35,0,22,0,67,0,55,0 79,0,70,0,78,0,49,0,57,0,36,0 5,0,30,0,33,0,21,0,74,0,53,0 4,0,60,0,75,0,80,0,50,0,68,0 59,0,52,0,14,0,26,0,27,0,1,0 69,0,48,0,44,0,64,0,66,0,11,0 41,0,56,0,25,0,18,0,9,0,13,0 20,0,17,0,38,0,34,0,12,0,15,0 28,0,35,0,73,0,70,0,77,0,65,0 21,0,6,0,2,0,62,0,54,0,72,0 81,0,78,0,37,0,10,0,43,0,22,0 30,0,55,0,29,0,57,0,79,0,76,0 8,0,42,0,40,0,3,0,49,0,23,0 63,0,32,0,31,0,5,0,67,0,19,0 16,0,36,0,24,0,46,0,51,0,71,0 39,0,58,0,47,0,45,0,61,0,7,0 48,0,9,0,6,0,74,0,12,0,14,0 43,0,18,0,50,0,59,0,44,0,65,0 70,0,25,0,57,0,53,0,64,0,62,0 69,0,3,0,22,0,56,0,30,0,68,0 19,0,76,0,49,0,72,0,80,0,26,0 42,0,2,0,79,0,34,0,5,0,77,0 54,0,17,0,58,0,78,0,29,0,32,0 46,0,75,0,52,0,28,0,33,0,38,0 35,0,13,0,7,0,16,0,73,0,21,0 63,0,4,0,55,0,36,0,15,0,39,0 27,0,45,0,41,0,8,0,20,0,66,0 61,0,1,0,23,0,67,0,37,0,24,0 40,0,11,0,10,0,31,0,51,0,60,0 71,0,76,0,14,0,47,0,81,0,25,0 12,0,65,0,29,0,74,0,26,0,64,0 57,0,50,0,75,0,32,0,3,0,54,0 5,0,43,0,17,0,16,0,4,0,35,0 52,0,34,0,56,0,8,0,78,0,39,0 19,0,6,0,69,0,18,0,7,0,23,0 10,0,13,0,27,0,62,0,58,0,67,0 47,0,80,0,70,0,37,0,41,0,11,0 2,0,77,0,66,0,38,0,63,0,49,0 9,0,68,0,24,0,21,0,48,0,31,0 1,0,73,0,33,0,40,0,36,0,20,0 81,0,60,0,79,0,51,0,53,0,61,0 28,0,71,0,42,0,15,0,30,0,44,0 45,0,22,0,72,0,59,0,55,0,46,0 39,0,62,0,43,0,64,0,12,0,80,0 57,0,63,0,26,0,58,0,69,0,41,0 76,0,10,0,67,0,6,0,8,0,68,0 11,0,13,0,20,0,17,0,75,0,21,0 19,0,9,0,33,0,27,0,78,0,50,0 70,0,49,0,2,0,81,0,16,0,31,0 14,0,32,0,36,0,45,0,28,0,34,0 44,0,72,0,1,0,54,0,79,0,51,0 74,0,22,0,42,0,18,0,24,0,73,0 52,0,29,0,15,0,47,0,3,0,5,0 77,0,53,0,46,0,56,0,55,0,7,0 37,0,59,0,23,0,71,0,48,0,35,0 30,0,65,0,38,0,40,0,4,0,25,0 60,0,61,0,6,0,66,0,13,0,33,0 21,0,44,0,26,0,34,0,81,0,57,0 51,0,63,0,39,0,54,0,14,0,20,0 10,0,32,0,9,0,18,0,79,0,15,0 45,0,55,0,77,0,1,0,68,0,74,0 73,0,64,0,19,0,71,0,52,0,41,0 27,0,5,0,38,0,50,0,7,0,37,0 40,0,16,0,30,0,78,0,12,0,67,0 22,0,65,0,48,0,61,0,8,0,47,0 17,0,72,0,70,0,43,0,42,0,60,0 24,0,3,0,28,0,53,0,80,0,66,0 49,0,62,0,75,0,76,0,35,0,69,0 4,0,31,0,23,0,46,0,56,0,29,0 58,0,36,0,11,0,25,0,2,0,59,0 30,0,34,0,37,0,81,0,9,0,63,0 68,0,16,0,20,0,79,0,6,0,47,0 55,0,40,0,50,0,48,0,41,0,70,0 5,0,14,0,57,0,33,0,80,0,65,0 49,0,13,0,22,0,71,0,43,0,54,0 61,0,3,0,62,0,38,0,44,0,78,0 56,0,39,0,72,0,10,0,35,0,24,0 59,0,32,0,77,0,69,0,12,0,21,0 7,0,27,0,31,0,75,0,42,0,64,0 51,0,66,0,17,0,52,0,23,0,53,0 74,0,11,0,8,0,36,0,4,0,46,0 45,0,19,0,2,0,73,0,29,0,25,0 1,0,67,0,60,0,26,0,28,0,18,0 15,0,76,0,62,0,58,0,65,0,24,0 56,0,59,0,16,0,63,0,79,0,33,0 80,0,7,0,9,0,13,0,32,0,55,0 54,0,47,0,37,0,40,0,64,0,77,0 66,0,3,0,21,0,14,0,10,0,70,0 29,0,53,0,41,0,39,0,68,0,42,0 25,0,74,0,43,0,51,0,23,0,27,0 18,0,44,0,4,0,2,0,48,0,20,0 36,0,81,0,72,0,67,0,52,0,69,0 73,0,76,0,46,0,61,0,34,0,17,0 11,0,15,0,28,0,50,0,6,0,49,0 19,0,38,0,58,0,22,0,30,0,60,0 8,0,35,0,12,0,1,0,57,0,31,0 71,0,75,0,78,0,26,0,5,0,45,0 ================================================ FILE: schedules/81_13.csv ================================================ 67,0,58,0,51,0,57,0,13,0,12,0 4,0,48,0,64,0,31,0,21,0,71,0 65,0,38,0,81,0,54,0,69,0,80,0 55,0,6,0,24,0,61,0,60,0,18,0 41,0,76,0,62,0,34,0,53,0,56,0 14,0,43,0,37,0,78,0,36,0,8,0 39,0,49,0,7,0,20,0,40,0,5,0 26,0,66,0,17,0,35,0,46,0,9,0 75,0,2,0,70,0,19,0,44,0,73,0 3,0,42,0,15,0,74,0,47,0,29,0 1,0,72,0,22,0,33,0,10,0,23,0 77,0,79,0,59,0,50,0,30,0,27,0 52,0,11,0,16,0,68,0,45,0,28,0 25,0,32,0,8,0,63,0,39,0,24,0 36,0,58,0,66,0,34,0,64,0,80,0 81,0,55,0,78,0,65,0,71,0,73,0 17,0,75,0,60,0,47,0,41,0,7,0 56,0,46,0,12,0,14,0,3,0,31,0 38,0,43,0,40,0,79,0,2,0,30,0 23,0,61,0,42,0,4,0,5,0,59,0 35,0,69,0,53,0,37,0,72,0,70,0 57,0,50,0,19,0,21,0,16,0,20,0 63,0,74,0,22,0,62,0,18,0,33,0 67,0,9,0,52,0,6,0,11,0,25,0 51,0,45,0,32,0,68,0,10,0,1,0 49,0,77,0,28,0,76,0,15,0,44,0 13,0,27,0,29,0,48,0,26,0,54,0 65,1,30,0,42,0,7,1,72,0,38,0 46,1,36,0,21,0,58,0,5,0,79,0 74,0,12,0,64,0,40,0,4,0,17,0 59,0,69,0,23,0,18,0,14,0,80,0 71,0,33,0,50,0,73,0,70,0,62,0 34,0,44,0,39,0,16,0,45,0,81,0 3,0,26,0,27,0,25,0,78,0,1,0 35,0,63,0,68,0,57,0,29,0,6,0 47,0,24,0,19,0,76,0,66,0,11,0 54,0,61,0,32,0,75,0,56,0,28,0 67,0,15,0,37,0,20,0,55,0,60,0 48,0,52,0,22,0,51,0,43,0,53,0 8,0,41,0,10,0,13,0,31,0,77,0 9,0,2,0,78,0,49,0,62,0,45,0 68,0,72,0,73,0,26,0,12,0,58,0 70,0,30,0,38,0,36,0,47,0,25,0 71,0,29,0,76,0,69,0,44,0,40,0 19,0,80,0,28,0,67,0,33,0,55,0 6,0,56,0,16,0,64,0,81,0,27,0 31,0,39,0,43,0,74,0,51,0,23,0 20,0,77,0,1,0,61,0,35,0,2,0 4,0,41,0,79,0,3,0,11,0,37,0 54,0,22,0,7,0,24,0,9,0,14,0 75,0,13,0,59,0,34,0,49,0,46,0 5,0,53,0,8,0,18,0,57,0,15,0 60,0,66,0,10,0,63,0,48,0,42,0 50,0,21,0,52,0,32,0,65,0,17,0 47,0,62,0,28,0,35,0,39,0,27,0 69,0,56,0,36,0,4,0,74,0,73,0 58,0,7,0,81,0,77,0,33,0,22,0 37,0,29,0,19,0,64,0,59,0,61,0 5,0,44,0,38,0,6,0,53,0,1,0 2,0,24,0,23,0,63,0,46,0,79,0 75,0,40,0,10,0,78,0,67,0,57,0 43,0,34,0,68,0,15,0,60,0,65,0 17,0,14,0,45,0,80,0,30,0,13,0 71,0,41,0,20,0,66,0,52,0,18,0 16,0,26,0,51,0,8,0,3,0,49,0 32,0,21,0,76,0,42,0,72,0,9,0 70,0,48,0,55,0,11,0,12,0,54,0 50,0,31,0,81,0,25,0,53,0,75,0 62,0,36,0,39,0,10,0,15,0,6,0 28,0,64,0,57,0,73,0,47,0,23,0 67,0,2,0,65,0,22,0,66,0,56,0 37,0,46,0,27,0,49,0,71,0,51,0 7,0,8,0,63,0,35,0,19,0,58,0 44,0,79,0,32,0,33,0,74,0,14,0 4,0,1,0,80,0,70,0,40,0,60,0 21,0,43,0,55,0,16,0,25,0,13,0 18,0,42,0,11,0,77,0,54,0,34,0 48,0,61,0,72,0,50,0,41,0,78,0 9,0,5,0,30,0,29,0,52,0,31,0 17,0,68,0,24,0,20,0,3,0,69,0 76,0,45,0,12,0,59,0,38,0,26,0 47,0,27,0,80,0,10,0,44,0,53,0 63,0,56,0,21,0,7,0,43,0,75,0 23,0,14,0,67,0,71,0,16,0,35,0 51,0,62,0,77,0,65,0,19,0,4,0 29,0,39,0,58,0,50,0,60,0,2,0 37,0,54,0,73,0,30,0,52,0,34,0 6,0,20,0,46,0,76,0,72,0,8,0 49,0,70,0,31,0,42,0,68,0,79,0 26,0,11,0,22,0,36,0,17,0,61,0 40,0,57,0,55,0,41,0,33,0,45,0 78,0,12,0,5,0,25,0,69,0,66,0 28,0,59,0,81,0,48,0,24,0,74,0 13,0,64,0,18,0,1,0,32,0,3,0 9,0,15,0,39,0,38,0,56,0,58,0 6,0,51,0,73,0,21,0,77,0,80,0 72,0,79,0,53,0,67,0,17,0,29,0 52,0,10,0,4,0,7,0,55,0,46,0 22,0,69,0,49,0,30,0,41,0,60,0 59,0,31,0,33,0,11,0,20,0,78,0 28,0,66,0,23,0,13,0,8,0,62,0 14,0,38,0,34,0,68,0,27,0,48,0 43,0,74,0,57,0,19,0,1,0,61,0 37,0,65,0,44,0,42,0,24,0,12,0 2,0,15,0,25,0,64,0,35,0,54,0 50,0,70,0,5,0,81,0,63,0,76,0 47,0,40,0,16,0,26,0,18,0,32,0 36,0,71,0,3,0,75,0,45,0,9,0 78,0,60,0,62,0,46,0,52,0,38,0 1,0,79,0,8,0,68,0,59,0,56,0 41,0,6,0,37,0,58,0,65,0,74,0 67,0,49,0,53,0,54,0,21,0,39,0 29,0,66,0,30,0,57,0,81,0,23,0 73,0,5,0,80,0,43,0,11,0,35,0 25,0,42,0,40,0,28,0,48,0,20,0 32,0,22,0,36,0,44,0,55,0,31,0 69,0,24,0,26,0,33,0,75,0,64,0 16,0,12,0,77,0,47,0,9,0,63,0 51,0,2,0,27,0,72,0,18,0,17,0 45,0,50,0,4,0,15,0,19,0,14,0 61,0,71,0,70,0,34,0,13,0,7,0 3,0,10,0,58,0,76,0,59,0,40,0 73,0,41,0,48,0,32,0,46,0,5,0 64,0,44,0,11,0,43,0,62,0,30,0 33,0,53,0,60,0,36,0,12,0,9,0 55,0,23,0,49,0,6,0,17,0,38,0 81,0,20,0,29,0,21,0,51,0,14,0 61,0,15,0,69,0,63,0,27,0,52,0 54,0,79,0,65,0,26,0,10,0,71,0 80,0,3,0,2,0,7,0,31,0,28,0 78,0,13,0,68,0,22,0,39,0,19,0 47,0,42,0,45,0,50,0,67,0,8,0 76,0,75,0,1,0,16,0,37,0,66,0 18,0,4,0,34,0,72,0,35,0,25,0 74,0,77,0,56,0,70,0,24,0,57,0 44,0,26,0,21,0,15,0,23,0,41,0 71,0,59,0,12,0,2,0,6,0,32,0 68,0,19,0,46,0,40,0,53,0,36,0 60,0,38,0,64,0,28,0,51,0,5,0 61,0,33,0,66,0,30,0,3,0,39,0 50,0,34,0,9,0,69,0,55,0,8,0 11,0,65,0,1,0,14,0,63,0,49,0 25,0,10,0,37,0,56,0,29,0,73,0 48,0,18,0,67,0,17,0,76,0,7,0 45,0,70,0,20,0,27,0,22,0,43,0 42,0,35,0,13,0,52,0,79,0,81,0 62,0,72,0,31,0,57,0,54,0,47,0 78,0,80,0,58,0,16,0,24,0,4,0 75,0,74,0,66,0,77,0,68,0,55,0 5,0,26,0,33,0,37,0,2,0,56,0 60,0,32,0,34,0,3,0,23,0,19,0 71,0,46,0,30,0,28,0,21,0,1,0 13,0,40,0,73,0,53,0,65,0,63,0 59,0,25,0,17,0,44,0,57,0,62,0 20,0,79,0,47,0,48,0,6,0,69,0 4,0,29,0,11,0,16,0,22,0,38,0 14,0,52,0,72,0,77,0,39,0,75,0 8,0,12,0,15,0,61,0,80,0,81,0 7,0,78,0,35,0,51,0,76,0,54,0 31,0,42,0,74,0,58,0,45,0,27,0 49,0,18,0,24,0,36,0,50,0,43,0 9,0,64,0,41,0,10,0,70,0,67,0 63,0,20,0,32,0,4,0,26,0,30,0 11,0,60,0,56,0,44,0,72,0,13,0 68,0,39,0,57,0,48,0,37,0,80,0 73,0,16,0,15,0,59,0,66,0,7,0 76,0,23,0,27,0,52,0,33,0,65,0 3,0,54,0,46,0,77,0,6,0,43,0 34,0,17,0,71,0,31,0,24,0,5,0 69,0,51,0,47,0,58,0,61,0,40,0 19,0,78,0,18,0,79,0,9,0,28,0 1,0,81,0,62,0,36,0,41,0,67,0 75,0,38,0,21,0,70,0,8,0,22,0 35,0,74,0,10,0,50,0,12,0,49,0 14,0,55,0,53,0,2,0,64,0,42,0 29,0,25,0,7,0,45,0,65,0,46,0 ================================================ FILE: schedules/81_14.csv ================================================ 55,0,24,0,10,0,37,0,19,0,56,0 67,0,33,0,41,0,69,0,32,0,3,0 21,0,17,0,46,0,63,0,48,0,22,0 23,0,74,0,2,0,62,0,36,0,76,0 29,0,15,0,26,0,53,0,61,0,72,0 11,0,7,0,81,0,52,0,43,0,6,0 71,0,59,0,1,0,73,0,42,0,12,0 64,0,30,0,39,0,20,0,60,0,16,0 49,0,54,0,77,0,18,0,45,0,8,0 28,0,4,0,31,0,70,0,44,0,40,0 50,0,14,0,78,0,68,0,38,0,79,0 27,0,66,0,47,0,5,0,57,0,35,0 75,0,9,0,65,0,80,0,25,0,34,0 51,0,13,0,22,0,58,0,24,0,19,0 61,0,63,0,30,0,2,0,81,0,32,0 60,0,67,0,17,0,36,0,53,0,49,0 7,0,40,0,29,0,73,0,37,0,39,0 6,0,15,0,1,0,62,0,14,0,46,0 72,0,74,0,11,0,21,0,68,0,59,0 77,0,27,0,34,0,33,0,38,0,48,0 28,0,75,0,76,0,10,0,42,0,8,0 31,0,58,0,9,0,20,0,5,0,47,0 16,0,79,0,25,0,71,0,54,0,66,0 80,0,50,0,52,0,56,0,41,0,51,0 3,0,13,0,43,0,4,0,78,0,26,0 69,0,70,0,57,0,64,0,12,0,18,0 23,0,65,0,44,0,45,0,35,0,55,0 61,0,29,0,39,0,77,0,46,0,6,0 58,0,36,0,2,0,11,0,34,0,28,0 79,0,10,0,76,0,32,0,47,0,17,0 59,0,30,0,60,0,62,0,50,0,27,0 51,0,20,0,37,0,14,0,74,0,3,0 5,0,15,0,70,0,22,0,68,0,25,0 4,0,38,0,66,0,52,0,73,0,63,0 43,0,1,0,69,0,55,0,13,0,65,0 81,0,54,0,64,0,44,0,72,0,75,0 49,0,42,0,9,0,7,0,48,0,26,0 67,0,80,0,53,0,21,0,57,0,45,0 41,0,78,0,35,0,16,0,24,0,18,0 40,0,8,0,12,0,23,0,33,0,19,0 56,0,31,0,11,0,71,0,60,0,34,0 59,0,17,0,73,0,70,0,3,0,77,0 29,0,32,0,52,0,27,0,15,0,36,0 46,0,75,0,66,0,68,0,37,0,2,0 53,0,22,0,5,0,54,0,4,0,7,0 47,0,21,0,72,0,65,0,78,0,1,0 30,0,62,0,41,0,45,0,43,0,12,0 74,0,42,0,6,0,38,0,56,0,49,0 23,0,24,0,63,0,20,0,64,0,80,0 57,0,48,0,28,0,13,0,69,0,31,0 35,0,10,0,18,0,33,0,9,0,14,0 26,0,40,0,39,0,81,0,51,0,79,0 76,0,16,0,71,0,44,0,19,0,67,0 25,0,58,0,8,0,55,0,50,0,61,0 70,0,41,0,68,0,6,0,49,0,21,0 12,0,47,0,37,0,54,0,15,0,60,0 38,0,23,0,45,0,29,0,66,0,69,0 62,0,13,0,1,0,80,0,17,0,10,0 48,0,73,0,43,0,14,0,24,0,28,0 33,0,4,0,32,0,81,0,16,0,65,0 36,0,19,0,39,0,75,0,59,0,31,0 5,0,9,0,61,0,74,0,67,0,40,0 51,0,27,0,58,0,64,0,53,0,78,0 55,0,34,0,42,0,52,0,46,0,57,0 8,0,56,0,22,0,30,0,35,0,2,0 76,0,25,0,44,0,11,0,63,0,3,0 18,0,7,0,50,0,79,0,20,0,72,0 26,0,71,0,47,0,77,0,80,0,23,0 49,0,24,0,62,0,65,0,29,0,4,0 70,0,38,0,54,0,1,0,67,0,58,0 75,0,34,0,14,0,69,0,5,0,59,0 21,0,36,0,12,0,81,0,9,0,66,0 2,0,43,0,61,0,73,0,31,0,19,0 40,0,3,0,50,0,45,0,16,0,22,0 68,0,17,0,63,0,71,0,18,0,27,0 6,0,79,0,64,0,42,0,13,0,33,0 10,0,7,0,28,0,15,0,51,0,30,0 8,0,32,0,57,0,78,0,37,0,48,0 20,0,25,0,39,0,35,0,52,0,76,0 74,0,41,0,55,0,77,0,11,0,53,0 26,0,72,0,46,0,56,0,60,0,44,0 27,0,49,0,12,0,73,0,75,0,47,0 3,0,36,0,68,0,64,0,58,0,42,0 54,0,51,0,18,0,21,0,34,0,61,0 16,0,7,0,78,0,17,0,14,0,23,0 38,0,15,0,62,0,13,0,9,0,20,0 32,0,19,0,35,0,28,0,80,0,74,0 33,0,22,0,66,0,55,0,31,0,71,0 59,0,43,0,56,0,29,0,67,0,63,0 2,0,40,0,10,0,70,0,26,0,6,0 79,0,57,0,41,0,44,0,30,0,46,0 60,0,5,0,50,0,24,0,52,0,1,0 69,0,65,0,11,0,53,0,39,0,8,0 48,0,76,0,72,0,4,0,37,0,45,0 77,0,25,0,19,0,81,0,62,0,42,0 31,0,22,0,34,0,80,0,29,0,16,0 6,0,35,0,58,0,32,0,75,0,67,0 49,0,73,0,78,0,44,0,33,0,10,0 71,0,70,0,20,0,51,0,43,0,60,0 26,0,61,0,57,0,50,0,36,0,65,0 41,0,59,0,15,0,55,0,54,0,40,0 45,0,27,0,13,0,7,0,2,0,21,0 79,0,9,0,63,0,28,0,53,0,37,0 4,0,5,0,72,0,46,0,38,0,8,0 11,0,17,0,25,0,24,0,30,0,12,0 56,0,66,0,14,0,76,0,64,0,77,0 68,0,39,0,48,0,3,0,1,0,23,0 52,0,74,0,81,0,69,0,47,0,18,0 33,0,78,0,45,0,59,0,22,0,20,0 7,0,75,0,70,0,62,0,61,0,16,0 65,0,79,0,60,0,2,0,67,0,15,0 17,0,26,0,28,0,25,0,38,0,55,0 51,0,12,0,53,0,49,0,46,0,35,0 32,0,77,0,42,0,31,0,50,0,72,0 13,0,73,0,18,0,23,0,11,0,5,0 48,0,80,0,21,0,40,0,30,0,52,0 6,0,69,0,56,0,4,0,36,0,47,0 66,0,74,0,10,0,58,0,39,0,43,0 14,0,29,0,71,0,3,0,8,0,54,0 1,0,34,0,68,0,81,0,24,0,44,0 63,0,64,0,57,0,9,0,19,0,41,0 37,0,76,0,55,0,27,0,5,0,78,0 48,0,16,0,51,0,38,0,59,0,2,0 52,0,33,0,56,0,17,0,53,0,70,0 73,0,36,0,69,0,35,0,79,0,22,0 62,0,66,0,11,0,14,0,26,0,32,0 4,0,21,0,77,0,15,0,25,0,12,0 8,0,19,0,29,0,68,0,9,0,60,0 61,0,20,0,67,0,72,0,10,0,41,0 24,0,74,0,13,0,3,0,75,0,45,0 37,0,50,0,57,0,28,0,81,0,23,0 64,0,49,0,47,0,34,0,43,0,40,0 71,0,63,0,46,0,58,0,7,0,65,0 44,0,39,0,54,0,42,0,27,0,80,0 30,0,6,0,18,0,31,0,1,0,76,0 32,0,51,0,55,0,73,0,9,0,4,0 53,0,26,0,56,0,68,0,5,0,16,0 25,0,28,0,78,0,45,0,60,0,41,0 67,0,22,0,52,0,12,0,77,0,14,0 19,0,61,0,74,0,48,0,79,0,17,0 11,0,33,0,43,0,75,0,54,0,23,0 31,0,3,0,81,0,27,0,10,0,46,0 18,0,42,0,44,0,40,0,65,0,66,0 2,0,20,0,1,0,29,0,57,0,49,0 58,0,80,0,59,0,7,0,8,0,6,0 35,0,47,0,39,0,70,0,63,0,13,0 72,0,24,0,38,0,36,0,30,0,71,0 62,0,21,0,37,0,69,0,76,0,34,0 15,0,46,0,73,0,50,0,64,0,74,0 51,0,45,0,17,0,43,0,5,0,42,0 60,0,55,0,75,0,18,0,32,0,48,0 33,0,58,0,57,0,56,0,7,0,25,0 3,0,78,0,12,0,61,0,31,0,6,0 36,0,16,0,63,0,77,0,1,0,10,0 52,0,65,0,20,0,28,0,54,0,68,0 23,0,72,0,27,0,9,0,22,0,70,0 69,0,19,0,71,0,15,0,49,0,50,0 24,0,64,0,37,0,67,0,26,0,21,0 4,0,14,0,2,0,39,0,41,0,80,0 35,0,81,0,40,0,11,0,38,0,29,0 53,0,13,0,34,0,76,0,66,0,30,0 44,0,79,0,47,0,8,0,62,0,59,0 16,0,6,0,3,0,28,0,55,0,72,0 73,0,56,0,65,0,12,0,48,0,20,0 63,0,31,0,25,0,67,0,49,0,51,0 42,0,4,0,60,0,58,0,23,0,61,0 45,0,19,0,1,0,26,0,27,0,52,0 78,0,54,0,30,0,9,0,74,0,69,0 21,0,5,0,75,0,29,0,79,0,50,0 46,0,24,0,76,0,59,0,33,0,70,0 62,0,35,0,77,0,40,0,68,0,57,0 8,0,15,0,17,0,34,0,66,0,41,0 53,0,81,0,14,0,2,0,13,0,71,0 7,0,22,0,64,0,11,0,47,0,10,0 80,0,37,0,44,0,18,0,43,0,36,0 32,0,38,0,21,0,39,0,56,0,12,0 16,0,49,0,23,0,58,0,79,0,52,0 68,0,72,0,33,0,63,0,51,0,62,0 20,0,40,0,4,0,27,0,17,0,75,0 9,0,59,0,28,0,1,0,61,0,66,0 10,0,48,0,6,0,35,0,54,0,50,0 42,0,31,0,65,0,41,0,13,0,37,0 45,0,64,0,5,0,71,0,39,0,32,0 38,0,22,0,60,0,43,0,76,0,57,0 67,0,34,0,8,0,26,0,74,0,73,0 18,0,19,0,53,0,25,0,47,0,3,0 80,0,46,0,81,0,15,0,11,0,78,0 30,0,70,0,14,0,36,0,29,0,55,0 69,0,44,0,7,0,77,0,24,0,2,0 ================================================ FILE: schedules/81_2.csv ================================================ 8,0,5,0,33,0,27,0,15,0,43,0 3,0,46,0,12,0,75,0,31,0,67,0 62,0,50,0,76,0,49,0,54,0,57,0 30,0,37,0,58,0,23,0,81,0,71,0 11,0,25,0,56,0,35,0,22,0,38,0 55,0,69,0,74,0,32,0,2,0,51,0 60,0,61,0,52,0,73,0,20,0,47,0 39,0,63,0,36,0,65,0,77,0,9,0 7,0,14,0,16,0,72,0,80,0,68,0 19,0,79,0,10,0,34,0,17,0,45,0 1,0,42,0,48,0,64,0,41,0,24,0 66,0,6,0,26,0,59,0,70,0,40,0 78,0,21,0,4,0,28,0,13,0,53,0 44,0,18,0,20,0,29,0,76,0,43,0 9,0,61,0,57,0,56,0,12,0,37,0 71,0,77,0,67,0,69,0,33,0,60,0 81,0,32,0,5,0,62,0,79,0,7,0 30,0,49,0,16,0,63,0,42,0,3,0 26,0,17,0,1,0,52,0,8,0,58,0 68,0,64,0,47,0,10,0,65,0,70,0 35,0,45,0,44,0,23,0,24,0,4,0 73,0,22,0,53,0,40,0,36,0,48,0 59,0,28,0,27,0,46,0,11,0,50,0 29,0,80,0,21,0,19,0,55,0,6,0 38,0,14,0,39,0,18,0,78,0,51,0 34,0,54,0,2,0,31,0,25,0,66,0 13,0,72,0,75,0,41,0,74,0,15,0 ================================================ FILE: schedules/81_3.csv ================================================ 2,0,9,0,57,0,70,0,6,0,43,0 26,0,65,0,76,0,42,0,22,0,78,0 72,0,17,0,58,0,69,0,10,0,18,0 63,0,59,0,48,0,21,0,27,0,25,0 52,0,61,0,37,0,66,0,54,0,47,0 40,0,79,0,34,0,23,0,50,0,20,0 77,0,13,0,36,0,19,0,16,0,14,0 24,0,51,0,33,0,45,0,7,0,64,0 41,0,32,0,5,0,46,0,1,0,44,0 28,0,11,0,49,0,31,0,12,0,38,0 75,0,3,0,56,0,4,0,55,0,73,0 15,0,62,0,67,0,30,0,81,0,35,0 68,0,60,0,80,0,53,0,39,0,71,0 29,0,8,0,22,0,74,0,58,0,40,0 51,1,50,0,21,0,9,1,65,0,66,0 23,1,26,0,16,0,6,0,64,0,46,0 43,0,37,0,14,0,11,0,25,0,41,0 54,0,38,0,76,0,5,0,79,0,45,0 24,0,55,0,35,0,31,0,52,0,42,0 18,0,20,0,13,0,3,0,59,0,60,0 7,0,72,0,48,0,62,0,57,0,61,0 67,0,8,0,77,0,73,0,63,0,28,0 68,0,10,0,44,0,70,0,12,0,36,0 69,0,32,0,49,0,27,0,80,0,74,0 39,0,19,0,47,0,75,0,30,0,29,0 56,0,15,0,33,0,53,0,2,0,17,0 1,0,71,0,34,0,81,0,78,0,4,0 16,0,48,0,60,0,55,0,51,0,11,0 73,0,14,0,46,0,40,0,65,0,61,0 43,0,31,0,58,0,20,0,5,0,21,0 22,0,9,0,79,0,62,0,37,0,49,0 75,0,38,0,35,0,68,0,63,0,69,0 13,0,7,0,52,0,23,0,29,0,15,0 57,0,44,0,54,0,24,0,30,0,26,0 74,0,39,0,25,0,76,0,1,0,56,0 6,0,4,0,12,0,42,0,8,0,33,0 81,0,47,0,28,0,72,0,50,0,36,0 53,0,78,0,45,0,19,0,32,0,10,0 27,0,41,0,17,0,3,0,67,0,70,0 64,0,66,0,2,0,59,0,80,0,34,0 71,0,51,0,23,0,77,0,18,0,9,0 ================================================ FILE: schedules/81_4.csv ================================================ 18,0,42,0,58,0,2,0,38,0,49,0 73,0,29,0,36,0,12,0,80,0,70,0 47,0,71,0,60,0,7,0,8,0,37,0 35,0,56,0,54,0,25,0,61,0,3,0 67,0,24,0,15,0,63,0,77,0,45,0 51,0,68,0,69,0,62,0,20,0,72,0 81,0,6,0,33,0,74,0,64,0,9,0 11,0,16,0,32,0,30,0,52,0,1,0 14,0,13,0,22,0,10,0,28,0,17,0 43,0,78,0,55,0,46,0,31,0,48,0 19,0,41,0,76,0,21,0,57,0,23,0 5,0,59,0,65,0,53,0,40,0,26,0 44,0,39,0,27,0,4,0,66,0,79,0 50,0,75,0,2,0,34,0,33,0,36,0 16,0,69,0,63,0,9,0,58,0,25,0 77,0,60,0,81,0,11,0,54,0,38,0 62,0,45,0,48,0,47,0,35,0,22,0 3,0,17,0,42,0,76,0,1,0,55,0 5,0,31,0,21,0,51,0,14,0,74,0 46,0,20,0,10,0,73,0,44,0,40,0 61,0,53,0,78,0,70,0,68,0,32,0 23,0,7,0,28,0,52,0,66,0,34,0 26,0,29,0,15,0,75,0,49,0,39,0 13,0,80,0,72,0,71,0,41,0,67,0 18,0,50,0,43,0,79,0,57,0,65,0 4,0,24,0,8,0,6,0,19,0,56,0 12,0,27,0,37,0,64,0,30,0,59,0 40,0,61,0,1,0,22,0,81,0,21,0 47,0,9,0,66,0,11,0,3,0,73,0 48,0,36,0,53,0,7,0,16,0,54,0 39,0,14,0,45,0,41,0,20,0,78,0 68,0,71,0,34,0,18,0,15,0,74,0 55,0,57,0,8,0,28,0,75,0,51,0 44,0,38,0,35,0,13,0,69,0,65,0 49,0,12,0,67,0,50,0,56,0,52,0 70,0,30,0,31,0,10,0,76,0,58,0 25,0,27,0,5,0,80,0,24,0,60,0 64,0,46,0,79,0,29,0,17,0,19,0 77,0,6,0,62,0,23,0,2,0,37,0 63,0,33,0,32,0,26,0,72,0,43,0 59,0,4,0,48,0,42,0,69,0,75,0 7,0,51,0,22,0,73,0,49,0,65,0 56,0,55,0,58,0,36,0,14,0,81,0 45,0,8,0,66,0,18,0,30,0,5,0 41,0,34,0,64,0,24,0,44,0,53,0 20,0,70,0,19,0,27,0,15,0,11,0 17,0,54,0,52,0,6,0,21,0,26,0 16,0,57,0,60,0,78,0,59,0,72,0 3,0,63,0,79,0,40,0,31,0,37,0 23,0,13,0,29,0,33,0,68,0,25,0 38,0,1,0,43,0,10,0,62,0,4,0 80,0,50,0,39,0,46,0,42,0,32,0 74,0,2,0,47,0,61,0,67,0,76,0 35,0,9,0,28,0,71,0,12,0,77,0 ================================================ FILE: schedules/81_5.csv ================================================ 76,0,19,0,72,0,12,0,39,0,54,0 68,0,32,0,56,0,20,0,5,0,47,0 50,0,79,0,3,0,69,0,13,0,35,0 11,0,53,0,4,0,63,0,21,0,75,0 43,0,31,0,18,0,33,0,16,0,73,0 23,0,52,0,14,0,34,0,26,0,44,0 25,0,70,0,40,0,58,0,45,0,27,0 22,0,24,0,29,0,57,0,49,0,8,0 41,0,6,0,17,0,61,0,60,0,59,0 38,0,71,0,64,0,2,0,7,0,67,0 9,0,74,0,48,0,37,0,55,0,51,0 36,0,80,0,46,0,78,0,30,0,81,0 62,0,10,0,77,0,28,0,65,0,15,0 42,0,1,0,32,0,66,0,73,0,50,0 16,0,70,0,5,0,19,0,79,0,44,0 3,0,14,0,56,0,40,0,21,0,43,0 69,0,58,0,60,0,11,0,8,0,23,0 76,0,24,0,67,0,61,0,52,0,4,0 30,0,53,0,27,0,26,0,31,0,29,0 63,0,17,0,33,0,62,0,25,0,38,0 57,0,55,0,7,0,41,0,66,0,10,0 39,0,59,0,2,0,75,0,48,0,77,0 80,0,12,0,64,0,74,0,20,0,42,0 47,0,49,0,54,0,6,0,36,0,51,0 68,0,15,0,1,0,81,0,35,0,18,0 46,0,13,0,37,0,34,0,28,0,72,0 22,0,45,0,78,0,71,0,65,0,9,0 30,1,25,0,5,0,11,1,76,0,10,0 40,1,66,0,60,0,79,0,39,0,52,0 80,0,61,0,73,0,21,0,8,0,55,0 48,0,31,0,56,0,24,0,12,0,62,0 15,0,54,0,53,0,38,0,23,0,70,0 17,0,49,0,81,0,19,0,7,0,3,0 29,0,46,0,9,0,1,0,6,0,69,0 45,0,43,0,50,0,74,0,34,0,2,0 36,0,57,0,75,0,68,0,14,0,16,0 78,0,77,0,33,0,37,0,41,0,44,0 27,0,51,0,67,0,65,0,35,0,20,0 72,0,59,0,4,0,64,0,32,0,22,0 18,0,71,0,28,0,58,0,42,0,63,0 26,0,47,0,7,0,13,0,11,0,80,0 62,0,23,0,49,0,79,0,73,0,76,0 25,0,21,0,54,0,50,0,68,0,46,0 33,0,6,0,66,0,14,0,19,0,8,0 41,0,5,0,67,0,69,0,39,0,74,0 35,0,10,0,12,0,53,0,45,0,16,0 18,0,75,0,55,0,56,0,78,0,29,0 20,0,9,0,44,0,40,0,36,0,72,0 51,0,52,0,38,0,31,0,59,0,58,0 24,0,1,0,37,0,3,0,64,0,70,0 63,0,60,0,34,0,32,0,48,0,15,0 28,0,2,0,81,0,61,0,26,0,22,0 57,0,47,0,4,0,77,0,27,0,71,0 42,0,13,0,65,0,30,0,43,0,17,0 39,0,20,0,29,0,23,0,10,0,21,0 59,0,50,0,62,0,18,0,53,0,80,0 7,0,69,0,73,0,75,0,70,0,72,0 34,0,38,0,19,0,24,0,68,0,78,0 35,0,2,0,66,0,11,0,37,0,36,0 76,0,26,0,51,0,40,0,77,0,1,0 45,0,30,0,48,0,3,0,47,0,41,0 44,0,74,0,71,0,56,0,54,0,60,0 25,0,14,0,15,0,49,0,4,0,42,0 58,0,81,0,12,0,67,0,13,0,9,0 63,0,43,0,22,0,27,0,5,0,46,0 8,0,52,0,16,0,28,0,17,0,64,0 79,0,65,0,32,0,55,0,31,0,6,0 61,0,30,0,40,0,57,0,33,0,11,0 ================================================ FILE: schedules/81_6.csv ================================================ 32,0,52,0,51,0,30,0,15,0,26,0 55,0,41,0,16,0,31,0,46,0,19,0 71,0,80,0,23,0,54,0,60,0,67,0 7,0,22,0,47,0,35,0,78,0,5,0 20,0,39,0,48,0,58,0,18,0,69,0 40,0,70,0,12,0,63,0,61,0,33,0 4,0,62,0,17,0,34,0,50,0,24,0 45,0,73,0,57,0,66,0,28,0,3,0 59,0,75,0,25,0,29,0,38,0,79,0 68,0,77,0,72,0,6,0,81,0,74,0 56,0,36,0,43,0,13,0,44,0,1,0 21,0,49,0,65,0,8,0,14,0,42,0 64,0,11,0,10,0,37,0,27,0,53,0 76,0,2,0,31,0,9,0,80,0,39,0 28,0,46,0,18,0,22,0,26,0,62,0 78,0,34,0,54,0,58,0,16,0,12,0 72,0,17,0,61,0,7,0,48,0,55,0 73,0,23,0,44,0,47,0,63,0,29,0 6,0,14,0,5,0,32,0,36,0,70,0 75,0,15,0,56,0,45,0,65,0,37,0 60,0,19,0,3,0,49,0,53,0,68,0 24,0,27,0,59,0,43,0,41,0,57,0 66,0,10,0,4,0,42,0,79,0,76,0 67,0,77,0,64,0,2,0,69,0,50,0 51,0,71,0,9,0,35,0,21,0,25,0 11,0,33,0,81,0,13,0,52,0,20,0 8,0,30,0,38,0,1,0,74,0,40,0 6,0,60,0,18,0,75,0,73,0,31,0 62,0,54,0,49,0,47,0,39,0,15,0 3,0,79,0,46,0,12,0,37,0,44,0 78,0,17,0,29,0,67,0,66,0,36,0 45,0,21,0,43,0,4,0,77,0,63,0 53,0,28,0,65,0,59,0,32,0,71,0 69,0,25,0,8,0,55,0,33,0,24,0 76,0,41,0,48,0,5,0,1,0,51,0 34,0,40,0,7,0,23,0,27,0,56,0 16,0,57,0,72,0,13,0,30,0,2,0 74,0,70,0,9,0,11,0,42,0,26,0 58,0,10,0,50,0,81,0,19,0,35,0 68,0,22,0,61,0,64,0,14,0,52,0 80,0,38,0,63,0,20,0,62,0,32,0 33,0,67,0,18,0,41,0,45,0,79,0 49,0,51,0,31,0,37,0,69,0,4,0 60,0,13,0,40,0,17,0,15,0,76,0 47,0,12,0,77,0,56,0,53,0,25,0 43,0,71,0,42,0,5,0,50,0,75,0 72,0,46,0,27,0,21,0,1,0,66,0 8,0,58,0,68,0,2,0,11,0,23,0 64,0,65,0,55,0,70,0,20,0,78,0 14,0,81,0,26,0,7,0,38,0,57,0 35,0,30,0,3,0,29,0,80,0,24,0 22,0,54,0,9,0,6,0,19,0,44,0 48,0,59,0,36,0,73,0,52,0,16,0 34,0,74,0,39,0,61,0,10,0,28,0 33,0,58,0,77,0,60,0,27,0,62,0 78,0,15,0,69,0,71,0,63,0,72,0 1,0,47,0,26,0,50,0,55,0,68,0 49,0,20,0,30,0,23,0,75,0,41,0 29,0,6,0,7,0,46,0,42,0,2,0 37,0,35,0,66,0,48,0,40,0,43,0 56,0,81,0,31,0,79,0,54,0,61,0 59,0,19,0,80,0,70,0,17,0,8,0 44,0,24,0,28,0,14,0,67,0,51,0 39,0,5,0,52,0,57,0,12,0,4,0 16,0,45,0,25,0,74,0,32,0,64,0 34,0,53,0,21,0,36,0,38,0,22,0 3,0,13,0,10,0,9,0,65,0,18,0 11,0,73,0,61,0,76,0,78,0,77,0 19,0,23,0,79,0,26,0,43,0,69,0 50,0,14,0,60,0,72,0,29,0,20,0 37,0,58,0,42,0,67,0,30,0,59,0 80,0,12,0,75,0,51,0,7,0,64,0 38,0,52,0,24,0,46,0,45,0,47,0 53,0,74,0,13,0,62,0,5,0,66,0 63,0,6,0,11,0,3,0,25,0,48,0 4,0,27,0,9,0,8,0,36,0,28,0 2,0,44,0,55,0,34,0,71,0,18,0 56,0,70,0,16,0,22,0,49,0,76,0 33,0,54,0,1,0,65,0,35,0,17,0 32,0,39,0,41,0,81,0,40,0,73,0 68,0,15,0,57,0,31,0,21,0,10,0 ================================================ FILE: schedules/81_7.csv ================================================ 79,0,70,0,39,0,43,0,38,0,3,0 77,0,72,0,1,0,21,0,71,0,23,0 9,0,31,0,80,0,55,0,61,0,11,0 29,0,32,0,73,0,78,0,7,0,44,0 47,0,5,0,48,0,75,0,56,0,65,0 8,0,33,0,66,0,59,0,18,0,37,0 60,0,28,0,25,0,35,0,52,0,14,0 81,0,45,0,13,0,30,0,57,0,36,0 69,0,4,0,40,0,20,0,19,0,62,0 68,0,41,0,26,0,67,0,50,0,24,0 46,0,16,0,49,0,51,0,58,0,2,0 53,0,27,0,12,0,64,0,10,0,54,0 15,0,42,0,34,0,76,0,6,0,74,0 63,0,17,0,78,0,22,0,61,0,18,0 47,0,45,0,31,0,60,0,1,0,38,0 52,0,43,0,9,0,44,0,36,0,77,0 81,0,62,0,25,0,59,0,5,0,41,0 35,0,72,0,51,0,29,0,48,0,4,0 73,0,65,0,68,0,70,0,19,0,27,0 8,0,14,0,55,0,40,0,34,0,53,0 23,0,67,0,22,0,15,0,57,0,64,0 42,0,10,0,24,0,16,0,11,0,20,0 50,0,56,0,21,0,32,0,76,0,2,0 3,0,6,0,7,0,26,0,63,0,30,0 37,0,58,0,17,0,69,0,13,0,12,0 39,0,75,0,28,0,74,0,46,0,33,0 49,0,71,0,54,0,66,0,80,0,79,0 31,1,18,0,34,0,27,1,57,0,43,0 25,1,47,0,36,0,24,0,70,0,4,0 81,0,50,0,9,0,51,0,22,0,1,0 11,0,59,0,26,0,2,0,44,0,35,0 19,0,58,0,10,0,77,0,8,0,7,0 45,0,56,0,67,0,20,0,52,0,72,0 23,0,39,0,78,0,69,0,5,0,80,0 61,0,38,0,74,0,66,0,12,0,29,0 60,0,30,0,55,0,64,0,21,0,65,0 48,0,46,0,37,0,68,0,79,0,40,0 63,0,13,0,76,0,54,0,41,0,16,0 33,0,32,0,17,0,15,0,14,0,49,0 42,0,71,0,28,0,3,0,62,0,73,0 53,0,75,0,44,0,6,0,4,0,31,0 47,0,20,0,23,0,35,0,61,0,7,0 22,0,80,0,65,0,12,0,34,0,26,0 66,0,30,0,1,0,67,0,2,0,27,0 81,0,60,0,78,0,76,0,43,0,48,0 15,0,58,0,54,0,68,0,72,0,39,0 14,0,29,0,13,0,70,0,10,0,71,0 59,0,57,0,16,0,9,0,32,0,3,0 63,0,52,0,53,0,5,0,33,0,38,0 79,0,56,0,19,0,42,0,17,0,25,0 28,0,37,0,64,0,45,0,51,0,41,0 8,0,6,0,21,0,69,0,46,0,73,0 77,0,62,0,24,0,55,0,18,0,75,0 36,0,11,0,40,0,74,0,50,0,49,0 16,0,7,0,39,0,14,0,66,0,81,0 59,0,10,0,67,0,48,0,34,0,63,0 80,0,3,0,44,0,1,0,13,0,33,0 60,0,5,0,2,0,15,0,61,0,19,0 20,0,31,0,70,0,30,0,17,0,46,0 76,0,24,0,12,0,73,0,45,0,23,0 22,0,56,0,58,0,36,0,55,0,28,0 77,0,51,0,74,0,57,0,78,0,68,0 29,0,52,0,26,0,47,0,49,0,37,0 65,0,35,0,42,0,40,0,32,0,18,0 38,0,11,0,27,0,21,0,41,0,4,0 71,0,43,0,69,0,25,0,53,0,50,0 79,0,64,0,75,0,8,0,72,0,9,0 6,0,54,0,2,0,62,0,36,0,17,0 7,0,59,0,15,0,70,0,28,0,1,0 76,0,77,0,46,0,14,0,67,0,47,0 73,0,57,0,40,0,39,0,26,0,56,0 66,0,34,0,23,0,19,0,11,0,51,0 35,0,27,0,3,0,69,0,24,0,22,0 74,0,53,0,41,0,9,0,60,0,58,0 25,0,44,0,54,0,48,0,21,0,45,0 33,0,72,0,62,0,10,0,31,0,65,0 32,0,37,0,20,0,63,0,80,0,75,0 78,0,52,0,30,0,8,0,71,0,12,0 43,0,61,0,68,0,42,0,13,0,4,0 5,0,50,0,29,0,55,0,16,0,79,0 6,0,18,0,38,0,64,0,49,0,81,0 1,0,76,0,35,0,17,0,53,0,39,0 48,0,19,0,36,0,14,0,31,0,3,0 63,0,73,0,25,0,11,0,15,0,77,0 44,0,30,0,41,0,47,0,10,0,22,0 37,0,70,0,67,0,9,0,42,0,78,0 61,0,62,0,27,0,58,0,79,0,52,0 45,0,55,0,46,0,66,0,43,0,26,0 57,0,69,0,65,0,54,0,28,0,38,0 49,0,21,0,12,0,20,0,59,0,68,0 18,0,72,0,80,0,50,0,60,0,7,0 2,0,75,0,40,0,81,0,29,0,23,0 32,0,71,0,24,0,5,0,6,0,51,0 16,0,4,0,34,0,56,0,33,0,64,0 13,0,74,0,31,0,8,0,27,0,25,0 ================================================ FILE: schedules/81_8.csv ================================================ 55,0,4,0,19,0,45,0,73,0,44,0 63,0,53,0,23,0,71,0,10,0,32,0 42,0,46,0,58,0,75,0,16,0,64,0 39,0,26,0,25,0,14,0,18,0,37,0 77,0,67,0,38,0,22,0,9,0,17,0 62,0,66,0,5,0,80,0,30,0,51,0 54,0,76,0,8,0,81,0,79,0,61,0 57,0,41,0,12,0,60,0,74,0,3,0 69,0,49,0,34,0,29,0,33,0,35,0 11,0,2,0,15,0,68,0,59,0,1,0 65,0,28,0,52,0,20,0,78,0,13,0 27,0,72,0,6,0,40,0,7,0,47,0 70,0,36,0,48,0,56,0,31,0,21,0 43,0,24,0,19,0,50,0,79,0,9,0 5,0,71,0,41,0,25,0,75,0,73,0 35,0,54,0,74,0,26,0,51,0,55,0 45,0,10,0,33,0,1,0,77,0,12,0 17,0,32,0,66,0,46,0,28,0,39,0 64,0,30,0,18,0,4,0,15,0,7,0 27,0,11,0,3,0,63,0,48,0,14,0 20,0,59,0,43,0,72,0,58,0,31,0 24,0,16,0,68,0,36,0,61,0,34,0 80,0,37,0,65,0,81,0,22,0,49,0 8,0,53,0,44,0,2,0,50,0,21,0 60,0,78,0,42,0,70,0,6,0,38,0 57,0,76,0,47,0,69,0,62,0,52,0 29,0,40,0,13,0,56,0,23,0,67,0 58,0,3,0,17,0,5,0,10,0,26,0 61,0,72,0,48,0,46,0,71,0,55,0 28,0,79,0,18,0,16,0,12,0,63,0 21,0,7,0,24,0,33,0,65,0,66,0 70,0,77,0,35,0,11,0,81,0,4,0 36,0,22,0,20,0,75,0,47,0,39,0 78,0,50,0,80,0,23,0,41,0,1,0 40,0,9,0,31,0,54,0,57,0,30,0 49,0,73,0,68,0,62,0,14,0,42,0 29,0,64,0,2,0,27,0,52,0,19,0 51,0,45,0,53,0,76,0,38,0,43,0 32,0,60,0,59,0,69,0,44,0,13,0 15,0,25,0,6,0,34,0,67,0,8,0 37,0,74,0,50,0,56,0,61,0,75,0 79,0,11,0,10,0,36,0,7,0,55,0 3,0,1,0,39,0,49,0,9,0,21,0 72,0,14,0,4,0,22,0,29,0,66,0 24,0,54,0,5,0,78,0,64,0,53,0 81,0,33,0,19,0,71,0,38,0,20,0 13,0,73,0,8,0,57,0,17,0,63,0 42,0,44,0,76,0,67,0,48,0,26,0 23,0,46,0,59,0,47,0,65,0,70,0 31,0,34,0,37,0,12,0,27,0,62,0 51,0,60,0,56,0,52,0,58,0,15,0 35,0,30,0,16,0,43,0,25,0,32,0 2,0,45,0,28,0,41,0,69,0,40,0 18,0,68,0,74,0,6,0,80,0,77,0 5,0,44,0,38,0,11,0,57,0,49,0 14,0,1,0,67,0,64,0,81,0,47,0 13,0,34,0,70,0,71,0,3,0,50,0 60,0,66,0,53,0,27,0,79,0,26,0 21,0,4,0,37,0,63,0,76,0,59,0 40,0,12,0,15,0,32,0,55,0,20,0 52,0,22,0,41,0,7,0,16,0,54,0 39,0,30,0,72,0,8,0,24,0,77,0 25,0,74,0,48,0,19,0,65,0,58,0 9,0,10,0,61,0,29,0,80,0,28,0 62,0,75,0,6,0,17,0,33,0,2,0 45,0,35,0,78,0,46,0,56,0,68,0 51,0,31,0,42,0,18,0,23,0,69,0 73,0,36,0,40,0,43,0,3,0,66,0 50,0,32,0,14,0,5,0,76,0,77,0 13,0,79,0,47,0,49,0,74,0,15,0 80,0,21,0,12,0,38,0,72,0,26,0 54,0,71,0,4,0,39,0,58,0,2,0 29,0,24,0,20,0,45,0,70,0,25,0 34,0,18,0,48,0,57,0,75,0,59,0 78,0,81,0,36,0,44,0,62,0,9,0 31,0,1,0,7,0,35,0,53,0,17,0 61,0,63,0,30,0,41,0,19,0,42,0 10,0,67,0,46,0,73,0,52,0,37,0 27,0,8,0,68,0,22,0,28,0,51,0 33,0,55,0,23,0,43,0,64,0,60,0 56,0,16,0,69,0,65,0,11,0,6,0 9,0,47,0,45,0,34,0,32,0,58,0 13,0,80,0,7,0,2,0,25,0,76,0 49,0,71,0,17,0,36,0,12,0,30,0 15,0,38,0,63,0,39,0,35,0,50,0 20,0,44,0,66,0,68,0,37,0,54,0 1,0,60,0,4,0,24,0,48,0,40,0 61,0,21,0,64,0,69,0,22,0,73,0 31,0,65,0,79,0,41,0,29,0,77,0 14,0,57,0,16,0,51,0,10,0,78,0 56,0,81,0,55,0,18,0,27,0,5,0 62,0,43,0,8,0,74,0,46,0,11,0 3,0,59,0,42,0,33,0,53,0,52,0 75,0,70,0,19,0,28,0,72,0,67,0 23,0,26,0,61,0,6,0,49,0,20,0 7,0,38,0,29,0,68,0,32,0,48,0 71,0,22,0,15,0,31,0,76,0,78,0 51,0,64,0,65,0,34,0,17,0,40,0 18,0,47,0,43,0,21,0,10,0,54,0 69,0,46,0,79,0,4,0,3,0,80,0 2,0,36,0,5,0,67,0,60,0,35,0 6,0,55,0,41,0,37,0,13,0,24,0 66,0,81,0,57,0,45,0,50,0,42,0 63,0,52,0,25,0,44,0,1,0,72,0 73,0,11,0,58,0,53,0,30,0,28,0 26,0,62,0,77,0,56,0,59,0,19,0 33,0,27,0,39,0,16,0,70,0,74,0 75,0,12,0,23,0,8,0,9,0,14,0 ================================================ FILE: schedules/81_9.csv ================================================ 64,0,76,0,29,0,6,0,18,0,20,0 15,0,11,0,30,0,58,0,74,0,38,0 21,0,34,0,23,0,42,0,1,0,72,0 63,0,25,0,12,0,43,0,51,0,31,0 50,0,17,0,56,0,67,0,41,0,9,0 4,0,70,0,78,0,61,0,60,0,26,0 54,0,16,0,14,0,27,0,55,0,48,0 73,0,59,0,57,0,3,0,47,0,65,0 40,0,13,0,53,0,46,0,77,0,8,0 75,0,49,0,36,0,10,0,52,0,79,0 7,0,22,0,62,0,33,0,35,0,45,0 68,0,69,0,71,0,39,0,80,0,66,0 19,0,32,0,81,0,37,0,5,0,24,0 2,0,44,0,61,0,28,0,15,0,25,0 72,0,70,0,55,0,67,0,76,0,58,0 42,0,16,0,20,0,78,0,50,0,65,0 14,0,36,0,21,0,29,0,23,0,12,0 34,0,59,0,27,0,53,0,18,0,22,0 63,0,66,0,45,0,48,0,3,0,8,0 47,0,11,0,33,0,77,0,71,0,5,0 24,0,7,0,38,0,75,0,9,0,44,0 31,0,26,0,64,0,32,0,68,0,17,0 35,0,79,0,19,0,2,0,51,0,4,0 46,0,60,0,43,0,62,0,39,0,73,0 30,0,56,0,80,0,57,0,37,0,6,0 41,0,54,0,40,0,49,0,28,0,1,0 69,0,52,0,81,0,74,0,13,0,10,0 48,1,20,0,44,0,33,1,59,0,23,0 38,1,45,0,36,0,34,0,26,0,16,0 61,0,9,0,42,0,5,0,14,0,68,0 21,0,25,0,53,0,62,0,50,0,64,0 7,0,56,0,4,0,39,0,27,0,43,0 58,0,28,0,79,0,12,0,22,0,24,0 46,0,75,0,6,0,51,0,81,0,66,0 67,0,13,0,69,0,54,0,57,0,31,0 37,0,35,0,18,0,1,0,60,0,8,0 73,0,52,0,3,0,76,0,11,0,19,0 80,0,49,0,65,0,17,0,77,0,55,0 63,0,74,0,71,0,70,0,41,0,29,0 72,0,30,0,32,0,10,0,40,0,2,0 47,0,4,0,53,0,15,0,78,0,12,0 23,0,24,0,43,0,68,0,57,0,16,0 66,0,62,0,56,0,18,0,54,0,58,0 61,0,67,0,20,0,8,0,34,0,75,0 31,0,37,0,28,0,77,0,45,0,50,0 69,0,3,0,1,0,7,0,29,0,14,0 38,0,71,0,2,0,13,0,60,0,17,0 80,0,27,0,44,0,40,0,11,0,78,0 15,0,33,0,26,0,19,0,72,0,46,0 21,0,5,0,73,0,30,0,79,0,41,0 63,0,35,0,47,0,76,0,65,0,81,0 59,0,32,0,6,0,70,0,49,0,52,0 25,0,9,0,36,0,55,0,22,0,74,0 48,0,64,0,39,0,51,0,10,0,42,0 80,0,29,0,13,0,16,0,75,0,56,0 62,0,77,0,24,0,3,0,67,0,15,0 57,0,19,0,20,0,12,0,60,0,7,0 79,0,71,0,65,0,72,0,50,0,44,0 26,0,37,0,27,0,66,0,23,0,73,0 76,0,63,0,2,0,69,0,21,0,59,0 54,0,10,0,1,0,17,0,61,0,22,0 58,0,32,0,51,0,47,0,45,0,41,0 64,0,6,0,8,0,43,0,9,0,11,0 5,0,55,0,18,0,46,0,4,0,52,0 49,0,78,0,68,0,25,0,38,0,81,0 31,0,48,0,36,0,53,0,35,0,70,0 34,0,39,0,33,0,74,0,40,0,14,0 30,0,28,0,60,0,42,0,7,0,66,0 50,0,27,0,1,0,63,0,13,0,24,0 44,0,51,0,22,0,67,0,32,0,29,0 57,0,11,0,18,0,79,0,21,0,26,0 10,0,38,0,47,0,80,0,23,0,46,0 15,0,81,0,45,0,54,0,43,0,59,0 53,0,72,0,61,0,9,0,3,0,49,0 58,0,17,0,20,0,35,0,14,0,52,0 39,0,76,0,41,0,36,0,16,0,37,0 42,0,6,0,25,0,4,0,73,0,40,0 74,0,19,0,8,0,65,0,28,0,56,0 70,0,75,0,2,0,33,0,68,0,77,0 64,0,12,0,5,0,69,0,48,0,34,0 30,0,71,0,78,0,55,0,31,0,62,0 52,0,24,0,26,0,51,0,53,0,80,0 79,0,18,0,13,0,7,0,47,0,67,0 60,0,40,0,22,0,63,0,15,0,23,0 58,0,57,0,46,0,36,0,42,0,44,0 17,0,66,0,33,0,25,0,59,0,29,0 39,0,77,0,61,0,38,0,6,0,21,0 49,0,69,0,72,0,56,0,11,0,35,0 3,0,37,0,68,0,20,0,55,0,34,0 48,0,78,0,43,0,74,0,75,0,1,0 50,0,12,0,16,0,73,0,2,0,32,0 8,0,4,0,41,0,81,0,14,0,31,0 70,0,65,0,19,0,64,0,30,0,54,0 45,0,10,0,9,0,76,0,27,0,71,0 28,0,5,0,72,0,62,0,80,0,63,0 26,0,39,0,3,0,58,0,25,0,13,0 47,0,40,0,17,0,36,0,69,0,24,0 48,0,50,0,23,0,7,0,61,0,52,0 32,0,55,0,42,0,81,0,56,0,53,0 12,0,35,0,59,0,46,0,30,0,68,0 75,0,14,0,73,0,71,0,64,0,15,0 60,0,31,0,65,0,10,0,6,0,33,0 54,0,77,0,76,0,79,0,34,0,43,0 1,0,5,0,11,0,20,0,2,0,45,0 62,0,27,0,29,0,38,0,8,0,57,0 37,0,4,0,74,0,21,0,49,0,44,0 51,0,28,0,16,0,9,0,18,0,70,0 78,0,67,0,22,0,41,0,66,0,19,0 7,0,81,0,58,0,40,0,64,0,61,0 24,0,46,0,25,0,56,0,48,0,71,0 23,0,79,0,45,0,17,0,69,0,53,0 39,0,54,0,55,0,11,0,63,0,75,0 38,0,3,0,59,0,50,0,5,0,31,0 60,0,52,0,77,0,29,0,68,0,72,0 73,0,13,0,51,0,78,0,36,0,33,0 34,0,35,0,66,0,57,0,9,0,32,0 14,0,43,0,22,0,37,0,65,0,2,0 8,0,44,0,76,0,49,0,26,0,30,0 42,0,74,0,41,0,18,0,80,0,12,0 10,0,27,0,15,0,20,0,21,0,70,0 6,0,62,0,16,0,47,0,1,0,19,0 67,0,48,0,38,0,4,0,28,0,33,0 ================================================ FILE: schedules/82_1.csv ================================================ 62,0,79,0,27,0,15,0,35,0,3,0 9,0,82,0,20,0,26,0,44,0,21,0 19,0,77,0,55,0,74,0,61,0,63,0 25,0,58,0,34,0,11,0,30,0,73,0 5,0,10,0,57,0,70,0,23,0,40,0 69,0,38,0,51,0,7,0,17,0,24,0 6,0,42,0,75,0,72,0,80,0,54,0 46,0,32,0,67,0,4,0,12,0,52,0 45,0,68,0,81,0,39,0,14,0,78,0 76,0,64,0,18,0,28,0,71,0,33,0 60,0,13,0,29,0,47,0,8,0,48,0 49,0,59,0,31,0,66,0,65,0,43,0 41,0,16,0,36,0,37,0,1,0,22,0 2,0,50,0,24,1,56,0,53,0,25,1 ================================================ FILE: schedules/82_10.csv ================================================ 75,0,68,0,32,0,71,0,73,0,79,0 21,0,28,0,54,0,66,0,46,0,57,0 48,0,58,0,72,0,61,0,15,0,52,0 59,0,55,0,4,0,3,0,7,0,76,0 42,0,18,0,37,0,67,0,82,0,20,0 78,0,31,0,51,0,69,0,8,0,77,0 63,0,35,0,12,0,19,0,44,0,47,0 56,0,11,0,26,0,27,0,9,0,70,0 33,0,38,0,6,0,5,0,39,0,17,0 60,0,50,0,24,0,62,0,1,0,49,0 80,0,2,0,10,0,53,0,74,0,41,0 13,0,36,0,65,0,30,0,43,0,14,0 22,0,40,0,16,0,29,0,81,0,25,0 64,0,45,0,28,0,34,0,23,0,37,0 55,0,61,0,26,0,18,0,54,0,73,0 79,0,27,0,52,0,5,0,42,0,38,0 57,0,21,0,3,0,35,0,32,0,56,0 53,0,66,0,24,0,82,0,44,0,76,0 13,0,80,0,39,0,68,0,36,0,70,0 72,0,1,0,22,0,16,0,74,0,77,0 58,0,43,0,59,0,62,0,6,0,11,0 19,0,2,0,60,0,78,0,30,0,81,0 25,0,67,0,48,0,75,0,8,0,49,0 29,0,9,0,23,0,10,0,12,0,69,0 47,0,51,0,34,0,46,0,14,0,33,0 71,0,50,0,4,0,65,0,45,0,40,0 64,0,17,0,7,0,63,0,41,0,20,0 15,0,32,0,36,0,31,0,42,0,55,0 22,1,74,0,59,0,52,1,57,0,26,0 27,0,43,0,60,0,28,0,8,0,72,0 10,0,81,0,21,0,67,0,6,0,77,0 33,0,23,0,13,0,75,0,24,0,58,0 48,0,9,0,5,0,68,0,50,0,44,0 51,0,73,0,66,0,30,0,4,0,29,0 7,0,38,0,40,0,54,0,1,0,19,0 71,0,53,0,15,0,3,0,34,0,39,0 46,0,47,0,37,0,62,0,25,0,80,0 70,0,18,0,79,0,2,0,16,0,63,0 78,0,76,0,20,0,56,0,41,0,14,0 45,0,61,0,49,0,17,0,12,0,31,0 11,0,82,0,64,0,65,0,35,0,69,0 77,0,40,0,68,0,30,0,57,0,58,0 1,0,52,0,81,0,54,0,4,0,32,0 71,0,22,0,67,0,60,0,23,0,55,0 46,0,63,0,29,0,43,0,53,0,38,0 73,0,15,0,37,0,2,0,21,0,8,0 45,0,36,0,78,0,66,0,26,0,48,0 44,0,56,0,69,0,33,0,62,0,28,0 49,0,11,0,3,0,80,0,64,0,5,0 47,0,27,0,13,0,74,0,6,0,82,0 70,0,17,0,51,0,24,0,42,0,35,0 65,0,16,0,9,0,75,0,7,0,39,0 19,0,41,0,34,0,31,0,18,0,72,0 79,0,61,0,25,0,14,0,76,0,10,0 50,0,59,0,8,0,20,0,12,0,71,0 67,0,80,0,30,0,29,0,45,0,15,0 62,0,2,0,27,0,40,0,23,0,32,0 33,0,55,0,78,0,68,0,35,0,49,0 28,0,82,0,39,0,77,0,73,0,81,0 43,0,56,0,24,0,52,0,7,0,19,0 58,0,60,0,74,0,18,0,17,0,66,0 72,0,25,0,20,0,12,0,9,0,51,0 65,0,54,0,5,0,36,0,59,0,10,0 53,0,79,0,75,0,64,0,1,0,21,0 61,0,46,0,22,0,6,0,70,0,41,0 31,0,14,0,37,0,44,0,48,0,3,0 57,0,76,0,42,0,13,0,50,0,34,0 26,0,16,0,38,0,11,0,4,0,47,0 63,0,68,0,73,0,69,0,60,0,45,0 77,0,33,0,66,0,80,0,23,0,20,0 29,0,82,0,72,0,49,0,79,0,59,0 28,0,36,0,74,0,71,0,19,0,70,0 21,0,9,0,14,0,17,0,62,0,55,0 6,0,57,0,12,0,7,0,37,0,2,0 42,0,13,0,8,0,61,0,81,0,11,0 46,0,30,0,1,0,48,0,35,0,10,0 18,0,76,0,40,0,75,0,3,0,51,0 53,0,69,0,54,0,16,0,50,0,25,0 31,0,47,0,58,0,65,0,56,0,22,0 44,0,39,0,67,0,43,0,41,0,52,0 38,0,27,0,4,0,64,0,15,0,78,0 34,0,63,0,32,0,5,0,24,0,26,0 19,0,42,0,59,0,9,0,45,0,46,0 20,0,70,0,48,0,82,0,62,0,57,0 6,0,29,0,76,0,11,0,54,0,33,0 17,0,81,0,72,0,36,0,53,0,37,0 74,0,50,0,61,0,79,0,56,0,67,0 10,0,39,0,60,0,13,0,40,0,64,0 8,0,23,0,44,0,7,0,18,0,26,0 4,0,77,0,35,0,14,0,2,0,24,0 63,0,71,0,25,0,1,0,15,0,31,0 5,0,69,0,55,0,47,0,75,0,30,0 68,0,41,0,12,0,27,0,66,0,16,0 80,0,28,0,32,0,58,0,38,0,51,0 49,0,34,0,43,0,22,0,21,0,73,0 3,0,52,0,6,0,65,0,78,0,23,0 62,0,45,0,7,0,13,0,53,0,72,0 10,0,25,0,4,0,17,0,56,0,82,0 20,0,40,0,55,0,74,0,46,0,11,0 47,0,68,0,29,0,64,0,8,0,24,0 30,0,9,0,71,0,79,0,37,0,54,0 35,0,34,0,66,0,50,0,81,0,43,0 39,0,18,0,59,0,32,0,48,0,69,0 15,0,41,0,26,0,49,0,19,0,51,0 21,0,16,0,76,0,52,0,31,0,60,0 61,0,33,0,3,0,63,0,27,0,36,0 75,0,22,0,5,0,28,0,2,0,78,0 73,0,38,0,14,0,58,0,67,0,12,0 42,0,1,0,65,0,57,0,80,0,44,0 77,0,64,0,30,0,70,0,59,0,25,0 43,0,7,0,15,0,10,0,18,0,50,0 16,0,56,0,6,0,45,0,55,0,8,0 3,0,69,0,13,0,26,0,20,0,79,0 23,0,54,0,39,0,63,0,49,0,74,0 11,0,17,0,52,0,34,0,68,0,28,0 73,0,24,0,80,0,31,0,9,0,40,0 47,0,72,0,70,0,32,0,66,0,67,0 12,0,48,0,42,0,4,0,21,0,33,0 65,0,41,0,77,0,60,0,37,0,29,0 62,0,36,0,35,0,22,0,76,0,38,0 75,0,14,0,19,0,27,0,53,0,57,0 2,0,51,0,5,0,61,0,1,0,82,0 81,0,58,0,44,0,78,0,46,0,71,0 31,0,30,0,11,0,39,0,50,0,72,0 45,0,32,0,43,0,25,0,33,0,74,0 24,0,55,0,79,0,12,0,28,0,65,0 68,0,22,0,62,0,3,0,10,0,42,0 35,0,60,0,75,0,54,0,20,0,15,0 49,0,53,0,52,0,47,0,77,0,18,0 6,0,44,0,64,0,16,0,36,0,51,0 80,0,19,0,82,0,61,0,23,0,21,0 17,0,73,0,78,0,1,0,13,0,59,0 34,0,2,0,71,0,48,0,38,0,56,0 8,0,4,0,57,0,9,0,58,0,41,0 67,0,76,0,46,0,27,0,69,0,26,0 70,0,14,0,81,0,7,0,29,0,5,0 66,0,40,0,52,0,37,0,63,0,22,0 ================================================ FILE: schedules/82_11.csv ================================================ 9,0,15,0,22,0,14,0,50,0,55,0 17,0,3,0,58,0,4,0,82,0,54,0 47,0,41,0,64,0,42,0,20,0,30,0 18,0,16,0,65,0,13,0,43,0,80,0 56,0,11,0,33,0,45,0,51,0,69,0 81,0,23,0,35,0,72,0,57,0,70,0 78,0,63,0,29,0,67,0,37,0,27,0 74,0,5,0,73,0,19,0,61,0,60,0 7,0,38,0,52,0,31,0,10,0,62,0 36,0,24,0,12,0,48,0,26,0,75,0 66,0,76,0,39,0,59,0,71,0,1,0 32,0,40,0,49,0,46,0,25,0,6,0 34,0,77,0,44,0,79,0,28,0,21,0 8,0,68,0,50,0,53,0,2,0,69,0 64,0,17,0,5,0,14,0,80,0,56,0 55,0,37,0,11,0,19,0,81,0,38,0 30,0,54,0,22,0,78,0,74,0,57,0 43,0,72,0,52,0,3,0,60,0,29,0 20,0,71,0,15,0,40,0,24,0,58,0 41,0,51,0,13,0,62,0,44,0,49,0 8,0,76,0,36,0,34,0,82,0,32,0 53,0,28,0,47,0,25,0,21,0,63,0 33,0,6,0,75,0,9,0,70,0,16,0 18,0,68,0,48,0,35,0,10,0,39,0 26,0,59,0,73,0,79,0,7,0,2,0 42,0,31,0,65,0,67,0,46,0,61,0 27,0,4,0,77,0,66,0,45,0,23,0 12,0,49,0,71,0,1,0,43,0,60,0 38,1,5,0,20,0,53,1,82,0,22,0 56,1,29,0,19,0,13,1,25,0,76,0 70,0,78,0,28,0,14,0,58,0,8,0 59,0,50,0,24,0,63,0,62,0,11,0 34,0,21,0,61,0,17,0,69,0,48,0 74,0,79,0,36,0,68,0,23,0,80,0 35,0,42,0,7,0,40,0,3,0,33,0 1,0,37,0,30,0,6,0,31,0,44,0 41,0,27,0,10,0,57,0,9,0,73,0 75,0,12,0,55,0,32,0,65,0,2,0 81,0,66,0,26,0,46,0,18,0,47,0 64,0,16,0,52,0,54,0,77,0,45,0 51,0,67,0,39,0,72,0,4,0,15,0 33,0,35,0,53,0,60,0,34,0,24,0 22,0,70,0,13,0,79,0,42,0,37,0 56,0,43,0,73,0,28,0,82,0,57,0 30,0,8,0,59,0,38,0,65,0,48,0 14,0,81,0,6,0,7,0,41,0,36,0 62,0,46,0,64,0,55,0,76,0,23,0 68,0,11,0,21,0,27,0,54,0,20,0 3,0,32,0,77,0,71,0,9,0,19,0 10,0,26,0,69,0,16,0,4,0,78,0 80,0,72,0,25,0,44,0,66,0,75,0 67,0,12,0,40,0,17,0,52,0,74,0 15,0,2,0,63,0,1,0,45,0,61,0 29,0,50,0,39,0,58,0,5,0,49,0 51,0,18,0,27,0,31,0,47,0,59,0 6,0,30,0,62,0,53,0,11,0,43,0 79,0,60,0,65,0,64,0,81,0,4,0 57,0,55,0,13,0,20,0,36,0,3,0 34,0,37,0,25,0,68,0,52,0,71,0 19,0,54,0,48,0,8,0,33,0,15,0 17,0,82,0,23,0,26,0,50,0,41,0 22,0,1,0,47,0,56,0,75,0,35,0 77,0,51,0,58,0,74,0,2,0,46,0 80,0,42,0,10,0,29,0,12,0,21,0 28,0,61,0,49,0,38,0,16,0,66,0 63,0,72,0,69,0,14,0,76,0,31,0 73,0,70,0,44,0,40,0,39,0,78,0 67,0,7,0,9,0,18,0,45,0,5,0 24,0,30,0,27,0,32,0,79,0,56,0 71,0,35,0,74,0,55,0,65,0,17,0 57,0,58,0,6,0,26,0,34,0,42,0 37,0,48,0,82,0,80,0,49,0,51,0 75,0,20,0,4,0,29,0,28,0,62,0 13,0,68,0,59,0,14,0,40,0,23,0 45,0,46,0,38,0,36,0,44,0,69,0 9,0,2,0,3,0,78,0,11,0,24,0 16,0,1,0,7,0,53,0,19,0,72,0 50,0,67,0,60,0,77,0,47,0,70,0 8,0,12,0,64,0,25,0,73,0,31,0 10,0,61,0,81,0,76,0,54,0,43,0 41,0,22,0,39,0,33,0,52,0,21,0 66,0,18,0,63,0,5,0,15,0,32,0 26,0,65,0,49,0,34,0,3,0,56,0 57,0,75,0,69,0,71,0,13,0,7,0 14,0,27,0,38,0,6,0,80,0,60,0 53,0,42,0,9,0,59,0,4,0,51,0 45,0,79,0,55,0,25,0,10,0,58,0 17,0,43,0,31,0,19,0,39,0,47,0 76,0,5,0,30,0,52,0,35,0,70,0 15,0,44,0,68,0,12,0,82,0,16,0 11,0,64,0,66,0,48,0,67,0,8,0 63,0,73,0,40,0,77,0,22,0,36,0 28,0,54,0,24,0,41,0,37,0,46,0 78,0,20,0,72,0,32,0,50,0,61,0 23,0,33,0,74,0,18,0,29,0,2,0 81,0,21,0,5,0,1,0,62,0,3,0 34,0,30,0,39,0,13,0,45,0,9,0 47,0,11,0,57,0,79,0,14,0,82,0 58,0,56,0,76,0,38,0,68,0,67,0 24,0,41,0,48,0,77,0,43,0,25,0 80,0,78,0,52,0,63,0,59,0,19,0 8,0,61,0,29,0,26,0,44,0,71,0 7,0,81,0,28,0,27,0,12,0,22,0 31,0,23,0,49,0,54,0,75,0,53,0 33,0,46,0,1,0,4,0,73,0,50,0 65,0,66,0,10,0,6,0,51,0,20,0 74,0,32,0,69,0,42,0,15,0,62,0 37,0,36,0,2,0,17,0,35,0,16,0 60,0,72,0,40,0,55,0,18,0,21,0 70,0,38,0,61,0,64,0,29,0,24,0 56,0,44,0,9,0,63,0,52,0,81,0 19,0,75,0,34,0,27,0,50,0,46,0 4,0,31,0,13,0,5,0,77,0,68,0 62,0,66,0,79,0,78,0,33,0,12,0 35,0,58,0,80,0,32,0,41,0,11,0 57,0,53,0,76,0,65,0,37,0,40,0 54,0,1,0,55,0,51,0,26,0,70,0 43,0,67,0,16,0,22,0,59,0,20,0 60,0,25,0,15,0,7,0,30,0,17,0 2,0,47,0,42,0,28,0,10,0,72,0 64,0,82,0,36,0,69,0,39,0,18,0 23,0,6,0,48,0,3,0,71,0,73,0 14,0,21,0,45,0,8,0,74,0,49,0 53,0,80,0,26,0,33,0,77,0,81,0 4,0,52,0,61,0,13,0,11,0,27,0 34,0,31,0,29,0,40,0,41,0,66,0 46,0,56,0,15,0,70,0,59,0,10,0 57,0,32,0,18,0,38,0,1,0,28,0 60,0,20,0,2,0,44,0,48,0,76,0 45,0,17,0,22,0,6,0,24,0,72,0 49,0,7,0,63,0,42,0,55,0,68,0 71,0,78,0,82,0,35,0,64,0,21,0 75,0,79,0,51,0,5,0,43,0,8,0 23,0,19,0,69,0,30,0,58,0,12,0 3,0,50,0,25,0,74,0,16,0,39,0 9,0,47,0,54,0,36,0,62,0,65,0 67,0,14,0,18,0,73,0,37,0,53,0 59,0,49,0,77,0,57,0,61,0,17,0 60,0,28,0,45,0,31,0,26,0,68,0 35,0,46,0,48,0,29,0,79,0,13,0 44,0,32,0,10,0,22,0,64,0,23,0 3,0,38,0,76,0,75,0,15,0,41,0 36,0,25,0,11,0,42,0,5,0,78,0 37,0,54,0,50,0,7,0,66,0,56,0 52,0,6,0,55,0,8,0,47,0,24,0 70,0,4,0,43,0,63,0,34,0,74,0 19,0,62,0,14,0,2,0,71,0,67,0 21,0,16,0,73,0,30,0,81,0,51,0 40,0,80,0,20,0,9,0,1,0,69,0 58,0,27,0,82,0,72,0,65,0,33,0 12,0,38,0,56,0,39,0,53,0,13,0 ================================================ FILE: schedules/82_12.csv ================================================ 78,0,37,0,35,0,40,0,21,0,64,0 36,0,34,0,63,0,33,0,7,0,60,0 48,0,18,0,17,0,31,0,62,0,19,0 55,0,41,0,53,0,16,0,42,0,38,0 11,0,52,0,51,0,81,0,39,0,72,0 28,0,4,0,5,0,1,0,30,0,12,0 67,0,71,0,14,0,27,0,80,0,43,0 69,0,6,0,66,0,26,0,13,0,56,0 57,0,73,0,77,0,45,0,29,0,76,0 15,0,10,0,54,0,8,0,44,0,68,0 9,0,23,0,70,0,50,0,24,0,47,0 22,0,74,0,59,0,65,0,61,0,49,0 20,0,82,0,25,0,32,0,58,0,79,0 3,0,2,0,11,0,75,0,46,0,18,0 51,0,31,0,66,0,69,0,71,0,19,0 27,0,60,0,76,0,64,0,13,0,81,0 34,0,45,0,17,0,15,0,56,0,37,0 24,0,78,0,43,0,1,0,35,0,42,0 7,0,53,0,30,0,40,0,29,0,74,0 41,0,14,0,21,0,79,0,6,0,55,0 68,0,2,0,25,0,57,0,65,0,47,0 10,0,50,0,77,0,52,0,32,0,62,0 5,0,39,0,58,0,3,0,23,0,80,0 82,0,46,0,59,0,70,0,8,0,4,0 73,0,54,0,28,0,20,0,36,0,48,0 12,0,22,0,72,0,16,0,63,0,26,0 75,0,49,0,38,0,9,0,67,0,61,0 33,0,57,0,37,0,44,0,66,0,60,0 76,0,62,0,7,0,78,0,15,0,79,0 10,0,34,0,13,0,5,0,14,0,31,0 80,0,17,0,29,0,41,0,27,0,4,0 6,0,58,0,46,0,45,0,24,0,64,0 3,0,16,0,71,0,8,0,32,0,2,0 55,0,81,0,30,0,18,0,26,0,20,0 22,0,50,0,69,0,11,0,38,0,54,0 61,0,33,0,47,0,82,0,51,0,48,0 53,0,68,0,28,0,43,0,73,0,49,0 40,0,65,0,63,0,9,0,52,0,1,0 75,0,39,0,19,0,59,0,12,0,42,0 21,0,70,0,25,0,44,0,67,0,74,0 56,0,23,0,72,0,77,0,35,0,36,0 66,0,27,0,10,0,22,0,30,0,3,0 51,0,26,0,38,0,58,0,34,0,7,0 14,0,8,0,81,0,49,0,57,0,24,0 33,0,50,0,64,0,2,0,4,0,29,0 19,0,13,0,6,0,11,0,78,0,65,0 55,0,46,0,67,0,31,0,47,0,52,0 48,0,72,0,35,0,44,0,76,0,32,0 39,0,61,0,71,0,45,0,37,0,73,0 20,0,79,0,56,0,5,0,63,0,53,0 43,0,25,0,60,0,12,0,21,0,54,0 77,0,80,0,69,0,59,0,1,0,36,0 15,0,18,0,62,0,82,0,70,0,41,0 23,0,42,0,17,0,68,0,9,0,40,0 28,0,75,0,13,0,16,0,74,0,33,0 45,0,3,0,47,0,31,0,38,0,35,0 24,0,4,0,44,0,34,0,20,0,19,0 50,0,43,0,21,0,63,0,61,0,57,0 26,0,78,0,46,0,39,0,53,0,60,0 81,0,58,0,29,0,54,0,72,0,66,0 32,0,56,0,41,0,11,0,68,0,12,0 23,0,15,0,55,0,27,0,28,0,65,0 1,0,74,0,79,0,67,0,64,0,10,0 59,0,37,0,18,0,5,0,36,0,76,0 48,0,6,0,75,0,52,0,30,0,69,0 82,0,8,0,16,0,7,0,9,0,80,0 2,0,73,0,62,0,51,0,25,0,42,0 71,0,49,0,22,0,17,0,70,0,77,0 40,0,39,0,20,0,14,0,15,0,50,0 74,0,31,0,78,0,57,0,32,0,27,0 19,0,55,0,1,0,58,0,56,0,68,0 67,0,4,0,48,0,45,0,11,0,63,0 5,0,7,0,64,0,43,0,81,0,61,0 10,0,72,0,25,0,60,0,28,0,6,0 69,0,24,0,42,0,37,0,52,0,3,0 34,0,8,0,51,0,53,0,65,0,21,0 70,0,49,0,54,0,40,0,2,0,80,0 47,0,36,0,75,0,41,0,66,0,17,0 35,0,79,0,73,0,18,0,16,0,22,0 26,0,9,0,29,0,62,0,59,0,14,0 38,0,76,0,30,0,23,0,71,0,33,0 12,0,82,0,77,0,44,0,13,0,46,0 7,0,65,0,45,0,11,0,42,0,21,0 4,0,3,0,40,0,60,0,55,0,51,0 64,0,19,0,70,0,72,0,34,0,5,0 28,0,18,0,63,0,24,0,61,0,66,0 14,0,52,0,29,0,56,0,47,0,16,0 53,0,36,0,67,0,71,0,10,0,58,0 33,0,79,0,68,0,26,0,81,0,77,0 59,0,44,0,50,0,78,0,6,0,17,0 82,0,30,0,43,0,31,0,2,0,39,0 80,0,22,0,75,0,25,0,15,0,48,0 57,0,38,0,62,0,13,0,1,0,20,0 32,0,49,0,37,0,23,0,46,0,54,0 8,0,69,0,27,0,12,0,73,0,76,0 35,0,9,0,51,0,74,0,41,0,5,0 71,0,64,0,56,0,47,0,7,0,59,0 10,0,33,0,29,0,21,0,17,0,24,0 26,0,43,0,45,0,44,0,75,0,40,0 62,0,13,0,53,0,3,0,72,0,67,0 61,0,28,0,32,0,34,0,42,0,80,0 25,0,49,0,76,0,39,0,66,0,55,0 27,0,58,0,12,0,50,0,79,0,48,0 15,0,69,0,9,0,35,0,46,0,2,0 36,0,22,0,19,0,52,0,57,0,82,0 14,0,38,0,65,0,4,0,81,0,37,0 41,0,78,0,54,0,63,0,77,0,30,0 11,0,1,0,31,0,73,0,70,0,60,0 8,0,18,0,6,0,23,0,74,0,20,0 16,0,50,0,5,0,68,0,66,0,45,0 76,0,21,0,47,0,28,0,26,0,49,0 56,0,57,0,34,0,46,0,79,0,27,0 32,0,67,0,19,0,69,0,39,0,29,0 9,0,2,0,81,0,37,0,48,0,10,0 11,0,14,0,17,0,1,0,53,0,82,0 62,0,55,0,61,0,36,0,8,0,12,0 52,0,74,0,58,0,78,0,73,0,4,0 44,0,42,0,54,0,18,0,64,0,51,0 65,0,43,0,20,0,33,0,70,0,3,0 40,0,16,0,31,0,25,0,77,0,6,0 68,0,63,0,35,0,59,0,80,0,30,0 23,0,60,0,13,0,22,0,7,0,41,0 24,0,71,0,38,0,15,0,72,0,75,0 37,0,47,0,26,0,11,0,19,0,8,0 82,0,28,0,45,0,78,0,69,0,81,0 33,0,52,0,53,0,27,0,5,0,54,0 48,0,77,0,74,0,43,0,3,0,34,0 16,0,12,0,20,0,17,0,51,0,67,0 44,0,41,0,61,0,76,0,58,0,40,0 30,0,60,0,56,0,49,0,50,0,42,0 31,0,32,0,21,0,22,0,24,0,15,0 39,0,70,0,68,0,36,0,38,0,6,0 64,0,73,0,14,0,63,0,23,0,75,0 80,0,46,0,66,0,72,0,62,0,65,0 59,0,57,0,35,0,7,0,55,0,10,0 18,0,9,0,13,0,25,0,71,0,4,0 1,0,29,0,61,0,2,0,79,0,44,0 76,0,3,0,74,0,82,0,56,0,54,0 8,0,17,0,30,0,58,0,43,0,11,0 42,0,6,0,15,0,5,0,67,0,33,0 12,0,32,0,66,0,38,0,53,0,64,0 39,0,24,0,65,0,48,0,41,0,60,0 52,0,59,0,20,0,23,0,45,0,25,0 79,0,36,0,31,0,78,0,9,0,49,0 2,0,7,0,19,0,28,0,77,0,14,0 47,0,40,0,72,0,57,0,69,0,18,0 63,0,37,0,51,0,13,0,29,0,55,0 80,0,35,0,81,0,50,0,73,0,46,0 27,0,75,0,16,0,70,0,1,0,10,0 34,0,21,0,22,0,71,0,62,0,68,0 4,0,61,0,23,0,26,0,53,0,31,0 32,0,60,0,45,0,14,0,30,0,9,0 54,0,3,0,39,0,17,0,79,0,57,0 40,0,5,0,56,0,38,0,48,0,8,0 73,0,66,0,59,0,67,0,82,0,24,0 58,0,65,0,70,0,35,0,28,0,29,0 44,0,11,0,64,0,49,0,36,0,16,0 37,0,34,0,1,0,41,0,25,0,50,0 77,0,42,0,72,0,27,0,20,0,21,0 51,0,46,0,76,0,43,0,6,0,22,0 68,0,4,0,7,0,69,0,62,0,75,0 12,0,78,0,10,0,33,0,18,0,80,0 15,0,63,0,74,0,47,0,81,0,19,0 52,0,55,0,26,0,2,0,13,0,71,0 ================================================ FILE: schedules/82_13.csv ================================================ 81,0,40,0,66,0,23,0,26,0,21,0 11,0,29,0,69,0,46,0,82,0,31,0 48,0,70,0,30,0,22,0,41,0,51,0 79,0,73,0,35,0,76,0,38,0,14,0 32,0,59,0,63,0,33,0,10,0,5,0 9,0,12,0,36,0,16,0,74,0,25,0 58,0,50,0,65,0,17,0,56,0,45,0 47,0,39,0,4,0,6,0,55,0,37,0 49,0,54,0,15,0,57,0,53,0,52,0 8,0,2,0,42,0,43,0,13,0,34,0 18,0,72,0,28,0,19,0,24,0,60,0 75,0,67,0,61,0,7,0,20,0,71,0 27,0,62,0,3,0,44,0,77,0,64,0 1,0,80,0,76,0,78,0,68,0,59,0 21,0,74,0,65,0,30,0,16,0,39,0 31,0,45,0,12,0,73,0,70,0,51,0 41,0,32,0,17,0,40,0,11,0,53,0 6,0,60,0,2,0,66,0,57,0,36,0 48,0,19,0,55,0,7,0,58,0,29,0 75,0,64,0,22,0,14,0,8,0,72,0 20,0,54,0,43,0,82,0,79,0,9,0 50,0,18,0,4,0,80,0,27,0,5,0 71,0,46,0,15,0,1,0,62,0,26,0 38,0,37,0,28,0,77,0,56,0,81,0 25,0,78,0,52,0,10,0,24,0,44,0 34,0,49,0,61,0,23,0,67,0,13,0 63,0,3,0,69,0,42,0,68,0,47,0 35,0,58,0,82,0,33,0,16,0,31,0 75,1,9,0,55,0,21,1,73,0,64,0 15,0,8,0,6,0,72,0,54,0,29,0 77,0,19,0,18,0,71,0,22,0,57,0 11,0,62,0,52,0,66,0,45,0,80,0 76,0,10,0,27,0,70,0,23,0,34,0 60,0,53,0,5,0,65,0,51,0,42,0 20,0,39,0,49,0,35,0,41,0,12,0 7,0,40,0,14,0,25,0,3,0,1,0 36,0,59,0,74,0,63,0,28,0,17,0 33,0,38,0,47,0,78,0,50,0,13,0 24,0,26,0,32,0,68,0,2,0,37,0 30,0,61,0,44,0,46,0,4,0,43,0 56,0,79,0,67,0,69,0,48,0,81,0 39,0,8,0,76,0,19,0,9,0,15,0 25,0,6,0,34,0,75,0,51,0,21,0 74,0,41,0,23,0,1,0,72,0,57,0 40,0,65,0,64,0,38,0,36,0,42,0 27,0,78,0,7,0,32,0,60,0,82,0 37,0,10,0,16,0,71,0,31,0,55,0 69,0,49,0,70,0,4,0,66,0,48,0 62,0,12,0,50,0,28,0,67,0,52,0 68,0,45,0,79,0,61,0,18,0,29,0 17,0,44,0,54,0,77,0,80,0,14,0 47,0,20,0,59,0,30,0,81,0,58,0 22,0,2,0,13,0,5,0,11,0,3,0 26,0,63,0,43,0,35,0,56,0,24,0 33,0,46,0,21,0,73,0,53,0,4,0 42,0,31,0,78,0,66,0,41,0,75,0 61,0,79,0,51,0,16,0,50,0,27,0 62,0,48,0,44,0,8,0,74,0,38,0 30,0,72,0,71,0,32,0,76,0,36,0 49,0,2,0,65,0,28,0,58,0,10,0 5,0,39,0,23,0,67,0,68,0,54,0 69,0,24,0,47,0,12,0,40,0,60,0 7,0,22,0,6,0,81,0,43,0,17,0 56,0,73,0,80,0,1,0,29,0,34,0 26,0,77,0,53,0,55,0,11,0,59,0 46,0,18,0,57,0,37,0,9,0,35,0 82,0,19,0,14,0,70,0,13,0,63,0 45,0,3,0,33,0,15,0,20,0,25,0 52,0,68,0,60,0,64,0,58,0,41,0 16,0,24,0,21,0,54,0,47,0,7,0 73,0,71,0,44,0,69,0,28,0,42,0 80,0,31,0,32,0,49,0,79,0,8,0 6,0,4,0,57,0,38,0,59,0,22,0 36,0,13,0,35,0,62,0,75,0,53,0 76,0,20,0,66,0,25,0,50,0,48,0 67,0,78,0,65,0,46,0,63,0,2,0 11,0,56,0,23,0,15,0,55,0,12,0 17,0,14,0,29,0,51,0,26,0,10,0 19,0,74,0,43,0,40,0,52,0,33,0 77,0,72,0,61,0,5,0,70,0,9,0 27,0,64,0,81,0,39,0,45,0,1,0 34,0,82,0,3,0,30,0,37,0,18,0 50,0,44,0,67,0,31,0,6,0,73,0 23,0,80,0,22,0,28,0,53,0,20,0 32,0,7,0,69,0,59,0,51,0,15,0 12,0,29,0,46,0,76,0,54,0,42,0 17,0,49,0,11,0,60,0,38,0,16,0 10,0,40,0,68,0,13,0,9,0,45,0 43,0,55,0,3,0,66,0,72,0,65,0 1,0,52,0,21,0,82,0,77,0,36,0 19,0,33,0,81,0,27,0,2,0,61,0 64,0,70,0,79,0,74,0,78,0,71,0 63,0,41,0,25,0,62,0,37,0,4,0 56,0,75,0,5,0,30,0,24,0,57,0 58,0,48,0,39,0,18,0,26,0,14,0 47,0,35,0,46,0,34,0,8,0,28,0 9,0,50,0,42,0,49,0,82,0,59,0 38,0,13,0,17,0,69,0,20,0,27,0 22,0,54,0,45,0,67,0,32,0,55,0 15,0,63,0,37,0,2,0,40,0,79,0 52,0,81,0,10,0,57,0,76,0,3,0 41,0,44,0,7,0,65,0,18,0,23,0 26,0,5,0,31,0,1,0,12,0,19,0 33,0,75,0,30,0,29,0,60,0,62,0 16,0,58,0,8,0,24,0,77,0,6,0 14,0,11,0,34,0,71,0,68,0,4,0 36,0,80,0,64,0,51,0,43,0,48,0 53,0,66,0,35,0,61,0,47,0,74,0 72,0,70,0,56,0,25,0,39,0,21,0 73,0,37,0,45,0,78,0,5,0,49,0 60,0,44,0,13,0,12,0,63,0,76,0 1,0,33,0,69,0,22,0,18,0,55,0 9,0,77,0,62,0,32,0,6,0,65,0 10,0,20,0,50,0,42,0,24,0,11,0 64,0,30,0,68,0,2,0,7,0,35,0 54,0,48,0,21,0,3,0,61,0,59,0 16,0,57,0,29,0,70,0,67,0,43,0 72,0,58,0,53,0,40,0,78,0,34,0 79,0,25,0,38,0,23,0,46,0,19,0 51,0,8,0,71,0,4,0,56,0,52,0 81,0,31,0,14,0,74,0,80,0,15,0 41,0,36,0,27,0,26,0,47,0,73,0 82,0,75,0,28,0,39,0,17,0,66,0 37,0,48,0,11,0,33,0,44,0,35,0 12,0,34,0,57,0,64,0,32,0,50,0 76,0,25,0,43,0,69,0,58,0,5,0 38,0,24,0,2,0,21,0,53,0,45,0 74,0,13,0,4,0,77,0,15,0,7,0 22,0,72,0,63,0,29,0,52,0,27,0 55,0,80,0,81,0,46,0,70,0,36,0 8,0,73,0,68,0,10,0,17,0,60,0 62,0,23,0,6,0,82,0,26,0,78,0 75,0,20,0,18,0,40,0,49,0,16,0 1,0,42,0,66,0,30,0,19,0,79,0 3,0,51,0,47,0,9,0,39,0,67,0 56,0,28,0,61,0,14,0,59,0,41,0 71,0,65,0,25,0,31,0,54,0,13,0 5,0,36,0,52,0,33,0,7,0,11,0 77,0,60,0,45,0,34,0,48,0,46,0 53,0,16,0,81,0,50,0,63,0,8,0 29,0,26,0,22,0,64,0,49,0,74,0 67,0,17,0,21,0,37,0,19,0,78,0 28,0,70,0,1,0,75,0,3,0,38,0 41,0,24,0,82,0,71,0,76,0,79,0 4,0,2,0,31,0,72,0,9,0,23,0 51,0,57,0,55,0,44,0,68,0,20,0 62,0,32,0,39,0,43,0,61,0,69,0 12,0,14,0,10,0,66,0,30,0,6,0 15,0,27,0,35,0,58,0,42,0,80,0 59,0,56,0,54,0,40,0,18,0,73,0 65,0,19,0,76,0,47,0,11,0,75,0 24,0,17,0,4,0,64,0,1,0,67,0 79,0,13,0,5,0,55,0,60,0,21,0 34,0,39,0,36,0,44,0,31,0,22,0 16,0,28,0,9,0,30,0,45,0,26,0 70,0,57,0,42,0,33,0,62,0,8,0 74,0,50,0,2,0,54,0,69,0,41,0 32,0,35,0,78,0,81,0,29,0,25,0 51,0,58,0,77,0,63,0,23,0,73,0 3,0,6,0,40,0,71,0,61,0,80,0 66,0,7,0,49,0,56,0,46,0,27,0 59,0,37,0,52,0,20,0,14,0,65,0 15,0,38,0,18,0,10,0,47,0,43,0 12,0,53,0,68,0,48,0,72,0,82,0 41,0,9,0,29,0,5,0,81,0,44,0 45,0,23,0,69,0,75,0,36,0,8,0 21,0,71,0,70,0,60,0,50,0,35,0 78,0,1,0,58,0,54,0,11,0,51,0 46,0,66,0,59,0,24,0,64,0,13,0 30,0,25,0,2,0,52,0,17,0,18,0 10,0,53,0,7,0,77,0,39,0,79,0 16,0,56,0,19,0,4,0,32,0,3,0 42,0,20,0,37,0,6,0,76,0,74,0 34,0,47,0,55,0,62,0,14,0,49,0 67,0,38,0,26,0,33,0,72,0,80,0 63,0,40,0,31,0,48,0,57,0,28,0 82,0,73,0,15,0,61,0,22,0,65,0 43,0,68,0,75,0,12,0,27,0,21,0 ================================================ FILE: schedules/82_14.csv ================================================ 80,0,44,0,12,0,79,0,34,0,7,0 32,0,54,0,70,0,56,0,65,0,51,0 76,0,71,0,53,0,52,0,3,0,47,0 8,0,23,0,6,0,36,0,64,0,77,0 82,0,31,0,55,0,26,0,19,0,69,0 75,0,41,0,73,0,40,0,60,0,9,0 81,0,11,0,2,0,15,0,59,0,1,0 72,0,49,0,46,0,28,0,10,0,35,0 39,0,43,0,42,0,13,0,57,0,17,0 22,0,74,0,62,0,63,0,18,0,61,0 20,0,45,0,68,0,5,0,37,0,67,0 25,0,30,0,38,0,29,0,33,0,21,0 48,0,66,0,14,0,58,0,24,0,4,0 78,0,50,0,77,0,16,0,27,0,80,0 49,0,60,0,44,0,69,0,31,0,56,0 70,0,47,0,17,0,2,0,73,0,8,0 13,0,52,0,6,0,9,0,61,0,46,0 12,0,41,0,62,0,45,0,1,0,72,0 43,0,10,0,5,0,29,0,63,0,71,0 14,0,28,0,19,0,23,0,54,0,22,0 66,0,79,0,21,0,68,0,40,0,50,0 3,0,37,0,64,0,42,0,33,0,4,0 53,0,67,0,18,0,48,0,75,0,55,0 11,0,27,0,51,0,20,0,36,0,30,0 32,0,16,0,26,0,25,0,35,0,59,0 24,0,76,0,7,0,57,0,78,0,82,0 39,0,81,0,58,0,34,0,74,0,38,0 15,0,28,0,23,0,65,0,71,0,17,0 33,1,70,0,69,0,45,1,21,0,10,0 48,1,19,0,2,0,13,1,64,0,5,0 72,0,4,0,77,0,68,0,53,0,30,0 11,0,36,0,62,0,43,0,44,0,25,0 49,0,57,0,80,0,60,0,63,0,54,0 74,0,82,0,50,0,42,0,81,0,73,0 40,0,20,0,65,0,26,0,24,0,3,0 6,0,27,0,7,0,47,0,59,0,58,0 52,0,38,0,12,0,75,0,67,0,32,0 31,0,79,0,39,0,8,0,61,0,66,0 18,0,1,0,46,0,56,0,76,0,16,0 29,0,55,0,51,0,14,0,41,0,35,0 9,0,34,0,78,0,37,0,22,0,15,0 10,0,77,0,20,0,74,0,44,0,19,0 7,0,4,0,60,0,23,0,50,0,13,0 59,0,73,0,64,0,68,0,52,0,69,0 45,0,75,0,2,0,57,0,71,0,42,0 54,0,81,0,79,0,58,0,76,0,46,0 21,0,53,0,65,0,36,0,41,0,1,0 3,0,11,0,9,0,39,0,14,0,12,0 27,0,30,0,63,0,15,0,67,0,40,0 70,0,6,0,55,0,49,0,78,0,62,0 48,0,17,0,31,0,35,0,51,0,33,0 56,0,37,0,43,0,26,0,22,0,8,0 24,0,47,0,66,0,28,0,29,0,16,0 80,0,72,0,5,0,82,0,32,0,18,0 25,0,34,0,68,0,38,0,61,0,3,0 14,0,54,0,45,0,60,0,53,0,13,0 55,0,44,0,30,0,59,0,81,0,65,0 35,0,76,0,48,0,39,0,15,0,36,0 46,0,12,0,78,0,33,0,62,0,43,0 58,0,9,0,64,0,29,0,70,0,40,0 10,0,8,0,31,0,50,0,75,0,80,0 56,0,26,0,52,0,5,0,16,0,51,0 23,0,25,0,11,0,73,0,66,0,34,0 2,0,61,0,41,0,69,0,20,0,82,0 72,0,79,0,71,0,27,0,67,0,19,0 32,0,63,0,77,0,42,0,28,0,18,0 47,0,49,0,37,0,57,0,21,0,74,0 4,0,17,0,1,0,22,0,6,0,38,0 7,0,59,0,8,0,24,0,5,0,33,0 56,0,23,0,80,0,35,0,81,0,3,0 78,0,53,0,58,0,61,0,44,0,51,0 68,0,31,0,54,0,71,0,41,0,82,0 34,0,52,0,29,0,36,0,26,0,72,0 57,0,65,0,16,0,13,0,9,0,62,0 6,0,10,0,40,0,42,0,55,0,22,0 49,0,18,0,45,0,30,0,39,0,50,0 12,0,4,0,69,0,25,0,28,0,27,0 75,0,1,0,79,0,14,0,47,0,15,0 74,0,24,0,73,0,32,0,43,0,76,0 37,0,77,0,48,0,63,0,70,0,11,0 17,0,21,0,7,0,46,0,19,0,20,0 64,0,66,0,2,0,60,0,67,0,38,0 36,0,3,0,10,0,31,0,58,0,13,0 68,0,39,0,80,0,28,0,52,0,44,0 33,0,6,0,61,0,75,0,29,0,27,0 73,0,45,0,26,0,8,0,4,0,14,0 63,0,43,0,16,0,41,0,30,0,23,0 19,0,76,0,18,0,51,0,34,0,59,0 40,0,53,0,17,0,82,0,12,0,5,0 66,0,77,0,1,0,71,0,54,0,49,0 74,0,15,0,9,0,7,0,64,0,69,0 47,0,60,0,32,0,20,0,81,0,62,0 38,0,70,0,42,0,79,0,24,0,11,0 22,0,2,0,56,0,48,0,21,0,72,0 25,0,46,0,37,0,65,0,55,0,50,0 35,0,57,0,8,0,78,0,67,0,10,0 49,0,23,0,51,0,12,0,68,0,29,0 80,0,13,0,71,0,59,0,74,0,40,0 60,0,82,0,34,0,43,0,27,0,1,0 33,0,77,0,26,0,73,0,39,0,61,0 56,0,42,0,63,0,36,0,7,0,53,0 47,0,11,0,46,0,32,0,22,0,19,0 72,0,15,0,16,0,45,0,70,0,44,0 31,0,66,0,35,0,52,0,14,0,65,0 24,0,81,0,67,0,6,0,69,0,21,0 57,0,5,0,54,0,79,0,4,0,55,0 58,0,62,0,75,0,76,0,2,0,37,0 50,0,28,0,20,0,9,0,48,0,38,0 78,0,18,0,25,0,41,0,17,0,64,0 30,0,70,0,59,0,3,0,74,0,23,0 15,0,26,0,68,0,80,0,36,0,47,0 14,0,67,0,34,0,16,0,49,0,33,0 29,0,60,0,8,0,82,0,65,0,22,0 10,0,53,0,51,0,37,0,27,0,39,0 35,0,62,0,38,0,73,0,71,0,7,0 61,0,32,0,79,0,45,0,55,0,17,0 3,0,57,0,41,0,44,0,46,0,77,0 66,0,69,0,76,0,6,0,30,0,5,0 24,0,72,0,75,0,54,0,64,0,11,0 9,0,43,0,18,0,4,0,81,0,31,0 2,0,28,0,78,0,25,0,40,0,56,0 13,0,12,0,63,0,21,0,58,0,20,0 1,0,52,0,19,0,42,0,48,0,50,0 82,0,38,0,15,0,77,0,51,0,14,0 16,0,68,0,62,0,69,0,8,0,39,0 64,0,34,0,30,0,55,0,47,0,71,0 3,0,43,0,17,0,7,0,72,0,54,0 81,0,33,0,22,0,53,0,41,0,79,0 73,0,20,0,76,0,29,0,80,0,31,0 58,0,35,0,63,0,19,0,25,0,45,0 48,0,24,0,59,0,10,0,56,0,12,0 60,0,18,0,21,0,78,0,52,0,11,0 37,0,32,0,23,0,1,0,13,0,40,0 9,0,27,0,42,0,49,0,66,0,26,0 36,0,61,0,5,0,70,0,57,0,28,0 67,0,4,0,74,0,75,0,46,0,65,0 44,0,6,0,35,0,2,0,50,0,63,0 3,0,30,0,29,0,8,0,19,0,62,0 14,0,10,0,17,0,81,0,64,0,68,0 33,0,40,0,38,0,47,0,72,0,18,0 48,0,69,0,53,0,26,0,79,0,23,0 32,0,56,0,57,0,15,0,66,0,58,0 41,0,20,0,4,0,39,0,70,0,34,0 75,0,21,0,51,0,80,0,45,0,43,0 36,0,52,0,74,0,55,0,54,0,2,0 82,0,46,0,42,0,59,0,44,0,9,0 60,0,71,0,61,0,37,0,24,0,16,0 11,0,12,0,65,0,50,0,76,0,6,0 1,0,5,0,28,0,78,0,27,0,73,0 67,0,22,0,31,0,7,0,77,0,13,0 49,0,8,0,15,0,25,0,53,0,20,0 47,0,39,0,56,0,43,0,55,0,23,0 32,0,68,0,33,0,2,0,9,0,57,0 79,0,37,0,82,0,30,0,35,0,52,0 71,0,40,0,36,0,46,0,69,0,14,0 54,0,73,0,19,0,12,0,18,0,6,0 59,0,67,0,28,0,31,0,62,0,1,0 13,0,41,0,70,0,26,0,38,0,76,0 74,0,42,0,72,0,51,0,60,0,25,0 4,0,61,0,16,0,80,0,11,0,10,0 3,0,44,0,21,0,64,0,48,0,27,0 50,0,24,0,29,0,34,0,17,0,63,0 7,0,22,0,78,0,66,0,45,0,81,0 58,0,65,0,5,0,75,0,49,0,77,0 33,0,52,0,67,0,70,0,15,0,43,0 30,0,26,0,46,0,2,0,60,0,12,0 76,0,61,0,80,0,42,0,14,0,23,0 6,0,16,0,64,0,53,0,31,0,32,0 27,0,13,0,44,0,18,0,35,0,24,0 69,0,59,0,38,0,78,0,37,0,54,0 81,0,51,0,19,0,40,0,4,0,49,0 45,0,47,0,62,0,17,0,77,0,9,0 25,0,22,0,21,0,71,0,39,0,5,0 1,0,29,0,48,0,68,0,74,0,7,0 75,0,63,0,36,0,82,0,3,0,66,0 56,0,73,0,79,0,65,0,10,0,34,0 58,0,41,0,55,0,8,0,11,0,28,0 72,0,50,0,14,0,20,0,57,0,59,0 27,0,31,0,23,0,38,0,45,0,46,0 62,0,15,0,42,0,5,0,21,0,4,0 67,0,54,0,48,0,61,0,25,0,47,0 19,0,53,0,33,0,66,0,74,0,80,0 35,0,69,0,40,0,34,0,77,0,43,0 29,0,39,0,13,0,75,0,81,0,56,0 44,0,36,0,37,0,17,0,73,0,49,0 3,0,28,0,51,0,79,0,60,0,6,0 30,0,7,0,10,0,52,0,32,0,41,0 8,0,55,0,63,0,9,0,72,0,76,0 65,0,78,0,24,0,18,0,2,0,68,0 64,0,57,0,22,0,16,0,20,0,12,0 50,0,71,0,1,0,26,0,58,0,70,0 82,0,45,0,13,0,11,0,33,0,48,0 ================================================ FILE: schedules/82_2.csv ================================================ 16,0,80,0,12,0,45,0,29,0,7,0 50,0,71,0,26,0,14,0,61,0,18,0 40,0,27,0,17,0,13,0,51,0,35,0 15,0,56,0,31,0,62,0,67,0,28,0 74,0,58,0,77,0,23,0,37,0,2,0 21,0,36,0,34,0,73,0,33,0,3,0 24,0,72,0,48,0,38,0,75,0,76,0 68,0,20,0,32,0,57,0,6,0,82,0 10,0,44,0,11,0,5,0,19,0,4,0 53,0,52,0,81,0,79,0,66,0,8,0 47,0,9,0,25,0,41,0,70,0,1,0 64,0,30,0,43,0,49,0,60,0,69,0 65,0,63,0,42,0,22,0,46,0,54,0 59,0,78,0,36,0,39,0,55,0,72,0 33,0,7,0,61,0,75,0,68,0,17,0 4,0,26,0,6,0,40,0,15,0,24,0 45,0,2,0,56,0,66,0,44,0,50,0 62,0,13,0,14,0,81,0,76,0,12,0 1,0,18,0,5,0,64,0,21,0,58,0 23,0,49,0,35,0,32,0,22,0,41,0 70,0,63,0,8,0,29,0,31,0,48,0 69,0,19,0,16,0,47,0,53,0,42,0 55,0,79,0,82,0,10,0,37,0,27,0 73,0,39,0,67,0,25,0,65,0,80,0 78,0,28,0,60,0,52,0,11,0,3,0 43,0,57,0,46,0,59,0,9,0,77,0 74,0,38,0,20,0,30,0,34,0,71,0 54,0,49,1,8,1,51,0,66,1,44,1 ================================================ FILE: schedules/82_3.csv ================================================ 42,0,81,0,56,0,2,0,58,0,73,0 60,0,64,0,28,0,18,0,16,0,27,0 69,0,43,0,45,0,72,0,31,0,19,0 22,0,6,0,10,0,54,0,7,0,8,0 41,0,23,0,51,0,5,0,52,0,66,0 12,0,1,0,82,0,67,0,79,0,36,0 34,0,14,0,39,0,3,0,4,0,53,0 78,0,15,0,32,0,74,0,20,0,77,0 71,0,9,0,33,0,37,0,13,0,30,0 24,0,61,0,11,0,38,0,48,0,68,0 63,0,46,0,57,0,47,0,59,0,62,0 17,0,26,0,80,0,44,0,25,0,70,0 21,0,50,0,29,0,40,0,75,0,35,0 55,0,49,0,8,0,76,0,65,0,39,0 3,0,43,0,2,0,51,0,60,0,20,0 18,0,22,0,5,0,82,0,45,0,56,0 52,0,37,0,58,0,79,0,6,0,32,0 27,0,36,0,4,0,15,0,24,0,57,0 11,0,28,0,31,0,9,0,67,0,73,0 78,0,70,0,71,0,63,0,75,0,69,0 54,0,53,0,12,0,50,0,42,0,68,0 1,0,46,0,33,0,61,0,80,0,49,0 65,0,40,0,13,0,64,0,47,0,74,0 38,0,29,0,44,0,77,0,30,0,14,0 62,0,26,0,76,0,34,0,41,0,21,0 66,0,25,0,19,0,59,0,7,0,81,0 48,0,16,0,72,0,55,0,10,0,23,0 35,0,69,0,82,0,17,0,15,0,39,0 70,0,79,0,53,0,57,0,43,0,49,0 13,0,3,0,8,0,1,0,50,0,24,0 80,0,47,0,37,0,4,0,54,0,60,0 58,0,20,0,75,0,76,0,9,0,64,0 25,0,36,0,68,0,28,0,33,0,29,0 62,0,18,0,19,0,14,0,71,0,12,0 17,0,2,0,74,0,45,0,66,0,55,0 10,0,52,0,65,0,78,0,81,0,31,0 41,0,22,0,30,0,11,0,42,0,72,0 6,0,63,0,67,0,21,0,44,0,48,0 77,0,51,0,56,0,46,0,26,0,35,0 23,0,59,0,27,0,32,0,73,0,61,0 16,0,7,0,38,0,5,0,34,0,40,0 ================================================ FILE: schedules/82_4.csv ================================================ 6,0,23,0,24,0,72,0,29,0,73,0 28,0,5,0,76,0,56,0,59,0,4,0 11,0,48,0,22,0,30,0,36,0,15,0 20,0,57,0,77,0,8,0,67,0,38,0 46,0,25,0,71,0,41,0,16,0,68,0 44,0,74,0,27,0,32,0,43,0,13,0 64,0,31,0,35,0,2,0,37,0,52,0 7,0,9,0,80,0,21,0,60,0,58,0 81,0,62,0,19,0,50,0,66,0,3,0 39,0,47,0,82,0,65,0,75,0,61,0 63,0,42,0,40,0,51,0,18,0,33,0 78,0,34,0,14,0,53,0,26,0,70,0 12,0,10,0,1,0,45,0,17,0,54,0 49,0,55,0,56,0,79,0,69,0,52,0 76,0,7,0,38,0,30,0,73,0,16,0 31,0,67,0,13,0,50,0,68,0,28,0 47,0,66,0,44,0,46,0,35,0,8,0 60,0,51,0,4,0,72,0,3,0,57,0 2,0,15,0,70,0,6,0,9,0,75,0 71,0,77,0,17,0,63,0,74,0,23,0 10,0,69,0,36,0,14,0,20,0,33,0 24,0,32,0,45,0,49,0,81,0,48,0 82,0,79,0,26,0,25,0,21,0,64,0 78,0,11,0,27,0,1,0,5,0,29,0 53,0,61,0,22,0,55,0,54,0,40,0 39,0,37,0,58,0,42,0,43,0,59,0 18,0,65,0,41,0,19,0,34,0,80,0 12,0,23,0,20,0,62,0,31,0,7,0 50,1,45,0,52,0,4,1,6,0,47,0 81,0,28,0,73,0,74,0,82,0,57,0 15,0,21,0,68,0,14,0,17,0,76,0 25,0,35,0,61,0,38,0,27,0,70,0 10,0,32,0,53,0,58,0,11,0,51,0 46,0,43,0,75,0,64,0,34,0,69,0 79,0,16,0,13,0,80,0,42,0,1,0 41,0,2,0,36,0,40,0,77,0,49,0 33,0,62,0,30,0,78,0,37,0,60,0 12,0,3,0,8,0,24,0,26,0,65,0 5,0,55,0,66,0,9,0,39,0,63,0 67,0,19,0,22,0,71,0,29,0,56,0 54,0,59,0,72,0,48,0,44,0,18,0 34,0,61,0,17,0,79,0,11,0,7,0 20,0,75,0,73,0,51,0,13,0,52,0 4,0,74,0,37,0,10,0,16,0,70,0 41,0,64,0,60,0,15,0,27,0,24,0 58,0,49,0,6,0,65,0,1,0,68,0 36,0,42,0,5,0,12,0,81,0,67,0 9,0,46,0,29,0,76,0,53,0,50,0 43,0,54,0,57,0,56,0,33,0,47,0 39,0,62,0,72,0,69,0,22,0,21,0 63,0,8,0,25,0,19,0,2,0,48,0 26,0,23,0,59,0,40,0,66,0,45,0 80,0,3,0,31,0,78,0,77,0,44,0 71,0,55,0,18,0,30,0,35,0,28,0 38,0,82,0,50,0,32,0,14,0,4,0 ================================================ FILE: schedules/82_5.csv ================================================ 14,0,2,0,60,0,1,0,42,0,35,0 73,0,55,0,23,0,51,0,3,0,72,0 15,0,21,0,30,0,46,0,22,0,24,0 76,0,4,0,61,0,39,0,70,0,8,0 34,0,68,0,71,0,40,0,69,0,82,0 7,0,57,0,62,0,50,0,12,0,79,0 29,0,13,0,47,0,58,0,56,0,44,0 45,0,6,0,18,0,31,0,17,0,9,0 43,0,63,0,75,0,77,0,25,0,59,0 64,0,74,0,33,0,19,0,78,0,27,0 67,0,41,0,52,0,53,0,11,0,26,0 28,0,38,0,81,0,5,0,66,0,16,0 10,0,80,0,20,0,54,0,36,0,49,0 37,0,65,0,4,0,32,0,48,0,42,0 9,0,23,0,79,0,61,0,34,0,24,0 56,0,72,0,25,0,21,0,68,0,7,0 17,0,22,0,39,0,63,0,12,0,60,0 77,0,76,0,51,0,13,0,71,0,1,0 5,0,30,0,47,0,18,0,43,0,19,0 67,0,38,0,35,0,70,0,62,0,58,0 49,0,14,0,50,0,45,0,40,0,81,0 53,0,55,0,20,0,6,0,29,0,16,0 11,0,8,0,10,0,64,0,69,0,15,0 44,0,54,0,74,0,2,0,31,0,28,0 3,0,26,0,27,0,48,0,75,0,57,0 46,0,36,0,52,0,32,0,59,0,33,0 66,0,41,0,65,0,82,0,73,0,80,0 78,0,68,0,50,0,37,0,51,0,30,0 61,1,1,0,25,0,47,1,67,0,20,0 42,1,64,0,79,0,53,1,81,0,13,0 10,0,58,0,4,0,55,0,7,0,5,0 6,0,60,0,19,0,38,0,21,0,26,0 14,0,23,0,22,0,27,0,18,0,59,0 62,0,45,0,63,0,76,0,74,0,73,0 43,0,66,0,31,0,49,0,52,0,48,0 65,0,40,0,28,0,8,0,33,0,35,0 82,0,75,0,32,0,15,0,16,0,56,0 54,0,29,0,39,0,34,0,77,0,57,0 12,0,24,0,44,0,3,0,11,0,37,0 9,0,71,0,36,0,70,0,41,0,78,0 46,0,80,0,69,0,72,0,17,0,2,0 20,0,42,0,43,0,73,0,7,0,27,0 76,0,81,0,35,0,23,0,30,0,25,0 13,0,32,0,40,0,26,0,74,0,10,0 59,0,48,0,8,0,19,0,55,0,68,0 5,0,31,0,37,0,39,0,67,0,79,0 61,0,78,0,11,0,18,0,38,0,63,0 64,0,29,0,51,0,52,0,62,0,65,0 3,0,1,0,17,0,36,0,15,0,66,0 69,0,53,0,50,0,54,0,9,0,58,0 28,0,71,0,21,0,14,0,47,0,80,0 16,0,41,0,49,0,2,0,4,0,22,0 77,0,45,0,82,0,72,0,44,0,60,0 56,0,24,0,57,0,70,0,6,0,33,0 34,0,12,0,78,0,46,0,75,0,42,0 76,0,59,0,38,0,29,0,40,0,7,0 54,0,68,0,32,0,62,0,43,0,17,0 63,0,79,0,8,0,30,0,20,0,3,0 41,0,69,0,21,0,61,0,74,0,37,0 49,0,39,0,27,0,47,0,72,0,35,0 19,0,81,0,31,0,71,0,4,0,57,0 33,0,15,0,53,0,80,0,25,0,34,0 16,0,9,0,14,0,51,0,67,0,44,0 2,0,73,0,11,0,58,0,6,0,48,0 46,0,60,0,56,0,66,0,50,0,23,0 82,0,64,0,26,0,12,0,1,0,55,0 65,0,5,0,36,0,13,0,45,0,24,0 52,0,70,0,18,0,10,0,75,0,28,0 77,0,61,0,42,0,22,0,47,0,53,0 ================================================ FILE: schedules/82_6.csv ================================================ 25,0,32,0,26,0,79,0,65,0,36,0 59,0,78,0,29,0,69,0,4,0,43,0 52,0,72,0,20,0,54,0,55,0,33,0 24,0,49,0,81,0,8,0,12,0,51,0 28,0,15,0,64,0,57,0,56,0,62,0 5,0,30,0,60,0,6,0,53,0,44,0 73,0,11,0,48,0,23,0,75,0,47,0 70,0,71,0,58,0,63,0,19,0,31,0 21,0,3,0,42,0,18,0,22,0,66,0 76,0,1,0,13,0,10,0,41,0,7,0 46,0,50,0,38,0,34,0,61,0,77,0 39,0,35,0,16,0,45,0,17,0,40,0 14,0,67,0,80,0,82,0,2,0,74,0 27,0,68,0,5,0,9,0,37,0,33,0 65,0,23,0,63,0,64,0,53,0,72,0 18,0,59,0,32,0,54,0,73,0,62,0 29,0,24,0,42,0,1,0,60,0,58,0 41,0,56,0,47,0,31,0,77,0,21,0 12,0,22,0,79,0,78,0,10,0,71,0 38,0,7,0,6,0,35,0,80,0,49,0 4,0,8,0,20,0,34,0,28,0,74,0 45,0,14,0,44,0,76,0,70,0,43,0 57,0,37,0,2,0,50,0,17,0,81,0 46,0,36,0,52,0,11,0,27,0,66,0 51,0,55,0,69,0,48,0,9,0,19,0 13,0,30,0,16,0,25,0,68,0,75,0 61,0,3,0,39,0,15,0,67,0,26,0 40,0,18,0,34,0,82,0,29,0,10,0 22,0,44,0,24,0,41,0,23,0,20,0 56,0,53,0,8,0,73,0,78,0,35,0 58,0,32,0,21,0,14,0,12,0,27,0 5,0,43,0,42,0,55,0,63,0,57,0 52,0,75,0,6,0,37,0,59,0,71,0 61,0,49,0,25,0,72,0,69,0,2,0 80,0,54,0,64,0,50,0,11,0,45,0 66,0,19,0,15,0,7,0,60,0,17,0 47,0,79,0,39,0,68,0,82,0,81,0 16,0,4,0,26,0,70,0,51,0,77,0 48,0,40,0,31,0,1,0,36,0,67,0 65,0,9,0,76,0,30,0,28,0,38,0 74,0,33,0,3,0,46,0,13,0,62,0 80,0,61,0,56,0,24,0,5,0,52,0 44,0,27,0,71,0,34,0,42,0,35,0 20,0,57,0,75,0,58,0,7,0,79,0 66,0,55,0,37,0,77,0,45,0,32,0 18,0,51,0,67,0,63,0,78,0,41,0 30,0,14,0,19,0,49,0,23,0,54,0 72,0,68,0,1,0,6,0,22,0,62,0 50,0,13,0,69,0,65,0,21,0,40,0 82,0,76,0,4,0,11,0,25,0,12,0 29,0,81,0,70,0,53,0,3,0,38,0 9,0,74,0,31,0,16,0,15,0,43,0 10,0,46,0,73,0,2,0,39,0,64,0 33,0,8,0,36,0,59,0,60,0,47,0 28,0,17,0,42,0,48,0,26,0,52,0 35,0,77,0,57,0,18,0,65,0,68,0 22,0,11,0,67,0,49,0,56,0,32,0 71,0,1,0,69,0,80,0,20,0,30,0 41,0,34,0,70,0,37,0,79,0,15,0 66,0,40,0,73,0,74,0,38,0,12,0 50,0,19,0,62,0,4,0,24,0,47,0 17,0,75,0,10,0,44,0,55,0,36,0 31,0,53,0,2,0,28,0,59,0,13,0 29,0,33,0,51,0,76,0,61,0,64,0 45,0,26,0,78,0,72,0,60,0,27,0 43,0,82,0,23,0,8,0,3,0,6,0 63,0,7,0,25,0,14,0,9,0,46,0 16,0,21,0,54,0,81,0,5,0,48,0 58,0,65,0,49,0,39,0,4,0,66,0 38,0,10,0,68,0,24,0,11,0,69,0 53,0,47,0,17,0,76,0,32,0,80,0 59,0,77,0,12,0,72,0,42,0,30,0 34,0,75,0,64,0,26,0,43,0,19,0 36,0,2,0,9,0,6,0,20,0,78,0 55,0,62,0,7,0,70,0,8,0,40,0 60,0,52,0,41,0,73,0,57,0,3,0 31,0,5,0,39,0,51,0,14,0,22,0 79,0,54,0,27,0,13,0,29,0,67,0 50,0,18,0,44,0,33,0,56,0,16,0 28,0,1,0,63,0,61,0,21,0,37,0 81,0,74,0,23,0,35,0,58,0,25,0 71,0,15,0,82,0,46,0,48,0,45,0 ================================================ FILE: schedules/82_7.csv ================================================ 9,0,80,0,23,0,49,0,50,0,45,0 35,0,3,0,43,0,76,0,56,0,73,0 14,0,48,0,42,0,38,0,7,0,16,0 59,0,33,0,63,0,12,0,69,0,18,0 22,0,81,0,72,0,8,0,41,0,32,0 79,0,4,0,31,0,17,0,67,0,29,0 47,0,37,0,78,0,6,0,64,0,82,0 19,0,62,0,44,0,28,0,51,0,36,0 20,0,10,0,1,0,77,0,13,0,34,0 21,0,40,0,11,0,65,0,2,0,25,0 57,0,39,0,26,0,74,0,27,0,71,0 53,0,60,0,75,0,54,0,15,0,68,0 61,0,30,0,5,0,46,0,70,0,24,0 66,0,58,0,67,0,55,0,52,0,45,0 63,0,73,0,6,0,19,0,4,0,22,0 64,0,50,0,18,0,14,0,56,0,36,0 51,0,38,0,20,0,25,0,17,0,76,0 9,0,81,0,47,0,57,0,16,0,40,0 39,0,13,0,80,0,35,0,8,0,42,0 61,0,74,0,32,0,31,0,60,0,59,0 10,0,62,0,71,0,68,0,24,0,29,0 54,0,70,0,7,0,72,0,33,0,82,0 28,0,58,0,5,0,37,0,43,0,69,0 44,0,27,0,49,0,21,0,1,0,55,0 30,0,2,0,15,0,3,0,41,0,66,0 12,0,77,0,26,0,53,0,48,0,65,0 34,0,46,0,52,0,79,0,23,0,11,0 78,0,73,0,24,0,75,0,39,0,38,0 42,1,51,0,54,0,57,1,29,0,61,0 5,0,25,0,33,0,81,0,71,0,56,0 82,0,13,0,43,0,59,0,22,0,21,0 72,0,76,0,14,0,49,0,58,0,62,0 67,0,80,0,40,0,19,0,68,0,12,0 74,0,3,0,11,0,28,0,17,0,9,0 20,0,52,0,60,0,6,0,27,0,70,0 8,0,2,0,75,0,64,0,10,0,26,0 36,0,15,0,48,0,31,0,23,0,63,0 37,0,45,0,16,0,35,0,1,0,41,0 7,0,65,0,69,0,30,0,47,0,34,0 79,0,55,0,32,0,53,0,78,0,50,0 46,0,18,0,66,0,4,0,77,0,44,0 19,0,13,0,38,0,61,0,27,0,72,0 57,0,11,0,5,0,6,0,75,0,59,0 81,0,28,0,15,0,42,0,49,0,52,0 41,0,23,0,20,0,12,0,54,0,39,0 30,0,51,0,64,0,33,0,43,0,67,0 55,0,7,0,74,0,35,0,40,0,24,0 21,0,14,0,77,0,45,0,31,0,3,0 79,0,58,0,18,0,9,0,71,0,1,0 17,0,10,0,56,0,65,0,82,0,60,0 34,0,63,0,29,0,25,0,50,0,8,0 69,0,53,0,22,0,80,0,46,0,16,0 70,0,73,0,66,0,68,0,36,0,37,0 2,0,48,0,4,0,32,0,62,0,47,0 76,0,44,0,42,0,78,0,26,0,23,0 75,0,18,0,72,0,31,0,51,0,40,0 21,0,17,0,12,0,24,0,64,0,58,0 71,0,14,0,52,0,30,0,13,0,63,0 28,0,41,0,27,0,59,0,10,0,53,0 36,0,16,0,25,0,79,0,43,0,39,0 50,0,69,0,73,0,82,0,61,0,2,0 81,0,4,0,1,0,3,0,80,0,54,0 37,0,22,0,65,0,62,0,33,0,57,0 68,0,46,0,32,0,38,0,6,0,49,0 67,0,77,0,76,0,74,0,8,0,5,0 60,0,78,0,35,0,48,0,66,0,11,0 34,0,9,0,19,0,26,0,15,0,55,0 45,0,56,0,44,0,29,0,20,0,7,0 47,0,50,0,42,0,70,0,43,0,12,0 17,0,2,0,59,0,52,0,1,0,72,0 31,0,39,0,6,0,81,0,30,0,10,0 28,0,68,0,4,0,16,0,23,0,21,0 35,0,82,0,27,0,5,0,63,0,62,0 79,0,37,0,61,0,8,0,14,0,40,0 75,0,19,0,3,0,20,0,46,0,33,0 36,0,38,0,11,0,71,0,47,0,77,0 45,0,13,0,57,0,15,0,69,0,25,0 80,0,41,0,29,0,55,0,76,0,48,0 32,0,65,0,54,0,64,0,44,0,9,0 60,0,26,0,7,0,73,0,18,0,67,0 70,0,22,0,58,0,34,0,74,0,78,0 49,0,53,0,56,0,66,0,51,0,24,0 72,0,50,0,71,0,20,0,37,0,4,0 31,0,68,0,69,0,27,0,11,0,42,0 23,0,55,0,17,0,57,0,43,0,77,0 29,0,35,0,33,0,28,0,14,0,32,0 40,0,1,0,62,0,60,0,39,0,46,0 70,0,59,0,8,0,38,0,44,0,15,0 52,0,24,0,16,0,19,0,18,0,65,0 7,0,12,0,78,0,51,0,2,0,13,0 47,0,66,0,54,0,10,0,79,0,74,0 64,0,48,0,3,0,49,0,5,0,22,0 9,0,67,0,56,0,75,0,63,0,41,0 61,0,25,0,6,0,58,0,26,0,80,0 34,0,82,0,45,0,76,0,81,0,36,0 21,0,53,0,57,0,73,0,30,0,42,0 ================================================ FILE: schedules/82_8.csv ================================================ 20,0,77,0,35,0,5,0,58,0,81,0 2,0,69,0,51,0,47,0,45,0,13,0 23,0,74,0,60,0,40,0,22,0,11,0 26,0,37,0,8,0,71,0,41,0,19,0 33,0,59,0,65,0,12,0,24,0,57,0 18,0,28,0,80,0,1,0,76,0,73,0 78,0,44,0,10,0,31,0,66,0,21,0 6,0,75,0,42,0,53,0,64,0,63,0 55,0,49,0,68,0,15,0,16,0,50,0 36,0,30,0,25,0,32,0,72,0,9,0 14,0,27,0,54,0,79,0,52,0,38,0 17,0,29,0,67,0,48,0,43,0,4,0 46,0,39,0,7,0,61,0,70,0,3,0 62,0,34,0,45,0,82,0,56,0,11,0 35,0,13,0,76,0,10,0,75,0,19,0 41,0,40,0,80,0,50,0,65,0,47,0 25,0,15,0,51,0,12,0,23,0,66,0 60,0,53,0,59,0,44,0,37,0,14,0 18,0,5,0,26,0,48,0,68,0,30,0 7,0,58,0,78,0,57,0,8,0,28,0 62,0,9,0,64,0,74,0,29,0,39,0 73,0,56,0,24,0,27,0,55,0,43,0 72,0,1,0,81,0,69,0,31,0,16,0 3,0,32,0,20,0,2,0,21,0,42,0 49,0,61,0,82,0,63,0,17,0,52,0 6,0,46,0,38,0,77,0,4,0,34,0 22,0,70,0,79,0,33,0,71,0,67,0 54,0,47,0,57,0,36,0,39,0,60,0 64,1,8,0,10,0,59,1,48,0,73,0 7,1,23,0,44,0,81,1,27,0,29,0 72,0,19,0,50,0,58,0,14,0,45,0 66,0,3,0,52,0,5,0,28,0,56,0 49,0,43,0,76,0,12,0,20,0,30,0 11,0,79,0,68,0,4,0,35,0,80,0 6,0,13,0,65,0,18,0,70,0,21,0 16,0,32,0,51,0,74,0,82,0,71,0 33,0,2,0,53,0,54,0,25,0,62,0 42,0,41,0,15,0,61,0,1,0,34,0 40,0,38,0,67,0,26,0,69,0,75,0 36,0,55,0,37,0,46,0,78,0,17,0 24,0,77,0,31,0,22,0,63,0,9,0 28,0,29,0,30,0,50,0,35,0,6,0 72,0,74,0,3,0,73,0,49,0,47,0 45,0,16,0,79,0,43,0,64,0,44,0 27,0,61,0,33,0,60,0,19,0,81,0 52,0,80,0,53,0,15,0,10,0,39,0 12,0,21,0,14,0,41,0,69,0,7,0 68,0,78,0,67,0,24,0,1,0,23,0 66,0,75,0,8,0,77,0,65,0,2,0 59,0,71,0,76,0,31,0,11,0,5,0 34,0,54,0,9,0,37,0,20,0,13,0 46,0,58,0,22,0,42,0,25,0,48,0 32,0,17,0,57,0,38,0,18,0,56,0 63,0,4,0,40,0,55,0,62,0,51,0 82,0,26,0,14,0,36,0,70,0,15,0 30,0,7,0,74,0,77,0,53,0,19,0 67,0,5,0,6,0,12,0,72,0,27,0 13,0,43,0,8,0,3,0,81,0,80,0 73,0,29,0,2,0,71,0,78,0,61,0 79,0,42,0,59,0,39,0,17,0,28,0 65,0,10,0,11,0,49,0,46,0,69,0 9,0,1,0,38,0,58,0,51,0,60,0 40,0,36,0,48,0,24,0,66,0,20,0 23,0,37,0,57,0,35,0,64,0,82,0 31,0,25,0,63,0,18,0,34,0,50,0 68,0,76,0,41,0,52,0,70,0,44,0 56,0,47,0,4,0,75,0,33,0,16,0 22,0,26,0,55,0,54,0,45,0,32,0 21,0,71,0,27,0,62,0,28,0,46,0 19,0,20,0,39,0,51,0,67,0,65,0 37,0,5,0,24,0,49,0,79,0,2,0 57,0,1,0,14,0,40,0,43,0,77,0 73,0,42,0,81,0,66,0,9,0,68,0 38,0,7,0,10,0,82,0,30,0,47,0 70,0,54,0,69,0,80,0,56,0,78,0 4,0,60,0,15,0,13,0,32,0,64,0 62,0,72,0,18,0,44,0,8,0,22,0 34,0,55,0,53,0,29,0,76,0,33,0 61,0,26,0,21,0,16,0,35,0,25,0 52,0,50,0,12,0,75,0,48,0,11,0 58,0,63,0,74,0,36,0,41,0,59,0 3,0,31,0,17,0,45,0,6,0,23,0 32,0,39,0,43,0,69,0,37,0,68,0 49,0,18,0,78,0,77,0,27,0,42,0 64,0,66,0,46,0,67,0,54,0,76,0 70,0,2,0,34,0,72,0,55,0,57,0 82,0,53,0,50,0,79,0,8,0,9,0 13,0,73,0,33,0,7,0,26,0,63,0 22,0,30,0,81,0,41,0,51,0,17,0 74,0,28,0,31,0,75,0,61,0,20,0 40,0,56,0,19,0,15,0,6,0,59,0 62,0,16,0,48,0,14,0,80,0,23,0 44,0,36,0,71,0,3,0,12,0,38,0 29,0,11,0,24,0,58,0,21,0,47,0 5,0,1,0,4,0,10,0,25,0,45,0 52,0,35,0,43,0,60,0,65,0,78,0 67,0,31,0,32,0,41,0,73,0,53,0 33,0,77,0,51,0,28,0,64,0,68,0 61,0,69,0,66,0,59,0,62,0,50,0 82,0,81,0,12,0,40,0,18,0,54,0 16,0,9,0,17,0,11,0,2,0,7,0 45,0,24,0,70,0,38,0,74,0,42,0 76,0,65,0,27,0,4,0,3,0,37,0 29,0,10,0,20,0,26,0,72,0,60,0 34,0,21,0,80,0,19,0,22,0,36,0 25,0,14,0,6,0,8,0,49,0,39,0 75,0,44,0,57,0,15,0,5,0,46,0 79,0,58,0,23,0,56,0,30,0,13,0 48,0,47,0,71,0,1,0,63,0,35,0 55,0,64,0,7,0,52,0,59,0,81,0 ================================================ FILE: schedules/82_9.csv ================================================ 65,0,12,0,80,0,42,0,66,0,13,0 78,0,39,0,7,0,6,0,61,0,19,0 28,0,33,0,2,0,31,0,54,0,40,0 15,0,36,0,67,0,30,0,21,0,1,0 24,0,58,0,29,0,8,0,17,0,9,0 52,0,75,0,10,0,14,0,5,0,71,0 48,0,22,0,25,0,76,0,64,0,59,0 11,0,68,0,45,0,81,0,41,0,37,0 50,0,23,0,69,0,18,0,74,0,32,0 49,0,27,0,72,0,20,0,34,0,53,0 51,0,77,0,43,0,79,0,46,0,35,0 55,0,70,0,57,0,16,0,82,0,4,0 47,0,73,0,62,0,38,0,63,0,26,0 60,0,3,0,78,0,44,0,56,0,80,0 48,0,36,0,19,0,58,0,14,0,68,0 42,0,15,0,18,0,24,0,52,0,2,0 61,0,12,0,20,0,21,0,54,0,75,0 59,0,17,0,40,0,6,0,79,0,49,0 45,0,71,0,74,0,43,0,9,0,76,0 73,0,8,0,16,0,30,0,46,0,65,0 34,0,55,0,13,0,63,0,77,0,10,0 27,0,5,0,51,0,64,0,50,0,38,0 37,0,47,0,31,0,44,0,23,0,25,0 33,0,70,0,29,0,26,0,60,0,11,0 56,0,69,0,62,0,4,0,72,0,41,0 28,0,3,0,22,0,35,0,82,0,67,0 66,0,7,0,1,0,81,0,57,0,53,0 32,0,49,0,9,0,39,0,75,0,68,0 50,0,76,0,46,0,13,0,2,0,21,0 18,0,19,0,34,0,44,0,16,0,17,0 45,0,42,0,38,0,60,0,10,0,30,0 72,0,64,0,63,0,33,0,71,0,80,0 59,0,52,0,74,0,51,0,47,0,54,0 82,0,37,0,24,0,26,0,27,0,36,0 35,0,5,0,81,0,25,0,62,0,58,0 48,0,69,0,73,0,29,0,79,0,61,0 39,0,22,0,56,0,12,0,57,0,15,0 14,0,70,0,6,0,8,0,1,0,23,0 53,0,43,0,28,0,20,0,55,0,78,0 40,0,11,0,77,0,66,0,3,0,4,0 41,0,67,0,31,0,65,0,32,0,7,0 19,0,52,0,21,0,33,0,49,0,25,0 79,0,44,0,30,0,72,0,54,0,76,0 81,0,15,0,80,0,17,0,26,0,50,0 9,0,1,0,51,0,10,0,22,0,69,0 46,0,48,0,42,0,34,0,57,0,62,0 58,0,61,0,47,0,70,0,56,0,77,0 4,0,29,0,18,0,38,0,78,0,37,0 55,0,60,0,40,0,75,0,36,0,41,0 16,0,14,0,67,0,27,0,66,0,74,0 23,0,65,0,59,0,24,0,63,0,43,0 8,0,68,0,7,0,12,0,28,0,5,0 35,0,13,0,64,0,39,0,31,0,11,0 32,0,6,0,2,0,82,0,45,0,20,0 73,0,3,0,54,0,71,0,53,0,15,0 77,0,17,0,33,0,30,0,69,0,37,0 42,0,78,0,22,0,41,0,16,0,47,0 18,0,81,0,75,0,65,0,48,0,70,0 14,0,79,0,56,0,50,0,9,0,63,0 68,0,21,0,64,0,24,0,4,0,34,0 74,0,40,0,26,0,7,0,25,0,45,0 1,0,76,0,5,0,73,0,11,0,82,0 44,0,71,0,39,0,55,0,51,0,29,0 28,0,46,0,60,0,52,0,61,0,27,0 57,0,8,0,49,0,80,0,43,0,36,0 23,0,12,0,72,0,2,0,10,0,35,0 38,0,53,0,6,0,13,0,67,0,58,0 20,0,62,0,19,0,59,0,3,0,31,0 32,0,30,0,63,0,66,0,78,0,48,0 22,0,21,0,65,0,14,0,55,0,45,0 47,0,68,0,79,0,82,0,60,0,71,0 64,0,52,0,16,0,43,0,7,0,56,0 1,0,49,0,4,0,42,0,50,0,54,0 8,0,27,0,35,0,15,0,44,0,69,0 6,0,41,0,25,0,28,0,80,0,34,0 19,0,13,0,40,0,72,0,29,0,5,0 11,0,61,0,38,0,23,0,20,0,57,0 31,0,9,0,77,0,18,0,53,0,26,0 81,0,74,0,33,0,10,0,3,0,36,0 59,0,37,0,46,0,32,0,58,0,12,0 17,0,75,0,67,0,2,0,73,0,51,0 62,0,66,0,70,0,39,0,76,0,24,0 4,0,5,0,43,0,15,0,47,0,6,0 23,0,71,0,56,0,48,0,40,0,21,0 25,0,13,0,27,0,18,0,1,0,79,0 10,0,28,0,26,0,49,0,44,0,64,0 30,0,58,0,7,0,80,0,55,0,11,0 35,0,57,0,50,0,68,0,78,0,59,0 66,0,82,0,51,0,61,0,8,0,31,0 3,0,29,0,63,0,16,0,45,0,75,0 54,0,67,0,24,0,46,0,19,0,81,0 14,0,34,0,76,0,33,0,12,0,69,0 70,0,17,0,22,0,72,0,38,0,74,0 53,0,37,0,60,0,65,0,62,0,2,0 41,0,77,0,39,0,20,0,52,0,73,0 36,0,9,0,61,0,32,0,42,0,25,0 80,0,48,0,35,0,1,0,47,0,45,0 54,0,66,0,68,0,55,0,56,0,18,0 76,0,51,0,26,0,3,0,23,0,58,0 15,0,14,0,38,0,49,0,46,0,78,0 13,0,75,0,24,0,57,0,30,0,28,0 12,0,41,0,29,0,82,0,74,0,64,0 8,0,60,0,72,0,67,0,59,0,77,0 2,0,4,0,27,0,71,0,19,0,22,0 5,0,16,0,79,0,39,0,33,0,53,0 65,0,50,0,44,0,52,0,36,0,6,0 21,0,32,0,62,0,17,0,43,0,11,0 73,0,9,0,37,0,34,0,70,0,7,0 20,0,63,0,69,0,81,0,42,0,40,0 31,0,29,0,80,0,10,0,68,0,46,0 61,0,71,0,35,0,18,0,41,0,49,0 79,0,45,0,15,0,58,0,64,0,66,0 74,0,57,0,44,0,5,0,77,0,2,0 32,0,55,0,1,0,52,0,72,0,3,0 54,0,26,0,34,0,8,0,75,0,22,0 20,0,25,0,24,0,51,0,14,0,60,0 38,0,21,0,59,0,16,0,81,0,9,0 11,0,65,0,28,0,47,0,69,0,19,0 56,0,31,0,6,0,27,0,42,0,73,0 70,0,53,0,30,0,12,0,50,0,40,0 17,0,36,0,7,0,63,0,4,0,76,0 78,0,23,0,82,0,33,0,13,0,62,0 10,0,37,0,43,0,67,0,39,0,48,0 ================================================ FILE: schedules/83_1.csv ================================================ 48,0,72,0,65,0,81,0,10,0,58,0 11,0,24,0,28,0,6,0,39,0,17,0 66,0,2,0,9,0,75,0,7,0,74,0 73,0,71,0,77,0,40,0,41,0,67,0 34,0,20,0,61,0,52,0,16,0,60,0 63,0,23,0,21,0,14,0,64,0,30,0 69,0,56,0,27,0,55,0,45,0,32,0 47,0,38,0,3,0,5,0,36,0,13,0 83,0,18,0,78,0,53,0,79,0,12,0 1,0,51,0,15,0,26,0,50,0,70,0 33,0,4,0,44,0,31,0,42,0,54,0 19,0,76,0,35,0,59,0,46,0,8,0 57,0,68,0,80,0,37,0,29,0,43,0 82,0,49,0,22,0,25,0,62,0,73,1 ================================================ FILE: schedules/83_10.csv ================================================ 68,0,48,0,64,0,22,0,59,0,83,0 67,0,57,0,26,0,35,0,46,0,8,0 65,0,34,0,42,0,38,0,25,0,43,0 21,0,19,0,44,0,23,0,33,0,17,0 66,0,63,0,24,0,78,0,79,0,71,0 2,0,60,0,13,0,6,0,20,0,29,0 27,0,4,0,15,0,11,0,5,0,7,0 49,0,73,0,40,0,70,0,18,0,80,0 39,0,56,0,74,0,54,0,82,0,36,0 53,0,47,0,52,0,41,0,81,0,76,0 72,0,12,0,3,0,61,0,77,0,9,0 55,0,75,0,16,0,50,0,10,0,58,0 30,0,32,0,51,0,62,0,1,0,28,0 14,0,45,0,69,0,31,0,37,0,7,0 21,0,13,0,26,0,79,0,18,0,59,0 73,0,42,0,54,0,6,0,8,0,4,0 63,0,2,0,53,0,23,0,57,0,39,0 64,0,80,0,33,0,34,0,78,0,61,0 9,0,11,0,48,0,55,0,17,0,67,0 47,0,40,0,82,0,58,0,51,0,68,0 65,0,71,0,29,0,70,0,52,0,32,0 50,0,83,0,24,0,31,0,72,0,1,0 12,0,10,0,20,0,41,0,35,0,43,0 56,0,16,0,37,0,28,0,15,0,25,0 46,0,45,0,5,0,49,0,74,0,22,0 38,0,19,0,81,0,76,0,30,0,14,0 44,0,69,0,77,0,66,0,60,0,36,0 3,0,75,0,21,0,62,0,27,0,40,0 72,1,13,0,42,0,82,1,52,0,78,0 58,1,39,0,8,0,59,1,9,0,71,0 51,0,6,0,17,0,12,0,65,0,18,0 10,0,22,0,54,0,63,0,11,0,70,0 68,0,56,0,7,0,23,0,38,0,50,0 67,0,31,0,32,0,33,0,49,0,60,0 26,0,77,0,1,0,25,0,81,0,80,0 3,0,29,0,14,0,64,0,55,0,53,0 41,0,19,0,46,0,36,0,16,0,27,0 62,0,2,0,73,0,37,0,44,0,35,0 30,0,20,0,75,0,34,0,45,0,15,0 79,0,66,0,28,0,74,0,48,0,76,0 61,0,83,0,4,0,43,0,69,0,24,0 47,0,57,0,31,0,5,0,54,0,12,0 82,0,6,0,71,0,50,0,21,0,80,0 78,0,51,0,65,0,10,0,53,0,77,0 11,0,64,0,46,0,13,0,1,0,58,0 60,0,20,0,39,0,30,0,37,0,18,0 33,0,32,0,74,0,27,0,14,0,8,0 70,0,19,0,35,0,4,0,28,0,75,0 25,0,61,0,36,0,48,0,57,0,52,0 16,0,72,0,66,0,67,0,45,0,43,0 62,0,17,0,22,0,42,0,81,0,24,0 40,0,55,0,7,0,26,0,41,0,44,0 34,0,79,0,3,0,2,0,56,0,47,0 76,0,59,0,69,0,15,0,73,0,23,0 49,0,83,0,63,0,9,0,29,0,38,0 68,0,1,0,21,0,5,0,20,0,52,0 53,0,45,0,48,0,54,0,50,0,33,0 4,0,25,0,17,0,10,0,46,0,30,0 26,0,75,0,71,0,11,0,72,0,60,0 37,0,70,0,66,0,51,0,13,0,8,0 22,0,6,0,76,0,31,0,40,0,39,0 23,0,58,0,49,0,24,0,34,0,35,0 77,0,19,0,62,0,68,0,29,0,74,0 2,0,14,0,42,0,83,0,41,0,67,0 47,0,64,0,7,0,65,0,36,0,73,0 18,0,27,0,9,0,69,0,82,0,28,0 5,0,81,0,55,0,43,0,56,0,63,0 38,0,15,0,78,0,57,0,3,0,44,0 32,0,12,0,59,0,79,0,80,0,16,0 61,0,8,0,11,0,49,0,20,0,50,0 1,0,70,0,14,0,60,0,34,0,17,0 7,0,22,0,58,0,25,0,53,0,66,0 18,0,36,0,76,0,29,0,75,0,42,0 71,0,30,0,43,0,31,0,2,0,64,0 41,0,15,0,24,0,65,0,74,0,6,0 40,0,28,0,38,0,54,0,46,0,13,0 26,0,5,0,10,0,48,0,61,0,82,0 27,0,35,0,56,0,45,0,77,0,59,0 73,0,79,0,57,0,72,0,33,0,68,0 21,0,32,0,37,0,78,0,81,0,9,0 44,0,16,0,52,0,4,0,63,0,47,0 12,0,83,0,23,0,39,0,55,0,62,0 80,0,69,0,67,0,51,0,3,0,19,0 46,0,48,0,24,0,2,0,7,0,70,0 53,0,42,0,17,0,71,0,28,0,61,0 75,0,66,0,59,0,31,0,14,0,65,0 56,0,78,0,8,0,58,0,18,0,41,0 34,0,81,0,27,0,72,0,10,0,6,0 50,0,60,0,62,0,57,0,40,0,9,0 22,0,29,0,82,0,1,0,33,0,15,0 76,0,16,0,54,0,68,0,49,0,26,0 5,0,37,0,67,0,77,0,23,0,79,0 12,0,30,0,44,0,13,0,11,0,3,0 69,0,74,0,35,0,64,0,63,0,21,0 20,0,83,0,25,0,19,0,32,0,47,0 80,0,38,0,36,0,4,0,55,0,45,0 52,0,39,0,43,0,73,0,51,0,46,0 81,0,15,0,66,0,18,0,2,0,50,0 61,0,67,0,7,0,78,0,59,0,1,0 28,0,10,0,41,0,23,0,3,0,60,0 33,0,58,0,30,0,63,0,42,0,6,0 71,0,35,0,5,0,76,0,13,0,83,0 70,0,12,0,34,0,68,0,69,0,36,0 49,0,65,0,4,0,48,0,62,0,56,0 75,0,53,0,9,0,80,0,74,0,73,0 82,0,31,0,8,0,55,0,44,0,25,0 52,0,11,0,79,0,19,0,45,0,40,0 43,0,17,0,27,0,47,0,22,0,37,0 57,0,51,0,77,0,20,0,16,0,14,0 39,0,24,0,38,0,26,0,32,0,64,0 72,0,29,0,30,0,54,0,21,0,7,0 6,0,58,0,53,0,62,0,67,0,36,0 13,0,31,0,61,0,63,0,73,0,41,0 9,0,79,0,68,0,44,0,65,0,46,0 33,0,10,0,40,0,66,0,83,0,56,0 3,0,76,0,45,0,43,0,70,0,82,0 50,0,64,0,37,0,42,0,12,0,19,0 54,0,59,0,55,0,20,0,69,0,81,0 25,0,11,0,14,0,21,0,5,0,24,0 23,0,74,0,26,0,22,0,51,0,4,0 72,0,80,0,28,0,8,0,29,0,47,0 34,0,1,0,18,0,57,0,16,0,71,0 60,0,78,0,35,0,27,0,39,0,48,0 52,0,17,0,2,0,75,0,38,0,49,0 32,0,77,0,63,0,15,0,46,0,82,0 3,0,65,0,81,0,83,0,58,0,45,0 31,0,70,0,9,0,20,0,26,0,42,0 33,0,59,0,36,0,10,0,24,0,37,0 44,0,72,0,76,0,64,0,51,0,56,0 23,0,8,0,48,0,16,0,40,0,30,0 43,0,13,0,49,0,57,0,7,0,19,0 6,0,60,0,47,0,61,0,66,0,38,0 73,0,78,0,50,0,17,0,29,0,5,0 18,0,11,0,68,0,53,0,35,0,32,0 41,0,39,0,1,0,69,0,75,0,79,0 62,0,80,0,54,0,15,0,14,0,52,0 55,0,28,0,34,0,21,0,22,0,77,0 67,0,71,0,25,0,12,0,74,0,27,0 4,0,82,0,58,0,2,0,72,0,59,0 ================================================ FILE: schedules/83_11.csv ================================================ 46,0,57,0,35,0,56,0,77,0,26,0 31,0,83,0,68,0,75,0,45,0,2,0 65,0,6,0,78,0,14,0,7,0,5,0 51,0,64,0,27,0,8,0,22,0,47,0 62,0,48,0,72,0,20,0,82,0,55,0 66,0,1,0,25,0,33,0,11,0,21,0 29,0,49,0,36,0,4,0,39,0,38,0 19,0,52,0,69,0,37,0,67,0,16,0 70,0,81,0,17,0,71,0,79,0,9,0 42,0,54,0,58,0,24,0,76,0,13,0 80,0,23,0,41,0,30,0,32,0,73,0 40,0,50,0,74,0,15,0,12,0,34,0 44,0,60,0,18,0,3,0,10,0,61,0 43,0,28,0,63,0,59,0,53,0,48,0 14,0,26,0,62,0,31,0,11,0,47,0 55,0,38,0,5,0,22,0,17,0,1,0 72,0,52,0,24,0,45,0,9,0,4,0 46,0,7,0,71,0,19,0,27,0,83,0 41,0,15,0,8,0,70,0,56,0,25,0 16,0,75,0,49,0,66,0,18,0,73,0 12,0,60,0,58,0,28,0,57,0,78,0 67,0,30,0,40,0,79,0,64,0,76,0 65,0,10,0,37,0,21,0,43,0,80,0 29,0,54,0,6,0,33,0,35,0,82,0 34,0,20,0,68,0,32,0,23,0,44,0 42,0,61,0,2,0,77,0,53,0,51,0 3,0,69,0,50,0,63,0,13,0,39,0 59,0,74,0,8,0,81,0,36,0,48,0 57,1,45,0,49,0,9,1,11,0,28,0 71,1,26,0,72,0,5,1,41,0,37,0 76,1,35,0,38,0,83,0,73,0,25,0 32,0,16,0,55,0,27,0,58,0,21,0 12,0,17,0,23,0,6,0,67,0,43,0 50,0,44,0,14,0,24,0,22,0,77,0 29,0,70,0,20,0,78,0,2,0,18,0 47,0,46,0,60,0,59,0,34,0,81,0 31,0,61,0,19,0,33,0,63,0,36,0 30,0,64,0,15,0,13,0,4,0,10,0 39,0,53,0,54,0,1,0,74,0,75,0 69,0,42,0,62,0,68,0,66,0,40,0 82,0,79,0,3,0,7,0,56,0,80,0 65,0,71,0,41,0,51,0,52,0,50,0 22,0,44,0,43,0,29,0,16,0,83,0 18,0,37,0,24,0,31,0,12,0,55,0 45,0,10,0,32,0,19,0,17,0,76,0 23,0,1,0,9,0,63,0,46,0,64,0 2,0,66,0,81,0,27,0,57,0,67,0 36,0,6,0,26,0,40,0,80,0,75,0 30,0,39,0,62,0,53,0,28,0,8,0 51,0,4,0,5,0,11,0,60,0,56,0 61,0,79,0,49,0,58,0,35,0,69,0 52,0,68,0,59,0,70,0,14,0,21,0 25,0,65,0,74,0,82,0,77,0,42,0 54,0,47,0,72,0,15,0,73,0,7,0 34,0,33,0,78,0,48,0,13,0,3,0 20,0,30,0,75,0,38,0,57,0,17,0 76,0,63,0,56,0,6,0,55,0,2,0 11,0,64,0,35,0,41,0,36,0,44,0 9,0,50,0,29,0,58,0,32,0,59,0 74,0,27,0,45,0,80,0,4,0,62,0 47,0,82,0,18,0,69,0,71,0,1,0 13,0,40,0,37,0,61,0,7,0,70,0 8,0,33,0,23,0,24,0,78,0,49,0 21,0,20,0,73,0,42,0,22,0,26,0 28,0,34,0,25,0,81,0,52,0,5,0 72,0,83,0,66,0,19,0,3,0,65,0 15,0,14,0,67,0,53,0,46,0,38,0 77,0,60,0,43,0,54,0,79,0,31,0 16,0,51,0,48,0,68,0,39,0,12,0 10,0,33,0,57,0,7,0,59,0,55,0 18,0,40,0,23,0,4,0,22,0,58,0 36,0,42,0,45,0,37,0,30,0,47,0 3,0,52,0,74,0,26,0,49,0,32,0 73,0,53,0,5,0,24,0,70,0,50,0 76,0,25,0,72,0,43,0,69,0,27,0 78,0,15,0,35,0,16,0,9,0,65,0 62,0,83,0,11,0,81,0,21,0,61,0 12,0,54,0,56,0,34,0,71,0,14,0 75,0,29,0,67,0,41,0,10,0,63,0 79,0,80,0,38,0,48,0,2,0,44,0 77,0,1,0,19,0,8,0,68,0,13,0 31,0,51,0,46,0,28,0,17,0,82,0 66,0,39,0,20,0,60,0,64,0,6,0 21,0,69,0,18,0,33,0,9,0,74,0 57,0,26,0,4,0,50,0,16,0,54,0 40,0,55,0,53,0,47,0,83,0,52,0 63,0,44,0,7,0,25,0,45,0,15,0 36,0,78,0,77,0,76,0,73,0,81,0 65,0,13,0,49,0,75,0,12,0,46,0 38,0,51,0,82,0,23,0,70,0,19,0 1,0,20,0,61,0,30,0,34,0,43,0 31,0,48,0,22,0,66,0,56,0,10,0 41,0,28,0,24,0,27,0,6,0,79,0 17,0,8,0,80,0,14,0,29,0,60,0 71,0,58,0,67,0,42,0,11,0,3,0 68,0,35,0,32,0,39,0,37,0,72,0 59,0,2,0,5,0,64,0,62,0,54,0 51,0,76,0,45,0,34,0,26,0,18,0 57,0,16,0,47,0,61,0,74,0,23,0 81,0,22,0,41,0,12,0,4,0,19,0 75,0,28,0,69,0,15,0,77,0,55,0 66,0,43,0,14,0,58,0,30,0,82,0 25,0,9,0,53,0,3,0,20,0,37,0 39,0,70,0,5,0,42,0,31,0,80,0 40,0,21,0,48,0,71,0,49,0,35,0 56,0,64,0,17,0,78,0,83,0,50,0 52,0,62,0,79,0,1,0,29,0,10,0 60,0,7,0,2,0,32,0,36,0,24,0 73,0,27,0,68,0,63,0,11,0,65,0 13,0,6,0,59,0,72,0,38,0,67,0 33,0,44,0,76,0,8,0,46,0,37,0 34,0,21,0,82,0,75,0,4,0,53,0 69,0,12,0,45,0,3,0,5,0,23,0 83,0,42,0,14,0,18,0,41,0,57,0 16,0,10,0,24,0,1,0,40,0,81,0 47,0,77,0,63,0,49,0,39,0,17,0 48,0,65,0,70,0,26,0,67,0,60,0 66,0,61,0,55,0,8,0,54,0,9,0 28,0,33,0,71,0,38,0,32,0,64,0 68,0,30,0,50,0,29,0,25,0,7,0 46,0,22,0,11,0,72,0,78,0,79,0 2,0,13,0,43,0,52,0,35,0,73,0 6,0,31,0,58,0,74,0,44,0,51,0 19,0,15,0,80,0,59,0,62,0,20,0 56,0,27,0,18,0,36,0,23,0,53,0 4,0,32,0,83,0,69,0,14,0,48,0 61,0,76,0,28,0,65,0,29,0,66,0 42,0,81,0,79,0,72,0,33,0,50,0 73,0,11,0,2,0,40,0,8,0,82,0 58,0,38,0,10,0,68,0,5,0,26,0 37,0,64,0,80,0,34,0,49,0,63,0 56,0,21,0,67,0,20,0,47,0,24,0 36,0,3,0,57,0,15,0,51,0,1,0 31,0,13,0,71,0,25,0,59,0,16,0 78,0,27,0,17,0,52,0,54,0,44,0 75,0,19,0,60,0,30,0,35,0,74,0 9,0,7,0,39,0,43,0,62,0,41,0 70,0,55,0,22,0,45,0,6,0,46,0 12,0,33,0,53,0,77,0,72,0,80,0 83,0,8,0,5,0,79,0,63,0,20,0 57,0,64,0,73,0,31,0,29,0,69,0 67,0,49,0,10,0,51,0,25,0,54,0 59,0,1,0,4,0,78,0,76,0,42,0 58,0,17,0,34,0,62,0,36,0,65,0 24,0,71,0,55,0,74,0,43,0,68,0 40,0,9,0,19,0,44,0,56,0,28,0 15,0,82,0,26,0,61,0,39,0,27,0 41,0,46,0,16,0,60,0,45,0,38,0 50,0,75,0,81,0,23,0,37,0,14,0 21,0,6,0,22,0,30,0,2,0,3,0 70,0,32,0,12,0,35,0,66,0,47,0 77,0,11,0,7,0,48,0,18,0,52,0 13,0,9,0,5,0,57,0,71,0,76,0 ================================================ FILE: schedules/83_12.csv ================================================ 81,0,65,0,17,0,76,0,44,0,26,0 83,0,58,0,39,0,29,0,60,0,7,0 52,0,49,0,79,0,40,0,50,0,63,0 33,0,31,0,41,0,27,0,30,0,47,0 43,0,14,0,46,0,70,0,23,0,9,0 77,0,4,0,11,0,3,0,8,0,55,0 16,0,57,0,15,0,82,0,18,0,56,0 34,0,61,0,1,0,62,0,20,0,53,0 64,0,51,0,72,0,78,0,73,0,2,0 59,0,37,0,66,0,54,0,22,0,19,0 74,0,71,0,69,0,25,0,68,0,35,0 6,0,48,0,12,0,67,0,13,0,45,0 10,0,28,0,5,0,36,0,42,0,80,0 38,0,32,0,75,0,24,0,21,0,7,0 44,0,23,0,56,0,33,0,79,0,61,0 83,0,9,0,27,0,62,0,3,0,81,0 29,0,1,0,50,0,54,0,14,0,72,0 15,0,69,0,39,0,34,0,66,0,70,0 8,0,60,0,6,0,30,0,49,0,71,0 55,0,35,0,36,0,59,0,65,0,67,0 19,0,51,0,10,0,25,0,47,0,75,0 73,0,63,0,4,0,16,0,21,0,5,0 24,0,11,0,45,0,64,0,31,0,18,0 46,0,2,0,28,0,77,0,17,0,48,0 41,0,37,0,26,0,52,0,38,0,12,0 57,0,32,0,53,0,80,0,78,0,22,0 40,0,58,0,20,0,13,0,74,0,42,0 82,0,68,0,36,0,76,0,43,0,51,0 5,0,67,0,71,0,39,0,9,0,19,0 64,0,60,0,30,0,1,0,63,0,59,0 16,0,23,0,18,0,49,0,27,0,75,0 72,0,3,0,29,0,44,0,66,0,24,0 47,0,7,0,35,0,2,0,14,0,17,0 53,0,52,0,81,0,45,0,10,0,31,0 61,0,50,0,11,0,69,0,73,0,48,0 82,0,65,0,37,0,78,0,41,0,58,0 79,0,38,0,80,0,13,0,43,0,15,0 40,0,6,0,26,0,83,0,32,0,46,0 22,0,25,0,33,0,77,0,62,0,42,0 56,0,20,0,28,0,4,0,55,0,54,0 8,0,34,0,21,0,76,0,68,0,74,0 12,0,70,0,5,0,57,0,47,0,60,0 14,0,63,0,44,0,39,0,11,0,78,0 36,0,15,0,1,0,45,0,9,0,73,0 66,0,65,0,69,0,31,0,13,0,32,0 77,0,18,0,40,0,29,0,30,0,37,0 80,0,27,0,26,0,67,0,56,0,64,0 23,0,17,0,20,0,21,0,51,0,50,0 43,0,58,0,4,0,25,0,59,0,12,0 10,0,7,0,70,0,62,0,68,0,49,0 19,0,24,0,74,0,82,0,46,0,79,0 53,0,16,0,72,0,81,0,41,0,35,0 2,0,48,0,55,0,33,0,52,0,76,0 28,0,6,0,3,0,38,0,22,0,34,0 42,0,71,0,61,0,57,0,75,0,54,0 8,0,14,0,56,0,83,0,25,0,21,0 70,0,80,0,77,0,51,0,45,0,40,0 79,0,27,0,7,0,20,0,59,0,29,0 18,0,62,0,69,0,78,0,26,0,36,0 24,0,15,0,49,0,48,0,81,0,5,0 12,0,3,0,30,0,55,0,39,0,32,0 38,0,46,0,16,0,58,0,31,0,71,0 10,0,41,0,57,0,9,0,1,0,44,0 11,0,68,0,17,0,6,0,72,0,37,0 50,0,67,0,66,0,74,0,33,0,4,0 13,0,19,0,76,0,35,0,61,0,60,0 54,0,52,0,82,0,34,0,75,0,64,0 23,0,2,0,53,0,63,0,65,0,8,0 83,0,73,0,47,0,43,0,28,0,42,0 22,0,39,0,62,0,46,0,56,0,41,0 79,0,81,0,51,0,58,0,69,0,57,0 77,0,26,0,59,0,15,0,10,0,14,0 20,0,55,0,49,0,80,0,37,0,31,0 54,0,25,0,48,0,30,0,44,0,16,0 27,0,32,0,63,0,17,0,36,0,34,0 28,0,68,0,60,0,24,0,67,0,53,0 64,0,71,0,73,0,40,0,29,0,76,0 6,0,66,0,5,0,23,0,78,0,52,0 12,0,7,0,22,0,11,0,74,0,9,0 8,0,43,0,18,0,72,0,19,0,33,0 1,0,75,0,2,0,13,0,83,0,50,0 3,0,82,0,35,0,70,0,21,0,42,0 47,0,45,0,4,0,38,0,61,0,65,0 60,0,17,0,41,0,40,0,54,0,15,0 66,0,39,0,49,0,77,0,57,0,36,0 25,0,11,0,76,0,28,0,23,0,79,0 33,0,7,0,53,0,5,0,64,0,46,0 24,0,12,0,34,0,2,0,16,0,10,0 9,0,37,0,8,0,42,0,35,0,48,0 52,0,13,0,21,0,47,0,71,0,62,0 72,0,83,0,67,0,63,0,38,0,69,0 43,0,81,0,29,0,78,0,4,0,32,0 65,0,50,0,44,0,51,0,56,0,6,0 30,0,82,0,22,0,45,0,20,0,14,0 68,0,80,0,59,0,61,0,3,0,18,0 70,0,55,0,26,0,75,0,73,0,58,0 31,0,27,0,19,0,74,0,1,0,28,0 77,0,79,0,12,0,53,0,71,0,83,0 64,0,8,0,25,0,39,0,57,0,38,0 47,0,34,0,81,0,40,0,67,0,11,0 13,0,17,0,56,0,49,0,82,0,29,0 78,0,45,0,69,0,33,0,59,0,3,0 42,0,23,0,24,0,26,0,30,0,4,0 1,0,66,0,21,0,58,0,80,0,46,0 41,0,6,0,18,0,63,0,55,0,7,0 20,0,2,0,32,0,19,0,70,0,73,0 74,0,52,0,61,0,16,0,36,0,14,0 35,0,75,0,43,0,5,0,62,0,44,0 15,0,37,0,76,0,50,0,10,0,27,0 51,0,31,0,48,0,72,0,60,0,22,0 54,0,9,0,77,0,68,0,65,0,58,0 69,0,40,0,1,0,12,0,23,0,8,0 25,0,63,0,56,0,7,0,81,0,45,0 49,0,59,0,61,0,41,0,67,0,32,0 80,0,33,0,71,0,82,0,24,0,17,0 37,0,3,0,74,0,57,0,43,0,2,0 48,0,39,0,50,0,18,0,47,0,26,0 22,0,75,0,42,0,65,0,79,0,15,0 30,0,9,0,13,0,64,0,28,0,16,0 60,0,34,0,78,0,35,0,38,0,73,0 27,0,52,0,68,0,44,0,46,0,4,0 10,0,6,0,76,0,70,0,72,0,20,0 21,0,54,0,29,0,11,0,36,0,53,0 62,0,51,0,55,0,19,0,66,0,14,0 83,0,31,0,26,0,5,0,61,0,82,0 25,0,67,0,58,0,3,0,15,0,2,0 47,0,78,0,42,0,1,0,77,0,56,0 73,0,44,0,13,0,7,0,23,0,59,0 63,0,48,0,71,0,10,0,80,0,65,0 9,0,4,0,38,0,76,0,53,0,18,0 74,0,39,0,45,0,72,0,75,0,28,0 11,0,83,0,54,0,51,0,35,0,49,0 64,0,68,0,81,0,66,0,20,0,12,0 8,0,24,0,36,0,50,0,70,0,41,0 62,0,29,0,46,0,60,0,16,0,37,0 22,0,27,0,43,0,55,0,40,0,21,0 30,0,57,0,19,0,17,0,69,0,52,0 31,0,5,0,14,0,32,0,79,0,34,0 33,0,73,0,54,0,6,0,39,0,80,0 26,0,3,0,51,0,1,0,71,0,7,0 82,0,28,0,59,0,8,0,81,0,50,0 46,0,49,0,65,0,61,0,72,0,12,0 78,0,13,0,24,0,55,0,27,0,25,0 52,0,16,0,67,0,20,0,43,0,77,0 10,0,18,0,83,0,66,0,17,0,22,0 32,0,70,0,56,0,53,0,74,0,48,0 42,0,34,0,29,0,45,0,19,0,41,0 58,0,76,0,62,0,5,0,30,0,11,0 40,0,14,0,75,0,38,0,33,0,68,0 35,0,57,0,31,0,23,0,15,0,63,0 69,0,37,0,44,0,64,0,47,0,21,0 79,0,4,0,60,0,2,0,36,0,6,0 9,0,72,0,82,0,32,0,52,0,25,0 67,0,54,0,46,0,10,0,8,0,13,0 80,0,30,0,50,0,7,0,83,0,34,0 38,0,55,0,5,0,29,0,51,0,74,0 16,0,59,0,42,0,17,0,53,0,39,0 56,0,75,0,76,0,69,0,77,0,41,0 64,0,23,0,36,0,3,0,19,0,48,0 20,0,9,0,33,0,11,0,60,0,26,0 73,0,14,0,68,0,57,0,65,0,27,0 45,0,2,0,49,0,43,0,66,0,71,0 81,0,70,0,1,0,37,0,18,0,79,0 61,0,47,0,63,0,24,0,22,0,58,0 44,0,78,0,21,0,12,0,28,0,15,0 40,0,35,0,62,0,31,0,6,0,4,0 ================================================ FILE: schedules/83_13.csv ================================================ 48,0,20,0,73,0,38,0,42,0,2,0 33,0,25,0,7,0,71,0,78,0,70,0 80,0,69,0,21,0,61,0,51,0,12,0 67,0,10,0,57,0,54,0,36,0,4,0 24,0,83,0,32,0,74,0,9,0,6,0 75,0,39,0,59,0,52,0,64,0,45,0 55,0,77,0,15,0,44,0,72,0,76,0 27,0,81,0,47,0,14,0,29,0,79,0 50,0,58,0,82,0,23,0,34,0,8,0 19,0,13,0,40,0,18,0,49,0,41,0 56,0,17,0,22,0,63,0,68,0,46,0 43,0,26,0,60,0,11,0,1,0,35,0 30,0,65,0,3,0,31,0,28,0,53,0 62,0,37,0,59,0,5,0,66,0,16,0 33,0,10,0,24,0,73,0,51,0,38,0 72,0,78,0,7,0,32,0,75,0,8,0 25,0,54,0,19,0,79,0,82,0,9,0 74,0,15,0,13,0,2,0,12,0,4,0 1,0,48,0,63,0,68,0,83,0,49,0 20,0,60,0,57,0,55,0,3,0,45,0 11,0,69,0,52,0,30,0,5,0,34,0 43,0,17,0,23,0,37,0,22,0,47,0 21,0,81,0,62,0,70,0,77,0,41,0 46,0,16,0,58,0,28,0,26,0,67,0 44,0,35,0,65,0,39,0,36,0,56,0 61,0,71,0,64,0,31,0,76,0,27,0 53,0,66,0,6,0,18,0,50,0,29,0 40,0,42,0,5,0,14,0,80,0,8,0 74,1,68,0,82,0,69,0,79,0,57,0 47,0,41,0,1,0,38,0,20,0,59,0 32,0,15,0,73,0,75,0,34,0,11,0 26,0,49,0,21,0,78,0,54,0,28,0 76,0,2,0,52,0,51,0,4,0,63,0 45,0,25,0,44,0,58,0,6,0,62,0 43,0,14,0,42,0,33,0,56,0,53,0 9,0,13,0,65,0,16,0,67,0,17,0 23,0,31,0,24,0,18,0,55,0,81,0 72,0,10,0,30,0,60,0,83,0,61,0 7,0,3,0,12,0,37,0,48,0,64,0 70,0,80,0,29,0,71,0,39,0,19,0 22,0,77,0,40,0,46,0,36,0,66,0 27,0,35,0,73,0,50,0,69,0,78,0 68,0,47,0,42,0,52,0,44,0,67,0 76,0,59,0,1,0,6,0,13,0,82,0 63,0,16,0,65,0,74,0,23,0,25,0 17,0,31,0,81,0,57,0,15,0,58,0 37,0,29,0,30,0,24,0,56,0,41,0 11,0,8,0,18,0,45,0,12,0,38,0 51,0,79,0,80,0,62,0,72,0,26,0 14,0,64,0,36,0,19,0,2,0,32,0 40,0,71,0,46,0,21,0,3,0,34,0 83,0,22,0,39,0,7,0,53,0,54,0 55,0,70,0,9,0,35,0,43,0,49,0 61,0,75,0,50,0,5,0,20,0,77,0 33,0,66,0,28,0,4,0,60,0,27,0 10,0,8,0,37,0,48,0,79,0,13,0 30,0,2,0,78,0,6,0,67,0,81,0 14,0,16,0,3,0,51,0,15,0,1,0 39,0,76,0,46,0,42,0,59,0,11,0 52,0,53,0,73,0,21,0,35,0,17,0 32,0,80,0,58,0,83,0,38,0,54,0 40,0,9,0,66,0,50,0,65,0,47,0 45,0,19,0,27,0,31,0,43,0,77,0 36,0,34,0,28,0,24,0,68,0,75,0 71,0,7,0,62,0,4,0,55,0,69,0 63,0,82,0,70,0,64,0,18,0,72,0 44,0,22,0,74,0,20,0,49,0,29,0 60,0,10,0,25,0,56,0,26,0,5,0 23,0,48,0,12,0,57,0,33,0,41,0 61,0,53,0,46,0,81,0,45,0,79,0 9,0,75,0,77,0,31,0,37,0,38,0 27,0,67,0,58,0,11,0,19,0,51,0 15,0,69,0,62,0,6,0,63,0,47,0 13,0,55,0,8,0,64,0,39,0,30,0 54,0,50,0,40,0,7,0,16,0,60,0 17,0,78,0,34,0,76,0,3,0,70,0 36,0,83,0,52,0,33,0,23,0,26,0 12,0,73,0,49,0,25,0,66,0,59,0 43,0,61,0,32,0,2,0,82,0,44,0 35,0,24,0,4,0,20,0,14,0,22,0 21,0,18,0,5,0,56,0,48,0,74,0 72,0,29,0,57,0,1,0,28,0,42,0 41,0,68,0,10,0,80,0,71,0,65,0 77,0,64,0,6,0,40,0,51,0,33,0 54,0,31,0,12,0,73,0,47,0,46,0 53,0,70,0,62,0,38,0,23,0,27,0 82,0,4,0,14,0,26,0,75,0,37,0 50,0,83,0,74,0,17,0,19,0,55,0 28,0,5,0,8,0,43,0,63,0,9,0 16,0,41,0,34,0,35,0,56,0,72,0 2,0,66,0,61,0,39,0,3,0,68,0 71,0,69,0,42,0,60,0,24,0,22,0 48,0,25,0,81,0,36,0,76,0,11,0 78,0,10,0,59,0,44,0,18,0,58,0 13,0,67,0,20,0,80,0,15,0,7,0 45,0,65,0,57,0,29,0,32,0,21,0 1,0,49,0,79,0,30,0,52,0,77,0 41,0,3,0,9,0,4,0,73,0,62,0 60,0,50,0,63,0,82,0,12,0,46,0 61,0,56,0,42,0,36,0,70,0,75,0 31,0,39,0,6,0,17,0,48,0,14,0 83,0,64,0,8,0,20,0,66,0,34,0 80,0,55,0,11,0,29,0,78,0,16,0 24,0,74,0,7,0,47,0,58,0,52,0 54,0,71,0,44,0,1,0,53,0,13,0 23,0,49,0,32,0,69,0,51,0,35,0 28,0,59,0,79,0,2,0,22,0,33,0 67,0,18,0,76,0,37,0,57,0,43,0 15,0,25,0,68,0,27,0,10,0,21,0 81,0,38,0,72,0,19,0,5,0,65,0 26,0,45,0,70,0,30,0,40,0,73,0 13,0,24,0,14,0,78,0,61,0,62,0 80,0,64,0,60,0,44,0,9,0,23,0 29,0,3,0,47,0,77,0,58,0,36,0 7,0,41,0,35,0,6,0,79,0,42,0 4,0,8,0,56,0,49,0,31,0,11,0 57,0,1,0,34,0,27,0,25,0,39,0 2,0,15,0,18,0,54,0,30,0,22,0 20,0,63,0,33,0,21,0,46,0,65,0 51,0,37,0,32,0,71,0,50,0,28,0 66,0,55,0,82,0,10,0,52,0,48,0 59,0,74,0,67,0,72,0,53,0,40,0 68,0,12,0,16,0,75,0,81,0,43,0 38,0,19,0,69,0,17,0,76,0,26,0 83,0,5,0,70,0,45,0,47,0,4,0 65,0,78,0,56,0,64,0,62,0,1,0 20,0,79,0,31,0,60,0,32,0,34,0 46,0,9,0,2,0,29,0,52,0,7,0 24,0,27,0,48,0,80,0,44,0,63,0 67,0,75,0,54,0,33,0,55,0,59,0 43,0,21,0,72,0,50,0,13,0,36,0 37,0,25,0,40,0,83,0,69,0,53,0 26,0,38,0,11,0,57,0,61,0,74,0 22,0,16,0,19,0,6,0,8,0,3,0 39,0,23,0,77,0,10,0,28,0,15,0 42,0,49,0,30,0,5,0,12,0,17,0 73,0,18,0,14,0,76,0,68,0,58,0 66,0,71,0,45,0,81,0,35,0,82,0 51,0,75,0,47,0,41,0,60,0,53,0 56,0,27,0,32,0,40,0,55,0,52,0 44,0,11,0,83,0,2,0,21,0,31,0 4,0,15,0,78,0,19,0,46,0,48,0 43,0,38,0,3,0,30,0,25,0,79,0 20,0,69,0,9,0,72,0,58,0,39,0 34,0,18,0,59,0,65,0,7,0,14,0 6,0,33,0,49,0,61,0,37,0,80,0 57,0,71,0,16,0,63,0,77,0,73,0 36,0,17,0,82,0,28,0,41,0,62,0 1,0,66,0,23,0,67,0,24,0,45,0 54,0,51,0,68,0,70,0,74,0,8,0 35,0,12,0,76,0,10,0,5,0,29,0 81,0,50,0,26,0,42,0,13,0,64,0 22,0,48,0,58,0,27,0,75,0,65,0 77,0,80,0,57,0,7,0,2,0,56,0 38,0,53,0,36,0,60,0,78,0,49,0 71,0,23,0,30,0,59,0,9,0,14,0 33,0,1,0,39,0,74,0,32,0,18,0 76,0,54,0,45,0,52,0,72,0,3,0 4,0,16,0,21,0,24,0,82,0,64,0 67,0,47,0,35,0,8,0,25,0,61,0 5,0,51,0,31,0,22,0,13,0,68,0 41,0,73,0,29,0,83,0,43,0,15,0 70,0,69,0,6,0,46,0,11,0,10,0 37,0,34,0,55,0,42,0,81,0,63,0 44,0,79,0,26,0,50,0,66,0,17,0 62,0,12,0,19,0,28,0,20,0,40,0 49,0,72,0,2,0,24,0,71,0,47,0 38,0,21,0,60,0,39,0,14,0,67,0 45,0,22,0,51,0,9,0,48,0,78,0 74,0,43,0,36,0,59,0,80,0,31,0 3,0,18,0,42,0,83,0,27,0,16,0 63,0,5,0,53,0,66,0,41,0,32,0 75,0,46,0,13,0,25,0,35,0,57,0 17,0,4,0,58,0,1,0,40,0,61,0 52,0,79,0,37,0,15,0,70,0,65,0 29,0,76,0,33,0,8,0,62,0,50,0 19,0,30,0,82,0,44,0,73,0,7,0 56,0,11,0,6,0,20,0,54,0,23,0 34,0,77,0,68,0,55,0,12,0,26,0 81,0,28,0,64,0,10,0,69,0,74,0 ================================================ FILE: schedules/83_14.csv ================================================ 17,0,83,0,10,0,66,0,22,0,8,0 82,0,2,0,72,0,30,0,53,0,62,0 27,0,18,0,45,0,39,0,70,0,51,0 50,0,55,0,11,0,38,0,9,0,26,0 49,0,42,0,52,0,4,0,23,0,65,0 43,0,14,0,61,0,71,0,47,0,6,0 29,0,34,0,54,0,37,0,76,0,3,0 73,0,25,0,1,0,40,0,48,0,7,0 75,0,64,0,36,0,44,0,81,0,19,0 21,0,56,0,78,0,74,0,60,0,80,0 33,0,13,0,35,0,57,0,12,0,46,0 20,0,67,0,32,0,5,0,63,0,15,0 68,0,16,0,28,0,69,0,77,0,58,0 41,0,79,0,24,0,31,0,59,0,61,0 1,0,62,0,83,0,26,0,23,0,37,0 52,0,18,0,36,0,34,0,53,0,66,0 60,0,7,0,8,0,45,0,54,0,19,0 40,0,30,0,72,0,81,0,13,0,64,0 4,0,9,0,43,0,35,0,73,0,63,0 33,0,17,0,65,0,76,0,20,0,16,0 56,0,15,0,58,0,51,0,27,0,22,0 74,0,49,0,31,0,75,0,28,0,11,0 80,0,29,0,79,0,70,0,47,0,25,0 39,0,32,0,77,0,14,0,82,0,12,0 78,0,57,0,59,0,44,0,10,0,5,0 2,0,48,0,42,0,50,0,69,0,6,0 46,0,24,0,71,0,3,0,38,0,21,0 68,0,55,0,13,0,41,0,67,0,76,0 43,1,23,0,66,0,61,1,51,0,60,0 9,0,8,0,36,0,30,0,49,0,1,0 53,0,17,0,56,0,32,0,79,0,35,0 4,0,20,0,12,0,25,0,16,0,83,0 15,0,37,0,59,0,77,0,48,0,82,0 22,0,6,0,63,0,81,0,11,0,40,0 47,0,38,0,46,0,45,0,2,0,70,0 41,0,44,0,26,0,28,0,74,0,33,0 65,0,31,0,21,0,18,0,50,0,72,0 80,0,68,0,54,0,14,0,42,0,5,0 3,0,69,0,24,0,78,0,19,0,39,0 57,0,52,0,67,0,29,0,62,0,73,0 58,0,27,0,75,0,55,0,64,0,10,0 7,0,34,0,70,0,71,0,15,0,35,0 25,0,53,0,59,0,33,0,22,0,49,0 60,0,18,0,46,0,79,0,77,0,26,0 45,0,23,0,12,0,17,0,80,0,41,0 6,0,19,0,5,0,65,0,37,0,74,0 54,0,51,0,30,0,31,0,69,0,83,0 36,0,67,0,43,0,58,0,8,0,40,0 3,0,28,0,81,0,4,0,14,0,38,0 1,0,57,0,16,0,61,0,68,0,75,0 78,0,2,0,34,0,13,0,39,0,63,0 76,0,55,0,44,0,42,0,72,0,24,0 11,0,10,0,21,0,7,0,52,0,62,0 20,0,56,0,9,0,71,0,29,0,48,0 47,0,73,0,32,0,66,0,50,0,27,0 64,0,67,0,69,0,82,0,38,0,33,0 1,0,74,0,15,0,18,0,3,0,49,0 16,0,22,0,81,0,37,0,79,0,78,0 58,0,46,0,42,0,17,0,31,0,34,0 77,0,2,0,4,0,19,0,10,0,61,0 6,0,68,0,83,0,36,0,56,0,70,0 8,0,51,0,72,0,7,0,41,0,29,0 32,0,21,0,64,0,9,0,57,0,54,0 50,0,63,0,12,0,60,0,82,0,24,0 13,0,5,0,27,0,53,0,71,0,26,0 65,0,62,0,20,0,59,0,45,0,66,0 25,0,39,0,14,0,73,0,75,0,23,0 30,0,11,0,76,0,47,0,43,0,44,0 28,0,55,0,40,0,35,0,80,0,52,0 48,0,79,0,18,0,64,0,68,0,29,0 37,0,50,0,4,0,78,0,67,0,24,0 17,0,69,0,82,0,34,0,36,0,61,0 60,0,81,0,5,0,9,0,2,0,33,0 41,0,66,0,21,0,39,0,1,0,58,0 10,0,26,0,31,0,65,0,53,0,32,0 46,0,56,0,19,0,59,0,11,0,14,0 28,0,35,0,7,0,22,0,48,0,47,0 73,0,52,0,74,0,77,0,54,0,20,0 23,0,30,0,8,0,6,0,55,0,15,0 44,0,16,0,42,0,70,0,13,0,40,0 12,0,62,0,51,0,76,0,75,0,71,0 27,0,38,0,63,0,72,0,80,0,49,0 25,0,3,0,57,0,83,0,43,0,45,0 2,0,59,0,18,0,58,0,4,0,67,0 11,0,22,0,24,0,68,0,65,0,34,0 31,0,20,0,7,0,55,0,39,0,37,0 66,0,29,0,16,0,14,0,53,0,54,0 61,0,9,0,82,0,46,0,13,0,28,0 38,0,15,0,60,0,40,0,17,0,73,0 12,0,26,0,72,0,45,0,36,0,78,0 62,0,80,0,43,0,79,0,74,0,69,0 8,0,70,0,44,0,3,0,32,0,33,0 63,0,10,0,75,0,30,0,48,0,41,0 77,0,25,0,27,0,6,0,35,0,21,0 56,0,83,0,64,0,5,0,52,0,76,0 23,0,57,0,49,0,71,0,81,0,50,0 19,0,42,0,51,0,47,0,1,0,82,0 13,0,4,0,78,0,54,0,17,0,66,0 37,0,70,0,20,0,58,0,26,0,11,0 80,0,22,0,40,0,18,0,32,0,62,0 33,0,21,0,63,0,73,0,3,0,36,0 38,0,31,0,77,0,48,0,76,0,8,0 5,0,41,0,50,0,15,0,46,0,69,0 30,0,34,0,57,0,19,0,27,0,28,0 7,0,53,0,39,0,42,0,81,0,67,0 72,0,59,0,9,0,47,0,23,0,68,0 49,0,10,0,56,0,43,0,12,0,16,0 24,0,1,0,52,0,6,0,2,0,25,0 83,0,75,0,44,0,60,0,65,0,29,0 51,0,35,0,55,0,74,0,61,0,64,0 14,0,71,0,30,0,45,0,79,0,22,0 26,0,66,0,73,0,19,0,80,0,76,0 8,0,21,0,47,0,20,0,81,0,78,0 9,0,3,0,27,0,59,0,40,0,12,0 49,0,17,0,70,0,48,0,5,0,24,0 23,0,11,0,69,0,18,0,57,0,53,0 75,0,51,0,13,0,32,0,4,0,6,0 62,0,61,0,58,0,38,0,44,0,7,0 25,0,71,0,82,0,68,0,74,0,10,0 35,0,42,0,65,0,41,0,14,0,36,0 15,0,39,0,33,0,43,0,29,0,52,0 1,0,50,0,56,0,28,0,72,0,54,0 45,0,63,0,60,0,64,0,16,0,31,0 83,0,55,0,67,0,34,0,77,0,46,0 2,0,37,0,44,0,79,0,49,0,51,0 5,0,12,0,61,0,18,0,30,0,21,0 6,0,26,0,80,0,17,0,57,0,7,0 65,0,14,0,69,0,25,0,58,0,13,0 15,0,78,0,73,0,75,0,56,0,42,0 35,0,47,0,10,0,3,0,31,0,1,0 76,0,45,0,68,0,63,0,53,0,4,0 22,0,82,0,54,0,20,0,23,0,2,0 79,0,67,0,33,0,27,0,11,0,83,0 64,0,50,0,34,0,8,0,43,0,59,0 41,0,70,0,77,0,9,0,81,0,62,0 29,0,74,0,46,0,66,0,40,0,24,0 48,0,19,0,32,0,52,0,16,0,72,0 37,0,28,0,71,0,60,0,55,0,36,0 38,0,51,0,53,0,39,0,65,0,12,0 54,0,49,0,58,0,82,0,79,0,57,0 33,0,76,0,14,0,78,0,7,0,1,0 35,0,81,0,61,0,80,0,15,0,83,0 34,0,47,0,40,0,75,0,26,0,21,0 74,0,27,0,62,0,13,0,42,0,8,0 3,0,20,0,68,0,30,0,50,0,60,0 18,0,17,0,19,0,56,0,55,0,63,0 6,0,67,0,44,0,31,0,9,0,66,0 59,0,41,0,16,0,71,0,52,0,38,0 25,0,43,0,22,0,77,0,5,0,72,0 48,0,23,0,39,0,4,0,36,0,46,0 37,0,45,0,29,0,10,0,32,0,69,0 64,0,70,0,11,0,28,0,2,0,73,0 24,0,35,0,75,0,8,0,18,0,20,0 33,0,6,0,54,0,55,0,62,0,47,0 53,0,49,0,40,0,78,0,61,0,41,0 7,0,63,0,77,0,44,0,13,0,50,0 80,0,16,0,48,0,67,0,51,0,34,0 17,0,39,0,74,0,72,0,57,0,37,0 65,0,70,0,66,0,82,0,43,0,64,0 38,0,28,0,79,0,10,0,42,0,23,0 69,0,76,0,81,0,27,0,52,0,46,0 59,0,30,0,36,0,60,0,32,0,25,0 19,0,29,0,1,0,22,0,31,0,12,0 4,0,45,0,3,0,56,0,5,0,11,0 9,0,71,0,73,0,58,0,83,0,24,0 26,0,14,0,68,0,2,0,15,0,21,0 74,0,23,0,54,0,63,0,70,0,67,0 79,0,72,0,61,0,75,0,34,0,20,0 81,0,43,0,51,0,59,0,17,0,28,0 38,0,18,0,66,0,37,0,33,0,30,0 52,0,64,0,22,0,3,0,47,0,42,0 65,0,11,0,80,0,71,0,77,0,1,0 48,0,83,0,78,0,2,0,55,0,32,0 68,0,73,0,69,0,44,0,35,0,12,0 60,0,31,0,4,0,14,0,57,0,62,0 25,0,26,0,46,0,8,0,56,0,16,0 45,0,6,0,13,0,29,0,49,0,21,0 82,0,5,0,36,0,24,0,7,0,27,0 39,0,76,0,10,0,9,0,40,0,15,0 53,0,41,0,58,0,50,0,19,0,83,0 12,0,34,0,48,0,66,0,74,0,81,0 32,0,17,0,71,0,28,0,1,0,67,0 42,0,61,0,37,0,25,0,63,0,8,0 59,0,29,0,35,0,26,0,30,0,78,0 62,0,38,0,75,0,43,0,68,0,5,0 36,0,15,0,72,0,16,0,11,0,54,0 24,0,14,0,50,0,10,0,33,0,51,0 55,0,70,0,22,0,4,0,21,0,69,0 79,0,52,0,3,0,9,0,13,0,7,0 47,0,58,0,76,0,60,0,39,0,49,0 80,0,53,0,46,0,44,0,64,0,20,0 65,0,40,0,77,0,2,0,56,0,57,0 41,0,82,0,45,0,73,0,6,0,18,0 31,0,19,0,43,0,23,0,27,0,61,0 ================================================ FILE: schedules/83_2.csv ================================================ 33,0,71,0,68,0,62,0,67,0,15,0 17,0,41,0,5,0,4,0,61,0,57,0 24,0,31,0,42,0,28,0,72,0,19,0 1,0,73,0,69,0,29,0,65,0,56,0 12,0,8,0,9,0,37,0,82,0,16,0 30,0,10,0,21,0,63,0,83,0,34,0 50,0,6,0,54,0,39,0,26,0,18,0 47,0,36,0,43,0,66,0,52,0,38,0 7,0,40,0,27,0,46,0,2,0,60,0 59,0,80,0,51,0,23,0,13,0,58,0 53,0,77,0,49,0,48,0,75,0,70,0 11,0,32,0,64,0,55,0,25,0,79,0 74,0,44,0,22,0,14,0,81,0,35,0 20,0,76,0,3,0,78,0,45,0,6,0 38,0,54,0,83,0,24,0,41,0,8,0 40,0,18,0,52,0,19,0,9,0,68,0 23,0,21,0,43,0,7,0,73,0,4,0 61,0,26,0,31,0,27,0,37,0,53,0 66,0,75,0,39,0,32,0,29,0,67,0 17,0,58,0,82,0,47,0,62,0,30,0 81,0,55,0,36,0,77,0,71,0,59,0 16,0,34,0,78,0,70,0,74,0,42,0 25,0,56,0,48,0,33,0,80,0,5,0 65,0,15,0,2,0,63,0,44,0,12,0 14,0,79,0,1,0,49,0,46,0,76,0 20,0,57,0,35,0,50,0,51,0,60,0 45,0,69,0,28,0,11,0,10,0,22,0 13,0,72,0,62,1,64,0,3,0,27,1 ================================================ FILE: schedules/83_3.csv ================================================ 76,0,27,0,38,0,71,0,61,0,39,0 45,0,67,0,28,0,66,0,51,0,79,0 36,0,6,0,37,0,73,0,52,0,1,0 69,0,81,0,46,0,63,0,47,0,42,0 10,0,78,0,59,0,21,0,34,0,82,0 75,0,24,0,33,0,40,0,43,0,11,0 25,0,4,0,18,0,29,0,74,0,80,0 3,0,70,0,48,0,55,0,17,0,62,0 60,0,49,0,5,0,77,0,31,0,35,0 20,0,68,0,9,0,30,0,19,0,8,0 14,0,64,0,16,0,7,0,12,0,53,0 58,0,41,0,15,0,13,0,50,0,2,0 44,0,22,0,56,0,83,0,32,0,54,0 65,0,72,0,26,0,57,0,23,0,47,0 46,1,55,0,73,0,61,1,25,0,45,0 60,1,27,0,59,0,69,0,33,0,6,0 71,0,42,0,5,0,68,0,24,0,67,0 28,0,7,0,80,0,39,0,35,0,3,0 43,0,4,0,50,0,19,0,38,0,36,0 11,0,63,0,48,0,58,0,12,0,8,0 29,0,17,0,82,0,16,0,49,0,32,0 31,0,64,0,76,0,65,0,34,0,44,0 26,0,70,0,77,0,22,0,9,0,41,0 74,0,57,0,66,0,20,0,78,0,81,0 18,0,1,0,53,0,56,0,72,0,10,0 15,0,79,0,54,0,30,0,14,0,52,0 2,0,40,0,62,0,21,0,37,0,23,0 83,0,51,0,48,0,13,0,75,0,7,0 29,0,31,0,43,0,58,0,42,0,61,0 24,0,8,0,39,0,46,0,59,0,26,0 34,0,12,0,20,0,50,0,60,0,80,0 78,0,41,0,36,0,17,0,76,0,45,0 54,0,9,0,53,0,28,0,33,0,71,0 6,0,2,0,30,0,32,0,18,0,81,0 10,0,52,0,35,0,4,0,40,0,22,0 21,0,19,0,55,0,72,0,66,0,5,0 47,0,13,0,74,0,16,0,3,0,77,0 56,0,73,0,65,0,68,0,51,0,14,0 27,0,75,0,1,0,25,0,57,0,70,0 62,0,83,0,82,0,64,0,67,0,63,0 49,0,69,0,37,0,15,0,11,0,38,0 23,0,44,0,61,0,79,0,46,0,60,0 ================================================ FILE: schedules/83_4.csv ================================================ 40,0,28,0,80,0,12,0,36,0,72,0 50,0,29,0,34,0,62,0,53,0,63,0 69,0,16,0,52,0,27,0,21,0,41,0 33,0,60,0,39,0,59,0,67,0,5,0 19,0,3,0,64,0,54,0,83,0,57,0 77,0,74,0,25,0,32,0,10,0,65,0 14,0,2,0,71,0,7,0,17,0,78,0 42,0,20,0,56,0,30,0,46,0,13,0 66,0,1,0,38,0,68,0,61,0,47,0 58,0,23,0,26,0,70,0,49,0,48,0 51,0,79,0,35,0,18,0,73,0,75,0 22,0,4,0,31,0,55,0,76,0,15,0 37,0,45,0,81,0,24,0,11,0,6,0 43,0,44,0,53,0,8,0,82,0,9,0 52,0,50,0,30,0,3,0,40,0,77,0 32,0,59,0,38,0,72,0,16,0,2,0 61,0,10,0,20,0,58,0,28,0,64,0 25,0,39,0,75,0,78,0,62,0,70,0 55,0,41,0,36,0,60,0,29,0,14,0 80,0,65,0,7,0,34,0,66,0,79,0 48,0,21,0,54,0,22,0,8,0,6,0 11,0,31,0,82,0,71,0,69,0,47,0 17,0,18,0,57,0,45,0,43,0,63,0 56,0,27,0,49,0,81,0,5,0,15,0 4,0,12,0,9,0,19,0,46,0,67,0 24,0,26,0,35,0,33,0,74,0,68,0 42,0,37,0,83,0,23,0,73,0,1,0 13,0,51,0,16,0,44,0,76,0,77,0 2,1,20,0,48,0,36,1,3,0,79,0 25,1,41,0,59,0,8,1,61,0,17,0 47,0,63,0,60,0,54,0,27,0,28,0 75,0,49,0,71,0,9,0,40,0,21,0 70,0,14,0,67,0,24,0,38,0,31,0 82,0,18,0,34,0,37,0,10,0,33,0 53,0,69,0,57,0,13,0,80,0,4,0 83,0,76,0,43,0,39,0,29,0,11,0 44,0,68,0,73,0,50,0,15,0,32,0 22,0,74,0,42,0,51,0,52,0,66,0 65,0,30,0,58,0,5,0,12,0,45,0 62,0,19,0,55,0,6,0,35,0,1,0 78,0,72,0,46,0,26,0,81,0,64,0 7,0,23,0,8,0,56,0,24,0,77,0 80,0,11,0,3,0,16,0,49,0,63,0 71,0,39,0,38,0,41,0,18,0,4,0 17,0,50,0,13,0,82,0,48,0,28,0 76,0,68,0,2,0,58,0,60,0,75,0 57,0,33,0,6,0,25,0,52,0,20,0 53,0,81,0,61,0,83,0,35,0,36,0 12,0,37,0,64,0,66,0,56,0,29,0 78,0,32,0,27,0,55,0,30,0,43,0 70,0,5,0,21,0,19,0,42,0,7,0 54,0,40,0,1,0,44,0,46,0,65,0 26,0,62,0,45,0,73,0,22,0,14,0 72,0,23,0,67,0,69,0,74,0,79,0 15,0,9,0,47,0,59,0,51,0,10,0 31,0,2,0,8,0,34,0,36,0,25,0 ================================================ FILE: schedules/83_5.csv ================================================ 60,0,35,0,37,0,25,0,63,0,36,0 3,0,51,0,72,0,15,0,18,0,20,0 77,0,43,0,81,0,8,0,12,0,4,0 55,0,67,0,49,0,19,0,27,0,50,0 5,0,13,0,70,0,46,0,68,0,80,0 10,0,26,0,75,0,73,0,34,0,17,0 38,0,16,0,79,0,31,0,82,0,71,0 30,0,32,0,14,0,83,0,40,0,42,0 33,0,53,0,22,0,74,0,44,0,47,0 69,0,6,0,59,0,29,0,21,0,52,0 65,0,78,0,11,0,61,0,58,0,64,0 1,0,28,0,39,0,9,0,23,0,62,0 56,0,7,0,41,0,66,0,54,0,76,0 45,0,24,0,48,0,57,0,2,0,15,0 72,0,77,0,82,0,83,0,27,0,5,0 31,0,17,0,63,0,74,0,8,0,67,0 80,0,18,0,55,0,53,0,30,0,38,0 46,0,49,0,21,0,40,0,81,0,60,0 44,0,61,0,42,0,68,0,59,0,3,0 16,0,50,0,58,0,20,0,39,0,47,0 76,0,52,0,10,0,37,0,2,0,70,0 56,0,36,0,51,0,73,0,24,0,69,0 11,0,34,0,32,0,35,0,12,0,28,0 66,0,6,0,64,0,45,0,4,0,75,0 62,0,54,0,22,0,19,0,48,0,29,0 26,0,25,0,71,0,78,0,13,0,1,0 33,0,23,0,57,0,65,0,7,0,43,0 41,0,9,0,37,0,14,0,79,0,53,0 18,1,27,0,17,0,69,1,42,0,60,0 5,1,59,0,28,0,74,1,38,0,56,0 73,0,82,0,61,0,2,1,55,0,35,0 4,0,80,0,48,0,10,0,47,0,36,0 66,0,34,0,39,0,13,0,29,0,72,0 1,0,68,0,24,0,22,0,64,0,81,0 43,0,54,0,14,0,51,0,58,0,21,0 3,0,19,0,25,0,12,0,9,0,31,0 57,0,46,0,26,0,32,0,52,0,41,0 33,0,62,0,76,0,6,0,50,0,30,0 23,0,71,0,40,0,11,0,77,0,45,0 15,0,67,0,83,0,70,0,75,0,16,0 8,0,20,0,79,0,49,0,44,0,65,0 63,0,78,0,69,0,7,0,34,0,53,0 28,0,42,0,25,0,51,0,55,0,64,0 36,0,38,0,1,0,2,0,32,0,43,0 81,0,80,0,72,0,59,0,76,0,31,0 27,0,73,0,29,0,14,0,11,0,46,0 23,0,16,0,68,0,19,0,26,0,35,0 12,0,50,0,83,0,79,0,17,0,57,0 49,0,82,0,56,0,37,0,45,0,39,0 15,0,21,0,65,0,22,0,63,0,10,0 47,0,30,0,9,0,5,0,75,0,52,0 71,0,70,0,18,0,54,0,4,0,44,0 41,0,60,0,77,0,33,0,58,0,48,0 61,0,7,0,13,0,6,0,67,0,20,0 78,0,8,0,62,0,66,0,40,0,24,0 74,0,79,0,35,0,3,0,80,0,43,0 76,0,19,0,45,0,36,0,46,0,65,0 11,0,30,0,69,0,81,0,57,0,82,0 51,0,12,0,53,0,5,0,49,0,1,0 83,0,55,0,44,0,23,0,63,0,29,0 75,0,72,0,2,0,25,0,7,0,68,0 67,0,18,0,34,0,33,0,40,0,56,0 4,0,21,0,74,0,61,0,62,0,16,0 70,0,48,0,39,0,3,0,6,0,17,0 47,0,31,0,26,0,77,0,37,0,24,0 50,0,66,0,52,0,14,0,15,0,28,0 27,0,9,0,32,0,22,0,8,0,71,0 59,0,54,0,64,0,10,0,60,0,13,0 73,0,20,0,42,0,78,0,38,0,41,0 58,0,69,0,5,0,18,0,74,0,2,0 ================================================ FILE: schedules/83_6.csv ================================================ 19,0,80,0,12,0,16,0,1,0,67,0 79,0,35,0,83,0,53,0,61,0,64,0 71,0,52,0,37,0,22,0,18,0,50,0 69,0,26,0,68,0,32,0,57,0,76,0 70,0,45,0,49,0,30,0,38,0,66,0 78,0,27,0,77,0,56,0,7,0,24,0 34,0,46,0,75,0,41,0,13,0,20,0 15,0,25,0,73,0,59,0,6,0,60,0 33,0,82,0,40,0,17,0,14,0,65,0 48,0,63,0,36,0,23,0,55,0,44,0 8,0,28,0,72,0,54,0,62,0,9,0 2,0,29,0,5,0,31,0,58,0,43,0 21,0,11,0,74,0,3,0,4,0,42,0 81,0,47,0,51,0,39,0,10,0,76,0 45,0,7,0,69,0,50,0,59,0,83,0 60,0,37,0,67,0,79,0,32,0,75,0 40,0,41,0,73,0,27,0,38,0,64,0 56,0,35,0,57,0,36,0,15,0,46,0 18,0,26,0,53,0,19,0,63,0,70,0 30,0,11,0,13,0,29,0,55,0,54,0 65,0,48,0,34,0,71,0,78,0,81,0 42,0,6,0,17,0,8,0,12,0,10,0 68,0,80,0,5,0,9,0,47,0,22,0 66,0,74,0,58,0,82,0,62,0,77,0 31,0,20,0,28,0,1,0,3,0,14,0 61,0,43,0,33,0,4,0,16,0,39,0 72,0,52,0,21,0,23,0,49,0,24,0 51,0,44,0,65,0,2,0,25,0,19,0 76,0,60,0,50,0,40,0,55,0,56,0 38,0,29,0,42,0,35,0,34,0,37,0 63,0,67,0,15,0,78,0,58,0,83,0 66,0,54,0,41,0,69,0,79,0,6,0 16,0,30,0,71,0,36,0,9,0,7,0 77,0,73,0,39,0,11,0,52,0,75,0 62,0,68,0,44,0,18,0,61,0,46,0 8,0,45,0,14,0,47,0,48,0,4,0 5,0,24,0,1,0,64,0,82,0,10,0 13,0,2,0,81,0,70,0,33,0,72,0 21,0,22,0,32,0,25,0,20,0,53,0 57,0,59,0,31,0,49,0,17,0,51,0 23,0,28,0,12,0,74,0,26,0,27,0 3,0,80,0,65,0,43,0,46,0,50,0 67,0,48,0,30,0,35,0,41,0,77,0 69,0,34,0,9,0,63,0,60,0,82,0 7,0,64,0,47,0,6,0,18,0,75,0 16,0,14,0,37,0,5,0,66,0,73,0 15,0,2,0,55,0,4,0,68,0,52,0 22,0,54,0,61,0,38,0,81,0,23,0 70,0,21,0,39,0,8,0,58,0,27,0 83,0,33,0,62,0,26,0,80,0,29,0 51,0,3,0,32,0,72,0,12,0,36,0 57,0,25,0,79,0,78,0,28,0,45,0 56,0,10,0,43,0,11,0,49,0,20,0 13,0,42,0,40,0,31,0,24,0,19,0 71,0,59,0,74,0,53,0,44,0,1,0 17,0,35,0,16,0,76,0,21,0,63,0 83,0,39,0,54,0,48,0,60,0,46,0 36,0,29,0,64,0,68,0,14,0,81,0 33,0,3,0,77,0,5,0,15,0,45,0 27,0,79,0,4,0,30,0,22,0,51,0 50,0,82,0,25,0,67,0,42,0,72,0 47,0,59,0,19,0,52,0,28,0,34,0 7,0,49,0,44,0,37,0,26,0,8,0 78,0,20,0,18,0,23,0,69,0,2,0 75,0,40,0,9,0,57,0,1,0,66,0 24,0,70,0,12,0,76,0,41,0,65,0 6,0,11,0,38,0,80,0,71,0,58,0 13,0,62,0,53,0,56,0,17,0,73,0 55,0,32,0,31,0,10,0,61,0,74,0 43,0,15,0,72,0,26,0,30,0,14,0 50,0,78,0,54,0,21,0,51,0,5,0 7,0,23,0,46,0,29,0,79,0,40,0 37,0,65,0,63,0,20,0,39,0,59,0 76,0,49,0,1,0,42,0,77,0,22,0 60,0,16,0,58,0,52,0,45,0,13,0 11,0,53,0,47,0,41,0,57,0,2,0 6,0,3,0,55,0,83,0,27,0,9,0 19,0,35,0,66,0,32,0,71,0,43,0 61,0,56,0,75,0,82,0,48,0,12,0 38,0,4,0,10,0,69,0,36,0,62,0 64,0,67,0,28,0,70,0,17,0,44,0 81,0,18,0,8,0,31,0,73,0,80,0 24,0,25,0,34,0,74,0,68,0,33,0 ================================================ FILE: schedules/83_7.csv ================================================ 59,0,70,0,36,0,26,0,11,0,24,0 60,0,22,0,41,0,21,0,29,0,66,0 4,0,43,0,37,0,53,0,14,0,28,0 80,0,32,0,47,0,23,0,48,0,83,0 40,0,16,0,17,0,62,0,3,0,68,0 79,0,61,0,54,0,46,0,12,0,56,0 78,0,72,0,49,0,52,0,63,0,42,0 5,0,44,0,30,0,8,0,81,0,67,0 75,0,7,0,33,0,65,0,77,0,82,0 39,0,27,0,51,0,2,0,10,0,31,0 20,0,34,0,64,0,35,0,58,0,76,0 74,0,69,0,45,0,9,0,1,0,50,0 15,0,73,0,13,0,18,0,6,0,38,0 19,0,55,0,57,0,71,0,25,0,52,0 24,0,17,0,8,0,47,0,22,0,78,0 56,0,5,0,65,0,16,0,42,0,41,0 82,0,68,0,29,0,44,0,43,0,2,0 46,0,23,0,26,0,7,0,81,0,20,0 50,0,11,0,49,0,75,0,61,0,14,0 73,0,70,0,62,0,79,0,66,0,35,0 63,0,34,0,9,0,38,0,31,0,32,0 33,0,58,0,59,0,72,0,1,0,48,0 37,0,39,0,80,0,54,0,6,0,30,0 36,0,10,0,4,0,18,0,77,0,57,0 74,0,51,0,76,0,19,0,28,0,3,0 45,0,53,0,13,0,71,0,60,0,64,0 67,0,21,0,83,0,12,0,15,0,55,0 69,0,25,0,35,0,27,0,40,0,63,0 1,0,46,0,78,0,75,1,73,0,41,0 14,0,16,0,26,0,2,0,34,0,33,0 61,0,32,0,10,0,5,0,82,0,22,0 3,0,29,0,9,0,20,0,56,0,39,0 72,0,68,0,66,0,8,0,13,0,11,0 17,0,77,0,30,0,23,0,42,0,45,0 57,0,31,0,12,0,24,0,64,0,74,0 38,0,52,0,69,0,81,0,62,0,53,0 21,0,71,0,76,0,59,0,4,0,27,0 50,0,18,0,54,0,44,0,47,0,25,0 7,0,83,0,79,0,6,0,51,0,43,0 70,0,37,0,67,0,19,0,60,0,58,0 55,0,40,0,49,0,36,0,65,0,80,0 15,0,48,0,63,0,28,0,57,0,66,0 81,0,13,0,78,0,29,0,16,0,74,0 3,0,14,0,31,0,22,0,69,0,42,0 75,0,52,0,68,0,30,0,26,0,64,0 59,0,8,0,46,0,10,0,45,0,43,0 50,0,41,0,27,0,38,0,82,0,79,0 6,0,65,0,12,0,9,0,60,0,76,0 71,0,40,0,34,0,61,0,73,0,83,0 53,0,19,0,77,0,15,0,80,0,56,0 70,0,48,0,2,0,20,0,55,0,18,0 11,0,44,0,4,0,17,0,1,0,32,0 49,0,33,0,28,0,39,0,67,0,47,0 24,0,25,0,7,0,62,0,21,0,58,0 35,0,51,0,54,0,23,0,36,0,5,0 72,0,22,0,12,0,37,0,75,0,40,0 14,0,64,0,29,0,80,0,10,0,73,0 81,0,76,0,56,0,70,0,45,0,83,0 38,0,65,0,66,0,71,0,3,0,30,0 4,0,26,0,42,0,13,0,47,0,9,0 34,0,77,0,60,0,39,0,44,0,24,0 19,0,68,0,48,0,27,0,61,0,78,0 55,0,43,0,63,0,54,0,17,0,58,0 79,0,23,0,1,0,25,0,67,0,31,0 18,0,11,0,46,0,33,0,74,0,37,0 82,0,69,0,57,0,16,0,49,0,20,0 15,0,32,0,72,0,41,0,62,0,51,0 5,0,52,0,28,0,59,0,2,0,7,0 6,0,8,0,21,0,53,0,36,0,50,0 35,0,83,0,19,0,39,0,13,0,65,0 43,0,47,0,27,0,1,0,70,0,64,0 77,0,22,0,79,0,81,0,9,0,11,0 73,0,24,0,63,0,4,0,56,0,30,0 82,0,51,0,66,0,80,0,58,0,45,0 25,0,60,0,15,0,5,0,68,0,49,0 71,0,32,0,29,0,26,0,28,0,12,0 35,0,46,0,3,0,2,0,50,0,72,0 18,0,61,0,31,0,16,0,8,0,7,0 52,0,67,0,41,0,36,0,76,0,14,0 42,0,38,0,44,0,57,0,37,0,59,0 75,0,21,0,10,0,69,0,17,0,48,0 54,0,53,0,20,0,40,0,78,0,33,0 74,0,62,0,6,0,23,0,34,0,55,0 2,0,4,0,12,0,66,0,81,0,25,0 56,0,47,0,11,0,35,0,71,0,82,0 27,0,28,0,36,0,60,0,30,0,46,0 1,0,29,0,65,0,15,0,61,0,37,0 9,0,75,0,43,0,19,0,16,0,24,0 14,0,58,0,83,0,38,0,77,0,78,0 64,0,18,0,59,0,79,0,32,0,3,0 76,0,55,0,73,0,33,0,69,0,8,0 44,0,74,0,10,0,49,0,53,0,41,0 40,0,50,0,13,0,51,0,48,0,52,0 70,0,23,0,39,0,68,0,63,0,21,0 45,0,7,0,22,0,57,0,54,0,34,0 6,0,26,0,31,0,17,0,72,0,5,0 42,0,20,0,62,0,80,0,67,0,75,0 ================================================ FILE: schedules/83_8.csv ================================================ 13,0,75,0,80,0,25,0,79,0,74,0 66,0,34,0,77,0,18,0,30,0,27,0 3,0,24,0,32,0,38,0,11,0,2,0 49,0,1,0,61,0,9,0,55,0,71,0 14,0,33,0,78,0,7,0,5,0,35,0 63,0,8,0,15,0,50,0,67,0,37,0 31,0,51,0,44,0,36,0,82,0,64,0 40,0,73,0,42,0,6,0,43,0,58,0 81,0,62,0,52,0,69,0,60,0,83,0 29,0,21,0,53,0,56,0,70,0,39,0 12,0,76,0,17,0,19,0,65,0,41,0 4,0,57,0,22,0,59,0,23,0,20,0 68,0,46,0,10,0,45,0,47,0,28,0 54,0,72,0,26,0,48,0,16,0,15,0 9,0,35,0,32,0,80,0,37,0,51,0 30,0,61,0,42,0,7,0,60,0,3,0 43,0,74,0,33,0,21,0,11,0,27,0 55,0,66,0,17,0,31,0,2,0,29,0 13,0,24,0,36,0,49,0,34,0,69,0 50,0,19,0,59,0,45,0,81,0,1,0 56,0,75,0,22,0,28,0,63,0,65,0 12,0,40,0,68,0,78,0,53,0,62,0 39,0,16,0,64,0,76,0,52,0,20,0 5,0,41,0,57,0,71,0,72,0,70,0 46,0,48,0,14,0,23,0,77,0,38,0 54,0,8,0,4,0,58,0,18,0,83,0 26,0,82,0,47,0,79,0,67,0,6,0 25,0,44,0,34,0,73,0,10,0,32,0 30,1,21,0,59,0,24,1,55,0,35,0 33,0,12,0,66,0,60,0,64,0,22,0 70,0,50,0,28,0,16,0,80,0,36,0 65,0,7,0,37,0,38,0,68,0,13,0 49,0,72,0,4,0,56,0,78,0,76,0 79,0,41,0,58,0,53,0,61,0,14,0 74,0,26,0,73,0,18,0,71,0,19,0 52,0,17,0,15,0,10,0,5,0,23,0 48,0,40,0,2,0,82,0,20,0,75,0 43,0,69,0,51,0,8,0,29,0,46,0 77,0,47,0,54,0,31,0,81,0,42,0 27,0,67,0,57,0,44,0,39,0,1,0 11,0,6,0,25,0,63,0,62,0,45,0 83,0,9,0,50,0,3,0,76,0,74,0 53,0,73,0,23,0,55,0,36,0,65,0 10,0,2,0,60,0,18,0,78,0,41,0 8,0,71,0,34,0,80,0,14,0,59,0 33,0,37,0,30,0,70,0,54,0,52,0 43,0,5,0,38,0,19,0,47,0,56,0 35,0,77,0,22,0,1,0,82,0,58,0 51,0,11,0,79,0,83,0,42,0,57,0 61,0,21,0,12,0,13,0,26,0,31,0 15,0,6,0,39,0,32,0,69,0,68,0 75,0,7,0,45,0,24,0,72,0,64,0 25,0,28,0,4,0,67,0,29,0,40,0 20,0,44,0,17,0,46,0,9,0,62,0 81,0,3,0,48,0,66,0,63,0,49,0 27,0,71,0,51,0,16,0,47,0,22,0 43,0,23,0,35,0,79,0,34,0,54,0 82,0,39,0,18,0,37,0,42,0,5,0 10,0,38,0,74,0,12,0,72,0,6,0 76,0,36,0,2,0,21,0,1,0,25,0 64,0,30,0,13,0,50,0,41,0,73,0 68,0,9,0,29,0,26,0,81,0,58,0 46,0,49,0,83,0,70,0,65,0,59,0 15,0,55,0,78,0,44,0,3,0,75,0 40,0,32,0,27,0,52,0,63,0,14,0 45,0,56,0,31,0,16,0,33,0,57,0 61,0,19,0,62,0,77,0,67,0,24,0 4,0,48,0,60,0,80,0,17,0,11,0 20,0,53,0,28,0,66,0,7,0,8,0 69,0,70,0,23,0,12,0,1,0,42,0 49,0,29,0,74,0,37,0,44,0,47,0 63,0,21,0,54,0,38,0,41,0,51,0 82,0,32,0,13,0,76,0,33,0,81,0 67,0,71,0,56,0,2,0,46,0,64,0 68,0,61,0,36,0,83,0,75,0,17,0 35,0,31,0,18,0,6,0,52,0,28,0 59,0,16,0,58,0,66,0,5,0,62,0 72,0,65,0,80,0,69,0,30,0,40,0 79,0,73,0,7,0,27,0,9,0,15,0 11,0,19,0,20,0,55,0,10,0,14,0 34,0,26,0,3,0,39,0,4,0,45,0 50,0,43,0,60,0,77,0,57,0,53,0 48,0,78,0,24,0,22,0,25,0,8,0 58,0,71,0,63,0,23,0,31,0,76,0 41,0,16,0,37,0,75,0,6,0,81,0 44,0,42,0,28,0,2,0,59,0,72,0 14,0,62,0,1,0,30,0,51,0,74,0 52,0,34,0,19,0,46,0,7,0,82,0 50,0,47,0,55,0,33,0,4,0,69,0 20,0,25,0,60,0,68,0,27,0,56,0 83,0,10,0,80,0,53,0,26,0,24,0 66,0,36,0,9,0,54,0,57,0,78,0 5,0,65,0,29,0,61,0,48,0,32,0 67,0,35,0,11,0,73,0,49,0,12,0 3,0,64,0,40,0,21,0,77,0,8,0 18,0,70,0,45,0,15,0,43,0,13,0 79,0,38,0,81,0,39,0,22,0,17,0 23,0,72,0,33,0,19,0,25,0,51,0 24,0,52,0,71,0,66,0,44,0,68,0 6,0,80,0,46,0,27,0,5,0,54,0 12,0,30,0,56,0,32,0,58,0,36,0 57,0,65,0,26,0,2,0,8,0,35,0 37,0,78,0,64,0,34,0,28,0,61,0 47,0,14,0,76,0,73,0,75,0,60,0 83,0,38,0,1,0,20,0,15,0,29,0 77,0,13,0,63,0,10,0,39,0,9,0 22,0,7,0,31,0,11,0,40,0,70,0 79,0,18,0,21,0,62,0,49,0,50,0 69,0,53,0,17,0,67,0,3,0,59,0 55,0,45,0,42,0,74,0,41,0,48,0 82,0,16,0,24,0,43,0,4,0,30,0 ================================================ FILE: schedules/83_9.csv ================================================ 78,0,57,0,32,0,34,0,47,0,45,0 63,0,56,0,2,0,55,0,3,0,27,0 74,0,51,0,70,0,66,0,67,0,4,0 23,0,29,0,72,0,75,0,12,0,28,0 48,0,61,0,58,0,17,0,52,0,26,0 73,0,6,0,8,0,68,0,50,0,19,0 62,0,49,0,15,0,77,0,79,0,5,0 1,0,35,0,81,0,10,0,33,0,43,0 14,0,13,0,60,0,83,0,9,0,40,0 18,0,38,0,36,0,71,0,46,0,44,0 37,0,39,0,41,0,22,0,64,0,69,0 65,0,11,0,42,0,54,0,82,0,53,0 25,0,80,0,76,0,31,0,30,0,24,0 59,0,16,0,7,0,20,0,21,0,75,0 67,0,43,0,48,0,50,0,49,0,78,0 5,0,56,0,66,0,1,0,58,0,32,0 15,0,27,0,19,0,23,0,4,0,17,0 6,0,77,0,60,0,41,0,51,0,26,0 12,0,11,0,55,0,74,0,46,0,13,0 57,0,64,0,40,0,54,0,29,0,8,0 73,0,76,0,44,0,22,0,45,0,7,0 69,0,33,0,47,0,14,0,82,0,28,0 21,0,3,0,10,0,31,0,72,0,36,0 16,0,18,0,2,0,52,0,68,0,65,0 34,0,63,0,42,0,25,0,38,0,79,0 30,0,62,0,70,0,35,0,53,0,20,0 39,0,83,0,71,0,24,0,59,0,61,0 80,0,81,0,5,0,37,0,9,0,17,0 73,1,48,0,46,0,15,1,8,0,47,0 12,1,26,0,21,0,4,0,11,0,64,0 57,0,75,0,52,0,10,0,50,0,14,0 29,0,55,0,41,0,76,0,82,0,34,0 78,0,40,0,16,0,6,0,25,0,70,0 49,0,58,0,83,0,19,0,65,0,63,0 81,0,36,0,79,0,2,0,39,0,67,0 1,0,23,0,61,0,80,0,13,0,20,0 24,0,60,0,22,0,3,0,66,0,62,0 27,0,51,0,72,0,45,0,37,0,71,0 74,0,33,0,9,0,38,0,31,0,68,0 30,0,44,0,43,0,42,0,56,0,59,0 7,0,35,0,54,0,69,0,18,0,77,0 28,0,32,0,4,0,53,0,48,0,16,0 50,0,39,0,58,0,29,0,47,0,11,0 17,0,34,0,83,0,75,0,67,0,22,0 8,0,52,0,78,0,51,0,80,0,55,0 65,0,71,0,57,0,33,0,60,0,79,0 20,0,37,0,38,0,2,0,40,0,76,0 62,0,42,0,7,0,41,0,81,0,12,0 59,0,5,0,28,0,73,0,10,0,13,0 44,0,35,0,25,0,3,0,19,0,64,0 54,0,66,0,9,0,6,0,45,0,15,0 43,0,69,0,27,0,18,0,61,0,74,0 1,0,36,0,26,0,30,0,63,0,82,0 70,0,68,0,49,0,46,0,32,0,72,0 77,0,23,0,14,0,53,0,21,0,24,0 31,0,60,0,67,0,56,0,28,0,7,0 83,0,20,0,8,0,41,0,79,0,44,0 48,0,33,0,54,0,12,0,5,0,3,0 25,0,4,0,62,0,13,0,29,0,71,0 61,0,10,0,6,0,37,0,11,0,63,0 47,0,30,0,75,0,55,0,19,0,18,0 26,0,74,0,22,0,15,0,65,0,78,0 46,0,56,0,24,0,52,0,9,0,35,0 53,0,34,0,68,0,58,0,81,0,69,0 72,0,80,0,38,0,59,0,57,0,66,0 76,0,16,0,77,0,36,0,43,0,64,0 32,0,50,0,82,0,31,0,51,0,40,0 45,0,2,0,21,0,1,0,17,0,70,0 14,0,73,0,39,0,27,0,42,0,49,0 23,0,74,0,52,0,7,0,37,0,60,0 3,0,53,0,41,0,9,0,78,0,61,0 46,0,22,0,79,0,4,0,59,0,54,0 43,0,12,0,47,0,68,0,83,0,26,0 72,0,63,0,50,0,77,0,81,0,44,0 32,0,17,0,55,0,25,0,10,0,65,0 82,0,64,0,24,0,75,0,5,0,70,0 36,0,28,0,45,0,42,0,80,0,19,0 38,0,48,0,29,0,27,0,6,0,35,0 11,0,1,0,16,0,57,0,69,0,49,0 23,0,18,0,56,0,62,0,39,0,40,0 33,0,51,0,30,0,73,0,58,0,2,0 20,0,34,0,31,0,71,0,14,0,66,0 76,0,67,0,8,0,15,0,13,0,21,0 19,0,9,0,10,0,77,0,22,0,70,0 64,0,53,0,80,0,7,0,50,0,46,0 44,0,24,0,6,0,57,0,55,0,28,0 47,0,74,0,41,0,72,0,54,0,1,0 65,0,51,0,69,0,36,0,56,0,48,0 20,0,81,0,18,0,60,0,4,0,49,0 2,0,42,0,31,0,5,0,29,0,61,0 66,0,43,0,25,0,73,0,23,0,11,0 79,0,13,0,82,0,27,0,78,0,58,0 68,0,3,0,75,0,40,0,15,0,71,0 17,0,59,0,14,0,76,0,63,0,35,0 37,0,33,0,26,0,16,0,67,0,34,0 62,0,52,0,21,0,38,0,32,0,83,0 45,0,12,0,30,0,39,0,8,0,10,0 61,0,54,0,73,0,81,0,70,0,55,0 79,0,29,0,1,0,18,0,51,0,24,0 68,0,80,0,11,0,60,0,48,0,44,0 36,0,7,0,13,0,49,0,17,0,47,0 71,0,53,0,19,0,26,0,76,0,56,0 40,0,77,0,42,0,4,0,33,0,52,0 9,0,82,0,43,0,39,0,72,0,20,0 8,0,58,0,22,0,14,0,16,0,38,0 65,0,66,0,28,0,21,0,30,0,37,0 46,0,5,0,27,0,41,0,57,0,25,0 3,0,59,0,6,0,67,0,23,0,32,0 12,0,50,0,15,0,2,0,35,0,34,0 31,0,78,0,63,0,62,0,69,0,75,0 45,0,64,0,29,0,74,0,83,0,81,0 71,0,10,0,60,0,16,0,42,0,47,0 14,0,79,0,7,0,48,0,30,0,72,0 77,0,17,0,57,0,56,0,82,0,73,0 19,0,37,0,54,0,13,0,43,0,24,0 67,0,12,0,65,0,9,0,27,0,44,0 52,0,15,0,70,0,31,0,11,0,59,0 2,0,49,0,74,0,8,0,53,0,25,0 5,0,22,0,68,0,23,0,36,0,55,0 66,0,78,0,83,0,76,0,33,0,46,0 35,0,58,0,41,0,40,0,21,0,80,0 4,0,39,0,75,0,1,0,6,0,38,0 3,0,20,0,69,0,50,0,45,0,26,0 51,0,64,0,28,0,61,0,62,0,34,0 18,0,32,0,15,0,63,0,73,0,12,0 ================================================ FILE: schedules/84_1.csv ================================================ 38,0,45,0,69,0,80,0,8,0,37,0 49,0,64,0,59,0,84,0,48,0,30,0 74,0,70,0,27,0,17,0,5,0,24,0 41,0,20,0,4,0,46,0,13,0,58,0 25,0,14,0,54,0,60,0,18,0,50,0 73,0,47,0,28,0,53,0,29,0,79,0 63,0,62,0,23,0,57,0,11,0,82,0 40,0,81,0,55,0,61,0,75,0,2,0 7,0,32,0,15,0,83,0,10,0,12,0 3,0,42,0,16,0,72,0,33,0,19,0 9,0,1,0,44,0,51,0,34,0,43,0 67,0,66,0,76,0,39,0,77,0,22,0 78,0,56,0,52,0,6,0,65,0,71,0 35,0,68,0,31,0,21,0,36,0,26,0 ================================================ FILE: schedules/84_10.csv ================================================ 70,0,35,0,33,0,53,0,36,0,80,0 64,0,41,0,56,0,2,0,51,0,43,0 81,0,19,0,73,0,44,0,69,0,49,0 84,0,71,0,32,0,40,0,58,0,13,0 7,0,45,0,42,0,12,0,4,0,77,0 37,0,65,0,75,0,38,0,61,0,78,0 50,0,25,0,66,0,63,0,52,0,47,0 23,0,68,0,21,0,83,0,1,0,72,0 5,0,20,0,29,0,57,0,16,0,28,0 48,0,3,0,9,0,55,0,60,0,74,0 30,0,15,0,17,0,18,0,67,0,11,0 76,0,39,0,62,0,6,0,59,0,22,0 24,0,26,0,10,0,34,0,46,0,79,0 31,0,14,0,82,0,54,0,8,0,27,0 40,0,51,0,68,0,36,0,38,0,42,0 52,0,65,0,44,0,5,0,84,0,33,0 55,0,49,0,75,0,16,0,32,0,23,0 18,0,35,0,83,0,13,0,61,0,41,0 72,0,6,0,69,0,20,0,56,0,80,0 9,0,71,0,50,0,4,0,39,0,11,0 31,0,1,0,67,0,22,0,73,0,3,0 66,0,37,0,74,0,2,0,46,0,27,0 7,0,60,0,8,0,24,0,47,0,76,0 12,0,59,0,25,0,57,0,79,0,21,0 17,0,54,0,81,0,48,0,10,0,53,0 15,0,78,0,43,0,34,0,77,0,28,0 64,0,14,0,29,0,62,0,26,0,30,0 19,0,82,0,70,0,58,0,63,0,45,0 3,0,71,0,35,0,16,0,68,0,65,0 39,0,46,0,80,0,52,0,83,0,75,0 32,0,5,0,67,0,74,0,50,0,76,0 33,0,57,0,27,0,41,0,73,0,24,0 69,0,37,0,34,0,23,0,22,0,48,0 8,0,55,0,30,0,40,0,12,0,1,0 59,0,54,0,7,0,51,0,19,0,20,0 64,0,13,0,21,0,78,0,9,0,63,0 45,0,66,0,61,0,17,0,44,0,43,0 29,0,4,0,72,0,31,0,84,0,38,0 26,0,2,0,47,0,18,0,49,0,77,0 36,0,15,0,14,0,82,0,6,0,10,0 11,0,79,0,58,0,28,0,56,0,53,0 25,0,70,0,81,0,60,0,42,0,62,0 22,0,40,0,8,0,50,0,20,0,46,0 66,0,76,0,9,0,33,0,30,0,75,0 63,0,12,0,29,0,67,0,48,0,35,0 18,0,55,0,68,0,21,0,37,0,73,0 38,0,24,0,5,0,17,0,19,0,13,0 44,0,7,0,41,0,34,0,72,0,82,0 56,0,4,0,59,0,78,0,10,0,74,0 39,0,53,0,2,0,25,0,31,0,32,0 49,0,14,0,84,0,43,0,70,0,79,0 15,0,52,0,60,0,51,0,45,0,26,0 81,0,28,0,47,0,71,0,80,0,6,0 11,0,16,0,61,0,1,0,27,0,62,0 42,0,23,0,54,0,65,0,57,0,64,0 77,0,69,0,83,0,58,0,36,0,3,0 55,0,76,0,20,0,34,0,17,0,63,0 70,0,5,0,73,0,12,0,46,0,9,0 52,0,14,0,72,0,59,0,35,0,37,0 30,0,21,0,38,0,60,0,49,0,39,0 15,0,84,0,74,0,16,0,7,0,80,0 4,0,79,0,19,0,8,0,68,0,75,0 42,0,53,0,71,0,18,0,10,0,29,0 2,0,6,0,23,0,58,0,24,0,61,0 78,0,3,0,11,0,57,0,47,0,44,0 48,0,77,0,66,0,62,0,41,0,31,0 22,0,56,0,54,0,28,0,13,0,26,0 36,0,64,0,27,0,45,0,81,0,50,0 43,0,40,0,83,0,65,0,67,0,25,0 82,0,51,0,1,0,33,0,69,0,32,0 63,0,60,0,2,0,5,0,72,0,10,0 12,0,24,0,34,0,11,0,49,0,59,0 74,0,77,0,79,0,71,0,23,0,52,0 3,0,15,0,13,0,70,0,20,0,66,0 80,0,9,0,61,0,22,0,68,0,14,0 53,0,40,0,41,0,76,0,78,0,45,0 7,0,28,0,69,0,64,0,35,0,31,0 16,0,30,0,37,0,25,0,6,0,19,0 38,0,62,0,33,0,54,0,18,0,50,0 39,0,84,0,42,0,82,0,55,0,56,0 58,0,21,0,47,0,46,0,51,0,67,0 17,0,65,0,8,0,36,0,73,0,29,0 27,0,83,0,48,0,44,0,32,0,4,0 57,0,43,0,75,0,26,0,81,0,1,0 78,0,16,0,60,0,79,0,66,0,69,0 11,0,54,0,6,0,77,0,5,0,40,0 22,0,25,0,74,0,35,0,45,0,84,0 39,0,28,0,19,0,33,0,67,0,23,0 14,0,63,0,51,0,24,0,65,0,18,0 55,0,2,0,83,0,59,0,70,0,29,0 31,0,12,0,13,0,62,0,47,0,15,0 80,0,10,0,50,0,43,0,37,0,3,0 27,0,20,0,26,0,53,0,9,0,38,0 73,0,44,0,82,0,64,0,75,0,71,0 49,0,46,0,76,0,68,0,48,0,42,0 56,0,21,0,34,0,81,0,32,0,8,0 1,0,58,0,41,0,52,0,4,0,17,0 57,0,36,0,61,0,30,0,7,0,72,0 18,0,6,0,78,0,23,0,31,0,70,0 80,0,25,0,29,0,51,0,27,0,77,0 62,0,10,0,19,0,83,0,84,0,28,0 45,0,48,0,20,0,47,0,75,0,14,0 68,0,60,0,44,0,13,0,50,0,59,0 58,0,5,0,81,0,39,0,35,0,66,0 76,0,4,0,3,0,61,0,52,0,21,0 16,0,82,0,12,0,17,0,26,0,40,0 69,0,30,0,65,0,74,0,46,0,41,0 33,0,43,0,22,0,55,0,7,0,11,0 32,0,72,0,73,0,15,0,42,0,79,0 36,0,34,0,67,0,9,0,54,0,2,0 63,0,57,0,71,0,38,0,8,0,56,0 53,0,49,0,24,0,37,0,1,0,64,0 75,0,18,0,59,0,84,0,3,0,27,0 70,0,10,0,47,0,68,0,69,0,39,0 78,0,46,0,23,0,7,0,25,0,17,0 31,0,11,0,26,0,21,0,80,0,65,0 77,0,16,0,13,0,76,0,72,0,81,0 58,0,44,0,74,0,54,0,43,0,12,0 30,0,79,0,82,0,5,0,22,0,83,0 32,0,63,0,28,0,37,0,41,0,36,0 50,0,42,0,1,0,35,0,2,0,19,0 53,0,67,0,55,0,4,0,66,0,14,0 45,0,38,0,52,0,6,0,34,0,73,0 51,0,62,0,9,0,8,0,49,0,57,0 64,0,61,0,60,0,71,0,33,0,20,0 40,0,56,0,24,0,48,0,15,0,29,0 47,0,59,0,23,0,5,0,43,0,36,0 19,0,41,0,72,0,3,0,12,0,39,0 18,0,80,0,79,0,44,0,1,0,76,0 17,0,75,0,50,0,21,0,70,0,28,0 13,0,65,0,27,0,7,0,6,0,49,0 84,0,77,0,46,0,53,0,61,0,63,0 33,0,26,0,42,0,37,0,58,0,8,0 69,0,25,0,71,0,15,0,54,0,55,0 51,0,48,0,73,0,2,0,30,0,78,0 38,0,10,0,22,0,66,0,32,0,64,0 57,0,35,0,34,0,40,0,60,0,4,0 24,0,20,0,67,0,62,0,52,0,82,0 81,0,68,0,29,0,11,0,14,0,74,0 9,0,45,0,31,0,83,0,16,0,56,0 ================================================ FILE: schedules/84_11.csv ================================================ 28,0,66,0,33,0,23,0,46,0,16,0 12,0,15,0,59,0,54,0,37,0,48,0 52,0,77,0,32,0,56,0,8,0,10,0 5,0,64,0,43,0,41,0,75,0,71,0 67,0,36,0,35,0,80,0,84,0,47,0 50,0,76,0,27,0,2,0,13,0,3,0 38,0,53,0,19,0,29,0,18,0,81,0 14,0,62,0,74,0,61,0,21,0,42,0 39,0,1,0,45,0,57,0,83,0,51,0 69,0,63,0,25,0,9,0,7,0,40,0 79,0,24,0,20,0,17,0,65,0,30,0 44,0,22,0,72,0,49,0,58,0,11,0 31,0,26,0,4,0,60,0,68,0,73,0 55,0,34,0,6,0,78,0,70,0,82,0 35,0,18,0,23,0,5,0,2,0,62,0 50,0,16,0,57,0,74,0,15,0,53,0 56,0,75,0,9,0,27,0,67,0,12,0 65,0,42,0,25,0,76,0,52,0,81,0 11,0,43,0,80,0,30,0,77,0,63,0 46,0,21,0,3,0,24,0,54,0,29,0 6,0,64,0,39,0,10,0,47,0,28,0 44,0,73,0,4,0,17,0,45,0,20,0 61,0,59,0,49,0,26,0,69,0,13,0 37,0,33,0,19,0,40,0,84,0,34,0 70,0,68,0,7,0,38,0,1,0,41,0 36,0,8,0,58,0,31,0,78,0,48,0 51,0,22,0,82,0,71,0,79,0,60,0 66,0,72,0,83,0,32,0,55,0,14,0 21,0,53,0,56,0,23,0,63,0,64,0 73,0,9,0,18,0,30,0,59,0,10,0 49,0,40,0,54,0,57,0,4,0,43,0 42,0,33,0,5,0,12,0,70,0,50,0 13,0,77,0,46,0,25,0,47,0,34,0 82,0,35,0,20,0,16,0,39,0,31,0 45,0,38,0,66,0,22,0,78,0,27,0 2,0,36,0,74,0,81,0,26,0,11,0 44,0,48,0,84,0,55,0,79,0,75,0 17,0,72,0,28,0,69,0,52,0,19,0 14,0,67,0,65,0,7,0,15,0,71,0 3,0,80,0,41,0,61,0,32,0,6,0 29,0,83,0,76,0,8,0,68,0,51,0 37,0,62,0,1,0,60,0,58,0,24,0 22,0,77,0,12,0,64,0,74,0,26,0 44,0,34,0,79,0,53,0,31,0,43,0 78,0,69,0,56,0,73,0,54,0,2,0 70,0,14,0,23,0,19,0,59,0,36,0 75,0,45,0,52,0,66,0,82,0,47,0 5,0,57,0,32,0,11,0,29,0,25,0 18,0,7,0,72,0,48,0,24,0,80,0 55,0,15,0,4,0,33,0,62,0,76,0 16,0,3,0,71,0,1,0,49,0,42,0 58,0,21,0,81,0,51,0,40,0,27,0 6,0,20,0,68,0,9,0,84,0,67,0 8,0,50,0,35,0,65,0,46,0,61,0 10,0,60,0,83,0,41,0,17,0,13,0 37,0,38,0,63,0,28,0,39,0,30,0 64,0,7,0,73,0,52,0,36,0,44,0 26,0,79,0,76,0,72,0,32,0,16,0 2,0,15,0,34,0,59,0,55,0,21,0 3,0,74,0,25,0,18,0,4,0,66,0 43,0,8,0,1,0,33,0,6,0,22,0 23,0,20,0,84,0,29,0,77,0,50,0 51,0,31,0,67,0,41,0,19,0,54,0 57,0,68,0,63,0,82,0,14,0,27,0 47,0,65,0,9,0,83,0,38,0,58,0 62,0,10,0,70,0,46,0,69,0,71,0 49,0,48,0,30,0,56,0,60,0,42,0 53,0,24,0,13,0,80,0,39,0,5,0 45,0,11,0,12,0,28,0,40,0,61,0 17,0,78,0,37,0,81,0,35,0,75,0 26,0,44,0,33,0,25,0,6,0,54,0 27,0,47,0,32,0,18,0,19,0,43,0 50,0,31,0,62,0,64,0,72,0,38,0 46,0,84,0,30,0,76,0,41,0,57,0 51,0,16,0,55,0,9,0,5,0,63,0 29,0,48,0,82,0,67,0,74,0,28,0 75,0,24,0,10,0,34,0,68,0,61,0 12,0,1,0,69,0,35,0,4,0,14,0 77,0,42,0,45,0,58,0,79,0,2,0 81,0,71,0,73,0,13,0,23,0,15,0 65,0,53,0,37,0,56,0,70,0,22,0 52,0,60,0,40,0,39,0,36,0,3,0 21,0,78,0,80,0,20,0,49,0,83,0 8,0,7,0,11,0,59,0,17,0,66,0 34,0,64,0,69,0,68,0,48,0,32,0 29,0,61,0,2,0,63,0,44,0,1,0 58,0,19,0,10,0,50,0,79,0,4,0 62,0,13,0,16,0,12,0,6,0,56,0 70,0,28,0,65,0,73,0,77,0,75,0 54,0,81,0,27,0,80,0,60,0,20,0 43,0,42,0,7,0,15,0,35,0,83,0 66,0,37,0,71,0,26,0,9,0,57,0 84,0,25,0,41,0,59,0,72,0,45,0 46,0,36,0,51,0,53,0,17,0,82,0 3,0,30,0,78,0,74,0,47,0,5,0 38,0,24,0,40,0,23,0,55,0,8,0 67,0,21,0,22,0,18,0,39,0,76,0 11,0,52,0,14,0,31,0,49,0,33,0 54,0,61,0,15,0,9,0,79,0,28,0 27,0,1,0,26,0,84,0,65,0,10,0 20,0,34,0,63,0,62,0,36,0,66,0 5,0,83,0,56,0,44,0,81,0,59,0 17,0,12,0,38,0,80,0,25,0,71,0 69,0,47,0,41,0,8,0,21,0,57,0 6,0,14,0,77,0,24,0,51,0,18,0 75,0,29,0,16,0,40,0,4,0,30,0 82,0,23,0,31,0,76,0,3,0,37,0 19,0,49,0,35,0,64,0,55,0,45,0 22,0,43,0,50,0,48,0,52,0,73,0 32,0,70,0,74,0,58,0,13,0,7,0 67,0,33,0,72,0,2,0,60,0,53,0 42,0,39,0,78,0,46,0,68,0,11,0 14,0,84,0,17,0,16,0,5,0,34,0 8,0,24,0,71,0,28,0,27,0,44,0 41,0,9,0,49,0,62,0,82,0,81,0 79,0,19,0,73,0,66,0,80,0,1,0 36,0,76,0,61,0,43,0,38,0,56,0 55,0,57,0,58,0,20,0,12,0,3,0 21,0,4,0,52,0,67,0,77,0,37,0 83,0,68,0,54,0,40,0,74,0,50,0 48,0,11,0,53,0,6,0,10,0,35,0 15,0,46,0,60,0,18,0,75,0,69,0 30,0,51,0,64,0,70,0,25,0,2,0 32,0,13,0,65,0,45,0,63,0,33,0 26,0,39,0,72,0,23,0,7,0,78,0 22,0,47,0,59,0,42,0,29,0,31,0 66,0,67,0,24,0,12,0,43,0,81,0 76,0,58,0,6,0,5,0,61,0,73,0 82,0,60,0,11,0,21,0,84,0,38,0 50,0,55,0,25,0,28,0,1,0,36,0 63,0,48,0,71,0,19,0,46,0,83,0 18,0,79,0,57,0,64,0,78,0,13,0 74,0,69,0,23,0,65,0,44,0,51,0 30,0,32,0,54,0,62,0,22,0,35,0 77,0,59,0,7,0,75,0,33,0,3,0 41,0,68,0,2,0,16,0,37,0,52,0 10,0,31,0,80,0,15,0,45,0,56,0 17,0,27,0,39,0,70,0,29,0,49,0 47,0,53,0,40,0,20,0,14,0,26,0 4,0,9,0,34,0,42,0,8,0,72,0 58,0,18,0,61,0,71,0,54,0,84,0 73,0,3,0,51,0,67,0,11,0,38,0 21,0,44,0,13,0,66,0,68,0,19,0 6,0,30,0,81,0,45,0,50,0,7,0 16,0,78,0,28,0,65,0,59,0,60,0 56,0,29,0,79,0,33,0,41,0,14,0 17,0,76,0,1,0,64,0,9,0,48,0 46,0,10,0,43,0,74,0,37,0,20,0 62,0,49,0,75,0,8,0,25,0,53,0 2,0,39,0,47,0,4,0,32,0,12,0 35,0,26,0,63,0,52,0,24,0,70,0 83,0,23,0,80,0,34,0,57,0,22,0 55,0,31,0,36,0,42,0,27,0,69,0 72,0,40,0,5,0,15,0,82,0,77,0 ================================================ FILE: schedules/84_12.csv ================================================ 35,0,71,0,76,0,66,0,64,0,19,0 53,0,3,0,6,0,17,0,41,0,12,0 44,0,60,0,37,0,48,0,24,0,20,0 28,0,1,0,11,0,29,0,4,0,50,0 33,0,38,0,79,0,31,0,81,0,47,0 56,0,45,0,18,0,68,0,7,0,69,0 32,0,26,0,34,0,2,0,16,0,21,0 74,0,22,0,57,0,59,0,55,0,14,0 9,0,42,0,75,0,73,0,5,0,51,0 63,0,13,0,52,0,8,0,40,0,36,0 39,0,65,0,49,0,72,0,54,0,67,0 84,0,77,0,23,0,61,0,58,0,62,0 15,0,78,0,80,0,70,0,43,0,25,0 83,0,82,0,30,0,46,0,10,0,27,0 31,0,14,0,45,0,28,0,29,0,26,0 57,0,37,0,47,0,71,0,34,0,69,0 5,0,20,0,11,0,33,0,32,0,68,0 56,0,6,0,76,0,51,0,13,0,24,0 84,0,62,0,53,0,67,0,1,0,64,0 48,0,16,0,22,0,15,0,58,0,42,0 72,0,50,0,61,0,46,0,70,0,63,0 43,0,82,0,74,0,81,0,18,0,8,0 65,0,60,0,52,0,3,0,80,0,10,0 21,0,17,0,25,0,83,0,75,0,12,0 38,0,36,0,30,0,19,0,49,0,59,0 54,0,78,0,23,0,4,0,44,0,73,0 66,0,9,0,79,0,40,0,77,0,2,0 55,0,7,0,27,0,41,0,35,0,39,0 15,0,20,0,8,0,57,0,62,0,11,0 6,0,65,0,67,0,68,0,37,0,70,0 47,0,60,0,21,0,28,0,13,0,72,0 81,0,45,0,50,0,51,0,58,0,10,0 1,0,25,0,23,0,32,0,76,0,22,0 9,0,19,0,29,0,56,0,82,0,84,0 74,0,64,0,42,0,31,0,36,0,80,0 5,0,83,0,61,0,79,0,71,0,39,0 59,0,53,0,48,0,77,0,7,0,63,0 78,0,75,0,34,0,66,0,55,0,46,0 26,0,44,0,52,0,27,0,17,0,73,0 41,0,24,0,38,0,54,0,40,0,69,0 49,0,3,0,35,0,16,0,43,0,33,0 2,0,4,0,14,0,30,0,18,0,12,0 79,0,67,0,23,0,28,0,71,0,42,0 9,0,31,0,72,0,6,0,25,0,22,0 5,0,59,0,60,0,58,0,29,0,82,0 37,0,13,0,75,0,52,0,50,0,77,0 55,0,57,0,40,0,36,0,21,0,45,0 10,0,64,0,39,0,24,0,44,0,16,0 83,0,34,0,73,0,18,0,35,0,48,0 70,0,69,0,30,0,11,0,84,0,81,0 19,0,2,0,3,0,7,0,62,0,74,0 32,0,51,0,27,0,49,0,78,0,61,0 33,0,4,0,56,0,66,0,26,0,41,0 1,0,68,0,63,0,17,0,47,0,43,0 14,0,53,0,76,0,80,0,20,0,54,0 65,0,46,0,15,0,8,0,12,0,38,0 25,0,40,0,31,0,35,0,60,0,50,0 52,0,37,0,55,0,16,0,28,0,30,0 57,0,6,0,82,0,2,0,23,0,49,0 22,0,26,0,24,0,5,0,78,0,3,0 47,0,74,0,84,0,32,0,77,0,39,0 56,0,44,0,75,0,53,0,61,0,70,0 1,0,7,0,42,0,46,0,14,0,34,0 41,0,10,0,68,0,79,0,48,0,64,0 73,0,20,0,36,0,65,0,43,0,29,0 13,0,80,0,9,0,11,0,38,0,18,0 33,0,72,0,66,0,69,0,51,0,83,0 81,0,15,0,63,0,21,0,19,0,4,0 8,0,67,0,76,0,17,0,59,0,45,0 54,0,58,0,12,0,27,0,71,0,62,0 37,0,24,0,7,0,79,0,42,0,82,0 65,0,26,0,75,0,23,0,30,0,47,0 64,0,18,0,2,0,70,0,60,0,55,0 61,0,20,0,10,0,6,0,13,0,1,0 46,0,25,0,33,0,53,0,39,0,73,0 4,0,34,0,40,0,76,0,43,0,84,0 68,0,50,0,49,0,71,0,78,0,8,0 17,0,62,0,48,0,31,0,66,0,28,0 3,0,58,0,9,0,83,0,63,0,57,0 69,0,12,0,22,0,36,0,44,0,19,0 38,0,14,0,52,0,72,0,32,0,56,0 81,0,27,0,80,0,16,0,29,0,67,0 21,0,15,0,51,0,5,0,54,0,74,0 59,0,77,0,41,0,35,0,45,0,11,0 10,0,82,0,28,0,40,0,75,0,33,0 53,0,25,0,42,0,68,0,55,0,4,0 23,0,36,0,39,0,70,0,3,0,34,0 57,0,32,0,30,0,13,0,64,0,7,0 29,0,37,0,62,0,38,0,44,0,76,0 47,0,5,0,12,0,52,0,74,0,66,0 50,0,59,0,31,0,16,0,56,0,65,0 18,0,78,0,21,0,6,0,79,0,58,0 46,0,71,0,45,0,24,0,9,0,43,0 35,0,72,0,17,0,81,0,20,0,2,0 63,0,26,0,84,0,51,0,11,0,54,0 69,0,48,0,19,0,67,0,14,0,61,0 8,0,22,0,80,0,77,0,27,0,83,0 60,0,15,0,73,0,41,0,49,0,1,0 64,0,58,0,50,0,82,0,38,0,4,0 16,0,46,0,13,0,68,0,5,0,62,0 40,0,78,0,20,0,12,0,74,0,56,0 32,0,31,0,54,0,18,0,10,0,37,0 28,0,61,0,35,0,76,0,9,0,65,0 17,0,70,0,79,0,30,0,51,0,22,0 21,0,48,0,73,0,47,0,80,0,45,0 11,0,34,0,49,0,24,0,81,0,53,0 69,0,52,0,43,0,26,0,59,0,25,0 27,0,84,0,75,0,36,0,57,0,72,0 71,0,3,0,55,0,15,0,1,0,77,0 66,0,29,0,63,0,39,0,42,0,6,0 19,0,7,0,8,0,23,0,33,0,60,0 83,0,14,0,44,0,41,0,67,0,2,0 62,0,80,0,51,0,34,0,22,0,82,0 26,0,10,0,49,0,12,0,9,0,70,0 61,0,24,0,27,0,18,0,59,0,74,0 64,0,77,0,28,0,56,0,69,0,15,0 68,0,58,0,72,0,40,0,30,0,3,0 7,0,66,0,38,0,43,0,21,0,20,0 13,0,71,0,41,0,81,0,65,0,25,0 32,0,60,0,67,0,76,0,55,0,73,0 4,0,5,0,36,0,6,0,35,0,14,0 83,0,47,0,19,0,78,0,31,0,53,0 2,0,11,0,46,0,48,0,23,0,52,0 45,0,44,0,1,0,33,0,42,0,63,0 57,0,84,0,39,0,17,0,50,0,37,0 54,0,8,0,16,0,29,0,79,0,75,0 67,0,74,0,30,0,9,0,41,0,34,0 3,0,73,0,81,0,61,0,64,0,59,0 70,0,27,0,40,0,4,0,47,0,20,0 10,0,77,0,43,0,19,0,5,0,72,0 42,0,62,0,69,0,65,0,32,0,21,0 36,0,11,0,56,0,71,0,17,0,60,0 58,0,80,0,26,0,46,0,49,0,37,0 18,0,16,0,14,0,84,0,8,0,25,0 78,0,38,0,28,0,63,0,2,0,39,0 75,0,31,0,76,0,44,0,15,0,7,0 6,0,54,0,55,0,33,0,48,0,50,0 13,0,45,0,22,0,82,0,66,0,53,0 12,0,68,0,23,0,29,0,24,0,83,0 35,0,57,0,1,0,52,0,79,0,51,0 17,0,4,0,69,0,9,0,60,0,46,0 40,0,14,0,11,0,37,0,78,0,64,0 28,0,84,0,7,0,80,0,5,0,49,0 2,0,56,0,10,0,42,0,47,0,8,0 71,0,6,0,73,0,16,0,38,0,74,0 53,0,30,0,43,0,50,0,39,0,62,0 65,0,19,0,79,0,34,0,27,0,45,0 36,0,77,0,51,0,44,0,68,0,25,0 41,0,18,0,72,0,57,0,26,0,76,0 70,0,66,0,24,0,58,0,1,0,31,0 59,0,15,0,54,0,13,0,23,0,83,0 21,0,29,0,61,0,33,0,52,0,22,0 48,0,12,0,32,0,35,0,81,0,75,0 63,0,82,0,3,0,20,0,55,0,67,0 8,0,56,0,5,0,73,0,30,0,37,0 74,0,53,0,79,0,60,0,72,0,26,0 77,0,70,0,42,0,17,0,57,0,38,0 50,0,47,0,54,0,36,0,9,0,7,0 2,0,33,0,24,0,84,0,65,0,22,0 71,0,59,0,44,0,40,0,32,0,80,0 51,0,46,0,29,0,13,0,18,0,3,0 25,0,64,0,34,0,63,0,27,0,6,0 16,0,76,0,1,0,48,0,82,0,78,0 69,0,21,0,67,0,35,0,10,0,23,0 43,0,12,0,55,0,31,0,61,0,11,0 41,0,58,0,19,0,75,0,28,0,20,0 4,0,49,0,62,0,83,0,52,0,45,0 39,0,66,0,81,0,15,0,14,0,68,0 ================================================ FILE: schedules/84_13.csv ================================================ 45,0,3,0,11,0,8,0,81,0,59,0 39,0,24,0,12,0,33,0,32,0,30,0 50,0,19,0,61,0,14,0,60,0,35,0 21,0,72,0,16,0,58,0,7,0,75,0 27,0,40,0,78,0,48,0,18,0,53,0 65,0,80,0,84,0,74,0,47,0,63,0 6,0,31,0,82,0,57,0,55,0,38,0 15,0,77,0,2,0,22,0,9,0,36,0 71,0,41,0,52,0,66,0,43,0,34,0 4,0,10,0,76,0,68,0,67,0,73,0 28,0,26,0,1,0,42,0,20,0,17,0 56,0,79,0,70,0,83,0,37,0,29,0 69,0,54,0,46,0,62,0,5,0,64,0 49,0,44,0,51,0,23,0,25,0,13,0 63,0,57,0,2,0,24,0,72,0,81,0 34,0,52,0,12,0,27,0,45,0,58,0 33,0,50,0,22,0,16,0,8,0,11,0 35,0,7,0,17,0,55,0,84,0,42,0 36,0,79,0,20,0,74,0,56,0,38,0 59,0,69,0,15,0,28,0,4,0,60,0 6,0,65,0,78,0,70,0,73,0,54,0 1,0,67,0,39,0,64,0,51,0,23,0 30,0,49,0,83,0,37,0,19,0,44,0 32,0,82,0,48,0,43,0,47,0,5,0 41,0,77,0,31,0,25,0,75,0,10,0 71,0,9,0,46,0,40,0,61,0,3,0 68,0,80,0,26,0,29,0,18,0,13,0 21,0,14,0,62,0,76,0,53,0,66,0 79,0,54,0,24,0,20,0,59,0,34,0 51,0,60,0,67,0,81,0,17,0,57,0 32,0,4,0,27,0,1,0,37,0,49,0 55,0,10,0,58,0,63,0,48,0,70,0 40,0,30,0,22,0,84,0,35,0,5,0 12,0,41,0,9,0,19,0,11,0,71,0 3,0,69,0,13,0,16,0,45,0,66,0 74,0,25,0,73,0,50,0,46,0,29,0 52,0,53,0,44,0,38,0,65,0,76,0 42,0,62,0,82,0,61,0,78,0,77,0 14,0,68,0,64,0,33,0,75,0,6,0 28,0,83,0,2,0,43,0,7,0,80,0 26,0,56,0,31,0,39,0,15,0,8,0 18,0,21,0,36,0,47,0,72,0,23,0 70,0,58,0,57,0,50,0,35,0,54,0 69,0,25,0,40,0,52,0,59,0,37,0 76,0,17,0,22,0,78,0,79,0,3,0 9,0,34,0,27,0,6,0,30,0,42,0 1,0,11,0,43,0,80,0,53,0,75,0 56,0,64,0,60,0,63,0,12,0,13,0 5,0,41,0,36,0,4,0,84,0,73,0 45,0,72,0,39,0,67,0,44,0,61,0 29,0,8,0,47,0,14,0,55,0,2,0 24,0,7,0,18,0,38,0,19,0,46,0 81,0,65,0,82,0,10,0,28,0,21,0 77,0,71,0,62,0,20,0,16,0,49,0 32,0,23,0,83,0,48,0,68,0,31,0 51,0,74,0,66,0,26,0,15,0,33,0 3,0,17,0,60,0,5,0,30,0,52,0 75,0,84,0,11,0,1,0,56,0,54,0 72,0,50,0,55,0,46,0,59,0,64,0 24,0,13,0,58,0,22,0,14,0,65,0 71,0,21,0,29,0,57,0,39,0,36,0 38,0,37,0,18,0,34,0,10,0,8,0 26,0,83,0,47,0,78,0,33,0,41,0 6,0,74,0,43,0,61,0,23,0,4,0 81,0,68,0,7,0,62,0,48,0,9,0 82,0,40,0,49,0,42,0,73,0,51,0 53,0,69,0,16,0,63,0,35,0,15,0 12,0,79,0,66,0,28,0,77,0,25,0 70,0,31,0,19,0,80,0,45,0,67,0 44,0,76,0,27,0,2,0,20,0,32,0 33,0,56,0,47,0,46,0,23,0,10,0 21,0,64,0,34,0,3,0,83,0,84,0 42,0,13,0,41,0,37,0,74,0,62,0 18,0,55,0,39,0,69,0,22,0,60,0 71,0,73,0,30,0,54,0,26,0,72,0 40,0,36,0,7,0,70,0,66,0,67,0 65,0,9,0,57,0,8,0,32,0,79,0 53,0,45,0,4,0,24,0,2,0,25,0 15,0,52,0,49,0,14,0,11,0,82,0 38,0,1,0,31,0,78,0,50,0,12,0 17,0,61,0,80,0,58,0,68,0,44,0 48,0,51,0,28,0,75,0,35,0,76,0 63,0,77,0,19,0,59,0,43,0,27,0 81,0,6,0,16,0,5,0,29,0,20,0 8,0,23,0,30,0,69,0,71,0,70,0 74,0,11,0,55,0,67,0,21,0,32,0 1,0,62,0,15,0,57,0,25,0,47,0 50,0,79,0,10,0,39,0,2,0,40,0 49,0,24,0,78,0,36,0,80,0,52,0 53,0,59,0,51,0,56,0,41,0,22,0 37,0,7,0,64,0,26,0,5,0,77,0 81,0,43,0,73,0,44,0,12,0,35,0 34,0,13,0,19,0,82,0,17,0,72,0 46,0,83,0,61,0,65,0,16,0,27,0 28,0,20,0,45,0,48,0,14,0,33,0 54,0,29,0,60,0,31,0,9,0,76,0 75,0,4,0,42,0,58,0,3,0,38,0 84,0,66,0,63,0,6,0,68,0,18,0 78,0,56,0,59,0,7,0,71,0,44,0 23,0,52,0,26,0,35,0,62,0,79,0 25,0,67,0,16,0,30,0,82,0,47,0 53,0,32,0,36,0,69,0,34,0,81,0 76,0,39,0,14,0,46,0,74,0,77,0 58,0,43,0,50,0,24,0,51,0,9,0 70,0,13,0,80,0,5,0,15,0,38,0 18,0,4,0,20,0,64,0,11,0,57,0 75,0,2,0,22,0,6,0,60,0,49,0 65,0,31,0,33,0,37,0,72,0,40,0 29,0,42,0,63,0,21,0,48,0,45,0 1,0,3,0,66,0,55,0,19,0,73,0 84,0,17,0,10,0,83,0,12,0,27,0 8,0,28,0,41,0,61,0,68,0,54,0 58,0,35,0,78,0,20,0,11,0,39,0 49,0,76,0,69,0,9,0,7,0,56,0 43,0,30,0,36,0,57,0,31,0,13,0 48,0,46,0,81,0,22,0,4,0,38,0 73,0,29,0,52,0,75,0,32,0,19,0 53,0,72,0,60,0,83,0,80,0,66,0 33,0,63,0,44,0,82,0,79,0,1,0 27,0,10,0,5,0,71,0,51,0,14,0 26,0,61,0,37,0,24,0,55,0,3,0 16,0,68,0,2,0,70,0,74,0,34,0 40,0,67,0,59,0,62,0,6,0,12,0 23,0,50,0,84,0,42,0,28,0,15,0 41,0,25,0,64,0,8,0,65,0,21,0 18,0,45,0,47,0,54,0,17,0,77,0 19,0,49,0,36,0,79,0,58,0,76,0 32,0,72,0,10,0,26,0,3,0,22,0 68,0,37,0,39,0,73,0,53,0,57,0 80,0,12,0,2,0,46,0,20,0,82,0 75,0,55,0,78,0,74,0,23,0,27,0 35,0,25,0,81,0,83,0,6,0,71,0 62,0,84,0,51,0,45,0,8,0,31,0 18,0,9,0,59,0,70,0,16,0,1,0 38,0,64,0,47,0,66,0,30,0,28,0 63,0,61,0,5,0,11,0,50,0,44,0 42,0,43,0,14,0,56,0,69,0,67,0 48,0,7,0,77,0,60,0,34,0,65,0 24,0,15,0,17,0,40,0,41,0,29,0 4,0,21,0,54,0,52,0,13,0,33,0 57,0,16,0,32,0,19,0,78,0,84,0 9,0,35,0,82,0,45,0,64,0,36,0 74,0,8,0,76,0,83,0,5,0,72,0 46,0,26,0,12,0,49,0,70,0,53,0 6,0,3,0,25,0,56,0,11,0,48,0 66,0,59,0,17,0,65,0,39,0,75,0 1,0,61,0,71,0,7,0,79,0,13,0 20,0,50,0,27,0,69,0,41,0,68,0 10,0,44,0,62,0,29,0,24,0,28,0 60,0,38,0,40,0,54,0,23,0,43,0 42,0,18,0,33,0,55,0,81,0,52,0 30,0,77,0,14,0,80,0,4,0,51,0 2,0,67,0,37,0,15,0,21,0,58,0 63,0,22,0,73,0,34,0,31,0,47,0 82,0,75,0,83,0,26,0,50,0,9,0 5,0,45,0,57,0,66,0,41,0,49,0 70,0,20,0,84,0,43,0,60,0,25,0 72,0,11,0,38,0,29,0,62,0,27,0 80,0,16,0,44,0,40,0,55,0,4,0 64,0,13,0,10,0,32,0,59,0,76,0 34,0,79,0,30,0,81,0,78,0,15,0 74,0,31,0,28,0,71,0,53,0,58,0 68,0,24,0,56,0,1,0,21,0,77,0 37,0,46,0,8,0,36,0,6,0,17,0 35,0,67,0,33,0,18,0,65,0,3,0 22,0,47,0,12,0,52,0,61,0,42,0 48,0,19,0,54,0,2,0,51,0,69,0 23,0,39,0,73,0,63,0,7,0,14,0 83,0,55,0,34,0,13,0,11,0,40,0 27,0,31,0,79,0,64,0,24,0,16,0 32,0,46,0,58,0,41,0,60,0,30,0 15,0,45,0,74,0,6,0,10,0,1,0 47,0,81,0,71,0,37,0,76,0,50,0 65,0,72,0,68,0,43,0,51,0,78,0 5,0,4,0,33,0,19,0,53,0,42,0 8,0,66,0,75,0,20,0,63,0,67,0 29,0,57,0,3,0,77,0,12,0,69,0 14,0,54,0,44,0,26,0,36,0,48,0 73,0,62,0,56,0,17,0,18,0,2,0 23,0,22,0,7,0,82,0,25,0,80,0 61,0,35,0,38,0,21,0,49,0,59,0 9,0,39,0,70,0,52,0,84,0,28,0 ================================================ FILE: schedules/84_14.csv ================================================ 30,0,56,0,62,0,79,0,9,0,83,0 20,0,5,0,47,0,29,0,4,0,82,0 44,0,50,0,57,0,73,0,46,0,13,0 64,0,23,0,17,0,15,0,63,0,48,0 68,0,51,0,76,0,80,0,49,0,84,0 40,0,45,0,16,0,55,0,18,0,42,0 2,0,43,0,27,0,37,0,75,0,25,0 14,0,67,0,24,0,81,0,6,0,38,0 34,0,31,0,70,0,72,0,22,0,32,0 60,0,12,0,19,0,35,0,36,0,8,0 71,0,78,0,74,0,28,0,69,0,11,0 52,0,65,0,59,0,66,0,3,0,1,0 26,0,53,0,33,0,39,0,7,0,77,0 10,0,61,0,58,0,54,0,41,0,21,0 20,0,42,0,49,0,81,0,57,0,37,0 80,0,56,0,22,0,64,0,18,0,72,0 8,0,25,0,48,0,55,0,38,0,83,0 31,0,43,0,35,0,84,0,69,0,78,0 34,0,51,0,17,0,12,0,11,0,65,0 19,0,75,0,76,0,44,0,79,0,52,0 74,0,28,0,54,0,39,0,13,0,59,0 60,0,82,0,9,0,2,0,45,0,14,0 67,0,29,0,61,0,53,0,50,0,30,0 63,0,7,0,24,0,21,0,4,0,62,0 32,0,3,0,46,0,16,0,23,0,26,0 33,0,40,0,15,0,6,0,27,0,10,0 36,0,68,0,73,0,47,0,70,0,66,0 41,0,71,0,58,0,77,0,1,0,5,0 76,0,25,0,65,0,12,0,20,0,18,0 43,0,11,0,39,0,67,0,9,0,22,0 80,0,74,0,38,0,79,0,35,0,34,0 78,0,21,0,32,0,55,0,17,0,57,0 61,0,49,0,44,0,45,0,15,0,24,0 84,0,2,0,66,0,30,0,46,0,42,0 19,0,51,0,81,0,83,0,77,0,64,0 4,0,56,0,73,0,59,0,62,0,37,0 53,0,41,0,82,0,23,0,54,0,40,0 33,0,50,0,75,0,70,0,71,0,16,0 31,0,14,0,36,0,63,0,3,0,58,0 6,0,5,0,26,0,28,0,60,0,47,0 52,0,13,0,8,0,27,0,72,0,68,0 7,0,10,0,29,0,1,0,48,0,69,0 30,0,43,0,4,0,55,0,76,0,46,0 61,0,84,0,21,0,82,0,67,0,19,0 11,0,59,0,45,0,35,0,15,0,77,0 33,0,37,0,49,0,12,0,58,0,17,0 44,0,14,0,54,0,36,0,28,0,22,0 6,0,47,0,34,0,75,0,42,0,62,0 81,0,56,0,72,0,68,0,78,0,7,0 5,0,29,0,16,0,39,0,27,0,8,0 74,0,26,0,64,0,70,0,1,0,9,0 52,0,51,0,32,0,2,0,63,0,50,0 31,0,24,0,13,0,25,0,73,0,40,0 38,0,79,0,3,0,20,0,41,0,66,0 65,0,80,0,69,0,57,0,48,0,53,0 83,0,60,0,23,0,10,0,18,0,71,0 58,0,72,0,55,0,11,0,42,0,6,0 39,0,1,0,54,0,34,0,4,0,49,0 45,0,64,0,36,0,76,0,5,0,32,0 28,0,26,0,15,0,67,0,56,0,8,0 81,0,75,0,74,0,25,0,61,0,3,0 80,0,2,0,12,0,44,0,77,0,21,0 19,0,53,0,46,0,22,0,71,0,31,0 70,0,10,0,79,0,65,0,84,0,13,0 9,0,69,0,23,0,73,0,16,0,20,0 40,0,83,0,29,0,66,0,78,0,37,0 14,0,41,0,51,0,52,0,47,0,7,0 48,0,24,0,50,0,27,0,30,0,60,0 17,0,33,0,62,0,82,0,43,0,38,0 68,0,63,0,57,0,35,0,59,0,18,0 53,0,79,0,58,0,34,0,28,0,25,0 2,0,26,0,81,0,19,0,69,0,5,0 6,0,49,0,9,0,21,0,13,0,29,0 70,0,4,0,11,0,31,0,3,0,40,0 56,0,78,0,61,0,76,0,48,0,42,0 16,0,38,0,52,0,23,0,43,0,36,0 15,0,50,0,55,0,41,0,22,0,74,0 39,0,51,0,30,0,75,0,18,0,82,0 59,0,47,0,10,0,37,0,71,0,24,0 44,0,27,0,83,0,32,0,68,0,67,0 7,0,20,0,80,0,8,0,17,0,73,0 66,0,35,0,45,0,1,0,14,0,33,0 54,0,62,0,12,0,84,0,64,0,57,0 72,0,77,0,60,0,65,0,63,0,46,0 13,0,6,0,41,0,16,0,19,0,30,0 10,0,11,0,37,0,26,0,76,0,50,0 53,0,2,0,39,0,59,0,78,0,36,0 79,0,7,0,18,0,82,0,32,0,70,0 31,0,4,0,33,0,51,0,8,0,61,0 42,0,28,0,23,0,68,0,25,0,1,0 20,0,71,0,62,0,67,0,52,0,48,0 55,0,5,0,9,0,44,0,17,0,66,0 77,0,24,0,84,0,57,0,56,0,14,0 75,0,46,0,40,0,83,0,35,0,80,0 15,0,21,0,27,0,65,0,34,0,81,0 64,0,12,0,43,0,58,0,29,0,74,0 63,0,22,0,60,0,49,0,69,0,38,0 54,0,3,0,72,0,47,0,73,0,45,0 18,0,1,0,67,0,33,0,2,0,13,0 37,0,77,0,48,0,16,0,79,0,84,0 78,0,4,0,35,0,52,0,41,0,70,0 10,0,57,0,82,0,31,0,68,0,6,0 42,0,25,0,53,0,51,0,9,0,15,0 80,0,23,0,66,0,22,0,58,0,62,0 19,0,73,0,3,0,55,0,49,0,63,0 54,0,8,0,5,0,24,0,11,0,74,0 40,0,21,0,59,0,60,0,43,0,76,0 29,0,14,0,75,0,17,0,72,0,26,0 39,0,12,0,71,0,32,0,81,0,30,0 36,0,7,0,69,0,46,0,61,0,64,0 65,0,27,0,47,0,44,0,38,0,56,0 50,0,83,0,28,0,45,0,20,0,34,0 68,0,9,0,24,0,33,0,3,0,78,0 2,0,31,0,62,0,74,0,76,0,49,0 1,0,11,0,73,0,48,0,43,0,19,0 79,0,57,0,22,0,60,0,51,0,5,0 15,0,13,0,61,0,14,0,66,0,71,0 67,0,81,0,16,0,63,0,47,0,80,0 64,0,8,0,65,0,40,0,35,0,6,0 42,0,50,0,41,0,82,0,21,0,69,0 12,0,46,0,28,0,10,0,52,0,75,0 34,0,44,0,30,0,23,0,7,0,37,0 58,0,25,0,45,0,70,0,39,0,56,0 20,0,38,0,72,0,59,0,32,0,53,0 77,0,54,0,18,0,29,0,55,0,27,0 36,0,84,0,17,0,26,0,83,0,4,0 1,0,16,0,60,0,62,0,68,0,61,0 81,0,76,0,63,0,9,0,8,0,41,0 65,0,23,0,75,0,5,0,50,0,31,0 49,0,66,0,48,0,25,0,70,0,6,0 39,0,37,0,64,0,24,0,38,0,46,0 34,0,19,0,57,0,10,0,56,0,33,0 20,0,35,0,58,0,26,0,55,0,44,0 4,0,53,0,22,0,27,0,45,0,12,0 43,0,83,0,7,0,15,0,54,0,2,0 79,0,69,0,17,0,67,0,72,0,59,0 13,0,36,0,82,0,77,0,78,0,11,0 18,0,74,0,21,0,14,0,52,0,73,0 32,0,40,0,47,0,84,0,28,0,30,0 29,0,71,0,3,0,42,0,80,0,51,0 26,0,68,0,20,0,12,0,31,0,41,0 48,0,46,0,33,0,81,0,58,0,54,0 67,0,34,0,76,0,66,0,24,0,16,0 55,0,60,0,69,0,13,0,75,0,56,0 78,0,8,0,79,0,21,0,23,0,45,0 22,0,25,0,44,0,6,0,84,0,59,0 77,0,49,0,52,0,40,0,9,0,30,0 18,0,37,0,51,0,72,0,15,0,36,0 82,0,63,0,83,0,27,0,1,0,74,0 28,0,57,0,71,0,7,0,4,0,38,0 65,0,42,0,70,0,80,0,14,0,43,0 35,0,5,0,39,0,50,0,73,0,61,0 47,0,62,0,29,0,11,0,32,0,19,0 17,0,10,0,2,0,64,0,53,0,3,0 55,0,34,0,59,0,46,0,51,0,26,0 1,0,36,0,21,0,20,0,75,0,22,0 57,0,67,0,41,0,48,0,45,0,74,0 82,0,56,0,71,0,12,0,63,0,16,0 9,0,27,0,38,0,58,0,31,0,7,0 44,0,19,0,62,0,72,0,39,0,40,0 14,0,42,0,68,0,4,0,79,0,64,0 76,0,47,0,17,0,35,0,13,0,23,0 32,0,69,0,25,0,54,0,33,0,65,0 5,0,30,0,78,0,15,0,10,0,80,0 18,0,43,0,66,0,49,0,50,0,8,0 6,0,77,0,3,0,37,0,83,0,61,0 70,0,73,0,24,0,28,0,2,0,29,0 84,0,11,0,81,0,60,0,52,0,53,0 9,0,71,0,48,0,40,0,34,0,36,0 65,0,38,0,68,0,45,0,26,0,19,0 7,0,12,0,13,0,42,0,59,0,5,0 64,0,21,0,66,0,47,0,39,0,31,0 50,0,46,0,78,0,14,0,25,0,62,0 22,0,73,0,83,0,77,0,76,0,33,0 30,0,8,0,58,0,57,0,3,0,69,0 6,0,28,0,1,0,18,0,17,0,81,0 32,0,55,0,80,0,52,0,82,0,24,0 44,0,72,0,16,0,4,0,10,0,74,0 15,0,75,0,84,0,20,0,63,0,29,0 61,0,11,0,27,0,2,0,23,0,79,0 60,0,70,0,37,0,54,0,51,0,67,0 35,0,41,0,56,0,53,0,43,0,49,0 30,0,31,0,45,0,62,0,36,0,81,0 83,0,17,0,52,0,39,0,69,0,24,0 50,0,4,0,59,0,9,0,19,0,80,0 42,0,8,0,66,0,77,0,10,0,32,0 16,0,55,0,22,0,7,0,2,0,65,0 70,0,38,0,54,0,76,0,12,0,15,0 25,0,29,0,33,0,44,0,60,0,41,0 48,0,72,0,82,0,28,0,35,0,3,0 53,0,68,0,37,0,5,0,21,0,14,0 73,0,84,0,26,0,71,0,27,0,64,0 18,0,13,0,63,0,34,0,43,0,61,0 6,0,74,0,51,0,56,0,20,0,23,0 67,0,75,0,47,0,58,0,49,0,78,0 1,0,57,0,46,0,40,0,79,0,11,0 ================================================ FILE: schedules/84_2.csv ================================================ 60,0,45,0,48,0,68,0,61,0,33,0 80,0,13,0,77,0,58,0,73,0,17,0 18,0,43,0,5,0,21,0,57,0,82,0 26,0,4,0,53,0,72,0,49,0,56,0 25,0,62,0,19,0,39,0,71,0,7,0 46,0,40,0,32,0,10,0,38,0,3,0 11,0,70,0,42,0,24,0,65,0,14,0 84,0,22,0,1,0,29,0,44,0,16,0 75,0,35,0,41,0,67,0,20,0,30,0 9,0,47,0,76,0,28,0,6,0,64,0 23,0,52,0,36,0,74,0,51,0,78,0 55,0,34,0,83,0,69,0,31,0,27,0 81,0,2,0,63,0,54,0,66,0,12,0 37,0,59,0,8,0,50,0,15,0,79,0 38,0,56,0,62,0,22,0,77,0,11,0 53,0,7,0,60,0,84,0,80,0,18,0 6,0,58,0,3,0,71,0,57,0,30,0 40,0,14,0,61,0,36,0,4,0,35,0 55,0,17,0,65,0,33,0,52,0,76,0 24,0,31,0,9,0,41,0,45,0,16,0 79,0,12,0,44,0,82,0,83,0,68,0 25,0,64,0,50,0,32,0,66,0,70,0 27,0,49,0,51,0,59,0,54,0,73,0 20,0,39,0,5,0,69,0,42,0,23,0 34,0,1,0,15,0,26,0,10,0,47,0 74,0,72,0,8,0,43,0,63,0,75,0 13,0,28,0,78,0,81,0,37,0,48,0 67,0,21,0,29,0,19,0,46,0,2,0 ================================================ FILE: schedules/84_3.csv ================================================ 29,0,83,0,18,0,81,0,5,0,9,0 28,0,33,0,53,0,77,0,35,0,58,0 84,0,60,0,69,0,26,0,51,0,65,0 43,0,73,0,38,0,34,0,74,0,14,0 72,0,11,0,10,0,7,0,3,0,40,0 78,0,63,0,16,0,49,0,30,0,64,0 1,0,55,0,36,0,39,0,71,0,32,0 48,0,15,0,23,0,67,0,12,0,80,0 45,0,6,0,20,0,17,0,25,0,62,0 27,0,47,0,61,0,52,0,76,0,82,0 31,0,79,0,68,0,54,0,42,0,50,0 46,0,21,0,57,0,41,0,4,0,24,0 70,0,19,0,59,0,13,0,66,0,8,0 37,0,2,0,56,0,22,0,44,0,75,0 63,0,58,0,39,0,14,0,15,0,84,0 34,0,62,0,3,0,69,0,28,0,18,0 17,0,73,0,80,0,82,0,11,0,83,0 68,0,78,0,40,0,33,0,48,0,52,0 24,0,5,0,1,0,67,0,60,0,10,0 32,0,47,0,77,0,65,0,43,0,6,0 57,0,22,0,30,0,29,0,70,0,55,0 46,0,2,0,8,0,45,0,36,0,42,0 76,0,64,0,54,0,21,0,38,0,66,0 9,0,44,0,19,0,61,0,53,0,72,0 7,0,41,0,49,0,75,0,59,0,31,0 12,0,74,0,50,0,16,0,25,0,56,0 35,0,51,0,23,0,79,0,20,0,27,0 81,0,4,0,26,0,13,0,71,0,37,0 33,0,5,0,80,0,70,0,32,0,69,0 21,0,8,0,15,0,29,0,77,0,11,0 40,0,65,0,53,0,18,0,76,0,63,0 48,0,42,0,39,0,57,0,66,0,43,0 59,0,9,0,82,0,1,0,45,0,22,0 10,0,19,0,58,0,17,0,78,0,23,0 81,0,72,0,74,0,47,0,64,0,68,0 3,0,16,0,13,0,2,0,20,0,31,0 41,0,61,0,25,0,35,0,73,0,26,0 44,0,49,0,27,0,4,0,50,0,28,0 24,0,71,0,79,0,30,0,56,0,62,0 36,0,38,0,37,0,84,0,7,0,83,0 54,0,34,0,67,0,55,0,75,0,51,0 52,0,12,0,60,0,6,0,46,0,14,0 ================================================ FILE: schedules/84_4.csv ================================================ 18,0,22,0,43,0,75,0,50,0,81,0 14,0,53,0,68,0,11,0,55,0,84,0 5,0,19,0,15,0,42,0,58,0,36,0 52,0,73,0,41,0,17,0,34,0,67,0 46,0,51,0,24,0,26,0,38,0,72,0 57,0,12,0,3,0,44,0,30,0,64,0 82,0,8,0,76,0,74,0,61,0,66,0 47,0,25,0,35,0,56,0,69,0,65,0 13,0,27,0,23,0,32,0,10,0,49,0 20,0,7,0,1,0,80,0,62,0,9,0 54,0,16,0,31,0,71,0,78,0,83,0 6,0,33,0,48,0,63,0,40,0,77,0 59,0,4,0,28,0,70,0,79,0,2,0 37,0,39,0,29,0,60,0,45,0,21,0 58,0,51,0,3,0,84,0,69,0,8,0 34,0,50,0,49,0,64,0,53,0,38,0 7,0,15,0,65,0,73,0,76,0,23,0 61,0,18,0,30,0,62,0,35,0,41,0 36,0,33,0,11,0,25,0,17,0,9,0 52,0,16,0,42,0,12,0,66,0,81,0 21,0,4,0,44,0,46,0,54,0,43,0 37,0,14,0,56,0,19,0,72,0,74,0 77,0,29,0,22,0,78,0,59,0,80,0 48,0,5,0,27,0,79,0,83,0,47,0 82,0,71,0,75,0,70,0,60,0,13,0 32,0,63,0,2,0,24,0,39,0,67,0 45,0,28,0,10,0,55,0,1,0,40,0 31,0,26,0,57,0,68,0,6,0,20,0 50,0,17,0,44,0,61,0,15,0,16,0 7,0,58,0,21,0,33,0,34,0,59,0 30,0,66,0,38,0,14,0,48,0,29,0 13,0,83,0,64,0,43,0,8,0,80,0 42,0,62,0,49,0,76,0,39,0,11,0 77,0,74,0,73,0,24,0,36,0,71,0 60,0,53,0,28,0,35,0,31,0,46,0 52,0,19,0,40,0,57,0,69,0,32,0 70,0,47,0,72,0,81,0,63,0,68,0 54,0,26,0,1,0,3,0,41,0,2,0 78,0,84,0,9,0,45,0,23,0,5,0 82,0,27,0,56,0,18,0,20,0,51,0 65,0,67,0,55,0,75,0,4,0,6,0 10,0,79,0,12,0,25,0,22,0,37,0 69,0,11,0,73,0,16,0,28,0,29,0 62,0,48,0,24,0,44,0,60,0,19,0 33,0,68,0,41,0,71,0,49,0,15,0 40,0,80,0,23,0,31,0,58,0,72,0 84,0,30,0,76,0,50,0,1,0,83,0 39,0,35,0,78,0,27,0,8,0,4,0 9,0,61,0,6,0,22,0,51,0,13,0 17,0,46,0,81,0,10,0,56,0,2,0 42,0,43,0,79,0,3,0,63,0,82,0 25,0,66,0,67,0,64,0,7,0,70,0 47,0,53,0,26,0,52,0,37,0,18,0 45,0,34,0,75,0,14,0,36,0,57,0 32,0,59,0,55,0,20,0,54,0,74,0 65,0,38,0,21,0,77,0,5,0,12,0 ================================================ FILE: schedules/84_5.csv ================================================ 8,0,12,0,42,0,49,0,56,0,32,0 75,0,72,0,20,0,67,0,58,0,29,0 41,0,28,0,21,0,45,0,7,0,77,0 34,0,81,0,9,0,36,0,2,0,22,0 47,0,74,0,61,0,64,0,71,0,65,0 16,0,69,0,5,0,54,0,25,0,76,0 52,0,73,0,15,0,68,0,48,0,43,0 14,0,79,0,30,0,50,0,33,0,13,0 53,0,35,0,83,0,23,0,46,0,19,0 24,0,63,0,17,0,10,0,27,0,11,0 78,0,66,0,38,0,62,0,39,0,70,0 55,0,82,0,59,0,57,0,26,0,4,0 80,0,18,0,51,0,37,0,84,0,1,0 60,0,40,0,6,0,3,0,44,0,31,0 14,0,52,0,8,0,74,0,22,0,75,0 36,0,30,0,28,0,69,0,71,0,73,0 56,0,20,0,27,0,64,0,54,0,21,0 47,0,53,0,43,0,24,0,2,0,32,0 42,0,26,0,66,0,41,0,63,0,34,0 17,0,25,0,67,0,49,0,7,0,82,0 72,0,55,0,5,0,46,0,44,0,9,0 76,0,68,0,3,0,77,0,80,0,61,0 57,0,38,0,23,0,33,0,84,0,60,0 1,0,70,0,4,0,50,0,10,0,83,0 29,0,15,0,62,0,35,0,12,0,51,0 13,0,11,0,65,0,6,0,37,0,16,0 48,0,78,0,18,0,40,0,79,0,81,0 59,0,58,0,19,0,45,0,31,0,39,0 5,0,56,0,24,0,80,0,74,0,28,0 64,0,42,0,72,0,38,0,7,0,14,0 44,0,52,0,67,0,27,0,50,0,76,0 3,0,23,0,49,0,1,0,29,0,30,0 6,0,22,0,51,0,53,0,71,0,70,0 46,0,20,0,26,0,25,0,12,0,18,0 77,0,13,0,39,0,47,0,8,0,81,0 41,0,61,0,31,0,36,0,79,0,55,0 2,0,35,0,57,0,66,0,68,0,11,0 45,0,15,0,40,0,63,0,9,0,82,0 60,0,32,0,37,0,83,0,48,0,34,0 84,0,69,0,10,0,62,0,65,0,58,0 54,0,19,0,78,0,4,0,43,0,75,0 33,0,16,0,73,0,17,0,59,0,21,0 24,0,23,0,70,0,41,0,81,0,20,0 6,0,49,0,80,0,38,0,52,0,47,0 50,0,29,0,36,0,8,0,18,0,64,0 44,0,25,0,30,0,35,0,39,0,37,0 32,0,7,0,10,0,3,0,15,0,22,0 84,0,74,0,82,0,72,0,77,0,53,0 75,0,62,0,63,0,79,0,56,0,16,0 71,0,67,0,19,0,13,0,66,0,55,0 46,0,34,0,54,0,73,0,31,0,57,0 17,0,9,0,14,0,60,0,12,0,65,0 45,0,48,0,2,0,69,0,4,0,27,0 61,0,59,0,42,0,11,0,28,0,51,0 76,0,33,0,40,0,1,0,43,0,26,0 21,0,58,0,68,0,78,0,83,0,5,0 16,0,70,0,77,0,52,0,32,0,19,0 15,0,66,0,36,0,25,0,24,0,72,0 55,0,53,0,65,0,3,0,18,0,56,0 10,0,54,0,45,0,38,0,67,0,30,0 50,0,41,0,80,0,62,0,59,0,60,0 1,0,9,0,31,0,74,0,20,0,35,0 27,0,22,0,46,0,58,0,49,0,40,0 28,0,48,0,64,0,23,0,6,0,75,0 44,0,33,0,61,0,2,0,82,0,78,0 57,0,43,0,81,0,5,0,42,0,17,0 4,0,71,0,11,0,39,0,21,0,34,0 29,0,68,0,37,0,47,0,14,0,26,0 12,0,84,0,63,0,76,0,13,0,73,0 79,0,51,0,7,0,8,0,83,0,69,0 ================================================ FILE: schedules/84_6.csv ================================================ 25,0,39,0,48,0,31,0,7,0,66,0 37,0,29,0,65,0,61,0,82,0,54,0 58,0,80,0,24,0,53,0,28,0,14,0 40,0,45,0,4,0,15,0,8,0,68,0 18,0,34,0,2,0,33,0,30,0,38,0 73,0,52,0,69,0,43,0,6,0,83,0 41,0,9,0,42,0,59,0,3,0,13,0 17,0,63,0,19,0,76,0,49,0,16,0 1,0,55,0,56,0,22,0,67,0,35,0 71,0,60,0,12,0,47,0,51,0,32,0 27,0,26,0,50,0,84,0,81,0,79,0 77,0,44,0,64,0,10,0,62,0,70,0 5,0,36,0,75,0,11,0,21,0,72,0 20,0,46,0,74,0,78,0,57,0,23,0 24,0,68,0,7,0,19,0,65,0,41,0 54,0,53,0,67,0,52,0,4,0,66,0 28,0,76,0,13,0,61,0,12,0,56,0 30,0,71,0,43,0,17,0,3,0,40,0 31,0,47,0,29,0,64,0,69,0,34,0 36,0,32,0,15,0,26,0,58,0,82,0 8,0,62,0,20,0,6,0,63,0,1,0 23,0,50,0,21,0,10,0,35,0,25,0 79,0,78,0,11,0,9,0,22,0,33,0 51,0,48,0,14,0,18,0,77,0,59,0 39,0,38,0,37,0,60,0,74,0,70,0 55,0,49,0,84,0,42,0,73,0,75,0 83,0,45,0,72,0,80,0,46,0,81,0 5,0,2,0,16,0,44,0,27,0,57,0 13,0,8,0,34,0,26,0,54,0,17,0 20,0,71,0,64,0,66,0,15,0,28,0 82,0,18,0,52,0,68,0,23,0,56,0 50,0,14,0,22,0,47,0,43,0,61,0 25,0,6,0,37,0,51,0,40,0,24,0 70,0,36,0,30,0,9,0,65,0,69,0 67,0,77,0,79,0,29,0,19,0,46,0 62,0,5,0,81,0,41,0,39,0,55,0 84,0,44,0,80,0,35,0,31,0,4,0 78,0,83,0,59,0,49,0,10,0,2,0 1,0,75,0,33,0,74,0,16,0,45,0 27,0,72,0,7,0,76,0,32,0,38,0 63,0,11,0,42,0,57,0,53,0,60,0 58,0,48,0,21,0,73,0,3,0,12,0 28,0,68,0,30,0,26,0,22,0,39,0 46,0,40,0,56,0,70,0,5,0,54,0 77,0,65,0,81,0,2,0,43,0,25,0 20,0,35,0,82,0,33,0,69,0,19,0 76,0,66,0,50,0,29,0,9,0,1,0 60,0,23,0,67,0,84,0,24,0,62,0 72,0,4,0,41,0,37,0,64,0,58,0 32,0,74,0,83,0,21,0,42,0,44,0 53,0,73,0,16,0,18,0,47,0,7,0 57,0,52,0,3,0,75,0,10,0,8,0 49,0,6,0,61,0,27,0,48,0,11,0 45,0,13,0,79,0,31,0,71,0,14,0 78,0,55,0,63,0,34,0,51,0,36,0 80,0,15,0,38,0,59,0,17,0,12,0 24,0,29,0,26,0,43,0,56,0,74,0 54,0,30,0,73,0,41,0,77,0,60,0 76,0,64,0,18,0,57,0,81,0,35,0 39,0,33,0,52,0,50,0,46,0,32,0 22,0,31,0,72,0,70,0,8,0,19,0 65,0,51,0,10,0,20,0,58,0,84,0 82,0,28,0,44,0,49,0,45,0,38,0 16,0,36,0,13,0,83,0,48,0,67,0 42,0,17,0,4,0,1,0,25,0,79,0 27,0,69,0,63,0,37,0,21,0,59,0 53,0,61,0,15,0,78,0,5,0,3,0 62,0,40,0,47,0,80,0,9,0,75,0 7,0,23,0,11,0,71,0,55,0,2,0 66,0,14,0,68,0,34,0,12,0,6,0 41,0,31,0,49,0,20,0,18,0,67,0 56,0,32,0,57,0,17,0,73,0,45,0 84,0,43,0,48,0,37,0,33,0,28,0 46,0,65,0,22,0,76,0,44,0,53,0 9,0,83,0,82,0,64,0,63,0,24,0 80,0,70,0,3,0,11,0,26,0,51,0 12,0,27,0,10,0,40,0,55,0,74,0 8,0,5,0,58,0,69,0,50,0,7,0 23,0,1,0,77,0,72,0,34,0,39,0 81,0,4,0,29,0,21,0,14,0,30,0 60,0,78,0,35,0,66,0,13,0,75,0 6,0,19,0,2,0,15,0,47,0,42,0 59,0,62,0,61,0,52,0,79,0,36,0 54,0,25,0,71,0,68,0,16,0,38,0 ================================================ FILE: schedules/84_7.csv ================================================ 53,0,52,0,45,0,64,0,74,0,37,0 77,0,22,0,1,0,67,0,33,0,75,0 10,0,14,0,48,0,4,0,49,0,62,0 61,0,57,0,82,0,56,0,36,0,17,0 65,0,7,0,39,0,30,0,19,0,68,0 40,0,5,0,23,0,43,0,60,0,78,0 71,0,63,0,27,0,25,0,84,0,55,0 81,0,9,0,13,0,18,0,70,0,47,0 44,0,51,0,28,0,3,0,32,0,54,0 59,0,72,0,42,0,79,0,8,0,20,0 80,0,29,0,76,0,26,0,34,0,35,0 73,0,11,0,12,0,24,0,2,0,15,0 16,0,83,0,41,0,50,0,31,0,46,0 21,0,6,0,58,0,38,0,69,0,66,0 61,0,23,0,65,0,55,0,45,0,9,0 18,0,44,0,60,0,53,0,25,0,48,0 77,0,4,0,20,0,56,0,54,0,39,0 7,0,10,0,59,0,29,0,5,0,51,0 24,0,17,0,81,0,40,0,30,0,62,0 52,0,63,0,57,0,32,0,33,0,26,0 72,0,74,0,50,0,12,0,66,0,49,0 58,0,15,0,83,0,28,0,79,0,71,0 64,0,78,0,8,0,35,0,16,0,21,0 41,0,3,0,2,0,75,0,34,0,70,0 76,0,38,0,14,0,22,0,82,0,42,0 73,0,67,0,68,0,37,0,84,0,69,0 1,0,19,0,46,0,11,0,80,0,13,0 31,0,6,0,47,0,43,0,36,0,27,0 60,0,65,0,33,0,4,0,12,0,58,0 49,0,26,0,56,0,40,0,9,0,44,0 15,0,77,0,53,0,81,0,23,0,72,0 66,0,2,0,64,0,32,0,55,0,76,0 52,0,39,0,42,0,78,0,61,0,34,0 13,0,71,0,17,0,5,0,54,0,50,0 8,0,62,0,69,0,83,0,19,0,47,0 27,0,57,0,22,0,21,0,68,0,59,0 70,0,16,0,80,0,6,0,48,0,63,0 82,0,46,0,67,0,20,0,3,0,35,0 51,0,43,0,25,0,1,0,41,0,24,0 10,0,38,0,11,0,37,0,30,0,79,0 74,0,73,0,36,0,14,0,29,0,75,0 31,0,84,0,28,0,7,0,18,0,45,0 40,0,42,0,4,0,53,0,50,0,2,0 54,0,48,0,26,0,61,0,47,0,15,0 77,0,80,0,9,0,27,0,60,0,52,0 51,0,56,0,63,0,69,0,22,0,13,0 66,0,59,0,34,0,71,0,65,0,67,0 64,0,72,0,1,0,3,0,6,0,73,0 29,0,81,0,68,0,38,0,78,0,31,0 36,0,49,0,25,0,45,0,58,0,39,0 79,0,75,0,32,0,62,0,82,0,84,0 14,0,5,0,21,0,30,0,41,0,18,0 19,0,12,0,16,0,76,0,37,0,44,0 24,0,74,0,8,0,10,0,46,0,55,0 43,0,33,0,17,0,70,0,20,0,28,0 7,0,23,0,35,0,57,0,83,0,11,0 66,0,40,0,61,0,77,0,63,0,73,0 62,0,36,0,54,0,80,0,67,0,38,0 84,0,64,0,34,0,15,0,22,0,5,0 31,0,59,0,1,0,14,0,60,0,2,0 55,0,30,0,44,0,52,0,13,0,72,0 50,0,3,0,24,0,76,0,79,0,68,0 70,0,11,0,8,0,65,0,27,0,49,0 12,0,75,0,39,0,81,0,83,0,51,0 28,0,25,0,26,0,21,0,4,0,23,0 74,0,69,0,16,0,71,0,43,0,57,0 32,0,18,0,35,0,17,0,10,0,19,0 47,0,37,0,78,0,58,0,7,0,20,0 6,0,41,0,33,0,82,0,53,0,9,0 42,0,48,0,46,0,56,0,45,0,29,0 44,0,81,0,36,0,84,0,1,0,8,0 64,0,13,0,75,0,65,0,40,0,28,0 16,0,54,0,52,0,23,0,59,0,73,0 76,0,10,0,69,0,15,0,70,0,39,0 19,0,78,0,71,0,51,0,77,0,2,0 38,0,47,0,35,0,41,0,49,0,63,0 29,0,66,0,24,0,4,0,82,0,18,0 5,0,3,0,37,0,33,0,42,0,83,0 22,0,58,0,9,0,48,0,31,0,17,0 43,0,53,0,46,0,62,0,61,0,21,0 45,0,30,0,20,0,27,0,26,0,50,0 14,0,79,0,55,0,57,0,80,0,12,0 72,0,32,0,68,0,11,0,25,0,34,0 60,0,74,0,7,0,56,0,67,0,6,0 73,0,41,0,65,0,44,0,42,0,10,0 75,0,18,0,52,0,76,0,8,0,71,0 84,0,29,0,47,0,53,0,17,0,16,0 26,0,38,0,3,0,77,0,13,0,59,0 30,0,49,0,80,0,23,0,33,0,69,0 28,0,50,0,55,0,19,0,22,0,36,0 57,0,37,0,25,0,70,0,66,0,46,0 51,0,45,0,68,0,6,0,15,0,40,0 1,0,82,0,78,0,74,0,48,0,27,0 39,0,62,0,5,0,2,0,72,0,35,0 56,0,58,0,43,0,14,0,11,0,81,0 21,0,34,0,12,0,7,0,9,0,54,0 32,0,83,0,20,0,60,0,24,0,61,0 63,0,4,0,67,0,64,0,79,0,31,0 ================================================ FILE: schedules/84_8.csv ================================================ 6,0,13,0,30,0,53,0,47,0,67,0 24,0,81,0,22,0,49,0,77,0,25,0 80,0,37,0,46,0,19,0,41,0,42,0 84,0,28,0,44,0,74,0,16,0,31,0 14,0,68,0,2,0,66,0,70,0,39,0 5,0,62,0,69,0,38,0,9,0,76,0 1,0,63,0,54,0,27,0,4,0,55,0 60,0,71,0,61,0,7,0,35,0,73,0 82,0,72,0,59,0,48,0,52,0,78,0 26,0,45,0,33,0,83,0,20,0,75,0 8,0,23,0,56,0,12,0,65,0,51,0 50,0,79,0,57,0,58,0,32,0,21,0 17,0,29,0,10,0,64,0,36,0,3,0 40,0,11,0,34,0,43,0,18,0,15,0 47,0,4,0,46,0,69,0,7,0,14,0 60,0,62,0,16,0,63,0,59,0,25,0 20,0,48,0,5,0,42,0,2,0,35,0 74,0,71,0,27,0,67,0,83,0,37,0 61,0,80,0,1,0,75,0,76,0,13,0 82,0,38,0,58,0,51,0,81,0,41,0 79,0,39,0,44,0,53,0,23,0,33,0 73,0,72,0,36,0,30,0,57,0,18,0 28,0,66,0,45,0,9,0,43,0,65,0 21,0,19,0,34,0,31,0,6,0,29,0 64,0,55,0,49,0,84,0,26,0,11,0 3,0,78,0,12,0,24,0,50,0,40,0 22,0,32,0,68,0,54,0,8,0,17,0 52,0,56,0,70,0,15,0,10,0,77,0 16,0,2,0,71,0,41,0,79,0,1,0 76,0,25,0,67,0,4,0,57,0,65,0 42,0,83,0,59,0,7,0,31,0,13,0 64,0,60,0,53,0,72,0,46,0,45,0 38,0,30,0,35,0,40,0,75,0,21,0 47,0,29,0,8,0,18,0,5,0,84,0 58,0,36,0,62,0,24,0,26,0,34,0 51,0,49,0,9,0,44,0,10,0,48,0 3,0,69,0,15,0,39,0,80,0,32,0 14,0,52,0,54,0,37,0,12,0,61,0 68,0,20,0,27,0,43,0,81,0,23,0 56,0,73,0,50,0,19,0,55,0,22,0 6,0,17,0,11,0,70,0,78,0,28,0 33,0,82,0,66,0,74,0,77,0,63,0 2,0,4,0,84,0,13,0,45,0,24,0 69,0,67,0,10,0,35,0,16,0,8,0 65,0,52,0,18,0,38,0,1,0,42,0 14,0,48,0,43,0,3,0,53,0,58,0 64,0,20,0,15,0,41,0,22,0,59,0 31,0,81,0,39,0,46,0,71,0,30,0 75,0,34,0,44,0,66,0,56,0,37,0 57,0,9,0,60,0,74,0,80,0,54,0 72,0,6,0,26,0,63,0,50,0,5,0 73,0,70,0,51,0,32,0,33,0,25,0 79,0,76,0,77,0,78,0,36,0,19,0 17,0,40,0,49,0,61,0,27,0,82,0 23,0,11,0,47,0,83,0,62,0,21,0 55,0,7,0,29,0,68,0,28,0,12,0 57,0,66,0,15,0,84,0,1,0,48,0 75,0,43,0,41,0,31,0,60,0,8,0 65,0,33,0,30,0,64,0,34,0,54,0 4,0,73,0,9,0,20,0,37,0,53,0 51,0,24,0,19,0,59,0,14,0,35,0 46,0,78,0,2,0,44,0,38,0,32,0 77,0,29,0,61,0,50,0,11,0,67,0 76,0,63,0,58,0,28,0,47,0,71,0 62,0,7,0,40,0,22,0,72,0,70,0 36,0,74,0,49,0,69,0,52,0,23,0 21,0,42,0,17,0,81,0,26,0,56,0 6,0,25,0,79,0,45,0,68,0,80,0 10,0,18,0,13,0,39,0,12,0,27,0 5,0,83,0,55,0,3,0,82,0,16,0 31,0,11,0,54,0,66,0,53,0,76,0 1,0,64,0,35,0,44,0,62,0,50,0 22,0,37,0,51,0,29,0,2,0,30,0 70,0,42,0,71,0,57,0,69,0,24,0 61,0,68,0,58,0,15,0,33,0,78,0 32,0,20,0,56,0,14,0,6,0,60,0 83,0,17,0,77,0,43,0,38,0,72,0 13,0,48,0,19,0,65,0,81,0,74,0 21,0,16,0,80,0,4,0,12,0,49,0 39,0,84,0,7,0,36,0,82,0,75,0 25,0,41,0,28,0,34,0,10,0,5,0 47,0,27,0,26,0,59,0,79,0,3,0 8,0,45,0,52,0,63,0,73,0,40,0 18,0,9,0,67,0,55,0,23,0,46,0 11,0,74,0,56,0,1,0,30,0,58,0 83,0,12,0,69,0,6,0,22,0,48,0 39,0,43,0,19,0,4,0,64,0,61,0 35,0,36,0,41,0,70,0,54,0,13,0 44,0,72,0,21,0,71,0,3,0,20,0 53,0,75,0,5,0,77,0,57,0,68,0 59,0,50,0,34,0,8,0,46,0,49,0 63,0,65,0,14,0,10,0,84,0,80,0 28,0,40,0,67,0,81,0,33,0,60,0 38,0,24,0,16,0,47,0,66,0,73,0 2,0,23,0,31,0,82,0,26,0,15,0 7,0,32,0,18,0,76,0,45,0,37,0 55,0,51,0,62,0,79,0,17,0,52,0 42,0,78,0,29,0,27,0,25,0,9,0 59,0,4,0,71,0,56,0,36,0,5,0 43,0,70,0,12,0,30,0,44,0,63,0 41,0,65,0,24,0,11,0,72,0,68,0 23,0,64,0,58,0,77,0,6,0,40,0 38,0,48,0,50,0,7,0,80,0,33,0 16,0,13,0,46,0,20,0,17,0,57,0 35,0,26,0,66,0,32,0,52,0,29,0 25,0,82,0,53,0,19,0,18,0,69,0 34,0,67,0,1,0,51,0,45,0,39,0 31,0,47,0,37,0,10,0,78,0,55,0 8,0,3,0,81,0,9,0,61,0,2,0 83,0,79,0,54,0,28,0,49,0,73,0 15,0,14,0,75,0,74,0,42,0,62,0 22,0,84,0,76,0,27,0,60,0,21,0 ================================================ FILE: schedules/84_9.csv ================================================ 63,0,60,0,2,0,47,0,22,0,65,0 43,0,83,0,4,0,64,0,10,0,5,0 29,0,79,0,68,0,19,0,51,0,32,0 61,0,12,0,69,0,30,0,9,0,46,0 71,0,80,0,53,0,55,0,58,0,24,0 6,0,62,0,36,0,35,0,45,0,76,0 18,0,44,0,37,0,26,0,20,0,25,0 56,0,57,0,48,0,42,0,75,0,81,0 40,0,8,0,11,0,13,0,38,0,33,0 31,0,16,0,15,0,50,0,28,0,70,0 39,0,82,0,3,0,49,0,1,0,67,0 78,0,72,0,66,0,41,0,7,0,17,0 84,0,73,0,14,0,34,0,52,0,23,0 77,0,54,0,27,0,74,0,21,0,59,0 25,0,47,0,75,0,6,0,61,0,5,0 76,0,20,0,65,0,12,0,53,0,11,0 2,0,31,0,37,0,42,0,68,0,64,0 32,0,4,0,39,0,69,0,63,0,71,0 58,0,33,0,45,0,67,0,44,0,19,0 13,0,9,0,52,0,26,0,82,0,16,0 40,0,74,0,50,0,10,0,57,0,84,0 81,0,23,0,29,0,62,0,78,0,27,0 46,0,8,0,73,0,41,0,3,0,56,0 54,0,38,0,43,0,51,0,15,0,66,0 35,0,72,0,34,0,18,0,80,0,60,0 22,0,17,0,14,0,1,0,59,0,48,0 28,0,7,0,49,0,21,0,83,0,55,0 24,0,77,0,30,0,70,0,79,0,36,0 76,0,57,0,23,0,37,0,71,0,33,0 27,0,25,0,3,0,69,0,2,0,19,0 50,0,78,0,42,0,13,0,6,0,20,0 75,0,74,0,63,0,44,0,8,0,29,0 41,0,67,0,47,0,14,0,80,0,9,0 52,0,55,0,15,0,39,0,12,0,22,0 1,0,40,0,7,0,43,0,18,0,79,0 54,0,72,0,84,0,82,0,5,0,68,0 24,0,60,0,56,0,38,0,49,0,26,0 35,0,70,0,58,0,73,0,4,0,17,0 21,0,53,0,16,0,45,0,34,0,46,0 66,0,31,0,61,0,36,0,32,0,83,0 62,0,10,0,65,0,48,0,28,0,77,0 81,0,11,0,30,0,64,0,59,0,51,0 5,0,71,0,14,0,15,0,44,0,2,0 69,0,41,0,55,0,50,0,79,0,76,0 42,0,43,0,33,0,84,0,27,0,63,0 49,0,8,0,20,0,80,0,19,0,54,0 68,0,52,0,17,0,36,0,53,0,60,0 24,0,62,0,21,0,72,0,22,0,75,0 57,0,29,0,70,0,11,0,9,0,6,0 81,0,47,0,39,0,73,0,28,0,66,0 25,0,58,0,59,0,31,0,78,0,46,0 74,0,12,0,64,0,16,0,7,0,67,0 65,0,1,0,34,0,32,0,56,0,13,0 18,0,51,0,23,0,45,0,82,0,10,0 30,0,38,0,83,0,37,0,48,0,35,0 40,0,77,0,26,0,4,0,61,0,3,0 11,0,49,0,44,0,66,0,52,0,62,0 5,0,81,0,70,0,41,0,21,0,60,0 9,0,64,0,31,0,39,0,79,0,8,0 57,0,24,0,78,0,54,0,63,0,73,0 16,0,1,0,72,0,10,0,71,0,29,0 42,0,51,0,74,0,32,0,58,0,76,0 47,0,59,0,53,0,50,0,3,0,33,0 30,0,80,0,15,0,65,0,82,0,7,0 68,0,45,0,20,0,69,0,83,0,40,0 61,0,19,0,22,0,28,0,37,0,34,0 43,0,6,0,23,0,56,0,2,0,77,0 13,0,4,0,48,0,12,0,25,0,36,0 75,0,18,0,67,0,84,0,17,0,38,0 26,0,46,0,35,0,55,0,27,0,14,0 21,0,78,0,33,0,74,0,1,0,52,0 83,0,58,0,65,0,54,0,41,0,29,0 32,0,73,0,45,0,7,0,11,0,37,0 28,0,59,0,2,0,9,0,20,0,24,0 39,0,72,0,51,0,13,0,77,0,61,0 48,0,84,0,80,0,6,0,16,0,44,0 68,0,23,0,50,0,35,0,22,0,38,0 40,0,70,0,76,0,64,0,14,0,75,0 36,0,46,0,19,0,15,0,18,0,47,0 8,0,66,0,12,0,42,0,71,0,82,0 27,0,30,0,4,0,53,0,56,0,31,0 49,0,10,0,69,0,34,0,81,0,17,0 26,0,5,0,3,0,79,0,63,0,62,0 55,0,25,0,60,0,57,0,67,0,43,0 61,0,29,0,76,0,52,0,24,0,7,0 6,0,37,0,14,0,72,0,74,0,65,0 12,0,28,0,35,0,40,0,41,0,51,0 50,0,36,0,21,0,44,0,39,0,56,0 33,0,77,0,22,0,18,0,32,0,64,0 10,0,68,0,9,0,66,0,63,0,58,0 16,0,81,0,3,0,38,0,20,0,55,0 26,0,69,0,48,0,43,0,53,0,73,0 83,0,75,0,15,0,27,0,60,0,11,0 49,0,79,0,71,0,25,0,84,0,45,0 34,0,70,0,2,0,78,0,8,0,67,0 17,0,5,0,31,0,46,0,13,0,80,0 30,0,47,0,42,0,23,0,1,0,54,0 19,0,82,0,59,0,62,0,4,0,57,0 18,0,41,0,24,0,74,0,68,0,48,0 27,0,56,0,22,0,66,0,76,0,16,0 84,0,64,0,20,0,15,0,29,0,35,0 34,0,36,0,11,0,3,0,58,0,43,0 26,0,45,0,12,0,2,0,50,0,72,0 54,0,46,0,71,0,40,0,67,0,81,0 63,0,77,0,1,0,53,0,19,0,83,0 14,0,78,0,79,0,61,0,10,0,60,0 8,0,55,0,51,0,17,0,47,0,37,0 52,0,28,0,32,0,30,0,57,0,5,0 49,0,9,0,65,0,75,0,33,0,4,0 13,0,7,0,59,0,44,0,69,0,23,0 62,0,42,0,70,0,25,0,80,0,39,0 82,0,73,0,6,0,21,0,38,0,31,0 61,0,64,0,48,0,27,0,50,0,58,0 37,0,60,0,46,0,66,0,84,0,1,0 67,0,26,0,10,0,76,0,30,0,68,0 4,0,16,0,79,0,54,0,11,0,2,0 36,0,7,0,22,0,71,0,20,0,51,0 28,0,29,0,13,0,45,0,14,0,43,0 19,0,9,0,56,0,5,0,78,0,55,0 63,0,52,0,38,0,59,0,72,0,70,0 21,0,18,0,65,0,69,0,57,0,8,0 6,0,17,0,39,0,24,0,83,0,33,0 62,0,44,0,31,0,34,0,47,0,40,0 32,0,75,0,80,0,3,0,23,0,12,0 74,0,53,0,82,0,35,0,81,0,25,0 73,0,41,0,15,0,42,0,77,0,49,0 ================================================ FILE: schedules/85_1.csv ================================================ 75,0,85,0,3,0,76,0,54,0,25,0 61,0,80,0,32,0,16,0,73,0,40,0 71,0,74,0,56,0,24,0,29,0,33,0 43,0,63,0,72,0,6,0,37,0,58,0 23,0,50,0,48,0,52,0,53,0,84,0 66,0,28,0,26,0,7,0,31,0,27,0 22,0,11,0,68,0,60,0,5,0,83,0 17,0,65,0,49,0,55,0,42,0,67,0 70,0,77,0,2,0,45,0,62,0,13,0 1,0,21,0,20,0,35,0,8,0,41,0 47,0,4,0,19,0,82,0,57,0,10,0 39,0,46,0,36,0,51,0,15,0,12,0 30,0,34,0,69,0,78,0,59,0,44,0 38,0,81,0,79,0,9,0,64,0,14,0 18,0,71,1,6,1,74,1,72,1,27,1 ================================================ FILE: schedules/85_10.csv ================================================ 79,0,64,0,84,0,46,0,58,0,57,0 36,0,70,0,21,0,56,0,74,0,81,0 45,0,23,0,14,0,77,0,65,0,9,0 8,0,67,0,19,0,2,0,38,0,6,0 33,0,20,0,5,0,68,0,60,0,41,0 32,0,82,0,27,0,54,0,30,0,25,0 1,0,3,0,12,0,76,0,43,0,66,0 59,0,47,0,72,0,17,0,50,0,80,0 34,0,69,0,71,0,31,0,48,0,10,0 15,0,37,0,35,0,83,0,16,0,78,0 13,0,24,0,26,0,22,0,39,0,4,0 51,0,85,0,29,0,63,0,42,0,73,0 55,0,61,0,49,0,62,0,11,0,52,0 18,0,40,0,75,0,44,0,28,0,53,0 7,0,58,0,76,0,72,0,8,0,45,0 80,0,81,0,12,0,10,0,9,0,32,0 15,0,54,0,66,0,41,0,38,0,69,0 6,0,37,0,31,0,82,0,56,0,5,0 1,0,34,0,73,0,47,0,20,0,42,0 64,0,52,0,30,0,13,0,23,0,51,0 77,0,21,0,28,0,68,0,63,0,35,0 36,0,4,0,18,0,46,0,16,0,25,0 29,0,53,0,78,0,48,0,65,0,60,0 40,0,57,0,24,0,74,0,59,0,55,0 85,0,39,0,62,0,83,0,50,0,3,0 11,0,7,0,22,0,75,0,84,0,27,0 19,0,49,0,14,0,61,0,44,0,26,0 33,0,70,0,79,0,2,0,17,0,71,0 43,0,51,0,9,0,67,0,31,0,4,0 1,1,54,0,28,0,45,1,10,0,6,0 8,0,30,0,47,0,74,0,60,0,69,0 64,0,66,0,80,0,21,0,20,0,62,0 56,0,34,0,65,0,22,0,27,0,3,0 48,0,40,0,81,0,14,0,37,0,39,0 5,0,42,0,75,0,76,0,77,0,50,0 55,0,82,0,83,0,17,0,49,0,16,0 44,0,68,0,25,0,73,0,59,0,71,0 38,0,52,0,53,0,24,0,12,0,79,0 29,0,33,0,19,0,78,0,58,0,36,0 26,0,72,0,63,0,84,0,23,0,70,0 7,0,41,0,35,0,46,0,43,0,61,0 57,0,2,0,32,0,85,0,18,0,15,0 67,0,13,0,83,0,11,0,48,0,54,0 21,0,65,0,25,0,55,0,8,0,31,0 77,0,24,0,17,0,66,0,73,0,81,0 20,0,51,0,59,0,22,0,49,0,79,0 84,0,12,0,50,0,45,0,69,0,78,0 27,0,39,0,23,0,71,0,5,0,47,0 85,0,10,0,82,0,14,0,36,0,52,0 72,0,67,0,42,0,46,0,53,0,15,0 6,0,75,0,58,0,9,0,34,0,70,0 2,0,35,0,33,0,30,0,11,0,44,0 60,0,1,0,16,0,57,0,61,0,13,0 26,0,28,0,74,0,3,0,29,0,64,0 40,0,63,0,32,0,41,0,76,0,19,0 68,0,37,0,38,0,4,0,7,0,62,0 56,0,80,0,8,0,18,0,43,0,49,0 22,0,21,0,10,0,50,0,67,0,78,0 23,0,31,0,11,0,20,0,17,0,15,0 13,0,2,0,82,0,72,0,34,0,77,0 27,0,55,0,6,0,85,0,35,0,60,0 83,0,53,0,63,0,9,0,64,0,25,0 61,0,79,0,68,0,29,0,81,0,76,0 43,0,44,0,36,0,24,0,45,0,32,0 14,0,58,0,38,0,28,0,80,0,16,0 5,0,51,0,69,0,46,0,3,0,40,0 52,0,39,0,41,0,7,0,74,0,42,0 18,0,48,0,33,0,12,0,47,0,26,0 71,0,37,0,65,0,75,0,19,0,66,0 59,0,56,0,62,0,1,0,84,0,30,0 4,0,57,0,73,0,70,0,54,0,49,0 45,0,63,0,20,0,82,0,81,0,15,0 3,0,13,0,14,0,32,0,68,0,8,0 51,0,6,0,61,0,36,0,80,0,53,0 46,0,76,0,17,0,78,0,28,0,27,0 24,0,9,0,11,0,37,0,41,0,47,0 66,0,84,0,52,0,29,0,34,0,5,0 60,0,26,0,50,0,40,0,73,0,31,0 62,0,43,0,10,0,39,0,58,0,2,0 54,0,77,0,57,0,56,0,12,0,44,0 22,0,71,0,1,0,72,0,55,0,38,0 69,0,19,0,42,0,4,0,21,0,59,0 74,0,48,0,25,0,23,0,35,0,79,0 67,0,16,0,64,0,85,0,33,0,75,0 65,0,18,0,30,0,70,0,7,0,83,0 3,0,15,0,9,0,13,0,27,0,36,0 31,0,45,0,34,0,62,0,80,0,57,0 20,0,2,0,53,0,84,0,55,0,14,0 60,0,51,0,37,0,21,0,54,0,58,0 59,0,28,0,8,0,23,0,82,0,66,0 12,0,4,0,29,0,35,0,39,0,17,0 56,0,83,0,33,0,10,0,76,0,73,0 85,0,5,0,22,0,44,0,19,0,7,0 77,0,67,0,32,0,69,0,79,0,26,0 71,0,64,0,61,0,42,0,24,0,18,0 78,0,40,0,47,0,70,0,25,0,38,0 1,0,74,0,46,0,11,0,63,0,50,0 48,0,72,0,75,0,30,0,49,0,68,0 16,0,81,0,43,0,52,0,65,0,6,0 41,0,57,0,29,0,10,0,8,0,23,0 4,0,28,0,60,0,83,0,32,0,34,0 24,0,62,0,19,0,51,0,77,0,27,0 84,0,76,0,36,0,71,0,67,0,35,0 11,0,78,0,82,0,39,0,79,0,18,0 45,0,38,0,49,0,21,0,33,0,3,0 40,0,66,0,16,0,68,0,56,0,42,0 2,0,52,0,9,0,46,0,26,0,59,0 17,0,14,0,63,0,22,0,30,0,43,0 61,0,70,0,50,0,48,0,13,0,20,0 47,0,31,0,54,0,53,0,7,0,81,0 6,0,72,0,44,0,69,0,37,0,64,0 80,0,41,0,65,0,1,0,25,0,85,0 73,0,74,0,58,0,12,0,5,0,15,0 55,0,79,0,3,0,75,0,4,0,10,0 45,0,26,0,71,0,51,0,56,0,11,0 84,0,38,0,42,0,82,0,9,0,60,0 19,0,50,0,68,0,83,0,52,0,57,0 53,0,70,0,22,0,16,0,8,0,77,0 31,0,66,0,72,0,61,0,39,0,33,0 73,0,27,0,43,0,48,0,59,0,64,0 49,0,15,0,6,0,40,0,29,0,7,0 76,0,69,0,35,0,18,0,14,0,20,0 85,0,30,0,46,0,34,0,21,0,12,0 55,0,44,0,41,0,47,0,67,0,58,0 23,0,36,0,32,0,1,0,37,0,2,0 78,0,75,0,54,0,63,0,24,0,80,0 81,0,25,0,28,0,62,0,5,0,13,0 74,0,61,0,10,0,65,0,17,0,84,0 4,0,71,0,77,0,15,0,40,0,52,0 76,0,60,0,12,0,70,0,64,0,11,0 16,0,21,0,27,0,72,0,79,0,41,0 47,0,45,0,46,0,83,0,14,0,66,0 82,0,26,0,53,0,1,0,58,0,35,0 9,0,39,0,7,0,20,0,57,0,28,0 85,0,13,0,31,0,74,0,49,0,75,0 34,0,78,0,8,0,51,0,44,0,81,0 69,0,24,0,25,0,2,0,29,0,56,0 22,0,62,0,42,0,32,0,6,0,48,0 50,0,23,0,55,0,33,0,43,0,54,0 80,0,3,0,73,0,37,0,19,0,30,0 36,0,59,0,5,0,38,0,65,0,63,0 68,0,17,0,1,0,18,0,67,0,45,0 ================================================ FILE: schedules/85_11.csv ================================================ 52,0,45,0,26,0,82,0,56,0,13,0 60,0,51,0,49,0,66,0,50,0,79,0 23,0,80,0,37,0,73,0,47,0,62,0 44,0,78,0,17,0,6,0,61,0,42,0 77,0,39,0,54,0,9,0,38,0,31,0 12,0,46,0,58,0,76,0,29,0,25,0 59,0,43,0,40,0,84,0,30,0,32,0 22,0,75,0,70,0,5,0,35,0,2,0 71,0,24,0,10,0,3,0,67,0,55,0 20,0,7,0,48,0,81,0,16,0,41,0 65,0,83,0,68,0,11,0,53,0,63,0 15,0,4,0,36,0,28,0,33,0,74,0 72,0,34,0,21,0,19,0,8,0,18,0 14,0,1,0,85,0,27,0,64,0,57,0 76,0,61,0,82,0,69,0,80,0,84,0 67,0,73,0,70,0,9,0,17,0,26,0 35,0,52,0,6,0,25,0,40,0,81,0 45,0,65,0,71,0,58,0,60,0,16,0 75,0,39,0,48,0,83,0,51,0,15,0 62,0,30,0,22,0,72,0,46,0,50,0 29,0,42,0,79,0,54,0,8,0,74,0 3,0,5,0,13,0,41,0,14,0,53,0 55,0,33,0,77,0,47,0,18,0,27,0 78,0,2,0,57,0,43,0,23,0,68,0 20,0,24,0,56,0,11,0,38,0,32,0 28,0,31,0,69,0,59,0,85,0,49,0 64,0,63,0,12,0,21,0,37,0,10,0 36,0,1,0,66,0,19,0,44,0,7,0 4,0,84,0,35,0,34,0,42,0,60,0 52,1,18,0,30,0,58,0,61,0,14,0 65,0,82,0,46,0,40,0,27,0,75,0 70,0,41,0,55,0,23,0,83,0,74,0 5,0,9,0,78,0,62,0,20,0,31,0 63,0,50,0,28,0,24,0,73,0,29,0 8,0,71,0,51,0,13,0,36,0,47,0 66,0,17,0,85,0,15,0,56,0,76,0 16,0,64,0,3,0,4,0,77,0,68,0 80,0,49,0,54,0,12,0,72,0,57,0 26,0,6,0,7,0,34,0,10,0,48,0 53,0,19,0,39,0,37,0,11,0,45,0 69,0,25,0,2,0,67,0,32,0,21,0 43,0,79,0,44,0,38,0,33,0,81,0 59,0,1,0,9,0,22,0,74,0,13,0 61,0,29,0,8,0,20,0,3,0,75,0 40,0,58,0,42,0,14,0,31,0,73,0 84,0,66,0,26,0,24,0,64,0,52,0 18,0,70,0,85,0,39,0,63,0,45,0 68,0,51,0,5,0,76,0,67,0,34,0 49,0,10,0,81,0,11,0,2,0,82,0 44,0,72,0,35,0,43,0,65,0,47,0 30,0,48,0,54,0,71,0,19,0,78,0 38,0,60,0,59,0,37,0,6,0,46,0 57,0,16,0,33,0,25,0,17,0,50,0 23,0,1,0,77,0,12,0,79,0,15,0 27,0,28,0,53,0,7,0,32,0,41,0 55,0,83,0,21,0,56,0,62,0,4,0 69,0,22,0,52,0,36,0,80,0,42,0 24,0,2,0,13,0,40,0,44,0,76,0 6,0,8,0,66,0,30,0,39,0,68,0 14,0,81,0,74,0,72,0,63,0,78,0 19,0,49,0,50,0,70,0,77,0,65,0 57,0,41,0,73,0,45,0,34,0,38,0 9,0,56,0,12,0,7,0,18,0,75,0 48,0,37,0,82,0,29,0,85,0,22,0 62,0,16,0,67,0,61,0,1,0,28,0 21,0,69,0,15,0,3,0,43,0,46,0 64,0,32,0,51,0,55,0,80,0,17,0 47,0,20,0,54,0,60,0,53,0,26,0 83,0,58,0,27,0,84,0,36,0,10,0 25,0,59,0,4,0,71,0,79,0,5,0 31,0,11,0,23,0,33,0,35,0,48,0 52,0,74,0,39,0,34,0,49,0,62,0 13,0,7,0,66,0,46,0,57,0,70,0 15,0,18,0,78,0,41,0,29,0,40,0 69,0,9,0,16,0,6,0,2,0,55,0 45,0,60,0,24,0,61,0,81,0,21,0 28,0,37,0,84,0,65,0,5,0,54,0 3,0,27,0,36,0,59,0,35,0,17,0 38,0,47,0,50,0,4,0,1,0,58,0 33,0,68,0,42,0,19,0,82,0,12,0 8,0,31,0,80,0,26,0,63,0,43,0 23,0,25,0,72,0,51,0,20,0,10,0 79,0,64,0,67,0,56,0,53,0,22,0 76,0,32,0,14,0,11,0,75,0,71,0 77,0,44,0,73,0,85,0,30,0,83,0 17,0,46,0,52,0,47,0,5,0,48,0 34,0,12,0,55,0,78,0,28,0,36,0 21,0,7,0,74,0,40,0,68,0,50,0 63,0,2,0,61,0,38,0,15,0,13,0 6,0,67,0,20,0,4,0,80,0,82,0 14,0,69,0,19,0,24,0,39,0,79,0 25,0,45,0,84,0,44,0,75,0,1,0 8,0,26,0,11,0,16,0,23,0,18,0 57,0,10,0,65,0,56,0,59,0,81,0 70,0,72,0,27,0,60,0,31,0,29,0 71,0,49,0,3,0,37,0,83,0,42,0 66,0,22,0,32,0,33,0,54,0,73,0 62,0,43,0,58,0,77,0,51,0,53,0 76,0,35,0,64,0,30,0,41,0,9,0 84,0,67,0,74,0,85,0,20,0,46,0 34,0,16,0,15,0,14,0,44,0,80,0 61,0,13,0,55,0,25,0,31,0,65,0 2,0,50,0,45,0,8,0,48,0,27,0 56,0,40,0,39,0,3,0,28,0,22,0 81,0,17,0,18,0,68,0,62,0,71,0 33,0,60,0,63,0,9,0,58,0,52,0 35,0,77,0,21,0,37,0,66,0,78,0 5,0,49,0,38,0,23,0,64,0,36,0 29,0,57,0,32,0,26,0,4,0,19,0 24,0,51,0,82,0,59,0,54,0,7,0 11,0,12,0,30,0,69,0,47,0,70,0 41,0,42,0,75,0,43,0,10,0,85,0 53,0,73,0,6,0,72,0,1,0,76,0 83,0,80,0,46,0,79,0,45,0,35,0 23,0,34,0,20,0,63,0,71,0,40,0 60,0,74,0,65,0,18,0,48,0,22,0 64,0,29,0,33,0,62,0,2,0,7,0 5,0,58,0,82,0,55,0,66,0,44,0 75,0,8,0,4,0,78,0,69,0,49,0 27,0,11,0,73,0,13,0,21,0,6,0 17,0,83,0,56,0,1,0,54,0,43,0 81,0,30,0,26,0,3,0,12,0,51,0 10,0,76,0,19,0,38,0,52,0,28,0 72,0,77,0,67,0,59,0,41,0,39,0 42,0,24,0,53,0,57,0,9,0,15,0 31,0,32,0,36,0,37,0,50,0,16,0 68,0,25,0,47,0,84,0,70,0,14,0 85,0,79,0,55,0,61,0,34,0,11,0 20,0,43,0,22,0,27,0,49,0,12,0 71,0,35,0,1,0,69,0,26,0,33,0 51,0,63,0,41,0,6,0,19,0,56,0 29,0,45,0,5,0,30,0,10,0,17,0 23,0,59,0,75,0,53,0,50,0,52,0 28,0,46,0,42,0,77,0,81,0,2,0 15,0,73,0,25,0,64,0,8,0,60,0 40,0,4,0,72,0,66,0,61,0,48,0 84,0,79,0,31,0,3,0,18,0,57,0 78,0,7,0,39,0,80,0,58,0,13,0 47,0,74,0,16,0,83,0,76,0,24,0 14,0,9,0,82,0,21,0,38,0,65,0 62,0,85,0,36,0,70,0,54,0,32,0 44,0,37,0,29,0,67,0,68,0,52,0 40,0,60,0,11,0,77,0,17,0,5,0 31,0,6,0,71,0,15,0,84,0,22,0 63,0,48,0,56,0,49,0,30,0,25,0 3,0,2,0,19,0,58,0,73,0,74,0 80,0,33,0,41,0,65,0,24,0,8,0 54,0,27,0,13,0,69,0,23,0,4,0 43,0,37,0,7,0,14,0,55,0,45,0 62,0,76,0,70,0,20,0,59,0,42,0 61,0,10,0,46,0,1,0,39,0,32,0 79,0,26,0,68,0,36,0,72,0,9,0 18,0,50,0,83,0,64,0,78,0,82,0 53,0,85,0,38,0,16,0,12,0,35,0 34,0,47,0,75,0,67,0,66,0,81,0 57,0,28,0,21,0,51,0,44,0,52,0 ================================================ FILE: schedules/85_12.csv ================================================ 58,0,18,0,31,0,33,0,4,0,70,0 28,0,79,0,82,0,68,0,36,0,32,0 20,0,22,0,2,0,39,0,57,0,65,0 5,0,21,0,71,0,48,0,50,0,14,0 73,0,8,0,24,0,81,0,38,0,40,0 74,0,45,0,6,0,13,0,27,0,1,0 51,0,64,0,26,0,16,0,78,0,17,0 66,0,47,0,77,0,44,0,10,0,29,0 46,0,49,0,80,0,34,0,84,0,83,0 72,0,23,0,7,0,53,0,67,0,41,0 12,0,85,0,59,0,52,0,42,0,56,0 9,0,37,0,69,0,11,0,19,0,54,0 43,0,62,0,55,0,3,0,60,0,75,0 25,0,30,0,35,0,63,0,15,0,76,0 61,0,10,0,33,0,64,0,21,0,2,0 17,0,51,0,45,0,8,0,70,0,34,0 44,0,41,0,58,0,20,0,82,0,48,0 78,0,46,0,38,0,7,0,68,0,85,0 56,0,28,0,39,0,52,0,23,0,83,0 65,0,47,0,81,0,5,0,74,0,60,0 6,0,75,0,29,0,19,0,12,0,79,0 73,0,49,0,14,0,61,0,43,0,27,0 26,0,1,0,62,0,50,0,37,0,76,0 11,0,63,0,59,0,57,0,32,0,80,0 3,0,31,0,16,0,24,0,22,0,69,0 18,0,66,0,13,0,72,0,25,0,71,0 35,0,67,0,77,0,53,0,9,0,36,0 15,0,30,0,84,0,42,0,40,0,54,0 55,0,23,0,45,0,4,0,46,0,64,0 8,0,76,0,12,0,43,0,41,0,5,0 26,0,65,0,27,0,7,0,57,0,70,0 73,0,62,0,85,0,58,0,10,0,80,0 24,0,48,0,3,0,2,0,18,0,47,0 31,0,28,0,63,0,82,0,53,0,37,0 50,0,30,0,11,0,34,0,56,0,74,0 71,0,38,0,42,0,9,0,75,0,16,0 13,0,32,0,83,0,19,0,69,0,15,0 77,0,14,0,84,0,60,0,35,0,72,0 4,0,78,0,40,0,81,0,79,0,66,0 68,0,54,0,22,0,25,0,21,0,6,0 1,0,67,0,49,0,44,0,17,0,39,0 36,0,33,0,52,0,55,0,29,0,20,0 51,0,61,0,18,0,59,0,30,0,38,0 71,0,53,0,23,0,26,0,73,0,69,0 27,0,63,0,82,0,9,0,12,0,60,0 5,0,37,0,2,0,78,0,13,0,58,0 48,0,54,0,84,0,65,0,32,0,75,0 57,0,85,0,1,0,24,0,68,0,70,0 22,0,42,0,44,0,83,0,4,0,28,0 35,0,45,0,49,0,59,0,33,0,31,0 72,0,21,0,36,0,51,0,47,0,43,0 50,0,3,0,8,0,10,0,77,0,19,0 17,0,40,0,46,0,29,0,76,0,56,0 20,0,11,0,64,0,67,0,6,0,81,0 7,0,61,0,39,0,15,0,25,0,55,0 80,0,74,0,16,0,79,0,14,0,52,0 62,0,41,0,24,0,34,0,66,0,27,0 49,0,63,0,65,0,18,0,36,0,85,0 68,0,28,0,60,0,73,0,9,0,30,0 29,0,1,0,5,0,35,0,23,0,3,0 40,0,12,0,31,0,51,0,44,0,71,0 17,0,13,0,20,0,11,0,84,0,47,0 55,0,22,0,59,0,54,0,50,0,78,0 62,0,33,0,14,0,69,0,77,0,57,0 82,0,41,0,10,0,83,0,61,0,74,0 32,0,37,0,66,0,75,0,7,0,45,0 2,0,52,0,6,0,72,0,76,0,38,0 46,0,19,0,16,0,53,0,21,0,81,0 80,0,25,0,8,0,4,0,26,0,48,0 79,0,56,0,70,0,15,0,67,0,64,0 43,0,34,0,68,0,39,0,58,0,42,0 3,0,41,0,51,0,28,0,49,0,13,0 35,0,73,0,83,0,54,0,12,0,57,0 40,0,30,0,7,0,52,0,82,0,77,0 32,0,84,0,38,0,74,0,31,0,62,0 18,0,10,0,37,0,6,0,55,0,14,0 81,0,72,0,63,0,33,0,75,0,56,0 25,0,69,0,76,0,29,0,64,0,65,0 27,0,67,0,79,0,5,0,22,0,46,0 59,0,26,0,34,0,2,0,4,0,36,0 39,0,53,0,43,0,78,0,70,0,71,0 60,0,50,0,85,0,44,0,20,0,8,0 45,0,15,0,21,0,9,0,24,0,17,0 19,0,61,0,42,0,47,0,1,0,80,0 58,0,48,0,66,0,23,0,11,0,16,0 74,0,67,0,68,0,33,0,63,0,12,0 29,0,81,0,83,0,7,0,18,0,62,0 75,0,55,0,31,0,25,0,57,0,5,0 70,0,73,0,37,0,22,0,82,0,35,0 84,0,59,0,44,0,71,0,6,0,24,0 78,0,30,0,52,0,19,0,41,0,21,0 54,0,80,0,53,0,56,0,8,0,51,0 13,0,77,0,4,0,28,0,43,0,65,0 20,0,23,0,10,0,16,0,34,0,15,0 85,0,17,0,66,0,60,0,69,0,61,0 58,0,79,0,50,0,47,0,45,0,38,0 48,0,49,0,36,0,42,0,76,0,46,0 26,0,9,0,39,0,64,0,72,0,3,0 11,0,32,0,2,0,40,0,27,0,14,0 1,0,56,0,77,0,18,0,25,0,41,0 23,0,44,0,78,0,65,0,80,0,33,0 29,0,34,0,60,0,13,0,21,0,57,0 54,0,85,0,67,0,28,0,16,0,62,0 81,0,50,0,70,0,49,0,84,0,12,0 43,0,83,0,20,0,79,0,24,0,37,0 10,0,22,0,40,0,26,0,63,0,45,0 46,0,15,0,74,0,73,0,2,0,59,0 19,0,17,0,58,0,36,0,31,0,14,0 7,0,32,0,55,0,9,0,51,0,1,0 42,0,53,0,6,0,5,0,3,0,61,0 27,0,75,0,8,0,30,0,69,0,39,0 47,0,4,0,72,0,71,0,11,0,76,0 64,0,48,0,68,0,52,0,66,0,35,0 38,0,29,0,43,0,82,0,67,0,26,0 34,0,25,0,23,0,74,0,44,0,37,0 54,0,41,0,60,0,31,0,46,0,2,0 36,0,63,0,61,0,84,0,3,0,78,0 20,0,65,0,79,0,42,0,51,0,73,0 75,0,83,0,59,0,40,0,70,0,77,0 9,0,47,0,64,0,30,0,62,0,49,0 12,0,69,0,21,0,72,0,28,0,58,0 56,0,19,0,48,0,27,0,55,0,68,0 82,0,45,0,5,0,39,0,85,0,11,0 35,0,24,0,80,0,17,0,50,0,6,0 33,0,76,0,16,0,8,0,13,0,7,0 57,0,14,0,18,0,66,0,15,0,53,0 52,0,71,0,10,0,22,0,81,0,32,0 4,0,38,0,69,0,1,0,20,0,63,0 2,0,19,0,51,0,67,0,84,0,25,0 5,0,68,0,72,0,83,0,45,0,62,0 65,0,3,0,70,0,80,0,40,0,61,0 79,0,16,0,55,0,11,0,77,0,49,0 24,0,14,0,30,0,13,0,12,0,46,0 9,0,48,0,74,0,85,0,53,0,22,0 33,0,1,0,54,0,66,0,10,0,43,0 44,0,18,0,35,0,21,0,75,0,26,0 34,0,73,0,31,0,6,0,47,0,78,0 4,0,50,0,39,0,32,0,41,0,29,0 36,0,15,0,56,0,38,0,37,0,60,0 57,0,81,0,59,0,23,0,28,0,17,0 7,0,82,0,71,0,42,0,8,0,64,0 52,0,76,0,54,0,27,0,58,0,53,0 13,0,26,0,35,0,83,0,85,0,55,0 5,0,70,0,9,0,66,0,20,0,25,0 16,0,45,0,84,0,73,0,18,0,43,0 37,0,47,0,12,0,80,0,77,0,39,0 38,0,6,0,34,0,33,0,28,0,48,0 71,0,17,0,65,0,68,0,41,0,30,0 76,0,32,0,58,0,61,0,81,0,44,0 2,0,8,0,62,0,63,0,79,0,23,0 51,0,75,0,11,0,46,0,52,0,1,0 10,0,69,0,78,0,60,0,24,0,67,0 15,0,42,0,29,0,27,0,72,0,31,0 40,0,57,0,64,0,50,0,36,0,74,0 3,0,14,0,21,0,59,0,56,0,82,0 4,0,19,0,22,0,49,0,7,0,5,0 70,0,66,0,44,0,30,0,2,0,55,0 11,0,1,0,53,0,62,0,12,0,65,0 46,0,61,0,28,0,35,0,71,0,20,0 9,0,68,0,76,0,84,0,18,0,29,0 42,0,74,0,77,0,26,0,58,0,24,0 39,0,79,0,72,0,10,0,59,0,48,0 25,0,27,0,17,0,83,0,38,0,3,0 41,0,36,0,69,0,81,0,45,0,80,0 21,0,85,0,43,0,40,0,19,0,23,0 37,0,78,0,57,0,8,0,49,0,52,0 67,0,75,0,73,0,31,0,50,0,13,0 34,0,7,0,64,0,14,0,63,0,54,0 6,0,56,0,60,0,16,0,32,0,4,0 82,0,33,0,47,0,51,0,15,0,22,0 ================================================ FILE: schedules/85_13.csv ================================================ 3,0,84,0,11,0,58,0,65,0,34,0 14,0,57,0,52,0,46,0,1,0,29,0 40,0,28,0,13,0,66,0,80,0,60,0 43,0,54,0,15,0,33,0,4,0,48,0 44,0,26,0,31,0,37,0,18,0,7,0 55,0,50,0,53,0,64,0,78,0,30,0 82,0,36,0,81,0,61,0,47,0,67,0 69,0,25,0,68,0,77,0,74,0,75,0 16,0,41,0,23,0,73,0,12,0,19,0 21,0,8,0,56,0,51,0,70,0,2,0 24,0,38,0,71,0,6,0,22,0,5,0 49,0,59,0,62,0,9,0,63,0,32,0 85,0,17,0,42,0,20,0,39,0,27,0 35,0,79,0,83,0,72,0,10,0,76,0 45,0,60,0,57,0,64,0,43,0,7,0 54,0,28,0,14,0,34,0,3,0,77,0 29,0,12,0,51,0,33,0,37,0,11,0 56,0,36,0,61,0,46,0,52,0,24,0 67,0,50,0,48,0,58,0,75,0,32,0 26,0,78,0,25,0,23,0,39,0,6,0 27,0,15,0,8,0,31,0,69,0,81,0 35,0,2,0,76,0,44,0,59,0,47,0 30,0,42,0,1,0,83,0,41,0,9,0 55,0,68,0,84,0,71,0,45,0,13,0 62,0,53,0,20,0,70,0,72,0,22,0 85,0,63,0,21,0,65,0,38,0,66,0 10,0,73,0,5,0,17,0,4,0,40,0 79,0,19,0,16,0,82,0,74,0,18,0 80,0,67,0,75,0,49,0,61,0,14,0 46,1,44,0,12,0,76,1,43,0,42,0 6,1,47,0,33,0,3,1,39,0,55,0 31,1,37,0,53,0,41,0,48,0,58,0 28,0,69,0,78,0,7,0,51,0,54,0 20,0,25,0,71,0,81,0,40,0,59,0 11,0,63,0,82,0,15,0,83,0,22,0 60,0,27,0,68,0,52,0,5,0,21,0 35,0,34,0,26,0,32,0,19,0,24,0 57,0,18,0,16,0,85,0,23,0,2,0 65,0,9,0,80,0,79,0,10,0,56,0 64,0,73,0,1,0,8,0,72,0,74,0 4,0,66,0,30,0,49,0,77,0,45,0 17,0,13,0,29,0,36,0,62,0,38,0 50,0,70,0,63,0,84,0,33,0,40,0 21,0,32,0,43,0,82,0,71,0,28,0 20,0,67,0,18,0,52,0,15,0,76,0 78,0,39,0,34,0,56,0,35,0,68,0 44,0,22,0,2,0,3,0,48,0,9,0 4,0,59,0,10,0,16,0,27,0,7,0 83,0,46,0,30,0,8,0,54,0,62,0 60,0,84,0,53,0,61,0,17,0,38,0 80,0,57,0,77,0,12,0,31,0,24,0 79,0,36,0,58,0,5,0,26,0,64,0 49,0,6,0,41,0,65,0,47,0,50,0 55,0,70,0,81,0,74,0,66,0,14,0 45,0,73,0,85,0,25,0,11,0,1,0 69,0,72,0,42,0,37,0,29,0,23,0 19,0,75,0,53,0,51,0,13,0,83,0 38,0,68,0,15,0,2,0,3,0,7,0 56,0,63,0,71,0,31,0,67,0,17,0 77,0,48,0,84,0,18,0,26,0,10,0 46,0,14,0,8,0,60,0,50,0,35,0 58,0,22,0,49,0,43,0,85,0,74,0 20,0,21,0,47,0,24,0,78,0,73,0 23,0,51,0,34,0,80,0,62,0,55,0 54,0,30,0,59,0,70,0,42,0,57,0 72,0,37,0,81,0,16,0,9,0,36,0 27,0,52,0,32,0,11,0,79,0,41,0 66,0,33,0,64,0,25,0,76,0,65,0 28,0,39,0,75,0,45,0,29,0,44,0 61,0,40,0,6,0,1,0,69,0,19,0 12,0,4,0,5,0,13,0,82,0,3,0 68,0,7,0,22,0,17,0,23,0,47,0 18,0,51,0,72,0,67,0,46,0,59,0 9,0,77,0,58,0,71,0,60,0,15,0 42,0,36,0,11,0,53,0,8,0,66,0 39,0,38,0,30,0,75,0,10,0,52,0 80,0,79,0,48,0,21,0,81,0,57,0 44,0,78,0,41,0,85,0,69,0,40,0 82,0,76,0,73,0,62,0,24,0,14,0 37,0,43,0,63,0,25,0,34,0,74,0 16,0,5,0,50,0,45,0,83,0,56,0 1,0,28,0,6,0,35,0,12,0,54,0 33,0,26,0,70,0,49,0,13,0,27,0 32,0,20,0,84,0,19,0,31,0,64,0 29,0,65,0,4,0,61,0,55,0,2,0 40,0,51,0,46,0,82,0,85,0,48,0 69,0,9,0,38,0,67,0,73,0,43,0 81,0,77,0,79,0,44,0,83,0,53,0 3,0,74,0,23,0,17,0,59,0,35,0 15,0,16,0,12,0,30,0,26,0,71,0 66,0,31,0,52,0,62,0,78,0,10,0 41,0,47,0,36,0,75,0,34,0,57,0 65,0,18,0,32,0,70,0,45,0,14,0 84,0,7,0,5,0,2,0,39,0,11,0 28,0,64,0,49,0,24,0,68,0,42,0 22,0,19,0,29,0,76,0,50,0,8,0 37,0,58,0,56,0,6,0,27,0,55,0 25,0,54,0,61,0,13,0,21,0,72,0 63,0,1,0,60,0,80,0,4,0,20,0 33,0,17,0,41,0,66,0,46,0,26,0 85,0,7,0,31,0,9,0,70,0,75,0 48,0,65,0,73,0,83,0,68,0,59,0 12,0,8,0,47,0,18,0,14,0,84,0 53,0,71,0,27,0,49,0,29,0,35,0 15,0,62,0,74,0,40,0,42,0,56,0 19,0,72,0,52,0,4,0,28,0,55,0 6,0,64,0,21,0,67,0,13,0,11,0 10,0,45,0,3,0,69,0,63,0,36,0 22,0,16,0,38,0,80,0,33,0,34,0 58,0,60,0,82,0,54,0,81,0,23,0 51,0,57,0,61,0,5,0,76,0,44,0 77,0,32,0,37,0,20,0,78,0,43,0 25,0,24,0,2,0,50,0,79,0,30,0 1,0,31,0,15,0,39,0,59,0,53,0 14,0,4,0,68,0,26,0,9,0,11,0 48,0,52,0,36,0,7,0,12,0,49,0 54,0,75,0,73,0,71,0,66,0,84,0 67,0,40,0,55,0,22,0,27,0,57,0 65,0,82,0,8,0,44,0,38,0,37,0 46,0,42,0,10,0,45,0,58,0,21,0 23,0,70,0,61,0,34,0,28,0,50,0 69,0,33,0,35,0,20,0,5,0,79,0 47,0,64,0,2,0,51,0,77,0,63,0 83,0,32,0,74,0,29,0,6,0,60,0 24,0,13,0,76,0,16,0,78,0,1,0 43,0,39,0,72,0,80,0,41,0,18,0 19,0,17,0,3,0,30,0,85,0,81,0 56,0,62,0,82,0,25,0,84,0,57,0 10,0,53,0,67,0,68,0,12,0,33,0 38,0,14,0,35,0,64,0,40,0,15,0 42,0,45,0,79,0,47,0,31,0,34,0 66,0,20,0,83,0,61,0,9,0,74,0 4,0,58,0,24,0,51,0,8,0,39,0 13,0,50,0,77,0,27,0,48,0,72,0 29,0,3,0,41,0,60,0,56,0,25,0 19,0,11,0,71,0,2,0,80,0,46,0 36,0,32,0,30,0,65,0,23,0,69,0 54,0,76,0,63,0,73,0,55,0,26,0 85,0,5,0,37,0,28,0,59,0,52,0 17,0,70,0,6,0,43,0,44,0,16,0 78,0,22,0,18,0,81,0,75,0,49,0 62,0,21,0,33,0,1,0,7,0,77,0 74,0,24,0,67,0,11,0,48,0,53,0 23,0,13,0,8,0,15,0,10,0,20,0 32,0,79,0,40,0,3,0,12,0,61,0 60,0,55,0,85,0,35,0,36,0,31,0 70,0,52,0,71,0,83,0,47,0,25,0 69,0,22,0,59,0,4,0,64,0,56,0 75,0,65,0,78,0,43,0,5,0,46,0 51,0,14,0,42,0,6,0,63,0,16,0 68,0,66,0,39,0,57,0,37,0,19,0 28,0,81,0,2,0,26,0,62,0,41,0 27,0,50,0,38,0,1,0,18,0,54,0 7,0,80,0,29,0,30,0,58,0,73,0 76,0,17,0,45,0,21,0,9,0,82,0 34,0,49,0,84,0,72,0,44,0,15,0 6,0,59,0,77,0,22,0,8,0,52,0 56,0,23,0,43,0,53,0,79,0,14,0 71,0,64,0,61,0,37,0,41,0,10,0 1,0,20,0,26,0,65,0,51,0,3,0 11,0,24,0,55,0,75,0,60,0,62,0 40,0,31,0,29,0,54,0,68,0,16,0 27,0,28,0,9,0,84,0,47,0,46,0 33,0,73,0,2,0,42,0,81,0,32,0 45,0,48,0,19,0,38,0,78,0,70,0 7,0,72,0,34,0,82,0,66,0,5,0 25,0,85,0,44,0,4,0,83,0,67,0 69,0,12,0,57,0,49,0,17,0,21,0 30,0,13,0,18,0,63,0,58,0,35,0 39,0,50,0,80,0,36,0,74,0,76,0 10,0,11,0,43,0,20,0,54,0,55,0 46,0,60,0,70,0,37,0,79,0,1,0 24,0,40,0,75,0,72,0,33,0,23,0 9,0,44,0,34,0,52,0,29,0,64,0 19,0,7,0,65,0,77,0,67,0,42,0 5,0,13,0,31,0,30,0,14,0,22,0 76,0,81,0,56,0,38,0,28,0,85,0 18,0,6,0,3,0,73,0,53,0,57,0 80,0,26,0,59,0,69,0,50,0,82,0 78,0,2,0,83,0,12,0,58,0,27,0 66,0,62,0,48,0,39,0,71,0,16,0 15,0,51,0,47,0,17,0,25,0,32,0 35,0,21,0,74,0,36,0,4,0,84,0 41,0,8,0,61,0,45,0,63,0,68,0 49,0,76,0,3,0,46,0,6,0,31,0 ================================================ FILE: schedules/85_14.csv ================================================ 42,0,61,0,55,0,80,0,76,0,9,0 34,0,67,0,29,0,36,0,31,0,21,0 38,0,16,0,3,0,64,0,18,0,4,0 27,0,14,0,49,0,71,0,63,0,8,0 52,0,47,0,69,0,5,0,40,0,37,0 28,0,19,0,48,0,59,0,23,0,84,0 17,0,43,0,6,0,12,0,50,0,74,0 62,0,81,0,54,0,85,0,13,0,77,0 39,0,57,0,82,0,2,0,25,0,7,0 53,0,73,0,41,0,45,0,20,0,10,0 30,0,60,0,65,0,46,0,44,0,35,0 56,0,70,0,11,0,72,0,15,0,78,0 1,0,26,0,32,0,68,0,75,0,33,0 51,0,66,0,22,0,24,0,58,0,83,0 79,0,38,0,67,0,61,0,28,0,85,0 25,0,9,0,14,0,16,0,81,0,21,0 4,0,34,0,42,0,63,0,52,0,19,0 30,0,3,0,59,0,27,0,69,0,39,0 76,0,41,0,82,0,77,0,5,0,70,0 35,0,1,0,73,0,23,0,55,0,15,0 6,0,51,0,75,0,57,0,18,0,72,0 71,0,54,0,56,0,31,0,33,0,17,0 13,0,68,0,47,0,22,0,10,0,36,0 79,0,8,0,44,0,40,0,24,0,43,0 65,0,12,0,7,0,66,0,60,0,32,0 46,0,45,0,37,0,62,0,49,0,58,0 74,0,2,0,84,0,29,0,80,0,53,0 83,0,78,0,48,0,20,0,26,0,50,0 11,0,81,0,57,0,64,0,33,0,63,0 16,1,18,0,52,0,22,1,76,0,14,0 27,1,43,0,51,0,38,1,9,0,34,0 1,0,67,0,59,0,35,0,72,0,66,0 79,0,47,0,45,0,15,0,46,0,75,0 17,0,32,0,4,0,44,0,10,0,41,0 28,0,37,0,50,0,55,0,24,0,31,0 53,0,2,0,26,0,30,0,23,0,70,0 58,0,54,0,80,0,11,0,3,0,25,0 78,0,71,0,65,0,13,0,82,0,19,0 64,0,40,0,83,0,84,0,60,0,39,0 62,0,8,0,48,0,5,0,29,0,6,0 69,0,49,0,85,0,42,0,77,0,73,0 56,0,68,0,20,0,7,0,21,0,74,0 12,0,61,0,23,0,36,0,75,0,52,0 11,0,34,0,30,0,10,0,57,0,79,0 50,0,72,0,76,0,26,0,27,0,81,0 64,0,43,0,31,0,65,0,59,0,41,0 15,0,40,0,58,0,67,0,17,0,82,0 3,0,66,0,78,0,49,0,47,0,6,0 28,0,77,0,39,0,18,0,9,0,20,0 36,0,53,0,83,0,85,0,38,0,44,0 21,0,8,0,84,0,62,0,32,0,22,0 33,0,69,0,42,0,14,0,48,0,4,0 13,0,5,0,63,0,80,0,70,0,73,0 16,0,29,0,25,0,56,0,55,0,60,0 19,0,24,0,12,0,35,0,54,0,45,0 2,0,46,0,71,0,61,0,37,0,68,0 1,0,74,0,85,0,51,0,7,0,47,0 9,0,58,0,59,0,38,0,26,0,41,0 17,0,72,0,22,0,48,0,53,0,57,0 67,0,80,0,10,0,18,0,8,0,65,0 44,0,39,0,75,0,34,0,82,0,55,0 13,0,21,0,52,0,28,0,6,0,45,0 40,0,76,0,4,0,68,0,2,0,23,0 77,0,12,0,63,0,51,0,1,0,3,0 14,0,36,0,62,0,83,0,54,0,79,0 19,0,20,0,29,0,43,0,69,0,30,0 84,0,37,0,25,0,27,0,33,0,15,0 31,0,61,0,32,0,5,0,78,0,81,0 66,0,46,0,7,0,73,0,11,0,71,0 35,0,42,0,50,0,56,0,64,0,16,0 24,0,74,0,70,0,49,0,60,0,59,0 8,0,38,0,14,0,72,0,82,0,45,0 10,0,69,0,19,0,6,0,2,0,58,0 65,0,52,0,55,0,54,0,3,0,33,0 41,0,83,0,29,0,80,0,1,0,81,0 37,0,76,0,32,0,51,0,13,0,48,0 31,0,73,0,78,0,30,0,62,0,42,0 17,0,63,0,85,0,24,0,16,0,23,0 57,0,74,0,36,0,9,0,27,0,66,0 7,0,35,0,28,0,70,0,75,0,40,0 5,0,11,0,12,0,71,0,67,0,26,0 84,0,15,0,47,0,20,0,49,0,44,0 22,0,4,0,77,0,56,0,43,0,39,0 60,0,68,0,50,0,61,0,34,0,18,0 25,0,21,0,64,0,79,0,53,0,46,0 76,0,17,0,54,0,8,0,45,0,1,0 52,0,85,0,33,0,19,0,66,0,70,0 40,0,38,0,63,0,78,0,13,0,55,0 49,0,10,0,12,0,27,0,80,0,62,0 43,0,47,0,2,0,67,0,11,0,83,0 60,0,20,0,3,0,57,0,5,0,14,0 58,0,39,0,79,0,31,0,42,0,68,0 32,0,82,0,9,0,69,0,35,0,53,0 50,0,25,0,65,0,73,0,4,0,51,0 48,0,64,0,22,0,61,0,75,0,74,0 46,0,26,0,34,0,84,0,56,0,28,0 81,0,36,0,30,0,6,0,59,0,16,0 44,0,72,0,23,0,37,0,7,0,29,0 21,0,24,0,18,0,71,0,41,0,15,0 77,0,8,0,33,0,38,0,2,0,35,0 63,0,66,0,54,0,50,0,53,0,82,0 31,0,45,0,3,0,40,0,74,0,9,0 78,0,76,0,56,0,64,0,85,0,12,0 28,0,57,0,62,0,80,0,43,0,4,0 81,0,42,0,51,0,70,0,36,0,46,0 13,0,83,0,34,0,23,0,5,0,25,0 84,0,41,0,69,0,79,0,11,0,52,0 59,0,37,0,20,0,75,0,29,0,65,0 15,0,22,0,61,0,30,0,6,0,7,0 14,0,18,0,44,0,1,0,58,0,48,0 32,0,73,0,49,0,39,0,16,0,67,0 24,0,71,0,60,0,26,0,10,0,47,0 77,0,27,0,17,0,68,0,55,0,19,0 72,0,69,0,36,0,21,0,50,0,63,0 59,0,2,0,45,0,51,0,34,0,78,0 4,0,9,0,75,0,13,0,66,0,15,0 20,0,79,0,62,0,52,0,82,0,56,0 40,0,46,0,31,0,33,0,18,0,22,0 64,0,6,0,23,0,80,0,71,0,32,0 16,0,5,0,74,0,44,0,28,0,54,0 57,0,73,0,68,0,47,0,35,0,83,0 58,0,85,0,84,0,72,0,65,0,43,0 55,0,49,0,48,0,30,0,12,0,21,0 11,0,76,0,38,0,60,0,17,0,37,0 26,0,24,0,77,0,42,0,39,0,29,0 70,0,1,0,10,0,61,0,67,0,25,0 8,0,19,0,53,0,7,0,3,0,81,0 27,0,41,0,28,0,14,0,73,0,2,0 82,0,63,0,16,0,46,0,74,0,83,0 56,0,45,0,18,0,32,0,36,0,23,0 52,0,5,0,30,0,58,0,38,0,65,0 15,0,29,0,26,0,54,0,40,0,57,0 33,0,9,0,61,0,72,0,47,0,62,0 80,0,48,0,31,0,85,0,60,0,19,0 6,0,1,0,4,0,11,0,20,0,24,0 55,0,39,0,50,0,10,0,84,0,14,0 70,0,22,0,3,0,34,0,37,0,79,0 71,0,25,0,44,0,59,0,77,0,76,0 21,0,17,0,35,0,27,0,78,0,7,0 41,0,13,0,42,0,66,0,12,0,8,0 75,0,81,0,53,0,68,0,49,0,43,0 67,0,51,0,23,0,69,0,64,0,62,0 5,0,19,0,9,0,1,0,46,0,50,0 84,0,55,0,45,0,70,0,85,0,57,0 63,0,2,0,56,0,38,0,6,0,48,0 3,0,28,0,32,0,30,0,29,0,17,0 61,0,20,0,66,0,26,0,25,0,40,0 18,0,42,0,7,0,13,0,54,0,59,0 47,0,33,0,39,0,53,0,58,0,21,0 74,0,34,0,64,0,15,0,8,0,69,0 67,0,27,0,68,0,52,0,44,0,60,0 83,0,75,0,43,0,10,0,31,0,76,0 79,0,80,0,78,0,77,0,72,0,16,0 65,0,14,0,51,0,22,0,11,0,49,0 41,0,4,0,35,0,36,0,71,0,37,0 24,0,81,0,82,0,12,0,73,0,84,0 38,0,25,0,18,0,62,0,74,0,19,0 55,0,7,0,53,0,5,0,42,0,67,0 6,0,70,0,8,0,44,0,47,0,31,0 48,0,60,0,63,0,9,0,79,0,43,0 11,0,59,0,15,0,77,0,32,0,50,0 29,0,40,0,56,0,51,0,71,0,10,0 54,0,21,0,85,0,75,0,30,0,2,0 46,0,68,0,72,0,41,0,12,0,3,0 36,0,82,0,49,0,1,0,64,0,28,0 17,0,73,0,26,0,52,0,22,0,80,0 83,0,61,0,45,0,4,0,27,0,65,0 23,0,37,0,78,0,39,0,14,0,66,0 33,0,24,0,57,0,13,0,16,0,69,0 58,0,20,0,35,0,81,0,34,0,76,0 72,0,42,0,71,0,25,0,32,0,43,0 67,0,6,0,9,0,54,0,68,0,84,0 15,0,62,0,52,0,59,0,53,0,63,0 82,0,27,0,46,0,4,0,85,0,29,0 37,0,12,0,70,0,73,0,18,0,83,0 23,0,21,0,1,0,31,0,38,0,57,0 7,0,79,0,50,0,49,0,33,0,76,0 69,0,81,0,45,0,44,0,22,0,26,0 16,0,48,0,65,0,47,0,40,0,41,0 58,0,78,0,60,0,8,0,75,0,28,0 2,0,36,0,51,0,17,0,20,0,55,0 74,0,13,0,35,0,61,0,11,0,39,0 30,0,80,0,14,0,56,0,34,0,24,0 10,0,5,0,66,0,77,0,64,0,19,0 26,0,43,0,23,0,3,0,82,0,21,0 25,0,85,0,59,0,12,0,9,0,22,0 50,0,54,0,38,0,46,0,47,0,32,0 55,0,4,0,79,0,8,0,58,0,81,0 11,0,75,0,27,0,40,0,16,0,42,0 49,0,72,0,13,0,2,0,31,0,60,0 7,0,64,0,36,0,52,0,24,0,48,0 29,0,84,0,18,0,78,0,63,0,35,0 41,0,57,0,30,0,74,0,76,0,67,0 68,0,15,0,10,0,28,0,69,0,66,0 19,0,3,0,44,0,56,0,73,0,61,0 53,0,6,0,77,0,37,0,14,0,83,0 39,0,80,0,5,0,51,0,45,0,33,0 34,0,70,0,62,0,1,0,17,0,65,0 71,0,16,0,27,0,20,0,22,0,38,0 ================================================ FILE: schedules/85_2.csv ================================================ 22,0,57,0,44,0,72,0,8,0,30,0 3,0,33,0,63,0,17,0,47,0,20,0 12,0,54,0,26,0,28,0,36,0,65,0 80,0,68,0,52,0,15,0,13,0,25,0 41,0,10,0,14,0,56,0,59,0,40,0 35,0,84,0,49,0,7,0,50,0,78,0 60,0,61,0,1,0,81,0,4,0,58,0 76,0,85,0,64,0,73,0,27,0,79,0 6,0,69,0,74,0,37,0,34,0,32,0 23,0,48,0,51,0,46,0,82,0,39,0 67,0,19,0,43,0,71,0,5,0,62,0 83,0,55,0,70,0,29,0,53,0,2,0 66,0,42,0,45,0,18,0,38,0,31,0 9,0,16,0,21,0,77,0,75,0,11,0 13,0,85,0,58,0,24,0,20,0,57,0 32,0,14,0,28,0,76,0,22,0,68,0 73,0,39,0,37,0,60,0,54,0,40,0 27,0,15,0,7,0,6,0,65,0,10,0 19,0,55,0,30,0,49,0,4,0,63,0 56,0,47,0,72,0,31,0,83,0,74,0 71,0,41,0,75,0,33,0,45,0,23,0 38,0,25,0,9,0,78,0,48,0,12,0 2,0,5,0,42,0,51,0,35,0,1,0 64,0,46,0,36,0,16,0,53,0,62,0 70,0,52,0,17,0,82,0,43,0,44,0 34,0,29,0,81,0,84,0,26,0,11,0 59,0,77,0,50,0,69,0,66,0,67,0 21,0,8,0,24,0,80,0,61,0,18,0 79,0,72,1,40,1,3,0,19,1,32,1 ================================================ FILE: schedules/85_3.csv ================================================ 85,0,44,0,39,0,22,0,21,0,70,0 74,0,42,0,12,0,55,0,1,0,36,0 19,0,30,0,50,0,2,0,40,0,80,0 11,0,51,0,79,0,17,0,10,0,35,0 59,0,66,0,78,0,31,0,5,0,60,0 62,0,18,0,20,0,34,0,75,0,6,0 64,0,15,0,72,0,4,0,49,0,26,0 41,0,37,0,38,0,63,0,52,0,54,0 71,0,68,0,13,0,77,0,69,0,14,0 61,0,32,0,7,0,25,0,45,0,43,0 29,0,46,0,67,0,9,0,33,0,57,0 56,0,27,0,81,0,8,0,83,0,84,0 73,0,23,0,82,0,24,0,3,0,65,0 48,0,47,0,58,0,16,0,53,0,28,0 76,0,31,0,22,0,54,0,17,0,12,0 85,1,41,0,80,0,14,1,79,0,4,0 59,1,35,0,45,0,39,0,68,0,6,0 63,0,67,0,62,0,71,0,74,0,43,0 83,0,7,0,13,0,1,0,60,0,26,0 61,0,36,0,24,0,38,0,19,0,49,0 18,0,69,0,21,0,48,0,37,0,51,0 5,0,15,0,25,0,47,0,73,0,56,0 34,0,33,0,16,0,30,0,78,0,84,0 40,0,81,0,65,0,46,0,32,0,53,0 3,0,11,0,29,0,8,0,44,0,72,0 23,0,75,0,28,0,9,0,70,0,55,0 20,0,77,0,10,0,50,0,52,0,58,0 2,0,42,0,66,0,76,0,64,0,27,0 57,0,43,0,35,0,82,0,38,0,48,0 1,0,45,0,14,0,31,0,15,0,16,0 51,0,85,0,47,0,74,0,83,0,40,0 26,0,54,0,84,0,80,0,62,0,5,0 28,0,60,0,4,0,81,0,3,0,19,0 46,0,58,0,12,0,23,0,59,0,69,0 8,0,78,0,55,0,52,0,22,0,18,0 82,0,2,0,9,0,11,0,39,0,61,0 68,0,30,0,63,0,72,0,27,0,24,0 6,0,33,0,13,0,66,0,73,0,79,0 10,0,64,0,34,0,71,0,21,0,29,0 32,0,76,0,70,0,67,0,77,0,49,0 75,0,41,0,57,0,25,0,44,0,42,0 50,0,36,0,56,0,7,0,37,0,65,0 53,0,17,0,14,0,20,0,85,0,59,0 ================================================ FILE: schedules/85_4.csv ================================================ 42,0,31,0,46,0,5,0,53,0,56,0 7,0,1,0,82,0,18,0,45,0,70,0 39,0,80,0,10,0,40,0,2,0,62,0 60,0,78,0,38,0,34,0,24,0,36,0 55,0,4,0,16,0,28,0,32,0,85,0 30,0,41,0,72,0,19,0,64,0,37,0 57,0,20,0,15,0,83,0,81,0,52,0 43,0,61,0,84,0,68,0,9,0,12,0 27,0,26,0,77,0,63,0,76,0,13,0 48,0,29,0,69,0,75,0,22,0,17,0 21,0,47,0,33,0,51,0,79,0,14,0 66,0,54,0,65,0,67,0,11,0,58,0 50,0,74,0,44,0,49,0,3,0,6,0 73,0,35,0,23,0,25,0,8,0,59,0 84,0,2,0,20,0,71,0,64,0,24,0 19,0,16,0,80,0,81,0,31,0,43,0 61,0,72,0,52,0,46,0,76,0,70,0 12,0,69,0,33,0,13,0,7,0,4,0 32,0,62,0,45,0,75,0,77,0,11,0 78,0,17,0,5,0,27,0,58,0,41,0 82,0,28,0,38,0,25,0,15,0,39,0 55,0,48,0,79,0,42,0,50,0,73,0 40,0,71,0,49,0,53,0,57,0,37,0 51,0,68,0,54,0,35,0,36,0,56,0 63,0,8,0,74,0,47,0,9,0,85,0 34,0,83,0,59,0,10,0,44,0,66,0 1,0,67,0,23,0,29,0,3,0,26,0 18,0,6,0,14,0,65,0,22,0,30,0 21,0,39,0,43,0,60,0,4,0,27,0 64,1,70,0,75,0,33,1,78,0,53,0 76,0,5,0,11,0,79,0,19,0,49,0 15,0,17,0,80,0,51,0,73,0,71,0 40,0,9,0,46,0,54,0,59,0,69,0 10,0,29,0,57,0,74,0,45,0,68,0 47,0,7,0,37,0,65,0,32,0,31,0 13,0,56,0,30,0,60,0,28,0,48,0 35,0,63,0,67,0,16,0,44,0,18,0 22,0,77,0,12,0,23,0,24,0,42,0 81,0,3,0,82,0,14,0,85,0,34,0 38,0,2,0,58,0,52,0,21,0,1,0 62,0,26,0,50,0,72,0,8,0,84,0 25,0,83,0,41,0,61,0,55,0,36,0 6,0,66,0,47,0,20,0,80,0,70,0 18,0,28,0,51,0,69,0,37,0,76,0 45,0,64,0,23,0,16,0,65,0,39,0 9,0,71,0,60,0,77,0,35,0,33,0 12,0,19,0,34,0,54,0,57,0,48,0 52,0,53,0,22,0,13,0,67,0,59,0 75,0,50,0,5,0,63,0,83,0,21,0 3,0,8,0,7,0,66,0,55,0,27,0 49,0,32,0,68,0,30,0,20,0,46,0 25,0,58,0,24,0,72,0,43,0,79,0 29,0,14,0,36,0,44,0,42,0,2,0 41,0,40,0,73,0,38,0,81,0,74,0 11,0,85,0,31,0,78,0,1,0,84,0 6,0,10,0,4,0,82,0,17,0,26,0 61,0,56,0,64,0,62,0,15,0,33,0 ================================================ FILE: schedules/85_5.csv ================================================ 71,0,50,0,78,0,4,0,82,0,27,0 19,0,64,0,63,0,54,0,35,0,47,0 65,0,16,0,10,0,18,0,84,0,31,0 7,0,21,0,72,0,85,0,9,0,42,0 83,0,68,0,48,0,29,0,56,0,39,0 20,0,57,0,24,0,28,0,14,0,55,0 22,0,59,0,34,0,36,0,26,0,1,0 17,0,25,0,79,0,33,0,12,0,3,0 2,0,37,0,44,0,69,0,15,0,32,0 49,0,23,0,62,0,81,0,41,0,70,0 45,0,11,0,74,0,5,0,53,0,58,0 43,0,8,0,66,0,75,0,80,0,46,0 52,0,67,0,76,0,30,0,61,0,40,0 51,0,73,0,6,0,77,0,38,0,13,0 60,0,84,0,35,0,1,0,79,0,9,0 47,0,42,0,69,0,57,0,29,0,59,0 31,0,33,0,50,0,24,0,7,0,62,0 49,0,16,0,20,0,12,0,78,0,22,0 85,0,80,0,10,0,56,0,36,0,44,0 74,0,71,0,68,0,63,0,28,0,17,0 21,0,18,0,5,0,43,0,76,0,81,0 82,0,58,0,15,0,48,0,64,0,60,0 61,0,25,0,53,0,13,0,27,0,72,0 67,0,73,0,26,0,8,0,19,0,55,0 39,0,41,0,11,0,77,0,4,0,52,0 83,0,46,0,70,0,38,0,37,0,65,0 32,0,75,0,54,0,6,0,34,0,23,0 51,0,40,0,14,0,45,0,3,0,66,0 30,0,68,0,57,0,2,0,60,0,62,0 7,1,44,0,64,0,71,0,20,0,18,0 13,0,29,0,19,0,81,0,31,0,12,0 27,0,15,0,77,0,59,0,9,0,67,0 47,0,41,0,78,0,10,0,1,0,37,0 63,0,11,0,75,0,25,0,73,0,76,0 52,0,72,0,34,0,3,0,83,0,84,0 66,0,50,0,21,0,79,0,28,0,61,0 51,0,2,0,58,0,80,0,26,0,23,0 70,0,6,0,55,0,5,0,36,0,16,0 30,0,42,0,43,0,33,0,65,0,48,0 14,0,39,0,35,0,22,0,8,0,74,0 32,0,56,0,40,0,53,0,38,0,82,0 85,0,54,0,69,0,45,0,46,0,4,0 49,0,17,0,9,0,24,0,52,0,66,0 77,0,20,0,72,0,50,0,10,0,19,0 62,0,27,0,83,0,51,0,21,0,64,0 80,0,59,0,33,0,37,0,11,0,6,0 34,0,28,0,65,0,5,0,7,0,8,0 58,0,38,0,12,0,63,0,57,0,39,0 31,0,48,0,22,0,47,0,61,0,71,0 30,0,55,0,82,0,49,0,1,0,25,0 3,0,13,0,26,0,60,0,56,0,43,0 70,0,24,0,69,0,40,0,78,0,73,0 46,0,23,0,35,0,53,0,44,0,68,0 42,0,79,0,81,0,54,0,14,0,16,0 36,0,84,0,4,0,29,0,76,0,15,0 74,0,67,0,41,0,85,0,2,0,75,0 17,0,32,0,39,0,45,0,18,0,30,0 26,0,7,0,48,0,27,0,38,0,11,0 56,0,65,0,78,0,72,0,63,0,62,0 33,0,60,0,10,0,23,0,83,0,22,0 28,0,44,0,9,0,47,0,82,0,51,0 29,0,52,0,43,0,50,0,54,0,25,0 14,0,84,0,61,0,49,0,69,0,64,0 21,0,12,0,70,0,74,0,34,0,15,0 42,0,1,0,13,0,80,0,20,0,40,0 73,0,37,0,31,0,68,0,66,0,36,0 3,0,18,0,24,0,46,0,6,0,67,0 4,0,75,0,81,0,58,0,55,0,35,0 8,0,57,0,53,0,17,0,41,0,16,0 77,0,5,0,71,0,79,0,85,0,32,0 45,0,2,0,76,0,59,0,19,0,7,0 ================================================ FILE: schedules/85_6.csv ================================================ 23,0,31,0,63,0,60,0,17,0,34,0 7,0,11,0,64,0,70,0,47,0,5,0 59,0,27,0,80,0,52,0,54,0,8,0 77,0,65,0,39,0,4,0,1,0,55,0 84,0,32,0,46,0,85,0,18,0,40,0 62,0,20,0,42,0,71,0,22,0,50,0 28,0,16,0,66,0,25,0,43,0,36,0 75,0,35,0,6,0,57,0,79,0,56,0 82,0,72,0,14,0,12,0,61,0,19,0 13,0,37,0,10,0,74,0,73,0,58,0 44,0,45,0,29,0,49,0,38,0,83,0 67,0,53,0,21,0,9,0,81,0,76,0 69,0,48,0,26,0,24,0,78,0,68,0 33,0,2,0,51,0,30,0,15,0,41,0 3,0,77,0,63,0,27,0,5,0,22,0 1,0,7,0,14,0,85,0,59,0,20,0 74,0,17,0,43,0,46,0,72,0,47,0 25,0,29,0,6,0,84,0,23,0,61,0 66,0,58,0,38,0,39,0,34,0,79,0 68,0,52,0,32,0,36,0,50,0,67,0 48,0,60,0,55,0,82,0,2,0,9,0 53,0,10,0,62,0,24,0,11,0,35,0 37,0,26,0,33,0,64,0,80,0,75,0 4,0,45,0,40,0,13,0,56,0,78,0 3,0,49,0,81,0,19,0,15,0,8,0 71,0,16,0,69,0,44,0,41,0,54,0 83,0,30,0,31,0,18,0,76,0,28,0 12,0,42,0,51,0,70,0,65,0,73,0 57,0,50,0,46,0,21,0,82,0,39,0 79,0,14,0,64,0,17,0,22,0,29,0 72,0,45,0,60,0,33,0,1,0,25,0 78,0,85,0,9,0,77,0,52,0,61,0 19,0,24,0,34,0,71,0,56,0,80,0 55,0,6,0,68,0,58,0,49,0,16,0 43,0,23,0,27,0,37,0,69,0,67,0 81,0,54,0,51,0,47,0,83,0,36,0 13,0,38,0,28,0,84,0,3,0,48,0 65,0,32,0,63,0,59,0,35,0,76,0 21,0,11,0,44,0,2,0,18,0,74,0 7,0,41,0,53,0,73,0,31,0,75,0 12,0,15,0,57,0,5,0,20,0,4,0 8,0,70,0,30,0,66,0,62,0,26,0 40,0,23,0,55,0,10,0,42,0,52,0 50,0,85,0,51,0,80,0,38,0,72,0 79,0,36,0,82,0,71,0,27,0,49,0 16,0,9,0,11,0,13,0,63,0,29,0 61,0,28,0,75,0,2,0,58,0,59,0 20,0,17,0,25,0,81,0,78,0,37,0 4,0,19,0,18,0,7,0,6,0,26,0 34,0,47,0,22,0,69,0,53,0,8,0 1,0,3,0,44,0,24,0,76,0,12,0 68,0,30,0,35,0,84,0,77,0,21,0 57,0,42,0,54,0,43,0,33,0,31,0 46,0,60,0,66,0,65,0,41,0,56,0 62,0,48,0,73,0,5,0,32,0,45,0 10,0,70,0,39,0,67,0,14,0,83,0 64,0,74,0,36,0,40,0,15,0,61,0 9,0,25,0,58,0,44,0,51,0,7,0 26,0,52,0,1,0,17,0,35,0,13,0 38,0,81,0,75,0,27,0,55,0,12,0 49,0,76,0,57,0,37,0,77,0,66,0 11,0,59,0,41,0,34,0,68,0,45,0 84,0,83,0,20,0,43,0,19,0,53,0 23,0,50,0,73,0,79,0,28,0,33,0 65,0,21,0,69,0,62,0,31,0,14,0 60,0,54,0,78,0,30,0,64,0,32,0 2,0,8,0,5,0,6,0,46,0,71,0 70,0,29,0,40,0,80,0,3,0,82,0 15,0,22,0,18,0,16,0,10,0,72,0 56,0,39,0,48,0,47,0,42,0,85,0 67,0,74,0,63,0,24,0,4,0,66,0 45,0,28,0,17,0,7,0,27,0,65,0 9,0,1,0,36,0,19,0,57,0,62,0 31,0,79,0,77,0,51,0,13,0,32,0 37,0,52,0,70,0,6,0,60,0,21,0 33,0,10,0,59,0,69,0,3,0,46,0 5,0,61,0,56,0,50,0,30,0,49,0 85,0,8,0,24,0,83,0,23,0,64,0 12,0,25,0,53,0,54,0,40,0,63,0 34,0,84,0,26,0,15,0,55,0,44,0 14,0,73,0,47,0,16,0,38,0,2,0 78,0,72,0,41,0,42,0,67,0,29,0 58,0,22,0,80,0,11,0,4,0,48,0 74,0,76,0,68,0,20,0,82,0,75,0 71,0,35,0,18,0,39,0,81,0,43,0 ================================================ FILE: schedules/85_7.csv ================================================ 65,0,8,0,9,0,14,0,66,0,29,0 80,0,2,0,55,0,1,0,13,0,17,0 24,0,37,0,39,0,69,0,74,0,51,0 50,0,56,0,32,0,63,0,33,0,25,0 58,0,42,0,62,0,27,0,46,0,71,0 12,0,11,0,35,0,64,0,16,0,26,0 70,0,6,0,45,0,4,0,78,0,47,0 72,0,3,0,19,0,21,0,67,0,61,0 59,0,43,0,83,0,36,0,28,0,77,0 15,0,84,0,44,0,60,0,5,0,79,0 68,0,30,0,52,0,49,0,57,0,75,0 48,0,85,0,41,0,54,0,7,0,10,0 18,0,38,0,23,0,73,0,22,0,76,0 81,0,53,0,82,0,34,0,31,0,20,0 40,0,14,0,78,0,37,0,19,0,27,0 42,0,36,0,50,0,16,0,2,0,9,0 74,0,6,0,28,0,60,0,3,0,11,0 43,0,47,0,49,0,29,0,55,0,35,0 48,0,1,0,33,0,44,0,67,0,69,0 61,0,73,0,46,0,45,0,63,0,75,0 84,0,64,0,20,0,68,0,23,0,41,0 18,0,81,0,65,0,72,0,56,0,58,0 5,0,76,0,4,0,83,0,52,0,80,0 62,0,82,0,10,0,22,0,13,0,24,0 21,0,51,0,66,0,70,0,85,0,17,0 54,0,34,0,26,0,15,0,40,0,32,0 57,0,53,0,79,0,59,0,38,0,12,0 7,0,8,0,77,0,30,0,71,0,39,0 31,0,28,0,47,0,25,0,69,0,75,0 1,1,61,0,20,0,16,1,65,0,74,0 82,1,48,0,35,0,6,1,80,0,56,0 63,0,52,0,14,0,43,1,41,0,60,0 21,0,27,0,83,0,81,0,50,0,54,0 17,0,78,0,3,0,68,0,44,0,22,0 23,0,67,0,30,0,12,0,2,0,24,0 58,0,79,0,19,0,11,0,34,0,70,0 26,0,57,0,77,0,73,0,42,0,66,0 76,0,40,0,33,0,85,0,45,0,31,0 7,0,15,0,62,0,72,0,4,0,53,0 9,0,10,0,71,0,49,0,5,0,32,0 46,0,59,0,18,0,51,0,84,0,29,0 64,0,37,0,55,0,38,0,8,0,36,0 25,0,13,0,48,0,39,0,43,0,11,0 22,0,67,0,41,0,80,0,70,0,28,0 74,0,47,0,81,0,14,0,30,0,33,0 50,0,15,0,73,0,82,0,52,0,65,0 75,0,23,0,6,0,83,0,32,0,79,0 56,0,51,0,16,0,68,0,27,0,31,0 24,0,5,0,45,0,72,0,55,0,26,0 21,0,63,0,29,0,7,0,57,0,1,0 60,0,12,0,8,0,40,0,61,0,62,0 20,0,44,0,2,0,4,0,10,0,58,0 53,0,69,0,54,0,77,0,78,0,46,0 36,0,39,0,34,0,18,0,49,0,66,0 9,0,85,0,3,0,25,0,59,0,64,0 37,0,35,0,42,0,13,0,84,0,76,0 19,0,71,0,43,0,17,0,38,0,74,0 31,0,55,0,41,0,6,0,57,0,61,0 83,0,68,0,12,0,82,0,29,0,72,0 11,0,15,0,2,0,56,0,14,0,22,0 27,0,18,0,77,0,20,0,79,0,33,0 7,0,80,0,51,0,36,0,78,0,75,0 49,0,37,0,50,0,3,0,62,0,48,0 44,0,16,0,34,0,85,0,23,0,71,0 46,0,40,0,10,0,28,0,64,0,81,0 69,0,13,0,45,0,21,0,8,0,58,0 4,0,84,0,25,0,19,0,73,0,1,0 39,0,38,0,54,0,9,0,35,0,60,0 76,0,53,0,65,0,26,0,30,0,70,0 63,0,59,0,67,0,17,0,42,0,5,0 24,0,32,0,66,0,52,0,47,0,3,0 61,0,29,0,33,0,37,0,10,0,80,0 69,0,49,0,79,0,16,0,41,0,81,0 27,0,45,0,7,0,28,0,12,0,34,0 4,0,40,0,82,0,11,0,23,0,57,0 74,0,77,0,9,0,75,0,55,0,84,0 78,0,60,0,42,0,83,0,1,0,18,0 51,0,13,0,64,0,63,0,30,0,15,0 36,0,17,0,31,0,65,0,48,0,24,0 66,0,20,0,72,0,43,0,76,0,46,0 52,0,85,0,38,0,26,0,67,0,56,0 32,0,22,0,19,0,59,0,8,0,35,0 68,0,47,0,50,0,39,0,5,0,58,0 53,0,21,0,71,0,73,0,2,0,6,0 25,0,70,0,14,0,54,0,62,0,44,0 17,0,23,0,61,0,7,0,81,0,9,0 10,0,65,0,3,0,43,0,51,0,45,0 34,0,29,0,74,0,78,0,41,0,76,0 82,0,60,0,75,0,66,0,27,0,59,0 39,0,16,0,55,0,32,0,4,0,67,0 85,0,80,0,57,0,50,0,69,0,20,0 14,0,1,0,58,0,35,0,53,0,24,0 25,0,6,0,12,0,49,0,15,0,77,0 33,0,26,0,46,0,36,0,68,0,19,0 73,0,56,0,30,0,44,0,83,0,37,0 84,0,11,0,62,0,63,0,47,0,38,0 31,0,52,0,22,0,64,0,42,0,21,0 54,0,28,0,13,0,79,0,72,0,71,0 2,0,70,0,5,0,48,0,18,0,40,0 8,0,1,0,82,0,16,0,6,0,43,0 ================================================ FILE: schedules/85_8.csv ================================================ 33,0,71,0,63,0,37,0,5,0,77,0 81,0,44,0,16,0,67,0,49,0,43,0 41,0,32,0,58,0,55,0,7,0,40,0 31,0,27,0,10,0,76,0,53,0,61,0 4,0,47,0,68,0,57,0,66,0,85,0 79,0,39,0,3,0,74,0,18,0,21,0 75,0,26,0,38,0,25,0,1,0,69,0 22,0,56,0,24,0,80,0,65,0,84,0 8,0,6,0,23,0,14,0,35,0,12,0 2,0,29,0,70,0,52,0,17,0,20,0 13,0,54,0,59,0,78,0,50,0,28,0 51,0,45,0,83,0,60,0,48,0,73,0 42,0,30,0,46,0,82,0,62,0,72,0 19,0,64,0,9,0,36,0,15,0,34,0 11,0,49,0,76,0,32,0,3,0,33,0 18,0,85,0,63,0,69,0,67,0,53,0 16,0,7,0,70,0,39,0,23,0,77,0 22,0,28,0,1,0,8,0,61,0,29,0 84,0,81,0,51,0,52,0,26,0,59,0 71,0,65,0,74,0,6,0,43,0,47,0 57,0,79,0,62,0,40,0,36,0,44,0 54,0,34,0,20,0,56,0,31,0,30,0 35,0,66,0,9,0,10,0,50,0,75,0 46,0,27,0,78,0,11,0,2,0,83,0 25,0,41,0,72,0,68,0,45,0,64,0 21,0,38,0,17,0,15,0,42,0,24,0 14,0,80,0,55,0,13,0,4,0,48,0 58,0,19,0,82,0,60,0,37,0,12,0 5,0,16,0,36,0,73,0,3,0,1,0 23,1,59,0,74,0,66,1,30,0,33,0 34,1,69,0,70,0,27,1,84,0,35,0 9,0,51,0,44,0,6,0,85,0,25,0 26,0,2,0,43,0,64,0,57,0,8,0 68,0,14,0,29,0,24,0,71,0,79,0 18,0,62,0,12,0,41,0,56,0,83,0 75,0,81,0,4,0,17,0,82,0,28,0 61,0,5,0,48,0,50,0,52,0,58,0 80,0,47,0,39,0,63,0,10,0,49,0 53,0,19,0,40,0,20,0,46,0,38,0 15,0,60,0,55,0,22,0,54,0,72,0 13,0,73,0,7,0,67,0,37,0,76,0 78,0,45,0,31,0,21,0,32,0,77,0 65,0,42,0,68,0,11,0,70,0,81,0 85,0,83,0,14,0,17,0,36,0,50,0 29,0,82,0,44,0,56,0,5,0,39,0 26,0,3,0,48,0,66,0,19,0,41,0 60,0,18,0,59,0,75,0,43,0,80,0 28,0,64,0,84,0,49,0,40,0,37,0 51,0,32,0,46,0,8,0,13,0,10,0 74,0,53,0,45,0,34,0,4,0,12,0 2,0,73,0,30,0,79,0,15,0,47,0 72,0,21,0,57,0,1,0,27,0,58,0 7,0,33,0,61,0,25,0,54,0,65,0 52,0,71,0,69,0,23,0,42,0,78,0 24,0,55,0,67,0,20,0,77,0,6,0 62,0,63,0,31,0,35,0,38,0,11,0 22,0,16,0,41,0,76,0,9,0,46,0 17,0,39,0,13,0,26,0,30,0,68,0 70,0,37,0,59,0,3,0,56,0,57,0 15,0,1,0,66,0,14,0,43,0,45,0 83,0,61,0,84,0,4,0,23,0,44,0 21,0,85,0,49,0,55,0,75,0,5,0 52,0,11,0,12,0,7,0,47,0,28,0 72,0,10,0,38,0,36,0,78,0,18,0 20,0,65,0,50,0,60,0,32,0,69,0 25,0,82,0,71,0,22,0,31,0,2,0 63,0,74,0,24,0,16,0,27,0,19,0 35,0,48,0,29,0,64,0,42,0,76,0 73,0,8,0,77,0,9,0,62,0,54,0 80,0,6,0,53,0,79,0,81,0,58,0 33,0,34,0,1,0,51,0,67,0,40,0 39,0,69,0,66,0,55,0,12,0,61,0 20,0,82,0,10,0,59,0,7,0,83,0 31,0,26,0,46,0,65,0,37,0,85,0 4,0,43,0,38,0,32,0,27,0,29,0 30,0,70,0,50,0,49,0,45,0,24,0 23,0,56,0,76,0,79,0,75,0,19,0 8,0,34,0,11,0,71,0,21,0,48,0 73,0,81,0,57,0,78,0,63,0,41,0 60,0,42,0,13,0,36,0,6,0,33,0 54,0,47,0,51,0,58,0,16,0,14,0 68,0,5,0,62,0,53,0,84,0,2,0 52,0,40,0,15,0,25,0,18,0,35,0 3,0,80,0,67,0,9,0,28,0,72,0 17,0,77,0,22,0,74,0,44,0,64,0 27,0,65,0,12,0,59,0,79,0,48,0 49,0,4,0,60,0,1,0,71,0,46,0 43,0,36,0,76,0,63,0,70,0,51,0 2,0,14,0,75,0,34,0,41,0,39,0 55,0,25,0,37,0,62,0,47,0,81,0 68,0,21,0,67,0,10,0,54,0,23,0 84,0,73,0,50,0,33,0,82,0,38,0 17,0,7,0,5,0,19,0,8,0,80,0 32,0,24,0,72,0,52,0,53,0,66,0 28,0,57,0,77,0,15,0,83,0,69,0 35,0,58,0,78,0,30,0,3,0,44,0 40,0,9,0,29,0,13,0,31,0,74,0 22,0,42,0,45,0,18,0,26,0,20,0 61,0,56,0,64,0,85,0,16,0,11,0 6,0,54,0,1,0,63,0,48,0,84,0 53,0,36,0,82,0,23,0,65,0,49,0 8,0,66,0,76,0,38,0,81,0,60,0 59,0,67,0,35,0,46,0,47,0,5,0 27,0,3,0,77,0,75,0,68,0,51,0 30,0,52,0,21,0,22,0,43,0,19,0 25,0,57,0,32,0,16,0,42,0,34,0 69,0,56,0,4,0,2,0,72,0,7,0 55,0,11,0,79,0,9,0,45,0,17,0 6,0,15,0,37,0,41,0,29,0,50,0 61,0,20,0,78,0,62,0,14,0,74,0 28,0,10,0,26,0,33,0,44,0,70,0 12,0,80,0,40,0,85,0,71,0,73,0 83,0,39,0,64,0,31,0,58,0,24,0 13,0,23,0,34,0,18,0,66,0,27,0 ================================================ FILE: schedules/85_9.csv ================================================ 15,0,23,0,67,0,8,0,3,0,78,0 35,0,5,0,21,0,33,0,49,0,85,0 34,0,58,0,4,0,17,0,73,0,37,0 84,0,7,0,26,0,36,0,69,0,42,0 40,0,56,0,48,0,75,0,43,0,83,0 46,0,25,0,63,0,32,0,65,0,76,0 22,0,79,0,47,0,50,0,80,0,18,0 39,0,13,0,11,0,51,0,60,0,2,0 53,0,70,0,1,0,72,0,45,0,74,0 77,0,57,0,27,0,44,0,41,0,10,0 14,0,6,0,55,0,38,0,62,0,31,0 81,0,61,0,28,0,19,0,20,0,54,0 29,0,24,0,71,0,9,0,82,0,30,0 68,0,12,0,64,0,52,0,59,0,66,0 16,0,15,0,26,0,17,0,46,0,22,0 69,0,3,0,47,0,70,0,51,0,56,0 5,0,45,0,8,0,80,0,58,0,41,0 57,0,37,0,34,0,67,0,2,0,38,0 55,0,53,0,78,0,18,0,77,0,28,0 4,0,25,0,79,0,13,0,33,0,14,0 31,0,76,0,83,0,24,0,60,0,66,0 30,0,44,0,54,0,40,0,1,0,59,0 62,0,32,0,68,0,61,0,48,0,11,0 85,0,6,0,65,0,12,0,20,0,73,0 35,0,23,0,42,0,72,0,39,0,19,0 71,0,27,0,74,0,43,0,63,0,84,0 50,0,16,0,82,0,49,0,64,0,10,0 21,0,7,0,75,0,81,0,52,0,29,0 9,0,46,0,57,0,36,0,55,0,45,0 54,1,62,0,24,0,80,1,79,0,37,0 38,1,1,0,17,0,76,0,11,0,12,0 83,0,47,0,32,0,26,0,44,0,58,0 40,0,39,0,67,0,33,0,27,0,61,0 77,0,48,0,85,0,84,0,70,0,34,0 19,0,22,0,64,0,43,0,78,0,21,0 23,0,73,0,7,0,16,0,5,0,9,0 42,0,49,0,25,0,3,0,41,0,28,0 66,0,74,0,6,0,36,0,82,0,51,0 60,0,65,0,81,0,14,0,53,0,50,0 30,0,56,0,8,0,68,0,4,0,35,0 13,0,10,0,63,0,15,0,52,0,72,0 20,0,69,0,59,0,29,0,18,0,31,0 71,0,2,0,1,0,75,0,22,0,33,0 25,0,54,0,9,0,64,0,48,0,57,0 78,0,42,0,70,0,66,0,73,0,61,0 16,0,74,0,21,0,40,0,14,0,77,0 53,0,67,0,56,0,62,0,49,0,76,0 38,0,39,0,46,0,81,0,41,0,83,0 52,0,45,0,4,0,6,0,24,0,84,0 71,0,11,0,10,0,47,0,5,0,55,0 27,0,20,0,51,0,75,0,80,0,68,0 65,0,26,0,59,0,13,0,3,0,19,0 34,0,44,0,28,0,15,0,31,0,7,0 12,0,2,0,79,0,82,0,69,0,60,0 23,0,37,0,36,0,30,0,18,0,32,0 43,0,50,0,17,0,8,0,72,0,85,0 58,0,35,0,40,0,29,0,63,0,62,0 22,0,54,0,76,0,5,0,27,0,70,0 26,0,78,0,52,0,49,0,57,0,74,0 53,0,38,0,51,0,48,0,10,0,4,0 81,0,31,0,82,0,73,0,1,0,68,0 21,0,83,0,6,0,37,0,71,0,15,0 14,0,18,0,8,0,19,0,9,0,84,0 23,0,44,0,2,0,25,0,29,0,85,0 12,0,67,0,13,0,46,0,58,0,42,0 50,0,11,0,33,0,28,0,7,0,59,0 17,0,56,0,24,0,64,0,41,0,63,0 79,0,3,0,36,0,20,0,16,0,43,0 60,0,61,0,72,0,80,0,34,0,55,0 65,0,75,0,77,0,47,0,30,0,39,0 35,0,32,0,45,0,66,0,69,0,27,0 9,0,51,0,76,0,40,0,15,0,85,0 29,0,50,0,83,0,57,0,13,0,70,0 10,0,17,0,6,0,78,0,54,0,2,0 26,0,38,0,56,0,20,0,82,0,25,0 55,0,33,0,84,0,3,0,64,0,23,0 28,0,47,0,73,0,8,0,48,0,74,0 37,0,75,0,60,0,44,0,46,0,35,0 66,0,30,0,34,0,21,0,79,0,53,0 62,0,18,0,16,0,45,0,39,0,12,0 63,0,36,0,5,0,81,0,67,0,68,0 58,0,7,0,1,0,77,0,24,0,19,0 43,0,80,0,14,0,59,0,42,0,32,0 41,0,71,0,52,0,69,0,61,0,65,0 72,0,49,0,22,0,31,0,11,0,4,0 20,0,70,0,33,0,60,0,30,0,10,0 84,0,28,0,17,0,79,0,51,0,35,0 81,0,13,0,76,0,6,0,23,0,48,0 19,0,34,0,83,0,5,0,62,0,74,0 47,0,25,0,27,0,53,0,37,0,59,0 80,0,9,0,12,0,63,0,26,0,21,0 41,0,55,0,85,0,67,0,32,0,1,0 29,0,49,0,46,0,8,0,66,0,77,0 36,0,73,0,52,0,14,0,39,0,22,0 4,0,18,0,64,0,7,0,2,0,40,0 43,0,15,0,68,0,54,0,69,0,58,0 45,0,61,0,38,0,50,0,75,0,3,0 78,0,11,0,72,0,24,0,44,0,65,0 56,0,31,0,57,0,71,0,16,0,42,0 82,0,46,0,85,0,27,0,28,0,62,0 8,0,37,0,22,0,51,0,81,0,12,0 47,0,20,0,35,0,34,0,1,0,13,0 80,0,69,0,76,0,73,0,64,0,30,0 84,0,40,0,60,0,38,0,25,0,5,0 54,0,33,0,72,0,36,0,83,0,77,0 59,0,10,0,61,0,23,0,56,0,74,0 63,0,45,0,48,0,79,0,78,0,7,0 58,0,3,0,82,0,18,0,57,0,21,0 31,0,32,0,2,0,50,0,9,0,52,0 41,0,16,0,19,0,6,0,11,0,53,0 66,0,44,0,67,0,4,0,39,0,71,0 49,0,70,0,24,0,14,0,75,0,15,0 29,0,42,0,55,0,68,0,65,0,17,0 43,0,10,0,37,0,26,0,28,0,76,0 64,0,36,0,13,0,27,0,8,0,38,0 21,0,73,0,60,0,32,0,56,0,54,0 31,0,30,0,58,0,78,0,51,0,25,0 11,0,80,0,82,0,83,0,35,0,67,0 19,0,52,0,70,0,79,0,40,0,46,0 59,0,63,0,75,0,16,0,4,0,55,0 1,0,18,0,61,0,49,0,43,0,6,0 2,0,20,0,77,0,15,0,45,0,42,0 3,0,74,0,68,0,85,0,22,0,24,0 81,0,72,0,62,0,47,0,57,0,84,0 12,0,41,0,50,0,23,0,34,0,71,0 33,0,9,0,69,0,53,0,44,0,17,0 5,0,39,0,48,0,14,0,29,0,26,0 66,0,65,0,80,0,7,0,54,0,38,0 ================================================ FILE: schedules/86_1.csv ================================================ 15,0,12,0,52,0,56,0,33,0,50,0 25,0,46,0,40,0,64,0,38,0,54,0 68,0,58,0,35,0,37,0,85,0,48,0 28,0,1,0,32,0,26,0,42,0,65,0 74,0,69,0,43,0,13,0,45,0,75,0 72,0,41,0,82,0,76,0,31,0,20,0 61,0,18,0,57,0,44,0,10,0,19,0 51,0,17,0,9,0,80,0,70,0,3,0 7,0,27,0,73,0,39,0,67,0,62,0 16,0,59,0,78,0,83,0,47,0,24,0 77,0,29,0,8,0,63,0,11,0,5,0 6,0,66,0,84,0,30,0,23,0,60,0 71,0,49,0,79,0,81,0,36,0,53,0 4,0,14,0,22,0,21,0,55,0,86,0 2,0,20,1,10,1,34,0,1,1,33,1 ================================================ FILE: schedules/86_10.csv ================================================ 86,0,6,0,61,0,10,0,58,0,4,0 62,0,5,0,17,0,42,0,22,0,85,0 49,0,52,0,54,0,30,0,3,0,24,0 68,0,28,0,81,0,46,0,63,0,18,0 65,0,16,0,31,0,64,0,40,0,14,0 25,0,77,0,15,0,1,0,70,0,45,0 57,0,71,0,76,0,83,0,44,0,9,0 84,0,51,0,33,0,34,0,82,0,38,0 8,0,41,0,35,0,26,0,27,0,13,0 47,0,66,0,79,0,72,0,69,0,74,0 55,0,2,0,48,0,19,0,75,0,67,0 21,0,39,0,32,0,53,0,43,0,37,0 60,0,23,0,59,0,7,0,73,0,36,0 56,0,29,0,20,0,80,0,12,0,50,0 78,0,38,0,64,0,11,0,28,0,71,0 84,0,6,0,14,0,77,0,57,0,30,0 42,0,33,0,69,0,58,0,49,0,41,0 51,0,55,0,16,0,74,0,52,0,35,0 31,0,66,0,43,0,13,0,17,0,70,0 53,0,75,0,34,0,22,0,23,0,26,0 50,0,60,0,3,0,44,0,19,0,40,0 76,0,82,0,81,0,37,0,72,0,8,0 21,0,4,0,86,0,47,0,45,0,59,0 27,0,36,0,78,0,5,0,63,0,79,0 83,0,24,0,12,0,61,0,39,0,48,0 85,0,65,0,68,0,2,0,56,0,25,0 1,0,62,0,15,0,18,0,7,0,20,0 54,0,73,0,11,0,67,0,10,0,29,0 80,0,46,0,14,0,9,0,32,0,52,0 6,1,72,0,21,0,8,1,70,0,49,0 3,1,4,0,5,0,55,1,57,0,82,0 13,0,19,0,22,0,36,0,74,0,77,0 59,0,85,0,78,0,47,0,53,0,61,0 23,0,43,0,27,0,76,0,62,0,2,0 65,0,10,0,51,0,83,0,20,0,79,0 45,0,80,0,7,0,41,0,71,0,16,0 63,0,44,0,38,0,12,0,35,0,30,0 34,0,9,0,39,0,58,0,60,0,25,0 84,0,68,0,29,0,31,0,24,0,67,0 33,0,26,0,37,0,56,0,73,0,18,0 64,0,1,0,11,0,50,0,66,0,46,0 75,0,48,0,28,0,54,0,42,0,15,0 32,0,81,0,40,0,17,0,69,0,86,0 62,0,38,0,10,0,57,0,16,0,53,0 36,0,30,0,4,0,78,0,8,0,43,0 23,0,58,0,72,0,24,0,68,0,35,0 59,0,3,0,14,0,71,0,79,0,22,0 19,0,61,0,18,0,49,0,29,0,64,0 13,0,63,0,83,0,47,0,80,0,15,0 66,0,77,0,7,0,9,0,56,0,86,0 42,0,41,0,44,0,31,0,55,0,81,0 51,0,48,0,45,0,11,0,37,0,60,0 75,0,20,0,70,0,5,0,33,0,32,0 39,0,82,0,65,0,69,0,54,0,46,0 52,0,67,0,27,0,25,0,50,0,6,0 12,0,76,0,17,0,21,0,84,0,26,0 28,0,85,0,74,0,73,0,34,0,40,0 1,0,58,0,36,0,2,0,44,0,80,0 86,0,8,0,19,0,51,0,31,0,57,0 81,0,71,0,47,0,49,0,60,0,66,0 29,0,45,0,32,0,82,0,23,0,78,0 9,0,68,0,64,0,75,0,59,0,30,0 72,0,63,0,61,0,37,0,20,0,3,0 77,0,50,0,26,0,48,0,85,0,38,0 42,0,76,0,46,0,4,0,67,0,53,0 33,0,13,0,14,0,28,0,62,0,55,0 1,0,73,0,22,0,41,0,52,0,21,0 74,0,34,0,12,0,6,0,70,0,65,0 18,0,17,0,83,0,25,0,35,0,54,0 10,0,40,0,79,0,43,0,24,0,56,0 16,0,2,0,15,0,39,0,84,0,5,0 69,0,27,0,68,0,11,0,7,0,61,0 58,0,76,0,77,0,51,0,32,0,28,0 67,0,26,0,60,0,82,0,80,0,64,0 72,0,13,0,34,0,29,0,42,0,71,0 44,0,66,0,62,0,4,0,52,0,75,0 57,0,78,0,20,0,40,0,21,0,35,0 24,0,8,0,50,0,53,0,65,0,45,0 59,0,56,0,70,0,83,0,19,0,46,0 30,0,7,0,22,0,55,0,10,0,39,0 63,0,25,0,73,0,43,0,69,0,16,0 48,0,31,0,5,0,47,0,18,0,6,0 15,0,14,0,23,0,74,0,11,0,17,0 41,0,2,0,37,0,79,0,9,0,38,0 86,0,27,0,49,0,54,0,1,0,84,0 33,0,3,0,12,0,81,0,85,0,36,0 75,0,39,0,46,0,71,0,40,0,51,0 8,0,61,0,80,0,77,0,73,0,42,0 6,0,29,0,28,0,20,0,44,0,22,0 69,0,23,0,5,0,83,0,60,0,30,0 65,0,58,0,48,0,76,0,7,0,78,0 79,0,49,0,19,0,16,0,26,0,32,0 34,0,3,0,11,0,86,0,43,0,35,0 45,0,85,0,52,0,84,0,18,0,13,0 55,0,37,0,70,0,68,0,36,0,10,0 53,0,12,0,25,0,66,0,72,0,2,0 24,0,64,0,4,0,41,0,33,0,15,0 82,0,14,0,31,0,21,0,56,0,27,0 54,0,74,0,57,0,63,0,50,0,59,0 47,0,67,0,38,0,1,0,17,0,9,0 62,0,45,0,39,0,81,0,6,0,73,0 18,0,70,0,86,0,42,0,23,0,79,0 13,0,30,0,53,0,58,0,16,0,20,0 8,0,52,0,71,0,48,0,68,0,33,0 11,0,75,0,41,0,12,0,82,0,77,0 40,0,4,0,55,0,83,0,27,0,29,0 78,0,37,0,46,0,17,0,24,0,57,0 85,0,67,0,72,0,43,0,7,0,51,0 54,0,19,0,80,0,81,0,34,0,14,0 26,0,9,0,5,0,28,0,1,0,65,0 64,0,21,0,74,0,25,0,10,0,44,0 84,0,47,0,60,0,3,0,56,0,62,0 76,0,69,0,38,0,31,0,59,0,36,0 66,0,35,0,22,0,32,0,15,0,61,0 50,0,49,0,55,0,2,0,63,0,17,0 57,0,18,0,58,0,12,0,27,0,75,0 29,0,1,0,79,0,8,0,39,0,85,0 52,0,81,0,7,0,5,0,64,0,34,0 43,0,42,0,84,0,9,0,20,0,19,0 83,0,36,0,28,0,41,0,45,0,72,0 25,0,24,0,22,0,11,0,26,0,86,0 78,0,10,0,2,0,77,0,3,0,31,0 6,0,63,0,40,0,66,0,76,0,23,0 56,0,54,0,32,0,38,0,4,0,13,0 30,0,71,0,74,0,67,0,62,0,82,0 50,0,51,0,73,0,14,0,68,0,47,0 49,0,44,0,59,0,37,0,65,0,15,0 35,0,70,0,53,0,80,0,69,0,48,0 61,0,46,0,16,0,60,0,21,0,33,0 77,0,20,0,39,0,31,0,52,0,23,0 12,0,9,0,40,0,22,0,8,0,54,0 24,0,71,0,32,0,18,0,36,0,55,0 73,0,27,0,17,0,72,0,64,0,3,0 56,0,67,0,44,0,78,0,45,0,34,0 79,0,7,0,37,0,84,0,25,0,28,0 53,0,1,0,83,0,13,0,6,0,68,0 63,0,11,0,21,0,19,0,62,0,58,0 74,0,38,0,80,0,49,0,5,0,46,0 57,0,47,0,43,0,65,0,29,0,33,0 51,0,81,0,2,0,70,0,26,0,4,0 82,0,16,0,66,0,42,0,59,0,48,0 60,0,35,0,10,0,75,0,85,0,14,0 30,0,86,0,41,0,76,0,50,0,61,0 15,0,6,0,3,0,69,0,8,0,55,0 ================================================ FILE: schedules/86_11.csv ================================================ 84,0,44,0,21,0,48,0,29,0,7,0 54,0,12,0,78,0,5,0,77,0,75,0 20,0,76,0,56,0,11,0,52,0,86,0 65,0,24,0,32,0,13,0,71,0,28,0 34,0,51,0,15,0,27,0,19,0,59,0 43,0,45,0,30,0,80,0,47,0,58,0 50,0,64,0,2,0,22,0,8,0,70,0 85,0,67,0,79,0,62,0,73,0,10,0 17,0,26,0,83,0,69,0,82,0,38,0 40,0,9,0,60,0,1,0,4,0,61,0 39,0,37,0,49,0,46,0,3,0,25,0 42,0,68,0,53,0,66,0,41,0,72,0 81,0,23,0,35,0,31,0,55,0,36,0 14,0,63,0,57,0,6,0,16,0,18,0 74,0,24,0,86,0,33,0,8,0,10,0 44,0,38,0,50,0,47,0,65,0,13,0 51,0,80,0,61,0,28,0,84,0,64,0 59,0,76,0,45,0,7,0,5,0,83,0 3,0,52,0,48,0,62,0,19,0,46,0 36,0,71,0,41,0,9,0,49,0,58,0 81,0,22,0,15,0,53,0,26,0,60,0 42,0,63,0,20,0,35,0,25,0,67,0 72,0,31,0,85,0,11,0,54,0,40,0 34,0,39,0,69,0,30,0,79,0,78,0 68,0,21,0,70,0,77,0,14,0,55,0 66,0,6,0,27,0,43,0,56,0,74,0 57,0,2,0,75,0,73,0,23,0,17,0 12,0,82,0,4,0,33,0,32,0,16,0 29,0,1,0,42,0,18,0,37,0,65,0 61,1,8,0,19,0,63,1,47,0,11,0 13,0,3,0,5,0,80,0,9,0,31,0 60,0,76,0,44,0,85,0,78,0,45,0 24,0,58,0,79,0,56,0,46,0,15,0 68,0,10,0,23,0,7,0,52,0,69,0 27,0,48,0,75,0,26,0,49,0,67,0 71,0,55,0,30,0,22,0,29,0,59,0 84,0,86,0,1,0,73,0,16,0,77,0 62,0,41,0,50,0,6,0,34,0,33,0 83,0,72,0,4,0,28,0,18,0,35,0 14,0,17,0,81,0,43,0,32,0,64,0 2,0,54,0,82,0,53,0,39,0,74,0 12,0,36,0,25,0,38,0,66,0,70,0 20,0,51,0,57,0,40,0,37,0,21,0 47,0,61,0,75,0,69,0,22,0,76,0 65,0,19,0,1,0,56,0,55,0,41,0 35,0,13,0,58,0,27,0,77,0,52,0 85,0,80,0,83,0,6,0,81,0,32,0 64,0,14,0,74,0,11,0,53,0,44,0 60,0,23,0,28,0,39,0,63,0,50,0 51,0,46,0,54,0,29,0,86,0,9,0 72,0,59,0,78,0,57,0,25,0,10,0 17,0,45,0,18,0,34,0,68,0,84,0 42,0,8,0,40,0,79,0,71,0,62,0 5,0,36,0,48,0,4,0,24,0,73,0 21,0,26,0,43,0,12,0,31,0,2,0 67,0,38,0,7,0,82,0,3,0,15,0 70,0,33,0,30,0,20,0,49,0,66,0 16,0,47,0,41,0,37,0,74,0,23,0 68,0,83,0,50,0,11,0,78,0,51,0 53,0,29,0,27,0,80,0,62,0,63,0 32,0,75,0,14,0,36,0,84,0,56,0 4,0,46,0,2,0,34,0,10,0,81,0 67,0,18,0,8,0,39,0,13,0,17,0 59,0,70,0,35,0,61,0,24,0,60,0 58,0,12,0,7,0,69,0,40,0,64,0 9,0,37,0,28,0,30,0,19,0,26,0 33,0,15,0,48,0,1,0,76,0,43,0 57,0,49,0,5,0,38,0,86,0,85,0 77,0,31,0,20,0,22,0,65,0,79,0 42,0,73,0,6,0,82,0,45,0,55,0 44,0,66,0,25,0,16,0,54,0,52,0 3,0,21,0,74,0,71,0,72,0,60,0 24,0,78,0,36,0,63,0,64,0,19,0 41,0,61,0,10,0,12,0,18,0,30,0 49,0,15,0,85,0,50,0,17,0,29,0 33,0,39,0,9,0,57,0,68,0,81,0 37,0,86,0,53,0,34,0,67,0,48,0 73,0,59,0,52,0,14,0,8,0,80,0 65,0,26,0,45,0,51,0,23,0,70,0 1,0,13,0,7,0,72,0,20,0,2,0 16,0,62,0,31,0,83,0,56,0,47,0 79,0,43,0,11,0,35,0,75,0,3,0 44,0,55,0,40,0,32,0,27,0,5,0 82,0,77,0,46,0,28,0,66,0,69,0 58,0,38,0,22,0,21,0,54,0,42,0 84,0,71,0,4,0,76,0,6,0,25,0 49,0,13,0,81,0,45,0,63,0,1,0 31,0,50,0,52,0,18,0,59,0,74,0 86,0,62,0,23,0,61,0,15,0,12,0 9,0,17,0,16,0,7,0,53,0,35,0 39,0,77,0,29,0,27,0,72,0,24,0 54,0,48,0,30,0,83,0,70,0,57,0 33,0,69,0,67,0,14,0,71,0,51,0 40,0,20,0,75,0,38,0,68,0,6,0 55,0,76,0,26,0,58,0,34,0,3,0 21,0,64,0,66,0,47,0,4,0,85,0 46,0,84,0,43,0,65,0,8,0,78,0 22,0,11,0,73,0,37,0,32,0,10,0 28,0,44,0,56,0,2,0,42,0,36,0 25,0,80,0,82,0,41,0,60,0,79,0 19,0,18,0,69,0,5,0,53,0,20,0 62,0,49,0,54,0,59,0,24,0,68,0 45,0,71,0,64,0,75,0,16,0,15,0 72,0,6,0,9,0,12,0,8,0,48,0 3,0,40,0,84,0,66,0,63,0,83,0 61,0,33,0,37,0,44,0,58,0,31,0 78,0,86,0,70,0,4,0,17,0,42,0 29,0,5,0,47,0,2,0,60,0,14,0 56,0,73,0,51,0,39,0,38,0,35,0 80,0,26,0,10,0,77,0,76,0,50,0 27,0,1,0,11,0,30,0,36,0,21,0 22,0,32,0,41,0,67,0,46,0,57,0 79,0,28,0,7,0,55,0,74,0,81,0 13,0,23,0,19,0,85,0,43,0,25,0 52,0,34,0,72,0,65,0,82,0,61,0 14,0,58,0,83,0,20,0,12,0,39,0 51,0,76,0,38,0,31,0,8,0,60,0 84,0,10,0,47,0,42,0,35,0,49,0 78,0,44,0,18,0,9,0,73,0,15,0 77,0,74,0,30,0,75,0,4,0,63,0 11,0,69,0,55,0,48,0,16,0,13,0 25,0,62,0,28,0,17,0,22,0,1,0 67,0,54,0,65,0,36,0,40,0,80,0 50,0,34,0,43,0,24,0,7,0,57,0 52,0,26,0,6,0,79,0,64,0,5,0 32,0,19,0,66,0,2,0,45,0,86,0 71,0,85,0,68,0,37,0,82,0,27,0 33,0,46,0,23,0,53,0,21,0,59,0 81,0,56,0,29,0,3,0,41,0,70,0 83,0,13,0,15,0,36,0,61,0,74,0 20,0,38,0,16,0,80,0,28,0,34,0 57,0,55,0,60,0,49,0,52,0,12,0 47,0,7,0,42,0,26,0,32,0,39,0 65,0,25,0,31,0,14,0,86,0,30,0 11,0,59,0,77,0,9,0,67,0,2,0 6,0,17,0,3,0,44,0,51,0,24,0 18,0,56,0,48,0,23,0,40,0,82,0 69,0,63,0,43,0,73,0,54,0,41,0 70,0,5,0,10,0,1,0,58,0,71,0 4,0,79,0,53,0,27,0,45,0,50,0 64,0,35,0,68,0,76,0,46,0,29,0 8,0,62,0,37,0,81,0,66,0,75,0 22,0,85,0,19,0,72,0,33,0,84,0 21,0,7,0,61,0,78,0,56,0,25,0 40,0,86,0,41,0,13,0,26,0,59,0 83,0,34,0,71,0,77,0,44,0,23,0 36,0,10,0,16,0,39,0,51,0,43,0 65,0,12,0,73,0,47,0,68,0,3,0 4,0,57,0,80,0,42,0,15,0,11,0 2,0,63,0,38,0,37,0,79,0,72,0 18,0,60,0,27,0,33,0,64,0,54,0 67,0,31,0,29,0,58,0,19,0,6,0 24,0,53,0,1,0,52,0,85,0,75,0 32,0,74,0,9,0,70,0,76,0,62,0 30,0,5,0,82,0,81,0,50,0,84,0 35,0,22,0,14,0,78,0,66,0,48,0 69,0,49,0,45,0,21,0,28,0,8,0 17,0,46,0,63,0,55,0,20,0,61,0 ================================================ FILE: schedules/86_12.csv ================================================ 13,0,65,0,15,0,32,0,8,0,36,0 54,0,16,0,83,0,28,0,69,0,4,0 75,0,44,0,27,0,42,0,66,0,58,0 79,0,40,0,45,0,84,0,7,0,72,0 37,0,62,0,67,0,78,0,43,0,53,0 71,0,9,0,47,0,74,0,22,0,33,0 46,0,86,0,30,0,17,0,52,0,3,0 19,0,10,0,60,0,82,0,35,0,57,0 29,0,51,0,64,0,41,0,81,0,80,0 21,0,1,0,34,0,38,0,20,0,26,0 12,0,5,0,25,0,31,0,85,0,50,0 14,0,49,0,6,0,23,0,76,0,2,0 61,0,59,0,70,0,55,0,68,0,73,0 77,0,48,0,56,0,39,0,18,0,24,0 63,0,22,0,44,0,11,0,40,0,69,0 47,0,75,0,52,0,15,0,62,0,7,0 80,0,8,0,4,0,67,0,19,0,3,0 10,0,20,0,43,0,5,0,60,0,64,0 53,0,83,0,57,0,49,0,17,0,66,0 65,0,85,0,54,0,29,0,70,0,9,0 84,0,28,0,18,0,59,0,14,0,51,0 68,0,13,0,31,0,86,0,38,0,6,0 82,0,39,0,63,0,78,0,74,0,55,0 71,0,11,0,76,0,35,0,26,0,2,0 72,0,12,0,23,0,24,0,30,0,56,0 41,0,25,0,46,0,1,0,36,0,42,0 79,0,50,0,16,0,21,0,48,0,61,0 32,0,58,0,33,0,34,0,37,0,73,0 81,0,27,0,53,0,77,0,45,0,8,0 74,0,75,0,6,0,59,0,69,0,5,0 39,0,78,0,19,0,2,0,65,0,20,0 22,0,28,0,80,0,70,0,66,0,31,0 55,0,47,0,10,0,41,0,85,0,26,0 76,0,52,0,72,0,16,0,68,0,51,0 82,0,25,0,83,0,61,0,13,0,23,0 57,0,30,0,50,0,15,0,44,0,77,0 24,0,4,0,86,0,36,0,81,0,33,0 62,0,18,0,58,0,49,0,21,0,32,0 79,0,46,0,29,0,63,0,11,0,60,0 3,0,38,0,43,0,84,0,56,0,54,0 27,0,40,0,67,0,1,0,73,0,14,0 35,0,45,0,42,0,64,0,37,0,12,0 48,0,17,0,9,0,71,0,34,0,7,0 10,0,83,0,65,0,15,0,74,0,68,0 78,0,57,0,18,0,69,0,86,0,81,0 51,0,36,0,63,0,47,0,49,0,50,0 62,0,11,0,72,0,6,0,66,0,25,0 19,0,32,0,26,0,46,0,27,0,43,0 23,0,41,0,39,0,67,0,33,0,79,0 53,0,24,0,58,0,2,0,5,0,1,0 21,0,35,0,7,0,70,0,42,0,3,0 31,0,59,0,22,0,76,0,8,0,60,0 38,0,17,0,56,0,64,0,82,0,28,0 85,0,77,0,71,0,16,0,73,0,80,0 34,0,55,0,54,0,30,0,12,0,13,0 4,0,20,0,75,0,61,0,45,0,84,0 44,0,52,0,9,0,14,0,37,0,29,0 48,0,23,0,78,0,40,0,15,0,46,0 51,0,53,0,6,0,32,0,10,0,24,0 68,0,36,0,7,0,60,0,62,0,21,0 65,0,42,0,72,0,82,0,81,0,47,0 64,0,74,0,73,0,76,0,31,0,54,0 70,0,33,0,38,0,5,0,67,0,77,0 86,0,26,0,56,0,45,0,22,0,14,0 11,0,59,0,50,0,17,0,43,0,39,0 28,0,48,0,29,0,27,0,19,0,25,0 8,0,84,0,34,0,16,0,18,0,2,0 71,0,69,0,66,0,55,0,3,0,20,0 83,0,37,0,30,0,80,0,75,0,63,0 13,0,85,0,40,0,58,0,57,0,79,0 9,0,49,0,1,0,12,0,52,0,4,0 44,0,35,0,6,0,41,0,61,0,54,0 77,0,50,0,62,0,26,0,23,0,29,0 74,0,53,0,8,0,14,0,46,0,34,0 66,0,67,0,16,0,10,0,36,0,56,0 47,0,18,0,64,0,19,0,11,0,5,0 69,0,32,0,76,0,25,0,60,0,81,0 9,0,55,0,80,0,75,0,38,0,72,0 68,0,42,0,2,0,85,0,28,0,63,0 71,0,1,0,39,0,86,0,83,0,70,0 61,0,43,0,30,0,41,0,40,0,58,0 21,0,59,0,45,0,52,0,65,0,57,0 17,0,7,0,24,0,27,0,4,0,78,0 82,0,84,0,12,0,44,0,33,0,48,0 22,0,3,0,13,0,20,0,73,0,51,0 79,0,49,0,15,0,35,0,31,0,37,0 23,0,60,0,28,0,71,0,75,0,86,0 61,0,42,0,10,0,56,0,76,0,9,0 58,0,14,0,19,0,83,0,11,0,38,0 70,0,16,0,81,0,62,0,46,0,6,0 77,0,4,0,66,0,63,0,25,0,65,0 84,0,5,0,73,0,30,0,36,0,39,0 40,0,24,0,82,0,34,0,59,0,3,0 7,0,51,0,67,0,69,0,26,0,12,0 37,0,54,0,57,0,8,0,47,0,68,0 15,0,29,0,45,0,17,0,2,0,55,0 41,0,22,0,18,0,27,0,72,0,50,0 20,0,52,0,74,0,80,0,48,0,32,0 1,0,44,0,43,0,35,0,49,0,13,0 31,0,33,0,53,0,78,0,85,0,21,0 64,0,36,0,75,0,79,0,26,0,3,0 68,0,46,0,66,0,67,0,9,0,24,0 15,0,60,0,58,0,39,0,56,0,6,0 12,0,57,0,61,0,71,0,63,0,38,0 5,0,45,0,70,0,32,0,82,0,41,0 35,0,30,0,34,0,50,0,65,0,28,0 7,0,25,0,55,0,44,0,53,0,18,0 69,0,72,0,48,0,13,0,64,0,14,0 29,0,20,0,8,0,40,0,83,0,33,0 77,0,52,0,84,0,10,0,31,0,11,0 85,0,81,0,59,0,23,0,1,0,37,0 86,0,47,0,79,0,27,0,80,0,76,0 54,0,62,0,19,0,42,0,17,0,22,0 51,0,74,0,2,0,21,0,43,0,4,0 49,0,16,0,60,0,78,0,73,0,38,0 58,0,65,0,46,0,71,0,50,0,64,0 72,0,24,0,20,0,67,0,15,0,28,0 5,0,68,0,56,0,81,0,34,0,44,0 63,0,1,0,30,0,6,0,8,0,7,0 40,0,53,0,47,0,35,0,39,0,52,0 12,0,2,0,3,0,59,0,77,0,83,0 54,0,33,0,14,0,25,0,80,0,10,0 66,0,36,0,43,0,45,0,85,0,48,0 4,0,73,0,26,0,79,0,42,0,18,0 70,0,76,0,78,0,75,0,19,0,13,0 22,0,86,0,29,0,74,0,61,0,49,0 11,0,55,0,32,0,16,0,23,0,57,0 37,0,41,0,17,0,21,0,69,0,84,0 82,0,51,0,9,0,27,0,31,0,62,0 40,0,39,0,81,0,54,0,28,0,66,0 6,0,45,0,67,0,18,0,83,0,50,0 78,0,8,0,52,0,71,0,79,0,25,0 12,0,74,0,10,0,72,0,58,0,70,0 76,0,4,0,59,0,29,0,30,0,53,0 5,0,24,0,13,0,16,0,42,0,37,0 46,0,85,0,38,0,75,0,35,0,51,0 2,0,32,0,64,0,9,0,7,0,86,0 41,0,14,0,31,0,20,0,57,0,62,0 33,0,3,0,49,0,68,0,48,0,11,0 1,0,69,0,15,0,61,0,34,0,19,0 55,0,36,0,82,0,22,0,43,0,77,0 27,0,21,0,73,0,56,0,23,0,63,0 80,0,17,0,26,0,44,0,65,0,60,0 84,0,78,0,66,0,47,0,35,0,29,0 2,0,38,0,81,0,10,0,30,0,79,0 49,0,7,0,59,0,5,0,54,0,46,0 24,0,50,0,8,0,69,0,70,0,52,0 67,0,25,0,34,0,57,0,64,0,22,0 37,0,19,0,6,0,71,0,40,0,36,0 1,0,28,0,62,0,45,0,3,0,74,0 9,0,26,0,63,0,84,0,13,0,41,0 11,0,73,0,15,0,21,0,86,0,12,0 47,0,76,0,17,0,58,0,77,0,20,0 31,0,4,0,32,0,44,0,72,0,56,0 80,0,18,0,68,0,53,0,82,0,23,0 60,0,42,0,48,0,83,0,55,0,51,0 43,0,16,0,33,0,75,0,14,0,65,0 27,0,61,0,69,0,85,0,39,0,49,0 13,0,57,0,38,0,29,0,74,0,7,0 63,0,3,0,81,0,22,0,52,0,58,0 30,0,71,0,31,0,47,0,32,0,67,0 54,0,86,0,20,0,37,0,50,0,82,0 19,0,77,0,23,0,45,0,34,0,51,0 11,0,56,0,42,0,78,0,80,0,1,0 70,0,25,0,26,0,15,0,16,0,59,0 27,0,64,0,55,0,4,0,40,0,68,0 76,0,85,0,83,0,62,0,84,0,24,0 79,0,43,0,28,0,9,0,6,0,12,0 39,0,44,0,21,0,8,0,46,0,10,0 35,0,14,0,72,0,5,0,36,0,17,0 61,0,60,0,2,0,18,0,66,0,33,0 73,0,41,0,65,0,53,0,75,0,48,0 ================================================ FILE: schedules/86_13.csv ================================================ 11,0,24,0,22,0,17,0,30,0,86,0 82,0,12,0,16,0,27,0,58,0,47,0 74,0,77,0,26,0,68,0,85,0,28,0 81,0,29,0,15,0,67,0,79,0,25,0 18,0,34,0,50,0,3,0,2,0,57,0 19,0,60,0,69,0,37,0,71,0,44,0 33,0,75,0,21,0,32,0,59,0,42,0 1,0,36,0,62,0,46,0,39,0,20,0 41,0,66,0,64,0,43,0,7,0,10,0 45,0,13,0,70,0,54,0,14,0,23,0 53,0,35,0,65,0,63,0,9,0,48,0 72,0,76,0,49,0,4,0,52,0,78,0 61,0,84,0,40,0,8,0,51,0,31,0 38,0,80,0,55,0,83,0,6,0,56,0 73,0,2,0,58,0,5,0,20,0,37,0 69,0,67,0,39,0,24,0,77,0,10,0 60,0,50,0,45,0,41,0,19,0,62,0 48,0,74,0,68,0,33,0,81,0,54,0 71,0,34,0,27,0,49,0,59,0,11,0 17,0,78,0,64,0,79,0,46,0,23,0 35,0,55,0,4,0,15,0,14,0,66,0 31,0,36,0,85,0,29,0,8,0,73,0 53,0,16,0,13,0,6,0,7,0,75,0 65,0,86,0,82,0,61,0,3,0,1,0 30,0,83,0,12,0,25,0,26,0,52,0 32,0,84,0,47,0,18,0,22,0,76,0 9,0,38,0,28,0,70,0,40,0,5,0 57,0,72,0,80,0,44,0,42,0,63,0 51,0,56,0,46,0,43,0,21,0,71,0 41,1,34,0,14,0,37,1,69,0,74,0 11,1,66,0,1,0,75,1,78,0,53,0 35,0,73,0,26,0,61,0,45,0,33,0 52,0,59,0,54,0,82,0,62,0,15,0 85,0,58,0,19,0,67,0,64,0,38,0 29,0,76,0,60,0,28,0,48,0,13,0 57,0,9,0,7,0,20,0,8,0,12,0 40,0,25,0,30,0,56,0,10,0,36,0 31,0,5,0,32,0,17,0,39,0,80,0 55,0,84,0,23,0,50,0,63,0,21,0 27,0,44,0,68,0,2,0,43,0,22,0 18,0,49,0,16,0,77,0,81,0,86,0 6,0,47,0,65,0,83,0,24,0,72,0 79,0,4,0,51,0,3,0,42,0,70,0 8,0,7,0,82,0,37,0,34,0,38,0 14,0,5,0,30,0,60,0,57,0,67,0 17,0,23,0,58,0,26,0,80,0,59,0 43,0,35,0,50,0,13,0,32,0,40,0 27,0,61,0,81,0,9,0,85,0,62,0 77,0,6,0,44,0,46,0,15,0,12,0 52,0,1,0,10,0,63,0,18,0,4,0 64,0,86,0,71,0,70,0,65,0,76,0 66,0,74,0,45,0,36,0,47,0,3,0 16,0,39,0,54,0,72,0,56,0,41,0 48,0,73,0,69,0,21,0,79,0,84,0 28,0,51,0,25,0,49,0,55,0,24,0 20,0,19,0,83,0,33,0,22,0,53,0 2,0,42,0,68,0,11,0,31,0,29,0 75,0,40,0,65,0,78,0,81,0,80,0 52,0,32,0,57,0,10,0,6,0,23,0 59,0,47,0,39,0,30,0,38,0,70,0 15,0,1,0,67,0,73,0,71,0,41,0 13,0,64,0,24,0,44,0,12,0,74,0 54,0,26,0,46,0,35,0,8,0,76,0 72,0,2,0,82,0,48,0,36,0,19,0 61,0,21,0,78,0,29,0,22,0,34,0 14,0,20,0,79,0,50,0,25,0,11,0 69,0,5,0,45,0,86,0,49,0,51,0 85,0,33,0,43,0,55,0,17,0,16,0 37,0,62,0,42,0,28,0,66,0,18,0 75,0,27,0,56,0,7,0,68,0,63,0 60,0,84,0,3,0,53,0,58,0,77,0 31,0,9,0,34,0,83,0,4,0,54,0 57,0,25,0,38,0,71,0,13,0,46,0 35,0,32,0,11,0,52,0,67,0,8,0 86,0,10,0,73,0,50,0,12,0,59,0 48,0,41,0,18,0,85,0,61,0,80,0 2,0,24,0,56,0,75,0,45,0,1,0 81,0,6,0,84,0,3,0,20,0,64,0 4,0,65,0,36,0,27,0,23,0,28,0 22,0,66,0,49,0,40,0,74,0,60,0 78,0,16,0,76,0,55,0,42,0,30,0 70,0,69,0,31,0,58,0,7,0,33,0 19,0,15,0,21,0,47,0,9,0,17,0 82,0,63,0,29,0,77,0,43,0,83,0 72,0,37,0,39,0,79,0,26,0,53,0 62,0,14,0,44,0,68,0,51,0,5,0 65,0,85,0,54,0,84,0,2,0,66,0 74,0,41,0,20,0,23,0,35,0,38,0 73,0,80,0,36,0,3,0,13,0,49,0 52,0,12,0,48,0,55,0,71,0,45,0 59,0,81,0,19,0,43,0,8,0,1,0 37,0,30,0,61,0,64,0,77,0,32,0 60,0,31,0,86,0,72,0,27,0,67,0 68,0,18,0,83,0,16,0,69,0,15,0 28,0,22,0,79,0,75,0,34,0,10,0 4,0,29,0,39,0,46,0,7,0,40,0 42,0,50,0,14,0,5,0,9,0,6,0 62,0,70,0,24,0,21,0,11,0,26,0 56,0,58,0,78,0,76,0,57,0,51,0 17,0,53,0,63,0,82,0,47,0,25,0 33,0,38,0,41,0,44,0,18,0,2,0 80,0,22,0,8,0,64,0,28,0,72,0 66,0,65,0,13,0,77,0,34,0,52,0 9,0,42,0,23,0,43,0,30,0,73,0 26,0,75,0,86,0,29,0,19,0,14,0 51,0,36,0,83,0,81,0,37,0,48,0 6,0,68,0,57,0,35,0,61,0,39,0 16,0,3,0,67,0,59,0,25,0,70,0 11,0,4,0,44,0,45,0,84,0,82,0 56,0,74,0,15,0,50,0,31,0,78,0 33,0,79,0,1,0,7,0,49,0,60,0 12,0,76,0,40,0,69,0,62,0,17,0 63,0,71,0,24,0,32,0,20,0,58,0 5,0,46,0,10,0,85,0,47,0,55,0 27,0,21,0,57,0,54,0,53,0,28,0 82,0,51,0,39,0,22,0,65,0,64,0 34,0,42,0,25,0,84,0,26,0,68,0 66,0,9,0,67,0,33,0,23,0,56,0 14,0,52,0,80,0,29,0,7,0,16,0 43,0,78,0,32,0,48,0,86,0,38,0 81,0,2,0,46,0,69,0,30,0,63,0 41,0,3,0,50,0,24,0,27,0,76,0 1,0,70,0,85,0,45,0,37,0,6,0 35,0,79,0,59,0,12,0,19,0,31,0 49,0,8,0,44,0,47,0,53,0,62,0 71,0,77,0,4,0,5,0,21,0,74,0 20,0,61,0,15,0,13,0,72,0,10,0 58,0,83,0,40,0,11,0,73,0,54,0 60,0,55,0,75,0,17,0,18,0,36,0 25,0,45,0,64,0,32,0,69,0,9,0 22,0,38,0,26,0,16,0,1,0,50,0 67,0,47,0,12,0,2,0,28,0,80,0 77,0,7,0,42,0,35,0,62,0,48,0 33,0,46,0,14,0,27,0,15,0,3,0 44,0,52,0,70,0,56,0,40,0,34,0 55,0,13,0,5,0,41,0,65,0,8,0 86,0,85,0,20,0,4,0,60,0,82,0 17,0,51,0,29,0,74,0,6,0,30,0 11,0,63,0,78,0,19,0,73,0,39,0 10,0,53,0,76,0,31,0,81,0,23,0 54,0,43,0,36,0,24,0,79,0,18,0 49,0,83,0,84,0,59,0,75,0,57,0 71,0,58,0,66,0,72,0,68,0,61,0 37,0,67,0,65,0,21,0,16,0,40,0 50,0,33,0,77,0,47,0,51,0,52,0 26,0,82,0,28,0,41,0,6,0,78,0 27,0,17,0,8,0,20,0,48,0,70,0 32,0,62,0,79,0,74,0,2,0,55,0 86,0,34,0,53,0,46,0,36,0,42,0 15,0,31,0,38,0,45,0,49,0,63,0 43,0,72,0,3,0,11,0,12,0,75,0 1,0,9,0,29,0,57,0,66,0,44,0 59,0,4,0,22,0,56,0,69,0,13,0 71,0,85,0,23,0,39,0,14,0,83,0 73,0,24,0,60,0,81,0,64,0,35,0 61,0,25,0,7,0,54,0,5,0,76,0 10,0,68,0,80,0,19,0,37,0,84,0 30,0,21,0,45,0,18,0,58,0,72,0 53,0,29,0,12,0,41,0,51,0,32,0 31,0,49,0,46,0,50,0,66,0,82,0 77,0,9,0,59,0,55,0,36,0,22,0 56,0,42,0,26,0,20,0,65,0,60,0 69,0,11,0,7,0,15,0,85,0,57,0 23,0,62,0,5,0,34,0,24,0,16,0 40,0,47,0,48,0,14,0,1,0,64,0 10,0,83,0,78,0,70,0,35,0,2,0 27,0,73,0,6,0,19,0,25,0,18,0 75,0,43,0,67,0,61,0,4,0,74,0 21,0,38,0,3,0,39,0,52,0,68,0 37,0,63,0,8,0,76,0,33,0,86,0 79,0,54,0,71,0,80,0,44,0,30,0 81,0,28,0,17,0,13,0,58,0,84,0 15,0,24,0,40,0,60,0,42,0,85,0 64,0,51,0,19,0,57,0,31,0,16,0 18,0,74,0,59,0,46,0,11,0,65,0 39,0,48,0,25,0,50,0,75,0,4,0 33,0,36,0,37,0,78,0,12,0,5,0 8,0,72,0,23,0,77,0,69,0,29,0 13,0,21,0,41,0,66,0,86,0,79,0 76,0,34,0,20,0,80,0,45,0,43,0 55,0,70,0,32,0,82,0,73,0,68,0 2,0,7,0,47,0,26,0,71,0,81,0 67,0,63,0,6,0,22,0,54,0,62,0 35,0,84,0,30,0,38,0,1,0,27,0 56,0,53,0,49,0,14,0,58,0,10,0 28,0,3,0,44,0,17,0,61,0,83,0 52,0,41,0,11,0,9,0,37,0,75,0 ================================================ FILE: schedules/86_14.csv ================================================ 7,0,78,0,52,0,18,0,83,0,32,0 61,0,85,0,5,0,33,0,44,0,25,0 60,0,48,0,29,0,58,0,68,0,8,0 42,0,66,0,40,0,50,0,71,0,30,0 82,0,70,0,79,0,10,0,53,0,59,0 17,0,84,0,39,0,14,0,45,0,69,0 63,0,16,0,12,0,34,0,75,0,80,0 6,0,51,0,86,0,26,0,3,0,57,0 76,0,56,0,9,0,62,0,81,0,77,0 23,0,20,0,49,0,74,0,2,0,55,0 13,0,54,0,65,0,46,0,21,0,19,0 22,0,35,0,41,0,43,0,73,0,1,0 37,0,72,0,38,0,67,0,11,0,47,0 15,0,31,0,64,0,27,0,36,0,28,0 4,0,60,0,57,0,24,0,34,0,53,0 75,0,6,0,82,0,39,0,62,0,71,0 14,0,78,0,74,0,66,0,48,0,2,0 80,0,13,0,44,0,76,0,52,0,42,0 5,0,58,0,69,0,21,0,20,0,1,0 72,0,50,0,54,0,35,0,45,0,30,0 47,0,85,0,46,0,56,0,41,0,51,0 22,0,77,0,67,0,28,0,24,0,49,0 59,0,9,0,17,0,37,0,36,0,63,0 16,0,26,0,8,0,43,0,84,0,11,0 10,0,33,0,15,0,83,0,29,0,38,0 19,0,23,0,31,0,18,0,25,0,61,0 40,0,79,0,86,0,27,0,4,0,32,0 68,0,64,0,55,0,7,0,65,0,12,0 81,0,73,0,21,0,3,0,70,0,74,0 51,1,85,0,80,0,72,1,58,0,22,0 43,0,44,0,16,0,67,0,60,0,1,0 33,0,36,0,38,0,6,0,24,0,2,0 23,0,28,0,56,0,82,0,42,0,48,0 49,0,13,0,45,0,83,0,57,0,66,0 20,0,52,0,31,0,79,0,65,0,29,0 63,0,7,0,71,0,5,0,37,0,41,0 18,0,77,0,73,0,10,0,39,0,26,0 64,0,81,0,61,0,47,0,15,0,54,0 19,0,62,0,55,0,14,0,4,0,30,0 76,0,25,0,59,0,40,0,11,0,27,0 53,0,69,0,68,0,35,0,8,0,86,0 46,0,50,0,34,0,32,0,17,0,70,0 84,0,3,0,78,0,75,0,9,0,12,0 33,0,16,0,7,0,58,0,51,0,49,0 38,0,45,0,52,0,43,0,5,0,82,0 67,0,37,0,13,0,54,0,56,0,4,0 1,0,28,0,18,0,72,0,63,0,20,0 19,0,27,0,2,0,44,0,8,0,53,0 41,0,83,0,24,0,50,0,17,0,81,0 36,0,75,0,60,0,42,0,23,0,14,0 6,0,22,0,64,0,29,0,59,0,86,0 10,0,85,0,65,0,76,0,74,0,34,0 15,0,77,0,11,0,32,0,21,0,84,0 48,0,39,0,73,0,40,0,80,0,30,0 62,0,3,0,46,0,78,0,61,0,68,0 35,0,12,0,70,0,26,0,31,0,66,0 25,0,57,0,79,0,69,0,47,0,9,0 55,0,24,0,59,0,71,0,45,0,16,0 14,0,38,0,86,0,7,0,49,0,72,0 23,0,8,0,27,0,22,0,50,0,52,0 21,0,48,0,51,0,17,0,10,0,44,0 18,0,43,0,41,0,77,0,75,0,2,0 26,0,78,0,82,0,81,0,33,0,65,0 12,0,76,0,66,0,20,0,73,0,69,0 3,0,30,0,25,0,15,0,37,0,60,0 31,0,80,0,71,0,57,0,53,0,47,0 68,0,63,0,11,0,54,0,61,0,39,0 32,0,67,0,85,0,42,0,29,0,19,0 70,0,4,0,58,0,84,0,83,0,64,0 55,0,46,0,79,0,28,0,6,0,5,0 40,0,36,0,9,0,35,0,56,0,74,0 62,0,34,0,33,0,1,0,13,0,59,0 77,0,37,0,30,0,51,0,45,0,31,0 54,0,27,0,20,0,10,0,57,0,16,0 69,0,26,0,7,0,2,0,80,0,82,0 68,0,67,0,71,0,84,0,18,0,85,0 86,0,42,0,41,0,11,0,83,0,65,0 22,0,25,0,21,0,63,0,6,0,81,0 46,0,72,0,48,0,43,0,64,0,62,0 4,0,40,0,5,0,36,0,78,0,49,0 9,0,29,0,53,0,66,0,23,0,44,0 38,0,12,0,74,0,32,0,60,0,79,0 1,0,34,0,15,0,73,0,14,0,52,0 56,0,47,0,8,0,55,0,17,0,75,0 61,0,28,0,3,0,13,0,70,0,50,0 58,0,35,0,39,0,76,0,24,0,19,0 80,0,43,0,36,0,37,0,86,0,81,0 82,0,83,0,53,0,85,0,20,0,16,0 84,0,22,0,46,0,74,0,7,0,79,0 40,0,49,0,64,0,44,0,69,0,41,0 6,0,65,0,8,0,54,0,32,0,5,0 14,0,29,0,72,0,13,0,71,0,12,0 57,0,38,0,56,0,50,0,18,0,58,0 27,0,33,0,42,0,77,0,63,0,48,0 52,0,23,0,10,0,3,0,11,0,19,0 28,0,47,0,4,0,60,0,66,0,39,0 68,0,21,0,34,0,45,0,9,0,2,0 17,0,1,0,78,0,76,0,30,0,70,0 35,0,51,0,67,0,15,0,62,0,59,0 73,0,31,0,55,0,25,0,75,0,24,0 26,0,58,0,79,0,61,0,42,0,37,0 57,0,81,0,84,0,44,0,48,0,38,0 13,0,56,0,39,0,5,0,23,0,7,0 34,0,66,0,14,0,41,0,33,0,11,0 36,0,8,0,76,0,82,0,18,0,46,0 2,0,83,0,12,0,47,0,27,0,1,0 68,0,20,0,24,0,30,0,43,0,32,0 74,0,29,0,80,0,77,0,54,0,25,0 60,0,52,0,86,0,67,0,61,0,70,0 40,0,59,0,75,0,21,0,28,0,72,0 45,0,65,0,26,0,4,0,22,0,9,0 50,0,51,0,19,0,64,0,73,0,71,0 85,0,53,0,62,0,3,0,10,0,69,0 6,0,17,0,31,0,16,0,49,0,15,0 78,0,35,0,44,0,55,0,63,0,58,0 7,0,36,0,61,0,34,0,77,0,20,0 24,0,47,0,18,0,84,0,70,0,29,0 14,0,28,0,9,0,8,0,83,0,54,0 21,0,38,0,30,0,71,0,23,0,26,0 1,0,66,0,81,0,68,0,10,0,40,0 5,0,3,0,2,0,64,0,67,0,16,0 59,0,60,0,35,0,46,0,80,0,65,0 37,0,49,0,73,0,78,0,62,0,27,0 41,0,45,0,12,0,6,0,52,0,48,0 74,0,57,0,15,0,63,0,19,0,82,0 39,0,85,0,50,0,43,0,86,0,55,0 32,0,33,0,76,0,53,0,56,0,22,0 75,0,11,0,13,0,79,0,69,0,51,0 17,0,42,0,4,0,72,0,31,0,25,0 60,0,70,0,44,0,7,0,54,0,62,0 34,0,48,0,47,0,24,0,5,0,26,0 63,0,41,0,78,0,38,0,67,0,23,0 16,0,82,0,37,0,29,0,21,0,50,0 19,0,1,0,84,0,49,0,55,0,3,0 59,0,11,0,2,0,85,0,13,0,9,0 76,0,75,0,14,0,68,0,86,0,45,0 80,0,17,0,79,0,66,0,18,0,33,0 10,0,27,0,25,0,56,0,65,0,71,0 12,0,58,0,32,0,81,0,39,0,36,0 53,0,15,0,46,0,72,0,77,0,40,0 74,0,52,0,8,0,4,0,51,0,64,0 20,0,61,0,57,0,42,0,73,0,22,0 69,0,43,0,6,0,28,0,83,0,31,0 30,0,85,0,44,0,35,0,75,0,47,0 66,0,54,0,3,0,18,0,56,0,59,0 5,0,9,0,27,0,70,0,41,0,80,0 15,0,32,0,63,0,55,0,13,0,26,0 39,0,76,0,29,0,79,0,49,0,48,0 10,0,4,0,11,0,57,0,12,0,50,0 7,0,25,0,43,0,78,0,21,0,53,0 33,0,45,0,20,0,8,0,67,0,40,0 86,0,58,0,71,0,2,0,31,0,46,0 61,0,14,0,24,0,82,0,51,0,72,0 77,0,69,0,1,0,64,0,23,0,60,0 62,0,16,0,17,0,38,0,81,0,28,0 83,0,19,0,35,0,34,0,22,0,37,0 73,0,84,0,30,0,36,0,52,0,65,0 74,0,42,0,44,0,68,0,6,0,15,0 71,0,43,0,76,0,33,0,3,0,4,0 9,0,48,0,50,0,75,0,20,0,7,0 26,0,21,0,18,0,27,0,14,0,60,0 81,0,31,0,8,0,85,0,66,0,63,0 13,0,64,0,10,0,24,0,80,0,78,0 54,0,86,0,82,0,55,0,84,0,34,0 83,0,30,0,74,0,67,0,59,0,5,0 28,0,45,0,53,0,73,0,11,0,58,0 56,0,29,0,32,0,61,0,1,0,51,0 40,0,62,0,65,0,47,0,16,0,23,0 37,0,25,0,46,0,52,0,49,0,12,0 42,0,70,0,38,0,22,0,69,0,39,0 35,0,17,0,2,0,77,0,6,0,57,0 72,0,41,0,79,0,36,0,68,0,19,0 71,0,33,0,48,0,31,0,60,0,9,0 83,0,61,0,55,0,21,0,80,0,76,0 50,0,20,0,59,0,14,0,44,0,81,0 47,0,58,0,45,0,27,0,13,0,74,0 75,0,49,0,54,0,53,0,26,0,52,0 65,0,51,0,15,0,12,0,43,0,39,0 6,0,11,0,72,0,70,0,78,0,56,0 18,0,34,0,63,0,30,0,69,0,64,0 10,0,2,0,28,0,84,0,35,0,25,0 8,0,29,0,62,0,41,0,57,0,36,0 32,0,40,0,22,0,17,0,82,0,3,0 1,0,7,0,24,0,79,0,42,0,85,0 5,0,77,0,16,0,66,0,86,0,19,0 73,0,67,0,4,0,68,0,46,0,23,0 37,0,75,0,53,0,38,0,65,0,61,0 45,0,78,0,50,0,80,0,20,0,15,0 39,0,57,0,21,0,72,0,52,0,33,0 49,0,14,0,63,0,10,0,56,0,43,0 2,0,54,0,60,0,40,0,51,0,76,0 74,0,26,0,11,0,31,0,62,0,41,0 18,0,81,0,42,0,46,0,5,0,35,0 70,0,66,0,64,0,38,0,85,0,55,0 69,0,32,0,48,0,4,0,37,0,59,0 13,0,36,0,22,0,16,0,25,0,68,0 7,0,19,0,73,0,47,0,29,0,17,0 30,0,86,0,24,0,12,0,44,0,28,0 83,0,3,0,71,0,79,0,8,0,77,0 1,0,82,0,58,0,6,0,9,0,67,0 23,0,84,0,51,0,34,0,27,0,72,0 ================================================ FILE: schedules/86_2.csv ================================================ 38,0,53,0,84,0,42,0,29,0,41,0 24,0,21,0,58,0,25,0,16,0,33,0 81,0,56,0,48,0,74,0,30,0,60,0 35,0,36,0,70,0,39,0,32,0,52,0 12,0,44,0,85,0,55,0,73,0,37,0 11,0,22,0,75,0,31,0,3,0,72,0 27,0,2,0,63,0,47,0,80,0,71,0 62,0,14,0,5,0,23,0,26,0,68,0 17,0,79,0,6,0,49,0,18,0,7,0 50,0,86,0,34,0,54,0,61,0,45,0 69,0,4,0,40,0,43,0,82,0,66,0 67,0,1,0,57,0,46,0,10,0,83,0 15,0,13,0,20,0,9,0,28,0,76,0 78,0,51,0,59,0,65,0,8,0,77,0 64,0,32,0,75,0,19,0,44,0,62,0 31,0,21,0,37,0,68,0,17,0,63,0 58,0,23,0,80,0,56,0,34,0,84,0 61,0,18,0,66,0,12,0,48,0,36,0 45,0,39,0,41,0,5,0,1,0,85,0 25,0,76,0,3,0,49,0,4,0,53,0 52,0,24,0,71,0,77,0,82,0,67,0 83,0,60,0,26,0,19,0,69,0,55,0 7,0,59,0,11,0,20,0,27,0,38,0 73,0,30,0,9,0,64,0,2,0,79,0 47,0,43,0,54,0,74,0,8,0,35,0 46,0,16,0,28,0,78,0,70,0,50,0 10,0,33,0,65,0,13,0,29,0,86,0 42,0,40,0,57,0,81,0,15,0,22,0 6,0,72,0,41,1,14,0,51,0,44,1 ================================================ FILE: schedules/86_3.csv ================================================ 48,0,6,0,26,0,9,0,52,0,29,0 8,0,25,0,57,0,61,0,1,0,31,0 59,0,5,0,32,0,82,0,16,0,30,0 37,0,62,0,80,0,70,0,33,0,36,0 20,0,67,0,56,0,28,0,55,0,81,0 41,0,72,0,49,0,21,0,12,0,17,0 83,0,3,0,7,0,47,0,85,0,4,0 18,0,44,0,63,0,10,0,75,0,74,0 11,0,23,0,38,0,24,0,86,0,66,0 40,0,34,0,43,0,60,0,46,0,78,0 19,0,77,0,22,0,58,0,14,0,54,0 73,0,15,0,51,0,27,0,76,0,35,0 39,0,53,0,2,0,84,0,71,0,79,0 13,0,68,0,50,0,65,0,42,0,45,0 64,0,81,0,7,0,69,0,8,0,5,0 9,0,74,0,66,0,62,0,41,0,1,0 43,0,10,0,37,0,56,0,12,0,6,0 70,0,4,0,60,0,72,0,26,0,14,0 86,0,85,0,29,0,57,0,63,0,80,0 82,0,21,0,79,0,46,0,20,0,48,0 31,0,33,0,68,0,19,0,73,0,40,0 35,0,78,0,38,0,71,0,17,0,83,0 76,0,52,0,45,0,55,0,69,0,77,0 67,0,59,0,50,0,64,0,22,0,84,0 49,0,36,0,47,0,42,0,75,0,16,0 58,0,13,0,2,0,15,0,11,0,25,0 61,0,18,0,24,0,30,0,28,0,3,0 65,0,34,0,27,0,23,0,53,0,44,0 51,0,54,0,60,0,39,0,32,0,33,0 29,0,55,0,62,0,73,0,38,0,14,0 86,0,84,0,19,0,48,0,10,0,78,0 22,0,81,0,37,0,57,0,79,0,49,0 25,0,45,0,21,0,80,0,66,0,59,0 76,0,16,0,28,0,72,0,43,0,7,0 63,0,71,0,6,0,41,0,23,0,69,0 85,0,15,0,8,0,26,0,40,0,20,0 18,0,9,0,12,0,13,0,51,0,47,0 42,0,35,0,3,0,67,0,70,0,34,0 58,0,52,0,17,0,50,0,61,0,27,0 77,0,74,0,32,0,64,0,65,0,2,0 30,0,1,0,11,0,4,0,44,0,54,0 82,0,75,0,83,0,31,0,39,0,24,0 5,0,53,0,46,0,56,0,68,0,36,0 ================================================ FILE: schedules/86_4.csv ================================================ 67,0,27,0,39,0,36,0,11,0,32,0 81,0,16,0,47,0,61,0,8,0,17,0 44,0,20,0,12,0,80,0,41,0,37,0 62,0,48,0,72,0,63,0,23,0,59,0 78,0,70,0,76,0,50,0,51,0,66,0 4,0,85,0,56,0,68,0,55,0,38,0 9,0,15,0,86,0,43,0,5,0,54,0 83,0,14,0,10,0,29,0,7,0,45,0 74,0,75,0,31,0,3,0,53,0,30,0 65,0,6,0,77,0,19,0,58,0,82,0 18,0,49,0,34,0,2,0,60,0,64,0 42,0,71,0,69,0,40,0,52,0,73,0 35,0,24,0,57,0,84,0,21,0,22,0 28,0,26,0,79,0,13,0,1,0,33,0 25,0,17,0,59,0,46,0,7,0,85,0 83,0,32,0,72,0,70,0,81,0,12,0 51,0,8,0,55,0,67,0,43,0,41,0 3,0,54,0,80,0,27,0,64,0,77,0 76,0,9,0,71,0,29,0,62,0,56,0 15,0,47,0,40,0,19,0,35,0,48,0 6,0,21,0,18,0,74,0,69,0,4,0 63,0,22,0,53,0,60,0,52,0,68,0 33,0,45,0,49,0,16,0,30,0,86,0 13,0,36,0,65,0,50,0,2,0,25,0 66,0,26,0,39,0,20,0,84,0,46,0 38,0,58,0,28,0,31,0,73,0,57,0 75,0,11,0,42,0,78,0,44,0,14,0 34,0,82,0,5,0,24,0,79,0,10,0 37,0,1,0,21,0,61,0,23,0,77,0 33,1,52,0,55,0,83,1,18,0,48,0 2,1,30,0,40,0,67,1,17,0,76,0 8,0,85,0,53,0,6,0,39,0,13,0 69,0,62,0,7,0,81,0,54,0,57,0 35,0,16,0,80,0,63,0,32,0,14,0 84,0,11,0,65,0,43,0,71,0,3,0 68,0,31,0,86,0,10,0,66,0,23,0 78,0,29,0,4,0,36,0,79,0,72,0 5,0,47,0,1,0,64,0,38,0,20,0 49,0,44,0,82,0,74,0,15,0,46,0 60,0,41,0,61,0,42,0,70,0,25,0 37,0,73,0,19,0,9,0,51,0,26,0 59,0,12,0,24,0,45,0,28,0,56,0 22,0,50,0,75,0,34,0,27,0,58,0 66,0,3,0,67,0,57,0,29,0,48,0 77,0,33,0,40,0,8,0,31,0,36,0 35,0,64,0,79,0,81,0,85,0,44,0 53,0,41,0,18,0,1,0,86,0,84,0 72,0,60,0,38,0,65,0,17,0,14,0 61,0,28,0,46,0,9,0,69,0,83,0 19,0,2,0,12,0,27,0,68,0,16,0 37,0,59,0,13,0,70,0,4,0,5,0 52,0,23,0,50,0,15,0,7,0,6,0 43,0,58,0,45,0,76,0,80,0,47,0 22,0,56,0,51,0,49,0,54,0,11,0 30,0,78,0,73,0,21,0,39,0,34,0 26,0,74,0,25,0,24,0,71,0,63,0 10,0,20,0,32,0,55,0,75,0,62,0 82,0,33,0,2,0,42,0,83,0,67,0 ================================================ FILE: schedules/86_5.csv ================================================ 84,0,11,0,23,0,80,0,37,0,38,0 57,0,13,0,40,0,43,0,77,0,74,0 75,0,81,0,30,0,71,0,16,0,10,0 46,0,63,0,33,0,76,0,36,0,72,0 5,0,62,0,29,0,65,0,45,0,7,0 55,0,15,0,79,0,61,0,69,0,58,0 26,0,82,0,50,0,20,0,67,0,53,0 12,0,60,0,8,0,1,0,44,0,31,0 47,0,85,0,19,0,3,0,52,0,21,0 27,0,34,0,25,0,73,0,24,0,35,0 22,0,56,0,4,0,48,0,70,0,64,0 18,0,78,0,59,0,2,0,86,0,54,0 32,0,14,0,28,0,68,0,9,0,83,0 51,0,6,0,49,0,41,0,39,0,42,0 17,0,77,0,71,0,66,0,79,0,29,0 13,0,44,0,47,0,46,0,84,0,50,0 61,0,33,0,12,0,37,0,75,0,7,0 81,0,60,0,36,0,38,0,22,0,3,0 2,0,67,0,15,0,63,0,70,0,16,0 52,0,76,0,68,0,62,0,78,0,48,0 83,0,31,0,30,0,11,0,86,0,53,0 59,0,72,0,65,0,26,0,57,0,55,0 42,0,85,0,10,0,32,0,23,0,82,0 39,0,20,0,69,0,25,0,64,0,5,0 66,0,14,0,74,0,18,0,51,0,24,0 43,0,6,0,19,0,45,0,17,0,34,0 58,0,54,0,28,0,41,0,8,0,35,0 9,0,1,0,40,0,27,0,56,0,21,0 73,0,49,0,62,0,4,0,80,0,63,0 59,1,70,0,29,0,52,1,30,0,44,0 12,0,67,0,36,0,65,0,13,0,86,0 47,0,57,0,75,0,51,0,83,0,23,0 20,0,46,0,7,0,74,0,3,0,71,0 82,0,33,0,35,0,84,0,43,0,31,0 76,0,79,0,40,0,10,0,18,0,38,0 78,0,66,0,41,0,22,0,16,0,19,0 37,0,9,0,24,0,58,0,53,0,39,0 85,0,4,0,27,0,26,0,68,0,2,0 64,0,17,0,60,0,28,0,15,0,21,0 34,0,5,0,61,0,77,0,49,0,48,0 1,0,55,0,6,0,25,0,11,0,14,0 54,0,69,0,42,0,73,0,72,0,56,0 80,0,50,0,45,0,8,0,81,0,32,0 16,0,46,0,57,0,79,0,35,0,62,0 7,0,68,0,84,0,59,0,67,0,40,0 44,0,21,0,43,0,63,0,83,0,66,0 23,0,34,0,64,0,78,0,12,0,9,0 18,0,82,0,37,0,5,0,55,0,60,0 65,0,25,0,3,0,76,0,54,0,31,0 80,0,56,0,24,0,85,0,36,0,6,0 74,0,42,0,81,0,48,0,33,0,1,0 53,0,22,0,10,0,69,0,52,0,49,0 15,0,77,0,75,0,8,0,14,0,19,0 73,0,70,0,58,0,13,0,26,0,71,0 29,0,50,0,72,0,4,0,28,0,11,0 17,0,32,0,38,0,27,0,86,0,39,0 45,0,47,0,61,0,41,0,2,0,30,0 51,0,35,0,1,0,20,0,37,0,76,0 48,0,23,0,63,0,60,0,40,0,6,0 5,0,67,0,31,0,14,0,42,0,52,0 13,0,3,0,80,0,79,0,75,0,78,0 58,0,49,0,43,0,59,0,85,0,50,0 38,0,8,0,69,0,29,0,33,0,24,0 54,0,26,0,32,0,47,0,7,0,22,0 30,0,39,0,36,0,68,0,57,0,18,0 53,0,28,0,51,0,55,0,81,0,77,0 56,0,71,0,41,0,11,0,44,0,34,0 74,0,25,0,9,0,70,0,62,0,17,0 2,0,84,0,65,0,64,0,73,0,66,0 20,0,10,0,27,0,72,0,12,0,19,0 21,0,86,0,16,0,61,0,4,0,82,0 45,0,15,0,52,0,46,0,83,0,59,0 ================================================ FILE: schedules/86_6.csv ================================================ 8,0,65,0,31,0,49,0,69,0,15,0 23,0,81,0,79,0,74,0,39,0,27,0 17,0,67,0,55,0,9,0,28,0,11,0 59,0,34,0,14,0,50,0,18,0,21,0 76,0,66,0,84,0,20,0,64,0,52,0 46,0,16,0,1,0,32,0,22,0,62,0 29,0,10,0,3,0,45,0,78,0,48,0 41,0,24,0,83,0,75,0,4,0,70,0 72,0,38,0,63,0,5,0,85,0,6,0 40,0,7,0,53,0,58,0,57,0,77,0 19,0,73,0,35,0,37,0,25,0,71,0 80,0,54,0,42,0,68,0,36,0,13,0 2,0,56,0,61,0,82,0,26,0,33,0 47,0,30,0,44,0,43,0,12,0,60,0 86,0,70,0,76,0,51,0,22,0,49,0 74,0,9,0,3,0,59,0,24,0,52,0 21,0,67,0,31,0,81,0,48,0,63,0 58,0,35,0,46,0,17,0,18,0,5,0 62,0,50,0,19,0,68,0,39,0,57,0 4,0,36,0,11,0,29,0,71,0,16,0 79,0,30,0,56,0,84,0,53,0,8,0 82,0,54,0,86,0,12,0,15,0,66,0 75,0,20,0,43,0,14,0,42,0,26,0 85,0,64,0,69,0,61,0,34,0,10,0 73,0,44,0,80,0,23,0,28,0,32,0 60,0,65,0,27,0,77,0,55,0,45,0 37,0,33,0,40,0,41,0,72,0,78,0 47,0,7,0,83,0,2,0,38,0,51,0 13,0,1,0,58,0,25,0,6,0,29,0 19,0,20,0,81,0,24,0,49,0,36,0 9,0,56,0,31,0,76,0,39,0,85,0 86,0,69,0,59,0,75,0,63,0,11,0 48,0,71,0,74,0,54,0,17,0,77,0 14,0,64,0,68,0,46,0,78,0,73,0 4,0,38,0,40,0,8,0,82,0,3,0 84,0,45,0,57,0,12,0,72,0,67,0 1,0,15,0,27,0,37,0,47,0,18,0 10,0,52,0,80,0,60,0,41,0,51,0 66,0,7,0,79,0,55,0,44,0,6,0 43,0,23,0,2,0,34,0,62,0,35,0 32,0,83,0,30,0,50,0,42,0,61,0 53,0,33,0,13,0,70,0,16,0,5,0 65,0,26,0,25,0,22,0,21,0,28,0 15,0,24,0,68,0,56,0,38,0,17,0 49,0,41,0,58,0,54,0,9,0,14,0 84,0,46,0,69,0,19,0,44,0,40,0 39,0,43,0,55,0,48,0,80,0,72,0 7,0,23,0,36,0,67,0,30,0,3,0 64,0,12,0,62,0,63,0,79,0,4,0 70,0,77,0,32,0,18,0,11,0,2,0 60,0,59,0,71,0,1,0,82,0,76,0 57,0,51,0,29,0,31,0,61,0,75,0 10,0,35,0,42,0,6,0,65,0,33,0 27,0,28,0,50,0,8,0,20,0,16,0 74,0,78,0,26,0,47,0,53,0,86,0 5,0,22,0,37,0,34,0,66,0,81,0 13,0,52,0,73,0,83,0,45,0,21,0 85,0,2,0,44,0,25,0,54,0,59,0 38,0,61,0,60,0,46,0,70,0,79,0 75,0,71,0,84,0,3,0,33,0,39,0 36,0,41,0,6,0,15,0,64,0,50,0 9,0,69,0,29,0,53,0,80,0,20,0 49,0,28,0,18,0,56,0,74,0,40,0 47,0,8,0,22,0,67,0,58,0,73,0 1,0,21,0,66,0,19,0,23,0,11,0 25,0,51,0,77,0,81,0,4,0,14,0 30,0,86,0,13,0,85,0,57,0,35,0 37,0,45,0,17,0,26,0,31,0,62,0 10,0,63,0,83,0,43,0,68,0,76,0 5,0,55,0,82,0,32,0,24,0,78,0 16,0,48,0,34,0,65,0,52,0,12,0 42,0,72,0,29,0,7,0,27,0,56,0 33,0,47,0,77,0,46,0,36,0,9,0 67,0,51,0,54,0,79,0,40,0,1,0 45,0,81,0,70,0,30,0,64,0,71,0 19,0,6,0,18,0,3,0,61,0,86,0 5,0,57,0,80,0,59,0,26,0,15,0 78,0,39,0,63,0,28,0,34,0,58,0 25,0,42,0,24,0,84,0,16,0,31,0 85,0,68,0,37,0,20,0,65,0,23,0 14,0,17,0,8,0,66,0,83,0,60,0 4,0,32,0,52,0,43,0,7,0,69,0 21,0,75,0,55,0,74,0,10,0,38,0 72,0,62,0,11,0,49,0,44,0,13,0 48,0,22,0,82,0,27,0,41,0,35,0 76,0,53,0,12,0,2,0,73,0,50,0 ================================================ FILE: schedules/86_7.csv ================================================ 10,0,70,0,52,0,69,0,3,0,71,0 48,0,43,0,23,0,49,0,59,0,37,0 79,0,45,0,2,0,7,0,39,0,17,0 34,0,75,0,58,0,27,0,41,0,8,0 80,0,14,0,81,0,11,0,55,0,74,0 25,0,60,0,20,0,5,0,21,0,51,0 12,0,31,0,86,0,36,0,65,0,6,0 54,0,38,0,40,0,68,0,72,0,85,0 26,0,47,0,22,0,42,0,28,0,77,0 1,0,13,0,63,0,62,0,73,0,9,0 76,0,56,0,66,0,4,0,19,0,64,0 44,0,18,0,67,0,33,0,30,0,53,0 83,0,84,0,29,0,50,0,82,0,46,0 57,0,61,0,16,0,32,0,35,0,78,0 24,0,55,0,41,0,15,0,12,0,54,0 28,0,37,0,51,0,39,0,34,0,52,0 42,0,25,0,10,0,58,0,1,0,48,0 64,0,81,0,21,0,27,0,2,0,26,0 17,0,63,0,4,0,38,0,30,0,36,0 74,0,7,0,70,0,46,0,31,0,72,0 66,0,73,0,23,0,53,0,69,0,83,0 15,0,20,0,56,0,67,0,16,0,84,0 29,0,62,0,78,0,59,0,18,0,77,0 40,0,9,0,5,0,19,0,22,0,43,0 61,0,3,0,82,0,11,0,60,0,76,0 71,0,79,0,8,0,44,0,57,0,49,0 13,0,45,0,68,0,65,0,50,0,14,0 86,0,85,0,24,0,80,0,35,0,33,0 32,0,6,0,4,0,47,0,75,0,67,0 38,1,34,0,2,0,16,1,70,0,42,0 83,1,22,0,18,0,74,1,20,0,48,0 12,0,56,0,25,0,52,0,23,0,26,0 15,0,8,0,9,0,28,0,21,0,7,0 66,0,17,0,44,0,5,0,78,0,1,0 57,0,68,0,60,0,86,0,55,0,62,0 36,0,47,0,3,0,29,0,79,0,24,0 14,0,19,0,53,0,37,0,75,0,46,0 84,0,65,0,81,0,40,0,76,0,41,0 54,0,39,0,64,0,13,0,82,0,33,0 73,0,77,0,43,0,58,0,80,0,61,0 27,0,30,0,50,0,6,0,71,0,85,0 35,0,63,0,10,0,49,0,72,0,45,0 69,0,51,0,11,0,59,0,32,0,31,0 16,0,24,0,18,0,25,0,9,0,46,0 21,0,38,0,67,0,41,0,78,0,3,0 36,0,62,0,39,0,66,0,20,0,40,0 22,0,81,0,57,0,13,0,75,0,56,0 85,0,52,0,79,0,58,0,53,0,4,0 1,0,19,0,77,0,50,0,72,0,86,0 6,0,26,0,11,0,43,0,45,0,83,0 33,0,12,0,61,0,47,0,49,0,27,0 59,0,74,0,35,0,44,0,28,0,73,0 8,0,68,0,80,0,82,0,69,0,63,0 30,0,14,0,31,0,60,0,10,0,34,0 48,0,55,0,76,0,51,0,71,0,2,0 37,0,54,0,84,0,17,0,32,0,70,0 5,0,15,0,65,0,23,0,42,0,29,0 7,0,22,0,61,0,64,0,25,0,85,0 58,0,9,0,50,0,56,0,35,0,38,0 72,0,53,0,8,0,81,0,6,0,78,0 28,0,40,0,83,0,31,0,79,0,80,0 13,0,59,0,16,0,86,0,30,0,66,0 19,0,34,0,62,0,84,0,48,0,21,0 2,0,75,0,54,0,44,0,29,0,69,0 37,0,7,0,65,0,55,0,3,0,4,0 47,0,15,0,73,0,52,0,60,0,18,0 51,0,70,0,33,0,26,0,63,0,57,0 36,0,42,0,49,0,76,0,67,0,74,0 82,0,71,0,32,0,23,0,77,0,45,0 41,0,5,0,46,0,10,0,11,0,39,0 1,0,20,0,27,0,43,0,68,0,24,0 64,0,14,0,3,0,17,0,12,0,9,0 73,0,4,0,40,0,2,0,8,0,50,0 69,0,78,0,60,0,85,0,56,0,65,0 80,0,13,0,49,0,84,0,7,0,6,0 55,0,29,0,26,0,38,0,61,0,19,0 72,0,37,0,82,0,30,0,15,0,79,0 47,0,21,0,74,0,1,0,53,0,54,0 17,0,31,0,71,0,81,0,58,0,62,0 63,0,77,0,52,0,5,0,48,0,16,0 44,0,64,0,32,0,86,0,10,0,43,0 57,0,46,0,20,0,28,0,76,0,45,0 42,0,75,0,83,0,51,0,68,0,12,0 41,0,25,0,36,0,59,0,14,0,33,0 24,0,11,0,34,0,22,0,67,0,66,0 27,0,35,0,23,0,39,0,70,0,18,0 49,0,50,0,53,0,5,0,62,0,3,0 32,0,30,0,58,0,74,0,2,0,65,0 28,0,16,0,85,0,55,0,1,0,82,0 45,0,69,0,48,0,81,0,38,0,47,0 41,0,6,0,19,0,73,0,42,0,79,0 24,0,52,0,21,0,61,0,13,0,83,0 26,0,31,0,66,0,18,0,37,0,8,0 43,0,75,0,71,0,36,0,84,0,35,0 7,0,12,0,59,0,34,0,20,0,63,0 56,0,33,0,17,0,40,0,77,0,10,0 68,0,44,0,70,0,15,0,25,0,11,0 39,0,72,0,67,0,29,0,14,0,57,0 78,0,27,0,9,0,80,0,76,0,54,0 46,0,86,0,4,0,22,0,23,0,51,0 60,0,38,0,83,0,64,0,16,0,74,0 ================================================ FILE: schedules/86_8.csv ================================================ 36,0,22,0,55,0,67,0,54,0,82,0 80,0,7,0,20,0,47,0,72,0,59,0 8,0,48,0,35,0,15,0,4,0,18,0 65,0,19,0,30,0,28,0,76,0,33,0 5,0,58,0,60,0,6,0,50,0,66,0 39,0,38,0,64,0,83,0,62,0,45,0 51,0,10,0,49,0,26,0,73,0,12,0 71,0,74,0,25,0,56,0,9,0,85,0 68,0,16,0,46,0,43,0,14,0,70,0 75,0,61,0,27,0,69,0,29,0,42,0 84,0,21,0,1,0,3,0,86,0,53,0 37,0,23,0,24,0,2,0,40,0,57,0 17,0,34,0,77,0,13,0,78,0,11,0 32,0,79,0,63,0,81,0,41,0,31,0 44,0,82,0,85,0,52,0,30,0,45,0 38,0,18,0,54,0,46,0,60,0,26,0 27,0,62,0,35,0,10,0,22,0,6,0 80,0,70,0,66,0,1,0,4,0,19,0 43,0,76,0,39,0,75,0,3,0,73,0 34,0,7,0,61,0,5,0,71,0,86,0 83,0,68,0,69,0,65,0,17,0,58,0 81,0,11,0,56,0,48,0,55,0,57,0 15,0,78,0,42,0,72,0,23,0,25,0 84,0,16,0,49,0,20,0,77,0,37,0 52,0,31,0,51,0,40,0,53,0,74,0 21,0,41,0,2,0,59,0,29,0,9,0 50,0,8,0,14,0,32,0,44,0,67,0 24,0,33,0,64,0,36,0,79,0,13,0 28,0,47,0,56,0,12,0,63,0,75,0 39,1,71,0,35,0,82,1,17,0,42,0 4,0,73,0,5,0,37,0,54,0,25,0 30,0,18,0,10,0,23,0,58,0,74,0 26,0,48,0,31,0,16,0,34,0,85,0 53,0,77,0,69,0,19,0,57,0,8,0 3,0,29,0,83,0,49,0,40,0,14,0 13,0,51,0,72,0,32,0,84,0,28,0 67,0,76,0,66,0,68,0,47,0,27,0 11,0,65,0,2,0,7,0,45,0,50,0 20,0,41,0,44,0,55,0,1,0,64,0 38,0,86,0,33,0,59,0,70,0,63,0 15,0,60,0,24,0,80,0,12,0,22,0 52,0,78,0,9,0,62,0,79,0,46,0 6,0,36,0,61,0,43,0,81,0,21,0 54,0,72,0,66,0,56,0,8,0,34,0 4,0,57,0,47,0,83,0,71,0,16,0 65,0,29,0,37,0,10,0,48,0,64,0 73,0,63,0,18,0,42,0,7,0,84,0 45,0,51,0,14,0,60,0,27,0,77,0 50,0,85,0,53,0,46,0,20,0,33,0 49,0,17,0,67,0,43,0,25,0,52,0 61,0,19,0,55,0,39,0,23,0,12,0 69,0,2,0,79,0,6,0,30,0,1,0 13,0,41,0,35,0,76,0,80,0,40,0 86,0,28,0,9,0,15,0,81,0,26,0 21,0,22,0,78,0,58,0,38,0,31,0 68,0,59,0,62,0,3,0,24,0,44,0 11,0,75,0,74,0,82,0,5,0,32,0 70,0,23,0,56,0,36,0,65,0,20,0 37,0,79,0,18,0,43,0,50,0,51,0 66,0,45,0,42,0,33,0,16,0,41,0 1,0,72,0,52,0,14,0,63,0,35,0 19,0,26,0,29,0,6,0,7,0,17,0 58,0,13,0,67,0,57,0,61,0,3,0 47,0,73,0,15,0,82,0,62,0,2,0 11,0,31,0,49,0,46,0,69,0,24,0 8,0,25,0,39,0,36,0,68,0,10,0 78,0,48,0,71,0,84,0,76,0,44,0 77,0,80,0,9,0,38,0,30,0,5,0 70,0,75,0,34,0,53,0,81,0,22,0 28,0,55,0,85,0,60,0,4,0,21,0 40,0,32,0,64,0,54,0,27,0,86,0 59,0,12,0,42,0,83,0,74,0,79,0 50,0,23,0,26,0,69,0,52,0,47,0 14,0,71,0,36,0,41,0,37,0,19,0 29,0,24,0,20,0,63,0,51,0,66,0 72,0,10,0,5,0,44,0,17,0,2,0 21,0,76,0,62,0,49,0,70,0,57,0 6,0,40,0,73,0,55,0,38,0,16,0 46,0,65,0,15,0,84,0,34,0,39,0 12,0,3,0,81,0,77,0,33,0,35,0 45,0,32,0,53,0,4,0,58,0,9,0 85,0,22,0,64,0,61,0,8,0,11,0 18,0,25,0,80,0,27,0,82,0,83,0 7,0,54,0,68,0,74,0,78,0,28,0 30,0,43,0,56,0,13,0,31,0,86,0 48,0,75,0,1,0,60,0,59,0,67,0 50,0,29,0,15,0,77,0,55,0,71,0 42,0,62,0,14,0,65,0,53,0,5,0 47,0,17,0,3,0,38,0,37,0,85,0 44,0,40,0,25,0,79,0,19,0,21,0 24,0,34,0,76,0,18,0,32,0,6,0 31,0,12,0,27,0,20,0,8,0,9,0 16,0,39,0,81,0,1,0,51,0,7,0 69,0,70,0,67,0,64,0,35,0,78,0 45,0,56,0,84,0,61,0,59,0,10,0 74,0,4,0,22,0,26,0,2,0,13,0 73,0,83,0,52,0,48,0,28,0,36,0 43,0,54,0,63,0,80,0,58,0,11,0 41,0,46,0,57,0,75,0,30,0,72,0 49,0,82,0,33,0,23,0,68,0,60,0 86,0,65,0,79,0,66,0,85,0,35,0 7,0,69,0,14,0,56,0,38,0,15,0 39,0,5,0,47,0,18,0,78,0,29,0 77,0,59,0,4,0,76,0,31,0,64,0 27,0,58,0,1,0,24,0,28,0,71,0 2,0,19,0,16,0,75,0,54,0,52,0 36,0,12,0,30,0,11,0,84,0,40,0 6,0,82,0,70,0,51,0,3,0,41,0 33,0,10,0,83,0,67,0,21,0,34,0 23,0,17,0,46,0,32,0,73,0,66,0 53,0,37,0,26,0,61,0,80,0,68,0 44,0,43,0,57,0,42,0,22,0,9,0 60,0,25,0,62,0,81,0,20,0,13,0 55,0,45,0,8,0,63,0,74,0,49,0 86,0,72,0,82,0,48,0,50,0,39,0 ================================================ FILE: schedules/86_9.csv ================================================ 6,0,31,0,76,0,82,0,73,0,70,0 15,0,46,0,22,0,44,0,59,0,41,0 66,0,71,0,81,0,21,0,14,0,65,0 54,0,84,0,32,0,47,0,16,0,79,0 50,0,56,0,58,0,57,0,18,0,74,0 78,0,4,0,30,0,67,0,85,0,28,0 12,0,35,0,52,0,68,0,63,0,20,0 11,0,75,0,55,0,53,0,5,0,80,0 36,0,13,0,60,0,19,0,37,0,48,0 1,0,26,0,24,0,69,0,17,0,40,0 23,0,49,0,2,0,33,0,51,0,38,0 10,0,27,0,9,0,86,0,42,0,45,0 25,0,7,0,29,0,8,0,34,0,72,0 3,0,77,0,64,0,83,0,62,0,43,0 39,0,85,0,84,0,61,0,73,0,56,0 80,0,21,0,59,0,78,0,60,0,32,0 6,0,47,0,53,0,15,0,20,0,24,0 82,0,4,0,5,0,48,0,69,0,74,0 17,0,75,0,28,0,13,0,51,0,66,0 31,0,33,0,67,0,10,0,46,0,79,0 14,0,34,0,41,0,3,0,9,0,54,0 19,0,12,0,43,0,40,0,25,0,81,0 63,0,65,0,83,0,45,0,29,0,26,0 76,0,30,0,44,0,77,0,18,0,2,0 38,0,62,0,8,0,42,0,50,0,36,0 23,0,58,0,11,0,68,0,86,0,1,0 27,0,22,0,7,0,49,0,35,0,57,0 70,0,64,0,52,0,71,0,61,0,16,0 37,0,39,0,20,0,72,0,55,0,9,0 3,0,59,0,73,0,48,0,29,0,24,0 51,0,5,0,56,0,78,0,81,0,6,0 60,0,47,0,83,0,25,0,75,0,85,0 15,0,80,0,30,0,84,0,38,0,58,0 32,0,18,0,45,0,1,0,34,0,49,0 61,0,42,0,7,0,28,0,12,0,31,0 22,0,36,0,77,0,11,0,54,0,71,0 52,0,17,0,46,0,19,0,2,0,14,0 44,0,66,0,50,0,70,0,63,0,55,0 43,0,8,0,79,0,76,0,68,0,69,0 23,0,57,0,53,0,26,0,10,0,4,0 35,0,62,0,13,0,33,0,41,0,39,0 86,0,21,0,40,0,64,0,72,0,74,0 27,0,82,0,16,0,67,0,37,0,65,0 42,0,34,0,73,0,15,0,83,0,71,0 29,0,60,0,55,0,14,0,31,0,47,0 85,0,70,0,77,0,8,0,9,0,1,0 18,0,78,0,84,0,36,0,23,0,25,0 32,0,50,0,35,0,5,0,61,0,24,0 4,0,79,0,45,0,51,0,22,0,80,0 58,0,63,0,39,0,21,0,69,0,7,0 54,0,86,0,57,0,59,0,82,0,20,0 53,0,19,0,68,0,66,0,37,0,33,0 16,0,49,0,81,0,44,0,13,0,26,0 65,0,6,0,30,0,46,0,40,0,62,0 28,0,38,0,10,0,11,0,74,0,52,0 41,0,76,0,48,0,17,0,64,0,27,0 12,0,72,0,3,0,75,0,56,0,2,0 43,0,18,0,24,0,67,0,42,0,39,0 29,0,23,0,80,0,77,0,69,0,35,0 68,0,44,0,78,0,14,0,83,0,82,0 1,0,55,0,61,0,59,0,25,0,33,0 85,0,16,0,86,0,36,0,6,0,66,0 81,0,45,0,48,0,52,0,15,0,54,0 41,0,28,0,73,0,40,0,50,0,60,0 71,0,51,0,10,0,37,0,7,0,3,0 64,0,63,0,75,0,84,0,22,0,31,0 65,0,4,0,2,0,58,0,43,0,32,0 21,0,56,0,11,0,47,0,19,0,62,0 67,0,57,0,5,0,76,0,38,0,72,0 17,0,49,0,9,0,30,0,12,0,53,0 70,0,79,0,34,0,27,0,26,0,20,0 46,0,8,0,71,0,74,0,13,0,23,0 33,0,36,0,69,0,64,0,28,0,15,0 48,0,16,0,1,0,51,0,31,0,83,0 66,0,47,0,58,0,82,0,77,0,52,0 43,0,45,0,10,0,72,0,35,0,44,0 9,0,65,0,38,0,22,0,6,0,60,0 14,0,56,0,26,0,30,0,25,0,86,0 27,0,24,0,46,0,84,0,55,0,4,0 7,0,13,0,67,0,61,0,2,0,20,0 3,0,53,0,8,0,63,0,81,0,32,0 79,0,73,0,18,0,62,0,12,0,5,0 57,0,42,0,41,0,21,0,70,0,75,0 11,0,40,0,29,0,17,0,78,0,37,0 74,0,34,0,59,0,76,0,19,0,85,0 80,0,50,0,68,0,39,0,49,0,54,0 31,0,25,0,15,0,66,0,9,0,4,0 83,0,72,0,61,0,81,0,36,0,30,0 60,0,71,0,5,0,43,0,1,0,84,0 48,0,63,0,77,0,86,0,28,0,46,0 37,0,22,0,21,0,8,0,73,0,23,0 58,0,35,0,6,0,79,0,3,0,17,0 32,0,29,0,62,0,27,0,68,0,75,0 2,0,74,0,47,0,70,0,39,0,78,0 55,0,69,0,12,0,45,0,57,0,16,0 80,0,14,0,20,0,51,0,42,0,64,0 26,0,85,0,52,0,18,0,7,0,33,0 24,0,82,0,19,0,49,0,10,0,41,0 67,0,40,0,56,0,44,0,34,0,53,0 59,0,65,0,76,0,50,0,13,0,11,0 54,0,61,0,21,0,38,0,4,0,3,0 2,0,15,0,39,0,60,0,8,0,57,0 74,0,25,0,20,0,45,0,73,0,77,0 26,0,48,0,72,0,42,0,22,0,58,0 86,0,35,0,78,0,71,0,19,0,55,0 37,0,24,0,62,0,44,0,31,0,85,0 64,0,34,0,68,0,13,0,30,0,47,0 69,0,66,0,83,0,18,0,11,0,27,0 38,0,7,0,81,0,79,0,75,0,82,0 50,0,51,0,53,0,46,0,29,0,43,0 70,0,28,0,23,0,5,0,54,0,65,0 40,0,84,0,49,0,9,0,52,0,59,0 67,0,1,0,36,0,12,0,6,0,41,0 17,0,33,0,63,0,56,0,16,0,80,0 14,0,76,0,77,0,32,0,10,0,39,0 79,0,78,0,57,0,66,0,61,0,48,0 22,0,69,0,86,0,81,0,34,0,50,0 82,0,11,0,25,0,35,0,64,0,2,0 85,0,42,0,13,0,5,0,40,0,3,0 60,0,70,0,62,0,45,0,7,0,53,0 9,0,33,0,75,0,24,0,58,0,71,0 15,0,84,0,12,0,29,0,76,0,21,0 14,0,37,0,74,0,49,0,43,0,63,0 56,0,38,0,20,0,46,0,1,0,83,0 54,0,67,0,51,0,26,0,55,0,8,0 30,0,32,0,31,0,52,0,23,0,41,0 10,0,17,0,47,0,65,0,36,0,73,0 44,0,6,0,19,0,28,0,27,0,80,0 16,0,72,0,18,0,68,0,59,0,4,0 ================================================ FILE: schedules/87_1.csv ================================================ 30,0,56,0,20,0,38,0,37,0,42,0 73,0,66,0,71,0,21,0,16,0,61,0 8,0,19,0,83,0,54,0,5,0,60,0 22,0,25,0,82,0,39,0,81,0,50,0 41,0,58,0,32,0,3,0,29,0,70,0 9,0,87,0,17,0,45,0,85,0,65,0 48,0,44,0,79,0,75,0,49,0,4,0 13,0,11,0,2,0,15,0,18,0,40,0 62,0,68,0,51,0,46,0,12,0,23,0 27,0,10,0,84,0,24,0,26,0,35,0 47,0,1,0,28,0,64,0,52,0,80,0 14,0,72,0,43,0,76,0,34,0,57,0 55,0,86,0,6,0,67,0,31,0,53,0 77,0,69,0,36,0,59,0,63,0,74,0 33,0,7,0,65,1,78,0,73,1,82,1 ================================================ FILE: schedules/87_10.csv ================================================ 8,0,10,0,66,0,33,0,7,0,34,0 50,0,2,0,48,0,45,0,4,0,75,0 70,0,32,0,72,0,12,0,51,0,46,0 79,0,21,0,59,0,17,0,49,0,40,0 27,0,37,0,24,0,86,0,62,0,1,0 29,0,44,0,42,0,85,0,6,0,67,0 84,0,26,0,78,0,64,0,73,0,11,0 65,0,57,0,87,0,56,0,69,0,22,0 23,0,71,0,47,0,55,0,9,0,76,0 15,0,60,0,18,0,36,0,68,0,35,0 16,0,30,0,14,0,82,0,38,0,31,0 19,0,63,0,5,0,58,0,41,0,77,0 3,0,39,0,81,0,20,0,53,0,13,0 61,0,43,0,52,0,83,0,54,0,80,0 25,0,78,0,1,0,28,0,74,0,44,0 84,0,56,0,79,0,51,0,34,0,50,0 24,0,55,0,64,0,7,0,45,0,49,0 47,0,22,0,6,0,26,0,60,0,32,0 46,0,21,0,36,0,19,0,10,0,14,0 38,0,85,0,66,0,70,0,3,0,17,0 16,0,77,0,33,0,86,0,4,0,71,0 43,0,9,0,74,0,39,0,58,0,48,0 62,0,42,0,65,0,13,0,11,0,5,0 63,0,76,0,8,0,27,0,83,0,25,0 41,0,54,0,73,0,15,0,40,0,69,0 52,0,23,0,35,0,37,0,31,0,75,0 87,0,53,0,18,0,61,0,82,0,72,0 59,0,12,0,68,0,20,0,29,0,30,0 80,0,81,0,28,0,2,0,67,0,57,0 1,0,34,0,5,0,85,0,26,0,49,0 10,0,27,0,77,0,65,0,78,0,9,0 14,0,66,0,32,0,83,0,48,0,71,0 35,0,44,0,62,0,43,0,17,0,47,0 64,0,76,0,40,0,3,0,36,0,51,0 53,0,86,0,56,0,23,0,60,0,58,0 13,0,25,0,82,0,41,0,68,0,2,0 12,0,61,0,42,0,75,0,73,0,50,0 31,0,46,0,4,0,15,0,63,0,67,0 39,0,6,0,24,0,57,0,59,0,8,0 69,0,28,0,19,0,84,0,29,0,72,0 79,0,87,0,30,0,33,0,54,0,11,0 20,0,80,0,38,0,22,0,7,0,37,0 18,0,70,0,81,0,21,0,55,0,74,0 45,0,1,0,42,0,16,0,52,0,58,0 41,0,66,0,49,0,61,0,36,0,4,0 75,0,76,0,10,0,26,0,39,0,53,0 63,0,44,0,84,0,13,0,24,0,14,0 34,0,12,0,9,0,83,0,2,0,46,0 6,0,51,0,5,0,28,0,30,0,27,0 19,0,74,0,73,0,86,0,47,0,38,0 22,0,82,0,55,0,62,0,50,0,52,0 37,0,11,0,71,0,59,0,15,0,70,0 56,0,21,0,20,0,85,0,33,0,45,0 72,0,23,0,80,0,79,0,65,0,8,0 68,0,67,0,54,0,48,0,78,0,17,0 77,0,25,0,81,0,40,0,87,0,35,0 57,0,3,0,16,0,60,0,29,0,43,0 7,0,64,0,31,0,69,0,32,0,18,0 83,0,30,0,5,0,75,0,22,0,44,0 51,0,63,0,53,0,42,0,49,0,37,0 62,0,73,0,85,0,4,0,80,0,10,0 34,0,39,0,41,0,21,0,78,0,23,0 9,0,70,0,86,0,40,0,67,0,14,0 45,0,57,0,35,0,54,0,27,0,84,0 77,0,8,0,47,0,64,0,52,0,20,0 26,0,68,0,69,0,58,0,24,0,3,0 46,0,13,0,74,0,56,0,66,0,50,0 43,0,12,0,36,0,82,0,79,0,7,0 18,0,1,0,17,0,71,0,2,0,29,0 28,0,32,0,59,0,76,0,16,0,87,0 60,0,72,0,11,0,55,0,31,0,25,0 15,0,6,0,38,0,65,0,81,0,48,0 61,0,33,0,37,0,19,0,68,0,64,0 3,0,46,0,86,0,30,0,78,0,42,0 23,0,77,0,66,0,51,0,54,0,62,0 56,0,85,0,7,0,40,0,52,0,39,0 67,0,8,0,43,0,84,0,21,0,22,0 72,0,36,0,2,0,44,0,26,0,59,0 18,0,20,0,50,0,24,0,11,0,76,0 83,0,19,0,87,0,13,0,1,0,55,0 61,0,10,0,6,0,70,0,25,0,16,0 69,0,27,0,33,0,81,0,60,0,49,0 48,0,47,0,12,0,31,0,57,0,41,0 17,0,15,0,53,0,80,0,45,0,14,0 58,0,28,0,38,0,34,0,35,0,4,0 79,0,9,0,5,0,73,0,29,0,32,0 82,0,75,0,65,0,71,0,63,0,74,0 86,0,39,0,83,0,11,0,36,0,6,0 49,0,70,0,44,0,50,0,19,0,23,0 68,0,27,0,31,0,42,0,22,0,66,0 13,0,40,0,80,0,12,0,78,0,60,0 59,0,58,0,33,0,84,0,25,0,46,0 4,0,55,0,32,0,53,0,35,0,30,0 24,0,75,0,81,0,72,0,85,0,54,0 57,0,7,0,15,0,9,0,61,0,21,0 17,0,16,0,34,0,65,0,20,0,73,0 48,0,79,0,3,0,62,0,18,0,63,0 51,0,8,0,29,0,41,0,14,0,74,0 2,0,38,0,52,0,87,0,64,0,5,0 56,0,10,0,67,0,82,0,47,0,1,0 76,0,37,0,69,0,77,0,43,0,45,0 71,0,13,0,54,0,26,0,28,0,31,0 24,0,19,0,16,0,53,0,66,0,78,0 62,0,83,0,49,0,15,0,84,0,39,0 32,0,58,0,61,0,85,0,11,0,81,0 74,0,33,0,52,0,12,0,6,0,3,0 65,0,7,0,35,0,67,0,50,0,59,0 47,0,4,0,25,0,21,0,5,0,69,0 14,0,57,0,18,0,73,0,34,0,37,0 43,0,2,0,51,0,20,0,86,0,55,0 22,0,72,0,40,0,63,0,23,0,1,0 82,0,29,0,64,0,80,0,46,0,27,0 26,0,48,0,70,0,56,0,30,0,77,0 42,0,60,0,41,0,38,0,79,0,76,0 17,0,75,0,9,0,36,0,28,0,8,0 71,0,68,0,87,0,10,0,44,0,45,0 78,0,50,0,43,0,33,0,15,0,5,0 21,0,85,0,35,0,16,0,13,0,51,0 14,0,7,0,47,0,27,0,3,0,72,0 63,0,26,0,86,0,52,0,66,0,57,0 73,0,49,0,30,0,58,0,76,0,2,0 22,0,11,0,74,0,77,0,34,0,53,0 32,0,10,0,83,0,23,0,42,0,17,0 20,0,71,0,67,0,61,0,79,0,69,0 48,0,46,0,60,0,8,0,44,0,37,0 54,0,4,0,64,0,65,0,1,0,12,0 84,0,55,0,40,0,68,0,75,0,6,0 45,0,9,0,59,0,81,0,82,0,19,0 36,0,25,0,29,0,56,0,62,0,38,0 87,0,31,0,80,0,41,0,70,0,24,0 28,0,39,0,42,0,18,0,47,0,33,0 49,0,72,0,20,0,74,0,57,0,10,0 76,0,78,0,22,0,14,0,35,0,61,0 15,0,34,0,75,0,32,0,86,0,13,0 46,0,79,0,1,0,6,0,7,0,77,0 55,0,3,0,54,0,56,0,59,0,5,0 58,0,21,0,66,0,29,0,65,0,37,0 36,0,23,0,85,0,48,0,87,0,27,0 50,0,25,0,17,0,30,0,39,0,64,0 51,0,4,0,60,0,24,0,83,0,82,0 52,0,41,0,71,0,84,0,53,0,81,0 28,0,73,0,68,0,70,0,63,0,43,0 45,0,26,0,38,0,18,0,67,0,12,0 44,0,11,0,69,0,80,0,9,0,16,0 40,0,62,0,31,0,8,0,19,0,2,0 ================================================ FILE: schedules/87_11.csv ================================================ 43,0,24,0,70,0,52,0,47,0,5,0 23,0,86,0,82,0,68,0,41,0,81,0 57,0,53,0,39,0,78,0,73,0,45,0 38,0,46,0,22,0,15,0,36,0,79,0 55,0,50,0,59,0,27,0,65,0,16,0 42,0,25,0,51,0,7,0,54,0,13,0 3,0,18,0,49,0,83,0,58,0,61,0 34,0,17,0,2,0,85,0,69,0,8,0 4,0,77,0,56,0,72,0,30,0,76,0 66,0,26,0,19,0,20,0,35,0,48,0 62,0,12,0,1,0,9,0,11,0,60,0 21,0,44,0,37,0,67,0,33,0,10,0 29,0,74,0,87,0,84,0,64,0,31,0 71,0,80,0,63,0,75,0,14,0,32,0 40,0,28,0,70,0,6,0,42,0,34,0 3,0,69,0,77,0,27,0,41,0,39,0 55,0,45,0,61,0,24,0,20,0,82,0 13,0,68,0,76,0,38,0,85,0,59,0 60,0,19,0,44,0,73,0,72,0,8,0 84,0,57,0,7,0,21,0,17,0,11,0 48,0,9,0,46,0,56,0,74,0,33,0 16,0,2,0,31,0,71,0,1,0,49,0 50,0,32,0,52,0,87,0,53,0,51,0 64,0,35,0,12,0,81,0,78,0,86,0 62,0,4,0,29,0,18,0,43,0,75,0 80,0,6,0,25,0,66,0,22,0,58,0 37,0,47,0,26,0,14,0,5,0,15,0 23,0,65,0,36,0,10,0,30,0,40,0 79,0,67,0,63,0,83,0,28,0,54,0 8,1,9,0,20,0,42,1,85,0,52,0 74,1,3,0,1,0,38,0,17,0,44,0 71,0,62,0,35,0,13,0,50,0,39,0 25,0,56,0,68,0,18,0,60,0,45,0 4,0,15,0,69,0,51,0,49,0,82,0 46,0,55,0,87,0,76,0,14,0,70,0 83,0,22,0,34,0,5,0,86,0,7,0 53,0,19,0,48,0,10,0,47,0,80,0 31,0,24,0,75,0,40,0,57,0,81,0 78,0,32,0,58,0,79,0,27,0,37,0 30,0,29,0,41,0,12,0,67,0,59,0 64,0,77,0,73,0,28,0,26,0,16,0 21,0,6,0,72,0,54,0,63,0,23,0 65,0,11,0,33,0,61,0,2,0,43,0 84,0,36,0,14,0,66,0,4,0,68,0 8,0,55,0,38,0,80,0,49,0,57,0 79,0,31,0,45,0,50,0,62,0,76,0 83,0,32,0,29,0,42,0,69,0,40,0 67,0,74,0,15,0,7,0,75,0,16,0 12,0,28,0,82,0,37,0,85,0,46,0 24,0,64,0,13,0,58,0,44,0,2,0 65,0,53,0,21,0,35,0,77,0,18,0 43,0,63,0,26,0,59,0,10,0,56,0 22,0,70,0,73,0,61,0,30,0,84,0 39,0,48,0,72,0,36,0,11,0,25,0 20,0,5,0,81,0,17,0,27,0,6,0 78,0,66,0,54,0,1,0,41,0,52,0 60,0,34,0,51,0,23,0,47,0,71,0 87,0,3,0,86,0,9,0,19,0,33,0 38,0,58,0,7,0,4,0,12,0,10,0 8,0,77,0,65,0,13,0,70,0,75,0 53,0,42,0,59,0,62,0,36,0,24,0 48,0,22,0,63,0,69,0,57,0,37,0 52,0,55,0,44,0,83,0,26,0,17,0 23,0,5,0,56,0,29,0,28,0,66,0 33,0,31,0,20,0,68,0,64,0,72,0 82,0,47,0,73,0,74,0,54,0,40,0 86,0,27,0,76,0,2,0,25,0,71,0 21,0,81,0,34,0,1,0,45,0,43,0 51,0,18,0,67,0,46,0,78,0,84,0 39,0,79,0,80,0,87,0,16,0,60,0 85,0,30,0,11,0,49,0,6,0,19,0 15,0,61,0,9,0,35,0,32,0,41,0 14,0,50,0,42,0,3,0,22,0,64,0 2,0,48,0,54,0,12,0,55,0,77,0 62,0,68,0,37,0,52,0,65,0,7,0 58,0,45,0,75,0,31,0,17,0,23,0 33,0,53,0,18,0,16,0,38,0,66,0 83,0,43,0,4,0,19,0,71,0,46,0 35,0,5,0,60,0,82,0,84,0,67,0 9,0,59,0,40,0,21,0,80,0,78,0 6,0,56,0,47,0,13,0,32,0,3,0 10,0,49,0,20,0,28,0,87,0,25,0 85,0,57,0,86,0,79,0,14,0,44,0 69,0,61,0,81,0,50,0,26,0,72,0 74,0,24,0,30,0,34,0,27,0,15,0 41,0,11,0,8,0,73,0,76,0,36,0 70,0,29,0,1,0,63,0,51,0,39,0 77,0,45,0,19,0,59,0,22,0,5,0 10,0,6,0,75,0,16,0,52,0,84,0 65,0,60,0,67,0,58,0,48,0,14,0 61,0,42,0,78,0,31,0,47,0,38,0 17,0,24,0,37,0,50,0,9,0,25,0 81,0,11,0,71,0,87,0,44,0,56,0 18,0,82,0,76,0,64,0,63,0,30,0 41,0,28,0,4,0,53,0,2,0,26,0 36,0,27,0,54,0,80,0,35,0,43,0 68,0,8,0,15,0,21,0,12,0,3,0 66,0,72,0,40,0,86,0,55,0,51,0 13,0,79,0,49,0,34,0,33,0,29,0 70,0,23,0,74,0,57,0,62,0,83,0 46,0,7,0,20,0,1,0,69,0,73,0 85,0,32,0,10,0,39,0,18,0,22,0 48,0,6,0,38,0,24,0,71,0,41,0 30,0,31,0,60,0,54,0,3,0,53,0 15,0,76,0,55,0,44,0,43,0,78,0 17,0,12,0,16,0,82,0,42,0,72,0 83,0,59,0,87,0,37,0,66,0,8,0 45,0,14,0,11,0,74,0,51,0,28,0 58,0,86,0,36,0,50,0,77,0,29,0 21,0,69,0,64,0,70,0,79,0,19,0 75,0,49,0,26,0,39,0,9,0,68,0 20,0,2,0,84,0,62,0,40,0,56,0 80,0,34,0,65,0,67,0,4,0,73,0 57,0,33,0,5,0,1,0,25,0,32,0 7,0,81,0,35,0,63,0,85,0,47,0 23,0,27,0,52,0,61,0,46,0,13,0 18,0,15,0,59,0,31,0,70,0,86,0 69,0,68,0,58,0,71,0,53,0,74,0 40,0,64,0,49,0,45,0,41,0,37,0 22,0,16,0,76,0,29,0,9,0,54,0 84,0,25,0,79,0,12,0,26,0,65,0 8,0,1,0,83,0,35,0,82,0,6,0 61,0,87,0,47,0,36,0,21,0,75,0 42,0,10,0,27,0,57,0,66,0,60,0 5,0,80,0,46,0,44,0,72,0,62,0 63,0,78,0,34,0,77,0,11,0,20,0 13,0,67,0,52,0,4,0,55,0,81,0 19,0,39,0,24,0,14,0,17,0,56,0 32,0,28,0,7,0,30,0,43,0,48,0 50,0,73,0,85,0,38,0,23,0,33,0 51,0,3,0,35,0,2,0,79,0,59,0 6,0,36,0,44,0,69,0,12,0,31,0 75,0,53,0,25,0,11,0,34,0,82,0 62,0,61,0,16,0,86,0,63,0,4,0 81,0,39,0,54,0,58,0,19,0,15,0 49,0,66,0,17,0,32,0,67,0,76,0 71,0,9,0,10,0,55,0,73,0,5,0 51,0,56,0,85,0,83,0,65,0,64,0 74,0,41,0,22,0,21,0,13,0,20,0 23,0,43,0,84,0,42,0,77,0,37,0 52,0,14,0,72,0,38,0,2,0,29,0 57,0,30,0,47,0,68,0,50,0,46,0 1,0,27,0,18,0,87,0,48,0,40,0 78,0,60,0,8,0,24,0,28,0,33,0 45,0,3,0,7,0,26,0,80,0,70,0 32,0,36,0,31,0,55,0,19,0,34,0 59,0,44,0,39,0,20,0,4,0,23,0 83,0,72,0,13,0,53,0,84,0,15,0 17,0,54,0,10,0,64,0,46,0,62,0 52,0,21,0,73,0,48,0,49,0,42,0 66,0,50,0,2,0,63,0,74,0,60,0 43,0,5,0,41,0,87,0,58,0,85,0 16,0,25,0,81,0,30,0,8,0,14,0 9,0,67,0,47,0,6,0,45,0,57,0 40,0,77,0,79,0,61,0,7,0,68,0 51,0,27,0,33,0,75,0,12,0,22,0 28,0,1,0,80,0,24,0,76,0,69,0 78,0,29,0,82,0,65,0,3,0,71,0 37,0,70,0,38,0,11,0,56,0,35,0 26,0,42,0,74,0,86,0,18,0,8,0 ================================================ FILE: schedules/87_12.csv ================================================ 83,0,32,0,82,0,15,0,74,0,86,0 17,0,78,0,24,0,85,0,63,0,29,0 71,0,20,0,46,0,64,0,58,0,72,0 33,0,16,0,6,0,77,0,26,0,87,0 7,0,53,0,3,0,23,0,14,0,38,0 35,0,12,0,68,0,45,0,9,0,36,0 5,0,42,0,52,0,70,0,67,0,4,0 54,0,25,0,13,0,22,0,41,0,56,0 21,0,47,0,19,0,79,0,28,0,30,0 1,0,62,0,50,0,37,0,8,0,31,0 59,0,76,0,11,0,18,0,34,0,2,0 73,0,61,0,48,0,81,0,51,0,27,0 84,0,55,0,44,0,40,0,39,0,10,0 57,0,80,0,75,0,69,0,60,0,43,0 49,0,66,0,41,0,65,0,36,0,5,0 26,0,17,0,83,0,54,0,64,0,3,0 15,0,9,0,47,0,52,0,38,0,24,0 79,0,76,0,12,0,20,0,23,0,1,0 67,0,53,0,28,0,68,0,74,0,50,0 63,0,71,0,37,0,30,0,11,0,48,0 2,0,4,0,10,0,43,0,58,0,39,0 65,0,13,0,62,0,44,0,82,0,80,0 21,0,56,0,73,0,72,0,35,0,69,0 49,0,87,0,25,0,34,0,84,0,29,0 18,0,42,0,16,0,45,0,27,0,22,0 6,0,61,0,77,0,55,0,19,0,7,0 32,0,31,0,70,0,60,0,40,0,51,0 81,0,86,0,46,0,78,0,57,0,59,0 75,0,66,0,14,0,85,0,33,0,8,0 38,0,10,0,80,0,48,0,24,0,67,0 28,0,4,0,29,0,13,0,71,0,11,0 64,0,43,0,53,0,49,0,42,0,9,0 18,0,47,0,3,0,69,0,20,0,74,0 39,0,87,0,27,0,12,0,31,0,41,0 73,0,60,0,59,0,37,0,25,0,15,0 78,0,62,0,32,0,23,0,5,0,55,0 33,0,72,0,14,0,65,0,30,0,6,0 75,0,45,0,19,0,54,0,46,0,17,0 56,0,85,0,36,0,82,0,61,0,81,0 50,0,77,0,8,0,51,0,21,0,84,0 26,0,22,0,66,0,57,0,52,0,7,0 58,0,40,0,83,0,34,0,68,0,79,0 1,0,44,0,86,0,16,0,35,0,2,0 63,0,70,0,12,0,76,0,73,0,10,0 28,0,3,0,25,0,62,0,15,0,42,0 31,0,11,0,81,0,6,0,53,0,5,0 20,0,67,0,43,0,65,0,46,0,21,0 41,0,84,0,17,0,51,0,7,0,72,0 36,0,34,0,38,0,22,0,32,0,54,0 13,0,57,0,30,0,45,0,23,0,68,0 24,0,26,0,39,0,8,0,18,0,70,0 71,0,52,0,60,0,16,0,79,0,85,0 14,0,58,0,80,0,86,0,76,0,64,0 69,0,50,0,75,0,61,0,29,0,66,0 83,0,55,0,33,0,56,0,59,0,48,0 77,0,63,0,35,0,47,0,49,0,40,0 4,0,19,0,82,0,2,0,1,0,27,0 74,0,87,0,78,0,37,0,9,0,44,0 62,0,16,0,38,0,41,0,81,0,20,0 7,0,64,0,65,0,8,0,79,0,24,0 14,0,61,0,5,0,84,0,57,0,18,0 15,0,75,0,23,0,39,0,67,0,21,0 36,0,51,0,6,0,63,0,3,0,86,0 13,0,40,0,73,0,66,0,17,0,2,0 1,0,42,0,77,0,60,0,83,0,78,0 34,0,30,0,27,0,53,0,55,0,70,0 49,0,76,0,50,0,4,0,54,0,48,0 31,0,58,0,28,0,44,0,85,0,59,0 56,0,46,0,19,0,47,0,87,0,68,0 37,0,22,0,43,0,35,0,71,0,32,0 33,0,29,0,74,0,52,0,12,0,45,0 9,0,11,0,26,0,69,0,10,0,82,0 80,0,72,0,53,0,25,0,1,0,36,0 84,0,30,0,54,0,16,0,86,0,67,0 57,0,85,0,73,0,8,0,20,0,34,0 24,0,51,0,44,0,76,0,4,0,83,0 58,0,35,0,23,0,19,0,18,0,17,0 21,0,38,0,2,0,60,0,33,0,63,0 68,0,32,0,48,0,6,0,69,0,66,0 13,0,7,0,59,0,78,0,50,0,12,0 5,0,56,0,82,0,64,0,37,0,39,0 55,0,22,0,9,0,28,0,72,0,81,0 61,0,87,0,15,0,79,0,11,0,70,0 77,0,52,0,10,0,75,0,65,0,3,0 29,0,40,0,42,0,46,0,41,0,80,0 26,0,74,0,27,0,71,0,49,0,62,0 31,0,47,0,25,0,43,0,45,0,14,0 67,0,51,0,34,0,64,0,56,0,12,0 69,0,28,0,23,0,16,0,8,0,83,0 70,0,24,0,60,0,55,0,66,0,35,0 3,0,57,0,2,0,48,0,21,0,87,0 82,0,77,0,29,0,44,0,22,0,53,0 17,0,49,0,39,0,11,0,86,0,52,0 80,0,74,0,45,0,59,0,84,0,6,0 5,0,43,0,19,0,85,0,38,0,26,0 79,0,31,0,72,0,13,0,63,0,4,0 14,0,15,0,27,0,78,0,1,0,10,0 20,0,7,0,30,0,25,0,32,0,75,0 42,0,65,0,71,0,47,0,54,0,73,0 37,0,76,0,46,0,61,0,41,0,9,0 40,0,62,0,36,0,33,0,50,0,58,0 68,0,18,0,64,0,81,0,77,0,43,0 72,0,8,0,11,0,44,0,74,0,60,0 45,0,49,0,69,0,2,0,55,0,15,0 17,0,38,0,20,0,87,0,28,0,80,0 73,0,75,0,16,0,5,0,3,0,79,0 13,0,52,0,41,0,34,0,19,0,63,0 24,0,42,0,27,0,23,0,50,0,56,0 33,0,86,0,10,0,37,0,68,0,53,0 65,0,29,0,32,0,57,0,26,0,1,0 70,0,48,0,84,0,78,0,58,0,47,0 6,0,85,0,4,0,62,0,25,0,46,0 61,0,21,0,76,0,31,0,71,0,22,0 81,0,35,0,36,0,83,0,30,0,14,0 7,0,12,0,67,0,40,0,18,0,82,0 54,0,51,0,9,0,59,0,66,0,39,0 11,0,3,0,41,0,55,0,50,0,43,0 26,0,56,0,63,0,53,0,75,0,58,0 25,0,79,0,65,0,78,0,38,0,69,0 48,0,19,0,16,0,64,0,31,0,74,0 84,0,15,0,5,0,29,0,76,0,35,0 10,0,36,0,8,0,87,0,13,0,42,0 22,0,24,0,40,0,30,0,1,0,59,0 47,0,85,0,23,0,33,0,51,0,80,0 83,0,18,0,73,0,21,0,52,0,32,0 2,0,54,0,62,0,72,0,61,0,12,0 45,0,81,0,44,0,7,0,70,0,49,0 60,0,34,0,39,0,28,0,46,0,14,0 86,0,20,0,4,0,9,0,77,0,66,0 37,0,57,0,67,0,27,0,17,0,6,0 68,0,71,0,84,0,82,0,75,0,24,0 1,0,38,0,55,0,13,0,74,0,18,0 41,0,64,0,10,0,32,0,61,0,30,0 40,0,44,0,25,0,23,0,26,0,48,0 53,0,63,0,59,0,69,0,62,0,87,0 86,0,22,0,50,0,47,0,60,0,65,0 79,0,35,0,39,0,42,0,57,0,33,0 72,0,45,0,37,0,85,0,83,0,77,0 17,0,4,0,8,0,12,0,15,0,81,0 27,0,43,0,52,0,36,0,28,0,76,0 58,0,46,0,82,0,49,0,16,0,51,0 78,0,34,0,80,0,66,0,3,0,31,0 67,0,9,0,14,0,19,0,71,0,73,0 6,0,2,0,20,0,56,0,29,0,70,0 7,0,54,0,68,0,11,0,21,0,5,0 13,0,81,0,39,0,47,0,37,0,24,0 86,0,28,0,35,0,41,0,75,0,26,0 48,0,18,0,44,0,36,0,15,0,46,0 30,0,69,0,33,0,76,0,31,0,42,0 3,0,45,0,78,0,8,0,71,0,40,0 65,0,61,0,17,0,34,0,16,0,53,0 85,0,50,0,67,0,2,0,9,0,25,0 20,0,63,0,84,0,27,0,19,0,83,0 72,0,70,0,59,0,43,0,38,0,29,0 12,0,49,0,77,0,32,0,80,0,79,0 87,0,60,0,1,0,5,0,54,0,58,0 6,0,11,0,64,0,23,0,22,0,73,0 57,0,10,0,56,0,74,0,7,0,4,0 51,0,62,0,55,0,52,0,68,0,14,0 21,0,66,0,34,0,82,0,42,0,26,0 19,0,29,0,8,0,43,0,48,0,86,0 85,0,9,0,27,0,32,0,3,0,13,0 28,0,33,0,49,0,1,0,67,0,61,0 81,0,76,0,87,0,75,0,40,0,72,0 60,0,23,0,64,0,84,0,4,0,36,0 41,0,47,0,59,0,10,0,44,0,6,0 24,0,74,0,2,0,5,0,46,0,77,0 80,0,16,0,15,0,7,0,63,0,50,0 55,0,58,0,21,0,65,0,12,0,37,0 38,0,25,0,71,0,83,0,57,0,39,0 52,0,35,0,54,0,82,0,31,0,20,0 30,0,53,0,18,0,78,0,51,0,73,0 22,0,69,0,68,0,17,0,14,0,70,0 66,0,79,0,56,0,11,0,45,0,62,0 ================================================ FILE: schedules/87_13.csv ================================================ 43,0,4,0,84,0,23,0,31,0,10,0 52,0,71,0,37,0,62,0,83,0,17,0 82,0,49,0,28,0,56,0,20,0,60,0 66,0,51,0,44,0,75,0,80,0,38,0 21,0,79,0,54,0,9,0,25,0,59,0 13,0,12,0,70,0,77,0,65,0,34,0 72,0,48,0,6,0,22,0,1,0,63,0 14,0,69,0,24,0,68,0,64,0,39,0 42,0,19,0,46,0,36,0,78,0,27,0 50,0,3,0,53,0,11,0,15,0,5,0 41,0,57,0,81,0,85,0,76,0,16,0 26,0,45,0,40,0,8,0,55,0,7,0 86,0,67,0,33,0,30,0,35,0,29,0 32,0,2,0,18,0,61,0,87,0,58,0 73,0,62,0,68,0,47,0,74,0,25,0 6,0,69,0,70,0,31,0,12,0,28,0 11,0,49,0,77,0,43,0,42,0,51,0 63,0,24,0,50,0,57,0,3,0,17,0 79,0,64,0,56,0,83,0,36,0,80,0 53,0,15,0,60,0,34,0,14,0,67,0 76,0,39,0,45,0,18,0,44,0,72,0 58,0,27,0,32,0,33,0,75,0,55,0 23,0,47,0,66,0,52,0,40,0,59,0 22,0,38,0,35,0,8,0,37,0,73,0 30,0,86,0,61,0,16,0,48,0,7,0 10,0,9,0,19,0,85,0,82,0,26,0 41,0,1,0,84,0,21,0,46,0,81,0 74,0,20,0,65,0,71,0,2,0,29,0 54,0,4,0,5,0,13,0,78,0,87,0 27,1,70,0,66,0,39,1,32,0,50,0 80,1,17,0,49,0,8,0,31,0,76,0 11,0,30,0,18,0,62,0,63,0,69,0 82,0,77,0,15,0,33,0,16,0,22,0 83,0,61,0,34,0,86,0,10,0,81,0 48,0,68,0,43,0,41,0,6,0,75,0 65,0,37,0,25,0,5,0,26,0,67,0 42,0,56,0,84,0,71,0,24,0,47,0 14,0,38,0,36,0,23,0,7,0,3,0 55,0,87,0,59,0,46,0,60,0,85,0 51,0,35,0,20,0,53,0,1,0,58,0 40,0,79,0,78,0,13,0,2,0,44,0 52,0,21,0,28,0,74,0,19,0,64,0 73,0,29,0,57,0,9,0,54,0,72,0 4,0,12,0,30,0,45,0,75,0,15,0 62,0,33,0,81,0,6,0,39,0,65,0 66,0,34,0,56,0,27,0,7,0,22,0 35,0,77,0,10,0,63,0,47,0,17,0 38,0,32,0,48,0,60,0,24,0,11,0 67,0,79,0,68,0,71,0,85,0,23,0 44,0,64,0,26,0,20,0,73,0,61,0 86,0,52,0,2,0,31,0,46,0,50,0 70,0,18,0,36,0,37,0,29,0,59,0 25,0,43,0,5,0,57,0,82,0,83,0 72,0,3,0,51,0,4,0,16,0,42,0 53,0,45,0,9,0,69,0,84,0,19,0 8,0,49,0,12,0,21,0,58,0,78,0 80,0,74,0,41,0,13,0,55,0,14,0 76,0,1,0,28,0,40,0,54,0,87,0 33,0,31,0,59,0,56,0,75,0,11,0 20,0,5,0,18,0,47,0,30,0,81,0 26,0,42,0,39,0,17,0,2,0,48,0 79,0,46,0,9,0,70,0,38,0,3,0 19,0,85,0,29,0,66,0,6,0,24,0 72,0,78,0,50,0,55,0,43,0,64,0 27,0,60,0,54,0,62,0,45,0,51,0 83,0,22,0,67,0,13,0,69,0,49,0 35,0,15,0,44,0,21,0,41,0,65,0 36,0,82,0,34,0,80,0,84,0,40,0 1,0,10,0,73,0,71,0,68,0,76,0 8,0,61,0,16,0,53,0,28,0,23,0 12,0,74,0,77,0,57,0,87,0,7,0 58,0,37,0,63,0,4,0,25,0,52,0 14,0,32,0,22,0,86,0,47,0,54,0 55,0,50,0,42,0,30,0,79,0,44,0 17,0,59,0,64,0,34,0,62,0,6,0 76,0,78,0,84,0,85,0,66,0,33,0 81,0,36,0,24,0,2,0,28,0,67,0 72,0,65,0,75,0,20,0,83,0,8,0 9,0,68,0,87,0,31,0,15,0,49,0 27,0,23,0,48,0,57,0,13,0,18,0 86,0,71,0,14,0,63,0,51,0,5,0 52,0,16,0,19,0,38,0,56,0,12,0 46,0,45,0,32,0,35,0,73,0,82,0 43,0,3,0,37,0,1,0,74,0,61,0 25,0,40,0,69,0,60,0,70,0,41,0 53,0,39,0,29,0,4,0,7,0,10,0 80,0,77,0,58,0,11,0,21,0,26,0 65,0,87,0,85,0,17,0,42,0,14,0 15,0,28,0,22,0,78,0,71,0,51,0 35,0,79,0,5,0,72,0,34,0,24,0 49,0,44,0,74,0,59,0,12,0,32,0 45,0,31,0,70,0,67,0,64,0,16,0 38,0,4,0,57,0,20,0,62,0,55,0 75,0,73,0,69,0,13,0,50,0,10,0 43,0,7,0,47,0,58,0,60,0,76,0 26,0,53,0,41,0,66,0,18,0,86,0 63,0,8,0,25,0,1,0,36,0,33,0 6,0,61,0,84,0,54,0,80,0,52,0 29,0,23,0,40,0,81,0,3,0,39,0 27,0,2,0,30,0,37,0,82,0,21,0 11,0,68,0,19,0,83,0,77,0,46,0 9,0,56,0,78,0,48,0,35,0,62,0 74,0,71,0,50,0,45,0,38,0,34,0 15,0,69,0,1,0,47,0,57,0,26,0 52,0,41,0,7,0,33,0,51,0,79,0 16,0,80,0,20,0,10,0,24,0,87,0 55,0,76,0,23,0,22,0,2,0,12,0 36,0,5,0,21,0,85,0,6,0,43,0 8,0,48,0,28,0,3,0,68,0,32,0 14,0,18,0,61,0,25,0,75,0,84,0 70,0,83,0,56,0,44,0,53,0,17,0 81,0,82,0,58,0,59,0,72,0,42,0 64,0,13,0,63,0,29,0,49,0,46,0 11,0,73,0,67,0,27,0,40,0,4,0 9,0,86,0,60,0,37,0,77,0,39,0 31,0,54,0,65,0,30,0,19,0,66,0 1,0,78,0,14,0,45,0,24,0,16,0 80,0,57,0,44,0,22,0,53,0,71,0 72,0,87,0,33,0,69,0,26,0,36,0 2,0,83,0,84,0,41,0,12,0,48,0 55,0,81,0,68,0,35,0,70,0,63,0 58,0,17,0,28,0,73,0,79,0,86,0 65,0,32,0,40,0,10,0,51,0,56,0 38,0,31,0,21,0,61,0,47,0,29,0 25,0,77,0,6,0,49,0,4,0,50,0 85,0,64,0,54,0,7,0,37,0,11,0 15,0,30,0,59,0,27,0,8,0,19,0 62,0,66,0,39,0,3,0,82,0,20,0 23,0,75,0,46,0,74,0,5,0,76,0 34,0,18,0,43,0,52,0,9,0,67,0 13,0,60,0,21,0,42,0,57,0,68,0 35,0,41,0,49,0,61,0,36,0,50,0 24,0,33,0,2,0,70,0,73,0,4,0 64,0,10,0,78,0,27,0,38,0,81,0 83,0,58,0,55,0,15,0,66,0,54,0 5,0,17,0,39,0,84,0,51,0,32,0 29,0,26,0,8,0,85,0,56,0,74,0 45,0,52,0,3,0,76,0,86,0,13,0 71,0,7,0,12,0,18,0,6,0,46,0 37,0,75,0,47,0,79,0,16,0,53,0 23,0,65,0,60,0,11,0,1,0,9,0 44,0,40,0,63,0,87,0,43,0,19,0 25,0,20,0,31,0,34,0,42,0,22,0 30,0,72,0,62,0,77,0,14,0,28,0 82,0,80,0,59,0,69,0,67,0,48,0 18,0,24,0,51,0,55,0,74,0,6,0 52,0,36,0,73,0,39,0,15,0,57,0 64,0,3,0,4,0,60,0,12,0,35,0 81,0,71,0,26,0,54,0,49,0,43,0 16,0,44,0,29,0,68,0,5,0,84,0 40,0,21,0,33,0,31,0,53,0,83,0 80,0,46,0,47,0,25,0,72,0,28,0 75,0,67,0,7,0,19,0,62,0,1,0 23,0,34,0,78,0,30,0,32,0,37,0 76,0,38,0,61,0,42,0,69,0,65,0 48,0,22,0,85,0,50,0,70,0,58,0 41,0,13,0,27,0,9,0,20,0,17,0 59,0,45,0,56,0,77,0,63,0,2,0 66,0,11,0,8,0,14,0,79,0,10,0 86,0,82,0,75,0,87,0,64,0,71,0 47,0,55,0,34,0,49,0,33,0,3,0 6,0,60,0,31,0,26,0,78,0,73,0 4,0,22,0,36,0,68,0,65,0,18,0 85,0,32,0,13,0,38,0,25,0,30,0 7,0,42,0,63,0,9,0,28,0,80,0 79,0,61,0,27,0,40,0,5,0,77,0 67,0,17,0,10,0,72,0,21,0,12,0 59,0,50,0,51,0,76,0,29,0,83,0 19,0,57,0,20,0,84,0,86,0,11,0 16,0,69,0,35,0,74,0,2,0,66,0 44,0,14,0,70,0,52,0,1,0,82,0 39,0,46,0,54,0,8,0,53,0,43,0 37,0,15,0,87,0,81,0,48,0,56,0 24,0,62,0,41,0,58,0,45,0,23,0 3,0,80,0,73,0,49,0,30,0,65,0 26,0,79,0,76,0,63,0,32,0,4,0 13,0,38,0,28,0,59,0,84,0,35,0 74,0,33,0,10,0,60,0,5,0,19,0 25,0,11,0,71,0,55,0,16,0,39,0 17,0,7,0,69,0,81,0,75,0,78,0 22,0,87,0,47,0,29,0,41,0,45,0 72,0,53,0,27,0,52,0,24,0,68,0 86,0,42,0,62,0,43,0,70,0,15,0 56,0,82,0,50,0,21,0,18,0,23,0 48,0,77,0,31,0,44,0,54,0,36,0 37,0,6,0,12,0,40,0,20,0,14,0 66,0,58,0,9,0,67,0,46,0,61,0 2,0,51,0,57,0,8,0,34,0,64,0 85,0,83,0,39,0,1,0,27,0,80,0 ================================================ FILE: schedules/87_14.csv ================================================ 14,0,35,0,3,0,74,0,16,0,42,0 70,0,44,0,32,0,25,0,65,0,55,0 6,0,28,0,19,0,80,0,23,0,68,0 41,0,82,0,12,0,61,0,84,0,60,0 71,0,77,0,10,0,11,0,29,0,24,0 15,0,34,0,18,0,50,0,45,0,39,0 73,0,1,0,33,0,72,0,30,0,86,0 21,0,63,0,58,0,78,0,38,0,51,0 87,0,75,0,27,0,31,0,57,0,43,0 85,0,40,0,64,0,66,0,4,0,54,0 52,0,22,0,56,0,37,0,13,0,79,0 26,0,49,0,59,0,8,0,76,0,81,0 47,0,67,0,17,0,5,0,48,0,83,0 20,0,53,0,69,0,62,0,7,0,46,0 36,0,2,0,41,0,9,0,14,0,38,0 65,0,10,0,84,0,27,0,15,0,23,0 87,0,34,0,6,0,42,0,30,0,51,0 11,0,52,0,86,0,74,0,82,0,21,0 37,0,24,0,3,0,59,0,40,0,61,0 19,0,13,0,48,0,55,0,64,0,45,0 54,0,69,0,16,0,26,0,28,0,31,0 43,0,77,0,66,0,46,0,76,0,73,0 79,0,68,0,9,0,50,0,44,0,25,0 53,0,4,0,12,0,5,0,29,0,72,0 78,0,81,0,20,0,8,0,22,0,32,0 2,0,63,0,7,0,17,0,33,0,85,0 71,0,58,0,1,0,35,0,49,0,75,0 80,0,36,0,56,0,83,0,47,0,39,0 57,0,18,0,62,0,67,0,70,0,60,0 50,0,6,0,14,0,82,0,73,0,11,0 40,0,38,0,19,0,74,0,48,0,51,0 87,0,32,0,76,0,21,0,13,0,24,0 79,0,63,0,5,0,55,0,69,0,30,0 10,0,86,0,28,0,12,0,71,0,59,0 3,0,53,0,68,0,84,0,58,0,52,0 44,0,4,0,45,0,37,0,31,0,15,0 20,0,64,0,65,0,9,0,56,0,57,0 62,0,16,0,23,0,43,0,8,0,47,0 26,0,36,0,18,0,77,0,2,0,75,0 61,0,42,0,85,0,60,0,49,0,83,0 80,0,35,0,46,0,33,0,22,0,41,0 29,0,81,0,66,0,70,0,17,0,27,0 54,0,72,0,78,0,67,0,39,0,34,0 7,0,1,0,28,0,25,0,48,0,38,0 62,0,73,0,12,0,58,0,59,0,13,0 74,0,76,0,10,0,75,0,84,0,6,0 65,0,79,0,51,0,4,0,47,0,82,0 80,0,43,0,55,0,2,0,68,0,49,0 83,0,35,0,57,0,40,0,29,0,50,0 31,0,33,0,67,0,19,0,36,0,53,0 7,0,72,0,81,0,23,0,78,0,64,0 26,0,3,0,71,0,37,0,66,0,20,0 70,0,21,0,39,0,16,0,22,0,9,0 27,0,5,0,41,0,77,0,32,0,85,0 15,0,25,0,11,0,69,0,42,0,87,0 34,0,24,0,17,0,56,0,86,0,46,0 63,0,52,0,1,0,45,0,60,0,14,0 18,0,30,0,61,0,54,0,44,0,8,0 62,0,82,0,68,0,57,0,71,0,38,0 6,0,70,0,66,0,20,0,67,0,35,0 81,0,40,0,5,0,73,0,16,0,79,0 12,0,78,0,55,0,87,0,37,0,47,0 49,0,19,0,34,0,7,0,29,0,32,0 33,0,60,0,76,0,11,0,4,0,23,0 69,0,61,0,75,0,21,0,56,0,45,0 48,0,50,0,72,0,3,0,22,0,65,0 52,0,54,0,85,0,43,0,24,0,15,0 13,0,41,0,26,0,42,0,18,0,86,0 8,0,74,0,77,0,28,0,83,0,63,0 80,0,53,0,64,0,14,0,51,0,59,0 39,0,46,0,84,0,31,0,2,0,58,0 30,0,17,0,36,0,10,0,27,0,25,0 9,0,44,0,71,0,1,0,5,0,60,0 20,0,70,0,48,0,43,0,50,0,33,0 7,0,76,0,38,0,65,0,15,0,47,0 37,0,55,0,16,0,41,0,75,0,83,0 63,0,53,0,11,0,61,0,23,0,34,0 24,0,59,0,86,0,22,0,69,0,2,0 51,0,85,0,26,0,57,0,32,0,36,0 84,0,72,0,77,0,44,0,17,0,14,0 39,0,87,0,4,0,81,0,35,0,62,0 30,0,73,0,54,0,68,0,74,0,45,0 21,0,31,0,6,0,1,0,18,0,56,0 58,0,42,0,66,0,8,0,10,0,79,0 40,0,9,0,27,0,13,0,78,0,28,0 12,0,19,0,3,0,49,0,82,0,46,0 52,0,29,0,80,0,64,0,25,0,67,0 35,0,23,0,38,0,26,0,83,0,17,0 74,0,5,0,30,0,43,0,37,0,60,0 81,0,57,0,51,0,14,0,71,0,61,0 68,0,11,0,59,0,72,0,85,0,39,0 47,0,73,0,24,0,1,0,20,0,75,0 69,0,84,0,66,0,18,0,19,0,87,0 56,0,33,0,4,0,52,0,77,0,49,0 21,0,10,0,48,0,46,0,41,0,53,0 82,0,31,0,7,0,9,0,8,0,55,0 67,0,22,0,50,0,28,0,76,0,42,0 6,0,16,0,32,0,15,0,12,0,63,0 64,0,2,0,27,0,3,0,44,0,62,0 45,0,29,0,79,0,78,0,36,0,65,0 34,0,40,0,86,0,58,0,70,0,80,0 25,0,54,0,51,0,13,0,84,0,23,0 82,0,85,0,1,0,10,0,81,0,53,0 49,0,31,0,39,0,24,0,38,0,20,0 17,0,57,0,61,0,55,0,73,0,28,0 18,0,75,0,9,0,14,0,32,0,33,0 3,0,59,0,29,0,15,0,60,0,79,0 6,0,76,0,41,0,83,0,69,0,64,0 46,0,8,0,16,0,71,0,52,0,45,0 70,0,50,0,2,0,47,0,74,0,13,0 63,0,44,0,36,0,80,0,48,0,87,0 56,0,12,0,30,0,11,0,40,0,67,0 78,0,5,0,66,0,62,0,86,0,25,0 26,0,27,0,22,0,68,0,58,0,7,0 43,0,21,0,42,0,72,0,4,0,19,0 65,0,77,0,34,0,37,0,54,0,35,0 73,0,51,0,3,0,31,0,70,0,76,0 85,0,74,0,55,0,29,0,69,0,39,0 20,0,60,0,87,0,40,0,2,0,10,0 66,0,8,0,75,0,38,0,53,0,13,0 15,0,58,0,46,0,36,0,61,0,5,0 71,0,63,0,84,0,56,0,72,0,26,0 86,0,43,0,79,0,77,0,7,0,67,0 83,0,22,0,1,0,34,0,62,0,54,0 14,0,23,0,25,0,21,0,49,0,12,0 41,0,57,0,78,0,52,0,6,0,44,0 9,0,65,0,24,0,19,0,81,0,30,0 32,0,4,0,37,0,80,0,17,0,50,0 45,0,82,0,33,0,59,0,42,0,27,0 47,0,64,0,11,0,35,0,28,0,18,0 16,0,68,0,56,0,48,0,66,0,60,0 49,0,54,0,23,0,69,0,5,0,70,0 85,0,21,0,83,0,20,0,79,0,84,0 74,0,53,0,25,0,77,0,57,0,24,0 51,0,43,0,75,0,12,0,22,0,44,0 59,0,55,0,72,0,36,0,6,0,40,0 33,0,35,0,7,0,31,0,10,0,61,0 47,0,2,0,30,0,82,0,52,0,32,0 28,0,38,0,4,0,34,0,46,0,3,0 48,0,42,0,73,0,27,0,71,0,39,0 87,0,50,0,86,0,8,0,64,0,19,0 58,0,29,0,76,0,14,0,16,0,41,0 80,0,15,0,45,0,62,0,9,0,26,0 13,0,17,0,65,0,78,0,1,0,11,0 37,0,67,0,18,0,81,0,63,0,68,0 74,0,32,0,34,0,31,0,59,0,66,0 47,0,33,0,44,0,40,0,71,0,69,0 55,0,42,0,2,0,73,0,53,0,23,0 60,0,27,0,24,0,51,0,72,0,35,0 45,0,38,0,10,0,22,0,5,0,57,0 41,0,43,0,58,0,65,0,56,0,28,0 7,0,80,0,21,0,81,0,54,0,3,0 6,0,48,0,61,0,77,0,29,0,87,0 83,0,15,0,4,0,86,0,75,0,68,0 79,0,64,0,50,0,39,0,1,0,12,0 19,0,46,0,14,0,70,0,26,0,78,0 25,0,9,0,52,0,76,0,18,0,63,0 13,0,67,0,82,0,17,0,16,0,20,0 36,0,37,0,84,0,8,0,49,0,11,0 62,0,31,0,77,0,85,0,30,0,23,0 68,0,29,0,28,0,87,0,33,0,51,0 74,0,71,0,22,0,61,0,64,0,15,0 60,0,65,0,26,0,21,0,73,0,34,0 69,0,58,0,10,0,9,0,4,0,48,0 76,0,5,0,44,0,35,0,19,0,56,0 1,0,32,0,67,0,40,0,37,0,46,0 36,0,42,0,12,0,24,0,18,0,7,0 50,0,16,0,78,0,85,0,84,0,38,0 49,0,47,0,86,0,6,0,53,0,27,0 45,0,11,0,83,0,81,0,2,0,43,0 14,0,52,0,55,0,20,0,54,0,59,0 75,0,72,0,82,0,80,0,25,0,66,0 39,0,57,0,13,0,63,0,30,0,3,0 62,0,70,0,8,0,17,0,79,0,41,0 64,0,42,0,22,0,31,0,84,0,32,0 9,0,46,0,23,0,37,0,74,0,29,0 26,0,48,0,81,0,6,0,5,0,12,0 87,0,14,0,67,0,71,0,85,0,65,0 55,0,66,0,15,0,2,0,51,0,1,0 77,0,30,0,4,0,59,0,16,0,7,0 45,0,25,0,73,0,47,0,41,0,3,0 13,0,8,0,69,0,34,0,80,0,57,0 63,0,70,0,35,0,21,0,28,0,36,0 24,0,33,0,83,0,58,0,44,0,82,0 79,0,72,0,38,0,86,0,61,0,76,0 60,0,56,0,53,0,27,0,50,0,54,0 62,0,39,0,40,0,19,0,52,0,75,0 78,0,17,0,10,0,43,0,18,0,49,0 68,0,20,0,5,0,11,0,34,0,41,0 21,0,2,0,8,0,67,0,12,0,29,0 37,0,44,0,28,0,73,0,7,0,85,0 24,0,71,0,25,0,55,0,4,0,6,0 60,0,38,0,64,0,77,0,70,0,33,0 83,0,56,0,62,0,3,0,32,0,72,0 59,0,75,0,46,0,63,0,65,0,42,0 13,0,31,0,14,0,68,0,10,0,47,0 84,0,51,0,49,0,9,0,86,0,45,0 20,0,18,0,27,0,74,0,80,0,79,0 22,0,76,0,17,0,53,0,40,0,87,0 43,0,61,0,39,0,69,0,1,0,26,0 48,0,35,0,15,0,82,0,30,0,78,0 11,0,54,0,57,0,19,0,16,0,58,0 36,0,81,0,23,0,66,0,50,0,52,0 ================================================ FILE: schedules/87_2.csv ================================================ 43,0,5,0,59,0,80,0,29,0,28,0 46,0,70,0,86,0,42,0,52,0,58,0 50,0,49,0,2,0,33,0,12,0,85,0 22,0,18,0,78,0,38,0,36,0,61,0 83,0,35,0,9,0,1,0,62,0,7,0 37,0,21,0,19,0,23,0,79,0,16,0 47,0,13,0,71,0,30,0,72,0,63,0 81,0,17,0,65,0,55,0,24,0,69,0 41,0,48,0,73,0,40,0,3,0,51,0 27,0,45,0,66,0,44,0,32,0,75,0 64,0,15,0,74,0,87,0,56,0,57,0 4,0,84,0,6,0,39,0,14,0,8,0 20,0,67,0,11,0,26,0,60,0,68,0 25,0,82,0,53,0,77,0,54,0,34,0 76,0,31,0,33,0,10,0,69,0,43,0 29,0,1,0,61,0,17,0,72,0,46,0 45,0,36,0,16,0,86,0,41,0,2,0 85,0,63,0,37,0,15,0,5,0,62,0 6,0,18,0,55,0,49,0,70,0,80,0 39,0,11,0,13,0,22,0,79,0,83,0 51,0,34,0,87,0,7,0,58,0,71,0 84,0,68,0,12,0,27,0,53,0,19,0 75,0,76,0,73,0,64,0,59,0,25,0 52,0,56,0,40,0,35,0,81,0,66,0 8,0,60,0,30,0,77,0,44,0,74,0 24,0,31,0,3,0,38,0,4,0,20,0 28,0,9,0,32,0,78,0,21,0,82,0 10,0,23,0,14,0,67,0,54,0,65,0 42,0,47,0,26,0,50,0,48,0,57,0 ================================================ FILE: schedules/87_3.csv ================================================ 73,0,36,0,17,0,4,0,62,0,52,0 87,0,57,0,49,0,43,0,24,0,27,0 38,0,35,0,18,0,66,0,15,0,61,0 20,0,74,0,65,0,13,0,75,0,50,0 28,0,67,0,1,0,14,0,48,0,5,0 71,0,23,0,11,0,79,0,7,0,70,0 3,0,53,0,82,0,44,0,12,0,72,0 40,0,51,0,37,0,69,0,45,0,39,0 29,0,8,0,84,0,22,0,81,0,41,0 2,0,54,0,64,0,25,0,19,0,10,0 47,0,63,0,78,0,6,0,83,0,80,0 55,0,16,0,32,0,77,0,56,0,26,0 33,0,34,0,59,0,42,0,60,0,86,0 85,0,46,0,68,0,31,0,21,0,58,0 30,0,9,0,1,0,76,0,23,0,65,0 12,1,75,0,41,0,57,1,69,0,71,0 39,1,5,0,20,0,87,0,11,0,8,0 72,0,52,0,19,0,79,0,13,0,63,0 10,0,22,0,14,0,43,0,80,0,82,0 77,0,61,0,54,0,3,0,37,0,48,0 17,0,38,0,86,0,16,0,47,0,68,0 33,0,58,0,64,0,9,0,32,0,18,0 4,0,76,0,6,0,2,0,26,0,46,0 56,0,27,0,35,0,62,0,34,0,30,0 15,0,28,0,45,0,74,0,60,0,83,0 44,0,70,0,73,0,49,0,21,0,29,0 50,0,51,0,31,0,84,0,36,0,55,0 42,0,53,0,7,0,25,0,66,0,67,0 24,0,85,0,40,0,59,0,78,0,81,0 5,0,77,0,10,0,17,0,72,0,76,0 69,0,68,0,52,0,2,0,3,0,35,0 39,0,16,0,9,0,82,0,54,0,74,0 4,0,41,0,79,0,87,0,37,0,86,0 46,0,70,0,48,0,22,0,51,0,38,0 12,0,80,0,49,0,28,0,18,0,19,0 83,0,23,0,67,0,64,0,50,0,57,0 42,0,62,0,29,0,13,0,78,0,1,0 47,0,65,0,43,0,59,0,84,0,71,0 81,0,75,0,60,0,55,0,14,0,27,0 7,0,34,0,26,0,36,0,24,0,15,0 30,0,20,0,58,0,53,0,40,0,73,0 56,0,11,0,85,0,6,0,61,0,33,0 25,0,31,0,44,0,63,0,45,0,8,0 32,0,66,0,57,0,21,0,12,0,39,0 ================================================ FILE: schedules/87_4.csv ================================================ 42,0,75,0,46,0,28,0,87,0,17,0 68,0,59,0,11,0,25,0,22,0,33,0 81,0,85,0,66,0,45,0,53,0,37,0 12,0,41,0,6,0,82,0,34,0,69,0 50,0,77,0,16,0,30,0,60,0,14,0 1,0,23,0,76,0,49,0,65,0,27,0 83,0,9,0,13,0,73,0,56,0,51,0 80,0,4,0,3,0,24,0,47,0,19,0 2,0,36,0,5,0,58,0,72,0,78,0 64,0,35,0,84,0,18,0,48,0,52,0 31,0,21,0,10,0,38,0,40,0,7,0 61,0,15,0,63,0,26,0,67,0,32,0 55,0,43,0,57,0,86,0,74,0,20,0 8,0,71,0,44,0,79,0,29,0,62,0 70,0,14,0,23,0,39,0,54,0,33,0 51,0,60,0,69,0,19,0,45,0,59,0 25,0,53,0,84,0,83,0,76,0,3,0 48,0,17,0,58,0,4,0,12,0,9,0 68,0,36,0,75,0,27,0,73,0,85,0 18,0,74,0,50,0,65,0,41,0,56,0 67,0,40,0,64,0,49,0,79,0,77,0 39,0,28,0,26,0,22,0,31,0,2,0 70,0,46,0,71,0,20,0,21,0,81,0 86,0,5,0,29,0,42,0,32,0,37,0 35,0,62,0,38,0,6,0,15,0,43,0 7,0,13,0,87,0,55,0,34,0,30,0 72,0,11,0,82,0,61,0,80,0,66,0 52,0,24,0,57,0,44,0,16,0,63,0 47,0,10,0,78,0,1,0,54,0,8,0 33,0,83,0,50,0,69,0,79,0,48,0 81,0,17,0,67,0,68,0,76,0,31,0 85,0,19,0,9,0,25,0,77,0,62,0 36,0,70,0,59,0,3,0,7,0,86,0 74,0,49,0,35,0,14,0,71,0,72,0 23,0,2,0,38,0,60,0,87,0,63,0 73,0,65,0,80,0,43,0,52,0,54,0 55,0,42,0,47,0,51,0,12,0,84,0 32,0,82,0,24,0,10,0,27,0,46,0 6,0,21,0,45,0,64,0,57,0,29,0 58,0,34,0,66,0,20,0,8,0,26,0 22,0,53,0,30,0,61,0,4,0,56,0 37,0,78,0,28,0,13,0,18,0,16,0 5,0,40,0,1,0,11,0,41,0,75,0 44,0,39,0,19,0,15,0,87,0,84,0 42,0,77,0,65,0,35,0,70,0,68,0 21,0,52,0,82,0,67,0,47,0,85,0 62,0,74,0,63,0,12,0,80,0,83,0 48,0,56,0,34,0,59,0,81,0,29,0 49,0,43,0,7,0,46,0,60,0,78,0 73,0,4,0,86,0,2,0,11,0,10,0 32,0,33,0,30,0,44,0,18,0,1,0 15,0,51,0,14,0,40,0,57,0,25,0 27,0,26,0,17,0,6,0,5,0,53,0 61,0,39,0,8,0,50,0,45,0,36,0 69,0,31,0,71,0,37,0,3,0,9,0 20,0,72,0,75,0,13,0,24,0,76,0 41,0,79,0,22,0,66,0,16,0,23,0 28,0,54,0,55,0,38,0,58,0,64,0 ================================================ FILE: schedules/87_5.csv ================================================ 61,0,7,0,65,0,21,0,50,0,23,0 60,0,77,0,26,0,19,0,8,0,13,0 25,0,78,0,2,0,34,0,35,0,6,0 36,0,86,0,49,0,10,0,68,0,12,0 47,0,84,0,75,0,31,0,44,0,82,0 28,0,1,0,87,0,29,0,42,0,40,0 81,0,11,0,76,0,46,0,17,0,72,0 83,0,51,0,41,0,43,0,16,0,85,0 48,0,58,0,71,0,79,0,22,0,38,0 15,0,69,0,54,0,57,0,53,0,32,0 4,0,73,0,63,0,14,0,20,0,70,0 9,0,52,0,64,0,66,0,62,0,55,0 74,0,5,0,30,0,24,0,18,0,67,0 39,0,80,0,37,0,3,0,33,0,27,0 59,0,29,0,86,0,56,0,45,0,44,0 50,0,2,0,85,0,81,0,22,0,42,0 21,0,35,0,16,0,15,0,87,0,10,0 49,0,40,0,71,0,77,0,32,0,51,0 68,0,57,0,60,0,17,0,6,0,83,0 53,0,36,0,64,0,13,0,14,0,84,0 12,0,63,0,72,0,54,0,9,0,47,0 33,0,4,0,31,0,59,0,11,0,55,0 38,0,27,0,78,0,66,0,82,0,18,0 28,0,23,0,43,0,25,0,45,0,52,0 58,0,62,0,3,0,41,0,5,0,34,0 24,0,61,0,76,0,56,0,80,0,20,0 79,0,70,0,7,0,30,0,19,0,75,0 48,0,46,0,37,0,65,0,67,0,26,0 69,0,8,0,73,0,74,0,1,0,39,0 18,1,6,0,59,0,21,1,71,0,13,0 68,0,14,0,51,0,42,1,31,0,15,0 43,0,40,0,44,0,53,0,62,0,78,0 61,0,66,0,5,0,86,0,11,0,25,0 47,0,77,0,29,0,70,0,24,0,34,0 33,0,45,0,63,0,10,0,7,0,84,0 55,0,54,0,46,0,8,0,38,0,75,0 17,0,64,0,67,0,1,0,80,0,16,0 35,0,36,0,32,0,65,0,79,0,28,0 56,0,50,0,19,0,83,0,3,0,74,0 22,0,76,0,12,0,41,0,4,0,57,0 37,0,20,0,52,0,87,0,85,0,69,0 39,0,81,0,9,0,82,0,58,0,60,0 30,0,72,0,2,0,48,0,27,0,49,0 73,0,23,0,66,0,26,0,59,0,40,0 80,0,44,0,10,0,8,0,70,0,51,0 78,0,7,0,56,0,36,0,5,0,42,0 4,0,21,0,45,0,54,0,62,0,67,0 20,0,57,0,77,0,35,0,50,0,75,0 84,0,17,0,12,0,85,0,32,0,58,0 22,0,9,0,28,0,74,0,37,0,53,0 19,0,82,0,6,0,72,0,23,0,1,0 34,0,52,0,15,0,27,0,76,0,71,0 13,0,24,0,49,0,38,0,16,0,73,0 79,0,46,0,86,0,31,0,39,0,63,0 3,0,68,0,48,0,61,0,69,0,43,0 25,0,55,0,83,0,65,0,30,0,81,0 11,0,18,0,14,0,60,0,2,0,29,0 41,0,26,0,87,0,64,0,33,0,47,0 74,0,57,0,23,0,58,0,36,0,44,0 42,0,6,0,80,0,49,0,84,0,66,0 38,0,53,0,85,0,19,0,10,0,76,0 70,0,3,0,13,0,78,0,54,0,1,0 51,0,27,0,81,0,63,0,75,0,28,0 55,0,35,0,5,0,45,0,22,0,39,0 11,0,79,0,43,0,34,0,21,0,37,0 31,0,72,0,40,0,20,0,18,0,65,0 33,0,62,0,12,0,46,0,30,0,60,0 83,0,87,0,24,0,4,0,2,0,32,0 14,0,67,0,47,0,7,0,86,0,69,0 56,0,8,0,41,0,71,0,17,0,25,0 64,0,15,0,82,0,77,0,59,0,61,0 16,0,26,0,29,0,50,0,68,0,52,0 73,0,18,0,42,0,9,0,48,0,21,0 ================================================ FILE: schedules/87_6.csv ================================================ 81,0,70,0,26,0,30,0,52,0,17,0 22,0,62,0,59,0,34,0,57,0,6,0 8,0,60,0,5,0,3,0,56,0,85,0 73,0,10,0,76,0,21,0,40,0,12,0 61,0,24,0,13,0,19,0,41,0,49,0 43,0,58,0,28,0,55,0,64,0,69,0 32,0,65,0,53,0,72,0,4,0,83,0 27,0,29,0,84,0,79,0,39,0,16,0 82,0,33,0,51,0,77,0,54,0,63,0 45,0,11,0,78,0,7,0,37,0,15,0 66,0,44,0,50,0,36,0,80,0,18,0 75,0,71,0,67,0,86,0,74,0,31,0 2,0,38,0,23,0,47,0,1,0,9,0 35,0,48,0,14,0,42,0,68,0,87,0 20,0,25,0,81,0,46,0,65,0,24,0 56,0,72,0,19,0,70,0,29,0,57,0 83,0,54,0,61,0,10,0,64,0,37,0 59,0,12,0,80,0,82,0,85,0,28,0 62,0,77,0,3,0,39,0,36,0,74,0 1,0,67,0,49,0,32,0,43,0,5,0 7,0,4,0,16,0,23,0,48,0,17,0 27,0,51,0,11,0,58,0,40,0,68,0 53,0,60,0,20,0,84,0,87,0,45,0 14,0,73,0,52,0,50,0,86,0,15,0 35,0,71,0,30,0,8,0,18,0,38,0 2,0,79,0,33,0,13,0,76,0,6,0 63,0,9,0,66,0,69,0,46,0,22,0 41,0,21,0,75,0,25,0,47,0,78,0 55,0,44,0,34,0,26,0,31,0,42,0 23,0,82,0,39,0,49,0,70,0,60,0 68,0,4,0,84,0,54,0,56,0,67,0 53,0,28,0,14,0,10,0,1,0,51,0 6,0,71,0,40,0,19,0,80,0,87,0 12,0,8,0,52,0,62,0,13,0,66,0 47,0,69,0,50,0,7,0,79,0,81,0 83,0,36,0,45,0,31,0,48,0,22,0 64,0,5,0,18,0,15,0,27,0,24,0 76,0,17,0,20,0,42,0,3,0,9,0 61,0,34,0,32,0,21,0,33,0,38,0 43,0,44,0,65,0,16,0,11,0,59,0 41,0,74,0,30,0,29,0,37,0,55,0 73,0,25,0,85,0,63,0,2,0,72,0 46,0,57,0,77,0,35,0,86,0,78,0 58,0,26,0,45,0,75,0,13,0,4,0 80,0,83,0,24,0,23,0,52,0,51,0 34,0,66,0,60,0,7,0,27,0,67,0 47,0,20,0,54,0,32,0,70,0,36,0 56,0,16,0,76,0,62,0,31,0,14,0 68,0,53,0,55,0,63,0,19,0,59,0 49,0,57,0,50,0,84,0,30,0,21,0 15,0,41,0,10,0,43,0,2,0,71,0 33,0,74,0,9,0,81,0,35,0,28,0 46,0,39,0,75,0,17,0,12,0,61,0 6,0,1,0,85,0,44,0,58,0,78,0 42,0,29,0,8,0,25,0,69,0,11,0 26,0,87,0,73,0,38,0,77,0,5,0 65,0,37,0,40,0,18,0,48,0,3,0 86,0,72,0,64,0,82,0,79,0,22,0 54,0,43,0,19,0,62,0,9,0,7,0 16,0,67,0,12,0,24,0,35,0,45,0 78,0,49,0,81,0,55,0,66,0,2,0 39,0,31,0,58,0,50,0,63,0,20,0 38,0,69,0,51,0,44,0,17,0,84,0 3,0,21,0,14,0,46,0,6,0,11,0 74,0,80,0,48,0,64,0,32,0,13,0 10,0,4,0,79,0,25,0,5,0,57,0 52,0,22,0,40,0,56,0,41,0,28,0 87,0,23,0,75,0,18,0,72,0,34,0 76,0,15,0,70,0,83,0,85,0,77,0 29,0,59,0,36,0,73,0,71,0,33,0 47,0,37,0,8,0,82,0,53,0,26,0 86,0,68,0,61,0,60,0,1,0,65,0 42,0,30,0,2,0,27,0,45,0,80,0 17,0,35,0,55,0,50,0,11,0,56,0 7,0,32,0,18,0,51,0,22,0,12,0 85,0,64,0,19,0,23,0,81,0,21,0 44,0,54,0,57,0,73,0,75,0,48,0 69,0,70,0,16,0,41,0,34,0,5,0 82,0,87,0,66,0,58,0,10,0,65,0 27,0,38,0,63,0,52,0,6,0,4,0 47,0,3,0,15,0,67,0,30,0,61,0 1,0,74,0,59,0,25,0,76,0,84,0 39,0,43,0,33,0,14,0,78,0,8,0 31,0,77,0,9,0,53,0,13,0,40,0 62,0,42,0,71,0,24,0,79,0,60,0 36,0,46,0,72,0,49,0,37,0,68,0 26,0,86,0,28,0,29,0,20,0,83,0 ================================================ FILE: schedules/87_7.csv ================================================ 20,0,54,0,9,0,81,0,2,0,25,0 77,0,42,0,57,0,16,0,60,0,1,0 62,0,15,0,64,0,32,0,22,0,39,0 71,0,72,0,67,0,41,0,58,0,45,0 50,0,8,0,6,0,74,0,49,0,11,0 38,0,29,0,61,0,59,0,3,0,43,0 23,0,7,0,30,0,31,0,65,0,36,0 46,0,10,0,63,0,44,0,28,0,83,0 33,0,69,0,35,0,80,0,12,0,48,0 53,0,40,0,24,0,13,0,56,0,5,0 14,0,55,0,75,0,18,0,78,0,21,0 19,0,70,0,47,0,52,0,27,0,68,0 79,0,85,0,51,0,87,0,34,0,37,0 82,0,17,0,73,0,84,0,26,0,86,0 66,0,4,0,74,0,76,0,61,0,9,0 64,0,80,0,43,0,8,0,77,0,58,0 1,0,10,0,32,0,69,0,71,0,56,0 13,0,12,0,67,0,55,0,49,0,20,0 31,0,41,0,47,0,44,0,81,0,11,0 21,0,57,0,63,0,35,0,34,0,30,0 78,0,40,0,72,0,33,0,73,0,70,0 23,0,24,0,15,0,27,0,84,0,51,0 14,0,87,0,83,0,19,0,86,0,62,0 66,0,59,0,25,0,26,0,37,0,65,0 29,0,6,0,28,0,36,0,54,0,5,0 75,0,42,0,17,0,4,0,38,0,48,0 53,0,45,0,76,0,46,0,16,0,52,0 18,0,39,0,60,0,7,0,2,0,79,0 85,0,3,0,82,0,50,0,22,0,68,0 31,1,84,0,34,0,13,1,10,0,64,0 25,1,27,0,8,0,61,0,1,0,40,0 56,0,14,0,81,0,72,0,6,0,15,0 37,0,5,0,41,0,74,0,30,0,77,0 70,0,55,0,86,0,38,0,76,0,65,0 9,0,60,0,71,0,49,0,24,0,75,0 20,0,58,0,79,0,48,0,73,0,22,0 36,0,44,0,26,0,3,0,69,0,45,0 57,0,29,0,46,0,80,0,17,0,62,0 32,0,33,0,68,0,53,0,63,0,59,0 4,0,7,0,47,0,12,0,82,0,43,0 39,0,87,0,16,0,21,0,66,0,54,0 52,0,83,0,11,0,51,0,42,0,18,0 19,0,2,0,67,0,28,0,78,0,50,0 35,0,85,0,44,0,23,0,5,0,9,0 73,0,64,0,37,0,45,0,38,0,60,0 25,0,34,0,62,0,55,0,6,0,77,0 65,0,24,0,47,0,48,0,72,0,46,0 30,0,3,0,27,0,80,0,87,0,81,0 83,0,4,0,1,0,20,0,70,0,31,0 63,0,29,0,79,0,8,0,41,0,56,0 39,0,58,0,68,0,86,0,75,0,23,0 51,0,22,0,76,0,2,0,71,0,57,0 42,0,53,0,43,0,78,0,49,0,84,0 54,0,67,0,26,0,35,0,32,0,14,0 36,0,50,0,18,0,66,0,33,0,10,0 74,0,59,0,12,0,28,0,16,0,40,0 11,0,17,0,61,0,7,0,85,0,19,0 69,0,52,0,15,0,21,0,82,0,13,0 5,0,22,0,34,0,60,0,72,0,86,0 25,0,76,0,78,0,68,0,56,0,80,0 44,0,71,0,79,0,70,0,62,0,42,0 9,0,31,0,50,0,46,0,43,0,26,0 57,0,41,0,38,0,14,0,66,0,12,0 16,0,83,0,49,0,73,0,47,0,35,0 45,0,27,0,48,0,13,0,11,0,28,0 3,0,63,0,18,0,37,0,17,0,1,0 81,0,69,0,53,0,64,0,23,0,61,0 52,0,84,0,7,0,58,0,59,0,54,0 2,0,82,0,40,0,55,0,32,0,29,0 77,0,36,0,24,0,39,0,85,0,4,0 10,0,51,0,21,0,19,0,65,0,74,0 20,0,8,0,33,0,87,0,15,0,75,0 30,0,6,0,68,0,67,0,17,0,79,0 16,0,34,0,80,0,70,0,9,0,14,0 78,0,11,0,46,0,37,0,69,0,22,0 81,0,76,0,42,0,28,0,58,0,82,0 5,0,84,0,39,0,25,0,83,0,50,0 7,0,21,0,32,0,24,0,73,0,44,0 56,0,66,0,31,0,45,0,19,0,77,0 1,0,35,0,2,0,38,0,13,0,36,0 43,0,74,0,27,0,57,0,33,0,67,0 18,0,86,0,4,0,29,0,15,0,30,0 49,0,62,0,48,0,85,0,59,0,41,0 87,0,72,0,12,0,26,0,61,0,63,0 23,0,55,0,60,0,10,0,8,0,52,0 51,0,54,0,75,0,47,0,53,0,3,0 65,0,6,0,64,0,40,0,71,0,20,0 50,0,13,0,37,0,32,0,81,0,16,0 73,0,11,0,39,0,9,0,29,0,67,0 21,0,70,0,58,0,25,0,46,0,36,0 26,0,28,0,33,0,7,0,1,0,22,0 2,0,8,0,45,0,24,0,12,0,30,0 62,0,68,0,60,0,31,0,69,0,51,0 65,0,17,0,77,0,44,0,15,0,53,0 38,0,83,0,82,0,54,0,34,0,78,0 59,0,72,0,75,0,76,0,27,0,35,0 48,0,86,0,40,0,52,0,66,0,43,0 6,0,3,0,19,0,84,0,4,0,41,0 20,0,14,0,74,0,63,0,23,0,42,0 47,0,56,0,57,0,64,0,87,0,55,0 5,0,61,0,49,0,80,0,79,0,10,0 85,0,13,0,25,0,18,0,71,0,31,0 ================================================ FILE: schedules/87_8.csv ================================================ 45,0,55,0,27,0,50,0,82,0,51,0 30,0,78,0,19,0,87,0,61,0,65,0 85,0,11,0,79,0,17,0,13,0,72,0 86,0,29,0,68,0,43,0,7,0,73,0 75,0,71,0,49,0,62,0,41,0,20,0 25,0,21,0,15,0,2,0,76,0,44,0 81,0,58,0,9,0,37,0,5,0,46,0 31,0,28,0,4,0,60,0,6,0,1,0 23,0,84,0,14,0,52,0,67,0,48,0 18,0,40,0,24,0,63,0,70,0,83,0 34,0,80,0,8,0,56,0,35,0,10,0 26,0,3,0,39,0,22,0,64,0,77,0 42,0,38,0,66,0,12,0,32,0,69,0 57,0,16,0,54,0,59,0,53,0,36,0 47,0,33,0,41,0,74,0,87,0,51,0 55,0,65,0,9,0,29,0,25,0,72,0 6,0,48,0,20,0,82,0,70,0,68,0 61,0,5,0,13,0,18,0,27,0,43,0 35,0,24,0,76,0,11,0,22,0,30,0 12,0,14,0,86,0,1,0,3,0,71,0 56,0,7,0,52,0,78,0,28,0,81,0 2,0,63,0,37,0,8,0,4,0,54,0 60,0,73,0,83,0,45,0,39,0,79,0 75,0,74,0,59,0,46,0,23,0,64,0 10,0,58,0,17,0,69,0,67,0,57,0 50,0,40,0,47,0,19,0,42,0,16,0 15,0,84,0,53,0,38,0,49,0,33,0 85,0,77,0,21,0,34,0,32,0,36,0 66,0,31,0,62,0,44,0,80,0,26,0 30,0,8,0,20,0,83,0,5,0,55,0 86,0,11,0,74,0,54,0,18,0,39,0 43,0,24,0,78,0,9,0,4,0,14,0 52,0,64,0,57,0,63,0,25,0,47,0 70,0,79,0,42,0,2,0,87,0,23,0 41,0,67,0,13,0,82,0,56,0,38,0 21,0,62,0,53,0,6,0,51,0,7,0 45,0,80,0,12,0,65,0,77,0,58,0 66,0,28,0,76,0,29,0,85,0,10,0 27,0,31,0,69,0,49,0,59,0,40,0 33,0,44,0,16,0,35,0,46,0,73,0 1,0,19,0,75,0,34,0,17,0,68,0 36,0,84,0,37,0,61,0,50,0,26,0 32,0,81,0,71,0,60,0,48,0,22,0 3,0,72,0,83,0,15,0,62,0,57,0 64,0,87,0,38,0,20,0,21,0,58,0 39,0,51,0,25,0,12,0,78,0,10,0 54,0,45,0,6,0,56,0,66,0,30,0 46,0,28,0,41,0,27,0,19,0,24,0 43,0,67,0,33,0,50,0,75,0,65,0 2,0,26,0,34,0,86,0,52,0,59,0 1,0,32,0,74,0,63,0,53,0,80,0 5,0,36,0,22,0,70,0,72,0,31,0 15,0,77,0,13,0,8,0,68,0,14,0 35,0,18,0,17,0,37,0,42,0,60,0 48,0,9,0,49,0,47,0,85,0,73,0 79,0,82,0,76,0,7,0,84,0,69,0 71,0,61,0,4,0,16,0,23,0,55,0 40,0,44,0,3,0,81,0,29,0,11,0 62,0,86,0,27,0,36,0,56,0,25,0 52,0,20,0,77,0,74,0,66,0,43,0 65,0,21,0,68,0,5,0,60,0,24,0 50,0,22,0,18,0,2,0,41,0,1,0 32,0,46,0,10,0,7,0,13,0,54,0 42,0,48,0,53,0,4,0,58,0,30,0 14,0,70,0,49,0,19,0,37,0,29,0 72,0,39,0,76,0,33,0,6,0,23,0 8,0,75,0,61,0,45,0,9,0,57,0 55,0,78,0,73,0,26,0,15,0,67,0 81,0,87,0,85,0,80,0,83,0,69,0 51,0,17,0,63,0,3,0,84,0,16,0 82,0,64,0,31,0,11,0,71,0,34,0 47,0,44,0,59,0,12,0,79,0,28,0 35,0,7,0,36,0,40,0,38,0,14,0 42,0,29,0,54,0,77,0,75,0,24,0 23,0,10,0,22,0,9,0,15,0,27,0 13,0,65,0,83,0,48,0,74,0,76,0 26,0,68,0,18,0,49,0,30,0,81,0 63,0,66,0,41,0,58,0,61,0,86,0 19,0,11,0,62,0,12,0,33,0,8,0 57,0,79,0,56,0,31,0,46,0,21,0 52,0,69,0,37,0,1,0,72,0,16,0 51,0,28,0,40,0,5,0,67,0,71,0 78,0,32,0,47,0,3,0,45,0,20,0 25,0,87,0,73,0,53,0,82,0,17,0 35,0,2,0,85,0,6,0,64,0,55,0 80,0,59,0,60,0,70,0,43,0,84,0 34,0,50,0,38,0,4,0,44,0,39,0 23,0,49,0,1,0,13,0,21,0,66,0 7,0,37,0,27,0,57,0,77,0,11,0 74,0,81,0,16,0,24,0,62,0,79,0 58,0,76,0,56,0,18,0,47,0,75,0 45,0,72,0,26,0,46,0,87,0,40,0 59,0,61,0,51,0,68,0,83,0,32,0 5,0,4,0,29,0,80,0,52,0,17,0 71,0,6,0,10,0,19,0,73,0,38,0 14,0,82,0,44,0,65,0,42,0,85,0 30,0,63,0,39,0,28,0,15,0,36,0 33,0,69,0,9,0,60,0,3,0,2,0 78,0,8,0,64,0,53,0,70,0,50,0 84,0,20,0,54,0,22,0,34,0,25,0 12,0,55,0,43,0,41,0,48,0,31,0 86,0,67,0,72,0,35,0,21,0,81,0 65,0,51,0,57,0,4,0,18,0,66,0 87,0,44,0,6,0,13,0,52,0,75,0 69,0,23,0,45,0,62,0,63,0,29,0 58,0,71,0,68,0,2,0,78,0,36,0 11,0,73,0,50,0,14,0,59,0,20,0 17,0,32,0,30,0,64,0,41,0,9,0 1,0,27,0,70,0,67,0,76,0,54,0 7,0,55,0,42,0,49,0,74,0,3,0 22,0,80,0,46,0,86,0,47,0,82,0 40,0,60,0,15,0,61,0,34,0,12,0 25,0,38,0,43,0,16,0,28,0,8,0 24,0,56,0,53,0,85,0,37,0,39,0 77,0,83,0,19,0,84,0,31,0,35,0 10,0,5,0,48,0,26,0,79,0,33,0 ================================================ FILE: schedules/87_9.csv ================================================ 38,0,1,0,40,0,70,0,33,0,66,0 35,0,9,0,6,0,8,0,32,0,49,0 63,0,30,0,44,0,53,0,7,0,69,0 25,0,61,0,64,0,39,0,77,0,82,0 79,0,12,0,75,0,14,0,17,0,20,0 5,0,85,0,84,0,19,0,4,0,52,0 58,0,37,0,15,0,68,0,23,0,86,0 50,0,80,0,43,0,60,0,27,0,48,0 34,0,47,0,87,0,65,0,29,0,18,0 71,0,28,0,3,0,57,0,2,0,83,0 78,0,10,0,59,0,42,0,67,0,62,0 72,0,54,0,73,0,31,0,22,0,36,0 55,0,24,0,16,0,26,0,21,0,56,0 45,0,46,0,11,0,74,0,13,0,81,0 41,0,51,0,79,0,76,0,6,0,84,0 39,0,52,0,23,0,50,0,35,0,87,0 69,0,70,0,4,0,48,0,68,0,83,0 57,0,65,0,43,0,63,0,77,0,58,0 59,0,86,0,80,0,31,0,14,0,28,0 27,0,19,0,64,0,34,0,73,0,9,0 53,0,82,0,46,0,21,0,10,0,8,0 22,0,76,0,40,0,47,0,44,0,45,0 49,0,60,0,51,0,75,0,33,0,74,0 81,0,42,0,1,0,56,0,37,0,32,0 2,0,72,0,24,0,29,0,62,0,13,0 38,0,61,0,55,0,54,0,71,0,78,0 11,0,30,0,3,0,5,0,26,0,17,0 67,0,25,0,41,0,12,0,85,0,7,0 20,0,18,0,36,0,16,0,15,0,66,0 43,1,14,0,40,0,83,1,39,0,51,0 10,0,81,0,48,0,35,1,58,0,34,0 84,0,73,0,28,0,75,0,37,0,87,0 2,0,53,0,27,0,55,0,23,0,79,0 4,0,17,0,21,0,9,0,80,0,54,0 72,0,60,0,77,0,70,0,47,0,41,0 16,0,46,0,85,0,33,0,30,0,68,0 6,0,18,0,26,0,57,0,67,0,1,0 82,0,29,0,71,0,49,0,59,0,76,0 66,0,69,0,45,0,65,0,19,0,3,0 42,0,12,0,63,0,38,0,22,0,24,0 74,0,32,0,5,0,20,0,31,0,61,0 36,0,8,0,62,0,11,0,7,0,50,0 15,0,56,0,86,0,78,0,64,0,52,0 13,0,83,0,16,0,25,0,44,0,10,0 60,0,23,0,67,0,76,0,9,0,81,0 54,0,84,0,45,0,2,0,18,0,49,0 37,0,59,0,69,0,12,0,40,0,26,0 70,0,30,0,61,0,29,0,22,0,57,0 7,0,82,0,65,0,38,0,27,0,32,0 85,0,31,0,56,0,34,0,11,0,71,0 39,0,20,0,4,0,3,0,58,0,42,0 72,0,6,0,17,0,25,0,52,0,66,0 21,0,44,0,19,0,15,0,33,0,50,0 53,0,78,0,77,0,75,0,24,0,36,0 35,0,80,0,5,0,79,0,1,0,13,0 86,0,73,0,62,0,41,0,43,0,46,0 55,0,68,0,14,0,8,0,87,0,74,0 51,0,28,0,47,0,63,0,64,0,48,0 34,0,38,0,4,0,45,0,72,0,23,0 83,0,84,0,58,0,9,0,11,0,33,0 52,0,57,0,31,0,21,0,69,0,27,0 70,0,15,0,25,0,59,0,81,0,2,0 5,0,12,0,36,0,6,0,71,0,10,0 35,0,86,0,76,0,77,0,3,0,7,0 1,0,14,0,62,0,64,0,85,0,60,0 13,0,48,0,8,0,18,0,30,0,41,0 20,0,63,0,80,0,82,0,78,0,40,0 87,0,51,0,66,0,61,0,56,0,46,0 65,0,79,0,68,0,67,0,44,0,24,0 39,0,32,0,73,0,53,0,47,0,26,0 55,0,22,0,19,0,17,0,49,0,37,0 16,0,29,0,28,0,50,0,74,0,42,0 54,0,43,0,1,0,75,0,11,0,69,0 33,0,48,0,36,0,86,0,45,0,82,0 30,0,27,0,10,0,15,0,76,0,14,0 85,0,87,0,21,0,2,0,77,0,40,0 20,0,38,0,52,0,13,0,47,0,67,0 70,0,37,0,9,0,53,0,31,0,71,0 42,0,60,0,26,0,83,0,79,0,46,0 80,0,49,0,61,0,16,0,23,0,73,0 68,0,57,0,34,0,17,0,62,0,84,0 8,0,81,0,78,0,43,0,22,0,28,0 12,0,35,0,29,0,51,0,44,0,54,0 50,0,75,0,25,0,4,0,56,0,65,0 19,0,39,0,7,0,6,0,74,0,59,0 24,0,41,0,64,0,66,0,5,0,58,0 63,0,3,0,32,0,55,0,18,0,72,0 85,0,49,0,27,0,42,0,86,0,70,0 83,0,77,0,31,0,17,0,15,0,38,0 44,0,52,0,2,0,36,0,1,0,46,0 78,0,45,0,25,0,51,0,68,0,73,0 34,0,74,0,53,0,43,0,12,0,4,0 60,0,24,0,59,0,84,0,20,0,35,0 82,0,66,0,9,0,28,0,55,0,62,0 16,0,57,0,76,0,48,0,72,0,19,0 32,0,79,0,11,0,63,0,10,0,87,0 41,0,71,0,26,0,81,0,65,0,80,0 47,0,33,0,61,0,14,0,37,0,7,0 13,0,40,0,54,0,64,0,3,0,23,0 58,0,67,0,8,0,69,0,29,0,56,0 22,0,75,0,21,0,39,0,5,0,18,0 50,0,6,0,73,0,30,0,38,0,2,0 66,0,76,0,83,0,34,0,78,0,32,0 44,0,55,0,77,0,11,0,28,0,4,0 15,0,61,0,63,0,35,0,85,0,45,0 47,0,23,0,74,0,82,0,24,0,1,0 41,0,69,0,36,0,14,0,9,0,42,0 46,0,18,0,17,0,59,0,27,0,58,0 81,0,68,0,49,0,50,0,53,0,52,0 31,0,12,0,65,0,60,0,16,0,39,0 7,0,56,0,13,0,70,0,84,0,43,0 40,0,48,0,75,0,71,0,79,0,19,0 6,0,22,0,3,0,80,0,87,0,62,0 26,0,64,0,33,0,20,0,29,0,10,0 54,0,57,0,8,0,5,0,86,0,25,0 72,0,67,0,21,0,37,0,51,0,30,0 50,0,76,0,55,0,58,0,1,0,12,0 82,0,56,0,18,0,83,0,73,0,60,0 47,0,66,0,42,0,43,0,68,0,31,0 53,0,35,0,11,0,22,0,41,0,16,0 77,0,9,0,79,0,52,0,45,0,59,0 75,0,44,0,6,0,86,0,61,0,34,0 71,0,62,0,23,0,69,0,25,0,20,0 2,0,33,0,17,0,39,0,63,0,8,0 74,0,37,0,54,0,85,0,65,0,48,0 29,0,38,0,81,0,84,0,3,0,21,0 10,0,7,0,51,0,24,0,57,0,80,0 26,0,87,0,27,0,4,0,13,0,78,0 14,0,32,0,67,0,19,0,70,0,46,0 28,0,49,0,5,0,72,0,15,0,40,0 36,0,64,0,43,0,30,0,83,0,35,0 ================================================ FILE: schedules/88_1.csv ================================================ 28,0,26,0,57,0,42,0,7,0,37,0 67,0,79,0,66,0,23,0,49,0,45,0 86,0,3,0,12,0,83,0,68,0,5,0 34,0,47,0,30,0,61,0,74,0,18,0 81,0,69,0,8,0,84,0,77,0,63,0 50,0,65,0,87,0,56,0,29,0,15,0 80,0,75,0,11,0,60,0,14,0,73,0 10,0,31,0,76,0,40,0,64,0,39,0 36,0,44,0,62,0,20,0,78,0,2,0 6,0,48,0,24,0,25,0,22,0,4,0 16,0,27,0,58,0,85,0,88,0,33,0 1,0,9,0,55,0,54,0,59,0,17,0 70,0,71,0,72,0,13,0,19,0,51,0 52,0,35,0,82,0,32,0,46,0,43,0 21,0,41,0,37,1,53,0,38,0,18,1 ================================================ FILE: schedules/88_10.csv ================================================ 57,0,12,0,85,0,75,0,65,0,71,0 87,0,28,0,62,0,27,0,5,0,84,0 8,0,22,0,3,0,4,0,78,0,2,0 9,0,32,0,18,0,61,0,51,0,72,0 46,0,33,0,67,0,80,0,83,0,74,0 17,0,48,0,24,0,20,0,23,0,49,0 19,0,86,0,25,0,47,0,79,0,44,0 56,0,30,0,50,0,34,0,11,0,42,0 59,0,15,0,77,0,35,0,53,0,55,0 88,0,21,0,76,0,63,0,73,0,58,0 45,0,31,0,69,0,13,0,39,0,38,0 26,0,7,0,1,0,6,0,40,0,82,0 60,0,54,0,36,0,68,0,10,0,43,0 70,0,52,0,64,0,29,0,66,0,41,0 81,0,14,0,44,0,37,0,16,0,61,0 20,0,72,0,84,0,85,0,53,0,25,0 51,0,86,0,3,0,46,0,12,0,59,0 24,0,69,0,5,0,30,0,2,0,58,0 62,0,1,0,80,0,50,0,71,0,76,0 74,0,18,0,87,0,54,0,17,0,65,0 41,0,11,0,73,0,75,0,38,0,9,0 55,0,37,0,83,0,82,0,57,0,31,0 79,0,42,0,88,0,23,0,8,0,40,0 56,0,68,0,22,0,52,0,33,0,14,0 78,0,27,0,63,0,70,0,43,0,47,0 45,0,66,0,26,0,4,0,16,0,67,0 48,0,64,0,6,0,28,0,35,0,32,0 81,0,21,0,36,0,39,0,7,0,15,0 60,0,49,0,29,0,13,0,77,0,19,0 34,0,44,0,74,0,10,0,69,0,23,0 46,1,71,0,14,0,11,1,58,0,17,0 53,0,82,0,43,0,50,0,52,0,24,0 87,0,75,0,59,0,30,0,66,0,1,0 85,0,48,0,45,0,61,0,54,0,78,0 21,0,55,0,5,0,12,0,18,0,67,0 8,0,35,0,65,0,72,0,37,0,29,0 26,0,47,0,13,0,41,0,68,0,62,0 81,0,32,0,80,0,57,0,63,0,84,0 51,0,88,0,15,0,34,0,4,0,6,0 16,0,83,0,22,0,49,0,25,0,36,0 79,0,60,0,9,0,7,0,28,0,76,0 56,0,39,0,3,0,20,0,73,0,19,0 70,0,77,0,38,0,2,0,42,0,33,0 27,0,40,0,64,0,31,0,86,0,10,0 59,0,81,0,68,0,11,0,23,0,62,0 48,0,41,0,14,0,63,0,87,0,50,0 55,0,66,0,36,0,17,0,44,0,85,0 46,0,69,0,52,0,37,0,54,0,21,0 78,0,9,0,20,0,5,0,60,0,83,0 4,0,28,0,80,0,19,0,75,0,53,0 43,0,56,0,2,0,79,0,45,0,64,0 6,0,76,0,77,0,72,0,31,0,22,0 74,0,35,0,40,0,30,0,12,0,38,0 70,0,13,0,88,0,25,0,57,0,24,0 29,0,16,0,86,0,34,0,73,0,82,0 10,0,58,0,15,0,26,0,61,0,65,0 67,0,49,0,1,0,27,0,51,0,39,0 42,0,47,0,71,0,3,0,7,0,32,0 33,0,84,0,6,0,18,0,8,0,11,0 40,0,63,0,20,0,69,0,4,0,55,0 37,0,70,0,59,0,85,0,5,0,56,0 28,0,30,0,43,0,81,0,41,0,72,0 52,0,35,0,2,0,87,0,34,0,83,0 10,0,12,0,77,0,16,0,79,0,50,0 14,0,57,0,67,0,9,0,54,0,47,0 8,0,25,0,64,0,1,0,58,0,38,0 65,0,88,0,32,0,33,0,62,0,60,0 61,0,22,0,46,0,27,0,23,0,13,0 68,0,49,0,73,0,45,0,71,0,53,0 75,0,78,0,51,0,7,0,17,0,29,0 24,0,39,0,18,0,80,0,86,0,26,0 84,0,74,0,19,0,36,0,42,0,31,0 15,0,3,0,82,0,44,0,76,0,48,0 66,0,33,0,35,0,21,0,50,0,57,0 4,0,79,0,38,0,59,0,61,0,52,0 65,0,40,0,28,0,83,0,11,0,70,0 7,0,16,0,72,0,69,0,27,0,58,0 41,0,56,0,10,0,49,0,78,0,46,0 8,0,85,0,71,0,77,0,26,0,43,0 25,0,23,0,87,0,15,0,73,0,29,0 21,0,13,0,6,0,20,0,44,0,80,0 22,0,47,0,30,0,82,0,64,0,18,0 54,0,76,0,34,0,32,0,19,0,55,0 1,0,3,0,24,0,60,0,81,0,74,0 53,0,66,0,39,0,5,0,42,0,14,0 75,0,68,0,86,0,67,0,48,0,31,0 45,0,12,0,9,0,84,0,88,0,17,0 37,0,62,0,63,0,36,0,2,0,51,0 49,0,11,0,80,0,85,0,79,0,15,0 61,0,69,0,82,0,8,0,70,0,87,0 50,0,60,0,78,0,72,0,23,0,26,0 29,0,58,0,40,0,54,0,3,0,33,0 55,0,52,0,25,0,71,0,6,0,39,0 27,0,9,0,19,0,68,0,65,0,21,0 16,0,17,0,30,0,53,0,62,0,13,0 5,0,51,0,47,0,45,0,10,0,81,0 14,0,36,0,34,0,64,0,77,0,67,0 28,0,18,0,2,0,31,0,59,0,88,0 24,0,41,0,4,0,76,0,84,0,35,0 43,0,20,0,7,0,57,0,74,0,22,0 63,0,38,0,83,0,66,0,56,0,86,0 12,0,48,0,42,0,1,0,73,0,37,0 44,0,32,0,5,0,46,0,75,0,8,0 87,0,53,0,11,0,26,0,21,0,3,0 50,0,2,0,40,0,9,0,81,0,13,0 41,0,23,0,31,0,33,0,85,0,16,0 45,0,30,0,65,0,77,0,52,0,80,0 18,0,57,0,76,0,69,0,36,0,56,0 70,0,20,0,35,0,86,0,14,0,1,0 46,0,72,0,19,0,66,0,48,0,88,0 63,0,15,0,71,0,24,0,67,0,22,0 58,0,79,0,55,0,74,0,51,0,68,0 39,0,17,0,4,0,32,0,10,0,83,0 84,0,54,0,7,0,64,0,59,0,73,0 75,0,27,0,25,0,42,0,82,0,60,0 6,0,61,0,62,0,43,0,29,0,12,0 37,0,38,0,49,0,34,0,28,0,47,0 78,0,1,0,57,0,44,0,11,0,52,0 87,0,19,0,51,0,71,0,40,0,33,0 74,0,39,0,76,0,85,0,2,0,68,0 7,0,14,0,10,0,88,0,41,0,55,0 81,0,25,0,4,0,18,0,77,0,46,0 61,0,31,0,17,0,50,0,3,0,5,0 65,0,42,0,86,0,49,0,43,0,69,0 44,0,26,0,63,0,12,0,28,0,54,0 83,0,62,0,75,0,15,0,64,0,72,0 24,0,47,0,21,0,16,0,8,0,56,0 73,0,79,0,67,0,6,0,70,0,30,0 36,0,80,0,23,0,9,0,35,0,82,0 60,0,38,0,34,0,53,0,48,0,22,0 84,0,13,0,58,0,78,0,37,0,66,0 59,0,29,0,27,0,32,0,20,0,45,0 1,0,69,0,17,0,15,0,19,0,41,0 68,0,64,0,42,0,4,0,57,0,46,0 11,0,61,0,88,0,39,0,77,0,47,0 10,0,28,0,67,0,62,0,52,0,3,0 12,0,53,0,8,0,83,0,81,0,76,0 50,0,70,0,54,0,75,0,22,0,49,0 82,0,23,0,84,0,38,0,65,0,51,0 45,0,86,0,58,0,36,0,87,0,6,0 33,0,37,0,26,0,27,0,20,0,79,0 66,0,34,0,5,0,43,0,25,0,80,0 21,0,32,0,31,0,30,0,14,0,78,0 7,0,85,0,13,0,35,0,63,0,18,0 71,0,9,0,74,0,56,0,48,0,29,0 73,0,72,0,44,0,40,0,59,0,24,0 16,0,2,0,46,0,55,0,60,0,11,0 ================================================ FILE: schedules/88_11.csv ================================================ 84,0,26,0,79,0,32,0,42,0,20,0 31,0,38,0,28,0,24,0,29,0,74,0 10,0,37,0,23,0,62,0,77,0,72,0 16,0,53,0,69,0,18,0,86,0,64,0 76,0,82,0,66,0,63,0,36,0,70,0 52,0,58,0,34,0,22,0,65,0,80,0 39,0,71,0,21,0,57,0,59,0,1,0 51,0,45,0,46,0,14,0,67,0,4,0 19,0,25,0,9,0,75,0,73,0,85,0 78,0,40,0,49,0,41,0,35,0,56,0 43,0,68,0,17,0,5,0,87,0,61,0 50,0,15,0,8,0,81,0,88,0,6,0 13,0,60,0,47,0,44,0,54,0,2,0 48,0,3,0,83,0,30,0,7,0,27,0 11,0,55,0,57,0,12,0,33,0,22,0 26,0,76,0,77,0,71,0,52,0,64,0 67,0,10,0,36,0,16,0,78,0,24,0 70,0,49,0,32,0,43,0,51,0,59,0 19,0,15,0,28,0,40,0,87,0,42,0 86,0,61,0,9,0,34,0,82,0,37,0 81,0,75,0,47,0,17,0,21,0,83,0 45,0,3,0,39,0,72,0,58,0,2,0 1,0,73,0,66,0,23,0,79,0,68,0 35,0,60,0,14,0,29,0,11,0,8,0 6,0,41,0,55,0,84,0,74,0,18,0 31,0,27,0,12,0,63,0,54,0,38,0 69,0,88,0,30,0,85,0,20,0,65,0 46,0,53,0,56,0,44,0,33,0,62,0 7,0,80,0,25,0,5,0,50,0,13,0 4,0,24,0,22,0,48,0,47,0,40,0 11,1,73,0,32,0,76,1,10,0,21,0 29,1,51,0,86,0,59,1,3,0,75,0 12,0,18,0,34,0,49,0,64,0,67,0 8,0,63,0,28,0,37,0,2,0,79,0 52,0,15,0,66,0,30,0,54,0,72,0 16,0,87,0,41,0,85,0,83,0,1,0 45,0,44,0,61,0,57,0,36,0,80,0 39,0,7,0,65,0,62,0,84,0,70,0 23,0,71,0,9,0,42,0,46,0,48,0 82,0,78,0,20,0,25,0,60,0,6,0 53,0,33,0,17,0,77,0,19,0,13,0 43,0,88,0,27,0,56,0,74,0,4,0 14,0,68,0,50,0,38,0,55,0,26,0 81,0,35,0,5,0,58,0,31,0,69,0 45,0,54,0,37,0,32,0,75,0,84,0 64,0,34,0,42,0,39,0,10,0,11,0 67,0,29,0,66,0,15,0,57,0,85,0 6,0,80,0,16,0,51,0,63,0,19,0 17,0,74,0,65,0,82,0,9,0,79,0 61,0,8,0,47,0,59,0,41,0,77,0 68,0,58,0,46,0,49,0,28,0,20,0 3,0,25,0,4,0,18,0,26,0,44,0 13,0,38,0,23,0,21,0,69,0,43,0 76,0,53,0,22,0,31,0,50,0,78,0 70,0,33,0,73,0,27,0,60,0,40,0 52,0,5,0,36,0,56,0,83,0,86,0 24,0,71,0,2,0,55,0,35,0,30,0 12,0,88,0,72,0,14,0,7,0,87,0 81,0,62,0,25,0,48,0,1,0,61,0 15,0,20,0,34,0,41,0,43,0,45,0 49,0,22,0,69,0,19,0,37,0,3,0 57,0,29,0,16,0,73,0,65,0,42,0 63,0,39,0,23,0,67,0,26,0,83,0 64,0,2,0,59,0,50,0,84,0,66,0 35,0,82,0,68,0,47,0,51,0,53,0 60,0,30,0,1,0,12,0,4,0,77,0 55,0,72,0,13,0,32,0,81,0,78,0 40,0,88,0,7,0,17,0,54,0,71,0 38,0,87,0,62,0,9,0,52,0,6,0 48,0,75,0,10,0,18,0,76,0,28,0 36,0,74,0,33,0,21,0,58,0,8,0 31,0,80,0,56,0,85,0,79,0,11,0 5,0,44,0,86,0,24,0,14,0,70,0 27,0,22,0,61,0,46,0,29,0,13,0 41,0,42,0,72,0,68,0,25,0,69,0 23,0,52,0,55,0,47,0,16,0,49,0 66,0,28,0,83,0,65,0,32,0,60,0 51,0,48,0,84,0,88,0,38,0,78,0 73,0,3,0,77,0,67,0,6,0,54,0 43,0,81,0,19,0,24,0,59,0,76,0 4,0,20,0,79,0,62,0,71,0,5,0 70,0,11,0,74,0,26,0,30,0,37,0 21,0,86,0,40,0,12,0,63,0,45,0 85,0,10,0,34,0,8,0,17,0,46,0 2,0,36,0,15,0,14,0,31,0,53,0 80,0,64,0,1,0,75,0,35,0,33,0 44,0,87,0,50,0,27,0,39,0,82,0 57,0,18,0,58,0,56,0,7,0,9,0 59,0,69,0,83,0,78,0,54,0,4,0 51,0,67,0,62,0,40,0,74,0,76,0 5,0,41,0,21,0,28,0,22,0,88,0 20,0,53,0,81,0,11,0,3,0,23,0 52,0,86,0,85,0,48,0,43,0,60,0 26,0,75,0,72,0,27,0,34,0,36,0 87,0,30,0,79,0,38,0,45,0,33,0 64,0,56,0,24,0,82,0,13,0,73,0 55,0,42,0,8,0,63,0,7,0,1,0 29,0,50,0,19,0,10,0,70,0,57,0 58,0,32,0,35,0,16,0,17,0,44,0 46,0,25,0,47,0,39,0,6,0,31,0 84,0,14,0,77,0,9,0,49,0,66,0 71,0,68,0,15,0,37,0,80,0,18,0 12,0,65,0,76,0,2,0,61,0,56,0 59,0,7,0,34,0,60,0,74,0,23,0 8,0,41,0,70,0,53,0,72,0,67,0 81,0,27,0,42,0,85,0,45,0,22,0 21,0,13,0,31,0,87,0,20,0,51,0 47,0,44,0,88,0,1,0,38,0,19,0 84,0,16,0,28,0,33,0,25,0,43,0 37,0,14,0,52,0,4,0,39,0,73,0 54,0,62,0,18,0,24,0,11,0,35,0 5,0,17,0,63,0,64,0,15,0,3,0 65,0,40,0,68,0,75,0,50,0,77,0 58,0,82,0,36,0,29,0,48,0,12,0 61,0,69,0,6,0,79,0,55,0,66,0 57,0,26,0,86,0,78,0,46,0,30,0 2,0,83,0,49,0,9,0,80,0,10,0 71,0,4,0,85,0,32,0,53,0,38,0 70,0,35,0,88,0,34,0,13,0,45,0 59,0,21,0,15,0,68,0,16,0,62,0 72,0,1,0,11,0,51,0,28,0,5,0 7,0,79,0,64,0,22,0,47,0,36,0 14,0,42,0,6,0,76,0,30,0,33,0 20,0,55,0,83,0,44,0,40,0,37,0 9,0,54,0,39,0,41,0,29,0,81,0 66,0,43,0,80,0,46,0,12,0,3,0 49,0,82,0,75,0,8,0,57,0,31,0 78,0,61,0,63,0,52,0,50,0,74,0 87,0,25,0,77,0,86,0,24,0,58,0 17,0,73,0,48,0,2,0,69,0,26,0 84,0,10,0,56,0,71,0,67,0,60,0 65,0,19,0,27,0,32,0,23,0,18,0 37,0,46,0,38,0,59,0,42,0,36,0 16,0,40,0,81,0,80,0,82,0,14,0 11,0,30,0,63,0,43,0,44,0,75,0 79,0,49,0,76,0,86,0,15,0,39,0 85,0,6,0,12,0,26,0,13,0,28,0 74,0,73,0,72,0,47,0,71,0,83,0 64,0,55,0,54,0,65,0,51,0,25,0 33,0,2,0,52,0,68,0,7,0,67,0 21,0,60,0,9,0,24,0,53,0,50,0 45,0,8,0,48,0,5,0,66,0,19,0 3,0,10,0,31,0,41,0,88,0,61,0 57,0,84,0,4,0,87,0,35,0,23,0 32,0,56,0,77,0,34,0,69,0,29,0 22,0,17,0,18,0,20,0,70,0,1,0 78,0,62,0,14,0,58,0,27,0,47,0 63,0,33,0,86,0,81,0,71,0,65,0 72,0,60,0,38,0,76,0,46,0,16,0 59,0,67,0,80,0,55,0,88,0,53,0 11,0,31,0,83,0,84,0,68,0,19,0 7,0,29,0,4,0,6,0,21,0,49,0 40,0,43,0,32,0,36,0,1,0,9,0 5,0,78,0,18,0,2,0,82,0,42,0 24,0,37,0,66,0,41,0,27,0,17,0 48,0,20,0,74,0,39,0,77,0,35,0 30,0,62,0,50,0,28,0,34,0,73,0 85,0,23,0,64,0,61,0,58,0,70,0 54,0,22,0,26,0,8,0,56,0,87,0 75,0,13,0,57,0,52,0,79,0,3,0 44,0,51,0,69,0,10,0,12,0,15,0 45,0,76,0,29,0,25,0,11,0,59,0 ================================================ FILE: schedules/88_12.csv ================================================ 12,0,61,0,8,0,10,0,49,0,45,0 24,0,80,0,66,0,79,0,33,0,78,0 83,0,71,0,4,0,11,0,18,0,32,0 29,0,36,0,30,0,69,0,62,0,68,0 55,0,42,0,63,0,40,0,37,0,84,0 17,0,46,0,27,0,72,0,1,0,50,0 51,0,59,0,22,0,7,0,77,0,41,0 19,0,26,0,53,0,88,0,16,0,57,0 47,0,76,0,82,0,44,0,28,0,20,0 52,0,14,0,86,0,64,0,25,0,81,0 58,0,9,0,34,0,15,0,60,0,85,0 35,0,73,0,23,0,6,0,74,0,70,0 5,0,48,0,13,0,67,0,87,0,31,0 21,0,39,0,56,0,75,0,2,0,43,0 54,0,38,0,50,0,3,0,65,0,18,0 44,0,57,0,84,0,17,0,59,0,69,0 42,0,83,0,68,0,72,0,12,0,25,0 40,0,19,0,85,0,66,0,36,0,49,0 22,0,79,0,37,0,15,0,70,0,20,0 67,0,8,0,1,0,74,0,76,0,28,0 53,0,45,0,4,0,78,0,35,0,87,0 27,0,30,0,71,0,64,0,16,0,2,0 24,0,86,0,77,0,23,0,13,0,82,0 60,0,32,0,21,0,29,0,51,0,54,0 26,0,46,0,6,0,56,0,58,0,41,0 7,0,48,0,38,0,80,0,43,0,61,0 33,0,10,0,5,0,3,0,14,0,62,0 81,0,75,0,9,0,65,0,55,0,11,0 39,0,88,0,73,0,52,0,47,0,31,0 63,0,17,0,45,0,34,0,64,0,36,0 78,0,19,0,69,0,20,0,72,0,86,0 28,0,32,0,49,0,35,0,25,0,46,0 12,0,30,0,84,0,4,0,77,0,18,0 60,0,74,0,26,0,71,0,3,0,24,0 54,0,83,0,66,0,13,0,70,0,51,0 44,0,31,0,1,0,79,0,15,0,61,0 40,0,43,0,56,0,87,0,11,0,10,0 47,0,37,0,16,0,75,0,48,0,82,0 53,0,7,0,39,0,42,0,50,0,5,0 33,0,27,0,63,0,9,0,38,0,6,0 57,0,21,0,85,0,8,0,73,0,80,0 62,0,41,0,22,0,76,0,23,0,55,0 34,0,88,0,59,0,81,0,14,0,29,0 68,0,52,0,2,0,65,0,58,0,67,0 75,0,87,0,51,0,46,0,84,0,74,0 15,0,16,0,5,0,10,0,83,0,17,0 33,0,86,0,40,0,47,0,7,0,4,0 61,0,25,0,57,0,37,0,18,0,56,0 35,0,11,0,30,0,3,0,31,0,63,0 62,0,64,0,49,0,54,0,1,0,42,0 80,0,32,0,55,0,19,0,59,0,67,0 23,0,71,0,68,0,38,0,52,0,78,0 36,0,6,0,81,0,22,0,53,0,60,0 85,0,50,0,13,0,26,0,29,0,44,0 76,0,66,0,48,0,12,0,73,0,58,0 45,0,2,0,41,0,9,0,79,0,82,0 39,0,72,0,70,0,28,0,24,0,34,0 77,0,69,0,27,0,21,0,65,0,14,0 88,0,20,0,68,0,43,0,8,0,46,0 59,0,78,0,18,0,6,0,47,0,64,0 13,0,80,0,40,0,1,0,30,0,32,0 60,0,84,0,49,0,31,0,38,0,53,0 57,0,10,0,58,0,54,0,44,0,7,0 15,0,36,0,56,0,48,0,16,0,24,0 12,0,39,0,74,0,65,0,79,0,62,0 52,0,82,0,34,0,22,0,35,0,26,0 81,0,66,0,5,0,21,0,9,0,72,0 42,0,37,0,11,0,85,0,45,0,77,0 20,0,69,0,50,0,33,0,55,0,83,0 14,0,61,0,41,0,19,0,71,0,17,0 2,0,87,0,4,0,29,0,23,0,8,0 86,0,73,0,51,0,3,0,27,0,28,0 67,0,25,0,88,0,63,0,75,0,70,0 43,0,30,0,79,0,76,0,26,0,65,0 59,0,1,0,82,0,68,0,85,0,39,0 44,0,60,0,78,0,12,0,16,0,40,0 62,0,35,0,19,0,58,0,21,0,83,0 17,0,77,0,81,0,20,0,48,0,32,0 74,0,80,0,72,0,4,0,55,0,49,0 18,0,45,0,14,0,73,0,46,0,31,0 3,0,57,0,23,0,75,0,66,0,34,0 24,0,9,0,53,0,25,0,43,0,54,0 50,0,63,0,64,0,87,0,15,0,41,0 10,0,29,0,47,0,67,0,70,0,27,0 76,0,42,0,22,0,38,0,56,0,71,0 7,0,8,0,52,0,6,0,69,0,13,0 28,0,51,0,11,0,88,0,5,0,61,0 33,0,2,0,84,0,37,0,36,0,86,0 43,0,32,0,85,0,45,0,23,0,72,0 4,0,20,0,41,0,60,0,54,0,39,0 73,0,26,0,64,0,9,0,77,0,10,0 74,0,19,0,31,0,27,0,56,0,68,0 17,0,29,0,75,0,18,0,35,0,66,0 8,0,38,0,11,0,24,0,15,0,62,0 55,0,36,0,79,0,52,0,87,0,28,0 80,0,69,0,58,0,22,0,82,0,5,0 65,0,44,0,37,0,88,0,6,0,71,0 30,0,50,0,61,0,70,0,86,0,59,0 67,0,3,0,46,0,53,0,12,0,57,0 14,0,47,0,2,0,63,0,49,0,83,0 51,0,48,0,34,0,42,0,78,0,40,0 25,0,84,0,16,0,21,0,1,0,7,0 81,0,33,0,68,0,76,0,13,0,15,0 39,0,44,0,18,0,22,0,9,0,80,0 20,0,71,0,74,0,58,0,45,0,86,0 3,0,38,0,79,0,88,0,64,0,32,0 31,0,72,0,75,0,54,0,77,0,8,0 14,0,55,0,17,0,85,0,56,0,53,0 82,0,70,0,21,0,36,0,46,0,78,0 5,0,47,0,69,0,23,0,19,0,37,0 29,0,12,0,11,0,52,0,33,0,41,0 25,0,65,0,34,0,10,0,13,0,4,0 42,0,61,0,87,0,66,0,16,0,6,0 84,0,50,0,73,0,40,0,2,0,24,0 60,0,7,0,83,0,67,0,30,0,28,0 81,0,62,0,63,0,51,0,57,0,26,0 76,0,49,0,35,0,59,0,48,0,27,0 43,0,29,0,77,0,1,0,55,0,71,0 12,0,36,0,23,0,20,0,31,0,80,0 44,0,53,0,32,0,68,0,34,0,86,0 42,0,88,0,33,0,82,0,73,0,17,0 64,0,28,0,65,0,56,0,84,0,66,0 67,0,11,0,54,0,50,0,78,0,22,0 46,0,19,0,10,0,39,0,30,0,38,0 35,0,47,0,57,0,61,0,72,0,60,0 26,0,15,0,7,0,45,0,27,0,75,0 41,0,21,0,13,0,74,0,40,0,18,0 59,0,63,0,4,0,52,0,5,0,43,0 2,0,85,0,6,0,76,0,25,0,62,0 70,0,3,0,8,0,48,0,9,0,14,0 37,0,83,0,1,0,87,0,81,0,24,0 79,0,58,0,16,0,69,0,51,0,49,0 36,0,32,0,31,0,47,0,26,0,42,0 64,0,75,0,13,0,19,0,12,0,22,0 28,0,40,0,77,0,38,0,57,0,68,0 15,0,66,0,43,0,82,0,30,0,25,0 88,0,78,0,10,0,85,0,74,0,41,0 18,0,55,0,86,0,8,0,5,0,60,0 53,0,1,0,11,0,2,0,73,0,69,0 56,0,70,0,62,0,49,0,52,0,44,0 24,0,65,0,20,0,14,0,35,0,51,0 39,0,58,0,27,0,81,0,3,0,61,0 67,0,7,0,17,0,23,0,79,0,21,0 45,0,48,0,29,0,84,0,6,0,83,0 87,0,72,0,54,0,33,0,59,0,71,0 16,0,76,0,46,0,80,0,34,0,63,0 4,0,9,0,66,0,50,0,37,0,68,0 40,0,65,0,82,0,8,0,53,0,64,0 61,0,52,0,24,0,75,0,30,0,42,0 70,0,2,0,55,0,7,0,12,0,32,0 57,0,60,0,79,0,27,0,13,0,11,0 6,0,49,0,87,0,26,0,17,0,39,0 69,0,16,0,35,0,85,0,81,0,67,0 56,0,74,0,77,0,54,0,5,0,34,0 46,0,15,0,80,0,71,0,84,0,47,0 50,0,45,0,33,0,19,0,25,0,51,0 4,0,21,0,22,0,1,0,14,0,88,0 31,0,76,0,9,0,86,0,83,0,78,0 73,0,41,0,3,0,36,0,44,0,43,0 38,0,28,0,37,0,58,0,59,0,29,0 18,0,48,0,23,0,10,0,63,0,72,0 20,0,13,0,34,0,62,0,84,0,61,0 19,0,87,0,70,0,65,0,42,0,60,0 74,0,15,0,14,0,32,0,2,0,57,0 45,0,54,0,81,0,30,0,68,0,80,0 51,0,56,0,12,0,9,0,1,0,47,0 73,0,85,0,71,0,79,0,75,0,5,0 38,0,67,0,72,0,37,0,26,0,41,0 27,0,66,0,52,0,18,0,53,0,20,0 17,0,76,0,3,0,69,0,4,0,40,0 28,0,86,0,62,0,22,0,43,0,16,0 35,0,36,0,58,0,50,0,88,0,77,0 24,0,31,0,6,0,10,0,21,0,55,0 25,0,83,0,23,0,8,0,39,0,59,0 49,0,78,0,82,0,63,0,29,0,7,0 44,0,48,0,46,0,33,0,11,0,64,0 ================================================ FILE: schedules/88_13.csv ================================================ 56,0,18,0,14,0,48,0,53,0,88,0 10,0,63,0,42,0,2,0,13,0,37,0 47,0,35,0,6,0,85,0,22,0,58,0 9,0,16,0,23,0,39,0,62,0,41,0 12,0,71,0,24,0,74,0,64,0,51,0 77,0,45,0,43,0,86,0,7,0,11,0 79,0,55,0,19,0,25,0,81,0,26,0 44,0,59,0,76,0,32,0,73,0,84,0 8,0,61,0,66,0,40,0,34,0,30,0 20,0,4,0,49,0,5,0,1,0,31,0 72,0,70,0,50,0,60,0,54,0,3,0 17,0,29,0,75,0,67,0,36,0,78,0 33,0,69,0,28,0,57,0,82,0,21,0 68,0,15,0,46,0,80,0,27,0,65,0 87,0,83,0,26,0,38,0,52,0,2,0 43,0,61,0,84,0,9,0,51,0,73,0 35,0,58,0,62,0,10,0,4,0,77,0 49,0,37,0,5,0,72,0,24,0,14,0 48,0,41,0,74,0,40,0,39,0,42,0 8,0,54,0,29,0,18,0,45,0,33,0 64,0,85,0,82,0,55,0,46,0,30,0 50,0,32,0,38,0,28,0,25,0,13,0 19,0,70,0,81,0,22,0,71,0,88,0 23,0,15,0,6,0,66,0,21,0,36,0 76,0,53,0,31,0,3,0,57,0,87,0 56,0,7,0,44,0,59,0,83,0,17,0 60,0,52,0,34,0,69,0,80,0,16,0 86,0,20,0,78,0,68,0,63,0,79,0 47,0,1,0,65,0,67,0,27,0,11,0 75,0,42,0,8,0,12,0,9,0,19,0 46,1,4,0,51,0,37,1,54,0,88,0 53,0,26,0,28,0,40,0,71,0,23,0 77,0,66,0,17,0,49,0,22,0,55,0 39,0,76,0,13,0,82,0,62,0,43,0 41,0,70,0,29,0,32,0,10,0,31,0 18,0,24,0,44,0,52,0,3,0,85,0 2,0,67,0,68,0,33,0,57,0,58,0 47,0,25,0,80,0,59,0,21,0,78,0 72,0,45,0,1,0,16,0,15,0,87,0 60,0,7,0,65,0,61,0,36,0,79,0 48,0,14,0,30,0,35,0,27,0,63,0 83,0,5,0,73,0,69,0,74,0,50,0 81,0,34,0,86,0,84,0,20,0,12,0 38,0,75,0,56,0,11,0,6,0,64,0 3,0,2,0,23,0,51,0,8,0,59,0 28,0,44,0,71,0,49,0,47,0,68,0 26,0,7,0,55,0,70,0,21,0,9,0 17,0,58,0,82,0,25,0,40,0,14,0 1,0,29,0,33,0,52,0,5,0,63,0 53,0,45,0,46,0,19,0,78,0,10,0 6,0,79,0,88,0,12,0,73,0,16,0 32,0,36,0,11,0,34,0,37,0,74,0 31,0,83,0,43,0,24,0,42,0,15,0 84,0,85,0,38,0,77,0,65,0,48,0 72,0,60,0,66,0,67,0,20,0,13,0 56,0,35,0,64,0,61,0,50,0,76,0 39,0,22,0,69,0,87,0,27,0,54,0 41,0,4,0,80,0,81,0,57,0,18,0 30,0,86,0,68,0,62,0,75,0,70,0 43,0,6,0,52,0,25,0,53,0,34,0 14,0,51,0,42,0,44,0,36,0,45,0 79,0,10,0,9,0,38,0,1,0,66,0 47,0,77,0,76,0,33,0,37,0,8,0 15,0,84,0,82,0,88,0,2,0,5,0 73,0,21,0,17,0,85,0,81,0,11,0 59,0,46,0,63,0,72,0,74,0,61,0 12,0,31,0,50,0,80,0,22,0,67,0 64,0,26,0,3,0,49,0,41,0,86,0 48,0,28,0,83,0,78,0,54,0,62,0 23,0,27,0,60,0,18,0,29,0,19,0 65,0,16,0,57,0,56,0,58,0,20,0 13,0,69,0,7,0,75,0,40,0,35,0 32,0,24,0,55,0,71,0,30,0,87,0 39,0,53,0,50,0,4,0,63,0,85,0 67,0,42,0,73,0,26,0,82,0,5,0 49,0,17,0,8,0,70,0,74,0,43,0 61,0,3,0,10,0,33,0,14,0,27,0 23,0,31,0,22,0,68,0,76,0,45,0 66,0,35,0,57,0,36,0,16,0,59,0 20,0,47,0,81,0,54,0,75,0,30,0 78,0,41,0,7,0,84,0,6,0,69,0 15,0,21,0,71,0,62,0,52,0,44,0 40,0,32,0,56,0,77,0,80,0,79,0 38,0,25,0,39,0,12,0,29,0,46,0 13,0,64,0,18,0,34,0,51,0,87,0 2,0,65,0,19,0,72,0,28,0,4,0 86,0,88,0,55,0,1,0,83,0,37,0 11,0,9,0,48,0,60,0,58,0,24,0 14,0,26,0,84,0,74,0,62,0,47,0 85,0,75,0,49,0,42,0,61,0,23,0 45,0,52,0,32,0,20,0,39,0,43,0 29,0,30,0,50,0,7,0,21,0,51,0 72,0,22,0,8,0,41,0,38,0,73,0 31,0,27,0,40,0,2,0,6,0,44,0 9,0,17,0,57,0,71,0,86,0,46,0 59,0,37,0,87,0,28,0,15,0,81,0 80,0,48,0,13,0,16,0,33,0,55,0 68,0,34,0,70,0,77,0,53,0,5,0 82,0,54,0,24,0,1,0,79,0,35,0 69,0,12,0,64,0,65,0,18,0,10,0 66,0,11,0,78,0,3,0,4,0,88,0 83,0,63,0,76,0,19,0,58,0,36,0 67,0,60,0,37,0,56,0,25,0,23,0 55,0,72,0,2,0,29,0,44,0,43,0 81,0,41,0,61,0,68,0,74,0,52,0 62,0,49,0,79,0,8,0,46,0,57,0 59,0,50,0,34,0,26,0,27,0,9,0 82,0,66,0,45,0,53,0,65,0,12,0 16,0,40,0,21,0,75,0,3,0,83,0 85,0,78,0,69,0,56,0,1,0,70,0 14,0,36,0,4,0,38,0,28,0,86,0 39,0,31,0,7,0,73,0,47,0,64,0 42,0,35,0,5,0,18,0,60,0,32,0 58,0,80,0,54,0,19,0,17,0,84,0 11,0,15,0,51,0,22,0,20,0,76,0 77,0,88,0,13,0,25,0,30,0,24,0 48,0,71,0,63,0,6,0,67,0,10,0 87,0,4,0,44,0,33,0,70,0,12,0 2,0,36,0,49,0,69,0,47,0,53,0 64,0,27,0,81,0,16,0,43,0,78,0 8,0,56,0,52,0,31,0,66,0,84,0 26,0,39,0,51,0,65,0,17,0,35,0 73,0,60,0,46,0,77,0,41,0,21,0 61,0,88,0,62,0,6,0,32,0,72,0 85,0,14,0,79,0,29,0,83,0,13,0 30,0,3,0,37,0,80,0,9,0,5,0 19,0,48,0,34,0,68,0,1,0,82,0 20,0,33,0,42,0,71,0,59,0,7,0 40,0,38,0,67,0,18,0,55,0,76,0 74,0,15,0,86,0,58,0,23,0,50,0 22,0,63,0,45,0,28,0,24,0,57,0 25,0,54,0,10,0,87,0,11,0,75,0 36,0,52,0,12,0,30,0,72,0,78,0 47,0,3,0,29,0,81,0,48,0,56,0 8,0,21,0,68,0,32,0,14,0,64,0 38,0,53,0,80,0,1,0,7,0,42,0 70,0,71,0,37,0,50,0,82,0,65,0 63,0,51,0,77,0,26,0,31,0,69,0 39,0,88,0,10,0,86,0,44,0,57,0 40,0,84,0,11,0,33,0,49,0,46,0 74,0,67,0,79,0,22,0,2,0,9,0 27,0,55,0,4,0,23,0,24,0,73,0 25,0,41,0,87,0,20,0,83,0,35,0 28,0,58,0,18,0,75,0,66,0,43,0 59,0,62,0,6,0,17,0,60,0,45,0 16,0,85,0,34,0,54,0,76,0,15,0 61,0,5,0,57,0,13,0,19,0,47,0 78,0,52,0,80,0,49,0,82,0,10,0 23,0,36,0,1,0,70,0,46,0,40,0 20,0,55,0,74,0,53,0,3,0,35,0 68,0,18,0,72,0,11,0,79,0,39,0 43,0,88,0,87,0,50,0,48,0,67,0 34,0,76,0,24,0,14,0,17,0,41,0 56,0,5,0,45,0,75,0,71,0,27,0 37,0,58,0,12,0,85,0,26,0,62,0 22,0,21,0,44,0,61,0,4,0,13,0 19,0,31,0,30,0,38,0,59,0,69,0 9,0,65,0,33,0,6,0,81,0,83,0 60,0,25,0,63,0,15,0,7,0,8,0 28,0,29,0,16,0,84,0,42,0,77,0 32,0,54,0,2,0,64,0,66,0,86,0 73,0,75,0,52,0,51,0,37,0,48,0 46,0,35,0,78,0,34,0,67,0,44,0 27,0,21,0,58,0,31,0,79,0,72,0 80,0,26,0,36,0,45,0,88,0,85,0 68,0,13,0,87,0,56,0,9,0,49,0 1,0,12,0,61,0,28,0,17,0,3,0 33,0,64,0,77,0,14,0,19,0,15,0 2,0,84,0,39,0,55,0,60,0,71,0 82,0,74,0,16,0,18,0,4,0,7,0 6,0,20,0,24,0,8,0,10,0,50,0 25,0,76,0,62,0,81,0,42,0,69,0 86,0,53,0,40,0,73,0,22,0,29,0 65,0,43,0,5,0,59,0,41,0,54,0 57,0,23,0,11,0,30,0,32,0,83,0 70,0,38,0,51,0,47,0,63,0,66,0 9,0,77,0,75,0,72,0,82,0,44,0 18,0,78,0,71,0,31,0,37,0,61,0 69,0,79,0,4,0,15,0,45,0,48,0 27,0,74,0,88,0,28,0,52,0,76,0 81,0,46,0,1,0,58,0,13,0,8,0 3,0,84,0,36,0,25,0,22,0,64,0 17,0,5,0,33,0,23,0,35,0,38,0 11,0,53,0,30,0,50,0,26,0,16,0 86,0,87,0,42,0,34,0,65,0,21,0 54,0,63,0,49,0,56,0,12,0,55,0 67,0,19,0,51,0,85,0,32,0,41,0 24,0,59,0,70,0,29,0,39,0,6,0 14,0,62,0,73,0,80,0,20,0,2,0 47,0,57,0,10,0,40,0,60,0,43,0 83,0,7,0,46,0,66,0,68,0,37,0 ================================================ FILE: schedules/88_14.csv ================================================ 81,0,27,0,43,0,2,0,9,0,63,0 11,0,5,0,13,0,49,0,77,0,6,0 65,0,41,0,64,0,85,0,8,0,70,0 26,0,83,0,82,0,54,0,1,0,29,0 48,0,7,0,28,0,47,0,42,0,74,0 40,0,37,0,38,0,14,0,53,0,66,0 12,0,31,0,57,0,58,0,33,0,32,0 46,0,20,0,4,0,87,0,69,0,86,0 39,0,84,0,35,0,17,0,61,0,78,0 68,0,3,0,75,0,15,0,34,0,51,0 67,0,21,0,72,0,62,0,36,0,76,0 71,0,59,0,10,0,23,0,60,0,30,0 18,0,50,0,22,0,16,0,25,0,73,0 80,0,52,0,44,0,24,0,55,0,79,0 19,0,88,0,29,0,56,0,45,0,7,0 6,0,69,0,84,0,47,0,83,0,12,0 51,0,4,0,27,0,26,0,54,0,31,0 37,0,1,0,15,0,77,0,41,0,36,0 65,0,78,0,58,0,40,0,10,0,82,0 23,0,34,0,70,0,18,0,74,0,11,0 16,0,71,0,9,0,48,0,32,0,68,0 50,0,45,0,75,0,59,0,2,0,14,0 8,0,22,0,13,0,33,0,24,0,46,0 79,0,49,0,62,0,3,0,28,0,35,0 85,0,39,0,5,0,81,0,25,0,57,0 73,0,63,0,19,0,86,0,38,0,61,0 17,0,53,0,44,0,67,0,42,0,88,0 72,0,52,0,20,0,64,0,80,0,21,0 60,0,87,0,43,0,66,0,30,0,55,0 56,0,70,0,11,0,76,0,84,0,78,0 14,1,29,0,9,0,68,1,59,0,6,0 23,1,22,0,7,0,85,1,83,0,62,0 16,0,28,0,37,0,69,0,8,0,27,0 71,0,67,0,53,0,74,0,82,0,75,0 24,0,19,0,4,0,15,0,42,0,50,0 26,0,36,0,47,0,87,0,52,0,34,0 58,0,38,0,60,0,64,0,88,0,76,0 3,0,44,0,32,0,81,0,21,0,41,0 35,0,63,0,18,0,51,0,65,0,80,0 20,0,43,0,39,0,13,0,56,0,73,0 54,0,79,0,86,0,5,0,40,0,25,0 30,0,49,0,12,0,2,0,46,0,1,0 55,0,77,0,48,0,17,0,33,0,31,0 45,0,61,0,10,0,66,0,57,0,72,0 64,0,44,0,6,0,71,0,87,0,78,0 28,0,80,0,4,0,81,0,53,0,23,0 11,0,76,0,69,0,68,0,73,0,24,0 9,0,83,0,67,0,38,0,88,0,18,0 16,0,62,0,19,0,59,0,12,0,63,0 14,0,77,0,56,0,30,0,74,0,32,0 52,0,1,0,75,0,31,0,8,0,5,0 10,0,49,0,84,0,7,0,20,0,54,0 36,0,58,0,43,0,86,0,42,0,70,0 48,0,57,0,21,0,79,0,35,0,29,0 60,0,82,0,72,0,22,0,34,0,85,0 2,0,47,0,51,0,13,0,39,0,40,0 55,0,46,0,41,0,50,0,27,0,61,0 3,0,17,0,25,0,37,0,26,0,45,0 66,0,15,0,81,0,33,0,65,0,88,0 63,0,77,0,23,0,67,0,56,0,54,0 9,0,53,0,73,0,57,0,49,0,24,0 83,0,5,0,72,0,71,0,14,0,19,0 8,0,39,0,42,0,68,0,38,0,30,0 46,0,78,0,34,0,4,0,21,0,32,0 44,0,62,0,58,0,18,0,84,0,75,0 61,0,6,0,74,0,80,0,43,0,37,0 52,0,12,0,45,0,82,0,70,0,15,0 51,0,41,0,25,0,69,0,33,0,59,0 28,0,50,0,40,0,36,0,35,0,64,0 31,0,22,0,66,0,47,0,29,0,3,0 2,0,7,0,65,0,48,0,60,0,11,0 85,0,79,0,76,0,17,0,87,0,1,0 16,0,10,0,26,0,86,0,13,0,55,0 20,0,56,0,5,0,27,0,68,0,67,0 25,0,80,0,9,0,12,0,77,0,78,0 36,0,23,0,51,0,19,0,49,0,64,0 40,0,15,0,84,0,28,0,34,0,29,0 54,0,24,0,35,0,58,0,71,0,41,0 81,0,17,0,46,0,60,0,73,0,14,0 79,0,22,0,45,0,55,0,18,0,53,0 33,0,74,0,2,0,61,0,83,0,65,0 87,0,75,0,37,0,16,0,39,0,7,0 26,0,11,0,20,0,66,0,62,0,50,0 52,0,27,0,76,0,59,0,3,0,48,0 21,0,88,0,13,0,30,0,86,0,85,0 32,0,1,0,6,0,72,0,38,0,70,0 47,0,4,0,8,0,43,0,44,0,57,0 42,0,82,0,69,0,10,0,63,0,31,0 55,0,37,0,67,0,34,0,35,0,2,0 11,0,46,0,12,0,75,0,28,0,41,0 9,0,68,0,33,0,7,0,52,0,64,0 29,0,59,0,53,0,86,0,18,0,78,0 24,0,72,0,1,0,3,0,88,0,84,0 20,0,85,0,45,0,43,0,6,0,40,0 57,0,32,0,42,0,60,0,80,0,27,0 5,0,30,0,61,0,26,0,69,0,23,0 8,0,14,0,82,0,79,0,13,0,36,0 19,0,70,0,81,0,10,0,77,0,47,0 50,0,63,0,16,0,58,0,49,0,21,0 54,0,39,0,73,0,48,0,44,0,66,0 76,0,71,0,65,0,25,0,4,0,62,0 17,0,22,0,38,0,87,0,74,0,51,0 56,0,83,0,60,0,31,0,15,0,35,0 29,0,55,0,33,0,23,0,20,0,32,0 36,0,75,0,30,0,78,0,85,0,9,0 5,0,59,0,45,0,42,0,37,0,11,0 54,0,21,0,16,0,14,0,61,0,70,0 41,0,76,0,13,0,63,0,7,0,57,0 17,0,40,0,18,0,72,0,3,0,4,0 27,0,24,0,66,0,82,0,77,0,64,0 67,0,26,0,2,0,84,0,80,0,22,0 62,0,53,0,48,0,34,0,8,0,83,0 50,0,65,0,68,0,44,0,38,0,12,0 58,0,56,0,69,0,81,0,79,0,6,0 46,0,74,0,25,0,52,0,19,0,10,0 88,0,1,0,51,0,73,0,43,0,28,0 15,0,86,0,49,0,47,0,39,0,31,0 87,0,29,0,63,0,71,0,3,0,2,0 7,0,85,0,66,0,32,0,24,0,59,0 34,0,9,0,54,0,13,0,17,0,50,0 60,0,68,0,20,0,37,0,78,0,79,0 21,0,8,0,38,0,40,0,81,0,11,0 16,0,77,0,43,0,46,0,26,0,76,0 61,0,58,0,42,0,52,0,22,0,51,0 44,0,28,0,86,0,56,0,30,0,72,0 35,0,87,0,10,0,12,0,15,0,14,0 47,0,33,0,49,0,82,0,4,0,71,0 62,0,55,0,74,0,69,0,1,0,57,0 88,0,83,0,25,0,70,0,27,0,36,0 67,0,65,0,39,0,53,0,19,0,6,0 5,0,75,0,64,0,48,0,80,0,18,0 41,0,31,0,73,0,23,0,84,0,45,0 3,0,8,0,61,0,9,0,12,0,20,0 49,0,56,0,42,0,26,0,33,0,85,0 40,0,14,0,57,0,71,0,1,0,44,0 4,0,76,0,37,0,10,0,28,0,83,0 74,0,77,0,72,0,87,0,58,0,39,0 7,0,53,0,35,0,70,0,5,0,46,0 11,0,43,0,21,0,19,0,82,0,17,0 64,0,48,0,63,0,15,0,22,0,25,0 66,0,78,0,88,0,23,0,16,0,41,0 34,0,47,0,27,0,79,0,73,0,65,0 86,0,62,0,80,0,45,0,51,0,68,0 38,0,36,0,59,0,55,0,31,0,84,0 81,0,30,0,50,0,29,0,67,0,52,0 69,0,18,0,32,0,13,0,54,0,2,0 24,0,6,0,70,0,60,0,75,0,4,0 87,0,76,0,33,0,19,0,40,0,9,0 11,0,35,0,27,0,10,0,22,0,1,0 49,0,68,0,72,0,41,0,43,0,83,0 55,0,15,0,78,0,5,0,73,0,74,0 80,0,8,0,58,0,17,0,59,0,66,0 32,0,53,0,84,0,63,0,52,0,25,0 60,0,29,0,36,0,62,0,69,0,39,0 64,0,81,0,34,0,42,0,45,0,16,0 57,0,13,0,6,0,3,0,23,0,50,0 54,0,82,0,47,0,75,0,38,0,56,0 86,0,48,0,14,0,24,0,67,0,12,0 71,0,88,0,7,0,79,0,26,0,61,0 85,0,21,0,2,0,77,0,28,0,51,0 30,0,46,0,31,0,37,0,18,0,65,0 44,0,70,0,9,0,20,0,19,0,22,0 32,0,80,0,39,0,83,0,1,0,50,0 10,0,41,0,34,0,5,0,38,0,43,0 48,0,6,0,23,0,82,0,84,0,86,0 63,0,26,0,14,0,8,0,60,0,78,0 36,0,66,0,2,0,53,0,76,0,68,0 77,0,75,0,73,0,42,0,40,0,29,0 31,0,24,0,25,0,61,0,81,0,20,0 13,0,35,0,49,0,74,0,45,0,44,0 64,0,62,0,59,0,88,0,46,0,47,0 69,0,7,0,15,0,72,0,17,0,27,0 12,0,71,0,18,0,37,0,56,0,21,0 79,0,33,0,51,0,11,0,16,0,30,0 3,0,85,0,67,0,4,0,55,0,58,0 28,0,65,0,87,0,57,0,54,0,52,0 25,0,1,0,19,0,66,0,60,0,13,0 73,0,61,0,82,0,32,0,5,0,62,0 34,0,14,0,31,0,76,0,7,0,80,0 38,0,15,0,26,0,46,0,23,0,44,0 50,0,37,0,70,0,51,0,48,0,72,0 12,0,74,0,29,0,64,0,4,0,85,0 54,0,78,0,28,0,43,0,33,0,22,0 41,0,53,0,47,0,58,0,30,0,20,0 55,0,40,0,88,0,68,0,63,0,11,0 27,0,87,0,84,0,49,0,18,0,81,0 86,0,52,0,8,0,71,0,77,0,35,0 67,0,45,0,69,0,9,0,21,0,39,0 24,0,56,0,3,0,36,0,65,0,16,0 79,0,57,0,83,0,75,0,42,0,59,0 17,0,6,0,41,0,2,0,10,0,62,0 15,0,68,0,19,0,26,0,53,0,58,0 44,0,11,0,61,0,85,0,29,0,27,0 60,0,86,0,40,0,52,0,74,0,50,0 71,0,84,0,66,0,9,0,51,0,46,0 38,0,78,0,14,0,69,0,49,0,48,0 75,0,72,0,23,0,35,0,25,0,65,0 2,0,57,0,20,0,88,0,16,0,82,0 10,0,73,0,80,0,33,0,21,0,3,0 36,0,22,0,12,0,5,0,7,0,81,0 17,0,30,0,45,0,63,0,83,0,24,0 76,0,54,0,42,0,6,0,8,0,55,0 77,0,1,0,59,0,34,0,4,0,56,0 43,0,79,0,32,0,39,0,64,0,37,0 31,0,13,0,87,0,67,0,70,0,28,0 18,0,14,0,23,0,47,0,68,0,85,0 ================================================ FILE: schedules/88_2.csv ================================================ 36,0,72,0,30,0,53,0,22,0,84,0 68,0,25,0,69,0,16,0,37,0,24,0 45,0,42,0,75,0,11,0,57,0,10,0 48,0,79,0,23,0,26,0,9,0,13,0 64,0,46,0,32,0,81,0,63,0,73,0 83,0,1,0,6,0,18,0,87,0,86,0 40,0,54,0,27,0,55,0,44,0,17,0 4,0,29,0,38,0,34,0,59,0,66,0 20,0,51,0,3,0,71,0,52,0,8,0 43,0,80,0,85,0,41,0,35,0,49,0 14,0,19,0,74,0,82,0,7,0,67,0 31,0,2,0,70,0,33,0,76,0,78,0 88,0,28,0,21,0,39,0,12,0,77,0 56,0,65,0,15,0,61,0,5,0,47,0 50,0,58,0,34,0,60,0,62,0,57,0 16,0,4,0,72,0,81,0,6,0,54,0 75,0,84,0,46,0,43,0,83,0,51,0 74,0,24,0,32,0,42,0,3,0,38,0 10,0,35,0,82,0,76,0,8,0,36,0 78,0,52,0,25,0,30,0,49,0,28,0 41,0,20,0,61,0,14,0,44,0,21,0 62,0,29,0,23,0,5,0,85,0,88,0 55,0,48,0,73,0,70,0,45,0,15,0 53,0,66,0,77,0,50,0,79,0,87,0 13,0,18,0,40,0,37,0,2,0,39,0 71,0,11,0,33,0,26,0,58,0,12,0 63,0,56,0,9,0,22,0,80,0,1,0 7,0,59,0,60,0,27,0,86,0,69,0 17,0,68,0,67,0,65,0,31,0,64,0 47,0,57,1,48,1,19,0,32,1,25,1 ================================================ FILE: schedules/88_3.csv ================================================ 13,0,72,0,77,0,18,0,32,0,78,0 3,0,6,0,68,0,50,0,11,0,70,0 22,0,24,0,23,0,4,0,88,0,74,0 34,0,2,0,1,0,82,0,83,0,49,0 63,0,31,0,59,0,66,0,75,0,42,0 62,0,5,0,37,0,87,0,86,0,8,0 27,0,52,0,71,0,41,0,84,0,58,0 9,0,30,0,43,0,10,0,61,0,29,0 81,0,25,0,73,0,39,0,36,0,64,0 7,0,26,0,54,0,16,0,55,0,46,0 21,0,28,0,12,0,48,0,14,0,85,0 33,0,45,0,51,0,57,0,65,0,69,0 17,0,19,0,40,0,44,0,79,0,38,0 80,0,47,0,56,0,76,0,35,0,53,0 67,0,15,0,4,0,20,0,60,0,75,0 31,0,71,0,13,0,30,0,3,0,5,0 55,0,83,0,74,0,27,0,72,0,29,0 84,0,26,0,78,0,81,0,88,0,12,0 9,0,82,0,87,0,65,0,39,0,54,0 25,0,66,0,50,0,32,0,19,0,33,0 11,0,85,0,42,0,2,0,58,0,47,0 53,0,20,0,8,0,69,0,59,0,24,0 44,0,35,0,60,0,68,0,7,0,62,0 70,0,67,0,48,0,1,0,16,0,51,0 22,0,18,0,80,0,73,0,52,0,14,0 77,0,56,0,34,0,37,0,17,0,46,0 10,0,23,0,57,0,21,0,15,0,64,0 6,0,61,0,76,0,38,0,86,0,63,0 36,0,43,0,49,0,28,0,45,0,40,0 79,0,50,0,2,0,41,0,30,0,74,0 48,0,4,0,68,0,72,0,26,0,9,0 78,0,69,0,29,0,11,0,1,0,22,0 55,0,70,0,81,0,44,0,33,0,31,0 59,0,10,0,14,0,25,0,27,0,77,0 8,0,16,0,83,0,60,0,6,0,23,0 52,0,88,0,82,0,3,0,63,0,28,0 51,0,39,0,24,0,49,0,56,0,62,0 35,0,40,0,67,0,42,0,34,0,84,0 86,0,41,0,7,0,53,0,57,0,19,0 46,0,66,0,20,0,12,0,64,0,43,0 76,0,79,0,75,0,73,0,45,0,13,0 17,0,87,0,32,0,71,0,85,0,80,0 47,0,65,0,37,0,18,0,21,0,61,0 5,0,36,0,58,0,38,0,15,0,54,0 ================================================ FILE: schedules/88_4.csv ================================================ 30,0,21,0,32,0,17,0,24,0,65,0 9,0,8,0,73,0,12,0,33,0,58,0 6,0,38,0,66,0,69,0,76,0,72,0 40,0,29,0,45,0,59,0,71,0,51,0 42,0,63,0,43,0,67,0,64,0,61,0 56,0,16,0,54,0,78,0,46,0,15,0 53,0,20,0,44,0,82,0,48,0,47,0 11,0,22,0,14,0,79,0,49,0,1,0 35,0,85,0,23,0,28,0,60,0,2,0 34,0,41,0,74,0,39,0,81,0,31,0 62,0,55,0,80,0,68,0,13,0,5,0 70,0,10,0,84,0,37,0,88,0,26,0 27,0,86,0,25,0,75,0,7,0,77,0 4,0,87,0,19,0,3,0,83,0,52,0 36,0,18,0,44,0,50,0,57,0,42,0 22,0,82,0,21,0,38,0,8,0,46,0 20,0,23,0,76,0,79,0,71,0,65,0 31,0,2,0,51,0,55,0,33,0,64,0 28,0,49,0,47,0,24,0,40,0,15,0 81,0,60,0,7,0,70,0,73,0,29,0 83,0,86,0,53,0,61,0,37,0,72,0 59,0,18,0,14,0,62,0,66,0,34,0 52,0,10,0,27,0,56,0,80,0,32,0 12,0,3,0,67,0,17,0,88,0,11,0 69,0,75,0,50,0,74,0,58,0,5,0 77,0,54,0,39,0,57,0,63,0,4,0 87,0,30,0,36,0,13,0,85,0,6,0 19,0,43,0,26,0,35,0,16,0,68,0 25,0,78,0,84,0,9,0,45,0,41,0 1,0,10,0,72,0,48,0,42,0,23,0 49,1,17,0,38,0,53,1,64,0,18,0 55,0,65,0,40,0,50,0,11,0,66,0 34,0,75,0,24,0,56,0,83,0,73,0 69,0,37,0,3,0,28,0,8,0,36,0 5,0,51,0,4,0,81,0,16,0,82,0 67,0,52,0,26,0,47,0,79,0,41,0 60,0,57,0,22,0,31,0,27,0,6,0 46,0,33,0,86,0,76,0,43,0,45,0 19,0,48,0,30,0,71,0,61,0,88,0 15,0,70,0,62,0,25,0,85,0,39,0 54,0,2,0,80,0,20,0,87,0,29,0 13,0,59,0,1,0,21,0,9,0,77,0 68,0,12,0,14,0,7,0,74,0,78,0 58,0,84,0,35,0,63,0,44,0,32,0 33,0,28,0,83,0,50,0,38,0,67,0 45,0,72,0,82,0,27,0,65,0,49,0 88,0,85,0,8,0,47,0,55,0,34,0 73,0,64,0,23,0,80,0,39,0,36,0 61,0,79,0,21,0,6,0,3,0,54,0 57,0,9,0,15,0,52,0,53,0,7,0 4,0,69,0,31,0,40,0,35,0,62,0 13,0,51,0,74,0,18,0,26,0,76,0 41,0,68,0,77,0,70,0,42,0,46,0 56,0,71,0,5,0,44,0,60,0,14,0 78,0,17,0,66,0,10,0,86,0,20,0 24,0,16,0,63,0,22,0,59,0,48,0 37,0,11,0,29,0,58,0,25,0,30,0 12,0,2,0,81,0,19,0,1,0,84,0 43,0,75,0,49,0,87,0,32,0,53,0 ================================================ FILE: schedules/88_5.csv ================================================ 18,0,75,0,17,0,59,0,34,0,49,0 40,0,58,0,73,0,52,0,21,0,7,0 54,0,16,0,38,0,26,0,77,0,80,0 19,0,81,0,74,0,1,0,86,0,68,0 84,0,43,0,37,0,47,0,2,0,11,0 10,0,65,0,70,0,57,0,12,0,32,0 53,0,78,0,69,0,30,0,9,0,42,0 6,0,3,0,22,0,76,0,62,0,4,0 79,0,25,0,13,0,27,0,31,0,14,0 63,0,66,0,33,0,60,0,29,0,56,0 67,0,23,0,28,0,82,0,85,0,51,0 20,0,15,0,87,0,83,0,24,0,5,0 45,0,61,0,39,0,71,0,41,0,36,0 88,0,64,0,44,0,8,0,72,0,48,0 55,0,50,0,65,0,46,0,35,0,17,0 86,0,16,0,52,0,78,0,10,0,75,0 4,0,56,0,25,0,11,0,77,0,73,0 27,0,7,0,26,0,84,0,53,0,74,0 5,0,58,0,28,0,29,0,19,0,43,0 40,0,2,0,67,0,22,0,71,0,38,0 24,0,39,0,18,0,69,0,81,0,80,0 85,0,60,0,14,0,37,0,45,0,55,0 42,0,41,0,57,0,20,0,59,0,6,0 8,0,9,0,31,0,21,0,70,0,33,0 36,0,66,0,3,0,12,0,79,0,50,0 83,0,82,0,49,0,88,0,13,0,61,0 48,0,30,0,62,0,68,0,87,0,46,0 1,0,76,0,63,0,35,0,15,0,72,0 34,0,47,0,32,0,44,0,51,0,54,0 23,0,5,0,69,0,64,0,7,0,56,0 19,1,75,0,4,0,9,1,39,0,55,0 17,1,8,0,52,0,26,1,67,0,24,0 3,0,11,0,53,0,20,0,86,0,65,0 41,0,62,0,27,0,28,0,78,0,83,0 63,0,73,0,42,0,36,0,22,0,48,0 6,0,44,0,25,0,50,0,37,0,18,0 16,0,35,0,32,0,61,0,87,0,58,0 12,0,21,0,15,0,23,0,80,0,14,0 77,0,79,0,72,0,43,0,40,0,82,0 60,0,68,0,54,0,10,0,84,0,31,0 51,0,2,0,59,0,70,0,64,0,29,0 1,0,33,0,71,0,46,0,88,0,85,0 38,0,66,0,49,0,81,0,30,0,47,0 45,0,57,0,13,0,76,0,34,0,74,0 44,0,83,0,14,0,63,0,11,0,17,0 16,0,55,0,82,0,62,0,7,0,18,0 50,0,31,0,28,0,26,0,4,0,32,0 80,0,59,0,61,0,22,0,9,0,86,0 48,0,2,0,56,0,1,0,10,0,27,0 64,0,36,0,21,0,67,0,65,0,30,0 19,0,54,0,85,0,87,0,76,0,79,0 46,0,43,0,24,0,42,0,60,0,70,0 37,0,72,0,49,0,69,0,51,0,73,0 84,0,34,0,12,0,41,0,38,0,58,0 47,0,88,0,39,0,40,0,20,0,23,0 57,0,68,0,29,0,3,0,8,0,71,0 5,0,52,0,6,0,53,0,13,0,66,0 77,0,45,0,78,0,15,0,33,0,81,0 75,0,35,0,64,0,25,0,74,0,24,0 27,0,11,0,30,0,80,0,32,0,55,0 56,0,86,0,84,0,14,0,62,0,70,0 4,0,48,0,34,0,40,0,65,0,37,0 29,0,17,0,1,0,47,0,16,0,79,0 9,0,73,0,57,0,28,0,66,0,44,0 26,0,41,0,5,0,21,0,85,0,72,0 42,0,50,0,33,0,83,0,75,0,67,0 60,0,71,0,77,0,19,0,35,0,53,0 18,0,22,0,46,0,78,0,23,0,31,0 61,0,69,0,15,0,38,0,52,0,68,0 63,0,2,0,7,0,54,0,13,0,39,0 45,0,58,0,10,0,59,0,82,0,3,0 74,0,87,0,12,0,49,0,8,0,6,0 76,0,20,0,81,0,51,0,43,0,25,0 88,0,19,0,17,0,36,0,9,0,26,0 ================================================ FILE: schedules/88_6.csv ================================================ 55,0,10,0,31,0,34,0,19,0,88,0 14,0,82,0,54,0,57,0,61,0,63,0 15,0,7,0,9,0,29,0,26,0,8,0 44,0,2,0,1,0,46,0,45,0,84,0 79,0,86,0,33,0,20,0,81,0,51,0 21,0,60,0,36,0,47,0,5,0,16,0 22,0,12,0,11,0,28,0,6,0,52,0 49,0,71,0,50,0,48,0,77,0,72,0 27,0,13,0,37,0,30,0,23,0,66,0 70,0,17,0,43,0,40,0,25,0,59,0 62,0,24,0,76,0,42,0,67,0,87,0 4,0,73,0,78,0,64,0,3,0,83,0 75,0,65,0,68,0,35,0,38,0,41,0 53,0,56,0,80,0,39,0,18,0,32,0 69,0,85,0,33,0,58,0,74,0,54,0 60,0,88,0,51,0,45,0,71,0,28,0 16,0,63,0,23,0,34,0,72,0,44,0 84,0,52,0,19,0,82,0,43,0,50,0 78,0,30,0,77,0,7,0,21,0,86,0 6,0,75,0,2,0,20,0,15,0,40,0 68,0,32,0,8,0,66,0,76,0,57,0 31,0,18,0,9,0,64,0,42,0,79,0 24,0,56,0,65,0,22,0,1,0,26,0 41,0,59,0,67,0,36,0,49,0,80,0 39,0,4,0,5,0,61,0,10,0,25,0 87,0,83,0,74,0,53,0,17,0,46,0 70,0,29,0,38,0,69,0,3,0,13,0 58,0,14,0,37,0,73,0,47,0,12,0 62,0,48,0,55,0,35,0,11,0,81,0 27,0,50,0,32,0,85,0,79,0,28,0 45,0,68,0,19,0,63,0,9,0,6,0 57,0,26,0,59,0,78,0,88,0,39,0 65,0,30,0,74,0,84,0,36,0,10,0 44,0,18,0,24,0,29,0,61,0,60,0 42,0,82,0,37,0,77,0,20,0,4,0 81,0,12,0,53,0,2,0,69,0,8,0 64,0,80,0,40,0,87,0,21,0,52,0 11,0,27,0,47,0,15,0,34,0,70,0 5,0,72,0,13,0,33,0,62,0,83,0 51,0,35,0,43,0,22,0,49,0,58,0 7,0,14,0,85,0,23,0,67,0,75,0 86,0,25,0,54,0,1,0,3,0,55,0 46,0,16,0,48,0,73,0,41,0,66,0 31,0,56,0,76,0,71,0,38,0,17,0 53,0,6,0,50,0,37,0,70,0,26,0 78,0,9,0,34,0,20,0,60,0,52,0 84,0,13,0,21,0,61,0,68,0,42,0 69,0,14,0,5,0,87,0,22,0,79,0 11,0,39,0,45,0,3,0,72,0,24,0 36,0,77,0,66,0,44,0,83,0,28,0 8,0,75,0,25,0,46,0,80,0,27,0 29,0,65,0,23,0,55,0,59,0,32,0 15,0,17,0,54,0,10,0,81,0,67,0 47,0,7,0,2,0,48,0,33,0,43,0 35,0,88,0,16,0,56,0,85,0,82,0 57,0,18,0,38,0,74,0,19,0,40,0 1,0,63,0,12,0,31,0,4,0,51,0 71,0,64,0,41,0,30,0,58,0,62,0 86,0,73,0,6,0,49,0,76,0,29,0 52,0,67,0,69,0,39,0,65,0,66,0 3,0,22,0,23,0,9,0,17,0,33,0 11,0,68,0,77,0,14,0,10,0,59,0 87,0,20,0,84,0,18,0,70,0,85,0 40,0,1,0,36,0,13,0,78,0,81,0 60,0,41,0,63,0,74,0,8,0,56,0 58,0,48,0,88,0,21,0,53,0,38,0 43,0,83,0,34,0,45,0,80,0,86,0 72,0,64,0,76,0,51,0,27,0,19,0 32,0,82,0,46,0,12,0,5,0,30,0 49,0,7,0,61,0,62,0,31,0,16,0 73,0,79,0,71,0,24,0,55,0,15,0 28,0,25,0,35,0,2,0,37,0,57,0 26,0,47,0,75,0,54,0,44,0,4,0 42,0,34,0,8,0,50,0,1,0,14,0 67,0,20,0,63,0,83,0,21,0,27,0 81,0,39,0,74,0,6,0,82,0,64,0 85,0,40,0,5,0,65,0,53,0,31,0 46,0,62,0,15,0,23,0,77,0,69,0 79,0,56,0,3,0,48,0,36,0,37,0 88,0,49,0,66,0,25,0,84,0,11,0 59,0,22,0,4,0,16,0,76,0,18,0 35,0,26,0,19,0,86,0,42,0,60,0 43,0,10,0,57,0,71,0,12,0,13,0 61,0,28,0,58,0,70,0,78,0,75,0 32,0,38,0,51,0,7,0,54,0,24,0 55,0,44,0,80,0,68,0,33,0,50,0 52,0,29,0,17,0,45,0,41,0,47,0 30,0,9,0,72,0,73,0,87,0,2,0 ================================================ FILE: schedules/88_7.csv ================================================ 52,0,76,0,16,0,38,0,34,0,24,0 59,0,45,0,2,0,18,0,15,0,71,0 75,0,65,0,72,0,23,0,60,0,58,0 30,0,79,0,50,0,12,0,55,0,66,0 21,0,35,0,77,0,64,0,39,0,57,0 33,0,51,0,27,0,68,0,69,0,5,0 32,0,10,0,84,0,62,0,14,0,46,0 7,0,17,0,37,0,40,0,3,0,6,0 36,0,22,0,43,0,9,0,61,0,11,0 53,0,44,0,25,0,28,0,67,0,20,0 82,0,83,0,4,0,74,0,47,0,26,0 73,0,29,0,1,0,86,0,70,0,19,0 80,0,54,0,81,0,42,0,63,0,78,0 41,0,88,0,31,0,56,0,85,0,8,0 49,0,13,0,66,0,48,0,87,0,64,0 35,0,3,0,10,0,68,0,52,0,18,0 16,0,43,0,39,0,51,0,25,0,55,0 2,0,47,0,57,0,50,0,27,0,40,0 59,0,46,0,33,0,11,0,67,0,29,0 4,0,71,0,78,0,37,0,73,0,23,0 83,0,53,0,62,0,88,0,38,0,7,0 84,0,58,0,56,0,42,0,36,0,70,0 63,0,14,0,79,0,49,0,26,0,65,0 82,0,80,0,30,0,28,0,61,0,32,0 13,0,60,0,76,0,6,0,20,0,77,0 86,0,21,0,24,0,44,0,85,0,81,0 45,0,5,0,48,0,54,0,41,0,12,0 15,0,74,0,8,0,22,0,72,0,87,0 9,0,19,0,34,0,75,0,69,0,17,0 1,0,16,0,71,0,31,0,62,0,67,0 59,1,64,0,3,0,78,1,79,0,61,0 56,0,63,0,47,0,43,0,7,0,46,0 39,0,40,0,30,0,84,0,13,0,11,0 18,0,38,0,5,0,6,0,36,0,73,0 23,0,12,0,49,0,22,0,81,0,57,0 51,0,74,0,85,0,45,0,10,0,75,0 87,0,86,0,76,0,14,0,42,0,83,0 25,0,54,0,52,0,27,0,60,0,37,0 33,0,31,0,32,0,26,0,72,0,9,0 82,0,69,0,55,0,29,0,44,0,77,0 68,0,2,0,48,0,88,0,21,0,4,0 19,0,41,0,66,0,65,0,20,0,35,0 50,0,80,0,70,0,53,0,8,0,34,0 58,0,24,0,15,0,1,0,17,0,28,0 75,0,62,0,22,0,52,0,59,0,63,0 64,0,7,0,84,0,60,0,5,0,74,0 23,0,30,0,46,0,54,0,18,0,85,0 67,0,42,0,68,0,49,0,82,0,6,0 71,0,81,0,26,0,25,0,29,0,13,0 80,0,87,0,37,0,16,0,21,0,79,0 24,0,66,0,45,0,72,0,69,0,70,0 28,0,57,0,14,0,9,0,4,0,41,0 38,0,77,0,58,0,50,0,19,0,32,0 1,0,83,0,40,0,20,0,10,0,56,0 53,0,17,0,35,0,36,0,33,0,55,0 43,0,44,0,78,0,88,0,27,0,34,0 12,0,2,0,51,0,65,0,3,0,86,0 76,0,11,0,15,0,31,0,73,0,48,0 47,0,61,0,29,0,8,0,39,0,6,0 32,0,68,0,81,0,41,0,59,0,37,0 50,0,42,0,45,0,62,0,13,0,4,0 71,0,52,0,66,0,80,0,84,0,85,0 21,0,43,0,74,0,53,0,1,0,49,0 78,0,87,0,26,0,60,0,17,0,57,0 86,0,18,0,40,0,31,0,79,0,22,0 16,0,12,0,11,0,69,0,56,0,14,0 73,0,10,0,7,0,24,0,77,0,33,0 65,0,70,0,9,0,82,0,64,0,54,0 61,0,51,0,48,0,23,0,44,0,35,0 72,0,28,0,55,0,76,0,19,0,46,0 8,0,75,0,20,0,38,0,30,0,27,0 3,0,25,0,88,0,36,0,47,0,15,0 5,0,67,0,63,0,2,0,39,0,83,0 34,0,4,0,6,0,58,0,87,0,33,0 37,0,49,0,62,0,9,0,56,0,24,0 14,0,66,0,82,0,53,0,78,0,22,0 60,0,68,0,12,0,1,0,46,0,80,0 55,0,27,0,21,0,59,0,31,0,23,0 36,0,65,0,16,0,32,0,40,0,74,0 84,0,29,0,54,0,3,0,50,0,83,0 69,0,85,0,20,0,64,0,15,0,63,0 67,0,81,0,35,0,76,0,43,0,75,0 48,0,34,0,42,0,28,0,47,0,18,0 11,0,44,0,79,0,7,0,19,0,45,0 52,0,88,0,26,0,39,0,73,0,58,0 17,0,72,0,38,0,61,0,25,0,2,0 77,0,70,0,41,0,51,0,30,0,71,0 57,0,8,0,10,0,86,0,5,0,13,0 53,0,9,0,6,0,15,0,27,0,84,0 69,0,4,0,59,0,76,0,36,0,80,0 85,0,65,0,47,0,11,0,1,0,78,0 22,0,37,0,46,0,26,0,42,0,35,0 28,0,60,0,73,0,45,0,81,0,3,0 32,0,7,0,29,0,2,0,49,0,75,0 57,0,83,0,70,0,16,0,33,0,44,0 50,0,72,0,88,0,18,0,63,0,51,0 23,0,38,0,41,0,87,0,82,0,10,0 21,0,13,0,67,0,12,0,17,0,52,0 34,0,40,0,61,0,77,0,66,0,5,0 79,0,24,0,54,0,20,0,71,0,43,0 74,0,31,0,25,0,19,0,30,0,14,0 8,0,55,0,64,0,68,0,62,0,58,0 56,0,39,0,78,0,86,0,48,0,59,0 ================================================ FILE: schedules/88_8.csv ================================================ 50,0,38,0,81,0,82,0,28,0,45,0 39,0,48,0,24,0,42,0,78,0,72,0 2,0,87,0,71,0,37,0,25,0,12,0 88,0,75,0,64,0,47,0,1,0,3,0 74,0,15,0,79,0,55,0,84,0,16,0 63,0,9,0,51,0,19,0,23,0,4,0 5,0,40,0,77,0,11,0,57,0,13,0 52,0,14,0,34,0,35,0,20,0,61,0 60,0,18,0,27,0,17,0,73,0,54,0 86,0,56,0,6,0,29,0,69,0,33,0 62,0,26,0,30,0,49,0,41,0,83,0 46,0,7,0,44,0,80,0,66,0,68,0 65,0,32,0,43,0,22,0,31,0,85,0 10,0,53,0,76,0,21,0,8,0,67,0 36,0,58,0,1,0,59,0,70,0,84,0 28,0,64,0,14,0,73,0,77,0,72,0 61,0,33,0,16,0,12,0,24,0,3,0 56,0,34,0,4,0,48,0,49,0,38,0 18,0,55,0,6,0,46,0,75,0,87,0 63,0,83,0,69,0,47,0,57,0,31,0 85,0,23,0,76,0,11,0,42,0,26,0 65,0,44,0,88,0,13,0,52,0,71,0 78,0,53,0,59,0,2,0,81,0,51,0 86,0,5,0,32,0,30,0,50,0,8,0 29,0,45,0,68,0,54,0,20,0,40,0 70,0,80,0,43,0,37,0,62,0,74,0 15,0,58,0,25,0,10,0,17,0,9,0 22,0,27,0,35,0,82,0,67,0,7,0 39,0,66,0,36,0,60,0,79,0,21,0 19,0,59,0,3,0,41,0,18,0,28,0 5,1,33,0,47,0,38,1,52,0,51,0 63,1,50,0,31,0,12,1,72,0,29,0 69,0,70,0,42,0,40,0,65,0,14,0 1,0,54,0,11,0,44,0,30,0,24,0 61,0,10,0,77,0,46,0,74,0,88,0 9,0,49,0,35,0,84,0,37,0,21,0 39,0,58,0,67,0,34,0,64,0,13,0 73,0,4,0,79,0,62,0,7,0,76,0 53,0,75,0,85,0,41,0,68,0,71,0 23,0,81,0,87,0,27,0,66,0,32,0 57,0,48,0,55,0,8,0,2,0,36,0 45,0,17,0,78,0,16,0,86,0,22,0 15,0,83,0,20,0,6,0,43,0,82,0 26,0,19,0,60,0,25,0,80,0,56,0 11,0,14,0,33,0,50,0,39,0,18,0 10,0,5,0,42,0,35,0,64,0,79,0 72,0,68,0,69,0,3,0,76,0,32,0 52,0,27,0,37,0,55,0,31,0,53,0 58,0,12,0,54,0,62,0,75,0,65,0 85,0,44,0,84,0,28,0,83,0,4,0 59,0,57,0,20,0,88,0,86,0,60,0 82,0,77,0,29,0,71,0,51,0,36,0 66,0,6,0,22,0,30,0,48,0,70,0 56,0,73,0,21,0,23,0,78,0,74,0 19,0,2,0,49,0,15,0,1,0,46,0 26,0,24,0,38,0,67,0,43,0,87,0 9,0,41,0,16,0,40,0,34,0,47,0 8,0,81,0,13,0,80,0,17,0,63,0 45,0,25,0,36,0,61,0,7,0,64,0 37,0,32,0,51,0,48,0,44,0,58,0 82,0,33,0,31,0,21,0,59,0,42,0 29,0,65,0,84,0,30,0,73,0,53,0 2,0,86,0,24,0,14,0,75,0,10,0 28,0,67,0,74,0,6,0,9,0,68,0 71,0,39,0,76,0,35,0,81,0,54,0 11,0,60,0,62,0,38,0,22,0,69,0 63,0,72,0,16,0,87,0,70,0,52,0 25,0,83,0,34,0,5,0,88,0,23,0 85,0,8,0,40,0,79,0,56,0,46,0 57,0,1,0,41,0,80,0,27,0,4,0 77,0,12,0,7,0,26,0,18,0,15,0 55,0,45,0,47,0,19,0,43,0,13,0 20,0,3,0,66,0,49,0,78,0,50,0 17,0,21,0,6,0,61,0,44,0,62,0 9,0,48,0,60,0,87,0,65,0,83,0 84,0,33,0,22,0,81,0,68,0,64,0 69,0,52,0,30,0,39,0,85,0,10,0 8,0,70,0,54,0,28,0,15,0,31,0 4,0,59,0,29,0,26,0,5,0,55,0 7,0,40,0,74,0,2,0,58,0,50,0 56,0,20,0,13,0,53,0,1,0,12,0 75,0,42,0,16,0,77,0,38,0,80,0 61,0,71,0,23,0,72,0,57,0,49,0 19,0,36,0,17,0,76,0,24,0,34,0 46,0,35,0,41,0,45,0,32,0,73,0 18,0,82,0,47,0,86,0,66,0,25,0 43,0,79,0,51,0,14,0,27,0,3,0 11,0,67,0,88,0,78,0,63,0,37,0 13,0,75,0,30,0,33,0,74,0,4,0 23,0,64,0,50,0,69,0,59,0,54,0 5,0,72,0,80,0,20,0,9,0,85,0 73,0,22,0,12,0,44,0,8,0,19,0 52,0,28,0,24,0,7,0,32,0,29,0 66,0,15,0,65,0,56,0,51,0,35,0 17,0,70,0,49,0,39,0,77,0,55,0 14,0,62,0,46,0,57,0,67,0,25,0 78,0,1,0,43,0,40,0,76,0,60,0 37,0,42,0,47,0,81,0,36,0,6,0 21,0,71,0,63,0,58,0,26,0,27,0 18,0,68,0,31,0,2,0,16,0,88,0 38,0,61,0,83,0,86,0,53,0,79,0 87,0,3,0,34,0,11,0,10,0,45,0 84,0,48,0,12,0,41,0,82,0,17,0 49,0,67,0,60,0,44,0,5,0,75,0 24,0,37,0,73,0,85,0,57,0,50,0 25,0,13,0,27,0,29,0,70,0,76,0 18,0,74,0,20,0,42,0,63,0,22,0 80,0,88,0,36,0,28,0,35,0,69,0 81,0,26,0,79,0,1,0,34,0,65,0 38,0,64,0,19,0,31,0,40,0,66,0 3,0,77,0,2,0,21,0,83,0,52,0 68,0,8,0,87,0,14,0,58,0,4,0 46,0,43,0,30,0,71,0,59,0,16,0 7,0,51,0,41,0,55,0,11,0,86,0 72,0,10,0,84,0,47,0,56,0,62,0 82,0,78,0,32,0,9,0,54,0,61,0 23,0,53,0,15,0,48,0,33,0,45,0 39,0,5,0,12,0,6,0,38,0,63,0 ================================================ FILE: schedules/88_9.csv ================================================ 78,0,18,0,51,0,24,0,35,0,34,0 55,0,53,0,39,0,44,0,60,0,50,0 22,0,12,0,21,0,10,0,6,0,13,0 42,0,75,0,40,0,8,0,62,0,11,0 3,0,32,0,29,0,65,0,67,0,45,0 43,0,68,0,31,0,59,0,74,0,48,0 17,0,82,0,80,0,86,0,79,0,87,0 30,0,61,0,20,0,38,0,36,0,77,0 4,0,7,0,28,0,69,0,58,0,64,0 52,0,15,0,23,0,25,0,33,0,72,0 5,0,37,0,57,0,84,0,2,0,19,0 85,0,71,0,83,0,27,0,16,0,14,0 49,0,9,0,73,0,66,0,41,0,88,0 70,0,56,0,47,0,1,0,26,0,46,0 63,0,54,0,51,0,81,0,76,0,43,0 87,0,24,0,74,0,69,0,38,0,55,0 35,0,25,0,45,0,79,0,62,0,31,0 59,0,60,0,12,0,29,0,58,0,61,0 8,0,23,0,34,0,85,0,28,0,67,0 2,0,72,0,36,0,39,0,65,0,13,0 49,0,86,0,11,0,47,0,37,0,83,0 81,0,88,0,1,0,18,0,22,0,71,0 44,0,27,0,10,0,3,0,64,0,40,0 76,0,48,0,30,0,80,0,4,0,42,0 75,0,50,0,15,0,46,0,63,0,84,0 6,0,57,0,32,0,9,0,70,0,7,0 73,0,14,0,33,0,26,0,78,0,19,0 68,0,5,0,17,0,20,0,66,0,54,0 53,0,56,0,77,0,52,0,16,0,82,0 21,0,23,0,81,0,41,0,35,0,69,0 40,0,88,0,24,0,4,0,86,0,85,0 83,0,29,0,62,0,15,0,22,0,48,0 49,0,34,0,1,0,44,0,36,0,79,0 18,0,9,0,67,0,12,0,31,0,26,0 14,0,10,0,30,0,59,0,2,0,51,0 37,0,64,0,16,0,76,0,73,0,68,0 8,0,43,0,50,0,27,0,58,0,52,0 3,0,75,0,17,0,33,0,38,0,60,0 80,0,55,0,72,0,57,0,11,0,21,0 65,0,46,0,41,0,74,0,6,0,54,0 39,0,70,0,82,0,78,0,66,0,42,0 28,0,87,0,84,0,20,0,56,0,71,0 19,0,63,0,25,0,61,0,53,0,32,0 47,0,77,0,7,0,13,0,45,0,5,0 16,0,22,0,34,0,75,0,9,0,2,0 36,0,31,0,80,0,60,0,24,0,27,0 4,0,38,0,81,0,68,0,11,0,67,0 50,0,18,0,48,0,3,0,6,0,14,0 28,0,21,0,1,0,30,0,39,0,54,0 12,0,37,0,65,0,87,0,42,0,63,0 77,0,59,0,35,0,73,0,44,0,8,0 20,0,88,0,29,0,82,0,47,0,72,0 26,0,71,0,49,0,45,0,23,0,51,0 79,0,19,0,7,0,40,0,43,0,46,0 33,0,66,0,83,0,69,0,53,0,57,0 5,0,85,0,76,0,10,0,41,0,52,0 78,0,15,0,56,0,64,0,61,0,55,0 13,0,58,0,32,0,17,0,62,0,74,0 25,0,70,0,22,0,86,0,84,0,65,0 87,0,36,0,54,0,11,0,50,0,45,0 23,0,68,0,7,0,18,0,30,0,60,0 6,0,31,0,47,0,73,0,75,0,69,0 38,0,82,0,14,0,43,0,28,0,12,0 83,0,55,0,46,0,51,0,9,0,5,0 74,0,44,0,2,0,81,0,29,0,42,0 86,0,20,0,13,0,57,0,27,0,35,0 10,0,26,0,64,0,48,0,63,0,72,0 79,0,41,0,61,0,16,0,24,0,70,0 76,0,21,0,25,0,58,0,78,0,88,0 19,0,77,0,3,0,34,0,39,0,71,0 40,0,84,0,52,0,80,0,67,0,66,0 8,0,1,0,15,0,17,0,53,0,37,0 4,0,56,0,33,0,49,0,59,0,32,0 62,0,9,0,87,0,85,0,30,0,81,0 45,0,75,0,44,0,41,0,20,0,48,0 28,0,63,0,16,0,60,0,31,0,5,0 3,0,26,0,74,0,36,0,22,0,82,0 50,0,65,0,51,0,79,0,57,0,68,0 19,0,52,0,71,0,70,0,55,0,13,0 42,0,27,0,56,0,73,0,38,0,23,0 66,0,4,0,47,0,21,0,8,0,2,0 69,0,78,0,86,0,77,0,1,0,10,0 67,0,58,0,49,0,15,0,24,0,39,0 11,0,29,0,35,0,33,0,34,0,64,0 18,0,85,0,37,0,43,0,72,0,32,0 59,0,83,0,40,0,6,0,17,0,25,0 80,0,61,0,76,0,46,0,14,0,62,0 12,0,84,0,54,0,7,0,53,0,88,0 26,0,81,0,16,0,20,0,3,0,8,0 68,0,41,0,2,0,77,0,58,0,55,0 51,0,31,0,87,0,29,0,21,0,70,0 52,0,57,0,78,0,44,0,30,0,11,0 36,0,64,0,42,0,85,0,19,0,17,0 74,0,15,0,76,0,28,0,40,0,86,0 75,0,65,0,53,0,71,0,43,0,35,0 69,0,27,0,25,0,18,0,46,0,49,0 61,0,1,0,6,0,4,0,84,0,82,0 79,0,10,0,67,0,47,0,33,0,54,0 34,0,72,0,62,0,59,0,66,0,7,0 39,0,88,0,63,0,83,0,23,0,80,0 22,0,45,0,60,0,56,0,37,0,14,0 5,0,50,0,24,0,12,0,32,0,73,0 9,0,38,0,78,0,48,0,13,0,53,0 17,0,35,0,61,0,28,0,52,0,2,0 55,0,47,0,42,0,84,0,16,0,43,0 6,0,77,0,64,0,31,0,49,0,81,0 30,0,40,0,63,0,58,0,34,0,70,0 67,0,27,0,76,0,87,0,22,0,7,0 75,0,24,0,66,0,37,0,25,0,29,0 9,0,69,0,44,0,54,0,80,0,56,0 13,0,79,0,60,0,15,0,73,0,4,0 62,0,71,0,41,0,82,0,50,0,33,0 5,0,11,0,23,0,14,0,65,0,1,0 32,0,8,0,36,0,48,0,51,0,88,0 3,0,46,0,86,0,12,0,68,0,72,0 26,0,59,0,38,0,85,0,57,0,39,0 74,0,10,0,45,0,83,0,19,0,18,0 20,0,79,0,42,0,21,0,9,0,52,0 60,0,2,0,54,0,40,0,49,0,78,0 37,0,27,0,33,0,28,0,77,0,65,0 43,0,70,0,62,0,36,0,23,0,4,0 5,0,69,0,88,0,30,0,15,0,3,0 32,0,41,0,63,0,22,0,38,0,47,0 13,0,84,0,68,0,26,0,83,0,24,0 58,0,66,0,31,0,14,0,44,0,87,0 19,0,67,0,72,0,35,0,50,0,1,0 73,0,86,0,7,0,21,0,61,0,71,0 12,0,51,0,85,0,56,0,74,0,75,0 57,0,82,0,34,0,10,0,81,0,25,0 59,0,64,0,53,0,20,0,18,0,80,0 8,0,55,0,6,0,76,0,45,0,29,0 48,0,46,0,16,0,11,0,39,0,17,0 ================================================ FILE: schedules/89_1.csv ================================================ 82,0,88,0,40,0,64,0,85,0,33,0 78,0,77,0,36,0,84,0,42,0,72,0 60,0,49,0,7,0,44,0,53,0,1,0 2,0,26,0,69,0,46,0,75,0,11,0 31,0,55,0,83,0,4,0,81,0,48,0 8,0,52,0,74,0,35,0,61,0,39,0 79,0,12,0,47,0,73,0,30,0,9,0 45,0,5,0,70,0,50,0,66,0,37,0 86,0,15,0,67,0,63,0,58,0,56,0 24,0,6,0,21,0,20,0,13,0,28,0 65,0,87,0,34,0,18,0,19,0,3,0 22,0,32,0,17,0,62,0,51,0,23,0 29,0,14,0,68,0,54,0,10,0,38,0 89,0,27,0,25,0,43,0,16,0,41,0 76,0,59,0,57,0,71,0,80,0,75,1 ================================================ FILE: schedules/89_10.csv ================================================ 52,0,21,0,72,0,2,0,77,0,56,0 74,0,17,0,71,0,28,0,24,0,14,0 88,0,73,0,57,0,23,0,82,0,1,0 80,0,53,0,79,0,67,0,49,0,87,0 25,0,12,0,66,0,37,0,69,0,33,0 83,0,81,0,75,0,31,0,51,0,27,0 85,0,58,0,38,0,41,0,20,0,36,0 54,0,43,0,62,0,60,0,48,0,4,0 63,0,15,0,32,0,9,0,13,0,11,0 42,0,5,0,45,0,16,0,10,0,34,0 18,0,65,0,29,0,68,0,84,0,6,0 47,0,26,0,44,0,50,0,64,0,61,0 40,0,39,0,7,0,86,0,76,0,19,0 46,0,22,0,8,0,55,0,35,0,89,0 3,0,30,0,36,0,78,0,59,0,70,0 62,0,51,0,9,0,71,0,12,0,58,0 10,0,28,0,1,0,83,0,72,0,43,0 57,0,32,0,16,0,85,0,81,0,68,0 67,0,61,0,14,0,18,0,45,0,60,0 75,0,76,0,33,0,65,0,11,0,41,0 37,0,19,0,56,0,31,0,26,0,74,0 30,0,7,0,50,0,21,0,24,0,42,0 5,0,40,0,64,0,8,0,80,0,17,0 79,0,88,0,20,0,78,0,34,0,15,0 39,0,2,0,4,0,84,0,46,0,25,0 77,0,48,0,44,0,13,0,70,0,55,0 82,0,69,0,47,0,53,0,89,0,27,0 23,0,3,0,52,0,6,0,49,0,22,0 38,0,59,0,86,0,87,0,66,0,63,0 73,0,35,0,58,0,54,0,29,0,7,0 21,1,17,0,31,0,60,1,11,0,1,0 76,1,24,0,64,0,5,1,81,0,67,0 68,0,80,0,46,0,10,0,41,0,71,0 2,0,40,0,74,0,18,0,30,0,32,0 82,0,19,0,14,0,15,0,77,0,3,0 83,0,37,0,70,0,49,0,88,0,38,0 43,0,69,0,9,0,65,0,52,0,57,0 48,0,87,0,16,0,26,0,89,0,33,0 13,0,50,0,12,0,73,0,53,0,59,0 75,0,66,0,42,0,79,0,36,0,35,0 29,0,23,0,27,0,45,0,72,0,44,0 62,0,56,0,85,0,8,0,34,0,39,0 86,0,6,0,61,0,51,0,55,0,25,0 63,0,22,0,54,0,20,0,84,0,47,0 28,0,78,0,11,0,4,0,64,0,89,0 73,0,67,0,65,0,37,0,3,0,71,0 79,0,26,0,46,0,58,0,82,0,18,0 35,0,2,0,27,0,80,0,70,0,14,0 42,0,19,0,60,0,69,0,81,0,49,0 13,0,75,0,72,0,6,0,7,0,17,0 10,0,77,0,88,0,50,0,86,0,85,0 74,0,20,0,4,0,8,0,57,0,33,0 83,0,44,0,66,0,68,0,78,0,9,0 22,0,45,0,84,0,51,0,38,0,30,0 52,0,5,0,15,0,87,0,54,0,39,0 28,0,31,0,25,0,53,0,62,0,76,0 36,0,32,0,12,0,43,0,55,0,47,0 63,0,16,0,29,0,1,0,40,0,56,0 61,0,23,0,34,0,24,0,41,0,59,0 21,0,11,0,6,0,48,0,19,0,66,0 4,0,45,0,75,0,86,0,82,0,37,0 49,0,68,0,13,0,30,0,58,0,5,0 81,0,53,0,35,0,38,0,17,0,26,0 57,0,14,0,7,0,83,0,36,0,22,0 60,0,15,0,51,0,8,0,10,0,65,0 89,0,71,0,32,0,52,0,42,0,70,0 44,0,16,0,39,0,79,0,74,0,12,0 34,0,1,0,3,0,48,0,2,0,9,0 80,0,54,0,59,0,25,0,76,0,77,0 62,0,55,0,23,0,33,0,18,0,78,0 28,0,63,0,50,0,67,0,69,0,85,0 31,0,73,0,84,0,61,0,40,0,72,0 64,0,41,0,43,0,29,0,21,0,88,0 56,0,87,0,27,0,20,0,46,0,24,0 47,0,60,0,70,0,39,0,75,0,9,0 15,0,71,0,59,0,45,0,35,0,49,0 76,0,51,0,17,0,16,0,23,0,2,0 6,0,69,0,83,0,77,0,62,0,79,0 25,0,67,0,48,0,5,0,22,0,32,0 18,0,54,0,41,0,37,0,57,0,53,0 27,0,3,0,68,0,7,0,8,0,43,0 47,0,56,0,24,0,80,0,38,0,55,0 50,0,46,0,11,0,74,0,81,0,34,0 19,0,30,0,20,0,44,0,28,0,73,0 33,0,1,0,64,0,36,0,84,0,86,0 29,0,87,0,10,0,13,0,82,0,31,0 4,0,40,0,26,0,52,0,88,0,66,0 21,0,58,0,61,0,89,0,65,0,63,0 42,0,72,0,78,0,85,0,14,0,12,0 16,0,25,0,71,0,27,0,11,0,18,0 59,0,17,0,46,0,19,0,62,0,47,0 28,0,33,0,38,0,3,0,32,0,60,0 9,0,8,0,53,0,29,0,86,0,24,0 82,0,6,0,10,0,30,0,64,0,54,0 69,0,2,0,45,0,55,0,7,0,31,0 65,0,49,0,39,0,66,0,14,0,1,0 4,0,12,0,83,0,56,0,41,0,15,0 21,0,44,0,67,0,40,0,36,0,34,0 70,0,72,0,79,0,57,0,5,0,63,0 76,0,81,0,13,0,52,0,20,0,61,0 77,0,73,0,22,0,78,0,26,0,43,0 89,0,23,0,85,0,84,0,75,0,80,0 68,0,87,0,37,0,35,0,50,0,51,0 42,0,58,0,88,0,74,0,48,0,27,0 33,0,66,0,29,0,47,0,15,0,2,0 34,0,53,0,19,0,71,0,63,0,83,0 10,0,20,0,11,0,3,0,67,0,12,0 7,0,70,0,61,0,16,0,64,0,62,0 14,0,81,0,41,0,73,0,86,0,89,0 55,0,49,0,26,0,57,0,75,0,28,0 87,0,17,0,85,0,43,0,30,0,25,0 36,0,50,0,82,0,9,0,80,0,72,0 76,0,8,0,1,0,44,0,42,0,6,0 35,0,38,0,18,0,21,0,13,0,39,0 60,0,59,0,37,0,79,0,22,0,68,0 51,0,40,0,48,0,78,0,69,0,46,0 74,0,24,0,58,0,52,0,45,0,77,0 65,0,31,0,23,0,54,0,32,0,4,0 56,0,84,0,9,0,88,0,5,0,28,0 15,0,76,0,55,0,73,0,70,0,85,0 7,0,49,0,63,0,33,0,44,0,82,0 11,0,8,0,26,0,2,0,83,0,59,0 46,0,6,0,43,0,16,0,14,0,53,0 86,0,30,0,34,0,27,0,52,0,60,0 87,0,71,0,22,0,4,0,81,0,21,0 74,0,69,0,41,0,35,0,84,0,3,0 48,0,36,0,56,0,10,0,61,0,17,0 37,0,47,0,13,0,42,0,23,0,40,0 18,0,5,0,89,0,77,0,20,0,51,0 67,0,78,0,57,0,58,0,39,0,31,0 12,0,24,0,1,0,68,0,75,0,54,0 88,0,80,0,45,0,32,0,66,0,62,0 50,0,79,0,25,0,38,0,29,0,19,0 65,0,72,0,53,0,64,0,22,0,74,0 34,0,82,0,84,0,76,0,70,0,43,0 27,0,21,0,9,0,73,0,49,0,10,0 28,0,36,0,77,0,87,0,23,0,8,0 60,0,89,0,57,0,40,0,6,0,12,0 58,0,32,0,59,0,69,0,56,0,44,0 41,0,51,0,80,0,7,0,1,0,26,0 33,0,54,0,71,0,79,0,13,0,85,0 78,0,38,0,61,0,2,0,75,0,5,0 35,0,24,0,72,0,19,0,4,0,16,0 81,0,88,0,3,0,25,0,18,0,47,0 39,0,55,0,30,0,29,0,37,0,11,0 64,0,14,0,52,0,31,0,63,0,48,0 45,0,65,0,20,0,17,0,83,0,50,0 86,0,15,0,68,0,42,0,62,0,67,0 66,0,21,0,5,0,46,0,60,0,76,0 ================================================ FILE: schedules/89_11.csv ================================================ 45,0,54,0,24,0,8,0,88,0,49,0 42,0,86,0,34,0,3,0,23,0,28,0 18,0,48,0,84,0,31,0,25,0,12,0 63,0,21,0,59,0,13,0,57,0,56,0 72,0,10,0,19,0,66,0,55,0,43,0 30,0,9,0,27,0,36,0,26,0,85,0 81,0,35,0,80,0,53,0,76,0,40,0 5,0,60,0,70,0,82,0,17,0,75,0 47,0,38,0,22,0,7,0,87,0,78,0 46,0,37,0,62,0,33,0,6,0,65,0 79,0,29,0,61,0,74,0,14,0,15,0 58,0,77,0,41,0,52,0,51,0,20,0 16,0,32,0,89,0,73,0,68,0,39,0 67,0,11,0,4,0,1,0,71,0,64,0 69,0,50,0,2,0,83,0,44,0,81,0 21,0,7,0,85,0,54,0,43,0,5,0 66,0,78,0,40,0,28,0,53,0,18,0 9,0,79,0,33,0,60,0,22,0,86,0 58,0,84,0,24,0,19,0,76,0,63,0 57,0,25,0,20,0,35,0,38,0,26,0 59,0,89,0,75,0,51,0,6,0,10,0 27,0,31,0,1,0,3,0,68,0,72,0 50,0,34,0,32,0,8,0,70,0,61,0 17,0,42,0,15,0,71,0,39,0,80,0 74,0,64,0,52,0,88,0,12,0,36,0 13,0,47,0,37,0,69,0,45,0,44,0 83,0,48,0,87,0,46,0,23,0,11,0 82,0,56,0,2,0,41,0,67,0,73,0 16,0,30,0,55,0,49,0,29,0,62,0 77,0,65,0,66,0,4,0,14,0,21,0 85,1,28,0,71,0,59,1,70,0,1,0 31,1,64,0,33,0,42,1,78,0,27,0 50,1,18,0,63,0,79,0,51,0,47,0 25,0,26,0,54,0,44,0,39,0,19,0 6,0,32,0,76,0,48,0,9,0,5,0 68,0,38,0,10,0,24,0,60,0,30,0 89,0,52,0,13,0,87,0,29,0,86,0 41,0,17,0,8,0,22,0,16,0,62,0 40,0,65,0,34,0,12,0,45,0,67,0 73,0,55,0,58,0,23,0,74,0,35,0 81,0,49,0,4,0,46,0,57,0,72,0 7,0,20,0,36,0,15,0,2,0,37,0 3,0,83,0,53,0,61,0,56,0,88,0 14,0,75,0,69,0,11,0,84,0,80,0 77,0,43,0,48,0,82,0,78,0,71,0 39,0,76,0,64,0,21,0,41,0,45,0 63,0,52,0,44,0,17,0,23,0,30,0 42,0,35,0,9,0,4,0,19,0,12,0 66,0,31,0,51,0,60,0,54,0,87,0 1,0,74,0,16,0,53,0,20,0,33,0 6,0,67,0,88,0,14,0,26,0,22,0 69,0,72,0,25,0,79,0,34,0,89,0 85,0,37,0,55,0,2,0,24,0,57,0 50,0,80,0,3,0,82,0,49,0,10,0 32,0,11,0,38,0,59,0,43,0,15,0 28,0,73,0,36,0,13,0,62,0,84,0 47,0,75,0,68,0,61,0,46,0,77,0 81,0,29,0,5,0,18,0,83,0,65,0 8,0,7,0,27,0,86,0,58,0,56,0 40,0,79,0,48,0,70,0,52,0,85,0 88,0,2,0,41,0,17,0,89,0,35,0 69,0,42,0,64,0,51,0,43,0,16,0 36,0,78,0,19,0,49,0,11,0,39,0 62,0,75,0,63,0,1,0,54,0,38,0 59,0,26,0,34,0,5,0,24,0,68,0 10,0,61,0,84,0,65,0,44,0,22,0 55,0,47,0,40,0,3,0,20,0,4,0 31,0,32,0,77,0,74,0,83,0,57,0 70,0,81,0,73,0,9,0,25,0,7,0 15,0,12,0,66,0,6,0,27,0,82,0 58,0,71,0,53,0,46,0,50,0,86,0 8,0,72,0,18,0,13,0,14,0,33,0 87,0,28,0,80,0,30,0,21,0,67,0 23,0,29,0,60,0,76,0,37,0,56,0 45,0,75,0,3,0,22,0,36,0,32,0 70,0,78,0,83,0,41,0,55,0,63,0 1,0,52,0,69,0,27,0,61,0,59,0 86,0,44,0,73,0,31,0,5,0,11,0 62,0,79,0,7,0,42,0,26,0,66,0 14,0,64,0,82,0,35,0,13,0,10,0 77,0,12,0,49,0,85,0,76,0,38,0 72,0,54,0,56,0,9,0,80,0,15,0 51,0,45,0,29,0,28,0,57,0,33,0 20,0,30,0,8,0,81,0,6,0,71,0 58,0,37,0,17,0,68,0,67,0,25,0 39,0,47,0,24,0,48,0,53,0,65,0 23,0,40,0,21,0,50,0,16,0,88,0 60,0,74,0,18,0,19,0,46,0,89,0 4,0,87,0,43,0,34,0,84,0,2,0 83,0,66,0,63,0,64,0,85,0,86,0 79,0,20,0,78,0,45,0,80,0,5,0 68,0,14,0,76,0,28,0,15,0,44,0 67,0,48,0,36,0,54,0,55,0,61,0 70,0,51,0,82,0,11,0,53,0,24,0 46,0,3,0,17,0,19,0,59,0,77,0 13,0,7,0,60,0,88,0,32,0,65,0 18,0,30,0,75,0,42,0,37,0,73,0 49,0,34,0,35,0,21,0,33,0,56,0 23,0,89,0,1,0,43,0,81,0,22,0 4,0,6,0,38,0,50,0,27,0,74,0 57,0,87,0,62,0,58,0,39,0,12,0 41,0,10,0,9,0,69,0,40,0,31,0 16,0,26,0,84,0,47,0,52,0,72,0 25,0,2,0,63,0,8,0,71,0,29,0 70,0,56,0,19,0,20,0,64,0,68,0 83,0,36,0,80,0,7,0,24,0,89,0 23,0,44,0,78,0,4,0,75,0,32,0 13,0,34,0,81,0,48,0,66,0,74,0 31,0,82,0,61,0,30,0,45,0,58,0 88,0,18,0,86,0,76,0,72,0,62,0 41,0,12,0,5,0,1,0,37,0,50,0 8,0,39,0,85,0,60,0,3,0,69,0 87,0,26,0,33,0,15,0,40,0,77,0 65,0,35,0,67,0,59,0,79,0,16,0 46,0,51,0,22,0,21,0,55,0,25,0 11,0,27,0,17,0,28,0,54,0,10,0 29,0,6,0,43,0,49,0,73,0,47,0 53,0,14,0,57,0,9,0,52,0,2,0 42,0,71,0,89,0,84,0,38,0,56,0 30,0,88,0,5,0,33,0,39,0,66,0 68,0,61,0,85,0,87,0,81,0,41,0 4,0,37,0,26,0,86,0,51,0,48,0 11,0,16,0,12,0,7,0,63,0,3,0 70,0,46,0,43,0,80,0,13,0,67,0 50,0,62,0,24,0,25,0,78,0,14,0 49,0,40,0,38,0,17,0,64,0,32,0 58,0,28,0,59,0,47,0,60,0,2,0 21,0,74,0,42,0,45,0,9,0,72,0 77,0,27,0,84,0,35,0,53,0,29,0 57,0,44,0,36,0,71,0,18,0,34,0 55,0,52,0,65,0,75,0,31,0,15,0 54,0,22,0,82,0,69,0,20,0,76,0 83,0,79,0,73,0,1,0,10,0,8,0 19,0,23,0,51,0,6,0,13,0,85,0 56,0,45,0,11,0,25,0,66,0,50,0 9,0,78,0,84,0,88,0,59,0,37,0 16,0,86,0,14,0,38,0,36,0,81,0 33,0,24,0,71,0,41,0,32,0,52,0 53,0,15,0,54,0,34,0,30,0,64,0 73,0,72,0,48,0,20,0,60,0,63,0 23,0,2,0,61,0,49,0,18,0,26,0 5,0,55,0,67,0,77,0,89,0,8,0 12,0,80,0,22,0,4,0,29,0,68,0 62,0,21,0,19,0,47,0,83,0,82,0 42,0,1,0,44,0,40,0,46,0,58,0 76,0,43,0,57,0,79,0,27,0,75,0 31,0,7,0,28,0,35,0,69,0,6,0 74,0,65,0,3,0,70,0,17,0,87,0 39,0,81,0,37,0,10,0,77,0,63,0 64,0,8,0,80,0,48,0,59,0,23,0 15,0,25,0,60,0,83,0,16,0,4,0 88,0,11,0,85,0,29,0,34,0,58,0 32,0,14,0,56,0,26,0,55,0,1,0 89,0,66,0,20,0,31,0,9,0,46,0 57,0,50,0,67,0,30,0,84,0,7,0 12,0,61,0,86,0,17,0,21,0,78,0 6,0,68,0,54,0,65,0,2,0,42,0 53,0,75,0,13,0,79,0,41,0,49,0 45,0,87,0,71,0,19,0,27,0,73,0 69,0,51,0,74,0,40,0,62,0,5,0 76,0,10,0,33,0,70,0,36,0,47,0 43,0,35,0,3,0,44,0,18,0,24,0 39,0,28,0,52,0,72,0,82,0,38,0 22,0,85,0,31,0,59,0,42,0,50,0 ================================================ FILE: schedules/89_12.csv ================================================ 63,0,35,0,62,0,10,0,81,0,84,0 66,0,25,0,20,0,53,0,43,0,57,0 30,0,86,0,46,0,39,0,16,0,73,0 80,0,82,0,85,0,87,0,79,0,89,0 18,0,8,0,29,0,74,0,49,0,68,0 7,0,6,0,64,0,13,0,70,0,4,0 17,0,21,0,28,0,33,0,41,0,36,0 3,0,65,0,56,0,22,0,72,0,59,0 19,0,69,0,31,0,42,0,15,0,54,0 34,0,38,0,11,0,48,0,2,0,9,0 76,0,47,0,37,0,52,0,1,0,67,0 61,0,26,0,32,0,45,0,75,0,27,0 58,0,14,0,77,0,12,0,71,0,78,0 23,0,51,0,50,0,83,0,24,0,40,0 44,0,60,0,88,0,55,0,5,0,20,0 13,0,62,0,33,0,18,0,69,0,85,0 87,0,43,0,84,0,22,0,38,0,64,0 72,0,48,0,39,0,31,0,79,0,17,0 3,0,67,0,89,0,32,0,19,0,30,0 61,0,81,0,71,0,66,0,28,0,8,0 10,0,51,0,42,0,50,0,11,0,78,0 75,0,23,0,9,0,14,0,53,0,76,0 4,0,47,0,54,0,29,0,55,0,16,0 65,0,26,0,68,0,2,0,63,0,5,0 83,0,1,0,49,0,56,0,7,0,57,0 70,0,12,0,73,0,59,0,24,0,15,0 82,0,44,0,27,0,25,0,35,0,36,0 34,0,45,0,40,0,58,0,74,0,60,0 46,0,52,0,41,0,6,0,77,0,88,0 86,0,21,0,19,0,37,0,80,0,14,0 22,0,2,0,13,0,8,0,20,0,78,0 79,0,57,0,62,0,76,0,3,0,38,0 7,0,63,0,61,0,32,0,47,0,48,0 4,0,50,0,31,0,84,0,44,0,23,0 16,0,83,0,5,0,36,0,45,0,81,0 56,0,64,0,40,0,17,0,42,0,24,0 10,0,52,0,82,0,66,0,59,0,27,0 74,0,28,0,77,0,15,0,85,0,1,0 68,0,33,0,73,0,9,0,37,0,54,0 80,0,39,0,89,0,49,0,41,0,35,0 69,0,6,0,72,0,43,0,60,0,12,0 65,0,25,0,58,0,86,0,29,0,88,0 46,0,87,0,67,0,11,0,70,0,53,0 34,0,71,0,30,0,51,0,21,0,26,0 75,0,55,0,59,0,18,0,78,0,48,0 15,0,17,0,16,0,38,0,61,0,13,0 8,0,64,0,83,0,33,0,39,0,14,0 68,0,54,0,24,0,32,0,82,0,72,0 52,0,23,0,57,0,85,0,60,0,65,0 7,0,77,0,81,0,40,0,9,0,87,0 79,0,70,0,22,0,19,0,25,0,1,0 29,0,63,0,42,0,66,0,71,0,6,0 67,0,21,0,35,0,50,0,56,0,55,0 18,0,76,0,44,0,46,0,34,0,73,0 37,0,36,0,12,0,84,0,88,0,53,0 20,0,30,0,45,0,31,0,11,0,49,0 69,0,5,0,51,0,89,0,75,0,58,0 47,0,2,0,27,0,62,0,86,0,28,0 10,0,41,0,3,0,4,0,43,0,74,0 26,0,38,0,55,0,80,0,40,0,66,0 25,0,71,0,73,0,87,0,50,0,32,0 9,0,85,0,78,0,56,0,16,0,82,0 65,0,84,0,39,0,76,0,21,0,61,0 5,0,19,0,23,0,57,0,33,0,12,0 46,0,31,0,15,0,8,0,7,0,67,0 22,0,42,0,34,0,75,0,86,0,52,0 53,0,27,0,72,0,41,0,88,0,45,0 89,0,47,0,43,0,18,0,17,0,11,0 79,0,68,0,83,0,69,0,10,0,44,0 74,0,63,0,70,0,62,0,51,0,49,0 1,0,36,0,4,0,2,0,58,0,24,0 37,0,48,0,20,0,80,0,77,0,29,0 81,0,26,0,14,0,3,0,6,0,59,0 60,0,35,0,54,0,13,0,30,0,28,0 64,0,65,0,12,0,50,0,16,0,89,0 56,0,27,0,46,0,55,0,33,0,19,0 11,0,44,0,43,0,49,0,52,0,71,0 78,0,24,0,5,0,17,0,84,0,67,0 38,0,8,0,85,0,70,0,42,0,21,0 86,0,3,0,25,0,45,0,51,0,48,0 13,0,73,0,53,0,47,0,40,0,81,0 62,0,36,0,7,0,68,0,66,0,34,0 82,0,58,0,15,0,30,0,14,0,22,0 60,0,59,0,2,0,37,0,39,0,83,0 63,0,88,0,1,0,80,0,4,0,9,0 61,0,18,0,57,0,87,0,77,0,54,0 41,0,29,0,69,0,23,0,26,0,64,0 32,0,10,0,76,0,31,0,6,0,28,0 75,0,79,0,72,0,20,0,74,0,35,0 66,0,49,0,85,0,58,0,19,0,48,0 25,0,30,0,84,0,52,0,7,0,2,0 11,0,40,0,65,0,62,0,82,0,12,0 36,0,55,0,42,0,77,0,39,0,3,0 14,0,43,0,34,0,67,0,27,0,4,0 86,0,45,0,15,0,63,0,23,0,87,0 28,0,61,0,53,0,79,0,56,0,51,0 41,0,54,0,76,0,83,0,70,0,78,0 44,0,72,0,24,0,9,0,21,0,47,0 46,0,89,0,29,0,75,0,1,0,81,0 68,0,69,0,71,0,59,0,20,0,38,0 74,0,22,0,37,0,50,0,5,0,13,0 31,0,60,0,26,0,18,0,73,0,64,0 17,0,8,0,6,0,80,0,35,0,57,0 32,0,33,0,16,0,88,0,10,0,34,0 51,0,28,0,14,0,55,0,65,0,7,0 77,0,2,0,66,0,23,0,67,0,79,0 29,0,38,0,19,0,36,0,11,0,83,0 30,0,48,0,87,0,27,0,68,0,12,0 21,0,5,0,82,0,64,0,49,0,3,0 59,0,84,0,13,0,41,0,57,0,9,0 69,0,35,0,47,0,22,0,88,0,46,0 81,0,43,0,70,0,78,0,32,0,39,0 71,0,86,0,89,0,31,0,24,0,74,0 15,0,50,0,75,0,60,0,80,0,33,0 52,0,16,0,53,0,18,0,26,0,58,0 62,0,20,0,73,0,61,0,6,0,1,0 85,0,42,0,4,0,37,0,72,0,25,0 54,0,45,0,44,0,56,0,17,0,10,0 8,0,40,0,30,0,63,0,76,0,36,0 78,0,74,0,21,0,66,0,7,0,69,0 32,0,3,0,9,0,29,0,35,0,15,0 2,0,57,0,16,0,31,0,27,0,71,0 20,0,34,0,50,0,39,0,47,0,19,0 88,0,14,0,89,0,38,0,73,0,60,0 54,0,80,0,81,0,52,0,12,0,51,0 77,0,17,0,45,0,59,0,62,0,76,0 56,0,84,0,58,0,8,0,68,0,43,0 23,0,18,0,70,0,28,0,82,0,37,0 79,0,42,0,49,0,87,0,33,0,65,0 1,0,53,0,10,0,5,0,48,0,64,0 46,0,24,0,63,0,25,0,41,0,61,0 67,0,6,0,22,0,85,0,44,0,40,0 72,0,86,0,55,0,75,0,83,0,13,0 4,0,26,0,88,0,11,0,56,0,76,0 47,0,66,0,50,0,9,0,70,0,45,0 17,0,60,0,7,0,29,0,2,0,82,0 84,0,18,0,33,0,1,0,3,0,71,0 24,0,28,0,52,0,87,0,39,0,69,0 64,0,32,0,51,0,85,0,46,0,20,0 12,0,49,0,75,0,25,0,10,0,67,0 81,0,58,0,55,0,31,0,57,0,37,0 4,0,8,0,59,0,86,0,79,0,5,0 19,0,22,0,40,0,41,0,16,0,68,0 78,0,15,0,36,0,89,0,26,0,72,0 23,0,83,0,34,0,80,0,43,0,30,0 62,0,14,0,48,0,42,0,13,0,44,0 11,0,77,0,21,0,73,0,27,0,63,0 74,0,6,0,38,0,65,0,53,0,54,0 61,0,31,0,52,0,35,0,70,0,5,0 76,0,50,0,49,0,69,0,81,0,86,0 85,0,3,0,68,0,17,0,75,0,88,0 18,0,45,0,80,0,22,0,24,0,29,0 66,0,39,0,13,0,56,0,89,0,32,0 87,0,10,0,72,0,46,0,19,0,2,0 37,0,64,0,78,0,63,0,44,0,57,0 1,0,65,0,73,0,34,0,8,0,41,0 7,0,21,0,27,0,58,0,23,0,6,0 35,0,28,0,59,0,40,0,43,0,42,0 33,0,51,0,38,0,47,0,82,0,77,0 71,0,83,0,62,0,4,0,53,0,15,0 60,0,16,0,14,0,25,0,79,0,11,0 74,0,55,0,9,0,61,0,12,0,30,0 48,0,54,0,67,0,20,0,26,0,84,0 73,0,32,0,49,0,36,0,22,0,23,0 28,0,57,0,68,0,46,0,45,0,21,0 80,0,2,0,56,0,70,0,3,0,69,0 59,0,87,0,51,0,31,0,1,0,44,0 40,0,39,0,29,0,85,0,27,0,5,0 12,0,41,0,18,0,7,0,38,0,42,0 53,0,33,0,35,0,4,0,86,0,78,0 48,0,74,0,88,0,82,0,81,0,83,0 13,0,43,0,19,0,77,0,76,0,26,0 55,0,6,0,79,0,84,0,34,0,15,0 58,0,11,0,67,0,61,0,64,0,72,0 20,0,52,0,17,0,63,0,50,0,14,0 75,0,66,0,37,0,16,0,30,0,24,0 25,0,9,0,8,0,62,0,89,0,54,0 60,0,36,0,71,0,65,0,10,0,47,0 ================================================ FILE: schedules/89_13.csv ================================================ 12,0,67,0,33,0,8,0,77,0,17,0 5,0,76,0,86,0,34,0,10,0,53,0 23,0,47,0,55,0,20,0,51,0,11,0 85,0,15,0,13,0,42,0,24,0,22,0 72,0,39,0,89,0,32,0,2,0,63,0 57,0,71,0,35,0,73,0,59,0,56,0 61,0,16,0,84,0,70,0,78,0,27,0 66,0,14,0,28,0,30,0,18,0,87,0 40,0,62,0,54,0,75,0,44,0,21,0 58,0,9,0,7,0,25,0,64,0,43,0 46,0,36,0,80,0,49,0,6,0,41,0 4,0,88,0,82,0,65,0,50,0,83,0 74,0,3,0,38,0,60,0,81,0,37,0 19,0,48,0,29,0,45,0,1,0,52,0 26,0,79,0,31,0,68,0,69,0,73,0 87,0,62,0,63,0,56,0,23,0,5,0 57,0,51,0,10,0,12,0,64,0,54,0 44,0,85,0,53,0,67,0,49,0,36,0 4,0,18,0,80,0,84,0,55,0,72,0 20,0,81,0,46,0,9,0,89,0,66,0 15,0,86,0,27,0,60,0,2,0,40,0 28,0,42,0,41,0,71,0,82,0,61,0 65,0,3,0,8,0,69,0,50,0,48,0 43,0,22,0,75,0,31,0,33,0,52,0 17,0,7,0,68,0,14,0,34,0,38,0 29,0,11,0,39,0,16,0,83,0,13,0 37,0,6,0,78,0,76,0,25,0,88,0 26,0,21,0,24,0,1,0,77,0,30,0 58,0,32,0,70,0,45,0,35,0,47,0 59,0,19,0,50,0,79,0,74,0,23,0 85,1,42,0,89,0,55,0,5,0,43,0 48,0,56,0,10,0,27,0,20,0,9,0 11,0,31,0,46,0,28,0,86,0,17,0 84,0,76,0,83,0,3,0,64,0,40,0 15,0,66,0,80,0,67,0,13,0,88,0 37,0,41,0,62,0,60,0,1,0,26,0 71,0,33,0,7,0,30,0,36,0,54,0 19,0,79,0,75,0,29,0,22,0,57,0 45,0,58,0,14,0,34,0,2,0,39,0 44,0,59,0,87,0,61,0,47,0,38,0 4,0,70,0,21,0,12,0,18,0,53,0 81,0,73,0,82,0,63,0,78,0,77,0 24,0,68,0,72,0,65,0,49,0,74,0 52,0,8,0,25,0,16,0,35,0,51,0 6,0,62,0,13,0,32,0,69,0,7,0 89,0,14,0,1,0,9,0,28,0,83,0 48,0,31,0,85,0,84,0,40,0,33,0 59,0,54,0,26,0,80,0,17,0,22,0 81,0,29,0,43,0,70,0,87,0,36,0 71,0,76,0,45,0,67,0,11,0,27,0 78,0,86,0,46,0,75,0,42,0,12,0 58,0,66,0,63,0,69,0,74,0,4,0 55,0,25,0,38,0,57,0,82,0,30,0 41,0,72,0,44,0,88,0,52,0,56,0 21,0,5,0,34,0,16,0,2,0,49,0 65,0,47,0,77,0,37,0,61,0,79,0 68,0,19,0,10,0,18,0,3,0,15,0 23,0,64,0,73,0,6,0,8,0,53,0 50,0,51,0,39,0,20,0,60,0,35,0 24,0,69,0,83,0,32,0,36,0,12,0 84,0,1,0,41,0,13,0,86,0,66,0 70,0,22,0,62,0,25,0,78,0,11,0 56,0,42,0,21,0,52,0,17,0,58,0 67,0,30,0,29,0,61,0,31,0,2,0 49,0,73,0,47,0,89,0,27,0,19,0 63,0,65,0,64,0,46,0,45,0,38,0 32,0,18,0,51,0,77,0,74,0,76,0 50,0,6,0,75,0,26,0,71,0,9,0 23,0,48,0,60,0,88,0,57,0,14,0 59,0,55,0,37,0,53,0,39,0,68,0 20,0,40,0,28,0,8,0,34,0,43,0 3,0,5,0,80,0,44,0,35,0,24,0 4,0,15,0,87,0,33,0,54,0,79,0 72,0,82,0,85,0,7,0,16,0,10,0 17,0,62,0,61,0,81,0,9,0,50,0 88,0,11,0,36,0,21,0,63,0,31,0 32,0,23,0,52,0,12,0,27,0,38,0 34,0,89,0,57,0,84,0,37,0,71,0 18,0,65,0,25,0,13,0,40,0,29,0 77,0,60,0,83,0,42,0,59,0,6,0 41,0,24,0,4,0,87,0,73,0,48,0 68,0,35,0,81,0,75,0,85,0,30,0 14,0,43,0,69,0,15,0,51,0,72,0 79,0,78,0,67,0,5,0,39,0,64,0 47,0,54,0,53,0,56,0,3,0,2,0 22,0,86,0,45,0,82,0,20,0,74,0 1,0,8,0,7,0,46,0,70,0,44,0 10,0,49,0,26,0,55,0,66,0,33,0 80,0,76,0,16,0,58,0,28,0,19,0 6,0,34,0,61,0,35,0,12,0,15,0 39,0,17,0,65,0,23,0,30,0,43,0 9,0,69,0,53,0,38,0,11,0,41,0 27,0,74,0,56,0,4,0,29,0,14,0 20,0,24,0,52,0,82,0,37,0,7,0 5,0,59,0,40,0,26,0,88,0,46,0 80,0,75,0,10,0,1,0,79,0,32,0 19,0,60,0,45,0,25,0,84,0,44,0 66,0,73,0,2,0,42,0,62,0,48,0 51,0,47,0,71,0,85,0,78,0,83,0 16,0,68,0,77,0,89,0,36,0,86,0 49,0,58,0,31,0,13,0,50,0,63,0 21,0,87,0,33,0,55,0,57,0,76,0 3,0,67,0,54,0,70,0,72,0,28,0 18,0,64,0,8,0,22,0,81,0,15,0 5,0,84,0,74,0,17,0,6,0,69,0 38,0,35,0,40,0,10,0,78,0,1,0 37,0,19,0,2,0,83,0,46,0,4,0 34,0,77,0,27,0,50,0,62,0,11,0 60,0,30,0,24,0,9,0,79,0,29,0 12,0,31,0,56,0,82,0,76,0,39,0 16,0,43,0,32,0,3,0,71,0,88,0 85,0,8,0,87,0,58,0,89,0,26,0 22,0,61,0,66,0,53,0,51,0,7,0 20,0,18,0,57,0,41,0,67,0,63,0 25,0,49,0,54,0,86,0,81,0,59,0 28,0,36,0,73,0,55,0,45,0,75,0 48,0,47,0,72,0,21,0,13,0,64,0 42,0,68,0,23,0,80,0,33,0,44,0 14,0,52,0,6,0,70,0,65,0,10,0 32,0,56,0,30,0,40,0,19,0,34,0 67,0,60,0,4,0,78,0,7,0,89,0 20,0,77,0,85,0,29,0,69,0,54,0 35,0,83,0,2,0,43,0,41,0,76,0 74,0,11,0,8,0,75,0,49,0,84,0 1,0,42,0,64,0,87,0,31,0,27,0 55,0,17,0,70,0,79,0,71,0,13,0 66,0,68,0,36,0,47,0,57,0,52,0 5,0,9,0,12,0,22,0,72,0,65,0 82,0,3,0,46,0,62,0,15,0,23,0 38,0,51,0,44,0,73,0,16,0,58,0 53,0,25,0,26,0,28,0,63,0,48,0 14,0,86,0,50,0,80,0,37,0,21,0 18,0,45,0,24,0,33,0,59,0,61,0 81,0,88,0,42,0,39,0,19,0,47,0 69,0,49,0,71,0,60,0,87,0,52,0 32,0,5,0,66,0,64,0,31,0,70,0 22,0,10,0,2,0,44,0,77,0,36,0 82,0,9,0,13,0,8,0,54,0,68,0 58,0,48,0,37,0,30,0,72,0,11,0 4,0,33,0,51,0,38,0,62,0,28,0 50,0,46,0,89,0,24,0,25,0,56,0 12,0,84,0,79,0,81,0,14,0,7,0 53,0,61,0,40,0,74,0,80,0,39,0 43,0,57,0,27,0,26,0,86,0,6,0 1,0,88,0,73,0,17,0,85,0,18,0 34,0,35,0,63,0,67,0,55,0,83,0 20,0,75,0,76,0,16,0,65,0,15,0 45,0,78,0,59,0,21,0,41,0,3,0 29,0,64,0,28,0,23,0,37,0,49,0 89,0,12,0,10,0,31,0,74,0,62,0 70,0,81,0,56,0,80,0,48,0,51,0 84,0,50,0,88,0,68,0,87,0,22,0 82,0,11,0,40,0,2,0,79,0,6,0 39,0,71,0,18,0,24,0,38,0,8,0 44,0,78,0,13,0,14,0,20,0,26,0 77,0,43,0,21,0,19,0,66,0,23,0 36,0,60,0,17,0,76,0,61,0,72,0 16,0,9,0,42,0,45,0,4,0,57,0 29,0,46,0,53,0,33,0,35,0,32,0 63,0,52,0,30,0,3,0,86,0,85,0 65,0,55,0,27,0,58,0,41,0,54,0 69,0,59,0,25,0,75,0,34,0,1,0 15,0,47,0,83,0,5,0,73,0,7,0 67,0,38,0,84,0,36,0,56,0,43,0 64,0,71,0,2,0,68,0,20,0,80,0 17,0,40,0,57,0,89,0,24,0,70,0 45,0,30,0,88,0,4,0,10,0,8,0 37,0,27,0,13,0,51,0,63,0,19,0 87,0,34,0,72,0,53,0,65,0,78,0 52,0,61,0,74,0,73,0,54,0,46,0 12,0,11,0,85,0,59,0,60,0,66,0 58,0,83,0,23,0,81,0,26,0,67,0 55,0,32,0,15,0,9,0,44,0,86,0 62,0,49,0,79,0,31,0,18,0,35,0 29,0,7,0,42,0,3,0,76,0,50,0 39,0,28,0,22,0,21,0,48,0,6,0 14,0,41,0,77,0,75,0,25,0,5,0 69,0,33,0,1,0,16,0,82,0,47,0 37,0,40,0,87,0,17,0,45,0,12,0 9,0,70,0,2,0,85,0,23,0,59,0 44,0,81,0,31,0,71,0,4,0,34,0 7,0,65,0,35,0,26,0,11,0,19,0 50,0,52,0,15,0,28,0,84,0,53,0 63,0,54,0,76,0,62,0,24,0,14,0 51,0,6,0,67,0,68,0,1,0,29,0 75,0,86,0,33,0,89,0,64,0,88,0 60,0,46,0,13,0,73,0,10,0,43,0 39,0,58,0,3,0,77,0,57,0,49,0 38,0,72,0,79,0,83,0,42,0,66,0 82,0,18,0,36,0,5,0,48,0,27,0 16,0,74,0,22,0,30,0,47,0,41,0 69,0,78,0,8,0,55,0,56,0,80,0 20,0,25,0,61,0,32,0,21,0,85,0 ================================================ FILE: schedules/89_14.csv ================================================ 89,0,45,0,37,0,51,0,21,0,56,0 59,0,1,0,57,0,67,0,8,0,53,0 81,0,7,0,11,0,88,0,39,0,43,0 69,0,79,0,6,0,46,0,15,0,50,0 77,0,2,0,61,0,31,0,49,0,9,0 5,0,42,0,30,0,73,0,24,0,75,0 34,0,23,0,26,0,64,0,44,0,32,0 87,0,22,0,16,0,52,0,85,0,48,0 76,0,17,0,72,0,78,0,38,0,33,0 35,0,40,0,68,0,28,0,63,0,19,0 65,0,80,0,10,0,41,0,14,0,60,0 74,0,83,0,86,0,54,0,20,0,58,0 27,0,13,0,82,0,70,0,55,0,18,0 12,0,36,0,29,0,84,0,47,0,25,0 4,0,62,0,66,0,71,0,3,0,59,0 6,0,24,0,9,0,57,0,37,0,85,0 8,0,40,0,49,0,34,0,67,0,42,0 15,0,72,0,63,0,5,0,88,0,89,0 16,0,21,0,20,0,30,0,77,0,64,0 52,0,44,0,18,0,86,0,10,0,7,0 27,0,2,0,51,0,35,0,29,0,39,0 23,0,22,0,38,0,83,0,3,0,12,0 19,0,14,0,36,0,78,0,87,0,41,0 56,0,60,0,11,0,1,0,55,0,47,0 46,0,28,0,66,0,74,0,43,0,17,0 62,0,25,0,31,0,4,0,26,0,70,0 65,0,81,0,33,0,69,0,58,0,53,0 84,0,79,0,82,0,80,0,75,0,54,0 32,0,48,0,71,0,45,0,68,0,61,0 13,0,50,0,85,0,73,0,76,0,51,0 55,1,56,0,88,0,35,1,23,0,30,0 10,0,2,0,46,0,36,0,59,0,78,0 8,0,5,0,25,0,31,0,11,0,66,0 70,0,52,0,81,0,29,0,44,0,67,0 79,0,80,0,39,0,62,0,20,0,37,0 38,0,26,0,61,0,28,0,24,0,74,0 12,0,71,0,58,0,50,0,64,0,18,0 7,0,60,0,40,0,89,0,73,0,4,0 16,0,68,0,15,0,84,0,41,0,83,0 33,0,3,0,27,0,82,0,65,0,49,0 21,0,32,0,34,0,63,0,69,0,87,0 6,0,17,0,77,0,75,0,86,0,45,0 13,0,1,0,19,0,48,0,72,0,14,0 53,0,57,0,43,0,54,0,76,0,47,0 9,0,42,0,88,0,22,0,12,0,79,0 80,0,70,0,50,0,8,0,78,0,74,0 3,0,67,0,39,0,10,0,73,0,41,0 62,0,85,0,64,0,81,0,60,0,61,0 37,0,77,0,83,0,5,0,7,0,44,0 51,0,15,0,1,0,38,0,82,0,25,0 71,0,72,0,27,0,56,0,57,0,36,0 18,0,33,0,32,0,75,0,66,0,30,0 42,0,58,0,46,0,89,0,13,0,63,0 54,0,29,0,14,0,69,0,11,0,26,0 84,0,52,0,53,0,21,0,19,0,9,0 48,0,47,0,2,0,6,0,28,0,4,0 87,0,43,0,86,0,45,0,65,0,23,0 49,0,34,0,17,0,68,0,59,0,24,0 20,0,31,0,55,0,40,0,22,0,76,0 35,0,82,0,57,0,16,0,46,0,62,0 60,0,73,0,1,0,66,0,58,0,78,0 3,0,69,0,30,0,79,0,72,0,52,0 84,0,56,0,54,0,38,0,70,0,42,0 65,0,8,0,63,0,77,0,23,0,85,0 11,0,51,0,44,0,41,0,61,0,27,0 86,0,59,0,55,0,80,0,48,0,33,0 29,0,21,0,49,0,13,0,5,0,71,0 32,0,50,0,24,0,53,0,2,0,7,0 75,0,31,0,68,0,43,0,37,0,10,0 4,0,14,0,74,0,22,0,17,0,81,0 9,0,40,0,18,0,45,0,15,0,87,0 26,0,89,0,76,0,16,0,47,0,67,0 25,0,39,0,28,0,83,0,34,0,19,0 20,0,35,0,36,0,88,0,6,0,12,0 64,0,78,0,80,0,55,0,77,0,69,0 7,0,84,0,31,0,30,0,57,0,65,0 72,0,58,0,23,0,49,0,4,0,51,0 41,0,75,0,15,0,29,0,59,0,74,0 50,0,48,0,73,0,44,0,62,0,21,0 85,0,9,0,68,0,11,0,38,0,86,0 27,0,16,0,54,0,32,0,25,0,14,0 33,0,22,0,20,0,26,0,63,0,2,0 24,0,17,0,18,0,47,0,81,0,88,0 34,0,10,0,40,0,5,0,82,0,1,0 36,0,89,0,3,0,37,0,19,0,8,0 79,0,28,0,60,0,67,0,45,0,76,0 43,0,70,0,35,0,71,0,53,0,83,0 56,0,13,0,46,0,64,0,12,0,87,0 66,0,42,0,61,0,39,0,6,0,52,0 23,0,16,0,41,0,15,0,24,0,20,0 9,0,77,0,58,0,10,0,62,0,27,0 19,0,17,0,85,0,54,0,31,0,2,0 75,0,3,0,28,0,50,0,14,0,51,0 82,0,8,0,30,0,43,0,81,0,48,0 83,0,67,0,21,0,18,0,72,0,46,0 68,0,89,0,57,0,64,0,49,0,73,0 66,0,44,0,53,0,12,0,40,0,38,0 35,0,5,0,61,0,79,0,87,0,33,0 74,0,42,0,39,0,71,0,65,0,55,0 52,0,37,0,59,0,84,0,26,0,60,0 86,0,36,0,4,0,63,0,70,0,32,0 76,0,1,0,56,0,80,0,6,0,29,0 78,0,22,0,7,0,11,0,13,0,25,0 45,0,88,0,24,0,47,0,34,0,69,0 87,0,50,0,27,0,68,0,17,0,67,0 73,0,30,0,14,0,8,0,15,0,35,0 46,0,38,0,60,0,31,0,42,0,81,0 2,0,41,0,52,0,77,0,75,0,72,0 4,0,83,0,64,0,53,0,37,0,76,0 7,0,33,0,29,0,62,0,23,0,9,0 36,0,34,0,61,0,3,0,13,0,26,0 6,0,16,0,11,0,71,0,40,0,63,0 22,0,57,0,66,0,21,0,69,0,10,0 43,0,49,0,20,0,56,0,48,0,18,0 45,0,25,0,85,0,80,0,55,0,44,0 70,0,59,0,79,0,58,0,39,0,19,0 12,0,78,0,47,0,51,0,5,0,74,0 32,0,28,0,54,0,65,0,89,0,1,0 88,0,84,0,76,0,86,0,82,0,71,0 83,0,73,0,63,0,27,0,17,0,52,0 41,0,30,0,6,0,13,0,38,0,4,0 87,0,8,0,55,0,75,0,29,0,53,0 40,0,80,0,58,0,24,0,7,0,43,0 47,0,59,0,42,0,44,0,35,0,72,0 9,0,45,0,50,0,26,0,65,0,16,0 66,0,12,0,49,0,86,0,14,0,37,0 10,0,33,0,64,0,11,0,15,0,70,0 34,0,51,0,18,0,77,0,79,0,57,0 56,0,25,0,78,0,61,0,88,0,21,0 28,0,85,0,1,0,46,0,3,0,84,0 39,0,22,0,68,0,82,0,36,0,60,0 48,0,74,0,23,0,2,0,67,0,69,0 5,0,20,0,19,0,81,0,62,0,32,0 54,0,89,0,12,0,31,0,33,0,24,0 58,0,52,0,11,0,35,0,80,0,76,0 79,0,63,0,55,0,41,0,43,0,59,0 86,0,73,0,61,0,29,0,16,0,34,0 50,0,30,0,49,0,36,0,22,0,1,0 38,0,45,0,14,0,64,0,39,0,2,0 65,0,68,0,37,0,72,0,62,0,40,0 44,0,4,0,75,0,78,0,67,0,9,0 71,0,28,0,69,0,20,0,8,0,13,0 27,0,89,0,77,0,66,0,48,0,84,0 17,0,88,0,60,0,70,0,51,0,57,0 82,0,21,0,6,0,74,0,19,0,26,0 56,0,10,0,42,0,32,0,83,0,85,0 47,0,7,0,87,0,3,0,31,0,15,0 46,0,53,0,25,0,18,0,5,0,23,0 81,0,71,0,35,0,54,0,9,0,34,0 63,0,76,0,24,0,8,0,44,0,39,0 12,0,30,0,17,0,11,0,80,0,61,0 62,0,43,0,69,0,84,0,89,0,86,0 13,0,74,0,45,0,57,0,52,0,33,0 51,0,60,0,59,0,87,0,6,0,83,0 85,0,67,0,55,0,14,0,5,0,58,0 37,0,78,0,15,0,27,0,32,0,20,0 40,0,66,0,56,0,50,0,81,0,26,0 1,0,88,0,3,0,2,0,68,0,42,0 29,0,19,0,77,0,4,0,46,0,22,0 21,0,70,0,75,0,7,0,16,0,49,0 65,0,38,0,48,0,25,0,10,0,79,0 47,0,64,0,23,0,82,0,73,0,54,0 72,0,41,0,31,0,18,0,28,0,53,0 36,0,27,0,69,0,40,0,85,0,43,0 83,0,57,0,2,0,61,0,55,0,89,0 76,0,5,0,32,0,74,0,9,0,3,0 67,0,71,0,19,0,80,0,86,0,15,0 70,0,65,0,22,0,46,0,6,0,34,0 38,0,62,0,8,0,49,0,52,0,47,0 82,0,72,0,29,0,66,0,45,0,60,0 25,0,44,0,58,0,68,0,87,0,30,0 10,0,39,0,84,0,17,0,23,0,13,0 31,0,48,0,63,0,75,0,64,0,56,0 81,0,18,0,78,0,37,0,28,0,16,0 7,0,26,0,41,0,35,0,12,0,1,0 21,0,33,0,14,0,42,0,24,0,51,0 53,0,79,0,73,0,36,0,11,0,77,0 4,0,54,0,59,0,20,0,50,0,88,0 58,0,84,0,8,0,32,0,22,0,72,0 64,0,25,0,29,0,17,0,40,0,3,0 18,0,89,0,6,0,68,0,55,0,23,0 37,0,71,0,47,0,46,0,41,0,85,0 43,0,44,0,16,0,2,0,33,0,60,0 70,0,87,0,24,0,1,0,77,0,66,0 14,0,9,0,82,0,73,0,20,0,56,0 74,0,52,0,80,0,27,0,31,0,34,0 67,0,51,0,62,0,30,0,54,0,63,0 38,0,76,0,69,0,75,0,7,0,36,0 57,0,39,0,15,0,4,0,12,0,48,0 26,0,10,0,49,0,53,0,88,0,19,0 5,0,21,0,11,0,65,0,28,0,59,0 35,0,42,0,86,0,61,0,50,0,78,0 13,0,83,0,81,0,45,0,79,0,1,0 18,0,3,0,63,0,70,0,60,0,9,0 64,0,72,0,43,0,6,0,74,0,44,0 15,0,54,0,55,0,66,0,36,0,52,0 47,0,77,0,33,0,40,0,39,0,14,0 5,0,41,0,69,0,17,0,56,0,82,0 26,0,46,0,51,0,8,0,7,0,68,0 67,0,31,0,13,0,16,0,35,0,32,0 73,0,87,0,80,0,28,0,38,0,88,0 34,0,11,0,48,0,50,0,58,0,37,0 81,0,23,0,12,0,21,0,76,0,59,0 45,0,53,0,62,0,42,0,22,0,27,0 75,0,65,0,19,0,57,0,61,0,20,0 78,0,29,0,85,0,79,0,83,0,49,0 2,0,71,0,89,0,25,0,86,0,30,0 4,0,10,0,55,0,24,0,84,0,35,0 ================================================ FILE: schedules/89_2.csv ================================================ 42,0,74,0,71,0,38,0,28,0,47,0 88,0,89,0,17,0,12,0,85,0,25,0 73,0,45,0,48,0,22,0,78,0,5,0 18,0,3,0,63,0,41,0,55,0,52,0 54,0,19,0,32,0,24,0,21,0,43,0 29,0,6,0,83,0,68,0,33,0,81,0 26,0,8,0,69,0,56,0,36,0,34,0 20,0,37,0,77,0,1,0,31,0,30,0 59,0,23,0,79,0,49,0,9,0,62,0 40,0,46,0,2,0,51,0,53,0,10,0 70,0,84,0,15,0,60,0,61,0,65,0 13,0,4,0,27,0,72,0,58,0,86,0 57,0,50,0,87,0,67,0,44,0,66,0 64,0,7,0,16,0,75,0,82,0,76,0 35,0,14,0,36,0,80,0,39,0,11,0 38,0,62,0,30,0,6,0,3,0,34,0 55,0,43,0,47,0,25,0,48,0,83,0 28,0,68,0,9,0,46,0,32,0,63,0 33,0,61,0,89,0,23,0,19,0,69,0 85,0,40,0,81,0,87,0,13,0,8,0 10,0,50,0,41,0,27,0,71,0,77,0 67,0,31,0,65,0,39,0,26,0,7,0 72,0,53,0,5,0,80,0,44,0,88,0 73,0,86,0,24,0,79,0,16,0,15,0 22,0,4,0,49,0,14,0,75,0,29,0 58,0,76,0,52,0,2,0,45,0,21,0 42,0,11,0,64,0,70,0,1,0,59,0 66,0,37,0,54,0,35,0,84,0,74,0 82,0,12,0,56,0,57,0,20,0,60,0 51,0,18,0,23,1,78,0,17,0,6,1 ================================================ FILE: schedules/89_3.csv ================================================ 7,0,25,0,40,0,59,0,46,0,70,0 50,0,72,0,61,0,38,0,54,0,58,0 65,0,85,0,48,0,35,0,17,0,22,0 10,0,88,0,69,0,12,0,14,0,76,0 84,0,81,0,27,0,24,0,47,0,1,0 21,0,78,0,77,0,86,0,73,0,64,0 89,0,33,0,2,0,80,0,37,0,63,0 26,0,57,0,82,0,74,0,36,0,32,0 45,0,28,0,83,0,49,0,87,0,56,0 3,0,34,0,5,0,29,0,43,0,31,0 8,0,55,0,9,0,15,0,44,0,23,0 52,0,42,0,18,0,66,0,4,0,30,0 16,0,51,0,13,0,62,0,68,0,71,0 19,0,41,0,67,0,11,0,39,0,53,0 79,0,6,0,60,0,75,0,20,0,57,0 77,1,61,0,12,0,80,1,45,0,48,0 72,1,85,0,26,0,3,0,73,0,46,0 31,0,65,0,84,0,63,0,59,0,82,0 56,0,22,0,30,0,86,0,69,0,81,0 54,0,71,0,36,0,21,0,42,0,17,0 23,0,52,0,50,0,25,0,27,0,19,0 83,0,15,0,14,0,58,0,67,0,64,0 79,0,44,0,51,0,76,0,47,0,40,0 68,0,5,0,39,0,88,0,2,0,1,0 11,0,6,0,62,0,74,0,66,0,10,0 33,0,29,0,60,0,7,0,53,0,24,0 78,0,16,0,38,0,75,0,18,0,8,0 43,0,32,0,13,0,9,0,87,0,20,0 89,0,28,0,55,0,34,0,41,0,4,0 37,0,70,0,21,0,35,0,49,0,69,0 56,0,27,0,3,0,67,0,48,0,2,0 62,0,30,0,80,0,79,0,39,0,36,0 54,0,74,0,64,0,33,0,45,0,22,0 58,0,16,0,66,0,60,0,85,0,82,0 46,0,32,0,10,0,5,0,44,0,77,0 23,0,29,0,40,0,28,0,13,0,65,0 75,0,19,0,76,0,84,0,72,0,89,0 59,0,4,0,49,0,61,0,1,0,6,0 15,0,87,0,63,0,25,0,78,0,41,0 7,0,20,0,73,0,38,0,68,0,42,0 70,0,43,0,24,0,57,0,17,0,14,0 86,0,18,0,47,0,50,0,34,0,11,0 35,0,8,0,71,0,81,0,26,0,52,0 53,0,9,0,31,0,12,0,37,0,51,0 88,0,83,0,80,0,55,0,77,0,72,0 ================================================ FILE: schedules/89_4.csv ================================================ 73,0,50,0,76,0,67,0,2,0,80,0 44,0,36,0,68,0,40,0,57,0,54,0 18,0,23,0,28,0,49,0,65,0,22,0 66,0,7,0,41,0,13,0,5,0,77,0 17,0,38,0,46,0,26,0,85,0,79,0 35,0,58,0,42,0,15,0,11,0,24,0 8,0,64,0,81,0,72,0,4,0,74,0 27,0,87,0,29,0,47,0,14,0,51,0 75,0,71,0,32,0,10,0,89,0,25,0 9,0,39,0,43,0,88,0,60,0,34,0 56,0,20,0,48,0,86,0,70,0,3,0 21,0,30,0,31,0,83,0,84,0,63,0 12,0,62,0,37,0,55,0,33,0,52,0 45,0,61,0,82,0,16,0,6,0,59,0 78,0,69,0,1,0,53,0,19,0,8,0 36,0,5,0,65,0,38,0,42,0,87,0 73,0,47,0,34,0,64,0,23,0,75,0 40,0,15,0,72,0,29,0,9,0,76,0 10,0,86,0,67,0,18,0,31,0,68,0 26,0,12,0,77,0,83,0,28,0,20,0 56,0,57,0,43,0,46,0,33,0,7,0 17,0,16,0,88,0,41,0,44,0,70,0 82,0,49,0,74,0,69,0,71,0,79,0 22,0,78,0,32,0,52,0,61,0,84,0 13,0,37,0,51,0,54,0,39,0,21,0 1,0,6,0,14,0,55,0,35,0,80,0 53,0,85,0,24,0,48,0,45,0,66,0 89,0,60,0,58,0,59,0,50,0,4,0 25,0,63,0,3,0,11,0,62,0,2,0 19,0,30,0,10,0,81,0,27,0,73,0 52,1,69,0,83,0,16,1,5,0,47,0 20,1,42,0,49,0,75,1,44,0,43,0 70,0,29,0,77,0,64,0,67,0,22,0 34,0,8,0,36,0,76,0,71,0,66,0 41,0,89,0,84,0,12,0,46,0,87,0 61,0,18,0,55,0,53,0,74,0,57,0 4,0,27,0,56,0,63,0,17,0,23,0 45,0,11,0,13,0,32,0,80,0,60,0 33,0,48,0,40,0,25,0,21,0,1,0 35,0,19,0,54,0,28,0,86,0,38,0 72,0,59,0,24,0,79,0,30,0,78,0 85,0,9,0,62,0,31,0,50,0,65,0 2,0,58,0,68,0,81,0,51,0,88,0 14,0,7,0,26,0,15,0,37,0,82,0 39,0,3,0,46,0,6,0,75,0,69,0 33,0,11,0,87,0,44,0,18,0,83,0 21,0,38,0,71,0,29,0,53,0,20,0 22,0,79,0,63,0,19,0,60,0,42,0 16,0,24,0,76,0,57,0,62,0,49,0 17,0,48,0,68,0,34,0,30,0,12,0 25,0,72,0,65,0,26,0,35,0,66,0 80,0,77,0,52,0,8,0,58,0,43,0 5,0,10,0,88,0,56,0,61,0,54,0 4,0,31,0,28,0,3,0,13,0,78,0 70,0,84,0,6,0,73,0,37,0,40,0 59,0,2,0,74,0,47,0,32,0,39,0 82,0,85,0,64,0,1,0,27,0,89,0 15,0,50,0,23,0,51,0,41,0,36,0 55,0,9,0,81,0,86,0,45,0,7,0 67,0,52,0,20,0,14,0,16,0,75,0 ================================================ FILE: schedules/89_5.csv ================================================ 66,0,23,0,65,0,63,0,88,0,33,0 54,0,11,0,55,0,2,0,29,0,51,0 59,0,43,0,4,0,1,0,52,0,12,0 15,0,83,0,46,0,18,0,21,0,79,0 85,0,28,0,22,0,26,0,19,0,87,0 13,0,50,0,76,0,82,0,24,0,30,0 72,0,39,0,58,0,81,0,20,0,78,0 60,0,49,0,89,0,3,0,80,0,32,0 71,0,86,0,16,0,36,0,48,0,35,0 34,0,27,0,38,0,7,0,70,0,77,0 37,0,14,0,25,0,40,0,64,0,61,0 84,0,56,0,68,0,73,0,9,0,17,0 75,0,6,0,69,0,44,0,8,0,62,0 57,0,45,0,41,0,74,0,67,0,10,0 53,0,42,0,81,0,31,0,47,0,5,0 51,0,89,0,58,0,26,0,83,0,33,0 77,0,32,0,18,0,72,0,22,0,59,0 82,0,78,0,65,0,3,0,61,0,38,0 4,0,2,0,21,0,66,0,28,0,17,0 50,0,62,0,64,0,71,0,56,0,15,0 44,0,86,0,40,0,24,0,84,0,54,0 52,0,5,0,9,0,16,0,41,0,87,0 37,0,76,0,27,0,63,0,39,0,68,0 7,0,48,0,29,0,49,0,19,0,12,0 67,0,6,0,14,0,53,0,80,0,46,0 73,0,88,0,45,0,55,0,1,0,75,0 79,0,10,0,30,0,70,0,47,0,35,0 57,0,36,0,34,0,20,0,43,0,25,0 74,0,31,0,23,0,85,0,13,0,69,0 8,0,60,0,52,0,42,0,11,0,86,0 84,1,19,0,21,0,81,1,64,0,41,0 71,1,39,0,33,0,18,1,5,0,6,0 22,0,44,0,38,0,4,1,48,0,14,0 83,0,10,0,17,0,63,0,82,0,29,0 32,0,35,0,61,0,20,0,68,0,75,0 77,0,43,0,62,0,65,0,9,0,37,0 50,0,67,0,87,0,47,0,8,0,23,0 16,0,46,0,57,0,76,0,26,0,88,0 24,0,27,0,80,0,11,0,66,0,25,0 59,0,49,0,31,0,55,0,40,0,34,0 79,0,28,0,1,0,54,0,74,0,53,0 3,0,13,0,73,0,15,0,42,0,2,0 89,0,70,0,12,0,36,0,85,0,78,0 72,0,30,0,7,0,45,0,56,0,51,0 69,0,60,0,17,0,58,0,88,0,18,0 82,0,19,0,47,0,71,0,44,0,57,0 62,0,5,0,25,0,83,0,49,0,23,0 39,0,64,0,75,0,9,0,86,0,34,0 1,0,3,0,40,0,77,0,81,0,76,0 26,0,59,0,54,0,6,0,48,0,37,0 65,0,70,0,42,0,20,0,67,0,51,0 41,0,12,0,22,0,53,0,73,0,60,0 33,0,11,0,15,0,61,0,30,0,28,0 36,0,31,0,63,0,7,0,80,0,52,0 38,0,74,0,43,0,46,0,89,0,84,0 35,0,55,0,56,0,85,0,27,0,14,0 66,0,32,0,13,0,10,0,78,0,8,0 45,0,29,0,58,0,4,0,79,0,87,0 16,0,21,0,68,0,69,0,72,0,50,0 24,0,9,0,48,0,2,0,57,0,33,0 25,0,77,0,67,0,19,0,60,0,75,0 12,0,26,0,81,0,17,0,62,0,80,0 64,0,46,0,63,0,47,0,1,0,49,0 74,0,71,0,3,0,34,0,83,0,30,0 35,0,65,0,4,0,89,0,54,0,39,0 11,0,18,0,20,0,76,0,38,0,31,0 24,0,37,0,36,0,58,0,55,0,23,0 2,0,88,0,5,0,84,0,14,0,72,0 28,0,68,0,41,0,7,0,13,0,40,0 87,0,69,0,53,0,56,0,70,0,66,0 21,0,29,0,86,0,32,0,27,0,6,0 79,0,42,0,78,0,16,0,22,0,43,0 85,0,8,0,82,0,59,0,15,0,45,0 10,0,61,0,52,0,44,0,50,0,73,0 51,0,84,0,18,0,81,0,71,0,4,0 ================================================ FILE: schedules/89_6.csv ================================================ 17,0,37,0,77,0,16,0,22,0,19,0 23,0,1,0,64,0,62,0,13,0,14,0 79,0,71,0,32,0,5,0,85,0,84,0 61,0,29,0,46,0,33,0,6,0,56,0 47,0,75,0,81,0,15,0,59,0,82,0 30,0,28,0,10,0,20,0,55,0,25,0 4,0,87,0,53,0,66,0,31,0,34,0 69,0,67,0,52,0,18,0,50,0,24,0 49,0,3,0,76,0,88,0,21,0,9,0 27,0,78,0,2,0,44,0,11,0,89,0 63,0,83,0,65,0,68,0,40,0,39,0 72,0,38,0,41,0,70,0,43,0,57,0 86,0,51,0,45,0,12,0,48,0,8,0 26,0,58,0,80,0,35,0,7,0,54,0 42,0,60,0,36,0,74,0,73,0,22,0 18,0,75,0,4,0,25,0,9,0,33,0 13,0,88,0,19,0,44,0,29,0,66,0 31,0,32,0,24,0,2,0,83,0,21,0 79,0,69,0,27,0,63,0,46,0,15,0 30,0,78,0,23,0,86,0,71,0,81,0 12,0,82,0,65,0,43,0,62,0,54,0 16,0,80,0,70,0,56,0,5,0,53,0 11,0,26,0,87,0,73,0,67,0,6,0 36,0,34,0,58,0,85,0,1,0,47,0 20,0,14,0,59,0,49,0,57,0,50,0 55,0,52,0,64,0,72,0,3,0,48,0 84,0,38,0,68,0,37,0,8,0,74,0 35,0,76,0,45,0,40,0,42,0,10,0 60,0,7,0,77,0,51,0,61,0,41,0 89,0,28,0,26,0,39,0,17,0,70,0 4,0,44,0,54,0,1,0,73,0,30,0 12,0,79,0,2,0,88,0,75,0,34,0 46,0,14,0,22,0,83,0,25,0,11,0 16,0,31,0,64,0,67,0,36,0,57,0 74,0,49,0,5,0,24,0,82,0,86,0 13,0,40,0,72,0,77,0,59,0,69,0 41,0,85,0,39,0,42,0,33,0,52,0 28,0,87,0,56,0,18,0,47,0,68,0 66,0,17,0,3,0,10,0,84,0,61,0 65,0,27,0,8,0,20,0,35,0,32,0 76,0,15,0,50,0,37,0,89,0,55,0 71,0,48,0,62,0,38,0,7,0,53,0 29,0,60,0,9,0,45,0,23,0,58,0 21,0,19,0,6,0,43,0,80,0,78,0 81,0,51,0,11,0,63,0,42,0,16,0 39,0,86,0,61,0,13,0,2,0,22,0 1,0,56,0,40,0,82,0,41,0,8,0 36,0,84,0,55,0,35,0,12,0,4,0 14,0,53,0,18,0,77,0,3,0,65,0 68,0,7,0,23,0,31,0,52,0,46,0 73,0,25,0,45,0,85,0,50,0,27,0 87,0,59,0,76,0,80,0,32,0,17,0 9,0,72,0,30,0,26,0,15,0,74,0 33,0,88,0,89,0,64,0,51,0,69,0 29,0,70,0,24,0,78,0,20,0,54,0 43,0,66,0,63,0,37,0,71,0,75,0 19,0,62,0,83,0,60,0,79,0,28,0 5,0,48,0,81,0,21,0,57,0,58,0 38,0,47,0,10,0,67,0,49,0,44,0 6,0,18,0,7,0,34,0,59,0,39,0 12,0,9,0,22,0,50,0,32,0,64,0 69,0,84,0,20,0,26,0,82,0,16,0 37,0,46,0,88,0,45,0,41,0,65,0 70,0,23,0,79,0,3,0,8,0,87,0 57,0,28,0,66,0,78,0,52,0,51,0 75,0,86,0,35,0,17,0,53,0,44,0 11,0,19,0,40,0,30,0,36,0,5,0 67,0,34,0,54,0,27,0,71,0,74,0 47,0,6,0,83,0,4,0,77,0,76,0 25,0,1,0,21,0,29,0,89,0,42,0 33,0,73,0,15,0,38,0,13,0,80,0 62,0,58,0,49,0,72,0,61,0,63,0 14,0,2,0,68,0,55,0,81,0,60,0 48,0,43,0,85,0,10,0,31,0,56,0 24,0,46,0,57,0,40,0,9,0,71,0 51,0,50,0,39,0,5,0,4,0,23,0 11,0,84,0,41,0,86,0,64,0,18,0 80,0,8,0,29,0,69,0,83,0,30,0 13,0,37,0,53,0,20,0,36,0,79,0 88,0,22,0,67,0,70,0,62,0,59,0 82,0,58,0,77,0,33,0,68,0,10,0 89,0,85,0,72,0,75,0,54,0,6,0 43,0,44,0,7,0,28,0,3,0,81,0 74,0,63,0,78,0,1,0,48,0,35,0 26,0,45,0,32,0,47,0,55,0,66,0 52,0,56,0,21,0,65,0,60,0,17,0 61,0,34,0,73,0,16,0,24,0,76,0 25,0,15,0,49,0,87,0,2,0,19,0 31,0,12,0,42,0,14,0,27,0,38,0 ================================================ FILE: schedules/89_7.csv ================================================ 71,0,65,0,38,0,9,0,72,0,64,0 79,0,44,0,2,0,39,0,7,0,61,0 84,0,47,0,68,0,48,0,37,0,28,0 88,0,41,0,6,0,23,0,52,0,25,0 58,0,42,0,86,0,31,0,49,0,85,0 34,0,30,0,29,0,54,0,51,0,46,0 3,0,74,0,26,0,10,0,50,0,4,0 77,0,43,0,73,0,13,0,36,0,45,0 11,0,63,0,53,0,33,0,35,0,60,0 83,0,75,0,19,0,14,0,78,0,16,0 69,0,1,0,87,0,18,0,5,0,27,0 59,0,40,0,24,0,22,0,8,0,17,0 15,0,12,0,81,0,57,0,82,0,66,0 20,0,67,0,56,0,70,0,76,0,62,0 21,0,32,0,89,0,80,0,55,0,39,0 49,0,73,0,7,0,33,0,46,0,23,0 53,0,85,0,37,0,30,0,52,0,50,0 88,0,31,0,44,0,5,0,64,0,75,0 45,0,42,0,68,0,10,0,14,0,11,0 40,0,57,0,60,0,36,0,69,0,74,0 22,0,27,0,71,0,43,0,56,0,15,0 6,0,67,0,72,0,81,0,21,0,79,0 13,0,17,0,76,0,89,0,29,0,86,0 18,0,34,0,26,0,55,0,47,0,20,0 54,0,25,0,80,0,82,0,4,0,9,0 70,0,78,0,8,0,77,0,51,0,61,0 38,0,83,0,24,0,3,0,84,0,2,0 32,0,28,0,19,0,87,0,35,0,12,0 48,0,1,0,59,0,65,0,62,0,63,0 66,0,16,0,69,0,58,0,41,0,73,0 39,1,10,0,64,0,46,0,18,0,56,0 34,0,23,0,57,0,72,0,53,0,31,0 22,0,11,0,86,0,36,0,80,0,50,0 45,0,61,0,55,0,38,0,5,0,82,0 87,0,25,0,51,0,13,0,37,0,83,0 4,0,60,0,59,0,75,0,68,0,12,0 74,0,88,0,17,0,20,0,2,0,54,0 3,0,66,0,6,0,63,0,9,0,89,0 27,0,29,0,40,0,52,0,48,0,79,0 65,0,84,0,85,0,15,0,76,0,78,0 62,0,21,0,42,0,26,0,7,0,35,0 41,0,1,0,14,0,32,0,70,0,81,0 16,0,49,0,30,0,24,0,77,0,71,0 8,0,28,0,33,0,58,0,67,0,44,0 47,0,43,0,50,0,19,0,66,0,60,0 56,0,55,0,31,0,69,0,51,0,68,0 63,0,2,0,46,0,72,0,5,0,25,0 76,0,22,0,82,0,73,0,88,0,26,0 54,0,14,0,53,0,21,0,87,0,64,0 65,0,12,0,13,0,70,0,34,0,27,0 62,0,8,0,18,0,57,0,84,0,86,0 45,0,35,0,49,0,3,0,1,0,39,0 52,0,81,0,80,0,28,0,20,0,83,0 74,0,58,0,24,0,61,0,23,0,19,0 10,0,77,0,9,0,32,0,29,0,37,0 75,0,67,0,47,0,7,0,30,0,40,0 33,0,48,0,78,0,4,0,41,0,36,0 16,0,17,0,85,0,43,0,6,0,11,0 44,0,89,0,38,0,15,0,59,0,42,0 71,0,46,0,55,0,79,0,8,0,66,0 82,0,21,0,2,0,31,0,18,0,28,0 52,0,3,0,69,0,77,0,62,0,22,0 53,0,19,0,29,0,65,0,49,0,68,0 74,0,86,0,35,0,64,0,67,0,37,0 24,0,7,0,36,0,20,0,85,0,9,0 25,0,60,0,14,0,38,0,39,0,34,0 80,0,15,0,70,0,30,0,87,0,73,0 26,0,5,0,83,0,79,0,58,0,59,0 13,0,72,0,78,0,56,0,40,0,54,0 51,0,44,0,12,0,47,0,16,0,10,0 81,0,43,0,61,0,48,0,89,0,88,0 23,0,11,0,4,0,32,0,71,0,76,0 84,0,6,0,50,0,33,0,27,0,45,0 57,0,63,0,17,0,42,0,75,0,41,0 1,0,52,0,15,0,2,0,34,0,86,0 72,0,55,0,3,0,70,0,85,0,60,0 46,0,22,0,21,0,44,0,19,0,37,0 78,0,38,0,31,0,73,0,47,0,29,0 32,0,83,0,48,0,8,0,82,0,69,0 50,0,7,0,81,0,16,0,18,0,65,0 63,0,36,0,51,0,28,0,23,0,14,0 4,0,62,0,13,0,53,0,24,0,66,0 9,0,26,0,33,0,56,0,1,0,17,0 59,0,45,0,80,0,88,0,67,0,71,0 12,0,39,0,5,0,74,0,42,0,30,0 11,0,75,0,79,0,54,0,49,0,84,0 10,0,87,0,61,0,20,0,57,0,6,0 77,0,41,0,64,0,27,0,68,0,89,0 35,0,76,0,40,0,43,0,25,0,58,0 9,0,31,0,50,0,15,0,14,0,8,0 52,0,26,0,16,0,46,0,13,0,38,0 62,0,85,0,39,0,71,0,19,0,51,0 79,0,47,0,69,0,88,0,70,0,86,0 6,0,34,0,5,0,49,0,22,0,78,0 60,0,64,0,32,0,42,0,84,0,61,0 56,0,11,0,58,0,77,0,21,0,12,0 27,0,81,0,36,0,53,0,44,0,17,0 4,0,18,0,83,0,63,0,40,0,45,0 48,0,35,0,23,0,80,0,10,0,75,0 41,0,2,0,43,0,29,0,67,0,55,0 57,0,33,0,30,0,65,0,3,0,25,0 68,0,66,0,7,0,87,0,74,0,76,0 73,0,54,0,28,0,89,0,24,0,1,0 20,0,37,0,82,0,59,0,72,0,39,0 ================================================ FILE: schedules/89_8.csv ================================================ 10,0,49,0,33,0,27,0,78,0,61,0 89,0,34,0,50,0,73,0,48,0,17,0 85,0,83,0,84,0,70,0,22,0,39,0 25,0,86,0,72,0,7,0,18,0,52,0 5,0,11,0,23,0,46,0,26,0,41,0 79,0,13,0,87,0,35,0,21,0,67,0 64,0,38,0,65,0,16,0,36,0,47,0 14,0,71,0,68,0,62,0,24,0,1,0 54,0,37,0,42,0,20,0,77,0,74,0 58,0,59,0,6,0,51,0,44,0,55,0 80,0,30,0,63,0,28,0,31,0,45,0 9,0,75,0,81,0,76,0,40,0,12,0 57,0,88,0,82,0,32,0,4,0,56,0 66,0,8,0,19,0,60,0,15,0,3,0 69,0,29,0,53,0,43,0,2,0,7,0 5,0,24,0,16,0,72,0,79,0,48,0 18,0,84,0,44,0,74,0,27,0,87,0 17,0,13,0,6,0,61,0,47,0,80,0 52,0,67,0,64,0,23,0,55,0,45,0 39,0,57,0,49,0,77,0,9,0,68,0 10,0,73,0,15,0,42,0,22,0,30,0 65,0,40,0,88,0,31,0,46,0,85,0 76,0,43,0,78,0,58,0,62,0,4,0 56,0,59,0,81,0,8,0,26,0,36,0 53,0,41,0,63,0,19,0,86,0,14,0 12,0,37,0,89,0,21,0,28,0,33,0 70,0,75,0,11,0,2,0,51,0,20,0 71,0,50,0,3,0,32,0,54,0,29,0 69,0,82,0,83,0,60,0,25,0,38,0 35,0,34,0,57,0,66,0,1,0,61,0 36,1,46,0,45,0,62,1,79,0,10,0 53,0,48,0,77,0,26,0,6,0,67,0 27,0,23,0,65,0,58,0,80,0,39,0 55,0,14,0,85,0,9,0,5,0,13,0 16,0,44,0,41,0,75,0,37,0,8,0 21,0,60,0,84,0,63,0,81,0,4,0 25,0,17,0,66,0,64,0,12,0,56,0 71,0,86,0,31,0,15,0,33,0,2,0 7,0,28,0,35,0,40,0,42,0,70,0 47,0,74,0,11,0,49,0,83,0,3,0 30,0,29,0,76,0,68,0,52,0,87,0 24,0,38,0,89,0,54,0,59,0,88,0 69,0,73,0,1,0,19,0,78,0,20,0 32,0,51,0,22,0,34,0,43,0,72,0 18,0,66,0,37,0,50,0,82,0,46,0 40,0,58,0,84,0,10,0,48,0,57,0 9,0,44,0,11,0,63,0,42,0,56,0 60,0,33,0,29,0,80,0,26,0,14,0 15,0,27,0,54,0,85,0,21,0,25,0 88,0,68,0,19,0,16,0,17,0,55,0 38,0,71,0,74,0,13,0,53,0,75,0 87,0,5,0,28,0,83,0,32,0,59,0 36,0,4,0,34,0,67,0,86,0,49,0 43,0,18,0,35,0,39,0,73,0,6,0 70,0,64,0,81,0,69,0,30,0,50,0 20,0,31,0,23,0,22,0,8,0,24,0 79,0,12,0,78,0,7,0,3,0,51,0 62,0,65,0,61,0,89,0,82,0,52,0 41,0,72,0,2,0,77,0,47,0,76,0 1,0,32,0,17,0,45,0,44,0,33,0 56,0,49,0,53,0,58,0,21,0,18,0 73,0,86,0,87,0,70,0,38,0,55,0 46,0,80,0,20,0,81,0,67,0,25,0 7,0,6,0,27,0,8,0,57,0,83,0 14,0,31,0,39,0,3,0,36,0,82,0 16,0,51,0,89,0,71,0,60,0,76,0 24,0,43,0,30,0,11,0,65,0,84,0 4,0,68,0,13,0,48,0,28,0,54,0 45,0,42,0,59,0,78,0,29,0,66,0 37,0,52,0,19,0,34,0,2,0,40,0 26,0,1,0,88,0,50,0,10,0,75,0 77,0,22,0,63,0,69,0,12,0,5,0 72,0,62,0,74,0,85,0,35,0,23,0 79,0,64,0,41,0,15,0,9,0,61,0 47,0,70,0,46,0,68,0,89,0,53,0 39,0,7,0,71,0,4,0,87,0,66,0 84,0,73,0,54,0,49,0,52,0,16,0 45,0,21,0,34,0,76,0,38,0,6,0 25,0,59,0,13,0,10,0,11,0,77,0 28,0,27,0,22,0,3,0,1,0,81,0 19,0,42,0,31,0,57,0,75,0,72,0 9,0,33,0,62,0,69,0,67,0,88,0 60,0,2,0,50,0,65,0,44,0,5,0 85,0,58,0,32,0,41,0,36,0,12,0 40,0,18,0,26,0,78,0,24,0,64,0 15,0,47,0,23,0,51,0,48,0,63,0 82,0,20,0,86,0,17,0,35,0,29,0 80,0,55,0,8,0,79,0,43,0,74,0 61,0,14,0,37,0,30,0,83,0,56,0 81,0,7,0,44,0,31,0,68,0,34,0 52,0,36,0,70,0,66,0,88,0,5,0 6,0,60,0,64,0,87,0,49,0,62,0 22,0,21,0,2,0,16,0,57,0,26,0 47,0,28,0,50,0,9,0,19,0,58,0 10,0,69,0,76,0,74,0,39,0,17,0 72,0,8,0,30,0,89,0,40,0,4,0 20,0,14,0,65,0,59,0,79,0,18,0 43,0,45,0,82,0,27,0,12,0,71,0 23,0,32,0,61,0,25,0,42,0,53,0 77,0,46,0,56,0,38,0,15,0,29,0 83,0,41,0,55,0,54,0,33,0,35,0 13,0,51,0,1,0,37,0,84,0,86,0 24,0,67,0,3,0,73,0,63,0,75,0 78,0,80,0,48,0,11,0,85,0,87,0 8,0,62,0,12,0,18,0,47,0,34,0 70,0,57,0,17,0,23,0,59,0,71,0 29,0,4,0,9,0,74,0,6,0,65,0 79,0,19,0,38,0,44,0,22,0,49,0 83,0,26,0,15,0,13,0,58,0,89,0 36,0,73,0,72,0,68,0,60,0,37,0 5,0,30,0,67,0,54,0,82,0,1,0 3,0,76,0,53,0,64,0,20,0,85,0 24,0,80,0,10,0,7,0,41,0,56,0 61,0,51,0,77,0,50,0,21,0,31,0 66,0,16,0,28,0,69,0,14,0,11,0 25,0,2,0,35,0,45,0,88,0,84,0 75,0,78,0,32,0,86,0,39,0,46,0 52,0,43,0,48,0,33,0,81,0,42,0 55,0,40,0,36,0,63,0,27,0,62,0 ================================================ FILE: schedules/89_9.csv ================================================ 4,0,26,0,43,0,12,0,1,0,85,0 9,0,56,0,48,0,75,0,76,0,83,0 3,0,8,0,78,0,13,0,37,0,14,0 41,0,16,0,88,0,72,0,47,0,62,0 57,0,65,0,66,0,28,0,70,0,33,0 64,0,60,0,50,0,11,0,15,0,45,0 55,0,82,0,40,0,34,0,29,0,30,0 59,0,31,0,81,0,17,0,46,0,20,0 21,0,44,0,18,0,24,0,73,0,87,0 23,0,10,0,36,0,5,0,74,0,35,0 2,0,54,0,86,0,32,0,79,0,71,0 6,0,53,0,38,0,68,0,63,0,89,0 84,0,25,0,77,0,42,0,39,0,27,0 80,0,19,0,58,0,7,0,61,0,52,0 67,0,69,0,49,0,51,0,22,0,34,0 64,0,29,0,18,0,66,0,13,0,46,0 78,0,21,0,74,0,16,0,81,0,82,0 57,0,40,0,5,0,9,0,20,0,44,0 56,0,32,0,41,0,31,0,6,0,8,0 24,0,59,0,39,0,14,0,36,0,75,0 25,0,72,0,68,0,58,0,7,0,60,0 38,0,11,0,84,0,87,0,43,0,52,0 12,0,77,0,35,0,54,0,80,0,62,0 70,0,51,0,83,0,61,0,45,0,53,0 71,0,30,0,89,0,17,0,10,0,22,0 27,0,48,0,47,0,26,0,28,0,50,0 4,0,73,0,2,0,23,0,55,0,69,0 33,0,19,0,85,0,37,0,67,0,88,0 49,0,42,0,76,0,63,0,79,0,1,0 86,0,3,0,39,0,15,0,65,0,82,0 53,1,62,0,25,0,52,1,81,0,64,0 71,1,34,0,7,0,31,0,77,0,83,0 78,0,47,0,46,0,30,0,12,0,6,0 24,0,50,0,66,0,10,0,41,0,2,0 26,0,70,0,36,0,69,0,38,0,29,0 37,0,40,0,4,0,80,0,76,0,51,0 45,0,32,0,17,0,88,0,73,0,3,0 58,0,57,0,35,0,18,0,67,0,86,0 9,0,55,0,84,0,60,0,21,0,65,0 87,0,79,0,61,0,75,0,74,0,68,0 14,0,56,0,20,0,19,0,42,0,11,0 54,0,23,0,48,0,85,0,8,0,49,0 5,0,1,0,27,0,59,0,89,0,16,0 13,0,22,0,44,0,15,0,72,0,33,0 63,0,28,0,88,0,43,0,24,0,35,0 4,0,25,0,70,0,50,0,67,0,31,0 65,0,62,0,45,0,78,0,26,0,68,0 29,0,21,0,75,0,19,0,47,0,10,0 30,0,58,0,42,0,9,0,51,0,2,0 79,0,55,0,27,0,11,0,3,0,36,0 48,0,71,0,64,0,84,0,57,0,59,0 8,0,52,0,74,0,77,0,15,0,63,0 22,0,61,0,20,0,85,0,86,0,38,0 80,0,73,0,14,0,60,0,41,0,5,0 54,0,56,0,17,0,72,0,34,0,53,0 1,0,32,0,28,0,13,0,82,0,7,0 33,0,81,0,43,0,18,0,23,0,89,0 12,0,83,0,40,0,49,0,87,0,39,0 6,0,66,0,69,0,44,0,37,0,16,0 76,0,24,0,26,0,46,0,11,0,22,0 51,0,73,0,38,0,48,0,15,0,62,0 42,0,67,0,3,0,21,0,59,0,68,0 27,0,70,0,8,0,72,0,75,0,82,0 31,0,86,0,5,0,64,0,63,0,30,0 89,0,85,0,14,0,47,0,52,0,2,0 81,0,44,0,49,0,71,0,36,0,45,0 12,0,20,0,10,0,69,0,13,0,76,0 57,0,41,0,87,0,78,0,4,0,34,0 74,0,83,0,28,0,19,0,84,0,54,0 17,0,37,0,50,0,7,0,55,0,18,0 9,0,1,0,88,0,25,0,80,0,23,0 66,0,39,0,60,0,43,0,53,0,56,0 33,0,46,0,16,0,61,0,32,0,40,0 6,0,29,0,65,0,77,0,79,0,58,0 35,0,48,0,14,0,4,0,22,0,21,0 76,0,44,0,34,0,2,0,8,0,19,0 75,0,15,0,85,0,42,0,55,0,78,0 30,0,81,0,11,0,7,0,88,0,70,0 80,0,10,0,53,0,18,0,3,0,28,0 52,0,16,0,25,0,17,0,57,0,36,0 39,0,58,0,63,0,41,0,46,0,69,0 6,0,40,0,71,0,74,0,1,0,24,0 9,0,68,0,49,0,77,0,73,0,43,0 47,0,82,0,83,0,23,0,66,0,38,0 72,0,61,0,67,0,12,0,84,0,89,0 37,0,29,0,45,0,87,0,31,0,54,0 56,0,79,0,50,0,62,0,5,0,33,0 35,0,27,0,32,0,64,0,20,0,65,0 26,0,13,0,59,0,60,0,51,0,86,0 16,0,19,0,15,0,4,0,9,0,24,0 46,0,44,0,52,0,10,0,83,0,1,0 17,0,41,0,12,0,68,0,23,0,28,0 47,0,63,0,11,0,25,0,37,0,71,0 58,0,22,0,84,0,66,0,8,0,45,0 79,0,72,0,38,0,31,0,40,0,78,0 34,0,85,0,80,0,50,0,32,0,39,0 30,0,60,0,75,0,35,0,33,0,69,0 55,0,81,0,61,0,26,0,5,0,6,0 27,0,62,0,14,0,76,0,57,0,29,0 65,0,67,0,13,0,36,0,48,0,53,0 7,0,43,0,51,0,54,0,20,0,3,0 86,0,21,0,87,0,88,0,56,0,77,0 73,0,64,0,89,0,70,0,74,0,42,0 18,0,82,0,2,0,59,0,49,0,25,0 32,0,5,0,52,0,12,0,24,0,37,0 78,0,28,0,61,0,71,0,44,0,29,0 1,0,31,0,68,0,48,0,55,0,19,0 63,0,75,0,3,0,84,0,50,0,81,0 53,0,85,0,87,0,7,0,46,0,27,0 67,0,11,0,10,0,8,0,73,0,39,0 15,0,59,0,6,0,76,0,54,0,35,0 88,0,69,0,79,0,83,0,64,0,14,0 42,0,41,0,65,0,40,0,18,0,22,0 49,0,4,0,58,0,38,0,74,0,56,0 45,0,47,0,33,0,34,0,86,0,9,0 72,0,23,0,26,0,30,0,21,0,57,0 82,0,62,0,36,0,89,0,20,0,60,0 2,0,13,0,80,0,70,0,16,0,43,0 51,0,77,0,5,0,66,0,17,0,75,0 19,0,12,0,22,0,81,0,73,0,27,0 64,0,37,0,3,0,1,0,56,0,61,0 55,0,46,0,28,0,25,0,8,0,38,0 53,0,59,0,23,0,44,0,32,0,58,0 18,0,69,0,54,0,62,0,9,0,11,0 39,0,68,0,88,0,13,0,52,0,4,0 78,0,7,0,89,0,49,0,66,0,86,0 71,0,87,0,51,0,50,0,16,0,65,0 43,0,15,0,17,0,40,0,14,0,67,0 63,0,36,0,83,0,33,0,80,0,21,0 76,0,77,0,45,0,30,0,85,0,41,0 20,0,74,0,29,0,2,0,48,0,72,0 24,0,31,0,60,0,42,0,47,0,57,0 34,0,84,0,10,0,6,0,70,0,79,0 82,0,35,0,52,0,26,0,53,0,71,0 ================================================ FILE: schedules/8_1.csv ================================================ 2,0,4,0,8,0,5,0,3,0,1,0 7,0,2,1,1,1,6,0,3,1,4,1 ================================================ FILE: schedules/8_10.csv ================================================ 6,0,7,0,5,0,2,0,1,0,8,0 3,0,2,0,6,0,5,0,4,0,1,0 8,0,5,0,4,0,1,0,3,0,7,0 2,0,7,1,4,1,6,1,8,1,3,0 7,0,8,0,1,0,4,0,5,0,2,0 3,0,7,0,5,0,6,0,2,0,4,0 3,0,5,0,8,0,1,0,6,0,7,0 8,0,1,0,2,0,6,0,3,0,4,0 5,0,6,0,1,0,2,0,8,0,3,0 8,0,4,0,6,0,7,0,2,0,5,0 4,0,7,0,2,0,1,0,3,0,5,0 4,0,1,0,3,0,7,0,8,0,6,0 6,0,1,0,2,0,8,0,4,0,7,0 3,0,4,0,7,0,5,0,6,0,8,0 ================================================ FILE: schedules/8_11.csv ================================================ 8,0,6,0,1,0,7,0,2,0,5,0 3,0,5,0,2,0,4,0,1,0,8,0 2,0,6,0,4,0,8,0,3,0,7,0 3,1,6,0,4,0,5,1,1,0,7,0 3,0,4,0,1,0,2,0,8,0,6,0 5,0,3,0,6,0,7,0,4,0,2,0 7,0,1,0,6,0,3,0,8,0,5,0 5,0,7,0,4,0,2,0,8,0,1,0 5,0,2,0,8,0,3,0,7,0,4,0 1,0,7,0,5,0,6,0,2,0,3,0 8,0,6,0,7,0,1,0,4,0,2,0 4,0,3,0,8,0,6,0,5,0,1,0 8,0,2,0,7,0,1,0,5,0,3,0 4,0,5,0,8,0,6,0,7,0,3,0 2,0,1,0,3,0,6,0,4,0,5,0 ================================================ FILE: schedules/8_12.csv ================================================ 2,0,5,0,8,0,4,0,3,0,7,0 3,0,1,0,7,0,6,0,2,0,4,0 8,0,3,0,6,0,5,0,1,0,7,0 4,0,6,0,5,0,1,0,8,0,2,0 7,0,1,0,8,0,2,0,3,0,5,0 3,0,8,0,6,0,4,0,5,0,2,0 1,0,2,0,4,0,7,0,6,0,5,0 3,0,1,0,4,0,8,0,7,0,6,0 5,0,7,0,3,0,4,0,6,0,2,0 1,0,7,0,2,0,8,0,4,0,3,0 5,0,4,0,8,0,1,0,6,0,3,0 2,0,7,0,6,0,5,0,8,0,1,0 3,0,2,0,5,0,8,0,4,0,1,0 7,0,8,0,4,0,6,0,5,0,1,0 6,0,4,0,7,0,3,0,2,0,8,0 6,0,5,0,1,0,2,0,7,0,3,0 ================================================ FILE: schedules/8_13.csv ================================================ 6,0,4,0,2,0,5,0,3,0,7,0 1,0,2,0,6,0,4,0,8,0,5,0 7,0,1,0,6,0,4,0,8,0,3,0 1,1,3,0,5,1,7,1,2,1,8,0 3,0,5,0,1,0,7,0,6,0,2,0 7,0,5,0,4,0,8,0,3,0,6,0 1,0,4,0,3,0,2,0,8,0,5,0 1,0,2,0,8,0,6,0,7,0,4,0 1,0,2,0,5,0,7,0,6,0,4,0 3,0,5,0,6,0,8,0,7,0,1,0 8,0,3,0,7,0,2,0,4,0,1,0 3,0,6,0,8,0,5,0,4,0,2,0 5,0,7,0,2,0,4,0,1,0,8,0 6,0,5,0,4,0,3,0,1,0,7,0 8,0,6,0,5,0,3,0,2,0,7,0 4,0,8,0,1,0,2,0,6,0,3,0 2,0,4,0,3,0,5,0,1,0,7,0 2,0,7,0,8,0,6,0,1,0,5,0 ================================================ FILE: schedules/8_14.csv ================================================ 5,0,7,0,6,0,2,0,8,0,1,0 4,0,8,0,5,0,3,0,1,0,7,0 2,0,3,0,5,0,4,0,6,0,7,0 4,1,1,0,6,0,3,0,2,1,8,0 5,0,4,0,1,0,3,0,7,0,6,0 2,0,5,0,7,0,8,0,1,0,3,0 4,0,2,0,3,0,6,0,8,0,5,0 1,0,6,0,2,0,4,0,7,0,8,0 6,0,3,0,4,0,5,0,2,0,1,0 8,0,6,0,2,0,7,0,5,0,3,0 8,0,7,0,5,0,4,0,1,0,6,0 7,0,3,0,1,0,8,0,4,0,2,0 3,0,2,0,4,0,8,0,5,0,1,0 7,0,2,0,8,0,6,0,4,0,5,0 7,0,1,0,4,0,6,0,3,0,2,0 6,0,8,0,7,0,1,0,5,0,3,0 1,0,4,0,8,0,2,0,5,0,6,0 3,0,6,0,8,0,7,0,2,0,4,0 5,0,3,0,4,0,1,0,7,0,2,0 ================================================ FILE: schedules/8_2.csv ================================================ 3,0,6,0,7,0,8,0,4,0,1,0 2,0,1,0,3,0,6,0,5,0,4,0 5,0,8,0,3,1,7,0,2,0,4,1 ================================================ FILE: schedules/8_3.csv ================================================ 7,0,6,0,5,0,1,0,4,0,8,0 6,0,2,0,1,0,3,0,7,0,4,0 4,0,5,0,2,0,8,0,3,0,6,0 5,0,1,0,3,0,2,0,8,0,7,0 ================================================ FILE: schedules/8_4.csv ================================================ 6,0,7,0,4,0,5,0,8,0,1,0 3,0,1,0,4,0,7,0,2,0,5,0 2,0,6,0,1,0,7,0,3,0,8,0 5,1,6,1,8,0,4,1,2,1,3,0 4,0,2,0,5,0,1,0,6,0,7,0 3,0,5,0,6,0,8,0,4,0,2,0 ================================================ FILE: schedules/8_5.csv ================================================ 5,0,8,0,2,0,4,0,7,0,6,0 4,0,5,0,1,0,3,0,8,0,6,0 6,0,1,0,2,0,7,0,3,0,5,0 3,0,8,1,4,0,7,1,2,0,1,0 2,0,4,0,3,0,8,0,7,0,5,0 6,0,2,0,7,0,1,0,4,0,8,0 5,0,6,0,8,0,1,0,3,0,7,0 ================================================ FILE: schedules/8_6.csv ================================================ 8,0,6,0,3,0,5,0,7,0,1,0 4,0,5,0,6,0,2,0,8,0,7,0 3,0,5,0,1,0,4,0,2,0,7,0 3,0,2,0,4,0,8,0,1,0,6,0 5,0,4,0,8,0,1,0,3,0,6,0 2,0,1,0,4,0,7,0,8,0,5,0 7,0,3,0,8,0,6,0,2,0,5,0 6,0,7,0,2,0,1,0,4,0,3,0 ================================================ FILE: schedules/8_7.csv ================================================ 5,0,6,0,8,0,3,0,2,0,1,0 8,0,4,0,2,0,6,0,1,0,7,0 5,0,6,0,3,0,4,0,7,0,8,0 3,0,2,1,7,1,1,1,4,1,5,0 6,0,2,0,4,0,8,0,3,0,5,0 2,0,5,0,7,0,1,0,4,0,6,0 1,0,8,0,2,0,7,0,3,0,4,0 1,0,5,0,7,0,8,0,6,0,3,0 7,0,8,0,1,0,4,0,5,0,2,0 3,0,1,0,4,0,2,0,7,0,6,0 ================================================ FILE: schedules/8_8.csv ================================================ 8,0,4,0,3,0,6,0,5,0,1,0 1,0,8,0,7,0,2,0,5,0,6,0 7,0,2,0,6,0,5,0,3,0,4,0 7,1,1,0,3,0,8,0,4,0,2,1 3,0,8,0,5,0,2,0,7,0,1,0 4,0,5,0,2,0,6,0,1,0,8,0 1,0,6,0,4,0,3,0,7,0,2,0 4,0,6,0,3,0,5,0,8,0,7,0 7,0,4,0,5,0,2,0,3,0,8,0 1,0,2,0,5,0,6,0,7,0,4,0 3,0,6,0,7,0,8,0,1,0,2,0 ================================================ FILE: schedules/8_9.csv ================================================ 8,0,4,0,6,0,3,0,1,0,5,0 2,0,1,0,8,0,7,0,5,0,6,0 7,0,2,0,1,0,3,0,5,0,4,0 3,0,8,0,7,0,6,0,4,0,2,0 6,0,7,0,3,0,5,0,2,0,1,0 8,0,5,0,2,0,4,0,3,0,1,0 5,0,8,0,4,0,7,0,6,0,2,0 1,0,7,0,4,0,8,0,6,0,3,0 1,0,3,0,6,0,5,0,7,0,8,0 2,0,3,0,5,0,4,0,8,0,7,0 6,0,1,0,5,0,4,0,2,0,3,0 2,0,4,0,7,0,1,0,6,0,8,0 ================================================ FILE: schedules/90_1.csv ================================================ 50,0,62,0,63,0,58,0,61,0,46,0 9,0,54,0,4,0,25,0,11,0,53,0 80,0,55,0,78,0,87,0,74,0,22,0 2,0,30,0,34,0,90,0,86,0,27,0 28,0,13,0,12,0,52,0,36,0,3,0 82,0,14,0,33,0,29,0,7,0,47,0 15,0,69,0,6,0,20,0,19,0,49,0 17,0,39,0,88,0,57,0,72,0,75,0 65,0,68,0,41,0,89,0,26,0,73,0 43,0,76,0,31,0,32,0,60,0,24,0 5,0,56,0,51,0,40,0,77,0,70,0 79,0,18,0,8,0,45,0,21,0,16,0 85,0,81,0,38,0,10,0,59,0,44,0 1,0,42,0,64,0,66,0,84,0,71,0 67,0,48,0,23,0,35,0,37,0,83,0 ================================================ FILE: schedules/90_10.csv ================================================ 82,0,54,0,1,0,73,0,36,0,79,0 15,0,37,0,21,0,76,0,80,0,27,0 52,0,60,0,63,0,11,0,53,0,81,0 87,0,61,0,89,0,22,0,49,0,59,0 74,0,67,0,50,0,23,0,57,0,19,0 71,0,68,0,46,0,41,0,2,0,13,0 5,0,35,0,8,0,40,0,20,0,66,0 64,0,31,0,17,0,39,0,51,0,26,0 32,0,24,0,70,0,18,0,65,0,75,0 4,0,7,0,28,0,29,0,86,0,3,0 34,0,47,0,45,0,55,0,43,0,58,0 42,0,56,0,38,0,72,0,90,0,83,0 48,0,10,0,77,0,25,0,84,0,85,0 16,0,9,0,62,0,33,0,69,0,12,0 78,0,30,0,6,0,88,0,44,0,14,0 64,0,27,0,73,0,5,0,81,0,59,0 18,0,46,0,57,0,51,0,31,0,22,0 36,0,87,0,60,0,2,0,21,0,70,0 34,0,79,0,67,0,53,0,4,0,32,0 40,0,3,0,75,0,47,0,68,0,39,0 37,0,23,0,28,0,26,0,10,0,20,0 8,0,65,0,63,0,9,0,42,0,85,0 50,0,48,0,12,0,29,0,78,0,43,0 7,0,17,0,44,0,56,0,52,0,74,0 62,0,66,0,72,0,89,0,84,0,19,0 83,0,25,0,80,0,16,0,61,0,54,0 58,0,38,0,33,0,41,0,6,0,15,0 86,0,13,0,88,0,35,0,1,0,24,0 14,0,55,0,11,0,69,0,49,0,77,0 30,0,71,0,45,0,76,0,82,0,90,0 50,0,51,0,2,0,32,0,9,0,73,0 42,0,5,0,29,0,67,0,31,0,10,0 20,0,19,0,78,0,60,0,65,0,56,0 57,0,59,0,26,0,34,0,12,0,80,0 25,0,18,0,23,0,47,0,36,0,15,0 22,0,85,0,58,0,79,0,70,0,28,0 83,0,41,0,24,0,81,0,48,0,8,0 40,0,64,0,11,0,86,0,89,0,30,0 27,0,69,0,52,0,75,0,61,0,84,0 87,0,88,0,55,0,7,0,76,0,33,0 21,0,54,0,46,0,72,0,77,0,45,0 90,0,43,0,53,0,74,0,1,0,16,0 14,0,68,0,38,0,17,0,63,0,82,0 49,0,13,0,66,0,37,0,4,0,39,0 44,0,6,0,3,0,62,0,35,0,71,0 30,0,29,0,70,0,34,0,23,0,83,0 69,0,36,0,28,0,31,0,40,0,59,0 89,0,9,0,15,0,75,0,55,0,57,0 76,0,20,0,41,0,25,0,12,0,32,0 16,0,77,0,2,0,27,0,88,0,8,0 5,0,47,0,33,0,51,0,63,0,56,0 18,0,78,0,82,0,58,0,13,0,64,0 21,0,65,0,6,0,11,0,67,0,7,0 22,0,1,0,66,0,17,0,50,0,10,0 71,0,72,0,86,0,74,0,79,0,49,0 68,0,26,0,43,0,84,0,35,0,73,0 90,0,54,0,87,0,37,0,52,0,85,0 24,0,45,0,62,0,60,0,4,0,14,0 53,0,48,0,44,0,38,0,39,0,80,0 46,0,3,0,81,0,61,0,19,0,42,0 47,0,82,0,28,0,27,0,65,0,41,0 70,0,56,0,1,0,89,0,12,0,77,0 71,0,64,0,20,0,63,0,69,0,7,0 83,0,18,0,10,0,68,0,11,0,76,0 43,0,17,0,6,0,57,0,72,0,25,0 40,0,22,0,8,0,54,0,34,0,62,0 73,0,55,0,78,0,85,0,86,0,80,0 66,0,81,0,90,0,67,0,14,0,36,0 87,0,84,0,51,0,15,0,3,0,42,0 9,0,60,0,74,0,61,0,58,0,39,0 48,0,31,0,2,0,75,0,35,0,4,0 44,0,59,0,16,0,46,0,50,0,37,0 49,0,53,0,23,0,88,0,5,0,21,0 38,0,52,0,32,0,13,0,29,0,45,0 79,0,26,0,30,0,19,0,24,0,33,0 62,0,63,0,73,0,83,0,28,0,66,0 85,0,1,0,14,0,51,0,15,0,34,0 57,0,27,0,56,0,71,0,87,0,58,0 22,0,76,0,84,0,74,0,64,0,2,0 4,0,61,0,36,0,43,0,77,0,20,0 70,0,54,0,10,0,47,0,49,0,44,0 50,0,25,0,65,0,31,0,45,0,89,0 39,0,11,0,42,0,79,0,35,0,78,0 9,0,21,0,13,0,26,0,90,0,3,0 72,0,80,0,5,0,52,0,30,0,41,0 7,0,53,0,82,0,8,0,18,0,59,0 19,0,88,0,37,0,48,0,69,0,32,0 75,0,60,0,17,0,86,0,67,0,33,0 68,0,6,0,81,0,23,0,12,0,16,0 55,0,38,0,29,0,46,0,24,0,40,0 39,0,54,0,56,0,2,0,28,0,15,0 87,0,25,0,79,0,9,0,66,0,64,0 3,0,31,0,77,0,34,0,63,0,78,0 13,0,51,0,43,0,70,0,27,0,11,0 69,0,22,0,26,0,53,0,45,0,42,0 57,0,86,0,52,0,14,0,48,0,47,0 37,0,41,0,35,0,18,0,67,0,62,0 85,0,75,0,21,0,50,0,16,0,71,0 8,0,60,0,72,0,10,0,12,0,55,0 6,0,24,0,74,0,80,0,49,0,20,0 81,0,36,0,84,0,30,0,7,0,38,0 58,0,59,0,19,0,76,0,29,0,17,0 65,0,40,0,73,0,61,0,23,0,33,0 89,0,82,0,4,0,88,0,46,0,83,0 32,0,5,0,68,0,90,0,44,0,1,0 57,0,78,0,54,0,41,0,69,0,66,0 15,0,31,0,56,0,53,0,13,0,10,0 47,0,64,0,77,0,42,0,50,0,60,0 2,0,85,0,62,0,20,0,11,0,30,0 16,0,29,0,14,0,39,0,18,0,87,0 80,0,7,0,35,0,19,0,70,0,63,0 82,0,22,0,81,0,86,0,37,0,9,0 67,0,12,0,88,0,73,0,52,0,3,0 89,0,71,0,33,0,32,0,43,0,8,0 40,0,76,0,51,0,4,0,72,0,44,0 45,0,79,0,75,0,83,0,6,0,59,0 27,0,49,0,1,0,25,0,38,0,26,0 90,0,58,0,46,0,23,0,24,0,84,0 28,0,61,0,21,0,55,0,5,0,17,0 68,0,34,0,74,0,36,0,65,0,48,0 47,0,60,0,35,0,22,0,16,0,30,0 12,0,37,0,73,0,42,0,14,0,71,0 77,0,80,0,62,0,87,0,32,0,82,0 33,0,44,0,13,0,72,0,85,0,81,0 49,0,7,0,45,0,9,0,78,0,40,0 52,0,58,0,83,0,20,0,31,0,1,0 84,0,4,0,41,0,53,0,70,0,17,0 64,0,10,0,57,0,65,0,88,0,38,0 51,0,29,0,69,0,25,0,74,0,21,0 67,0,89,0,27,0,24,0,54,0,63,0 79,0,50,0,15,0,61,0,8,0,68,0 34,0,19,0,11,0,75,0,90,0,28,0 66,0,55,0,18,0,48,0,6,0,26,0 59,0,43,0,23,0,2,0,56,0,3,0 36,0,86,0,39,0,5,0,46,0,76,0 40,0,80,0,4,0,1,0,81,0,71,0 65,0,83,0,12,0,49,0,51,0,58,0 52,0,10,0,33,0,82,0,21,0,35,0 79,0,20,0,44,0,57,0,29,0,84,0 72,0,53,0,24,0,28,0,78,0,68,0 47,0,61,0,32,0,85,0,7,0,66,0 13,0,25,0,42,0,74,0,55,0,59,0 41,0,19,0,39,0,73,0,22,0,77,0 63,0,46,0,30,0,43,0,75,0,87,0 23,0,31,0,76,0,14,0,54,0,9,0 11,0,8,0,3,0,17,0,45,0,37,0 67,0,16,0,48,0,64,0,70,0,15,0 18,0,86,0,2,0,69,0,34,0,38,0 88,0,56,0,26,0,50,0,62,0,36,0 27,0,5,0,90,0,6,0,60,0,89,0 ================================================ FILE: schedules/90_11.csv ================================================ 28,0,23,0,51,0,50,0,42,0,39,0 24,0,6,0,87,0,37,0,21,0,10,0 85,0,46,0,38,0,54,0,72,0,77,0 4,0,11,0,60,0,16,0,45,0,53,0 48,0,75,0,41,0,40,0,2,0,84,0 79,0,43,0,64,0,88,0,5,0,17,0 56,0,19,0,68,0,31,0,76,0,90,0 69,0,86,0,80,0,71,0,65,0,14,0 61,0,78,0,27,0,35,0,58,0,34,0 47,0,3,0,55,0,7,0,1,0,32,0 13,0,62,0,49,0,20,0,26,0,52,0 70,0,83,0,63,0,22,0,30,0,25,0 12,0,36,0,66,0,44,0,29,0,81,0 15,0,59,0,74,0,89,0,73,0,18,0 9,0,67,0,82,0,8,0,57,0,33,0 77,0,39,0,64,0,87,0,10,0,45,0 54,0,43,0,90,0,34,0,37,0,80,0 14,0,21,0,5,0,28,0,31,0,60,0 3,0,17,0,48,0,51,0,58,0,53,0 84,0,26,0,47,0,27,0,6,0,46,0 30,0,20,0,23,0,61,0,32,0,56,0 1,0,18,0,52,0,42,0,19,0,22,0 8,0,4,0,85,0,69,0,59,0,44,0 81,0,74,0,65,0,33,0,15,0,79,0 49,0,76,0,40,0,66,0,50,0,67,0 62,0,29,0,82,0,11,0,55,0,73,0 41,0,71,0,57,0,89,0,12,0,83,0 68,0,25,0,2,0,86,0,16,0,78,0 38,0,75,0,70,0,9,0,35,0,13,0 7,0,36,0,63,0,88,0,72,0,24,0 45,0,3,0,85,0,18,0,27,0,43,0 44,0,52,0,54,0,51,0,26,0,15,0 49,0,84,0,14,0,74,0,90,0,4,0 62,0,46,0,76,0,21,0,79,0,42,0 37,0,66,0,1,0,82,0,71,0,60,0 20,0,53,0,50,0,86,0,83,0,64,0 69,0,11,0,12,0,23,0,75,0,33,0 25,0,65,0,34,0,32,0,48,0,13,0 5,0,9,0,72,0,61,0,41,0,10,0 81,0,73,0,31,0,30,0,40,0,16,0 7,0,88,0,39,0,68,0,89,0,80,0 24,0,78,0,35,0,59,0,22,0,55,0 57,0,58,0,70,0,87,0,36,0,2,0 29,0,56,0,8,0,38,0,63,0,17,0 6,0,47,0,19,0,28,0,67,0,77,0 26,0,83,0,37,0,75,0,1,0,15,0 52,0,34,0,76,0,3,0,82,0,41,0 65,0,40,0,21,0,9,0,54,0,23,0 90,0,30,0,12,0,5,0,85,0,39,0 10,0,46,0,18,0,68,0,35,0,49,0 86,0,88,0,33,0,48,0,62,0,45,0 16,0,87,0,63,0,43,0,53,0,59,0 56,0,73,0,67,0,69,0,14,0,22,0 25,0,7,0,61,0,29,0,57,0,79,0 64,0,51,0,74,0,71,0,58,0,47,0 17,0,20,0,77,0,70,0,89,0,27,0 84,0,11,0,50,0,13,0,19,0,72,0 28,0,24,0,4,0,32,0,66,0,38,0 8,0,2,0,55,0,81,0,60,0,6,0 44,0,78,0,36,0,31,0,80,0,42,0 39,0,83,0,33,0,56,0,34,0,49,0 48,0,35,0,5,0,69,0,87,0,29,0 16,0,62,0,79,0,58,0,9,0,1,0 10,0,59,0,68,0,12,0,47,0,22,0 30,0,17,0,71,0,54,0,18,0,84,0 38,0,25,0,64,0,21,0,82,0,26,0 40,0,15,0,77,0,61,0,11,0,63,0 74,0,44,0,50,0,27,0,7,0,60,0 19,0,51,0,37,0,36,0,14,0,13,0 78,0,66,0,55,0,65,0,88,0,41,0 89,0,32,0,72,0,53,0,8,0,31,0 73,0,42,0,6,0,70,0,85,0,80,0 67,0,75,0,2,0,24,0,90,0,3,0 43,0,76,0,86,0,4,0,52,0,23,0 57,0,81,0,28,0,46,0,45,0,20,0 61,0,84,0,21,0,68,0,83,0,44,0 35,0,82,0,79,0,30,0,60,0,50,0 77,0,66,0,48,0,56,0,74,0,16,0 69,0,51,0,63,0,31,0,10,0,34,0 59,0,5,0,27,0,54,0,36,0,33,0 39,0,1,0,53,0,38,0,29,0,67,0 32,0,40,0,4,0,37,0,89,0,64,0 62,0,18,0,23,0,24,0,47,0,41,0 45,0,6,0,65,0,90,0,52,0,72,0 57,0,55,0,85,0,86,0,15,0,13,0 75,0,22,0,49,0,81,0,87,0,17,0 14,0,78,0,70,0,7,0,8,0,46,0 26,0,71,0,42,0,2,0,20,0,43,0 12,0,9,0,73,0,19,0,3,0,88,0 28,0,58,0,80,0,11,0,25,0,76,0 47,0,51,0,79,0,66,0,83,0,69,0 4,0,21,0,63,0,36,0,48,0,67,0 64,0,24,0,57,0,84,0,65,0,1,0 29,0,32,0,33,0,50,0,10,0,85,0 38,0,14,0,89,0,81,0,61,0,55,0 27,0,41,0,86,0,87,0,90,0,13,0 30,0,53,0,68,0,74,0,62,0,6,0 7,0,17,0,52,0,37,0,28,0,73,0 16,0,26,0,80,0,8,0,12,0,35,0 2,0,76,0,59,0,88,0,34,0,44,0 54,0,56,0,42,0,75,0,45,0,25,0 9,0,60,0,43,0,78,0,77,0,49,0 23,0,15,0,70,0,82,0,19,0,5,0 39,0,72,0,58,0,40,0,20,0,18,0 31,0,11,0,22,0,3,0,46,0,71,0 87,0,68,0,61,0,51,0,67,0,85,0 41,0,80,0,14,0,64,0,1,0,63,0 16,0,38,0,50,0,69,0,36,0,52,0 45,0,55,0,56,0,12,0,74,0,21,0 42,0,33,0,84,0,7,0,77,0,35,0 37,0,44,0,6,0,62,0,5,0,57,0 90,0,18,0,81,0,78,0,82,0,48,0 8,0,10,0,3,0,65,0,4,0,20,0 28,0,89,0,29,0,43,0,30,0,75,0 13,0,66,0,88,0,23,0,58,0,31,0 49,0,73,0,2,0,47,0,53,0,54,0 34,0,40,0,46,0,19,0,17,0,24,0 11,0,86,0,79,0,39,0,70,0,26,0 15,0,72,0,60,0,71,0,25,0,59,0 32,0,27,0,9,0,83,0,22,0,76,0 7,0,87,0,12,0,38,0,65,0,18,0 80,0,5,0,81,0,84,0,51,0,52,0 13,0,44,0,3,0,45,0,63,0,29,0 21,0,90,0,58,0,77,0,73,0,50,0 82,0,31,0,4,0,47,0,17,0,61,0 89,0,35,0,36,0,56,0,6,0,86,0 10,0,60,0,78,0,75,0,57,0,19,0 37,0,22,0,53,0,28,0,85,0,41,0 16,0,70,0,71,0,76,0,24,0,33,0 15,0,46,0,2,0,30,0,9,0,66,0 34,0,72,0,26,0,67,0,23,0,55,0 8,0,27,0,49,0,64,0,42,0,11,0 83,0,43,0,62,0,39,0,59,0,40,0 48,0,14,0,54,0,32,0,68,0,79,0 20,0,88,0,1,0,74,0,25,0,69,0 28,0,50,0,78,0,3,0,56,0,87,0 90,0,22,0,65,0,89,0,44,0,16,0 53,0,13,0,33,0,47,0,21,0,80,0 75,0,46,0,86,0,73,0,5,0,63,0 26,0,58,0,19,0,81,0,41,0,4,0 43,0,67,0,12,0,84,0,70,0,64,0 51,0,77,0,18,0,76,0,37,0,55,0 17,0,42,0,57,0,66,0,68,0,72,0 71,0,38,0,10,0,27,0,23,0,79,0 34,0,30,0,45,0,1,0,36,0,8,0 32,0,6,0,88,0,82,0,15,0,49,0 35,0,25,0,85,0,14,0,40,0,62,0 48,0,7,0,20,0,9,0,11,0,59,0 29,0,74,0,52,0,83,0,2,0,31,0 61,0,69,0,54,0,60,0,24,0,39,0 55,0,33,0,58,0,68,0,37,0,63,0 47,0,72,0,64,0,44,0,76,0,75,0 17,0,45,0,89,0,78,0,26,0,67,0 71,0,18,0,56,0,4,0,13,0,5,0 25,0,23,0,87,0,8,0,84,0,73,0 19,0,21,0,32,0,43,0,66,0,35,0 85,0,81,0,9,0,74,0,11,0,34,0 41,0,15,0,36,0,20,0,39,0,14,0 80,0,48,0,30,0,38,0,57,0,27,0 22,0,61,0,50,0,65,0,2,0,62,0 10,0,69,0,82,0,40,0,42,0,86,0 54,0,83,0,16,0,3,0,6,0,7,0 29,0,60,0,88,0,46,0,51,0,90,0 24,0,53,0,52,0,12,0,77,0,79,0 1,0,31,0,59,0,49,0,28,0,70,0 ================================================ FILE: schedules/90_12.csv ================================================ 75,0,63,0,76,0,44,0,82,0,73,0 6,0,69,0,43,0,50,0,70,0,21,0 53,0,27,0,72,0,4,0,19,0,16,0 14,0,80,0,20,0,56,0,7,0,57,0 52,0,45,0,25,0,89,0,71,0,24,0 36,0,54,0,67,0,42,0,66,0,49,0 30,0,41,0,68,0,46,0,9,0,29,0 90,0,12,0,58,0,55,0,86,0,83,0 34,0,61,0,84,0,2,0,60,0,1,0 17,0,88,0,39,0,18,0,87,0,28,0 10,0,51,0,78,0,5,0,47,0,81,0 15,0,22,0,23,0,38,0,11,0,40,0 32,0,31,0,35,0,26,0,64,0,79,0 74,0,85,0,33,0,37,0,3,0,77,0 65,0,8,0,48,0,13,0,62,0,59,0 46,0,54,0,58,0,75,0,14,0,25,0 82,0,50,0,27,0,24,0,68,0,80,0 52,0,4,0,30,0,86,0,34,0,28,0 49,0,6,0,9,0,12,0,5,0,17,0 57,0,89,0,40,0,63,0,81,0,19,0 32,0,72,0,71,0,22,0,2,0,83,0 85,0,77,0,18,0,23,0,45,0,10,0 67,0,70,0,48,0,55,0,7,0,33,0 36,0,60,0,90,0,74,0,76,0,88,0 16,0,65,0,78,0,21,0,8,0,3,0 38,0,73,0,20,0,26,0,13,0,51,0 61,0,69,0,53,0,15,0,64,0,87,0 39,0,37,0,44,0,79,0,42,0,59,0 56,0,35,0,29,0,84,0,1,0,66,0 47,0,11,0,43,0,41,0,62,0,31,0 52,0,75,0,68,0,81,0,70,0,2,0 24,0,58,0,72,0,77,0,5,0,60,0 28,0,7,0,3,0,54,0,27,0,9,0 85,0,30,0,6,0,19,0,71,0,26,0 63,0,22,0,8,0,4,0,17,0,20,0 37,0,64,0,21,0,46,0,73,0,90,0 12,0,50,0,42,0,29,0,32,0,84,0 61,0,51,0,43,0,33,0,40,0,36,0 83,0,87,0,65,0,47,0,66,0,38,0 79,0,45,0,76,0,34,0,56,0,15,0 62,0,55,0,82,0,53,0,25,0,57,0 11,0,16,0,86,0,48,0,88,0,1,0 39,0,67,0,13,0,35,0,23,0,78,0 44,0,80,0,41,0,69,0,89,0,10,0 59,0,49,0,18,0,31,0,14,0,74,0 68,0,19,0,21,0,36,0,5,0,20,0 77,0,27,0,66,0,70,0,22,0,12,0 34,0,42,0,52,0,9,0,63,0,38,0 72,0,17,0,46,0,7,0,82,0,43,0 24,0,26,0,37,0,28,0,47,0,75,0 51,0,23,0,50,0,90,0,8,0,79,0 81,0,83,0,84,0,69,0,45,0,48,0 85,0,76,0,2,0,57,0,41,0,67,0 87,0,89,0,16,0,54,0,59,0,35,0 49,0,58,0,3,0,88,0,15,0,40,0 25,0,62,0,56,0,6,0,78,0,74,0 30,0,64,0,1,0,55,0,44,0,13,0 18,0,32,0,80,0,73,0,4,0,61,0 86,0,29,0,33,0,11,0,10,0,31,0 71,0,14,0,60,0,53,0,65,0,39,0 7,0,19,0,8,0,82,0,34,0,66,0 69,0,47,0,20,0,76,0,12,0,52,0 81,0,17,0,16,0,79,0,46,0,85,0 83,0,28,0,59,0,6,0,15,0,41,0 56,0,2,0,37,0,63,0,55,0,50,0 23,0,3,0,32,0,36,0,87,0,24,0 9,0,44,0,11,0,21,0,77,0,49,0 53,0,45,0,58,0,78,0,26,0,29,0 90,0,18,0,13,0,60,0,68,0,40,0 27,0,74,0,51,0,75,0,10,0,67,0 48,0,25,0,35,0,42,0,73,0,72,0 14,0,38,0,39,0,86,0,43,0,4,0 61,0,31,0,88,0,22,0,30,0,89,0 33,0,71,0,5,0,57,0,64,0,84,0 65,0,54,0,62,0,1,0,80,0,70,0 7,0,81,0,24,0,21,0,76,0,16,0 17,0,29,0,44,0,52,0,47,0,23,0 12,0,60,0,3,0,63,0,26,0,82,0 28,0,74,0,56,0,46,0,32,0,69,0 37,0,83,0,67,0,36,0,25,0,8,0 15,0,48,0,2,0,39,0,77,0,51,0 41,0,35,0,42,0,27,0,58,0,55,0 86,0,64,0,62,0,50,0,18,0,89,0 6,0,57,0,38,0,72,0,31,0,90,0 68,0,34,0,71,0,43,0,49,0,10,0 66,0,79,0,20,0,33,0,53,0,80,0 40,0,1,0,5,0,14,0,30,0,87,0 19,0,61,0,54,0,45,0,13,0,11,0 9,0,78,0,70,0,4,0,88,0,59,0 84,0,73,0,75,0,65,0,22,0,85,0 15,0,81,0,62,0,12,0,37,0,32,0 21,0,74,0,52,0,35,0,47,0,57,0 28,0,71,0,82,0,90,0,48,0,44,0 23,0,72,0,41,0,68,0,64,0,66,0 49,0,39,0,16,0,33,0,30,0,83,0 79,0,5,0,63,0,86,0,27,0,25,0 31,0,67,0,4,0,60,0,50,0,45,0 14,0,26,0,8,0,61,0,77,0,42,0 29,0,59,0,2,0,20,0,43,0,3,0 55,0,54,0,78,0,34,0,22,0,40,0 17,0,1,0,36,0,38,0,75,0,89,0 51,0,18,0,70,0,24,0,9,0,19,0 10,0,87,0,7,0,58,0,6,0,73,0 84,0,80,0,65,0,76,0,11,0,46,0 69,0,13,0,56,0,85,0,53,0,88,0 50,0,81,0,74,0,72,0,44,0,61,0 28,0,12,0,45,0,14,0,68,0,35,0 33,0,78,0,32,0,52,0,90,0,27,0 1,0,23,0,82,0,49,0,37,0,4,0 83,0,21,0,31,0,51,0,54,0,63,0 60,0,42,0,87,0,15,0,20,0,89,0 57,0,55,0,75,0,16,0,29,0,18,0 13,0,6,0,2,0,80,0,47,0,86,0 9,0,48,0,64,0,66,0,85,0,58,0 77,0,36,0,59,0,46,0,7,0,71,0 30,0,19,0,43,0,25,0,65,0,69,0 34,0,5,0,73,0,67,0,3,0,11,0 88,0,38,0,79,0,84,0,62,0,24,0 76,0,39,0,22,0,10,0,53,0,8,0 40,0,26,0,56,0,41,0,70,0,17,0 89,0,23,0,60,0,21,0,32,0,75,0 63,0,58,0,1,0,28,0,80,0,72,0 4,0,6,0,35,0,44,0,81,0,33,0 55,0,87,0,45,0,65,0,74,0,9,0 12,0,68,0,25,0,11,0,85,0,59,0 77,0,73,0,50,0,47,0,19,0,88,0 36,0,34,0,27,0,39,0,64,0,31,0 76,0,66,0,17,0,14,0,3,0,13,0 26,0,15,0,16,0,90,0,43,0,84,0 61,0,10,0,46,0,57,0,83,0,70,0 49,0,48,0,52,0,22,0,56,0,79,0 82,0,20,0,42,0,30,0,18,0,78,0 53,0,41,0,86,0,7,0,37,0,51,0 8,0,54,0,2,0,38,0,24,0,5,0 40,0,71,0,62,0,67,0,29,0,69,0 63,0,88,0,66,0,39,0,32,0,6,0 19,0,31,0,75,0,80,0,87,0,12,0 34,0,21,0,13,0,59,0,33,0,58,0 72,0,47,0,55,0,15,0,85,0,36,0 70,0,25,0,84,0,23,0,28,0,20,0 11,0,89,0,83,0,14,0,82,0,79,0 18,0,7,0,26,0,65,0,52,0,81,0 3,0,57,0,51,0,1,0,69,0,42,0 17,0,53,0,48,0,74,0,2,0,68,0 9,0,41,0,73,0,50,0,71,0,78,0 29,0,49,0,27,0,37,0,61,0,38,0 10,0,24,0,30,0,56,0,90,0,67,0 4,0,77,0,64,0,54,0,43,0,76,0 46,0,40,0,8,0,86,0,35,0,60,0 22,0,16,0,5,0,62,0,45,0,44,0 65,0,88,0,12,0,72,0,51,0,34,0 36,0,11,0,6,0,18,0,53,0,52,0 7,0,39,0,89,0,68,0,55,0,84,0 73,0,23,0,14,0,2,0,69,0,27,0 58,0,47,0,79,0,30,0,70,0,3,0 75,0,4,0,42,0,61,0,56,0,71,0 24,0,46,0,78,0,48,0,63,0,31,0 59,0,66,0,22,0,57,0,50,0,26,0 64,0,40,0,20,0,83,0,74,0,16,0 81,0,77,0,29,0,13,0,28,0,5,0 87,0,38,0,82,0,45,0,33,0,41,0 19,0,76,0,90,0,49,0,35,0,62,0 44,0,86,0,8,0,54,0,85,0,32,0 1,0,15,0,21,0,10,0,17,0,25,0 37,0,80,0,43,0,60,0,9,0,67,0 27,0,12,0,89,0,48,0,18,0,56,0 57,0,4,0,79,0,68,0,36,0,65,0 24,0,22,0,14,0,6,0,64,0,29,0 46,0,55,0,5,0,52,0,26,0,88,0 75,0,3,0,45,0,39,0,62,0,20,0 70,0,63,0,13,0,11,0,87,0,71,0 41,0,25,0,32,0,77,0,16,0,34,0 33,0,43,0,9,0,83,0,76,0,23,0 19,0,10,0,40,0,28,0,42,0,2,0 47,0,53,0,90,0,1,0,81,0,59,0 74,0,73,0,80,0,30,0,8,0,15,0 35,0,85,0,38,0,61,0,50,0,7,0 86,0,84,0,67,0,21,0,72,0,82,0 69,0,54,0,31,0,37,0,17,0,58,0 60,0,78,0,66,0,49,0,44,0,51,0 ================================================ FILE: schedules/90_13.csv ================================================ 17,0,27,0,59,0,85,0,90,0,76,0 22,0,10,0,77,0,44,0,78,0,13,0 18,0,71,0,46,0,54,0,29,0,65,0 42,0,24,0,68,0,1,0,35,0,51,0 67,0,7,0,72,0,53,0,33,0,19,0 74,0,87,0,15,0,6,0,75,0,88,0 39,0,3,0,23,0,69,0,40,0,56,0 2,0,32,0,83,0,16,0,9,0,81,0 49,0,86,0,63,0,84,0,34,0,37,0 41,0,31,0,89,0,20,0,11,0,58,0 30,0,47,0,73,0,21,0,48,0,45,0 28,0,70,0,61,0,60,0,62,0,38,0 66,0,8,0,14,0,36,0,50,0,82,0 64,0,79,0,12,0,26,0,57,0,52,0 55,0,80,0,25,0,5,0,4,0,43,0 3,0,72,0,40,0,71,0,1,0,78,0 68,0,29,0,18,0,6,0,85,0,7,0 33,0,35,0,32,0,31,0,69,0,65,0 21,0,90,0,86,0,83,0,51,0,39,0 2,0,19,0,48,0,54,0,11,0,59,0 44,0,23,0,87,0,82,0,74,0,58,0 63,0,12,0,42,0,16,0,28,0,36,0 60,0,17,0,25,0,52,0,56,0,20,0 38,0,55,0,8,0,37,0,73,0,88,0 22,0,66,0,41,0,4,0,45,0,34,0 30,0,89,0,84,0,10,0,76,0,43,0 81,0,5,0,26,0,70,0,9,0,15,0 53,0,64,0,24,0,80,0,14,0,79,0 61,0,50,0,27,0,47,0,77,0,67,0 57,0,75,0,46,0,62,0,49,0,13,0 78,0,21,0,20,0,69,0,28,0,82,0 40,0,52,0,74,0,11,0,63,0,83,0 16,0,7,0,4,0,48,0,3,0,86,0 35,0,22,0,72,0,87,0,73,0,36,0 29,0,90,0,2,0,41,0,88,0,44,0 60,0,14,0,58,0,34,0,55,0,81,0 45,0,23,0,33,0,38,0,77,0,80,0 85,0,26,0,39,0,75,0,30,0,31,0 53,0,13,0,25,0,61,0,1,0,54,0 43,0,65,0,57,0,27,0,15,0,8,0 37,0,46,0,66,0,51,0,56,0,64,0 18,0,10,0,70,0,49,0,12,0,17,0 5,0,50,0,76,0,32,0,24,0,6,0 68,0,79,0,47,0,89,0,9,0,19,0 67,0,84,0,59,0,42,0,71,0,62,0 29,0,33,0,3,0,20,0,14,0,87,0 39,0,34,0,38,0,72,0,4,0,52,0 36,0,41,0,81,0,44,0,57,0,86,0 15,0,37,0,21,0,58,0,27,0,22,0 28,0,85,0,35,0,64,0,40,0,10,0 51,0,78,0,48,0,23,0,5,0,70,0 13,0,17,0,9,0,73,0,50,0,12,0 1,0,60,0,46,0,43,0,32,0,80,0 2,0,6,0,84,0,47,0,66,0,90,0 68,0,45,0,88,0,16,0,25,0,67,0 59,0,79,0,30,0,83,0,54,0,74,0 62,0,89,0,56,0,65,0,19,0,24,0 31,0,82,0,53,0,55,0,49,0,71,0 63,0,7,0,75,0,69,0,8,0,61,0 26,0,42,0,11,0,77,0,76,0,18,0 41,0,5,0,12,0,72,0,14,0,46,0 34,0,48,0,60,0,3,0,38,0,64,0 73,0,15,0,43,0,20,0,23,0,16,0 78,0,36,0,68,0,58,0,80,0,17,0 56,0,29,0,47,0,67,0,54,0,57,0 10,0,31,0,50,0,25,0,90,0,70,0 45,0,49,0,87,0,21,0,7,0,59,0 35,0,8,0,44,0,18,0,33,0,9,0 85,0,83,0,61,0,65,0,42,0,55,0 62,0,30,0,88,0,53,0,11,0,77,0 28,0,32,0,89,0,37,0,74,0,39,0 66,0,75,0,52,0,27,0,1,0,86,0 40,0,82,0,24,0,26,0,22,0,2,0 71,0,81,0,76,0,79,0,63,0,51,0 6,0,19,0,4,0,13,0,84,0,69,0 44,0,3,0,16,0,72,0,47,0,17,0 33,0,46,0,42,0,9,0,58,0,10,0 55,0,54,0,7,0,77,0,62,0,35,0 70,0,57,0,73,0,83,0,80,0,34,0 49,0,48,0,5,0,39,0,20,0,88,0 43,0,31,0,52,0,21,0,61,0,14,0 38,0,53,0,50,0,29,0,86,0,59,0 56,0,12,0,1,0,6,0,82,0,27,0 79,0,85,0,25,0,66,0,84,0,32,0 8,0,36,0,74,0,60,0,24,0,4,0 37,0,76,0,23,0,2,0,75,0,68,0 40,0,51,0,19,0,45,0,18,0,15,0 30,0,22,0,69,0,89,0,81,0,64,0 67,0,26,0,41,0,78,0,65,0,63,0 87,0,90,0,11,0,28,0,13,0,71,0 6,0,20,0,34,0,53,0,9,0,35,0 83,0,79,0,58,0,7,0,38,0,43,0 39,0,73,0,59,0,44,0,24,0,12,0 32,0,21,0,76,0,4,0,29,0,57,0 45,0,5,0,56,0,85,0,31,0,36,0 77,0,1,0,82,0,37,0,89,0,16,0 55,0,48,0,69,0,26,0,17,0,50,0 66,0,49,0,65,0,3,0,28,0,30,0 23,0,19,0,67,0,52,0,8,0,87,0 54,0,15,0,90,0,80,0,72,0,42,0 60,0,41,0,40,0,88,0,84,0,33,0 71,0,2,0,61,0,86,0,46,0,78,0 11,0,51,0,14,0,75,0,25,0,10,0 63,0,74,0,62,0,47,0,18,0,22,0 27,0,13,0,64,0,81,0,70,0,68,0 29,0,38,0,69,0,65,0,9,0,82,0 50,0,37,0,44,0,43,0,85,0,87,0 12,0,6,0,80,0,31,0,48,0,67,0 58,0,16,0,40,0,30,0,52,0,90,0 7,0,23,0,57,0,71,0,89,0,60,0 17,0,24,0,54,0,84,0,41,0,83,0 51,0,75,0,20,0,79,0,55,0,22,0 66,0,39,0,11,0,70,0,47,0,33,0 2,0,34,0,28,0,13,0,18,0,8,0 77,0,63,0,32,0,53,0,49,0,72,0 86,0,88,0,61,0,76,0,64,0,19,0 15,0,4,0,25,0,46,0,35,0,59,0 27,0,10,0,3,0,45,0,74,0,26,0 68,0,1,0,62,0,5,0,36,0,21,0 81,0,14,0,56,0,42,0,73,0,78,0 65,0,75,0,37,0,90,0,12,0,60,0 85,0,71,0,52,0,9,0,48,0,41,0 55,0,23,0,24,0,13,0,30,0,29,0 47,0,88,0,34,0,51,0,31,0,7,0 82,0,17,0,86,0,35,0,79,0,15,0 26,0,72,0,58,0,28,0,25,0,83,0 27,0,5,0,16,0,18,0,61,0,84,0 87,0,77,0,39,0,68,0,57,0,14,0 10,0,54,0,56,0,63,0,38,0,4,0 70,0,76,0,36,0,40,0,73,0,32,0 78,0,49,0,59,0,43,0,33,0,64,0 80,0,74,0,53,0,81,0,21,0,66,0 20,0,62,0,19,0,50,0,2,0,1,0 69,0,11,0,46,0,67,0,44,0,45,0 22,0,89,0,6,0,8,0,3,0,42,0 71,0,83,0,15,0,35,0,12,0,47,0 9,0,28,0,86,0,56,0,77,0,31,0 25,0,48,0,24,0,57,0,63,0,87,0 75,0,55,0,84,0,72,0,70,0,59,0 13,0,76,0,38,0,74,0,14,0,41,0 62,0,73,0,26,0,58,0,29,0,66,0 43,0,90,0,69,0,68,0,53,0,5,0 27,0,20,0,65,0,40,0,44,0,80,0 17,0,64,0,2,0,89,0,67,0,4,0 7,0,52,0,32,0,42,0,54,0,82,0 45,0,60,0,8,0,39,0,78,0,79,0 61,0,51,0,33,0,36,0,30,0,6,0 21,0,10,0,46,0,19,0,34,0,16,0 50,0,88,0,3,0,18,0,81,0,37,0 85,0,49,0,11,0,1,0,23,0,22,0 43,0,40,0,48,0,75,0,77,0,29,0 66,0,67,0,28,0,55,0,76,0,15,0 65,0,59,0,47,0,13,0,5,0,58,0 12,0,14,0,32,0,84,0,86,0,45,0 9,0,4,0,64,0,62,0,7,0,90,0 44,0,89,0,51,0,26,0,53,0,56,0 73,0,3,0,74,0,2,0,25,0,33,0 20,0,81,0,8,0,72,0,54,0,85,0 42,0,21,0,22,0,88,0,23,0,17,0 10,0,80,0,82,0,41,0,61,0,39,0 31,0,18,0,34,0,1,0,87,0,79,0 70,0,71,0,6,0,37,0,52,0,24,0 60,0,68,0,30,0,63,0,50,0,46,0 16,0,35,0,78,0,11,0,38,0,57,0 19,0,69,0,36,0,49,0,27,0,83,0 8,0,77,0,84,0,74,0,20,0,64,0 76,0,53,0,4,0,23,0,47,0,85,0 54,0,44,0,33,0,28,0,21,0,75,0 43,0,82,0,67,0,73,0,51,0,10,0 72,0,24,0,13,0,66,0,31,0,88,0 1,0,65,0,17,0,39,0,63,0,45,0 15,0,11,0,61,0,32,0,68,0,34,0 57,0,18,0,58,0,86,0,69,0,70,0 3,0,9,0,52,0,36,0,55,0,59,0 90,0,27,0,78,0,46,0,48,0,89,0 6,0,81,0,38,0,40,0,25,0,62,0 26,0,80,0,71,0,22,0,14,0,19,0 35,0,83,0,5,0,37,0,29,0,60,0 42,0,16,0,50,0,41,0,79,0,49,0 7,0,87,0,56,0,2,0,30,0,12,0 63,0,33,0,13,0,15,0,85,0,82,0 4,0,84,0,73,0,68,0,28,0,52,0 9,0,75,0,67,0,21,0,3,0,24,0 57,0,69,0,1,0,10,0,59,0,88,0 89,0,36,0,18,0,71,0,38,0,25,0 14,0,44,0,83,0,48,0,62,0,8,0 31,0,76,0,39,0,16,0,22,0,46,0 90,0,35,0,58,0,74,0,61,0,56,0 51,0,49,0,29,0,60,0,11,0,27,0 47,0,41,0,64,0,55,0,32,0,87,0 80,0,20,0,37,0,26,0,30,0,7,0 86,0,79,0,72,0,65,0,6,0,23,0 19,0,77,0,81,0,66,0,5,0,17,0 34,0,54,0,12,0,40,0,50,0,78,0 70,0,45,0,42,0,2,0,43,0,53,0 ================================================ FILE: schedules/90_14.csv ================================================ 7,0,8,0,36,0,54,0,29,0,71,0 78,0,90,0,74,0,65,0,10,0,9,0 69,0,59,0,41,0,52,0,62,0,86,0 27,0,46,0,33,0,85,0,13,0,53,0 60,0,30,0,58,0,37,0,42,0,11,0 20,0,72,0,50,0,77,0,80,0,83,0 24,0,56,0,55,0,31,0,21,0,70,0 63,0,23,0,22,0,81,0,6,0,73,0 2,0,49,0,64,0,87,0,12,0,68,0 4,0,67,0,25,0,3,0,76,0,16,0 18,0,82,0,43,0,28,0,75,0,35,0 32,0,15,0,39,0,1,0,84,0,26,0 44,0,45,0,57,0,38,0,66,0,79,0 89,0,14,0,88,0,34,0,61,0,48,0 19,0,51,0,5,0,47,0,40,0,17,0 41,0,20,0,70,0,27,0,30,0,90,0 12,0,74,0,86,0,54,0,52,0,53,0 67,0,24,0,42,0,10,0,46,0,50,0 78,0,72,0,82,0,11,0,87,0,59,0 76,0,62,0,63,0,39,0,64,0,26,0 29,0,6,0,85,0,69,0,68,0,35,0 88,0,80,0,81,0,71,0,1,0,49,0 60,0,66,0,2,0,77,0,73,0,34,0 51,0,13,0,84,0,23,0,79,0,16,0 58,0,75,0,17,0,44,0,65,0,31,0 56,0,15,0,57,0,5,0,89,0,83,0 55,0,25,0,47,0,43,0,38,0,61,0 32,0,37,0,14,0,33,0,8,0,4,0 40,0,48,0,19,0,22,0,28,0,18,0 7,0,9,0,3,0,21,0,45,0,36,0 12,0,1,0,82,0,67,0,60,0,41,0 64,0,90,0,80,0,13,0,42,0,66,0 10,0,79,0,34,0,54,0,75,0,70,0 59,0,77,0,24,0,88,0,58,0,84,0 55,0,11,0,68,0,57,0,71,0,17,0 89,0,44,0,76,0,37,0,27,0,86,0 74,0,38,0,31,0,28,0,73,0,51,0 50,0,40,0,23,0,48,0,4,0,43,0 56,0,85,0,16,0,7,0,63,0,14,0 53,0,22,0,69,0,21,0,20,0,87,0 52,0,72,0,45,0,39,0,6,0,49,0 36,0,35,0,61,0,78,0,46,0,32,0 2,0,26,0,8,0,83,0,9,0,18,0 33,0,5,0,81,0,19,0,65,0,25,0 62,0,29,0,47,0,15,0,3,0,30,0 27,0,28,0,60,0,66,0,51,0,50,0 84,0,11,0,44,0,67,0,63,0,74,0 1,0,48,0,20,0,68,0,13,0,31,0 39,0,52,0,77,0,90,0,57,0,89,0 56,0,23,0,58,0,32,0,64,0,54,0 73,0,83,0,40,0,14,0,78,0,79,0 46,0,69,0,9,0,5,0,88,0,22,0 65,0,38,0,6,0,2,0,18,0,4,0 25,0,3,0,17,0,72,0,10,0,12,0 80,0,24,0,7,0,35,0,81,0,30,0 19,0,75,0,36,0,41,0,55,0,37,0 76,0,29,0,21,0,82,0,61,0,33,0 71,0,59,0,45,0,85,0,42,0,34,0 49,0,62,0,8,0,47,0,53,0,70,0 26,0,87,0,15,0,16,0,43,0,86,0 88,0,6,0,31,0,14,0,50,0,64,0 56,0,11,0,40,0,13,0,3,0,44,0 10,0,30,0,38,0,52,0,83,0,63,0 37,0,39,0,78,0,2,0,54,0,25,0 58,0,90,0,76,0,69,0,84,0,55,0 79,0,42,0,27,0,24,0,22,0,4,0 17,0,41,0,74,0,46,0,77,0,61,0 70,0,36,0,86,0,45,0,67,0,1,0 26,0,65,0,53,0,60,0,80,0,47,0 23,0,8,0,20,0,21,0,28,0,15,0 51,0,35,0,33,0,59,0,57,0,48,0 34,0,87,0,18,0,7,0,81,0,85,0 43,0,9,0,89,0,49,0,73,0,29,0 66,0,75,0,68,0,5,0,72,0,62,0 19,0,71,0,12,0,82,0,16,0,32,0 4,0,17,0,63,0,83,0,78,0,1,0 14,0,3,0,46,0,90,0,60,0,65,0 25,0,22,0,20,0,36,0,64,0,44,0 55,0,40,0,79,0,59,0,33,0,80,0 58,0,10,0,48,0,85,0,86,0,8,0 18,0,37,0,29,0,23,0,57,0,52,0 26,0,24,0,47,0,2,0,45,0,73,0 49,0,50,0,82,0,5,0,74,0,7,0 27,0,67,0,38,0,35,0,56,0,72,0 54,0,41,0,28,0,88,0,42,0,16,0 51,0,87,0,62,0,34,0,9,0,76,0 30,0,21,0,43,0,68,0,84,0,19,0 61,0,31,0,39,0,53,0,15,0,71,0 13,0,75,0,81,0,12,0,69,0,77,0 32,0,6,0,11,0,89,0,66,0,70,0 49,0,60,0,3,0,48,0,78,0,22,0 55,0,45,0,63,0,27,0,65,0,82,0 52,0,14,0,44,0,26,0,50,0,41,0 4,0,9,0,72,0,20,0,57,0,58,0 76,0,10,0,19,0,2,0,59,0,88,0 71,0,42,0,73,0,62,0,33,0,15,0 17,0,39,0,7,0,37,0,38,0,13,0 5,0,6,0,87,0,79,0,32,0,8,0 35,0,16,0,70,0,21,0,64,0,74,0 68,0,80,0,86,0,34,0,23,0,24,0 53,0,25,0,28,0,56,0,29,0,90,0 40,0,89,0,31,0,84,0,81,0,36,0 85,0,61,0,47,0,77,0,75,0,67,0 1,0,30,0,54,0,69,0,51,0,18,0 66,0,11,0,83,0,46,0,43,0,12,0 87,0,71,0,82,0,44,0,37,0,6,0 49,0,32,0,57,0,17,0,59,0,14,0 64,0,72,0,79,0,15,0,48,0,41,0 58,0,62,0,78,0,45,0,20,0,33,0 8,0,89,0,60,0,25,0,24,0,35,0 74,0,56,0,42,0,76,0,68,0,47,0 34,0,28,0,67,0,55,0,9,0,13,0 19,0,3,0,21,0,63,0,66,0,80,0 30,0,46,0,86,0,75,0,39,0,40,0 5,0,29,0,77,0,31,0,1,0,16,0 52,0,27,0,61,0,2,0,43,0,81,0 23,0,83,0,65,0,88,0,7,0,69,0 51,0,54,0,4,0,26,0,90,0,11,0 22,0,38,0,70,0,50,0,12,0,85,0 36,0,53,0,73,0,84,0,10,0,18,0 37,0,15,0,25,0,21,0,67,0,59,0 8,0,48,0,80,0,45,0,56,0,17,0 57,0,28,0,78,0,24,0,6,0,62,0 41,0,63,0,29,0,40,0,87,0,2,0 60,0,52,0,71,0,75,0,9,0,64,0 11,0,51,0,14,0,20,0,86,0,81,0 32,0,76,0,61,0,30,0,13,0,50,0 88,0,47,0,73,0,69,0,70,0,4,0 31,0,43,0,90,0,22,0,7,0,72,0 36,0,33,0,85,0,39,0,44,0,74,0 27,0,16,0,18,0,68,0,83,0,3,0 35,0,77,0,79,0,12,0,65,0,49,0 84,0,89,0,38,0,54,0,10,0,66,0 55,0,1,0,5,0,23,0,42,0,53,0 34,0,26,0,46,0,82,0,19,0,58,0 45,0,88,0,50,0,37,0,51,0,56,0 7,0,2,0,6,0,60,0,73,0,86,0 70,0,76,0,28,0,81,0,17,0,52,0 69,0,8,0,57,0,61,0,40,0,63,0 33,0,77,0,30,0,22,0,87,0,9,0 62,0,12,0,18,0,4,0,80,0,44,0 64,0,24,0,65,0,1,0,29,0,11,0 78,0,84,0,16,0,47,0,27,0,34,0 3,0,54,0,43,0,5,0,46,0,85,0 83,0,32,0,59,0,90,0,75,0,53,0 10,0,67,0,35,0,58,0,41,0,39,0 71,0,14,0,13,0,72,0,89,0,21,0 15,0,82,0,79,0,38,0,36,0,68,0 19,0,31,0,23,0,25,0,49,0,42,0 74,0,48,0,26,0,20,0,55,0,66,0 86,0,63,0,18,0,17,0,50,0,33,0 37,0,84,0,2,0,80,0,46,0,70,0 59,0,3,0,61,0,87,0,28,0,1,0 69,0,24,0,16,0,39,0,43,0,56,0 12,0,58,0,9,0,6,0,14,0,27,0 35,0,13,0,83,0,47,0,22,0,71,0 54,0,81,0,65,0,44,0,68,0,72,0 23,0,85,0,10,0,31,0,82,0,62,0 30,0,66,0,26,0,36,0,88,0,25,0 75,0,4,0,5,0,45,0,89,0,74,0 49,0,11,0,15,0,34,0,90,0,40,0 64,0,53,0,57,0,67,0,19,0,7,0 21,0,48,0,32,0,73,0,41,0,52,0 77,0,42,0,55,0,78,0,8,0,51,0 29,0,20,0,38,0,79,0,60,0,76,0 9,0,44,0,47,0,23,0,59,0,1,0 22,0,66,0,17,0,82,0,24,0,14,0 6,0,84,0,33,0,56,0,75,0,26,0 2,0,28,0,80,0,58,0,5,0,15,0 18,0,89,0,50,0,64,0,16,0,46,0 35,0,53,0,34,0,72,0,3,0,37,0 41,0,85,0,21,0,51,0,83,0,49,0 39,0,73,0,27,0,11,0,19,0,8,0 65,0,36,0,43,0,76,0,13,0,57,0 12,0,78,0,45,0,29,0,30,0,31,0 79,0,74,0,71,0,69,0,25,0,86,0 7,0,10,0,68,0,55,0,4,0,61,0 48,0,77,0,70,0,42,0,54,0,63,0 40,0,81,0,32,0,38,0,62,0,60,0 20,0,90,0,52,0,87,0,67,0,88,0 75,0,33,0,16,0,3,0,2,0,23,0 47,0,21,0,50,0,11,0,58,0,36,0 59,0,30,0,34,0,56,0,8,0,6,0 84,0,9,0,85,0,86,0,65,0,41,0 82,0,64,0,4,0,51,0,53,0,43,0 57,0,31,0,54,0,76,0,27,0,80,0 45,0,68,0,25,0,28,0,77,0,14,0 73,0,5,0,90,0,44,0,61,0,12,0 71,0,24,0,46,0,38,0,48,0,63,0 66,0,40,0,15,0,7,0,52,0,35,0 72,0,81,0,42,0,32,0,29,0,74,0 1,0,10,0,37,0,20,0,49,0,26,0 62,0,79,0,22,0,89,0,67,0,17,0 13,0,78,0,69,0,70,0,19,0,18,0 83,0,39,0,88,0,55,0,60,0,87,0 53,0,16,0,61,0,45,0,11,0,9,0 12,0,59,0,75,0,24,0,48,0,36,0 34,0,64,0,86,0,5,0,38,0,21,0 3,0,50,0,81,0,73,0,84,0,57,0 37,0,65,0,20,0,40,0,43,0,42,0 46,0,44,0,15,0,10,0,77,0,6,0 69,0,49,0,67,0,33,0,26,0,28,0 7,0,1,0,62,0,58,0,74,0,27,0 70,0,83,0,56,0,82,0,29,0,39,0 41,0,76,0,66,0,71,0,78,0,23,0 90,0,2,0,17,0,89,0,85,0,30,0 60,0,13,0,4,0,52,0,8,0,31,0 72,0,88,0,63,0,18,0,79,0,47,0 51,0,68,0,22,0,25,0,80,0,32,0 14,0,35,0,87,0,55,0,54,0,19,0 ================================================ FILE: schedules/90_2.csv ================================================ 85,0,23,0,31,0,9,0,22,0,74,0 57,0,48,0,25,0,56,0,46,0,79,0 30,0,21,0,60,0,10,0,6,0,4,0 86,0,81,0,24,0,42,0,65,0,29,0 20,0,58,0,88,0,70,0,72,0,3,0 33,0,82,0,84,0,61,0,66,0,49,0 39,0,90,0,50,0,1,0,44,0,16,0 27,0,15,0,19,0,18,0,64,0,37,0 52,0,78,0,68,0,14,0,67,0,34,0 38,0,32,0,40,0,75,0,8,0,36,0 28,0,35,0,87,0,51,0,12,0,80,0 7,0,73,0,77,0,55,0,11,0,71,0 41,0,83,0,17,0,47,0,53,0,54,0 76,0,45,0,26,0,63,0,59,0,62,0 13,0,43,0,2,0,89,0,69,0,5,0 72,0,74,0,1,0,24,0,48,0,60,0 34,0,85,0,18,0,57,0,33,0,81,0 19,0,9,0,82,0,38,0,29,0,88,0 6,0,15,0,46,0,67,0,39,0,58,0 73,0,64,0,3,0,78,0,36,0,87,0 75,0,70,0,71,0,23,0,35,0,41,0 63,0,53,0,84,0,50,0,65,0,4,0 56,0,61,0,47,0,43,0,59,0,44,0 54,0,21,0,5,0,28,0,86,0,25,0 80,0,66,0,55,0,68,0,26,0,37,0 42,0,31,0,8,0,77,0,83,0,76,0 14,0,79,0,10,0,32,0,27,0,13,0 69,0,22,0,45,0,17,0,16,0,40,0 11,0,89,0,62,0,30,0,20,0,51,0 12,0,7,0,49,0,90,0,2,0,52,0 ================================================ FILE: schedules/90_3.csv ================================================ 27,0,34,0,19,0,55,0,39,0,84,0 47,0,11,0,73,0,13,0,23,0,35,0 44,0,51,0,29,0,82,0,12,0,22,0 8,0,41,0,37,0,5,0,38,0,71,0 58,0,53,0,49,0,20,0,16,0,76,0 15,0,61,0,18,0,69,0,25,0,85,0 31,0,88,0,80,0,66,0,40,0,77,0 52,0,14,0,48,0,81,0,9,0,54,0 24,0,63,0,87,0,45,0,74,0,89,0 28,0,59,0,62,0,46,0,83,0,21,0 2,0,50,0,6,0,57,0,36,0,70,0 10,0,68,0,60,0,78,0,65,0,67,0 90,0,75,0,32,0,86,0,26,0,17,0 64,0,42,0,1,0,72,0,79,0,4,0 56,0,30,0,43,0,3,0,7,0,33,0 81,0,34,0,31,0,51,0,69,0,58,0 29,0,18,0,5,0,48,0,73,0,63,0 71,0,15,0,45,0,35,0,59,0,52,0 19,0,12,0,53,0,9,0,47,0,89,0 65,0,74,0,38,0,88,0,27,0,23,0 46,0,86,0,20,0,55,0,25,0,14,0 13,0,49,0,39,0,66,0,2,0,37,0 60,0,75,0,22,0,21,0,3,0,41,0 85,0,76,0,70,0,68,0,4,0,56,0 26,0,84,0,61,0,7,0,83,0,42,0 8,0,72,0,40,0,30,0,78,0,87,0 6,0,82,0,17,0,43,0,16,0,67,0 64,0,57,0,44,0,24,0,80,0,28,0 36,0,11,0,32,0,77,0,62,0,1,0 79,0,90,0,54,0,10,0,50,0,33,0 58,0,66,0,3,0,19,0,29,0,14,0 70,0,69,0,39,0,52,0,74,0,46,0 26,0,63,0,55,0,65,0,9,0,49,0 7,0,59,0,73,0,22,0,34,0,53,0 89,0,76,0,86,0,27,0,8,0,2,0 37,0,88,0,81,0,61,0,64,0,75,0 21,0,25,0,67,0,38,0,11,0,12,0 47,0,83,0,51,0,17,0,87,0,18,0 35,0,31,0,33,0,60,0,44,0,32,0 72,0,24,0,77,0,84,0,6,0,71,0 16,0,41,0,85,0,36,0,28,0,54,0 20,0,40,0,23,0,68,0,79,0,15,0 5,0,42,0,43,0,57,0,90,0,62,0 1,0,56,0,78,0,82,0,45,0,50,0 4,0,48,0,80,0,13,0,10,0,30,0 ================================================ FILE: schedules/90_4.csv ================================================ 69,0,30,0,77,0,5,0,48,0,67,0 59,0,90,0,47,0,45,0,7,0,79,0 15,0,28,0,87,0,61,0,4,0,83,0 11,0,42,0,56,0,3,0,34,0,19,0 52,0,85,0,29,0,12,0,22,0,51,0 71,0,24,0,35,0,66,0,9,0,31,0 49,0,81,0,18,0,75,0,6,0,55,0 86,0,16,0,89,0,13,0,14,0,36,0 72,0,39,0,82,0,2,0,44,0,84,0 65,0,57,0,32,0,64,0,58,0,20,0 50,0,80,0,53,0,26,0,33,0,41,0 68,0,27,0,10,0,54,0,8,0,21,0 76,0,40,0,25,0,60,0,62,0,37,0 23,0,1,0,38,0,17,0,88,0,78,0 43,0,63,0,73,0,46,0,70,0,74,0 56,0,14,0,87,0,81,0,67,0,90,0 61,0,79,0,66,0,11,0,52,0,86,0 65,0,42,0,18,0,44,0,13,0,59,0 51,0,32,0,53,0,31,0,30,0,82,0 20,0,16,0,48,0,34,0,71,0,39,0 24,0,55,0,7,0,80,0,10,0,72,0 76,0,83,0,50,0,22,0,19,0,47,0 62,0,29,0,77,0,35,0,63,0,57,0 3,0,54,0,33,0,12,0,17,0,58,0 4,0,64,0,21,0,25,0,73,0,23,0 26,0,36,0,85,0,28,0,1,0,43,0 70,0,8,0,37,0,15,0,2,0,78,0 49,0,45,0,40,0,38,0,89,0,46,0 68,0,74,0,41,0,6,0,69,0,88,0 27,0,60,0,5,0,9,0,84,0,75,0 44,0,87,0,79,0,77,0,16,0,55,0 67,0,50,0,13,0,20,0,31,0,61,0 19,0,58,0,59,0,21,0,35,0,52,0 57,0,43,0,24,0,42,0,47,0,33,0 37,0,82,0,10,0,23,0,29,0,11,0 26,0,22,0,32,0,18,0,71,0,8,0 14,0,3,0,25,0,45,0,41,0,65,0 12,0,1,0,49,0,68,0,63,0,60,0 75,0,46,0,78,0,66,0,53,0,62,0 64,0,38,0,9,0,72,0,76,0,30,0 27,0,83,0,6,0,2,0,34,0,40,0 80,0,84,0,88,0,73,0,28,0,86,0 5,0,74,0,4,0,36,0,7,0,56,0 70,0,51,0,54,0,39,0,90,0,69,0 17,0,15,0,89,0,48,0,85,0,81,0 20,0,82,0,77,0,12,0,24,0,14,0 33,0,52,0,46,0,55,0,1,0,32,0 61,0,75,0,22,0,30,0,63,0,37,0 66,0,34,0,18,0,87,0,50,0,29,0 67,0,40,0,8,0,79,0,72,0,42,0 86,0,5,0,6,0,76,0,59,0,43,0 78,0,44,0,36,0,25,0,35,0,68,0 71,0,7,0,21,0,41,0,83,0,81,0 31,0,84,0,70,0,10,0,64,0,17,0 13,0,9,0,26,0,49,0,54,0,57,0 45,0,60,0,39,0,85,0,58,0,56,0 16,0,88,0,2,0,90,0,4,0,3,0 69,0,11,0,47,0,89,0,53,0,73,0 62,0,19,0,48,0,65,0,38,0,28,0 23,0,15,0,74,0,27,0,80,0,51,0 ================================================ FILE: schedules/90_5.csv ================================================ 86,0,60,0,87,0,84,0,36,0,63,0 70,0,82,0,44,0,47,0,27,0,42,0 34,0,72,0,49,0,12,0,50,0,64,0 14,0,52,0,73,0,24,0,13,0,16,0 3,0,35,0,69,0,45,0,74,0,65,0 81,0,39,0,59,0,80,0,46,0,18,0 26,0,43,0,68,0,22,0,8,0,29,0 90,0,55,0,71,0,77,0,88,0,78,0 9,0,58,0,67,0,53,0,41,0,54,0 48,0,28,0,21,0,83,0,17,0,33,0 15,0,32,0,51,0,11,0,75,0,5,0 76,0,20,0,66,0,10,0,31,0,85,0 6,0,7,0,4,0,37,0,57,0,19,0 79,0,89,0,23,0,30,0,38,0,1,0 2,0,40,0,56,0,62,0,25,0,61,0 12,0,65,0,87,0,88,0,80,0,22,0 27,0,58,0,16,0,26,0,46,0,72,0 8,0,47,0,9,0,17,0,45,0,39,0 44,0,68,0,83,0,74,0,86,0,77,0 70,0,36,0,78,0,14,0,31,0,35,0 84,0,90,0,13,0,69,0,76,0,67,0 64,0,38,0,10,0,6,0,75,0,43,0 15,0,1,0,28,0,56,0,41,0,34,0 81,0,23,0,49,0,37,0,48,0,51,0 40,0,11,0,60,0,4,0,18,0,42,0 66,0,25,0,63,0,89,0,3,0,24,0 79,0,54,0,33,0,71,0,32,0,62,0 50,0,21,0,61,0,7,0,52,0,20,0 82,0,19,0,55,0,59,0,5,0,73,0 29,0,85,0,30,0,57,0,53,0,2,0 83,0,72,0,87,0,15,0,69,0,47,0 14,0,48,0,27,0,39,0,76,0,65,0 26,0,17,0,80,0,11,0,10,0,1,0 89,0,49,0,44,0,8,0,58,0,60,0 75,0,37,0,22,0,90,0,31,0,28,0 38,0,32,0,4,0,78,0,86,0,16,0 67,0,63,0,61,0,6,0,55,0,74,0 54,0,40,0,12,0,19,0,52,0,45,0 29,0,77,0,41,0,36,0,51,0,33,0 59,0,53,0,62,0,3,0,13,0,21,0 34,0,2,0,70,0,5,0,7,0,18,0 35,0,71,0,30,0,66,0,50,0,81,0 57,0,56,0,24,0,82,0,43,0,46,0 88,0,25,0,42,0,68,0,23,0,20,0 84,0,9,0,79,0,85,0,64,0,73,0 8,0,15,0,86,0,12,0,14,0,67,0 36,0,11,0,22,0,55,0,83,0,39,0 19,0,16,0,65,0,89,0,29,0,62,0 78,0,45,0,75,0,49,0,1,0,61,0 6,0,18,0,41,0,90,0,44,0,30,0 5,0,48,0,13,0,63,0,54,0,72,0 57,0,50,0,23,0,26,0,70,0,87,0 74,0,40,0,66,0,59,0,34,0,84,0 58,0,33,0,25,0,80,0,4,0,85,0 73,0,37,0,46,0,21,0,10,0,2,0 53,0,76,0,38,0,35,0,68,0,24,0 32,0,20,0,27,0,17,0,60,0,3,0 31,0,77,0,7,0,82,0,79,0,81,0 43,0,71,0,69,0,42,0,9,0,28,0 52,0,64,0,47,0,88,0,51,0,56,0 34,0,39,0,57,0,67,0,44,0,75,0 16,0,85,0,5,0,83,0,40,0,1,0 10,0,90,0,36,0,65,0,8,0,25,0 37,0,14,0,62,0,30,0,58,0,84,0 29,0,24,0,11,0,61,0,23,0,59,0 46,0,55,0,7,0,49,0,15,0,53,0 19,0,3,0,42,0,41,0,79,0,87,0 45,0,72,0,88,0,86,0,33,0,82,0 71,0,31,0,74,0,27,0,2,0,13,0 26,0,78,0,56,0,12,0,21,0,66,0 77,0,52,0,80,0,32,0,69,0,48,0 51,0,38,0,50,0,60,0,9,0,22,0 76,0,89,0,17,0,4,0,64,0,81,0 68,0,6,0,73,0,28,0,70,0,54,0 43,0,18,0,63,0,47,0,20,0,35,0 ================================================ FILE: schedules/90_6.csv ================================================ 45,0,3,0,22,0,51,0,18,0,56,0 11,0,61,0,30,0,40,0,4,0,72,0 14,0,84,0,60,0,33,0,39,0,32,0 25,0,81,0,10,0,73,0,75,0,21,0 6,0,57,0,34,0,86,0,12,0,47,0 2,0,9,0,37,0,42,0,76,0,68,0 19,0,90,0,27,0,16,0,55,0,8,0 85,0,88,0,70,0,28,0,44,0,53,0 64,0,59,0,1,0,46,0,17,0,49,0 7,0,82,0,69,0,5,0,65,0,13,0 29,0,41,0,26,0,35,0,66,0,79,0 38,0,52,0,74,0,80,0,50,0,83,0 58,0,23,0,63,0,43,0,89,0,15,0 24,0,31,0,54,0,20,0,71,0,48,0 67,0,77,0,36,0,62,0,87,0,78,0 32,0,40,0,16,0,9,0,28,0,45,0 46,0,12,0,72,0,70,0,10,0,84,0 44,0,6,0,73,0,14,0,2,0,49,0 90,0,68,0,39,0,86,0,85,0,51,0 59,0,55,0,3,0,82,0,41,0,53,0 8,0,66,0,23,0,57,0,56,0,69,0 43,0,11,0,74,0,18,0,24,0,17,0 87,0,35,0,47,0,19,0,21,0,42,0 4,0,80,0,81,0,89,0,67,0,54,0 36,0,26,0,88,0,52,0,25,0,7,0 33,0,50,0,20,0,78,0,75,0,64,0 76,0,62,0,15,0,65,0,83,0,71,0 5,0,37,0,79,0,1,0,58,0,77,0 22,0,61,0,13,0,63,0,34,0,48,0 60,0,27,0,38,0,31,0,29,0,30,0 72,0,56,0,82,0,6,0,19,0,39,0 12,0,41,0,85,0,67,0,32,0,8,0 14,0,11,0,46,0,55,0,87,0,45,0 35,0,78,0,81,0,23,0,86,0,18,0 68,0,49,0,16,0,54,0,74,0,15,0 43,0,51,0,7,0,80,0,76,0,79,0 52,0,48,0,73,0,65,0,4,0,37,0 61,0,53,0,1,0,60,0,47,0,50,0 59,0,62,0,31,0,58,0,34,0,25,0 77,0,22,0,69,0,88,0,42,0,30,0 13,0,40,0,83,0,66,0,24,0,33,0 63,0,29,0,75,0,5,0,3,0,90,0 9,0,26,0,64,0,44,0,10,0,27,0 2,0,38,0,70,0,20,0,21,0,57,0 84,0,71,0,17,0,89,0,28,0,36,0 67,0,68,0,56,0,7,0,48,0,60,0 45,0,52,0,86,0,49,0,82,0,8,0 16,0,41,0,69,0,39,0,1,0,81,0 87,0,15,0,13,0,4,0,50,0,51,0 18,0,29,0,19,0,88,0,40,0,58,0 63,0,80,0,32,0,53,0,62,0,11,0 64,0,76,0,73,0,30,0,24,0,12,0 70,0,14,0,65,0,77,0,66,0,27,0 44,0,46,0,54,0,5,0,47,0,38,0 85,0,37,0,21,0,59,0,83,0,84,0 6,0,20,0,35,0,36,0,61,0,90,0 23,0,34,0,17,0,26,0,75,0,2,0 74,0,10,0,28,0,33,0,55,0,31,0 71,0,25,0,72,0,43,0,9,0,22,0 89,0,79,0,42,0,78,0,3,0,57,0 48,0,11,0,81,0,70,0,64,0,8,0 65,0,56,0,86,0,32,0,38,0,24,0 30,0,68,0,84,0,87,0,44,0,41,0 49,0,47,0,36,0,37,0,40,0,51,0 27,0,80,0,82,0,73,0,88,0,17,0 76,0,45,0,75,0,74,0,1,0,6,0 25,0,55,0,77,0,12,0,61,0,15,0 83,0,18,0,57,0,9,0,14,0,31,0 78,0,60,0,28,0,90,0,43,0,69,0 7,0,66,0,54,0,42,0,63,0,10,0 50,0,62,0,16,0,29,0,46,0,23,0 2,0,4,0,79,0,85,0,19,0,22,0 71,0,34,0,33,0,53,0,52,0,35,0 89,0,39,0,5,0,20,0,59,0,26,0 13,0,21,0,3,0,58,0,72,0,67,0 41,0,47,0,31,0,15,0,88,0,45,0 78,0,17,0,40,0,76,0,38,0,25,0 56,0,83,0,44,0,36,0,11,0,12,0 63,0,87,0,24,0,57,0,82,0,37,0 14,0,42,0,61,0,74,0,64,0,85,0 30,0,65,0,9,0,81,0,53,0,90,0 89,0,22,0,10,0,52,0,16,0,60,0 5,0,62,0,73,0,70,0,43,0,68,0 46,0,19,0,20,0,28,0,80,0,34,0 50,0,32,0,18,0,72,0,69,0,79,0 48,0,26,0,86,0,1,0,33,0,3,0 54,0,8,0,6,0,77,0,13,0,29,0 55,0,58,0,75,0,7,0,35,0,84,0 66,0,71,0,51,0,59,0,67,0,2,0 39,0,49,0,4,0,23,0,27,0,21,0 ================================================ FILE: schedules/90_7.csv ================================================ 70,0,6,0,77,0,69,0,31,0,34,0 8,0,62,0,83,0,45,0,57,0,43,0 19,0,9,0,71,0,30,0,64,0,72,0 14,0,59,0,54,0,22,0,66,0,32,0 78,0,90,0,1,0,52,0,44,0,60,0 42,0,68,0,84,0,61,0,2,0,55,0 3,0,40,0,23,0,4,0,10,0,11,0 16,0,7,0,39,0,82,0,87,0,49,0 20,0,46,0,38,0,74,0,88,0,73,0 85,0,47,0,15,0,41,0,5,0,58,0 12,0,18,0,56,0,17,0,79,0,76,0 63,0,50,0,75,0,25,0,48,0,37,0 89,0,33,0,28,0,51,0,26,0,36,0 29,0,21,0,35,0,13,0,81,0,67,0 53,0,86,0,80,0,24,0,65,0,27,0 60,0,7,0,71,0,55,0,59,0,3,0 74,0,68,0,10,0,54,0,30,0,6,0 32,0,69,0,52,0,57,0,20,0,4,0 2,0,18,0,40,0,39,0,85,0,38,0 37,0,66,0,42,0,1,0,87,0,56,0 77,0,17,0,5,0,22,0,62,0,75,0 41,0,79,0,46,0,16,0,70,0,33,0 81,0,78,0,73,0,65,0,31,0,8,0 25,0,14,0,61,0,86,0,47,0,64,0 58,0,28,0,12,0,35,0,49,0,50,0 21,0,26,0,88,0,27,0,11,0,34,0 48,0,44,0,9,0,23,0,83,0,53,0 63,0,36,0,72,0,43,0,80,0,67,0 13,0,15,0,76,0,82,0,89,0,19,0 29,0,24,0,51,0,90,0,45,0,84,0 55,0,79,0,73,0,39,0,37,0,62,0 6,0,33,0,25,0,71,0,1,0,4,0 2,0,81,0,64,0,22,0,10,0,52,0 30,0,60,0,57,0,42,0,28,0,16,0 44,0,35,0,54,0,20,0,75,0,70,0 58,0,9,0,3,0,56,0,38,0,61,0 53,0,77,0,41,0,66,0,63,0,19,0 85,0,34,0,24,0,78,0,13,0,68,0 5,0,48,0,29,0,88,0,72,0,82,0 46,0,69,0,12,0,51,0,67,0,87,0 47,0,31,0,80,0,45,0,89,0,21,0 59,0,17,0,65,0,40,0,83,0,74,0 23,0,8,0,27,0,7,0,32,0,15,0 86,0,49,0,43,0,76,0,84,0,26,0 18,0,11,0,50,0,90,0,36,0,14,0 41,0,52,0,24,0,61,0,71,0,39,0 64,0,70,0,53,0,62,0,3,0,68,0 57,0,38,0,25,0,78,0,67,0,77,0 60,0,5,0,87,0,34,0,73,0,10,0 83,0,22,0,30,0,88,0,37,0,89,0 79,0,4,0,66,0,29,0,44,0,28,0 9,0,27,0,42,0,63,0,54,0,46,0 43,0,85,0,48,0,14,0,56,0,35,0 72,0,26,0,15,0,90,0,2,0,65,0 45,0,76,0,1,0,11,0,7,0,75,0 74,0,13,0,31,0,33,0,23,0,12,0 84,0,80,0,50,0,16,0,81,0,32,0 19,0,36,0,49,0,47,0,40,0,69,0 82,0,58,0,55,0,8,0,17,0,6,0 21,0,86,0,59,0,51,0,18,0,20,0 87,0,27,0,79,0,89,0,85,0,77,0 37,0,24,0,4,0,5,0,38,0,70,0 65,0,43,0,11,0,25,0,30,0,29,0 2,0,67,0,60,0,9,0,76,0,33,0 12,0,45,0,32,0,48,0,41,0,73,0 90,0,35,0,22,0,80,0,7,0,68,0 82,0,28,0,47,0,56,0,83,0,52,0 6,0,23,0,66,0,50,0,78,0,21,0 16,0,54,0,61,0,18,0,69,0,26,0 81,0,86,0,17,0,88,0,44,0,3,0 63,0,13,0,10,0,57,0,55,0,49,0 74,0,19,0,34,0,8,0,14,0,1,0 62,0,20,0,42,0,15,0,31,0,71,0 51,0,75,0,72,0,58,0,53,0,40,0 39,0,59,0,64,0,36,0,46,0,84,0 38,0,41,0,23,0,80,0,60,0,29,0 83,0,35,0,2,0,24,0,25,0,69,0 90,0,85,0,82,0,9,0,73,0,86,0 27,0,70,0,18,0,81,0,43,0,28,0 1,0,89,0,5,0,65,0,12,0,63,0 20,0,37,0,16,0,76,0,47,0,6,0 67,0,88,0,31,0,32,0,55,0,19,0 34,0,39,0,57,0,3,0,75,0,66,0 50,0,30,0,52,0,7,0,26,0,46,0 84,0,13,0,40,0,62,0,44,0,14,0 42,0,22,0,48,0,11,0,74,0,58,0 36,0,15,0,61,0,78,0,10,0,79,0 45,0,68,0,33,0,72,0,56,0,59,0 8,0,51,0,49,0,77,0,4,0,64,0 71,0,87,0,21,0,53,0,17,0,54,0 82,0,12,0,75,0,60,0,43,0,24,0 3,0,46,0,31,0,28,0,25,0,5,0 38,0,76,0,30,0,34,0,35,0,63,0 73,0,84,0,67,0,66,0,18,0,52,0 62,0,19,0,11,0,61,0,6,0,81,0 65,0,39,0,14,0,70,0,23,0,42,0 88,0,57,0,47,0,68,0,51,0,9,0 72,0,1,0,54,0,79,0,83,0,86,0 44,0,36,0,7,0,74,0,41,0,21,0 69,0,10,0,33,0,50,0,8,0,85,0 80,0,26,0,17,0,48,0,64,0,20,0 53,0,56,0,89,0,49,0,32,0,90,0 29,0,22,0,55,0,87,0,15,0,40,0 58,0,37,0,77,0,45,0,71,0,13,0 78,0,4,0,16,0,27,0,59,0,2,0 ================================================ FILE: schedules/90_8.csv ================================================ 62,0,7,0,1,0,5,0,29,0,86,0 52,0,70,0,77,0,27,0,89,0,3,0 73,0,63,0,69,0,20,0,11,0,43,0 58,0,12,0,68,0,41,0,8,0,67,0 21,0,18,0,76,0,84,0,44,0,28,0 75,0,80,0,17,0,55,0,40,0,46,0 31,0,49,0,33,0,83,0,71,0,36,0 88,0,13,0,60,0,39,0,74,0,2,0 72,0,19,0,42,0,37,0,34,0,23,0 48,0,32,0,53,0,54,0,38,0,26,0 56,0,82,0,45,0,51,0,9,0,24,0 6,0,85,0,4,0,15,0,81,0,30,0 66,0,35,0,61,0,22,0,14,0,10,0 64,0,25,0,65,0,79,0,78,0,59,0 16,0,87,0,50,0,57,0,90,0,47,0 71,0,41,0,52,0,7,0,39,0,75,0 20,0,44,0,70,0,13,0,80,0,8,0 38,0,62,0,67,0,28,0,43,0,46,0 23,0,40,0,74,0,49,0,18,0,3,0 9,0,76,0,11,0,4,0,58,0,26,0 2,0,36,0,73,0,19,0,55,0,10,0 48,0,60,0,81,0,35,0,33,0,79,0 53,0,27,0,17,0,50,0,15,0,84,0 47,0,37,0,59,0,1,0,88,0,77,0 65,0,24,0,16,0,68,0,5,0,61,0 31,0,82,0,30,0,89,0,25,0,72,0 85,0,54,0,45,0,22,0,69,0,90,0 51,0,63,0,83,0,57,0,64,0,86,0 66,0,42,0,78,0,21,0,12,0,87,0 6,0,34,0,14,0,32,0,29,0,56,0 70,0,75,0,2,0,18,0,62,0,35,0 58,0,55,0,50,0,38,0,1,0,60,0 88,0,73,0,7,0,68,0,44,0,46,0 41,0,36,0,37,0,13,0,30,0,27,0 53,0,5,0,28,0,79,0,90,0,31,0 47,0,80,0,45,0,64,0,19,0,4,0 83,0,84,0,77,0,12,0,16,0,20,0 49,0,54,0,52,0,66,0,17,0,43,0 56,0,69,0,86,0,72,0,81,0,40,0 51,0,32,0,71,0,87,0,89,0,10,0 33,0,25,0,34,0,22,0,63,0,76,0 3,0,14,0,59,0,24,0,42,0,11,0 39,0,15,0,8,0,9,0,78,0,57,0 23,0,65,0,48,0,85,0,21,0,29,0 67,0,82,0,61,0,74,0,6,0,26,0 18,0,43,0,79,0,16,0,7,0,27,0 49,0,55,0,41,0,47,0,56,0,62,0 71,0,28,0,81,0,2,0,45,0,12,0 68,0,60,0,64,0,77,0,76,0,75,0 4,0,46,0,13,0,54,0,10,0,1,0 88,0,83,0,22,0,38,0,87,0,40,0 65,0,9,0,20,0,33,0,53,0,86,0 58,0,29,0,31,0,42,0,74,0,35,0 8,0,90,0,89,0,84,0,6,0,48,0 14,0,82,0,78,0,63,0,80,0,37,0 70,0,73,0,26,0,57,0,23,0,17,0 50,0,59,0,19,0,69,0,51,0,30,0 61,0,44,0,11,0,36,0,85,0,34,0 72,0,5,0,3,0,67,0,39,0,66,0 15,0,21,0,32,0,24,0,25,0,52,0 10,0,7,0,64,0,28,0,9,0,49,0 1,0,83,0,56,0,75,0,79,0,74,0 55,0,22,0,37,0,6,0,65,0,31,0 89,0,60,0,29,0,16,0,53,0,80,0 69,0,23,0,76,0,47,0,14,0,13,0 70,0,68,0,90,0,82,0,33,0,42,0 54,0,67,0,40,0,11,0,78,0,2,0 71,0,43,0,24,0,85,0,72,0,84,0 88,0,66,0,36,0,25,0,50,0,18,0 46,0,77,0,26,0,19,0,21,0,8,0 39,0,62,0,51,0,58,0,20,0,61,0 15,0,87,0,41,0,86,0,59,0,35,0 34,0,30,0,48,0,73,0,45,0,52,0 81,0,5,0,57,0,27,0,32,0,44,0 63,0,12,0,3,0,38,0,17,0,4,0 7,0,84,0,54,0,65,0,80,0,56,0 72,0,11,0,79,0,70,0,88,0,55,0 53,0,49,0,46,0,78,0,24,0,76,0 62,0,74,0,50,0,8,0,37,0,64,0 39,0,6,0,42,0,86,0,28,0,47,0 51,0,2,0,1,0,85,0,31,0,41,0 16,0,58,0,34,0,21,0,81,0,82,0 44,0,10,0,48,0,77,0,15,0,67,0 14,0,33,0,5,0,40,0,73,0,4,0 38,0,35,0,89,0,68,0,36,0,20,0 13,0,57,0,25,0,3,0,45,0,61,0 26,0,52,0,18,0,60,0,87,0,69,0 59,0,66,0,27,0,23,0,63,0,71,0 17,0,90,0,29,0,9,0,30,0,83,0 43,0,75,0,12,0,22,0,32,0,19,0 76,0,56,0,88,0,16,0,10,0,8,0 53,0,81,0,51,0,7,0,37,0,70,0 74,0,86,0,55,0,78,0,34,0,68,0 85,0,38,0,77,0,25,0,14,0,39,0 64,0,84,0,73,0,58,0,87,0,3,0 50,0,11,0,65,0,71,0,46,0,82,0 33,0,27,0,69,0,21,0,61,0,2,0 57,0,42,0,43,0,48,0,4,0,41,0 26,0,59,0,90,0,72,0,20,0,49,0 47,0,24,0,63,0,36,0,29,0,75,0 6,0,35,0,80,0,52,0,23,0,12,0 22,0,89,0,9,0,79,0,13,0,67,0 17,0,44,0,31,0,45,0,60,0,62,0 18,0,19,0,15,0,5,0,54,0,83,0 28,0,40,0,1,0,66,0,32,0,30,0 78,0,10,0,3,0,85,0,50,0,33,0 55,0,69,0,8,0,42,0,25,0,71,0 2,0,49,0,38,0,34,0,57,0,65,0 43,0,87,0,82,0,77,0,23,0,53,0 81,0,90,0,41,0,80,0,73,0,76,0 29,0,64,0,20,0,27,0,88,0,67,0 72,0,21,0,13,0,63,0,62,0,68,0 86,0,75,0,4,0,89,0,44,0,66,0 84,0,19,0,40,0,52,0,31,0,61,0 74,0,28,0,17,0,48,0,51,0,36,0 39,0,79,0,24,0,54,0,37,0,12,0 30,0,46,0,22,0,18,0,58,0,56,0 32,0,47,0,35,0,83,0,11,0,7,0 16,0,15,0,26,0,14,0,1,0,45,0 9,0,6,0,5,0,70,0,60,0,59,0 ================================================ FILE: schedules/90_9.csv ================================================ 16,0,68,0,67,0,7,0,44,0,64,0 71,0,2,0,47,0,28,0,11,0,26,0 34,0,78,0,61,0,53,0,65,0,8,0 73,0,69,0,32,0,36,0,77,0,39,0 90,0,37,0,20,0,18,0,55,0,74,0 89,0,79,0,10,0,40,0,14,0,5,0 38,0,86,0,50,0,66,0,75,0,72,0 3,0,13,0,30,0,80,0,81,0,19,0 45,0,63,0,85,0,9,0,83,0,31,0 48,0,52,0,51,0,54,0,59,0,12,0 23,0,15,0,76,0,22,0,56,0,27,0 42,0,84,0,6,0,33,0,87,0,57,0 35,0,60,0,43,0,24,0,21,0,62,0 82,0,17,0,41,0,4,0,29,0,70,0 88,0,58,0,25,0,1,0,49,0,46,0 77,0,55,0,66,0,34,0,2,0,14,0 63,0,75,0,7,0,20,0,53,0,69,0 64,0,73,0,48,0,47,0,90,0,79,0 56,0,10,0,18,0,71,0,38,0,81,0 44,0,51,0,84,0,31,0,76,0,72,0 36,0,40,0,87,0,13,0,74,0,65,0 67,0,43,0,61,0,50,0,57,0,30,0 70,0,86,0,60,0,16,0,25,0,28,0 78,0,62,0,9,0,59,0,11,0,58,0 3,0,6,0,85,0,49,0,29,0,39,0 45,0,19,0,8,0,21,0,89,0,23,0 52,0,5,0,46,0,33,0,35,0,41,0 54,0,24,0,15,0,17,0,37,0,88,0 4,0,80,0,27,0,83,0,68,0,32,0 26,0,42,0,1,0,22,0,12,0,82,0 90,0,56,0,57,0,75,0,40,0,60,0 14,0,16,0,84,0,73,0,62,0,81,0 70,0,44,0,66,0,65,0,69,0,71,0 20,0,59,0,89,0,28,0,76,0,39,0 6,0,13,0,47,0,41,0,78,0,50,0 21,0,10,0,37,0,30,0,72,0,9,0 8,0,55,0,36,0,83,0,49,0,17,0 38,0,23,0,35,0,85,0,4,0,12,0 74,0,1,0,2,0,45,0,80,0,54,0 11,0,53,0,25,0,48,0,22,0,5,0 26,0,88,0,43,0,64,0,19,0,34,0 82,0,18,0,63,0,67,0,33,0,27,0 31,0,7,0,32,0,86,0,61,0,3,0 52,0,68,0,42,0,58,0,24,0,29,0 46,0,51,0,77,0,15,0,79,0,87,0 59,0,75,0,37,0,83,0,65,0,81,0 4,0,72,0,71,0,14,0,6,0,45,0 44,0,10,0,12,0,62,0,50,0,53,0 17,0,60,0,22,0,9,0,84,0,19,0 66,0,26,0,27,0,13,0,25,0,8,0 48,0,69,0,61,0,16,0,23,0,49,0 30,0,89,0,31,0,42,0,70,0,38,0 57,0,64,0,32,0,82,0,74,0,51,0 1,0,56,0,20,0,11,0,3,0,52,0 18,0,5,0,78,0,2,0,43,0,15,0 33,0,29,0,40,0,88,0,55,0,7,0 39,0,54,0,86,0,47,0,46,0,34,0 80,0,76,0,35,0,58,0,36,0,79,0 87,0,63,0,41,0,68,0,21,0,73,0 85,0,77,0,28,0,67,0,24,0,90,0 53,0,64,0,49,0,60,0,45,0,38,0 22,0,65,0,10,0,52,0,32,0,6,0 20,0,83,0,44,0,19,0,61,0,42,0 14,0,13,0,9,0,29,0,18,0,69,0 71,0,33,0,25,0,17,0,34,0,51,0 35,0,55,0,15,0,26,0,86,0,59,0 62,0,36,0,47,0,1,0,27,0,31,0 56,0,84,0,80,0,37,0,67,0,89,0 50,0,87,0,4,0,24,0,2,0,7,0 66,0,41,0,23,0,3,0,28,0,43,0 74,0,58,0,16,0,63,0,30,0,5,0 54,0,79,0,85,0,82,0,21,0,75,0 68,0,90,0,39,0,78,0,88,0,70,0 57,0,72,0,11,0,12,0,73,0,46,0 8,0,48,0,76,0,81,0,40,0,77,0 80,0,33,0,47,0,59,0,61,0,22,0 15,0,50,0,36,0,9,0,71,0,64,0 31,0,25,0,29,0,23,0,87,0,37,0 56,0,5,0,24,0,13,0,86,0,51,0 74,0,42,0,67,0,10,0,35,0,66,0 17,0,43,0,39,0,44,0,75,0,45,0 21,0,34,0,12,0,3,0,16,0,90,0 70,0,63,0,1,0,8,0,14,0,57,0 81,0,32,0,2,0,79,0,20,0,60,0 73,0,4,0,49,0,26,0,78,0,89,0 77,0,83,0,52,0,53,0,72,0,18,0 62,0,69,0,19,0,28,0,54,0,40,0 84,0,58,0,27,0,85,0,7,0,41,0 38,0,46,0,55,0,48,0,68,0,6,0 11,0,88,0,30,0,82,0,65,0,76,0 16,0,57,0,45,0,36,0,22,0,37,0 13,0,59,0,17,0,21,0,32,0,42,0 67,0,70,0,81,0,23,0,47,0,5,0 29,0,50,0,79,0,56,0,26,0,63,0 64,0,78,0,33,0,72,0,1,0,24,0 12,0,49,0,43,0,84,0,86,0,40,0 34,0,58,0,28,0,18,0,48,0,44,0 30,0,71,0,27,0,55,0,53,0,73,0 80,0,25,0,65,0,41,0,15,0,62,0 9,0,82,0,38,0,52,0,87,0,39,0 31,0,8,0,54,0,10,0,20,0,4,0 68,0,51,0,2,0,89,0,69,0,3,0 76,0,90,0,7,0,66,0,46,0,83,0 6,0,75,0,19,0,77,0,35,0,11,0 14,0,85,0,88,0,61,0,60,0,74,0 21,0,29,0,36,0,86,0,78,0,48,0 45,0,50,0,40,0,70,0,58,0,32,0 72,0,63,0,42,0,15,0,49,0,34,0 65,0,9,0,33,0,56,0,4,0,43,0 24,0,82,0,89,0,47,0,55,0,25,0 39,0,41,0,83,0,51,0,16,0,10,0 46,0,75,0,22,0,2,0,13,0,67,0 37,0,38,0,1,0,7,0,73,0,19,0 17,0,74,0,81,0,52,0,28,0,31,0 87,0,35,0,8,0,30,0,69,0,64,0 62,0,5,0,76,0,71,0,57,0,85,0 77,0,3,0,60,0,44,0,59,0,27,0 79,0,18,0,61,0,84,0,11,0,68,0 53,0,54,0,23,0,14,0,26,0,90,0 12,0,88,0,66,0,20,0,80,0,6,0 24,0,34,0,9,0,75,0,32,0,41,0 65,0,73,0,28,0,51,0,45,0,42,0 81,0,22,0,87,0,43,0,55,0,58,0 48,0,13,0,37,0,35,0,39,0,71,0 3,0,47,0,74,0,38,0,25,0,76,0 69,0,83,0,21,0,1,0,50,0,84,0 61,0,27,0,90,0,29,0,10,0,2,0 89,0,64,0,11,0,63,0,66,0,54,0 15,0,19,0,12,0,31,0,67,0,14,0 46,0,26,0,16,0,18,0,85,0,17,0 62,0,20,0,70,0,49,0,77,0,33,0 86,0,57,0,53,0,4,0,88,0,79,0 72,0,5,0,60,0,68,0,82,0,8,0 6,0,7,0,36,0,56,0,30,0,59,0 52,0,23,0,40,0,44,0,78,0,80,0 ================================================ FILE: schedules/91_1.csv ================================================ 39,0,15,0,11,0,74,0,53,0,8,0 72,0,35,0,36,0,13,0,18,0,40,0 59,0,5,0,17,0,45,0,81,0,63,0 47,0,70,0,90,0,64,0,23,0,60,0 25,0,12,0,9,0,16,0,57,0,67,0 14,0,46,0,82,0,21,0,80,0,27,0 48,0,61,0,24,0,55,0,32,0,22,0 42,0,89,0,85,0,58,0,91,0,83,0 20,0,49,0,52,0,86,0,29,0,51,0 37,0,30,0,44,0,6,0,78,0,69,0 79,0,41,0,77,0,88,0,76,0,31,0 28,0,71,0,43,0,4,0,19,0,34,0 10,0,7,0,66,0,1,0,65,0,84,0 73,0,2,0,87,0,68,0,38,0,75,0 50,0,56,0,26,0,62,0,54,0,3,0 33,0,70,1,80,1,91,1,22,1,32,1 ================================================ FILE: schedules/91_10.csv ================================================ 7,0,68,0,33,0,80,0,59,0,85,0 13,0,51,0,60,0,44,0,22,0,61,0 48,0,47,0,73,0,21,0,6,0,14,0 40,0,58,0,24,0,82,0,78,0,56,0 50,0,84,0,31,0,4,0,69,0,83,0 23,0,57,0,20,0,45,0,86,0,77,0 67,0,74,0,91,0,66,0,28,0,15,0 62,0,29,0,54,0,17,0,75,0,46,0 26,0,10,0,41,0,90,0,39,0,89,0 88,0,37,0,81,0,34,0,76,0,42,0 16,0,2,0,79,0,8,0,9,0,32,0 12,0,72,0,3,0,70,0,65,0,55,0 63,0,36,0,53,0,64,0,1,0,18,0 30,0,43,0,52,0,11,0,38,0,5,0 87,0,35,0,27,0,25,0,19,0,49,0 71,0,59,0,21,0,60,0,17,0,91,0 61,0,28,0,85,0,57,0,31,0,41,0 44,0,74,0,29,0,82,0,20,0,34,0 45,0,6,0,89,0,15,0,56,0,8,0 14,0,68,0,9,0,42,0,10,0,22,0 2,0,65,0,51,0,69,0,40,0,67,0 62,0,64,0,5,0,81,0,66,0,73,0 47,0,54,0,37,0,53,0,78,0,25,0 19,0,90,0,48,0,83,0,52,0,1,0 12,0,46,0,38,0,4,0,79,0,18,0 58,0,7,0,26,0,88,0,43,0,13,0 30,0,32,0,77,0,87,0,33,0,55,0 63,0,70,0,80,0,76,0,11,0,49,0 50,0,23,0,3,0,27,0,75,0,24,0 36,0,16,0,35,0,86,0,39,0,71,0 72,0,53,0,61,0,84,0,40,0,34,0 10,1,19,0,47,0,60,1,2,0,85,0 57,0,29,0,1,0,12,0,91,0,22,0 20,0,69,0,79,0,58,0,6,0,59,0 43,0,42,0,25,0,44,0,46,0,90,0 78,0,68,0,81,0,8,0,4,0,63,0 83,0,45,0,70,0,64,0,7,0,87,0 24,0,74,0,55,0,37,0,86,0,38,0 66,0,13,0,65,0,50,0,35,0,33,0 21,0,56,0,41,0,52,0,54,0,16,0 17,0,84,0,5,0,32,0,48,0,23,0 77,0,80,0,89,0,36,0,9,0,31,0 71,0,82,0,49,0,62,0,3,0,67,0 28,0,88,0,18,0,14,0,51,0,30,0 72,0,26,0,76,0,73,0,27,0,15,0 39,0,75,0,4,0,11,0,19,0,44,0 66,0,6,0,34,0,7,0,38,0,24,0 35,0,85,0,58,0,60,0,70,0,29,0 5,0,90,0,61,0,20,0,47,0,8,0 80,0,40,0,43,0,16,0,50,0,55,0 49,0,10,0,2,0,21,0,74,0,12,0 41,0,79,0,87,0,3,0,63,0,88,0 62,0,22,0,25,0,36,0,59,0,48,0 32,0,57,0,89,0,71,0,73,0,75,0 76,0,84,0,33,0,28,0,9,0,1,0 37,0,91,0,46,0,64,0,30,0,27,0 31,0,65,0,14,0,52,0,26,0,81,0 39,0,13,0,42,0,72,0,23,0,56,0 78,0,83,0,67,0,53,0,77,0,17,0 54,0,45,0,18,0,11,0,69,0,82,0 51,0,68,0,41,0,86,0,15,0,62,0 80,0,4,0,34,0,57,0,3,0,35,0 43,0,19,0,61,0,6,0,33,0,71,0 66,0,1,0,70,0,40,0,79,0,10,0 58,0,91,0,14,0,25,0,84,0,89,0 23,0,2,0,76,0,7,0,36,0,52,0 38,0,83,0,56,0,75,0,63,0,47,0 29,0,50,0,11,0,42,0,32,0,26,0 78,0,69,0,16,0,74,0,30,0,48,0 13,0,15,0,54,0,24,0,85,0,64,0 86,0,9,0,44,0,88,0,21,0,27,0 49,0,77,0,18,0,68,0,65,0,90,0 12,0,39,0,20,0,87,0,51,0,17,0 73,0,53,0,8,0,28,0,22,0,55,0 31,0,5,0,59,0,72,0,37,0,82,0 46,0,81,0,60,0,45,0,67,0,50,0 43,0,75,0,36,0,34,0,41,0,91,0 30,0,69,0,57,0,19,0,70,0,15,0 74,0,88,0,47,0,80,0,71,0,23,0 38,0,64,0,84,0,65,0,10,0,78,0 32,0,56,0,7,0,18,0,20,0,25,0 62,0,42,0,21,0,35,0,83,0,79,0 22,0,52,0,40,0,89,0,33,0,37,0 46,0,26,0,3,0,51,0,8,0,77,0 67,0,44,0,14,0,59,0,54,0,63,0 76,0,60,0,55,0,39,0,68,0,5,0 16,0,72,0,28,0,87,0,29,0,81,0 53,0,82,0,86,0,85,0,4,0,48,0 45,0,1,0,73,0,61,0,49,0,24,0 17,0,27,0,31,0,13,0,6,0,2,0 66,0,12,0,90,0,11,0,58,0,9,0 51,0,43,0,32,0,64,0,47,0,35,0 25,0,70,0,8,0,67,0,21,0,33,0 89,0,3,0,38,0,44,0,68,0,23,0 14,0,7,0,71,0,5,0,69,0,29,0 22,0,54,0,65,0,86,0,80,0,30,0 88,0,46,0,83,0,20,0,73,0,36,0 57,0,63,0,6,0,72,0,10,0,50,0 17,0,76,0,74,0,85,0,90,0,40,0 55,0,27,0,79,0,11,0,78,0,61,0 15,0,58,0,39,0,77,0,37,0,1,0 56,0,48,0,60,0,26,0,28,0,12,0 91,0,4,0,87,0,52,0,62,0,9,0 24,0,18,0,19,0,42,0,31,0,16,0 45,0,82,0,75,0,66,0,2,0,84,0 59,0,49,0,41,0,13,0,81,0,53,0 34,0,83,0,5,0,89,0,51,0,54,0 10,0,29,0,67,0,76,0,61,0,86,0 78,0,20,0,85,0,43,0,14,0,3,0 30,0,36,0,47,0,40,0,68,0,12,0 37,0,73,0,35,0,9,0,17,0,7,0 15,0,22,0,11,0,87,0,23,0,21,0 25,0,4,0,26,0,45,0,71,0,55,0 59,0,24,0,28,0,46,0,70,0,2,0 8,0,48,0,49,0,44,0,91,0,31,0 38,0,63,0,13,0,16,0,62,0,90,0 77,0,52,0,69,0,66,0,88,0,72,0 53,0,57,0,33,0,74,0,27,0,58,0 79,0,64,0,34,0,19,0,50,0,56,0 1,0,41,0,32,0,82,0,60,0,65,0 81,0,18,0,80,0,39,0,6,0,84,0 42,0,59,0,61,0,75,0,30,0,26,0 40,0,15,0,29,0,3,0,25,0,31,0 14,0,16,0,23,0,83,0,37,0,12,0 89,0,21,0,4,0,66,0,76,0,43,0 62,0,44,0,28,0,47,0,7,0,77,0 9,0,33,0,64,0,20,0,49,0,72,0 8,0,19,0,38,0,17,0,88,0,82,0 71,0,52,0,51,0,53,0,10,0,24,0 48,0,42,0,67,0,27,0,80,0,41,0 6,0,75,0,5,0,22,0,70,0,78,0 50,0,73,0,86,0,2,0,18,0,58,0 85,0,39,0,63,0,45,0,32,0,34,0 60,0,36,0,79,0,54,0,84,0,57,0 74,0,87,0,68,0,46,0,13,0,1,0 69,0,90,0,55,0,81,0,35,0,56,0 65,0,11,0,7,0,91,0,16,0,53,0 83,0,27,0,71,0,41,0,8,0,66,0 6,0,40,0,4,0,5,0,42,0,49,0 78,0,23,0,73,0,29,0,51,0,59,0 15,0,17,0,10,0,18,0,44,0,33,0 77,0,25,0,64,0,75,0,76,0,12,0 30,0,1,0,50,0,62,0,89,0,85,0 34,0,55,0,2,0,90,0,60,0,14,0 86,0,3,0,91,0,13,0,69,0,32,0 84,0,26,0,22,0,35,0,74,0,63,0 37,0,87,0,56,0,36,0,61,0,65,0 72,0,67,0,24,0,68,0,43,0,79,0 48,0,81,0,9,0,38,0,54,0,70,0 82,0,52,0,46,0,47,0,39,0,57,0 58,0,45,0,21,0,19,0,28,0,80,0 31,0,11,0,10,0,88,0,20,0,60,0 ================================================ FILE: schedules/91_11.csv ================================================ 66,0,28,0,91,0,8,0,6,0,60,0 48,0,15,0,49,0,86,0,42,0,81,0 18,0,11,0,57,0,1,0,7,0,53,0 50,0,24,0,67,0,55,0,87,0,64,0 13,0,25,0,85,0,82,0,56,0,32,0 27,0,9,0,43,0,37,0,79,0,39,0 35,0,47,0,44,0,63,0,29,0,40,0 12,0,70,0,76,0,77,0,21,0,34,0 74,0,54,0,65,0,61,0,71,0,51,0 2,0,90,0,33,0,22,0,17,0,23,0 14,0,4,0,41,0,38,0,31,0,83,0 46,0,68,0,73,0,88,0,20,0,72,0 58,0,36,0,84,0,78,0,30,0,3,0 89,0,16,0,5,0,62,0,19,0,52,0 10,0,45,0,69,0,80,0,59,0,75,0 26,0,40,0,64,0,53,0,42,0,8,0 70,0,29,0,15,0,71,0,25,0,24,0 48,0,85,0,91,0,74,0,21,0,2,0 90,0,18,0,86,0,35,0,6,0,14,0 27,0,81,0,4,0,67,0,23,0,73,0 41,0,11,0,12,0,54,0,37,0,58,0 7,0,63,0,52,0,87,0,38,0,56,0 75,0,19,0,3,0,82,0,65,0,83,0 26,0,10,0,39,0,30,0,79,0,46,0 20,0,55,0,61,0,66,0,45,0,44,0 36,0,22,0,50,0,89,0,76,0,32,0 51,0,60,0,17,0,49,0,72,0,69,0 59,0,47,0,43,0,57,0,88,0,77,0 31,0,1,0,34,0,33,0,16,0,78,0 9,0,28,0,5,0,84,0,13,0,68,0 62,0,91,0,37,0,80,0,24,0,14,0 73,0,48,0,90,0,19,1,79,0,38,0 30,0,85,0,11,0,42,0,23,0,75,0 71,0,6,0,58,0,40,0,7,0,81,0 32,0,87,0,8,0,21,0,29,0,54,0 52,0,18,0,44,0,59,0,46,0,65,0 76,0,20,0,67,0,3,0,25,0,49,0 69,0,70,0,86,0,31,0,68,0,50,0 72,0,47,0,61,0,1,0,41,0,89,0 51,0,53,0,39,0,22,0,13,0,80,0 55,0,77,0,82,0,84,0,10,0,4,0 45,0,12,0,78,0,26,0,43,0,74,0 64,0,35,0,9,0,2,0,16,0,28,0 83,0,62,0,88,0,60,0,63,0,33,0 66,0,15,0,34,0,5,0,17,0,57,0 56,0,20,0,42,0,27,0,36,0,29,0 68,0,76,0,59,0,71,0,85,0,89,0 47,0,37,0,31,0,51,0,7,0,67,0 10,0,38,0,61,0,6,0,11,0,49,0 23,0,14,0,39,0,1,0,78,0,32,0 77,0,45,0,40,0,16,0,87,0,73,0 3,0,9,0,80,0,60,0,50,0,26,0 5,0,46,0,53,0,2,0,25,0,65,0 35,0,36,0,15,0,43,0,19,0,55,0 57,0,90,0,13,0,27,0,52,0,12,0 30,0,33,0,41,0,91,0,4,0,69,0 21,0,72,0,84,0,86,0,83,0,56,0 82,0,81,0,74,0,34,0,64,0,88,0 54,0,17,0,28,0,48,0,44,0,62,0 58,0,24,0,79,0,22,0,8,0,75,0 66,0,63,0,89,0,18,0,70,0,26,0 1,0,85,0,40,0,36,0,9,0,51,0 65,0,42,0,35,0,32,0,73,0,37,0 49,0,5,0,41,0,45,0,27,0,50,0 53,0,86,0,16,0,38,0,12,0,33,0 55,0,60,0,56,0,90,0,31,0,71,0 19,0,81,0,11,0,76,0,84,0,44,0 7,0,29,0,62,0,15,0,82,0,59,0 79,0,14,0,87,0,28,0,61,0,88,0 80,0,21,0,25,0,18,0,43,0,17,0 77,0,2,0,52,0,30,0,67,0,6,0 91,0,10,0,58,0,47,0,64,0,13,0 54,0,70,0,75,0,20,0,39,0,4,0 23,0,24,0,68,0,74,0,83,0,66,0 8,0,72,0,78,0,48,0,63,0,57,0 3,0,46,0,22,0,34,0,69,0,62,0 36,0,86,0,73,0,41,0,44,0,7,0 82,0,50,0,28,0,43,0,71,0,33,0 2,0,81,0,51,0,56,0,14,0,45,0 79,0,13,0,67,0,16,0,60,0,59,0 64,0,27,0,32,0,17,0,75,0,26,0 11,0,15,0,21,0,52,0,68,0,40,0 55,0,37,0,18,0,77,0,23,0,48,0 61,0,31,0,57,0,24,0,46,0,19,0 63,0,42,0,12,0,91,0,84,0,22,0 25,0,58,0,69,0,39,0,1,0,90,0 29,0,88,0,66,0,53,0,85,0,10,0 78,0,4,0,76,0,35,0,72,0,80,0 6,0,83,0,5,0,54,0,9,0,49,0 65,0,30,0,34,0,87,0,20,0,47,0 38,0,74,0,8,0,70,0,3,0,89,0 71,0,62,0,26,0,41,0,57,0,2,0 18,0,48,0,61,0,68,0,64,0,43,0 58,0,75,0,63,0,28,0,67,0,15,0 60,0,36,0,42,0,25,0,10,0,12,0 78,0,37,0,29,0,55,0,52,0,86,0 7,0,46,0,13,0,54,0,45,0,76,0 1,0,79,0,22,0,21,0,49,0,82,0 32,0,91,0,53,0,77,0,20,0,81,0 19,0,51,0,59,0,87,0,66,0,4,0 65,0,40,0,84,0,88,0,17,0,50,0 24,0,27,0,44,0,72,0,30,0,38,0 56,0,73,0,6,0,89,0,69,0,23,0 31,0,3,0,74,0,5,0,39,0,35,0 83,0,90,0,16,0,80,0,47,0,85,0 8,0,33,0,14,0,9,0,34,0,11,0 70,0,42,0,57,0,58,0,45,0,82,0 59,0,22,0,28,0,25,0,41,0,78,0 79,0,71,0,20,0,19,0,77,0,86,0 88,0,75,0,52,0,54,0,91,0,36,0 43,0,89,0,60,0,7,0,30,0,84,0 23,0,10,0,76,0,48,0,40,0,5,0 24,0,69,0,3,0,81,0,85,0,18,0 15,0,12,0,31,0,2,0,72,0,9,0 1,0,29,0,46,0,67,0,74,0,90,0 66,0,80,0,33,0,49,0,64,0,73,0 68,0,16,0,56,0,26,0,65,0,14,0 11,0,27,0,83,0,35,0,70,0,87,0 21,0,13,0,6,0,37,0,44,0,50,0 34,0,17,0,63,0,53,0,61,0,4,0 39,0,38,0,32,0,55,0,62,0,47,0 8,0,30,0,5,0,51,0,18,0,12,0 89,0,78,0,75,0,46,0,81,0,90,0 79,0,66,0,41,0,42,0,84,0,52,0 80,0,7,0,19,0,22,0,88,0,67,0 77,0,26,0,69,0,65,0,28,0,11,0 14,0,2,0,49,0,70,0,13,0,40,0 85,0,44,0,64,0,60,0,15,0,1,0 45,0,4,0,9,0,47,0,29,0,48,0 53,0,59,0,74,0,21,0,27,0,31,0 39,0,87,0,57,0,86,0,91,0,76,0 43,0,82,0,16,0,20,0,24,0,6,0 38,0,23,0,54,0,50,0,34,0,25,0 17,0,83,0,71,0,36,0,8,0,37,0 33,0,56,0,35,0,58,0,61,0,68,0 32,0,63,0,51,0,10,0,73,0,3,0 62,0,72,0,81,0,55,0,79,0,11,0 80,0,77,0,64,0,5,0,29,0,14,0 88,0,48,0,31,0,13,0,89,0,30,0 40,0,22,0,4,0,20,0,74,0,57,0 60,0,82,0,27,0,47,0,86,0,54,0 69,0,53,0,6,0,15,0,78,0,19,0 21,0,65,0,33,0,36,0,24,0,66,0 84,0,39,0,73,0,34,0,18,0,71,0 37,0,10,0,28,0,1,0,70,0,56,0 49,0,16,0,46,0,8,0,63,0,55,0 59,0,90,0,50,0,61,0,2,0,42,0 26,0,51,0,52,0,58,0,76,0,83,0 17,0,38,0,67,0,45,0,85,0,35,0 23,0,3,0,72,0,43,0,7,0,91,0 44,0,9,0,87,0,32,0,41,0,75,0 25,0,68,0,6,0,12,0,62,0,4,0 47,0,24,0,22,0,73,0,5,0,11,0 49,0,29,0,19,0,28,0,39,0,30,0 21,0,55,0,89,0,14,0,69,0,57,0 37,0,33,0,84,0,15,0,26,0,46,0 67,0,83,0,40,0,78,0,61,0,79,0 54,0,27,0,2,0,80,0,63,0,1,0 74,0,17,0,41,0,13,0,56,0,77,0 50,0,62,0,20,0,52,0,58,0,85,0 71,0,70,0,44,0,91,0,51,0,16,0 82,0,87,0,72,0,53,0,90,0,36,0 23,0,12,0,86,0,64,0,3,0,59,0 75,0,7,0,25,0,48,0,35,0,66,0 81,0,65,0,43,0,8,0,10,0,31,0 88,0,38,0,18,0,42,0,76,0,9,0 34,0,68,0,45,0,32,0,60,0,19,0 ================================================ FILE: schedules/91_12.csv ================================================ 45,0,53,0,38,0,62,0,44,0,68,0 7,0,49,0,89,0,30,0,34,0,10,0 28,0,12,0,64,0,77,0,74,0,31,0 13,0,83,0,78,0,22,0,6,0,82,0 14,0,32,0,46,0,25,0,90,0,37,0 39,0,91,0,60,0,11,0,58,0,21,0 20,0,42,0,65,0,41,0,29,0,35,0 18,0,70,0,56,0,26,0,57,0,61,0 47,0,66,0,19,0,76,0,80,0,48,0 71,0,81,0,3,0,27,0,50,0,23,0 51,0,8,0,24,0,59,0,36,0,67,0 5,0,43,0,88,0,9,0,63,0,75,0 73,0,54,0,87,0,40,0,52,0,84,0 17,0,72,0,33,0,15,0,79,0,1,0 55,0,4,0,16,0,69,0,85,0,86,0 2,0,83,0,74,0,20,0,11,0,26,0 60,0,35,0,78,0,7,0,47,0,14,0 44,0,19,0,13,0,49,0,25,0,39,0 50,0,57,0,6,0,31,0,23,0,21,0 62,0,43,0,90,0,51,0,41,0,80,0 64,0,3,0,32,0,56,0,8,0,58,0 61,0,91,0,79,0,63,0,24,0,67,0 53,0,66,0,46,0,42,0,28,0,86,0 75,0,16,0,38,0,55,0,30,0,12,0 69,0,22,0,9,0,73,0,15,0,34,0 84,0,59,0,81,0,33,0,40,0,5,0 76,0,85,0,77,0,29,0,27,0,2,0 48,0,18,0,65,0,52,0,36,0,82,0 87,0,10,0,45,0,71,0,70,0,72,0 88,0,37,0,17,0,68,0,54,0,89,0 1,0,61,0,32,0,4,0,20,0,60,0 51,0,19,0,79,0,78,0,91,0,55,0 46,0,26,0,75,0,14,0,73,0,64,0 50,0,63,0,42,0,22,0,44,0,33,0 66,0,15,0,77,0,5,0,67,0,49,0 58,0,47,0,38,0,83,0,16,0,24,0 85,0,31,0,48,0,56,0,35,0,43,0 57,0,71,0,65,0,28,0,72,0,88,0 80,0,8,0,68,0,1,0,11,0,52,0 7,0,82,0,69,0,59,0,87,0,76,0 6,0,81,0,37,0,70,0,36,0,39,0 40,0,30,0,53,0,18,0,17,0,90,0 84,0,21,0,27,0,34,0,4,0,41,0 13,0,10,0,2,0,54,0,3,0,29,0 23,0,86,0,25,0,45,0,74,0,12,0 89,0,9,0,14,0,62,0,64,0,72,0 85,0,46,0,44,0,8,0,77,0,79,0 58,0,63,0,51,0,69,0,35,0,26,0 28,0,37,0,73,0,55,0,11,0,24,0 40,0,87,0,91,0,47,0,56,0,65,0 16,0,27,0,7,0,32,0,88,0,53,0 17,0,61,0,43,0,84,0,36,0,10,0 29,0,31,0,13,0,4,0,18,0,45,0 78,0,12,0,39,0,66,0,80,0,33,0 52,0,70,0,57,0,25,0,34,0,2,0 20,0,54,0,75,0,6,0,59,0,15,0 67,0,22,0,76,0,89,0,74,0,3,0 30,0,1,0,62,0,21,0,83,0,19,0 68,0,48,0,50,0,49,0,41,0,9,0 42,0,82,0,38,0,71,0,23,0,5,0 81,0,90,0,29,0,60,0,86,0,87,0 56,0,69,0,12,0,37,0,27,0,78,0 16,0,65,0,11,0,13,0,61,0,64,0 47,0,59,0,32,0,15,0,43,0,31,0 36,0,46,0,54,0,45,0,58,0,55,0 89,0,51,0,66,0,6,0,73,0,44,0 10,0,24,0,19,0,75,0,40,0,57,0 76,0,91,0,4,0,26,0,62,0,53,0 7,0,39,0,85,0,5,0,1,0,41,0 67,0,48,0,30,0,23,0,72,0,2,0 77,0,83,0,42,0,14,0,63,0,3,0 33,0,21,0,35,0,74,0,49,0,90,0 28,0,52,0,9,0,81,0,22,0,79,0 84,0,86,0,18,0,80,0,71,0,88,0 70,0,25,0,68,0,82,0,50,0,20,0 60,0,17,0,34,0,38,0,8,0,13,0 59,0,45,0,64,0,19,0,53,0,61,0 15,0,12,0,89,0,2,0,51,0,40,0 26,0,63,0,36,0,47,0,23,0,10,0 6,0,11,0,41,0,87,0,33,0,3,0 37,0,21,0,16,0,48,0,42,0,9,0 90,0,78,0,4,0,52,0,43,0,49,0 73,0,76,0,25,0,88,0,81,0,85,0 44,0,28,0,27,0,54,0,70,0,30,0 39,0,74,0,69,0,8,0,31,0,71,0 18,0,62,0,7,0,20,0,46,0,24,0 82,0,66,0,79,0,75,0,58,0,34,0 83,0,72,0,50,0,56,0,60,0,29,0 35,0,55,0,80,0,32,0,17,0,57,0 86,0,5,0,65,0,68,0,14,0,67,0 22,0,38,0,84,0,1,0,77,0,91,0 87,0,64,0,27,0,78,0,36,0,15,0 47,0,61,0,6,0,12,0,9,0,8,0 71,0,52,0,20,0,89,0,16,0,13,0 69,0,11,0,40,0,42,0,62,0,88,0 48,0,45,0,39,0,51,0,76,0,30,0 35,0,79,0,23,0,10,0,37,0,83,0 57,0,60,0,67,0,82,0,53,0,85,0 3,0,1,0,28,0,86,0,32,0,26,0 4,0,59,0,73,0,38,0,63,0,72,0 17,0,2,0,77,0,19,0,50,0,90,0 22,0,24,0,29,0,80,0,5,0,46,0 84,0,58,0,49,0,65,0,70,0,31,0 41,0,14,0,54,0,56,0,66,0,81,0 91,0,21,0,7,0,75,0,44,0,25,0 34,0,55,0,74,0,18,0,68,0,43,0 33,0,13,0,36,0,30,0,28,0,69,0 72,0,86,0,82,0,37,0,61,0,51,0 39,0,59,0,3,0,57,0,35,0,62,0 16,0,78,0,8,0,10,0,50,0,73,0 24,0,31,0,27,0,90,0,83,0,89,0 11,0,70,0,23,0,17,0,29,0,66,0 80,0,40,0,64,0,6,0,7,0,63,0 41,0,88,0,79,0,4,0,2,0,47,0 15,0,58,0,74,0,53,0,52,0,44,0 18,0,49,0,71,0,85,0,75,0,32,0 54,0,60,0,5,0,48,0,91,0,12,0 56,0,9,0,55,0,25,0,84,0,67,0 21,0,20,0,43,0,45,0,22,0,77,0 38,0,34,0,33,0,76,0,14,0,65,0 26,0,19,0,68,0,42,0,81,0,87,0 1,0,47,0,57,0,46,0,51,0,69,0 36,0,74,0,80,0,72,0,16,0,40,0 63,0,53,0,89,0,11,0,29,0,8,0 50,0,66,0,35,0,88,0,91,0,13,0 59,0,44,0,12,0,41,0,18,0,10,0 62,0,58,0,28,0,48,0,25,0,78,0 86,0,76,0,71,0,54,0,64,0,17,0 55,0,22,0,90,0,65,0,26,0,39,0 77,0,30,0,4,0,82,0,9,0,81,0 3,0,19,0,43,0,70,0,46,0,38,0 67,0,52,0,83,0,5,0,21,0,32,0 24,0,14,0,23,0,1,0,85,0,87,0 56,0,68,0,2,0,73,0,7,0,33,0 49,0,27,0,61,0,6,0,42,0,79,0 37,0,15,0,75,0,84,0,60,0,45,0 34,0,31,0,36,0,20,0,91,0,86,0 8,0,66,0,72,0,35,0,22,0,18,0 9,0,44,0,11,0,71,0,78,0,59,0 32,0,38,0,10,0,48,0,69,0,81,0 25,0,65,0,77,0,53,0,54,0,24,0 56,0,50,0,89,0,46,0,39,0,4,0 5,0,63,0,70,0,16,0,76,0,90,0 58,0,29,0,57,0,43,0,33,0,37,0 26,0,34,0,1,0,67,0,6,0,45,0 84,0,23,0,51,0,28,0,20,0,19,0 31,0,52,0,12,0,17,0,42,0,7,0 40,0,85,0,21,0,13,0,3,0,68,0 60,0,64,0,41,0,79,0,49,0,73,0 14,0,30,0,88,0,61,0,15,0,55,0 75,0,62,0,82,0,47,0,74,0,27,0 2,0,87,0,37,0,80,0,83,0,44,0 11,0,86,0,36,0,22,0,57,0,56,0 1,0,89,0,59,0,66,0,16,0,25,0 54,0,18,0,50,0,67,0,7,0,38,0 70,0,32,0,33,0,51,0,13,0,77,0 85,0,12,0,6,0,19,0,58,0,65,0 73,0,88,0,45,0,91,0,3,0,90,0 69,0,23,0,41,0,75,0,61,0,52,0 10,0,40,0,60,0,9,0,39,0,27,0 83,0,4,0,35,0,28,0,15,0,68,0 72,0,42,0,24,0,78,0,84,0,76,0 74,0,87,0,63,0,46,0,17,0,48,0 8,0,30,0,5,0,26,0,31,0,79,0 49,0,20,0,80,0,53,0,81,0,14,0 55,0,43,0,82,0,21,0,64,0,2,0 71,0,29,0,34,0,47,0,62,0,73,0 6,0,56,0,10,0,38,0,77,0,52,0 88,0,68,0,23,0,60,0,22,0,59,0 9,0,19,0,33,0,27,0,86,0,89,0 70,0,91,0,41,0,32,0,78,0,74,0 45,0,17,0,25,0,69,0,65,0,83,0 76,0,44,0,61,0,46,0,40,0,35,0 8,0,90,0,7,0,57,0,66,0,84,0 43,0,2,0,28,0,39,0,18,0,16,0 14,0,79,0,29,0,36,0,21,0,12,0 20,0,47,0,85,0,37,0,30,0,64,0 49,0,54,0,72,0,11,0,82,0,3,0 51,0,87,0,53,0,50,0,5,0,34,0 67,0,42,0,75,0,4,0,80,0,58,0 1,0,31,0,81,0,63,0,55,0,62,0 26,0,15,0,48,0,71,0,13,0,24,0 ================================================ FILE: schedules/91_13.csv ================================================ 69,0,55,0,83,0,48,0,41,0,86,0 33,0,82,0,9,0,47,0,32,0,43,0 45,0,42,0,28,0,66,0,61,0,68,0 12,0,36,0,64,0,74,0,87,0,60,0 62,0,4,0,81,0,25,0,44,0,57,0 73,0,18,0,24,0,65,0,50,0,6,0 29,0,22,0,30,0,40,0,23,0,89,0 31,0,78,0,54,0,58,0,46,0,84,0 67,0,51,0,85,0,56,0,75,0,37,0 79,0,26,0,27,0,11,0,10,0,20,0 53,0,15,0,90,0,71,0,49,0,17,0 76,0,91,0,70,0,88,0,13,0,63,0 19,0,21,0,77,0,14,0,72,0,1,0 38,0,3,0,80,0,35,0,52,0,59,0 8,0,5,0,39,0,34,0,7,0,16,0 57,0,45,0,18,0,2,0,47,0,55,0 46,0,86,0,9,0,50,0,67,0,87,0 69,0,66,0,43,0,75,0,40,0,54,0 79,0,71,0,65,0,44,0,49,0,82,0 10,0,62,0,30,0,84,0,51,0,29,0 61,0,33,0,17,0,14,0,23,0,22,0 76,0,77,0,72,0,31,0,3,0,11,0 53,0,21,0,5,0,81,0,24,0,36,0 89,0,13,0,80,0,74,0,27,0,28,0 41,0,7,0,59,0,91,0,64,0,1,0 2,0,73,0,70,0,19,0,83,0,52,0 68,0,25,0,20,0,8,0,56,0,48,0 88,0,58,0,32,0,39,0,37,0,15,0 78,0,6,0,42,0,90,0,16,0,35,0 60,0,63,0,38,0,34,0,85,0,4,0 12,0,77,0,22,0,26,0,71,0,81,0 14,1,50,0,62,0,47,1,54,0,66,0 64,1,46,0,74,0,24,1,57,0,30,0 52,1,55,0,70,0,11,0,33,0,40,0 7,0,25,0,86,0,53,0,31,0,29,0 8,0,68,0,2,0,79,0,88,0,1,0 39,0,20,0,87,0,3,0,83,0,18,0 9,0,35,0,56,0,90,0,17,0,45,0 34,0,89,0,63,0,10,0,43,0,12,0 44,0,19,0,61,0,26,0,80,0,69,0 72,0,38,0,6,0,75,0,60,0,82,0 15,0,42,0,67,0,13,0,36,0,41,0 59,0,84,0,23,0,32,0,76,0,27,0 85,0,49,0,91,0,73,0,58,0,5,0 28,0,78,0,65,0,21,0,48,0,51,0 37,0,4,0,83,0,16,0,74,0,40,0 1,0,29,0,11,0,47,0,35,0,50,0 52,0,71,0,61,0,62,0,39,0,68,0 38,0,18,0,31,0,43,0,45,0,8,0 19,0,13,0,30,0,24,0,9,0,20,0 53,0,67,0,14,0,84,0,2,0,12,0 79,0,22,0,5,0,63,0,41,0,77,0 3,0,51,0,81,0,73,0,64,0,69,0 88,0,65,0,33,0,4,0,10,0,16,0 60,0,76,0,66,0,48,0,37,0,58,0 72,0,54,0,15,0,25,0,70,0,27,0 42,0,21,0,46,0,82,0,80,0,23,0 36,0,28,0,26,0,86,0,91,0,90,0 56,0,6,0,87,0,34,0,59,0,57,0 7,0,85,0,44,0,55,0,17,0,89,0 32,0,78,0,18,0,49,0,75,0,63,0 50,0,81,0,64,0,68,0,67,0,16,0 4,0,9,0,76,0,5,0,52,0,20,0 60,0,41,0,35,0,19,0,31,0,33,0 83,0,77,0,47,0,24,0,42,0,88,0 58,0,90,0,40,0,1,0,62,0,38,0 80,0,72,0,86,0,57,0,14,0,79,0 8,0,89,0,51,0,66,0,46,0,53,0 29,0,70,0,82,0,17,0,59,0,36,0 45,0,84,0,15,0,26,0,21,0,43,0 11,0,49,0,2,0,56,0,22,0,7,0 39,0,27,0,44,0,75,0,78,0,73,0 3,0,48,0,28,0,30,0,71,0,34,0 25,0,74,0,6,0,32,0,10,0,55,0 12,0,37,0,65,0,91,0,54,0,61,0 13,0,69,0,23,0,85,0,87,0,90,0 8,0,64,0,18,0,83,0,9,0,72,0 67,0,59,0,4,0,79,0,51,0,15,0 76,0,49,0,89,0,47,0,41,0,68,0 44,0,56,0,42,0,84,0,24,0,70,0 88,0,21,0,40,0,3,0,46,0,60,0 5,0,82,0,16,0,30,0,53,0,27,0 39,0,14,0,43,0,91,0,81,0,6,0 58,0,10,0,35,0,87,0,61,0,57,0 48,0,52,0,54,0,77,0,13,0,29,0 73,0,62,0,37,0,63,0,23,0,86,0 17,0,31,0,26,0,78,0,1,0,74,0 34,0,45,0,75,0,80,0,19,0,50,0 65,0,69,0,22,0,28,0,7,0,55,0 20,0,2,0,71,0,32,0,38,0,36,0 12,0,11,0,66,0,25,0,33,0,85,0 14,0,8,0,70,0,87,0,51,0,27,0 67,0,10,0,84,0,49,0,52,0,60,0 35,0,77,0,61,0,4,0,18,0,82,0 59,0,47,0,40,0,86,0,81,0,58,0 54,0,17,0,6,0,41,0,30,0,88,0 24,0,5,0,74,0,48,0,45,0,23,0 9,0,7,0,50,0,71,0,37,0,42,0 55,0,29,0,38,0,12,0,39,0,73,0 69,0,33,0,89,0,20,0,91,0,15,0 79,0,62,0,34,0,75,0,76,0,21,0 80,0,64,0,28,0,63,0,25,0,11,0 16,0,57,0,32,0,22,0,31,0,13,0 1,0,36,0,53,0,65,0,56,0,83,0 90,0,2,0,66,0,72,0,46,0,44,0 85,0,68,0,43,0,3,0,19,0,26,0 78,0,41,0,27,0,37,0,38,0,9,0 84,0,48,0,91,0,35,0,17,0,81,0 20,0,82,0,34,0,45,0,58,0,7,0 6,0,52,0,86,0,8,0,74,0,15,0 11,0,57,0,73,0,42,0,59,0,89,0 28,0,32,0,79,0,53,0,60,0,62,0 67,0,88,0,25,0,69,0,21,0,18,0 75,0,16,0,55,0,14,0,46,0,77,0 49,0,83,0,87,0,76,0,43,0,29,0 36,0,68,0,40,0,10,0,80,0,85,0 47,0,30,0,26,0,39,0,66,0,65,0 3,0,13,0,50,0,2,0,78,0,23,0 33,0,54,0,56,0,5,0,44,0,64,0 70,0,4,0,19,0,90,0,12,0,31,0 1,0,51,0,71,0,24,0,63,0,61,0 22,0,58,0,20,0,72,0,74,0,67,0 46,0,41,0,34,0,29,0,25,0,14,0 40,0,49,0,84,0,9,0,28,0,77,0 48,0,11,0,16,0,87,0,15,0,75,0 36,0,43,0,7,0,88,0,66,0,78,0 42,0,33,0,91,0,79,0,30,0,38,0 52,0,23,0,81,0,65,0,35,0,89,0 8,0,27,0,63,0,19,0,47,0,17,0 51,0,55,0,90,0,82,0,83,0,50,0 57,0,76,0,39,0,53,0,54,0,85,0 44,0,60,0,1,0,3,0,22,0,45,0 73,0,56,0,72,0,4,0,26,0,32,0 71,0,31,0,62,0,18,0,5,0,80,0 61,0,12,0,21,0,13,0,6,0,64,0 37,0,59,0,69,0,10,0,2,0,24,0 70,0,86,0,77,0,68,0,38,0,65,0 8,0,58,0,75,0,23,0,41,0,28,0 81,0,54,0,87,0,55,0,42,0,19,0 67,0,57,0,63,0,3,0,29,0,90,0 45,0,30,0,14,0,32,0,83,0,11,0 72,0,88,0,5,0,84,0,50,0,89,0 82,0,15,0,85,0,62,0,64,0,22,0 78,0,16,0,47,0,60,0,71,0,91,0 46,0,24,0,7,0,33,0,76,0,26,0 48,0,27,0,4,0,49,0,6,0,36,0 39,0,31,0,9,0,10,0,59,0,21,0 20,0,53,0,73,0,43,0,80,0,70,0 79,0,56,0,69,0,35,0,74,0,66,0 34,0,18,0,13,0,44,0,68,0,37,0 40,0,25,0,17,0,61,0,2,0,51,0 12,0,52,0,75,0,86,0,1,0,30,0 83,0,29,0,28,0,15,0,33,0,81,0 32,0,85,0,42,0,48,0,46,0,65,0 76,0,10,0,19,0,78,0,67,0,82,0 90,0,54,0,14,0,60,0,20,0,89,0 80,0,39,0,84,0,8,0,69,0,4,0 13,0,49,0,59,0,66,0,45,0,72,0 51,0,35,0,68,0,2,0,43,0,22,0 12,0,3,0,24,0,41,0,62,0,16,0 86,0,17,0,44,0,5,0,6,0,11,0 71,0,27,0,88,0,34,0,55,0,64,0 38,0,21,0,74,0,61,0,47,0,7,0 1,0,23,0,57,0,9,0,36,0,70,0 25,0,37,0,87,0,79,0,77,0,73,0 50,0,91,0,63,0,56,0,31,0,40,0 58,0,26,0,53,0,18,0,52,0,42,0 33,0,16,0,2,0,54,0,80,0,49,0 11,0,24,0,4,0,78,0,29,0,68,0 35,0,88,0,44,0,12,0,67,0,28,0 17,0,83,0,43,0,13,0,46,0,62,0 55,0,61,0,30,0,72,0,8,0,36,0 66,0,20,0,41,0,21,0,86,0,57,0 23,0,32,0,91,0,34,0,77,0,51,0 45,0,52,0,1,0,87,0,71,0,69,0 65,0,15,0,40,0,5,0,76,0,14,0 90,0,75,0,10,0,47,0,73,0,22,0 85,0,74,0,63,0,53,0,9,0,59,0 19,0,48,0,64,0,89,0,39,0,79,0 60,0,27,0,56,0,18,0,81,0,7,0 25,0,26,0,50,0,58,0,38,0,70,0 6,0,82,0,3,0,37,0,31,0,84,0 86,0,34,0,78,0,52,0,33,0,72,0 36,0,51,0,14,0,45,0,44,0,76,0 66,0,32,0,80,0,17,0,24,0,67,0 73,0,54,0,13,0,8,0,35,0,40,0 75,0,64,0,29,0,65,0,42,0,20,0 10,0,23,0,47,0,15,0,28,0,56,0 12,0,83,0,68,0,27,0,57,0,7,0 22,0,49,0,37,0,46,0,19,0,38,0 79,0,18,0,84,0,85,0,1,0,16,0 81,0,74,0,41,0,70,0,11,0,71,0 48,0,26,0,87,0,88,0,62,0,82,0 9,0,3,0,55,0,4,0,91,0,53,0 77,0,60,0,50,0,39,0,30,0,69,0 5,0,59,0,43,0,61,0,90,0,25,0 2,0,89,0,58,0,21,0,6,0,63,0 31,0,47,0,24,0,14,0,64,0,52,0 ================================================ FILE: schedules/91_14.csv ================================================ 32,0,72,0,85,0,61,0,65,0,44,0 43,0,24,0,1,0,26,0,69,0,17,0 51,0,66,0,19,0,88,0,22,0,11,0 78,0,60,0,7,0,13,0,6,0,59,0 42,0,62,0,46,0,82,0,37,0,18,0 3,0,8,0,16,0,48,0,79,0,38,0 31,0,12,0,80,0,58,0,2,0,41,0 75,0,52,0,91,0,14,0,28,0,39,0 81,0,53,0,74,0,73,0,63,0,49,0 55,0,86,0,33,0,36,0,35,0,30,0 76,0,54,0,84,0,40,0,5,0,90,0 57,0,68,0,23,0,10,0,29,0,47,0 87,0,64,0,21,0,25,0,9,0,71,0 50,0,45,0,77,0,89,0,56,0,4,0 34,0,67,0,83,0,70,0,20,0,27,0 15,0,7,0,39,0,2,0,22,0,17,0 58,0,62,0,49,0,73,0,3,0,28,0 85,0,41,0,42,0,55,0,11,0,78,0 86,0,69,0,38,0,59,0,40,0,19,0 12,0,57,0,65,0,30,0,24,0,53,0 52,0,64,0,44,0,46,0,29,0,80,0 47,0,31,0,18,0,81,0,32,0,9,0 54,0,35,0,20,0,91,0,8,0,21,0 51,0,43,0,70,0,90,0,60,0,77,0 14,0,83,0,61,0,71,0,79,0,26,0 37,0,76,0,48,0,10,0,87,0,67,0 27,0,36,0,50,0,16,0,45,0,66,0 89,0,6,0,63,0,34,0,1,0,25,0 84,0,4,0,88,0,74,0,82,0,33,0 13,0,72,0,56,0,68,0,5,0,15,0 23,0,73,0,46,0,75,0,2,0,55,0 69,1,11,0,29,0,9,1,35,0,28,0 77,1,61,0,47,0,14,1,86,0,62,0 83,0,49,0,48,0,58,0,39,0,60,0 8,0,24,0,36,0,42,0,27,0,32,0 44,0,70,0,21,0,63,0,76,0,91,0 80,0,1,0,4,0,59,0,66,0,67,0 17,0,89,0,5,0,51,0,3,0,57,0 64,0,34,0,90,0,88,0,72,0,75,0 65,0,87,0,40,0,68,0,13,0,82,0 45,0,7,0,71,0,53,0,54,0,41,0 33,0,56,0,85,0,16,0,26,0,31,0 10,0,19,0,23,0,6,0,50,0,79,0 37,0,20,0,81,0,78,0,52,0,12,0 18,0,38,0,84,0,25,0,22,0,43,0 15,0,30,0,48,0,74,0,44,0,77,0 47,0,27,0,89,0,69,0,72,0,80,0 65,0,68,0,35,0,34,0,60,0,9,0 71,0,21,0,1,0,46,0,5,0,49,0 28,0,4,0,82,0,24,0,76,0,73,0 33,0,7,0,58,0,19,0,61,0,90,0 67,0,88,0,51,0,57,0,56,0,55,0 62,0,17,0,79,0,85,0,20,0,45,0 14,0,59,0,25,0,8,0,12,0,74,0 64,0,81,0,36,0,11,0,6,0,54,0 70,0,53,0,2,0,32,0,52,0,38,0 29,0,83,0,3,0,41,0,22,0,13,0 50,0,75,0,15,0,91,0,40,0,18,0 84,0,10,0,26,0,78,0,66,0,86,0 37,0,42,0,39,0,43,0,16,0,23,0 30,0,87,0,69,0,63,0,31,0,45,0 49,0,9,0,56,0,33,0,76,0,17,0 67,0,72,0,25,0,19,0,7,0,28,0 74,0,71,0,38,0,34,0,47,0,81,0 82,0,22,0,29,0,14,0,1,0,36,0 2,0,90,0,79,0,44,0,18,0,41,0 24,0,88,0,55,0,20,0,68,0,58,0 52,0,77,0,83,0,40,0,8,0,66,0 57,0,26,0,54,0,70,0,50,0,46,0 16,0,86,0,80,0,11,0,15,0,53,0 87,0,39,0,32,0,3,0,84,0,35,0 75,0,6,0,78,0,27,0,62,0,5,0 31,0,48,0,91,0,65,0,37,0,89,0 63,0,51,0,85,0,4,0,10,0,13,0 42,0,59,0,43,0,21,0,73,0,30,0 12,0,23,0,60,0,61,0,64,0,40,0 26,0,70,0,67,0,29,0,9,0,8,0 68,0,80,0,33,0,83,0,50,0,22,0 47,0,28,0,2,0,87,0,79,0,1,0 55,0,5,0,16,0,82,0,7,0,81,0 89,0,41,0,75,0,35,0,37,0,24,0 18,0,53,0,27,0,13,0,48,0,39,0 91,0,90,0,57,0,73,0,69,0,71,0 60,0,59,0,21,0,88,0,36,0,85,0 3,0,54,0,72,0,30,0,56,0,52,0 34,0,45,0,49,0,61,0,43,0,84,0 58,0,66,0,63,0,38,0,78,0,51,0 11,0,74,0,10,0,65,0,62,0,32,0 6,0,19,0,46,0,76,0,12,0,77,0 17,0,44,0,23,0,31,0,25,0,86,0 64,0,15,0,14,0,20,0,4,0,42,0 69,0,67,0,5,0,36,0,79,0,39,0 73,0,89,0,70,0,40,0,13,0,33,0 1,0,3,0,53,0,8,0,37,0,85,0 16,0,91,0,83,0,9,0,78,0,88,0 80,0,30,0,58,0,18,0,21,0,10,0 77,0,27,0,55,0,71,0,22,0,65,0 75,0,47,0,59,0,61,0,11,0,45,0 54,0,82,0,62,0,32,0,25,0,19,0 90,0,17,0,51,0,12,0,42,0,50,0 64,0,57,0,7,0,52,0,48,0,34,0 35,0,86,0,63,0,43,0,56,0,46,0 31,0,84,0,20,0,76,0,29,0,60,0 15,0,41,0,74,0,28,0,6,0,26,0 44,0,49,0,68,0,14,0,4,0,38,0 66,0,87,0,24,0,72,0,23,0,81,0 2,0,37,0,61,0,5,0,9,0,30,0 82,0,55,0,10,0,17,0,70,0,59,0 75,0,22,0,16,0,54,0,67,0,58,0 63,0,40,0,48,0,80,0,11,0,42,0 27,0,79,0,86,0,31,0,51,0,21,0 15,0,71,0,89,0,43,0,85,0,19,0 25,0,78,0,39,0,68,0,4,0,46,0 26,0,44,0,81,0,20,0,69,0,7,0 13,0,83,0,28,0,64,0,32,0,84,0 66,0,18,0,56,0,8,0,47,0,73,0 6,0,45,0,91,0,24,0,33,0,52,0 74,0,76,0,34,0,2,0,3,0,36,0 77,0,29,0,65,0,49,0,87,0,38,0 57,0,72,0,60,0,1,0,41,0,62,0 88,0,90,0,35,0,14,0,23,0,53,0 12,0,9,0,75,0,50,0,86,0,7,0 28,0,10,0,81,0,22,0,27,0,46,0 47,0,21,0,78,0,82,0,67,0,17,0 69,0,8,0,32,0,51,0,33,0,37,0 52,0,36,0,5,0,19,0,63,0,83,0 15,0,79,0,42,0,58,0,89,0,76,0 26,0,65,0,45,0,64,0,2,0,73,0 35,0,13,0,16,0,90,0,1,0,74,0 4,0,12,0,40,0,72,0,71,0,91,0 3,0,66,0,55,0,60,0,44,0,14,0 61,0,20,0,6,0,43,0,87,0,57,0 31,0,77,0,62,0,59,0,53,0,68,0 34,0,29,0,85,0,54,0,24,0,18,0 23,0,84,0,49,0,70,0,41,0,48,0 38,0,11,0,39,0,50,0,88,0,30,0 25,0,80,0,90,0,56,0,65,0,81,0 58,0,8,0,22,0,82,0,72,0,45,0 91,0,19,0,13,0,47,0,42,0,55,0 9,0,43,0,40,0,46,0,79,0,3,0 57,0,76,0,14,0,16,0,63,0,64,0 10,0,78,0,15,0,61,0,87,0,31,0 1,0,44,0,73,0,84,0,68,0,51,0 33,0,39,0,69,0,41,0,34,0,66,0 50,0,59,0,85,0,2,0,35,0,49,0 28,0,37,0,86,0,70,0,54,0,80,0 25,0,11,0,56,0,27,0,52,0,60,0 77,0,88,0,5,0,32,0,12,0,26,0 36,0,74,0,67,0,89,0,23,0,18,0 24,0,38,0,62,0,83,0,21,0,7,0 53,0,4,0,17,0,29,0,30,0,6,0 71,0,48,0,51,0,20,0,75,0,33,0 49,0,19,0,31,0,8,0,57,0,13,0 14,0,10,0,43,0,9,0,72,0,1,0 68,0,3,0,81,0,86,0,42,0,64,0 27,0,63,0,39,0,82,0,85,0,12,0 35,0,77,0,73,0,37,0,36,0,25,0 45,0,5,0,38,0,80,0,55,0,18,0 74,0,70,0,40,0,24,0,56,0,7,0 46,0,90,0,32,0,20,0,67,0,15,0 58,0,26,0,87,0,17,0,91,0,11,0 2,0,54,0,29,0,61,0,48,0,66,0 71,0,23,0,30,0,28,0,78,0,62,0 21,0,6,0,16,0,65,0,69,0,84,0 52,0,88,0,76,0,41,0,47,0,50,0 53,0,34,0,89,0,83,0,59,0,44,0 4,0,22,0,79,0,75,0,60,0,70,0 3,0,24,0,45,0,63,0,10,0,90,0 20,0,18,0,11,0,77,0,33,0,1,0 9,0,31,0,64,0,39,0,55,0,74,0 30,0,32,0,7,0,91,0,66,0,49,0 38,0,17,0,42,0,61,0,28,0,27,0 69,0,36,0,12,0,68,0,62,0,48,0 73,0,78,0,50,0,14,0,34,0,72,0 58,0,79,0,25,0,53,0,13,0,37,0 8,0,88,0,6,0,71,0,44,0,80,0 43,0,65,0,4,0,83,0,54,0,47,0 19,0,21,0,56,0,29,0,75,0,81,0 23,0,35,0,82,0,52,0,15,0,51,0 41,0,87,0,5,0,86,0,67,0,85,0 22,0,59,0,57,0,40,0,76,0,26,0 60,0,16,0,84,0,46,0,89,0,2,0 78,0,18,0,70,0,53,0,69,0,64,0 12,0,68,0,66,0,45,0,74,0,79,0 55,0,48,0,9,0,24,0,4,0,90,0 50,0,29,0,32,0,43,0,71,0,58,0 88,0,54,0,73,0,15,0,3,0,27,0 62,0,61,0,13,0,35,0,67,0,81,0 42,0,33,0,28,0,5,0,44,0,57,0 8,0,52,0,39,0,10,0,89,0,86,0 46,0,14,0,7,0,31,0,65,0,11,0 17,0,60,0,63,0,37,0,77,0,23,0 84,0,41,0,91,0,59,0,36,0,56,0 2,0,82,0,21,0,6,0,72,0,83,0 40,0,20,0,47,0,25,0,49,0,16,0 26,0,34,0,51,0,19,0,87,0,80,0 1,0,85,0,76,0,75,0,30,0,38,0 22,0,52,0,9,0,44,0,12,0,62,0 71,0,66,0,70,0,31,0,35,0,42,0 60,0,50,0,54,0,78,0,74,0,69,0 27,0,10,0,41,0,91,0,64,0,5,0 59,0,72,0,33,0,63,0,29,0,79,0 67,0,13,0,2,0,14,0,24,0,77,0 55,0,34,0,40,0,32,0,28,0,21,0 81,0,11,0,8,0,57,0,15,0,84,0 76,0,61,0,25,0,39,0,83,0,51,0 82,0,20,0,89,0,56,0,53,0,38,0 86,0,1,0,46,0,88,0,45,0,48,0 80,0,36,0,43,0,7,0,87,0,75,0 26,0,4,0,18,0,3,0,65,0,23,0 30,0,19,0,17,0,73,0,16,0,68,0 6,0,22,0,37,0,47,0,49,0,90,0 58,0,9,0,14,0,85,0,69,0,77,0 ================================================ FILE: schedules/91_2.csv ================================================ 80,0,25,0,51,0,35,0,4,0,7,0 10,0,24,0,83,0,87,0,62,0,59,0 19,0,14,0,33,0,45,0,90,0,12,0 88,0,44,0,17,0,21,0,86,0,69,0 77,0,18,0,37,0,91,0,61,0,3,0 55,0,81,0,34,0,49,0,78,0,31,0 56,0,65,0,85,0,27,0,47,0,52,0 89,0,79,0,23,0,63,0,30,0,26,0 46,0,74,0,16,0,73,0,22,0,57,0 8,0,68,0,67,0,66,0,50,0,42,0 6,0,75,0,13,0,72,0,71,0,40,0 82,0,64,0,76,0,54,0,9,0,1,0 5,0,84,0,32,0,60,0,29,0,48,0 41,0,15,0,2,0,11,0,39,0,20,0 70,0,38,0,28,0,36,0,58,0,43,0 53,0,49,0,90,0,89,0,17,0,37,0 61,0,22,0,44,0,85,0,31,0,19,0 63,0,66,0,45,0,24,0,73,0,88,0 57,0,59,0,78,0,3,0,14,0,75,0 52,0,10,0,86,0,54,0,46,0,6,0 81,0,23,0,87,0,74,0,77,0,76,0 69,0,27,0,26,0,4,0,48,0,2,0 28,0,47,0,21,0,20,0,25,0,33,0 38,0,12,0,51,0,68,0,64,0,65,0 1,0,35,0,83,0,84,0,15,0,36,0 8,0,62,0,43,0,30,0,11,0,32,0 39,0,50,0,7,0,72,0,70,0,55,0 58,0,67,0,41,0,18,0,53,0,40,0 34,0,9,0,91,0,5,0,79,0,13,0 71,0,80,0,60,0,42,0,82,0,56,0 29,0,69,1,20,1,16,0,85,1,86,1 ================================================ FILE: schedules/91_3.csv ================================================ 88,0,23,0,72,0,51,0,15,0,78,0 30,0,16,0,22,0,27,0,45,0,36,0 73,0,12,0,10,0,84,0,86,0,8,0 83,0,1,0,54,0,6,0,42,0,18,0 25,0,35,0,3,0,61,0,33,0,59,0 67,0,89,0,39,0,53,0,82,0,55,0 85,0,17,0,87,0,58,0,62,0,4,0 90,0,74,0,2,0,13,0,60,0,24,0 43,0,34,0,80,0,79,0,56,0,32,0 29,0,41,0,71,0,66,0,14,0,49,0 64,0,19,0,50,0,44,0,37,0,75,0 52,0,65,0,91,0,77,0,63,0,57,0 46,0,28,0,70,0,81,0,9,0,21,0 38,0,31,0,47,0,26,0,20,0,11,0 68,0,48,0,69,0,5,0,40,0,7,0 76,0,74,0,61,0,54,0,39,0,73,0 15,1,8,0,85,0,6,1,53,0,56,0 89,1,13,0,79,0,23,0,59,0,66,0 2,0,72,0,58,0,25,0,19,0,82,0 84,0,22,0,24,0,49,0,65,0,88,0 14,0,77,0,87,0,16,0,46,0,67,0 12,0,34,0,52,0,20,0,17,0,64,0 32,0,28,0,91,0,47,0,29,0,44,0 62,0,48,0,42,0,80,0,35,0,37,0 5,0,10,0,63,0,26,0,9,0,76,0 81,0,90,0,27,0,18,0,38,0,51,0 55,0,57,0,40,0,31,0,78,0,45,0 70,0,71,0,4,0,50,0,30,0,68,0 83,0,41,0,11,0,75,0,43,0,3,0 21,0,1,0,36,0,86,0,7,0,60,0 33,0,23,0,82,0,69,0,32,0,85,0 42,0,56,0,84,0,2,0,89,0,17,0 64,0,15,0,26,0,39,0,28,0,13,0 73,0,66,0,37,0,58,0,46,0,52,0 6,0,65,0,78,0,48,0,19,0,38,0 80,0,51,0,63,0,54,0,22,0,67,0 3,0,55,0,87,0,71,0,12,0,79,0 7,0,9,0,29,0,61,0,34,0,83,0 47,0,45,0,59,0,90,0,1,0,69,0 10,0,4,0,75,0,21,0,35,0,72,0 16,0,53,0,76,0,68,0,11,0,24,0 33,0,36,0,49,0,5,0,74,0,50,0 14,0,86,0,18,0,30,0,57,0,25,0 60,0,43,0,44,0,8,0,31,0,27,0 77,0,81,0,20,0,62,0,88,0,41,0 91,0,40,0,15,0,70,0,6,0,89,0 ================================================ FILE: schedules/91_4.csv ================================================ 56,0,57,0,53,0,12,0,45,0,30,0 11,0,91,0,9,0,73,0,8,0,55,0 59,0,86,0,42,0,70,0,40,0,22,0 21,0,36,0,46,0,26,0,90,0,15,0 31,0,72,0,82,0,47,0,51,0,37,0 79,0,74,0,33,0,3,0,20,0,16,0 54,0,88,0,24,0,41,0,60,0,28,0 25,0,63,0,14,0,18,0,64,0,66,0 67,0,76,0,13,0,69,0,43,0,61,0 27,0,39,0,23,0,10,0,68,0,44,0 71,0,87,0,19,0,84,0,4,0,6,0 80,0,49,0,83,0,65,0,38,0,17,0 62,0,50,0,85,0,58,0,2,0,1,0 34,0,77,0,89,0,35,0,78,0,48,0 75,0,81,0,7,0,32,0,29,0,52,0 5,0,33,0,21,0,28,0,63,0,9,0 36,0,13,0,82,0,16,0,22,0,11,0 56,0,8,0,72,0,54,0,42,0,26,0 27,0,40,0,90,0,76,0,79,0,30,0 20,0,14,0,44,0,55,0,43,0,65,0 38,0,73,0,45,0,4,0,64,0,59,0 60,0,67,0,58,0,77,0,84,0,46,0 31,0,53,0,32,0,80,0,71,0,10,0 50,0,24,0,48,0,52,0,12,0,87,0 69,0,17,0,7,0,47,0,19,0,66,0 78,0,37,0,1,0,5,0,61,0,86,0 49,0,89,0,3,0,2,0,39,0,29,0 35,0,68,0,83,0,6,0,75,0,85,0 81,0,74,0,18,0,34,0,51,0,88,0 41,0,57,0,23,0,70,0,62,0,91,0 15,0,79,0,59,0,25,0,82,0,84,0 36,1,65,0,28,0,48,1,67,0,32,0 17,0,10,0,20,0,60,0,72,0,63,0 73,0,71,0,40,0,14,0,56,0,61,0 38,0,29,0,58,0,30,0,31,0,44,0 11,0,43,0,85,0,33,0,7,0,86,0 16,0,77,0,69,0,81,0,37,0,24,0 45,0,75,0,76,0,89,0,41,0,42,0 21,0,70,0,52,0,6,0,2,0,51,0 91,0,64,0,78,0,50,0,3,0,27,0 46,0,4,0,5,0,74,0,35,0,55,0 62,0,19,0,90,0,18,0,68,0,80,0 15,0,23,0,8,0,53,0,1,0,13,0 22,0,66,0,88,0,12,0,9,0,83,0 47,0,34,0,87,0,54,0,57,0,39,0 26,0,25,0,61,0,49,0,48,0,41,0 10,0,33,0,84,0,89,0,69,0,14,0 70,0,17,0,37,0,85,0,64,0,56,0 58,0,4,0,78,0,72,0,76,0,11,0 60,0,31,0,59,0,35,0,3,0,21,0 51,0,8,0,86,0,36,0,71,0,62,0 2,0,18,0,42,0,27,0,9,0,38,0 16,0,65,0,66,0,40,0,34,0,52,0 45,0,55,0,6,0,67,0,22,0,81,0 43,0,73,0,39,0,77,0,82,0,5,0 79,0,47,0,12,0,32,0,49,0,68,0 26,0,44,0,74,0,50,0,53,0,19,0 25,0,83,0,1,0,24,0,90,0,29,0 91,0,28,0,30,0,87,0,15,0,75,0 20,0,13,0,88,0,57,0,46,0,7,0 54,0,63,0,36,0,23,0,80,0,48,0 ================================================ FILE: schedules/91_5.csv ================================================ 55,0,82,0,83,0,8,0,88,0,68,0 43,0,72,0,91,0,54,0,73,0,26,0 52,0,50,0,9,0,84,0,34,0,42,0 89,0,39,0,23,0,56,0,64,0,81,0 48,0,71,0,44,0,2,0,38,0,27,0 24,0,40,0,74,0,28,0,78,0,10,0 75,0,35,0,30,0,53,0,29,0,13,0 87,0,15,0,14,0,70,0,16,0,62,0 25,0,65,0,46,0,85,0,1,0,86,0 21,0,37,0,59,0,77,0,79,0,45,0 6,0,49,0,63,0,67,0,7,0,5,0 18,0,3,0,60,0,69,0,20,0,19,0 33,0,11,0,32,0,41,0,76,0,80,0 90,0,4,0,36,0,12,0,31,0,22,0 58,0,61,0,47,0,57,0,17,0,66,0 51,0,55,0,40,0,35,0,54,0,56,0 84,0,14,0,73,0,64,0,38,0,68,0 72,0,87,0,81,0,30,0,45,0,44,0 85,0,42,0,23,0,8,0,74,0,71,0 27,0,89,0,34,0,83,0,46,0,75,0 16,0,13,0,80,0,37,0,49,0,3,0 67,0,28,0,39,0,62,0,52,0,11,0 79,0,53,0,36,0,76,0,82,0,47,0 78,0,29,0,12,0,63,0,48,0,1,0 26,0,20,0,22,0,9,0,7,0,25,0 10,0,15,0,69,0,61,0,21,0,31,0 66,0,70,0,59,0,90,0,51,0,18,0 41,0,6,0,2,0,65,0,24,0,43,0 86,0,17,0,60,0,32,0,4,0,88,0 91,0,58,0,5,0,33,0,50,0,77,0 57,0,37,0,44,0,19,0,53,0,40,0 34,0,35,0,74,0,73,1,82,0,3,0 64,0,83,0,47,0,49,0,42,0,22,0 11,0,81,0,71,0,7,0,46,0,84,0 80,0,39,0,1,0,87,0,61,0,9,0 13,0,14,0,48,0,23,0,66,0,69,0 63,0,45,0,70,0,86,0,89,0,55,0 85,0,17,0,12,0,75,0,91,0,59,0 60,0,68,0,90,0,72,0,57,0,24,0 78,0,36,0,6,0,26,0,51,0,32,0 79,0,10,0,19,0,5,0,41,0,8,0 67,0,50,0,56,0,29,0,15,0,27,0 21,0,43,0,25,0,30,0,28,0,88,0 2,0,16,0,76,0,18,0,4,0,58,0 38,0,65,0,31,0,52,0,20,0,77,0 33,0,54,0,45,0,62,0,17,0,9,0 90,0,40,0,84,0,85,0,48,0,89,0 69,0,1,0,51,0,47,0,68,0,34,0 80,0,57,0,5,0,73,0,12,0,83,0 44,0,64,0,3,0,46,0,79,0,32,0 50,0,19,0,88,0,71,0,14,0,6,0 87,0,74,0,49,0,4,0,91,0,29,0 78,0,82,0,27,0,13,0,39,0,21,0 62,0,72,0,31,0,42,0,7,0,76,0 33,0,18,0,22,0,43,0,37,0,81,0 8,0,26,0,63,0,65,0,28,0,53,0 59,0,61,0,38,0,35,0,86,0,11,0 36,0,77,0,30,0,41,0,16,0,54,0 25,0,24,0,58,0,15,0,23,0,55,0 75,0,66,0,60,0,56,0,10,0,52,0 20,0,67,0,46,0,70,0,2,0,91,0 62,0,4,0,40,0,27,0,73,0,6,0 89,0,1,0,7,0,82,0,44,0,14,0 71,0,64,0,65,0,80,0,78,0,72,0 22,0,48,0,76,0,50,0,39,0,3,0 18,0,54,0,83,0,74,0,61,0,84,0 29,0,8,0,9,0,69,0,58,0,90,0 42,0,24,0,66,0,21,0,38,0,16,0 49,0,19,0,56,0,36,0,17,0,25,0 26,0,70,0,31,0,33,0,30,0,79,0 52,0,53,0,5,0,81,0,55,0,59,0 32,0,28,0,68,0,45,0,12,0,15,0 51,0,86,0,10,0,13,0,87,0,57,0 85,0,35,0,43,0,67,0,60,0,77,0 88,0,23,0,37,0,34,0,41,0,20,0 47,0,11,0,73,0,75,0,63,0,2,0 ================================================ FILE: schedules/91_6.csv ================================================ 32,0,75,0,19,0,14,0,24,0,66,0 65,0,82,0,26,0,1,0,13,0,67,0 79,0,87,0,74,0,61,0,44,0,45,0 48,0,90,0,69,0,46,0,3,0,10,0 86,0,83,0,31,0,81,0,53,0,36,0 2,0,21,0,12,0,20,0,23,0,4,0 11,0,63,0,55,0,70,0,91,0,7,0 47,0,22,0,88,0,76,0,38,0,33,0 8,0,16,0,51,0,73,0,9,0,64,0 62,0,72,0,57,0,27,0,34,0,78,0 15,0,18,0,77,0,85,0,5,0,52,0 30,0,56,0,71,0,42,0,54,0,80,0 59,0,35,0,40,0,29,0,43,0,17,0 50,0,41,0,28,0,39,0,60,0,49,0 68,0,37,0,89,0,84,0,25,0,6,0 58,0,91,0,88,0,83,0,74,0,32,0 55,0,21,0,45,0,31,0,22,0,13,0 19,0,38,0,72,0,4,0,46,0,82,0 85,0,78,0,73,0,7,0,87,0,66,0 75,0,9,0,52,0,30,0,70,0,69,0 34,0,42,0,44,0,81,0,63,0,26,0 51,0,59,0,33,0,61,0,41,0,36,0 8,0,24,0,71,0,25,0,17,0,10,0 58,0,80,0,90,0,29,0,47,0,49,0 40,0,23,0,76,0,14,0,3,0,62,0 57,0,89,0,20,0,39,0,43,0,18,0 79,0,28,0,67,0,15,0,68,0,54,0 27,0,2,0,60,0,35,0,86,0,16,0 11,0,12,0,84,0,65,0,64,0,50,0 77,0,6,0,56,0,53,0,1,0,48,0 5,0,32,0,36,0,37,0,34,0,73,0 81,0,70,0,45,0,51,0,85,0,47,0 26,0,61,0,17,0,55,0,72,0,66,0 4,0,52,0,31,0,58,0,62,0,42,0 40,0,79,0,19,0,83,0,57,0,90,0 16,0,76,0,46,0,78,0,68,0,13,0 15,0,82,0,27,0,7,0,71,0,44,0 69,0,11,0,77,0,87,0,35,0,49,0 59,0,48,0,39,0,38,0,23,0,37,0 64,0,67,0,43,0,3,0,74,0,56,0 60,0,84,0,1,0,20,0,5,0,75,0 50,0,91,0,22,0,2,0,8,0,89,0 65,0,30,0,63,0,86,0,24,0,6,0 88,0,25,0,9,0,54,0,14,0,18,0 53,0,10,0,33,0,12,0,28,0,80,0 41,0,21,0,83,0,29,0,34,0,71,0 4,0,36,0,49,0,27,0,55,0,68,0 43,0,62,0,66,0,11,0,51,0,48,0 7,0,16,0,67,0,17,0,84,0,81,0 60,0,23,0,13,0,19,0,69,0,85,0 75,0,57,0,74,0,77,0,26,0,76,0 37,0,78,0,31,0,18,0,30,0,40,0 39,0,3,0,22,0,63,0,25,0,80,0 86,0,89,0,12,0,59,0,9,0,79,0 46,0,70,0,8,0,28,0,20,0,32,0 10,0,38,0,58,0,41,0,56,0,44,0 73,0,50,0,42,0,88,0,21,0,6,0 47,0,24,0,54,0,2,0,53,0,72,0 35,0,61,0,14,0,5,0,64,0,82,0 90,0,15,0,91,0,87,0,33,0,65,0 45,0,29,0,11,0,52,0,1,0,36,0 81,0,77,0,13,0,27,0,37,0,12,0 86,0,28,0,51,0,74,0,34,0,40,0 41,0,76,0,70,0,19,0,84,0,48,0 3,0,66,0,30,0,8,0,83,0,4,0 73,0,18,0,10,0,60,0,67,0,59,0 61,0,49,0,63,0,23,0,53,0,78,0 17,0,46,0,21,0,44,0,91,0,80,0 33,0,68,0,24,0,85,0,50,0,58,0 6,0,69,0,79,0,26,0,14,0,22,0 29,0,38,0,15,0,31,0,2,0,25,0 89,0,64,0,88,0,90,0,75,0,55,0 82,0,20,0,54,0,62,0,16,0,45,0 65,0,32,0,35,0,71,0,52,0,57,0 39,0,56,0,5,0,47,0,7,0,9,0 1,0,43,0,72,0,42,0,87,0,8,0 86,0,4,0,13,0,61,0,10,0,50,0 18,0,33,0,34,0,11,0,19,0,6,0 31,0,44,0,60,0,3,0,77,0,70,0 48,0,29,0,14,0,73,0,91,0,28,0 55,0,78,0,83,0,24,0,15,0,12,0 36,0,26,0,54,0,58,0,89,0,23,0 39,0,35,0,76,0,30,0,51,0,90,0 25,0,47,0,52,0,16,0,43,0,79,0 80,0,37,0,20,0,9,0,67,0,72,0 5,0,63,0,38,0,21,0,66,0,27,0 74,0,84,0,22,0,46,0,71,0,59,0 81,0,87,0,82,0,40,0,75,0,41,0 42,0,64,0,53,0,69,0,45,0,32,0 85,0,17,0,65,0,62,0,56,0,49,0 7,0,68,0,1,0,57,0,88,0,2,0 ================================================ FILE: schedules/91_7.csv ================================================ 15,0,82,0,89,0,13,0,76,0,49,0 21,0,5,0,45,0,62,0,72,0,63,0 2,0,81,0,66,0,37,0,40,0,22,0 59,0,70,0,79,0,9,0,80,0,16,0 54,0,58,0,77,0,27,0,19,0,6,0 25,0,26,0,3,0,86,0,12,0,75,0 50,0,87,0,39,0,88,0,43,0,17,0 57,0,38,0,67,0,61,0,55,0,23,0 46,0,71,0,31,0,83,0,10,0,64,0 47,0,73,0,28,0,91,0,65,0,32,0 20,0,41,0,56,0,44,0,29,0,53,0 34,0,35,0,74,0,7,0,68,0,48,0 90,0,11,0,85,0,4,0,69,0,42,0 30,0,24,0,8,0,1,0,84,0,51,0 33,0,52,0,18,0,36,0,78,0,60,0 14,0,88,0,70,0,5,0,25,0,67,0 26,0,72,0,83,0,89,0,39,0,59,0 62,0,91,0,3,0,38,0,79,0,17,0 64,0,41,0,12,0,13,0,61,0,73,0 76,0,43,0,20,0,75,0,32,0,68,0 49,0,65,0,42,0,66,0,23,0,29,0 50,0,40,0,44,0,57,0,31,0,77,0 45,0,87,0,84,0,56,0,82,0,74,0 80,0,18,0,6,0,35,0,85,0,15,0 33,0,28,0,21,0,46,0,69,0,22,0 24,0,4,0,48,0,37,0,36,0,71,0 55,0,53,0,8,0,2,0,58,0,47,0 7,0,1,0,60,0,54,0,10,0,81,0 52,0,86,0,51,0,14,0,9,0,11,0 78,0,63,0,16,0,27,0,34,0,30,0 19,0,5,0,68,0,90,0,41,0,59,0 75,1,89,0,45,0,42,1,38,0,80,0 18,1,32,0,21,0,77,1,29,0,79,0 65,0,64,0,26,0,74,1,76,0,50,0 17,0,83,0,55,0,84,0,49,0,25,0 15,0,91,0,40,0,71,0,54,0,20,0 3,0,57,0,2,0,70,0,6,0,60,0 12,0,9,0,88,0,78,0,48,0,28,0 81,0,34,0,85,0,86,0,24,0,53,0 69,0,63,0,37,0,13,0,1,0,52,0 4,0,82,0,31,0,33,0,67,0,47,0 90,0,43,0,16,0,44,0,66,0,51,0 14,0,10,0,62,0,56,0,19,0,30,0 87,0,72,0,11,0,61,0,35,0,27,0 46,0,7,0,23,0,8,0,73,0,39,0 36,0,22,0,65,0,58,0,57,0,15,0 79,0,41,0,71,0,2,0,25,0,42,0 28,0,83,0,1,0,68,0,45,0,77,0 76,0,40,0,29,0,3,0,85,0,67,0 49,0,91,0,53,0,33,0,80,0,63,0 62,0,84,0,12,0,54,0,31,0,34,0 66,0,86,0,87,0,70,0,19,0,4,0 21,0,13,0,11,0,74,0,10,0,39,0 48,0,55,0,59,0,6,0,14,0,43,0 51,0,60,0,75,0,37,0,50,0,73,0 24,0,78,0,22,0,5,0,61,0,7,0 17,0,47,0,9,0,64,0,69,0,30,0 23,0,32,0,72,0,90,0,52,0,58,0 8,0,38,0,44,0,81,0,27,0,26,0 18,0,20,0,46,0,88,0,16,0,82,0 35,0,89,0,54,0,56,0,36,0,66,0 76,0,25,0,33,0,34,0,77,0,87,0 19,0,39,0,75,0,31,0,1,0,48,0 63,0,10,0,43,0,65,0,24,0,41,0 80,0,13,0,78,0,17,0,86,0,57,0 64,0,22,0,6,0,42,0,84,0,72,0 11,0,29,0,59,0,38,0,60,0,12,0 62,0,85,0,2,0,20,0,51,0,83,0 15,0,68,0,88,0,21,0,55,0,44,0 50,0,18,0,58,0,4,0,3,0,7,0 79,0,30,0,73,0,67,0,49,0,52,0 9,0,71,0,61,0,82,0,26,0,53,0 36,0,28,0,74,0,8,0,5,0,40,0 27,0,37,0,56,0,90,0,91,0,46,0 81,0,35,0,69,0,45,0,32,0,70,0 23,0,16,0,47,0,14,0,89,0,24,0 66,0,85,0,33,0,39,0,68,0,12,0 41,0,77,0,38,0,7,0,15,0,84,0 83,0,44,0,76,0,18,0,63,0,54,0 73,0,48,0,42,0,87,0,21,0,3,0 31,0,88,0,29,0,2,0,74,0,80,0 6,0,30,0,11,0,25,0,36,0,53,0 34,0,1,0,32,0,50,0,9,0,49,0 22,0,4,0,59,0,91,0,10,0,23,0 82,0,57,0,27,0,52,0,62,0,43,0 65,0,51,0,46,0,55,0,13,0,45,0 17,0,40,0,61,0,90,0,70,0,89,0 5,0,56,0,75,0,16,0,81,0,64,0 71,0,14,0,72,0,69,0,78,0,8,0 37,0,79,0,35,0,19,0,26,0,47,0 67,0,58,0,86,0,60,0,20,0,28,0 25,0,66,0,24,0,15,0,74,0,59,0 53,0,27,0,73,0,22,0,1,0,18,0 2,0,44,0,7,0,91,0,87,0,30,0 12,0,10,0,17,0,51,0,77,0,82,0 65,0,39,0,6,0,4,0,62,0,16,0 8,0,52,0,61,0,75,0,88,0,85,0 63,0,3,0,19,0,71,0,11,0,32,0 35,0,13,0,42,0,58,0,83,0,40,0 70,0,38,0,50,0,20,0,72,0,33,0 31,0,60,0,68,0,69,0,23,0,56,0 55,0,64,0,89,0,28,0,34,0,29,0 47,0,36,0,80,0,41,0,76,0,81,0 48,0,54,0,46,0,86,0,5,0,79,0 43,0,78,0,84,0,21,0,67,0,37,0 45,0,49,0,57,0,14,0,26,0,90,0 42,0,77,0,74,0,9,0,75,0,18,0 ================================================ FILE: schedules/91_8.csv ================================================ 57,0,64,0,47,0,20,0,32,0,35,0 3,0,23,0,60,0,8,0,65,0,45,0 44,0,75,0,62,0,49,0,31,0,11,0 91,0,16,0,6,0,80,0,9,0,86,0 76,0,40,0,39,0,88,0,21,0,25,0 41,0,24,0,83,0,58,0,69,0,79,0 70,0,15,0,22,0,68,0,84,0,87,0 37,0,34,0,1,0,78,0,90,0,14,0 26,0,52,0,2,0,50,0,42,0,18,0 54,0,56,0,67,0,63,0,82,0,53,0 29,0,36,0,7,0,19,0,72,0,10,0 12,0,77,0,66,0,74,0,73,0,59,0 4,0,55,0,17,0,27,0,85,0,81,0 28,0,48,0,61,0,89,0,5,0,33,0 51,0,38,0,30,0,46,0,13,0,43,0 58,0,45,0,91,0,71,0,87,0,37,0 1,0,41,0,8,0,39,0,57,0,31,0 78,0,16,0,11,0,76,0,24,0,2,0 52,0,44,0,3,0,19,0,54,0,15,0 40,0,70,0,66,0,80,0,63,0,14,0 4,0,22,0,64,0,86,0,18,0,21,0 74,0,27,0,67,0,10,0,32,0,75,0 82,0,34,0,83,0,48,0,43,0,12,0 33,0,46,0,55,0,69,0,20,0,29,0 62,0,85,0,53,0,79,0,65,0,42,0 35,0,84,0,51,0,60,0,77,0,17,0 59,0,6,0,36,0,90,0,89,0,71,0 13,0,72,0,9,0,28,0,47,0,56,0 5,0,23,0,38,0,26,0,68,0,25,0 7,0,88,0,61,0,73,0,81,0,50,0 30,0,54,0,27,0,49,0,24,0,86,0 43,1,2,0,20,0,74,1,70,0,19,0 15,1,64,0,29,0,14,1,67,0,76,0 10,0,58,0,40,0,33,0,3,0,16,0 36,0,75,0,12,0,39,0,42,0,37,0 82,0,69,0,66,0,4,0,51,0,52,0 90,0,35,0,65,0,87,0,13,0,5,0 11,0,32,0,81,0,25,0,34,0,28,0 48,0,17,0,26,0,79,0,46,0,49,0 63,0,59,0,47,0,45,0,31,0,50,0 71,0,62,0,9,0,84,0,57,0,7,0 60,0,1,0,73,0,85,0,68,0,6,0 55,0,23,0,30,0,80,0,53,0,21,0 56,0,83,0,89,0,22,0,78,0,38,0 77,0,91,0,44,0,72,0,8,0,61,0 18,0,41,0,54,0,88,0,28,0,37,0 74,0,81,0,39,0,52,0,90,0,64,0 34,0,65,0,46,0,15,0,16,0,31,0 26,0,3,0,69,0,35,0,36,0,11,0 86,0,48,0,32,0,68,0,59,0,2,0 45,0,17,0,82,0,9,0,70,0,29,0 10,0,12,0,76,0,79,0,4,0,47,0 40,0,49,0,22,0,23,0,7,0,77,0 89,0,25,0,30,0,84,0,19,0,63,0 71,0,42,0,61,0,13,0,60,0,24,0 62,0,33,0,1,0,67,0,88,0,72,0 57,0,80,0,51,0,44,0,83,0,5,0 50,0,14,0,38,0,6,0,55,0,75,0 18,0,20,0,73,0,91,0,78,0,53,0 58,0,8,0,56,0,66,0,43,0,85,0 87,0,41,0,29,0,27,0,21,0,2,0 11,0,70,0,59,0,64,0,30,0,37,0 34,0,23,0,35,0,4,0,89,0,39,0 84,0,47,0,46,0,3,0,82,0,61,0 12,0,71,0,65,0,40,0,44,0,67,0 75,0,86,0,79,0,15,0,25,0,51,0 69,0,22,0,90,0,10,0,57,0,91,0 49,0,78,0,81,0,6,0,13,0,66,0 53,0,19,0,48,0,76,0,27,0,60,0 18,0,74,0,80,0,87,0,31,0,17,0 24,0,50,0,21,0,56,0,5,0,1,0 54,0,77,0,85,0,38,0,33,0,45,0 20,0,63,0,68,0,58,0,62,0,28,0 43,0,88,0,36,0,9,0,52,0,55,0 72,0,26,0,16,0,14,0,73,0,41,0 32,0,8,0,42,0,83,0,7,0,30,0 71,0,11,0,19,0,22,0,66,0,79,0 13,0,34,0,27,0,80,0,69,0,59,0 31,0,37,0,56,0,23,0,10,0,61,0 21,0,89,0,15,0,60,0,91,0,12,0 18,0,76,0,35,0,70,0,81,0,1,0 53,0,90,0,4,0,58,0,88,0,38,0 87,0,9,0,39,0,63,0,51,0,26,0 8,0,48,0,14,0,36,0,20,0,84,0 67,0,49,0,45,0,42,0,16,0,55,0 50,0,86,0,43,0,28,0,29,0,44,0 32,0,24,0,52,0,40,0,46,0,85,0 82,0,7,0,33,0,75,0,2,0,64,0 17,0,73,0,25,0,54,0,47,0,83,0 3,0,6,0,77,0,62,0,5,0,41,0 68,0,78,0,72,0,57,0,74,0,65,0 21,0,63,0,61,0,36,0,38,0,34,0 1,0,27,0,15,0,26,0,20,0,71,0 59,0,58,0,14,0,44,0,60,0,81,0 88,0,85,0,51,0,29,0,91,0,49,0 31,0,53,0,86,0,84,0,33,0,52,0 2,0,80,0,35,0,56,0,45,0,12,0 9,0,25,0,41,0,46,0,66,0,42,0 68,0,76,0,37,0,83,0,55,0,3,0 72,0,32,0,6,0,43,0,54,0,22,0 74,0,40,0,5,0,8,0,4,0,11,0 19,0,16,0,23,0,75,0,17,0,90,0 70,0,65,0,7,0,24,0,48,0,47,0 89,0,57,0,79,0,82,0,18,0,77,0 10,0,87,0,78,0,62,0,64,0,50,0 28,0,39,0,69,0,73,0,30,0,67,0 13,0,63,0,85,0,76,0,41,0,15,0 81,0,12,0,72,0,3,0,86,0,20,0 22,0,36,0,44,0,53,0,74,0,25,0 49,0,2,0,14,0,9,0,83,0,4,0 43,0,7,0,21,0,68,0,16,0,35,0 47,0,77,0,88,0,26,0,34,0,19,0 18,0,46,0,11,0,90,0,27,0,56,0 38,0,39,0,60,0,82,0,32,0,62,0 57,0,33,0,24,0,23,0,87,0,59,0 13,0,79,0,84,0,91,0,40,0,55,0 37,0,50,0,67,0,89,0,17,0,66,0 64,0,42,0,69,0,1,0,54,0,48,0 75,0,73,0,58,0,65,0,80,0,52,0 30,0,31,0,5,0,78,0,71,0,29,0 6,0,28,0,10,0,8,0,51,0,70,0 45,0,43,0,14,0,61,0,74,0,15,0 ================================================ FILE: schedules/91_9.csv ================================================ 29,0,86,0,73,0,9,0,24,0,70,0 39,0,8,0,2,0,22,0,25,0,90,0 79,0,68,0,62,0,45,0,35,0,77,0 18,0,51,0,80,0,14,0,28,0,44,0 72,0,16,0,46,0,36,0,65,0,66,0 38,0,78,0,17,0,48,0,10,0,15,0 60,0,83,0,89,0,1,0,84,0,23,0 55,0,64,0,43,0,11,0,5,0,49,0 13,0,56,0,87,0,34,0,6,0,57,0 42,0,91,0,30,0,21,0,85,0,50,0 53,0,76,0,20,0,12,0,37,0,58,0 71,0,59,0,81,0,69,0,4,0,19,0 67,0,88,0,33,0,74,0,26,0,31,0 63,0,75,0,32,0,3,0,61,0,41,0 47,0,40,0,52,0,7,0,54,0,82,0 84,0,51,0,68,0,27,0,25,0,55,0 5,0,13,0,24,0,10,0,89,0,16,0 57,0,66,0,42,0,29,0,77,0,28,0 34,0,18,0,36,0,35,0,90,0,17,0 81,0,14,0,91,0,39,0,1,0,43,0 31,0,76,0,86,0,59,0,44,0,78,0 12,0,74,0,85,0,64,0,79,0,38,0 37,0,56,0,67,0,48,0,4,0,8,0 65,0,41,0,88,0,70,0,71,0,54,0 69,0,6,0,61,0,30,0,45,0,52,0 15,0,11,0,20,0,21,0,72,0,63,0 7,0,80,0,87,0,73,0,3,0,19,0 2,0,23,0,75,0,82,0,9,0,27,0 33,0,62,0,58,0,46,0,40,0,83,0 22,0,60,0,50,0,53,0,47,0,49,0 26,0,39,0,4,0,32,0,85,0,24,0 86,1,71,0,14,0,66,1,79,0,25,0 52,1,70,0,36,0,28,0,13,0,68,0 41,0,64,0,21,0,45,0,8,0,44,0 56,0,76,0,7,0,61,0,43,0,84,0 67,0,30,0,75,0,87,0,89,0,65,0 91,0,51,0,35,0,82,0,78,0,46,0 60,0,20,0,69,0,55,0,80,0,33,0 74,0,22,0,1,0,34,0,73,0,10,0 19,0,32,0,23,0,29,0,15,0,58,0 77,0,90,0,72,0,47,0,5,0,83,0 37,0,62,0,49,0,17,0,63,0,26,0 9,0,54,0,12,0,48,0,57,0,59,0 16,0,40,0,3,0,11,0,31,0,27,0 38,0,6,0,18,0,42,0,53,0,81,0 50,0,46,0,28,0,2,0,88,0,79,0 41,0,52,0,35,0,55,0,89,0,4,0 76,0,10,0,32,0,14,0,70,0,85,0 8,0,74,0,71,0,83,0,61,0,36,0 80,0,47,0,65,0,86,0,21,0,34,0 69,0,22,0,44,0,15,0,66,0,13,0 19,0,64,0,48,0,75,0,25,0,33,0 7,0,81,0,77,0,67,0,16,0,63,0 43,0,27,0,6,0,72,0,58,0,54,0 57,0,20,0,24,0,51,0,38,0,31,0 40,0,78,0,5,0,30,0,68,0,53,0 87,0,91,0,49,0,12,0,18,0,23,0 29,0,84,0,50,0,39,0,3,0,17,0 1,0,37,0,9,0,90,0,45,0,88,0 73,0,11,0,82,0,59,0,60,0,26,0 42,0,62,0,16,0,56,0,2,0,64,0 27,0,19,0,74,0,77,0,13,0,41,0 63,0,52,0,33,0,85,0,51,0,58,0 78,0,43,0,83,0,22,0,32,0,79,0 40,0,8,0,75,0,91,0,69,0,38,0 46,0,12,0,17,0,44,0,5,0,4,0 76,0,55,0,36,0,81,0,47,0,29,0 72,0,61,0,82,0,37,0,18,0,86,0 28,0,15,0,26,0,53,0,7,0,1,0 21,0,90,0,70,0,57,0,3,0,62,0 30,0,25,0,59,0,24,0,56,0,23,0 67,0,45,0,54,0,80,0,10,0,50,0 48,0,11,0,42,0,34,0,89,0,14,0 20,0,39,0,49,0,88,0,73,0,66,0 68,0,60,0,6,0,65,0,2,0,31,0 35,0,87,0,5,0,84,0,9,0,71,0 41,0,22,0,7,0,38,0,46,0,29,0 3,0,85,0,77,0,82,0,55,0,1,0 27,0,79,0,59,0,70,0,53,0,61,0 17,0,33,0,16,0,8,0,30,0,54,0 83,0,52,0,12,0,26,0,56,0,14,0 73,0,28,0,21,0,37,0,75,0,78,0 39,0,58,0,68,0,18,0,48,0,69,0 89,0,13,0,71,0,31,0,80,0,91,0 45,0,42,0,4,0,15,0,86,0,84,0 10,0,57,0,2,0,49,0,19,0,35,0 90,0,74,0,65,0,23,0,76,0,51,0 20,0,47,0,9,0,64,0,67,0,6,0 43,0,63,0,34,0,66,0,24,0,60,0 25,0,11,0,88,0,36,0,87,0,62,0 44,0,32,0,40,0,81,0,72,0,50,0 59,0,28,0,41,0,5,0,33,0,91,0 75,0,77,0,70,0,80,0,52,0,17,0 46,0,86,0,53,0,39,0,71,0,10,0 61,0,55,0,73,0,48,0,2,0,13,0 30,0,64,0,83,0,35,0,37,0,29,0 8,0,23,0,14,0,7,0,78,0,20,0 16,0,15,0,82,0,49,0,74,0,6,0 84,0,65,0,85,0,22,0,57,0,81,0 26,0,36,0,40,0,19,0,43,0,45,0 79,0,90,0,58,0,24,0,42,0,44,0 51,0,72,0,4,0,3,0,60,0,88,0 50,0,9,0,89,0,63,0,25,0,76,0 1,0,47,0,56,0,18,0,32,0,11,0 34,0,12,0,62,0,67,0,27,0,69,0 21,0,38,0,54,0,87,0,68,0,66,0 31,0,5,0,37,0,23,0,52,0,22,0 64,0,77,0,84,0,40,0,73,0,14,0 86,0,17,0,43,0,20,0,28,0,85,0 13,0,3,0,26,0,35,0,65,0,8,0 39,0,78,0,45,0,60,0,16,0,57,0 9,0,51,0,10,0,83,0,7,0,11,0 49,0,27,0,29,0,80,0,4,0,90,0 82,0,34,0,25,0,81,0,41,0,58,0 88,0,47,0,15,0,68,0,59,0,89,0 53,0,54,0,44,0,91,0,56,0,36,0 18,0,67,0,19,0,79,0,55,0,21,0 76,0,2,0,1,0,72,0,33,0,87,0 6,0,24,0,50,0,71,0,12,0,75,0 66,0,32,0,48,0,62,0,30,0,74,0 31,0,70,0,69,0,46,0,42,0,63,0 38,0,58,0,26,0,61,0,9,0,77,0 25,0,65,0,29,0,20,0,10,0,40,0 81,0,13,0,86,0,60,0,64,0,54,0 35,0,73,0,44,0,47,0,43,0,16,0 39,0,5,0,79,0,15,0,56,0,51,0 57,0,4,0,83,0,76,0,75,0,18,0 66,0,85,0,62,0,41,0,6,0,78,0 48,0,24,0,27,0,21,0,52,0,88,0 23,0,45,0,34,0,71,0,28,0,72,0 12,0,61,0,68,0,42,0,22,0,33,0 70,0,84,0,91,0,11,0,37,0,19,0 82,0,80,0,63,0,30,0,36,0,38,0 89,0,7,0,2,0,17,0,74,0,69,0 87,0,55,0,53,0,32,0,90,0,31,0 59,0,46,0,3,0,14,0,49,0,67,0 1,0,50,0,66,0,8,0,86,0,52,0 ================================================ FILE: schedules/92_1.csv ================================================ 34,0,45,0,57,0,15,0,10,0,62,0 21,0,22,0,59,0,91,0,85,0,55,0 24,0,50,0,49,0,36,0,61,0,54,0 46,0,2,0,5,0,30,0,69,0,90,0 70,0,44,0,32,0,67,0,48,0,53,0 23,0,26,0,8,0,84,0,74,0,89,0 65,0,6,0,17,0,19,0,27,0,72,0 75,0,76,0,71,0,47,0,88,0,43,0 86,0,80,0,56,0,40,0,92,0,33,0 28,0,7,0,68,0,42,0,4,0,52,0 38,0,16,0,3,0,73,0,63,0,79,0 12,0,87,0,64,0,39,0,82,0,29,0 58,0,78,0,18,0,9,0,35,0,1,0 25,0,83,0,60,0,20,0,41,0,77,0 51,0,66,0,14,0,31,0,81,0,13,0 11,0,23,1,53,1,37,0,85,1,62,1 ================================================ FILE: schedules/92_10.csv ================================================ 43,0,21,0,87,0,37,0,68,0,27,0 16,0,80,0,78,0,47,0,66,0,35,0 2,0,74,0,50,0,8,0,79,0,63,0 84,0,23,0,86,0,36,0,76,0,49,0 25,0,28,0,64,0,70,0,89,0,90,0 39,0,29,0,88,0,92,0,62,0,67,0 60,0,32,0,82,0,61,0,26,0,45,0 38,0,14,0,6,0,58,0,54,0,34,0 13,0,15,0,10,0,11,0,30,0,51,0 44,0,42,0,18,0,19,0,55,0,73,0 65,0,1,0,85,0,72,0,40,0,7,0 52,0,59,0,48,0,71,0,24,0,12,0 81,0,31,0,9,0,91,0,77,0,22,0 4,0,83,0,75,0,57,0,41,0,17,0 53,0,20,0,56,0,3,0,69,0,33,0 5,0,36,0,82,0,46,0,87,0,50,0 28,0,8,0,15,0,10,0,68,0,67,0 30,0,61,0,63,0,86,0,64,0,38,0 51,0,47,0,6,0,39,0,1,0,25,0 89,0,62,0,72,0,11,0,55,0,35,0 44,0,9,0,66,0,27,0,32,0,14,0 37,0,88,0,40,0,60,0,75,0,84,0 70,0,92,0,78,0,79,0,91,0,76,0 73,0,17,0,43,0,5,0,24,0,57,0 77,0,46,0,69,0,80,0,18,0,34,0 71,0,7,0,45,0,49,0,31,0,20,0 90,0,81,0,21,0,3,0,23,0,54,0 52,0,2,0,56,0,26,0,19,0,83,0 13,0,16,0,29,0,59,0,53,0,65,0 22,0,42,0,4,0,12,0,33,0,74,0 85,0,41,0,25,0,48,0,58,0,91,0 6,1,86,0,1,0,88,1,87,0,32,0 28,1,27,0,34,0,73,1,92,0,84,0 68,0,7,0,57,0,80,0,76,0,44,0 81,0,15,0,46,0,38,0,62,0,69,0 71,0,60,0,50,0,55,0,14,0,10,0 17,0,82,0,53,0,90,0,35,0,79,0 36,0,39,0,31,0,66,0,4,0,52,0 63,0,16,0,37,0,70,0,85,0,22,0 40,0,2,0,49,0,24,0,58,0,11,0 23,0,75,0,19,0,33,0,30,0,29,0 72,0,3,0,13,0,42,0,64,0,43,0 67,0,9,0,12,0,47,0,65,0,83,0 48,0,74,0,54,0,89,0,20,0,26,0 59,0,51,0,8,0,45,0,56,0,77,0 41,0,5,0,78,0,18,0,21,0,61,0 15,0,87,0,34,0,22,0,17,0,44,0 60,0,24,0,4,0,16,0,25,0,62,0 52,0,30,0,69,0,50,0,32,0,35,0 49,0,19,0,37,0,39,0,76,0,64,0 29,0,42,0,86,0,14,0,68,0,31,0 46,0,57,0,10,0,90,0,40,0,6,0 75,0,79,0,56,0,9,0,28,0,48,0 88,0,12,0,89,0,81,0,78,0,8,0 20,0,23,0,82,0,47,0,59,0,85,0 67,0,72,0,91,0,74,0,27,0,36,0 18,0,55,0,53,0,7,0,61,0,1,0 70,0,71,0,3,0,5,0,84,0,58,0 2,0,80,0,54,0,41,0,73,0,65,0 38,0,43,0,11,0,66,0,83,0,51,0 92,0,77,0,26,0,63,0,21,0,13,0 33,0,25,0,78,0,45,0,46,0,44,0 52,0,42,0,75,0,82,0,15,0,6,0 76,0,31,0,17,0,27,0,85,0,62,0 59,0,91,0,1,0,89,0,57,0,34,0 49,0,29,0,4,0,72,0,56,0,50,0 55,0,8,0,90,0,9,0,80,0,24,0 16,0,3,0,79,0,41,0,11,0,23,0 36,0,61,0,54,0,51,0,12,0,37,0 38,0,2,0,32,0,84,0,10,0,39,0 86,0,58,0,47,0,69,0,28,0,60,0 68,0,33,0,48,0,70,0,88,0,13,0 74,0,63,0,45,0,43,0,14,0,19,0 92,0,64,0,20,0,18,0,65,0,22,0 77,0,87,0,40,0,30,0,71,0,66,0 35,0,7,0,21,0,73,0,83,0,67,0 53,0,26,0,80,0,5,0,81,0,49,0 79,0,39,0,54,0,16,0,75,0,55,0 51,0,85,0,78,0,2,0,29,0,28,0 23,0,31,0,8,0,69,0,57,0,61,0 24,0,47,0,13,0,74,0,3,0,46,0 91,0,12,0,56,0,63,0,6,0,68,0 43,0,60,0,90,0,44,0,20,0,77,0 83,0,48,0,1,0,37,0,15,0,92,0 89,0,45,0,17,0,40,0,42,0,9,0 67,0,34,0,32,0,81,0,71,0,64,0 26,0,59,0,70,0,38,0,87,0,72,0 14,0,84,0,30,0,52,0,53,0,41,0 27,0,22,0,7,0,86,0,5,0,25,0 10,0,33,0,58,0,35,0,18,0,36,0 76,0,62,0,66,0,65,0,50,0,21,0 11,0,73,0,82,0,88,0,4,0,19,0 23,0,92,0,2,0,89,0,60,0,42,0 83,0,49,0,13,0,85,0,69,0,79,0 80,0,48,0,38,0,28,0,31,0,16,0 44,0,47,0,40,0,52,0,63,0,54,0 68,0,17,0,61,0,25,0,20,0,84,0 18,0,39,0,59,0,86,0,74,0,81,0 77,0,64,0,35,0,6,0,36,0,41,0 87,0,67,0,14,0,3,0,51,0,4,0 70,0,21,0,30,0,82,0,57,0,55,0 32,0,33,0,90,0,37,0,5,0,72,0 19,0,66,0,24,0,1,0,12,0,10,0 53,0,50,0,58,0,45,0,15,0,88,0 7,0,9,0,62,0,78,0,34,0,43,0 22,0,73,0,75,0,46,0,71,0,76,0 26,0,91,0,11,0,65,0,8,0,29,0 56,0,85,0,64,0,27,0,60,0,80,0 70,0,44,0,39,0,41,0,61,0,40,0 51,0,48,0,18,0,82,0,49,0,63,0 6,0,31,0,84,0,33,0,59,0,67,0 45,0,79,0,81,0,21,0,24,0,72,0 19,0,50,0,9,0,13,0,38,0,25,0 35,0,15,0,4,0,43,0,2,0,86,0 42,0,69,0,76,0,26,0,10,0,29,0 88,0,52,0,34,0,20,0,16,0,5,0 89,0,73,0,68,0,47,0,30,0,36,0 65,0,71,0,11,0,56,0,17,0,90,0 14,0,62,0,3,0,12,0,77,0,75,0 57,0,92,0,74,0,58,0,7,0,32,0 54,0,27,0,83,0,8,0,22,0,1,0 28,0,55,0,46,0,91,0,37,0,66,0 53,0,87,0,24,0,78,0,23,0,64,0 41,0,49,0,10,0,88,0,59,0,9,0 52,0,29,0,60,0,73,0,70,0,81,0 51,0,50,0,16,0,86,0,44,0,89,0 72,0,30,0,34,0,39,0,2,0,48,0 5,0,65,0,69,0,75,0,74,0,68,0 22,0,90,0,76,0,45,0,38,0,67,0 7,0,66,0,6,0,3,0,17,0,63,0 57,0,35,0,19,0,54,0,85,0,87,0 27,0,61,0,11,0,42,0,47,0,77,0 84,0,4,0,79,0,46,0,18,0,1,0 33,0,62,0,71,0,26,0,82,0,28,0 58,0,23,0,37,0,78,0,56,0,13,0 92,0,36,0,25,0,8,0,43,0,53,0 20,0,83,0,91,0,14,0,80,0,40,0 21,0,12,0,55,0,31,0,15,0,32,0 67,0,66,0,69,0,44,0,2,0,59,0 85,0,61,0,88,0,74,0,30,0,90,0 6,0,5,0,76,0,9,0,11,0,4,0 87,0,89,0,41,0,7,0,46,0,52,0 22,0,57,0,28,0,13,0,39,0,60,0 86,0,10,0,73,0,37,0,62,0,79,0 54,0,19,0,77,0,58,0,17,0,78,0 64,0,16,0,1,0,14,0,21,0,33,0 29,0,63,0,36,0,80,0,15,0,71,0 32,0,24,0,91,0,51,0,42,0,20,0 3,0,65,0,25,0,83,0,82,0,31,0 81,0,55,0,84,0,43,0,56,0,48,0 8,0,45,0,47,0,70,0,75,0,34,0 40,0,27,0,26,0,18,0,23,0,50,0 12,0,38,0,68,0,49,0,92,0,35,0 72,0,6,0,28,0,53,0,88,0,73,0 ================================================ FILE: schedules/92_11.csv ================================================ 92,0,40,0,24,0,53,0,49,0,60,0 48,0,83,0,28,0,69,0,12,0,55,0 37,0,32,0,31,0,42,0,34,0,54,0 67,0,16,0,7,0,35,0,23,0,75,0 15,0,52,0,78,0,58,0,72,0,80,0 30,0,85,0,39,0,9,0,81,0,18,0 4,0,57,0,25,0,63,0,87,0,71,0 14,0,68,0,33,0,74,0,2,0,47,0 44,0,73,0,29,0,13,0,43,0,26,0 65,0,19,0,84,0,82,0,51,0,6,0 45,0,11,0,36,0,38,0,79,0,66,0 20,0,10,0,86,0,27,0,5,0,62,0 61,0,59,0,70,0,76,0,41,0,22,0 90,0,21,0,8,0,77,0,3,0,1,0 64,0,17,0,88,0,50,0,46,0,91,0 56,0,78,0,40,0,89,0,12,0,16,0 54,0,15,0,33,0,4,0,35,0,55,0 14,0,37,0,26,0,65,0,72,0,30,0 63,0,6,0,75,0,83,0,60,0,13,0 5,0,92,0,38,0,47,0,19,0,58,0 45,0,42,0,2,0,39,0,76,0,20,0 34,0,1,0,61,0,52,0,81,0,79,0 66,0,84,0,91,0,18,0,7,0,43,0 53,0,68,0,87,0,86,0,85,0,29,0 56,0,77,0,73,0,71,0,24,0,67,0 31,0,90,0,27,0,44,0,50,0,57,0 21,0,74,0,62,0,17,0,69,0,48,0 46,0,41,0,82,0,89,0,10,0,36,0 3,0,9,0,23,0,51,0,64,0,32,0 25,0,8,0,59,0,28,0,80,0,70,0 88,0,11,0,72,0,22,0,49,0,6,0 30,1,14,0,16,0,61,1,13,0,66,0 26,0,39,0,4,0,86,0,52,0,83,0 47,0,77,0,57,0,54,0,40,0,37,0 55,0,1,0,60,0,76,0,56,0,17,0 20,0,79,0,90,0,71,0,85,0,19,0 34,0,15,0,44,0,41,0,87,0,84,0 69,0,58,0,74,0,50,0,70,0,3,0 29,0,78,0,46,0,28,0,32,0,67,0 91,0,12,0,25,0,11,0,73,0,62,0 43,0,42,0,35,0,27,0,81,0,89,0 65,0,24,0,59,0,18,0,68,0,45,0 10,0,88,0,80,0,33,0,31,0,51,0 8,0,48,0,75,0,92,0,22,0,9,0 36,0,5,0,49,0,21,0,23,0,63,0 64,0,7,0,2,0,38,0,82,0,53,0 17,0,3,0,41,0,71,0,13,0,30,0 47,0,39,0,69,0,79,0,72,0,56,0 37,0,74,0,19,0,26,0,12,0,61,0 4,0,58,0,60,0,68,0,66,0,42,0 91,0,54,0,59,0,1,0,16,0,10,0 20,0,88,0,27,0,67,0,8,0,52,0 84,0,46,0,24,0,25,0,21,0,33,0 77,0,75,0,44,0,78,0,76,0,51,0 18,0,36,0,70,0,57,0,64,0,86,0 49,0,81,0,82,0,73,0,48,0,31,0 38,0,23,0,45,0,62,0,87,0,83,0 80,0,32,0,63,0,55,0,43,0,2,0 50,0,35,0,40,0,6,0,14,0,29,0 22,0,34,0,90,0,53,0,9,0,65,0 5,0,7,0,85,0,15,0,28,0,11,0 89,0,61,0,71,0,92,0,68,0,88,0 52,0,60,0,37,0,25,0,64,0,69,0 1,0,8,0,39,0,74,0,49,0,51,0 46,0,70,0,38,0,30,0,73,0,42,0 87,0,76,0,10,0,48,0,43,0,72,0 16,0,54,0,24,0,19,0,3,0,2,0 84,0,63,0,40,0,17,0,27,0,58,0 18,0,12,0,20,0,90,0,41,0,75,0 15,0,66,0,77,0,23,0,26,0,6,0 62,0,80,0,34,0,57,0,92,0,67,0 85,0,31,0,55,0,14,0,22,0,47,0 91,0,36,0,33,0,28,0,65,0,44,0 86,0,4,0,9,0,89,0,7,0,59,0 11,0,56,0,5,0,32,0,13,0,35,0 78,0,21,0,81,0,50,0,53,0,45,0 29,0,83,0,27,0,79,0,82,0,37,0 51,0,17,0,68,0,25,0,15,0,20,0 60,0,16,0,70,0,88,0,48,0,39,0 47,0,24,0,6,0,42,0,80,0,90,0 49,0,84,0,55,0,52,0,75,0,71,0 22,0,43,0,65,0,38,0,57,0,3,0 11,0,31,0,87,0,46,0,74,0,9,0 85,0,10,0,73,0,78,0,64,0,63,0 28,0,53,0,56,0,4,0,61,0,19,0 41,0,1,0,7,0,62,0,29,0,33,0 21,0,35,0,76,0,30,0,34,0,86,0 13,0,59,0,92,0,36,0,81,0,69,0 45,0,91,0,26,0,5,0,40,0,2,0 89,0,72,0,67,0,44,0,83,0,66,0 12,0,54,0,23,0,8,0,79,0,50,0 14,0,32,0,18,0,82,0,77,0,58,0 74,0,43,0,75,0,24,0,85,0,4,0 61,0,20,0,55,0,57,0,7,0,39,0 28,0,86,0,17,0,47,0,73,0,16,0 62,0,71,0,31,0,36,0,78,0,6,0 51,0,90,0,81,0,87,0,37,0,5,0 1,0,44,0,19,0,64,0,35,0,45,0 27,0,69,0,80,0,66,0,76,0,9,0 10,0,50,0,18,0,67,0,2,0,60,0 59,0,46,0,3,0,72,0,26,0,92,0 13,0,34,0,33,0,38,0,89,0,49,0 52,0,63,0,54,0,70,0,68,0,11,0 30,0,77,0,53,0,25,0,58,0,79,0 41,0,83,0,32,0,40,0,65,0,8,0 22,0,82,0,56,0,15,0,91,0,21,0 23,0,88,0,29,0,42,0,48,0,84,0 12,0,43,0,9,0,14,0,36,0,60,0 51,0,73,0,61,0,27,0,47,0,45,0 28,0,20,0,50,0,26,0,1,0,24,0 38,0,86,0,72,0,81,0,54,0,75,0 18,0,3,0,62,0,63,0,33,0,37,0 79,0,4,0,65,0,10,0,35,0,17,0 83,0,46,0,7,0,56,0,90,0,49,0 5,0,66,0,41,0,55,0,88,0,74,0 69,0,14,0,23,0,91,0,34,0,78,0 67,0,13,0,15,0,31,0,70,0,19,0 52,0,12,0,42,0,77,0,87,0,22,0 82,0,92,0,76,0,25,0,16,0,85,0 39,0,53,0,32,0,59,0,84,0,44,0 89,0,2,0,8,0,29,0,30,0,11,0 71,0,80,0,68,0,64,0,40,0,21,0 48,0,6,0,45,0,58,0,57,0,56,0 74,0,38,0,28,0,63,0,18,0,35,0 14,0,79,0,62,0,46,0,15,0,75,0 86,0,55,0,70,0,91,0,51,0,24,0 83,0,19,0,50,0,7,0,77,0,34,0 10,0,49,0,44,0,61,0,25,0,9,0 2,0,66,0,78,0,17,0,90,0,59,0 85,0,13,0,64,0,8,0,84,0,72,0 37,0,58,0,29,0,22,0,16,0,71,0 67,0,33,0,81,0,40,0,76,0,36,0 30,0,52,0,31,0,23,0,43,0,5,0 89,0,87,0,21,0,20,0,47,0,60,0 27,0,42,0,11,0,65,0,1,0,92,0 6,0,68,0,3,0,12,0,39,0,82,0 48,0,54,0,26,0,80,0,41,0,53,0 57,0,32,0,73,0,88,0,4,0,69,0 13,0,77,0,55,0,46,0,45,0,10,0 61,0,36,0,29,0,58,0,90,0,15,0 72,0,19,0,25,0,40,0,23,0,18,0 63,0,8,0,86,0,44,0,56,0,14,0 79,0,42,0,74,0,49,0,59,0,67,0 65,0,7,0,71,0,70,0,81,0,12,0 60,0,3,0,27,0,28,0,34,0,85,0 64,0,22,0,66,0,87,0,54,0,39,0 2,0,57,0,21,0,41,0,52,0,51,0 82,0,35,0,24,0,88,0,78,0,9,0 91,0,30,0,6,0,32,0,20,0,92,0 62,0,50,0,76,0,47,0,4,0,84,0 43,0,53,0,83,0,17,0,11,0,33,0 26,0,69,0,38,0,31,0,16,0,68,0 1,0,89,0,73,0,75,0,80,0,37,0 48,0,71,0,34,0,5,0,46,0,8,0 42,0,10,0,81,0,66,0,14,0,3,0 74,0,25,0,65,0,29,0,54,0,56,0 87,0,19,0,49,0,78,0,27,0,30,0 79,0,51,0,13,0,28,0,40,0,22,0 23,0,60,0,82,0,11,0,86,0,61,0 47,0,26,0,17,0,36,0,32,0,7,0 88,0,21,0,58,0,12,0,44,0,85,0 92,0,70,0,77,0,31,0,2,0,4,0 63,0,48,0,15,0,89,0,24,0,50,0 41,0,67,0,39,0,37,0,38,0,91,0 84,0,16,0,35,0,20,0,83,0,80,0 76,0,52,0,6,0,18,0,53,0,73,0 43,0,90,0,64,0,59,0,62,0,55,0 9,0,72,0,57,0,5,0,1,0,68,0 33,0,69,0,30,0,45,0,75,0,61,0 ================================================ FILE: schedules/92_12.csv ================================================ 63,0,31,0,43,0,23,0,60,0,88,0 10,0,29,0,81,0,42,0,52,0,13,0 46,0,71,0,40,0,16,0,41,0,90,0 36,0,4,0,37,0,35,0,58,0,38,0 50,0,11,0,57,0,44,0,76,0,7,0 54,0,64,0,6,0,79,0,9,0,67,0 21,0,39,0,80,0,33,0,19,0,70,0 3,0,15,0,22,0,83,0,51,0,18,0 78,0,77,0,30,0,17,0,24,0,75,0 68,0,69,0,8,0,28,0,55,0,91,0 82,0,61,0,49,0,85,0,1,0,89,0 47,0,56,0,87,0,20,0,14,0,34,0 62,0,72,0,66,0,12,0,32,0,2,0 84,0,27,0,53,0,74,0,26,0,65,0 25,0,86,0,5,0,59,0,45,0,92,0 48,0,88,0,43,0,73,0,19,0,44,0 41,0,35,0,3,0,39,0,13,0,7,0 38,0,23,0,55,0,76,0,30,0,21,0 89,0,52,0,4,0,9,0,69,0,60,0 78,0,42,0,16,0,70,0,54,0,34,0 87,0,71,0,29,0,62,0,31,0,64,0 80,0,47,0,90,0,49,0,68,0,28,0 67,0,83,0,53,0,50,0,40,0,59,0 65,0,20,0,85,0,11,0,46,0,18,0 36,0,22,0,92,0,24,0,8,0,66,0 61,0,25,0,51,0,73,0,74,0,2,0 27,0,63,0,81,0,86,0,17,0,48,0 26,0,5,0,57,0,32,0,79,0,77,0 56,0,58,0,1,0,33,0,10,0,72,0 84,0,15,0,75,0,6,0,91,0,37,0 45,0,12,0,55,0,82,0,14,0,43,0 85,0,69,0,34,0,23,0,64,0,53,0 83,0,78,0,41,0,88,0,36,0,76,0 74,0,9,0,44,0,39,0,46,0,67,0 3,0,59,0,16,0,65,0,90,0,81,0 18,0,62,0,48,0,49,0,13,0,57,0 10,0,51,0,35,0,8,0,89,0,32,0 50,0,37,0,19,0,72,0,42,0,77,0 58,0,79,0,45,0,22,0,29,0,40,0 31,0,52,0,2,0,56,0,27,0,30,0 14,0,25,0,66,0,26,0,70,0,1,0 54,0,71,0,82,0,75,0,63,0,47,0 61,0,80,0,91,0,86,0,20,0,11,0 60,0,24,0,28,0,7,0,21,0,84,0 12,0,33,0,17,0,5,0,6,0,4,0 38,0,87,0,68,0,92,0,73,0,15,0 69,0,65,0,51,0,29,0,36,0,39,0 2,0,72,0,19,0,83,0,64,0,81,0 23,0,14,0,89,0,58,0,18,0,74,0 54,0,45,0,26,0,49,0,37,0,52,0 77,0,59,0,22,0,34,0,71,0,55,0 42,0,76,0,27,0,24,0,47,0,44,0 9,0,12,0,70,0,91,0,56,0,41,0 40,0,90,0,73,0,30,0,5,0,35,0 79,0,62,0,63,0,15,0,50,0,61,0 75,0,38,0,20,0,84,0,3,0,25,0 16,0,80,0,87,0,57,0,60,0,17,0 10,0,21,0,82,0,68,0,53,0,46,0 1,0,48,0,67,0,92,0,28,0,78,0 32,0,11,0,6,0,43,0,13,0,8,0 66,0,4,0,7,0,85,0,86,0,31,0 33,0,74,0,37,0,88,0,22,0,47,0 45,0,90,0,23,0,15,0,2,0,70,0 81,0,40,0,14,0,9,0,76,0,75,0 18,0,55,0,50,0,87,0,36,0,5,0 39,0,73,0,52,0,71,0,58,0,12,0 91,0,42,0,30,0,1,0,60,0,3,0 46,0,43,0,72,0,57,0,89,0,38,0 10,0,92,0,26,0,6,0,7,0,61,0 88,0,20,0,28,0,32,0,27,0,29,0 62,0,19,0,11,0,53,0,4,0,59,0 83,0,69,0,86,0,54,0,84,0,56,0 85,0,79,0,68,0,16,0,48,0,24,0 67,0,63,0,66,0,41,0,49,0,33,0 34,0,44,0,13,0,82,0,51,0,17,0 65,0,25,0,64,0,77,0,8,0,80,0 21,0,35,0,74,0,31,0,78,0,50,0 28,0,72,0,70,0,71,0,6,0,92,0 47,0,55,0,81,0,45,0,62,0,4,0 15,0,86,0,42,0,88,0,46,0,12,0 75,0,18,0,19,0,9,0,32,0,90,0 52,0,5,0,68,0,84,0,41,0,66,0 61,0,38,0,33,0,40,0,44,0,69,0 16,0,51,0,1,0,20,0,24,0,23,0 17,0,35,0,79,0,56,0,82,0,65,0 64,0,80,0,57,0,59,0,10,0,37,0 13,0,30,0,83,0,25,0,89,0,21,0 29,0,7,0,8,0,53,0,73,0,49,0 27,0,67,0,58,0,3,0,43,0,34,0 36,0,77,0,26,0,48,0,31,0,91,0 22,0,87,0,76,0,54,0,85,0,63,0 39,0,78,0,11,0,2,0,60,0,14,0 38,0,28,0,17,0,51,0,19,0,45,0 6,0,90,0,57,0,86,0,47,0,52,0 82,0,20,0,89,0,92,0,42,0,64,0 5,0,74,0,13,0,15,0,16,0,72,0 1,0,55,0,65,0,88,0,9,0,40,0 43,0,7,0,81,0,71,0,30,0,66,0 76,0,12,0,10,0,49,0,69,0,25,0 59,0,60,0,54,0,18,0,41,0,27,0 53,0,91,0,2,0,35,0,14,0,63,0 48,0,56,0,50,0,39,0,22,0,23,0 34,0,73,0,33,0,75,0,36,0,46,0 58,0,68,0,32,0,31,0,61,0,83,0 77,0,70,0,24,0,87,0,11,0,67,0 80,0,3,0,4,0,78,0,26,0,29,0 37,0,21,0,8,0,85,0,62,0,44,0 84,0,30,0,47,0,79,0,19,0,16,0 27,0,49,0,40,0,64,0,51,0,91,0 66,0,50,0,20,0,54,0,10,0,15,0 6,0,13,0,2,0,1,0,59,0,36,0 60,0,61,0,65,0,48,0,75,0,12,0 70,0,73,0,83,0,77,0,52,0,82,0 4,0,18,0,35,0,68,0,42,0,43,0 80,0,85,0,71,0,56,0,5,0,38,0 46,0,32,0,7,0,78,0,45,0,87,0 8,0,39,0,34,0,90,0,26,0,76,0 22,0,25,0,67,0,31,0,72,0,14,0 17,0,92,0,21,0,58,0,84,0,88,0 53,0,89,0,79,0,28,0,81,0,44,0 86,0,23,0,33,0,62,0,9,0,3,0 74,0,57,0,24,0,29,0,63,0,55,0 69,0,41,0,1,0,37,0,11,0,15,0 46,0,4,0,48,0,5,0,51,0,54,0 71,0,60,0,26,0,19,0,83,0,20,0 78,0,8,0,40,0,66,0,56,0,18,0 32,0,31,0,76,0,17,0,73,0,59,0 88,0,77,0,68,0,58,0,81,0,6,0 12,0,23,0,13,0,67,0,84,0,80,0 47,0,36,0,25,0,85,0,53,0,43,0 90,0,70,0,79,0,55,0,27,0,10,0 64,0,3,0,21,0,52,0,63,0,11,0 44,0,75,0,22,0,86,0,35,0,87,0 50,0,33,0,91,0,45,0,16,0,89,0 49,0,24,0,34,0,72,0,65,0,38,0 62,0,42,0,69,0,7,0,14,0,74,0 28,0,61,0,30,0,41,0,39,0,57,0 2,0,37,0,9,0,29,0,92,0,82,0 51,0,56,0,76,0,60,0,67,0,68,0 54,0,36,0,3,0,17,0,25,0,40,0 44,0,32,0,53,0,80,0,15,0,52,0 11,0,45,0,85,0,73,0,27,0,75,0 38,0,18,0,16,0,26,0,6,0,88,0 65,0,66,0,13,0,19,0,91,0,87,0 35,0,59,0,70,0,47,0,72,0,69,0 46,0,14,0,29,0,50,0,92,0,30,0 82,0,24,0,58,0,90,0,62,0,5,0 1,0,7,0,34,0,21,0,79,0,12,0 63,0,28,0,74,0,83,0,4,0,10,0 8,0,42,0,2,0,57,0,71,0,33,0 9,0,84,0,78,0,43,0,61,0,22,0 55,0,86,0,41,0,89,0,64,0,48,0 81,0,39,0,49,0,37,0,20,0,31,0 23,0,29,0,44,0,77,0,66,0,91,0 87,0,88,0,72,0,53,0,30,0,51,0 47,0,68,0,40,0,26,0,11,0,12,0 45,0,6,0,24,0,80,0,83,0,34,0 14,0,76,0,5,0,10,0,3,0,19,0 85,0,9,0,50,0,58,0,13,0,28,0 84,0,36,0,90,0,32,0,42,0,63,0 60,0,82,0,86,0,74,0,8,0,38,0 48,0,15,0,27,0,25,0,71,0,35,0 39,0,43,0,62,0,1,0,77,0,54,0 92,0,57,0,23,0,41,0,4,0,75,0 79,0,33,0,52,0,20,0,59,0,78,0 49,0,64,0,17,0,70,0,22,0,46,0 73,0,18,0,21,0,69,0,67,0,81,0 37,0,56,0,7,0,16,0,55,0,61,0 31,0,89,0,5,0,2,0,65,0,47,0 15,0,19,0,28,0,86,0,40,0,34,0 27,0,12,0,14,0,83,0,77,0,38,0 91,0,88,0,82,0,39,0,4,0,25,0 20,0,30,0,63,0,44,0,68,0,45,0 10,0,11,0,71,0,9,0,17,0,23,0 85,0,81,0,51,0,70,0,57,0,78,0 64,0,72,0,29,0,90,0,61,0,18,0 31,0,53,0,54,0,33,0,55,0,13,0 74,0,56,0,92,0,32,0,49,0,3,0 24,0,26,0,2,0,50,0,43,0,69,0 52,0,16,0,75,0,36,0,62,0,67,0 59,0,8,0,48,0,58,0,7,0,87,0 76,0,46,0,84,0,35,0,1,0,80,0 41,0,42,0,22,0,21,0,6,0,65,0 89,0,73,0,60,0,66,0,37,0,79,0 ================================================ FILE: schedules/92_13.csv ================================================ 85,0,57,0,2,0,26,0,82,0,88,0 92,0,11,0,18,0,51,0,9,0,75,0 56,0,36,0,91,0,68,0,35,0,10,0 19,0,12,0,6,0,44,0,61,0,49,0 3,0,1,0,8,0,33,0,58,0,74,0 50,0,42,0,69,0,39,0,87,0,66,0 17,0,23,0,62,0,52,0,84,0,27,0 77,0,73,0,90,0,48,0,64,0,41,0 43,0,29,0,63,0,89,0,5,0,79,0 25,0,24,0,15,0,37,0,86,0,38,0 54,0,21,0,65,0,60,0,81,0,47,0 71,0,16,0,20,0,78,0,80,0,76,0 30,0,45,0,53,0,59,0,31,0,67,0 55,0,28,0,4,0,14,0,70,0,46,0 34,0,22,0,72,0,83,0,7,0,13,0 40,0,82,0,36,0,32,0,44,0,18,0 91,0,27,0,85,0,50,0,39,0,63,0 23,0,12,0,77,0,57,0,25,0,29,0 2,0,69,0,58,0,17,0,48,0,11,0 76,0,73,0,21,0,3,0,61,0,43,0 33,0,10,0,53,0,20,0,92,0,86,0 9,0,15,0,52,0,88,0,67,0,46,0 1,0,42,0,78,0,8,0,60,0,35,0 54,0,83,0,51,0,40,0,49,0,59,0 56,0,68,0,81,0,24,0,87,0,45,0 4,0,79,0,37,0,72,0,64,0,16,0 5,0,74,0,6,0,66,0,62,0,30,0 47,0,19,0,22,0,28,0,34,0,90,0 7,0,70,0,71,0,26,0,75,0,84,0 14,0,31,0,65,0,41,0,38,0,89,0 13,0,80,0,10,0,55,0,32,0,15,0 77,1,25,0,83,0,61,1,2,0,36,0 68,1,18,0,60,0,20,1,23,0,85,0 12,0,76,0,63,0,51,0,56,0,58,0 87,0,53,0,1,0,11,0,72,0,6,0 19,0,66,0,73,0,46,0,78,0,40,0 59,0,9,0,82,0,43,0,70,0,16,0 21,0,48,0,5,0,71,0,39,0,65,0 3,0,55,0,47,0,49,0,7,0,4,0 28,0,8,0,57,0,41,0,79,0,52,0 62,0,26,0,67,0,37,0,13,0,29,0 32,0,69,0,14,0,84,0,30,0,35,0 80,0,38,0,44,0,64,0,27,0,42,0 88,0,24,0,31,0,74,0,92,0,22,0 91,0,89,0,34,0,86,0,45,0,54,0 90,0,75,0,50,0,17,0,81,0,33,0 68,0,72,0,66,0,65,0,18,0,12,0 28,0,7,0,15,0,53,0,76,0,16,0 48,0,3,0,39,0,57,0,61,0,13,0 9,0,73,0,14,0,32,0,49,0,79,0 55,0,63,0,11,0,67,0,77,0,42,0 59,0,41,0,2,0,22,0,21,0,24,0 43,0,88,0,91,0,62,0,40,0,1,0 34,0,70,0,30,0,81,0,80,0,27,0 84,0,25,0,51,0,89,0,45,0,60,0 37,0,6,0,54,0,20,0,8,0,69,0 33,0,56,0,75,0,26,0,19,0,83,0 86,0,47,0,87,0,31,0,52,0,58,0 74,0,64,0,10,0,29,0,78,0,50,0 23,0,90,0,46,0,82,0,71,0,44,0 38,0,5,0,35,0,17,0,85,0,4,0 92,0,7,0,61,0,36,0,63,0,65,0 18,0,73,0,67,0,16,0,34,0,60,0 9,0,1,0,80,0,37,0,57,0,21,0 43,0,30,0,26,0,28,0,45,0,41,0 89,0,47,0,32,0,83,0,27,0,8,0 25,0,42,0,20,0,13,0,81,0,52,0 22,0,46,0,62,0,39,0,68,0,33,0 48,0,75,0,85,0,66,0,59,0,15,0 51,0,88,0,10,0,6,0,71,0,4,0 50,0,72,0,3,0,36,0,19,0,23,0 44,0,79,0,29,0,53,0,56,0,2,0 5,0,82,0,91,0,92,0,84,0,38,0 11,0,35,0,86,0,76,0,64,0,40,0 31,0,55,0,78,0,90,0,12,0,69,0 49,0,77,0,70,0,87,0,74,0,17,0 54,0,58,0,7,0,14,0,24,0,18,0 8,0,22,0,51,0,57,0,43,0,65,0 60,0,27,0,36,0,15,0,41,0,33,0 72,0,45,0,20,0,32,0,71,0,73,0 13,0,63,0,68,0,88,0,38,0,16,0 44,0,91,0,47,0,67,0,3,0,11,0 69,0,37,0,89,0,53,0,52,0,21,0 85,0,56,0,40,0,84,0,55,0,61,0 17,0,29,0,90,0,42,0,83,0,92,0 79,0,78,0,30,0,48,0,25,0,87,0 81,0,6,0,77,0,59,0,14,0,58,0 28,0,66,0,70,0,10,0,49,0,31,0 26,0,46,0,35,0,34,0,62,0,80,0 1,0,64,0,82,0,39,0,24,0,19,0 74,0,4,0,76,0,2,0,86,0,75,0 50,0,23,0,9,0,12,0,54,0,5,0 15,0,83,0,85,0,73,0,69,0,65,0 29,0,48,0,16,0,52,0,55,0,36,0 11,0,89,0,27,0,68,0,71,0,79,0 31,0,40,0,3,0,37,0,42,0,81,0 46,0,30,0,57,0,38,0,18,0,56,0 60,0,49,0,63,0,82,0,90,0,22,0 7,0,74,0,59,0,19,0,91,0,35,0 41,0,20,0,87,0,75,0,62,0,12,0 70,0,8,0,67,0,21,0,72,0,25,0 39,0,43,0,84,0,80,0,50,0,86,0 28,0,2,0,13,0,64,0,5,0,45,0 1,0,10,0,4,0,77,0,54,0,44,0 32,0,34,0,23,0,6,0,58,0,92,0 17,0,14,0,61,0,78,0,26,0,53,0 24,0,9,0,33,0,51,0,47,0,66,0 76,0,27,0,49,0,88,0,37,0,48,0 65,0,11,0,62,0,25,0,73,0,82,0 86,0,79,0,8,0,12,0,60,0,46,0 56,0,20,0,52,0,5,0,70,0,40,0 39,0,16,0,2,0,35,0,3,0,89,0 19,0,41,0,84,0,42,0,58,0,29,0 32,0,26,0,81,0,22,0,91,0,64,0 66,0,67,0,54,0,36,0,68,0,43,0 61,0,18,0,63,0,80,0,87,0,4,0 88,0,74,0,13,0,53,0,90,0,83,0 45,0,33,0,38,0,76,0,69,0,77,0 23,0,59,0,71,0,55,0,34,0,1,0 50,0,15,0,92,0,30,0,72,0,47,0 31,0,7,0,44,0,17,0,51,0,57,0 24,0,75,0,78,0,6,0,28,0,9,0 21,0,14,0,16,0,85,0,10,0,22,0 60,0,37,0,66,0,61,0,11,0,32,0 65,0,53,0,42,0,49,0,91,0,46,0 52,0,83,0,12,0,80,0,54,0,82,0 38,0,40,0,74,0,26,0,48,0,89,0 33,0,88,0,35,0,70,0,18,0,29,0 57,0,92,0,68,0,55,0,64,0,59,0 50,0,84,0,24,0,67,0,79,0,20,0 7,0,78,0,21,0,56,0,77,0,27,0 87,0,2,0,14,0,47,0,43,0,23,0 10,0,39,0,34,0,75,0,31,0,8,0 81,0,44,0,72,0,5,0,41,0,76,0 13,0,6,0,86,0,9,0,36,0,85,0 71,0,51,0,3,0,62,0,28,0,69,0 17,0,45,0,25,0,15,0,63,0,1,0 90,0,19,0,58,0,30,0,4,0,73,0 52,0,57,0,22,0,61,0,50,0,35,0 83,0,79,0,18,0,38,0,21,0,55,0 39,0,11,0,88,0,20,0,14,0,7,0 84,0,31,0,56,0,54,0,72,0,2,0 85,0,46,0,74,0,37,0,41,0,67,0 27,0,40,0,29,0,6,0,65,0,24,0 5,0,47,0,69,0,25,0,26,0,10,0 70,0,86,0,76,0,68,0,1,0,19,0 60,0,80,0,58,0,75,0,36,0,28,0 51,0,42,0,32,0,48,0,53,0,34,0 64,0,30,0,63,0,33,0,23,0,49,0 82,0,81,0,43,0,78,0,4,0,15,0 59,0,89,0,17,0,12,0,13,0,73,0 16,0,62,0,44,0,66,0,45,0,92,0 87,0,90,0,8,0,9,0,3,0,91,0 71,0,84,0,37,0,77,0,18,0,22,0 70,0,69,0,57,0,24,0,60,0,2,0 1,0,32,0,28,0,65,0,56,0,67,0 83,0,29,0,31,0,50,0,76,0,46,0 4,0,34,0,21,0,68,0,74,0,20,0 61,0,42,0,88,0,89,0,75,0,23,0 44,0,48,0,78,0,63,0,54,0,62,0 87,0,26,0,36,0,73,0,39,0,59,0 64,0,6,0,33,0,52,0,7,0,43,0 66,0,25,0,27,0,90,0,14,0,3,0 11,0,16,0,15,0,8,0,5,0,19,0 81,0,12,0,35,0,47,0,53,0,71,0 10,0,38,0,58,0,72,0,40,0,9,0 80,0,77,0,45,0,79,0,92,0,85,0 51,0,55,0,30,0,17,0,86,0,82,0 49,0,41,0,18,0,13,0,91,0,69,0 65,0,76,0,52,0,84,0,34,0,78,0 2,0,37,0,73,0,50,0,6,0,68,0 20,0,5,0,3,0,83,0,59,0,46,0 11,0,54,0,57,0,32,0,63,0,74,0 22,0,61,0,81,0,38,0,1,0,29,0 23,0,45,0,40,0,7,0,8,0,80,0 70,0,39,0,79,0,90,0,15,0,51,0 53,0,9,0,60,0,4,0,77,0,62,0 75,0,58,0,82,0,21,0,35,0,13,0 17,0,66,0,41,0,88,0,47,0,56,0 49,0,26,0,72,0,86,0,16,0,24,0 42,0,85,0,43,0,10,0,12,0,30,0 33,0,89,0,55,0,28,0,87,0,44,0 92,0,67,0,19,0,48,0,27,0,14,0 64,0,36,0,25,0,31,0,71,0,91,0 59,0,84,0,18,0,11,0,78,0,90,0 5,0,53,0,22,0,70,0,80,0,73,0 68,0,52,0,29,0,32,0,3,0,75,0 69,0,61,0,79,0,47,0,74,0,82,0 86,0,26,0,21,0,66,0,23,0,63,0 13,0,77,0,24,0,44,0,30,0,8,0 55,0,35,0,72,0,43,0,27,0,20,0 60,0,83,0,4,0,6,0,48,0,91,0 67,0,9,0,49,0,2,0,81,0,7,0 12,0,38,0,87,0,34,0,88,0,36,0 71,0,14,0,57,0,40,0,33,0,42,0 56,0,89,0,62,0,64,0,85,0,58,0 16,0,46,0,41,0,1,0,50,0,51,0 92,0,28,0,76,0,25,0,54,0,39,0 19,0,45,0,65,0,10,0,37,0,17,0 15,0,77,0,68,0,31,0,61,0,20,0 ================================================ FILE: schedules/92_14.csv ================================================ 48,0,2,0,88,0,29,0,17,0,43,0 1,0,92,0,67,0,71,0,79,0,45,0 6,0,64,0,80,0,90,0,19,0,52,0 63,0,83,0,42,0,77,0,69,0,50,0 40,0,5,0,20,0,60,0,18,0,54,0 27,0,37,0,89,0,85,0,24,0,55,0 7,0,39,0,15,0,33,0,36,0,78,0 51,0,86,0,49,0,91,0,57,0,53,0 25,0,14,0,9,0,65,0,38,0,47,0 31,0,8,0,81,0,22,0,32,0,87,0 34,0,28,0,3,0,68,0,44,0,62,0 4,0,76,0,59,0,10,0,12,0,58,0 75,0,21,0,82,0,23,0,16,0,26,0 73,0,35,0,66,0,72,0,13,0,46,0 30,0,56,0,41,0,74,0,11,0,70,0 61,0,64,0,79,0,84,0,54,0,7,0 53,0,39,0,19,0,14,0,42,0,1,0 24,0,88,0,71,0,8,0,86,0,78,0 15,0,38,0,32,0,91,0,43,0,6,0 10,0,92,0,60,0,50,0,90,0,2,0 68,0,82,0,40,0,89,0,25,0,29,0 72,0,36,0,87,0,51,0,65,0,34,0 77,0,17,0,85,0,76,0,75,0,56,0 13,0,35,0,47,0,37,0,16,0,30,0 4,0,26,0,12,0,46,0,31,0,55,0 52,0,83,0,18,0,3,0,73,0,22,0 58,0,70,0,66,0,27,0,45,0,69,0 80,0,11,0,63,0,44,0,23,0,5,0 67,0,41,0,49,0,9,0,81,0,21,0 62,0,84,0,57,0,74,0,48,0,33,0 28,0,61,0,85,0,20,0,59,0,88,0 64,1,10,0,25,0,51,1,42,0,32,0 39,0,86,0,75,0,30,0,34,0,13,0 43,0,36,0,24,0,4,0,46,0,68,0 1,0,17,0,65,0,22,0,37,0,82,0 72,0,11,0,71,0,38,0,50,0,80,0 60,0,66,0,76,0,3,0,44,0,81,0 21,0,91,0,84,0,69,0,47,0,8,0 7,0,58,0,78,0,62,0,5,0,89,0 56,0,9,0,83,0,53,0,26,0,48,0 45,0,74,0,18,0,28,0,12,0,90,0 92,0,23,0,29,0,54,0,33,0,73,0 31,0,52,0,27,0,40,0,16,0,57,0 55,0,67,0,79,0,20,0,15,0,63,0 2,0,6,0,35,0,14,0,41,0,59,0 49,0,77,0,19,0,70,0,61,0,87,0 32,0,7,0,10,0,30,0,44,0,47,0 11,0,78,0,46,0,21,0,42,0,22,0 8,0,66,0,28,0,17,0,53,0,38,0 34,0,5,0,74,0,88,0,25,0,23,0 29,0,54,0,52,0,26,0,65,0,71,0 57,0,9,0,24,0,18,0,15,0,69,0 84,0,35,0,75,0,56,0,36,0,40,0 39,0,27,0,83,0,67,0,61,0,91,0 6,0,73,0,55,0,16,0,1,0,81,0 50,0,12,0,86,0,43,0,87,0,37,0 70,0,3,0,2,0,64,0,13,0,85,0 59,0,80,0,49,0,62,0,77,0,82,0 51,0,20,0,48,0,4,0,92,0,14,0 41,0,60,0,68,0,76,0,72,0,58,0 63,0,45,0,90,0,89,0,33,0,19,0 31,0,91,0,39,0,79,0,29,0,66,0 10,0,16,0,46,0,61,0,71,0,18,0 36,0,27,0,65,0,12,0,32,0,78,0 64,0,43,0,5,0,9,0,75,0,22,0 49,0,34,0,35,0,74,0,42,0,85,0 38,0,56,0,69,0,86,0,54,0,81,0 59,0,72,0,44,0,17,0,4,0,83,0 47,0,19,0,82,0,51,0,15,0,92,0 7,0,70,0,13,0,68,0,52,0,55,0 53,0,76,0,89,0,80,0,84,0,2,0 48,0,67,0,23,0,8,0,60,0,77,0 14,0,11,0,26,0,88,0,37,0,79,0 45,0,41,0,62,0,31,0,63,0,40,0 58,0,24,0,33,0,6,0,1,0,20,0 90,0,25,0,3,0,57,0,21,0,50,0 30,0,87,0,82,0,73,0,28,0,27,0 44,0,64,0,65,0,92,0,13,0,69,0 74,0,36,0,29,0,19,0,83,0,38,0 51,0,70,0,81,0,39,0,35,0,71,0 78,0,9,0,66,0,80,0,60,0,79,0 40,0,47,0,53,0,63,0,55,0,34,0 41,0,6,0,8,0,46,0,7,0,43,0 84,0,25,0,77,0,11,0,1,0,88,0 12,0,89,0,59,0,3,0,20,0,16,0 17,0,18,0,58,0,52,0,67,0,87,0 26,0,90,0,85,0,24,0,28,0,91,0 68,0,49,0,73,0,5,0,14,0,48,0 30,0,61,0,2,0,72,0,57,0,31,0 86,0,45,0,23,0,22,0,10,0,76,0 33,0,32,0,37,0,56,0,21,0,4,0 50,0,75,0,42,0,15,0,54,0,62,0 8,0,9,0,70,0,44,0,29,0,12,0 79,0,43,0,27,0,53,0,51,0,25,0 82,0,63,0,38,0,13,0,78,0,18,0 80,0,1,0,3,0,87,0,48,0,41,0 92,0,30,0,36,0,66,0,85,0,16,0 31,0,14,0,89,0,69,0,52,0,86,0 91,0,72,0,5,0,19,0,37,0,20,0 33,0,90,0,40,0,11,0,17,0,49,0 42,0,61,0,76,0,67,0,56,0,24,0 32,0,54,0,34,0,77,0,58,0,2,0 88,0,55,0,10,0,57,0,75,0,83,0 73,0,21,0,60,0,28,0,71,0,7,0 68,0,64,0,26,0,35,0,15,0,45,0 47,0,59,0,74,0,65,0,22,0,46,0 50,0,4,0,62,0,6,0,23,0,39,0 81,0,43,0,85,0,84,0,82,0,1,0 37,0,80,0,42,0,8,0,29,0,3,0 31,0,86,0,19,0,11,0,58,0,25,0 69,0,5,0,55,0,48,0,72,0,32,0 79,0,54,0,17,0,60,0,89,0,83,0 15,0,40,0,12,0,73,0,51,0,2,0 35,0,38,0,7,0,76,0,49,0,27,0 24,0,13,0,53,0,21,0,74,0,77,0 71,0,14,0,20,0,90,0,75,0,30,0 92,0,81,0,91,0,59,0,78,0,70,0 63,0,46,0,87,0,39,0,64,0,56,0 61,0,52,0,47,0,50,0,66,0,23,0 84,0,9,0,16,0,45,0,4,0,34,0 62,0,67,0,65,0,57,0,88,0,68,0 22,0,41,0,33,0,28,0,36,0,10,0 44,0,6,0,51,0,26,0,18,0,86,0 14,0,3,0,7,0,17,0,24,0,40,0 71,0,55,0,2,0,82,0,25,0,74,0 37,0,83,0,58,0,92,0,46,0,49,0 77,0,79,0,52,0,12,0,72,0,47,0 91,0,45,0,42,0,48,0,30,0,60,0 39,0,57,0,20,0,38,0,84,0,64,0 69,0,33,0,67,0,80,0,43,0,73,0 61,0,15,0,78,0,41,0,34,0,85,0 81,0,68,0,19,0,9,0,10,0,26,0 36,0,90,0,23,0,13,0,59,0,87,0 16,0,29,0,32,0,76,0,28,0,63,0 21,0,1,0,62,0,5,0,66,0,56,0 22,0,54,0,44,0,27,0,88,0,6,0 50,0,53,0,65,0,70,0,35,0,31,0 4,0,11,0,75,0,89,0,8,0,18,0 86,0,20,0,64,0,78,0,77,0,73,0 60,0,40,0,43,0,74,0,37,0,10,0 79,0,12,0,68,0,23,0,71,0,85,0 58,0,42,0,38,0,2,0,26,0,83,0 92,0,63,0,32,0,49,0,52,0,1,0 6,0,45,0,36,0,5,0,3,0,47,0 29,0,81,0,27,0,90,0,72,0,62,0 57,0,11,0,34,0,66,0,7,0,82,0 16,0,87,0,75,0,44,0,41,0,25,0 19,0,55,0,8,0,33,0,59,0,35,0 21,0,65,0,48,0,39,0,76,0,18,0 46,0,15,0,30,0,88,0,80,0,53,0 28,0,67,0,4,0,14,0,70,0,54,0 13,0,56,0,22,0,9,0,89,0,91,0 50,0,17,0,31,0,51,0,24,0,84,0 69,0,26,0,1,0,61,0,60,0,12,0 37,0,62,0,11,0,36,0,64,0,2,0 79,0,38,0,59,0,87,0,42,0,68,0 29,0,34,0,10,0,21,0,20,0,27,0 55,0,23,0,49,0,43,0,39,0,65,0 71,0,77,0,48,0,66,0,44,0,40,0 15,0,72,0,14,0,56,0,8,0,16,0 58,0,88,0,91,0,63,0,35,0,3,0 22,0,7,0,4,0,50,0,25,0,19,0 13,0,61,0,5,0,53,0,81,0,33,0 47,0,57,0,73,0,41,0,24,0,89,0 90,0,84,0,46,0,70,0,67,0,86,0 82,0,54,0,76,0,52,0,9,0,74,0 69,0,28,0,31,0,78,0,6,0,75,0 51,0,83,0,85,0,45,0,32,0,80,0 18,0,30,0,55,0,17,0,92,0,62,0 91,0,2,0,56,0,23,0,65,0,7,0 15,0,77,0,26,0,10,0,27,0,3,0 16,0,60,0,24,0,22,0,39,0,38,0 44,0,89,0,88,0,50,0,36,0,49,0 8,0,13,0,4,0,1,0,79,0,40,0 70,0,25,0,48,0,61,0,63,0,6,0 64,0,35,0,12,0,82,0,83,0,33,0 66,0,32,0,84,0,19,0,41,0,18,0 71,0,76,0,73,0,43,0,34,0,31,0 47,0,87,0,17,0,11,0,69,0,20,0 52,0,59,0,51,0,67,0,21,0,30,0 57,0,46,0,29,0,85,0,5,0,75,0 28,0,9,0,72,0,92,0,86,0,42,0 54,0,37,0,78,0,90,0,68,0,53,0 74,0,80,0,14,0,45,0,58,0,81,0 32,0,89,0,40,0,38,0,70,0,23,0 73,0,25,0,8,0,62,0,36,0,26,0 56,0,27,0,60,0,13,0,88,0,19,0 50,0,18,0,1,0,91,0,34,0,64,0 85,0,82,0,3,0,67,0,47,0,31,0 2,0,46,0,21,0,44,0,79,0,20,0 69,0,90,0,16,0,5,0,51,0,7,0 76,0,14,0,78,0,55,0,83,0,87,0 10,0,52,0,48,0,35,0,54,0,11,0 63,0,71,0,84,0,59,0,37,0,9,0 24,0,22,0,45,0,72,0,49,0,53,0 41,0,66,0,15,0,86,0,29,0,4,0 74,0,92,0,68,0,80,0,75,0,61,0 77,0,33,0,43,0,58,0,30,0,65,0 17,0,6,0,81,0,12,0,57,0,42,0 39,0,46,0,69,0,28,0,2,0,40,0 91,0,36,0,70,0,10,0,82,0,14,0 26,0,20,0,13,0,76,0,7,0,50,0 23,0,1,0,78,0,51,0,3,0,72,0 53,0,87,0,62,0,4,0,60,0,85,0 74,0,89,0,16,0,67,0,66,0,64,0 38,0,5,0,92,0,41,0,77,0,31,0 75,0,19,0,34,0,48,0,79,0,24,0 39,0,88,0,9,0,90,0,32,0,73,0 33,0,42,0,18,0,71,0,27,0,47,0 28,0,37,0,25,0,52,0,15,0,81,0 86,0,80,0,21,0,17,0,61,0,35,0 83,0,65,0,68,0,11,0,84,0,6,0 8,0,54,0,12,0,63,0,49,0,30,0 44,0,57,0,43,0,59,0,56,0,45,0 58,0,22,0,64,0,55,0,29,0,51,0 ================================================ FILE: schedules/92_2.csv ================================================ 27,0,63,0,56,0,26,0,8,0,41,0 84,0,43,0,7,0,5,0,3,0,79,0 92,0,57,0,42,0,30,0,4,0,19,0 65,0,46,0,13,0,58,0,81,0,82,0 32,0,33,0,78,0,10,0,64,0,71,0 21,0,59,0,39,0,1,0,29,0,34,0 75,0,76,0,12,0,40,0,44,0,91,0 25,0,31,0,18,0,35,0,11,0,86,0 16,0,9,0,22,0,85,0,69,0,6,0 51,0,53,0,49,0,61,0,54,0,62,0 55,0,60,0,83,0,2,0,66,0,52,0 73,0,77,0,37,0,15,0,80,0,67,0 23,0,47,0,14,0,72,0,70,0,90,0 28,0,50,0,88,0,87,0,45,0,38,0 17,0,48,0,24,0,20,0,68,0,36,0 89,0,84,0,41,0,74,0,78,0,57,0 26,0,40,0,11,0,59,0,16,0,92,0 35,0,64,0,34,0,76,0,56,0,62,0 10,0,69,0,13,0,39,0,12,0,60,0 80,0,81,0,30,0,83,0,43,0,1,0 90,0,5,0,8,0,46,0,44,0,4,0 66,0,70,0,50,0,49,0,85,0,79,0 51,0,91,0,6,0,33,0,31,0,36,0 22,0,20,0,2,0,75,0,27,0,18,0 14,0,15,0,58,0,28,0,55,0,17,0 61,0,29,0,19,0,87,0,63,0,24,0 3,0,48,0,89,0,65,0,42,0,67,0 45,0,52,0,71,0,53,0,47,0,37,0 74,0,86,0,72,0,32,0,7,0,21,0 38,0,54,0,68,0,23,0,73,0,9,0 88,0,82,0,76,1,25,0,77,0,36,1 ================================================ FILE: schedules/92_3.csv ================================================ 2,0,87,0,49,0,32,0,39,0,51,0 37,0,38,0,81,0,31,0,8,0,88,0 73,0,13,0,62,0,90,0,71,0,41,0 69,0,12,0,35,0,74,0,18,0,27,0 25,0,46,0,70,0,91,0,65,0,11,0 66,0,86,0,85,0,43,0,59,0,6,0 7,0,56,0,40,0,33,0,45,0,44,0 78,0,48,0,54,0,4,0,28,0,58,0 22,0,23,0,64,0,52,0,68,0,55,0 89,0,36,0,9,0,72,0,67,0,10,0 60,0,50,0,63,0,82,0,1,0,80,0 42,0,75,0,57,0,30,0,3,0,16,0 79,0,77,0,19,0,34,0,21,0,20,0 84,0,14,0,5,0,76,0,47,0,29,0 26,0,24,0,61,0,15,0,17,0,53,0 92,0,48,0,86,0,83,0,11,0,13,0 22,0,71,0,65,0,87,0,38,0,28,0 70,0,67,0,85,0,18,0,54,0,44,0 74,0,23,0,50,0,89,0,37,0,40,0 6,0,45,0,58,0,51,0,80,0,69,0 82,0,33,0,88,0,25,0,12,0,49,0 8,0,30,0,62,0,79,0,84,0,91,0 61,0,76,0,68,0,60,0,59,0,90,0 42,0,47,0,31,0,78,0,21,0,36,0 27,0,20,0,73,0,14,0,3,0,43,0 83,0,66,0,34,0,56,0,64,0,24,0 10,0,52,0,15,0,75,0,92,0,63,0 9,0,55,0,26,0,5,0,35,0,41,0 4,0,46,0,39,0,7,0,57,0,53,0 32,0,17,0,72,0,29,0,77,0,81,0 1,0,16,0,59,0,19,0,2,0,13,0 79,0,78,0,82,0,22,0,86,0,67,0 28,0,11,0,12,0,30,0,37,0,68,0 71,0,40,0,20,0,42,0,70,0,76,0 74,0,51,0,14,0,88,0,21,0,83,0 64,0,3,0,33,0,92,0,65,0,35,0 63,0,38,0,18,0,26,0,34,0,73,0 90,0,32,0,47,0,46,0,58,0,23,0 36,0,4,0,81,0,52,0,25,0,87,0 84,0,27,0,53,0,16,0,72,0,50,0 56,0,75,0,17,0,85,0,48,0,19,0 43,0,44,0,91,0,57,0,5,0,77,0 1,0,41,0,66,0,61,0,45,0,89,0 6,0,8,0,49,0,7,0,9,0,60,0 24,0,55,0,80,0,62,0,39,0,10,0 15,0,31,0,29,0,69,0,2,0,54,0 ================================================ FILE: schedules/92_4.csv ================================================ 78,0,90,0,52,0,41,0,57,0,18,0 53,0,35,0,68,0,12,0,23,0,28,0 72,0,16,0,51,0,40,0,77,0,33,0 60,0,59,0,1,0,2,0,46,0,32,0 22,0,55,0,9,0,66,0,64,0,13,0 14,0,34,0,87,0,89,0,31,0,73,0 85,0,80,0,74,0,75,0,3,0,91,0 67,0,56,0,63,0,26,0,69,0,39,0 92,0,82,0,47,0,84,0,8,0,83,0 48,0,42,0,49,0,86,0,70,0,4,0 37,0,15,0,43,0,71,0,19,0,79,0 25,0,81,0,58,0,38,0,76,0,65,0 50,0,54,0,45,0,44,0,20,0,36,0 7,0,62,0,29,0,11,0,88,0,5,0 6,0,21,0,27,0,10,0,24,0,17,0 61,0,75,0,22,0,30,0,46,0,90,0 26,0,85,0,57,0,82,0,28,0,72,0 55,0,60,0,42,0,12,0,78,0,51,0 66,0,39,0,31,0,19,0,68,0,47,0 71,0,74,0,84,0,32,0,35,0,86,0 77,0,3,0,2,0,81,0,36,0,37,0 76,0,5,0,40,0,92,0,15,0,64,0 44,0,34,0,70,0,67,0,29,0,33,0 62,0,73,0,63,0,27,0,50,0,16,0 43,0,4,0,18,0,89,0,58,0,20,0 1,0,8,0,80,0,25,0,14,0,53,0 83,0,30,0,38,0,11,0,24,0,45,0 13,0,23,0,79,0,54,0,61,0,21,0 65,0,87,0,6,0,59,0,48,0,56,0 41,0,49,0,7,0,69,0,10,0,9,0 91,0,88,0,12,0,17,0,52,0,39,0 57,1,3,0,84,0,16,1,15,0,44,0 68,1,82,0,71,0,2,1,4,0,62,0 37,0,75,0,92,0,1,0,72,0,34,0 38,0,42,0,19,0,77,0,67,0,64,0 33,0,45,0,61,0,74,0,47,0,43,0 29,0,30,0,86,0,18,0,56,0,55,0 81,0,10,0,51,0,14,0,22,0,48,0 50,0,11,0,40,0,79,0,80,0,9,0 41,0,24,0,46,0,20,0,87,0,35,0 90,0,69,0,83,0,58,0,60,0,53,0 13,0,88,0,59,0,31,0,27,0,25,0 17,0,26,0,89,0,54,0,49,0,5,0 65,0,73,0,28,0,78,0,70,0,91,0 76,0,8,0,32,0,21,0,52,0,66,0 63,0,7,0,23,0,36,0,85,0,6,0 9,0,39,0,16,0,42,0,61,0,18,0 10,0,40,0,46,0,3,0,19,0,86,0 79,0,2,0,44,0,22,0,38,0,92,0 74,0,14,0,11,0,12,0,82,0,90,0 24,0,58,0,47,0,80,0,59,0,71,0 27,0,28,0,33,0,1,0,55,0,81,0 8,0,67,0,89,0,15,0,68,0,45,0 35,0,5,0,56,0,21,0,43,0,57,0 32,0,64,0,31,0,7,0,48,0,75,0 30,0,52,0,85,0,13,0,87,0,37,0 20,0,66,0,77,0,84,0,91,0,63,0 83,0,72,0,23,0,49,0,50,0,65,0 53,0,36,0,78,0,26,0,76,0,4,0 6,0,54,0,41,0,60,0,70,0,62,0 25,0,17,0,51,0,29,0,69,0,73,0 34,0,57,0,68,0,88,0,16,0,2,0 ================================================ FILE: schedules/92_5.csv ================================================ 40,0,92,0,26,0,28,0,70,0,58,0 82,0,13,0,53,0,67,0,19,0,88,0 23,0,57,0,66,0,76,0,18,0,74,0 60,0,85,0,84,0,32,0,37,0,11,0 35,0,65,0,1,0,77,0,90,0,56,0 63,0,15,0,39,0,6,0,43,0,30,0 79,0,34,0,75,0,45,0,54,0,59,0 73,0,52,0,9,0,41,0,55,0,89,0 50,0,48,0,22,0,46,0,3,0,80,0 36,0,27,0,29,0,8,0,33,0,81,0 44,0,10,0,61,0,91,0,7,0,87,0 42,0,38,0,86,0,5,0,51,0,14,0 16,0,62,0,12,0,78,0,20,0,17,0 49,0,71,0,31,0,72,0,69,0,21,0 25,0,68,0,83,0,4,0,2,0,47,0 64,0,35,0,57,0,24,0,43,0,53,0 30,0,88,0,59,0,3,0,76,0,52,0 81,0,73,0,34,0,82,0,56,0,15,0 48,0,13,0,85,0,75,0,65,0,28,0 74,0,5,0,27,0,50,0,19,0,10,0 17,0,11,0,58,0,9,0,14,0,54,0 18,0,78,0,21,0,84,0,61,0,39,0 49,0,60,0,7,0,33,0,40,0,25,0 20,0,36,0,37,0,87,0,68,0,72,0 89,0,24,0,92,0,42,0,83,0,91,0 2,0,62,0,41,0,46,0,71,0,66,0 1,0,69,0,16,0,4,0,23,0,45,0 26,0,77,0,8,0,6,0,79,0,86,0 55,0,44,0,29,0,90,0,70,0,80,0 38,0,64,0,32,0,63,0,47,0,31,0 51,0,67,0,52,0,12,0,22,0,65,0 68,1,88,0,84,0,35,1,5,0,15,0 33,0,48,0,74,0,87,0,17,0,92,0 56,0,72,0,13,0,62,0,59,0,25,0 75,0,83,0,27,0,49,0,82,0,58,0 40,0,46,0,78,0,57,0,89,0,54,0 61,0,19,0,24,0,23,0,81,0,37,0 36,0,6,0,66,0,10,0,38,0,73,0 22,0,4,0,55,0,64,0,39,0,28,0 51,0,85,0,79,0,29,0,1,0,21,0 70,0,50,0,45,0,77,0,47,0,67,0 18,0,20,0,53,0,26,0,60,0,30,0 80,0,43,0,7,0,71,0,8,0,11,0 9,0,69,0,42,0,76,0,32,0,12,0 2,0,44,0,3,0,63,0,14,0,34,0 90,0,91,0,41,0,16,0,86,0,31,0 92,0,72,0,38,0,78,0,52,0,23,0 62,0,58,0,81,0,10,0,51,0,64,0 6,0,28,0,88,0,57,0,27,0,37,0 46,0,67,0,15,0,85,0,18,0,87,0 5,0,47,0,49,0,13,0,29,0,26,0 17,0,8,0,82,0,21,0,89,0,50,0 12,0,24,0,4,0,30,0,77,0,7,0 70,0,71,0,63,0,79,0,48,0,60,0 69,0,3,0,84,0,73,0,65,0,74,0 83,0,11,0,39,0,20,0,35,0,41,0 32,0,16,0,25,0,55,0,66,0,34,0 75,0,43,0,31,0,14,0,61,0,56,0 33,0,54,0,86,0,53,0,68,0,44,0 9,0,19,0,80,0,2,0,91,0,1,0 76,0,90,0,45,0,22,0,40,0,36,0 59,0,71,0,18,0,42,0,64,0,6,0 28,0,30,0,10,0,8,0,47,0,78,0 57,0,63,0,51,0,83,0,7,0,69,0 58,0,37,0,79,0,25,0,5,0,41,0 65,0,38,0,81,0,20,0,46,0,70,0 89,0,11,0,67,0,49,0,16,0,74,0 39,0,14,0,91,0,73,0,68,0,85,0 4,0,31,0,62,0,9,0,35,0,44,0 50,0,90,0,75,0,88,0,33,0,24,0 22,0,54,0,19,0,84,0,29,0,92,0 21,0,56,0,53,0,12,0,45,0,80,0 59,0,77,0,15,0,32,0,36,0,2,0 82,0,3,0,23,0,43,0,40,0,55,0 87,0,86,0,60,0,76,0,13,0,34,0 61,0,48,0,26,0,1,0,72,0,27,0 52,0,66,0,68,0,42,0,17,0,35,0 ================================================ FILE: schedules/92_6.csv ================================================ 18,0,79,0,56,0,3,0,44,0,31,0 55,0,65,0,58,0,52,0,92,0,74,0 11,0,76,0,91,0,83,0,10,0,49,0 43,0,59,0,82,0,87,0,39,0,50,0 19,0,54,0,70,0,61,0,22,0,14,0 32,0,69,0,38,0,53,0,84,0,63,0 33,0,41,0,20,0,89,0,15,0,8,0 80,0,81,0,9,0,40,0,26,0,34,0 51,0,16,0,60,0,2,0,71,0,1,0 77,0,85,0,46,0,73,0,25,0,42,0 17,0,62,0,64,0,5,0,12,0,4,0 36,0,88,0,90,0,86,0,28,0,37,0 47,0,35,0,27,0,45,0,6,0,30,0 21,0,78,0,13,0,72,0,75,0,29,0 67,0,7,0,24,0,48,0,68,0,23,0 57,0,92,0,54,0,66,0,80,0,84,0 74,0,10,0,60,0,18,0,50,0,38,0 14,0,42,0,41,0,52,0,16,0,56,0 12,0,19,0,3,0,26,0,89,0,32,0 5,0,53,0,76,0,73,0,44,0,82,0 33,0,31,0,34,0,69,0,83,0,37,0 51,0,64,0,29,0,20,0,88,0,85,0 45,0,86,0,68,0,55,0,61,0,21,0 28,0,2,0,47,0,78,0,43,0,67,0 49,0,22,0,39,0,9,0,30,0,77,0 58,0,6,0,71,0,62,0,7,0,11,0 65,0,4,0,63,0,48,0,40,0,13,0 46,0,35,0,17,0,24,0,72,0,87,0 36,0,91,0,23,0,79,0,57,0,27,0 59,0,70,0,25,0,15,0,66,0,90,0 8,0,75,0,18,0,81,0,1,0,68,0 28,0,76,0,50,0,3,0,64,0,61,0 10,0,12,0,69,0,82,0,21,0,2,0 42,0,7,0,30,0,78,0,83,0,80,0 43,0,74,0,73,0,6,0,20,0,86,0 37,0,72,0,52,0,48,0,54,0,89,0 62,0,51,0,84,0,33,0,79,0,24,0 26,0,36,0,22,0,45,0,46,0,63,0 14,0,23,0,29,0,31,0,9,0,5,0 15,0,87,0,60,0,13,0,58,0,77,0 56,0,25,0,27,0,71,0,65,0,81,0 70,0,85,0,67,0,55,0,8,0,57,0 49,0,92,0,32,0,16,0,47,0,59,0 90,0,34,0,38,0,41,0,75,0,17,0 88,0,1,0,44,0,40,0,35,0,11,0 4,0,66,0,53,0,39,0,19,0,91,0 78,0,50,0,12,0,24,0,63,0,54,0 43,0,31,0,7,0,36,0,13,0,51,0 5,0,68,0,56,0,77,0,26,0,69,0 46,0,8,0,28,0,23,0,52,0,83,0 80,0,61,0,16,0,67,0,37,0,58,0 62,0,57,0,47,0,10,0,9,0,72,0 49,0,55,0,81,0,79,0,14,0,88,0 60,0,29,0,25,0,41,0,39,0,35,0 74,0,84,0,89,0,59,0,76,0,45,0 85,0,75,0,86,0,4,0,3,0,33,0 19,0,11,0,73,0,38,0,15,0,48,0 18,0,70,0,87,0,32,0,42,0,27,0 2,0,90,0,6,0,44,0,91,0,65,0 1,0,82,0,66,0,30,0,34,0,64,0 92,0,53,0,40,0,71,0,22,0,21,0 20,0,37,0,50,0,17,0,68,0,25,0 54,0,47,0,55,0,56,0,7,0,29,0 8,0,5,0,79,0,63,0,59,0,35,0 13,0,57,0,41,0,74,0,81,0,46,0 61,0,42,0,39,0,23,0,11,0,75,0 73,0,91,0,31,0,62,0,32,0,67,0 49,0,78,0,51,0,45,0,34,0,19,0 89,0,27,0,77,0,90,0,92,0,64,0 71,0,24,0,44,0,10,0,28,0,30,0 83,0,48,0,17,0,70,0,82,0,84,0 40,0,15,0,69,0,6,0,72,0,85,0 80,0,14,0,86,0,2,0,53,0,18,0 38,0,16,0,20,0,87,0,4,0,26,0 43,0,65,0,22,0,88,0,60,0,33,0 66,0,58,0,21,0,9,0,3,0,36,0 52,0,12,0,29,0,76,0,1,0,67,0 64,0,75,0,71,0,79,0,37,0,74,0 34,0,77,0,84,0,8,0,7,0,50,0 68,0,82,0,63,0,42,0,49,0,28,0 39,0,15,0,44,0,57,0,32,0,14,0 30,0,86,0,40,0,51,0,38,0,56,0 10,0,73,0,33,0,78,0,92,0,17,0 11,0,45,0,3,0,54,0,20,0,65,0 72,0,58,0,83,0,43,0,4,0,90,0 87,0,81,0,69,0,66,0,62,0,22,0 9,0,88,0,2,0,76,0,41,0,70,0 23,0,89,0,13,0,35,0,55,0,16,0 24,0,5,0,1,0,91,0,80,0,21,0 48,0,6,0,53,0,46,0,31,0,12,0 18,0,19,0,36,0,52,0,25,0,47,0 61,0,59,0,26,0,27,0,85,0,60,0 ================================================ FILE: schedules/92_7.csv ================================================ 21,0,79,0,85,0,32,0,14,0,50,0 60,0,44,0,17,0,87,0,11,0,65,0 67,0,41,0,86,0,23,0,54,0,40,0 30,0,58,0,61,0,26,0,73,0,51,0 48,0,66,0,64,0,24,0,69,0,83,0 68,0,28,0,15,0,4,0,92,0,49,0 3,0,70,0,62,0,74,0,53,0,7,0 43,0,84,0,37,0,39,0,78,0,45,0 52,0,75,0,29,0,80,0,56,0,71,0 46,0,33,0,2,0,91,0,27,0,35,0 22,0,5,0,10,0,63,0,36,0,82,0 20,0,59,0,81,0,25,0,77,0,90,0 19,0,1,0,34,0,13,0,76,0,88,0 9,0,38,0,42,0,18,0,55,0,16,0 57,0,8,0,47,0,89,0,12,0,72,0 31,0,44,0,85,0,6,0,62,0,51,0 69,0,23,0,84,0,4,0,7,0,21,0 87,0,74,0,80,0,28,0,66,0,78,0 75,0,91,0,63,0,60,0,64,0,92,0 39,0,36,0,79,0,40,0,73,0,2,0 50,0,25,0,26,0,56,0,43,0,22,0 13,0,10,0,77,0,55,0,27,0,15,0 42,0,14,0,53,0,47,0,61,0,67,0 76,0,11,0,5,0,29,0,89,0,70,0 6,0,81,0,83,0,18,0,1,0,46,0 71,0,30,0,17,0,72,0,9,0,24,0 12,0,38,0,68,0,33,0,86,0,88,0 54,0,19,0,65,0,57,0,16,0,20,0 58,0,34,0,32,0,52,0,59,0,3,0 31,0,45,0,35,0,48,0,82,0,8,0 41,0,90,0,14,0,49,0,37,0,51,0 79,1,66,0,26,0,91,1,53,0,55,0 18,1,69,0,92,0,87,1,50,0,73,0 24,0,29,0,27,0,28,0,47,0,63,0 42,0,71,0,89,0,83,0,68,0,7,0 85,0,70,0,78,0,25,0,54,0,15,0 72,0,62,0,4,0,67,0,65,0,76,0 32,0,45,0,64,0,56,0,33,0,57,0 19,0,30,0,12,0,44,0,59,0,10,0 48,0,2,0,20,0,22,0,17,0,37,0 61,0,43,0,40,0,6,0,74,0,9,0 90,0,86,0,82,0,58,0,11,0,1,0 52,0,36,0,84,0,41,0,8,0,16,0 80,0,49,0,77,0,21,0,34,0,39,0 23,0,46,0,31,0,88,0,75,0,5,0 3,0,35,0,13,0,38,0,60,0,81,0 83,0,87,0,14,0,57,0,15,0,30,0 68,0,22,0,32,0,29,0,91,0,44,0 25,0,92,0,7,0,10,0,45,0,72,0 59,0,27,0,1,0,70,0,64,0,50,0 74,0,90,0,55,0,84,0,67,0,2,0 6,0,69,0,78,0,86,0,20,0,26,0 18,0,24,0,85,0,19,0,4,0,75,0 28,0,31,0,9,0,36,0,60,0,89,0 3,0,17,0,49,0,61,0,82,0,54,0 80,0,63,0,35,0,88,0,40,0,53,0 47,0,66,0,62,0,13,0,46,0,16,0 23,0,51,0,81,0,52,0,11,0,33,0 76,0,71,0,79,0,77,0,43,0,58,0 48,0,34,0,41,0,42,0,12,0,65,0 73,0,5,0,56,0,38,0,21,0,37,0 8,0,67,0,60,0,39,0,50,0,6,0 7,0,64,0,22,0,55,0,19,0,28,0 87,0,26,0,40,0,3,0,68,0,31,0 13,0,89,0,18,0,63,0,32,0,17,0 51,0,16,0,88,0,25,0,24,0,2,0 10,0,57,0,75,0,70,0,69,0,79,0 52,0,46,0,82,0,77,0,85,0,53,0 20,0,45,0,1,0,47,0,23,0,49,0 27,0,14,0,66,0,76,0,38,0,84,0 54,0,30,0,33,0,5,0,43,0,42,0 58,0,41,0,21,0,92,0,9,0,29,0 11,0,39,0,56,0,15,0,74,0,48,0 73,0,12,0,81,0,80,0,91,0,62,0 72,0,83,0,36,0,44,0,35,0,90,0 71,0,61,0,37,0,34,0,86,0,4,0 65,0,8,0,22,0,78,0,59,0,46,0 7,0,26,0,57,0,17,0,52,0,1,0 2,0,63,0,42,0,69,0,85,0,3,0 33,0,25,0,67,0,9,0,49,0,19,0 74,0,13,0,5,0,20,0,79,0,64,0 11,0,54,0,73,0,14,0,10,0,31,0 91,0,43,0,38,0,23,0,48,0,90,0 34,0,82,0,29,0,83,0,40,0,84,0 78,0,51,0,72,0,18,0,56,0,27,0 37,0,53,0,76,0,68,0,36,0,6,0 21,0,16,0,28,0,71,0,81,0,44,0 58,0,15,0,60,0,12,0,45,0,66,0 59,0,89,0,86,0,62,0,39,0,87,0 50,0,75,0,77,0,61,0,65,0,35,0 92,0,24,0,70,0,8,0,80,0,32,0 55,0,4,0,88,0,30,0,41,0,47,0 17,0,31,0,29,0,79,0,42,0,90,0 43,0,46,0,68,0,63,0,51,0,57,0 72,0,74,0,16,0,73,0,34,0,23,0 10,0,67,0,20,0,71,0,66,0,3,0 91,0,28,0,40,0,69,0,11,0,37,0 54,0,84,0,35,0,1,0,22,0,12,0 62,0,8,0,18,0,15,0,64,0,21,0 19,0,48,0,70,0,47,0,87,0,77,0 61,0,59,0,60,0,33,0,85,0,80,0 55,0,56,0,44,0,76,0,86,0,24,0 38,0,6,0,49,0,58,0,7,0,75,0 89,0,53,0,2,0,81,0,78,0,30,0 50,0,45,0,9,0,13,0,4,0,52,0 27,0,39,0,32,0,25,0,5,0,83,0 92,0,14,0,65,0,88,0,36,0,26,0 82,0,79,0,87,0,41,0,91,0,18,0 ================================================ FILE: schedules/92_8.csv ================================================ 35,0,45,0,77,0,31,0,21,0,20,0 56,0,69,0,70,0,38,0,22,0,10,0 30,0,64,0,89,0,85,0,88,0,11,0 6,0,55,0,1,0,42,0,46,0,9,0 92,0,14,0,39,0,34,0,74,0,16,0 65,0,52,0,47,0,43,0,3,0,66,0 84,0,7,0,33,0,59,0,51,0,80,0 24,0,81,0,27,0,28,0,26,0,23,0 49,0,25,0,71,0,76,0,17,0,5,0 86,0,57,0,36,0,12,0,78,0,54,0 29,0,82,0,37,0,18,0,75,0,15,0 87,0,19,0,48,0,61,0,73,0,4,0 44,0,40,0,50,0,53,0,62,0,90,0 58,0,32,0,72,0,60,0,41,0,8,0 91,0,83,0,67,0,63,0,79,0,2,0 68,0,45,0,28,0,13,0,84,0,47,0 43,0,27,0,9,0,35,0,70,0,74,0 55,0,65,0,88,0,24,0,12,0,25,0 17,0,30,0,6,0,22,0,77,0,92,0 59,0,18,0,42,0,89,0,66,0,21,0 10,0,49,0,57,0,90,0,51,0,15,0 36,0,20,0,53,0,16,0,82,0,58,0 80,0,3,0,34,0,44,0,85,0,61,0 69,0,31,0,1,0,7,0,78,0,52,0 54,0,14,0,4,0,60,0,83,0,75,0 81,0,5,0,19,0,29,0,79,0,8,0 91,0,86,0,72,0,73,0,50,0,37,0 67,0,71,0,64,0,13,0,23,0,33,0 48,0,39,0,56,0,63,0,68,0,41,0 62,0,32,0,38,0,76,0,11,0,87,0 26,0,40,0,10,0,2,0,46,0,80,0 52,1,16,0,35,0,25,1,85,0,28,0 34,0,21,0,6,0,51,0,65,0,54,0 8,0,61,0,90,0,12,0,30,0,59,0 49,0,89,0,55,0,36,0,7,0,44,0 22,0,74,0,37,0,42,0,88,0,20,0 33,0,39,0,50,0,45,0,78,0,27,0 75,0,17,0,79,0,70,0,73,0,68,0 71,0,46,0,62,0,4,0,72,0,63,0 5,0,41,0,87,0,15,0,26,0,3,0 38,0,9,0,81,0,53,0,91,0,66,0 2,0,82,0,60,0,24,0,13,0,43,0 31,0,83,0,23,0,56,0,29,0,11,0 76,0,1,0,86,0,47,0,67,0,14,0 40,0,77,0,57,0,32,0,48,0,64,0 69,0,19,0,18,0,92,0,84,0,58,0 8,0,49,0,4,0,52,0,34,0,37,0 12,0,75,0,26,0,74,0,62,0,45,0 25,0,39,0,42,0,30,0,3,0,36,0 41,0,66,0,51,0,17,0,35,0,24,0 13,0,50,0,56,0,80,0,88,0,81,0 61,0,21,0,72,0,47,0,27,0,11,0 83,0,46,0,48,0,65,0,5,0,22,0 82,0,7,0,38,0,19,0,86,0,64,0 85,0,23,0,68,0,60,0,9,0,18,0 31,0,33,0,89,0,87,0,57,0,16,0 63,0,58,0,1,0,28,0,73,0,40,0 54,0,84,0,53,0,55,0,67,0,10,0 44,0,70,0,91,0,71,0,77,0,14,0 92,0,32,0,2,0,29,0,59,0,20,0 90,0,78,0,79,0,6,0,43,0,76,0 15,0,36,0,25,0,69,0,66,0,72,0 47,0,4,0,5,0,64,0,51,0,50,0 37,0,8,0,23,0,39,0,21,0,87,0 19,0,24,0,1,0,89,0,68,0,34,0 18,0,61,0,55,0,83,0,35,0,40,0 63,0,70,0,45,0,16,0,86,0,60,0 54,0,81,0,22,0,82,0,85,0,71,0 62,0,80,0,27,0,20,0,6,0,48,0 56,0,84,0,44,0,9,0,57,0,52,0 90,0,29,0,73,0,42,0,26,0,38,0 88,0,43,0,75,0,49,0,69,0,67,0 13,0,77,0,78,0,59,0,74,0,10,0 53,0,12,0,17,0,32,0,7,0,28,0 58,0,65,0,30,0,76,0,91,0,15,0 41,0,46,0,11,0,79,0,33,0,92,0 14,0,3,0,51,0,2,0,31,0,68,0 56,0,66,0,45,0,64,0,55,0,37,0 23,0,40,0,16,0,5,0,84,0,42,0 89,0,20,0,70,0,26,0,61,0,39,0 6,0,57,0,67,0,4,0,24,0,29,0 88,0,28,0,72,0,77,0,9,0,87,0 19,0,54,0,76,0,59,0,52,0,63,0 34,0,43,0,46,0,17,0,58,0,50,0 25,0,80,0,32,0,90,0,82,0,83,0 8,0,85,0,74,0,36,0,31,0,38,0 10,0,27,0,12,0,91,0,3,0,92,0 22,0,14,0,78,0,49,0,53,0,41,0 44,0,21,0,86,0,69,0,48,0,13,0 7,0,11,0,75,0,65,0,2,0,71,0 47,0,81,0,73,0,33,0,18,0,30,0 79,0,60,0,15,0,62,0,1,0,35,0 51,0,16,0,26,0,43,0,55,0,72,0 63,0,90,0,31,0,66,0,84,0,88,0 76,0,42,0,68,0,83,0,8,0,27,0 29,0,41,0,34,0,40,0,25,0,9,0 14,0,52,0,85,0,32,0,10,0,21,0 23,0,91,0,49,0,74,0,6,0,19,0 71,0,28,0,92,0,48,0,36,0,50,0 67,0,73,0,22,0,45,0,89,0,3,0 87,0,18,0,65,0,56,0,79,0,86,0 53,0,11,0,59,0,4,0,15,0,70,0 17,0,37,0,61,0,2,0,81,0,57,0 30,0,20,0,60,0,46,0,78,0,44,0 12,0,5,0,82,0,33,0,77,0,1,0 69,0,24,0,64,0,39,0,54,0,62,0 38,0,35,0,80,0,58,0,75,0,47,0 13,0,8,0,66,0,7,0,40,0,92,0 16,0,79,0,9,0,32,0,49,0,50,0 76,0,45,0,48,0,10,0,88,0,23,0 51,0,74,0,71,0,29,0,86,0,52,0 4,0,22,0,43,0,25,0,31,0,44,0 57,0,63,0,26,0,11,0,34,0,82,0 90,0,17,0,20,0,18,0,54,0,1,0 84,0,65,0,89,0,81,0,14,0,72,0 59,0,37,0,3,0,38,0,83,0,28,0 70,0,24,0,78,0,80,0,21,0,5,0 36,0,68,0,35,0,91,0,64,0,87,0 15,0,47,0,39,0,12,0,46,0,19,0 73,0,85,0,2,0,69,0,77,0,53,0 27,0,55,0,13,0,41,0,75,0,30,0 42,0,58,0,7,0,67,0,56,0,62,0 33,0,60,0,52,0,6,0,61,0,25,0 ================================================ FILE: schedules/92_9.csv ================================================ 72,0,68,0,36,0,5,0,25,0,65,0 31,0,10,0,17,0,33,0,64,0,89,0 55,0,52,0,26,0,28,0,35,0,56,0 7,0,62,0,43,0,90,0,48,0,71,0 92,0,45,0,29,0,77,0,39,0,66,0 38,0,42,0,51,0,15,0,1,0,87,0 27,0,37,0,76,0,13,0,60,0,59,0 91,0,83,0,24,0,12,0,16,0,14,0 81,0,78,0,73,0,44,0,80,0,20,0 19,0,70,0,82,0,69,0,61,0,3,0 86,0,54,0,21,0,46,0,88,0,84,0 34,0,75,0,2,0,79,0,4,0,63,0 53,0,9,0,41,0,30,0,57,0,40,0 49,0,6,0,50,0,11,0,8,0,22,0 74,0,85,0,18,0,67,0,32,0,23,0 58,0,65,0,48,0,47,0,35,0,91,0 5,0,43,0,44,0,38,0,17,0,56,0 64,0,26,0,14,0,7,0,59,0,81,0 90,0,45,0,31,0,52,0,82,0,86,0 83,0,39,0,13,0,21,0,42,0,2,0 60,0,63,0,77,0,57,0,1,0,54,0 30,0,76,0,22,0,70,0,87,0,89,0 24,0,25,0,73,0,88,0,66,0,55,0 71,0,10,0,15,0,36,0,47,0,18,0 19,0,29,0,58,0,84,0,32,0,75,0 68,0,27,0,8,0,12,0,85,0,61,0 16,0,11,0,40,0,78,0,79,0,46,0 6,0,9,0,4,0,67,0,51,0,28,0 50,0,41,0,23,0,62,0,20,0,34,0 53,0,80,0,49,0,72,0,37,0,69,0 92,0,33,0,59,0,74,0,3,0,48,0 64,0,87,0,60,0,73,0,39,0,52,0 10,0,25,0,90,0,81,0,70,0,13,0 1,0,45,0,14,0,68,0,30,0,58,0 2,0,18,0,40,0,76,0,44,0,77,0 67,0,43,0,19,0,11,0,15,0,24,0 56,0,22,0,34,0,51,0,46,0,7,0 38,0,16,0,41,0,8,0,35,0,82,0 31,0,54,0,65,0,50,0,29,0,80,0 28,0,69,0,62,0,78,0,32,0,66,0 61,0,49,0,89,0,84,0,36,0,91,0 86,0,85,0,3,0,26,0,57,0,4,0 27,0,6,0,79,0,20,0,42,0,53,0 17,0,47,0,92,0,72,0,9,0,21,0 12,0,55,0,74,0,5,0,75,0,37,0 83,0,71,0,88,0,33,0,63,0,23,0 19,0,48,0,51,0,60,0,14,0,10,0 56,0,65,0,8,0,87,0,45,0,13,0 70,0,59,0,66,0,46,0,52,0,44,0 34,0,39,0,11,0,86,0,1,0,32,0 6,0,35,0,69,0,68,0,81,0,18,0 21,0,85,0,25,0,16,0,64,0,29,0 58,0,54,0,67,0,36,0,90,0,40,0 7,0,4,0,49,0,83,0,20,0,55,0 23,0,30,0,72,0,91,0,78,0,75,0 22,0,15,0,33,0,41,0,5,0,2,0 74,0,79,0,73,0,61,0,31,0,38,0 76,0,84,0,47,0,53,0,28,0,43,0 50,0,17,0,63,0,26,0,42,0,82,0 71,0,77,0,80,0,27,0,9,0,24,0 57,0,88,0,12,0,92,0,89,0,62,0 37,0,11,0,29,0,3,0,68,0,51,0 91,0,8,0,54,0,25,0,7,0,18,0 21,0,14,0,15,0,65,0,23,0,40,0 20,0,60,0,70,0,67,0,86,0,56,0 72,0,43,0,61,0,33,0,52,0,1,0 53,0,66,0,19,0,81,0,83,0,22,0 30,0,84,0,39,0,85,0,69,0,31,0 28,0,89,0,24,0,44,0,13,0,75,0 48,0,57,0,37,0,38,0,2,0,50,0 49,0,79,0,35,0,92,0,87,0,90,0 16,0,32,0,5,0,26,0,45,0,27,0 77,0,42,0,41,0,47,0,78,0,88,0 59,0,12,0,36,0,73,0,34,0,17,0 3,0,55,0,9,0,46,0,64,0,58,0 10,0,62,0,76,0,63,0,80,0,6,0 71,0,82,0,81,0,4,0,74,0,29,0 18,0,70,0,75,0,33,0,39,0,38,0 23,0,87,0,2,0,31,0,24,0,7,0 20,0,32,0,22,0,54,0,14,0,72,0 11,0,44,0,84,0,25,0,92,0,42,0 13,0,35,0,1,0,19,0,12,0,78,0 89,0,26,0,77,0,65,0,73,0,51,0 80,0,40,0,61,0,55,0,45,0,60,0 17,0,46,0,83,0,85,0,37,0,6,0 76,0,88,0,9,0,49,0,15,0,48,0 74,0,36,0,43,0,69,0,41,0,63,0 47,0,59,0,62,0,5,0,4,0,8,0 90,0,53,0,56,0,21,0,91,0,68,0 30,0,3,0,67,0,79,0,71,0,52,0 50,0,58,0,10,0,16,0,86,0,66,0 64,0,82,0,28,0,27,0,34,0,57,0 73,0,33,0,13,0,11,0,85,0,7,0 23,0,46,0,48,0,89,0,39,0,25,0 69,0,29,0,12,0,60,0,26,0,22,0 4,0,35,0,54,0,37,0,15,0,44,0 19,0,42,0,18,0,55,0,62,0,65,0 61,0,24,0,32,0,53,0,59,0,63,0 21,0,78,0,51,0,49,0,31,0,5,0 28,0,1,0,3,0,83,0,90,0,50,0 38,0,91,0,34,0,52,0,10,0,9,0 30,0,27,0,81,0,36,0,56,0,92,0 45,0,64,0,47,0,74,0,70,0,2,0 57,0,66,0,20,0,8,0,76,0,17,0 75,0,86,0,41,0,6,0,71,0,14,0 88,0,80,0,82,0,58,0,43,0,79,0 87,0,68,0,16,0,77,0,84,0,67,0 72,0,39,0,3,0,40,0,62,0,24,0 78,0,4,0,50,0,25,0,33,0,53,0 36,0,42,0,35,0,31,0,22,0,9,0 65,0,63,0,7,0,28,0,12,0,30,0 56,0,85,0,1,0,2,0,49,0,10,0 14,0,47,0,44,0,29,0,57,0,55,0 27,0,75,0,52,0,54,0,48,0,17,0 21,0,11,0,89,0,20,0,38,0,59,0 18,0,87,0,37,0,61,0,26,0,88,0 60,0,5,0,92,0,58,0,71,0,34,0 23,0,69,0,64,0,77,0,8,0,79,0 84,0,13,0,51,0,66,0,82,0,40,0 15,0,74,0,68,0,83,0,80,0,86,0 16,0,76,0,72,0,73,0,90,0,19,0 67,0,81,0,46,0,91,0,45,0,41,0 32,0,6,0,31,0,70,0,43,0,12,0 36,0,38,0,88,0,14,0,85,0,28,0 5,0,7,0,53,0,3,0,89,0,35,0 77,0,56,0,4,0,11,0,61,0,58,0 82,0,20,0,1,0,37,0,24,0,47,0 57,0,75,0,69,0,83,0,10,0,59,0 15,0,52,0,63,0,13,0,16,0,92,0 71,0,55,0,68,0,50,0,39,0,76,0 60,0,46,0,32,0,30,0,49,0,42,0 79,0,62,0,91,0,17,0,29,0,70,0 87,0,40,0,25,0,6,0,74,0,19,0 78,0,22,0,90,0,65,0,84,0,27,0 66,0,48,0,80,0,41,0,64,0,18,0 26,0,44,0,33,0,21,0,34,0,67,0 54,0,45,0,73,0,9,0,43,0,23,0 51,0,8,0,86,0,81,0,72,0,2,0 ================================================ FILE: schedules/93_1.csv ================================================ 22,0,65,0,17,0,69,0,66,0,31,0 57,0,18,0,14,0,77,0,68,0,63,0 5,0,84,0,45,0,81,0,80,0,21,0 60,0,79,0,1,0,43,0,55,0,78,0 8,0,75,0,6,0,72,0,4,0,50,0 38,0,47,0,26,0,82,0,48,0,39,0 27,0,54,0,85,0,52,0,2,0,15,0 30,0,62,0,23,0,41,0,44,0,90,0 93,0,83,0,3,0,61,0,13,0,71,0 51,0,12,0,88,0,64,0,37,0,70,0 67,0,53,0,34,0,20,0,49,0,28,0 86,0,7,0,76,0,24,0,59,0,19,0 58,0,33,0,32,0,89,0,92,0,29,0 42,0,91,0,35,0,9,0,87,0,46,0 40,0,10,0,16,0,36,0,25,0,56,0 73,0,11,0,4,1,74,0,17,1,84,1 ================================================ FILE: schedules/93_10.csv ================================================ 65,0,89,0,48,0,44,0,83,0,27,0 30,0,39,0,9,0,87,0,2,0,85,0 23,0,75,0,24,0,53,0,76,0,61,0 56,0,72,0,45,0,41,0,29,0,37,0 31,0,36,0,10,0,84,0,38,0,68,0 16,0,34,0,67,0,50,0,59,0,43,0 21,0,66,0,18,0,35,0,22,0,57,0 11,0,52,0,63,0,81,0,26,0,20,0 90,0,40,0,92,0,6,0,79,0,4,0 13,0,74,0,19,0,5,0,25,0,64,0 73,0,58,0,32,0,1,0,86,0,46,0 14,0,7,0,69,0,3,0,91,0,8,0 70,0,28,0,51,0,15,0,80,0,17,0 62,0,78,0,42,0,54,0,71,0,88,0 33,0,82,0,49,0,93,0,55,0,47,0 60,0,10,0,53,0,12,0,77,0,21,0 9,0,16,0,79,0,20,0,29,0,75,0 84,0,6,0,22,0,52,0,34,0,2,0 4,0,27,0,59,0,24,0,46,0,68,0 83,0,1,0,56,0,36,0,8,0,61,0 39,0,14,0,17,0,38,0,90,0,7,0 15,0,48,0,5,0,62,0,57,0,43,0 50,0,72,0,93,0,44,0,88,0,64,0 81,0,35,0,71,0,40,0,51,0,87,0 65,0,58,0,28,0,31,0,66,0,85,0 32,0,55,0,41,0,89,0,63,0,77,0 37,0,73,0,26,0,23,0,19,0,30,0 80,0,82,0,42,0,76,0,74,0,12,0 33,0,45,0,67,0,11,0,3,0,70,0 91,0,49,0,78,0,18,0,13,0,92,0 25,0,54,0,86,0,60,0,69,0,47,0 52,0,79,0,68,0,8,0,44,0,15,0 20,0,72,0,2,0,35,0,65,0,61,0 53,0,46,0,48,0,39,0,28,0,50,0 29,0,55,0,58,0,88,0,27,0,14,0 93,0,40,0,22,0,5,0,16,0,80,0 33,0,76,0,7,0,81,0,6,0,56,0 43,0,26,0,82,0,38,0,92,0,66,0 91,0,73,0,47,0,36,0,70,0,12,0 3,0,42,0,9,0,37,0,24,0,60,0 63,0,13,0,90,0,83,0,23,0,57,0 87,0,32,0,77,0,69,0,34,0,4,0 31,0,30,0,71,0,17,0,45,0,59,0 19,0,54,0,1,0,18,0,84,0,41,0 86,0,85,0,74,0,49,0,10,0,67,0 89,0,62,0,51,0,11,0,21,0,64,0 78,0,44,0,22,0,75,0,25,0,56,0 38,0,20,0,76,0,73,0,55,0,50,0 23,0,46,0,65,0,15,0,92,0,33,0 88,0,5,0,28,0,32,0,61,0,91,0 72,0,16,0,48,0,42,0,70,0,58,0 84,0,40,0,82,0,3,0,41,0,68,0 57,0,12,0,24,0,17,0,6,0,86,0 18,0,30,0,52,0,93,0,7,0,53,0 25,0,8,0,34,0,89,0,31,0,80,0 69,0,51,0,36,0,85,0,59,0,19,0 54,0,29,0,87,0,26,0,10,0,13,0 90,0,62,0,77,0,35,0,37,0,47,0 81,0,79,0,43,0,64,0,1,0,45,0 74,0,60,0,66,0,83,0,11,0,2,0 71,0,27,0,75,0,21,0,39,0,49,0 67,0,78,0,14,0,4,0,63,0,9,0 88,0,17,0,68,0,53,0,73,0,25,0 61,0,15,0,55,0,85,0,7,0,34,0 86,0,76,0,44,0,30,0,92,0,41,0 54,0,70,0,6,0,31,0,77,0,46,0 23,0,29,0,52,0,42,0,91,0,89,0 45,0,74,0,24,0,32,0,38,0,47,0 36,0,65,0,11,0,71,0,16,0,82,0 90,0,27,0,50,0,81,0,9,0,19,0 64,0,39,0,83,0,69,0,49,0,84,0 40,0,2,0,13,0,48,0,67,0,21,0 18,0,87,0,20,0,43,0,8,0,58,0 12,0,33,0,4,0,75,0,66,0,62,0 3,0,72,0,1,0,22,0,28,0,63,0 35,0,59,0,14,0,56,0,10,0,5,0 60,0,57,0,26,0,51,0,79,0,93,0 37,0,80,0,7,0,78,0,65,0,32,0 29,0,44,0,11,0,46,0,85,0,38,0 55,0,81,0,91,0,54,0,74,0,53,0 86,0,71,0,64,0,23,0,82,0,70,0 18,0,2,0,15,0,75,0,31,0,40,0 67,0,61,0,50,0,84,0,92,0,87,0 9,0,12,0,28,0,43,0,35,0,83,0 1,0,66,0,24,0,14,0,13,0,93,0 77,0,80,0,56,0,57,0,49,0,73,0 33,0,90,0,22,0,58,0,30,0,89,0 26,0,17,0,4,0,41,0,16,0,21,0 34,0,36,0,20,0,25,0,39,0,42,0 60,0,59,0,68,0,72,0,62,0,6,0 19,0,47,0,88,0,79,0,76,0,3,0 78,0,48,0,37,0,69,0,10,0,52,0 5,0,8,0,27,0,63,0,51,0,45,0 44,0,9,0,57,0,31,0,91,0,1,0 43,0,80,0,53,0,86,0,2,0,90,0 84,0,89,0,71,0,73,0,15,0,4,0 49,0,23,0,87,0,7,0,66,0,36,0 85,0,64,0,17,0,32,0,60,0,75,0 58,0,3,0,50,0,74,0,56,0,26,0 62,0,69,0,20,0,67,0,82,0,28,0 59,0,21,0,61,0,37,0,93,0,70,0 5,0,12,0,39,0,52,0,55,0,92,0 41,0,10,0,22,0,65,0,51,0,88,0 34,0,45,0,46,0,76,0,35,0,78,0 18,0,25,0,77,0,81,0,16,0,14,0 42,0,47,0,30,0,27,0,13,0,6,0 63,0,79,0,38,0,33,0,48,0,54,0 11,0,8,0,40,0,19,0,72,0,24,0 83,0,21,0,7,0,68,0,29,0,50,0 66,0,70,0,56,0,52,0,32,0,53,0 73,0,75,0,41,0,87,0,93,0,74,0 76,0,91,0,64,0,67,0,90,0,65,0 59,0,9,0,86,0,22,0,55,0,26,0 47,0,31,0,43,0,4,0,51,0,39,0 63,0,84,0,80,0,60,0,35,0,44,0 6,0,88,0,38,0,18,0,71,0,37,0 92,0,19,0,20,0,45,0,83,0,77,0 58,0,61,0,49,0,25,0,62,0,40,0 5,0,81,0,29,0,24,0,2,0,36,0 85,0,27,0,23,0,16,0,3,0,78,0 1,0,68,0,11,0,48,0,12,0,34,0 15,0,54,0,30,0,72,0,82,0,14,0 46,0,69,0,13,0,17,0,89,0,79,0 28,0,42,0,57,0,10,0,33,0,8,0 43,0,93,0,75,0,77,0,65,0,84,0 58,0,83,0,71,0,47,0,53,0,67,0 70,0,63,0,18,0,74,0,29,0,62,0 24,0,92,0,16,0,7,0,51,0,73,0 6,0,90,0,49,0,41,0,20,0,5,0 45,0,91,0,85,0,48,0,80,0,26,0 89,0,61,0,66,0,39,0,3,0,54,0 21,0,38,0,81,0,42,0,86,0,15,0 2,0,23,0,88,0,12,0,59,0,8,0 31,0,60,0,87,0,82,0,27,0,56,0 72,0,76,0,68,0,9,0,32,0,13,0 55,0,79,0,30,0,36,0,28,0,78,0 37,0,64,0,40,0,46,0,14,0,57,0 10,0,17,0,44,0,19,0,34,0,33,0 4,0,35,0,25,0,1,0,52,0,50,0 22,0,69,0,73,0,11,0,43,0,61,0 74,0,48,0,7,0,20,0,84,0,59,0 8,0,39,0,41,0,81,0,60,0,70,0 12,0,32,0,3,0,29,0,90,0,15,0 67,0,77,0,5,0,30,0,68,0,66,0 87,0,47,0,57,0,72,0,78,0,89,0 82,0,51,0,75,0,91,0,83,0,46,0 26,0,25,0,1,0,27,0,2,0,33,0 38,0,13,0,65,0,62,0,52,0,19,0 50,0,24,0,85,0,22,0,79,0,71,0 55,0,10,0,4,0,18,0,64,0,80,0 16,0,37,0,76,0,28,0,49,0,54,0 63,0,56,0,34,0,86,0,40,0,88,0 14,0,6,0,21,0,45,0,44,0,36,0 93,0,17,0,11,0,9,0,58,0,23,0 35,0,92,0,53,0,42,0,31,0,69,0 ================================================ FILE: schedules/93_11.csv ================================================ 9,0,7,0,52,0,84,0,16,0,74,0 40,0,46,0,35,0,25,0,77,0,36,0 90,0,83,0,34,0,88,0,79,0,63,0 75,0,67,0,66,0,60,0,86,0,15,0 27,0,2,0,12,0,47,0,85,0,6,0 92,0,41,0,21,0,48,0,89,0,61,0 80,0,11,0,78,0,13,0,44,0,49,0 45,0,38,0,32,0,14,0,1,0,3,0 62,0,58,0,51,0,19,0,59,0,5,0 28,0,91,0,18,0,10,0,20,0,4,0 29,0,26,0,33,0,93,0,8,0,39,0 68,0,69,0,73,0,24,0,81,0,54,0 30,0,71,0,31,0,65,0,42,0,22,0 72,0,87,0,57,0,70,0,50,0,23,0 82,0,43,0,37,0,17,0,64,0,55,0 76,0,56,0,83,0,53,0,86,0,21,0 44,0,25,0,41,0,51,0,6,0,84,0 4,0,60,0,14,0,92,0,79,0,3,0 15,0,47,0,45,0,8,0,88,0,80,0 35,0,38,0,62,0,74,0,93,0,46,0 30,0,42,0,39,0,12,0,28,0,89,0 2,0,36,0,59,0,73,0,72,0,49,0 85,0,22,0,87,0,5,0,48,0,24,0 18,0,82,0,63,0,43,0,31,0,19,0 52,0,81,0,64,0,34,0,27,0,66,0 76,0,10,0,9,0,69,0,32,0,33,0 70,0,78,0,53,0,67,0,17,0,65,0 91,0,37,0,50,0,23,0,26,0,71,0 29,0,54,0,7,0,20,0,58,0,77,0 13,0,56,0,57,0,68,0,1,0,61,0 40,0,75,0,55,0,11,0,90,0,16,0 63,1,36,0,74,0,44,1,18,0,80,0 51,0,86,0,28,0,92,1,2,0,52,0 66,0,82,0,35,0,76,0,72,0,85,0 6,0,10,0,39,0,78,0,15,0,64,0 50,0,31,0,45,0,9,0,79,0,24,0 89,0,93,0,49,0,54,0,53,0,88,0 3,0,22,0,23,0,56,0,67,0,25,0 19,0,12,0,34,0,68,0,40,0,33,0 90,0,17,0,21,0,77,0,26,0,32,0 30,0,87,0,29,0,55,0,83,0,62,0 61,0,65,0,11,0,81,0,59,0,20,0 73,0,43,0,1,0,91,0,70,0,47,0 58,0,38,0,48,0,16,0,27,0,4,0 8,0,7,0,69,0,42,0,14,0,13,0 5,0,75,0,46,0,84,0,57,0,37,0 60,0,63,0,2,0,41,0,71,0,64,0 25,0,50,0,54,0,12,0,74,0,76,0 26,0,49,0,68,0,31,0,52,0,10,0 44,0,89,0,79,0,85,0,17,0,62,0 33,0,20,0,43,0,86,0,92,0,35,0 29,0,40,0,38,0,22,0,91,0,15,0 4,0,32,0,81,0,67,0,13,0,83,0 21,0,24,0,72,0,8,0,75,0,6,0 5,0,82,0,77,0,60,0,61,0,73,0 80,0,42,0,9,0,27,0,53,0,19,0 23,0,14,0,57,0,51,0,30,0,34,0 16,0,47,0,71,0,78,0,45,0,59,0 28,0,7,0,70,0,46,0,41,0,90,0 87,0,36,0,69,0,11,0,3,0,37,0 84,0,65,0,66,0,58,0,93,0,1,0 55,0,56,0,88,0,48,0,18,0,39,0 68,0,6,0,89,0,5,0,43,0,29,0 42,0,62,0,86,0,50,0,4,0,64,0 61,0,2,0,32,0,30,0,79,0,19,0 26,0,15,0,85,0,34,0,53,0,20,0 21,0,47,0,52,0,38,0,25,0,82,0 57,0,83,0,17,0,49,0,71,0,69,0 14,0,91,0,80,0,87,0,59,0,33,0 24,0,58,0,60,0,55,0,74,0,28,0 35,0,3,0,27,0,73,0,90,0,78,0 1,0,67,0,10,0,54,0,46,0,11,0 81,0,23,0,31,0,7,0,76,0,48,0 45,0,41,0,8,0,37,0,18,0,22,0 44,0,92,0,72,0,88,0,65,0,40,0 51,0,93,0,63,0,75,0,9,0,39,0 77,0,13,0,70,0,16,0,66,0,12,0 36,0,56,0,15,0,84,0,14,0,62,0 34,0,6,0,73,0,74,0,32,0,42,0 86,0,20,0,3,0,89,0,82,0,57,0 21,0,23,0,80,0,35,0,31,0,55,0 91,0,38,0,33,0,79,0,41,0,49,0 11,0,18,0,85,0,83,0,92,0,50,0 47,0,10,0,90,0,19,0,37,0,48,0 76,0,39,0,70,0,27,0,22,0,75,0 24,0,84,0,12,0,71,0,29,0,67,0 68,0,65,0,7,0,4,0,66,0,36,0 40,0,61,0,64,0,69,0,93,0,28,0 54,0,16,0,59,0,8,0,60,0,44,0 53,0,30,0,5,0,63,0,25,0,81,0 26,0,78,0,9,0,77,0,1,0,2,0 56,0,87,0,51,0,46,0,88,0,43,0 58,0,17,0,13,0,72,0,45,0,52,0 20,0,24,0,42,0,62,0,47,0,23,0 14,0,71,0,74,0,27,0,68,0,86,0 79,0,6,0,67,0,57,0,18,0,40,0 8,0,55,0,61,0,3,0,7,0,12,0 37,0,63,0,73,0,15,0,66,0,11,0 54,0,85,0,64,0,91,0,9,0,36,0 60,0,65,0,50,0,51,0,89,0,10,0 82,0,2,0,13,0,87,0,38,0,39,0 22,0,48,0,53,0,1,0,35,0,44,0 16,0,88,0,17,0,5,0,31,0,28,0 75,0,43,0,26,0,41,0,59,0,83,0 56,0,92,0,49,0,70,0,58,0,34,0 90,0,77,0,72,0,81,0,84,0,33,0 19,0,69,0,29,0,46,0,21,0,45,0 4,0,52,0,93,0,76,0,30,0,78,0 25,0,32,0,60,0,80,0,85,0,57,0 40,0,79,0,39,0,7,0,53,0,47,0 3,0,16,0,42,0,10,0,2,0,88,0 11,0,64,0,26,0,18,0,38,0,51,0 63,0,71,0,6,0,35,0,54,0,56,0 77,0,49,0,48,0,65,0,62,0,75,0 37,0,1,0,81,0,86,0,29,0,31,0 8,0,90,0,36,0,50,0,5,0,52,0 72,0,41,0,27,0,69,0,55,0,67,0 59,0,66,0,74,0,17,0,22,0,92,0 28,0,9,0,25,0,15,0,34,0,43,0 24,0,70,0,89,0,93,0,32,0,80,0 45,0,4,0,23,0,33,0,61,0,46,0 82,0,78,0,83,0,12,0,14,0,58,0 21,0,84,0,30,0,13,0,91,0,73,0 19,0,20,0,68,0,76,0,87,0,44,0 90,0,69,0,53,0,6,0,62,0,60,0 42,0,18,0,59,0,57,0,66,0,29,0 88,0,37,0,49,0,9,0,35,0,67,0 39,0,86,0,25,0,24,0,11,0,17,0 7,0,1,0,71,0,75,0,89,0,52,0 51,0,22,0,4,0,80,0,72,0,12,0 61,0,31,0,34,0,36,0,38,0,83,0 15,0,81,0,50,0,21,0,70,0,2,0 32,0,46,0,91,0,82,0,44,0,27,0 16,0,64,0,19,0,56,0,41,0,20,0 77,0,74,0,85,0,45,0,43,0,87,0 93,0,55,0,13,0,10,0,5,0,92,0 73,0,76,0,65,0,26,0,28,0,14,0 3,0,47,0,33,0,30,0,58,0,68,0 40,0,23,0,48,0,63,0,8,0,84,0 54,0,21,0,37,0,79,0,78,0,42,0 31,0,89,0,69,0,25,0,4,0,91,0 15,0,18,0,61,0,49,0,90,0,24,0 66,0,20,0,32,0,36,0,71,0,39,0 67,0,44,0,50,0,34,0,93,0,77,0 22,0,83,0,73,0,64,0,13,0,9,0 19,0,35,0,6,0,65,0,52,0,3,0 10,0,58,0,87,0,40,0,41,0,86,0 48,0,55,0,45,0,51,0,70,0,54,0 5,0,74,0,11,0,33,0,2,0,56,0 79,0,29,0,76,0,43,0,16,0,80,0 84,0,75,0,53,0,92,0,82,0,68,0 14,0,46,0,72,0,47,0,63,0,26,0 8,0,57,0,62,0,78,0,28,0,81,0 59,0,85,0,88,0,7,0,38,0,30,0 17,0,1,0,27,0,60,0,23,0,12,0 58,0,44,0,71,0,61,0,9,0,70,0 5,0,54,0,86,0,65,0,32,0,41,0 25,0,18,0,93,0,87,0,73,0,16,0 51,0,20,0,49,0,40,0,3,0,21,0 47,0,34,0,75,0,29,0,35,0,4,0 52,0,77,0,68,0,63,0,42,0,91,0 19,0,78,0,84,0,50,0,22,0,55,0 92,0,62,0,7,0,45,0,26,0,27,0 81,0,80,0,38,0,56,0,6,0,17,0 83,0,8,0,46,0,2,0,66,0,89,0 14,0,67,0,31,0,85,0,39,0,90,0 13,0,33,0,28,0,36,0,53,0,37,0 79,0,74,0,82,0,69,0,23,0,15,0 11,0,60,0,43,0,48,0,30,0,72,0 88,0,76,0,24,0,59,0,64,0,1,0 12,0,63,0,92,0,57,0,10,0,44,0 ================================================ FILE: schedules/93_12.csv ================================================ 54,0,43,0,55,0,59,0,38,0,27,0 28,0,51,0,60,0,76,0,18,0,15,0 32,0,71,0,92,0,73,0,79,0,68,0 17,0,21,0,20,0,42,0,31,0,72,0 62,0,67,0,11,0,85,0,75,0,46,0 82,0,66,0,9,0,56,0,70,0,8,0 36,0,81,0,52,0,47,0,69,0,3,0 33,0,48,0,87,0,30,0,35,0,5,0 80,0,57,0,86,0,65,0,2,0,53,0 74,0,6,0,16,0,58,0,34,0,4,0 90,0,12,0,40,0,19,0,1,0,64,0 88,0,22,0,49,0,77,0,39,0,7,0 25,0,91,0,89,0,83,0,61,0,10,0 29,0,50,0,26,0,24,0,45,0,63,0 93,0,84,0,14,0,78,0,23,0,13,0 41,0,37,0,32,0,44,0,75,0,20,0 80,0,38,0,73,0,82,0,48,0,76,0 52,0,30,0,85,0,51,0,58,0,43,0 86,0,6,0,21,0,71,0,59,0,54,0 33,0,53,0,74,0,12,0,42,0,77,0 7,0,92,0,70,0,62,0,40,0,91,0 60,0,64,0,57,0,17,0,3,0,39,0 24,0,55,0,15,0,66,0,16,0,14,0 49,0,89,0,37,0,81,0,35,0,93,0 63,0,26,0,11,0,27,0,41,0,13,0 67,0,22,0,90,0,78,0,50,0,4,0 29,0,10,0,8,0,5,0,46,0,18,0 36,0,79,0,34,0,44,0,1,0,84,0 25,0,23,0,9,0,65,0,28,0,31,0 87,0,69,0,68,0,45,0,56,0,61,0 2,0,83,0,19,0,47,0,72,0,88,0 91,0,42,0,54,0,76,0,80,0,71,0 63,0,93,0,21,0,85,0,53,0,32,0 27,0,73,0,40,0,20,0,3,0,51,0 81,0,14,0,67,0,16,0,77,0,62,0 84,0,39,0,52,0,33,0,15,0,41,0 58,0,49,0,35,0,11,0,59,0,29,0 55,0,50,0,7,0,8,0,31,0,6,0 26,0,87,0,34,0,19,0,92,0,46,0 82,0,24,0,78,0,69,0,83,0,88,0 1,0,47,0,13,0,9,0,89,0,60,0 10,0,57,0,72,0,37,0,12,0,22,0 43,0,23,0,64,0,68,0,36,0,44,0 25,0,65,0,38,0,75,0,17,0,70,0 90,0,5,0,74,0,2,0,28,0,86,0 66,0,4,0,18,0,45,0,79,0,30,0 48,0,61,0,52,0,56,0,27,0,19,0 16,0,29,0,31,0,91,0,93,0,53,0 14,0,47,0,35,0,21,0,50,0,80,0 3,0,58,0,33,0,8,0,54,0,1,0 7,0,71,0,87,0,11,0,83,0,51,0 64,0,72,0,55,0,70,0,13,0,67,0 12,0,84,0,81,0,85,0,86,0,73,0 25,0,37,0,30,0,68,0,24,0,42,0 61,0,18,0,77,0,78,0,41,0,34,0 60,0,5,0,56,0,92,0,36,0,22,0 75,0,82,0,63,0,57,0,90,0,79,0 76,0,4,0,44,0,59,0,46,0,66,0 40,0,65,0,43,0,74,0,10,0,88,0 39,0,45,0,28,0,89,0,48,0,32,0 69,0,17,0,15,0,9,0,2,0,49,0 20,0,6,0,38,0,26,0,62,0,23,0 41,0,42,0,7,0,86,0,72,0,27,0 29,0,68,0,3,0,67,0,85,0,34,0 36,0,19,0,90,0,8,0,14,0,71,0 91,0,64,0,92,0,82,0,37,0,84,0 51,0,87,0,21,0,57,0,16,0,1,0 48,0,46,0,25,0,12,0,63,0,55,0 17,0,76,0,32,0,30,0,10,0,47,0 74,0,83,0,15,0,56,0,54,0,26,0 75,0,50,0,23,0,88,0,73,0,66,0 62,0,45,0,93,0,65,0,52,0,22,0 44,0,35,0,9,0,38,0,2,0,40,0 4,0,80,0,33,0,13,0,60,0,49,0 89,0,79,0,59,0,78,0,5,0,20,0 69,0,70,0,53,0,11,0,6,0,18,0 28,0,24,0,81,0,43,0,39,0,61,0 77,0,31,0,76,0,58,0,82,0,36,0 15,0,91,0,12,0,67,0,50,0,87,0 47,0,8,0,62,0,51,0,37,0,86,0 66,0,83,0,35,0,65,0,63,0,42,0 64,0,10,0,21,0,56,0,2,0,4,0 44,0,3,0,74,0,7,0,14,0,89,0 6,0,13,0,88,0,92,0,85,0,17,0 78,0,52,0,11,0,60,0,38,0,32,0 59,0,16,0,26,0,90,0,18,0,68,0 72,0,61,0,9,0,33,0,73,0,93,0 79,0,40,0,46,0,24,0,58,0,39,0 43,0,45,0,71,0,84,0,25,0,49,0 31,0,69,0,1,0,22,0,41,0,48,0 77,0,75,0,19,0,30,0,80,0,55,0 57,0,70,0,20,0,54,0,28,0,29,0 53,0,5,0,23,0,27,0,34,0,81,0 56,0,13,0,91,0,65,0,32,0,18,0 85,0,7,0,37,0,90,0,17,0,61,0 12,0,4,0,14,0,93,0,51,0,88,0 92,0,74,0,8,0,38,0,24,0,21,0 46,0,60,0,16,0,72,0,48,0,83,0 89,0,26,0,58,0,43,0,22,0,75,0 82,0,6,0,47,0,87,0,25,0,40,0 1,0,63,0,29,0,71,0,15,0,81,0 80,0,42,0,79,0,67,0,52,0,23,0 68,0,27,0,78,0,35,0,39,0,76,0 53,0,41,0,84,0,10,0,55,0,9,0 34,0,31,0,62,0,59,0,57,0,33,0 45,0,11,0,44,0,5,0,19,0,73,0 49,0,70,0,30,0,50,0,36,0,86,0 69,0,54,0,66,0,28,0,64,0,77,0 3,0,2,0,24,0,20,0,4,0,87,0 82,0,14,0,65,0,72,0,85,0,71,0 15,0,90,0,46,0,88,0,80,0,27,0 39,0,75,0,9,0,74,0,18,0,42,0 41,0,56,0,81,0,6,0,76,0,59,0 45,0,10,0,22,0,35,0,23,0,16,0 78,0,29,0,25,0,7,0,73,0,36,0 54,0,51,0,5,0,84,0,68,0,17,0 2,0,26,0,93,0,40,0,60,0,30,0 32,0,50,0,1,0,53,0,64,0,62,0 55,0,19,0,37,0,21,0,69,0,79,0 48,0,66,0,67,0,20,0,58,0,61,0 70,0,86,0,77,0,44,0,89,0,52,0 49,0,47,0,38,0,63,0,91,0,57,0 34,0,13,0,8,0,12,0,43,0,83,0 92,0,33,0,31,0,3,0,28,0,11,0 40,0,72,0,84,0,75,0,76,0,29,0 42,0,36,0,2,0,46,0,32,0,81,0 25,0,69,0,59,0,1,0,74,0,30,0 35,0,61,0,4,0,55,0,62,0,82,0 93,0,5,0,41,0,80,0,24,0,64,0 63,0,14,0,23,0,37,0,58,0,60,0 77,0,17,0,8,0,68,0,91,0,48,0 90,0,73,0,39,0,83,0,21,0,70,0 6,0,12,0,57,0,66,0,78,0,45,0 51,0,44,0,67,0,10,0,92,0,49,0 52,0,71,0,88,0,26,0,28,0,53,0 79,0,27,0,15,0,85,0,31,0,47,0 86,0,38,0,19,0,3,0,13,0,22,0 56,0,33,0,18,0,20,0,7,0,43,0 65,0,50,0,54,0,89,0,34,0,11,0 16,0,87,0,80,0,9,0,36,0,63,0 60,0,72,0,91,0,81,0,55,0,74,0 32,0,40,0,57,0,8,0,4,0,69,0 23,0,30,0,83,0,21,0,29,0,41,0 46,0,73,0,28,0,6,0,77,0,35,0 59,0,47,0,22,0,84,0,42,0,61,0 53,0,51,0,13,0,90,0,44,0,48,0 71,0,27,0,89,0,18,0,38,0,64,0 93,0,9,0,92,0,19,0,20,0,50,0 78,0,58,0,15,0,86,0,65,0,68,0 39,0,66,0,85,0,26,0,1,0,10,0 76,0,43,0,70,0,5,0,16,0,37,0 49,0,24,0,62,0,54,0,12,0,31,0 3,0,79,0,56,0,88,0,11,0,25,0 52,0,34,0,75,0,87,0,14,0,17,0 45,0,82,0,67,0,2,0,33,0,7,0 91,0,73,0,4,0,19,0,41,0,89,0 65,0,29,0,69,0,90,0,47,0,92,0 72,0,80,0,26,0,8,0,51,0,78,0 84,0,43,0,27,0,77,0,57,0,50,0 61,0,44,0,30,0,12,0,16,0,71,0 3,0,10,0,59,0,70,0,15,0,63,0 21,0,58,0,88,0,9,0,5,0,62,0 55,0,11,0,76,0,2,0,39,0,23,0 67,0,17,0,24,0,53,0,35,0,56,0 48,0,79,0,64,0,6,0,33,0,81,0 85,0,87,0,18,0,25,0,54,0,22,0 32,0,28,0,42,0,49,0,34,0,82,0 38,0,7,0,68,0,66,0,93,0,1,0 46,0,20,0,37,0,52,0,13,0,74,0 83,0,31,0,86,0,40,0,14,0,45,0 36,0,60,0,27,0,75,0,10,0,62,0 30,0,88,0,63,0,67,0,84,0,89,0 3,0,77,0,65,0,61,0,26,0,21,0 41,0,2,0,12,0,79,0,70,0,58,0 90,0,49,0,43,0,72,0,87,0,23,0 34,0,22,0,24,0,9,0,76,0,64,0 19,0,66,0,32,0,29,0,74,0,51,0 11,0,93,0,42,0,57,0,48,0,15,0 80,0,39,0,31,0,38,0,37,0,56,0 59,0,53,0,8,0,60,0,45,0,73,0 28,0,36,0,85,0,83,0,40,0,55,0 52,0,86,0,35,0,25,0,92,0,4,0 78,0,47,0,16,0,54,0,46,0,33,0 44,0,18,0,17,0,50,0,82,0,81,0 68,0,1,0,20,0,14,0,91,0,6,0 13,0,7,0,5,0,69,0,71,0,75,0 ================================================ FILE: schedules/93_13.csv ================================================ 63,0,22,0,55,0,74,0,52,0,80,0 84,0,76,0,12,0,88,0,81,0,21,0 5,0,86,0,87,0,62,0,77,0,25,0 68,0,60,0,33,0,53,0,20,0,57,0 10,0,82,0,19,0,14,0,75,0,15,0 79,0,73,0,45,0,46,0,41,0,54,0 7,0,11,0,1,0,34,0,64,0,3,0 26,0,89,0,65,0,66,0,71,0,2,0 61,0,72,0,48,0,70,0,67,0,49,0 42,0,43,0,59,0,56,0,18,0,9,0 37,0,36,0,69,0,32,0,91,0,35,0 83,0,23,0,50,0,47,0,39,0,16,0 17,0,93,0,92,0,6,0,30,0,38,0 44,0,29,0,85,0,78,0,40,0,31,0 28,0,27,0,8,0,51,0,58,0,24,0 13,0,90,0,62,0,4,0,22,0,60,0 77,0,54,0,67,0,11,0,65,0,25,0 26,0,87,0,59,0,52,0,72,0,42,0 2,0,41,0,49,0,63,0,82,0,88,0 83,0,68,0,14,0,74,0,35,0,76,0 37,0,91,0,57,0,12,0,89,0,75,0 16,0,18,0,31,0,33,0,79,0,30,0 80,0,6,0,47,0,73,0,51,0,7,0 5,0,27,0,13,0,86,0,17,0,40,0 1,0,61,0,28,0,21,0,69,0,85,0 93,0,34,0,70,0,23,0,58,0,19,0 4,0,48,0,20,0,3,0,39,0,81,0 92,0,8,0,15,0,78,0,71,0,43,0 56,0,55,0,64,0,90,0,50,0,45,0 66,0,29,0,32,0,24,0,10,0,38,0 36,0,53,0,84,0,46,0,44,0,9,0 60,1,7,0,89,0,41,1,82,0,86,0 1,1,80,0,26,0,5,0,11,0,49,0 59,0,25,0,33,0,21,0,22,0,47,0 39,0,72,0,85,0,91,0,19,0,2,0 69,0,15,0,30,0,34,0,83,0,13,0 90,0,17,0,37,0,87,0,79,0,78,0 81,0,45,0,75,0,29,0,62,0,42,0 63,0,73,0,28,0,14,0,48,0,50,0 88,0,9,0,66,0,35,0,54,0,31,0 67,0,16,0,40,0,57,0,10,0,8,0 74,0,38,0,51,0,36,0,58,0,43,0 24,0,53,0,4,0,18,0,93,0,76,0 71,0,64,0,12,0,32,0,20,0,61,0 84,0,56,0,6,0,65,0,68,0,23,0 3,0,52,0,77,0,27,0,70,0,46,0 92,0,55,0,48,0,44,0,47,0,79,0 30,0,21,0,19,0,86,0,9,0,91,0 16,0,85,0,45,0,80,0,37,0,15,0 34,0,73,0,33,0,67,0,5,0,42,0 53,0,66,0,31,0,74,0,4,0,8,0 59,0,60,0,39,0,12,0,49,0,28,0 64,0,69,0,84,0,38,0,89,0,40,0 83,0,63,0,65,0,93,0,62,0,27,0 61,0,92,0,35,0,2,0,77,0,55,0 81,0,6,0,10,0,18,0,25,0,26,0 75,0,52,0,78,0,3,0,88,0,56,0 58,0,46,0,32,0,41,0,7,0,50,0 44,0,82,0,22,0,54,0,43,0,70,0 36,0,71,0,57,0,29,0,72,0,13,0 76,0,87,0,14,0,20,0,11,0,23,0 51,0,1,0,17,0,90,0,68,0,24,0 42,0,34,0,38,0,79,0,53,0,39,0 27,0,55,0,9,0,4,0,10,0,69,0 49,0,47,0,81,0,31,0,52,0,89,0 92,0,74,0,75,0,84,0,41,0,21,0 25,0,60,0,43,0,80,0,83,0,78,0 8,0,58,0,33,0,29,0,91,0,63,0 61,0,86,0,36,0,48,0,11,0,59,0 46,0,85,0,62,0,56,0,30,0,57,0 14,0,3,0,20,0,24,0,40,0,72,0 51,0,32,0,16,0,17,0,70,0,76,0 28,0,88,0,87,0,7,0,93,0,15,0 44,0,2,0,5,0,37,0,64,0,18,0 23,0,1,0,22,0,71,0,77,0,45,0 35,0,19,0,26,0,12,0,54,0,90,0 50,0,67,0,66,0,6,0,82,0,68,0 65,0,73,0,41,0,13,0,8,0,61,0 55,0,14,0,21,0,42,0,60,0,36,0 10,0,53,0,91,0,3,0,92,0,49,0 63,0,24,0,62,0,31,0,70,0,84,0 87,0,20,0,18,0,28,0,85,0,83,0 64,0,89,0,15,0,74,0,33,0,17,0 30,0,51,0,71,0,88,0,45,0,25,0 26,0,56,0,48,0,29,0,22,0,7,0 13,0,93,0,35,0,67,0,39,0,75,0 79,0,72,0,58,0,9,0,40,0,73,0 12,0,78,0,66,0,16,0,23,0,69,0 38,0,76,0,37,0,47,0,65,0,1,0 68,0,34,0,81,0,27,0,43,0,2,0 11,0,82,0,46,0,5,0,90,0,6,0 86,0,57,0,50,0,54,0,52,0,4,0 80,0,19,0,32,0,44,0,77,0,59,0 25,0,13,0,70,0,53,0,56,0,89,0 26,0,79,0,36,0,93,0,85,0,8,0 9,0,10,0,41,0,71,0,28,0,62,0 69,0,22,0,67,0,87,0,31,0,92,0 3,0,15,0,29,0,68,0,21,0,39,0 55,0,76,0,33,0,6,0,40,0,12,0 82,0,16,0,65,0,58,0,86,0,60,0 34,0,14,0,7,0,52,0,45,0,66,0 64,0,91,0,24,0,59,0,83,0,54,0 4,0,46,0,61,0,17,0,80,0,42,0 90,0,88,0,11,0,27,0,48,0,37,0 63,0,43,0,77,0,75,0,20,0,47,0 72,0,23,0,78,0,5,0,51,0,35,0 74,0,1,0,30,0,44,0,81,0,73,0 49,0,18,0,32,0,57,0,84,0,19,0 2,0,38,0,8,0,50,0,3,0,12,0 86,0,6,0,24,0,34,0,9,0,22,0 71,0,68,0,52,0,64,0,16,0,93,0 83,0,21,0,56,0,11,0,4,0,79,0 26,0,37,0,43,0,62,0,41,0,53,0 48,0,35,0,69,0,60,0,46,0,65,0 74,0,90,0,7,0,10,0,85,0,77,0 82,0,13,0,55,0,19,0,51,0,18,0 38,0,57,0,44,0,61,0,76,0,45,0 40,0,25,0,15,0,63,0,23,0,42,0 50,0,70,0,36,0,80,0,33,0,87,0 72,0,66,0,47,0,30,0,27,0,78,0 39,0,89,0,88,0,1,0,73,0,92,0 17,0,49,0,54,0,2,0,81,0,14,0 84,0,29,0,58,0,59,0,67,0,20,0 91,0,31,0,75,0,32,0,28,0,5,0 62,0,43,0,6,0,69,0,3,0,19,0 71,0,34,0,35,0,63,0,21,0,18,0 37,0,22,0,8,0,46,0,7,0,68,0 27,0,77,0,42,0,41,0,57,0,76,0 61,0,89,0,74,0,16,0,24,0,79,0 60,0,17,0,10,0,88,0,72,0,44,0 29,0,51,0,20,0,50,0,49,0,93,0 39,0,31,0,14,0,90,0,86,0,65,0 73,0,11,0,66,0,52,0,84,0,91,0 1,0,58,0,54,0,15,0,13,0,48,0 78,0,25,0,28,0,36,0,2,0,64,0 70,0,4,0,30,0,38,0,67,0,26,0 23,0,75,0,53,0,59,0,55,0,85,0 32,0,45,0,9,0,83,0,92,0,33,0 80,0,81,0,40,0,87,0,82,0,56,0 12,0,47,0,42,0,5,0,74,0,68,0 31,0,61,0,3,0,19,0,37,0,93,0 60,0,77,0,91,0,15,0,34,0,84,0 58,0,44,0,18,0,22,0,39,0,66,0 35,0,7,0,62,0,73,0,20,0,17,0 38,0,54,0,16,0,28,0,55,0,90,0 59,0,30,0,50,0,10,0,78,0,89,0 24,0,23,0,43,0,46,0,48,0,88,0 41,0,51,0,85,0,11,0,81,0,33,0 92,0,45,0,5,0,63,0,4,0,36,0 49,0,27,0,65,0,21,0,64,0,87,0 8,0,25,0,56,0,72,0,32,0,1,0 71,0,86,0,79,0,69,0,76,0,75,0 47,0,83,0,57,0,70,0,26,0,82,0 2,0,52,0,40,0,53,0,6,0,67,0 80,0,12,0,29,0,14,0,9,0,13,0 68,0,38,0,19,0,48,0,78,0,41,0 44,0,11,0,50,0,15,0,35,0,24,0 91,0,23,0,18,0,61,0,7,0,27,0 33,0,5,0,56,0,54,0,93,0,84,0 79,0,81,0,66,0,64,0,60,0,63,0 59,0,46,0,34,0,51,0,92,0,65,0 17,0,25,0,57,0,58,0,3,0,55,0 39,0,76,0,9,0,26,0,8,0,52,0 20,0,21,0,2,0,13,0,10,0,45,0 4,0,75,0,73,0,87,0,70,0,12,0 16,0,62,0,36,0,49,0,1,0,6,0 31,0,80,0,90,0,71,0,53,0,72,0 47,0,88,0,74,0,69,0,86,0,29,0 67,0,14,0,85,0,89,0,32,0,43,0 40,0,82,0,77,0,37,0,28,0,30,0 83,0,22,0,3,0,42,0,84,0,51,0 92,0,76,0,19,0,50,0,56,0,60,0 65,0,7,0,78,0,9,0,57,0,81,0 54,0,10,0,87,0,61,0,39,0,63,0 12,0,52,0,41,0,36,0,17,0,18,0 15,0,91,0,27,0,80,0,38,0,79,0 31,0,44,0,68,0,23,0,25,0,73,0 11,0,13,0,74,0,46,0,33,0,28,0 86,0,43,0,67,0,45,0,1,0,55,0 21,0,93,0,40,0,62,0,66,0,48,0 69,0,8,0,59,0,70,0,14,0,5,0 32,0,90,0,4,0,2,0,47,0,58,0 89,0,6,0,72,0,77,0,75,0,83,0 42,0,24,0,49,0,71,0,85,0,37,0 53,0,29,0,64,0,30,0,35,0,82,0 88,0,20,0,34,0,26,0,16,0,22,0 46,0,78,0,76,0,55,0,91,0,67,0 10,0,52,0,79,0,13,0,43,0,65,0 86,0,8,0,81,0,80,0,23,0,92,0 41,0,4,0,40,0,90,0,59,0,15,0 74,0,54,0,18,0,62,0,32,0,68,0 60,0,2,0,37,0,73,0,38,0,56,0 45,0,28,0,35,0,47,0,89,0,3,0 70,0,19,0,42,0,20,0,66,0,1,0 83,0,5,0,88,0,58,0,61,0,53,0 48,0,85,0,82,0,12,0,34,0,25,0 77,0,21,0,51,0,64,0,31,0,26,0 30,0,7,0,39,0,33,0,36,0,24,0 50,0,17,0,9,0,22,0,49,0,75,0 93,0,63,0,11,0,69,0,57,0,72,0 84,0,44,0,27,0,16,0,14,0,71,0 87,0,6,0,60,0,29,0,41,0,1,0 ================================================ FILE: schedules/93_14.csv ================================================ 88,0,55,0,72,0,71,0,53,0,93,0 30,0,14,0,66,0,52,0,26,0,92,0 15,0,90,0,63,0,65,0,64,0,54,0 31,0,45,0,3,0,74,0,68,0,83,0 51,0,1,0,49,0,81,0,77,0,79,0 44,0,85,0,22,0,47,0,18,0,57,0 17,0,76,0,2,0,36,0,28,0,43,0 19,0,6,0,23,0,41,0,5,0,86,0 21,0,13,0,7,0,29,0,4,0,67,0 58,0,33,0,48,0,16,0,37,0,25,0 40,0,61,0,91,0,60,0,56,0,59,0 87,0,24,0,50,0,42,0,11,0,73,0 84,0,46,0,89,0,32,0,62,0,80,0 70,0,78,0,34,0,38,0,12,0,20,0 27,0,69,0,10,0,75,0,35,0,39,0 9,0,8,0,77,0,82,0,52,0,72,0 28,0,55,0,81,0,57,0,21,0,74,0 85,0,49,0,71,0,45,0,33,0,2,0 47,0,90,0,13,0,83,0,79,0,48,0 91,0,1,0,18,0,64,0,36,0,88,0 29,0,84,0,76,0,15,0,60,0,25,0 78,0,14,0,65,0,50,0,5,0,4,0 3,0,44,0,26,0,17,0,12,0,24,0 51,0,86,0,42,0,62,0,39,0,82,0 11,0,93,0,80,0,22,0,16,0,70,0 23,0,37,0,40,0,31,0,73,0,7,0 59,0,87,0,43,0,75,0,56,0,68,0 38,0,67,0,41,0,32,0,30,0,69,0 27,0,61,0,58,0,63,0,9,0,34,0 35,0,8,0,89,0,53,0,92,0,6,0 46,0,66,0,20,0,10,0,19,0,54,0 91,0,82,0,3,0,57,0,50,0,90,0 39,0,93,0,83,0,4,0,2,0,1,0 65,0,17,0,48,0,55,0,14,0,70,0 28,0,13,0,56,0,85,0,86,0,64,0 75,0,60,0,21,0,32,0,33,0,78,0 18,0,67,0,23,0,12,0,81,0,62,0 37,0,69,0,53,0,45,0,47,0,79,0 80,0,49,0,38,0,52,0,7,0,87,0 72,0,68,0,54,0,22,0,6,0,74,0 35,0,63,0,66,0,46,0,44,0,43,0 73,0,16,0,9,0,88,0,30,0,15,0 92,0,51,0,58,0,71,0,41,0,29,0 5,0,34,0,27,0,77,0,42,0,59,0 76,0,25,0,89,0,61,0,19,0,31,0 10,0,8,0,11,0,36,0,40,0,26,0 24,0,1,0,65,0,20,0,84,0,13,0 4,0,62,0,79,0,75,0,33,0,64,0 93,0,60,0,7,0,63,0,85,0,54,0 44,0,38,0,83,0,14,0,16,0,6,0 88,0,68,0,12,0,28,0,66,0,51,0 56,0,53,0,5,0,58,0,69,0,80,0 72,0,57,0,46,0,76,0,67,0,78,0 52,0,37,0,70,0,74,0,42,0,15,0 24,0,90,0,30,0,21,0,86,0,89,0 20,0,73,0,59,0,8,0,92,0,39,0 10,0,41,0,36,0,31,0,49,0,81,0 3,0,29,0,2,0,48,0,23,0,61,0 47,0,50,0,35,0,17,0,9,0,71,0 45,0,34,0,19,0,91,0,26,0,87,0 18,0,11,0,43,0,77,0,84,0,55,0 82,0,22,0,25,0,32,0,40,0,27,0 74,0,33,0,5,0,51,0,30,0,93,0 44,0,78,0,79,0,42,0,89,0,52,0 57,0,81,0,39,0,90,0,75,0,12,0 63,0,41,0,80,0,72,0,24,0,4,0 9,0,60,0,67,0,71,0,31,0,48,0 7,0,50,0,86,0,76,0,61,0,1,0 55,0,21,0,87,0,3,0,62,0,20,0 36,0,6,0,25,0,66,0,45,0,65,0 27,0,22,0,18,0,46,0,73,0,49,0 54,0,11,0,14,0,69,0,23,0,88,0 70,0,59,0,40,0,19,0,58,0,28,0 37,0,84,0,85,0,83,0,26,0,35,0 32,0,29,0,64,0,8,0,47,0,43,0 56,0,16,0,82,0,13,0,92,0,34,0 53,0,68,0,10,0,38,0,15,0,17,0 77,0,2,0,41,0,91,0,74,0,89,0 42,0,57,0,30,0,65,0,7,0,36,0 60,0,61,0,4,0,52,0,22,0,55,0 80,0,6,0,71,0,1,0,78,0,90,0 35,0,79,0,18,0,31,0,87,0,93,0 45,0,12,0,51,0,8,0,50,0,58,0 73,0,83,0,32,0,28,0,54,0,69,0 81,0,48,0,59,0,44,0,82,0,15,0 46,0,3,0,56,0,11,0,37,0,13,0 49,0,64,0,17,0,34,0,40,0,24,0 21,0,67,0,39,0,77,0,66,0,85,0 88,0,86,0,10,0,84,0,27,0,2,0 72,0,29,0,16,0,75,0,5,0,26,0 70,0,38,0,25,0,62,0,9,0,92,0 76,0,20,0,23,0,47,0,63,0,68,0 19,0,91,0,33,0,14,0,43,0,53,0 22,0,35,0,1,0,42,0,58,0,90,0 15,0,89,0,45,0,13,0,55,0,40,0 93,0,12,0,82,0,46,0,36,0,87,0 78,0,10,0,49,0,74,0,67,0,3,0 29,0,88,0,52,0,17,0,81,0,85,0 32,0,18,0,92,0,2,0,9,0,80,0 28,0,62,0,23,0,24,0,6,0,60,0 84,0,71,0,34,0,79,0,66,0,57,0 38,0,19,0,77,0,65,0,73,0,56,0 64,0,61,0,47,0,14,0,72,0,51,0 16,0,31,0,4,0,20,0,27,0,91,0 50,0,41,0,54,0,37,0,33,0,59,0 75,0,48,0,44,0,11,0,30,0,76,0 43,0,63,0,83,0,8,0,5,0,70,0 86,0,53,0,39,0,25,0,68,0,26,0 21,0,82,0,6,0,7,0,69,0,17,0 92,0,35,0,40,0,78,0,62,0,77,0 15,0,81,0,66,0,80,0,61,0,3,0 74,0,16,0,47,0,19,0,36,0,24,0 2,0,56,0,42,0,72,0,33,0,31,0 59,0,75,0,84,0,45,0,9,0,14,0 18,0,60,0,71,0,83,0,37,0,65,0 12,0,53,0,27,0,54,0,13,0,30,0 32,0,93,0,34,0,50,0,10,0,48,0 44,0,7,0,8,0,68,0,55,0,41,0 85,0,4,0,76,0,51,0,90,0,11,0 64,0,39,0,70,0,46,0,23,0,29,0 88,0,43,0,89,0,20,0,26,0,22,0 91,0,58,0,79,0,73,0,38,0,21,0 86,0,87,0,49,0,63,0,57,0,69,0 52,0,1,0,67,0,25,0,28,0,5,0 92,0,33,0,24,0,83,0,27,0,15,0 80,0,19,0,12,0,35,0,60,0,68,0 72,0,8,0,62,0,66,0,37,0,48,0 32,0,71,0,7,0,11,0,77,0,70,0 31,0,30,0,53,0,34,0,22,0,3,0 89,0,58,0,26,0,46,0,65,0,4,0 73,0,43,0,78,0,45,0,41,0,82,0 14,0,74,0,20,0,18,0,86,0,56,0 67,0,54,0,47,0,84,0,91,0,39,0 75,0,13,0,6,0,50,0,49,0,88,0 17,0,79,0,51,0,25,0,23,0,59,0 9,0,81,0,76,0,64,0,42,0,93,0 90,0,87,0,28,0,44,0,29,0,10,0 38,0,36,0,2,0,63,0,40,0,21,0 52,0,69,0,85,0,55,0,16,0,1,0 57,0,20,0,35,0,61,0,5,0,11,0 14,0,60,0,27,0,43,0,7,0,72,0 39,0,24,0,48,0,88,0,18,0,45,0 33,0,86,0,8,0,34,0,65,0,80,0 81,0,68,0,50,0,70,0,4,0,84,0 58,0,77,0,3,0,6,0,76,0,47,0 64,0,30,0,78,0,87,0,83,0,25,0 56,0,10,0,22,0,21,0,79,0,41,0 32,0,37,0,61,0,1,0,44,0,92,0 54,0,31,0,66,0,38,0,29,0,82,0 57,0,26,0,13,0,2,0,52,0,73,0 9,0,36,0,90,0,23,0,53,0,55,0 89,0,51,0,75,0,63,0,67,0,28,0 49,0,59,0,74,0,16,0,12,0,71,0 62,0,15,0,69,0,93,0,17,0,19,0 40,0,5,0,42,0,46,0,85,0,91,0 83,0,80,0,77,0,10,0,20,0,58,0 38,0,11,0,60,0,45,0,86,0,81,0 30,0,1,0,72,0,82,0,70,0,35,0 57,0,25,0,4,0,54,0,18,0,8,0 34,0,29,0,37,0,2,0,14,0,24,0 26,0,55,0,67,0,59,0,64,0,6,0 66,0,17,0,89,0,16,0,87,0,27,0 19,0,78,0,13,0,22,0,51,0,9,0 62,0,71,0,5,0,73,0,76,0,36,0 92,0,69,0,90,0,46,0,7,0,68,0 50,0,74,0,32,0,53,0,85,0,79,0 63,0,91,0,31,0,52,0,48,0,12,0 43,0,65,0,33,0,3,0,39,0,40,0 75,0,47,0,88,0,21,0,61,0,42,0 23,0,84,0,93,0,56,0,49,0,44,0 15,0,28,0,11,0,41,0,18,0,34,0 37,0,20,0,5,0,38,0,22,0,64,0 2,0,16,0,8,0,90,0,35,0,67,0 51,0,70,0,24,0,60,0,57,0,53,0 25,0,63,0,13,0,81,0,71,0,14,0 55,0,91,0,86,0,78,0,29,0,66,0 36,0,68,0,85,0,48,0,73,0,27,0 17,0,56,0,58,0,39,0,32,0,49,0 46,0,80,0,28,0,30,0,79,0,43,0 12,0,84,0,61,0,6,0,33,0,93,0 75,0,42,0,19,0,92,0,54,0,3,0 45,0,23,0,7,0,10,0,89,0,72,0 74,0,82,0,40,0,4,0,44,0,88,0 65,0,41,0,87,0,47,0,9,0,1,0 26,0,69,0,31,0,77,0,15,0,50,0 83,0,59,0,52,0,62,0,76,0,21,0 85,0,56,0,24,0,30,0,8,0,81,0 58,0,68,0,66,0,18,0,13,0,93,0 5,0,79,0,19,0,39,0,2,0,55,0 45,0,67,0,92,0,63,0,22,0,17,0 53,0,48,0,7,0,28,0,78,0,84,0 10,0,73,0,82,0,70,0,47,0,89,0 20,0,29,0,33,0,9,0,44,0,69,0 87,0,6,0,57,0,37,0,4,0,15,0 65,0,90,0,88,0,32,0,31,0,59,0 21,0,34,0,26,0,23,0,35,0,51,0 72,0,25,0,11,0,49,0,91,0,83,0 62,0,54,0,43,0,16,0,61,0,50,0 14,0,12,0,40,0,80,0,76,0,42,0 64,0,27,0,71,0,52,0,3,0,41,0 60,0,74,0,46,0,38,0,1,0,75,0 77,0,36,0,44,0,86,0,13,0,70,0 30,0,63,0,6,0,18,0,29,0,19,0 47,0,81,0,22,0,33,0,7,0,66,0 31,0,92,0,85,0,58,0,84,0,72,0 69,0,59,0,2,0,78,0,24,0,25,0 65,0,11,0,79,0,82,0,68,0,67,0 51,0,55,0,76,0,37,0,91,0,10,0 45,0,1,0,62,0,57,0,56,0,27,0 14,0,3,0,15,0,35,0,32,0,36,0 21,0,9,0,49,0,5,0,54,0,89,0 39,0,28,0,61,0,71,0,87,0,8,0 77,0,16,0,64,0,12,0,50,0,60,0 42,0,4,0,48,0,38,0,43,0,23,0 40,0,52,0,75,0,20,0,86,0,93,0 83,0,46,0,41,0,53,0,88,0,34,0 73,0,17,0,26,0,80,0,90,0,74,0 ================================================ FILE: schedules/93_2.csv ================================================ 1,0,93,0,24,0,4,0,80,0,52,0 2,0,71,0,7,0,25,0,20,0,26,0 72,0,62,0,16,0,30,0,8,0,5,0 50,0,17,0,73,0,60,0,57,0,67,0 34,0,75,0,19,0,35,0,66,0,81,0 48,0,13,0,59,0,9,0,77,0,55,0 10,0,46,0,39,0,44,0,3,0,18,0 82,0,22,0,29,0,78,0,47,0,63,0 68,0,70,0,54,0,15,0,65,0,43,0 45,0,76,0,86,0,51,0,74,0,85,0 37,0,49,0,23,0,31,0,33,0,56,0 87,0,6,0,88,0,38,0,83,0,61,0 42,0,64,0,69,0,12,0,11,0,79,0 41,0,53,0,90,0,40,0,21,0,89,0 28,0,84,0,27,0,91,0,92,0,32,0 36,0,80,0,55,0,14,0,58,0,75,0 18,0,67,0,82,0,93,0,54,0,19,0 20,0,16,0,70,0,76,0,29,0,24,0 33,0,35,0,44,0,59,0,51,0,50,0 60,0,62,0,81,0,87,0,7,0,86,0 66,0,25,0,42,0,85,0,23,0,39,0 46,0,30,0,52,0,41,0,34,0,45,0 3,0,48,0,31,0,27,0,90,0,22,0 5,0,43,0,57,0,78,0,49,0,88,0 79,0,63,0,14,0,53,0,6,0,13,0 1,0,47,0,11,0,37,0,26,0,68,0 64,0,21,0,17,0,72,0,28,0,74,0 9,0,32,0,61,0,36,0,15,0,8,0 71,0,83,0,91,0,89,0,10,0,73,0 77,0,4,0,92,0,58,0,2,0,69,0 12,0,38,0,65,0,84,0,40,0,56,0 ================================================ FILE: schedules/93_3.csv ================================================ 85,0,33,0,80,0,36,0,93,0,70,0 37,0,50,0,38,0,63,0,64,0,75,0 6,0,53,0,68,0,55,0,4,0,48,0 42,0,26,0,1,0,20,0,29,0,52,0 34,0,9,0,72,0,12,0,11,0,27,0 24,0,45,0,35,0,7,0,8,0,40,0 44,0,41,0,59,0,83,0,28,0,76,0 86,0,90,0,54,0,13,0,71,0,77,0 43,0,5,0,84,0,89,0,31,0,17,0 18,0,62,0,16,0,79,0,10,0,61,0 49,0,69,0,15,0,66,0,91,0,60,0 30,0,87,0,92,0,65,0,32,0,67,0 46,0,74,0,47,0,73,0,14,0,25,0 2,0,56,0,57,0,3,0,82,0,51,0 81,0,19,0,22,0,58,0,78,0,88,0 39,0,23,0,8,0,21,0,71,0,68,0 4,1,13,0,29,0,83,1,37,0,5,0 20,1,43,0,64,0,34,0,54,0,33,0 70,0,89,0,52,0,16,0,41,0,53,0 27,0,24,0,28,0,90,0,93,0,50,0 91,0,63,0,85,0,11,0,87,0,47,0 72,0,31,0,62,0,82,0,26,0,59,0 7,0,10,0,57,0,88,0,60,0,92,0 3,0,81,0,1,0,23,0,55,0,61,0 9,0,67,0,58,0,46,0,38,0,80,0 79,0,66,0,21,0,56,0,42,0,19,0 15,0,76,0,45,0,86,0,25,0,65,0 14,0,12,0,2,0,49,0,44,0,78,0 6,0,77,0,22,0,35,0,18,0,30,0 74,0,51,0,84,0,75,0,39,0,48,0 17,0,32,0,73,0,36,0,69,0,40,0 71,0,89,0,27,0,62,0,60,0,1,0 93,0,87,0,3,0,20,0,58,0,5,0 80,0,8,0,53,0,91,0,81,0,10,0 52,0,67,0,85,0,24,0,57,0,83,0 28,0,82,0,70,0,7,0,13,0,38,0 4,0,78,0,65,0,35,0,56,0,61,0 44,0,75,0,86,0,68,0,33,0,42,0 59,0,23,0,90,0,17,0,74,0,15,0 18,0,12,0,48,0,73,0,43,0,41,0 36,0,30,0,11,0,39,0,16,0,46,0 25,0,92,0,77,0,72,0,21,0,64,0 66,0,50,0,34,0,6,0,51,0,47,0 88,0,69,0,37,0,26,0,45,0,2,0 19,0,55,0,40,0,84,0,49,0,54,0 9,0,76,0,14,0,79,0,22,0,29,0 32,0,31,0,83,0,63,0,4,0,20,0 ================================================ FILE: schedules/93_4.csv ================================================ 1,0,26,0,22,0,86,0,10,0,61,0 12,0,75,0,28,0,48,0,2,0,79,0 80,0,77,0,66,0,85,0,13,0,25,0 17,0,18,0,87,0,53,0,39,0,57,0 43,0,45,0,65,0,78,0,8,0,6,0 38,0,42,0,51,0,58,0,7,0,5,0 4,0,32,0,50,0,72,0,56,0,82,0 11,0,9,0,23,0,29,0,52,0,62,0 27,0,30,0,59,0,20,0,47,0,74,0 55,0,64,0,46,0,31,0,41,0,16,0 3,0,33,0,71,0,91,0,81,0,70,0 21,0,54,0,36,0,84,0,14,0,60,0 44,0,49,0,37,0,34,0,15,0,73,0 68,0,63,0,69,0,76,0,67,0,89,0 93,0,40,0,24,0,92,0,90,0,83,0 35,0,7,0,23,0,19,0,88,0,43,0 65,0,53,0,79,0,52,0,30,0,1,0 4,0,8,0,2,0,42,0,41,0,87,0 72,0,31,0,59,0,71,0,38,0,75,0 39,0,26,0,6,0,66,0,9,0,60,0 5,0,14,0,33,0,61,0,11,0,77,0 78,0,89,0,62,0,27,0,22,0,46,0 81,0,20,0,34,0,76,0,64,0,17,0 3,0,51,0,29,0,40,0,49,0,10,0 47,0,88,0,70,0,63,0,90,0,21,0 56,0,48,0,83,0,67,0,44,0,36,0 57,0,69,0,50,0,13,0,28,0,54,0 73,0,92,0,19,0,58,0,55,0,25,0 74,0,16,0,85,0,91,0,68,0,24,0 45,0,32,0,84,0,80,0,15,0,93,0 82,0,86,0,37,0,18,0,35,0,12,0 77,0,40,0,2,0,76,0,26,0,53,0 14,0,3,0,63,0,62,0,87,0,34,0 49,0,8,0,1,0,64,0,38,0,70,0 13,0,41,0,36,0,89,0,39,0,79,0 78,0,10,0,30,0,56,0,31,0,21,0 20,0,5,0,16,0,69,0,92,0,23,0 15,0,6,0,75,0,47,0,57,0,19,0 81,0,66,0,51,0,35,0,48,0,74,0 11,0,83,0,46,0,37,0,32,0,65,0 24,0,84,0,61,0,7,0,50,0,71,0 29,0,91,0,60,0,73,0,28,0,27,0 17,0,82,0,93,0,88,0,9,0,55,0 52,0,90,0,22,0,54,0,4,0,68,0 67,0,12,0,42,0,25,0,59,0,43,0 58,0,86,0,45,0,44,0,85,0,33,0 80,0,18,0,41,0,72,0,51,0,26,0 15,0,31,0,39,0,35,0,63,0,11,0 7,0,64,0,32,0,53,0,69,0,75,0 38,0,37,0,28,0,19,0,30,0,24,0 21,0,9,0,87,0,46,0,77,0,74,0 2,0,83,0,5,0,17,0,3,0,78,0 70,0,16,0,65,0,50,0,59,0,93,0 22,0,8,0,76,0,33,0,73,0,56,0 10,0,36,0,88,0,66,0,58,0,52,0 72,0,92,0,54,0,12,0,45,0,91,0 13,0,67,0,14,0,18,0,71,0,1,0 48,0,85,0,34,0,23,0,40,0,6,0 60,0,47,0,61,0,62,0,82,0,68,0 90,0,89,0,55,0,29,0,80,0,42,0 44,0,79,0,43,0,27,0,81,0,4,0 25,0,57,0,20,0,49,0,86,0,84,0 ================================================ FILE: schedules/93_5.csv ================================================ 7,0,54,0,87,0,37,0,93,0,46,0 20,0,40,0,39,0,67,0,52,0,18,0 86,0,45,0,78,0,36,0,9,0,5,0 4,0,84,0,15,0,57,0,53,0,6,0 76,0,2,0,48,0,17,0,55,0,50,0 61,0,14,0,10,0,42,0,60,0,71,0 63,0,77,0,35,0,82,0,56,0,44,0 75,0,62,0,28,0,49,0,91,0,90,0 58,0,41,0,12,0,8,0,25,0,30,0 26,0,59,0,73,0,79,0,34,0,68,0 31,0,72,0,23,0,22,0,29,0,85,0 43,0,89,0,21,0,13,0,88,0,81,0 32,0,70,0,51,0,65,0,33,0,66,0 3,0,16,0,38,0,69,0,11,0,92,0 47,0,27,0,19,0,1,0,83,0,74,0 24,0,80,0,9,0,64,0,28,0,6,0 2,0,45,0,18,0,53,0,62,0,14,0 49,0,58,0,15,0,52,0,37,0,61,0 5,0,75,0,42,0,7,0,12,0,17,0 77,0,57,0,68,0,48,0,72,0,54,0 40,0,13,0,25,0,33,0,26,0,4,0 51,0,84,0,81,0,34,0,78,0,22,0 74,0,50,0,16,0,88,0,85,0,87,0 19,0,31,0,90,0,32,0,46,0,43,0 63,0,91,0,59,0,24,0,47,0,38,0 36,0,27,0,30,0,89,0,3,0,73,0 92,0,64,0,44,0,76,0,93,0,21,0 65,0,69,0,1,0,10,0,23,0,56,0 67,0,41,0,60,0,35,0,29,0,70,0 66,0,79,0,71,0,55,0,83,0,39,0 82,0,11,0,80,0,86,0,20,0,8,0 90,1,54,0,45,0,34,1,4,0,52,0 63,1,13,0,32,0,58,0,18,0,74,0 88,0,51,0,37,0,25,0,91,0,77,0 44,0,38,0,68,0,7,0,43,0,27,0 1,0,5,0,50,0,3,0,72,0,15,0 6,0,89,0,16,0,60,0,40,0,65,0 61,0,78,0,85,0,70,0,69,0,26,0 9,0,47,0,55,0,22,0,21,0,30,0 87,0,10,0,84,0,39,0,75,0,11,0 59,0,81,0,49,0,42,0,83,0,23,0 28,0,36,0,48,0,82,0,19,0,41,0 57,0,93,0,71,0,2,0,24,0,35,0 92,0,17,0,66,0,14,0,8,0,31,0 33,0,20,0,53,0,46,0,29,0,56,0 80,0,76,0,73,0,62,0,12,0,67,0 64,0,86,0,58,0,79,0,85,0,89,0 63,0,26,0,37,0,50,0,65,0,39,0 75,0,52,0,88,0,9,0,1,0,38,0 82,0,81,0,6,0,32,0,61,0,91,0 21,0,27,0,42,0,90,0,57,0,25,0 8,0,60,0,43,0,47,0,78,0,18,0 5,0,22,0,53,0,48,0,10,0,70,0 67,0,55,0,92,0,4,0,19,0,24,0 23,0,13,0,93,0,79,0,15,0,62,0 14,0,46,0,68,0,11,0,35,0,28,0 72,0,56,0,7,0,41,0,51,0,73,0 49,0,3,0,12,0,66,0,20,0,84,0 2,0,74,0,34,0,33,0,80,0,36,0 76,0,31,0,69,0,59,0,77,0,87,0 29,0,83,0,17,0,40,0,45,0,64,0 30,0,54,0,71,0,16,0,44,0,86,0 6,0,62,0,78,0,63,0,42,0,1,0 52,0,92,0,53,0,27,0,28,0,81,0 8,0,35,0,22,0,39,0,7,0,90,0 55,0,46,0,15,0,26,0,12,0,51,0 89,0,70,0,93,0,14,0,25,0,47,0 50,0,67,0,82,0,31,0,58,0,10,0 91,0,19,0,9,0,57,0,56,0,13,0 83,0,76,0,34,0,5,0,65,0,20,0 86,0,17,0,3,0,32,0,68,0,23,0 24,0,66,0,11,0,43,0,73,0,54,0 18,0,16,0,33,0,61,0,41,0,21,0 60,0,72,0,4,0,74,0,49,0,30,0 44,0,2,0,88,0,84,0,29,0,59,0 38,0,77,0,85,0,80,0,45,0,71,0 40,0,79,0,36,0,75,0,69,0,37,0 64,0,48,0,90,0,87,0,34,0,63,0 ================================================ FILE: schedules/93_6.csv ================================================ 29,0,56,0,72,0,12,0,90,0,57,0 6,0,82,0,83,0,3,0,33,0,23,0 45,0,51,0,37,0,77,0,44,0,86,0 58,0,28,0,79,0,89,0,35,0,20,0 13,0,24,0,62,0,65,0,93,0,46,0 9,0,76,0,7,0,59,0,2,0,69,0 17,0,55,0,14,0,60,0,61,0,38,0 41,0,80,0,5,0,91,0,19,0,32,0 84,0,22,0,53,0,73,0,15,0,30,0 4,0,8,0,74,0,34,0,78,0,48,0 1,0,39,0,88,0,67,0,87,0,68,0 36,0,92,0,31,0,21,0,18,0,11,0 81,0,47,0,49,0,16,0,64,0,27,0 42,0,54,0,52,0,85,0,26,0,40,0 70,0,10,0,25,0,50,0,63,0,43,0 66,0,75,0,61,0,71,0,82,0,62,0 13,0,41,0,76,0,84,0,29,0,58,0 86,0,69,0,93,0,22,0,90,0,79,0 7,0,23,0,53,0,56,0,8,0,55,0 87,0,19,0,48,0,51,0,46,0,6,0 3,0,32,0,35,0,39,0,81,0,45,0 80,0,34,0,65,0,12,0,92,0,28,0 10,0,73,0,16,0,20,0,17,0,52,0 83,0,25,0,67,0,54,0,14,0,2,0 72,0,44,0,70,0,5,0,42,0,1,0 30,0,57,0,60,0,24,0,75,0,21,0 18,0,43,0,15,0,9,0,74,0,47,0 37,0,91,0,63,0,38,0,71,0,4,0 59,0,50,0,85,0,11,0,49,0,66,0 27,0,31,0,78,0,33,0,68,0,26,0 77,0,64,0,36,0,40,0,89,0,88,0 55,0,82,0,67,0,13,0,19,0,69,0 62,0,17,0,6,0,84,0,2,0,34,0 54,0,7,0,58,0,39,0,30,0,48,0 45,0,20,0,41,0,70,0,75,0,47,0 51,0,35,0,18,0,25,0,12,0,1,0 42,0,61,0,79,0,91,0,81,0,57,0 38,0,8,0,92,0,32,0,73,0,83,0 77,0,87,0,49,0,21,0,65,0,4,0 93,0,15,0,3,0,40,0,10,0,80,0 26,0,89,0,16,0,22,0,59,0,5,0 88,0,66,0,29,0,43,0,27,0,28,0 23,0,74,0,71,0,31,0,90,0,24,0 53,0,37,0,33,0,64,0,52,0,50,0 56,0,46,0,11,0,9,0,68,0,44,0 78,0,36,0,86,0,76,0,14,0,63,0 60,0,85,0,8,0,72,0,77,0,47,0 42,0,21,0,45,0,80,0,7,0,38,0 32,0,49,0,57,0,69,0,54,0,51,0 22,0,3,0,91,0,18,0,70,0,17,0 24,0,89,0,19,0,92,0,27,0,84,0 83,0,58,0,52,0,1,0,4,0,31,0 50,0,65,0,55,0,26,0,35,0,74,0 93,0,25,0,28,0,73,0,68,0,82,0 59,0,15,0,63,0,20,0,87,0,23,0 10,0,48,0,44,0,36,0,41,0,62,0 34,0,13,0,61,0,9,0,88,0,86,0 75,0,76,0,72,0,6,0,64,0,11,0 29,0,2,0,71,0,53,0,60,0,79,0 46,0,39,0,90,0,5,0,43,0,78,0 12,0,14,0,30,0,37,0,16,0,85,0 67,0,33,0,40,0,81,0,56,0,66,0 21,0,32,0,28,0,47,0,1,0,50,0 84,0,20,0,68,0,7,0,36,0,74,0 4,0,27,0,54,0,23,0,35,0,10,0 61,0,89,0,48,0,72,0,45,0,93,0 3,0,42,0,64,0,2,0,13,0,8,0 46,0,69,0,26,0,25,0,58,0,17,0 88,0,12,0,52,0,82,0,15,0,76,0 65,0,66,0,90,0,63,0,6,0,60,0 11,0,40,0,79,0,37,0,70,0,39,0 77,0,16,0,38,0,31,0,19,0,56,0 71,0,85,0,51,0,41,0,22,0,55,0 87,0,78,0,9,0,83,0,24,0,80,0 75,0,18,0,81,0,86,0,5,0,29,0 92,0,67,0,91,0,30,0,62,0,59,0 14,0,43,0,44,0,57,0,53,0,34,0 33,0,73,0,46,0,49,0,74,0,89,0 45,0,12,0,84,0,66,0,10,0,79,0 50,0,36,0,6,0,13,0,54,0,15,0 60,0,93,0,88,0,58,0,23,0,42,0 20,0,37,0,80,0,76,0,61,0,31,0 4,0,68,0,32,0,86,0,85,0,17,0 8,0,22,0,65,0,27,0,75,0,67,0 39,0,24,0,53,0,38,0,28,0,18,0 26,0,73,0,7,0,91,0,29,0,64,0 1,0,9,0,16,0,57,0,48,0,92,0 25,0,40,0,71,0,49,0,19,0,78,0 44,0,47,0,87,0,3,0,55,0,90,0 30,0,69,0,34,0,56,0,83,0,63,0 81,0,51,0,82,0,14,0,70,0,59,0 43,0,2,0,21,0,41,0,52,0,72,0 5,0,62,0,77,0,35,0,11,0,33,0 ================================================ FILE: schedules/93_7.csv ================================================ 18,0,63,0,6,0,78,0,12,0,32,0 2,0,47,0,77,0,4,0,64,0,24,0 66,0,31,0,76,0,87,0,82,0,53,0 49,0,55,0,16,0,69,0,80,0,60,0 61,0,68,0,35,0,17,0,39,0,10,0 36,0,54,0,72,0,30,0,70,0,89,0 90,0,48,0,81,0,38,0,7,0,71,0 33,0,21,0,65,0,83,0,26,0,52,0 91,0,3,0,20,0,75,0,27,0,92,0 34,0,44,0,51,0,46,0,56,0,73,0 9,0,85,0,37,0,93,0,84,0,25,0 13,0,19,0,5,0,15,0,57,0,41,0 86,0,28,0,11,0,58,0,62,0,14,0 42,0,67,0,50,0,22,0,59,0,43,0 1,0,8,0,88,0,40,0,74,0,79,0 23,0,45,0,36,0,29,0,2,0,48,0 80,0,26,0,54,0,20,0,6,0,7,0 69,0,30,0,32,0,76,0,47,0,73,0 53,0,34,0,61,0,52,0,49,0,9,0 12,0,60,0,3,0,84,0,4,0,44,0 70,0,65,0,39,0,56,0,13,0,58,0 63,0,89,0,33,0,41,0,92,0,50,0 88,0,14,0,87,0,67,0,91,0,83,0 81,0,31,0,24,0,21,0,51,0,8,0 85,0,17,0,74,0,77,0,15,0,71,0 25,0,1,0,46,0,22,0,28,0,75,0 90,0,19,0,29,0,11,0,40,0,42,0 38,0,66,0,5,0,68,0,18,0,72,0 43,0,62,0,93,0,16,0,45,0,82,0 64,0,59,0,35,0,55,0,79,0,23,0 37,0,27,0,57,0,10,0,78,0,86,0 81,1,33,0,12,0,36,1,39,0,80,0 91,1,48,0,13,0,76,0,44,0,21,0 17,0,75,0,32,0,54,0,67,0,8,0 77,0,19,0,60,0,20,0,30,0,87,0 73,0,24,0,90,0,66,0,1,0,41,0 93,0,70,0,28,0,50,0,88,0,34,0 62,0,18,0,35,0,31,0,9,0,65,0 6,0,43,0,49,0,14,0,89,0,5,0 15,0,7,0,16,0,2,0,61,0,79,0 58,0,64,0,82,0,10,0,83,0,42,0 56,0,92,0,84,0,11,0,45,0,72,0 71,0,51,0,47,0,29,0,59,0,37,0 57,0,69,0,38,0,85,0,23,0,22,0 52,0,27,0,68,0,74,0,63,0,46,0 78,0,55,0,25,0,26,0,40,0,4,0 3,0,86,0,19,0,53,0,21,0,17,0 62,0,39,0,89,0,90,0,34,0,76,0 49,0,32,0,65,0,44,0,88,0,20,0 16,0,8,0,73,0,84,0,18,0,13,0 50,0,60,0,58,0,35,0,47,0,5,0 36,0,15,0,56,0,69,0,43,0,28,0 67,0,2,0,37,0,52,0,38,0,6,0 33,0,46,0,7,0,57,0,24,0,55,0 29,0,30,0,91,0,93,0,1,0,63,0 10,0,66,0,40,0,12,0,59,0,54,0 75,0,41,0,61,0,70,0,31,0,77,0 71,0,23,0,4,0,83,0,68,0,11,0 64,0,74,0,51,0,45,0,25,0,3,0 72,0,53,0,80,0,14,0,78,0,42,0 9,0,86,0,22,0,87,0,48,0,92,0 82,0,81,0,85,0,79,0,27,0,26,0 35,0,76,0,67,0,57,0,49,0,29,0 55,0,30,0,34,0,65,0,6,0,66,0 28,0,16,0,10,0,47,0,89,0,20,0 77,0,59,0,11,0,46,0,18,0,91,0 15,0,88,0,54,0,3,0,37,0,33,0 78,0,17,0,1,0,2,0,51,0,50,0 23,0,25,0,87,0,61,0,72,0,73,0 74,0,60,0,83,0,92,0,81,0,53,0 4,0,58,0,27,0,36,0,38,0,93,0 63,0,86,0,45,0,13,0,90,0,31,0 71,0,79,0,69,0,9,0,39,0,42,0 48,0,43,0,26,0,41,0,8,0,12,0 84,0,40,0,70,0,22,0,32,0,68,0 64,0,52,0,7,0,56,0,5,0,62,0 75,0,44,0,14,0,19,0,24,0,82,0 85,0,21,0,29,0,80,0,34,0,92,0 83,0,38,0,78,0,77,0,73,0,89,0 17,0,6,0,13,0,88,0,81,0,23,0 1,0,31,0,3,0,16,0,57,0,59,0 72,0,79,0,10,0,63,0,51,0,49,0 46,0,71,0,41,0,67,0,20,0,58,0 39,0,87,0,55,0,43,0,84,0,74,0 52,0,4,0,54,0,19,0,35,0,48,0 93,0,18,0,47,0,21,0,22,0,56,0 69,0,82,0,12,0,70,0,25,0,86,0 75,0,11,0,2,0,85,0,5,0,76,0 14,0,8,0,65,0,7,0,68,0,36,0 42,0,26,0,24,0,91,0,37,0,60,0 45,0,28,0,32,0,33,0,9,0,66,0 50,0,40,0,62,0,53,0,27,0,15,0 30,0,90,0,44,0,80,0,61,0,64,0 74,0,22,0,29,0,13,0,4,0,72,0 79,0,67,0,34,0,78,0,19,0,31,0 58,0,73,0,2,0,81,0,55,0,3,0 76,0,70,0,52,0,14,0,71,0,1,0 20,0,43,0,83,0,86,0,24,0,85,0 36,0,63,0,9,0,16,0,88,0,26,0 17,0,89,0,57,0,91,0,65,0,40,0 15,0,39,0,66,0,46,0,93,0,8,0 6,0,59,0,92,0,62,0,69,0,68,0 7,0,53,0,25,0,77,0,32,0,35,0 11,0,44,0,38,0,54,0,47,0,87,0 27,0,42,0,5,0,48,0,61,0,28,0 56,0,23,0,80,0,50,0,10,0,75,0 82,0,18,0,51,0,60,0,33,0,90,0 37,0,21,0,12,0,45,0,49,0,30,0 84,0,41,0,81,0,64,0,36,0,91,0 ================================================ FILE: schedules/93_8.csv ================================================ 88,0,39,0,61,0,25,0,37,0,46,0 20,0,28,0,69,0,5,0,35,0,42,0 50,0,4,0,26,0,62,0,84,0,71,0 93,0,87,0,10,0,86,0,48,0,63,0 19,0,81,0,14,0,68,0,3,0,79,0 76,0,31,0,32,0,18,0,57,0,40,0 13,0,92,0,73,0,9,0,11,0,78,0 54,0,43,0,59,0,12,0,56,0,90,0 70,0,29,0,8,0,47,0,17,0,60,0 52,0,72,0,21,0,66,0,89,0,2,0 27,0,75,0,91,0,6,0,74,0,22,0 55,0,7,0,16,0,80,0,36,0,49,0 45,0,44,0,83,0,23,0,64,0,24,0 67,0,85,0,1,0,77,0,30,0,53,0 65,0,82,0,41,0,51,0,38,0,15,0 58,0,34,0,42,0,33,0,31,0,73,0 78,0,57,0,81,0,62,0,54,0,93,0 46,0,10,0,2,0,29,0,3,0,76,0 79,0,40,0,92,0,63,0,25,0,72,0 91,0,55,0,26,0,59,0,28,0,11,0 83,0,89,0,69,0,18,0,68,0,39,0 37,0,17,0,5,0,27,0,14,0,13,0 65,0,56,0,36,0,20,0,4,0,32,0 16,0,74,0,41,0,19,0,52,0,67,0 38,0,30,0,35,0,12,0,33,0,8,0 9,0,84,0,58,0,61,0,7,0,60,0 1,0,24,0,75,0,51,0,49,0,71,0 43,0,34,0,64,0,70,0,85,0,48,0 87,0,82,0,53,0,45,0,22,0,21,0 50,0,44,0,86,0,77,0,47,0,90,0 15,0,23,0,88,0,6,0,80,0,66,0 31,0,16,0,65,0,2,0,63,0,14,0 38,0,92,0,28,0,4,0,10,0,83,0 39,0,12,0,40,0,7,0,11,0,20,0 9,0,30,0,41,0,59,0,29,0,89,0 3,0,67,0,32,0,24,0,43,0,17,0 85,0,81,0,87,0,13,0,71,0,69,0 77,0,49,0,61,0,62,0,21,0,34,0 64,0,74,0,72,0,53,0,8,0,90,0 18,0,47,0,35,0,93,0,88,0,45,0 51,0,66,0,27,0,19,0,42,0,60,0 80,0,37,0,54,0,82,0,91,0,84,0 23,0,73,0,48,0,57,0,55,0,50,0 75,0,26,0,70,0,76,0,56,0,52,0 79,0,78,0,15,0,46,0,1,0,44,0 25,0,5,0,86,0,6,0,36,0,33,0 22,0,68,0,30,0,58,0,65,0,17,0 7,0,74,0,29,0,85,0,92,0,88,0 43,0,53,0,47,0,66,0,41,0,71,0 80,0,62,0,59,0,19,0,32,0,72,0 93,0,38,0,24,0,73,0,39,0,91,0 11,0,90,0,21,0,23,0,37,0,75,0 34,0,54,0,18,0,50,0,27,0,8,0 4,0,64,0,69,0,31,0,3,0,1,0 14,0,60,0,26,0,67,0,89,0,25,0 44,0,10,0,33,0,16,0,70,0,22,0 87,0,52,0,79,0,58,0,5,0,77,0 28,0,13,0,76,0,15,0,48,0,61,0 35,0,2,0,83,0,49,0,82,0,81,0 6,0,20,0,46,0,68,0,51,0,57,0 42,0,9,0,56,0,55,0,86,0,40,0 84,0,12,0,63,0,78,0,36,0,45,0 8,0,62,0,39,0,66,0,31,0,92,0 72,0,4,0,18,0,60,0,44,0,41,0 65,0,33,0,79,0,67,0,64,0,75,0 37,0,69,0,73,0,47,0,16,0,30,0 13,0,38,0,22,0,43,0,89,0,50,0 7,0,6,0,77,0,48,0,14,0,54,0 25,0,55,0,52,0,15,0,81,0,10,0 59,0,36,0,93,0,61,0,51,0,23,0 58,0,56,0,63,0,49,0,29,0,57,0 2,0,1,0,17,0,74,0,9,0,87,0 32,0,5,0,78,0,82,0,26,0,90,0 40,0,85,0,84,0,24,0,27,0,35,0 88,0,34,0,3,0,12,0,86,0,28,0 45,0,71,0,80,0,76,0,42,0,68,0 19,0,70,0,11,0,83,0,53,0,46,0 20,0,21,0,13,0,91,0,18,0,67,0 33,0,41,0,14,0,92,0,61,0,56,0 15,0,57,0,39,0,77,0,60,0,16,0 89,0,49,0,4,0,73,0,87,0,90,0 78,0,66,0,55,0,58,0,74,0,69,0 22,0,28,0,23,0,84,0,79,0,8,0 51,0,86,0,81,0,26,0,43,0,72,0 12,0,46,0,75,0,50,0,31,0,85,0 88,0,71,0,36,0,38,0,11,0,48,0 53,0,10,0,37,0,65,0,24,0,42,0 93,0,3,0,9,0,70,0,82,0,20,0 68,0,47,0,52,0,32,0,64,0,27,0 45,0,54,0,2,0,40,0,19,0,30,0 35,0,29,0,1,0,34,0,80,0,25,0 21,0,63,0,59,0,83,0,17,0,6,0 91,0,62,0,76,0,7,0,5,0,44,0 48,0,56,0,89,0,16,0,84,0,46,0 23,0,14,0,58,0,12,0,18,0,10,0 57,0,82,0,42,0,79,0,74,0,13,0 67,0,31,0,49,0,70,0,38,0,68,0 55,0,92,0,32,0,75,0,87,0,45,0 19,0,85,0,22,0,36,0,9,0,26,0 77,0,51,0,40,0,29,0,28,0,37,0 6,0,8,0,61,0,4,0,24,0,78,0 90,0,88,0,17,0,91,0,41,0,69,0 63,0,80,0,50,0,64,0,81,0,30,0 33,0,71,0,21,0,7,0,15,0,93,0 35,0,60,0,62,0,11,0,52,0,3,0 86,0,2,0,27,0,39,0,59,0,53,0 25,0,20,0,44,0,66,0,54,0,73,0 83,0,65,0,47,0,76,0,72,0,34,0 43,0,1,0,8,0,5,0,10,0,45,0 48,0,68,0,75,0,4,0,40,0,82,0 78,0,30,0,87,0,18,0,28,0,56,0 7,0,32,0,46,0,13,0,41,0,23,0 92,0,70,0,57,0,37,0,35,0,89,0 91,0,49,0,53,0,14,0,9,0,50,0 27,0,58,0,26,0,88,0,16,0,20,0 12,0,64,0,73,0,22,0,62,0,51,0 66,0,76,0,59,0,1,0,33,0,81,0 61,0,71,0,90,0,2,0,55,0,67,0 24,0,86,0,60,0,80,0,79,0,21,0 15,0,47,0,3,0,63,0,5,0,85,0 11,0,77,0,25,0,43,0,74,0,65,0 38,0,6,0,44,0,69,0,19,0,34,0 84,0,29,0,31,0,83,0,52,0,93,0 72,0,54,0,17,0,39,0,36,0,42,0 ================================================ FILE: schedules/93_9.csv ================================================ 17,0,21,0,1,0,40,0,35,0,74,0 22,0,60,0,68,0,76,0,5,0,71,0 92,0,52,0,18,0,19,0,26,0,89,0 83,0,56,0,13,0,79,0,14,0,7,0 44,0,48,0,69,0,82,0,67,0,34,0 62,0,3,0,86,0,45,0,75,0,4,0 57,0,29,0,20,0,15,0,58,0,9,0 11,0,10,0,24,0,73,0,65,0,41,0 2,0,93,0,87,0,32,0,59,0,6,0 63,0,28,0,30,0,64,0,43,0,50,0 66,0,55,0,85,0,88,0,53,0,47,0 61,0,81,0,70,0,54,0,12,0,16,0 8,0,49,0,80,0,36,0,46,0,72,0 84,0,77,0,39,0,51,0,90,0,27,0 37,0,25,0,33,0,23,0,91,0,78,0 31,0,44,0,45,0,38,0,42,0,79,0 48,0,20,0,56,0,17,0,24,0,5,0 86,0,93,0,82,0,52,0,65,0,64,0 28,0,57,0,6,0,21,0,13,0,88,0 4,0,1,0,87,0,55,0,9,0,12,0 18,0,34,0,80,0,15,0,47,0,75,0 76,0,30,0,49,0,14,0,3,0,59,0 40,0,39,0,26,0,10,0,25,0,71,0 92,0,36,0,66,0,51,0,33,0,54,0 63,0,27,0,67,0,81,0,35,0,38,0 37,0,7,0,43,0,70,0,11,0,60,0 23,0,31,0,32,0,85,0,16,0,69,0 91,0,90,0,50,0,19,0,72,0,74,0 68,0,78,0,73,0,2,0,58,0,84,0 83,0,8,0,77,0,29,0,61,0,53,0 62,0,89,0,22,0,41,0,46,0,42,0 10,1,20,0,33,0,59,1,34,0,64,0 48,1,57,0,36,0,79,0,39,0,1,0 15,0,43,0,51,0,4,0,71,0,35,0 16,0,24,0,66,0,28,0,49,0,67,0 52,0,6,0,7,0,81,0,75,0,25,0 31,0,87,0,19,0,3,0,47,0,37,0 38,0,76,0,72,0,82,0,29,0,78,0 17,0,22,0,30,0,69,0,55,0,77,0 27,0,42,0,74,0,80,0,13,0,11,0 32,0,86,0,12,0,40,0,58,0,56,0 9,0,18,0,65,0,53,0,62,0,21,0 73,0,61,0,89,0,91,0,45,0,5,0 2,0,50,0,60,0,23,0,54,0,88,0 85,0,84,0,41,0,63,0,44,0,92,0 26,0,14,0,70,0,8,0,93,0,90,0 46,0,83,0,67,0,68,0,19,0,64,0 72,0,34,0,39,0,31,0,7,0,30,0 78,0,35,0,11,0,69,0,86,0,28,0 71,0,3,0,36,0,18,0,29,0,32,0 1,0,82,0,62,0,5,0,47,0,33,0 42,0,51,0,59,0,25,0,53,0,60,0 56,0,77,0,38,0,15,0,49,0,87,0 74,0,9,0,54,0,43,0,45,0,8,0 26,0,48,0,6,0,65,0,37,0,80,0 23,0,79,0,40,0,92,0,68,0,75,0 91,0,21,0,58,0,24,0,85,0,81,0 16,0,88,0,63,0,14,0,73,0,46,0 44,0,22,0,93,0,20,0,27,0,83,0 2,0,4,0,90,0,61,0,41,0,13,0 55,0,57,0,89,0,76,0,50,0,70,0 52,0,10,0,12,0,66,0,84,0,17,0 67,0,51,0,1,0,78,0,45,0,32,0 82,0,30,0,26,0,9,0,23,0,56,0 28,0,68,0,34,0,62,0,36,0,87,0 60,0,33,0,16,0,74,0,48,0,18,0 69,0,25,0,80,0,92,0,43,0,93,0 5,0,7,0,41,0,53,0,54,0,15,0 4,0,64,0,29,0,44,0,37,0,40,0 46,0,59,0,12,0,77,0,91,0,31,0 79,0,66,0,11,0,21,0,20,0,63,0 65,0,38,0,88,0,84,0,19,0,61,0 47,0,13,0,39,0,76,0,52,0,73,0 58,0,8,0,24,0,6,0,55,0,71,0 70,0,86,0,17,0,72,0,2,0,27,0 14,0,35,0,75,0,85,0,57,0,22,0 3,0,89,0,81,0,83,0,10,0,90,0 50,0,49,0,92,0,42,0,48,0,4,0 29,0,45,0,59,0,63,0,56,0,34,0 37,0,16,0,21,0,36,0,93,0,30,0 38,0,41,0,91,0,43,0,18,0,1,0 25,0,74,0,15,0,61,0,28,0,32,0 27,0,88,0,78,0,62,0,31,0,71,0 79,0,73,0,67,0,77,0,70,0,6,0 81,0,72,0,65,0,60,0,66,0,14,0 51,0,47,0,20,0,49,0,68,0,26,0 35,0,76,0,54,0,10,0,46,0,44,0 11,0,84,0,82,0,40,0,8,0,75,0 12,0,19,0,2,0,7,0,57,0,69,0 33,0,83,0,85,0,52,0,50,0,87,0 80,0,9,0,3,0,22,0,39,0,24,0 42,0,5,0,90,0,55,0,23,0,86,0 89,0,13,0,53,0,58,0,17,0,64,0 27,0,59,0,15,0,66,0,37,0,73,0 61,0,48,0,93,0,31,0,68,0,63,0 1,0,70,0,92,0,20,0,46,0,28,0 75,0,56,0,19,0,21,0,44,0,60,0 2,0,65,0,25,0,47,0,83,0,49,0 14,0,50,0,71,0,41,0,80,0,12,0 62,0,76,0,74,0,67,0,7,0,26,0 51,0,55,0,40,0,13,0,3,0,16,0 53,0,43,0,81,0,36,0,82,0,22,0 52,0,32,0,34,0,24,0,35,0,90,0 64,0,9,0,10,0,85,0,6,0,78,0 72,0,11,0,77,0,5,0,57,0,4,0 18,0,58,0,45,0,39,0,69,0,88,0 89,0,79,0,86,0,30,0,8,0,33,0 87,0,84,0,29,0,54,0,91,0,42,0 17,0,23,0,7,0,38,0,93,0,73,0 43,0,26,0,21,0,55,0,59,0,61,0 27,0,16,0,65,0,1,0,50,0,34,0 35,0,3,0,6,0,92,0,82,0,20,0 25,0,36,0,70,0,31,0,56,0,4,0 37,0,52,0,49,0,74,0,88,0,22,0 58,0,41,0,75,0,83,0,51,0,48,0 84,0,64,0,69,0,81,0,62,0,79,0 53,0,40,0,87,0,80,0,90,0,67,0 78,0,54,0,24,0,57,0,30,0,18,0 10,0,63,0,91,0,15,0,86,0,60,0 46,0,5,0,66,0,39,0,2,0,29,0 23,0,28,0,71,0,44,0,89,0,72,0 47,0,32,0,14,0,9,0,42,0,77,0 85,0,68,0,12,0,13,0,8,0,38,0 19,0,45,0,17,0,76,0,33,0,11,0 50,0,53,0,67,0,3,0,93,0,84,0 74,0,69,0,75,0,70,0,65,0,59,0 15,0,6,0,83,0,30,0,1,0,40,0 56,0,43,0,10,0,16,0,2,0,62,0 21,0,73,0,31,0,29,0,86,0,51,0 90,0,9,0,49,0,7,0,71,0,63,0 48,0,35,0,12,0,88,0,89,0,25,0 64,0,92,0,55,0,39,0,91,0,11,0 61,0,42,0,18,0,85,0,37,0,72,0 4,0,54,0,82,0,68,0,80,0,17,0 46,0,13,0,60,0,87,0,24,0,45,0 36,0,77,0,14,0,78,0,52,0,20,0 19,0,5,0,28,0,27,0,58,0,79,0 57,0,32,0,44,0,81,0,26,0,33,0 8,0,41,0,23,0,34,0,66,0,76,0 38,0,47,0,59,0,22,0,10,0,48,0 ================================================ FILE: schedules/94_1.csv ================================================ 28,0,62,0,32,0,26,0,88,0,39,0 89,0,81,0,25,0,37,0,5,0,54,0 82,0,57,0,31,0,67,0,56,0,94,0 53,0,47,0,60,0,80,0,43,0,17,0 18,0,75,0,55,0,63,0,72,0,3,0 86,0,13,0,41,0,83,0,73,0,76,0 91,0,8,0,9,0,1,0,35,0,78,0 29,0,49,0,71,0,51,0,22,0,42,0 44,0,59,0,85,0,21,0,45,0,65,0 40,0,87,0,92,0,14,0,50,0,48,0 70,0,52,0,20,0,61,0,90,0,23,0 46,0,93,0,74,0,15,0,6,0,10,0 30,0,2,0,4,0,24,0,7,0,64,0 68,0,12,0,34,0,69,0,84,0,19,0 36,0,11,0,27,0,66,0,58,0,33,0 79,0,77,0,8,1,38,0,16,0,49,1 ================================================ FILE: schedules/94_10.csv ================================================ 38,0,50,0,72,0,54,0,6,0,46,0 76,0,61,0,3,0,23,0,77,0,49,0 70,0,78,0,4,0,80,0,62,0,5,0 37,0,16,0,79,0,53,0,7,0,51,0 81,0,1,0,45,0,74,0,40,0,15,0 66,0,29,0,87,0,69,0,90,0,60,0 14,0,85,0,59,0,28,0,88,0,22,0 13,0,44,0,31,0,2,0,24,0,83,0 84,0,36,0,39,0,12,0,26,0,92,0 35,0,11,0,34,0,32,0,58,0,19,0 64,0,94,0,43,0,93,0,20,0,17,0 56,0,9,0,18,0,89,0,10,0,47,0 75,0,57,0,52,0,68,0,65,0,21,0 86,0,8,0,25,0,82,0,63,0,27,0 73,0,55,0,41,0,48,0,42,0,30,0 91,0,67,0,90,0,33,0,71,0,38,0 62,0,22,0,83,0,23,0,84,0,51,0 50,0,5,0,7,0,26,0,19,0,87,0 20,0,77,0,24,0,53,0,59,0,45,0 56,0,32,0,92,0,93,0,13,0,29,0 9,0,79,0,28,0,78,0,66,0,74,0 34,0,69,0,63,0,4,0,14,0,54,0 35,0,10,0,43,0,15,0,81,0,6,0 85,0,27,0,40,0,21,0,41,0,94,0 16,0,2,0,57,0,48,0,25,0,12,0 30,0,36,0,18,0,80,0,75,0,82,0 91,0,88,0,86,0,60,0,17,0,37,0 49,0,33,0,55,0,31,0,64,0,70,0 3,0,89,0,11,0,44,0,71,0,68,0 1,0,47,0,67,0,72,0,42,0,65,0 58,0,39,0,73,0,8,0,61,0,52,0 46,0,43,0,78,0,76,0,14,0,24,0 57,1,84,0,54,0,87,1,85,0,20,0 22,0,69,0,12,0,30,0,40,0,13,0 51,0,88,0,21,0,90,0,6,0,4,0 17,0,80,0,41,0,2,0,75,0,63,0 10,0,66,0,23,0,34,0,7,0,94,0 92,0,44,0,81,0,42,0,86,0,50,0 9,0,27,0,61,0,45,0,19,0,67,0 38,0,36,0,28,0,31,0,89,0,73,0 29,0,64,0,16,0,62,0,39,0,15,0 11,0,26,0,25,0,56,0,65,0,76,0 82,0,35,0,91,0,5,0,79,0,55,0 72,0,3,0,52,0,53,0,33,0,8,0 59,0,18,0,93,0,1,0,83,0,37,0 32,0,68,0,70,0,46,0,60,0,77,0 49,0,58,0,47,0,48,0,71,0,74,0 24,0,41,0,44,0,9,0,84,0,4,0 69,0,45,0,89,0,75,0,43,0,7,0 80,0,16,0,92,0,67,0,31,0,21,0 88,0,65,0,12,0,61,0,55,0,15,0 36,0,13,0,19,0,72,0,66,0,17,0 20,0,86,0,56,0,35,0,52,0,87,0 37,0,62,0,73,0,25,0,85,0,46,0 5,0,8,0,77,0,50,0,47,0,83,0 63,0,58,0,60,0,10,0,57,0,22,0 40,0,82,0,29,0,53,0,71,0,54,0 68,0,23,0,90,0,18,0,39,0,28,0 49,0,59,0,48,0,38,0,79,0,34,0 6,0,74,0,42,0,64,0,2,0,32,0 30,0,78,0,81,0,27,0,11,0,33,0 91,0,1,0,93,0,14,0,26,0,3,0 94,0,51,0,47,0,70,0,76,0,36,0 86,0,46,0,84,0,7,0,13,0,67,0 43,0,60,0,44,0,8,0,55,0,19,0 23,0,40,0,5,0,16,0,58,0,56,0 87,0,9,0,68,0,59,0,72,0,73,0 31,0,39,0,77,0,35,0,69,0,65,0 20,0,42,0,4,0,66,0,49,0,11,0 62,0,24,0,75,0,93,0,74,0,10,0 22,0,6,0,3,0,41,0,25,0,70,0 94,0,1,0,80,0,71,0,28,0,57,0 85,0,17,0,12,0,45,0,90,0,79,0 54,0,32,0,26,0,88,0,81,0,48,0 76,0,83,0,15,0,34,0,27,0,89,0 53,0,18,0,78,0,63,0,91,0,21,0 37,0,92,0,52,0,30,0,38,0,64,0 33,0,14,0,61,0,51,0,29,0,2,0 82,0,11,0,60,0,50,0,23,0,73,0 35,0,74,0,67,0,25,0,44,0,93,0 36,0,55,0,10,0,1,0,68,0,86,0 72,0,81,0,22,0,39,0,20,0,5,0 8,0,54,0,76,0,31,0,12,0,59,0 28,0,69,0,27,0,3,0,70,0,16,0 47,0,79,0,62,0,32,0,41,0,52,0 15,0,21,0,14,0,30,0,19,0,56,0 65,0,85,0,51,0,24,0,91,0,80,0 82,0,71,0,34,0,2,0,92,0,46,0 53,0,84,0,89,0,64,0,66,0,61,0 75,0,87,0,38,0,88,0,78,0,83,0 37,0,29,0,90,0,42,0,43,0,58,0 13,0,45,0,63,0,48,0,94,0,50,0 49,0,6,0,57,0,7,0,9,0,33,0 4,0,18,0,17,0,40,0,77,0,26,0 79,0,70,0,15,0,72,0,23,0,8,0 32,0,25,0,1,0,51,0,31,0,5,0 61,0,93,0,34,0,21,0,86,0,47,0 10,0,14,0,38,0,84,0,65,0,16,0 30,0,66,0,39,0,59,0,3,0,88,0 29,0,48,0,19,0,80,0,37,0,81,0 50,0,85,0,71,0,9,0,43,0,36,0 22,0,92,0,4,0,53,0,27,0,75,0 2,0,40,0,87,0,55,0,11,0,28,0 17,0,67,0,6,0,58,0,18,0,24,0 45,0,57,0,44,0,49,0,73,0,91,0 46,0,63,0,42,0,52,0,89,0,26,0 77,0,64,0,54,0,13,0,78,0,90,0 60,0,33,0,94,0,56,0,62,0,12,0 82,0,68,0,74,0,76,0,69,0,20,0 7,0,41,0,72,0,83,0,35,0,71,0 23,0,65,0,53,0,93,0,48,0,36,0 27,0,58,0,84,0,55,0,80,0,59,0 79,0,88,0,18,0,92,0,11,0,43,0 46,0,87,0,10,0,45,0,4,0,3,0 52,0,49,0,19,0,22,0,16,0,24,0 56,0,33,0,34,0,1,0,73,0,77,0 50,0,89,0,20,0,12,0,37,0,70,0 31,0,90,0,7,0,61,0,62,0,82,0 51,0,26,0,38,0,74,0,13,0,41,0 9,0,94,0,91,0,42,0,2,0,69,0 21,0,60,0,25,0,81,0,83,0,64,0 39,0,86,0,32,0,78,0,57,0,40,0 63,0,15,0,5,0,68,0,67,0,85,0 47,0,14,0,66,0,54,0,44,0,75,0 28,0,8,0,35,0,30,0,17,0,29,0 76,0,71,0,16,0,6,0,73,0,45,0 80,0,12,0,11,0,77,0,93,0,52,0 2,0,62,0,20,0,27,0,38,0,1,0 31,0,3,0,19,0,94,0,84,0,18,0 74,0,59,0,23,0,86,0,33,0,4,0 68,0,41,0,42,0,56,0,61,0,78,0 87,0,21,0,32,0,22,0,43,0,82,0 25,0,50,0,66,0,58,0,91,0,15,0 13,0,55,0,53,0,85,0,39,0,47,0 30,0,79,0,63,0,36,0,44,0,6,0 37,0,35,0,75,0,76,0,9,0,40,0 29,0,83,0,67,0,49,0,26,0,10,0 89,0,24,0,48,0,14,0,5,0,60,0 46,0,8,0,69,0,81,0,57,0,90,0 28,0,64,0,51,0,72,0,88,0,34,0 54,0,65,0,7,0,17,0,70,0,92,0 73,0,86,0,2,0,15,0,18,0,22,0 13,0,12,0,27,0,87,0,6,0,91,0 78,0,45,0,82,0,84,0,35,0,47,0 61,0,71,0,10,0,25,0,79,0,20,0 31,0,48,0,52,0,43,0,66,0,40,0 57,0,3,0,50,0,29,0,75,0,55,0 94,0,90,0,72,0,32,0,49,0,14,0 64,0,65,0,80,0,9,0,46,0,23,0 24,0,88,0,70,0,56,0,1,0,63,0 16,0,42,0,53,0,34,0,30,0,60,0 17,0,5,0,59,0,51,0,69,0,44,0 36,0,8,0,74,0,37,0,21,0,11,0 85,0,76,0,7,0,38,0,4,0,81,0 58,0,83,0,26,0,33,0,68,0,92,0 93,0,54,0,41,0,89,0,39,0,19,0 62,0,77,0,57,0,28,0,67,0,87,0 ================================================ FILE: schedules/94_11.csv ================================================ 4,0,94,0,2,0,53,0,92,0,87,0 78,0,74,0,46,0,85,0,37,0,38,0 3,0,32,0,80,0,59,0,88,0,39,0 71,0,29,0,72,0,26,0,14,0,61,0 50,0,47,0,10,0,81,0,27,0,93,0 86,0,58,0,16,0,55,0,5,0,45,0 33,0,63,0,7,0,8,0,28,0,15,0 70,0,89,0,60,0,20,0,51,0,82,0 43,0,34,0,21,0,19,0,73,0,1,0 62,0,9,0,75,0,64,0,57,0,31,0 67,0,83,0,65,0,24,0,13,0,52,0 6,0,84,0,76,0,77,0,49,0,91,0 22,0,36,0,41,0,56,0,79,0,35,0 30,0,42,0,17,0,54,0,12,0,40,0 66,0,23,0,48,0,18,0,69,0,90,0 44,0,25,0,92,0,11,0,68,0,46,0 3,0,89,0,71,0,86,0,73,0,7,0 28,0,20,0,74,0,16,0,61,0,62,0 59,0,64,0,65,0,70,0,26,0,2,0 27,0,63,0,76,0,78,0,24,0,75,0 72,0,87,0,88,0,10,0,8,0,1,0 14,0,41,0,91,0,50,0,55,0,67,0 80,0,17,0,15,0,36,0,83,0,31,0 85,0,57,0,54,0,60,0,11,0,44,0 69,0,45,0,33,0,68,0,77,0,30,0 18,0,52,0,81,0,51,0,19,0,42,0 53,0,23,0,38,0,82,0,32,0,84,0 5,0,66,0,13,0,79,0,29,0,34,0 25,0,40,0,58,0,49,0,43,0,35,0 39,0,94,0,37,0,21,0,47,0,56,0 9,0,22,0,90,0,6,0,4,0,12,0 93,0,60,0,17,0,48,0,41,0,2,0 11,1,1,0,91,0,89,1,63,0,83,0 18,1,33,0,92,0,88,1,86,0,85,0 7,0,84,0,50,0,57,0,19,0,20,0 24,0,5,0,51,0,72,0,77,0,23,0 53,0,52,0,3,0,27,0,44,0,28,0 62,0,14,0,80,0,34,0,37,0,42,0 21,0,90,0,26,0,78,0,36,0,68,0 12,0,61,0,81,0,67,0,8,0,35,0 31,0,73,0,74,0,25,0,30,0,87,0 43,0,13,0,47,0,16,0,4,0,59,0 93,0,66,0,55,0,22,0,75,0,46,0 38,0,58,0,76,0,70,0,39,0,79,0 29,0,64,0,56,0,40,0,48,0,45,0 82,0,15,0,54,0,94,0,6,0,10,0 49,0,71,0,69,0,9,0,65,0,32,0 37,0,57,0,14,0,5,0,63,0,12,0 34,0,83,0,27,0,60,0,25,0,84,0 51,0,74,0,86,0,43,0,41,0,53,0 67,0,1,0,66,0,59,0,44,0,78,0 47,0,91,0,62,0,79,0,17,0,3,0 28,0,11,0,35,0,70,0,19,0,24,0 39,0,77,0,15,0,26,0,92,0,48,0 23,0,94,0,49,0,42,0,75,0,50,0 32,0,36,0,8,0,58,0,52,0,6,0 93,0,73,0,69,0,16,0,54,0,29,0 13,0,20,0,31,0,76,0,33,0,10,0 9,0,2,0,30,0,89,0,56,0,90,0 4,0,45,0,21,0,65,0,85,0,61,0 55,0,40,0,88,0,81,0,71,0,82,0 18,0,68,0,64,0,22,0,87,0,38,0 72,0,46,0,94,0,7,0,80,0,48,0 84,0,79,0,1,0,14,0,32,0,15,0 26,0,27,0,17,0,35,0,57,0,74,0 73,0,28,0,92,0,67,0,23,0,47,0 53,0,31,0,78,0,5,0,91,0,69,0 65,0,86,0,19,0,76,0,30,0,93,0 2,0,34,0,52,0,11,0,55,0,63,0 24,0,38,0,29,0,81,0,41,0,33,0 62,0,87,0,45,0,54,0,71,0,39,0 51,0,44,0,64,0,37,0,61,0,90,0 12,0,77,0,22,0,80,0,70,0,16,0 8,0,46,0,18,0,50,0,3,0,43,0 6,0,56,0,20,0,85,0,25,0,42,0 49,0,13,0,88,0,89,0,21,0,7,0 59,0,10,0,40,0,36,0,60,0,9,0 68,0,66,0,58,0,83,0,82,0,72,0 4,0,15,0,38,0,75,0,71,0,11,0 93,0,35,0,90,0,5,0,1,0,33,0 29,0,52,0,30,0,78,0,70,0,94,0 32,0,54,0,18,0,27,0,92,0,31,0 22,0,65,0,57,0,8,0,42,0,39,0 3,0,19,0,74,0,56,0,45,0,63,0 12,0,7,0,10,0,34,0,41,0,23,0 53,0,13,0,60,0,77,0,64,0,58,0 82,0,67,0,2,0,62,0,25,0,69,0 50,0,4,0,88,0,26,0,76,0,66,0 9,0,61,0,80,0,81,0,68,0,91,0 46,0,87,0,40,0,21,0,51,0,16,0 84,0,37,0,73,0,17,0,59,0,72,0 24,0,48,0,49,0,44,0,20,0,86,0 55,0,6,0,83,0,28,0,79,0,43,0 85,0,36,0,47,0,75,0,89,0,14,0 39,0,10,0,5,0,25,0,52,0,64,0 41,0,92,0,3,0,82,0,1,0,30,0 61,0,38,0,56,0,69,0,13,0,50,0 23,0,60,0,71,0,8,0,74,0,21,0 84,0,16,0,63,0,35,0,94,0,31,0 67,0,51,0,15,0,76,0,68,0,29,0 87,0,49,0,12,0,11,0,93,0,26,0 86,0,66,0,37,0,6,0,27,0,40,0 90,0,42,0,28,0,91,0,59,0,58,0 70,0,44,0,75,0,32,0,43,0,7,0 33,0,79,0,65,0,18,0,78,0,72,0 24,0,55,0,17,0,89,0,80,0,4,0 57,0,53,0,88,0,34,0,47,0,48,0 46,0,20,0,9,0,36,0,77,0,54,0 85,0,83,0,19,0,73,0,22,0,62,0 14,0,81,0,66,0,2,0,45,0,49,0 86,0,26,0,1,0,56,0,52,0,60,0 91,0,92,0,32,0,12,0,51,0,13,0 69,0,67,0,7,0,74,0,64,0,79,0 6,0,16,0,39,0,33,0,75,0,17,0 34,0,82,0,93,0,8,0,4,0,31,0 29,0,43,0,63,0,36,0,65,0,38,0 72,0,42,0,41,0,27,0,89,0,46,0 30,0,20,0,14,0,28,0,22,0,88,0 61,0,19,0,47,0,78,0,87,0,15,0 58,0,23,0,54,0,3,0,37,0,2,0 90,0,45,0,25,0,94,0,57,0,24,0 59,0,81,0,48,0,76,0,5,0,85,0 11,0,53,0,73,0,80,0,50,0,40,0 35,0,71,0,77,0,10,0,83,0,44,0 21,0,70,0,18,0,84,0,9,0,55,0 68,0,56,0,27,0,62,0,88,0,65,0 82,0,28,0,75,0,29,0,87,0,86,0 43,0,52,0,15,0,66,0,12,0,20,0 22,0,78,0,54,0,49,0,34,0,51,0 2,0,1,0,85,0,24,0,16,0,7,0 23,0,19,0,26,0,80,0,25,0,91,0 8,0,59,0,11,0,94,0,77,0,41,0 79,0,60,0,42,0,61,0,71,0,31,0 64,0,3,0,6,0,21,0,93,0,14,0 68,0,63,0,70,0,17,0,53,0,10,0 44,0,84,0,58,0,62,0,30,0,4,0 5,0,40,0,83,0,18,0,47,0,74,0 48,0,50,0,89,0,67,0,32,0,33,0 81,0,39,0,90,0,46,0,73,0,13,0 9,0,92,0,37,0,45,0,38,0,35,0 76,0,69,0,57,0,72,0,55,0,36,0 94,0,34,0,87,0,65,0,20,0,91,0 43,0,56,0,14,0,17,0,23,0,78,0 59,0,93,0,24,0,58,0,61,0,7,0 10,0,30,0,85,0,80,0,29,0,49,0 26,0,62,0,63,0,6,0,41,0,18,0 44,0,5,0,88,0,42,0,2,0,15,0 12,0,68,0,31,0,1,0,50,0,39,0 36,0,27,0,13,0,11,0,51,0,45,0 25,0,71,0,33,0,53,0,22,0,37,0 79,0,16,0,82,0,9,0,19,0,48,0 83,0,70,0,81,0,69,0,3,0,4,0 28,0,89,0,77,0,66,0,40,0,57,0 32,0,76,0,35,0,46,0,47,0,60,0 92,0,75,0,90,0,52,0,74,0,84,0 38,0,86,0,21,0,72,0,67,0,54,0 64,0,55,0,78,0,73,0,8,0,20,0 39,0,91,0,36,0,24,0,30,0,18,0 82,0,5,0,11,0,17,0,65,0,7,0 25,0,48,0,27,0,1,0,61,0,70,0 41,0,68,0,4,0,49,0,37,0,28,0 31,0,43,0,89,0,26,0,81,0,22,0 45,0,79,0,46,0,23,0,88,0,52,0 35,0,59,0,50,0,15,0,86,0,34,0 19,0,69,0,10,0,92,0,14,0,58,0 74,0,44,0,72,0,93,0,9,0,13,0 77,0,42,0,29,0,32,0,63,0,21,0 3,0,40,0,67,0,90,0,87,0,85,0 6,0,73,0,2,0,51,0,57,0,38,0 62,0,55,0,33,0,94,0,60,0,12,0 8,0,75,0,56,0,53,0,54,0,83,0 80,0,84,0,64,0,47,0,71,0,66,0 16,0,11,0,18,0,76,0,89,0,88,0 ================================================ FILE: schedules/94_12.csv ================================================ 93,0,23,0,24,0,39,0,91,0,29,0 88,0,6,0,11,0,75,0,85,0,59,0 10,0,62,0,20,0,70,0,14,0,40,0 35,0,78,0,5,0,94,0,52,0,58,0 30,0,37,0,50,0,82,0,4,0,53,0 22,0,9,0,77,0,83,0,79,0,57,0 1,0,28,0,90,0,54,0,15,0,2,0 7,0,32,0,76,0,33,0,16,0,80,0 60,0,45,0,13,0,18,0,43,0,49,0 41,0,46,0,48,0,86,0,34,0,19,0 3,0,55,0,72,0,12,0,25,0,71,0 8,0,92,0,68,0,42,0,38,0,31,0 21,0,65,0,44,0,89,0,84,0,51,0 67,0,69,0,64,0,73,0,74,0,47,0 61,0,87,0,26,0,17,0,63,0,81,0 56,0,66,0,82,0,36,0,27,0,88,0 70,0,93,0,15,0,9,0,6,0,78,0 46,0,4,0,45,0,28,0,29,0,53,0 24,0,75,0,77,0,54,0,16,0,19,0 94,0,30,0,2,0,86,0,43,0,60,0 20,0,52,0,59,0,84,0,91,0,32,0 25,0,92,0,3,0,5,0,18,0,39,0 33,0,74,0,50,0,87,0,21,0,51,0 71,0,90,0,38,0,34,0,56,0,79,0 85,0,69,0,89,0,42,0,14,0,7,0 58,0,36,0,22,0,26,0,44,0,13,0 11,0,61,0,80,0,73,0,65,0,66,0 72,0,8,0,49,0,76,0,64,0,81,0 55,0,40,0,63,0,37,0,47,0,23,0 31,0,1,0,41,0,12,0,10,0,57,0 27,0,62,0,48,0,83,0,17,0,67,0 68,0,88,0,53,0,35,0,19,0,20,0 54,0,56,0,7,0,4,0,70,0,3,0 25,0,34,0,82,0,42,0,84,0,94,0 86,0,73,0,14,0,38,0,18,0,77,0 30,0,69,0,28,0,6,0,26,0,8,0 91,0,21,0,47,0,80,0,90,0,9,0 81,0,92,0,71,0,23,0,32,0,65,0 89,0,55,0,17,0,13,0,41,0,33,0 58,0,11,0,50,0,1,0,45,0,48,0 15,0,62,0,29,0,27,0,61,0,72,0 5,0,57,0,67,0,2,0,68,0,36,0 49,0,10,0,52,0,24,0,37,0,22,0 85,0,12,0,60,0,63,0,74,0,78,0 75,0,51,0,31,0,83,0,66,0,40,0 43,0,87,0,76,0,35,0,39,0,64,0 93,0,16,0,59,0,44,0,46,0,79,0 25,0,6,0,56,0,13,0,20,0,47,0 9,0,19,0,89,0,32,0,94,0,82,0 77,0,80,0,42,0,71,0,45,0,62,0 11,0,30,0,33,0,49,0,57,0,29,0 61,0,60,0,21,0,67,0,38,0,10,0 91,0,81,0,22,0,50,0,86,0,88,0 7,0,90,0,78,0,36,0,48,0,84,0 51,0,16,0,15,0,58,0,8,0,34,0 31,0,3,0,64,0,37,0,44,0,14,0 5,0,59,0,23,0,17,0,76,0,28,0 92,0,85,0,87,0,40,0,41,0,52,0 4,0,2,0,69,0,79,0,75,0,93,0 74,0,18,0,65,0,24,0,35,0,27,0 63,0,46,0,72,0,70,0,1,0,83,0 73,0,12,0,43,0,54,0,26,0,68,0 55,0,39,0,78,0,53,0,66,0,77,0 32,0,8,0,89,0,50,0,60,0,62,0 9,0,29,0,17,0,37,0,20,0,58,0 16,0,40,0,94,0,36,0,11,0,38,0 10,0,84,0,19,0,64,0,4,0,13,0 51,0,27,0,2,0,69,0,71,0,41,0 76,0,65,0,14,0,46,0,90,0,30,0 18,0,68,0,83,0,85,0,91,0,56,0 28,0,70,0,55,0,88,0,80,0,24,0 31,0,79,0,86,0,25,0,15,0,45,0 44,0,49,0,39,0,82,0,1,0,6,0 73,0,75,0,7,0,34,0,63,0,87,0 33,0,59,0,54,0,92,0,35,0,67,0 66,0,47,0,42,0,12,0,5,0,81,0 53,0,48,0,43,0,22,0,61,0,93,0 23,0,21,0,72,0,3,0,52,0,57,0 26,0,83,0,38,0,74,0,76,0,71,0 9,0,18,0,30,0,16,0,64,0,55,0 14,0,49,0,68,0,51,0,94,0,4,0 39,0,11,0,63,0,31,0,56,0,69,0 85,0,79,0,1,0,37,0,73,0,84,0 34,0,35,0,45,0,10,0,60,0,17,0 44,0,5,0,41,0,7,0,20,0,61,0 53,0,67,0,52,0,75,0,15,0,80,0 92,0,72,0,29,0,78,0,28,0,21,0 32,0,88,0,87,0,42,0,54,0,93,0 82,0,46,0,62,0,58,0,12,0,74,0 66,0,8,0,19,0,25,0,22,0,23,0 36,0,65,0,50,0,43,0,77,0,47,0 24,0,90,0,6,0,86,0,33,0,27,0 81,0,70,0,48,0,57,0,59,0,13,0 91,0,26,0,40,0,89,0,3,0,2,0 39,0,28,0,68,0,72,0,16,0,60,0 42,0,73,0,4,0,21,0,55,0,15,0 84,0,54,0,31,0,74,0,5,0,9,0 80,0,94,0,10,0,23,0,56,0,30,0 19,0,14,0,36,0,8,0,87,0,11,0 34,0,44,0,88,0,78,0,69,0,83,0 17,0,58,0,71,0,70,0,86,0,53,0 79,0,3,0,67,0,46,0,24,0,32,0 81,0,7,0,52,0,25,0,1,0,93,0 65,0,12,0,40,0,48,0,13,0,49,0 77,0,20,0,89,0,27,0,76,0,92,0 47,0,35,0,22,0,62,0,2,0,85,0 45,0,41,0,64,0,75,0,82,0,90,0 57,0,51,0,37,0,6,0,61,0,18,0 63,0,66,0,91,0,38,0,33,0,43,0 59,0,29,0,56,0,26,0,50,0,19,0 68,0,32,0,17,0,44,0,10,0,74,0 67,0,73,0,88,0,49,0,31,0,23,0 87,0,71,0,13,0,78,0,30,0,20,0 84,0,16,0,70,0,69,0,92,0,86,0 85,0,93,0,58,0,64,0,77,0,21,0 61,0,40,0,82,0,7,0,8,0,35,0 22,0,6,0,94,0,72,0,45,0,65,0 48,0,42,0,76,0,2,0,63,0,18,0 79,0,52,0,50,0,27,0,12,0,28,0 36,0,33,0,1,0,75,0,9,0,3,0 80,0,38,0,46,0,39,0,37,0,81,0 53,0,47,0,60,0,29,0,51,0,54,0 24,0,41,0,66,0,14,0,26,0,15,0 43,0,83,0,59,0,90,0,89,0,25,0 91,0,34,0,5,0,11,0,62,0,4,0 57,0,93,0,19,0,55,0,65,0,92,0 13,0,86,0,85,0,76,0,67,0,72,0 18,0,23,0,79,0,68,0,33,0,58,0 9,0,44,0,56,0,45,0,8,0,12,0 22,0,78,0,1,0,17,0,80,0,40,0 70,0,37,0,36,0,42,0,60,0,41,0 3,0,15,0,77,0,30,0,88,0,63,0 64,0,61,0,34,0,89,0,31,0,24,0 49,0,71,0,35,0,50,0,14,0,75,0 38,0,27,0,47,0,59,0,4,0,87,0 83,0,74,0,2,0,11,0,55,0,52,0 48,0,69,0,21,0,25,0,32,0,53,0 54,0,91,0,6,0,46,0,66,0,7,0 26,0,84,0,90,0,57,0,62,0,39,0 10,0,43,0,29,0,82,0,16,0,5,0 51,0,28,0,81,0,73,0,94,0,20,0 61,0,13,0,42,0,1,0,50,0,23,0 86,0,75,0,78,0,89,0,37,0,68,0 63,0,4,0,12,0,92,0,36,0,24,0 38,0,15,0,19,0,18,0,17,0,69,0 3,0,71,0,7,0,59,0,47,0,58,0 34,0,27,0,32,0,55,0,85,0,26,0 87,0,25,0,49,0,70,0,77,0,91,0 84,0,45,0,14,0,2,0,88,0,33,0 76,0,94,0,53,0,44,0,57,0,66,0 67,0,60,0,90,0,82,0,22,0,11,0 5,0,56,0,72,0,51,0,73,0,93,0 39,0,20,0,79,0,8,0,65,0,54,0 43,0,16,0,6,0,52,0,62,0,31,0 41,0,83,0,35,0,81,0,21,0,30,0 80,0,74,0,64,0,48,0,29,0,40,0 28,0,46,0,25,0,9,0,10,0,85,0 61,0,86,0,58,0,55,0,49,0,36,0 68,0,76,0,69,0,82,0,24,0,3,0 92,0,17,0,88,0,50,0,94,0,90,0 26,0,51,0,79,0,78,0,42,0,11,0 93,0,31,0,33,0,20,0,71,0,60,0 37,0,66,0,16,0,45,0,83,0,87,0 5,0,8,0,64,0,1,0,53,0,91,0 65,0,62,0,9,0,41,0,59,0,63,0 89,0,30,0,54,0,48,0,38,0,52,0 29,0,35,0,32,0,70,0,22,0,73,0 6,0,80,0,13,0,14,0,34,0,2,0 84,0,47,0,18,0,72,0,28,0,10,0 75,0,57,0,23,0,46,0,43,0,27,0 44,0,81,0,4,0,40,0,77,0,67,0 39,0,12,0,15,0,19,0,21,0,7,0 74,0,42,0,16,0,56,0,53,0,90,0 38,0,78,0,49,0,3,0,41,0,62,0 29,0,1,0,86,0,87,0,69,0,65,0 24,0,2,0,25,0,17,0,73,0,30,0 26,0,82,0,59,0,80,0,31,0,72,0 63,0,54,0,27,0,68,0,64,0,22,0 55,0,60,0,75,0,48,0,91,0,44,0 70,0,52,0,47,0,76,0,19,0,45,0 46,0,40,0,71,0,88,0,5,0,21,0 84,0,77,0,12,0,23,0,6,0,35,0 57,0,14,0,58,0,28,0,32,0,56,0 89,0,10,0,36,0,81,0,79,0,15,0 51,0,11,0,7,0,43,0,9,0,92,0 85,0,4,0,83,0,39,0,61,0,33,0 94,0,37,0,13,0,93,0,74,0,8,0 20,0,50,0,66,0,34,0,18,0,67,0 ================================================ FILE: schedules/94_13.csv ================================================ 6,0,35,0,7,0,24,0,55,0,82,0 76,0,46,0,39,0,91,0,68,0,67,0 4,0,1,0,59,0,87,0,63,0,80,0 38,0,58,0,33,0,45,0,8,0,57,0 20,0,64,0,77,0,50,0,16,0,65,0 83,0,5,0,79,0,66,0,51,0,93,0 11,0,3,0,18,0,85,0,27,0,43,0 72,0,62,0,40,0,2,0,49,0,28,0 42,0,69,0,17,0,74,0,71,0,25,0 21,0,78,0,52,0,44,0,73,0,56,0 15,0,31,0,37,0,60,0,89,0,61,0 86,0,36,0,23,0,22,0,30,0,32,0 34,0,54,0,94,0,92,0,84,0,29,0 19,0,14,0,88,0,41,0,10,0,90,0 81,0,48,0,47,0,53,0,26,0,9,0 13,0,12,0,24,0,75,0,70,0,72,0 65,0,51,0,68,0,57,0,66,0,69,0 52,0,18,0,79,0,91,0,3,0,71,0 6,0,1,0,31,0,49,0,56,0,42,0 93,0,23,0,25,0,67,0,44,0,46,0 15,0,54,0,38,0,30,0,59,0,85,0 35,0,8,0,10,0,73,0,77,0,61,0 27,0,41,0,87,0,40,0,94,0,9,0 19,0,50,0,22,0,81,0,7,0,4,0 48,0,2,0,63,0,37,0,70,0,34,0 83,0,78,0,89,0,76,0,28,0,17,0 64,0,80,0,5,0,74,0,82,0,53,0 12,0,88,0,29,0,16,0,21,0,36,0 90,0,32,0,55,0,13,0,75,0,92,0 14,0,45,0,33,0,39,0,84,0,43,0 58,0,62,0,20,0,47,0,86,0,11,0 60,0,73,0,46,0,26,0,6,0,79,0 34,1,93,0,8,0,66,1,15,0,1,0 81,0,87,0,78,0,67,0,38,0,89,0 42,0,50,0,9,0,5,0,69,0,76,0 27,0,51,0,71,0,70,0,21,0,31,0 28,0,35,0,25,0,3,0,37,0,65,0 49,0,17,0,84,0,12,0,55,0,19,0 18,0,61,0,16,0,85,0,23,0,75,0 64,0,44,0,72,0,39,0,63,0,41,0 86,0,7,0,26,0,68,0,29,0,13,0 20,0,57,0,43,0,32,0,2,0,82,0 91,0,56,0,24,0,53,0,92,0,30,0 10,0,94,0,45,0,4,0,62,0,60,0 59,0,88,0,74,0,47,0,22,0,58,0 90,0,33,0,52,0,54,0,11,0,48,0 40,0,36,0,14,0,80,0,83,0,77,0 81,0,69,0,31,0,78,0,34,0,3,0 29,0,23,0,35,0,15,0,87,0,39,0 57,0,67,0,19,0,27,0,64,0,66,0 51,0,76,0,12,0,7,0,85,0,8,0 37,0,4,0,16,0,17,0,6,0,53,0 1,0,13,0,84,0,61,0,2,0,74,0 75,0,58,0,46,0,41,0,71,0,56,0 72,0,80,0,90,0,68,0,9,0,89,0 20,0,73,0,91,0,59,0,25,0,14,0 40,0,63,0,38,0,60,0,48,0,86,0 10,0,82,0,92,0,50,0,18,0,21,0 70,0,54,0,55,0,45,0,83,0,36,0 79,0,44,0,49,0,24,0,33,0,22,0 28,0,94,0,77,0,47,0,32,0,93,0 5,0,30,0,65,0,26,0,11,0,43,0 42,0,62,0,39,0,88,0,52,0,57,0 3,0,6,0,4,0,76,0,14,0,29,0 73,0,48,0,68,0,64,0,56,0,85,0 81,0,2,0,80,0,51,0,18,0,58,0 9,0,83,0,10,0,86,0,1,0,34,0 8,0,69,0,91,0,84,0,90,0,75,0 36,0,28,0,47,0,92,0,87,0,21,0 63,0,25,0,30,0,94,0,16,0,55,0 24,0,66,0,78,0,74,0,11,0,45,0 22,0,37,0,41,0,52,0,12,0,5,0 31,0,71,0,67,0,72,0,77,0,53,0 32,0,40,0,46,0,35,0,19,0,54,0 13,0,50,0,44,0,15,0,62,0,17,0 89,0,23,0,65,0,59,0,33,0,82,0 26,0,38,0,61,0,27,0,93,0,49,0 7,0,70,0,43,0,20,0,88,0,79,0 60,0,8,0,21,0,42,0,30,0,91,0 81,0,55,0,34,0,68,0,52,0,16,0 22,0,51,0,94,0,58,0,39,0,48,0 9,0,41,0,11,0,84,0,4,0,36,0 37,0,47,0,10,0,78,0,64,0,13,0 40,0,31,0,29,0,25,0,50,0,45,0 49,0,74,0,87,0,32,0,65,0,44,0 71,0,57,0,86,0,5,0,59,0,6,0 88,0,70,0,33,0,28,0,61,0,80,0 27,0,89,0,1,0,69,0,79,0,14,0 53,0,3,0,12,0,23,0,73,0,82,0 62,0,18,0,26,0,56,0,19,0,83,0 66,0,46,0,72,0,42,0,38,0,43,0 54,0,92,0,93,0,63,0,7,0,75,0 77,0,15,0,76,0,24,0,90,0,20,0 85,0,35,0,2,0,17,0,60,0,67,0 11,0,80,0,16,0,10,0,91,0,31,0 9,0,30,0,51,0,13,0,49,0,37,0 47,0,41,0,23,0,57,0,1,0,55,0 50,0,56,0,79,0,59,0,36,0,8,0 25,0,6,0,21,0,66,0,62,0,61,0 3,0,84,0,58,0,7,0,44,0,83,0 70,0,39,0,5,0,46,0,4,0,90,0 68,0,22,0,17,0,38,0,93,0,87,0 45,0,82,0,69,0,67,0,86,0,94,0 77,0,85,0,48,0,89,0,92,0,19,0 52,0,75,0,60,0,64,0,43,0,28,0 15,0,2,0,53,0,42,0,27,0,78,0 14,0,65,0,24,0,54,0,71,0,81,0 34,0,76,0,40,0,73,0,88,0,18,0 12,0,74,0,33,0,63,0,35,0,20,0 26,0,29,0,17,0,32,0,72,0,1,0 36,0,57,0,13,0,49,0,31,0,46,0 55,0,69,0,77,0,61,0,22,0,56,0 47,0,83,0,50,0,41,0,68,0,6,0 45,0,5,0,2,0,44,0,19,0,91,0 89,0,87,0,79,0,42,0,58,0,25,0 75,0,40,0,66,0,10,0,53,0,39,0 11,0,14,0,7,0,35,0,34,0,60,0 37,0,81,0,82,0,8,0,88,0,27,0 72,0,33,0,92,0,3,0,16,0,51,0 30,0,29,0,64,0,70,0,78,0,62,0 12,0,48,0,32,0,18,0,15,0,59,0 28,0,73,0,52,0,24,0,4,0,38,0 43,0,74,0,76,0,23,0,94,0,71,0 80,0,85,0,84,0,86,0,65,0,93,0 90,0,63,0,21,0,20,0,67,0,26,0 54,0,91,0,39,0,9,0,81,0,77,0 60,0,57,0,82,0,25,0,22,0,83,0 7,0,87,0,53,0,41,0,69,0,62,0 16,0,75,0,49,0,48,0,14,0,35,0 30,0,45,0,27,0,5,0,47,0,72,0 2,0,24,0,17,0,36,0,94,0,33,0 19,0,52,0,1,0,59,0,76,0,70,0 93,0,18,0,89,0,73,0,74,0,29,0 26,0,56,0,28,0,10,0,23,0,84,0 90,0,64,0,12,0,38,0,31,0,79,0 85,0,32,0,71,0,37,0,66,0,50,0 9,0,63,0,61,0,65,0,58,0,78,0 6,0,8,0,92,0,68,0,40,0,11,0 34,0,43,0,13,0,21,0,80,0,67,0 55,0,3,0,15,0,86,0,46,0,88,0 42,0,51,0,44,0,20,0,54,0,4,0 59,0,39,0,27,0,24,0,16,0,62,0 90,0,25,0,47,0,2,0,56,0,7,0 76,0,48,0,84,0,82,0,79,0,72,0 9,0,31,0,74,0,83,0,85,0,52,0 60,0,10,0,71,0,29,0,81,0,49,0 87,0,30,0,19,0,34,0,33,0,6,0 11,0,77,0,88,0,17,0,75,0,38,0 45,0,15,0,73,0,37,0,92,0,1,0 63,0,57,0,18,0,13,0,53,0,28,0 36,0,61,0,67,0,5,0,3,0,40,0 51,0,86,0,41,0,26,0,35,0,89,0 70,0,42,0,22,0,14,0,94,0,68,0 43,0,78,0,91,0,55,0,93,0,50,0 20,0,80,0,23,0,66,0,54,0,8,0 4,0,21,0,58,0,32,0,69,0,64,0 46,0,65,0,34,0,12,0,44,0,47,0 73,0,7,0,71,0,33,0,15,0,9,0 67,0,83,0,59,0,75,0,37,0,29,0 28,0,11,0,63,0,19,0,51,0,82,0 13,0,3,0,42,0,45,0,77,0,41,0 89,0,53,0,70,0,39,0,50,0,49,0 8,0,5,0,24,0,87,0,48,0,31,0 58,0,69,0,2,0,10,0,30,0,93,0 88,0,85,0,62,0,91,0,14,0,32,0 4,0,68,0,64,0,12,0,1,0,43,0 21,0,55,0,38,0,79,0,76,0,65,0 84,0,20,0,46,0,78,0,18,0,22,0 94,0,66,0,56,0,35,0,81,0,72,0 57,0,74,0,16,0,40,0,54,0,26,0 60,0,6,0,90,0,36,0,44,0,80,0 27,0,17,0,25,0,23,0,92,0,52,0 61,0,24,0,19,0,86,0,42,0,29,0 11,0,82,0,93,0,39,0,71,0,13,0 41,0,64,0,49,0,91,0,15,0,34,0 22,0,31,0,75,0,62,0,73,0,65,0 1,0,94,0,85,0,46,0,21,0,33,0 32,0,74,0,70,0,38,0,10,0,3,0 14,0,55,0,44,0,8,0,9,0,67,0 80,0,52,0,30,0,79,0,45,0,63,0 81,0,61,0,53,0,36,0,20,0,76,0 51,0,17,0,59,0,43,0,40,0,90,0 47,0,66,0,89,0,84,0,16,0,60,0 28,0,68,0,54,0,35,0,27,0,58,0 25,0,5,0,78,0,6,0,77,0,18,0 86,0,92,0,83,0,12,0,87,0,2,0 4,0,56,0,72,0,57,0,37,0,7,0 26,0,48,0,23,0,69,0,50,0,88,0 53,0,79,0,8,0,94,0,19,0,13,0 67,0,65,0,15,0,10,0,52,0,51,0 73,0,66,0,14,0,47,0,17,0,63,0 36,0,34,0,38,0,62,0,71,0,35,0 44,0,20,0,29,0,28,0,55,0,85,0 49,0,33,0,68,0,75,0,21,0,5,0 3,0,54,0,64,0,89,0,22,0,2,0 86,0,91,0,27,0,48,0,4,0,74,0 69,0,72,0,83,0,46,0,11,0,59,0 32,0,16,0,39,0,80,0,78,0,7,0 93,0,56,0,88,0,45,0,9,0,12,0 25,0,18,0,60,0,24,0,1,0,41,0 31,0,43,0,92,0,58,0,6,0,76,0 37,0,42,0,84,0,23,0,40,0,81,0 50,0,61,0,87,0,90,0,30,0,57,0 82,0,26,0,34,0,77,0,70,0,66,0 ================================================ FILE: schedules/94_14.csv ================================================ 38,0,37,0,53,0,82,0,58,0,90,0 73,0,75,0,35,0,36,0,71,0,31,0 42,0,21,0,78,0,77,0,28,0,88,0 62,0,51,0,26,0,46,0,32,0,22,0 1,0,69,0,9,0,79,0,4,0,80,0 61,0,5,0,43,0,15,0,30,0,67,0 81,0,84,0,41,0,48,0,10,0,89,0 6,0,85,0,66,0,23,0,92,0,91,0 25,0,39,0,56,0,76,0,16,0,47,0 17,0,12,0,14,0,52,0,94,0,27,0 2,0,45,0,19,0,72,0,57,0,55,0 70,0,44,0,93,0,63,0,83,0,24,0 29,0,60,0,49,0,3,0,40,0,59,0 13,0,65,0,50,0,87,0,11,0,20,0 8,0,34,0,54,0,68,0,7,0,33,0 86,0,74,0,38,0,18,0,64,0,43,0 31,0,91,0,77,0,58,0,36,0,53,0 39,0,4,0,46,0,30,0,90,0,6,0 56,0,10,0,66,0,21,0,27,0,17,0 94,0,48,0,79,0,45,0,44,0,22,0 23,0,37,0,9,0,61,0,69,0,89,0 19,0,42,0,50,0,67,0,93,0,49,0 34,0,81,0,88,0,82,0,2,0,47,0 24,0,54,0,84,0,86,0,26,0,11,0 15,0,51,0,76,0,78,0,52,0,60,0 71,0,40,0,14,0,13,0,57,0,8,0 74,0,3,0,70,0,65,0,62,0,5,0 18,0,32,0,75,0,41,0,55,0,63,0 92,0,25,0,87,0,35,0,20,0,68,0 33,0,64,0,72,0,59,0,80,0,83,0 73,0,28,0,16,0,1,0,12,0,85,0 29,0,86,0,17,0,7,0,50,0,88,0 31,1,9,0,67,0,60,1,82,0,10,0 57,1,78,0,39,0,42,1,94,0,36,0 48,0,56,0,27,0,11,0,70,0,77,0 71,0,15,0,32,0,24,0,58,0,66,0 91,0,65,0,93,0,41,0,44,0,68,0 43,0,4,0,72,0,25,0,8,0,79,0 33,0,18,0,52,0,2,0,61,0,3,0 63,0,1,0,81,0,29,0,46,0,7,0 21,0,85,0,62,0,59,0,38,0,34,0 22,0,37,0,28,0,20,0,47,0,23,0 74,0,69,0,19,0,16,0,35,0,53,0 30,0,13,0,54,0,83,0,55,0,49,0 45,0,92,0,51,0,40,0,84,0,76,0 64,0,73,0,5,0,26,0,14,0,6,0 12,0,80,0,90,0,89,0,87,0,75,0 66,0,1,0,43,0,31,0,78,0,3,0 24,0,33,0,59,0,56,0,41,0,50,0 17,0,46,0,23,0,34,0,29,0,68,0 21,0,16,0,52,0,57,0,7,0,4,0 10,0,85,0,11,0,79,0,49,0,15,0 44,0,27,0,30,0,84,0,9,0,72,0 65,0,53,0,28,0,86,0,48,0,71,0 47,0,6,0,36,0,12,0,38,0,45,0 77,0,54,0,82,0,19,0,32,0,35,0 5,0,83,0,8,0,62,0,90,0,92,0 60,0,20,0,63,0,14,0,69,0,2,0 76,0,55,0,39,0,81,0,58,0,87,0 18,0,51,0,25,0,93,0,37,0,94,0 91,0,64,0,67,0,88,0,22,0,75,0 74,0,26,0,89,0,70,0,42,0,40,0 13,0,80,0,45,0,73,0,61,0,17,0 77,0,49,0,53,0,9,0,66,0,52,0 32,0,3,0,16,0,38,0,44,0,50,0 27,0,82,0,59,0,24,0,20,0,8,0 87,0,28,0,57,0,83,0,10,0,54,0 92,0,41,0,6,0,1,0,2,0,31,0 7,0,93,0,56,0,55,0,64,0,90,0 68,0,79,0,39,0,21,0,12,0,26,0 42,0,18,0,46,0,15,0,36,0,48,0 80,0,34,0,23,0,60,0,65,0,51,0 72,0,86,0,61,0,14,0,76,0,85,0 35,0,71,0,11,0,30,0,47,0,43,0 19,0,73,0,91,0,37,0,70,0,81,0 74,0,25,0,78,0,22,0,29,0,13,0 40,0,58,0,62,0,67,0,84,0,75,0 69,0,88,0,4,0,5,0,33,0,94,0 63,0,17,0,79,0,89,0,59,0,54,0 32,0,42,0,93,0,87,0,27,0,60,0 57,0,9,0,2,0,65,0,39,0,85,0 3,0,82,0,30,0,51,0,68,0,28,0 31,0,55,0,37,0,11,0,52,0,34,0 76,0,44,0,8,0,23,0,74,0,1,0 10,0,50,0,14,0,53,0,45,0,78,0 48,0,7,0,62,0,58,0,6,0,69,0 64,0,61,0,40,0,25,0,19,0,81,0 70,0,66,0,22,0,80,0,18,0,86,0 67,0,90,0,36,0,33,0,13,0,16,0 72,0,20,0,15,0,94,0,75,0,38,0 26,0,4,0,71,0,29,0,77,0,63,0 91,0,47,0,12,0,49,0,84,0,5,0 83,0,35,0,89,0,21,0,56,0,88,0 73,0,41,0,24,0,92,0,46,0,43,0 76,0,10,0,42,0,8,0,37,0,32,0 25,0,44,0,86,0,39,0,31,0,30,0 87,0,82,0,80,0,16,0,6,0,48,0 61,0,53,0,57,0,1,0,62,0,68,0 34,0,78,0,79,0,71,0,18,0,67,0 66,0,72,0,91,0,69,0,12,0,11,0 27,0,4,0,29,0,85,0,83,0,36,0 90,0,2,0,28,0,17,0,49,0,70,0 65,0,33,0,19,0,26,0,75,0,92,0 63,0,9,0,21,0,43,0,74,0,20,0 84,0,38,0,23,0,13,0,88,0,73,0 15,0,55,0,40,0,77,0,50,0,22,0 3,0,94,0,7,0,89,0,24,0,47,0 46,0,59,0,93,0,35,0,52,0,14,0 5,0,60,0,81,0,45,0,54,0,56,0 64,0,58,0,49,0,51,0,41,0,8,0 29,0,10,0,44,0,62,0,19,0,6,0 1,0,25,0,90,0,32,0,12,0,65,0 84,0,87,0,71,0,21,0,61,0,33,0 11,0,80,0,63,0,38,0,42,0,92,0 15,0,7,0,31,0,27,0,76,0,28,0 73,0,37,0,57,0,66,0,3,0,48,0 89,0,43,0,13,0,59,0,77,0,2,0 39,0,64,0,69,0,82,0,40,0,52,0 55,0,9,0,54,0,24,0,91,0,78,0 22,0,35,0,18,0,68,0,17,0,81,0 70,0,88,0,20,0,41,0,4,0,45,0 94,0,50,0,47,0,26,0,46,0,85,0 83,0,30,0,75,0,74,0,60,0,53,0 23,0,67,0,51,0,72,0,36,0,56,0 86,0,93,0,58,0,5,0,34,0,16,0 79,0,19,0,84,0,14,0,32,0,31,0 87,0,43,0,73,0,44,0,49,0,7,0 22,0,11,0,89,0,57,0,6,0,76,0 59,0,65,0,70,0,82,0,78,0,69,0 48,0,35,0,2,0,64,0,38,0,4,0 74,0,68,0,80,0,52,0,71,0,50,0 94,0,8,0,56,0,91,0,61,0,28,0 25,0,36,0,46,0,55,0,5,0,88,0 42,0,79,0,75,0,51,0,66,0,29,0 27,0,40,0,63,0,86,0,90,0,3,0 83,0,41,0,15,0,9,0,34,0,26,0 92,0,54,0,16,0,53,0,72,0,14,0 45,0,58,0,21,0,24,0,23,0,30,0 18,0,60,0,47,0,10,0,77,0,33,0 62,0,67,0,17,0,39,0,1,0,37,0 85,0,81,0,93,0,12,0,20,0,13,0 94,0,55,0,29,0,84,0,80,0,43,0 5,0,63,0,28,0,64,0,50,0,35,0 68,0,9,0,38,0,56,0,31,0,70,0 41,0,22,0,69,0,42,0,71,0,90,0 7,0,82,0,45,0,66,0,25,0,26,0 58,0,60,0,44,0,61,0,11,0,46,0 52,0,77,0,24,0,72,0,1,0,6,0 81,0,62,0,75,0,23,0,78,0,16,0 91,0,13,0,3,0,4,0,21,0,86,0 30,0,93,0,79,0,57,0,92,0,33,0 18,0,88,0,76,0,65,0,54,0,27,0 15,0,59,0,53,0,39,0,73,0,51,0 36,0,8,0,17,0,85,0,87,0,19,0 49,0,48,0,32,0,89,0,34,0,20,0 10,0,12,0,37,0,40,0,2,0,74,0 14,0,67,0,66,0,47,0,83,0,28,0 42,0,77,0,86,0,94,0,62,0,23,0 7,0,60,0,61,0,35,0,70,0,79,0 91,0,75,0,52,0,29,0,38,0,25,0 76,0,43,0,90,0,50,0,26,0,57,0 84,0,69,0,15,0,3,0,87,0,56,0 20,0,39,0,27,0,80,0,5,0,19,0 33,0,9,0,11,0,40,0,73,0,81,0 6,0,49,0,21,0,37,0,65,0,46,0 36,0,2,0,54,0,58,0,59,0,30,0 47,0,4,0,51,0,41,0,74,0,17,0 85,0,63,0,67,0,48,0,55,0,53,0 16,0,22,0,8,0,31,0,83,0,45,0 89,0,1,0,71,0,93,0,82,0,18,0 88,0,68,0,72,0,13,0,10,0,32,0 64,0,92,0,78,0,34,0,44,0,12,0 24,0,49,0,80,0,14,0,25,0,62,0 6,0,35,0,59,0,27,0,57,0,86,0 21,0,5,0,2,0,29,0,75,0,76,0 67,0,77,0,38,0,46,0,87,0,69,0 65,0,52,0,56,0,45,0,63,0,42,0 83,0,70,0,50,0,84,0,1,0,36,0 88,0,37,0,60,0,72,0,39,0,71,0 61,0,34,0,10,0,22,0,73,0,4,0 32,0,11,0,30,0,78,0,7,0,8,0 90,0,24,0,85,0,74,0,31,0,18,0 40,0,16,0,20,0,91,0,79,0,43,0 41,0,94,0,64,0,66,0,54,0,68,0 81,0,26,0,23,0,3,0,93,0,53,0 14,0,28,0,55,0,44,0,51,0,89,0 48,0,12,0,82,0,33,0,15,0,17,0 92,0,13,0,19,0,58,0,9,0,47,0 57,0,84,0,34,0,63,0,25,0,69,0 5,0,71,0,75,0,42,0,85,0,7,0 46,0,74,0,27,0,39,0,91,0,45,0 86,0,83,0,68,0,2,0,73,0,78,0 16,0,94,0,70,0,30,0,10,0,52,0 44,0,80,0,31,0,59,0,67,0,81,0 55,0,26,0,38,0,8,0,1,0,60,0 53,0,4,0,89,0,64,0,24,0,65,0 50,0,12,0,23,0,18,0,48,0,9,0 72,0,87,0,35,0,66,0,41,0,40,0 6,0,88,0,43,0,19,0,51,0,93,0 28,0,56,0,13,0,37,0,62,0,79,0 47,0,54,0,29,0,61,0,15,0,90,0 3,0,17,0,77,0,76,0,20,0,92,0 11,0,14,0,36,0,21,0,82,0,22,0 49,0,33,0,74,0,58,0,32,0,57,0 86,0,85,0,89,0,60,0,25,0,67,0 1,0,30,0,50,0,91,0,42,0,34,0 7,0,83,0,52,0,41,0,19,0,23,0 8,0,2,0,66,0,84,0,93,0,16,0 55,0,47,0,62,0,27,0,73,0,72,0 12,0,51,0,31,0,61,0,65,0,77,0 38,0,48,0,24,0,10,0,79,0,5,0 22,0,87,0,90,0,59,0,88,0,9,0 46,0,6,0,70,0,54,0,3,0,71,0 33,0,45,0,29,0,39,0,28,0,11,0 53,0,21,0,20,0,18,0,40,0,44,0 14,0,4,0,68,0,75,0,15,0,37,0 69,0,32,0,92,0,43,0,81,0,36,0 58,0,78,0,26,0,56,0,35,0,80,0 76,0,82,0,94,0,13,0,63,0,49,0 17,0,31,0,57,0,64,0,60,0,42,0 ================================================ FILE: schedules/94_2.csv ================================================ 33,0,25,0,64,0,31,0,50,0,43,0 80,0,27,0,72,0,71,0,22,0,92,0 91,0,29,0,14,0,26,0,11,0,69,0 16,0,90,0,55,0,86,0,37,0,19,0 6,0,83,0,87,0,54,0,82,0,42,0 75,0,30,0,20,0,79,0,51,0,59,0 1,0,9,0,36,0,88,0,47,0,53,0 60,0,40,0,34,0,7,0,15,0,68,0 89,0,21,0,44,0,76,0,74,0,2,0 12,0,48,0,81,0,45,0,57,0,65,0 38,0,10,0,32,0,52,0,85,0,4,0 41,0,63,0,35,0,56,0,78,0,84,0 49,0,39,0,24,0,66,0,73,0,3,0 70,0,5,0,23,0,77,0,67,0,61,0 18,0,93,0,8,0,28,0,46,0,94,0 13,0,58,0,47,0,62,0,17,0,50,0 71,0,26,0,54,0,9,0,74,0,37,0 57,0,29,0,2,0,60,0,33,0,51,0 22,0,69,0,76,0,20,0,16,0,25,0 86,0,82,0,64,0,91,0,44,0,27,0 41,0,3,0,92,0,14,0,59,0,12,0 24,0,6,0,43,0,78,0,23,0,55,0 7,0,87,0,65,0,80,0,75,0,93,0 31,0,5,0,94,0,19,0,81,0,32,0 30,0,4,0,70,0,83,0,58,0,1,0 84,0,77,0,42,0,46,0,21,0,36,0 52,0,68,0,13,0,48,0,88,0,8,0 45,0,11,0,85,0,73,0,40,0,90,0 10,0,89,0,28,0,63,0,39,0,62,0 56,0,17,0,67,0,15,0,38,0,53,0 72,0,61,0,66,0,34,0,18,0,35,0 79,0,2,1,50,1,49,0,69,1,14,1 ================================================ FILE: schedules/94_3.csv ================================================ 1,0,25,0,88,0,57,0,43,0,70,0 79,0,37,0,2,0,34,0,48,0,13,0 90,0,55,0,40,0,23,0,60,0,11,0 56,0,69,0,51,0,83,0,4,0,9,0 19,0,47,0,94,0,68,0,29,0,64,0 87,0,61,0,31,0,93,0,65,0,16,0 15,0,74,0,32,0,77,0,3,0,18,0 22,0,42,0,39,0,54,0,59,0,36,0 76,0,80,0,12,0,58,0,30,0,6,0 8,0,82,0,44,0,78,0,66,0,53,0 81,0,85,0,50,0,71,0,24,0,46,0 26,0,84,0,20,0,41,0,49,0,63,0 67,0,75,0,62,0,38,0,72,0,17,0 27,0,52,0,28,0,73,0,35,0,89,0 21,0,45,0,10,0,91,0,14,0,7,0 5,0,92,0,54,0,33,0,86,0,56,0 59,0,11,0,51,0,3,0,88,0,2,0 39,0,69,0,31,0,12,0,43,0,15,0 82,0,79,0,23,0,74,0,42,0,94,0 48,0,24,0,57,0,66,0,4,0,30,0 13,0,80,0,93,0,64,0,84,0,9,0 29,0,76,0,38,0,78,0,60,0,52,0 46,0,72,0,45,0,16,0,28,0,37,0 53,0,73,0,58,0,21,0,34,0,17,0 14,0,71,0,65,0,22,0,44,0,18,0 33,0,68,0,77,0,40,0,7,0,85,0 41,0,35,0,19,0,75,0,81,0,70,0 5,0,50,0,83,0,27,0,26,0,62,0 89,0,87,0,10,0,67,0,1,0,90,0 91,0,63,0,86,0,8,0,61,0,32,0 6,0,25,0,47,0,55,0,20,0,36,0 49,0,17,0,4,0,92,0,39,0,94,0 73,0,16,0,48,0,38,0,23,0,3,0 42,0,57,0,33,0,13,0,45,0,44,0 15,0,65,0,56,0,41,0,85,0,79,0 74,0,84,0,21,0,29,0,51,0,81,0 58,0,68,0,83,0,72,0,31,0,35,0 80,0,28,0,70,0,5,0,67,0,8,0 7,0,9,0,88,0,12,0,24,0,82,0 36,0,87,0,18,0,92,0,52,0,53,0 19,0,77,0,78,0,6,0,46,0,54,0 60,0,30,0,89,0,20,0,22,0,86,0 64,0,14,0,27,0,11,0,75,0,63,0 62,0,1,0,37,0,55,0,61,0,71,0 66,0,2,0,91,0,90,0,43,0,47,0 34,0,93,0,26,0,59,0,10,0,25,0 40,0,49,0,50,0,76,0,69,0,32,0 ================================================ FILE: schedules/94_4.csv ================================================ 9,0,19,0,88,0,63,0,36,0,51,0 37,0,70,0,10,0,50,0,28,0,57,0 59,0,14,0,60,0,93,0,64,0,92,0 32,0,25,0,35,0,39,0,61,0,24,0 5,0,33,0,15,0,49,0,73,0,76,0 66,0,65,0,12,0,68,0,74,0,47,0 75,0,83,0,90,0,1,0,44,0,21,0 82,0,80,0,22,0,26,0,54,0,48,0 31,0,69,0,7,0,46,0,72,0,13,0 45,0,11,0,94,0,2,0,16,0,34,0 87,0,27,0,67,0,6,0,78,0,20,0 85,0,52,0,71,0,23,0,62,0,29,0 81,0,91,0,18,0,41,0,43,0,58,0 8,0,55,0,79,0,89,0,40,0,56,0 84,0,53,0,3,0,30,0,86,0,42,0 38,0,17,0,14,0,77,0,4,0,15,0 64,0,66,0,73,0,36,0,37,0,31,0 44,0,63,0,11,0,7,0,59,0,65,0 74,0,60,0,27,0,34,0,9,0,35,0 23,0,10,0,20,0,1,0,61,0,80,0 68,0,16,0,48,0,46,0,39,0,88,0 90,0,89,0,51,0,67,0,70,0,18,0 6,0,5,0,26,0,62,0,8,0,94,0 86,0,76,0,82,0,17,0,29,0,45,0 4,0,69,0,42,0,79,0,57,0,19,0 54,0,55,0,30,0,81,0,33,0,92,0 58,0,85,0,50,0,75,0,72,0,87,0 91,0,93,0,83,0,71,0,28,0,24,0 43,0,56,0,49,0,77,0,52,0,84,0 21,0,40,0,3,0,25,0,47,0,2,0 32,0,41,0,53,0,22,0,78,0,12,0 38,0,64,0,20,0,13,0,44,0,94,0 82,1,68,0,37,0,67,1,59,0,1,0 17,0,57,0,61,0,90,0,6,0,92,0 89,0,27,0,62,0,19,0,16,0,14,0 60,0,39,0,81,0,87,0,4,0,31,0 26,0,45,0,52,0,50,0,83,0,15,0 29,0,25,0,30,0,46,0,34,0,73,0 9,0,71,0,66,0,7,0,54,0,56,0 86,0,13,0,41,0,10,0,24,0,21,0 80,0,70,0,88,0,33,0,40,0,84,0 28,0,77,0,22,0,58,0,55,0,3,0 63,0,74,0,78,0,91,0,42,0,8,0 53,0,79,0,49,0,38,0,11,0,51,0 12,0,36,0,76,0,85,0,93,0,35,0 2,0,72,0,65,0,5,0,18,0,32,0 75,0,47,0,23,0,48,0,43,0,69,0 71,0,50,0,1,0,39,0,30,0,19,0 25,0,7,0,87,0,89,0,10,0,83,0 22,0,46,0,15,0,90,0,40,0,86,0 77,0,78,0,33,0,60,0,68,0,29,0 91,0,16,0,6,0,79,0,73,0,3,0 56,0,64,0,58,0,82,0,63,0,35,0 61,0,72,0,45,0,74,0,59,0,51,0 52,0,75,0,80,0,67,0,53,0,66,0 47,0,54,0,57,0,18,0,14,0,49,0 8,0,84,0,28,0,41,0,11,0,36,0 62,0,38,0,12,0,43,0,55,0,37,0 44,0,23,0,9,0,17,0,26,0,2,0 69,0,34,0,88,0,32,0,20,0,76,0 21,0,85,0,94,0,81,0,70,0,65,0 92,0,24,0,48,0,31,0,42,0,27,0 93,0,13,0,67,0,4,0,5,0,82,0 ================================================ FILE: schedules/94_5.csv ================================================ 72,0,82,0,55,0,32,0,90,0,24,0 35,0,20,0,56,0,69,0,7,0,38,0 16,0,64,0,43,0,30,0,39,0,71,0 65,0,59,0,15,0,86,0,25,0,74,0 89,0,12,0,42,0,44,0,10,0,53,0 83,0,94,0,76,0,85,0,51,0,13,0 58,0,54,0,92,0,61,0,45,0,91,0 78,0,57,0,41,0,14,0,93,0,81,0 40,0,68,0,48,0,2,0,19,0,28,0 52,0,84,0,49,0,73,0,34,0,77,0 21,0,5,0,47,0,50,0,31,0,70,0 37,0,17,0,66,0,60,0,46,0,6,0 33,0,88,0,1,0,36,0,87,0,80,0 18,0,29,0,22,0,67,0,79,0,63,0 75,0,4,0,23,0,11,0,3,0,9,0 27,0,62,0,32,0,26,0,8,0,12,0 61,0,2,0,74,0,82,0,13,0,10,0 56,0,78,0,39,0,42,0,68,0,85,0 93,0,53,0,55,0,43,0,28,0,38,0 6,0,94,0,7,0,77,0,25,0,31,0 34,0,46,0,24,0,40,0,70,0,54,0 29,0,36,0,15,0,47,0,52,0,69,0 20,0,80,0,86,0,5,0,76,0,73,0 90,0,91,0,88,0,11,0,79,0,26,0 81,0,89,0,87,0,84,0,17,0,64,0 62,0,41,0,48,0,50,0,37,0,72,0 19,0,57,0,92,0,44,0,1,0,23,0 33,0,27,0,66,0,18,0,75,0,35,0 3,0,30,0,51,0,59,0,58,0,22,0 71,0,21,0,9,0,49,0,63,0,60,0 67,0,16,0,65,0,8,0,83,0,14,0 45,0,13,0,26,0,4,0,20,0,53,0 38,1,87,0,39,0,54,1,77,0,79,0 68,1,89,0,61,0,88,1,76,0,55,0 11,0,56,0,36,0,81,0,72,0,12,0 64,0,23,0,42,0,91,0,32,0,37,0 90,0,66,0,22,0,44,0,73,0,48,0 59,0,57,0,47,0,94,0,34,0,35,0 6,0,67,0,62,0,21,0,19,0,33,0 74,0,14,0,24,0,85,0,45,0,9,0 58,0,4,0,82,0,86,0,16,0,31,0 71,0,29,0,84,0,5,0,8,0,93,0 60,0,92,0,41,0,52,0,2,0,43,0 3,0,28,0,69,0,65,0,78,0,10,0 46,0,63,0,27,0,80,0,15,0,30,0 83,0,70,0,75,0,49,0,25,0,17,0 1,0,7,0,50,0,40,0,51,0,18,0 91,0,13,0,14,0,87,0,47,0,66,0 81,0,38,0,34,0,21,0,90,0,76,0 93,0,20,0,88,0,58,0,12,0,64,0 44,0,79,0,33,0,68,0,74,0,16,0 10,0,32,0,86,0,9,0,48,0,67,0 77,0,3,0,60,0,15,0,56,0,5,0 26,0,71,0,55,0,92,0,94,0,22,0 63,0,51,0,17,0,43,0,82,0,62,0 23,0,18,0,8,0,6,0,72,0,45,0 31,0,2,0,1,0,75,0,29,0,46,0 4,0,28,0,80,0,59,0,39,0,24,0 37,0,69,0,30,0,85,0,25,0,57,0 73,0,27,0,54,0,19,0,78,0,50,0 70,0,42,0,84,0,61,0,35,0,11,0 49,0,40,0,36,0,41,0,65,0,53,0 83,0,89,0,5,0,52,0,7,0,74,0 10,0,34,0,51,0,88,0,56,0,23,0 81,0,68,0,86,0,71,0,3,0,1,0 44,0,31,0,18,0,20,0,32,0,17,0 45,0,48,0,57,0,63,0,64,0,55,0 9,0,38,0,50,0,6,0,12,0,30,0 46,0,8,0,82,0,91,0,69,0,21,0 22,0,43,0,14,0,54,0,75,0,36,0 11,0,76,0,28,0,15,0,41,0,66,0 77,0,35,0,72,0,89,0,65,0,13,0 90,0,94,0,52,0,42,0,62,0,4,0 79,0,37,0,53,0,24,0,92,0,84,0 85,0,80,0,60,0,19,0,16,0,70,0 2,0,7,0,47,0,27,0,93,0,49,0 40,0,26,0,25,0,61,0,78,0,87,0 73,0,39,0,83,0,33,0,29,0,58,0 67,0,38,0,68,0,59,0,54,0,88,0 ================================================ FILE: schedules/94_6.csv ================================================ 65,0,40,0,56,0,68,0,52,0,21,0 3,0,82,0,63,0,25,0,15,0,1,0 36,0,14,0,12,0,69,0,91,0,73,0 57,0,31,0,66,0,75,0,20,0,78,0 27,0,28,0,35,0,4,0,80,0,19,0 90,0,30,0,81,0,41,0,74,0,62,0 46,0,94,0,54,0,43,0,72,0,34,0 83,0,16,0,49,0,5,0,18,0,26,0 17,0,47,0,45,0,60,0,11,0,53,0 38,0,85,0,89,0,86,0,7,0,58,0 88,0,51,0,64,0,37,0,6,0,33,0 55,0,77,0,23,0,84,0,29,0,44,0 13,0,87,0,59,0,70,0,76,0,8,0 9,0,79,0,67,0,48,0,93,0,42,0 71,0,22,0,50,0,10,0,61,0,92,0 32,0,39,0,5,0,2,0,24,0,65,0 78,0,94,0,16,0,68,0,1,0,35,0 62,0,12,0,43,0,80,0,85,0,17,0 64,0,75,0,60,0,21,0,28,0,72,0 7,0,25,0,56,0,90,0,36,0,83,0 74,0,37,0,69,0,70,0,86,0,23,0 82,0,89,0,67,0,45,0,59,0,6,0 30,0,77,0,11,0,20,0,61,0,33,0 27,0,29,0,41,0,49,0,40,0,24,0 71,0,55,0,2,0,3,0,4,0,46,0 13,0,22,0,93,0,52,0,54,0,18,0 73,0,19,0,48,0,50,0,63,0,47,0 51,0,32,0,8,0,42,0,66,0,91,0 39,0,26,0,58,0,31,0,14,0,9,0 79,0,87,0,53,0,10,0,84,0,57,0 88,0,38,0,44,0,15,0,34,0,81,0 76,0,12,0,72,0,92,0,67,0,27,0 78,0,69,0,30,0,64,0,3,0,89,0 60,0,24,0,80,0,71,0,83,0,77,0 43,0,52,0,16,0,70,0,50,0,41,0 85,0,46,0,59,0,91,0,90,0,23,0 86,0,20,0,6,0,40,0,39,0,17,0 84,0,7,0,31,0,37,0,5,0,63,0 42,0,88,0,21,0,4,0,74,0,73,0 66,0,45,0,15,0,94,0,28,0,76,0 44,0,48,0,65,0,51,0,11,0,75,0 47,0,25,0,57,0,22,0,58,0,81,0 1,0,55,0,92,0,32,0,33,0,79,0 93,0,29,0,14,0,19,0,87,0,2,0 18,0,10,0,34,0,8,0,36,0,82,0 35,0,26,0,56,0,38,0,53,0,54,0 62,0,61,0,68,0,9,0,13,0,49,0 59,0,15,0,20,0,50,0,64,0,12,0 75,0,86,0,91,0,30,0,80,0,45,0 72,0,66,0,4,0,69,0,85,0,41,0 89,0,5,0,76,0,1,0,60,0,74,0 43,0,24,0,92,0,7,0,14,0,51,0 33,0,17,0,90,0,84,0,19,0,18,0 65,0,70,0,25,0,42,0,46,0,26,0 31,0,83,0,94,0,52,0,62,0,29,0 36,0,40,0,2,0,81,0,63,0,77,0 23,0,88,0,13,0,79,0,71,0,27,0 87,0,67,0,47,0,61,0,16,0,56,0 55,0,58,0,49,0,10,0,35,0,73,0 32,0,34,0,21,0,78,0,6,0,53,0 37,0,38,0,11,0,82,0,93,0,39,0 9,0,57,0,8,0,54,0,44,0,28,0 48,0,3,0,70,0,68,0,22,0,66,0 81,0,4,0,1,0,64,0,31,0,45,0 79,0,80,0,72,0,74,0,26,0,7,0 62,0,14,0,33,0,40,0,59,0,25,0 24,0,36,0,23,0,87,0,89,0,75,0 51,0,50,0,67,0,58,0,34,0,90,0 77,0,39,0,18,0,15,0,78,0,42,0 63,0,17,0,71,0,56,0,49,0,44,0 19,0,82,0,9,0,21,0,69,0,20,0 2,0,73,0,53,0,68,0,43,0,8,0 22,0,29,0,86,0,16,0,65,0,88,0 47,0,28,0,30,0,37,0,13,0,55,0 41,0,57,0,46,0,12,0,5,0,38,0 48,0,84,0,61,0,32,0,54,0,27,0 3,0,93,0,94,0,60,0,92,0,85,0 10,0,6,0,76,0,91,0,83,0,11,0 52,0,44,0,74,0,35,0,66,0,67,0 9,0,18,0,81,0,43,0,87,0,71,0 62,0,22,0,51,0,23,0,72,0,56,0 68,0,28,0,59,0,86,0,24,0,31,0 45,0,50,0,40,0,88,0,7,0,46,0 90,0,54,0,39,0,79,0,73,0,70,0 34,0,4,0,60,0,57,0,16,0,30,0 27,0,33,0,38,0,47,0,3,0,8,0 69,0,84,0,92,0,80,0,49,0,2,0 35,0,89,0,91,0,77,0,93,0,21,0 63,0,11,0,52,0,78,0,58,0,12,0 42,0,64,0,17,0,41,0,82,0,94,0 36,0,37,0,26,0,76,0,32,0,20,0 15,0,83,0,61,0,65,0,53,0,14,0 10,0,29,0,1,0,48,0,85,0,13,0 75,0,6,0,19,0,25,0,5,0,55,0 ================================================ FILE: schedules/94_7.csv ================================================ 49,0,15,0,88,0,1,0,37,0,8,0 68,0,90,0,3,0,50,0,5,0,12,0 11,0,51,0,56,0,28,0,39,0,13,0 53,0,2,0,64,0,78,0,31,0,47,0 42,0,94,0,77,0,38,0,93,0,35,0 55,0,26,0,10,0,87,0,84,0,76,0 66,0,57,0,43,0,74,0,59,0,44,0 19,0,73,0,86,0,6,0,91,0,32,0 16,0,18,0,92,0,29,0,27,0,9,0 45,0,14,0,4,0,34,0,25,0,80,0 33,0,20,0,7,0,36,0,81,0,61,0 69,0,60,0,23,0,63,0,52,0,46,0 89,0,58,0,71,0,54,0,83,0,85,0 62,0,17,0,65,0,67,0,72,0,21,0 75,0,82,0,79,0,22,0,70,0,30,0 24,0,40,0,1,0,41,0,48,0,26,0 91,0,12,0,84,0,18,0,42,0,66,0 29,0,34,0,43,0,49,0,56,0,94,0 19,0,25,0,50,0,53,0,92,0,37,0 35,0,59,0,69,0,61,0,31,0,45,0 5,0,7,0,46,0,44,0,4,0,85,0 28,0,33,0,80,0,74,0,67,0,55,0 93,0,10,0,58,0,64,0,70,0,52,0 63,0,57,0,82,0,3,0,39,0,24,0 9,0,32,0,51,0,8,0,72,0,75,0 22,0,14,0,11,0,62,0,23,0,89,0 36,0,79,0,21,0,38,0,47,0,27,0 90,0,83,0,30,0,13,0,40,0,65,0 73,0,60,0,41,0,76,0,78,0,71,0 48,0,68,0,77,0,86,0,15,0,16,0 17,0,2,0,87,0,88,0,81,0,54,0 20,0,34,0,84,0,6,0,67,0,44,0 32,1,29,0,3,0,66,1,10,0,37,0 52,0,80,0,89,0,56,0,59,0,50,0 58,0,55,0,51,0,69,0,19,0,79,0 83,0,24,0,47,0,28,0,75,0,94,0 18,0,85,0,74,0,31,0,63,0,73,0 77,0,33,0,76,0,57,0,1,0,23,0 82,0,7,0,92,0,91,0,65,0,14,0 8,0,42,0,45,0,20,0,46,0,70,0 38,0,11,0,64,0,88,0,16,0,4,0 71,0,35,0,5,0,48,0,2,0,49,0 6,0,9,0,25,0,17,0,90,0,36,0 12,0,41,0,22,0,72,0,86,0,81,0 54,0,26,0,27,0,60,0,93,0,13,0 61,0,39,0,62,0,40,0,53,0,15,0 78,0,30,0,68,0,87,0,43,0,21,0 65,0,55,0,94,0,44,0,3,0,23,0 88,0,56,0,76,0,83,0,69,0,70,0 77,0,29,0,74,0,82,0,2,0,89,0 32,0,48,0,67,0,90,0,47,0,63,0 1,0,36,0,19,0,84,0,85,0,45,0 35,0,46,0,54,0,33,0,34,0,37,0 24,0,79,0,15,0,92,0,52,0,11,0 10,0,8,0,60,0,18,0,43,0,5,0 49,0,93,0,78,0,91,0,61,0,17,0 40,0,22,0,6,0,57,0,51,0,64,0 73,0,59,0,72,0,28,0,68,0,38,0 13,0,9,0,41,0,80,0,53,0,42,0 66,0,86,0,39,0,20,0,87,0,71,0 31,0,75,0,27,0,7,0,25,0,12,0 30,0,81,0,50,0,58,0,4,0,62,0 14,0,21,0,90,0,16,0,26,0,74,0 92,0,2,0,32,0,69,0,94,0,33,0 34,0,15,0,83,0,18,0,55,0,93,0 28,0,44,0,54,0,49,0,63,0,45,0 3,0,84,0,52,0,13,0,8,0,77,0 68,0,61,0,57,0,65,0,19,0,60,0 91,0,89,0,41,0,51,0,10,0,25,0 47,0,23,0,88,0,39,0,30,0,7,0 16,0,35,0,67,0,36,0,75,0,58,0 81,0,48,0,66,0,14,0,6,0,78,0 26,0,17,0,43,0,50,0,20,0,73,0 38,0,80,0,70,0,24,0,62,0,86,0 4,0,12,0,21,0,82,0,56,0,71,0 46,0,31,0,87,0,9,0,79,0,40,0 72,0,1,0,5,0,29,0,53,0,11,0 76,0,85,0,37,0,59,0,64,0,42,0 27,0,91,0,39,0,22,0,8,0,68,0 92,0,81,0,74,0,35,0,10,0,47,0 50,0,55,0,57,0,54,0,36,0,32,0 93,0,84,0,16,0,65,0,2,0,80,0 73,0,25,0,23,0,21,0,58,0,49,0 45,0,67,0,52,0,41,0,43,0,7,0 9,0,62,0,94,0,78,0,88,0,12,0 75,0,40,0,56,0,33,0,66,0,5,0 42,0,4,0,1,0,61,0,79,0,90,0 26,0,82,0,64,0,72,0,19,0,15,0 70,0,6,0,13,0,87,0,63,0,89,0 31,0,44,0,22,0,76,0,29,0,38,0 71,0,28,0,37,0,14,0,18,0,77,0 3,0,59,0,20,0,48,0,60,0,11,0 83,0,51,0,86,0,27,0,46,0,17,0 30,0,53,0,85,0,34,0,24,0,69,0 52,0,16,0,47,0,1,0,25,0,66,0 4,0,15,0,67,0,9,0,23,0,91,0 63,0,62,0,64,0,35,0,7,0,68,0 58,0,38,0,13,0,74,0,32,0,5,0 72,0,33,0,6,0,39,0,50,0,31,0 42,0,60,0,36,0,22,0,2,0,28,0 86,0,78,0,44,0,90,0,75,0,89,0 37,0,69,0,12,0,80,0,11,0,26,0 18,0,19,0,30,0,41,0,46,0,94,0 73,0,65,0,79,0,88,0,48,0,34,0 87,0,8,0,29,0,83,0,14,0,57,0 10,0,53,0,54,0,56,0,20,0,77,0 59,0,49,0,81,0,24,0,84,0,51,0 17,0,70,0,40,0,71,0,3,0,92,0 43,0,85,0,61,0,82,0,27,0,55,0 76,0,21,0,32,0,93,0,45,0,66,0 ================================================ FILE: schedules/94_8.csv ================================================ 49,0,13,0,62,0,42,0,79,0,2,0 5,0,53,0,11,0,89,0,71,0,86,0 3,0,24,0,82,0,4,0,35,0,48,0 43,0,85,0,33,0,52,0,7,0,81,0 56,0,63,0,55,0,77,0,19,0,45,0 57,0,15,0,47,0,80,0,92,0,39,0 90,0,1,0,34,0,83,0,6,0,66,0 32,0,30,0,91,0,25,0,65,0,29,0 23,0,60,0,88,0,41,0,69,0,50,0 12,0,68,0,76,0,70,0,27,0,21,0 94,0,84,0,59,0,74,0,37,0,44,0 51,0,26,0,20,0,54,0,46,0,18,0 22,0,87,0,78,0,64,0,9,0,14,0 17,0,40,0,16,0,38,0,28,0,36,0 10,0,58,0,8,0,73,0,72,0,93,0 75,0,61,0,80,0,31,0,67,0,49,0 5,0,33,0,45,0,6,0,35,0,25,0 13,0,57,0,48,0,89,0,7,0,66,0 11,0,15,0,32,0,42,0,76,0,23,0 70,0,44,0,2,0,34,0,18,0,60,0 54,0,62,0,30,0,19,0,82,0,53,0 85,0,69,0,77,0,79,0,17,0,65,0 16,0,43,0,87,0,63,0,12,0,1,0 36,0,71,0,39,0,73,0,20,0,90,0 78,0,31,0,50,0,86,0,10,0,91,0 93,0,29,0,4,0,61,0,94,0,26,0 27,0,72,0,92,0,9,0,84,0,88,0 52,0,64,0,3,0,37,0,8,0,46,0 40,0,21,0,74,0,22,0,41,0,56,0 68,0,28,0,59,0,51,0,14,0,81,0 38,0,24,0,55,0,47,0,67,0,58,0 75,0,43,0,53,0,83,0,48,0,77,0 23,1,63,0,65,0,33,1,80,0,71,0 73,1,70,0,78,0,19,1,6,0,11,0 86,0,44,0,93,0,54,0,27,0,7,0 84,0,31,0,17,0,3,0,60,0,89,0 94,0,45,0,69,0,16,0,57,0,62,0 42,0,8,0,18,0,29,0,85,0,5,0 67,0,46,0,91,0,40,0,76,0,81,0 59,0,22,0,72,0,38,0,32,0,20,0 14,0,2,0,41,0,1,0,25,0,37,0 92,0,82,0,58,0,75,0,56,0,13,0 10,0,83,0,9,0,4,0,47,0,74,0 39,0,68,0,30,0,87,0,34,0,24,0 35,0,64,0,36,0,50,0,79,0,61,0 21,0,49,0,51,0,88,0,66,0,15,0 26,0,52,0,90,0,55,0,12,0,28,0 8,0,6,0,22,0,60,0,76,0,62,0 29,0,69,0,1,0,78,0,48,0,84,0 73,0,46,0,41,0,82,0,32,0,89,0 7,0,71,0,4,0,17,0,45,0,14,0 13,0,38,0,34,0,43,0,86,0,3,0 27,0,74,0,2,0,23,0,35,0,81,0 36,0,33,0,37,0,53,0,51,0,92,0 52,0,75,0,10,0,11,0,16,0,66,0 25,0,94,0,39,0,28,0,49,0,58,0 72,0,12,0,47,0,42,0,64,0,54,0 19,0,40,0,50,0,90,0,93,0,85,0 20,0,15,0,83,0,61,0,63,0,70,0 59,0,88,0,79,0,87,0,55,0,80,0 18,0,21,0,31,0,30,0,57,0,77,0 91,0,24,0,9,0,44,0,5,0,26,0 68,0,56,0,48,0,65,0,67,0,36,0 6,0,23,0,94,0,46,0,10,0,43,0 2,0,86,0,58,0,52,0,4,0,22,0 1,0,7,0,8,0,53,0,50,0,38,0 39,0,35,0,78,0,42,0,63,0,40,0 11,0,47,0,14,0,34,0,49,0,85,0 73,0,30,0,81,0,17,0,12,0,80,0 76,0,29,0,83,0,31,0,88,0,28,0 55,0,62,0,66,0,32,0,33,0,9,0 37,0,61,0,60,0,27,0,57,0,65,0 91,0,41,0,77,0,84,0,70,0,51,0 54,0,5,0,67,0,21,0,90,0,87,0 93,0,3,0,59,0,71,0,92,0,16,0 13,0,24,0,74,0,64,0,69,0,19,0 44,0,20,0,82,0,45,0,68,0,79,0 15,0,89,0,25,0,72,0,56,0,18,0 26,0,17,0,35,0,75,0,32,0,8,0 57,0,73,0,88,0,53,0,22,0,63,0 55,0,48,0,50,0,39,0,14,0,76,0 34,0,33,0,54,0,41,0,94,0,78,0 67,0,70,0,62,0,1,0,52,0,92,0 3,0,58,0,6,0,29,0,9,0,12,0 47,0,61,0,82,0,77,0,7,0,2,0 16,0,90,0,18,0,68,0,74,0,86,0 83,0,56,0,60,0,5,0,49,0,59,0 25,0,85,0,36,0,84,0,13,0,23,0 46,0,65,0,38,0,87,0,15,0,31,0 80,0,51,0,24,0,40,0,45,0,72,0 79,0,81,0,89,0,37,0,10,0,21,0 64,0,93,0,28,0,75,0,20,0,91,0 66,0,71,0,42,0,19,0,26,0,27,0 43,0,11,0,69,0,44,0,4,0,30,0 32,0,88,0,12,0,56,0,78,0,2,0 70,0,53,0,23,0,58,0,59,0,17,0 41,0,67,0,9,0,57,0,86,0,35,0 14,0,74,0,80,0,52,0,29,0,82,0 13,0,21,0,65,0,16,0,6,0,39,0 22,0,49,0,77,0,24,0,37,0,93,0 51,0,50,0,27,0,87,0,3,0,73,0 61,0,18,0,40,0,84,0,33,0,11,0 19,0,44,0,36,0,83,0,46,0,72,0 20,0,81,0,42,0,92,0,55,0,69,0 63,0,90,0,76,0,79,0,94,0,7,0 4,0,91,0,89,0,62,0,38,0,85,0 25,0,71,0,75,0,54,0,68,0,60,0 45,0,31,0,66,0,43,0,8,0,47,0 26,0,1,0,10,0,15,0,64,0,30,0 28,0,5,0,61,0,48,0,34,0,22,0 33,0,29,0,17,0,44,0,57,0,56,0 87,0,84,0,86,0,42,0,6,0,82,0 80,0,19,0,7,0,20,0,35,0,21,0 4,0,55,0,37,0,78,0,23,0,16,0 71,0,83,0,18,0,12,0,69,0,91,0 25,0,73,0,43,0,59,0,24,0,62,0 63,0,68,0,89,0,50,0,47,0,26,0 48,0,49,0,46,0,90,0,70,0,45,0 77,0,34,0,27,0,58,0,15,0,36,0 65,0,11,0,81,0,8,0,54,0,88,0 92,0,76,0,38,0,10,0,41,0,5,0 66,0,64,0,2,0,94,0,67,0,85,0 14,0,40,0,53,0,13,0,32,0,60,0 9,0,51,0,93,0,31,0,52,0,39,0 30,0,79,0,72,0,74,0,3,0,75,0 28,0,23,0,19,0,1,0,33,0,73,0 ================================================ FILE: schedules/94_9.csv ================================================ 65,0,56,0,50,0,29,0,14,0,1,0 33,0,10,0,49,0,43,0,66,0,94,0 64,0,32,0,35,0,51,0,85,0,7,0 72,0,42,0,87,0,26,0,6,0,54,0 77,0,16,0,47,0,22,0,45,0,44,0 25,0,46,0,18,0,86,0,81,0,78,0 61,0,31,0,91,0,3,0,12,0,36,0 21,0,63,0,2,0,90,0,5,0,75,0 92,0,57,0,74,0,40,0,30,0,82,0 67,0,11,0,89,0,71,0,8,0,37,0 84,0,60,0,9,0,73,0,17,0,70,0 19,0,58,0,41,0,28,0,79,0,15,0 55,0,23,0,13,0,62,0,39,0,20,0 69,0,59,0,80,0,68,0,93,0,52,0 27,0,24,0,48,0,4,0,38,0,76,0 83,0,34,0,46,0,53,0,88,0,54,0 22,0,2,0,42,0,12,0,7,0,1,0 75,0,82,0,36,0,33,0,45,0,51,0 35,0,84,0,47,0,49,0,86,0,92,0 58,0,31,0,90,0,10,0,40,0,89,0 13,0,18,0,11,0,60,0,14,0,87,0 3,0,66,0,78,0,41,0,29,0,17,0 65,0,38,0,57,0,39,0,21,0,25,0 6,0,55,0,77,0,5,0,24,0,80,0 71,0,9,0,91,0,72,0,68,0,23,0 76,0,8,0,59,0,63,0,50,0,32,0 28,0,34,0,48,0,52,0,56,0,26,0 15,0,81,0,62,0,27,0,83,0,85,0 19,0,4,0,43,0,67,0,16,0,74,0 64,0,73,0,53,0,69,0,44,0,20,0 93,0,88,0,79,0,30,0,61,0,70,0 94,0,2,0,18,0,37,0,45,0,6,0 17,0,24,0,68,0,12,0,51,0,25,0 33,0,5,0,65,0,31,0,42,0,11,0 28,0,82,0,76,0,71,0,54,0,21,0 63,0,78,0,85,0,91,0,58,0,87,0 9,0,59,0,89,0,66,0,15,0,56,0 50,0,84,0,67,0,46,0,23,0,44,0 13,0,92,0,72,0,88,0,43,0,22,0 49,0,83,0,73,0,4,0,29,0,77,0 93,0,53,0,75,0,38,0,62,0,7,0 3,0,40,0,14,0,35,0,80,0,81,0 52,0,30,0,20,0,47,0,10,0,19,0 16,0,64,0,37,0,61,0,34,0,27,0 86,0,8,0,41,0,94,0,69,0,57,0 1,0,79,0,74,0,55,0,60,0,48,0 90,0,70,0,36,0,39,0,26,0,32,0 56,0,71,0,58,0,24,0,92,0,83,0 12,0,11,0,29,0,54,0,15,0,75,0 93,0,40,0,18,0,73,0,65,0,85,0 6,0,4,0,88,0,62,0,3,0,84,0 27,0,14,0,19,0,53,0,59,0,33,0 61,0,89,0,68,0,47,0,63,0,57,0 49,0,81,0,60,0,72,0,69,0,51,0 55,0,67,0,34,0,36,0,2,0,38,0 20,0,31,0,1,0,87,0,16,0,76,0 50,0,10,0,80,0,21,0,70,0,13,0 26,0,43,0,44,0,79,0,86,0,9,0 39,0,52,0,82,0,94,0,64,0,78,0 45,0,7,0,91,0,48,0,41,0,5,0 17,0,23,0,8,0,30,0,35,0,28,0 37,0,32,0,42,0,77,0,74,0,25,0 22,0,90,0,69,0,46,0,66,0,24,0 34,0,71,0,19,0,6,0,60,0,31,0 70,0,75,0,59,0,67,0,58,0,1,0 63,0,62,0,36,0,54,0,92,0,14,0 57,0,83,0,51,0,50,0,9,0,16,0 84,0,33,0,21,0,12,0,78,0,89,0 47,0,7,0,55,0,18,0,88,0,27,0 28,0,68,0,20,0,11,0,81,0,77,0 23,0,45,0,74,0,52,0,76,0,49,0 13,0,73,0,66,0,48,0,32,0,86,0 3,0,26,0,25,0,30,0,53,0,85,0 43,0,15,0,42,0,91,0,93,0,64,0 79,0,29,0,87,0,37,0,35,0,90,0 46,0,5,0,72,0,38,0,82,0,17,0 2,0,44,0,56,0,39,0,80,0,8,0 65,0,61,0,22,0,4,0,10,0,41,0 94,0,9,0,28,0,40,0,36,0,88,0 34,0,86,0,7,0,58,0,68,0,50,0 1,0,62,0,33,0,69,0,26,0,71,0 21,0,6,0,32,0,83,0,30,0,91,0 47,0,73,0,90,0,54,0,25,0,23,0 51,0,67,0,78,0,15,0,13,0,77,0 44,0,93,0,82,0,60,0,63,0,29,0 85,0,37,0,57,0,14,0,72,0,31,0 17,0,87,0,59,0,48,0,22,0,49,0 76,0,70,0,56,0,3,0,43,0,18,0 16,0,40,0,41,0,52,0,11,0,53,0 42,0,46,0,94,0,19,0,55,0,75,0 39,0,35,0,12,0,10,0,5,0,27,0 45,0,4,0,20,0,89,0,80,0,79,0 38,0,61,0,92,0,66,0,81,0,8,0 84,0,64,0,74,0,24,0,2,0,65,0 1,0,93,0,37,0,78,0,9,0,47,0 88,0,91,0,26,0,57,0,17,0,76,0 77,0,85,0,21,0,59,0,34,0,43,0 22,0,15,0,52,0,55,0,73,0,3,0 68,0,14,0,90,0,82,0,42,0,48,0 16,0,75,0,30,0,80,0,49,0,71,0 39,0,50,0,92,0,87,0,41,0,33,0 31,0,35,0,54,0,24,0,94,0,67,0 72,0,29,0,32,0,61,0,18,0,20,0 7,0,81,0,19,0,56,0,84,0,36,0 10,0,11,0,38,0,74,0,83,0,69,0 6,0,27,0,13,0,44,0,65,0,28,0 40,0,25,0,4,0,5,0,64,0,60,0 45,0,12,0,46,0,58,0,8,0,62,0 70,0,23,0,51,0,86,0,2,0,89,0 53,0,63,0,39,0,66,0,79,0,77,0 67,0,29,0,48,0,9,0,21,0,92,0 80,0,41,0,1,0,85,0,84,0,82,0 24,0,30,0,59,0,73,0,78,0,7,0 44,0,87,0,57,0,3,0,34,0,75,0 38,0,22,0,56,0,40,0,33,0,91,0 50,0,12,0,88,0,90,0,64,0,19,0 5,0,93,0,89,0,49,0,13,0,26,0 14,0,15,0,94,0,71,0,47,0,4,0 52,0,79,0,8,0,83,0,31,0,18,0 66,0,11,0,55,0,35,0,72,0,70,0 43,0,54,0,81,0,65,0,37,0,17,0 69,0,58,0,36,0,76,0,25,0,6,0 46,0,51,0,27,0,20,0,63,0,74,0 32,0,68,0,62,0,16,0,60,0,2,0 28,0,86,0,53,0,45,0,10,0,42,0 61,0,26,0,77,0,23,0,19,0,82,0 15,0,88,0,49,0,38,0,44,0,1,0 73,0,39,0,91,0,34,0,14,0,89,0 66,0,5,0,57,0,84,0,18,0,71,0 8,0,48,0,85,0,70,0,6,0,47,0 63,0,4,0,52,0,7,0,37,0,33,0 41,0,51,0,30,0,76,0,90,0,62,0 78,0,36,0,53,0,72,0,74,0,50,0 24,0,23,0,16,0,81,0,79,0,42,0 43,0,31,0,29,0,46,0,80,0,28,0 87,0,10,0,67,0,56,0,64,0,68,0 86,0,60,0,12,0,65,0,83,0,59,0 92,0,17,0,45,0,32,0,93,0,55,0 69,0,2,0,54,0,13,0,61,0,40,0 94,0,27,0,21,0,11,0,58,0,3,0 25,0,35,0,9,0,20,0,75,0,22,0 ================================================ FILE: schedules/95_1.csv ================================================ 91,0,79,0,33,0,82,0,43,0,53,0 55,0,69,0,74,0,52,0,2,0,51,0 92,0,3,0,62,0,22,0,23,0,4,0 11,0,85,0,27,0,68,0,94,0,83,0 76,0,38,0,47,0,30,0,86,0,42,0 35,0,15,0,46,0,32,0,67,0,6,0 84,0,60,0,93,0,90,0,88,0,57,0 8,0,80,0,81,0,36,0,65,0,77,0 78,0,16,0,63,0,7,0,87,0,45,0 28,0,14,0,19,0,50,0,41,0,18,0 64,0,24,0,95,0,1,0,31,0,25,0 26,0,29,0,75,0,21,0,71,0,20,0 5,0,48,0,40,0,70,0,17,0,12,0 13,0,56,0,61,0,66,0,58,0,34,0 54,0,73,0,9,0,37,0,89,0,49,0 72,0,59,0,10,0,44,0,39,0,65,1 ================================================ FILE: schedules/95_10.csv ================================================ 3,0,28,0,10,0,36,0,25,0,51,0 19,0,89,0,15,0,30,0,88,0,31,0 45,0,29,0,38,0,70,0,50,0,8,0 37,0,18,0,65,0,76,0,57,0,43,0 24,0,27,0,73,0,20,0,90,0,14,0 49,0,83,0,52,0,16,0,61,0,84,0 33,0,1,0,46,0,78,0,4,0,48,0 80,0,55,0,69,0,72,0,13,0,2,0 85,0,82,0,56,0,60,0,26,0,59,0 87,0,68,0,53,0,12,0,95,0,77,0 9,0,91,0,23,0,47,0,74,0,63,0 17,0,32,0,40,0,64,0,58,0,42,0 93,0,35,0,71,0,54,0,86,0,22,0 11,0,75,0,67,0,79,0,21,0,39,0 5,0,7,0,92,0,94,0,34,0,66,0 62,0,81,0,6,0,41,0,44,0,73,0 61,0,45,0,15,0,76,0,51,0,26,0 31,0,3,0,53,0,59,0,46,0,13,0 48,0,36,0,20,0,23,0,18,0,49,0 52,0,85,0,42,0,72,0,25,0,9,0 88,0,54,0,37,0,64,0,2,0,70,0 40,0,91,0,16,0,39,0,93,0,69,0 71,0,5,0,75,0,63,0,84,0,1,0 28,0,82,0,19,0,29,0,24,0,79,0 34,0,87,0,47,0,43,0,32,0,10,0 21,0,81,0,22,0,33,0,92,0,12,0 8,0,56,0,68,0,94,0,65,0,67,0 77,0,11,0,44,0,30,0,4,0,55,0 74,0,78,0,62,0,83,0,38,0,14,0 7,0,90,0,50,0,58,0,95,0,86,0 27,0,41,0,89,0,57,0,35,0,17,0 6,0,66,0,48,0,80,0,60,0,19,0 18,1,2,0,28,0,53,1,40,0,59,0 16,1,54,0,63,0,92,1,10,0,45,0 12,0,49,0,37,0,85,0,5,0,13,0 22,0,36,0,9,0,65,0,73,0,84,0 75,0,94,0,72,0,78,0,88,0,77,0 76,0,46,0,71,0,67,0,50,0,52,0 7,0,33,0,82,0,61,0,57,0,25,0 43,0,95,0,30,0,81,0,38,0,80,0 90,0,47,0,29,0,62,0,4,0,17,0 27,0,68,0,42,0,23,0,15,0,11,0 69,0,51,0,58,0,31,0,74,0,34,0 20,0,41,0,79,0,32,0,60,0,93,0 24,0,35,0,44,0,87,0,83,0,56,0 8,0,26,0,21,0,55,0,91,0,66,0 89,0,86,0,6,0,1,0,70,0,39,0 14,0,43,0,49,0,3,0,64,0,77,0 38,0,67,0,19,0,40,0,85,0,92,0 42,0,50,0,5,0,16,0,48,0,82,0 36,0,31,0,76,0,54,0,90,0,81,0 65,0,72,0,95,0,28,0,17,0,61,0 58,0,13,0,94,0,29,0,27,0,52,0 7,0,93,0,11,0,18,0,63,0,87,0 32,0,4,0,21,0,45,0,2,0,6,0 14,0,70,0,59,0,44,0,75,0,9,0 56,0,53,0,25,0,89,0,80,0,78,0 10,0,55,0,39,0,71,0,41,0,88,0 33,0,69,0,73,0,3,0,26,0,68,0 22,0,57,0,66,0,24,0,30,0,47,0 84,0,91,0,12,0,15,0,79,0,62,0 83,0,60,0,23,0,34,0,37,0,46,0 8,0,51,0,20,0,35,0,1,0,64,0 74,0,32,0,72,0,86,0,81,0,11,0 2,0,65,0,16,0,19,0,14,0,87,0 93,0,44,0,58,0,88,0,82,0,49,0 92,0,77,0,27,0,76,0,48,0,28,0 50,0,18,0,33,0,24,0,10,0,89,0 30,0,71,0,17,0,3,0,78,0,12,0 54,0,15,0,84,0,59,0,57,0,67,0 94,0,25,0,70,0,22,0,69,0,53,0 46,0,91,0,86,0,64,0,41,0,85,0 34,0,38,0,90,0,26,0,6,0,63,0 79,0,47,0,55,0,1,0,45,0,31,0 35,0,61,0,23,0,40,0,4,0,5,0 80,0,83,0,42,0,73,0,75,0,8,0 62,0,66,0,52,0,68,0,36,0,37,0 9,0,29,0,95,0,51,0,60,0,39,0 13,0,21,0,43,0,7,0,56,0,74,0 20,0,58,0,77,0,91,0,19,0,10,0 2,0,25,0,44,0,38,0,17,0,84,0 18,0,14,0,69,0,32,0,82,0,46,0 85,0,57,0,53,0,71,0,11,0,6,0 83,0,3,0,55,0,50,0,27,0,22,0 31,0,16,0,41,0,65,0,12,0,23,0 70,0,93,0,81,0,66,0,42,0,61,0 35,0,26,0,75,0,49,0,29,0,92,0 36,0,5,0,8,0,43,0,60,0,33,0 1,0,37,0,87,0,90,0,72,0,67,0 28,0,4,0,34,0,88,0,9,0,15,0 86,0,80,0,51,0,62,0,24,0,21,0 54,0,47,0,40,0,20,0,56,0,52,0 39,0,59,0,7,0,30,0,48,0,45,0 79,0,74,0,94,0,76,0,89,0,73,0 64,0,13,0,78,0,95,0,68,0,63,0 60,0,57,0,3,0,58,0,16,0,81,0 77,0,67,0,18,0,6,0,29,0,42,0 12,0,43,0,28,0,44,0,1,0,66,0 27,0,86,0,84,0,4,0,26,0,10,0 83,0,15,0,92,0,20,0,71,0,2,0 70,0,80,0,90,0,33,0,91,0,11,0 65,0,52,0,53,0,35,0,74,0,45,0 78,0,73,0,59,0,19,0,47,0,61,0 89,0,51,0,14,0,7,0,22,0,85,0 13,0,23,0,25,0,32,0,75,0,50,0 72,0,48,0,93,0,31,0,38,0,68,0 82,0,41,0,30,0,87,0,8,0,76,0 5,0,55,0,64,0,9,0,62,0,56,0 95,0,49,0,79,0,54,0,34,0,69,0 21,0,63,0,88,0,40,0,36,0,46,0 39,0,24,0,81,0,37,0,17,0,94,0 19,0,35,0,84,0,18,0,3,0,70,0 57,0,32,0,77,0,73,0,52,0,51,0 75,0,60,0,45,0,90,0,22,0,68,0 71,0,7,0,16,0,72,0,8,0,27,0 61,0,92,0,50,0,30,0,56,0,91,0 1,0,62,0,10,0,93,0,23,0,95,0 14,0,88,0,26,0,80,0,47,0,5,0 29,0,85,0,65,0,21,0,20,0,44,0 12,0,4,0,39,0,25,0,54,0,83,0 76,0,42,0,34,0,86,0,33,0,53,0 48,0,58,0,63,0,89,0,37,0,55,0 6,0,17,0,87,0,46,0,74,0,15,0 9,0,79,0,78,0,49,0,2,0,66,0 38,0,64,0,24,0,59,0,36,0,69,0 31,0,11,0,43,0,82,0,40,0,94,0 41,0,67,0,22,0,28,0,13,0,80,0 12,0,35,0,72,0,50,0,60,0,14,0 34,0,81,0,91,0,27,0,25,0,18,0 62,0,88,0,32,0,8,0,61,0,53,0 95,0,37,0,74,0,44,0,42,0,92,0 49,0,4,0,73,0,70,0,71,0,56,0 90,0,64,0,84,0,93,0,21,0,89,0 82,0,86,0,77,0,47,0,36,0,15,0 6,0,59,0,94,0,55,0,16,0,20,0 45,0,67,0,23,0,43,0,78,0,58,0 76,0,1,0,17,0,13,0,19,0,9,0 3,0,24,0,52,0,7,0,75,0,41,0 54,0,46,0,66,0,51,0,38,0,11,0 57,0,48,0,40,0,26,0,83,0,79,0 30,0,10,0,68,0,5,0,2,0,29,0 31,0,87,0,33,0,28,0,39,0,85,0 69,0,63,0,89,0,65,0,77,0,81,0 60,0,44,0,47,0,18,0,71,0,94,0 50,0,93,0,4,0,53,0,19,0,43,0 27,0,64,0,61,0,6,0,75,0,12,0 51,0,23,0,92,0,82,0,72,0,84,0 16,0,70,0,78,0,15,0,24,0,32,0 13,0,45,0,14,0,36,0,11,0,34,0 39,0,22,0,2,0,62,0,76,0,58,0 26,0,31,0,25,0,95,0,67,0,20,0 10,0,40,0,80,0,7,0,9,0,37,0 46,0,49,0,68,0,57,0,55,0,90,0 48,0,85,0,74,0,54,0,8,0,3,0 29,0,63,0,56,0,33,0,66,0,41,0 42,0,30,0,21,0,28,0,69,0,35,0 65,0,88,0,59,0,91,0,1,0,83,0 87,0,38,0,79,0,5,0,86,0,52,0 73,0,18,0,16,0,17,0,53,0,92,0 ================================================ FILE: schedules/95_11.csv ================================================ 35,0,3,0,82,0,6,0,86,0,23,0 70,0,89,0,21,0,58,0,17,0,30,0 84,0,31,0,56,0,63,0,9,0,40,0 32,0,47,0,24,0,80,0,2,0,39,0 93,0,22,0,65,0,94,0,73,0,81,0 26,0,88,0,91,0,34,0,69,0,28,0 68,0,38,0,12,0,44,0,90,0,14,0 64,0,20,0,41,0,46,0,60,0,87,0 78,0,19,0,53,0,66,0,7,0,49,0 36,0,59,0,37,0,10,0,95,0,18,0 48,0,33,0,1,0,76,0,61,0,79,0 52,0,57,0,51,0,43,0,27,0,50,0 15,0,54,0,5,0,71,0,77,0,72,0 67,0,4,0,83,0,92,0,74,0,8,0 75,0,85,0,55,0,25,0,11,0,16,0 45,0,42,0,13,0,29,0,62,0,9,0 60,0,90,0,17,0,82,0,19,0,80,0 12,0,22,0,47,0,58,0,6,0,37,0 14,0,1,0,28,0,86,0,24,0,64,0 87,0,30,0,26,0,59,0,35,0,7,0 5,0,40,0,21,0,51,0,53,0,88,0 57,0,23,0,89,0,95,0,38,0,31,0 54,0,76,0,68,0,43,0,67,0,3,0 66,0,92,0,42,0,33,0,52,0,71,0 65,0,70,0,2,0,16,0,91,0,72,0 84,0,69,0,79,0,36,0,75,0,50,0 73,0,39,0,4,0,46,0,18,0,63,0 56,0,45,0,85,0,48,0,94,0,41,0 10,0,34,0,32,0,8,0,62,0,93,0 83,0,81,0,11,0,15,0,78,0,29,0 49,0,25,0,27,0,77,0,44,0,20,0 13,0,55,0,54,0,74,0,61,0,59,0 68,1,7,0,95,0,64,1,17,0,65,0 72,1,1,0,37,0,21,1,67,0,23,0 33,1,90,0,46,0,86,0,31,0,69,0 16,0,4,0,66,0,14,0,30,0,60,0 24,0,39,0,56,0,10,0,88,0,76,0 62,0,85,0,81,0,92,0,89,0,26,0 3,0,41,0,52,0,75,0,93,0,70,0 29,0,22,0,38,0,35,0,5,0,74,0 73,0,80,0,57,0,53,0,36,0,9,0 34,0,18,0,12,0,55,0,83,0,51,0 63,0,47,0,45,0,78,0,79,0,27,0 28,0,50,0,15,0,32,0,58,0,25,0 94,0,13,0,43,0,84,0,6,0,20,0 40,0,82,0,49,0,42,0,87,0,48,0 11,0,8,0,71,0,44,0,61,0,2,0 91,0,19,0,52,0,77,0,64,0,23,0 93,0,33,0,7,0,22,0,54,0,80,0 10,0,39,0,55,0,38,0,86,0,60,0 62,0,72,0,53,0,46,0,75,0,14,0 90,0,26,0,58,0,66,0,74,0,41,0 28,0,3,0,20,0,56,0,79,0,37,0 13,0,82,0,76,0,70,0,5,0,4,0 36,0,89,0,42,0,1,0,27,0,83,0 50,0,35,0,77,0,81,0,21,0,47,0 18,0,2,0,92,0,43,0,30,0,40,0 84,0,48,0,32,0,65,0,67,0,19,0 6,0,44,0,88,0,16,0,78,0,95,0 87,0,57,0,61,0,24,0,34,0,63,0 25,0,8,0,17,0,59,0,29,0,45,0 12,0,73,0,69,0,15,0,85,0,49,0 68,0,9,0,91,0,94,0,71,0,51,0 31,0,22,0,79,0,11,0,14,0,52,0 56,0,23,0,75,0,42,0,58,0,43,0 81,0,74,0,28,0,27,0,82,0,33,0 32,0,1,0,6,0,53,0,60,0,92,0 72,0,36,0,78,0,3,0,4,0,38,0 18,0,16,0,17,0,93,0,50,0,13,0 89,0,10,0,12,0,67,0,87,0,45,0 21,0,76,0,41,0,80,0,29,0,91,0 51,0,85,0,63,0,20,0,90,0,59,0 34,0,35,0,44,0,54,0,73,0,84,0 46,0,68,0,15,0,8,0,66,0,47,0 48,0,5,0,9,0,64,0,55,0,26,0 62,0,65,0,49,0,30,0,88,0,86,0 25,0,40,0,95,0,83,0,19,0,61,0 11,0,77,0,70,0,94,0,57,0,39,0 37,0,69,0,24,0,7,0,71,0,31,0 2,0,93,0,63,0,28,0,53,0,23,0 4,0,91,0,32,0,56,0,12,0,54,0 84,0,92,0,16,0,22,0,68,0,87,0 52,0,72,0,80,0,89,0,55,0,20,0 38,0,6,0,50,0,64,0,62,0,59,0 61,0,36,0,14,0,43,0,47,0,41,0 30,0,19,0,8,0,57,0,42,0,85,0 51,0,78,0,70,0,33,0,69,0,95,0 24,0,48,0,90,0,13,0,25,0,35,0 27,0,67,0,7,0,60,0,73,0,11,0 65,0,83,0,79,0,44,0,5,0,46,0 1,0,3,0,9,0,18,0,88,0,81,0 29,0,58,0,94,0,34,0,71,0,40,0 74,0,76,0,37,0,45,0,77,0,86,0 26,0,15,0,17,0,31,0,49,0,39,0 21,0,75,0,2,0,82,0,66,0,10,0 14,0,20,0,95,0,93,0,42,0,35,0 72,0,28,0,7,0,48,0,8,0,51,0 50,0,41,0,30,0,55,0,78,0,67,0 65,0,3,0,27,0,61,0,92,0,69,0 60,0,18,0,33,0,57,0,84,0,58,0 59,0,77,0,22,0,56,0,53,0,89,0 39,0,29,0,64,0,54,0,79,0,90,0 80,0,44,0,94,0,23,0,46,0,26,0 6,0,15,0,21,0,9,0,76,0,34,0 70,0,38,0,87,0,19,0,1,0,47,0 88,0,68,0,45,0,82,0,36,0,31,0 12,0,81,0,86,0,2,0,52,0,25,0 73,0,71,0,75,0,83,0,13,0,32,0 4,0,17,0,11,0,24,0,62,0,40,0 37,0,85,0,5,0,43,0,66,0,91,0 74,0,49,0,10,0,63,0,16,0,3,0 41,0,59,0,92,0,34,0,79,0,72,0 42,0,76,0,47,0,51,0,60,0,65,0 20,0,23,0,9,0,8,0,22,0,50,0 93,0,55,0,82,0,1,0,56,0,15,0 69,0,2,0,58,0,14,0,13,0,87,0 86,0,44,0,57,0,32,0,7,0,21,0 6,0,31,0,61,0,28,0,70,0,18,0 27,0,46,0,54,0,10,0,40,0,85,0 81,0,95,0,67,0,91,0,75,0,39,0 78,0,25,0,64,0,74,0,89,0,73,0 83,0,77,0,24,0,84,0,38,0,66,0 30,0,71,0,48,0,88,0,17,0,12,0 35,0,68,0,53,0,52,0,4,0,37,0 19,0,29,0,63,0,26,0,43,0,33,0 62,0,16,0,94,0,90,0,36,0,5,0 49,0,11,0,92,0,45,0,80,0,50,0 51,0,23,0,10,0,79,0,81,0,13,0 1,0,95,0,74,0,85,0,34,0,2,0 66,0,44,0,72,0,40,0,69,0,22,0 42,0,61,0,17,0,67,0,38,0,46,0 71,0,14,0,25,0,57,0,65,0,56,0 73,0,29,0,31,0,75,0,48,0,77,0 55,0,59,0,19,0,4,0,94,0,21,0 27,0,88,0,32,0,70,0,37,0,64,0 60,0,43,0,9,0,28,0,83,0,49,0 30,0,91,0,90,0,15,0,11,0,3,0 78,0,87,0,8,0,18,0,86,0,80,0 20,0,47,0,54,0,45,0,16,0,26,0 53,0,82,0,41,0,39,0,84,0,12,0 58,0,63,0,62,0,52,0,76,0,7,0 89,0,93,0,6,0,5,0,24,0,68,0 36,0,35,0,32,0,33,0,17,0,85,0 74,0,31,0,72,0,94,0,42,0,50,0 30,0,66,0,34,0,64,0,81,0,56,0 95,0,13,0,46,0,28,0,21,0,11,0 61,0,86,0,51,0,26,0,4,0,22,0 14,0,37,0,10,0,48,0,92,0,15,0 78,0,62,0,83,0,57,0,91,0,82,0 24,0,70,0,7,0,12,0,20,0,29,0 63,0,80,0,69,0,77,0,1,0,68,0 18,0,44,0,89,0,75,0,76,0,19,0 33,0,3,0,73,0,5,0,2,0,45,0 39,0,40,0,36,0,8,0,52,0,6,0 16,0,67,0,79,0,58,0,35,0,27,0 90,0,87,0,43,0,65,0,53,0,55,0 38,0,88,0,9,0,54,0,25,0,41,0 23,0,49,0,71,0,47,0,84,0,59,0 60,0,85,0,61,0,93,0,29,0,72,0 56,0,18,0,69,0,74,0,21,0,62,0 82,0,95,0,22,0,63,0,30,0,32,0 26,0,73,0,50,0,68,0,10,0,70,0 77,0,4,0,79,0,2,0,7,0,42,0 94,0,53,0,67,0,33,0,24,0,15,0 5,0,20,0,86,0,19,0,11,0,34,0 92,0,45,0,51,0,64,0,44,0,58,0 41,0,57,0,81,0,54,0,49,0,37,0 71,0,43,0,39,0,1,0,35,0,78,0 8,0,31,0,60,0,13,0,12,0,3,0 66,0,87,0,25,0,76,0,23,0,36,0 48,0,46,0,52,0,16,0,9,0,59,0 14,0,91,0,27,0,55,0,6,0,17,0 80,0,40,0,75,0,38,0,65,0,28,0 47,0,88,0,93,0,84,0,89,0,90,0 83,0,64,0,21,0,68,0,72,0,33,0 ================================================ FILE: schedules/95_12.csv ================================================ 85,0,75,0,90,0,72,0,78,0,13,0 86,0,32,0,34,0,11,0,57,0,58,0 77,0,50,0,91,0,2,0,15,0,55,0 41,0,48,0,80,0,83,0,25,0,94,0 60,0,47,0,59,0,6,0,35,0,42,0 67,0,70,0,65,0,20,0,12,0,23,0 27,0,10,0,24,0,22,0,19,0,39,0 31,0,36,0,81,0,44,0,93,0,46,0 8,0,92,0,21,0,69,0,5,0,9,0 43,0,79,0,53,0,28,0,45,0,18,0 49,0,66,0,61,0,3,0,30,0,73,0 16,0,4,0,71,0,7,0,87,0,68,0 54,0,63,0,52,0,37,0,40,0,29,0 74,0,62,0,89,0,33,0,1,0,26,0 84,0,38,0,95,0,64,0,88,0,14,0 56,0,76,0,82,0,17,0,51,0,48,0 5,0,94,0,36,0,72,0,32,0,69,0 19,0,11,0,12,0,6,0,50,0,44,0 73,0,41,0,47,0,2,0,27,0,92,0 28,0,49,0,8,0,67,0,87,0,66,0 79,0,61,0,58,0,63,0,78,0,16,0 18,0,68,0,90,0,26,0,9,0,39,0 13,0,29,0,83,0,7,0,89,0,10,0 38,0,33,0,4,0,22,0,46,0,43,0 76,0,95,0,23,0,34,0,55,0,60,0 74,0,37,0,77,0,64,0,70,0,42,0 35,0,51,0,86,0,80,0,52,0,14,0 3,0,81,0,54,0,53,0,25,0,17,0 82,0,65,0,91,0,40,0,1,0,31,0 71,0,57,0,56,0,62,0,85,0,88,0 24,0,30,0,45,0,15,0,75,0,84,0 93,0,20,0,38,0,21,0,59,0,90,0 29,0,2,0,49,0,23,0,27,0,18,0 47,0,70,0,36,0,11,0,28,0,78,0 39,0,76,0,72,0,80,0,4,0,74,0 13,0,33,0,12,0,94,0,60,0,54,0 17,0,14,0,5,0,26,0,77,0,66,0 56,0,41,0,87,0,81,0,43,0,86,0 42,0,91,0,52,0,61,0,75,0,62,0 34,0,8,0,68,0,50,0,64,0,25,0 89,0,3,0,6,0,57,0,24,0,82,0 65,0,10,0,51,0,55,0,45,0,9,0 79,0,48,0,1,0,15,0,40,0,32,0 69,0,44,0,22,0,20,0,37,0,71,0 31,0,88,0,92,0,35,0,58,0,19,0 83,0,21,0,67,0,59,0,63,0,30,0 73,0,16,0,95,0,85,0,53,0,93,0 84,0,7,0,12,0,46,0,25,0,39,0 76,0,27,0,66,0,81,0,50,0,89,0 75,0,5,0,10,0,64,0,33,0,82,0 14,0,15,0,36,0,4,0,65,0,90,0 55,0,94,0,52,0,43,0,3,0,56,0 24,0,35,0,61,0,23,0,11,0,74,0 57,0,28,0,80,0,38,0,77,0,19,0 22,0,72,0,68,0,40,0,42,0,95,0 79,0,71,0,69,0,34,0,59,0,49,0 88,0,32,0,17,0,29,0,63,0,93,0 58,0,20,0,83,0,53,0,26,0,47,0 21,0,84,0,2,0,62,0,67,0,86,0 85,0,87,0,18,0,51,0,92,0,54,0 6,0,48,0,31,0,13,0,30,0,8,0 1,0,44,0,45,0,70,0,16,0,41,0 37,0,46,0,9,0,73,0,91,0,78,0 7,0,82,0,72,0,60,0,28,0,65,0 88,0,23,0,66,0,75,0,11,0,39,0 40,0,49,0,43,0,25,0,77,0,35,0 56,0,38,0,29,0,34,0,79,0,5,0 33,0,81,0,47,0,32,0,95,0,67,0 83,0,51,0,12,0,8,0,61,0,64,0 90,0,26,0,6,0,94,0,84,0,1,0 63,0,92,0,70,0,91,0,3,0,71,0 86,0,9,0,76,0,13,0,36,0,24,0 59,0,41,0,7,0,22,0,62,0,53,0 89,0,42,0,21,0,44,0,78,0,18,0 17,0,87,0,37,0,2,0,10,0,31,0 57,0,16,0,60,0,74,0,14,0,46,0 58,0,30,0,4,0,93,0,27,0,54,0 68,0,73,0,15,0,80,0,19,0,69,0 50,0,52,0,85,0,48,0,45,0,20,0 55,0,90,0,5,0,28,0,81,0,63,0 53,0,39,0,35,0,64,0,36,0,86,0 3,0,72,0,9,0,83,0,84,0,23,0 18,0,8,0,24,0,37,0,95,0,56,0 91,0,22,0,31,0,74,0,88,0,79,0 46,0,51,0,60,0,21,0,29,0,11,0 69,0,40,0,62,0,87,0,12,0,30,0 94,0,45,0,89,0,49,0,4,0,92,0 44,0,52,0,65,0,58,0,66,0,68,0 78,0,43,0,71,0,73,0,32,0,82,0 20,0,1,0,16,0,77,0,76,0,54,0 70,0,14,0,19,0,33,0,34,0,7,0 26,0,67,0,42,0,41,0,85,0,10,0 27,0,13,0,6,0,17,0,15,0,38,0 57,0,55,0,48,0,47,0,75,0,93,0 80,0,25,0,59,0,2,0,50,0,61,0 88,0,90,0,89,0,3,0,60,0,8,0 71,0,28,0,64,0,40,0,24,0,46,0 62,0,77,0,18,0,83,0,31,0,72,0 16,0,19,0,29,0,86,0,82,0,30,0 4,0,10,0,73,0,52,0,12,0,81,0 39,0,17,0,41,0,91,0,79,0,85,0 5,0,6,0,78,0,74,0,68,0,67,0 15,0,35,0,33,0,9,0,66,0,56,0 13,0,1,0,93,0,2,0,42,0,69,0 87,0,47,0,45,0,23,0,21,0,80,0 25,0,32,0,58,0,38,0,55,0,51,0 11,0,63,0,44,0,53,0,14,0,27,0 50,0,76,0,75,0,92,0,22,0,65,0 7,0,61,0,57,0,20,0,94,0,95,0 43,0,36,0,84,0,34,0,70,0,54,0 26,0,48,0,49,0,37,0,59,0,19,0 78,0,69,0,17,0,52,0,18,0,4,0 66,0,33,0,29,0,45,0,72,0,91,0 6,0,40,0,58,0,21,0,73,0,39,0 55,0,27,0,83,0,88,0,68,0,82,0 71,0,11,0,30,0,76,0,64,0,90,0 31,0,12,0,14,0,89,0,20,0,41,0 80,0,62,0,16,0,92,0,60,0,81,0 13,0,46,0,34,0,35,0,87,0,26,0 59,0,53,0,1,0,57,0,43,0,9,0 10,0,74,0,54,0,32,0,8,0,93,0 84,0,25,0,22,0,56,0,63,0,47,0 15,0,61,0,37,0,7,0,5,0,85,0 23,0,49,0,42,0,50,0,36,0,51,0 65,0,77,0,79,0,94,0,24,0,67,0 2,0,44,0,3,0,28,0,48,0,95,0 86,0,70,0,60,0,38,0,75,0,31,0 14,0,30,0,81,0,68,0,71,0,1,0 18,0,64,0,20,0,13,0,91,0,80,0 84,0,73,0,74,0,55,0,59,0,29,0 43,0,89,0,39,0,17,0,61,0,47,0 66,0,93,0,19,0,62,0,78,0,51,0 23,0,22,0,8,0,58,0,16,0,85,0 92,0,52,0,83,0,11,0,42,0,79,0 87,0,63,0,33,0,38,0,36,0,48,0 34,0,9,0,75,0,40,0,67,0,44,0 95,0,10,0,25,0,15,0,28,0,21,0 26,0,5,0,12,0,45,0,76,0,3,0 53,0,65,0,56,0,6,0,37,0,32,0 90,0,77,0,27,0,7,0,86,0,69,0 2,0,82,0,70,0,57,0,4,0,35,0 72,0,24,0,54,0,88,0,49,0,41,0 46,0,50,0,23,0,94,0,18,0,30,0 63,0,89,0,64,0,9,0,19,0,87,0 8,0,55,0,42,0,71,0,33,0,17,0 22,0,66,0,34,0,1,0,80,0,12,0 81,0,20,0,26,0,39,0,92,0,29,0 75,0,43,0,74,0,69,0,95,0,51,0 57,0,93,0,67,0,76,0,91,0,25,0 6,0,7,0,36,0,88,0,52,0,45,0 60,0,15,0,78,0,49,0,83,0,44,0 31,0,73,0,5,0,90,0,24,0,48,0 56,0,77,0,4,0,61,0,53,0,21,0 38,0,72,0,11,0,10,0,16,0,68,0 28,0,32,0,50,0,84,0,35,0,41,0 54,0,86,0,46,0,65,0,47,0,3,0 13,0,37,0,82,0,14,0,58,0,62,0 59,0,85,0,94,0,27,0,40,0,70,0 2,0,51,0,9,0,79,0,6,0,81,0 64,0,91,0,23,0,44,0,7,0,43,0 1,0,95,0,17,0,36,0,83,0,19,0 52,0,21,0,57,0,33,0,31,0,49,0 30,0,69,0,55,0,89,0,72,0,35,0 26,0,28,0,61,0,54,0,22,0,75,0 11,0,67,0,25,0,45,0,73,0,13,0 50,0,60,0,58,0,56,0,70,0,10,0 14,0,93,0,3,0,15,0,87,0,39,0 29,0,94,0,68,0,47,0,76,0,62,0 20,0,85,0,24,0,2,0,63,0,66,0 78,0,84,0,92,0,12,0,77,0,48,0 38,0,18,0,41,0,65,0,71,0,74,0 90,0,42,0,32,0,34,0,27,0,16,0 80,0,53,0,82,0,79,0,46,0,8,0 88,0,59,0,40,0,5,0,4,0,86,0 37,0,14,0,67,0,61,0,72,0,55,0 81,0,75,0,35,0,7,0,21,0,94,0 76,0,10,0,83,0,70,0,49,0,6,0 39,0,78,0,54,0,50,0,69,0,31,0 45,0,64,0,17,0,73,0,57,0,22,0 9,0,71,0,58,0,95,0,29,0,12,0 74,0,82,0,25,0,90,0,66,0,92,0 60,0,19,0,2,0,52,0,43,0,5,0 88,0,48,0,34,0,16,0,18,0,65,0 44,0,47,0,85,0,38,0,30,0,1,0 37,0,86,0,28,0,23,0,33,0,89,0 32,0,59,0,46,0,77,0,68,0,13,0 87,0,53,0,91,0,42,0,24,0,84,0 15,0,63,0,4,0,51,0,41,0,8,0 3,0,62,0,79,0,36,0,27,0,20,0 40,0,93,0,11,0,80,0,56,0,26,0 ================================================ FILE: schedules/95_13.csv ================================================ 84,0,90,0,57,0,65,0,70,0,2,0 35,0,61,0,3,0,34,0,78,0,77,0 49,0,44,0,95,0,22,0,56,0,75,0 16,0,87,0,82,0,33,0,23,0,69,0 7,0,58,0,18,0,25,0,83,0,91,0 32,0,63,0,31,0,28,0,37,0,21,0 14,0,54,0,79,0,89,0,36,0,93,0 46,0,50,0,64,0,67,0,51,0,12,0 66,0,53,0,27,0,42,0,80,0,55,0 71,0,4,0,52,0,11,0,15,0,20,0 17,0,30,0,60,0,6,0,19,0,39,0 45,0,47,0,41,0,5,0,62,0,48,0 68,0,8,0,92,0,1,0,72,0,10,0 29,0,13,0,43,0,24,0,74,0,73,0 81,0,38,0,94,0,40,0,88,0,26,0 86,0,76,0,9,0,85,0,59,0,33,0 77,0,80,0,22,0,90,0,14,0,91,0 75,0,65,0,37,0,78,0,15,0,87,0 39,0,42,0,28,0,49,0,4,0,35,0 27,0,71,0,36,0,51,0,41,0,7,0 60,0,79,0,53,0,34,0,8,0,64,0 89,0,12,0,13,0,84,0,44,0,6,0 74,0,19,0,47,0,92,0,25,0,38,0 3,0,85,0,46,0,69,0,26,0,30,0 70,0,61,0,40,0,76,0,21,0,55,0 57,0,59,0,45,0,67,0,93,0,63,0 31,0,81,0,72,0,17,0,43,0,82,0 56,0,32,0,73,0,11,0,10,0,88,0 9,0,54,0,83,0,95,0,16,0,29,0 1,0,5,0,24,0,52,0,18,0,86,0 94,0,20,0,50,0,48,0,2,0,58,0 23,0,66,0,36,0,62,0,68,0,12,0 51,1,25,0,33,0,80,0,37,0,13,0 65,0,67,0,4,0,22,0,76,0,92,0 91,0,69,0,40,0,75,0,45,0,30,0 77,0,59,0,89,0,38,0,60,0,41,0 71,0,8,0,47,0,82,0,93,0,61,0 1,0,42,0,34,0,83,0,63,0,74,0 7,0,26,0,70,0,64,0,5,0,44,0 35,0,90,0,10,0,29,0,27,0,31,0 87,0,55,0,46,0,54,0,73,0,86,0 11,0,2,0,6,0,81,0,62,0,9,0 15,0,3,0,66,0,57,0,17,0,50,0 24,0,53,0,72,0,28,0,56,0,94,0 88,0,78,0,18,0,68,0,43,0,49,0 23,0,19,0,21,0,95,0,58,0,14,0 84,0,79,0,16,0,20,0,48,0,85,0 32,0,52,0,89,0,39,0,26,0,82,0 61,0,47,0,46,0,91,0,36,0,7,0 44,0,92,0,41,0,35,0,86,0,80,0 1,0,11,0,93,0,31,0,40,0,13,0 54,0,15,0,8,0,30,0,33,0,2,0 83,0,38,0,87,0,28,0,5,0,51,0 58,0,90,0,62,0,24,0,71,0,60,0 3,0,74,0,55,0,16,0,88,0,59,0 14,0,27,0,9,0,43,0,32,0,65,0 10,0,69,0,63,0,18,0,95,0,81,0 20,0,53,0,49,0,6,0,76,0,73,0 56,0,34,0,52,0,19,0,42,0,70,0 4,0,75,0,66,0,94,0,79,0,67,0 77,0,68,0,45,0,85,0,37,0,17,0 72,0,48,0,64,0,23,0,57,0,29,0 21,0,84,0,25,0,22,0,50,0,39,0 12,0,15,0,28,0,78,0,91,0,55,0 83,0,32,0,81,0,44,0,46,0,33,0 62,0,43,0,20,0,80,0,10,0,89,0 90,0,13,0,86,0,42,0,95,0,8,0 14,0,11,0,67,0,34,0,49,0,54,0 68,0,3,0,9,0,24,0,70,0,75,0 94,0,29,0,60,0,1,0,7,0,16,0 50,0,84,0,30,0,74,0,23,0,41,0 61,0,39,0,92,0,31,0,59,0,12,0 17,0,69,0,77,0,64,0,58,0,65,0 71,0,76,0,48,0,63,0,25,0,52,0 40,0,53,0,36,0,19,0,4,0,87,0 73,0,51,0,21,0,47,0,26,0,35,0 18,0,85,0,6,0,22,0,27,0,93,0 82,0,56,0,57,0,78,0,45,0,38,0 88,0,72,0,37,0,2,0,5,0,79,0 49,0,8,0,23,0,66,0,9,0,31,0 61,0,44,0,60,0,11,0,84,0,42,0 39,0,15,0,76,0,41,0,62,0,29,0 67,0,91,0,68,0,19,0,53,0,48,0 12,0,40,0,32,0,47,0,90,0,16,0 80,0,81,0,4,0,73,0,93,0,3,0 36,0,33,0,28,0,75,0,57,0,18,0 22,0,21,0,70,0,89,0,17,0,27,0 5,0,43,0,95,0,82,0,46,0,77,0 34,0,94,0,59,0,37,0,51,0,10,0 78,0,13,0,30,0,7,0,92,0,79,0 65,0,6,0,54,0,38,0,71,0,1,0 58,0,74,0,85,0,52,0,72,0,87,0 26,0,86,0,14,0,20,0,45,0,66,0 35,0,69,0,50,0,56,0,63,0,88,0 25,0,2,0,24,0,55,0,83,0,64,0 42,0,91,0,3,0,23,0,89,0,76,0 4,0,40,0,37,0,84,0,17,0,29,0 67,0,33,0,10,0,30,0,21,0,5,0 51,0,65,0,95,0,60,0,68,0,31,0 19,0,71,0,9,0,72,0,77,0,44,0 86,0,39,0,16,0,43,0,58,0,6,0 45,0,18,0,79,0,73,0,12,0,70,0 46,0,2,0,52,0,41,0,13,0,28,0 8,0,7,0,75,0,34,0,80,0,32,0 1,0,22,0,88,0,64,0,66,0,61,0 93,0,92,0,94,0,83,0,69,0,15,0 27,0,50,0,90,0,26,0,78,0,54,0 47,0,11,0,24,0,59,0,63,0,53,0 74,0,82,0,38,0,48,0,49,0,36,0 57,0,20,0,35,0,81,0,25,0,87,0 85,0,14,0,62,0,55,0,56,0,13,0 65,0,34,0,44,0,16,0,18,0,30,0 4,0,5,0,68,0,61,0,58,0,32,0 19,0,28,0,31,0,22,0,33,0,79,0 45,0,64,0,9,0,76,0,52,0,10,0 69,0,24,0,54,0,72,0,7,0,84,0 3,0,21,0,38,0,53,0,2,0,86,0 42,0,27,0,75,0,46,0,93,0,88,0 80,0,47,0,60,0,49,0,85,0,15,0 81,0,59,0,78,0,48,0,14,0,23,0 11,0,70,0,94,0,95,0,35,0,74,0 66,0,29,0,39,0,77,0,63,0,87,0 17,0,8,0,56,0,51,0,20,0,91,0 41,0,12,0,90,0,83,0,43,0,57,0 25,0,55,0,1,0,26,0,36,0,67,0 73,0,82,0,92,0,62,0,40,0,6,0 50,0,89,0,18,0,37,0,71,0,32,0 31,0,22,0,7,0,3,0,52,0,81,0 76,0,13,0,68,0,69,0,34,0,38,0 35,0,5,0,15,0,53,0,84,0,14,0 93,0,48,0,86,0,28,0,60,0,70,0 17,0,75,0,33,0,12,0,11,0,74,0 26,0,65,0,23,0,56,0,61,0,80,0 41,0,88,0,54,0,4,0,82,0,9,0 79,0,57,0,27,0,47,0,39,0,44,0 59,0,20,0,30,0,36,0,83,0,29,0 6,0,91,0,87,0,10,0,24,0,50,0 58,0,1,0,51,0,45,0,49,0,89,0 73,0,2,0,67,0,42,0,71,0,77,0 21,0,92,0,64,0,94,0,90,0,85,0 62,0,63,0,16,0,8,0,19,0,46,0 66,0,95,0,25,0,40,0,78,0,72,0 37,0,55,0,7,0,43,0,39,0,56,0 74,0,31,0,54,0,76,0,57,0,5,0 75,0,41,0,6,0,70,0,14,0,47,0 28,0,58,0,80,0,9,0,88,0,84,0 22,0,26,0,48,0,42,0,12,0,10,0 68,0,11,0,82,0,64,0,27,0,86,0 29,0,53,0,81,0,45,0,50,0,92,0 78,0,2,0,17,0,85,0,63,0,36,0 72,0,66,0,91,0,73,0,60,0,33,0 34,0,93,0,55,0,90,0,38,0,23,0 83,0,35,0,37,0,3,0,67,0,8,0 21,0,71,0,65,0,79,0,49,0,46,0 43,0,25,0,44,0,69,0,4,0,1,0 15,0,32,0,51,0,77,0,40,0,24,0 62,0,87,0,30,0,59,0,95,0,52,0 20,0,61,0,19,0,13,0,18,0,94,0 89,0,72,0,73,0,16,0,75,0,50,0 48,0,29,0,88,0,33,0,6,0,34,0 7,0,9,0,38,0,35,0,12,0,17,0 83,0,78,0,80,0,21,0,11,0,39,0 44,0,70,0,63,0,67,0,82,0,58,0 14,0,46,0,22,0,40,0,68,0,74,0 42,0,32,0,87,0,79,0,64,0,3,0 55,0,84,0,71,0,94,0,45,0,31,0 89,0,86,0,61,0,25,0,15,0,90,0 91,0,26,0,49,0,62,0,92,0,57,0 43,0,23,0,51,0,53,0,54,0,52,0 10,0,36,0,13,0,65,0,16,0,66,0 28,0,1,0,77,0,81,0,76,0,30,0 69,0,8,0,59,0,5,0,19,0,27,0 2,0,47,0,56,0,4,0,18,0,60,0 37,0,95,0,93,0,24,0,41,0,20,0 85,0,87,0,67,0,7,0,89,0,88,0 73,0,39,0,90,0,48,0,44,0,9,0 6,0,52,0,80,0,68,0,94,0,57,0 40,0,63,0,64,0,54,0,13,0,91,0 14,0,16,0,28,0,17,0,92,0,71,0 12,0,29,0,49,0,3,0,5,0,25,0 82,0,75,0,19,0,2,0,61,0,51,0 74,0,69,0,78,0,60,0,32,0,20,0 10,0,23,0,77,0,86,0,47,0,83,0 76,0,59,0,35,0,18,0,72,0,46,0 38,0,27,0,30,0,66,0,37,0,58,0 41,0,79,0,95,0,55,0,53,0,26,0 85,0,70,0,34,0,50,0,4,0,31,0 42,0,24,0,65,0,8,0,81,0,21,0 93,0,33,0,84,0,1,0,56,0,62,0 36,0,43,0,15,0,22,0,45,0,11,0 49,0,83,0,17,0,87,0,61,0,13,0 92,0,20,0,12,0,77,0,54,0,60,0 44,0,51,0,18,0,14,0,3,0,29,0 55,0,30,0,6,0,32,0,35,0,72,0 75,0,10,0,85,0,53,0,25,0,82,0 88,0,70,0,95,0,71,0,39,0,91,0 81,0,64,0,19,0,66,0,41,0,84,0 40,0,11,0,89,0,8,0,48,0,28,0 5,0,63,0,94,0,23,0,73,0,27,0 42,0,57,0,36,0,37,0,9,0,69,0 31,0,38,0,80,0,24,0,67,0,46,0 93,0,26,0,76,0,16,0,2,0,68,0 74,0,4,0,45,0,90,0,21,0,7,0 56,0,58,0,79,0,15,0,59,0,1,0 43,0,52,0,33,0,47,0,65,0,50,0 62,0,78,0,86,0,34,0,22,0,51,0 ================================================ FILE: schedules/95_14.csv ================================================ 57,0,53,0,50,0,67,0,87,0,25,0 75,0,43,0,78,0,34,0,18,0,92,0 23,0,30,0,35,0,81,0,82,0,55,0 40,0,7,0,37,0,31,0,80,0,48,0 65,0,8,0,91,0,52,0,62,0,66,0 70,0,86,0,58,0,19,0,4,0,10,0 41,0,15,0,49,0,59,0,29,0,2,0 68,0,51,0,12,0,95,0,84,0,73,0 79,0,21,0,90,0,27,0,69,0,39,0 5,0,77,0,24,0,38,0,11,0,64,0 47,0,1,0,3,0,54,0,20,0,42,0 45,0,36,0,26,0,72,0,44,0,32,0 56,0,16,0,46,0,76,0,88,0,9,0 63,0,14,0,83,0,89,0,74,0,71,0 94,0,28,0,6,0,61,0,60,0,85,0 33,0,13,0,93,0,17,0,22,0,8,0 12,0,27,0,62,0,39,0,67,0,19,0 57,0,11,0,51,0,58,0,23,0,65,0 73,0,91,0,1,0,69,0,43,0,77,0 15,0,38,0,36,0,75,0,81,0,31,0 21,0,47,0,30,0,78,0,64,0,5,0 44,0,52,0,14,0,92,0,40,0,10,0 2,0,3,0,63,0,60,0,50,0,18,0 34,0,4,0,41,0,26,0,95,0,61,0 7,0,70,0,35,0,85,0,32,0,83,0 16,0,13,0,72,0,55,0,59,0,71,0 25,0,54,0,93,0,84,0,76,0,28,0 82,0,24,0,68,0,86,0,33,0,79,0 45,0,37,0,22,0,29,0,74,0,88,0 20,0,94,0,80,0,56,0,90,0,53,0 17,0,48,0,9,0,87,0,42,0,89,0 66,0,6,0,57,0,49,0,46,0,36,0 1,1,60,0,75,0,41,1,11,0,70,0 13,0,69,0,14,0,65,0,15,0,64,0 19,0,84,0,61,0,72,0,3,0,30,0 33,0,83,0,77,0,34,0,21,0,44,0 74,0,73,0,32,0,82,0,50,0,31,0 43,0,62,0,22,0,10,0,80,0,23,0 51,0,93,0,40,0,27,0,89,0,26,0 66,0,16,0,28,0,42,0,48,0,35,0 79,0,53,0,5,0,6,0,55,0,37,0 46,0,68,0,17,0,52,0,18,0,49,0 87,0,85,0,8,0,56,0,4,0,54,0 47,0,2,0,95,0,92,0,25,0,86,0 94,0,59,0,88,0,58,0,12,0,63,0 76,0,45,0,71,0,39,0,81,0,24,0 20,0,90,0,78,0,67,0,7,0,38,0 91,0,9,0,82,0,29,0,48,0,11,0 75,0,93,0,55,0,83,0,80,0,69,0 18,0,64,0,1,0,66,0,33,0,72,0 32,0,87,0,10,0,79,0,34,0,13,0 54,0,86,0,3,0,77,0,41,0,23,0 31,0,47,0,63,0,44,0,27,0,65,0 53,0,68,0,60,0,61,0,39,0,88,0 81,0,17,0,40,0,4,0,73,0,78,0 8,0,38,0,59,0,14,0,26,0,25,0 84,0,70,0,9,0,62,0,49,0,6,0 42,0,57,0,74,0,5,0,56,0,12,0 36,0,71,0,52,0,43,0,21,0,20,0 46,0,2,0,67,0,51,0,35,0,22,0 28,0,29,0,90,0,76,0,50,0,30,0 15,0,16,0,95,0,85,0,19,0,37,0 58,0,89,0,94,0,24,0,91,0,7,0 92,0,60,0,31,0,45,0,23,0,8,0 55,0,65,0,32,0,78,0,48,0,61,0 9,0,18,0,33,0,27,0,5,0,4,0 88,0,38,0,44,0,73,0,86,0,43,0 25,0,56,0,41,0,63,0,35,0,79,0 34,0,3,0,40,0,11,0,67,0,69,0 80,0,29,0,13,0,54,0,68,0,74,0 72,0,7,0,39,0,75,0,47,0,66,0 14,0,87,0,94,0,95,0,82,0,45,0 28,0,15,0,17,0,84,0,20,0,24,0 58,0,52,0,77,0,42,0,76,0,22,0 70,0,6,0,91,0,51,0,21,0,59,0 2,0,64,0,92,0,19,0,71,0,57,0 46,0,85,0,89,0,81,0,10,0,53,0 12,0,26,0,30,0,1,0,37,0,83,0 50,0,90,0,62,0,36,0,93,0,16,0 49,0,61,0,33,0,74,0,40,0,25,0 67,0,63,0,48,0,15,0,43,0,84,0 56,0,66,0,69,0,82,0,58,0,44,0 54,0,32,0,88,0,21,0,24,0,6,0 72,0,79,0,95,0,76,0,17,0,60,0 29,0,23,0,4,0,46,0,59,0,7,0 45,0,20,0,41,0,57,0,13,0,89,0 51,0,39,0,14,0,16,0,22,0,77,0 11,0,92,0,42,0,18,0,62,0,53,0 71,0,86,0,31,0,1,0,30,0,78,0 27,0,81,0,8,0,70,0,28,0,37,0 85,0,55,0,3,0,47,0,9,0,93,0 65,0,36,0,94,0,68,0,2,0,34,0 75,0,64,0,10,0,91,0,35,0,12,0 26,0,19,0,73,0,90,0,87,0,5,0 80,0,38,0,49,0,50,0,52,0,83,0 67,0,76,0,89,0,21,0,13,0,92,0 54,0,59,0,14,0,60,0,30,0,56,0 37,0,27,0,74,0,84,0,86,0,32,0 23,0,24,0,85,0,63,0,29,0,72,0 7,0,88,0,77,0,55,0,15,0,8,0 12,0,18,0,79,0,36,0,91,0,28,0 44,0,87,0,81,0,51,0,41,0,62,0 19,0,34,0,22,0,47,0,20,0,49,0 26,0,16,0,78,0,68,0,43,0,58,0 61,0,69,0,17,0,50,0,45,0,66,0 6,0,42,0,82,0,75,0,80,0,4,0 1,0,5,0,40,0,53,0,2,0,93,0 48,0,10,0,71,0,94,0,38,0,33,0 65,0,39,0,11,0,95,0,83,0,46,0 57,0,9,0,35,0,31,0,90,0,52,0 73,0,64,0,25,0,70,0,3,0,29,0 89,0,84,0,88,0,36,0,78,0,79,0 41,0,37,0,24,0,66,0,85,0,14,0 81,0,13,0,60,0,91,0,26,0,47,0 69,0,32,0,76,0,86,0,53,0,51,0 93,0,48,0,4,0,49,0,19,0,56,0 11,0,59,0,77,0,28,0,27,0,87,0 9,0,38,0,92,0,65,0,30,0,7,0 83,0,68,0,31,0,64,0,6,0,67,0 23,0,3,0,52,0,74,0,33,0,16,0 63,0,70,0,10,0,90,0,39,0,42,0 12,0,20,0,55,0,18,0,25,0,2,0 1,0,95,0,58,0,50,0,75,0,40,0 73,0,61,0,62,0,21,0,35,0,15,0 5,0,43,0,8,0,94,0,45,0,46,0 17,0,54,0,34,0,71,0,22,0,82,0 72,0,80,0,28,0,57,0,44,0,91,0 23,0,60,0,19,0,89,0,32,0,38,0 36,0,41,0,64,0,7,0,76,0,27,0 56,0,86,0,63,0,11,0,52,0,26,0 13,0,78,0,49,0,85,0,77,0,42,0 29,0,35,0,6,0,87,0,1,0,33,0 2,0,83,0,58,0,47,0,79,0,45,0 68,0,22,0,4,0,30,0,69,0,62,0 46,0,50,0,21,0,14,0,72,0,48,0 8,0,74,0,51,0,55,0,34,0,9,0 43,0,12,0,82,0,93,0,61,0,70,0 66,0,92,0,71,0,15,0,3,0,90,0 67,0,54,0,53,0,59,0,65,0,17,0 73,0,10,0,24,0,25,0,16,0,80,0 39,0,40,0,44,0,37,0,18,0,94,0 20,0,31,0,88,0,5,0,81,0,95,0 75,0,84,0,48,0,57,0,26,0,77,0 19,0,13,0,86,0,46,0,28,0,14,0 33,0,23,0,78,0,69,0,41,0,12,0 6,0,56,0,27,0,92,0,50,0,72,0 55,0,52,0,29,0,58,0,67,0,60,0 45,0,34,0,16,0,91,0,63,0,64,0 22,0,53,0,83,0,8,0,24,0,36,0 54,0,9,0,81,0,43,0,39,0,2,0 4,0,76,0,11,0,35,0,38,0,84,0 87,0,65,0,70,0,80,0,18,0,74,0 10,0,20,0,30,0,40,0,66,0,32,0 51,0,15,0,31,0,17,0,94,0,47,0 71,0,44,0,85,0,25,0,68,0,5,0 89,0,90,0,49,0,82,0,88,0,75,0 62,0,95,0,21,0,57,0,7,0,3,0 42,0,37,0,79,0,73,0,59,0,93,0 61,0,14,0,9,0,1,0,36,0,63,0 80,0,60,0,8,0,35,0,86,0,64,0 19,0,43,0,6,0,41,0,65,0,76,0 84,0,83,0,40,0,23,0,56,0,13,0 77,0,47,0,28,0,74,0,17,0,10,0 34,0,5,0,39,0,29,0,15,0,58,0 69,0,16,0,38,0,32,0,57,0,18,0 30,0,45,0,75,0,73,0,21,0,67,0 78,0,94,0,24,0,62,0,46,0,70,0 92,0,79,0,81,0,12,0,48,0,22,0 51,0,50,0,85,0,33,0,71,0,20,0 66,0,42,0,55,0,27,0,95,0,54,0 89,0,44,0,59,0,90,0,1,0,61,0 72,0,11,0,25,0,93,0,7,0,68,0 37,0,2,0,88,0,87,0,52,0,4,0 26,0,3,0,53,0,31,0,91,0,49,0 82,0,46,0,41,0,21,0,38,0,58,0 86,0,15,0,45,0,40,0,9,0,12,0 29,0,18,0,69,0,8,0,71,0,84,0 57,0,27,0,22,0,94,0,85,0,73,0 54,0,48,0,5,0,51,0,36,0,10,0 39,0,74,0,20,0,93,0,6,0,92,0 67,0,14,0,47,0,88,0,33,0,11,0 53,0,95,0,80,0,81,0,77,0,63,0 87,0,49,0,30,0,7,0,16,0,60,0 32,0,91,0,90,0,17,0,2,0,55,0 24,0,35,0,4,0,43,0,3,0,13,0 59,0,82,0,76,0,68,0,1,0,62,0 83,0,25,0,78,0,52,0,19,0,72,0 65,0,56,0,61,0,23,0,37,0,75,0 42,0,64,0,50,0,44,0,26,0,79,0 31,0,66,0,70,0,28,0,89,0,34,0 30,0,80,0,36,0,39,0,33,0,58,0 71,0,93,0,67,0,41,0,95,0,32,0 55,0,49,0,27,0,43,0,24,0,14,0 69,0,63,0,73,0,46,0,92,0,54,0 18,0,90,0,86,0,83,0,6,0,81,0 25,0,75,0,13,0,37,0,9,0,62,0 11,0,21,0,17,0,85,0,12,0,74,0 10,0,52,0,7,0,34,0,59,0,1,0 38,0,91,0,72,0,88,0,42,0,15,0 87,0,84,0,64,0,31,0,61,0,22,0 50,0,68,0,35,0,19,0,89,0,5,0 23,0,48,0,2,0,53,0,44,0,70,0 78,0,56,0,28,0,3,0,51,0,45,0 82,0,47,0,57,0,40,0,8,0,76,0 65,0,29,0,26,0,79,0,16,0,20,0 4,0,66,0,77,0,60,0,94,0,12,0 25,0,34,0,27,0,88,0,46,0,80,0 39,0,85,0,59,0,55,0,64,0,31,0 74,0,81,0,19,0,24,0,69,0,1,0 75,0,52,0,95,0,44,0,30,0,13,0 11,0,15,0,18,0,45,0,54,0,89,0 22,0,93,0,50,0,41,0,78,0,9,0 36,0,42,0,61,0,67,0,86,0,29,0 47,0,53,0,38,0,56,0,70,0,68,0 26,0,84,0,7,0,10,0,2,0,82,0 32,0,62,0,28,0,83,0,49,0,5,0 87,0,91,0,76,0,20,0,14,0,23,0 21,0,63,0,66,0,79,0,51,0,4,0 60,0,43,0,33,0,37,0,90,0,57,0 3,0,58,0,73,0,6,0,8,0,48,0 71,0,35,0,72,0,65,0,77,0,40,0 17,0,92,0,1,0,94,0,16,0,41,0 ================================================ FILE: schedules/95_2.csv ================================================ 74,0,20,0,29,0,5,0,21,0,80,0 90,0,67,0,24,0,52,0,43,0,7,0 85,0,1,0,3,0,30,0,95,0,27,0 8,0,49,0,87,0,6,0,10,0,71,0 47,0,17,0,66,0,38,0,44,0,94,0 61,0,28,0,84,0,9,0,26,0,33,0 25,0,59,0,81,0,53,0,35,0,23,0 68,0,76,0,15,0,70,0,62,0,51,0 57,0,37,0,22,0,64,0,88,0,92,0 34,0,54,0,16,0,48,0,42,0,55,0 36,0,41,0,93,0,73,0,56,0,91,0 32,0,2,0,63,0,18,0,31,0,58,0 39,0,45,0,19,0,75,0,11,0,77,0 14,0,46,0,69,0,65,0,72,0,12,0 78,0,79,0,40,0,60,0,86,0,13,0 50,0,82,0,4,0,83,0,89,0,59,0 33,0,35,0,80,0,57,0,71,0,17,0 21,0,53,0,88,0,47,0,48,0,10,0 29,0,26,0,30,0,37,0,34,0,81,0 18,0,20,0,94,0,64,0,27,0,8,0 9,0,56,0,3,0,19,0,54,0,49,0 51,0,23,0,5,0,69,0,7,0,45,0 25,0,95,0,73,0,67,0,46,0,66,0 58,0,4,0,91,0,65,0,85,0,92,0 74,0,42,0,52,0,72,0,50,0,41,0 84,0,12,0,63,0,87,0,78,0,55,0 2,0,38,0,75,0,90,0,76,0,6,0 31,0,40,0,93,0,14,0,68,0,77,0 83,0,36,0,44,0,60,0,32,0,15,0 39,0,13,0,62,0,1,0,82,0,28,0 24,0,86,0,70,0,89,0,22,0,16,0 79,0,43,0,5,1,11,0,61,0,58,1 ================================================ FILE: schedules/95_3.csv ================================================ 34,0,74,0,95,0,65,0,13,0,73,0 39,0,86,0,64,0,75,0,54,0,19,0 20,0,79,0,45,0,47,0,59,0,43,0 46,0,24,0,38,0,31,0,29,0,51,0 42,0,32,0,3,0,37,0,10,0,63,0 87,0,21,0,53,0,8,0,16,0,52,0 14,0,50,0,27,0,18,0,40,0,61,0 69,0,9,0,25,0,5,0,57,0,26,0 80,0,4,0,81,0,78,0,72,0,58,0 84,0,55,0,7,0,88,0,82,0,2,0 11,0,60,0,85,0,68,0,71,0,35,0 30,0,91,0,12,0,44,0,90,0,66,0 49,0,70,0,94,0,23,0,15,0,76,0 33,0,6,0,17,0,28,0,92,0,62,0 67,0,77,0,41,0,48,0,56,0,22,0 93,0,89,0,1,0,83,0,36,0,79,0 25,1,54,0,47,0,50,1,34,0,29,0 7,1,65,0,14,0,16,0,57,0,20,0 31,0,73,0,87,0,86,0,40,0,85,0 32,0,78,0,88,0,5,0,39,0,27,0 3,0,8,0,61,0,94,0,12,0,58,0 72,0,44,0,59,0,92,0,19,0,55,0 23,0,77,0,82,0,46,0,74,0,91,0 52,0,69,0,43,0,62,0,30,0,75,0 83,0,28,0,2,0,48,0,66,0,95,0 67,0,89,0,63,0,35,0,24,0,4,0 49,0,21,0,41,0,10,0,13,0,90,0 37,0,84,0,45,0,70,0,11,0,33,0 76,0,51,0,71,0,80,0,93,0,9,0 56,0,68,0,36,0,53,0,26,0,42,0 18,0,1,0,15,0,38,0,6,0,22,0 64,0,17,0,52,0,81,0,60,0,32,0 82,0,62,0,8,0,14,0,25,0,86,0 74,0,83,0,16,0,61,0,43,0,63,0 34,0,7,0,10,0,94,0,89,0,72,0 70,0,46,0,88,0,41,0,69,0,50,0 79,0,90,0,39,0,58,0,92,0,84,0 78,0,19,0,36,0,31,0,71,0,45,0 5,0,28,0,80,0,68,0,1,0,29,0 95,0,26,0,30,0,47,0,22,0,87,0 35,0,37,0,12,0,65,0,40,0,9,0 75,0,59,0,13,0,3,0,38,0,91,0 56,0,51,0,11,0,54,0,23,0,17,0 2,0,18,0,60,0,42,0,93,0,77,0 53,0,66,0,85,0,6,0,49,0,67,0 57,0,4,0,33,0,15,0,64,0,21,0 27,0,55,0,73,0,81,0,24,0,20,0 76,0,48,0,50,0,44,0,25,0,7,0 ================================================ FILE: schedules/95_4.csv ================================================ 51,0,76,0,41,0,39,0,45,0,63,0 34,0,92,0,69,0,93,0,58,0,26,0 29,0,25,0,61,0,40,0,47,0,31,0 18,0,72,0,9,0,7,0,24,0,38,0 84,0,15,0,65,0,71,0,95,0,83,0 70,0,23,0,81,0,94,0,33,0,6,0 3,0,77,0,50,0,57,0,28,0,4,0 17,0,90,0,56,0,32,0,22,0,87,0 19,0,12,0,49,0,68,0,46,0,80,0 11,0,66,0,2,0,53,0,43,0,85,0 36,0,79,0,73,0,74,0,21,0,5,0 44,0,27,0,10,0,59,0,54,0,89,0 13,0,42,0,64,0,37,0,91,0,82,0 16,0,30,0,86,0,14,0,67,0,1,0 88,0,75,0,62,0,78,0,52,0,48,0 55,0,8,0,20,0,35,0,60,0,90,0 65,0,51,0,31,0,34,0,28,0,46,0 53,0,83,0,39,0,94,0,24,0,25,0 22,0,49,0,70,0,29,0,41,0,84,0 59,0,95,0,57,0,12,0,43,0,23,0 71,0,85,0,91,0,63,0,40,0,50,0 82,0,81,0,15,0,36,0,7,0,16,0 56,0,42,0,74,0,77,0,48,0,92,0 64,0,11,0,60,0,5,0,93,0,75,0 52,0,58,0,45,0,54,0,35,0,1,0 67,0,17,0,9,0,27,0,3,0,20,0 38,0,87,0,2,0,14,0,6,0,21,0 32,0,69,0,66,0,18,0,88,0,37,0 33,0,73,0,10,0,68,0,86,0,8,0 55,0,47,0,4,0,89,0,79,0,72,0 61,0,78,0,76,0,26,0,19,0,13,0 80,0,44,0,63,0,30,0,62,0,34,0 50,1,60,0,1,0,74,1,23,0,84,0 43,1,46,0,40,0,27,1,52,0,42,0 9,0,83,0,93,0,21,0,56,0,59,0 29,0,35,0,71,0,51,0,69,0,64,0 87,0,20,0,12,0,58,0,7,0,86,0 25,0,95,0,3,0,32,0,41,0,85,0 77,0,81,0,90,0,78,0,11,0,91,0 62,0,19,0,36,0,65,0,55,0,94,0 54,0,37,0,26,0,72,0,80,0,33,0 30,0,89,0,53,0,70,0,68,0,31,0 82,0,10,0,6,0,49,0,18,0,79,0 4,0,5,0,48,0,76,0,2,0,16,0 13,0,88,0,28,0,73,0,44,0,92,0 15,0,24,0,17,0,45,0,75,0,61,0 47,0,38,0,8,0,22,0,66,0,67,0 57,0,14,0,58,0,39,0,64,0,62,0 74,0,40,0,69,0,95,0,86,0,72,0 34,0,54,0,55,0,23,0,53,0,9,0 46,0,83,0,85,0,20,0,29,0,33,0 43,0,31,0,94,0,77,0,5,0,1,0 73,0,93,0,63,0,90,0,82,0,25,0 48,0,11,0,50,0,65,0,17,0,49,0 13,0,32,0,67,0,2,0,71,0,52,0 27,0,16,0,37,0,51,0,6,0,8,0 4,0,59,0,18,0,70,0,91,0,15,0 21,0,80,0,7,0,10,0,61,0,42,0 24,0,14,0,56,0,3,0,47,0,81,0 57,0,68,0,79,0,87,0,92,0,84,0 35,0,89,0,38,0,88,0,76,0,36,0 41,0,28,0,75,0,66,0,19,0,30,0 45,0,60,0,26,0,44,0,22,0,12,0 39,0,50,0,43,0,78,0,74,0,27,0 ================================================ FILE: schedules/95_5.csv ================================================ 5,0,82,0,20,0,36,0,3,0,48,0 91,0,37,0,15,0,93,0,23,0,72,0 2,0,8,0,86,0,39,0,57,0,13,0 59,0,9,0,78,0,33,0,62,0,85,0 89,0,65,0,79,0,28,0,53,0,74,0 32,0,60,0,51,0,7,0,25,0,11,0 47,0,18,0,43,0,67,0,6,0,16,0 24,0,49,0,52,0,45,0,87,0,30,0 35,0,29,0,66,0,88,0,95,0,46,0 56,0,77,0,83,0,4,0,70,0,34,0 58,0,19,0,69,0,61,0,38,0,40,0 31,0,71,0,76,0,81,0,94,0,44,0 84,0,55,0,10,0,26,0,80,0,54,0 68,0,63,0,22,0,17,0,75,0,64,0 90,0,50,0,12,0,14,0,27,0,41,0 21,0,73,0,79,0,42,0,92,0,1,0 67,0,46,0,15,0,82,0,33,0,87,0 18,0,91,0,3,0,78,0,24,0,56,0 34,0,88,0,62,0,7,0,61,0,30,0 5,0,83,0,81,0,86,0,52,0,9,0 11,0,26,0,39,0,72,0,58,0,94,0 93,0,53,0,75,0,35,0,6,0,45,0 23,0,71,0,14,0,36,0,54,0,59,0 89,0,22,0,25,0,70,0,43,0,55,0 73,0,85,0,51,0,76,0,10,0,8,0 48,0,13,0,40,0,84,0,60,0,41,0 44,0,77,0,57,0,42,0,69,0,50,0 21,0,66,0,16,0,19,0,63,0,4,0 27,0,28,0,68,0,38,0,49,0,2,0 20,0,1,0,37,0,65,0,95,0,12,0 80,0,31,0,17,0,92,0,47,0,74,0 90,0,64,0,87,0,32,0,29,0,71,0 86,1,25,0,26,0,35,1,18,0,79,0 41,1,30,0,93,0,11,1,73,0,5,0 61,1,84,0,33,0,77,0,8,0,22,0 56,0,44,0,45,0,21,0,7,0,13,0 46,0,16,0,89,0,2,0,40,0,72,0 54,0,38,0,48,0,63,0,15,0,83,0 76,0,42,0,91,0,9,0,39,0,34,0 74,0,90,0,94,0,6,0,52,0,78,0 27,0,4,0,23,0,80,0,1,0,64,0 82,0,69,0,66,0,43,0,81,0,59,0 36,0,65,0,17,0,32,0,49,0,58,0 24,0,28,0,12,0,31,0,29,0,57,0 60,0,10,0,3,0,53,0,95,0,47,0 92,0,67,0,51,0,20,0,50,0,55,0 37,0,85,0,19,0,70,0,75,0,88,0 62,0,68,0,74,0,14,0,93,0,46,0 6,0,54,0,4,0,89,0,13,0,11,0 77,0,45,0,63,0,5,0,90,0,23,0 69,0,34,0,65,0,78,0,2,0,84,0 59,0,16,0,57,0,87,0,48,0,25,0 61,0,47,0,72,0,66,0,12,0,56,0 21,0,82,0,51,0,30,0,9,0,17,0 70,0,81,0,7,0,24,0,38,0,41,0 53,0,19,0,86,0,27,0,29,0,67,0 42,0,36,0,64,0,31,0,52,0,35,0 75,0,94,0,92,0,28,0,62,0,10,0 58,0,1,0,55,0,83,0,60,0,85,0 49,0,3,0,22,0,76,0,14,0,15,0 68,0,26,0,50,0,73,0,37,0,71,0 80,0,33,0,88,0,20,0,79,0,39,0 95,0,8,0,40,0,32,0,44,0,18,0 43,0,41,0,74,0,91,0,21,0,57,0 53,0,17,0,56,0,48,0,11,0,69,0 2,0,42,0,12,0,51,0,5,0,70,0 23,0,29,0,61,0,10,0,82,0,16,0 6,0,7,0,86,0,15,0,1,0,59,0 78,0,35,0,58,0,28,0,81,0,47,0 24,0,34,0,14,0,73,0,66,0,13,0 64,0,39,0,84,0,44,0,19,0,92,0 95,0,93,0,27,0,36,0,87,0,89,0 75,0,9,0,80,0,65,0,25,0,72,0 33,0,63,0,30,0,76,0,55,0,37,0 18,0,94,0,88,0,4,0,68,0,60,0 43,0,40,0,31,0,20,0,77,0,26,0 52,0,8,0,38,0,46,0,3,0,71,0 79,0,54,0,67,0,22,0,90,0,85,0 83,0,32,0,45,0,50,0,91,0,62,0 49,0,35,0,11,0,86,0,41,0,61,0 ================================================ FILE: schedules/95_6.csv ================================================ 48,0,58,0,85,0,35,0,56,0,28,0 55,0,81,0,13,0,17,0,63,0,87,0 47,0,66,0,62,0,37,0,15,0,30,0 9,0,69,0,92,0,40,0,16,0,79,0 51,0,67,0,60,0,90,0,95,0,88,0 54,0,18,0,42,0,83,0,45,0,72,0 50,0,53,0,78,0,20,0,82,0,8,0 94,0,21,0,91,0,80,0,71,0,84,0 73,0,23,0,10,0,46,0,52,0,12,0 89,0,76,0,38,0,31,0,70,0,32,0 11,0,24,0,65,0,64,0,41,0,27,0 4,0,7,0,19,0,2,0,36,0,75,0 29,0,44,0,59,0,93,0,61,0,43,0 74,0,77,0,14,0,26,0,1,0,33,0 68,0,25,0,6,0,3,0,5,0,49,0 86,0,57,0,84,0,34,0,39,0,22,0 62,0,12,0,91,0,54,0,16,0,13,0 31,0,51,0,15,0,10,0,92,0,71,0 76,0,41,0,40,0,20,0,58,0,30,0 38,0,90,0,64,0,83,0,78,0,28,0 46,0,67,0,93,0,53,0,17,0,24,0 21,0,66,0,11,0,29,0,4,0,63,0 70,0,5,0,75,0,35,0,60,0,45,0 77,0,9,0,34,0,43,0,49,0,2,0 18,0,79,0,68,0,95,0,65,0,36,0 22,0,37,0,44,0,56,0,26,0,72,0 82,0,1,0,32,0,25,0,85,0,61,0 7,0,8,0,87,0,3,0,57,0,73,0 69,0,39,0,14,0,55,0,80,0,88,0 86,0,19,0,33,0,23,0,47,0,42,0 50,0,59,0,48,0,52,0,89,0,27,0 74,0,81,0,46,0,6,0,94,0,29,0 31,0,64,0,58,0,21,0,17,0,45,0 22,0,76,0,24,0,79,0,77,0,10,0 37,0,40,0,95,0,75,0,34,0,78,0 16,0,49,0,35,0,7,0,32,0,67,0 43,0,90,0,5,0,54,0,4,0,20,0 72,0,28,0,69,0,68,0,84,0,1,0 92,0,3,0,55,0,66,0,38,0,56,0 88,0,57,0,52,0,6,0,19,0,70,0 15,0,26,0,91,0,11,0,53,0,87,0 80,0,48,0,61,0,30,0,86,0,2,0 94,0,23,0,44,0,18,0,50,0,51,0 74,0,13,0,25,0,42,0,27,0,9,0 47,0,73,0,89,0,82,0,65,0,14,0 83,0,36,0,41,0,60,0,63,0,12,0 81,0,93,0,71,0,8,0,62,0,85,0 39,0,33,0,32,0,59,0,3,0,58,0 54,0,56,0,95,0,7,0,69,0,64,0 79,0,34,0,11,0,55,0,72,0,19,0 40,0,52,0,2,0,22,0,31,0,18,0 91,0,66,0,45,0,61,0,50,0,90,0 70,0,65,0,48,0,13,0,20,0,1,0 84,0,30,0,6,0,60,0,24,0,14,0 16,0,63,0,47,0,94,0,5,0,93,0 53,0,77,0,4,0,73,0,35,0,59,0 8,0,49,0,42,0,46,0,38,0,44,0 62,0,80,0,87,0,68,0,23,0,74,0 86,0,83,0,10,0,81,0,75,0,21,0 57,0,28,0,26,0,12,0,43,0,71,0 89,0,88,0,9,0,15,0,41,0,29,0 78,0,76,0,39,0,27,0,85,0,67,0 33,0,37,0,25,0,92,0,36,0,17,0 51,0,3,0,79,0,82,0,48,0,54,0 34,0,20,0,18,0,91,0,60,0,38,0 69,0,63,0,22,0,50,0,19,0,73,0 64,0,42,0,5,0,40,0,81,0,1,0 43,0,55,0,83,0,6,0,58,0,62,0 24,0,86,0,87,0,44,0,89,0,95,0 12,0,85,0,30,0,94,0,31,0,53,0 61,0,72,0,13,0,39,0,4,0,8,0 68,0,11,0,70,0,93,0,92,0,14,0 25,0,23,0,75,0,41,0,67,0,71,0 2,0,26,0,78,0,66,0,10,0,88,0 16,0,21,0,74,0,37,0,76,0,82,0 56,0,49,0,17,0,57,0,51,0,59,0 84,0,7,0,46,0,9,0,90,0,33,0 52,0,45,0,15,0,77,0,65,0,28,0 29,0,27,0,35,0,47,0,80,0,36,0 32,0,19,0,30,0,64,0,13,0,68,0 60,0,92,0,1,0,62,0,53,0,39,0 85,0,3,0,20,0,2,0,83,0,23,0 8,0,89,0,26,0,25,0,63,0,79,0 38,0,67,0,58,0,54,0,11,0,57,0 95,0,41,0,55,0,21,0,22,0,61,0 87,0,51,0,42,0,34,0,14,0,76,0 29,0,49,0,24,0,73,0,33,0,91,0 93,0,6,0,36,0,77,0,48,0,78,0 52,0,43,0,35,0,94,0,37,0,69,0 75,0,90,0,80,0,15,0,32,0,72,0 17,0,28,0,10,0,70,0,40,0,74,0 59,0,9,0,82,0,12,0,86,0,45,0 4,0,65,0,16,0,81,0,50,0,84,0 27,0,31,0,44,0,7,0,66,0,5,0 47,0,71,0,18,0,56,0,88,0,46,0 ================================================ FILE: schedules/95_7.csv ================================================ 46,0,49,0,21,0,72,0,1,0,58,0 90,0,69,0,18,0,86,0,70,0,15,0 55,0,79,0,94,0,57,0,67,0,14,0 68,0,77,0,13,0,16,0,41,0,83,0 5,0,42,0,87,0,65,0,51,0,12,0 88,0,7,0,82,0,76,0,85,0,17,0 45,0,44,0,34,0,63,0,59,0,91,0 4,0,25,0,10,0,66,0,37,0,30,0 19,0,22,0,61,0,40,0,36,0,89,0 33,0,24,0,78,0,74,0,50,0,38,0 6,0,32,0,43,0,81,0,47,0,56,0 95,0,71,0,93,0,53,0,39,0,20,0 60,0,52,0,27,0,29,0,62,0,48,0 64,0,26,0,54,0,11,0,84,0,9,0 31,0,92,0,23,0,8,0,80,0,35,0 2,0,3,0,7,0,28,0,75,0,73,0 68,0,46,0,67,0,85,0,25,0,90,0 77,0,94,0,70,0,87,0,82,0,78,0 24,0,65,0,36,0,86,0,55,0,4,0 79,0,50,0,91,0,93,0,56,0,5,0 53,0,15,0,41,0,6,0,51,0,29,0 81,0,16,0,69,0,1,0,63,0,52,0 57,0,80,0,22,0,54,0,66,0,45,0 18,0,92,0,37,0,17,0,12,0,71,0 9,0,43,0,73,0,76,0,31,0,72,0 88,0,19,0,44,0,95,0,21,0,60,0 58,0,35,0,42,0,27,0,64,0,40,0 89,0,8,0,32,0,30,0,84,0,75,0 14,0,10,0,34,0,13,0,74,0,48,0 38,0,61,0,23,0,62,0,11,0,3,0 26,0,59,0,20,0,47,0,83,0,2,0 39,0,28,0,22,0,49,0,33,0,5,0 71,0,94,0,41,0,72,1,85,0,86,0 37,0,77,0,29,0,57,0,44,0,90,0 40,0,9,0,66,0,24,0,52,0,53,0 87,0,30,0,1,0,18,0,7,0,6,0 84,0,92,0,74,0,91,0,73,0,25,0 68,0,69,0,42,0,79,0,10,0,32,0 45,0,82,0,51,0,36,0,20,0,11,0 3,0,83,0,56,0,80,0,48,0,95,0 88,0,46,0,62,0,33,0,75,0,16,0 28,0,26,0,58,0,70,0,38,0,43,0 12,0,78,0,35,0,13,0,47,0,93,0 49,0,19,0,76,0,59,0,23,0,4,0 61,0,17,0,15,0,64,0,14,0,31,0 67,0,54,0,63,0,65,0,8,0,39,0 2,0,50,0,27,0,21,0,89,0,34,0 81,0,55,0,74,0,60,0,87,0,68,0 79,0,51,0,86,0,77,0,22,0,3,0 18,0,36,0,62,0,94,0,95,0,28,0 93,0,75,0,38,0,66,0,44,0,41,0 5,0,85,0,37,0,26,0,80,0,32,0 1,0,31,0,29,0,84,0,33,0,56,0 58,0,20,0,30,0,73,0,88,0,90,0 65,0,45,0,48,0,6,0,92,0,46,0 13,0,11,0,25,0,8,0,55,0,27,0 59,0,10,0,72,0,78,0,52,0,17,0 64,0,81,0,23,0,34,0,71,0,24,0 21,0,57,0,69,0,40,0,12,0,39,0 4,0,43,0,2,0,91,0,54,0,60,0 16,0,67,0,47,0,42,0,15,0,19,0 63,0,82,0,14,0,49,0,89,0,83,0 9,0,50,0,70,0,61,0,7,0,35,0 53,0,65,0,44,0,76,0,32,0,25,0 74,0,56,0,17,0,26,0,66,0,8,0 31,0,13,0,5,0,46,0,20,0,38,0 34,0,78,0,36,0,68,0,6,0,3,0 91,0,23,0,88,0,28,0,72,0,69,0 81,0,95,0,73,0,42,0,86,0,37,0 4,0,47,0,79,0,18,0,21,0,82,0 87,0,75,0,83,0,67,0,64,0,50,0 90,0,39,0,60,0,9,0,51,0,59,0 62,0,80,0,12,0,1,0,19,0,14,0 27,0,30,0,63,0,71,0,61,0,77,0 85,0,48,0,53,0,22,0,16,0,70,0 55,0,29,0,89,0,54,0,58,0,7,0 11,0,15,0,49,0,92,0,43,0,24,0 57,0,41,0,35,0,52,0,84,0,2,0 33,0,93,0,76,0,94,0,45,0,10,0 40,0,72,0,56,0,82,0,75,0,37,0 91,0,66,0,21,0,87,0,13,0,3,0 60,0,73,0,47,0,46,0,80,0,34,0 51,0,67,0,61,0,26,0,69,0,44,0 42,0,39,0,25,0,83,0,62,0,31,0 71,0,55,0,6,0,59,0,38,0,16,0 28,0,12,0,11,0,41,0,79,0,74,0 14,0,95,0,84,0,27,0,7,0,5,0 43,0,86,0,63,0,78,0,29,0,20,0 90,0,76,0,52,0,54,0,36,0,92,0 17,0,30,0,53,0,81,0,35,0,94,0 65,0,1,0,10,0,23,0,9,0,22,0 89,0,77,0,15,0,88,0,48,0,4,0 64,0,33,0,70,0,2,0,32,0,19,0 40,0,50,0,18,0,45,0,85,0,49,0 93,0,24,0,8,0,57,0,68,0,58,0 80,0,84,0,16,0,79,0,87,0,44,0 5,0,76,0,41,0,62,0,63,0,55,0 95,0,52,0,34,0,82,0,31,0,26,0 86,0,28,0,60,0,92,0,61,0,53,0 83,0,51,0,88,0,43,0,1,0,94,0 13,0,72,0,22,0,2,0,42,0,30,0 54,0,40,0,6,0,23,0,74,0,20,0 21,0,24,0,75,0,17,0,29,0,45,0 38,0,27,0,73,0,18,0,19,0,65,0 89,0,11,0,37,0,35,0,33,0,68,0 78,0,46,0,8,0,81,0,9,0,4,0 32,0,48,0,7,0,57,0,91,0,71,0 12,0,49,0,66,0,67,0,36,0,70,0 25,0,93,0,59,0,69,0,64,0,77,0 10,0,85,0,58,0,56,0,15,0,39,0 47,0,90,0,3,0,14,0,50,0,72,0 ================================================ FILE: schedules/95_8.csv ================================================ 45,0,3,0,35,0,74,0,75,0,59,0 66,0,48,0,82,0,58,0,90,0,61,0 12,0,25,0,37,0,30,0,85,0,27,0 94,0,70,0,9,0,13,0,57,0,80,0 54,0,72,0,41,0,44,0,76,0,93,0 86,0,89,0,39,0,6,0,20,0,73,0 47,0,55,0,81,0,46,0,77,0,51,0 22,0,69,0,88,0,87,0,50,0,62,0 64,0,15,0,49,0,63,0,21,0,92,0 65,0,79,0,11,0,1,0,42,0,16,0 56,0,19,0,40,0,7,0,17,0,14,0 33,0,68,0,10,0,18,0,43,0,83,0 24,0,53,0,5,0,67,0,91,0,29,0 28,0,31,0,95,0,52,0,34,0,38,0 60,0,23,0,2,0,8,0,71,0,36,0 4,0,32,0,26,0,84,0,78,0,82,0 64,0,13,0,86,0,76,0,27,0,47,0 94,0,50,0,51,0,42,0,58,0,92,0 90,0,89,0,16,0,69,0,19,0,12,0 77,0,21,0,20,0,9,0,68,0,22,0 7,0,75,0,67,0,55,0,87,0,33,0 10,0,40,0,37,0,1,0,73,0,57,0 53,0,43,0,85,0,14,0,95,0,44,0 31,0,84,0,54,0,71,0,62,0,80,0 5,0,18,0,25,0,32,0,45,0,23,0 61,0,52,0,91,0,60,0,3,0,49,0 15,0,66,0,88,0,34,0,36,0,4,0 41,0,56,0,38,0,65,0,74,0,26,0 24,0,59,0,70,0,93,0,2,0,81,0 78,0,8,0,63,0,39,0,17,0,79,0 48,0,30,0,46,0,35,0,11,0,29,0 6,0,28,0,1,0,72,0,83,0,71,0 67,1,43,0,51,0,12,1,31,0,45,0 58,0,3,0,25,0,53,0,10,0,76,0 15,0,54,0,37,0,75,0,77,0,90,0 50,0,86,0,61,0,68,0,19,0,32,0 13,0,74,0,87,0,84,0,2,0,20,0 47,0,22,0,39,0,59,0,14,0,49,0 40,0,92,0,30,0,26,0,79,0,95,0 85,0,16,0,82,0,21,0,34,0,70,0 88,0,33,0,65,0,78,0,94,0,27,0 52,0,89,0,29,0,66,0,8,0,81,0 56,0,73,0,91,0,46,0,93,0,23,0 36,0,28,0,11,0,63,0,57,0,69,0 72,0,38,0,60,0,42,0,5,0,7,0 35,0,4,0,9,0,55,0,83,0,17,0 6,0,44,0,80,0,64,0,18,0,48,0 24,0,62,0,68,0,41,0,3,0,37,0 61,0,33,0,20,0,40,0,59,0,54,0 47,0,70,0,71,0,65,0,87,0,45,0 13,0,58,0,81,0,26,0,15,0,91,0 49,0,89,0,27,0,67,0,56,0,50,0 22,0,5,0,46,0,19,0,92,0,28,0 72,0,17,0,52,0,86,0,85,0,36,0 55,0,73,0,63,0,84,0,42,0,18,0 4,0,69,0,95,0,8,0,21,0,48,0 83,0,51,0,82,0,38,0,62,0,25,0 66,0,24,0,10,0,74,0,64,0,7,0 34,0,60,0,41,0,35,0,1,0,53,0 23,0,57,0,14,0,12,0,78,0,76,0 93,0,75,0,16,0,9,0,6,0,29,0 94,0,39,0,11,0,44,0,90,0,31,0 88,0,32,0,79,0,80,0,43,0,2,0 77,0,73,0,70,0,30,0,28,0,50,0 92,0,4,0,67,0,65,0,13,0,52,0 37,0,5,0,95,0,86,0,74,0,71,0 89,0,91,0,59,0,82,0,87,0,68,0 26,0,1,0,51,0,3,0,48,0,17,0 12,0,29,0,58,0,33,0,63,0,41,0 36,0,25,0,7,0,47,0,21,0,44,0 62,0,76,0,18,0,46,0,2,0,90,0 19,0,54,0,53,0,66,0,55,0,11,0 23,0,69,0,49,0,9,0,79,0,38,0 64,0,20,0,16,0,60,0,32,0,94,0 43,0,77,0,78,0,35,0,40,0,6,0 75,0,30,0,14,0,31,0,88,0,81,0 8,0,10,0,45,0,61,0,34,0,72,0 56,0,83,0,42,0,85,0,22,0,24,0 27,0,57,0,39,0,15,0,84,0,93,0 80,0,63,0,59,0,53,0,4,0,37,0 12,0,36,0,62,0,49,0,74,0,70,0 21,0,79,0,54,0,94,0,52,0,87,0 17,0,25,0,67,0,16,0,41,0,66,0 58,0,64,0,1,0,46,0,78,0,31,0 6,0,76,0,45,0,82,0,55,0,88,0 50,0,5,0,83,0,11,0,13,0,3,0 69,0,71,0,92,0,43,0,24,0,20,0 86,0,35,0,93,0,22,0,80,0,10,0 72,0,65,0,19,0,30,0,51,0,39,0 57,0,68,0,56,0,95,0,60,0,47,0 34,0,27,0,2,0,75,0,48,0,73,0 40,0,29,0,44,0,32,0,15,0,38,0 14,0,42,0,26,0,61,0,77,0,89,0 90,0,85,0,81,0,84,0,33,0,23,0 8,0,7,0,91,0,28,0,9,0,18,0 76,0,66,0,20,0,80,0,5,0,49,0 36,0,82,0,46,0,24,0,54,0,50,0 93,0,17,0,62,0,95,0,64,0,65,0 3,0,79,0,55,0,71,0,56,0,34,0 1,0,2,0,15,0,45,0,30,0,52,0 40,0,53,0,75,0,12,0,94,0,22,0 44,0,61,0,23,0,13,0,51,0,63,0 69,0,78,0,81,0,83,0,41,0,7,0 48,0,31,0,57,0,16,0,33,0,72,0 35,0,42,0,8,0,25,0,68,0,70,0 84,0,21,0,38,0,86,0,14,0,67,0 29,0,60,0,74,0,39,0,77,0,88,0 19,0,18,0,87,0,58,0,4,0,27,0 9,0,73,0,90,0,43,0,59,0,26,0 47,0,92,0,6,0,11,0,37,0,91,0 10,0,32,0,85,0,89,0,28,0,51,0 20,0,55,0,41,0,15,0,23,0,50,0 71,0,49,0,53,0,81,0,16,0,68,0 94,0,63,0,93,0,67,0,83,0,48,0 45,0,21,0,39,0,40,0,66,0,13,0 57,0,44,0,30,0,86,0,82,0,8,0 59,0,36,0,77,0,95,0,19,0,1,0 33,0,74,0,46,0,25,0,79,0,4,0 87,0,64,0,12,0,61,0,56,0,5,0 2,0,7,0,58,0,65,0,22,0,37,0 14,0,80,0,29,0,92,0,73,0,3,0 17,0,84,0,76,0,60,0,28,0,43,0 26,0,35,0,31,0,85,0,69,0,18,0 52,0,32,0,42,0,62,0,27,0,6,0 90,0,38,0,88,0,10,0,70,0,91,0 24,0,72,0,78,0,89,0,75,0,11,0 34,0,9,0,67,0,54,0,47,0,12,0 ================================================ FILE: schedules/95_9.csv ================================================ 77,0,95,0,87,0,88,0,80,0,70,0 33,0,24,0,48,0,16,0,38,0,6,0 3,0,27,0,58,0,76,0,63,0,36,0 42,0,64,0,32,0,90,0,5,0,59,0 73,0,50,0,15,0,34,0,53,0,82,0 12,0,84,0,1,0,60,0,37,0,89,0 17,0,66,0,35,0,56,0,40,0,72,0 7,0,94,0,23,0,19,0,75,0,54,0 62,0,26,0,11,0,83,0,65,0,43,0 8,0,67,0,41,0,21,0,52,0,14,0 57,0,29,0,69,0,44,0,25,0,45,0 31,0,91,0,13,0,9,0,22,0,78,0 71,0,49,0,18,0,10,0,30,0,39,0 86,0,51,0,93,0,74,0,4,0,46,0 28,0,61,0,2,0,55,0,47,0,79,0 85,0,92,0,68,0,81,0,20,0,89,0 62,0,15,0,66,0,90,0,19,0,3,0 67,0,76,0,88,0,48,0,23,0,64,0 29,0,12,0,65,0,95,0,17,0,38,0 60,0,44,0,63,0,50,0,14,0,40,0 1,0,82,0,78,0,49,0,11,0,42,0 83,0,52,0,9,0,51,0,71,0,72,0 4,0,79,0,87,0,8,0,39,0,69,0 31,0,25,0,30,0,55,0,27,0,68,0 33,0,26,0,20,0,13,0,34,0,56,0 77,0,92,0,22,0,16,0,43,0,7,0 59,0,57,0,35,0,85,0,94,0,61,0 47,0,75,0,74,0,37,0,41,0,36,0 10,0,53,0,84,0,70,0,86,0,54,0 91,0,6,0,5,0,28,0,46,0,45,0 24,0,93,0,73,0,18,0,81,0,2,0 32,0,80,0,49,0,58,0,21,0,25,0 51,1,60,0,56,0,68,1,67,0,11,0 7,1,12,0,8,0,55,0,64,0,26,0 82,0,90,0,83,0,94,0,13,0,69,0 34,0,14,0,48,0,3,0,61,0,31,0 4,0,71,0,89,0,16,0,63,0,29,0 42,0,66,0,20,0,9,0,45,0,75,0 40,0,27,0,85,0,86,0,88,0,91,0 22,0,28,0,62,0,50,0,87,0,76,0 46,0,54,0,52,0,59,0,44,0,79,0 65,0,10,0,36,0,6,0,2,0,57,0 32,0,18,0,77,0,74,0,15,0,33,0 73,0,92,0,35,0,37,0,23,0,80,0 47,0,5,0,39,0,70,0,43,0,38,0 30,0,21,0,93,0,1,0,95,0,72,0 41,0,58,0,78,0,53,0,17,0,24,0 84,0,81,0,61,0,19,0,63,0,22,0 62,0,16,0,67,0,55,0,85,0,9,0 36,0,87,0,82,0,60,0,52,0,25,0 86,0,79,0,6,0,56,0,15,0,12,0 28,0,64,0,35,0,65,0,74,0,34,0 10,0,40,0,3,0,69,0,26,0,92,0 71,0,77,0,54,0,27,0,73,0,1,0 50,0,5,0,49,0,7,0,48,0,41,0 33,0,91,0,81,0,75,0,95,0,44,0 80,0,47,0,76,0,90,0,45,0,93,0 57,0,89,0,38,0,51,0,18,0,66,0 68,0,2,0,78,0,70,0,94,0,14,0 11,0,17,0,59,0,21,0,84,0,88,0 29,0,24,0,39,0,19,0,83,0,46,0 4,0,37,0,30,0,13,0,58,0,43,0 23,0,53,0,20,0,31,0,32,0,72,0 42,0,25,0,48,0,8,0,65,0,40,0 61,0,56,0,50,0,92,0,64,0,1,0 41,0,95,0,79,0,57,0,76,0,73,0 67,0,2,0,86,0,34,0,75,0,5,0 63,0,11,0,85,0,87,0,7,0,93,0 10,0,55,0,90,0,24,0,21,0,51,0 46,0,69,0,30,0,60,0,81,0,77,0 23,0,49,0,9,0,68,0,12,0,3,0 71,0,22,0,47,0,20,0,58,0,94,0 66,0,29,0,84,0,78,0,26,0,32,0 17,0,89,0,74,0,54,0,45,0,43,0 39,0,52,0,91,0,53,0,42,0,35,0 19,0,38,0,59,0,31,0,36,0,8,0 62,0,80,0,27,0,82,0,33,0,4,0 14,0,88,0,13,0,28,0,15,0,72,0 37,0,83,0,18,0,6,0,70,0,44,0 16,0,23,0,58,0,87,0,10,0,1,0 46,0,50,0,65,0,78,0,85,0,47,0 92,0,41,0,11,0,25,0,2,0,66,0 17,0,68,0,75,0,90,0,73,0,39,0 38,0,40,0,93,0,61,0,20,0,67,0 81,0,94,0,12,0,52,0,31,0,4,0 30,0,36,0,15,0,80,0,51,0,5,0 72,0,37,0,8,0,62,0,54,0,29,0 69,0,22,0,34,0,32,0,70,0,89,0 88,0,83,0,55,0,33,0,57,0,49,0 74,0,48,0,91,0,60,0,79,0,71,0 84,0,43,0,6,0,42,0,95,0,27,0 45,0,19,0,82,0,16,0,64,0,18,0 21,0,63,0,53,0,9,0,28,0,56,0 86,0,3,0,7,0,44,0,35,0,13,0 14,0,76,0,24,0,59,0,77,0,26,0 25,0,1,0,70,0,15,0,85,0,17,0 61,0,65,0,73,0,30,0,52,0,33,0 34,0,90,0,92,0,46,0,87,0,57,0 10,0,93,0,94,0,5,0,8,0,89,0 54,0,81,0,6,0,82,0,67,0,47,0 56,0,78,0,55,0,71,0,23,0,36,0 75,0,21,0,35,0,38,0,27,0,83,0 51,0,64,0,40,0,77,0,41,0,62,0 79,0,32,0,88,0,7,0,37,0,9,0 18,0,14,0,43,0,29,0,91,0,20,0 11,0,45,0,39,0,58,0,50,0,12,0 72,0,26,0,19,0,74,0,42,0,80,0 2,0,60,0,95,0,4,0,22,0,3,0 44,0,28,0,31,0,24,0,49,0,84,0 66,0,63,0,86,0,69,0,48,0,59,0 76,0,16,0,13,0,68,0,53,0,5,0 15,0,40,0,81,0,21,0,71,0,87,0 54,0,56,0,83,0,91,0,41,0,32,0 52,0,7,0,64,0,47,0,17,0,57,0 45,0,36,0,1,0,79,0,94,0,26,0 78,0,72,0,43,0,3,0,33,0,67,0 55,0,6,0,50,0,20,0,77,0,35,0 85,0,22,0,12,0,73,0,48,0,51,0 31,0,69,0,42,0,2,0,16,0,37,0 62,0,86,0,25,0,14,0,39,0,23,0 75,0,82,0,59,0,58,0,28,0,93,0 34,0,95,0,8,0,66,0,68,0,24,0 27,0,29,0,70,0,60,0,92,0,49,0 44,0,88,0,74,0,53,0,61,0,90,0 19,0,11,0,9,0,76,0,30,0,89,0 46,0,80,0,13,0,63,0,10,0,38,0 18,0,4,0,5,0,84,0,65,0,72,0 37,0,3,0,45,0,77,0,56,0,85,0 16,0,20,0,83,0,12,0,28,0,25,0 33,0,68,0,36,0,50,0,93,0,54,0 60,0,21,0,73,0,42,0,86,0,47,0 90,0,26,0,95,0,31,0,35,0,67,0 9,0,57,0,43,0,81,0,1,0,8,0 7,0,46,0,70,0,82,0,66,0,76,0 51,0,63,0,6,0,34,0,78,0,39,0 10,0,4,0,61,0,91,0,11,0,15,0 74,0,23,0,40,0,29,0,52,0,2,0 89,0,53,0,65,0,14,0,49,0,79,0 18,0,59,0,80,0,41,0,55,0,22,0 48,0,13,0,19,0,32,0,17,0,27,0 71,0,75,0,24,0,62,0,92,0,88,0 38,0,94,0,87,0,44,0,64,0,30,0 58,0,69,0,68,0,84,0,51,0,7,0 ================================================ FILE: schedules/96_1.csv ================================================ 8,0,32,0,6,0,23,0,62,0,94,0 12,0,93,0,34,0,11,0,9,0,35,0 50,0,33,0,13,0,36,0,52,0,53,0 2,0,51,0,64,0,63,0,26,0,18,0 91,0,25,0,10,0,37,0,71,0,16,0 56,0,45,0,38,0,20,0,95,0,49,0 70,0,69,0,76,0,17,0,83,0,29,0 72,0,5,0,27,0,89,0,80,0,7,0 14,0,54,0,30,0,67,0,61,0,92,0 3,0,78,0,82,0,79,0,65,0,85,0 57,0,73,0,39,0,60,0,46,0,19,0 1,0,84,0,59,0,48,0,74,0,28,0 15,0,88,0,47,0,87,0,41,0,90,0 24,0,66,0,21,0,40,0,44,0,86,0 31,0,58,0,4,0,55,0,81,0,77,0 42,0,75,0,96,0,68,0,43,0,22,0 ================================================ FILE: schedules/96_10.csv ================================================ 82,0,23,0,22,0,34,0,27,0,95,0 17,0,87,0,47,0,8,0,30,0,74,0 20,0,37,0,86,0,50,0,45,0,80,0 14,0,1,0,48,0,92,0,6,0,58,0 40,0,59,0,72,0,73,0,12,0,67,0 71,0,43,0,15,0,76,0,85,0,44,0 94,0,31,0,4,0,79,0,9,0,25,0 36,0,83,0,57,0,75,0,52,0,78,0 46,0,7,0,5,0,19,0,18,0,60,0 96,0,91,0,56,0,13,0,93,0,89,0 24,0,11,0,54,0,88,0,32,0,81,0 53,0,26,0,49,0,65,0,68,0,39,0 90,0,69,0,84,0,28,0,10,0,29,0 61,0,3,0,16,0,62,0,2,0,35,0 21,0,55,0,66,0,42,0,38,0,77,0 63,0,70,0,33,0,64,0,41,0,51,0 72,0,6,0,4,0,27,0,19,0,85,0 94,0,80,0,48,0,93,0,31,0,23,0 44,0,81,0,9,0,59,0,17,0,86,0 78,0,24,0,34,0,76,0,40,0,26,0 39,0,52,0,20,0,96,0,79,0,28,0 65,0,83,0,13,0,14,0,87,0,61,0 53,0,71,0,75,0,56,0,77,0,29,0 16,0,36,0,10,0,64,0,18,0,21,0 73,0,51,0,37,0,60,0,92,0,25,0 33,0,57,0,49,0,54,0,3,0,69,0 15,0,32,0,12,0,74,0,5,0,1,0 67,0,22,0,30,0,62,0,68,0,90,0 88,0,84,0,45,0,91,0,7,0,66,0 89,0,50,0,8,0,70,0,58,0,55,0 47,0,35,0,42,0,82,0,46,0,63,0 41,0,2,0,95,0,38,0,11,0,43,0 77,0,83,0,60,0,24,0,59,0,16,0 78,0,25,0,93,0,28,0,61,0,85,0 57,0,31,0,71,0,65,0,10,0,1,0 20,0,68,0,18,0,51,0,6,0,17,0 96,0,81,0,34,0,53,0,48,0,64,0 21,0,92,0,8,0,40,0,27,0,75,0 80,0,39,0,66,0,29,0,62,0,54,0 69,0,95,0,9,0,45,0,19,0,55,0 33,0,35,0,50,0,5,0,67,0,52,0 89,0,88,0,87,0,82,0,44,0,72,0 32,0,79,0,58,0,3,0,26,0,38,0 46,0,15,0,41,0,90,0,56,0,23,0 73,0,13,0,74,0,2,0,94,0,70,0 12,0,7,0,63,0,36,0,43,0,37,0 30,0,91,0,14,0,11,0,42,0,76,0 49,0,84,0,22,0,86,0,4,0,47,0 80,0,95,0,67,0,17,0,57,0,92,0 62,0,59,0,85,0,64,0,50,0,75,0 65,0,34,0,93,0,52,0,19,0,32,0 68,0,45,0,87,0,1,0,27,0,79,0 6,0,26,0,28,0,13,0,41,0,81,0 51,0,31,0,29,0,16,0,74,0,38,0 21,0,9,0,7,0,20,0,48,0,33,0 3,0,73,0,11,0,44,0,77,0,47,0 35,0,72,0,24,0,37,0,66,0,18,0 2,0,25,0,84,0,71,0,30,0,46,0 78,0,23,0,4,0,43,0,91,0,8,0 53,0,60,0,82,0,36,0,69,0,70,0 40,0,5,0,56,0,49,0,61,0,10,0 55,0,76,0,96,0,54,0,83,0,63,0 90,0,89,0,86,0,94,0,12,0,14,0 22,0,58,0,39,0,88,0,42,0,15,0 85,0,17,0,77,0,41,0,45,0,48,0 16,0,27,0,44,0,33,0,46,0,65,0 92,0,74,0,26,0,84,0,35,0,43,0 13,0,52,0,18,0,69,0,38,0,23,0 72,0,62,0,32,0,95,0,49,0,36,0 40,0,66,0,83,0,51,0,71,0,3,0 11,0,21,0,68,0,86,0,29,0,82,0 8,0,28,0,2,0,88,0,14,0,63,0 25,0,39,0,91,0,57,0,90,0,81,0 94,0,15,0,60,0,20,0,30,0,75,0 67,0,96,0,37,0,42,0,31,0,87,0 78,0,55,0,59,0,6,0,5,0,22,0 53,0,73,0,10,0,89,0,24,0,79,0 9,0,50,0,93,0,12,0,54,0,47,0 1,0,34,0,56,0,7,0,4,0,70,0 64,0,19,0,76,0,80,0,58,0,61,0 91,0,38,0,48,0,86,0,83,0,28,0 13,0,45,0,71,0,8,0,49,0,35,0 88,0,51,0,94,0,77,0,67,0,26,0 40,0,14,0,18,0,96,0,33,0,15,0 32,0,2,0,90,0,59,0,20,0,53,0 25,0,65,0,22,0,11,0,69,0,72,0 85,0,42,0,1,0,60,0,89,0,52,0 6,0,63,0,39,0,34,0,31,0,44,0 93,0,62,0,87,0,7,0,57,0,55,0 43,0,54,0,82,0,73,0,16,0,75,0 68,0,10,0,4,0,74,0,58,0,81,0 30,0,70,0,27,0,9,0,3,0,80,0 78,0,12,0,64,0,66,0,17,0,56,0 5,0,92,0,76,0,36,0,41,0,47,0 29,0,46,0,24,0,95,0,50,0,61,0 79,0,37,0,19,0,84,0,21,0,23,0 7,0,14,0,71,0,39,0,67,0,69,0 75,0,44,0,1,0,2,0,96,0,51,0 53,0,58,0,86,0,18,0,43,0,31,0 52,0,59,0,82,0,80,0,25,0,10,0 38,0,27,0,88,0,78,0,20,0,35,0 5,0,89,0,17,0,83,0,62,0,34,0 90,0,48,0,40,0,4,0,36,0,50,0 92,0,49,0,81,0,16,0,12,0,23,0 24,0,41,0,87,0,21,0,3,0,22,0 15,0,70,0,54,0,68,0,77,0,19,0 46,0,76,0,8,0,9,0,73,0,6,0 79,0,63,0,30,0,66,0,13,0,95,0 72,0,45,0,64,0,93,0,26,0,60,0 56,0,11,0,74,0,37,0,33,0,28,0 29,0,65,0,85,0,55,0,47,0,91,0 61,0,32,0,94,0,57,0,42,0,84,0 48,0,49,0,24,0,25,0,75,0,67,0 27,0,77,0,43,0,62,0,81,0,52,0 10,0,3,0,19,0,96,0,78,0,86,0 16,0,13,0,88,0,76,0,53,0,1,0 92,0,66,0,69,0,46,0,34,0,68,0 73,0,15,0,17,0,50,0,31,0,7,0 45,0,12,0,33,0,29,0,22,0,2,0 41,0,32,0,55,0,35,0,40,0,60,0 95,0,8,0,56,0,20,0,85,0,83,0 57,0,47,0,51,0,72,0,14,0,23,0 74,0,79,0,36,0,80,0,71,0,42,0 30,0,38,0,61,0,4,0,89,0,39,0 84,0,18,0,70,0,11,0,59,0,93,0 44,0,58,0,28,0,94,0,21,0,54,0 63,0,9,0,26,0,5,0,91,0,87,0 65,0,6,0,37,0,82,0,90,0,64,0 96,0,43,0,60,0,68,0,50,0,88,0 76,0,86,0,25,0,33,0,66,0,32,0 81,0,36,0,3,0,45,0,14,0,56,0 7,0,10,0,83,0,72,0,30,0,92,0 34,0,67,0,20,0,74,0,61,0,55,0 22,0,13,0,44,0,29,0,48,0,57,0 52,0,70,0,46,0,31,0,21,0,91,0 93,0,75,0,69,0,35,0,6,0,79,0 59,0,42,0,54,0,8,0,41,0,65,0 2,0,23,0,77,0,40,0,87,0,58,0 1,0,94,0,62,0,78,0,47,0,18,0 38,0,63,0,19,0,90,0,49,0,17,0 82,0,85,0,9,0,84,0,39,0,24,0 89,0,26,0,37,0,95,0,15,0,16,0 5,0,64,0,71,0,27,0,28,0,73,0 80,0,4,0,11,0,53,0,12,0,51,0 31,0,72,0,61,0,8,0,81,0,33,0 45,0,34,0,57,0,59,0,58,0,30,0 56,0,52,0,86,0,55,0,88,0,92,0 40,0,20,0,29,0,93,0,63,0,1,0 50,0,91,0,49,0,79,0,77,0,82,0 2,0,47,0,67,0,15,0,6,0,66,0 75,0,3,0,65,0,84,0,95,0,5,0 16,0,28,0,68,0,7,0,80,0,32,0 19,0,43,0,42,0,13,0,51,0,24,0 74,0,23,0,64,0,44,0,25,0,89,0 60,0,11,0,90,0,71,0,9,0,78,0 17,0,53,0,54,0,14,0,22,0,37,0 21,0,69,0,26,0,4,0,73,0,62,0 18,0,39,0,27,0,41,0,12,0,83,0 70,0,87,0,35,0,48,0,76,0,10,0 36,0,96,0,38,0,85,0,94,0,46,0 ================================================ FILE: schedules/96_11.csv ================================================ 83,0,45,0,21,0,44,0,71,0,92,0 93,0,10,0,89,0,65,0,85,0,35,0 74,0,9,0,13,0,73,0,53,0,32,0 79,0,50,0,58,0,7,0,14,0,20,0 39,0,84,0,22,0,49,0,56,0,66,0 36,0,59,0,62,0,54,0,77,0,12,0 47,0,75,0,18,0,11,0,17,0,4,0 19,0,31,0,60,0,5,0,82,0,26,0 57,0,91,0,6,0,51,0,41,0,33,0 48,0,3,0,64,0,42,0,25,0,37,0 28,0,76,0,2,0,61,0,8,0,88,0 86,0,30,0,94,0,80,0,72,0,23,0 95,0,1,0,46,0,16,0,52,0,40,0 38,0,70,0,43,0,90,0,55,0,96,0 69,0,29,0,87,0,68,0,15,0,78,0 67,0,34,0,63,0,24,0,81,0,27,0 74,0,91,0,5,0,89,0,39,0,45,0 9,0,60,0,50,0,57,0,44,0,36,0 88,0,92,0,7,0,73,0,51,0,10,0 64,0,12,0,21,0,8,0,32,0,80,0 37,0,65,0,58,0,82,0,49,0,6,0 61,0,95,0,26,0,71,0,30,0,38,0 85,0,96,0,75,0,29,0,46,0,14,0 62,0,67,0,40,0,3,0,84,0,79,0 54,0,53,0,42,0,18,0,34,0,16,0 59,0,86,0,13,0,69,0,4,0,43,0 27,0,87,0,17,0,2,0,22,0,52,0 70,0,77,0,11,0,48,0,93,0,28,0 68,0,47,0,24,0,90,0,35,0,66,0 72,0,78,0,76,0,41,0,19,0,63,0 33,0,94,0,31,0,1,0,81,0,56,0 23,0,20,0,83,0,55,0,15,0,25,0 84,0,38,0,82,0,92,0,91,0,42,0 3,0,43,0,73,0,54,0,71,0,29,0 9,0,17,0,16,0,69,0,59,0,21,0 57,0,4,0,39,0,67,0,58,0,10,0 88,0,27,0,86,0,60,0,37,0,79,0 2,0,72,0,36,0,65,0,46,0,66,0 18,0,81,0,19,0,45,0,90,0,93,0 75,0,41,0,23,0,40,0,24,0,74,0 8,0,1,0,89,0,20,0,30,0,70,0 77,0,47,0,22,0,76,0,32,0,33,0 12,0,51,0,96,0,11,0,63,0,5,0 94,0,64,0,15,0,95,0,35,0,28,0 87,0,53,0,26,0,25,0,56,0,7,0 80,0,83,0,6,0,50,0,13,0,34,0 78,0,44,0,85,0,61,0,55,0,48,0 52,0,49,0,14,0,62,0,68,0,31,0 58,0,36,0,3,0,86,0,73,0,91,0 60,0,39,0,71,0,75,0,93,0,20,0 65,0,1,0,92,0,47,0,5,0,57,0 51,0,40,0,19,0,89,0,37,0,4,0 70,0,29,0,32,0,94,0,42,0,26,0 90,0,34,0,17,0,28,0,12,0,84,0 15,0,77,0,2,0,30,0,53,0,63,0 45,0,78,0,33,0,25,0,59,0,24,0 64,0,87,0,13,0,16,0,10,0,96,0 82,0,18,0,8,0,52,0,72,0,50,0 95,0,76,0,48,0,68,0,14,0,21,0 55,0,81,0,35,0,88,0,49,0,9,0 67,0,7,0,66,0,11,0,85,0,69,0 38,0,56,0,41,0,54,0,27,0,83,0 61,0,80,0,31,0,79,0,46,0,23,0 43,0,6,0,74,0,44,0,62,0,22,0 2,0,12,0,25,0,19,0,10,0,13,0 59,0,71,0,94,0,87,0,47,0,34,0 58,0,75,0,90,0,53,0,95,0,21,0 24,0,48,0,73,0,16,0,8,0,39,0 72,0,69,0,89,0,26,0,92,0,14,0 85,0,83,0,88,0,1,0,18,0,70,0 91,0,7,0,49,0,76,0,93,0,80,0 62,0,50,0,61,0,15,0,37,0,81,0 5,0,36,0,55,0,29,0,41,0,17,0 96,0,79,0,4,0,9,0,68,0,77,0 78,0,11,0,67,0,38,0,22,0,23,0 84,0,65,0,33,0,43,0,64,0,60,0 44,0,30,0,3,0,51,0,82,0,56,0 20,0,54,0,46,0,86,0,35,0,74,0 66,0,42,0,52,0,28,0,6,0,63,0 27,0,57,0,32,0,40,0,45,0,31,0 41,0,16,0,92,0,49,0,12,0,94,0 8,0,85,0,10,0,36,0,26,0,81,0 2,0,5,0,37,0,93,0,83,0,14,0 84,0,24,0,80,0,55,0,18,0,69,0 90,0,77,0,25,0,91,0,50,0,29,0 15,0,60,0,89,0,78,0,21,0,96,0 44,0,52,0,20,0,47,0,67,0,53,0 75,0,28,0,22,0,65,0,30,0,59,0 4,0,74,0,1,0,72,0,48,0,38,0 34,0,11,0,56,0,76,0,79,0,73,0 68,0,71,0,42,0,46,0,27,0,19,0 70,0,86,0,62,0,64,0,66,0,51,0 82,0,95,0,31,0,43,0,9,0,45,0 33,0,17,0,54,0,58,0,40,0,63,0 39,0,87,0,32,0,23,0,6,0,88,0 57,0,13,0,35,0,7,0,61,0,3,0 69,0,25,0,30,0,74,0,47,0,49,0 15,0,14,0,90,0,41,0,80,0,67,0 84,0,94,0,37,0,20,0,85,0,22,0 48,0,29,0,53,0,76,0,89,0,62,0 59,0,73,0,64,0,2,0,31,0,50,0 96,0,38,0,33,0,18,0,44,0,79,0 21,0,86,0,24,0,19,0,6,0,1,0 34,0,75,0,45,0,3,0,70,0,52,0 10,0,4,0,32,0,5,0,61,0,54,0 16,0,23,0,28,0,91,0,82,0,27,0 17,0,8,0,56,0,13,0,93,0,68,0 72,0,40,0,55,0,7,0,12,0,60,0 71,0,88,0,95,0,65,0,11,0,36,0 77,0,81,0,66,0,92,0,87,0,58,0 43,0,26,0,83,0,63,0,57,0,46,0 35,0,9,0,42,0,78,0,51,0,39,0 6,0,69,0,38,0,75,0,2,0,94,0 5,0,50,0,16,0,76,0,84,0,74,0 13,0,20,0,29,0,33,0,28,0,27,0 44,0,41,0,68,0,89,0,32,0,34,0 4,0,3,0,47,0,95,0,60,0,85,0 48,0,66,0,15,0,88,0,31,0,17,0 65,0,61,0,45,0,86,0,87,0,63,0 21,0,81,0,7,0,39,0,54,0,25,0 30,0,62,0,14,0,73,0,19,0,55,0 22,0,93,0,51,0,24,0,72,0,58,0 8,0,40,0,59,0,83,0,42,0,96,0 91,0,52,0,12,0,26,0,79,0,35,0 82,0,53,0,1,0,11,0,10,0,80,0 23,0,57,0,78,0,64,0,71,0,90,0 18,0,67,0,49,0,77,0,43,0,36,0 92,0,46,0,56,0,70,0,9,0,37,0 88,0,16,0,81,0,47,0,38,0,89,0 3,0,55,0,50,0,33,0,66,0,87,0 40,0,5,0,25,0,58,0,68,0,94,0 83,0,30,0,60,0,17,0,76,0,24,0 29,0,7,0,2,0,34,0,82,0,4,0 69,0,54,0,51,0,52,0,23,0,65,0 45,0,72,0,20,0,64,0,85,0,77,0 11,0,90,0,46,0,62,0,92,0,8,0 73,0,95,0,80,0,22,0,57,0,37,0 35,0,53,0,6,0,84,0,96,0,36,0 79,0,32,0,19,0,75,0,48,0,43,0 26,0,70,0,21,0,78,0,49,0,13,0 14,0,74,0,61,0,56,0,42,0,12,0 15,0,59,0,27,0,44,0,1,0,39,0 9,0,28,0,41,0,67,0,93,0,86,0 31,0,63,0,91,0,10,0,18,0,71,0 82,0,73,0,89,0,94,0,66,0,83,0 24,0,62,0,57,0,38,0,85,0,87,0 92,0,25,0,79,0,95,0,6,0,17,0 47,0,51,0,13,0,46,0,55,0,45,0 80,0,43,0,56,0,78,0,20,0,88,0 39,0,36,0,52,0,64,0,33,0,61,0 75,0,42,0,5,0,7,0,77,0,86,0 63,0,44,0,23,0,84,0,14,0,8,0 40,0,65,0,91,0,15,0,34,0,9,0 18,0,21,0,22,0,41,0,26,0,2,0 4,0,72,0,71,0,28,0,81,0,53,0 68,0,12,0,67,0,70,0,54,0,50,0 74,0,96,0,93,0,3,0,27,0,31,0 76,0,35,0,37,0,32,0,69,0,1,0 49,0,60,0,48,0,10,0,59,0,90,0 30,0,19,0,58,0,16,0,29,0,11,0 77,0,52,0,94,0,13,0,24,0,43,0 34,0,46,0,85,0,21,0,33,0,5,0 73,0,28,0,18,0,6,0,40,0,78,0 67,0,56,0,55,0,95,0,89,0,2,0 82,0,63,0,64,0,74,0,75,0,88,0 31,0,71,0,37,0,7,0,41,0,8,0 10,0,79,0,49,0,42,0,15,0,72,0 11,0,81,0,59,0,68,0,84,0,57,0 30,0,93,0,27,0,32,0,50,0,92,0 80,0,16,0,25,0,70,0,44,0,4,0 29,0,58,0,38,0,35,0,45,0,23,0 76,0,90,0,87,0,36,0,20,0,51,0 19,0,53,0,61,0,22,0,3,0,69,0 14,0,54,0,66,0,1,0,91,0,60,0 65,0,17,0,26,0,96,0,62,0,39,0 47,0,9,0,86,0,83,0,48,0,12,0 ================================================ FILE: schedules/96_12.csv ================================================ 44,0,86,0,21,0,83,0,76,0,84,0 23,0,45,0,24,0,5,0,89,0,49,0 14,0,22,0,77,0,39,0,74,0,91,0 16,0,50,0,28,0,34,0,27,0,36,0 3,0,96,0,41,0,57,0,7,0,70,0 13,0,20,0,12,0,95,0,4,0,47,0 75,0,66,0,42,0,53,0,93,0,15,0 6,0,55,0,38,0,43,0,85,0,37,0 9,0,51,0,87,0,10,0,73,0,32,0 46,0,78,0,71,0,59,0,92,0,52,0 48,0,11,0,72,0,68,0,33,0,63,0 81,0,79,0,61,0,17,0,58,0,35,0 65,0,19,0,29,0,2,0,88,0,31,0 69,0,64,0,54,0,18,0,94,0,62,0 67,0,1,0,82,0,25,0,56,0,40,0 30,0,26,0,60,0,90,0,8,0,80,0 55,0,7,0,36,0,15,0,51,0,89,0 96,0,24,0,38,0,9,0,84,0,75,0 45,0,71,0,50,0,86,0,41,0,43,0 68,0,87,0,35,0,76,0,39,0,66,0 78,0,47,0,37,0,88,0,42,0,79,0 28,0,11,0,44,0,5,0,69,0,6,0 12,0,19,0,54,0,92,0,74,0,17,0 85,0,64,0,58,0,2,0,13,0,67,0 83,0,18,0,52,0,40,0,57,0,60,0 14,0,25,0,21,0,32,0,53,0,33,0 77,0,1,0,10,0,72,0,70,0,26,0 93,0,81,0,20,0,29,0,59,0,62,0 90,0,3,0,61,0,27,0,4,0,56,0 16,0,22,0,8,0,65,0,49,0,82,0 95,0,63,0,91,0,46,0,94,0,23,0 73,0,31,0,48,0,34,0,80,0,30,0 42,0,12,0,76,0,6,0,24,0,7,0 60,0,87,0,79,0,43,0,38,0,15,0 17,0,50,0,51,0,66,0,72,0,37,0 44,0,2,0,96,0,36,0,32,0,52,0 9,0,78,0,33,0,26,0,28,0,13,0 58,0,74,0,90,0,70,0,88,0,62,0 91,0,35,0,93,0,19,0,95,0,1,0 82,0,75,0,34,0,18,0,23,0,41,0 55,0,8,0,69,0,27,0,45,0,57,0 49,0,64,0,25,0,31,0,77,0,71,0 73,0,56,0,67,0,92,0,5,0,63,0 48,0,29,0,80,0,53,0,86,0,22,0 85,0,21,0,40,0,94,0,20,0,61,0 39,0,3,0,89,0,46,0,11,0,65,0 10,0,4,0,68,0,84,0,81,0,16,0 30,0,14,0,47,0,54,0,83,0,59,0 28,0,43,0,33,0,51,0,82,0,8,0 93,0,55,0,88,0,44,0,17,0,25,0 23,0,56,0,79,0,9,0,13,0,42,0 64,0,52,0,74,0,91,0,87,0,26,0 70,0,73,0,24,0,19,0,69,0,22,0 95,0,45,0,77,0,63,0,60,0,58,0 29,0,85,0,12,0,84,0,71,0,1,0 89,0,65,0,27,0,47,0,35,0,80,0 46,0,72,0,6,0,36,0,21,0,57,0 94,0,38,0,10,0,41,0,59,0,4,0 7,0,5,0,34,0,68,0,20,0,53,0 39,0,75,0,2,0,62,0,83,0,61,0 15,0,54,0,16,0,96,0,67,0,48,0 32,0,92,0,30,0,49,0,18,0,3,0 11,0,37,0,81,0,90,0,86,0,66,0 40,0,31,0,50,0,76,0,78,0,14,0 36,0,93,0,87,0,69,0,80,0,71,0 91,0,56,0,47,0,21,0,60,0,41,0 17,0,68,0,29,0,45,0,64,0,73,0 27,0,62,0,43,0,9,0,5,0,72,0 6,0,83,0,25,0,96,0,13,0,8,0 34,0,15,0,57,0,54,0,4,0,24,0 20,0,92,0,65,0,79,0,28,0,1,0 86,0,58,0,94,0,31,0,16,0,51,0 50,0,59,0,32,0,90,0,39,0,23,0 19,0,70,0,18,0,84,0,37,0,48,0 12,0,14,0,63,0,89,0,66,0,2,0 35,0,53,0,52,0,3,0,85,0,88,0 22,0,81,0,33,0,38,0,77,0,40,0 46,0,61,0,76,0,74,0,30,0,82,0 75,0,44,0,78,0,10,0,7,0,49,0 42,0,67,0,95,0,11,0,55,0,26,0 31,0,36,0,39,0,13,0,92,0,43,0 45,0,83,0,9,0,25,0,65,0,37,0 72,0,84,0,87,0,23,0,20,0,8,0 91,0,59,0,89,0,68,0,88,0,48,0 3,0,60,0,69,0,81,0,64,0,51,0 77,0,96,0,85,0,82,0,93,0,27,0 30,0,41,0,63,0,1,0,24,0,53,0 17,0,90,0,6,0,2,0,16,0,80,0 40,0,74,0,47,0,38,0,49,0,28,0 32,0,75,0,79,0,12,0,11,0,22,0 26,0,15,0,5,0,50,0,46,0,29,0 21,0,67,0,4,0,35,0,18,0,44,0 66,0,94,0,7,0,33,0,52,0,73,0 55,0,70,0,86,0,54,0,78,0,61,0 56,0,19,0,76,0,58,0,34,0,10,0 95,0,57,0,62,0,42,0,71,0,14,0 49,0,84,0,93,0,28,0,89,0,41,0 27,0,53,0,59,0,64,0,91,0,37,0 24,0,11,0,36,0,47,0,8,0,17,0 23,0,74,0,85,0,48,0,81,0,92,0 13,0,88,0,82,0,45,0,72,0,94,0 32,0,61,0,67,0,43,0,77,0,65,0 70,0,40,0,16,0,29,0,30,0,44,0 80,0,58,0,5,0,39,0,78,0,21,0 26,0,31,0,52,0,68,0,79,0,54,0 2,0,38,0,69,0,56,0,66,0,95,0 46,0,14,0,7,0,19,0,25,0,86,0 34,0,62,0,87,0,12,0,55,0,3,0 57,0,76,0,18,0,1,0,22,0,9,0 73,0,75,0,60,0,4,0,6,0,50,0 96,0,20,0,63,0,42,0,90,0,51,0 10,0,35,0,71,0,15,0,33,0,83,0 84,0,64,0,82,0,47,0,92,0,11,0 61,0,8,0,48,0,93,0,52,0,95,0 41,0,72,0,25,0,79,0,16,0,39,0 17,0,38,0,62,0,7,0,32,0,26,0 1,0,80,0,44,0,59,0,3,0,45,0 49,0,27,0,94,0,60,0,70,0,76,0 65,0,86,0,2,0,75,0,68,0,18,0 4,0,23,0,78,0,66,0,96,0,29,0 22,0,51,0,34,0,6,0,14,0,35,0 20,0,9,0,71,0,58,0,55,0,30,0 5,0,36,0,42,0,74,0,83,0,19,0 89,0,31,0,33,0,67,0,37,0,57,0 10,0,43,0,50,0,63,0,54,0,85,0 56,0,53,0,46,0,28,0,12,0,77,0 69,0,40,0,13,0,90,0,91,0,15,0 88,0,81,0,24,0,87,0,73,0,21,0 14,0,1,0,23,0,38,0,61,0,16,0 27,0,95,0,80,0,18,0,79,0,7,0 60,0,59,0,84,0,74,0,72,0,35,0 93,0,66,0,92,0,6,0,45,0,58,0 20,0,70,0,33,0,36,0,75,0,64,0 2,0,29,0,57,0,10,0,47,0,51,0 55,0,83,0,91,0,82,0,31,0,32,0 44,0,54,0,42,0,9,0,46,0,8,0 88,0,40,0,37,0,12,0,68,0,41,0 39,0,86,0,49,0,34,0,69,0,63,0 28,0,90,0,94,0,24,0,67,0,87,0 15,0,11,0,78,0,85,0,76,0,73,0 89,0,43,0,30,0,56,0,17,0,22,0 21,0,5,0,13,0,3,0,77,0,48,0 25,0,52,0,50,0,65,0,62,0,4,0 71,0,19,0,26,0,96,0,53,0,81,0 75,0,58,0,46,0,1,0,55,0,64,0 86,0,6,0,88,0,23,0,33,0,27,0 51,0,74,0,95,0,24,0,44,0,31,0 47,0,42,0,85,0,18,0,91,0,45,0 28,0,59,0,22,0,61,0,15,0,63,0 3,0,82,0,14,0,90,0,29,0,79,0 80,0,68,0,67,0,62,0,9,0,49,0 83,0,78,0,12,0,93,0,72,0,38,0 35,0,56,0,70,0,11,0,50,0,87,0 21,0,10,0,30,0,69,0,92,0,96,0 52,0,5,0,41,0,76,0,81,0,17,0 16,0,89,0,19,0,20,0,60,0,32,0 66,0,26,0,36,0,57,0,84,0,25,0 40,0,4,0,48,0,39,0,7,0,43,0 13,0,73,0,54,0,71,0,65,0,53,0 77,0,94,0,37,0,8,0,2,0,34,0 93,0,90,0,47,0,46,0,22,0,31,0 18,0,72,0,55,0,56,0,14,0,24,0 3,0,68,0,28,0,23,0,58,0,83,0 33,0,85,0,17,0,87,0,95,0,49,0 25,0,38,0,11,0,80,0,61,0,91,0 44,0,82,0,81,0,50,0,89,0,42,0 45,0,51,0,84,0,78,0,30,0,67,0 4,0,92,0,53,0,70,0,9,0,2,0 71,0,94,0,32,0,6,0,74,0,48,0 69,0,43,0,26,0,12,0,35,0,16,0 59,0,57,0,79,0,73,0,86,0,77,0 34,0,96,0,65,0,40,0,5,0,66,0 41,0,15,0,8,0,21,0,19,0,64,0 37,0,27,0,39,0,52,0,20,0,10,0 29,0,76,0,63,0,75,0,13,0,62,0 1,0,54,0,7,0,60,0,88,0,36,0 68,0,22,0,84,0,94,0,50,0,55,0 95,0,53,0,6,0,89,0,78,0,82,0 31,0,17,0,59,0,4,0,42,0,69,0 70,0,66,0,79,0,83,0,46,0,67,0 57,0,90,0,65,0,48,0,44,0,12,0 15,0,19,0,23,0,52,0,47,0,77,0 81,0,91,0,72,0,28,0,75,0,30,0 36,0,8,0,62,0,86,0,56,0,85,0 24,0,10,0,74,0,25,0,20,0,3,0 2,0,32,0,45,0,54,0,40,0,35,0 88,0,76,0,80,0,43,0,64,0,96,0 51,0,18,0,71,0,38,0,5,0,39,0 9,0,7,0,63,0,93,0,16,0,21,0 61,0,60,0,92,0,34,0,33,0,29,0 37,0,73,0,49,0,14,0,58,0,26,0 41,0,87,0,1,0,27,0,13,0,11,0 ================================================ FILE: schedules/96_13.csv ================================================ 6,0,53,0,77,0,94,0,9,0,95,0 75,0,23,0,58,0,56,0,12,0,30,0 81,0,62,0,78,0,44,0,40,0,21,0 10,0,16,0,1,0,60,0,20,0,64,0 68,0,76,0,15,0,52,0,41,0,70,0 91,0,33,0,26,0,48,0,67,0,49,0 55,0,29,0,66,0,47,0,42,0,96,0 72,0,28,0,35,0,24,0,90,0,85,0 73,0,34,0,3,0,27,0,22,0,57,0 39,0,5,0,63,0,82,0,71,0,2,0 37,0,38,0,4,0,54,0,92,0,11,0 61,0,8,0,80,0,86,0,50,0,84,0 7,0,69,0,79,0,25,0,14,0,36,0 87,0,59,0,31,0,46,0,17,0,32,0 88,0,74,0,13,0,51,0,89,0,18,0 93,0,45,0,43,0,65,0,83,0,19,0 72,0,22,0,47,0,75,0,33,0,78,0 68,0,66,0,3,0,12,0,55,0,39,0 60,0,90,0,10,0,6,0,70,0,62,0 54,0,40,0,82,0,11,0,73,0,16,0 25,0,71,0,52,0,1,0,8,0,50,0 58,0,5,0,81,0,15,0,26,0,17,0 38,0,76,0,89,0,31,0,96,0,20,0 65,0,48,0,57,0,21,0,13,0,23,0 34,0,67,0,53,0,88,0,24,0,80,0 69,0,56,0,61,0,35,0,2,0,94,0 41,0,19,0,84,0,42,0,87,0,63,0 43,0,44,0,4,0,32,0,28,0,64,0 49,0,93,0,9,0,74,0,7,0,27,0 18,0,91,0,36,0,83,0,77,0,37,0 59,0,86,0,30,0,92,0,29,0,14,0 85,0,95,0,46,0,45,0,51,0,79,0 88,0,20,0,72,0,50,0,55,0,81,0 25,0,2,0,78,0,6,0,67,0,11,0 65,0,52,0,16,0,31,0,3,0,71,0 13,0,38,0,63,0,17,0,61,0,73,0 96,0,68,0,44,0,87,0,9,0,8,0 15,0,32,0,12,0,53,0,62,0,91,0 22,0,48,0,42,0,1,0,18,0,69,0 41,0,36,0,79,0,4,0,34,0,23,0 64,0,24,0,95,0,5,0,29,0,57,0 10,0,27,0,89,0,58,0,43,0,7,0 93,0,92,0,75,0,51,0,26,0,70,0 59,0,94,0,54,0,21,0,80,0,74,0 77,0,84,0,33,0,85,0,19,0,60,0 49,0,37,0,39,0,90,0,30,0,40,0 56,0,86,0,45,0,28,0,47,0,66,0 46,0,82,0,35,0,76,0,14,0,83,0 34,0,9,0,64,0,15,0,18,0,8,0 10,0,6,0,79,0,61,0,31,0,67,0 91,0,23,0,69,0,95,0,27,0,87,0 22,0,20,0,58,0,59,0,92,0,24,0 19,0,89,0,80,0,73,0,68,0,36,0 81,0,96,0,25,0,48,0,52,0,30,0 51,0,78,0,60,0,39,0,50,0,57,0 3,0,93,0,88,0,54,0,76,0,56,0 90,0,16,0,83,0,47,0,44,0,26,0 75,0,63,0,46,0,7,0,77,0,29,0 71,0,11,0,35,0,45,0,32,0,62,0 65,0,38,0,55,0,14,0,86,0,1,0 17,0,12,0,85,0,2,0,40,0,42,0 84,0,4,0,70,0,21,0,53,0,66,0 28,0,74,0,41,0,33,0,37,0,82,0 5,0,49,0,43,0,72,0,94,0,13,0 27,0,92,0,23,0,61,0,83,0,25,0 48,0,31,0,90,0,78,0,8,0,36,0 50,0,24,0,47,0,54,0,32,0,19,0 65,0,26,0,67,0,46,0,73,0,62,0 52,0,88,0,86,0,85,0,9,0,11,0 93,0,14,0,68,0,60,0,63,0,81,0 39,0,17,0,16,0,91,0,57,0,41,0 80,0,82,0,42,0,64,0,49,0,6,0 22,0,79,0,53,0,35,0,74,0,5,0 69,0,75,0,15,0,55,0,43,0,13,0 40,0,84,0,59,0,71,0,95,0,56,0 77,0,58,0,51,0,96,0,70,0,28,0 72,0,37,0,10,0,12,0,44,0,34,0 21,0,2,0,4,0,18,0,3,0,29,0 66,0,33,0,76,0,87,0,89,0,1,0 30,0,7,0,94,0,20,0,45,0,38,0 91,0,48,0,46,0,68,0,47,0,64,0 50,0,85,0,36,0,13,0,92,0,67,0 22,0,14,0,71,0,80,0,17,0,93,0 49,0,31,0,57,0,69,0,28,0,84,0 35,0,12,0,70,0,27,0,8,0,63,0 53,0,41,0,37,0,59,0,65,0,43,0 19,0,18,0,58,0,29,0,6,0,44,0 42,0,24,0,45,0,10,0,39,0,52,0 9,0,56,0,81,0,82,0,38,0,79,0 54,0,66,0,2,0,62,0,51,0,75,0 96,0,32,0,7,0,16,0,88,0,33,0 78,0,20,0,34,0,95,0,73,0,86,0 25,0,87,0,94,0,4,0,40,0,15,0 11,0,74,0,77,0,90,0,76,0,23,0 21,0,55,0,61,0,26,0,5,0,89,0 83,0,60,0,1,0,30,0,72,0,3,0 36,0,81,0,27,0,24,0,46,0,84,0 92,0,44,0,35,0,42,0,54,0,31,0 96,0,67,0,63,0,57,0,75,0,37,0 85,0,66,0,38,0,93,0,48,0,34,0 70,0,95,0,13,0,12,0,19,0,25,0 82,0,29,0,90,0,88,0,45,0,15,0 56,0,39,0,87,0,7,0,11,0,21,0 78,0,14,0,64,0,26,0,74,0,3,0 43,0,61,0,1,0,62,0,80,0,9,0 6,0,28,0,20,0,83,0,5,0,69,0 33,0,94,0,18,0,79,0,65,0,91,0 51,0,72,0,23,0,86,0,68,0,16,0 4,0,53,0,89,0,30,0,50,0,17,0 71,0,76,0,41,0,58,0,49,0,47,0 8,0,59,0,22,0,77,0,2,0,10,0 55,0,73,0,40,0,52,0,60,0,32,0 1,0,7,0,67,0,95,0,54,0,81,0 21,0,6,0,24,0,66,0,43,0,12,0 79,0,13,0,3,0,90,0,87,0,92,0 85,0,80,0,44,0,82,0,20,0,91,0 11,0,64,0,48,0,63,0,51,0,65,0 61,0,18,0,27,0,28,0,30,0,76,0 47,0,74,0,25,0,5,0,31,0,68,0 83,0,88,0,75,0,4,0,10,0,71,0 2,0,19,0,73,0,46,0,15,0,72,0 8,0,56,0,60,0,53,0,49,0,29,0 78,0,69,0,16,0,38,0,59,0,77,0 26,0,40,0,41,0,50,0,22,0,35,0 17,0,89,0,84,0,52,0,37,0,23,0 57,0,36,0,86,0,42,0,62,0,93,0 45,0,9,0,33,0,58,0,55,0,70,0 32,0,34,0,94,0,96,0,39,0,14,0 21,0,31,0,15,0,88,0,95,0,30,0 29,0,11,0,80,0,81,0,10,0,13,0 66,0,63,0,83,0,79,0,78,0,49,0 28,0,50,0,73,0,48,0,59,0,12,0 71,0,67,0,64,0,38,0,19,0,27,0 75,0,60,0,25,0,44,0,74,0,89,0 6,0,1,0,51,0,23,0,56,0,41,0 9,0,36,0,20,0,35,0,65,0,39,0 5,0,90,0,86,0,46,0,96,0,4,0 55,0,62,0,14,0,84,0,16,0,18,0 70,0,82,0,47,0,24,0,69,0,87,0 68,0,85,0,32,0,22,0,61,0,37,0 91,0,93,0,2,0,45,0,34,0,58,0 3,0,43,0,77,0,42,0,17,0,33,0 72,0,40,0,8,0,92,0,76,0,7,0 26,0,57,0,54,0,94,0,53,0,52,0 29,0,1,0,39,0,59,0,27,0,79,0 28,0,15,0,23,0,71,0,46,0,20,0 60,0,44,0,84,0,88,0,38,0,48,0 61,0,90,0,19,0,22,0,81,0,65,0 37,0,73,0,58,0,25,0,64,0,66,0 62,0,82,0,68,0,95,0,34,0,33,0 87,0,21,0,35,0,67,0,77,0,93,0 7,0,40,0,57,0,80,0,18,0,47,0 30,0,41,0,32,0,69,0,8,0,26,0 51,0,31,0,9,0,4,0,42,0,72,0 52,0,17,0,92,0,56,0,74,0,78,0 3,0,24,0,83,0,75,0,86,0,94,0 11,0,50,0,70,0,43,0,96,0,91,0 14,0,12,0,5,0,85,0,49,0,54,0 89,0,6,0,13,0,45,0,16,0,63,0 53,0,10,0,76,0,36,0,2,0,55,0 88,0,8,0,62,0,79,0,39,0,58,0 71,0,21,0,30,0,90,0,42,0,73,0 29,0,72,0,74,0,67,0,20,0,84,0 7,0,9,0,83,0,19,0,48,0,17,0 69,0,50,0,33,0,93,0,46,0,11,0 65,0,4,0,68,0,24,0,77,0,56,0 47,0,12,0,92,0,89,0,94,0,64,0 28,0,86,0,91,0,40,0,10,0,63,0 16,0,43,0,76,0,5,0,34,0,25,0 80,0,35,0,3,0,15,0,37,0,51,0 87,0,55,0,22,0,36,0,54,0,6,0 44,0,14,0,95,0,41,0,61,0,66,0 59,0,18,0,57,0,81,0,70,0,85,0 27,0,96,0,1,0,13,0,78,0,53,0 2,0,52,0,75,0,38,0,32,0,49,0 45,0,26,0,82,0,23,0,60,0,31,0 76,0,63,0,91,0,90,0,69,0,9,0 37,0,79,0,56,0,48,0,16,0,20,0 7,0,39,0,84,0,6,0,15,0,92,0 54,0,29,0,17,0,28,0,65,0,34,0 30,0,74,0,19,0,66,0,10,0,57,0 73,0,94,0,24,0,1,0,93,0,44,0 59,0,13,0,52,0,33,0,35,0,4,0 8,0,51,0,47,0,14,0,43,0,67,0 46,0,45,0,49,0,21,0,18,0,22,0 60,0,12,0,87,0,81,0,83,0,71,0 27,0,31,0,11,0,41,0,55,0,75,0 77,0,86,0,32,0,25,0,82,0,89,0 80,0,95,0,96,0,26,0,2,0,72,0 53,0,85,0,42,0,58,0,78,0,68,0 88,0,40,0,70,0,36,0,61,0,64,0 62,0,38,0,50,0,3,0,23,0,5,0 34,0,69,0,51,0,19,0,52,0,21,0 6,0,4,0,81,0,8,0,91,0,73,0 12,0,29,0,84,0,22,0,16,0,9,0 65,0,94,0,17,0,82,0,60,0,66,0 79,0,93,0,15,0,72,0,11,0,89,0 32,0,14,0,42,0,27,0,20,0,90,0 28,0,26,0,88,0,68,0,25,0,1,0 78,0,18,0,23,0,10,0,35,0,54,0 71,0,50,0,49,0,77,0,55,0,44,0 59,0,47,0,95,0,36,0,63,0,3,0 58,0,46,0,38,0,74,0,40,0,43,0 61,0,87,0,48,0,53,0,75,0,45,0 56,0,5,0,92,0,57,0,80,0,33,0 96,0,62,0,64,0,41,0,83,0,85,0 2,0,31,0,13,0,7,0,24,0,37,0 67,0,30,0,39,0,76,0,70,0,86,0 ================================================ FILE: schedules/96_14.csv ================================================ 77,0,66,0,62,0,18,0,23,0,25,0 5,0,50,0,30,0,24,0,12,0,71,0 29,0,15,0,89,0,83,0,16,0,8,0 35,0,49,0,57,0,88,0,34,0,20,0 93,0,75,0,76,0,56,0,47,0,54,0 82,0,6,0,37,0,17,0,61,0,74,0 55,0,14,0,7,0,33,0,45,0,32,0 21,0,19,0,87,0,64,0,81,0,53,0 51,0,42,0,13,0,1,0,80,0,48,0 9,0,27,0,28,0,43,0,73,0,44,0 68,0,26,0,86,0,10,0,38,0,40,0 39,0,70,0,72,0,41,0,60,0,46,0 3,0,92,0,69,0,11,0,91,0,79,0 85,0,67,0,94,0,52,0,78,0,90,0 22,0,63,0,65,0,59,0,2,0,58,0 84,0,96,0,95,0,4,0,31,0,36,0 80,0,83,0,50,0,56,0,53,0,19,0 16,0,55,0,12,0,49,0,18,0,61,0 40,0,68,0,64,0,48,0,76,0,30,0 24,0,93,0,74,0,62,0,72,0,73,0 92,0,15,0,47,0,82,0,66,0,32,0 37,0,3,0,20,0,90,0,46,0,81,0 42,0,2,0,43,0,26,0,7,0,58,0 96,0,60,0,35,0,77,0,52,0,11,0 91,0,34,0,71,0,36,0,59,0,9,0 14,0,29,0,95,0,39,0,88,0,84,0 33,0,25,0,70,0,38,0,1,0,8,0 65,0,79,0,41,0,44,0,85,0,89,0 27,0,21,0,6,0,13,0,94,0,5,0 86,0,51,0,4,0,57,0,78,0,54,0 75,0,28,0,22,0,31,0,63,0,67,0 17,0,10,0,23,0,69,0,87,0,45,0 9,0,30,0,18,0,93,0,37,0,47,0 84,0,36,0,49,0,81,0,56,0,82,0 38,0,88,0,52,0,46,0,53,0,74,0 14,0,79,0,70,0,72,0,48,0,26,0 25,0,71,0,21,0,42,0,15,0,35,0 43,0,50,0,1,0,89,0,5,0,90,0 24,0,51,0,44,0,58,0,31,0,76,0 2,0,13,0,57,0,66,0,19,0,45,0 40,0,27,0,75,0,69,0,60,0,61,0 78,0,7,0,41,0,63,0,64,0,20,0 12,0,95,0,91,0,32,0,6,0,67,0 8,0,80,0,87,0,92,0,62,0,65,0 22,0,73,0,11,0,10,0,34,0,94,0 28,0,55,0,86,0,83,0,17,0,3,0 29,0,59,0,23,0,54,0,68,0,96,0 77,0,4,0,33,0,16,0,39,0,85,0 2,0,37,0,48,0,38,0,60,0,31,0 71,0,30,0,69,0,18,0,41,0,43,0 89,0,46,0,67,0,7,0,56,0,64,0 36,0,91,0,13,0,74,0,87,0,5,0 92,0,49,0,24,0,78,0,14,0,53,0 61,0,34,0,58,0,73,0,83,0,20,0 79,0,63,0,51,0,66,0,12,0,40,0 19,0,16,0,90,0,25,0,68,0,75,0 17,0,39,0,11,0,8,0,15,0,27,0 4,0,26,0,82,0,23,0,52,0,80,0 76,0,72,0,6,0,59,0,35,0,81,0 85,0,50,0,10,0,70,0,32,0,62,0 95,0,93,0,94,0,86,0,96,0,65,0 84,0,9,0,55,0,42,0,22,0,54,0 45,0,77,0,57,0,1,0,29,0,28,0 47,0,44,0,3,0,33,0,88,0,21,0 53,0,79,0,60,0,58,0,8,0,18,0 2,0,38,0,49,0,27,0,83,0,90,0 12,0,17,0,48,0,75,0,43,0,80,0 62,0,78,0,34,0,5,0,76,0,15,0 19,0,4,0,46,0,63,0,24,0,69,0 30,0,31,0,94,0,26,0,32,0,87,0 28,0,61,0,45,0,36,0,93,0,85,0 66,0,9,0,88,0,96,0,70,0,81,0 39,0,23,0,35,0,50,0,92,0,91,0 51,0,16,0,64,0,95,0,3,0,74,0 73,0,52,0,56,0,33,0,29,0,42,0 65,0,7,0,71,0,10,0,55,0,57,0 20,0,13,0,67,0,86,0,44,0,82,0 6,0,41,0,68,0,22,0,14,0,77,0 37,0,59,0,1,0,47,0,21,0,84,0 72,0,25,0,54,0,40,0,89,0,11,0 45,0,5,0,8,0,35,0,46,0,9,0 51,0,60,0,94,0,17,0,53,0,88,0 61,0,2,0,80,0,50,0,76,0,95,0 56,0,58,0,57,0,69,0,16,0,96,0 18,0,31,0,73,0,90,0,39,0,64,0 87,0,28,0,49,0,48,0,41,0,70,0 85,0,19,0,22,0,7,0,12,0,29,0 71,0,32,0,3,0,27,0,65,0,54,0 21,0,67,0,37,0,66,0,89,0,4,0 59,0,13,0,15,0,40,0,24,0,33,0 82,0,63,0,91,0,1,0,79,0,68,0 81,0,44,0,14,0,10,0,93,0,77,0 43,0,52,0,84,0,34,0,92,0,6,0 47,0,83,0,26,0,25,0,74,0,78,0 20,0,62,0,23,0,38,0,11,0,55,0 42,0,30,0,75,0,72,0,36,0,86,0 54,0,67,0,70,0,5,0,17,0,19,0 80,0,58,0,24,0,41,0,3,0,9,0 53,0,69,0,68,0,35,0,31,0,85,0 18,0,40,0,87,0,95,0,82,0,88,0 59,0,90,0,4,0,60,0,7,0,92,0 81,0,79,0,33,0,83,0,61,0,94,0 25,0,12,0,57,0,13,0,73,0,37,0 8,0,64,0,29,0,50,0,44,0,75,0 21,0,38,0,14,0,63,0,43,0,36,0 23,0,32,0,46,0,93,0,84,0,51,0 22,0,72,0,45,0,52,0,76,0,91,0 89,0,28,0,26,0,39,0,20,0,71,0 11,0,1,0,66,0,78,0,56,0,6,0 65,0,42,0,10,0,77,0,49,0,27,0 96,0,74,0,15,0,2,0,55,0,30,0 47,0,62,0,48,0,86,0,16,0,34,0 40,0,36,0,41,0,53,0,33,0,57,0 83,0,43,0,60,0,24,0,68,0,95,0 44,0,37,0,64,0,22,0,91,0,80,0 76,0,29,0,51,0,25,0,87,0,9,0 73,0,38,0,75,0,82,0,3,0,7,0 92,0,63,0,18,0,45,0,70,0,6,0 84,0,35,0,78,0,28,0,90,0,30,0 52,0,16,0,15,0,81,0,50,0,86,0 96,0,62,0,67,0,1,0,27,0,26,0 32,0,17,0,58,0,49,0,71,0,13,0 61,0,65,0,47,0,72,0,23,0,19,0 39,0,4,0,5,0,2,0,10,0,11,0 54,0,77,0,31,0,56,0,94,0,79,0 66,0,42,0,85,0,8,0,74,0,20,0 48,0,88,0,59,0,93,0,89,0,55,0 46,0,14,0,69,0,12,0,34,0,21,0 63,0,68,0,27,0,57,0,80,0,81,0 33,0,22,0,86,0,43,0,87,0,96,0 78,0,75,0,23,0,70,0,95,0,37,0 44,0,6,0,62,0,60,0,19,0,49,0 5,0,28,0,79,0,52,0,7,0,51,0 76,0,84,0,24,0,8,0,10,0,67,0 58,0,29,0,16,0,59,0,94,0,38,0 91,0,2,0,93,0,89,0,53,0,25,0 14,0,90,0,85,0,15,0,56,0,9,0 34,0,17,0,73,0,77,0,30,0,21,0 1,0,13,0,18,0,83,0,35,0,4,0 88,0,32,0,61,0,11,0,42,0,41,0 48,0,74,0,92,0,54,0,69,0,20,0 39,0,3,0,40,0,45,0,12,0,47,0 82,0,31,0,64,0,72,0,71,0,55,0 66,0,26,0,65,0,36,0,46,0,50,0 19,0,78,0,10,0,43,0,58,0,33,0 93,0,7,0,63,0,87,0,27,0,16,0 67,0,30,0,49,0,80,0,29,0,79,0 70,0,44,0,61,0,56,0,35,0,68,0 54,0,52,0,18,0,41,0,24,0,57,0 83,0,11,0,74,0,84,0,45,0,75,0 25,0,20,0,76,0,32,0,31,0,21,0 50,0,96,0,89,0,38,0,69,0,82,0 90,0,60,0,8,0,47,0,91,0,51,0 28,0,39,0,34,0,81,0,65,0,13,0 12,0,15,0,36,0,88,0,23,0,64,0 42,0,94,0,37,0,62,0,14,0,40,0 48,0,4,0,55,0,73,0,6,0,9,0 53,0,66,0,3,0,26,0,59,0,5,0 86,0,71,0,2,0,92,0,72,0,77,0 46,0,95,0,85,0,1,0,22,0,17,0 47,0,11,0,58,0,68,0,7,0,80,0 74,0,10,0,75,0,18,0,28,0,21,0 50,0,34,0,54,0,33,0,60,0,63,0 78,0,32,0,36,0,16,0,79,0,44,0 15,0,91,0,65,0,61,0,84,0,48,0 90,0,41,0,82,0,62,0,29,0,93,0 38,0,81,0,45,0,4,0,64,0,71,0 2,0,35,0,87,0,73,0,3,0,14,0 24,0,20,0,89,0,22,0,70,0,94,0 6,0,57,0,83,0,23,0,42,0,67,0 53,0,43,0,55,0,66,0,13,0,46,0 17,0,56,0,31,0,92,0,40,0,5,0 86,0,76,0,39,0,1,0,88,0,19,0 96,0,51,0,72,0,37,0,49,0,85,0 9,0,69,0,8,0,26,0,95,0,77,0 25,0,52,0,59,0,27,0,12,0,30,0 54,0,14,0,91,0,58,0,82,0,28,0 74,0,33,0,18,0,67,0,65,0,68,0 80,0,36,0,35,0,60,0,32,0,29,0 50,0,78,0,40,0,93,0,22,0,6,0 24,0,86,0,90,0,61,0,11,0,21,0 71,0,16,0,53,0,76,0,73,0,23,0 72,0,56,0,8,0,4,0,43,0,88,0 45,0,96,0,39,0,44,0,48,0,25,0 10,0,92,0,31,0,89,0,19,0,12,0 1,0,69,0,64,0,52,0,49,0,66,0 79,0,20,0,9,0,17,0,2,0,84,0 95,0,81,0,5,0,47,0,38,0,42,0 63,0,30,0,13,0,3,0,62,0,85,0 87,0,94,0,46,0,75,0,15,0,57,0 59,0,70,0,7,0,83,0,77,0,51,0 34,0,41,0,27,0,26,0,55,0,37,0 32,0,73,0,40,0,8,0,96,0,19,0 74,0,31,0,23,0,49,0,86,0,14,0 33,0,90,0,36,0,89,0,17,0,76,0 20,0,53,0,29,0,4,0,47,0,6,0 82,0,68,0,12,0,2,0,9,0,78,0 54,0,66,0,80,0,16,0,10,0,35,0 38,0,22,0,57,0,39,0,30,0,79,0 7,0,1,0,72,0,34,0,18,0,44,0 21,0,56,0,45,0,51,0,26,0,41,0 58,0,85,0,27,0,50,0,87,0,84,0 61,0,46,0,92,0,94,0,28,0,25,0 81,0,55,0,77,0,91,0,75,0,24,0 93,0,43,0,3,0,60,0,15,0,67,0 52,0,95,0,48,0,71,0,63,0,62,0 11,0,13,0,70,0,59,0,64,0,42,0 88,0,5,0,83,0,37,0,65,0,69,0 23,0,45,0,53,0,79,0,34,0,90,0 9,0,7,0,21,0,49,0,39,0,50,0 74,0,12,0,41,0,4,0,76,0,94,0 26,0,81,0,73,0,51,0,54,0,92,0 27,0,18,0,91,0,29,0,78,0,46,0 58,0,35,0,25,0,55,0,95,0,67,0 64,0,47,0,17,0,63,0,96,0,10,0 6,0,16,0,88,0,85,0,24,0,2,0 52,0,68,0,89,0,32,0,75,0,13,0 31,0,59,0,62,0,61,0,57,0,43,0 82,0,42,0,19,0,37,0,28,0,11,0 56,0,36,0,3,0,48,0,8,0,22,0 44,0,40,0,83,0,87,0,71,0,66,0 30,0,60,0,1,0,14,0,65,0,20,0 38,0,77,0,5,0,84,0,15,0,72,0 33,0,69,0,80,0,70,0,93,0,86,0 ================================================ FILE: schedules/96_2.csv ================================================ 61,0,83,0,16,0,19,0,41,0,84,0 69,0,20,0,62,0,78,0,68,0,66,0 91,0,10,0,72,0,5,0,80,0,3,0 15,0,92,0,31,0,90,0,65,0,4,0 7,0,21,0,71,0,26,0,48,0,39,0 32,0,76,0,47,0,87,0,55,0,88,0 46,0,96,0,27,0,60,0,35,0,74,0 85,0,81,0,44,0,75,0,22,0,33,0 89,0,64,0,13,0,38,0,29,0,94,0 57,0,63,0,70,0,6,0,54,0,49,0 77,0,2,0,73,0,50,0,58,0,11,0 93,0,53,0,79,0,82,0,43,0,51,0 40,0,86,0,25,0,18,0,36,0,12,0 17,0,59,0,37,0,24,0,30,0,14,0 34,0,23,0,52,0,45,0,8,0,95,0 42,0,56,0,67,0,9,0,28,0,1,0 55,0,29,0,74,0,84,0,44,0,31,0 38,0,41,0,3,0,71,0,78,0,85,0 61,0,91,0,6,0,77,0,64,0,15,0 88,0,82,0,66,0,57,0,7,0,90,0 36,0,39,0,5,0,58,0,4,0,96,0 14,0,20,0,79,0,72,0,86,0,46,0 52,0,87,0,13,0,10,0,26,0,73,0 89,0,75,0,19,0,12,0,28,0,37,0 16,0,18,0,63,0,76,0,9,0,62,0 49,0,22,0,8,0,59,0,92,0,51,0 24,0,81,0,80,0,34,0,83,0,1,0 45,0,47,0,50,0,67,0,30,0,40,0 27,0,54,0,68,0,48,0,43,0,23,0 21,0,33,0,95,0,42,0,2,0,94,0 32,0,70,0,60,0,53,0,69,0,17,0 65,0,35,0,25,0,93,0,56,0,11,0 ================================================ FILE: schedules/96_3.csv ================================================ 41,0,49,0,16,0,30,0,95,0,55,0 86,0,65,0,14,0,23,0,73,0,59,0 2,0,52,0,36,0,44,0,34,0,71,0 18,0,85,0,89,0,13,0,54,0,61,0 60,0,74,0,68,0,77,0,40,0,67,0 50,0,5,0,22,0,32,0,84,0,1,0 64,0,47,0,25,0,78,0,33,0,38,0 27,0,76,0,56,0,58,0,72,0,6,0 24,0,3,0,10,0,46,0,19,0,35,0 94,0,80,0,57,0,51,0,29,0,93,0 42,0,70,0,62,0,15,0,20,0,17,0 90,0,53,0,45,0,37,0,81,0,7,0 12,0,39,0,87,0,48,0,43,0,63,0 92,0,26,0,8,0,9,0,82,0,79,0 4,0,31,0,28,0,66,0,91,0,96,0 75,0,21,0,69,0,88,0,11,0,83,0 35,0,67,0,25,0,61,0,30,0,58,0 29,0,72,0,24,0,52,0,95,0,32,0 70,0,6,0,94,0,89,0,68,0,14,0 73,0,47,0,81,0,17,0,74,0,49,0 34,0,56,0,16,0,42,0,10,0,18,0 48,0,40,0,20,0,7,0,86,0,9,0 65,0,57,0,60,0,45,0,3,0,96,0 78,0,43,0,66,0,75,0,53,0,41,0 88,0,77,0,38,0,76,0,8,0,85,0 36,0,51,0,62,0,1,0,92,0,91,0 4,0,80,0,59,0,87,0,55,0,22,0 44,0,46,0,50,0,28,0,23,0,83,0 71,0,31,0,13,0,93,0,26,0,63,0 5,0,19,0,79,0,64,0,90,0,21,0 84,0,69,0,39,0,33,0,2,0,27,0 82,0,37,0,12,0,54,0,15,0,11,0 78,0,35,0,74,0,18,0,48,0,52,0 75,0,92,0,58,0,45,0,16,0,24,0 34,0,22,0,14,0,62,0,60,0,72,0 43,0,32,0,49,0,80,0,86,0,67,0 61,0,65,0,77,0,71,0,47,0,56,0 63,0,30,0,3,0,79,0,36,0,66,0 70,0,23,0,96,0,5,0,69,0,25,0 88,0,84,0,54,0,57,0,7,0,31,0 87,0,91,0,9,0,64,0,68,0,37,0 29,0,81,0,19,0,85,0,12,0,33,0 53,0,15,0,38,0,21,0,59,0,10,0 20,0,93,0,76,0,50,0,41,0,4,0 2,0,55,0,26,0,89,0,83,0,73,0 1,0,46,0,17,0,40,0,8,0,39,0 27,0,28,0,95,0,11,0,42,0,94,0 90,0,82,0,13,0,44,0,6,0,51,0 ================================================ FILE: schedules/96_4.csv ================================================ 95,0,20,0,39,0,29,0,56,0,60,0 55,0,36,0,31,0,45,0,50,0,44,0 47,0,83,0,4,0,27,0,62,0,54,0 82,0,13,0,34,0,14,0,23,0,30,0 5,0,76,0,22,0,63,0,80,0,35,0 58,0,70,0,87,0,9,0,32,0,88,0 16,0,17,0,81,0,10,0,72,0,89,0 42,0,7,0,3,0,90,0,96,0,69,0 74,0,93,0,92,0,25,0,24,0,15,0 65,0,91,0,51,0,85,0,26,0,71,0 33,0,28,0,75,0,84,0,49,0,59,0 64,0,2,0,94,0,1,0,73,0,41,0 12,0,38,0,11,0,8,0,48,0,21,0 77,0,37,0,18,0,78,0,6,0,46,0 57,0,61,0,68,0,40,0,66,0,67,0 52,0,43,0,53,0,79,0,19,0,86,0 81,0,30,0,50,0,56,0,74,0,62,0 58,0,23,0,83,0,69,0,35,0,29,0 14,0,54,0,84,0,95,0,55,0,76,0 32,0,39,0,85,0,36,0,13,0,49,0 90,0,34,0,38,0,10,0,75,0,93,0 96,0,88,0,71,0,1,0,31,0,46,0 60,0,27,0,61,0,92,0,2,0,72,0 87,0,45,0,7,0,80,0,40,0,41,0 67,0,63,0,3,0,91,0,94,0,18,0 16,0,37,0,68,0,4,0,70,0,48,0 65,0,15,0,86,0,6,0,73,0,59,0 53,0,47,0,8,0,82,0,64,0,51,0 17,0,79,0,66,0,20,0,12,0,9,0 22,0,28,0,24,0,42,0,57,0,52,0 25,0,89,0,77,0,21,0,19,0,26,0 78,0,44,0,43,0,11,0,5,0,33,0 45,0,63,0,30,0,1,0,60,0,90,0 87,0,96,0,49,0,93,0,27,0,37,0 2,0,18,0,39,0,75,0,76,0,58,0 13,0,6,0,40,0,38,0,88,0,50,0 61,0,62,0,59,0,3,0,95,0,9,0 91,0,8,0,23,0,31,0,81,0,70,0 19,0,73,0,92,0,42,0,67,0,83,0 68,0,89,0,78,0,36,0,22,0,12,0 21,0,29,0,41,0,72,0,54,0,74,0 66,0,15,0,56,0,82,0,84,0,80,0 51,0,94,0,77,0,44,0,34,0,86,0 20,0,69,0,71,0,47,0,25,0,52,0 4,0,26,0,5,0,57,0,53,0,14,0 55,0,17,0,48,0,65,0,32,0,43,0 79,0,10,0,85,0,33,0,24,0,64,0 28,0,11,0,46,0,16,0,35,0,7,0 8,0,1,0,22,0,54,0,18,0,92,0 90,0,36,0,72,0,91,0,15,0,87,0 51,0,41,0,93,0,39,0,78,0,23,0 31,0,86,0,20,0,89,0,13,0,61,0 74,0,53,0,38,0,68,0,71,0,77,0 56,0,59,0,70,0,42,0,14,0,2,0 24,0,66,0,48,0,76,0,45,0,62,0 75,0,29,0,12,0,47,0,7,0,37,0 9,0,21,0,33,0,55,0,4,0,46,0 95,0,69,0,6,0,43,0,30,0,26,0 82,0,57,0,85,0,94,0,83,0,16,0 32,0,27,0,44,0,79,0,28,0,40,0 73,0,84,0,5,0,3,0,17,0,25,0 52,0,35,0,60,0,96,0,64,0,65,0 80,0,49,0,58,0,10,0,67,0,50,0 34,0,11,0,88,0,81,0,63,0,19,0 ================================================ FILE: schedules/96_5.csv ================================================ 64,0,96,0,2,0,55,0,59,0,88,0 69,0,28,0,32,0,12,0,51,0,95,0 85,0,35,0,74,0,71,0,3,0,27,0 1,0,13,0,67,0,43,0,87,0,38,0 73,0,44,0,81,0,90,0,72,0,22,0 25,0,36,0,57,0,76,0,34,0,30,0 84,0,79,0,91,0,93,0,89,0,15,0 61,0,75,0,14,0,65,0,78,0,40,0 37,0,46,0,83,0,11,0,52,0,50,0 6,0,7,0,8,0,19,0,33,0,86,0 60,0,94,0,70,0,58,0,66,0,39,0 16,0,9,0,77,0,4,0,42,0,82,0 92,0,29,0,31,0,41,0,53,0,21,0 80,0,49,0,56,0,63,0,48,0,18,0 45,0,26,0,68,0,62,0,17,0,54,0 20,0,47,0,24,0,5,0,23,0,10,0 55,0,52,0,1,0,73,0,84,0,3,0 76,0,87,0,32,0,40,0,22,0,6,0 35,0,64,0,69,0,13,0,79,0,19,0 7,0,71,0,30,0,75,0,67,0,91,0 88,0,51,0,38,0,33,0,83,0,70,0 9,0,46,0,63,0,85,0,44,0,89,0 18,0,57,0,86,0,92,0,27,0,59,0 60,0,74,0,2,0,28,0,68,0,25,0 66,0,53,0,82,0,10,0,11,0,62,0 37,0,23,0,48,0,94,0,65,0,54,0 14,0,41,0,80,0,50,0,15,0,4,0 20,0,81,0,58,0,77,0,29,0,56,0 42,0,61,0,72,0,17,0,12,0,31,0 49,0,47,0,93,0,96,0,43,0,36,0 95,0,78,0,39,0,21,0,24,0,45,0 90,0,8,0,34,0,16,0,26,0,5,0 62,0,79,0,59,0,70,0,73,0,76,0 88,0,27,0,75,0,10,0,28,0,89,0 1,0,83,0,15,0,86,0,32,0,63,0 23,0,30,0,68,0,53,0,56,0,22,0 51,0,40,0,82,0,29,0,17,0,80,0 19,0,12,0,65,0,38,0,74,0,92,0 85,0,47,0,2,0,78,0,58,0,84,0 94,0,52,0,5,0,42,0,49,0,69,0 71,0,50,0,55,0,16,0,31,0,39,0 57,0,21,0,20,0,4,0,87,0,8,0 95,0,18,0,72,0,26,0,66,0,64,0 90,0,96,0,48,0,14,0,91,0,13,0 3,0,24,0,41,0,77,0,37,0,61,0 67,0,46,0,34,0,93,0,6,0,45,0 60,0,54,0,11,0,7,0,44,0,36,0 43,0,81,0,25,0,9,0,35,0,33,0 5,0,59,0,31,0,82,0,75,0,56,0 4,0,74,0,22,0,63,0,88,0,62,0 10,0,17,0,8,0,69,0,39,0,38,0 90,0,64,0,15,0,12,0,30,0,78,0 3,0,95,0,13,0,53,0,83,0,47,0 87,0,16,0,93,0,18,0,52,0,2,0 28,0,40,0,92,0,34,0,1,0,66,0 67,0,9,0,26,0,60,0,20,0,49,0 6,0,35,0,58,0,54,0,61,0,55,0 70,0,80,0,37,0,42,0,19,0,25,0 24,0,96,0,79,0,85,0,81,0,51,0 27,0,50,0,76,0,21,0,72,0,7,0 29,0,89,0,71,0,43,0,57,0,48,0 33,0,65,0,91,0,77,0,11,0,68,0 23,0,86,0,36,0,73,0,14,0,46,0 44,0,41,0,45,0,84,0,94,0,32,0 54,0,28,0,22,0,15,0,18,0,8,0 31,0,49,0,25,0,58,0,1,0,95,0 83,0,61,0,92,0,5,0,64,0,87,0 10,0,52,0,72,0,30,0,6,0,74,0 12,0,88,0,93,0,9,0,24,0,66,0 77,0,53,0,89,0,7,0,80,0,55,0 91,0,56,0,40,0,16,0,46,0,57,0 81,0,38,0,45,0,82,0,60,0,27,0 19,0,50,0,43,0,17,0,94,0,73,0 62,0,84,0,69,0,75,0,29,0,96,0 59,0,33,0,71,0,90,0,41,0,23,0 76,0,39,0,42,0,65,0,85,0,26,0 21,0,34,0,37,0,63,0,47,0,79,0 13,0,32,0,78,0,20,0,70,0,36,0 14,0,11,0,51,0,2,0,67,0,35,0 4,0,68,0,44,0,48,0,3,0,86,0 ================================================ FILE: schedules/96_6.csv ================================================ 47,0,63,0,87,0,90,0,46,0,77,0 24,0,68,0,64,0,50,0,82,0,13,0 72,0,88,0,23,0,66,0,15,0,43,0 2,0,53,0,14,0,70,0,33,0,9,0 85,0,61,0,42,0,96,0,62,0,91,0 51,0,49,0,26,0,81,0,8,0,32,0 76,0,69,0,56,0,29,0,12,0,3,0 95,0,22,0,93,0,30,0,34,0,59,0 89,0,83,0,20,0,84,0,31,0,74,0 94,0,39,0,28,0,65,0,52,0,41,0 78,0,73,0,6,0,19,0,16,0,75,0 54,0,40,0,10,0,80,0,38,0,79,0 7,0,25,0,1,0,4,0,21,0,60,0 35,0,5,0,67,0,27,0,11,0,71,0 17,0,36,0,18,0,44,0,37,0,92,0 86,0,45,0,58,0,55,0,48,0,57,0 49,0,22,0,46,0,23,0,29,0,62,0 93,0,69,0,41,0,91,0,63,0,14,0 43,0,2,0,61,0,6,0,77,0,8,0 15,0,3,0,82,0,26,0,79,0,28,0 39,0,80,0,47,0,76,0,78,0,84,0 71,0,13,0,59,0,83,0,25,0,12,0 35,0,31,0,64,0,73,0,1,0,85,0 33,0,67,0,48,0,89,0,42,0,90,0 88,0,5,0,92,0,96,0,34,0,4,0 68,0,58,0,54,0,94,0,20,0,17,0 65,0,45,0,60,0,95,0,87,0,37,0 40,0,16,0,72,0,51,0,24,0,52,0 50,0,27,0,36,0,70,0,66,0,38,0 7,0,19,0,81,0,30,0,53,0,86,0 55,0,11,0,75,0,10,0,21,0,44,0 32,0,18,0,74,0,9,0,57,0,56,0 48,0,92,0,62,0,82,0,78,0,71,0 33,0,96,0,46,0,35,0,58,0,13,0 17,0,76,0,60,0,89,0,85,0,79,0 6,0,14,0,4,0,29,0,64,0,45,0 52,0,80,0,91,0,73,0,5,0,66,0 24,0,43,0,30,0,54,0,31,0,36,0 55,0,42,0,41,0,25,0,19,0,34,0 95,0,63,0,28,0,2,0,12,0,49,0 3,0,81,0,77,0,94,0,9,0,72,0 38,0,1,0,87,0,22,0,57,0,75,0 8,0,50,0,7,0,90,0,18,0,39,0 27,0,44,0,86,0,61,0,74,0,23,0 53,0,88,0,10,0,16,0,26,0,83,0 51,0,56,0,65,0,67,0,68,0,93,0 37,0,15,0,70,0,84,0,21,0,59,0 32,0,40,0,20,0,69,0,47,0,11,0 9,0,96,0,28,0,73,0,43,0,29,0 12,0,60,0,81,0,64,0,52,0,92,0 89,0,72,0,4,0,55,0,13,0,78,0 58,0,71,0,38,0,41,0,6,0,7,0 80,0,34,0,8,0,74,0,17,0,75,0 82,0,42,0,5,0,95,0,39,0,31,0 14,0,25,0,54,0,15,0,18,0,65,0 84,0,86,0,85,0,56,0,63,0,88,0 10,0,77,0,91,0,33,0,51,0,22,0 83,0,87,0,23,0,32,0,70,0,68,0 35,0,94,0,36,0,53,0,69,0,62,0 46,0,59,0,26,0,67,0,19,0,45,0 24,0,37,0,57,0,76,0,11,0,61,0 79,0,44,0,50,0,47,0,1,0,93,0 40,0,21,0,3,0,48,0,49,0,27,0 30,0,66,0,90,0,2,0,20,0,16,0 92,0,95,0,38,0,14,0,13,0,8,0 70,0,81,0,29,0,54,0,91,0,89,0 35,0,74,0,4,0,77,0,42,0,15,0 52,0,84,0,58,0,36,0,82,0,22,0 11,0,73,0,51,0,88,0,94,0,59,0 9,0,69,0,80,0,87,0,85,0,44,0 83,0,55,0,49,0,33,0,60,0,50,0 53,0,67,0,34,0,24,0,66,0,28,0 56,0,23,0,39,0,37,0,48,0,6,0 17,0,64,0,86,0,46,0,71,0,2,0 61,0,1,0,90,0,78,0,3,0,41,0 76,0,93,0,45,0,5,0,7,0,20,0 27,0,19,0,12,0,47,0,18,0,96,0 31,0,16,0,21,0,79,0,63,0,57,0 65,0,62,0,32,0,72,0,10,0,30,0 75,0,68,0,43,0,40,0,25,0,26,0 38,0,33,0,74,0,59,0,69,0,81,0 85,0,23,0,77,0,50,0,95,0,54,0 49,0,44,0,70,0,88,0,64,0,39,0 56,0,78,0,66,0,58,0,42,0,14,0 92,0,28,0,6,0,93,0,86,0,87,0 8,0,21,0,71,0,22,0,19,0,24,0 79,0,9,0,52,0,37,0,67,0,83,0 48,0,11,0,53,0,91,0,65,0,43,0 34,0,62,0,73,0,76,0,68,0,27,0 26,0,30,0,84,0,55,0,96,0,1,0 31,0,41,0,18,0,46,0,4,0,10,0 12,0,94,0,16,0,80,0,7,0,32,0 72,0,63,0,29,0,60,0,20,0,61,0 51,0,75,0,82,0,35,0,89,0,2,0 57,0,47,0,3,0,36,0,25,0,5,0 15,0,17,0,13,0,45,0,40,0,90,0 ================================================ FILE: schedules/96_7.csv ================================================ 4,0,75,0,67,0,74,0,2,0,5,0 65,0,63,0,31,0,42,0,6,0,73,0 18,0,37,0,34,0,79,0,8,0,57,0 43,0,16,0,23,0,49,0,38,0,69,0 81,0,71,0,93,0,54,0,20,0,29,0 53,0,58,0,94,0,83,0,59,0,72,0 50,0,91,0,82,0,14,0,39,0,22,0 13,0,12,0,21,0,17,0,7,0,30,0 56,0,85,0,33,0,1,0,76,0,61,0 88,0,44,0,80,0,41,0,11,0,9,0 62,0,68,0,28,0,40,0,45,0,96,0 27,0,86,0,48,0,92,0,32,0,55,0 24,0,46,0,60,0,10,0,84,0,25,0 19,0,77,0,87,0,26,0,36,0,3,0 66,0,78,0,90,0,15,0,51,0,47,0 35,0,89,0,95,0,64,0,70,0,52,0 91,0,56,0,21,0,59,0,38,0,29,0 30,0,41,0,1,0,37,0,63,0,2,0 93,0,83,0,39,0,9,0,61,0,17,0 42,0,69,0,27,0,18,0,33,0,22,0 43,0,5,0,54,0,76,0,25,0,79,0 68,0,36,0,4,0,57,0,10,0,48,0 84,0,58,0,3,0,45,0,78,0,88,0 67,0,49,0,46,0,32,0,96,0,89,0 35,0,19,0,73,0,92,0,66,0,81,0 12,0,94,0,50,0,64,0,24,0,86,0 95,0,55,0,6,0,47,0,75,0,77,0 15,0,7,0,52,0,28,0,80,0,71,0 51,0,65,0,72,0,70,0,85,0,23,0 60,0,20,0,82,0,34,0,44,0,13,0 16,0,11,0,31,0,8,0,62,0,26,0 87,0,14,0,53,0,74,0,40,0,90,0 41,0,35,0,25,0,56,0,32,0,93,0 19,0,9,0,91,0,12,0,1,0,68,0 30,0,43,0,57,0,61,0,78,0,95,0 59,0,71,0,64,0,45,0,48,0,69,0 17,0,73,0,3,0,49,0,15,0,27,0 13,0,24,0,89,0,51,0,77,0,80,0 46,0,2,0,55,0,42,0,79,0,94,0 85,0,14,0,86,0,84,0,8,0,21,0 6,0,33,0,74,0,28,0,23,0,36,0 4,0,88,0,66,0,22,0,20,0,53,0 38,0,11,0,83,0,63,0,5,0,50,0 10,0,34,0,52,0,39,0,62,0,87,0 92,0,40,0,18,0,16,0,82,0,47,0 76,0,81,0,72,0,60,0,67,0,31,0 75,0,58,0,70,0,37,0,7,0,29,0 44,0,90,0,26,0,96,0,54,0,65,0 78,0,80,0,93,0,12,0,46,0,69,0 15,0,1,0,25,0,53,0,23,0,64,0 68,0,41,0,61,0,71,0,42,0,21,0 34,0,59,0,73,0,55,0,74,0,89,0 14,0,77,0,38,0,33,0,94,0,17,0 32,0,20,0,30,0,83,0,79,0,31,0 45,0,50,0,51,0,18,0,52,0,75,0 39,0,11,0,92,0,49,0,6,0,72,0 60,0,47,0,35,0,26,0,43,0,48,0 96,0,81,0,27,0,5,0,91,0,8,0 84,0,28,0,29,0,4,0,19,0,95,0 70,0,88,0,16,0,54,0,87,0,2,0 56,0,82,0,37,0,66,0,10,0,67,0 24,0,36,0,22,0,44,0,62,0,58,0 9,0,57,0,7,0,63,0,85,0,90,0 40,0,13,0,65,0,76,0,86,0,3,0 31,0,49,0,1,0,18,0,93,0,14,0 23,0,71,0,47,0,96,0,94,0,11,0 20,0,50,0,8,0,25,0,89,0,19,0 60,0,4,0,42,0,51,0,64,0,87,0 83,0,52,0,37,0,73,0,91,0,16,0 45,0,12,0,41,0,36,0,54,0,82,0 92,0,69,0,88,0,77,0,67,0,34,0 58,0,17,0,26,0,55,0,40,0,85,0 62,0,76,0,9,0,48,0,46,0,29,0 66,0,3,0,5,0,21,0,57,0,6,0 2,0,39,0,27,0,95,0,59,0,65,0 32,0,81,0,84,0,90,0,75,0,33,0 63,0,74,0,43,0,80,0,10,0,22,0 79,0,86,0,61,0,7,0,44,0,53,0 38,0,13,0,72,0,35,0,78,0,28,0 24,0,70,0,15,0,30,0,68,0,56,0 82,0,29,0,1,0,42,0,17,0,88,0 87,0,21,0,96,0,58,0,92,0,9,0 14,0,76,0,36,0,11,0,20,0,52,0 32,0,71,0,39,0,16,0,4,0,77,0 57,0,59,0,22,0,25,0,81,0,47,0 61,0,46,0,26,0,64,0,37,0,74,0 85,0,44,0,89,0,66,0,43,0,45,0 91,0,28,0,70,0,86,0,18,0,63,0 19,0,38,0,7,0,65,0,41,0,24,0 8,0,51,0,35,0,6,0,12,0,67,0 84,0,68,0,54,0,50,0,34,0,72,0 31,0,78,0,94,0,56,0,27,0,75,0 93,0,23,0,48,0,30,0,5,0,73,0 79,0,40,0,95,0,69,0,15,0,60,0 80,0,53,0,62,0,3,0,33,0,55,0 10,0,90,0,49,0,2,0,13,0,83,0 19,0,17,0,74,0,32,0,76,0,44,0 47,0,38,0,70,0,45,0,46,0,4,0 36,0,85,0,25,0,39,0,96,0,37,0 18,0,7,0,94,0,43,0,6,0,87,0 42,0,77,0,54,0,35,0,57,0,91,0 72,0,26,0,75,0,89,0,12,0,15,0 3,0,34,0,48,0,61,0,28,0,14,0 56,0,49,0,79,0,50,0,71,0,88,0 92,0,30,0,59,0,90,0,60,0,62,0 67,0,23,0,84,0,27,0,80,0,83,0 10,0,5,0,40,0,51,0,41,0,20,0 55,0,8,0,64,0,68,0,93,0,22,0 53,0,9,0,69,0,65,0,82,0,81,0 95,0,66,0,63,0,58,0,13,0,16,0 78,0,11,0,21,0,1,0,24,0,73,0 33,0,2,0,29,0,86,0,52,0,31,0 ================================================ FILE: schedules/96_8.csv ================================================ 47,0,55,0,68,0,90,0,39,0,38,0 83,0,3,0,58,0,42,0,46,0,84,0 43,0,59,0,9,0,44,0,48,0,88,0 16,0,45,0,22,0,66,0,23,0,60,0 69,0,37,0,2,0,56,0,30,0,70,0 89,0,14,0,91,0,95,0,33,0,31,0 35,0,67,0,78,0,96,0,19,0,7,0 25,0,72,0,10,0,86,0,24,0,8,0 53,0,85,0,63,0,61,0,76,0,18,0 82,0,74,0,92,0,27,0,5,0,21,0 54,0,41,0,57,0,79,0,77,0,52,0 1,0,15,0,11,0,51,0,81,0,75,0 32,0,36,0,6,0,29,0,87,0,94,0 34,0,13,0,71,0,20,0,4,0,73,0 80,0,93,0,28,0,64,0,62,0,40,0 12,0,26,0,65,0,49,0,17,0,50,0 88,0,42,0,76,0,25,0,16,0,91,0 46,0,61,0,56,0,43,0,23,0,35,0 58,0,77,0,92,0,8,0,14,0,67,0 78,0,51,0,54,0,86,0,95,0,90,0 15,0,52,0,19,0,87,0,70,0,5,0 30,0,34,0,83,0,85,0,45,0,38,0 64,0,44,0,73,0,24,0,47,0,81,0 31,0,29,0,68,0,26,0,80,0,20,0 74,0,65,0,9,0,37,0,4,0,22,0 93,0,69,0,82,0,6,0,3,0,55,0 48,0,33,0,50,0,66,0,53,0,96,0 79,0,32,0,40,0,27,0,71,0,75,0 10,0,12,0,28,0,39,0,89,0,57,0 11,0,62,0,7,0,49,0,21,0,63,0 2,0,59,0,36,0,72,0,17,0,13,0 84,0,1,0,18,0,41,0,60,0,94,0 29,0,74,0,19,0,73,0,85,0,16,0 35,0,5,0,45,0,20,0,90,0,77,0 6,0,38,0,70,0,46,0,9,0,51,0 55,0,8,0,52,0,80,0,22,0,81,0 96,0,61,0,15,0,47,0,32,0,42,0 49,0,57,0,64,0,43,0,71,0,37,0 79,0,31,0,39,0,72,0,30,0,11,0 82,0,24,0,75,0,65,0,36,0,78,0 56,0,88,0,26,0,27,0,89,0,93,0 17,0,87,0,25,0,48,0,18,0,67,0 23,0,53,0,41,0,58,0,86,0,7,0 28,0,94,0,69,0,83,0,59,0,33,0 84,0,91,0,40,0,92,0,4,0,2,0 14,0,66,0,54,0,13,0,12,0,62,0 44,0,60,0,68,0,21,0,50,0,76,0 95,0,1,0,10,0,34,0,63,0,3,0 71,0,31,0,36,0,88,0,52,0,38,0 5,0,39,0,8,0,16,0,61,0,64,0 80,0,96,0,85,0,23,0,57,0,25,0 45,0,75,0,59,0,26,0,19,0,41,0 65,0,42,0,40,0,11,0,18,0,56,0 29,0,13,0,89,0,82,0,15,0,35,0 27,0,51,0,50,0,73,0,28,0,72,0 58,0,66,0,43,0,74,0,63,0,69,0 68,0,83,0,17,0,14,0,7,0,10,0 24,0,48,0,49,0,22,0,3,0,30,0 20,0,76,0,6,0,84,0,54,0,67,0 95,0,93,0,70,0,32,0,92,0,44,0 53,0,62,0,37,0,91,0,90,0,46,0 81,0,86,0,79,0,9,0,87,0,60,0 12,0,21,0,4,0,33,0,55,0,1,0 47,0,94,0,78,0,34,0,2,0,77,0 16,0,96,0,11,0,82,0,71,0,59,0 66,0,57,0,29,0,17,0,75,0,38,0 45,0,51,0,7,0,8,0,40,0,89,0 24,0,95,0,28,0,74,0,61,0,68,0 84,0,90,0,63,0,80,0,70,0,27,0 67,0,85,0,50,0,93,0,37,0,36,0 54,0,33,0,73,0,87,0,35,0,42,0 21,0,3,0,77,0,53,0,65,0,13,0 30,0,64,0,18,0,46,0,12,0,52,0 48,0,2,0,58,0,26,0,32,0,1,0 23,0,76,0,94,0,15,0,79,0,10,0 39,0,60,0,25,0,34,0,92,0,43,0 91,0,9,0,41,0,55,0,83,0,78,0 86,0,56,0,47,0,5,0,4,0,31,0 22,0,62,0,72,0,6,0,44,0,19,0 69,0,14,0,20,0,88,0,81,0,49,0 63,0,65,0,67,0,45,0,29,0,28,0 38,0,8,0,50,0,2,0,95,0,42,0 94,0,13,0,52,0,37,0,11,0,48,0 90,0,1,0,16,0,24,0,79,0,43,0 36,0,73,0,53,0,92,0,57,0,68,0 41,0,85,0,70,0,89,0,66,0,47,0 62,0,32,0,59,0,78,0,30,0,76,0 27,0,15,0,4,0,6,0,14,0,18,0 21,0,86,0,88,0,35,0,17,0,64,0 84,0,56,0,87,0,71,0,7,0,55,0 12,0,20,0,51,0,3,0,44,0,91,0 25,0,81,0,26,0,54,0,82,0,83,0 60,0,33,0,72,0,80,0,75,0,58,0 22,0,40,0,46,0,5,0,96,0,10,0 77,0,93,0,23,0,74,0,49,0,39,0 9,0,34,0,61,0,69,0,19,0,31,0 70,0,88,0,50,0,57,0,45,0,62,0 38,0,1,0,14,0,53,0,78,0,87,0 91,0,8,0,28,0,36,0,56,0,15,0 2,0,76,0,35,0,66,0,52,0,65,0 55,0,48,0,42,0,64,0,60,0,51,0 44,0,90,0,4,0,96,0,94,0,58,0 81,0,5,0,72,0,23,0,67,0,71,0 26,0,24,0,85,0,69,0,21,0,40,0 19,0,27,0,3,0,17,0,11,0,54,0 74,0,6,0,7,0,33,0,25,0,79,0 47,0,95,0,43,0,29,0,12,0,84,0 63,0,31,0,73,0,59,0,22,0,77,0 83,0,92,0,61,0,75,0,49,0,13,0 30,0,10,0,9,0,16,0,20,0,93,0 34,0,89,0,18,0,68,0,37,0,86,0 80,0,39,0,32,0,41,0,46,0,82,0 69,0,35,0,4,0,38,0,60,0,62,0 3,0,78,0,72,0,74,0,15,0,88,0 79,0,21,0,67,0,56,0,51,0,66,0 31,0,27,0,44,0,7,0,42,0,1,0 29,0,5,0,59,0,91,0,50,0,54,0 71,0,2,0,61,0,93,0,25,0,12,0 83,0,8,0,20,0,57,0,47,0,48,0 36,0,96,0,18,0,39,0,26,0,70,0 89,0,46,0,24,0,92,0,55,0,94,0 23,0,37,0,14,0,63,0,82,0,40,0 87,0,22,0,11,0,76,0,28,0,58,0 80,0,17,0,73,0,95,0,9,0,45,0 33,0,43,0,30,0,86,0,19,0,65,0 81,0,90,0,41,0,13,0,6,0,10,0 49,0,52,0,34,0,16,0,32,0,53,0 64,0,75,0,68,0,85,0,84,0,77,0 ================================================ FILE: schedules/96_9.csv ================================================ 71,0,70,0,3,0,15,0,38,0,54,0 96,0,94,0,42,0,48,0,26,0,58,0 47,0,39,0,51,0,84,0,64,0,22,0 56,0,68,0,52,0,80,0,16,0,18,0 95,0,4,0,27,0,92,0,14,0,6,0 72,0,59,0,90,0,30,0,77,0,45,0 86,0,37,0,35,0,28,0,55,0,60,0 78,0,24,0,62,0,69,0,79,0,13,0 1,0,65,0,67,0,23,0,93,0,85,0 73,0,61,0,33,0,29,0,2,0,74,0 36,0,53,0,8,0,50,0,25,0,21,0 91,0,5,0,11,0,19,0,83,0,34,0 31,0,10,0,41,0,7,0,89,0,40,0 75,0,32,0,49,0,9,0,12,0,82,0 20,0,57,0,63,0,66,0,81,0,43,0 76,0,17,0,87,0,88,0,44,0,46,0 15,0,95,0,68,0,72,0,69,0,42,0 38,0,35,0,24,0,51,0,67,0,74,0 2,0,79,0,52,0,47,0,26,0,59,0 1,0,58,0,28,0,92,0,22,0,50,0 45,0,7,0,18,0,94,0,5,0,54,0 62,0,12,0,60,0,80,0,36,0,19,0 13,0,96,0,4,0,75,0,40,0,73,0 21,0,77,0,39,0,43,0,71,0,17,0 37,0,76,0,20,0,10,0,14,0,83,0 56,0,64,0,85,0,82,0,27,0,53,0 11,0,49,0,89,0,93,0,87,0,30,0 9,0,31,0,70,0,91,0,81,0,33,0 84,0,16,0,46,0,61,0,3,0,63,0 78,0,55,0,32,0,66,0,90,0,23,0 6,0,44,0,8,0,57,0,65,0,86,0 34,0,29,0,48,0,25,0,41,0,88,0 51,0,76,0,42,0,19,0,21,0,52,0 68,0,5,0,67,0,28,0,27,0,43,0 64,0,15,0,37,0,75,0,74,0,58,0 93,0,56,0,22,0,77,0,81,0,7,0 38,0,92,0,91,0,96,0,16,0,89,0 32,0,1,0,20,0,62,0,59,0,46,0 3,0,13,0,6,0,55,0,18,0,11,0 26,0,85,0,88,0,73,0,66,0,31,0 53,0,86,0,78,0,9,0,84,0,87,0 63,0,23,0,49,0,36,0,35,0,44,0 25,0,45,0,82,0,2,0,57,0,71,0 30,0,17,0,65,0,47,0,40,0,12,0 8,0,48,0,14,0,72,0,70,0,80,0 94,0,34,0,69,0,60,0,4,0,33,0 54,0,50,0,95,0,24,0,10,0,29,0 61,0,39,0,90,0,41,0,79,0,83,0 88,0,53,0,42,0,13,0,16,0,1,0 31,0,3,0,23,0,21,0,62,0,5,0 84,0,75,0,85,0,35,0,91,0,77,0 44,0,58,0,25,0,68,0,30,0,9,0 73,0,32,0,89,0,65,0,63,0,37,0 2,0,15,0,60,0,48,0,11,0,67,0 24,0,8,0,12,0,34,0,76,0,96,0 41,0,86,0,22,0,72,0,54,0,66,0 70,0,50,0,57,0,79,0,4,0,49,0 46,0,47,0,14,0,56,0,45,0,43,0 38,0,6,0,26,0,7,0,64,0,33,0 28,0,80,0,94,0,95,0,90,0,51,0 87,0,82,0,19,0,59,0,10,0,92,0 40,0,52,0,29,0,81,0,39,0,78,0 71,0,93,0,69,0,18,0,61,0,20,0 83,0,55,0,74,0,27,0,36,0,17,0 3,0,57,0,58,0,32,0,41,0,91,0 60,0,47,0,25,0,63,0,72,0,1,0 13,0,21,0,54,0,33,0,85,0,14,0 66,0,77,0,9,0,50,0,11,0,94,0 31,0,68,0,90,0,12,0,37,0,38,0 84,0,24,0,88,0,30,0,5,0,6,0 43,0,61,0,64,0,35,0,40,0,95,0 17,0,19,0,75,0,89,0,20,0,8,0 55,0,59,0,34,0,49,0,51,0,7,0 28,0,10,0,69,0,74,0,53,0,39,0 71,0,79,0,92,0,76,0,56,0,73,0 67,0,42,0,83,0,18,0,44,0,62,0 48,0,36,0,82,0,81,0,4,0,46,0 22,0,96,0,87,0,23,0,15,0,52,0 27,0,16,0,70,0,2,0,65,0,78,0 80,0,93,0,45,0,26,0,86,0,29,0 91,0,30,0,94,0,55,0,21,0,61,0 40,0,54,0,60,0,20,0,58,0,6,0 9,0,1,0,7,0,90,0,8,0,71,0 33,0,66,0,84,0,89,0,67,0,95,0 76,0,5,0,75,0,48,0,53,0,57,0 18,0,59,0,22,0,37,0,24,0,17,0 64,0,46,0,11,0,12,0,23,0,41,0 43,0,29,0,51,0,65,0,15,0,31,0 52,0,28,0,73,0,82,0,38,0,83,0 81,0,74,0,86,0,92,0,42,0,49,0 80,0,44,0,13,0,77,0,10,0,47,0 36,0,16,0,87,0,69,0,45,0,85,0 56,0,26,0,25,0,62,0,35,0,70,0 4,0,68,0,19,0,63,0,39,0,2,0 96,0,88,0,27,0,72,0,32,0,79,0 50,0,34,0,93,0,78,0,14,0,3,0 23,0,43,0,6,0,59,0,48,0,9,0 7,0,76,0,58,0,82,0,61,0,67,0 37,0,47,0,95,0,49,0,53,0,91,0 54,0,90,0,69,0,44,0,92,0,75,0 28,0,46,0,24,0,40,0,66,0,25,0 29,0,21,0,83,0,87,0,60,0,56,0 17,0,64,0,63,0,31,0,52,0,94,0 62,0,81,0,65,0,68,0,34,0,84,0 96,0,50,0,41,0,2,0,30,0,20,0 45,0,74,0,22,0,70,0,13,0,89,0 51,0,16,0,10,0,32,0,8,0,5,0 18,0,78,0,72,0,35,0,19,0,73,0 4,0,71,0,85,0,11,0,42,0,80,0 33,0,57,0,15,0,55,0,93,0,88,0 86,0,79,0,14,0,36,0,77,0,38,0 3,0,27,0,39,0,26,0,1,0,12,0 82,0,91,0,17,0,50,0,68,0,23,0 54,0,59,0,53,0,63,0,96,0,83,0 29,0,58,0,70,0,5,0,47,0,66,0 60,0,41,0,18,0,76,0,84,0,49,0 72,0,7,0,62,0,11,0,43,0,16,0 65,0,35,0,33,0,10,0,52,0,90,0 81,0,61,0,19,0,15,0,45,0,6,0 89,0,39,0,56,0,48,0,24,0,86,0 71,0,36,0,34,0,95,0,31,0,75,0 44,0,79,0,40,0,94,0,74,0,93,0 85,0,12,0,25,0,92,0,78,0,51,0 46,0,37,0,27,0,9,0,57,0,13,0 67,0,30,0,14,0,26,0,32,0,69,0 20,0,38,0,21,0,4,0,22,0,88,0 55,0,1,0,80,0,73,0,87,0,64,0 77,0,8,0,2,0,28,0,3,0,42,0 11,0,65,0,59,0,76,0,39,0,36,0 40,0,90,0,5,0,56,0,50,0,63,0 92,0,83,0,66,0,93,0,48,0,68,0 9,0,74,0,47,0,19,0,41,0,85,0 26,0,78,0,89,0,71,0,60,0,46,0 12,0,20,0,7,0,95,0,70,0,86,0 84,0,69,0,82,0,1,0,37,0,29,0 62,0,51,0,14,0,61,0,17,0,96,0 30,0,35,0,42,0,31,0,79,0,54,0 2,0,13,0,38,0,32,0,94,0,87,0 57,0,21,0,72,0,64,0,28,0,34,0 75,0,81,0,23,0,10,0,88,0,18,0 55,0,52,0,4,0,58,0,8,0,45,0 53,0,33,0,80,0,3,0,43,0,22,0 15,0,73,0,44,0,91,0,27,0,24,0 67,0,49,0,77,0,16,0,6,0,25,0 ================================================ FILE: schedules/97_1.csv ================================================ 96,0,17,0,79,0,59,0,22,0,82,0 2,0,60,0,38,0,32,0,13,0,21,0 83,0,87,0,25,0,61,0,52,0,85,0 7,0,28,0,5,0,73,0,16,0,19,0 23,0,68,0,62,0,80,0,67,0,4,0 18,0,74,0,94,0,31,0,81,0,78,0 51,0,15,0,89,0,46,0,75,0,3,0 71,0,37,0,10,0,39,0,35,0,56,0 77,0,9,0,27,0,88,0,43,0,49,0 95,0,45,0,20,0,44,0,55,0,90,0 76,0,36,0,11,0,26,0,63,0,34,0 33,0,30,0,42,0,24,0,70,0,57,0 84,0,66,0,8,0,54,0,1,0,47,0 92,0,93,0,58,0,29,0,41,0,48,0 65,0,69,0,86,0,40,0,50,0,97,0 12,0,64,0,72,0,53,0,6,0,91,0 14,0,59,1,25,1,19,1,96,1,89,1 ================================================ FILE: schedules/97_10.csv ================================================ 58,0,27,0,9,0,61,0,11,0,6,0 89,0,77,0,10,0,52,0,91,0,85,0 57,0,63,0,35,0,45,0,84,0,40,0 29,0,93,0,21,0,55,0,25,0,95,0 82,0,34,0,44,0,4,0,46,0,86,0 88,0,79,0,3,0,60,0,22,0,28,0 16,0,87,0,26,0,83,0,18,0,33,0 32,0,49,0,97,0,81,0,71,0,56,0 48,0,65,0,76,0,12,0,53,0,78,0 2,0,96,0,37,0,70,0,19,0,73,0 31,0,72,0,17,0,54,0,74,0,62,0 94,0,50,0,20,0,42,0,67,0,92,0 68,0,36,0,23,0,30,0,64,0,47,0 43,0,15,0,24,0,8,0,80,0,66,0 14,0,5,0,39,0,38,0,75,0,51,0 69,0,1,0,90,0,41,0,59,0,13,0 7,0,57,0,26,0,78,0,71,0,21,0 95,0,52,0,33,0,97,0,61,0,73,0 65,0,63,0,10,0,17,0,19,0,34,0 96,0,54,0,83,0,92,0,81,0,3,0 4,0,25,0,9,0,53,0,56,0,67,0 36,0,49,0,88,0,94,0,11,0,55,0 14,0,62,0,66,0,82,0,77,0,93,0 39,0,20,0,8,0,90,0,87,0,86,0 80,0,51,0,91,0,69,0,68,0,75,0 23,0,18,0,59,0,37,0,42,0,58,0 27,0,22,0,35,0,15,0,5,0,30,0 74,0,13,0,64,0,28,0,45,0,16,0 31,0,60,0,12,0,40,0,6,0,41,0 43,0,48,0,70,0,29,0,79,0,7,0 85,0,72,0,32,0,2,0,47,0,46,0 76,0,1,0,24,0,89,0,50,0,38,0 84,0,73,0,36,0,44,0,66,0,90,0 33,1,71,0,59,0,88,1,17,0,80,0 23,0,57,0,61,0,87,0,4,0,53,0 92,0,28,0,39,0,78,0,35,0,18,0 31,0,3,0,69,0,10,0,64,0,95,0 81,0,91,0,79,0,5,0,65,0,82,0 37,0,11,0,74,0,26,0,56,0,46,0 67,0,55,0,40,0,75,0,76,0,22,0 45,0,60,0,44,0,50,0,43,0,96,0 12,0,8,0,1,0,27,0,93,0,85,0 20,0,16,0,29,0,49,0,30,0,54,0 9,0,68,0,97,0,19,0,72,0,24,0 84,0,38,0,34,0,52,0,32,0,48,0 63,0,15,0,21,0,89,0,58,0,62,0 41,0,47,0,51,0,86,0,25,0,94,0 83,0,6,0,13,0,70,0,77,0,42,0 7,0,87,0,76,0,14,0,2,0,45,0 4,0,37,0,28,0,27,0,65,0,50,0 66,0,17,0,78,0,40,0,20,0,64,0 43,0,46,0,92,0,23,0,1,0,75,0 5,0,18,0,80,0,32,0,11,0,29,0 19,0,85,0,39,0,36,0,95,0,82,0 69,0,73,0,94,0,8,0,48,0,54,0 81,0,21,0,90,0,31,0,68,0,88,0 86,0,42,0,61,0,10,0,12,0,72,0 63,0,44,0,70,0,26,0,67,0,14,0 84,0,22,0,47,0,53,0,6,0,59,0 96,0,55,0,56,0,51,0,16,0,79,0 38,0,83,0,74,0,15,0,93,0,97,0 52,0,30,0,13,0,9,0,60,0,57,0 3,0,41,0,33,0,89,0,7,0,49,0 58,0,25,0,2,0,35,0,24,0,77,0 71,0,91,0,50,0,34,0,62,0,8,0 28,0,87,0,95,0,44,0,1,0,68,0 86,0,11,0,48,0,14,0,59,0,21,0 22,0,80,0,73,0,63,0,85,0,4,0 78,0,79,0,75,0,31,0,19,0,15,0 17,0,81,0,42,0,76,0,52,0,16,0 72,0,18,0,93,0,41,0,84,0,65,0 97,0,29,0,40,0,77,0,53,0,27,0 47,0,74,0,12,0,90,0,3,0,9,0 92,0,34,0,30,0,70,0,66,0,56,0 51,0,46,0,58,0,36,0,60,0,10,0 24,0,69,0,55,0,62,0,83,0,7,0 6,0,71,0,64,0,33,0,35,0,96,0 38,0,82,0,45,0,26,0,25,0,54,0 32,0,61,0,89,0,94,0,43,0,13,0 88,0,91,0,67,0,37,0,39,0,57,0 49,0,20,0,23,0,2,0,5,0,48,0 86,0,70,0,75,0,85,0,3,0,84,0 78,0,4,0,8,0,74,0,30,0,51,0 47,0,42,0,52,0,11,0,66,0,1,0 81,0,41,0,77,0,36,0,80,0,28,0 16,0,90,0,22,0,72,0,14,0,58,0 46,0,73,0,21,0,79,0,24,0,17,0 25,0,76,0,27,0,60,0,34,0,18,0 15,0,49,0,26,0,91,0,6,0,92,0 97,0,82,0,89,0,96,0,87,0,31,0 2,0,55,0,65,0,39,0,61,0,59,0 40,0,56,0,13,0,95,0,7,0,23,0 12,0,35,0,88,0,83,0,44,0,29,0 68,0,53,0,43,0,20,0,33,0,63,0 69,0,67,0,5,0,71,0,45,0,19,0 9,0,37,0,64,0,38,0,94,0,62,0 57,0,10,0,93,0,32,0,54,0,50,0 96,0,41,0,66,0,74,0,75,0,48,0 24,0,61,0,31,0,49,0,70,0,47,0 87,0,78,0,58,0,56,0,91,0,73,0 52,0,83,0,80,0,65,0,25,0,40,0 97,0,3,0,36,0,26,0,35,0,43,0 11,0,44,0,8,0,77,0,23,0,76,0 85,0,14,0,53,0,88,0,13,0,15,0 5,0,37,0,16,0,63,0,93,0,86,0 45,0,9,0,46,0,89,0,39,0,22,0 10,0,71,0,94,0,68,0,18,0,79,0 62,0,60,0,4,0,20,0,81,0,95,0 12,0,82,0,32,0,64,0,59,0,51,0 34,0,33,0,21,0,1,0,67,0,72,0 92,0,2,0,38,0,57,0,69,0,27,0 84,0,54,0,7,0,19,0,28,0,42,0 50,0,6,0,30,0,17,0,90,0,55,0 29,0,86,0,65,0,13,0,22,0,66,0 61,0,40,0,91,0,44,0,3,0,16,0 45,0,11,0,93,0,78,0,70,0,68,0 64,0,63,0,46,0,49,0,87,0,52,0 81,0,75,0,35,0,89,0,34,0,59,0 1,0,4,0,31,0,5,0,83,0,71,0 76,0,36,0,72,0,69,0,20,0,96,0 54,0,55,0,85,0,43,0,41,0,9,0 50,0,47,0,19,0,48,0,58,0,88,0 10,0,90,0,25,0,97,0,37,0,92,0 28,0,51,0,53,0,62,0,2,0,26,0 8,0,6,0,95,0,32,0,67,0,79,0 18,0,7,0,30,0,12,0,38,0,73,0 29,0,15,0,94,0,82,0,60,0,17,0 80,0,27,0,74,0,21,0,84,0,23,0 42,0,33,0,14,0,56,0,57,0,24,0 77,0,72,0,48,0,39,0,3,0,4,0 45,0,83,0,34,0,49,0,85,0,58,0 89,0,53,0,66,0,55,0,71,0,37,0 28,0,6,0,46,0,5,0,97,0,76,0 20,0,35,0,11,0,13,0,31,0,91,0 36,0,63,0,59,0,29,0,8,0,38,0 70,0,87,0,51,0,65,0,9,0,15,0 93,0,30,0,43,0,40,0,81,0,69,0 68,0,67,0,84,0,2,0,16,0,60,0 54,0,44,0,79,0,33,0,47,0,39,0 50,0,7,0,75,0,61,0,25,0,64,0 26,0,73,0,88,0,41,0,10,0,23,0 52,0,22,0,24,0,82,0,92,0,74,0 96,0,14,0,95,0,12,0,80,0,94,0 27,0,90,0,62,0,42,0,32,0,78,0 57,0,77,0,17,0,86,0,18,0,1,0 19,0,56,0,6,0,21,0,3,0,38,0 70,0,28,0,58,0,55,0,8,0,33,0 15,0,51,0,20,0,37,0,44,0,7,0 5,0,66,0,60,0,61,0,85,0,26,0 11,0,34,0,40,0,87,0,54,0,24,0 75,0,94,0,83,0,63,0,72,0,30,0 92,0,4,0,89,0,88,0,84,0,64,0 79,0,50,0,23,0,69,0,52,0,12,0 77,0,95,0,71,0,46,0,90,0,65,0 39,0,68,0,49,0,27,0,96,0,17,0 18,0,62,0,67,0,13,0,47,0,97,0 56,0,10,0,82,0,76,0,35,0,80,0 59,0,16,0,43,0,57,0,25,0,73,0 91,0,32,0,41,0,53,0,21,0,45,0 1,0,19,0,74,0,14,0,81,0,29,0 42,0,93,0,22,0,31,0,36,0,48,0 86,0,2,0,33,0,9,0,78,0,88,0 ================================================ FILE: schedules/97_11.csv ================================================ 29,0,19,0,65,0,89,0,47,0,45,0 41,0,66,0,13,0,56,0,73,0,75,0 4,0,42,0,57,0,2,0,60,0,70,0 49,0,92,0,48,0,31,0,14,0,72,0 74,0,27,0,71,0,1,0,28,0,83,0 96,0,79,0,11,0,39,0,24,0,15,0 9,0,7,0,88,0,44,0,35,0,38,0 23,0,95,0,12,0,68,0,26,0,21,0 63,0,77,0,81,0,52,0,67,0,64,0 25,0,93,0,22,0,55,0,46,0,82,0 69,0,43,0,33,0,18,0,40,0,34,0 84,0,76,0,6,0,53,0,91,0,86,0 78,0,87,0,10,0,97,0,20,0,16,0 61,0,90,0,54,0,17,0,50,0,51,0 36,0,8,0,62,0,32,0,80,0,58,0 94,0,85,0,3,0,5,0,30,0,59,0 37,0,77,0,92,0,45,0,4,0,71,0 14,0,46,0,29,0,64,0,13,0,95,0 55,0,79,0,7,0,65,0,26,0,41,0 74,0,25,0,24,0,75,0,47,0,93,0 88,0,73,0,16,0,83,0,48,0,18,0 61,0,84,0,39,0,78,0,27,0,63,0 82,0,10,0,9,0,33,0,54,0,11,0 67,0,97,0,60,0,38,0,91,0,36,0 59,0,20,0,42,0,89,0,86,0,90,0 72,0,52,0,37,0,3,0,53,0,28,0 31,0,12,0,32,0,57,0,40,0,5,0 66,0,22,0,51,0,6,0,68,0,8,0 81,0,1,0,34,0,35,0,62,0,2,0 23,0,17,0,87,0,69,0,76,0,96,0 70,0,94,0,58,0,44,0,19,0,50,0 15,0,21,0,49,0,43,0,56,0,85,0 30,0,25,0,26,0,80,0,10,0,45,0 65,1,55,0,86,0,9,0,72,0,64,0 40,0,54,0,89,0,28,0,63,0,92,0 27,0,4,0,41,0,97,0,11,0,12,0 75,0,8,0,79,0,46,0,1,0,37,0 83,0,51,0,33,0,14,0,60,0,39,0 42,0,69,0,5,0,66,0,61,0,44,0 52,0,74,0,62,0,49,0,18,0,22,0 15,0,48,0,58,0,87,0,68,0,84,0 93,0,50,0,73,0,36,0,77,0,30,0 16,0,23,0,24,0,70,0,91,0,56,0 88,0,95,0,34,0,3,0,80,0,90,0 20,0,53,0,81,0,85,0,57,0,47,0 71,0,94,0,76,0,38,0,29,0,82,0 59,0,13,0,35,0,21,0,32,0,17,0 96,0,43,0,2,0,31,0,67,0,7,0 19,0,6,0,83,0,78,0,79,0,62,0 36,0,44,0,42,0,64,0,75,0,48,0 5,0,26,0,91,0,58,0,49,0,77,0 40,0,15,0,60,0,73,0,66,0,25,0 20,0,24,0,41,0,1,0,95,0,84,0 74,0,38,0,89,0,55,0,8,0,23,0 51,0,63,0,69,0,71,0,12,0,9,0 16,0,65,0,21,0,50,0,53,0,11,0 90,0,43,0,32,0,47,0,10,0,6,0 2,0,88,0,33,0,30,0,27,0,22,0 78,0,37,0,31,0,34,0,76,0,85,0 59,0,57,0,68,0,67,0,54,0,93,0 45,0,81,0,72,0,96,0,13,0,94,0 56,0,4,0,29,0,61,0,87,0,86,0 92,0,39,0,17,0,97,0,52,0,70,0 18,0,35,0,82,0,19,0,3,0,14,0 28,0,46,0,91,0,80,0,7,0,12,0 63,0,42,0,24,0,32,0,65,0,83,0 66,0,21,0,27,0,31,0,77,0,10,0 90,0,44,0,37,0,33,0,73,0,49,0 50,0,43,0,55,0,76,0,48,0,81,0 36,0,29,0,96,0,40,0,68,0,20,0 58,0,85,0,97,0,9,0,74,0,2,0 54,0,38,0,5,0,52,0,45,0,84,0 7,0,39,0,19,0,34,0,93,0,23,0 46,0,57,0,6,0,17,0,16,0,72,0 3,0,56,0,1,0,92,0,26,0,22,0 95,0,35,0,78,0,53,0,4,0,75,0 88,0,28,0,8,0,25,0,60,0,41,0 67,0,30,0,13,0,70,0,82,0,61,0 79,0,47,0,87,0,11,0,51,0,59,0 62,0,15,0,14,0,86,0,69,0,94,0 80,0,64,0,31,0,89,0,71,0,18,0 93,0,40,0,27,0,91,0,45,0,21,0 5,0,46,0,97,0,90,0,19,0,56,0 58,0,4,0,83,0,43,0,38,0,72,0 73,0,23,0,53,0,63,0,10,0,1,0 95,0,8,0,9,0,61,0,57,0,92,0 13,0,12,0,22,0,85,0,54,0,24,0 65,0,15,0,51,0,20,0,2,0,37,0 67,0,17,0,66,0,78,0,28,0,29,0 14,0,75,0,34,0,11,0,84,0,81,0 35,0,49,0,30,0,69,0,16,0,55,0 48,0,86,0,79,0,60,0,80,0,77,0 25,0,59,0,76,0,18,0,39,0,36,0 26,0,74,0,87,0,6,0,42,0,94,0 62,0,41,0,50,0,44,0,68,0,71,0 70,0,3,0,64,0,47,0,7,0,33,0 88,0,32,0,89,0,52,0,96,0,82,0 57,0,73,0,22,0,43,0,84,0,29,0 19,0,30,0,38,0,37,0,24,0,40,0 81,0,54,0,65,0,60,0,58,0,78,0 77,0,23,0,28,0,9,0,13,0,15,0 36,0,94,0,90,0,53,0,27,0,79,0 16,0,34,0,44,0,92,0,67,0,74,0 80,0,76,0,68,0,42,0,35,0,11,0 97,0,89,0,6,0,1,0,21,0,33,0 46,0,48,0,69,0,51,0,41,0,10,0 5,0,18,0,70,0,95,0,96,0,93,0 25,0,2,0,61,0,49,0,12,0,3,0 82,0,26,0,86,0,31,0,52,0,75,0 39,0,45,0,55,0,88,0,62,0,87,0 91,0,50,0,47,0,4,0,14,0,63,0 71,0,7,0,72,0,85,0,32,0,66,0 64,0,17,0,56,0,20,0,83,0,8,0 59,0,38,0,33,0,46,0,81,0,92,0 73,0,35,0,67,0,89,0,24,0,27,0 37,0,11,0,29,0,48,0,25,0,5,0 41,0,61,0,52,0,6,0,58,0,23,0 57,0,28,0,70,0,21,0,62,0,55,0 53,0,14,0,96,0,80,0,22,0,9,0 1,0,65,0,18,0,85,0,87,0,91,0 36,0,56,0,50,0,31,0,69,0,88,0 32,0,68,0,64,0,39,0,74,0,4,0 71,0,17,0,3,0,42,0,79,0,93,0 19,0,2,0,10,0,95,0,59,0,72,0 83,0,45,0,90,0,76,0,7,0,15,0 51,0,13,0,84,0,40,0,26,0,44,0 20,0,75,0,60,0,49,0,63,0,94,0 30,0,34,0,86,0,97,0,54,0,66,0 16,0,77,0,12,0,82,0,43,0,8,0 47,0,1,0,68,0,78,0,5,0,88,0 56,0,42,0,9,0,67,0,18,0,37,0 55,0,53,0,24,0,33,0,71,0,61,0 85,0,28,0,38,0,64,0,50,0,79,0 62,0,4,0,90,0,65,0,31,0,23,0 80,0,15,0,63,0,74,0,57,0,41,0 72,0,75,0,40,0,97,0,76,0,22,0 66,0,95,0,82,0,49,0,83,0,36,0 25,0,7,0,16,0,86,0,51,0,81,0 39,0,54,0,26,0,47,0,48,0,35,0 93,0,10,0,84,0,89,0,12,0,94,0 91,0,11,0,43,0,30,0,32,0,92,0 77,0,34,0,59,0,29,0,70,0,6,0 3,0,21,0,96,0,73,0,58,0,46,0 20,0,52,0,27,0,19,0,13,0,69,0 44,0,78,0,2,0,87,0,14,0,8,0 17,0,45,0,68,0,60,0,24,0,82,0 97,0,80,0,47,0,83,0,37,0,55,0 49,0,67,0,10,0,79,0,76,0,88,0 92,0,35,0,84,0,66,0,23,0,64,0 61,0,22,0,28,0,59,0,16,0,31,0 1,0,39,0,94,0,77,0,65,0,40,0 93,0,29,0,91,0,9,0,81,0,41,0 44,0,18,0,15,0,54,0,6,0,4,0 30,0,7,0,21,0,42,0,52,0,14,0 45,0,70,0,12,0,74,0,20,0,73,0 43,0,75,0,3,0,62,0,89,0,51,0 60,0,53,0,87,0,34,0,46,0,32,0 95,0,56,0,58,0,27,0,25,0,17,0 2,0,86,0,11,0,13,0,71,0,36,0 78,0,57,0,69,0,26,0,38,0,90,0 63,0,85,0,8,0,19,0,96,0,48,0 5,0,72,0,23,0,50,0,33,0,67,0 84,0,65,0,14,0,59,0,97,0,88,0 51,0,92,0,24,0,80,0,29,0,21,0 44,0,32,0,77,0,3,0,55,0,20,0 9,0,47,0,52,0,62,0,16,0,66,0 73,0,31,0,54,0,91,0,95,0,79,0 64,0,11,0,1,0,58,0,45,0,57,0 75,0,41,0,90,0,2,0,38,0,39,0 50,0,40,0,46,0,78,0,74,0,86,0 83,0,69,0,89,0,85,0,25,0,70,0 82,0,72,0,27,0,42,0,34,0,15,0 63,0,71,0,87,0,43,0,35,0,5,0 76,0,36,0,19,0,28,0,26,0,33,0 4,0,22,0,48,0,17,0,7,0,94,0 12,0,60,0,6,0,30,0,96,0,56,0 18,0,10,0,68,0,61,0,37,0,81,0 13,0,49,0,93,0,53,0,8,0,65,0 ================================================ FILE: schedules/97_12.csv ================================================ 18,0,15,0,80,0,70,0,22,0,8,0 88,0,62,0,94,0,9,0,36,0,90,0 56,0,7,0,6,0,91,0,20,0,5,0 25,0,68,0,54,0,89,0,30,0,69,0 31,0,29,0,75,0,41,0,71,0,35,0 34,0,73,0,67,0,2,0,12,0,10,0 79,0,93,0,58,0,16,0,3,0,66,0 21,0,45,0,59,0,49,0,1,0,74,0 96,0,47,0,13,0,72,0,33,0,63,0 11,0,44,0,82,0,61,0,84,0,40,0 87,0,97,0,85,0,92,0,60,0,17,0 28,0,83,0,24,0,64,0,19,0,32,0 38,0,77,0,78,0,26,0,76,0,55,0 4,0,65,0,51,0,81,0,39,0,43,0 42,0,57,0,37,0,27,0,46,0,52,0 95,0,14,0,48,0,53,0,86,0,23,0 50,0,7,0,90,0,33,0,25,0,58,0 30,0,63,0,74,0,93,0,80,0,62,0 54,0,92,0,84,0,2,0,18,0,9,0 15,0,60,0,45,0,19,0,11,0,29,0 6,0,55,0,97,0,59,0,16,0,28,0 32,0,3,0,43,0,61,0,88,0,87,0 52,0,82,0,12,0,71,0,68,0,26,0 38,0,70,0,17,0,41,0,66,0,34,0 40,0,48,0,27,0,24,0,75,0,22,0 85,0,46,0,4,0,69,0,23,0,83,0 53,0,79,0,81,0,39,0,78,0,1,0 14,0,13,0,37,0,67,0,96,0,20,0 64,0,57,0,36,0,65,0,31,0,77,0 91,0,73,0,86,0,76,0,89,0,44,0 35,0,72,0,42,0,10,0,94,0,5,0 56,0,49,0,8,0,47,0,51,0,50,0 21,0,58,0,82,0,95,0,60,0,30,0 87,0,68,0,16,0,22,0,2,0,27,0 93,0,25,0,32,0,39,0,85,0,26,0 54,0,75,0,33,0,19,0,81,0,14,0 90,0,1,0,41,0,13,0,83,0,15,0 9,0,40,0,12,0,3,0,64,0,48,0 31,0,4,0,66,0,18,0,61,0,42,0 10,0,96,0,51,0,17,0,36,0,79,0 71,0,49,0,37,0,77,0,94,0,7,0 72,0,8,0,45,0,38,0,62,0,52,0 56,0,34,0,29,0,76,0,46,0,80,0 86,0,74,0,78,0,35,0,84,0,6,0 70,0,23,0,63,0,44,0,65,0,55,0 95,0,59,0,73,0,43,0,57,0,5,0 24,0,69,0,53,0,20,0,28,0,47,0 88,0,11,0,97,0,91,0,21,0,67,0 50,0,77,0,41,0,92,0,89,0,79,0 15,0,93,0,3,0,4,0,75,0,2,0 13,0,10,0,76,0,19,0,7,0,51,0 39,0,49,0,82,0,22,0,42,0,17,0 46,0,48,0,31,0,8,0,54,0,74,0 34,0,5,0,18,0,60,0,14,0,33,0 64,0,95,0,52,0,55,0,1,0,20,0 91,0,40,0,16,0,85,0,69,0,80,0 53,0,6,0,32,0,50,0,37,0,36,0 88,0,86,0,26,0,45,0,58,0,70,0 38,0,35,0,11,0,90,0,63,0,89,0 61,0,62,0,83,0,57,0,96,0,68,0 59,0,67,0,65,0,78,0,94,0,92,0 28,0,81,0,21,0,71,0,84,0,73,0 72,0,23,0,97,0,43,0,25,0,27,0 12,0,29,0,87,0,66,0,30,0,47,0 44,0,56,0,74,0,24,0,9,0,37,0 10,0,22,0,1,0,69,0,93,0,91,0 31,0,11,0,79,0,46,0,55,0,14,0 38,0,42,0,20,0,68,0,51,0,80,0 78,0,83,0,2,0,33,0,95,0,49,0 85,0,63,0,53,0,7,0,81,0,82,0 13,0,3,0,97,0,35,0,45,0,65,0 87,0,64,0,84,0,34,0,96,0,25,0 24,0,29,0,50,0,18,0,72,0,59,0 23,0,19,0,39,0,8,0,73,0,40,0 17,0,27,0,5,0,32,0,77,0,58,0 26,0,61,0,67,0,36,0,15,0,54,0 57,0,70,0,89,0,6,0,12,0,4,0 43,0,60,0,9,0,28,0,75,0,66,0 47,0,71,0,56,0,86,0,90,0,62,0 44,0,92,0,48,0,88,0,30,0,52,0 21,0,41,0,94,0,76,0,16,0,64,0 31,0,50,0,80,0,81,0,23,0,10,0 68,0,49,0,19,0,5,0,55,0,84,0 17,0,26,0,25,0,13,0,11,0,46,0 72,0,89,0,7,0,95,0,61,0,74,0 67,0,51,0,58,0,57,0,18,0,87,0 3,0,39,0,54,0,28,0,27,0,86,0 8,0,43,0,90,0,6,0,2,0,29,0 97,0,1,0,4,0,44,0,94,0,47,0 35,0,36,0,52,0,85,0,73,0,33,0 69,0,77,0,60,0,12,0,62,0,53,0 59,0,76,0,96,0,32,0,66,0,22,0 93,0,65,0,88,0,40,0,38,0,41,0 20,0,63,0,83,0,48,0,21,0,42,0 14,0,78,0,30,0,15,0,16,0,56,0 37,0,45,0,75,0,82,0,34,0,92,0 71,0,9,0,79,0,24,0,70,0,91,0 13,0,31,0,95,0,6,0,27,0,49,0 94,0,23,0,85,0,12,0,51,0,54,0 7,0,80,0,66,0,26,0,2,0,97,0 38,0,58,0,96,0,69,0,29,0,44,0 52,0,86,0,61,0,46,0,50,0,93,0 18,0,41,0,43,0,78,0,11,0,20,0 28,0,92,0,33,0,42,0,76,0,62,0 81,0,22,0,35,0,56,0,57,0,25,0 77,0,67,0,4,0,30,0,19,0,45,0 84,0,16,0,24,0,63,0,1,0,60,0 90,0,5,0,82,0,3,0,36,0,70,0 55,0,40,0,71,0,74,0,10,0,53,0 73,0,68,0,32,0,79,0,75,0,64,0 88,0,15,0,47,0,17,0,59,0,37,0 48,0,39,0,72,0,34,0,91,0,14,0 89,0,8,0,65,0,9,0,21,0,87,0 52,0,22,0,11,0,83,0,7,0,54,0 81,0,25,0,41,0,86,0,42,0,67,0 49,0,36,0,93,0,18,0,95,0,97,0 44,0,45,0,2,0,85,0,5,0,31,0 70,0,33,0,94,0,69,0,43,0,74,0 75,0,84,0,12,0,56,0,76,0,58,0 57,0,53,0,80,0,19,0,72,0,17,0 96,0,27,0,1,0,8,0,35,0,55,0 87,0,10,0,62,0,59,0,4,0,82,0 92,0,61,0,39,0,38,0,24,0,21,0 29,0,16,0,77,0,13,0,23,0,9,0 91,0,32,0,30,0,60,0,20,0,3,0 68,0,66,0,83,0,88,0,50,0,14,0 48,0,51,0,37,0,65,0,90,0,73,0 47,0,64,0,46,0,15,0,89,0,6,0 63,0,40,0,79,0,28,0,26,0,34,0 71,0,22,0,5,0,78,0,43,0,67,0 56,0,53,0,42,0,97,0,70,0,96,0 75,0,69,0,86,0,13,0,36,0,8,0 81,0,2,0,30,0,52,0,94,0,24,0 84,0,41,0,80,0,87,0,33,0,45,0 88,0,12,0,92,0,55,0,39,0,31,0 6,0,62,0,19,0,21,0,25,0,3,0 95,0,77,0,44,0,54,0,66,0,35,0 51,0,59,0,89,0,71,0,93,0,83,0 38,0,74,0,23,0,57,0,79,0,60,0 90,0,46,0,78,0,40,0,72,0,4,0 91,0,26,0,27,0,65,0,17,0,29,0 20,0,9,0,73,0,15,0,82,0,50,0 61,0,58,0,10,0,85,0,37,0,64,0 68,0,28,0,18,0,7,0,48,0,1,0 11,0,34,0,16,0,32,0,49,0,47,0 76,0,14,0,70,0,63,0,25,0,52,0 44,0,87,0,36,0,83,0,12,0,79,0 2,0,46,0,60,0,71,0,88,0,51,0 89,0,33,0,3,0,31,0,26,0,22,0 95,0,42,0,84,0,29,0,62,0,73,0 4,0,64,0,5,0,54,0,53,0,13,0 85,0,67,0,66,0,56,0,1,0,72,0 6,0,11,0,39,0,75,0,30,0,96,0 92,0,58,0,14,0,47,0,80,0,74,0 23,0,28,0,45,0,61,0,91,0,78,0 35,0,69,0,9,0,59,0,41,0,7,0 34,0,90,0,93,0,27,0,20,0,81,0 8,0,68,0,24,0,10,0,97,0,77,0 55,0,94,0,57,0,32,0,48,0,82,0 16,0,19,0,37,0,38,0,86,0,18,0 43,0,63,0,21,0,17,0,50,0,40,0 65,0,76,0,25,0,15,0,49,0,53,0 3,0,95,0,92,0,51,0,11,0,56,0 73,0,47,0,60,0,7,0,31,0,70,0 66,0,36,0,89,0,39,0,84,0,52,0 78,0,58,0,54,0,34,0,24,0,42,0 59,0,12,0,91,0,8,0,41,0,14,0 28,0,74,0,96,0,77,0,2,0,85,0 10,0,50,0,57,0,16,0,75,0,44,0 29,0,22,0,20,0,79,0,88,0,4,0 55,0,80,0,30,0,90,0,61,0,13,0 35,0,19,0,26,0,48,0,49,0,87,0 69,0,27,0,64,0,63,0,82,0,67,0 94,0,17,0,43,0,45,0,68,0,86,0 93,0,76,0,21,0,23,0,5,0,37,0 83,0,18,0,6,0,72,0,71,0,65,0 46,0,33,0,1,0,38,0,9,0,32,0 62,0,15,0,40,0,81,0,97,0,58,0 4,0,50,0,74,0,11,0,28,0,12,0 55,0,2,0,25,0,47,0,91,0,36,0 70,0,16,0,39,0,67,0,87,0,95,0 60,0,42,0,90,0,44,0,26,0,59,0 69,0,82,0,19,0,78,0,31,0,56,0 54,0,49,0,41,0,10,0,63,0,37,0 27,0,94,0,83,0,84,0,38,0,53,0 17,0,18,0,30,0,64,0,35,0,23,0 7,0,24,0,46,0,96,0,93,0,45,0 65,0,1,0,80,0,89,0,88,0,75,0 9,0,3,0,76,0,81,0,72,0,68,0 61,0,22,0,97,0,6,0,14,0,73,0 66,0,20,0,8,0,57,0,71,0,33,0 62,0,79,0,13,0,48,0,85,0,43,0 40,0,5,0,32,0,86,0,92,0,29,0 15,0,51,0,52,0,77,0,21,0,34,0 ================================================ FILE: schedules/97_13.csv ================================================ 73,0,30,0,38,0,79,0,87,0,24,0 57,0,63,0,54,0,89,0,3,0,11,0 27,0,55,0,37,0,4,0,40,0,12,0 42,0,71,0,91,0,93,0,62,0,65,0 69,0,32,0,83,0,68,0,14,0,9,0 44,0,36,0,8,0,35,0,56,0,10,0 66,0,77,0,76,0,67,0,29,0,25,0 88,0,53,0,85,0,46,0,33,0,41,0 34,0,15,0,92,0,1,0,18,0,28,0 58,0,23,0,26,0,19,0,17,0,70,0 5,0,45,0,75,0,82,0,21,0,52,0 61,0,22,0,81,0,7,0,20,0,72,0 94,0,2,0,50,0,31,0,49,0,6,0 84,0,59,0,78,0,97,0,60,0,80,0 86,0,47,0,13,0,64,0,90,0,96,0 48,0,16,0,95,0,39,0,51,0,74,0 43,0,37,0,46,0,71,0,30,0,32,0 65,0,33,0,14,0,23,0,73,0,67,0 70,0,21,0,89,0,25,0,15,0,38,0 79,0,35,0,42,0,19,0,22,0,75,0 94,0,12,0,93,0,58,0,36,0,87,0 50,0,31,0,97,0,92,0,85,0,81,0 6,0,44,0,60,0,4,0,11,0,76,0 18,0,40,0,7,0,95,0,83,0,49,0 29,0,51,0,53,0,54,0,43,0,72,0 59,0,57,0,17,0,13,0,28,0,45,0 69,0,62,0,52,0,66,0,61,0,55,0 48,0,41,0,10,0,78,0,96,0,63,0 5,0,68,0,3,0,2,0,90,0,16,0 91,0,86,0,34,0,8,0,26,0,9,0 24,0,20,0,80,0,27,0,56,0,74,0 47,0,82,0,39,0,84,0,88,0,1,0 64,0,79,0,19,0,77,0,43,0,95,0 40,1,76,0,13,0,89,1,33,0,94,0 73,1,7,0,52,0,50,1,53,0,12,0 93,1,81,0,41,0,30,0,17,0,6,0 49,0,69,0,87,0,16,0,70,0,42,0 8,0,68,0,90,0,63,0,29,0,37,0 83,0,34,0,67,0,62,0,35,0,27,0 25,0,72,0,55,0,86,0,92,0,32,0 64,0,61,0,46,0,59,0,28,0,44,0 22,0,23,0,5,0,91,0,74,0,18,0 75,0,84,0,31,0,96,0,15,0,14,0 4,0,2,0,57,0,21,0,1,0,10,0 60,0,56,0,65,0,47,0,51,0,26,0 66,0,48,0,11,0,85,0,45,0,24,0 77,0,80,0,88,0,36,0,3,0,71,0 9,0,54,0,58,0,82,0,20,0,38,0 39,0,69,0,13,0,97,0,78,0,34,0 43,0,83,0,93,0,70,0,8,0,33,0 15,0,49,0,76,0,32,0,79,0,27,0 17,0,10,0,7,0,62,0,86,0,89,0 5,0,72,0,26,0,73,0,4,0,84,0 1,0,95,0,91,0,85,0,60,0,12,0 44,0,87,0,96,0,25,0,52,0,40,0 47,0,29,0,71,0,50,0,58,0,11,0 18,0,54,0,41,0,42,0,9,0,80,0 48,0,67,0,22,0,46,0,19,0,82,0 55,0,16,0,28,0,77,0,81,0,65,0 24,0,36,0,88,0,37,0,51,0,59,0 66,0,90,0,56,0,21,0,31,0,78,0 53,0,68,0,94,0,57,0,30,0,92,0 45,0,3,0,97,0,20,0,23,0,64,0 35,0,63,0,14,0,6,0,39,0,61,0 74,0,38,0,93,0,2,0,75,0,29,0 26,0,10,0,40,0,43,0,42,0,32,0 65,0,82,0,70,0,44,0,86,0,27,0 19,0,91,0,15,0,41,0,36,0,55,0 37,0,76,0,81,0,69,0,73,0,58,0 21,0,59,0,34,0,87,0,77,0,50,0 95,0,22,0,68,0,96,0,66,0,54,0 9,0,31,0,63,0,17,0,33,0,60,0 80,0,74,0,35,0,72,0,49,0,30,0 7,0,1,0,78,0,38,0,8,0,23,0 2,0,88,0,12,0,45,0,61,0,92,0 39,0,20,0,90,0,62,0,51,0,57,0 16,0,6,0,84,0,24,0,67,0,13,0 14,0,79,0,97,0,46,0,3,0,47,0 4,0,52,0,83,0,64,0,11,0,94,0 85,0,5,0,28,0,25,0,75,0,56,0 48,0,89,0,18,0,53,0,71,0,44,0 60,0,36,0,7,0,96,0,65,0,43,0 72,0,66,0,37,0,17,0,42,0,50,0 21,0,40,0,15,0,23,0,63,0,61,0 67,0,32,0,91,0,81,0,2,0,87,0 88,0,57,0,49,0,62,0,9,0,29,0 68,0,77,0,51,0,4,0,78,0,33,0 80,0,76,0,39,0,83,0,92,0,46,0 20,0,12,0,73,0,48,0,34,0,75,0 11,0,95,0,41,0,14,0,59,0,86,0 53,0,27,0,3,0,13,0,8,0,22,0 5,0,47,0,84,0,69,0,94,0,28,0 52,0,24,0,19,0,1,0,93,0,31,0 64,0,54,0,30,0,16,0,10,0,85,0 35,0,82,0,97,0,25,0,90,0,26,0 38,0,70,0,45,0,56,0,71,0,18,0 6,0,79,0,74,0,55,0,58,0,89,0 46,0,49,0,73,0,77,0,92,0,63,0 75,0,44,0,51,0,7,0,50,0,9,0 62,0,8,0,59,0,81,0,84,0,12,0 41,0,66,0,57,0,5,0,87,0,32,0 17,0,64,0,36,0,42,0,29,0,27,0 28,0,54,0,21,0,93,0,35,0,24,0 16,0,71,0,94,0,20,0,60,0,25,0 90,0,79,0,72,0,10,0,83,0,91,0 61,0,58,0,4,0,31,0,18,0,43,0 19,0,74,0,86,0,69,0,40,0,53,0 23,0,76,0,2,0,82,0,48,0,55,0 30,0,78,0,45,0,15,0,22,0,3,0 11,0,13,0,65,0,70,0,1,0,80,0 26,0,85,0,96,0,89,0,14,0,37,0 97,0,67,0,56,0,52,0,68,0,88,0 33,0,34,0,95,0,47,0,6,0,38,0 39,0,4,0,50,0,8,0,32,0,41,0 62,0,25,0,46,0,93,0,54,0,60,0 84,0,18,0,63,0,19,0,76,0,51,0 77,0,24,0,83,0,57,0,5,0,44,0 71,0,31,0,22,0,86,0,10,0,23,0 72,0,96,0,69,0,26,0,11,0,2,0 81,0,82,0,15,0,56,0,49,0,12,0 65,0,30,0,88,0,38,0,90,0,40,0 53,0,78,0,70,0,75,0,47,0,55,0 14,0,29,0,16,0,45,0,94,0,34,0 43,0,87,0,6,0,28,0,80,0,68,0 39,0,85,0,17,0,21,0,79,0,20,0 58,0,95,0,92,0,36,0,52,0,13,0 33,0,73,0,1,0,74,0,42,0,3,0 9,0,61,0,27,0,37,0,97,0,48,0 67,0,66,0,64,0,91,0,7,0,89,0 35,0,65,0,51,0,59,0,31,0,69,0 40,0,56,0,46,0,72,0,34,0,2,0 44,0,63,0,80,0,22,0,93,0,26,0 14,0,11,0,38,0,12,0,19,0,16,0 24,0,62,0,4,0,23,0,53,0,79,0 47,0,25,0,85,0,83,0,74,0,68,0 20,0,28,0,27,0,88,0,50,0,95,0 36,0,9,0,73,0,66,0,21,0,6,0 5,0,15,0,33,0,59,0,10,0,58,0 3,0,52,0,49,0,43,0,91,0,39,0 42,0,45,0,86,0,76,0,30,0,67,0 75,0,1,0,41,0,61,0,94,0,90,0 96,0,8,0,55,0,71,0,17,0,97,0 35,0,81,0,60,0,37,0,57,0,18,0 64,0,89,0,92,0,87,0,82,0,78,0 54,0,7,0,48,0,77,0,70,0,84,0 13,0,32,0,19,0,29,0,21,0,74,0 47,0,93,0,59,0,26,0,49,0,20,0 63,0,3,0,67,0,58,0,72,0,85,0 95,0,65,0,9,0,5,0,4,0,53,0 79,0,8,0,66,0,16,0,40,0,80,0 36,0,37,0,75,0,1,0,62,0,45,0 71,0,33,0,92,0,64,0,35,0,41,0 10,0,57,0,70,0,61,0,84,0,34,0 54,0,87,0,13,0,76,0,56,0,14,0 77,0,90,0,23,0,52,0,81,0,6,0 25,0,78,0,43,0,27,0,11,0,73,0 48,0,50,0,60,0,15,0,86,0,68,0 69,0,46,0,12,0,17,0,18,0,24,0 30,0,29,0,28,0,91,0,82,0,31,0 22,0,2,0,51,0,97,0,83,0,89,0 55,0,94,0,38,0,44,0,42,0,39,0 32,0,88,0,93,0,7,0,96,0,34,0 45,0,47,0,81,0,4,0,41,0,63,0 27,0,92,0,75,0,59,0,23,0,54,0 40,0,14,0,20,0,70,0,36,0,5,0 80,0,10,0,25,0,37,0,95,0,69,0 52,0,50,0,79,0,78,0,57,0,65,0 49,0,89,0,90,0,19,0,33,0,48,0 84,0,86,0,46,0,66,0,38,0,35,0 71,0,82,0,61,0,51,0,13,0,85,0 31,0,26,0,42,0,83,0,88,0,6,0 60,0,2,0,8,0,24,0,28,0,58,0 74,0,15,0,43,0,67,0,44,0,17,0 12,0,64,0,39,0,9,0,72,0,22,0 21,0,18,0,11,0,68,0,30,0,62,0 56,0,96,0,91,0,94,0,77,0,73,0 32,0,16,0,76,0,1,0,53,0,97,0 7,0,87,0,55,0,3,0,29,0,35,0 13,0,71,0,4,0,49,0,75,0,66,0 78,0,51,0,46,0,40,0,5,0,81,0 93,0,23,0,85,0,86,0,57,0,43,0 59,0,42,0,20,0,52,0,63,0,2,0 38,0,22,0,60,0,69,0,67,0,92,0 72,0,94,0,70,0,95,0,24,0,82,0 80,0,62,0,21,0,16,0,96,0,33,0 32,0,97,0,6,0,54,0,12,0,65,0 9,0,3,0,10,0,19,0,50,0,25,0 30,0,47,0,89,0,61,0,8,0,77,0 26,0,28,0,74,0,7,0,41,0,76,0 73,0,55,0,14,0,64,0,18,0,88,0 58,0,84,0,27,0,68,0,45,0,91,0 29,0,17,0,1,0,56,0,83,0,48,0 31,0,90,0,44,0,79,0,36,0,34,0 11,0,53,0,87,0,15,0,37,0,39,0 21,0,94,0,86,0,51,0,81,0,3,0 50,0,43,0,63,0,97,0,38,0,5,0 19,0,4,0,59,0,85,0,30,0,7,0 10,0,93,0,82,0,18,0,66,0,14,0 16,0,74,0,58,0,35,0,88,0,78,0 17,0,61,0,2,0,73,0,80,0,95,0 24,0,34,0,68,0,55,0,76,0,65,0 92,0,40,0,6,0,62,0,47,0,48,0 72,0,89,0,41,0,60,0,27,0,52,0 25,0,42,0,77,0,12,0,13,0,31,0 26,0,79,0,1,0,67,0,71,0,54,0 83,0,53,0,28,0,23,0,49,0,36,0 37,0,87,0,91,0,20,0,33,0,44,0 11,0,56,0,32,0,22,0,90,0,84,0 57,0,8,0,69,0,64,0,15,0,75,0 96,0,70,0,29,0,39,0,9,0,46,0 45,0,89,0,50,0,40,0,73,0,93,0 ================================================ FILE: schedules/97_14.csv ================================================ 48,0,92,0,30,0,60,0,66,0,2,0 89,0,42,0,41,0,23,0,85,0,31,0 18,0,55,0,37,0,74,0,71,0,7,0 68,0,56,0,46,0,97,0,96,0,80,0 62,0,61,0,75,0,22,0,91,0,43,0 21,0,50,0,29,0,20,0,35,0,65,0 90,0,44,0,84,0,12,0,79,0,32,0 34,0,11,0,28,0,13,0,53,0,10,0 27,0,16,0,78,0,95,0,6,0,88,0 39,0,47,0,9,0,26,0,94,0,58,0 93,0,4,0,77,0,5,0,24,0,82,0 64,0,59,0,15,0,63,0,14,0,49,0 45,0,81,0,38,0,73,0,1,0,76,0 25,0,33,0,51,0,40,0,57,0,67,0 3,0,8,0,70,0,36,0,86,0,52,0 87,0,19,0,72,0,83,0,54,0,17,0 69,0,97,0,18,0,35,0,34,0,23,0 95,0,62,0,16,0,89,0,26,0,46,0 28,0,92,0,53,0,94,0,85,0,61,0 30,0,6,0,44,0,5,0,80,0,11,0 9,0,50,0,71,0,14,0,81,0,91,0 79,0,76,0,47,0,68,0,48,0,78,0 7,0,77,0,64,0,20,0,27,0,36,0 22,0,82,0,32,0,17,0,8,0,45,0 31,0,21,0,55,0,33,0,60,0,15,0 4,0,90,0,58,0,2,0,41,0,54,0 65,0,74,0,83,0,49,0,3,0,10,0 25,0,93,0,96,0,19,0,37,0,86,0 24,0,52,0,1,0,51,0,43,0,72,0 84,0,75,0,57,0,13,0,29,0,63,0 70,0,88,0,40,0,73,0,69,0,12,0 38,0,87,0,66,0,39,0,67,0,56,0 42,0,55,0,35,0,59,0,92,0,95,0 61,1,71,0,15,0,20,1,82,0,16,0 80,1,21,0,85,0,11,1,36,0,77,0 33,0,54,0,8,0,97,0,47,0,10,0 64,0,51,0,60,0,89,0,78,0,65,0 3,0,48,0,7,0,72,0,62,0,13,0 43,0,93,0,94,0,90,0,88,0,74,0 63,0,91,0,5,0,56,0,18,0,2,0 39,0,14,0,23,0,53,0,96,0,32,0 79,0,59,0,73,0,24,0,30,0,83,0 6,0,58,0,46,0,87,0,34,0,25,0 28,0,29,0,38,0,69,0,26,0,42,0 40,0,52,0,49,0,44,0,50,0,45,0 84,0,67,0,19,0,4,0,81,0,76,0 17,0,70,0,37,0,31,0,75,0,66,0 27,0,86,0,12,0,57,0,9,0,68,0 1,0,41,0,93,0,22,0,39,0,80,0 77,0,74,0,56,0,47,0,72,0,15,0 65,0,61,0,54,0,25,0,95,0,24,0 88,0,42,0,38,0,33,0,64,0,5,0 92,0,8,0,71,0,21,0,51,0,63,0 96,0,45,0,16,0,4,0,7,0,87,0 14,0,46,0,84,0,40,0,85,0,90,0 78,0,32,0,35,0,94,0,13,0,36,0 17,0,34,0,86,0,52,0,12,0,67,0 83,0,31,0,57,0,48,0,22,0,26,0 6,0,75,0,97,0,1,0,89,0,69,0 73,0,49,0,20,0,60,0,19,0,9,0 2,0,44,0,23,0,27,0,28,0,55,0 91,0,11,0,37,0,76,0,3,0,68,0 62,0,53,0,50,0,70,0,30,0,58,0 59,0,10,0,81,0,43,0,18,0,82,0 79,0,41,0,94,0,66,0,29,0,25,0 35,0,26,0,17,0,93,0,14,0,74,0 45,0,69,0,36,0,51,0,48,0,15,0 73,0,88,0,67,0,47,0,46,0,21,0 39,0,52,0,95,0,85,0,63,0,77,0 32,0,2,0,75,0,87,0,64,0,68,0 16,0,33,0,13,0,92,0,1,0,9,0 96,0,27,0,72,0,84,0,89,0,5,0 53,0,79,0,55,0,97,0,49,0,43,0 4,0,83,0,50,0,78,0,12,0,37,0 29,0,70,0,54,0,59,0,7,0,44,0 80,0,81,0,42,0,34,0,40,0,91,0 10,0,62,0,11,0,31,0,41,0,56,0 61,0,57,0,8,0,30,0,3,0,23,0 86,0,6,0,38,0,60,0,71,0,24,0 76,0,20,0,90,0,66,0,82,0,58,0 65,0,19,0,28,0,22,0,18,0,75,0 17,0,79,0,88,0,51,0,9,0,36,0 12,0,53,0,46,0,59,0,48,0,1,0 77,0,80,0,16,0,49,0,78,0,70,0 84,0,72,0,50,0,92,0,41,0,55,0 93,0,10,0,73,0,89,0,95,0,4,0 94,0,52,0,7,0,2,0,11,0,38,0 82,0,63,0,37,0,29,0,86,0,40,0 22,0,68,0,74,0,20,0,23,0,54,0 61,0,19,0,91,0,47,0,35,0,6,0 65,0,90,0,26,0,33,0,30,0,81,0 31,0,58,0,87,0,8,0,69,0,43,0 71,0,45,0,67,0,27,0,83,0,56,0 25,0,13,0,39,0,42,0,44,0,18,0 57,0,60,0,97,0,5,0,62,0,32,0 96,0,34,0,21,0,85,0,64,0,76,0 24,0,15,0,14,0,66,0,28,0,3,0 38,0,23,0,63,0,46,0,37,0,20,0 11,0,4,0,40,0,59,0,72,0,75,0 55,0,12,0,29,0,91,0,93,0,47,0 87,0,77,0,10,0,84,0,94,0,71,0 27,0,18,0,92,0,31,0,26,0,36,0 83,0,62,0,90,0,17,0,13,0,6,0 67,0,95,0,60,0,50,0,8,0,64,0 85,0,1,0,45,0,19,0,3,0,79,0 97,0,21,0,2,0,39,0,81,0,70,0 14,0,69,0,68,0,52,0,16,0,65,0 15,0,53,0,89,0,76,0,9,0,44,0 34,0,66,0,51,0,74,0,61,0,5,0 33,0,78,0,43,0,41,0,73,0,86,0 35,0,7,0,58,0,57,0,28,0,56,0 32,0,48,0,80,0,82,0,96,0,54,0 24,0,49,0,22,0,30,0,88,0,25,0 42,0,60,0,47,0,87,0,3,0,27,0 64,0,19,0,23,0,92,0,90,0,11,0 59,0,85,0,69,0,13,0,50,0,67,0 76,0,18,0,83,0,52,0,93,0,46,0 66,0,1,0,44,0,62,0,78,0,71,0 72,0,20,0,89,0,53,0,81,0,57,0 38,0,55,0,43,0,32,0,40,0,21,0 35,0,24,0,75,0,41,0,12,0,16,0 88,0,91,0,82,0,7,0,97,0,84,0 54,0,6,0,45,0,37,0,94,0,33,0 74,0,9,0,31,0,63,0,80,0,30,0 77,0,73,0,96,0,17,0,42,0,61,0 65,0,5,0,39,0,48,0,28,0,79,0 34,0,49,0,26,0,8,0,56,0,4,0 15,0,36,0,25,0,29,0,2,0,10,0 95,0,22,0,51,0,58,0,14,0,86,0 68,0,84,0,43,0,70,0,35,0,71,0 83,0,16,0,94,0,55,0,64,0,81,0 60,0,13,0,7,0,76,0,41,0,63,0 12,0,96,0,11,0,33,0,18,0,66,0 52,0,88,0,89,0,54,0,28,0,32,0 87,0,85,0,37,0,73,0,44,0,57,0 29,0,4,0,45,0,46,0,17,0,92,0 30,0,97,0,36,0,95,0,40,0,20,0 51,0,82,0,69,0,22,0,47,0,56,0 39,0,31,0,3,0,34,0,50,0,6,0 67,0,68,0,49,0,72,0,61,0,93,0 78,0,5,0,59,0,25,0,21,0,58,0 27,0,24,0,8,0,1,0,74,0,91,0 65,0,53,0,2,0,19,0,38,0,80,0 77,0,86,0,15,0,79,0,26,0,62,0 70,0,9,0,48,0,10,0,42,0,90,0 75,0,14,0,83,0,23,0,60,0,88,0 51,0,44,0,3,0,20,0,18,0,31,0 36,0,33,0,46,0,39,0,82,0,61,0 73,0,94,0,17,0,68,0,34,0,63,0 74,0,6,0,59,0,96,0,57,0,41,0 64,0,97,0,71,0,25,0,47,0,52,0 2,0,8,0,78,0,53,0,93,0,56,0 9,0,32,0,87,0,11,0,29,0,24,0 50,0,79,0,37,0,22,0,16,0,42,0 69,0,62,0,86,0,21,0,49,0,84,0 13,0,35,0,27,0,4,0,15,0,38,0 5,0,14,0,54,0,92,0,76,0,43,0 10,0,23,0,58,0,81,0,12,0,1,0 48,0,67,0,75,0,30,0,77,0,55,0 95,0,28,0,72,0,80,0,45,0,90,0 85,0,89,0,66,0,91,0,7,0,65,0 70,0,26,0,41,0,19,0,40,0,51,0 17,0,2,0,57,0,46,0,50,0,24,0 44,0,74,0,36,0,97,0,16,0,38,0 60,0,21,0,69,0,79,0,93,0,54,0 32,0,10,0,56,0,6,0,76,0,42,0 43,0,3,0,4,0,77,0,25,0,9,0 33,0,63,0,90,0,27,0,22,0,53,0 30,0,72,0,29,0,71,0,34,0,14,0 40,0,47,0,28,0,83,0,1,0,20,0 94,0,5,0,31,0,12,0,82,0,19,0 85,0,8,0,35,0,55,0,88,0,62,0 65,0,70,0,11,0,15,0,67,0,96,0 92,0,75,0,81,0,78,0,86,0,7,0 23,0,48,0,95,0,91,0,87,0,49,0 61,0,18,0,68,0,45,0,58,0,89,0 66,0,26,0,13,0,73,0,80,0,64,0 39,0,37,0,84,0,52,0,59,0,60,0 4,0,57,0,1,0,14,0,94,0,42,0 38,0,76,0,25,0,8,0,12,0,62,0 96,0,44,0,63,0,67,0,43,0,83,0 31,0,81,0,79,0,35,0,46,0,28,0 56,0,55,0,90,0,65,0,36,0,24,0 58,0,97,0,85,0,48,0,27,0,29,0 86,0,88,0,50,0,18,0,80,0,15,0 91,0,64,0,41,0,53,0,82,0,17,0 49,0,13,0,47,0,2,0,89,0,37,0 66,0,92,0,6,0,68,0,77,0,40,0 74,0,32,0,33,0,95,0,69,0,19,0 26,0,54,0,71,0,75,0,11,0,3,0 23,0,61,0,7,0,84,0,9,0,93,0 52,0,22,0,30,0,21,0,78,0,87,0 73,0,16,0,72,0,51,0,39,0,10,0 5,0,20,0,34,0,45,0,70,0,59,0 1,0,67,0,29,0,49,0,31,0,90,0 60,0,81,0,44,0,68,0,88,0,96,0 36,0,43,0,47,0,57,0,66,0,50,0 46,0,41,0,77,0,65,0,32,0,8,0 71,0,80,0,79,0,23,0,62,0,4,0 12,0,92,0,7,0,6,0,15,0,22,0 63,0,11,0,16,0,28,0,58,0,93,0 51,0,73,0,53,0,54,0,35,0,84,0 55,0,76,0,39,0,30,0,27,0,69,0 48,0,40,0,18,0,94,0,24,0,64,0 56,0,33,0,59,0,3,0,17,0,89,0 83,0,95,0,82,0,70,0,34,0,38,0 20,0,10,0,9,0,52,0,5,0,75,0 14,0,97,0,19,0,61,0,13,0,87,0 78,0,25,0,26,0,91,0,85,0,72,0 45,0,2,0,42,0,74,0,86,0,21,0 37,0,36,0,28,0,41,0,67,0,62,0 49,0,81,0,46,0,11,0,51,0,27,0 65,0,76,0,59,0,88,0,31,0,71,0 80,0,89,0,12,0,39,0,43,0,29,0 20,0,48,0,93,0,6,0,84,0,33,0 52,0,56,0,70,0,23,0,13,0,79,0 18,0,57,0,34,0,16,0,60,0,90,0 82,0,92,0,25,0,73,0,75,0,74,0 61,0,64,0,69,0,37,0,10,0,72,0 94,0,19,0,66,0,21,0,95,0,44,0 40,0,3,0,22,0,2,0,96,0,35,0 30,0,47,0,86,0,85,0,4,0,32,0 91,0,58,0,54,0,14,0,38,0,77,0 63,0,24,0,9,0,45,0,78,0,97,0 5,0,87,0,1,0,7,0,50,0,26,0 68,0,15,0,42,0,83,0,8,0,53,0 17,0,20,0,80,0,55,0,61,0,11,0 ================================================ FILE: schedules/97_2.csv ================================================ 9,0,62,0,37,0,17,0,31,0,90,0 63,0,56,0,82,0,81,0,45,0,2,0 46,0,42,0,19,0,40,0,47,0,15,0 8,0,54,0,33,0,70,0,24,0,43,0 32,0,91,0,28,0,60,0,69,0,94,0 3,0,64,0,18,0,11,0,48,0,77,0 61,0,44,0,87,0,29,0,75,0,89,0 68,0,51,0,76,0,66,0,84,0,74,0 16,0,72,0,85,0,38,0,57,0,1,0 39,0,96,0,4,0,30,0,12,0,26,0 97,0,78,0,53,0,93,0,95,0,79,0 35,0,67,0,52,0,20,0,34,0,10,0 58,0,14,0,65,0,27,0,5,0,73,0 88,0,49,0,83,0,59,0,80,0,92,0 7,0,50,0,41,0,6,0,36,0,71,0 25,0,13,0,22,0,55,0,21,0,23,0 86,0,19,0,11,0,75,0,57,0,91,0 62,0,12,0,16,0,87,0,69,0,68,0 51,0,32,0,77,0,46,0,44,0,43,0 93,0,10,0,74,0,42,0,54,0,63,0 14,0,2,0,24,0,34,0,39,0,3,0 38,0,30,0,27,0,17,0,81,0,48,0 80,0,45,0,20,0,65,0,41,0,79,0 73,0,21,0,66,0,89,0,9,0,60,0 92,0,40,0,52,0,64,0,72,0,33,0 29,0,7,0,94,0,96,0,88,0,35,0 6,0,26,0,85,0,22,0,83,0,84,0 5,0,70,0,4,0,86,0,50,0,97,0 15,0,1,0,25,0,49,0,67,0,90,0 23,0,36,0,31,0,28,0,56,0,53,0 71,0,55,0,76,0,78,0,47,0,61,0 95,0,58,0,18,0,8,0,59,0,13,0 82,0,42,1,54,1,37,0,87,1,41,1 ================================================ FILE: schedules/97_3.csv ================================================ 88,0,85,0,58,0,64,0,2,0,46,0 27,0,42,0,43,0,49,0,74,0,54,0 51,0,90,0,22,0,15,0,30,0,73,0 39,0,76,0,53,0,28,0,11,0,37,0 92,0,84,0,59,0,16,0,77,0,38,0 36,0,33,0,56,0,40,0,94,0,61,0 48,0,9,0,69,0,50,0,5,0,52,0 86,0,71,0,17,0,23,0,8,0,44,0 62,0,66,0,34,0,93,0,32,0,81,0 89,0,96,0,57,0,4,0,31,0,70,0 47,0,41,0,60,0,97,0,12,0,20,0 25,0,6,0,3,0,19,0,83,0,7,0 63,0,75,0,72,0,1,0,91,0,45,0 21,0,65,0,35,0,67,0,78,0,24,0 55,0,14,0,26,0,10,0,87,0,79,0 95,0,13,0,68,0,82,0,80,0,29,0 76,0,8,0,27,0,18,0,22,0,9,0 17,1,81,0,77,0,46,1,36,0,39,0 41,1,52,0,16,0,11,0,58,0,96,0 5,0,30,0,62,0,25,0,47,0,44,0 15,0,75,0,59,0,66,0,69,0,94,0 20,0,37,0,1,0,42,0,24,0,90,0 23,0,93,0,14,0,88,0,21,0,70,0 4,0,82,0,64,0,55,0,92,0,40,0 54,0,29,0,32,0,86,0,79,0,19,0 18,0,31,0,49,0,7,0,84,0,45,0 2,0,35,0,34,0,97,0,3,0,68,0 6,0,60,0,33,0,43,0,72,0,89,0 80,0,85,0,50,0,56,0,78,0,57,0 67,0,73,0,10,0,53,0,63,0,71,0 51,0,95,0,83,0,12,0,87,0,38,0 61,0,13,0,74,0,65,0,91,0,28,0 48,0,42,0,40,0,26,0,86,0,75,0 24,0,47,0,22,0,54,0,81,0,52,0 3,0,29,0,90,0,17,0,14,0,84,0 64,0,16,0,19,0,15,0,37,0,33,0 18,0,46,0,56,0,34,0,92,0,21,0 77,0,44,0,7,0,11,0,35,0,60,0 72,0,73,0,55,0,95,0,32,0,23,0 80,0,9,0,71,0,1,0,41,0,4,0 70,0,38,0,65,0,58,0,26,0,5,0 79,0,28,0,88,0,51,0,31,0,62,0 2,0,94,0,20,0,6,0,76,0,63,0 97,0,13,0,57,0,43,0,39,0,48,0 87,0,66,0,8,0,53,0,61,0,89,0 74,0,82,0,83,0,45,0,85,0,96,0 59,0,78,0,68,0,27,0,25,0,93,0 10,0,12,0,69,0,49,0,36,0,30,0 50,0,91,0,46,0,67,0,17,0,41,0 ================================================ FILE: schedules/97_4.csv ================================================ 21,0,88,0,15,0,12,0,79,0,19,0 33,0,37,0,39,0,16,0,84,0,18,0 76,0,97,0,66,0,10,0,1,0,90,0 83,0,34,0,65,0,22,0,56,0,45,0 85,0,13,0,47,0,95,0,48,0,7,0 27,0,75,0,51,0,44,0,58,0,61,0 77,0,69,0,57,0,9,0,26,0,67,0 93,0,62,0,71,0,80,0,49,0,40,0 23,0,91,0,59,0,28,0,25,0,70,0 74,0,30,0,17,0,68,0,92,0,64,0 60,0,86,0,53,0,50,0,55,0,94,0 63,0,81,0,8,0,43,0,73,0,5,0 42,0,89,0,38,0,78,0,2,0,36,0 31,0,32,0,35,0,4,0,6,0,20,0 11,0,24,0,14,0,46,0,96,0,52,0 82,0,3,0,72,0,54,0,87,0,29,0 41,0,85,0,58,0,49,0,34,0,39,0 16,0,7,0,23,0,45,0,97,0,64,0 93,0,83,0,12,0,70,0,30,0,61,0 13,0,80,0,86,0,21,0,67,0,8,0 91,0,33,0,57,0,38,0,27,0,50,0 84,0,79,0,62,0,35,0,75,0,28,0 6,0,9,0,19,0,59,0,17,0,24,0 26,0,89,0,68,0,47,0,51,0,3,0 18,0,74,0,2,0,55,0,52,0,32,0 37,0,78,0,72,0,63,0,46,0,15,0 44,0,22,0,90,0,71,0,54,0,31,0 29,0,36,0,81,0,60,0,66,0,20,0 87,0,48,0,69,0,5,0,88,0,42,0 10,0,95,0,4,0,53,0,14,0,77,0 40,0,11,0,1,0,73,0,65,0,94,0 92,0,56,0,96,0,82,0,76,0,41,0 25,0,9,0,75,0,43,0,3,0,7,0 64,1,52,0,78,0,35,1,70,0,39,0 79,0,37,0,24,0,38,0,22,0,26,0 27,0,71,0,20,0,28,0,72,0,13,0 36,0,97,0,61,0,62,0,48,0,17,0 42,0,49,0,47,0,18,0,81,0,67,0 12,0,1,0,5,0,51,0,31,0,14,0 94,0,32,0,87,0,34,0,80,0,63,0 56,0,73,0,10,0,69,0,19,0,23,0 76,0,60,0,54,0,68,0,15,0,4,0 65,0,89,0,96,0,16,0,21,0,57,0 90,0,91,0,55,0,85,0,45,0,11,0 58,0,2,0,84,0,93,0,8,0,77,0 82,0,43,0,59,0,74,0,53,0,83,0 41,0,6,0,30,0,40,0,44,0,33,0 66,0,25,0,46,0,86,0,95,0,88,0 50,0,29,0,67,0,92,0,32,0,61,0 94,0,12,0,49,0,13,0,76,0,37,0 64,0,31,0,15,0,75,0,38,0,69,0 80,0,18,0,57,0,35,0,36,0,23,0 17,0,20,0,11,0,10,0,22,0,47,0 70,0,53,0,68,0,85,0,87,0,19,0 8,0,45,0,39,0,89,0,79,0,71,0 81,0,6,0,95,0,55,0,56,0,62,0 97,0,58,0,96,0,78,0,29,0,91,0 30,0,65,0,54,0,24,0,2,0,5,0 92,0,16,0,28,0,34,0,88,0,77,0 3,0,44,0,73,0,46,0,48,0,59,0 42,0,86,0,27,0,9,0,82,0,93,0 50,0,90,0,7,0,74,0,63,0,14,0 43,0,66,0,84,0,4,0,72,0,41,0 40,0,25,0,52,0,51,0,21,0,83,0 26,0,60,0,35,0,1,0,33,0,64,0 ================================================ FILE: schedules/97_5.csv ================================================ 37,0,59,0,7,0,30,0,71,0,89,0 49,0,47,0,61,0,62,0,11,0,97,0 48,0,74,0,10,0,88,0,8,0,70,0 9,0,50,0,34,0,67,0,73,0,46,0 83,0,91,0,51,0,94,0,72,0,40,0 20,0,13,0,21,0,69,0,19,0,16,0 17,0,66,0,14,0,18,0,79,0,36,0 43,0,96,0,44,0,56,0,84,0,95,0 6,0,58,0,60,0,68,0,1,0,38,0 3,0,41,0,81,0,28,0,78,0,33,0 25,0,35,0,39,0,75,0,15,0,29,0 12,0,22,0,77,0,31,0,86,0,23,0 45,0,85,0,52,0,27,0,93,0,32,0 90,0,92,0,63,0,87,0,80,0,24,0 4,0,76,0,55,0,26,0,54,0,2,0 57,0,64,0,42,0,65,0,5,0,53,0 82,0,8,0,46,0,20,0,59,0,14,0 33,0,1,0,66,0,48,0,7,0,84,0 69,0,37,0,56,0,74,0,18,0,25,0 79,0,41,0,10,0,43,0,89,0,40,0 32,0,23,0,67,0,15,0,38,0,28,0 45,0,81,0,88,0,63,0,19,0,22,0 86,0,62,0,72,0,92,0,85,0,26,0 11,0,5,0,52,0,29,0,50,0,17,0 16,0,27,0,94,0,58,0,55,0,9,0 61,0,30,0,95,0,77,0,60,0,53,0 91,0,35,0,44,0,82,0,3,0,90,0 65,0,6,0,47,0,4,0,73,0,12,0 51,0,36,0,34,0,54,0,75,0,64,0 71,0,31,0,97,0,24,0,42,0,68,0 93,0,39,0,87,0,70,0,21,0,49,0 96,0,76,0,13,0,78,0,80,0,57,0 2,0,84,0,9,0,83,0,41,0,14,0 67,0,72,0,88,0,5,1,27,0,66,0 26,0,8,0,15,0,50,0,33,0,60,0 38,0,17,0,46,0,37,0,53,0,12,0 92,0,77,0,51,0,4,0,59,0,81,0 23,0,75,0,63,0,89,0,58,0,97,0 19,0,36,0,62,0,55,0,71,0,44,0 91,0,56,0,47,0,79,0,39,0,64,0 68,0,52,0,16,0,80,0,28,0,25,0 74,0,73,0,1,0,86,0,87,0,83,0 10,0,93,0,95,0,35,0,76,0,22,0 48,0,57,0,31,0,61,0,21,0,45,0 78,0,32,0,11,0,42,0,20,0,30,0 70,0,85,0,24,0,2,0,6,0,3,0 13,0,29,0,18,0,7,0,90,0,94,0 40,0,96,0,49,0,82,0,34,0,69,0 54,0,43,0,97,0,65,0,88,0,9,0 79,0,59,0,25,0,86,0,63,0,44,0 15,0,37,0,83,0,66,0,16,0,10,0 38,0,71,0,14,0,21,0,74,0,92,0 4,0,67,0,19,0,33,0,75,0,61,0 28,0,20,0,31,0,60,0,73,0,72,0 18,0,48,0,87,0,77,0,47,0,5,0 35,0,8,0,24,0,51,0,41,0,52,0 6,0,27,0,50,0,7,0,40,0,42,0 30,0,62,0,43,0,2,0,34,0,57,0 84,0,12,0,55,0,91,0,32,0,81,0 54,0,80,0,70,0,69,0,46,0,22,0 90,0,23,0,68,0,45,0,53,0,36,0 64,0,26,0,89,0,17,0,96,0,3,0 39,0,65,0,82,0,94,0,95,0,78,0 29,0,76,0,49,0,85,0,56,0,58,0 93,0,1,0,15,0,13,0,11,0,14,0 24,0,30,0,88,0,44,0,83,0,18,0 55,0,97,0,87,0,20,0,41,0,67,0 79,0,5,0,34,0,61,0,92,0,6,0 81,0,21,0,53,0,50,0,47,0,25,0 86,0,17,0,32,0,57,0,68,0,9,0 23,0,60,0,7,0,46,0,39,0,51,0 29,0,84,0,16,0,62,0,82,0,22,0 11,0,69,0,4,0,8,0,94,0,89,0 49,0,2,0,65,0,13,0,37,0,31,0 78,0,90,0,70,0,27,0,73,0,59,0 33,0,42,0,45,0,72,0,54,0,35,0 58,0,77,0,28,0,93,0,66,0,26,0 40,0,56,0,12,0,52,0,71,0,1,0 80,0,38,0,64,0,95,0,48,0,19,0 63,0,3,0,36,0,76,0,74,0,43,0 85,0,75,0,5,0,91,0,10,0,96,0 ================================================ FILE: schedules/97_6.csv ================================================ 75,0,89,0,11,0,12,0,80,0,1,0 54,0,81,0,95,0,61,0,62,0,91,0 17,0,47,0,52,0,4,0,49,0,7,0 94,0,77,0,67,0,60,0,34,0,3,0 10,0,32,0,73,0,31,0,86,0,85,0 22,0,65,0,27,0,90,0,8,0,16,0 18,0,70,0,41,0,45,0,64,0,68,0 92,0,23,0,33,0,56,0,5,0,43,0 66,0,74,0,24,0,26,0,13,0,87,0 93,0,21,0,25,0,88,0,38,0,29,0 39,0,59,0,51,0,50,0,57,0,40,0 30,0,71,0,14,0,84,0,63,0,37,0 83,0,97,0,78,0,19,0,55,0,79,0 69,0,42,0,20,0,6,0,35,0,9,0 36,0,82,0,44,0,48,0,46,0,28,0 15,0,2,0,76,0,96,0,58,0,72,0 53,0,8,0,56,0,54,0,94,0,73,0 68,0,93,0,33,0,67,0,31,0,66,0 52,0,91,0,75,0,77,0,23,0,32,0 10,0,50,0,25,0,11,0,63,0,95,0 85,0,38,0,49,0,74,0,37,0,78,0 43,0,61,0,35,0,41,0,7,0,30,0 79,0,46,0,87,0,59,0,14,0,20,0 45,0,48,0,19,0,51,0,84,0,92,0 2,0,28,0,34,0,13,0,42,0,27,0 26,0,81,0,83,0,15,0,1,0,64,0 88,0,12,0,57,0,36,0,24,0,9,0 6,0,5,0,90,0,40,0,96,0,21,0 4,0,18,0,82,0,76,0,60,0,22,0 47,0,71,0,70,0,55,0,72,0,3,0 69,0,89,0,29,0,53,0,44,0,65,0 58,0,16,0,86,0,17,0,80,0,39,0 62,0,56,0,84,0,97,0,27,0,46,0 64,0,77,0,14,0,74,0,11,0,51,0 37,0,81,0,94,0,87,0,10,0,12,0 42,0,26,0,78,0,33,0,7,0,91,0 40,0,1,0,82,0,61,0,13,0,68,0 70,0,21,0,76,0,24,0,34,0,50,0 8,0,72,0,59,0,28,0,89,0,18,0 90,0,49,0,15,0,92,0,88,0,54,0 65,0,4,0,48,0,2,0,35,0,75,0 71,0,9,0,79,0,62,0,66,0,25,0 96,0,60,0,73,0,20,0,52,0,55,0 63,0,23,0,17,0,22,0,41,0,19,0 67,0,6,0,58,0,85,0,45,0,44,0 3,0,16,0,95,0,32,0,29,0,5,0 53,0,80,0,47,0,38,0,97,0,36,0 57,0,93,0,30,0,83,0,69,0,86,0 31,0,39,0,65,0,43,0,81,0,13,0 8,0,48,0,12,0,14,0,33,0,49,0 20,0,91,0,2,0,25,0,64,0,24,0 59,0,82,0,56,0,41,0,11,0,42,0 34,0,58,0,10,0,22,0,88,0,62,0 60,0,79,0,84,0,23,0,7,0,95,0 50,0,85,0,97,0,90,0,9,0,3,0 29,0,40,0,75,0,17,0,87,0,70,0 5,0,39,0,68,0,44,0,78,0,76,0 73,0,19,0,37,0,93,0,15,0,18,0 53,0,57,0,16,0,77,0,71,0,26,0 55,0,80,0,43,0,74,0,69,0,67,0 66,0,36,0,89,0,51,0,30,0,4,0 63,0,38,0,54,0,6,0,28,0,86,0 45,0,94,0,46,0,83,0,52,0,31,0 92,0,21,0,72,0,27,0,32,0,61,0 96,0,1,0,29,0,47,0,35,0,23,0 7,0,13,0,9,0,93,0,48,0,56,0 64,0,39,0,19,0,60,0,33,0,10,0 20,0,74,0,84,0,15,0,44,0,70,0 25,0,67,0,12,0,82,0,17,0,90,0 3,0,38,0,76,0,11,0,40,0,81,0 51,0,86,0,42,0,43,0,46,0,53,0 69,0,36,0,61,0,77,0,18,0,79,0 66,0,80,0,50,0,14,0,5,0,2,0 24,0,16,0,72,0,75,0,63,0,97,0 52,0,27,0,54,0,26,0,41,0,37,0 92,0,55,0,35,0,89,0,57,0,58,0 6,0,59,0,78,0,94,0,22,0,47,0 49,0,21,0,28,0,30,0,95,0,31,0 68,0,62,0,96,0,85,0,8,0,4,0 32,0,65,0,1,0,45,0,71,0,34,0 87,0,91,0,88,0,73,0,83,0,5,0 23,0,11,0,46,0,66,0,69,0,70,0 26,0,17,0,93,0,2,0,97,0,60,0 64,0,44,0,61,0,38,0,12,0,16,0 55,0,90,0,75,0,84,0,81,0,59,0 13,0,49,0,63,0,18,0,35,0,3,0 77,0,86,0,9,0,82,0,89,0,78,0 15,0,36,0,7,0,27,0,40,0,94,0 85,0,52,0,87,0,28,0,51,0,71,0 95,0,45,0,4,0,72,0,20,0,88,0 57,0,68,0,48,0,21,0,54,0,43,0 41,0,34,0,74,0,79,0,53,0,39,0 73,0,50,0,22,0,30,0,29,0,33,0 47,0,83,0,32,0,25,0,56,0,58,0 6,0,76,0,62,0,19,0,80,0,65,0 31,0,1,0,37,0,8,0,92,0,91,0 14,0,24,0,42,0,67,0,10,0,96,0 ================================================ FILE: schedules/97_7.csv ================================================ 59,0,94,0,24,0,6,0,71,0,20,0 55,0,67,0,41,0,65,0,8,0,84,0 27,0,44,0,35,0,86,0,58,0,39,0 32,0,46,0,34,0,11,0,52,0,33,0 92,0,93,0,23,0,96,0,29,0,4,0 69,0,79,0,53,0,89,0,26,0,76,0 13,0,22,0,49,0,31,0,78,0,77,0 45,0,7,0,95,0,72,0,56,0,28,0 91,0,54,0,42,0,68,0,66,0,73,0 47,0,21,0,80,0,15,0,75,0,61,0 40,0,60,0,88,0,63,0,97,0,3,0 16,0,74,0,64,0,38,0,48,0,87,0 5,0,10,0,36,0,43,0,51,0,62,0 12,0,85,0,17,0,25,0,19,0,2,0 70,0,14,0,1,0,18,0,50,0,81,0 90,0,83,0,9,0,30,0,57,0,82,0 37,0,7,0,42,0,34,0,26,0,58,0 84,0,27,0,23,0,45,0,46,0,21,0 66,0,97,0,11,0,28,0,13,0,92,0 96,0,55,0,73,0,77,0,53,0,86,0 88,0,41,0,48,0,93,0,94,0,51,0 54,0,67,0,49,0,85,0,20,0,29,0 95,0,43,0,75,0,39,0,2,0,3,0 78,0,8,0,1,0,60,0,61,0,6,0 63,0,9,0,17,0,32,0,44,0,37,0 59,0,65,0,74,0,47,0,30,0,12,0 38,0,52,0,40,0,18,0,68,0,36,0 31,0,33,0,81,0,71,0,87,0,69,0 62,0,90,0,19,0,15,0,70,0,79,0 72,0,80,0,35,0,14,0,83,0,5,0 16,0,10,0,25,0,22,0,89,0,82,0 76,0,56,0,4,0,91,0,57,0,64,0 50,0,28,0,43,0,24,0,8,0,27,0 29,1,32,0,7,0,12,1,53,0,78,0 41,1,30,0,39,0,68,1,21,0,60,0 69,1,6,0,11,0,54,0,55,0,3,0 13,0,74,0,88,0,70,0,17,0,73,0 19,0,66,0,48,0,31,0,52,0,9,0 82,0,20,0,23,0,35,0,33,0,26,0 2,0,34,0,38,0,91,0,49,0,14,0 76,0,46,0,22,0,81,0,15,0,92,0 1,0,25,0,64,0,24,0,86,0,90,0 18,0,10,0,58,0,84,0,4,0,72,0 45,0,89,0,59,0,50,0,93,0,40,0 37,0,61,0,36,0,83,0,97,0,85,0 62,0,56,0,96,0,44,0,87,0,80,0 77,0,79,0,57,0,71,0,51,0,16,0 5,0,63,0,42,0,75,0,65,0,94,0 95,0,47,0,91,0,67,0,22,0,27,0 60,0,73,0,15,0,23,0,24,0,9,0 30,0,46,0,13,0,6,0,19,0,18,0 86,0,70,0,3,0,7,0,8,0,89,0 38,0,21,0,76,0,43,0,1,0,33,0 10,0,37,0,49,0,35,0,55,0,48,0 2,0,44,0,97,0,72,0,82,0,64,0 29,0,84,0,50,0,83,0,42,0,51,0 16,0,90,0,69,0,95,0,92,0,88,0 65,0,20,0,32,0,25,0,36,0,57,0 81,0,47,0,54,0,56,0,34,0,17,0 26,0,87,0,14,0,94,0,77,0,52,0 53,0,59,0,80,0,11,0,39,0,63,0 61,0,28,0,40,0,12,0,96,0,5,0 93,0,68,0,58,0,74,0,85,0,78,0 62,0,45,0,71,0,41,0,75,0,66,0 4,0,79,0,73,0,67,0,31,0,44,0 57,0,3,0,72,0,1,0,29,0,48,0 69,0,24,0,19,0,49,0,36,0,47,0 20,0,13,0,83,0,76,0,34,0,95,0 63,0,2,0,84,0,33,0,77,0,70,0 16,0,39,0,8,0,42,0,56,0,14,0 82,0,51,0,21,0,52,0,7,0,74,0 87,0,37,0,5,0,27,0,93,0,54,0 53,0,61,0,92,0,64,0,41,0,10,0 30,0,15,0,71,0,32,0,89,0,85,0 40,0,46,0,67,0,86,0,17,0,66,0 90,0,28,0,58,0,65,0,80,0,60,0 81,0,91,0,45,0,6,0,79,0,9,0 4,0,78,0,25,0,94,0,50,0,62,0 43,0,68,0,22,0,96,0,97,0,35,0 75,0,55,0,31,0,26,0,38,0,59,0 23,0,88,0,76,0,11,0,18,0,12,0 57,0,84,0,89,0,37,0,19,0,92,0 52,0,24,0,16,0,53,0,13,0,67,0 70,0,64,0,58,0,95,0,30,0,54,0 66,0,29,0,47,0,82,0,5,0,60,0 74,0,77,0,62,0,42,0,61,0,20,0 17,0,83,0,33,0,49,0,96,0,45,0 94,0,36,0,55,0,21,0,81,0,28,0 15,0,41,0,87,0,4,0,59,0,43,0 51,0,12,0,72,0,6,0,38,0,63,0 34,0,65,0,22,0,39,0,40,0,1,0 31,0,80,0,91,0,32,0,50,0,88,0 18,0,48,0,85,0,7,0,27,0,69,0 8,0,79,0,75,0,93,0,25,0,35,0 97,0,78,0,71,0,73,0,46,0,56,0 9,0,26,0,11,0,10,0,86,0,2,0 44,0,3,0,14,0,23,0,68,0,90,0 96,0,60,0,54,0,89,0,13,0,72,0 45,0,77,0,39,0,37,0,67,0,12,0 4,0,52,0,49,0,5,0,30,0,88,0 18,0,87,0,24,0,21,0,57,0,95,0 59,0,29,0,35,0,76,0,70,0,16,0 31,0,93,0,64,0,46,0,62,0,65,0 27,0,42,0,41,0,25,0,40,0,9,0 32,0,51,0,14,0,69,0,73,0,28,0 15,0,68,0,1,0,55,0,7,0,2,0 34,0,66,0,94,0,90,0,10,0,8,0 26,0,63,0,78,0,83,0,47,0,48,0 53,0,22,0,6,0,36,0,23,0,56,0 11,0,85,0,43,0,84,0,82,0,81,0 50,0,71,0,19,0,38,0,61,0,44,0 92,0,3,0,33,0,80,0,79,0,74,0 20,0,58,0,17,0,91,0,97,0,75,0 86,0,12,0,41,0,29,0,68,0,69,0 ================================================ FILE: schedules/97_8.csv ================================================ 86,0,91,0,95,0,75,0,41,0,2,0 43,0,90,0,81,0,42,0,11,0,19,0 84,0,15,0,16,0,82,0,60,0,96,0 71,0,56,0,18,0,93,0,76,0,59,0 97,0,61,0,65,0,23,0,54,0,7,0 32,0,49,0,72,0,62,0,35,0,57,0 68,0,48,0,25,0,30,0,50,0,6,0 58,0,33,0,63,0,87,0,20,0,4,0 92,0,70,0,67,0,17,0,55,0,12,0 46,0,3,0,66,0,21,0,94,0,39,0 31,0,28,0,40,0,73,0,38,0,88,0 26,0,80,0,5,0,1,0,79,0,14,0 74,0,27,0,24,0,89,0,10,0,29,0 44,0,69,0,83,0,37,0,34,0,13,0 47,0,51,0,9,0,77,0,45,0,85,0 78,0,36,0,8,0,22,0,64,0,53,0 52,0,6,0,90,0,57,0,2,0,63,0 21,0,35,0,95,0,50,0,17,0,7,0 54,0,93,0,84,0,87,0,31,0,39,0 20,0,16,0,23,0,49,0,40,0,26,0 96,0,24,0,5,0,38,0,75,0,43,0 1,0,74,0,62,0,44,0,25,0,33,0 65,0,77,0,11,0,27,0,30,0,14,0 61,0,69,0,85,0,18,0,8,0,82,0 64,0,72,0,56,0,86,0,29,0,3,0 83,0,41,0,70,0,51,0,60,0,4,0 97,0,28,0,52,0,68,0,42,0,47,0 91,0,71,0,88,0,94,0,55,0,9,0 48,0,53,0,19,0,37,0,76,0,46,0 12,0,15,0,81,0,10,0,80,0,22,0 34,0,36,0,89,0,59,0,45,0,67,0 66,0,79,0,32,0,58,0,78,0,13,0 92,0,24,0,84,0,73,0,20,0,61,0 39,1,86,0,35,0,23,1,83,0,74,0 90,1,69,0,97,0,64,1,40,0,93,0 60,0,49,0,18,0,31,0,47,0,43,0 3,0,62,0,96,0,77,0,52,0,17,0 44,0,19,0,26,0,75,0,10,0,9,0 8,0,6,0,95,0,94,0,12,0,14,0 46,0,82,0,63,0,32,0,65,0,80,0 37,0,66,0,51,0,33,0,15,0,92,0 55,0,22,0,42,0,76,0,4,0,34,0 68,0,56,0,57,0,58,0,53,0,27,0 54,0,88,0,16,0,89,0,81,0,50,0 48,0,71,0,78,0,5,0,67,0,41,0 25,0,11,0,85,0,29,0,28,0,91,0 2,0,1,0,36,0,21,0,87,0,38,0 59,0,13,0,30,0,70,0,72,0,7,0 45,0,73,0,46,0,79,0,83,0,90,0 39,0,60,0,62,0,37,0,10,0,20,0 33,0,94,0,47,0,53,0,24,0,26,0 77,0,50,0,42,0,56,0,61,0,49,0 68,0,14,0,76,0,44,0,88,0,84,0 93,0,15,0,67,0,32,0,19,0,8,0 48,0,2,0,29,0,4,0,35,0,69,0 34,0,31,0,78,0,12,0,91,0,52,0 72,0,18,0,17,0,1,0,9,0,66,0 38,0,92,0,6,0,97,0,86,0,71,0 82,0,95,0,45,0,27,0,13,0,22,0 75,0,74,0,80,0,70,0,16,0,85,0 51,0,73,0,87,0,3,0,55,0,30,0 89,0,79,0,43,0,57,0,65,0,40,0 58,0,59,0,81,0,23,0,21,0,28,0 25,0,96,0,7,0,63,0,36,0,41,0 5,0,54,0,66,0,64,0,11,0,62,0 38,0,20,0,35,0,90,0,8,0,44,0 34,0,47,0,27,0,1,0,15,0,48,0 13,0,61,0,17,0,19,0,86,0,16,0 45,0,60,0,3,0,24,0,6,0,88,0 42,0,65,0,87,0,78,0,92,0,95,0 58,0,14,0,93,0,51,0,72,0,89,0 39,0,41,0,55,0,28,0,57,0,80,0 49,0,69,0,30,0,96,0,81,0,76,0 54,0,21,0,40,0,63,0,83,0,56,0 75,0,94,0,22,0,29,0,7,0,18,0 12,0,11,0,4,0,82,0,59,0,68,0 43,0,52,0,50,0,46,0,84,0,36,0 77,0,70,0,26,0,37,0,97,0,91,0 74,0,53,0,32,0,31,0,2,0,5,0 64,0,10,0,85,0,33,0,71,0,79,0 23,0,73,0,9,0,67,0,25,0,60,0 58,0,42,0,80,0,35,0,40,0,96,0 30,0,19,0,62,0,22,0,56,0,89,0 76,0,21,0,27,0,92,0,72,0,16,0 75,0,4,0,65,0,8,0,84,0,47,0 63,0,50,0,44,0,15,0,91,0,3,0 7,0,51,0,34,0,26,0,39,0,2,0 45,0,20,0,69,0,74,0,41,0,68,0 24,0,95,0,57,0,66,0,67,0,81,0 46,0,6,0,33,0,11,0,18,0,55,0 25,0,79,0,38,0,77,0,53,0,59,0 83,0,17,0,78,0,93,0,85,0,49,0 1,0,94,0,43,0,82,0,97,0,73,0 10,0,28,0,90,0,5,0,87,0,86,0 31,0,13,0,29,0,71,0,36,0,23,0 61,0,64,0,12,0,88,0,37,0,32,0 14,0,52,0,9,0,70,0,48,0,54,0 4,0,45,0,72,0,50,0,39,0,19,0 11,0,7,0,79,0,20,0,47,0,67,0 3,0,89,0,83,0,33,0,76,0,80,0 75,0,6,0,59,0,78,0,73,0,69,0 91,0,38,0,17,0,51,0,46,0,42,0 86,0,55,0,81,0,27,0,93,0,63,0 5,0,21,0,18,0,57,0,13,0,88,0 41,0,1,0,64,0,31,0,77,0,35,0 37,0,2,0,8,0,16,0,24,0,30,0 84,0,97,0,10,0,34,0,95,0,53,0 60,0,22,0,66,0,14,0,90,0,85,0 71,0,32,0,68,0,26,0,96,0,54,0 65,0,58,0,15,0,25,0,52,0,94,0 49,0,9,0,28,0,36,0,12,0,74,0 29,0,40,0,87,0,62,0,61,0,70,0 92,0,56,0,23,0,43,0,48,0,44,0 82,0,31,0,20,0,42,0,6,0,72,0 76,0,63,0,39,0,17,0,79,0,24,0 88,0,59,0,2,0,47,0,83,0,22,0 77,0,57,0,4,0,54,0,10,0,78,0 53,0,89,0,11,0,52,0,71,0,21,0 13,0,67,0,96,0,90,0,65,0,33,0 60,0,36,0,75,0,81,0,68,0,61,0 27,0,51,0,94,0,84,0,62,0,23,0 19,0,80,0,91,0,92,0,18,0,64,0 14,0,32,0,7,0,69,0,3,0,28,0 12,0,35,0,16,0,45,0,25,0,43,0 86,0,85,0,40,0,30,0,1,0,46,0 50,0,37,0,38,0,9,0,82,0,93,0 26,0,74,0,73,0,95,0,58,0,48,0 41,0,87,0,8,0,56,0,66,0,34,0 55,0,44,0,29,0,49,0,5,0,97,0 15,0,39,0,90,0,70,0,23,0,64,0 ================================================ FILE: schedules/97_9.csv ================================================ 61,0,85,0,38,0,32,0,7,0,3,0 45,0,31,0,4,0,96,0,79,0,24,0 67,0,86,0,26,0,49,0,55,0,94,0 92,0,37,0,19,0,64,0,66,0,1,0 47,0,97,0,75,0,42,0,90,0,13,0 22,0,91,0,84,0,35,0,73,0,30,0 48,0,27,0,80,0,33,0,6,0,5,0 74,0,17,0,21,0,83,0,15,0,20,0 50,0,59,0,51,0,88,0,10,0,54,0 12,0,60,0,46,0,28,0,65,0,40,0 11,0,8,0,70,0,56,0,68,0,53,0 95,0,57,0,87,0,9,0,63,0,39,0 72,0,78,0,62,0,23,0,58,0,41,0 52,0,93,0,71,0,18,0,81,0,43,0 34,0,14,0,69,0,25,0,2,0,44,0 82,0,89,0,76,0,77,0,36,0,16,0 29,0,92,0,91,0,10,0,31,0,85,0 37,0,22,0,61,0,4,0,86,0,33,0 12,0,56,0,50,0,67,0,75,0,64,0 39,0,6,0,32,0,73,0,83,0,65,0 21,0,40,0,19,0,27,0,30,0,7,0 68,0,62,0,96,0,60,0,84,0,63,0 58,0,66,0,55,0,97,0,18,0,57,0 16,0,17,0,28,0,5,0,34,0,42,0 74,0,46,0,8,0,80,0,49,0,43,0 79,0,25,0,78,0,88,0,71,0,89,0 36,0,23,0,69,0,3,0,81,0,51,0 15,0,72,0,90,0,26,0,24,0,53,0 77,0,14,0,70,0,52,0,1,0,48,0 94,0,44,0,45,0,54,0,38,0,13,0 47,0,29,0,20,0,9,0,82,0,35,0 2,0,76,0,95,0,41,0,93,0,11,0 59,0,68,0,28,0,87,0,33,0,91,0 67,1,79,0,30,0,42,1,92,0,6,0 39,1,83,0,31,0,25,0,43,0,19,0 57,0,50,0,22,0,15,0,80,0,32,0 96,0,51,0,34,0,66,0,49,0,75,0 70,0,54,0,23,0,27,0,86,0,17,0 48,0,60,0,73,0,82,0,26,0,38,0 5,0,93,0,53,0,12,0,94,0,77,0 76,0,8,0,64,0,58,0,21,0,4,0 63,0,13,0,24,0,89,0,2,0,29,0 88,0,1,0,45,0,85,0,74,0,65,0 7,0,97,0,71,0,44,0,59,0,37,0 62,0,3,0,56,0,40,0,14,0,47,0 55,0,72,0,9,0,11,0,81,0,16,0 20,0,36,0,41,0,18,0,46,0,84,0 78,0,69,0,35,0,87,0,61,0,10,0 52,0,90,0,73,0,95,0,67,0,4,0 91,0,23,0,89,0,19,0,32,0,49,0 66,0,33,0,13,0,85,0,21,0,50,0 30,0,58,0,37,0,60,0,5,0,43,0 22,0,39,0,24,0,71,0,56,0,54,0 25,0,57,0,81,0,59,0,38,0,8,0 1,0,72,0,80,0,36,0,97,0,93,0 2,0,70,0,3,0,26,0,84,0,83,0 16,0,86,0,12,0,20,0,92,0,87,0 28,0,9,0,96,0,15,0,61,0,44,0 34,0,41,0,77,0,88,0,6,0,47,0 27,0,94,0,64,0,11,0,29,0,90,0 53,0,45,0,82,0,40,0,17,0,63,0 18,0,65,0,7,0,10,0,79,0,75,0 51,0,52,0,68,0,76,0,46,0,35,0 14,0,42,0,78,0,74,0,31,0,55,0 48,0,95,0,66,0,69,0,62,0,16,0 86,0,96,0,13,0,39,0,8,0,72,0 24,0,49,0,1,0,60,0,21,0,3,0 26,0,44,0,88,0,36,0,29,0,57,0 67,0,38,0,37,0,23,0,53,0,47,0 63,0,94,0,41,0,19,0,71,0,80,0 43,0,28,0,7,0,2,0,51,0,22,0 75,0,61,0,84,0,40,0,5,0,31,0 78,0,59,0,6,0,52,0,20,0,56,0 15,0,76,0,10,0,12,0,97,0,48,0 50,0,62,0,35,0,25,0,65,0,70,0 18,0,42,0,11,0,91,0,77,0,45,0 87,0,73,0,74,0,34,0,27,0,79,0 32,0,30,0,17,0,46,0,9,0,69,0 83,0,55,0,4,0,68,0,92,0,89,0 58,0,54,0,90,0,85,0,14,0,93,0 81,0,33,0,95,0,64,0,82,0,88,0 52,0,39,0,80,0,53,0,60,0,75,0 36,0,59,0,47,0,63,0,66,0,61,0 15,0,56,0,29,0,86,0,38,0,41,0 77,0,67,0,25,0,13,0,84,0,27,0 42,0,43,0,21,0,73,0,12,0,23,0 5,0,3,0,9,0,22,0,68,0,78,0 50,0,89,0,93,0,30,0,96,0,74,0 6,0,35,0,95,0,55,0,7,0,45,0 81,0,46,0,87,0,48,0,54,0,2,0 20,0,79,0,62,0,28,0,26,0,97,0 11,0,82,0,32,0,31,0,1,0,34,0 49,0,17,0,64,0,14,0,57,0,72,0 18,0,85,0,4,0,19,0,16,0,51,0 69,0,76,0,90,0,91,0,37,0,70,0 44,0,92,0,65,0,94,0,58,0,24,0 33,0,83,0,10,0,8,0,71,0,40,0 47,0,7,0,87,0,25,0,5,0,96,0 80,0,21,0,26,0,45,0,89,0,81,0 2,0,52,0,88,0,27,0,61,0,12,0 38,0,68,0,43,0,36,0,95,0,17,0 30,0,41,0,3,0,48,0,4,0,13,0 66,0,60,0,29,0,72,0,22,0,74,0 32,0,54,0,16,0,53,0,84,0,97,0 92,0,71,0,90,0,49,0,77,0,62,0 65,0,93,0,51,0,56,0,63,0,31,0 91,0,46,0,82,0,44,0,6,0,86,0 33,0,34,0,19,0,67,0,76,0,57,0 85,0,24,0,75,0,70,0,28,0,78,0 40,0,15,0,64,0,42,0,59,0,35,0 10,0,20,0,23,0,55,0,1,0,39,0 11,0,79,0,58,0,83,0,69,0,50,0 14,0,8,0,9,0,73,0,94,0,37,0 18,0,31,0,38,0,89,0,87,0,90,0 12,0,32,0,74,0,26,0,4,0,47,0 60,0,25,0,97,0,17,0,41,0,91,0 34,0,71,0,36,0,45,0,70,0,30,0 19,0,22,0,77,0,96,0,65,0,59,0 3,0,27,0,44,0,93,0,39,0,16,0 85,0,48,0,53,0,42,0,57,0,20,0 61,0,6,0,21,0,51,0,14,0,11,0 10,0,86,0,84,0,43,0,9,0,64,0 75,0,33,0,55,0,2,0,15,0,62,0 1,0,81,0,68,0,58,0,73,0,13,0 95,0,18,0,37,0,78,0,50,0,29,0 23,0,5,0,66,0,82,0,79,0,52,0 72,0,94,0,56,0,46,0,7,0,83,0 54,0,63,0,8,0,28,0,92,0,35,0 40,0,67,0,88,0,80,0,69,0,24,0 49,0,44,0,87,0,76,0,84,0,85,0 39,0,51,0,97,0,38,0,74,0,77,0 27,0,43,0,53,0,14,0,4,0,59,0 71,0,75,0,26,0,1,0,9,0,6,0 23,0,25,0,64,0,61,0,68,0,93,0 16,0,41,0,10,0,52,0,45,0,22,0 42,0,2,0,60,0,19,0,50,0,36,0 92,0,56,0,5,0,69,0,21,0,18,0 65,0,48,0,29,0,8,0,17,0,67,0 81,0,86,0,35,0,79,0,90,0,32,0 11,0,73,0,49,0,78,0,54,0,33,0 47,0,30,0,28,0,31,0,72,0,76,0 24,0,57,0,83,0,62,0,37,0,82,0 55,0,13,0,34,0,80,0,12,0,91,0 63,0,88,0,58,0,3,0,15,0,46,0 70,0,40,0,96,0,94,0,20,0,95,0 89,0,7,0,42,0,66,0,67,0,39,0 ================================================ FILE: schedules/98_1.csv ================================================ 59,0,72,0,55,0,93,0,40,0,77,0 7,0,23,0,9,0,1,0,75,0,3,0 81,0,73,0,74,0,68,0,85,0,38,0 6,0,83,0,13,0,4,0,56,0,2,0 11,0,28,0,10,0,84,0,65,0,62,0 30,0,96,0,52,0,12,0,66,0,33,0 17,0,31,0,16,0,49,0,37,0,39,0 41,0,42,0,54,0,53,0,71,0,70,0 44,0,22,0,78,0,60,0,69,0,79,0 92,0,5,0,95,0,91,0,58,0,64,0 21,0,25,0,47,0,82,0,89,0,15,0 97,0,63,0,27,0,36,0,76,0,88,0 19,0,14,0,24,0,20,0,80,0,34,0 67,0,48,0,29,0,32,0,45,0,35,0 61,0,98,0,94,0,8,0,43,0,57,0 87,0,86,0,90,0,51,0,50,0,26,0 46,0,68,1,78,1,18,0,70,1,49,1 ================================================ FILE: schedules/98_10.csv ================================================ 44,0,66,0,27,0,57,0,21,0,98,0 74,0,76,0,59,0,87,0,8,0,24,0 36,0,20,0,58,0,37,0,73,0,32,0 5,0,68,0,71,0,93,0,39,0,89,0 9,0,30,0,22,0,48,0,79,0,96,0 64,0,14,0,35,0,53,0,17,0,52,0 3,0,80,0,67,0,92,0,16,0,72,0 34,0,26,0,10,0,77,0,2,0,29,0 43,0,46,0,88,0,28,0,62,0,41,0 4,0,81,0,31,0,47,0,18,0,61,0 91,0,78,0,12,0,33,0,45,0,56,0 63,0,49,0,19,0,82,0,65,0,60,0 70,0,25,0,50,0,7,0,55,0,94,0 83,0,15,0,84,0,51,0,40,0,75,0 86,0,13,0,6,0,54,0,23,0,11,0 42,0,97,0,1,0,90,0,85,0,69,0 38,0,53,0,98,0,95,0,10,0,72,0 29,0,37,0,27,0,8,0,9,0,16,0 18,0,78,0,26,0,64,0,92,0,73,0 39,0,77,0,76,0,44,0,30,0,82,0 60,0,45,0,47,0,58,0,66,0,7,0 52,0,65,0,55,0,31,0,46,0,48,0 15,0,6,0,62,0,70,0,24,0,12,0 84,0,20,0,28,0,71,0,49,0,3,0 5,0,95,0,54,0,40,0,63,0,61,0 35,0,57,0,97,0,89,0,74,0,83,0 69,0,11,0,41,0,51,0,22,0,4,0 67,0,96,0,23,0,1,0,50,0,56,0 90,0,79,0,68,0,33,0,2,0,94,0 32,0,19,0,93,0,42,0,80,0,86,0 25,0,87,0,81,0,88,0,38,0,36,0 75,0,21,0,43,0,34,0,13,0,14,0 91,0,59,0,29,0,17,0,85,0,70,0 62,1,3,0,95,0,9,1,27,0,35,0 10,1,57,0,92,0,82,1,58,0,48,0 28,0,8,0,89,0,26,0,72,0,61,0 15,0,54,0,79,0,44,0,73,0,49,0 64,0,98,0,68,0,74,0,96,0,4,0 90,0,56,0,52,0,71,0,16,0,19,0 41,0,97,0,24,0,36,0,30,0,66,0 25,0,60,0,93,0,53,0,43,0,1,0 23,0,65,0,14,0,37,0,85,0,12,0 86,0,21,0,40,0,78,0,39,0,7,0 88,0,11,0,59,0,33,0,50,0,75,0 87,0,18,0,13,0,20,0,42,0,91,0 31,0,34,0,45,0,94,0,69,0,6,0 5,0,84,0,77,0,81,0,80,0,46,0 47,0,2,0,76,0,51,0,55,0,67,0 32,0,22,0,38,0,17,0,83,0,63,0 73,0,28,0,12,0,19,0,74,0,27,0 37,0,49,0,25,0,40,0,98,0,30,0 65,0,43,0,4,0,97,0,86,0,59,0 82,0,75,0,7,0,20,0,41,0,95,0 16,0,33,0,1,0,15,0,10,0,66,0 79,0,69,0,56,0,93,0,81,0,26,0 84,0,31,0,42,0,57,0,50,0,76,0 80,0,11,0,89,0,87,0,78,0,55,0 96,0,34,0,36,0,39,0,83,0,60,0 13,0,35,0,45,0,71,0,64,0,70,0 14,0,5,0,90,0,44,0,22,0,92,0 85,0,9,0,53,0,46,0,18,0,2,0 23,0,21,0,48,0,24,0,29,0,47,0 51,0,68,0,3,0,8,0,88,0,17,0 94,0,72,0,62,0,32,0,77,0,54,0 52,0,61,0,38,0,91,0,67,0,58,0 63,0,16,0,39,0,6,0,43,0,50,0 70,0,89,0,81,0,65,0,42,0,30,0 26,0,90,0,4,0,76,0,12,0,36,0 41,0,87,0,83,0,5,0,64,0,9,0 97,0,2,0,78,0,37,0,60,0,44,0 14,0,24,0,10,0,93,0,27,0,55,0 71,0,22,0,77,0,21,0,31,0,1,0 48,0,34,0,73,0,56,0,95,0,66,0 20,0,17,0,33,0,67,0,25,0,6,0 54,0,35,0,19,0,59,0,96,0,47,0 29,0,49,0,18,0,72,0,51,0,45,0 91,0,53,0,94,0,80,0,63,0,28,0 46,0,7,0,68,0,57,0,15,0,38,0 92,0,74,0,61,0,69,0,75,0,23,0 79,0,40,0,82,0,3,0,52,0,11,0 86,0,8,0,58,0,84,0,62,0,85,0 88,0,98,0,39,0,13,0,32,0,31,0 44,0,10,0,83,0,20,0,43,0,70,0 19,0,48,0,72,0,2,0,6,0,87,0 51,0,42,0,9,0,59,0,28,0,60,0 14,0,78,0,57,0,67,0,49,0,4,0 64,0,46,0,69,0,95,0,50,0,37,0 30,0,56,0,21,0,5,0,74,0,38,0 23,0,53,0,71,0,58,0,26,0,97,0 24,0,7,0,54,0,22,0,52,0,89,0 34,0,3,0,47,0,15,0,32,0,90,0 81,0,85,0,27,0,45,0,63,0,11,0 77,0,92,0,66,0,25,0,91,0,8,0 36,0,13,0,1,0,68,0,40,0,62,0 86,0,16,0,94,0,41,0,61,0,98,0 12,0,84,0,18,0,35,0,88,0,55,0 76,0,80,0,65,0,75,0,79,0,17,0 96,0,73,0,33,0,82,0,29,0,93,0 59,0,6,0,37,0,90,0,10,0,7,0 27,0,38,0,69,0,43,0,71,0,47,0 52,0,26,0,30,0,32,0,45,0,95,0 50,0,48,0,85,0,89,0,49,0,36,0 40,0,70,0,77,0,23,0,57,0,19,0 4,0,46,0,54,0,83,0,21,0,25,0 65,0,8,0,15,0,94,0,13,0,5,0 91,0,2,0,73,0,35,0,41,0,31,0 63,0,97,0,51,0,96,0,20,0,14,0 55,0,3,0,81,0,53,0,33,0,86,0 67,0,82,0,18,0,22,0,68,0,34,0 66,0,39,0,42,0,79,0,64,0,12,0 1,0,61,0,88,0,9,0,76,0,78,0 87,0,16,0,28,0,58,0,75,0,93,0 62,0,56,0,60,0,29,0,98,0,80,0 17,0,74,0,44,0,72,0,11,0,84,0 92,0,50,0,2,0,24,0,83,0,71,0 95,0,36,0,57,0,91,0,6,0,51,0 22,0,94,0,23,0,43,0,35,0,81,0 52,0,41,0,96,0,77,0,15,0,42,0 66,0,37,0,26,0,82,0,86,0,38,0 75,0,54,0,3,0,39,0,97,0,18,0 53,0,87,0,40,0,65,0,29,0,90,0 93,0,74,0,70,0,46,0,34,0,78,0 12,0,1,0,44,0,8,0,48,0,80,0 9,0,67,0,98,0,24,0,69,0,84,0 31,0,11,0,62,0,30,0,14,0,19,0 58,0,64,0,33,0,72,0,63,0,21,0 7,0,88,0,4,0,92,0,27,0,56,0 17,0,13,0,10,0,47,0,49,0,28,0 79,0,25,0,32,0,59,0,5,0,16,0 85,0,20,0,61,0,60,0,68,0,55,0 45,0,89,0,23,0,76,0,73,0,3,0 83,0,8,0,78,0,82,0,6,0,42,0 67,0,93,0,95,0,97,0,77,0,11,0 33,0,84,0,48,0,39,0,14,0,38,0 96,0,71,0,40,0,66,0,88,0,94,0 70,0,28,0,86,0,36,0,2,0,22,0 44,0,63,0,34,0,87,0,7,0,62,0 29,0,5,0,52,0,4,0,1,0,20,0 32,0,50,0,35,0,10,0,65,0,51,0 57,0,64,0,47,0,75,0,85,0,56,0 92,0,76,0,41,0,53,0,13,0,37,0 55,0,72,0,30,0,73,0,59,0,69,0 60,0,16,0,26,0,74,0,31,0,54,0 21,0,9,0,12,0,68,0,49,0,81,0 80,0,58,0,15,0,25,0,27,0,18,0 90,0,17,0,43,0,61,0,24,0,45,0 46,0,98,0,79,0,91,0,19,0,89,0 47,0,36,0,94,0,78,0,84,0,52,0 6,0,4,0,38,0,85,0,3,0,77,0 67,0,44,0,56,0,35,0,28,0,40,0 93,0,20,0,65,0,62,0,64,0,22,0 88,0,49,0,42,0,16,0,34,0,53,0 75,0,71,0,73,0,60,0,81,0,8,0 66,0,50,0,72,0,13,0,9,0,90,0 82,0,61,0,32,0,87,0,70,0,14,0 10,0,91,0,69,0,76,0,54,0,68,0 7,0,83,0,48,0,26,0,98,0,11,0 46,0,51,0,27,0,33,0,30,0,23,0 63,0,18,0,24,0,37,0,79,0,1,0 29,0,92,0,89,0,86,0,31,0,95,0 17,0,19,0,55,0,21,0,97,0,15,0 2,0,58,0,12,0,5,0,96,0,43,0 45,0,80,0,39,0,59,0,41,0,57,0 25,0,62,0,82,0,74,0,9,0,10,0 ================================================ FILE: schedules/98_11.csv ================================================ 75,0,24,0,64,0,54,0,46,0,4,0 19,0,68,0,67,0,72,0,82,0,60,0 29,0,11,0,18,0,21,0,97,0,10,0 49,0,70,0,74,0,96,0,86,0,90,0 77,0,41,0,59,0,12,0,47,0,55,0 26,0,84,0,57,0,15,0,8,0,85,0 6,0,83,0,35,0,43,0,91,0,45,0 58,0,81,0,14,0,66,0,80,0,76,0 78,0,23,0,39,0,16,0,40,0,79,0 50,0,69,0,7,0,71,0,28,0,92,0 98,0,3,0,33,0,73,0,48,0,22,0 9,0,13,0,51,0,37,0,52,0,38,0 93,0,62,0,30,0,65,0,32,0,89,0 36,0,94,0,87,0,56,0,61,0,63,0 31,0,2,0,44,0,27,0,42,0,25,0 88,0,5,0,1,0,20,0,53,0,34,0 17,0,81,0,86,0,95,0,67,0,43,0 28,0,80,0,82,0,4,0,21,0,79,0 50,0,91,0,76,0,54,0,74,0,60,0 78,0,19,0,9,0,45,0,64,0,97,0 83,0,24,0,57,0,38,0,65,0,71,0 36,0,96,0,58,0,77,0,15,0,32,0 85,0,14,0,37,0,92,0,94,0,2,0 10,0,90,0,27,0,35,0,48,0,1,0 42,0,88,0,68,0,12,0,33,0,75,0 5,0,66,0,3,0,23,0,95,0,69,0 87,0,41,0,31,0,6,0,11,0,30,0 26,0,46,0,13,0,40,0,53,0,47,0 70,0,17,0,55,0,62,0,63,0,44,0 59,0,56,0,39,0,49,0,34,0,22,0 61,0,52,0,72,0,84,0,98,0,20,0 16,0,89,0,51,0,73,0,29,0,7,0 25,0,93,0,92,0,18,0,8,0,38,0 23,1,10,0,37,0,83,1,15,0,75,0 94,0,30,0,50,0,21,0,43,0,9,0 71,0,3,0,87,0,88,0,78,0,54,0 85,0,11,0,44,0,69,0,96,0,79,0 1,0,64,0,36,0,31,0,40,0,76,0 26,0,33,0,19,0,55,0,28,0,86,0 51,0,4,0,97,0,58,0,39,0,62,0 14,0,13,0,59,0,5,0,82,0,48,0 65,0,35,0,68,0,18,0,49,0,41,0 63,0,25,0,47,0,84,0,66,0,91,0 45,0,46,0,72,0,80,0,74,0,56,0 89,0,42,0,98,0,34,0,81,0,8,0 73,0,93,0,53,0,67,0,52,0,12,0 2,0,24,0,95,0,61,0,77,0,29,0 7,0,60,0,32,0,6,0,17,0,90,0 16,0,20,0,27,0,70,0,22,0,57,0 43,0,40,0,92,0,87,0,62,0,10,0 39,0,86,0,48,0,18,0,94,0,88,0 82,0,54,0,44,0,85,0,65,0,5,0 45,0,41,0,36,0,28,0,13,0,42,0 66,0,73,0,21,0,38,0,49,0,19,0 52,0,71,0,89,0,56,0,75,0,95,0 78,0,90,0,84,0,46,0,59,0,29,0 32,0,11,0,12,0,74,0,9,0,26,0 98,0,23,0,55,0,24,0,27,0,60,0 76,0,8,0,61,0,6,0,4,0,68,0 93,0,20,0,80,0,63,0,97,0,69,0 31,0,77,0,33,0,50,0,37,0,57,0 30,0,70,0,15,0,7,0,14,0,67,0 34,0,35,0,17,0,79,0,3,0,25,0 72,0,47,0,2,0,58,0,16,0,22,0 53,0,96,0,81,0,51,0,83,0,64,0 91,0,75,0,92,0,1,0,98,0,44,0 73,0,10,0,45,0,84,0,23,0,71,0 20,0,28,0,78,0,11,0,24,0,43,0 68,0,54,0,39,0,95,0,9,0,57,0 69,0,38,0,31,0,32,0,41,0,82,0 60,0,48,0,49,0,12,0,97,0,25,0 66,0,79,0,13,0,22,0,8,0,90,0 30,0,40,0,37,0,58,0,17,0,56,0 7,0,18,0,4,0,72,0,81,0,27,0 46,0,61,0,88,0,14,0,35,0,89,0 87,0,55,0,65,0,51,0,74,0,67,0 76,0,93,0,59,0,19,0,94,0,70,0 53,0,21,0,6,0,77,0,63,0,85,0 34,0,62,0,83,0,26,0,2,0,36,0 16,0,5,0,64,0,91,0,52,0,33,0 15,0,42,0,3,0,86,0,50,0,29,0 47,0,80,0,7,0,1,0,96,0,68,0 17,0,12,0,31,0,61,0,13,0,78,0 71,0,74,0,37,0,98,0,66,0,41,0 73,0,8,0,69,0,60,0,39,0,46,0 72,0,43,0,79,0,93,0,77,0,49,0 75,0,82,0,22,0,84,0,55,0,11,0 85,0,38,0,40,0,33,0,89,0,27,0 56,0,24,0,76,0,18,0,42,0,51,0 86,0,1,0,58,0,83,0,14,0,87,0 36,0,4,0,30,0,10,0,19,0,44,0 53,0,80,0,65,0,9,0,70,0,3,0 95,0,34,0,16,0,90,0,63,0,50,0 26,0,88,0,81,0,91,0,97,0,59,0 20,0,92,0,29,0,45,0,48,0,67,0 32,0,57,0,23,0,52,0,64,0,2,0 96,0,28,0,25,0,6,0,94,0,54,0 5,0,35,0,62,0,47,0,15,0,21,0 79,0,38,0,60,0,75,0,86,0,61,0 41,0,43,0,53,0,27,0,39,0,84,0 16,0,49,0,69,0,17,0,4,0,42,0 70,0,58,0,85,0,46,0,10,0,68,0 13,0,97,0,77,0,1,0,3,0,30,0 14,0,26,0,63,0,65,0,72,0,64,0 18,0,83,0,44,0,50,0,73,0,59,0 28,0,66,0,29,0,5,0,57,0,12,0 62,0,9,0,67,0,25,0,76,0,98,0 24,0,82,0,52,0,96,0,8,0,87,0 20,0,6,0,47,0,37,0,89,0,19,0 22,0,94,0,95,0,40,0,15,0,45,0 7,0,54,0,33,0,78,0,2,0,35,0 11,0,23,0,90,0,92,0,36,0,80,0 48,0,21,0,32,0,55,0,56,0,81,0 34,0,31,0,91,0,51,0,71,0,93,0 74,0,73,0,4,0,88,0,25,0,13,0 63,0,96,0,76,0,12,0,30,0,38,0 75,0,49,0,9,0,3,0,20,0,14,0 29,0,52,0,43,0,47,0,65,0,60,0 1,0,62,0,28,0,85,0,59,0,72,0 8,0,97,0,84,0,86,0,36,0,16,0 79,0,46,0,32,0,92,0,27,0,95,0 89,0,45,0,24,0,21,0,39,0,26,0 70,0,88,0,98,0,40,0,50,0,11,0 74,0,35,0,94,0,23,0,31,0,53,0 33,0,15,0,18,0,82,0,17,0,71,0 22,0,68,0,91,0,69,0,37,0,78,0 87,0,5,0,2,0,81,0,93,0,90,0 67,0,10,0,64,0,56,0,77,0,66,0 80,0,61,0,55,0,42,0,54,0,83,0 34,0,19,0,58,0,48,0,41,0,7,0 57,0,51,0,40,0,44,0,6,0,14,0 73,0,75,0,32,0,76,0,43,0,97,0 39,0,79,0,65,0,47,0,36,0,98,0 88,0,21,0,31,0,60,0,96,0,16,0 24,0,12,0,35,0,37,0,81,0,70,0 50,0,82,0,25,0,56,0,93,0,78,0 17,0,85,0,29,0,91,0,9,0,87,0 27,0,52,0,54,0,19,0,69,0,62,0 10,0,13,0,83,0,20,0,95,0,33,0 38,0,42,0,23,0,22,0,7,0,46,0 8,0,71,0,64,0,49,0,80,0,94,0 72,0,6,0,15,0,55,0,34,0,66,0 67,0,57,0,63,0,11,0,1,0,4,0 44,0,77,0,48,0,68,0,84,0,74,0 51,0,41,0,5,0,26,0,92,0,61,0 18,0,58,0,90,0,3,0,89,0,28,0 86,0,53,0,59,0,45,0,30,0,2,0 95,0,78,0,96,0,14,0,73,0,42,0 39,0,82,0,91,0,20,0,12,0,10,0 6,0,81,0,46,0,36,0,49,0,62,0 23,0,50,0,65,0,1,0,17,0,19,0 74,0,22,0,97,0,85,0,52,0,83,0 66,0,48,0,93,0,54,0,11,0,16,0 41,0,33,0,90,0,24,0,94,0,72,0 86,0,77,0,40,0,5,0,9,0,71,0 30,0,80,0,25,0,75,0,26,0,29,0 27,0,8,0,63,0,58,0,45,0,88,0 56,0,38,0,98,0,68,0,28,0,53,0 47,0,67,0,61,0,32,0,44,0,34,0 87,0,7,0,37,0,76,0,79,0,64,0 2,0,3,0,84,0,51,0,21,0,70,0 89,0,92,0,4,0,59,0,15,0,31,0 55,0,43,0,18,0,57,0,13,0,69,0 60,0,85,0,36,0,35,0,95,0,93,0 6,0,22,0,10,0,24,0,80,0,5,0 82,0,9,0,1,0,46,0,66,0,42,0 27,0,11,0,65,0,94,0,91,0,73,0 52,0,28,0,17,0,77,0,39,0,76,0 14,0,56,0,29,0,62,0,33,0,23,0 67,0,54,0,79,0,31,0,26,0,58,0 92,0,84,0,49,0,83,0,88,0,30,0 19,0,16,0,12,0,18,0,87,0,98,0 4,0,55,0,78,0,90,0,53,0,37,0 15,0,44,0,60,0,64,0,20,0,41,0 57,0,38,0,45,0,81,0,3,0,47,0 96,0,97,0,50,0,89,0,2,0,13,0 21,0,34,0,69,0,75,0,74,0,40,0 51,0,63,0,68,0,32,0,35,0,86,0 7,0,71,0,25,0,43,0,59,0,61,0 8,0,72,0,83,0,70,0,48,0,23,0 ================================================ FILE: schedules/98_12.csv ================================================ 83,0,23,0,86,0,72,0,3,0,47,0 91,0,9,0,85,0,45,0,27,0,19,0 71,0,40,0,66,0,14,0,98,0,2,0 87,0,21,0,81,0,54,0,64,0,49,0 82,0,29,0,53,0,95,0,94,0,80,0 38,0,6,0,50,0,63,0,61,0,43,0 65,0,1,0,7,0,58,0,59,0,56,0 32,0,30,0,89,0,73,0,88,0,42,0 22,0,11,0,36,0,10,0,93,0,69,0 68,0,37,0,17,0,90,0,35,0,57,0 77,0,13,0,16,0,52,0,31,0,55,0 39,0,96,0,12,0,48,0,8,0,41,0 26,0,67,0,79,0,25,0,24,0,97,0 15,0,84,0,92,0,76,0,51,0,18,0 74,0,75,0,78,0,70,0,44,0,34,0 28,0,5,0,60,0,4,0,20,0,62,0 46,0,72,0,11,0,33,0,7,0,6,0 63,0,64,0,10,0,68,0,23,0,29,0 56,0,40,0,45,0,88,0,82,0,89,0 14,0,77,0,65,0,91,0,36,0,8,0 67,0,32,0,3,0,43,0,16,0,12,0 47,0,21,0,51,0,19,0,37,0,30,0 87,0,27,0,93,0,26,0,55,0,59,0 78,0,98,0,70,0,24,0,80,0,86,0 92,0,83,0,33,0,96,0,66,0,62,0 1,0,49,0,79,0,53,0,74,0,15,0 13,0,5,0,85,0,34,0,50,0,76,0 57,0,73,0,94,0,28,0,22,0,75,0 38,0,42,0,84,0,58,0,69,0,60,0 39,0,2,0,61,0,54,0,17,0,20,0 95,0,44,0,31,0,4,0,9,0,90,0 35,0,52,0,48,0,71,0,46,0,25,0 18,0,41,0,11,0,81,0,97,0,89,0 43,0,26,0,82,0,98,0,19,0,8,0 53,0,13,0,88,0,14,0,6,0,16,0 10,0,37,0,70,0,1,0,96,0,85,0 7,0,68,0,74,0,60,0,77,0,15,0 33,0,55,0,30,0,12,0,94,0,56,0 59,0,22,0,67,0,64,0,5,0,2,0 80,0,47,0,35,0,39,0,27,0,38,0 90,0,71,0,34,0,69,0,92,0,63,0 9,0,20,0,93,0,83,0,81,0,57,0 23,0,73,0,49,0,46,0,40,0,31,0 44,0,48,0,54,0,65,0,50,0,28,0 17,0,58,0,95,0,76,0,86,0,97,0 79,0,41,0,51,0,75,0,42,0,91,0 52,0,87,0,45,0,66,0,36,0,3,0 62,0,32,0,61,0,72,0,84,0,24,0 29,0,25,0,4,0,18,0,78,0,21,0 94,0,34,0,15,0,59,0,6,0,35,0 63,0,12,0,5,0,98,0,31,0,81,0 67,0,69,0,1,0,83,0,48,0,88,0 65,0,47,0,71,0,68,0,13,0,11,0 28,0,73,0,74,0,16,0,37,0,41,0 23,0,8,0,57,0,92,0,38,0,85,0 87,0,51,0,96,0,95,0,62,0,56,0 36,0,79,0,40,0,60,0,27,0,64,0 91,0,89,0,58,0,70,0,72,0,61,0 78,0,66,0,76,0,39,0,26,0,22,0 29,0,43,0,52,0,97,0,53,0,44,0 14,0,24,0,54,0,46,0,18,0,9,0 2,0,75,0,50,0,86,0,30,0,3,0 10,0,84,0,33,0,80,0,20,0,77,0 90,0,21,0,7,0,32,0,82,0,55,0 19,0,17,0,25,0,42,0,49,0,4,0 45,0,61,0,35,0,93,0,65,0,95,0 6,0,83,0,27,0,71,0,8,0,5,0 48,0,73,0,59,0,13,0,92,0,72,0 28,0,12,0,15,0,66,0,69,0,29,0 1,0,62,0,34,0,57,0,41,0,52,0 3,0,85,0,14,0,81,0,80,0,58,0 90,0,89,0,79,0,22,0,98,0,54,0 42,0,33,0,39,0,74,0,21,0,86,0 67,0,55,0,60,0,96,0,44,0,91,0 31,0,88,0,17,0,36,0,37,0,50,0 23,0,56,0,78,0,97,0,16,0,84,0 45,0,9,0,64,0,30,0,25,0,7,0 24,0,68,0,76,0,19,0,87,0,82,0 75,0,43,0,46,0,2,0,47,0,10,0 20,0,49,0,18,0,26,0,38,0,32,0 4,0,93,0,51,0,94,0,63,0,77,0 70,0,53,0,90,0,11,0,40,0,28,0 98,0,67,0,58,0,39,0,13,0,62,0 83,0,21,0,3,0,85,0,84,0,41,0 25,0,37,0,55,0,23,0,14,0,34,0 35,0,44,0,36,0,82,0,5,0,1,0 91,0,22,0,74,0,87,0,71,0,17,0 24,0,38,0,45,0,29,0,75,0,33,0 78,0,6,0,60,0,52,0,10,0,73,0 70,0,77,0,95,0,27,0,54,0,30,0 15,0,64,0,48,0,42,0,26,0,56,0 59,0,97,0,57,0,12,0,61,0,4,0 31,0,19,0,86,0,20,0,89,0,92,0 11,0,8,0,63,0,32,0,9,0,2,0 16,0,80,0,50,0,7,0,18,0,66,0 51,0,43,0,72,0,40,0,65,0,49,0 68,0,69,0,47,0,93,0,96,0,53,0 81,0,76,0,46,0,88,0,79,0,94,0 30,0,26,0,6,0,62,0,23,0,91,0 37,0,64,0,61,0,82,0,75,0,77,0 87,0,20,0,42,0,67,0,14,0,73,0 17,0,52,0,33,0,32,0,19,0,83,0 29,0,98,0,27,0,11,0,50,0,48,0 89,0,25,0,74,0,5,0,43,0,95,0 63,0,18,0,1,0,13,0,60,0,22,0 7,0,70,0,2,0,88,0,51,0,97,0 41,0,4,0,86,0,45,0,68,0,46,0 16,0,76,0,21,0,35,0,69,0,9,0 65,0,38,0,15,0,81,0,55,0,10,0 24,0,94,0,90,0,49,0,36,0,58,0 93,0,80,0,12,0,44,0,79,0,92,0 96,0,59,0,3,0,71,0,31,0,28,0 54,0,85,0,57,0,47,0,78,0,40,0 66,0,72,0,34,0,53,0,8,0,56,0 39,0,14,0,43,0,84,0,70,0,68,0 69,0,76,0,98,0,52,0,23,0,4,0 88,0,95,0,10,0,63,0,41,0,19,0 97,0,21,0,73,0,5,0,90,0,15,0 87,0,38,0,83,0,46,0,51,0,44,0 6,0,91,0,32,0,28,0,1,0,92,0 27,0,3,0,20,0,94,0,78,0,65,0 13,0,36,0,81,0,72,0,2,0,29,0 62,0,54,0,53,0,71,0,59,0,45,0 79,0,18,0,31,0,47,0,33,0,8,0 93,0,39,0,37,0,24,0,89,0,7,0 57,0,84,0,66,0,55,0,64,0,86,0 80,0,61,0,22,0,49,0,56,0,9,0 74,0,85,0,30,0,48,0,67,0,82,0 26,0,50,0,96,0,42,0,35,0,77,0 16,0,34,0,11,0,60,0,12,0,17,0 40,0,58,0,32,0,75,0,25,0,15,0 5,0,68,0,94,0,72,0,79,0,52,0 69,0,91,0,81,0,13,0,78,0,59,0 55,0,98,0,45,0,47,0,73,0,18,0 33,0,64,0,43,0,90,0,93,0,88,0 29,0,56,0,83,0,74,0,54,0,31,0 10,0,71,0,9,0,51,0,86,0,39,0 84,0,28,0,82,0,17,0,46,0,67,0 42,0,65,0,63,0,85,0,24,0,66,0 7,0,76,0,40,0,61,0,38,0,48,0 2,0,77,0,41,0,87,0,25,0,53,0 89,0,36,0,26,0,21,0,34,0,80,0 4,0,60,0,97,0,35,0,3,0,92,0 12,0,23,0,6,0,70,0,19,0,50,0 37,0,22,0,44,0,27,0,58,0,62,0 57,0,96,0,49,0,30,0,14,0,11,0 8,0,1,0,75,0,16,0,95,0,20,0 86,0,91,0,82,0,15,0,52,0,54,0 5,0,53,0,7,0,17,0,78,0,63,0 41,0,32,0,31,0,80,0,64,0,65,0 56,0,98,0,92,0,68,0,25,0,10,0 59,0,87,0,90,0,84,0,50,0,47,0 19,0,77,0,62,0,3,0,38,0,79,0 60,0,29,0,30,0,93,0,76,0,14,0 9,0,66,0,94,0,67,0,23,0,89,0 88,0,8,0,58,0,35,0,28,0,55,0 72,0,75,0,12,0,71,0,4,0,26,0 81,0,48,0,22,0,43,0,34,0,45,0 69,0,44,0,6,0,18,0,39,0,57,0 13,0,24,0,20,0,11,0,51,0,74,0 73,0,70,0,85,0,36,0,33,0,61,0 2,0,16,0,46,0,21,0,27,0,96,0 40,0,95,0,97,0,37,0,42,0,83,0 49,0,7,0,8,0,1,0,29,0,84,0 90,0,3,0,56,0,91,0,53,0,76,0 31,0,43,0,94,0,41,0,71,0,60,0 75,0,55,0,68,0,48,0,9,0,6,0 14,0,63,0,89,0,62,0,82,0,47,0 85,0,72,0,17,0,44,0,98,0,64,0 52,0,88,0,24,0,21,0,12,0,22,0 96,0,58,0,23,0,45,0,20,0,74,0 81,0,66,0,42,0,27,0,61,0,1,0 11,0,15,0,4,0,87,0,80,0,37,0 16,0,10,0,79,0,83,0,59,0,30,0 19,0,34,0,38,0,2,0,73,0,93,0 5,0,65,0,46,0,26,0,70,0,69,0 92,0,49,0,77,0,95,0,78,0,39,0 54,0,28,0,97,0,33,0,25,0,13,0 32,0,50,0,51,0,36,0,57,0,67,0 35,0,18,0,62,0,40,0,86,0,12,0 47,0,66,0,48,0,21,0,20,0,91,0 37,0,84,0,56,0,81,0,6,0,79,0 55,0,80,0,83,0,63,0,45,0,76,0 15,0,19,0,71,0,16,0,61,0,44,0 60,0,88,0,39,0,75,0,23,0,65,0 29,0,41,0,9,0,70,0,59,0,17,0 4,0,36,0,54,0,7,0,96,0,43,0 50,0,64,0,69,0,24,0,73,0,8,0 31,0,78,0,72,0,67,0,93,0,42,0 95,0,2,0,28,0,85,0,18,0,68,0 77,0,97,0,46,0,32,0,98,0,34,0 86,0,1,0,25,0,11,0,94,0,38,0 14,0,26,0,27,0,90,0,74,0,52,0 92,0,58,0,30,0,87,0,5,0,40,0 51,0,53,0,35,0,33,0,22,0,89,0 82,0,57,0,13,0,3,0,49,0,10,0 ================================================ FILE: schedules/98_13.csv ================================================ 8,0,77,0,81,0,10,0,73,0,54,0 13,0,35,0,25,0,17,0,51,0,41,0 88,0,39,0,86,0,79,0,89,0,12,0 59,0,78,0,87,0,32,0,46,0,74,0 1,0,53,0,7,0,62,0,82,0,83,0 63,0,36,0,50,0,57,0,75,0,14,0 9,0,70,0,91,0,96,0,80,0,95,0 92,0,30,0,52,0,24,0,20,0,94,0 18,0,6,0,85,0,33,0,19,0,43,0 61,0,38,0,44,0,90,0,15,0,66,0 4,0,2,0,45,0,5,0,72,0,31,0 28,0,47,0,84,0,34,0,42,0,97,0 27,0,40,0,22,0,11,0,58,0,64,0 26,0,65,0,48,0,23,0,68,0,49,0 55,0,98,0,3,0,76,0,29,0,71,0 60,0,21,0,69,0,67,0,16,0,37,0 93,0,70,0,50,0,56,0,78,0,81,0 77,0,91,0,86,0,32,0,82,0,38,0 95,0,61,0,43,0,25,0,59,0,7,0 19,0,41,0,1,0,5,0,28,0,57,0 8,0,89,0,87,0,45,0,66,0,18,0 63,0,4,0,12,0,35,0,49,0,52,0 98,0,53,0,11,0,44,0,72,0,9,0 80,0,55,0,62,0,22,0,68,0,21,0 96,0,64,0,48,0,69,0,90,0,13,0 56,0,51,0,67,0,6,0,88,0,42,0 2,0,46,0,79,0,29,0,73,0,94,0 24,0,74,0,76,0,85,0,60,0,23,0 17,0,75,0,84,0,39,0,71,0,20,0 93,0,47,0,14,0,31,0,27,0,65,0 40,0,15,0,33,0,34,0,10,0,83,0 37,0,58,0,97,0,54,0,3,0,30,0 26,0,36,0,70,0,92,0,16,0,61,0 81,1,49,0,55,0,25,1,53,0,78,0 21,1,82,0,52,0,87,1,9,0,69,0 62,0,57,0,51,0,76,0,79,0,59,0 73,0,43,0,48,0,63,0,42,0,44,0 84,0,80,0,68,0,64,0,4,0,89,0 56,0,85,0,66,0,40,0,31,0,1,0 30,0,93,0,34,0,17,0,2,0,19,0 15,0,74,0,60,0,27,0,28,0,12,0 35,0,72,0,3,0,47,0,94,0,67,0 96,0,22,0,20,0,98,0,26,0,14,0 36,0,46,0,83,0,6,0,39,0,32,0 54,0,50,0,65,0,38,0,24,0,7,0 91,0,10,0,29,0,97,0,18,0,41,0 8,0,75,0,16,0,11,0,13,0,88,0 92,0,5,0,77,0,33,0,71,0,37,0 90,0,45,0,23,0,58,0,86,0,95,0 56,0,94,0,9,0,28,0,87,0,63,0 3,0,59,0,82,0,17,0,68,0,44,0 66,0,48,0,47,0,83,0,52,0,39,0 21,0,19,0,70,0,98,0,46,0,7,0 25,0,79,0,22,0,38,0,40,0,18,0 81,0,88,0,97,0,13,0,32,0,49,0 53,0,51,0,14,0,73,0,37,0,84,0 36,0,15,0,54,0,69,0,23,0,11,0 74,0,43,0,86,0,41,0,93,0,92,0 35,0,42,0,16,0,55,0,77,0,31,0 29,0,90,0,95,0,50,0,5,0,27,0 76,0,67,0,20,0,4,0,8,0,91,0 33,0,6,0,26,0,89,0,30,0,62,0 34,0,12,0,64,0,71,0,45,0,57,0 80,0,78,0,85,0,2,0,10,0,65,0 96,0,1,0,58,0,24,0,75,0,72,0 61,0,17,0,46,0,60,0,9,0,88,0 41,0,52,0,14,0,21,0,40,0,23,0 31,0,18,0,3,0,49,0,82,0,11,0 37,0,47,0,20,0,7,0,90,0,55,0 76,0,89,0,54,0,28,0,70,0,35,0 53,0,19,0,66,0,15,0,86,0,4,0 5,0,56,0,83,0,80,0,43,0,69,0 65,0,73,0,13,0,92,0,34,0,32,0 6,0,58,0,68,0,2,0,77,0,61,0 75,0,38,0,42,0,97,0,62,0,26,0 67,0,78,0,22,0,24,0,71,0,48,0 45,0,1,0,16,0,74,0,50,0,84,0 63,0,85,0,29,0,30,0,8,0,59,0 10,0,94,0,44,0,96,0,12,0,25,0 95,0,93,0,87,0,36,0,79,0,64,0 27,0,33,0,39,0,98,0,51,0,81,0 91,0,72,0,52,0,57,0,60,0,6,0 4,0,34,0,62,0,37,0,23,0,18,0 61,0,66,0,69,0,76,0,97,0,73,0 16,0,14,0,54,0,42,0,71,0,80,0 53,0,28,0,59,0,67,0,65,0,11,0 15,0,41,0,44,0,89,0,2,0,55,0 32,0,31,0,24,0,19,0,74,0,29,0 9,0,43,0,45,0,51,0,10,0,22,0 17,0,48,0,81,0,94,0,85,0,77,0 60,0,39,0,5,0,25,0,58,0,93,0 40,0,46,0,86,0,36,0,3,0,13,0 64,0,75,0,95,0,47,0,38,0,33,0 12,0,7,0,84,0,56,0,91,0,26,0 78,0,82,0,92,0,96,0,72,0,8,0 49,0,57,0,50,0,30,0,87,0,98,0 90,0,79,0,68,0,70,0,1,0,63,0 27,0,88,0,35,0,83,0,20,0,21,0 81,0,54,0,74,0,67,0,34,0,44,0 42,0,37,0,40,0,94,0,93,0,59,0 48,0,60,0,62,0,19,0,95,0,14,0 22,0,32,0,12,0,5,0,75,0,85,0 10,0,24,0,4,0,89,0,36,0,82,0 84,0,8,0,25,0,69,0,65,0,3,0 90,0,43,0,17,0,31,0,87,0,57,0 51,0,29,0,72,0,38,0,20,0,70,0 6,0,73,0,71,0,50,0,86,0,26,0 11,0,30,0,46,0,91,0,66,0,68,0 80,0,47,0,1,0,15,0,76,0,88,0 97,0,63,0,2,0,39,0,21,0,53,0 64,0,92,0,23,0,35,0,56,0,55,0 28,0,83,0,78,0,61,0,98,0,18,0 49,0,27,0,77,0,96,0,9,0,41,0 79,0,52,0,7,0,33,0,58,0,16,0 13,0,82,0,6,0,45,0,14,0,25,0 73,0,40,0,3,0,70,0,4,0,43,0 15,0,46,0,65,0,95,0,22,0,81,0 88,0,36,0,62,0,50,0,91,0,2,0 8,0,23,0,71,0,47,0,51,0,19,0 72,0,97,0,30,0,48,0,83,0,90,0 85,0,57,0,21,0,29,0,84,0,61,0 68,0,75,0,96,0,18,0,74,0,7,0 38,0,16,0,39,0,87,0,76,0,34,0 63,0,92,0,17,0,64,0,54,0,5,0 94,0,35,0,53,0,45,0,80,0,58,0 41,0,78,0,37,0,66,0,12,0,20,0 86,0,11,0,60,0,98,0,56,0,10,0 24,0,13,0,59,0,55,0,9,0,33,0 69,0,44,0,28,0,31,0,26,0,79,0 49,0,93,0,89,0,67,0,77,0,1,0 32,0,27,0,19,0,52,0,42,0,3,0 64,0,46,0,97,0,8,0,7,0,14,0 96,0,81,0,38,0,35,0,43,0,84,0 72,0,63,0,66,0,80,0,51,0,74,0 98,0,25,0,68,0,88,0,37,0,85,0 30,0,39,0,55,0,82,0,95,0,40,0 60,0,47,0,87,0,92,0,44,0,4,0 48,0,9,0,16,0,86,0,57,0,2,0 5,0,70,0,11,0,34,0,24,0,6,0 18,0,77,0,69,0,50,0,59,0,20,0 54,0,41,0,79,0,75,0,65,0,83,0 28,0,21,0,91,0,45,0,73,0,93,0 26,0,17,0,29,0,52,0,78,0,15,0 62,0,13,0,58,0,12,0,10,0,67,0 31,0,22,0,33,0,53,0,36,0,76,0 71,0,94,0,32,0,49,0,56,0,90,0 1,0,89,0,23,0,61,0,27,0,42,0 74,0,25,0,9,0,4,0,30,0,47,0 64,0,81,0,86,0,72,0,59,0,37,0 87,0,40,0,6,0,48,0,80,0,98,0 88,0,79,0,34,0,60,0,55,0,26,0 83,0,3,0,2,0,12,0,14,0,24,0 66,0,10,0,76,0,21,0,95,0,17,0 77,0,11,0,43,0,78,0,62,0,39,0 91,0,73,0,31,0,94,0,75,0,23,0 8,0,61,0,32,0,50,0,33,0,35,0 82,0,41,0,90,0,84,0,67,0,54,0 38,0,85,0,71,0,58,0,36,0,28,0 44,0,51,0,97,0,46,0,1,0,92,0 49,0,69,0,7,0,42,0,22,0,29,0 89,0,63,0,45,0,96,0,19,0,65,0 18,0,70,0,57,0,53,0,27,0,13,0 16,0,68,0,20,0,93,0,56,0,15,0 5,0,74,0,55,0,52,0,11,0,73,0 12,0,23,0,50,0,17,0,72,0,40,0 9,0,79,0,4,0,78,0,6,0,54,0 75,0,80,0,92,0,3,0,81,0,28,0 51,0,83,0,61,0,64,0,91,0,49,0 98,0,94,0,8,0,24,0,41,0,95,0 21,0,31,0,37,0,38,0,48,0,89,0 20,0,42,0,10,0,46,0,53,0,57,0 65,0,30,0,84,0,60,0,18,0,35,0 14,0,88,0,44,0,29,0,77,0,33,0 59,0,66,0,5,0,16,0,47,0,96,0 34,0,36,0,52,0,43,0,1,0,68,0 67,0,25,0,27,0,86,0,87,0,97,0 26,0,19,0,76,0,58,0,56,0,82,0 15,0,7,0,13,0,71,0,63,0,93,0 32,0,69,0,85,0,70,0,45,0,62,0 2,0,39,0,28,0,22,0,90,0,8,0 42,0,11,0,21,0,92,0,50,0,83,0 55,0,54,0,18,0,51,0,48,0,46,0 10,0,49,0,6,0,64,0,37,0,74,0 52,0,61,0,86,0,34,0,96,0,31,0 58,0,29,0,9,0,81,0,66,0,89,0 84,0,78,0,44,0,5,0,76,0,13,0 77,0,24,0,56,0,79,0,47,0,45,0 71,0,12,0,95,0,69,0,53,0,68,0 3,0,57,0,93,0,88,0,38,0,23,0 4,0,72,0,39,0,85,0,26,0,41,0 98,0,63,0,90,0,25,0,16,0,62,0 1,0,20,0,2,0,60,0,32,0,40,0 59,0,35,0,91,0,87,0,19,0,22,0 80,0,27,0,73,0,17,0,7,0,36,0 94,0,33,0,82,0,70,0,65,0,97,0 67,0,14,0,30,0,15,0,75,0,43,0 49,0,18,0,24,0,44,0,21,0,86,0 5,0,48,0,3,0,79,0,61,0,10,0 25,0,46,0,76,0,52,0,77,0,50,0 51,0,95,0,37,0,32,0,11,0,2,0 47,0,89,0,57,0,78,0,40,0,69,0 88,0,53,0,96,0,85,0,87,0,54,0 20,0,97,0,23,0,6,0,63,0,22,0 45,0,30,0,7,0,81,0,41,0,36,0 65,0,71,0,72,0,62,0,91,0,27,0 67,0,68,0,19,0,73,0,39,0,9,0 94,0,83,0,38,0,4,0,13,0,55,0 34,0,75,0,98,0,66,0,93,0,35,0 56,0,70,0,14,0,74,0,8,0,17,0 29,0,43,0,64,0,28,0,82,0,16,0 31,0,58,0,15,0,92,0,59,0,84,0 42,0,90,0,33,0,12,0,80,0,60,0 26,0,81,0,21,0,1,0,25,0,87,0 ================================================ FILE: schedules/98_14.csv ================================================ 10,0,25,0,86,0,84,0,37,0,15,0 11,0,9,0,24,0,89,0,51,0,64,0 54,0,75,0,34,0,21,0,39,0,72,0 74,0,23,0,93,0,53,0,35,0,81,0 68,0,73,0,63,0,31,0,16,0,69,0 6,0,76,0,29,0,48,0,5,0,56,0 91,0,52,0,50,0,30,0,41,0,18,0 87,0,38,0,7,0,57,0,2,0,90,0 13,0,78,0,61,0,27,0,43,0,32,0 67,0,55,0,22,0,58,0,95,0,17,0 94,0,12,0,26,0,71,0,80,0,85,0 14,0,97,0,59,0,1,0,40,0,65,0 79,0,4,0,19,0,70,0,8,0,28,0 47,0,83,0,98,0,36,0,49,0,3,0 60,0,33,0,44,0,20,0,92,0,45,0 46,0,88,0,62,0,82,0,66,0,42,0 77,0,68,0,6,0,96,0,54,0,43,0 78,0,38,0,50,0,23,0,58,0,25,0 56,0,34,0,91,0,80,0,2,0,35,0 40,0,26,0,27,0,52,0,89,0,63,0 21,0,10,0,22,0,24,0,16,0,48,0 5,0,57,0,93,0,97,0,64,0,8,0 3,0,11,0,71,0,81,0,59,0,31,0 90,0,37,0,47,0,28,0,69,0,30,0 95,0,20,0,32,0,62,0,19,0,53,0 9,0,46,0,55,0,15,0,98,0,87,0 39,0,67,0,42,0,70,0,72,0,92,0 61,0,49,0,75,0,86,0,14,0,73,0 84,0,18,0,77,0,4,0,76,0,44,0 66,0,17,0,94,0,74,0,96,0,1,0 45,0,41,0,85,0,65,0,7,0,88,0 36,0,60,0,83,0,51,0,12,0,79,0 13,0,82,0,53,0,29,0,33,0,81,0 11,1,22,0,93,0,25,1,46,0,19,0 55,0,26,0,16,0,3,0,2,0,62,0 97,0,75,0,58,0,9,0,20,0,61,0 4,0,30,0,15,0,5,0,59,0,34,0 39,0,44,0,14,0,8,0,94,0,90,0 85,0,68,0,47,0,48,0,78,0,42,0 56,0,95,0,23,0,18,0,1,0,7,0 64,0,43,0,28,0,98,0,29,0,45,0 6,0,72,0,27,0,79,0,50,0,49,0 76,0,77,0,21,0,80,0,73,0,33,0 66,0,57,0,51,0,13,0,41,0,86,0 88,0,84,0,35,0,24,0,96,0,40,0 74,0,70,0,12,0,69,0,52,0,10,0 83,0,67,0,63,0,32,0,37,0,89,0 38,0,60,0,54,0,71,0,17,0,31,0 65,0,87,0,82,0,91,0,92,0,36,0 27,0,44,0,25,0,59,0,9,0,48,0 11,0,62,0,72,0,4,0,93,0,80,0 34,0,58,0,77,0,49,0,16,0,8,0 66,0,2,0,24,0,79,0,23,0,20,0 46,0,69,0,81,0,85,0,21,0,18,0 47,0,39,0,52,0,57,0,95,0,33,0 28,0,10,0,42,0,94,0,56,0,50,0 97,0,29,0,63,0,15,0,7,0,96,0 64,0,71,0,78,0,30,0,36,0,88,0 60,0,19,0,65,0,76,0,43,0,89,0 70,0,35,0,51,0,14,0,22,0,37,0 92,0,75,0,74,0,90,0,98,0,32,0 84,0,83,0,73,0,13,0,26,0,54,0 40,0,38,0,3,0,61,0,82,0,91,0 53,0,31,0,1,0,55,0,5,0,45,0 41,0,12,0,6,0,67,0,86,0,87,0 17,0,18,0,20,0,68,0,25,0,72,0 63,0,33,0,2,0,10,0,88,0,59,0 24,0,36,0,97,0,37,0,56,0,85,0 52,0,81,0,75,0,92,0,76,0,46,0 42,0,62,0,98,0,77,0,35,0,22,0 16,0,51,0,27,0,29,0,65,0,74,0 40,0,95,0,79,0,90,0,78,0,9,0 23,0,43,0,61,0,83,0,41,0,8,0 32,0,87,0,73,0,17,0,47,0,60,0 30,0,14,0,55,0,7,0,26,0,93,0 4,0,69,0,21,0,3,0,1,0,13,0 71,0,53,0,15,0,70,0,19,0,58,0 45,0,49,0,12,0,84,0,66,0,38,0 67,0,94,0,64,0,48,0,34,0,31,0 82,0,50,0,57,0,68,0,54,0,89,0 91,0,86,0,96,0,39,0,5,0,11,0 28,0,80,0,24,0,6,0,44,0,75,0 78,0,98,0,65,0,81,0,26,0,10,0 17,0,21,0,59,0,20,0,51,0,93,0 71,0,92,0,90,0,56,0,61,0,55,0 74,0,33,0,38,0,30,0,83,0,46,0 42,0,84,0,31,0,27,0,97,0,41,0 52,0,1,0,68,0,67,0,29,0,2,0 8,0,15,0,85,0,50,0,76,0,22,0 25,0,18,0,14,0,12,0,64,0,96,0 19,0,49,0,69,0,40,0,54,0,5,0 48,0,77,0,63,0,91,0,60,0,28,0 47,0,6,0,34,0,70,0,23,0,82,0 9,0,43,0,66,0,53,0,3,0,80,0 94,0,36,0,73,0,4,0,57,0,62,0 39,0,37,0,13,0,87,0,88,0,79,0 58,0,7,0,44,0,86,0,32,0,35,0 45,0,72,0,95,0,11,0,16,0,89,0 5,0,25,0,21,0,83,0,74,0,42,0 48,0,14,0,8,0,55,0,20,0,69,0 92,0,85,0,6,0,38,0,59,0,63,0 67,0,15,0,17,0,65,0,81,0,90,0 66,0,29,0,34,0,50,0,71,0,40,0 84,0,30,0,60,0,57,0,75,0,23,0 44,0,43,0,79,0,52,0,73,0,22,0 91,0,58,0,37,0,46,0,72,0,93,0 54,0,70,0,7,0,24,0,61,0,98,0 3,0,87,0,89,0,97,0,77,0,10,0 96,0,53,0,47,0,4,0,2,0,51,0 26,0,36,0,28,0,27,0,39,0,18,0 68,0,95,0,62,0,56,0,12,0,13,0 82,0,16,0,45,0,9,0,19,0,86,0 11,0,49,0,94,0,33,0,78,0,41,0 64,0,32,0,88,0,80,0,76,0,1,0 31,0,92,0,83,0,35,0,50,0,20,0 6,0,93,0,90,0,25,0,66,0,73,0 24,0,53,0,43,0,38,0,69,0,67,0 2,0,58,0,84,0,5,0,14,0,85,0 89,0,61,0,70,0,30,0,62,0,48,0 29,0,12,0,59,0,72,0,8,0,47,0 11,0,13,0,65,0,28,0,23,0,44,0 40,0,16,0,56,0,51,0,39,0,32,0 37,0,77,0,74,0,45,0,15,0,18,0 96,0,10,0,78,0,31,0,55,0,76,0 1,0,63,0,41,0,75,0,22,0,82,0 33,0,36,0,42,0,17,0,7,0,9,0 91,0,21,0,19,0,88,0,57,0,98,0 46,0,3,0,86,0,68,0,94,0,60,0 54,0,87,0,80,0,27,0,95,0,81,0 71,0,35,0,49,0,64,0,52,0,4,0 26,0,79,0,69,0,97,0,34,0,11,0 32,0,70,0,38,0,5,0,66,0,18,0 28,0,55,0,59,0,73,0,82,0,67,0 13,0,76,0,15,0,31,0,36,0,2,0 1,0,75,0,48,0,37,0,42,0,19,0 25,0,98,0,41,0,72,0,40,0,53,0 50,0,14,0,80,0,86,0,63,0,47,0 30,0,9,0,35,0,39,0,10,0,68,0 34,0,81,0,51,0,62,0,61,0,44,0 92,0,52,0,17,0,97,0,88,0,23,0 29,0,26,0,95,0,49,0,74,0,60,0 57,0,24,0,78,0,12,0,46,0,77,0 89,0,71,0,8,0,84,0,91,0,6,0 79,0,33,0,93,0,56,0,54,0,3,0 65,0,22,0,4,0,7,0,90,0,83,0 27,0,94,0,96,0,58,0,21,0,45,0 87,0,20,0,64,0,16,0,85,0,43,0 19,0,72,0,44,0,55,0,36,0,10,0 37,0,9,0,5,0,60,0,50,0,13,0 53,0,63,0,12,0,39,0,17,0,61,0 97,0,76,0,2,0,25,0,70,0,49,0 51,0,26,0,8,0,92,0,48,0,54,0 46,0,89,0,59,0,23,0,80,0,90,0 77,0,88,0,27,0,95,0,14,0,75,0 35,0,21,0,83,0,78,0,66,0,87,0 52,0,93,0,85,0,98,0,82,0,31,0 4,0,96,0,56,0,41,0,16,0,38,0 7,0,22,0,3,0,28,0,84,0,34,0 42,0,57,0,43,0,58,0,18,0,11,0 94,0,81,0,32,0,20,0,30,0,6,0 69,0,33,0,65,0,62,0,86,0,71,0 40,0,68,0,64,0,74,0,15,0,47,0 79,0,24,0,73,0,1,0,91,0,29,0 45,0,80,0,8,0,67,0,51,0,25,0 17,0,5,0,2,0,44,0,41,0,89,0 54,0,97,0,16,0,12,0,28,0,78,0 36,0,48,0,90,0,43,0,84,0,11,0 13,0,52,0,7,0,94,0,19,0,77,0 53,0,18,0,9,0,6,0,88,0,83,0 62,0,23,0,31,0,40,0,21,0,37,0 92,0,10,0,1,0,27,0,34,0,57,0 96,0,85,0,50,0,67,0,33,0,32,0 38,0,29,0,75,0,93,0,55,0,70,0 24,0,72,0,87,0,15,0,86,0,26,0 39,0,22,0,20,0,64,0,82,0,49,0 3,0,63,0,30,0,65,0,95,0,42,0 66,0,14,0,4,0,91,0,81,0,68,0 98,0,69,0,56,0,59,0,60,0,58,0 61,0,35,0,76,0,47,0,45,0,79,0 74,0,46,0,51,0,73,0,71,0,97,0 44,0,88,0,2,0,93,0,12,0,50,0 89,0,55,0,85,0,25,0,34,0,13,0 18,0,19,0,33,0,24,0,31,0,90,0 83,0,48,0,86,0,95,0,52,0,96,0 40,0,81,0,36,0,77,0,1,0,8,0 20,0,4,0,70,0,9,0,54,0,63,0 62,0,47,0,59,0,10,0,43,0,75,0 45,0,69,0,23,0,91,0,42,0,87,0 60,0,35,0,72,0,38,0,65,0,94,0 7,0,37,0,73,0,11,0,53,0,27,0 28,0,32,0,57,0,49,0,15,0,14,0 80,0,92,0,5,0,78,0,22,0,68,0 46,0,66,0,56,0,61,0,26,0,64,0 29,0,39,0,41,0,6,0,3,0,58,0 74,0,21,0,67,0,82,0,84,0,79,0 71,0,98,0,30,0,17,0,16,0,76,0 60,0,25,0,88,0,81,0,47,0,70,0 1,0,86,0,90,0,53,0,85,0,77,0 49,0,18,0,48,0,87,0,93,0,63,0 65,0,55,0,12,0,42,0,40,0,32,0 80,0,96,0,59,0,61,0,52,0,36,0 46,0,31,0,7,0,51,0,72,0,43,0 50,0,23,0,19,0,39,0,26,0,4,0 11,0,82,0,10,0,14,0,17,0,83,0 9,0,84,0,69,0,29,0,92,0,94,0 33,0,37,0,16,0,91,0,44,0,66,0 76,0,62,0,58,0,74,0,28,0,54,0 89,0,20,0,15,0,73,0,56,0,78,0 34,0,8,0,68,0,98,0,38,0,27,0 45,0,22,0,30,0,6,0,13,0,97,0 71,0,2,0,41,0,21,0,24,0,95,0 67,0,5,0,75,0,3,0,57,0,35,0 79,0,86,0,59,0,64,0,55,0,18,0 1,0,84,0,70,0,50,0,46,0,16,0 14,0,52,0,62,0,9,0,85,0,60,0 31,0,89,0,58,0,4,0,12,0,88,0 76,0,82,0,26,0,51,0,94,0,37,0 28,0,25,0,61,0,33,0,68,0,87,0 96,0,42,0,90,0,24,0,93,0,34,0 95,0,11,0,15,0,35,0,98,0,6,0 57,0,44,0,64,0,69,0,40,0,83,0 72,0,78,0,3,0,63,0,19,0,74,0 56,0,65,0,8,0,75,0,21,0,53,0 54,0,23,0,32,0,22,0,29,0,36,0 91,0,13,0,43,0,97,0,49,0,17,0 7,0,41,0,80,0,38,0,10,0,79,0 5,0,47,0,20,0,67,0,27,0,71,0 39,0,48,0,81,0,45,0,73,0,2,0 30,0,77,0,25,0,92,0,66,0,11,0 ================================================ FILE: schedules/98_2.csv ================================================ 10,0,70,0,29,0,81,0,13,0,12,0 16,0,52,0,89,0,53,0,1,0,85,0 75,0,86,0,11,0,90,0,32,0,66,0 36,0,82,0,19,0,49,0,69,0,30,0 5,0,45,0,74,0,50,0,20,0,80,0 84,0,63,0,78,0,27,0,42,0,94,0 34,0,59,0,23,0,73,0,25,0,61,0 97,0,55,0,21,0,60,0,44,0,54,0 40,0,39,0,68,0,8,0,77,0,7,0 56,0,98,0,38,0,18,0,62,0,71,0 67,0,33,0,51,0,31,0,88,0,91,0 95,0,24,0,48,0,96,0,37,0,46,0 15,0,72,0,87,0,76,0,58,0,4,0 28,0,6,0,79,0,93,0,43,0,9,0 92,0,14,0,41,0,35,0,2,0,26,0 22,0,17,0,83,0,65,0,64,0,3,0 57,0,94,0,90,0,47,0,97,0,52,0 74,0,75,0,12,0,21,0,71,0,36,0 91,0,11,0,27,0,45,0,61,0,39,0 7,0,32,0,96,0,53,0,44,0,38,0 76,0,73,0,20,0,85,0,46,0,29,0 82,0,70,0,28,0,48,0,5,0,72,0 13,0,40,0,50,0,18,0,41,0,43,0 54,0,3,0,88,0,16,0,79,0,62,0 42,0,77,0,25,0,89,0,19,0,9,0 67,0,15,0,60,0,98,0,92,0,83,0 4,0,33,0,84,0,10,0,95,0,6,0 78,0,47,0,24,0,51,0,56,0,86,0 37,0,57,0,69,0,66,0,14,0,59,0 49,0,93,0,58,0,35,0,23,0,22,0 64,0,2,0,30,0,68,0,87,0,63,0 8,0,55,0,1,0,17,0,26,0,31,0 65,0,80,0,79,1,81,0,34,0,96,1 ================================================ FILE: schedules/98_3.csv ================================================ 85,0,37,0,76,0,32,0,38,0,91,0 28,0,17,0,83,0,49,0,45,0,36,0 18,0,21,0,29,0,84,0,98,0,75,0 15,0,33,0,16,0,48,0,34,0,10,0 82,0,60,0,9,0,39,0,95,0,70,0 62,0,96,0,93,0,47,0,7,0,57,0 46,0,23,0,71,0,2,0,63,0,92,0 53,0,4,0,72,0,30,0,24,0,42,0 6,0,25,0,87,0,61,0,54,0,65,0 64,0,89,0,50,0,69,0,14,0,35,0 3,0,51,0,68,0,94,0,67,0,97,0 26,0,58,0,81,0,56,0,43,0,8,0 66,0,40,0,31,0,73,0,59,0,88,0 44,0,12,0,13,0,20,0,27,0,5,0 52,0,22,0,78,0,55,0,90,0,86,0 1,0,11,0,41,0,19,0,80,0,77,0 74,0,49,0,38,0,79,0,62,0,75,0 65,0,64,0,39,0,98,0,28,0,37,0 10,0,14,0,60,0,23,0,53,0,68,0 84,0,92,0,7,0,4,0,82,0,25,0 59,0,8,0,2,0,50,0,95,0,85,0 21,0,45,0,24,0,20,0,73,0,70,0 57,0,63,0,69,0,3,0,16,0,40,0 71,0,5,0,30,0,83,0,96,0,87,0 91,0,46,0,48,0,81,0,54,0,1,0 78,0,47,0,36,0,15,0,77,0,94,0 76,0,11,0,55,0,72,0,17,0,89,0 93,0,26,0,6,0,44,0,34,0,52,0 66,0,32,0,90,0,35,0,51,0,80,0 18,0,74,0,86,0,58,0,33,0,12,0 43,0,61,0,27,0,79,0,22,0,67,0 42,0,97,0,19,0,9,0,88,0,13,0 29,0,31,0,49,0,56,0,41,0,71,0 94,0,25,0,96,0,64,0,95,0,21,0 48,0,92,0,5,0,28,0,60,0,76,0 77,0,91,0,3,0,17,0,53,0,2,0 38,0,20,0,54,0,84,0,68,0,30,0 80,0,98,0,40,0,74,0,10,0,26,0 35,0,44,0,59,0,33,0,11,0,70,0 69,0,22,0,66,0,6,0,62,0,36,0 24,0,7,0,56,0,34,0,46,0,13,0 75,0,52,0,47,0,41,0,97,0,37,0 12,0,39,0,23,0,4,0,45,0,87,0 8,0,32,0,61,0,86,0,82,0,72,0 65,0,9,0,79,0,90,0,57,0,15,0 89,0,42,0,67,0,85,0,81,0,83,0 88,0,14,0,1,0,78,0,63,0,18,0 50,0,73,0,51,0,58,0,27,0,29,0 19,0,93,0,43,0,16,0,55,0,31,0 ================================================ FILE: schedules/98_4.csv ================================================ 79,0,81,0,47,0,22,0,90,0,57,0 33,0,65,0,66,0,30,0,80,0,63,0 10,0,94,0,61,0,4,0,45,0,84,0 97,0,24,0,23,0,72,0,46,0,52,0 21,0,50,0,64,0,56,0,62,0,6,0 58,0,71,0,78,0,96,0,2,0,83,0 88,0,19,0,13,0,92,0,39,0,11,0 89,0,44,0,35,0,69,0,86,0,82,0 12,0,59,0,91,0,37,0,41,0,76,0 93,0,9,0,49,0,7,0,26,0,67,0 98,0,1,0,54,0,31,0,25,0,36,0 70,0,48,0,20,0,87,0,14,0,42,0 55,0,16,0,32,0,5,0,8,0,43,0 74,0,15,0,75,0,3,0,27,0,51,0 18,0,73,0,17,0,85,0,40,0,34,0 29,0,68,0,53,0,77,0,95,0,28,0 38,0,80,0,46,0,60,0,96,0,59,0 78,0,82,0,7,0,88,0,21,0,33,0 62,0,13,0,61,0,37,0,71,0,23,0 69,0,39,0,64,0,66,0,70,0,31,0 49,0,56,0,63,0,1,0,10,0,81,0 36,0,2,0,14,0,26,0,44,0,91,0 58,0,43,0,65,0,94,0,25,0,92,0 52,0,67,0,32,0,6,0,51,0,35,0 89,0,29,0,47,0,38,0,17,0,48,0 77,0,22,0,34,0,24,0,74,0,30,0 41,0,11,0,83,0,68,0,15,0,90,0 54,0,53,0,3,0,8,0,12,0,18,0 57,0,20,0,45,0,95,0,40,0,75,0 93,0,85,0,84,0,42,0,97,0,55,0 76,0,72,0,4,0,73,0,50,0,19,0 60,0,9,0,5,0,86,0,79,0,87,0 27,0,28,0,81,0,98,0,16,0,78,0 22,1,89,0,7,0,70,1,46,0,56,0 26,1,25,0,35,0,61,1,11,0,38,0 74,0,6,0,53,0,63,0,43,0,59,0 14,0,71,0,77,0,41,0,65,0,47,0 10,0,37,0,33,0,36,0,58,0,3,0 66,0,83,0,51,0,62,0,1,0,24,0 86,0,85,0,52,0,95,0,4,0,91,0 98,0,42,0,13,0,50,0,44,0,5,0 17,0,97,0,87,0,45,0,64,0,12,0 20,0,23,0,31,0,88,0,28,0,79,0 92,0,2,0,49,0,15,0,18,0,21,0 40,0,76,0,60,0,94,0,39,0,55,0 19,0,16,0,93,0,82,0,29,0,57,0 30,0,68,0,75,0,32,0,54,0,48,0 84,0,67,0,96,0,34,0,90,0,72,0 8,0,69,0,80,0,73,0,27,0,9,0 45,0,41,0,51,0,98,0,89,0,26,0 56,0,59,0,17,0,33,0,71,0,79,0 66,0,81,0,46,0,53,0,21,0,61,0 78,0,94,0,5,0,70,0,77,0,85,0 12,0,74,0,92,0,52,0,10,0,93,0 91,0,40,0,6,0,42,0,49,0,25,0 82,0,64,0,63,0,20,0,58,0,84,0 43,0,38,0,73,0,36,0,39,0,22,0 28,0,11,0,62,0,47,0,86,0,7,0 27,0,88,0,96,0,35,0,55,0,54,0 97,0,4,0,90,0,75,0,9,0,65,0 31,0,80,0,24,0,16,0,2,0,13,0 34,0,1,0,95,0,3,0,19,0,48,0 44,0,8,0,37,0,72,0,60,0,68,0 30,0,18,0,29,0,23,0,67,0,87,0 50,0,14,0,57,0,83,0,32,0,69,0 15,0,22,0,26,0,76,0,70,0,61,0 ================================================ FILE: schedules/98_5.csv ================================================ 60,0,42,0,55,0,87,0,96,0,83,0 68,0,38,0,12,0,8,0,37,0,36,0 75,0,67,0,9,0,50,0,78,0,35,0 69,0,11,0,66,0,81,0,89,0,49,0 32,0,63,0,34,0,6,0,77,0,39,0 65,0,98,0,56,0,20,0,41,0,76,0 31,0,95,0,94,0,92,0,19,0,29,0 4,0,79,0,18,0,52,0,51,0,73,0 46,0,47,0,54,0,33,0,62,0,53,0 45,0,82,0,57,0,27,0,90,0,85,0 13,0,3,0,10,0,48,0,58,0,84,0 21,0,16,0,17,0,74,0,91,0,30,0 44,0,61,0,28,0,86,0,97,0,43,0 70,0,2,0,93,0,26,0,1,0,80,0 72,0,59,0,64,0,7,0,25,0,40,0 88,0,23,0,5,0,71,0,22,0,15,0 14,0,92,0,53,0,24,0,65,0,68,0 32,0,8,0,98,0,33,0,81,0,55,0 19,0,89,0,76,0,63,0,42,0,51,0 21,0,50,0,96,0,45,0,52,0,20,0 41,0,37,0,78,0,84,0,4,0,17,0 61,0,73,0,46,0,94,0,49,0,3,0 29,0,64,0,38,0,69,0,10,0,44,0 36,0,48,0,43,0,72,0,15,0,30,0 58,0,87,0,27,0,24,0,6,0,22,0 39,0,74,0,71,0,79,0,90,0,67,0 93,0,40,0,75,0,62,0,82,0,23,0 28,0,85,0,1,0,91,0,47,0,60,0 13,0,9,0,86,0,31,0,57,0,56,0 34,0,97,0,2,0,83,0,88,0,25,0 66,0,95,0,26,0,16,0,35,0,18,0 77,0,80,0,7,0,11,0,14,0,5,0 70,0,12,0,45,0,59,0,54,0,94,0 74,1,84,0,22,0,98,1,51,0,53,0 39,0,10,0,36,0,82,0,50,0,17,0 37,0,6,0,90,0,60,0,69,0,33,0 75,0,87,0,71,0,89,0,65,0,44,0 20,0,2,0,91,0,86,0,63,0,58,0 27,0,64,0,15,0,31,0,96,0,8,0 21,0,93,0,56,0,73,0,78,0,11,0 19,0,41,0,81,0,83,0,5,0,9,0 29,0,62,0,43,0,1,0,3,0,79,0 97,0,18,0,70,0,38,0,13,0,14,0 30,0,47,0,26,0,55,0,67,0,40,0 68,0,23,0,35,0,28,0,72,0,34,0 42,0,48,0,7,0,52,0,46,0,16,0 76,0,77,0,25,0,66,0,57,0,54,0 24,0,49,0,12,0,88,0,95,0,32,0 4,0,92,0,61,0,85,0,59,0,80,0 3,0,11,0,27,0,91,0,9,0,71,0 6,0,96,0,38,0,5,0,84,0,2,0 78,0,94,0,55,0,65,0,43,0,18,0 98,0,69,0,72,0,67,0,70,0,17,0 28,0,56,0,19,0,75,0,16,0,45,0 8,0,46,0,93,0,66,0,29,0,60,0 51,0,40,0,31,0,32,0,14,0,41,0 80,0,79,0,82,0,13,0,95,0,68,0 37,0,54,0,42,0,64,0,61,0,34,0 1,0,20,0,77,0,81,0,30,0,12,0 52,0,49,0,47,0,87,0,15,0,97,0 10,0,86,0,35,0,25,0,62,0,89,0 24,0,57,0,33,0,59,0,73,0,74,0 23,0,4,0,83,0,39,0,7,0,76,0 63,0,92,0,48,0,90,0,88,0,26,0 85,0,44,0,36,0,58,0,21,0,53,0 50,0,91,0,72,0,22,0,46,0,31,0 20,0,5,0,3,0,34,0,75,0,55,0 95,0,43,0,40,0,37,0,77,0,71,0 62,0,67,0,16,0,32,0,64,0,65,0 1,0,82,0,69,0,97,0,35,0,74,0 83,0,61,0,79,0,24,0,47,0,56,0 28,0,59,0,29,0,2,0,49,0,14,0 87,0,88,0,36,0,98,0,80,0,57,0 96,0,22,0,33,0,25,0,93,0,48,0 26,0,45,0,78,0,10,0,42,0,23,0 30,0,41,0,6,0,94,0,66,0,86,0 15,0,68,0,84,0,19,0,39,0,44,0 58,0,73,0,89,0,38,0,50,0,92,0 7,0,81,0,51,0,13,0,90,0,21,0 63,0,53,0,17,0,27,0,18,0,12,0 76,0,52,0,85,0,70,0,8,0,9,0 11,0,60,0,74,0,4,0,54,0,98,0 ================================================ FILE: schedules/98_6.csv ================================================ 91,0,94,0,44,0,42,0,84,0,35,0 57,0,5,0,39,0,98,0,71,0,7,0 65,0,88,0,9,0,32,0,27,0,53,0 77,0,63,0,49,0,60,0,22,0,59,0 81,0,78,0,17,0,61,0,24,0,31,0 62,0,87,0,56,0,2,0,74,0,13,0 30,0,64,0,95,0,47,0,69,0,90,0 97,0,1,0,14,0,21,0,15,0,16,0 67,0,18,0,11,0,29,0,96,0,54,0 51,0,52,0,19,0,82,0,3,0,85,0 37,0,46,0,76,0,25,0,50,0,8,0 75,0,34,0,79,0,4,0,72,0,23,0 73,0,6,0,80,0,58,0,40,0,10,0 43,0,41,0,12,0,20,0,83,0,68,0 92,0,28,0,45,0,86,0,70,0,89,0 93,0,36,0,33,0,48,0,38,0,66,0 26,0,77,0,21,0,55,0,98,0,74,0 61,0,97,0,2,0,71,0,85,0,96,0 88,0,50,0,29,0,17,0,60,0,30,0 24,0,72,0,13,0,35,0,49,0,39,0 54,0,37,0,10,0,23,0,42,0,81,0 6,0,75,0,16,0,20,0,95,0,65,0 94,0,80,0,79,0,52,0,8,0,41,0 56,0,89,0,32,0,93,0,19,0,67,0 18,0,70,0,66,0,4,0,47,0,78,0 15,0,36,0,69,0,44,0,59,0,3,0 51,0,90,0,11,0,62,0,22,0,91,0 58,0,46,0,68,0,57,0,9,0,63,0 33,0,27,0,1,0,5,0,87,0,12,0 31,0,26,0,40,0,7,0,76,0,45,0 73,0,64,0,38,0,92,0,53,0,55,0 84,0,82,0,25,0,14,0,28,0,43,0 86,0,48,0,56,0,34,0,83,0,85,0 17,0,21,0,2,0,8,0,19,0,36,0 6,0,81,0,72,0,70,0,90,0,29,0 98,0,22,0,41,0,35,0,9,0,97,0 62,0,15,0,32,0,50,0,58,0,24,0 30,0,46,0,74,0,1,0,79,0,40,0 3,0,63,0,37,0,31,0,87,0,88,0 96,0,93,0,49,0,42,0,27,0,28,0 47,0,59,0,53,0,76,0,16,0,84,0 7,0,83,0,38,0,52,0,54,0,78,0 60,0,20,0,94,0,51,0,33,0,92,0 80,0,18,0,26,0,14,0,86,0,13,0 55,0,4,0,57,0,69,0,25,0,67,0 75,0,45,0,71,0,11,0,77,0,12,0 73,0,66,0,95,0,61,0,34,0,44,0 5,0,10,0,82,0,89,0,91,0,68,0 39,0,23,0,48,0,64,0,65,0,43,0 78,0,29,0,37,0,16,0,79,0,93,0 49,0,50,0,98,0,6,0,84,0,54,0 8,0,86,0,47,0,63,0,81,0,97,0 27,0,59,0,35,0,58,0,92,0,19,0 14,0,36,0,7,0,56,0,30,0,11,0 96,0,40,0,52,0,24,0,69,0,12,0 72,0,18,0,89,0,94,0,88,0,21,0 90,0,31,0,13,0,75,0,66,0,15,0 87,0,22,0,71,0,44,0,38,0,25,0 68,0,3,0,48,0,4,0,77,0,95,0 28,0,67,0,41,0,26,0,46,0,33,0 57,0,43,0,34,0,76,0,91,0,60,0 32,0,74,0,83,0,80,0,51,0,64,0 23,0,9,0,5,0,2,0,45,0,55,0 65,0,1,0,70,0,62,0,82,0,73,0 20,0,42,0,85,0,53,0,17,0,39,0 10,0,50,0,16,0,61,0,36,0,72,0 29,0,14,0,48,0,40,0,22,0,94,0 90,0,77,0,33,0,24,0,84,0,37,0 96,0,43,0,8,0,95,0,92,0,56,0 34,0,51,0,59,0,88,0,93,0,71,0 30,0,87,0,89,0,66,0,57,0,81,0 91,0,58,0,12,0,7,0,3,0,97,0 25,0,15,0,19,0,74,0,20,0,18,0 31,0,49,0,79,0,73,0,32,0,69,0 17,0,52,0,98,0,27,0,68,0,23,0 85,0,45,0,67,0,6,0,13,0,38,0 61,0,83,0,39,0,47,0,9,0,62,0 41,0,44,0,60,0,21,0,64,0,70,0 53,0,35,0,82,0,78,0,46,0,75,0 5,0,54,0,65,0,28,0,80,0,63,0 42,0,55,0,11,0,76,0,86,0,1,0 2,0,4,0,88,0,10,0,26,0,43,0 12,0,29,0,25,0,56,0,59,0,98,0 79,0,17,0,84,0,15,0,7,0,67,0 39,0,68,0,33,0,45,0,14,0,74,0 19,0,87,0,16,0,73,0,96,0,9,0 71,0,91,0,36,0,40,0,41,0,49,0 69,0,6,0,35,0,18,0,51,0,5,0 64,0,13,0,81,0,50,0,34,0,11,0 22,0,47,0,85,0,80,0,72,0,37,0 86,0,54,0,20,0,27,0,30,0,61,0 77,0,76,0,2,0,94,0,66,0,82,0 97,0,4,0,92,0,65,0,93,0,46,0 21,0,42,0,62,0,52,0,75,0,63,0 70,0,10,0,55,0,95,0,83,0,31,0 24,0,44,0,53,0,48,0,26,0,89,0 90,0,3,0,38,0,32,0,1,0,57,0 58,0,23,0,60,0,28,0,8,0,78,0 ================================================ FILE: schedules/98_7.csv ================================================ 45,0,76,0,74,0,64,0,73,0,94,0 6,0,2,0,17,0,42,0,1,0,43,0 36,0,57,0,96,0,33,0,27,0,37,0 18,0,50,0,52,0,60,0,48,0,66,0 44,0,38,0,68,0,10,0,40,0,67,0 25,0,58,0,86,0,39,0,61,0,81,0 75,0,30,0,79,0,65,0,35,0,53,0 62,0,8,0,16,0,92,0,83,0,11,0 24,0,93,0,4,0,5,0,9,0,69,0 55,0,80,0,15,0,23,0,72,0,28,0 59,0,19,0,13,0,29,0,89,0,20,0 91,0,3,0,77,0,34,0,41,0,31,0 21,0,51,0,46,0,95,0,98,0,32,0 97,0,87,0,7,0,56,0,82,0,88,0 78,0,54,0,26,0,71,0,84,0,85,0 49,0,22,0,63,0,12,0,47,0,70,0 90,0,17,0,37,0,14,0,38,0,62,0 2,0,28,0,50,0,53,0,33,0,45,0 59,0,69,0,42,0,92,0,86,0,40,0 93,0,67,0,75,0,94,0,11,0,20,0 21,0,39,0,15,0,5,0,89,0,43,0 31,0,46,0,24,0,36,0,83,0,65,0 60,0,85,0,23,0,87,0,81,0,29,0 4,0,41,0,13,0,49,0,66,0,56,0 88,0,26,0,9,0,58,0,22,0,27,0 98,0,73,0,7,0,52,0,79,0,96,0 35,0,25,0,68,0,57,0,3,0,71,0 18,0,16,0,97,0,51,0,76,0,10,0 19,0,61,0,44,0,91,0,55,0,64,0 48,0,84,0,47,0,77,0,82,0,80,0 90,0,12,0,6,0,8,0,95,0,30,0 1,0,54,0,72,0,70,0,14,0,34,0 32,0,63,0,56,0,74,0,78,0,28,0 38,1,89,0,86,0,45,1,36,0,11,0 7,1,9,0,50,0,71,1,39,0,37,0 42,0,10,0,29,0,66,0,26,0,15,0 46,0,58,0,64,0,96,0,87,0,67,0 31,0,5,0,85,0,88,0,18,0,19,0 48,0,94,0,23,0,6,0,79,0,22,0 80,0,75,0,4,0,61,0,95,0,14,0 43,0,72,0,84,0,91,0,97,0,30,0 49,0,74,0,25,0,93,0,53,0,59,0 20,0,16,0,12,0,57,0,21,0,2,0 98,0,1,0,76,0,63,0,40,0,62,0 82,0,27,0,34,0,24,0,68,0,13,0 32,0,70,0,52,0,35,0,90,0,41,0 55,0,73,0,92,0,17,0,51,0,3,0 60,0,8,0,47,0,65,0,54,0,44,0 81,0,83,0,78,0,69,0,77,0,33,0 72,0,10,0,11,0,22,0,25,0,96,0 28,0,20,0,14,0,84,0,9,0,6,0 53,0,26,0,19,0,98,0,43,0,56,0 71,0,61,0,49,0,23,0,88,0,24,0 34,0,35,0,16,0,38,0,48,0,58,0 31,0,37,0,13,0,93,0,1,0,97,0 85,0,39,0,30,0,55,0,47,0,57,0 8,0,40,0,89,0,73,0,66,0,70,0 59,0,62,0,45,0,27,0,15,0,87,0 90,0,75,0,44,0,78,0,92,0,82,0 29,0,41,0,95,0,68,0,64,0,63,0 2,0,3,0,80,0,18,0,46,0,79,0 32,0,36,0,50,0,91,0,69,0,54,0 83,0,51,0,12,0,74,0,7,0,86,0 76,0,60,0,21,0,67,0,17,0,33,0 42,0,4,0,81,0,65,0,52,0,94,0 77,0,22,0,73,0,5,0,20,0,56,0 57,0,10,0,34,0,90,0,45,0,93,0 15,0,9,0,11,0,64,0,35,0,78,0 80,0,92,0,87,0,53,0,1,0,71,0 88,0,14,0,46,0,48,0,25,0,8,0 29,0,18,0,96,0,24,0,86,0,91,0 6,0,72,0,40,0,60,0,3,0,82,0 65,0,39,0,66,0,95,0,16,0,17,0 58,0,13,0,44,0,98,0,70,0,28,0 63,0,7,0,55,0,2,0,26,0,4,0 37,0,83,0,5,0,59,0,23,0,75,0 77,0,68,0,36,0,42,0,97,0,12,0 51,0,79,0,81,0,38,0,50,0,49,0 33,0,89,0,62,0,61,0,85,0,32,0 31,0,67,0,74,0,47,0,43,0,69,0 94,0,54,0,27,0,41,0,21,0,30,0 19,0,52,0,95,0,84,0,76,0,57,0 10,0,91,0,87,0,9,0,98,0,17,0 35,0,40,0,56,0,2,0,29,0,37,0 45,0,65,0,77,0,25,0,63,0,92,0 8,0,64,0,72,0,39,0,51,0,13,0 83,0,79,0,20,0,32,0,34,0,97,0 14,0,81,0,71,0,36,0,59,0,55,0 21,0,69,0,70,0,80,0,38,0,26,0 23,0,84,0,27,0,67,0,89,0,18,0 90,0,49,0,73,0,19,0,42,0,48,0 78,0,76,0,61,0,93,0,46,0,68,0 12,0,58,0,85,0,3,0,24,0,75,0 47,0,5,0,53,0,6,0,52,0,11,0 82,0,96,0,54,0,15,0,16,0,4,0 94,0,62,0,7,0,31,0,60,0,28,0 43,0,88,0,86,0,44,0,50,0,41,0 66,0,33,0,30,0,1,0,22,0,74,0 95,0,55,0,70,0,10,0,27,0,83,0 63,0,37,0,34,0,61,0,73,0,18,0 46,0,35,0,42,0,23,0,45,0,13,0 67,0,65,0,5,0,49,0,57,0,26,0 91,0,38,0,25,0,85,0,15,0,6,0 53,0,29,0,54,0,7,0,90,0,77,0 43,0,3,0,28,0,8,0,81,0,76,0 86,0,32,0,66,0,14,0,94,0,82,0 33,0,97,0,11,0,71,0,40,0,19,0 87,0,89,0,22,0,69,0,68,0,75,0 62,0,93,0,52,0,36,0,58,0,30,0 60,0,96,0,92,0,74,0,88,0,39,0 2,0,48,0,51,0,31,0,9,0,44,0 24,0,98,0,59,0,16,0,41,0,80,0 79,0,1,0,78,0,4,0,47,0,21,0 56,0,17,0,64,0,12,0,84,0,50,0 20,0,38,0,71,0,72,0,45,0,7,0 ================================================ FILE: schedules/98_8.csv ================================================ 35,0,49,0,47,0,59,0,38,0,50,0 54,0,95,0,44,0,48,0,63,0,36,0 27,0,83,0,78,0,15,0,86,0,73,0 14,0,28,0,77,0,91,0,88,0,30,0 57,0,98,0,43,0,69,0,3,0,8,0 53,0,1,0,52,0,92,0,18,0,66,0 79,0,55,0,45,0,41,0,12,0,93,0 31,0,67,0,10,0,82,0,97,0,61,0 33,0,32,0,25,0,51,0,74,0,96,0 5,0,84,0,21,0,65,0,40,0,70,0 68,0,11,0,72,0,75,0,62,0,34,0 16,0,89,0,46,0,6,0,90,0,9,0 24,0,71,0,2,0,81,0,7,0,4,0 87,0,94,0,20,0,80,0,23,0,19,0 13,0,56,0,64,0,22,0,37,0,17,0 26,0,76,0,42,0,58,0,39,0,60,0 85,0,66,0,50,0,29,0,10,0,69,0 18,0,79,0,14,0,27,0,57,0,84,0 82,0,74,0,59,0,73,0,98,0,62,0 68,0,67,0,1,0,45,0,90,0,33,0 4,0,9,0,44,0,31,0,3,0,78,0 49,0,65,0,11,0,92,0,61,0,28,0 12,0,70,0,83,0,24,0,89,0,95,0 77,0,97,0,71,0,76,0,53,0,94,0 81,0,43,0,37,0,85,0,21,0,51,0 96,0,86,0,38,0,42,0,34,0,19,0 5,0,17,0,36,0,26,0,87,0,46,0 80,0,6,0,41,0,72,0,88,0,32,0 55,0,48,0,25,0,30,0,13,0,16,0 29,0,47,0,15,0,93,0,23,0,56,0 8,0,22,0,20,0,58,0,35,0,91,0 63,0,52,0,75,0,39,0,2,0,40,0 7,0,60,0,70,0,64,0,54,0,74,0 1,1,50,0,34,0,97,1,79,0,98,0 37,0,53,0,24,0,11,0,33,0,57,0 72,0,73,0,96,0,14,0,36,0,67,0 46,0,43,0,13,0,42,0,71,0,83,0 28,0,48,0,69,0,41,0,90,0,38,0 87,0,15,0,91,0,66,0,21,0,62,0 9,0,85,0,35,0,84,0,2,0,94,0 29,0,40,0,20,0,78,0,64,0,68,0 26,0,12,0,61,0,18,0,23,0,59,0 39,0,88,0,22,0,89,0,31,0,25,0 75,0,6,0,56,0,5,0,77,0,55,0 93,0,51,0,30,0,52,0,95,0,58,0 27,0,45,0,4,0,82,0,63,0,60,0 49,0,80,0,16,0,44,0,86,0,8,0 3,0,92,0,81,0,54,0,47,0,17,0 76,0,32,0,19,0,7,0,65,0,10,0 53,0,48,0,68,0,98,0,2,0,70,0 13,0,41,0,36,0,91,0,39,0,33,0 38,0,18,0,22,0,87,0,40,0,11,0 69,0,94,0,59,0,14,0,42,0,93,0 95,0,20,0,72,0,27,0,66,0,77,0 12,0,73,0,8,0,56,0,52,0,97,0 57,0,23,0,83,0,85,0,45,0,28,0 32,0,46,0,84,0,34,0,24,0,54,0 89,0,21,0,55,0,47,0,10,0,78,0 35,0,31,0,30,0,19,0,81,0,1,0 61,0,60,0,44,0,6,0,96,0,43,0 7,0,82,0,25,0,15,0,17,0,80,0 90,0,86,0,71,0,92,0,5,0,74,0 3,0,75,0,37,0,49,0,67,0,58,0 79,0,51,0,88,0,29,0,76,0,9,0 64,0,63,0,62,0,65,0,50,0,16,0 4,0,34,0,56,0,26,0,83,0,48,0 54,0,57,0,52,0,68,0,22,0,21,0 97,0,70,0,72,0,45,0,46,0,19,0 55,0,31,0,36,0,43,0,32,0,28,0 94,0,66,0,86,0,12,0,60,0,13,0 23,0,77,0,69,0,49,0,78,0,1,0 92,0,67,0,44,0,24,0,25,0,79,0 9,0,14,0,47,0,37,0,7,0,41,0 85,0,88,0,73,0,61,0,64,0,75,0 33,0,93,0,26,0,20,0,81,0,62,0 74,0,40,0,42,0,50,0,8,0,27,0 6,0,30,0,98,0,15,0,18,0,63,0 11,0,59,0,96,0,4,0,76,0,89,0 71,0,58,0,17,0,16,0,84,0,10,0 95,0,29,0,91,0,65,0,90,0,2,0 38,0,39,0,5,0,80,0,51,0,3,0 87,0,35,0,64,0,53,0,82,0,32,0 62,0,47,0,77,0,25,0,43,0,52,0 1,0,73,0,9,0,28,0,20,0,70,0 94,0,49,0,31,0,72,0,15,0,26,0 18,0,37,0,93,0,19,0,83,0,74,0 54,0,79,0,75,0,4,0,33,0,66,0 6,0,69,0,2,0,27,0,13,0,76,0 61,0,24,0,42,0,98,0,80,0,22,0 45,0,81,0,91,0,40,0,89,0,44,0 67,0,50,0,78,0,48,0,39,0,46,0 7,0,35,0,16,0,34,0,12,0,36,0 90,0,23,0,21,0,11,0,88,0,8,0 68,0,58,0,63,0,85,0,97,0,5,0 29,0,14,0,60,0,71,0,38,0,55,0 84,0,3,0,82,0,30,0,41,0,56,0 65,0,86,0,51,0,53,0,59,0,17,0 57,0,10,0,92,0,95,0,87,0,96,0 69,0,4,0,39,0,20,0,61,0,15,0 93,0,70,0,76,0,78,0,43,0,91,0 64,0,21,0,33,0,42,0,72,0,9,0 36,0,90,0,49,0,40,0,25,0,83,0 13,0,45,0,7,0,5,0,18,0,62,0 32,0,73,0,66,0,30,0,38,0,68,0 28,0,59,0,16,0,97,0,75,0,29,0 84,0,80,0,50,0,31,0,96,0,52,0 34,0,47,0,74,0,58,0,53,0,44,0 8,0,89,0,65,0,87,0,37,0,54,0 11,0,19,0,48,0,79,0,71,0,6,0 2,0,51,0,12,0,82,0,57,0,77,0 46,0,92,0,27,0,88,0,94,0,55,0 10,0,1,0,56,0,14,0,24,0,63,0 60,0,17,0,98,0,35,0,23,0,41,0 85,0,3,0,26,0,22,0,95,0,86,0 81,0,52,0,83,0,67,0,76,0,64,0 8,0,38,0,93,0,36,0,9,0,75,0 54,0,58,0,11,0,69,0,45,0,73,0 97,0,18,0,32,0,20,0,48,0,47,0 15,0,88,0,33,0,12,0,71,0,50,0 34,0,37,0,63,0,55,0,90,0,66,0 78,0,98,0,28,0,7,0,84,0,72,0 41,0,95,0,74,0,16,0,1,0,61,0 3,0,53,0,19,0,60,0,25,0,21,0 5,0,30,0,10,0,2,0,42,0,23,0 80,0,26,0,89,0,92,0,13,0,77,0 27,0,59,0,87,0,31,0,68,0,24,0 79,0,39,0,43,0,56,0,86,0,35,0 57,0,17,0,91,0,67,0,94,0,6,0 96,0,22,0,81,0,29,0,70,0,49,0 65,0,46,0,14,0,82,0,44,0,85,0 40,0,62,0,1,0,51,0,4,0,97,0 ================================================ FILE: schedules/98_9.csv ================================================ 72,0,43,0,20,0,48,0,73,0,74,0 30,0,32,0,66,0,53,0,1,0,6,0 47,0,38,0,68,0,16,0,87,0,31,0 80,0,35,0,63,0,19,0,95,0,50,0 44,0,96,0,88,0,21,0,56,0,79,0 55,0,51,0,27,0,40,0,33,0,24,0 23,0,61,0,8,0,54,0,77,0,70,0 82,0,58,0,85,0,92,0,90,0,62,0 52,0,29,0,4,0,2,0,7,0,42,0 49,0,89,0,71,0,13,0,60,0,65,0 91,0,10,0,17,0,81,0,45,0,98,0 86,0,26,0,37,0,69,0,94,0,76,0 12,0,64,0,3,0,14,0,36,0,75,0 93,0,25,0,59,0,9,0,34,0,22,0 83,0,28,0,41,0,11,0,78,0,18,0 97,0,5,0,67,0,39,0,46,0,57,0 15,0,27,0,50,0,84,0,58,0,79,0 48,0,77,0,7,0,65,0,63,0,55,0 32,0,87,0,71,0,54,0,35,0,20,0 91,0,49,0,85,0,40,0,2,0,53,0 61,0,30,0,14,0,96,0,29,0,43,0 19,0,1,0,52,0,36,0,23,0,59,0 73,0,18,0,81,0,82,0,44,0,60,0 76,0,13,0,34,0,17,0,39,0,64,0 95,0,31,0,56,0,89,0,62,0,28,0 21,0,94,0,67,0,24,0,42,0,16,0 4,0,78,0,80,0,38,0,98,0,5,0 74,0,88,0,83,0,86,0,57,0,8,0 3,0,69,0,70,0,84,0,68,0,6,0 97,0,33,0,22,0,26,0,10,0,75,0 41,0,37,0,90,0,12,0,45,0,25,0 47,0,92,0,93,0,72,0,51,0,15,0 46,0,11,0,50,0,66,0,9,0,89,0 36,0,67,0,29,0,27,0,71,0,48,0 95,0,58,0,23,0,30,0,60,0,94,0 56,0,76,0,80,0,54,0,55,0,91,0 74,0,98,0,59,0,2,0,84,0,77,0 31,0,35,0,5,0,3,0,40,0,34,0 82,0,79,0,42,0,75,0,78,0,19,0 68,0,4,0,20,0,64,0,63,0,88,0 28,0,45,0,65,0,1,0,16,0,8,0 7,0,14,0,85,0,26,0,73,0,32,0 13,0,24,0,10,0,41,0,66,0,92,0 25,0,96,0,51,0,97,0,11,0,70,0 6,0,39,0,43,0,21,0,86,0,15,0 12,0,49,0,57,0,17,0,87,0,18,0 9,0,53,0,38,0,72,0,90,0,52,0 62,0,44,0,33,0,69,0,93,0,83,0 61,0,37,0,46,0,47,0,22,0,81,0 48,0,42,0,34,0,23,0,80,0,26,0 24,0,60,0,98,0,7,0,54,0,31,0 13,0,75,0,73,0,30,0,28,0,77,0 86,0,68,0,78,0,85,0,95,0,65,0 94,0,74,0,56,0,27,0,49,0,92,0 41,0,58,0,57,0,96,0,91,0,1,0 40,0,88,0,82,0,36,0,76,0,50,0 81,0,63,0,14,0,6,0,51,0,59,0 15,0,5,0,29,0,55,0,32,0,70,0 84,0,39,0,33,0,11,0,38,0,37,0 69,0,53,0,61,0,64,0,19,0,71,0 62,0,52,0,97,0,12,0,79,0,47,0 67,0,87,0,25,0,3,0,44,0,66,0 90,0,4,0,16,0,10,0,46,0,18,0 35,0,8,0,17,0,93,0,43,0,89,0 2,0,72,0,45,0,22,0,21,0,83,0 9,0,36,0,94,0,20,0,78,0,55,0 6,0,98,0,42,0,28,0,96,0,49,0 19,0,48,0,84,0,31,0,14,0,86,0 40,0,64,0,97,0,59,0,92,0,80,0 11,0,56,0,87,0,52,0,63,0,13,0 75,0,62,0,91,0,65,0,24,0,25,0 26,0,60,0,90,0,88,0,27,0,39,0 3,0,45,0,73,0,89,0,57,0,29,0 32,0,69,0,47,0,2,0,67,0,82,0 35,0,16,0,58,0,74,0,33,0,61,0 76,0,38,0,46,0,43,0,23,0,83,0 1,0,22,0,70,0,7,0,17,0,71,0 41,0,50,0,54,0,5,0,68,0,72,0 21,0,66,0,34,0,37,0,18,0,85,0 77,0,9,0,4,0,95,0,51,0,79,0 10,0,44,0,8,0,53,0,15,0,20,0 30,0,81,0,65,0,93,0,12,0,67,0 78,0,88,0,89,0,2,0,58,0,87,0 11,0,31,0,6,0,76,0,27,0,57,0 47,0,70,0,40,0,56,0,60,0,19,0 54,0,26,0,46,0,96,0,45,0,52,0 92,0,33,0,21,0,91,0,7,0,3,0 68,0,82,0,13,0,35,0,59,0,83,0 95,0,98,0,64,0,37,0,25,0,32,0 14,0,53,0,22,0,77,0,80,0,18,0 79,0,23,0,5,0,90,0,20,0,69,0 17,0,86,0,51,0,38,0,61,0,62,0 66,0,72,0,84,0,12,0,55,0,8,0 93,0,1,0,42,0,39,0,73,0,10,0 81,0,50,0,71,0,94,0,43,0,34,0 48,0,75,0,49,0,4,0,41,0,15,0 36,0,44,0,16,0,85,0,30,0,63,0 97,0,28,0,9,0,24,0,29,0,74,0 26,0,89,0,20,0,98,0,70,0,82,0 21,0,90,0,54,0,17,0,40,0,65,0 59,0,11,0,95,0,61,0,91,0,88,0 47,0,86,0,18,0,13,0,3,0,42,0 79,0,14,0,34,0,33,0,8,0,67,0 71,0,2,0,37,0,5,0,10,0,6,0 83,0,94,0,39,0,52,0,85,0,25,0 1,0,12,0,92,0,46,0,78,0,31,0 28,0,63,0,72,0,60,0,32,0,76,0 7,0,75,0,74,0,45,0,23,0,44,0 77,0,19,0,38,0,93,0,97,0,41,0 69,0,57,0,24,0,48,0,22,0,50,0 58,0,49,0,80,0,43,0,51,0,36,0 87,0,15,0,55,0,62,0,30,0,64,0 73,0,96,0,35,0,4,0,66,0,27,0 84,0,29,0,53,0,56,0,16,0,81,0 9,0,8,0,40,0,68,0,26,0,71,0 5,0,47,0,25,0,88,0,14,0,1,0 63,0,54,0,79,0,93,0,37,0,74,0 61,0,89,0,44,0,72,0,34,0,6,0 13,0,57,0,94,0,80,0,32,0,90,0 31,0,52,0,43,0,64,0,77,0,91,0 3,0,82,0,30,0,17,0,48,0,97,0 76,0,96,0,78,0,33,0,15,0,81,0 46,0,51,0,87,0,41,0,84,0,42,0 39,0,4,0,24,0,58,0,12,0,19,0 2,0,27,0,86,0,9,0,16,0,75,0 56,0,83,0,65,0,36,0,98,0,73,0 66,0,20,0,7,0,38,0,49,0,95,0 10,0,69,0,55,0,35,0,28,0,21,0 23,0,92,0,53,0,67,0,11,0,68,0 45,0,18,0,62,0,70,0,59,0,50,0 60,0,22,0,64,0,29,0,85,0,41,0 72,0,42,0,88,0,81,0,97,0,31,0 24,0,76,0,90,0,1,0,44,0,84,0 36,0,32,0,89,0,4,0,33,0,86,0 78,0,30,0,51,0,34,0,56,0,57,0 73,0,9,0,63,0,5,0,61,0,49,0 11,0,75,0,98,0,40,0,69,0,43,0 74,0,70,0,95,0,14,0,52,0,10,0 19,0,7,0,37,0,13,0,67,0,62,0 27,0,85,0,77,0,47,0,45,0,20,0 8,0,21,0,29,0,80,0,87,0,82,0 58,0,65,0,3,0,46,0,59,0,53,0 18,0,26,0,15,0,38,0,25,0,35,0 48,0,12,0,2,0,54,0,28,0,94,0 16,0,55,0,96,0,93,0,23,0,71,0 6,0,60,0,92,0,50,0,17,0,83,0 91,0,39,0,79,0,68,0,22,0,66,0 ================================================ FILE: schedules/99_1.csv ================================================ 69,0,27,0,72,0,25,0,36,0,12,0 19,0,74,0,28,0,42,0,81,0,64,0 77,0,85,0,65,0,13,0,41,0,80,0 76,0,53,0,94,0,86,0,56,0,29,0 66,0,11,0,33,0,96,0,75,0,93,0 89,0,70,0,97,0,26,0,50,0,67,0 60,0,7,0,90,0,63,0,5,0,48,0 39,0,68,0,44,0,24,0,71,0,1,0 23,0,34,0,79,0,52,0,16,0,73,0 87,0,49,0,83,0,45,0,78,0,82,0 54,0,91,0,4,0,14,0,51,0,6,0 57,0,15,0,21,0,2,0,20,0,37,0 17,0,38,0,35,0,84,0,58,0,18,0 95,0,32,0,47,0,10,0,62,0,40,0 9,0,92,0,43,0,55,0,59,0,3,0 98,0,30,0,31,0,61,0,99,0,88,0 46,0,8,0,65,1,22,0,93,1,85,1 ================================================ FILE: schedules/99_10.csv ================================================ 74,0,59,0,1,0,35,0,83,0,22,0 34,0,61,0,47,0,38,0,67,0,24,0 27,0,92,0,85,0,16,0,84,0,71,0 32,0,55,0,82,0,5,0,65,0,7,0 87,0,46,0,53,0,45,0,52,0,30,0 14,0,75,0,81,0,17,0,68,0,77,0 28,0,2,0,98,0,88,0,44,0,18,0 15,0,3,0,70,0,86,0,11,0,57,0 96,0,72,0,51,0,94,0,40,0,39,0 19,0,36,0,6,0,97,0,89,0,12,0 13,0,42,0,56,0,29,0,10,0,43,0 54,0,90,0,93,0,26,0,91,0,66,0 62,0,64,0,79,0,8,0,49,0,48,0 63,0,73,0,31,0,95,0,41,0,58,0 33,0,23,0,25,0,69,0,78,0,76,0 21,0,37,0,80,0,20,0,99,0,60,0 50,0,75,0,46,0,9,0,4,0,40,0 84,0,35,0,87,0,2,0,96,0,47,0 71,0,7,0,57,0,81,0,45,0,39,0 83,0,3,0,82,0,14,0,30,0,61,0 92,0,24,0,22,0,62,0,88,0,77,0 44,0,86,0,66,0,19,0,67,0,27,0 23,0,12,0,94,0,48,0,26,0,74,0 1,0,11,0,36,0,31,0,16,0,28,0 38,0,79,0,68,0,76,0,52,0,97,0 89,0,63,0,80,0,53,0,72,0,21,0 73,0,29,0,4,0,20,0,33,0,59,0 98,0,32,0,43,0,70,0,8,0,37,0 91,0,9,0,49,0,42,0,15,0,5,0 93,0,60,0,41,0,55,0,17,0,10,0 64,0,50,0,56,0,85,0,78,0,6,0 18,0,69,0,34,0,54,0,95,0,13,0 25,0,99,0,65,0,90,0,58,0,51,0 45,0,75,0,79,0,23,0,82,0,22,0 62,0,96,0,81,0,31,0,44,0,21,0 77,0,26,0,19,0,98,0,84,0,76,0 42,0,74,0,20,0,47,0,36,0,63,0 29,0,7,0,37,0,12,0,93,0,9,0 52,0,86,0,78,0,71,0,32,0,72,0 97,0,61,0,59,0,80,0,54,0,92,0 58,0,2,0,55,0,91,0,16,0,57,0 34,0,51,0,83,0,87,0,73,0,10,0 53,0,85,0,28,0,90,0,4,0,5,0 6,0,38,0,25,0,60,0,14,0,40,0 65,0,94,0,88,0,95,0,15,0,56,0 50,0,67,0,30,0,49,0,17,0,99,0 18,0,1,0,64,0,43,0,3,0,66,0 69,0,35,0,41,0,46,0,70,0,68,0 13,0,11,0,24,0,39,0,48,0,89,0 33,0,8,0,47,0,27,0,83,0,80,0 26,0,31,0,79,0,42,0,55,0,92,0 85,0,45,0,54,0,25,0,74,0,9,0 76,0,93,0,86,0,75,0,21,0,73,0 32,0,2,0,14,0,56,0,36,0,90,0 66,0,97,0,30,0,7,0,95,0,16,0 38,0,43,0,69,0,82,0,96,0,87,0 78,0,62,0,67,0,29,0,3,0,35,0 60,0,65,0,52,0,8,0,13,0,77,0 41,0,15,0,24,0,64,0,40,0,98,0 71,0,33,0,58,0,11,0,49,0,94,0 84,0,5,0,48,0,51,0,18,0,81,0 46,0,23,0,39,0,6,0,34,0,28,0 57,0,72,0,10,0,19,0,99,0,59,0 89,0,22,0,4,0,37,0,44,0,68,0 70,0,17,0,20,0,53,0,12,0,91,0 27,0,50,0,63,0,88,0,61,0,1,0 73,0,15,0,69,0,2,0,79,0,85,0 31,0,74,0,33,0,97,0,86,0,56,0 83,0,64,0,81,0,67,0,9,0,58,0 65,0,71,0,47,0,23,0,14,0,29,0 80,0,52,0,75,0,43,0,51,0,57,0 42,0,4,0,6,0,24,0,32,0,35,0 21,0,18,0,36,0,70,0,7,0,59,0 54,0,99,0,12,0,82,0,62,0,1,0 5,0,88,0,30,0,13,0,26,0,40,0 96,0,76,0,17,0,37,0,46,0,11,0 53,0,84,0,38,0,50,0,41,0,66,0 91,0,95,0,44,0,8,0,10,0,25,0 28,0,27,0,77,0,72,0,3,0,48,0 60,0,19,0,63,0,68,0,45,0,94,0 98,0,90,0,22,0,78,0,34,0,55,0 49,0,61,0,20,0,87,0,16,0,39,0 92,0,51,0,35,0,89,0,93,0,15,0 11,0,73,0,67,0,54,0,32,0,88,0 30,0,9,0,6,0,1,0,41,0,65,0 2,0,76,0,10,0,7,0,50,0,74,0 47,0,72,0,13,0,4,0,64,0,70,0 97,0,60,0,44,0,29,0,57,0,46,0 23,0,40,0,59,0,56,0,81,0,66,0 90,0,82,0,68,0,31,0,84,0,20,0 48,0,99,0,91,0,83,0,36,0,92,0 5,0,16,0,19,0,52,0,34,0,62,0 26,0,80,0,28,0,87,0,58,0,24,0 98,0,79,0,17,0,21,0,71,0,3,0 53,0,96,0,49,0,75,0,18,0,78,0 38,0,85,0,8,0,93,0,63,0,22,0 14,0,94,0,89,0,69,0,27,0,42,0 12,0,43,0,25,0,86,0,77,0,39,0 33,0,37,0,55,0,61,0,45,0,95,0 83,0,6,0,76,0,62,0,13,0,20,0 32,0,81,0,1,0,47,0,60,0,92,0 11,0,91,0,30,0,23,0,44,0,51,0 9,0,56,0,70,0,26,0,73,0,52,0 46,0,49,0,3,0,84,0,7,0,63,0 75,0,34,0,24,0,27,0,65,0,31,0 78,0,77,0,2,0,89,0,5,0,54,0 82,0,86,0,98,0,80,0,95,0,4,0 50,0,16,0,29,0,25,0,68,0,15,0 58,0,37,0,10,0,88,0,48,0,97,0 39,0,64,0,36,0,33,0,17,0,38,0 8,0,87,0,18,0,74,0,99,0,55,0 35,0,45,0,72,0,12,0,14,0,66,0 57,0,40,0,22,0,53,0,67,0,69,0 61,0,41,0,42,0,96,0,71,0,90,0 43,0,94,0,59,0,28,0,93,0,79,0 85,0,21,0,95,0,19,0,29,0,11,0 10,0,24,0,54,0,23,0,63,0,70,0 37,0,36,0,26,0,34,0,50,0,81,0 84,0,4,0,52,0,55,0,83,0,15,0 88,0,66,0,89,0,49,0,31,0,76,0 69,0,56,0,58,0,60,0,98,0,62,0 91,0,77,0,38,0,71,0,80,0,46,0 8,0,97,0,39,0,75,0,1,0,5,0 27,0,21,0,51,0,41,0,45,0,2,0 85,0,12,0,3,0,87,0,32,0,59,0 96,0,92,0,68,0,57,0,30,0,64,0 20,0,40,0,35,0,65,0,86,0,28,0 13,0,16,0,78,0,73,0,82,0,74,0 48,0,43,0,17,0,47,0,90,0,19,0 42,0,18,0,72,0,25,0,67,0,93,0 33,0,79,0,14,0,44,0,9,0,53,0 7,0,94,0,22,0,61,0,99,0,6,0 83,0,21,0,49,0,32,0,38,0,26,0 34,0,59,0,71,0,60,0,89,0,64,0 70,0,62,0,66,0,75,0,55,0,85,0 16,0,56,0,8,0,12,0,24,0,51,0 17,0,28,0,74,0,52,0,69,0,92,0 45,0,50,0,98,0,97,0,42,0,11,0 20,0,46,0,19,0,58,0,14,0,78,0 84,0,65,0,43,0,33,0,22,0,72,0 4,0,7,0,48,0,87,0,25,0,1,0 67,0,10,0,96,0,6,0,15,0,77,0 44,0,99,0,47,0,41,0,39,0,76,0 29,0,86,0,81,0,54,0,30,0,79,0 91,0,68,0,73,0,40,0,18,0,61,0 95,0,27,0,5,0,36,0,57,0,93,0 88,0,9,0,90,0,23,0,80,0,35,0 13,0,53,0,37,0,94,0,31,0,3,0 63,0,82,0,48,0,2,0,33,0,52,0 72,0,92,0,11,0,20,0,8,0,7,0 28,0,25,0,55,0,56,0,19,0,96,0 12,0,15,0,58,0,30,0,34,0,76,0 54,0,22,0,64,0,42,0,46,0,21,0 95,0,67,0,36,0,60,0,79,0,51,0 47,0,89,0,16,0,18,0,9,0,86,0 1,0,78,0,40,0,10,0,84,0,45,0 39,0,74,0,62,0,32,0,27,0,53,0 71,0,83,0,66,0,68,0,2,0,24,0 5,0,31,0,99,0,98,0,38,0,35,0 80,0,3,0,44,0,73,0,65,0,50,0 61,0,57,0,13,0,85,0,17,0,23,0 69,0,77,0,90,0,59,0,37,0,49,0 29,0,41,0,87,0,91,0,75,0,94,0 82,0,93,0,70,0,6,0,81,0,88,0 14,0,26,0,97,0,43,0,63,0,4,0 ================================================ FILE: schedules/99_11.csv ================================================ 83,0,87,0,24,0,71,0,8,0,64,0 50,0,68,0,54,0,37,0,38,0,48,0 69,0,28,0,42,0,89,0,17,0,9,0 82,0,55,0,56,0,7,0,21,0,92,0 62,0,11,0,66,0,76,0,32,0,60,0 26,0,75,0,63,0,34,0,31,0,61,0 78,0,53,0,36,0,13,0,18,0,10,0 59,0,91,0,88,0,47,0,44,0,52,0 85,0,80,0,20,0,43,0,15,0,6,0 25,0,81,0,14,0,86,0,45,0,46,0 1,0,12,0,67,0,51,0,49,0,33,0 16,0,77,0,29,0,65,0,41,0,27,0 58,0,5,0,19,0,99,0,97,0,95,0 35,0,2,0,93,0,39,0,57,0,40,0 96,0,94,0,72,0,70,0,74,0,73,0 4,0,22,0,23,0,90,0,98,0,3,0 79,0,84,0,64,0,30,0,28,0,32,0 45,0,26,0,8,0,6,0,36,0,88,0 14,0,67,0,52,0,83,0,53,0,34,0 76,0,20,0,86,0,21,0,75,0,54,0 47,0,38,0,95,0,25,0,92,0,41,0 19,0,12,0,77,0,31,0,55,0,50,0 58,0,73,0,57,0,16,0,43,0,69,0 3,0,13,0,80,0,7,0,5,0,40,0 30,0,63,0,10,0,72,0,22,0,60,0 9,0,37,0,46,0,87,0,59,0,74,0 49,0,62,0,99,0,56,0,29,0,44,0 42,0,33,0,93,0,4,0,71,0,84,0 85,0,17,0,65,0,68,0,1,0,90,0 97,0,79,0,15,0,82,0,94,0,91,0 18,0,24,0,61,0,11,0,39,0,96,0 2,0,70,0,81,0,66,0,98,0,78,0 48,0,35,0,27,0,89,0,51,0,23,0 36,1,46,0,30,0,76,1,80,0,69,0 21,1,45,0,95,0,49,0,16,0,53,0 41,0,50,0,75,0,57,0,87,0,99,0 59,0,83,0,12,0,40,0,62,0,72,0 94,0,52,0,9,0,19,0,33,0,90,0 47,0,55,0,68,0,67,0,11,0,74,0 14,0,98,0,7,0,65,0,18,0,79,0 88,0,66,0,43,0,82,0,29,0,84,0 85,0,81,0,5,0,92,0,91,0,24,0 54,0,10,0,96,0,97,0,23,0,34,0 56,0,60,0,48,0,26,0,64,0,93,0 77,0,70,0,4,0,35,0,61,0,58,0 32,0,22,0,6,0,39,0,13,0,51,0 78,0,8,0,89,0,1,0,63,0,3,0 17,0,37,0,20,0,25,0,71,0,2,0 38,0,27,0,44,0,15,0,42,0,31,0 28,0,86,0,24,0,73,0,99,0,47,0 97,0,46,0,83,0,16,0,84,0,65,0 74,0,36,0,34,0,48,0,79,0,29,0 68,0,9,0,81,0,56,0,4,0,41,0 80,0,72,0,53,0,26,0,90,0,66,0 11,0,50,0,52,0,30,0,93,0,58,0 75,0,62,0,23,0,82,0,45,0,67,0 60,0,51,0,20,0,7,0,77,0,87,0 28,0,61,0,3,0,27,0,59,0,6,0 44,0,63,0,32,0,17,0,35,0,95,0 18,0,57,0,43,0,8,0,94,0,22,0 91,0,78,0,86,0,38,0,19,0,96,0 15,0,2,0,10,0,5,0,89,0,21,0 54,0,25,0,49,0,55,0,64,0,42,0 92,0,71,0,39,0,1,0,69,0,70,0 98,0,12,0,37,0,73,0,85,0,13,0 33,0,40,0,31,0,14,0,76,0,88,0 20,0,81,0,79,0,95,0,27,0,52,0 7,0,99,0,41,0,22,0,45,0,11,0 66,0,6,0,23,0,9,0,65,0,91,0 15,0,96,0,68,0,32,0,36,0,75,0 43,0,19,0,93,0,49,0,17,0,59,0 5,0,26,0,83,0,70,0,55,0,86,0 34,0,56,0,84,0,39,0,25,0,85,0 4,0,24,0,21,0,46,0,44,0,12,0 48,0,77,0,13,0,76,0,72,0,92,0 94,0,98,0,89,0,54,0,88,0,71,0 74,0,28,0,33,0,53,0,8,0,2,0 78,0,97,0,47,0,30,0,57,0,62,0 69,0,64,0,63,0,14,0,38,0,51,0 1,0,82,0,80,0,37,0,35,0,60,0 90,0,40,0,73,0,61,0,50,0,10,0 29,0,58,0,42,0,3,0,67,0,18,0 31,0,68,0,13,0,16,0,87,0,66,0 25,0,83,0,9,0,75,0,77,0,22,0 91,0,49,0,32,0,7,0,46,0,27,0 39,0,99,0,53,0,76,0,4,0,43,0 92,0,59,0,36,0,11,0,86,0,84,0 24,0,45,0,37,0,72,0,15,0,78,0 21,0,98,0,61,0,69,0,97,0,52,0 29,0,95,0,70,0,93,0,85,0,23,0 18,0,51,0,82,0,2,0,31,0,54,0 55,0,1,0,10,0,94,0,62,0,64,0 48,0,90,0,88,0,57,0,20,0,42,0 33,0,16,0,50,0,60,0,3,0,44,0 71,0,35,0,56,0,74,0,5,0,14,0 96,0,28,0,80,0,12,0,63,0,81,0 34,0,65,0,8,0,40,0,47,0,58,0 41,0,19,0,79,0,26,0,89,0,73,0 30,0,6,0,38,0,17,0,67,0,87,0 13,0,61,0,43,0,9,0,24,0,2,0 7,0,68,0,59,0,23,0,25,0,78,0 4,0,1,0,36,0,31,0,20,0,97,0 71,0,55,0,72,0,57,0,85,0,51,0 64,0,86,0,16,0,35,0,90,0,15,0 94,0,49,0,21,0,80,0,50,0,34,0 48,0,53,0,84,0,96,0,98,0,41,0 46,0,67,0,92,0,88,0,19,0,63,0 99,0,17,0,60,0,14,0,12,0,27,0 5,0,38,0,8,0,29,0,52,0,32,0 33,0,58,0,87,0,26,0,82,0,39,0 65,0,70,0,11,0,75,0,28,0,10,0 30,0,45,0,76,0,18,0,74,0,89,0 73,0,6,0,93,0,81,0,83,0,54,0 44,0,40,0,69,0,79,0,66,0,22,0 37,0,95,0,3,0,91,0,77,0,62,0 42,0,23,0,53,0,56,0,47,0,12,0 49,0,85,0,2,0,88,0,86,0,97,0 59,0,58,0,15,0,63,0,48,0,71,0 99,0,31,0,9,0,8,0,21,0,96,0 4,0,87,0,32,0,78,0,14,0,94,0 7,0,24,0,26,0,52,0,10,0,84,0 75,0,55,0,79,0,13,0,38,0,35,0 69,0,3,0,82,0,19,0,72,0,81,0 98,0,60,0,40,0,29,0,68,0,91,0 16,0,74,0,42,0,62,0,6,0,92,0 27,0,76,0,34,0,37,0,90,0,93,0 11,0,54,0,17,0,77,0,46,0,57,0 45,0,64,0,65,0,39,0,73,0,5,0 43,0,44,0,30,0,51,0,83,0,41,0 89,0,67,0,56,0,95,0,61,0,80,0 18,0,1,0,25,0,66,0,28,0,50,0 22,0,47,0,70,0,20,0,36,0,33,0 16,0,40,0,55,0,32,0,48,0,23,0 9,0,76,0,10,0,71,0,49,0,38,0 58,0,27,0,86,0,68,0,94,0,53,0 90,0,21,0,63,0,77,0,79,0,24,0 17,0,81,0,29,0,13,0,15,0,26,0 97,0,3,0,51,0,56,0,73,0,11,0 42,0,60,0,61,0,83,0,45,0,19,0 65,0,57,0,44,0,96,0,67,0,37,0 91,0,39,0,12,0,20,0,8,0,30,0 95,0,72,0,34,0,64,0,18,0,4,0 14,0,1,0,84,0,75,0,47,0,2,0 25,0,87,0,98,0,62,0,43,0,5,0 31,0,22,0,92,0,28,0,35,0,52,0 74,0,88,0,78,0,93,0,41,0,80,0 89,0,6,0,46,0,82,0,50,0,70,0 33,0,69,0,59,0,54,0,99,0,85,0 66,0,7,0,17,0,36,0,94,0,83,0 26,0,30,0,71,0,96,0,95,0,40,0 10,0,8,0,4,0,67,0,48,0,86,0 79,0,51,0,5,0,16,0,47,0,61,0 23,0,49,0,14,0,92,0,37,0,58,0 65,0,52,0,78,0,12,0,74,0,43,0 73,0,21,0,62,0,68,0,88,0,18,0 15,0,19,0,22,0,56,0,76,0,1,0 93,0,46,0,3,0,99,0,66,0,55,0 75,0,90,0,7,0,39,0,81,0,97,0 57,0,82,0,28,0,98,0,38,0,36,0 84,0,27,0,70,0,63,0,9,0,54,0 87,0,2,0,11,0,42,0,80,0,91,0 50,0,45,0,20,0,13,0,34,0,59,0 89,0,53,0,85,0,44,0,77,0,64,0 35,0,72,0,29,0,6,0,33,0,25,0 31,0,60,0,41,0,24,0,69,0,32,0 61,0,49,0,22,0,48,0,78,0,17,0 83,0,96,0,88,0,58,0,79,0,1,0 16,0,52,0,18,0,37,0,63,0,70,0 57,0,15,0,76,0,12,0,84,0,3,0 40,0,38,0,11,0,81,0,21,0,43,0 54,0,56,0,90,0,45,0,87,0,28,0 71,0,6,0,7,0,44,0,34,0,86,0 20,0,35,0,62,0,53,0,24,0,19,0 36,0,95,0,2,0,55,0,60,0,65,0 75,0,5,0,66,0,27,0,30,0,33,0 32,0,26,0,67,0,9,0,85,0,50,0 39,0,94,0,47,0,29,0,31,0,46,0 72,0,97,0,89,0,93,0,68,0,14,0 91,0,69,0,13,0,4,0,74,0,25,0 77,0,42,0,73,0,59,0,8,0,82,0 51,0,92,0,80,0,10,0,98,0,99,0 64,0,41,0,36,0,23,0,76,0,21,0 ================================================ FILE: schedules/99_12.csv ================================================ 88,0,9,0,16,0,90,0,86,0,30,0 71,0,7,0,27,0,55,0,37,0,33,0 96,0,3,0,15,0,17,0,72,0,48,0 8,0,4,0,77,0,56,0,22,0,31,0 29,0,81,0,91,0,25,0,53,0,52,0 47,0,93,0,94,0,18,0,10,0,79,0 49,0,28,0,46,0,92,0,95,0,45,0 20,0,63,0,42,0,58,0,75,0,11,0 54,0,69,0,6,0,41,0,34,0,65,0 24,0,60,0,21,0,57,0,99,0,44,0 23,0,40,0,19,0,76,0,68,0,97,0 74,0,5,0,35,0,36,0,83,0,73,0 78,0,26,0,87,0,59,0,39,0,80,0 84,0,38,0,70,0,43,0,1,0,13,0 14,0,64,0,62,0,50,0,51,0,12,0 66,0,2,0,89,0,32,0,67,0,98,0 61,0,85,0,75,0,82,0,31,0,79,0 45,0,86,0,53,0,77,0,48,0,94,0 9,0,4,0,27,0,10,0,65,0,17,0 15,0,91,0,93,0,42,0,30,0,35,0 23,0,73,0,56,0,44,0,25,0,46,0 16,0,28,0,20,0,7,0,72,0,84,0 33,0,96,0,68,0,26,0,12,0,43,0 51,0,97,0,13,0,87,0,66,0,32,0 8,0,29,0,58,0,85,0,38,0,50,0 60,0,1,0,88,0,63,0,24,0,82,0 47,0,37,0,83,0,19,0,41,0,57,0 49,0,70,0,52,0,59,0,34,0,2,0 36,0,69,0,40,0,21,0,98,0,62,0 90,0,76,0,11,0,78,0,55,0,89,0 5,0,54,0,14,0,39,0,67,0,3,0 74,0,99,0,61,0,71,0,18,0,92,0 6,0,95,0,22,0,81,0,80,0,64,0 82,0,38,0,10,0,15,0,77,0,44,0 68,0,72,0,58,0,45,0,32,0,83,0 27,0,12,0,66,0,49,0,47,0,29,0 48,0,53,0,42,0,8,0,35,0,59,0 30,0,26,0,75,0,36,0,70,0,94,0 73,0,28,0,41,0,91,0,31,0,13,0 74,0,46,0,23,0,52,0,51,0,4,0 71,0,22,0,84,0,86,0,88,0,25,0 50,0,67,0,87,0,37,0,95,0,21,0 9,0,99,0,69,0,3,0,19,0,2,0 79,0,92,0,64,0,11,0,60,0,7,0 57,0,6,0,80,0,43,0,90,0,85,0 20,0,33,0,1,0,78,0,14,0,40,0 76,0,98,0,61,0,24,0,54,0,56,0 89,0,63,0,39,0,34,0,96,0,97,0 18,0,55,0,5,0,17,0,81,0,16,0 93,0,65,0,44,0,62,0,68,0,95,0 38,0,12,0,94,0,22,0,32,0,35,0 73,0,8,0,19,0,15,0,71,0,66,0 23,0,6,0,59,0,92,0,88,0,3,0 79,0,99,0,87,0,46,0,30,0,20,0 90,0,48,0,37,0,82,0,70,0,91,0 34,0,47,0,80,0,74,0,21,0,58,0 86,0,72,0,10,0,40,0,57,0,49,0 96,0,62,0,60,0,4,0,45,0,5,0 11,0,43,0,67,0,36,0,9,0,61,0 77,0,16,0,76,0,69,0,33,0,29,0 85,0,2,0,81,0,27,0,54,0,13,0 98,0,65,0,39,0,42,0,50,0,84,0 1,0,51,0,18,0,89,0,31,0,26,0 28,0,97,0,78,0,24,0,52,0,64,0 41,0,63,0,7,0,17,0,56,0,53,0 83,0,55,0,25,0,75,0,14,0,93,0 61,0,15,0,47,0,88,0,4,0,95,0 46,0,62,0,58,0,16,0,66,0,91,0 13,0,80,0,67,0,99,0,68,0,82,0 86,0,70,0,9,0,6,0,98,0,44,0 72,0,65,0,45,0,18,0,35,0,76,0 24,0,32,0,26,0,52,0,20,0,27,0 85,0,51,0,94,0,37,0,11,0,40,0 2,0,31,0,60,0,93,0,33,0,39,0 64,0,38,0,87,0,53,0,90,0,41,0 69,0,10,0,25,0,78,0,43,0,8,0 56,0,1,0,96,0,36,0,49,0,50,0 48,0,34,0,30,0,12,0,71,0,5,0 63,0,19,0,84,0,79,0,59,0,55,0 83,0,17,0,22,0,89,0,92,0,54,0 97,0,81,0,77,0,57,0,74,0,75,0 28,0,21,0,14,0,29,0,42,0,23,0 7,0,47,0,87,0,3,0,73,0,45,0 25,0,33,0,80,0,98,0,38,0,11,0 51,0,24,0,72,0,93,0,67,0,70,0 39,0,86,0,76,0,20,0,64,0,37,0 82,0,5,0,16,0,2,0,95,0,8,0 30,0,58,0,78,0,84,0,60,0,17,0 15,0,62,0,32,0,49,0,99,0,6,0 83,0,65,0,59,0,81,0,40,0,28,0 55,0,77,0,73,0,61,0,52,0,1,0 35,0,31,0,90,0,10,0,19,0,34,0 91,0,97,0,94,0,50,0,4,0,54,0 74,0,42,0,44,0,7,0,13,0,96,0 27,0,18,0,43,0,14,0,23,0,48,0 71,0,41,0,75,0,66,0,3,0,22,0 68,0,36,0,29,0,89,0,88,0,79,0 21,0,92,0,12,0,56,0,63,0,85,0 46,0,69,0,57,0,9,0,26,0,53,0 35,0,86,0,51,0,17,0,47,0,33,0 1,0,93,0,5,0,28,0,58,0,99,0 61,0,62,0,90,0,13,0,83,0,39,0 2,0,40,0,45,0,74,0,30,0,64,0 42,0,94,0,66,0,95,0,24,0,34,0 14,0,98,0,79,0,81,0,48,0,49,0 84,0,91,0,3,0,77,0,27,0,80,0 46,0,29,0,11,0,19,0,22,0,72,0 52,0,12,0,8,0,75,0,88,0,65,0 26,0,16,0,56,0,67,0,97,0,10,0 38,0,59,0,71,0,21,0,96,0,9,0 18,0,73,0,63,0,4,0,6,0,70,0 89,0,36,0,57,0,23,0,20,0,87,0 50,0,32,0,55,0,31,0,69,0,44,0 41,0,76,0,25,0,85,0,68,0,60,0 54,0,53,0,78,0,92,0,15,0,37,0 43,0,82,0,29,0,7,0,94,0,35,0 79,0,5,0,65,0,80,0,56,0,51,0 95,0,52,0,71,0,83,0,10,0,98,0 49,0,90,0,33,0,73,0,84,0,97,0 72,0,77,0,64,0,99,0,63,0,47,0 69,0,61,0,81,0,12,0,58,0,89,0 19,0,39,0,36,0,38,0,18,0,45,0 34,0,75,0,32,0,23,0,96,0,78,0 41,0,31,0,70,0,21,0,27,0,25,0 8,0,9,0,24,0,91,0,40,0,55,0 48,0,57,0,54,0,13,0,88,0,93,0 4,0,86,0,11,0,26,0,28,0,3,0 44,0,17,0,37,0,42,0,2,0,46,0 14,0,1,0,87,0,15,0,16,0,68,0 92,0,66,0,82,0,76,0,30,0,50,0 43,0,6,0,60,0,20,0,53,0,74,0 7,0,59,0,85,0,22,0,62,0,67,0 33,0,91,0,10,0,32,0,36,0,63,0 19,0,78,0,94,0,73,0,61,0,65,0 3,0,58,0,95,0,29,0,90,0,97,0 88,0,98,0,35,0,46,0,64,0,96,0 38,0,75,0,16,0,99,0,48,0,51,0 80,0,2,0,84,0,12,0,15,0,24,0 55,0,26,0,41,0,42,0,92,0,5,0 37,0,13,0,79,0,77,0,9,0,25,0 47,0,50,0,72,0,23,0,71,0,60,0 76,0,22,0,4,0,14,0,57,0,34,0 53,0,27,0,83,0,44,0,67,0,1,0 89,0,56,0,82,0,28,0,62,0,6,0 68,0,30,0,21,0,49,0,18,0,54,0 52,0,7,0,17,0,40,0,39,0,66,0 93,0,87,0,85,0,69,0,74,0,86,0 70,0,81,0,45,0,20,0,8,0,11,0 31,0,43,0,24,0,59,0,37,0,5,0 65,0,13,0,22,0,26,0,23,0,63,0 67,0,33,0,15,0,25,0,94,0,57,0 78,0,71,0,4,0,35,0,2,0,79,0 46,0,68,0,50,0,61,0,6,0,27,0 53,0,51,0,55,0,82,0,58,0,49,0 10,0,80,0,88,0,76,0,62,0,75,0 95,0,40,0,38,0,60,0,89,0,73,0 17,0,34,0,99,0,28,0,8,0,85,0 96,0,52,0,31,0,47,0,30,0,11,0 97,0,44,0,59,0,45,0,41,0,14,0 19,0,1,0,21,0,86,0,7,0,81,0 98,0,43,0,92,0,72,0,87,0,91,0 70,0,12,0,3,0,42,0,36,0,16,0 84,0,83,0,18,0,64,0,69,0,66,0 20,0,32,0,77,0,54,0,90,0,93,0 29,0,56,0,74,0,39,0,48,0,9,0 22,0,30,0,28,0,10,0,51,0,61,0 31,0,49,0,67,0,76,0,17,0,38,0 24,0,23,0,79,0,86,0,41,0,62,0 73,0,92,0,27,0,96,0,58,0,57,0 2,0,97,0,21,0,53,0,11,0,65,0 4,0,82,0,64,0,33,0,19,0,42,0 59,0,98,0,18,0,60,0,77,0,12,0 83,0,88,0,91,0,56,0,99,0,78,0 66,0,90,0,26,0,74,0,25,0,72,0 50,0,34,0,3,0,43,0,93,0,81,0 8,0,80,0,46,0,39,0,1,0,94,0 7,0,89,0,15,0,75,0,9,0,5,0 95,0,36,0,84,0,14,0,85,0,32,0 48,0,20,0,68,0,69,0,55,0,47,0 52,0,16,0,13,0,45,0,6,0,71,0 54,0,44,0,29,0,63,0,40,0,87,0 35,0,23,0,99,0,70,0,37,0,66,0 2,0,67,0,58,0,86,0,96,0,18,0 21,0,51,0,39,0,73,0,88,0,43,0 12,0,78,0,82,0,93,0,41,0,46,0 65,0,30,0,24,0,77,0,7,0,14,0 25,0,32,0,48,0,1,0,92,0,4,0 76,0,36,0,6,0,8,0,97,0,47,0 53,0,19,0,89,0,16,0,85,0,80,0 9,0,31,0,63,0,52,0,94,0,83,0 75,0,59,0,95,0,74,0,33,0,54,0 69,0,56,0,42,0,72,0,38,0,27,0 10,0,13,0,3,0,64,0,55,0,60,0 44,0,49,0,20,0,61,0,91,0,5,0 90,0,40,0,79,0,15,0,22,0,50,0 34,0,37,0,45,0,98,0,26,0,29,0 17,0,28,0,57,0,68,0,71,0,70,0 11,0,81,0,35,0,87,0,62,0,84,0 ================================================ FILE: schedules/99_13.csv ================================================ 41,0,54,0,53,0,81,0,64,0,19,0 82,0,38,0,4,0,51,0,1,0,28,0 24,0,20,0,31,0,79,0,23,0,65,0 98,0,85,0,48,0,35,0,89,0,68,0 12,0,2,0,46,0,5,0,77,0,17,0 97,0,14,0,26,0,3,0,32,0,84,0 50,0,6,0,18,0,86,0,22,0,21,0 76,0,58,0,88,0,71,0,47,0,33,0 67,0,87,0,83,0,90,0,15,0,30,0 92,0,72,0,55,0,16,0,59,0,40,0 91,0,94,0,62,0,29,0,73,0,37,0 7,0,74,0,52,0,45,0,66,0,95,0 25,0,9,0,13,0,70,0,99,0,39,0 11,0,80,0,8,0,69,0,56,0,42,0 36,0,60,0,75,0,57,0,78,0,43,0 93,0,96,0,10,0,61,0,49,0,34,0 63,0,27,0,46,0,44,0,38,0,31,0 71,0,83,0,35,0,18,0,2,0,3,0 30,0,64,0,26,0,24,0,85,0,12,0 68,0,54,0,79,0,95,0,91,0,86,0 21,0,15,0,77,0,66,0,41,0,82,0 14,0,99,0,40,0,23,0,89,0,6,0 29,0,32,0,50,0,36,0,42,0,28,0 61,0,80,0,96,0,59,0,90,0,65,0 13,0,34,0,58,0,67,0,19,0,62,0 74,0,22,0,16,0,78,0,8,0,87,0 33,0,93,0,72,0,20,0,43,0,51,0 4,0,49,0,63,0,81,0,17,0,47,0 27,0,97,0,55,0,69,0,9,0,37,0 11,0,5,0,76,0,73,0,53,0,39,0 57,0,45,0,88,0,98,0,25,0,94,0 60,0,44,0,10,0,84,0,70,0,52,0 92,0,56,0,48,0,7,0,75,0,1,0 15,1,86,0,80,0,99,1,12,0,13,0 32,1,74,0,61,0,82,0,40,0,83,0 65,0,18,0,16,0,41,0,23,0,49,0 69,0,71,0,50,0,90,0,4,0,24,0 37,0,85,0,76,0,8,0,51,0,31,0 59,0,91,0,14,0,2,0,17,0,38,0 95,0,46,0,26,0,88,0,97,0,67,0 45,0,44,0,3,0,42,0,68,0,58,0 9,0,89,0,53,0,79,0,75,0,66,0 48,0,52,0,36,0,72,0,25,0,81,0 35,0,94,0,93,0,70,0,56,0,5,0 47,0,57,0,64,0,22,0,11,0,10,0 92,0,27,0,29,0,39,0,96,0,34,0 1,0,60,0,87,0,6,0,19,0,55,0 30,0,78,0,21,0,63,0,98,0,20,0 33,0,77,0,62,0,54,0,28,0,84,0 7,0,73,0,99,0,43,0,97,0,90,0 53,0,16,0,15,0,51,0,88,0,36,0 80,0,32,0,23,0,25,0,71,0,5,0 94,0,41,0,58,0,83,0,85,0,38,0 11,0,2,0,34,0,31,0,26,0,79,0 42,0,92,0,12,0,35,0,14,0,55,0 75,0,18,0,69,0,74,0,46,0,60,0 87,0,24,0,63,0,45,0,33,0,54,0 43,0,21,0,10,0,40,0,95,0,62,0 13,0,3,0,82,0,78,0,50,0,59,0 81,0,56,0,65,0,98,0,86,0,73,0 1,0,64,0,76,0,27,0,52,0,68,0 28,0,66,0,47,0,61,0,48,0,57,0 39,0,6,0,29,0,17,0,30,0,93,0 19,0,89,0,20,0,37,0,44,0,49,0 84,0,22,0,9,0,4,0,7,0,91,0 8,0,70,0,96,0,67,0,77,0,72,0 80,0,78,0,54,0,11,0,40,0,58,0 85,0,56,0,82,0,65,0,99,0,36,0 64,0,25,0,74,0,62,0,2,0,42,0 27,0,47,0,41,0,60,0,92,0,53,0 88,0,93,0,73,0,28,0,87,0,14,0 39,0,24,0,89,0,46,0,94,0,21,0 69,0,17,0,3,0,16,0,48,0,9,0 18,0,95,0,7,0,76,0,96,0,50,0 77,0,68,0,20,0,26,0,71,0,81,0 90,0,63,0,55,0,51,0,22,0,5,0 12,0,45,0,6,0,31,0,4,0,70,0 10,0,86,0,38,0,67,0,37,0,32,0 23,0,84,0,35,0,1,0,29,0,72,0 61,0,91,0,19,0,43,0,75,0,98,0 15,0,8,0,13,0,33,0,49,0,52,0 34,0,97,0,66,0,44,0,83,0,59,0 30,0,79,0,42,0,57,0,96,0,54,0 58,0,74,0,36,0,63,0,7,0,77,0 87,0,95,0,89,0,17,0,65,0,71,0 32,0,46,0,56,0,48,0,53,0,37,0 72,0,78,0,62,0,26,0,99,0,38,0 29,0,43,0,91,0,47,0,31,0,12,0 28,0,64,0,67,0,9,0,92,0,94,0 60,0,49,0,97,0,22,0,24,0,80,0 13,0,41,0,75,0,88,0,35,0,30,0 25,0,85,0,33,0,1,0,61,0,44,0 21,0,51,0,19,0,3,0,57,0,68,0 76,0,90,0,2,0,86,0,23,0,45,0 16,0,10,0,73,0,20,0,66,0,6,0 70,0,59,0,18,0,4,0,27,0,98,0 39,0,40,0,79,0,81,0,69,0,14,0 52,0,55,0,83,0,50,0,11,0,93,0 82,0,15,0,34,0,8,0,5,0,84,0 46,0,7,0,41,0,61,0,42,0,71,0 92,0,51,0,74,0,54,0,30,0,49,0 97,0,38,0,95,0,29,0,77,0,57,0 10,0,2,0,53,0,68,0,80,0,99,0 28,0,17,0,86,0,24,0,25,0,43,0 1,0,88,0,32,0,91,0,66,0,21,0 78,0,12,0,40,0,39,0,52,0,65,0 22,0,69,0,23,0,85,0,93,0,70,0 20,0,60,0,9,0,35,0,76,0,56,0 33,0,37,0,81,0,82,0,67,0,18,0 79,0,45,0,55,0,8,0,62,0,83,0 90,0,11,0,13,0,72,0,94,0,14,0 63,0,48,0,15,0,96,0,19,0,26,0 31,0,5,0,75,0,59,0,87,0,58,0 89,0,36,0,3,0,73,0,64,0,4,0 98,0,50,0,47,0,16,0,44,0,34,0 6,0,51,0,24,0,27,0,84,0,42,0 92,0,32,0,95,0,33,0,78,0,70,0 12,0,8,0,21,0,83,0,28,0,53,0 43,0,1,0,37,0,2,0,39,0,54,0 67,0,99,0,60,0,29,0,63,0,88,0 62,0,30,0,18,0,97,0,56,0,52,0 69,0,57,0,59,0,15,0,89,0,26,0 96,0,68,0,73,0,47,0,23,0,13,0 58,0,25,0,14,0,46,0,22,0,35,0 85,0,50,0,75,0,77,0,93,0,40,0 27,0,61,0,82,0,11,0,16,0,45,0 66,0,84,0,86,0,98,0,71,0,55,0 34,0,36,0,20,0,90,0,41,0,91,0 76,0,44,0,4,0,10,0,48,0,87,0 38,0,49,0,79,0,6,0,64,0,7,0 94,0,19,0,31,0,74,0,80,0,17,0 65,0,72,0,5,0,3,0,9,0,81,0 60,0,93,0,28,0,2,0,95,0,15,0 73,0,52,0,85,0,92,0,88,0,21,0 66,0,68,0,40,0,56,0,22,0,33,0 43,0,45,0,77,0,30,0,34,0,69,0 84,0,58,0,90,0,89,0,12,0,16,0 75,0,6,0,54,0,76,0,13,0,26,0 42,0,94,0,20,0,53,0,97,0,4,0 83,0,72,0,7,0,24,0,98,0,37,0 36,0,35,0,19,0,11,0,65,0,38,0 87,0,70,0,41,0,1,0,62,0,80,0 61,0,8,0,63,0,39,0,18,0,86,0 29,0,71,0,14,0,49,0,48,0,78,0 47,0,3,0,67,0,25,0,79,0,27,0 44,0,5,0,91,0,96,0,64,0,99,0 23,0,51,0,9,0,10,0,46,0,50,0 31,0,17,0,57,0,32,0,82,0,55,0 59,0,81,0,11,0,74,0,88,0,12,0 22,0,54,0,20,0,69,0,38,0,52,0 39,0,42,0,26,0,66,0,90,0,60,0 40,0,86,0,87,0,94,0,48,0,34,0 65,0,21,0,4,0,75,0,58,0,2,0 6,0,28,0,78,0,37,0,96,0,35,0 50,0,5,0,49,0,25,0,41,0,45,0 31,0,77,0,83,0,1,0,89,0,13,0 97,0,71,0,82,0,63,0,72,0,10,0 17,0,68,0,92,0,36,0,84,0,18,0 55,0,91,0,3,0,74,0,33,0,53,0 24,0,99,0,16,0,57,0,19,0,76,0 15,0,43,0,67,0,23,0,56,0,44,0 85,0,80,0,79,0,29,0,98,0,46,0 73,0,51,0,70,0,64,0,61,0,59,0 62,0,27,0,81,0,32,0,7,0,93,0 14,0,8,0,9,0,47,0,30,0,95,0 94,0,26,0,12,0,10,0,18,0,1,0 71,0,28,0,45,0,75,0,39,0,22,0 77,0,37,0,11,0,87,0,99,0,92,0 78,0,63,0,25,0,84,0,83,0,56,0 98,0,96,0,2,0,3,0,41,0,24,0 54,0,23,0,29,0,55,0,21,0,61,0 49,0,31,0,73,0,35,0,67,0,69,0 9,0,47,0,68,0,59,0,62,0,32,0 65,0,46,0,57,0,72,0,27,0,13,0 50,0,17,0,15,0,20,0,58,0,64,0 90,0,53,0,82,0,44,0,40,0,30,0 19,0,4,0,66,0,85,0,8,0,95,0 52,0,81,0,51,0,34,0,91,0,80,0 89,0,70,0,42,0,88,0,38,0,43,0 14,0,33,0,86,0,7,0,60,0,16,0 79,0,48,0,76,0,93,0,97,0,74,0 36,0,5,0,61,0,6,0,62,0,69,0 72,0,32,0,39,0,22,0,73,0,58,0 44,0,55,0,78,0,18,0,77,0,24,0 82,0,49,0,12,0,87,0,68,0,46,0 29,0,26,0,56,0,51,0,13,0,45,0 30,0,2,0,84,0,50,0,94,0,81,0 7,0,10,0,33,0,31,0,89,0,41,0 4,0,52,0,35,0,43,0,79,0,16,0 20,0,83,0,99,0,95,0,27,0,75,0 23,0,88,0,34,0,57,0,9,0,63,0 80,0,37,0,21,0,64,0,36,0,14,0 1,0,98,0,17,0,96,0,11,0,74,0 38,0,66,0,3,0,92,0,90,0,93,0 91,0,42,0,40,0,15,0,76,0,28,0 47,0,70,0,97,0,5,0,86,0,19,0 54,0,48,0,25,0,60,0,8,0,65,0 71,0,59,0,67,0,53,0,6,0,85,0 69,0,44,0,72,0,32,0,12,0,41,0 37,0,22,0,95,0,61,0,16,0,13,0 87,0,74,0,35,0,26,0,21,0,27,0 90,0,98,0,31,0,9,0,77,0,52,0 17,0,42,0,75,0,33,0,34,0,73,0 18,0,93,0,45,0,47,0,89,0,99,0 62,0,4,0,51,0,14,0,60,0,96,0 11,0,3,0,25,0,29,0,15,0,20,0 30,0,76,0,39,0,55,0,38,0,80,0 65,0,50,0,66,0,63,0,70,0,67,0 54,0,5,0,88,0,7,0,78,0,68,0 2,0,40,0,64,0,97,0,8,0,36,0 57,0,84,0,53,0,85,0,49,0,86,0 46,0,81,0,43,0,6,0,92,0,83,0 56,0,59,0,19,0,28,0,10,0,79,0 23,0,48,0,24,0,58,0,91,0,82,0 94,0,1,0,99,0,71,0,15,0,32,0 ================================================ FILE: schedules/99_14.csv ================================================ 67,0,18,0,62,0,37,0,40,0,87,0 35,0,12,0,28,0,43,0,32,0,25,0 44,0,6,0,91,0,68,0,30,0,21,0 59,0,93,0,88,0,74,0,98,0,22,0 79,0,16,0,24,0,83,0,13,0,39,0 4,0,94,0,63,0,84,0,92,0,29,0 15,0,27,0,81,0,1,0,90,0,17,0 99,0,55,0,11,0,26,0,19,0,48,0 77,0,65,0,10,0,64,0,31,0,49,0 36,0,33,0,85,0,69,0,73,0,97,0 41,0,53,0,80,0,76,0,50,0,96,0 82,0,56,0,60,0,45,0,58,0,23,0 2,0,61,0,86,0,66,0,14,0,95,0 46,0,52,0,34,0,51,0,38,0,78,0 71,0,20,0,7,0,9,0,57,0,54,0 75,0,42,0,72,0,47,0,5,0,3,0 8,0,89,0,74,0,70,0,17,0,21,0 59,0,13,0,4,0,35,0,91,0,67,0 87,0,92,0,73,0,29,0,22,0,77,0 6,0,11,0,32,0,16,0,33,0,90,0 81,0,84,0,98,0,82,0,50,0,12,0 25,0,85,0,96,0,79,0,65,0,68,0 30,0,66,0,80,0,78,0,24,0,36,0 19,0,93,0,9,0,83,0,38,0,43,0 41,0,47,0,39,0,31,0,37,0,55,0 63,0,71,0,14,0,99,0,76,0,70,0 51,0,27,0,23,0,7,0,10,0,40,0 56,0,1,0,42,0,60,0,20,0,52,0 95,0,58,0,69,0,72,0,53,0,64,0 86,0,89,0,54,0,75,0,34,0,15,0 18,0,3,0,61,0,28,0,46,0,94,0 49,0,2,0,97,0,45,0,8,0,48,0 26,0,44,0,57,0,88,0,5,0,62,0 82,0,31,0,78,0,74,0,87,0,13,0 29,0,66,0,83,0,27,0,11,0,47,0 20,0,55,0,35,0,77,0,96,0,93,0 7,0,38,0,37,0,14,0,58,0,25,0 10,0,52,0,63,0,22,0,86,0,71,0 70,0,75,0,6,0,9,0,60,0,85,0 17,0,80,0,23,0,97,0,67,0,79,0 41,0,12,0,54,0,5,0,95,0,33,0 30,0,73,0,59,0,43,0,72,0,90,0 26,0,76,0,81,0,2,0,40,0,28,0 98,0,24,0,65,0,94,0,56,0,51,0 50,0,64,0,62,0,99,0,46,0,4,0 91,0,16,0,92,0,3,0,53,0,48,0 18,0,34,0,45,0,8,0,39,0,69,0 84,0,21,0,88,0,49,0,61,0,1,0 19,0,36,0,42,0,15,0,44,0,32,0 57,0,68,0,63,0,89,0,14,0,23,0 87,0,97,0,90,0,83,0,41,0,26,0 20,0,5,0,6,0,37,0,76,0,86,0 10,0,73,0,25,0,56,0,55,0,80,0 29,0,50,0,72,0,70,0,66,0,91,0 43,0,74,0,52,0,48,0,65,0,69,0 58,0,31,0,40,0,34,0,4,0,30,0 38,0,85,0,59,0,44,0,49,0,3,0 78,0,1,0,79,0,12,0,92,0,9,0 98,0,27,0,77,0,32,0,21,0,18,0 19,0,33,0,35,0,88,0,8,0,7,0 99,0,82,0,16,0,54,0,96,0,2,0 71,0,62,0,75,0,84,0,24,0,68,0 22,0,60,0,47,0,53,0,94,0,36,0 39,0,64,0,51,0,28,0,15,0,67,0 89,0,57,0,61,0,42,0,81,0,13,0 11,0,93,0,95,0,17,0,45,0,46,0 92,0,30,0,70,0,18,0,12,0,65,0 34,0,44,0,55,0,50,0,49,0,27,0 29,0,96,0,14,0,8,0,3,0,54,0 5,0,99,0,90,0,52,0,80,0,7,0 32,0,48,0,4,0,66,0,73,0,60,0 2,0,58,0,74,0,19,0,68,0,22,0 28,0,56,0,63,0,13,0,62,0,97,0 39,0,57,0,10,0,9,0,95,0,21,0 33,0,17,0,47,0,43,0,61,0,77,0 83,0,1,0,53,0,59,0,46,0,86,0 76,0,87,0,45,0,25,0,98,0,64,0 82,0,6,0,67,0,94,0,93,0,75,0 79,0,72,0,37,0,81,0,36,0,35,0 24,0,85,0,11,0,89,0,88,0,20,0 84,0,69,0,40,0,78,0,41,0,42,0 26,0,38,0,23,0,91,0,71,0,31,0 15,0,51,0,97,0,16,0,12,0,14,0 3,0,83,0,90,0,2,0,57,0,56,0 13,0,17,0,54,0,52,0,53,0,18,0 7,0,74,0,32,0,4,0,47,0,1,0 92,0,25,0,99,0,72,0,34,0,93,0 89,0,30,0,98,0,62,0,35,0,60,0 68,0,67,0,45,0,27,0,65,0,5,0 26,0,94,0,96,0,86,0,77,0,48,0 38,0,64,0,8,0,75,0,41,0,73,0 43,0,40,0,15,0,6,0,50,0,24,0 81,0,95,0,63,0,31,0,85,0,51,0 21,0,22,0,16,0,76,0,78,0,20,0 10,0,37,0,88,0,84,0,70,0,42,0 66,0,39,0,44,0,58,0,46,0,33,0 36,0,87,0,71,0,91,0,28,0,11,0 29,0,80,0,79,0,49,0,82,0,19,0 55,0,9,0,61,0,59,0,23,0,69,0 7,0,34,0,41,0,3,0,12,0,60,0 14,0,5,0,45,0,94,0,43,0,1,0 99,0,53,0,56,0,38,0,81,0,30,0 4,0,76,0,8,0,83,0,24,0,10,0 40,0,77,0,89,0,52,0,72,0,16,0 75,0,58,0,21,0,87,0,46,0,48,0 18,0,74,0,28,0,44,0,95,0,80,0 51,0,91,0,22,0,32,0,79,0,55,0 97,0,54,0,88,0,6,0,66,0,64,0 31,0,61,0,96,0,70,0,27,0,36,0 15,0,49,0,93,0,33,0,78,0,63,0 25,0,19,0,86,0,84,0,73,0,67,0 29,0,17,0,26,0,85,0,69,0,57,0 2,0,11,0,13,0,9,0,62,0,42,0 90,0,37,0,92,0,98,0,68,0,23,0 39,0,20,0,59,0,50,0,71,0,65,0 47,0,24,0,18,0,35,0,82,0,14,0 31,0,7,0,72,0,6,0,28,0,45,0 70,0,97,0,3,0,30,0,1,0,87,0 44,0,64,0,96,0,78,0,81,0,52,0 22,0,46,0,5,0,84,0,48,0,15,0 32,0,13,0,80,0,34,0,85,0,43,0 98,0,53,0,57,0,33,0,75,0,79,0 8,0,60,0,77,0,11,0,37,0,59,0 12,0,39,0,42,0,23,0,74,0,99,0 29,0,76,0,90,0,67,0,55,0,95,0 66,0,94,0,58,0,10,0,93,0,62,0 4,0,36,0,20,0,63,0,82,0,26,0 49,0,40,0,9,0,25,0,89,0,47,0 41,0,17,0,16,0,65,0,86,0,91,0 69,0,19,0,56,0,54,0,92,0,27,0 73,0,51,0,35,0,2,0,71,0,21,0 50,0,38,0,68,0,88,0,61,0,83,0 95,0,23,0,6,0,77,0,99,0,3,0 5,0,15,0,87,0,85,0,79,0,8,0 84,0,57,0,52,0,28,0,24,0,66,0 30,0,42,0,22,0,9,0,80,0,82,0 75,0,98,0,97,0,40,0,96,0,34,0 18,0,16,0,1,0,29,0,36,0,64,0 12,0,69,0,47,0,71,0,90,0,44,0 33,0,25,0,74,0,94,0,91,0,20,0 46,0,67,0,14,0,72,0,26,0,10,0 86,0,62,0,45,0,55,0,54,0,38,0 50,0,83,0,31,0,17,0,7,0,73,0 21,0,19,0,27,0,41,0,63,0,37,0 65,0,58,0,78,0,35,0,61,0,11,0 93,0,76,0,89,0,32,0,39,0,56,0 68,0,53,0,49,0,51,0,70,0,4,0 2,0,43,0,81,0,92,0,60,0,88,0 48,0,59,0,71,0,13,0,25,0,29,0 8,0,20,0,98,0,23,0,46,0,72,0 80,0,62,0,3,0,15,0,31,0,69,0 96,0,87,0,99,0,17,0,66,0,10,0 19,0,77,0,67,0,45,0,12,0,57,0 86,0,85,0,64,0,47,0,56,0,93,0 38,0,21,0,28,0,5,0,4,0,42,0 84,0,2,0,89,0,65,0,36,0,7,0 51,0,49,0,76,0,54,0,43,0,11,0 44,0,14,0,83,0,75,0,22,0,35,0 18,0,58,0,9,0,41,0,97,0,81,0 73,0,48,0,27,0,78,0,53,0,6,0 82,0,32,0,95,0,52,0,59,0,92,0 90,0,88,0,94,0,40,0,79,0,39,0 24,0,91,0,1,0,61,0,63,0,34,0 68,0,60,0,70,0,13,0,55,0,33,0 30,0,50,0,37,0,74,0,26,0,16,0 23,0,86,0,43,0,44,0,29,0,4,0 22,0,56,0,96,0,11,0,5,0,18,0 83,0,28,0,99,0,85,0,58,0,98,0 36,0,52,0,45,0,21,0,3,0,20,0 42,0,14,0,76,0,27,0,59,0,87,0 89,0,17,0,6,0,92,0,19,0,51,0 54,0,79,0,60,0,47,0,10,0,68,0 61,0,64,0,48,0,12,0,40,0,80,0 69,0,38,0,70,0,24,0,67,0,32,0 35,0,39,0,31,0,84,0,97,0,53,0 82,0,72,0,1,0,33,0,41,0,62,0 30,0,94,0,13,0,49,0,7,0,95,0 78,0,50,0,2,0,75,0,63,0,25,0 9,0,66,0,77,0,34,0,74,0,90,0 91,0,15,0,73,0,57,0,93,0,37,0 81,0,88,0,55,0,71,0,16,0,46,0 65,0,8,0,47,0,26,0,80,0,6,0 3,0,43,0,27,0,58,0,84,0,79,0 41,0,29,0,32,0,20,0,61,0,99,0 24,0,92,0,21,0,96,0,7,0,33,0 83,0,36,0,82,0,5,0,51,0,25,0 86,0,17,0,14,0,28,0,39,0,30,0 34,0,70,0,94,0,57,0,11,0,64,0 91,0,77,0,13,0,88,0,69,0,76,0 75,0,66,0,26,0,59,0,81,0,45,0 48,0,1,0,9,0,67,0,44,0,98,0 55,0,10,0,15,0,38,0,18,0,2,0 60,0,65,0,72,0,90,0,63,0,22,0 62,0,52,0,23,0,19,0,85,0,50,0 78,0,95,0,97,0,89,0,4,0,71,0 54,0,46,0,35,0,74,0,40,0,73,0 53,0,37,0,12,0,49,0,87,0,56,0 31,0,93,0,68,0,42,0,8,0,16,0 33,0,88,0,30,0,45,0,29,0,51,0 34,0,10,0,48,0,83,0,81,0,20,0 69,0,79,0,7,0,11,0,75,0,86,0 3,0,24,0,9,0,17,0,5,0,64,0 57,0,60,0,4,0,25,0,18,0,27,0 28,0,78,0,59,0,19,0,70,0,47,0 52,0,94,0,32,0,23,0,87,0,2,0 14,0,50,0,13,0,90,0,93,0,21,0 67,0,31,0,43,0,99,0,89,0,22,0 37,0,91,0,46,0,82,0,85,0,97,0 55,0,53,0,65,0,40,0,8,0,44,0 68,0,41,0,35,0,56,0,15,0,66,0 71,0,54,0,1,0,58,0,77,0,80,0 62,0,92,0,74,0,36,0,76,0,61,0 96,0,12,0,63,0,38,0,6,0,39,0 42,0,49,0,26,0,73,0,95,0,98,0 16,0,84,0,87,0,72,0,45,0,9,0 51,0,47,0,48,0,50,0,18,0,57,0 97,0,5,0,40,0,60,0,93,0,29,0 70,0,44,0,79,0,2,0,41,0,20,0 94,0,99,0,69,0,83,0,68,0,37,0 46,0,65,0,3,0,19,0,13,0,76,0 21,0,56,0,33,0,34,0,59,0,31,0 82,0,77,0,11,0,15,0,53,0,63,0 75,0,17,0,12,0,58,0,36,0,88,0 39,0,54,0,25,0,22,0,26,0,61,0 27,0,16,0,95,0,38,0,35,0,80,0 32,0,23,0,64,0,84,0,30,0,96,0 28,0,90,0,73,0,1,0,89,0,10,0 67,0,66,0,85,0,71,0,42,0,92,0 49,0,72,0,81,0,86,0,74,0,24,0 55,0,98,0,6,0,14,0,4,0,52,0 43,0,78,0,7,0,8,0,91,0,62,0 ================================================ FILE: schedules/99_2.csv ================================================ 19,0,1,0,98,0,96,0,23,0,51,0 67,0,66,0,83,0,44,0,8,0,45,0 64,0,77,0,71,0,75,0,35,0,15,0 26,0,52,0,70,0,24,0,73,0,76,0 11,0,86,0,18,0,14,0,39,0,65,0 63,0,25,0,87,0,47,0,82,0,54,0 33,0,91,0,56,0,20,0,17,0,53,0 32,0,10,0,78,0,46,0,2,0,36,0 95,0,5,0,48,0,97,0,61,0,60,0 57,0,99,0,49,0,68,0,22,0,31,0 62,0,12,0,90,0,40,0,41,0,37,0 58,0,34,0,16,0,88,0,38,0,7,0 4,0,55,0,89,0,92,0,21,0,29,0 81,0,74,0,84,0,72,0,42,0,28,0 27,0,93,0,80,0,3,0,94,0,69,0 79,0,9,0,50,0,6,0,59,0,13,0 85,0,45,0,53,0,30,0,43,0,95,0 17,0,97,0,44,0,15,0,78,0,24,0 37,0,23,0,68,0,70,0,47,0,48,0 14,0,88,0,33,0,51,0,8,0,64,0 41,0,38,0,54,0,86,0,35,0,10,0 28,0,36,0,90,0,16,0,55,0,19,0 69,0,7,0,65,0,83,0,87,0,91,0 72,0,29,0,34,0,26,0,59,0,63,0 92,0,94,0,42,0,11,0,67,0,50,0 21,0,6,0,80,0,46,0,99,0,18,0 1,0,12,0,66,0,89,0,27,0,85,0 60,0,39,0,73,0,98,0,71,0,30,0 4,0,3,0,82,0,81,0,77,0,61,0 93,0,40,0,75,0,84,0,49,0,56,0 20,0,62,0,2,0,74,0,79,0,31,0 32,0,52,0,96,0,57,0,5,0,13,0 43,0,22,0,76,0,58,0,9,0,25,0 ================================================ FILE: schedules/99_3.csv ================================================ 24,0,2,0,6,0,41,0,43,0,90,0 16,0,74,0,42,0,85,0,60,0,20,0 77,0,64,0,3,0,62,0,19,0,17,0 70,0,49,0,4,0,14,0,84,0,56,0 36,0,72,0,59,0,8,0,35,0,98,0 87,0,71,0,28,0,57,0,54,0,95,0 91,0,38,0,34,0,7,0,75,0,18,0 89,0,22,0,55,0,58,0,73,0,86,0 27,0,11,0,1,0,51,0,50,0,21,0 52,0,40,0,99,0,23,0,26,0,65,0 67,0,37,0,96,0,47,0,94,0,81,0 29,0,53,0,33,0,32,0,76,0,69,0 45,0,68,0,46,0,80,0,5,0,39,0 12,0,78,0,88,0,31,0,63,0,83,0 93,0,48,0,97,0,15,0,9,0,25,0 10,0,61,0,13,0,79,0,82,0,44,0 30,0,66,0,74,0,92,0,1,0,14,0 58,1,54,0,65,0,6,1,38,0,51,0 40,1,37,0,75,0,27,0,89,0,8,0 77,0,94,0,50,0,4,0,55,0,69,0 86,0,7,0,5,0,53,0,72,0,2,0 90,0,22,0,76,0,87,0,36,0,20,0 26,0,60,0,25,0,33,0,49,0,68,0 18,0,39,0,84,0,13,0,83,0,28,0 41,0,47,0,19,0,42,0,99,0,34,0 17,0,73,0,63,0,91,0,95,0,92,0 98,0,15,0,45,0,31,0,23,0,79,0 57,0,35,0,10,0,67,0,29,0,88,0 56,0,21,0,3,0,32,0,43,0,96,0 85,0,11,0,59,0,97,0,78,0,64,0 62,0,24,0,44,0,52,0,93,0,30,0 12,0,46,0,9,0,70,0,66,0,82,0 61,0,71,0,81,0,80,0,16,0,48,0 68,0,58,0,92,0,27,0,28,0,41,0 31,0,17,0,25,0,65,0,7,0,76,0 13,0,86,0,29,0,6,0,75,0,50,0 72,0,96,0,18,0,42,0,15,0,1,0 14,0,54,0,36,0,67,0,53,0,11,0 69,0,19,0,43,0,30,0,35,0,79,0 77,0,47,0,82,0,33,0,21,0,40,0 23,0,5,0,12,0,16,0,34,0,64,0 52,0,73,0,4,0,57,0,2,0,59,0 88,0,98,0,80,0,90,0,66,0,60,0 89,0,20,0,63,0,70,0,24,0,61,0 74,0,48,0,56,0,26,0,91,0,10,0 62,0,83,0,81,0,85,0,9,0,45,0 51,0,8,0,94,0,71,0,22,0,32,0 38,0,78,0,95,0,84,0,46,0,37,0 99,0,55,0,39,0,3,0,93,0,49,0 97,0,44,0,6,0,87,0,58,0,40,0 ================================================ FILE: schedules/99_4.csv ================================================ 60,0,63,0,33,0,36,0,17,0,53,0 37,0,89,0,8,0,34,0,61,0,20,0 91,0,77,0,14,0,49,0,59,0,19,0 75,0,21,0,12,0,1,0,3,0,82,0 6,0,18,0,55,0,85,0,86,0,54,0 44,0,83,0,96,0,10,0,29,0,23,0 98,0,27,0,76,0,56,0,7,0,72,0 66,0,64,0,93,0,26,0,11,0,88,0 73,0,15,0,79,0,90,0,58,0,9,0 74,0,2,0,39,0,67,0,32,0,16,0 31,0,62,0,57,0,71,0,92,0,80,0 45,0,22,0,65,0,87,0,68,0,43,0 42,0,13,0,41,0,5,0,84,0,30,0 70,0,25,0,94,0,50,0,40,0,52,0 46,0,35,0,95,0,81,0,4,0,38,0 28,0,47,0,97,0,24,0,48,0,69,0 78,0,51,0,21,0,99,0,93,0,60,0 32,0,72,0,53,0,89,0,9,0,11,0 3,0,26,0,7,0,33,0,49,0,6,0 8,0,45,0,77,0,73,0,66,0,39,0 59,0,63,0,5,0,74,0,29,0,55,0 65,0,84,0,86,0,64,0,37,0,90,0 35,0,82,0,36,0,27,0,91,0,15,0 52,0,43,0,10,0,69,0,14,0,42,0 4,0,48,0,25,0,20,0,79,0,54,0 17,0,38,0,80,0,88,0,75,0,23,0 46,0,31,0,99,0,56,0,28,0,96,0 67,0,41,0,47,0,22,0,70,0,81,0 58,0,24,0,61,0,68,0,62,0,50,0 2,0,95,0,98,0,57,0,78,0,12,0 1,0,71,0,87,0,85,0,30,0,97,0 76,0,18,0,44,0,40,0,34,0,13,0 19,0,16,0,83,0,94,0,92,0,51,0 91,0,17,0,45,0,42,0,48,0,89,0 5,0,77,0,35,0,60,0,7,0,96,0 43,0,93,0,70,0,33,0,72,0,37,0 90,0,6,0,50,0,29,0,39,0,46,0 28,0,11,0,73,0,95,0,59,0,80,0 38,0,49,0,54,0,82,0,31,0,22,0 53,0,34,0,15,0,52,0,75,0,99,0 64,0,19,0,57,0,67,0,3,0,18,0 81,0,51,0,14,0,58,0,71,0,65,0 97,0,68,0,88,0,83,0,2,0,36,0 27,0,40,0,85,0,10,0,4,0,61,0 76,0,62,0,1,0,25,0,47,0,55,0 66,0,23,0,86,0,87,0,92,0,98,0 16,0,12,0,30,0,69,0,44,0,8,0 9,0,26,0,20,0,13,0,63,0,24,0 94,0,21,0,74,0,41,0,56,0,79,0 78,0,32,0,49,0,84,0,46,0,70,0 60,0,29,0,81,0,45,0,37,0,82,0 10,0,59,0,7,0,71,0,54,0,36,0 6,0,96,0,47,0,19,0,95,0,58,0 22,0,48,0,99,0,14,0,5,0,62,0 88,0,16,0,55,0,77,0,42,0,27,0 24,0,33,0,52,0,57,0,1,0,51,0 66,0,9,0,17,0,2,0,21,0,44,0 39,0,56,0,25,0,63,0,97,0,86,0 15,0,40,0,28,0,12,0,38,0,93,0 85,0,74,0,92,0,68,0,34,0,73,0 72,0,20,0,50,0,84,0,80,0,67,0 43,0,79,0,53,0,35,0,8,0,18,0 41,0,61,0,87,0,64,0,32,0,75,0 69,0,4,0,23,0,91,0,78,0,13,0 90,0,30,0,98,0,11,0,94,0,3,0 89,0,26,0,65,0,76,0,83,0,31,0 ================================================ FILE: schedules/99_5.csv ================================================ 89,0,66,0,71,0,41,0,20,0,96,0 5,0,14,0,18,0,55,0,84,0,75,0 64,0,95,0,62,0,94,0,54,0,60,0 11,0,32,0,16,0,61,0,87,0,38,0 36,0,65,0,79,0,30,0,56,0,91,0 40,0,98,0,8,0,35,0,70,0,52,0 39,0,99,0,31,0,53,0,45,0,73,0 10,0,50,0,63,0,58,0,88,0,49,0 80,0,51,0,81,0,83,0,76,0,82,0 24,0,19,0,97,0,93,0,47,0,72,0 44,0,23,0,12,0,43,0,21,0,2,0 37,0,92,0,59,0,57,0,33,0,3,0 78,0,15,0,6,0,17,0,46,0,67,0 68,0,42,0,86,0,26,0,13,0,4,0 27,0,77,0,90,0,1,0,69,0,48,0 28,0,85,0,25,0,34,0,9,0,74,0 22,0,7,0,88,0,29,0,16,0,31,0 84,0,45,0,60,0,98,0,76,0,58,0 30,0,35,0,95,0,81,0,38,0,50,0 2,0,99,0,92,0,51,0,52,0,62,0 14,0,73,0,17,0,59,0,36,0,12,0 72,0,71,0,8,0,79,0,63,0,42,0 67,0,83,0,1,0,86,0,44,0,3,0 27,0,26,0,78,0,93,0,85,0,21,0 13,0,37,0,97,0,11,0,46,0,56,0 20,0,75,0,57,0,29,0,90,0,24,0 96,0,47,0,74,0,64,0,80,0,22,0 19,0,9,0,43,0,69,0,5,0,89,0 23,0,87,0,82,0,65,0,40,0,48,0 61,0,68,0,54,0,77,0,41,0,28,0 34,0,39,0,6,0,7,0,55,0,49,0 18,0,15,0,4,0,53,0,25,0,32,0 70,0,94,0,91,0,10,0,33,0,66,0 60,1,52,0,26,0,57,1,67,0,71,0 78,1,42,0,11,0,20,0,22,0,30,0 75,0,69,0,21,0,47,0,73,0,16,0 72,0,5,0,58,0,80,0,44,0,31,0 29,0,2,0,8,0,36,0,81,0,13,0 74,0,48,0,45,0,43,0,68,0,6,0 12,0,84,0,63,0,89,0,37,0,54,0 50,0,86,0,97,0,90,0,28,0,65,0 98,0,79,0,46,0,96,0,19,0,99,0 76,0,7,0,9,0,87,0,70,0,27,0 35,0,59,0,1,0,34,0,10,0,32,0 93,0,15,0,92,0,66,0,77,0,23,0 56,0,17,0,83,0,94,0,18,0,39,0 55,0,40,0,88,0,24,0,62,0,25,0 53,0,85,0,14,0,33,0,95,0,82,0 3,0,49,0,38,0,41,0,51,0,91,0 64,0,63,0,67,0,61,0,4,0,99,0 21,0,68,0,81,0,19,0,90,0,84,0 1,0,60,0,96,0,7,0,28,0,12,0 2,0,35,0,93,0,69,0,71,0,31,0 47,0,70,0,65,0,92,0,45,0,83,0 13,0,44,0,55,0,76,0,57,0,22,0 80,0,77,0,9,0,62,0,50,0,79,0 3,0,89,0,32,0,94,0,72,0,36,0 33,0,38,0,27,0,97,0,25,0,73,0 87,0,78,0,8,0,74,0,51,0,18,0 20,0,49,0,4,0,40,0,95,0,37,0 58,0,52,0,91,0,75,0,34,0,17,0 24,0,16,0,46,0,30,0,14,0,48,0 11,0,59,0,54,0,15,0,86,0,82,0 26,0,5,0,61,0,88,0,66,0,39,0 42,0,53,0,23,0,10,0,98,0,6,0 56,0,85,0,41,0,43,0,29,0,64,0 96,0,36,0,62,0,97,0,35,0,78,0 25,0,31,0,84,0,13,0,65,0,67,0 32,0,47,0,79,0,52,0,20,0,55,0 57,0,34,0,77,0,14,0,72,0,81,0 18,0,9,0,16,0,90,0,2,0,59,0 22,0,66,0,1,0,87,0,19,0,45,0 94,0,76,0,40,0,75,0,12,0,6,0 33,0,43,0,17,0,49,0,86,0,61,0 39,0,51,0,63,0,11,0,85,0,60,0 38,0,56,0,98,0,88,0,68,0,92,0 21,0,3,0,28,0,80,0,70,0,4,0 48,0,15,0,91,0,83,0,7,0,42,0 29,0,30,0,53,0,58,0,54,0,71,0 41,0,37,0,10,0,24,0,27,0,44,0 95,0,99,0,74,0,26,0,23,0,89,0 73,0,93,0,64,0,8,0,5,0,46,0 82,0,69,0,57,0,50,0,60,0,78,0 ================================================ FILE: schedules/99_6.csv ================================================ 20,0,59,0,35,0,21,0,47,0,51,0 99,0,33,0,95,0,2,0,85,0,7,0 3,0,65,0,92,0,77,0,62,0,32,0 28,0,81,0,83,0,69,0,25,0,52,0 68,0,73,0,96,0,8,0,72,0,64,0 34,0,42,0,30,0,67,0,98,0,13,0 23,0,40,0,16,0,43,0,26,0,41,0 89,0,37,0,17,0,36,0,61,0,50,0 29,0,9,0,38,0,48,0,15,0,88,0 49,0,27,0,22,0,82,0,78,0,46,0 63,0,86,0,24,0,58,0,71,0,94,0 1,0,39,0,87,0,66,0,54,0,93,0 84,0,53,0,76,0,12,0,19,0,11,0 45,0,80,0,10,0,31,0,60,0,57,0 91,0,6,0,44,0,4,0,97,0,56,0 70,0,14,0,18,0,75,0,74,0,55,0 5,0,90,0,36,0,79,0,81,0,96,0 13,0,26,0,95,0,77,0,9,0,68,0 37,0,67,0,94,0,21,0,88,0,46,0 50,0,52,0,72,0,1,0,42,0,51,0 8,0,33,0,98,0,24,0,92,0,87,0 2,0,35,0,31,0,16,0,78,0,63,0 86,0,99,0,3,0,38,0,91,0,45,0 4,0,32,0,15,0,74,0,27,0,25,0 58,0,54,0,75,0,11,0,22,0,61,0 39,0,10,0,18,0,12,0,97,0,65,0 55,0,64,0,28,0,43,0,85,0,48,0 5,0,7,0,30,0,40,0,93,0,47,0 80,0,23,0,83,0,76,0,90,0,66,0 71,0,57,0,82,0,44,0,79,0,59,0 34,0,19,0,29,0,14,0,41,0,20,0 53,0,6,0,60,0,70,0,89,0,73,0 62,0,84,0,56,0,69,0,49,0,17,0 91,0,2,0,22,0,72,0,92,0,13,0 21,0,78,0,54,0,9,0,50,0,64,0 88,0,55,0,47,0,39,0,24,0,36,0 99,0,40,0,83,0,15,0,1,0,63,0 46,0,80,0,8,0,52,0,26,0,79,0 44,0,76,0,67,0,31,0,61,0,74,0 3,0,16,0,58,0,57,0,19,0,68,0 71,0,51,0,93,0,95,0,90,0,14,0 60,0,20,0,77,0,28,0,75,0,56,0 65,0,84,0,59,0,5,0,29,0,86,0 32,0,23,0,49,0,33,0,48,0,89,0 82,0,85,0,11,0,81,0,6,0,42,0 41,0,73,0,12,0,38,0,27,0,62,0 7,0,45,0,17,0,4,0,18,0,87,0 66,0,37,0,25,0,30,0,96,0,70,0 98,0,35,0,10,0,53,0,43,0,94,0 34,0,69,0,47,0,97,0,77,0,78,0 52,0,14,0,44,0,60,0,13,0,86,0 9,0,24,0,72,0,99,0,59,0,16,0 90,0,63,0,48,0,74,0,3,0,6,0 62,0,79,0,88,0,40,0,33,0,54,0 64,0,22,0,19,0,38,0,17,0,80,0 50,0,30,0,57,0,55,0,92,0,56,0 25,0,46,0,41,0,76,0,58,0,18,0 5,0,95,0,53,0,42,0,39,0,15,0 27,0,8,0,1,0,11,0,37,0,34,0 65,0,93,0,4,0,23,0,61,0,2,0 26,0,85,0,21,0,36,0,45,0,73,0 51,0,43,0,70,0,87,0,83,0,84,0 97,0,81,0,31,0,94,0,20,0,32,0 68,0,67,0,35,0,82,0,66,0,69,0 7,0,96,0,89,0,28,0,12,0,98,0 71,0,29,0,49,0,10,0,75,0,91,0 86,0,34,0,48,0,79,0,25,0,22,0 88,0,77,0,50,0,5,0,76,0,14,0 40,0,78,0,58,0,65,0,6,0,80,0 38,0,92,0,42,0,54,0,83,0,44,0 56,0,59,0,36,0,18,0,95,0,27,0 13,0,61,0,70,0,16,0,8,0,97,0 66,0,73,0,98,0,11,0,46,0,4,0 82,0,31,0,3,0,23,0,17,0,29,0 57,0,32,0,43,0,39,0,9,0,7,0 99,0,41,0,55,0,53,0,49,0,96,0 74,0,51,0,28,0,19,0,91,0,24,0 2,0,52,0,64,0,30,0,45,0,75,0 72,0,69,0,12,0,60,0,85,0,94,0 81,0,21,0,87,0,62,0,71,0,89,0 37,0,33,0,68,0,93,0,63,0,20,0 47,0,26,0,90,0,67,0,15,0,10,0 1,0,6,0,22,0,84,0,35,0,88,0 41,0,11,0,97,0,83,0,57,0,86,0 16,0,91,0,54,0,95,0,46,0,32,0 43,0,31,0,24,0,65,0,27,0,30,0 60,0,19,0,39,0,82,0,50,0,99,0 80,0,62,0,36,0,51,0,44,0,53,0 92,0,66,0,74,0,12,0,34,0,81,0 56,0,76,0,10,0,21,0,72,0,70,0 1,0,5,0,38,0,23,0,98,0,20,0 79,0,63,0,13,0,4,0,69,0,64,0 61,0,15,0,71,0,84,0,3,0,28,0 8,0,25,0,85,0,49,0,35,0,40,0 96,0,14,0,45,0,58,0,47,0,33,0 17,0,77,0,94,0,55,0,73,0,2,0 7,0,26,0,75,0,48,0,37,0,59,0 9,0,52,0,18,0,67,0,89,0,93,0 78,0,90,0,87,0,68,0,42,0,29,0 ================================================ FILE: schedules/99_7.csv ================================================ 80,0,7,0,38,0,66,0,77,0,33,0 88,0,3,0,44,0,12,0,61,0,41,0 27,0,15,0,62,0,45,0,98,0,87,0 25,0,57,0,21,0,19,0,95,0,17,0 2,0,49,0,51,0,26,0,79,0,64,0 65,0,85,0,47,0,39,0,91,0,18,0 60,0,72,0,71,0,58,0,46,0,59,0 30,0,37,0,67,0,34,0,55,0,73,0 16,0,52,0,56,0,81,0,74,0,82,0 90,0,22,0,40,0,69,0,42,0,32,0 10,0,83,0,86,0,99,0,50,0,78,0 97,0,5,0,31,0,92,0,1,0,8,0 43,0,11,0,24,0,70,0,76,0,9,0 53,0,29,0,23,0,48,0,89,0,35,0 20,0,6,0,14,0,28,0,84,0,68,0 4,0,36,0,63,0,75,0,54,0,96,0 94,0,66,0,95,0,93,0,13,0,30,0 34,0,91,0,80,0,49,0,42,0,12,0 37,0,98,0,61,0,78,0,82,0,2,0 19,0,92,0,16,0,27,0,40,0,38,0 46,0,21,0,3,0,51,0,47,0,70,0 41,0,17,0,29,0,77,0,74,0,85,0 99,0,7,0,43,0,68,0,73,0,69,0 1,0,57,0,53,0,54,0,18,0,22,0 25,0,97,0,64,0,87,0,11,0,20,0 60,0,52,0,14,0,93,0,23,0,26,0 28,0,5,0,58,0,48,0,75,0,86,0 35,0,15,0,32,0,6,0,36,0,9,0 90,0,89,0,4,0,72,0,76,0,8,0 24,0,62,0,88,0,50,0,31,0,71,0 83,0,55,0,13,0,96,0,56,0,33,0 63,0,45,0,39,0,81,0,67,0,94,0 44,0,65,0,84,0,10,0,59,0,79,0 53,1,93,0,91,0,37,1,38,0,74,0 49,1,54,0,27,0,17,0,61,0,14,0 46,0,41,0,97,0,80,0,16,0,75,0 23,0,22,0,82,0,8,0,51,0,6,0 99,0,21,0,9,0,12,0,4,0,64,0 90,0,36,0,78,0,95,0,52,0,28,0 32,0,67,0,3,0,76,0,57,0,87,0 24,0,33,0,34,0,81,0,48,0,68,0 30,0,39,0,25,0,10,0,58,0,98,0 62,0,86,0,40,0,55,0,85,0,7,0 69,0,1,0,79,0,50,0,60,0,66,0 2,0,19,0,44,0,35,0,13,0,47,0 89,0,94,0,70,0,88,0,59,0,83,0 11,0,26,0,18,0,84,0,45,0,71,0 29,0,65,0,20,0,5,0,63,0,43,0 96,0,42,0,77,0,31,0,73,0,72,0 15,0,92,0,25,0,56,0,24,0,54,0 48,0,76,0,40,0,21,0,80,0,82,0 6,0,74,0,79,0,46,0,90,0,86,0 34,0,38,0,85,0,28,0,1,0,44,0 36,0,22,0,47,0,37,0,99,0,97,0 8,0,98,0,64,0,41,0,55,0,94,0 93,0,18,0,67,0,20,0,19,0,59,0 70,0,29,0,32,0,78,0,14,0,91,0 95,0,63,0,51,0,35,0,71,0,92,0 49,0,13,0,9,0,50,0,16,0,84,0 65,0,27,0,81,0,12,0,89,0,26,0 11,0,75,0,42,0,66,0,52,0,15,0 56,0,31,0,30,0,3,0,53,0,7,0 96,0,17,0,68,0,58,0,23,0,88,0 61,0,87,0,5,0,33,0,69,0,72,0 77,0,43,0,45,0,60,0,2,0,10,0 73,0,83,0,57,0,39,0,62,0,4,0 40,0,98,0,59,0,97,0,29,0,49,0 25,0,35,0,70,0,67,0,1,0,99,0 71,0,47,0,82,0,79,0,75,0,20,0 51,0,14,0,76,0,42,0,13,0,38,0 46,0,95,0,56,0,44,0,23,0,27,0 18,0,78,0,41,0,81,0,96,0,15,0 48,0,31,0,55,0,6,0,11,0,10,0 7,0,21,0,16,0,93,0,89,0,54,0 73,0,52,0,84,0,5,0,32,0,80,0 92,0,39,0,28,0,17,0,22,0,60,0 2,0,12,0,66,0,53,0,87,0,86,0 64,0,50,0,91,0,45,0,57,0,68,0 61,0,77,0,19,0,30,0,36,0,62,0 69,0,94,0,4,0,24,0,26,0,58,0 74,0,83,0,72,0,34,0,63,0,9,0 37,0,85,0,33,0,3,0,43,0,90,0 88,0,8,0,52,0,65,0,67,0,40,0 95,0,60,0,6,0,96,0,5,0,89,0 56,0,80,0,93,0,11,0,1,0,47,0 57,0,42,0,98,0,7,0,79,0,48,0 86,0,17,0,18,0,30,0,16,0,76,0 71,0,66,0,70,0,39,0,97,0,61,0 69,0,9,0,55,0,92,0,14,0,44,0 68,0,22,0,27,0,74,0,3,0,2,0 82,0,33,0,4,0,65,0,31,0,46,0 59,0,8,0,85,0,32,0,63,0,25,0 99,0,15,0,94,0,20,0,77,0,49,0 19,0,50,0,51,0,28,0,29,0,37,0 75,0,83,0,91,0,87,0,23,0,21,0 64,0,62,0,58,0,35,0,81,0,43,0 54,0,78,0,72,0,38,0,84,0,88,0 13,0,73,0,12,0,24,0,90,0,45,0 26,0,53,0,10,0,41,0,34,0,36,0 74,0,31,0,76,0,47,0,69,0,95,0 49,0,82,0,30,0,60,0,85,0,57,0 77,0,98,0,86,0,52,0,44,0,63,0 27,0,79,0,5,0,70,0,37,0,18,0 87,0,99,0,80,0,29,0,71,0,6,0 92,0,96,0,84,0,3,0,64,0,93,0 35,0,59,0,16,0,42,0,61,0,24,0 13,0,43,0,34,0,25,0,88,0,4,0 72,0,68,0,75,0,40,0,94,0,53,0 10,0,54,0,23,0,62,0,9,0,28,0 12,0,14,0,19,0,83,0,22,0,15,0 58,0,33,0,50,0,21,0,73,0,2,0 48,0,26,0,78,0,97,0,17,0,67,0 38,0,89,0,36,0,46,0,39,0,55,0 1,0,32,0,7,0,51,0,65,0,45,0 90,0,20,0,66,0,91,0,41,0,56,0 11,0,81,0,37,0,8,0,53,0,49,0 ================================================ FILE: schedules/99_8.csv ================================================ 82,0,39,0,32,0,1,0,30,0,36,0 76,0,19,0,59,0,88,0,4,0,16,0 49,0,6,0,71,0,35,0,58,0,15,0 41,0,90,0,17,0,63,0,91,0,43,0 26,0,3,0,52,0,74,0,23,0,56,0 66,0,25,0,75,0,34,0,22,0,79,0 37,0,42,0,98,0,12,0,95,0,62,0 85,0,99,0,69,0,24,0,77,0,47,0 2,0,81,0,93,0,28,0,33,0,83,0 27,0,45,0,44,0,48,0,73,0,89,0 67,0,84,0,96,0,80,0,72,0,10,0 78,0,92,0,40,0,65,0,7,0,61,0 68,0,86,0,11,0,97,0,53,0,38,0 54,0,20,0,18,0,57,0,14,0,94,0 51,0,64,0,8,0,13,0,60,0,29,0 9,0,21,0,70,0,55,0,50,0,46,0 5,0,31,0,36,0,87,0,25,0,59,0 73,0,15,0,28,0,24,0,19,0,39,0 82,0,95,0,17,0,99,0,48,0,52,0 92,0,74,0,71,0,89,0,63,0,47,0 56,0,65,0,42,0,16,0,79,0,77,0 96,0,14,0,83,0,6,0,38,0,62,0 26,0,7,0,84,0,45,0,37,0,49,0 1,0,23,0,2,0,85,0,41,0,51,0 53,0,94,0,32,0,13,0,91,0,67,0 8,0,70,0,80,0,66,0,27,0,30,0 55,0,97,0,35,0,3,0,31,0,90,0 46,0,4,0,33,0,87,0,61,0,57,0 68,0,72,0,98,0,88,0,21,0,5,0 20,0,10,0,78,0,64,0,9,0,93,0 12,0,86,0,34,0,40,0,81,0,60,0 22,0,69,0,58,0,18,0,44,0,29,0 76,0,50,0,11,0,43,0,54,0,75,0 30,0,53,0,45,0,59,0,71,0,52,0 19,0,94,0,80,0,83,0,48,0,41,0 85,0,27,0,38,0,25,0,91,0,65,0 16,0,92,0,87,0,26,0,68,0,73,0 67,0,77,0,9,0,33,0,5,0,39,0 24,0,21,0,49,0,86,0,42,0,61,0 46,0,79,0,63,0,10,0,2,0,36,0 81,0,70,0,11,0,7,0,95,0,18,0 29,0,72,0,47,0,1,0,50,0,66,0 57,0,76,0,60,0,89,0,6,0,90,0 56,0,96,0,8,0,88,0,43,0,37,0 13,0,98,0,93,0,31,0,69,0,34,0 62,0,58,0,17,0,84,0,78,0,32,0 74,0,64,0,22,0,82,0,97,0,15,0 44,0,54,0,4,0,55,0,99,0,23,0 28,0,51,0,14,0,35,0,75,0,12,0 3,0,40,0,49,0,20,0,53,0,19,0 5,0,24,0,76,0,65,0,29,0,30,0 50,0,71,0,73,0,25,0,37,0,86,0 68,0,56,0,91,0,83,0,89,0,18,0 38,0,81,0,57,0,47,0,17,0,16,0 26,0,39,0,31,0,2,0,78,0,8,0 60,0,84,0,97,0,4,0,95,0,9,0 46,0,34,0,14,0,64,0,90,0,11,0 7,0,23,0,96,0,93,0,32,0,59,0 82,0,44,0,43,0,33,0,20,0,21,0 15,0,72,0,12,0,27,0,79,0,13,0 80,0,87,0,6,0,22,0,63,0,51,0 35,0,61,0,74,0,45,0,41,0,62,0 99,0,94,0,42,0,58,0,70,0,1,0 28,0,40,0,66,0,69,0,55,0,67,0 75,0,10,0,88,0,77,0,52,0,92,0 3,0,48,0,36,0,85,0,98,0,54,0 89,0,19,0,29,0,21,0,96,0,34,0 32,0,43,0,2,0,9,0,72,0,57,0 97,0,20,0,50,0,17,0,26,0,79,0 12,0,24,0,41,0,56,0,22,0,53,0 83,0,63,0,25,0,23,0,70,0,15,0 31,0,30,0,68,0,64,0,94,0,49,0 27,0,1,0,62,0,71,0,81,0,87,0 37,0,4,0,82,0,13,0,92,0,11,0 18,0,84,0,61,0,5,0,48,0,75,0 78,0,52,0,35,0,44,0,76,0,47,0 6,0,42,0,91,0,36,0,40,0,8,0 95,0,90,0,10,0,85,0,16,0,58,0 55,0,39,0,86,0,80,0,93,0,65,0 74,0,88,0,69,0,51,0,33,0,54,0 3,0,59,0,73,0,67,0,99,0,14,0 77,0,38,0,60,0,98,0,7,0,28,0 46,0,92,0,56,0,45,0,66,0,31,0 79,0,68,0,19,0,32,0,81,0,44,0 23,0,64,0,21,0,47,0,27,0,36,0 8,0,53,0,63,0,50,0,85,0,61,0 16,0,5,0,35,0,11,0,93,0,94,0 82,0,26,0,88,0,71,0,70,0,29,0 62,0,69,0,48,0,2,0,86,0,76,0 91,0,22,0,14,0,37,0,77,0,72,0 83,0,39,0,45,0,90,0,40,0,75,0 51,0,9,0,30,0,42,0,17,0,3,0 60,0,46,0,59,0,80,0,54,0,58,0 18,0,33,0,99,0,25,0,13,0,96,0 87,0,41,0,89,0,15,0,66,0,65,0 7,0,52,0,73,0,4,0,6,0,12,0 55,0,20,0,98,0,84,0,24,0,74,0 1,0,67,0,95,0,78,0,43,0,38,0 10,0,57,0,34,0,49,0,28,0,97,0 50,0,16,0,32,0,83,0,31,0,51,0 85,0,86,0,22,0,35,0,46,0,17,0 13,0,40,0,63,0,68,0,76,0,9,0 94,0,3,0,44,0,72,0,8,0,71,0 61,0,36,0,69,0,60,0,56,0,19,0 55,0,87,0,47,0,88,0,79,0,14,0 33,0,23,0,12,0,30,0,92,0,84,0 65,0,97,0,67,0,21,0,45,0,81,0 89,0,28,0,78,0,70,0,53,0,54,0 43,0,48,0,24,0,26,0,64,0,58,0 15,0,98,0,52,0,1,0,57,0,11,0 66,0,20,0,91,0,95,0,96,0,73,0 49,0,90,0,25,0,93,0,62,0,4,0 42,0,2,0,80,0,38,0,82,0,75,0 10,0,27,0,7,0,74,0,99,0,5,0 18,0,41,0,34,0,59,0,39,0,37,0 77,0,29,0,23,0,6,0,68,0,17,0 48,0,70,0,40,0,97,0,56,0,87,0 88,0,36,0,89,0,35,0,24,0,50,0 11,0,26,0,44,0,96,0,63,0,60,0 51,0,71,0,66,0,78,0,21,0,90,0 94,0,79,0,9,0,98,0,61,0,82,0 5,0,86,0,1,0,20,0,8,0,4,0 64,0,67,0,83,0,85,0,42,0,76,0 99,0,6,0,41,0,28,0,31,0,84,0 57,0,29,0,75,0,27,0,95,0,55,0 13,0,14,0,80,0,43,0,52,0,49,0 45,0,77,0,93,0,19,0,12,0,18,0 30,0,91,0,54,0,15,0,16,0,7,0 47,0,33,0,59,0,22,0,10,0,62,0 58,0,25,0,72,0,39,0,81,0,92,0 2,0,73,0,65,0,34,0,53,0,74,0 37,0,32,0,38,0,46,0,69,0,3,0 ================================================ FILE: schedules/99_9.csv ================================================ 68,0,74,0,80,0,56,0,95,0,44,0 82,0,51,0,84,0,3,0,23,0,52,0 99,0,73,0,46,0,61,0,48,0,17,0 66,0,13,0,39,0,60,0,65,0,96,0 77,0,9,0,86,0,62,0,58,0,29,0 33,0,91,0,72,0,92,0,87,0,71,0 21,0,85,0,76,0,19,0,16,0,4,0 43,0,14,0,28,0,70,0,26,0,59,0 38,0,88,0,32,0,67,0,25,0,54,0 93,0,94,0,22,0,20,0,18,0,41,0 7,0,57,0,2,0,89,0,34,0,42,0 47,0,10,0,5,0,49,0,98,0,40,0 45,0,78,0,11,0,30,0,27,0,6,0 24,0,79,0,36,0,97,0,8,0,81,0 12,0,31,0,53,0,35,0,37,0,50,0 90,0,83,0,63,0,55,0,69,0,64,0 75,0,1,0,51,0,15,0,99,0,91,0 26,0,16,0,18,0,84,0,33,0,74,0 43,0,77,0,61,0,39,0,4,0,2,0 29,0,38,0,92,0,13,0,98,0,57,0 93,0,85,0,7,0,67,0,45,0,47,0 65,0,21,0,95,0,94,0,86,0,5,0 23,0,78,0,31,0,56,0,17,0,9,0 19,0,24,0,40,0,12,0,69,0,71,0 1,0,41,0,70,0,25,0,35,0,81,0 82,0,58,0,28,0,72,0,79,0,66,0 88,0,22,0,83,0,68,0,59,0,10,0 3,0,96,0,55,0,54,0,42,0,27,0 76,0,89,0,30,0,60,0,8,0,44,0 64,0,32,0,15,0,48,0,50,0,34,0 52,0,6,0,87,0,49,0,90,0,36,0 97,0,46,0,53,0,63,0,11,0,20,0 37,0,80,0,75,0,73,0,14,0,62,0 38,1,17,0,71,0,35,1,41,0,26,0 33,1,2,0,99,0,83,0,23,0,25,0 55,0,9,0,91,0,39,0,70,0,84,0 67,0,8,0,92,0,77,0,74,0,69,0 42,0,5,0,76,0,79,0,1,0,31,0 54,0,43,0,98,0,78,0,93,0,24,0 32,0,49,0,96,0,29,0,7,0,22,0 64,0,66,0,56,0,89,0,20,0,6,0 58,0,44,0,88,0,14,0,48,0,21,0 94,0,10,0,16,0,73,0,13,0,87,0 72,0,59,0,62,0,18,0,63,0,34,0 47,0,50,0,36,0,3,0,30,0,19,0 90,0,95,0,60,0,51,0,12,0,11,0 97,0,40,0,37,0,61,0,15,0,86,0 45,0,57,0,52,0,81,0,80,0,53,0 65,0,68,0,27,0,4,0,28,0,46,0 82,0,77,0,38,0,75,0,85,0,44,0 91,0,8,0,16,0,17,0,25,0,93,0 56,0,29,0,24,0,10,0,35,0,99,0 33,0,6,0,5,0,76,0,43,0,73,0 89,0,63,0,32,0,9,0,79,0,14,0 64,0,51,0,47,0,94,0,78,0,96,0 80,0,86,0,70,0,20,0,34,0,88,0 57,0,62,0,95,0,61,0,66,0,22,0 50,0,26,0,82,0,39,0,45,0,46,0 83,0,65,0,92,0,48,0,81,0,7,0 60,0,71,0,1,0,27,0,37,0,36,0 41,0,74,0,15,0,54,0,85,0,72,0 49,0,68,0,12,0,30,0,75,0,18,0 42,0,19,0,58,0,53,0,90,0,23,0 4,0,40,0,13,0,52,0,55,0,59,0 98,0,28,0,67,0,84,0,97,0,21,0 11,0,69,0,3,0,2,0,31,0,87,0 96,0,43,0,35,0,91,0,88,0,62,0 94,0,9,0,71,0,7,0,76,0,66,0 8,0,39,0,56,0,27,0,86,0,72,0 46,0,49,0,89,0,25,0,92,0,51,0 36,0,85,0,26,0,10,0,42,0,20,0 68,0,23,0,70,0,24,0,57,0,37,0 4,0,73,0,30,0,53,0,34,0,74,0 95,0,52,0,69,0,98,0,79,0,41,0 99,0,97,0,45,0,58,0,32,0,5,0 54,0,6,0,18,0,48,0,60,0,28,0 90,0,13,0,81,0,2,0,44,0,47,0 15,0,84,0,78,0,63,0,22,0,19,0 64,0,12,0,3,0,65,0,38,0,93,0 14,0,29,0,61,0,83,0,16,0,31,0 80,0,59,0,1,0,33,0,82,0,67,0 87,0,55,0,50,0,77,0,17,0,21,0 75,0,11,0,34,0,40,0,41,0,58,0 56,0,60,0,88,0,97,0,52,0,94,0 73,0,25,0,20,0,57,0,72,0,90,0 22,0,53,0,9,0,24,0,6,0,26,0 54,0,62,0,8,0,51,0,71,0,5,0 16,0,30,0,92,0,42,0,63,0,35,0 12,0,4,0,48,0,67,0,91,0,89,0 46,0,1,0,47,0,29,0,23,0,43,0 49,0,99,0,81,0,50,0,69,0,59,0 79,0,78,0,77,0,40,0,65,0,70,0 10,0,39,0,37,0,76,0,74,0,3,0 33,0,85,0,31,0,68,0,66,0,86,0 96,0,84,0,87,0,38,0,45,0,14,0 44,0,27,0,83,0,32,0,93,0,19,0 17,0,28,0,95,0,75,0,7,0,64,0 82,0,98,0,2,0,36,0,55,0,15,0 61,0,11,0,18,0,13,0,80,0,21,0 52,0,20,0,99,0,9,0,16,0,43,0 76,0,69,0,58,0,57,0,26,0,47,0 39,0,33,0,81,0,88,0,78,0,12,0 59,0,51,0,65,0,87,0,29,0,42,0 67,0,40,0,30,0,83,0,56,0,46,0 5,0,72,0,37,0,22,0,17,0,89,0 34,0,3,0,35,0,8,0,85,0,28,0 86,0,19,0,14,0,11,0,54,0,1,0 36,0,44,0,23,0,73,0,18,0,15,0 79,0,61,0,93,0,90,0,71,0,75,0 7,0,63,0,13,0,6,0,50,0,68,0 31,0,27,0,38,0,70,0,21,0,49,0 97,0,96,0,4,0,92,0,82,0,95,0 10,0,32,0,84,0,2,0,80,0,41,0 55,0,48,0,74,0,24,0,62,0,94,0 98,0,25,0,53,0,64,0,60,0,77,0 45,0,66,0,29,0,91,0,37,0,18,0 87,0,86,0,79,0,57,0,83,0,35,0 93,0,5,0,14,0,36,0,68,0,39,0 69,0,51,0,34,0,9,0,33,0,27,0 11,0,72,0,70,0,50,0,96,0,52,0 6,0,59,0,61,0,32,0,12,0,47,0 97,0,89,0,71,0,55,0,85,0,65,0 22,0,42,0,64,0,99,0,67,0,13,0 75,0,98,0,94,0,4,0,81,0,3,0 48,0,41,0,8,0,49,0,19,0,82,0 15,0,90,0,21,0,92,0,56,0,43,0 45,0,62,0,25,0,28,0,40,0,76,0 7,0,78,0,16,0,46,0,60,0,80,0 74,0,20,0,2,0,1,0,58,0,38,0 26,0,54,0,77,0,91,0,30,0,23,0 66,0,17,0,84,0,10,0,44,0,53,0 88,0,24,0,31,0,63,0,95,0,73,0 18,0,57,0,67,0,14,0,71,0,3,0 43,0,19,0,81,0,72,0,51,0,32,0 36,0,65,0,56,0,76,0,34,0,61,0 68,0,29,0,21,0,52,0,64,0,8,0 13,0,74,0,35,0,46,0,9,0,75,0 42,0,50,0,41,0,78,0,91,0,97,0 10,0,90,0,33,0,70,0,54,0,89,0 37,0,30,0,69,0,84,0,88,0,93,0 62,0,47,0,79,0,11,0,38,0,99,0 17,0,6,0,80,0,4,0,58,0,15,0 48,0,63,0,23,0,98,0,85,0,96,0 73,0,66,0,26,0,12,0,92,0,55,0 83,0,94,0,95,0,77,0,45,0,1,0 87,0,25,0,27,0,24,0,5,0,82,0 44,0,20,0,59,0,39,0,7,0,31,0 86,0,49,0,53,0,2,0,28,0,16,0 60,0,40,0,35,0,22,0,38,0,33,0 ================================================ FILE: schedules/9_1.csv ================================================ 9,0,6,0,1,0,4,0,2,0,3,0 8,0,5,0,2,1,7,0,1,1,9,1 ================================================ FILE: schedules/9_10.csv ================================================ 7,0,6,0,9,0,4,0,3,0,2,0 5,0,7,0,8,0,6,0,9,0,1,0 3,0,5,0,2,0,8,0,4,0,1,0 4,0,6,0,5,0,7,0,1,0,3,0 8,0,5,0,9,0,2,0,7,0,6,0 1,0,4,0,2,0,9,0,8,0,3,0 6,0,2,0,8,0,3,0,7,0,4,0 1,0,5,0,3,0,9,0,2,0,7,0 1,0,9,0,5,0,6,0,8,0,4,0 9,0,7,0,4,0,3,0,8,0,5,0 1,0,6,0,7,0,2,0,4,0,9,0 2,0,3,0,8,0,5,0,1,0,6,0 6,0,9,0,3,0,7,0,1,0,8,0 4,0,3,0,6,0,5,0,2,0,9,0 8,0,2,0,1,0,4,0,5,0,7,0 ================================================ FILE: schedules/9_11.csv ================================================ 1,0,3,0,2,0,8,0,6,0,7,0 7,0,9,0,5,0,8,0,4,0,2,0 4,0,9,0,5,0,6,0,3,0,1,0 2,0,7,1,1,1,8,0,6,1,5,0 9,0,8,0,3,0,6,0,5,0,4,0 7,0,1,0,3,0,2,0,4,0,9,0 3,0,4,0,8,0,2,0,1,0,5,0 7,0,6,0,4,0,1,0,5,0,9,0 7,0,8,0,2,0,9,0,3,0,6,0 4,0,1,0,6,0,5,0,7,0,8,0 8,0,2,0,9,0,3,0,7,0,4,0 1,0,6,0,9,0,5,0,2,0,3,0 6,0,9,0,2,0,1,0,4,0,8,0 5,0,8,0,1,0,9,0,7,0,3,0 3,0,5,0,4,0,6,0,2,0,7,0 4,0,7,0,1,0,3,0,8,0,6,0 5,0,2,0,6,0,9,0,1,0,7,0 ================================================ FILE: schedules/9_12.csv ================================================ 6,0,3,0,8,0,7,0,2,0,4,0 4,0,9,0,5,0,1,0,6,0,7,0 1,0,5,0,3,0,2,0,9,0,8,0 7,0,1,0,4,0,2,0,6,0,5,0 3,0,8,0,7,0,6,0,9,0,1,0 3,0,2,0,9,0,5,0,8,0,4,0 9,0,5,0,7,0,4,0,6,0,3,0 2,0,1,0,5,0,8,0,9,0,6,0 8,0,7,0,3,0,4,0,2,0,1,0 6,0,1,0,9,0,3,0,4,0,2,0 5,0,6,0,8,0,7,0,3,0,9,0 2,0,5,0,7,0,4,0,8,0,1,0 6,0,7,0,2,0,1,0,5,0,3,0 9,0,3,0,4,0,8,0,7,0,1,0 9,0,4,0,6,0,8,0,2,0,5,0 9,0,8,0,2,0,7,0,4,0,6,0 3,0,1,0,2,0,5,0,7,0,9,0 1,0,4,0,8,0,5,0,3,0,6,0 ================================================ FILE: schedules/9_13.csv ================================================ 6,0,7,0,4,0,1,0,8,0,9,0 1,0,9,0,5,0,2,0,3,0,4,0 6,0,3,0,8,0,2,0,7,0,5,0 8,1,5,1,4,0,1,1,2,0,7,0 8,0,1,0,3,0,9,0,6,0,2,0 5,0,7,0,3,0,9,0,4,0,6,0 5,0,4,0,1,0,8,0,9,0,3,0 6,0,2,0,5,0,7,0,1,0,9,0 4,0,2,0,8,0,7,0,3,0,6,0 7,0,1,0,8,0,3,0,5,0,2,0 7,0,6,0,9,0,4,0,5,0,8,0 4,0,9,0,3,0,1,0,6,0,2,0 9,0,5,0,7,0,1,0,6,0,2,0 4,0,8,0,6,0,3,0,1,0,5,0 8,0,2,0,7,0,4,0,3,0,9,0 8,0,2,0,9,0,1,0,7,0,4,0 3,0,6,0,1,0,5,0,4,0,7,0 2,0,9,0,3,0,5,0,8,0,6,0 9,0,5,0,1,0,3,0,7,0,8,0 2,0,4,0,1,0,6,0,8,0,5,0 ================================================ FILE: schedules/9_14.csv ================================================ 7,0,4,0,2,0,5,0,1,0,3,0 9,0,6,0,7,0,8,0,5,0,2,0 3,0,6,0,1,0,4,0,8,0,9,0 5,0,9,0,2,0,7,0,4,0,3,0 8,0,1,0,4,0,6,0,5,0,2,0 9,0,3,0,1,0,8,0,6,0,7,0 2,0,7,0,8,0,4,0,1,0,3,0 9,0,5,0,7,0,6,0,4,0,8,0 2,0,1,0,6,0,5,0,9,0,3,0 6,0,9,0,4,0,1,0,7,0,2,0 8,0,3,0,6,0,5,0,4,0,7,0 9,0,8,0,1,0,2,0,3,0,5,0 6,0,8,0,5,0,7,0,2,0,3,0 4,0,3,0,5,0,1,0,9,0,8,0 2,0,1,0,4,0,7,0,6,0,9,0 7,0,9,0,4,0,1,0,8,0,5,0 3,0,2,0,8,0,6,0,7,0,1,0 2,0,3,0,9,0,4,0,5,0,6,0 4,0,8,0,5,0,1,0,2,0,6,0 3,0,7,0,8,0,9,0,2,0,4,0 5,0,7,0,1,0,3,0,6,0,9,0 ================================================ FILE: schedules/9_2.csv ================================================ 4,0,3,0,2,0,6,0,7,0,5,0 1,0,8,0,7,0,2,0,9,0,6,0 9,0,1,0,3,0,5,0,4,0,8,0 ================================================ FILE: schedules/9_3.csv ================================================ 1,0,2,0,3,0,6,0,7,0,9,0 8,0,6,0,4,0,5,0,9,0,1,0 5,0,8,0,2,0,4,0,3,0,7,0 7,0,1,0,8,0,3,0,5,0,6,0 9,0,4,0,5,1,2,0,6,1,7,1 ================================================ FILE: schedules/9_4.csv ================================================ 9,0,6,0,2,0,8,0,1,0,7,0 4,0,8,0,9,0,1,0,5,0,3,0 6,0,7,0,3,0,2,0,5,0,4,0 5,0,8,0,6,0,4,0,2,0,1,0 9,0,3,0,1,0,7,0,4,0,6,0 3,0,2,0,8,0,7,0,9,0,5,0 ================================================ FILE: schedules/9_5.csv ================================================ 5,0,3,0,4,0,6,0,9,0,1,0 8,0,1,0,2,0,7,0,9,0,3,0 8,0,6,0,5,0,4,0,7,0,2,0 5,1,1,1,9,0,7,0,8,0,4,1 6,0,2,0,7,0,3,0,1,0,5,0 9,0,8,0,4,0,2,0,6,0,3,0 1,0,4,0,6,0,2,0,5,0,9,0 1,0,5,0,7,0,4,0,3,0,8,0 ================================================ FILE: schedules/9_6.csv ================================================ 3,0,9,0,5,0,8,0,7,0,2,0 2,0,4,0,6,0,9,0,1,0,8,0 5,0,3,0,7,0,4,0,1,0,6,0 9,0,2,0,1,0,7,0,6,0,3,0 8,0,5,0,1,0,4,0,3,0,9,0 7,0,6,0,8,0,2,0,5,0,4,0 1,0,4,0,7,0,5,0,9,0,2,0 3,0,8,0,4,0,6,0,7,0,9,0 6,0,8,0,5,0,1,0,2,0,3,0 ================================================ FILE: schedules/9_7.csv ================================================ 9,0,8,0,5,0,3,0,4,0,1,0 6,0,1,0,3,0,7,0,2,0,4,0 2,0,9,0,7,0,5,0,6,0,8,0 3,1,9,1,4,0,2,1,5,0,7,0 1,0,5,0,6,0,8,0,2,0,3,0 4,0,8,0,1,0,9,0,7,0,6,0 5,0,4,0,9,0,6,0,1,0,2,0 3,0,7,0,5,0,8,0,6,0,4,0 3,0,7,0,8,0,1,0,9,0,2,0 2,0,3,0,5,0,7,0,1,0,9,0 4,0,6,0,2,0,8,0,3,0,9,0 ================================================ FILE: schedules/9_8.csv ================================================ 6,0,7,0,2,0,8,0,9,0,1,0 5,0,3,0,1,0,7,0,9,0,4,0 5,0,2,0,8,0,6,0,4,0,3,0 8,0,3,0,6,0,9,0,7,0,5,0 2,0,1,0,7,0,5,0,4,0,8,0 1,0,9,0,6,0,4,0,3,0,2,0 9,0,2,0,4,0,7,0,6,0,5,0 3,0,8,0,7,0,4,0,6,0,1,0 3,0,5,0,9,0,2,0,1,0,8,0 6,0,5,0,2,0,1,0,7,0,3,0 4,0,8,0,7,0,9,0,2,0,3,0 1,0,4,0,5,0,8,0,6,0,9,0 ================================================ FILE: schedules/9_9.csv ================================================ 4,0,1,0,5,0,8,0,7,0,2,0 3,0,9,0,8,0,6,0,2,0,1,0 4,0,3,0,9,0,6,0,7,0,5,0 6,1,9,0,8,0,2,1,3,0,4,1 1,0,6,0,2,0,7,0,4,0,5,0 3,0,1,0,7,0,5,0,8,0,9,0 7,0,4,0,6,0,1,0,8,0,3,0 2,0,5,0,3,0,9,0,4,0,1,0 7,0,5,0,8,0,9,0,6,0,2,0 8,0,2,0,4,0,9,0,7,0,3,0 1,0,5,0,9,0,6,0,8,0,4,0 2,0,1,0,7,0,3,0,5,0,6,0 2,0,9,0,7,0,4,0,6,0,1,0 8,0,3,0,6,0,5,0,2,0,4,0 ================================================ FILE: static/css/alliance_station_display.css ================================================ /* Copyright 2014 Team 254. All Rights Reserved. Author: nick@team254.com (Nick Eyre) */ html { -webkit-user-select: none; -moz-user-select: none; overflow: hidden; } body { background-color: #000; font-family: "FuturaLTBold"; color: #fff; } body[data-mode=logo] { background-color: #fff; } body[data-mode=fieldReset] { background-color: #0a3; } body[data-mode=signalCount] { background-color: #90c; } /* Switching Modes */ .mode { display: none; } body[data-mode=logo] .mode#logo { display: block; } body[data-mode=match] .mode#match { display: block; } body[data-mode=fieldReset] .mode#fieldReset { display: table; } body[data-mode=signalCount] .mode#signalCount { display: table; } body[data-mode=timeout] .mode#match { display: block; } /* Logo Mode */ #logo #logoImg { position: absolute; top: 0; bottom: 0; left: 0; right: 0; height: 85%; margin: auto auto; } /* Field Reset and Count Modes */ #fieldReset, #signalCount { position: absolute; width: 100%; height: 100%; } #fieldReset div, #signalCount div { display: table-cell; vertical-align: middle; text-align: center; font-size: 350px; line-height: 350px; } /* Match Mode */ #match { position: absolute; width: 100%; height: 100%; } #match[data-state=WARMUP_PERIOD], #match[data-state=AUTO_PERIOD], #match[data-state=PAUSE_PERIOD], #match[data-state=TELEOP_PERIOD], #match[data-state=TIMEOUT_ACTIVE], #match[data-state=POST_TIMEOUT] { background-color: #fff; color: #000; } #preMatch, #inMatch { display: none; } #match[data-state=PRE_MATCH] #preMatch, #match[data-state=POST_MATCH] #preMatch { display: block; } #match[data-state=WARMUP_PERIOD] #inMatch, #match[data-state=AUTO_PERIOD] #inMatch, #match[data-state=PAUSE_PERIOD] #inMatch, #match[data-state=TELEOP_PERIOD] #inMatch, #match[data-state=TIMEOUT_ACTIVE] #inMatch, #match[data-state=POST_TIMEOUT] #inMatch { display: block; } /* In Match */ #inMatch .datapoint { display: none; position: absolute; left: 0; right: 0; margin: auto; margin-top: -250px; height: 250px; top: 50%; font-size: 500px; line-height: 500px; text-align: center; } body[data-position=left] #inMatch #redScore { display: block; color: #f43; } body[data-position=middle] #inMatch #timeRemaining { display: block; font-size: 32vw; } body[data-position=right] #inMatch #blueScore { display: block; color: #07f; } /* Pre Match */ #preMatch #teamNumber { position: absolute; top: 100px; left: 0; right: 0; margin: 0 auto; font-size: 28vw; line-height: 450px; text-align: center; } #preMatch .databar { position: absolute; bottom: 100px; left: 0; right: 0; margin: 0 auto; height: 200px; line-height: 200px; text-align: center; font-family: "FuturaLT"; font-size: 120px; color: #fff; } #preMatch .databar#disabled { font-family: "FuturaLTBold"; display: none; } #preMatch sub { font-size: 50px; } #match[data-status=bypass] #disabled { display: block; } #match[data-status=bypass] #teamName { display: none; } [data-alliance-bg=R], [data-status=R] { background-color: #d00; } [data-alliance-bg=B], [data-status=B] { background-color: #00c; } #teamRank { background-color: transparent; } #playoffAllianceInfo { position: absolute; bottom: 20px; left: 0; right: 0; margin: 0 auto; text-align: center; font-family: "FuturaLT"; font-size: 50px; } ================================================ FILE: static/css/audience_display.css ================================================ /* Copyright 2014 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) */ html { cursor: none; -webkit-user-select: none; -moz-user-select: none; overflow: hidden; } #overlayCentering { position: absolute; bottom: -210px; width: 100%; height: 170px; display: flex; flex-direction: column; align-items: center; } #matchOverlayContainer { display: flex; } #matchOverlay { display: flex; flex-direction: column; border: 1px solid #222; color: #222; font-size: 22px; } #matchOverlayTop { height: 100px; display: flex; } .playoff-alliance { position: relative; top: 31px; width: 40px; height: 40px; padding: 0 5px; z-index: -1; display: flex; align-items: center; background-color: #fc0; color: #222; border: 1px solid #222; font-size: 15px; font-weight: 200; } #leftPlayoffAlliance { left: 23px; justify-content: start; border-top-left-radius: 50%; border-bottom-left-radius: 50%; border-right: none; } #rightPlayoffAlliance { right: 23px; justify-content: end; border-top-right-radius: 50%; border-bottom-right-radius: 50%; border-left: none; } .teams { width: 70px; height: 100%; display: none; flex-direction: column; justify-content: space-evenly; align-items: center; background-color: #fff; font-family: "FuturaLT"; font-size: 20px; line-height: 25px; } .teams div[data-yellow-card=true] { width: 90%; height: 32%; border-radius: 0.2vw; display: flex; justify-content: center; align-items: center; background-color: #fc0; } #leftTeams { border-right: 1px solid #222; } #rightTeams { border-left: 1px solid #222; } .reversible-left[data-reversed=false], .reversible-right[data-reversed=true] { background-color: #ff4444; } .reversible-left[data-reversed=true], .reversible-right[data-reversed=false] { background-color: #2080ff; } .score { width: 0; height: 100%; display: flex; justify-content: flex-start; } .score-right { justify-content: flex-end; } .avatars { min-width: 50px; height: 100%; display: none; flex-direction: column; justify-content: space-evenly; align-items: center; } .avatar { height: 25px; } .score-number { width: 130px; height: 100%; display: flex; justify-content: center; align-items: center; font-family: "FuturaLTBold"; font-size: 55px; color: #fff; opacity: 0; } .score-right .score-fields { align-items: flex-end; } .score-fields { height: 100%; width: 0; display: none; flex-direction: column; justify-content: space-evenly; opacity: 0; } .score-field { display: flex; flex-direction: row; } .coral-icon { width: 35px; margin: 0 12px; } .algae-icon { width: 31px; margin: 0 14px; } .score-field > div { display: flex; justify-content: center; align-items: center; width: 70px; font-family: "FuturaLTBold"; font-size: 27px; line-height: 27px; color: #fff; } #matchCircle { position: absolute; top: -25px; border-radius: 50%; width: 150px; height: 150px; background-color: #fff; border: 1px solid #222; } #logo { position: relative; top: 38px; height: 70px; } #matchTime { position: relative; top: 17px; height: 60px; color: #222; font-family: "FuturaLTBold"; font-size: 32px; opacity: 0; } #eventMatchInfo { height: 0; display: none; justify-content: space-between; z-index: -1; align-items: flex-end; padding: 0 5px; background-color: #444; font-family: "FuturaLT"; font-size: 15px; line-height: 30px; color: #fff; } #playoffSeriesStatus { width: 40px; height: 18px; display: none; justify-content: center; align-items: center; background-color: #fc0; color: #222; border: 1px solid #222; border-top: none; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; font-size: 15px; font-weight: 200; } #timeoutDetails { position: absolute; bottom: 95px; width: 140px; height: 50px; z-index: -1; padding: 0 20px; display: flex; flex-direction: row; justify-content: space-between; align-items: center; background-color: #fff; color: #222; border: 1px solid #222; } #timeoutBreakDescription { font-weight: bold; font-size: 20px; opacity: 0; } #timeoutNextMatch { text-align: center; font-weight: bold; font-size: 14px; opacity: 0; } #blindsContainer { position: fixed; top: 0; bottom: 0; left: 0; right: 0; } .blinds { position: fixed; top: 0; background-size: 200%; height: 100%; width: 50%; overflow: hidden; } .blinds.left { background-position: left; left: -50%; } .blinds.right { background-position: right; right: -50%; } .blinds.full { width: 100%; background-position: center; background-size: 100%; } .blinds.background { background-image: url("/static/img/endofmatch-bg.png"); } .blindsCenter { position: absolute; top: 0; bottom: 0; margin: auto auto; border-radius: 50%; width: 310px; height: 310px; background-color: #fff; border: 1px solid #333; box-shadow: 0 0 5px #666; text-align: center; backface-visibility: hidden; -webkit-backface-visibility: hidden; z-index: 2; } .blindsCenter.full { left: 0; right: 0; transform: rotateY(-180deg); } .blinds.left .blindsCenter.blank { right: -155px; } .blinds.full .blindsCenter.blank { right: 0; left: 0; } .blinds.right .blindsCenter.blank { left: -155px; } #blindsLogo { position: relative; top: 55px; height: 220px; } #finalScoreCentering { position: fixed; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; } #finalScore { width: 1000px; display: flex; flex-direction: column; border: 2px solid #333; opacity: 0; } .final-score-row { display: flex; flex-direction: row; } .final-score { width: 50%; height: 200px; line-height: 200px; border-bottom: 2px solid #333; color: #fff; font-family: "FuturaLTBold"; font-size: 100px; text-align: center; text-shadow: 0 0 3px #333; } #leftFinalScore { padding-right: 150px; } #rightFinalScore { padding-left: 150px; } .final-breakdown { height: 380px; display: flex; flex-direction: column; justify-content: center; background-color: #fff; color: #222; font-family: "FuturaLT"; font-size: 24px; } #leftFinalBreakdown { width: 60px; padding-right: 10px; align-items: flex-end; } #rightFinalBreakdown { width: 60px; padding-left: 10px; align-items: flex-start; } #centerFinalBreakdown { width: 280px; align-items: center; text-align: center; border-left: 2px solid #333; border-right: 2px solid #333; } .final-breakdown-teams { flex-grow: 1; display: flex; justify-content: center; align-items: center; } .final-teams { width: 250px; padding: 20px; border-radius: 20px; } .final-alliance { margin-top: -10px; margin-bottom: 10px; display: flex; flex-direction: row; justify-content: center; color: #fff; font-size: 24px; } .final-team-row { display: flex; flex-direction: row; justify-content: center; align-items: center; } .final-team-avatar { width: 35px; height: 35px; margin-right: 5px; } .final-team-number { width: 85px; color: #fff; font-family: "FuturaLT"; font-size: 32px; line-height: 43px; text-align: center; } .final-team-card { width: 20px; margin-left: 5px; display: flex; justify-content: center; align-items: center; } .final-team-card div { display: none; } .final-team-card div[data-card=yellow], .final-team-card div[data-card=red] { display: inline-block; width: 15px; height: 20px; border-radius: 4px; border: 1px solid #333; } .final-team-card div[data-card=yellow] { background-color: #da1; } .final-team-card div[data-card=red] { background-color: #e00; } .final-team-rank { width: 50px; display: flex; flex-direction: row; justify-content: flex-end; } .final-team-rank img { width: 15px; margin-right: 3px; } .final-team-rank div { color: #fff; font-size: 20px; } .final-destination { margin-top: 10px; width: 200px; height: 45px; border-radius: 5px; display: flex; justify-content: center; align-items: center; text-align: center; background-color: #999; font-size: 15px; line-height: 18px; } .final-destination[data-won=true] { background-color: #fc3; } #finalEventMatchInfo { height: 60px; display: flex; flex-direction: row; justify-content: space-between; align-items: center; padding: 0 25px; font-family: "FuturaLT"; font-size: 28px; background-color: #444; color: #fff; } [data-checked=true] { color: #0c0; } [data-checked=false] { color: #e00; } .final-footer { float: left; width: 33.3%; white-space: nowrap; } #finalMatchName { text-align: right; } #bracket { position: fixed; top: 0; bottom: 0; left: 0; right: 0; margin: auto auto; z-index: 1; opacity: 0; text-align: center; } #bracketSvg { width: 1920px; } #sponsor { position: fixed; width: 1000px; height: 600px; top: 0; bottom: 0; left: 0; right: 0; margin: auto auto; border: 2px solid #333; z-index: 1; opacity: 0; background-color: #fff; text-align: center; } #sponsor .carousel-inner, #sponsor .carousel-item { height: 100%; } .sponsor-image-container { width: 1000px; height: 500px; display: table-cell; vertical-align: middle; } #sponsor h1, #sponsor h2 { font-family: "FuturaLTBold"; margin: 0; } #sponsor h1 { font-size: 60px; background-color: #444; color: #fff; padding: 0.25em; position: absolute; left: 0; bottom: 0; right: 0; height: 96px; } #sponsor h2 { font-size: 6em; padding-top: 145px; line-height: 110px; } #sponsor img { max-width: 800px; max-height: 400px; } #allianceRankingsCentering { position: absolute; height: 100%; left: 3em; top: 3em; } #allianceRankings { max-width: 11em; max-height: 92%; display: flex; flex-flow: column wrap; overflow: hidden; background-color: #fff; border: 2px solid #222; font-size: 2em; font-family: "FuturaLT"; } .unpicked { width: 5.5em; display: flex; justify-content: start; } .unpicked-rank { width: 1.8em; text-align: right; color: #999; } .unpicked-team { margin-left: 0.3em; color: #222; } #allianceSelectionCentering { position: absolute; height: 100%; top: 3em; right: 3em; } #allianceSelection { display: table-cell; vertical-align: middle; } #allianceSelectionTable { background-color: #fff; border: 2px solid #222; text-align: center; font-family: "FuturaLT"; font-size: 2.6em; } #allianceSelectionTable tr:nth-child(even) { background-color: #ccc; } .alliance-cell { padding: 0px 20px; font-family: "FuturaLT"; color: #999; } .selection-cell { width: 3.1em; color: #222; } #lowerThird { display: none; position: absolute; left: -1000px; bottom: 100px; background-color: #fff; border: 1px solid #222; color: #222; font-size: 30px; width: 800px; height: 87px; } #lowerThirdLogo { margin: 12px 20px; height: 60px; float: left; } #lowerThirdTop { position: relative; top: 10px; display: none; font-family: "FuturaLTBold"; } #lowerThirdBottom { display: none; font-family: "FuturaLT"; font-size: 23px; position: relative; top: 5px; } #lowerThirdSingle { display: none; font-family: "FuturaLTBold"; line-height: 87px; } ================================================ FILE: static/css/bracket_display.css ================================================ /* Copyright 2022 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) */ html { height: 100%; cursor: default; -webkit-user-select: none; -moz-user-select: none; } body { height: 100%; background: -moz-linear-gradient(top, #003375 1%, #3C679D 100%); /* FF3.6+ */ background: -webkit-linear-gradient(top, #003375 1%, #3C679D 100%); /* Chrome10+,Safari5.1+ */ background-repeat: no-repeat; font-family: "FuturaLT"; } #column { width: 80%; height: 100%; margin: 0 auto; } #titlebar { padding: 40px 0px; line-height: 50px; font-size: 40px; font-family: "FuturaLTBold"; color: #fff; text-transform: uppercase; } #bracket { position: fixed; top: 0; bottom: 0; left: 0; right: 0; margin: auto auto; text-align: center; } ================================================ FILE: static/css/cheesy-arena.css ================================================ /* Copyright 2014 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) */ /* Bootstrap overrides. */ .form-control[disabled] { cursor: default; } .btn[disabled] { color: #000; opacity: 0.2; } /* New styles. */ @font-face { font-family: "FuturaLTBold"; src: url("fonts/futura-lt-bold.otf") format("opentype"); } @font-face { font-family: "FuturaLT"; src: url("fonts/futura-lt.otf") format("opentype"); } .red-text { color: #f00; } .blue-text { color: #00f; } .bg-red { background-color: #422 !important; } .bg-dark-red { background-color: #311 !important; } .bg-blue { background-color: #192945 !important; } .bg-dark-blue { background-color: #113 !important; } .bg-yellow { background-color: #442 !important; } .bg-green { background-color: #132 !important; } .col-no-padding { padding-left: 0; padding-right: 0; } .modal-large { width: 60%; } .team-number { height: 27px; } .ds-status, .radio-status, .robot-status, .bypass-status { background-color: #aaa; color: #000; border: 1px solid #999; border-radius: 4px; padding: 0px; width: 60px; height: 27px; line-height: 25px; font-size: 14px; margin: 0 auto; } .bypass-status { cursor: pointer; } [data-status-ok="true"], [data-status-ternary="2"] { background-color: #0e8; } [data-status-ok="false"], [data-status-ternary="0"] { background-color: #e66; } [data-status-ternary="1"] { background-color: #fc3; } [data-blink="true"] { background-color: #960; } .btn-match-play { width: 170px; height: 50px; line-height: 36px; font-size: 16px; } .btn-match-play-narrow { width: 139px; } .badge-scoring { background-color: #e66; } .badge-scoring[data-ready=true] { background-color: #0c6; } .badge-scoring[data-present=false] { background-color: #666; } .badge-status { background-color: #e66; } .badge-status[data-status=BOOTING] { background-color: #f92; } .badge-status[data-status=CONFIGURING], .badge-status[data-status=DISABLED] { background-color: #08f; } .badge-status[data-status=ACTIVE] { background-color: #0c6; } .badge-saved-match { background-color: #666; } .nowrap { white-space: nowrap; } .indentwrap p { margin: 8px 0px; padding-left: 20px; text-indent: -20px; } .btn-logs { width: 60px; } .btn-lower-third { width: 80px; } input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; } td[data-plc-value="false"] { color: #f00; } td[data-plc-value="true"] { color: #090; } .btn-game-sound { width: 190px; text-align: left; } .btn-purple { background-color: #90c; } .btn-purple:hover { background-color: #80b; } .btn-purple[disabled] { background-color: #639; } input[data-changed="true"], select[data-changed="true"] { border: 2px solid #f00; } .match-list { height: 610px; overflow-y: auto; } .match-list th { position: sticky; top: 0; } #testMatchSettings { display: none; } /* Placeholder styles for input fields*/ .col-lg-6 input::placeholder { color: #ff0000; /* Red placeholder text */ font-style: italic; opacity: 0.4; } .col-lg-2 input::placeholder { color: #ff0000; /* Red placeholder text */ font-style: italic; opacity: 0.4; } ================================================ FILE: static/css/field_monitor_display.css ================================================ /* Copyright 2018 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) */ html { height: 100%; overflow: hidden; } body { height: 100%; font-family: FuturaLTBold; color: #fff; background-color: #333; } .center { display: flex; align-items: center; justify-content: center; } .position-row { height: 29%; border-bottom: #333 solid 10px; } .position-row[data-ds="true"] { height: 31%; } .position-row[data-ds="true"][data-preMatch="false"] { display: none; } #matchStatusRow { height: 6%; display: flex; align-items: center; justify-content: space-between; background-color: #333; font-size: 1.5vw; text-transform: uppercase; } #matchStatusRow[data-ds="true"][data-preMatch="false"] { display: none; } #eventStatusRow { height: 7%; display: flex; align-items: center; justify-content: space-evenly; background-color: #333; font-size: 1.5vw; text-transform: uppercase; } #eventStatusRow[data-ds="true"] { display: none; } #eventStatusRow[data-fta="false"] { display: none; } .left-position, .right-position { width: 6%; height: 100%; font-size: 6vw; } .left-position[data-reversed=false], .right-position[data-reversed=true] { background-color: #f44; } .left-position[data-reversed=true], .right-position[data-reversed=false] { background-color: #2080ff; } .right-position[data-ds="true"] { display: none; } .team { width: 44%; height: 100%; background-color: #333; display: flex; flex-direction: column; } .team-left { border-right: #333 solid 5px; } .team-right { border-left: #333 solid 5px; } .team-id { width: 100%; height: 70%; font-size: 9vw; } .team-id[data-fta="true"] { height: 40%; font-size: 6vw; } .team-id[data-status=no-link], .team-notes[data-status=no-link] { background-color: #AAA; } .team-id[data-status=ds-linked], .team-notes[data-status=ds-linked] { background-color: #EDAB33; } .team-id[data-status=robot-linked], .team-notes[data-status=robot-linked] { background-color: #00ff00; color: #333; } .team-id[data-status=rio-linked], .team-notes[data-status=rio-linked] { background-color: #00cc00; } .team-id[data-status=radio-linked], .team-notes[data-status=radio-linked] { background-color: #AA3377; } .team-id[data-status=wrong-station], .team-notes[data-status=wrong-station] { background-color: #4477AA; } .team-box-row { display: flex; height: 30%; width: 100%; } .team-box { width: calc(100% / 6); height: 100%; font-size: 1.8vw; background-color: #333; } .team-box[data-status-ok="true"] { background-color: #00ff00; color: #333; } .team-box[data-status-ok="false"] { background-color: #f44; } .team-box i { margin-right: 0.5vw; } .team-left[data-ds="true"] { width: 100%; } .team-notes[data-fta="true"] { height: 40%; display: flex; justify-content: space-between; padding: 0.5vw; font-size: 1vw; } .team-notes[data-fta="false"] { display: none; } .team-notes[data-ds="true"] { display: none; } .team-notes div { width: 96%; height: 96%; white-space: pre; } .team-right[data-ds="true"] { display: none; } .team-stats { display: flex; flex-direction: column; justify-content: space-around; font-size: 1vw; font-family: FuturaLT; } .team-stats-row { display: flex; flex-direction: row; width: 100%; justify-content: center; align-items: center; } .team-stats-row span { font-family: FuturaLTBold; } textarea { width: 96%; height: 96%; background-color: #ccc; color: #000; } .left-score[data-fta="false"], .right-score[data-fta="false"] { display: none; } .left-score[data-reversed=false], .right-score[data-reversed=true] { color: #f44; } .left-score[data-reversed=true], .right-score[data-reversed=false] { color: #2080ff; } ================================================ FILE: static/css/logo_display.css ================================================ /* Copyright 2024 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) */ html { -webkit-user-select: none; -moz-user-select: none; overflow: hidden; height: 100%; } body { width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: #000; font-family: "FuturaLTBold"; color: #fff; } #logo #logoImg { height: 35vw; } #message { margin-top: 5vw; font-size: 3.5vw; line-height: 4.5vw; text-align: center; } ================================================ FILE: static/css/placeholder_display.css ================================================ /* Copyright 2018 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) */ html { -webkit-user-select: none; -moz-user-select: none; overflow: hidden; } body { background-color: #000; color: #ff0; text-align: center; font-family: "FuturaLTBold"; } #displayId { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto auto; height: 1px; line-height: 1px; font-size: 500px; } #displayNickname { position: absolute; bottom: 15%; left: 0; right: 0; margin: auto auto; height: 1px; line-height: 1px; font-size: 75px; } ================================================ FILE: static/css/queueing_display.css ================================================ /* Copyright 2018 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) */ html { height: 100%; cursor: none; -webkit-user-select: none; -moz-user-select: none; overflow: hidden; } body { height: 100%; background: -moz-linear-gradient(top, #003375 1%, #3C679D 100%); /* FF3.6+ */ background: -webkit-linear-gradient(top, #003375 1%, #3C679D 100%); /* Chrome10+,Safari5.1+ */ background-repeat: no-repeat; } #header { padding: 10px 0px; font-size: 40px; font-family: "FuturaLTBold"; color: #fff; text-transform: uppercase; } .card { background-color: #ccc; border: 1px solid #333; padding: 10px; margin-top: 0px; margin-bottom: 15px; } #matchState, #matchTime { font-size: 25px; color: #666; } #matchTime { font-weight: bold; } .red-teams, .blue-teams { font-family: FuturaLTBold; line-height: 48px; font-size: 42px; } .red-teams { color: #ff4444; } .blue-teams { color: #2080ff; } .avatars { line-height: 48px; } #earlyLateMessage { position: absolute; bottom: 40px; font-size: 25px; font-family: "FuturaLTBold"; color: #fff; text-align: center; text-transform: uppercase; } .alliance-container { display: flex; height: 144px; justify-content: space-between; align-items: center; } .alliance-tall { height: 192px; } .alliance-number { width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; background-color: #fc0; color: #333; border-radius: 50%; border: 1px solid #333; font-size: 25px; font-weight: bold; } ================================================ FILE: static/css/rankings_display.css ================================================ /* Copyright 2014 Team 254. All Rights Reserved. Author: nick@team254.com (Nick Eyre) Author: pat@patfairbank.com (Patrick Fairbank) */ html { height: 100%; cursor: default; -webkit-user-select: none; -moz-user-select: none; } body { height: 100%; background: -moz-linear-gradient(top, #003375 1%, #3C679D 100%); /* FF3.6+ */ background: -webkit-linear-gradient(top, #003375 1%, #3C679D 100%); /* Chrome10+,Safari5.1+ */ background-repeat: no-repeat; font-family: "FuturaLT"; } #column { width: 80%; height: 100%; margin: 0 auto; } #titlebar { padding: 20px 0px; line-height: 50px; font-size: 40px; font-family: "FuturaLTBold"; color: #fff; text-transform: uppercase; } #standings { border-radius: 10px; background-color: #fff; padding: 10px; height: 85%; } #header { width: 100%; text-align: center; font-size: 15px; font-weight: bold; color: #000; border-bottom: 1px solid #000; } #container { height: 93%; overflow-y: hidden; } #footer { text-align: right; font-size: 15px; color: #000; border-top: 1px solid #000; } .rankings-table { table-layout: fixed; text-align: center; font-size: 17px; color: #000; border-bottom: 3px solid #666; margin: 0; } .team-field { width: 8%; } .team-nickname { width: 20%; overflow: hidden; white-space: nowrap; text-align: left; } .rankings-table > tbody > tr > td { padding-left: 0; padding-right: 0; } #earlyLateMessage { margin-top: 10px; font-size: 25px; font-family: "FuturaLTBold"; color: #fff; text-align: center; text-transform: uppercase; } ================================================ FILE: static/css/referee_panel.css ================================================ /* Copyright 2023 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) */ html { -webkit-user-select: none; -moz-user-select: none; overscroll-behavior: none; } body { background-color: #222; overscroll-behavior: none; } h3 { color: #ccc; font-size: 1.5vw; } .container { padding-top: 1vw; width: 100%; max-width: none; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #fff; } #matchName { font-size: 2vw; } #refereePanel { width: 98%; display: flex; flex-direction: row; } #cards { display: flex; flex-direction: column; align-items: center; } #cards[data-hr="false"] { display: none; } .alliance-cards { padding: 0.5vw 1vw; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid #666; border-radius: 1vw; } #redCards { margin-bottom: 1vw; background-color: #322; } #blueCards { background-color: #223; } .team-card { margin: 0.5vw 0; width: 10vw; height: 3.5vw; font-size: 2.5vw; background-color: #444; display: flex; justify-content: center; align-items: center; border-radius: 0.2vw; } .team-card[data-card="yellow"] { background-color: #c90; } .team-card[data-card="red"] { background-color: #900; } .team-card[data-old-yellow-card="true"] { border: 0.3vw solid #ff0; } #scoringStatuses { margin-top: 0.5vw; } .scoring-status { margin-top: 0.5vw; width: 8vw; padding: 0.2vw 0.5vw; border-radius: 0.5vw; background-color: #e66; font-size: 0.8vw; color: #000; } .scoring-status[data-ready=true] { background-color: #0c6; } .scoring-status[data-present=false] { background-color: #666; } #fouls { display: flex; flex-direction: column; align-items: center; flex-grow: 1; } #foulButtons { display: flex; flex-direction: row; } .foul-button { width: 16vw; height: 6vw; font-size: 3vw; font-weight: bold; display: flex; justify-content: center; align-items: center; margin: 0 1vw; border-radius: 1vw; } .red-foul { background-color: #933; } .blue-foul { background-color: #26c; } #foulList { margin: 1vw 0; } .foul { margin-top: 1vw; height: 4vw; display: flex; flex-direction: row; justify-content: space-between; align-items: center; font-size: 1.8vw; border-radius: 0.5vw; } .foul > * { margin: 0 1vw; } .type-button { width: 9vw; height: 3vw; display: flex; justify-content: center; align-items: center; background-color: rgba(255, 255, 255, 0.1); border-radius: 0.2vw; } .team-buttons { display: flex; flex-direction: row; } .team-button { width: 6vw; height: 3vw; display: flex; justify-content: center; align-items: center; border-radius: 0.2vw; } .team-button[data-selected="true"] { border: solid 0.2vw #fff; } .rule-select { width: 25vw; height: 3vw; background-color: rgba(0, 0, 0, 0.1); border: 0; border-radius: 0.2vw; } .rule-select option { background-color: #222; color: #fff; } .delete-button { width: 6vw; height: 3vw; display: flex; justify-content: center; align-items: center; background-color: #444; border-radius: 0.2vw; } #controlButtons { width: 100%; margin: 1vw 0; display: flex; flex-direction: row; justify-content: center; } #controlButtons[data-hr="false"] { display: none; } .control-button { width: 20vw; height: 4vw; font-size: 2.2vw; display: flex; justify-content: center; align-items: center; margin: 0 1vw; border-radius: 0.2vw; opacity: 0.3; } .control-button[data-enabled=true] { opacity: 1; } #volunteerButton { background-color: #90c; } #resetButton { background-color: #093; } #commitButton { background-color: #26c; } #scoreSummary { width: 100%; display: flex; gap: 2vw; padding: 1vw 7vw; justify-content: space-evenly; text-align: center; } #scoreSummary[data-hr="false"] { display: none; } #scoreSummary > div { display: grid; grid-template-columns: repeat(4, 1fr); } #scoreSummary .placeholder { visibility: hidden; } #scoreSummary .wide-row { grid-column: span 3; } #scoreSummary .label { text-align: right; padding: 0 0.2vw; } ================================================ FILE: static/css/scoring_panel.css ================================================ /* Copyright 2019 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) Author: ian@yann.io (Ian Thompson) Styles for the scoring interface */ /* Color scheme definitions */ :root { /* Evergreen baseline color scheme */ --red-100: #fee7e7; --red-200: #fcb1b2; --red-300: #fa7375; --red-400: #ed1c24; --red-500: #ac1117; --red-600: #6f070b; --red-700: #370203; --blue-100: #ebf1ff; --blue-200: #c1d6ff; --blue-300: #7aafff; --blue-400: #008bf0; --blue-500: #0066b3; --blue-600: #00447a; --blue-700: #002445; --green-100: #cafec5; --green-200: #8cd27c; --green-300: #42c425; --green-400: #32991b; --green-500: #227111; --green-600: #144b08; --green-700: #072802; --purple-100: #f8eef7; --purple-200: #e6c3e4; --purple-300: #d391cf; --purple-400: #b366af; --purple-500: #834980; --purple-600: #452e54; --purple-700: #2d152c; --gray-100: #f0f1f1; --gray-200: #d4d5d7; --gray-300: #abaeb2; --gray-400: #85888d; --gray-500: #626468; --gray-600: #414245; --gray-700: #222325; } :root { /* Evergreen semantic color scheme */ --red-action: var(--red-400); --red-highlight: var(--red-500); --red-inactive: var(--red-200); --red-banner: var(--red-300); --red-overlay-background: var(--red-600); --red-background: var(--red-700); --blue-action: var(--blue-400); --blue-highlight: var(--blue-500); --blue-inactive: var(--blue-200); --blue-banner: var(--blue-300); --blue-overlay-background: var(--blue-600); --blue-background: var(--blue-700); --green-action: var(--green-400); --green-highlight: var(--green-500); --green-inactive: var(--green-200); --auto-action: #fbde0d; --auto-inactive: #fff088; --neutral-action: var(--gray-600); --neutral-highlight: var(--gray-700); --neutral-inactive: var(--gray-400); --text-active: #fff; --text-active-dark: #000; --text-inactive: var(--gray-100); --text-inactive-dark: var(--gray-300); --interaction-highlight: #abaeb21a; } :root { /* Game-specific color scheme */ --coral: var(--gray-100); --coral-auto: var(--auto-action); --reef-pole: var(--purple-400); } /* Specialize color scheme for the current alliance */ :root [data-alliance="red"] { --alliance-action: var(--red-action); --alliance-highlight: var(--red-highlight); --alliance-inactive: var(--red-inactive); --alliance-banner: var(--red-banner); --alliance-overlay-background: var(--red-overlay-background); --alliance-background: var(--red-background); --opponent-action: var(--blue-action); --opponent-highlight: var(--blue-highlight); --opponent-inactive: var(--blue-inactive); --opponent-banner: var(--blue-banner); --opponent-overlay-background: var(--blue-overlay-background); --opponent-background: var(--blue-background); } :root [data-alliance="blue"] { --alliance-action: var(--blue-action); --alliance-highlight: var(--blue-highlight); --alliance-inactive: var(--blue-inactive); --alliance-banner: var(--blue-banner); --alliance-overlay-background: var(--blue-overlay-background); --alliance-background: var(--blue-background); --opponent-action: var(--red-action); --opponent-highlight: var(--red-highlight); --opponent-inactive: var(--red-inactive); --opponent-banner: var(--red-banner); --opponent-overlay-background: var(--red-overlay-background); --opponent-background: var(--red-background); } /* Layout Parameters */ :root { --banner-title-angle: 30deg; --button-border-radius: 8px; } button { padding: 0; border: none; } button:hover:enabled { cursor: auto; } button:enabled:not(:active) { box-shadow: black 0px 4px 4px; } html { height: 100%; -webkit-user-select: none; -moz-user-select: none; user-select: none; overscroll-behavior: none; } body { height: 100%; touch-action: manipulation; } .container { padding: 0; width: 100%; max-width: none; height: 100%; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; background-color: var(--alliance-background); font-family: Helvetica, Arial, sans-serif; line-height: 1.2; text-align: center; } header { width: 100%; color: var(--text-active-dark); display: flex; align-items: center; justify-content: center; font-weight: bold; font-size: 18pt; } header:has(.banner-title) { background-color: var(--alliance-banner); } .banner-title, .banner-placeholder { flex: 1 1 0%; } .screen-title { contain: layout; background-color: #000; width: fit-content; color: var(--text-active); white-space: nowrap; font-weight: normal; z-index: 0; padding: 0 0.5em; } .screen-title::before, .screen-title::after { content: ''; position: absolute; width: 100%; height: 100%; background-color: black; z-index: -1; } .screen-title::before { left: 0; transform: skewX(var(--banner-title-angle)); transform-origin: left bottom; } .screen-title::after { right: 0; transform: skewX(calc(var(--banner-title-angle) * -1)); transform-origin: right bottom; } main { width: 100%; flex: 1; padding-bottom: 10px; display: flex; flex-direction: column; } #top-controls { height: 90px; padding: 10px 0; display: flex; justify-content: space-between; } #auto-controls, #endgame-controls { height: 100%; flex: 3 3 0%; padding: 0em 1em; display: flex; justify-content: space-evenly; gap: 1em; } #bottom-controls { padding: 10px 1em; display: flex; justify-content: space-around; } #l1-total { margin-top: 10px; color: var(--text-active); font-size: 18pt; font-weight: bold; } #commit { flex: 1 1 0%; height: 100%; border-radius: var(--button-border-radius); color: var(--text-active); background-color: var(--green-action); font-size: 18pt; font-weight: bold; padding: 0.2em; } #commit:disabled { visibility: hidden; } .team-button { border-radius: var(--button-border-radius); color: var(--text-active); overflow: clip; flex: 1 1 0%; height: 100%; font-size: 16pt; --button-top-color: var(--alliance-action); --button-bottom-default-color: var(--neutral-action); --button-bottom-selected-color: var(--alliance-highlight); } .team-button:disabled { --button-top-color: var(--alliance-inactive); --button-bottom-default-color: var(--neutral-inactive); --button-bottom-selected-color: var(--alliance-highlight); } .team-button .team-num { height: 50%; align-content: center; padding: 0 0.2em; background-color: var(--button-top-color); } .team-button .team-text { height: 50%; align-content: center; padding: 0 0.2em; background-color: var(--button-bottom-default-color); } .team-button[data-selected="true"] .team-text { background-color: var(--button-bottom-selected-color); } .reef-image { --l4-coral-display: none; --l4-coral-auto-display: none; --l3-coral-display: none; --l3-coral-auto-display: none; --l2-coral-display: none; --l2-coral-auto-display: none; } [data-l4-scored="true"] .reef-image { --l4-coral-display: auto; } [data-l4-auto-scored="true"] .reef-image { --l4-coral-auto-display: auto; } [data-l3-scored="true"] .reef-image { --l3-coral-display: auto; } [data-l3-auto-scored="true"] .reef-image { --l3-coral-auto-display: auto; } [data-l2-scored="true"] .reef-image { --l2-coral-display: auto; } [data-l2-auto-scored="true"] .reef-image { --l2-coral-auto-display: auto; } #reef-controls { flex: 1 1 0%; contain: layout; display: flex; justify-content: space-evenly; align-items: center; gap: 10px; } #reef-controls-warning { position: absolute; height: 100%; opacity: 0; transition: opacity 0.2s ease-in-out; } [data-scoring-auto="true"][data-in-teleop="true"] #reef-controls-warning { opacity: 1; transition: opacity 0.2s ease-in-out; } .reef-column { height: 100%; flex-grow: 1; max-width: 200px; container-type: size; display: flex; flex-direction: column; justify-content: center; } .reef-column-contents { contain: layout; display: flex; flex-direction: column; align-items: center; gap: 10px; } @container (aspect-ratio < 0.25) { .reef-column-contents { aspect-ratio: 1 / 4; } } @container (aspect-ratio >=0.25) { .reef-column-contents { height: 100%; } } .reef-column .reef-image { position: absolute; height: 100%; } .reef-column:nth-of-type(-n + 3) .reef-image { transform: scale(-1, 1); } .reef-column button { width: 100%; flex: 1 1 0%; z-index: 1; background: none; } .reef-column button:enabled { background-color: var(--interaction-highlight); } #edit-auto { flex: 1 1 0%; border-radius: var(--button-border-radius); color: var(--text-active-dark); height: 100%; background-color: var(--auto-action); font-size: 18pt; font-weight: bold; padding: 0.2em; } #edit-auto:disabled { visibility: hidden; } [data-scoring-auto="true"] #edit-auto { background-color: var(--green-action); color: var(--text-active); } .counter-wrapper { flex: 3 3 0%; display: flex; justify-content: center; } .counter { height: 90px; max-width: 400px; width: 100%; margin: 0 10px; border-radius: var(--button-border-radius); overflow: clip; display: flex; } .counter:has(button:enabled) { color: var(--text-active-dark); box-shadow: black 0px 4px 4px; } .counter:not(:has(button:enabled)) { color: var(--text-inactive-dark); } .counter button { flex: 1 1 0%; color: var(--text-active); background-color: var(--alliance-action); font-size: 24pt; font-weight: bold; display: grid; place-items: center; z-index: 1; padding: 0.2em; } .counter button:enabled:not(:active) { box-shadow: black 0px 0px 4px; } .counter button:disabled { background-color: var(--alliance-inactive); color: var(--text-inactive); } .counter-status { flex: 2 2 0%; background-color: #fff; display: flex; flex-direction: column; justify-content: center; } .counter-label { font-size: 12pt; padding: 0 0.2em 5px 0.2em; } .counter-value { font-weight: bold; } .counter-main-value { font-size: 28pt; transition: font-size 0.2s ease-in-out; } .counter-main-clone { font-size: 0; transition: font-size 0.2s ease-in-out; } .counter-auto-value { font-size: 12pt; transition: font-size 0.2s ease-in-out; font-weight: bold; } .counter-auto-row { background-color: var(--auto-inactive); color: var(--text-inactive-dark); height: 100%; display: flex; justify-content: center; align-items: center; gap: 0.1em; font-size: 12pt; transition: font-size 0.2s ease-in-out; } [data-scoring-auto="true"] .counter-auto-row, [data-scoring-auto="true"] .counter-status:has(.counter-auto-row) .counter-main-value { font-size: 0pt; } [data-scoring-auto="true"] .counter-auto-value { font-size: 28pt; } [data-scoring-auto="true"] .counter-main-clone { font-size: 12pt; } .counter:has(button:enabled) .counter-auto-row { background-color: var(--auto-action); color: var(--text-active-dark); box-shadow: black 0px 0px 2px; } #fouls-button { flex: 0.5 0.5 0%; border-radius: var(--button-border-radius); color: var(--text-active-dark); height: 100%; background-color: var(--auto-action); font-size: 18pt; font-weight: bold; padding: 0.2em; } #fouls-button:disabled { color: var(--text-inactive-dark); background-color: var(--auto-inactive); } dialog { padding: 0; border: none; border-radius: 16px; overflow: clip; font-size: 18pt; font-weight: bold; background-color: var(--alliance-overlay-background); } .dialog-container { max-width: 700px; width: 80vw; padding-bottom: 20px; display: flex; flex-direction: column; } dialog::backdrop { background-color: rgba(0, 0, 0, 0.75); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); } .dialog-banner { padding: 5px; font-size: 24pt; font-weight: bold; background-color: var(--alliance-banner); color: var(--text-active-dark); } #endgame-scoring { padding: 20px; display: flex; gap: 20px; } .endgame-input { flex: 1 1 0%; padding: 10px; background-color: var(--alliance-action); border-radius: 8px; display: flex; flex-direction: column; gap: 16px; } #endgame-dialog button { cursor: auto; height: 68px; border: none; outline: none; border-radius: var(--button-border-radius); background-color: var(--neutral-action); color: var(--text-active); box-shadow: none; } #endgame-dialog button:enabled:not([data-selected="true"]) { box-shadow: black 0px 4px 4px; } #endgame-dialog button[data-selected="true"] { background-color: var(--alliance-highlight); } .dialog-close { padding: 20px; width: 29%; align-self: center; border: none; outline: none; border-radius: var(--button-border-radius); background-color: var(--neutral-action); color: var(--text-active); } #fouls-dialog button { cursor: auto; height: 68px; border-radius: var(--button-border-radius); } #foul-container { display: grid; grid-template-columns: repeat(2, 1fr); align-self: center; gap: 20px; padding: 20px; } #foul-container .foul-button { height: 120px; width: 300px; } .foul-button.red { background-color: var(--red-action); } .foul-button.blue { background-color: var(--blue-action); } .foul-button-label { font-size: 24pt; font-weight: bold; } ================================================ FILE: static/css/twitch_display.css ================================================ /* Copyright 2018 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) */ html { overflow: hidden; } body { margin: 0; background-color: #000; } ================================================ FILE: static/css/wall_display.css ================================================ /* Copyright 2023 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) */ html { cursor: none; -webkit-user-select: none; -moz-user-select: none; overflow: hidden; } #overlayCentering { position: absolute; top: -200px; width: 100%; height: 170px; display: flex; flex-direction: column; align-items: center; } #matchOverlayContainer { display: flex; } #matchOverlay { display: flex; flex-direction: column; border: 1px solid #222; color: #222; font-size: 22px; } #matchOverlayTop { height: 100px; display: flex; } .playoff-alliance { position: relative; top: 31px; width: 40px; height: 40px; padding: 0 5px; z-index: -1; display: flex; align-items: center; background-color: #fc0; color: #222; border: 1px solid #222; font-size: 15px; font-weight: 200; } #leftPlayoffAlliance { left: 23px; justify-content: start; border-top-left-radius: 50%; border-bottom-left-radius: 50%; border-right: none; } #rightPlayoffAlliance { right: 23px; justify-content: end; border-top-right-radius: 50%; border-bottom-right-radius: 50%; border-left: none; } .teams { width: 70px; height: 100%; display: none; flex-direction: column; justify-content: space-evenly; align-items: center; background-color: #fff; font-family: "FuturaLT"; font-size: 20px; line-height: 25px; } .teams div[data-yellow-card=true] { width: 90%; height: 32%; border-radius: 0.2vw; display: flex; justify-content: center; align-items: center; background-color: #fc0; } #leftTeams { border-right: 1px solid #222; } #rightTeams { border-left: 1px solid #222; } .reversible-left[data-reversed=false], .reversible-right[data-reversed=true] { background-color: #ff4444; } .reversible-left[data-reversed=true], .reversible-right[data-reversed=false] { background-color: #2080ff; } .score { width: 0; height: 100%; display: flex; justify-content: flex-start; } .score-right { justify-content: flex-end; } .avatars { min-width: 50px; height: 100%; display: none; flex-direction: column; justify-content: space-evenly; align-items: center; } .avatar { height: 25px; } .score-number { width: 130px; height: 100%; display: flex; justify-content: center; align-items: center; font-family: "FuturaLTBold"; font-size: 55px; color: #fff; opacity: 0; } .score-fields { height: 100%; width: 0; display: none; flex-direction: row; justify-content: space-evenly; opacity: 0; } #matchOverlayAux { display: flex; flex-direction: row; position: absolute; bottom: 175px; } .score-aux { width: 200px; height: 100px; display: flex; flex-direction: column; justify-content: space-evenly; align-items: flex-start; border-radius: 10px; opacity: 0; } #leftScoreAux { margin-right: 5px; padding-right: 35px; } #rightScoreAux { padding-left: 35px; align-items: flex-end; } .score-field { display: flex; flex-direction: row; } .coral-icon { width: 35px; margin: 0 25px; } .algae-icon { width: 31px; margin: 0 27px; } .score-field > div { display: flex; justify-content: center; align-items: center; width: 80px; font-family: "FuturaLTBold"; font-size: 27px; line-height: 27px; color: #fff; } #matchCircle { position: absolute; top: -25px; border-radius: 50%; width: 150px; height: 150px; background-color: #fff; border: 1px solid #222; } #logo { position: relative; top: 38px; height: 70px; } #matchTime { position: relative; top: 17px; height: 60px; color: #222; font-family: "FuturaLTBold"; font-size: 32px; opacity: 0; } #eventMatchInfo { height: 0; display: none; justify-content: space-between; z-index: -1; align-items: flex-end; padding: 0 5px; background-color: #444; font-family: "FuturaLT"; font-size: 15px; line-height: 30px; color: #fff; } #playoffSeriesStatus { width: 40px; height: 18px; display: none; justify-content: center; align-items: center; background-color: #fc0; color: #222; border: 1px solid #222; border-top: none; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; font-size: 15px; font-weight: 200; } #timeoutDetails { position: absolute; bottom: 95px; width: 140px; height: 50px; z-index: -1; padding: 0 20px; display: flex; flex-direction: row; justify-content: space-between; align-items: center; background-color: #fff; color: #222; border: 1px solid #222; } #timeoutBreakDescription { font-weight: bold; font-size: 20px; opacity: 0; } #timeoutNextMatch { text-align: center; font-weight: bold; font-size: 14px; opacity: 0; } #message { position: absolute; display: none; opacity: 0; top: 130px; font-size: 1.4vw; font-family: "FuturaLTBold"; color: #fff; } ================================================ FILE: static/css/webpage_display.css ================================================ /* Copyright 2024 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) */ html { overflow: hidden; } body { margin: 0; background-color: #000; } #webpageFrame { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; } ================================================ FILE: static/js/alliance_selection.js ================================================ // Copyright 2024 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Client-side logic for the alliance selection page. var websocket; // Sends a websocket message to set the timer to the given time limit. const setTimer = function (timeLimitInput) { document.getElementById("timeLimitSecInput").value = timeLimitInput.value; websocket.send("setTimer", parseInt(timeLimitInput.value)); } // Sends a websocket message to start and show the timer. const startTimer = function () { websocket.send("startTimer"); }; // Sends a websocket message to hide the timer. const hideTimer = function() { websocket.send("hideTimer"); } // Sends a websocket message to stop the timer. const stopTimer = function () { websocket.send("stopTimer"); } // Sends a websocket message to restart the timer. const restartTimer = function () { websocket.send("restartTimer"); }; // Handles a websocket message to update the alliance selection status. const handleAllianceSelection = function (data) { $("#timer").text(getCountdownString(data.TimeRemainingSec)); }; // Handles a websocket message to update the audience display screen selector. const handleAudienceDisplayMode = function (data) { $("input[name=audienceDisplay]:checked").prop("checked", false); $("input[name=audienceDisplay][value=" + data + "]").prop("checked", true); }; // Sends a websocket message to change what the audience display is showing. const setAudienceDisplay = function () { websocket.send("setAudienceDisplay", $("input[name=audienceDisplay]:checked").val()); }; $(function () { // Activate playoff tournament datetime picker. const startTime = moment(new Date()).hour(13).minute(0).second(0); newDateTimePicker("startTimePicker", startTime.toDate()); // Set up the websocket back to the server. websocket = new CheesyWebsocket("/alliance_selection/websocket", { allianceSelection: function (event) { handleAllianceSelection(event.data); }, audienceDisplayMode: function (event) { handleAudienceDisplayMode(event.data); }, }); }); ================================================ FILE: static/js/alliance_station_display.js ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Client-side methods for the alliance station display. var station = ""; var blinkInterval; var currentScreen = "blank"; var websocket; // Handles a websocket message to change which screen is displayed. var handleAllianceStationDisplayMode = function (targetScreen) { currentScreen = targetScreen; if (station === "") { // Don't do anything if this screen hasn't been assigned a position yet. } else { var body = $("body"); body.attr("data-mode", targetScreen); if (targetScreen === "timeout") { body.attr("data-position", "middle"); } else { switch (station[1]) { case "1": body.attr("data-position", "right"); break; case "2": body.attr("data-position", "middle"); break; case "3": body.attr("data-position", "left"); break; } } } }; // Handles a websocket message to update the team to display. var handleMatchLoad = function (data) { if (station !== "") { var team = data.Teams[station]; if (team) { $("#teamNumber").text(team.Id); $("#teamNameText").attr("data-alliance-bg", station[0]).text(team.Nickname); var ranking = data.Rankings[team.Id]; if (ranking && data.Match.Type === matchTypeQualification) { $("#teamRank").attr("data-alliance-bg", station[0]).text(ranking); } else { $("#teamRank").attr("data-alliance-bg", station[0]).text(""); } } else { $("#teamNumber").text(""); $("#teamNameText").attr("data-alliance-bg", station[0]).text(""); $("#teamRank").attr("data-alliance-bg", station[0]).text(""); } // Populate extra alliance info if this is a playoff match. let playoffAlliance = data.Match.PlayoffRedAlliance; let offFieldTeams = data.RedOffFieldTeams; if (station[0] === "B") { playoffAlliance = data.Match.PlayoffBlueAlliance; offFieldTeams = data.BlueOffFieldTeams; } if (playoffAlliance > 0) { let playoffAllianceInfo = `Alliance ${playoffAlliance}`; if (offFieldTeams.length) { playoffAllianceInfo += `  Not on field: ${offFieldTeams.map(team => team.Id).join(", ")}`; } $("#playoffAllianceInfo").html(playoffAllianceInfo); } else { $("#playoffAllianceInfo").text(""); } } }; // Handles a websocket message to update the team connection status. var handleArenaStatus = function (data) { stationStatus = data.AllianceStations[station]; var blink = false; if (stationStatus && stationStatus.Bypass) { $("#match").attr("data-status", "bypass"); } else if (stationStatus) { if (!stationStatus.DsConn || !stationStatus.DsConn.DsLinked) { $("#match").attr("data-status", station[0]); } else if (!stationStatus.DsConn.RobotLinked) { blink = true; if (!blinkInterval) { blinkInterval = setInterval(function () { var status = $("#match").attr("data-status"); $("#match").attr("data-status", (status === "") ? station[0] : ""); }, 250); } } else { $("#match").attr("data-status", ""); } } if (!blink && blinkInterval) { clearInterval(blinkInterval); blinkInterval = null; } }; // Handles a websocket message to update the match time countdown. var handleMatchTime = function (data) { translateMatchTime(data, function (matchState, matchStateText, countdownSec) { if (station[0] === "N") { // Pin the state for a non-alliance display to an in-match state, so as to always show time or score. matchState = "TELEOP_PERIOD"; } var countdownString = String(countdownSec % 60); if (countdownString.length === 1) { countdownString = "0" + countdownString; } countdownString = Math.floor(countdownSec / 60) + ":" + countdownString; $("#timeRemaining").text(countdownString); $("#match").attr("data-state", matchState); }); }; // Handles a websocket message to update the match score. var handleRealtimeScore = function (data) { $("#redScore").text( data.Red.ScoreSummary.Score - data.Red.ScoreSummary.BargePoints ); $("#blueScore").text( data.Blue.ScoreSummary.Score - data.Blue.ScoreSummary.BargePoints ); }; $(function () { // Read the configuration for this display from the URL query string. var urlParams = new URLSearchParams(window.location.search); station = urlParams.get("station"); // Set up the websocket back to the server. websocket = new CheesyWebsocket("/displays/alliance_station/websocket", { allianceStationDisplayMode: function (event) { handleAllianceStationDisplayMode(event.data); }, arenaStatus: function (event) { handleArenaStatus(event.data); }, matchLoad: function (event) { handleMatchLoad(event.data); }, matchTime: function (event) { handleMatchTime(event.data); }, matchTiming: function (event) { handleMatchTiming(event.data); }, realtimeScore: function (event) { handleRealtimeScore(event.data); } }); }); ================================================ FILE: static/js/announcer_display.js ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Client-side logic for the announcer display. var websocket; let isFirstScorePosted = true; // Handles a websocket message to hide the score dialog once the next match is being introduced. var handleAudienceDisplayMode = function (targetScreen) { // Hide the final results so that they aren't blocking the current teams when the announcer needs them most. if (targetScreen === "intro" || targetScreen === "match") { $("#matchResult").modal("hide"); } }; // Handles a websocket message to update the event status message. const handleEventStatus = function (data) { if (data.CycleTime === "") { $("#cycleTimeMessage").text("Last cycle time: Unknown"); } else { $("#cycleTimeMessage").text("Last cycle time: " + data.CycleTime); } $("#earlyLateMessage").text(data.EarlyLateMessage); }; // Handles a websocket message to update the teams for the current match. var handleMatchLoad = function (data) { $("#matchName").text(data.Match.LongName); const teams = $("#teams"); teams.empty(); fetch("/displays/announcer/match_load") .then(response => response.text()) .then(html => teams.html(html)); }; // Handles a websocket message to update the match time countdown. var handleMatchTime = function (data) { translateMatchTime(data, function (matchState, matchStateText, countdownSec) { $("#matchState").text(matchStateText); $("#matchTime").text(getCountdown(data.MatchState, data.MatchTimeSec)); }); }; // Handles a websocket message to update the match score. var handleRealtimeScore = function (data) { $("#redScore").text(data.Red.ScoreSummary.Score - data.Red.ScoreSummary.BargePoints); $("#blueScore").text(data.Blue.ScoreSummary.Score - data.Blue.ScoreSummary.BargePoints); }; // Handles a websocket message to populate the final score data. var handleScorePosted = function (data) { if (isFirstScorePosted) { // Don't show the final score dialog when the page is first loaded. isFirstScorePosted = false; return; } const matchResult = document.getElementById("matchResult"); fetch("/displays/announcer/score_posted") .then(response => response.text()) .then(html => { matchResult.innerHTML = html; const modal = new bootstrap.Modal(matchResult); modal.show(); // Activate tooltips above the foul listings. const tooltipTriggerList = document.querySelectorAll("[data-bs-toggle=tooltip]"); const tooltipList = [...tooltipTriggerList].map(element => new bootstrap.Tooltip(element)); }); }; $(function () { // Set up the websocket back to the server. websocket = new CheesyWebsocket("/displays/announcer/websocket", { audienceDisplayMode: function (event) { handleAudienceDisplayMode(event.data); }, eventStatus: function (event) { handleEventStatus(event.data); }, matchLoad: function (event) { handleMatchLoad(event.data); }, matchTime: function (event) { handleMatchTime(event.data); }, matchTiming: function (event) { handleMatchTiming(event.data); }, realtimeScore: function (event) { handleRealtimeScore(event.data); }, scorePosted: function (event) { handleScorePosted(event.data); } }); // Make the score blink. setInterval(function () { var blinkOn = $("#savedMatchResult").attr("data-blink") === "true"; $("#savedMatchResult").attr("data-blink", !blinkOn); }, 500); }); ================================================ FILE: static/js/audience_display.js ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // Author: nick@team254.com (Nick Eyre) // // Client-side methods for the audience display. var websocket; let transitionMap; const transitionQueue = []; let transitionInProgress = false; let currentScreen = "blank"; let redSide; let blueSide; let currentMatch; let overlayCenteringHideParams; let overlayCenteringShowParams; const allianceSelectionTemplate = Handlebars.compile($("#allianceSelectionTemplate").html()); const sponsorImageTemplate = Handlebars.compile($("#sponsorImageTemplate").html()); const sponsorTextTemplate = Handlebars.compile($("#sponsorTextTemplate").html()); // Constants for overlay positioning. The CSS is the source of truth for the values that represent initial state. const overlayCenteringTopUp = "-130px"; const overlayCenteringBottomHideParams = {queue: false, bottom: $("#overlayCentering").css("bottom")}; const overlayCenteringBottomShowParams = {queue: false, bottom: "0px"}; const overlayCenteringTopHideParams = {queue: false, top: overlayCenteringTopUp}; const overlayCenteringTopShowParams = {queue: false, top: "50px"}; const eventMatchInfoDown = "30px"; const eventMatchInfoUp = $("#eventMatchInfo").css("height"); const logoUp = "20px"; const logoDown = $("#logo").css("top"); const scoreIn = $(".score").css("width"); const scoreMid = "185px"; const scoreOut = "370px"; const scoreFieldsOut = "150px"; const scoreLogoTop = "-530px"; const bracketLogoTop = "-780px"; const bracketLogoScale = 0.75; const timeoutDetailsIn = $("#timeoutDetails").css("width"); const timeoutDetailsOut = "570px"; // Handles a websocket message to change which screen is displayed. const handleAudienceDisplayMode = function (targetScreen) { transitionQueue.push(targetScreen); executeTransitionQueue(); }; // Sequentially executes all transitions in the queue. Returns without doing anything if another invocation is already // in progress. const executeTransitionQueue = function () { if (transitionInProgress) { // There is an existing invocation of this method which will execute all transitions in the queue. return; } if (transitionQueue.length > 0) { transitionInProgress = true; const targetScreen = transitionQueue.shift(); const callback = function () { // When the current transition is complete, call this method again to invoke the next one in the queue. currentScreen = targetScreen; transitionInProgress = false; setTimeout(executeTransitionQueue, 100); // A small delay is needed to avoid visual glitches. }; if (targetScreen === currentScreen) { callback(); return; } if (targetScreen === "sponsor") { initializeSponsorDisplay(); } let transitions = transitionMap[currentScreen][targetScreen]; if (transitions !== undefined) { transitions(callback); } else { // There is no direct transition defined; need to go to the blank screen first. transitionMap[currentScreen]["blank"](function () { transitionMap["blank"][targetScreen](callback); }); } } }; // Handles a websocket message to update the teams for the current match. const handleMatchLoad = function (data) { currentMatch = data.Match; $(`#${redSide}Team1`).text(currentMatch.Red1); $(`#${redSide}Team1`).attr("data-yellow-card", data.Teams["R1"]?.YellowCard); $(`#${redSide}Team2`).text(currentMatch.Red2); $(`#${redSide}Team2`).attr("data-yellow-card", data.Teams["R2"]?.YellowCard); $(`#${redSide}Team3`).text(currentMatch.Red3); $(`#${redSide}Team3`).attr("data-yellow-card", data.Teams["R3"]?.YellowCard); $(`#${redSide}Team1Avatar`).attr("src", getAvatarUrl(currentMatch.Red1)); $(`#${redSide}Team2Avatar`).attr("src", getAvatarUrl(currentMatch.Red2)); $(`#${redSide}Team3Avatar`).attr("src", getAvatarUrl(currentMatch.Red3)); $(`#${blueSide}Team1`).text(currentMatch.Blue1); $(`#${blueSide}Team1`).attr("data-yellow-card", data.Teams["B1"]?.YellowCard); $(`#${blueSide}Team2`).text(currentMatch.Blue2); $(`#${blueSide}Team2`).attr("data-yellow-card", data.Teams["B2"]?.YellowCard); $(`#${blueSide}Team3`).text(currentMatch.Blue3); $(`#${blueSide}Team3`).attr("data-yellow-card", data.Teams["B3"]?.YellowCard); $(`#${blueSide}Team1Avatar`).attr("src", getAvatarUrl(currentMatch.Blue1)); $(`#${blueSide}Team2Avatar`).attr("src", getAvatarUrl(currentMatch.Blue2)); $(`#${blueSide}Team3Avatar`).attr("src", getAvatarUrl(currentMatch.Blue3)); // Show alliance numbers if this is a playoff match. if (currentMatch.Type === matchTypePlayoff) { $(`#${redSide}PlayoffAlliance`).text(currentMatch.PlayoffRedAlliance); $(`#${blueSide}PlayoffAlliance`).text(currentMatch.PlayoffBlueAlliance); $(".playoff-alliance").show(); // Show the series status if this playoff round isn't just a single match. if (data.Matchup.NumWinsToAdvance > 1) { $(`#${redSide}PlayoffAllianceWins`).text(data.Matchup.RedAllianceWins); $(`#${blueSide}PlayoffAllianceWins`).text(data.Matchup.BlueAllianceWins); $("#playoffSeriesStatus").css("display", "flex"); } else { $("#playoffSeriesStatus").hide(); } } else { $(`#${redSide}PlayoffAlliance`).text(""); $(`#${blueSide}PlayoffAlliance`).text(""); $(".playoff-alliance").hide(); $("#playoffSeriesStatus").hide(); } let matchName = data.Match.LongName; if (data.Match.NameDetail !== "") { matchName += " – " + data.Match.NameDetail; } $("#matchName").html(matchName); $("#timeoutNextMatchName").html(matchName); $("#timeoutBreakDescription").text(data.BreakDescription); }; // Handles a websocket message to update the match time countdown. const handleMatchTime = function (data) { translateMatchTime(data, function (matchState, matchStateText, countdownSec) { $("#matchTime").text(getCountdownString(countdownSec)); }); }; // Handles a websocket message to update the match score. const handleRealtimeScore = function (data) { $(`#${redSide}ScoreNumber`).text(data.Red.ScoreSummary.Score - data.Red.ScoreSummary.BargePoints); $(`#${blueSide}ScoreNumber`).text(data.Blue.ScoreSummary.Score - data.Blue.ScoreSummary.BargePoints); let redCoral, blueCoral; if (currentMatch.Type === matchTypePlayoff) { redCoral = data.Red.ScoreSummary.NumCoral; blueCoral = data.Blue.ScoreSummary.NumCoral; } else { redCoral = `${data.Red.ScoreSummary.NumCoralLevels}/${data.Red.ScoreSummary.NumCoralLevelsGoal}`; blueCoral = `${data.Blue.ScoreSummary.NumCoralLevels}/${data.Blue.ScoreSummary.NumCoralLevelsGoal}`; } $(`#${redSide}Coral`).text(redCoral); $(`#${redSide}Algae`).text(data.Red.ScoreSummary.NumAlgae); $(`#${blueSide}Coral`).text(blueCoral); $(`#${blueSide}Algae`).text(data.Blue.ScoreSummary.NumAlgae); }; // Handles a websocket message to populate the final score data. const handleScorePosted = function (data) { $(`#${redSide}FinalScore`).text(data.RedScoreSummary.Score); $(`#${redSide}FinalAlliance`).text("Alliance " + data.Match.PlayoffRedAlliance); setTeamInfo(redSide, 1, data.Match.Red1, data.RedCards, data.RedRankings); setTeamInfo(redSide, 2, data.Match.Red2, data.RedCards, data.RedRankings); setTeamInfo(redSide, 3, data.Match.Red3, data.RedCards, data.RedRankings); if (data.RedOffFieldTeamIds.length > 0) { setTeamInfo(redSide, 4, data.RedOffFieldTeamIds[0], data.RedCards, data.RedRankings); } else { setTeamInfo(redSide, 4, 0, data.RedCards, data.RedRankings); } $(`#${redSide}FinalLeavePoints`).text(data.RedScoreSummary.LeavePoints); $(`#${redSide}FinalCoralPoints`).text(data.RedScoreSummary.CoralPoints); $(`#${redSide}FinalAlgaePoints`).text(data.RedScoreSummary.AlgaePoints); $(`#${redSide}FinalBargePoints`).text(data.RedScoreSummary.BargePoints); $(`#${redSide}FinalFoulPoints`).text(data.RedScoreSummary.FoulPoints); $(`#${redSide}FinalCoopertitionBonus`).html( data.RedScoreSummary.CoopertitionBonus ? "✔" : "✘" ); $(`#${redSide}FinalCoopertitionBonus`).attr( "data-checked", data.RedScoreSummary.CoopertitionBonus ); $(`#${redSide}FinalAutoBonusRankingPoint`).html( data.RedScoreSummary.AutoBonusRankingPoint ? "✔" : "✘" ); $(`#${redSide}FinalAutoBonusRankingPoint`).attr( "data-checked", data.RedScoreSummary.AutoBonusRankingPoint ); $(`#${redSide}FinalCoralBonusRankingPoint`).html( data.RedScoreSummary.CoralBonusRankingPoint ? "✔" : "✘" ); $(`#${redSide}FinalCoralBonusRankingPoint`).attr( "data-checked", data.RedScoreSummary.CoralBonusRankingPoint ); $(`#${redSide}FinalBargeBonusRankingPoint`).html( data.RedScoreSummary.BargeBonusRankingPoint ? "✔" : "✘" ); $(`#${redSide}FinalBargeBonusRankingPoint`).attr( "data-checked", data.RedScoreSummary.BargeBonusRankingPoint ); $(`#${redSide}FinalRankingPoints`).html(data.RedRankingPoints); $(`#${redSide}FinalWins`).text(data.RedWins); const redFinalDestination = $(`#${redSide}FinalDestination`); redFinalDestination.html(data.RedDestination.replace("Advances to ", "Advances to
")); redFinalDestination.toggle(data.RedDestination !== ""); redFinalDestination.attr("data-won", data.RedWon); $(`#${blueSide}FinalScore`).text(data.BlueScoreSummary.Score); $(`#${blueSide}FinalAlliance`).text("Alliance " + data.Match.PlayoffBlueAlliance); setTeamInfo(blueSide, 1, data.Match.Blue1, data.BlueCards, data.BlueRankings); setTeamInfo(blueSide, 2, data.Match.Blue2, data.BlueCards, data.BlueRankings); setTeamInfo(blueSide, 3, data.Match.Blue3, data.BlueCards, data.BlueRankings); if (data.BlueOffFieldTeamIds.length > 0) { setTeamInfo(blueSide, 4, data.BlueOffFieldTeamIds[0], data.BlueCards, data.BlueRankings); } else { setTeamInfo(blueSide, 4, 0, data.BlueCards, data.BlueRankings); } $(`#${blueSide}FinalLeavePoints`).text(data.BlueScoreSummary.LeavePoints); $(`#${blueSide}FinalCoralPoints`).text(data.BlueScoreSummary.CoralPoints); $(`#${blueSide}FinalAlgaePoints`).text(data.BlueScoreSummary.AlgaePoints); $(`#${blueSide}FinalBargePoints`).text(data.BlueScoreSummary.BargePoints); $(`#${blueSide}FinalFoulPoints`).text(data.BlueScoreSummary.FoulPoints); $(`#${blueSide}FinalCoopertitionBonus`).html( data.BlueScoreSummary.CoopertitionBonus ? "✔" : "✘" ); $(`#${blueSide}FinalCoopertitionBonus`).attr( "data-checked", data.BlueScoreSummary.CoopertitionBonus ); $(`#${blueSide}FinalAutoBonusRankingPoint`).html( data.BlueScoreSummary.AutoBonusRankingPoint ? "✔" : "✘" ); $(`#${blueSide}FinalAutoBonusRankingPoint`).attr( "data-checked", data.BlueScoreSummary.AutoBonusRankingPoint ); $(`#${blueSide}FinalCoralBonusRankingPoint`).html( data.BlueScoreSummary.CoralBonusRankingPoint ? "✔" : "✘" ); $(`#${blueSide}FinalCoralBonusRankingPoint`).attr( "data-checked", data.BlueScoreSummary.CoralBonusRankingPoint ); $(`#${blueSide}FinalBargeBonusRankingPoint`).html( data.BlueScoreSummary.BargeBonusRankingPoint ? "✔" : "✘" ); $(`#${blueSide}FinalBargeBonusRankingPoint`).attr( "data-checked", data.BlueScoreSummary.BargeBonusRankingPoint ); $(`#${blueSide}FinalRankingPoints`).html(data.BlueRankingPoints); $(`#${blueSide}FinalWins`).text(data.BlueWins); const blueFinalDestination = $(`#${blueSide}FinalDestination`); blueFinalDestination.html(data.BlueDestination.replace("Advances to ", "Advances to
")); blueFinalDestination.toggle(data.BlueDestination !== ""); blueFinalDestination.attr("data-won", data.BlueWon); let matchName = data.Match.LongName; if (data.Match.NameDetail !== "") { matchName += " – " + data.Match.NameDetail; } $("#finalMatchName").html(matchName); // Reload the bracket to reflect any changes. $("#bracketSvg").attr("src", "/api/bracket/svg?activeMatch=saved&v=" + new Date().getTime()); if (data.Match.Type === matchTypePlayoff) { // Hide bonus ranking points and show playoff-only fields. $(".playoff-hidden-field").hide(); $(".playoff-only-field").show(); } else { $(".playoff-hidden-field").show(); $(".playoff-only-field").hide(); } $(".coopertition-hidden-field").toggle(data.CoopertitionEnabled); }; // Handles a websocket message to play a sound to signal match start/stop/etc. const handlePlaySound = function (sound) { $("audio").each(function (k, v) { // Stop and reset any sounds that are still playing. v.pause(); v.currentTime = 0; }); $("#sound-" + sound)[0].play(); }; // Handles a websocket message to update the alliance selection screen. const handleAllianceSelection = function (data) { const alliances = data.Alliances; const rankedTeams = data.RankedTeams; if (alliances && alliances.length > 0) { const numColumns = alliances[0].TeamIds.length + 1; $.each(alliances, function (k, v) { v.Index = k + 1; }); $("#allianceSelection").html(allianceSelectionTemplate({alliances: alliances, numColumns: numColumns})); } if (rankedTeams) { let text = ""; $.each(rankedTeams, function (i, v) { if (!v.Picked) { text += `
${v.Rank}.
` + `
${v.TeamId}
`; } }); $("#allianceRankings").html(text); } if (data.ShowTimer) { $("#allianceSelectionTimer").text(getCountdownString(data.TimeRemainingSec)); } else { $("#allianceSelectionTimer").html(" "); } }; // Handles a websocket message to populate and/or show/hide a lower third. const handleLowerThird = function (data) { if (data.LowerThird !== null) { if (data.LowerThird.BottomText === "") { $("#lowerThirdTop").hide(); $("#lowerThirdBottom").hide(); $("#lowerThirdSingle").text(data.LowerThird.TopText); $("#lowerThirdSingle").show(); } else { $("#lowerThirdSingle").hide(); $("#lowerThirdTop").text(data.LowerThird.TopText); $("#lowerThirdBottom").text(data.LowerThird.BottomText); $("#lowerThirdTop").show(); $("#lowerThirdBottom").show(); } } const lowerThirdElement = $("#lowerThird"); if (data.ShowLowerThird && !lowerThirdElement.is(":visible")) { lowerThirdElement.show(); lowerThirdElement.transition({queue: false, left: "150px"}, 750, "ease"); } else if (!data.ShowLowerThird && lowerThirdElement.is(":visible")) { lowerThirdElement.transition({queue: false, left: "-1000px"}, 1000, "ease", function () { lowerThirdElement.hide(); }); } }; const transitionAllianceSelectionToBlank = function (callback) { $('#allianceSelectionCentering').transition({queue: false, right: "-60em"}, 500, "ease", callback); $('#allianceRankingsCentering.enabled').transition({queue: false, left: "-60em"}, 500, "ease"); }; const transitionBlankToAllianceSelection = function (callback) { $('#allianceSelectionCentering').css("right", "-60em").show(); $('#allianceSelectionCentering').transition({queue: false, right: "3em"}, 500, "ease", callback); $('#allianceRankingsCentering.enabled').css("left", "-60em").show(); $('#allianceRankingsCentering.enabled').transition({queue: false, left: "3em"}, 500, "ease"); }; const transitionBlankToBracket = function (callback) { transitionBlankToLogo(function () { setTimeout(function () { transitionLogoToBracket(callback); }, 50); }); }; const transitionBlankToIntro = function (callback) { $("#overlayCentering").transition(overlayCenteringShowParams, 500, "ease", function () { $(".teams").css("display", "flex"); $(".avatars").css("display", "flex"); $(".avatars").css("opacity", 1); $(".score").transition({queue: false, width: scoreMid}, 500, "ease", function () { $("#eventMatchInfo").css("display", "flex"); $("#eventMatchInfo").transition({queue: false, height: eventMatchInfoDown}, 500, "ease", callback); }); }); }; const transitionBlankToLogo = function (callback) { $(".blindsCenter.blank").css({rotateY: "0deg"}); $(".blindsCenter.full").css({rotateY: "-180deg"}); $(".blinds.right").transition({queue: false, right: 0}, 1000, "ease"); $(".blinds.left").transition({queue: false, left: 0}, 1000, "ease", function () { $(".blinds.left").addClass("full"); $(".blinds.right").hide(); setTimeout(function () { $(".blindsCenter.blank").transition({queue: false, rotateY: "180deg"}, 500, "ease"); $(".blindsCenter.full").transition({queue: false, rotateY: "0deg"}, 500, "ease", callback); }, 200); }); }; const transitionBlankToLogoLuma = function (callback) { $(".blindsCenter.blank").css({rotateY: "180deg"}); $(".blindsCenter.full").transition({queue: false, rotateY: "0deg"}, 1000, "ease", callback); }; const transitionBlankToMatch = function (callback) { $("#overlayCentering").transition(overlayCenteringShowParams, 500, "ease", function () { $(".teams").css("display", "flex"); $(".score-fields").css("display", "flex"); $(".score-fields").transition({queue: false, width: scoreFieldsOut}, 500, "ease"); $("#logo").transition({queue: false, top: logoUp}, 500, "ease"); $(".score").transition({queue: false, width: scoreOut}, 500, "ease", function () { $("#eventMatchInfo").css("display", "flex"); $("#eventMatchInfo").transition({queue: false, height: eventMatchInfoDown}, 500, "ease", callback); $(".score-number").transition({queue: false, opacity: 1}, 750, "ease"); $("#matchTime").transition({queue: false, opacity: 1}, 750, "ease"); $(".score-fields").transition({queue: false, opacity: 1}, 750, "ease"); }); }); }; const transitionBlankToScore = function (callback) { transitionBlankToLogo(function () { setTimeout(function () { transitionLogoToScore(callback); }, 50); }); }; const transitionBlankToSponsor = function (callback) { $(".blindsCenter.blank").css({rotateY: "90deg"}); $(".blinds.right").transition({queue: false, right: 0}, 1000, "ease"); $(".blinds.left").transition({queue: false, left: 0}, 1000, "ease", function () { $(".blinds.left").addClass("full"); $(".blinds.right").hide(); setTimeout(function () { $("#sponsor").show(); $("#sponsor").transition({queue: false, opacity: 1}, 1000, "ease", callback); }, 200); }); }; const transitionBlankToTimeout = function (callback) { $("#overlayCentering").transition(overlayCenteringShowParams, 500, "ease", function () { $("#timeoutDetails").transition({queue: false, width: timeoutDetailsOut}, 500, "ease"); $("#logo").transition({queue: false, top: logoUp}, 500, "ease", function () { $(".timeout-detail").transition({queue: false, opacity: 1}, 750, "ease"); $("#matchTime").transition({queue: false, opacity: 1}, 750, "ease", callback); }); }); }; const transitionBracketToBlank = function (callback) { transitionBracketToLogo(function () { transitionLogoToBlank(callback); }); }; const transitionBracketToLogo = function (callback) { $("#bracket").transition({queue: false, opacity: 0}, 500, "ease", function () { $("#bracket").hide(); }); $(".blindsCenter.full").transition({queue: false, top: 0, scale: 1}, 625, "ease", callback); }; const transitionBracketToLogoLuma = function (callback) { transitionBracketToLogo(function () { transitionLogoToLogoLuma(callback); }); }; const transitionBracketToScore = function (callback) { $(".blindsCenter.full").transition({queue: false, top: scoreLogoTop, scale: 1}, 1000, "ease"); $("#bracket").transition({queue: false, opacity: 0}, 1000, "ease", function () { $("#bracket").hide(); $("#finalScore").show(); $("#finalScore").transition({queue: false, opacity: 1}, 1000, "ease", callback); }); }; const transitionBracketToSponsor = function (callback) { transitionBracketToLogo(function () { transitionLogoToSponsor(callback); }); }; const transitionIntroToBlank = function (callback) { $("#eventMatchInfo").transition({queue: false, height: eventMatchInfoUp}, 500, "ease", function () { $("#eventMatchInfo").hide(); $(".score").transition({queue: false, width: scoreIn}, 500, "ease", function () { $(".avatars").css("opacity", 0); $(".avatars").hide(); $(".teams").hide(); $("#overlayCentering").transition(overlayCenteringHideParams, 1000, "ease", callback); }); }); }; const transitionIntroToMatch = function (callback) { $(".avatars").transition({queue: false, opacity: 0}, 500, "ease", function () { $(".avatars").hide(); }); $(".score-fields").css("display", "flex"); $(".score-fields").transition({queue: false, width: scoreFieldsOut}, 500, "ease"); $("#logo").transition({queue: false, top: logoUp}, 500, "ease"); $(".score").transition({queue: false, width: scoreOut}, 500, "ease", function () { $(".score-number").transition({queue: false, opacity: 1}, 750, "ease"); $("#matchTime").transition({queue: false, opacity: 1}, 750, "ease", callback); $(".score-fields").transition({queue: false, opacity: 1}, 750, "ease"); }); }; const transitionIntroToTimeout = function (callback) { $("#eventMatchInfo").transition({queue: false, height: eventMatchInfoUp}, 500, "ease", function () { $("#eventMatchInfo").hide(); $(".score").transition({queue: false, width: scoreIn}, 500, "ease", function () { $(".avatars").css("opacity", 0); $(".avatars").hide(); $(".teams").hide(); $("#timeoutDetails").transition({queue: false, width: timeoutDetailsOut}, 500, "ease"); $("#logo").transition({queue: false, top: logoUp}, 500, "ease", function () { $(".timeout-detail").transition({queue: false, opacity: 1}, 750, "ease"); $("#matchTime").transition({queue: false, opacity: 1}, 750, "ease", callback); }); }); }); }; const transitionLogoToBlank = function (callback) { $(".blindsCenter.blank").transition({queue: false, rotateY: "360deg"}, 500, "ease"); $(".blindsCenter.full").transition({queue: false, rotateY: "180deg"}, 500, "ease", function () { setTimeout(function () { $(".blinds.left").removeClass("full"); $(".blinds.right").show(); $(".blinds.right").transition({queue: false, right: "-50%"}, 1000, "ease"); $(".blinds.left").transition({queue: false, left: "-50%"}, 1000, "ease", callback); }, 200); }); }; const transitionLogoToBracket = function (callback) { $(".blindsCenter.full").transition({queue: false, top: bracketLogoTop, scale: bracketLogoScale}, 625, "ease"); $("#bracket").show(); $("#bracket").transition({queue: false, opacity: 1}, 1000, "ease", callback); }; const transitionLogoToLogoLuma = function (callback) { $(".blinds.left").removeClass("full"); $(".blinds.right").show(); $(".blinds.right").transition({queue: false, right: "-50%"}, 1000, "ease"); $(".blinds.left").transition({queue: false, left: "-50%"}, 1000, "ease", function () { if (callback) { callback(); } }); }; const transitionLogoToScore = function (callback) { $(".blindsCenter.full").transition({queue: false, top: scoreLogoTop}, 625, "ease"); $("#finalScore").show(); $("#finalScore").transition({queue: false, opacity: 1}, 1000, "ease", callback); }; const transitionLogoToSponsor = function (callback) { $(".blindsCenter.full").transition({queue: false, rotateY: "90deg"}, 750, "ease", function () { $("#sponsor").show(); $("#sponsor").transition({queue: false, opacity: 1}, 1000, "ease", callback); }); }; const transitionLogoLumaToBlank = function (callback) { $(".blindsCenter.full").transition({queue: false, rotateY: "180deg"}, 1000, "ease", callback); }; const transitionLogoLumaToBracket = function (callback) { transitionLogoLumaToLogo(function () { transitionLogoToBracket(callback); }); }; const transitionLogoLumaToLogo = function (callback) { $(".blinds.right").transition({queue: false, right: 0}, 1000, "ease"); $(".blinds.left").transition({queue: false, left: 0}, 1000, "ease", function () { $(".blinds.left").addClass("full"); $(".blinds.right").hide(); if (callback) { callback(); } }); }; const transitionLogoLumaToScore = function (callback) { transitionLogoLumaToLogo(function () { transitionLogoToScore(callback); }); }; const transitionMatchToBlank = function (callback) { $("#eventMatchInfo").transition({queue: false, height: eventMatchInfoUp}, 500, "ease"); $("#matchTime").transition({queue: false, opacity: 0}, 300, "linear"); $(".score-fields").transition({queue: false, opacity: 0}, 300, "ease"); $(".score-number").transition({queue: false, opacity: 0}, 300, "linear", function () { $("#eventMatchInfo").hide(); $(".score-fields").transition({queue: false, width: 0}, 500, "ease"); $("#logo").transition({queue: false, top: logoDown}, 500, "ease"); $(".score").transition({queue: false, width: scoreIn}, 500, "ease", function () { $(".teams").hide(); $(".score-fields").hide(); $("#overlayCentering").transition(overlayCenteringHideParams, 1000, "ease", callback); }); }); }; const transitionMatchToIntro = function (callback) { $(".score-number").transition({queue: false, opacity: 0}, 300, "linear"); $(".score-fields").transition({queue: false, opacity: 0}, 300, "ease"); $("#matchTime").transition({queue: false, opacity: 0}, 300, "linear", function () { $(".score-fields").transition({queue: false, width: 0}, 500, "ease"); $("#logo").transition({queue: false, top: logoDown}, 500, "ease"); $(".score").transition({queue: false, width: scoreMid}, 500, "ease", function () { $(".score-fields").hide(); $(".avatars").css("display", "flex"); $(".avatars").transition({queue: false, opacity: 1}, 500, "ease", callback); }); }); }; const transitionScoreToBlank = function (callback) { transitionScoreToLogo(function () { transitionLogoToBlank(callback); }); }; const transitionScoreToBracket = function (callback) { $(".blindsCenter.full").transition({queue: false, top: bracketLogoTop, scale: bracketLogoScale}, 1000, "ease"); $("#finalScore").transition({queue: false, opacity: 0}, 1000, "ease", function () { $("#finalScore").hide(); $("#bracket").show(); $("#bracket").transition({queue: false, opacity: 1}, 1000, "ease", callback); }); }; const transitionScoreToLogo = function (callback) { $("#finalScore").transition({queue: false, opacity: 0}, 500, "ease", function () { $("#finalScore").hide(); }); $(".blindsCenter.full").transition({queue: false, top: 0}, 625, "ease", callback); }; const transitionScoreToLogoLuma = function (callback) { transitionScoreToLogo(function () { transitionLogoToLogoLuma(callback); }); }; const transitionScoreToSponsor = function (callback) { transitionScoreToLogo(function () { transitionLogoToSponsor(callback); }); }; const transitionSponsorToBlank = function (callback) { $("#sponsor").transition({queue: false, opacity: 0}, 1000, "ease", function () { setTimeout(function () { $(".blinds.left").removeClass("full"); $(".blinds.right").show(); $(".blinds.right").transition({queue: false, right: "-50%"}, 1000, "ease"); $(".blinds.left").transition({queue: false, left: "-50%"}, 1000, "ease", callback); $("#sponsor").hide(); }, 200); }); }; const transitionSponsorToBracket = function (callback) { transitionSponsorToLogo(function () { transitionLogoToBracket(callback); }); }; const transitionSponsorToLogo = function (callback) { $("#sponsor").transition({queue: false, opacity: 0}, 1000, "ease", function () { $(".blindsCenter.full").transition({queue: false, rotateY: "0deg"}, 750, "ease", callback); $("#sponsor").hide(); }); }; const transitionSponsorToScore = function (callback) { transitionSponsorToLogo(function () { transitionLogoToScore(callback); }); }; const transitionTimeoutToBlank = function (callback) { $(".timeout-detail").transition({queue: false, opacity: 0}, 300, "linear"); $("#matchTime").transition({queue: false, opacity: 0}, 300, "linear", function () { $("#timeoutDetails").transition({queue: false, width: timeoutDetailsIn}, 500, "ease"); $("#logo").transition({queue: false, top: logoDown}, 500, "ease", function () { $("#overlayCentering").transition(overlayCenteringHideParams, 1000, "ease", callback); }); }); }; const transitionTimeoutToIntro = function (callback) { $(".timeout-detail").transition({queue: false, opacity: 0}, 300, "linear"); $("#matchTime").transition({queue: false, opacity: 0}, 300, "linear", function () { $("#timeoutDetails").transition({queue: false, width: timeoutDetailsIn}, 500, "ease"); $("#logo").transition({queue: false, top: logoDown}, 500, "ease", function () { $(".avatars").css("display", "flex"); $(".avatars").css("opacity", 1); $(".teams").css("display", "flex"); $(".score").transition({queue: false, width: scoreMid}, 500, "ease", function () { $("#eventMatchInfo").show(); $("#eventMatchInfo").transition({queue: false, height: eventMatchInfoDown}, 500, "ease", callback); }); }); }); }; // Loads sponsor slide data and builds the slideshow HTML. const initializeSponsorDisplay = function () { $.getJSON("/api/sponsor_slides", function (slides) { $("#sponsorContainer").empty(); // Inject the HTML for each slide into the DOM. $.each(slides, function (index, slide) { slide.DisplayTimeMs = slide.DisplayTimeSec * 1000; slide.First = index === 0; let slideHtml; if (slide.Image) { slideHtml = sponsorImageTemplate(slide); } else { slideHtml = sponsorTextTemplate(slide); } $("#sponsorContainer").append(slideHtml); }); }); }; const getAvatarUrl = function (teamId) { return "/api/teams/" + teamId + "/avatar"; }; const setTeamInfo = function (side, position, teamId, cards, rankings) { const teamNumberElement = $(`#${side}FinalTeam${position}`); teamNumberElement.html(teamId); teamNumberElement.toggle(teamId > 0); const avatarElement = $(`#${side}FinalTeam${position}Avatar`); avatarElement.attr("src", getAvatarUrl(teamId)); avatarElement.toggle(teamId > 0); const cardElement = $(`#${side}FinalTeam${position}Card`); cardElement.attr("data-card", cards[teamId.toString()] || ""); const ranking = rankings[teamId]; let rankIndicator = ""; let rankNumber = ""; if (ranking !== undefined && ranking !== null && ranking.Rank !== 0) { rankNumber = ranking.Rank; if (rankNumber > ranking.PreviousRank && ranking.PreviousRank > 0) { rankIndicator = "rank-down"; } else if (rankNumber < ranking.PreviousRank) { rankIndicator = "rank-up"; } } const rankIndicatorElement = $(`#${side}FinalTeam${position}RankIndicator`); rankIndicatorElement.attr("src", rankIndicator === "" ? "" : `/static/img/${rankIndicator}.svg`); rankIndicatorElement.toggle(rankIndicator !== "" && teamId > 0); const rankNumberElement = $(`#${side}FinalTeam${position}RankNumber`); rankNumberElement.text(rankNumber); rankNumberElement.toggle(teamId > 0); }; $(function () { // Read the configuration for this display from the URL query string. const urlParams = new URLSearchParams(window.location.search); document.body.style.backgroundColor = urlParams.get("background"); const reversed = urlParams.get("reversed"); if (reversed === "true") { redSide = "right"; blueSide = "left"; } else { redSide = "left"; blueSide = "right"; } $(".reversible-left").attr("data-reversed", reversed); $(".reversible-right").attr("data-reversed", reversed); if (urlParams.get("overlayLocation") === "top") { overlayCenteringHideParams = overlayCenteringTopHideParams; overlayCenteringShowParams = overlayCenteringTopShowParams; $("#overlayCentering").css("top", overlayCenteringTopUp); } else { overlayCenteringHideParams = overlayCenteringBottomHideParams; overlayCenteringShowParams = overlayCenteringBottomShowParams; } // Set up the websocket back to the server. websocket = new CheesyWebsocket("/displays/audience/websocket", { allianceSelection: function (event) { handleAllianceSelection(event.data); }, audienceDisplayMode: function (event) { handleAudienceDisplayMode(event.data); }, lowerThird: function (event) { handleLowerThird(event.data); }, matchLoad: function (event) { handleMatchLoad(event.data); }, matchTime: function (event) { handleMatchTime(event.data); }, matchTiming: function (event) { handleMatchTiming(event.data); }, playSound: function (event) { handlePlaySound(event.data); }, realtimeScore: function (event) { handleRealtimeScore(event.data); }, scorePosted: function (event) { handleScorePosted(event.data); }, }); // Map how to transition from one screen to another. Missing links between screens indicate that first we // must transition to the blank screen and then to the target screen. transitionMap = { allianceSelection: { blank: transitionAllianceSelectionToBlank, }, blank: { allianceSelection: transitionBlankToAllianceSelection, bracket: transitionBlankToBracket, intro: transitionBlankToIntro, logo: transitionBlankToLogo, logoLuma: transitionBlankToLogoLuma, match: transitionBlankToMatch, score: transitionBlankToScore, sponsor: transitionBlankToSponsor, timeout: transitionBlankToTimeout, }, bracket: { blank: transitionBracketToBlank, logo: transitionBracketToLogo, logoLuma: transitionBracketToLogoLuma, score: transitionBracketToScore, sponsor: transitionBracketToSponsor, }, intro: { blank: transitionIntroToBlank, match: transitionIntroToMatch, timeout: transitionIntroToTimeout, }, logo: { blank: transitionLogoToBlank, bracket: transitionLogoToBracket, logoLuma: transitionLogoToLogoLuma, score: transitionLogoToScore, sponsor: transitionLogoToSponsor, }, logoLuma: { blank: transitionLogoLumaToBlank, bracket: transitionLogoLumaToBracket, logo: transitionLogoLumaToLogo, score: transitionLogoLumaToScore, }, match: { blank: transitionMatchToBlank, intro: transitionMatchToIntro, }, score: { blank: transitionScoreToBlank, bracket: transitionScoreToBracket, logo: transitionScoreToLogo, logoLuma: transitionScoreToLogoLuma, sponsor: transitionScoreToSponsor, }, sponsor: { blank: transitionSponsorToBlank, bracket: transitionSponsorToBracket, logo: transitionSponsorToLogo, score: transitionSponsorToScore, }, timeout: { blank: transitionTimeoutToBlank, intro: transitionTimeoutToIntro, }, } }); ================================================ FILE: static/js/bracket_display.js ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Client-side methods for the bracket display. var websocket; // Handles a websocket message to load a new match. const handleMatchLoad = function (data) { fetch("/api/bracket/svg?activeMatch=current") .then(response => response.text()) .then(svg => $("#bracket").html(svg)); }; $(function () { // Set up the websocket back to the server. websocket = new CheesyWebsocket("/displays/bracket/websocket", { matchLoad: function (event) { handleMatchLoad(event.data); }, }); }); ================================================ FILE: static/js/cheesy-common.js ================================================ // Copyright 2024 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Common JavaScript constants and functions used across multiple pages. const newDateTimePicker = function (id, defaultTime) { new tempusDominus.TempusDominus( document.getElementById(id), { defaultDate: defaultTime, display: { components: { seconds: true, }, icons: { type: "icons", time: "bi bi-clock", date: "bi bi-calendar-week", up: "bi bi-arrow-up", down: "bi bi-arrow-down", previous: "bi bi-chevron-left", next: "bi bi-chevron-right", today: "bi bi-calendar-check", clear: "bi bi-trash", close: "bi bi-x", }, }, localization: { format: "yyyy-MM-dd hh:mm:ss T", locale: "en", }, } ); }; ================================================ FILE: static/js/cheesy-websocket.js ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Shared code for initiating websocket connections back to the server for full-duplex communication. var CheesyWebsocket = function (path, events) { var that = this; var protocol = "ws://"; if (window.location.protocol === "https:") { protocol = "wss://"; } var url = protocol + window.location.hostname; if (window.location.port !== "") { url += ":" + window.location.port; } url += path; // Append the page's query string to the websocket URL. url += window.location.search; // Insert a default error-handling event if a custom one doesn't already exist. if (!events.hasOwnProperty("error")) { events.error = function (event) { // Data is just an error string. console.log(event.data); alert(event.data); }; } // Parse the display parameters that will be present in the query string if this is a display. var displayId = new URLSearchParams(window.location.search).get("displayId"); // Insert an event to allow the server to force-reload the client for any display. events.reload = function (event) { if (event.data === null || event.data === displayId) { location.reload(); } }; // Insert an event to allow reconfiguration if this is a display. if (!events.hasOwnProperty("displayConfiguration")) { events.displayConfiguration = function (event) { var newUrl = event.data; // Reload the display if the configuration has changed. if (newUrl !== window.location.pathname + window.location.search) { window.location = newUrl; } }; } this.connect = function () { this.websocket = $.websocket(url, { open: function () { console.log("Websocket connected to the server at " + url + ".") }, close: function () { console.log("Websocket lost connection to the server. Reconnecting in 3 seconds..."); setTimeout(that.connect, 3000); }, events: events }); }; this.send = function (type, data) { this.websocket.send(type, data); }; this.connect(); }; ================================================ FILE: static/js/field_monitor_display.js ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Client-side logic for the field monitor display. let websocket; let currentMatchId; let redSide; let blueSide; const lowBatteryThreshold = 8; const highBtuThreshold = 7.0; const handleArenaStatus = function (data) { // If getting data for the wrong match (e.g. after a server restart), reload the page. if (currentMatchId == null) { currentMatchId = data.MatchId; } else if (currentMatchId !== data.MatchId) { location.reload(); } $.each(data.AllianceStations, function (station, stationStatus) { // Select the DOM elements corresponding to the team station. let teamElementPrefix; if (station[0] === "R") { teamElementPrefix = "#" + redSide + "Team" + station[1]; } else { teamElementPrefix = "#" + blueSide + "Team" + station[1]; } const teamIdElement = $(teamElementPrefix + "Id"); const teamNotesElement = $(teamElementPrefix + "Notes"); const teamNotesTextElement = $(teamElementPrefix + "Notes div"); const teamEthernetElement = $(teamElementPrefix + "Ethernet"); const teamDsElement = $(teamElementPrefix + "Ds"); const teamRadioElement = $(teamElementPrefix + "Radio"); const teamRadioIconElement = $(teamElementPrefix + "Radio i"); const teamRobotElement = $(teamElementPrefix + "Robot"); const teamBatteryElement = $(teamElementPrefix + "Battery"); const teamBypassElement = $(teamElementPrefix + "Bypass"); const teamStatsElement = $(teamElementPrefix + "Stats"); const teamBandwidthElement = $(teamElementPrefix + "Bandwidth"); const teamTripTimeElement = $(teamElementPrefix + "TripTime"); const teamMissedPacketsElement = $(teamElementPrefix + "MissedPackets"); teamNotesTextElement.attr("data-station", station); if (stationStatus.Team) { // Set the team number and status. teamIdElement.text(stationStatus.Team.Id); let status = "no-link"; if (stationStatus.Bypass) { status = ""; } else if (stationStatus.DsConn) { if (stationStatus.DsConn.WrongStation) { status = "wrong-station"; } else if (stationStatus.DsConn.RobotLinked) { status = "robot-linked"; } else if (stationStatus.DsConn.RioLinked) { status = "rio-linked"; } else if (stationStatus.DsConn.RadioLinked) { status = "radio-linked"; } else if (stationStatus.DsConn.DsLinked) { status = "ds-linked"; } } teamIdElement.attr("data-status", status); teamNotesTextElement.text(stationStatus.Team.FtaNotes); teamNotesElement.attr("data-status", status); } else { // No team is present in this position for this match; blank out the status. teamIdElement.text(""); teamNotesTextElement.text(""); teamNotesElement.attr("data-status", ""); } // Format the Ethernet status box. teamEthernetElement.attr("data-status-ok", stationStatus.Ethernet ? "true" : ""); if (stationStatus.DsConn && stationStatus.DsConn.DsRobotTripTimeMs > 0) { teamEthernetElement.text(stationStatus.DsConn.DsRobotTripTimeMs); } else { teamEthernetElement.text("ETH"); } const wifiStatus = stationStatus.WifiStatus; teamRadioIconElement.attr("class", `bi-reception-${wifiStatus.ConnectionQuality}`); $("#accessPointStatus").attr("data-status", data.AccessPointStatus); $("#switchStatus").attr("data-status", data.SwitchStatus); if (stationStatus.DsConn) { // Format the driver station status box. const dsConn = stationStatus.DsConn; teamDsElement.attr("data-status-ok", dsConn.DsLinked); teamDsElement.text(dsConn.MissedPacketCount); // Format the radio status box according to the connection status of the robot radio. const radioOkay = stationStatus.Team && stationStatus.Team.Id === wifiStatus.TeamId && (wifiStatus.RadioLinked || dsConn.RobotLinked); teamRadioElement.attr("data-status-ok", radioOkay); // Format the robot status box. const rioOkay = dsConn.RobotLinked; teamRobotElement.attr("data-status-ok", rioOkay); if (stationStatus.DsConn.SecondsSinceLastRobotLink > 1 && stationStatus.DsConn.SecondsSinceLastRobotLink < 1000) { teamRobotElement.text(stationStatus.DsConn.SecondsSinceLastRobotLink.toFixed()); } else { teamRobotElement.text("RIO"); } const batteryOkay = dsConn.BatteryVoltage > lowBatteryThreshold && dsConn.RobotLinked; teamBatteryElement.attr("data-status-ok", batteryOkay); teamBatteryElement.text(dsConn.BatteryVoltage.toFixed(1) + "V"); const btuOkay = wifiStatus.MBits < highBtuThreshold && dsConn.RobotLinked; teamStatsElement.attr("data-status-ok", btuOkay); if (wifiStatus.MBits >= 0.01) { teamBandwidthElement.text(wifiStatus.MBits.toFixed(2)); teamTripTimeElement.text(dsConn.DsRobotTripTimeMs); teamMissedPacketsElement.text(dsConn.MissedPacketCount); } else { teamBandwidthElement.text("-"); teamTripTimeElement.text("-"); teamMissedPacketsElement.text("-"); } } else { teamDsElement.attr("data-status-ok", ""); teamDsElement.text("DS"); teamRobotElement.attr("data-status-ok", ""); teamRobotElement.text("RIO"); teamBatteryElement.text("0.0V"); teamBandwidthElement.text("-"); teamTripTimeElement.text("-"); teamMissedPacketsElement.text("-"); // Format the robot status box according to whether the AP is configured with the correct SSID. const expectedTeamId = stationStatus.Team ? stationStatus.Team.Id : 0; if (wifiStatus.TeamId === expectedTeamId) { if (wifiStatus.RadioLinked) { teamRadioElement.attr("data-status-ok", true); } else { teamRadioElement.attr("data-status-ok", ""); } } else { teamRadioElement.attr("data-status-ok", false); } } if (stationStatus.EStop) { teamBypassElement.attr("data-status-ok", false); teamBypassElement.text("E-STP"); } else if (stationStatus.AStop) { teamBypassElement.attr("data-status-ok", true); teamBypassElement.text("A-STP"); } else if (stationStatus.Bypass) { teamBypassElement.attr("data-status-ok", false); teamBypassElement.text("BYP"); } else { teamBypassElement.attr("data-status-ok", true); teamBypassElement.text(""); } }); }; // Handles a websocket message to update the match time countdown. const handleMatchTime = function (data) { translateMatchTime(data, function (matchState, matchStateText, countdownSec) { $("#matchState").text(matchStateText); $("#matchTime").text(countdownSec); if (matchStateText === "PRE-MATCH" || matchStateText === "POST-MATCH") { $(".ds-dependent").attr("data-preMatch", "true"); } else { $(".ds-dependent").attr("data-preMatch", "false"); } }); }; // Handles a websocket message to update the match score. const handleRealtimeScore = function (data, reversed) { if (reversed === "true") { $("#rightScore").text(data.Red.ScoreSummary.Score); $("#leftScore").text(data.Blue.ScoreSummary.Score); } else { $("#rightScore").text(data.Blue.ScoreSummary.Score); $("#leftScore").text(data.Red.ScoreSummary.Score); } }; // Handles a websocket message to update current match const handleMatchLoad = function (data) { $("#matchName").text(data.Match.LongName); }; // Handles a websocket message to update the event status message. const handleEventStatus = function (data) { if (data.CycleTime === "") { $("#cycleTimeMessage").text("Last cycle time: Unknown"); } else { $("#cycleTimeMessage").text("Last cycle time: " + data.CycleTime); } $("#earlyLateMessage").text(data.EarlyLateMessage); }; // Makes the team notes section editable and handles saving edits to the server. const editFtaNotes = function (element) { const teamNotesTextElement = $(element); const textArea = $("
{{if .EventSettings.NetworkSecurityEnabled}}
{{end}}
{{end}} {{define "script"}}{{end}} ================================================ FILE: templates/field_monitor_display.html ================================================ {{/* Copyright 2018 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) Display showing robot connection status. */}} Field Monitor - {{.EventSettings.Name}} - Cheesy Arena
{{if .EventSettings.NetworkSecurityEnabled}}
Access Point Switch
{{end}} {{if not .EventSettings.NetworkSecurityEnabled}}
{{end}}
{{template "row" dict "leftPosition" "1" "rightPosition" "3"}} {{template "row" dict "leftPosition" "2" "rightPosition" "2"}} {{template "row" dict "leftPosition" "3" "rightPosition" "1"}}
{{define "row"}}
{{.leftPosition}}
{{template "team" dict "side" "left" "position" .leftPosition}} {{template "team" dict "side" "right" "position" .rightPosition}}
{{.rightPosition}}
{{end}} {{define "team"}}
ETH
DS
BWU
TT
  
MP
{{end}} ================================================ FILE: templates/fta.csv ================================================ Number,HasConnected,FtaNotes {{range $team := .}}{{$team.Id}},{{$team.HasConnected}},{{$team.FtaNotes}} {{end}},, ================================================ FILE: templates/index.html ================================================ {{/* Copyright 2014 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) Root page and entry point to Cheesy Arena. */}} {{define "title"}}Home{{end}} {{define "body"}}

Welcome to Cheesy Arena.

Use the navigation bar at the top to configure the event, play and score matches, view and print reports, or launch displays.

For ad-hoc match control for testing or scrimmaging, go directly to Match Play.

{{end}} {{define "script"}}{{end}} ================================================ FILE: templates/login.html ================================================ {{/* Copyright 2018 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for authenticating with the server. */}} {{define "title"}}Log In{{end}} {{define "body"}}
{{if .ErrorMessage}}
{{.ErrorMessage}}
{{end}}
Log In
{{end}} {{define "script"}} {{end}} ================================================ FILE: templates/logo_display.html ================================================ {{/* Copyright 2024 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) Display to show a static logo and configurable message. */}} Logo Display - {{.EventSettings.Name}} - Cheesy Arena
================================================ FILE: templates/match_logs.html ================================================ {{/* Copyright 2014 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for listing matches and their logs. */}} {{define "title"}}Match Logs{{end}} {{define "body"}}
{{range $type, $matches := .MatchesByType}} {{end}}
{{end}} {{define "script"}} {{end}} ================================================ FILE: templates/match_play.html ================================================ {{/* Copyright 2014 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for controlling match play and viewing team connection and field status. */}} {{define "title"}}Match Play{{end}} {{define "body"}}
 
 
 
 
 
Blue Teams
DS
Rad
Rbt
Byp
{{template "matchPlayTeam" dict "color" "B" "position" 1}} {{template "matchPlayTeam" dict "color" "B" "position" 2}} {{template "matchPlayTeam" dict "color" "B" "position" 3}}
Red Teams
DS
Rad
Rbt
Byp
{{template "matchPlayTeam" dict "color" "R" "position" 3}} {{template "matchPlayTeam" dict "color" "R" "position" 2}} {{template "matchPlayTeam" dict "color" "R" "position" 1}}
Scoring

Referee



{{if .EventSettings.NetworkSecurityEnabled}}
Network Status

Access Point
Switch {{if .EventSettings.SCCManagementEnabled}}
Red SCC
Blue SCC {{end}}

{{end}} {{if .PlcIsEnabled}}
PLC Status

E-Stop
{{range $name, $status := .PlcArmorBlockStatuses}} {{$name}} {{end}}

{{end}}
Audience Display
{{template "audience_display_radio_buttons"}}
Alliance Station Display
Shown Match Result
None   Clear
Match Sounds
Timeout


Match Name

{{end}} {{define "script"}} {{end}} {{define "matchPlayTeam"}}
{{.position}}
{{end}} ================================================ FILE: templates/match_play_match_load.html ================================================ Load Test Match
{{range $type, $matches := .MatchesByType}}
{{range $match := $matches}} {{end}}
Match Time Action
{{$match.ShortName}} {{$match.Time}} Load {{if ne $match.Status matchScheduled}} Show Result {{end}}
{{end}}
================================================ FILE: templates/match_review.html ================================================ {{/* Copyright 2014 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for listing matches and their results. */}} {{define "title"}}Match Review{{end}} {{define "body"}}
{{range $type, $matches := .MatchesByType}}
{{range $m := $matches}} {{end}}
Match Time Red Alliance Blue Alliance Red Score Blue Score Action
{{$m.ShortName}} {{$m.Time}} {{index $m.RedTeams 0}}, {{index $m.RedTeams 1}}, {{index $m.RedTeams 2}} {{index $m.BlueTeams 0}}, {{index $m.BlueTeams 1}}, {{index $m.BlueTeams 2}} {{if $m.IsComplete}}{{$m.RedScore}}{{end}} {{if $m.IsComplete}}{{$m.BlueScore}}{{end}} Edit
{{end}}
{{end}} {{define "script"}} {{end}} ================================================ FILE: templates/placeholder_display.html ================================================ {{/* Copyright 2018 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) Placeholder display shown until configured by the server. */}} Placeholder Display - {{.EventSettings.Name}} - Cheesy Arena
================================================ FILE: templates/queueing_display.html ================================================ {{/* Copyright 2018 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) Display that shows upcoming matches and timing information. */}} Queueing Display - {{.EventSettings.Name}} - Cheesy Arena
================================================ FILE: templates/queueing_display_match_load.html ================================================ {{range $i, $match := .Matches}}

{{if eq $i 0}} On Field {{else if eq $i 1}} On Deck {{else if eq $i 2}} Up In 2 {{else if eq $i 3}} Up In 3 {{else if eq $i 4}} Up In 4 {{end}}

{{$match.ShortName}}

{{$match.Time.Local.Format "3:04 PM"}}

{{if eq $i 0}}
{{end}}


{{if $match.Red1}}
{{$match.Red1}}
{{$match.Red2}}
{{$match.Red3}} {{range $team := (index $.RedOffFieldTeams $i) }}
{{$team}} {{end}}
{{if $match.PlayoffRedAlliance}}
{{$match.PlayoffRedAlliance}}
{{end}}
{{end}}
{{if $match.Blue1}}
{{if $match.PlayoffBlueAlliance}}
{{$match.PlayoffBlueAlliance}}
{{end}}
{{$match.Blue1}}
{{$match.Blue2}}
{{$match.Blue3}} {{range $team := (index $.BlueOffFieldTeams $i) }}
{{$team}} {{end}}
{{end}}


{{end}} ================================================ FILE: templates/rankings.csv ================================================ Rank,TeamId,RankingPoints,CoopertitionPoints,MatchPoints,AutoPoints,BargePoints,Wins,Losses,Ties,Disqualifications,Played {{range $ranking := .}}{{$ranking.Rank}},{{$ranking.TeamId}},{{$ranking.RankingPoints}},{{$ranking.CoopertitionPoints}},{{$ranking.MatchPoints}},{{$ranking.AutoPoints}},{{$ranking.BargePoints}},{{$ranking.Wins}},{{$ranking.Losses}},{{$ranking.Ties}},{{$ranking.Disqualifications}},{{$ranking.Played}} {{end}} ================================================ FILE: templates/rankings_display.html ================================================ {{/* Copyright 2014 Team 254. All Rights Reserved. Author: nick@team254.com (Nick Eyre) Author: pat@patfairbank.com (Patrick Fairbank) Display for showing team rankings. */}} Standings Display - {{.EventSettings.Name}} - Cheesy Arena
Team Standings
{{.EventSettings.Name}}
================================================ FILE: templates/referee_panel.html ================================================ {{/* Copyright 2023 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for entering and tracking fouls and red/yellow cards. */}} {{define "title"}}Referee Panel{{end}} {{define "body"}}

Red/Yellow Cards

{{range $i := seq 3}} {{template "teamCard" dict "alliance" "red" "position" $i}} {{end}}
{{range $i := seq 3}} {{template "teamCard" dict "alliance" "blue" "position" $i}} {{end}}
{{template "scoreSummary" dict "id" "blueScoreSummary"}} {{template "scoreSummary" dict "id" "redScoreSummary"}}

Fouls

Blue
Blue Major
Red
Red Major

Note: Team and rule assignment are optional.

Signal Count
Signal Reset
Commit Match
{{end}} {{define "head"}} {{end}} {{define "script"}} {{end}} {{define "teamCard"}}
{{end}} {{define "scoreSummary"}}
0
0
0
Leave
Endgame
None
None
None
Coral
0 / 0 / 0 / 0
0 / 0 / 0 / 0
Algae
0 / 0
{{end}} ================================================ FILE: templates/referee_panel_foul_list.html ================================================ {{define "referee_panel_foul_list"}} {{range $i, $foul := .RedFouls}} {{template "foul" dict "alliance" "red" "index" $i "foul" $foul "match" $.Match "rules" $.Rules}} {{end}} {{range $i, $foul := .BlueFouls}} {{template "foul" dict "alliance" "blue" "index" $i "foul" $foul "match" $.Match "rules" $.Rules}} {{end}} {{end}} {{define "foul"}}
{{add .index 1}}
{{if .foul.IsMajor}}Major{{else}}Minor{{end}} Foul
{{if eq .alliance "red"}} {{template "teamButton" dict "alliance" .alliance "index" .index "foul" .foul "teamId" .match.Red1}} {{template "teamButton" dict "alliance" .alliance "index" .index "foul" .foul "teamId" .match.Red2}} {{template "teamButton" dict "alliance" .alliance "index" .index "foul" .foul "teamId" .match.Red3}} {{else}} {{template "teamButton" dict "alliance" .alliance "index" .index "foul" .foul "teamId" .match.Blue1}} {{template "teamButton" dict "alliance" .alliance "index" .index "foul" .foul "teamId" .match.Blue2}} {{template "teamButton" dict "alliance" .alliance "index" .index "foul" .foul "teamId" .match.Blue3}} {{end}}
Delete
{{end}} {{define "teamButton"}}
{{.teamId}}
{{end}} ================================================ FILE: templates/schedule.csv ================================================ Match,Type,Time,Red1,Red1IsSurrogate,Red2,Red2IsSurrogate,Red3,Red3IsSurrogate,Blue1,Blue1IsSurrogate,Blue2,Blue2IsSurrogate,Blue3,Blue3IsSurrogate {{range $match := .}}{{$match.ShortName}},{{$match.Type}},{{$match.Time.Local}},{{$match.Red1}},{{$match.Red1IsSurrogate}},{{$match.Red2}},{{$match.Red2IsSurrogate}},{{$match.Red3}},{{$match.Red3IsSurrogate}},{{$match.Blue1}},{{$match.Blue1IsSurrogate}},{{$match.Blue2}},{{$match.Blue2IsSurrogate}},{{$match.Blue3}},{{$match.Blue3IsSurrogate}} {{end}} ================================================ FILE: templates/scoring_panel.html ================================================ {{/* Copyright 2014 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) Author: ian@yann.io (Ian Thompson) UI for entering realtime scores. */}} {{define "title"}}Scoring Panel{{end}} {{define "body"}}
{{if .Position.ScoresAuto}} {{range $i := seq 3}} {{template "teamButton" (dict "id" (printf "auto-status-%d" $i) "index" $i "class" "scoring-button" "onclick" (printf "handleLeaveClick(%d);" $i))}} {{end}} {{end}}
{{if .Position.ScoresEndgame}} {{range $i := seq 3}} {{template "teamButton" (dict "id" (printf "endgame-status-%d" $i) "index" $i "class" "scoring-teleop-button" "onclick" "showEndgameDialog();")}} {{end}} {{end}}
{{$baseIndex := .Position.LeftmostReefPole}} {{range $i := seq 6}} {{template "reefColumn" (dict "index" (add $baseIndex $i))}} {{end}}
{{if .Position.ScoresBarge}} {{template "counter" (dict "id" "barge" "label" "Barge Algae")}} {{else if and .Position.ScoresProcessor (not .PlcIsEnabled)}} {{template "counter" (dict "id" "processor" "label" "Processor Algae")}} {{end}}
{{template "counter" (dict "id" "trough" "label" "L1 Coral" "has_auto" true)}}
L1 Coral Total: 0
Endgame Scoring
{{range $i := seq 3}} {{template "endgame-input" (dict "id" (printf "endgame-input-%d" $i) "index" $i)}} {{end}}
Add Fouls
{{template "foulButton" (dict "id" "foul-blue-minor" "color" "blue" "label" "Blue" "isMajor" false)}} {{template "foulButton" (dict "id" "foul-red-minor" "color" "red" "label" "Red" "isMajor" false)}} {{template "foulButton" (dict "id" "foul-blue-major" "color" "blue" "label" "Blue Major" "isMajor" true)}} {{template "foulButton" (dict "id" "foul-red-major" "color" "red" "label" "Red Major" "isMajor" true)}}
{{end}} {{define "head"}} {{end}} {{define "script"}} {{end}} {{define "foulButton"}} {{end}} {{define "teamButton"}} {{end}} {{define "counter"}}
{{if .has_auto}}
Teleop: 0
Auto: 0
{{end}}
0
{{.label}}
{{end}} {{define "reefColumn"}}
{{ $index := .index }} {{range $i := seq 3}} {{end}}
{{end}} {{define "endgame-input"}}
{{template "endgame-input-button" (dict "label" "Deep" "endgameState" 3 "index" .index)}} {{template "endgame-input-button" (dict "label" "Shallow" "endgameState" 2 "index" .index)}} {{template "endgame-input-button" (dict "label" "Park" "endgameState" 1 "index" .index)}} {{template "endgame-input-button" (dict "label" "None" "endgameState" 0 "index" .index)}}
{{end}} {{define "endgame-input-button"}} {{end}} ================================================ FILE: templates/setup_awards.html ================================================ {{/* Copyright 2019 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for configuring the awards. */}} {{define "title"}}Awards Configuration{{end}} {{define "body"}}
Awards Configuration {{range $award := .Awards}}
{{if gt $award.Id 0}} {{end}}
{{end}} Winner and Finalist awards will be automatically generated once the playoff tournament is complete. {{if .EventSettings.TbaPublishingEnabled}}

Awards are not automatically published to The Blue Alliance. Manually publish them from the Settings tab.

{{end}}
{{end}} {{define "script"}} {{end}} ================================================ FILE: templates/setup_breaks.html ================================================ {{/* Copyright 2024 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for configuring scheduled breaks. */}} {{define "title"}}Breaks Configuration{{end}} {{define "body"}}
Scheduled Break Configuration {{if not .ScheduledBreaks}}

Playoff breaks won't appear here until alliance selection is complete and the playoff tournament is created.

{{end}} {{range $i, $scheduledBreak := .ScheduledBreaks}}
Break #{{add $i 1}}
{{end}}
{{end}} {{define "script"}} {{end}} ================================================ FILE: templates/setup_displays.html ================================================ {{/* Copyright 2018 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for configuring the field displays. */}} {{define "title"}}Display Configuration{{end}} {{define "body"}}
Connected Displays
ID # Connected IP Address Nickname Type Configuration Action
{{end}} {{define "script"}} {{end}} ================================================ FILE: templates/setup_field_testing.html ================================================ {{/* Copyright 2018 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for testing the game sounds and the LEDs and PLC connected to the field. */}} {{define "title"}}Field Testing{{end}} {{define "body"}}
Game Sounds {{range $sound := .MatchSounds}}

{{end}}
PLC
{{range $i, $name := .InputNames}} {{end}}
Inputs
{{$name}}
{{range $i, $name := .RegisterNames}} {{end}}
Registers
{{$name}}
{{range $i, $name := .CoilNames}} {{end}}
Coils
{{$name}}
{{end}} {{define "script"}} {{end}} ================================================ FILE: templates/setup_judging.html ================================================ {{/* Copyright 2025 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for generating a judging schedule. */}} {{define "title"}}Judge Scheduling{{end}} {{define "body"}}

Judge Scheduling

Configure and generate a schedule for pit judging visits. The schedule will automatically avoid conflicts with each team's qualification matches.

{{if .ErrorMessage}}
{{.ErrorMessage}}
{{end}}
{{if .JudgingSlots}}
{{end}}
{{if .JudgingSlots}}
{{range .JudgingSlots}} {{end}}
Time Team Judge Previous Match Next Match
{{.Time.Format "01/02 3:04 PM"}} {{.TeamId}} {{.JudgeNumber}} {{if gt .PreviousMatchNumber 0}} #{{.PreviousMatchNumber}} at {{.PreviousMatchTime.Format "3:04 PM"}} {{end}} {{if gt .NextMatchNumber 0}} #{{.NextMatchNumber}} at {{.NextMatchTime.Format "3:04 PM"}} {{end}}
{{end}}
{{end}} {{define "script"}} {{end}} ================================================ FILE: templates/setup_lower_thirds.html ================================================ {{/* Copyright 2014 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for configuring audience display lower thirds. */}} {{define "title"}}Lower Thirds{{end}} {{define "body"}}
Audience Display {{template "audience_display_radio_buttons"}}
Lower Thirds {{range $i, $lowerThird := .LowerThirds}}

{{end}}
{{end}} {{define "script"}} {{end}} ================================================ FILE: templates/setup_schedule.html ================================================ {{/* Copyright 2014 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for generating a match schedule. */}} {{define "title"}}Match Scheduling{{end}} {{define "body"}}
{{if .ErrorMessage}}
{{.ErrorMessage}}
{{end}}
Schedule Parameters

Total match count: 0
Matches per team: 0
Excess matches: 0
Matches needed for +1 per team: 0

{{if .EventSettings.TbaPublishingEnabled}}

Schedule is not automatically published to The Blue Alliance. Manually publish it from the Settings tab.

{{end}}
{{range $match := .Matches}} {{end}}
Match Time
{{$match.LongName}} {{$match.Time}}
{{range $team, $firstMatch := .TeamFirstMatches}} {{end}}
Team First Match
{{$team}} {{$firstMatch}}
{{end}} {{define "script"}} {{end}} ================================================ FILE: templates/setup_settings.html ================================================ {{/* Copyright 2014 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for configuring event settings. */}} {{define "title"}}Settings{{end}} {{define "body"}}
{{if .ErrorMessage}}
{{.ErrorMessage}}
{{end}}
Event Settings
Team Info Download
Authentication

Configure password to enable authentication, or leave blank to disable.

Database Operations
Game-Specific
Networking

Enable this setting if you have a Vivid-Hosting VH-113 access point and Cisco Catalyst 3500-series switch available, for isolating each team to its own SSID and VLAN.

SCC Switch

Enable this setting if you have an SSH-capable managed switch in your SCCs and want to run commands to disable team ethernet ports while network reconfiguration is in progress. This setting only works if advanced network security is enabled above.

PLC
Team Signs

If you are using a set of the (2024+) official team number / timer signs, enter their two-digit IDs (e.g. 51, 52, etc.) here.

Driver Station Lite Mode

When enabled, the Driver Station software will prompt teams to allow Cheesy Arena to connect rather than automatically connecting, and will preserve the ability to use the spacebar for robot disablement. Consider enabling this setting when physical E-Stop buttons are not present.

Publishing

Contact The Blue Alliance to obtain an event code and credentials.

{{if .TbaPublishingEnabled}} Publishing Operations {{end}}
Nexus

Automatically populates practice and playoff match lineups from Nexus. Uses the same event code as TBA; configure it above if enabling.

Match Video Recording

If you are using a Blackmagic HyperDeck device to record match video, enter the device IP address(es) here to have Cheesy Arena automatically start and stop recording for each match. Separate multiple addresses with a comma.

BitFocus Companion Integration

If you are using BitFocus Companion for automation, configure the server address/port and button locations (page/row/column) for each event type to automatically trigger button presses during match events. Leave the server address blank to disable the integration.

Note: Enter the IP address and enable the TCP Listener in BitFocus Companion settings. The default TCP port is 51234. Leave address blank to disable Companion integration.

Event Button Mappings

Configure page/row/column coordinates for each event. Set Page to 0 to disable a specific event trigger. Note: Companion uses 0 as a valid row/column number, so only the Page field is used to enable/disable events.

Event
Page
Row
Column
{{end}} {{define "script"}} {{end}} ================================================ FILE: templates/setup_sponsor_slides.html ================================================ {{/* Copyright 2014 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for configuring the audience display sponsor roll. */}} {{define "title"}}Sponsor Slides Configuration{{end}} {{define "body"}}
Sponsor Slides Configuration

Place images in /static/img/sponsors/

{{range $i, $sponsorSlide := .SponsorSlides}}
{{if lt $i (add (len $.SponsorSlides) -1) }}
{{end}}
{{end}}
{{end}} {{define "script"}} {{end}} ================================================ FILE: templates/setup_teams.html ================================================ {{/* Copyright 2014 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) UI for configuring the team list for an event. */}} {{define "title"}}Team List{{end}} {{define "body"}} {{if .ShowErrorMessage}}
You can't modify the team list once the qualification schedule has been generated. If you need to change the team list, clear all other data first on the Settings page.
{{end}}
Import Teams {{if not .EventSettings.TbaDownloadEnabled}}

To automatically download data about teams, enable TBA Team Info Download on the settings page

{{end}}
{{if .EventSettings.TbaDownloadEnabled}} {{end}}
{{if .EventSettings.NetworkSecurityEnabled}} {{end}} {{if .EventSettings.TbaPublishingEnabled}}

Team list is not automatically published to The Blue Alliance. Manually publish it from the Settings tab.

{{end}}
{{range $team := .Teams}} {{end}}
# Name Nickname School Location Rookie Year Robot Name Action
{{$team.Id}} {{$team.Name}} {{$team.Nickname}} {{$team.SchoolName}} {{$team.City}}, {{$team.StateProv}}, {{$team.Country}} {{$team.RookieYear}} {{$team.RobotName}}
{{len .Teams}} teams
{{end}} {{define "script"}} {{end}} ================================================ FILE: templates/teams.csv ================================================ Number,Name,Nickname,SchoolName,City,StateProv,Country,RookieYear,RobotName,HasConnected {{range $team := .}}{{$team.Id}},"{{$team.Name}}","{{$team.Nickname}}","{{$team.SchoolName}}","{{$team.City}}","{{$team.StateProv}}","{{$team.Country}}",{{$team.RookieYear}},"{{$team.RobotName}}",{{$team.HasConnected}} {{end}} ================================================ FILE: templates/twitch_display.html ================================================ {{/* Copyright 2018 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) Display to show a configurable Twitch live video stream. */}} Twitch Stream Display - {{.EventSettings.Name}} - Cheesy Arena
================================================ FILE: templates/view_match_log.html ================================================ {{/* Copyright 2024 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) Page showing the logs of a single match for a single team. */}} {{define "title"}}Match Log - {{.Match.ShortName}} - {{ .MatchLogs.TeamId}} ({{.MatchLogs.AllianceStation}}){{end}} {{define "body"}}

Match Log: {{.Match.ShortName}} - {{ .MatchLogs.TeamId}} ({{.MatchLogs.AllianceStation}})

{{range $logs := .MatchLogs.Logs}}
{{range $row := $logs.Rows}} {{end}}
Match Time DS Linked Radio Linked Rio Linked Robot Linked Mode Enabled E-Stop A-Stop Voltage Missed Packets Latency TX Rate RX Rate SNR
{{printf "%.2f" $row.MatchTimeSec}} {{$row.DsLinked}} {{if $row.DsLinked}}{{$row.RadioLinked}}{{else}}*****{{end}} {{if and $row.DsLinked $row.RadioLinked}}{{$row.RioLinked}}{{else}}*****{{end}} {{if and $row.DsLinked $row.RadioLinked $row.RioLinked}}{{$row.RobotLinked}}{{else}}*****{{end}} {{if $row.Auto}}Auto{{else}}Telop{{end}} {{$row.Enabled}} {{$row.EmergencyStop}} {{$row.AutonomousStop}} {{printf "%.3f" $row.BatteryVoltage}} {{$row.MissedPacketCount}} {{$row.DsRobotTripTimeMs}} {{$row.TxRate}} {{$row.RxRate}} {{$row.SignalNoiseRatio}}
{{end}}
{{end}} {{define "script"}} {{end}} ================================================ FILE: templates/wall_display.html ================================================ {{/* Copyright 2023 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) Display that can be shown on a screen supplemental to one with the audience display overlay. */}} Wall Display - {{.EventSettings.Name}} - Cheesy Arena
{{.EventSettings.Name}}
 - 
Next Up:
================================================ FILE: templates/webpage_display.html ================================================ {{/* Copyright 2024 Team 254. All Rights Reserved. Author: pat@patfairbank.com (Patrick Fairbank) Display to show an arbitrary web page. */}} Web Page Display - {{.EventSettings.Name}} - Cheesy Arena ================================================ FILE: tournament/awards.go ================================================ // Copyright 2019 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Functions for managing awards and their associated lower thirds. package tournament import ( "fmt" "github.com/Team254/cheesy-arena/model" ) // Creates or updates the given award, depending on whether or not it already exists. func CreateOrUpdateAward(database *model.Database, award *model.Award, createIntroLowerThird bool) error { // Validate the award data. if award.AwardName == "" { return fmt.Errorf("Award name cannot be blank.") } var team *model.Team if award.TeamId > 0 { team, _ = database.GetTeamById(award.TeamId) if team == nil { return fmt.Errorf("Team %d is not present at this event.", award.TeamId) } } var err error if award.Id == 0 { err = database.CreateAward(award) } else { err = database.UpdateAward(award) } if err != nil { return err } // Create or update associated lower thirds. awardIntroLowerThird := model.LowerThird{TopText: award.AwardName, AwardId: award.Id} awardWinnerLowerThird := model.LowerThird{ TopText: award.AwardName, BottomText: award.PersonName, AwardId: award.Id, } if team != nil { if award.PersonName == "" { awardWinnerLowerThird.BottomText = fmt.Sprintf("Team %d, %s", team.Id, team.Nickname) } else { awardWinnerLowerThird.BottomText = fmt.Sprintf( "%s – Team %d, %s", award.PersonName, team.Id, team.Nickname, ) } } if awardWinnerLowerThird.BottomText == "" { awardWinnerLowerThird.BottomText = "(No awardee assigned yet)" } lowerThirds, err := database.GetLowerThirdsByAwardId(award.Id) if err != nil { return err } bottomIndex := 0 if createIntroLowerThird { if err = createOrUpdateAwardLowerThird(database, &awardIntroLowerThird, lowerThirds, 0); err != nil { return err } bottomIndex++ } if err = createOrUpdateAwardLowerThird(database, &awardWinnerLowerThird, lowerThirds, bottomIndex); err != nil { return err } return nil } // Deletes the given award and any associated lower thirds. func DeleteAward(database *model.Database, awardId int) error { if err := database.DeleteAward(awardId); err != nil { return err } // Delete lower thirds. lowerThirds, err := database.GetLowerThirdsByAwardId(awardId) if err != nil { return err } for _, lowerThird := range lowerThirds { if err = database.DeleteLowerThird(lowerThird.Id); err != nil { return err } } return nil } // Generates awards and lower thirds for the tournament winners and finalists. func CreateOrUpdateWinnerAndFinalistAwards(database *model.Database, winnerAllianceId, finalistAllianceId int) error { var winnerAlliance, finalistAlliance *model.Alliance var err error if winnerAlliance, err = database.GetAllianceById(winnerAllianceId); err != nil { return err } if finalistAlliance, err = database.GetAllianceById(finalistAllianceId); err != nil { return err } if winnerAlliance == nil || finalistAlliance == nil { return fmt.Errorf("Winner and/or finalist alliances do not exist.") } if len(winnerAlliance.TeamIds) == 0 || len(finalistAlliance.TeamIds) == 0 { return fmt.Errorf("Winner and/or finalist alliances do not contain teams.") } // Clear out any awards that may exist if the final match was scored more than once. winnerAwards, err := database.GetAwardsByType(model.WinnerAward) if err != nil { return err } finalistAwards, err := database.GetAwardsByType(model.FinalistAward) if err != nil { return err } for _, award := range append(winnerAwards, finalistAwards...) { if err = DeleteAward(database, award.Id); err != nil { return err } } // Create the finalist awards first since they're usually presented first. finalistAward := model.Award{ AwardName: "Finalist", Type: model.FinalistAward, TeamId: finalistAlliance.TeamIds[0], } if err = CreateOrUpdateAward(database, &finalistAward, true); err != nil { return err } for _, allianceTeamId := range finalistAlliance.TeamIds[1:] { finalistAward.Id = 0 finalistAward.TeamId = allianceTeamId if err = CreateOrUpdateAward(database, &finalistAward, false); err != nil { return err } } // Create the winner awards. winnerAward := model.Award{ AwardName: "Winner", Type: model.WinnerAward, TeamId: winnerAlliance.TeamIds[0], } if err = CreateOrUpdateAward(database, &winnerAward, true); err != nil { return err } for _, allianceTeamId := range winnerAlliance.TeamIds[1:] { winnerAward.Id = 0 winnerAward.TeamId = allianceTeamId if err = CreateOrUpdateAward(database, &winnerAward, false); err != nil { return err } } return nil } func createOrUpdateAwardLowerThird( database *model.Database, lowerThird *model.LowerThird, existingLowerThirds []model.LowerThird, index int, ) error { if index < len(existingLowerThirds) { lowerThird.Id = existingLowerThirds[index].Id lowerThird.DisplayOrder = existingLowerThirds[index].DisplayOrder return database.UpdateLowerThird(lowerThird) } else { lowerThird.DisplayOrder = database.GetNextLowerThirdDisplayOrder() return database.CreateLowerThird(lowerThird) } } ================================================ FILE: tournament/awards_test.go ================================================ // Copyright 2019 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package tournament import ( "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "testing" ) func TestCreateOrUpdateAwardWithIntro(t *testing.T) { database := setupTestDb(t) database.CreateTeam(&model.Team{Id: 254, Nickname: "Teh Chezy Pofs"}) award := model.Award{0, model.JudgedAward, "Safety Award", 0, ""} err := CreateOrUpdateAward(database, &award, true) assert.Nil(t, err) award2, _ := database.GetAwardById(award.Id) assert.Equal(t, award, *award2) lowerThirds, _ := database.GetAllLowerThirds() if assert.Equal(t, 2, len(lowerThirds)) { assert.Equal(t, "Safety Award", lowerThirds[0].TopText) assert.Equal(t, "", lowerThirds[0].BottomText) assert.Equal(t, "Safety Award", lowerThirds[1].TopText) assert.Equal(t, "(No awardee assigned yet)", lowerThirds[1].BottomText) } award.AwardName = "Saftey Award" award.TeamId = 254 err = CreateOrUpdateAward(database, &award, true) assert.Nil(t, err) award2, _ = database.GetAwardById(award.Id) assert.Equal(t, award, *award2) lowerThirds, _ = database.GetAllLowerThirds() if assert.Equal(t, 2, len(lowerThirds)) { assert.Equal(t, "Saftey Award", lowerThirds[0].TopText) assert.Equal(t, "", lowerThirds[0].BottomText) assert.Equal(t, "Saftey Award", lowerThirds[1].TopText) assert.Equal(t, "Team 254, Teh Chezy Pofs", lowerThirds[1].BottomText) } err = DeleteAward(database, award.Id) assert.Nil(t, err) award2, _ = database.GetAwardById(award.Id) assert.Nil(t, award2) lowerThirds, _ = database.GetAllLowerThirds() assert.Empty(t, lowerThirds) } func TestCreateOrUpdateAwardWithoutIntro(t *testing.T) { database := setupTestDb(t) database.CreateTeam(&model.Team{Id: 254, Nickname: "Teh Chezy Pofs"}) otherLowerThird := model.LowerThird{TopText: "Marco", BottomText: "Polo"} database.CreateLowerThird(&otherLowerThird) award := model.Award{0, model.WinnerAward, "Winner", 0, "Bob Dorough"} err := CreateOrUpdateAward(database, &award, false) assert.Nil(t, err) award2, _ := database.GetAwardById(award.Id) assert.Equal(t, award, *award2) lowerThirds, _ := database.GetAllLowerThirds() if assert.Equal(t, 2, len(lowerThirds)) { assert.Equal(t, otherLowerThird, lowerThirds[0]) assert.Equal(t, "Winner", lowerThirds[1].TopText) assert.Equal(t, "Bob Dorough", lowerThirds[1].BottomText) } award.TeamId = 254 err = CreateOrUpdateAward(database, &award, false) assert.Nil(t, err) award2, _ = database.GetAwardById(award.Id) assert.Equal(t, award, *award2) lowerThirds, _ = database.GetAllLowerThirds() if assert.Equal(t, 2, len(lowerThirds)) { assert.Equal(t, otherLowerThird, lowerThirds[0]) assert.Equal(t, "Winner", lowerThirds[1].TopText) assert.Equal(t, "Bob Dorough – Team 254, Teh Chezy Pofs", lowerThirds[1].BottomText) } err = DeleteAward(database, award.Id) assert.Nil(t, err) award2, _ = database.GetAwardById(award.Id) assert.Nil(t, award2) lowerThirds, _ = database.GetAllLowerThirds() if assert.Equal(t, 1, len(lowerThirds)) { assert.Equal(t, otherLowerThird, lowerThirds[0]) } } func TestCreateOrUpdateWinnerAndFinalistAwards(t *testing.T) { database := setupTestDb(t) CreateTestAlliances(database, 2) database.CreateTeam(&model.Team{Id: 101}) database.CreateTeam(&model.Team{Id: 102}) database.CreateTeam(&model.Team{Id: 103}) database.CreateTeam(&model.Team{Id: 104}) database.CreateTeam(&model.Team{Id: 201}) database.CreateTeam(&model.Team{Id: 202}) database.CreateTeam(&model.Team{Id: 203}) database.CreateTeam(&model.Team{Id: 204}) err := CreateOrUpdateWinnerAndFinalistAwards(database, 2, 1) assert.Nil(t, err) awards, _ := database.GetAllAwards() if assert.Equal(t, 8, len(awards)) { assert.Equal(t, model.Award{1, model.FinalistAward, "Finalist", 101, ""}, awards[0]) assert.Equal(t, model.Award{2, model.FinalistAward, "Finalist", 102, ""}, awards[1]) assert.Equal(t, model.Award{3, model.FinalistAward, "Finalist", 103, ""}, awards[2]) assert.Equal(t, model.Award{4, model.FinalistAward, "Finalist", 104, ""}, awards[3]) assert.Equal(t, model.Award{5, model.WinnerAward, "Winner", 201, ""}, awards[4]) assert.Equal(t, model.Award{6, model.WinnerAward, "Winner", 202, ""}, awards[5]) assert.Equal(t, model.Award{7, model.WinnerAward, "Winner", 203, ""}, awards[6]) assert.Equal(t, model.Award{8, model.WinnerAward, "Winner", 204, ""}, awards[7]) } lowerThirds, _ := database.GetAllLowerThirds() if assert.Equal(t, 10, len(lowerThirds)) { assert.Equal(t, "Finalist", lowerThirds[0].TopText) assert.Equal(t, "", lowerThirds[0].BottomText) assert.Equal(t, "Finalist", lowerThirds[1].TopText) assert.Equal(t, "Team 101, ", lowerThirds[1].BottomText) assert.Equal(t, "Winner", lowerThirds[5].TopText) assert.Equal(t, "", lowerThirds[5].BottomText) assert.Equal(t, "Winner", lowerThirds[6].TopText) assert.Equal(t, "Team 201, ", lowerThirds[6].BottomText) } err = CreateOrUpdateWinnerAndFinalistAwards(database, 1, 2) assert.Nil(t, err) awards, _ = database.GetAllAwards() if assert.Equal(t, 8, len(awards)) { assert.Equal(t, model.Award{9, model.FinalistAward, "Finalist", 201, ""}, awards[0]) assert.Equal(t, model.Award{10, model.FinalistAward, "Finalist", 202, ""}, awards[1]) assert.Equal(t, model.Award{11, model.FinalistAward, "Finalist", 203, ""}, awards[2]) assert.Equal(t, model.Award{12, model.FinalistAward, "Finalist", 204, ""}, awards[3]) assert.Equal(t, model.Award{13, model.WinnerAward, "Winner", 101, ""}, awards[4]) assert.Equal(t, model.Award{14, model.WinnerAward, "Winner", 102, ""}, awards[5]) assert.Equal(t, model.Award{15, model.WinnerAward, "Winner", 103, ""}, awards[6]) assert.Equal(t, model.Award{16, model.WinnerAward, "Winner", 104, ""}, awards[7]) } lowerThirds, _ = database.GetAllLowerThirds() if assert.Equal(t, 10, len(lowerThirds)) { assert.Equal(t, "Finalist", lowerThirds[0].TopText) assert.Equal(t, "", lowerThirds[0].BottomText) assert.Equal(t, "Finalist", lowerThirds[1].TopText) assert.Equal(t, "Team 201, ", lowerThirds[1].BottomText) assert.Equal(t, "Winner", lowerThirds[5].TopText) assert.Equal(t, "", lowerThirds[5].BottomText) assert.Equal(t, "Winner", lowerThirds[6].TopText) assert.Equal(t, "Team 101, ", lowerThirds[6].BottomText) } } ================================================ FILE: tournament/judging_schedule.go ================================================ // Copyright 2025 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Logic for creating judging schedules. package tournament import ( "fmt" "github.com/Team254/cheesy-arena/model" "math/rand" "time" ) // JudgingScheduleParams contains configuration parameters for the judging schedule generation. type JudgingScheduleParams struct { // NumJudges is the number of judge teams operating in parallel. NumJudges int // DurationMinutes is the duration of each judging slot in minutes. DurationMinutes int // PreviousSpacingMinutes is the minimum buffer time in minutes between the start of a team's match and when they // can be scheduled for judging. PreviousSpacingMinutes int // NextSpacingMinutes is the minimum buffer time in minutes between the end of a team's judging slot and their next // scheduled match. NextSpacingMinutes int } // judgeSchedule represents the schedule of a judge team, with a list of judging slots and the ending time of the last // slot. type judgeSchedule struct { judgeNumber int endTime time.Time slots []*model.JudgingSlot } // BuildJudgingSchedule generates a judging schedule based on the given parameters and qualification match schedule. func BuildJudgingSchedule(database *model.Database, params JudgingScheduleParams) error { slots, err := database.GetAllJudgingSlots() if err != nil { return fmt.Errorf("error getting judging slots: %v", err) } if len(slots) > 0 { return fmt.Errorf("cannot generate judging schedule: existing judging slots found") } teams, err := database.GetAllTeams() if err != nil { return fmt.Errorf("error getting teams: %v", err) } if len(teams) == 0 { return fmt.Errorf("cannot generate judging schedule: no teams present") } matches, err := database.GetMatchesByType(model.Qualification, true) if err != nil { return fmt.Errorf("error getting qualification matches: %v", err) } if len(matches) < 2 { return fmt.Errorf("cannot generate judging schedule: no qualification matches found") } scheduleBlocks, err := database.GetScheduleBlocksByMatchType(model.Qualification) if err != nil { return fmt.Errorf("error getting schedule blocks: %v", err) } // Create a map of teams to their matches. teamMatches := createTeamMatchMap(teams, matches) // Assume that the second match is the start time for the judging schedule. startTime := matches[1].Time // Initialize judging team schedules. judgeSchedules := make([]*judgeSchedule, params.NumJudges) for i := 0; i < params.NumJudges; i++ { judgeSchedules[i] = &judgeSchedule{ judgeNumber: i + 1, endTime: startTime, slots: []*model.JudgingSlot{}, } } if params.NumJudges <= 0 { return fmt.Errorf("cannot generate judging schedule: no judges available") } // Randomly shuffle the teams to avoid bias in the scheduling. rand.Shuffle( len(teams), func(i, j int) { teams[i], teams[j] = teams[j], teams[i] }, ) // Loop until all teams have been scheduled. scheduledTeams := make(map[int]struct{}) noProgressCount := 0 maxNoProgress := len(teams) * params.NumJudges * 5 for len(scheduledTeams) < len(teams) { // Select the judge with fewest scheduled visits (or first if there are multiple). var selectedJudge *judgeSchedule for _, judge := range judgeSchedules { if selectedJudge == nil || len(judge.slots) < len(selectedJudge.slots) { selectedJudge = judge } } if selectedJudge == nil { return fmt.Errorf("no available judges to schedule") } candidateTime := selectedJudge.endTime var selectedSlot *model.JudgingSlot for _, team := range teams { if _, ok := scheduledTeams[team.Id]; ok { continue } slot, err := getNextSlotForTeam(team, candidateTime, teamMatches[team.Id], params) if err != nil { return fmt.Errorf("error finding next slot for team %d: %v", team.Id, err) } if selectedSlot == nil || slot.Time.Before(selectedSlot.Time) { selectedSlot = slot } if slot.Time == candidateTime { // The slot perfectly matches the candidate time; no need to evaluate the remaining teams. break } } if selectedSlot == nil { return fmt.Errorf("no available judging slot found") } // Check the validity of the selected slot with respect to the scheduled breaks. slotEndTime := selectedSlot.Time.Add(time.Duration(params.DurationMinutes) * time.Minute) validAssignment := true for i, block := range scheduleBlocks { blockEndTime := block.StartTime.Add(time.Duration(block.NumMatches*block.MatchSpacingSec) * time.Second) if selectedSlot.Time.Before(block.StartTime) { // The slot time falls between blocks; advance the judge's end time to the start of the next block. selectedJudge.endTime = block.StartTime // Don't allow a slot to start during a break, but do allow one to end during a break. validAssignment = false break } if selectedSlot.Time.Before(blockEndTime) { // The slot starts within the block. if slotEndTime.After(blockEndTime) && i+1 < len(scheduleBlocks) { nextBlockStart := scheduleBlocks[i+1].StartTime if slotEndTime.After(nextBlockStart) { // The slot runs into the next block; advance to the next block start. selectedJudge.endTime = nextBlockStart validAssignment = false } } break } } if !validAssignment { // The slot time is invalid; try the next judge. noProgressCount++ if noProgressCount >= maxNoProgress { judgeEndTimes := make([]time.Time, len(judgeSchedules)) for i, judge := range judgeSchedules { judgeEndTimes[i] = judge.endTime } return fmt.Errorf( "cannot generate judging schedule: no progress after %d attempts (scheduled %d/%d, candidate %s, judgeEndTimes %v, params %+v)", noProgressCount, len(scheduledTeams), len(teams), candidateTime.Format(time.RFC3339), judgeEndTimes, params, ) } continue } // Update the schedule. selectedSlot.JudgeNumber = selectedJudge.judgeNumber selectedJudge.slots = append(selectedJudge.slots, selectedSlot) selectedJudge.endTime = selectedSlot.Time.Add(time.Duration(params.DurationMinutes) * time.Minute) scheduledTeams[selectedSlot.TeamId] = struct{}{} if err := database.CreateJudgingSlot(selectedSlot); err != nil { return fmt.Errorf("error saving judging slot for team %d: %v", selectedSlot.TeamId, err) } noProgressCount = 0 } return nil } // createTeamMatchMap creates a map of team IDs to their scheduled qualification matches. func createTeamMatchMap(teams []model.Team, matches []model.Match) map[int][]model.Match { teamMatches := make(map[int][]model.Match) for _, team := range teams { teamMatches[team.Id] = []model.Match{} } for _, match := range matches { teamMatches[match.Red1] = append(teamMatches[match.Red1], match) teamMatches[match.Red2] = append(teamMatches[match.Red2], match) teamMatches[match.Red3] = append(teamMatches[match.Red3], match) teamMatches[match.Blue1] = append(teamMatches[match.Blue1], match) teamMatches[match.Blue2] = append(teamMatches[match.Blue2], match) teamMatches[match.Blue3] = append(teamMatches[match.Blue3], match) } return teamMatches } // getNextSlotForTeam finds the next available judging slot for a team at or after the given candidate time. func getNextSlotForTeam( team model.Team, candidateTime time.Time, matches []model.Match, params JudgingScheduleParams, ) (*model.JudgingSlot, error) { if len(matches) == 0 { return nil, fmt.Errorf("no qualification matches for team") } var previousMatch *model.Match for i := range matches { match := matches[i] if match.Time.After(candidateTime) { // Calculate the spacing between the candidate time and the previous match. previousSpacingMinutes := float64(params.PreviousSpacingMinutes) if previousMatch != nil { previousSpacingMinutes = candidateTime.Sub(previousMatch.Time).Minutes() } if previousSpacingMinutes < float64(params.PreviousSpacingMinutes) { // The candidate time is too close to the previous match; adjust it minimally. candidateTime = previousMatch.Time.Add(time.Duration(params.PreviousSpacingMinutes) * time.Minute) } nextSpacingMinutes := match.Time.Sub(candidateTime).Minutes() - float64(params.DurationMinutes) if nextSpacingMinutes >= float64(params.NextSpacingMinutes) { // The candidate time is far enough from the next match; schedule the judging slot. slot := model.JudgingSlot{ Time: candidateTime, TeamId: team.Id, NextMatchNumber: match.TypeOrder, NextMatchTime: match.Time, } if previousMatch != nil { slot.PreviousMatchNumber = previousMatch.TypeOrder slot.PreviousMatchTime = previousMatch.Time } return &slot, nil } // The candidate time is too close to the next match; continue searching. } previousMatch = &matches[i] } // If we get here, the team can only be scheduled once all matches are complete. if previousMatch == nil { return nil, fmt.Errorf("no previous match found for team") } minCandidateTime := previousMatch.Time.Add(time.Duration(params.PreviousSpacingMinutes) * time.Minute) if candidateTime.Before(minCandidateTime) { candidateTime = minCandidateTime } slot := model.JudgingSlot{ Time: candidateTime, TeamId: team.Id, PreviousMatchNumber: previousMatch.TypeOrder, PreviousMatchTime: previousMatch.Time, } return &slot, nil } ================================================ FILE: tournament/judging_schedule_test.go ================================================ // Copyright 2025 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package tournament import ( "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "math/rand" "testing" "time" ) func TestBuildJudgingSchedule(t *testing.T) { rand.Seed(0) database := setupTestDb(t) // Test error when judging slots already exist. slot := model.JudgingSlot{Time: time.Now(), TeamId: 254, JudgeNumber: 1} assert.Nil(t, database.CreateJudgingSlot(&slot)) params := JudgingScheduleParams{ NumJudges: 3, DurationMinutes: 23, PreviousSpacingMinutes: 17, NextSpacingMinutes: 14, } err := BuildJudgingSchedule(database, params) assert.Contains(t, err.Error(), "existing judging slots found") assert.Nil(t, database.TruncateJudgingSlots()) // Test error when no teams present. err = BuildJudgingSchedule(database, params) assert.Contains(t, err.Error(), "no teams present") // Generate teams to test against. for i := 1; i <= 24; i++ { assert.Nil(t, database.CreateTeam(&model.Team{Id: i})) } teams, err := database.GetAllTeams() assert.Nil(t, err) // Test error when no qualification matches found. err = BuildJudgingSchedule(database, params) assert.Contains(t, err.Error(), "no qualification matches found") // Generate qualification schedule to test against. scheduleBlocks := []model.ScheduleBlock{ { MatchType: model.Qualification, StartTime: time.Date(2025, 4, 1, 9, 0, 0, 0, time.UTC), NumMatches: 12, MatchSpacingSec: 600, }, { MatchType: model.Qualification, StartTime: time.Date(2025, 4, 1, 13, 0, 0, 0, time.UTC), NumMatches: 12, MatchSpacingSec: 600, }, } for _, block := range scheduleBlocks { assert.Nil(t, database.CreateScheduleBlock(&block)) } matches, err := BuildRandomSchedule(teams, scheduleBlocks, model.Qualification) assert.Nil(t, err) for _, match := range matches { assert.Nil(t, database.CreateMatch(&match)) } err = BuildJudgingSchedule(database, params) assert.Nil(t, err) slots, err := database.GetAllJudgingSlots() assert.Nil(t, err) assert.Equal(t, 24, len(slots)) judgeTeamCounts := make(map[int]int) for _, slot := range slots { assert.NotEqual(t, 0, slot.TeamId) assert.NotEqual(t, 0, slot.JudgeNumber) judgeTeamCounts[slot.JudgeNumber]++ // Check that the slot is not too close to the previous or next matches. if slot.PreviousMatchNumber > 0 { spacing := slot.Time.Sub(slot.PreviousMatchTime).Minutes() assert.GreaterOrEqual(t, spacing, float64(params.PreviousSpacingMinutes)) } if slot.NextMatchNumber > 0 { spacing := slot.NextMatchTime.Sub(slot.Time).Minutes() - float64(params.DurationMinutes) assert.GreaterOrEqual(t, spacing, float64(params.NextSpacingMinutes)) } // Check that the slot is not scheduled during the break. breakStartTime := scheduleBlocks[0].StartTime.Add( time.Duration(scheduleBlocks[0].NumMatches*scheduleBlocks[0].MatchSpacingSec) * time.Second, ) if slot.Time.Before(scheduleBlocks[1].StartTime) { assert.True(t, slot.Time.Before(breakStartTime)) } if slot.Time.After(breakStartTime) { assert.True(t, slot.Time.After(scheduleBlocks[1].StartTime)) } } if assert.Equal(t, 3, len(judgeTeamCounts)) { assert.Equal(t, 8, judgeTeamCounts[1]) assert.Equal(t, 8, judgeTeamCounts[2]) assert.Equal(t, 8, judgeTeamCounts[3]) } } func TestBuildJudgingScheduleMissingTeamMatches(t *testing.T) { rand.Seed(0) database := setupTestDb(t) for i := 1; i <= 6; i++ { assert.Nil(t, database.CreateTeam(&model.Team{Id: i})) } teams, err := database.GetAllTeams() assert.Nil(t, err) scheduleBlocks := []model.ScheduleBlock{ { MatchType: model.Qualification, StartTime: time.Date(2025, 4, 1, 9, 0, 0, 0, time.UTC), NumMatches: 2, MatchSpacingSec: 600, }, } for _, block := range scheduleBlocks { assert.Nil(t, database.CreateScheduleBlock(&block)) } // Only include the first three teams in matches to force missing team matches. for i := 0; i < 2; i++ { match := model.Match{ Type: model.Qualification, TypeOrder: i + 1, Time: scheduleBlocks[0].StartTime.Add(time.Duration(i*scheduleBlocks[0].MatchSpacingSec) * time.Second), Red1: teams[0].Id, Red2: teams[1].Id, Red3: teams[2].Id, Blue1: teams[0].Id, Blue2: teams[1].Id, Blue3: teams[2].Id, } assert.Nil(t, database.CreateMatch(&match)) } params := JudgingScheduleParams{ NumJudges: 2, DurationMinutes: 20, PreviousSpacingMinutes: 15, NextSpacingMinutes: 10, } err = BuildJudgingSchedule(database, params) assert.Contains(t, err.Error(), "no qualification matches for team") } func TestGetNextSlotForTeamAfterLastMatch(t *testing.T) { params := JudgingScheduleParams{ NumJudges: 1, DurationMinutes: 20, PreviousSpacingMinutes: 30, NextSpacingMinutes: 10, } team := model.Team{Id: 1} matches := []model.Match{ { Type: model.Qualification, TypeOrder: 1, Time: time.Date(2025, 4, 1, 9, 0, 0, 0, time.UTC), Red1: team.Id, }, { Type: model.Qualification, TypeOrder: 2, Time: time.Date(2025, 4, 1, 10, 0, 0, 0, time.UTC), Red1: team.Id, }, } candidateTime := time.Date(2025, 4, 1, 11, 0, 0, 0, time.UTC) slot, err := getNextSlotForTeam(team, candidateTime, matches, params) assert.Nil(t, err) assert.Equal(t, candidateTime, slot.Time) } func TestBuildJudgingScheduleAllowsEndDuringBreak(t *testing.T) { rand.Seed(0) database := setupTestDb(t) assert.Nil(t, database.CreateTeam(&model.Team{Id: 1})) scheduleBlocks := []model.ScheduleBlock{ { MatchType: model.Qualification, StartTime: time.Date(2025, 4, 1, 9, 0, 0, 0, time.UTC), NumMatches: 2, MatchSpacingSec: 600, }, { MatchType: model.Qualification, StartTime: time.Date(2025, 4, 1, 10, 0, 0, 0, time.UTC), NumMatches: 1, MatchSpacingSec: 600, }, } for _, block := range scheduleBlocks { assert.Nil(t, database.CreateScheduleBlock(&block)) } matches := []model.Match{ { Type: model.Qualification, TypeOrder: 1, Time: scheduleBlocks[0].StartTime, Red1: 1, Red2: 1, Red3: 1, Blue1: 1, Blue2: 1, Blue3: 1, }, { Type: model.Qualification, TypeOrder: 2, Time: scheduleBlocks[0].StartTime.Add(10 * time.Minute), Red1: 1, Red2: 1, Red3: 1, Blue1: 1, Blue2: 1, Blue3: 1, }, { Type: model.Qualification, TypeOrder: 3, Time: scheduleBlocks[1].StartTime, Red1: 1, Red2: 1, Red3: 1, Blue1: 1, Blue2: 1, Blue3: 1, }, } for _, match := range matches { assert.Nil(t, database.CreateMatch(&match)) } params := JudgingScheduleParams{ NumJudges: 1, DurationMinutes: 20, PreviousSpacingMinutes: 0, NextSpacingMinutes: 0, } err := BuildJudgingSchedule(database, params) assert.Nil(t, err) slots, err := database.GetAllJudgingSlots() assert.Nil(t, err) if assert.Equal(t, 1, len(slots)) { assert.Equal(t, scheduleBlocks[0].StartTime.Add(10*time.Minute), slots[0].Time) } } ================================================ FILE: tournament/qualification_rankings.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Functions for calculating the qualification rankings. package tournament import ( "fmt" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "sort" "strconv" ) // Determines the rankings from the stored match results, and saves them to the database. func CalculateRankings(database *model.Database, preservePreviousRank bool) (game.Rankings, error) { matches, err := database.GetMatchesByType(model.Qualification, false) if err != nil { return nil, err } rankings := make(map[int]*game.Ranking) for _, match := range matches { if !match.IsComplete() { continue } matchResult, err := database.GetMatchResultForMatch(match.Id) if err != nil { return nil, err } if !match.Red1IsSurrogate { addMatchResultToRankings(rankings, match.Red1, matchResult, true) } if !match.Red2IsSurrogate { addMatchResultToRankings(rankings, match.Red2, matchResult, true) } if !match.Red3IsSurrogate { addMatchResultToRankings(rankings, match.Red3, matchResult, true) } if !match.Blue1IsSurrogate { addMatchResultToRankings(rankings, match.Blue1, matchResult, false) } if !match.Blue2IsSurrogate { addMatchResultToRankings(rankings, match.Blue2, matchResult, false) } if !match.Blue3IsSurrogate { addMatchResultToRankings(rankings, match.Blue3, matchResult, false) } } // Retrieve old rankings so that we can display changes in rank as a result of this calculation. oldRankings, err := database.GetAllRankings() if err != nil { return nil, err } oldRankingsMap := make(map[int]game.Ranking, len(oldRankings)) for _, ranking := range oldRankings { oldRankingsMap[ranking.TeamId] = ranking } sortedRankings := sortRankings(rankings) for rank, ranking := range sortedRankings { sortedRankings[rank].Rank = rank + 1 if oldRank, ok := oldRankingsMap[ranking.TeamId]; ok { if preservePreviousRank { sortedRankings[rank].PreviousRank = oldRank.PreviousRank } else { sortedRankings[rank].PreviousRank = oldRank.Rank } } } err = database.ReplaceAllRankings(sortedRankings) if err != nil { return nil, err } return sortedRankings, nil } // Checks all the match results for yellow and red cards, and updates the team model accordingly. func CalculateTeamCards(database *model.Database, matchType model.MatchType) error { teams, err := database.GetAllTeams() if err != nil { return err } teamsMap := make(map[string]model.Team) for _, team := range teams { team.YellowCard = false teamsMap[strconv.Itoa(team.Id)] = team } matches, err := database.GetMatchesByType(matchType, false) if err != nil { return err } for _, match := range matches { if !match.IsComplete() { continue } matchResult, err := database.GetMatchResultForMatch(match.Id) if err != nil { return err } if matchResult == nil { return fmt.Errorf("found no match result for match %d", match.Id) } // Mark the team as having a yellow card if they got either a yellow or red in a previous match. for teamId, card := range matchResult.RedCards { if team, ok := teamsMap[teamId]; ok && (card == "red" || card == "yellow") { team.YellowCard = true teamsMap[teamId] = team } } for teamId, card := range matchResult.BlueCards { if team, ok := teamsMap[teamId]; ok && (card == "red" || card == "yellow") { team.YellowCard = true teamsMap[teamId] = team } } } // Save the teams to the database. for _, team := range teamsMap { err = database.UpdateTeam(&team) if err != nil { return err } } return nil } // Incrementally accounts for the given match result in the set of rankings that are being built. func addMatchResultToRankings( rankings map[int]*game.Ranking, teamId int, matchResult *model.MatchResult, isRed bool, ) { ranking := rankings[teamId] if ranking == nil { ranking = &game.Ranking{TeamId: teamId} rankings[teamId] = ranking } // Determine whether the team was disqualified. var cards map[string]string if isRed { cards = matchResult.RedCards } else { cards = matchResult.BlueCards } disqualified := false if card, ok := cards[strconv.Itoa(teamId)]; ok && (card == "red" || card == "dq") { disqualified = true } if isRed { ranking.AddScoreSummary(matchResult.RedScoreSummary(), matchResult.BlueScoreSummary(), disqualified) } else { ranking.AddScoreSummary(matchResult.BlueScoreSummary(), matchResult.RedScoreSummary(), disqualified) } } func sortRankings(rankings map[int]*game.Ranking) game.Rankings { var sortedRankings game.Rankings for _, ranking := range rankings { sortedRankings = append(sortedRankings, *ranking) } sort.Sort(sortedRankings) return sortedRankings } ================================================ FILE: tournament/qualification_rankings_test.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package tournament import ( "fmt" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "math/rand" "testing" ) func TestCalculateRankings(t *testing.T) { rand.Seed(1) database := setupTestDb(t) setupMatchResultsForRankings(database) updatedRankings, err := CalculateRankings(database, false) assert.Nil(t, err) rankings, err := database.GetAllRankings() assert.Nil(t, err) assert.Equal(t, updatedRankings, rankings) if assert.Equal(t, 6, len(rankings)) { assert.Equal(t, 4, rankings[0].TeamId) assert.Equal(t, 0, rankings[0].PreviousRank) assert.Equal(t, 6, rankings[1].TeamId) assert.Equal(t, 0, rankings[1].PreviousRank) assert.Equal(t, 5, rankings[2].TeamId) assert.Equal(t, 0, rankings[2].PreviousRank) assert.Equal(t, 1, rankings[3].TeamId) assert.Equal(t, 0, rankings[3].PreviousRank) assert.Equal(t, 2, rankings[4].TeamId) assert.Equal(t, 0, rankings[4].PreviousRank) assert.Equal(t, 3, rankings[5].TeamId) assert.Equal(t, 0, rankings[5].PreviousRank) } previousRankings := make(map[int]int) for _, ranking := range rankings { fmt.Printf("%+v\n", ranking) previousRankings[ranking.TeamId] = ranking.Rank } fmt.Println() // Test after changing a match result. matchResult3 := model.BuildTestMatchResult(3, 3) matchResult3.RedScore, matchResult3.BlueScore = matchResult3.BlueScore, matchResult3.RedScore err = database.CreateMatchResult(matchResult3) assert.Nil(t, err) updatedRankings, err = CalculateRankings(database, false) assert.Nil(t, err) rankings, err = database.GetAllRankings() assert.Nil(t, err) assert.Equal(t, updatedRankings, rankings) if assert.Equal(t, 6, len(rankings)) { assert.Equal(t, 6, rankings[0].TeamId) assert.Equal(t, previousRankings[rankings[0].TeamId], rankings[0].PreviousRank) assert.Equal(t, 5, rankings[1].TeamId) assert.Equal(t, previousRankings[rankings[1].TeamId], rankings[1].PreviousRank) assert.Equal(t, 4, rankings[2].TeamId) assert.Equal(t, previousRankings[rankings[2].TeamId], rankings[2].PreviousRank) assert.Equal(t, 1, rankings[3].TeamId) assert.Equal(t, previousRankings[rankings[3].TeamId], rankings[3].PreviousRank) assert.Equal(t, 2, rankings[4].TeamId) assert.Equal(t, previousRankings[rankings[4].TeamId], rankings[4].PreviousRank) assert.Equal(t, 3, rankings[5].TeamId) assert.Equal(t, previousRankings[rankings[5].TeamId], rankings[5].PreviousRank) } for _, ranking := range rankings { fmt.Printf("%+v\n", ranking) } fmt.Println() matchResult3 = model.BuildTestMatchResult(3, 4) err = database.CreateMatchResult(matchResult3) assert.Nil(t, err) updatedRankings, err = CalculateRankings(database, true) assert.Nil(t, err) rankings, err = database.GetAllRankings() assert.Nil(t, err) assert.Equal(t, updatedRankings, rankings) if assert.Equal(t, 6, len(rankings)) { assert.Equal(t, 4, rankings[0].TeamId) assert.Equal(t, previousRankings[rankings[0].TeamId], rankings[0].PreviousRank) assert.Equal(t, 3, rankings[1].TeamId) assert.Equal(t, previousRankings[rankings[1].TeamId], rankings[1].PreviousRank) assert.Equal(t, 6, rankings[2].TeamId) assert.Equal(t, previousRankings[rankings[2].TeamId], rankings[2].PreviousRank) assert.Equal(t, 5, rankings[3].TeamId) assert.Equal(t, previousRankings[rankings[3].TeamId], rankings[3].PreviousRank) assert.Equal(t, 1, rankings[4].TeamId) assert.Equal(t, previousRankings[rankings[4].TeamId], rankings[4].PreviousRank) assert.Equal(t, 2, rankings[5].TeamId) assert.Equal(t, previousRankings[rankings[5].TeamId], rankings[5].PreviousRank) } for _, ranking := range rankings { fmt.Printf("%+v\n", ranking) } fmt.Println() } func TestAddMatchResultToRankingsHandleCards(t *testing.T) { rankings := map[int]*game.Ranking{} matchResult := model.BuildTestMatchResult(1, 1) matchResult.RedCards = map[string]string{"1": "yellow", "2": "red", "3": "dq"} matchResult.BlueCards = map[string]string{"4": "red", "5": "dq", "6": "yellow"} addMatchResultToRankings(rankings, 1, matchResult, true) addMatchResultToRankings(rankings, 2, matchResult, true) addMatchResultToRankings(rankings, 3, matchResult, true) addMatchResultToRankings(rankings, 4, matchResult, false) addMatchResultToRankings(rankings, 5, matchResult, false) addMatchResultToRankings(rankings, 6, matchResult, false) assert.Equal(t, 0, rankings[1].Disqualifications) assert.Equal(t, 1, rankings[2].Disqualifications) assert.Equal(t, 1, rankings[3].Disqualifications) assert.Equal(t, 1, rankings[4].Disqualifications) assert.Equal(t, 1, rankings[5].Disqualifications) assert.Equal(t, 0, rankings[6].Disqualifications) } // Sets up a schedule and results that touches on all possible variables. func setupMatchResultsForRankings(database *model.Database) { match1 := model.Match{ Type: model.Qualification, TypeOrder: 1, Red1: 1, Red2: 2, Red3: 3, Blue1: 4, Blue2: 5, Blue3: 6, Status: game.RedWonMatch, } database.CreateMatch(&match1) matchResult1 := model.BuildTestMatchResult(match1.Id, 1) matchResult1.RedCards = map[string]string{"2": "red"} database.CreateMatchResult(matchResult1) match2 := model.Match{ Type: model.Qualification, TypeOrder: 2, Red1: 1, Red2: 3, Red3: 5, Blue1: 2, Blue2: 4, Blue3: 6, Status: game.BlueWonMatch, Red2IsSurrogate: true, Blue3IsSurrogate: true, } database.CreateMatch(&match2) matchResult2 := model.BuildTestMatchResult(match2.Id, 1) matchResult2.BlueScore = matchResult2.RedScore database.CreateMatchResult(matchResult2) match3 := model.Match{ Type: model.Qualification, TypeOrder: 3, Red1: 6, Red2: 5, Red3: 4, Blue1: 3, Blue2: 2, Blue3: 1, Status: game.TieMatch, Red3IsSurrogate: true, } database.CreateMatch(&match3) matchResult3 := model.BuildTestMatchResult(match3.Id, 1) database.CreateMatchResult(matchResult3) matchResult3 = model.NewMatchResult() matchResult3.MatchId = match3.Id matchResult3.PlayNumber = 2 database.CreateMatchResult(matchResult3) match4 := model.Match{ Type: model.Practice, TypeOrder: 1, Red1: 1, Red2: 2, Red3: 3, Blue1: 4, Blue2: 5, Blue3: 6, Status: game.RedWonMatch, } database.CreateMatch(&match4) matchResult4 := model.BuildTestMatchResult(match4.Id, 1) database.CreateMatchResult(matchResult4) match5 := model.Match{ Type: model.Playoff, TypeOrder: 8, Red1: 1, Red2: 2, Red3: 3, Blue1: 4, Blue2: 5, Blue3: 6, Status: game.BlueWonMatch, } database.CreateMatch(&match5) matchResult5 := model.BuildTestMatchResult(match5.Id, 1) database.CreateMatchResult(matchResult5) match6 := model.Match{ Type: model.Qualification, TypeOrder: 4, Red1: 7, Red2: 8, Red3: 9, Blue1: 10, Blue2: 11, Blue3: 12, Status: game.MatchScheduled, } database.CreateMatch(&match6) matchResult6 := model.BuildTestMatchResult(match6.Id, 1) database.CreateMatchResult(matchResult6) } ================================================ FILE: tournament/schedule.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Functions for creating practice and qualification match schedules. package tournament import ( "encoding/csv" "fmt" "github.com/Team254/cheesy-arena/model" "math" "math/rand" "os" "path/filepath" "strconv" "time" ) const ( schedulesDir = "schedules" TeamsPerMatch = 6 ) // Creates a random schedule for the given parameters and returns it as a list of matches. func BuildRandomSchedule( teams []model.Team, scheduleBlocks []model.ScheduleBlock, matchType model.MatchType, ) ([]model.Match, error) { // Load the anonymized, pre-randomized match schedule for the given number of teams and matches per team. numTeams := len(teams) numMatches := countMatches(scheduleBlocks) matchesPerTeam := int(float32(numMatches*TeamsPerMatch) / float32(numTeams)) // Adjust the number of matches to remove any excess from non-perfect block scheduling. numMatches = int(math.Ceil(float64(numTeams) * float64(matchesPerTeam) / TeamsPerMatch)) file, err := os.Open( fmt.Sprintf("%s/%d_%d.csv", filepath.Join(model.BaseDir, schedulesDir), numTeams, matchesPerTeam), ) if err != nil { return nil, fmt.Errorf("No schedule template exists for %d teams and %d matches", numTeams, matchesPerTeam) } defer file.Close() reader := csv.NewReader(file) csvLines, err := reader.ReadAll() if err != nil { return nil, err } if len(csvLines) != numMatches { return nil, fmt.Errorf("Schedule file contains %d matches, expected %d", len(csvLines), numMatches) } // Convert string fields from schedule to integers. anonSchedule := make([][12]int, numMatches) for i := 0; i < numMatches; i++ { for j := 0; j < 12; j++ { anonSchedule[i][j], err = strconv.Atoi(csvLines[i][j]) if err != nil { return nil, err } } } // Generate a random permutation of the team ordering to fill into the pre-randomized schedule. teamShuffle := rand.Perm(numTeams) matches := make([]model.Match, numMatches) for i, anonMatch := range anonSchedule { matches[i].Type = matchType matches[i].TypeOrder = i + 1 if matchType == model.Practice { matches[i].ShortName = fmt.Sprintf("P%d", i+1) matches[i].LongName = fmt.Sprintf("Practice %d", i+1) matches[i].TbaMatchKey.CompLevel = "p" } else if matchType == model.Qualification { matches[i].ShortName = fmt.Sprintf("Q%d", i+1) matches[i].LongName = fmt.Sprintf("Qualification %d", i+1) matches[i].TbaMatchKey.CompLevel = "qm" } else { return nil, fmt.Errorf("invalid match type %q", matchType) } matches[i].Red1 = teams[teamShuffle[anonMatch[0]-1]].Id matches[i].Red1IsSurrogate = anonMatch[1] == 1 matches[i].Red2 = teams[teamShuffle[anonMatch[2]-1]].Id matches[i].Red2IsSurrogate = anonMatch[3] == 1 matches[i].Red3 = teams[teamShuffle[anonMatch[4]-1]].Id matches[i].Red3IsSurrogate = anonMatch[5] == 1 matches[i].Blue1 = teams[teamShuffle[anonMatch[6]-1]].Id matches[i].Blue1IsSurrogate = anonMatch[7] == 1 matches[i].Blue2 = teams[teamShuffle[anonMatch[8]-1]].Id matches[i].Blue2IsSurrogate = anonMatch[9] == 1 matches[i].Blue3 = teams[teamShuffle[anonMatch[10]-1]].Id matches[i].Blue3IsSurrogate = anonMatch[11] == 1 matches[i].TbaMatchKey.MatchNumber = i + 1 } // Fill in the match times. matchIndex := 0 for _, block := range scheduleBlocks { for i := 0; i < block.NumMatches && matchIndex < numMatches; i++ { matches[matchIndex].Time = block.StartTime.Add(time.Duration(i*block.MatchSpacingSec) * time.Second) matchIndex++ } } return matches, nil } // Returns the total number of matches that can be run within the given schedule blocks. func countMatches(scheduleBlocks []model.ScheduleBlock) int { numMatches := 0 for _, block := range scheduleBlocks { numMatches += block.NumMatches } return numMatches } ================================================ FILE: tournament/schedule_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package tournament import ( "fmt" "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "math/rand" "os" "path/filepath" "testing" "time" ) func TestMain(m *testing.M) { os.Exit(m.Run()) } func TestNonExistentSchedule(t *testing.T) { teams := make([]model.Team, 5) scheduleBlocks := []model.ScheduleBlock{{0, model.Test, time.Unix(0, 0).UTC(), 2, 60}} _, err := BuildRandomSchedule(teams, scheduleBlocks, model.Test) expectedErr := "No schedule template exists for 5 teams and 2 matches" if assert.NotNil(t, err) { assert.Equal(t, expectedErr, err.Error()) } } func TestMalformedSchedule(t *testing.T) { filename := fmt.Sprintf("%s/5_1.csv", filepath.Join(model.BaseDir, schedulesDir)) scheduleFile, _ := os.Create(filename) defer os.Remove(filename) scheduleFile.WriteString("1,0,2,0,3,0,4,0,5,0,6,0\n6,0,5,0,4,0,3,0,2,0,1,0\n") scheduleFile.Close() teams := make([]model.Team, 5) scheduleBlocks := []model.ScheduleBlock{{0, model.Test, time.Unix(0, 0).UTC(), 1, 60}} _, err := BuildRandomSchedule(teams, scheduleBlocks, model.Test) expectedErr := "Schedule file contains 2 matches, expected 1" if assert.NotNil(t, err) { assert.Equal(t, expectedErr, err.Error()) } os.Remove(filename) scheduleFile, _ = os.Create(filename) scheduleFile.WriteString("1,0,asdf,0,3,0,4,0,5,0,6,0\n") scheduleFile.Close() _, err = BuildRandomSchedule(teams, scheduleBlocks, model.Test) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "strconv.Atoi") } } func TestScheduleTeams(t *testing.T) { rand.Seed(0) numTeams := 18 teams := make([]model.Team, numTeams) for i := 0; i < numTeams; i++ { teams[i].Id = i + 101 } scheduleBlocks := []model.ScheduleBlock{{0, model.Practice, time.Unix(0, 0).UTC(), 6, 60}} matches, err := BuildRandomSchedule(teams, scheduleBlocks, model.Practice) assert.Nil(t, err) assertMatch(t, matches[0], model.Practice, 1, 0, "P1", "Practice 1", "p", 115, 111, 108, 109, 116, 117) assertMatch(t, matches[1], model.Practice, 2, 60, "P2", "Practice 2", "p", 114, 112, 103, 101, 104, 118) assertMatch(t, matches[2], model.Practice, 3, 120, "P3", "Practice 3", "p", 110, 107, 105, 106, 113, 102) assertMatch(t, matches[3], model.Practice, 4, 180, "P4", "Practice 4", "p", 112, 108, 109, 101, 111, 103) assertMatch(t, matches[4], model.Practice, 5, 240, "P5", "Practice 5", "p", 113, 117, 115, 110, 114, 102) assertMatch(t, matches[5], model.Practice, 6, 300, "P6", "Practice 6", "p", 118, 105, 106, 107, 104, 116) // Check with excess room for matches in the schedule. scheduleBlocks = []model.ScheduleBlock{{0, model.Practice, time.Unix(0, 0).UTC(), 7, 60}} matches, err = BuildRandomSchedule(teams, scheduleBlocks, model.Practice) assert.Nil(t, err) // Check with qualification matches. rand.Seed(0) scheduleBlocks = []model.ScheduleBlock{{0, model.Qualification, time.Unix(0, 0).UTC(), 6, 60}} matches, err = BuildRandomSchedule(teams, scheduleBlocks, model.Qualification) assert.Nil(t, err) assertMatch(t, matches[0], model.Qualification, 1, 0, "Q1", "Qualification 1", "qm", 115, 111, 108, 109, 116, 117) assertMatch(t, matches[1], model.Qualification, 2, 60, "Q2", "Qualification 2", "qm", 114, 112, 103, 101, 104, 118) assertMatch(t, matches[2], model.Qualification, 3, 120, "Q3", "Qualification 3", "qm", 110, 107, 105, 106, 113, 102) assertMatch(t, matches[3], model.Qualification, 4, 180, "Q4", "Qualification 4", "qm", 112, 108, 109, 101, 111, 103) assertMatch(t, matches[4], model.Qualification, 5, 240, "Q5", "Qualification 5", "qm", 113, 117, 115, 110, 114, 102) assertMatch(t, matches[5], model.Qualification, 6, 300, "Q6", "Qualification 6", "qm", 118, 105, 106, 107, 104, 116) } func TestScheduleTiming(t *testing.T) { teams := make([]model.Team, 18) scheduleBlocks := []model.ScheduleBlock{ {0, model.Qualification, time.Unix(100, 0).UTC(), 10, 75}, {0, model.Qualification, time.Unix(20000, 0).UTC(), 5, 1000}, {0, model.Qualification, time.Unix(100000, 0).UTC(), 15, 29}, } matches, err := BuildRandomSchedule(teams, scheduleBlocks, model.Qualification) assert.Nil(t, err) assert.Equal(t, time.Unix(100, 0).UTC(), matches[0].Time) assert.Equal(t, time.Unix(775, 0).UTC(), matches[9].Time) assert.Equal(t, time.Unix(20000, 0).UTC(), matches[10].Time) assert.Equal(t, time.Unix(24000, 0).UTC(), matches[14].Time) assert.Equal(t, time.Unix(100000, 0).UTC(), matches[15].Time) assert.Equal(t, time.Unix(100406, 0).UTC(), matches[29].Time) } func TestScheduleSurrogates(t *testing.T) { rand.Seed(0) numTeams := 38 teams := make([]model.Team, numTeams) for i := 0; i < numTeams; i++ { teams[i].Id = i + 101 } scheduleBlocks := []model.ScheduleBlock{{0, model.Qualification, time.Unix(0, 0).UTC(), 64, 60}} matches, _ := BuildRandomSchedule(teams, scheduleBlocks, model.Qualification) for i, match := range matches { if i == 13 || i == 14 { if !match.Red1IsSurrogate || match.Red2IsSurrogate || match.Red3IsSurrogate || !match.Blue1IsSurrogate || match.Blue2IsSurrogate || match.Blue3IsSurrogate { t.Errorf("Surrogates wrong for match %d", i+1) } } else { if match.Red1IsSurrogate || match.Red2IsSurrogate || match.Red3IsSurrogate || match.Blue1IsSurrogate || match.Blue2IsSurrogate || match.Blue3IsSurrogate { t.Errorf("Expected match %d to be free of surrogates", i+1) } } } } func assertMatch( t *testing.T, match model.Match, matchType model.MatchType, typeOrder int, timeInSec int64, shortName, longName, tbaCompLevel string, red1, red2, red3, blue1, blue2, blue3 int, ) { assert.Equal(t, matchType, match.Type) assert.Equal(t, typeOrder, match.TypeOrder) assert.Equal(t, time.Unix(timeInSec, 0).UTC(), match.Time) assert.Equal(t, shortName, match.ShortName) assert.Equal(t, longName, match.LongName) assert.Equal(t, "", match.NameDetail) assert.Equal(t, 0, match.PlayoffRedAlliance) assert.Equal(t, 0, match.PlayoffBlueAlliance) assert.Equal(t, red1, match.Red1) assert.Equal(t, red2, match.Red2) assert.Equal(t, red3, match.Red3) assert.Equal(t, blue1, match.Blue1) assert.Equal(t, blue2, match.Blue2) assert.Equal(t, blue3, match.Blue3) assert.Equal(t, tbaCompLevel, match.TbaMatchKey.CompLevel) assert.Equal(t, 0, match.TbaMatchKey.SetNumber) assert.Equal(t, typeOrder, match.TbaMatchKey.MatchNumber) } ================================================ FILE: tournament/test_helpers.go ================================================ // Copyright 2017 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Helper methods for use in tests in this package and others. package tournament import ( "github.com/Team254/cheesy-arena/model" "testing" ) func CreateTestAlliances(database *model.Database, allianceCount int) { for i := 1; i <= allianceCount; i++ { alliance := model.Alliance{ Id: i, TeamIds: []int{100*i + 1, 100*i + 2, 100*i + 3, 100*i + 4}, Lineup: [3]int{100*i + 2, 100*i + 1, 100*i + 3}, } database.CreateAlliance(&alliance) } } func setupTestDb(t *testing.T) *model.Database { return model.SetupTestDb(t) } ================================================ FILE: tunnel ================================================ echo "If prompted for private key password, copy-paste output of ssh-agent then run ssh-add." echo "Otherwise, tunnel may not recover from network interruption." echo "Starting tunnel..." autossh -M 9081 -N -R 9080:localhost:8080 cheesyarena@cheesyarena.com ================================================ FILE: tunnel_nginx_config ================================================ server { listen 443; server_name cheesyarena.com; ssl on; ssl_certificate /etc/letsencrypt/live/cheesyarena.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/cheesyarena.com/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"; ssl_prefer_server_ciphers on; location / { return 301 https://$host/display; } location /static/ { proxy_pass http://localhost:9080/static/; } location /api/ { proxy_pass http://localhost:9080/api/; } location ~ ^(/setup)?/display.*/websocket$ { proxy_set_header Host $host; proxy_pass http://localhost:9080$request_uri; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Real-IP $remote_addr; } location ~ ^(/setup)?/display { proxy_pass http://localhost:9080$request_uri; } location ~ /.well-known { root /usr/share/nginx/html; } } ================================================ FILE: web/alliance_selection.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for conducting the alliance selection process. package web import ( "fmt" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/tournament" "github.com/Team254/cheesy-arena/websocket" "io" "log" "net/http" "strconv" "time" ) // Global var to hold configurable time limit for selections. A value of zero disables the timer. var allianceSelectionTimeLimitSec = 45 // Global var to hold the time limit that the current timer was started with var currentAllianceSelectionTimeLimitSec = 0 // The time limit for the break between rounds const allianceSelectionBreakDurationSec = 120 // Global var to hold a ticker used for the alliance selection timer. var allianceSelectionTicker *time.Ticker // Shows the alliance selection page. func (web *Web) allianceSelectionGetHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } web.renderAllianceSelection(w, r, "") } // Updates the cache with the latest input from the client. func (web *Web) allianceSelectionPostHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } if !web.canModifyAllianceSelection() { web.renderAllianceSelection(w, r, "Alliance selection has already been finalized.") return } // Reset picked state for each team in preparation for reconstructing it. for i := range web.arena.AllianceSelectionRankedTeams { web.arena.AllianceSelectionRankedTeams[i].Picked = false } // Iterate through all selections and update the alliances. for i, alliance := range web.arena.AllianceSelectionAlliances { for j := range alliance.TeamIds { teamString := r.PostFormValue(fmt.Sprintf("selection%d_%d", i, j)) if teamString == "" { web.arena.AllianceSelectionAlliances[i].TeamIds[j] = 0 } else { teamId, err := strconv.Atoi(teamString) if err != nil { web.renderAllianceSelection(w, r, fmt.Sprintf("Invalid team number value '%s'.", teamString)) return } found := false for k, team := range web.arena.AllianceSelectionRankedTeams { if team.TeamId == teamId { if team.Picked { web.renderAllianceSelection( w, r, fmt.Sprintf("Team %d is already part of an alliance.", teamId), ) return } found = true web.arena.AllianceSelectionRankedTeams[k].Picked = true web.arena.AllianceSelectionAlliances[i].TeamIds[j] = teamId break } } if !found { web.renderAllianceSelection( w, r, fmt.Sprintf( "Team %d has not played any matches at this event and is ineligible for selection.", teamId, ), ) return } } } } web.arena.AllianceSelectionNotifier.Notify() http.Redirect(w, r, "/alliance_selection", 303) } // Sets up the empty alliances and populates the ranked team list. func (web *Web) allianceSelectionStartHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } if len(web.arena.AllianceSelectionAlliances) != 0 { web.renderAllianceSelection(w, r, "Can't start alliance selection when it is already in progress.") return } if !web.canModifyAllianceSelection() { web.renderAllianceSelection(w, r, "Alliance selection has already been finalized.") return } // Create a blank alliance set matching the event configuration. web.arena.AllianceSelectionAlliances = make([]model.Alliance, web.arena.EventSettings.NumPlayoffAlliances) teamsPerAlliance := 3 if web.arena.EventSettings.SelectionRound3Order != "" { teamsPerAlliance = 4 } for i := 0; i < web.arena.EventSettings.NumPlayoffAlliances; i++ { web.arena.AllianceSelectionAlliances[i].Id = i + 1 web.arena.AllianceSelectionAlliances[i].TeamIds = make([]int, teamsPerAlliance) } // Populate the ranked list of teams. rankings, err := web.arena.Database.GetAllRankings() if err != nil { handleWebErr(w, err) return } web.arena.AllianceSelectionRankedTeams = make([]model.AllianceSelectionRankedTeam, len(rankings)) for i, ranking := range rankings { web.arena.AllianceSelectionRankedTeams[i] = model.AllianceSelectionRankedTeam{ Rank: i + 1, TeamId: ranking.TeamId, Picked: false, } } web.arena.AllianceSelectionNotifier.Notify() http.Redirect(w, r, "/alliance_selection", 303) } // Resets the alliance selection process back to the starting point. func (web *Web) allianceSelectionResetHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } if !web.canResetAllianceSelection() { web.renderAllianceSelection(w, r, "Cannot reset alliance selection; playoff matches have already started.") return } // Delete any playoff matches that were already created (but not played since they would fail the above check). err := web.deleteMatchDataForType(model.Playoff) if err != nil { handleWebErr(w, err) return } // Delete the saved alliances. if err = web.arena.Database.TruncateAlliances(); err != nil { handleWebErr(w, err) return } web.arena.AllianceSelectionAlliances = []model.Alliance{} web.arena.AllianceSelectionRankedTeams = []model.AllianceSelectionRankedTeam{} web.arena.AllianceSelectionNotifier.Notify() http.Redirect(w, r, "/alliance_selection", 303) } // Saves the selected alliances to the database and generates the first round of playoff matches. func (web *Web) allianceSelectionFinalizeHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } if !web.canModifyAllianceSelection() { web.renderAllianceSelection(w, r, "Alliance selection has already been finalized.") return } location, _ := time.LoadLocation("Local") startTime, err := time.ParseInLocation("2006-01-02 03:04:05 PM", r.PostFormValue("startTime"), location) if err != nil { web.renderAllianceSelection(w, r, "Must specify a valid start time for the playoff rounds.") return } // Check that all spots are filled. for _, alliance := range web.arena.AllianceSelectionAlliances { for _, allianceTeamId := range alliance.TeamIds { if allianceTeamId <= 0 { web.renderAllianceSelection(w, r, "Can't finalize alliance selection until all spots have been filled.") return } } } // Save alliances to the database. for _, alliance := range web.arena.AllianceSelectionAlliances { // Populate the initial lineup according to the tournament rules (alliance captain in the middle, first pick on // the left, second pick on the right). alliance.Lineup[0] = alliance.TeamIds[1] alliance.Lineup[1] = alliance.TeamIds[0] alliance.Lineup[2] = alliance.TeamIds[2] err := web.arena.Database.CreateAlliance(&alliance) if err != nil { handleWebErr(w, err) return } } // Generate the first round of playoff matches. if err = web.arena.CreatePlayoffMatches(startTime); err != nil { handleWebErr(w, err) return } // Reset yellow cards. err = tournament.CalculateTeamCards(web.arena.Database, model.Playoff) if err != nil { handleWebErr(w, err) return } // Back up the database. err = web.arena.Database.Backup(web.arena.EventSettings.Name, "post_alliance_selection") if err != nil { handleWebErr(w, err) return } if web.arena.EventSettings.TbaPublishingEnabled { // Publish alliances and schedule to The Blue Alliance. err = web.arena.TbaClient.PublishAlliances(web.arena.Database) if err != nil { web.renderAllianceSelection(w, r, fmt.Sprintf("Failed to publish alliances: %s", err.Error())) return } err = web.arena.TbaClient.PublishMatches(web.arena.Database) if err != nil { web.renderAllianceSelection(w, r, fmt.Sprintf("Failed to publish matches: %s", err.Error())) return } } // Signal displays of the bracket to update themselves. web.arena.ScorePostedNotifier.Notify() // Load the first playoff match. matches, err := web.arena.Database.GetMatchesByType(model.Playoff, false) if err == nil && len(matches) > 0 { _ = web.arena.LoadMatch(&matches[0]) } http.Redirect(w, r, "/match_play", 303) } // The websocket endpoint for the alliance selection client to send control commands and receive status updates. func (web *Web) allianceSelectionWebsocketHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client, in a separate goroutine. go ws.HandleNotifiers(web.arena.AllianceSelectionNotifier, web.arena.AudienceDisplayModeNotifier) // Loop, waiting for commands and responding to them, until the client closes the connection. for { messageType, data, err := ws.Read() if err != nil { if err == io.EOF { // Client has closed the connection; nothing to do here. return } log.Println(err) return } switch messageType { case "setTimer": if timeLimitSec, ok := data.(float64); ok { allianceSelectionTimeLimitSec = int(timeLimitSec) } else { ws.WriteError("Invalid time limit value.") } case "startTimer": if allianceSelectionTicker != nil { allianceSelectionTicker.Stop() } if web.arena.AllianceSelectionTimeRemainingSec == 0 { web.arena.AllianceSelectionTimeRemainingSec = allianceSelectionTimeLimitSec currentAllianceSelectionTimeLimitSec = allianceSelectionTimeLimitSec } web.arena.AllianceSelectionShowTimer = true web.arena.AllianceSelectionNotifier.Notify() allianceSelectionTicker = time.NewTicker(time.Second) go func() { for range allianceSelectionTicker.C { web.arena.AllianceSelectionTimeRemainingSec-- web.arena.AllianceSelectionNotifier.Notify() if web.arena.AllianceSelectionTimeRemainingSec <= 0 { allianceSelectionTicker.Stop() } // Only play sounds if we are not in a break between rounds if currentAllianceSelectionTimeLimitSec != allianceSelectionBreakDurationSec { if web.arena.AllianceSelectionTimeRemainingSec == 5 { web.arena.PlaySound("pick_clock") } else if web.arena.AllianceSelectionTimeRemainingSec == 0 { web.arena.PlaySound("pick_clock_expired") } } } }() case "stopTimer": if allianceSelectionTicker != nil { allianceSelectionTicker.Stop() } web.arena.AllianceSelectionNotifier.Notify() case "restartTimer": web.arena.AllianceSelectionShowTimer = true web.arena.AllianceSelectionTimeRemainingSec = allianceSelectionTimeLimitSec currentAllianceSelectionTimeLimitSec = allianceSelectionTimeLimitSec web.arena.AllianceSelectionNotifier.Notify() case "hideTimer": if allianceSelectionTicker != nil { allianceSelectionTicker.Stop() } web.arena.AllianceSelectionShowTimer = false web.arena.AllianceSelectionTimeRemainingSec = 0 web.arena.AllianceSelectionNotifier.Notify() case "setAudienceDisplay": mode, ok := data.(string) if !ok { ws.WriteError(fmt.Sprintf("Failed to parse '%s' message.", messageType)) continue } web.arena.SetAudienceDisplayMode(mode) default: ws.WriteError(fmt.Sprintf("Invalid message type '%s'.", messageType)) } } } func (web *Web) renderAllianceSelection(w http.ResponseWriter, r *http.Request, errorMessage string) { if len(web.arena.AllianceSelectionAlliances) == 0 { // The application may have been restarted since the alliance selection was conducted; try reloading the // alliances from the DB. var err error web.arena.AllianceSelectionAlliances, err = web.arena.Database.GetAllAlliances() if err != nil { handleWebErr(w, err) return } } template, err := web.parseFiles( "templates/alliance_selection.html", "templates/audience_display_radio_buttons.html", "templates/base.html", ) if err != nil { handleWebErr(w, err) return } nextRow, nextCol := web.determineNextCell() data := struct { *model.EventSettings Alliances []model.Alliance RankedTeams []model.AllianceSelectionRankedTeam NextRow int NextCol int ErrorMessage string TimeLimitSec int }{ web.arena.EventSettings, web.arena.AllianceSelectionAlliances, web.arena.AllianceSelectionRankedTeams, nextRow, nextCol, errorMessage, allianceSelectionTimeLimitSec, } err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Returns true if it is safe to change the alliance selection (i.e. no playoff matches exist yet). func (web *Web) canModifyAllianceSelection() bool { matches, err := web.arena.Database.GetMatchesByType(model.Playoff, true) if err != nil || len(matches) > 0 { return false } return true } // Returns true if it is safe to reset the alliance selection (i.e. no playoff matches have been played yet). func (web *Web) canResetAllianceSelection() bool { matches, err := web.arena.Database.GetMatchesByType(model.Playoff, true) if err != nil { return false } for _, match := range matches { if match.IsComplete() { return false } } return true } // Returns the row and column of the next alliance selection spot that should have keyboard autofocus. func (web *Web) determineNextCell() (int, int) { // Check the first two columns. for i, alliance := range web.arena.AllianceSelectionAlliances { if alliance.TeamIds[0] == 0 { return i, 0 } if alliance.TeamIds[1] == 0 { return i, 1 } } // Check the third column. if web.arena.EventSettings.SelectionRound2Order == "F" { for i, alliance := range web.arena.AllianceSelectionAlliances { if alliance.TeamIds[2] == 0 { return i, 2 } } } else { for i := len(web.arena.AllianceSelectionAlliances) - 1; i >= 0; i-- { if web.arena.AllianceSelectionAlliances[i].TeamIds[2] == 0 { return i, 2 } } } // Check the fourth column. if web.arena.EventSettings.SelectionRound3Order == "F" { for i, alliance := range web.arena.AllianceSelectionAlliances { if alliance.TeamIds[3] == 0 { return i, 3 } } } else if web.arena.EventSettings.SelectionRound3Order == "L" { for i := len(web.arena.AllianceSelectionAlliances) - 1; i >= 0; i-- { if web.arena.AllianceSelectionAlliances[i].TeamIds[3] == 0 { return i, 3 } } } return -1, -1 } ================================================ FILE: web/alliance_selection_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "testing" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/mitchellh/mapstructure" "github.com/stretchr/testify/assert" ) func TestAllianceSelection(t *testing.T) { web := setupTestWeb(t) web.arena.EventSettings.PlayoffType = model.SingleEliminationPlayoff web.arena.EventSettings.NumPlayoffAlliances = 15 web.arena.EventSettings.SelectionRound3Order = "L" for i := 1; i <= 10; i++ { web.arena.Database.CreateRanking(&game.Ranking{TeamId: 100 + i, Rank: i}) } // Check that there are no alliance placeholders to start. recorder := web.getHttpResponse("/alliance_selection") assert.Equal(t, 200, recorder.Code) assert.NotContains(t, recorder.Body.String(), "Captain") assert.NotContains(t, recorder.Body.String(), ">110<") // Start the alliance selection. recorder = web.postHttpResponse("/alliance_selection/start", "") assert.Equal(t, 303, recorder.Code) if assert.Equal(t, 15, len(web.arena.AllianceSelectionAlliances)) { assert.Equal(t, 4, len(web.arena.AllianceSelectionAlliances[0].TeamIds)) } recorder = web.getHttpResponse("/alliance_selection") assert.Contains(t, recorder.Body.String(), "Captain") assert.Contains(t, recorder.Body.String(), ">110<") // Reset the alliance selection. recorder = web.postHttpResponse("/alliance_selection/reset", "") assert.Equal(t, 303, recorder.Code) assert.NotContains(t, recorder.Body.String(), "Captain") assert.NotContains(t, recorder.Body.String(), ">110<") web.arena.EventSettings.NumPlayoffAlliances = 3 web.arena.EventSettings.SelectionRound3Order = "" recorder = web.postHttpResponse("/alliance_selection/start", "") assert.Equal(t, 303, recorder.Code) if assert.Equal(t, 3, len(web.arena.AllianceSelectionAlliances)) { assert.Equal(t, 3, len(web.arena.AllianceSelectionAlliances[0].TeamIds)) } // Update one team at a time. recorder = web.postHttpResponse("/alliance_selection", "selection0_0=110") assert.Equal(t, 303, recorder.Code) assert.Equal(t, 110, web.arena.AllianceSelectionAlliances[0].TeamIds[0]) recorder = web.getHttpResponse("/alliance_selection") assert.Contains(t, recorder.Body.String(), "\"110\"") assert.NotContains(t, recorder.Body.String(), ">110<") // Update multiple teams at a time. recorder = web.postHttpResponse("/alliance_selection", "selection0_0=101&selection0_1=102&selection1_0=103") assert.Equal(t, 303, recorder.Code) assert.Equal(t, 101, web.arena.AllianceSelectionAlliances[0].TeamIds[0]) assert.Equal(t, 102, web.arena.AllianceSelectionAlliances[0].TeamIds[1]) assert.Equal(t, 103, web.arena.AllianceSelectionAlliances[1].TeamIds[0]) recorder = web.getHttpResponse("/alliance_selection") assert.Contains(t, recorder.Body.String(), ">110<") // Update remainder of teams. recorder = web.postHttpResponse( "/alliance_selection", "selection0_0=101&selection0_1=102&selection0_2=103&selection1_0=104&selection1_1=105&selection1_2=106&"+ "selection2_0=107&selection2_1=108&selection2_2=109", ) assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/alliance_selection") assert.Contains(t, recorder.Body.String(), ">110<") // Finalize alliance selection. web.arena.Database.CreateTeam(&model.Team{Id: 254, YellowCard: true}) recorder = web.postHttpResponse("/alliance_selection/finalize", "startTime=2014-01-01 01:00:00 PM") assert.Equal(t, 303, recorder.Code) alliances, err := web.arena.Database.GetAllAlliances() assert.Nil(t, err) if assert.Equal(t, 3, len(alliances)) { assert.Equal(t, 101, alliances[0].TeamIds[0]) assert.Equal(t, 105, alliances[1].TeamIds[1]) assert.Equal(t, 109, alliances[2].TeamIds[2]) // Check that the initial lineup is populated correctly. assert.Equal(t, 102, alliances[0].Lineup[0]) assert.Equal(t, 101, alliances[0].Lineup[1]) assert.Equal(t, 103, alliances[0].Lineup[2]) } matches, err := web.arena.Database.GetMatchesByType(model.Playoff, false) assert.Nil(t, err) assert.Equal(t, 16, len(matches)) team, _ := web.arena.Database.GetTeamById(254) assert.False(t, team.YellowCard) } func TestAllianceSelectionErrors(t *testing.T) { web := setupTestWeb(t) web.arena.EventSettings.PlayoffType = model.SingleEliminationPlayoff web.arena.EventSettings.NumPlayoffAlliances = 2 for i := 1; i <= 6; i++ { web.arena.Database.CreateRanking(&game.Ranking{TeamId: 100 + i, Rank: i}) } // Start an alliance selection that is already underway. recorder := web.postHttpResponse("/alliance_selection/start", "") assert.Equal(t, 303, recorder.Code) recorder = web.postHttpResponse("/alliance_selection/start", "") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "already in progress") // Select invalid teams. recorder = web.postHttpResponse("/alliance_selection", "selection0_0=asdf") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Invalid team number") recorder = web.postHttpResponse("/alliance_selection", "selection0_0=100") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "ineligible for selection") recorder = web.postHttpResponse("/alliance_selection", "selection0_0=101&selection1_1=101") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "already part of an alliance") // Finalize early and without required parameters. recorder = web.postHttpResponse( "/alliance_selection/finalize", "startTime=2014-01-01 01:00:00 PM&matchSpacingSec=360", ) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "until all spots have been filled") recorder = web.postHttpResponse( "/alliance_selection", "selection0_0=101&selection0_1=102&selection0_2=103&selection1_0=104&selection1_1=105&selection1_2=106", ) assert.Equal(t, 303, recorder.Code) recorder = web.postHttpResponse("/alliance_selection/finalize", "startTime=asdf") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "valid start time") // Finalize for real and check that TBA publishing is triggered. web.arena.TbaClient.BaseUrl = "fakeurl" web.arena.EventSettings.TbaPublishingEnabled = true recorder = web.postHttpResponse("/alliance_selection/finalize", "startTime=2014-01-01 01:00:00 PM") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Failed to publish alliances") // Do other things after finalization. recorder = web.postHttpResponse("/alliance_selection/finalize", "startTime=2014-01-01 01:00:00 PM") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "already been finalized") recorder = web.postHttpResponse("/alliance_selection", "selection0_0=asdf") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "already been finalized") web.arena.AllianceSelectionAlliances = []model.Alliance{} web.arena.AllianceSelectionRankedTeams = []model.AllianceSelectionRankedTeam{} recorder = web.postHttpResponse("/alliance_selection/start", "") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "already been finalized") } func TestAllianceSelectionReset(t *testing.T) { web := setupTestWeb(t) web.arena.EventSettings.PlayoffType = model.SingleEliminationPlayoff web.arena.EventSettings.NumPlayoffAlliances = 2 for i := 1; i <= 6; i++ { web.arena.Database.CreateRanking(&game.Ranking{TeamId: 100 + i, Rank: i}) } // Start, populate, and finalize the alliance selection. recorder := web.postHttpResponse("/alliance_selection/start", "") assert.Equal(t, 303, recorder.Code) recorder = web.postHttpResponse( "/alliance_selection", "selection0_0=101&selection0_1=102&selection0_2=103&selection1_0=104&selection1_1=105&selection1_2=106", ) assert.Equal(t, 303, recorder.Code) recorder = web.postHttpResponse("/alliance_selection/finalize", "startTime=2014-01-01 01:00:00 PM") assert.Equal(t, 303, recorder.Code) alliances, _ := web.arena.Database.GetAllAlliances() assert.NotEmpty(t, alliances) matches, _ := web.arena.Database.GetMatchesByType(model.Playoff, true) assert.NotEmpty(t, matches) // Reset the alliance selection before any matches have been played. recorder = web.postHttpResponse("/alliance_selection/reset", "") assert.Equal(t, 303, recorder.Code) alliances, _ = web.arena.Database.GetAllAlliances() assert.Empty(t, alliances) matches, _ = web.arena.Database.GetMatchesByType(model.Playoff, true) assert.Empty(t, matches) // Start, populate, and finalize the alliance selection again. recorder = web.postHttpResponse("/alliance_selection/start", "") assert.Equal(t, 303, recorder.Code) recorder = web.postHttpResponse( "/alliance_selection", "selection0_0=101&selection0_1=102&selection0_2=103&selection1_0=104&selection1_1=105&selection1_2=106", ) assert.Equal(t, 303, recorder.Code) recorder = web.postHttpResponse("/alliance_selection/finalize", "startTime=2014-01-01 01:00:00 PM") assert.Equal(t, 303, recorder.Code) alliances, _ = web.arena.Database.GetAllAlliances() assert.NotEmpty(t, alliances) matches, _ = web.arena.Database.GetMatchesByType(model.Playoff, true) assert.NotEmpty(t, matches) // Mark a match as played and verify that the alliance selection can no longer be reset. matches[0].Status = game.RedWonMatch assert.Nil(t, web.arena.Database.UpdateMatch(&matches[0])) recorder = web.postHttpResponse("/alliance_selection/reset", "") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "matches have already started") alliances, _ = web.arena.Database.GetAllAlliances() assert.NotEmpty(t, alliances) matches, _ = web.arena.Database.GetMatchesByType(model.Playoff, true) assert.NotEmpty(t, matches) } func TestAllianceSelectionAutofocus(t *testing.T) { web := setupTestWeb(t) web.arena.EventSettings.PlayoffType = model.SingleEliminationPlayoff web.arena.EventSettings.NumPlayoffAlliances = 2 // Straight draft. web.arena.EventSettings.SelectionRound2Order = "F" web.arena.EventSettings.SelectionRound3Order = "F" recorder := web.postHttpResponse("/alliance_selection/start", "") assert.Equal(t, 303, recorder.Code) i, j := web.determineNextCell() assert.Equal(t, 0, i) assert.Equal(t, 0, j) web.arena.AllianceSelectionAlliances[0].TeamIds[0] = 1 i, j = web.determineNextCell() assert.Equal(t, 0, i) assert.Equal(t, 1, j) web.arena.AllianceSelectionAlliances[0].TeamIds[1] = 2 i, j = web.determineNextCell() assert.Equal(t, 1, i) assert.Equal(t, 0, j) web.arena.AllianceSelectionAlliances[1].TeamIds[0] = 3 i, j = web.determineNextCell() assert.Equal(t, 1, i) assert.Equal(t, 1, j) web.arena.AllianceSelectionAlliances[1].TeamIds[1] = 4 i, j = web.determineNextCell() assert.Equal(t, 0, i) assert.Equal(t, 2, j) web.arena.AllianceSelectionAlliances[0].TeamIds[2] = 5 i, j = web.determineNextCell() assert.Equal(t, 1, i) assert.Equal(t, 2, j) web.arena.AllianceSelectionAlliances[1].TeamIds[2] = 6 i, j = web.determineNextCell() assert.Equal(t, 0, i) assert.Equal(t, 3, j) web.arena.AllianceSelectionAlliances[0].TeamIds[3] = 7 i, j = web.determineNextCell() assert.Equal(t, 1, i) assert.Equal(t, 3, j) web.arena.AllianceSelectionAlliances[1].TeamIds[3] = 8 i, j = web.determineNextCell() assert.Equal(t, -1, i) assert.Equal(t, -1, j) // Double-serpentine draft. web.arena.EventSettings.SelectionRound2Order = "L" web.arena.EventSettings.SelectionRound3Order = "L" recorder = web.postHttpResponse("/alliance_selection/reset", "") assert.Equal(t, 303, recorder.Code) recorder = web.postHttpResponse("/alliance_selection/start", "") assert.Equal(t, 303, recorder.Code) i, j = web.determineNextCell() assert.Equal(t, 0, i) assert.Equal(t, 0, j) web.arena.AllianceSelectionAlliances[0].TeamIds[0] = 1 i, j = web.determineNextCell() assert.Equal(t, 0, i) assert.Equal(t, 1, j) web.arena.AllianceSelectionAlliances[0].TeamIds[1] = 2 i, j = web.determineNextCell() assert.Equal(t, 1, i) assert.Equal(t, 0, j) web.arena.AllianceSelectionAlliances[1].TeamIds[0] = 3 i, j = web.determineNextCell() assert.Equal(t, 1, i) assert.Equal(t, 1, j) web.arena.AllianceSelectionAlliances[1].TeamIds[1] = 4 i, j = web.determineNextCell() assert.Equal(t, 1, i) assert.Equal(t, 2, j) web.arena.AllianceSelectionAlliances[1].TeamIds[2] = 5 i, j = web.determineNextCell() assert.Equal(t, 0, i) assert.Equal(t, 2, j) web.arena.AllianceSelectionAlliances[0].TeamIds[2] = 6 i, j = web.determineNextCell() assert.Equal(t, 1, i) assert.Equal(t, 3, j) web.arena.AllianceSelectionAlliances[1].TeamIds[3] = 7 i, j = web.determineNextCell() assert.Equal(t, 0, i) assert.Equal(t, 3, j) web.arena.AllianceSelectionAlliances[0].TeamIds[3] = 8 i, j = web.determineNextCell() assert.Equal(t, -1, i) assert.Equal(t, -1, j) } func TestAllianceSelectionWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/alliance_selection/websocket", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "allianceSelection") readWebsocketType(t, ws, "audienceDisplayMode") // Test starting and stopping the timer. allianceSelectionMessage := struct { ShowTimer bool }{} ws.Write("startTimer", nil) assert.Nil(t, mapstructure.Decode(readWebsocketType(t, ws, "allianceSelection"), &allianceSelectionMessage)) assert.Equal(t, true, allianceSelectionMessage.ShowTimer) ws.Write("stopTimer", nil) assert.Nil(t, mapstructure.Decode(readWebsocketType(t, ws, "allianceSelection"), &allianceSelectionMessage)) assert.Equal(t, true, allianceSelectionMessage.ShowTimer) ws.Write("hideTimer", nil) assert.Nil(t, mapstructure.Decode(readWebsocketType(t, ws, "allianceSelection"), &allianceSelectionMessage)) assert.Equal(t, false, allianceSelectionMessage.ShowTimer) ws.Write("restartTimer", nil) assert.Nil(t, mapstructure.Decode(readWebsocketType(t, ws, "allianceSelection"), &allianceSelectionMessage)) assert.Equal(t, true, allianceSelectionMessage.ShowTimer) } ================================================ FILE: web/alliance_station_display.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web handlers for the alliance station display. package web import ( "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "net/http" ) // Renders the team number and status display shown above each alliance station. func (web *Web) allianceStationDisplayHandler(w http.ResponseWriter, r *http.Request) { if !web.enforceDisplayConfiguration(w, r, map[string]string{"station": "R1"}) { return } template, err := web.parseFiles("templates/alliance_station_display.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings }{web.arena.EventSettings} err = template.ExecuteTemplate(w, "alliance_station_display.html", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for the alliance station display client to receive status updates. func (web *Web) allianceStationDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) { display, err := web.registerDisplay(r) if err != nil { handleWebErr(w, err) return } defer web.arena.MarkDisplayDisconnected(display.DisplayConfiguration.Id) ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client. ws.HandleNotifiers( display.Notifier, web.arena.MatchTimingNotifier, web.arena.AllianceStationDisplayModeNotifier, web.arena.ArenaStatusNotifier, web.arena.MatchLoadNotifier, web.arena.MatchTimeNotifier, web.arena.RealtimeScoreNotifier, web.arena.ReloadDisplaysNotifier, ) } ================================================ FILE: web/alliance_station_display_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" "time" ) func TestAllianceStationDisplay(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/displays/alliance_station") assert.Equal(t, 302, recorder.Code) assert.Contains(t, recorder.Header().Get("Location"), "displayId=100") assert.Contains(t, recorder.Header().Get("Location"), "station=R1") recorder = web.getHttpResponse("/displays/alliance_station?displayId=1&station=B1") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Alliance Station Display - Untitled Event - Cheesy Arena") } func TestAllianceStationDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/displays/alliance_station/websocket?displayId=1", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "displayConfiguration") readWebsocketType(t, ws, "matchTiming") readWebsocketType(t, ws, "allianceStationDisplayMode") readWebsocketType(t, ws, "arenaStatus") readWebsocketType(t, ws, "matchLoad") readWebsocketType(t, ws, "matchTime") readWebsocketType(t, ws, "realtimeScore") // Change to a different screen. web.arena.AllianceStationDisplayMode = "logo" web.arena.AllianceStationDisplayModeNotifier.Notify() readWebsocketType(t, ws, "allianceStationDisplayMode") // Run through a match cycle. web.arena.MatchLoadNotifier.Notify() readWebsocketType(t, ws, "matchLoad") web.arena.AllianceStations["R1"].Bypass = true web.arena.AllianceStations["R2"].Bypass = true web.arena.AllianceStations["R3"].Bypass = true web.arena.AllianceStations["B1"].Bypass = true web.arena.AllianceStations["B2"].Bypass = true web.arena.AllianceStations["B3"].Bypass = true web.arena.StartMatch() web.arena.Update() messages := readWebsocketMultiple(t, ws, 3) _, ok := messages["matchTime"] assert.True(t, ok) web.arena.MatchStartTime = time.Now().Add(-time.Duration(game.MatchTiming.WarmupDurationSec) * time.Second) web.arena.Update() messages = readWebsocketMultiple(t, ws, 2) _, ok = messages["arenaStatus"] assert.True(t, ok) _, ok = messages["matchTime"] assert.True(t, ok) web.arena.RealtimeScoreNotifier.Notify() readWebsocketType(t, ws, "realtimeScore") } ================================================ FILE: web/announcer_display.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web handlers for announcer display. package web import ( "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "net/http" ) // Renders the announcer display which shows team info and scores for the current match. func (web *Web) announcerDisplayHandler(w http.ResponseWriter, r *http.Request) { if !web.enforceDisplayConfiguration(w, r, nil) { return } template, err := web.parseFiles("templates/announcer_display.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings }{web.arena.EventSettings} err = template.ExecuteTemplate(w, "base_no_navbar", data) if err != nil { handleWebErr(w, err) return } } // Renders a partial template for when a new match is loaded. func (web *Web) announcerDisplayMatchLoadHandler(w http.ResponseWriter, r *http.Request) { template, err := web.parseFiles("templates/announcer_display_match_load.html") if err != nil { handleWebErr(w, err) return } err = template.ExecuteTemplate(w, "announcer_display_match_load", web.arena.GenerateMatchLoadMessage()) if err != nil { handleWebErr(w, err) return } } // Renders a partial template for when a final score is posted. func (web *Web) announcerDisplayScorePostedHandler(w http.ResponseWriter, r *http.Request) { template, err := web.parseFiles("templates/announcer_display_score_posted.html") if err != nil { handleWebErr(w, err) return } err = template.ExecuteTemplate(w, "announcer_display_score_posted", web.arena.GenerateScorePostedMessage()) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for the announcer display client to send control commands and receive status updates. func (web *Web) announcerDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) { display, err := web.registerDisplay(r) if err != nil { handleWebErr(w, err) return } defer web.arena.MarkDisplayDisconnected(display.DisplayConfiguration.Id) ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client. ws.HandleNotifiers( display.Notifier, web.arena.MatchTimingNotifier, web.arena.AudienceDisplayModeNotifier, web.arena.EventStatusNotifier, web.arena.MatchLoadNotifier, web.arena.MatchTimeNotifier, web.arena.RealtimeScoreNotifier, web.arena.ScorePostedNotifier, web.arena.ReloadDisplaysNotifier, ) } ================================================ FILE: web/announcer_display_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" ) func TestAnnouncerDisplay(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/displays/announcer?displayId=1") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Announcer Display - Untitled Event - Cheesy Arena") } func TestAnnouncerDisplayMatchLoad(t *testing.T) { web := setupTestWeb(t) match := model.Match{Type: model.Playoff, Red1: 254, Red2: 1114, Blue3: 2056} web.arena.LoadMatch(&match) recorder := web.getHttpResponse("/displays/announcer/match_load") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "254") assert.Contains(t, recorder.Body.String(), "1114") assert.Contains(t, recorder.Body.String(), "2056") } func TestAnnouncerDisplayScorePosted(t *testing.T) { web := setupTestWeb(t) match := model.Match{Type: model.Qualification, LongName: "Qual 17"} web.arena.SavedMatch = &match recorder := web.getHttpResponse("/displays/announcer/score_posted") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Qual 17") } func TestAnnouncerDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/displays/announcer/websocket?displayId=1", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "displayConfiguration") readWebsocketType(t, ws, "matchTiming") readWebsocketType(t, ws, "audienceDisplayMode") readWebsocketType(t, ws, "eventStatus") readWebsocketType(t, ws, "matchLoad") readWebsocketType(t, ws, "matchTime") readWebsocketType(t, ws, "realtimeScore") readWebsocketType(t, ws, "scorePosted") web.arena.MatchLoadNotifier.Notify() readWebsocketType(t, ws, "matchLoad") web.arena.AllianceStations["R1"].Bypass = true web.arena.AllianceStations["R2"].Bypass = true web.arena.AllianceStations["R3"].Bypass = true web.arena.AllianceStations["B1"].Bypass = true web.arena.AllianceStations["B2"].Bypass = true web.arena.AllianceStations["B3"].Bypass = true web.arena.StartMatch() web.arena.Update() messages := readWebsocketMultiple(t, ws, 3) _, ok := messages["audienceDisplayMode"] assert.True(t, ok) _, ok = messages["eventStatus"] assert.True(t, ok) _, ok = messages["matchTime"] assert.True(t, ok) web.arena.RealtimeScoreNotifier.Notify() readWebsocketType(t, ws, "realtimeScore") web.arena.ScorePostedNotifier.Notify() readWebsocketType(t, ws, "scorePosted") } ================================================ FILE: web/api.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web API for providing JSON-formatted event data. package web import ( "encoding/json" "fmt" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/partner" "github.com/Team254/cheesy-arena/playoff" "github.com/Team254/cheesy-arena/websocket" "io" "net/http" "os" "strconv" ) type MatchResultWithSummary struct { model.MatchResult RedSummary *game.ScoreSummary BlueSummary *game.ScoreSummary } type MatchWithResult struct { model.Match Result *MatchResultWithSummary } type RankingWithNickname struct { game.Ranking Nickname string } type allianceMatchup struct { Id string RedAllianceSource string BlueAllianceSource string RedAlliance *model.Alliance BlueAlliance *model.Alliance IsActive bool SeriesLeader string SeriesStatus string IsComplete bool } // Generates a JSON dump of the matches and results. func (web *Web) matchesApiHandler(w http.ResponseWriter, r *http.Request) { matchType, err := model.MatchTypeFromString(r.PathValue("type")) if err != nil { handleWebErr(w, err) return } matches, err := web.arena.Database.GetMatchesByType(matchType, false) if err != nil { handleWebErr(w, err) return } matchesWithResults := make([]MatchWithResult, len(matches)) for i, match := range matches { matchesWithResults[i].Match = match matchResult, err := web.arena.Database.GetMatchResultForMatch(match.Id) if err != nil { handleWebErr(w, err) return } var matchResultWithSummary *MatchResultWithSummary if matchResult != nil { matchResultWithSummary = &MatchResultWithSummary{MatchResult: *matchResult} matchResultWithSummary.RedSummary = matchResult.RedScoreSummary() matchResultWithSummary.BlueSummary = matchResult.BlueScoreSummary() } matchesWithResults[i].Result = matchResultWithSummary } jsonData, err := json.MarshalIndent(matchesWithResults, "", " ") if err != nil { handleWebErr(w, err) return } w.Header().Add("Content-Type", "application/json") w.Header().Add("Access-Control-Allow-Origin", "*") _, err = w.Write(jsonData) if err != nil { handleWebErr(w, err) return } } // Generates a JSON dump of the sponsor slides for use by the audience display. func (web *Web) sponsorSlidesApiHandler(w http.ResponseWriter, r *http.Request) { sponsors, err := web.arena.Database.GetAllSponsorSlides() if err != nil { handleWebErr(w, err) return } if sponsors == nil { // Go marshals an empty slice to null, so explicitly create it so that it appears as an empty JSON array. sponsors = make([]model.SponsorSlide, 0) } jsonData, err := json.MarshalIndent(sponsors, "", " ") if err != nil { handleWebErr(w, err) return } w.Header().Add("Content-Type", "application/json") w.Header().Add("Access-Control-Allow-Origin", "*") _, err = w.Write(jsonData) if err != nil { handleWebErr(w, err) return } } // Generates a JSON dump of the qualification rankings, primarily for use by the rankings display. func (web *Web) rankingsApiHandler(w http.ResponseWriter, r *http.Request) { rankings, err := web.arena.Database.GetAllRankings() if err != nil { handleWebErr(w, err) return } var rankingsWithNicknames []RankingWithNickname if rankings == nil { // Go marshals an empty slice to null, so explicitly create it so that it appears as an empty JSON array. rankingsWithNicknames = make([]RankingWithNickname, 0) } else { rankingsWithNicknames = make([]RankingWithNickname, len(rankings)) } // Get team info so that nicknames can be displayed. teams, err := web.arena.Database.GetAllTeams() if err != nil { handleWebErr(w, err) return } teamNicknames := make(map[int]string) for _, team := range teams { teamNicknames[team.Id] = team.Nickname } for i, ranking := range rankings { rankingsWithNicknames[i] = RankingWithNickname{ranking, teamNicknames[ranking.TeamId]} } // Get the last match scored so we can report that on the display. matches, err := web.arena.Database.GetMatchesByType(model.Qualification, false) if err != nil { handleWebErr(w, err) return } var highestPlayedMatch model.Match for _, match := range matches { if match.IsComplete() { highestPlayedMatch = match } } data := struct { Rankings []RankingWithNickname HighestPlayedMatch string }{rankingsWithNicknames, highestPlayedMatch.ShortName} jsonData, err := json.MarshalIndent(data, "", " ") if err != nil { handleWebErr(w, err) return } w.Header().Add("Content-Type", "application/json") w.Header().Add("Access-Control-Allow-Origin", "*") _, err = w.Write(jsonData) if err != nil { handleWebErr(w, err) return } } // Generates a JSON dump of the alliances. func (web *Web) alliancesApiHandler(w http.ResponseWriter, r *http.Request) { alliances, err := web.arena.Database.GetAllAlliances() if err != nil { handleWebErr(w, err) return } jsonData, err := json.MarshalIndent(alliances, "", " ") if err != nil { handleWebErr(w, err) return } w.Header().Add("Content-Type", "application/json") w.Header().Add("Access-Control-Allow-Origin", "*") _, err = w.Write(jsonData) if err != nil { handleWebErr(w, err) return } } // Websocket API for receiving arena status updates. func (web *Web) arenaWebsocketApiHandler(w http.ResponseWriter, r *http.Request) { ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client. ws.HandleNotifiers(web.arena.MatchTimingNotifier, web.arena.MatchLoadNotifier, web.arena.MatchTimeNotifier) } // Serves the avatar for a given team, or a default if none exists. func (web *Web) teamAvatarsApiHandler(w http.ResponseWriter, r *http.Request) { teamId, err := strconv.Atoi(r.PathValue("teamId")) if err != nil { handleWebErr(w, err) return } avatarPath := fmt.Sprintf("%s/%d.png", partner.AvatarsDir, teamId) if _, err := os.Stat(avatarPath); os.IsNotExist(err) { avatarPath = fmt.Sprintf("%s/0.png", partner.AvatarsDir) } http.ServeFile(w, r, avatarPath) } func (web *Web) bracketSvgApiHandler(w http.ResponseWriter, r *http.Request) { var activeMatch *model.Match if activeMatchValue, ok := r.URL.Query()["activeMatch"]; ok { if activeMatchValue[0] == "current" { activeMatch = web.arena.CurrentMatch } else if activeMatchValue[0] == "saved" { activeMatch = web.arena.SavedMatch } } w.Header().Add("Content-Type", "image/svg+xml") w.Header().Add("Access-Control-Allow-Origin", "*") if err := web.generateBracketSvg(w, activeMatch); err != nil { handleWebErr(w, err) return } } func (web *Web) generateBracketSvg(w io.Writer, activeMatch *model.Match) error { alliances, err := web.arena.Database.GetAllAlliances() if err != nil { return err } matchups := make(map[string]*allianceMatchup) if web.arena.PlayoffTournament != nil { for _, matchGroup := range web.arena.PlayoffTournament.MatchGroups() { matchup, ok := matchGroup.(*playoff.Matchup) if !ok { continue } allianceMatchup := allianceMatchup{ Id: matchup.Id(), RedAllianceSource: matchup.RedAllianceSourceDisplayName(), BlueAllianceSource: matchup.BlueAllianceSourceDisplayName(), IsComplete: matchup.IsComplete(), } if matchup.RedAllianceId > 0 { if len(alliances) > 0 { allianceMatchup.RedAlliance = &alliances[matchup.RedAllianceId-1] } else { allianceMatchup.RedAlliance = &model.Alliance{Id: matchup.RedAllianceId} } } if matchup.BlueAllianceId > 0 { if len(alliances) > 0 { allianceMatchup.BlueAlliance = &alliances[matchup.BlueAllianceId-1] } else { allianceMatchup.BlueAlliance = &model.Alliance{Id: matchup.BlueAllianceId} } } if activeMatch != nil { allianceMatchup.IsActive = activeMatch.PlayoffMatchGroupId == matchup.Id() } allianceMatchup.SeriesLeader, allianceMatchup.SeriesStatus = matchup.StatusText() matchups[matchup.Id()] = &allianceMatchup } } bracketType := "double" numAlliances := web.arena.EventSettings.NumPlayoffAlliances if web.arena.EventSettings.PlayoffType == model.SingleEliminationPlayoff { if numAlliances > 8 { bracketType = "16" } else if numAlliances > 4 { bracketType = "8" } else if numAlliances > 2 { bracketType = "4" } else { bracketType = "2" } } template, err := web.parseFiles("templates/bracket.svg") if err != nil { return err } data := struct { BracketType string Matchups map[string]*allianceMatchup }{bracketType, matchups} return template.ExecuteTemplate(w, "bracket", data) } ================================================ FILE: web/api_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "encoding/json" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/tournament" "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" "time" ) func TestMatchesApi(t *testing.T) { web := setupTestWeb(t) match1 := model.Match{ Type: model.Qualification, ShortName: "Q1", Time: time.Unix(0, 0), Red1: 1, Red2: 2, Red3: 3, Blue1: 4, Blue2: 5, Blue3: 6, Blue1IsSurrogate: true, Blue2IsSurrogate: true, Blue3IsSurrogate: true, } match2 := model.Match{ Type: model.Qualification, ShortName: "Q2", Time: time.Unix(600, 0), Red1: 7, Red2: 8, Red3: 9, Blue1: 10, Blue2: 11, Blue3: 12, Red1IsSurrogate: true, Red2IsSurrogate: true, Red3IsSurrogate: true, } match3 := model.Match{ Type: model.Practice, ShortName: "P1", Time: time.Now(), Red1: 6, Red2: 5, Red3: 4, Blue1: 3, Blue2: 2, Blue3: 1, } web.arena.Database.CreateMatch(&match1) web.arena.Database.CreateMatch(&match2) web.arena.Database.CreateMatch(&match3) matchResult1 := model.BuildTestMatchResult(match1.Id, 1) web.arena.Database.CreateMatchResult(matchResult1) recorder := web.getHttpResponse("/api/matches/qualification") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "application/json", recorder.Header()["Content-Type"][0]) var matchesData []MatchWithResult err := json.Unmarshal([]byte(recorder.Body.String()), &matchesData) assert.Nil(t, err) if assert.Equal(t, 2, len(matchesData)) { assert.Equal(t, match1.Id, matchesData[0].Match.Id) assert.Equal(t, *matchResult1, matchesData[0].Result.MatchResult) assert.Equal(t, match2.Id, matchesData[1].Match.Id) assert.Nil(t, matchesData[1].Result) } } func TestRankingsApi(t *testing.T) { web := setupTestWeb(t) // Test that empty rankings produces an empty array. recorder := web.getHttpResponse("/api/rankings") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "application/json", recorder.Header()["Content-Type"][0]) rankingsData := struct { Rankings []RankingWithNickname TeamNicknames map[string]string HighestPlayedMatch string }{} err := json.Unmarshal([]byte(recorder.Body.String()), &rankingsData) assert.Nil(t, err) assert.Equal(t, 0, len(rankingsData.Rankings)) assert.Equal(t, "", rankingsData.HighestPlayedMatch) ranking1 := RankingWithNickname{*game.TestRanking2(), "Simbots"} ranking2 := RankingWithNickname{*game.TestRanking1(), "ChezyPof"} web.arena.Database.CreateRanking(&ranking1.Ranking) web.arena.Database.CreateRanking(&ranking2.Ranking) web.arena.Database.CreateMatch(&model.Match{Type: model.Qualification, ShortName: "Q29", Status: game.RedWonMatch}) web.arena.Database.CreateMatch(&model.Match{Type: model.Qualification, ShortName: "Q30"}) web.arena.Database.CreateTeam(&model.Team{Id: 254, Nickname: "ChezyPof"}) web.arena.Database.CreateTeam(&model.Team{Id: 1114, Nickname: "Simbots"}) recorder = web.getHttpResponse("/api/rankings") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "application/json", recorder.Header()["Content-Type"][0]) err = json.Unmarshal([]byte(recorder.Body.String()), &rankingsData) assert.Nil(t, err) if assert.Equal(t, 2, len(rankingsData.Rankings)) { assert.Equal(t, ranking1, rankingsData.Rankings[1]) assert.Equal(t, ranking2, rankingsData.Rankings[0]) } assert.Equal(t, "Q29", rankingsData.HighestPlayedMatch) } func TestSponsorSlidesApi(t *testing.T) { web := setupTestWeb(t) slide1 := model.SponsorSlide{0, "subtitle", "line1", "line2", "image", 2, 1} slide2 := model.SponsorSlide{0, "Chezy Sponsaur", "Teh", "Chezy Pofs", "ejface.jpg", 54, 2} assert.Nil(t, web.arena.Database.CreateSponsorSlide(&slide1)) assert.Nil(t, web.arena.Database.CreateSponsorSlide(&slide2)) recorder := web.getHttpResponse("/api/sponsor_slides") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "application/json", recorder.Header()["Content-Type"][0]) var sponsorSlides []model.SponsorSlide err := json.Unmarshal([]byte(recorder.Body.String()), &sponsorSlides) assert.Nil(t, err) if assert.Equal(t, 2, len(sponsorSlides)) { assert.Equal(t, slide1, sponsorSlides[0]) assert.Equal(t, slide2, sponsorSlides[1]) } } func TestAlliancesApi(t *testing.T) { web := setupTestWeb(t) model.BuildTestAlliances(web.arena.Database) recorder := web.getHttpResponse("/api/alliances") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "application/json", recorder.Header()["Content-Type"][0]) var alliances []model.Alliance err := json.Unmarshal([]byte(recorder.Body.String()), &alliances) assert.Nil(t, err) if assert.Equal(t, 2, len(alliances)) { if assert.Equal(t, 5, len(alliances[0].TeamIds)) { assert.Equal(t, 254, alliances[0].TeamIds[0]) assert.Equal(t, 469, alliances[0].TeamIds[1]) assert.Equal(t, 2848, alliances[0].TeamIds[2]) assert.Equal(t, 74, alliances[0].TeamIds[3]) assert.Equal(t, 3175, alliances[0].TeamIds[4]) } if assert.Equal(t, 3, len(alliances[1].TeamIds)) { assert.Equal(t, 1718, alliances[1].TeamIds[0]) assert.Equal(t, 2451, alliances[1].TeamIds[1]) assert.Equal(t, 1619, alliances[1].TeamIds[2]) } } } func TestArenaWebsocketApi(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/api/arena/websocket", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "matchTiming") readWebsocketType(t, ws, "matchLoad") readWebsocketType(t, ws, "matchTime") } func TestBracketSvgApiDoubleElimination(t *testing.T) { web := setupTestWeb(t) web.arena.EventSettings.PlayoffType = model.DoubleEliminationPlayoff tournament.CreateTestAlliances(web.arena.Database, 8) web.arena.CreatePlayoffTournament() recorder := web.getHttpResponse("/api/bracket/svg") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "image/svg+xml", recorder.Header()["Content-Type"][0]) assert.Contains(t, recorder.Body.String(), "Best-of-3") } ================================================ FILE: web/audience_display.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web handlers for audience screen display. package web import ( "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "net/http" ) // Renders the audience display to be chroma keyed over the video feed. func (web *Web) audienceDisplayHandler(w http.ResponseWriter, r *http.Request) { if !web.enforceDisplayConfiguration( w, r, map[string]string{ "background": "#0f0", "reversed": "false", "overlayLocation": "bottom", }, ) { return } template, err := web.parseFiles("templates/audience_display.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings MatchSounds []*game.MatchSound }{web.arena.EventSettings, game.MatchSounds} err = template.ExecuteTemplate(w, "audience_display.html", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for the audience display client to receive status updates. func (web *Web) audienceDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) { display, err := web.registerDisplay(r) if err != nil { handleWebErr(w, err) return } defer web.arena.MarkDisplayDisconnected(display.DisplayConfiguration.Id) ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client. ws.HandleNotifiers( display.Notifier, web.arena.MatchTimingNotifier, web.arena.AudienceDisplayModeNotifier, web.arena.MatchLoadNotifier, web.arena.MatchTimeNotifier, web.arena.RealtimeScoreNotifier, web.arena.PlaySoundNotifier, web.arena.ScorePostedNotifier, web.arena.AllianceSelectionNotifier, web.arena.LowerThirdNotifier, web.arena.ReloadDisplaysNotifier, ) } ================================================ FILE: web/audience_display_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" ) func TestAudienceDisplay(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/displays/audience") assert.Equal(t, 302, recorder.Code) assert.Contains(t, recorder.Header().Get("Location"), "displayId=100") assert.Contains(t, recorder.Header().Get("Location"), "background=%230f0") assert.Contains(t, recorder.Header().Get("Location"), "reversed=false") assert.Contains(t, recorder.Header().Get("Location"), "overlayLocation=bottom") recorder = web.getHttpResponse( "/displays/audience?displayId=1&background=%23000&reversed=false&overlayLocation=top", ) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Audience Display - Untitled Event - Cheesy Arena") } func TestAudienceDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/displays/audience/websocket?displayId=1", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "displayConfiguration") readWebsocketType(t, ws, "matchTiming") readWebsocketType(t, ws, "audienceDisplayMode") readWebsocketType(t, ws, "matchLoad") readWebsocketType(t, ws, "matchTime") readWebsocketType(t, ws, "realtimeScore") readWebsocketType(t, ws, "scorePosted") readWebsocketType(t, ws, "allianceSelection") readWebsocketType(t, ws, "lowerThird") // Run through a match cycle. web.arena.MatchLoadNotifier.Notify() readWebsocketType(t, ws, "matchLoad") web.arena.AllianceStations["R1"].Bypass = true web.arena.AllianceStations["R2"].Bypass = true web.arena.AllianceStations["R3"].Bypass = true web.arena.AllianceStations["B1"].Bypass = true web.arena.AllianceStations["B2"].Bypass = true web.arena.AllianceStations["B3"].Bypass = true web.arena.StartMatch() web.arena.Update() web.arena.Update() messages := readWebsocketMultiple(t, ws, 3) screen, ok := messages["audienceDisplayMode"] if assert.True(t, ok) { assert.Equal(t, "match", screen) } sound, ok := messages["playSound"] if assert.True(t, ok) { assert.Equal(t, "start", sound) } _, ok = messages["matchTime"] assert.True(t, ok) web.arena.RealtimeScoreNotifier.Notify() readWebsocketType(t, ws, "realtimeScore") web.arena.ScorePostedNotifier.Notify() readWebsocketType(t, ws, "scorePosted") // Test other overlays. web.arena.AllianceSelectionNotifier.Notify() readWebsocketType(t, ws, "allianceSelection") web.arena.LowerThirdNotifier.Notify() readWebsocketType(t, ws, "lowerThird") } ================================================ FILE: web/bracket_display.go ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web handlers for the bracket display. package web import ( "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "net/http" ) // Renders the display which shows the playoff bracket. func (web *Web) bracketDisplayHandler(w http.ResponseWriter, r *http.Request) { if !web.enforceDisplayConfiguration(w, r, nil) { return } template, err := web.parseFiles("templates/bracket_display.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings }{web.arena.EventSettings} err = template.ExecuteTemplate(w, "bracket_display.html", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for the bracket display. func (web *Web) bracketDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) { display, err := web.registerDisplay(r) if err != nil { handleWebErr(w, err) return } defer web.arena.MarkDisplayDisconnected(display.DisplayConfiguration.Id) ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client. ws.HandleNotifiers(display.Notifier, web.arena.MatchLoadNotifier, web.arena.ReloadDisplaysNotifier) } ================================================ FILE: web/bracket_display_test.go ================================================ // Copyright 2022 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" ) func TestBracketDisplay(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/displays/bracket?displayId=1") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Bracket Display - Untitled Event - Cheesy Arena") } func TestBracketDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/displays/bracket/websocket?displayId=1", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "displayConfiguration") readWebsocketType(t, ws, "matchLoad") } ================================================ FILE: web/display_utils.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Common utility methods for display web routes. package web import ( "fmt" "github.com/Team254/cheesy-arena/field" "net/http" "net/url" "regexp" "strings" ) // Returns true if the given required parameters are present; otherwise redirects to the defaults and returns false. func (web *Web) enforceDisplayConfiguration(w http.ResponseWriter, r *http.Request, defaults map[string]string) bool { allPresent := true configuration := make(map[string]string) // Get display ID and nickname from the query parameters. var displayId string if displayId = r.URL.Query().Get("displayId"); displayId == "" { displayId = web.arena.NextDisplayId() allPresent = false } if nickname := r.URL.Query().Get("nickname"); nickname != "" { configuration["nickname"] = nickname } // Get display-specific fields from the query parameters. if defaults != nil { for key, defaultValue := range defaults { if r.URL.Query().Has(key) { configuration[key] = r.URL.Query().Get(key) } else { configuration[key] = defaultValue allPresent = false } } } if !allPresent { var builder strings.Builder for key, value := range configuration { builder.WriteString("&") builder.WriteString(url.QueryEscape(key)) builder.WriteString("=") builder.WriteString(url.QueryEscape(value)) } http.Redirect(w, r, fmt.Sprintf("%s?displayId=%s%s", r.URL.Path, displayId, builder.String()), 302) } return allPresent } // Constructs, registers, and returns the display object for the given incoming websocket request. func (web *Web) registerDisplay(r *http.Request) (*field.Display, error) { displayConfig, err := field.DisplayFromUrl(r.URL.Path, r.URL.Query()) if err != nil { return nil, err } // Extract the source IP address of the request and store it in the display object. var ipAddress string if ipAddress = r.Header.Get("X-Real-IP"); ipAddress == "" { ipAddress = regexp.MustCompile("(.*):\\d+$").FindStringSubmatch(r.RemoteAddr)[1] } return web.arena.RegisterDisplay(displayConfig, ipAddress), nil } ================================================ FILE: web/field_monitor_display.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web handlers for the field monitor display showing robot connection status. package web import ( "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "github.com/mitchellh/mapstructure" "io" "log" "net/http" ) // Renders the field monitor display. func (web *Web) fieldMonitorDisplayHandler(w http.ResponseWriter, r *http.Request) { if r.URL.Query().Get("fta") == "true" && !web.userIsAdmin(w, r) { return } if !web.enforceDisplayConfiguration(w, r, map[string]string{"ds": "false", "fta": "false", "reversed": "false"}) { return } template, err := web.parseFiles("templates/field_monitor_display.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings }{web.arena.EventSettings} err = template.ExecuteTemplate(w, "field_monitor_display.html", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for the field monitor display client to receive status updates. func (web *Web) fieldMonitorDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) { isFta := r.URL.Query().Get("fta") == "true" if isFta && !web.userIsAdmin(w, r) { return } display, err := web.registerDisplay(r) if err != nil { handleWebErr(w, err) return } defer web.arena.MarkDisplayDisconnected(display.DisplayConfiguration.Id) ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client, in a separate goroutine. go ws.HandleNotifiers( web.arena.MatchTimingNotifier, display.Notifier, web.arena.ArenaStatusNotifier, web.arena.EventStatusNotifier, web.arena.RealtimeScoreNotifier, web.arena.MatchTimeNotifier, web.arena.MatchLoadNotifier, web.arena.ReloadDisplaysNotifier, ) // Loop, waiting for commands and responding to them, until the client closes the connection. for { command, data, err := ws.Read() if err != nil { if err == io.EOF { // Client has closed the connection; nothing to do here. return } log.Println(err) return } if command == "updateTeamNotes" { if isFta { args := struct { Station string Notes string }{} err = mapstructure.Decode(data, &args) if err != nil { ws.WriteError(err.Error()) continue } if allianceStation, ok := web.arena.AllianceStations[args.Station]; ok { if allianceStation.Team != nil { allianceStation.Team.FtaNotes = args.Notes if err := web.arena.Database.UpdateTeam(allianceStation.Team); err != nil { ws.WriteError(err.Error()) } web.arena.ArenaStatusNotifier.Notify() } else { ws.WriteError("No team present") } } else { ws.WriteError("Invalid alliance station") } } else { ws.WriteError("Must be in FTA mode to update team notes") } } } } ================================================ FILE: web/field_monitor_display_test.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "testing" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" ) func TestFieldMonitorDisplay(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/displays/field_monitor?displayId=1&ds=false&fta=true&reversed=false") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Field Monitor - Untitled Event - Cheesy Arena") } func TestFieldMonitorDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) web.arena.Database.CreateTeam(&model.Team{Id: 254}) assert.Nil(t, web.arena.SubstituteTeams(0, 0, 0, 254, 0, 0)) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial( wsUrl+"/displays/field_monitor/websocket?displayId=1&ds=false&fta=false", nil, ) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "matchTiming") readWebsocketType(t, ws, "displayConfiguration") readWebsocketType(t, ws, "arenaStatus") readWebsocketType(t, ws, "eventStatus") readWebsocketType(t, ws, "realtimeScore") readWebsocketType(t, ws, "matchTime") readWebsocketType(t, ws, "matchLoad") // Should not be able to update team notes. ws.Write("updateTeamNotes", map[string]any{"station": "B1", "notes": "Bypassed in M1"}) assert.Contains(t, readWebsocketError(t, ws), "Must be in FTA mode to update team notes") assert.Equal(t, "", web.arena.AllianceStations["B1"].Team.FtaNotes) } func TestFieldMonitorFtaDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) web.arena.Database.CreateTeam(&model.Team{Id: 254}) assert.Nil(t, web.arena.SubstituteTeams(0, 0, 0, 254, 0, 0)) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial( wsUrl+"/displays/field_monitor/websocket?displayId=1&ds=false&fta=true", nil, ) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "matchTiming") readWebsocketType(t, ws, "displayConfiguration") readWebsocketType(t, ws, "arenaStatus") readWebsocketType(t, ws, "eventStatus") readWebsocketType(t, ws, "realtimeScore") readWebsocketType(t, ws, "matchTime") readWebsocketType(t, ws, "matchLoad") // Should not be able to update team notes. ws.Write("updateTeamNotes", map[string]any{"station": "B1", "notes": "Bypassed in M1"}) readWebsocketType(t, ws, "arenaStatus") assert.Equal(t, "Bypassed in M1", web.arena.AllianceStations["B1"].Team.FtaNotes) // Check error scenarios. ws.Write("updateTeamNotes", map[string]any{"station": "N", "notes": "Bypassed in M2"}) assert.Contains(t, readWebsocketError(t, ws), "Invalid alliance station") ws.Write("updateTeamNotes", map[string]any{"station": "R3", "notes": "Bypassed in M3"}) assert.Contains(t, readWebsocketError(t, ws), "No team present") } ================================================ FILE: web/login.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for authenticating with the server. package web import ( "fmt" "github.com/Team254/cheesy-arena/model" "github.com/google/uuid" "net/http" "net/url" "time" ) // Shows the login form. func (web *Web) loginHandler(w http.ResponseWriter, r *http.Request) { web.renderLogin(w, r, "") } // Processes the login request. func (web *Web) loginPostHandler(w http.ResponseWriter, r *http.Request) { username := r.PostFormValue("username") if err := web.checkAuthPassword(username, r.PostFormValue("password")); err != nil { web.renderLogin(w, r, err.Error()) return } session := model.UserSession{Token: uuid.New().String(), Username: username, CreatedAt: time.Now()} if err := web.arena.Database.CreateUserSession(&session); err != nil { handleWebErr(w, err) return } http.SetCookie(w, &http.Cookie{Name: sessionTokenCookie, Value: session.Token}) redirectUrl := r.URL.Query().Get("redirect") if redirectUrl == "" { redirectUrl = "/" } http.Redirect(w, r, redirectUrl, 303) } func (web *Web) renderLogin(w http.ResponseWriter, r *http.Request, errorMessage string) { template, err := web.parseFiles("templates/login.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings ErrorMessage string }{web.arena.EventSettings, errorMessage} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Returns true if the given user is authorized for admin operations. Used for HTTP cookie authentication. func (web *Web) userIsAdmin(w http.ResponseWriter, r *http.Request) bool { if web.arena.EventSettings.AdminPassword == "" { // Disable auth if there is no password configured. return true } session := web.getUserSessionFromCookie(r) if session != nil && session.Username == adminUser { return true } else { redirect := r.URL.Path if r.URL.RawQuery != "" { redirect += "?" + r.URL.RawQuery } http.Redirect(w, r, "/login?redirect="+url.QueryEscape(redirect), 307) return false } } func (web *Web) getUserSessionFromCookie(r *http.Request) *model.UserSession { token, err := r.Cookie(sessionTokenCookie) if err != nil { return nil } session, _ := web.arena.Database.GetUserSessionByToken(token.Value) return session } func (web *Web) checkAuthPassword(user, password string) error { if user == adminUser && password == web.arena.EventSettings.AdminPassword { return nil } else { return fmt.Errorf("Invalid login credentials.") } } ================================================ FILE: web/login_test.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/stretchr/testify/assert" "testing" ) func TestLoginDisplay(t *testing.T) { web := setupTestWeb(t) web.arena.EventSettings.AdminPassword = "admin" // Check that hitting a protected page redirects to the login. recorder := web.getHttpResponse("/match_play?p1=v1&p2=v2") assert.Equal(t, 307, recorder.Code) assert.Equal(t, "/login?redirect=%2Fmatch_play%3Fp1%3Dv1%26p2%3Dv2", recorder.Header().Get("Location")) recorder = web.getHttpResponse("/login?redirect=%2Fmatch_play%3Fp1%3Dv1%26p2%3Dv2") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Log In - Untitled Event - Cheesy Arena") // Check logging in with the wrong username and right password. recorder = web.postHttpResponse( "/login?redirect=%2Fmatch_play%3Fp1%3Dv1%26p2%3Dv2", "username=blorpy&password=reader", ) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Invalid login credentials.") // Check logging in with the right username and wrong password. recorder = web.postHttpResponse( "/login?redirect=%2Fmatch_play%3Fp1%3Dv1%26p2%3Dv2", "username=admin&password=blorpy", ) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Invalid login credentials.") // Check logging in with the right username and password. recorder = web.postHttpResponse( "/login?redirect=%2Fmatch_play%3Fp1%3Dv1%26p2%3Dv2", "username=admin&password=admin", ) assert.Equal(t, 303, recorder.Code) assert.Equal(t, "/match_play?p1=v1&p2=v2", recorder.Header().Get("Location")) cookie := recorder.Header().Get("Set-Cookie") assert.Contains(t, cookie, "session_token=") // Check that hitting the reader-level protected page works now. recorder = web.getHttpResponseWithHeaders("/match_play?p1=v1&p2=v2", map[string]string{"Cookie": cookie}) assert.Equal(t, 200, recorder.Code) } ================================================ FILE: web/logo_display.go ================================================ // Copyright 2024 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for a display to show a static logo and configurable message. package web import ( "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "net/http" ) // Renders the logo view. func (web *Web) logoDisplayHandler(w http.ResponseWriter, r *http.Request) { if !web.enforceDisplayConfiguration(w, r, map[string]string{"message": ""}) { return } template, err := web.parseFiles("templates/logo_display.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings }{web.arena.EventSettings} err = template.ExecuteTemplate(w, "logo_display.html", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for sending configuration commands to the display. func (web *Web) logoDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) { display, err := web.registerDisplay(r) if err != nil { handleWebErr(w, err) return } defer web.arena.MarkDisplayDisconnected(display.DisplayConfiguration.Id) ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client. ws.HandleNotifiers(display.Notifier, web.arena.ReloadDisplaysNotifier) } ================================================ FILE: web/logo_display_test.go ================================================ // Copyright 2024 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" ) func TestLogoDisplay(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/displays/logo?displayId=1&message=") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Logo Display - Untitled Event - Cheesy Arena") } func TestLogoDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/displays/logo/websocket?displayId=123", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "displayConfiguration") } ================================================ FILE: web/match_logs.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for viewing match logs package web import ( "encoding/csv" "fmt" "net/http" "os" "path/filepath" "strconv" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" ) type MatchLogsListItem struct { Id int ShortName string Time string RedTeams []int BlueTeams []int ColorClass string IsComplete bool } type MatchLogRow struct { MatchTimeSec float64 PacketType int TeamId int AllianceStation string DsLinked bool RadioLinked bool RioLinked bool RobotLinked bool Auto bool Enabled bool EmergencyStop bool AutonomousStop bool BatteryVoltage float64 MissedPacketCount int DsRobotTripTimeMs int TxRate float64 RxRate float64 SignalNoiseRatio int } type MatchLog struct { Filename string StartTime string Rows []MatchLogRow } type MatchLogs struct { TeamId int AllianceStation string Logs []MatchLog } // Shows the match Log interface. func (web *Web) matchLogsHandler(w http.ResponseWriter, r *http.Request) { practiceMatches, err := web.buildMatchLogsList(model.Practice) if err != nil { handleWebErr(w, err) return } qualificationMatches, err := web.buildMatchLogsList(model.Qualification) if err != nil { handleWebErr(w, err) return } playoffMatches, err := web.buildMatchLogsList(model.Playoff) if err != nil { handleWebErr(w, err) return } template, err := web.parseFiles("templates/match_logs.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } matchesByType := map[model.MatchType][]MatchLogsListItem{ model.Practice: practiceMatches, model.Qualification: qualificationMatches, model.Playoff: playoffMatches, } currentMatchType := web.arena.CurrentMatch.Type if currentMatchType == model.Test { currentMatchType = model.Practice } data := struct { *model.EventSettings MatchesByType map[model.MatchType][]MatchLogsListItem CurrentMatchType model.MatchType }{web.arena.EventSettings, matchesByType, currentMatchType} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Shows the page to view a log for a match. func (web *Web) matchLogsViewGetHandler(w http.ResponseWriter, r *http.Request) { match, matchLogs, _, err := web.getMatchLogFromRequest(r) firstMatch := "0" if err != nil { handleWebErr(w, err) return } template, err := web.parseFiles("templates/view_match_log.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } if len(matchLogs.Logs) > 0 { firstMatch = matchLogs.Logs[0].StartTime } data := struct { *model.EventSettings Match *model.Match MatchLogs *MatchLogs FirstMatch string }{web.arena.EventSettings, match, matchLogs, firstMatch} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Load the match logs for the match referenced in the HTTP query string. func (web *Web) getMatchLogFromRequest(r *http.Request) (*model.Match, *MatchLogs, bool, error) { matchId, _ := strconv.Atoi(r.PathValue("matchId")) stationId := r.PathValue("stationId") match, err := web.arena.Database.GetMatchById(matchId) logs := MatchLogs{ TeamId: 0, AllianceStation: stationId, } if err != nil { return nil, nil, false, err } if match == nil { return nil, nil, false, fmt.Errorf("Error: No such match: %d", matchId) } switch stationId { case "R1": logs.TeamId = match.Red1 case "R2": logs.TeamId = match.Red2 case "R3": logs.TeamId = match.Red3 case "B1": logs.TeamId = match.Blue1 case "B2": logs.TeamId = match.Blue2 case "B3": logs.TeamId = match.Blue3 } headerMap := make(map[string]int) // rows []MatchLogRow // Load a csv file. if logs.TeamId == 0 { return nil, nil, false, nil } var files []string files, _ = filepath.Glob( filepath.Join(".", "static", "logs", "*_*_Match_"+match.ShortName+"_"+strconv.Itoa(logs.TeamId)+".csv"), ) if len(files) == 0 { return match, &logs, false, nil } for _, filename := range files { f, _ := os.Open(filename) defer f.Close() // Create a new reader. reader := csv.NewReader(f) // Read row header, _ := reader.Read() // Add mapping: Column/property name --> record index for i, v := range header { headerMap[v] = i } records, _ := reader.ReadAll() var curlog = MatchLog{ Filename: filename, StartTime: filename[12:26], Rows: make([]MatchLogRow, len(records)), } for i, record := range records { var curRow MatchLogRow curRow.MatchTimeSec, _ = strconv.ParseFloat(record[headerMap["matchTimeSec"]], 64) curRow.PacketType, _ = strconv.Atoi(record[headerMap["packetType"]]) curRow.TeamId, _ = strconv.Atoi(record[headerMap["teamId"]]) curRow.AllianceStation = record[headerMap["allianceStation"]] curRow.DsLinked, _ = strconv.ParseBool(record[headerMap["dsLinked"]]) curRow.RadioLinked, _ = strconv.ParseBool(record[headerMap["radioLinked"]]) curRow.RioLinked, _ = strconv.ParseBool(record[headerMap["rioLinked"]]) curRow.RobotLinked, _ = strconv.ParseBool(record[headerMap["robotLinked"]]) curRow.Auto, _ = strconv.ParseBool(record[headerMap["auto"]]) curRow.Enabled, _ = strconv.ParseBool(record[headerMap["enabled"]]) curRow.EmergencyStop, _ = strconv.ParseBool(record[headerMap["emergencyStop"]]) curRow.AutonomousStop, _ = strconv.ParseBool(record[headerMap["autonomousStop"]]) curRow.BatteryVoltage, _ = strconv.ParseFloat(record[headerMap["batteryVoltage"]], 64) curRow.MissedPacketCount, _ = strconv.Atoi(record[headerMap["missedPacketCount"]]) curRow.DsRobotTripTimeMs, _ = strconv.Atoi(record[headerMap["dsRobotTripTimeMs"]]) if len(headerMap) > 13 { curRow.TxRate, _ = strconv.ParseFloat(record[headerMap["txRate"]], 64) curRow.RxRate, _ = strconv.ParseFloat(record[headerMap["rxRate"]], 64) curRow.SignalNoiseRatio, _ = strconv.Atoi(record[headerMap["signalNoiseRatio"]]) } else { curRow.TxRate = -1 curRow.RxRate = -1 curRow.SignalNoiseRatio = -1 } // Create new person and add to persons array curlog.Rows[i] = curRow } logs.Logs = append(logs.Logs, curlog) } return match, &logs, false, nil } // Constructs the list of matches to display in the match Logs interface. func (web *Web) buildMatchLogsList(matchType model.MatchType) ([]MatchLogsListItem, error) { matches, err := web.arena.Database.GetMatchesByType(matchType, false) if err != nil { return []MatchLogsListItem{}, err } matchLogsList := make([]MatchLogsListItem, len(matches)) for i, match := range matches { matchLogsList[i].Id = match.Id matchLogsList[i].ShortName = match.ShortName matchLogsList[i].Time = match.Time.Local().Format("Mon 1/02 03:04 PM") matchLogsList[i].RedTeams = []int{match.Red1, match.Red2, match.Red3} matchLogsList[i].BlueTeams = []int{match.Blue1, match.Blue2, match.Blue3} if err != nil { return []MatchLogsListItem{}, err } switch match.Status { case game.RedWonMatch: matchLogsList[i].ColorClass = "red" matchLogsList[i].IsComplete = true case game.BlueWonMatch: matchLogsList[i].ColorClass = "blue" matchLogsList[i].IsComplete = true case game.TieMatch: matchLogsList[i].ColorClass = "yellow" matchLogsList[i].IsComplete = true default: matchLogsList[i].ColorClass = "" matchLogsList[i].IsComplete = false } } return matchLogsList, nil } ================================================ FILE: web/match_play.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for controlling match play. package web import ( "fmt" "io" "log" "net/http" "sort" "time" "github.com/Team254/cheesy-arena/field" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/tournament" "github.com/Team254/cheesy-arena/websocket" "github.com/mitchellh/mapstructure" ) type MatchPlayListItem struct { Id int ShortName string Time string Status game.MatchStatus ColorClass string } type MatchPlayList []MatchPlayListItem // Shows the match play control interface. func (web *Web) matchPlayHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } template, err := web.parseFiles( "templates/match_play.html", "templates/audience_display_radio_buttons.html", "templates/base.html", ) if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings PlcIsEnabled bool PlcArmorBlockStatuses map[string]bool }{ web.arena.EventSettings, web.arena.Plc.IsEnabled(), web.arena.Plc.GetArmorBlockStatuses(), } err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Renders a partial template containing the list of matches. func (web *Web) matchPlayMatchLoadHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } practiceMatches, err := web.buildMatchPlayList(model.Practice) if err != nil { handleWebErr(w, err) return } qualificationMatches, err := web.buildMatchPlayList(model.Qualification) if err != nil { handleWebErr(w, err) return } playoffMatches, err := web.buildMatchPlayList(model.Playoff) if err != nil { handleWebErr(w, err) return } matchesByType := map[model.MatchType]MatchPlayList{ model.Practice: practiceMatches, model.Qualification: qualificationMatches, model.Playoff: playoffMatches, } currentMatchType := web.arena.CurrentMatch.Type if currentMatchType == model.Test { currentMatchType = model.Practice } template, err := web.parseFiles("templates/match_play_match_load.html") if err != nil { handleWebErr(w, err) return } data := struct { MatchesByType map[model.MatchType]MatchPlayList CurrentMatchType model.MatchType }{ matchesByType, currentMatchType, } err = template.ExecuteTemplate(w, "match_play_match_load.html", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for the match play client to send control commands and receive status updates. func (web *Web) matchPlayWebsocketHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client, in a separate goroutine. go ws.HandleNotifiers( web.arena.MatchTimingNotifier, web.arena.AllianceStationDisplayModeNotifier, web.arena.ArenaStatusNotifier, web.arena.AudienceDisplayModeNotifier, web.arena.EventStatusNotifier, web.arena.MatchLoadNotifier, web.arena.MatchTimeNotifier, web.arena.RealtimeScoreNotifier, web.arena.ScorePostedNotifier, web.arena.ScoringStatusNotifier, ) // Loop, waiting for commands and responding to them, until the client closes the connection. for { messageType, data, err := ws.Read() if err != nil { if err == io.EOF { // Client has closed the connection; nothing to do here. return } log.Println(err) return } switch messageType { case "loadMatch": args := struct { MatchId int }{} err = mapstructure.Decode(data, &args) if err != nil { ws.WriteError(err.Error()) continue } err = web.arena.ResetMatch() if err != nil { ws.WriteError(err.Error()) continue } if args.MatchId == 0 { err = web.arena.LoadTestMatch() } else { match, err := web.arena.Database.GetMatchById(args.MatchId) if err != nil { ws.WriteError(err.Error()) continue } if match == nil { ws.WriteError(fmt.Sprintf("invalid match ID %d", args.MatchId)) continue } err = web.arena.LoadMatch(match) } if err != nil { ws.WriteError(err.Error()) continue } case "showResult": args := struct { MatchId int }{} err = mapstructure.Decode(data, &args) if err != nil { ws.WriteError(err.Error()) continue } if args.MatchId == 0 { // Load an empty match to effectively clear the buffer. web.arena.SavedMatch = &model.Match{} web.arena.SavedMatchResult = model.NewMatchResult() web.arena.ScorePostedNotifier.Notify() continue } match, err := web.arena.Database.GetMatchById(args.MatchId) if err != nil { ws.WriteError(err.Error()) continue } if match == nil { ws.WriteError(fmt.Sprintf("invalid match ID %d", args.MatchId)) continue } matchResult, err := web.arena.Database.GetMatchResultForMatch(match.Id) if err != nil { ws.WriteError(err.Error()) continue } if matchResult == nil { ws.WriteError(fmt.Sprintf("No result found for match ID %d.", args.MatchId)) continue } if match.ShouldUpdateRankings() { web.arena.SavedRankings, err = web.arena.Database.GetAllRankings() if err != nil { ws.WriteError(err.Error()) continue } } else { web.arena.SavedRankings = game.Rankings{} } web.arena.SavedMatch = match web.arena.SavedMatchResult = matchResult web.arena.ScorePostedNotifier.Notify() case "substituteTeams": args := struct { Red1 int Red2 int Red3 int Blue1 int Blue2 int Blue3 int }{} err = mapstructure.Decode(data, &args) if err != nil { ws.WriteError(err.Error()) continue } err = web.arena.SubstituteTeams(args.Red1, args.Red2, args.Red3, args.Blue1, args.Blue2, args.Blue3) if err != nil { ws.WriteError(err.Error()) continue } case "toggleBypass": station, ok := data.(string) if !ok { ws.WriteError(fmt.Sprintf("Failed to parse '%s' message.", messageType)) continue } if _, ok := web.arena.AllianceStations[station]; !ok { ws.WriteError(fmt.Sprintf("Invalid alliance station '%s'.", station)) continue } web.arena.AllianceStations[station].Bypass = !web.arena.AllianceStations[station].Bypass if err = ws.WriteNotifier(web.arena.ArenaStatusNotifier); err != nil { log.Println(err) } case "startMatch": args := struct { MuteMatchSounds bool }{} err = mapstructure.Decode(data, &args) if err != nil { ws.WriteError(err.Error()) continue } web.arena.MuteMatchSounds = args.MuteMatchSounds err = web.arena.StartMatch() if err != nil { ws.WriteError(err.Error()) continue } case "abortMatch": err = web.arena.AbortMatch() if err != nil { ws.WriteError(err.Error()) continue } case "signalVolunteers": if web.arena.MatchState != field.PostMatch && web.arena.MatchState != field.PreMatch { // Don't allow clearing the field until the match is over. continue } web.arena.FieldVolunteers = true web.arena.AllianceStationDisplayMode = "signalCount" web.arena.AllianceStationDisplayModeNotifier.Notify() case "signalReset": if web.arena.MatchState != field.PostMatch && web.arena.MatchState != field.PreMatch { // Don't allow clearing the field until the match is over. continue } web.arena.FieldVolunteers = false web.arena.FieldReset = true web.arena.AllianceStationDisplayMode = "fieldReset" web.arena.AllianceStationDisplayModeNotifier.Notify() case "commitResults": if web.arena.MatchState != field.PostMatch { ws.WriteError("cannot commit match while it is in progress") continue } err = web.commitCurrentMatchScore() if err != nil { ws.WriteError(err.Error()) continue } err = web.arena.ResetMatch() if err != nil { ws.WriteError(err.Error()) continue } err = web.arena.LoadNextMatch(true) if err != nil { ws.WriteError(err.Error()) continue } case "discardResults": err = web.arena.ResetMatch() if err != nil { ws.WriteError(err.Error()) continue } err = web.arena.LoadNextMatch(false) if err != nil { ws.WriteError(err.Error()) continue } case "setAudienceDisplay": mode, ok := data.(string) if !ok { ws.WriteError(fmt.Sprintf("Failed to parse '%s' message.", messageType)) continue } web.arena.SetAudienceDisplayMode(mode) case "setAllianceStationDisplay": mode, ok := data.(string) if !ok { ws.WriteError(fmt.Sprintf("Failed to parse '%s' message.", messageType)) continue } web.arena.SetAllianceStationDisplayMode(mode) case "startTimeout": durationSec, ok := data.(float64) if !ok { ws.WriteError(fmt.Sprintf("Failed to parse '%s' message.", messageType)) continue } err = web.arena.StartTimeout("Timeout", int(durationSec)) if err != nil { ws.WriteError(err.Error()) continue } case "setTestMatchName": if web.arena.CurrentMatch.Type != model.Test { // Don't allow changing the name of a non-test match. continue } name, ok := data.(string) if !ok { ws.WriteError(fmt.Sprintf("Failed to parse '%s' message.", messageType)) continue } web.arena.CurrentMatch.LongName = name web.arena.MatchLoadNotifier.Notify() default: ws.WriteError(fmt.Sprintf("Invalid message type '%s'.", messageType)) } } } // Saves the given match and result to the database, supplanting any previous result for the match. func (web *Web) commitMatchScore(match *model.Match, matchResult *model.MatchResult, isMatchReviewEdit bool) error { var updatedRankings game.Rankings if match.Type == model.Playoff { // Adjust the score if necessary for a playoff DQ. matchResult.CorrectPlayoffScore() } // Update the match record. match.ScoreCommittedAt = time.Now() redScoreSummary := matchResult.RedScoreSummary() blueScoreSummary := matchResult.BlueScoreSummary() match.Status = game.DetermineMatchStatus(redScoreSummary, blueScoreSummary, match.UseTiebreakCriteria) if match.Type != model.Test { if matchResult.PlayNumber == 0 { // Determine the play number for this new match result. prevMatchResult, err := web.arena.Database.GetMatchResultForMatch(match.Id) if err != nil { return err } if prevMatchResult != nil { matchResult.PlayNumber = prevMatchResult.PlayNumber + 1 } else { matchResult.PlayNumber = 1 } // Save the match result record to the database. err = web.arena.Database.CreateMatchResult(matchResult) if err != nil { return err } } else { // We are updating a match result record that already exists. err := web.arena.Database.UpdateMatchResult(matchResult) if err != nil { return err } } err := web.arena.Database.UpdateMatch(match) if err != nil { return err } if match.ShouldUpdateCards() { // Regenerate the residual yellow cards that teams may carry. if err = tournament.CalculateTeamCards(web.arena.Database, match.Type); err != nil { return err } } if match.ShouldUpdateRankings() { // Recalculate all the rankings. rankings, err := tournament.CalculateRankings(web.arena.Database, isMatchReviewEdit) if err != nil { return err } updatedRankings = rankings } if match.ShouldUpdatePlayoffMatches() { if err = web.arena.Database.UpdateAllianceFromMatch( match.PlayoffRedAlliance, [3]int{match.Red1, match.Red2, match.Red3}, ); err != nil { return err } if err = web.arena.Database.UpdateAllianceFromMatch( match.PlayoffBlueAlliance, [3]int{match.Blue1, match.Blue2, match.Blue3}, ); err != nil { return err } // Populate any subsequent playoff matches. if err = web.arena.UpdatePlayoffTournament(); err != nil { return err } // Generate awards if the tournament is over. if web.arena.PlayoffTournament.IsComplete() { winnerAllianceId := web.arena.PlayoffTournament.WinningAllianceId() finalistAllianceId := web.arena.PlayoffTournament.FinalistAllianceId() if err = tournament.CreateOrUpdateWinnerAndFinalistAwards( web.arena.Database, winnerAllianceId, finalistAllianceId, ); err != nil { return err } } } if web.arena.EventSettings.TbaPublishingEnabled && match.Type != model.Practice { // Publish asynchronously to The Blue Alliance. go func() { if err = web.arena.TbaClient.PublishMatches(web.arena.Database); err != nil { log.Printf("Failed to publish matches: %s", err.Error()) } if match.ShouldUpdateRankings() { if err = web.arena.TbaClient.PublishRankings(web.arena.Database); err != nil { log.Printf("Failed to publish rankings: %s", err.Error()) } } }() } // Back up the database, but don't error out if it fails. err = web.arena.Database.Backup( web.arena.EventSettings.Name, fmt.Sprintf("post_%s_match_%s", match.Type, match.ShortName), ) if err != nil { log.Println(err) } } if !isMatchReviewEdit { // Store the result in the buffer to be shown in the audience display. web.arena.SavedMatch = match web.arena.SavedMatchResult = matchResult web.arena.SavedRankings = updatedRankings web.arena.ScorePostedNotifier.Notify() } return nil } func (web *Web) getCurrentMatchResult() *model.MatchResult { return &model.MatchResult{ MatchId: web.arena.CurrentMatch.Id, MatchType: web.arena.CurrentMatch.Type, RedScore: &web.arena.RedRealtimeScore.CurrentScore, BlueScore: &web.arena.BlueRealtimeScore.CurrentScore, RedCards: web.arena.RedRealtimeScore.Cards, BlueCards: web.arena.BlueRealtimeScore.Cards, } } // Saves the realtime result as the final score for the match currently loaded into the arena. func (web *Web) commitCurrentMatchScore() error { return web.commitMatchScore(web.arena.CurrentMatch, web.getCurrentMatchResult(), false) } // Helper function to implement the required interface for Sort. func (list MatchPlayList) Len() int { return len(list) } // Helper function to implement the required interface for Sort. func (list MatchPlayList) Less(i, j int) bool { return list[i].Status == game.MatchScheduled && list[j].Status != game.MatchScheduled } // Helper function to implement the required interface for Sort. func (list MatchPlayList) Swap(i, j int) { list[i], list[j] = list[j], list[i] } // Constructs the list of matches to display on the side of the match play interface. func (web *Web) buildMatchPlayList(matchType model.MatchType) (MatchPlayList, error) { matches, err := web.arena.Database.GetMatchesByType(matchType, false) if err != nil { return MatchPlayList{}, err } matchPlayList := make(MatchPlayList, len(matches)) for i, match := range matches { matchPlayList[i].Id = match.Id matchPlayList[i].ShortName = match.ShortName matchPlayList[i].Time = match.Time.Local().Format("3:04 PM") matchPlayList[i].Status = match.Status switch match.Status { case game.RedWonMatch: matchPlayList[i].ColorClass = "red" case game.BlueWonMatch: matchPlayList[i].ColorClass = "blue" case game.TieMatch: matchPlayList[i].ColorClass = "yellow" default: matchPlayList[i].ColorClass = "" } if web.arena.CurrentMatch != nil && matchPlayList[i].Id == web.arena.CurrentMatch.Id { matchPlayList[i].ColorClass = "green" } } // Sort the list to put all completed matches at the bottom. sort.Stable(matchPlayList) return matchPlayList, nil } ================================================ FILE: web/match_play_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "bytes" "github.com/Team254/cheesy-arena/field" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/tournament" "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/mitchellh/mapstructure" "github.com/stretchr/testify/assert" "log" "testing" "time" ) func TestMatchPlay(t *testing.T) { web := setupTestWeb(t) // Check that some text near the bottom of the page is present. recorder := web.getHttpResponse("/match_play") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Are you sure you want to discard the results for this match?") } func TestMatchPlayMatchList(t *testing.T) { web := setupTestWeb(t) match1 := model.Match{Type: model.Practice, ShortName: "P1", Status: game.RedWonMatch} match2 := model.Match{Type: model.Practice, ShortName: "P2"} match3 := model.Match{Type: model.Qualification, ShortName: "Q1", Status: game.BlueWonMatch} match4 := model.Match{Type: model.Playoff, ShortName: "SF1-1", Status: game.TieMatch} match5 := model.Match{Type: model.Playoff, ShortName: "SF1-2"} web.arena.Database.CreateMatch(&match1) web.arena.Database.CreateMatch(&match2) web.arena.Database.CreateMatch(&match3) web.arena.Database.CreateMatch(&match4) web.arena.Database.CreateMatch(&match5) // Check that all matches are listed on the page. recorder := web.getHttpResponse("/match_play/match_load") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "P1") assert.Contains(t, recorder.Body.String(), "P2") assert.Contains(t, recorder.Body.String(), "Q1") assert.Contains(t, recorder.Body.String(), "SF1-1") assert.Contains(t, recorder.Body.String(), "SF1-2") } func TestCommitMatch(t *testing.T) { web := setupTestWeb(t) // Committing test match should update the stored saved match but not persist anything. match := &model.Match{Id: 0, Type: model.Test, Red1: 101, Red2: 102, Red3: 103, Blue1: 104, Blue2: 105, Blue3: 106} matchResult := &model.MatchResult{MatchId: match.Id, RedScore: &game.Score{}, BlueScore: &game.Score{}} matchResult.BlueScore.LeaveStatuses[2] = true err := web.commitMatchScore(match, matchResult, false) assert.Nil(t, err) matchResult, err = web.arena.Database.GetMatchResultForMatch(match.Id) assert.Nil(t, err) assert.Nil(t, matchResult) assert.Equal(t, match, web.arena.SavedMatch) assert.Equal(t, game.BlueWonMatch, web.arena.SavedMatch.Status) // Committing the same match more than once should create a second match result record. match.Type = model.Qualification assert.Nil(t, web.arena.Database.CreateMatch(match)) matchResult = model.NewMatchResult() matchResult.MatchId = match.Id matchResult.BlueScore = &game.Score{LeaveStatuses: [3]bool{true, false, false}} err = web.commitMatchScore(match, matchResult, true) assert.Nil(t, err) assert.Equal(t, 1, matchResult.PlayNumber) match, _ = web.arena.Database.GetMatchById(1) assert.Equal(t, game.BlueWonMatch, match.Status) matchResult = model.NewMatchResult() matchResult.MatchId = match.Id matchResult.RedScore = &game.Score{LeaveStatuses: [3]bool{true, false, true}} err = web.commitMatchScore(match, matchResult, true) assert.Nil(t, err) assert.Equal(t, 2, matchResult.PlayNumber) match, _ = web.arena.Database.GetMatchById(1) assert.Equal(t, game.RedWonMatch, match.Status) matchResult = model.NewMatchResult() matchResult.MatchId = match.Id err = web.commitMatchScore(match, matchResult, true) assert.Nil(t, err) assert.Equal(t, 3, matchResult.PlayNumber) match, _ = web.arena.Database.GetMatchById(1) assert.Equal(t, game.TieMatch, match.Status) // Verify TBA publishing by checking the log for the expected failure messages. web.arena.TbaClient.BaseUrl = "fakeUrl" web.arena.EventSettings.TbaPublishingEnabled = true var writer bytes.Buffer log.SetOutput(&writer) err = web.commitMatchScore(match, matchResult, true) assert.Nil(t, err) time.Sleep(time.Millisecond * 100) // Allow some time for the asynchronous publishing to happen. assert.Contains(t, writer.String(), "Failed to publish matches") assert.Contains(t, writer.String(), "Failed to publish rankings") } func TestCommitTiebreak(t *testing.T) { web := setupTestWeb(t) match := &model.Match{ Type: model.Qualification, TypeOrder: 1, Red1: 1, Red2: 2, Red3: 3, Blue1: 4, Blue2: 5, Blue3: 6, UseTiebreakCriteria: false, } web.arena.Database.CreateMatch(match) matchResult := &model.MatchResult{ MatchId: match.Id, // These should all be fields that aren't part of the tiebreaker. RedScore: &game.Score{ Reef: game.Reef{TroughFar: 1}, Fouls: []game.Foul{{FoulId: 1, IsMajor: false}, {FoulId: 2, IsMajor: false}}, }, BlueScore: &game.Score{ Fouls: []game.Foul{{FoulId: 3, IsMajor: false}}, }, } // Sanity check that the test scores are equal; they will need to be updated accordingly for each new game. assert.Equal( t, matchResult.RedScore.Summarize(matchResult.BlueScore).Score, matchResult.BlueScore.Summarize(matchResult.RedScore).Score, ) err := web.commitMatchScore(match, matchResult, true) assert.Nil(t, err) match, _ = web.arena.Database.GetMatchById(1) assert.Equal(t, game.TieMatch, match.Status) // The match should still be tied since the tiebreaker criteria for a perfect tie are fulfilled. match.UseTiebreakCriteria = true web.arena.Database.UpdateMatch(match) err = web.commitMatchScore(match, matchResult, true) assert.Nil(t, err) match, _ = web.arena.Database.GetMatchById(1) assert.Equal(t, game.TieMatch, match.Status) // Change the score to still be equal nominally but trigger the tiebreaker criteria. matchResult.BlueScore.ProcessorAlgae = 1 matchResult.BlueScore.Fouls = []game.Foul{{FoulId: 3, IsMajor: false}, {FoulId: 4, IsMajor: true}} // Sanity check that the test scores are equal; they will need to be updated accordingly for each new game. assert.Equal( t, matchResult.RedScore.Summarize(matchResult.BlueScore).Score, matchResult.BlueScore.Summarize(matchResult.RedScore).Score, ) err = web.commitMatchScore(match, matchResult, true) assert.Nil(t, err) match, _ = web.arena.Database.GetMatchById(1) assert.Equal(t, game.RedWonMatch, match.Status) // Swap red and blue and verify that the tie is broken in the other direction. matchResult.RedScore, matchResult.BlueScore = matchResult.BlueScore, matchResult.RedScore // Sanity check that the test scores are equal; they will need to be updated accordingly for each new game. assert.Equal( t, matchResult.RedScore.Summarize(matchResult.BlueScore).Score, matchResult.BlueScore.Summarize(matchResult.RedScore).Score, ) err = web.commitMatchScore(match, matchResult, true) assert.Nil(t, err) match, _ = web.arena.Database.GetMatchById(1) assert.Equal(t, game.BlueWonMatch, match.Status) } func TestCommitCards(t *testing.T) { web := setupTestWeb(t) // Check that a yellow card sticks with a team. team1 := &model.Team{Id: 3} team2 := &model.Team{Id: 5} web.arena.Database.CreateTeam(team1) web.arena.Database.CreateTeam(team2) match := &model.Match{Id: 0, Type: model.Qualification, Red1: 1, Red2: 2, Red3: 3, Blue1: 4, Blue2: 5, Blue3: 6} assert.Nil(t, web.arena.Database.CreateMatch(match)) matchResult := model.NewMatchResult() matchResult.MatchId = match.Id matchResult.RedCards = map[string]string{"3": "yellow"} matchResult.BlueCards = map[string]string{"5": "yellow"} err := web.commitMatchScore(match, matchResult, true) assert.Nil(t, err) team1, _ = web.arena.Database.GetTeamById(3) assert.True(t, team1.YellowCard) team2, _ = web.arena.Database.GetTeamById(5) assert.True(t, team2.YellowCard) // Check that editing a match result removes a yellow card from a team. matchResult = model.NewMatchResult() matchResult.MatchId = match.Id err = web.commitMatchScore(match, matchResult, true) assert.Nil(t, err) team1, _ = web.arena.Database.GetTeamById(3) assert.False(t, team1.YellowCard) team2, _ = web.arena.Database.GetTeamById(5) assert.False(t, team2.YellowCard) // Check that a red card causes a yellow card to stick with a team. matchResult = model.NewMatchResult() matchResult.MatchId = match.Id matchResult.RedCards = map[string]string{"3": "red"} matchResult.BlueCards = map[string]string{"5": "red"} err = web.commitMatchScore(match, matchResult, true) assert.Nil(t, err) team1, _ = web.arena.Database.GetTeamById(3) assert.True(t, team1.YellowCard) team2, _ = web.arena.Database.GetTeamById(5) assert.True(t, team2.YellowCard) // Check that a DQ does not cause a yellow card to stick with a team. matchResult = model.NewMatchResult() matchResult.MatchId = match.Id matchResult.RedCards = map[string]string{"3": "dq"} matchResult.BlueCards = map[string]string{"5": "dq"} err = web.commitMatchScore(match, matchResult, true) assert.Nil(t, err) team1, _ = web.arena.Database.GetTeamById(3) assert.False(t, team1.YellowCard) team2, _ = web.arena.Database.GetTeamById(5) assert.False(t, team2.YellowCard) // Check that a red card in playoffs zeroes out the score. tournament.CreateTestAlliances(web.arena.Database, 2) web.arena.EventSettings.PlayoffType = model.SingleEliminationPlayoff web.arena.EventSettings.NumPlayoffAlliances = 2 web.arena.CreatePlayoffTournament() web.arena.CreatePlayoffMatches(time.Now()) match.Type = model.Playoff match.PlayoffRedAlliance = 1 match.PlayoffBlueAlliance = 2 web.arena.Database.UpdateMatch(match) matchResult = model.BuildTestMatchResult(match.Id, 0) matchResult.MatchType = match.Type matchResult.RedCards = map[string]string{"1": "red"} assert.Nil(t, web.commitMatchScore(match, matchResult, true)) assert.Equal(t, 0, matchResult.RedScoreSummary().Score) assert.NotEqual(t, 0, matchResult.BlueScoreSummary().Score) // Check that a DQ in playoffs zeroes out the score. matchResult.RedCards = map[string]string{} matchResult.BlueCards = map[string]string{"5": "dq"} assert.Nil(t, web.commitMatchScore(match, matchResult, true)) assert.NotEqual(t, 0, matchResult.RedScoreSummary().Score) assert.Equal(t, 0, matchResult.BlueScoreSummary().Score) } func TestMatchPlayWebsocketCommands(t *testing.T) { web := setupTestWeb(t) web.arena.Database.CreateTeam(&model.Team{Id: 254}) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/match_play/websocket", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "matchTiming") readWebsocketType(t, ws, "allianceStationDisplayMode") readWebsocketType(t, ws, "arenaStatus") readWebsocketType(t, ws, "audienceDisplayMode") readWebsocketType(t, ws, "eventStatus") readWebsocketType(t, ws, "matchLoad") readWebsocketType(t, ws, "matchTime") readWebsocketType(t, ws, "realtimeScore") readWebsocketType(t, ws, "scorePosted") readWebsocketType(t, ws, "scoringStatus") // Test that a server-side error is communicated to the client. ws.Write("nonexistenttype", nil) assert.Contains(t, readWebsocketError(t, ws), "Invalid message type") // Test match setup commands. ws.Write("substituteTeams", map[string]int{"Red1": 0, "Red2": 0, "Red3": 0, "Blue1": 1, "Blue2": 0, "Blue3": 0}) assert.Equal(t, readWebsocketError(t, ws), "Team 1 is not present at the event.") ws.Write("substituteTeams", map[string]int{"Red1": 0, "Red2": 0, "Red3": 0, "Blue1": 254, "Blue2": 0, "Blue3": 0}) readWebsocketType(t, ws, "matchLoad") assert.Equal(t, 254, web.arena.CurrentMatch.Blue1) ws.Write("substituteTeams", map[string]int{"Red1": 0, "Red2": 0, "Red3": 0, "Blue1": 0, "Blue2": 0, "Blue3": 0}) readWebsocketType(t, ws, "matchLoad") assert.Equal(t, 0, web.arena.CurrentMatch.Blue1) ws.Write("toggleBypass", nil) assert.Contains(t, readWebsocketError(t, ws), "Failed to parse") ws.Write("toggleBypass", "R4") assert.Contains(t, readWebsocketError(t, ws), "Invalid alliance station") ws.Write("toggleBypass", "R3") readWebsocketType(t, ws, "arenaStatus") assert.Equal(t, true, web.arena.AllianceStations["R3"].Bypass) ws.Write("toggleBypass", "R3") readWebsocketType(t, ws, "arenaStatus") assert.Equal(t, false, web.arena.AllianceStations["R3"].Bypass) // Go through match flow. ws.Write("abortMatch", nil) assert.Contains(t, readWebsocketError(t, ws), "cannot abort match") ws.Write("startMatch", nil) assert.Contains(t, readWebsocketError(t, ws), "cannot start match") web.arena.AllianceStations["R1"].Bypass = true web.arena.AllianceStations["R2"].Bypass = true web.arena.AllianceStations["R3"].Bypass = true web.arena.AllianceStations["B1"].Bypass = true web.arena.AllianceStations["B2"].Bypass = true web.arena.AllianceStations["B3"].Bypass = true ws.Write("startMatch", nil) readWebsocketType(t, ws, "eventStatus") assert.Equal(t, field.StartMatch, web.arena.MatchState) ws.Write("commitResults", nil) assert.Contains(t, readWebsocketError(t, ws), "cannot commit match while it is in progress") ws.Write("discardResults", nil) assert.Contains(t, readWebsocketError(t, ws), "cannot reset match while it is in progress") ws.Write("abortMatch", nil) readWebsocketType(t, ws, "audienceDisplayMode") assert.Equal(t, field.PostMatch, web.arena.MatchState) web.arena.RedRealtimeScore.CurrentScore.BargeAlgae = 6 web.arena.BlueRealtimeScore.CurrentScore.LeaveStatuses = [3]bool{true, false, true} ws.Write("commitResults", nil) readWebsocketMultiple(t, ws, 5) // scorePosted, matchLoad, realtimeScore, allianceStationDisplayMode, scoringStatus assert.Equal(t, 6, web.arena.SavedMatchResult.RedScore.BargeAlgae) assert.Equal(t, [3]bool{true, false, true}, web.arena.SavedMatchResult.BlueScore.LeaveStatuses) assert.Equal(t, field.PreMatch, web.arena.MatchState) ws.Write("discardResults", nil) readWebsocketMultiple(t, ws, 4) // matchLoad, realtimeScore, allianceStationDisplayMode, scoringStatus assert.Equal(t, field.PreMatch, web.arena.MatchState) // Test changing the displays. ws.Write("setAudienceDisplay", "logo") readWebsocketType(t, ws, "audienceDisplayMode") assert.Equal(t, "logo", web.arena.AudienceDisplayMode) ws.Write("setAllianceStationDisplay", "logo") readWebsocketType(t, ws, "allianceStationDisplayMode") assert.Equal(t, "logo", web.arena.AllianceStationDisplayMode) } func TestMatchPlayWebsocketLoadMatch(t *testing.T) { web := setupTestWeb(t) tournament.CreateTestAlliances(web.arena.Database, 8) web.arena.CreatePlayoffTournament() server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/match_play/websocket", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketMultiple(t, ws, 10) web.arena.Database.CreateTeam(&model.Team{Id: 101}) web.arena.Database.CreateTeam(&model.Team{Id: 102}) web.arena.Database.CreateTeam(&model.Team{Id: 103}) web.arena.Database.CreateTeam(&model.Team{Id: 104}) web.arena.Database.CreateTeam(&model.Team{Id: 105}) web.arena.Database.CreateTeam(&model.Team{Id: 106}) match := model.Match{ Type: model.Playoff, ShortName: "QF4-3", Status: game.RedWonMatch, Red1: 101, Red2: 102, Red3: 103, Blue1: 104, Blue2: 105, Blue3: 106, } web.arena.Database.CreateMatch(&match) matchIdMessage := struct{ MatchId int }{match.Id} ws.Write("loadMatch", matchIdMessage) readWebsocketType(t, ws, "matchLoad") readWebsocketMultiple(t, ws, 3) assert.Equal(t, 101, web.arena.CurrentMatch.Red1) assert.Equal(t, 102, web.arena.CurrentMatch.Red2) assert.Equal(t, 103, web.arena.CurrentMatch.Red3) assert.Equal(t, 104, web.arena.CurrentMatch.Blue1) assert.Equal(t, 105, web.arena.CurrentMatch.Blue2) assert.Equal(t, 106, web.arena.CurrentMatch.Blue3) // Load a test match. matchIdMessage.MatchId = 0 ws.Write("loadMatch", matchIdMessage) readWebsocketType(t, ws, "matchLoad") readWebsocketMultiple(t, ws, 3) assert.Equal(t, 0, web.arena.CurrentMatch.Red1) assert.Equal(t, 0, web.arena.CurrentMatch.Red2) assert.Equal(t, 0, web.arena.CurrentMatch.Red3) assert.Equal(t, 0, web.arena.CurrentMatch.Blue1) assert.Equal(t, 0, web.arena.CurrentMatch.Blue2) assert.Equal(t, 0, web.arena.CurrentMatch.Blue3) // Load a nonexistent match. matchIdMessage.MatchId = 254 ws.Write("loadMatch", matchIdMessage) assert.Contains(t, readWebsocketError(t, ws), "invalid match ID 254") } func TestMatchPlayWebsocketShowAndClearResult(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/match_play/websocket", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketMultiple(t, ws, 10) matchIdMessage := struct{ MatchId int }{1} ws.Write("showResult", matchIdMessage) assert.Contains(t, readWebsocketError(t, ws), "invalid match ID 1") match := model.Match{Type: model.Qualification, ShortName: "Q1", Status: game.TieMatch} web.arena.Database.CreateMatch(&match) ws.Write("showResult", matchIdMessage) assert.Contains(t, readWebsocketError(t, ws), "No result found") web.arena.Database.CreateMatchResult(model.BuildTestMatchResult(match.Id, 1)) ws.Write("showResult", matchIdMessage) readWebsocketType(t, ws, "scorePosted") assert.Equal(t, match.Id, web.arena.SavedMatch.Id) assert.Equal(t, match.Id, web.arena.SavedMatchResult.MatchId) matchIdMessage.MatchId = 0 ws.Write("showResult", matchIdMessage) readWebsocketType(t, ws, "scorePosted") assert.Equal(t, model.Match{}, *web.arena.SavedMatch) assert.Equal(t, *model.NewMatchResult(), *web.arena.SavedMatchResult) } func TestMatchPlayWebsocketNotifications(t *testing.T) { web := setupTestWeb(t) web.arena.Database.CreateTeam(&model.Team{Id: 254}) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/match_play/websocket", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketMultiple(t, ws, 10) web.arena.AllianceStations["R1"].Bypass = true web.arena.AllianceStations["R2"].Bypass = true web.arena.AllianceStations["R3"].Bypass = true web.arena.AllianceStations["B1"].Bypass = true web.arena.AllianceStations["B2"].Bypass = true web.arena.AllianceStations["B3"].Bypass = true assert.Nil(t, web.arena.StartMatch()) web.arena.Update() messages := readWebsocketMultiple(t, ws, 5) _, ok := messages["matchTime"] assert.True(t, ok) _, ok = messages["audienceDisplayMode"] assert.True(t, ok) _, ok = messages["allianceStationDisplayMode"] assert.True(t, ok) _, ok = messages["eventStatus"] assert.True(t, ok) web.arena.MatchStartTime = time.Now().Add(-time.Duration(game.MatchTiming.WarmupDurationSec) * time.Second) web.arena.Update() messages = readWebsocketMultiple(t, ws, 2) statusReceived, matchTime := getStatusMatchTime(t, messages) assert.Equal(t, true, statusReceived) assert.Equal(t, field.AutoPeriod, matchTime.MatchState) assert.Equal(t, 3, matchTime.MatchTimeSec) web.arena.ScoringStatusNotifier.Notify() readWebsocketType(t, ws, "scoringStatus") // Should get a tick notification when an integer second threshold is crossed. web.arena.MatchStartTime = time.Now().Add(-time.Second - 10*time.Millisecond) // Crossed web.arena.Update() err = mapstructure.Decode(readWebsocketType(t, ws, "matchTime"), &matchTime) assert.Nil(t, err) assert.Equal(t, field.AutoPeriod, matchTime.MatchState) assert.Equal(t, 1, matchTime.MatchTimeSec) web.arena.MatchStartTime = time.Now().Add(-2*time.Second + 10*time.Millisecond) // Not crossed yet web.arena.Update() web.arena.MatchStartTime = time.Now().Add(-2*time.Second - 10*time.Millisecond) // Crossed web.arena.Update() err = mapstructure.Decode(readWebsocketType(t, ws, "matchTime"), &matchTime) assert.Nil(t, err) assert.Equal(t, field.AutoPeriod, matchTime.MatchState) assert.Equal(t, 2, matchTime.MatchTimeSec) // Check across a match state boundary. web.arena.MatchStartTime = time.Now().Add( -time.Duration(game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec) * time.Second, ) web.arena.Update() statusReceived, matchTime = readWebsocketStatusMatchTime(t, ws) assert.Equal(t, true, statusReceived) assert.Equal(t, field.PausePeriod, matchTime.MatchState) assert.Equal(t, game.MatchTiming.WarmupDurationSec+game.MatchTiming.AutoDurationSec, matchTime.MatchTimeSec) } // Handles the status and matchTime messages arriving in either order. func readWebsocketStatusMatchTime(t *testing.T, ws *websocket.Websocket) (bool, field.MatchTimeMessage) { return getStatusMatchTime(t, readWebsocketMultiple(t, ws, 2)) } func getStatusMatchTime(t *testing.T, messages map[string]any) (bool, field.MatchTimeMessage) { _, statusReceived := messages["arenaStatus"] message, ok := messages["matchTime"] var matchTime field.MatchTimeMessage if assert.True(t, ok) { err := mapstructure.Decode(message, &matchTime) assert.Nil(t, err) } return statusReceived, matchTime } ================================================ FILE: web/match_review.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for editing match results. package web import ( "encoding/json" "fmt" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "net/http" "strconv" ) type MatchReviewListItem struct { Id int ShortName string Time string RedTeams []int BlueTeams []int RedScore int BlueScore int ColorClass string IsComplete bool } // Shows the match review interface. func (web *Web) matchReviewHandler(w http.ResponseWriter, r *http.Request) { practiceMatches, err := web.buildMatchReviewList(model.Practice) if err != nil { handleWebErr(w, err) return } qualificationMatches, err := web.buildMatchReviewList(model.Qualification) if err != nil { handleWebErr(w, err) return } playoffMatches, err := web.buildMatchReviewList(model.Playoff) if err != nil { handleWebErr(w, err) return } template, err := web.parseFiles("templates/match_review.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } matchesByType := map[model.MatchType][]MatchReviewListItem{ model.Practice: practiceMatches, model.Qualification: qualificationMatches, model.Playoff: playoffMatches, } currentMatchType := web.arena.CurrentMatch.Type if currentMatchType == model.Test { currentMatchType = model.Practice } data := struct { *model.EventSettings MatchesByType map[model.MatchType][]MatchReviewListItem CurrentMatchType model.MatchType }{web.arena.EventSettings, matchesByType, currentMatchType} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Shows the page to edit the results for a match. func (web *Web) matchReviewEditGetHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } match, matchResult, isCurrent, err := web.getMatchResultFromRequest(r) if err != nil { handleWebErr(w, err) return } template, err := web.parseFiles("templates/edit_match_result.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } matchResultJson, err := json.Marshal(matchResult) if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings Match *model.Match MatchResultJson string IsCurrentMatch bool Rules map[int]*game.Rule }{web.arena.EventSettings, match, string(matchResultJson), isCurrent, game.GetAllRules()} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Updates the results for a match. func (web *Web) matchReviewEditPostHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } match, _, isCurrent, err := web.getMatchResultFromRequest(r) if err != nil { handleWebErr(w, err) return } var matchResult model.MatchResult if err = json.Unmarshal([]byte(r.PostFormValue("matchResultJson")), &matchResult); err != nil { handleWebErr(w, err) return } if matchResult.MatchId != match.Id { handleWebErr(w, fmt.Errorf("Error: match ID %d from result does not match expected", matchResult.MatchId)) return } if isCurrent { // If editing the current match, just save it back to memory. web.arena.RedRealtimeScore.CurrentScore = *matchResult.RedScore web.arena.BlueRealtimeScore.CurrentScore = *matchResult.BlueScore web.arena.RedRealtimeScore.Cards = matchResult.RedCards web.arena.BlueRealtimeScore.Cards = matchResult.BlueCards web.arena.RealtimeScoreNotifier.Notify() http.Redirect(w, r, "/match_play", 303) } else { err = web.commitMatchScore(match, &matchResult, true) if err != nil { handleWebErr(w, err) return } http.Redirect(w, r, "/match_review", 303) } } // Load the match result for the match referenced in the HTTP query string. func (web *Web) getMatchResultFromRequest(r *http.Request) (*model.Match, *model.MatchResult, bool, error) { // If editing the current match, get it from memory instead of the DB. if r.PathValue("matchId") == "current" { return web.arena.CurrentMatch, web.getCurrentMatchResult(), true, nil } matchId, _ := strconv.Atoi(r.PathValue("matchId")) match, err := web.arena.Database.GetMatchById(matchId) if err != nil { return nil, nil, false, err } if match == nil { return nil, nil, false, fmt.Errorf("Error: No such match: %d", matchId) } matchResult, err := web.arena.Database.GetMatchResultForMatch(matchId) if err != nil { return nil, nil, false, err } if matchResult == nil { // We're scoring a match that hasn't been played yet, but that's okay. matchResult = model.NewMatchResult() matchResult.MatchId = matchId matchResult.MatchType = match.Type } return match, matchResult, false, nil } // Constructs the list of matches to display in the match review interface. func (web *Web) buildMatchReviewList(matchType model.MatchType) ([]MatchReviewListItem, error) { matches, err := web.arena.Database.GetMatchesByType(matchType, false) if err != nil { return []MatchReviewListItem{}, err } matchReviewList := make([]MatchReviewListItem, len(matches)) for i, match := range matches { matchReviewList[i].Id = match.Id matchReviewList[i].ShortName = match.ShortName matchReviewList[i].Time = match.Time.Local().Format("Mon 1/02 03:04 PM") matchReviewList[i].RedTeams = []int{match.Red1, match.Red2, match.Red3} matchReviewList[i].BlueTeams = []int{match.Blue1, match.Blue2, match.Blue3} matchResult, err := web.arena.Database.GetMatchResultForMatch(match.Id) if err != nil { return []MatchReviewListItem{}, err } if matchResult != nil { matchReviewList[i].RedScore = matchResult.RedScoreSummary().Score matchReviewList[i].BlueScore = matchResult.BlueScoreSummary().Score } switch match.Status { case game.RedWonMatch: matchReviewList[i].ColorClass = "red" matchReviewList[i].IsComplete = true case game.BlueWonMatch: matchReviewList[i].ColorClass = "blue" matchReviewList[i].IsComplete = true case game.TieMatch: matchReviewList[i].ColorClass = "yellow" matchReviewList[i].IsComplete = true default: matchReviewList[i].ColorClass = "" matchReviewList[i].IsComplete = false } } return matchReviewList, nil } ================================================ FILE: web/match_review_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "fmt" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/tournament" "github.com/stretchr/testify/assert" "testing" "time" ) func TestMatchReview(t *testing.T) { web := setupTestWeb(t) match1 := model.Match{Type: model.Practice, ShortName: "P1", Status: game.RedWonMatch} match2 := model.Match{Type: model.Practice, ShortName: "P2"} match3 := model.Match{Type: model.Qualification, ShortName: "Q1", Status: game.BlueWonMatch} match4 := model.Match{Type: model.Playoff, ShortName: "SF1-1", Status: game.TieMatch} match5 := model.Match{Type: model.Playoff, ShortName: "SF1-2"} web.arena.Database.CreateMatch(&match1) web.arena.Database.CreateMatch(&match2) web.arena.Database.CreateMatch(&match3) web.arena.Database.CreateMatch(&match4) web.arena.Database.CreateMatch(&match5) // Check that all matches are listed on the page. recorder := web.getHttpResponse("/match_review") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), ">P1<") assert.Contains(t, recorder.Body.String(), ">P2<") assert.Contains(t, recorder.Body.String(), ">Q1<") assert.Contains(t, recorder.Body.String(), ">SF1-1<") assert.Contains(t, recorder.Body.String(), ">SF1-2<") } func TestMatchReviewEditExistingResult(t *testing.T) { web := setupTestWeb(t) tournament.CreateTestAlliances(web.arena.Database, 8) web.arena.EventSettings.PlayoffType = model.SingleEliminationPlayoff web.arena.EventSettings.NumPlayoffAlliances = 8 web.arena.CreatePlayoffTournament() web.arena.CreatePlayoffMatches(time.Now()) match, _ := web.arena.Database.GetMatchByTypeOrder(model.Playoff, 36) match.Status = game.RedWonMatch web.arena.Database.UpdateMatch(match) matchResult := model.BuildTestMatchResult(match.Id, 1) matchResult.MatchType = match.Type assert.Nil(t, web.arena.Database.CreateMatchResult(matchResult)) recorder := web.getHttpResponse("/match_review") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), ">QF4-3<") assert.Contains(t, recorder.Body.String(), ">94<") // The red score assert.Contains(t, recorder.Body.String(), ">186<") // The blue score // Check response for non-existent match. recorder = web.getHttpResponse(fmt.Sprintf("/match_review/%d/edit", 12345)) assert.Equal(t, 500, recorder.Code) assert.Contains(t, recorder.Body.String(), "No such match") recorder = web.getHttpResponse(fmt.Sprintf("/match_review/%d/edit", match.Id)) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), " Quarterfinal 4-3 ") // Update the score to something else. postBody := fmt.Sprintf( "matchResultJson={\"MatchId\":%d,\"RedScore\":{\"EndgameStatuses\":[0,2,1]},\"BlueScore\":{"+ "\"Reef\":{\"TroughFar\":21},\"Fouls\":[{\"TeamId\":973,\"RuleId\":4}]},"+ "\"RedCards\":{\"105\":\"yellow\"},\"BlueCards\":{}}", match.Id, ) recorder = web.postHttpResponse(fmt.Sprintf("/match_review/%d/edit", match.Id), postBody) assert.Equal(t, 303, recorder.Code, recorder.Body.String()) // Check for the updated scores back on the match list page. recorder = web.getHttpResponse("/match_review") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), ">QF4-3<") assert.Contains(t, recorder.Body.String(), ">10<") // The red score assert.Contains(t, recorder.Body.String(), ">42<") // The blue score } func TestMatchReviewCreateNewResult(t *testing.T) { web := setupTestWeb(t) tournament.CreateTestAlliances(web.arena.Database, 8) web.arena.EventSettings.PlayoffType = model.SingleEliminationPlayoff web.arena.EventSettings.NumPlayoffAlliances = 8 web.arena.CreatePlayoffTournament() web.arena.CreatePlayoffMatches(time.Now()) match, _ := web.arena.Database.GetMatchByTypeOrder(model.Playoff, 36) match.Status = game.RedWonMatch web.arena.Database.UpdateMatch(match) recorder := web.getHttpResponse("/match_review") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), ">QF4-3<") assert.NotContains(t, recorder.Body.String(), ">13<") // The red score assert.NotContains(t, recorder.Body.String(), ">10<") // The blue score recorder = web.getHttpResponse(fmt.Sprintf("/match_review/%d/edit", match.Id)) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), " Quarterfinal 4-3 ") // Update the score to something else. postBody := fmt.Sprintf( "matchResultJson={\"MatchId\":%d,\"RedScore\":{\"EndgameStatuses\":[0,2,1]},\"BlueScore\":{"+ "\"Reef\":{\"TroughFar\":21},\"Fouls\":[{\"TeamId\":973,\"RuleId\":4}]},"+ "\"RedCards\":{\"105\":\"yellow\"},\"BlueCards\":{}}", match.Id, ) recorder = web.postHttpResponse(fmt.Sprintf("/match_review/%d/edit", match.Id), postBody) assert.Equal(t, 303, recorder.Code, recorder.Body.String()) // Check for the updated scores back on the match list page. recorder = web.getHttpResponse("/match_review") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), ">QF4-3<") assert.Contains(t, recorder.Body.String(), ">10<") // The red score assert.Contains(t, recorder.Body.String(), ">42<") // The blue score } func TestMatchReviewEditCurrentMatch(t *testing.T) { web := setupTestWeb(t) match := model.Match{ Type: model.Qualification, LongName: "Qualification 352", ShortName: "Q352", Red1: 1001, Red2: 1002, Red3: 1003, Blue1: 1004, Blue2: 1005, Blue3: 1006, } web.arena.Database.CreateMatch(&match) web.arena.LoadMatch(&match) assert.Equal(t, match, *web.arena.CurrentMatch) recorder := web.getHttpResponse("/match_review/current/edit") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), " Qualification 352 ") postBody := fmt.Sprintf( "matchResultJson={\"MatchId\":%d,\"RedScore\":{\"EndgameStatuses\":[0,2,1]},\"BlueScore\":{"+ "\"Reef\":{\"TroughFar\":21},\"Fouls\":[{\"TeamId\":973,\"RuleId\":1}]},"+ "\"RedCards\":{\"105\":\"yellow\"},\"BlueCards\":{}}", match.Id, ) recorder = web.postHttpResponse("/match_review/current/edit", postBody) assert.Equal(t, 303, recorder.Code, recorder.Body.String()) assert.Equal(t, "/match_play", recorder.Header().Get("Location")) // Check that the persisted match is still unedited and that the realtime scores have been updated instead. match2, _ := web.arena.Database.GetMatchById(match.Id) assert.Equal(t, game.MatchScheduled, match2.Status) assert.Equal( t, [3]game.EndgameStatus{game.EndgameNone, game.EndgameShallowCage, game.EndgameParked}, web.arena.RedRealtimeScore.CurrentScore.EndgameStatuses, ) assert.Equal(t, 21, web.arena.BlueRealtimeScore.CurrentScore.Reef.TroughFar) assert.Equal(t, 0, len(web.arena.RedRealtimeScore.CurrentScore.Fouls)) assert.Equal(t, 1, len(web.arena.BlueRealtimeScore.CurrentScore.Fouls)) assert.Equal(t, 1, len(web.arena.RedRealtimeScore.Cards)) assert.Equal(t, 0, len(web.arena.BlueRealtimeScore.Cards)) } ================================================ FILE: web/placeholder_display.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for a placeholder display to be later configured by the server. package web import ( "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "net/http" ) // Shows a random ID to visually identify the display so that it can be configured on the server. func (web *Web) placeholderDisplayHandler(w http.ResponseWriter, r *http.Request) { if !web.enforceDisplayConfiguration(w, r, nil) { return } template, err := web.parseFiles("templates/placeholder_display.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings }{web.arena.EventSettings} err = template.ExecuteTemplate(w, "placeholder_display.html", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for sending configuration commands to the display. func (web *Web) placeholderDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) { display, err := web.registerDisplay(r) if err != nil { handleWebErr(w, err) return } defer web.arena.MarkDisplayDisconnected(display.DisplayConfiguration.Id) ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client. ws.HandleNotifiers(display.Notifier, web.arena.ReloadDisplaysNotifier) } ================================================ FILE: web/placeholder_display_test.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/field" "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" ) func TestPlaceholderDisplay(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/displays/audience") assert.Equal(t, 302, recorder.Code) assert.Contains(t, recorder.Header().Get("Location"), "displayId=100") recorder = web.getHttpResponse("/display?displayId=1") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Placeholder Display - Untitled Event - Cheesy Arena") } func TestPlaceholderDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/display/websocket?displayId=123&nickname=blop&a=b", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "displayConfiguration") if assert.Contains(t, web.arena.Displays, "123") { assert.Equal(t, "blop", web.arena.Displays["123"].DisplayConfiguration.Nickname) if assert.Equal(t, 1, len(web.arena.Displays["123"].DisplayConfiguration.Configuration)) { assert.Equal(t, "b", web.arena.Displays["123"].DisplayConfiguration.Configuration["a"]) } } // Reconfigure the display and verify that the new configuration is received. displayConfig := field.DisplayConfiguration{ Id: "123", Nickname: "Alliance", Type: field.AllianceStationDisplay, Configuration: map[string]string{"station": "B2"}, } web.arena.UpdateDisplay(displayConfig) readWebsocketType(t, ws, "displayConfiguration") } ================================================ FILE: web/queueing_display.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web handlers for queueing display. package web import ( "github.com/Team254/cheesy-arena/field" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "net/http" "time" ) const ( numNonPlayoffMatchesToShow = 5 numPlayoffMatchesToShow = 4 ) // Renders the queueing display that shows upcoming matches and timing information. func (web *Web) queueingDisplayHandler(w http.ResponseWriter, r *http.Request) { if !web.enforceDisplayConfiguration(w, r, nil) { return } template, err := web.parseFiles("templates/queueing_display.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings }{ web.arena.EventSettings, } err = template.ExecuteTemplate(w, "queueing_display.html", data) if err != nil { handleWebErr(w, err) return } } // Renders a partial template containing the list of matches. func (web *Web) queueingDisplayMatchLoadHandler(w http.ResponseWriter, r *http.Request) { matches, err := web.arena.Database.GetMatchesByType(web.arena.CurrentMatch.Type, false) if err != nil { handleWebErr(w, err) return } numMatchesToShow := numNonPlayoffMatchesToShow if web.arena.CurrentMatch.Type == model.Playoff { numMatchesToShow = numPlayoffMatchesToShow } var upcomingMatches []model.Match var redOffFieldTeamsByMatch, blueOffFieldTeamsByMatch [][]int if err != nil { handleWebErr(w, err) return } for i, match := range matches { if match.IsComplete() || match.TypeOrder < web.arena.CurrentMatch.TypeOrder { continue } upcomingMatches = append(upcomingMatches, match) redOffFieldTeams, blueOffFieldTeams, err := web.arena.Database.GetOffFieldTeamIds(&match) if err != nil { handleWebErr(w, err) return } redOffFieldTeamsByMatch = append(redOffFieldTeamsByMatch, redOffFieldTeams) blueOffFieldTeamsByMatch = append(blueOffFieldTeamsByMatch, blueOffFieldTeams) if len(upcomingMatches) == numMatchesToShow { break } // Don't include any more matches if there is a significant gap before the next one. if i+1 < len(matches) && matches[i+1].Time.Sub(match.Time) > field.MaxMatchGapMin*time.Minute { break } } template, err := web.parseFiles("templates/queueing_display_match_load.html") if err != nil { handleWebErr(w, err) return } data := struct { Matches []model.Match RedOffFieldTeams [][]int BlueOffFieldTeams [][]int }{ upcomingMatches, redOffFieldTeamsByMatch, blueOffFieldTeamsByMatch, } err = template.ExecuteTemplate(w, "queueing_display_match_load.html", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for the queueing display to receive updates. func (web *Web) queueingDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) { display, err := web.registerDisplay(r) if err != nil { handleWebErr(w, err) return } defer web.arena.MarkDisplayDisconnected(display.DisplayConfiguration.Id) ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client. ws.HandleNotifiers( display.Notifier, web.arena.MatchTimingNotifier, web.arena.MatchLoadNotifier, web.arena.MatchTimeNotifier, web.arena.EventStatusNotifier, web.arena.ReloadDisplaysNotifier, ) } ================================================ FILE: web/queueing_display_test.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" ) func TestQueueingDisplay(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/displays/queueing?displayId=1") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Queueing Display - Untitled Event - Cheesy Arena") } func TestQueueingDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/displays/queueing/websocket?displayId=1", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "displayConfiguration") readWebsocketType(t, ws, "matchTiming") readWebsocketType(t, ws, "matchLoad") readWebsocketType(t, ws, "matchTime") readWebsocketType(t, ws, "eventStatus") } ================================================ FILE: web/rankings_display.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web handlers for the rankings display. package web import ( "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "net/http" ) // Renders the display which shows scrolling rankings. func (web *Web) rankingsDisplayHandler(w http.ResponseWriter, r *http.Request) { if !web.enforceDisplayConfiguration(w, r, map[string]string{"scrollMsPerRow": "1000"}) { return } template, err := web.parseFiles("templates/rankings_display.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings }{web.arena.EventSettings} err = template.ExecuteTemplate(w, "rankings_display.html", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for the rankings display, used only to force reloads remotely. func (web *Web) rankingsDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) { display, err := web.registerDisplay(r) if err != nil { handleWebErr(w, err) return } defer web.arena.MarkDisplayDisconnected(display.DisplayConfiguration.Id) ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client. ws.HandleNotifiers(display.Notifier, web.arena.EventStatusNotifier, web.arena.ReloadDisplaysNotifier) } ================================================ FILE: web/rankings_display_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" ) func TestRankingsDisplay(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/displays/rankings?displayId=1&scrollMsPerRow=700") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Standings Display - Untitled Event - Cheesy Arena") } func TestRankingsDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/displays/rankings/websocket?displayId=1", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "displayConfiguration") readWebsocketType(t, ws, "eventStatus") } ================================================ FILE: web/referee_panel.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web handlers for the referee interface. package web import ( "fmt" "github.com/Team254/cheesy-arena/field" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "github.com/mitchellh/mapstructure" "io" "log" "net/http" "strconv" ) // Renders the referee interface for assigning fouls. func (web *Web) refereePanelHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } template, err := web.parseFiles("templates/referee_panel.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings }{web.arena.EventSettings} err = template.ExecuteTemplate(w, "base_no_navbar", data) if err != nil { handleWebErr(w, err) return } } // Renders a partial template for when the foul list is updated. func (web *Web) refereePanelFoulListHandler(w http.ResponseWriter, r *http.Request) { template, err := web.parseFiles("templates/referee_panel_foul_list.html") if err != nil { handleWebErr(w, err) return } data := struct { Match *model.Match RedFouls []game.Foul BlueFouls []game.Foul Rules map[int]*game.Rule }{ web.arena.CurrentMatch, web.arena.RedRealtimeScore.CurrentScore.Fouls, web.arena.BlueRealtimeScore.CurrentScore.Fouls, game.GetAllRules(), } err = template.ExecuteTemplate(w, "referee_panel_foul_list", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for the refereee interface client to send control commands and receive status updates. func (web *Web) refereePanelWebsocketHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client, in a separate goroutine. go ws.HandleNotifiers( web.arena.MatchLoadNotifier, web.arena.MatchTimeNotifier, web.arena.RealtimeScoreNotifier, web.arena.ScoringStatusNotifier, web.arena.ReloadDisplaysNotifier, ) // Loop, waiting for commands and responding to them, until the client closes the connection. for { messageType, data, err := ws.Read() if err != nil { if err == io.EOF { // Client has closed the connection; nothing to do here. return } log.Println(err) return } switch messageType { case "addFoul": args := struct { Alliance string IsMajor bool }{} err = mapstructure.Decode(data, &args) if err != nil { ws.WriteError(err.Error()) continue } // Add the foul to the correct alliance's list. foul := game.Foul{FoulId: web.arena.NextFoulId, IsMajor: args.IsMajor} web.arena.NextFoulId++ if args.Alliance == "red" { web.arena.RedRealtimeScore.CurrentScore.Fouls = append(web.arena.RedRealtimeScore.CurrentScore.Fouls, foul) } else { web.arena.BlueRealtimeScore.CurrentScore.Fouls = append(web.arena.BlueRealtimeScore.CurrentScore.Fouls, foul) } web.arena.RealtimeScoreNotifier.Notify() case "toggleFoulType", "updateFoulTeam", "updateFoulRule", "deleteFoul": args := struct { Alliance string Index int TeamId int RuleId int }{} err = mapstructure.Decode(data, &args) if err != nil { ws.WriteError(err.Error()) continue } // Find the foul in the correct alliance's list. var fouls *[]game.Foul if args.Alliance == "red" { fouls = &web.arena.RedRealtimeScore.CurrentScore.Fouls } else { fouls = &web.arena.BlueRealtimeScore.CurrentScore.Fouls } if args.Index >= 0 && args.Index < len(*fouls) { switch messageType { case "toggleFoulType": (*fouls)[args.Index].IsMajor = !(*fouls)[args.Index].IsMajor (*fouls)[args.Index].RuleId = 0 case "deleteFoul": *fouls = append((*fouls)[:args.Index], (*fouls)[args.Index+1:]...) case "updateFoulTeam": if (*fouls)[args.Index].TeamId == args.TeamId { (*fouls)[args.Index].TeamId = 0 } else { (*fouls)[args.Index].TeamId = args.TeamId } case "updateFoulRule": (*fouls)[args.Index].RuleId = args.RuleId } web.arena.RealtimeScoreNotifier.Notify() } case "card": args := struct { Alliance string TeamId int Card string }{} err = mapstructure.Decode(data, &args) if err != nil { ws.WriteError(err.Error()) continue } // Set the card in the correct alliance's score. var cards map[string]string if args.Alliance == "red" { cards = web.arena.RedRealtimeScore.Cards } else { cards = web.arena.BlueRealtimeScore.Cards } if web.arena.CurrentMatch.Type == model.Playoff { // Cards apply to the whole alliance in playoffs. if args.Alliance == "red" { cards[strconv.Itoa(web.arena.CurrentMatch.Red1)] = args.Card cards[strconv.Itoa(web.arena.CurrentMatch.Red2)] = args.Card cards[strconv.Itoa(web.arena.CurrentMatch.Red3)] = args.Card } else { cards[strconv.Itoa(web.arena.CurrentMatch.Blue1)] = args.Card cards[strconv.Itoa(web.arena.CurrentMatch.Blue2)] = args.Card cards[strconv.Itoa(web.arena.CurrentMatch.Blue3)] = args.Card } } else { cards[strconv.Itoa(args.TeamId)] = args.Card } web.arena.RealtimeScoreNotifier.Notify() case "signalVolunteers": if web.arena.MatchState != field.PostMatch { // Don't allow clearing the field until the match is over. continue } web.arena.FieldVolunteers = true web.arena.AllianceStationDisplayMode = "signalCount" web.arena.AllianceStationDisplayModeNotifier.Notify() case "signalReset": if web.arena.MatchState != field.PostMatch { // Don't allow clearing the field until the match is over. continue } web.arena.FieldVolunteers = false web.arena.FieldReset = true web.arena.AllianceStationDisplayMode = "fieldReset" web.arena.AllianceStationDisplayModeNotifier.Notify() case "commitMatch": if web.arena.MatchState != field.PostMatch { // Don't allow committing the fouls until the match is over. continue } web.arena.RedRealtimeScore.FoulsCommitted = true web.arena.BlueRealtimeScore.FoulsCommitted = true web.arena.FieldVolunteers = false web.arena.FieldReset = true web.arena.AllianceStationDisplayMode = "fieldReset" web.arena.AllianceStationDisplayModeNotifier.Notify() web.arena.ScoringStatusNotifier.Notify() default: ws.WriteError(fmt.Sprintf("Invalid message type '%s'.", messageType)) } } } ================================================ FILE: web/referee_panel_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/field" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" "time" ) func TestRefereePanel(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/panels/referee") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Referee Panel - Untitled Event - Cheesy Arena") } func TestRefereePanelWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/panels/referee/websocket", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "matchLoad") readWebsocketType(t, ws, "matchTime") readWebsocketType(t, ws, "realtimeScore") readWebsocketType(t, ws, "scoringStatus") // Test foul addition. addFoulData := struct { Alliance string IsMajor bool }{"red", true} ws.Write("addFoul", addFoulData) addFoulData.IsMajor = false ws.Write("addFoul", addFoulData) addFoulData.Alliance = "blue" ws.Write("addFoul", addFoulData) readWebsocketType(t, ws, "realtimeScore") readWebsocketType(t, ws, "realtimeScore") readWebsocketType(t, ws, "realtimeScore") if assert.Equal(t, 2, len(web.arena.RedRealtimeScore.CurrentScore.Fouls)) { assert.Equal(t, true, web.arena.RedRealtimeScore.CurrentScore.Fouls[0].IsMajor) assert.Equal(t, 0, web.arena.RedRealtimeScore.CurrentScore.Fouls[0].TeamId) assert.Equal(t, 0, web.arena.RedRealtimeScore.CurrentScore.Fouls[0].RuleId) assert.Equal(t, false, web.arena.RedRealtimeScore.CurrentScore.Fouls[1].IsMajor) assert.Equal(t, 0, web.arena.RedRealtimeScore.CurrentScore.Fouls[1].TeamId) assert.Equal(t, 0, web.arena.RedRealtimeScore.CurrentScore.Fouls[1].RuleId) } if assert.Equal(t, 1, len(web.arena.BlueRealtimeScore.CurrentScore.Fouls)) { assert.Equal(t, false, web.arena.BlueRealtimeScore.CurrentScore.Fouls[0].IsMajor) assert.Equal(t, 0, web.arena.BlueRealtimeScore.CurrentScore.Fouls[0].TeamId) assert.Equal(t, 0, web.arena.BlueRealtimeScore.CurrentScore.Fouls[0].RuleId) } assert.False(t, web.arena.RedRealtimeScore.FoulsCommitted) assert.False(t, web.arena.BlueRealtimeScore.FoulsCommitted) // Test foul mutation. modifyFoulData := struct { Alliance string Index int TeamId int RuleId int }{} modifyFoulData.Alliance = "red" modifyFoulData.Index = 1 ws.Write("toggleFoulType", modifyFoulData) readWebsocketType(t, ws, "realtimeScore") assert.Equal(t, true, web.arena.RedRealtimeScore.CurrentScore.Fouls[1].IsMajor) modifyFoulData.Index = 0 modifyFoulData.TeamId = 256 ws.Write("updateFoulTeam", modifyFoulData) readWebsocketType(t, ws, "realtimeScore") assert.Equal(t, 256, web.arena.RedRealtimeScore.CurrentScore.Fouls[0].TeamId) modifyFoulData.Alliance = "blue" modifyFoulData.RuleId = 3 ws.Write("updateFoulRule", modifyFoulData) readWebsocketType(t, ws, "realtimeScore") assert.Equal(t, 3, web.arena.BlueRealtimeScore.CurrentScore.Fouls[0].RuleId) // Test foul deletion. modifyFoulData.Alliance = "blue" modifyFoulData.Index = 0 ws.Write("deleteFoul", modifyFoulData) readWebsocketType(t, ws, "realtimeScore") assert.Equal(t, 0, len(web.arena.BlueRealtimeScore.CurrentScore.Fouls)) modifyFoulData.Alliance = "red" modifyFoulData.Index = -1 // Invalid index. ws.Write("deleteFoul", modifyFoulData) assert.Equal(t, 2, len(web.arena.RedRealtimeScore.CurrentScore.Fouls)) modifyFoulData.Alliance = "red" modifyFoulData.Index = 2 // Invalid index. ws.Write("deleteFoul", modifyFoulData) assert.Equal(t, 2, len(web.arena.RedRealtimeScore.CurrentScore.Fouls)) modifyFoulData.Index = 1 ws.Write("deleteFoul", modifyFoulData) readWebsocketType(t, ws, "realtimeScore") assert.Equal(t, 1, len(web.arena.RedRealtimeScore.CurrentScore.Fouls)) // Test card setting. cardData := struct { Alliance string TeamId int Card string }{"red", 256, "yellow"} ws.Write("card", cardData) readWebsocketType(t, ws, "realtimeScore") cardData.Alliance = "blue" cardData.TeamId = 1680 cardData.Card = "red" ws.Write("card", cardData) readWebsocketType(t, ws, "realtimeScore") time.Sleep(time.Millisecond * 10) // Allow some time for the command to be processed. if assert.Equal(t, 1, len(web.arena.RedRealtimeScore.Cards)) { assert.Equal(t, "yellow", web.arena.RedRealtimeScore.Cards["256"]) } if assert.Equal(t, 1, len(web.arena.BlueRealtimeScore.Cards)) { assert.Equal(t, "red", web.arena.BlueRealtimeScore.Cards["1680"]) } // Test card setting in a playoff match. web.arena.CurrentMatch.Type = model.Playoff web.arena.CurrentMatch.Red1 = 256 web.arena.CurrentMatch.Red2 = 257 web.arena.CurrentMatch.Red3 = 258 web.arena.CurrentMatch.Blue1 = 1679 web.arena.CurrentMatch.Blue2 = 1680 web.arena.CurrentMatch.Blue3 = 1681 cardData.Card = "yellow" ws.Write("card", cardData) readWebsocketType(t, ws, "realtimeScore") cardData.Alliance = "red" cardData.TeamId = 258 cardData.Card = "red" ws.Write("card", cardData) readWebsocketType(t, ws, "realtimeScore") time.Sleep(time.Millisecond * 10) // Allow some time for the command to be processed. if assert.Equal(t, 3, len(web.arena.RedRealtimeScore.Cards)) { assert.Equal(t, "red", web.arena.RedRealtimeScore.Cards["256"]) assert.Equal(t, "red", web.arena.RedRealtimeScore.Cards["257"]) assert.Equal(t, "red", web.arena.RedRealtimeScore.Cards["258"]) } if assert.Equal(t, 3, len(web.arena.BlueRealtimeScore.Cards)) { assert.Equal(t, "yellow", web.arena.BlueRealtimeScore.Cards["1679"]) assert.Equal(t, "yellow", web.arena.BlueRealtimeScore.Cards["1680"]) assert.Equal(t, "yellow", web.arena.BlueRealtimeScore.Cards["1681"]) } // Test field reset and match committing. web.arena.MatchState = field.PostMatch ws.Write("signalReset", nil) time.Sleep(time.Millisecond * 10) assert.Equal(t, "fieldReset", web.arena.AllianceStationDisplayMode) assert.False(t, web.arena.RedRealtimeScore.FoulsCommitted) assert.False(t, web.arena.BlueRealtimeScore.FoulsCommitted) web.arena.AllianceStationDisplayMode = "logo" ws.Write("commitMatch", nil) readWebsocketType(t, ws, "scoringStatus") assert.Equal(t, "fieldReset", web.arena.AllianceStationDisplayMode) assert.True(t, web.arena.RedRealtimeScore.FoulsCommitted) assert.True(t, web.arena.BlueRealtimeScore.FoulsCommitted) // Should refresh the page when the next match is loaded. web.arena.MatchLoadNotifier.Notify() readWebsocketType(t, ws, "matchLoad") } ================================================ FILE: web/reports.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web handlers for generating CSV and PDF reports. package web import ( "bytes" "errors" "fmt" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/playoff" "github.com/Team254/cheesy-arena/tournament" "github.com/jung-kurt/gofpdf" "math" "net/http" "sort" "strconv" "time" ) // Generates a CSV-formatted report of the qualification rankings. func (web *Web) rankingsCsvReportHandler(w http.ResponseWriter, r *http.Request) { rankings, err := web.arena.Database.GetAllRankings() if err != nil { handleWebErr(w, err) return } // Don't set the content type as "text/csv", as that will trigger an automatic download in the browser. w.Header().Set("Content-Type", "text/plain") template, err := web.parseFiles("templates/rankings.csv") if err != nil { handleWebErr(w, err) return } var buf bytes.Buffer err = template.ExecuteTemplate(&buf, "rankings.csv", rankings) if err != nil { handleWebErr(w, err) return } // Strip out carriage returns to ensure consistent behavior across platforms. cleaned := bytes.ReplaceAll(buf.Bytes(), []byte("\r"), []byte("")) w.Write(cleaned) } // Generates a PDF-formatted report of the qualification rankings. func (web *Web) rankingsPdfReportHandler(w http.ResponseWriter, r *http.Request) { rankings, err := web.arena.Database.GetAllRankings() if err != nil { handleWebErr(w, err) return } // The widths of the table columns in mm, stored here so that they can be referenced for each row. colWidths := map[string]float64{ "Rank": 13, "Team": 20, "RP": 20, "Coop": 20, "Match": 20, "Auto": 20, "Barge": 20, "W-L-T": 22, "DQ": 20, "Played": 20, } rowHeight := 6.5 pdf := gofpdf.New("P", "mm", "Letter", "font") pdf.AddPage() // Render table header row. pdf.SetFont("Arial", "B", 10) pdf.SetFillColor(220, 220, 220) pdf.CellFormat(195, rowHeight, "Team Standings - "+web.arena.EventSettings.Name, "", 1, "C", false, 0, "") pdf.CellFormat(colWidths["Rank"], rowHeight, "Rank", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Team"], rowHeight, "Team", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["RP"], rowHeight, "RP", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Coop"], rowHeight, "Coop", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Match"], rowHeight, "Match", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Auto"], rowHeight, "Auto", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Barge"], rowHeight, "Barge", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["W-L-T"], rowHeight, "W-L-T", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["DQ"], rowHeight, "DQ", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Played"], rowHeight, "Played", "1", 1, "C", true, 0, "") for _, ranking := range rankings { // Render ranking info row. pdf.SetFont("Arial", "B", 10) pdf.CellFormat(colWidths["Rank"], rowHeight, strconv.Itoa(ranking.Rank), "1", 0, "C", false, 0, "") pdf.SetFont("Arial", "", 10) pdf.CellFormat(colWidths["Team"], rowHeight, strconv.Itoa(ranking.TeamId), "1", 0, "C", false, 0, "") pdf.CellFormat(colWidths["RP"], rowHeight, strconv.Itoa(ranking.RankingPoints), "1", 0, "C", false, 0, "") pdf.CellFormat( colWidths["Coop"], rowHeight, strconv.Itoa(ranking.CoopertitionPoints), "1", 0, "C", false, 0, "", ) pdf.CellFormat(colWidths["Match"], rowHeight, strconv.Itoa(ranking.MatchPoints), "1", 0, "C", false, 0, "") pdf.CellFormat(colWidths["Auto"], rowHeight, strconv.Itoa(ranking.AutoPoints), "1", 0, "C", false, 0, "") pdf.CellFormat(colWidths["Barge"], rowHeight, strconv.Itoa(ranking.BargePoints), "1", 0, "C", false, 0, "") record := fmt.Sprintf("%d-%d-%d", ranking.Wins, ranking.Losses, ranking.Ties) pdf.CellFormat(colWidths["W-L-T"], rowHeight, record, "1", 0, "C", false, 0, "") pdf.CellFormat(colWidths["DQ"], rowHeight, strconv.Itoa(ranking.Disqualifications), "1", 0, "C", false, 0, "") pdf.CellFormat(colWidths["Played"], rowHeight, strconv.Itoa(ranking.Played), "1", 1, "C", false, 0, "") } addTimeGeneratedFooter(pdf) // Write out the PDF file as the HTTP response. w.Header().Set("Content-Type", "application/pdf") err = pdf.Output(w) if err != nil { handleWebErr(w, err) return } } // findBackupTeams takes the list of teams at the event and returns a slice of // teams with the teams that are already members of alliances removed. The // second returned value is the set of teams that were backups but have already // been called back to the field. // // At events that run 4 team alliances, this will show all of the 3rd picks and // remaining teams. func (web *Web) findBackupTeams(rankings game.Rankings) (game.Rankings, map[int]bool, error) { var pruned game.Rankings alliances, err := web.arena.Database.GetAllAlliances() if err != nil { return nil, nil, err } if len(alliances) == 0 { return nil, nil, errors.New("backup teams report is unavailable until alliances have been selected") } pickedTeams := make(map[int]bool) pickedBackups := make(map[int]bool) for _, alliance := range alliances { for i, allianceTeamId := range alliance.TeamIds { // Teams in third in an alliance are backups at events that use 3 team alliances. if i == 3 { pickedBackups[allianceTeamId] = true continue } pickedTeams[allianceTeamId] = true } } for _, team := range rankings { if !pickedTeams[team.TeamId] { pruned = append(pruned, team) } } return pruned, pickedBackups, nil } // Define a backupTeam type so that we can pass the additional "Called" field // to the CSV template parser. type backupTeam struct { Rank int Called bool TeamId int RankingPoints int } // Generates a CSV-formatted report of the qualification rankings. func (web *Web) backupTeamsCsvReportHandler(w http.ResponseWriter, r *http.Request) { rankings, err := web.arena.Database.GetAllRankings() if err != nil { handleWebErr(w, err) return } rankings, pickedBackups, err := web.findBackupTeams(rankings) if err != nil { handleWebErr(w, err) return } // Copy the list of teams that are eligible backups and annotate them with // whether or not they've been picked already. var backupTeams []backupTeam for _, r := range rankings { backupTeams = append( backupTeams, backupTeam{ Rank: r.Rank, Called: pickedBackups[r.TeamId], TeamId: r.TeamId, RankingPoints: r.RankingPoints, }, ) } // Don't set the content type as "text/csv", as that will trigger an automatic download in the browser. w.Header().Set("Content-Type", "text/plain") template, err := web.parseFiles("templates/backups.csv") if err != nil { handleWebErr(w, err) return } var buf bytes.Buffer err = template.ExecuteTemplate(&buf, "backups.csv", backupTeams) if err != nil { handleWebErr(w, err) return } // Strip out carriage returns to ensure consistent behavior across platforms. cleaned := bytes.ReplaceAll(buf.Bytes(), []byte("\r"), []byte("")) w.Write(cleaned) } // Generates a PDF-formatted report of the backup teams. func (web *Web) backupsPdfReportHandler(w http.ResponseWriter, r *http.Request) { rankings, err := web.arena.Database.GetAllRankings() if err != nil { handleWebErr(w, err) return } rankings, pickedBackups, err := web.findBackupTeams(rankings) _ = pickedBackups if err != nil { handleWebErr(w, err) return } // The widths of the table columns in mm, stored here so that they can be referenced for each row. colWidths := map[string]float64{"Rank": 13, "Called": 22, "Team": 22, "RP": 23} rowHeight := 6.5 pdf := gofpdf.New("P", "mm", "Letter", "font") pdf.AddPage() // Render table header row. pdf.SetFont("Arial", "B", 10) pdf.SetFillColor(220, 220, 220) pdf.CellFormat(195, rowHeight, "Backup Teams - "+web.arena.EventSettings.Name, "", 1, "C", false, 0, "") pdf.CellFormat(colWidths["Rank"], rowHeight, "Rank", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Called"], rowHeight, "Called?", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Team"], rowHeight, "Team", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["RP"], rowHeight, "RP", "1", 1, "C", true, 0, "") for _, ranking := range rankings { var picked string if pickedBackups[ranking.TeamId] { picked = "Y" } pdf.SetFont("Arial", "B", 10) pdf.CellFormat(colWidths["Rank"], rowHeight, strconv.Itoa(ranking.Rank), "1", 0, "C", false, 0, "") pdf.CellFormat(colWidths["Called"], rowHeight, picked, "1", 0, "C", false, 0, "") pdf.SetFont("Arial", "", 10) pdf.CellFormat(colWidths["Team"], rowHeight, strconv.Itoa(ranking.TeamId), "1", 0, "C", false, 0, "") pdf.CellFormat(colWidths["RP"], rowHeight, strconv.Itoa(ranking.RankingPoints), "1", 1, "C", false, 0, "") } addTimeGeneratedFooter(pdf) // Write out the PDF file as the HTTP response. w.Header().Set("Content-Type", "application/pdf") err = pdf.Output(w) if err != nil { handleWebErr(w, err) return } } // Coupon constants used in laying out the playoff alliance coupons. const ( // All units in mm cHPad = 5 cVPad = 5 cWidth = 95 cHeight = 60 cSideMargin = 10 cTopMargin = 10 cImgWidth = 25 cWOffset = 5 ) func (web *Web) couponsPdfReportHandler(w http.ResponseWriter, r *http.Request) { pdf := gofpdf.New("P", "mm", "Letter", "font") pdf.SetLineWidth(1) eventName := web.arena.EventSettings.Name numAlliances := web.arena.EventSettings.NumPlayoffAlliances for page := 0; page < (numAlliances+3)/4; page++ { heightAcc := cTopMargin pdf.AddPage() for i := page * 4; i < page*4+4 && i < numAlliances; i++ { pdf.SetFillColor(220, 220, 220) pdf.RoundedRect(cSideMargin, float64(heightAcc), cWidth, cHeight, 4, "1234", "D") couponX := cSideMargin + (cWidth * 0.5) couponY := float64(heightAcc) + (cHeight * 0.5) drawCoupon(pdf, eventName, couponX, couponY, i+1, "VAR Coupon") pdf.RoundedRect(cWidth+cHPad+cSideMargin, float64(heightAcc), cWidth, cHeight, 4, "1234", "D") couponX = cSideMargin + cWidth + cHPad + (cWidth * 0.5) couponY = float64(heightAcc) + (cHeight * 0.5) heightAcc += cHeight + cVPad drawCoupon(pdf, eventName, couponX, couponY, i+1, "Backup Coupon") } } // Write out the PDF file as the HTTP response. w.Header().Set("Content-Type", "application/pdf") if err := pdf.Output(w); err != nil { handleWebErr(w, err) return } } func drawCoupon(pdf gofpdf.Pdf, eventName string, x float64, y float64, allianceNumber int, text string) { pdf.SetTextColor(0, 0, 0) drawPdfLogo(pdf, x, y, cImgWidth) pdf.SetFont("Arial", "B", 24) drawCenteredText(pdf, text, x, y+10) pdf.SetFont("Arial", "", 14) drawCenteredText(pdf, fmt.Sprintf("Alliance: %v", allianceNumber), x, y+20) drawEventWatermark(pdf, x, y, eventName) } func drawEventWatermark(pdf gofpdf.Pdf, x float64, y float64, name string) { pdf.SetFont("Arial", "B", 11) pdf.SetTextColor(200, 200, 200) textWidth := pdf.GetStringWidth(name) // Left mark pdf.TransformBegin() pdf.TransformRotate(90, x, y) pdf.Text(x-textWidth/2, y-cWidth/2+cWOffset, name) pdf.TransformEnd() // Right mark pdf.TransformBegin() pdf.TransformRotate(270, x, y) pdf.Text(x-textWidth/2, y-cWidth/2+cWOffset, name) pdf.TransformEnd() } func drawCenteredText(pdf gofpdf.Pdf, txt string, x float64, y float64) { width := pdf.GetStringWidth(txt) pdf.Text(x-(width/2), y, txt) } func drawPdfLogo(pdf gofpdf.Pdf, x float64, y float64, width float64) { pdf.ImageOptions( "static/img/game-logo.png", x-(width/2), y-25, width, 0, false, gofpdf.ImageOptions{ImageType: "PNG", ReadDpi: true}, 0, "", ) } // Generates a CSV-formatted report of the match schedule. func (web *Web) scheduleCsvReportHandler(w http.ResponseWriter, r *http.Request) { matchType, err := model.MatchTypeFromString(r.PathValue("type")) if err != nil { handleWebErr(w, err) return } matches, err := web.arena.Database.GetMatchesByType(matchType, false) if err != nil { handleWebErr(w, err) return } // Don't set the content type as "text/csv", as that will trigger an automatic download in the browser. w.Header().Set("Content-Type", "text/plain") template, err := web.parseFiles("templates/schedule.csv") if err != nil { handleWebErr(w, err) return } var buf bytes.Buffer err = template.ExecuteTemplate(&buf, "schedule.csv", matches) if err != nil { handleWebErr(w, err) return } // Strip out carriage returns to ensure consistent behavior across platforms. cleaned := bytes.ReplaceAll(buf.Bytes(), []byte("\r"), []byte("")) w.Write(cleaned) } // Generates a PDF-formatted report of the match schedule. func (web *Web) schedulePdfReportHandler(w http.ResponseWriter, r *http.Request) { matchType, err := model.MatchTypeFromString(r.PathValue("type")) if err != nil { handleWebErr(w, err) return } matches, err := web.arena.Database.GetMatchesByType(matchType, false) if err != nil { handleWebErr(w, err) return } scheduledBreaks, err := web.arena.Database.GetScheduledBreaksByMatchType(matchType) if err != nil { handleWebErr(w, err) return } breakIndex := 0 teams, err := web.arena.Database.GetAllTeams() if err != nil { handleWebErr(w, err) return } matchesPerTeam := 0 if len(teams) > 0 { matchesPerTeam = len(matches) * tournament.TeamsPerMatch / len(teams) } // The widths of the table columns in mm, stored here so that they can be referenced for each row. colWidths := map[string]float64{"Time": 35, "Match": 40, "Team": 20} rowHeight := 6.5 pdf := gofpdf.New("P", "mm", "Letter", "font") pdf.AddPage() // Render table header row. pdf.SetFont("Arial", "B", 10) pdf.SetFillColor(220, 220, 220) pdf.CellFormat(195, rowHeight, "Match Schedule - "+web.arena.EventSettings.Name, "", 1, "C", false, 0, "") pdf.CellFormat(colWidths["Time"], rowHeight, "Time", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Match"], rowHeight, "Match", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Team"], rowHeight, "Red 1", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Team"], rowHeight, "Red 2", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Team"], rowHeight, "Red 3", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Team"], rowHeight, "Blue 1", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Team"], rowHeight, "Blue 2", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Team"], rowHeight, "Blue 3", "1", 1, "C", true, 0, "") pdf.SetFont("Arial", "", 10) for _, match := range matches { // Render break if there is one before this match. if breakIndex < len(scheduledBreaks) && scheduledBreaks[breakIndex].TypeOrderBefore == match.TypeOrder { scheduledBreak := scheduledBreaks[breakIndex] formattedTime := scheduledBreak.Time.Local().Format("Mon 1/02 03:04 PM") description := fmt.Sprintf("%s (%d minutes)", scheduledBreak.Description, scheduledBreak.DurationSec/60) pdf.CellFormat(colWidths["Time"], rowHeight, formattedTime, "1", 0, "C", false, 0, "") pdf.CellFormat(colWidths["Match"]+6*colWidths["Team"], rowHeight, description, "1", 1, "C", false, 0, "") breakIndex++ } height := rowHeight borderStr := "1" alignStr := "CM" surrogate := false if match.Red1IsSurrogate || match.Red2IsSurrogate || match.Red3IsSurrogate || match.Blue1IsSurrogate || match.Blue2IsSurrogate || match.Blue3IsSurrogate { // If the match contains surrogates, the row needs to be taller to fit some text beneath team numbers. height = 5.0 borderStr = "LTR" alignStr = "CB" surrogate = true } formatTeam := func(teamId int) string { if teamId == 0 { return "" } else { return strconv.Itoa(teamId) } } // Render match info row. pdf.CellFormat( colWidths["Time"], height, match.Time.Local().Format("Mon 1/02 03:04 PM"), borderStr, 0, alignStr, false, 0, "", ) pdf.CellFormat(colWidths["Match"], height, match.LongName, borderStr, 0, alignStr, false, 0, "") pdf.CellFormat(colWidths["Team"], height, formatTeam(match.Red1), borderStr, 0, alignStr, false, 0, "") pdf.CellFormat(colWidths["Team"], height, formatTeam(match.Red2), borderStr, 0, alignStr, false, 0, "") pdf.CellFormat(colWidths["Team"], height, formatTeam(match.Red3), borderStr, 0, alignStr, false, 0, "") pdf.CellFormat(colWidths["Team"], height, formatTeam(match.Blue1), borderStr, 0, alignStr, false, 0, "") pdf.CellFormat(colWidths["Team"], height, formatTeam(match.Blue2), borderStr, 0, alignStr, false, 0, "") pdf.CellFormat(colWidths["Team"], height, formatTeam(match.Blue3), borderStr, 1, alignStr, false, 0, "") if surrogate { // Render the text that indicates which teams are surrogates. height := 4.0 pdf.SetFont("Arial", "", 8) pdf.CellFormat(colWidths["Time"], height, "", "LBR", 0, "C", false, 0, "") pdf.CellFormat(colWidths["Match"], height, "", "LBR", 0, "C", false, 0, "") pdf.CellFormat( colWidths["Team"], height, surrogateText(match.Red1IsSurrogate), "LBR", 0, "CT", false, 0, "", ) pdf.CellFormat( colWidths["Team"], height, surrogateText(match.Red2IsSurrogate), "LBR", 0, "CT", false, 0, "", ) pdf.CellFormat( colWidths["Team"], height, surrogateText(match.Red3IsSurrogate), "LBR", 0, "CT", false, 0, "", ) pdf.CellFormat( colWidths["Team"], height, surrogateText(match.Blue1IsSurrogate), "LBR", 0, "CT", false, 0, "", ) pdf.CellFormat( colWidths["Team"], height, surrogateText(match.Blue2IsSurrogate), "LBR", 0, "CT", false, 0, "", ) pdf.CellFormat( colWidths["Team"], height, surrogateText(match.Blue3IsSurrogate), "LBR", 1, "CT", false, 0, "", ) pdf.SetFont("Arial", "", 10) } } if matchType != model.Playoff { // Render some summary info at the bottom. pdf.CellFormat(195, 10, fmt.Sprintf("Matches Per Team: %d", matchesPerTeam), "", 1, "L", false, 0, "") } addTimeGeneratedFooter(pdf) // Write out the PDF file as the HTTP response. w.Header().Set("Content-Type", "application/pdf") err = pdf.Output(w) if err != nil { handleWebErr(w, err) return } } // Generates a CSV-formatted report of the team list. func (web *Web) teamsCsvReportHandler(w http.ResponseWriter, r *http.Request) { teams, err := web.arena.Database.GetAllTeams() if err != nil { handleWebErr(w, err) return } // Don't set the content type as "text/csv", as that will trigger an automatic download in the browser. w.Header().Set("Content-Type", "text/plain") template, err := web.parseFiles("templates/teams.csv") if err != nil { handleWebErr(w, err) return } var buf bytes.Buffer err = template.ExecuteTemplate(&buf, "teams.csv", teams) if err != nil { handleWebErr(w, err) return } // Strip out carriage returns to ensure consistent behavior across platforms. cleaned := bytes.ReplaceAll(buf.Bytes(), []byte("\r"), []byte("")) w.Write(cleaned) } // Generates a PDF-formatted report of the team list. func (web *Web) teamsPdfReportHandler(w http.ResponseWriter, r *http.Request) { teams, err := web.arena.Database.GetAllTeams() if err != nil { handleWebErr(w, err) return } showHasConnected := r.URL.Query().Get("showHasConnected") == "true" // The widths of the table columns in mm, stored here so that they can be referenced for each row. var colWidths map[string]float64 if showHasConnected { colWidths = map[string]float64{"Id": 12, "Name": 70, "Location": 65, "RookieYear": 23, "HasConnected": 25} } else { colWidths = map[string]float64{"Id": 12, "Name": 80, "Location": 80, "RookieYear": 23} } rowHeight := 6.5 lineHeight := 5.0 pdf := gofpdf.New("P", "mm", "Letter", "font") pdf.AddPage() pdf.SetFont("Arial", "B", 10) pdf.SetFillColor(220, 220, 220) // Render table header row. pdf.CellFormat(195, rowHeight, "Team List - "+web.arena.EventSettings.Name, "", 1, "C", false, 0, "") pdf.CellFormat(colWidths["Id"], rowHeight, "Team", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Name"], rowHeight, "Name", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Location"], rowHeight, "Location", "1", 0, "C", true, 0, "") if showHasConnected { pdf.CellFormat(colWidths["RookieYear"], rowHeight, "Rookie Year", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["HasConnected"], rowHeight, "Connected?", "1", 1, "C", true, 0, "") } else { pdf.CellFormat(colWidths["RookieYear"], rowHeight, "Rookie Year", "1", 1, "C", true, 0, "") } pdf.SetFont("Arial", "", 10) for _, team := range teams { // Render team info row. numNicknameRows := len(pdf.SplitLines([]byte(team.Nickname), colWidths["Name"])) location := fmt.Sprintf("%s, %s, %s", team.City, team.StateProv, team.Country) numLocationRows := len(pdf.SplitLines([]byte(location), colWidths["Location"])) teamRowHeight := rowHeight numRows := int(math.Max(float64(numNicknameRows), float64(numLocationRows))) if numRows > 1 { teamRowHeight = lineHeight * float64(numRows) } pdf.CellFormat(colWidths["Id"], teamRowHeight, strconv.Itoa(team.Id), "1", 0, "L", false, 0, "") drawMultiLineCell(pdf, colWidths["Name"], teamRowHeight, lineHeight, team.Nickname, "L", numNicknameRows) drawMultiLineCell(pdf, colWidths["Location"], teamRowHeight, lineHeight, location, "L", numLocationRows) if showHasConnected { pdf.CellFormat( colWidths["RookieYear"], teamRowHeight, strconv.Itoa(team.RookieYear), "1", 0, "L", false, 0, "", ) var hasConnected string if team.HasConnected { hasConnected = "Yes" } pdf.CellFormat(colWidths["HasConnected"], teamRowHeight, hasConnected, "1", 1, "L", false, 0, "") } else { pdf.CellFormat( colWidths["RookieYear"], teamRowHeight, strconv.Itoa(team.RookieYear), "1", 1, "L", false, 0, "", ) } } addTimeGeneratedFooter(pdf) // Write out the PDF file as the HTTP response. w.Header().Set("Content-Type", "application/pdf") err = pdf.Output(w) if err != nil { handleWebErr(w, err) return } } // Generates a CSV-formatted report of the WPA keys, for import into the radio kiosk. func (web *Web) wpaKeysCsvReportHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } teams, err := web.arena.Database.GetAllTeams() if err != nil { handleWebErr(w, err) return } w.Header().Set("Content-Type", "text/csv") w.Header().Set("Content-Disposition", "attachment; filename=keys.csv") for _, team := range teams { _, err := w.Write([]byte(fmt.Sprintf("%d,%s\r\n", team.Id, team.WpaKey))) if err != nil { handleWebErr(w, err) return } } } // Generates a PDF-formatted report of the playoff alliances and the teams contained within. func (web *Web) alliancesPdfReportHandler(w http.ResponseWriter, r *http.Request) { alliances, err := web.arena.Database.GetAllAlliances() if err != nil { handleWebErr(w, err) return } // Traverse the playoff tournament to register the furthest level that the alliance has achieved. allianceStatuses := make(map[int]string) if web.arena.PlayoffTournament.IsComplete() { allianceStatuses[web.arena.PlayoffTournament.WinningAllianceId()] = "Winner" allianceStatuses[web.arena.PlayoffTournament.FinalistAllianceId()] = "Finalist" } err = web.arena.PlayoffTournament.Traverse( func(matchGroup playoff.MatchGroup) error { matchup, ok := matchGroup.(*playoff.Matchup) if !ok { return nil } if matchup.IsComplete() { if _, ok := allianceStatuses[matchup.LosingAllianceId()]; !ok && matchup.IsLosingAllianceEliminated() { allianceStatuses[matchup.LosingAllianceId()] = fmt.Sprintf("Eliminated in\n%s", matchup.Id()) } } else { if matchup.RedAllianceId > 0 { allianceStatuses[matchup.RedAllianceId] = fmt.Sprintf("Playing in\n%s", matchup.Id()) } if matchup.BlueAllianceId > 0 { allianceStatuses[matchup.BlueAllianceId] = fmt.Sprintf("Playing in\n%s", matchup.Id()) } } return nil }, ) if err != nil { handleWebErr(w, err) return } teams, err := web.arena.Database.GetAllTeams() if err != nil { handleWebErr(w, err) return } teamsMap := make(map[int]model.Team, len(teams)) for _, team := range teams { teamsMap[team.Id] = team } // The widths of the table columns in mm, stored here so that they can be referenced for each row. colWidths := map[string]float64{"Alliance": 23, "Id": 12, "Name": 80, "Location": 80} rowHeight := 6.5 lineHeight := 5.0 pdf := gofpdf.New("P", "mm", "Letter", "font") pdf.AddPage() pdf.SetFont("Arial", "B", 10) pdf.SetFillColor(220, 220, 220) // Render table header row. pdf.CellFormat(195, rowHeight, "Playoff Alliances - "+web.arena.EventSettings.Name, "", 1, "C", false, 0, "") pdf.CellFormat(colWidths["Alliance"], rowHeight, "Alliance", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Id"], rowHeight, "Team", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Name"], rowHeight, "Name", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Location"], rowHeight, "Location", "1", 1, "C", true, 0, "") pdf.SetFont("Arial", "", 10) startX := pdf.GetX() for _, alliance := range alliances { var allianceHeight float64 for _, teamId := range alliance.TeamIds { team := teamsMap[teamId] numNicknameRows := len(pdf.SplitLines([]byte(team.Nickname), colWidths["Name"])) location := fmt.Sprintf("%s, %s, %s", team.City, team.StateProv, team.Country) numLocationRows := len(pdf.SplitLines([]byte(location), colWidths["Location"])) teamRowHeight := rowHeight numRows := int(math.Max(float64(numNicknameRows), float64(numLocationRows))) if numRows > 1 { teamRowHeight = lineHeight * float64(numRows) } allianceHeight += teamRowHeight } numAllianceStatusesRows := len(pdf.SplitLines([]byte(allianceStatuses[alliance.Id]), colWidths["Alliance"])) drawMultiLineCell( pdf, colWidths["Alliance"], allianceHeight, lineHeight, fmt.Sprintf("Alliance %d\n%s", alliance.Id, allianceStatuses[alliance.Id]), "C", numAllianceStatusesRows+1, ) for _, teamId := range alliance.TeamIds { team := teamsMap[teamId] numNicknameRows := len(pdf.SplitLines([]byte(team.Nickname), colWidths["Name"])) location := fmt.Sprintf("%s, %s, %s", team.City, team.StateProv, team.Country) numLocationRows := len(pdf.SplitLines([]byte(location), colWidths["Location"])) teamRowHeight := rowHeight numRows := int(math.Max(float64(numNicknameRows), float64(numLocationRows))) if numRows > 1 { teamRowHeight = lineHeight * float64(numRows) } pdf.CellFormat(colWidths["Id"], teamRowHeight, strconv.Itoa(team.Id), "1", 0, "L", false, 0, "") drawMultiLineCell(pdf, colWidths["Name"], teamRowHeight, lineHeight, team.Nickname, "L", numNicknameRows) drawMultiLineCell(pdf, colWidths["Location"], teamRowHeight, lineHeight, location, "L", numLocationRows) pdf.SetXY(startX+colWidths["Alliance"], pdf.GetY()+teamRowHeight) } pdf.SetX(startX) } addTimeGeneratedFooter(pdf) // Write out the PDF file as the HTTP response. w.Header().Set("Content-Type", "application/pdf") err = pdf.Output(w) if err != nil { handleWebErr(w, err) return } } // Generates a PDF-formatted report of the playoff bracket, relying on the browser to convert SVG to PDF (since no // suitable Go library for doing so appears to exist). func (web *Web) bracketPdfReportHandler(w http.ResponseWriter, r *http.Request) { buffer := new(bytes.Buffer) err := web.generateBracketSvg(buffer, nil) if err != nil { handleWebErr(w, err) return } template, err := web.parseFiles("templates/bracket_report.html") if err != nil { handleWebErr(w, err) return } var buf bytes.Buffer err = template.ExecuteTemplate(&buf, "bracket_report.html", buffer.String()) if err != nil { handleWebErr(w, err) return } // Strip out carriage returns to ensure consistent behavior across platforms. cleaned := bytes.ReplaceAll(buf.Bytes(), []byte("\r"), []byte("")) w.Write(cleaned) } // Returns the text to display if a team is a surrogate. func surrogateText(isSurrogate bool) string { if isSurrogate { return "(surrogate)" } else { return "" } } // Generates a PDF-formatted report of the match cycle times. func (web *Web) cyclePdfReportHandler(w http.ResponseWriter, r *http.Request) { matchType, err := model.MatchTypeFromString(r.PathValue("type")) if err != nil { handleWebErr(w, err) return } matches, err := web.arena.Database.GetMatchesByType(matchType, false) if err != nil { handleWebErr(w, err) return } // The widths of the table columns in mm, stored here so that they can be referenced for each row. colWidths := map[string]float64{"Time": 30, "Time2": 22, "Match": 15, "Diff": 20} rowHeight := 6.5 pdf := gofpdf.New("P", "mm", "Letter", "font") pdf.AddPage() // Render table header row. pdf.SetFont("Arial", "B", 10) pdf.SetFillColor(220, 220, 220) pdf.CellFormat( 195, rowHeight, matchType.String()+" Cycle Time - "+web.arena.EventSettings.Name, "", 1, "C", false, 0, "", ) pdf.CellFormat(colWidths["Match"], rowHeight, "Match", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Time"], rowHeight, "Scheduled Time", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Time2"], rowHeight, "Ready", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Time2"], rowHeight, "Started", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Time2"], rowHeight, "Committed", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Diff"], rowHeight, "Cycle Time", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Diff"], rowHeight, "Delta Time", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Diff"], rowHeight, "MC Time", "1", 0, "C", true, 0, "") pdf.CellFormat(colWidths["Diff"], rowHeight, "Ref Time", "1", 1, "C", true, 0, "") pdf.SetFont("Arial", "", 10) var lastMatchStart time.Time for _, match := range matches { height := rowHeight borderStr := "1" alignStr := "CM" fieldReady := "" startedAt := "" scoreCommitted := "" refTime := "" mcTime := "" deltaTime := "" cycleTime := "" if !match.FieldReadyAt.IsZero() { fieldReady = match.FieldReadyAt.Local().Format("03:04 PM") } if !match.StartedAt.IsZero() { startedAt = match.StartedAt.Local().Format("03:04 PM") } if !match.ScoreCommittedAt.IsZero() { scoreCommitted = match.ScoreCommittedAt.Local().Format("03:04 PM") } if !match.StartedAt.IsZero() && !match.ScoreCommittedAt.IsZero() { matchEndTime := match.StartedAt.Add(game.GetDurationToTeleopEnd()) tempRefTime := match.ScoreCommittedAt.Sub(matchEndTime) refTime = tempRefTime.Truncate(time.Second).String() } if !match.StartedAt.IsZero() && !match.FieldReadyAt.IsZero() { tempMcTime := match.StartedAt.Sub(match.FieldReadyAt) mcTime = tempMcTime.Truncate(time.Second).String() } if !match.StartedAt.IsZero() { tempDeltaTime := match.StartedAt.Sub(match.Time) deltaTime = tempDeltaTime.Truncate(time.Second).String() } if !lastMatchStart.IsZero() && !match.StartedAt.IsZero() { tempCycleTime := match.StartedAt.Sub(lastMatchStart) cycleTime = tempCycleTime.Truncate(time.Second).String() } lastMatchStart = match.StartedAt // Render match info row. pdf.CellFormat(colWidths["Match"], height, match.ShortName, borderStr, 0, alignStr, false, 0, "") pdf.CellFormat( colWidths["Time"], height, match.Time.Local().Format("1/02 03:04 PM"), borderStr, 0, alignStr, false, 0, "", ) pdf.CellFormat(colWidths["Time2"], height, fieldReady, borderStr, 0, alignStr, false, 0, "") pdf.CellFormat(colWidths["Time2"], height, startedAt, borderStr, 0, alignStr, false, 0, "") pdf.CellFormat(colWidths["Time2"], height, scoreCommitted, borderStr, 0, alignStr, false, 0, "") pdf.CellFormat(colWidths["Diff"], height, cycleTime, borderStr, 0, alignStr, false, 0, "") pdf.CellFormat(colWidths["Diff"], height, deltaTime, borderStr, 0, alignStr, false, 0, "") pdf.CellFormat(colWidths["Diff"], height, mcTime, borderStr, 0, alignStr, false, 0, "") pdf.CellFormat(colWidths["Diff"], height, refTime, borderStr, 1, alignStr, false, 0, "") } addTimeGeneratedFooter(pdf) // Write out the PDF file as the HTTP response. w.Header().Set("Content-Type", "application/pdf") err = pdf.Output(w) if err != nil { handleWebErr(w, err) return } } // Generates a CSV-formatted report of the FTA notes. func (web *Web) ftaCsvReportHandler(w http.ResponseWriter, r *http.Request) { teams, err := web.arena.Database.GetAllTeams() if err != nil { handleWebErr(w, err) return } // Don't set the content type as "text/csv", as that will trigger an automatic download in the browser. w.Header().Set("Content-Type", "text/plain") template, err := web.parseFiles("templates/fta.csv") if err != nil { handleWebErr(w, err) return } var buf bytes.Buffer err = template.ExecuteTemplate(&buf, "fta.csv", teams) if err != nil { handleWebErr(w, err) return } // Strip out carriage returns to ensure consistent behavior across platforms. cleaned := bytes.ReplaceAll(buf.Bytes(), []byte("\r"), []byte("")) w.Write(cleaned) } // Generates a PDF-formatted report of the judging schedule. func (web *Web) judgingSchedulePdfReportHandler(w http.ResponseWriter, r *http.Request) { slots, err := web.arena.Database.GetAllJudgingSlots() if err != nil { handleWebErr(w, err) return } // The widths of the table columns in mm, stored here so that they can be referenced for each row. teamColWidths := map[string]float64{ "Team": 25, "Time": 50, "MatchInfo": 60, } rowHeight := 6.5 pdf := gofpdf.New("P", "mm", "Letter", "font") // Table 1: Sorted by team. pdf.AddPage() pdf.SetFont("Arial", "B", 10) pdf.SetFillColor(220, 220, 220) pdf.CellFormat(195, rowHeight, "Judging Schedule - "+web.arena.EventSettings.Name, "", 1, "C", false, 0, "") // Render team table header row. pdf.SetFont("Arial", "B", 10) pdf.SetFillColor(220, 220, 220) pdf.CellFormat(teamColWidths["Team"], rowHeight, "Team", "1", 0, "C", true, 0, "") pdf.CellFormat(teamColWidths["Time"], rowHeight, "Judging Time", "1", 0, "C", true, 0, "") pdf.CellFormat(teamColWidths["MatchInfo"], rowHeight, "Previous Match", "1", 0, "C", true, 0, "") pdf.CellFormat(teamColWidths["MatchInfo"], rowHeight, "Next Match", "1", 1, "C", true, 0, "") // Render team table body. pdf.SetFont("Arial", "", 10) for _, slot := range slots { var previousMatchInfo, nextMatchInfo string if slot.PreviousMatchNumber != 0 { previousMatchInfo = fmt.Sprintf( "Q%d at %s", slot.PreviousMatchNumber, slot.PreviousMatchTime.Format("03:04 PM"), ) } if slot.NextMatchNumber != 0 { nextMatchInfo = fmt.Sprintf("Q%d at %s", slot.NextMatchNumber, slot.NextMatchTime.Format("03:04 PM")) } pdf.CellFormat(teamColWidths["Team"], rowHeight, strconv.Itoa(slot.TeamId), "1", 0, "C", false, 0, "") pdf.CellFormat( teamColWidths["Time"], rowHeight, slot.Time.Local().Format("Mon 1/02 03:04 PM"), "1", 0, "C", false, 0, "", ) pdf.CellFormat(teamColWidths["MatchInfo"], rowHeight, previousMatchInfo, "1", 0, "C", false, 0, "") pdf.CellFormat(teamColWidths["MatchInfo"], rowHeight, nextMatchInfo, "1", 1, "C", false, 0, "") } addTimeGeneratedFooter(pdf) // Table 2: Sorted by judge team number and time. pdf.AddPage() pdf.SetFont("Arial", "B", 10) pdf.SetFillColor(220, 220, 220) pdf.CellFormat( 195, rowHeight, "Judging Schedule (Judges' View) - "+web.arena.EventSettings.Name, "", 1, "C", false, 0, "", ) // The widths of the table columns in mm, stored here so that they can be referenced for each row. judgeColWidths := map[string]float64{ "Judge": 25, "Team": 25, "Time": 45, "MatchInfo": 50, } // Render judge table header row. pdf.SetFont("Arial", "B", 10) pdf.SetFillColor(220, 220, 220) pdf.CellFormat(judgeColWidths["Judge"], rowHeight, "Judge Team", "1", 0, "C", true, 0, "") pdf.CellFormat(judgeColWidths["Team"], rowHeight, "Team", "1", 0, "C", true, 0, "") pdf.CellFormat(judgeColWidths["Time"], rowHeight, "Judging Time", "1", 0, "C", true, 0, "") pdf.CellFormat(judgeColWidths["MatchInfo"], rowHeight, "Previous Match", "1", 0, "C", true, 0, "") pdf.CellFormat(judgeColWidths["MatchInfo"], rowHeight, "Next Match", "1", 1, "C", true, 0, "") // Sort slots by judge team number and then by time. sort.Slice( slots, func(i, j int) bool { if slots[i].JudgeNumber == slots[j].JudgeNumber { return slots[i].Time.Before(slots[j].Time) } return slots[i].JudgeNumber < slots[j].JudgeNumber }, ) // Render judge table body. pdf.SetFont("Arial", "", 10) for _, slot := range slots { var previousMatchInfo, nextMatchInfo string if slot.PreviousMatchNumber != 0 { previousMatchInfo = fmt.Sprintf( "Q%d at %s", slot.PreviousMatchNumber, slot.PreviousMatchTime.Format("03:04 PM"), ) } if slot.NextMatchNumber != 0 { nextMatchInfo = fmt.Sprintf("Q%d at %s", slot.NextMatchNumber, slot.NextMatchTime.Format("03:04 PM")) } pdf.CellFormat(judgeColWidths["Judge"], rowHeight, strconv.Itoa(slot.JudgeNumber), "1", 0, "C", false, 0, "") pdf.CellFormat(judgeColWidths["Team"], rowHeight, strconv.Itoa(slot.TeamId), "1", 0, "C", false, 0, "") pdf.CellFormat( judgeColWidths["Time"], rowHeight, slot.Time.Local().Format("Mon 1/02 03:04 PM"), "1", 0, "C", false, 0, "", ) pdf.CellFormat(judgeColWidths["MatchInfo"], rowHeight, previousMatchInfo, "1", 0, "C", false, 0, "") pdf.CellFormat(judgeColWidths["MatchInfo"], rowHeight, nextMatchInfo, "1", 1, "C", false, 0, "") } addTimeGeneratedFooter(pdf) // Write out the PDF file as the HTTP response. w.Header().Set("Content-Type", "application/pdf") err = pdf.Output(w) if err != nil { handleWebErr(w, err) return } } func addTimeGeneratedFooter(pdf *gofpdf.Fpdf) { footerText := fmt.Sprintf( "Report generated at %s on %s", time.Now().Format("3:04:05 PM"), time.Now().Format("Mon Jan 2 2006"), ) pdf.SetFont("Arial", "", 10) pdf.CellFormat(0, 10, footerText, "", 1, "L", false, 0, "") } // Draws a bordered cell with multiple lines of text vertically centered. func drawMultiLineCell(pdf *gofpdf.Fpdf, width, height, lineHeight float64, text, align string, numTextLines int) { startX, startY := pdf.GetXY() pdf.Rect(startX, startY, width, height, "") gapY := (height - (lineHeight * float64(numTextLines))) / 2 pdf.SetXY(startX, startY+gapY) pdf.MultiCell(width, lineHeight, text, "", align, false) pdf.SetXY(startX+width, startY) } ================================================ FILE: web/reports_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/tournament" "github.com/stretchr/testify/assert" "testing" "time" ) func TestRankingsCsvReport(t *testing.T) { web := setupTestWeb(t) ranking1 := game.TestRanking2() ranking2 := game.TestRanking1() web.arena.Database.CreateRanking(ranking1) web.arena.Database.CreateRanking(ranking2) recorder := web.getHttpResponse("/reports/csv/rankings") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "text/plain", recorder.Header()["Content-Type"][0]) expectedBody := "Rank,TeamId,RankingPoints,CoopertitionPoints,MatchPoints,AutoPoints,BargePoints,Wins,Losses," + "Ties,Disqualifications,Played\n1,254,20,625,90,554,12,3,2,1,0,10\n2,1114,18,700,625,90,23,1,3,2,0,10\n\n" assert.Equal(t, expectedBody, recorder.Body.String()) } func TestRankingsPdfReport(t *testing.T) { web := setupTestWeb(t) ranking1 := game.TestRanking2() ranking2 := game.TestRanking1() web.arena.Database.CreateRanking(ranking1) web.arena.Database.CreateRanking(ranking2) // Can't really parse the PDF content and check it, so just check that what's sent back is a PDF. recorder := web.getHttpResponse("/reports/pdf/rankings") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "application/pdf", recorder.Header()["Content-Type"][0]) } func TestScheduleCsvReport(t *testing.T) { web := setupTestWeb(t) match1Time := time.Unix(0, 0) match1 := model.Match{ Type: model.Qualification, ShortName: "Q1", Time: match1Time, Red1: 1, Red2: 2, Red3: 3, Blue1: 4, Blue2: 5, Blue3: 6, Blue1IsSurrogate: true, Blue2IsSurrogate: true, Blue3IsSurrogate: true, } match2Time := time.Unix(600, 0) match2 := model.Match{ Type: model.Qualification, ShortName: "Q2", Time: match2Time, Red1: 7, Red2: 8, Red3: 9, Blue1: 10, Blue2: 11, Blue3: 12, Red1IsSurrogate: true, Red2IsSurrogate: true, Red3IsSurrogate: true, } match3 := model.Match{ Type: model.Practice, ShortName: "P1", Time: time.Now(), Red1: 6, Red2: 5, Red3: 4, Blue1: 3, Blue2: 2, Blue3: 1, } web.arena.Database.CreateMatch(&match1) web.arena.Database.CreateMatch(&match2) web.arena.Database.CreateMatch(&match3) recorder := web.getHttpResponse("/reports/csv/schedule/qualification") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "text/plain", recorder.Header()["Content-Type"][0]) expectedBody := "Match,Type,Time,Red1,Red1IsSurrogate,Red2,Red2IsSurrogate,Red3,Red3IsSurrogate,Blue1," + "Blue1IsSurrogate,Blue2,Blue2IsSurrogate,Blue3,Blue3IsSurrogate\nQ1,Qualification," + match1Time.String() + ",1,false,2,false,3,false,4,true,5,true,6,true\nQ2,Qualification," + match2Time.String() + ",7,true,8,true,9,true,10,false,11,false,12,false\n\n" assert.Equal(t, expectedBody, recorder.Body.String()) } func TestSchedulePdfReport(t *testing.T) { web := setupTestWeb(t) match := model.Match{ Type: model.Practice, ShortName: "P1", Time: time.Unix(0, 0), Red1: 1, Red2: 2, Red3: 3, Blue1: 4, Blue2: 5, Blue3: 6, Blue1IsSurrogate: true, Blue2IsSurrogate: true, Blue3IsSurrogate: true, } web.arena.Database.CreateMatch(&match) team := model.Team{ Id: 254, Name: "NASA", Nickname: "The Cheesy Poofs", City: "San Jose", StateProv: "CA", Country: "USA", RookieYear: 1999, RobotName: "Barrage", } web.arena.Database.CreateTeam(&team) // Can't really parse the PDF content and check it, so just check that what's sent back is a PDF. recorder := web.getHttpResponse("/reports/pdf/schedule/practice") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "application/pdf", recorder.Header()["Content-Type"][0]) } func TestTeamsCsvReport(t *testing.T) { web := setupTestWeb(t) team1 := model.Team{ Id: 254, Name: "NASA", Nickname: "The Cheesy Poofs", SchoolName: "Bellarmine College Preparatory", City: "San Jose", StateProv: "CA", Country: "USA", RookieYear: 1999, RobotName: "Barrage", } team2 := model.Team{ Id: 1114, Name: "GM", Nickname: "Simbotics", SchoolName: "Governor Simcoe Secondary School", City: "St. Catharines", StateProv: "ON", Country: "Canada", RookieYear: 2003, RobotName: "Simbot Evolution", } web.arena.Database.CreateTeam(&team1) web.arena.Database.CreateTeam(&team2) recorder := web.getHttpResponse("/reports/csv/teams") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "text/plain", recorder.Header()["Content-Type"][0]) expectedBody := "Number,Name,Nickname,SchoolName,City,StateProv,Country,RookieYear,RobotName,HasConnected\n254,\"NASA\"," + "\"The Cheesy Poofs\",\"Bellarmine College Preparatory\",\"San Jose\",\"CA\",\"USA\",1999,\"Barrage\",false\n1114,\"GM\",\"Simbotics\"," + "\"Governor Simcoe Secondary School\",\"St. Catharines\",\"ON\",\"Canada\",2003,\"Simbot Evolution\",false\n\n" assert.Equal(t, expectedBody, recorder.Body.String()) } func TestTeamsPdfReport(t *testing.T) { web := setupTestWeb(t) team := model.Team{ Id: 254, Name: "NASA", Nickname: "The Cheesy Poofs", City: "San Jose", StateProv: "CA", Country: "USA", RookieYear: 1999, RobotName: "Barrage", } web.arena.Database.CreateTeam(&team) // Can't really parse the PDF content and check it, so just check that what's sent back is a PDF. recorder := web.getHttpResponse("/reports/pdf/teams") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "application/pdf", recorder.Header()["Content-Type"][0]) } func TestWpaKeysCsvReport(t *testing.T) { web := setupTestWeb(t) team1 := model.Team{Id: 254, WpaKey: "12345678"} team2 := model.Team{Id: 1114, WpaKey: "9876543210"} web.arena.Database.CreateTeam(&team1) web.arena.Database.CreateTeam(&team2) recorder := web.getHttpResponse("/reports/csv/wpa_keys") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "text/csv", recorder.Header()["Content-Type"][0]) assert.Equal(t, "attachment; filename=keys.csv", recorder.Header()["Content-Disposition"][0]) assert.Equal(t, "254,12345678\r\n1114,9876543210\r\n", recorder.Body.String()) } func TestAlliancesPdfReport(t *testing.T) { web := setupTestWeb(t) tournament.CreateTestAlliances(web.arena.Database, 8) web.arena.CreatePlayoffTournament() // Can't really parse the PDF content and check it, so just check that what's sent back is a PDF. recorder := web.getHttpResponse("/reports/pdf/alliances") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "application/pdf", recorder.Header()["Content-Type"][0]) } func TestBracketPdfReport(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/reports/pdf/bracket") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "text/html; charset=utf-8", recorder.Header()["Content-Type"][0]) assert.Contains(t, recorder.Body.String(), "Finals") } func TestJudgingSchedulePdfReport(t *testing.T) { web := setupTestWeb(t) // Can't really parse the PDF content and check it, so just check that what's sent back is a PDF. recorder := web.getHttpResponse("/reports/pdf/judging_schedule") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "application/pdf", recorder.Header()["Content-Type"][0]) } ================================================ FILE: web/scoring_panel.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web handlers for scoring interface. package web import ( "fmt" "github.com/Team254/cheesy-arena/field" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "github.com/mitchellh/mapstructure" "io" "log" "net/http" "strings" ) type ScoringPosition struct { Title string Alliance string NearSide bool ScoresAuto bool ScoresEndgame bool ScoresBarge bool ScoresProcessor bool LeftmostReefPole int } var positionParameters = map[string]ScoringPosition{ "red_near": { Title: "Red Near", Alliance: "red", NearSide: true, ScoresAuto: true, ScoresEndgame: true, ScoresBarge: true, ScoresProcessor: false, LeftmostReefPole: 6, }, "red_far": { Title: "Red Far", Alliance: "red", NearSide: false, ScoresAuto: false, ScoresEndgame: false, ScoresBarge: false, ScoresProcessor: true, LeftmostReefPole: 0, }, "blue_near": { Title: "Blue Near", Alliance: "blue", NearSide: true, ScoresAuto: false, ScoresEndgame: false, ScoresBarge: false, ScoresProcessor: true, LeftmostReefPole: 0, }, "blue_far": { Title: "Blue Far", Alliance: "blue", NearSide: false, ScoresAuto: true, ScoresEndgame: true, ScoresBarge: true, ScoresProcessor: false, LeftmostReefPole: 6, }, } // Renders the scoring interface which enables input of scores in real-time. func (web *Web) scoringPanelHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } position := r.PathValue("position") parameters, ok := positionParameters[position] if !ok { handleWebErr(w, fmt.Errorf("Invalid position '%s'.", position)) return } template, err := web.parseFiles("templates/scoring_panel.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings PlcIsEnabled bool PositionName string Position ScoringPosition }{web.arena.EventSettings, web.arena.Plc.IsEnabled(), position, parameters} err = template.ExecuteTemplate(w, "base_no_navbar", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for the scoring interface client to send control commands and receive status updates. func (web *Web) scoringPanelWebsocketHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } position := r.PathValue("position") if position != "red_near" && position != "red_far" && position != "blue_near" && position != "blue_far" { handleWebErr(w, fmt.Errorf("Invalid position '%s'.", position)) return } alliance := strings.Split(position, "_")[0] var realtimeScore **field.RealtimeScore if alliance == "red" { realtimeScore = &web.arena.RedRealtimeScore } else { realtimeScore = &web.arena.BlueRealtimeScore } ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() web.arena.ScoringPanelRegistry.RegisterPanel(position, ws) web.arena.ScoringStatusNotifier.Notify() defer web.arena.ScoringStatusNotifier.Notify() defer web.arena.ScoringPanelRegistry.UnregisterPanel(position, ws) // Instruct panel to clear any local state in case this is a reconnect ws.Write("resetLocalState", nil) // Subscribe the websocket to the notifiers whose messages will be passed on to the client, in a separate goroutine. go ws.HandleNotifiers( web.arena.MatchLoadNotifier, web.arena.MatchTimeNotifier, web.arena.RealtimeScoreNotifier, web.arena.ReloadDisplaysNotifier, ) // Loop, waiting for commands and responding to them, until the client closes the connection. for { command, data, err := ws.Read() if err != nil { if err == io.EOF { // Client has closed the connection; nothing to do here. return } log.Println(err) return } score := &(*realtimeScore).CurrentScore scoreChanged := false if command == "commitMatch" { if web.arena.MatchState != field.PostMatch { // Don't allow committing the score until the match is over. ws.WriteError("Cannot commit score: Match is not over.") continue } web.arena.ScoringPanelRegistry.SetScoreCommitted(position, ws) web.arena.ScoringStatusNotifier.Notify() } else if command == "reef" { args := struct { ReefPosition int ReefLevel int Current bool Autonomous bool }{} err = mapstructure.Decode(data, &args) if err != nil { ws.WriteError(err.Error()) continue } if args.ReefPosition >= 1 && args.ReefPosition <= 12 && args.ReefLevel >= 2 && args.ReefLevel <= 4 { level := game.Level(args.ReefLevel - 2) reefIndex := args.ReefPosition - 1 if args.Current { score.Reef.Branches[level][reefIndex] = !score.Reef.Branches[level][reefIndex] scoreChanged = true } if args.Autonomous { score.Reef.AutoBranches[level][reefIndex] = !score.Reef.AutoBranches[level][reefIndex] scoreChanged = true } scoreChanged = true } } else if command == "endgame" { args := struct { TeamPosition int EndgameStatus int }{} err = mapstructure.Decode(data, &args) if err != nil { ws.WriteError(err.Error()) continue } if args.TeamPosition >= 1 && args.TeamPosition <= 3 && args.EndgameStatus >= 0 && args.EndgameStatus <= 3 { endgameStatus := game.EndgameStatus(args.EndgameStatus) score.EndgameStatuses[args.TeamPosition-1] = endgameStatus scoreChanged = true } } else if command == "leave" { args := struct { TeamPosition int }{} err = mapstructure.Decode(data, &args) if err != nil { ws.WriteError(err.Error()) continue } if args.TeamPosition >= 1 && args.TeamPosition <= 3 { score.LeaveStatuses[args.TeamPosition-1] = !score.LeaveStatuses[args.TeamPosition-1] scoreChanged = true } } else if command == "addFoul" { args := struct { Alliance string IsMajor bool }{} err = mapstructure.Decode(data, &args) if err != nil { ws.WriteError(err.Error()) continue } // Add the foul to the correct alliance's list. foul := game.Foul{FoulId: web.arena.NextFoulId, IsMajor: args.IsMajor} web.arena.NextFoulId++ if args.Alliance == "red" { web.arena.RedRealtimeScore.CurrentScore.Fouls = append(web.arena.RedRealtimeScore.CurrentScore.Fouls, foul) } else { web.arena.BlueRealtimeScore.CurrentScore.Fouls = append(web.arena.BlueRealtimeScore.CurrentScore.Fouls, foul) } web.arena.RealtimeScoreNotifier.Notify() } else { args := struct { Adjustment int Current bool Autonomous bool NearSide bool }{} err = mapstructure.Decode(data, &args) if err != nil { ws.WriteError(err.Error()) continue } switch command { case "barge": score.BargeAlgae = max(0, score.BargeAlgae+args.Adjustment) scoreChanged = true case "processor": score.ProcessorAlgae = max(0, score.ProcessorAlgae+args.Adjustment) scoreChanged = true case "trough": if args.Current { if args.NearSide { score.Reef.TroughNear = max(0, score.Reef.TroughNear+args.Adjustment) } else { score.Reef.TroughFar = max(0, score.Reef.TroughFar+args.Adjustment) } scoreChanged = true } if args.Autonomous { if args.NearSide { score.Reef.AutoTroughNear = max(0, score.Reef.AutoTroughNear+args.Adjustment) } else { score.Reef.AutoTroughFar = max(0, score.Reef.AutoTroughFar+args.Adjustment) } scoreChanged = true } } } if scoreChanged { web.arena.RealtimeScoreNotifier.Notify() } } } ================================================ FILE: web/scoring_panel_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/field" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" "time" ) func TestScoringPanel(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/panels/scoring/invalidposition") assert.Equal(t, 500, recorder.Code) assert.Contains(t, recorder.Body.String(), "Invalid position") recorder = web.getHttpResponse("/panels/scoring/red_near") assert.Equal(t, 200, recorder.Code) recorder = web.getHttpResponse("/panels/scoring/red_far") assert.Equal(t, 200, recorder.Code) recorder = web.getHttpResponse("/panels/scoring/blue_near") assert.Equal(t, 200, recorder.Code) recorder = web.getHttpResponse("/panels/scoring/blue_far") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Scoring Panel - Untitled Event - Cheesy Arena") } func TestScoringPanelWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() _, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/panels/scoring/blorpy/websocket", nil) assert.NotNil(t, err) redConn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/panels/scoring/red_near/websocket", nil) assert.Nil(t, err) defer redConn.Close() redWs := websocket.NewTestWebsocket(redConn) assert.Equal(t, 1, web.arena.ScoringPanelRegistry.GetNumPanels("red_near")) assert.Equal(t, 0, web.arena.ScoringPanelRegistry.GetNumPanels("blue_near")) blueConn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/panels/scoring/blue_near/websocket", nil) assert.Nil(t, err) defer blueConn.Close() blueWs := websocket.NewTestWebsocket(blueConn) assert.Equal(t, 1, web.arena.ScoringPanelRegistry.GetNumPanels("red_near")) assert.Equal(t, 1, web.arena.ScoringPanelRegistry.GetNumPanels("blue_near")) // Should get a few status updates right after connection. readWebsocketType(t, redWs, "resetLocalState") readWebsocketType(t, redWs, "matchLoad") readWebsocketType(t, redWs, "matchTime") readWebsocketType(t, redWs, "realtimeScore") readWebsocketType(t, blueWs, "resetLocalState") readWebsocketType(t, blueWs, "matchLoad") readWebsocketType(t, blueWs, "matchTime") readWebsocketType(t, blueWs, "realtimeScore") // Send some autonomous period scoring commands. assert.Equal(t, [3]bool{false, false, false}, web.arena.RedRealtimeScore.CurrentScore.LeaveStatuses) leaveData := struct { TeamPosition int }{} web.arena.MatchState = field.AutoPeriod leaveData.TeamPosition = 1 redWs.Write("leave", leaveData) leaveData.TeamPosition = 3 redWs.Write("leave", leaveData) for i := 0; i < 2; i++ { readWebsocketType(t, redWs, "realtimeScore") readWebsocketType(t, blueWs, "realtimeScore") } assert.Equal(t, [3]bool{true, false, true}, web.arena.RedRealtimeScore.CurrentScore.LeaveStatuses) redWs.Write("leave", leaveData) readWebsocketType(t, redWs, "realtimeScore") readWebsocketType(t, blueWs, "realtimeScore") assert.Equal(t, [3]bool{true, false, false}, web.arena.RedRealtimeScore.CurrentScore.LeaveStatuses) // Send some counter scoring commands counterData := struct { Adjustment int Current bool Autonomous bool NearSide bool }{} assert.Equal(t, 0, web.arena.RedRealtimeScore.CurrentScore.BargeAlgae) assert.Equal(t, 0, web.arena.BlueRealtimeScore.CurrentScore.BargeAlgae) assert.Equal(t, 0, web.arena.RedRealtimeScore.CurrentScore.ProcessorAlgae) assert.Equal(t, 0, web.arena.BlueRealtimeScore.CurrentScore.ProcessorAlgae) counterData.Adjustment = 1 blueWs.Write("barge", counterData) blueWs.Write("barge", counterData) blueWs.Write("barge", counterData) counterData.Adjustment = -1 blueWs.Write("barge", counterData) blueWs.Write("barge", counterData) counterData.Adjustment = 1 blueWs.Write("barge", counterData) for i := 0; i < 6; i++ { readWebsocketType(t, redWs, "realtimeScore") readWebsocketType(t, blueWs, "realtimeScore") } counterData.Adjustment = -1 redWs.Write("processor", counterData) redWs.Write("processor", counterData) counterData.Adjustment = 1 redWs.Write("processor", counterData) redWs.Write("processor", counterData) redWs.Write("processor", counterData) counterData.Adjustment = -1 redWs.Write("processor", counterData) for i := 0; i < 6; i++ { readWebsocketType(t, redWs, "realtimeScore") readWebsocketType(t, blueWs, "realtimeScore") } assert.Equal(t, 0, web.arena.RedRealtimeScore.CurrentScore.BargeAlgae) assert.Equal(t, 2, web.arena.BlueRealtimeScore.CurrentScore.BargeAlgae) assert.Equal(t, 2, web.arena.RedRealtimeScore.CurrentScore.ProcessorAlgae) assert.Equal(t, 0, web.arena.BlueRealtimeScore.CurrentScore.ProcessorAlgae) // Send some trough scoring commands assert.Equal(t, 0, web.arena.RedRealtimeScore.CurrentScore.Reef.TroughNear) assert.Equal(t, 0, web.arena.RedRealtimeScore.CurrentScore.Reef.TroughFar) assert.Equal(t, 0, web.arena.RedRealtimeScore.CurrentScore.Reef.AutoTroughNear) assert.Equal(t, 0, web.arena.RedRealtimeScore.CurrentScore.Reef.AutoTroughFar) counterData.Adjustment = 1 counterData.Current = true counterData.Autonomous = true counterData.NearSide = true redWs.Write("trough", counterData) redWs.Write("trough", counterData) redWs.Write("trough", counterData) counterData.Adjustment = -1 redWs.Write("trough", counterData) for i := 0; i < 4; i++ { readWebsocketType(t, redWs, "realtimeScore") readWebsocketType(t, blueWs, "realtimeScore") } counterData.Autonomous = false counterData.Adjustment = 1 redWs.Write("trough", counterData) redWs.Write("trough", counterData) counterData.Current = false counterData.Autonomous = true redWs.Write("trough", counterData) counterData.NearSide = false redWs.Write("trough", counterData) counterData.Adjustment = -1 counterData.Current = true counterData.Autonomous = false redWs.Write("trough", counterData) for i := 0; i < 5; i++ { readWebsocketType(t, redWs, "realtimeScore") readWebsocketType(t, blueWs, "realtimeScore") } assert.Equal(t, 4, web.arena.RedRealtimeScore.CurrentScore.Reef.TroughNear) assert.Equal(t, 0, web.arena.RedRealtimeScore.CurrentScore.Reef.TroughFar) assert.Equal(t, 3, web.arena.RedRealtimeScore.CurrentScore.Reef.AutoTroughNear) assert.Equal(t, 1, web.arena.RedRealtimeScore.CurrentScore.Reef.AutoTroughFar) // Send some reef scoring commands reefData := struct { ReefPosition int ReefLevel int Current bool Autonomous bool }{} // Auto phase reefData.ReefPosition = 3 reefData.ReefLevel = 2 reefData.Current = true reefData.Autonomous = true redWs.Write("reef", reefData) reefData.ReefPosition = 2 blueWs.Write("reef", reefData) reefData.ReefLevel = 4 blueWs.Write("reef", reefData) blueWs.Write("reef", reefData) // Teleop phase reefData.Autonomous = false reefData.ReefPosition = 12 reefData.ReefLevel = 3 redWs.Write("reef", reefData) // Auto adjustment reefData.Current = false reefData.Autonomous = true reefData.ReefPosition = 3 reefData.ReefLevel = 2 redWs.Write("reef", reefData) for i := 0; i < 6; i++ { readWebsocketType(t, redWs, "realtimeScore") readWebsocketType(t, blueWs, "realtimeScore") } // Red Auto assert.Equal( t, [12]bool{false, false, false, false, false, false, false, false, false, false, false, false}, web.arena.RedRealtimeScore.CurrentScore.Reef.AutoBranches[game.Level4], ) assert.Equal( t, [12]bool{false, false, false, false, false, false, false, false, false, false, false, false}, web.arena.RedRealtimeScore.CurrentScore.Reef.AutoBranches[game.Level3], ) assert.Equal( t, [12]bool{false, false, false, false, false, false, false, false, false, false, false, false}, web.arena.RedRealtimeScore.CurrentScore.Reef.AutoBranches[game.Level2], ) // Red Current assert.Equal( t, [12]bool{false, false, false, false, false, false, false, false, false, false, false, false}, web.arena.RedRealtimeScore.CurrentScore.Reef.Branches[game.Level4], ) assert.Equal( t, [12]bool{false, false, false, false, false, false, false, false, false, false, false, true}, web.arena.RedRealtimeScore.CurrentScore.Reef.Branches[game.Level3], ) assert.Equal( t, [12]bool{false, false, true, false, false, false, false, false, false, false, false, false}, web.arena.RedRealtimeScore.CurrentScore.Reef.Branches[game.Level2], ) // Blue Auto assert.Equal( t, [12]bool{false, false, false, false, false, false, false, false, false, false, false, false}, web.arena.BlueRealtimeScore.CurrentScore.Reef.AutoBranches[game.Level4], ) assert.Equal( t, [12]bool{false, false, false, false, false, false, false, false, false, false, false, false}, web.arena.BlueRealtimeScore.CurrentScore.Reef.AutoBranches[game.Level3], ) assert.Equal( t, [12]bool{false, true, false, false, false, false, false, false, false, false, false, false}, web.arena.BlueRealtimeScore.CurrentScore.Reef.AutoBranches[game.Level2], ) // Blue Current assert.Equal( t, [12]bool{false, false, false, false, false, false, false, false, false, false, false, false}, web.arena.BlueRealtimeScore.CurrentScore.Reef.Branches[game.Level4], ) assert.Equal( t, [12]bool{false, false, false, false, false, false, false, false, false, false, false, false}, web.arena.BlueRealtimeScore.CurrentScore.Reef.Branches[game.Level3], ) assert.Equal( t, [12]bool{false, true, false, false, false, false, false, false, false, false, false, false}, web.arena.BlueRealtimeScore.CurrentScore.Reef.Branches[game.Level2], ) // Send some endgame scoring commands endgameData := struct { TeamPosition int EndgameStatus int }{} assert.Equal( t, [3]game.EndgameStatus{game.EndgameNone, game.EndgameNone, game.EndgameNone}, web.arena.RedRealtimeScore.CurrentScore.EndgameStatuses, ) assert.Equal( t, [3]game.EndgameStatus{game.EndgameNone, game.EndgameNone, game.EndgameNone}, web.arena.BlueRealtimeScore.CurrentScore.EndgameStatuses, ) endgameData.TeamPosition = 1 endgameData.EndgameStatus = 2 redWs.Write("endgame", endgameData) endgameData.TeamPosition = 2 endgameData.EndgameStatus = 3 blueWs.Write("endgame", endgameData) endgameData.TeamPosition = 3 endgameData.EndgameStatus = 1 blueWs.Write("endgame", endgameData) endgameData.TeamPosition = 3 endgameData.EndgameStatus = 1 redWs.Write("endgame", endgameData) endgameData.TeamPosition = 3 endgameData.EndgameStatus = 3 redWs.Write("endgame", endgameData) endgameData.TeamPosition = 2 endgameData.EndgameStatus = 0 redWs.Write("endgame", endgameData) for i := 0; i < 6; i++ { readWebsocketType(t, redWs, "realtimeScore") readWebsocketType(t, blueWs, "realtimeScore") } assert.Equal( t, [3]game.EndgameStatus{game.EndgameShallowCage, game.EndgameNone, game.EndgameDeepCage}, web.arena.RedRealtimeScore.CurrentScore.EndgameStatuses, ) assert.Equal( t, [3]game.EndgameStatus{game.EndgameNone, game.EndgameDeepCage, game.EndgameParked}, web.arena.BlueRealtimeScore.CurrentScore.EndgameStatuses, ) // Test that some invalid commands do nothing and don't result in score change notifications. redWs.Write("invalid", nil) leaveData.TeamPosition = 0 redWs.Write("leave", leaveData) counterData.Current = false counterData.Autonomous = false redWs.Write("trough", counterData) endgameData.TeamPosition = 1 endgameData.EndgameStatus = 4 blueWs.Write("endgame", endgameData) // Test committing logic. redWs.Write("commitMatch", nil) readWebsocketType(t, redWs, "error") blueWs.Write("commitMatch", nil) readWebsocketType(t, blueWs, "error") assert.Equal(t, 0, web.arena.ScoringPanelRegistry.GetNumScoreCommitted("red_near")) assert.Equal(t, 0, web.arena.ScoringPanelRegistry.GetNumScoreCommitted("blue_near")) web.arena.MatchState = field.PostMatch redWs.Write("commitMatch", nil) blueWs.Write("commitMatch", nil) time.Sleep(time.Millisecond * 10) // Allow some time for the commands to be processed. assert.Equal(t, 1, web.arena.ScoringPanelRegistry.GetNumScoreCommitted("red_near")) assert.Equal(t, 1, web.arena.ScoringPanelRegistry.GetNumScoreCommitted("blue_near")) // Load another match to reset the results. web.arena.ResetMatch() web.arena.LoadTestMatch() readWebsocketType(t, redWs, "matchLoad") readWebsocketType(t, redWs, "realtimeScore") readWebsocketType(t, blueWs, "matchLoad") readWebsocketType(t, blueWs, "realtimeScore") assert.Equal(t, field.NewRealtimeScore(), web.arena.RedRealtimeScore) assert.Equal(t, field.NewRealtimeScore(), web.arena.BlueRealtimeScore) assert.Equal(t, 0, web.arena.ScoringPanelRegistry.GetNumScoreCommitted("red_near")) assert.Equal(t, 0, web.arena.ScoringPanelRegistry.GetNumScoreCommitted("blue_near")) } ================================================ FILE: web/setup_awards.go ================================================ // Copyright 2019 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for managing awards. package web import ( "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/tournament" "net/http" "strconv" ) // Shows the awards configuration page. func (web *Web) awardsGetHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } template, err := web.parseFiles("templates/setup_awards.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } awards, err := web.arena.Database.GetAllAwards() if err != nil { handleWebErr(w, err) return } teams, err := web.arena.Database.GetAllTeams() if err != nil { handleWebErr(w, err) return } // Append a blank award to the end that can be used to add a new one. awards = append(awards, model.Award{}) data := struct { *model.EventSettings Awards []model.Award Teams []model.Team }{web.arena.EventSettings, awards, teams} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Saves the new or modified awards to the database. func (web *Web) awardsPostHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } awardId, _ := strconv.Atoi(r.PostFormValue("id")) if r.PostFormValue("action") == "delete" { if err := tournament.DeleteAward(web.arena.Database, awardId); err != nil { handleWebErr(w, err) return } } else { teamId, _ := strconv.Atoi(r.PostFormValue("teamId")) award := model.Award{ Id: awardId, Type: model.JudgedAward, AwardName: r.PostFormValue("awardName"), TeamId: teamId, PersonName: r.PostFormValue("personName"), } if err := tournament.CreateOrUpdateAward(web.arena.Database, &award, true); err != nil { handleWebErr(w, err) return } } http.Redirect(w, r, "/setup/awards", 303) } ================================================ FILE: web/setup_awards_test.go ================================================ // Copyright 2019 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "testing" ) func TestSetupAwards(t *testing.T) { web := setupTestWeb(t) web.arena.Database.CreateAward(&model.Award{0, model.JudgedAward, "Spirit Award", 0, ""}) web.arena.Database.CreateAward(&model.Award{0, model.JudgedAward, "Saftey Award", 0, ""}) recorder := web.getHttpResponse("/setup/awards") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Spirit Award") assert.Contains(t, recorder.Body.String(), "Saftey Award") recorder = web.postHttpResponse("/setup/awards", "action=delete&id=1") assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/awards") assert.Equal(t, 200, recorder.Code) assert.NotContains(t, recorder.Body.String(), "Spirit Award") assert.Contains(t, recorder.Body.String(), "Saftey Award") recorder = web.postHttpResponse("/setup/awards", "awardId=2&awardName=Saftey+Award&personName=Englebert") assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/awards") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Englebert") } ================================================ FILE: web/setup_breaks.go ================================================ // Copyright 2024 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for managing scheduled breaks. package web import ( "github.com/Team254/cheesy-arena/model" "net/http" "strconv" ) // Shows the breaks configuration page. func (web *Web) breaksGetHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } template, err := web.parseFiles("templates/setup_breaks.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } breaks, err := web.arena.Database.GetScheduledBreaksByMatchType(model.Playoff) if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings ScheduledBreaks []model.ScheduledBreak }{web.arena.EventSettings, breaks} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Saves the modified breaks to the database. func (web *Web) breaksPostHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } scheduledBreakId, _ := strconv.Atoi(r.PostFormValue("id")) scheduledBreak, err := web.arena.Database.GetScheduledBreakById(scheduledBreakId) if err != nil { handleWebErr(w, err) return } scheduledBreak.Description = r.PostFormValue("description") if err = web.arena.Database.UpdateScheduledBreak(scheduledBreak); err != nil { handleWebErr(w, err) return } http.Redirect(w, r, "/setup/breaks", 303) } ================================================ FILE: web/setup_breaks_test.go ================================================ // Copyright 2024 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "testing" "time" ) func TestSetupBreaks(t *testing.T) { web := setupTestWeb(t) web.arena.Database.CreateScheduledBreak( &model.ScheduledBreak{0, model.Playoff, 4, time.Unix(500, 0).UTC(), 900, "Field Break 1"}, ) web.arena.Database.CreateScheduledBreak( &model.ScheduledBreak{0, model.Playoff, 4, time.Unix(500, 0).UTC(), 900, "Field Break 2"}, ) recorder := web.getHttpResponse("/setup/breaks") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Field Break 1") assert.Contains(t, recorder.Body.String(), "Field Break 2") recorder = web.postHttpResponse("/setup/breaks", "id=2&description=Award Break 3") assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/breaks") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Field Break 1") assert.NotContains(t, recorder.Body.String(), "Field Break 2") assert.Contains(t, recorder.Body.String(), "Award Break 3") } ================================================ FILE: web/setup_displays.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for configuring the field displays. package web import ( "fmt" "github.com/Team254/cheesy-arena/field" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "github.com/mitchellh/mapstructure" "io" "log" "net/http" ) // Shows the displays configuration page. func (web *Web) displaysGetHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } template, err := web.parseFiles("templates/setup_displays.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings DisplayTypeNames map[field.DisplayType]string }{web.arena.EventSettings, field.DisplayTypeNames} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for the display configuration page to send control commands and receive status updates. func (web *Web) displaysWebsocketHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client, in a separate goroutine. go ws.HandleNotifiers(web.arena.DisplayConfigurationNotifier) // Loop, waiting for commands and responding to them, until the client closes the connection. for { messageType, data, err := ws.Read() if err != nil { if err == io.EOF { // Client has closed the connection; nothing to do here. return } log.Println(err) return } switch messageType { case "configureDisplay": var displayConfig field.DisplayConfiguration err = mapstructure.Decode(data, &displayConfig) if err != nil { ws.WriteError(err.Error()) continue } if err = web.arena.UpdateDisplay(displayConfig); err != nil { ws.WriteError(err.Error()) continue } case "reloadDisplay": displayId, ok := data.(string) if !ok { ws.WriteError(fmt.Sprintf("Failed to parse '%s' message.", messageType)) continue } web.arena.ReloadDisplaysNotifier.NotifyWithMessage(displayId) case "reloadAllDisplays": web.arena.ReloadDisplaysNotifier.Notify() default: ws.WriteError(fmt.Sprintf("Invalid message type '%s'.", messageType)) } } } ================================================ FILE: web/setup_displays_test.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/field" "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/mitchellh/mapstructure" "github.com/stretchr/testify/assert" "testing" ) func TestSetupDisplays(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/setup/displays") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Display Configuration - Untitled Event - Cheesy Arena") } func TestSetupDisplaysWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/setup/displays/websocket", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. message := readDisplayConfiguration(t, ws) assert.Empty(t, message) // Connect a couple of displays and verify the resulting configuration messages. displayConn1, _, _ := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/display/websocket?displayId=1", nil) defer displayConn1.Close() displayWs1 := websocket.NewTestWebsocket(displayConn1) assert.Equal(t, "/display?displayId=1", readWebsocketType(t, displayWs1, "displayConfiguration")) readDisplayConfiguration(t, ws) displayConn2, _, _ := gorillawebsocket.DefaultDialer.Dial( wsUrl+"/displays/alliance_station/websocket?displayId=2&station=R2", nil, ) defer displayConn2.Close() message = readDisplayConfiguration(t, ws) if assert.Equal(t, 2, len(message)) { assert.Equal( t, field.DisplayConfiguration{"1", "", field.PlaceholderDisplay, map[string]string{}}, message["1"].DisplayConfiguration, ) assert.Equal(t, 1, message["1"].ConnectionCount) assert.Equal(t, "127.0.0.1", message["1"].IpAddress) assert.Equal( t, field.DisplayConfiguration{"2", "", field.AllianceStationDisplay, map[string]string{"station": "R2"}}, message["2"].DisplayConfiguration, ) assert.Equal(t, 1, message["2"].ConnectionCount) assert.Equal(t, "127.0.0.1", message["2"].IpAddress) } // Reconfigure a display and verify the result. displayConfig := field.DisplayConfiguration{ Id: "1", Nickname: "Audience Display", Type: field.AudienceDisplay, Configuration: map[string]string{"background": "#00f", "reversed": "true"}, } ws.Write("configureDisplay", displayConfig) message = readDisplayConfiguration(t, ws) assert.Equal(t, displayConfig, message["1"].DisplayConfiguration) assert.Equal( t, "/displays/audience?displayId=1&nickname=Audience+Display&background=%2300f&reversed=true", readWebsocketType(t, displayWs1, "displayConfiguration"), ) } func TestSetupDisplaysWebsocketReloadDisplays(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/setup/displays/websocket", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readDisplayConfiguration(t, ws) // Connect a display and verify the resulting configuration messages. displayConn, _, _ := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/display/websocket?displayId=1", nil) defer displayConn.Close() displayWs := websocket.NewTestWebsocket(displayConn) assert.Equal(t, "/display?displayId=1", readWebsocketType(t, displayWs, "displayConfiguration")) readDisplayConfiguration(t, ws) // Reset a display selectively and verify the resulting message. ws.Write("reloadDisplay", "1") assert.Equal(t, "1", readWebsocketType(t, displayWs, "reload")) ws.Write("reloadAllDisplays", nil) assert.Equal(t, nil, readWebsocketType(t, displayWs, "reload")) } func readDisplayConfiguration(t *testing.T, ws *websocket.Websocket) map[string]field.Display { message := readWebsocketType(t, ws, "displayConfiguration") var displayConfigurationMessage map[string]field.Display err := mapstructure.Decode(message, &displayConfigurationMessage) assert.Nil(t, err) return displayConfigurationMessage } ================================================ FILE: web/setup_field_testing.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for testing the field sounds, LEDs, and PLC. package web import ( "fmt" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "io" "log" "net/http" ) // Shows the Field Testing page. func (web *Web) fieldTestingGetHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } template, err := web.parseFiles("templates/setup_field_testing.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } plc := web.arena.Plc data := struct { *model.EventSettings MatchSounds []*game.MatchSound InputNames []string RegisterNames []string CoilNames []string }{web.arena.EventSettings, game.MatchSounds, plc.GetInputNames(), plc.GetRegisterNames(), plc.GetCoilNames()} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for sending realtime updates to the Field Testing page. func (web *Web) fieldTestingWebsocketHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client, in a separate goroutine. go ws.HandleNotifiers(web.arena.Plc.IoChangeNotifier()) // Loop, waiting for commands and responding to them, until the client closes the connection. for { messageType, data, err := ws.Read() if err != nil { if err == io.EOF { // Client has closed the connection; nothing to do here. return } log.Println(err) return } switch messageType { case "playSound": sound, ok := data.(string) if !ok { ws.WriteError(fmt.Sprintf("Failed to parse '%s' message.", messageType)) continue } web.arena.PlaySoundNotifier.NotifyWithMessage(sound) default: ws.WriteError(fmt.Sprintf("Invalid message type '%s'.", messageType)) continue } } } ================================================ FILE: web/setup_field_testing_test.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" ) func TestSetupFieldTesting(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/setup/field_testing") assert.Equal(t, 200, recorder.Code) for _, sound := range game.MatchSounds { assert.Contains(t, recorder.Body.String(), sound.Name) } } func TestSetupFieldTestingWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/setup/field_testing/websocket", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "plcIoChange") // Also create a websocket to the audience display to check that it plays the requested game sound. audienceConn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/displays/audience/websocket?displayId=1", nil) assert.Nil(t, err) defer audienceConn.Close() audienceWs := websocket.NewTestWebsocket(audienceConn) readWebsocketMultiple(t, audienceWs, 9) ws.Write("playSound", "resume") assert.Equal(t, "resume", readWebsocketType(t, audienceWs, "playSound")) } ================================================ FILE: web/setup_judging.go ================================================ // Copyright 2025 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for generating judging schedules. package web import ( "fmt" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/tournament" "net/http" "sort" "strconv" ) var judgingScheduleParams = tournament.JudgingScheduleParams{ NumJudges: 5, DurationMinutes: 15, PreviousSpacingMinutes: 20, NextSpacingMinutes: 20, } // Shows the judging schedule setup page. func (web *Web) judgingGetHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } web.renderJudging(w, r, "") } // Generates a judging schedule based on the parameters and saves it to the database. func (web *Web) judgingGeneratePostHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } numJudges, err := strconv.Atoi(r.PostFormValue("numJudges")) if err != nil || numJudges <= 0 { web.renderJudging(w, r, "Number of judges must be a positive integer.") return } durationMinutes, err := strconv.Atoi(r.PostFormValue("durationMinutes")) if err != nil || durationMinutes <= 0 { web.renderJudging(w, r, "Visit duration must be a positive integer.") return } previousSpacingMinutes, err := strconv.Atoi(r.PostFormValue("previousSpacingMinutes")) if err != nil || previousSpacingMinutes <= 0 { web.renderJudging(w, r, "Minimum spacing after previous match must be a positive integer.") return } nextSpacingMinutes, err := strconv.Atoi(r.PostFormValue("nextSpacingMinutes")) if err != nil || nextSpacingMinutes <= 0 { web.renderJudging(w, r, "Minimum spacing before next match must be a positive integer.") return } qualMatches, err := web.arena.Database.GetMatchesByType(model.Qualification, true) if err != nil { handleWebErr(w, err) return } if len(qualMatches) == 0 { web.renderJudging(w, r, "No qualification matches found. Generate the qualification schedule first.") return } slots, err := web.arena.Database.GetAllJudgingSlots() if err != nil { handleWebErr(w, err) return } if len(slots) > 0 { web.renderJudging(w, r, "Judging schedule already exists. Clear it first before generating a new one.") return } judgingScheduleParams.NumJudges = numJudges judgingScheduleParams.DurationMinutes = durationMinutes judgingScheduleParams.PreviousSpacingMinutes = previousSpacingMinutes judgingScheduleParams.NextSpacingMinutes = nextSpacingMinutes err = tournament.BuildJudgingSchedule(web.arena.Database, judgingScheduleParams) if err != nil { web.renderJudging(w, r, fmt.Sprintf("Error generating judging schedule: %s", err.Error())) return } http.Redirect(w, r, "/setup/judging", 303) } // Clears the judging schedule. func (web *Web) judgingClearPostHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } if err := web.arena.Database.TruncateJudgingSlots(); err != nil { handleWebErr(w, err) return } http.Redirect(w, r, "/setup/judging", 303) } // Renders the judging setup page with an optional error message. func (web *Web) renderJudging(w http.ResponseWriter, r *http.Request, errorMessage string) { slots, err := web.arena.Database.GetAllJudgingSlots() if err != nil { handleWebErr(w, err) return } // Sort slots by judge team and then by time for display. sort.Slice( slots, func(i, j int) bool { if slots[i].JudgeNumber != slots[j].JudgeNumber { return slots[i].JudgeNumber < slots[j].JudgeNumber } return slots[i].Time.Before(slots[j].Time) }, ) template, err := web.parseFiles("templates/setup_judging.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings JudgingScheduleParams tournament.JudgingScheduleParams JudgingSlots []model.JudgingSlot ErrorMessage string }{web.arena.EventSettings, judgingScheduleParams, slots, errorMessage} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } ================================================ FILE: web/setup_judging_test.go ================================================ // Copyright 2025 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "net/url" "testing" "time" ) func TestSetupJudging(t *testing.T) { web := setupTestWeb(t) // Check that the page renders. recorder := web.getHttpResponse("/setup/judging") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Judge Scheduling") // Generate teams and matches to test against. assert.Nil(t, web.arena.Database.CreateTeam(&model.Team{Id: 1})) assert.Nil(t, web.arena.Database.CreateTeam(&model.Team{Id: 2})) assert.Nil(t, web.arena.Database.CreateTeam(&model.Team{Id: 3})) assert.Nil(t, web.arena.Database.CreateTeam(&model.Team{Id: 4})) assert.Nil(t, web.arena.Database.CreateTeam(&model.Team{Id: 5})) assert.Nil(t, web.arena.Database.CreateTeam(&model.Team{Id: 6})) match := model.Match{ Type: model.Qualification, TypeOrder: 1, Time: time.Now().Add(1 * time.Hour), Red1: 1, Red2: 2, Red3: 3, Blue1: 4, Blue2: 5, Blue3: 6, } assert.Nil(t, web.arena.Database.CreateMatch(&match)) match = model.Match{ Type: model.Qualification, TypeOrder: 2, Time: time.Now().Add(2 * time.Hour), Red1: 6, Red2: 5, Red3: 4, Blue1: 3, Blue2: 2, Blue3: 1, } assert.Nil(t, web.arena.Database.CreateMatch(&match)) // Generate a judging schedule with valid parameters. params := url.Values{} params.Set("numJudges", "3") params.Set("durationMinutes", "10") params.Set("previousSpacingMinutes", "15") params.Set("nextSpacingMinutes", "15") recorder = web.postHttpResponse("/setup/judging/generate", params.Encode()) assert.Equal(t, 303, recorder.Code) // Verify that judging slots were created. slots, err := web.arena.Database.GetAllJudgingSlots() assert.Nil(t, err) assert.NotEmpty(t, slots) // Try to generate another judging schedule when one already exists. recorder = web.postHttpResponse("/setup/judging/generate", params.Encode()) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "already exists") // Clear the judging schedule. recorder = web.postHttpResponse("/setup/judging/clear", "") assert.Equal(t, 303, recorder.Code) // Verify that judging slots were cleared. slots, err = web.arena.Database.GetAllJudgingSlots() assert.Nil(t, err) assert.Empty(t, slots) // Test with invalid parameters. params = url.Values{} params.Set("numJudges", "0") params.Set("durationMinutes", "10") params.Set("previousSpacingMinutes", "15") params.Set("nextSpacingMinutes", "15") recorder = web.postHttpResponse("/setup/judging/generate", params.Encode()) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Number of judges must be a positive integer") params.Set("numJudges", "3") params.Set("durationMinutes", "invalid") recorder = web.postHttpResponse("/setup/judging/generate", params.Encode()) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Visit duration must be a positive integer") params.Set("durationMinutes", "10") params.Set("previousSpacingMinutes", "-5") recorder = web.postHttpResponse("/setup/judging/generate", params.Encode()) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Minimum spacing after previous match must be a positive integer") params.Set("previousSpacingMinutes", "15") params.Set("nextSpacingMinutes", "0") recorder = web.postHttpResponse("/setup/judging/generate", params.Encode()) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Minimum spacing before next match must be a positive integer") // Delete all qualification matches and verify error. assert.Nil(t, web.arena.Database.TruncateMatches()) params.Set("nextSpacingMinutes", "15") recorder = web.postHttpResponse("/setup/judging/generate", params.Encode()) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "No qualification matches found") } ================================================ FILE: web/setup_lower_thirds.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for managing lower thirds. package web import ( "fmt" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "github.com/mitchellh/mapstructure" "io" "log" "net/http" ) // Shows the lower third configuration page. func (web *Web) lowerThirdsGetHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } template, err := web.parseFiles( "templates/setup_lower_thirds.html", "templates/audience_display_radio_buttons.html", "templates/base.html", ) if err != nil { handleWebErr(w, err) return } lowerThirds, err := web.arena.Database.GetAllLowerThirds() if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings LowerThirds []model.LowerThird }{web.arena.EventSettings, lowerThirds} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for the lower thirds client to send control commands. func (web *Web) lowerThirdsWebsocketHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client, in a separate goroutine. go ws.HandleNotifiers( web.arena.AudienceDisplayModeNotifier, ) // Loop, waiting for commands and responding to them, until the client closes the connection. for { messageType, data, err := ws.Read() if err != nil { if err == io.EOF { // Client has closed the connection; nothing to do here. return } log.Println(err) return } switch messageType { case "saveLowerThird": var lowerThird model.LowerThird err = mapstructure.Decode(data, &lowerThird) if err != nil { ws.WriteError(err.Error()) continue } web.saveLowerThird(&lowerThird) case "deleteLowerThird": var lowerThird model.LowerThird err = mapstructure.Decode(data, &lowerThird) if err != nil { ws.WriteError(err.Error()) continue } err = web.arena.Database.DeleteLowerThird(lowerThird.Id) if err != nil { ws.WriteError(err.Error()) continue } case "showLowerThird": var lowerThird model.LowerThird err = mapstructure.Decode(data, &lowerThird) if err != nil { ws.WriteError(err.Error()) continue } web.saveLowerThird(&lowerThird) web.arena.LowerThird = &lowerThird web.arena.ShowLowerThird = true web.arena.LowerThirdNotifier.Notify() continue case "hideLowerThird": var lowerThird model.LowerThird err = mapstructure.Decode(data, &lowerThird) if err != nil { ws.WriteError(err.Error()) continue } web.saveLowerThird(&lowerThird) web.arena.ShowLowerThird = false web.arena.LowerThirdNotifier.Notify() continue case "reorderLowerThird": args := struct { Id int MoveUp bool }{} err = mapstructure.Decode(data, &args) if err != nil { ws.WriteError(err.Error()) continue } err = web.reorderLowerThird(args.Id, args.MoveUp) if err != nil { ws.WriteError(err.Error()) continue } case "setAudienceDisplay": mode, ok := data.(string) if !ok { ws.WriteError(fmt.Sprintf("Failed to parse '%s' message.", messageType)) continue } web.arena.SetAudienceDisplayMode(mode) continue default: ws.WriteError(fmt.Sprintf("Invalid message type '%s'.", messageType)) continue } // Force a reload of the client to render the updated lower thirds list. err = ws.WriteNotifier(web.arena.ReloadDisplaysNotifier) if err != nil { log.Println(err) return } } } func (web *Web) saveLowerThird(lowerThird *model.LowerThird) error { oldLowerThird, err := web.arena.Database.GetLowerThirdById(lowerThird.Id) if err != nil { return err } // Create or update lower third. if oldLowerThird == nil { lowerThird.DisplayOrder = web.arena.Database.GetNextLowerThirdDisplayOrder() err = web.arena.Database.CreateLowerThird(lowerThird) } else { oldLowerThird.TopText = lowerThird.TopText oldLowerThird.BottomText = lowerThird.BottomText err = web.arena.Database.UpdateLowerThird(oldLowerThird) } if err != nil { return err } return nil } // Swaps the lower third having the given ID with the one immediately above or below it. func (web *Web) reorderLowerThird(id int, moveUp bool) error { lowerThird, err := web.arena.Database.GetLowerThirdById(id) if err != nil { return err } // Get the lower third to swap positions with. lowerThirds, err := web.arena.Database.GetAllLowerThirds() if err != nil { return err } var lowerThirdIndex int for i, third := range lowerThirds { if third.Id == lowerThird.Id { lowerThirdIndex = i break } } if moveUp { lowerThirdIndex-- } else { lowerThirdIndex++ } if lowerThirdIndex < 0 || lowerThirdIndex == len(lowerThirds) { // The one to move is already at the limit; return an error to prevent a page reload. return fmt.Errorf("Already at the limit.") } adjacentLowerThird := &lowerThirds[lowerThirdIndex] if err != nil { return err } // Swap their display orders and save. lowerThird.DisplayOrder, adjacentLowerThird.DisplayOrder = adjacentLowerThird.DisplayOrder, lowerThird.DisplayOrder err = web.arena.Database.UpdateLowerThird(lowerThird) if err != nil { return err } err = web.arena.Database.UpdateLowerThird(adjacentLowerThird) if err != nil { return err } return nil } ================================================ FILE: web/setup_lower_thirds_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" "time" ) func TestSetupLowerThirds(t *testing.T) { web := setupTestWeb(t) web.arena.Database.CreateLowerThird(&model.LowerThird{0, "Top Text 1", "Bottom Text 1", 0, 0}) web.arena.Database.CreateLowerThird(&model.LowerThird{0, "Top Text 2", "Bottom Text 2", 1, 0}) web.arena.Database.CreateLowerThird(&model.LowerThird{0, "Top Text 3", "Bottom Text 3", 2, 0}) recorder := web.getHttpResponse("/setup/lower_thirds") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Top Text 1") assert.Contains(t, recorder.Body.String(), "Bottom Text 2") server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/setup/lower_thirds/websocket", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) ws.Write("saveLowerThird", model.LowerThird{1, "Top Text 4", "Bottom Text 1", 0, 0}) time.Sleep(time.Millisecond * 10) // Allow some time for the command to be processed. lowerThird, _ := web.arena.Database.GetLowerThirdById(1) assert.Equal(t, "Top Text 4", lowerThird.TopText) ws.Write("deleteLowerThird", model.LowerThird{1, "Top Text 4", "Bottom Text 1", 0, 0}) time.Sleep(time.Millisecond * 10) lowerThird, _ = web.arena.Database.GetLowerThirdById(1) assert.Nil(t, lowerThird) assert.Equal(t, "blank", web.arena.AudienceDisplayMode) ws.Write("showLowerThird", model.LowerThird{2, "Top Text 5", "Bottom Text 1", 0, 0}) time.Sleep(time.Millisecond * 10) lowerThird, _ = web.arena.Database.GetLowerThirdById(2) assert.Equal(t, "Top Text 5", lowerThird.TopText) assert.Equal(t, true, web.arena.ShowLowerThird) ws.Write("hideLowerThird", model.LowerThird{2, "Top Text 6", "Bottom Text 1", 0, 0}) time.Sleep(time.Millisecond * 10) lowerThird, _ = web.arena.Database.GetLowerThirdById(2) assert.Equal(t, "Top Text 6", lowerThird.TopText) assert.Equal(t, false, web.arena.ShowLowerThird) ws.Write("reorderLowerThird", map[string]any{"Id": 2, "moveUp": false}) time.Sleep(time.Millisecond * 100) lowerThirds, _ := web.arena.Database.GetAllLowerThirds() assert.Equal(t, 3, lowerThirds[0].Id) assert.Equal(t, 2, lowerThirds[1].Id) } ================================================ FILE: web/setup_schedule.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for generating practice and qualification schedules. package web import ( "fmt" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/tournament" "net/http" "strconv" "time" ) // Global vars to hold schedules that are in the process of being generated. var cachedMatches = make(map[model.MatchType][]model.Match) var cachedTeamFirstMatches = make(map[model.MatchType]map[int]string) // Shows the schedule editing page. func (web *Web) scheduleGetHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } matchTypeString := getMatchType(r) matchType, _ := model.MatchTypeFromString(matchTypeString) if matchType != model.Practice && matchType != model.Qualification { http.Redirect(w, r, "/setup/schedule?matchType=practice", 302) return } web.renderSchedule(w, r, "") } // Generates the schedule, presents it for review without saving it, and saves the schedule blocks to the database. func (web *Web) scheduleGeneratePostHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } matchTypeString := getMatchType(r) matchType, err := model.MatchTypeFromString(matchTypeString) if err != nil { handleWebErr(w, err) return } scheduleBlocks, err := getScheduleBlocks(r) // Save blocks even if there is an error, so that any good ones are not discarded. deleteBlocksErr := web.arena.Database.DeleteScheduleBlocksByMatchType(matchType) if deleteBlocksErr != nil { handleWebErr(w, err) return } for _, block := range scheduleBlocks { block.MatchType = matchType createBlockErr := web.arena.Database.CreateScheduleBlock(&block) if createBlockErr != nil { handleWebErr(w, err) return } } if err != nil { web.renderSchedule(w, r, "Incomplete or invalid schedule block parameters specified.") return } // Build the schedule. teams, err := web.arena.Database.GetAllTeams() if err != nil { handleWebErr(w, err) return } if len(teams) == 0 { web.renderSchedule( w, r, "No team list is configured. Set up the list of teams at the event before generating the schedule.", ) return } if len(teams) < 6 { web.renderSchedule( w, r, fmt.Sprintf("There are only %d teams. There must be at least 6 teams to generate a schedule.", len(teams)), ) return } matches, err := tournament.BuildRandomSchedule(teams, scheduleBlocks, matchType) if err != nil { web.renderSchedule(w, r, fmt.Sprintf("Error generating schedule: %s.", err.Error())) return } cachedMatches[matchType] = matches // Determine each team's first match. teamFirstMatches := make(map[int]string) for _, match := range matches { checkTeam := func(team int) { _, ok := teamFirstMatches[team] if !ok { teamFirstMatches[team] = match.ShortName } } checkTeam(match.Red1) checkTeam(match.Red2) checkTeam(match.Red3) checkTeam(match.Blue1) checkTeam(match.Blue2) checkTeam(match.Blue3) } cachedTeamFirstMatches[matchType] = teamFirstMatches http.Redirect(w, r, "/setup/schedule?matchType="+matchTypeString, 303) } // Saves the generated schedule to the database. func (web *Web) scheduleSavePostHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } matchTypeString := getMatchType(r) matchType, err := model.MatchTypeFromString(matchTypeString) if err != nil { handleWebErr(w, err) return } existingMatches, err := web.arena.Database.GetMatchesByType(matchType, true) if err != nil { handleWebErr(w, err) return } if len(existingMatches) > 0 { web.renderSchedule( w, r, fmt.Sprintf( "Can't save schedule because a schedule of %d %s matches already exists. Clear it first on the "+ "Settings page.", len(existingMatches), matchType, ), ) return } for _, match := range cachedMatches[matchType] { err = web.arena.Database.CreateMatch(&match) if err != nil { handleWebErr(w, err) return } } // Back up the database. err = web.arena.Database.Backup(web.arena.EventSettings.Name, "post_scheduling") if err != nil { handleWebErr(w, err) return } http.Redirect(w, r, "/setup/schedule?matchType="+matchTypeString, 303) } func (web *Web) renderSchedule(w http.ResponseWriter, r *http.Request, errorMessage string) { matchTypeString := getMatchType(r) matchType, err := model.MatchTypeFromString(matchTypeString) if err != nil { handleWebErr(w, err) return } scheduleBlocks, err := web.arena.Database.GetScheduleBlocksByMatchType(matchType) if err != nil { handleWebErr(w, err) return } teams, err := web.arena.Database.GetAllTeams() if err != nil { handleWebErr(w, err) return } template, err := web.parseFiles("templates/setup_schedule.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings MatchType model.MatchType ScheduleBlocks []model.ScheduleBlock NumTeams int Matches []model.Match TeamFirstMatches map[int]string ErrorMessage string }{ web.arena.EventSettings, matchType, scheduleBlocks, len(teams), cachedMatches[matchType], cachedTeamFirstMatches[matchType], errorMessage, } err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Converts the post form variables into a slice of schedule blocks. func getScheduleBlocks(r *http.Request) ([]model.ScheduleBlock, error) { numScheduleBlocks, err := strconv.Atoi(r.PostFormValue("numScheduleBlocks")) if err != nil { return []model.ScheduleBlock{}, err } var returnErr error scheduleBlocks := make([]model.ScheduleBlock, numScheduleBlocks) location, _ := time.LoadLocation("Local") for i := 0; i < numScheduleBlocks; i++ { scheduleBlocks[i].StartTime, err = time.ParseInLocation( "2006-01-02 03:04:05 PM", r.PostFormValue(fmt.Sprintf("startTime%d", i)), location, ) if err != nil { returnErr = err } scheduleBlocks[i].NumMatches, err = strconv.Atoi(r.PostFormValue(fmt.Sprintf("numMatches%d", i))) if err != nil { returnErr = err } scheduleBlocks[i].MatchSpacingSec, err = strconv.Atoi(r.PostFormValue(fmt.Sprintf("matchSpacingSec%d", i))) if err != nil { returnErr = err } } return scheduleBlocks, returnErr } func getMatchType(r *http.Request) string { if matchType, ok := r.URL.Query()["matchType"]; ok { return matchType[0] } return r.PostFormValue("matchType") } ================================================ FILE: web/setup_schedule_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "testing" "time" ) func TestSetupSchedule(t *testing.T) { web := setupTestWeb(t) for i := 0; i < 38; i++ { web.arena.Database.CreateTeam(&model.Team{Id: i + 101}) } web.arena.Database.CreateMatch(&model.Match{Type: model.Practice, ShortName: "P1"}) // Check the default setting values. recorder := web.getHttpResponse("/setup/schedule?matchType=practice") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "addBlock();") // Submit a schedule for generation. postData := "numScheduleBlocks=3&startTime0=2014-01-01 09:00:00 AM&numMatches0=7&matchSpacingSec0=480&" + "startTime1=2014-01-02 09:56:00 AM&numMatches1=17&matchSpacingSec1=420&startTime2=2014-01-03 01:00:00 PM&" + "numMatches2=40&matchSpacingSec2=360&matchType=qualification" recorder = web.postHttpResponse("/setup/schedule/generate", postData) assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/schedule?matchType=qualification") assert.Contains(t, recorder.Body.String(), "2014-01-01 09:48:00") // Last match of first block. assert.Contains(t, recorder.Body.String(), "2014-01-02 11:48:00") // Last match of second block. assert.Contains(t, recorder.Body.String(), "2014-01-03 16:54:00") // Last match of third block. // Save schedule and check that it was persisted. recorder = web.postHttpResponse("/setup/schedule/save?matchType=qualification", "") assert.Equal(t, 303, recorder.Code) matches, err := web.arena.Database.GetMatchesByType(model.Qualification, true) assert.Nil(t, err) assert.Equal(t, 64, len(matches)) location, _ := time.LoadLocation("Local") assert.Equal(t, time.Date(2014, 1, 1, 9, 0, 0, 0, location).Unix(), matches[0].Time.Unix()) assert.Equal(t, time.Date(2014, 1, 2, 9, 56, 0, 0, location).Unix(), matches[7].Time.Unix()) assert.Equal(t, time.Date(2014, 1, 3, 13, 0, 0, 0, location).Unix(), matches[24].Time.Unix()) } func TestSetupScheduleErrors(t *testing.T) { web := setupTestWeb(t) // No teams. postData := "numScheduleBlocks=1&startTime0=2014-01-01 09:00:00 AM&numMatches0=7&matchSpacingSec0=480&" + "matchType=practice" recorder := web.postHttpResponse("/setup/schedule/generate", postData) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "No team list is configured.") // Insufficient number of teams. for i := 0; i < 5; i++ { web.arena.Database.CreateTeam(&model.Team{Id: i + 101}) } postData = "numScheduleBlocks=1&startTime0=2014-01-01 09:00:00 AM&numMatches0=7&matchSpacingSec0=480&" + "matchType=practice" recorder = web.postHttpResponse("/setup/schedule/generate", postData) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "There must be at least 6 teams to generate a schedule.") // More matches per team than schedules exist for. web.arena.Database.CreateTeam(&model.Team{Id: 118}) postData = "numScheduleBlocks=1&startTime0=2014-01-01 09:00:00 AM&numMatches0=700&matchSpacingSec0=480&" + "matchType=practice" recorder = web.postHttpResponse("/setup/schedule/generate", postData) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "No schedule template exists for 6 teams and 700 matches") // Incomplete scheduling data received. postData = "numScheduleBlocks=1&startTime0=2014-01-01 09:00:00 AM&numMatches0=&matchSpacingSec0=480&" + "matchType=practice" recorder = web.postHttpResponse("/setup/schedule/generate", postData) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Incomplete or invalid schedule block parameters specified.") // Previous schedule already exists. for i := 18; i < 38; i++ { web.arena.Database.CreateTeam(&model.Team{Id: i + 101}) } web.arena.Database.CreateMatch(&model.Match{Type: model.Practice, ShortName: "P1"}) web.arena.Database.CreateMatch(&model.Match{Type: model.Practice, ShortName: "P2"}) postData = "numScheduleBlocks=1&startTime0=2014-01-01 09:00:00 AM&numMatches0=64&matchSpacingSec0=480&" + "matchType=practice" recorder = web.postHttpResponse("/setup/schedule/generate", postData) assert.Equal(t, 303, recorder.Code) recorder = web.postHttpResponse("/setup/schedule/save", postData) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "schedule of 2 Practice matches already exists") } ================================================ FILE: web/setup_settings.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for configuring the event settings. package web import ( "fmt" "io" "io/ioutil" "net/http" "os" "strconv" "strings" "time" "github.com/Team254/cheesy-arena/model" ) // Shows the event settings editing page. func (web *Web) settingsGetHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } web.renderSettings(w, r, "") } // Saves the event settings. func (web *Web) settingsPostHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } eventSettings := web.arena.EventSettings previousEventName := eventSettings.Name eventSettings.Name = r.PostFormValue("name") if len(eventSettings.Name) < 1 && eventSettings.Name != previousEventName { eventSettings.Name = previousEventName } previousAdminPassword := eventSettings.AdminPassword var playoffType model.PlayoffType numAlliances := 0 if r.PostFormValue("playoffType") == "SingleEliminationPlayoff" { playoffType = model.SingleEliminationPlayoff numAlliances, _ = strconv.Atoi(r.PostFormValue("numPlayoffAlliances")) if numAlliances < 2 || numAlliances > 16 { web.renderSettings(w, r, "Number of alliances must be between 2 and 16.") return } } else { playoffType = model.DoubleEliminationPlayoff numAlliances = 8 } if eventSettings.PlayoffType != playoffType || eventSettings.NumPlayoffAlliances != numAlliances { alliances, err := web.arena.Database.GetAllAlliances() if err != nil { handleWebErr(w, err) return } if len(alliances) > 0 { web.renderSettings( w, r, "Cannot change playoff type or size after alliance selection has been finalized.", ) return } } eventSettings.PlayoffType = playoffType eventSettings.NumPlayoffAlliances = numAlliances eventSettings.SelectionRound2Order = r.PostFormValue("selectionRound2Order") eventSettings.SelectionRound3Order = r.PostFormValue("selectionRound3Order") eventSettings.SelectionShowUnpickedTeams = r.PostFormValue("selectionShowUnpickedTeams") == "on" eventSettings.TbaDownloadEnabled = r.PostFormValue("tbaDownloadEnabled") == "on" eventSettings.TbaPublishingEnabled = r.PostFormValue("tbaPublishingEnabled") == "on" eventSettings.TbaEventCode = r.PostFormValue("tbaEventCode") eventSettings.TbaSecretId = r.PostFormValue("tbaSecretId") eventSettings.TbaSecret = r.PostFormValue("tbaSecret") eventSettings.NexusEnabled = r.PostFormValue("nexusEnabled") == "on" eventSettings.NetworkSecurityEnabled = r.PostFormValue("networkSecurityEnabled") == "on" eventSettings.ApAddress = r.PostFormValue("apAddress") eventSettings.ApPassword = r.PostFormValue("apPassword") eventSettings.ApChannel, _ = strconv.Atoi(r.PostFormValue("apChannel")) eventSettings.SwitchAddress = r.PostFormValue("switchAddress") eventSettings.SwitchPassword = r.PostFormValue("switchPassword") eventSettings.SCCManagementEnabled = r.PostFormValue("sccManagementEnabled") == "on" eventSettings.RedSCCAddress = r.PostFormValue("redSCCAddress") eventSettings.BlueSCCAddress = r.PostFormValue("blueSCCAddress") eventSettings.SCCUsername = r.PostFormValue("sccUsername") eventSettings.SCCPassword = r.PostFormValue("sccPassword") eventSettings.SCCUpCommands = r.PostFormValue("sccUpCommands") eventSettings.SCCDownCommands = r.PostFormValue("sccDownCommands") eventSettings.PlcAddress = r.PostFormValue("plcAddress") eventSettings.AdminPassword = r.PostFormValue("adminPassword") eventSettings.TeamSignRed1Id, _ = strconv.Atoi(r.PostFormValue("teamSignRed1Id")) eventSettings.TeamSignRed2Id, _ = strconv.Atoi(r.PostFormValue("teamSignRed2Id")) eventSettings.TeamSignRed3Id, _ = strconv.Atoi(r.PostFormValue("teamSignRed3Id")) eventSettings.TeamSignRedTimerId, _ = strconv.Atoi(r.PostFormValue("teamSignRedTimerId")) eventSettings.TeamSignBlue1Id, _ = strconv.Atoi(r.PostFormValue("teamSignBlue1Id")) eventSettings.TeamSignBlue2Id, _ = strconv.Atoi(r.PostFormValue("teamSignBlue2Id")) eventSettings.TeamSignBlue3Id, _ = strconv.Atoi(r.PostFormValue("teamSignBlue3Id")) eventSettings.TeamSignBlueTimerId, _ = strconv.Atoi(r.PostFormValue("teamSignBlueTimerId")) eventSettings.UseLiteUdpPort = r.PostFormValue("useLiteUdpPort") == "on" eventSettings.BlackmagicAddresses = r.PostFormValue("blackmagicAddresses") eventSettings.CompanionAddress = r.PostFormValue("companionAddress") eventSettings.CompanionPort, _ = strconv.Atoi(r.PostFormValue("companionPort")) eventSettings.CompanionMatchPreviewPage, _ = strconv.Atoi(r.PostFormValue("companionMatchPreviewPage")) eventSettings.CompanionMatchPreviewRow, _ = strconv.Atoi(r.PostFormValue("companionMatchPreviewRow")) eventSettings.CompanionMatchPreviewColumn, _ = strconv.Atoi(r.PostFormValue("companionMatchPreviewColumn")) eventSettings.CompanionSetAudiencePage, _ = strconv.Atoi(r.PostFormValue("companionSetAudiencePage")) eventSettings.CompanionSetAudienceRow, _ = strconv.Atoi(r.PostFormValue("companionSetAudienceRow")) eventSettings.CompanionSetAudienceColumn, _ = strconv.Atoi(r.PostFormValue("companionSetAudienceColumn")) eventSettings.CompanionMatchStartPage, _ = strconv.Atoi(r.PostFormValue("companionMatchStartPage")) eventSettings.CompanionMatchStartRow, _ = strconv.Atoi(r.PostFormValue("companionMatchStartRow")) eventSettings.CompanionMatchStartColumn, _ = strconv.Atoi(r.PostFormValue("companionMatchStartColumn")) eventSettings.CompanionTeleopStartPage, _ = strconv.Atoi(r.PostFormValue("companionTeleopStartPage")) eventSettings.CompanionTeleopStartRow, _ = strconv.Atoi(r.PostFormValue("companionTeleopStartRow")) eventSettings.CompanionTeleopStartColumn, _ = strconv.Atoi(r.PostFormValue("companionTeleopStartColumn")) eventSettings.CompanionEndgameStartPage, _ = strconv.Atoi(r.PostFormValue("companionEndgameStartPage")) eventSettings.CompanionEndgameStartRow, _ = strconv.Atoi(r.PostFormValue("companionEndgameStartRow")) eventSettings.CompanionEndgameStartColumn, _ = strconv.Atoi(r.PostFormValue("companionEndgameStartColumn")) eventSettings.CompanionMatchEndPage, _ = strconv.Atoi(r.PostFormValue("companionMatchEndPage")) eventSettings.CompanionMatchEndRow, _ = strconv.Atoi(r.PostFormValue("companionMatchEndRow")) eventSettings.CompanionMatchEndColumn, _ = strconv.Atoi(r.PostFormValue("companionMatchEndColumn")) eventSettings.CompanionPostResultPage, _ = strconv.Atoi(r.PostFormValue("companionPostResultPage")) eventSettings.CompanionPostResultRow, _ = strconv.Atoi(r.PostFormValue("companionPostResultRow")) eventSettings.CompanionPostResultColumn, _ = strconv.Atoi(r.PostFormValue("companionPostResultColumn")) eventSettings.CompanionAllianceSelectionPage, _ = strconv.Atoi(r.PostFormValue("companionAllianceSelectionPage")) eventSettings.CompanionAllianceSelectionRow, _ = strconv.Atoi(r.PostFormValue("companionAllianceSelectionRow")) eventSettings.CompanionAllianceSelectionColumn, _ = strconv.Atoi(r.PostFormValue("companionAllianceSelectionColumn")) eventSettings.CompanionMatchAbortPage, _ = strconv.Atoi(r.PostFormValue("companionMatchAbortPage")) eventSettings.CompanionMatchAbortRow, _ = strconv.Atoi(r.PostFormValue("companionMatchAbortRow")) eventSettings.CompanionMatchAbortColumn, _ = strconv.Atoi(r.PostFormValue("companionMatchAbortColumn")) eventSettings.WarmupDurationSec, _ = strconv.Atoi(r.PostFormValue("warmupDurationSec")) eventSettings.AutoDurationSec, _ = strconv.Atoi(r.PostFormValue("autoDurationSec")) eventSettings.PauseDurationSec, _ = strconv.Atoi(r.PostFormValue("pauseDurationSec")) eventSettings.TeleopDurationSec, _ = strconv.Atoi(r.PostFormValue("teleopDurationSec")) eventSettings.WarningRemainingDurationSec, _ = strconv.Atoi(r.PostFormValue("warningRemainingDurationSec")) eventSettings.AutoBonusCoralThreshold, _ = strconv.Atoi(r.PostFormValue("autoBonusCoralThreshold")) eventSettings.CoralBonusPerLevelThreshold, _ = strconv.Atoi(r.PostFormValue("coralBonusPerLevelThreshold")) eventSettings.CoralBonusCoopEnabled = r.PostFormValue("coralBonusCoopEnabled") == "on" eventSettings.BargeBonusPointThreshold, _ = strconv.Atoi(r.PostFormValue("bargeBonusPointThreshold")) eventSettings.IncludeAlgaeInBargeBonus = r.PostFormValue("includeAlgaeInBargeBonus") == "on" err := web.arena.Database.UpdateEventSettings(eventSettings) if err != nil { handleWebErr(w, err) return } // Refresh the arena in case any of the settings changed. err = web.arena.LoadSettings() if err != nil { handleWebErr(w, err) return } if eventSettings.AdminPassword != previousAdminPassword { // Delete any existing user sessions to force a logout. if err := web.arena.Database.TruncateUserSessions(); err != nil { handleWebErr(w, err) return } } http.Redirect(w, r, "/setup/settings", 303) } // Sends a copy of the event database file to the client as a download. func (web *Web) saveDbHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } filename := fmt.Sprintf( "%s-%s.db", strings.Replace(web.arena.EventSettings.Name, " ", "_", -1), time.Now().Format("20060102150405"), ) w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=\"%s\"", filename)) if err := web.arena.Database.WriteBackup(w); err != nil { handleWebErr(w, err) return } } // Accepts an event database file as an upload and loads it. func (web *Web) restoreDbHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } file, _, err := r.FormFile("databaseFile") if err != nil { web.renderSettings(w, r, "No database backup file was specified.") return } // Write the file to a temporary location on disk and verify that it can be opened as a database. tempFile, err := ioutil.TempFile(".", "uploaded-db-") if err != nil { handleWebErr(w, err) return } defer tempFile.Close() tempFilePath := tempFile.Name() defer os.Remove(tempFilePath) _, err = io.Copy(tempFile, file) if err != nil { handleWebErr(w, err) return } tempFile.Close() tempDb, err := model.OpenDatabase(tempFilePath) if err != nil { web.renderSettings( w, r, "Could not read uploaded database backup file. Please verify that it a valid database file.", ) return } tempDb.Close() // Back up the current database. err = web.arena.Database.Backup(web.arena.EventSettings.Name, "pre_restore") if err != nil { handleWebErr(w, err) return } // Replace the current database with the new one. web.arena.Database.Close() err = os.Remove(web.arena.Database.Path) if err != nil { handleWebErr(w, err) return } err = os.Rename(tempFilePath, web.arena.Database.Path) if err != nil { handleWebErr(w, err) return } web.arena.Database, err = model.OpenDatabase(web.arena.Database.Path) if err != nil { handleWebErr(w, err) return } err = web.arena.LoadSettings() if err != nil { handleWebErr(w, err) return } http.Redirect(w, r, "/setup/settings", 303) } // Deletes all match data including and beyond the given tournament stage. func (web *Web) clearDbHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } matchType, err := model.MatchTypeFromString(r.PathValue("type")) if err != nil || matchType == model.Test { web.renderSettings(w, r, "Invalid tournament stage to clear.") return } // Back up the database. err = web.arena.Database.Backup(web.arena.EventSettings.Name, "pre_clear") if err != nil { handleWebErr(w, err) return } switch matchType { case model.Practice: if err = web.deleteMatchDataForType(model.Practice); err != nil { handleWebErr(w, err) return } case model.Qualification: if err = web.deleteMatchDataForType(model.Qualification); err != nil { handleWebErr(w, err) return } if err = web.arena.Database.TruncateRankings(); err != nil { handleWebErr(w, err) return } case model.Playoff: if err = web.deleteMatchDataForType(model.Playoff); err != nil { handleWebErr(w, err) return } if err = web.arena.Database.TruncateAlliances(); err != nil { handleWebErr(w, err) return } web.arena.AllianceSelectionAlliances = []model.Alliance{} web.arena.AllianceSelectionRankedTeams = []model.AllianceSelectionRankedTeam{} } http.Redirect(w, r, "/setup/settings", 303) } // Publishes the playoff alliances to the web. func (web *Web) settingsPublishAlliancesHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } if web.arena.EventSettings.TbaPublishingEnabled { err := web.arena.TbaClient.PublishAlliances(web.arena.Database) if err != nil { http.Error(w, "Failed to publish alliances: "+err.Error(), 500) return } } else { http.Error(w, "TBA publishing is not enabled", 500) return } http.Redirect(w, r, "/setup/settings", 303) } // Publishes the awards to the web. func (web *Web) settingsPublishAwardsHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } if web.arena.EventSettings.TbaPublishingEnabled { err := web.arena.TbaClient.PublishAwards(web.arena.Database) if err != nil { http.Error(w, "Failed to publish awards: "+err.Error(), 500) return } } else { http.Error(w, "TBA publishing is not enabled", 500) return } http.Redirect(w, r, "/setup/settings", 303) } // Publishes the match schedule and results to the web. func (web *Web) settingsPublishMatchesHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } if web.arena.EventSettings.TbaPublishingEnabled { err := web.arena.TbaClient.DeletePublishedMatches() if err != nil { http.Error(w, "Failed to delete published matches: "+err.Error(), 500) return } err = web.arena.TbaClient.PublishMatches(web.arena.Database) if err != nil { http.Error(w, "Failed to publish matches: "+err.Error(), 500) return } } else { http.Error(w, "TBA publishing is not enabled", 500) return } http.Redirect(w, r, "/setup/settings", 303) } // Publishes the standings to the web. func (web *Web) settingsPublishRankingsHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } if web.arena.EventSettings.TbaPublishingEnabled { err := web.arena.TbaClient.PublishRankings(web.arena.Database) if err != nil { http.Error(w, "Failed to publish rankings: "+err.Error(), 500) return } } else { http.Error(w, "TBA publishing is not enabled", 500) return } http.Redirect(w, r, "/setup/settings", 303) } // Publishes the team list to the web. func (web *Web) settingsPublishTeamsHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } if web.arena.EventSettings.TbaPublishingEnabled { err := web.arena.TbaClient.PublishTeams(web.arena.Database) if err != nil { http.Error(w, "Failed to publish teams: "+err.Error(), 500) return } } else { http.Error(w, "TBA publishing is not enabled", 500) return } http.Redirect(w, r, "/setup/settings", 303) } func (web *Web) renderSettings(w http.ResponseWriter, r *http.Request, errorMessage string) { template, err := web.parseFiles("templates/setup_settings.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings ErrorMessage string }{web.arena.EventSettings, errorMessage} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Deletes all match data (matches, results, and scheduled breaks) for the given match type. func (web *Web) deleteMatchDataForType(matchType model.MatchType) error { matches, err := web.arena.Database.GetMatchesByType(matchType, true) if err != nil { return err } for _, match := range matches { // Loop to delete all match results for the match before deleting the match itself. matchResult, err := web.arena.Database.GetMatchResultForMatch(match.Id) if err != nil { return err } for matchResult != nil { if err = web.arena.Database.DeleteMatchResult(matchResult.Id); err != nil { return err } matchResult, err = web.arena.Database.GetMatchResultForMatch(match.Id) if err != nil { return err } } if err = web.arena.Database.DeleteMatch(match.Id); err != nil { return err } } if err = web.arena.Database.DeleteScheduledBreaksByMatchType(matchType); err != nil { return err } return nil } ================================================ FILE: web/setup_settings_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "bytes" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/tournament" "github.com/stretchr/testify/assert" "io" "mime/multipart" "net/http" "net/http/httptest" "testing" ) func TestSetupSettings(t *testing.T) { web := setupTestWeb(t) // Check the default setting values. recorder := web.getHttpResponse("/setup/settings") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Untitled Event") assert.Contains(t, recorder.Body.String(), "8") assert.NotContains(t, recorder.Body.String(), "tbaPublishingEnabled\" checked") // Change the settings and check the response. recorder = web.postHttpResponse( "/setup/settings", "name=Chezy Champs&code=CC&playoffType=single&numPlayoffAlliances=16&tbaPublishingEnabled=on&"+ "tbaEventCode=2014cc&tbaSecretId=secretId&tbaSecret=tbasec", ) assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/settings") assert.Contains(t, recorder.Body.String(), "Chezy Champs") assert.Contains(t, recorder.Body.String(), "16") assert.Contains(t, recorder.Body.String(), "tbaPublishingEnabled\" checked") assert.Contains(t, recorder.Body.String(), "2014cc") assert.Contains(t, recorder.Body.String(), "secretId") assert.Contains(t, recorder.Body.String(), "tbasec") } func TestSetupSettingsDoubleElimination(t *testing.T) { web := setupTestWeb(t) recorder := web.postHttpResponse("/setup/settings", "playoffType=DoubleEliminationPlayoff&numPlayoffAlliances=3") assert.Equal(t, 303, recorder.Code) assert.Equal(t, model.DoubleEliminationPlayoff, web.arena.EventSettings.PlayoffType) assert.Equal(t, 8, web.arena.EventSettings.NumPlayoffAlliances) } func TestSetupSettingsInvalidValues(t *testing.T) { web := setupTestWeb(t) recorder := web.postHttpResponse("/setup/settings", "playoffType=SingleEliminationPlayoff&numPlayoffAlliances=8") assert.Equal(t, 303, recorder.Code) // Invalid number of alliances. recorder = web.postHttpResponse("/setup/settings", "playoffType=SingleEliminationPlayoff&numAlliances=1") assert.Contains(t, recorder.Body.String(), "must be between 2 and 16") // Changing the playoff type after alliance selection is finalized. assert.Nil(t, web.arena.Database.CreateAlliance(&model.Alliance{Id: 1})) recorder = web.postHttpResponse("/setup/settings", "playoffType=DoubleEliminationPlayoff") assert.Contains(t, recorder.Body.String(), "Cannot change playoff type or size after alliance selection") // Changing the playoff size after alliance selection is finalized. recorder = web.postHttpResponse("/setup/settings", "numPlayoffAlliances=2") assert.Contains(t, recorder.Body.String(), "Cannot change playoff type or size after alliance selection") } func TestSetupSettingsClearDb(t *testing.T) { createData := func(web *Web) { assert.Nil(t, web.arena.Database.CreateTeam(&model.Team{Id: 254})) assert.Nil(t, web.arena.Database.CreateMatch(&model.Match{Type: model.Practice})) assert.Nil(t, web.arena.Database.CreateMatch(&model.Match{Type: model.Qualification})) assert.Nil(t, web.arena.Database.CreateMatch(&model.Match{Type: model.Playoff})) assert.Nil(t, web.arena.Database.CreateMatchResult(&model.MatchResult{MatchId: 1, PlayNumber: 1})) assert.Nil(t, web.arena.Database.CreateMatchResult(&model.MatchResult{MatchId: 1, PlayNumber: 2})) assert.Nil(t, web.arena.Database.CreateMatchResult(&model.MatchResult{MatchId: 2, PlayNumber: 1})) assert.Nil(t, web.arena.Database.CreateMatchResult(&model.MatchResult{MatchId: 3, PlayNumber: 1})) assert.Nil(t, web.arena.Database.CreateRanking(&game.Ranking{TeamId: 254})) assert.Nil(t, web.arena.Database.CreateAlliance(&model.Alliance{Id: 1})) web.arena.AllianceSelectionAlliances = append(web.arena.AllianceSelectionAlliances, model.Alliance{Id: 1}) } // Test clearing practice data. web := setupTestWeb(t) createData(web) recorder := web.postHttpResponse("/setup/db/clear/practice", "") assert.Equal(t, 303, recorder.Code) teams, _ := web.arena.Database.GetAllTeams() assert.NotEmpty(t, teams) matches, _ := web.arena.Database.GetMatchesByType(model.Practice, true) assert.Empty(t, matches) matchResult, _ := web.arena.Database.GetMatchResultForMatch(1) assert.Nil(t, matchResult) matches, _ = web.arena.Database.GetMatchesByType(model.Qualification, true) assert.NotEmpty(t, matches) matchResult, _ = web.arena.Database.GetMatchResultForMatch(2) assert.NotNil(t, matchResult) matches, _ = web.arena.Database.GetMatchesByType(model.Playoff, true) assert.NotEmpty(t, matches) matchResult, _ = web.arena.Database.GetMatchResultForMatch(3) assert.NotNil(t, matchResult) rankings, _ := web.arena.Database.GetAllRankings() assert.NotEmpty(t, rankings) tournament.CalculateRankings(web.arena.Database, false) assert.NotEmpty(t, rankings) alliances, _ := web.arena.Database.GetAllAlliances() assert.NotEmpty(t, alliances) assert.NotEmpty(t, web.arena.AllianceSelectionAlliances) // Test clearing qualification data. web = setupTestWeb(t) createData(web) recorder = web.postHttpResponse("/setup/db/clear/qualification", "") assert.Equal(t, 303, recorder.Code) teams, _ = web.arena.Database.GetAllTeams() assert.NotEmpty(t, teams) matches, _ = web.arena.Database.GetMatchesByType(model.Practice, true) assert.NotEmpty(t, matches) matchResult, _ = web.arena.Database.GetMatchResultForMatch(1) assert.NotNil(t, matchResult) matches, _ = web.arena.Database.GetMatchesByType(model.Qualification, true) assert.Empty(t, matches) matchResult, _ = web.arena.Database.GetMatchResultForMatch(2) assert.Nil(t, matchResult) matches, _ = web.arena.Database.GetMatchesByType(model.Playoff, true) assert.NotEmpty(t, matches) matchResult, _ = web.arena.Database.GetMatchResultForMatch(3) assert.NotNil(t, matchResult) rankings, _ = web.arena.Database.GetAllRankings() assert.Empty(t, rankings) tournament.CalculateRankings(web.arena.Database, false) assert.Empty(t, rankings) alliances, _ = web.arena.Database.GetAllAlliances() assert.NotEmpty(t, alliances) assert.NotEmpty(t, web.arena.AllianceSelectionAlliances) // Test clearing playoff data. web = setupTestWeb(t) createData(web) recorder = web.postHttpResponse("/setup/db/clear/playoff", "") assert.Equal(t, 303, recorder.Code) teams, _ = web.arena.Database.GetAllTeams() assert.NotEmpty(t, teams) matches, _ = web.arena.Database.GetMatchesByType(model.Practice, true) assert.NotEmpty(t, matches) matchResult, _ = web.arena.Database.GetMatchResultForMatch(1) assert.NotNil(t, matchResult) matches, _ = web.arena.Database.GetMatchesByType(model.Qualification, true) assert.NotEmpty(t, matches) matchResult, _ = web.arena.Database.GetMatchResultForMatch(2) assert.NotNil(t, matchResult) matches, _ = web.arena.Database.GetMatchesByType(model.Playoff, true) assert.Empty(t, matches) matchResult, _ = web.arena.Database.GetMatchResultForMatch(3) assert.Nil(t, matchResult) rankings, _ = web.arena.Database.GetAllRankings() assert.NotEmpty(t, rankings) tournament.CalculateRankings(web.arena.Database, false) assert.NotEmpty(t, rankings) alliances, _ = web.arena.Database.GetAllAlliances() assert.Empty(t, alliances) assert.Empty(t, web.arena.AllianceSelectionAlliances) // Test with invalid match types. recorder = web.postHttpResponse("/setup/db/clear/all", "") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Invalid tournament stage to clear") recorder = web.postHttpResponse("/setup/db/clear/test", "") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Invalid tournament stage to clear") } func TestSetupSettingsBackupRestoreDb(t *testing.T) { web := setupTestWeb(t) // Modify a parameter so that we know when the database has been restored. web.arena.EventSettings.Name = "Chezy Champs" assert.Nil(t, web.arena.Database.UpdateEventSettings(web.arena.EventSettings)) // Back up the database. recorder := web.getHttpResponse("/setup/db/save") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "application/octet-stream", recorder.HeaderMap["Content-Type"][0]) backupBody := recorder.Body // Wipe the database to reset the defaults. web = setupTestWeb(t) assert.NotEqual(t, "Chezy Champs", web.arena.EventSettings.Name) // Check restoring with a missing file. recorder = web.postHttpResponse("/setup/db/restore", "") assert.Contains(t, recorder.Body.String(), "No database backup file was specified") assert.NotEqual(t, "Chezy Champs", web.arena.EventSettings.Name) // Check restoring with a corrupt file. recorder = web.postFileHttpResponse("/setup/db/restore", "databaseFile", bytes.NewBufferString("invalid")) assert.Contains(t, recorder.Body.String(), "Could not read uploaded database backup file") assert.NotEqual(t, "Chezy Champs", web.arena.EventSettings.Name) // Check restoring with the backup retrieved before. recorder = web.postFileHttpResponse("/setup/db/restore", "databaseFile", backupBody) assert.Equal(t, "Chezy Champs", web.arena.EventSettings.Name) } func TestSetupSettingsPublishToTba(t *testing.T) { web := setupTestWeb(t) web.arena.TbaClient.BaseUrl = "fakeurl" web.arena.EventSettings.TbaPublishingEnabled = true recorder := web.getHttpResponse("/setup/settings/publish_alliances") assert.Equal(t, 500, recorder.Code) assert.Contains(t, recorder.Body.String(), "Failed to publish alliances") recorder = web.getHttpResponse("/setup/settings/publish_awards") assert.Equal(t, 500, recorder.Code) assert.Contains(t, recorder.Body.String(), "Failed to publish awards") recorder = web.getHttpResponse("/setup/settings/publish_matches") assert.Equal(t, 500, recorder.Code) assert.Contains(t, recorder.Body.String(), "Failed to delete published matches") recorder = web.getHttpResponse("/setup/settings/publish_rankings") assert.Equal(t, 500, recorder.Code) assert.Contains(t, recorder.Body.String(), "Failed to publish rankings") recorder = web.getHttpResponse("/setup/settings/publish_teams") assert.Equal(t, 500, recorder.Code) assert.Contains(t, recorder.Body.String(), "Failed to publish teams") } func (web *Web) postFileHttpResponse(path string, paramName string, file *bytes.Buffer) *httptest.ResponseRecorder { body := new(bytes.Buffer) writer := multipart.NewWriter(body) part, _ := writer.CreateFormFile(paramName, "file.ext") io.Copy(part, file) writer.Close() recorder := httptest.NewRecorder() req, _ := http.NewRequest("POST", path, body) req.Header.Set("Content-Type", writer.FormDataContentType()) web.newHandler().ServeHTTP(recorder, req) return recorder } ================================================ FILE: web/setup_sponsor_slides.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: nick@team254.com (Nick Eyre) // // Web routes for managing sponsor slides. package web import ( "github.com/Team254/cheesy-arena/model" "net/http" "strconv" ) // Shows the sponsor slides configuration page. func (web *Web) sponsorSlidesGetHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } template, err := web.parseFiles("templates/setup_sponsor_slides.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } sponsorSlides, err := web.arena.Database.GetAllSponsorSlides() if err != nil { handleWebErr(w, err) return } // Append a blank slide to the end that can be used to add a new one. sponsorSlides = append(sponsorSlides, model.SponsorSlide{DisplayTimeSec: 10}) data := struct { *model.EventSettings SponsorSlides []model.SponsorSlide }{web.arena.EventSettings, sponsorSlides} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Saves the new or modified sponsor slides to the database. func (web *Web) sponsorSlidesPostHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } sponsorSlideId, _ := strconv.Atoi(r.PostFormValue("id")) sponsorSlide, err := web.arena.Database.GetSponsorSlideById(sponsorSlideId) if err != nil { handleWebErr(w, err) return } switch r.PostFormValue("action") { case "delete": err := web.arena.Database.DeleteSponsorSlide(sponsorSlide.Id) if err != nil { handleWebErr(w, err) return } case "save": displayTimeSec, _ := strconv.Atoi(r.PostFormValue("displayTimeSec")) if sponsorSlide == nil { sponsorSlide = &model.SponsorSlide{ Subtitle: r.PostFormValue("subtitle"), Line1: r.PostFormValue("line1"), Line2: r.PostFormValue("line2"), Image: r.PostFormValue("image"), DisplayTimeSec: displayTimeSec, DisplayOrder: web.arena.Database.GetNextSponsorSlideDisplayOrder(), } err = web.arena.Database.CreateSponsorSlide(sponsorSlide) } else { sponsorSlide.Subtitle = r.PostFormValue("subtitle") sponsorSlide.Line1 = r.PostFormValue("line1") sponsorSlide.Line2 = r.PostFormValue("line2") sponsorSlide.Image = r.PostFormValue("image") sponsorSlide.DisplayTimeSec = displayTimeSec err = web.arena.Database.UpdateSponsorSlide(sponsorSlide) } if err != nil { handleWebErr(w, err) return } case "reorderUp": if err = web.reorderSponsorSlide(sponsorSlideId, true); err != nil { handleWebErr(w, err) return } case "reorderDown": if err = web.reorderSponsorSlide(sponsorSlideId, false); err != nil { handleWebErr(w, err) return } } http.Redirect(w, r, "/setup/sponsor_slides", 303) } // Swaps the sponsor slide having the given ID with the one immediately above or below it. func (web *Web) reorderSponsorSlide(id int, moveUp bool) error { sponsorSlide, err := web.arena.Database.GetSponsorSlideById(id) if err != nil { return err } // Get the sponsor slide to swap positions with. sponsorSlides, err := web.arena.Database.GetAllSponsorSlides() if err != nil { return err } var sponsorSlideIndex int for i, slide := range sponsorSlides { if slide.Id == sponsorSlide.Id { sponsorSlideIndex = i break } } if moveUp { sponsorSlideIndex-- } else { sponsorSlideIndex++ } if sponsorSlideIndex < 0 || sponsorSlideIndex == len(sponsorSlides) { // The one to move is already at the limit; do nothing. return nil } adjacentSponsorSlide := &sponsorSlides[sponsorSlideIndex] if err != nil { return err } // Swap their display orders and save. sponsorSlide.DisplayOrder, adjacentSponsorSlide.DisplayOrder = adjacentSponsorSlide.DisplayOrder, sponsorSlide.DisplayOrder err = web.arena.Database.UpdateSponsorSlide(sponsorSlide) if err != nil { return err } err = web.arena.Database.UpdateSponsorSlide(adjacentSponsorSlide) if err != nil { return err } return nil } ================================================ FILE: web/setup_sponsor_slides_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "testing" ) func TestSetupSponsorSlides(t *testing.T) { web := setupTestWeb(t) web.arena.Database.CreateSponsorSlide( &model.SponsorSlide{0, "Subtitle", "Sponsor Line 1", "Sponsor Line 2", "", 10, 0}, ) web.arena.Database.CreateSponsorSlide(&model.SponsorSlide{0, "Subtitle", "", "", "Image.gif", 10, 1}) recorder := web.getHttpResponse("/setup/sponsor_slides") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Sponsor Line 1") assert.Contains(t, recorder.Body.String(), "Image.gif") recorder = web.postHttpResponse("/setup/sponsor_slides", "action=delete&id=1") assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/sponsor_slides") assert.Equal(t, 200, recorder.Code) assert.NotContains(t, recorder.Body.String(), "Sponsor Line 1") assert.Contains(t, recorder.Body.String(), "Image.gif") recorder = web.postHttpResponse("/setup/sponsor_slides", "action=save&line2=Sponsor Line 2 revised") assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/sponsor_slides") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Sponsor Line 2 revised") sponsorSlide, _ := web.arena.Database.GetSponsorSlideById(3) assert.NotNil(t, sponsorSlide) recorder = web.postHttpResponse("/setup/sponsor_slides", "action=save&image=Image2.gif&id=2") assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/sponsor_slides") assert.Equal(t, 200, recorder.Code) assert.NotContains(t, recorder.Body.String(), "Image.gif") assert.Contains(t, recorder.Body.String(), "Image2.gif") sponsorSlide, _ = web.arena.Database.GetSponsorSlideById(3) assert.NotNil(t, sponsorSlide) sponsorSlides1, _ := web.arena.Database.GetAllSponsorSlides() recorder = web.postHttpResponse("/setup/sponsor_slides", "action=reorderUp&id=3") assert.Equal(t, 303, recorder.Code) sponsorSlides2, _ := web.arena.Database.GetAllSponsorSlides() if assert.Equal(t, 2, len(sponsorSlides1)) && assert.Equal(t, 2, len(sponsorSlides2)) { assert.Equal(t, sponsorSlides1[0].Id, sponsorSlides2[1].Id) assert.Equal(t, sponsorSlides1[1].Id, sponsorSlides2[0].Id) } recorder = web.postHttpResponse("/setup/sponsor_slides", "action=reorderDown&id=3") assert.Equal(t, 303, recorder.Code) sponsorSlides3, _ := web.arena.Database.GetAllSponsorSlides() if assert.Equal(t, 2, len(sponsorSlides1)) && assert.Equal(t, 2, len(sponsorSlides2)) { assert.Equal(t, sponsorSlides1[0].Id, sponsorSlides3[0].Id) assert.Equal(t, sponsorSlides1[1].Id, sponsorSlides3[1].Id) } } ================================================ FILE: web/setup_teams.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for configuring the team list. package web import ( "bytes" "fmt" "github.com/Team254/cheesy-arena/model" "github.com/dchest/uniuri" "net/http" "regexp" "strconv" "strings" "time" ) const wpaKeyLength = 8 // Global var to hold the team download progress percentage. var progressPercentage float64 = 5 // Shows the team list. func (web *Web) teamsGetHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } web.renderTeams(w, r, false) } // Adds teams to the team list. func (web *Web) teamsPostHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } if !web.canModifyTeamList() { web.renderTeams(w, r, true) return } var teamNumbers []int for _, teamNumberString := range strings.Split(r.PostFormValue("teamNumbers"), "\r\n") { teamNumber, err := strconv.Atoi(teamNumberString) if err == nil { teamNumbers = append(teamNumbers, teamNumber) } } progressPercentage = 5 progressIncrement := 95.0 / float64(len(teamNumbers)) for _, teamNumber := range teamNumbers { team := model.Team{Id: teamNumber} if web.arena.EventSettings.TbaDownloadEnabled { if err := web.populateOfficialTeamInfo(&team); err != nil { handleWebErr(w, err) return } } if err := web.arena.Database.CreateTeam(&team); err != nil { handleWebErr(w, err) return } progressPercentage += progressIncrement } progressPercentage = 100 http.Redirect(w, r, "/setup/teams", 303) } // Re-downloads the data for all teams from TBA and overwrites any local edits. func (web *Web) teamsRefreshHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } teams, err := web.arena.Database.GetAllTeams() if err != nil { handleWebErr(w, err) return } progInc := 95.00 / float64(len(teams)) for _, team := range teams { if err = web.populateOfficialTeamInfo(&team); err != nil { handleWebErr(w, err) return } if err = web.arena.Database.UpdateTeam(&team); err != nil { handleWebErr(w, err) return } progressPercentage += progInc } progressPercentage = 100 http.Redirect(w, r, "/setup/teams", 303) progressPercentage = 5 } // Clears the team list. func (web *Web) teamsClearHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } if !web.canModifyTeamList() { web.renderTeams(w, r, true) return } err := web.arena.Database.TruncateTeams() if err != nil { handleWebErr(w, err) return } http.Redirect(w, r, "/setup/teams", 303) } // Shows the page to edit a team's fields. func (web *Web) teamEditGetHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } teamId, _ := strconv.Atoi(r.PathValue("id")) team, err := web.arena.Database.GetTeamById(teamId) if err != nil { handleWebErr(w, err) return } if team == nil { http.Error(w, fmt.Sprintf("Error: No such team: %d", teamId), 400) return } template, err := web.parseFiles("templates/edit_team.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings *model.Team }{web.arena.EventSettings, team} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Updates a team's fields. func (web *Web) teamEditPostHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } teamId, _ := strconv.Atoi(r.PathValue("id")) team, err := web.arena.Database.GetTeamById(teamId) if err != nil { handleWebErr(w, err) return } if team == nil { http.Error(w, fmt.Sprintf("Error: No such team: %d", teamId), 400) return } team.Name = r.PostFormValue("name") team.Nickname = r.PostFormValue("nickname") team.City = r.PostFormValue("city") team.SchoolName = r.PostFormValue("schoolName") team.StateProv = r.PostFormValue("stateProv") team.Country = r.PostFormValue("country") team.RookieYear, _ = strconv.Atoi(r.PostFormValue("rookieYear")) team.RobotName = r.PostFormValue("robotName") team.Accomplishments = r.PostFormValue("accomplishments") if web.arena.EventSettings.NetworkSecurityEnabled { team.WpaKey = r.PostFormValue("wpaKey") if len(team.WpaKey) < 8 || len(team.WpaKey) > 63 { handleWebErr(w, fmt.Errorf("WPA key must be between 8 and 63 characters.")) return } } team.HasConnected = r.PostFormValue("hasConnected") == "on" err = web.arena.Database.UpdateTeam(team) if err != nil { handleWebErr(w, err) return } http.Redirect(w, r, "/setup/teams", 303) } // Removes a team from the team list. func (web *Web) teamDeletePostHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } if !web.canModifyTeamList() { web.renderTeams(w, r, true) return } teamId, _ := strconv.Atoi(r.PathValue("id")) team, err := web.arena.Database.GetTeamById(teamId) if err != nil { handleWebErr(w, err) return } if team == nil { http.Error(w, fmt.Sprintf("Error: No such team: %d", teamId), 400) return } err = web.arena.Database.DeleteTeam(team.Id) if err != nil { handleWebErr(w, err) return } http.Redirect(w, r, "/setup/teams", 303) } // Generates random WPA keys and saves them to the team models. func (web *Web) teamsGenerateWpaKeysHandler(w http.ResponseWriter, r *http.Request) { if !web.userIsAdmin(w, r) { return } generateAllKeys := false if all, ok := r.URL.Query()["all"]; ok { generateAllKeys = all[0] == "true" } teams, err := web.arena.Database.GetAllTeams() if err != nil { handleWebErr(w, err) return } for _, team := range teams { if len(team.WpaKey) == 0 || generateAllKeys { team.WpaKey = uniuri.NewLen(wpaKeyLength) web.arena.Database.UpdateTeam(&team) } } http.Redirect(w, r, "/setup/teams", 303) } // Returns the current TBA team data download progress. func (web *Web) teamsUpdateProgressBarHandler(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/plain") _, _ = w.Write([]byte(fmt.Sprintf("%.0f", progressPercentage))) } func (web *Web) renderTeams(w http.ResponseWriter, r *http.Request, showErrorMessage bool) { teams, err := web.arena.Database.GetAllTeams() if err != nil { handleWebErr(w, err) return } template, err := web.parseFiles("templates/setup_teams.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings Teams []model.Team ShowErrorMessage bool }{web.arena.EventSettings, teams, showErrorMessage} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Returns true if it is safe to change the team list (i.e. no matches/results exist yet). func (web *Web) canModifyTeamList() bool { matches, err := web.arena.Database.GetMatchesByType(model.Qualification, true) if err != nil || len(matches) > 0 { return false } return true } // Returns the data for the given team number. func (web *Web) populateOfficialTeamInfo(team *model.Team) error { tbaTeam, err := web.arena.TbaClient.GetTeam(team.Id) if err != nil { return err } // Check if the result is valid. If a team is not found, it will just not have its detail fields filled out. if tbaTeam.TeamNumber == 0 { return nil } team.Name = tbaTeam.Name team.Nickname = tbaTeam.Nickname team.City = tbaTeam.City team.StateProv = tbaTeam.StateProv team.Country = tbaTeam.Country schoolNameRe := regexp.MustCompile("^.*\\S&(\\S.*?$)") matches := schoolNameRe.FindStringSubmatch(tbaTeam.Name) if len(matches) > 0 { team.SchoolName = matches[1] } team.RookieYear = tbaTeam.RookieYear team.RobotName, err = web.arena.TbaClient.GetRobotName(team.Id, time.Now().Year()) if err != nil { return err } // Generate string of recent awards in reverse chronological order. recentAwards, err := web.arena.TbaClient.GetTeamAwards(team.Id) if err != nil { return err } var accomplishmentsBuffer bytes.Buffer for i := len(recentAwards) - 1; i >= 0; i-- { award := recentAwards[i] if time.Now().Year()-award.Year <= 1 { accomplishmentsBuffer.WriteString( fmt.Sprintf("

%d %s - %s

", award.Year, award.EventName, award.Name), ) } } team.Accomplishments = accomplishmentsBuffer.String() // Download and store the team's avatar; if there isn't one, ignore the error. if err = web.arena.TbaClient.DownloadTeamAvatar(team.Id, time.Now().Year()); err != nil { return err } return nil } ================================================ FILE: web/setup_teams_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "fmt" "github.com/Team254/cheesy-arena/model" "github.com/stretchr/testify/assert" "net/http" "net/http/httptest" "strings" "testing" ) func TestSetupTeams(t *testing.T) { web := setupTestWeb(t) // Check that there are no teams to start. recorder := web.getHttpResponse("/setup/teams") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "0 teams") // Mock the URL to download team info from. teamInfoBody := `{ "website": "http://www.team254.com", "name": "NASA Ames Research Center/PG&E&Bellarmine College Preparatory", "city": "San Jose", "rookie_year": 1999, "state_prov": "CA", "team_number": 254, "location": "San Jose, CA, USA", "key": "frc254", "country": "USA", "nickname": "The Cheesy Poofs" }` teamRobotsBody := `[ { "team_key": "frc33", "name": "Buzz 22", "key": "frc33_2017", "year": 2017 } ]` teamAwardsBody := `[{ "event_key": "2014cmp", "award_type": 1, "name": "Championship Winners", "recipient_list": [ { "team_number": 254, "awardee": null }, { "team_number": 2848, "awardee": null }, { "team_number": 469, "awardee": null }, { "team_number": 74, "awardee": null } ], "year": 2014 }]` teamMediaBody := `[{ "type": "not_an_avatar", "details": {} }]` eventBody := `{ "name": "Championship" }` tbaServer := httptest.NewServer( http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { if strings.Contains(r.RequestURI, "robots") { fmt.Fprintln(w, teamRobotsBody) } else if strings.Contains(r.RequestURI, "awards") { fmt.Fprintln(w, teamAwardsBody) } else if strings.Contains(r.RequestURI, "media") { fmt.Fprintln(w, teamMediaBody) } else if strings.Contains(r.RequestURI, "team") { fmt.Fprintln(w, teamInfoBody) } else if strings.Contains(r.RequestURI, "event") { fmt.Fprintln(w, eventBody) } else { http.Error(w, "Unexpected request during test", 500) } }, ), ) defer tbaServer.Close() web.arena.TbaClient.BaseUrl = tbaServer.URL // Add some teams. recorder = web.postHttpResponse("/setup/teams", "teamNumbers=254\r\nnotateam\r\n1114\r\n") assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/teams") assert.Contains(t, recorder.Body.String(), "2 teams") assert.Contains(t, recorder.Body.String(), "The Cheesy Poofs") assert.Contains(t, recorder.Body.String(), "1114") team, _ := web.arena.Database.GetTeamById(254) assert.Equal(t, "Bellarmine College Preparatory", team.SchoolName) // Add another team. recorder = web.postHttpResponse("/setup/teams", "teamNumbers=33") assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/teams") assert.Contains(t, recorder.Body.String(), "3 teams") assert.Contains(t, recorder.Body.String(), "33") // Edit a team. recorder = web.getHttpResponse("/setup/teams/254/edit") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "The Cheesy Poofs") recorder = web.postHttpResponse("/setup/teams/254/edit", "nickname=Teh Chezy Pofs") assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/teams") assert.Contains(t, recorder.Body.String(), "Teh Chezy Pofs") // Re-download team info from TBA. recorder = web.getHttpResponse("/setup/teams/refresh") assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/teams") assert.Contains(t, recorder.Body.String(), "The Cheesy Poofs") assert.NotContains(t, recorder.Body.String(), "Teh Chezy Pofs") // Delete a team. recorder = web.postHttpResponse("/setup/teams/1114/delete", "") assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/teams") assert.Contains(t, recorder.Body.String(), "2 teams") // Test clearing all teams. recorder = web.postHttpResponse("/setup/teams/clear", "") assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/teams") assert.Contains(t, recorder.Body.String(), "0 teams") } func TestSetupTeamsDisallowModification(t *testing.T) { web := setupTestWeb(t) web.arena.Database.CreateTeam(&model.Team{Id: 254, Nickname: "The Cheesy Poofs"}) web.arena.Database.CreateMatch(&model.Match{Type: model.Qualification}) // Disallow adding teams. recorder := web.postHttpResponse("/setup/teams", "teamNumbers=33") assert.Contains(t, recorder.Body.String(), "can't modify") assert.Contains(t, recorder.Body.String(), "1 teams") assert.Contains(t, recorder.Body.String(), "The Cheesy Poofs") // Disallow deleting team. recorder = web.postHttpResponse("/setup/teams/254/delete", "") assert.Contains(t, recorder.Body.String(), "can't modify") assert.Contains(t, recorder.Body.String(), "1 teams") assert.Contains(t, recorder.Body.String(), "The Cheesy Poofs") // Disallow clearing all teams. recorder = web.postHttpResponse("/setup/teams/clear", "") assert.Contains(t, recorder.Body.String(), "can't modify") assert.Contains(t, recorder.Body.String(), "1 teams") assert.Contains(t, recorder.Body.String(), "The Cheesy Poofs") // Allow editing a team. recorder = web.postHttpResponse("/setup/teams/254/edit", "nickname=Teh Chezy Pofs") assert.Equal(t, 303, recorder.Code) recorder = web.getHttpResponse("/setup/teams") assert.NotContains(t, recorder.Body.String(), "can't modify") assert.Contains(t, recorder.Body.String(), "1 teams") assert.Contains(t, recorder.Body.String(), "Teh Chezy Pofs") } func TestSetupTeamsBadReqest(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/setup/teams/254/edit") assert.Equal(t, 400, recorder.Code) assert.Contains(t, recorder.Body.String(), "No such team") recorder = web.postHttpResponse("/setup/teams/254/edit", "") assert.Equal(t, 400, recorder.Code) assert.Contains(t, recorder.Body.String(), "No such team") recorder = web.postHttpResponse("/setup/teams/254/delete", "") assert.Equal(t, 400, recorder.Code) assert.Contains(t, recorder.Body.String(), "No such team") } func TestSetupTeamsWpaKeys(t *testing.T) { web := setupTestWeb(t) web.arena.EventSettings.NetworkSecurityEnabled = true team1 := &model.Team{Id: 254, WpaKey: "aaaaaaaa"} team2 := &model.Team{Id: 1114} web.arena.Database.CreateTeam(team1) web.arena.Database.CreateTeam(team2) recorder := web.getHttpResponse("/setup/teams/generate_wpa_keys?all=false") assert.Equal(t, 303, recorder.Code) team1, _ = web.arena.Database.GetTeamById(254) team2, _ = web.arena.Database.GetTeamById(1114) assert.Equal(t, "aaaaaaaa", team1.WpaKey) assert.Equal(t, 8, len(team2.WpaKey)) recorder = web.getHttpResponse("/setup/teams/generate_wpa_keys?all=true") assert.Equal(t, 303, recorder.Code) team1, _ = web.arena.Database.GetTeamById(254) team3, _ := web.arena.Database.GetTeamById(1114) assert.NotEqual(t, "aaaaaaaa", team1.WpaKey) assert.Equal(t, 8, len(team1.WpaKey)) assert.NotEqual(t, team2.WpaKey, team3.WpaKey) assert.Equal(t, 8, len(team3.WpaKey)) // Disallow invalid manual WPA keys. recorder = web.postHttpResponse("/setup/teams/254/edit", "wpa_key=1234567") assert.Equal(t, 500, recorder.Code) assert.Contains(t, recorder.Body.String(), "WPA key must be between 8 and 63 characters") } func TestSetupTeamsProgress(t *testing.T) { web := setupTestWeb(t) progressPercentage = 25.4 recorder := web.getHttpResponse("/setup/teams/progress") assert.Equal(t, 200, recorder.Code) assert.Equal(t, "25", recorder.Body.String()) } ================================================ FILE: web/twitch_display.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for a display to show a configurable Twitch live video stream. package web import ( "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "net/http" ) // Renders the Twitch stream view. func (web *Web) twitchDisplayHandler(w http.ResponseWriter, r *http.Request) { if !web.enforceDisplayConfiguration(w, r, map[string]string{"channel": "team254"}) { return } template, err := web.parseFiles("templates/twitch_display.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings }{web.arena.EventSettings} err = template.ExecuteTemplate(w, "twitch_display.html", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for sending configuration commands to the display. func (web *Web) twitchDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) { display, err := web.registerDisplay(r) if err != nil { handleWebErr(w, err) return } defer web.arena.MarkDisplayDisconnected(display.DisplayConfiguration.Id) ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client. ws.HandleNotifiers(display.Notifier, web.arena.ReloadDisplaysNotifier) } ================================================ FILE: web/twitch_display_test.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" ) func TestTwitchDisplay(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/displays/twitch?displayId=1&channel=team254") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Twitch Stream Display - Untitled Event - Cheesy Arena") } func TestTwitchDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/displays/twitch/websocket?displayId=123", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "displayConfiguration") } ================================================ FILE: web/wall_display.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web handlers for a display that can be shown on a screen supplemental to one with the audience display overlay. package web import ( "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "net/http" ) // Renders the audience display to be chroma keyed over the video feed. func (web *Web) wallDisplayHandler(w http.ResponseWriter, r *http.Request) { if !web.enforceDisplayConfiguration( w, r, map[string]string{ "background": "#000", "message": "", "reversed": "false", "topSpacingPx": "0", "zoomFactor": "1", }, ) { return } template, err := web.parseFiles("templates/wall_display.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings MatchSounds []*game.MatchSound }{web.arena.EventSettings, game.MatchSounds} err = template.ExecuteTemplate(w, "wall_display.html", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for the audience display client to receive status updates. func (web *Web) wallDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) { display, err := web.registerDisplay(r) if err != nil { handleWebErr(w, err) return } defer web.arena.MarkDisplayDisconnected(display.DisplayConfiguration.Id) ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client. ws.HandleNotifiers( display.Notifier, web.arena.MatchTimingNotifier, web.arena.AudienceDisplayModeNotifier, web.arena.MatchLoadNotifier, web.arena.MatchTimeNotifier, web.arena.RealtimeScoreNotifier, web.arena.ReloadDisplaysNotifier, ) } ================================================ FILE: web/wall_display_test.go ================================================ // Copyright 2023 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" ) func TestWallDisplay(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/displays/wall") assert.Equal(t, 302, recorder.Code) assert.Contains(t, recorder.Header().Get("Location"), "displayId=100") assert.Contains(t, recorder.Header().Get("Location"), "background=%23000") assert.Contains(t, recorder.Header().Get("Location"), "message=") assert.Contains(t, recorder.Header().Get("Location"), "reversed=false") assert.Contains(t, recorder.Header().Get("Location"), "topSpacingPx=0") assert.Contains(t, recorder.Header().Get("Location"), "zoomFactor=1") recorder = web.getHttpResponse( "/displays/wall?displayId=1&background=%23fff&message=hello+there&reversed=true&topSpacingPx=10&zoomFactor=2", ) assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Wall Display - Untitled Event - Cheesy Arena") } func TestWallDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/displays/wall/websocket?displayId=1", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "displayConfiguration") readWebsocketType(t, ws, "matchTiming") readWebsocketType(t, ws, "audienceDisplayMode") readWebsocketType(t, ws, "matchLoad") readWebsocketType(t, ws, "matchTime") readWebsocketType(t, ws, "realtimeScore") // Run through a match cycle. web.arena.MatchLoadNotifier.Notify() readWebsocketType(t, ws, "matchLoad") web.arena.AllianceStations["R1"].Bypass = true web.arena.AllianceStations["R2"].Bypass = true web.arena.AllianceStations["R3"].Bypass = true web.arena.AllianceStations["B1"].Bypass = true web.arena.AllianceStations["B2"].Bypass = true web.arena.AllianceStations["B3"].Bypass = true web.arena.StartMatch() web.arena.Update() web.arena.Update() messages := readWebsocketMultiple(t, ws, 2) screen, ok := messages["audienceDisplayMode"] if assert.True(t, ok) { assert.Equal(t, "match", screen) } _, ok = messages["matchTime"] assert.True(t, ok) web.arena.RealtimeScoreNotifier.Notify() readWebsocketType(t, ws, "realtimeScore") } ================================================ FILE: web/web.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Configuration and functions for the event server web interface. package web import ( "fmt" "github.com/Team254/cheesy-arena/game" "log" "net/http" "path/filepath" "strconv" "strings" "text/template" "github.com/Team254/cheesy-arena/field" "github.com/Team254/cheesy-arena/model" ) const ( sessionTokenCookie = "session_token" adminUser = "admin" ) type Web struct { arena *field.Arena templateHelpers template.FuncMap } func NewWeb(arena *field.Arena) *Web { web := &Web{arena: arena} // Helper functions that can be used inside templates. web.templateHelpers = template.FuncMap{ // Allows sub-templates to be invoked with multiple arguments. "dict": func(values ...any) (map[string]any, error) { if len(values)%2 != 0 { return nil, fmt.Errorf("Invalid dict call.") } dict := make(map[string]any, len(values)/2) for i := 0; i < len(values); i += 2 { key, ok := values[i].(string) if !ok { return nil, fmt.Errorf("Dict keys must be strings.") } dict[key] = values[i+1] } return dict, nil }, "add": func(a, b int) int { return a + b }, "itoa": func(a int) string { return strconv.Itoa(a) }, "multiply": func(a, b int) int { return a * b }, "seq": func(count int) []int { seq := make([]int, count) for i := 0; i < count; i++ { seq[i] = i + 1 } return seq }, "toUpper": func(str string) string { return strings.ToUpper(str) }, // MatchType enum values. "testMatch": model.Test.Get, "practiceMatch": model.Practice.Get, "qualificationMatch": model.Qualification.Get, "playoffMatch": model.Playoff.Get, // MatchStatus enum values. "matchScheduled": game.MatchScheduled.Get, "matchHidden": game.MatchHidden.Get, "redWonMatch": game.RedWonMatch.Get, "blueWonMatch": game.BlueWonMatch.Get, "tieMatch": game.TieMatch.Get, } return web } // Starts the webserver and blocks, waiting on requests. Does not return until the application exits. func (web *Web) ServeWebInterface(port int) { http.Handle("/static/", http.StripPrefix("/static/", addNoCacheHeader(http.FileServer(http.Dir("static/"))))) http.Handle("/", web.newHandler()) log.Printf("Serving HTTP requests on port %d", port) // Start Server http.ListenAndServe(fmt.Sprintf(":%d", port), nil) } // Serves the root page of Cheesy Arena. func (web *Web) indexHandler(w http.ResponseWriter, r *http.Request) { template, err := web.parseFiles("templates/index.html", "templates/base.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings }{web.arena.EventSettings} err = template.ExecuteTemplate(w, "base", data) if err != nil { handleWebErr(w, err) return } } // Adds a "Cache-Control: no-cache" header to the given handler to force browser validation of last modified time. func addNoCacheHeader(handler http.Handler) http.Handler { return http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { w.Header().Add("Cache-Control", "no-cache") handler.ServeHTTP(w, r) }, ) } // Sets up the mapping between URLs and handlers. func (web *Web) newHandler() http.Handler { mux := http.NewServeMux() mux.HandleFunc("GET /", web.indexHandler) mux.HandleFunc("GET /alliance_selection", web.allianceSelectionGetHandler) mux.HandleFunc("POST /alliance_selection", web.allianceSelectionPostHandler) mux.HandleFunc("GET /alliance_selection/websocket", web.allianceSelectionWebsocketHandler) mux.HandleFunc("POST /alliance_selection/finalize", web.allianceSelectionFinalizeHandler) mux.HandleFunc("POST /alliance_selection/reset", web.allianceSelectionResetHandler) mux.HandleFunc("POST /alliance_selection/start", web.allianceSelectionStartHandler) mux.HandleFunc("GET /api/alliances", web.alliancesApiHandler) mux.HandleFunc("GET /api/arena/websocket", web.arenaWebsocketApiHandler) mux.HandleFunc("GET /api/bracket/svg", web.bracketSvgApiHandler) mux.HandleFunc("GET /api/matches/{type}", web.matchesApiHandler) mux.HandleFunc("GET /api/rankings", web.rankingsApiHandler) mux.HandleFunc("GET /api/sponsor_slides", web.sponsorSlidesApiHandler) mux.HandleFunc("GET /api/teams/{teamId}/avatar", web.teamAvatarsApiHandler) mux.HandleFunc("GET /display", web.placeholderDisplayHandler) mux.HandleFunc("GET /display/websocket", web.placeholderDisplayWebsocketHandler) mux.HandleFunc("GET /displays/alliance_station", web.allianceStationDisplayHandler) mux.HandleFunc("GET /displays/alliance_station/websocket", web.allianceStationDisplayWebsocketHandler) mux.HandleFunc("GET /displays/announcer", web.announcerDisplayHandler) mux.HandleFunc("GET /displays/announcer/match_load", web.announcerDisplayMatchLoadHandler) mux.HandleFunc("GET /displays/announcer/score_posted", web.announcerDisplayScorePostedHandler) mux.HandleFunc("GET /displays/announcer/websocket", web.announcerDisplayWebsocketHandler) mux.HandleFunc("GET /displays/audience", web.audienceDisplayHandler) mux.HandleFunc("GET /displays/audience/websocket", web.audienceDisplayWebsocketHandler) mux.HandleFunc("GET /displays/bracket", web.bracketDisplayHandler) mux.HandleFunc("GET /displays/bracket/websocket", web.bracketDisplayWebsocketHandler) mux.HandleFunc("GET /displays/field_monitor", web.fieldMonitorDisplayHandler) mux.HandleFunc("GET /displays/field_monitor/websocket", web.fieldMonitorDisplayWebsocketHandler) mux.HandleFunc("GET /displays/logo", web.logoDisplayHandler) mux.HandleFunc("GET /displays/logo/websocket", web.logoDisplayWebsocketHandler) mux.HandleFunc("GET /displays/queueing", web.queueingDisplayHandler) mux.HandleFunc("GET /displays/queueing/match_load", web.queueingDisplayMatchLoadHandler) mux.HandleFunc("GET /displays/queueing/websocket", web.queueingDisplayWebsocketHandler) mux.HandleFunc("GET /displays/rankings", web.rankingsDisplayHandler) mux.HandleFunc("GET /displays/rankings/websocket", web.rankingsDisplayWebsocketHandler) mux.HandleFunc("GET /displays/twitch", web.twitchDisplayHandler) mux.HandleFunc("GET /displays/twitch/websocket", web.twitchDisplayWebsocketHandler) mux.HandleFunc("GET /displays/wall", web.wallDisplayHandler) mux.HandleFunc("GET /displays/wall/websocket", web.wallDisplayWebsocketHandler) mux.HandleFunc("GET /displays/webpage", web.webpageDisplayHandler) mux.HandleFunc("GET /displays/webpage/websocket", web.webpageDisplayWebsocketHandler) mux.HandleFunc("GET /login", web.loginHandler) mux.HandleFunc("POST /login", web.loginPostHandler) mux.HandleFunc("GET /match_play", web.matchPlayHandler) mux.HandleFunc("GET /match_play/match_load", web.matchPlayMatchLoadHandler) mux.HandleFunc("GET /match_play/websocket", web.matchPlayWebsocketHandler) mux.HandleFunc("GET /match_logs", web.matchLogsHandler) mux.HandleFunc("GET /match_logs/{matchId}/{stationId}/log", web.matchLogsViewGetHandler) mux.HandleFunc("GET /match_review", web.matchReviewHandler) mux.HandleFunc("GET /match_review/{matchId}/edit", web.matchReviewEditGetHandler) mux.HandleFunc("POST /match_review/{matchId}/edit", web.matchReviewEditPostHandler) mux.HandleFunc("GET /panels/scoring/{position}", web.scoringPanelHandler) mux.HandleFunc("GET /panels/scoring/{position}/websocket", web.scoringPanelWebsocketHandler) mux.HandleFunc("GET /panels/referee", web.refereePanelHandler) mux.HandleFunc("GET /panels/referee/foul_list", web.refereePanelFoulListHandler) mux.HandleFunc("GET /panels/referee/websocket", web.refereePanelWebsocketHandler) mux.HandleFunc("GET /reports/csv/backups", web.backupTeamsCsvReportHandler) mux.HandleFunc("GET /reports/csv/fta", web.ftaCsvReportHandler) mux.HandleFunc("GET /reports/csv/rankings", web.rankingsCsvReportHandler) mux.HandleFunc("GET /reports/csv/schedule/{type}", web.scheduleCsvReportHandler) mux.HandleFunc("GET /reports/csv/teams", web.teamsCsvReportHandler) mux.HandleFunc("GET /reports/csv/wpa_keys", web.wpaKeysCsvReportHandler) mux.HandleFunc("GET /reports/pdf/alliances", web.alliancesPdfReportHandler) mux.HandleFunc("GET /reports/pdf/backups", web.backupsPdfReportHandler) mux.HandleFunc("GET /reports/pdf/bracket", web.bracketPdfReportHandler) mux.HandleFunc("GET /reports/pdf/coupons", web.couponsPdfReportHandler) mux.HandleFunc("GET /reports/pdf/cycle/{type}", web.cyclePdfReportHandler) mux.HandleFunc("GET /reports/pdf/judging_schedule", web.judgingSchedulePdfReportHandler) mux.HandleFunc("GET /reports/pdf/rankings", web.rankingsPdfReportHandler) mux.HandleFunc("GET /reports/pdf/schedule/{type}", web.schedulePdfReportHandler) mux.HandleFunc("GET /reports/pdf/teams", web.teamsPdfReportHandler) mux.HandleFunc("GET /setup/awards", web.awardsGetHandler) mux.HandleFunc("POST /setup/awards", web.awardsPostHandler) mux.HandleFunc("GET /setup/breaks", web.breaksGetHandler) mux.HandleFunc("POST /setup/breaks", web.breaksPostHandler) mux.HandleFunc("POST /setup/db/clear/{type}", web.clearDbHandler) mux.HandleFunc("POST /setup/db/restore", web.restoreDbHandler) mux.HandleFunc("GET /setup/db/save", web.saveDbHandler) mux.HandleFunc("GET /setup/displays", web.displaysGetHandler) mux.HandleFunc("GET /setup/displays/websocket", web.displaysWebsocketHandler) mux.HandleFunc("GET /setup/field_testing", web.fieldTestingGetHandler) mux.HandleFunc("GET /setup/field_testing/websocket", web.fieldTestingWebsocketHandler) mux.HandleFunc("GET /setup/judging", web.judgingGetHandler) mux.HandleFunc("POST /setup/judging/clear", web.judgingClearPostHandler) mux.HandleFunc("POST /setup/judging/generate", web.judgingGeneratePostHandler) mux.HandleFunc("GET /setup/lower_thirds", web.lowerThirdsGetHandler) mux.HandleFunc("GET /setup/lower_thirds/websocket", web.lowerThirdsWebsocketHandler) mux.HandleFunc("GET /setup/schedule", web.scheduleGetHandler) mux.HandleFunc("POST /setup/schedule/generate", web.scheduleGeneratePostHandler) mux.HandleFunc("POST /setup/schedule/save", web.scheduleSavePostHandler) mux.HandleFunc("GET /setup/settings", web.settingsGetHandler) mux.HandleFunc("POST /setup/settings", web.settingsPostHandler) mux.HandleFunc("GET /setup/settings/publish_alliances", web.settingsPublishAlliancesHandler) mux.HandleFunc("GET /setup/settings/publish_awards", web.settingsPublishAwardsHandler) mux.HandleFunc("GET /setup/settings/publish_matches", web.settingsPublishMatchesHandler) mux.HandleFunc("GET /setup/settings/publish_rankings", web.settingsPublishRankingsHandler) mux.HandleFunc("GET /setup/settings/publish_teams", web.settingsPublishTeamsHandler) mux.HandleFunc("GET /setup/sponsor_slides", web.sponsorSlidesGetHandler) mux.HandleFunc("POST /setup/sponsor_slides", web.sponsorSlidesPostHandler) mux.HandleFunc("GET /setup/teams", web.teamsGetHandler) mux.HandleFunc("POST /setup/teams", web.teamsPostHandler) mux.HandleFunc("POST /setup/teams/{id}/delete", web.teamDeletePostHandler) mux.HandleFunc("GET /setup/teams/{id}/edit", web.teamEditGetHandler) mux.HandleFunc("POST /setup/teams/{id}/edit", web.teamEditPostHandler) mux.HandleFunc("POST /setup/teams/clear", web.teamsClearHandler) mux.HandleFunc("GET /setup/teams/generate_wpa_keys", web.teamsGenerateWpaKeysHandler) mux.HandleFunc("GET /setup/teams/progress", web.teamsUpdateProgressBarHandler) mux.HandleFunc("GET /setup/teams/refresh", web.teamsRefreshHandler) return mux } // Writes the given error out as plain text with a status code of 500. func handleWebErr(w http.ResponseWriter, err error) { log.Printf("HTTP request error: %v", err) http.Error(w, "Internal server error: "+err.Error(), 500) } // Prepends the base directory to the template filenames. func (web *Web) parseFiles(filenames ...string) (*template.Template, error) { var paths []string for _, filename := range filenames { paths = append(paths, filepath.Join(model.BaseDir, filename)) } template := template.New("").Funcs(web.templateHelpers) return template.ParseFiles(paths...) } ================================================ FILE: web/web_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/field" "github.com/Team254/cheesy-arena/game" "github.com/Team254/cheesy-arena/websocket" "github.com/stretchr/testify/assert" "net/http" "net/http/httptest" "strings" "testing" "time" ) func TestIndex(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Home - Untitled Event - Cheesy Arena") } func (web *Web) getHttpResponse(path string) *httptest.ResponseRecorder { recorder := httptest.NewRecorder() req, _ := http.NewRequest("GET", path, nil) web.newHandler().ServeHTTP(recorder, req) return recorder } func (web *Web) getHttpResponseWithHeaders(path string, headers map[string]string) *httptest.ResponseRecorder { recorder := httptest.NewRecorder() req, _ := http.NewRequest("GET", path, nil) for key, value := range headers { req.Header.Set(key, value) } web.newHandler().ServeHTTP(recorder, req) return recorder } func (web *Web) postHttpResponse(path string, body string) *httptest.ResponseRecorder { recorder := httptest.NewRecorder() req, _ := http.NewRequest("POST", path, strings.NewReader(body)) req.Header.Set("Content-Type", "application/x-www-form-urlencoded; param=value") web.newHandler().ServeHTTP(recorder, req) return recorder } // Starts a real local HTTP server that can be used by more sophisticated tests. func (web *Web) startTestServer() (*httptest.Server, string) { server := httptest.NewServer(web.newHandler()) return server, "ws" + server.URL[len("http"):] } // Receives the next websocket message and asserts that it is an error. func readWebsocketError(t *testing.T, ws *websocket.Websocket) string { messageType, data, err := ws.Read() if assert.Nil(t, err) && assert.Equal(t, "error", messageType) { return data.(string) } return "error" } // Receives the next websocket message and asserts that it is of the given type. func readWebsocketType(t *testing.T, ws *websocket.Websocket, expectedMessageType string) any { messageType, message, err := ws.ReadWithTimeout(time.Second) if assert.Nil(t, err) { assert.Equal(t, expectedMessageType, messageType) } return message } func readWebsocketMultiple(t *testing.T, ws *websocket.Websocket, count int) map[string]any { messages := make(map[string]any) for i := 0; i < count; i++ { messageType, message, err := ws.ReadWithTimeout(time.Second) if assert.Nil(t, err) { messages[messageType] = message } } return messages } func setupTestWeb(t *testing.T) *Web { game.MatchTiming.WarmupDurationSec = 3 game.MatchTiming.PauseDurationSec = 2 arena := field.SetupTestArena(t) return NewWeb(arena) } ================================================ FILE: web/webpage_display.go ================================================ // Copyright 2024 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Web routes for a display to show an arbitrary web page. package web import ( "github.com/Team254/cheesy-arena/model" "github.com/Team254/cheesy-arena/websocket" "net/http" ) // Renders the web page view. func (web *Web) webpageDisplayHandler(w http.ResponseWriter, r *http.Request) { if !web.enforceDisplayConfiguration(w, r, map[string]string{"url": "https://www.team254.com"}) { return } template, err := web.parseFiles("templates/webpage_display.html") if err != nil { handleWebErr(w, err) return } data := struct { *model.EventSettings }{web.arena.EventSettings} err = template.ExecuteTemplate(w, "webpage_display.html", data) if err != nil { handleWebErr(w, err) return } } // The websocket endpoint for sending configuration commands to the display. func (web *Web) webpageDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) { display, err := web.registerDisplay(r) if err != nil { handleWebErr(w, err) return } defer web.arena.MarkDisplayDisconnected(display.DisplayConfiguration.Id) ws, err := websocket.NewWebsocket(w, r) if err != nil { handleWebErr(w, err) return } defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on to the client. ws.HandleNotifiers(display.Notifier, web.arena.ReloadDisplaysNotifier) } ================================================ FILE: web/webpage_display_test.go ================================================ // Copyright 2024 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package web import ( "github.com/Team254/cheesy-arena/websocket" gorillawebsocket "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "testing" ) func TestWebpageDisplay(t *testing.T) { web := setupTestWeb(t) recorder := web.getHttpResponse("/displays/webpage?displayId=1&url=https://www.team254.com") assert.Equal(t, 200, recorder.Code) assert.Contains(t, recorder.Body.String(), "Web Page Display - Untitled Event - Cheesy Arena") } func TestWebpageDisplayWebsocket(t *testing.T) { web := setupTestWeb(t) server, wsUrl := web.startTestServer() defer server.Close() conn, _, err := gorillawebsocket.DefaultDialer.Dial(wsUrl+"/displays/webpage/websocket?displayId=123", nil) assert.Nil(t, err) defer conn.Close() ws := websocket.NewTestWebsocket(conn) // Should get a few status updates right after connection. readWebsocketType(t, ws, "displayConfiguration") } ================================================ FILE: websocket/notifier.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Publish-subscribe model for nonblocking notification of server events to websocket clients. package websocket import ( "log" "sync" ) // Allow the listeners to buffer a small number of notifications to streamline delivery. const notifyBufferSize = 5 type Notifier struct { messageType string messageProducer func() any listeners map[chan messageEnvelope]struct{} // The map is essentially a set; the value is ignored. mutex sync.Mutex } type messageEnvelope struct { messageType string messageBody any } func NewNotifier(messageType string, messageProducer func() any) *Notifier { notifier := &Notifier{messageType: messageType, messageProducer: messageProducer} notifier.listeners = make(map[chan messageEnvelope]struct{}) return notifier } // Calls the messageProducer function and sends a message containing the results to all registered listeners, and cleans // up any listeners that have closed. func (notifier *Notifier) Notify() { notifier.NotifyWithMessage(notifier.getMessageBody()) } // Sends the given message to all registered listeners, and cleans up any listeners that have closed. If there is a // messageProducer function defined it is ignored. func (notifier *Notifier) NotifyWithMessage(messageBody any) { notifier.mutex.Lock() defer notifier.mutex.Unlock() message := messageEnvelope{messageType: notifier.messageType, messageBody: messageBody} for listener := range notifier.listeners { notifier.notifyListener(listener, message) } } func (notifier *Notifier) notifyListener(listener chan messageEnvelope, message messageEnvelope) { defer func() { // If channel is closed sending to it will cause a panic; recover and remove it from the list. if r := recover(); r != nil { delete(notifier.listeners, listener) } }() // Do a non-blocking send. This guarantees that sending notifications won't interrupt the main event loop, // at the risk of clients missing some messages if they don't read them all promptly. select { case listener <- message: // The notification was sent and received successfully. default: log.Printf("Failed to send a '%s' notification due to blocked listener.", notifier.messageType) } } // Registers and returns a channel that can be read from to receive notification messages. The caller is // responsible for closing the channel, which will cause it to be reaped from the list of listeners. func (notifier *Notifier) listen() chan messageEnvelope { notifier.mutex.Lock() defer notifier.mutex.Unlock() listener := make(chan messageEnvelope, notifyBufferSize) notifier.listeners[listener] = struct{}{} return listener } // Invokes the message producer to get the message, or returns nil if no producer is defined. func (notifier *Notifier) getMessageBody() any { if notifier.messageProducer == nil { return nil } else { return notifier.messageProducer() } } ================================================ FILE: websocket/notifier_test.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package websocket import ( "github.com/stretchr/testify/assert" "io/ioutil" "log" "testing" ) func TestNotifier(t *testing.T) { notifier := NewNotifier("testMessageType", generateTestMessage) // Should do nothing when there are no listeners. notifier.Notify() notifier.NotifyWithMessage(12345) notifier.NotifyWithMessage(struct{}{}) listener := notifier.listen() notifier.Notify() message := <-listener assert.Equal(t, "testMessageType", message.messageType) assert.Equal(t, "test message", message.messageBody) notifier.NotifyWithMessage(12345) assert.Equal(t, 12345, (<-listener).messageBody) // Should allow multiple messages without blocking. notifier.NotifyWithMessage("message1") notifier.NotifyWithMessage("message2") notifier.Notify() assert.Equal(t, "message1", (<-listener).messageBody) assert.Equal(t, "message2", (<-listener).messageBody) assert.Equal(t, "test message", (<-listener).messageBody) // Should stop sending messages and not block once the buffer is full. log.SetOutput(ioutil.Discard) // Silence noisy log output. for i := 0; i < 20; i++ { notifier.NotifyWithMessage(i) } var value messageEnvelope var lastValue any for lastValue == nil { select { case value = <-listener: default: lastValue = value.messageBody return } } notifier.NotifyWithMessage("next message") assert.True(t, lastValue.(int) < 10) assert.Equal(t, "next message", (<-listener).messageBody) } func TestNotifyMultipleListeners(t *testing.T) { notifier := NewNotifier("testMessageType2", nil) listeners := [50]chan messageEnvelope{} for i := 0; i < len(listeners); i++ { listeners[i] = notifier.listen() } notifier.Notify() notifier.NotifyWithMessage(12345) for listener := range notifier.listeners { assert.Equal(t, nil, (<-listener).messageBody) assert.Equal(t, 12345, (<-listener).messageBody) } // Should reap closed channels automatically. close(listeners[4]) notifier.NotifyWithMessage("message1") assert.Equal(t, 49, len(notifier.listeners)) for listener := range notifier.listeners { assert.Equal(t, "message1", (<-listener).messageBody) } close(listeners[16]) close(listeners[21]) close(listeners[49]) notifier.NotifyWithMessage("message2") assert.Equal(t, 46, len(notifier.listeners)) for listener := range notifier.listeners { assert.Equal(t, "message2", (<-listener).messageBody) } } func generateTestMessage() any { return "test message" } ================================================ FILE: websocket/websocket.go ================================================ // Copyright 2014 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) // // Functions for the server side of handling websockets. package websocket import ( "fmt" "github.com/gorilla/websocket" "io" "log" "net/http" "reflect" "runtime" "strings" "sync" "time" ) const pingInterval = time.Second * 10 // Wraps the Gorilla Websocket module so that we can define additional functions on it. type Websocket struct { conn *websocket.Conn writeMutex *sync.Mutex } type Message struct { Type string `json:"type"` Data any `json:"data"` } var websocketUpgrader = websocket.Upgrader{ReadBufferSize: 1024, WriteBufferSize: 2014} // Upgrades the given HTTP request to a websocket connection. func NewWebsocket(w http.ResponseWriter, r *http.Request) (*Websocket, error) { conn, err := websocketUpgrader.Upgrade(w, r, nil) if err != nil { return nil, err } return &Websocket{conn, new(sync.Mutex)}, nil } func NewTestWebsocket(conn *websocket.Conn) *Websocket { return &Websocket{conn, new(sync.Mutex)} } func (ws *Websocket) Close() error { return ws.conn.Close() } func (ws *Websocket) Read() (string, any, error) { var message Message err := ws.conn.ReadJSON(&message) if websocket.IsCloseError( err, websocket.CloseAbnormalClosure, websocket.CloseGoingAway, websocket.CloseNoStatusReceived, ) { // This error indicates that the browser terminated the connection normally; rewrite it so that clients don't // log it. return "", nil, io.EOF } if err != nil { // Include the caller of this method in the error message. _, file, line, _ := runtime.Caller(1) filePathParts := strings.Split(file, "/") return "", nil, fmt.Errorf("[%s:%d] Websocket read error: %v", filePathParts[len(filePathParts)-1], line, err) } return message.Type, message.Data, nil } func (ws *Websocket) ReadWithTimeout(timeout time.Duration) (string, any, error) { type wsReadResult struct { messageType string message any err error } readChan := make(chan wsReadResult, 1) go func() { messageType, message, err := ws.Read() readChan <- wsReadResult{messageType, message, err} }() select { case result := <-readChan: return result.messageType, result.message, result.err case <-time.After(timeout): return "", nil, fmt.Errorf("Websocket read timed out after waiting for %v", timeout) } } func (ws *Websocket) Write(messageType string, data any) error { ws.writeMutex.Lock() defer ws.writeMutex.Unlock() err := ws.conn.WriteJSON(Message{messageType, data}) if err != nil { // Include the caller of this method in the error message. _, file, line, _ := runtime.Caller(1) filePathParts := strings.Split(file, "/") return fmt.Errorf("[%s:%d] Websocket write error: %v", filePathParts[len(filePathParts)-1], line, err) } return nil } func (ws *Websocket) WriteNotifier(notifier *Notifier) error { return ws.Write(notifier.messageType, notifier.getMessageBody()) } func (ws *Websocket) WriteError(errorMessage string) error { return ws.Write("error", errorMessage) } // Creates listeners for the given notifiers and loops forever to pass their output directly through to the websocket. func (ws *Websocket) HandleNotifiers(notifiers ...*Notifier) { // Use reflection to dynamically build a select/case structure for all the notifiers. listeners := make([]reflect.SelectCase, len(notifiers)) for i, notifier := range notifiers { listener := notifier.listen() defer close(listener) listeners[i] = reflect.SelectCase{Dir: reflect.SelectRecv, Chan: reflect.ValueOf(listener)} // Send each notifier's respective data immediately upon connection to bootstrap the client state. if notifier.messageProducer != nil { err := ws.WriteNotifier(notifier) if err != nil { log.Printf("Websocket error writing inital value for notifier %v: %v", notifier, err) return } } } // Add an additional case to periodically ping the websocket to detect whether the client has closed it. pingCase := reflect.SelectCase{Dir: reflect.SelectRecv, Chan: reflect.ValueOf(time.Tick(pingInterval))} pingIndex := len(listeners) listeners = append(listeners, pingCase) for { // Block until a message is available on any of the channels. chosenIndex, value, ok := reflect.Select(listeners) if ok && chosenIndex == pingIndex { err := ws.Write("ping", nil) if err != nil { // The client has probably closed the connection; bail out of the loop. return } continue } if !ok { log.Printf("Channel for notifier %v closed unexpectedly.", notifiers[chosenIndex]) return } message, ok := value.Interface().(messageEnvelope) if !ok { log.Printf("Channel for notifier %v sent unexpected value %v.", notifiers[chosenIndex], value) continue } // Forward the message verbatim on to the websocket. err := ws.Write(message.messageType, message.messageBody) if err != nil { // The client has probably closed the connection; bail out of the loop. return } } } ================================================ FILE: websocket/websocket_test.go ================================================ // Copyright 2018 Team 254. All Rights Reserved. // Author: pat@patfairbank.com (Patrick Fairbank) package websocket import ( "github.com/gorilla/websocket" "github.com/stretchr/testify/assert" "io" "net/http" "net/http/httptest" "testing" "time" ) func TestWebsocket(t *testing.T) { // Set up some fake notifiers. notifier1 := NewNotifier("messageType1", func() any { return "test message" }) notifier2 := NewNotifier("messageType2", nil) changingValue := 123.45 notifier3 := NewNotifier("messageType3", func() any { return changingValue }) // Start up a fake server with a trivial websocket handler. testWebsocketHandler := func(w http.ResponseWriter, r *http.Request) { ws, err := NewWebsocket(w, r) assert.Nil(t, err) defer ws.Close() // Subscribe the websocket to the notifiers whose messages will be passed on, in a separate goroutine. go ws.HandleNotifiers(notifier3, notifier2, notifier1) // Loop, waiting for commands and responding to them, until the client closes the connection. for { messageType, data, err := ws.Read() if err != nil { if err == io.EOF { // Client has closed the connection; nothing to do here. return } else { assert.Fail(t, err.Error()) return } } switch messageType { case "sendMessageType1": ws.WriteNotifier(notifier1) case "sendError": ws.WriteError("error message") default: // Echo the commands back out. err = ws.Write(messageType, data) assert.Nil(t, err) } } } handler := http.NewServeMux() handler.HandleFunc("/", testWebsocketHandler) server := httptest.NewServer(handler) defer server.Close() wsUrl := "ws" + server.URL[len("http"):] // Create a client connection to the websocket handler on the server. conn, _, err := websocket.DefaultDialer.Dial(wsUrl, nil) assert.Nil(t, err) ws := NewTestWebsocket(conn) // Ensure the initial messages are sent upon connection. assertMessage(t, ws, "messageType3", changingValue) assertMessage(t, ws, "messageType1", "test message") // Trigger and read notifications. notifier2.Notify() assertMessage(t, ws, "messageType2", nil) notifier1.Notify() assertMessage(t, ws, "messageType1", "test message") notifier3.Notify() assertMessage(t, ws, "messageType3", changingValue) changingValue = 254.254 notifier3.Notify() assertMessage(t, ws, "messageType3", changingValue) notifier1.NotifyWithMessage("test message 2") assertMessage(t, ws, "messageType1", "test message 2") notifier3.NotifyWithMessage("test message 3") assertMessage(t, ws, "messageType3", "test message 3") // Test sending commands back. ws.Write("sendMessageType1", nil) assertMessage(t, ws, "messageType1", "test message") ws.Write("messageType4", "test message 4") assertMessage(t, ws, "messageType4", "test message 4") ws.Write("sendError", nil) assertMessage(t, ws, "error", "error message") // Ensure the read times out if there is nothing to read. _, _, err = ws.ReadWithTimeout(time.Millisecond) if assert.NotNil(t, err) { assert.Contains(t, err.Error(), "timed out") } // Test that closing the connection eliminates the listeners once another message is sent. assert.Nil(t, ws.Close()) time.Sleep(time.Millisecond) notifier1.Notify() time.Sleep(time.Millisecond) notifier1.Notify() assert.Equal(t, 0, len(notifier1.listeners)) } func assertMessage(t *testing.T, ws *Websocket, expectedMessageType string, expectedMessageBody any) { messageType, messageBody, err := ws.ReadWithTimeout(time.Second) if assert.Nil(t, err) { assert.Equal(t, expectedMessageType, messageType) assert.Equal(t, expectedMessageBody, messageBody) } }