From 9ec35c8babef0400767c5b212d868c30e8feacb2 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 15 May 2012 16:29:38 +0200 Subject: [PATCH 001/339] uncompilable interims state, trying to refactor Leaderboard/FlexibleLeaderboard and RaceColumn to understand Fleets --- .../domain/common/RegattaNameAndRaceName.java | 2 +- .../persistence/MongoObjectFactory.java | 7 +- .../impl/DomainObjectFactoryImpl.java | 52 +++++- .../domain/persistence/impl/FieldNames.java | 2 + ...aderboardImplWithDelayedCarriedPoints.java | 29 ++-- .../impl/MongoObjectFactoryImpl.java | 23 ++- .../test/LeaderboardForKielWeekTest.java | 6 +- .../domain/test/LeaderboardOfflineTest.java | 18 +- .../base/{RaceArea.java => CourseArea.java} | 2 +- .../com/sap/sailing/domain/base/Venue.java | 2 +- .../leaderboard/FlexibleLeaderboard.java | 61 +++++++ .../domain/leaderboard/Leaderboard.java | 47 +----- .../domain/leaderboard/RaceColumn.java | 78 +++++++-- ...Impl.java => AbstractLeaderboardImpl.java} | 159 ++++++------------ .../impl/FlexibleLeaderboardImpl.java | 121 +++++++++++++ .../leaderboard/impl/RaceColumnImpl.java | 72 ++++++-- .../leaderboard/impl/RegattaLeaderboard.java | 39 +++++ .../leaderboard/impl/ScoreCorrectionImpl.java | 2 +- .../ui/test/GwtTestCaseColumnToggling.java | 2 +- .../adminconsole/LeaderboardConfigPanel.java | 12 +- .../sailing/gwt/ui/client/SailingService.java | 12 +- .../gwt/ui/client/SailingServiceAsync.java | 15 +- .../gwt/ui/leaderboard/LeaderboardPanel.java | 16 +- .../gwt/ui/leaderboard/TVViewPanel.java | 4 +- .../gwt/ui/server/SailingServiceImpl.java | 40 ++--- .../sailing/gwt/ui/shared/LeaderboardDTO.java | 10 +- .../gwt/ui/shared/LeaderboardGroupDTO.java | 2 +- .../gwt/ui/shared/PlacemarkOrderDTO.java | 4 + .../gwt/ui/shared/RaceInLeaderboardDTO.java | 95 ++++++++--- .../LeaderboardGroupOverviewPanel.java | 6 +- .../ui/spectator/LeaderboardGroupPanel.java | 8 +- ...StoringAndRetrievingLeaderboardGroups.java | 37 ++-- .../TestStoringAndRetrievingLeaderboards.java | 49 +++--- .../test/TrackRaceReplicationTest.java | 8 +- .../sailing/server/RacingEventService.java | 3 +- .../server/impl/RacingEventServiceImpl.java | 52 +++--- ...ConnectTrackedRaceToLeaderboardColumn.java | 6 +- ...nnectLeaderboardColumnFromTrackedRace.java | 7 +- 38 files changed, 732 insertions(+), 378 deletions(-) rename java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/{RaceArea.java => CourseArea.java} (83%) create mode 100755 java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java rename java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/{LeaderboardImpl.java => AbstractLeaderboardImpl.java} (73%) mode change 100644 => 100755 create mode 100644 java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java create mode 100755 java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RegattaLeaderboard.java diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/RegattaNameAndRaceName.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/RegattaNameAndRaceName.java index c14b1f9f899..cd6e6f6a3ca 100755 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/RegattaNameAndRaceName.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/RegattaNameAndRaceName.java @@ -30,7 +30,7 @@ public class RegattaNameAndRaceName extends RegattaName implements RegattaAndRac } @Override public String toString() { - return raceName; + return getRegattaName()+"/"+getRaceName(); } @Override diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java index 9bf3f650294..0acd2d7b5de 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java @@ -1,14 +1,13 @@ package com.sap.sailing.domain.persistence; import com.mongodb.DBObject; -import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.RaceDefinition; -import com.sap.sailing.domain.common.RaceIdentifier; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.common.WindSource; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; -import com.sap.sailing.domain.tracking.TrackedRegatta; import com.sap.sailing.domain.tracking.TrackedRace; +import com.sap.sailing.domain.tracking.TrackedRegatta; /** * Offers methods to construct {@link DBObject MongoDB objects} from domain objects. @@ -37,8 +36,6 @@ public interface MongoObjectFactory { void renameLeaderboard(String oldName, String newName); - void storeRaceIdentifier(RaceIdentifier raceIdentifier, DBObject dbObject); - /** * Stores the group, if it doesn't exist or updates it.
* Leaderboards in the group, which aren't stored in the database, will be stored. diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index e9e41a117c1..30fdeb68e94 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -3,6 +3,7 @@ package com.sap.sailing.domain.persistence.impl; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.logging.Level; @@ -15,15 +16,16 @@ import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBObject; -import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceDefinition; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.SpeedWithBearing; import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl; import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; -import com.sap.sailing.domain.common.RegattaNameAndRaceName; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.Position; import com.sap.sailing.domain.common.RaceIdentifier; +import com.sap.sailing.domain.common.RegattaNameAndRaceName; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.WindSource; import com.sap.sailing.domain.common.WindSourceType; @@ -155,14 +157,31 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { discardIndexResultsStartingWithHowManyRaces[i++] = (Integer) discardingThresholdAsObject; } ThresholdBasedResultDiscardingRule resultDiscardingRule = new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces); + // TODO should this be a FlexibleLeaderboard or a RegattaLeaderboard? LeaderboardImplWithDelayedCarriedPoints result = new LeaderboardImplWithDelayedCarriedPoints( (String) o.get(FieldNames.LEADERBOARD_NAME.name()), scoreCorrection, resultDiscardingRule); BasicDBList dbRaceColumns = (BasicDBList) o.get(FieldNames.LEADERBOARD_COLUMNS.name()); for (Object dbRaceColumnAsObject : dbRaceColumns) { BasicDBObject dbRaceColumn = (BasicDBObject) dbRaceColumnAsObject; + Map raceIdentifiers = loadRaceIdentifiers(dbRaceColumn); + RaceIdentifier defaultFleetRaceIdentifier = raceIdentifiers.get(null); + if (defaultFleetRaceIdentifier != null) { + Fleet defaultFleet = result.getFleet(null); + if (defaultFleet != null) { + raceIdentifiers.put(defaultFleet.getName(), defaultFleetRaceIdentifier); + } else { + raceIdentifiers.remove(null); // leaderboard has no default fleet; don't know what to do with default RaceIdentifier + logger.warning("Discarding RaceIdentifier "+defaultFleetRaceIdentifier+" for default fleet for leaderboard "+result.getName()+ + " because no default fleet was found in leaderboard"); + } + } + List fleets = new ArrayList(); + for (String fleetName : ) + for (Map.Entry e : raceIdentifiers.entrySet()) { + + } RaceColumn raceColumn = result.addRaceColumn((String) dbRaceColumn.get(FieldNames.LEADERBOARD_COLUMN_NAME.name()), (Boolean) dbRaceColumn.get(FieldNames.LEADERBOARD_IS_MEDAL_RACE_COLUMN.name())); - raceColumn.setRaceIdentifier(loadRaceIdentifier(dbRaceColumn)); } DBObject carriedPoints = (DBObject) o.get(FieldNames.LEADERBOARD_CARRIED_POINTS.name()); if (carriedPoints != null) { @@ -199,6 +218,33 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { return result; } + /** + * Expects a DBObject under the key {@link FieldNames#RACE_IDENTIFIERS} whose keys are the fleet names and whose + * values are the race identifiers as DBObjects (see {@link #loadRaceIdentifier(DBObject)}). If legacy DB instances + * have a {@link RaceIdentifier} that is not associated with a fleet name, it may be stored directly in the + * dbRaceColumn. In this case, it is returned with null as the fleet name key. + * + * @return a map with fleet names as key and the corresponding fleet's race identifier as value; the special + * null key is used to identify a "default fleet" for backward compatibility with stored + * leaderboards which don't know about fleets yet; this key should be mapped to the leaderboard's default + * fleet. + */ + private Map loadRaceIdentifiers(BasicDBObject dbRaceColumn) { + Map result = new HashMap(); + // try to load a deprecated single race identifier to associate with the default fleet: + RaceIdentifier singleLegacyRaceIdentifier = loadRaceIdentifier(dbRaceColumn); + if (singleLegacyRaceIdentifier != null) { + result.put(null, singleLegacyRaceIdentifier); + } + DBObject raceIdentifiersPerFleet = (DBObject) dbRaceColumn.get(FieldNames.RACE_IDENTIFIERS.name()); + if (raceIdentifiersPerFleet != null) { + for (String fleetName : raceIdentifiersPerFleet.keySet()) { + result.put(fleetName, loadRaceIdentifier((DBObject) raceIdentifiersPerFleet.get(fleetName))); + } + } + return result; + } + @Override public LeaderboardGroup loadLeaderboardGroup(String name) { DBCollection leaderboardGroupCollection = database.getCollection(CollectionNames.LEADERBOARD_GROUPS.name()); diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java index cc56eef676f..98867b5903a 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java @@ -4,6 +4,8 @@ public enum FieldNames { // general: TIME_AS_MILLIS, KNOT_SPEED, DEGREE_BEARING, LAT_DEG, LNG_DEG, + FLEET, RACE_IDENTIFIERS, + /** * TODO this will have to be renamed to REGATTA_NAME, but compatibility concerns keep us from doing so at the moment */ diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/LeaderboardImplWithDelayedCarriedPoints.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/LeaderboardImplWithDelayedCarriedPoints.java index 6374c72c411..d1ef9ac8017 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/LeaderboardImplWithDelayedCarriedPoints.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/LeaderboardImplWithDelayedCarriedPoints.java @@ -1,16 +1,19 @@ package com.sap.sailing.domain.persistence.impl; +import java.util.Arrays; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import com.sap.sailing.domain.base.Competitor; +import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.RaceColumn; import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; -import com.sap.sailing.domain.leaderboard.impl.LeaderboardImpl; +import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.RaceColumnImpl; import com.sap.sailing.domain.tracking.TrackedRace; @@ -29,7 +32,7 @@ import com.sap.sailing.domain.tracking.TrackedRace; * @author Axel Uhl (d043530) * */ -public class LeaderboardImplWithDelayedCarriedPoints extends LeaderboardImpl { +public class LeaderboardImplWithDelayedCarriedPoints extends FlexibleLeaderboardImpl { private static final long serialVersionUID = -8933075542228571746L; private final Map carriedPointsByCompetitorName; private final Map> maxPointsReasonsByCompetitorName; @@ -37,7 +40,7 @@ public class LeaderboardImplWithDelayedCarriedPoints extends LeaderboardImpl { private final Map displayNamesByCompetitorName; /** - * A wrapper for {@link RaceColumn} that, when its {@link #setTrackedRace(TrackedRace)} method is called, + * A wrapper for {@link RaceColumn} that, when its {@link #setTrackedRace(Fleet, TrackedRace)} method is called, * additionally calls {@link LeaderboardImplWithDelayedCarriedPoints#assignLeftOvers(TrackedRace)}. * * @author Axel Uhl (D043530) @@ -45,13 +48,13 @@ public class LeaderboardImplWithDelayedCarriedPoints extends LeaderboardImpl { private class RaceInLeaderboardForDelayedCarriedPoints extends RaceColumnImpl { private static final long serialVersionUID = -1243132535406059096L; - public RaceInLeaderboardForDelayedCarriedPoints(Leaderboard leaderboard, String name, boolean medalRace) { - super(name, medalRace); + public RaceInLeaderboardForDelayedCarriedPoints(Leaderboard leaderboard, String name, boolean medalRace, Fleet... fleets) { + super(name, medalRace, fleets==null ? Collections.singletonList(defaultFleet) : Arrays.asList(fleets)); } @Override - public void setTrackedRace(TrackedRace trackedRace) { - super.setTrackedRace(trackedRace); + public void setTrackedRace(Fleet fleet, TrackedRace trackedRace) { + super.setTrackedRace(fleet, trackedRace); if (trackedRace != null) { assignLeftOvers(trackedRace); } @@ -69,15 +72,15 @@ public class LeaderboardImplWithDelayedCarriedPoints extends LeaderboardImpl { private void assertNoTrackedRaceAssociatedYet() { for (RaceColumn raceColumn : getRaceColumns()) { - if (raceColumn.getTrackedRace() != null) { + if (raceColumn.hasTrackedRaces()) { throw new IllegalStateException("Can't enqueue competitor name-based state while tracked races are already associated with leaderboard"); } } } @Override - protected RaceColumnImpl createRaceColumn(String columnName, boolean medalRace) { - return new RaceInLeaderboardForDelayedCarriedPoints(this, columnName, medalRace); + protected RaceColumnImpl createRaceColumn(String columnName, boolean medalRace, Fleet... fleets) { + return new RaceInLeaderboardForDelayedCarriedPoints(this, columnName, medalRace, fleets); } public void setCarriedPoints(String competitorName, int carriedPoints) { @@ -106,13 +109,13 @@ public class LeaderboardImplWithDelayedCarriedPoints extends LeaderboardImpl { } /** - * Performs the regular {@link LeaderboardImpl#addRace(TrackedRace, String, boolean)} and then checks if + * Performs the regular {@link FlexibleLeaderboardImpl#addRace(TrackedRace, String, boolean)} and then checks if * there are any carried points etc. left over to assign to the competitor objects (see * {@link #assignLeftOvers(TrackedRace)}). */ @Override - public RaceColumn addRace(TrackedRace race, String columnName, boolean medalRace) { - RaceColumn result = super.addRace(race, columnName, medalRace); + public RaceColumn addRace(TrackedRace race, String columnName, boolean medalRace, Fleet fleet) { + RaceColumn result = super.addRace(race, columnName, medalRace, fleet); assignLeftOvers(race); return result; } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java index bfa1f9a47ab..9d6567f817b 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java @@ -10,8 +10,9 @@ import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBObject; import com.sap.sailing.domain.base.Competitor; -import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceDefinition; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.SpeedWithBearing; import com.sap.sailing.domain.base.Timed; import com.sap.sailing.domain.common.Bearing; @@ -25,8 +26,8 @@ import com.sap.sailing.domain.leaderboard.RaceColumn; import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.persistence.MongoObjectFactory; import com.sap.sailing.domain.tracking.Positioned; -import com.sap.sailing.domain.tracking.TrackedRegatta; import com.sap.sailing.domain.tracking.TrackedRace; +import com.sap.sailing.domain.tracking.TrackedRegatta; import com.sap.sailing.domain.tracking.Wind; import com.sap.sailing.domain.tracking.WindTrack; @@ -96,8 +97,20 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { return result; } - @Override - public void storeRaceIdentifier(RaceIdentifier raceIdentifier, DBObject dbObject) { + private void storeRaceIdentifiers(RaceColumn raceColumn, DBObject dbObject) { + BasicDBObject raceIdentifiersPerFleet = new BasicDBObject(); + for (Fleet fleet : raceColumn.getFleets()) { + RaceIdentifier raceIdentifier = raceColumn.getRaceIdentifier(fleet); + if (raceIdentifier != null) { + DBObject raceIdentifierForFleet = new BasicDBObject(); + storeRaceIdentifier(dbObject, raceIdentifier); + raceIdentifiersPerFleet.put(fleet.getName(), raceIdentifierForFleet); + } + } + dbObject.put(FieldNames.RACE_IDENTIFIERS.name(), raceIdentifiersPerFleet); + } + + private void storeRaceIdentifier(DBObject dbObject, RaceIdentifier raceIdentifier) { if (raceIdentifier != null) { dbObject.put(FieldNames.EVENT_NAME.name(), raceIdentifier.getRegattaName()); dbObject.put(FieldNames.RACE_NAME.name(), raceIdentifier.getRaceName()); @@ -122,7 +135,7 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { BasicDBObject dbRaceColumn = new BasicDBObject(); dbRaceColumn.put(FieldNames.LEADERBOARD_COLUMN_NAME.name(), raceColumn.getName()); dbRaceColumn.put(FieldNames.LEADERBOARD_IS_MEDAL_RACE_COLUMN.name(), raceColumn.isMedalRace()); - storeRaceIdentifier(raceColumn.getRaceIdentifier(), dbRaceColumn); + storeRaceIdentifiers(raceColumn, dbRaceColumn); dbRaceColumns.add(dbRaceColumn); } if (leaderboard.hasCarriedPoints()) { diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardForKielWeekTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardForKielWeekTest.java index 7d50becf13f..52dd9707914 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardForKielWeekTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardForKielWeekTest.java @@ -18,7 +18,7 @@ import com.sap.sailing.domain.common.impl.DegreeBearingImpl; import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.domain.common.impl.WindSourceImpl; import com.sap.sailing.domain.leaderboard.RaceColumn; -import com.sap.sailing.domain.leaderboard.impl.LeaderboardImpl; +import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; import com.sap.sailing.domain.tracking.impl.WindImpl; @@ -26,7 +26,7 @@ import com.sap.sailing.domain.tractracadapter.ReceiverType; public class LeaderboardForKielWeekTest extends OnlineTracTracBasedTest { - private LeaderboardImpl leaderboard; + private FlexibleLeaderboardImpl leaderboard; public LeaderboardForKielWeekTest() throws MalformedURLException, URISyntaxException { super(); @@ -34,7 +34,7 @@ public class LeaderboardForKielWeekTest extends OnlineTracTracBasedTest { @Test public void leaderboardWithOneRaceTest() throws URISyntaxException, NoWindException, IOException, InterruptedException { - leaderboard = new LeaderboardImpl("Kiel Week 2011 505s", new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(new int[] { 3, 6 })); + leaderboard = new FlexibleLeaderboardImpl("Kiel Week 2011 505s", new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(new int[] { 3, 6 })); MillisecondsTimePoint now = MillisecondsTimePoint.now(); loadRace("357c700a-9d9a-11e0-85be-406186cbf87c"); // 505 Race 2 Competitor hasso = getCompetitorByName("Dr.Plattner"); diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardOfflineTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardOfflineTest.java index b7b4fa87315..07559e6256e 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardOfflineTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardOfflineTest.java @@ -29,7 +29,7 @@ import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.RaceColumn; -import com.sap.sailing.domain.leaderboard.impl.LeaderboardImpl; +import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; import com.sap.sailing.domain.tracking.TrackedRace; @@ -98,7 +98,7 @@ public class LeaderboardOfflineTest { @Test public void ensureMedalRaceParamIsIgnoredIfRaceColumnAlreadyExists() { - Leaderboard leaderboard = new LeaderboardImpl("Test Leaderboard", new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( + Leaderboard leaderboard = new FlexibleLeaderboardImpl("Test Leaderboard", new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( new int[] { 5, 8 })); final String columnName = "abc"; setupRaces(1, 0); @@ -120,7 +120,7 @@ public class LeaderboardOfflineTest { testRaces.add(r); // hash set should take care of more or less randomly permuting the races } ScoreCorrectionImpl scoreCorrection = new ScoreCorrectionImpl(); - Leaderboard leaderboard = new LeaderboardImpl("Test Leaderboard", scoreCorrection, new ResultDiscardingRuleImpl( + Leaderboard leaderboard = new FlexibleLeaderboardImpl("Test Leaderboard", scoreCorrection, new ResultDiscardingRuleImpl( new int[] { 1 })); int i=0; int bestScore = Integer.MAX_VALUE; @@ -136,7 +136,7 @@ public class LeaderboardOfflineTest { } scoreCorrection.setMaxPointsReason(competitor, bestScoringRaceColumn, MaxPointsReason.DSQ); // assert that best scoring but now disqualified race gets max net points because of disqualification: - assertEquals(Util.size(bestScoringRaceColumn.getTrackedRace().getRace().getCompetitors())+1, + assertEquals(Util.size(bestScoringRaceColumn.getTrackedRace(fleet).getRace().getCompetitors())+1, leaderboard.getEntry(competitor, bestScoringRaceColumn, MillisecondsTimePoint.now()).getNetPoints()); // now assert that it gets discarded because due to disqualification it scores worse than all others: assertEquals(0, leaderboard.getEntry(competitor, bestScoringRaceColumn, MillisecondsTimePoint.now()).getTotalPoints()); @@ -145,7 +145,7 @@ public class LeaderboardOfflineTest { protected void testLeaderboard(int numberOfStartedRaces, int numberOfNotStartedRaces, int firstDiscardingThreshold, int secondDiscardingThreshold, Integer carry, boolean addOneMedalRace, int numberOfUntrackedRaces) throws NoWindException { setupRaces(numberOfStartedRaces, numberOfNotStartedRaces); - Leaderboard leaderboard = new LeaderboardImpl("Test Leaderboard", new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( + Leaderboard leaderboard = new FlexibleLeaderboardImpl("Test Leaderboard", new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( new int[] { firstDiscardingThreshold, secondDiscardingThreshold })); int i=0; for (TrackedRace race : testRaces) { @@ -164,8 +164,8 @@ public class LeaderboardOfflineTest { List ranksOfNonMedalStartedRaces = new ArrayList(); TimePoint now = MillisecondsTimePoint.now(); for (RaceColumn column : raceColumnsInLeaderboard.values()) { - if (!column.isMedalRace() && column.getTrackedRace() != null && column.getTrackedRace().hasStarted(now)) { - ranksOfNonMedalStartedRaces.add(column.getTrackedRace().getRank(competitor, now)); + if (!column.isMedalRace() && column.getTrackedRace(fleet) != null && column.getTrackedRace(fleet).hasStarted(now)) { + ranksOfNonMedalStartedRaces.add(column.getTrackedRace(fleet).getRank(competitor, now)); } } Collections.sort(ranksOfNonMedalStartedRaces); @@ -210,8 +210,8 @@ public class LeaderboardOfflineTest { private int getMedalRacePoints(Competitor competitor, TimePoint at) throws NoWindException { for (TrackedRace r : testRaces) { if (raceColumnsInLeaderboard.get(r) != null && raceColumnsInLeaderboard.get(r).isMedalRace() && - raceColumnsInLeaderboard.get(r).getTrackedRace().hasStarted(at)) { - return raceColumnsInLeaderboard.get(r).getTrackedRace().getRank(competitor, at); + raceColumnsInLeaderboard.get(r).getTrackedRace(fleet).hasStarted(at)) { + return raceColumnsInLeaderboard.get(r).getTrackedRace(fleet).getRank(competitor, at); } } return 0; diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceArea.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/CourseArea.java similarity index 83% rename from java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceArea.java rename to java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/CourseArea.java index f5bdd9398d1..d7962cd1836 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceArea.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/CourseArea.java @@ -9,6 +9,6 @@ import com.sap.sailing.domain.common.Named; * @author Axel Uhl (D043530) * */ -public interface RaceArea extends Named { +public interface CourseArea extends Named { } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Venue.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Venue.java index 8266d5e670f..8ae8e529db2 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Venue.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Venue.java @@ -9,5 +9,5 @@ import com.sap.sailing.domain.common.Named; * */ public interface Venue extends Named { - Iterable getRaceAreas(); + Iterable getCourseAreas(); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java new file mode 100755 index 00000000000..457ad9341cc --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java @@ -0,0 +1,61 @@ +package com.sap.sailing.domain.leaderboard; + +import com.sap.sailing.domain.base.Fleet; + +import com.sap.sailing.domain.base.Series; +import com.sap.sailing.domain.tracking.TrackedRace; + +/** + * A leaderboard that allows its clients to flexibly modify the race columns arranged in this leaderboard without the need to adhere + * to the constraints of a {@link Regatta} with its {@link Series} and {@link Fleet}s. + * + * @author Axel Uhl (D043530) + * + */ +public interface FlexibleLeaderboard extends Leaderboard { + /** + * Moves the column with the name name up. + * @param name The name of the column to move. + */ + void moveRaceColumnUp(String name); + + /** + * Moves the column with the name name down. + * @param name The name of the column to move. + */ + void moveRaceColumnDown(String name); + + /** + * Adds a new {@link RaceColumn} that has no {@link TrackedRace} associated yet to this leaderboard. + * + * @param medalRace + * tells if the column to add represents a medal race which has double score and cannot be discarded + * @param fleets + * the fleets to add to the {@link RaceColumn} created. If no fleets are specified, a single default + * fleet will be assigned to the race column created. + * + * @return the race column in the leaderboard used to represent the tracked race + */ + RaceColumn addRaceColumn(String name, boolean medalRace, Fleet... fleets); + + /** + * Adds a tracked race to this leaderboard. If a {@link RaceColumn} with name columnName already exists + * in this leaderboard, race is {@link RaceColumn#setTrackedRace(Fleet, TrackedRace) set as its tracked + * race} and medalRace is ignored. Otherwise, a new {@link RaceColumn} column, with race + * as its tracked race, is created and added to this leaderboard. + * + * @param medalRace + * tells if the column to add represents a medal race which has double score and cannot be discarded; + * ignored if the column named columnName already exists + * + * @param fleets + * the fleets to add to the {@link RaceColumn} created. If no fleets are specified, a single default + * fleet will be assigned to the race column created. + * + * @return the race column in the leaderboard used to represent the tracked race + */ + RaceColumn addRace(TrackedRace race, String columnName, boolean medalRace, Fleet fleet); + + void removeRaceColumn(String columnName); + +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java index dbc030b8708..446237708ba 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java @@ -3,6 +3,7 @@ package com.sap.sailing.domain.leaderboard; import java.util.Map; import com.sap.sailing.domain.base.Competitor; +import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.Named; import com.sap.sailing.domain.common.NoWindException; @@ -51,6 +52,14 @@ public interface Leaderboard extends Named { */ Iterable getCompetitors(); + /** + * Returns the first fleet found in the sequence of this leaderboard's {@link #getRaceColumns() race columns}' + * {@link RaceColumn#getFleets() fleets} whose name equals fleetName. If no such fleet is found, + * null is returned. If fleetName is null, the leaderboard may return + * a default fleet if it has one, or null otherwise. + */ + Fleet getFleet(String fleetName); + Entry getEntry(Competitor competitor, RaceColumn race, TimePoint timePoint) throws NoWindException; /** @@ -108,21 +117,6 @@ public interface Leaderboard extends Named { */ boolean isDiscarded(Competitor competitor, RaceColumn raceColumn, TimePoint timePoint); - /** - * Adds a tracked race to this leaderboard. If a {@link RaceColumn} with name columnName already - * exists in this leaderboard, race is {@link RaceColumn#setTrackedRace(TrackedRace) set as its - * tracked race} and medalRace is ignored. Otherwise, a new - * {@link RaceColumn} column, with race as its tracked race, is created and added to this - * leaderboard. - * - * @param medalRace - * tells if the column to add represents a medal race which has double score and cannot be discarded; - * ignored if the column named columnName already exists - * - * @return the race column in the leaderboard used to represent the tracked race - */ - RaceColumn addRace(TrackedRace race, String columnName, boolean medalRace); - /** * Sums up the {@link #getTotalPoints(Competitor, TrackedRace, TimePoint) total points} of competitor * across all races tracked by this leaderboard. @@ -147,15 +141,6 @@ public interface Leaderboard extends Named { */ void setName(String newName); - /** - * Adds a new {@link RaceColumn} that has no {@link TrackedRace} associated yet to this leaderboard. - * @param medalRace - * tells if the column to add represents a medal race which has double score and cannot be discarded - * - * @return the race column in the leaderboard used to represent the tracked race - */ - RaceColumn addRaceColumn(String name, boolean medalRace); - /** * Retrieves all race columns that were added, either by {@link #addRace(TrackedRace, String, boolean)} or * {@link #addRaceColumn(String, boolean)}. @@ -168,18 +153,6 @@ public interface Leaderboard extends Named { */ RaceColumn getRaceColumnByName(String name); - /** - * Moves the column with the name name up. - * @param name The name of the column to move. - */ - void moveRaceColumnUp(String name); - - /** - * Moves the column with the name name down. - * @param name The name of the column to move. - */ - void moveRaceColumnDown(String name); - /** * A leaderboard can carry over points from races that are not tracked by this leaderboard in detail, * so for which no {@link RaceColumn} column is present in this leaderboard. These scores are @@ -204,8 +177,6 @@ public interface Leaderboard extends Named { boolean hasCarriedPoints(Competitor competitor); - void removeRaceColumn(String columnName); - SettableScoreCorrection getScoreCorrection(); ThresholdBasedResultDiscardingRule getResultDiscardingRule(); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/RaceColumn.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/RaceColumn.java index 11c07544576..9c926a2140a 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/RaceColumn.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/RaceColumn.java @@ -1,45 +1,84 @@ package com.sap.sailing.domain.leaderboard; import com.sap.sailing.domain.base.Competitor; +import com.sap.sailing.domain.base.Fleet; +import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.common.Named; import com.sap.sailing.domain.common.RaceIdentifier; +import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.domain.tracking.TrackedRace; /** - * A column in a {@link Leaderboard} that represents the data of a race. Over the life time of this object it can be - * assigned a {@link TrackedRace} which then acts as a data provider to this column. If no tracked race has been - * assigned, the scores reported by this column will all default to zero. + * One or more races that would be noted together in a single column in a {@link Leaderboard}. If the number of + * competitors of a regatta is too big to have a single start, the set of competitors can be split into several + * {@link Fleet}s. Still, the regatta has a sequence of "races", only that each such "race" actually consists of several + * individual races, each tracked separately, with a separate start and a separate field of competitors which are + * distinct subsets of the regatta's competitors. These races are grouped in a {@link RaceColumn}. The + * {@link RaceColumn} therefore provides access to the {@link TrackedRace}s by {@link Fleet} and by {@link Competitor}. + * The {@link TrackedRace}s represent the data of a race. Over the life time of this object it can be assigned one or more + * {@link TrackedRace}s which then act(s) as data provider to this column. If no tracked race has been assigned, the + * scores reported by this column will all default to zero. * * @author Axel Uhl (D043530) * */ public interface RaceColumn extends Named { /** - * This does also update the {@link #getRaceIdentifier() race identifier} by setting it to null if race - * is null, and race.getRaceIdentifier() otherwise. + * @return the fleets for each of which this column has a single race and therefore optionally a {@link TrackedRace} */ - void setTrackedRace(TrackedRace race); + Iterable getFleets(); + + Fleet getFleetByName(String fleetName); + + /** + * This does also update the {@link #getRaceIdentifier(Fleet) race identifier} by setting it to null if race + * is null, and race.getRaceIdentifier() otherwise. + * + * @param fleet the fleet within this column with which to associate race + */ + void setTrackedRace(Fleet fleet, TrackedRace race); + + /** + * Tells if at least one {@link TrackedRace} is associated with this race column. Short for + * {@link Util#isEmpty(Iterable) isEmpty(}{@link #getFleets() getFleets())}. + */ + boolean hasTrackedRaces(); /** - * @return null if this column does not currently have a tracked race associated; otherwise the tracked - * race from where all information relevant to this column can be obtained. See also - * {@link #getRaceIdentifier()}. + * @param fleet + * the fleet whose associated tracked race to obtain + * + * @return null if this column does not currently have a tracked race associated for fleet + * ; otherwise the tracked race for fleet from where all information relevant to this column + * can be obtained. See also {@link #getRaceIdentifier(Fleet)}. */ - TrackedRace getTrackedRace(); + TrackedRace getTrackedRace(Fleet fleet); + + /** + * Tries to find a tracked race whose {@link RaceDefinition#getCompetitors() competitors} contain competitor. If + * no such {@link TrackedRace} is currently associated with this race column, null is returned. + */ + TrackedRace getTrackedRace(Competitor competitor); /** * If this column ever was assigned to a tracked race, that race's identifier can be obtained using this method; - * otherwise, null is returned. + * otherwise, null is returned. + * + * @param fleet + * the fleet for which to obtain the race identifier */ - RaceIdentifier getRaceIdentifier(); + RaceIdentifier getRaceIdentifier(Fleet fleet); /** * Records that this leaderboard column is to be associated with the race identified by raceIdentifier. - * This does not automatically load the tracked race, but the information may be used to re-associate a tracked - * race with this column based on its {@link TrackedRace#getRaceIdentifier() race identifier}. + * This does not automatically load the tracked race, but the information may be used to re-associate a tracked race + * with this column based on its {@link TrackedRace#getRaceIdentifier() race identifier}. + * + * @param fleet + * the fleet for which to associate a race by its identifier */ - void setRaceIdentifier(RaceIdentifier raceIdentifier); + void setRaceIdentifier(Fleet fleet, RaceIdentifier raceIdentifier); /** * A "medal race" cannot be discarded. It's score is doubled during score aggregation. @@ -56,11 +95,14 @@ public interface RaceColumn extends Named { Pair getKey(Competitor competitor); /** - * Releases the {@link TrackedRace} previously set by {@link #setTrackedRace(TrackedRace)} but leaves the - * {@link #getRaceIdentifier() race identifier} untouched. Therefore, the {@link TrackedRace} may be garbage + * Releases the {@link TrackedRace} previously set by {@link #setTrackedRace(Fleet, TrackedRace)} but leaves the + * {@link #getRaceIdentifier(Fleet) race identifier} untouched. Therefore, the {@link TrackedRace} may be garbage * collected but may be re-resolved for this column using the race identifier at a later time. + * + * @param fleet + * the fleet for which to release its tracked race */ - void releaseTrackedRace(); + void releaseTrackedRace(Fleet fleet); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/LeaderboardImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java old mode 100644 new mode 100755 similarity index 73% rename from java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/LeaderboardImpl.java rename to java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java index 869b18f2931..9ac55be8613 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/LeaderboardImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java @@ -1,16 +1,14 @@ package com.sap.sailing.domain.leaderboard.impl; -import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; -import java.util.List; import java.util.Map; import java.util.Set; import com.sap.sailing.domain.base.Competitor; +import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.common.MaxPointsReason; -import com.sap.sailing.domain.common.Named; import com.sap.sailing.domain.common.NoWindException; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util; @@ -22,9 +20,8 @@ import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; import com.sap.sailing.domain.tracking.TrackedRace; -public class LeaderboardImpl implements Named, Leaderboard { +public abstract class AbstractLeaderboardImpl implements Leaderboard { private static final long serialVersionUID = -328091952760083438L; - private final List races; private final SettableScoreCorrection scoreCorrection; private ThresholdBasedResultDiscardingRule resultDiscardingRule; private String name; @@ -93,39 +90,33 @@ public class LeaderboardImpl implements Named, Leaderboard { /** * @param name must not be null */ - public LeaderboardImpl(String name, SettableScoreCorrection scoreCorrection, ThresholdBasedResultDiscardingRule resultDiscardingRule) { + public AbstractLeaderboardImpl(String name, SettableScoreCorrection scoreCorrection, ThresholdBasedResultDiscardingRule resultDiscardingRule) { if (name == null) { throw new IllegalArgumentException("A leaderboard's name must not be null"); } this.name = name; this.carriedPoints = new HashMap(); - this.races = new ArrayList(); this.scoreCorrection = scoreCorrection; this.displayNames = new HashMap(); this.resultDiscardingRule = resultDiscardingRule; } @Override - public RaceColumn addRaceColumn(String name, boolean medalRace) { - RaceColumnImpl column = createRaceColumn(name, medalRace); - races.add(column); - return column; + public Fleet getFleet(String fleetName) { + for (RaceColumn raceColumn : getRaceColumns()) { + for (Fleet fleet : raceColumn.getFleets()) { + if (fleet.getName().equals(fleetName)) { + return fleet; + } + } + } + return null; } - - @Override - public void removeRaceColumn(String columnName) { - races.remove(getRaceColumnByName(columnName)); - } - - @Override - public Iterable getRaceColumns() { - return Collections.unmodifiableCollection(new ArrayList(races)); - } - + @Override public RaceColumn getRaceColumnByName(String columnName) { RaceColumn result = null; - for (RaceColumn r : races) { + for (RaceColumn r : getRaceColumns()) { if (r.getName().equals(columnName)) { result = r; break; @@ -134,27 +125,14 @@ public class LeaderboardImpl implements Named, Leaderboard { return result; } - @Override - public RaceColumn addRace(TrackedRace race, String columnName, boolean medalRace) { - RaceColumn column = getRaceColumnByName(columnName); - if (column == null) { - column = createRaceColumn(columnName, medalRace); - races.add(column); - } - column.setTrackedRace(race); - return column; - } - - protected RaceColumnImpl createRaceColumn(String columnName, boolean medalRace) { - return new RaceColumnImpl(columnName, medalRace); - } - private Iterable getTrackedRaces() { Set trackedRaces = new HashSet(); - for (RaceColumn r : races) { - TrackedRace trackedRace = r.getTrackedRace(); - if (trackedRace != null) { - trackedRaces.add(trackedRace); + for (RaceColumn r : getRaceColumns()) { + for (Fleet fleet : r.getFleets()) { + TrackedRace trackedRace = r.getTrackedRace(fleet); + if (trackedRace != null) { + trackedRaces.add(trackedRace); + } } } return Collections.unmodifiableSet(trackedRaces); @@ -203,8 +181,8 @@ public class LeaderboardImpl implements Named, Leaderboard { @Override public int getTrackedPoints(Competitor competitor, RaceColumn race, TimePoint timePoint) throws NoWindException { - return race.getTrackedRace() == null ? 0 : race.getTrackedRace().hasStarted(timePoint) ? race.getTrackedRace() - .getRank(competitor, timePoint) : 0; + final TrackedRace trackedRace = race.getTrackedRace(competitor); + return trackedRace == null ? 0 : trackedRace.hasStarted(timePoint) ? trackedRace.getRank(competitor, timePoint) : 0; } @Override @@ -217,7 +195,7 @@ public class LeaderboardImpl implements Named, Leaderboard { @Override public MaxPointsReason getMaxPointsReason(Competitor competitor, RaceColumn raceColumn, TimePoint timePoint) throws NoWindException { - return raceColumn.getTrackedRace() == null ? MaxPointsReason.NONE : getScoreCorrection().getCorrectedScore( + return raceColumn.getTrackedRace(competitor) == null ? MaxPointsReason.NONE : getScoreCorrection().getCorrectedScore( getTrackedPoints(competitor, raceColumn, timePoint), competitor, raceColumn, timePoint, Util.size(getCompetitors())) .getMaxPointsReason(); } @@ -263,9 +241,9 @@ public class LeaderboardImpl implements Named, Leaderboard { for (RaceColumn raceColumn : getRaceColumns()) { for (Competitor competitor : getCompetitors()) { int trackedPoints; - // TODO when a column has more than one race, keyed by fleet, find the one for competitor - if (raceColumn.getTrackedRace() != null && raceColumn.getTrackedRace().hasStarted(timePoint)) { - trackedPoints = raceColumn.getTrackedRace().getRank(competitor, timePoint); + final TrackedRace trackedRace = raceColumn.getTrackedRace(competitor); + if (trackedRace != null && trackedRace.hasStarted(timePoint)) { + trackedPoints = trackedRace.getRank(competitor, timePoint); } else { trackedPoints = 0; } @@ -329,9 +307,17 @@ public class LeaderboardImpl implements Named, Leaderboard { @Override public boolean considerForDiscarding(RaceColumn raceInLeaderboard, TimePoint timePoint) { - return !raceInLeaderboard.isMedalRace() - && (raceInLeaderboard.getTrackedRace() != null && raceInLeaderboard.getTrackedRace().hasStarted( - timePoint)) || getScoreCorrection().hasCorrectionFor(raceInLeaderboard); + boolean result = getScoreCorrection().hasCorrectionFor(raceInLeaderboard); + if (!result && !raceInLeaderboard.isMedalRace()) { + for (Fleet fleet : raceInLeaderboard.getFleets()) { + TrackedRace trackedRace = raceInLeaderboard.getTrackedRace(fleet); + if (trackedRace != null && trackedRace.hasStarted(timePoint)) { + result = true; + break; + } + } + } + return result; } @Override @@ -344,59 +330,20 @@ public class LeaderboardImpl implements Named, Leaderboard { displayNames.put(competitor, displayName); } - @Override - public void moveRaceColumnUp(String name) { - RaceColumn race = null; - for (RaceColumn r : races){ - if (r.getName().equals(name)) - race = r; - } - if (race == null) - return; - int index = 0; - index = races.lastIndexOf(race); - index--; - if (index >= 0){ - races.remove(race); - races.add(index, race); - } - } - - @Override - public void moveRaceColumnDown(String name) { - RaceColumn race = null; - for (RaceColumn r : races){ - if (r.getName().equals(name)) - race = r; - } - if (race == null) - return; - int index = 0; - index = races.lastIndexOf(race); - if (index == -1) - return; - index++; - if (index < races.size()){ - races.remove(race); - races.add(index, race); - } - } - - @Override - public void updateIsMedalRace(String raceName, boolean isMedalRace) { - RaceColumn race = null; - for (RaceColumn r : races){ - if (r.getName().equals(raceName)) - race = r; - } - if (race == null) - return; - - race.setIsMedalRace(isMedalRace); - } - - @Override - public void setResultDiscardingRule(ThresholdBasedResultDiscardingRule discardingRule) { - this.resultDiscardingRule = discardingRule; - } + @Override + public void updateIsMedalRace(String raceName, boolean isMedalRace) { + RaceColumn race = null; + for (RaceColumn r : getRaceColumns()) { + if (r.getName().equals(raceName)) + race = r; + } + if (race != null) { + race.setIsMedalRace(isMedalRace); + } + } + + @Override + public void setResultDiscardingRule(ThresholdBasedResultDiscardingRule discardingRule) { + this.resultDiscardingRule = discardingRule; + } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java new file mode 100644 index 00000000000..06f8e5015be --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java @@ -0,0 +1,121 @@ +package com.sap.sailing.domain.leaderboard.impl; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import com.sap.sailing.domain.base.Fleet; +import com.sap.sailing.domain.base.impl.FleetImpl; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; +import com.sap.sailing.domain.leaderboard.RaceColumn; +import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; +import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; +import com.sap.sailing.domain.tracking.TrackedRace; + +/** + * A leaderboard implementation that allows users to flexibly configure which columns exist. No constraints need to be observed regarding + * the columns belonging to the same regatta or even boat class. + * + * @author Axel Uhl (D043530) + * + */ +public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements FlexibleLeaderboard { + protected static final Fleet defaultFleet = new FleetImpl("Default"); + private static final long serialVersionUID = -5708971849158747846L; + private final List races; + + public FlexibleLeaderboardImpl(String name, SettableScoreCorrection scoreCorrection, + ThresholdBasedResultDiscardingRule resultDiscardingRule) { + super(name, scoreCorrection, resultDiscardingRule); + this.races = new ArrayList(); + } + + @Override + public RaceColumn addRaceColumn(String name, boolean medalRace, Fleet... fleets) { + RaceColumnImpl column = createRaceColumn(name, medalRace, fleets); + races.add(column); + return column; + } + + @Override + public Fleet getFleet(String fleetName) { + Fleet result; + if (fleetName == null) { + result = defaultFleet; + } else { + result = super.getFleet(fleetName); + } + return result; + } + + @Override + public void removeRaceColumn(String columnName) { + races.remove(getRaceColumnByName(columnName)); + } + + @Override + public Iterable getRaceColumns() { + return Collections.unmodifiableCollection(new ArrayList(races)); + } + + @Override + public RaceColumn addRace(TrackedRace race, String columnName, boolean medalRace, Fleet fleet) { + RaceColumn column = getRaceColumnByName(columnName); + if (column == null) { + column = createRaceColumn(columnName, medalRace); + races.add(column); + } + column.setTrackedRace(fleet, race); + return column; + } + + protected RaceColumnImpl createRaceColumn(String columnName, boolean medalRace, Fleet... fleets) { + Iterable theFleets; + if (fleets == null || fleets.length == 0) { + theFleets = Collections.singleton(defaultFleet); + } else { + theFleets = Arrays.asList(fleets); + } + return new RaceColumnImpl(columnName, medalRace, theFleets); + } + + @Override + public void moveRaceColumnUp(String name) { + RaceColumn race = null; + for (RaceColumn r : races) { + if (r.getName().equals(name)) + race = r; + } + if (race == null) + return; + int index = 0; + index = races.lastIndexOf(race); + index--; + if (index >= 0) { + races.remove(race); + races.add(index, race); + } + } + + @Override + public void moveRaceColumnDown(String name) { + RaceColumn race = null; + for (RaceColumn r : races) { + if (r.getName().equals(name)) + race = r; + } + if (race == null) + return; + int index = 0; + index = races.lastIndexOf(race); + if (index == -1) + return; + index++; + if (index < races.size()) { + races.remove(race); + races.add(index, race); + } + } + +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RaceColumnImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RaceColumnImpl.java index ffb3786f521..8267614721b 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RaceColumnImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RaceColumnImpl.java @@ -1,21 +1,35 @@ package com.sap.sailing.domain.leaderboard.impl; +import java.util.HashMap; +import java.util.Map; + import com.sap.sailing.domain.base.Competitor; +import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.common.RaceIdentifier; +import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.domain.leaderboard.RaceColumn; import com.sap.sailing.domain.tracking.TrackedRace; public class RaceColumnImpl implements RaceColumn { private static final long serialVersionUID = -7801617988982540470L; - private TrackedRace trackedRace; + + /** + * All fleets for which this column can contain a race. This is the maximum set of keys possible for + * {@link #trackedRaces} and {@link #raceIdentifiers}. + */ + private final Iterable fleets; + private final Map trackedRaces; private boolean medalRace; private String name; - private RaceIdentifier raceIdentifier; + private final Map raceIdentifiers; - public RaceColumnImpl(String name, boolean medalRace) { + public RaceColumnImpl(String name, boolean medalRace, Iterable fleets) { this.name = name; this.medalRace = medalRace; + this.fleets = fleets; + this.trackedRaces = new HashMap(); + this.raceIdentifiers = new HashMap(); } @Override @@ -24,14 +38,14 @@ public class RaceColumnImpl implements RaceColumn { } @Override - public TrackedRace getTrackedRace() { - return trackedRace; + public TrackedRace getTrackedRace(Fleet fleet) { + return trackedRaces.get(fleet); } @Override - public void setTrackedRace(TrackedRace trackedRace) { - this.trackedRace = trackedRace; - this.setRaceIdentifier(trackedRace == null ? null : trackedRace.getRaceIdentifier()); + public void setTrackedRace(Fleet fleet, TrackedRace trackedRace) { + this.trackedRaces.put(fleet, trackedRace); + this.setRaceIdentifier(fleet, trackedRace == null ? null : trackedRace.getRaceIdentifier()); } @Override @@ -55,17 +69,47 @@ public class RaceColumnImpl implements RaceColumn { } @Override - public RaceIdentifier getRaceIdentifier() { - return raceIdentifier; + public RaceIdentifier getRaceIdentifier(Fleet fleet) { + return raceIdentifiers.get(fleet); } @Override - public void setRaceIdentifier(RaceIdentifier raceIdentifier) { - this.raceIdentifier = raceIdentifier; + public void setRaceIdentifier(Fleet fleet, RaceIdentifier raceIdentifier) { + this.raceIdentifiers.put(fleet, raceIdentifier); } @Override - public void releaseTrackedRace() { - trackedRace = null; + public void releaseTrackedRace(Fleet fleet) { + trackedRaces.remove(fleet); + } + + @Override + public Iterable getFleets() { + return fleets; + } + + @Override + public Fleet getFleetByName(String fleetName) { + for (Fleet fleet : getFleets()) { + if (fleet.getName().equals(fleetName)) { + return fleet; + } + } + return null; + } + + @Override + public boolean hasTrackedRaces() { + return !trackedRaces.isEmpty(); + } + + @Override + public TrackedRace getTrackedRace(Competitor competitor) { + for (TrackedRace trackedRace : trackedRaces.values()) { + if (Util.contains(trackedRace.getRace().getCompetitors(), competitor)) { + return trackedRace; + } + } + return null; } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RegattaLeaderboard.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RegattaLeaderboard.java new file mode 100755 index 00000000000..7e390e48b37 --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RegattaLeaderboard.java @@ -0,0 +1,39 @@ +package com.sap.sailing.domain.leaderboard.impl; + +import java.util.ArrayList; +import java.util.List; + +import com.sap.sailing.domain.base.Fleet; +import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.Series; +import com.sap.sailing.domain.leaderboard.RaceColumn; +import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; +import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; + +/** + * A leaderboard that is based on the definition of a {@link Regatta} with its {@link Series} and {@link Fleet}. + * + * @author Axel Uhl (D043530) + * + */ +public class RegattaLeaderboard extends AbstractLeaderboardImpl { + private static final long serialVersionUID = -8243802111008628779L; + private final Regatta regatta; + + public RegattaLeaderboard(Regatta regatta, SettableScoreCorrection scoreCorrection, + ThresholdBasedResultDiscardingRule resultDiscardingRule) { + super(regatta.getName(), scoreCorrection, resultDiscardingRule); + this.regatta = regatta; + } + + @Override + public Iterable getRaceColumns() { + List result = new ArrayList(); + for (Series series : regatta.getSeries()) { + for (RaceColumn raceColumnInSeries : series.getRaceColumns()) { + result.add(raceColumnInSeries); + } + } + return result; + } +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/ScoreCorrectionImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/ScoreCorrectionImpl.java index 875d1f53673..cdea7174767 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/ScoreCorrectionImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/ScoreCorrectionImpl.java @@ -93,7 +93,7 @@ public class ScoreCorrectionImpl implements SettableScoreCorrection { // e.g., in case we have an untracked race and the number of competitors is estimated incorrectly Integer correctedNonMaxedScore = correctedScores.get(raceColumn.getKey(competitor)); if (correctedNonMaxedScore == null) { - result = getMaxPoints(raceColumn.getTrackedRace(), numberOfCompetitorsInLeaderboard); + result = getMaxPoints(raceColumn.getTrackedRace(competitor), numberOfCompetitorsInLeaderboard); } else { result = correctedNonMaxedScore; } diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java index d781ad8f52d..3e0ed6db990 100644 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java @@ -131,7 +131,7 @@ public class GwtTestCaseColumnToggling extends GWTTestCase { RaceInLeaderboardDTO race = new RaceInLeaderboardDTO(); race.setRaceColumnName(COLUMN1_NAME); race.setMedalRace(false); - race.setRaceIdentifier(null); + race.setRaceIdentifier(fleetName, null); leaderboardPanel.addColumn(leaderboardPanel.createRaceColumn(race)); linkTrackedRace(); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index 611b87030e7..e35d7762c13 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -305,8 +305,8 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye Column raceLinkColumn = new Column(raceAnchorCell) { @Override public SafeHtml getValue(RaceInLeaderboardDTO raceInLeaderboardDTO) { - if(raceInLeaderboardDTO.getRaceIdentifier() != null) { - RegattaNameAndRaceName raceIdentifier = (RegattaNameAndRaceName) raceInLeaderboardDTO.getRaceIdentifier(); + if(raceInLeaderboardDTO.getRaceIdentifier(fleetName) != null) { + RegattaNameAndRaceName raceIdentifier = (RegattaNameAndRaceName) raceInLeaderboardDTO.getRaceIdentifier(fleetName); String debugParam = Window.Location.getParameter("gwt.codesvr"); String link = URLFactory.INSTANCE.encode("/gwt/RaceBoard.html?leaderboardName=" + selectedLeaderboard.name + "&raceName=" + raceIdentifier.getRaceName() + "®attaName=" @@ -337,7 +337,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye TextColumn isLinkedRaceColumn = new TextColumn() { @Override public String getValue(RaceInLeaderboardDTO race) { - boolean isTrackedRace = race.isTrackedRace(); + boolean isTrackedRace = race.isTrackedRace(fleetName); return isTrackedRace ? stringMessages.yes() : stringMessages.no(); } }; @@ -468,7 +468,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye @Override public void onSuccess(Void arg0) { trackedRacesListComposite.clearSelection(); - getSelectedRaceInLeaderboard().setRaceIdentifier(null); + getSelectedRaceInLeaderboard().setRaceIdentifier(fleetName, null); raceColumnList.refresh(); } }); @@ -762,7 +762,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye public void changeTrackingRace(RegattaNameAndRaceName regattaNameAndRaceName, boolean isTracked) { for (RaceInLeaderboardDTO race : raceColumnList.getList()) { if (race.getRaceColumnName().equals(regattaNameAndRaceName.getRaceName())) { - race.setRaceIdentifier(regattaNameAndRaceName); + race.setRaceIdentifier(fleetName, regattaNameAndRaceName); } } raceColumnList.refresh(); @@ -877,7 +877,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye public void onSuccess(Boolean success) { if (success) { // TODO consider enabling the Unlink button - selectedRaceInLeaderboard.setRaceIdentifier(selectedRace); + selectedRaceInLeaderboard.setRaceIdentifier(fleetName, selectedRace); raceColumnList.refresh(); } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java index b984a6ba858..8d4240b88ce 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java @@ -8,17 +8,16 @@ import java.util.Map; import com.google.gwt.user.client.rpc.RemoteService; import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; import com.sap.sailing.domain.common.DetailType; -import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.common.RegattaIdentifier; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.NoWindException; import com.sap.sailing.domain.common.RaceIdentifier; +import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; +import com.sap.sailing.domain.common.RegattaIdentifier; import com.sap.sailing.domain.common.WindSource; import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.gwt.ui.shared.CompetitorDTO; import com.sap.sailing.gwt.ui.shared.CourseDTO; -import com.sap.sailing.gwt.ui.shared.RegattaDTO; import com.sap.sailing.gwt.ui.shared.GPSFixDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO; @@ -28,6 +27,7 @@ import com.sap.sailing.gwt.ui.shared.QuickRankDTO; import com.sap.sailing.gwt.ui.shared.RaceDTO; import com.sap.sailing.gwt.ui.shared.RaceMapDataDTO; import com.sap.sailing.gwt.ui.shared.RaceTimesInfoDTO; +import com.sap.sailing.gwt.ui.shared.RegattaDTO; import com.sap.sailing.gwt.ui.shared.ReplicationStateDTO; import com.sap.sailing.gwt.ui.shared.SwissTimingConfigurationDTO; import com.sap.sailing.gwt.ui.shared.SwissTimingRaceRecordDTO; @@ -116,11 +116,11 @@ public interface SailingService extends RemoteService { void moveLeaderboardColumnDown(String leaderboardName, String columnName); boolean connectTrackedRaceToLeaderboardColumn(String leaderboardName, String raceColumnName, - RaceIdentifier raceIdentifier); + String fleetName, RaceIdentifier raceIdentifier); - void disconnectLeaderboardColumnFromTrackedRace(String leaderboardName, String raceColumnName); + void disconnectLeaderboardColumnFromTrackedRace(String leaderboardName, String raceColumnName, String fleetName); - Pair getEventAndRaceNameOfTrackedRaceConnectedToLeaderboardColumn(String leaderboardName, String raceColumnName); + Map getEventAndRaceNameOfTrackedRaceConnectedToLeaderboardColumn(String leaderboardName, String raceColumnName); void updateLeaderboardCarryValue(String leaderboardName, String competitorIdAsString, Integer carriedPoints); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java index 64427390aad..36991b86311 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java @@ -196,16 +196,19 @@ public interface SailingServiceAsync { void removeLeaderboardColumn(String leaderboardName, String columnName, AsyncCallback callback); - /** - * @param asyncCallback receives true if connecting was successful - */ - void connectTrackedRaceToLeaderboardColumn(String leaderboardName, String raceColumnName, + void connectTrackedRaceToLeaderboardColumn(String leaderboardName, String raceColumnName, String fleetName, RaceIdentifier raceIdentifier, AsyncCallback asyncCallback); + /** + * The key set of the map returned contains all fleets of the race column identified by the combination of + * leaderboardName and raceColumnName. If a value is null, there is no + * tracked race currently linked to the fleet in the race column; otherwise, the value is the {@link RaceIdentifier} + * of the tracked race currently connected for the fleet whose name is the key. The map returned is never null. + */ void getEventAndRaceNameOfTrackedRaceConnectedToLeaderboardColumn(String leaderboardName, String raceColumnName, - AsyncCallback> callback); + AsyncCallback> callback); - void disconnectLeaderboardColumnFromTrackedRace(String leaderboardName, String raceColumnName, + void disconnectLeaderboardColumnFromTrackedRace(String leaderboardName, String raceColumnName, String fleetName, AsyncCallback callback); void updateLeaderboardCarryValue(String leaderboardName, String competitorID, Integer carriedPoints, AsyncCallback callback); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java index 379d62a05fa..5743340279e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java @@ -165,7 +165,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta /** * If this is null, all leaderboard columns added by updating the leaderboard from the server are * automatically added to the table. Otherwise, only the column whose - * {@link RaceInLeaderboardDTO#getRaceIdentifier() race identifier} matches the value of this attribute will be + * {@link RaceInLeaderboardDTO#getRaceIdentifier(String) race identifier} matches the value of this attribute will be * added. */ private final RaceIdentifier preSelectedRace; @@ -1036,7 +1036,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta private RaceInLeaderboardDTO getRaceByName(String raceName) { if (getLeaderboard() != null) { for (RaceInLeaderboardDTO race : getLeaderboard().getRaceList()) { - if (race.getRaceIdentifier() != null && raceName.equals(race.getRaceIdentifier().getRaceName())) { + if (race.getRaceIdentifier(fleetName) != null && raceName.equals(race.getRaceIdentifier(fleetName).getRaceName())) { return race; } } @@ -1059,7 +1059,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta for (int i=0; i column = getLeaderboardTable().getColumn(i); if (column instanceof RaceColumn - && ((RaceColumn) column).getRace().getRaceIdentifier().getRaceName().equals(raceName)) { + && ((RaceColumn) column).getRace().getRaceIdentifier(fleetName).getRaceName().equals(raceName)) { return (RaceColumn) column; } } @@ -1288,7 +1288,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta if (preSelectedRace != null) { for (Iterator i=columnsToAddImplicitly.iterator(); i.hasNext(); ) { RaceInLeaderboardDTO next = i.next(); - if (!preSelectedRace.equals(next.getRaceIdentifier())) { + if (!preSelectedRace.equals(next.getRaceIdentifier(fleetName))) { i.remove(); } } @@ -1386,7 +1386,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta private void correctColumnData(RaceColumn raceColumn) { RaceInLeaderboardDTO race = raceColumn.getRace(); int columnIndex = getRaceColumnPosition(raceColumn); - if (raceColumn.isExpansionEnabled() != race.isTrackedRace() + if (raceColumn.isExpansionEnabled() != race.isTrackedRace(fleetName) || race.isMedalRace() != raceColumn.isMedalRace()) { if (raceColumn.isExpanded()) { raceColumn.toggleExpansion(); // remove children from table @@ -1531,7 +1531,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta } protected RaceColumn createRaceColumn(RaceInLeaderboardDTO raceInLeaderboard) { - TextRaceColumn textRaceColumn = new TextRaceColumn(raceInLeaderboard, raceInLeaderboard.isTrackedRace(), RACE_COLUMN_HEADER_STYLE, + TextRaceColumn textRaceColumn = new TextRaceColumn(raceInLeaderboard, raceInLeaderboard.isTrackedRace(fleetName), RACE_COLUMN_HEADER_STYLE, RACE_COLUMN_STYLE); return textRaceColumn; } @@ -1694,8 +1694,8 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta private List getTrackedRacesIdentifiers() { List result = new ArrayList(); for (RaceInLeaderboardDTO raceColumn : getLeaderboard().getRaceList()) { - if (raceColumn.getRaceIdentifier() != null) { - result.add(raceColumn.getRaceIdentifier()); + if (raceColumn.getRaceIdentifier(fleetName) != null) { + result.add(raceColumn.getRaceIdentifier(fleetName)); } } return result; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/TVViewPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/TVViewPanel.java index 0ff8304ceaa..e2dee345d55 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/TVViewPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/TVViewPanel.java @@ -102,7 +102,7 @@ public class TVViewPanel extends SimplePanel implements RaceTimesInfoProviderLis private void updateRaceTimesInfoProvider() { boolean providerChanged = false; for (RaceInLeaderboardDTO race : leaderboard.getRaceList()) { - RaceIdentifier raceIdentifier = race.getRaceIdentifier(); + RaceIdentifier raceIdentifier = race.getRaceIdentifier(fleetName); if (raceIdentifier != null && !raceTimesInfoProvider.containsRaceIdentifier(raceIdentifier)) { raceTimesInfoProvider.addRaceIdentifier(raceIdentifier, false); providerChanged = true; @@ -221,7 +221,7 @@ public class TVViewPanel extends SimplePanel implements RaceTimesInfoProviderLis RegattaAndRaceIdentifier firstStartedAndUnfinishedRace = null; Map raceTimesInfos = raceTimesInfoProvider.getRaceTimesInfos(); for (RaceInLeaderboardDTO race : leaderboard.getRaceList()) { - RegattaAndRaceIdentifier raceIdentifier = race.getRaceIdentifier(); + RegattaAndRaceIdentifier raceIdentifier = race.getRaceIdentifier(fleetName); RaceTimesInfoDTO raceTimes = raceTimesInfos.get(raceIdentifier); if (raceIdentifier != null && raceTimes != null && raceTimes.startOfTracking != null && raceTimes.endOfRace == null) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 8f36bfcd649..06354f16ffa 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -38,6 +38,7 @@ import com.google.gwt.user.server.rpc.RemoteServiceServlet; import com.sap.sailing.domain.base.Buoy; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.Course; +import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.Leg; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; @@ -255,11 +256,11 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS result.competitorDisplayNames = new HashMap(); for (RaceColumn raceColumn : leaderboard.getRaceColumns()) { RegattaAndRaceIdentifier raceIdentifier = null; - if (raceColumn.getTrackedRace() != null) { - TrackedRace trackedRace = raceColumn.getTrackedRace(); + if (raceColumn.getTrackedRace(fleet) != null) { + TrackedRace trackedRace = raceColumn.getTrackedRace(fleet); raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta().getName(), trackedRace.getRace().getName()); } - result.addRace(raceColumn.getName(), raceColumn.isMedalRace(), raceIdentifier, null); + result.addRace(raceColumn.getName(), raceColumn.isMedalRace(), raceIdentifier, /* StrippedRaceDTO */ null); } result.rows = new HashMap(); result.hasCarriedPoints = leaderboard.hasCarriedPoints(); @@ -278,7 +279,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS @Override public LeaderboardEntryDTO call() { try { - return getLeaderboardEntryDTO(entry, raceColumn.getTrackedRace(), competitor, timePoint, + return getLeaderboardEntryDTO(entry, raceColumn.getTrackedRace(competitor), competitor, timePoint, namesOfRaceColumnsForWhichToLoadLegDetails != null && namesOfRaceColumnsForWhichToLoadLegDetails.contains(raceColumn.getName())); } catch (NoWindException e) { @@ -1176,7 +1177,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS for (Leaderboard leaderboard : leaderboards.values()) { Iterable races = leaderboard.getRaceColumns(); for (RaceColumn raceInLeaderboard : races) { - TrackedRace trackedRace = raceInLeaderboard.getTrackedRace(); + TrackedRace trackedRace = raceInLeaderboard.getTrackedRace(fleet); RaceDefinition trackedRaceDef = trackedRace != null ? trackedRace.getRace() : null; if (trackedRaceDef != null && trackedRaceDef.getName().equals(race.name)) { results.add(createStrippedLeaderboardDTO(leaderboard, false)); @@ -1202,8 +1203,8 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS for (RaceColumn raceColumn : leaderboard.getRaceColumns()) { RegattaAndRaceIdentifier raceIdentifier = null; StrippedRaceDTO race = null; - if (raceColumn.getTrackedRace() != null) { - TrackedRace trackedRace = raceColumn.getTrackedRace(); + if (raceColumn.getTrackedRace(fleet) != null) { + TrackedRace trackedRace = raceColumn.getTrackedRace(fleet); raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta().getName(), trackedRace.getRace().getName()); if (withAdditionalData) { @@ -1328,23 +1329,24 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS } @Override - public boolean connectTrackedRaceToLeaderboardColumn(String leaderboardName, String raceColumnName, RaceIdentifier raceIdentifier) { - return getService().apply(new ConnectTrackedRaceToLeaderboardColumn(leaderboardName, raceColumnName, raceIdentifier)); + public boolean connectTrackedRaceToLeaderboardColumn(String leaderboardName, String raceColumnName, String fleetName, RaceIdentifier raceIdentifier) { + return getService().apply(new ConnectTrackedRaceToLeaderboardColumn(leaderboardName, raceColumnName, fleetName, raceIdentifier)); } @Override - public Pair getEventAndRaceNameOfTrackedRaceConnectedToLeaderboardColumn(String leaderboardName, - String raceColumnName) { - // TODO method needs to be changed such that the link between RaceColumn+Fleet and the TrackedRace becomes clear to the client - Pair result = null; + public Map getEventAndRaceNameOfTrackedRaceConnectedToLeaderboardColumn(String leaderboardName, String raceColumnName) { + Map result = new HashMap(); Leaderboard leaderboard = getService().getLeaderboardByName(leaderboardName); if (leaderboard != null) { RaceColumn raceColumn = leaderboard.getRaceColumnByName(raceColumnName); if (raceColumn != null) { - TrackedRace trackedRace = raceColumn.getTrackedRace(); - if (trackedRace != null) { - result = new Pair(trackedRace.getTrackedEvent().getRegatta().getName(), - trackedRace.getRace().getName()); + for (Fleet fleet : raceColumn.getFleets()) { + TrackedRace trackedRace = raceColumn.getTrackedRace(fleet); + if (trackedRace != null) { + result.put(fleet.getName(), trackedRace.getRaceIdentifier()); + } else { + result.put(fleet.getName(), null); + } } } } @@ -1352,8 +1354,8 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS } @Override - public void disconnectLeaderboardColumnFromTrackedRace(String leaderboardName, String raceColumnName) { - getService().apply(new DisconnectLeaderboardColumnFromTrackedRace(leaderboardName, raceColumnName)); + public void disconnectLeaderboardColumnFromTrackedRace(String leaderboardName, String raceColumnName, String fleetName) { + getService().apply(new DisconnectLeaderboardColumnFromTrackedRace(leaderboardName, raceColumnName, fleetName)); } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java index ec5a0d6488c..8bbb3009a50 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java @@ -284,7 +284,7 @@ public class LeaderboardDTO implements IsSerializable { public boolean raceIsTracked(String raceColumnName) { for (RaceInLeaderboardDTO race : races) { if (race.getRaceColumnName().equals(raceColumnName)) { - return race.isTrackedRace(); + return race.isTrackedRace(fleetName); } } return false; @@ -299,8 +299,8 @@ public class LeaderboardDTO implements IsSerializable { RaceInLeaderboardDTO raceInLeaderboardDTO = new RaceInLeaderboardDTO(); raceInLeaderboardDTO.setRaceColumnName(raceColumnName); raceInLeaderboardDTO.setMedalRace(medalRace); - raceInLeaderboardDTO.setRaceIdentifier(trackedRaceIdentifier); - raceInLeaderboardDTO.setRace(race); + raceInLeaderboardDTO.setRaceIdentifier(fleetName, trackedRaceIdentifier); + raceInLeaderboardDTO.setRace(fleetName, race); races.add(raceInLeaderboardDTO); } @@ -308,7 +308,7 @@ public class LeaderboardDTO implements IsSerializable { RaceInLeaderboardDTO raceInLeaderboardDTO = new RaceInLeaderboardDTO(); raceInLeaderboardDTO.setRaceColumnName(raceColumnName); raceInLeaderboardDTO.setMedalRace(medalRace); - raceInLeaderboardDTO.setRaceIdentifier(trackedRaceIdentifier); + raceInLeaderboardDTO.setRaceIdentifier(fleetName, trackedRaceIdentifier); races.add(index, raceInLeaderboardDTO); } @@ -370,7 +370,7 @@ public class LeaderboardDTO implements IsSerializable { public Date getStartDate() { Date leaderboardStart = null; for (RaceInLeaderboardDTO race : getRaceList()) { - Date raceStart = race.getStartDate(); + Date raceStart = race.getStartDate(fleetName); if (raceStart != null) { if (leaderboardStart == null) { leaderboardStart = new Date(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardGroupDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardGroupDTO.java index fb0f7a59ade..9d5dc8ccaf5 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardGroupDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardGroupDTO.java @@ -36,7 +36,7 @@ public class LeaderboardGroupDTO extends NamedDTO implements IsSerializable { leaderboardsLoop: for (LeaderboardDTO leaderboard : leaderboards) { for (RaceInLeaderboardDTO raceInLeaderboard : leaderboard.getRaceList()) { - if (raceInLeaderboard.getRaceIdentifier() != null && raceInLeaderboard.getRaceIdentifier().equals(race)) { + if (raceInLeaderboard.getRaceIdentifier(fleetName) != null && raceInLeaderboard.getRaceIdentifier(fleetName).equals(race)) { containsRace = true; break leaderboardsLoop; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/PlacemarkOrderDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/PlacemarkOrderDTO.java index fb7a3fad48b..8c233e6dc33 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/PlacemarkOrderDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/PlacemarkOrderDTO.java @@ -135,5 +135,9 @@ public class PlacemarkOrderDTO extends NamedDTO implements IsSerializable { } return sb.toString(); } + + public void add(PlacemarkOrderDTO places) { + placemarks.addAll(places.getPlacemarks()); + } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java index 10f6eadfa46..1766f71bf6c 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java @@ -1,6 +1,9 @@ package com.sap.sailing.gwt.ui.shared; +import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; +import java.util.Map; import com.google.gwt.user.client.rpc.IsSerializable; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; @@ -8,9 +11,16 @@ import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; public class RaceInLeaderboardDTO implements IsSerializable { private String raceColumnName; private boolean medalRace; - private RegattaAndRaceIdentifier trackedRaceIdentifier; - private StrippedRaceDTO race; + private Iterable fleetNames; + private Map trackedRaceIdentifiersPerFleet; + private Map racesPerFleet; + public RaceInLeaderboardDTO() { + trackedRaceIdentifiersPerFleet = new HashMap(); + racesPerFleet = new HashMap(); + fleetNames = new ArrayList(); + } + public String getRaceColumnName() { return raceColumnName; } @@ -27,12 +37,12 @@ public class RaceInLeaderboardDTO implements IsSerializable { this.medalRace = medalRace; } - public boolean isTrackedRace() { - return trackedRaceIdentifier != null; + public boolean isTrackedRace(String fleetName) { + return trackedRaceIdentifiersPerFleet.get(fleetName) != null; } - public void setRaceIdentifier(RegattaAndRaceIdentifier raceIdentifier) { - this.trackedRaceIdentifier = raceIdentifier; + public void setRaceIdentifier(String fleetName, RegattaAndRaceIdentifier raceIdentifier) { + this.trackedRaceIdentifiersPerFleet.put(fleetName, raceIdentifier); } /** @@ -40,32 +50,42 @@ public class RaceInLeaderboardDTO implements IsSerializable { * data can be obtained from the server in great detail, as opposed to non-tracked races for which only * result points may have been entered manually. */ - public RegattaAndRaceIdentifier getRaceIdentifier() { - return trackedRaceIdentifier; + public RegattaAndRaceIdentifier getRaceIdentifier(String fleetName) { + return trackedRaceIdentifiersPerFleet.get(fleetName); } /** * Returns an object with data (e.g. start date or places) for the RaceInLeaderboardDTO. Is null, if - * the method {@link RaceInLeaderboardDTO#isTrackedRace()} returns false. + * the method {@link RaceInLeaderboardDTO#isTrackedRace(String)} returns false. + * @param fleetName TODO * * @return An Object with additional data, or null if the race isn't tracked */ - public StrippedRaceDTO getRace() { - return race; + public StrippedRaceDTO getRace(String fleetName) { + return racesPerFleet.get(fleetName); } - public void setRace(StrippedRaceDTO race) { - this.race = race; + public void setRace(String fleetName, StrippedRaceDTO race) { + this.racesPerFleet.put(fleetName, race); + } + + public Iterable getFleetNames() { + return fleetNames; + } + + public void setFleetNames(Iterable fleetNames) { + this.fleetNames = fleetNames; } /** + * @param fleetName TODO * @return The start of race, or the start of tracking if the start of race is null, or * null if no start date is available. */ - public Date getStartDate() { + public Date getStartDate(String fleetName) { Date start = null; - if (race != null) { - start = race.getStartDate(); + if (racesPerFleet.get(fleetName) != null) { + start = racesPerFleet.get(fleetName).getStartDate(); } return start; } @@ -75,8 +95,12 @@ public class RaceInLeaderboardDTO implements IsSerializable { */ public PlacemarkOrderDTO getPlaces() { PlacemarkOrderDTO places = null; - if (race != null) { - places = race.places; + for (StrippedRaceDTO race : racesPerFleet.values()) { + if (places == null) { + places = race.places; + } else { + places.add(race.places); + } } return places; } @@ -85,20 +109,28 @@ public class RaceInLeaderboardDTO implements IsSerializable { * @return true if the startOfTracking is after the current date and there's no end of the race */ public boolean isLive() { - if (trackedRaceIdentifier != null && race != null) { - return race.endOfRace == null && (race.startOfTracking != null ? new Date().after(race.startOfTracking) : false); - } else { - return false; + for (String fleetName : getFleetNames()) { + final StrippedRaceDTO strippedRaceDTO = racesPerFleet.get(fleetName); + if (trackedRaceIdentifiersPerFleet.get(fleetName) != null + && strippedRaceDTO != null + && strippedRaceDTO.endOfRace == null + && (strippedRaceDTO.startOfTracking != null ? new Date().after(strippedRaceDTO.startOfTracking) : false)) { + return true; + } } + return false; } @Override public int hashCode() { final int prime = 31; int result = 1; + result = prime * result + ((fleetNames == null) ? 0 : fleetNames.hashCode()); result = prime * result + (medalRace ? 1231 : 1237); result = prime * result + ((raceColumnName == null) ? 0 : raceColumnName.hashCode()); - result = prime * result + ((trackedRaceIdentifier == null) ? 0 : trackedRaceIdentifier.hashCode()); + result = prime * result + ((racesPerFleet == null) ? 0 : racesPerFleet.hashCode()); + result = prime * result + + ((trackedRaceIdentifiersPerFleet == null) ? 0 : trackedRaceIdentifiersPerFleet.hashCode()); return result; } @@ -111,6 +143,11 @@ public class RaceInLeaderboardDTO implements IsSerializable { if (getClass() != obj.getClass()) return false; RaceInLeaderboardDTO other = (RaceInLeaderboardDTO) obj; + if (fleetNames == null) { + if (other.fleetNames != null) + return false; + } else if (!fleetNames.equals(other.fleetNames)) + return false; if (medalRace != other.medalRace) return false; if (raceColumnName == null) { @@ -118,11 +155,17 @@ public class RaceInLeaderboardDTO implements IsSerializable { return false; } else if (!raceColumnName.equals(other.raceColumnName)) return false; - if (trackedRaceIdentifier == null) { - if (other.trackedRaceIdentifier != null) + if (racesPerFleet == null) { + if (other.racesPerFleet != null) return false; - } else if (!trackedRaceIdentifier.equals(other.trackedRaceIdentifier)) + } else if (!racesPerFleet.equals(other.racesPerFleet)) + return false; + if (trackedRaceIdentifiersPerFleet == null) { + if (other.trackedRaceIdentifiersPerFleet != null) + return false; + } else if (!trackedRaceIdentifiersPerFleet.equals(other.trackedRaceIdentifiersPerFleet)) return false; return true; } + } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java index 9c4b8c30783..7147b3aeb25 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java @@ -423,10 +423,10 @@ public class LeaderboardGroupOverviewPanel extends FormPanel { @Override public SafeHtml getValue(RaceInLeaderboardDTO race) { SafeHtml name = null; - if (race.getRaceIdentifier() != null) { + if (race.getRaceIdentifier(fleetName) != null) { LeaderboardGroupDTO selectedGroup = groupsSelectionModel.getSelectedObject(); LeaderboardDTO selectedLeaderboard = leaderboardsSelectionModel.getSelectedObject(); - RegattaNameAndRaceName raceId = (RegattaNameAndRaceName) race.getRaceIdentifier(); + RegattaNameAndRaceName raceId = (RegattaNameAndRaceName) race.getRaceIdentifier(fleetName); String debugParam = Window.Location.getParameter("gwt.codesvr"); String link = URLFactory.INSTANCE.encode("/gwt/RaceBoard.html?leaderboardName=" + selectedLeaderboard.name + "&raceName=" + raceId.getRaceName() + "®attaName=" + raceId.getRegattaName() + "&leaderboardGroupName=" + selectedGroup.name + "&root=overview" @@ -442,7 +442,7 @@ public class LeaderboardGroupOverviewPanel extends FormPanel { TextColumn racesStartDateColumn = new TextColumn() { @Override public String getValue(RaceInLeaderboardDTO race) { - Date raceStart = race.getStartDate(); + Date raceStart = race.getStartDate(fleetName); return raceStart == null ? LeaderboardGroupOverviewPanel.this.stringMessages.untracked() : DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(raceStart); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java index 783df2a7996..3365e8f464f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java @@ -196,8 +196,8 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget link += "&viewMode=" + viewMode; b.append(ANCHORTEMPLATE.anchor(link, displayName, STYLE_NAME_PREFIX + "ActiveLeaderboard")); } else { - if (race.getRaceIdentifier() != null) { - RegattaNameAndRaceName raceId = (RegattaNameAndRaceName) race.getRaceIdentifier(); + if (race.getRaceIdentifier(fleetName) != null) { + RegattaNameAndRaceName raceId = (RegattaNameAndRaceName) race.getRaceIdentifier(fleetName); String link = URLFactory.INSTANCE.encode("/gwt/RaceBoard.html?leaderboardName=" + leaderboard.name + "&raceName=" + raceId.getRaceName() + "®attaName=" + raceId.getRegattaName() + "&leaderboardGroupName=" + group.name + "&root=" + root); if(debugParam != null && !debugParam.isEmpty()) @@ -216,8 +216,8 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget SafeHtmlBuilder b = new SafeHtmlBuilder(); String debugParam = Window.Location.getParameter("gwt.codesvr"); for (RaceInLeaderboardDTO race : leaderboard.getRaceList()) { - if (race.getRaceIdentifier() != null) { - RegattaNameAndRaceName raceId = (RegattaNameAndRaceName) race.getRaceIdentifier(); + if (race.getRaceIdentifier(fleetName) != null) { + RegattaNameAndRaceName raceId = (RegattaNameAndRaceName) race.getRaceIdentifier(fleetName); String link = URLFactory.INSTANCE.encode("/gwt/RaceBoard.html?leaderboardName=" + leaderboard.name + "&raceName=" + raceId.getRaceName() + "&root=" + root + raceId.getRaceName() + "®attaName=" + raceId.getRegattaName() + "&leaderboardGroupName=" + group.name); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java index 61bc7f7ebfa..c7649f5715f 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java @@ -6,13 +6,15 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import com.sap.sailing.domain.common.RegattaNameAndRaceName; +import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.common.RaceIdentifier; +import com.sap.sailing.domain.common.RegattaNameAndRaceName; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; import com.sap.sailing.domain.leaderboard.RaceColumn; +import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.LeaderboardGroupImpl; -import com.sap.sailing.domain.leaderboard.impl.LeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; import com.sap.sailing.domain.persistence.DomainObjectFactory; @@ -40,16 +42,16 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe final String groupDescription = "A leaderboard group"; final ArrayList leaderboards = new ArrayList<>(); - Leaderboard leaderboard = new LeaderboardImpl(leaderboardNames[0], new ScoreCorrectionImpl(), + Leaderboard leaderboard = new FlexibleLeaderboardImpl(leaderboardNames[0], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)); leaderboards.add(leaderboard); - leaderboard = new LeaderboardImpl(leaderboardNames[1], new ScoreCorrectionImpl(), + leaderboard = new FlexibleLeaderboardImpl(leaderboardNames[1], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)); leaderboards.add(leaderboard); - leaderboard = new LeaderboardImpl(leaderboardNames[2], new ScoreCorrectionImpl(), + leaderboard = new FlexibleLeaderboardImpl(leaderboardNames[2], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)); leaderboards.add(leaderboard); - leaderboard = new LeaderboardImpl(leaderboardNames[3], new ScoreCorrectionImpl(), + leaderboard = new FlexibleLeaderboardImpl(leaderboardNames[3], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)); leaderboards.add(leaderboard); @@ -77,10 +79,10 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe final String groupDescription = "A leaderboard group"; final ArrayList leaderboards = new ArrayList<>(); - Leaderboard leaderboard = new LeaderboardImpl(leaderboardNames[0], new ScoreCorrectionImpl(), + Leaderboard leaderboard = new FlexibleLeaderboardImpl(leaderboardNames[0], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)); leaderboards.add(leaderboard); - leaderboard = new LeaderboardImpl(leaderboardNames[1], new ScoreCorrectionImpl(), + leaderboard = new FlexibleLeaderboardImpl(leaderboardNames[1], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)); leaderboards.add(leaderboard); @@ -90,11 +92,11 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe final String[] ungroupedLeaderboardNames = {"Ungrouped Leaderboard 0", "Ungrouped Leaderboard 1", "Ungrouped Leaderboard 2"}; final Leaderboard[] ungroupedLeaderboards = { - new LeaderboardImpl(ungroupedLeaderboardNames[0], new ScoreCorrectionImpl(), + new FlexibleLeaderboardImpl(ungroupedLeaderboardNames[0], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)), - new LeaderboardImpl(ungroupedLeaderboardNames[1], new ScoreCorrectionImpl(), + new FlexibleLeaderboardImpl(ungroupedLeaderboardNames[1], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)), - new LeaderboardImpl(ungroupedLeaderboardNames[2], new ScoreCorrectionImpl(), + new FlexibleLeaderboardImpl(ungroupedLeaderboardNames[2], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)) }; mongoObjectFactory.storeLeaderboard(ungroupedLeaderboards[0]); mongoObjectFactory.storeLeaderboard(ungroupedLeaderboards[1]); @@ -131,8 +133,9 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe final String groupDescription = "A leaderboard group"; final ArrayList leaderboards = new ArrayList<>(); - final Leaderboard leaderboard = new LeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)); - final RaceColumn race = leaderboard.addRaceColumn(columnName, false); + final FlexibleLeaderboard leaderboard = new FlexibleLeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)); + final Fleet fleet = leaderboard.getFleet(null); + final RaceColumn race = leaderboard.addRaceColumn(columnName, false, fleet); leaderboards.add(leaderboard); final LeaderboardGroup group = new LeaderboardGroupImpl(groupName, groupDescription, leaderboards); @@ -150,17 +153,17 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe //RaceIdentifier change test final String regattaName = "Event"; final String raceName = "Race"; - leaderboard.getRaceColumnByName(columnName).setRaceIdentifier(new RegattaNameAndRaceName(regattaName, raceName)); + leaderboard.getRaceColumnByName(columnName).setRaceIdentifier(fleet, new RegattaNameAndRaceName(regattaName, raceName)); mongoObjectFactory.storeLeaderboard(leaderboard); //Check if the leaderboard updated correctly final Leaderboard loadedLeaderboard = domainObjectFactory.loadLeaderboard(leaderboard.getName()); - Assert.assertEquals(race.getRaceIdentifier(), loadedLeaderboard.getRaceColumnByName(columnName).getRaceIdentifier()); + Assert.assertEquals(race.getRaceIdentifier(fleet), loadedLeaderboard.getRaceColumnByName(columnName).getRaceIdentifier(fleet)); //Check if the group received the changes loadedGroup = domainObjectFactory.loadLeaderboardGroup(groupName); - RaceIdentifier loadedIdentifier = loadedGroup.getLeaderboards().iterator().next().getRaceColumnByName(columnName).getRaceIdentifier(); - Assert.assertEquals(race.getRaceIdentifier(), loadedIdentifier); + RaceIdentifier loadedIdentifier = loadedGroup.getLeaderboards().iterator().next().getRaceColumnByName(columnName).getRaceIdentifier(fleet); + Assert.assertEquals(race.getRaceIdentifier(fleet), loadedIdentifier); } } diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java index 90b606ffee0..7cb4c98c889 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java @@ -18,9 +18,10 @@ import com.sap.sailing.domain.base.impl.PersonImpl; import com.sap.sailing.domain.base.impl.TeamImpl; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.impl.Util; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.RaceColumn; -import com.sap.sailing.domain.leaderboard.impl.LeaderboardImpl; +import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; import com.sap.sailing.domain.persistence.impl.DomainObjectFactoryImpl; @@ -33,7 +34,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { public void testStoreAndRetrieveSimpleLeaderboard() { final String leaderboardName = "TestLeaderboard"; final int[] discardIndexResultsStartingWithHowManyRaces = new int[] { 5, 8 }; - LeaderboardImpl leaderboard = new LeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), + FlexibleLeaderboardImpl leaderboard = new FlexibleLeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)); new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); Leaderboard loadedLeaderboard = new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); @@ -48,16 +49,16 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { final String raceColumnName = "My First Race"; final int carriedPointsForWolfgangHunger = 3; final int[] discardIndexResultsStartingWithHowManyRaces = new int[] { 5, 8 }; - LeaderboardImpl leaderboard = new LeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), + FlexibleLeaderboardImpl leaderboard = new FlexibleLeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)); Competitor competitor = createCompetitor(); TrackedRace raceWithOneCompetitor = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 1, /* started */ true); - leaderboard.addRace(raceWithOneCompetitor, raceColumnName, /* medalRace */ false); + leaderboard.addRace(raceWithOneCompetitor, raceColumnName, /* medalRace */ false, leaderboard.getFleet(null)); leaderboard.setCarriedPoints(competitor, carriedPointsForWolfgangHunger); new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); - Leaderboard loadedLeaderboard = new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); + FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); // attach tracked race to leaderboard to ensure that competitor object is assigned properly - loadedLeaderboard.addRace(raceWithOneCompetitor, raceColumnName, /* medalRace, ignored */ false); + loadedLeaderboard.addRace(raceWithOneCompetitor, raceColumnName, /* medalRace, ignored */ false, leaderboard.getFleet(null)); assertEquals(leaderboardName, loadedLeaderboard.getName()); assertTrue(Arrays.equals(discardIndexResultsStartingWithHowManyRaces, loadedLeaderboard.getResultDiscardingRule() .getDiscardIndexResultsStartingWithHowManyRaces())); @@ -73,19 +74,19 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { final String raceColumnName2 = "My First Race 2"; final int correctedPoints = 2; final int[] discardIndexResultsStartingWithHowManyRaces = new int[] { 5, 8 }; - LeaderboardImpl leaderboard = new LeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), + FlexibleLeaderboardImpl leaderboard = new FlexibleLeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)); Competitor competitor = createCompetitor(); TrackedRace raceWithOneCompetitor1 = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 1, /* started */ true); TrackedRace raceWithOneCompetitor2 = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 2, /* started */ true); - leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false); - leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true); + leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false, leaderboard.getFleet(null)); + leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, leaderboard.getFleet(null)); leaderboard.getScoreCorrection().correctScore(competitor, leaderboard.getRaceColumnByName(raceColumnName1), correctedPoints); new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); - Leaderboard loadedLeaderboard = new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); + FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); // attach tracked race to leaderboard to ensure that competitor object is assigned properly - RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false); - RaceColumn loadedColumn2 = loadedLeaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace, ignored */ false); + RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, leaderboard.getFleet(null)); + RaceColumn loadedColumn2 = loadedLeaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace, ignored */ false, leaderboard.getFleet(null)); assertEquals(leaderboardName, loadedLeaderboard.getName()); assertTrue(loadedLeaderboard.getScoreCorrection().isScoreCorrected(competitor, loadedColumn1)); assertEquals(correctedPoints, (int) loadedLeaderboard.getScoreCorrection().getExplicitScoreCorrection(competitor, loadedColumn1)); @@ -99,19 +100,19 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { final String raceColumnName2 = "My First Race 2"; final MaxPointsReason maxPointsReason = MaxPointsReason.DNF; final int[] discardIndexResultsStartingWithHowManyRaces = new int[] { 5, 8 }; - LeaderboardImpl leaderboard = new LeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), + FlexibleLeaderboardImpl leaderboard = new FlexibleLeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)); Competitor competitor = createCompetitor(); TrackedRace raceWithOneCompetitor1 = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 1, /* started */ true); TrackedRace raceWithOneCompetitor2 = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 2, /* started */ true); - leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false); - leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true); + leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false, leaderboard.getFleet(null)); + leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, leaderboard.getFleet(null)); leaderboard.getScoreCorrection().setMaxPointsReason(competitor, leaderboard.getRaceColumnByName(raceColumnName2), maxPointsReason); new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); - Leaderboard loadedLeaderboard = new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); + FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); // attach tracked race to leaderboard to ensure that competitor object is assigned properly - RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false); - RaceColumn loadedColumn2 = loadedLeaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace, ignored */ false); + RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, leaderboard.getFleet(null)); + RaceColumn loadedColumn2 = loadedLeaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace, ignored */ false, leaderboard.getFleet(null)); assertEquals(leaderboardName, loadedLeaderboard.getName()); assertFalse(loadedLeaderboard.getScoreCorrection().isScoreCorrected(competitor, loadedColumn1)); assertTrue(loadedLeaderboard.getScoreCorrection().isScoreCorrected(competitor, loadedColumn2)); @@ -126,20 +127,20 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { final int correctedPoints = 2; final MaxPointsReason maxPointsReason = MaxPointsReason.DNF; final int[] discardIndexResultsStartingWithHowManyRaces = new int[] { 5, 8 }; - LeaderboardImpl leaderboard = new LeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), + FlexibleLeaderboardImpl leaderboard = new FlexibleLeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces)); Competitor competitor = createCompetitor(); TrackedRace raceWithOneCompetitor1 = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 1, /* started */ true); TrackedRace raceWithOneCompetitor2 = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 2, /* started */ true); - leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false); - leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true); + leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false, leaderboard.getFleet(null)); + leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, leaderboard.getFleet(null)); leaderboard.getScoreCorrection().correctScore(competitor, leaderboard.getRaceColumnByName(raceColumnName1), correctedPoints); leaderboard.getScoreCorrection().setMaxPointsReason(competitor, leaderboard.getRaceColumnByName(raceColumnName2), maxPointsReason); new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); - Leaderboard loadedLeaderboard = new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); + FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); // attach tracked race to leaderboard to ensure that competitor object is assigned properly - RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false); - RaceColumn loadedColumn2 = loadedLeaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace, ignored */ false); + RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, leaderboard.getFleet(null)); + RaceColumn loadedColumn2 = loadedLeaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace, ignored */ false, leaderboard.getFleet(null)); assertEquals(leaderboardName, loadedLeaderboard.getName()); assertTrue(loadedLeaderboard.getScoreCorrection().isScoreCorrected(competitor, loadedColumn1)); assertEquals(correctedPoints, (int) loadedLeaderboard.getScoreCorrection().getExplicitScoreCorrection(competitor, loadedColumn1)); diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java index 4dd205c79de..2c77f3e00b8 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java @@ -106,7 +106,7 @@ public class TrackRaceReplicationTest extends AbstractServerReplicationTest { Leaderboard replicaDefaultLeaderboard = replica.getLeaderboardByName(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME); RaceColumn column = replicaDefaultLeaderboard.getRaceColumnByName(replicaTrackedRace.getRace().getName()); assertNotNull(column); - assertSame(replicaTrackedRace, column.getTrackedRace()); + assertSame(replicaTrackedRace, column.getTrackedRace(fleet)); } @Test @@ -115,10 +115,10 @@ public class TrackRaceReplicationTest extends AbstractServerReplicationTest { master.apply(new CreateLeaderboard(leaderboardName, new int[0])); final String columnName = "R1"; RaceColumn masterColumn = master.apply(new AddColumnToLeaderboard(columnName, leaderboardName, /* medalRace */ false)); - master.apply(new ConnectTrackedRaceToLeaderboardColumn(leaderboardName, columnName, new RegattaNameAndRaceName( + master.apply(new ConnectTrackedRaceToLeaderboardColumn(leaderboardName, columnName, fleet.getName(), new RegattaNameAndRaceName( "Academy Tracking 2011 (STG)", "weym470may122011"))); startTracking(); - assertNotNull(masterColumn.getTrackedRace()); // ensure the re-assignment worked on the master + assertNotNull(masterColumn.getTrackedRace(fleet)); // ensure the re-assignment worked on the master Thread.sleep(1000); TrackedRace replicaTrackedRace = replica.getTrackedRace(raceIdentifier); assertNotNull(replicaTrackedRace); @@ -129,7 +129,7 @@ public class TrackRaceReplicationTest extends AbstractServerReplicationTest { assertNotNull(replicaLeaderboard); RaceColumn column = replicaLeaderboard.getRaceColumnByName(columnName); assertNotNull(column); - assertSame(replicaTrackedRace, column.getTrackedRace()); + assertSame(replicaTrackedRace, column.getTrackedRace(fleet)); } @Test diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java index 742442b3e0a..2d50dc9f0fb 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java @@ -15,6 +15,7 @@ import java.util.ConcurrentModificationException; import java.util.List; import java.util.Map; +import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; @@ -168,7 +169,7 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch * * The race will be also removed from all leaderboards containing a column that has race's * {@link #getTrackedRace(Regatta, RaceDefinition) corresponding} {@link TrackedRace} as its - * {@link RaceColumn#getTrackedRace()}. + * {@link RaceColumn#getTrackedRace(Fleet)}. * * @param regatta * the event to remove diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index aa2d1e1c6fd..046143b1ca0 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -29,6 +29,7 @@ import java.util.logging.Logger; import com.sap.sailing.domain.base.Buoy; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.ControlPoint; +import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.RegattaListener; import com.sap.sailing.domain.base.RaceDefinition; @@ -44,11 +45,12 @@ import com.sap.sailing.domain.common.WindSource; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.domain.common.impl.Util.Triple; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; import com.sap.sailing.domain.leaderboard.RaceColumn; import com.sap.sailing.domain.leaderboard.impl.LeaderboardGroupImpl; -import com.sap.sailing.domain.leaderboard.impl.LeaderboardImpl; +import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; import com.sap.sailing.domain.persistence.DomainObjectFactory; @@ -197,7 +199,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public Leaderboard addLeaderboard(String name, int[] discardThresholds) { - Leaderboard result = new LeaderboardImpl(name, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( + Leaderboard result = new FlexibleLeaderboardImpl(name, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( discardThresholds)); synchronized (leaderboardsByName) { if (leaderboardsByName.containsKey(name)) { @@ -212,8 +214,8 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public RaceColumn addColumnToLeaderboard(String columnName, String leaderboardName, boolean medalRace) { Leaderboard leaderboard = getLeaderboardByName(leaderboardName); - if (leaderboard != null) { - RaceColumn result = leaderboard.addRaceColumn(columnName, medalRace); + if (leaderboard != null && leaderboard instanceof FlexibleLeaderboard) { + RaceColumn result = ((FlexibleLeaderboard) leaderboard).addRaceColumn(columnName, medalRace); updateStoredLeaderboard(leaderboard); return result; } else { @@ -224,8 +226,8 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public void moveLeaderboardColumnUp(String leaderboardName, String columnName) { Leaderboard leaderboard = getLeaderboardByName(leaderboardName); - if (leaderboard != null) { - leaderboard.moveRaceColumnUp(columnName); + if (leaderboard != null && leaderboard instanceof FlexibleLeaderboard) { + ((FlexibleLeaderboard) leaderboard).moveRaceColumnUp(columnName); updateStoredLeaderboard(leaderboard); } else { throw new IllegalArgumentException("Leaderboard named " + leaderboardName + " not found"); @@ -235,8 +237,8 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public void moveLeaderboardColumnDown(String leaderboardName, String columnName) { Leaderboard leaderboard = getLeaderboardByName(leaderboardName); - if (leaderboard != null) { - leaderboard.moveRaceColumnDown(columnName); + if (leaderboard != null && leaderboard instanceof FlexibleLeaderboard) { + ((FlexibleLeaderboard) leaderboard).moveRaceColumnDown(columnName); updateStoredLeaderboard(leaderboard); } else { throw new IllegalArgumentException("Leaderboard named " + leaderboardName + " not found"); @@ -246,8 +248,8 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public void removeLeaderboardColumn(String leaderboardName, String columnName) { Leaderboard leaderboard = getLeaderboardByName(leaderboardName); - if (leaderboard != null) { - leaderboard.removeRaceColumn(columnName); + if (leaderboard != null && leaderboard instanceof FlexibleLeaderboard) { + ((FlexibleLeaderboard) leaderboard).removeRaceColumn(columnName); updateStoredLeaderboard(leaderboard); } else { throw new IllegalArgumentException("Leaderboard named "+leaderboardName+" not found"); @@ -599,8 +601,9 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen trackedRace.getMillisecondsOverWhichToAverageWind(), trackedRace.getMillisecondsOverWhichToAverageSpeed()); replicate(op); linkRaceToConfiguredLeaderboardColumns(trackedRace); - leaderboardsByName.get(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME).addRace(trackedRace, - trackedRace.getRace().getName(), /* medalRace */false); + final FlexibleLeaderboard defaultLeaderboard = (FlexibleLeaderboard) leaderboardsByName.get(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME); + defaultLeaderboard.addRace(trackedRace, + trackedRace.getRace().getName(), /* medalRace */false, defaultLeaderboard.getFleet(null)); TrackedRaceReplicator trackedRaceReplicator = new TrackedRaceReplicator(trackedRace); trackedRaceReplicators.put(trackedRace, trackedRaceReplicator); trackedRace.addListener(trackedRaceReplicator); @@ -668,18 +671,21 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen /** * Based on the trackedRace's {@link TrackedRace#getRaceIdentifier() race identifier}, the tracked race * is (re-)associated to all {@link RaceColumn race columns} that currently have no - * {@link RaceColumn#getTrackedRace() tracked race assigned} and whose - * {@link RaceColumn#getRaceIdentifier() race identifier} equals that of trackedRace. + * {@link RaceColumn#getTrackedRace(Fleet) tracked race assigned} and whose + * {@link RaceColumn#getRaceIdentifier(Fleet) race identifier} equals that of trackedRace. */ private void linkRaceToConfiguredLeaderboardColumns(TrackedRace trackedRace) { boolean leaderboardHasChanged = false; RaceIdentifier trackedRaceIdentifier = trackedRace.getRaceIdentifier(); for (Leaderboard leaderboard : getLeaderboards().values()) { for (RaceColumn column : leaderboard.getRaceColumns()) { - if (trackedRaceIdentifier.equals(column.getRaceIdentifier()) && column.getTrackedRace() == null) { - column.setTrackedRace(trackedRace); - leaderboardHasChanged = true; - replicate(new ConnectTrackedRaceToLeaderboardColumn(leaderboard.getName(), column.getName(), trackedRaceIdentifier)); + for (Fleet fleet : column.getFleets()) { + if (trackedRaceIdentifier.equals(column.getRaceIdentifier(fleet)) && column.getTrackedRace(fleet) == null) { + column.setTrackedRace(fleet, trackedRace); + leaderboardHasChanged = true; + replicate(new ConnectTrackedRaceToLeaderboardColumn(leaderboard.getName(), column.getName(), + fleet.getName(), trackedRaceIdentifier)); + } } } if (leaderboardHasChanged) { @@ -714,7 +720,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen for (RaceDefinition race : regatta.getAllRaces()) { stopTrackingWind(regatta, race); // remove from default leaderboard - Leaderboard defaultLeaderboard = getLeaderboardByName(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME); + FlexibleLeaderboard defaultLeaderboard = (FlexibleLeaderboard) getLeaderboardByName(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME); defaultLeaderboard.removeRaceColumn(race.getName()); } } @@ -807,9 +813,11 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen for (Leaderboard leaderboard : getLeaderboards().values()) { boolean changed = false; for (RaceColumn raceColumn : leaderboard.getRaceColumns()) { - if (raceColumn.getTrackedRace() == trackedRace) { - raceColumn.releaseTrackedRace(); // but leave the RaceIdentifier on the race column untouched, e.g., for later re-load - changed = true; + for (Fleet fleet : raceColumn.getFleets()) { + if (raceColumn.getTrackedRace(fleet) == trackedRace) { + raceColumn.releaseTrackedRace(fleet); // but leave the RaceIdentifier on the race column + changed = true; // untouched, e.g., for later re-load + } } } if (changed) { diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java index 5045e341d39..5cdb0b8b382 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java @@ -10,10 +10,12 @@ import com.sap.sailing.server.RacingEventServiceOperation; public class ConnectTrackedRaceToLeaderboardColumn extends AbstractLeaderboardColumnOperation { private static final long serialVersionUID = -1336511401516212508L; private final RaceIdentifier raceToConnect; + private final String fleetName; - public ConnectTrackedRaceToLeaderboardColumn(String leaderboardName, String columnName, RaceIdentifier raceToConnect) { + public ConnectTrackedRaceToLeaderboardColumn(String leaderboardName, String columnName, String fleetName, RaceIdentifier raceToConnect) { super(leaderboardName, columnName); this.raceToConnect = raceToConnect; + this.fleetName = fleetName; } @Override @@ -37,7 +39,7 @@ public class ConnectTrackedRaceToLeaderboardColumn extends AbstractLeaderboardCo if (raceColumn != null) { TrackedRace trackedRace = toState.getExistingTrackedRace(raceToConnect); if (trackedRace != null) { - raceColumn.setTrackedRace(trackedRace); + raceColumn.setTrackedRace(raceColumn.getFleetByName(fleetName), trackedRace); } } success = true; diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/DisconnectLeaderboardColumnFromTrackedRace.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/DisconnectLeaderboardColumnFromTrackedRace.java index fe15b1676b7..18405c0c024 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/DisconnectLeaderboardColumnFromTrackedRace.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/DisconnectLeaderboardColumnFromTrackedRace.java @@ -8,10 +8,11 @@ import com.sap.sailing.server.RacingEventServiceOperation; public class DisconnectLeaderboardColumnFromTrackedRace extends AbstractLeaderboardColumnOperation { private static final long serialVersionUID = -5822713961135743309L; + private final String fleetName; - public DisconnectLeaderboardColumnFromTrackedRace(String leaderboardName, String columnName) { + public DisconnectLeaderboardColumnFromTrackedRace(String leaderboardName, String columnName, String fleetName) { super(leaderboardName, columnName); - // TODO Auto-generated constructor stub + this.fleetName = fleetName; } @Override @@ -20,7 +21,7 @@ public class DisconnectLeaderboardColumnFromTrackedRace extends AbstractLeaderbo if (leaderboard != null) { RaceColumn raceColumn = leaderboard.getRaceColumnByName(getColumnName()); if (raceColumn != null) { - raceColumn.setTrackedRace(null); + raceColumn.setTrackedRace(raceColumn.getFleetByName(fleetName), null); toState.updateStoredLeaderboard(leaderboard); } else { throw new IllegalArgumentException("Didn't find race "+getColumnName()+" in leaderboard "+getLeaderboardName()); From 280806d4720f2587217d14760f089bd1e1f158ed Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 15 May 2012 16:34:56 +0200 Subject: [PATCH 002/339] made LeaderboardDTO compilable for now --- .../gwt/ui/test/TestColumnSwapping.java | 12 +++++----- .../adminconsole/LeaderboardConfigPanel.java | 4 ++-- .../gwt/ui/server/SailingServiceImpl.java | 4 ++-- .../sailing/gwt/ui/shared/LeaderboardDTO.java | 23 ++++++++++++------- .../gwt/ui/shared/RaceInLeaderboardDTO.java | 1 - .../ui/spectator/LeaderboardGroupPanel.java | 2 +- 6 files changed, 26 insertions(+), 20 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java index a3d5b5177df..ce6c99081e9 100755 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java @@ -49,9 +49,9 @@ public class TestColumnSwapping { try { // get Leaderboard with name and current date leaderboardOriginalDTO = new LeaderboardDTO(); - leaderboardOriginalDTO.addRace("Race1", true, null, null); - leaderboardOriginalDTO.addRace("Race3", true, null, null); - leaderboardOriginalDTO.addRace("Race2", true, null, null); + leaderboardOriginalDTO.addRace("Race1", fleetName, true, null, null); + leaderboardOriginalDTO.addRace("Race3", fleetName, true, null, null); + leaderboardOriginalDTO.addRace("Race2", fleetName, true, null, null); } catch (Exception e) { e.printStackTrace(); } @@ -100,9 +100,9 @@ public class TestColumnSwapping { public void testLeaderBoardDTOMethods() { lb = new LeaderboardDTO(); assertNotNull("Leaderboard != NULL", lb); - lb.addRace("1", false, null, null); - lb.addRace("2", false, null, null); - lb.addRace("3", true, null, null); + lb.addRace("1", fleetName, false, null, null); + lb.addRace("2", fleetName, false, null, null); + lb.addRace("3", fleetName, true, null, null); lb.moveRaceDown("1"); String[] s = new String[] { "2", "1", "3" }; for (int i = 0; i < lb.getRaceList().size(); i++) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index e35d7762c13..01e56ab4e3e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -711,8 +711,8 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye // selectedLeaderboard.raceNamesAndMedalRaceAndTracked.put(columnNameAndMedalRace.getA(), // new Pair(/* medal race */ columnNameAndMedalRace.getB(), // /* tracked */ false)); - selectedLeaderboard.addRace(result.getRaceColumnName(), result.isMedalRace(), - null, null); + selectedLeaderboard.addRace(result.getRaceColumnName(), fleetName, + result.isMedalRace(), null, null); selectedLeaderboard.invalidateCompetitorOrdering(); } }); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 06354f16ffa..b24b5872f99 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -260,7 +260,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS TrackedRace trackedRace = raceColumn.getTrackedRace(fleet); raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta().getName(), trackedRace.getRace().getName()); } - result.addRace(raceColumn.getName(), raceColumn.isMedalRace(), raceIdentifier, /* StrippedRaceDTO */ null); + result.addRace(raceColumn.getName(), fleetName, raceColumn.isMedalRace(), raceIdentifier, /* StrippedRaceDTO */ null); } result.rows = new HashMap(); result.hasCarriedPoints = leaderboard.hasCarriedPoints(); @@ -1228,7 +1228,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS race.endOfRace = trackedRace.getEndOfRace() == null ? null : trackedRace.getEndOfRace().asDate(); } } - dto.addRace(raceColumn.getName(), raceColumn.isMedalRace(), raceIdentifier, race); + dto.addRace(raceColumn.getName(), fleetName, raceColumn.isMedalRace(), raceIdentifier, race); } dto.hasCarriedPoints = leaderboard.hasCarriedPoints(); dto.discardThresholds = leaderboard.getResultDiscardingRule().getDiscardIndexResultsStartingWithHowManyRaces(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java index 8bbb3009a50..9d5e17b371e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java @@ -284,7 +284,11 @@ public class LeaderboardDTO implements IsSerializable { public boolean raceIsTracked(String raceColumnName) { for (RaceInLeaderboardDTO race : races) { if (race.getRaceColumnName().equals(raceColumnName)) { - return race.isTrackedRace(fleetName); + for (String fleetName : race.getFleetNames()) { + if (race.isTrackedRace(fleetName)) { + return true; + } + } } } return false; @@ -295,7 +299,7 @@ public class LeaderboardDTO implements IsSerializable { return getRaceInLeaderboardByName(raceColumnName).isMedalRace(); } - public void addRace(String raceColumnName, boolean medalRace, RegattaAndRaceIdentifier trackedRaceIdentifier, StrippedRaceDTO race) { + public void addRace(String raceColumnName, String fleetName, boolean medalRace, RegattaAndRaceIdentifier trackedRaceIdentifier, StrippedRaceDTO race) { RaceInLeaderboardDTO raceInLeaderboardDTO = new RaceInLeaderboardDTO(); raceInLeaderboardDTO.setRaceColumnName(raceColumnName); raceInLeaderboardDTO.setMedalRace(medalRace); @@ -304,7 +308,7 @@ public class LeaderboardDTO implements IsSerializable { races.add(raceInLeaderboardDTO); } - public void addRaceAt(String raceColumnName, boolean medalRace, RegattaAndRaceIdentifier trackedRaceIdentifier, int index) { + public void addRaceAt(String raceColumnName, String fleetName, boolean medalRace, RegattaAndRaceIdentifier trackedRaceIdentifier, int index) { RaceInLeaderboardDTO raceInLeaderboardDTO = new RaceInLeaderboardDTO(); raceInLeaderboardDTO.setRaceColumnName(raceColumnName); raceInLeaderboardDTO.setMedalRace(medalRace); @@ -370,12 +374,15 @@ public class LeaderboardDTO implements IsSerializable { public Date getStartDate() { Date leaderboardStart = null; for (RaceInLeaderboardDTO race : getRaceList()) { - Date raceStart = race.getStartDate(fleetName); - if (raceStart != null) { - if (leaderboardStart == null) { - leaderboardStart = new Date(); + for (String fleetName : race.getFleetNames()) { + Date raceStart = race.getStartDate(fleetName); + if (raceStart != null) { + if (leaderboardStart == null) { + leaderboardStart = new Date(); + } else { + leaderboardStart = leaderboardStart.before(raceStart) ? leaderboardStart : raceStart; + } } - leaderboardStart = leaderboardStart.before(raceStart) ? leaderboardStart : raceStart; } } return leaderboardStart; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java index 1766f71bf6c..9591c27c91d 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java @@ -78,7 +78,6 @@ public class RaceInLeaderboardDTO implements IsSerializable { } /** - * @param fleetName TODO * @return The start of race, or the start of tracking if the start of race is null, or * null if no start date is available. */ diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java index 3365e8f464f..9da9065a18e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java @@ -138,7 +138,7 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget } }; leaderboardsTable.addColumn(leaderboardColumn, leaderboard.name); - leaderboard.addRaceAt(stringConstants.overview(), false, null, 0); + leaderboard.addRaceAt(stringConstants.overview(), fleetName, false, null, 0); maxRacesNum = maxRacesNum < leaderboard.getRaceList().size() ? leaderboard .getRaceList().size() : maxRacesNum; } From 545769590f95ba222684a8f4d7a604bec98420ef Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 15 May 2012 17:36:18 +0200 Subject: [PATCH 003/339] made more files compileable; still many errors --- .../gwt/ui/leaderboard/LeaderboardPanel.java | 30 ++++++++++++------- .../gwt/ui/leaderboard/TVViewPanel.java | 25 +++++++++------- .../gwt/ui/shared/RaceInLeaderboardDTO.java | 13 ++++++++ 3 files changed, 48 insertions(+), 20 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java index 5743340279e..6ff1971aa4d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java @@ -1036,8 +1036,11 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta private RaceInLeaderboardDTO getRaceByName(String raceName) { if (getLeaderboard() != null) { for (RaceInLeaderboardDTO race : getLeaderboard().getRaceList()) { - if (race.getRaceIdentifier(fleetName) != null && raceName.equals(race.getRaceIdentifier(fleetName).getRaceName())) { - return race; + for (String fleetName : race.getFleetNames()) { + if (race.getRaceIdentifier(fleetName) != null + && raceName.equals(race.getRaceIdentifier(fleetName).getRaceName())) { + return race; + } } } } @@ -1058,9 +1061,14 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta private RaceColumn getRaceColumnByRaceName(String raceName) { for (int i=0; i column = getLeaderboardTable().getColumn(i); - if (column instanceof RaceColumn - && ((RaceColumn) column).getRace().getRaceIdentifier(fleetName).getRaceName().equals(raceName)) { - return (RaceColumn) column; + if (column instanceof RaceColumn) { + RaceInLeaderboardDTO raceInLeaderboard = ((RaceColumn) column).getRace(); + for (String fleetName : raceInLeaderboard.getFleetNames()) { + final RegattaAndRaceIdentifier raceIdentifier = raceInLeaderboard.getRaceIdentifier(fleetName); + if (raceIdentifier != null && raceIdentifier.getRaceName().equals(raceName)) { + return (RaceColumn) column; + } + } } } return null; @@ -1288,7 +1296,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta if (preSelectedRace != null) { for (Iterator i=columnsToAddImplicitly.iterator(); i.hasNext(); ) { RaceInLeaderboardDTO next = i.next(); - if (!preSelectedRace.equals(next.getRaceIdentifier(fleetName))) { + if (!next.containsRace(preSelectedRace)) { i.remove(); } } @@ -1386,7 +1394,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta private void correctColumnData(RaceColumn raceColumn) { RaceInLeaderboardDTO race = raceColumn.getRace(); int columnIndex = getRaceColumnPosition(raceColumn); - if (raceColumn.isExpansionEnabled() != race.isTrackedRace(fleetName) + if (raceColumn.isExpansionEnabled() != race.hasTrackedRaces() || race.isMedalRace() != raceColumn.isMedalRace()) { if (raceColumn.isExpanded()) { raceColumn.toggleExpansion(); // remove children from table @@ -1531,7 +1539,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta } protected RaceColumn createRaceColumn(RaceInLeaderboardDTO raceInLeaderboard) { - TextRaceColumn textRaceColumn = new TextRaceColumn(raceInLeaderboard, raceInLeaderboard.isTrackedRace(fleetName), RACE_COLUMN_HEADER_STYLE, + TextRaceColumn textRaceColumn = new TextRaceColumn(raceInLeaderboard, raceInLeaderboard.hasTrackedRaces(), RACE_COLUMN_HEADER_STYLE, RACE_COLUMN_STYLE); return textRaceColumn; } @@ -1694,8 +1702,10 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta private List getTrackedRacesIdentifiers() { List result = new ArrayList(); for (RaceInLeaderboardDTO raceColumn : getLeaderboard().getRaceList()) { - if (raceColumn.getRaceIdentifier(fleetName) != null) { - result.add(raceColumn.getRaceIdentifier(fleetName)); + for (String fleetName : raceColumn.getFleetNames()) { + if (raceColumn.getRaceIdentifier(fleetName) != null) { + result.add(raceColumn.getRaceIdentifier(fleetName)); + } } } return result; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/TVViewPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/TVViewPanel.java index e2dee345d55..ee1cf763091 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/TVViewPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/TVViewPanel.java @@ -102,10 +102,12 @@ public class TVViewPanel extends SimplePanel implements RaceTimesInfoProviderLis private void updateRaceTimesInfoProvider() { boolean providerChanged = false; for (RaceInLeaderboardDTO race : leaderboard.getRaceList()) { - RaceIdentifier raceIdentifier = race.getRaceIdentifier(fleetName); - if (raceIdentifier != null && !raceTimesInfoProvider.containsRaceIdentifier(raceIdentifier)) { - raceTimesInfoProvider.addRaceIdentifier(raceIdentifier, false); - providerChanged = true; + for (String fleetName : race.getFleetNames()) { + RaceIdentifier raceIdentifier = race.getRaceIdentifier(fleetName); + if (raceIdentifier != null && !raceTimesInfoProvider.containsRaceIdentifier(raceIdentifier)) { + raceTimesInfoProvider.addRaceIdentifier(raceIdentifier, false); + providerChanged = true; + } } } if (providerChanged) { @@ -221,12 +223,15 @@ public class TVViewPanel extends SimplePanel implements RaceTimesInfoProviderLis RegattaAndRaceIdentifier firstStartedAndUnfinishedRace = null; Map raceTimesInfos = raceTimesInfoProvider.getRaceTimesInfos(); for (RaceInLeaderboardDTO race : leaderboard.getRaceList()) { - RegattaAndRaceIdentifier raceIdentifier = race.getRaceIdentifier(fleetName); - RaceTimesInfoDTO raceTimes = raceTimesInfos.get(raceIdentifier); - if (raceIdentifier != null && raceTimes != null && raceTimes.startOfTracking != null - && raceTimes.endOfRace == null) { - firstStartedAndUnfinishedRace = raceIdentifier; - break; + for (String fleetName : race.getFleetNames()) { + RegattaAndRaceIdentifier raceIdentifier = race.getRaceIdentifier(fleetName); + if (raceIdentifier != null) { + RaceTimesInfoDTO raceTimes = raceTimesInfos.get(raceIdentifier); + if (raceTimes != null && raceTimes.startOfTracking != null && raceTimes.endOfRace == null) { + firstStartedAndUnfinishedRace = raceIdentifier; + break; + } + } } } return firstStartedAndUnfinishedRace; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java index 9591c27c91d..1afbf03982b 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java @@ -3,9 +3,12 @@ package com.sap.sailing.gwt.ui.shared; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; +import java.util.Set; import com.google.gwt.user.client.rpc.IsSerializable; +import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; public class RaceInLeaderboardDTO implements IsSerializable { @@ -167,4 +170,14 @@ public class RaceInLeaderboardDTO implements IsSerializable { return true; } + public boolean containsRace(RaceIdentifier preSelectedRace) { + return trackedRaceIdentifiersPerFleet.values().contains(preSelectedRace); + } + + public boolean hasTrackedRaces() { + Set raceIdentifiers = new HashSet(trackedRaceIdentifiersPerFleet.values()); + raceIdentifiers.remove(null); + return !raceIdentifiers.isEmpty(); + } + } From 029d0a05b09995f43b557ebcccd97bb4f1bc63ec Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 15 May 2012 17:59:29 +0200 Subject: [PATCH 004/339] all non-UI packages compile --- .../impl/DomainObjectFactoryImpl.java | 20 +++++++++---- .../test/LeaderboardForKielWeekTest.java | 8 ++++-- .../domain/test/LeaderboardOfflineTest.java | 28 +++++++++++-------- .../ui/test/GwtTestCaseColumnToggling.java | 7 +++-- .../gwt/ui/test/TestColumnSwapping.java | 13 +++++---- .../test/TrackRaceReplicationTest.java | 14 ++++++---- 6 files changed, 55 insertions(+), 35 deletions(-) diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index 30fdeb68e94..b71265fc417 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -20,6 +20,7 @@ import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.SpeedWithBearing; +import com.sap.sailing.domain.base.impl.FleetImpl; import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl; import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; import com.sap.sailing.domain.common.MaxPointsReason; @@ -157,10 +158,12 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { discardIndexResultsStartingWithHowManyRaces[i++] = (Integer) discardingThresholdAsObject; } ThresholdBasedResultDiscardingRule resultDiscardingRule = new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces); - // TODO should this be a FlexibleLeaderboard or a RegattaLeaderboard? + // TODO should this be a FlexibleLeaderboard or a RegattaLeaderboard? See bug 636 LeaderboardImplWithDelayedCarriedPoints result = new LeaderboardImplWithDelayedCarriedPoints( (String) o.get(FieldNames.LEADERBOARD_NAME.name()), scoreCorrection, resultDiscardingRule); BasicDBList dbRaceColumns = (BasicDBList) o.get(FieldNames.LEADERBOARD_COLUMNS.name()); + // For a FlexibleLeaderboard, fleets are owned by the leaderboard's RaceColumn objects. We need to manage them here: + Map fleetsByName = new HashMap(); for (Object dbRaceColumnAsObject : dbRaceColumns) { BasicDBObject dbRaceColumn = (BasicDBObject) dbRaceColumnAsObject; Map raceIdentifiers = loadRaceIdentifiers(dbRaceColumn); @@ -176,12 +179,19 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { } } List fleets = new ArrayList(); - for (String fleetName : ) - for (Map.Entry e : raceIdentifiers.entrySet()) { - + for (String fleetName : raceIdentifiers.keySet()) { + Fleet fleet = fleetsByName.get(fleetName); + if (fleet == null) { + fleet = new FleetImpl(fleetName); + fleetsByName.put(fleetName, fleet); + } + fleets.add(fleet); } RaceColumn raceColumn = result.addRaceColumn((String) dbRaceColumn.get(FieldNames.LEADERBOARD_COLUMN_NAME.name()), - (Boolean) dbRaceColumn.get(FieldNames.LEADERBOARD_IS_MEDAL_RACE_COLUMN.name())); + (Boolean) dbRaceColumn.get(FieldNames.LEADERBOARD_IS_MEDAL_RACE_COLUMN.name()), fleets.toArray(new Fleet[0])); + for (Map.Entry e : raceIdentifiers.entrySet()) { + raceColumn.setRaceIdentifier(fleetsByName.get(e.getKey()), e.getValue()); + } } DBObject carriedPoints = (DBObject) o.get(FieldNames.LEADERBOARD_CARRIED_POINTS.name()); if (carriedPoints != null) { diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardForKielWeekTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardForKielWeekTest.java index 52dd9707914..7e7b2e8245d 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardForKielWeekTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardForKielWeekTest.java @@ -10,6 +10,7 @@ import java.util.GregorianCalendar; import org.junit.Test; import com.sap.sailing.domain.base.Competitor; +import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl; import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; import com.sap.sailing.domain.common.NoWindException; @@ -35,23 +36,24 @@ public class LeaderboardForKielWeekTest extends OnlineTracTracBasedTest { @Test public void leaderboardWithOneRaceTest() throws URISyntaxException, NoWindException, IOException, InterruptedException { leaderboard = new FlexibleLeaderboardImpl("Kiel Week 2011 505s", new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(new int[] { 3, 6 })); + Fleet defaultFleet = leaderboard.getFleet(null); MillisecondsTimePoint now = MillisecondsTimePoint.now(); loadRace("357c700a-9d9a-11e0-85be-406186cbf87c"); // 505 Race 2 Competitor hasso = getCompetitorByName("Dr.Plattner"); - RaceColumn column = leaderboard.addRace(getTrackedRace(), "Test Race 1", /* medalRace */ false); + RaceColumn column = leaderboard.addRace(getTrackedRace(), "Test Race 1", /* medalRace */ false, defaultFleet); assertEquals(21, leaderboard.getTotalPoints(hasso, now)); Pair key = new Pair(hasso, column); assertEquals(21, leaderboard.getContent(now).get(key).getTotalPoints()); assertEquals(21, leaderboard.getEntry(hasso, column, now).getTotalPoints()); loadRace("e876c3a0-9da8-11e0-85be-406186cbf87c"); // 505 Race 3 - column = leaderboard.addRace(getTrackedRace(), "Test Race 2", /* medalRace */ false); + column = leaderboard.addRace(getTrackedRace(), "Test Race 2", /* medalRace */ false, defaultFleet); key = new Pair(hasso, column); // In Race 3, Hasso ranked 31st assertEquals(52, leaderboard.getTotalPoints(hasso, now)); assertEquals(31, leaderboard.getContent(now).get(key).getTotalPoints()); assertEquals(31, leaderboard.getEntry(hasso, column, now).getTotalPoints()); loadRace("7c666e50-9dde-11e0-85be-406186cbf87c"); // 505 Race 4 - column = leaderboard.addRace(getTrackedRace(), "Test Race 3", /* medalRace */ false); + column = leaderboard.addRace(getTrackedRace(), "Test Race 3", /* medalRace */ false, defaultFleet); key = new Pair(hasso, column); // now the second race is discarded because Hasso ranked worst compared to the other two; in race 4 he ranked 11th assertEquals(32, leaderboard.getTotalPoints(hasso, now)); diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardOfflineTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardOfflineTest.java index 07559e6256e..f5a45ecfaae 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardOfflineTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardOfflineTest.java @@ -15,6 +15,7 @@ import org.junit.Before; import org.junit.Test; import com.sap.sailing.domain.base.Competitor; +import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.impl.BoatClassImpl; import com.sap.sailing.domain.base.impl.BoatImpl; import com.sap.sailing.domain.base.impl.CompetitorImpl; @@ -27,7 +28,7 @@ import com.sap.sailing.domain.common.NoWindException; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Pair; -import com.sap.sailing.domain.leaderboard.Leaderboard; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.RaceColumn; import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; @@ -98,12 +99,13 @@ public class LeaderboardOfflineTest { @Test public void ensureMedalRaceParamIsIgnoredIfRaceColumnAlreadyExists() { - Leaderboard leaderboard = new FlexibleLeaderboardImpl("Test Leaderboard", new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( + FlexibleLeaderboard leaderboard = new FlexibleLeaderboardImpl("Test Leaderboard", new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( new int[] { 5, 8 })); + Fleet defaultFleet = leaderboard.getFleet(null); final String columnName = "abc"; setupRaces(1, 0); leaderboard.addRaceColumn(columnName, /* medalRace */ true); - leaderboard.addRace(testRaces.iterator().next(), columnName, /* medalRace */ false); + leaderboard.addRace(testRaces.iterator().next(), columnName, /* medalRace */ false, defaultFleet); assertTrue(leaderboard.getRaceColumnByName(columnName).isMedalRace()); } @@ -120,14 +122,15 @@ public class LeaderboardOfflineTest { testRaces.add(r); // hash set should take care of more or less randomly permuting the races } ScoreCorrectionImpl scoreCorrection = new ScoreCorrectionImpl(); - Leaderboard leaderboard = new FlexibleLeaderboardImpl("Test Leaderboard", scoreCorrection, new ResultDiscardingRuleImpl( + FlexibleLeaderboard leaderboard = new FlexibleLeaderboardImpl("Test Leaderboard", scoreCorrection, new ResultDiscardingRuleImpl( new int[] { 1 })); + Fleet defaultFleet = leaderboard.getFleet(null); int i=0; int bestScore = Integer.MAX_VALUE; RaceColumn bestScoringRaceColumn = null; for (TrackedRace race : testRaces) { i++; - RaceColumn raceColumn = leaderboard.addRace(race, "Test Race " + i, /* medalRace */ false); + RaceColumn raceColumn = leaderboard.addRace(race, "Test Race " + i, /* medalRace */ false, defaultFleet); raceColumnsInLeaderboard.put(race, raceColumn); if (race.getRank(competitor) < bestScore) { bestScore = race.getRank(competitor); @@ -136,7 +139,7 @@ public class LeaderboardOfflineTest { } scoreCorrection.setMaxPointsReason(competitor, bestScoringRaceColumn, MaxPointsReason.DSQ); // assert that best scoring but now disqualified race gets max net points because of disqualification: - assertEquals(Util.size(bestScoringRaceColumn.getTrackedRace(fleet).getRace().getCompetitors())+1, + assertEquals(Util.size(bestScoringRaceColumn.getTrackedRace(defaultFleet).getRace().getCompetitors())+1, leaderboard.getEntry(competitor, bestScoringRaceColumn, MillisecondsTimePoint.now()).getNetPoints()); // now assert that it gets discarded because due to disqualification it scores worse than all others: assertEquals(0, leaderboard.getEntry(competitor, bestScoringRaceColumn, MillisecondsTimePoint.now()).getTotalPoints()); @@ -145,13 +148,14 @@ public class LeaderboardOfflineTest { protected void testLeaderboard(int numberOfStartedRaces, int numberOfNotStartedRaces, int firstDiscardingThreshold, int secondDiscardingThreshold, Integer carry, boolean addOneMedalRace, int numberOfUntrackedRaces) throws NoWindException { setupRaces(numberOfStartedRaces, numberOfNotStartedRaces); - Leaderboard leaderboard = new FlexibleLeaderboardImpl("Test Leaderboard", new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( + FlexibleLeaderboard leaderboard = new FlexibleLeaderboardImpl("Test Leaderboard", new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( new int[] { firstDiscardingThreshold, secondDiscardingThreshold })); + Fleet defaultFleet = leaderboard.getFleet(null); int i=0; for (TrackedRace race : testRaces) { i++; raceColumnsInLeaderboard.put(race, leaderboard.addRace(race, "Test Race "+i, - /* medalRace */ numberOfUntrackedRaces == 0 && addOneMedalRace && i == testRaces.size())); + /* medalRace */ numberOfUntrackedRaces == 0 && addOneMedalRace && i == testRaces.size(), defaultFleet)); } // add a few race columns not yet connected to a tracked race for (int j=0; j ranksOfNonMedalStartedRaces = new ArrayList(); TimePoint now = MillisecondsTimePoint.now(); for (RaceColumn column : raceColumnsInLeaderboard.values()) { - if (!column.isMedalRace() && column.getTrackedRace(fleet) != null && column.getTrackedRace(fleet).hasStarted(now)) { - ranksOfNonMedalStartedRaces.add(column.getTrackedRace(fleet).getRank(competitor, now)); + if (!column.isMedalRace() && column.getTrackedRace(defaultFleet) != null && column.getTrackedRace(defaultFleet).hasStarted(now)) { + ranksOfNonMedalStartedRaces.add(column.getTrackedRace(defaultFleet).getRank(competitor, now)); } } Collections.sort(ranksOfNonMedalStartedRaces); int carryInt = (carry == null ? 0 : carry); int totalPoints = carryInt; - int medalRacePoints = getMedalRacePoints(competitor, now); + int medalRacePoints = getMedalRacePoints(competitor, now, defaultFleet); int numberOfRacesFromWhichToDiscard = ranksOfNonMedalStartedRaces.size(); for (TrackedRace race : testRaces) { RaceColumn raceColumn = raceColumnsInLeaderboard.get(race); @@ -207,7 +211,7 @@ public class LeaderboardOfflineTest { assertEquals(totalPoints, leaderboard.getTotalPoints(competitor, now)); } - private int getMedalRacePoints(Competitor competitor, TimePoint at) throws NoWindException { + private int getMedalRacePoints(Competitor competitor, TimePoint at, Fleet fleet) throws NoWindException { for (TrackedRace r : testRaces) { if (raceColumnsInLeaderboard.get(r) != null && raceColumnsInLeaderboard.get(r).isMedalRace() && raceColumnsInLeaderboard.get(r).getTrackedRace(fleet).hasStarted(at)) { diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java index 3e0ed6db990..8accc1e555e 100644 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java @@ -27,6 +27,7 @@ public class GwtTestCaseColumnToggling extends GWTTestCase { //Test data. private final String LEADERBOARD_NAME = "test"; + private static final String DEFAULT_FLEET_NAME = "Default"; private final String COLUMN1_NAME = "r1"; private final String EVENT_NAME = "Sailing Team Germany (STG)"; protected static final boolean tractracTunnel = true; // Boolean.valueOf(System.getProperty("tractrac.tunnel", "false")); @@ -131,15 +132,15 @@ public class GwtTestCaseColumnToggling extends GWTTestCase { RaceInLeaderboardDTO race = new RaceInLeaderboardDTO(); race.setRaceColumnName(COLUMN1_NAME); race.setMedalRace(false); - race.setRaceIdentifier(fleetName, null); leaderboardPanel.addColumn(leaderboardPanel.createRaceColumn(race)); linkTrackedRace(); } }); } - private void linkTrackedRace(){ - service.connectTrackedRaceToLeaderboardColumn(LEADERBOARD_NAME, COLUMN1_NAME, new RegattaNameAndRaceName(EVENT_NAME, TRACKED_RACE), + private void linkTrackedRace() { + service.connectTrackedRaceToLeaderboardColumn(LEADERBOARD_NAME, COLUMN1_NAME, DEFAULT_FLEET_NAME, + new RegattaNameAndRaceName(EVENT_NAME, TRACKED_RACE), new AsyncCallback() { @Override public void onFailure(Throwable caught) { diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java index ce6c99081e9..f22d012749f 100755 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java @@ -21,6 +21,7 @@ public class TestColumnSwapping { private LeaderboardDTO lb = null; private static final String LEADERBOARDNAME = "test"; + private static final String DEFAULT_FLEET_NAME = "Default"; private SailingServiceImpl service; private LeaderboardDTO leaderboardOriginalDTO; private LeaderboardDTO leaderboardDTO; @@ -49,9 +50,9 @@ public class TestColumnSwapping { try { // get Leaderboard with name and current date leaderboardOriginalDTO = new LeaderboardDTO(); - leaderboardOriginalDTO.addRace("Race1", fleetName, true, null, null); - leaderboardOriginalDTO.addRace("Race3", fleetName, true, null, null); - leaderboardOriginalDTO.addRace("Race2", fleetName, true, null, null); + leaderboardOriginalDTO.addRace("Race1", DEFAULT_FLEET_NAME, true, null, null); + leaderboardOriginalDTO.addRace("Race3", DEFAULT_FLEET_NAME, true, null, null); + leaderboardOriginalDTO.addRace("Race2", DEFAULT_FLEET_NAME, true, null, null); } catch (Exception e) { e.printStackTrace(); } @@ -100,9 +101,9 @@ public class TestColumnSwapping { public void testLeaderBoardDTOMethods() { lb = new LeaderboardDTO(); assertNotNull("Leaderboard != NULL", lb); - lb.addRace("1", fleetName, false, null, null); - lb.addRace("2", fleetName, false, null, null); - lb.addRace("3", fleetName, true, null, null); + lb.addRace("1", DEFAULT_FLEET_NAME, false, null, null); + lb.addRace("2", DEFAULT_FLEET_NAME, false, null, null); + lb.addRace("3", DEFAULT_FLEET_NAME, true, null, null); lb.moveRaceDown("1"); String[] s = new String[] { "2", "1", "3" }; for (int i = 0; i < lb.getRaceList().size(); i++) diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java index 2c77f3e00b8..6cae8981dc6 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java @@ -17,6 +17,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; +import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; import com.sap.sailing.domain.common.DefaultLeaderboardName; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; @@ -106,19 +107,20 @@ public class TrackRaceReplicationTest extends AbstractServerReplicationTest { Leaderboard replicaDefaultLeaderboard = replica.getLeaderboardByName(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME); RaceColumn column = replicaDefaultLeaderboard.getRaceColumnByName(replicaTrackedRace.getRace().getName()); assertNotNull(column); - assertSame(replicaTrackedRace, column.getTrackedRace(fleet)); + assertSame(replicaTrackedRace, column.getTrackedRace(replicaDefaultLeaderboard.getFleet(null))); } @Test public void testReassignmentToLeaderboardReplication() throws Exception { final String leaderboardName = "Test Leaderboard"; - master.apply(new CreateLeaderboard(leaderboardName, new int[0])); + Leaderboard masterLeaderboard = master.apply(new CreateLeaderboard(leaderboardName, new int[0])); final String columnName = "R1"; RaceColumn masterColumn = master.apply(new AddColumnToLeaderboard(columnName, leaderboardName, /* medalRace */ false)); - master.apply(new ConnectTrackedRaceToLeaderboardColumn(leaderboardName, columnName, fleet.getName(), new RegattaNameAndRaceName( - "Academy Tracking 2011 (STG)", "weym470may122011"))); + final Fleet defaultFleet = masterLeaderboard.getFleet(null); + master.apply(new ConnectTrackedRaceToLeaderboardColumn(leaderboardName, columnName, defaultFleet.getName(), + new RegattaNameAndRaceName("Academy Tracking 2011 (STG)", "weym470may122011"))); startTracking(); - assertNotNull(masterColumn.getTrackedRace(fleet)); // ensure the re-assignment worked on the master + assertNotNull(masterColumn.getTrackedRace(defaultFleet)); // ensure the re-assignment worked on the master Thread.sleep(1000); TrackedRace replicaTrackedRace = replica.getTrackedRace(raceIdentifier); assertNotNull(replicaTrackedRace); @@ -129,7 +131,7 @@ public class TrackRaceReplicationTest extends AbstractServerReplicationTest { assertNotNull(replicaLeaderboard); RaceColumn column = replicaLeaderboard.getRaceColumnByName(columnName); assertNotNull(column); - assertSame(replicaTrackedRace, column.getTrackedRace(fleet)); + assertSame(replicaTrackedRace, column.getTrackedRace(defaultFleet)); } @Test From caa879f70713f8840a314d85eb08be20894ab8af Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 15 May 2012 18:04:54 +0200 Subject: [PATCH 005/339] tired of testWeymouthOnline failing internally; added URL parameter ignored by TracTrac to force proxy reload --- .../sailing/domain/test/ParseTracTracJSONServiceOutputTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ParseTracTracJSONServiceOutputTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ParseTracTracJSONServiceOutputTest.java index 526a2aae331..c6f40cdf4d3 100644 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ParseTracTracJSONServiceOutputTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ParseTracTracJSONServiceOutputTest.java @@ -74,7 +74,7 @@ public class ParseTracTracJSONServiceOutputTest { @Test public void testWeymouthOnline() throws MalformedURLException, IOException, java.text.ParseException, ParseException, URISyntaxException { JSONService jsonService = DomainFactory.INSTANCE.parseJSONURL(new URL( - "http://" + TracTracConnectionConstants.HOST_NAME + "/events/event_20110505_SailingTea/jsonservice.php")); + "http://" + TracTracConnectionConstants.HOST_NAME + "/events/event_20110505_SailingTea/jsonservice.php?trickOurProxy=true")); assertEquals("Academy Tracking 2011", jsonService.getEventName()); List races = jsonService.getRaceRecords(); assertTrue(races.size()>=28); From 7c5e4f196b1f9c2ef8788599bd95b87a12c12cbc Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 16 May 2012 09:52:00 +0200 Subject: [PATCH 006/339] renamed create service for flexible leaderboard to ...FlexibleLeaderboard... --- .../gwt/ui/server/SailingServiceImpl.java | 46 +++++++++++-------- .../gwt/ui/shared/RaceInLeaderboardDTO.java | 1 - .../test/ServerReplicationTest.java | 4 +- .../test/TrackRaceReplicationTest.java | 4 +- .../test/LeaderboardDiscardingRulesTest.java | 2 +- .../test/OperationalTransformationTest.java | 4 +- .../sailing/server/RacingEventService.java | 2 +- .../server/RacingEventServiceOperation.java | 6 +-- .../server/impl/RacingEventServiceImpl.java | 4 +- .../AbstractRacingEventServiceOperation.java | 4 +- ...rd.java => CreateFlexibleLeaderboard.java} | 6 +-- 11 files changed, 45 insertions(+), 38 deletions(-) rename java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/{CreateLeaderboard.java => CreateFlexibleLeaderboard.java} (75%) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index b5ae03faea4..82b1174361f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -149,7 +149,7 @@ import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.RacingEventServiceOperation; import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard; import com.sap.sailing.server.operationaltransformation.ConnectTrackedRaceToLeaderboardColumn; -import com.sap.sailing.server.operationaltransformation.CreateLeaderboard; +import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard; import com.sap.sailing.server.operationaltransformation.CreateLeaderboardGroup; import com.sap.sailing.server.operationaltransformation.DisconnectLeaderboardColumnFromTrackedRace; import com.sap.sailing.server.operationaltransformation.MoveLeaderboardColumnDown; @@ -256,12 +256,16 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS result.name = leaderboard.getName(); result.competitorDisplayNames = new HashMap(); for (RaceColumn raceColumn : leaderboard.getRaceColumns()) { - RegattaAndRaceIdentifier raceIdentifier = null; - if (raceColumn.getTrackedRace(fleet) != null) { + for (Fleet fleet : raceColumn.getFleets()) { + RegattaAndRaceIdentifier raceIdentifier = null; TrackedRace trackedRace = raceColumn.getTrackedRace(fleet); - raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta().getName(), trackedRace.getRace().getName()); + if (trackedRace != null) { + raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta() + .getName(), trackedRace.getRace().getName()); + } + result.addRace(raceColumn.getName(), fleet.getName(), raceColumn.isMedalRace(), + raceIdentifier, /* StrippedRaceDTO */ null); } - result.addRace(raceColumn.getName(), fleetName, raceColumn.isMedalRace(), raceIdentifier, /* StrippedRaceDTO */ null); } result.rows = new HashMap(); result.hasCarriedPoints = leaderboard.hasCarriedPoints(); @@ -1145,7 +1149,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS @Override public LeaderboardDTO createLeaderboard(String leaderboardName, int[] discardThresholds) { - return createStrippedLeaderboardDTO(getService().apply(new CreateLeaderboard(leaderboardName, discardThresholds)), false); + return createStrippedLeaderboardDTO(getService().apply(new CreateFlexibleLeaderboard(leaderboardName, discardThresholds)), false); } @Override @@ -1182,11 +1186,15 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS for (Leaderboard leaderboard : leaderboards.values()) { Iterable races = leaderboard.getRaceColumns(); for (RaceColumn raceInLeaderboard : races) { - TrackedRace trackedRace = raceInLeaderboard.getTrackedRace(fleet); - RaceDefinition trackedRaceDef = trackedRace != null ? trackedRace.getRace() : null; - if (trackedRaceDef != null && trackedRaceDef.getName().equals(race.name)) { - results.add(createStrippedLeaderboardDTO(leaderboard, false)); - break; + for (Fleet fleet : raceInLeaderboard.getFleets()) { + TrackedRace trackedRace = raceInLeaderboard.getTrackedRace(fleet); + if (trackedRace != null) { + RaceDefinition trackedRaceDef = trackedRace.getRace(); + if (trackedRaceDef.getName().equals(race.name)) { + results.add(createStrippedLeaderboardDTO(leaderboard, false)); + break; + } + } } } } @@ -1202,9 +1210,9 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS * If withAdditionalData is true, additional data (like location and race dates) will be loaded. */ private LeaderboardDTO createStrippedLeaderboardDTO(Leaderboard leaderboard, boolean withAdditionalData) { - LeaderboardDTO dto = new LeaderboardDTO(); - dto.name = leaderboard.getName(); - dto.competitorDisplayNames = new HashMap(); + LeaderboardDTO leaderboardDTO = new LeaderboardDTO(); + leaderboardDTO.name = leaderboard.getName(); + leaderboardDTO.competitorDisplayNames = new HashMap(); for (RaceColumn raceColumn : leaderboard.getRaceColumns()) { RegattaAndRaceIdentifier raceIdentifier = null; StrippedRaceDTO race = null; @@ -1213,7 +1221,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta().getName(), trackedRace.getRace().getName()); if (withAdditionalData) { - //Getting the places of the race + // Getting the places of the race Pair startAndFinish = getStartFinishPlacemarksForTrackedRace(trackedRace); PlacemarkOrderDTO racePlaces = new PlacemarkOrderDTO(); if (startAndFinish.getA() != null) { @@ -1233,11 +1241,11 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS race.endOfRace = trackedRace.getEndOfRace() == null ? null : trackedRace.getEndOfRace().asDate(); } } - dto.addRace(raceColumn.getName(), fleetName, raceColumn.isMedalRace(), raceIdentifier, race); + leaderboardDTO.addRace(raceColumn.getName(), fleetName, raceColumn.isMedalRace(), raceIdentifier, race); } - dto.hasCarriedPoints = leaderboard.hasCarriedPoints(); - dto.discardThresholds = leaderboard.getResultDiscardingRule().getDiscardIndexResultsStartingWithHowManyRaces(); - return dto; + leaderboardDTO.hasCarriedPoints = leaderboard.hasCarriedPoints(); + leaderboardDTO.discardThresholds = leaderboard.getResultDiscardingRule().getDiscardIndexResultsStartingWithHowManyRaces(); + return leaderboardDTO; } private Pair getStartFinishPlacemarksForTrackedRace(TrackedRace race) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java index 1afbf03982b..e51df815224 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java @@ -60,7 +60,6 @@ public class RaceInLeaderboardDTO implements IsSerializable { /** * Returns an object with data (e.g. start date or places) for the RaceInLeaderboardDTO. Is null, if * the method {@link RaceInLeaderboardDTO#isTrackedRace(String)} returns false. - * @param fleetName TODO * * @return An Object with additional data, or null if the race isn't tracked */ diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java index 265db894b48..ebc146cd2a7 100644 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java @@ -26,7 +26,7 @@ import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.server.operationaltransformation.AddRegatta; import com.sap.sailing.server.operationaltransformation.AddRaceDefinition; -import com.sap.sailing.server.operationaltransformation.CreateLeaderboard; +import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard; import com.sap.sailing.server.operationaltransformation.RemoveLeaderboard; public class ServerReplicationTest extends AbstractServerReplicationTest { @@ -45,7 +45,7 @@ public class ServerReplicationTest extends AbstractServerReplicationTest { final String leaderboardName = "My new leaderboard"; assertNull(replica.getLeaderboardByName(leaderboardName)); final int[] discardThresholds = new int[] { 17, 23 }; - CreateLeaderboard createTestLeaderboard = new CreateLeaderboard(leaderboardName, discardThresholds); + CreateFlexibleLeaderboard createTestLeaderboard = new CreateFlexibleLeaderboard(leaderboardName, discardThresholds); assertNull(master.getLeaderboardByName(leaderboardName)); master.apply(createTestLeaderboard); final Leaderboard masterLeaderboard = master.getLeaderboardByName(leaderboardName); diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java index 6cae8981dc6..0d6ffc917c9 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java @@ -37,7 +37,7 @@ import com.sap.sailing.server.OperationExecutionListener; import com.sap.sailing.server.RacingEventServiceOperation; import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard; import com.sap.sailing.server.operationaltransformation.ConnectTrackedRaceToLeaderboardColumn; -import com.sap.sailing.server.operationaltransformation.CreateLeaderboard; +import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard; import com.sap.sailing.server.operationaltransformation.CreateTrackedRace; public class TrackRaceReplicationTest extends AbstractServerReplicationTest { @@ -113,7 +113,7 @@ public class TrackRaceReplicationTest extends AbstractServerReplicationTest { @Test public void testReassignmentToLeaderboardReplication() throws Exception { final String leaderboardName = "Test Leaderboard"; - Leaderboard masterLeaderboard = master.apply(new CreateLeaderboard(leaderboardName, new int[0])); + Leaderboard masterLeaderboard = master.apply(new CreateFlexibleLeaderboard(leaderboardName, new int[0])); final String columnName = "R1"; RaceColumn masterColumn = master.apply(new AddColumnToLeaderboard(columnName, leaderboardName, /* medalRace */ false)); final Fleet defaultFleet = masterLeaderboard.getFleet(null); diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/LeaderboardDiscardingRulesTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/LeaderboardDiscardingRulesTest.java index 4fc767f9e58..3b194732f1a 100644 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/LeaderboardDiscardingRulesTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/LeaderboardDiscardingRulesTest.java @@ -25,7 +25,7 @@ public class LeaderboardDiscardingRulesTest { @Test public void testDiscardingRoules() { racingEventService.removeLeaderboard(LEADERBOARDNAME); - racingEventService.addLeaderboard(LEADERBOARDNAME, new int[] { 1, 4 }); + racingEventService.addFlexibleLeaderboard(LEADERBOARDNAME, new int[] { 1, 4 }); Leaderboard leaderboard = racingEventService.getLeaderboardByName(LEADERBOARDNAME); assertNotNull(leaderboard); int[] discardingRoulesNew = new int[] { 1, 5 }; diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/OperationalTransformationTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/OperationalTransformationTest.java index 9c3987c14fc..89cf67846e4 100755 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/OperationalTransformationTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/OperationalTransformationTest.java @@ -20,7 +20,7 @@ import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.RacingEventServiceOperation; import com.sap.sailing.server.impl.RacingEventServiceImpl; import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard; -import com.sap.sailing.server.operationaltransformation.CreateLeaderboard; +import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard; import com.sap.sailing.server.operationaltransformation.MoveLeaderboardColumnUp; import com.sap.sailing.server.operationaltransformation.OperationalTransformer; import com.sap.sailing.server.operationaltransformation.RemoveLeaderboard; @@ -49,7 +49,7 @@ public class OperationalTransformationTest { @Test public void testAddLeaderboard() { - RacingEventServiceOperation addLeaderboardOp = new CreateLeaderboard(LEADERBOARDNAME, new int[] { 5 }); + RacingEventServiceOperation addLeaderboardOp = new CreateFlexibleLeaderboard(LEADERBOARDNAME, new int[] { 5 }); server.apply(addLeaderboardOp); server.waitForNotRunning(); replica.waitForNotRunning(); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java index 2d50dc9f0fb..ff5574f9e46 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java @@ -231,7 +231,7 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch * * @return the leaderboard created */ - Leaderboard addLeaderboard(String name, int[] discardThresholds); + Leaderboard addFlexibleLeaderboard(String name, int[] discardThresholds); void removeLeaderboard(String leaderboardName); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventServiceOperation.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventServiceOperation.java index 78650325156..1dd3e9a22b9 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventServiceOperation.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventServiceOperation.java @@ -5,7 +5,7 @@ import java.io.Serializable; import com.sap.sailing.operationaltransformation.Operation; import com.sap.sailing.operationaltransformation.Transformer; import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard; -import com.sap.sailing.server.operationaltransformation.CreateLeaderboard; +import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard; import com.sap.sailing.server.operationaltransformation.MoveLeaderboardColumnDown; import com.sap.sailing.server.operationaltransformation.MoveLeaderboardColumnUp; import com.sap.sailing.server.operationaltransformation.RemoveLeaderboard; @@ -56,9 +56,9 @@ public interface RacingEventServiceOperation extends Operation transformRenameLeaderboardColumnServerOp(RenameLeaderboardColumn renameLeaderboardColumnServerOp); - RacingEventServiceOperation transformAddLeaderboardClientOp(CreateLeaderboard addLeaderboard); + RacingEventServiceOperation transformAddLeaderboardClientOp(CreateFlexibleLeaderboard addLeaderboard); - RacingEventServiceOperation transformAddLeaderboardServerOp(CreateLeaderboard addLeaderboard); + RacingEventServiceOperation transformAddLeaderboardServerOp(CreateFlexibleLeaderboard addLeaderboard); RacingEventServiceOperation transformRemoveLeaderboardClientOp(RemoveLeaderboard removeLeaderboard); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 046143b1ca0..52d3e279907 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -175,7 +175,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen courseListeners = new HashMap(); // Add one default leaderboard that aggregates all races currently tracked by this service. // This is more for debugging purposes than for anything else. - addLeaderboard(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME, new int[] { 5, 8 }); + addFlexibleLeaderboard(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME, new int[] { 5, 8 }); loadStoredLeaderboardsAndGroups(); } @@ -198,7 +198,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } @Override - public Leaderboard addLeaderboard(String name, int[] discardThresholds) { + public Leaderboard addFlexibleLeaderboard(String name, int[] discardThresholds) { Leaderboard result = new FlexibleLeaderboardImpl(name, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( discardThresholds)); synchronized (leaderboardsByName) { diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractRacingEventServiceOperation.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractRacingEventServiceOperation.java index 0748145c8e1..80d82543fc0 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractRacingEventServiceOperation.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractRacingEventServiceOperation.java @@ -48,12 +48,12 @@ public abstract class AbstractRacingEventServiceOperation implements } @Override - public RacingEventServiceOperation transformAddLeaderboardClientOp(CreateLeaderboard addLeaderboard) { + public RacingEventServiceOperation transformAddLeaderboardClientOp(CreateFlexibleLeaderboard addLeaderboard) { return addLeaderboard; } @Override - public RacingEventServiceOperation transformAddLeaderboardServerOp(CreateLeaderboard addLeaderboard) { + public RacingEventServiceOperation transformAddLeaderboardServerOp(CreateFlexibleLeaderboard addLeaderboard) { return addLeaderboard; } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateLeaderboard.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java similarity index 75% rename from java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateLeaderboard.java rename to java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java index ed5a4374ade..c20d7054e02 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateLeaderboard.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java @@ -4,18 +4,18 @@ import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.RacingEventServiceOperation; -public class CreateLeaderboard extends AbstractLeaderboardOperation { +public class CreateFlexibleLeaderboard extends AbstractLeaderboardOperation { private static final long serialVersionUID = 891352705068098580L; private final int[] discardThresholds; - public CreateLeaderboard(String leaderboardName, int[] discardThresholds) { + public CreateFlexibleLeaderboard(String leaderboardName, int[] discardThresholds) { super(leaderboardName); this.discardThresholds = discardThresholds; } @Override public Leaderboard internalApplyTo(RacingEventService toState) { - return toState.addLeaderboard(getLeaderboardName(), discardThresholds); + return toState.addFlexibleLeaderboard(getLeaderboardName(), discardThresholds); } @Override From ef7636bb32d1a8a83fae52393415f7e06fcc6870 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 16 May 2012 10:45:48 +0200 Subject: [PATCH 007/339] added fleet concept to SpectatorView --- .../ui/test/GwtTestCaseColumnToggling.java | 4 +- .../gwt/ui/test/LeaderboardPanelMock.java | 4 +- .../gwt/ui/test/TestColumnSwapping.java | 8 +- .../adminconsole/LeaderboardConfigPanel.java | 72 +++++++------- .../LeaderboardGroupConfigPanel.java | 6 +- .../adminconsole/RaceInLeaderboardDialog.java | 24 ++--- .../gwt/ui/client/SailingServiceAsync.java | 4 +- .../gwt/ui/leaderboard/LeaderboardPanel.java | 68 ++++++------- .../LeaderboardSettingsDialogComponent.java | 20 ++-- .../gwt/ui/leaderboard/TVViewPanel.java | 8 +- .../EditableLeaderboardPanel.java | 8 +- .../gwt/ui/server/SailingServiceImpl.java | 7 +- .../sailing/gwt/ui/shared/LeaderboardDTO.java | 75 ++++++++++---- .../gwt/ui/shared/LeaderboardGroupDTO.java | 2 +- ...LeaderboardDTO.java => RaceColumnDTO.java} | 19 ++-- .../LeaderboardGroupOverviewPanel.java | 28 +++--- .../ui/spectator/LeaderboardGroupPanel.java | 99 ++++++++++++------- 17 files changed, 257 insertions(+), 199 deletions(-) rename java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/{RaceInLeaderboardDTO.java => RaceColumnDTO.java} (91%) diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java index 8accc1e555e..f11cea858ec 100644 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java @@ -15,7 +15,7 @@ import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.leaderboard.ExpandableSortableColumn; import com.sap.sailing.gwt.ui.shared.LeaderboardDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardRowDTO; -import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDTO; +import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; import com.sap.sailing.gwt.ui.shared.TracTracRaceRecordDTO; public class GwtTestCaseColumnToggling extends GWTTestCase { @@ -129,7 +129,7 @@ public class GwtTestCaseColumnToggling extends GWTTestCase { @Override public void onSuccess(Void result) { System.out.println("Added column to leaderboard."); - RaceInLeaderboardDTO race = new RaceInLeaderboardDTO(); + RaceColumnDTO race = new RaceColumnDTO(); race.setRaceColumnName(COLUMN1_NAME); race.setMedalRace(false); leaderboardPanel.addColumn(leaderboardPanel.createRaceColumn(race)); diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/LeaderboardPanelMock.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/LeaderboardPanelMock.java index dc54991a31c..ab014dce8db 100644 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/LeaderboardPanelMock.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/LeaderboardPanelMock.java @@ -10,7 +10,7 @@ import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettingsFactory; import com.sap.sailing.gwt.ui.leaderboard.SortableColumn; import com.sap.sailing.gwt.ui.shared.LeaderboardDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardRowDTO; -import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDTO; +import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; public class LeaderboardPanelMock extends LeaderboardPanel { @@ -29,7 +29,7 @@ public class LeaderboardPanelMock extends LeaderboardPanel { } @Override - public RaceColumn createRaceColumn(RaceInLeaderboardDTO race) { + public RaceColumn createRaceColumn(RaceColumnDTO race) { // TODO Auto-generated method stub return super.createRaceColumn(race); } diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java index f22d012749f..f2e161d88d0 100755 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java @@ -15,7 +15,7 @@ import org.junit.Test; import com.sap.sailing.gwt.ui.server.SailingServiceImpl; import com.sap.sailing.gwt.ui.shared.LeaderboardDTO; -import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDTO; +import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; public class TestColumnSwapping { @@ -121,13 +121,13 @@ public class TestColumnSwapping { } // check if leaderboardDTO an dleaderboardOriginalDTO same - List leaderboardList = leaderboardDTO.getRaceList(); - List leaderboardOriginalList = leaderboardOriginalDTO.getRaceList(); + List leaderboardList = leaderboardDTO.getRaceList(); + List leaderboardOriginalList = leaderboardOriginalDTO.getRaceList(); // ??????? assert races in list assertArrayEquals(leaderboardList.toArray(), leaderboardOriginalList.toArray()); - for (RaceInLeaderboardDTO raceDTO : leaderboardOriginalList) { + for (RaceColumnDTO raceDTO : leaderboardOriginalList) { assert leaderboardDTO.raceIsMedalRace(raceDTO.getRaceColumnName()) == leaderboardOriginalDTO.raceIsMedalRace(raceDTO.getRaceColumnName()); assert leaderboardDTO.raceIsTracked(raceDTO.getRaceColumnName()) == leaderboardOriginalDTO.raceIsTracked(raceDTO.getRaceColumnName()); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index 01e56ab4e3e..bd14cab15af 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -54,7 +54,7 @@ import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.client.URLFactory; import com.sap.sailing.gwt.ui.shared.RegattaDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardDTO; -import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDTO; +import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplayer, RaceSelectionChangeListener, TrackedRaceChangedListener { @@ -67,17 +67,17 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye private final ListDataProvider leaderboardList; - private final ListDataProvider raceColumnList; + private final ListDataProvider raceColumnList; private final ErrorReporter errorReporter; private final CellTable leaderboardTable; - private final CellTable raceColumnTable; + private final CellTable raceColumnTable; private LeaderboardDTO selectedLeaderboard; - private RaceInLeaderboardDTO selectedRaceInLeaderboard; + private RaceColumnDTO selectedRaceInLeaderboard; private final Button addColumnButton; @@ -90,7 +90,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye private TextBox filterLeaderboardTextbox; - final SingleSelectionModel raceColumnTableSelectionModel; + final SingleSelectionModel raceColumnTableSelectionModel; private List availableLeaderboardList; @@ -118,7 +118,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye this.stringMessages = theStringConstants; this.sailingService = sailingService; leaderboardList = new ListDataProvider(); - raceColumnList = new ListDataProvider(); + raceColumnList = new ListDataProvider(); this.errorReporter = errorReporter; this.availableLeaderboardList = new ArrayList(); VerticalPanel mainPanel = new VerticalPanel(); @@ -302,9 +302,9 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye // ------------ races of the selected leaderboard ---------------- AnchorCell raceAnchorCell = new AnchorCell(); - Column raceLinkColumn = new Column(raceAnchorCell) { + Column raceLinkColumn = new Column(raceAnchorCell) { @Override - public SafeHtml getValue(RaceInLeaderboardDTO raceInLeaderboardDTO) { + public SafeHtml getValue(RaceColumnDTO raceInLeaderboardDTO) { if(raceInLeaderboardDTO.getRaceIdentifier(fleetName) != null) { RegattaNameAndRaceName raceIdentifier = (RegattaNameAndRaceName) raceInLeaderboardDTO.getRaceIdentifier(fleetName); String debugParam = Window.Location.getParameter("gwt.codesvr"); @@ -319,35 +319,35 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye } }; - Column isMedalRaceCheckboxColumn = new Column( + Column isMedalRaceCheckboxColumn = new Column( new CheckboxCell()) { @Override - public Boolean getValue(RaceInLeaderboardDTO race) { + public Boolean getValue(RaceColumnDTO race) { return race.isMedalRace(); } }; - isMedalRaceCheckboxColumn.setFieldUpdater(new FieldUpdater() { + isMedalRaceCheckboxColumn.setFieldUpdater(new FieldUpdater() { @Override - public void update(int index, RaceInLeaderboardDTO object, Boolean value) { + public void update(int index, RaceColumnDTO object, Boolean value) { setIsMedalRace(selectedLeaderboard.name, object, value); } }); isMedalRaceCheckboxColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); - TextColumn isLinkedRaceColumn = new TextColumn() { + TextColumn isLinkedRaceColumn = new TextColumn() { @Override - public String getValue(RaceInLeaderboardDTO race) { + public String getValue(RaceColumnDTO race) { boolean isTrackedRace = race.isTrackedRace(fleetName); return isTrackedRace ? stringMessages.yes() : stringMessages.no(); } }; - ImagesBarColumn raceActionColumn = new ImagesBarColumn( + ImagesBarColumn raceActionColumn = new ImagesBarColumn( new LeaderboardRaceConfigImagesBarCell(stringMessages)); - raceActionColumn.setFieldUpdater(new FieldUpdater() { + raceActionColumn.setFieldUpdater(new FieldUpdater() { @Override - public void update(int index, RaceInLeaderboardDTO object, String value) { + public void update(int index, RaceColumnDTO object, String value) { if ("ACTION_REMOVE".equals(value)) { if (Window.confirm(stringMessages.reallyRemoveRace(object.getRaceColumnName()))) { removeRaceColumn(object); @@ -363,14 +363,14 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye Label lblRaceNamesIn = new Label(stringMessages.races()); vPanel.add(lblRaceNamesIn); - raceColumnTable = new CellTable(/* pageSize */200, tableRes); + raceColumnTable = new CellTable(/* pageSize */200, tableRes); raceColumnTable.addColumn(raceLinkColumn, stringMessages.name()); raceColumnTable.addColumn(isMedalRaceCheckboxColumn, stringMessages.medalRace()); raceColumnTable.addColumn(isLinkedRaceColumn, stringMessages.islinked()); raceColumnTable.addColumn(raceActionColumn, stringMessages.actions()); raceColumnList.addDataDisplay(raceColumnTable); raceColumnTable.setWidth("500px"); - raceColumnTableSelectionModel = new SingleSelectionModel(); + raceColumnTableSelectionModel = new SingleSelectionModel(); raceColumnTable.setSelectionModel(raceColumnTableSelectionModel); @@ -474,7 +474,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye }); } - private void removeRaceColumn(final RaceInLeaderboardDTO raceColumn) { + private void removeRaceColumn(final RaceColumnDTO raceColumn) { final String raceColumnString = raceColumn.getRaceColumnName(); sailingService.removeLeaderboardColumn(getSelectedLeaderboardName(), raceColumnString, new AsyncCallback() { @@ -521,7 +521,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye } private int getRowIndexOfSelectedRaceColumn() { - final RaceInLeaderboardDTO selectedRaceColumnName = raceColumnTableSelectionModel.getSelectedObject(); + final RaceColumnDTO selectedRaceColumnName = raceColumnTableSelectionModel.getSelectedObject(); int rowIndex = -1; if (selectedRaceColumnName != null) { @@ -601,24 +601,24 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye trackedRacesListComposite.selectRaceByIdentifier(raceIdentifier); } - private RaceInLeaderboardDTO getSelectedRaceInLeaderboard() { - RaceInLeaderboardDTO raceInLeaderboard = raceColumnTableSelectionModel.getSelectedObject(); + private RaceColumnDTO getSelectedRaceInLeaderboard() { + RaceColumnDTO raceInLeaderboard = raceColumnTableSelectionModel.getSelectedObject(); return raceInLeaderboard; } - private void editRaceColumnOfLeaderboard(final RaceInLeaderboardDTO raceInLeaderboard) { + private void editRaceColumnOfLeaderboard(final RaceColumnDTO raceInLeaderboard) { final String oldRaceName = raceInLeaderboard.getRaceColumnName(); - List existingRacesWithoutThisRace = new ArrayList(); + List existingRacesWithoutThisRace = new ArrayList(); existingRacesWithoutThisRace.addAll(raceColumnList.getList()); existingRacesWithoutThisRace.remove(raceInLeaderboard); final RaceInLeaderboardDialog raceDialog = new RaceInLeaderboardDialog(existingRacesWithoutThisRace, - raceInLeaderboard, stringMessages, new AsyncCallback() { + raceInLeaderboard, stringMessages, new AsyncCallback() { @Override public void onFailure(Throwable caught) { } @Override - public void onSuccess(final RaceInLeaderboardDTO result) { + public void onSuccess(final RaceColumnDTO result) { sailingService.renameLeaderboardColumn(getSelectedLeaderboardName(), oldRaceName, result.getRaceColumnName(), new AsyncCallback() { @@ -650,10 +650,10 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye raceDialog.show(); } - private void reloadRaceInLeaderboardRow(String oldRaceName, RaceInLeaderboardDTO raceInLeaderboard) { + private void reloadRaceInLeaderboardRow(String oldRaceName, RaceColumnDTO raceInLeaderboard) { int index = -1; for (int i = 0; i < raceColumnList.getList().size(); i++) { - RaceInLeaderboardDTO race = raceColumnList.getList().get(i); + RaceColumnDTO race = raceColumnList.getList().get(i); if (race.getRaceColumnName().equals(oldRaceName)) { index = i; break; @@ -665,7 +665,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye raceColumnList.refresh(); } - private void setIsMedalRace(String leaderboardName, final RaceInLeaderboardDTO raceInLeaderboard, + private void setIsMedalRace(String leaderboardName, final RaceColumnDTO raceInLeaderboard, final boolean isMedalRace) { sailingService.updateIsMedalRace(leaderboardName, raceInLeaderboard.getRaceColumnName(), isMedalRace, new AsyncCallback() { @@ -682,17 +682,17 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye } private void addRaceColumnToLeaderboard() { - final RaceInLeaderboardDTO raceInLeaderboard = new RaceInLeaderboardDTO(); + final RaceColumnDTO raceInLeaderboard = new RaceColumnDTO(); final String leaderboardName = getSelectedLeaderboardName(); final RaceInLeaderboardDialog raceDialog = new RaceInLeaderboardDialog(raceColumnList.getList(), - raceInLeaderboard, stringMessages, new AsyncCallback() { + raceInLeaderboard, stringMessages, new AsyncCallback() { @Override public void onFailure(Throwable caught) { } @Override - public void onSuccess(final RaceInLeaderboardDTO result) { + public void onSuccess(final RaceColumnDTO result) { sailingService.addColumnToLeaderboard(result.getRaceColumnName(), leaderboardName, result.isMedalRace(), new AsyncCallback() { @@ -760,7 +760,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye @Override public void changeTrackingRace(RegattaNameAndRaceName regattaNameAndRaceName, boolean isTracked) { - for (RaceInLeaderboardDTO race : raceColumnList.getList()) { + for (RaceColumnDTO race : raceColumnList.getList()) { if (race.getRaceColumnName().equals(regattaNameAndRaceName.getRaceName())) { race.setRaceIdentifier(fleetName, regattaNameAndRaceName); } @@ -850,7 +850,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye @Override public void onRaceSelectionChange(List selectedRaces) { // if no leaderboard column is selected, ignore the race selection change - RaceInLeaderboardDTO selectedRaceInLeaderboard = getSelectedRaceInLeaderboard(); + RaceColumnDTO selectedRaceInLeaderboard = getSelectedRaceInLeaderboard(); if (selectedRaceInLeaderboard != null) { if (selectedRaces.isEmpty()) { unlinkRaceColumnFromTrackedRace(selectedRaceInLeaderboard.getRaceColumnName()); @@ -860,7 +860,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye } } - private void linkTrackedRaceToSelectedRaceColumn(final RaceInLeaderboardDTO selectedRaceInLeaderboard, + private void linkTrackedRaceToSelectedRaceColumn(final RaceColumnDTO selectedRaceInLeaderboard, final RegattaAndRaceIdentifier selectedRace) { sailingService.connectTrackedRaceToLeaderboardColumn(getSelectedLeaderboardName(), selectedRaceInLeaderboard .getRaceColumnName(), selectedRace, diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardGroupConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardGroupConfigPanel.java index c638e86e0f3..98420ba19ac 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardGroupConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardGroupConfigPanel.java @@ -45,7 +45,7 @@ import com.sap.sailing.gwt.ui.client.URLFactory; import com.sap.sailing.gwt.ui.shared.RegattaDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO; -import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDTO; +import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel { @@ -203,7 +203,7 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel { public String getValue(LeaderboardDTO leaderboard) { String result = ""; boolean first = true; - for (RaceInLeaderboardDTO race : leaderboard.getRaceList()) { + for (RaceColumnDTO race : leaderboard.getRaceList()) { if (!first) { result += "; "; } @@ -308,7 +308,7 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel { public String getValue(LeaderboardDTO leaderboard) { String result = ""; boolean first = true; - for (RaceInLeaderboardDTO race : leaderboard.getRaceList()) { + for (RaceColumnDTO race : leaderboard.getRaceList()) { if (!first) { result += "; "; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceInLeaderboardDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceInLeaderboardDialog.java index 8ba9e2869d9..33af15fbbac 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceInLeaderboardDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceInLeaderboardDialog.java @@ -9,27 +9,27 @@ import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.gwt.ui.client.DataEntryDialog; import com.sap.sailing.gwt.ui.client.StringMessages; -import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDTO; +import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; -public class RaceInLeaderboardDialog extends DataEntryDialog { +public class RaceInLeaderboardDialog extends DataEntryDialog { private final TextBox raceNameBox; private final CheckBox isMedalRace; - private RaceInLeaderboardDTO raceInLeaderboard; + private RaceColumnDTO raceInLeaderboard; - private static class RaceDialogValidator implements Validator { + private static class RaceDialogValidator implements Validator { private StringMessages stringConstants; - private Collection existingRaces; + private Collection existingRaces; - public RaceDialogValidator(StringMessages stringConstants, Collection existingRaces) { + public RaceDialogValidator(StringMessages stringConstants, Collection existingRaces) { this.stringConstants = stringConstants; this.existingRaces = existingRaces; } @Override - public String getErrorMessage(RaceInLeaderboardDTO valueToValidate) { + public String getErrorMessage(RaceColumnDTO valueToValidate) { String errorMessage; String racename = valueToValidate.getRaceColumnName(); Boolean isMedalRace = valueToValidate.isMedalRace(); @@ -37,7 +37,7 @@ public class RaceInLeaderboardDialog extends DataEntryDialog existingRaces, - RaceInLeaderboardDTO raceInLeaderboard, StringMessages stringConstants, - AsyncCallback callback) { + public RaceInLeaderboardDialog(Collection existingRaces, + RaceColumnDTO raceInLeaderboard, StringMessages stringConstants, + AsyncCallback callback) { super(stringConstants.name(), null, stringConstants.ok(), stringConstants.cancel(), new RaceDialogValidator(stringConstants, existingRaces), callback); this.raceInLeaderboard = raceInLeaderboard; @@ -69,7 +69,7 @@ public class RaceInLeaderboardDialog extends DataEntryDialog selectedRaceDetails; - private List selectedRaceColumns; + private List selectedRaceColumns; protected final String RACE_COLUMN_HEADER_STYLE; @@ -165,7 +165,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta /** * If this is null, all leaderboard columns added by updating the leaderboard from the server are * automatically added to the table. Otherwise, only the column whose - * {@link RaceInLeaderboardDTO#getRaceIdentifier(String) race identifier} matches the value of this attribute will be + * {@link RaceColumnDTO#getRaceIdentifier(String) race identifier} matches the value of this attribute will be * added. */ private final RaceIdentifier preSelectedRace; @@ -280,7 +280,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta if (newSettings.getNamesOfRaceColumnsToShow() != null) { selectedRaceColumns.clear(); for (String nameOfRaceColumnToShow : newSettings.getNamesOfRaceColumnsToShow()) { - RaceInLeaderboardDTO raceColumnToShow = getRaceByColumnName(nameOfRaceColumnToShow); + RaceColumnDTO raceColumnToShow = getRaceByColumnName(nameOfRaceColumnToShow); if (raceColumnToShow != null) { selectedRaceColumns.add(raceColumnToShow); } @@ -288,7 +288,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta } else if (newSettings.getNamesOfRacesToShow() != null) { selectedRaceColumns.clear(); for (String nameOfRaceToShow : newSettings.getNamesOfRacesToShow()) { - RaceInLeaderboardDTO raceColumnToShow = getRaceByName(nameOfRaceToShow); + RaceColumnDTO raceColumnToShow = getRaceByName(nameOfRaceToShow); if (raceColumnToShow != null) { selectedRaceColumns.add(raceColumnToShow); } @@ -402,12 +402,12 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta * */ protected abstract class RaceColumn extends ExpandableSortableColumn { - private RaceInLeaderboardDTO race; + private RaceColumnDTO race; private final String headerStyle; private final String columnStyle; - public RaceColumn(RaceInLeaderboardDTO race, boolean enableExpansion, Cell cell, + public RaceColumn(RaceColumnDTO race, boolean enableExpansion, Cell cell, String headerStyle, String columnStyle) { super(LeaderboardPanel.this, enableExpansion, cell, stringMessages, LEG_COLUMN_HEADER_STYLE, LEG_COLUMN_STYLE, selectedRaceDetails); @@ -417,7 +417,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta this.columnStyle = columnStyle; } - public RaceInLeaderboardDTO getRace() { + public RaceColumnDTO getRace() { return race; } @@ -520,7 +520,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta */ private final List legColumns; - public TextRaceColumn(RaceInLeaderboardDTO race, boolean expandable, String headerStyle, + public TextRaceColumn(RaceColumnDTO race, boolean expandable, String headerStyle, String columnStyle) { super(race, expandable, new TextCell(), headerStyle, columnStyle); legColumns = new ArrayList(); @@ -917,7 +917,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta this.stringMessages = stringMessages; this.selectedLegDetails = new ArrayList(); this.selectedRaceDetails = new ArrayList(); - this.selectedRaceColumns = new ArrayList(); + this.selectedRaceColumns = new ArrayList(); this.selectedManeuverDetails = new ArrayList(); selectedLegDetails.addAll(settings.getLegDetailsToShow()); @@ -1033,9 +1033,9 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta raceNameForDefaultSorting = settings.getNameOfRaceToSort(); } - private RaceInLeaderboardDTO getRaceByName(String raceName) { + private RaceColumnDTO getRaceByName(String raceName) { if (getLeaderboard() != null) { - for (RaceInLeaderboardDTO race : getLeaderboard().getRaceList()) { + for (RaceColumnDTO race : getLeaderboard().getRaceList()) { for (String fleetName : race.getFleetNames()) { if (race.getRaceIdentifier(fleetName) != null && raceName.equals(race.getRaceIdentifier(fleetName).getRaceName())) { @@ -1047,9 +1047,9 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta return null; } - private RaceInLeaderboardDTO getRaceByColumnName(String columnName) { + private RaceColumnDTO getRaceByColumnName(String columnName) { if (getLeaderboard() != null) { - for (RaceInLeaderboardDTO race : getLeaderboard().getRaceList()) { + for (RaceColumnDTO race : getLeaderboard().getRaceList()) { if (columnName.equals(race.getRaceColumnName())) { return race; } @@ -1062,7 +1062,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta for (int i=0; i column = getLeaderboardTable().getColumn(i); if (column instanceof RaceColumn) { - RaceInLeaderboardDTO raceInLeaderboard = ((RaceColumn) column).getRace(); + RaceColumnDTO raceInLeaderboard = ((RaceColumn) column).getRace(); for (String fleetName : raceInLeaderboard.getFleetNames()) { final RegattaAndRaceIdentifier raceIdentifier = raceInLeaderboard.getRaceIdentifier(fleetName); if (raceIdentifier != null && raceIdentifier.getRaceName().equals(raceName)) { @@ -1291,11 +1291,11 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta * adds on top of the existing {@link #getLeaderboard() leaderboard} are returned. Otherwise, the column list obtained as described before * is filtered such that only columns pass whose race identifier equals {@link #preSelectedRace}. */ - private List getRaceColumnsToAddImplicitly(LeaderboardDTO leaderboard) { - List columnsToAddImplicitly = getRacesAddedNew(getLeaderboard(), leaderboard); + private List getRaceColumnsToAddImplicitly(LeaderboardDTO leaderboard) { + List columnsToAddImplicitly = getRacesAddedNew(getLeaderboard(), leaderboard); if (preSelectedRace != null) { - for (Iterator i=columnsToAddImplicitly.iterator(); i.hasNext(); ) { - RaceInLeaderboardDTO next = i.next(); + for (Iterator i=columnsToAddImplicitly.iterator(); i.hasNext(); ) { + RaceColumnDTO next = i.next(); if (!next.containsRace(preSelectedRace)) { i.remove(); } @@ -1352,9 +1352,9 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta } } - private List getRacesAddedNew(LeaderboardDTO oldLeaderboard, LeaderboardDTO newLeaderboard) { - List result = new ArrayList(); - for (RaceInLeaderboardDTO s : newLeaderboard.getRaceList()) { + private List getRacesAddedNew(LeaderboardDTO oldLeaderboard, LeaderboardDTO newLeaderboard) { + List result = new ArrayList(); + for (RaceColumnDTO s : newLeaderboard.getRaceList()) { if (oldLeaderboard == null || !leaderboardContainsColumnNamed(oldLeaderboard, s.getRaceColumnName())) { result.add(s); } @@ -1363,7 +1363,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta } private boolean leaderboardContainsColumnNamed(LeaderboardDTO leaderboard, String raceColumnName) { - for (RaceInLeaderboardDTO column : leaderboard.getRaceList()) { + for (RaceColumnDTO column : leaderboard.getRaceList()) { if (column.getRaceColumnName().equals(raceColumnName)) { return true; } @@ -1371,7 +1371,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta return false; } - private boolean leaderboardTableContainsRace(RaceInLeaderboardDTO race) { + private boolean leaderboardTableContainsRace(RaceColumnDTO race) { for (int leaderboardposition = 0; leaderboardposition < getLeaderboardTable().getColumnCount(); leaderboardposition++) { Column c = getLeaderboardTable().getColumn(leaderboardposition); if (c instanceof RaceColumn) { @@ -1392,7 +1392,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta * the raceColumn to correct. */ private void correctColumnData(RaceColumn raceColumn) { - RaceInLeaderboardDTO race = raceColumn.getRace(); + RaceColumnDTO race = raceColumn.getRace(); int columnIndex = getRaceColumnPosition(raceColumn); if (raceColumn.isExpansionEnabled() != race.hasTrackedRaces() || race.isMedalRace() != raceColumn.isMedalRace()) { @@ -1412,7 +1412,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta * @param raceName * The name of the racing column until the table should be cleared. */ - private void removeRaceColumnFromRaceColumnStartIndexBeforeRace(int raceColumnStartIndex, RaceInLeaderboardDTO race) { + private void removeRaceColumnFromRaceColumnStartIndexBeforeRace(int raceColumnStartIndex, RaceColumnDTO race) { int counter = 0; for (int leaderboardposition = 0; leaderboardposition < getLeaderboardTable().getColumnCount(); leaderboardposition++) { Column c = getLeaderboardTable().getColumn(leaderboardposition); @@ -1459,7 +1459,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta * listposth race in the table or -1 if no such race column was found, e.g., in case * the column needs to be inserted as the last race in the table */ - private int getColumnPositionToInsert(RaceInLeaderboardDTO race, int listpos) { + private int getColumnPositionToInsert(RaceColumnDTO race, int listpos) { int raceColumnCounter = 0; int noRaceColumnCounter = 0; boolean raceColumnFound = false; @@ -1487,9 +1487,9 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta /** * Removes all Columns of type racecolumns of leaderboardTable */ - private void removeRaceColumnsNotSelected(List selectedRaceColumns) { + private void removeRaceColumnsNotSelected(List selectedRaceColumns) { Set selectedRaceColumnNames = new HashSet(); - for (RaceInLeaderboardDTO selectedRaceColumn : selectedRaceColumns) { + for (RaceColumnDTO selectedRaceColumn : selectedRaceColumns) { selectedRaceColumnNames.add(selectedRaceColumn.getRaceColumnName()); } List> columnsToRemove = new ArrayList>(); @@ -1511,8 +1511,8 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta */ private void createMissingAndAdjustExistingRaceColumns(LeaderboardDTO leaderboard) { // Correct order of races in selectedRaceColum - List correctedOrderSelectedRaces = new ArrayList(); - for (RaceInLeaderboardDTO raceInLeaderboard : leaderboard.getRaceList()) { + List correctedOrderSelectedRaces = new ArrayList(); + for (RaceColumnDTO raceInLeaderboard : leaderboard.getRaceList()) { if (selectedRaceColumns.contains(raceInLeaderboard)) { correctedOrderSelectedRaces.add(raceInLeaderboard); } @@ -1520,7 +1520,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta selectedRaceColumns = correctedOrderSelectedRaces; removeRaceColumnsNotSelected(selectedRaceColumns); for (int selectedRaceCount = 0; selectedRaceCount < selectedRaceColumns.size(); selectedRaceCount++) { - RaceInLeaderboardDTO selectedRace = selectedRaceColumns.get(selectedRaceCount); + RaceColumnDTO selectedRace = selectedRaceColumns.get(selectedRaceCount); if (leaderboardTableContainsRace(selectedRace)) { // remove all raceColumns, starting at a specific selectedRaceCount, up to but excluding the selected raceName // with the result that selectedRace is at position selectedRaceCount afterwards @@ -1538,7 +1538,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta } } - protected RaceColumn createRaceColumn(RaceInLeaderboardDTO raceInLeaderboard) { + protected RaceColumn createRaceColumn(RaceColumnDTO raceInLeaderboard) { TextRaceColumn textRaceColumn = new TextRaceColumn(raceInLeaderboard, raceInLeaderboard.hasTrackedRaces(), RACE_COLUMN_HEADER_STYLE, RACE_COLUMN_STYLE); return textRaceColumn; @@ -1701,7 +1701,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta private List getTrackedRacesIdentifiers() { List result = new ArrayList(); - for (RaceInLeaderboardDTO raceColumn : getLeaderboard().getRaceList()) { + for (RaceColumnDTO raceColumn : getLeaderboard().getRaceList()) { for (String fleetName : raceColumn.getFleetNames()) { if (raceColumn.getRaceIdentifier(fleetName) != null) { result.add(raceColumn.getRaceIdentifier(fleetName)); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardSettingsDialogComponent.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardSettingsDialogComponent.java index 384735f40e5..2eab6053e4a 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardSettingsDialogComponent.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardSettingsDialogComponent.java @@ -17,16 +17,16 @@ import com.sap.sailing.gwt.ui.client.DataEntryDialog; import com.sap.sailing.gwt.ui.client.DataEntryDialog.Validator; import com.sap.sailing.gwt.ui.client.DetailTypeFormatter; import com.sap.sailing.gwt.ui.client.StringMessages; -import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDTO; +import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; import com.sap.sailing.gwt.ui.shared.components.SettingsDialogComponent; public class LeaderboardSettingsDialogComponent implements SettingsDialogComponent { - private final List raceColumnSelection; - private final List raceAllRaceColumns; + private final List raceColumnSelection; + private final List raceAllRaceColumns; private final List maneuverDetailSelection; private final List legDetailSelection; private final List raceDetailSelection; - private final Map raceColumnCheckboxes; + private final Map raceColumnCheckboxes; private final Map maneuverDetailCheckboxes; private final Map legDetailCheckboxes; private final Map raceDetailCheckboxes; @@ -38,8 +38,8 @@ public class LeaderboardSettingsDialogComponent implements SettingsDialogCompone private final long delayInMilliseconds; public LeaderboardSettingsDialogComponent(List maneuverDetailSelection, - List legDetailSelection, List raceDetailSelection, List raceAllRaceColumns, - List raceColumnSelection, boolean autoExpandFirstRace, long delayBetweenAutoAdvancesInMilliseconds, long delayInMilliseconds, + List legDetailSelection, List raceDetailSelection, List raceAllRaceColumns, + List raceColumnSelection, boolean autoExpandFirstRace, long delayBetweenAutoAdvancesInMilliseconds, long delayInMilliseconds, StringMessages stringConstants) { this.maneuverDetailSelection = maneuverDetailSelection; this.raceColumnSelection = raceColumnSelection; @@ -47,7 +47,7 @@ public class LeaderboardSettingsDialogComponent implements SettingsDialogCompone this.legDetailSelection = legDetailSelection; this.raceDetailSelection = raceDetailSelection; this.stringConstants = stringConstants; - raceColumnCheckboxes = new LinkedHashMap(); + raceColumnCheckboxes = new LinkedHashMap(); maneuverDetailCheckboxes = new LinkedHashMap(); legDetailCheckboxes = new LinkedHashMap(); raceDetailCheckboxes = new LinkedHashMap(); @@ -102,8 +102,8 @@ public class LeaderboardSettingsDialogComponent implements SettingsDialogCompone hp.add(vpLeft); vpRight.add(new Label(stringConstants.selectedRaces())); - List allColumns = raceAllRaceColumns; - for (RaceInLeaderboardDTO expandableSortableColumn : allColumns) { + List allColumns = raceAllRaceColumns; + for (RaceColumnDTO expandableSortableColumn : allColumns) { CheckBox checkbox = dialog.createCheckbox(expandableSortableColumn.getRaceColumnName()); checkbox.setValue(raceColumnSelection.contains(expandableSortableColumn)); raceColumnCheckboxes.put(expandableSortableColumn, checkbox); @@ -134,7 +134,7 @@ public class LeaderboardSettingsDialogComponent implements SettingsDialogCompone } } List namesOfRaceColumnsToShow = new ArrayList(); - for (Map.Entry entry : raceColumnCheckboxes.entrySet()) { + for (Map.Entry entry : raceColumnCheckboxes.entrySet()) { if(entry.getValue().getValue()){ namesOfRaceColumnsToShow.add(entry.getKey().getRaceColumnName()); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/TVViewPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/TVViewPanel.java index ee1cf763091..1ca4ada5136 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/TVViewPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/TVViewPanel.java @@ -28,7 +28,7 @@ import com.sap.sailing.gwt.ui.client.UserAgentChecker.UserAgentTypes; import com.sap.sailing.gwt.ui.raceboard.RaceBoardPanel; import com.sap.sailing.gwt.ui.raceboard.RaceBoardViewModes; import com.sap.sailing.gwt.ui.shared.LeaderboardDTO; -import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDTO; +import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; import com.sap.sailing.gwt.ui.shared.RaceTimesInfoDTO; import com.sap.sailing.gwt.ui.shared.UserDTO; @@ -101,7 +101,7 @@ public class TVViewPanel extends SimplePanel implements RaceTimesInfoProviderLis private void updateRaceTimesInfoProvider() { boolean providerChanged = false; - for (RaceInLeaderboardDTO race : leaderboard.getRaceList()) { + for (RaceColumnDTO race : leaderboard.getRaceList()) { for (String fleetName : race.getFleetNames()) { RaceIdentifier raceIdentifier = race.getRaceIdentifier(fleetName); if (raceIdentifier != null && !raceTimesInfoProvider.containsRaceIdentifier(raceIdentifier)) { @@ -129,7 +129,7 @@ public class TVViewPanel extends SimplePanel implements RaceTimesInfoProviderLis if (leaderboard != null) { //Resetting the settings of the leaderboard panel to prevent, that some race columns get lost List namesOfRaceColumnsToShow = new ArrayList(); - for (RaceInLeaderboardDTO race : leaderboard.getRaceList()) { + for (RaceColumnDTO race : leaderboard.getRaceList()) { namesOfRaceColumnsToShow.add(race.getRaceColumnName()); } LeaderboardSettings settings = LeaderboardSettingsFactory.getInstance().createNewDefaultSettings( @@ -222,7 +222,7 @@ public class TVViewPanel extends SimplePanel implements RaceTimesInfoProviderLis private RegattaAndRaceIdentifier getFirstStartedAndUnfinishedRace() { RegattaAndRaceIdentifier firstStartedAndUnfinishedRace = null; Map raceTimesInfos = raceTimesInfoProvider.getRaceTimesInfos(); - for (RaceInLeaderboardDTO race : leaderboard.getRaceList()) { + for (RaceColumnDTO race : leaderboard.getRaceList()) { for (String fleetName : race.getFleetNames()) { RegattaAndRaceIdentifier raceIdentifier = race.getRaceIdentifier(fleetName); if (raceIdentifier != null) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboardedit/EditableLeaderboardPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboardedit/EditableLeaderboardPanel.java index 064047ff368..07e9201bb1a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboardedit/EditableLeaderboardPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboardedit/EditableLeaderboardPanel.java @@ -30,7 +30,7 @@ import com.sap.sailing.gwt.ui.shared.CompetitorDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardEntryDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardRowDTO; -import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDTO; +import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; /** * An editable version of the {@link LeaderboardPanel} which allows a user to enter carried / accumulated @@ -147,7 +147,7 @@ public class EditableLeaderboardPanel extends LeaderboardPanel { private class EditableRaceColumn extends RaceColumn implements RowUpdateWhiteboardOwner { private RowUpdateWhiteboard currentRowUpdateWhiteboard; - public EditableRaceColumn(RaceInLeaderboardDTO race, List> cellList) { + public EditableRaceColumn(RaceColumnDTO race, List> cellList) { super(race, /* expandable */ false, // we don't want leg expansion when editing scores new CompositeCellRememberingRenderingContextAndObject(cellList), @@ -367,11 +367,11 @@ public class EditableLeaderboardPanel extends LeaderboardPanel { } @Override - protected RaceColumn createRaceColumn(RaceInLeaderboardDTO race) { + protected RaceColumn createRaceColumn(RaceColumnDTO race) { return new EditableRaceColumn(race, getCellList(race)); } - private List> getCellList(RaceInLeaderboardDTO race) { + private List> getCellList(RaceColumnDTO race) { List> list = new ArrayList>(); list.add(new MaxPointsDropDownCellProvider(race.getRaceColumnName())); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 82b1174361f..055c1493a92 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -129,7 +129,7 @@ import com.sap.sailing.gwt.ui.shared.PlacemarkOrderDTO; import com.sap.sailing.gwt.ui.shared.PositionDTO; import com.sap.sailing.gwt.ui.shared.QuickRankDTO; import com.sap.sailing.gwt.ui.shared.RaceDTO; -import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDTO; +import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; import com.sap.sailing.gwt.ui.shared.RaceMapDataDTO; import com.sap.sailing.gwt.ui.shared.RaceTimesInfoDTO; import com.sap.sailing.gwt.ui.shared.RegattaDTO; @@ -1203,7 +1203,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS /** * Creates a {@link LeaderboardDTO} for leaderboard and fills in the name, race master data - * in the form of {@link RaceInLeaderboardDTO}s, whether or not there are {@link LeaderboardDTO#hasCarriedPoints carried points} + * in the form of {@link RaceColumnDTO}s, whether or not there are {@link LeaderboardDTO#hasCarriedPoints carried points} * and the {@link LeaderboardDTO#discardThresholds discarding thresholds} for the leaderboard. No data about the points * is filled into the result object. No data about the competitor display names is filled in; instead, an empty map * is used for {@link LeaderboardDTO#competitorDisplayNames}.
@@ -1219,7 +1219,6 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS if (raceColumn.getTrackedRace(fleet) != null) { TrackedRace trackedRace = raceColumn.getTrackedRace(fleet); raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta().getName(), trackedRace.getRace().getName()); - if (withAdditionalData) { // Getting the places of the race Pair startAndFinish = getStartFinishPlacemarksForTrackedRace(trackedRace); @@ -1233,7 +1232,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS if (racePlaces.isEmpty()) { racePlaces = null; } - //Creating raceDTO and getting the dates + // Creating raceDTO and getting the dates race = new StrippedRaceDTO(trackedRace.getRace().getName(), raceIdentifier, racePlaces); race.startOfRace = trackedRace.getStartOfRace() == null ? null : trackedRace.getStartOfRace().asDate(); race.startOfTracking = trackedRace.getStartOfTracking() == null ? null : trackedRace diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java index 9d5e17b371e..c61769eca6f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java @@ -10,6 +10,7 @@ import java.util.Map; import com.google.gwt.user.client.rpc.IsSerializable; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; +import com.sap.sailing.domain.common.impl.Util; /** * Captures the serializable properties of a leaderboard which in particular has the competitors, any optional display @@ -22,7 +23,7 @@ import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; public class LeaderboardDTO implements IsSerializable { public String name; public List competitors; - private List races; + private List races; public Map competitorDisplayNames; public Map rows; public boolean hasCarriedPoints; @@ -35,7 +36,7 @@ public class LeaderboardDTO implements IsSerializable { public LeaderboardDTO() { totalRankingComparator = new TotalRankingComparator(); competitorsOrderedAccordingToTotalRank = false; - races = new ArrayList(); + races = new ArrayList(); } public String getDisplayName(CompetitorDTO competitor) { @@ -74,7 +75,7 @@ public class LeaderboardDTO implements IsSerializable { */ public boolean scoredInMedalRace(CompetitorDTO competitor) { LeaderboardRowDTO row = rows.get(competitor); - for (RaceInLeaderboardDTO race : races) { + for (RaceColumnDTO race : races) { if (race.isMedalRace() && row.fieldsByRaceName.get(race.getRaceColumnName()).totalPoints > 0) { return true; } @@ -191,7 +192,7 @@ public class LeaderboardDTO implements IsSerializable { private int getMedalRaceScore(CompetitorDTO competitor) { int result = 0; LeaderboardRowDTO row = rows.get(competitor); - for (RaceInLeaderboardDTO race : races) { + for (RaceColumnDTO race : races) { if (race.isMedalRace() && row.fieldsByRaceName.containsKey(race.getRaceColumnName())) { result += row.fieldsByRaceName.get(race.getRaceColumnName()).netPoints; } @@ -217,7 +218,7 @@ public class LeaderboardDTO implements IsSerializable { */ private String getNameOfLastRaceSoFar(CompetitorDTO c1, CompetitorDTO c2) { String nameOfLastRaceSoFar = null; - for (RaceInLeaderboardDTO race : races) { + for (RaceColumnDTO race : races) { for (LeaderboardRowDTO row : rows.values()) { if (row.competitor.equals(c1) || row.competitor.equals(c2)) { LeaderboardEntryDTO leaderboardEntryDTO = row.fieldsByRaceName.get(race.getRaceColumnName()); @@ -235,7 +236,7 @@ public class LeaderboardDTO implements IsSerializable { int result = 0; LeaderboardRowDTO row = rows.get(competitor); if (row != null) { - for (RaceInLeaderboardDTO race : races) { + for (RaceColumnDTO race : races) { LeaderboardEntryDTO field = row.fieldsByRaceName.get(race.getRaceColumnName()); if (field != null && field.netPoints == 1) { result++; @@ -282,7 +283,7 @@ public class LeaderboardDTO implements IsSerializable { } public boolean raceIsTracked(String raceColumnName) { - for (RaceInLeaderboardDTO race : races) { + for (RaceColumnDTO race : races) { if (race.getRaceColumnName().equals(raceColumnName)) { for (String fleetName : race.getFleetNames()) { if (race.isTrackedRace(fleetName)) { @@ -299,19 +300,51 @@ public class LeaderboardDTO implements IsSerializable { return getRaceInLeaderboardByName(raceColumnName).isMedalRace(); } + private RaceColumnDTO getOrCreateRaceColumn(String raceColumnName) { + RaceColumnDTO result = getRaceInLeaderboardByName(raceColumnName); + if (result == null) { + result = new RaceColumnDTO(); + result.setRaceColumnName(raceColumnName); + races.add(result); + } + return result; + } + + /** + * If the {@link RaceColumnDTO} by the name raceColumnName doesn't exist yet within this leaderboard + * DTO, it is created. This method ensures that a fleet named fleetName is present. If it's not present + * yet, it's added to the race column's fleet name list. The trackedRaceIdentifier and + * race are associated with the column for the fleet identified by fleetName. + * + * @param fleetName + * must not be null + */ public void addRace(String raceColumnName, String fleetName, boolean medalRace, RegattaAndRaceIdentifier trackedRaceIdentifier, StrippedRaceDTO race) { - RaceInLeaderboardDTO raceInLeaderboardDTO = new RaceInLeaderboardDTO(); - raceInLeaderboardDTO.setRaceColumnName(raceColumnName); + assert fleetName != null; + RaceColumnDTO raceInLeaderboardDTO = getOrCreateRaceColumn(raceColumnName); + if (!Util.contains(raceInLeaderboardDTO.getFleetNames(), fleetName)) { + raceInLeaderboardDTO.addFleetName(fleetName); + } raceInLeaderboardDTO.setMedalRace(medalRace); raceInLeaderboardDTO.setRaceIdentifier(fleetName, trackedRaceIdentifier); raceInLeaderboardDTO.setRace(fleetName, race); - races.add(raceInLeaderboardDTO); } - public void addRaceAt(String raceColumnName, String fleetName, boolean medalRace, RegattaAndRaceIdentifier trackedRaceIdentifier, int index) { - RaceInLeaderboardDTO raceInLeaderboardDTO = new RaceInLeaderboardDTO(); + /** + * A new {@link RaceColumnDTO} by the name raceColumnName is created and added to this leaderboard at + * position index. The single fleet named fleetName is added to the column. The + * trackedRaceIdentifier and race are associated with the column for the fleet identified + * by fleetName. + * + * @param fleetName + * must not be null + */ + public void createRaceColumnAt(String raceColumnName, String fleetName, boolean medalRace, RegattaAndRaceIdentifier trackedRaceIdentifier, int index) { + assert fleetName != null; + RaceColumnDTO raceInLeaderboardDTO = new RaceColumnDTO(); raceInLeaderboardDTO.setRaceColumnName(raceColumnName); raceInLeaderboardDTO.setMedalRace(medalRace); + raceInLeaderboardDTO.addFleetName(fleetName); raceInLeaderboardDTO.setRaceIdentifier(fleetName, trackedRaceIdentifier); races.add(index, raceInLeaderboardDTO); } @@ -321,12 +354,12 @@ public class LeaderboardDTO implements IsSerializable { } public void renameRace(String oldName, String newName) { - RaceInLeaderboardDTO race = getRaceInLeaderboardByName(oldName); + RaceColumnDTO race = getRaceInLeaderboardByName(oldName); race.setRaceColumnName(newName); } - private RaceInLeaderboardDTO getRaceInLeaderboardByName(String raceColumnName) { - for (RaceInLeaderboardDTO race : races) { + private RaceColumnDTO getRaceInLeaderboardByName(String raceColumnName) { + for (RaceColumnDTO race : races) { if (race.getRaceColumnName().equals(raceColumnName)) { return race; } @@ -334,7 +367,7 @@ public class LeaderboardDTO implements IsSerializable { return null; } - public List getRaceList() { + public List getRaceList() { return races; } @@ -343,7 +376,7 @@ public class LeaderboardDTO implements IsSerializable { } public void moveRaceUp(String raceColumnName) { - RaceInLeaderboardDTO race = getRaceInLeaderboardByName(raceColumnName); + RaceColumnDTO race = getRaceInLeaderboardByName(raceColumnName); int index = races.indexOf(race); index--; if (index >= 0) { @@ -353,7 +386,7 @@ public class LeaderboardDTO implements IsSerializable { } public void moveRaceDown(String raceColumnName) { - RaceInLeaderboardDTO race = getRaceInLeaderboardByName(raceColumnName); + RaceColumnDTO race = getRaceInLeaderboardByName(raceColumnName); int index = races.indexOf(race); if (index != -1) { index++; @@ -373,7 +406,7 @@ public class LeaderboardDTO implements IsSerializable { */ public Date getStartDate() { Date leaderboardStart = null; - for (RaceInLeaderboardDTO race : getRaceList()) { + for (RaceColumnDTO race : getRaceList()) { for (String fleetName : race.getFleetNames()) { Date raceStart = race.getStartDate(fleetName); if (raceStart != null) { @@ -398,7 +431,7 @@ public class LeaderboardDTO implements IsSerializable { */ public PlacemarkOrderDTO getPlaces() { PlacemarkOrderDTO leaderboardPlaces = null; - for (RaceInLeaderboardDTO race : getRaceList()) { + for (RaceColumnDTO race : getRaceList()) { PlacemarkOrderDTO racePlaces = race.getPlaces(); if (racePlaces != null) { if (leaderboardPlaces == null) { @@ -414,7 +447,7 @@ public class LeaderboardDTO implements IsSerializable { * @return true if the leaderboard contains a race which is live */ public boolean containsLiveRace() { - for (RaceInLeaderboardDTO race : getRaceList()) { + for (RaceColumnDTO race : getRaceList()) { if (race.isLive()) { return true; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardGroupDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardGroupDTO.java index 9d5dc8ccaf5..a57ce6461de 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardGroupDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardGroupDTO.java @@ -35,7 +35,7 @@ public class LeaderboardGroupDTO extends NamedDTO implements IsSerializable { boolean containsRace = false; leaderboardsLoop: for (LeaderboardDTO leaderboard : leaderboards) { - for (RaceInLeaderboardDTO raceInLeaderboard : leaderboard.getRaceList()) { + for (RaceColumnDTO raceInLeaderboard : leaderboard.getRaceList()) { if (raceInLeaderboard.getRaceIdentifier(fleetName) != null && raceInLeaderboard.getRaceIdentifier(fleetName).equals(race)) { containsRace = true; break leaderboardsLoop; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceColumnDTO.java similarity index 91% rename from java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java rename to java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceColumnDTO.java index e51df815224..97c4409b2e8 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceInLeaderboardDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceColumnDTO.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Set; @@ -11,14 +12,14 @@ import com.google.gwt.user.client.rpc.IsSerializable; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -public class RaceInLeaderboardDTO implements IsSerializable { +public class RaceColumnDTO implements IsSerializable { private String raceColumnName; private boolean medalRace; - private Iterable fleetNames; + private List fleetNames; private Map trackedRaceIdentifiersPerFleet; private Map racesPerFleet; - public RaceInLeaderboardDTO() { + public RaceColumnDTO() { trackedRaceIdentifiersPerFleet = new HashMap(); racesPerFleet = new HashMap(); fleetNames = new ArrayList(); @@ -59,7 +60,7 @@ public class RaceInLeaderboardDTO implements IsSerializable { /** * Returns an object with data (e.g. start date or places) for the RaceInLeaderboardDTO. Is null, if - * the method {@link RaceInLeaderboardDTO#isTrackedRace(String)} returns false. + * the method {@link RaceColumnDTO#isTrackedRace(String)} returns false. * * @return An Object with additional data, or null if the race isn't tracked */ @@ -75,10 +76,6 @@ public class RaceInLeaderboardDTO implements IsSerializable { return fleetNames; } - public void setFleetNames(Iterable fleetNames) { - this.fleetNames = fleetNames; - } - /** * @return The start of race, or the start of tracking if the start of race is null, or * null if no start date is available. @@ -143,7 +140,7 @@ public class RaceInLeaderboardDTO implements IsSerializable { return false; if (getClass() != obj.getClass()) return false; - RaceInLeaderboardDTO other = (RaceInLeaderboardDTO) obj; + RaceColumnDTO other = (RaceColumnDTO) obj; if (fleetNames == null) { if (other.fleetNames != null) return false; @@ -179,4 +176,8 @@ public class RaceInLeaderboardDTO implements IsSerializable { return !raceIdentifiers.isEmpty(); } + public void addFleetName(String fleetName) { + fleetNames.add(fleetName); + } + } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java index 7147b3aeb25..45224160b27 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java @@ -43,7 +43,7 @@ import com.sap.sailing.gwt.ui.client.URLFactory; import com.sap.sailing.gwt.ui.shared.LeaderboardDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO; import com.sap.sailing.gwt.ui.shared.PlacemarkOrderDTO; -import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDTO; +import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; import com.sap.sailing.gwt.ui.shared.components.CollapsablePanel; /** @@ -85,9 +85,9 @@ public class LeaderboardGroupOverviewPanel extends FormPanel { private SingleSelectionModel leaderboardsSelectionModel; private FlowPanel leaderboardDetailsPanel; - private CellTable racesTable; - private NoSelectionModel racesSelectionModel; - private ListDataProvider racesDataProvider; + private CellTable racesTable; + private NoSelectionModel racesSelectionModel; + private ListDataProvider racesDataProvider; private List availableGroups; @@ -357,7 +357,7 @@ public class LeaderboardGroupOverviewPanel extends FormPanel { public String getValue(LeaderboardDTO leaderboard) { StringBuilder sb = new StringBuilder(); boolean first = true; - for (RaceInLeaderboardDTO race : leaderboard.getRaceList()) { + for (RaceColumnDTO race : leaderboard.getRaceList()) { if (!first) { sb.append(", "); } @@ -410,18 +410,18 @@ public class LeaderboardGroupOverviewPanel extends FormPanel { leaderboardDetailsLabel.getElement().getStyle().setPadding(5, Unit.PX); leaderboardDetailsPanel.add(leaderboardDetailsLabel); - TextColumn racesLocationColumn = new TextColumn() { + TextColumn racesLocationColumn = new TextColumn() { @Override - public String getValue(RaceInLeaderboardDTO race) { + public String getValue(RaceColumnDTO race) { PlacemarkOrderDTO racePlaces = race.getPlaces(); return racePlaces == null ? LeaderboardGroupOverviewPanel.this.stringMessages.locationNotAvailable() : racePlaces.placemarksAsString(); } }; AnchorCell racesNameAnchorCell = new AnchorCell(); - Column racesNameColumn = new Column(racesNameAnchorCell) { + Column racesNameColumn = new Column(racesNameAnchorCell) { @Override - public SafeHtml getValue(RaceInLeaderboardDTO race) { + public SafeHtml getValue(RaceColumnDTO race) { SafeHtml name = null; if (race.getRaceIdentifier(fleetName) != null) { LeaderboardGroupDTO selectedGroup = groupsSelectionModel.getSelectedObject(); @@ -439,18 +439,18 @@ public class LeaderboardGroupOverviewPanel extends FormPanel { } }; - TextColumn racesStartDateColumn = new TextColumn() { + TextColumn racesStartDateColumn = new TextColumn() { @Override - public String getValue(RaceInLeaderboardDTO race) { + public String getValue(RaceColumnDTO race) { Date raceStart = race.getStartDate(fleetName); return raceStart == null ? LeaderboardGroupOverviewPanel.this.stringMessages.untracked() : DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(raceStart); } }; - racesTable = new CellTable(200, tableResources); + racesTable = new CellTable(200, tableResources); racesTable.setWidth("100%"); - racesSelectionModel = new NoSelectionModel(); + racesSelectionModel = new NoSelectionModel(); racesTable.setSelectionModel(racesSelectionModel); racesTable.addColumn(racesLocationColumn, this.stringMessages.location()); @@ -458,7 +458,7 @@ public class LeaderboardGroupOverviewPanel extends FormPanel { racesTable.addColumn(racesStartDateColumn, this.stringMessages.startDate()); leaderboardDetailsPanel.add(racesTable); - racesDataProvider = new ListDataProvider(); + racesDataProvider = new ListDataProvider(); racesDataProvider.addDataDisplay(racesTable); return collapsableDetailsPanel; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java index 9da9065a18e..826ff81162a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupPanel.java @@ -20,6 +20,7 @@ import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; import com.google.gwt.view.client.NoSelectionModel; import com.sap.sailing.domain.common.RegattaNameAndRaceName; +import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.gwt.ui.adminconsole.LeaderboardConfigPanel.AnchorCell; import com.sap.sailing.gwt.ui.client.ErrorReporter; @@ -29,7 +30,7 @@ import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.client.URLFactory; import com.sap.sailing.gwt.ui.shared.LeaderboardDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO; -import com.sap.sailing.gwt.ui.shared.RaceInLeaderboardDTO; +import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; import com.sap.sailing.gwt.ui.shared.panels.BreadcrumbPanel; import com.sap.sailing.gwt.ui.shared.panels.WelcomeWidget; @@ -96,13 +97,13 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget } private void buildGUI() { - //Create breadcrumb panel + // Create breadcrumb panel BreadcrumbPanel breadcrumbPanel = createBreadcrumbPanel(); if (breadcrumbPanel != null) { mainPanel.add(breadcrumbPanel); } - //Create group details GUI + // Create group details GUI FlowPanel groupDetailsPanel = new FlowPanel(); groupDetailsPanel.setStyleName(STYLE_NAME_PREFIX + "GroupDetailsPanel"); mainPanel.add(groupDetailsPanel); @@ -111,12 +112,12 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget groupNameLabel.setStyleName(STYLE_NAME_PREFIX + "GroupName"); groupDetailsPanel.add(groupNameLabel); - //Using HTML to display the line breaks in the description + // Using HTML to display the line breaks in the description HTML groupDescriptionLabel = new HTML(new SafeHtmlBuilder().appendEscapedLines(group.description).toSafeHtml()); groupDescriptionLabel.setStyleName(STYLE_NAME_PREFIX + "GroupDescription"); groupDetailsPanel.add(groupDescriptionLabel); - //Create group leaderboards GUI + // Create group leaderboards GUI Label leaderboardsTableLabel = new Label(stringConstants.leaderboards()); leaderboardsTableLabel.setStyleName(STYLE_NAME_PREFIX + "LeaderboardsTableLabel"); mainPanel.add(leaderboardsTableLabel); @@ -125,20 +126,20 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget LeaderboardGroupFullTableResources tableResources = GWT.create(LeaderboardGroupFullTableResources.class); CellTable leaderboardsTable = new CellTable(200, tableResources); leaderboardsTable.setSelectionModel(new NoSelectionModel()); - int maxRacesNum = 0; for (final LeaderboardDTO leaderboard : group.leaderboards) { SafeHtmlCell leaderboardCell = new SafeHtmlCell(); Column leaderboardColumn = new Column(leaderboardCell) { @Override public SafeHtml getValue(Integer raceNum) { - List races = leaderboard.getRaceList(); + List races = leaderboard.getRaceList(); return raceNum < races.size() ? raceToRaceBoardLink(leaderboard, races.get(raceNum)) : SafeHtmlUtils.fromString(""); } }; leaderboardsTable.addColumn(leaderboardColumn, leaderboard.name); - leaderboard.addRaceAt(stringConstants.overview(), fleetName, false, null, 0); + // add an artificial RaceColumn for the "Overview" link at position 0 + leaderboard.createRaceColumnAt(stringConstants.overview(), /* fleetName */ "", /* medal race */ false, /* tracked race identifier */ null, 0); maxRacesNum = maxRacesNum < leaderboard.getRaceList().size() ? leaderboard .getRaceList().size() : maxRacesNum; } @@ -174,19 +175,18 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget LeaderboardGroupCompactTableResources tableResources = GWT.create(LeaderboardGroupCompactTableResources.class); CellTable leaderboardsTable = new CellTable(200, tableResources); leaderboardsTable.setSelectionModel(new NoSelectionModel()); - leaderboardsTable.addColumn(nameColumn, stringConstants.name()); leaderboardsTable.addColumn(racesColumn, stringConstants.races()); - leaderboardsTable.setRowData(group.leaderboards); mainPanel.add(leaderboardsTable); } } - private SafeHtml raceToRaceBoardLink(LeaderboardDTO leaderboard, RaceInLeaderboardDTO race) { + private SafeHtml raceToRaceBoardLink(LeaderboardDTO leaderboard, RaceColumnDTO race) { String debugParam = Window.Location.getParameter("gwt.codesvr"); SafeHtmlBuilder b = new SafeHtmlBuilder(); - String displayName = race.getRaceColumnName(); + String raceColumnDisplayName = race.getRaceColumnName(); + // special handling for artificial RaceColumn for "Overview" button if (race.getRaceColumnName().equals(stringConstants.overview())) { String link = URLFactory.INSTANCE.encode("/gwt/Leaderboard.html?name=" + leaderboard.name + "&leaderboardGroupName=" + group.name + "&root=" + root); @@ -194,19 +194,32 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget link += "&gwt.codesvr=" + debugParam; if(viewMode != null && !viewMode.isEmpty()) link += "&viewMode=" + viewMode; - b.append(ANCHORTEMPLATE.anchor(link, displayName, STYLE_NAME_PREFIX + "ActiveLeaderboard")); + b.append(ANCHORTEMPLATE.anchor(link, raceColumnDisplayName, STYLE_NAME_PREFIX + "ActiveLeaderboard")); } else { - if (race.getRaceIdentifier(fleetName) != null) { - RegattaNameAndRaceName raceId = (RegattaNameAndRaceName) race.getRaceIdentifier(fleetName); - String link = URLFactory.INSTANCE.encode("/gwt/RaceBoard.html?leaderboardName=" + leaderboard.name + "&raceName=" + raceId.getRaceName() - + "®attaName=" + raceId.getRegattaName() + "&leaderboardGroupName=" + group.name + "&root=" + root); - if(debugParam != null && !debugParam.isEmpty()) - link += "&gwt.codesvr=" + debugParam; - if(viewMode != null && !viewMode.isEmpty()) - link += "&viewMode=" + viewMode; - b.append(ANCHORTEMPLATE.anchor(link, displayName, STYLE_NAME_PREFIX + "ActiveRace")); - } else { - b.append(TEXTTEMPLATE.textWithClass(race.getRaceColumnName(), STYLE_NAME_PREFIX + "InactiveRace")); + final Iterable fleetNames = race.getFleetNames(); + boolean singleFleet = Util.size(fleetNames) < 2; + for (String fleetName : fleetNames) { + String linkText; + if (singleFleet) { + linkText = raceColumnDisplayName; + } else { + linkText = raceColumnDisplayName +" ("+fleetName+")"; + } + if (race.getRaceIdentifier(fleetName) != null) { + RegattaNameAndRaceName raceId = (RegattaNameAndRaceName) race.getRaceIdentifier(fleetName); + String link = URLFactory.INSTANCE.encode("/gwt/RaceBoard.html?leaderboardName=" + leaderboard.name + + "&raceName=" + raceId.getRaceName() + "®attaName=" + raceId.getRegattaName() + + "&leaderboardGroupName=" + group.name + "&root=" + root); + if (debugParam != null && !debugParam.isEmpty()) { + link += "&gwt.codesvr=" + debugParam; + } + if (viewMode != null && !viewMode.isEmpty()) { + link += "&viewMode=" + viewMode; + } + b.append(ANCHORTEMPLATE.anchor(link, linkText, STYLE_NAME_PREFIX + "ActiveRace")); + } else { + b.append(TEXTTEMPLATE.textWithClass(linkText, STYLE_NAME_PREFIX + "InactiveRace")); + } } } return b.toSafeHtml(); @@ -215,19 +228,31 @@ public class LeaderboardGroupPanel extends FormPanel implements HasWelcomeWidget private SafeHtml leaderboardRacesToHtml(LeaderboardDTO leaderboard) { SafeHtmlBuilder b = new SafeHtmlBuilder(); String debugParam = Window.Location.getParameter("gwt.codesvr"); - for (RaceInLeaderboardDTO race : leaderboard.getRaceList()) { - if (race.getRaceIdentifier(fleetName) != null) { - RegattaNameAndRaceName raceId = (RegattaNameAndRaceName) race.getRaceIdentifier(fleetName); - String link = URLFactory.INSTANCE.encode("/gwt/RaceBoard.html?leaderboardName=" + leaderboard.name - + "&raceName=" + raceId.getRaceName() + "&root=" + root + raceId.getRaceName() + "®attaName=" - + raceId.getRegattaName() + "&leaderboardGroupName=" + group.name); - if(debugParam != null && !debugParam.isEmpty()) - link += "&gwt.codesvr=" + debugParam; - if(viewMode != null && !viewMode.isEmpty()) - link += "&viewMode=" + viewMode; - b.append(ANCHORTEMPLATE.anchor(link, race.getRaceColumnName(), STYLE_NAME_PREFIX + "ActiveRace")); - } else { - b.append(TEXTTEMPLATE.textWithClass(race.getRaceColumnName(), STYLE_NAME_PREFIX + "InactiveRace")); + for (RaceColumnDTO race : leaderboard.getRaceList()) { + final Iterable fleetNames = race.getFleetNames(); + boolean singleFleet = Util.size(fleetNames) < 2; + for (String fleetName : fleetNames) { + String linkText; + if (singleFleet) { + linkText = race.getRaceColumnName(); + } else { + linkText = race.getRaceColumnName() + " (" + fleetName + ")"; + } + if (race.getRaceIdentifier(fleetName) != null) { + RegattaNameAndRaceName raceId = (RegattaNameAndRaceName) race.getRaceIdentifier(fleetName); + String link = URLFactory.INSTANCE.encode("/gwt/RaceBoard.html?leaderboardName=" + leaderboard.name + + "&raceName=" + raceId.getRaceName() + "&root=" + root + raceId.getRaceName() + + "®attaName=" + raceId.getRegattaName() + "&leaderboardGroupName=" + group.name); + if (debugParam != null && !debugParam.isEmpty()) { + link += "&gwt.codesvr=" + debugParam; + } + if (viewMode != null && !viewMode.isEmpty()) { + link += "&viewMode=" + viewMode; + } + b.append(ANCHORTEMPLATE.anchor(link, linkText, STYLE_NAME_PREFIX + "ActiveRace")); + } else { + b.append(TEXTTEMPLATE.textWithClass(linkText, STYLE_NAME_PREFIX + "InactiveRace")); + } } } return b.toSafeHtml(); From b61445ac7dfc33b69d65cf95895bbfebba922746 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 16 May 2012 11:07:27 +0200 Subject: [PATCH 008/339] made LeaderboardGroupDTO fleet aware --- .../gwt/ui/server/SailingServiceImpl.java | 50 +++++++++++-------- .../gwt/ui/shared/LeaderboardGroupDTO.java | 10 ++-- 2 files changed, 35 insertions(+), 25 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 055c1493a92..b93622a6182 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -1216,36 +1216,42 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS for (RaceColumn raceColumn : leaderboard.getRaceColumns()) { RegattaAndRaceIdentifier raceIdentifier = null; StrippedRaceDTO race = null; - if (raceColumn.getTrackedRace(fleet) != null) { - TrackedRace trackedRace = raceColumn.getTrackedRace(fleet); - raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta().getName(), trackedRace.getRace().getName()); - if (withAdditionalData) { - // Getting the places of the race - Pair startAndFinish = getStartFinishPlacemarksForTrackedRace(trackedRace); - PlacemarkOrderDTO racePlaces = new PlacemarkOrderDTO(); - if (startAndFinish.getA() != null) { - racePlaces.getPlacemarks().add(convertToPlacemarkDTO(startAndFinish.getA())); + for (Fleet fleet : raceColumn.getFleets()) { + if (raceColumn.getTrackedRace(fleet) != null) { + TrackedRace trackedRace = raceColumn.getTrackedRace(fleet); + raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta().getName(), trackedRace.getRace().getName()); + if (withAdditionalData) { + // Getting the places of the race + PlacemarkOrderDTO racePlaces = getRacePlaces(trackedRace); + // Creating raceDTO and getting the dates + race = new StrippedRaceDTO(trackedRace.getRace().getName(), raceIdentifier, racePlaces); + race.startOfRace = trackedRace.getStartOfRace() == null ? null : trackedRace.getStartOfRace().asDate(); + race.startOfTracking = trackedRace.getStartOfTracking() == null ? null : trackedRace.getStartOfTracking().asDate(); + race.endOfRace = trackedRace.getEndOfRace() == null ? null : trackedRace.getEndOfRace().asDate(); } - if (startAndFinish.getB() != null) { - racePlaces.getPlacemarks().add(convertToPlacemarkDTO(startAndFinish.getB())); - } - if (racePlaces.isEmpty()) { - racePlaces = null; - } - // Creating raceDTO and getting the dates - race = new StrippedRaceDTO(trackedRace.getRace().getName(), raceIdentifier, racePlaces); - race.startOfRace = trackedRace.getStartOfRace() == null ? null : trackedRace.getStartOfRace().asDate(); - race.startOfTracking = trackedRace.getStartOfTracking() == null ? null : trackedRace - .getStartOfTracking().asDate(); - race.endOfRace = trackedRace.getEndOfRace() == null ? null : trackedRace.getEndOfRace().asDate(); } + leaderboardDTO.addRace(raceColumn.getName(), fleet.getName(), raceColumn.isMedalRace(), raceIdentifier, race); } - leaderboardDTO.addRace(raceColumn.getName(), fleetName, raceColumn.isMedalRace(), raceIdentifier, race); } leaderboardDTO.hasCarriedPoints = leaderboard.hasCarriedPoints(); leaderboardDTO.discardThresholds = leaderboard.getResultDiscardingRule().getDiscardIndexResultsStartingWithHowManyRaces(); return leaderboardDTO; } + + private PlacemarkOrderDTO getRacePlaces(TrackedRace trackedRace) { + Pair startAndFinish = getStartFinishPlacemarksForTrackedRace(trackedRace); + PlacemarkOrderDTO racePlaces = new PlacemarkOrderDTO(); + if (startAndFinish.getA() != null) { + racePlaces.getPlacemarks().add(convertToPlacemarkDTO(startAndFinish.getA())); + } + if (startAndFinish.getB() != null) { + racePlaces.getPlacemarks().add(convertToPlacemarkDTO(startAndFinish.getB())); + } + if (racePlaces.isEmpty()) { + racePlaces = null; + } + return racePlaces; + } private Pair getStartFinishPlacemarksForTrackedRace(TrackedRace race) { double radiusCalculationFactor = 10.0; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardGroupDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardGroupDTO.java index a57ce6461de..4c017c310c3 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardGroupDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardGroupDTO.java @@ -6,6 +6,7 @@ import java.util.List; import com.google.gwt.user.client.rpc.IsSerializable; import com.sap.sailing.domain.common.RaceIdentifier; +import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; public class LeaderboardGroupDTO extends NamedDTO implements IsSerializable { @@ -36,9 +37,12 @@ public class LeaderboardGroupDTO extends NamedDTO implements IsSerializable { leaderboardsLoop: for (LeaderboardDTO leaderboard : leaderboards) { for (RaceColumnDTO raceInLeaderboard : leaderboard.getRaceList()) { - if (raceInLeaderboard.getRaceIdentifier(fleetName) != null && raceInLeaderboard.getRaceIdentifier(fleetName).equals(race)) { - containsRace = true; - break leaderboardsLoop; + for (String fleetName : raceInLeaderboard.getFleetNames()) { + final RegattaAndRaceIdentifier raceIdentifierForFleet = raceInLeaderboard.getRaceIdentifier(fleetName); + if (raceIdentifierForFleet != null && raceIdentifierForFleet.equals(race)) { + containsRace = true; + break leaderboardsLoop; + } } } } From c552a7bab013bb2f4973deb56c5099fdcbef1f01 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 16 May 2012 11:33:12 +0200 Subject: [PATCH 009/339] made LeaderboardGroupOverviewPanel fleet aware --- .../sailing/gwt/ui/client/StringMessages.java | 1 + .../gwt/ui/client/StringMessages.properties | 1 + .../ui/client/StringMessages_de.properties | 1 + .../shared/panels/ClosableWelcomeWidget.java | 54 ------------------- .../LeaderboardGroupOverviewPanel.java | 51 +++++++++++++----- .../gwt/ui/spectator/SpectatorEntryPoint.java | 9 +--- 6 files changed, 41 insertions(+), 76 deletions(-) delete mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/panels/ClosableWelcomeWidget.java diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java index c02bc6ed056..821d846f7ca 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java @@ -239,6 +239,7 @@ public interface StringMessages extends Messages { String noLeaderboardGroupWithNameFound(String groupName); String overview(); String welcomeToSailingAnalytics(); + String welcomeToSailingAnalyticsBody(); String home(); String clickAndDragToZoomIn(); String windSpeed(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index 0880338938b..478141df9f2 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -234,6 +234,7 @@ abort=Abort noLeaderboardGroupWithNameFound=No leaderboard group with the name {0} found overview=Overview welcomeToSailingAnalytics=Welcome to SAP Sailing Analytics +welcomeToSailingAnalyticsBody=Understanding what happens out on the race course isn't always easy. To help solve this challenge and bring the excitement of sailing to the fans, we have developed a leader board based on SAP analytics.\nThrough analyzing GPS data together with integrated wind measurements from sensors out on the race course, the leader board displays information such as in-race ranking, average speeds, distance travelled, ETA (estimated time of arrival at the next mark rounding), gaps to leader, gains and losses per leg.\n\nCheck out the results for yourself to see who triumphed - and how they did it. home=Home clickAndDragToZoomIn=Click and drag in the plot area to zoom in windSpeed=Wind speed (kts) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index 03aaa547894..fd1e8e2ebee 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -235,6 +235,7 @@ abort=Abbrechen noLeaderboardGroupWithNameFound=Keine Ranglisten-Gruppe mit dem Namen {0} gefunden overview=Übersicht welcomeToSailingAnalytics=Willkommen bei SAP Sailing Analytics +welcomeToSailingAnalyticsBody=Understanding what happens out on the race course isn't always easy. To help solve this challenge and bring the excitement of sailing to the fans, we have developed a leader board based on SAP analytics.\nThrough analyzing GPS data together with integrated wind measurements from sensors out on the race course, the leader board displays information such as in-race ranking, average speeds, distance travelled, ETA (estimated time of arrival at the next mark rounding), gaps to leader, gains and losses per leg.\n\nCheck out the results for yourself to see who triumphed - and how they did it. home=Startseite clickAndDragToZoomIn=Anklicken und ziehen zum Hineinzoomen windSpeed=Wind speed (sm/h) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/panels/ClosableWelcomeWidget.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/panels/ClosableWelcomeWidget.java deleted file mode 100644 index 906f1819176..00000000000 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/panels/ClosableWelcomeWidget.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.sap.sailing.gwt.ui.shared.panels; - -import com.google.gwt.event.dom.client.ClickEvent; -import com.google.gwt.event.dom.client.ClickHandler; -import com.google.gwt.user.client.ui.Button; -import com.sap.sailing.gwt.ui.client.StringMessages; - -public class ClosableWelcomeWidget extends SimpleWelcomeWidget { - - private StringMessages stringConstants; - private boolean closable; - private Button closeButton; - - /** - * Creates a new closable welcome widget. It has the same components as the {@link SimpleWelcomeWidget} and a Button - * at the top right corner to close the welcome widget (it sets the whole component visible = false). - * - * @param closable Sets the visibility of the close Button - * @param headerText The text of the header component - * @param welcomeText The text of the component under the header (welcome component) - */ - public ClosableWelcomeWidget(boolean closable, String headerText, String welcomeText, StringMessages stringConstants) { - super(headerText, welcomeText); - this.stringConstants = stringConstants; - this.closable = closable; - - closeButton = new Button(this.stringConstants.close()); - closeButton.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - ClosableWelcomeWidget.this.setVisible(false); - } - }); - closeButton.setVisible(this.closable); - closeButton.setStyleName(STYLE_NAME_PREFIX + "CloseButton"); - mainPanel.insert(closeButton, 0); - } - - /** - * @return true if the welcome widget is closable (close button is visible) right now, else returns false - */ - public boolean isClosable() { - return closable; - } - - /** - * Sets the visibility of the close button and consequently the ability of the welcome widget to close itself. - */ - public void setIsClosable(boolean isClosable) { - closable = isClosable; - closeButton.setVisible(closable); - } - -} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java index 45224160b27..ca08df8854e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java @@ -35,6 +35,7 @@ import com.google.gwt.view.client.NoSelectionModel; import com.google.gwt.view.client.SelectionChangeEvent; import com.google.gwt.view.client.SingleSelectionModel; import com.sap.sailing.domain.common.RegattaNameAndRaceName; +import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.gwt.ui.adminconsole.LeaderboardConfigPanel.AnchorCell; import com.sap.sailing.gwt.ui.client.ErrorReporter; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; @@ -423,17 +424,29 @@ public class LeaderboardGroupOverviewPanel extends FormPanel { @Override public SafeHtml getValue(RaceColumnDTO race) { SafeHtml name = null; - if (race.getRaceIdentifier(fleetName) != null) { - LeaderboardGroupDTO selectedGroup = groupsSelectionModel.getSelectedObject(); - LeaderboardDTO selectedLeaderboard = leaderboardsSelectionModel.getSelectedObject(); - RegattaNameAndRaceName raceId = (RegattaNameAndRaceName) race.getRaceIdentifier(fleetName); - String debugParam = Window.Location.getParameter("gwt.codesvr"); - String link = URLFactory.INSTANCE.encode("/gwt/RaceBoard.html?leaderboardName=" + selectedLeaderboard.name + "&raceName=" + raceId.getRaceName() - + "®attaName=" + raceId.getRegattaName() + "&leaderboardGroupName=" + selectedGroup.name + "&root=overview" - + (debugParam != null && !debugParam.isEmpty() ? "&gwt.codesvr=" + debugParam : "")); - name = ANCHORTEMPLATE.anchor(link, raceId.getRaceName()); - } else { - name = new SafeHtmlBuilder().appendHtmlConstant(race.getRaceColumnName()).toSafeHtml(); + Iterable fleetNames = race.getFleetNames(); + boolean singleFleet = Util.size(fleetNames) < 2; + for (String fleetName : fleetNames) { + String raceDisplayName; + if (singleFleet) { + raceDisplayName = race.getRaceColumnName(); + } else { + raceDisplayName = race.getRaceColumnName() + "("+fleetName+")"; + } + if (race.getRaceIdentifier(fleetName) != null) { + LeaderboardGroupDTO selectedGroup = groupsSelectionModel.getSelectedObject(); + LeaderboardDTO selectedLeaderboard = leaderboardsSelectionModel.getSelectedObject(); + RegattaNameAndRaceName raceId = (RegattaNameAndRaceName) race.getRaceIdentifier(fleetName); + String debugParam = Window.Location.getParameter("gwt.codesvr"); + String link = URLFactory.INSTANCE.encode("/gwt/RaceBoard.html?leaderboardName=" + + selectedLeaderboard.name + "&raceName=" + raceId.getRaceName() + "®attaName=" + + raceId.getRegattaName() + "&leaderboardGroupName=" + selectedGroup.name + + "&root=overview" + + (debugParam != null && !debugParam.isEmpty() ? "&gwt.codesvr=" + debugParam : "")); + name = ANCHORTEMPLATE.anchor(link, raceDisplayName); + } else { + name = new SafeHtmlBuilder().appendHtmlConstant(raceDisplayName).toSafeHtml(); + } } return name; } @@ -442,9 +455,19 @@ public class LeaderboardGroupOverviewPanel extends FormPanel { TextColumn racesStartDateColumn = new TextColumn() { @Override public String getValue(RaceColumnDTO race) { - Date raceStart = race.getStartDate(fleetName); - return raceStart == null ? LeaderboardGroupOverviewPanel.this.stringMessages.untracked() - : DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(raceStart); + StringBuilder result = new StringBuilder(); + boolean first = true; + for (String fleetName : race.getFleetNames()) { + Date raceStart = race.getStartDate(fleetName); + if (first) { + first = false; + } else { + result.append(", "); + } + result.append(raceStart == null ? LeaderboardGroupOverviewPanel.this.stringMessages.untracked() + : DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(raceStart)); + } + return result.toString(); } }; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/SpectatorEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/SpectatorEntryPoint.java index ef26eb90ab6..8531b67f49a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/SpectatorEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/SpectatorEntryPoint.java @@ -62,14 +62,7 @@ public class SpectatorEntryPoint extends AbstractEntryPoint implements RegattaRe } else { LeaderboardGroupPanel groupPanel = new LeaderboardGroupPanel(sailingService, stringMessages, this, groupName, root, viewModeParamValue); groupPanel.getElement().getStyle().setFloat(Style.Float.LEFT); - groupPanel.setWelcomeWidget(new SimpleWelcomeWidget( stringMessages.welcomeToSailingAnalytics(), - "Understanding what happens out on the race course isn't always easy. To help solve this challenge and" + - " bring the excitement of sailing to the fans, we have developed a leader board based on SAP analytics.\n" + - " Through analyzing GPS data together with integrated wind measurements from sensors out on the race course," + - " the leader board displays information such as in-race ranking, average speeds, distance travelled, ETA" + - " (estimated time of arrival at the next mark rounding), gaps to leader, gains and losses per leg.\n\n" + - "Check out the results for yourself to see who triumphed - and how they did it.")); - + groupPanel.setWelcomeWidget(new SimpleWelcomeWidget( stringMessages.welcomeToSailingAnalytics(), stringMessages.welcomeToSailingAnalyticsBody())); SimplePanel feedbackPanel = new SimplePanel(); feedbackPanel.getElement().getStyle().setProperty("clear", "right"); feedbackPanel.addStyleName("feedbackPanel"); From 1b5fc2d545be96ff41883de1013e347b90ee91ad Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 16 May 2012 14:30:48 +0200 Subject: [PATCH 010/339] adjusted LeaderboardConfigPanel to understand a little bit about fleets; compilable again, but not tested at all --- .../impl/FlexibleLeaderboardImpl.java | 15 +- .../adminconsole/LeaderboardConfigPanel.java | 255 +++++++++--------- .../adminconsole/RaceInLeaderboardDialog.java | 40 +-- .../gwt/ui/client/HasWelcomeWidget.java | 3 +- 4 files changed, 163 insertions(+), 150 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java index 06f8e5015be..ff4d062ed37 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java @@ -84,11 +84,13 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements public void moveRaceColumnUp(String name) { RaceColumn race = null; for (RaceColumn r : races) { - if (r.getName().equals(name)) + if (r.getName().equals(name)) { race = r; + } } - if (race == null) + if (race == null) { return; + } int index = 0; index = races.lastIndexOf(race); index--; @@ -102,15 +104,18 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements public void moveRaceColumnDown(String name) { RaceColumn race = null; for (RaceColumn r : races) { - if (r.getName().equals(name)) + if (r.getName().equals(name)) { race = r; + } } - if (race == null) + if (race == null) { return; + } int index = 0; index = races.lastIndexOf(race); - if (index == -1) + if (index == -1) { return; + } index++; if (index < races.size()) { races.remove(race); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index bd14cab15af..d4733387bbf 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -4,7 +4,9 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; +import java.util.Iterator; import java.util.List; +import java.util.Map; import com.google.gwt.cell.client.AbstractCell; import com.google.gwt.cell.client.CheckboxCell; @@ -45,16 +47,16 @@ import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.RegattaNameAndRaceName; import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.gwt.ui.client.ErrorReporter; -import com.sap.sailing.gwt.ui.client.RegattaDisplayer; import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener; import com.sap.sailing.gwt.ui.client.RaceSelectionModel; import com.sap.sailing.gwt.ui.client.RaceSelectionProvider; +import com.sap.sailing.gwt.ui.client.RegattaDisplayer; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.client.URLFactory; -import com.sap.sailing.gwt.ui.shared.RegattaDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardDTO; import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; +import com.sap.sailing.gwt.ui.shared.RegattaDTO; public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplayer, RaceSelectionChangeListener, TrackedRaceChangedListener { @@ -67,17 +69,17 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye private final ListDataProvider leaderboardList; - private final ListDataProvider raceColumnList; + private final ListDataProvider> raceColumnAndFleetNameList; private final ErrorReporter errorReporter; private final CellTable leaderboardTable; - private final CellTable raceColumnTable; + private final CellTable> raceColumnTable; private LeaderboardDTO selectedLeaderboard; - private RaceColumnDTO selectedRaceInLeaderboard; + private Pair selectedRaceInLeaderboard; private final Button addColumnButton; @@ -90,7 +92,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye private TextBox filterLeaderboardTextbox; - final SingleSelectionModel raceColumnTableSelectionModel; + final SingleSelectionModel> raceColumnTableSelectionModel; private List availableLeaderboardList; @@ -118,7 +120,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye this.stringMessages = theStringConstants; this.sailingService = sailingService; leaderboardList = new ListDataProvider(); - raceColumnList = new ListDataProvider(); + raceColumnAndFleetNameList = new ListDataProvider>(); this.errorReporter = errorReporter; this.availableLeaderboardList = new ArrayList(); VerticalPanel mainPanel = new VerticalPanel(); @@ -302,60 +304,60 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye // ------------ races of the selected leaderboard ---------------- AnchorCell raceAnchorCell = new AnchorCell(); - Column raceLinkColumn = new Column(raceAnchorCell) { + Column, SafeHtml> raceLinkColumn = new Column, SafeHtml>(raceAnchorCell) { @Override - public SafeHtml getValue(RaceColumnDTO raceInLeaderboardDTO) { - if(raceInLeaderboardDTO.getRaceIdentifier(fleetName) != null) { - RegattaNameAndRaceName raceIdentifier = (RegattaNameAndRaceName) raceInLeaderboardDTO.getRaceIdentifier(fleetName); + public SafeHtml getValue(Pair raceInLeaderboardDTOAndFleetName) { + if (raceInLeaderboardDTOAndFleetName.getA().getRaceIdentifier(raceInLeaderboardDTOAndFleetName.getB()) != null) { + RegattaNameAndRaceName raceIdentifier = (RegattaNameAndRaceName) raceInLeaderboardDTOAndFleetName + .getA().getRaceIdentifier(raceInLeaderboardDTOAndFleetName.getB()); String debugParam = Window.Location.getParameter("gwt.codesvr"); String link = URLFactory.INSTANCE.encode("/gwt/RaceBoard.html?leaderboardName=" + selectedLeaderboard.name + "&raceName=" + raceIdentifier.getRaceName() + "®attaName=" + raceIdentifier.getRegattaName() + (debugParam != null && !debugParam.isEmpty() ? "&gwt.codesvr=" + debugParam : "")); - return ANCHORTEMPLATE.cell(link, raceInLeaderboardDTO.getRaceColumnName()); + return ANCHORTEMPLATE.cell(link, raceInLeaderboardDTOAndFleetName.getA().getRaceColumnName()); } else { - return SafeHtmlUtils.fromString(raceInLeaderboardDTO.getRaceColumnName()); + return SafeHtmlUtils.fromString(raceInLeaderboardDTOAndFleetName.getA().getRaceColumnName()); } } }; - Column isMedalRaceCheckboxColumn = new Column( + Column, Boolean> isMedalRaceCheckboxColumn = new Column, Boolean>( new CheckboxCell()) { @Override - public Boolean getValue(RaceColumnDTO race) { - return race.isMedalRace(); + public Boolean getValue(Pair race) { + return race.getA().isMedalRace(); } }; - isMedalRaceCheckboxColumn.setFieldUpdater(new FieldUpdater() { + isMedalRaceCheckboxColumn.setFieldUpdater(new FieldUpdater, Boolean>() { @Override - public void update(int index, RaceColumnDTO object, Boolean value) { - setIsMedalRace(selectedLeaderboard.name, object, value); + public void update(int index, Pair object, Boolean value) { + setIsMedalRace(selectedLeaderboard.name, object.getA(), value); } }); isMedalRaceCheckboxColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); - TextColumn isLinkedRaceColumn = new TextColumn() { + TextColumn> isLinkedRaceColumn = new TextColumn>() { @Override - public String getValue(RaceColumnDTO race) { - boolean isTrackedRace = race.isTrackedRace(fleetName); + public String getValue(Pair raceColumnAndFleetName) { + boolean isTrackedRace = raceColumnAndFleetName.getA().isTrackedRace(raceColumnAndFleetName.getB()); return isTrackedRace ? stringMessages.yes() : stringMessages.no(); } }; - - ImagesBarColumn raceActionColumn = new ImagesBarColumn( - new LeaderboardRaceConfigImagesBarCell(stringMessages)); - - raceActionColumn.setFieldUpdater(new FieldUpdater() { + ImagesBarColumn, LeaderboardRaceConfigImagesBarCell> raceActionColumn = + new ImagesBarColumn, LeaderboardRaceConfigImagesBarCell>( + new LeaderboardRaceConfigImagesBarCell(stringMessages)); + raceActionColumn.setFieldUpdater(new FieldUpdater, String>() { @Override - public void update(int index, RaceColumnDTO object, String value) { + public void update(int index, Pair object, String value) { if ("ACTION_REMOVE".equals(value)) { - if (Window.confirm(stringMessages.reallyRemoveRace(object.getRaceColumnName()))) { - removeRaceColumn(object); + if (Window.confirm(stringMessages.reallyRemoveRace(object.getA().getRaceColumnName()))) { + removeRaceColumn(object.getA()); } } else if ("ACTION_EDIT".equals(value)) { editRaceColumnOfLeaderboard(object); } else if ("ACTION_UNLINK".equals(value)) { - unlinkRaceColumnFromTrackedRace(object.getRaceColumnName()); + unlinkRaceColumnFromTrackedRace(object.getA().getRaceColumnName(), object.getB()); } } }); @@ -363,14 +365,14 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye Label lblRaceNamesIn = new Label(stringMessages.races()); vPanel.add(lblRaceNamesIn); - raceColumnTable = new CellTable(/* pageSize */200, tableRes); + raceColumnTable = new CellTable>(/* pageSize */200, tableRes); raceColumnTable.addColumn(raceLinkColumn, stringMessages.name()); raceColumnTable.addColumn(isMedalRaceCheckboxColumn, stringMessages.medalRace()); raceColumnTable.addColumn(isLinkedRaceColumn, stringMessages.islinked()); raceColumnTable.addColumn(raceActionColumn, stringMessages.actions()); - raceColumnList.addDataDisplay(raceColumnTable); + raceColumnAndFleetNameList.addDataDisplay(raceColumnTable); raceColumnTable.setWidth("500px"); - raceColumnTableSelectionModel = new SingleSelectionModel(); + raceColumnTableSelectionModel = new SingleSelectionModel>(); raceColumnTable.setSelectionModel(raceColumnTableSelectionModel); @@ -455,40 +457,46 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye } } - private void unlinkRaceColumnFromTrackedRace(final String raceColumn) { + private void unlinkRaceColumnFromTrackedRace(final String raceColumnName, final String fleetName) { final String selectedLeaderboardName = getSelectedLeaderboardName(); - sailingService.disconnectLeaderboardColumnFromTrackedRace(selectedLeaderboardName, raceColumn, + sailingService.disconnectLeaderboardColumnFromTrackedRace(selectedLeaderboardName, raceColumnName, fleetName, new AsyncCallback() { @Override public void onFailure(Throwable t) { - errorReporter.reportError("Error trying to unlink tracked race from column " + raceColumn + errorReporter.reportError("Error trying to unlink tracked race from column " + raceColumnName + " from leaderboard " + selectedLeaderboardName + ": " + t.getMessage()); } @Override public void onSuccess(Void arg0) { trackedRacesListComposite.clearSelection(); - getSelectedRaceInLeaderboard().setRaceIdentifier(fleetName, null); - raceColumnList.refresh(); + getSelectedRaceColumnAndFleetName().getA().setRaceIdentifier(fleetName, null); + raceColumnAndFleetNameList.refresh(); } }); } - private void removeRaceColumn(final RaceColumnDTO raceColumn) { - final String raceColumnString = raceColumn.getRaceColumnName(); + private void removeRaceColumn(final RaceColumnDTO raceColumnDTO) { + final String raceColumnString = raceColumnDTO.getRaceColumnName(); sailingService.removeLeaderboardColumn(getSelectedLeaderboardName(), raceColumnString, new AsyncCallback() { @Override public void onFailure(Throwable t) { - errorReporter.reportError("Error trying to remove leaderboard race column " + raceColumn + errorReporter.reportError("Error trying to remove leaderboard race column " + raceColumnDTO + " in leaderboard " + getSelectedLeaderboardName() + ": " + t.getMessage()); } @Override public void onSuccess(Void arg0) { - raceColumnList.getList().remove(raceColumn); - if (raceColumnTableSelectionModel.isSelected(raceColumn)) { - raceColumnTableSelectionModel.setSelected(raceColumn, false); + Iterator> rowIter = raceColumnAndFleetNameList.getList().iterator(); + while (rowIter.hasNext()) { + Pair next = rowIter.next(); + if (raceColumnTableSelectionModel.isSelected(next)) { + raceColumnTableSelectionModel.setSelected(next, false); + } + if (next.getA() == raceColumnDTO) { + rowIter.remove(); + } } // selectedLeaderboard.raceNamesAndMedalRaceAndTracked.remove(raceColumn); selectedLeaderboard.removeRace(raceColumnString); @@ -497,9 +505,12 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye }); } + /** + * The selected row is potentially only one of several fleet-based rows of the same RaceColumn. In this case, + * move all fleet-based rows of the same RaceColumn down. + */ private void moveSelectedRaceColumnDown() { - final String selectedRaceColumnName = raceColumnTableSelectionModel.getSelectedObject().getRaceColumnName(); - + final String selectedRaceColumnName = raceColumnTableSelectionModel.getSelectedObject().getA().getRaceColumnName(); sailingService.moveLeaderboardColumnDown(getSelectedLeaderboardName(), selectedRaceColumnName, new AsyncCallback() { @Override @@ -511,34 +522,17 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye @Override public void onSuccess(Void result) { - int rowIndex = getRowIndexOfSelectedRaceColumn(); - if (rowIndex < raceColumnList.getList().size() - 1) { - Collections.swap(raceColumnList.getList(), rowIndex, rowIndex + 1); - selectedLeaderboard.moveRaceDown(selectedRaceColumnName); - } + leaderboardSelectionChanged(); } }); } - private int getRowIndexOfSelectedRaceColumn() { - final RaceColumnDTO selectedRaceColumnName = raceColumnTableSelectionModel.getSelectedObject(); - int rowIndex = -1; - - if (selectedRaceColumnName != null) { - int listSize = raceColumnList.getList().size(); - for (int i = 0; i < listSize; i++) { - if (selectedRaceColumnName.equals(raceColumnList.getList().get(i))) { - rowIndex = i; - break; - } - } - } - return rowIndex; - } - + /** + * The selected row is potentially only one of several fleet-based rows of the same RaceColumn. In this case, + * move all fleet-based rows of the same RaceColumn down. + */ private void moveSelectedRaceColumnUp() { - final String selectedRaceColumnName = raceColumnTableSelectionModel.getSelectedObject().getRaceColumnName(); - + final String selectedRaceColumnName = raceColumnTableSelectionModel.getSelectedObject().getA().getRaceColumnName(); sailingService.moveLeaderboardColumnUp(getSelectedLeaderboardName(), selectedRaceColumnName, new AsyncCallback() { @Override @@ -550,21 +544,18 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye @Override public void onSuccess(Void result) { - int rowIndex = getRowIndexOfSelectedRaceColumn(); - if (rowIndex > 0) { - Collections.swap(raceColumnList.getList(), rowIndex, rowIndex - 1); - selectedLeaderboard.moveRaceUp(selectedRaceColumnName); - } + leaderboardSelectionChanged(); } }); } private void leaderboardRaceColumnSelectionChanged() { - selectedRaceInLeaderboard = getSelectedRaceInLeaderboard(); + selectedRaceInLeaderboard = getSelectedRaceColumnAndFleetName(); if (selectedRaceInLeaderboard != null) { columnMoveUpButton.setEnabled(true); columnMoveDownButton.setEnabled(true); - reloadRaceInLeaderboardRow(selectedRaceInLeaderboard.getRaceColumnName(), selectedRaceInLeaderboard); + reloadRaceInLeaderboardRow(selectedRaceInLeaderboard.getA().getRaceColumnName(), /* fleet name */ selectedRaceInLeaderboard.getB(), + selectedRaceInLeaderboard); selectTrackedRaceInRaceList(); } else { columnMoveUpButton.setEnabled(false); @@ -575,9 +566,11 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye private void selectTrackedRaceInRaceList() { final String selectedLeaderboardName = getSelectedLeaderboardName(); - final String selectedRaceColumnName = getSelectedRaceInLeaderboard().getRaceColumnName(); + final Pair selectedRaceColumnAndFleetNameInLeaderboard = getSelectedRaceColumnAndFleetName(); + final String selectedRaceColumnName = selectedRaceColumnAndFleetNameInLeaderboard.getA().getRaceColumnName(); + final String selectedFleetName = selectedRaceColumnAndFleetNameInLeaderboard.getB(); sailingService.getEventAndRaceNameOfTrackedRaceConnectedToLeaderboardColumn(selectedLeaderboardName, - selectedRaceColumnName, new AsyncCallback>() { + selectedRaceColumnName, new AsyncCallback>() { @Override public void onFailure(Throwable t) { errorReporter.reportError("Error trying to determine tracked race linked to race column " @@ -586,9 +579,10 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye } @Override - public void onSuccess(Pair regattaAndRaceName) { - if (regattaAndRaceName != null) { - selectRaceInList(regattaAndRaceName.getA(), regattaAndRaceName.getB()); + public void onSuccess(Map regattaAndRaceNamesPerFleet) { + if (regattaAndRaceNamesPerFleet != null) { + selectRaceInList(regattaAndRaceNamesPerFleet.get(selectedFleetName).getRegattaName(), + regattaAndRaceNamesPerFleet.get(selectedFleetName).getRaceName()); } else { trackedRacesListComposite.clearSelection(); } @@ -601,26 +595,26 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye trackedRacesListComposite.selectRaceByIdentifier(raceIdentifier); } - private RaceColumnDTO getSelectedRaceInLeaderboard() { - RaceColumnDTO raceInLeaderboard = raceColumnTableSelectionModel.getSelectedObject(); - return raceInLeaderboard; + private Pair getSelectedRaceColumnAndFleetName() { + Pair raceInLeaderboardAndFleetName = raceColumnTableSelectionModel.getSelectedObject(); + return raceInLeaderboardAndFleetName; } - private void editRaceColumnOfLeaderboard(final RaceColumnDTO raceInLeaderboard) { - final String oldRaceName = raceInLeaderboard.getRaceColumnName(); - List existingRacesWithoutThisRace = new ArrayList(); - existingRacesWithoutThisRace.addAll(raceColumnList.getList()); - existingRacesWithoutThisRace.remove(raceInLeaderboard); + private void editRaceColumnOfLeaderboard(final Pair object) { + final String oldRaceName = object.getA().getRaceColumnName(); + List> existingRacesWithoutThisRace = new ArrayList>(); + existingRacesWithoutThisRace.addAll(raceColumnAndFleetNameList.getList()); + existingRacesWithoutThisRace.remove(object); final RaceInLeaderboardDialog raceDialog = new RaceInLeaderboardDialog(existingRacesWithoutThisRace, - raceInLeaderboard, stringMessages, new AsyncCallback() { + object.getA(), stringMessages, new AsyncCallback>() { @Override public void onFailure(Throwable caught) { } @Override - public void onSuccess(final RaceColumnDTO result) { + public void onSuccess(final Pair result) { sailingService.renameLeaderboardColumn(getSelectedLeaderboardName(), oldRaceName, - result.getRaceColumnName(), new AsyncCallback() { + result.getA().getRaceColumnName(), new AsyncCallback() { @Override public void onFailure(Throwable caught) { @@ -629,7 +623,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye @Override public void onSuccess(Void v) { sailingService.updateIsMedalRace(getSelectedLeaderboardName(), - result.getRaceColumnName(), result.isMedalRace(), + result.getA().getRaceColumnName(), result.getA().isMedalRace(), new AsyncCallback() { @Override @@ -638,8 +632,8 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye @Override public void onSuccess(Void v) { - raceInLeaderboard.setMedalRace(result.isMedalRace()); - reloadRaceInLeaderboardRow(oldRaceName, result); + object.getA().setMedalRace(result.getA().isMedalRace()); + reloadRaceInLeaderboardRow(oldRaceName, /* fleet name */ result.getB(), result); } }); } @@ -650,19 +644,19 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye raceDialog.show(); } - private void reloadRaceInLeaderboardRow(String oldRaceName, RaceColumnDTO raceInLeaderboard) { + private void reloadRaceInLeaderboardRow(String oldRaceName, String oldFleetName, Pair newRaceColumnAndFleetName) { int index = -1; - for (int i = 0; i < raceColumnList.getList().size(); i++) { - RaceColumnDTO race = raceColumnList.getList().get(i); - if (race.getRaceColumnName().equals(oldRaceName)) { + for (int i = 0; i < raceColumnAndFleetNameList.getList().size(); i++) { + Pair raceColumnAndFleetName = raceColumnAndFleetNameList.getList().get(i); + if (raceColumnAndFleetName.getA().getRaceColumnName().equals(oldRaceName) && raceColumnAndFleetName.getB().equals(oldFleetName)) { index = i; break; } } if (index != -1) { - raceColumnList.getList().set(index, raceInLeaderboard); + raceColumnAndFleetNameList.getList().set(index, newRaceColumnAndFleetName); } - raceColumnList.refresh(); + raceColumnAndFleetNameList.refresh(); } private void setIsMedalRace(String leaderboardName, final RaceColumnDTO raceInLeaderboard, @@ -684,22 +678,22 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye private void addRaceColumnToLeaderboard() { final RaceColumnDTO raceInLeaderboard = new RaceColumnDTO(); final String leaderboardName = getSelectedLeaderboardName(); - final RaceInLeaderboardDialog raceDialog = new RaceInLeaderboardDialog(raceColumnList.getList(), - raceInLeaderboard, stringMessages, new AsyncCallback() { + final RaceInLeaderboardDialog raceDialog = new RaceInLeaderboardDialog(raceColumnAndFleetNameList.getList(), + raceInLeaderboard, stringMessages, new AsyncCallback>() { @Override public void onFailure(Throwable caught) { } @Override - public void onSuccess(final RaceColumnDTO result) { - sailingService.addColumnToLeaderboard(result.getRaceColumnName(), leaderboardName, - result.isMedalRace(), new AsyncCallback() { + public void onSuccess(final Pair result) { + sailingService.addColumnToLeaderboard(result.getA().getRaceColumnName(), leaderboardName, + result.getA().isMedalRace(), new AsyncCallback() { @Override public void onFailure(Throwable caught) { errorReporter.reportError("Error trying to add column " - + result.getRaceColumnName() + " to leaderboard " + leaderboardName + + result.getA().getRaceColumnName() + " to leaderboard " + leaderboardName + ": " + caught.getMessage()); } @@ -707,12 +701,12 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye @Override public void onSuccess(Void v) { // columnNamesInSelectedLeaderboardListBox.addItem(columnNameAndMedalRace.getA()); - raceColumnList.getList().add(result); + raceColumnAndFleetNameList.getList().add(result); // selectedLeaderboard.raceNamesAndMedalRaceAndTracked.put(columnNameAndMedalRace.getA(), // new Pair(/* medal race */ columnNameAndMedalRace.getB(), // /* tracked */ false)); - selectedLeaderboard.addRace(result.getRaceColumnName(), fleetName, - result.isMedalRace(), null, null); + selectedLeaderboard.addRace(result.getA().getRaceColumnName(), /* fleet name */ result.getB(), + result.getA().isMedalRace(), /* tracked race identifier */ null, /* StrippedRaceDTO */ null); selectedLeaderboard.invalidateCompetitorOrdering(); } }); @@ -738,12 +732,16 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye } }); if (selectedLeaderboard != null) { - raceColumnList.getList().clear(); - raceColumnList.getList().addAll(selectedLeaderboard.getRaceList()); - selectedLeaderBoardPanel.setVisible(true); - trackedRacesCaptionPanel.setVisible(true); - selectedLeaderBoardPanel.setCaptionText("Details of leaderboard '" + selectedLeaderboard.name + "'"); - addColumnButton.setEnabled(true); + raceColumnAndFleetNameList.getList().clear(); + for (RaceColumnDTO raceColumn : selectedLeaderboard.getRaceList()) { + for (String fleetName : raceColumn.getFleetNames()) { + raceColumnAndFleetNameList.getList().add(new Pair(raceColumn, fleetName)); + } + } + selectedLeaderBoardPanel.setVisible(true); + trackedRacesCaptionPanel.setVisible(true); + selectedLeaderBoardPanel.setCaptionText("Details of leaderboard '" + selectedLeaderboard.name + "'"); + addColumnButton.setEnabled(true); } else { selectedLeaderBoardPanel.setVisible(false); trackedRacesCaptionPanel.setVisible(false); @@ -760,12 +758,12 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye @Override public void changeTrackingRace(RegattaNameAndRaceName regattaNameAndRaceName, boolean isTracked) { - for (RaceColumnDTO race : raceColumnList.getList()) { - if (race.getRaceColumnName().equals(regattaNameAndRaceName.getRaceName())) { - race.setRaceIdentifier(fleetName, regattaNameAndRaceName); + for (Pair raceColumnAndFleetName : raceColumnAndFleetNameList.getList()) { + if (raceColumnAndFleetName.getA().getRaceColumnName().equals(regattaNameAndRaceName.getRaceName())) { + raceColumnAndFleetName.getA().setRaceIdentifier(raceColumnAndFleetName.getB(), regattaNameAndRaceName); } } - raceColumnList.refresh(); + raceColumnAndFleetNameList.refresh(); } private void addNewLeaderboard() { @@ -850,20 +848,21 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye @Override public void onRaceSelectionChange(List selectedRaces) { // if no leaderboard column is selected, ignore the race selection change - RaceColumnDTO selectedRaceInLeaderboard = getSelectedRaceInLeaderboard(); - if (selectedRaceInLeaderboard != null) { + Pair selectedRaceColumnAndFleetName = getSelectedRaceColumnAndFleetName(); + if (selectedRaceColumnAndFleetName != null) { if (selectedRaces.isEmpty()) { - unlinkRaceColumnFromTrackedRace(selectedRaceInLeaderboard.getRaceColumnName()); + unlinkRaceColumnFromTrackedRace(selectedRaceColumnAndFleetName.getA().getRaceColumnName(), selectedRaceColumnAndFleetName.getB()); } else { - linkTrackedRaceToSelectedRaceColumn(selectedRaceInLeaderboard, selectedRaces.iterator().next()); + linkTrackedRaceToSelectedRaceColumn(selectedRaceColumnAndFleetName.getA(), selectedRaceColumnAndFleetName.getB(), + selectedRaces.iterator().next()); } } } private void linkTrackedRaceToSelectedRaceColumn(final RaceColumnDTO selectedRaceInLeaderboard, - final RegattaAndRaceIdentifier selectedRace) { + final String fleetName, final RegattaAndRaceIdentifier selectedRace) { sailingService.connectTrackedRaceToLeaderboardColumn(getSelectedLeaderboardName(), selectedRaceInLeaderboard - .getRaceColumnName(), selectedRace, + .getRaceColumnName(), fleetName, selectedRace, new AsyncCallback() { @Override public void onFailure(Throwable t) { @@ -878,7 +877,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye if (success) { // TODO consider enabling the Unlink button selectedRaceInLeaderboard.setRaceIdentifier(fleetName, selectedRace); - raceColumnList.refresh(); + raceColumnAndFleetNameList.refresh(); } } }); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceInLeaderboardDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceInLeaderboardDialog.java index 33af15fbbac..191c1ed3015 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceInLeaderboardDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceInLeaderboardDialog.java @@ -7,38 +7,47 @@ import com.google.gwt.user.client.ui.CheckBox; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; +import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.gwt.ui.client.DataEntryDialog; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; -public class RaceInLeaderboardDialog extends DataEntryDialog { - +/** + * Fills a {@link RaceColumnDTO} object by setting its {@link RaceColumnDTO#setMedalRace(boolean) medal race} property and its name. + * As {@link RaceColumnDTO#getFleetNames()} fleet, a single default fleet is added. + * + * @author Axel Uhl (D043530) + * + */ +public class RaceInLeaderboardDialog extends DataEntryDialog> { + private final static String DEFAULT_FLEET_NAME = "Default"; + private final TextBox raceNameBox; private final CheckBox isMedalRace; private RaceColumnDTO raceInLeaderboard; - private static class RaceDialogValidator implements Validator { + private static class RaceDialogValidator implements Validator> { private StringMessages stringConstants; - private Collection existingRaces; + private Collection> existingRaces; - public RaceDialogValidator(StringMessages stringConstants, Collection existingRaces) { + public RaceDialogValidator(StringMessages stringConstants, Collection> existingRaceColumnsAndFleetNames) { this.stringConstants = stringConstants; - this.existingRaces = existingRaces; + this.existingRaces = existingRaceColumnsAndFleetNames; } @Override - public String getErrorMessage(RaceColumnDTO valueToValidate) { + public String getErrorMessage(Pair valueToValidate) { String errorMessage; - String racename = valueToValidate.getRaceColumnName(); - Boolean isMedalRace = valueToValidate.isMedalRace(); + String racename = valueToValidate.getA().getRaceColumnName(); + Boolean isMedalRace = valueToValidate.getA().isMedalRace(); boolean isNameNotEmpty = racename != null & racename != ""; boolean medalRaceNotNull = isMedalRace != null; boolean unique = true; - for (RaceColumnDTO dao : existingRaces) { - if (dao.getRaceColumnName().equals(valueToValidate.getRaceColumnName())) { + for (Pair raceColumnAndFleetName : existingRaces) { + if (raceColumnAndFleetName.getA().getRaceColumnName().equals(valueToValidate.getA().getRaceColumnName())) { unique = false; } } @@ -57,9 +66,9 @@ public class RaceInLeaderboardDialog extends DataEntryDialog { } - public RaceInLeaderboardDialog(Collection existingRaces, + public RaceInLeaderboardDialog(Collection> existingRaces, RaceColumnDTO raceInLeaderboard, StringMessages stringConstants, - AsyncCallback callback) { + AsyncCallback> callback) { super(stringConstants.name(), null, stringConstants.ok(), stringConstants.cancel(), new RaceDialogValidator(stringConstants, existingRaces), callback); this.raceInLeaderboard = raceInLeaderboard; @@ -69,10 +78,11 @@ public class RaceInLeaderboardDialog extends DataEntryDialog { } @Override - protected RaceColumnDTO getResult() { + protected Pair getResult() { raceInLeaderboard.setRaceColumnName(raceNameBox.getValue()); raceInLeaderboard.setMedalRace(isMedalRace.getValue()); - return raceInLeaderboard; + raceInLeaderboard.addFleetName(DEFAULT_FLEET_NAME); + return new Pair(raceInLeaderboard, raceInLeaderboard.getFleetNames().iterator().next()); } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/HasWelcomeWidget.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/HasWelcomeWidget.java index 7de178c715a..72cbbbfcfa3 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/HasWelcomeWidget.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/HasWelcomeWidget.java @@ -1,6 +1,5 @@ package com.sap.sailing.gwt.ui.client; -import com.sap.sailing.gwt.ui.shared.panels.ClosableWelcomeWidget; import com.sap.sailing.gwt.ui.shared.panels.SimpleWelcomeWidget; import com.sap.sailing.gwt.ui.shared.panels.WelcomeWidget; @@ -14,7 +13,7 @@ public interface HasWelcomeWidget { /** * Sets the welcome widget of the component. * @param welcome The new welcome widget - * @see {@link WelcomeWidget}, {@link SimpleWelcomeWidget}, {@link ClosableWelcomeWidget}, ... + * @see {@link WelcomeWidget}, {@link SimpleWelcomeWidget} */ void setWelcomeWidget(WelcomeWidget welcome); void setWelcomeWidgetVisible(boolean isVisible); From f63a703caf295e4c0e66a689c7c2628a243346a2 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 16 May 2012 14:35:30 +0200 Subject: [PATCH 011/339] added fleet name column to leaderboard race columns table --- .../gwt/ui/adminconsole/LeaderboardConfigPanel.java | 7 +++++++ .../java/com/sap/sailing/gwt/ui/client/StringMessages.java | 1 + .../sap/sailing/gwt/ui/client/StringMessages.properties | 1 + .../sap/sailing/gwt/ui/client/StringMessages_de.properties | 1 + 4 files changed, 10 insertions(+) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index d4733387bbf..1d663b7539f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -321,6 +321,12 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye } } }; + TextColumn> fleetNameColumn = new TextColumn>() { + @Override + public String getValue(Pair object) { + return object.getB(); + } + }; Column, Boolean> isMedalRaceCheckboxColumn = new Column, Boolean>( new CheckboxCell()) { @@ -367,6 +373,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye raceColumnTable = new CellTable>(/* pageSize */200, tableRes); raceColumnTable.addColumn(raceLinkColumn, stringMessages.name()); + raceColumnTable.addColumn(fleetNameColumn, stringMessages.fleet()); raceColumnTable.addColumn(isMedalRaceCheckboxColumn, stringMessages.medalRace()); raceColumnTable.addColumn(isLinkedRaceColumn, stringMessages.islinked()); raceColumnTable.addColumn(raceActionColumn, stringMessages.actions()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java index 821d846f7ca..73b4cec24a9 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java @@ -301,4 +301,5 @@ public interface StringMessages extends Messages { String replicatingFromMaster(String hostname, int jmsPort, int servletPort); String showWindSpeedSeries(); String showWindDirectionSeries(); + String fleet(); } \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index 478141df9f2..237a44b73bb 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -296,3 +296,4 @@ registeredAt=Registered at {0} replicatingFromMaster=Replicating from master {0}, JMS port {1}, servlet port {2} showWindSpeedSeries=Show wind speed data showWindDirectionSeries=Show wind directions data +fleet=Fleet \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index fd1e8e2ebee..814246d0ca4 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -297,3 +297,4 @@ registeredAt=Registriert {0} replicatingFromMaster=Repliziert von master {0}, JMS Port {1}, Servlet Port {2} showWindSpeedSeries=Daten für Windgeschwindigkeit zeigen showWindDirectionSeries=Daten für Windrichtung zeigen +fleet=Flotte \ No newline at end of file From bd92f5ba8aed762af5921a356defeb0557f10bb4 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 16 May 2012 14:49:44 +0200 Subject: [PATCH 012/339] Fixing bug 643 by returning a clones list for RegattaImpl.getAllRaces() --- .../src/com/sap/sailing/domain/base/Regatta.java | 3 --- .../sap/sailing/domain/base/impl/RegattaImpl.java | 15 +++++++-------- .../gwt/ui/client/StringMessages.properties | 5 ++++- .../gwt/ui/client/StringMessages_de.properties | 5 ++++- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java index 20e79cc8b7f..62a11500336 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java @@ -26,9 +26,6 @@ public interface Regatta extends Named { * For example, it may be the case that a {@link RaceDefinition} is returned by this method for which no * {@link TrackedRace} exists in the corresponding {@link TrackedRegatta}. This could be the case, e.g., during * the initialization of the tracker as well as during removing a race from the server.

- * - * Callers iterating over the result that anticipate concurrent modifications shall synchronize the iteration - * on the result. */ Iterable getAllRaces(); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java index 2c10bd5bd76..07b23566f22 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java @@ -64,7 +64,9 @@ public class RegattaImpl extends NamedImpl implements Regatta { @Override public Iterable getAllRaces() { - return races; + synchronized (races) { + return new ArrayList(races); + } } @Override @@ -74,15 +76,12 @@ public class RegattaImpl extends NamedImpl implements Regatta { @Override public RaceDefinition getRaceByName(String raceName) { - Iterable allRaces = getAllRaces(); - synchronized (allRaces) { - for (RaceDefinition r : getAllRaces()) { - if (r.getName().equals(raceName)) { - return r; - } + for (RaceDefinition r : getAllRaces()) { + if (r.getName().equals(raceName)) { + return r; } - return null; } + return null; } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index 237a44b73bb..18f81d0d018 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -234,7 +234,10 @@ abort=Abort noLeaderboardGroupWithNameFound=No leaderboard group with the name {0} found overview=Overview welcomeToSailingAnalytics=Welcome to SAP Sailing Analytics -welcomeToSailingAnalyticsBody=Understanding what happens out on the race course isn't always easy. To help solve this challenge and bring the excitement of sailing to the fans, we have developed a leader board based on SAP analytics.\nThrough analyzing GPS data together with integrated wind measurements from sensors out on the race course, the leader board displays information such as in-race ranking, average speeds, distance travelled, ETA (estimated time of arrival at the next mark rounding), gaps to leader, gains and losses per leg.\n\nCheck out the results for yourself to see who triumphed - and how they did it. +welcomeToSailingAnalyticsBody=Understanding what happens out on the race course isn''t always easy. To help solve this challenge and bring the excitement of sailing to the fans, we have developed a leader board based on SAP analytics.\ +Through analyzing GPS data together with integrated wind measurements from sensors out on the race course, the leader board displays information such as in-race ranking, average speeds, distance travelled, ETA (estimated time of arrival at the next mark rounding), gaps to leader, gains and losses per leg.\ +\ +Check out the results for yourself to see who triumphed - and how they did it. home=Home clickAndDragToZoomIn=Click and drag in the plot area to zoom in windSpeed=Wind speed (kts) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index 814246d0ca4..e98daeb510d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -235,7 +235,10 @@ abort=Abbrechen noLeaderboardGroupWithNameFound=Keine Ranglisten-Gruppe mit dem Namen {0} gefunden overview=Übersicht welcomeToSailingAnalytics=Willkommen bei SAP Sailing Analytics -welcomeToSailingAnalyticsBody=Understanding what happens out on the race course isn't always easy. To help solve this challenge and bring the excitement of sailing to the fans, we have developed a leader board based on SAP analytics.\nThrough analyzing GPS data together with integrated wind measurements from sensors out on the race course, the leader board displays information such as in-race ranking, average speeds, distance travelled, ETA (estimated time of arrival at the next mark rounding), gaps to leader, gains and losses per leg.\n\nCheck out the results for yourself to see who triumphed - and how they did it. +welcomeToSailingAnalyticsBody=Understanding what happens out on the race course isn''t always easy. To help solve this challenge and bring the excitement of sailing to the fans, we have developed a leader board based on SAP analytics.\ +Through analyzing GPS data together with integrated wind measurements from sensors out on the race course, the leader board displays information such as in-race ranking, average speeds, distance travelled, ETA (estimated time of arrival at the next mark rounding), gaps to leader, gains and losses per leg.\ +\ +Check out the results for yourself to see who triumphed - and how they did it. home=Startseite clickAndDragToZoomIn=Anklicken und ziehen zum Hineinzoomen windSpeed=Wind speed (sm/h) From 1a56d4147f8689b29fbf00de3ff37bfb09712ffb Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 16 May 2012 15:11:31 +0200 Subject: [PATCH 013/339] some renames towards FlexibleLeaderboard and RaceColumn instead of RaceInLeaderboard stuff --- .../persistence/impl/DomainObjectFactoryImpl.java | 13 ++++++------- ...bleLeaderboardImplWithDelayedCarriedPoints.java} | 12 ++++++------ .../gwt/ui/adminconsole/LeaderboardConfigPanel.java | 4 ++-- ...LeaderboardDialog.java => RaceColumnDialog.java} | 4 ++-- 4 files changed, 16 insertions(+), 17 deletions(-) rename java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/{LeaderboardImplWithDelayedCarriedPoints.java => FlexibleLeaderboardImplWithDelayedCarriedPoints.java} (92%) rename java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/{RaceInLeaderboardDialog.java => RaceColumnDialog.java} (95%) diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index b71265fc417..8169f2dcb41 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -123,7 +123,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { BasicDBObject query = new BasicDBObject(); query.put(FieldNames.LEADERBOARD_NAME.name(), name); for (DBObject o : leaderboardCollection.find(query)) { - result = loadLeaderboard(o); + result = loadFlexibleLeaderboard(o); } } catch (Throwable t) { // something went wrong during DB access; report, then use empty new wind track @@ -139,7 +139,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { Set result = new HashSet(); try { for (DBObject o : leaderboardCollection.find()) { - result.add(loadLeaderboard(o)); + result.add(loadFlexibleLeaderboard(o)); } } catch (Throwable t) { // something went wrong during DB access; report, then use empty new wind track @@ -149,7 +149,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { return result; } - private Leaderboard loadLeaderboard(DBObject o) { + private Leaderboard loadFlexibleLeaderboard(DBObject o) { SettableScoreCorrection scoreCorrection = new ScoreCorrectionImpl(); BasicDBList dbDiscardIndexResultsStartingWithHowManyRaces = (BasicDBList) o.get(FieldNames.LEADERBOARD_DISCARDING_THRESHOLDS.name()); int[] discardIndexResultsStartingWithHowManyRaces = new int[dbDiscardIndexResultsStartingWithHowManyRaces.size()]; @@ -158,8 +158,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { discardIndexResultsStartingWithHowManyRaces[i++] = (Integer) discardingThresholdAsObject; } ThresholdBasedResultDiscardingRule resultDiscardingRule = new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces); - // TODO should this be a FlexibleLeaderboard or a RegattaLeaderboard? See bug 636 - LeaderboardImplWithDelayedCarriedPoints result = new LeaderboardImplWithDelayedCarriedPoints( + FlexibleLeaderboardImplWithDelayedCarriedPoints result = new FlexibleLeaderboardImplWithDelayedCarriedPoints( (String) o.get(FieldNames.LEADERBOARD_NAME.name()), scoreCorrection, resultDiscardingRule); BasicDBList dbRaceColumns = (BasicDBList) o.get(FieldNames.LEADERBOARD_COLUMNS.name()); // For a FlexibleLeaderboard, fleets are owned by the leaderboard's RaceColumn objects. We need to manage them here: @@ -300,7 +299,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { for (Object object : dbLeaderboardIds) { ObjectId dbLeaderboardId = (ObjectId) object; DBObject dbLeaderboard = leaderboardCollection.findOne(dbLeaderboardId); - leaderboards.add(loadLeaderboard(dbLeaderboard)); + leaderboards.add(loadFlexibleLeaderboard(dbLeaderboard)); } return new LeaderboardGroupImpl(name, description, leaderboards); @@ -316,7 +315,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { BasicDBObject query = new BasicDBObject("$where", "function() { return db." + CollectionNames.LEADERBOARD_GROUPS.name() + ".find({ " + FieldNames.LEADERBOARD_GROUP_LEADERBOARDS.name() + ": this._id }).count() == 0; }"); for (DBObject o : leaderboardCollection.find(query)) { - result.add(loadLeaderboard(o)); + result.add(loadFlexibleLeaderboard(o)); } } catch (Throwable t) { logger.log(Level.SEVERE, "Error connecting to MongoDB, unable to load leaderboards."); diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/LeaderboardImplWithDelayedCarriedPoints.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FlexibleLeaderboardImplWithDelayedCarriedPoints.java similarity index 92% rename from java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/LeaderboardImplWithDelayedCarriedPoints.java rename to java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FlexibleLeaderboardImplWithDelayedCarriedPoints.java index d1ef9ac8017..7258ee771cb 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/LeaderboardImplWithDelayedCarriedPoints.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FlexibleLeaderboardImplWithDelayedCarriedPoints.java @@ -32,7 +32,7 @@ import com.sap.sailing.domain.tracking.TrackedRace; * @author Axel Uhl (d043530) * */ -public class LeaderboardImplWithDelayedCarriedPoints extends FlexibleLeaderboardImpl { +public class FlexibleLeaderboardImplWithDelayedCarriedPoints extends FlexibleLeaderboardImpl { private static final long serialVersionUID = -8933075542228571746L; private final Map carriedPointsByCompetitorName; private final Map> maxPointsReasonsByCompetitorName; @@ -41,14 +41,14 @@ public class LeaderboardImplWithDelayedCarriedPoints extends FlexibleLeaderboard /** * A wrapper for {@link RaceColumn} that, when its {@link #setTrackedRace(Fleet, TrackedRace)} method is called, - * additionally calls {@link LeaderboardImplWithDelayedCarriedPoints#assignLeftOvers(TrackedRace)}. + * additionally calls {@link FlexibleLeaderboardImplWithDelayedCarriedPoints#assignLeftOvers(TrackedRace)}. * * @author Axel Uhl (D043530) */ - private class RaceInLeaderboardForDelayedCarriedPoints extends RaceColumnImpl { + private class RaceColumnForDelayedCarriedPoints extends RaceColumnImpl { private static final long serialVersionUID = -1243132535406059096L; - public RaceInLeaderboardForDelayedCarriedPoints(Leaderboard leaderboard, String name, boolean medalRace, Fleet... fleets) { + public RaceColumnForDelayedCarriedPoints(Leaderboard leaderboard, String name, boolean medalRace, Fleet... fleets) { super(name, medalRace, fleets==null ? Collections.singletonList(defaultFleet) : Arrays.asList(fleets)); } @@ -61,7 +61,7 @@ public class LeaderboardImplWithDelayedCarriedPoints extends FlexibleLeaderboard } } - public LeaderboardImplWithDelayedCarriedPoints(String name, SettableScoreCorrection scoreCorrection, + public FlexibleLeaderboardImplWithDelayedCarriedPoints(String name, SettableScoreCorrection scoreCorrection, ThresholdBasedResultDiscardingRule resultDiscardingRule) { super(name, scoreCorrection, resultDiscardingRule); carriedPointsByCompetitorName = new HashMap(); @@ -80,7 +80,7 @@ public class LeaderboardImplWithDelayedCarriedPoints extends FlexibleLeaderboard @Override protected RaceColumnImpl createRaceColumn(String columnName, boolean medalRace, Fleet... fleets) { - return new RaceInLeaderboardForDelayedCarriedPoints(this, columnName, medalRace, fleets); + return new RaceColumnForDelayedCarriedPoints(this, columnName, medalRace, fleets); } public void setCarriedPoints(String competitorName, int carriedPoints) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index 1d663b7539f..c250c28d3c1 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -612,7 +612,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye List> existingRacesWithoutThisRace = new ArrayList>(); existingRacesWithoutThisRace.addAll(raceColumnAndFleetNameList.getList()); existingRacesWithoutThisRace.remove(object); - final RaceInLeaderboardDialog raceDialog = new RaceInLeaderboardDialog(existingRacesWithoutThisRace, + final RaceColumnDialog raceDialog = new RaceColumnDialog(existingRacesWithoutThisRace, object.getA(), stringMessages, new AsyncCallback>() { @Override public void onFailure(Throwable caught) { @@ -685,7 +685,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye private void addRaceColumnToLeaderboard() { final RaceColumnDTO raceInLeaderboard = new RaceColumnDTO(); final String leaderboardName = getSelectedLeaderboardName(); - final RaceInLeaderboardDialog raceDialog = new RaceInLeaderboardDialog(raceColumnAndFleetNameList.getList(), + final RaceColumnDialog raceDialog = new RaceColumnDialog(raceColumnAndFleetNameList.getList(), raceInLeaderboard, stringMessages, new AsyncCallback>() { @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceInLeaderboardDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceColumnDialog.java similarity index 95% rename from java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceInLeaderboardDialog.java rename to java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceColumnDialog.java index 191c1ed3015..420ae210693 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceInLeaderboardDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceColumnDialog.java @@ -19,7 +19,7 @@ import com.sap.sailing.gwt.ui.shared.RaceColumnDTO; * @author Axel Uhl (D043530) * */ -public class RaceInLeaderboardDialog extends DataEntryDialog> { +public class RaceColumnDialog extends DataEntryDialog> { private final static String DEFAULT_FLEET_NAME = "Default"; private final TextBox raceNameBox; @@ -66,7 +66,7 @@ public class RaceInLeaderboardDialog extends DataEntryDialog> existingRaces, + public RaceColumnDialog(Collection> existingRaces, RaceColumnDTO raceInLeaderboard, StringMessages stringConstants, AsyncCallback> callback) { super(stringConstants.name(), null, stringConstants.ok(), stringConstants.cancel(), From d77053c8a05cbc014c58c9e61fa5cee006a1974a Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 16 May 2012 15:29:41 +0200 Subject: [PATCH 014/339] fixed storage for fleet-specific race identifiers in leaderboard persistence; fixed NPE --- .../persistence/impl/DomainObjectFactoryImpl.java | 13 +++++++------ .../persistence/impl/MongoObjectFactoryImpl.java | 2 +- .../gwt/ui/adminconsole/LeaderboardConfigPanel.java | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index 8169f2dcb41..5e2098c4bbf 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -123,7 +123,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { BasicDBObject query = new BasicDBObject(); query.put(FieldNames.LEADERBOARD_NAME.name(), name); for (DBObject o : leaderboardCollection.find(query)) { - result = loadFlexibleLeaderboard(o); + result = loadLeaderboard(o); } } catch (Throwable t) { // something went wrong during DB access; report, then use empty new wind track @@ -139,7 +139,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { Set result = new HashSet(); try { for (DBObject o : leaderboardCollection.find()) { - result.add(loadFlexibleLeaderboard(o)); + result.add(loadLeaderboard(o)); } } catch (Throwable t) { // something went wrong during DB access; report, then use empty new wind track @@ -149,7 +149,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { return result; } - private Leaderboard loadFlexibleLeaderboard(DBObject o) { + private Leaderboard loadLeaderboard(DBObject o) { SettableScoreCorrection scoreCorrection = new ScoreCorrectionImpl(); BasicDBList dbDiscardIndexResultsStartingWithHowManyRaces = (BasicDBList) o.get(FieldNames.LEADERBOARD_DISCARDING_THRESHOLDS.name()); int[] discardIndexResultsStartingWithHowManyRaces = new int[dbDiscardIndexResultsStartingWithHowManyRaces.size()]; @@ -172,10 +172,11 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { if (defaultFleet != null) { raceIdentifiers.put(defaultFleet.getName(), defaultFleetRaceIdentifier); } else { - raceIdentifiers.remove(null); // leaderboard has no default fleet; don't know what to do with default RaceIdentifier + // leaderboard has no default fleet; don't know what to do with default RaceIdentifier logger.warning("Discarding RaceIdentifier "+defaultFleetRaceIdentifier+" for default fleet for leaderboard "+result.getName()+ " because no default fleet was found in leaderboard"); } + raceIdentifiers.remove(null); } List fleets = new ArrayList(); for (String fleetName : raceIdentifiers.keySet()) { @@ -299,7 +300,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { for (Object object : dbLeaderboardIds) { ObjectId dbLeaderboardId = (ObjectId) object; DBObject dbLeaderboard = leaderboardCollection.findOne(dbLeaderboardId); - leaderboards.add(loadFlexibleLeaderboard(dbLeaderboard)); + leaderboards.add(loadLeaderboard(dbLeaderboard)); } return new LeaderboardGroupImpl(name, description, leaderboards); @@ -315,7 +316,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { BasicDBObject query = new BasicDBObject("$where", "function() { return db." + CollectionNames.LEADERBOARD_GROUPS.name() + ".find({ " + FieldNames.LEADERBOARD_GROUP_LEADERBOARDS.name() + ": this._id }).count() == 0; }"); for (DBObject o : leaderboardCollection.find(query)) { - result.add(loadFlexibleLeaderboard(o)); + result.add(loadLeaderboard(o)); } } catch (Throwable t) { logger.log(Level.SEVERE, "Error connecting to MongoDB, unable to load leaderboards."); diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java index 9d6567f817b..8d3f4fb69c4 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java @@ -103,7 +103,7 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { RaceIdentifier raceIdentifier = raceColumn.getRaceIdentifier(fleet); if (raceIdentifier != null) { DBObject raceIdentifierForFleet = new BasicDBObject(); - storeRaceIdentifier(dbObject, raceIdentifier); + storeRaceIdentifier(raceIdentifierForFleet, raceIdentifier); raceIdentifiersPerFleet.put(fleet.getName(), raceIdentifierForFleet); } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index c250c28d3c1..4a26f304934 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -587,7 +587,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye @Override public void onSuccess(Map regattaAndRaceNamesPerFleet) { - if (regattaAndRaceNamesPerFleet != null) { + if (regattaAndRaceNamesPerFleet != null && !regattaAndRaceNamesPerFleet.isEmpty()) { selectRaceInList(regattaAndRaceNamesPerFleet.get(selectedFleetName).getRegattaName(), regattaAndRaceNamesPerFleet.get(selectedFleetName).getRaceName()); } else { From 9ce04889d8c1f28b36d1c6fb6b4cf1e82708c5f9 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 16 May 2012 15:54:23 +0200 Subject: [PATCH 015/339] uses the single Default fleet when adding a new RaceColumn to a leaderboard through an Operation --- .../gwt/ui/adminconsole/LeaderboardConfigPanel.java | 2 -- .../sap/sailing/gwt/ui/server/SailingServiceImpl.java | 1 + .../com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java | 10 +++++++++- .../sailing/server/impl/RacingEventServiceImpl.java | 3 ++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index 4a26f304934..81018c11d6a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -687,7 +687,6 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye final String leaderboardName = getSelectedLeaderboardName(); final RaceColumnDialog raceDialog = new RaceColumnDialog(raceColumnAndFleetNameList.getList(), raceInLeaderboard, stringMessages, new AsyncCallback>() { - @Override public void onFailure(Throwable caught) { } @@ -696,7 +695,6 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye public void onSuccess(final Pair result) { sailingService.addColumnToLeaderboard(result.getA().getRaceColumnName(), leaderboardName, result.getA().isMedalRace(), new AsyncCallback() { - @Override public void onFailure(Throwable caught) { errorReporter.reportError("Error trying to add column " diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index b93622a6182..b6b2fd8362e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -256,6 +256,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS result.name = leaderboard.getName(); result.competitorDisplayNames = new HashMap(); for (RaceColumn raceColumn : leaderboard.getRaceColumns()) { + result.createEmptyRaceColumn(raceColumn.getName(), raceColumn.isMedalRace()); for (Fleet fleet : raceColumn.getFleets()) { RegattaAndRaceIdentifier raceIdentifier = null; TrackedRace trackedRace = raceColumn.getTrackedRace(fleet); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java index c61769eca6f..f24ed991567 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardDTO.java @@ -339,7 +339,8 @@ public class LeaderboardDTO implements IsSerializable { * @param fleetName * must not be null */ - public void createRaceColumnAt(String raceColumnName, String fleetName, boolean medalRace, RegattaAndRaceIdentifier trackedRaceIdentifier, int index) { + public void createRaceColumnAt(String raceColumnName, String fleetName, boolean medalRace, + RegattaAndRaceIdentifier trackedRaceIdentifier, int index) { assert fleetName != null; RaceColumnDTO raceInLeaderboardDTO = new RaceColumnDTO(); raceInLeaderboardDTO.setRaceColumnName(raceColumnName); @@ -348,6 +349,13 @@ public class LeaderboardDTO implements IsSerializable { raceInLeaderboardDTO.setRaceIdentifier(fleetName, trackedRaceIdentifier); races.add(index, raceInLeaderboardDTO); } + + public void createEmptyRaceColumn(String raceColumnName, boolean medalRace) { + RaceColumnDTO raceInLeaderboardDTO = new RaceColumnDTO(); + raceInLeaderboardDTO.setRaceColumnName(raceColumnName); + raceInLeaderboardDTO.setMedalRace(medalRace); + races.add(raceInLeaderboardDTO); + } public void removeRace(String raceColumnName) { races.remove(getRaceInLeaderboardByName(raceColumnName)); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 52d3e279907..f136449693e 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -215,7 +215,8 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen public RaceColumn addColumnToLeaderboard(String columnName, String leaderboardName, boolean medalRace) { Leaderboard leaderboard = getLeaderboardByName(leaderboardName); if (leaderboard != null && leaderboard instanceof FlexibleLeaderboard) { - RaceColumn result = ((FlexibleLeaderboard) leaderboard).addRaceColumn(columnName, medalRace); + // uses the default fleet as the single fleet for the new column + RaceColumn result = ((FlexibleLeaderboard) leaderboard).addRaceColumn(columnName, medalRace, leaderboard.getFleet(null)); updateStoredLeaderboard(leaderboard); return result; } else { From 52df4ed297ec266c280807edb48552b74d2cf95e Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 16 May 2012 15:58:09 +0200 Subject: [PATCH 016/339] avoid another NPE --- .../sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index 81018c11d6a..97b71e55aae 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -588,8 +588,10 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye @Override public void onSuccess(Map regattaAndRaceNamesPerFleet) { if (regattaAndRaceNamesPerFleet != null && !regattaAndRaceNamesPerFleet.isEmpty()) { - selectRaceInList(regattaAndRaceNamesPerFleet.get(selectedFleetName).getRegattaName(), - regattaAndRaceNamesPerFleet.get(selectedFleetName).getRaceName()); + RegattaAndRaceIdentifier raceIdentifier = regattaAndRaceNamesPerFleet.get(selectedFleetName); + if (raceIdentifier != null) { + selectRaceInList(raceIdentifier.getRegattaName(), raceIdentifier.getRaceName()); + } } else { trackedRacesListComposite.clearSelection(); } From 71076b0b7c1b4d6404ba70aedcb92ca79891ec5c Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Wed, 16 May 2012 16:24:57 +0200 Subject: [PATCH 017/339] change variabel name of FlowPanel from vp to fp --- .../java/com/sap/sailing/gwt/ui/client/TimePanel.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/TimePanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/TimePanel.java index 4087eb4a3f9..941d7437a53 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/TimePanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/TimePanel.java @@ -88,8 +88,8 @@ public class TimePanel extends FormPanel implements this.stringMessages = stringMessages; timer.addTimeListener(this); timer.addPlayStateListener(this); - FlowPanel vp = new FlowPanel(); - vp.setSize("100%", "100%"); + FlowPanel fp = new FlowPanel(); + fp.setSize("100%", "100%"); SimplePanel s = new SimplePanel(); s.getElement().getStyle().setMarginLeft(55, Unit.PX); @@ -130,14 +130,14 @@ public class TimePanel extends FormPanel implements } }); - vp.add(s); + fp.add(s); s.add(sliderBar); FlowPanel controlsPanel = new FlowPanel(); controlsPanel.setStyleName("timePanel-controls"); controlsPanel.setSize("100%", "25px"); - vp.add(controlsPanel); + fp.add(controlsPanel); // play button control FlowPanel playControlPanel = new FlowPanel(); @@ -267,7 +267,7 @@ public class TimePanel extends FormPanel implements settingsAnchor.setStyleName("timePanelSettings"); settingsAnchor.addClickHandler(new SettingsClickHandler(stringMessages)); controlsPanel.add(settingsAnchor); - setWidget(vp); + setWidget(fp); playStateChanged(timer.getPlayState(), timer.getPlayMode()); } From 9c3b69ccfccd4c801440a72b18c4f7266df1be24 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 18 May 2012 13:55:48 +0200 Subject: [PATCH 018/339] New Pause Icon --- .../ui/client/images/timeslider-pause-icon.png | Bin 603 -> 1294 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/client/images/timeslider-pause-icon.png b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/client/images/timeslider-pause-icon.png index d80442c7d0bf302f4c9c63c7da469af678699d2a..b982d6edda4eefd0789f4d342243937e09b9bfa8 100644 GIT binary patch literal 1294 zcmb7EZEO=|9KVIg%yhm)wm}2zxETWp?cKG#*Q`L-YoSWlr7Lsjn7dw|Zbx@7T%WF8 z5g9}XexO97GkySK448;AHG#yJD2XGAiDB9}+;B#jV0=YMrrCUbZd(T*2#J@wd!FZ? z|L^yIf1YY--dJ7bsKPL;I=o4Wp>+lNmfpS?{TFxs{w`XU!C*UVHBvAqTLAMXjRe5M zn%oUyKu-4WI0qUrY*9jux5M_xW>GOTmu%~}@|uaz7}mHxZ^}v0Ah!8Hp?q>zVmPp_Gw%*(7NfMQWNI*Q|C1#=vzqZmOM$_nUx>fsB#0 z6jYB?Lm7;6cWXnoBJxIzS}H1v+$$MMRs%W=OFkl-Rg+@SWoY

dI5)-eG|dNSZ-{Q<86F9Qpg_!Hlm9zqB=Ur`8{>vXDT`3|+1rJ- zM~8*M0Xmu%3ylSxd+bFFt7r;K{&;?T_&K`yEOqDp!=q>tE90x!+F|CN?*eMS)RCW->RMX>f?VrTGz5<--#EN^&P$IrTjDMmMsGZPCh{VI^~GE zS2&81y2;_+x}rZH9s~kYb1xF#9o@dWcB#@)JT-J7Kk{tN(>rI@eK>w0-Kc(c?DgH> z{+s%E`CFaE$!|&z?Ku8k=cHWvXli?5dgA+tLsmm{Ue|IAJo4pt70K0kJP!<7w0u4;2z=}_C1 z^s%w?;EOlDyfppE#dDv2HAB~?l+X7MUY@%4%ilk>4pd-$2kV5Di>x>88!8-ZmQFTx G?fnk}HpNr` delta 577 zcmV-H0>1r@3flxBiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzee*yhT zL_t(|+N@SRQ^G(Hy+E22P&i{j1H(Un-@(vGXKm|@KSi{)q}84h{|Ph{G8RyTZ_K;# z-E20S=#1XXnG0|8cK7XOWArp0-#X`BvYoj9U1_%O;_T1!&1jUgS}p(U<#GuYJV#L! z?&Vox`n+5&legE`M>x2WC_ty1_Rga zc0-gB8xDsqNfKAD*Fyl(Q7!`z)4}0zaJ${k8{v%2^pD454ud@x$fdL)e*-BIHb}PH ztvAA1YQNv_3z)7&Wev0gL?sLI%2{WRx;83oCm$a~bGJ&@Cink*T%DBu8Zp zWCrYYKFk)huwP{$vj7RSf3_rIjjSo~V;B8pSsXRXfu4x^-kPS?L^dU|jI4QYjdsdZ zsDU(OM7>_mO(v6|GhQNo5BmLnz^bw+)PP3%jg)gHj^o^{k>gosmvf*2In(90n3(k~ zwj>41=W4Ywi>zCY(OQ_68l2hsKnC~kvzh<5rK(M}WMxZW7*-Eo7Xl0b&MxAmo{Nlc P00000NkvXXu0mjfAT13f From cf004968fa97d58e05512bc356c27b3349e1a421 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 18 May 2012 13:56:27 +0200 Subject: [PATCH 019/339] New Play acyive Icon --- .../images/timeslider-play-active-icon.png | Bin 691 -> 1496 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/client/images/timeslider-play-active-icon.png b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/client/images/timeslider-play-active-icon.png index 44e7dccc73ce5bcb3ab5709c768995e9fa3d2f49..482e050add2823ca9366de688eb5017a3b4b4e2b 100644 GIT binary patch literal 1496 zcmeAS@N?(olHy`uVBq!ia0vp^vOp}s!3HGR;=b(xQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07?_hXLn2Bde0{8v^Kf6`()~Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M( zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}t-3#_`hBq$Z(46Le)Ln;eW^@CE2 z^Gl18f$@>14ATq@JNy=b6armiY~x;PsG{qAPrYUt=_Y~pBPZf;--GXPm5&`7-$pk5PGXJa!LS2Igr6!i-7lq{K=fI*rAS1sd zzc?emK*2fKOhLmpF*!32B%le39f)ULQj0RnQd8WD@^cly!E2R?#RUe&7Qn<~Zen0= zWMF1tXlUVVXyRt*WMOIn6tHx)RD$YFAvwtOfiBSpB@Cp50uutJJ`fY0?13D3#!1Zs z=9VI0w%E{7q{+a*#N+AW7*cU-&$RpAB7q{u_kTZk^X9}`F}FN;Vlq}bteE~G@&*5d ze+~DVS^hUpk`s1P(yHoJcp=Xbzi9crCIKJe=m|kJH?I_l$CN+&_u*c)uPQaCU?(@@|-i{C|lr=U%IL7d8UixrEh*M zS`QcUQ>*rK7oI#=AR_o^NmKmS$Uk=V$FJ|s*Vw&0P{i?A z;SRZ;yGQea+)In)4yCnLdtEs5jGJ9|s)I}7T7BQd?KWLm#bOil#HCdpFOcDUuakOW z%aaEiPe)x*+hF@o$X1Hkyl*Q^x01 zPlaw-XLl&>shGByPu%o8?khPF%D1(9N&g7qV=7@o>S6r*C%#y;>(NR?ft`-p2LPFOI9v z!`pa-XD#L0b@$NG_5FeGYP3Vn?W@-McFl0pFPSU9D|HeYveJ6>Oyb-BWy;+5SZUDL zv^CxD#ERLsj#>zrvwv-#BKf=ZUd=0?`}+!?$$17^=PoeY_BSu}|IvjE%nZyc+Y{T} R*^YwBT2EI$mvv4FO#tjMEC~Pr delta 665 zcmV;K0%rZ#3$q0wiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzee*#rW zL_t(|+N@SRiy}b~Eyqz1MR0WkLo*Xa{0oAZiMwEMCMu=}{*>F@#9%WcgFOuV1ABpJ zU}j(>CSq{1fhd0KO*L0TO;3-r3tLdu=ybo=RrR`C{rTzX2LQYp9)Rz)t>F#b_;`7E zdpToIv?AMo#h>!vC1}x(uX>GO!$PnT>$^ zdc6j}-w(R3TR=5UGoRf^1i|HU0Upoivmlty=g{x>p-?D5BoYz8L_p7OB$~W(1V^IN z=>&(vL6EfDZ5WTou;1_Dcsz=CG>*Gm0Sf^Qz=)I45oovD!D_XFZnq1)e_jtZn~fkw zR}sksx~ld(10*0DjYcq=&7f2&36<^a9>-Cyy<0aFm_T;pBbSw!HaL1ChS}hn3 zhoW5Ql&xH{n;Fog?RKkdUZ>N6$z%fMav4IQkfUr(6>)HKT%8jE+F&q%>2wOsW)otu zm`%ox8SpH44`jo-XR}!de}}{790bQm+1N7Rib4Wxw90T_)a!LfCX<$$%Nx)!10upk z%a%%|pjNAimCLFjC0S%D_kfdNqj^b+#UkYMdGPss;yZ!!vhZw_8K@KyjYgr-Xh0&7 z5a6hPB;ZGed^oxikQy?X3{U;{PX^9`P*`9MPK-bfrnW0p8x{@)=OoMLLa)A00000NkvXXu0mjf9_%px From 017ef89401d891d81e88201064bf31446f63856f Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 18 May 2012 13:56:53 +0200 Subject: [PATCH 020/339] New Playstate Replay Mode Icon --- .../timeslider-playstate-live-inactive.png | Bin 422 -> 1556 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/client/images/timeslider-playstate-live-inactive.png b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/client/images/timeslider-playstate-live-inactive.png index 460097373c05347ef052f5f034c25c843912d2bd..ecf68c4a655be8356556404ea651ebb587855442 100644 GIT binary patch literal 1556 zcmb7EeM}Q)81I;?Uohi9r{LmwfX)PZz3bQAL50!}T0#Na%FsFI(H?S?yX&rpZBe7s z={9ju=Y)v@GZ2SyB2zKw7%-R^b)d_#%n^r}HFJLA;%3#3+&mXn`af2WX>Ny%3z}XZh`TM z49`IlBUQ+kiFz0)eVhX8v)i8#bN-P+fs!FX%7>r|CBm{&Uc=sg(Lq0z@mz1eE99dQ z2kqy}1UKkMQT!+v)b76nNsd4bnJX}$DO9P6cbBm=C)!MUxU7uvkY<%yrzI>FP(RdU zL_zKr+>9CwDzyRE>6DsLf@gt%QsI%XW(`K*8UvxjK^x2{t~27e#bi{PH9Fj)Lr1YT z&M#7&o0ft~Smr5~_)jcp6lhB11sBhkj;=W((o zT40vb9*e-U&~SN4<~a(Kgrr)hR_ZXN7DrLsh^j4U2Cl(@fiM&B2-fqzONIa?h%^|_ z49chpOrNxTGWKBeSU3S#8*t?yM7Vj1d$ zw1WpPe0gh74DkbP_uij5)LXOTQOBk8EBboF0&yUFLAt(lebRSbRT;Z)>Thh`fn`?@ z;xpDp^#%4R$DbJ-zu`0$eLrz_)q;E7W%!K3<|Ec~6Ki}ab!TSUUO8!KjablkANlm% zDd!^MjPQza-KLh<$RcCp-A>If>(ZldP8;aVjXuuda<+NNiJb14t#R9%dbgTHL8t|x-w#2AY+C%nJORv%jZ^64ey!fk&we9={1su~(g=UgNIs*&7v3_yeam^qh}RvaBj;o_K7jGo!8| z&s%-j>RNYg&BSAwn%Ijgv&T$lZF72?&m+ehA2pnsv38ZRA#^uB@=A-hPS@>t5XfqI zNHwmje|Xe#?{Zw*8s@qj8~Cg$zvs_?u677>lPa;TQ|FDV8{GBaqwq0(QSLwnBKOxi z?@}M#DsInoUljbv!3z~%aU5^vdBzNQQr~P+ zN(}1fc|NM{l|nzAUCwnFhMOpgf5bSB2u;&;60|H!*tRXovb2k$xKT@c@G=Mj(KHQ$ z5T`)GAbj6P1AYiZpzAs@3U|#@i4TJ#D zbzSTqfG`R73I6f7*JcUa0stVt3O~KrySyz2->RxYkYj5VakH~;_u From 3a9d0be86b06bdd6bb8d70d1bce861a25f19ef86 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 18 May 2012 13:57:00 +0200 Subject: [PATCH 021/339] Rename 'Replay' to 'Replay Mode' --- .../com/sap/sailing/gwt/ui/client/StringMessages.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index 0880338938b..cd12d9a1a3a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -19,7 +19,7 @@ time=Time playSpeed=Play speed playSpeedHelp=Use "1" for regular play-back speed, "2" for double-speed playback and so on playModeLive=Live -playModeReplay=Replay +playModeReplay=Replay Mode timeDelay=Delay timeDelayHelp=Leave empty to replay at arbitrary times; enter seconds (e.g., "60" for one minute or "0" for none) of delay before live data feed speedInKnots=Speed (kn) From fa583842de20970cff1fc8c51ea2d884e8be3f4e Mon Sep 17 00:00:00 2001 From: fmittag Date: Fri, 18 May 2012 17:12:03 +0200 Subject: [PATCH 022/339] update highcharts Gwt from version 1.1.3 to 1.3.0 Includes also the checkbox position fix in BaseChart.java --- .../META-INF/MANIFEST.MF | 10 +- .../moxieapps/gwt/highcharts/client/Axis.java | 147 ++++++++++++- .../gwt/highcharts/client/BaseChart.java | 198 ++++++++++++++---- .../gwt/highcharts/client/Legend.java | 32 ++- .../gwt/highcharts/client/Point.java | 43 +++- .../gwt/highcharts/client/Series.java | 98 ++++++++- .../client/labels/BaseDataLabels.java | 90 ++++++++ .../highcharts/client/plotOptions/Marker.java | 12 +- 8 files changed, 564 insertions(+), 66 deletions(-) diff --git a/java/org.moxieapps.gwt.highcharts/META-INF/MANIFEST.MF b/java/org.moxieapps.gwt.highcharts/META-INF/MANIFEST.MF index 9a461463a56..128904b0118 100755 --- a/java/org.moxieapps.gwt.highcharts/META-INF/MANIFEST.MF +++ b/java/org.moxieapps.gwt.highcharts/META-INF/MANIFEST.MF @@ -2,21 +2,21 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Moxie Apps GWT Highcharts Bundle-SymbolicName: org.moxieapps.gwt.highcharts -Bundle-Version: 1.1.4.qualifier +Bundle-Version: 1.3.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Export-Package: org.moxieapps.gwt.highcharts.client.plotOptions;uses:="o rg.moxieapps.gwt.highcharts.client,com.google.gwt.json.client,org.moxie apps.gwt.highcharts.client.events,org.moxieapps.gwt.highcharts.client.l - abels";version="1.1.3",org.moxieapps.gwt.highcharts;version="1.1.3",org + abels";version="1.3.0",org.moxieapps.gwt.highcharts;version="1.3.0",org .moxieapps.gwt.highcharts.client;uses:="com.google.gwt.core.client,com. google.gwt.dom.client,com.google.gwt.json.client,org.moxieapps.gwt.high charts.client.plotOptions,com.google.gwt.user.client,org.moxieapps.gwt. highcharts.client.events,org.moxieapps.gwt.highcharts.client.labels,com - .google.gwt.user.client.ui";version="1.1.3",org.moxieapps.gwt.highchart + .google.gwt.user.client.ui";version="1.3.0",org.moxieapps.gwt.highchart s.client.events;uses:="com.google.gwt.core.client,com.google.gwt.dom.cl - ient,org.moxieapps.gwt.highcharts.client";version="1.1.3",org.moxieapps + ient,org.moxieapps.gwt.highcharts.client";version="1.3.0",org.moxieapps .gwt.highcharts.client.labels;uses:="com.google.gwt.core.client,org.mox - ieapps.gwt.highcharts.client,com.google.gwt.json.client";version="1.1.3 + ieapps.gwt.highcharts.client,com.google.gwt.json.client";version="1.3.0 " Import-Package: com.google.gwt.core.client,com.google.gwt.dom.client,com .google.gwt.json.client,com.google.gwt.user.client,com.google.gwt.user. diff --git a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Axis.java b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Axis.java index a0e2cbccc8a..1918e5a0795 100755 --- a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Axis.java +++ b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Axis.java @@ -16,6 +16,8 @@ package org.moxieapps.gwt.highcharts.client; +import org.moxieapps.gwt.highcharts.client.events.AxisSetExtremesEventHandler; + import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.dom.client.Document; import com.google.gwt.json.client.JSONObject; @@ -46,6 +48,12 @@ public abstract class Axis extends Configurable { */ LINEAR("linear"), + /** + * Scale the axis tick values logarithmically instead of linearly. + * @since 1.2.0 + */ + LOGARITHMIC("logarithmic"), + /** * In a datetime axis, the numbers are given in milliseconds, and tick * marks are placed on appropriate values like full hours or days. @@ -124,6 +132,8 @@ public abstract class Axis extends Configurable { // The unique id for this axis, that we can use to access the native axis instance later if changes // come into the axis after it is rendered private String id; + + private AxisSetExtremesEventHandler axisSetExtremesEventHandler; /** * Use the {@link Chart#getXAxis()} or {@link Chart#getYAxis()} methods to get access @@ -136,6 +146,36 @@ public abstract class Axis extends Configurable { id = Document.get().createUniqueId(); setOption("id", id); } + + /** + * Set a callback handler that will be invoked whenever the minimum and maximum is set for the axis, either by calling the + * {@link #setExtremes(Number, Number)} method or by selecting an area in the chart. + * + * Additional information about the new extremes value (such as the new minimum and maximum) can be + * found via the {@link org.moxieapps.gwt.highcharts.client.events.AxisSetExtremesEvent} instance + * that is passed to the handler's {@link org.moxieapps.gwt.highcharts.client.events.AxisSetExtremesEventHandler#onSetExtremes(org.moxieapps.gwt.highcharts.client.events.AxisSetExtremesEvent)} method. + * + * @param axisSetExtremesEventHandler The handler that should be invoked whenever a set extremes event occurs. + * @return A reference to this {@link Axis} instance for convenient method chaining. + * + * @since 1.3.0 + */ + public T setAxisSetExtremesEventHandler(AxisSetExtremesEventHandler axisSetExtremesEventHandler) { + this.axisSetExtremesEventHandler = axisSetExtremesEventHandler; + return getThis(); + } + + /** + * Returns the custom event handler that has been set on the axis, or null if no event + * handler has been set. + * + * @return The custom event handler that has been applied, or null if it has not been set. + * + * @since 1.3.0 + */ + public AxisSetExtremesEventHandler getAxisSetExtremesEventHandler() { + return this.axisSetExtremesEventHandler; + } /** * Create a new plot line that can be configured, and then added to this axis instance via the @@ -302,10 +342,10 @@ public abstract class Axis extends Configurable { if (nativeAxis != null) { if (animation == null || animation.getOptions() == null) { final boolean animationFlag = animation != null; - nativeSetExtremes(nativeAxis, min, max, redraw, animationFlag); + nativeSetExtremes(nativeAxis, min.doubleValue(), max.doubleValue(), redraw, animationFlag); } else { final JavaScriptObject animationOptions = animation.getOptions().getJavaScriptObject(); - nativeSetExtremes(nativeAxis, min, max, redraw, animationOptions); + nativeSetExtremes(nativeAxis, min.doubleValue(), max.doubleValue(), redraw, animationOptions); } } } else { @@ -353,6 +393,10 @@ public abstract class Axis extends Configurable { protected JavaScriptObject getNativeAxis() { return chart.get(this.id); } + + /* package */ String getId() { + return this.id; + } // Save some typing in the getExtremes() method private Number getNumberFromJSONObject(JSONObject jsonObject, String key) { @@ -513,7 +557,7 @@ public abstract class Axis extends Configurable { private Number min; /** - * Convenience method for setting the 'max' option for the axis. Equivalent to: + * Convenience method for setting the 'min' option for the axis. Equivalent to: *


      *     axis.setOption("min", 10);
      * 
@@ -525,7 +569,7 @@ public abstract class Axis extends Configurable { * To change the min/max value of the chart after render time use the {@link #setExtremes(Number, Number)} * method instead. * - * @param min The maximum value of the axis, or null to automatically calculate the maximum. + * @param min The minimum value of the axis, or null to automatically calculate the minimum. * @return A reference to this {@link Axis} instance for convenient method chaining. */ public T setMin(Number min) { @@ -925,10 +969,16 @@ public abstract class Axis extends Configurable { } /** - * Convenience method for setting the 'title/text' axis option. Equivalent to: + * Convenience method for setting the 'title/text' axis option, before or after + * the chart is rendered. Before the chart is rendered this is equivalent to: *

      *     axis.setOption("/title/text", "A Fine Axis Indeed");
      * 
+ * After the chart is rendered this is equivalent to a direct JS call like + *

+     *     Axis.setTitle({text: "A Fine Axis Indeed"});
+     * 
+ * * The actual text of the axis title. It can contain basic HTML text markup like * <b>, <i> and spans with style. Defaults to null for the x-axis * and "Y-values" for the y-axis. @@ -942,15 +992,56 @@ public abstract class Axis extends Configurable { * @return A reference to this {@link Axis} instance for convenient method chaining. */ public T setAxisTitleText(String title) { - return this.setOption("/title/text", title); + return this.setAxisTitleText(title, true); } /** - * Convenience method for setting the 'title/text' axis option. Equivalent to: + * Convenience method for setting the 'title/text' axis option, before or after + * the chart is rendered (explicitly controlling whether or not the new title will + * be immediately drawn in the case of being called after the chart is rendered). + * Before the chart is rendered this is equivalent to: + *

+     *     axis.setOption("/title/text", "A Fine Axis Indeed");
+     * 
+ * After the chart is rendered this is equivalent to a JS call like: + *

+     *     Axis.setTitle({text: "A Fine Axis Indeed"}, true);
+     * 
+ * + * The actual text of the axis title. It can contain basic HTML text markup like + * <b>, <i> and spans with style. Defaults to null for the x-axis + * and "Y-values" for the y-axis. + *

+ * Note that for more control over the title, utilize the {@link #setAxisTitle(AxisTitle)} + * method instead. + *

+ * Also note that to hide an axis title completely, simply set the text to null. + * + * @param title Sets the title of axis, or null to hide the title. + * @param redraw Whether to redraw the chart now or hold until the next {@link org.moxieapps.gwt.highcharts.client.BaseChart#redraw()} + * @return A reference to this {@link Axis} instance for convenient method chaining. + * @since 1.2.0 + */ + public T setAxisTitleText(String title, boolean redraw) { + if(getNativeAxis() != null) { + this.setAxisTitle(new AxisTitle().setText(title), redraw); + } else { + this.setOption("/title/text", title); + } + return getThis(); + } + + /** + * Convenience method for setting the 'title/text' axis option, before or after + * the chart is rendered. Before the chart is rendered this is equivalent to: *


      *     axis.setOption("/title/text", "A Fine Axis Indeed");
      *     axis.setOption("/title/align", AxisTitle.Align.HIGH);
      * 
+ * After the chart is rendered this is equivalent to a JS call like: + *

+     *     Axis.setTitle({text: "A Fine Axis Indeed", align: "high"});
+     * 
*

* Note that if you call this method it will overwrite any existing * settings that have already been applied to the title (e.g. if you @@ -964,6 +1055,40 @@ public abstract class Axis extends Configurable { * @return A reference to this {@link Axis} instance for convenient method chaining. */ public T setAxisTitle(AxisTitle title) { + return this.setAxisTitle(title, true); + } + + /** + * Convenience method for setting the 'title/text' axis option, before or after + * the chart is rendered (explicitly controlling whether or not the new title will + * be immediately drawn in the case of being called after the chart is rendered). + * Before the chart is rendered this is equivalent to: + *


+     *     axis.setOption("/title/text", "A Fine Axis Indeed");
+     *     axis.setOption("/title/align", AxisTitle.Align.HIGH);
+     * 
+ * After the chart is rendered this is equivalent to a JS call like: + *

+     *     Axis.setTitle({text: "A Fine Axis Indeed", align: "high"});
+     * 
+ *

+ * Note that if you call this method it will overwrite any existing + * settings that have already been applied to the title (e.g. if you + * had previously called the {@link #setAxisTitleText(String)} method that change + * will get overwritten by this call.) + *

+ * Note that if you only want to change the text of the axis, you can simply + * use the {@link #setAxisTitleText(String)} method instead. + * + * @param title Sets the axis title options, or null to hide the title. + * @param redraw Whether to redraw the chart now or hold until the next {@link org.moxieapps.gwt.highcharts.client.BaseChart#redraw()} + * @return A reference to this {@link Axis} instance for convenient method chaining. + * @since 1.2.0 + */ + public T setAxisTitle(AxisTitle title, boolean redraw) { + if(getNativeAxis() != null) { + nativeSetTitle(getNativeAxis(), title != null ? title.getOptions().getJavaScriptObject() : null, redraw); + } return this.setOption("/title", title != null ? title.getOptions() : null); } @@ -1065,11 +1190,11 @@ public abstract class Axis extends Configurable { return instance; } - private static native void nativeSetExtremes(JavaScriptObject axis, Number min, Number max, boolean redraw, boolean animation) /*-{ + private static native void nativeSetExtremes(JavaScriptObject axis, double min, double max, boolean redraw, boolean animation) /*-{ axis.setExtremes(min, max, redraw, animation); }-*/; - private static native void nativeSetExtremes(JavaScriptObject axis, Number min, Number max, boolean redraw, JavaScriptObject animationOptions) /*-{ + private static native void nativeSetExtremes(JavaScriptObject axis, double min, double max, boolean redraw, JavaScriptObject animationOptions) /*-{ axis.setExtremes(min, max, redraw, animationOptions); }-*/; @@ -1092,4 +1217,8 @@ public abstract class Axis extends Configurable { private native void nativeRemovePlotBand(JavaScriptObject axis, String id)/*-{ axis.removePlotBand(id); }-*/; + + private native void nativeSetTitle(JavaScriptObject axis, JavaScriptObject titleOptions, boolean redraw)/*-{ + axis.setTitle(titleOptions, redraw); + }-*/; } diff --git a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/BaseChart.java b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/BaseChart.java index e33d6a5cf75..2084705329c 100644 --- a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/BaseChart.java +++ b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/BaseChart.java @@ -26,6 +26,7 @@ import com.google.gwt.user.client.ui.Widget; import org.moxieapps.gwt.highcharts.client.events.*; import org.moxieapps.gwt.highcharts.client.labels.AxisLabelsData; import org.moxieapps.gwt.highcharts.client.labels.DataLabelsData; +import org.moxieapps.gwt.highcharts.client.labels.LegendLabelsData; import org.moxieapps.gwt.highcharts.client.labels.StackLabelsData; import org.moxieapps.gwt.highcharts.client.plotOptions.*; @@ -485,6 +486,9 @@ public abstract class BaseChart extends Widget { return this.setOption("/labels/style", style != null ? style.getOptions() : null); } + // We need to maintain a local reference to legend to deal with the formatter function + private Legend legend; + /** * Convenience method for setting the 'legend' options of the chart. Equivalent to: *


@@ -498,6 +502,7 @@ public abstract class BaseChart extends Widget {
      * @return A reference to this {@link BaseChart} instance for convenient method chaining.
      */
     public T setLegend(Legend legend) {
+        this.legend = legend;
         return this.setOption("/legend", legend != null ? legend.getOptions() : null);
     }
 
@@ -1415,8 +1420,8 @@ public abstract class BaseChart extends Widget {
      * @param persistent 'true' to retain the data associated with the points in the series in the chart locally
      *                   within a GWT managed Java array (as well as within the DOM via the core Highcharts JS library).
      *                   Defaults to 'false' for memory savings.
-     * @since 1.2.0
      * @return A reference to this {@link BaseChart} instance for convenient method chaining.
+     * @since 1.2.0
      */
     public T setPersistent(boolean persistent) {
         this.persistent = persistent;
@@ -1709,7 +1714,7 @@ public abstract class BaseChart extends Widget {
         }
         return returnThis();
     }
-
+    
     // Purposefully using a specific type instead of the generic List interface for enhanced GWT performance
     private ArrayList xAxes = new ArrayList();
     private ArrayList yAxes = new ArrayList();
@@ -1771,6 +1776,30 @@ public abstract class BaseChart extends Widget {
         }
         return yAxes.get(axisIndex);
     }
+    
+    /**
+     * Get a axis by id
+     * @param axisId the id of the Axis
+     * @return the Axis instance, may be XAxis or YAxis, null if not found
+     */
+    private Axis getAxis(String axisId) {
+        if (axisId == null) {
+            return null;
+        }
+        for (XAxis xAxis : xAxes) {
+            if (axisId.equals(xAxis.getId())) {
+                return xAxis;
+            }
+        }
+        
+        for (YAxis yAxis : yAxes) {
+            if (axisId.equals(yAxis.getId())) {
+                return yAxis;
+            }
+        }
+        
+        return null;
+    }
 
     /**
      * Redraw the chart after changes have been done to the data or axis extremes. All methods for
@@ -1808,18 +1837,28 @@ public abstract class BaseChart extends Widget {
     protected void onLoad() {
 
         // Build some arrays that we can pass into the JS function so that it knows how many custom callback functions it needs to wire
-        // up on the client side for formatter functions.
+        // up on the client side for formatter functions and event handlers.
         JSONArray xAxisLabelFormatters = new JSONArray();
+        JSONArray xAxisEventHandlers = new JSONArray();
         for (int i = 0, xAxesSize = xAxes.size(); i < xAxesSize; i++) {
             XAxis xAxis = xAxes.get(i);
             xAxisLabelFormatters.set(i, JSONBoolean.getInstance(xAxis.getLabels() != null && xAxis.getLabels().getFormatter() != null));
+            
+            JSONObject axisEventHandlers = new JSONObject();
+            axisEventHandlers.put("setExtremes", JSONBoolean.getInstance(xAxis.getAxisSetExtremesEventHandler() != null));
+            xAxisEventHandlers.set(i, axisEventHandlers);
         }
         JSONArray yAxisLabelFormatters = new JSONArray();
         JSONArray yAxisStackLabelFormatters = new JSONArray();
+        JSONArray yAxisEventHandlers = new JSONArray();
         for (int i = 0, yAxesSize = yAxes.size(); i < yAxesSize; i++) {
             YAxis yAxis = yAxes.get(i);
             yAxisLabelFormatters.set(i, JSONBoolean.getInstance(yAxis.getLabels() != null && yAxis.getLabels().getFormatter() != null));
             yAxisStackLabelFormatters.set(i, JSONBoolean.getInstance(yAxis.getStackLabels() != null && yAxis.getStackLabels().getFormatter() != null));
+                        
+            JSONObject axisEventHandlers = new JSONObject();
+            axisEventHandlers.put("setExtremes", JSONBoolean.getInstance(yAxis.getAxisSetExtremesEventHandler() != null));
+            yAxisEventHandlers.set(i, axisEventHandlers);
         }
 
         // Build a similar object for dealing with all of the data label formatters that may be set on the plot options
@@ -1851,7 +1890,7 @@ public abstract class BaseChart extends Widget {
         // And two more for events that have been applied to the series (or the points within the series)
         JSONObject seriesEventHandlers = new JSONObject();
         JSONObject pointEventHandlers = new JSONObject();
-
+        
         if (seriesPlotOptions != null) {
 
             // Series event
@@ -1912,9 +1951,12 @@ public abstract class BaseChart extends Widget {
             getChartTypeName(),
             createNativeOptions(),
             toolTip != null && toolTip.getToolTipFormatter() != null,
+            legend != null && legend.getLabelsFormatter() != null,
             chartEventHandlers.getJavaScriptObject(),
             seriesEventHandlers.getJavaScriptObject(),
             pointEventHandlers.getJavaScriptObject(),
+            xAxisEventHandlers.getJavaScriptObject(),
+            yAxisEventHandlers.getJavaScriptObject(),
             xAxisLabelFormatters.getJavaScriptObject(),
             yAxisLabelFormatters.getJavaScriptObject(),
             yAxisStackLabelFormatters.getJavaScriptObject(),
@@ -1932,22 +1974,6 @@ public abstract class BaseChart extends Widget {
 
     }
 
-    /**
-     * Fixing a bug currently in the base Highcharts implementation regarding the placement of the checkbox in the legend.
-     * Requires the symbol padding (see {@link Legend#setSymbolPadding(Number)}) to be set to 20. Invoked
-     * whenever a series is added / displayed in a rendered chart.

- * - * The implementation moves the legend item text 15px to the left, using the space made by setting the symbol - * padding to 20px; the checkbox is moved 18px to the left with the top margin set to 0px. - */ - private static native JavaScriptObject nativeAdjustCheckboxPosition(JavaScriptObject series) /*-{ - if (series.legendItem && series.checkbox) { - series.legendItem.translate(-15, 0); - series.checkbox.style.marginLeft = '-18px' - series.checkbox.style.marginTop = '0px' - } - }-*/; - /** * To be overridden in a sub class to return the JS type name of the chart instance that * should be created when the chart is rendered. E.g. "Chart", "StockChart", etc. @@ -2065,7 +2091,7 @@ public abstract class BaseChart extends Widget { return JSONNull.getInstance(); } - private static void copyPointsToJSONArray(Point[] points, JSONArray jsonArray) { + private void copyPointsToJSONArray(Point[] points, JSONArray jsonArray) { for (int i = 0, pointsLength = points.length; i < pointsLength; i++) { final Point point = points[i]; jsonArray.set(i, convertPointToJSON(point)); @@ -2073,14 +2099,20 @@ public abstract class BaseChart extends Widget { } // Purposefully package scope so we can get to this method from the Series and Point classes as well - static JSONValue convertPointToJSON(Point point) { + JSONValue convertPointToJSON(Point point) { JSONObject options = point.getOptions(); if (options != null) { - return addPointScalarValues(point, options); + addPointScalarValues(point, options); + return addPointId(point, options); } else if(point.hasNativeProperties()) { options = new JSONObject(); addPointScalarValues(point, options); + addPointId(point, options); return Point.addPointNativeProperties(point, options); + } else if(isPersistent()) { + options = new JSONObject(); + addPointScalarValues(point, options); + return addPointId(point, options); } else if (point.getX() != null) { JSONArray jsonArray = new JSONArray(); jsonArray.set(0, new JSONNumber(point.getX().doubleValue())); @@ -2104,6 +2136,19 @@ public abstract class BaseChart extends Widget { } } + // Purposefully package scope + JSONValue addPointId(Point point, JSONObject options) { + if (isPersistent()) { + String id = point.getId(); + if(id == null) { + id = Document.get().createUniqueId(); + point.setId(id); + } + options.put("id", new JSONString(id)); + } + return options; + } + // Purposefully package scope static JSONValue addPointScalarValues(Point point, JSONObject options) { if (point.getX() != null) { @@ -2141,9 +2186,12 @@ public abstract class BaseChart extends Widget { private native JavaScriptObject nativeRenderChart(String chartTypeName, JavaScriptObject options, boolean toolTipFormatterFlag, + boolean legendLabelsFormatterFlag, JavaScriptObject chartEventHandlerFlags, JavaScriptObject seriesEventHandlerFlags, JavaScriptObject pointEventHandlerFlags, + JavaScriptObject xAxisEventHandlerFlags, + JavaScriptObject yAxisEventHandlerFlags, JavaScriptObject xAxisLabelFormatterFlags, JavaScriptObject yAxisLabelFormatterFlags, JavaScriptObject yAxisStackLabelFormatterFlags, @@ -2189,6 +2237,32 @@ public abstract class BaseChart extends Widget { options.plotOptions.series.point.events[type3].type = type3; } } + + // Add in GWT interceptor callback functions for the various X axis event handlers + for (i = 0; i < xAxisEventHandlerFlags.length; i++) { + if (!xAxisEventHandlerFlags[i]) continue; + var xAxisA = xAxisEventHandlerFlags.length == 1 ? options.xAxis : options.xAxis[i]; + xAxisA.events = xAxisA.events || {}; + for (var type4 in xAxisEventHandlerFlags[i]) { + xAxisA.events[type4] = function(e) { + return self.@org.moxieapps.gwt.highcharts.client.BaseChart::axisEventCallback(Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;Ljava/lang/String;)(this.options.id, e, arguments.callee.type); + }; + xAxisA.events[type4].type = type4; + } + } + + // Add in GWT interceptor callback functions for the various Y axis event handlers + for (i = 0; i < yAxisEventHandlerFlags.length; i++) { + if (!yAxisEventHandlerFlags[i]) continue; + var yAxisA = yAxisEventHandlerFlags.length == 1 ? options.yAxis : options.yAxis[i]; + yAxisA.events = yAxisA.events || {}; + for (var type5 in yAxisEventHandlerFlags[i]) { + yAxisA.events[type5] = function(e) { + return self.@org.moxieapps.gwt.highcharts.client.BaseChart::axisEventCallback(Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;Ljava/lang/String;)(this.options.id, e, arguments.callee.type); + }; + yAxisA.events[type5].type = type5; + } + } // Add in GWT interceptor callback functions for the various formatters so that we can move from // the native JS world back to the Java world... @@ -2202,47 +2276,57 @@ public abstract class BaseChart extends Widget { return result; }; } + if (legendLabelsFormatterFlag) { + options.legend = options.legend || {}; + options.legend.labelFormatter = function() { + var result = self.@org.moxieapps.gwt.highcharts.client.BaseChart::legendLabelsFormatterCallback(Lcom/google/gwt/core/client/JavaScriptObject;)(this); + if (result == null) { + return false; + } + return result; + }; + } // X axis label formatters for (i = 0; i < xAxisLabelFormatterFlags.length; i++) { if (!xAxisLabelFormatterFlags[i]) continue; - var xAxis = xAxisLabelFormatterFlags.length == 1 ? options.xAxis : options.xAxis[i]; - xAxis.labels = xAxis.labels || {}; - xAxis.labels.formatter = function() { + var xAxisB = xAxisLabelFormatterFlags.length == 1 ? options.xAxis : options.xAxis[i]; + xAxisB.labels = xAxisB.labels || {}; + xAxisB.labels.formatter = function() { return self.@org.moxieapps.gwt.highcharts.client.BaseChart::xAxisLabelFormatterCallback(Lcom/google/gwt/core/client/JavaScriptObject;I)(this, arguments.callee.index); }; - xAxis.labels.formatter.index = i; + xAxisB.labels.formatter.index = i; } // Y axis label formatters for (i = 0; i < yAxisLabelFormatterFlags.length && i < yAxisStackLabelFormatterFlags.length; i++) { - var yAxis = yAxisLabelFormatterFlags.length == 1 ? options.yAxis : options.yAxis[i]; + var yAxisB = yAxisLabelFormatterFlags.length == 1 ? options.yAxis : options.yAxis[i]; if (yAxisLabelFormatterFlags[i]) { - yAxis.labels = yAxis.labels || {}; - yAxis.labels.formatter = function() { + yAxisB.labels = yAxisB.labels || {}; + yAxisB.labels.formatter = function() { return self.@org.moxieapps.gwt.highcharts.client.BaseChart::yAxisLabelFormatterCallback(Lcom/google/gwt/core/client/JavaScriptObject;I)(this, arguments.callee.index); }; - yAxis.labels.formatter.index = i; + yAxisB.labels.formatter.index = i; } if (yAxisStackLabelFormatterFlags[i]) { - yAxis.stackLabels = yAxis.stackLabels || {}; - yAxis.stackLabels.formatter = function() { + yAxisB.stackLabels = yAxisB.stackLabels || {}; + yAxisB.stackLabels.formatter = function() { return self.@org.moxieapps.gwt.highcharts.client.BaseChart::yAxisStackLabelFormatterCallback(Lcom/google/gwt/core/client/JavaScriptObject;I)(this, arguments.callee.index); }; - yAxis.stackLabels.formatter.index = i; + yAxisB.stackLabels.formatter.index = i; } } // Plot options data label formatters - for (var type4 in plotOptionsLabelsFormatterFlags) { - if (type4.indexOf("gwt") < 0 && plotOptionsLabelsFormatterFlags[type4]) { + for (var type6 in plotOptionsLabelsFormatterFlags) { + if (type6.indexOf("gwt") < 0 && plotOptionsLabelsFormatterFlags[type6]) { options.plotOptions = options.plotOptions || {}; - options.plotOptions[type4] = options.plotOptions[type4] || {}; - options.plotOptions[type4].dataLabels = options.plotOptions[type4].dataLabels || {}; - options.plotOptions[type4].dataLabels.formatter = function() { + options.plotOptions[type6] = options.plotOptions[type6] || {}; + options.plotOptions[type6].dataLabels = options.plotOptions[type6].dataLabels || {}; + options.plotOptions[type6].dataLabels.formatter = function() { return self.@org.moxieapps.gwt.highcharts.client.BaseChart::plotOptionsLabelsFormatterCallback(Lcom/google/gwt/core/client/JavaScriptObject;Ljava/lang/String;)(this, arguments.callee.type); }; - options.plotOptions[type4].dataLabels.formatter.type = type4; + options.plotOptions[type6].dataLabels.formatter.type = type6; } } @@ -2316,6 +2400,16 @@ public abstract class BaseChart extends Widget { } return true; } + + @SuppressWarnings({"UnusedDeclaration"}) + private boolean axisEventCallback(String axisId, JavaScriptObject nativeEvent, String eventType) { + Axis axis = getAxis(axisId); + //noinspection SimplifiableIfStatement + if ("setExtremes".equals(eventType) && axis != null && axis.getAxisSetExtremesEventHandler() != null) { + return axis.getAxisSetExtremesEventHandler().onSetExtremes(new AxisSetExtremesEvent(nativeEvent, axis)); + } + return true; + } @SuppressWarnings({"UnusedDeclaration"}) private String toolTipFormatterCallback(JavaScriptObject nativeData) { @@ -2325,6 +2419,14 @@ public abstract class BaseChart extends Widget { return toolTip.getToolTipFormatter().format(new ToolTipData(nativeData)); } + @SuppressWarnings({"UnusedDeclaration"}) + private String legendLabelsFormatterCallback(JavaScriptObject nativeData) { + if (legend == null || legend.getLabelsFormatter() == null) { + return null; + } + return legend.getLabelsFormatter().format(new LegendLabelsData(nativeData)); + } + @SuppressWarnings({"UnusedDeclaration"}) private String xAxisLabelFormatterCallback(JavaScriptObject nativeData, int axisIndex) { if (xAxes == null || xAxes.size() <= axisIndex || @@ -2385,6 +2487,22 @@ public abstract class BaseChart extends Widget { return seriesList.get(seriesIndex).getPlotOptions().getDataLabels().getFormatter().format(new DataLabelsData(nativeData)); } + /** + * Fixing a bug currently in the base Highcharts implementation regarding the placement of the checkbox in the legend. + * Requires the symbol padding (see {@link Legend#setSymbolPadding(Number)}) to be set to 20. Invoked + * whenever a series is added / displayed in a rendered chart.

+ * + * The implementation moves the legend item text 15px to the left, using the space made by setting the symbol + * padding to 20px; the checkbox is moved 18px to the left with the top margin set to 0px. + */ + private static native JavaScriptObject nativeAdjustCheckboxPosition(JavaScriptObject series) /*-{ + if (series.legendItem && series.checkbox) { + series.legendItem.translate(-15, 0); + series.checkbox.style.marginLeft = '-18px' + series.checkbox.style.marginTop = '0px' + } + }-*/; + private static native void nativeRedraw(JavaScriptObject chart) /*-{ chart.redraw(); }-*/; diff --git a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Legend.java b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Legend.java index 14181eb8742..fa10209135c 100755 --- a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Legend.java +++ b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Legend.java @@ -16,6 +16,8 @@ package org.moxieapps.gwt.highcharts.client; +import org.moxieapps.gwt.highcharts.client.labels.LegendLabelsFormatter; + /** * A configurable class that can be used to represent custom legend options for the * chart, which can then be set on the chart (via the {@link Chart#setLegend(Legend)} method.) @@ -317,7 +319,35 @@ public class Legend extends Configurable { return this.setOption("layout", layout != null ? layout.toString() : null); } - // TODO: Add label formatter + private LegendLabelsFormatter legendLabelsFormatter; + + /** + * Sets a custom formatter for the labels that can be used to control how the text of the + * legend labels will be displayed. See the {@link LegendLabelsFormatter} interface, and + * in particular the {@link LegendLabelsFormatter#format(org.moxieapps.gwt.highcharts.client.labels.LegendLabelsData)} + * method for more details on the capabilities available to custom legend formatters. + * + * @param legendLabelsFormatter The custom formatter to use for the labels (if not given a built-in + * generic formatter is used which simply returns the name of the series + * or, for pie charts, the name of the point). + * @return A reference to this {@link Legend} instance for convenient method chaining. + * @since 1.3.0 + */ + public Legend setLabelsFormatter(LegendLabelsFormatter legendLabelsFormatter) { + this.legendLabelsFormatter = legendLabelsFormatter; + return this; + } + + /** + * Returns the custom labels formatter that has been applied to the legend, or null if the + * built-in generic formatter is being used instead. + * + * @return The custom data labels formatter that has been applied, or null if it has not been set. + * @since 1.3.0 + */ + public LegendLabelsFormatter getLabelsFormatter() { + return this.legendLabelsFormatter; + } /** * Convenience method for setting the 'margin' option of the legend. Equivalent to: diff --git a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Point.java b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Point.java index 2d00b27640d..027f6bf0b22 100644 --- a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Point.java +++ b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Point.java @@ -365,7 +365,10 @@ public class Point extends Configurable { * animation options.

* Note that this method is only relevant on Point instance that are obtained from the chart * after it has been rendered, such as via an event or dynamically retrieving the points of - * a series. + * a series.

+ * Also note that when using persistent chart's, you'll normally want to use the + * {@link Series#removePoint(Point)} method instead of this one. + * * * @return A reference to this {@link Point} instance for convenient method chaining. * @since 1.1.0 @@ -379,7 +382,9 @@ public class Point extends Configurable { * and/or animated or not.

* Note that this method is only relevant on Point instance that are obtained from the chart * after it has been rendered, such as via an event or dynamically retrieving the points of - * a series. + * a series.

+ * Also note that when using persistent chart's, you'll normally want to use the + * {@link Series#removePoint(Point, boolean, boolean)} method instead of this one. * * @param redraw Whether to redraw the chart after the point is removed. When removing more than one * point, it is highly recommended that the redraw option be set to false, and instead @@ -399,7 +404,9 @@ public class Point extends Configurable { * and the details of the animation options.

* Note that this method is only relevant on Point instance that are obtained from the chart * after it has been rendered, such as via an event or dynamically retrieving the points of - * a series. + * a series.

+ * Also note that when using persistent chart's, you'll normally want to use the + * {@link Series#removePoint(Point, boolean, Animation)} method instead of this one. * * @param redraw Whether to redraw the chart after the point is removed. When removing more than one * point, it is highly recommended that the redraw option be set to false, and instead @@ -677,7 +684,7 @@ public class Point extends Configurable { nativeUpdate(this.nativePoint, pointOptions.getY().doubleValue(), redraw, animation != null); } } else { - nativeUpdate(this.nativePoint, Series.convertPointToJavaScriptObject(pointOptions), redraw, animation != null); + nativeUpdate(this.nativePoint, convertPointToJavaScriptObject(pointOptions), redraw, animation != null); } } else { if (pointOptions.isSingleValue()) { @@ -687,7 +694,7 @@ public class Point extends Configurable { nativeUpdate(this.nativePoint, pointOptions.getY().doubleValue(), redraw, animation.getOptions().getJavaScriptObject()); } } else { - nativeUpdate(this.nativePoint, Series.convertPointToJavaScriptObject(pointOptions), redraw, animation.getOptions().getJavaScriptObject()); + nativeUpdate(this.nativePoint, convertPointToJavaScriptObject(pointOptions), redraw, animation.getOptions().getJavaScriptObject()); } } } else { @@ -728,6 +735,32 @@ public class Point extends Configurable { return options; } + // Only needed and used when handling removing of points from charts that have been set in "persistent" mode + private String id; + + // Internal method purposefully package scope + void setId(String id) { + this.id = id; + } + + // Internal method purposefully package scope + String getId() { + if(this.nativePoint != null) { + return nativeGetString(this.nativePoint, "id"); + } else { + return this.id; + } + } + + private static JavaScriptObject convertPointToJavaScriptObject(Point point) { + final JSONObject options = point.getOptions() != null ? point.getOptions() : new JSONObject(); + Chart.addPointScalarValues(point, options); + if(point.hasNativeProperties()) { + Point.addPointNativeProperties(point, options); + } + return options.getJavaScriptObject(); + } + private static native boolean nativeContainsKey(JavaScriptObject point, String key) /*-{ return point[key] != undefined; }-*/; diff --git a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Series.java b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Series.java index de2c0105e9e..1c9798adb0b 100644 --- a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Series.java +++ b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/Series.java @@ -27,6 +27,7 @@ import org.moxieapps.gwt.highcharts.client.plotOptions.PlotOptions; import java.util.ArrayList; import java.util.Collections; +import java.util.Iterator; /** * Manages a data series (and its options) that can then be added to a {@link Chart}. As an extension @@ -513,14 +514,14 @@ public class Series extends Configurable { if (nativeSeries != null) { if (animation == null || animation.getOptions() == null) { final boolean animationFlag = animation != null; - if (point.isSingleValue()) { + if (point.isSingleValue() && !chart.isPersistent() && !point.hasNativeProperties()) { nativeAddPoint(nativeSeries, point.getY(), redraw, shift, animationFlag); } else { nativeAddPoint(nativeSeries, convertPointToJavaScriptObject(point), redraw, shift, animationFlag); } } else { final JavaScriptObject animationOptions = animation.getOptions().getJavaScriptObject(); - if (point.isSingleValue()) { + if (point.isSingleValue() && !chart.isPersistent() && !point.hasNativeProperties()) { nativeAddPoint(nativeSeries, point.getY(), redraw, shift, animationOptions); } else { nativeAddPoint(nativeSeries, convertPointToJavaScriptObject(point), redraw, shift, animationOptions); @@ -531,13 +532,15 @@ public class Series extends Configurable { return this; } - // Purposefully friendly scope so that we can get to this method from the Point class as well - static JavaScriptObject convertPointToJavaScriptObject(Point point) { + private JavaScriptObject convertPointToJavaScriptObject(Point point) { final JSONObject options = point.getOptions() != null ? point.getOptions() : new JSONObject(); Chart.addPointScalarValues(point, options); if(point.hasNativeProperties()) { Point.addPointNativeProperties(point, options); } + if(chart != null) { + chart.addPointId(point, options); + } return options.getJavaScriptObject(); } @@ -696,7 +699,7 @@ public class Series extends Configurable { if (nativeSeries != null) { JSONArray jsonArray = new JSONArray(); for (int i = 0, pointsLength = points.length; i < pointsLength; i++) { - jsonArray.set(i, Chart.convertPointToJSON(points[i])); + jsonArray.set(i, chart.convertPointToJSON(points[i])); } nativeSetData(nativeSeries, jsonArray.getJavaScriptObject(), redraw); } @@ -730,6 +733,91 @@ public class Series extends Configurable { return convertedPoints.toArray(new Point[convertedPoints.size()]); } + /** + * Remove the point from the series, automatically redrawing the chart using the default + * animation options.

+ * Note that this method is only relevant given Point instances that are obtained from the chart + * after it has been rendered, such as via an event or dynamically retrieving the points of + * a series.

+ * Also note that this method is primarily intended to ensure compatibility with chart's + * that have been set in persistent mode via the {@link BaseChart#setPersistent(boolean)} method. + * If you're using non-persistent charts, you can instead simply use the + * {@link Point#remove()} method to achieve the same affect. + * + * @param point The point instance (obtained dynamically from the chart) to remove from the series. + * + * @return A reference to this {@link Series} instance for convenient method chaining. + * @since 1.3.0 + */ + public Series removePoint(Point point) { + return this.removePoint(point, true, true); + } + + /** + * Remove the point from the series, explicitly controlling whether the chart is redrawn + * and/or animated or not.

+ * Note that this method is only relevant given Point instances that are obtained from the chart + * after it has been rendered, such as via an event or dynamically retrieving the points of + * a series.

+ * Also note that this method is primarily intended to ensure compatibility with chart's + * that have been set in persistent mode via the {@link BaseChart#setPersistent(boolean)} method. + * If you're using non-persistent charts, you can instead simply use the + * {@link Point#remove(boolean, boolean)} method to achieve the same affect. + * + * @param point The point instance (obtained dynamically from the chart) to remove from the series. + * @param redraw Whether to redraw the chart after the point is removed. When removing more than one + * point, it is highly recommended that the redraw option be set to false, and instead + * {@link Chart#redraw()} is explicitly called after the removing of points is finished. + * @param animation Defaults to true. When true, the graph will be animated with default animation options. + * Note, see the {@link #removePoint(Point, boolean, Animation)} method + * for more control over how the animation will run. + * @return A reference to this {@link Series} instance for convenient method chaining. + * @since 1.3.0 + */ + public Series removePoint(Point point, boolean redraw, boolean animation) { + return this.removePoint(point, redraw, animation ? new Animation() : null); + } + + /** + * Remove the point from the series, explicitly controlling whether the chart is redrawn + * and the details of the animation options.

+ * Note that this method is only relevant given Point instances that are obtained from the chart + * after it has been rendered, such as via an event or dynamically retrieving the points of + * a series.

+ * Also note that this method is primarily intended to ensure compatibility with chart's + * that have been set in persistent mode via the {@link BaseChart#setPersistent(boolean)} method. + * If you're using non-persistent charts, you can instead simply use the + * {@link Point#remove(boolean, Animation)} method to achieve the same affect. + * + * @param point The point instance (obtained dynamically from the chart) to remove from the series. + * @param redraw Whether to redraw the chart after the point is removed. When removing more than one + * point, it is highly recommended that the redraw option be set to false, and instead + * {@link Chart#redraw()} is explicitly called after the removing of points is finished. + * @param animation The custom animation to use when removing the point from the series. + * @return A reference to this {@link Series} instance for convenient method chaining. + * @since 1.3.0 + */ + public Series removePoint(Point point, boolean redraw, Animation animation) { + String id = point.getId(); + + // First, tell the point to remove itself from the underlying Highcharts instance + point.remove(redraw, animation); + + // Second, find the matching point within the series, and remove it. + // Note that this logic is purposefully only functional for chart's that are using the "setPersistent()" + // option. Removing a point from a non-persistent chart can be achieved by simply using + // the "Point.remove()" methods. + if(id != null && points != null) { + for (Iterator iterator = points.iterator(); iterator.hasNext(); ) { + Point existingPoint = iterator.next(); + if(id.equals(existingPoint.getId())) { + iterator.remove(); + } + } + } + return this; + } + /** * Remove this series from the chart it is a part of. * diff --git a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/labels/BaseDataLabels.java b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/labels/BaseDataLabels.java index ea44795e6f2..dbf2e3c24a7 100755 --- a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/labels/BaseDataLabels.java +++ b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/labels/BaseDataLabels.java @@ -26,6 +26,96 @@ package org.moxieapps.gwt.highcharts.client.labels; */ public abstract class BaseDataLabels extends Labels { + /** + * Convenience method for setting the 'backgroundColor' option for the data labels. Equivalent to: + *


+     *     labels.setOption("backgroundColor", "#CC0000");
+     * 
+ * The background color or gradient for the data label. Defaults to undefined. + * + * @param backgroundColor The background color or gradient for the data label. + * @return A reference to this {@link BaseDataLabels} instance for convenient method chaining. + * @since 1.3.0 + */ + public T setBackgroundColor(String backgroundColor) { + return this.setOption("backgroundColor", backgroundColor); + } + + /** + * Convenience method for setting the 'borderColor' option for the data labels. Equivalent to: + *

+     *     labels.setOption("borderColor", "#CC0000");
+     * 
+ * The border color for the data label. Defaults to undefined. + * + * @param borderColor The border color for the data label. + * @return A reference to this {@link BaseDataLabels} instance for convenient method chaining. + * @since 1.3.0 + */ + public T setBorderColor(String borderColor) { + return this.setOption("borderColor", borderColor); + } + + /** + * Convenience method for setting the 'borderRadius' option for the data labels. Equivalent to: + *

+     *     labels.setOption("borderRadius", 3);
+     * 
+ * The border radius in pixels for the data label. Defaults to 0. + * + * @param borderRadius The border radius in pixels for the data label. + * @return A reference to this {@link BaseDataLabels} instance for convenient method chaining. + * @since 1.3.0 + */ + public T setBorderRadius(Number borderRadius) { + return this.setOption("borderRadius", borderRadius); + } + + /** + * Convenience method for setting the 'borderWidth' option for the data labels. Equivalent to: + *

+     *     labels.setOption("borderWidth", 3);
+     * 
+ * The border width in pixels for the data label. Defaults to 0. + * + * @param borderWidth The border width in pixels for the data label. + * @return A reference to this {@link BaseDataLabels} instance for convenient method chaining. + * @since 1.3.0 + */ + public T setBorderWidth(Number borderWidth) { + return this.setOption("borderWidth", borderWidth); + } + + /** + * Convenience method for setting the 'padding' option for the data labels. Equivalent to: + *

+     *     labels.setOption("padding", 3);
+     * 
+ * When either the borderWidth or the backgroundColor is set, this is the padding within the box. Defaults to 2. + * + * @param padding The padding within the box (only visible when 'borderWidth' is non-zero). + * @return A reference to this {@link BaseDataLabels} instance for convenient method chaining. + * @since 1.3.0 + */ + public T setPadding(Number padding) { + return this.setOption("padding", padding); + } + + /** + * Convenience method for setting the 'shadow' option for the data labels. Equivalent to: + *

+     *     labels.setOption("shadow", true);
+     * 
+ * The shadow of the box. Works best with borderWidth or backgroundColor Defaults to false. + * + * @param shadow 'true' to disable a shadow around the box. + * @return A reference to this {@link BaseDataLabels} instance for convenient method chaining. + * @since 1.3.0 + */ + public T setShadow(boolean shadow) { + return this.setOption("shadow", shadow); + } + private DataLabelsFormatter dataLabelsFormatter; /** diff --git a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/plotOptions/Marker.java b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/plotOptions/Marker.java index 43e161d8c73..11d24f54635 100755 --- a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/plotOptions/Marker.java +++ b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/plotOptions/Marker.java @@ -23,7 +23,7 @@ import org.moxieapps.gwt.highcharts.client.Configurable; * Controls configuration options for the markers within a series. Can be set as a plot option on a series * via the {@link PlotOptions#setMarker(Marker)} method. Example usage: *
- *   chart.setPlotOptions(new PlotOptions()
+ *   chart.setSeriesPlotOptions(new SeriesPlotOptions()
  *      .setMarker(
  *         new Marker()
  *            .setEnabled(true)
@@ -41,6 +41,11 @@ public class Marker extends Configurable {
     /**
      * An enumeration of supported marker symbol types, which can be passed to methods
      * like {@link Marker#setSymbol(Marker.Symbol)} method.
+     * 

Note that custom marker images are also supported by simply setting the + * "symbol" option to a URL reference. E.g. + *


+     *    marker.setOption("symbol", "url(/serverpath/image.png)");
+     * 
*/ public enum Symbol { @@ -246,6 +251,11 @@ public class Marker extends Configurable { * A predefined shape or symbol for the marker. When null, the symbol is pulled from the default * {@link org.moxieapps.gwt.highcharts.client.Chart#setSymbols(org.moxieapps.gwt.highcharts.client.plotOptions.Marker.Symbol[])} * options. Defaults to null. + *

+ * Note that custom marker images are also supported by simply setting the "symbol" option to a URL reference. E.g. + *


+     *     marker.setOption("symbol", "url(/serverpath/image.png)");
+     * 
* * @param symbol The shape or symbol for the marker. * @return A reference to this {@link Marker} instance for convenient method chaining. From cc1c33c77ffe7ccfecfb824140e837a34c8a619a Mon Sep 17 00:00:00 2001 From: fmittag Date: Fri, 18 May 2012 17:14:59 +0200 Subject: [PATCH 023/339] ups... forget to commit some files of from the last commit "Update highcharts Gwt" --- .../highcharts/client/events/AxisEvent.java | 39 ++++++++ .../client/events/AxisSetExtremesEvent.java | 79 ++++++++++++++++ .../events/AxisSetExtremesEventHandler.java | 45 ++++++++++ .../client/labels/LegendLabelsData.java | 89 +++++++++++++++++++ .../client/labels/LegendLabelsFormatter.java | 59 ++++++++++++ 5 files changed, 311 insertions(+) create mode 100644 java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/events/AxisEvent.java create mode 100644 java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/events/AxisSetExtremesEvent.java create mode 100644 java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/events/AxisSetExtremesEventHandler.java create mode 100644 java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/labels/LegendLabelsData.java create mode 100644 java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/labels/LegendLabelsFormatter.java diff --git a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/events/AxisEvent.java b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/events/AxisEvent.java new file mode 100644 index 00000000000..3343167bee2 --- /dev/null +++ b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/events/AxisEvent.java @@ -0,0 +1,39 @@ +package org.moxieapps.gwt.highcharts.client.events; + +import org.moxieapps.gwt.highcharts.client.Axis; + +import com.google.gwt.core.client.JavaScriptObject; + +/** + * The base class of all events that are triggered on a axis, and includes methods for accessing the axis + * instance directly. + * + * @author myersj@gmail.com (Jeff Myers) + * @since 1.3.0 + */ +public abstract class AxisEvent { + + protected JavaScriptObject event; + + protected Axis axis; + + /** + * We can only be created by instantiating one of our sub classes. + * + * @param event The native javascript object containing the details of the original event that was fired. + * @param axis The axis instance that the event was triggered on. + */ + protected AxisEvent(JavaScriptObject event, Axis axis) { + this.event = event; + this.axis = axis; + } + + /** + * Get the axis instance that received the event. This axis may be a {@link org.moxieapps.gwt.highcharts.client.XAxis} + * or a {@link org.moxieapps.gwt.highcharts.client.YAxis}. + * @return the axis that the event was triggered on + */ + public Axis getAxis() { + return axis; + } +} diff --git a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/events/AxisSetExtremesEvent.java b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/events/AxisSetExtremesEvent.java new file mode 100644 index 00000000000..1262ea7c64c --- /dev/null +++ b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/events/AxisSetExtremesEvent.java @@ -0,0 +1,79 @@ +/* + * Copyright 2011 Moxie Group + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.moxieapps.gwt.highcharts.client.events; + +import org.moxieapps.gwt.highcharts.client.Axis; + +import com.google.gwt.core.client.JavaScriptObject; + +/** + * Provides access to the raw information provided by Highcharts when a axis set extremes event occurs. + * + * @author myersj@gmail.com (Jeff Myers) + * @since 1.3.0 + */ +public class AxisSetExtremesEvent extends AxisEvent { + + /** + * This constructor is intended for internal use only. You should not create axis set extremes + * events directly, but instead should register a {@link org.moxieapps.gwt.highcharts.client.events.AxisSetExtremesEventHandler}. + * + * @param event The native javascript object containing the details of the original event that was fired. + * @param axis The axis instance that the event was triggered on. + */ + public AxisSetExtremesEvent(JavaScriptObject event, Axis axis) { + super(event, axis); + } + + /** + * Return the minimum value of the new axis extremes as a Number. An exception will be thrown + * if the native value of the object is not a number. + * + * @return The new minimum value of the axis extremes as a Number. + */ + public Number getMin() { + return getMinAsPrimitive(); + } + + /** + * Return the maximum value of the new axis extremes as a Number. An exception will be thrown + * if the native value of the object is not a number. + * + * @return The new maximum value of the axis extremes as a Number. + */ + public Number getMax() { + return getMaxAsPrimitive(); + } + + /** + * Return the minimum value of the new axis extremes as a double. + * + * @return The new minimum value of the axis extremes as a double. + */ + private native double getMinAsPrimitive() /*-{ + return this.@org.moxieapps.gwt.highcharts.client.events.AxisEvent::event.min; + }-*/; + + /** + * Return the maximum value of the new axis extremes as a double. + * + * @return The new maximum value of the axis extremes as a double. + */ + private native double getMaxAsPrimitive() /*-{ + return this.@org.moxieapps.gwt.highcharts.client.events.AxisEvent::event.max; + }-*/; +} diff --git a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/events/AxisSetExtremesEventHandler.java b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/events/AxisSetExtremesEventHandler.java new file mode 100644 index 00000000000..d57eb38c9be --- /dev/null +++ b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/events/AxisSetExtremesEventHandler.java @@ -0,0 +1,45 @@ +/* + * Copyright 2011 Moxie Group + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.moxieapps.gwt.highcharts.client.events; + +/** + * An interface that can be used as a callback handler when axis setExtremes events are fired on the axis. + * General usage is as follows: + *
+ * chart.getXAxis().setAxisSetExtremesEventHandler(new AxisSetExtremesEventHandler() {
+ *       public boolean onSetExtremes(AxisSetExtremesEvent event) {
+ *          Window.alert("Axis extremes changed: " + event.getMin() + " - " + event.getMax());
+ *          return true;
+ *       }
+ *    )
+ * });
+ * 
+ * + * @author myersj@gmail.com (Jeff Myers) + * @since 1.3.0 + */ +public interface AxisSetExtremesEventHandler { + + /** + * This method is fired whenever an axis's extremes are changed. + * + * @param axisSetExtremesEvent The details of the event that occurred. + * @return The response to send back to the event handler function + */ + public boolean onSetExtremes(AxisSetExtremesEvent axisSetExtremesEvent); + +} diff --git a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/labels/LegendLabelsData.java b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/labels/LegendLabelsData.java new file mode 100644 index 00000000000..41cede37090 --- /dev/null +++ b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/labels/LegendLabelsData.java @@ -0,0 +1,89 @@ +/* + * Copyright 2011 Moxie Group + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.moxieapps.gwt.highcharts.client.labels; + +import com.google.gwt.core.client.JavaScriptObject; +import org.moxieapps.gwt.highcharts.client.Point; + +/** + * An object that represents the state information that will be passed to any custom + * {@link LegendLabelsFormatter} to allow for custom strings to be rendered as the legend + * labels. + *

+ * See the {@link LegendLabelsFormatter#format(LegendLabelsData)} method for more details on the capabilities + * that custom formatters can provide. + * + * @author squinn@moxiegroup.com (Shawn Quinn) + * @since 1.3.0 + */ +public class LegendLabelsData { + + @SuppressWarnings({"FieldCanBeLocal"}) + private JavaScriptObject data; + + /** + * This constructor needs to be public scope but you should not construct this object directly, but + * instead simply implement a custom {@link LegendLabelsFormatter} and this API will pass you the + * appropriate instance of this object at runtime. + * + * @param data A reference to the native Highcharts javascript object. + */ + public LegendLabelsData(JavaScriptObject data) { + this.data = data; + } + + /** + * Retrieve the unique id of the series that the point is a part of which received the event. + * This id can then be used to obtain the Series instance itself via the + * {@link org.moxieapps.gwt.highcharts.client.BaseChart#getSeries(String)} method. + * + * @return The unique id of the series that the point was a part of that the event was triggered on. + */ + public native String getSeriesId() /*-{ + return this.@org.moxieapps.gwt.highcharts.client.labels.LegendLabelsData::data.options.id; + }-*/; + + /** + * Return the name of the series that the legend label applies to (e.g. "series.name"). + * + * @return The name of the series that the legend label applies to + */ + public native String getSeriesName() /*-{ + return this.@org.moxieapps.gwt.highcharts.client.labels.LegendLabelsData::data.name; + }-*/; + + /** + * For pie charts, return the name of the point (e.g. "point.name") that the legend + * label is associated with. + * + * @return The name of the point that the legend label is associated with. + */ + public native String getPointName() /*-{ + return this.@org.moxieapps.gwt.highcharts.client.labels.LegendLabelsData::data.name; + }-*/; + + /** + * For pie charts, return a GWT point instance that is connected to the Highcharts JS + * point instance associated with the legend label. + * + * @return A Point instance that is connected to the Highcharts data point associated with the legend label + */ + public Point getPoint() { + return new Point(data); + } + +} diff --git a/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/labels/LegendLabelsFormatter.java b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/labels/LegendLabelsFormatter.java new file mode 100644 index 00000000000..39fa860528b --- /dev/null +++ b/java/org.moxieapps.gwt.highcharts/src/org/moxieapps/gwt/highcharts/client/labels/LegendLabelsFormatter.java @@ -0,0 +1,59 @@ +/* + * Copyright 2011 Moxie Group + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.moxieapps.gwt.highcharts.client.labels; + +/** + * An interface that can be used to control the display of the labels displayed within a + * legend. General usage is as follows: + *

+ * chart.setLegend(
+ *   new Legend()
+ *     .setLegendLabelsFormatter(
+ *         new LegendLabelsFormatter() {
+ *            public String format(LegendLabelsData legendLabelsData) {
+ *                return legendLabelsData.getSeriesName() + " (click to hide)";
+ *            }
+ *         }
+ *     )
+ * );
+ * 
+ * See the documentation on the {@link #format(LegendLabelsData)} function for more details on the + * capabilities available within custom formatters. + * + * @author squinn@moxiegroup.com (Shawn Quinn) + * @since 1.3.0 + */ +public interface LegendLabelsFormatter { + + /** + * Callback function to format the text of a label in the legend. + *

+ * A subset of HTML is supported. The HTML of the label is parsed and converted to SVG, therefore + * this isn't a complete HTML renderer. The following tags are supported: <b>, <strong>, <i>, + * <em>, <br/>, and <span>. Spans can be styled with a style attribute, but only text-related + * CSS that is shared with SVG is handled. + *

+ * Access to information about the series that the label applies to is provided in the given "LegendLabelsData" + * object, or in the case of pie chart access to information about the point. + * + * @param legendLabelsData An object containing all of the data available to the formatter that it can + * use to determine which text and styling to use for the label. + * @return The text to display for the label (including any styling). + */ + public String format(LegendLabelsData legendLabelsData); + +} From 3fe7eeec7a92619729484d82dc078df5453fa6e4 Mon Sep 17 00:00:00 2001 From: fmittag Date: Fri, 18 May 2012 17:16:09 +0200 Subject: [PATCH 024/339] Upgrade of Highcharts javascript files from version 2.1.9 to 2.2.3 --- .../js/adapters/mootools-adapter.js | 11 +- .../js/adapters/mootools-adapter.src.js | 571 +- .../js/adapters/prototype-adapter.js | 14 +- .../js/adapters/prototype-adapter.src.js | 699 +- .../highcharts/js/highcharts.js | 367 +- .../highcharts/js/highcharts.src.js | 25103 +++++++++------- .../highcharts/js/modules/canvas-tools.js | 133 + .../highcharts/js/modules/canvas-tools.src.js | 3114 ++ .../highcharts/js/modules/exporting.js | 33 +- .../highcharts/js/modules/exporting.src.js | 1498 +- .../highcharts/js/themes/dark-blue.js | 526 +- .../highcharts/js/themes/dark-green.js | 526 +- .../highcharts/js/themes/gray.js | 524 +- .../highcharts/js/themes/grid.js | 191 +- .../highcharts/js/themes/skies.js | 89 + 15 files changed, 19509 insertions(+), 13890 deletions(-) create mode 100644 java/com.sap.sailing.gwt.ui/highcharts/js/modules/canvas-tools.js create mode 100644 java/com.sap.sailing.gwt.ui/highcharts/js/modules/canvas-tools.src.js create mode 100644 java/com.sap.sailing.gwt.ui/highcharts/js/themes/skies.js diff --git a/java/com.sap.sailing.gwt.ui/highcharts/js/adapters/mootools-adapter.js b/java/com.sap.sailing.gwt.ui/highcharts/js/adapters/mootools-adapter.js index 18cf75971d5..34341a6bfba 100644 --- a/java/com.sap.sailing.gwt.ui/highcharts/js/adapters/mootools-adapter.js +++ b/java/com.sap.sailing.gwt.ui/highcharts/js/adapters/mootools-adapter.js @@ -1,12 +1,13 @@ /* - Highcharts JS v2.1.9 (2011-11-11) + Highcharts JS v2.2.3 (2012-05-07) MooTools adapter (c) 2010-2011 Torstein H?nsi License: www.highcharts.com/license */ -(function(){var e=window,h=e.MooTools.version.substring(0,3),i=h==="1.2"||h==="1.1",m=i||h==="1.3",j=e.$extend||function(){return Object.append.apply(Object,arguments)};e.HighchartsAdapter={init:function(a){var b=Fx.prototype,c=b.start,d=Fx.Morph.prototype,g=d.compute;b.start=function(f){var k=this.element;if(f.d)this.paths=a.init(k,k.d,this.toD);c.apply(this,arguments);return this};d.compute=function(f,k,n){var l=this.paths;if(l)this.element.attr("d",a.step(l[0],l[1],n,this.toD));else return g.apply(this, -arguments)}},animate:function(a,b,c){var d=a.attr,g=c&&c.complete;if(d&&!a.setStyle){a.getStyle=a.attr;a.setStyle=function(){var f=arguments;a.attr.call(a,f[0],f[1][0])};a.$family=a.uid=true}e.HighchartsAdapter.stop(a);c=new Fx.Morph(d?a:$(a),j({transition:Fx.Transitions.Quad.easeInOut},c));if(b.d)c.toD=b.d;g&&c.addEvent("complete",g);c.start(b);a.fx=c},each:function(a,b){return i?$each(a,b):a.each(b)},map:function(a,b){return a.map(b)},grep:function(a,b){return a.filter(b)},merge:function(){var a= -arguments,b=[{}],c=a.length;if(i)a=$merge.apply(null,a);else{for(;c--;)if(typeof a[c]!=="boolean")b[c+1]=a[c];a=Object.merge.apply(Object,b)}return a},extendWithEvents:function(a){a.addEvent||(a.nodeName?$(a):j(a,new Events))},addEvent:function(a,b,c){if(typeof b==="string"){if(b==="unload")b="beforeunload";e.HighchartsAdapter.extendWithEvents(a);a.addEvent(b,c)}},removeEvent:function(a,b,c){if(typeof a!=="string"){e.HighchartsAdapter.extendWithEvents(a);if(b){if(b==="unload")b="beforeunload";c?a.removeEvent(b, -c):a.removeEvents(b)}else a.removeEvents()}},fireEvent:function(a,b,c,d){b={type:b,target:a};b=m?new Event(b):new DOMEvent(b);b=j(b,c);b.preventDefault=function(){d=null};a.fireEvent&&a.fireEvent(b.type,b);d&&d(b)},stop:function(a){a.fx&&a.fx.cancel()}}})(); +(function(){var e=window,i=document,f=e.MooTools.version.substring(0,3),g=f==="1.2"||f==="1.1",j=g||f==="1.3",h=e.$extend||function(){return Object.append.apply(Object,arguments)};e.HighchartsAdapter={init:function(a){var b=Fx.prototype,c=b.start,d=Fx.Morph.prototype,e=d.compute;b.start=function(b,d){var e=this.element;if(b.d)this.paths=a.init(e,e.d,this.toD);c.apply(this,arguments);return this};d.compute=function(b,c,d){var f=this.paths;if(f)this.element.attr("d",a.step(f[0],f[1],d,this.toD));else return e.apply(this, +arguments)}},getScript:function(a,b){var c=i.getElementsByTagName("head")[0],d=i.createElement("script");d.type="text/javascript";d.src=a;d.onload=b;c.appendChild(d)},animate:function(a,b,c){var d=a.attr,f=c&&c.complete;if(d&&!a.setStyle)a.getStyle=a.attr,a.setStyle=function(){var b=arguments;a.attr.call(a,b[0],b[1][0])},a.$family=function(){return!0};e.HighchartsAdapter.stop(a);c=new Fx.Morph(d?a:$(a),h({transition:Fx.Transitions.Quad.easeInOut},c));if(d)c.element=a;if(b.d)c.toD=b.d;f&&c.addEvent("complete", +f);c.start(b);a.fx=c},each:function(a,b){return g?$each(a,b):Array.each(a,b)},map:function(a,b){return a.map(b)},grep:function(a,b){return a.filter(b)},merge:function(){var a=arguments,b=[{}],c=a.length;if(g)a=$merge.apply(null,a);else{for(;c--;)typeof a[c]!=="boolean"&&(b[c+1]=a[c]);a=Object.merge.apply(Object,b)}return a},offset:function(a){a=$(a).getOffsets();return{left:a.x,top:a.y}},extendWithEvents:function(a){a.addEvent||(a.nodeName?$(a):h(a,new Events))},addEvent:function(a,b,c){typeof b=== +"string"&&(b==="unload"&&(b="beforeunload"),e.HighchartsAdapter.extendWithEvents(a),a.addEvent(b,c))},removeEvent:function(a,b,c){typeof a!=="string"&&(e.HighchartsAdapter.extendWithEvents(a),b?(b==="unload"&&(b="beforeunload"),c?a.removeEvent(b,c):a.removeEvents(b)):a.removeEvents())},fireEvent:function(a,b,c,d){b={type:b,target:a};b=j?new Event(b):new DOMEvent(b);b=h(b,c);b.preventDefault=function(){d=null};a.fireEvent&&a.fireEvent(b.type,b);d&&d(b)},washMouseEvent:function(a){a.pageX=a.page.x; +a.pageY=a.page.y;return a},stop:function(a){a.fx&&a.fx.cancel()}}})(); diff --git a/java/com.sap.sailing.gwt.ui/highcharts/js/adapters/mootools-adapter.src.js b/java/com.sap.sailing.gwt.ui/highcharts/js/adapters/mootools-adapter.src.js index ccd606e8811..e945ffc7be5 100644 --- a/java/com.sap.sailing.gwt.ui/highcharts/js/adapters/mootools-adapter.src.js +++ b/java/com.sap.sailing.gwt.ui/highcharts/js/adapters/mootools-adapter.src.js @@ -1,264 +1,307 @@ -/** - * @license Highcharts JS v2.1.9 (2011-11-11) - * MooTools adapter - * - * (c) 2010-2011 Torstein Hønsi - * - * License: www.highcharts.com/license - */ - -// JSLint options: -/*global Fx, $, $extend, $each, $merge, Events, Event, DOMEvent */ - -(function () { - -var win = window, - mooVersion = win.MooTools.version.substring(0, 3), // Get the first three characters of the version number - legacy = mooVersion === '1.2' || mooVersion === '1.1', // 1.1 && 1.2 considered legacy, 1.3 is not. - legacyEvent = legacy || mooVersion === '1.3', // In versions 1.1 - 1.3 the event class is named Event, in newer versions it is named DOMEvent. - $extend = win.$extend || function () { - return Object.append.apply(Object, arguments); - }; - -win.HighchartsAdapter = { - /** - * Initialize the adapter. This is run once as Highcharts is first run. - * @param {Object} pathAnim The helper object to do animations across adapters. - */ - init: function (pathAnim) { - var fxProto = Fx.prototype, - fxStart = fxProto.start, - morphProto = Fx.Morph.prototype, - morphCompute = morphProto.compute; - - // override Fx.start to allow animation of SVG element wrappers - /*jslint unparam: true*//* allow unused parameters in fx functions */ - fxProto.start = function (from, to) { - var fx = this, - elem = fx.element; - - // special for animating paths - if (from.d) { - //this.fromD = this.element.d.split(' '); - fx.paths = pathAnim.init( - elem, - elem.d, - fx.toD - ); - } - fxStart.apply(fx, arguments); - - return this; // chainable - }; - - // override Fx.step to allow animation of SVG element wrappers - morphProto.compute = function (from, to, delta) { - var fx = this, - paths = fx.paths; - - if (paths) { - fx.element.attr( - 'd', - pathAnim.step(paths[0], paths[1], delta, fx.toD) - ); - } else { - return morphCompute.apply(fx, arguments); - } - }; - /*jslint unparam: false*/ - }, - - /** - * Animate a HTML element or SVG element wrapper - * @param {Object} el - * @param {Object} params - * @param {Object} options jQuery-like animation options: duration, easing, callback - */ - animate: function (el, params, options) { - var isSVGElement = el.attr, - effect, - complete = options && options.complete; - - if (isSVGElement && !el.setStyle) { - // add setStyle and getStyle methods for internal use in Moo - el.getStyle = el.attr; - el.setStyle = function () { // property value is given as array in Moo - break it down - var args = arguments; - el.attr.call(el, args[0], args[1][0]); - }; - // dirty hack to trick Moo into handling el as an element wrapper - el.$family = el.uid = true; - } - - // stop running animations - win.HighchartsAdapter.stop(el); - - // define and run the effect - effect = new Fx.Morph( - isSVGElement ? el : $(el), - $extend({ - transition: Fx.Transitions.Quad.easeInOut - }, options) - ); - - // special treatment for paths - if (params.d) { - effect.toD = params.d; - } - - // jQuery-like events - if (complete) { - effect.addEvent('complete', complete); - } - - // run - effect.start(params); - - // record for use in stop method - el.fx = effect; - }, - - /** - * MooTool's each function - * - */ - each: function (arr, fn) { - return legacy ? - $each(arr, fn) : - arr.each(fn); - }, - - /** - * Map an array - * @param {Array} arr - * @param {Function} fn - */ - map: function (arr, fn) { - return arr.map(fn); - }, - - /** - * Grep or filter an array - * @param {Array} arr - * @param {Function} fn - */ - grep: function (arr, fn) { - return arr.filter(fn); - }, - - /** - * Deep merge two objects and return a third - */ - merge: function () { - var args = arguments, - args13 = [{}], // MooTools 1.3+ - i = args.length, - ret; - - if (legacy) { - ret = $merge.apply(null, args); - } else { - while (i--) { - // Boolean argumens should not be merged. - // JQuery explicitly skips this, so we do it here as well. - if (typeof args[i] !== 'boolean') { - args13[i + 1] = args[i]; - } - } - ret = Object.merge.apply(Object, args13); - } - - return ret; - }, - - /** - * Extends an object with Events, if its not done - */ - extendWithEvents: function (el) { - // if the addEvent method is not defined, el is a custom Highcharts object - // like series or point - if (!el.addEvent) { - if (el.nodeName) { - el = $(el); // a dynamically generated node - } else { - $extend(el, new Events()); // a custom object - } - } - }, - - /** - * Add an event listener - * @param {Object} el HTML element or custom object - * @param {String} type Event type - * @param {Function} fn Event handler - */ - addEvent: function (el, type, fn) { - if (typeof type === 'string') { // chart broke due to el being string, type function - - if (type === 'unload') { // Moo self destructs before custom unload events - type = 'beforeunload'; - } - - win.HighchartsAdapter.extendWithEvents(el); - - el.addEvent(type, fn); - } - }, - - removeEvent: function (el, type, fn) { - if (typeof el === 'string') { - // el.removeEvents below apperantly calls this method again. Do not quite understand why, so for now just bail out. - return; - } - win.HighchartsAdapter.extendWithEvents(el); - if (type) { - if (type === 'unload') { // Moo self destructs before custom unload events - type = 'beforeunload'; - } - - if (fn) { - el.removeEvent(type, fn); - } else { - el.removeEvents(type); - } - } else { - el.removeEvents(); - } - }, - - fireEvent: function (el, event, eventArguments, defaultFunction) { - var eventArgs = { - type: event, - target: el - }; - // create an event object that keeps all functions - event = legacyEvent ? new Event(eventArgs) : new DOMEvent(eventArgs); - event = $extend(event, eventArguments); - // override the preventDefault function to be able to use - // this for custom events - event.preventDefault = function () { - defaultFunction = null; - }; - // if fireEvent is not available on the object, there hasn't been added - // any events to it above - if (el.fireEvent) { - el.fireEvent(event.type, event); - } - - // fire the default if it is passed and it is not prevented above - if (defaultFunction) { - defaultFunction(event); - } - }, - - /** - * Stop running animations on the object - */ - stop: function (el) { - if (el.fx) { - el.fx.cancel(); - } - } -}; - -}()); +/** + * @license Highcharts JS v2.2.3 (2012-05-07) + * MooTools adapter + * + * (c) 2010-2011 Torstein Hønsi + * + * License: www.highcharts.com/license + */ + +// JSLint options: +/*global Fx, $, $extend, $each, $merge, Events, Event, DOMEvent */ + +(function () { + +var win = window, + doc = document, + mooVersion = win.MooTools.version.substring(0, 3), // Get the first three characters of the version number + legacy = mooVersion === '1.2' || mooVersion === '1.1', // 1.1 && 1.2 considered legacy, 1.3 is not. + legacyEvent = legacy || mooVersion === '1.3', // In versions 1.1 - 1.3 the event class is named Event, in newer versions it is named DOMEvent. + $extend = win.$extend || function () { + return Object.append.apply(Object, arguments); + }; + +win.HighchartsAdapter = { + /** + * Initialize the adapter. This is run once as Highcharts is first run. + * @param {Object} pathAnim The helper object to do animations across adapters. + */ + init: function (pathAnim) { + var fxProto = Fx.prototype, + fxStart = fxProto.start, + morphProto = Fx.Morph.prototype, + morphCompute = morphProto.compute; + + // override Fx.start to allow animation of SVG element wrappers + /*jslint unparam: true*//* allow unused parameters in fx functions */ + fxProto.start = function (from, to) { + var fx = this, + elem = fx.element; + + // special for animating paths + if (from.d) { + //this.fromD = this.element.d.split(' '); + fx.paths = pathAnim.init( + elem, + elem.d, + fx.toD + ); + } + fxStart.apply(fx, arguments); + + return this; // chainable + }; + + // override Fx.step to allow animation of SVG element wrappers + morphProto.compute = function (from, to, delta) { + var fx = this, + paths = fx.paths; + + if (paths) { + fx.element.attr( + 'd', + pathAnim.step(paths[0], paths[1], delta, fx.toD) + ); + } else { + return morphCompute.apply(fx, arguments); + } + }; + /*jslint unparam: false*/ + }, + + /** + * Downloads a script and executes a callback when done. + * @param {String} scriptLocation + * @param {Function} callback + */ + getScript: function (scriptLocation, callback) { + // We cannot assume that Assets class from mootools-more is available so instead insert a script tag to download script. + var head = doc.getElementsByTagName('head')[0]; + var script = doc.createElement('script'); + + script.type = 'text/javascript'; + script.src = scriptLocation; + script.onload = callback; + + head.appendChild(script); + }, + + /** + * Animate a HTML element or SVG element wrapper + * @param {Object} el + * @param {Object} params + * @param {Object} options jQuery-like animation options: duration, easing, callback + */ + animate: function (el, params, options) { + var isSVGElement = el.attr, + effect, + complete = options && options.complete; + + if (isSVGElement && !el.setStyle) { + // add setStyle and getStyle methods for internal use in Moo + el.getStyle = el.attr; + el.setStyle = function () { // property value is given as array in Moo - break it down + var args = arguments; + el.attr.call(el, args[0], args[1][0]); + }; + // dirty hack to trick Moo into handling el as an element wrapper + el.$family = function () { return true; }; + } + + // stop running animations + win.HighchartsAdapter.stop(el); + + // define and run the effect + effect = new Fx.Morph( + isSVGElement ? el : $(el), + $extend({ + transition: Fx.Transitions.Quad.easeInOut + }, options) + ); + + // Make sure that the element reference is set when animating svg elements + if (isSVGElement) { + effect.element = el; + } + + // special treatment for paths + if (params.d) { + effect.toD = params.d; + } + + // jQuery-like events + if (complete) { + effect.addEvent('complete', complete); + } + + // run + effect.start(params); + + // record for use in stop method + el.fx = effect; + }, + + /** + * MooTool's each function + * + */ + each: function (arr, fn) { + return legacy ? + $each(arr, fn) : + Array.each(arr, fn); + }, + + /** + * Map an array + * @param {Array} arr + * @param {Function} fn + */ + map: function (arr, fn) { + return arr.map(fn); + }, + + /** + * Grep or filter an array + * @param {Array} arr + * @param {Function} fn + */ + grep: function (arr, fn) { + return arr.filter(fn); + }, + + /** + * Deep merge two objects and return a third + */ + merge: function () { + var args = arguments, + args13 = [{}], // MooTools 1.3+ + i = args.length, + ret; + + if (legacy) { + ret = $merge.apply(null, args); + } else { + while (i--) { + // Boolean argumens should not be merged. + // JQuery explicitly skips this, so we do it here as well. + if (typeof args[i] !== 'boolean') { + args13[i + 1] = args[i]; + } + } + ret = Object.merge.apply(Object, args13); + } + + return ret; + }, + + /** + * Get the offset of an element relative to the top left corner of the web page + */ + offset: function (el) { + var offsets = $(el).getOffsets(); + return { + left: offsets.x, + top: offsets.y + }; + }, + + /** + * Extends an object with Events, if its not done + */ + extendWithEvents: function (el) { + // if the addEvent method is not defined, el is a custom Highcharts object + // like series or point + if (!el.addEvent) { + if (el.nodeName) { + el = $(el); // a dynamically generated node + } else { + $extend(el, new Events()); // a custom object + } + } + }, + + /** + * Add an event listener + * @param {Object} el HTML element or custom object + * @param {String} type Event type + * @param {Function} fn Event handler + */ + addEvent: function (el, type, fn) { + if (typeof type === 'string') { // chart broke due to el being string, type function + + if (type === 'unload') { // Moo self destructs before custom unload events + type = 'beforeunload'; + } + + win.HighchartsAdapter.extendWithEvents(el); + + el.addEvent(type, fn); + } + }, + + removeEvent: function (el, type, fn) { + if (typeof el === 'string') { + // el.removeEvents below apperantly calls this method again. Do not quite understand why, so for now just bail out. + return; + } + win.HighchartsAdapter.extendWithEvents(el); + if (type) { + if (type === 'unload') { // Moo self destructs before custom unload events + type = 'beforeunload'; + } + + if (fn) { + el.removeEvent(type, fn); + } else { + el.removeEvents(type); + } + } else { + el.removeEvents(); + } + }, + + fireEvent: function (el, event, eventArguments, defaultFunction) { + var eventArgs = { + type: event, + target: el + }; + // create an event object that keeps all functions + event = legacyEvent ? new Event(eventArgs) : new DOMEvent(eventArgs); + event = $extend(event, eventArguments); + // override the preventDefault function to be able to use + // this for custom events + event.preventDefault = function () { + defaultFunction = null; + }; + // if fireEvent is not available on the object, there hasn't been added + // any events to it above + if (el.fireEvent) { + el.fireEvent(event.type, event); + } + + // fire the default if it is passed and it is not prevented above + if (defaultFunction) { + defaultFunction(event); + } + }, + + /** + * Set back e.pageX and e.pageY that MooTools has abstracted away + */ + washMouseEvent: function (e) { + e.pageX = e.page.x; + e.pageY = e.page.y; + return e; + }, + + /** + * Stop running animations on the object + */ + stop: function (el) { + if (el.fx) { + el.fx.cancel(); + } + } +}; + +}()); diff --git a/java/com.sap.sailing.gwt.ui/highcharts/js/adapters/prototype-adapter.js b/java/com.sap.sailing.gwt.ui/highcharts/js/adapters/prototype-adapter.js index 735851e917c..22c3e2e4cd5 100644 --- a/java/com.sap.sailing.gwt.ui/highcharts/js/adapters/prototype-adapter.js +++ b/java/com.sap.sailing.gwt.ui/highcharts/js/adapters/prototype-adapter.js @@ -1,5 +1,5 @@ /* - Highcharts JS v2.1.9 (2011-11-11) + Highcharts JS v2.2.3 (2012-05-07) Prototype adapter @author Michael Nelson, Torstein H?nsi. @@ -7,9 +7,9 @@ Feel free to use and modify this script. Highcharts license: www.highcharts.com/license. */ -var HighchartsAdapter=function(){var g=typeof Effect!=="undefined";return{init:function(c){if(g)Effect.HighchartsTransition=Class.create(Effect.Base,{initialize:function(a,b,d,e){var f;this.element=a;this.key=b;f=a.attr(b);if(b==="d"){this.paths=c.init(a,a.d,d);this.toD=d;f=0;d=1}this.start(Object.extend(e||{},{from:f,to:d,attribute:b}))},setup:function(){HighchartsAdapter._extend(this.element);if(!this.element._highchart_animation)this.element._highchart_animation={};this.element._highchart_animation[this.key]= -this},update:function(a){var b=this.paths;if(b)a=c.step(b[0],b[1],a,this.toD);this.element.attr(this.options.attribute,a)},finish:function(){delete this.element._highchart_animation[this.key]}})},addNS:function(c){var a=/^(?:click|mouse(?:down|up|over|move|out))$/;return/^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/.test(c)||a.test(c)?c:"h:"+c},addEvent:function(c,a,b){if(c.addEventListener||c.attachEvent)Event.observe($(c),HighchartsAdapter.addNS(a),b);else{HighchartsAdapter._extend(c); -c._highcharts_observe(a,b)}},animate:function(c,a,b){var d;b=b||{};b.delay=0;b.duration=(b.duration||500)/1E3;if(g)for(d in a)new Effect.HighchartsTransition($(c),d,a[d],b);else for(d in a)c.attr(d,a[d]);if(!c.attr)throw"Todo: implement animate DOM objects";},stop:function(c){var a;if(c._highcharts_extended&&c._highchart_animation)for(a in c._highchart_animation)c._highchart_animation[a].cancel()},each:function(c,a){$A(c).each(a)},fireEvent:function(c,a,b,d){if(c.fire)c.fire(HighchartsAdapter.addNS(a), -b);else if(c._highcharts_extended){b=b||{};c._highcharts_fire(a,b)}if(b&&b.defaultPrevented)d=null;d&&d(b)},removeEvent:function(c,a,b){if($(c).stopObserving){if(a)a=HighchartsAdapter.addNS(a);$(c).stopObserving(a,b)}if(window===c)Event.stopObserving(c,a,b);else{HighchartsAdapter._extend(c);c._highcharts_stop_observing(a,b)}},grep:function(c,a){return c.findAll(a)},map:function(c,a){return c.map(a)},merge:function(){function c(a,b){var d,e;for(e in b){d=b[e];a[e]=d&&typeof d==="object"&&d.constructor!== -Array&&typeof d.nodeType!=="number"?c(a[e]||{},d):b[e]}return a}return function(){var a=arguments,b,d={};for(b=0;b {a : 'a', b : {b1 : 'b1', b2 : 'b2_prime'}, c : 'c'} - /*merge: function(){ - function doCopy(copy, original) { - var value, - key, - undef, - nil, - same, - obj, - arr, - node; - - for (key in original) { - value = original[key]; - undef = typeof(value) === 'undefined'; - nil = value === null; - same = original === copy[key]; - - if (undef || nil || same) { - continue; - } - - obj = typeof(value) === 'object'; - arr = value && obj && value.constructor == Array; - node = !!value.nodeType; - - if (obj && !arr && !node) { - copy[key] = doCopy(typeof copy[key] == 'object' ? copy[key] : {}, value); - } - else { - copy[key] = original[key]; - } - } - return copy; - } - - var args = arguments, retVal = {}; - - for (var i = 0; i < args.length; i++) { - retVal = doCopy(retVal, args[i]); - } - - return retVal; - },*/ - merge: function () { // the built-in prototype merge function doesn't do deep copy - function doCopy(copy, original) { - var value, key; - - for (key in original) { - value = original[key]; - if (value && typeof value === 'object' && value.constructor !== Array && - typeof value.nodeType !== 'number') { - copy[key] = doCopy(copy[key] || {}, value); // copy - - } else { - copy[key] = original[key]; - } - } - return copy; - } - - function merge() { - var args = arguments, - i, - retVal = {}; - - for (i = 0; i < args.length; i++) { - retVal = doCopy(retVal, args[i]); - - } - return retVal; - } - - return merge.apply(this, arguments); - }, - - // extend an object to handle highchart events (highchart objects, not svg elements). - // this is a very simple way of handling events but whatever, it works (i think) - _extend: function (object) { - if (!object._highcharts_extended) { - Object.extend(object, { - _highchart_events: {}, - _highchart_animation: null, - _highcharts_extended: true, - _highcharts_observe: function (name, fn) { - this._highchart_events[name] = [this._highchart_events[name], fn].compact().flatten(); - }, - _highcharts_stop_observing: function (name, fn) { - if (name) { - if (fn) { - this._highchart_events[name] = [this._highchart_events[name]].compact().flatten().without(fn); - } else { - delete this._highchart_events[name]; - } - } else { - this._highchart_events = {}; - } - }, - _highcharts_fire: function (name, args) { - (this._highchart_events[name] || []).each(function (fn) { - // args is never null here - if (args.stopped) { - return; // "throw $break" wasn't working. i think because of the scope of 'this'. - } - - // Attach a simple preventDefault function to skip default handler if called - args.preventDefault = function () { - args.defaultPrevented = true; - }; - - // If the event handler return false, prevent the default handler from executing - if (fn.bind(this)(args) === false) { - args.preventDefault(); - } - } -.bind(this)); - } - }); - } - } -}; -}()); +/** + * @license Highcharts JS v2.2.3 (2012-05-07) + * Prototype adapter + * + * @author Michael Nelson, Torstein Hønsi. + * + * Feel free to use and modify this script. + * Highcharts license: www.highcharts.com/license. + */ + +// JSLint options: +/*global Effect, Class, Event, Element, $, $$, $A */ + +// Adapter interface between prototype and the Highcharts charting library +var HighchartsAdapter = (function () { + +var hasEffect = typeof Effect !== 'undefined'; + +return { + + /** + * Initialize the adapter. This is run once as Highcharts is first run. + * @param {Object} pathAnim The helper object to do animations across adapters. + */ + init: function (pathAnim) { + if (hasEffect) { + /** + * Animation for Highcharts SVG element wrappers only + * @param {Object} element + * @param {Object} attribute + * @param {Object} to + * @param {Object} options + */ + Effect.HighchartsTransition = Class.create(Effect.Base, { + initialize: function (element, attr, to, options) { + var from, + opts; + + this.element = element; + this.key = attr; + from = element.attr ? element.attr(attr) : $(element).getStyle(attr); + + // special treatment for paths + if (attr === 'd') { + this.paths = pathAnim.init( + element, + element.d, + to + ); + this.toD = to; + + + // fake values in order to read relative position as a float in update + from = 0; + to = 1; + } + + opts = Object.extend((options || {}), { + from: from, + to: to, + attribute: attr + }); + this.start(opts); + }, + setup: function () { + HighchartsAdapter._extend(this.element); + // If this is the first animation on this object, create the _highcharts_animation helper that + // contain pointers to the animation objects. + if (!this.element._highchart_animation) { + this.element._highchart_animation = {}; + } + + // Store a reference to this animation instance. + this.element._highchart_animation[this.key] = this; + }, + update: function (position) { + var paths = this.paths, + element = this.element, + obj; + + if (paths) { + position = pathAnim.step(paths[0], paths[1], position, this.toD); + } + + if (element.attr) { // SVGElement + element.attr(this.options.attribute, position); + + } else { // HTML, #409 + obj = {}; + obj[this.options.attribute] = position; + $(element).setStyle(obj); + } + + }, + finish: function () { + // Delete the property that holds this animation now that it is finished. + // Both canceled animations and complete ones gets a 'finish' call. + delete this.element._highchart_animation[this.key]; + } + }); + } + }, + + /** + * Downloads a script and executes a callback when done. + * @param {String} scriptLocation + * @param {Function} callback + */ + getScript: function (scriptLocation, callback) { + var head = $$('head')[0]; // Returns an array, so pick the first element. + if (head) { + // Append a new 'script' element, set its type and src attributes, add a 'load' handler that calls the callback + head.appendChild(new Element('script', { type: 'text/javascript', src: scriptLocation}).observe('load', callback)); + } + }, + + /** + * Custom events in prototype needs to be namespaced. This method adds a namespace 'h:' in front of + * events that are not recognized as native. + */ + addNS: function (eventName) { + var HTMLEvents = /^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/, + MouseEvents = /^(?:click|mouse(?:down|up|over|move|out))$/; + return (HTMLEvents.test(eventName) || MouseEvents.test(eventName)) ? + eventName : + 'h:' + eventName; + }, + + // el needs an event to be attached. el is not necessarily a dom element + addEvent: function (el, event, fn) { + if (el.addEventListener || el.attachEvent) { + Event.observe($(el), HighchartsAdapter.addNS(event), fn); + + } else { + HighchartsAdapter._extend(el); + el._highcharts_observe(event, fn); + } + }, + + // motion makes things pretty. use it if effects is loaded, if not... still get to the end result. + animate: function (el, params, options) { + var key, + fx; + + // default options + options = options || {}; + options.delay = 0; + options.duration = (options.duration || 500) / 1000; + options.afterFinish = options.complete; + + // animate wrappers and DOM elements + if (hasEffect) { + for (key in params) { + // The fx variable is seemingly thrown away here, but the Effect.setup will add itself to the _highcharts_animation object + // on the element itself so its not really lost. + fx = new Effect.HighchartsTransition($(el), key, params[key], options); + } + } else { + if (el.attr) { // #409 without effects + for (key in params) { + el.attr(key, params[key]); + } + } + if (options.complete) { + options.complete(); + } + } + + if (!el.attr) { // HTML element, #409 + $(el).setStyle(params); + } + }, + + // this only occurs in higcharts 2.0+ + stop: function (el) { + var key; + if (el._highcharts_extended && el._highchart_animation) { + for (key in el._highchart_animation) { + // Cancel the animation + // The 'finish' function in the Effect object will remove the reference + el._highchart_animation[key].cancel(); + } + } + }, + + // um.. each + each: function (arr, fn) { + $A(arr).each(fn); + }, + + /** + * Get the cumulative offset relative to the top left of the page. This method, unlike its + * jQuery and MooTools counterpart, still suffers from issue #208 regarding the position + * of a chart within a fixed container. + */ + offset: function (el) { + return $(el).cumulativeOffset(); + }, + + // fire an event based on an event name (event) and an object (el). + // again, el may not be a dom element + fireEvent: function (el, event, eventArguments, defaultFunction) { + if (el.fire) { + el.fire(HighchartsAdapter.addNS(event), eventArguments); + } else if (el._highcharts_extended) { + eventArguments = eventArguments || {}; + el._highcharts_fire(event, eventArguments); + } + + if (eventArguments && eventArguments.defaultPrevented) { + defaultFunction = null; + } + + if (defaultFunction) { + defaultFunction(eventArguments); + } + }, + + removeEvent: function (el, event, handler) { + if ($(el).stopObserving) { + if (event) { + event = HighchartsAdapter.addNS(event); + } + $(el).stopObserving(event, handler); + } if (window === el) { + Event.stopObserving(el, event, handler); + } else { + HighchartsAdapter._extend(el); + el._highcharts_stop_observing(event, handler); + } + }, + + washMouseEvent: function (e) { + return e; + }, + + // um, grep + grep: function (arr, fn) { + return arr.findAll(fn); + }, + + // um, map + map: function (arr, fn) { + return arr.map(fn); + }, + + // deep merge. merge({a : 'a', b : {b1 : 'b1', b2 : 'b2'}}, {b : {b2 : 'b2_prime'}, c : 'c'}) => {a : 'a', b : {b1 : 'b1', b2 : 'b2_prime'}, c : 'c'} + /*merge: function(){ + function doCopy(copy, original) { + var value, + key, + undef, + nil, + same, + obj, + arr, + node; + + for (key in original) { + value = original[key]; + undef = typeof(value) === 'undefined'; + nil = value === null; + same = original === copy[key]; + + if (undef || nil || same) { + continue; + } + + obj = typeof(value) === 'object'; + arr = value && obj && value.constructor == Array; + node = !!value.nodeType; + + if (obj && !arr && !node) { + copy[key] = doCopy(typeof copy[key] == 'object' ? copy[key] : {}, value); + } + else { + copy[key] = original[key]; + } + } + return copy; + } + + var args = arguments, retVal = {}; + + for (var i = 0; i < args.length; i++) { + retVal = doCopy(retVal, args[i]); + } + + return retVal; + },*/ + merge: function () { // the built-in prototype merge function doesn't do deep copy + function doCopy(copy, original) { + var value, key; + + for (key in original) { + value = original[key]; + if (value && typeof value === 'object' && value.constructor !== Array && + typeof value.nodeType !== 'number') { + copy[key] = doCopy(copy[key] || {}, value); // copy + + } else { + copy[key] = original[key]; + } + } + return copy; + } + + function merge() { + var args = arguments, + i, + retVal = {}; + + for (i = 0; i < args.length; i++) { + retVal = doCopy(retVal, args[i]); + + } + return retVal; + } + + return merge.apply(this, arguments); + }, + + // extend an object to handle highchart events (highchart objects, not svg elements). + // this is a very simple way of handling events but whatever, it works (i think) + _extend: function (object) { + if (!object._highcharts_extended) { + Object.extend(object, { + _highchart_events: {}, + _highchart_animation: null, + _highcharts_extended: true, + _highcharts_observe: function (name, fn) { + this._highchart_events[name] = [this._highchart_events[name], fn].compact().flatten(); + }, + _highcharts_stop_observing: function (name, fn) { + if (name) { + if (fn) { + this._highchart_events[name] = [this._highchart_events[name]].compact().flatten().without(fn); + } else { + delete this._highchart_events[name]; + } + } else { + this._highchart_events = {}; + } + }, + _highcharts_fire: function (name, args) { + (this._highchart_events[name] || []).each(function (fn) { + // args is never null here + if (args.stopped) { + return; // "throw $break" wasn't working. i think because of the scope of 'this'. + } + + // Attach a simple preventDefault function to skip default handler if called + args.preventDefault = function () { + args.defaultPrevented = true; + }; + + // If the event handler return false, prevent the default handler from executing + if (fn.bind(this)(args) === false) { + args.preventDefault(); + } + } +.bind(this)); + } + }); + } + } +}; +}()); diff --git a/java/com.sap.sailing.gwt.ui/highcharts/js/highcharts.js b/java/com.sap.sailing.gwt.ui/highcharts/js/highcharts.js index 2373ecb2f0a..4ae18251379 100644 --- a/java/com.sap.sailing.gwt.ui/highcharts/js/highcharts.js +++ b/java/com.sap.sailing.gwt.ui/highcharts/js/highcharts.js @@ -1,176 +1,203 @@ /* - Highcharts JS v2.1.9 (2011-11-11) + Highcharts JS v2.2.3 (2012-05-07) (c) 2009-2011 Torstein H?nsi License: www.highcharts.com/license */ -(function(){function sa(a,b){var c;a||(a={});for(c in b)a[c]=b[c];return a}function ja(a,b){return parseInt(a,b||10)}function Sb(a){return typeof a==="string"}function Nb(a){return typeof a==="object"}function lc(a){return typeof a==="number"}function mc(a){return Fa.log(a)/Fa.LN10}function nc(a,b){for(var c=a.length;c--;)if(a[c]===b){a.splice(c,1);break}}function K(a){return a!==Wa&&a!==null}function Ga(a,b,c){var d,e;if(Sb(b))if(K(c))a.setAttribute(b,c);else{if(a&&a.getAttribute)e=a.getAttribute(b)}else if(K(b)&& -Nb(b))for(d in b)a.setAttribute(d,b[d]);return e}function zc(a){return Object.prototype.toString.call(a)==="[object Array]"?a:[a]}function A(){var a=arguments,b,c,d=a.length;for(b=0;b3?c.length%3:0;return e+(g?c.substr(0,g)+d:"")+c.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+d)+(f?b+bb(a-c).toFixed(f).slice(2):"")}function Fd(a){var b={left:a.offsetLeft,top:a.offsetTop};for(a=a.offsetParent;a;){b.left+=a.offsetLeft;b.top+=a.offsetTop; -if(a!==ua.body&&a!==ua.documentElement){b.left-=a.scrollLeft;b.top-=a.scrollTop}a=a.offsetParent}return b}function Gd(){this.symbol=this.color=0}function fe(a,b,c,d,e,f,g){var h=g.x;g=g.y;var i=h-a+c-25,j=g-b+d+10,m;if(i<7)i=c+h+15;if(i+a>c+e){i-=i+a-(c+e);j-=b;m=true}if(j<5){j=5;if(m&&g>=j&&g<=j+b)j=g+b-5}else if(j+b>d+f)j=d+f-b-5;return{x:i,y:j}}function Hd(a,b){var c=a.length,d;for(d=0;dwa)wa=O;else{if(Owa)wa=S;else if(F=0){pa=0;Od=true}else if(wa<0){wa=0;Pd=true}}}})}function N(k,n){var t,r;Fb=n?1:Fa.pow(10,lb(Fa.log(k)/Fa.LN10));t=k/Fb;if(!n){n=[1,2,2.5,5,10];if(o.allowDecimals===false||ca)if(Fb===1)n=[1,2,5,10];else if(Fb<=0.1)n=[1/Fb]}for(r=0;r0||!Pd))ra+=k*Rd}Ta=ia===ra?1:Ub&&!J&&E===t.options.tickPixelInterval? -t.tickInterval:A(J,Ya?1:(ra-ia)*E/ya);if(!D&&!K(o.tickInterval))Ta=N(Ta);I.tickInterval=Ta;Wc=o.minorTickInterval==="auto"&&Ta?Ta/5:o.minorTickInterval;if(D){Ba=[];J=Xa.global.useUTC;var Q=1E3/ub,fa=6E4/ub,ka=36E5/ub;E=864E5/ub;k=6048E5/ub;r=2592E6/ub;var $=31556952E3/ub,F=[["second",Q,[1,2,5,10,15,30]],["minute",fa,[1,2,5,10,15,30]],["hour",ka,[1,2,3,4,6,8,12]],["day",E,[1,2]],["week",k,[1,2]],["month",r,[1,2,3,4,6]],["year",$,null]],O=F[6],S=O[1],aa=O[2];for(t=0;t=Q)aa.setSeconds(S>=fa?0:F*lb(aa.getSeconds()/F));if(S>=fa)aa[Jd](S>=ka?0:F*lb(aa[id]()/F));if(S>=ka)aa[Kd](S>=E?0:F*lb(aa[jd]()/F));if(S>=E)aa[ld](S>=r?1:F*lb(aa[Cc]()/F));if(S>=r){aa[Ld](S>=$?0:F*lb(aa[Rc]()/F));n=aa[Sc]()}if(S>=$){n-=n%F;aa[Md](n)}S===k&&aa[ld](aa[Cc]()-aa[kd]()+o.startOfWeek);t=1;n=aa[Sc]();Q=aa.getTime()/ub;fa=aa[Rc]();for(ka=aa[Cc]();Q< -ra&&tn&&Ba.shift();if(o.endOnTick)ra=t;else raOb[qa])Ob[qa]=Ba.length}}function Ma(){var k,n;Dc=ia;Sd=ra;V();da();Hb=fb;fb=ya/(ra-ia||1);if(!xa)for(k in s)for(n in s[k])s[k][n].cum=s[k][n].total;if(!I.isDirty)I.isDirty=ia!==Dc||ra!==Sd}function za(k){k=(new w(k)).render();Pb.push(k);return k}function eb(){var k=o.title,n=o.stackLabels,t=o.alternateGridColor,r=o.lineWidth,J,E,Q=(J=l.hasRendered)&&K(Dc)&&!isNaN(Dc);E=zb.length&&K(ia)&&K(ra);ya=R?Da:Aa;fb=ya/(ra-ia||1);cc=R?X:vb;if(E||Ub){if(Wc&&!Ya)for(E=ia+ -(Ba[0]-ia)%Wc;E<=ra;E+=Wc){Wb[E]||(Wb[E]=new q(E,true));Q&&Wb[E].isNew&&Wb[E].render(null,true);Wb[E].isActive=true;Wb[E].render()}u(Ba,function($,F){if(!Ub||$>=ia&&$<=ra){Q&&mb[$].isNew&&mb[$].render(F,true);mb[$].isActive=true;mb[$].render(F)}});t&&u(Ba,function($,F){if(F%2===0&&$=1E3?Ed(k,0):k},$c=R&&o.labels.staggerLines,ec=o.reversed,fc=Ya&&o.tickmarkPlacement==="between"?0.5:0;q.prototype={addLabel:function(){var k=this.pos, -n=o.labels,t=!(k===ia&&!A(o.showFirstLabel,1)||k===ra&&!A(o.showLastLabel,0)),r=Ya&&R&&Ya.length&&!n.step&&!n.staggerLines&&!n.rotation&&Da/Ya.length||!R&&Da/2,J=Ya&&K(Ya[k])?Ya[k]:k,E=this.label;k=je.call({isFirst:k===Ba[0],isLast:k===Ba[Ba.length-1],dateTimeLabelFormat:Xc,value:ca?Fa.pow(10,J):J});r=r&&{width:Ia(1,W(r-2*(n.padding||10)))+Ua};r=sa(r,n.style);if(E===Wa)this.label=K(k)&&t&&n.enabled?ga.text(k,0,0,n.useHTML).attr({align:n.align,rotation:n.rotation}).css(r).add(na):null;else E&&E.attr({text:k}).css(r)}, -getLabelSize:function(){var k=this.label;return k?(this.labelBBox=k.getBBox())[R?"height":"width"]:0},render:function(k,n){var t=!this.minor,r=this.label,J=this.pos,E=o.labels,Q=this.gridLine,fa=t?o.gridLineWidth:o.minorGridLineWidth,ka=t?o.gridLineColor:o.minorGridLineColor,$=t?o.gridLineDashStyle:o.minorGridLineDashStyle,F=this.mark,O=t?o.tickLength:o.minorTickLength,S=t?o.tickWidth:o.minorTickWidth||0,aa=t?o.tickColor:o.minorTickColor,Eb=t?o.tickPosition:o.minorTickPosition,kb=E.step,nb=n&&ad|| -cb,Qb;Qb=R?G(J+fc,null,null,n)+cc:X+la+(Oa?(n&&qd||$a)-Ib-X:0);nb=R?nb-vb+la-(Oa?Aa:0):nb-G(J+fc,null,null,n)-cc;if(fa){J=ha(J+fc,fa,n);if(Q===Wa){Q={stroke:ka,"stroke-width":fa};if($)Q.dashstyle=$;if(t)Q.zIndex=1;this.gridLine=Q=fa?ga.path(J).attr(Q).add(Ra):null}!n&&Q&&J&&Q.animate({d:J})}if(S){if(Eb==="inside")O=-O;if(Oa)O=-O;t=ga.crispLine([Za,Qb,nb,Ka,Qb+(R?0:-O),nb+(R?O:0)],S);if(F)F.animate({d:t});else this.mark=ga.path(t).attr({stroke:aa,"stroke-width":S}).add(na)}if(r&&!isNaN(Qb)){Qb=Qb+ -E.x-(fc&&R?fc*fb*(ec?-1:1):0);nb=nb+E.y-(fc&&!R?fc*fb*(ec?1:-1):0);K(E.y)||(nb+=ja(r.styles.lineHeight)*0.9-r.getBBox().height/2);if($c)nb+=k/(kb||1)%$c*16;if(kb)r[k%kb?"hide":"show"]();r[this.isNew?"attr":"animate"]({x:Qb,y:nb})}this.isNew=false},destroy:function(){Ac(this)}};w.prototype={render:function(){var k=this,n=k.options,t=n.label,r=k.label,J=n.width,E=n.to,Q=n.from,fa=n.value,ka,$=n.dashStyle,F=k.svgElem,O=[],S,aa,Eb=n.color;aa=n.zIndex;var kb=n.events;if(ca){Q=mc(Q);E=mc(E);fa=mc(fa)}if(J){O= -ha(fa,J);n={stroke:Eb,"stroke-width":J};if($)n.dashstyle=$}else if(K(Q)&&K(E)){Q=Ia(Q,ia);E=tb(E,ra);ka=ha(E);if((O=ha(Q))&&ka)O.push(ka[4],ka[5],ka[1],ka[2]);else O=null;n={fill:Eb}}else return;if(K(aa))n.zIndex=aa;if(F)if(O)F.animate({d:O},null,F.onGetPath);else{F.hide();F.onGetPath=function(){F.show()}}else if(O&&O.length){k.svgElem=F=ga.path(O).attr(n).add();if(kb){$=function(nb){F.on(nb,function(Qb){kb[nb].apply(k,[Qb])})};for(S in kb)$(S)}}if(t&&K(t.text)&&O&&O.length&&Da>0&&Aa>0){t=Ca({align:R&& -ka&&"center",x:R?!ka&&4:10,verticalAlign:!R&&ka&&"middle",y:R?ka?16:10:ka?6:-4,rotation:R&&!ka&&90},t);if(!r)k.label=r=ga.text(t.text,0,0).attr({align:t.textAlign||t.align,rotation:t.rotation,zIndex:aa}).css(t.style).add();ka=[O[1],O[4],A(O[6],O[1])];O=[O[2],O[5],A(O[7],O[2])];S=tb.apply(Fa,ka);aa=tb.apply(Fa,O);r.align(t,false,{x:S,y:aa,width:Ia.apply(Fa,ka)-S,height:Ia.apply(Fa,O)-aa});r.show()}else r&&r.hide();return k},destroy:function(){Ac(this);nc(Pb,this)}};x.prototype={destroy:function(){Ac(this)}, -setTotal:function(k){this.cum=this.total=k},render:function(k){var n=this.options.formatter.call(this);if(this.label)this.label.attr({text:n,visibility:ob});else this.label=l.renderer.text(n,0,0).css(this.options.style).attr({align:this.textAlign,rotation:this.options.rotation,visibility:ob}).add(k)},setOffset:function(k,n){var t=this.isNegative,r=I.translate(this.total),J=I.translate(0);J=bb(r-J);var E=l.xAxis[0].translate(this.x)+k,Q=l.plotHeight;t={x:va?t?r:r-J:E,y:va?Q-E-n:t?Q-r-J:Q-r,width:va? -J:n,height:va?n:J};this.label&&this.label.align(this.alignOptions,null,t).attr({visibility:Ab})}};G=function(k,n,t,r,J){var E=1,Q=0,fa=r?Hb:fb;r=r?Dc:ia;fa||(fa=fb);if(t){E*=-1;Q=ya}if(ec){E*=-1;Q-=E*ya}if(n){if(ec)k=ya-k;k=k/fa+r;if(ca&&J)k=Fa.pow(10,k)}else{if(ca&&J)k=mc(k);k=E*(k-r)*fa+Q}return k};ha=function(k,n,t){var r,J,E;k=G(k,null,null,t);var Q=t&&ad||cb,fa=t&&qd||$a,ka;t=J=W(k+cc);r=E=W(Q-k-cc);if(isNaN(k))ka=true;else if(R){r=ea;E=Q-vb;if(tX+Da)ka=true}else{t=X;J=fa-Ib;if(r -ea+Aa)ka=true}return ka?null:ga.crispLine([Za,t,r,Ka,J,E],n||0)};if(va&&xa&&ec===Wa)ec=true;sa(I,{addPlotBand:za,addPlotLine:za,adjustTickAmount:function(){if(Ob&&!D&&!Ya&&!Ub){var k=qc,n=Ba.length;qc=Ob[qa];if(nk)k=ia;else if(ra< -k)k=ra;return G(k,0,1)},isXAxis:xa,options:o,plotLinesAndBands:Pb,getOffset:function(){var k=zb.length&&K(ia)&&K(ra),n=0,t=0,r=o.title,J=o.labels,E=[-1,1,1,-1][L],Q;if(!na){na=ga.g("axis").attr({zIndex:7}).add();Ra=ga.g("grid").attr({zIndex:1}).add()}rc=0;if(k||Ub){u(Ba,function(fa){if(mb[fa])mb[fa].addLabel();else mb[fa]=new q(fa);if(L===0||L===2||{1:"left",3:"right"}[L]===J.align)rc=Ia(mb[fa].getLabelSize(),rc)});if($c)rc+=($c-1)*16}else for(Q in mb){mb[Q].destroy();delete mb[Q]}if(r&&r.text){if(!ba){ba= -I.axisTitle=ga.text(r.text,0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:r.textAlign||{low:"left",middle:"center",high:"right"}[r.align]}).css(r.style).add();ba.isNew=true}n=ba.getBBox()[R?"height":"width"];t=A(r.margin,R?5:10)}la=E*(o.offset||Xb[L]);nd=rc+(L!==2&&rc&&E*o.labels[R?"y":"x"])+t;Xb[L]=Ia(Xb[L],nd+n+E*la)},render:eb,setCategories:function(k,n){I.categories=p.categories=Ya=k;u(zb,function(t){t.translate();t.setTooltipPoints(true)});I.isDirty=true;A(n,true)&&l.redraw()},setExtremes:function(k, -n,t,r){t=A(t,true);Pa(I,"setExtremes",{min:k,max:n},function(){Vb=k;Gb=n;t&&l.redraw(r)})},setScale:Ma,setTickPositions:da,translate:G,redraw:function(){Yb.resetTracker&&Yb.resetTracker();eb();u(Pb,function(k){k.render()});u(zb,function(k){k.isDirty=true})},removePlotBand:ab,removePlotLine:ab,reversed:ec,stacks:s,destroy:function(){var k;pb(I);for(k in s){Ac(s[k]);s[k]=null}if(I.stackTotalGroup)I.stackTotalGroup=I.stackTotalGroup.destroy();u([mb,Wb,dc,Pb],function(n){Ac(n)});u([La,na,Ra,ba],function(n){n&& -n.destroy()});La=na=Ra=ba=null}});for(pd in B)Qa(I,pd,B[pd]);Ma()}function d(){var p={};return{add:function(q,w,x,V){if(!p[q]){w=ga.text(w,0,0).css(a.toolbar.itemStyle).align({align:"right",x:-Ib-20,y:ea+30}).on("click",V).attr({align:"right",zIndex:20}).add();p[q]=w}},remove:function(q){pc(p[q].element);p[q]=null}}}function e(p){function q(){var B=this.points||zc(this),D=B[0].series.xAxis,ca=this.x;D=D&&D.options.type==="datetime";var la=Sb(ca)||D,qa;qa=la?[''+(D?Zc("%A, %b %e, %Y", -ca):ca)+""]:[];u(B,function(ya){qa.push(ya.point.tooltipFormatter(la))});return qa.join("
")}function w(B,D){L=xa?B:(2*L+B)/3;s=xa?D:(s+D)/2;o.translate(L,s);rd=bb(B-L)>1||bb(D-s)>1?function(){w(B,D)}:null}function x(){if(!xa){var B=l.hoverPoints;o.hide();u(da,function(D){D&&D.hide()});B&&u(B,function(D){D.setState()});l.hoverPoints=null;xa=true}}var V,N=p.borderWidth,ta=p.crosshairs,da=[],Ma=p.style,za=p.shared,eb=ja(Ma.padding),ab=N+eb,xa=true,Oa,R,L=0,s=0;Ma.padding=0;var o=ga.g("tooltip").attr({zIndex:8}).add(), -I=ga.rect(ab,ab,0,0,p.borderRadius,N).attr({fill:p.backgroundColor,"stroke-width":N}).add(o).shadow(p.shadow),ba=ga.text("",eb+ab,ja(Ma.fontSize)+eb+ab,p.useHTML).attr({zIndex:1}).css(Ma).add(o);o.hide();return{shared:za,refresh:function(B){var D,ca,la,qa=0,ya={},fb=[];la=B.tooltipPos;D=p.formatter||q;ya=l.hoverPoints;if(za){ya&&u(ya,function(Hb){Hb.setState()});l.hoverPoints=B;u(B,function(Hb){Hb.setState(Bb);qa+=Hb.plotY;fb.push(Hb.getLabelConfig())});ca=B[0].plotX;qa=W(qa)/B.length;ya={x:B[0].category}; -ya.points=fb;B=B[0]}else ya=B.getLabelConfig();ya=D.call(ya);V=B.series;ca=za?ca:B.plotX;qa=za?qa:B.plotY;D=W(la?la[0]:va?Da-qa:ca);ca=W(la?la[1]:va?Aa-ca:qa);la=za||!B.series.isCartesian||gc(D,ca);if(ya===false||!la)x();else{if(xa){o.show();xa=false}ba.attr({text:ya});la=ba.getBBox();Oa=la.width+2*eb;R=la.height+2*eb;I.attr({width:Oa,height:R,stroke:p.borderColor||B.color||V.color||"#606060"});D=fe(Oa,R,X,ea,Da,Aa,{x:D,y:ca});w(W(D.x-ab),W(D.y-ab))}if(ta){ta=zc(ta);for(D=ta.length;D--;){ca=B.series[D? -"yAxis":"xAxis"];if(ta[D]&&ca){ca=ca.getPlotLinePath(B[D?"y":"x"],1);if(da[D])da[D].attr({d:ca,visibility:Ab});else{la={"stroke-width":ta[D].width||1,stroke:ta[D].color||"#C0C0C0",zIndex:2};if(ta[D].dashStyle)la.dashstyle=ta[D].dashStyle;da[D]=ga.path(ca).attr(la).add()}}}}},hide:x,destroy:function(){u(da,function(B){B&&B.destroy()});u([I,ba,o],function(B){B&&B.destroy()});I=ba=o=null}}}function f(p){function q(L){var s,o=Ud&&ua.width/ua.body.scrollWidth-1,I,ba,B;L=L||db.event;if(!L.target)L.target= -L.srcElement;s=L.touches?L.touches.item(0):L;if(L.type!=="mousemove"||db.opera||o){Jb=Fd(oa);I=Jb.left;ba=Jb.top}if(Pc){B=L.x;s=L.y}else if(s.layerX===Wa){B=s.pageX-I;s=s.pageY-ba}else{B=L.layerX;s=L.layerY}if(o){B+=W((o+1)*I-I);s+=W((o+1)*ba-ba)}return sa(L,{chartX:B,chartY:s})}function w(L){var s={xAxis:[],yAxis:[]};u(Va,function(o){var I=o.translate,ba=o.isXAxis;s[ba?"xAxis":"yAxis"].push({axis:o,value:I((va?!ba:ba)?L.chartX-X:Aa-L.chartY+ea,true)})});return s}function x(){var L=l.hoverSeries, -s=l.hoverPoint;s&&s.onMouseOut();L&&L.onMouseOut();hc&&hc.hide();sd=null}function V(){if(za){var L={xAxis:[],yAxis:[]},s=za.getBBox(),o=s.x-X,I=s.y-ea;if(Ma){u(Va,function(ba){var B=ba.translate,D=ba.isXAxis,ca=va?!D:D,la=B(ca?o:Aa-I-s.height,true,0,0,1);B=B(ca?o+s.width:Aa-I,true,0,0,1);L[D?"xAxis":"yAxis"].push({axis:ba,min:tb(la,B),max:Ia(la,B)})});Pa(l,"selection",L,td)}za=za.destroy()}l.mouseIsDown=ud=Ma=false;pb(ua,Kb?"touchend":"mouseup",V)}function N(L){var s=K(L.pageX)?L.pageX:L.page.x;L= -K(L.pageX)?L.pageY:L.page.y;Jb&&!gc(s-Jb.left-X,L-Jb.top-ea)&&x()}var ta,da,Ma,za,eb=z.zoomType,ab=/x/.test(eb),xa=/y/.test(eb),Oa=ab&&!va||xa&&va,R=xa&&!va||ab&&va;bd=function(){if(Ec){Ec.translate(X,ea);va&&Ec.attr({width:l.plotWidth,height:l.plotHeight}).invert()}else l.trackerGroup=Ec=ga.g("tracker").attr({zIndex:9}).add()};bd();if(p.enabled)l.tooltip=hc=e(p);(function(){oa.onmousedown=function(s){s=q(s);!Kb&&s.preventDefault&&s.preventDefault();l.mouseIsDown=ud=true;ta=s.chartX;da=s.chartY;Qa(ua, -Kb?"touchend":"mouseup",V)};var L=function(s){if(!(s&&s.touches&&s.touches.length>1)){s=q(s);if(!Kb)s.returnValue=false;var o=s.chartX,I=s.chartY,ba=!gc(o-X,I-ea);Jb||(Jb=Fd(oa));if(Kb&&s.type==="touchstart")if(Ga(s.target,"isTracker"))l.runTrackerClick||s.preventDefault();else!ke&&!ba&&s.preventDefault();if(ba){if(oX+Da)o=X+Da;if(Iea+Aa)I=ea+Aa}if(ud&&s.type!=="touchstart"){Ma=Math.sqrt(Math.pow(ta-o,2)+Math.pow(da-I,2));if(Ma>10){if(sc&&(ab||xa)&&gc(ta-X,da-ea))za|| -(za=ga.rect(X,ea,Oa?1:Da,R?1:Aa,0).attr({fill:z.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add());if(za&&Oa){o=o-ta;za.attr({width:bb(o),x:(o>0?0:o)+ta})}if(za&&R){I=I-da;za.attr({height:bb(I),y:(I>0?0:I)+da})}}}else if(!ba){var B;I=l.hoverPoint;o=l.hoverSeries;var D,ca,la=$a,qa=va?s.chartY:s.chartX-X;if(hc&&p.shared){B=[];D=Ha.length;for(ca=0;cala&&B.splice(D,1);if(B.length&&B[0].plotX!==sd){hc.refresh(B);sd=B[0].plotX}}if(o&&o.tracker)(s=o.tooltipPoints[qa])&&s!==I&&s.onMouseOver()}return ba||!sc}};oa.onmousemove=L;Qa(oa,"mouseleave",x);Qa(ua,"mousemove",N);oa.ontouchstart=function(s){if(ab||xa)oa.onmousedown(s);L(s)};oa.ontouchmove=L;oa.ontouchend=function(){Ma&&x()};oa.onclick=function(s){var o=l.hoverPoint;s=q(s);s.cancelBubble=true;if(!Ma)if(o&&Ga(s.target,"isTracker")){var I=o.plotX,ba=o.plotY;sa(o,{pageX:Jb.left+ -X+(va?Da-ba:I),pageY:Jb.top+ea+(va?Aa-I:ba)});Pa(o.series,"click",sa(s,{point:o}));o.firePointEvent("click",s)}else{sa(s,w(s));gc(s.chartX-X,s.chartY-ea)&&Pa(l,"click",s)}Ma=false}})();Vd=setInterval(function(){rd&&rd()},32);sa(this,{zoomX:ab,zoomY:xa,resetTracker:x,destroy:function(){if(l.trackerGroup)l.trackerGroup=Ec=l.trackerGroup.destroy();pb(ua,"mousemove",N);oa.onclick=oa.onmousedown=oa.onmousemove=oa.ontouchstart=oa.ontouchend=oa.ontouchmove=null}})}function g(p){var q=p.type||z.type||z.defaultSeriesType, -w=wb[q],x=l.hasRendered;if(x)if(va&&q==="column")w=wb.bar;else if(!va&&q==="bar")w=wb.column;q=new w;q.init(l,p);if(!x&&q.inverted)va=true;if(q.isCartesian)sc=q.isCartesian;Ha.push(q);return q}function h(){z.alignTicks!==false&&u(Va,function(p){p.adjustTickAmount()});Ob=null}function i(p){var q=l.isDirtyLegend,w,x=l.isDirtyBox,V=Ha.length,N=V,ta=l.clipRect;for(oc(p,l);N--;){p=Ha[N];if(p.isDirty&&p.options.stacking){w=true;break}}if(w)for(N=V;N--;){p=Ha[N];if(p.options.stacking)p.isDirty=true}u(Ha, -function(da){if(da.isDirty){da.cleanData();da.getSegments();if(da.options.legendType==="point")q=true}});if(q&&Fc.renderLegend){Fc.renderLegend();l.isDirtyLegend=false}if(sc){if(!cd){Ob=null;u(Va,function(da){da.setScale()})}h();Gc();u(Va,function(da){if(da.isDirty||x){da.redraw();x=true}})}if(x){vd();bd();if(ta){Hc(ta);ta.animate({width:l.plotSizeX,height:l.plotSizeY})}}u(Ha,function(da){if(da.isDirty&&da.visible&&(!da.isCartesian||da.xAxis))da.redraw()});Yb&&Yb.resetTracker&&Yb.resetTracker();Pa(l, -"redraw")}function j(){var p=a.xAxis||{},q=a.yAxis||{},w;p=zc(p);u(p,function(x,V){x.index=V;x.isX=true});q=zc(q);u(q,function(x,V){x.index=V});Va=p.concat(q);l.xAxis=[];l.yAxis=[];Va=tc(Va,function(x){w=new c(x);l[w.isXAxis?"xAxis":"yAxis"].push(w);return w});h()}function m(p,q){uc=Ca(a.title,p);Ic=Ca(a.subtitle,q);u([["title",p,uc],["subtitle",q,Ic]],function(w){var x=w[0],V=l[x],N=w[1];w=w[2];if(V&&N)V=V.destroy();if(w&&w.text&&!V)l[x]=ga.text(w.text,0,0,w.useHTML).attr({align:w.align,"class":"highcharts-"+ -x,zIndex:1}).css(w.style).add().align(w,false,Rb)})}function v(){qb=z.renderTo;Wd=vc+wd++;if(Sb(qb))qb=ua.getElementById(qb);qb.innerHTML="";if(!qb.offsetWidth){Zb=qb.cloneNode(0);Ja(Zb,{position:ic,top:"-9999px",display:""});ua.body.appendChild(Zb)}dd=(Zb||qb).offsetWidth;Jc=(Zb||qb).offsetHeight;l.chartWidth=$a=z.width||dd||600;l.chartHeight=cb=z.height||(Jc>19?Jc:400);l.container=oa=hb(Tb,{className:"highcharts-container"+(z.className?" "+z.className:""),id:Wd},sa({position:Xd,overflow:ob,width:$a+ -Ua,height:cb+Ua,textAlign:"left"},z.style),Zb||qb);l.renderer=ga=z.forExport?new ed(oa,$a,cb,true):new fd(oa,$a,cb);var p,q;if(Yd&&oa.getBoundingClientRect){p=function(){Ja(oa,{left:0,top:0});q=oa.getBoundingClientRect();Ja(oa,{left:-(q.left-ja(q.left))+Ua,top:-(q.top-ja(q.top))+Ua})};p();Qa(db,"resize",p);Qa(l,"destroy",function(){pb(db,"resize",p)})}}function P(){function p(){var w=z.width||qb.offsetWidth,x=z.height||qb.offsetHeight;if(w&&x){if(w!==dd||x!==Jc){clearTimeout(q);q=setTimeout(function(){xd(w, -x,false)},100)}dd=w;Jc=x}}var q;Qa(db,"resize",p);Qa(l,"destroy",function(){pb(db,"resize",p)})}function T(){Pa(l,"endResize",null,function(){cd-=1})}function Y(){var p=a.labels,q=a.credits,w;m();Fc=l.legend=new le;Gc();u(Va,function(x){x.setTickPositions(true)});h();Gc();vd();sc&&u(Va,function(x){x.render()});if(!l.seriesGroup)l.seriesGroup=ga.g("series-group").attr({zIndex:3}).add();u(Ha,function(x){x.translate();x.setTooltipPoints();x.render()});p.items&&u(p.items,function(){var x=sa(p.style,this.style), -V=ja(x.left)+X,N=ja(x.top)+ea+12;delete x.left;delete x.top;ga.text(this.html,V,N).attr({zIndex:2}).css(x).add()});if(!l.toolbar)l.toolbar=d();if(q.enabled&&!l.credits){w=q.href;l.credits=ga.text(q.text,0,0).on("click",function(){if(w)location.href=w}).attr({align:q.position.align,zIndex:8}).css(q.style).add().align(q.position)}bd();l.hasRendered=true;if(Zb){qb.appendChild(oa);pc(Zb)}}function H(){var p,q=oa&&oa.parentNode;if(l!==null){Pa(l,"destroy");pb(db,"unload",H);pb(l);for(p=Va.length;p--;)Va[p]= -Va[p].destroy();for(p=Ha.length;p--;)Ha[p]=Ha[p].destroy();u(["title","subtitle","seriesGroup","clipRect","credits","tracker"],function(w){var x=l[w];if(x)l[w]=x.destroy()});u([wc,xc,Kc,Fc,hc,ga,Yb],function(w){w&&w.destroy&&w.destroy()});wc=xc=Kc=Fc=hc=ga=Yb=null;if(oa){oa.innerHTML="";pb(oa);q&&pc(oa);oa=null}clearInterval(Vd);for(p in l)delete l[p];l=null}}function U(){if(!Lc&&db==db.top&&ua.readyState!=="complete")ua.attachEvent("onreadystatechange",function(){ua.detachEvent("onreadystatechange", -U);ua.readyState==="complete"&&U()});else{v();yd();zd();u(a.series||[],function(p){g(p)});l.inverted=va=A(va,a.chart.inverted);j();l.render=Y;l.tracker=Yb=new f(a.tooltip);Y();Pa(l,"load");b&&b.apply(l,[l]);u(l.callbacks,function(p){p.apply(l,[l])})}}Yc=Ca(Yc,Xa.xAxis);od=Ca(od,Xa.yAxis);Xa.xAxis=Xa.yAxis=null;a=Ca(Xa,a);var z=a.chart,M=z.margin;M=Nb(M)?M:[M,M,M,M];var y=A(z.marginTop,M[0]),C=A(z.marginRight,M[1]),Z=A(z.marginBottom,M[2]),Sa=A(z.marginLeft,M[3]),Na=z.spacingTop,Ea=z.spacingRight, -gb=z.spacingBottom,Lb=z.spacingLeft,Rb,uc,Ic,ea,Ib,vb,X,Xb,qb,Zb,oa,Wd,dd,Jc,$a,cb,qd,ad,wc,Kc,Ad,xc,l=this,ke=(M=z.events)&&!!M.click,Bd,gc,hc,ud,jc,Zd,Cd,Aa,Da,Yb,Ec,bd,Fc,$b,ac,Jb,sc=z.showAxes,cd=0,Va=[],Ob,Ha=[],va,ga,rd,Vd,sd,vd,Gc,yd,zd,xd,td,$d,le=function(){function p(G,ha){var na=G.legendItem,Ra=G.legendLine,La=G.legendSymbol,pa=Oa.color,wa=ha?N.itemStyle.color:pa,zb=ha?G.color:pa;pa=ha?G.pointAttr[ib]:{stroke:pa,fill:pa};na&&na.css({fill:wa});Ra&&Ra.attr({stroke:zb});La&&La.attr(pa)}function q(G, -ha,na){var Ra=G.legendItem,La=G.legendLine,pa=G.legendSymbol;G=G.checkbox;Ra&&Ra.attr({x:ha,y:na});La&&La.translate(ha,na-4);pa&&pa.attr({x:ha+pa.xOff,y:na+pa.yOff});if(G){G.x=ha;G.y=na}}function w(){u(za,function(G){var ha=G.checkbox,na=qa.alignAttr;ha&&Ja(ha,{left:na.translateX+G.legendItemWidth+ha.x-40+Ua,top:na.translateY+ha.y-11+Ua})})}function x(G){var ha,na,Ra,La,pa=G.legendItem;La=G.series||G;var wa=La.options,zb=wa&&wa.borderWidth||0;if(!pa){La=/^(bar|pie|area|column)$/.test(La.type);G.legendItem= -pa=ga.text(N.labelFormatter.call(G),0,0).css(G.visible?ab:Oa).on("mouseover",function(){G.setState(Bb);pa.css(xa)}).on("mouseout",function(){pa.css(G.visible?ab:Oa);G.setState()}).on("click",function(){var Gb=function(){G.setVisible()};G.firePointEvent?G.firePointEvent("legendItemClick",null,Gb):Pa(G,"legendItemClick",null,Gb)}).attr({zIndex:2}).add(qa);if(!La&&wa&&wa.lineWidth){var Vb={"stroke-width":wa.lineWidth,zIndex:2};if(wa.dashStyle)Vb.dashstyle=wa.dashStyle;G.legendLine=ga.path([Za,-da-Ma, -0,Ka,-Ma,0]).attr(Vb).add(qa)}if(La)ha=ga.rect(na=-da-Ma,Ra=-11,da,12,2).attr({zIndex:3}).add(qa);else if(wa&&wa.marker&&wa.marker.enabled)ha=ga.symbol(G.symbol,na=-da/2-Ma,Ra=-4,wa.marker.radius).attr({zIndex:3}).add(qa);if(ha){ha.xOff=na+zb%2/2;ha.yOff=Ra+zb%2/2}G.legendSymbol=ha;p(G,G.visible);if(wa&&wa.showCheckbox){G.checkbox=hb("input",{type:"checkbox",checked:G.selected,defaultChecked:G.selected},N.itemCheckboxStyle,oa);Qa(G.checkbox,"click",function(Gb){Pa(G,"checkboxClick",{checked:Gb.target.checked}, -function(){G.select()})})}}ha=pa.getBBox();na=G.legendItemWidth=N.itemWidth||da+Ma+ha.width+R;B=ha.height;if(ta&&o-s+na>(fb||$a-2*R-s)){o=s;I+=B}ba=I;q(G,o,I);if(ta)o+=na;else I+=B;ya=fb||Ia(ta?o-s:na,ya)}function V(){o=s;I=L;ba=ya=0;qa||(qa=ga.g("legend").attr({zIndex:7}).add());za=[];u(Hb,function(Ra){var La=Ra.options;if(La.showInLegend)za=za.concat(La.legendType==="point"?Ra.data:Ra)});Hd(za,function(Ra,La){return(Ra.options.legendIndex||0)-(La.options.legendIndex||0)});cc&&za.reverse();u(za, -x);$b=fb||ya;ac=ba-L+B;if(ca||la){$b+=2*R;ac+=2*R;if(D){if($b>0&&ac>0){D[D.isNew?"attr":"animate"](D.crisp(null,null,null,$b,ac));D.isNew=false}}else{D=ga.rect(0,0,$b,ac,N.borderRadius,ca||0).attr({stroke:N.borderColor,"stroke-width":ca||0,fill:la||jb}).add(qa).shadow(N.shadow);D.isNew=true}D[za.length?"show":"hide"]()}for(var G=["left","right","top","bottom"],ha,na=4;na--;){ha=G[na];if(eb[ha]&&eb[ha]!=="auto"){N[na<2?"align":"verticalAlign"]=ha;N[na<2?"x":"y"]=ja(eb[ha])*(na%2?-1:1)}}za.length&& -qa.align(sa(N,{width:$b,height:ac}),true,Rb);cd||w()}var N=l.options.legend;if(N.enabled){var ta=N.layout==="horizontal",da=N.symbolWidth,Ma=N.symbolPadding,za,eb=N.style,ab=N.itemStyle,xa=N.itemHoverStyle,Oa=N.itemHiddenStyle,R=ja(eb.padding),L=18,s=4+R+da+Ma,o,I,ba,B=0,D,ca=N.borderWidth,la=N.backgroundColor,qa,ya,fb=N.width,Hb=l.series,cc=N.reversed;V();Qa(l,"endResize",w);return{colorizeItem:p,destroyItem:function(G){var ha=G.checkbox;u(["legendItem","legendLine","legendSymbol"],function(na){G[na]&& -G[na].destroy()});ha&&pc(G.checkbox)},renderLegend:V,destroy:function(){if(D)D=D.destroy();if(qa)qa=qa.destroy()}}}};gc=function(p,q){return p>=0&&p<=Da&&q>=0&&q<=Aa};$d=function(){Pa(l,"selection",{resetSelection:true},td);l.toolbar.remove("zoom")};td=function(p){var q=Xa.lang,w=l.pointCount<100;l.toolbar.add("zoom",q.resetZoom,q.resetZoomTitle,$d);!p||p.resetSelection?u(Va,function(x){x.setExtremes(null,null,false,w)}):u(p.xAxis.concat(p.yAxis),function(x){var V=x.axis;if(l.tracker[V.isXAxis?"zoomX": -"zoomY"])V.setExtremes(x.min,x.max,false,w)});i()};Gc=function(){var p=a.legend,q=A(p.margin,10),w=p.x,x=p.y,V=p.align,N=p.verticalAlign,ta;yd();if((l.title||l.subtitle)&&!K(y))if(ta=Ia(l.title&&!uc.floating&&!uc.verticalAlign&&uc.y||0,l.subtitle&&!Ic.floating&&!Ic.verticalAlign&&Ic.y||0))ea=Ia(ea,ta+A(uc.margin,15)+Na);if(p.enabled&&!p.floating)if(V==="right")K(C)||(Ib=Ia(Ib,$b-w+q+Ea));else if(V==="left")K(Sa)||(X=Ia(X,$b+w+q+Lb));else if(N==="top")K(y)||(ea=Ia(ea,ac+x+q+Na));else if(N==="bottom")K(Z)|| -(vb=Ia(vb,ac-x+q+gb));sc&&u(Va,function(da){da.getOffset()});K(Sa)||(X+=Xb[3]);K(y)||(ea+=Xb[0]);K(Z)||(vb+=Xb[2]);K(C)||(Ib+=Xb[1]);zd()};xd=function(p,q,w){var x=l.title,V=l.subtitle;cd+=1;oc(w,l);ad=cb;qd=$a;l.chartWidth=$a=W(p);l.chartHeight=cb=W(q);Ja(oa,{width:$a+Ua,height:cb+Ua});ga.setSize($a,cb,w);Da=$a-X-Ib;Aa=cb-ea-vb;Ob=null;u(Va,function(N){N.isDirty=true;N.setScale()});u(Ha,function(N){N.isDirty=true});l.isDirtyLegend=true;l.isDirtyBox=true;Gc();x&&x.align(null,null,Rb);V&&V.align(null, -null,Rb);i(w);ad=null;Pa(l,"resize");Bc===false?T():setTimeout(T,Bc&&Bc.duration||500)};zd=function(){l.plotLeft=X=W(X);l.plotTop=ea=W(ea);l.plotWidth=Da=W($a-X-Ib);l.plotHeight=Aa=W(cb-ea-vb);l.plotSizeX=va?Aa:Da;l.plotSizeY=va?Da:Aa;Rb={x:Lb,y:Na,width:$a-Lb-Ea,height:cb-Na-gb}};yd=function(){ea=A(y,Na);Ib=A(C,Ea);vb=A(Z,gb);X=A(Sa,Lb);Xb=[0,0,0,0]};vd=function(){var p=z.borderWidth||0,q=z.backgroundColor,w=z.plotBackgroundColor,x=z.plotBackgroundImage,V,N={x:X,y:ea,width:Da,height:Aa};V=p+(z.shadow? -8:0);if(p||q)if(wc)wc.animate(wc.crisp(null,null,null,$a-V,cb-V));else wc=ga.rect(V/2,V/2,$a-V,cb-V,z.borderRadius,p).attr({stroke:z.borderColor,"stroke-width":p,fill:q||jb}).add().shadow(z.shadow);if(w)if(Kc)Kc.animate(N);else Kc=ga.rect(X,ea,Da,Aa,0).attr({fill:w}).add().shadow(z.plotShadow);if(x)if(Ad)Ad.animate(N);else Ad=ga.image(x,X,ea,Da,Aa).add();if(z.plotBorderWidth)if(xc)xc.animate(xc.crisp(null,X,ea,Da,Aa));else xc=ga.rect(X,ea,Da,Aa,0,z.plotBorderWidth).attr({stroke:z.plotBorderColor, -"stroke-width":z.plotBorderWidth,zIndex:4}).add();l.isDirtyBox=false};Qa(db,"unload",H);z.reflow!==false&&Qa(l,"load",P);if(M)for(Bd in M)Qa(l,Bd,M[Bd]);l.options=a;l.series=Ha;l.addSeries=function(p,q,w){var x;if(p){oc(w,l);q=A(q,true);Pa(l,"addSeries",{options:p},function(){x=g(p);x.isDirty=true;l.isDirtyLegend=true;q&&l.redraw()})}return x};l.animation=A(z.animation,true);l.destroy=H;l.get=function(p){var q,w,x;for(q=0;q=a)this.color=0},wrapSymbol:function(a){if(this.symbol>=a)this.symbol=0}};Nc={init:function(a,b,c){b=b||"";var d=a.shift,e=b.indexOf("C")>-1,f=e?7:3,g;b=b.split(" ");c=[].concat(c);var h, -i,j=function(m){for(g=m.length;g--;)m[g]===Za&&m.splice(g+1,0,m[g+1],m[g+2],m[g+1],m[g+2])};if(e){j(b);j(c)}if(a.isArea){h=b.splice(b.length-6,6);i=c.splice(c.length-6,6)}if(d){c=[].concat(c).splice(0,f).concat(c);a.shift=false}if(b.length)for(a=c.length;b.length255)b[e]=255}}return this},setOpacity:function(d){b[3]=d;return this}}};Uc.prototype={init:function(a,b){this.element=ua.createElementNS("http://www.w3.org/2000/svg", -b);this.renderer=a},animate:function(a,b,c){if(b=A(b,Bc,true)){b=Ca(b);if(c)b.complete=c;gd(this,a,b)}else{this.attr(a);c&&c()}},attr:function(a,b){var c,d,e,f,g=this.element,h=g.nodeName,i=this.renderer,j,m=this.shadows,v=this.htmlNode,P,T=this;if(Sb(a)&&K(b)){c=a;a={};a[c]=b}if(Sb(a)){c=a;if(h==="circle")c={x:"cx",y:"cy"}[c]||c;else if(c==="strokeWidth")c="stroke-width";T=Ga(g,c)||this[c]||0;if(c!=="d"&&c!=="visibility")T=parseFloat(T)}else for(c in a){j=false;d=a[c];if(c==="d"){if(d&&d.join)d= -d.join(" ");if(/(NaN| {2}|^$)/.test(d))d="M 0 0";this.d=d}else if(c==="x"&&h==="text"){for(e=0;eg||!K(g)&&K(b))){d.insertBefore(f,a);return this}}d.appendChild(f);this.added=true;return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,b=a.element|| -{},c=a.shadows,d,e;b.onclick=b.onmouseout=b.onmouseover=b.onmousemove=null;Hc(a);if(a.clipPath)a.clipPath=a.clipPath.destroy();if(a.stops){for(e=0;e/g,'').replace(/<(i|em)>/g,'').replace(//g,"").split(//g),d=b.childNodes,e=/style="([^"]+)"/,f=/href="([^"]+)"/,g=Ga(b,"x"),h=a.styles,i=h&&a.useHTML&&!this.forExport,j=a.htmlNode,m=h&&ja(h.width),v=h&&h.lineHeight,P,T=d.length;T--;)b.removeChild(d[T]);m&&!a.added&& -this.box.appendChild(b);u(c,function(Y,H){var U,z=0,M;Y=Y.replace(//g,"|||");U=Y.split("|||");u(U,function(y){if(y!==""||U.length===1){var C={},Z=ua.createElementNS("http://www.w3.org/2000/svg","tspan");e.test(y)&&Ga(Z,"style",y.match(e)[1].replace(/(;| |^)color([ :])/,"$1fill$2"));if(f.test(y)){Ga(Z,"onclick",'location.href="'+y.match(f)[1]+'"');Ja(Z,{cursor:"pointer"})}y=(y.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"<").replace(/>/g,">");Z.appendChild(ua.createTextNode(y)); -if(z)C.dx=3;else C.x=g;if(!z){if(H){!Lc&&a.renderer.forExport&&Ja(Z,{display:"block"});M=db.getComputedStyle&&ja(db.getComputedStyle(P,null).getPropertyValue("line-height"));if(!M||isNaN(M))M=v||P.offsetHeight||18;Ga(Z,"dy",M)}P=Z}Ga(Z,C);b.appendChild(Z);z++;if(m){y=y.replace(/-/g,"- ").split(" ");for(var Sa,Na=[];y.length||Na.length;){Sa=b.getBBox().width;C=Sa>m;if(!C||y.length===1){y=Na;Na=[];if(y.length){Z=ua.createElementNS("http://www.w3.org/2000/svg","tspan");Ga(Z,{dy:v||16,x:g});b.appendChild(Z); -if(Sa>m)m=Sa}}else{Z.removeChild(Z.firstChild);Na.unshift(y.pop())}y.length&&Z.appendChild(ua.createTextNode(y.join(" ").replace(/- /g,"-")))}}}})});if(i){if(!j)j=a.htmlNode=hb("span",null,sa(h,{position:ic,top:0,left:0}),this.box.parentNode);j.innerHTML=a.textStr;for(T=d.length;T--;)d[T].style.visibility=ob}},crispLine:function(a,b){if(a[1]===a[4])a[1]=a[4]=W(a[1])+b%2/2;if(a[2]===a[5])a[2]=a[5]=W(a[2])+b%2/2;return a},path:function(a){return this.createElement("path").attr({d:a,fill:jb})},circle:function(a, -b,c){a=Nb(a)?a:{x:a,y:b,r:c};return this.createElement("circle").attr(a)},arc:function(a,b,c,d,e,f){if(Nb(a)){b=a.y;c=a.r;d=a.innerR;e=a.start;f=a.end;a=a.x}return this.symbol("arc",a||0,b||0,c||0,{innerR:d||0,start:e||0,end:f||0})},rect:function(a,b,c,d,e,f){if(Nb(a)){b=a.y;c=a.width;d=a.height;e=a.r;f=a.strokeWidth;a=a.x}e=this.createElement("rect").attr({rx:e,ry:e,fill:jb});return e.attr(e.crisp(f,a,b,Ia(c,0),Ia(d,0)))},setSize:function(a,b,c){var d=this.alignedObjects,e=d.length;this.width=a; -this.height=b;for(this.boxWrapper[A(c,true)?"animate":"attr"]({width:a,height:b});e--;)d[e].align()},g:function(a){var b=this.createElement("g");return K(a)?b.attr({"class":vc+a}):b},image:function(a,b,c,d,e){var f={preserveAspectRatio:jb};arguments.length>1&&sa(f,{x:b,y:c,width:d,height:e});f=this.createElement("image").attr(f);f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):f.element.setAttribute("hc-svg-href",a);return f},symbol:function(a,b,c,d,e){var f, -g=this.symbols[a];g=g&&g(W(b),W(c),d,e);var h=/^url\((.*?)\)$/,i;if(g){f=this.path(g);sa(f,{symbolName:a,x:b,y:c,r:d});e&&sa(f,e)}else if(h.test(a)){var j=function(m,v){m.attr({width:v[0],height:v[1]}).translate(-W(v[0]/2),-W(v[1]/2))};i=a.match(h)[1];a=be[i];f=this.image(i).attr({x:b,y:c});if(a)j(f,a);else{f.attr({width:0,height:0});hb("img",{onload:function(){j(f,be[i]=[this.width,this.height])},src:i})}}else f=this.circle(b,c,d);return f},symbols:{square:function(a,b,c){c=0.707*c;return[Za,a-c, -b-c,Ka,a+c,b-c,a+c,b+c,a-c,b+c,"Z"]},triangle:function(a,b,c){return[Za,a,b-1.33*c,Ka,a+c,b+0.67*c,a-c,b+0.67*c,"Z"]},"triangle-down":function(a,b,c){return[Za,a,b+1.33*c,Ka,a-c,b-0.67*c,a+c,b-0.67*c,"Z"]},diamond:function(a,b,c){return[Za,a,b-c,Ka,a+c,b,a,b+c,a-c,b,"Z"]},arc:function(a,b,c,d){var e=d.start,f=d.end-1.0E-6,g=d.innerR,h=rb(e),i=Cb(e),j=rb(f);f=Cb(f);d=d.end-e');if(b){c=b===Tb||b==="span"||b==="img"?c.join(""):a.prepVML(c);this.element=hb(c)}this.renderer=a},add:function(a){var b=this.renderer,c=this.element,d=b.box;d=a?a.element||a:d;a&&a.inverted&&b.invertChild(c,d);Mc&&d.gVis===ob&&Ja(c,{visibility:ob});d.appendChild(c);this.added=true;this.alignOnAdd&& -this.updateTransform();return this},attr:function(a,b){var c,d,e,f=this.element||{},g=f.style,h=f.nodeName,i=this.renderer,j=this.symbolName,m,v,P=this.shadows,T=this;if(Sb(a)&&K(b)){c=a;a={};a[c]=b}if(Sb(a)){c=a;T=c==="strokeWidth"||c==="stroke-width"?this.strokeweight:this[c]}else for(c in a){d=a[c];m=false;if(j&&/^(x|y|r|start|end|width|height|innerR)/.test(c)){if(!v){this.symbolAttr(a);v=true}m=true}else if(c==="d"){d=d||[];this.d=d.join(" ");e=d.length;for(m=[];e--;)m[e]=lc(d[e])?W(d[e]*10)- -5:d[e]==="Z"?"x":d[e];d=m.join(" ")||"x";f.path=d;if(P)for(e=P.length;e--;)P[e].path=d;m=true}else if(c==="zIndex"||c==="visibility"){if(Mc&&c==="visibility"&&h==="DIV"){f.gVis=d;m=f.childNodes;for(e=m.length;e--;)Ja(m[e],{visibility:d});if(d===Ab)d=null}if(d)g[c]=d;m=true}else if(/^(width|height)$/.test(c)){this[c]=d;if(this.updateClipping){this[c]=d;this.updateClipping()}else g[c]=d;m=true}else if(/^(x|y)$/.test(c)){this[c]=d;if(f.tagName==="SPAN")this.updateTransform();else g[{x:"left",y:"top"}[c]]= -d}else if(c==="class")f.className=d;else if(c==="stroke"){d=i.color(d,f,c);c="strokecolor"}else if(c==="stroke-width"||c==="strokeWidth"){f.stroked=d?true:false;c="strokeweight";this[c]=d;if(lc(d))d+=Ua}else if(c==="dashstyle"){(f.getElementsByTagName("stroke")[0]||hb(i.prepVML([""]),null,null,f))[c]=d||"solid";this.dashstyle=d;m=true}else if(c==="fill")if(h==="SPAN")g.color=d;else{f.filled=d!==jb?true:false;d=i.color(d,f,c);c="fillcolor"}else if(c==="translateX"||c==="translateY"||c==="rotation"|| -c==="align"){if(c==="align")c="textAlign";this[c]=d;this.updateTransform();m=true}else if(c==="text"){this.bBox=null;f.innerHTML=d;m=true}if(P&&c==="visibility")for(e=P.length;e--;)P[e].style[c]=d;if(!m)if(Mc)f[c]=d;else Ga(f,c,d)}return T},clip:function(a){var b=this,c=a.members;c.push(b);b.destroyClip=function(){nc(c,b)};return b.css(a.getCSS(b.inverted))},css:function(a){var b=this.element;if(b=a&&b.tagName==="SPAN"&&a.width){delete a.width;this.textWidth=b;this.updateTransform()}this.styles=sa(this.styles, -a);Ja(this.element,a);return this},safeRemoveChild:function(a){a.parentNode&&pc(a)},destroy:function(){this.destroyClip&&this.destroyClip();return Uc.prototype.destroy.apply(this)},empty:function(){for(var a=this.element.childNodes,b=a.length,c;b--;){c=a[b];c.parentNode.removeChild(c)}},getBBox:function(){var a=this.element,b=this.bBox;if(!b){if(a.nodeName==="text")a.style.position=ic;b=this.bBox={x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}}return b},on:function(a,b){this.element["on"+ -a]=function(){var c=db.event;c.target=c.srcElement;b(c)};return this},updateTransform:function(){if(this.added){var a=this,b=a.element,c=a.translateX||0,d=a.translateY||0,e=a.x||0,f=a.y||0,g=a.textAlign||"left",h={left:0,center:0.5,right:1}[g],i=g&&g!=="left";if(c||d)a.css({marginLeft:c,marginTop:d});a.inverted&&u(b.childNodes,function(z){a.renderer.invertChild(z,b)});if(b.tagName==="SPAN"){var j,m;c=a.rotation;var v;j=0;d=1;var P=0,T;v=ja(a.textWidth);var Y=a.xCorr||0,H=a.yCorr||0,U=[c,g,b.innerHTML, -a.textWidth].join(",");if(U!==a.cTT){if(K(c)){j=c*ae;d=rb(j);P=Cb(j);Ja(b,{filter:c?["progid:DXImageTransform.Microsoft.Matrix(M11=",d,", M12=",-P,", M21=",P,", M22=",d,", sizingMethod='auto expand')"].join(""):jb})}j=b.offsetWidth;m=b.offsetHeight;if(j>v){Ja(b,{width:v+Ua,display:"block",whiteSpace:"normal"});j=v}v=W((ja(b.style.fontSize)||12)*1.2);Y=d<0&&-j;H=P<0&&-m;T=d*P<0;Y+=P*v*(T?1-h:h);H-=d*v*(c?T?h:1-h:1);if(i){Y-=j*h*(d<0?-1:1);if(c)H-=m*h*(P<0?-1:1);Ja(b,{textAlign:g})}a.xCorr=Y;a.yCorr= -H}Ja(b,{left:e+Y,top:f+H});a.cTT=U}}else this.alignOnAdd=true},shadow:function(a,b){var c=[],d,e=this.element,f=this.renderer,g,h=e.style,i,j=e.path;if(j&&typeof j.value!=="string")j="x";if(a){for(d=1;d<=3;d++){i=[''];g=hb(f.prepVML(i),null,{left:ja(h.left)+1,top:ja(h.top)+1});i=[''];hb(f.prepVML(i),null,null,g);b?b.element.appendChild(g): -e.parentNode.insertBefore(g,e);c.push(g)}this.shadows=c}return this}});ma=function(){this.init.apply(this,arguments)};ma.prototype=Ca(ed.prototype,{Element:Db,isIE8:yc.indexOf("MSIE 8.0")>-1,init:function(a,b,c){var d;this.alignedObjects=[];d=this.createElement(Tb);a.appendChild(d.element);this.box=d.element;this.boxWrapper=d;this.setSize(b,c,false);if(!ua.namespaces.hcv){ua.namespaces.add("hcv","urn:schemas-microsoft-com:vml");ua.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}}, -clipRect:function(a,b,c,d){var e=this.createElement();return sa(e,{members:[],left:a,top:b,width:c,height:d,getCSS:function(f){var g=this.top,h=this.left,i=h+this.width,j=g+this.height;g={clip:"rect("+W(f?h:g)+"px,"+W(f?j:i)+"px,"+W(f?i:j)+"px,"+W(f?g:h)+"px)"};!f&&Mc&&sa(g,{width:i+Ua,height:j+Ua});return g},updateClipping:function(){u(e.members,function(f){f.css(e.getCSS(f.inverted))})}})},color:function(a,b,c){var d,e=/^rgba/;if(a&&a.linearGradient){var f,g,h=a.linearGradient,i,j,m,v;u(a.stops, -function(P,T){if(e.test(P[1])){d=bc(P[1]);f=d.get("rgb");g=d.get("a")}else{f=P[1];g=1}if(T){m=f;v=g}else{i=f;j=g}});a=90-Fa.atan((h[3]-h[1])/(h[2]-h[0]))*180/kc;a=["<",c,' colors="0% ',i,",100% ",m,'" angle="',a,'" opacity="',v,'" o:opacity2="',j,'" type="gradient" focus="100%" />'];hb(this.prepVML(a),null,null,b)}else if(e.test(a)&&b.tagName!=="IMG"){d=bc(a);a=["<",c,' opacity="',d.get("a"),'"/>'];hb(this.prepVML(a),null,null,b);return d.get("rgb")}else{b=b.getElementsByTagName(c);if(b.length)b[0].opacity= -1;return a}},prepVML:function(a){var b=this.isIE8;a=a.join("");if(b){a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />');a=a.indexOf('style="')===-1?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')}else a=a.replace("<","1&&f.css({left:b,top:c,width:d,height:e});return f},rect:function(a,b,c,d,e,f){if(Nb(a)){b=a.y;c=a.width;d=a.height;e=a.r;f=a.strokeWidth; -a=a.x}var g=this.symbol("rect");g.r=e;return g.attr(g.crisp(f,a,b,Ia(c,0),Ia(d,0)))},invertChild:function(a,b){var c=b.style;Ja(a,{flip:"x",left:ja(c.width)-10,top:ja(c.height)-10,rotation:-90})},symbols:{arc:function(a,b,c,d){var e=d.start,f=d.end,g=rb(e),h=Cb(e),i=rb(f),j=Cb(f);d=d.innerR;var m=0.07/c,v=d&&0.1/d||0;if(f-e===0)return["x"];else if(2*kc-f+e',this.name||b.name,": ",!a?"x = "+(this.name||this.x)+", ":"","",!a?"y = ":"",this.y,""].join("")},update:function(a,b,c){var d=this,e=d.series,f=d.graphic,g=e.chart;b=A(b,true);d.firePointEvent("update",{options:a},function(){d.applyOptions(a);if(Nb(a)){e.getAttribs();f&&f.attr(d.pointAttr[e.state])}e.isDirty=true;b&&g.redraw(c)})},remove:function(a,b){var c= -this,d=c.series,e=d.chart,f=d.data;oc(b,e);a=A(a,true);c.firePointEvent("remove",null,function(){nc(f,c);c.destroy();d.isDirty=true;a&&e.redraw()})},firePointEvent:function(a,b,c){var d=this,e=this.series.options;if(e.point.events[a]||d.options&&d.options.events&&d.options.events[a])this.importEvents();if(a==="click"&&e.allowPointSelect)c=function(f){d.select(null,f.ctrlKey||f.metaKey||f.shiftKey)};Pa(this,a,b,c)},importEvents:function(){if(!this.hasImportedEvents){var a=Ca(this.series.options.point, -this.options).events,b;this.events=a;for(b in a)Qa(this,b,a[b]);this.hasImportedEvents=true}},setState:function(a){var b=this.series,c=b.options.states,d=xb[b.type].marker&&b.options.marker,e=d&&!d.enabled,f=(d=d&&d.states[a])&&d.enabled===false,g=b.stateMarkerGraphic,h=b.chart,i=this.pointAttr;a=a||ib;if(!(a===this.state||this.selected&&a!=="select"||c[a]&&c[a].enabled===false||a&&(f||e&&!d.enabled))){if(this.graphic)this.graphic.attr(i[a]);else{if(a){if(!g)b.stateMarkerGraphic=g=h.renderer.circle(0, -0,i[a].r).attr(i[a]).add(b.group);g.translate(this.plotX,this.plotY)}if(g)g[a?"show":"hide"]()}this.state=a}}};var sb=function(){};sb.prototype={isCartesian:true,type:"line",pointClass:Oc,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},init:function(a,b){var c,d;d=a.series.length;this.chart=a;b=this.setOptions(b);sa(this,{index:d,options:b,name:b.name||"Series "+(d+1),state:ib,pointAttr:{},visible:b.visible!==false,selected:b.selected===true});d=b.events; -for(c in d)Qa(this,c,d[c]);if(d&&d.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=true;this.getColor();this.getSymbol();this.setData(b.data,false)},autoIncrement:function(){var a=this.options,b=this.xIncrement;b=A(b,a.pointStart,0);this.pointInterval=A(this.pointInterval,a.pointInterval,1);this.xIncrement=b+this.pointInterval;return b},cleanData:function(){var a=this.chart,b=this.data,c,d,e=a.smallestInterval,f,g;Hd(b,function(h,i){return h.x-i.x});if(this.options.connectNulls)for(g= -b.length-1;g>=0;g--)b[g].y===null&&b[g-1]&&b[g+1]&&b.splice(g,1);for(g=b.length-1;g>=0;g--)if(b[g-1]){f=b[g].x-b[g-1].x;if(f>0&&(d===Wa||fa+1&&b.push(c.slice(a+1,e));a=e}else e===c.length-1&&b.push(c.slice(a+1,e+1))});this.segments=b},setOptions:function(a){var b=this.chart.options.plotOptions;return Ca(b[this.type],b.series,a)},getColor:function(){var a= -this.chart.options.colors,b=this.chart.counters;this.color=this.options.color||a[b.color++]||"#0000ff";b.wrapColor(a.length)},getSymbol:function(){var a=this.chart.options.symbols,b=this.chart.counters;this.symbol=this.options.marker.symbol||a[b.symbol++];b.wrapSymbol(a.length)},addPoint:function(a,b,c,d){var e=this.data,f=this.graph,g=this.area,h=this.chart;a=(new this.pointClass).init(this,a);oc(d,h);if(f&&c)f.shift=c;if(g){g.shift=c;g.isArea=true}b=A(b,true);e.push(a);c&&e[0].remove(false);this.getAttribs(); -this.isDirty=true;b&&h.redraw()},setData:function(a,b){var c=this,d=c.data,e=c.initialColor,f=c.chart,g=d&&d.length||0;c.xIncrement=null;if(K(e))f.counters.color=e;for(a=tc(zc(a||[]),function(h){return(new c.pointClass).init(c,h)});g--;)d[g].destroy();c.data=a;c.cleanData();c.getSegments();c.getAttribs();c.isDirty=true;f.isDirtyBox=true;A(b,true)&&f.redraw(false)},remove:function(a,b){var c=this,d=c.chart;a=A(a,true);if(!c.isRemoving){c.isRemoving=true;Pa(c,"remove",null,function(){c.destroy();d.isDirtyLegend= -d.isDirtyBox=true;a&&d.redraw(b)})}c.isRemoving=false},translate:function(){for(var a=this.chart,b=this.options.stacking,c=this.xAxis.categories,d=this.yAxis,e=this.data,f=e.length;f--;){var g=e[f],h=g.x,i=g.y,j=g.low,m=d.stacks[(i<0?"-":"")+this.stackKey];g.plotX=this.xAxis.translate(h);if(b&&this.visible&&m&&m[h]){j=m[h];h=j.total;j.cum=j=j.cum-i;i=j+i;if(b==="percent"){j=h?j*100/h:0;i=h?i*100/h:0}g.percentage=h?g.y*100/h:0;g.stackTotal=h}if(K(j))g.yBottom=d.translate(j,0,1,0,1);if(i!==null)g.plotY= -d.translate(i,0,1,0,1);g.clientX=a.inverted?a.plotHeight-g.plotX:g.plotX;g.category=c&&c[g.x]!==Wa?c[g.x]:g.x}},setTooltipPoints:function(a){var b=this.chart,c=b.inverted,d=[],e=W((c?b.plotTop:b.plotLeft)+b.plotSizeX),f,g,h=[];if(a)this.tooltipPoints=null;u(this.segments,function(i){d=d.concat(i)});if(this.xAxis&&this.xAxis.reversed)d=d.reverse();u(d,function(i,j){f=d[j-1]?d[j-1]._high+1:0;for(g=i._high=d[j+1]?lb((i.plotX+(d[j+1]?d[j+1].plotX:e))/2):e;f<=g;)h[c?e-f++:f++]=i});this.tooltipPoints=h}, -onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(!(!Kb&&a.mouseIsDown)){b&&b!==this&&b.onMouseOut();this.options.events.mouseOver&&Pa(this,"mouseOver");this.tracker&&this.tracker.toFront();this.setState(Bb);a.hoverSeries=this}},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;d&&d.onMouseOut();this&&a.events.mouseOut&&Pa(this,"mouseOut");c&&!a.stickyTracking&&c.hide();this.setState();b.hoverSeries=null},animate:function(a){var b=this.chart,c=this.clipRect, -d=this.options.animation;if(d&&!Nb(d))d={};if(a){if(!c.isAnimating){c.attr("width",0);c.isAnimating=true}}else{c.animate({width:b.plotSizeX},d);this.animate=null}},drawPoints:function(){var a,b=this.data,c=this.chart,d,e,f,g,h,i;if(this.options.marker.enabled)for(f=b.length;f--;){g=b[f];d=g.plotX;e=g.plotY;i=g.graphic;if(e!==Wa&&!isNaN(e)){a=g.pointAttr[g.selected?"select":ib];h=a.r;if(i)i.animate({x:d,y:e,r:h});else g.graphic=c.renderer.symbol(A(g.marker&&g.marker.symbol,this.symbol),d,e,h).attr(a).add(this.group)}}}, -convertAttribs:function(a,b,c,d){var e=this.pointAttrToOptions,f,g,h={};a=a||{};b=b||{};c=c||{};d=d||{};for(f in e){g=e[f];h[f]=A(a[g],b[f],c[f],d[f])}return h},getAttribs:function(){var a=this,b=xb[a.type].marker?a.options.marker:a.options,c=b.states,d=c[Bb],e,f=a.color,g={stroke:f,fill:f},h=a.data,i=[],j,m=a.pointAttrToOptions,v;if(a.options.marker){d.radius=d.radius||b.radius+2;d.lineWidth=d.lineWidth||b.lineWidth+1}else d.color=d.color||bc(d.color||f).brighten(d.brightness).get();i[ib]=a.convertAttribs(b, -g);u([Bb,"select"],function(P){i[P]=a.convertAttribs(c[P],i[ib])});a.pointAttr=i;for(f=h.length;f--;){g=h[f];if((b=g.options&&g.options.marker||g.options)&&b.enabled===false)b.radius=0;e=false;if(g.options)for(v in m)if(K(b[m[v]]))e=true;if(e){j=[];c=b.states||{};e=c[Bb]=c[Bb]||{};if(!a.options.marker)e.color=bc(e.color||g.options.color).brighten(e.brightness||d.brightness).get();j[ib]=a.convertAttribs(b,i[ib]);j[Bb]=a.convertAttribs(c[Bb],i[Bb],j[ib]);j.select=a.convertAttribs(c.select,i.select, -j[ib])}else j=i;g.pointAttr=j}},destroy:function(){var a=this,b=a.chart,c=a.clipRect,d=/\/5[0-9\.]+ (Safari|Mobile)\//.test(yc),e,f;Pa(a,"destroy");pb(a);a.legendItem&&a.chart.legend.destroyItem(a);u(a.data,function(g){g.destroy()});if(c&&c!==b.clipRect)a.clipRect=c.destroy();u(["area","graph","dataLabelsGroup","group","tracker"],function(g){if(a[g]){e=d&&g==="group"?"hide":"destroy";a[g][e]()}});if(b.hoverSeries===a)b.hoverSeries=null;nc(b.series,a);for(f in a)delete a[f]},drawDataLabels:function(){if(this.options.dataLabels.enabled){var a, -b,c=this.data,d=this.options,e=d.dataLabels,f,g=this.dataLabelsGroup,h=this.chart,i=h.renderer,j=h.inverted,m=this.type,v;v=d.stacking;var P=m==="column"||m==="bar",T=e.verticalAlign===null,Y=e.y===null;if(P)if(v){if(T)e=Ca(e,{verticalAlign:"middle"});if(Y)e=Ca(e,{y:{top:14,middle:4,bottom:-6}[e.verticalAlign]})}else if(T)e=Ca(e,{verticalAlign:"top"});if(g)g.translate(h.plotLeft,h.plotTop);else g=this.dataLabelsGroup=i.g("data-labels").attr({visibility:this.visible?Ab:ob,zIndex:6}).translate(h.plotLeft, -h.plotTop).add();v=e.color;if(v==="auto")v=null;e.style.color=A(v,this.color,"black");u(c,function(H){var U=H.barX,z=U&&U+H.barW/2||H.plotX||-999,M=A(H.plotY,-999),y=H.dataLabel,C=e.align,Z=Y?H.y>=0?-6:12:e.y;f=e.formatter.call(H.getLabelConfig());a=(j?h.plotWidth-M:z)+e.x;b=(j?h.plotHeight-z:M)+Z;if(m==="column")a+={left:-1,right:1}[C]*H.barW/2||0;if(j&&H.y<0){C="right";a-=10}if(y){if(j&&!e.y)b=b+ja(y.styles.lineHeight)*0.9-y.getBBox().height/2;y.attr({text:f}).animate({x:a,y:b})}else if(K(f)){y= -H.dataLabel=i.text(f,a,b).attr({align:C,rotation:e.rotation,zIndex:1}).css(e.style).add(g);j&&!e.y&&y.attr({y:b+ja(y.styles.lineHeight)*0.9-y.getBBox().height/2})}if(P&&d.stacking&&y){z=H.barY;M=H.barW;H=H.barH;y.align(e,null,{x:j?h.plotWidth-z-H:U,y:j?h.plotHeight-U-M:z,width:j?H:M,height:j?M:H})}})}},drawGraph:function(){var a=this,b=a.options,c=a.graph,d=[],e,f=a.area,g=a.group,h=b.lineColor||a.color,i=b.lineWidth,j=b.dashStyle,m,v=a.chart.renderer,P=a.yAxis.getThreshold(b.threshold||0),T=/^area/.test(a.type), -Y=[],H=[];u(a.segments,function(U){m=[];u(U,function(C,Z){if(a.getPointSpline)m.push.apply(m,a.getPointSpline(U,C,Z));else{m.push(Z?Ka:Za);Z&&b.step&&m.push(C.plotX,U[Z-1].plotY);m.push(C.plotX,C.plotY)}});if(U.length>1)d=d.concat(m);else Y.push(U[0]);if(T){var z=[],M,y=m.length;for(M=0;M=0;M--)z.push(U[M].plotX,U[M].yBottom);else z.push(Ka,U[U.length-1].plotX,P,Ka,U[0].plotX,P);H=H.concat(z)}}); -a.graphPath=d;a.singlePoints=Y;if(T){e=A(b.fillColor,bc(a.color).setOpacity(b.fillOpacity||0.75).get());if(f)f.animate({d:H});else a.area=a.chart.renderer.path(H).attr({fill:e}).add(g)}if(c){Hc(c);c.animate({d:d})}else if(i){c={stroke:h,"stroke-width":i};if(j)c.dashstyle=j;a.graph=v.path(d).attr(c).add(g).shadow(b.shadow)}},render:function(){var a=this,b=a.chart,c,d,e=a.options,f=e.animation,g=f&&a.animate;f=g?f&&f.duration||500:0;var h=a.clipRect,i=b.renderer;if(!h){h=a.clipRect=!b.hasRendered&& -b.clipRect?b.clipRect:i.clipRect(0,0,b.plotSizeX,b.plotSizeY);if(!b.clipRect)b.clipRect=h}if(!a.group){c=a.group=i.g("series");if(b.inverted){d=function(){c.attr({width:b.plotWidth,height:b.plotHeight}).invert()};d();Qa(b,"resize",d);Qa(a,"destroy",function(){pb(b,"resize",d)})}c.clip(a.clipRect).attr({visibility:a.visible?Ab:ob,zIndex:e.zIndex}).translate(b.plotLeft,b.plotTop).add(b.seriesGroup)}a.drawDataLabels();g&&a.animate(true);a.drawGraph&&a.drawGraph();a.drawPoints();a.options.enableMouseTracking!== -false&&a.drawTracker();g&&a.animate();setTimeout(function(){h.isAnimating=false;if((c=a.group)&&h!==b.clipRect&&h.renderer){c.clip(a.clipRect=b.clipRect);h.destroy()}},f);a.isDirty=false},redraw:function(){var a=this.chart,b=this.group;if(b){a.inverted&&b.attr({width:a.plotWidth,height:a.plotHeight});b.animate({translateX:a.plotLeft,translateY:a.plotTop})}this.translate();this.setTooltipPoints(true);this.render()},setState:function(a){var b=this.options,c=this.graph,d=b.states;b=b.lineWidth;a=a|| -ib;if(this.state!==a){this.state=a;if(!(d[a]&&d[a].enabled===false)){if(a)b=d[a].lineWidth||b+1;if(c&&!c.dashstyle)c.attr({"stroke-width":b},a?0:500)}}},setVisible:function(a,b){var c=this.chart,d=this.legendItem,e=this.group,f=this.tracker,g=this.dataLabelsGroup,h,i=this.data,j=c.options.chart.ignoreHiddenSeries;h=this.visible;h=(this.visible=a=a===Wa?!h:a)?"show":"hide";e&&e[h]();if(f)f[h]();else for(e=i.length;e--;){f=i[e];f.tracker&&f.tracker[h]()}g&&g[h]();d&&c.legend.colorizeItem(this,a);this.isDirty= -true;this.options.stacking&&u(c.series,function(m){if(m.options.stacking&&m.visible)m.isDirty=true});if(j)c.isDirtyBox=true;b!==false&&c.redraw();Pa(this,h)},show:function(){this.setVisible(true)},hide:function(){this.setVisible(false)},select:function(a){this.selected=a=a===Wa?!this.selected:a;if(this.checkbox)this.checkbox.checked=a;Pa(this,a?"select":"unselect")},drawTracker:function(){var a=this,b=a.options,c=[].concat(a.graphPath),d=c.length,e=a.chart,f=e.options.tooltip.snap,g=a.tracker,h=b.cursor; -h=h&&{cursor:h};var i=a.singlePoints,j;if(d)for(j=d+1;j--;){c[j]===Za&&c.splice(j+1,0,c[j+1]-f,c[j+2],Ka);if(j&&c[j]===Za||j===d)c.splice(j,0,Ka,c[j-2]+f,c[j-1])}for(j=0;ja&&i>e){i=Ia(a,e);m=2*e-i}else if(ig&&m>e){m=Ia(g,e);i=2*e-m}else if(m< -g&&my?Sa-y:M-(Z<=M?y:0)}Rb=Ea-3}sa(C,{barX:Na,barY:Ea,barW:U,barH:gb});C.shapeType="rect";Z=sa(b.renderer.Element.prototype.crisp.apply({}, -[e,Na,Ea,U,gb]),{r:c.borderRadius});if(e%2){Z.y-=1;Z.height+=1}C.shapeArgs=Z;C.trackerArgs=K(Rb)&&Ca(C.shapeArgs,{height:Ia(6,gb+3),y:Rb})})},getSymbol:function(){},drawGraph:function(){},drawPoints:function(){var a=this,b=a.options,c=a.chart.renderer,d,e;u(a.data,function(f){var g=f.plotY;if(g!==Wa&&!isNaN(g)&&f.y!==null){d=f.graphic;e=f.shapeArgs;if(d){Hc(d);d.animate(e)}else f.graphic=c[f.shapeType](e).attr(f.pointAttr[f.selected?"select":ib]).add(a.group).shadow(b.shadow)}})},drawTracker:function(){var a= -this,b=a.chart,c=b.renderer,d,e,f=+new Date,g=a.options,h=g.cursor,i=h&&{cursor:h},j;u(a.data,function(m){e=m.tracker;d=m.trackerArgs||m.shapeArgs;delete d.strokeWidth;if(m.y!==null)if(e)e.attr(d);else m.tracker=c[m.shapeType](d).attr({isTracker:f,fill:ce,visibility:a.visible?Ab:ob,zIndex:g.zIndex||1}).on(Kb?"touchstart":"mouseover",function(v){j=v.relatedTarget||v.fromElement;b.hoverSeries!==a&&Ga(j,"isTracker")!==f&&a.onMouseOver();m.onMouseOver()}).on("mouseout",function(v){if(!g.stickyTracking){j= -v.relatedTarget||v.toElement;Ga(j,"isTracker")!==f&&a.onMouseOut()}}).css(i).add(m.group||b.trackerGroup)})},animate:function(a){var b=this,c=b.data;if(!a){u(c,function(d){var e=d.graphic;d=d.shapeArgs;if(e){e.attr({height:0,y:b.yAxis.translate(0,0,1)});e.animate({height:d.height,y:d.y},b.options.animation)}});b.animate=null}},remove:function(){var a=this,b=a.chart;b.hasRendered&&u(b.series,function(c){if(c.type===a.type)c.isDirty=true});sb.prototype.remove.apply(a,arguments)}});wb.column=hd;ma=yb(hd, -{type:"bar",init:function(a){a.inverted=this.inverted=true;hd.prototype.init.apply(this,arguments)}});wb.bar=ma;ma=yb(sb,{type:"scatter",translate:function(){var a=this;sb.prototype.translate.apply(a);u(a.data,function(b){b.shapeType="circle";b.shapeArgs={x:b.plotX,y:b.plotY,r:a.chart.options.tooltip.snap}})},drawTracker:function(){var a=this,b=a.options.cursor,c=b&&{cursor:b},d;u(a.data,function(e){(d=e.graphic)&&d.attr({isTracker:true}).on("mouseover",function(){a.onMouseOver();e.onMouseOver()}).on("mouseout", -function(){a.options.stickyTracking||a.onMouseOut()}).css(c)})},cleanData:function(){}});wb.scatter=ma;ma=yb(Oc,{init:function(){Oc.prototype.init.apply(this,arguments);var a=this,b;sa(a,{visible:a.visible!==false,name:A(a.name,"Slice")});b=function(){a.slice()};Qa(a,"select",b);Qa(a,"unselect",b);return a},setVisible:function(a){var b=this.series.chart,c=this.tracker,d=this.dataLabel,e=this.connector,f=this.shadowGroup,g;g=(this.visible=a=a===Wa?!this.visible:a)?"show":"hide";this.group[g]();c&& -c[g]();d&&d[g]();e&&e[g]();f&&f[g]();this.legendItem&&b.legend.colorizeItem(this,a)},slice:function(a,b,c){var d=this.series.chart,e=this.slicedTranslation;oc(c,d);A(b,true);a=this.sliced=K(a)?a:!this.sliced;a={translateX:a?e[0]:d.plotLeft,translateY:a?e[1]:d.plotTop};this.group.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)}});ma=yb(sb,{type:"pie",isCartesian:false,pointClass:ma,pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:function(){this.initialColor= -this.chart.counters.color},animate:function(){var a=this;u(a.data,function(b){var c=b.graphic;b=b.shapeArgs;var d=-kc/2;if(c){c.attr({r:0,start:d,end:d});c.animate({r:b.r,start:b.start,end:b.end},a.options.animation)}});a.animate=null},translate:function(){var a=0,b=-0.25,c=this.options,d=c.slicedOffset,e=d+c.borderWidth,f=c.center.concat([c.size,c.innerSize||0]),g=this.chart,h=g.plotWidth,i=g.plotHeight,j,m,v,P=this.data,T=2*kc,Y,H=tb(h,i),U,z,M,y=c.dataLabels.distance;f=tc(f,function(C,Z){return(U= -/%$/.test(C))?[h,i,H,H][Z]*ja(C)/100:C});this.getX=function(C,Z){v=Fa.asin((C-f[1])/(f[2]/2+y));return f[0]+(Z?-1:1)*rb(v)*(f[2]/2+y)};this.center=f;u(P,function(C){a+=C.y});u(P,function(C){Y=a?C.y/a:0;j=W(b*T*1E3)/1E3;b+=Y;m=W(b*T*1E3)/1E3;C.shapeType="arc";C.shapeArgs={x:f[0],y:f[1],r:f[2]/2,innerR:f[3]/2,start:j,end:m};v=(m+j)/2;C.slicedTranslation=tc([rb(v)*d+g.plotLeft,Cb(v)*d+g.plotTop],W);z=rb(v)*f[2]/2;M=Cb(v)*f[2]/2;C.tooltipPos=[f[0]+z*0.7,f[1]+M*0.7];C.labelPos=[f[0]+z+rb(v)*y,f[1]+M+Cb(v)* -y,f[0]+z+rb(v)*e,f[1]+M+Cb(v)*e,f[0]+z,f[1]+M,y<0?"center":v0,T=[[],[]],Y,H,U,z,M=2,y;if(d.enabled){sb.prototype.drawDataLabels.apply(this);u(a,function(gb){if(gb.dataLabel)T[gb.labelPos[7]U){h=[].concat(Sa);h.sort(z);for(y=Na;y--;)h[y].rank= -y;for(y=Na;y--;)Sa[y].rank>=U&&Sa.splice(y,1);Na=Sa.length}for(y=0;yH&&C[Ea+1]!==null||Y3?c.length%3:0;return e+(g?c.substr(0,g)+d:"")+c.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+d)+(f?b+ya(a-c).toFixed(f).slice(2):"")} +function Ca(a,b){return Array((b||2)+1-String(a).length).join(0)+a}function dc(a,b,c,d){var e,c=r(c,1);e=a/c;b||(b=[1,2,2.5,5,10],d&&d.allowDecimals===!1&&(c===1?b=[1,2,5,10]:c<=0.1&&(b=[1/c])));for(d=0;d=y[pb]&&(i.setMilliseconds(0),i.setSeconds(b>=y[Pa]?0:k*Sa(i.getSeconds()/k)));if(b>=y[Pa])i[qc](b>=y[za]?0:k*Sa(i[fc]()/k));if(b>=y[za])i[rc](b>=y[Ra]?0:k*Sa(i[gc]()/k));if(b>=y[Ra])i[hc](b>=y[sa]?1:k*Sa(i[Da]()/k));b>= +y[sa]&&(i[sc](b>=y[ba]?0:k*Sa(i[qb]()/k)),h=i[rb]());b>=y[ba]&&(h-=h%k,i[tc](h));if(b===y[oa])i[hc](i[Da]()-i[ic]()+r(d,1));d=1;h=i[rb]();for(var j=i.getTime(),l=i[qb](),i=i[Da]();jc+e&&(i-=i+a-(c+e),j=g-b+d-h,l=!0);j=j&&g<=j+b&&(j=g+d+h));j+b>d+f&&(j=d+f-b-h);return{x:i,y:j}}function Mc(a,b){var c=a.length,d,e;for(e=0;ec&&(c=a[b]);return c}function Hb(a){for(var b in a)a[b]&&a[b].destroy&& +a[b].destroy(),delete a[b]}function Sb(a){zb||(zb=xa(Ea));a&&zb.appendChild(a);zb.innerHTML=""}function jc(a,b){var c="Highcharts error #"+a+": www.highcharts.com/errors/"+a;if(b)throw c;else U.console&&console.log(c)}function Ab(a){return parseFloat(a.toPrecision(14))}function Ib(a,b){Tb=r(a,b.animation)}function wc(){var a=Ba.global.useUTC,b=a?"getUTC":"get",c=a?"setUTC":"set";sb=a?Date.UTC:function(a,b,c,g,h,i){return(new Date(a,b,r(c,1),r(g,0),r(h,0),r(i,0))).getTime()};fc=b+"Minutes";gc=b+"Hours"; +ic=b+"Day";Da=b+"Date";qb=b+"Month";rb=b+"FullYear";qc=c+"Minutes";rc=c+"Hours";hc=c+"Date";sc=c+"Month";tc=c+"FullYear"}function fb(){}function xc(a,b){function c(a){function b(a,c){this.pos=a;this.type=c||"";this.isNew=!0;c||this.addLabel()}function c(a){if(a)this.options=a,this.id=a.id;return this}function d(a,b,c,e){this.isNegative=b;this.options=a;this.x=c;this.stack=e;this.alignOptions={align:a.align||(W?b?"left":"right":"center"),verticalAlign:a.verticalAlign||(W?"middle":b?"bottom":"top"), +y:r(a.y,W?4:b?14:-6),x:r(a.x,W?b?-6:6:0)};this.textAlign=a.textAlign||(W?b?"right":"left":"center")}function e(){var a=[],b=[],c;E=M=null;o(x.series,function(e){if(e.visible||!s.ignoreHiddenSeries){var f=e.options,g,h,i,j,k,m,l,F,n,x=f.threshold,Bb,o=[],t=0;if(Z&&x<=0)x=f.threshold=null;if(p)f=e.xData,f.length&&(E=Ta(r(E,f[0]),Rb(f)),M=X(r(M,f[0]),Gb(f)));else{var v,w,Jb,z=e.cropped,O=e.xAxis.getExtremes(),Y=!!e.modifyValue;g=f.stacking;Ha=g==="percent";if(g)k=f.stack,j=e.type+r(k,""),m="-"+j,e.stackKey= +j,h=a[j]||[],a[j]=h,i=b[m]||[],b[m]=i;Ha&&(E=0,M=99);f=e.processedXData;l=e.processedYData;Bb=l.length;for(c=0;c=O.min&&(f[c-1]||F)<=O.max))if(F=n.length)for(;F--;)n[F]!==null&&(o[t++]=n[F]);else o[t++]=n;!Ha&&o.length&&(E=Ta(r(E,o[0]),Rb(o)),M=X(r(M,o[0]),Gb(o)));u(x)&&(E>=x? +(E=x,Ja=!0):M=0.5)a=C(a),e=f(a,b,c);else if(a>=0.08){var h=Sa(b),i,j,k,m,l,F;for(i=a>0.3?[1,2,4]:a>0.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];hb&&e.push(l),l>c&&(F=!0),l=m}}else if(b=bb(b),c=bb(c),a=q[d?"minorTickInterval":"tickInterval"], +a=r(a==="auto"?null:a,x._minorAutoInterval,(c-b)*(q.tickPixelInterval/(d?5:1))/((d?ia/P.length:ia)||1)),a=dc(a,null,na.pow(10,Sa(na.log(a)/na.LN10))),e=Ub(f(a,b,c),nb),!d)x._minorAutoInterval=a/5;d||(La=a);return e}function h(){var a=[],b,c;if(Z){c=P.length;for(b=1;b=U,c,d,e,f,g,h;if(p&&U===V&&!Z)u(q.min)||u(q.max)?U=null:(o(x.series,function(a){f=a.xData;for(d=g=a.xIncrement?1: +f.length-1;d>0;d--)if(e=f[d]-f[d-1],c===V||e0||!Ka))I+=b*Ba}La=G===I||G===void 0||I===void 0?1:ba&&!c&&d===la.options.tickPixelInterval?la.tickInterval:r(c,Ua?1:(I-G)*d/(ia||1));p&&!a&&o(x.series,function(a){a.processData(G!==Pb||I!==va)});Db();x.beforeSetTickPositions&&x.beforeSetTickPositions();x.postProcessTickInterval&&(La=x.postProcessTickInterval(La));!Y&&!Z&&(Wa= +na.pow(10,Sa(na.log(La)/na.LN10)),u(q.tickInterval)||(La=dc(La,null,Wa,q)));x.tickInterval=La;Ga=q.minorTickInterval==="auto"&&La?La/5:q.minorTickInterval;(P=q.tickPositions||Xa&&Xa.apply(x,[G,I]))||(P=Y?(x.getNonLinearTimeTicks||Lc)(Kc(La,q.units),G,I,q.startOfWeek,x.ordinalPositions,x.closestPointRange,!0):Z?g(La,G,I):f(La,G,I));ba||(a=P[0],c=P[P.length-1],q.startOnTick?G=a:G>a&&P.shift(),q.endOnTick?I=c:I=G&&a<=I)Ma[a]||(Ma[a]=new b(a)),j&&Ma[a].isNew&&Ma[a].render(c,!0),Ma[a].isActive=!0,Ma[a].render(c)}),e&&o(P,function(a,b){if(b%2=== +0&&a=1E3?cc(a,0):a},Pa=O&&q.labels.staggerLines,sa=q.reversed,Ea=Ua&&q.tickmarkPlacement==="between"?0.5:0;b.prototype={addLabel:function(){var a=this.pos,b=q.labels,c=Ua&&O&&Ua.length&&!b.step&&!b.staggerLines&&!b.rotation&&ja/Ua.length||!O&&ja/2,d=a===P[0],e=a===P[P.length-1],f=Ua&&u(Ua[a])?Ua[a]:a,g=this.label,h=P.info,i;Y&&h&&(i=q.dateTimeLabelFormats[h.higherRanks[a]||h.unitName]); +this.isFirst=d;this.isLast=e;a=ab.call({axis:x,chart:m,isFirst:d,isLast:e,dateTimeLabelFormat:i,value:Z?Ab(bb(f)):f});c=c&&{width:X(1,C(c-2*(b.padding||10)))+ga};c=N(c,b.style);u(g)?g&&g.attr({text:a}).css(c):this.label=u(a)&&b.enabled?J.text(a,0,0,b.useHTML).attr({align:b.align,rotation:b.rotation}).css(c).add(S):null},getLabelSize:function(){var a=this.label;return a?(this.labelBBox=a.getBBox(!0))[O?"height":"width"]:0},getLabelSides:function(){var a=q.labels,b=this.labelBBox.width,a=b*{left:0, +center:0.5,right:1}[a.align]-a.x;return[-a,b-a]},handleOverflow:function(a){var b=!0,c=this.isFirst,d=this.isLast,e=this.label,f=e.x;if(c||d){var g=this.getLabelSides(),h=g[0],g=g[1],i=m.plotLeft,j=i+x.len,k=(a=Ma[P[a+(c?1:-1)]])&&a.label.x+a.getLabelSides()[c?0:1];c&&!sa||d&&sa?f+hk&&(b=!1)):f+g>j&&(f=j-g,a&&f+h0&&gb>0){d=K({align:O&&j&&"center",x:O?!j&&4:10,verticalAlign:!O&&j&&"middle",y:O?j?16:10:j?6:-4,rotation:O&&!j&&90},d);if(!e)a.label=e=J.text(d.text,0,0).attr({align:d.textAlign||d.align,rotation:d.rotation,zIndex:q}).css(d.style).add();j=[F[1],F[4],r(F[6],F[1])]; +F=[F[2],F[5],r(F[7],F[2])];l=Rb(j);q=Rb(F);e.align(d,!1,{x:l,y:q,width:Gb(j)-l,height:Gb(F)-q});e.show()}else e&&e.hide();return a},destroy:function(){Hb(this);Eb(oa,this)}};d.prototype={destroy:function(){Hb(this)},setTotal:function(a){this.cum=this.total=a},render:function(a){var b=this.options.formatter.call(this);this.label?this.label.attr({text:b,visibility:Za}):this.label=m.renderer.text(b,0,0).css(this.options.style).attr({align:this.textAlign,rotation:this.options.rotation,visibility:Za}).add(a)}, +setOffset:function(a,b){var c=this.isNegative,d=x.translate(this.total,0,0,0,1),e=x.translate(0),e=ya(d-e),f=m.xAxis[0].translate(this.x)+a,g=m.plotHeight,c={x:W?c?d:d-e:f,y:W?g-f-b:c?g-d-e:g-d,width:W?e:b,height:W?b:e};this.label&&this.label.align(this.alignOptions,null,c).attr({visibility:cb})}};Lb=function(a,b,c,d,e){var f=1,g=0,h=d?jb:H,d=d?Pb:G,e=q.ordinal||Z&&e;h||(h=H);c&&(f*=-1,g=ia);sa&&(f*=-1,g-=f*ia);b?(sa&&(a=ia-a),a=a/h+d,e&&(a=x.lin2val(a))):(e&&(a=x.val2lin(a)),a=f*(a-d)*h+g+f*Ca); +return a};Q=function(a,b,c){var d,e,f,a=Lb(a,null,null,c),g=c&&Ra||pa,h=c&&Ya||qa,i,c=e=C(a+Qa);d=f=C(g-a-Qa);if(isNaN(a))i=!0;else if(O){if(d=A,f=g-Kb,cy+B)i=!0}else if(c=y,e=h-Yb,dA+gb)i=!0;return i?null:J.crispLine([ta,c,d,fa,e,f],b||0)};x.setMaxTicks=function(){db||(db={x:0,y:0});if(!ba&&!Y&&P.length>db[$a]&&q.alignTicks!==!1)db[$a]=P.length};Db=function(){var a=I-G,b=0,c,d;if(p)ba?b=la.pointRange:o(x.series,function(a){b=X(b,a.pointRange);d=a.closestPointRange;!a.noSharedTooltip&& +u(d)&&(c=u(c)?Ta(c,d):d)}),x.pointRange=b,x.closestPointRange=c;jb=H;x.translationSlope=H=ia/(a+b||1);Qa=O?y:Kb;Ca=H*(b/2)};ua.push(x);m[p?"xAxis":"yAxis"].push(x);W&&p&&sa===V&&(sa=!0);N(x,{addPlotBand:k,addPlotLine:k,adjustTickAmount:function(){if(db&&db[$a]&&!Y&&!Ua&&!ba&&q.alignTicks!==!1){var a=Da,b=P.length;Da=db[$a];if(ba||a===null?a=b:c1||ya(b-p)>1?function(){c(a,b)}:null}function d(){if(!l){var a=m.hoverPoints;s.hide();a&&o(a,function(a){a.setState()});m.hoverPoints= +null;l=!0}}var e,f=a.borderWidth,g=a.crosshairs,h=[],i=a.style,j=a.shared,k=T(i.padding),l=!0,n=0,p=0;i.padding=0;var s=J.label("",0,0,null,null,null,a.useHTML,null,"tooltip").attr({padding:k,fill:a.backgroundColor,"stroke-width":f,r:a.borderRadius,zIndex:8}).css(i).hide().add();Fa||s.shadow(a.shadow);return{shared:j,refresh:function(f){var i,k,q,n,p={},w=[];q=f.tooltipPos;i=a.formatter||b;var p=m.hoverPoints,t;j&&(!f.series||!f.series.noSharedTooltip)?(n=0,p&&o(p,function(a){a.setState()}),m.hoverPoints= +f,o(f,function(a){a.setState(Ga);n+=a.plotY;w.push(a.getLabelConfig())}),k=f[0].plotX,n=C(n)/f.length,p={x:f[0].category},p.points=w,f=f[0]):p=f.getLabelConfig();p=i.call(p);e=f.series;k=r(k,f.plotX);n=r(n,f.plotY);i=C(q?q[0]:W?ja-n:k);k=C(q?q[1]:W?ha-k:n);q=j||!e.isCartesian||e.tooltipOutsidePlot||va(i,k);p===!1||!q?d():(l&&(s.show(),l=!1),s.attr({text:p}),t=a.borderColor||f.color||e.color||"#606060",s.attr({stroke:t}),q=vc(s.width,s.height,R,L,ja,ha,{x:i,y:k},r(a.distance,12),W),c(C(q.x),C(q.y))); +if(g){g=Fb(g);var v;q=g.length;for(var z;q--;)if(v=f.series[q?"yAxis":"xAxis"],g[q]&&v)if(v=v.getPlotLinePath(q?r(f.stackY,f.y):f.x,1),h[q])h[q].attr({d:v,visibility:cb});else{z={"stroke-width":g[q].width||1,stroke:g[q].color||"#C0C0C0",zIndex:g[q].zIndex||2};if(g[q].dashStyle)z.dashstyle=g[q].dashStyle;h[q]=J.path(v).attr(z).add()}}aa(m,"tooltipRefresh",{text:p,x:i+R,y:k+L,borderColor:t})},hide:d,hideCrosshairs:function(){o(h,function(a){a&&a.hide()})},destroy:function(){o(h,function(a){a&&a.destroy()}); +s&&(s=s.destroy())}}}function e(a){function b(a){var c,d,a=a||U.event;if(!a.target)a.target=a.srcElement;if(a.originalEvent)a=a.originalEvent;if(a.event)a=a.event;c=a.touches?a.touches.item(0):a;hb=zc(H);c.pageX===V?(d=a.x,c=a.y):(d=c.pageX-hb.left,c=c.pageY-hb.top);return N(a,{chartX:C(d),chartY:C(c)})}function c(a){var b={xAxis:[],yAxis:[]};o(ua,function(c){var d=c.translate,e=c.isXAxis;b[e?"xAxis":"yAxis"].push({axis:c,value:d((W?!e:e)?a.chartX-R:ha-a.chartY+L,!0)})});return b}function e(a){var b= +m.hoverSeries,c=m.hoverPoint,d=m.hoverPoints||c;if(a&&Va&&d)Va.refresh(d);else{if(c)c.onMouseOut();if(b)b.onMouseOut();Va&&(Va.hide(),Va.hideCrosshairs());mb=null}}function f(){if(l){var a={xAxis:[],yAxis:[]},b=l.getBBox(),c=b.x-R,d=b.y-L,e;k&&(o(ua,function(f){if(f.options.zoomEnabled!==!1){var g=f.translate,h=f.isXAxis,i=W?!h:h,j=g(i?c:ha-d-b.height,!0,0,0,1),g=g(i?c+b.width:ha-d,!0,0,0,1);!isNaN(j)&&!isNaN(g)&&(a[h?"xAxis":"yAxis"].push({axis:f,min:Ta(j,g),max:X(j,g)}),e=!0)}}),e&&aa(m,"selection", +a,sb));l=l.destroy()}if(m)Q(H,{cursor:"auto"}),m.cancelClick=k,m.mouseIsDown=za=k=!1;Na(B,Wa?"touchend":"mouseup",f)}function g(a){Ac(a);hb&&!va(a.pageX-hb.left-R,a.pageY-hb.top-L)&&e()}function h(){e();hb=null}var i,j,k,l,n=Fa?"":s.zoomType,p=/x/.test(n),v=/y/.test(n),t=p&&!W||v&&W,w=v&&!W||p&&W;if(!Pa)m.trackerGroup=Pa=J.g("tracker").attr({zIndex:9}).add();if(a.enabled)m.tooltip=Va=d(a),xb=setInterval(function(){kb&&kb()},32);(function(){H.onmousedown=function(a){a=b(a);!Wa&&a.preventDefault&&a.preventDefault(); +m.mouseIsDown=za=!0;m.cancelClick=!1;m.mouseDownX=i=a.chartX;j=a.chartY;ka(B,Wa?"touchend":"mouseup",f)};var d=function(c){if(!c||!(c.touches&&c.touches.length>1)){c=b(c);if(!Wa)c.returnValue=!1;var d=c.chartX,e=c.chartY,f=!va(d-R,e-L);Wa&&c.type==="touchstart"&&(A(c.target,"isTracker")?m.runTrackerClick||c.preventDefault():!fb&&!f&&c.preventDefault());f&&(dR+ja&&(d=R+ja),eL+ha&&(e=L+ha));if(za&&c.type!=="touchstart"){if(k=Math.sqrt(Math.pow(i-d,2)+Math.pow(j-e,2)),k>10){var g=va(i- +R,j-L);if(Mb&&(p||v)&&g)l||(l=J.rect(R,L,t?1:ja,w?1:ha,0).attr({fill:s.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add());l&&t&&(c=d-i,l.attr({width:ya(c),x:(c>0?0:c)+i}));l&&w&&(e-=j,l.attr({height:ya(e),y:(e>0?0:e)+j}));g&&!l&&s.panning&&m.pan(d)}}else if(!f){var h,d=m.hoverPoint,e=m.hoverSeries,n,o,g=qa,z=W?ha+L-c.chartY:c.chartX-R;if(Va&&a.shared&&(!e||!e.noSharedTooltip)){h=[];n=S.length;for(o=0;og&&h.splice(n,1);if(h.length&&h[0].plotX!==mb)Va.refresh(h),mb=h[0].plotX}if(e&&e.tracker&&(c=e.tooltipPoints[z])&&c!==d)c.onMouseOver()}return f||!Mb}};H.onmousemove=d;ka(H,"mouseleave",h);ka(B,"mousemove",g);H.ontouchstart=function(a){if(p||v)H.onmousedown(a);d(a)};H.ontouchmove=d;H.ontouchend=function(){k&&e()};H.onclick=function(a){var d=m.hoverPoint,a=b(a);a.cancelBubble= +!0;if(!m.cancelClick)if(d&&(A(a.target,"isTracker")||A(a.target.parentNode,"isTracker"))){var e=d.plotX,f=d.plotY;N(d,{pageX:hb.left+R+(W?ja-f:e),pageY:hb.top+L+(W?ha-e:f)});aa(d.series,"click",N(a,{point:d}));d.firePointEvent("click",a)}else N(a,c(a)),va(a.chartX-R,a.chartY-L)&&aa(m,"click",a)}})();N(this,{zoomX:p,zoomY:v,resetTracker:e,normalizeMouseEvent:b,destroy:function(){if(m.trackerGroup)m.trackerGroup=Pa=m.trackerGroup.destroy();Na(H,"mouseleave",h);Na(B,"mousemove",g);H.onclick=H.onmousedown= +H.onmousemove=H.ontouchstart=H.ontouchend=H.ontouchmove=null}})}function f(a){var b=a.type||s.type||s.defaultSeriesType,c=Ha[b],d=m.hasRendered;if(d)if(W&&b==="column")c=Ha.bar;else if(!W&&b==="bar")c=Ha.column;b=new c;b.init(m,a);!d&&b.inverted&&(W=!0);if(b.isCartesian)Mb=b.isCartesian;S.push(b);return b}function g(){s.alignTicks!==!1&&o(ua,function(a){a.adjustTickAmount()});db=null}function h(a){var b=m.isDirtyLegend,c,d=m.isDirtyBox,e=S.length,f=e,h=m.clipRect;for(Ib(a,m);f--;)if(a=S[f],a.isDirty&& +a.options.stacking){c=!0;break}if(c)for(f=e;f--;)if(a=S[f],a.options.stacking)a.isDirty=!0;o(S,function(a){a.isDirty&&a.options.legendType==="point"&&(b=!0)});if(b&&oa.renderLegend)oa.renderLegend(),m.isDirtyLegend=!1;Mb&&(Da||(db=null,o(ua,function(a){a.setScale()})),g(),Vb(),o(ua,function(a){if(a.isDirtyExtremes)a.isDirtyExtremes=!1,aa(a,"afterSetExtremes",a.getExtremes());if(a.isDirty||d||c)a.redraw(),d=!0}));d&&(ob(),h&&(Nb(h),h.animate({width:m.plotSizeX,height:m.plotSizeY+1})));o(S,function(a){a.isDirty&& +a.visible&&(!a.isCartesian||a.xAxis)&&a.redraw()});tb&&tb.resetTracker&&tb.resetTracker(!0);J.draw();aa(m,"redraw")}function i(){var a=t.xAxis||{},b=t.yAxis||{},a=Fb(a);o(a,function(a,b){a.index=b;a.isX=!0});b=Fb(b);o(b,function(a,b){a.index=b});a=a.concat(b);o(a,function(a){new c(a)});g()}function k(){var a=Ba.lang,b=s.resetZoomButton,c=b.theme,d=c.states,e=b.relativeTo==="chart"?null:{x:R,y:L,width:ja,height:ha};m.resetZoomButton=J.button(a.resetZoom,null,null,zb,c,d&&d.hover).attr({align:b.position.align, +title:a.resetZoomTitle}).add().align(b.position,!1,e)}function j(a,b){Qa=K(t.title,a);eb=K(t.subtitle,b);o([["title",a,Qa],["subtitle",b,eb]],function(a){var b=a[0],c=m[b],d=a[1],a=a[2];c&&d&&(c=c.destroy());a&&a.text&&!c&&(m[b]=J.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":ib+b,zIndex:a.zIndex||4}).css(a.style).add().align(a,!1,Ia))})}function l(){function a(c){var d=s.width||la.offsetWidth,e=s.height||la.offsetHeight,c=c?c.target:U;if(d&&e&&(c===U||c===B)){if(d!==da||e!==ca)clearTimeout(b), +b=setTimeout(function(){rb(d,e,!1)},100);da=d;ca=e}}var b;ka(U,"resize",a);ka(m,"destroy",function(){Na(U,"resize",a)})}function n(){m&&aa(m,"endResize",null,function(){Da-=1})}function p(){for(var a=W||s.inverted||s.type==="bar"||s.defaultSeriesType==="bar",b=t.series,c=b&&b.length;!a&&c--;)b[c].type==="bar"&&(a=!0);m.inverted=W=a}function v(){var a=t.labels,b=t.credits,c;j();oa=m.legend=new Qb;o(ua,function(a){a.setScale()});Vb();db=null;o(ua,function(a){a.setTickPositions(!0);a.setMaxTicks()}); +g();Vb();ob();Mb&&o(ua,function(a){a.render()});if(!m.seriesGroup)m.seriesGroup=J.g("series-group").attr({zIndex:3}).add();o(S,function(a){a.translate();a.setTooltipPoints();a.render()});a.items&&o(a.items,function(){var b=N(a.style,this.style),c=T(b.left)+R,d=T(b.top)+L+12;delete b.left;delete b.top;J.text(this.html,c,d).attr({zIndex:2}).css(b).add()});if(b.enabled&&!m.credits)c=b.href,m.credits=J.text(b.text,0,0).on("click",function(){if(c)location.href=c}).attr({align:b.position.align,zIndex:8}).css(b.style).add().align(b.position); +m.hasRendered=!0}function Z(){if(!Ob&&U==U.top&&B.readyState!=="complete"||Fa&&!U.canvg)Fa?Bc.push(Z,t.global.canvasToolsURL):B.attachEvent("onreadystatechange",function(){B.detachEvent("onreadystatechange",Z);B.readyState==="complete"&&Z()});else{la=s.renderTo;Aa=ib+lc++;yb(la)&&(la=B.getElementById(la));la||jc(13,!0);la.innerHTML="";la.offsetWidth||(E=la.cloneNode(0),Q(E,{position:ub,top:"-9999px",display:"block"}),B.body.appendChild(E));da=(E||la).offsetWidth;ca=(E||la).offsetHeight;m.chartWidth= +qa=s.width||da||600;m.chartHeight=pa=s.height||(ca>19?ca:400);m.container=H=xa(Ea,{className:ib+"container"+(s.className?" "+s.className:""),id:Aa},N({position:mc,overflow:Za,width:qa+ga,height:pa+ga,textAlign:"left",lineHeight:"normal"},s.style),E||la);m.renderer=J=s.forExport?new Cb(H,qa,pa,!0):new Wb(H,qa,pa);Fa&&J.create(m,H,qa,pa);aa(m,"init");if(Highcharts.RangeSelector&&t.rangeSelector.enabled)m.rangeSelector=new Highcharts.RangeSelector(m);pb();qb();p();i();o(t.series||[],function(a){f(a)}); +if(Highcharts.Scroller&&(t.navigator.enabled||t.scrollbar.enabled))m.scroller=new Highcharts.Scroller(m);m.render=v;m.tracker=tb=new e(t.tooltip);v();J.draw();b&&b.apply(m,[m]);o(m.callbacks,function(a){a.apply(m,[m])});E&&(la.appendChild(H),Sb(E));aa(m,"load")}}var t,w=a.series;a.series=null;t=K(Ba,a);t.series=a.series=w;var s=t.chart,w=s.margin,w=lb(w)?w:[w,w,w,w],Y=r(s.marginTop,w[0]),z=r(s.marginRight,w[1]),ia=r(s.marginBottom,w[2]),D=r(s.marginLeft,w[3]),jb=s.spacingTop,Db=s.spacingRight,$a= +s.spacingBottom,y=s.spacingLeft,Ia,Qa,eb,L,M,$,R,ma,la,E,H,Aa,da,ca,qa,pa,Ya,Ra,wa,ba,Oa,Ca,m=this,fb=(w=s.events)&&!!w.click,ra,va,Va,za,vb,sa,ab,ha,ja,tb,Pa,oa,Xa,wb,hb,Mb=s.showAxes,Da=0,ua=[],db,S=[],W,J,kb,xb,mb,ob,Vb,pb,qb,rb,sb,zb,Qb=function(){function a(b,c){var d=b.legendItem,e=b.legendLine,g=b.legendSymbol,h=p.color,i=c?f.itemStyle.color:h,h=c?b.color:h;d&&d.css({fill:i});e&&e.attr({stroke:h});g&&g.attr({stroke:h,fill:h})}function b(a){var c=a.legendItem,d=a.legendLine,e=a._legendItemPos, +f=e[0],e=e[1],g=a.legendSymbol,a=a.checkbox;c&&c.attr({x:v?f:Xa-f,y:e});d&&d.translate(v?f:Xa-f,e-4);g&&(c=f+g.xOff,g.attr({x:v?c:Xa-c,y:e+g.yOff}));if(a)a.x=f,a.y=e}function c(){o(j,function(a){var b=a.checkbox,c=A.alignAttr;b&&Q(b,{left:c.translateX+a.legendItemWidth+b.x-40+ga,top:c.translateY+b.y-11+ga})})}function d(b){var c,e,j,k,m=b.legendItem;k=b.series||b;var q=k.options,o=q&&q.borderWidth||0;if(!m){k=/^(bar|pie|area|column)$/.test(k.type);b.legendItem=m=J.text(f.labelFormatter.call(b),0, +0,f.useHTML).css(b.visible?l:p).on("mouseover",function(){b.setState(Ga);m.css(n)}).on("mouseout",function(){m.css(b.visible?l:p);b.setState()}).on("click",function(){var a=function(){b.setVisible()};b.firePointEvent?b.firePointEvent("legendItemClick",null,a):aa(b,"legendItemClick",null,a)}).attr({align:v?"left":"right",zIndex:2}).add(A);if(!k&&q&&q.lineWidth){var Ia={"stroke-width":q.lineWidth,zIndex:2};if(q.dashStyle)Ia.dashstyle=q.dashStyle;b.legendLine=J.path([ta,(-h-i)*(v?1:-1),0,fa,-i*(v?1: +-1),0]).attr(Ia).add(A)}if(k)j=J.rect(c=-h-i,e=-11,h,12,2).attr({zIndex:3}).add(A),v||(c+=h);else if(q&&q.marker&&q.marker.enabled)j=q.marker.radius,j=J.symbol(b.symbol,c=-h/2-i-j,e=-4-j,2*j,2*j).attr(b.pointAttr[Ja]).attr({zIndex:3}).add(A),v||(c+=h/2);if(j)j.xOff=c+o%2/2,j.yOff=e+o%2/2;b.legendSymbol=j;a(b,b.visible);if(q&&q.showCheckbox)b.checkbox=xa("input",{type:"checkbox",checked:b.selected,defaultChecked:b.selected},f.itemCheckboxStyle,H),ka(b.checkbox,"click",function(a){aa(b,"checkboxClick", +{checked:a.target.checked},function(){b.select()})})}c=m.getBBox();e=b.legendItemWidth=f.itemWidth||h+i+c.width+s;C=c.height;if(g&&Y-r+e>(B||qa-2*s-r))Y=r,u+=t+C+w;!g&&u+f.y+C>pa-jb-$a&&(u=Z,Y+=z,z=0);z=X(z,e);ia=X(ia,u+w);b._legendItemPos=[Y,u];g?Y+=e:u+=t+C+w;E=B||X(Y-r+(g?0:e),E)}function e(){Y=r;u=Z;ia=E=0;A||(A=J.g("legend").attr({zIndex:7}).add());j=[];o(L,function(a){var b=a.options;b.showInLegend&&(j=j.concat(a.legendItems||(b.legendType==="point"?a.data:a)))});Mc(j,function(a,b){return(a.options.legendIndex|| +0)-(b.options.legendIndex||0)});M&&j.reverse();o(j,d);Xa=B||E;wb=ia-q+C;if(D||Qa){Xa+=2*s;wb+=2*s;if(y){if(Xa>0&&wb>0)y[y.isNew?"attr":"animate"](y.crisp(null,null,null,Xa,wb)),y.isNew=!1}else y=J.rect(0,0,Xa,wb,f.borderRadius,D||0).attr({stroke:f.borderColor,"stroke-width":D||0,fill:Qa||Ka}).add(A).shadow(f.shadow),y.isNew=!0;y[j.length?"show":"hide"]()}o(j,b);for(var a=["left","right","top","bottom"],g,h=4;h--;)g=a[h],k[g]&&k[g]!=="auto"&&(f[h<2?"align":"verticalAlign"]=g,f[h<2?"x":"y"]=T(k[g])* +(h%2?-1:1));j.length&&A.align(N(f,{width:Xa,height:wb}),!0,Ia);Da||c()}var f=m.options.legend;if(f.enabled){var g=f.layout==="horizontal",h=f.symbolWidth,i=f.symbolPadding,j,k=f.style,l=f.itemStyle,n=f.itemHoverStyle,p=K(l,f.itemHiddenStyle),s=f.padding||T(k.padding),v=!f.rtl,t=f.itemMarginTop||0,w=f.itemMarginBottom||0,q=18,z=0,r=4+s+h+i,Z=s+t+q-5,Y,u,ia,C=0,y,D=f.borderWidth,Qa=f.backgroundColor,A,E,B=f.width,L=m.series,M=f.reversed;e();ka(m,"endResize",c);return{colorizeItem:a,destroyItem:function(a){var b= +a.checkbox;o(["legendItem","legendLine","legendSymbol"],function(b){a[b]&&a[b].destroy()});b&&Sb(a.checkbox)},renderLegend:e,destroy:function(){y&&(y=y.destroy());A&&(A=A.destroy())}}}};va=function(a,b){return a>=0&&a<=ja&&b>=0&&b<=ha};zb=function(){var a=m.resetZoomButton;aa(m,"selection",{resetSelection:!0},sb);if(a)m.resetZoomButton=a.destroy()};sb=function(a){var b;m.resetZoomEnabled!==!1&&!m.resetZoomButton&&k();!a||a.resetSelection?o(ua,function(a){a.options.zoomEnabled!==!1&&(a.setExtremes(null, +null,!1),b=!0)}):o(a.xAxis.concat(a.yAxis),function(a){var c=a.axis;if(m.tracker[c.isXAxis?"zoomX":"zoomY"])c.setExtremes(a.min,a.max,!1),b=!0});b&&h(r(s.animation,m.pointCount<100))};m.pan=function(a){var b=m.xAxis[0],c=m.mouseDownX,d=b.pointRange/2,e=b.getExtremes(),f=b.translate(c-a,!0)+d,c=b.translate(c+ja-a,!0)-d;(d=m.hoverPoints)&&o(d,function(a){a.setState()});f>Ta(e.dataMin,e.min)&&c=a)this.color=0},wrapSymbol:function(a){if(this.symbol>=a)this.symbol=0}};y= +Ya(ec,1,pb,1E3,Pa,6E4,za,36E5,Ra,864E5,oa,6048E5,sa,2592E6,ba,31556952E3);kb={init:function(a,b,c){var b=b||"",d=a.shift,e=b.indexOf("C")>-1,f=e?7:3,g,b=b.split(" "),c=[].concat(c),h,i,k=function(a){for(g=a.length;g--;)a[g]===ta&&a.splice(g+1,0,a[g+1],a[g+2],a[g+1],a[g+2])};e&&(k(b),k(c));a.isArea&&(h=b.splice(b.length-6,6),i=c.splice(c.length-6,6));if(d<=c.length/f)for(;d--;)c=[].concat(c).splice(0,f).concat(c);a.shift=0;if(b.length)for(a=c.length;b.length{point.key}
',pointFormat:'{series.name}: {point.y}
', +shadow:!0,shared:Fa,snap:Wa?25:10,style:{color:"#333333",fontSize:"12px",padding:"5px",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"10px"}}};var Zb={dateTimeLabelFormats:Ya(ec,"%H:%M:%S.%L",pb,"%H:%M:%S",Pa,"%H:%M",za,"%H:%M",Ra,"%e. %b",oa,"%e. %b",sa,"%b '%y",ba,"%Y"),endOnTick:!1,gridLineColor:"#C0C0C0",labels:D,lineColor:"#C0D0E0",lineWidth:1, +max:null,min:null,minPadding:0.01,maxPadding:0.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:5,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#6D869F",fontWeight:"bold"}},type:"linear"},kc=K(Zb,{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{align:"right",x:-8, +y:3},lineWidth:0,maxPadding:0.05,minPadding:0.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Y-values"},stackLabels:{enabled:!1,formatter:function(){return this.total},style:D.style}}),Pc={labels:{align:"right",x:-8,y:null},title:{rotation:270}},Oc={labels:{align:"left",x:8,y:null},title:{rotation:90}},yc={labels:{align:"center",x:0,y:14},title:{rotation:0}},Nc=K(yc,{labels:{y:-5,overflow:"justify"}}),Aa=Ba.plotOptions,D=Aa.line;Aa.spline=K(D);Aa.scatter=K(D,{lineWidth:0,states:{hover:{lineWidth:0}}, +tooltip:{headerFormat:'{series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}});Aa.area=K(D,{threshold:0});Aa.areaspline=K(Aa.area);Aa.column=K(D,{borderColor:"#FFFFFF",borderWidth:1,borderRadius:0,groupPadding:0.2,marker:null,pointPadding:0.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:0.1,shadow:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{y:null,verticalAlign:null}, +threshold:0});Aa.bar=K(Aa.column,{dataLabels:{align:"left",x:5,y:null,verticalAlign:"middle"}});Aa.pie=K(D,{borderColor:"#FFFFFF",borderWidth:1,center:["50%","50%"],colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name},y:5},legendType:"point",marker:null,size:"75%",showInLegend:!1,slicedOffset:10,states:{hover:{brightness:0.1,shadow:!1}}});wc();var Oa=function(a){var b=[],c;(function(a){(c=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(a))? +b=[T(c[1]),T(c[2]),T(c[3]),parseFloat(c[4],10)]:(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(a))&&(b=[T(c[1],16),T(c[2],16),T(c[3],16),1])})(a);return{get:function(c){return b&&!isNaN(b[0])?c==="rgb"?"rgb("+b[0]+","+b[1]+","+b[2]+")":c==="a"?b[3]:"rgba("+b.join(",")+")":a},brighten:function(a){if(mb(a)&&a!==0){var c;for(c=0;c<3;c++)b[c]+=T(a*255),b[c]<0&&(b[c]=0),b[c]>255&&(b[c]=255)}return this},setOpacity:function(a){b[3]=a;return this}}};fb.prototype={init:function(a,b){this.element= +b==="span"?xa(b):B.createElementNS("http://www.w3.org/2000/svg",b);this.renderer=a;this.attrSetters={}},animate:function(a,b,c){b=r(b,Tb,!0);Nb(this);if(b){b=K(b);if(c)b.complete=c;ac(this,a,b)}else this.attr(a),c&&c()},attr:function(a,b){var c,d,e,f,g=this.element,h=g.nodeName,i=this.renderer,k,j=this.attrSetters,l=this.shadows,n,p=this;yb(a)&&u(b)&&(c=a,a={},a[c]=b);if(yb(a))c=a,h==="circle"?c={x:"cx",y:"cy"}[c]||c:c==="strokeWidth"&&(c="stroke-width"),p=A(g,c)||this[c]||0,c!=="d"&&c!=="visibility"&& +(p=parseFloat(p));else for(c in a)if(k=!1,d=a[c],e=j[c]&&j[c](d,c),e!==!1){e!==V&&(d=e);if(c==="d")d&&d.join&&(d=d.join(" ")),/(NaN| {2}|^$)/.test(d)&&(d="M 0 0"),this.d=d;else if(c==="x"&&h==="text"){for(e=0;en&&(Q(b,{width:n+ga,display:"block",whiteSpace:"normal"}),j=n),n=a.fontMetrics(b.style.fontSize).b,t=p<0&&-j,w=v<0&&-l,Z=p*v<0,t+=v*n*(Z?1-h:h),w-=p*n*(k?Z?h:1-h:1),i&&(t-=j* +h*(p<0?-1:1),k&&(w-=l*h*(v<0?-1:1)),Q(b,{textAlign:g})),this.xCorr=t,this.yCorr=w;Q(b,{left:e+t+ga,top:f+w+ga});this.cTT=s}}else this.alignOnAdd=!0},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,c=this.inverted,d=this.rotation,e=[];c&&(a+=this.attr("width"),b+=this.attr("height"));(a||b)&&e.push("translate("+a+","+b+")");c?e.push("rotate(90) scale(-1,1)"):d&&e.push("rotate("+d+" "+this.x+" "+this.y+")");e.length&&A(this.element,"transform",e.join(" "))},toFront:function(){var a= +this.element;a.parentNode.appendChild(a);return this},align:function(a,b,c){a?(this.alignOptions=a,this.alignByTranslate=b,c||this.renderer.alignedObjects.push(this)):(a=this.alignOptions,b=this.alignByTranslate);var c=r(c,this.renderer),d=a.align,e=a.verticalAlign,f=(c.x||0)+(a.x||0),g=(c.y||0)+(a.y||0),h={};/^(right|center)$/.test(d)&&(f+=(c.width-(a.width||0))/{right:1,center:2}[d]);h[b?"translateX":"x"]=C(f);/^(bottom|middle)$/.test(e)&&(g+=(c.height-(a.height||0))/({bottom:1,middle:2}[e]||1)); +h[b?"translateY":"y"]=C(g);this[this.placed?"animate":"attr"](h);this.placed=!0;this.alignAttr=h;return this},getBBox:function(a){var b,c,d=this.rotation;c=this.element;var e=d*Cc;if(c.namespaceURI==="http://www.w3.org/2000/svg"){try{b=c.getBBox?N({},c.getBBox()):{width:c.offsetWidth,height:c.offsetHeight}}catch(f){}if(!b||b.width<0)b={width:0,height:0};a=b.width;c=b.height;if(d)b.width=ya(c*ca(e))+ya(a*$(e)),b.height=ya(c*$(e))+ya(a*ca(e))}else b=this.htmlGetBBox(a);return b},show:function(){return this.attr({visibility:cb})}, +hide:function(){return this.attr({visibility:Za})},add:function(a){var b=this.renderer,c=a||b,d=c.element||b.box,e=d.childNodes,f=this.element,g=A(f,"zIndex"),h;this.parentInverted=a&&a.inverted;this.textStr!==void 0&&b.buildText(this);if(g)c.handleZ=!0,g=T(g);if(c.handleZ)for(c=0;cg||!u(g)&&u(b))){d.insertBefore(f,a);h=!0;break}h||d.appendChild(f);this.added=!0;aa(this,"add");return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)}, +destroy:function(){var a=this,b=a.element||{},c=a.shadows,d=a.box,e,f;b.onclick=b.onmouseout=b.onmouseover=b.onmousemove=null;Nb(a);if(a.clipPath)a.clipPath=a.clipPath.destroy();if(a.stops){for(f=0;f/g,'').replace(/<(i|em)>/g,'').replace(/
/g, +"").split(//g),d=b.childNodes,e=/style="([^"]+)"/,f=/href="([^"]+)"/,g=A(b,"x"),h=a.styles,i=h&&T(h.width),k=h&&h.lineHeight,j,h=d.length,l=[];h--;)b.removeChild(d[h]);i&&!a.added&&this.box.appendChild(b);c[c.length-1]===""&&c.pop();o(c,function(c,d){var h,r=0,t,c=c.replace(//g,"|||");h=c.split("|||");o(h,function(c){if(c!==""||h.length===1){var n={},o=B.createElementNS("http://www.w3.org/2000/svg","tspan");e.test(c)&&A(o,"style",c.match(e)[1].replace(/(;| |^)color([ :])/, +"$1fill$2"));f.test(c)&&(A(o,"onclick",'location.href="'+c.match(f)[1]+'"'),Q(o,{cursor:"pointer"}));c=(c.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"<").replace(/>/g,">");o.appendChild(B.createTextNode(c));r?n.dx=3:n.x=g;if(!r){if(d){!Ob&&a.renderer.forExport&&Q(o,{display:"block"});t=U.getComputedStyle&&T(U.getComputedStyle(j,null).getPropertyValue("line-height"));if(!t||isNaN(t)){var z;if(!(z=k))if(!(z=j.offsetHeight))l[d]=b.getBBox().height,z=C(l[d]-(l[d-1]||0))||18;t=z}A(o,"dy",t)}j= +o}A(o,n);b.appendChild(o);r++;if(i)for(var c=c.replace(/-/g,"- ").split(" "),u=[];c.length||u.length;)z=a.getBBox().width,n=z>i,!n||c.length===1?(c=u,u=[],c.length&&(o=B.createElementNS("http://www.w3.org/2000/svg","tspan"),A(o,{dy:k||16,x:g}),b.appendChild(o),z>i&&(i=z))):(o.removeChild(o.firstChild),u.unshift(c.pop())),c.length&&o.appendChild(B.createTextNode(c.join(" ").replace(/- /g,"-")))}})})},button:function(a,b,c,d,e,f,g){var h=this.label(a,b,c),i=0,k,j,l,n,p,a={x1:0,y1:0,x2:0,y2:1},e=K(Ya("stroke-width", +1,"stroke","#999","fill",Ya("linearGradient",a,"stops",[[0,"#FFF"],[1,"#DDD"]]),"r",3,"padding",3,"style",Ya("color","black")),e);l=e.style;delete e.style;f=K(e,Ya("stroke","#68A","fill",Ya("linearGradient",a,"stops",[[0,"#FFF"],[1,"#ACF"]])),f);n=f.style;delete f.style;g=K(e,Ya("stroke","#68A","fill",Ya("linearGradient",a,"stops",[[0,"#9BD"],[1,"#CDF"]])),g);p=g.style;delete g.style;ka(h.element,"mouseenter",function(){h.attr(f).css(n)});ka(h.element,"mouseleave",function(){k=[e,f,g][i];j=[l,n,p][i]; +h.attr(k).css(j)});h.setState=function(a){(i=a)?a===2&&h.attr(g).css(p):h.attr(e).css(l)};return h.on("click",function(){d.call(h)}).attr(e).css(N({cursor:"default"},l))},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=C(a[1])+b%2/2);a[2]===a[5]&&(a[2]=a[5]=C(a[2])+b%2/2);return a},path:function(a){return this.createElement("path").attr({d:a,fill:Ka})},circle:function(a,b,c){a=lb(a)?a:{x:a,y:b,r:c};return this.createElement("circle").attr(a)},arc:function(a,b,c,d,e,f){if(lb(a))b=a.y,c=a.r,d=a.innerR, +e=a.start,f=a.end,a=a.x;return this.symbol("arc",a||0,b||0,c||0,c||0,{innerR:d||0,start:e||0,end:f||0})},rect:function(a,b,c,d,e,f){if(lb(a))b=a.y,c=a.width,d=a.height,e=a.r,f=a.strokeWidth,a=a.x;e=this.createElement("rect").attr({rx:e,ry:e,fill:Ka});return e.attr(e.crisp(f,a,b,X(c,0),X(d,0)))},setSize:function(a,b,c){var d=this.alignedObjects,e=d.length;this.width=a;this.height=b;for(this.boxWrapper[r(c,!0)?"animate":"attr"]({width:a,height:b});e--;)d[e].align()},g:function(a){var b=this.createElement("g"); +return u(a)?b.attr({"class":ib+a}):b},image:function(a,b,c,d,e){var f={preserveAspectRatio:Ka};arguments.length>1&&N(f,{x:b,y:c,width:d,height:e});f=this.createElement("image").attr(f);f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):f.element.setAttribute("hc-svg-href",a);return f},symbol:function(a,b,c,d,e,f){var g,h=this.symbols[a],h=h&&h(C(b),C(c),d,e,f),i=/^url\((.*?)\)$/,k,j;h?(g=this.path(h),N(g,{symbolName:a,x:b,y:c,width:d,height:e}),f&&N(g,f)):i.test(a)&& +(j=function(a,b){a.attr({width:b[0],height:b[1]});a.alignByTranslate||a.translate(-C(b[0]/2),-C(b[1]/2))},k=a.match(i)[1],a=Fc[k],g=this.image(k).attr({x:b,y:c}),a?j(g,a):(g.attr({width:0,height:0}),xa("img",{onload:function(){j(g,Fc[k]=[this.width,this.height])},src:k})));return g},symbols:{circle:function(a,b,c,d){var e=0.166*c;return[ta,a+c/2,b,"C",a+c+e,b,a+c+e,b+d,a+c/2,b+d,"C",a-e,b+d,a-e,b,a+c/2,b,"Z"]},square:function(a,b,c,d){return[ta,a,b,fa,a+c,b,a+c,b+d,a,b+d,"Z"]},triangle:function(a, +b,c,d){return[ta,a+c/2,b,fa,a+c,b+d,a,b+d,"Z"]},"triangle-down":function(a,b,c,d){return[ta,a,b,fa,a+c,b,a+c/2,b+d,"Z"]},diamond:function(a,b,c,d){return[ta,a+c/2,b,fa,a+c,b+d/2,a+c/2,b+d,a,b+d/2,"Z"]},arc:function(a,b,c,d,e){var f=e.start,c=e.r||c||d,g=e.end-1.0E-6,d=e.innerR,h=$(f),i=ca(f),k=$(g),g=ca(g),e=e.end-f');if(b)c=b===Ea||b==="span"||b==="img"?c.join(""):a.prepVML(c),this.element= +xa(c);this.renderer=a;this.attrSetters={}},add:function(a){var b=this.renderer,c=this.element,d=b.box,d=a?a.element||a:d;a&&a.inverted&&b.invertChild(c,d);ab&&d.gVis===Za&&Q(c,{visibility:Za});d.appendChild(c);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();aa(this,"add");return this},toggleChildren:function(a,b){for(var c=a.childNodes,d=c.length;d--;)Q(c[d],{visibility:b}),c[d].nodeName==="DIV"&&this.toggleChildren(c[d],b)},updateTransform:fb.prototype.htmlUpdateTransform, +attr:function(a,b){var c,d,e,f=this.element||{},g=f.style,h=f.nodeName,i=this.renderer,k=this.symbolName,j,l=this.shadows,n,p=this.attrSetters,o=this;yb(a)&&u(b)&&(c=a,a={},a[c]=b);if(yb(a))c=a,o=c==="strokeWidth"||c==="stroke-width"?this.strokeweight:this[c];else for(c in a)if(d=a[c],n=!1,e=p[c]&&p[c](d,c),e!==!1&&d!==null){e!==V&&(d=e);if(k&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(c))j||(this.symbolAttr(a),j=!0),n=!0;else if(c==="d"){d=d||[];this.d=d.join(" ");e=d.length;for(n= +[];e--;)n[e]=mb(d[e])?C(d[e]*10)-5:d[e]==="Z"?"x":d[e];d=n.join(" ")||"x";f.path=d;if(l)for(e=l.length;e--;)l[e].path=d;n=!0}else if(c==="zIndex"||c==="visibility"){if(ab&&c==="visibility"&&h==="DIV")f.gVis=d,this.toggleChildren(f,d),d===cb&&(d=null);d&&(g[c]=d);n=!0}else if(c==="width"||c==="height")d=X(0,d),this[c]=d,this.updateClipping?(this[c]=d,this.updateClipping()):g[c]=d,n=!0;else if(c==="x"||c==="y")this[c]=d,g[{x:"left",y:"top"}[c]]=d;else if(c==="class")f.className=d;else if(c==="stroke")d= +i.color(d,f,c),c="strokecolor";else if(c==="stroke-width"||c==="strokeWidth")f.stroked=d?!0:!1,c="strokeweight",this[c]=d,mb(d)&&(d+=ga);else if(c==="dashstyle")(f.getElementsByTagName("stroke")[0]||xa(i.prepVML([""]),null,null,f))[c]=d||"solid",this.dashstyle=d,n=!0;else if(c==="fill")h==="SPAN"?g.color=d:(f.filled=d!==Ka?!0:!1,d=i.color(d,f,c),c="fillcolor");else if(c==="translateX"||c==="translateY"||c==="rotation")this[c]=d,this.updateTransform(),n=!0;else if(c==="text")this.bBox=null, +f.innerHTML=d,n=!0;if(l&&c==="visibility")for(e=l.length;e--;)l[e].style[c]=d;n||(ab?f[c]=d:A(f,c,d))}return o},clip:function(a){var b=this,c=a.members,d=b.element;c.push(b);b.destroyClip=function(){Eb(c,b)};d.parentNode.className==="highcharts-tracker"&&!ab&&Q(d,{visibility:Za});return b.css(a.getCSS(b.inverted))},css:fb.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&Sb(a)},destroy:function(){this.destroyClip&&this.destroyClip();return fb.prototype.destroy.apply(this)},empty:function(){for(var a= +this.element.childNodes,b=a.length,c;b--;)c=a[b],c.parentNode.removeChild(c)},on:function(a,b){this.element["on"+a]=function(){var a=U.event;a.target=a.srcElement;b(a)};return this},shadow:function(a,b){var c=[],d,e=this.element,f=this.renderer,g,h=e.style,i,k=e.path;k&&typeof k.value!=="string"&&(k="x");if(a){for(d=1;d<=3;d++)i=[''],g=xa(f.prepVML(i),null,{left:T(h.left)+ +1,top:T(h.top)+1}),i=[''],xa(f.prepVML(i),null,null,g),b?b.element.appendChild(g):e.parentNode.insertBefore(g,e),c.push(g);this.shadows=c}return this}},wa=da(fb,wa),D={Element:wa,isIE8:va.indexOf("MSIE 8.0")>-1,init:function(a,b,c){var d,e;this.alignedObjects=[];d=this.createElement(Ea);e=d.element;e.style.position=mc;a.appendChild(d.element);this.box=e;this.boxWrapper=d;this.setSize(b,c,!1);if(!B.namespaces.hcv)B.namespaces.add("hcv","urn:schemas-microsoft-com:vml"), +B.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "},clipRect:function(a,b,c,d){var e=this.createElement();return N(e,{members:[],left:a,top:b,width:c,height:d,getCSS:function(a){var b=this.top,c=this.left,d=c+this.width,e=b+this.height,b={clip:"rect("+C(a?c:b)+"px,"+C(a?e:d)+"px,"+C(a?d:e)+"px,"+C(a?b:c)+"px)"};!a&&ab&&N(b,{width:d+ga,height:e+ga});return b},updateClipping:function(){o(e.members,function(a){a.css(e.getCSS(a.inverted))})}})}, +color:function(a,b,c){var d,e=/^rgba/;if(a&&a.linearGradient){var f,g,h=a.linearGradient,i=h.x1||h[0]||0,k=h.y1||h[1]||0,j=h.x2||h[2]||0,h=h.y2||h[3]||0,l,n,p,r;o(a.stops,function(a,b){e.test(a[1])?(d=Oa(a[1]),f=d.get("rgb"),g=d.get("a")):(f=a[1],g=1);b?(p=f,r=g):(l=f,n=g)});if(c==="fill")a=90-na.atan((h-k)/(j-i))*180/ra,a=[''],xa(this.prepVML(a),null,null,b);else return f}else if(e.test(a)&& +b.tagName!=="IMG")return d=Oa(a),a=["<",c,' opacity="',d.get("a"),'"/>'],xa(this.prepVML(a),null,null,b),d.get("rgb");else{b=b.getElementsByTagName(c);if(b.length)b[0].opacity=1;return a}},prepVML:function(a){var b=this.isIE8,a=a.join("");b?(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),a=a.indexOf('style="')===-1?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):a=a.replace("<", +"1&&f.css({left:b,top:c,width:d,height:e});return f},rect:function(a,b,c,d,e,f){if(lb(a))b=a.y,c= +a.width,d=a.height,f=a.strokeWidth,a=a.x;var g=this.symbol("rect");g.r=e;return g.attr(g.crisp(f,a,b,X(c,0),X(d,0)))},invertChild:function(a,b){var c=b.style;Q(a,{flip:"x",left:T(c.width)-10,top:T(c.height)-10,rotation:-90})},symbols:{arc:function(a,b,c,d,e){var f=e.start,g=e.end,c=e.r||c||d,d=$(f),h=ca(f),i=$(g),k=ca(g),e=e.innerR,j=0.08/c,l=e&&0.25/e||0;if(g-f===0)return["x"];else 2*ra-g+fa+1&&b.push(d.slice(a+1,g)),a=g):g===e-1&&b.push(d.slice(a+1,g+1))});this.segments=b},setOptions:function(a){var b=this.chart.options,c=b.plotOptions,d=a.data;a.data=null;c=K(c[this.type],c.series,a);c.data=a.data=d;this.tooltipOptions=K(b.tooltip,c.tooltip);return c},getColor:function(){var a=this.chart.options.colors,b=this.chart.counters;this.color=this.options.color||a[b.color++]||"#0000ff";b.wrapColor(a.length)},getSymbol:function(){var a=this.options.marker,b=this.chart,c=b.options.symbols, +b=b.counters;this.symbol=a.symbol||c[b.symbol++];if(/^url/.test(this.symbol))a.radius=0;b.wrapSymbol(c.length)},addPoint:function(a,b,c,d){var e=this.data,f=this.graph,g=this.area,h=this.chart,i=this.xData,k=this.yData,j=f&&f.shift||0,l=this.options.data;Ib(d,h);if(f&&c)f.shift=j+1;if(g){if(c)g.shift=j+1;g.isArea=!0}b=r(b,!0);d={series:this};this.pointClass.prototype.applyOptions.apply(d,[a]);i.push(d.x);k.push(this.valueCount===4?[d.open,d.high,d.low,d.close]:d.y);l.push(a);c&&(e[0]&&e[0].remove? +e[0].remove(!1):(e.shift(),i.shift(),k.shift(),l.shift()));this.getAttribs();this.isDirtyData=this.isDirty=!0;b&&h.redraw()},setData:function(a,b){var c=this.points,d=this.options,e=this.initialColor,f=this.chart,g=null,h=this.xAxis;this.xIncrement=null;this.pointRange=h&&h.categories&&1||d.pointRange;if(u(e))f.counters.color=e;var i=[],k=[],j=a?a.length:[],l=this.valueCount===4;if(j>(d.turboThreshold||1E3)){for(e=0;g===null&&ej||this.forceCrop))if(a=i.getExtremes(),i=a.min, +j=a.max,b[d-1]j)b=[],c=[];else if(b[0]j){for(a=0;a=i){e=X(0,a-1);break}for(;aj){f=a+1;break}b=b.slice(e,f);c=c.slice(e,f);g=!0}for(a=b.length-1;a>0;a--)if(d=b[a]-b[a-1],d>0&&(h===V||d0||k)g.graphic=c.renderer.symbol(i,d-h,e-h,2*h,2*h).attr(a).add(this.group)},convertAttribs:function(a,b,c,d){var e=this.pointAttrToOptions,f,g,h={},a=a||{}, +b=b||{},c=c||{},d=d||{};for(f in e)g=e[f],h[f]=r(a[g],b[f],c[f],d[f]);return h},getAttribs:function(){var a=this,b=Aa[a.type].marker?a.options.marker:a.options,c=b.states,d=c[Ga],e,f=a.color,g={stroke:f,fill:f},h=a.points,i=[],k,j=a.pointAttrToOptions,l;a.options.marker?(d.radius=d.radius||b.radius+2,d.lineWidth=d.lineWidth||b.lineWidth+1):d.color=d.color||Oa(d.color||f).brighten(d.brightness).get();i[Ja]=a.convertAttribs(b,g);o([Ga,"select"],function(b){i[b]=a.convertAttribs(c[b],i[Ja])});a.pointAttr= +i;for(f=h.length;f--;){g=h[f];if((b=g.options&&g.options.marker||g.options)&&b.enabled===!1)b.radius=0;e=!1;if(g.options)for(l in j)u(b[j[l]])&&(e=!0);if(e){k=[];c=b.states||{};e=c[Ga]=c[Ga]||{};if(!a.options.marker)e.color=Oa(e.color||g.options.color).brighten(e.brightness||d.brightness).get();k[Ja]=a.convertAttribs(b,i[Ja]);k[Ga]=a.convertAttribs(c[Ga],i[Ga],k[Ja]);k.select=a.convertAttribs(c.select,i.select,k[Ja])}else k=i;g.pointAttr=k}},destroy:function(){var a=this,b=a.chart,c=a.clipRect,d= +/AppleWebKit\/533/.test(va),e,f,g=a.data||[],h,i,k;aa(a,"destroy");Na(a);o(["xAxis","yAxis"],function(b){if(k=a[b])Eb(k.series,a),k.isDirty=!0});a.legendItem&&a.chart.legend.destroyItem(a);for(f=g.length;f--;)(h=g[f])&&h.destroy&&h.destroy();a.points=null;if(c&&c!==b.clipRect)a.clipRect=c.destroy();o(["area","graph","dataLabelsGroup","group","tracker"],function(b){a[b]&&(e=d&&b==="group"?"hide":"destroy",a[b][e]())});if(b.hoverSeries===a)b.hoverSeries=null;Eb(b.series,a);for(i in a)delete a[i]},drawDataLabels:function(){var a= +this,b=a.options,c=b.dataLabels;if(c.enabled||a._hasPointLabels){var d,e,f=a.points,g,h,i,k=a.dataLabelsGroup,j=a.chart,l=a.xAxis,l=l?l.left:j.plotLeft,n=a.yAxis,n=n?n.top:j.plotTop,p=j.renderer,v=j.inverted,y=a.type,t=b.stacking,w=y==="column"||y==="bar",s=c.verticalAlign===null,Y=c.y===null,z=p.fontMetrics(c.style.fontSize),A=z.h,D=z.b,E,B;w&&(z={top:D,middle:D-A/2,bottom:-A+D},t?(s&&(c=K(c,{verticalAlign:"middle"})),Y&&(c=K(c,{y:z[c.verticalAlign]}))):s?c=K(c,{verticalAlign:"top"}):Y&&(c=K(c,{y:z[c.verticalAlign]}))); +k?k.translate(l,n):k=a.dataLabelsGroup=p.g("data-labels").attr({visibility:a.visible?cb:Za,zIndex:6}).translate(l,n).add();h=c;o(f,function(f){E=f.dataLabel;c=h;(g=f.options)&&g.dataLabels&&(c=K(c,g.dataLabels));if(B=c.enabled){var l=f.barX&&f.barX+f.barW/2||r(f.plotX,-999),n=r(f.plotY,-999),o=c.y===null?f.y>=b.threshold?-A+D:D:c.y;d=(v?j.plotWidth-n:l)+c.x;e=C((v?j.plotHeight-l:n)+o)}if(E&&a.isCartesian&&(!j.isInsidePlot(d,e)||!B))f.dataLabel=E.destroy();else if(B){l=c.align;i=c.formatter.call(f.getLabelConfig(), +c);y==="column"&&(d+={left:-1,right:1}[l]*f.barW/2||0);!t&&v&&f.y<0&&(l="right",d-=10);c.style.color=r(c.color,c.style.color,a.color,"black");if(E)E.attr({text:i}).animate({x:d,y:e});else if(u(i))E=f.dataLabel=p[c.rotation?"text":"label"](i,d,e,null,null,null,c.useHTML,!0).attr({align:l,fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":c.borderWidth,r:c.borderRadius||0,rotation:c.rotation,padding:c.padding,zIndex:1}).css(c.style).add(k).shadow(c.shadow);if(w&&b.stacking&&E)l=f.barX,n=f.barY, +o=f.barW,f=f.barH,E.align(c,null,{x:v?j.plotWidth-n-f:l,y:v?j.plotHeight-l-o:n,width:v?f:o,height:v?o:f})}})}},drawGraph:function(){var a=this,b=a.options,c=a.graph,d=[],e,f=a.area,g=a.group,h=b.lineColor||a.color,i=b.lineWidth,k=b.dashStyle,j,l=a.chart.renderer,n=a.yAxis.getThreshold(b.threshold),p=/^area/.test(a.type),v=[],u=[];o(a.segments,function(c){j=[];o(c,function(d,e){a.getPointSpline?j.push.apply(j,a.getPointSpline(c,d,e)):(j.push(e?fa:ta),e&&b.step&&j.push(d.plotX,c[e-1].plotY),j.push(d.plotX, +d.plotY))});c.length>1?d=d.concat(j):v.push(c[0]);if(p){var e=[],f,g=j.length;for(f=0;f=0;f--)fa&&i>e?(i=X(a,e),j=2*e-i):ig&&j>e?(j=X(g,e),i=2*e-j):js?g-s:w-(f<=w?s:0));N(b,{barX:h,barY:i,barW:y,barH:j});b.shapeType="rect";f={x:h,y:i,width:y,height:j,r:c.borderRadius,strokeWidth:e};e%2&&(f.y-=1,f.height+=1);b.shapeArgs=f;b.trackerArgs=ya(j)<3&&K(b.shapeArgs,{height:6,y:i-3})})},getSymbol:function(){},drawGraph:function(){},drawPoints:function(){var a=this,b=a.options,c=a.chart.renderer,d,e;o(a.points, +function(f){var g=f.plotY;if(g!==V&&!isNaN(g)&&f.y!==null)d=f.graphic,e=f.shapeArgs,d?(Nb(d),d.animate(c.Element.prototype.crisp.apply({},[e.strokeWidth,e.x,e.y,e.width,e.height]))):f.graphic=d=c[f.shapeType](e).attr(f.pointAttr[f.selected?"select":Ja]).add(a.group).shadow(b.shadow)})},drawTracker:function(){var a=this,b=a.chart,c=b.renderer,d,e,f=+new Date,g=a.options,h=g.cursor,i=h&&{cursor:h},k=a.drawTrackerGroup(),j,l,n;o(a.points,function(h){e=h.tracker;d=h.trackerArgs||h.shapeArgs;l=h.plotY; +n=!a.isCartesian||l!==V&&!isNaN(l);delete d.strokeWidth;if(h.y!==null&&n)e?e.attr(d):h.tracker=c[h.shapeType](d).attr({isTracker:f,fill:Gc,visibility:a.visible?cb:Za}).on(Wa?"touchstart":"mouseover",function(c){j=c.relatedTarget||c.fromElement;if(b.hoverSeries!==a&&A(j,"isTracker")!==f)a.onMouseOver();h.onMouseOver()}).on("mouseout",function(b){if(!g.stickyTracking&&(j=b.relatedTarget||b.toElement,A(j,"isTracker")!==f))a.onMouseOut()}).css(i).add(h.group||k)})},animate:function(a){var b=this,c=b.points, +d=b.options;if(!a)o(c,function(a){var c=a.graphic,a=a.shapeArgs,g=b.yAxis,h=d.threshold;c&&(c.attr({height:0,y:u(h)?g.getThreshold(h):g.translate(g.getExtremes().min,0,1,0,1)}),c.animate({height:a.height,y:a.y},d.animation))}),b.animate=null},remove:function(){var a=this,b=a.chart;b.hasRendered&&o(b.series,function(b){if(b.type===a.type)b.isDirty=!0});M.prototype.remove.apply(a,arguments)}});Ha.column=Qb;D=da(Qb,{type:"bar",init:function(){this.inverted=!0;Qb.prototype.init.apply(this,arguments)}}); +Ha.bar=D;D=da(M,{type:"scatter",sorted:!1,translate:function(){var a=this;M.prototype.translate.apply(a);o(a.points,function(b){b.shapeType="circle";b.shapeArgs={x:b.plotX,y:b.plotY,r:a.chart.options.tooltip.snap}})},drawTracker:function(){for(var a=this,b=a.options.cursor,b=b&&{cursor:b},c=a.points,d=c.length,e;d--;)if(e=c[d].graphic)e.element._i=d;a._hasTracking?a._hasTracking=!0:a.group.attr({isTracker:!0}).on(Wa?"touchstart":"mouseover",function(b){a.onMouseOver();if(b.target._i!==V)c[b.target._i].onMouseOver()}).on("mouseout", +function(){if(!a.options.stickyTracking)a.onMouseOut()}).css(b)}});Ha.scatter=D;D=da(xb,{init:function(){xb.prototype.init.apply(this,arguments);var a=this,b;N(a,{visible:a.visible!==!1,name:r(a.name,"Slice")});b=function(){a.slice()};ka(a,"select",b);ka(a,"unselect",b);return a},setVisible:function(a){var b=this.series.chart,c=this.tracker,d=this.dataLabel,e=this.connector,f=this.shadowGroup,g;g=(this.visible=a=a===V?!this.visible:a)?"show":"hide";this.group[g]();if(c)c[g]();if(d)d[g]();if(e)e[g](); +if(f)f[g]();this.legendItem&&b.legend.colorizeItem(this,a)},slice:function(a,b,c){var d=this.series.chart,e=this.slicedTranslation;Ib(c,d);r(b,!0);a=this.sliced=u(a)?a:!this.sliced;a={translateX:a?e[0]:d.plotLeft,translateY:a?e[1]:d.plotTop};this.group.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)}});D=da(M,{type:"pie",isCartesian:!1,pointClass:D,pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:function(){this.initialColor=this.chart.counters.color}, +animate:function(){var a=this;o(a.points,function(b){var c=b.graphic,b=b.shapeArgs,d=-ra/2;c&&(c.attr({r:0,start:d,end:d}),c.animate({r:b.r,start:b.start,end:b.end},a.options.animation))});a.animate=null},setData:function(a,b){M.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();r(b,!0)&&this.chart.redraw()},translate:function(){this.generatePoints();var a=0,b=-0.25,c=this.options,d=c.slicedOffset,e=d+c.borderWidth,f=c.center.concat([c.size,c.innerSize||0]),g=this.chart,h= +g.plotWidth,i=g.plotHeight,k,j,l,n=this.points,p=2*ra,r,u=Ta(h,i),t,w,s,y=c.dataLabels.distance,f=Ub(f,function(a,b){return(t=/%$/.test(a))?[h,i,u,u][b]*T(a)/100:a});this.getX=function(a,b){l=na.asin((a-f[1])/(f[2]/2+y));return f[0]+(b?-1:1)*$(l)*(f[2]/2+y)};this.center=f;o(n,function(b){a+=b.y});o(n,function(c){r=a?c.y/a:0;k=C(b*p*1E3)/1E3;b+=r;j=C(b*p*1E3)/1E3;c.shapeType="arc";c.shapeArgs={x:f[0],y:f[1],r:f[2]/2,innerR:f[3]/2,start:k,end:j};l=(j+k)/2;c.slicedTranslation=Ub([$(l)*d+g.plotLeft,ca(l)* +d+g.plotTop],C);w=$(l)*f[2]/2;s=ca(l)*f[2]/2;c.tooltipPos=[f[0]+w*0.7,f[1]+s*0.7];c.labelPos=[f[0]+w+$(l)*y,f[1]+s+ca(l)*y,f[0]+w+$(l)*e,f[1]+s+ca(l)*e,f[0]+w,f[1]+s,y<0?"center":l

0,v=[[],[]],u,t,w,s,y=2,z;if(d.enabled){M.prototype.drawDataLabels.apply(this);o(a,function(a){a.dataLabel&&v[a.labelPos[7]0){for(z=n-l-k;z<=n+ +l+k;z+=a)A.push(z);w=A.length;if(C>w){h=[].concat(D);h.sort(s);for(z=C;z--;)h[z].rank=z;for(z=C;z--;)D[z].rank>=w&&D.splice(z,1);C=D.length}for(z=0;z0){if(t=E.pop(),B=t.i,t=t.y,u>t&&A[B+1]!==null||u/g, '') - .split(//g), - childNodes = textNode.childNodes, - styleRegex = /style="([^"]+)"/, - hrefRegex = /href="([^"]+)"/, - parentX = attr(textNode, 'x'), - textStyles = wrapper.styles, - renderAsHtml = textStyles && wrapper.useHTML && !this.forExport, - htmlNode = wrapper.htmlNode, - //arr, issue #38 workaround - width = textStyles && pInt(textStyles.width), - textLineHeight = textStyles && textStyles.lineHeight, - lastLine, - GET_COMPUTED_STYLE = 'getComputedStyle', - i = childNodes.length; - - // remove old text - while (i--) { - textNode.removeChild(childNodes[i]); - } - - if (width && !wrapper.added) { - this.box.appendChild(textNode); // attach it to the DOM to read offset width - } - - each(lines, function (line, lineNo) { - var spans, spanNo = 0, lineHeight; - - line = line.replace(//g, '|||'); - spans = line.split('|||'); - - each(spans, function (span) { - if (span !== '' || spans.length === 1) { - var attributes = {}, - tspan = doc.createElementNS(SVG_NS, 'tspan'); - if (styleRegex.test(span)) { - attr( - tspan, - 'style', - span.match(styleRegex)[1].replace(/(;| |^)color([ :])/, '$1fill$2') - ); - } - if (hrefRegex.test(span)) { - attr(tspan, 'onclick', 'location.href=\"' + span.match(hrefRegex)[1] + '\"'); - css(tspan, { cursor: 'pointer' }); - } - - span = (span.replace(/<(.|\n)*?>/g, '') || ' ') - .replace(/</g, '<') - .replace(/>/g, '>'); - - // issue #38 workaround. - /*if (reverse) { - arr = []; - i = span.length; - while (i--) { - arr.push(span.charAt(i)); - } - span = arr.join(''); - }*/ - - // add the text node - tspan.appendChild(doc.createTextNode(span)); - - if (!spanNo) { // first span in a line, align it to the left - attributes.x = parentX; - } else { - // Firefox ignores spaces at the front or end of the tspan - attributes.dx = 3; // space - } - - // first span on subsequent line, add the line height - if (!spanNo) { - if (lineNo) { - - // allow getting the right offset height in exporting in IE - if (!hasSVG && wrapper.renderer.forExport) { - css(tspan, { display: 'block' }); - } - - // Webkit and opera sometimes return 'normal' as the line height. In that - // case, webkit uses offsetHeight, while Opera falls back to 18 - lineHeight = win[GET_COMPUTED_STYLE] && - pInt(win[GET_COMPUTED_STYLE](lastLine, null).getPropertyValue('line-height')); - - if (!lineHeight || isNaN(lineHeight)) { - lineHeight = textLineHeight || lastLine.offsetHeight || 18; - } - attr(tspan, 'dy', lineHeight); - } - lastLine = tspan; // record for use in next line - } - - // add attributes - attr(tspan, attributes); - - // append it - textNode.appendChild(tspan); - - spanNo++; - - // check width and apply soft breaks - if (width) { - var words = span.replace(/-/g, '- ').split(' '), - tooLong, - actualWidth, - rest = []; - - while (words.length || rest.length) { - actualWidth = textNode.getBBox().width; - tooLong = actualWidth > width; - if (!tooLong || words.length === 1) { // new line needed - words = rest; - rest = []; - if (words.length) { - tspan = doc.createElementNS(SVG_NS, 'tspan'); - attr(tspan, { - dy: textLineHeight || 16, - x: parentX - }); - textNode.appendChild(tspan); - - if (actualWidth > width) { // a single word is pressing it out - width = actualWidth; - } - } - } else { // append to existing line tspan - tspan.removeChild(tspan.firstChild); - rest.unshift(words.pop()); - } - if (words.length) { - tspan.appendChild(doc.createTextNode(words.join(' ').replace(/- /g, '-'))); - } - } - } - } - }); - }); - - // Fix issue #38 and allow HTML in tooltips and other labels - if (renderAsHtml) { - if (!htmlNode) { - htmlNode = wrapper.htmlNode = createElement('span', null, extend(textStyles, { - position: ABSOLUTE, - top: 0, - left: 0 - }), this.box.parentNode); - } - htmlNode.innerHTML = wrapper.textStr; - - i = childNodes.length; - while (i--) { - childNodes[i].style.visibility = HIDDEN; - } - } - }, - - /** - * Make a straight line crisper by not spilling out to neighbour pixels - * @param {Array} points - * @param {Number} width - */ - crispLine: function (points, width) { - // points format: [M, 0, 0, L, 100, 0] - // normalize to a crisp line - if (points[1] === points[4]) { - points[1] = points[4] = mathRound(points[1]) + (width % 2 / 2); - } - if (points[2] === points[5]) { - points[2] = points[5] = mathRound(points[2]) + (width % 2 / 2); - } - return points; - }, - - - /** - * Draw a path - * @param {Array} path An SVG path in array form - */ - path: function (path) { - return this.createElement('path').attr({ - d: path, - fill: NONE - }); - }, - - /** - * Draw and return an SVG circle - * @param {Number} x The x position - * @param {Number} y The y position - * @param {Number} r The radius - */ - circle: function (x, y, r) { - var attr = isObject(x) ? - x : - { - x: x, - y: y, - r: r - }; - - return this.createElement('circle').attr(attr); - }, - - /** - * Draw and return an arc - * @param {Number} x X position - * @param {Number} y Y position - * @param {Number} r Radius - * @param {Number} innerR Inner radius like used in donut charts - * @param {Number} start Starting angle - * @param {Number} end Ending angle - */ - arc: function (x, y, r, innerR, start, end) { - // arcs are defined as symbols for the ability to set - // attributes in attr and animate - - if (isObject(x)) { - y = x.y; - r = x.r; - innerR = x.innerR; - start = x.start; - end = x.end; - x = x.x; - } - - return this.symbol('arc', x || 0, y || 0, r || 0, { - innerR: innerR || 0, - start: start || 0, - end: end || 0 - }); - }, - - /** - * Draw and return a rectangle - * @param {Number} x Left position - * @param {Number} y Top position - * @param {Number} width - * @param {Number} height - * @param {Number} r Border corner radius - * @param {Number} strokeWidth A stroke width can be supplied to allow crisp drawing - */ - rect: function (x, y, width, height, r, strokeWidth) { - if (isObject(x)) { - y = x.y; - width = x.width; - height = x.height; - r = x.r; - strokeWidth = x.strokeWidth; - x = x.x; - } - var wrapper = this.createElement('rect').attr({ - rx: r, - ry: r, - fill: NONE - }); - - return wrapper.attr(wrapper.crisp(strokeWidth, x, y, mathMax(width, 0), mathMax(height, 0))); - }, - - /** - * Resize the box and re-align all aligned elements - * @param {Object} width - * @param {Object} height - * @param {Boolean} animate - * - */ - setSize: function (width, height, animate) { - var renderer = this, - alignedObjects = renderer.alignedObjects, - i = alignedObjects.length; - - renderer.width = width; - renderer.height = height; - - renderer.boxWrapper[pick(animate, true) ? 'animate' : 'attr']({ - width: width, - height: height - }); - - while (i--) { - alignedObjects[i].align(); - } - }, - - /** - * Create a group - * @param {String} name The group will be given a class name of 'highcharts-{name}'. - * This can be used for styling and scripting. - */ - g: function (name) { - var elem = this.createElement('g'); - return defined(name) ? elem.attr({ 'class': PREFIX + name }) : elem; - }, - - /** - * Display an image - * @param {String} src - * @param {Number} x - * @param {Number} y - * @param {Number} width - * @param {Number} height - */ - image: function (src, x, y, width, height) { - var attribs = { - preserveAspectRatio: NONE - }, - elemWrapper; - - // optional properties - if (arguments.length > 1) { - extend(attribs, { - x: x, - y: y, - width: width, - height: height - }); - } - - elemWrapper = this.createElement('image').attr(attribs); - - // set the href in the xlink namespace - if (elemWrapper.element.setAttributeNS) { - elemWrapper.element.setAttributeNS('http://www.w3.org/1999/xlink', - 'href', src); - } else { - // could be exporting in IE - // using href throws "not supported" in ie7 and under, requries regex shim to fix later - elemWrapper.element.setAttribute('hc-svg-href', src); - } - - return elemWrapper; - }, - - /** - * Draw a symbol out of pre-defined shape paths from the namespace 'symbol' object. - * - * @param {Object} symbol - * @param {Object} x - * @param {Object} y - * @param {Object} radius - * @param {Object} options - */ - symbol: function (symbol, x, y, radius, options) { - - var obj, - - // get the symbol definition function - symbolFn = this.symbols[symbol], - - // check if there's a path defined for this symbol - path = symbolFn && symbolFn( - mathRound(x), - mathRound(y), - radius, - options - ), - - imageRegex = /^url\((.*?)\)$/, - imageSrc, - imageSize; - - if (path) { - - obj = this.path(path); - // expando properties for use in animate and attr - extend(obj, { - symbolName: symbol, - x: x, - y: y, - r: radius - }); - if (options) { - extend(obj, options); - } - - - // image symbols - } else if (imageRegex.test(symbol)) { - - var centerImage = function (img, size) { - img.attr({ - width: size[0], - height: size[1] - }).translate( - -mathRound(size[0] / 2), - -mathRound(size[1] / 2) - ); - }; - - imageSrc = symbol.match(imageRegex)[1]; - imageSize = symbolSizes[imageSrc]; - - // create the image synchronously, add attribs async - obj = this.image(imageSrc) - .attr({ - x: x, - y: y - }); - - if (imageSize) { - centerImage(obj, imageSize); - } else { - // initialize image to be 0 size so export will still function if there's no cached sizes - obj.attr({ width: 0, height: 0 }); - - // create a dummy JavaScript image to get the width and height - createElement('img', { - onload: function () { - var img = this; - centerImage(obj, symbolSizes[imageSrc] = [img.width, img.height]); - }, - src: imageSrc - }); - } - - // default circles - } else { - obj = this.circle(x, y, radius); - } - - return obj; - }, - - /** - * An extendable collection of functions for defining symbol paths. - */ - symbols: { - 'square': function (x, y, radius) { - var len = 0.707 * radius; - return [ - M, x - len, y - len, - L, x + len, y - len, - x + len, y + len, - x - len, y + len, - 'Z' - ]; - }, - - 'triangle': function (x, y, radius) { - return [ - M, x, y - 1.33 * radius, - L, x + radius, y + 0.67 * radius, - x - radius, y + 0.67 * radius, - 'Z' - ]; - }, - - 'triangle-down': function (x, y, radius) { - return [ - M, x, y + 1.33 * radius, - L, x - radius, y - 0.67 * radius, - x + radius, y - 0.67 * radius, - 'Z' - ]; - }, - 'diamond': function (x, y, radius) { - return [ - M, x, y - radius, - L, x + radius, y, - x, y + radius, - x - radius, y, - 'Z' - ]; - }, - 'arc': function (x, y, radius, options) { - var start = options.start, - end = options.end - 0.000001, // to prevent cos and sin of start and end from becoming equal on 360 arcs - innerRadius = options.innerR, - cosStart = mathCos(start), - sinStart = mathSin(start), - cosEnd = mathCos(end), - sinEnd = mathSin(end), - longArc = options.end - start < mathPI ? 0 : 1; - - return [ - M, - x + radius * cosStart, - y + radius * sinStart, - 'A', // arcTo - radius, // x radius - radius, // y radius - 0, // slanting - longArc, // long or short arc - 1, // clockwise - x + radius * cosEnd, - y + radius * sinEnd, - L, - x + innerRadius * cosEnd, - y + innerRadius * sinEnd, - 'A', // arcTo - innerRadius, // x radius - innerRadius, // y radius - 0, // slanting - longArc, // long or short arc - 0, // clockwise - x + innerRadius * cosStart, - y + innerRadius * sinStart, - - 'Z' // close - ]; - } - }, - - /** - * Define a clipping rectangle - * @param {String} id - * @param {Number} x - * @param {Number} y - * @param {Number} width - * @param {Number} height - */ - clipRect: function (x, y, width, height) { - var wrapper, - id = PREFIX + idCounter++, - - clipPath = this.createElement('clipPath').attr({ - id: id - }).add(this.defs); - - wrapper = this.rect(x, y, width, height, 0).add(clipPath); - wrapper.id = id; - wrapper.clipPath = clipPath; - - return wrapper; - }, - - - /** - * Take a color and return it if it's a string, make it a gradient if it's a - * gradient configuration object - * - * @param {Object} color The color or config object - */ - color: function (color, elem, prop) { - var colorObject, - regexRgba = /^rgba/; - if (color && color.linearGradient) { - var renderer = this, - strLinearGradient = 'linearGradient', - linearGradient = color[strLinearGradient], - id = PREFIX + idCounter++, - gradientObject, - stopColor, - stopOpacity; - gradientObject = renderer.createElement(strLinearGradient).attr({ - id: id, - gradientUnits: 'userSpaceOnUse', - x1: linearGradient[0], - y1: linearGradient[1], - x2: linearGradient[2], - y2: linearGradient[3] - }).add(renderer.defs); - - // Keep a reference to the gradient object so it is possible to destroy it later - renderer.gradients.push(gradientObject); - - // The gradient needs to keep a list of stops to be able to destroy them - gradientObject.stops = []; - each(color.stops, function (stop) { - var stopObject; - if (regexRgba.test(stop[1])) { - colorObject = Color(stop[1]); - stopColor = colorObject.get('rgb'); - stopOpacity = colorObject.get('a'); - } else { - stopColor = stop[1]; - stopOpacity = 1; - } - stopObject = renderer.createElement('stop').attr({ - offset: stop[0], - 'stop-color': stopColor, - 'stop-opacity': stopOpacity - }).add(gradientObject); - - // Add the stop element to the gradient - gradientObject.stops.push(stopObject); - }); - - return 'url(' + this.url + '#' + id + ')'; - - // Webkit and Batik can't show rgba. - } else if (regexRgba.test(color)) { - colorObject = Color(color); - attr(elem, prop + '-opacity', colorObject.get('a')); - - return colorObject.get('rgb'); - - - } else { - // Remove the opacity attribute added above. Does not throw if the attribute is not there. - elem.removeAttribute(prop + '-opacity'); - - return color; - } - - }, - - - /** - * Add text to the SVG object - * @param {String} str - * @param {Number} x Left position - * @param {Number} y Top position - * @param {Boolean} useHTML Use HTML to render the text - */ - text: function (str, x, y, useHTML) { - - // declare variables - var defaultChartStyle = defaultOptions.chart.style, - wrapper; - - x = mathRound(pick(x, 0)); - y = mathRound(pick(y, 0)); - - wrapper = this.createElement('text') - .attr({ - x: x, - y: y, - text: str - }) - .css({ - fontFamily: defaultChartStyle.fontFamily, - fontSize: defaultChartStyle.fontSize - }); - - wrapper.x = x; - wrapper.y = y; - wrapper.useHTML = useHTML; - return wrapper; - } -}; // end SVGRenderer - -// general renderer -Renderer = SVGRenderer; - - - -/* **************************************************************************** - * * - * START OF INTERNET EXPLORER <= 8 SPECIFIC CODE * - * * - * For applications and websites that don't need IE support, like platform * - * targeted mobile apps and web apps, this code can be removed. * - * * - *****************************************************************************/ -var VMLRenderer; -if (!hasSVG) { - -/** - * The VML element wrapper. - */ -var VMLElement = extendClass(SVGElement, { - - /** - * Initialize a new VML element wrapper. It builds the markup as a string - * to minimize DOM traffic. - * @param {Object} renderer - * @param {Object} nodeName - */ - init: function (renderer, nodeName) { - var markup = ['<', nodeName, ' filled="f" stroked="f"'], - style = ['position: ', ABSOLUTE, ';']; - - // divs and shapes need size - if (nodeName === 'shape' || nodeName === DIV) { - style.push('left:0;top:0;width:10px;height:10px;'); - } - if (docMode8) { - style.push('visibility: ', nodeName === DIV ? HIDDEN : VISIBLE); - } - - markup.push(' style="', style.join(''), '"/>'); - - // create element with default attributes and style - if (nodeName) { - markup = nodeName === DIV || nodeName === 'span' || nodeName === 'img' ? - markup.join('') - : renderer.prepVML(markup); - this.element = createElement(markup); - } - - this.renderer = renderer; - }, - - /** - * Add the node to the given parent - * @param {Object} parent - */ - add: function (parent) { - var wrapper = this, - renderer = wrapper.renderer, - element = wrapper.element, - box = renderer.box, - inverted = parent && parent.inverted, - - // get the parent node - parentNode = parent ? - parent.element || parent : - box; - - - // if the parent group is inverted, apply inversion on all children - if (inverted) { // only on groups - renderer.invertChild(element, parentNode); - } - - // issue #140 workaround - related to #61 and #74 - if (docMode8 && parentNode.gVis === HIDDEN) { - css(element, { visibility: HIDDEN }); - } - - // append it - parentNode.appendChild(element); - - // align text after adding to be able to read offset - wrapper.added = true; - if (wrapper.alignOnAdd) { - wrapper.updateTransform(); - } - - return wrapper; - }, - - /** - * Get or set attributes - */ - attr: function (hash, val) { - var key, - value, - i, - element = this.element || {}, - elemStyle = element.style, - nodeName = element.nodeName, - renderer = this.renderer, - symbolName = this.symbolName, - childNodes, - hasSetSymbolSize, - shadows = this.shadows, - skipAttr, - ret = this; - - // single key-value pair - if (isString(hash) && defined(val)) { - key = hash; - hash = {}; - hash[key] = val; - } - - // used as a getter, val is undefined - if (isString(hash)) { - key = hash; - if (key === 'strokeWidth' || key === 'stroke-width') { - ret = this.strokeweight; - } else { - ret = this[key]; - } - - // setter - } else { - for (key in hash) { - value = hash[key]; - skipAttr = false; - - // prepare paths - // symbols - if (symbolName && /^(x|y|r|start|end|width|height|innerR)/.test(key)) { - // if one of the symbol size affecting parameters are changed, - // check all the others only once for each call to an element's - // .attr() method - if (!hasSetSymbolSize) { - this.symbolAttr(hash); - - hasSetSymbolSize = true; - } - - skipAttr = true; - - } else if (key === 'd') { - value = value || []; - this.d = value.join(' '); // used in getter for animation - - // convert paths - i = value.length; - var convertedPath = []; - while (i--) { - - // Multiply by 10 to allow subpixel precision. - // Substracting half a pixel seems to make the coordinates - // align with SVG, but this hasn't been tested thoroughly - if (isNumber(value[i])) { - convertedPath[i] = mathRound(value[i] * 10) - 5; - } else if (value[i] === 'Z') { // close the path - convertedPath[i] = 'x'; - } else { - convertedPath[i] = value[i]; - } - - } - value = convertedPath.join(' ') || 'x'; - element.path = value; - - // update shadows - if (shadows) { - i = shadows.length; - while (i--) { - shadows[i].path = value; - } - } - skipAttr = true; - - // directly mapped to css - } else if (key === 'zIndex' || key === 'visibility') { - - // issue 61 workaround - if (docMode8 && key === 'visibility' && nodeName === 'DIV') { - element.gVis = value; - childNodes = element.childNodes; - i = childNodes.length; - while (i--) { - css(childNodes[i], { visibility: value }); - } - if (value === VISIBLE) { // issue 74 - value = null; - } - } - - if (value) { - elemStyle[key] = value; - } - - - - skipAttr = true; - - // width and height - } else if (/^(width|height)$/.test(key)) { - - this[key] = value; // used in getter - - // clipping rectangle special - if (this.updateClipping) { - this[key] = value; - this.updateClipping(); - - } else { - // normal - elemStyle[key] = value; - } - - skipAttr = true; - - // x and y - } else if (/^(x|y)$/.test(key)) { - - this[key] = value; // used in getter - - if (element.tagName === 'SPAN') { - this.updateTransform(); - - } else { - elemStyle[{ x: 'left', y: 'top' }[key]] = value; - } - - // class name - } else if (key === 'class') { - // IE8 Standards mode has problems retrieving the className - element.className = value; - - // stroke - } else if (key === 'stroke') { - - value = renderer.color(value, element, key); - - key = 'strokecolor'; - - // stroke width - } else if (key === 'stroke-width' || key === 'strokeWidth') { - element.stroked = value ? true : false; - key = 'strokeweight'; - this[key] = value; // used in getter, issue #113 - if (isNumber(value)) { - value += PX; - } - - // dashStyle - } else if (key === 'dashstyle') { - var strokeElem = element.getElementsByTagName('stroke')[0] || - createElement(renderer.prepVML(['']), null, null, element); - strokeElem[key] = value || 'solid'; - this.dashstyle = value; /* because changing stroke-width will change the dash length - and cause an epileptic effect */ - skipAttr = true; - - // fill - } else if (key === 'fill') { - - if (nodeName === 'SPAN') { // text color - elemStyle.color = value; - } else { - element.filled = value !== NONE ? true : false; - - value = renderer.color(value, element, key); - - key = 'fillcolor'; - } - - // translation for animation - } else if (key === 'translateX' || key === 'translateY' || key === 'rotation' || key === 'align') { - if (key === 'align') { - key = 'textAlign'; - } - this[key] = value; - this.updateTransform(); - - skipAttr = true; - } else if (key === 'text') { // text for rotated and non-rotated elements - this.bBox = null; - element.innerHTML = value; - skipAttr = true; - } - - - // let the shadow follow the main element - if (shadows && key === 'visibility') { - i = shadows.length; - while (i--) { - shadows[i].style[key] = value; - } - } - - - - if (!skipAttr) { - if (docMode8) { // IE8 setAttribute bug - element[key] = value; - } else { - attr(element, key, value); - } - } - } - } - return ret; - }, - - /** - * Set the element's clipping to a predefined rectangle - * - * @param {String} id The id of the clip rectangle - */ - clip: function (clipRect) { - var wrapper = this, - clipMembers = clipRect.members; - - clipMembers.push(wrapper); - wrapper.destroyClip = function () { - erase(clipMembers, wrapper); - }; - return wrapper.css(clipRect.getCSS(wrapper.inverted)); - }, - - /** - * Set styles for the element - * @param {Object} styles - */ - css: function (styles) { - var wrapper = this, - element = wrapper.element, - textWidth = styles && element.tagName === 'SPAN' && styles.width; - - /*if (textWidth) { - extend(styles, { - display: 'block', - whiteSpace: 'normal' - }); - }*/ - if (textWidth) { - delete styles.width; - wrapper.textWidth = textWidth; - wrapper.updateTransform(); - } - - wrapper.styles = extend(wrapper.styles, styles); - css(wrapper.element, styles); - - return wrapper; - }, - - /** - * Removes a child either by removeChild or move to garbageBin. - * Issue 490; in VML removeChild results in Orphaned nodes according to sIEve, discardElement does not. - */ - safeRemoveChild: function (element) { - // discardElement will detach the node from its parent before attaching it - // to the garbage bin. Therefore it is important that the node is attached and have parent. - var parentNode = element.parentNode; - if (parentNode) { - discardElement(element); - } - }, - - /** - * Extend element.destroy by removing it from the clip members array - */ - destroy: function () { - var wrapper = this; - - if (wrapper.destroyClip) { - wrapper.destroyClip(); - } - - return SVGElement.prototype.destroy.apply(wrapper); - }, - - /** - * Remove all child nodes of a group, except the v:group element - */ - empty: function () { - var element = this.element, - childNodes = element.childNodes, - i = childNodes.length, - node; - - while (i--) { - node = childNodes[i]; - node.parentNode.removeChild(node); - } - }, - - /** - * VML override for calculating the bounding box based on offsets - * - * @return {Object} A hash containing values for x, y, width and height - */ - - getBBox: function () { - var wrapper = this, - element = wrapper.element, - bBox = wrapper.bBox; - - if (!bBox) { - // faking getBBox in exported SVG in legacy IE - if (element.nodeName === 'text') { - element.style.position = ABSOLUTE; - } - - bBox = wrapper.bBox = { - x: element.offsetLeft, - y: element.offsetTop, - width: element.offsetWidth, - height: element.offsetHeight - }; - } - return bBox; - - }, - - /** - * Add an event listener. VML override for normalizing event parameters. - * @param {String} eventType - * @param {Function} handler - */ - on: function (eventType, handler) { - // simplest possible event model for internal use - this.element['on' + eventType] = function () { - var evt = win.event; - evt.target = evt.srcElement; - handler(evt); - }; - return this; - }, - - - /** - * VML override private method to update elements based on internal - * properties based on SVG transform - */ - updateTransform: function () { - // aligning non added elements is expensive - if (!this.added) { - this.alignOnAdd = true; - return; - } - - var wrapper = this, - elem = wrapper.element, - translateX = wrapper.translateX || 0, - translateY = wrapper.translateY || 0, - x = wrapper.x || 0, - y = wrapper.y || 0, - align = wrapper.textAlign || 'left', - alignCorrection = { left: 0, center: 0.5, right: 1 }[align], - nonLeft = align && align !== 'left'; - - // apply translate - if (translateX || translateY) { - wrapper.css({ - marginLeft: translateX, - marginTop: translateY - }); - } - - // apply inversion - if (wrapper.inverted) { // wrapper is a group - each(elem.childNodes, function (child) { - wrapper.renderer.invertChild(child, elem); - }); - } - - if (elem.tagName === 'SPAN') { - - var width, height, - rotation = wrapper.rotation, - lineHeight, - radians = 0, - costheta = 1, - sintheta = 0, - quad, - textWidth = pInt(wrapper.textWidth), - xCorr = wrapper.xCorr || 0, - yCorr = wrapper.yCorr || 0, - currentTextTransform = [rotation, align, elem.innerHTML, wrapper.textWidth].join(','); - - if (currentTextTransform !== wrapper.cTT) { // do the calculations and DOM access only if properties changed - - if (defined(rotation)) { - radians = rotation * deg2rad; // deg to rad - costheta = mathCos(radians); - sintheta = mathSin(radians); - - // Adjust for alignment and rotation. - // Test case: http://highcharts.com/tests/?file=text-rotation - css(elem, { - filter: rotation ? ['progid:DXImageTransform.Microsoft.Matrix(M11=', costheta, - ', M12=', -sintheta, ', M21=', sintheta, ', M22=', costheta, - ', sizingMethod=\'auto expand\')'].join('') : NONE - }); - } - - width = elem.offsetWidth; - height = elem.offsetHeight; - - // update textWidth - if (width > textWidth) { - css(elem, { - width: textWidth + PX, - display: 'block', - whiteSpace: 'normal' - }); - width = textWidth; - } - - // correct x and y - lineHeight = mathRound((pInt(elem.style.fontSize) || 12) * 1.2); - xCorr = costheta < 0 && -width; - yCorr = sintheta < 0 && -height; - - // correct for lineHeight and corners spilling out after rotation - quad = costheta * sintheta < 0; - xCorr += sintheta * lineHeight * (quad ? 1 - alignCorrection : alignCorrection); - yCorr -= costheta * lineHeight * (rotation ? (quad ? alignCorrection : 1 - alignCorrection) : 1); - - // correct for the length/height of the text - if (nonLeft) { - xCorr -= width * alignCorrection * (costheta < 0 ? -1 : 1); - if (rotation) { - yCorr -= height * alignCorrection * (sintheta < 0 ? -1 : 1); - } - css(elem, { - textAlign: align - }); - } - - // record correction - wrapper.xCorr = xCorr; - wrapper.yCorr = yCorr; - } - - // apply position with correction - css(elem, { - left: x + xCorr, - top: y + yCorr - }); - - // record current text transform - wrapper.cTT = currentTextTransform; - } - }, - - /** - * Apply a drop shadow by copying elements and giving them different strokes - * @param {Boolean} apply - */ - shadow: function (apply, group) { - var shadows = [], - i, - element = this.element, - renderer = this.renderer, - shadow, - elemStyle = element.style, - markup, - path = element.path; - - // some times empty paths are not strings - if (path && typeof path.value !== 'string') { - path = 'x'; - } - - if (apply) { - for (i = 1; i <= 3; i++) { - markup = ['']; - shadow = createElement(renderer.prepVML(markup), - null, { - left: pInt(elemStyle.left) + 1, - top: pInt(elemStyle.top) + 1 - } - ); - - // apply the opacity - markup = ['']; - createElement(renderer.prepVML(markup), null, null, shadow); - - - // insert it - if (group) { - group.element.appendChild(shadow); - } else { - element.parentNode.insertBefore(shadow, element); - } - - // record it - shadows.push(shadow); - - } - - this.shadows = shadows; - } - return this; - - } -}); - -/** - * The VML renderer - */ -VMLRenderer = function () { - this.init.apply(this, arguments); -}; -VMLRenderer.prototype = merge(SVGRenderer.prototype, { // inherit SVGRenderer - - Element: VMLElement, - isIE8: userAgent.indexOf('MSIE 8.0') > -1, - - - /** - * Initialize the VMLRenderer - * @param {Object} container - * @param {Number} width - * @param {Number} height - */ - init: function (container, width, height) { - var renderer = this, - boxWrapper; - - renderer.alignedObjects = []; - - boxWrapper = renderer.createElement(DIV); - container.appendChild(boxWrapper.element); - - - // generate the containing box - renderer.box = boxWrapper.element; - renderer.boxWrapper = boxWrapper; - - - renderer.setSize(width, height, false); - - // The only way to make IE6 and IE7 print is to use a global namespace. However, - // with IE8 the only way to make the dynamic shapes visible in screen and print mode - // seems to be to add the xmlns attribute and the behaviour style inline. - if (!doc.namespaces.hcv) { - - doc.namespaces.add('hcv', 'urn:schemas-microsoft-com:vml'); - - // setup default css - doc.createStyleSheet().cssText = - 'hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke' + - '{ behavior:url(#default#VML); display: inline-block; } '; - - } - }, - - /** - * Define a clipping rectangle. In VML it is accomplished by storing the values - * for setting the CSS style to all associated members. - * - * @param {Number} x - * @param {Number} y - * @param {Number} width - * @param {Number} height - */ - clipRect: function (x, y, width, height) { - - // create a dummy element - var clipRect = this.createElement(); - - // mimic a rectangle with its style object for automatic updating in attr - return extend(clipRect, { - members: [], - left: x, - top: y, - width: width, - height: height, - getCSS: function (inverted) { - var rect = this,//clipRect.element.style, - top = rect.top, - left = rect.left, - right = left + rect.width, - bottom = top + rect.height, - ret = { - clip: 'rect(' + - mathRound(inverted ? left : top) + 'px,' + - mathRound(inverted ? bottom : right) + 'px,' + - mathRound(inverted ? right : bottom) + 'px,' + - mathRound(inverted ? top : left) + 'px)' - }; - - // issue 74 workaround - if (!inverted && docMode8) { - extend(ret, { - width: right + PX, - height: bottom + PX - }); - } - return ret; - }, - - // used in attr and animation to update the clipping of all members - updateClipping: function () { - each(clipRect.members, function (member) { - member.css(clipRect.getCSS(member.inverted)); - }); - } - }); - - }, - - - /** - * Take a color and return it if it's a string, make it a gradient if it's a - * gradient configuration object, and apply opacity. - * - * @param {Object} color The color or config object - */ - color: function (color, elem, prop) { - var colorObject, - regexRgba = /^rgba/, - markup; - - if (color && color.linearGradient) { - - var stopColor, - stopOpacity, - linearGradient = color.linearGradient, - angle, - color1, - opacity1, - color2, - opacity2; - - each(color.stops, function (stop, i) { - if (regexRgba.test(stop[1])) { - colorObject = Color(stop[1]); - stopColor = colorObject.get('rgb'); - stopOpacity = colorObject.get('a'); - } else { - stopColor = stop[1]; - stopOpacity = 1; - } - - if (!i) { // first - color1 = stopColor; - opacity1 = stopOpacity; - } else { - color2 = stopColor; - opacity2 = stopOpacity; - } - }); - - - - // calculate the angle based on the linear vector - angle = 90 - math.atan( - (linearGradient[3] - linearGradient[1]) / // y vector - (linearGradient[2] - linearGradient[0]) // x vector - ) * 180 / mathPI; - - // when colors attribute is used, the meanings of opacity and o:opacity2 - // are reversed. - markup = ['<', prop, ' colors="0% ', color1, ',100% ', color2, '" angle="', angle, - '" opacity="', opacity2, '" o:opacity2="', opacity1, - '" type="gradient" focus="100%" />']; - createElement(this.prepVML(markup), null, null, elem); - - - - // if the color is an rgba color, split it and add a fill node - // to hold the opacity component - } else if (regexRgba.test(color) && elem.tagName !== 'IMG') { - - colorObject = Color(color); - - markup = ['<', prop, ' opacity="', colorObject.get('a'), '"/>']; - createElement(this.prepVML(markup), null, null, elem); - - return colorObject.get('rgb'); - - - } else { - var strokeNodes = elem.getElementsByTagName(prop); - if (strokeNodes.length) { - strokeNodes[0].opacity = 1; - } - return color; - } - - }, - - /** - * Take a VML string and prepare it for either IE8 or IE6/IE7. - * @param {Array} markup A string array of the VML markup to prepare - */ - prepVML: function (markup) { - var vmlStyle = 'display:inline-block;behavior:url(#default#VML);', - isIE8 = this.isIE8; - - markup = markup.join(''); - - if (isIE8) { // add xmlns and style inline - markup = markup.replace('/>', ' xmlns="urn:schemas-microsoft-com:vml" />'); - if (markup.indexOf('style="') === -1) { - markup = markup.replace('/>', ' style="' + vmlStyle + '" />'); - } else { - markup = markup.replace('style="', 'style="' + vmlStyle); - } - - } else { // add namespace - markup = markup.replace('<', ' 1) { - obj.css({ - left: x, - top: y, - width: width, - height: height - }); - } - return obj; - }, - - /** - * VML uses a shape for rect to overcome bugs and rotation problems - */ - rect: function (x, y, width, height, r, strokeWidth) { - - if (isObject(x)) { - y = x.y; - width = x.width; - height = x.height; - r = x.r; - strokeWidth = x.strokeWidth; - x = x.x; - } - var wrapper = this.symbol('rect'); - wrapper.r = r; - - return wrapper.attr(wrapper.crisp(strokeWidth, x, y, mathMax(width, 0), mathMax(height, 0))); - }, - - /** - * In the VML renderer, each child of an inverted div (group) is inverted - * @param {Object} element - * @param {Object} parentNode - */ - invertChild: function (element, parentNode) { - var parentStyle = parentNode.style; - - css(element, { - flip: 'x', - left: pInt(parentStyle.width) - 10, - top: pInt(parentStyle.height) - 10, - rotation: -90 - }); - }, - - /** - * Symbol definitions that override the parent SVG renderer's symbols - * - */ - symbols: { - // VML specific arc function - arc: function (x, y, radius, options) { - var start = options.start, - end = options.end, - cosStart = mathCos(start), - sinStart = mathSin(start), - cosEnd = mathCos(end), - sinEnd = mathSin(end), - innerRadius = options.innerR, - circleCorrection = 0.07 / radius, - innerCorrection = (innerRadius && 0.1 / innerRadius) || 0; - - if (end - start === 0) { // no angle, don't show it. - return ['x']; - - //} else if (end - start == 2 * mathPI) { // full circle - } else if (2 * mathPI - end + start < circleCorrection) { // full circle - // empirical correction found by trying out the limits for different radii - cosEnd = -circleCorrection; - } else if (end - start < innerCorrection) { // issue #186, another mysterious VML arc problem - cosEnd = mathCos(start + innerCorrection); - } - - return [ - 'wa', // clockwise arc to - x - radius, // left - y - radius, // top - x + radius, // right - y + radius, // bottom - x + radius * cosStart, // start x - y + radius * sinStart, // start y - x + radius * cosEnd, // end x - y + radius * sinEnd, // end y - - - 'at', // anti clockwise arc to - x - innerRadius, // left - y - innerRadius, // top - x + innerRadius, // right - y + innerRadius, // bottom - x + innerRadius * cosEnd, // start x - y + innerRadius * sinEnd, // start y - x + innerRadius * cosStart, // end x - y + innerRadius * sinStart, // end y - - 'x', // finish path - 'e' // close - ]; - - }, - // Add circle symbol path. This performs significantly faster than v:oval. - circle: function (x, y, r) { - return [ - 'wa', // clockwisearcto - x - r, // left - y - r, // top - x + r, // right - y + r, // bottom - x + r, // start x - y, // start y - x + r, // end x - y, // end y - //'x', // finish path - 'e' // close - ]; - }, - /** - * Add rectangle symbol path which eases rotation and omits arcsize problems - * compared to the built-in VML roundrect shape - * - * @param {Number} left Left position - * @param {Number} top Top position - * @param {Number} r Border radius - * @param {Object} options Width and height - */ - - rect: function (left, top, r, options) { - if (!defined(options)) { - return []; - } - var width = options.width, - height = options.height, - right = left + width, - bottom = top + height; - - r = mathMin(r, width, height); - - return [ - M, - left + r, top, - - L, - right - r, top, - 'wa', - right - 2 * r, top, - right, top + 2 * r, - right - r, top, - right, top + r, - - L, - right, bottom - r, - 'wa', - right - 2 * r, bottom - 2 * r, - right, bottom, - right, bottom - r, - right - r, bottom, - - L, - left + r, bottom, - 'wa', - left, bottom - 2 * r, - left + 2 * r, bottom, - left + r, bottom, - left, bottom - r, - - L, - left, top + r, - 'wa', - left, top, - left + 2 * r, top + 2 * r, - left, top + r, - left + r, top, - - - 'x', - 'e' - ]; - - } - } -}); - -// general renderer -Renderer = VMLRenderer; -} -/* **************************************************************************** - * * - * END OF INTERNET EXPLORER <= 8 SPECIFIC CODE * - * * - *****************************************************************************/ - - -/** - * The chart class - * @param {Object} options - * @param {Function} callback Function to run when the chart has loaded - */ -function Chart(options, callback) { - - defaultXAxisOptions = merge(defaultXAxisOptions, defaultOptions.xAxis); - defaultYAxisOptions = merge(defaultYAxisOptions, defaultOptions.yAxis); - defaultOptions.xAxis = defaultOptions.yAxis = null; - - // Handle regular options - options = merge(defaultOptions, options); - - // Define chart variables - var optionsChart = options.chart, - optionsMargin = optionsChart.margin, - margin = isObject(optionsMargin) ? - optionsMargin : - [optionsMargin, optionsMargin, optionsMargin, optionsMargin], - optionsMarginTop = pick(optionsChart.marginTop, margin[0]), - optionsMarginRight = pick(optionsChart.marginRight, margin[1]), - optionsMarginBottom = pick(optionsChart.marginBottom, margin[2]), - optionsMarginLeft = pick(optionsChart.marginLeft, margin[3]), - spacingTop = optionsChart.spacingTop, - spacingRight = optionsChart.spacingRight, - spacingBottom = optionsChart.spacingBottom, - spacingLeft = optionsChart.spacingLeft, - spacingBox, - chartTitleOptions, - chartSubtitleOptions, - plotTop, - marginRight, - marginBottom, - plotLeft, - axisOffset, - renderTo, - renderToClone, - container, - containerId, - containerWidth, - containerHeight, - chartWidth, - chartHeight, - oldChartWidth, - oldChartHeight, - chartBackground, - plotBackground, - plotBGImage, - plotBorder, - chart = this, - chartEvents = optionsChart.events, - runChartClick = chartEvents && !!chartEvents.click, - eventType, - isInsidePlot, // function - tooltip, - mouseIsDown, - loadingDiv, - loadingSpan, - loadingShown, - plotHeight, - plotWidth, - tracker, - trackerGroup, - placeTrackerGroup, - legend, - legendWidth, - legendHeight, - chartPosition,// = getPosition(container), - hasCartesianSeries = optionsChart.showAxes, - isResizing = 0, - axes = [], - maxTicks, // handle the greatest amount of ticks on grouped axes - series = [], - inverted, - renderer, - tooltipTick, - tooltipInterval, - hoverX, - drawChartBox, // function - getMargins, // function - resetMargins, // function - setChartSize, // function - resize, - zoom, // function - zoomOut; // function - - - /** - * Create a new axis object - * @param {Object} options - */ - function Axis(userOptions) { - - // Define variables - var isXAxis = userOptions.isX, - opposite = userOptions.opposite, // needed in setOptions - horiz = inverted ? !isXAxis : isXAxis, - side = horiz ? - (opposite ? 0 : 2) : // top : bottom - (opposite ? 1 : 3), // right : left - stacks = {}, - - options = merge( - isXAxis ? defaultXAxisOptions : defaultYAxisOptions, - [defaultTopAxisOptions, defaultRightAxisOptions, - defaultBottomAxisOptions, defaultLeftAxisOptions][side], - userOptions - ), - - axis = this, - axisTitle, - type = options.type, - isDatetimeAxis = type === 'datetime', - isLog = type === 'logarithmic', - offset = options.offset || 0, - xOrY = isXAxis ? 'x' : 'y', - axisLength, - transA, // translation factor - oldTransA, // used for prerendering - transB = horiz ? plotLeft : marginBottom, // translation addend - translate, // fn - getPlotLinePath, // fn - axisGroup, - gridGroup, - axisLine, - dataMin, - dataMax, - associatedSeries, - userMin, - userMax, - max = null, - min = null, - oldMin, - oldMax, - minPadding = options.minPadding, - maxPadding = options.maxPadding, - isLinked = defined(options.linkedTo), - ignoreMinPadding, // can be set to true by a column or bar series - ignoreMaxPadding, - usePercentage, - events = options.events, - eventType, - plotLinesAndBands = [], - tickInterval, - minorTickInterval, - magnitude, - tickPositions, // array containing predefined positions - ticks = {}, - minorTicks = {}, - alternateBands = {}, - tickAmount, - labelOffset, - axisTitleMargin,// = options.title.margin, - dateTimeLabelFormat, - categories = options.categories, - labelFormatter = options.labels.formatter || // can be overwritten by dynamic format - function () { - var value = this.value, - ret; - - if (dateTimeLabelFormat) { // datetime axis - ret = dateFormat(dateTimeLabelFormat, value); - - } else if (tickInterval % 1000000 === 0) { // use M abbreviation - ret = (value / 1000000) + 'M'; - - } else if (tickInterval % 1000 === 0) { // use k abbreviation - ret = (value / 1000) + 'k'; - - } else if (!categories && value >= 1000) { // add thousands separators - ret = numberFormat(value, 0); - - } else { // strings (categories) and small numbers - ret = value; - } - return ret; - }, - - staggerLines = horiz && options.labels.staggerLines, - reversed = options.reversed, - tickmarkOffset = (categories && options.tickmarkPlacement === 'between') ? 0.5 : 0; - - /** - * The Tick class - */ - function Tick(pos, minor) { - var tick = this; - tick.pos = pos; - tick.minor = minor; - tick.isNew = true; - - if (!minor) { - tick.addLabel(); - } - } - Tick.prototype = { - /** - * Write the tick label - */ - addLabel: function () { - var pos = this.pos, - labelOptions = options.labels, - str, - withLabel = !((pos === min && !pick(options.showFirstLabel, 1)) || - (pos === max && !pick(options.showLastLabel, 0))), - width = (categories && horiz && categories.length && - !labelOptions.step && !labelOptions.staggerLines && - !labelOptions.rotation && - plotWidth / categories.length) || - (!horiz && plotWidth / 2), - css, - value = categories && defined(categories[pos]) ? categories[pos] : pos, - label = this.label; - - - // get the string - str = labelFormatter.call({ - isFirst: pos === tickPositions[0], - isLast: pos === tickPositions[tickPositions.length - 1], - dateTimeLabelFormat: dateTimeLabelFormat, - value: isLog ? lin2log(value) : value - }); - - - // prepare CSS - css = width && { width: mathMax(1, mathRound(width - 2 * (labelOptions.padding || 10))) + PX }; - css = extend(css, labelOptions.style); - - // first call - if (label === UNDEFINED) { - this.label = - defined(str) && withLabel && labelOptions.enabled ? - renderer.text( - str, - 0, - 0, - labelOptions.useHTML - ) - .attr({ - align: labelOptions.align, - rotation: labelOptions.rotation - }) - // without position absolute, IE export sometimes is wrong - .css(css) - .add(axisGroup) : - null; - - // update - } else if (label) { - label.attr({ text: str }) - .css(css); - } - }, - /** - * Get the offset height or width of the label - */ - getLabelSize: function () { - var label = this.label; - return label ? - ((this.labelBBox = label.getBBox()))[horiz ? 'height' : 'width'] : - 0; - }, - /** - * Put everything in place - * - * @param index {Number} - * @param old {Boolean} Use old coordinates to prepare an animation into new position - */ - render: function (index, old) { - var tick = this, - major = !tick.minor, - label = tick.label, - pos = tick.pos, - labelOptions = options.labels, - gridLine = tick.gridLine, - gridLineWidth = major ? options.gridLineWidth : options.minorGridLineWidth, - gridLineColor = major ? options.gridLineColor : options.minorGridLineColor, - dashStyle = major ? - options.gridLineDashStyle : - options.minorGridLineDashStyle, - gridLinePath, - mark = tick.mark, - markPath, - tickLength = major ? options.tickLength : options.minorTickLength, - tickWidth = major ? options.tickWidth : (options.minorTickWidth || 0), - tickColor = major ? options.tickColor : options.minorTickColor, - tickPosition = major ? options.tickPosition : options.minorTickPosition, - step = labelOptions.step, - cHeight = (old && oldChartHeight) || chartHeight, - attribs, - x, - y; - - // get x and y position for ticks and labels - x = horiz ? - translate(pos + tickmarkOffset, null, null, old) + transB : - plotLeft + offset + (opposite ? ((old && oldChartWidth) || chartWidth) - marginRight - plotLeft : 0); - - y = horiz ? - cHeight - marginBottom + offset - (opposite ? plotHeight : 0) : - cHeight - translate(pos + tickmarkOffset, null, null, old) - transB; - - // create the grid line - if (gridLineWidth) { - gridLinePath = getPlotLinePath(pos + tickmarkOffset, gridLineWidth, old); - - if (gridLine === UNDEFINED) { - attribs = { - stroke: gridLineColor, - 'stroke-width': gridLineWidth - }; - if (dashStyle) { - attribs.dashstyle = dashStyle; - } - if (major) { - attribs.zIndex = 1; - } - tick.gridLine = gridLine = - gridLineWidth ? - renderer.path(gridLinePath) - .attr(attribs).add(gridGroup) : - null; - } - - // If the parameter 'old' is set, the current call will be followed - // by another call, therefore do not do any animations this time - if (!old && gridLine && gridLinePath) { - gridLine.animate({ - d: gridLinePath - }); - } - } - - // create the tick mark - if (tickWidth) { - - // negate the length - if (tickPosition === 'inside') { - tickLength = -tickLength; - } - if (opposite) { - tickLength = -tickLength; - } - - markPath = renderer.crispLine([ - M, - x, - y, - L, - x + (horiz ? 0 : -tickLength), - y + (horiz ? tickLength : 0) - ], tickWidth); - - if (mark) { // updating - mark.animate({ - d: markPath - }); - } else { // first time - tick.mark = renderer.path( - markPath - ).attr({ - stroke: tickColor, - 'stroke-width': tickWidth - }).add(axisGroup); - } - } - - // the label is created on init - now move it into place - if (label && !isNaN(x)) { - x = x + labelOptions.x - (tickmarkOffset && horiz ? - tickmarkOffset * transA * (reversed ? -1 : 1) : 0); - y = y + labelOptions.y - (tickmarkOffset && !horiz ? - tickmarkOffset * transA * (reversed ? 1 : -1) : 0); - - // vertically centered - if (!defined(labelOptions.y)) { - y += pInt(label.styles.lineHeight) * 0.9 - label.getBBox().height / 2; - } - - - // correct for staggered labels - if (staggerLines) { - y += (index / (step || 1) % staggerLines) * 16; - } - // apply step - if (step) { - // show those indices dividable by step - label[index % step ? 'hide' : 'show'](); - } - - label[tick.isNew ? 'attr' : 'animate']({ - x: x, - y: y - }); - } - - tick.isNew = false; - }, - /** - * Destructor for the tick prototype - */ - destroy: function () { - destroyObjectProperties(this); - } - }; - - /** - * The object wrapper for plot lines and plot bands - * @param {Object} options - */ - function PlotLineOrBand(options) { - var plotLine = this; - if (options) { - plotLine.options = options; - plotLine.id = options.id; - } - - //plotLine.render() - return plotLine; - } - - PlotLineOrBand.prototype = { - - /** - * Render the plot line or plot band. If it is already existing, - * move it. - */ - render: function () { - var plotLine = this, - options = plotLine.options, - optionsLabel = options.label, - label = plotLine.label, - width = options.width, - to = options.to, - from = options.from, - value = options.value, - toPath, // bands only - dashStyle = options.dashStyle, - svgElem = plotLine.svgElem, - path = [], - addEvent, - eventType, - xs, - ys, - x, - y, - color = options.color, - zIndex = options.zIndex, - events = options.events, - attribs; - - // logarithmic conversion - if (isLog) { - from = log2lin(from); - to = log2lin(to); - value = log2lin(value); - } - - // plot line - if (width) { - path = getPlotLinePath(value, width); - attribs = { - stroke: color, - 'stroke-width': width - }; - if (dashStyle) { - attribs.dashstyle = dashStyle; - } - } else if (defined(from) && defined(to)) { // plot band - // keep within plot area - from = mathMax(from, min); - to = mathMin(to, max); - - toPath = getPlotLinePath(to); - path = getPlotLinePath(from); - if (path && toPath) { - path.push( - toPath[4], - toPath[5], - toPath[1], - toPath[2] - ); - } else { // outside the axis area - path = null; - } - attribs = { - fill: color - }; - } else { - return; - } - // zIndex - if (defined(zIndex)) { - attribs.zIndex = zIndex; - } - - // common for lines and bands - if (svgElem) { - if (path) { - svgElem.animate({ - d: path - }, null, svgElem.onGetPath); - } else { - svgElem.hide(); - svgElem.onGetPath = function () { - svgElem.show(); - }; - } - } else if (path && path.length) { - plotLine.svgElem = svgElem = renderer.path(path) - .attr(attribs).add(); - - // events - if (events) { - addEvent = function (eventType) { - svgElem.on(eventType, function (e) { - events[eventType].apply(plotLine, [e]); - }); - }; - for (eventType in events) { - addEvent(eventType); - } - } - } - - // the plot band/line label - if (optionsLabel && defined(optionsLabel.text) && path && path.length && plotWidth > 0 && plotHeight > 0) { - // apply defaults - optionsLabel = merge({ - align: horiz && toPath && 'center', - x: horiz ? !toPath && 4 : 10, - verticalAlign : !horiz && toPath && 'middle', - y: horiz ? toPath ? 16 : 10 : toPath ? 6 : -4, - rotation: horiz && !toPath && 90 - }, optionsLabel); - - // add the SVG element - if (!label) { - plotLine.label = label = renderer.text( - optionsLabel.text, - 0, - 0 - ) - .attr({ - align: optionsLabel.textAlign || optionsLabel.align, - rotation: optionsLabel.rotation, - zIndex: zIndex - }) - .css(optionsLabel.style) - .add(); - } - - // get the bounding box and align the label - xs = [path[1], path[4], pick(path[6], path[1])]; - ys = [path[2], path[5], pick(path[7], path[2])]; - x = mathMin.apply(math, xs); - y = mathMin.apply(math, ys); - - label.align(optionsLabel, false, { - x: x, - y: y, - width: mathMax.apply(math, xs) - x, - height: mathMax.apply(math, ys) - y - }); - label.show(); - - } else if (label) { // move out of sight - label.hide(); - } - - // chainable - return plotLine; - }, - - /** - * Remove the plot line or band - */ - destroy: function () { - var obj = this; - - destroyObjectProperties(obj); - - // remove it from the lookup - erase(plotLinesAndBands, obj); - } - }; - - /** - * The class for stack items - */ - function StackItem(options, isNegative, x, stackOption) { - var stackItem = this; - - // Tells if the stack is negative - stackItem.isNegative = isNegative; - - // Save the options to be able to style the label - stackItem.options = options; - - // Save the x value to be able to position the label later - stackItem.x = x; - - // Save the stack option on the series configuration object - stackItem.stack = stackOption; - - // The align options and text align varies on whether the stack is negative and - // if the chart is inverted or not. - // First test the user supplied value, then use the dynamic. - stackItem.alignOptions = { - align: options.align || (inverted ? (isNegative ? 'left' : 'right') : 'center'), - verticalAlign: options.verticalAlign || (inverted ? 'middle' : (isNegative ? 'bottom' : 'top')), - y: pick(options.y, inverted ? 4 : (isNegative ? 14 : -6)), - x: pick(options.x, inverted ? (isNegative ? -6 : 6) : 0) - }; - - stackItem.textAlign = options.textAlign || (inverted ? (isNegative ? 'right' : 'left') : 'center'); - } - - StackItem.prototype = { - destroy: function () { - destroyObjectProperties(this); - }, - - /** - * Sets the total of this stack. Should be called when a serie is hidden or shown - * since that will affect the total of other stacks. - */ - setTotal: function (total) { - this.total = total; - this.cum = total; - }, - - /** - * Renders the stack total label and adds it to the stack label group. - */ - render: function (group) { - var stackItem = this, // aliased this - str = stackItem.options.formatter.call(stackItem); // format the text in the label - - // Change the text to reflect the new total and set visibility to hidden in case the serie is hidden - if (stackItem.label) { - stackItem.label.attr({text: str, visibility: HIDDEN}); - // Create new label - } else { - stackItem.label = - chart.renderer.text(str, 0, 0) // dummy positions, actual position updated with setOffset method in columnseries - .css(stackItem.options.style) // apply style - .attr({align: stackItem.textAlign, // fix the text-anchor - rotation: stackItem.options.rotation, // rotation - visibility: HIDDEN }) // hidden until setOffset is called - .add(group); // add to the labels-group - } - }, - - /** - * Sets the offset that the stack has from the x value and repositions the label. - */ - setOffset: function (xOffset, xWidth) { - var stackItem = this, // aliased this - neg = stackItem.isNegative, // special treatment is needed for negative stacks - y = axis.translate(stackItem.total), // stack value translated mapped to chart coordinates - yZero = axis.translate(0), // stack origin - h = mathAbs(y - yZero), // stack height - x = chart.xAxis[0].translate(stackItem.x) + xOffset, // stack x position - plotHeight = chart.plotHeight, - stackBox = { // this is the box for the complete stack - x: inverted ? (neg ? y : y - h) : x, - y: inverted ? plotHeight - x - xWidth : (neg ? (plotHeight - y - h) : plotHeight - y), - width: inverted ? h : xWidth, - height: inverted ? xWidth : h - }; - - if (stackItem.label) { - stackItem.label - .align(stackItem.alignOptions, null, stackBox) // align the label to the box - .attr({visibility: VISIBLE}); // set visibility - } - } - }; - - /** - * Get the minimum and maximum for the series of each axis - */ - function getSeriesExtremes() { - var posStack = [], - negStack = [], - run; - - // reset dataMin and dataMax in case we're redrawing - dataMin = dataMax = null; - - // get an overview of what series are associated with this axis - associatedSeries = []; - - each(series, function (serie) { - run = false; - - - // match this axis against the series' given or implicated axis - each(['xAxis', 'yAxis'], function (strAxis) { - if ( - // the series is a cartesian type, and... - serie.isCartesian && - // we're in the right x or y dimension, and... - ((strAxis === 'xAxis' && isXAxis) || (strAxis === 'yAxis' && !isXAxis)) && ( - // the axis number is given in the options and matches this axis index, or - (serie.options[strAxis] === options.index) || - // the axis index is not given - (serie.options[strAxis] === UNDEFINED && options.index === 0) - ) - ) { - serie[strAxis] = axis; - associatedSeries.push(serie); - - // the series is visible, run the min/max detection - run = true; - } - }); - // ignore hidden series if opted - if (!serie.visible && optionsChart.ignoreHiddenSeries) { - run = false; - } - - if (run) { - - var stacking, - posPointStack, - negPointStack, - stackKey, - stackOption, - negKey; - - if (!isXAxis) { - stacking = serie.options.stacking; - usePercentage = stacking === 'percent'; - - // create a stack for this particular series type - if (stacking) { - stackOption = serie.options.stack; - stackKey = serie.type + pick(stackOption, ''); - negKey = '-' + stackKey; - serie.stackKey = stackKey; // used in translate - - posPointStack = posStack[stackKey] || []; // contains the total values for each x - posStack[stackKey] = posPointStack; - - negPointStack = negStack[negKey] || []; - negStack[negKey] = negPointStack; - } - if (usePercentage) { - dataMin = 0; - dataMax = 99; - } - } - if (serie.isCartesian) { // line, column etc. need axes, pie doesn't - each(serie.data, function (point) { - var pointX = point.x, - pointY = point.y, - isNegative = pointY < 0, - pointStack = isNegative ? negPointStack : posPointStack, - key = isNegative ? negKey : stackKey, - totalPos, - pointLow; - - // initial values - if (dataMin === null) { - - // start out with the first point - dataMin = dataMax = point[xOrY]; - } - - // x axis - if (isXAxis) { - if (pointX > dataMax) { - dataMax = pointX; - } else if (pointX < dataMin) { - dataMin = pointX; - } - } else if (defined(pointY)) { // y axis - if (stacking) { - pointStack[pointX] = - defined(pointStack[pointX]) ? - pointStack[pointX] + pointY : pointY; - } - totalPos = pointStack ? pointStack[pointX] : pointY; - pointLow = pick(point.low, totalPos); - if (!usePercentage) { - if (totalPos > dataMax) { - dataMax = totalPos; - } else if (pointLow < dataMin) { - dataMin = pointLow; - } - } - if (stacking) { - // add the series - if (!stacks[key]) { - stacks[key] = {}; - } - - // If the StackItem is there, just update the values, - // if not, create one first - if (!stacks[key][pointX]) { - stacks[key][pointX] = new StackItem(options.stackLabels, isNegative, pointX, stackOption); - } - stacks[key][pointX].setTotal(totalPos); - } - } - }); - - - // For column, areas and bars, set the minimum automatically to zero - // and prevent that minPadding is added in setScale - if (/(area|column|bar)/.test(serie.type) && !isXAxis) { - var threshold = 0; // use series.options.threshold? - if (dataMin >= threshold) { - dataMin = threshold; - ignoreMinPadding = true; - } else if (dataMax < threshold) { - dataMax = threshold; - ignoreMaxPadding = true; - } - } - } - } - }); - - } - - /** - * Translate from axis value to pixel position on the chart, or back - * - */ - translate = function (val, backwards, cvsCoord, old, handleLog) { - var sign = 1, - cvsOffset = 0, - localA = old ? oldTransA : transA, - localMin = old ? oldMin : min, - returnValue; - - if (!localA) { - localA = transA; - } - - if (cvsCoord) { - sign *= -1; // canvas coordinates inverts the value - cvsOffset = axisLength; - } - if (reversed) { // reversed axis - sign *= -1; - cvsOffset -= sign * axisLength; - } - - if (backwards) { // reverse translation - if (reversed) { - val = axisLength - val; - } - returnValue = val / localA + localMin; // from chart pixel to value - if (isLog && handleLog) { - returnValue = lin2log(returnValue); - } - - } else { // normal translation - if (isLog && handleLog) { - val = log2lin(val); - } - returnValue = sign * (val - localMin) * localA + cvsOffset; // from value to chart pixel - } - - return returnValue; - }; - - /** - * Create the path for a plot line that goes from the given value on - * this axis, across the plot to the opposite side - * @param {Number} value - * @param {Number} lineWidth Used for calculation crisp line - * @param {Number] old Use old coordinates (for resizing and rescaling) - */ - getPlotLinePath = function (value, lineWidth, old) { - var x1, - y1, - x2, - y2, - translatedValue = translate(value, null, null, old), - cHeight = (old && oldChartHeight) || chartHeight, - cWidth = (old && oldChartWidth) || chartWidth, - skip; - - x1 = x2 = mathRound(translatedValue + transB); - y1 = y2 = mathRound(cHeight - translatedValue - transB); - - if (isNaN(translatedValue)) { // no min or max - skip = true; - - } else if (horiz) { - y1 = plotTop; - y2 = cHeight - marginBottom; - if (x1 < plotLeft || x1 > plotLeft + plotWidth) { - skip = true; - } - } else { - x1 = plotLeft; - x2 = cWidth - marginRight; - if (y1 < plotTop || y1 > plotTop + plotHeight) { - skip = true; - } - } - return skip ? - null : - renderer.crispLine([M, x1, y1, L, x2, y2], lineWidth || 0); - }; - - - /** - * Take an interval and normalize it to multiples of 1, 2, 2.5 and 5 - * @param {Number} interval - */ - function normalizeTickInterval(interval, multiples) { - var normalized, i; - - // round to a tenfold of 1, 2, 2.5 or 5 - magnitude = multiples ? 1 : math.pow(10, mathFloor(math.log(interval) / math.LN10)); - normalized = interval / magnitude; - - // multiples for a linear scale - if (!multiples) { - multiples = [1, 2, 2.5, 5, 10]; - //multiples = [1, 2, 2.5, 4, 5, 7.5, 10]; - - // the allowDecimals option - if (options.allowDecimals === false || isLog) { - if (magnitude === 1) { - multiples = [1, 2, 5, 10]; - } else if (magnitude <= 0.1) { - multiples = [1 / magnitude]; - } - } - } - - // normalize the interval to the nearest multiple - for (i = 0; i < multiples.length; i++) { - interval = multiples[i]; - if (normalized <= (multiples[i] + (multiples[i + 1] || multiples[i])) / 2) { - break; - } - } - - // multiply back to the correct magnitude - interval *= magnitude; - - return interval; - } - - /** - * Set the tick positions to a time unit that makes sense, for example - * on the first of each month or on every Monday. - */ - function setDateTimeTickPositions() { - tickPositions = []; - var i, - useUTC = defaultOptions.global.useUTC, - oneSecond = 1000 / timeFactor, - oneMinute = 60000 / timeFactor, - oneHour = 3600000 / timeFactor, - oneDay = 24 * 3600000 / timeFactor, - oneWeek = 7 * 24 * 3600000 / timeFactor, - oneMonth = 30 * 24 * 3600000 / timeFactor, - oneYear = 31556952000 / timeFactor, - - units = [[ - 'second', // unit name - oneSecond, // fixed incremental unit - [1, 2, 5, 10, 15, 30] // allowed multiples - ], [ - 'minute', // unit name - oneMinute, // fixed incremental unit - [1, 2, 5, 10, 15, 30] // allowed multiples - ], [ - 'hour', // unit name - oneHour, // fixed incremental unit - [1, 2, 3, 4, 6, 8, 12] // allowed multiples - ], [ - 'day', // unit name - oneDay, // fixed incremental unit - [1, 2] // allowed multiples - ], [ - 'week', // unit name - oneWeek, // fixed incremental unit - [1, 2] // allowed multiples - ], [ - 'month', - oneMonth, - [1, 2, 3, 4, 6] - ], [ - 'year', - oneYear, - null - ]], - - unit = units[6], // default unit is years - interval = unit[1], - multiples = unit[2]; - - // loop through the units to find the one that best fits the tickInterval - for (i = 0; i < units.length; i++) { - unit = units[i]; - interval = unit[1]; - multiples = unit[2]; - - - if (units[i + 1]) { - // lessThan is in the middle between the highest multiple and the next unit. - var lessThan = (interval * multiples[multiples.length - 1] + - units[i + 1][1]) / 2; - - // break and keep the current unit - if (tickInterval <= lessThan) { - break; - } - } - } - - // prevent 2.5 years intervals, though 25, 250 etc. are allowed - if (interval === oneYear && tickInterval < 5 * interval) { - multiples = [1, 2, 5]; - } - - // get the minimum value by flooring the date - var multitude = normalizeTickInterval(tickInterval / interval, multiples), - minYear, // used in months and years as a basis for Date.UTC() - minDate = new Date(min * timeFactor); - - minDate.setMilliseconds(0); - - if (interval >= oneSecond) { // second - minDate.setSeconds(interval >= oneMinute ? 0 : - multitude * mathFloor(minDate.getSeconds() / multitude)); - } - - if (interval >= oneMinute) { // minute - minDate[setMinutes](interval >= oneHour ? 0 : - multitude * mathFloor(minDate[getMinutes]() / multitude)); - } - - if (interval >= oneHour) { // hour - minDate[setHours](interval >= oneDay ? 0 : - multitude * mathFloor(minDate[getHours]() / multitude)); - } - - if (interval >= oneDay) { // day - minDate[setDate](interval >= oneMonth ? 1 : - multitude * mathFloor(minDate[getDate]() / multitude)); - } - - if (interval >= oneMonth) { // month - minDate[setMonth](interval >= oneYear ? 0 : - multitude * mathFloor(minDate[getMonth]() / multitude)); - minYear = minDate[getFullYear](); - } - - if (interval >= oneYear) { // year - minYear -= minYear % multitude; - minDate[setFullYear](minYear); - } - - // week is a special case that runs outside the hierarchy - if (interval === oneWeek) { - // get start of current week, independent of multitude - minDate[setDate](minDate[getDate]() - minDate[getDay]() + - options.startOfWeek); - } - - - // get tick positions - i = 1; // prevent crash just in case - minYear = minDate[getFullYear](); - var time = minDate.getTime() / timeFactor, - minMonth = minDate[getMonth](), - minDateDate = minDate[getDate](); - - // iterate and add tick positions at appropriate values - while (time < max && i < plotWidth) { - tickPositions.push(time); - - // if the interval is years, use Date.UTC to increase years - if (interval === oneYear) { - time = makeTime(minYear + i * multitude, 0) / timeFactor; - - // if the interval is months, use Date.UTC to increase months - } else if (interval === oneMonth) { - time = makeTime(minYear, minMonth + i * multitude) / timeFactor; - - // if we're using global time, the interval is not fixed as it jumps - // one hour at the DST crossover - } else if (!useUTC && (interval === oneDay || interval === oneWeek)) { - time = makeTime(minYear, minMonth, minDateDate + - i * multitude * (interval === oneDay ? 1 : 7)); - - // else, the interval is fixed and we use simple addition - } else { - time += interval * multitude; - } - - i++; - } - // push the last time - tickPositions.push(time); - - - // dynamic label formatter - dateTimeLabelFormat = options.dateTimeLabelFormats[unit[0]]; - } - - /** - * Fix JS round off float errors - * @param {Number} num - */ - function correctFloat(num) { - var invMag, ret = num; - magnitude = pick(magnitude, math.pow(10, mathFloor(math.log(tickInterval) / math.LN10))); - - if (magnitude < 1) { - invMag = mathRound(1 / magnitude) * 10; - ret = mathRound(num * invMag) / invMag; - } - return ret; - } - - /** - * Set the tick positions of a linear axis to round values like whole tens or every five. - */ - function setLinearTickPositions() { - - var i, - roundedMin = correctFloat(mathFloor(min / tickInterval) * tickInterval), - roundedMax = correctFloat(mathCeil(max / tickInterval) * tickInterval); - - tickPositions = []; - - // populate the intermediate values - i = correctFloat(roundedMin); - while (i <= roundedMax) { - tickPositions.push(i); - i = correctFloat(i + tickInterval); - } - - } - - /** - * Set the tick positions to round values and optionally extend the extremes - * to the nearest tick - */ - function setTickPositions() { - var length, - catPad, - linkedParent, - linkedParentExtremes, - tickIntervalOption = options.tickInterval, - tickPixelIntervalOption = options.tickPixelInterval, - maxZoom = options.maxZoom || ( - isXAxis && !defined(options.min) && !defined(options.max) ? - mathMin(chart.smallestInterval * 5, dataMax - dataMin) : - null - ), - zoomOffset; - - - axisLength = horiz ? plotWidth : plotHeight; - - // linked axis gets the extremes from the parent axis - if (isLinked) { - linkedParent = chart[isXAxis ? 'xAxis' : 'yAxis'][options.linkedTo]; - linkedParentExtremes = linkedParent.getExtremes(); - min = pick(linkedParentExtremes.min, linkedParentExtremes.dataMin); - max = pick(linkedParentExtremes.max, linkedParentExtremes.dataMax); - } else { // initial min and max from the extreme data values - min = pick(userMin, options.min, dataMin); - max = pick(userMax, options.max, dataMax); - } - - if (isLog) { - min = log2lin(min); - max = log2lin(max); - } - - // maxZoom exceeded, just center the selection - if (max - min < maxZoom) { - zoomOffset = (maxZoom - max + min) / 2; - // if min and max options have been set, don't go beyond it - min = mathMax(min - zoomOffset, pick(options.min, min - zoomOffset), dataMin); - max = mathMin(min + maxZoom, pick(options.max, min + maxZoom), dataMax); - } - - // pad the values to get clear of the chart's edges - if (!categories && !usePercentage && !isLinked && defined(min) && defined(max)) { - length = (max - min) || 1; - if (!defined(options.min) && !defined(userMin) && minPadding && (dataMin < 0 || !ignoreMinPadding)) { - min -= length * minPadding; - } - if (!defined(options.max) && !defined(userMax) && maxPadding && (dataMax > 0 || !ignoreMaxPadding)) { - max += length * maxPadding; - } - } - - // get tickInterval - if (min === max) { - tickInterval = 1; - } else if (isLinked && !tickIntervalOption && - tickPixelIntervalOption === linkedParent.options.tickPixelInterval) { - tickInterval = linkedParent.tickInterval; - } else { - tickInterval = pick( - tickIntervalOption, - categories ? // for categoried axis, 1 is default, for linear axis use tickPix - 1 : - (max - min) * tickPixelIntervalOption / axisLength - ); - } - - if (!isDatetimeAxis && !defined(options.tickInterval)) { // linear - tickInterval = normalizeTickInterval(tickInterval); - } - axis.tickInterval = tickInterval; // record for linked axis - - // get minorTickInterval - minorTickInterval = options.minorTickInterval === 'auto' && tickInterval ? - tickInterval / 5 : options.minorTickInterval; - - // find the tick positions - if (isDatetimeAxis) { - setDateTimeTickPositions(); - } else { - setLinearTickPositions(); - } - - if (!isLinked) { - // pad categorised axis to nearest half unit - if (categories || (isXAxis && chart.hasColumn)) { - catPad = (categories ? 1 : tickInterval) * 0.5; - if (categories || !defined(pick(options.min, userMin))) { - min -= catPad; - } - if (categories || !defined(pick(options.max, userMax))) { - max += catPad; - } - } - - // reset min/max or remove extremes based on start/end on tick - var roundedMin = tickPositions[0], - roundedMax = tickPositions[tickPositions.length - 1]; - - if (options.startOnTick) { - min = roundedMin; - } else if (min > roundedMin) { - tickPositions.shift(); - } - - if (options.endOnTick) { - max = roundedMax; - } else if (max < roundedMax) { - tickPositions.pop(); - } - - // record the greatest number of ticks for multi axis - if (!maxTicks) { // first call, or maxTicks have been reset after a zoom operation - maxTicks = { - x: 0, - y: 0 - }; - } - - if (!isDatetimeAxis && tickPositions.length > maxTicks[xOrY]) { - maxTicks[xOrY] = tickPositions.length; - } - } - - - } - - /** - * When using multiple axes, adjust the number of ticks to match the highest - * number of ticks in that group - */ - function adjustTickAmount() { - - if (maxTicks && !isDatetimeAxis && !categories && !isLinked) { // only apply to linear scale - var oldTickAmount = tickAmount, - calculatedTickAmount = tickPositions.length; - - // set the axis-level tickAmount to use below - tickAmount = maxTicks[xOrY]; - - if (calculatedTickAmount < tickAmount) { - while (tickPositions.length < tickAmount) { - tickPositions.push(correctFloat( - tickPositions[tickPositions.length - 1] + tickInterval - )); - } - transA *= (calculatedTickAmount - 1) / (tickAmount - 1); - max = tickPositions[tickPositions.length - 1]; - - } - if (defined(oldTickAmount) && tickAmount !== oldTickAmount) { - axis.isDirty = true; - } - } - - } - - /** - * Set the scale based on data min and max, user set min and max or options - * - */ - function setScale() { - var type, - i; - - oldMin = min; - oldMax = max; - - // get data extremes if needed - getSeriesExtremes(); - - // get fixed positions based on tickInterval - setTickPositions(); - - // the translation factor used in translate function - oldTransA = transA; - transA = axisLength / ((max - min) || 1); - - // reset stacks - if (!isXAxis) { - for (type in stacks) { - for (i in stacks[type]) { - stacks[type][i].cum = stacks[type][i].total; - } - } - } - - // mark as dirty if it is not already set to dirty and extremes have changed - if (!axis.isDirty) { - axis.isDirty = (min !== oldMin || max !== oldMax); - } - - } - - /** - * Set the extremes and optionally redraw - * @param {Number} newMin - * @param {Number} newMax - * @param {Boolean} redraw - * @param {Boolean|Object} animation Whether to apply animation, and optionally animation - * configuration - * - */ - function setExtremes(newMin, newMax, redraw, animation) { - - redraw = pick(redraw, true); // defaults to true - - fireEvent(axis, 'setExtremes', { // fire an event to enable syncing of multiple charts - min: newMin, - max: newMax - }, function () { // the default event handler - - userMin = newMin; - userMax = newMax; - - - // redraw - if (redraw) { - chart.redraw(animation); - } - }); - - } - - /** - * Get the actual axis extremes - */ - function getExtremes() { - return { - min: min, - max: max, - dataMin: dataMin, - dataMax: dataMax, - userMin: userMin, - userMax: userMax - }; - } - - /** - * Get the zero plane either based on zero or on the min or max value. - * Used in bar and area plots - */ - function getThreshold(threshold) { - if (min > threshold) { - threshold = min; - } else if (max < threshold) { - threshold = max; - } - - return translate(threshold, 0, 1); - } - - /** - * Add a plot band or plot line after render time - * - * @param options {Object} The plotBand or plotLine configuration object - */ - function addPlotBandOrLine(options) { - var obj = new PlotLineOrBand(options).render(); - plotLinesAndBands.push(obj); - return obj; - } - - /** - * Render the tick labels to a preliminary position to get their sizes - */ - function getOffset() { - - var hasData = associatedSeries.length && defined(min) && defined(max), - titleOffset = 0, - titleMargin = 0, - axisTitleOptions = options.title, - labelOptions = options.labels, - directionFactor = [-1, 1, 1, -1][side], - n; - - if (!axisGroup) { - axisGroup = renderer.g('axis') - .attr({ zIndex: 7 }) - .add(); - gridGroup = renderer.g('grid') - .attr({ zIndex: 1 }) - .add(); - } - - labelOffset = 0; // reset - - if (hasData || isLinked) { - each(tickPositions, function (pos) { - if (!ticks[pos]) { - ticks[pos] = new Tick(pos); - } else { - ticks[pos].addLabel(); // update labels depending on tick interval - } - - // left side must be align: right and right side must have align: left for labels - if (side === 0 || side === 2 || { 1: 'left', 3: 'right' }[side] === labelOptions.align) { - - // get the highest offset - labelOffset = mathMax( - ticks[pos].getLabelSize(), - labelOffset - ); - } - - }); - - if (staggerLines) { - labelOffset += (staggerLines - 1) * 16; - } - - } else { // doesn't have data - for (n in ticks) { - ticks[n].destroy(); - delete ticks[n]; - } - } - - if (axisTitleOptions && axisTitleOptions.text) { - if (!axisTitle) { - axisTitle = axis.axisTitle = renderer.text( - axisTitleOptions.text, - 0, - 0, - axisTitleOptions.useHTML - ) - .attr({ - zIndex: 7, - rotation: axisTitleOptions.rotation || 0, - align: - axisTitleOptions.textAlign || - { low: 'left', middle: 'center', high: 'right' }[axisTitleOptions.align] - }) - .css(axisTitleOptions.style) - .add(); - axisTitle.isNew = true; - } - - titleOffset = axisTitle.getBBox()[horiz ? 'height' : 'width']; - titleMargin = pick(axisTitleOptions.margin, horiz ? 5 : 10); - - } - - // handle automatic or user set offset - offset = directionFactor * (options.offset || axisOffset[side]); - - axisTitleMargin = - labelOffset + - (side !== 2 && labelOffset && directionFactor * options.labels[horiz ? 'y' : 'x']) + - titleMargin; - - axisOffset[side] = mathMax( - axisOffset[side], - axisTitleMargin + titleOffset + directionFactor * offset - ); - - } - - /** - * Render the axis - */ - function render() { - var axisTitleOptions = options.title, - stackLabelOptions = options.stackLabels, - alternateGridColor = options.alternateGridColor, - lineWidth = options.lineWidth, - lineLeft, - lineTop, - linePath, - hasRendered = chart.hasRendered, - slideInTicks = hasRendered && defined(oldMin) && !isNaN(oldMin), - hasData = associatedSeries.length && defined(min) && defined(max); - - // update metrics - axisLength = horiz ? plotWidth : plotHeight; - transA = axisLength / ((max - min) || 1); - transB = horiz ? plotLeft : marginBottom; // translation addend - - // If the series has data draw the ticks. Else only the line and title - if (hasData || isLinked) { - - // minor ticks - if (minorTickInterval && !categories) { - var pos = min + (tickPositions[0] - min) % minorTickInterval; - for (; pos <= max; pos += minorTickInterval) { - if (!minorTicks[pos]) { - minorTicks[pos] = new Tick(pos, true); - } - - // render new ticks in old position - if (slideInTicks && minorTicks[pos].isNew) { - minorTicks[pos].render(null, true); - } - - - minorTicks[pos].isActive = true; - minorTicks[pos].render(); - } - } - - // major ticks - each(tickPositions, function (pos, i) { - // linked axes need an extra check to find out if - if (!isLinked || (pos >= min && pos <= max)) { - - // render new ticks in old position - if (slideInTicks && ticks[pos].isNew) { - ticks[pos].render(i, true); - } - - ticks[pos].isActive = true; - ticks[pos].render(i); - } - }); - - // alternate grid color - if (alternateGridColor) { - each(tickPositions, function (pos, i) { - if (i % 2 === 0 && pos < max) { - /*plotLinesAndBands.push(new PlotLineOrBand({ - from: pos, - to: tickPositions[i + 1] !== UNDEFINED ? tickPositions[i + 1] : max, - color: alternateGridColor - }));*/ - - if (!alternateBands[pos]) { - alternateBands[pos] = new PlotLineOrBand(); - } - alternateBands[pos].options = { - from: pos, - to: tickPositions[i + 1] !== UNDEFINED ? tickPositions[i + 1] : max, - color: alternateGridColor - }; - alternateBands[pos].render(); - alternateBands[pos].isActive = true; - } - }); - } - - // custom plot bands (behind grid lines) - /*if (!hasRendered) { // only first time - each(options.plotBands || [], function(plotBandOptions) { - plotLinesAndBands.push(new PlotLineOrBand( - extend({ zIndex: 1 }, plotBandOptions) - ).render()); - }); - }*/ - - - - - // custom plot lines and bands - if (!hasRendered) { // only first time - each((options.plotLines || []).concat(options.plotBands || []), function (plotLineOptions) { - plotLinesAndBands.push(new PlotLineOrBand(plotLineOptions).render()); - }); - } - - - - } // end if hasData - - // remove inactive ticks - each([ticks, minorTicks, alternateBands], function (coll) { - var pos; - for (pos in coll) { - if (!coll[pos].isActive) { - coll[pos].destroy(); - delete coll[pos]; - } else { - coll[pos].isActive = false; // reset - } - } - }); - - - - - // Static items. As the axis group is cleared on subsequent calls - // to render, these items are added outside the group. - // axis line - if (lineWidth) { - lineLeft = plotLeft + (opposite ? plotWidth : 0) + offset; - lineTop = chartHeight - marginBottom - (opposite ? plotHeight : 0) + offset; - - linePath = renderer.crispLine([ - M, - horiz ? - plotLeft : - lineLeft, - horiz ? - lineTop : - plotTop, - L, - horiz ? - chartWidth - marginRight : - lineLeft, - horiz ? - lineTop : - chartHeight - marginBottom - ], lineWidth); - if (!axisLine) { - axisLine = renderer.path(linePath) - .attr({ - stroke: options.lineColor, - 'stroke-width': lineWidth, - zIndex: 7 - }) - .add(); - } else { - axisLine.animate({ d: linePath }); - } - - } - - if (axisTitle) { - // compute anchor points for each of the title align options - var margin = horiz ? plotLeft : plotTop, - fontSize = pInt(axisTitleOptions.style.fontSize || 12), - // the position in the length direction of the axis - alongAxis = { - low: margin + (horiz ? 0 : axisLength), - middle: margin + axisLength / 2, - high: margin + (horiz ? axisLength : 0) - }[axisTitleOptions.align], - - // the position in the perpendicular direction of the axis - offAxis = (horiz ? plotTop + plotHeight : plotLeft) + - (horiz ? 1 : -1) * // horizontal axis reverses the margin - (opposite ? -1 : 1) * // so does opposite axes - axisTitleMargin + - //(isIE ? fontSize / 3 : 0)+ // preliminary fix for vml's centerline - (side === 2 ? fontSize : 0); - - axisTitle[axisTitle.isNew ? 'attr' : 'animate']({ - x: horiz ? - alongAxis : - offAxis + (opposite ? plotWidth : 0) + offset + - (axisTitleOptions.x || 0), // x - y: horiz ? - offAxis - (opposite ? plotHeight : 0) + offset : - alongAxis + (axisTitleOptions.y || 0) // y - }); - axisTitle.isNew = false; - } - - // Stacked totals: - if (stackLabelOptions && stackLabelOptions.enabled) { - var stackKey, oneStack, stackCategory, - stackTotalGroup = axis.stackTotalGroup; - - // Create a separate group for the stack total labels - if (!stackTotalGroup) { - axis.stackTotalGroup = stackTotalGroup = - renderer.g('stack-labels') - .attr({ - visibility: VISIBLE, - zIndex: 6 - }) - .translate(plotLeft, plotTop) - .add(); - } - - // Render each stack total - for (stackKey in stacks) { - oneStack = stacks[stackKey]; - for (stackCategory in oneStack) { - oneStack[stackCategory].render(stackTotalGroup); - } - } - } - // End stacked totals - - axis.isDirty = false; - } - - /** - * Remove a plot band or plot line from the chart by id - * @param {Object} id - */ - function removePlotBandOrLine(id) { - var i = plotLinesAndBands.length; - while (i--) { - if (plotLinesAndBands[i].id === id) { - plotLinesAndBands[i].destroy(); - } - } - } - - /** - * Redraw the axis to reflect changes in the data or axis extremes - */ - function redraw() { - - // hide tooltip and hover states - if (tracker.resetTracker) { - tracker.resetTracker(); - } - - // render the axis - render(); - - // move plot lines and bands - each(plotLinesAndBands, function (plotLine) { - plotLine.render(); - }); - - // mark associated series as dirty and ready for redraw - each(associatedSeries, function (series) { - series.isDirty = true; - }); - - } - - /** - * Set new axis categories and optionally redraw - * @param {Array} newCategories - * @param {Boolean} doRedraw - */ - function setCategories(newCategories, doRedraw) { - // set the categories - axis.categories = userOptions.categories = categories = newCategories; - - // force reindexing tooltips - each(associatedSeries, function (series) { - series.translate(); - series.setTooltipPoints(true); - }); - - - // optionally redraw - axis.isDirty = true; - - if (pick(doRedraw, true)) { - chart.redraw(); - } - } - - /** - * Destroys an Axis instance. - */ - function destroy() { - var stackKey; - - // Remove the events - removeEvent(axis); - - // Destroy each stack total - for (stackKey in stacks) { - destroyObjectProperties(stacks[stackKey]); - - stacks[stackKey] = null; - } - - // Destroy stack total group - if (axis.stackTotalGroup) { - axis.stackTotalGroup = axis.stackTotalGroup.destroy(); - } - - // Destroy collections - each([ticks, minorTicks, alternateBands, plotLinesAndBands], function (coll) { - destroyObjectProperties(coll); - }); - - // Destroy local variables - each([axisLine, axisGroup, gridGroup, axisTitle], function (obj) { - if (obj) { - obj.destroy(); - } - }); - axisLine = axisGroup = gridGroup = axisTitle = null; - } - - - // Run Axis - - // inverted charts have reversed xAxes as default - if (inverted && isXAxis && reversed === UNDEFINED) { - reversed = true; - } - - - // expose some variables - extend(axis, { - addPlotBand: addPlotBandOrLine, - addPlotLine: addPlotBandOrLine, - adjustTickAmount: adjustTickAmount, - categories: categories, - getExtremes: getExtremes, - getPlotLinePath: getPlotLinePath, - getThreshold: getThreshold, - isXAxis: isXAxis, - options: options, - plotLinesAndBands: plotLinesAndBands, - getOffset: getOffset, - render: render, - setCategories: setCategories, - setExtremes: setExtremes, - setScale: setScale, - setTickPositions: setTickPositions, - translate: translate, - redraw: redraw, - removePlotBand: removePlotBandOrLine, - removePlotLine: removePlotBandOrLine, - reversed: reversed, - stacks: stacks, - destroy: destroy - }); - - // register event listeners - for (eventType in events) { - addEvent(axis, eventType, events[eventType]); - } - - // set min and max - setScale(); - - } // end Axis - - - /** - * The toolbar object - */ - function Toolbar() { - var buttons = {}; - - /*jslint unparam: true*//* allow the unused param title until Toolbar rewrite*/ - function add(id, text, title, fn) { - if (!buttons[id]) { - var button = renderer.text( - text, - 0, - 0 - ) - .css(options.toolbar.itemStyle) - .align({ - align: 'right', - x: -marginRight - 20, - y: plotTop + 30 - }) - .on('click', fn) - /*.on('touchstart', function(e) { - e.stopPropagation(); // don't fire the container event - fn(); - })*/ - .attr({ - align: 'right', - zIndex: 20 - }) - .add(); - buttons[id] = button; - } - } - /*jslint unparam: false*/ - - function remove(id) { - discardElement(buttons[id].element); - buttons[id] = null; - } - - // public - return { - add: add, - remove: remove - }; - } - - /** - * The tooltip object - * @param {Object} options Tooltip options - */ - function Tooltip(options) { - var currentSeries, - borderWidth = options.borderWidth, - crosshairsOptions = options.crosshairs, - crosshairs = [], - style = options.style, - shared = options.shared, - padding = pInt(style.padding), - boxOffLeft = borderWidth + padding, // off left/top position as IE can't - //properly handle negative positioned shapes - tooltipIsHidden = true, - boxWidth, - boxHeight, - currentX = 0, - currentY = 0; - - // remove padding CSS and apply padding on box instead - style.padding = 0; - - // create the elements - var group = renderer.g('tooltip') - .attr({ zIndex: 8 }) - .add(), - - box = renderer.rect(boxOffLeft, boxOffLeft, 0, 0, options.borderRadius, borderWidth) - .attr({ - fill: options.backgroundColor, - 'stroke-width': borderWidth - }) - .add(group) - .shadow(options.shadow), - label = renderer.text('', padding + boxOffLeft, pInt(style.fontSize) + padding + boxOffLeft, options.useHTML) - .attr({ zIndex: 1 }) - .css(style) - .add(group); - - group.hide(); - - /** - * Destroy the tooltip and its elements. - */ - function destroy() { - each(crosshairs, function (crosshair) { - if (crosshair) { - crosshair.destroy(); - } - }); - - // Destroy and clear local variables - each([box, label, group], function (obj) { - if (obj) { - obj.destroy(); - } - }); - box = label = group = null; - } - - /** - * In case no user defined formatter is given, this will be used - */ - function defaultFormatter() { - var pThis = this, - items = pThis.points || splat(pThis), - xAxis = items[0].series.xAxis, - x = pThis.x, - isDateTime = xAxis && xAxis.options.type === 'datetime', - useHeader = isString(x) || isDateTime, - s; - - // build the header - s = useHeader ? - ['' + - (isDateTime ? dateFormat('%A, %b %e, %Y', x) : x) + - ''] : []; - - // build the values - each(items, function (item) { - s.push(item.point.tooltipFormatter(useHeader)); - }); - return s.join('
'); - } - - /** - * Provide a soft movement for the tooltip - * - * @param {Number} finalX - * @param {Number} finalY - */ - function move(finalX, finalY) { - - currentX = tooltipIsHidden ? finalX : (2 * currentX + finalX) / 3; - currentY = tooltipIsHidden ? finalY : (currentY + finalY) / 2; - - group.translate(currentX, currentY); - - - // run on next tick of the mouse tracker - if (mathAbs(finalX - currentX) > 1 || mathAbs(finalY - currentY) > 1) { - tooltipTick = function () { - move(finalX, finalY); - }; - } else { - tooltipTick = null; - } - } - - /** - * Hide the tooltip - */ - function hide() { - if (!tooltipIsHidden) { - var hoverPoints = chart.hoverPoints; - - group.hide(); - - each(crosshairs, function (crosshair) { - if (crosshair) { - crosshair.hide(); - } - }); - - // hide previous hoverPoints and set new - if (hoverPoints) { - each(hoverPoints, function (point) { - point.setState(); - }); - } - chart.hoverPoints = null; - - - tooltipIsHidden = true; - } - - } - - /** - * Refresh the tooltip's text and position. - * @param {Object} point - * - */ - function refresh(point) { - var x, - y, - show, - bBox, - plotX, - plotY = 0, - textConfig = {}, - text, - pointConfig = [], - tooltipPos = point.tooltipPos, - formatter = options.formatter || defaultFormatter, - hoverPoints = chart.hoverPoints, - placedTooltipPoint; - - // shared tooltip, array is sent over - if (shared) { - - // hide previous hoverPoints and set new - if (hoverPoints) { - each(hoverPoints, function (point) { - point.setState(); - }); - } - chart.hoverPoints = point; - - each(point, function (item) { - /*var series = item.series, - hoverPoint = series.hoverPoint; - if (hoverPoint) { - hoverPoint.setState(); - } - series.hoverPoint = item;*/ - item.setState(HOVER_STATE); - plotY += item.plotY; // for average - - pointConfig.push(item.getLabelConfig()); - }); - - plotX = point[0].plotX; - plotY = mathRound(plotY) / point.length; // mathRound because Opera 10 has problems here - - textConfig = { - x: point[0].category - }; - textConfig.points = pointConfig; - point = point[0]; - - // single point tooltip - } else { - textConfig = point.getLabelConfig(); - } - text = formatter.call(textConfig); - - // register the current series - currentSeries = point.series; - - // get the reference point coordinates (pie charts use tooltipPos) - plotX = shared ? plotX : point.plotX; - plotY = shared ? plotY : point.plotY; - x = mathRound(tooltipPos ? tooltipPos[0] : (inverted ? plotWidth - plotY : plotX)); - y = mathRound(tooltipPos ? tooltipPos[1] : (inverted ? plotHeight - plotX : plotY)); - - - // hide tooltip if the point falls outside the plot - show = shared || !point.series.isCartesian || isInsidePlot(x, y); - - // update the inner HTML - if (text === false || !show) { - hide(); - } else { - - // show it - if (tooltipIsHidden) { - group.show(); - tooltipIsHidden = false; - } - - // update text - label.attr({ - text: text - }); - - // get the bounding box - bBox = label.getBBox(); - boxWidth = bBox.width + 2 * padding; - boxHeight = bBox.height + 2 * padding; - - // set the size of the box - box.attr({ - width: boxWidth, - height: boxHeight, - stroke: options.borderColor || point.color || currentSeries.color || '#606060' - }); - - placedTooltipPoint = placeBox(boxWidth, boxHeight, plotLeft, plotTop, plotWidth, plotHeight, {x: x, y: y}); - - // do the move - move(mathRound(placedTooltipPoint.x - boxOffLeft), mathRound(placedTooltipPoint.y - boxOffLeft)); - } - - - // crosshairs - if (crosshairsOptions) { - crosshairsOptions = splat(crosshairsOptions); // [x, y] - - var path, - i = crosshairsOptions.length, - attribs, - axis; - - while (i--) { - axis = point.series[i ? 'yAxis' : 'xAxis']; - if (crosshairsOptions[i] && axis) { - path = axis - .getPlotLinePath(point[i ? 'y' : 'x'], 1); - if (crosshairs[i]) { - crosshairs[i].attr({ d: path, visibility: VISIBLE }); - - } else { - attribs = { - 'stroke-width': crosshairsOptions[i].width || 1, - stroke: crosshairsOptions[i].color || '#C0C0C0', - zIndex: 2 - }; - if (crosshairsOptions[i].dashStyle) { - attribs.dashstyle = crosshairsOptions[i].dashStyle; - } - crosshairs[i] = renderer.path(path) - .attr(attribs) - .add(); - } - } - } - } - } - - - - // public members - return { - shared: shared, - refresh: refresh, - hide: hide, - destroy: destroy - }; - } - - /** - * The mouse tracker object - * @param {Object} options - */ - function MouseTracker(options) { - - - var mouseDownX, - mouseDownY, - hasDragged, - selectionMarker, - zoomType = optionsChart.zoomType, - zoomX = /x/.test(zoomType), - zoomY = /y/.test(zoomType), - zoomHor = (zoomX && !inverted) || (zoomY && inverted), - zoomVert = (zoomY && !inverted) || (zoomX && inverted); - - /** - * Add crossbrowser support for chartX and chartY - * @param {Object} e The event object in standard browsers - */ - function normalizeMouseEvent(e) { - var ePos, - pageZoomFix = isWebKit && - doc.width / doc.body.scrollWidth - - 1, // #224, #348 - chartPosLeft, - chartPosTop, - chartX, - chartY; - - // common IE normalizing - e = e || win.event; - if (!e.target) { - e.target = e.srcElement; - } - - // iOS - ePos = e.touches ? e.touches.item(0) : e; - - // in certain cases, get mouse position - if (e.type !== 'mousemove' || win.opera || pageZoomFix) { // only Opera needs position on mouse move, see below - chartPosition = getPosition(container); - chartPosLeft = chartPosition.left; - chartPosTop = chartPosition.top; - } - - // chartX and chartY - if (isIE) { // IE including IE9 that has chartX but in a different meaning - chartX = e.x; - chartY = e.y; - } else { - if (ePos.layerX === UNDEFINED) { // Opera and iOS - chartX = ePos.pageX - chartPosLeft; - chartY = ePos.pageY - chartPosTop; - } else { - chartX = e.layerX; - chartY = e.layerY; - } - } - - // correct for page zoom bug in WebKit - if (pageZoomFix) { - chartX += mathRound((pageZoomFix + 1) * chartPosLeft - chartPosLeft); - chartY += mathRound((pageZoomFix + 1) * chartPosTop - chartPosTop); - } - - return extend(e, { - chartX: chartX, - chartY: chartY - }); - } - - /** - * Get the click position in terms of axis values. - * - * @param {Object} e A mouse event - */ - function getMouseCoordinates(e) { - var coordinates = { - xAxis: [], - yAxis: [] - }; - each(axes, function (axis) { - var translate = axis.translate, - isXAxis = axis.isXAxis, - isHorizontal = inverted ? !isXAxis : isXAxis; - - coordinates[isXAxis ? 'xAxis' : 'yAxis'].push({ - axis: axis, - value: translate( - isHorizontal ? - e.chartX - plotLeft : - plotHeight - e.chartY + plotTop, - true - ) - }); - }); - return coordinates; - } - - /** - * With line type charts with a single tracker, get the point closest to the mouse - */ - function onmousemove(e) { - var point, - points, - hoverPoint = chart.hoverPoint, - hoverSeries = chart.hoverSeries, - i, - j, - distance = chartWidth, - index = inverted ? e.chartY : e.chartX - plotLeft; // wtf? - - // shared tooltip - if (tooltip && options.shared) { - points = []; - - // loop over all series and find the ones with points closest to the mouse - i = series.length; - for (j = 0; j < i; j++) { - if (series[j].visible && series[j].tooltipPoints.length) { - point = series[j].tooltipPoints[index]; - point._dist = mathAbs(index - point.plotX); - distance = mathMin(distance, point._dist); - points.push(point); - } - } - // remove furthest points - i = points.length; - while (i--) { - if (points[i]._dist > distance) { - points.splice(i, 1); - } - } - // refresh the tooltip if necessary - if (points.length && (points[0].plotX !== hoverX)) { - tooltip.refresh(points); - hoverX = points[0].plotX; - } - } - - // separate tooltip and general mouse events - if (hoverSeries && hoverSeries.tracker) { // only use for line-type series with common tracker - - // get the point - point = hoverSeries.tooltipPoints[index]; - - // a new point is hovered, refresh the tooltip - if (point && point !== hoverPoint) { - - // trigger the events - point.onMouseOver(); - - } - } - } - - - - /** - * Reset the tracking by hiding the tooltip, the hover series state and the hover point - */ - function resetTracker() { - var hoverSeries = chart.hoverSeries, - hoverPoint = chart.hoverPoint; - - if (hoverPoint) { - hoverPoint.onMouseOut(); - } - - if (hoverSeries) { - hoverSeries.onMouseOut(); - } - - if (tooltip) { - tooltip.hide(); - } - - hoverX = null; - } - - /** - * Mouse up or outside the plot area - */ - function drop() { - if (selectionMarker) { - var selectionData = { - xAxis: [], - yAxis: [] - }, - selectionBox = selectionMarker.getBBox(), - selectionLeft = selectionBox.x - plotLeft, - selectionTop = selectionBox.y - plotTop; - - - // a selection has been made - if (hasDragged) { - - // record each axis' min and max - each(axes, function (axis) { - var translate = axis.translate, - isXAxis = axis.isXAxis, - isHorizontal = inverted ? !isXAxis : isXAxis, - selectionMin = translate( - isHorizontal ? - selectionLeft : - plotHeight - selectionTop - selectionBox.height, - true, - 0, - 0, - 1 - ), - selectionMax = translate( - isHorizontal ? - selectionLeft + selectionBox.width : - plotHeight - selectionTop, - true, - 0, - 0, - 1 - ); - - selectionData[isXAxis ? 'xAxis' : 'yAxis'].push({ - axis: axis, - min: mathMin(selectionMin, selectionMax), // for reversed axes, - max: mathMax(selectionMin, selectionMax) - }); - - }); - fireEvent(chart, 'selection', selectionData, zoom); - - } - selectionMarker = selectionMarker.destroy(); - } - - chart.mouseIsDown = mouseIsDown = hasDragged = false; - removeEvent(doc, hasTouch ? 'touchend' : 'mouseup', drop); - - } - - /** - * Special handler for mouse move that will hide the tooltip when the mouse leaves the plotarea. - */ - function hideTooltipOnMouseMove(e) { - var pageX = defined(e.pageX) ? e.pageX : e.page.x, // In mootools the event is wrapped and the page x/y position is named e.page.x - pageY = defined(e.pageX) ? e.pageY : e.page.y; // Ref: http://mootools.net/docs/core/Types/DOMEvent - - if (chartPosition && - !isInsidePlot(pageX - chartPosition.left - plotLeft, - pageY - chartPosition.top - plotTop)) { - resetTracker(); - } - } - - /** - * Set the JS events on the container element - */ - function setDOMEvents() { - var lastWasOutsidePlot = true; - /* - * Record the starting position of a dragoperation - */ - container.onmousedown = function (e) { - e = normalizeMouseEvent(e); - - // issue #295, dragging not always working in Firefox - if (!hasTouch && e.preventDefault) { - e.preventDefault(); - } - - // record the start position - chart.mouseIsDown = mouseIsDown = true; - mouseDownX = e.chartX; - mouseDownY = e.chartY; - - addEvent(doc, hasTouch ? 'touchend' : 'mouseup', drop); - }; - - // The mousemove, touchmove and touchstart event handler - var mouseMove = function (e) { - - // let the system handle multitouch operations like two finger scroll - // and pinching - if (e && e.touches && e.touches.length > 1) { - return; - } - - // normalize - e = normalizeMouseEvent(e); - if (!hasTouch) { // not for touch devices - e.returnValue = false; - } - - var chartX = e.chartX, - chartY = e.chartY, - isOutsidePlot = !isInsidePlot(chartX - plotLeft, chartY - plotTop); - - // cache chart position for issue #149 fix - if (!chartPosition) { - chartPosition = getPosition(container); - } - - // on touch devices, only trigger click if a handler is defined - if (hasTouch && e.type === 'touchstart') { - if (attr(e.target, 'isTracker')) { - if (!chart.runTrackerClick) { - e.preventDefault(); - } - } else if (!runChartClick && !isOutsidePlot) { - e.preventDefault(); - } - } - - // cancel on mouse outside - if (isOutsidePlot) { - - /*if (!lastWasOutsidePlot) { - // reset the tracker - resetTracker(); - }*/ - - // drop the selection if any and reset mouseIsDown and hasDragged - //drop(); - if (chartX < plotLeft) { - chartX = plotLeft; - } else if (chartX > plotLeft + plotWidth) { - chartX = plotLeft + plotWidth; - } - - if (chartY < plotTop) { - chartY = plotTop; - } else if (chartY > plotTop + plotHeight) { - chartY = plotTop + plotHeight; - } - - } - - if (mouseIsDown && e.type !== 'touchstart') { // make selection - - // determine if the mouse has moved more than 10px - hasDragged = Math.sqrt( - Math.pow(mouseDownX - chartX, 2) + - Math.pow(mouseDownY - chartY, 2) - ); - if (hasDragged > 10) { - - // make a selection - if (hasCartesianSeries && (zoomX || zoomY) && - isInsidePlot(mouseDownX - plotLeft, mouseDownY - plotTop)) { - if (!selectionMarker) { - selectionMarker = renderer.rect( - plotLeft, - plotTop, - zoomHor ? 1 : plotWidth, - zoomVert ? 1 : plotHeight, - 0 - ) - .attr({ - fill: optionsChart.selectionMarkerFill || 'rgba(69,114,167,0.25)', - zIndex: 7 - }) - .add(); - } - } - - // adjust the width of the selection marker - if (selectionMarker && zoomHor) { - var xSize = chartX - mouseDownX; - selectionMarker.attr({ - width: mathAbs(xSize), - x: (xSize > 0 ? 0 : xSize) + mouseDownX - }); - } - // adjust the height of the selection marker - if (selectionMarker && zoomVert) { - var ySize = chartY - mouseDownY; - selectionMarker.attr({ - height: mathAbs(ySize), - y: (ySize > 0 ? 0 : ySize) + mouseDownY - }); - } - } - - } else if (!isOutsidePlot) { - // show the tooltip - onmousemove(e); - } - - lastWasOutsidePlot = isOutsidePlot; - - // when outside plot, allow touch-drag by returning true - return isOutsidePlot || !hasCartesianSeries; - }; - - /* - * When the mouse enters the container, run mouseMove - */ - container.onmousemove = mouseMove; - - /* - * When the mouse leaves the container, hide the tracking (tooltip). - */ - addEvent(container, 'mouseleave', resetTracker); - - // issue #149 workaround - // The mouseleave event above does not always fire. Whenever the mouse is moving - // outside the plotarea, hide the tooltip - addEvent(doc, 'mousemove', hideTooltipOnMouseMove); - - container.ontouchstart = function (e) { - // For touch devices, use touchmove to zoom - if (zoomX || zoomY) { - container.onmousedown(e); - } - // Show tooltip and prevent the lower mouse pseudo event - mouseMove(e); - }; - - /* - * Allow dragging the finger over the chart to read the values on touch - * devices - */ - container.ontouchmove = mouseMove; - - /* - * Allow dragging the finger over the chart to read the values on touch - * devices - */ - container.ontouchend = function () { - if (hasDragged) { - resetTracker(); - } - }; - - - // MooTools 1.2.3 doesn't fire this in IE when using addEvent - container.onclick = function (e) { - var hoverPoint = chart.hoverPoint; - e = normalizeMouseEvent(e); - - e.cancelBubble = true; // IE specific - - - if (!hasDragged) { - if (hoverPoint && attr(e.target, 'isTracker')) { - var plotX = hoverPoint.plotX, - plotY = hoverPoint.plotY; - - // add page position info - extend(hoverPoint, { - pageX: chartPosition.left + plotLeft + - (inverted ? plotWidth - plotY : plotX), - pageY: chartPosition.top + plotTop + - (inverted ? plotHeight - plotX : plotY) - }); - - // the series click event - fireEvent(hoverPoint.series, 'click', extend(e, { - point: hoverPoint - })); - - // the point click event - hoverPoint.firePointEvent('click', e); - - } else { - extend(e, getMouseCoordinates(e)); - - // fire a click event in the chart - if (isInsidePlot(e.chartX - plotLeft, e.chartY - plotTop)) { - fireEvent(chart, 'click', e); - } - } - - - } - // reset mouseIsDown and hasDragged - hasDragged = false; - }; - - } - - /** - * Destroys the MouseTracker object and disconnects DOM events. - */ - function destroy() { - // Destroy the tracker group element - if (chart.trackerGroup) { - chart.trackerGroup = trackerGroup = chart.trackerGroup.destroy(); - } - - removeEvent(doc, 'mousemove', hideTooltipOnMouseMove); - container.onclick = container.onmousedown = container.onmousemove = container.ontouchstart = container.ontouchend = container.ontouchmove = null; - } - - /** - * Create the image map that listens for mouseovers - */ - placeTrackerGroup = function () { - - // first create - plot positions is not final at this stage - if (!trackerGroup) { - chart.trackerGroup = trackerGroup = renderer.g('tracker') - .attr({ zIndex: 9 }) - .add(); - - // then position - this happens on load and after resizing and changing - // axis or box positions - } else { - trackerGroup.translate(plotLeft, plotTop); - if (inverted) { - trackerGroup.attr({ - width: chart.plotWidth, - height: chart.plotHeight - }).invert(); - } - } - }; - - - // Run MouseTracker - placeTrackerGroup(); - if (options.enabled) { - chart.tooltip = tooltip = Tooltip(options); - } - - setDOMEvents(); - - // set the fixed interval ticking for the smooth tooltip - tooltipInterval = setInterval(function () { - if (tooltipTick) { - tooltipTick(); - } - }, 32); - - // expose properties - extend(this, { - zoomX: zoomX, - zoomY: zoomY, - resetTracker: resetTracker, - destroy: destroy - }); - } - - - - /** - * The overview of the chart's series - */ - var Legend = function () { - - var options = chart.options.legend; - - if (!options.enabled) { - return; - } - - var horizontal = options.layout === 'horizontal', - symbolWidth = options.symbolWidth, - symbolPadding = options.symbolPadding, - allItems, - style = options.style, - itemStyle = options.itemStyle, - itemHoverStyle = options.itemHoverStyle, - itemHiddenStyle = options.itemHiddenStyle, - padding = pInt(style.padding), - y = 18, - initialItemX = 4 + padding + symbolWidth + symbolPadding, - itemX, - itemY, - lastItemY, - itemHeight = 0, - box, - legendBorderWidth = options.borderWidth, - legendBackgroundColor = options.backgroundColor, - legendGroup, - offsetWidth, - widthOption = options.width, - series = chart.series, - reversedLegend = options.reversed; - - - - /** - * Set the colors for the legend item - * @param {Object} item A Series or Point instance - * @param {Object} visible Dimmed or colored - */ - function colorizeItem(item, visible) { - var legendItem = item.legendItem, - legendLine = item.legendLine, - legendSymbol = item.legendSymbol, - hiddenColor = itemHiddenStyle.color, - textColor = visible ? options.itemStyle.color : hiddenColor, - lineColor = visible ? item.color : hiddenColor, - symbolAttr = visible ? item.pointAttr[NORMAL_STATE] : { - stroke: hiddenColor, - fill: hiddenColor - }; - - if (legendItem) { - legendItem.css({ fill: textColor }); - } - if (legendLine) { - legendLine.attr({ stroke: lineColor }); - } - if (legendSymbol) { - legendSymbol.attr(symbolAttr); - } - - } - - /** - * Position the legend item - * @param {Object} item A Series or Point instance - * @param {Object} visible Dimmed or colored - */ - function positionItem(item, itemX, itemY) { - var legendItem = item.legendItem, - legendLine = item.legendLine, - legendSymbol = item.legendSymbol, - checkbox = item.checkbox; - if (legendItem) { - legendItem.attr({ - x: itemX, - y: itemY - }); - } - if (legendLine) { - legendLine.translate(itemX, itemY - 4); - } - if (legendSymbol) { - legendSymbol.attr({ - x: itemX + legendSymbol.xOff, - y: itemY + legendSymbol.yOff - }); - } - if (checkbox) { - checkbox.x = itemX; - checkbox.y = itemY; - } - } - - /** - * Destroy a single legend item - * @param {Object} item The series or point - */ - function destroyItem(item) { - var checkbox = item.checkbox; - - // pull out from the array - //erase(allItems, item); - - // destroy SVG elements - each(['legendItem', 'legendLine', 'legendSymbol'], function (key) { - if (item[key]) { - item[key].destroy(); - } - }); - - if (checkbox) { - discardElement(item.checkbox); - } - - - } - - /** - * Destroys the legend. - */ - function destroy() { - if (box) { - box = box.destroy(); - } - - if (legendGroup) { - legendGroup = legendGroup.destroy(); - } - } - - /** - * Position the checkboxes after the width is determined - */ - function positionCheckboxes() { - each(allItems, function (item) { - var checkbox = item.checkbox, - alignAttr = legendGroup.alignAttr; - if (checkbox) { - css(checkbox, { - left: (alignAttr.translateX + item.legendItemWidth + checkbox.x - 40) + PX, - top: (alignAttr.translateY + checkbox.y - 11) + PX - }); - } - }); - } - - /** - * Render a single specific legend item - * @param {Object} item A series or point - */ - function renderItem(item) { - var bBox, - itemWidth, - legendSymbol, - symbolX, - symbolY, - simpleSymbol, - li = item.legendItem, - series = item.series || item, - itemOptions = series.options, - strokeWidth = (itemOptions && itemOptions.borderWidth) || 0; - - if (!li) { // generate it once, later move it - - // let these series types use a simple symbol - simpleSymbol = /^(bar|pie|area|column)$/.test(series.type); - - // generate the list item text - item.legendItem = li = renderer.text( - options.labelFormatter.call(item), - 0, - 0 - ) - .css(item.visible ? itemStyle : itemHiddenStyle) - .on('mouseover', function () { - item.setState(HOVER_STATE); - li.css(itemHoverStyle); - }) - .on('mouseout', function () { - li.css(item.visible ? itemStyle : itemHiddenStyle); - item.setState(); - }) - .on('click', function () { - var strLegendItemClick = 'legendItemClick', - fnLegendItemClick = function () { - item.setVisible(); - }; - - // click the name or symbol - if (item.firePointEvent) { // point - item.firePointEvent(strLegendItemClick, null, fnLegendItemClick); - } else { - fireEvent(item, strLegendItemClick, null, fnLegendItemClick); - } - }) - .attr({ zIndex: 2 }) - .add(legendGroup); - - // draw the line - if (!simpleSymbol && itemOptions && itemOptions.lineWidth) { - var attrs = { - 'stroke-width': itemOptions.lineWidth, - zIndex: 2 - }; - if (itemOptions.dashStyle) { - attrs.dashstyle = itemOptions.dashStyle; - } - item.legendLine = renderer.path([ - M, - -symbolWidth - symbolPadding, - 0, - L, - -symbolPadding, - 0 - ]) - .attr(attrs) - .add(legendGroup); - } - - // draw a simple symbol - if (simpleSymbol) { // bar|pie|area|column - - legendSymbol = renderer.rect( - (symbolX = -symbolWidth - symbolPadding), - (symbolY = -11), - symbolWidth, - 12, - 2 - ).attr({ - //'stroke-width': 0, - zIndex: 3 - }).add(legendGroup); - - // draw the marker - } else if (itemOptions && itemOptions.marker && itemOptions.marker.enabled) { - legendSymbol = renderer.symbol( - item.symbol, - (symbolX = -symbolWidth / 2 - symbolPadding), - (symbolY = -4), - itemOptions.marker.radius - ) - //.attr(item.pointAttr[NORMAL_STATE]) - .attr({ zIndex: 3 }) - .add(legendGroup); - - } - if (legendSymbol) { - legendSymbol.xOff = symbolX + (strokeWidth % 2 / 2); - legendSymbol.yOff = symbolY + (strokeWidth % 2 / 2); - } - - item.legendSymbol = legendSymbol; - - // colorize the items - colorizeItem(item, item.visible); - - - // add the HTML checkbox on top - if (itemOptions && itemOptions.showCheckbox) { - item.checkbox = createElement('input', { - type: 'checkbox', - checked: item.selected, - defaultChecked: item.selected // required by IE7 - }, options.itemCheckboxStyle, container); - - addEvent(item.checkbox, 'click', function (event) { - var target = event.target; - fireEvent(item, 'checkboxClick', { - checked: target.checked - }, - function () { - item.select(); - } - ); - }); - } - } - - - // calculate the positions for the next line - bBox = li.getBBox(); - - itemWidth = item.legendItemWidth = - options.itemWidth || symbolWidth + symbolPadding + bBox.width + padding; - itemHeight = bBox.height; - - // if the item exceeds the width, start a new line - if (horizontal && itemX - initialItemX + itemWidth > - (widthOption || (chartWidth - 2 * padding - initialItemX))) { - itemX = initialItemX; - itemY += itemHeight; - } - lastItemY = itemY; - - // position the newly generated or reordered items - positionItem(item, itemX, itemY); - - // advance - if (horizontal) { - itemX += itemWidth; - } else { - itemY += itemHeight; - } - - // the width of the widest item - offsetWidth = widthOption || mathMax( - horizontal ? itemX - initialItemX : itemWidth, - offsetWidth - ); - - - - // add it all to an array to use below - //allItems.push(item); - } - - /** - * Render the legend. This method can be called both before and after - * chart.render. If called after, it will only rearrange items instead - * of creating new ones. - */ - function renderLegend() { - itemX = initialItemX; - itemY = y; - offsetWidth = 0; - lastItemY = 0; - - if (!legendGroup) { - legendGroup = renderer.g('legend') - .attr({ zIndex: 7 }) - .add(); - } - - - // add each series or point - allItems = []; - each(series, function (serie) { - var seriesOptions = serie.options; - - if (!seriesOptions.showInLegend) { - return; - } - - // use points or series for the legend item depending on legendType - allItems = allItems.concat(seriesOptions.legendType === 'point' ? - serie.data : - serie - ); - - }); - - // sort by legendIndex - stableSort(allItems, function (a, b) { - return (a.options.legendIndex || 0) - (b.options.legendIndex || 0); - }); - - // reversed legend - if (reversedLegend) { - allItems.reverse(); - } - - // render the items - each(allItems, renderItem); - - - - // Draw the border - legendWidth = widthOption || offsetWidth; - legendHeight = lastItemY - y + itemHeight; - - if (legendBorderWidth || legendBackgroundColor) { - legendWidth += 2 * padding; - legendHeight += 2 * padding; - - if (!box) { - box = renderer.rect( - 0, - 0, - legendWidth, - legendHeight, - options.borderRadius, - legendBorderWidth || 0 - ).attr({ - stroke: options.borderColor, - 'stroke-width': legendBorderWidth || 0, - fill: legendBackgroundColor || NONE - }) - .add(legendGroup) - .shadow(options.shadow); - box.isNew = true; - - } else if (legendWidth > 0 && legendHeight > 0) { - box[box.isNew ? 'attr' : 'animate']( - box.crisp(null, null, null, legendWidth, legendHeight) - ); - box.isNew = false; - } - - // hide the border if no items - box[allItems.length ? 'show' : 'hide'](); - } - - // 1.x compatibility: positioning based on style - var props = ['left', 'right', 'top', 'bottom'], - prop, - i = 4; - while (i--) { - prop = props[i]; - if (style[prop] && style[prop] !== 'auto') { - options[i < 2 ? 'align' : 'verticalAlign'] = prop; - options[i < 2 ? 'x' : 'y'] = pInt(style[prop]) * (i % 2 ? -1 : 1); - } - } - - if (allItems.length) { - legendGroup.align(extend(options, { - width: legendWidth, - height: legendHeight - }), true, spacingBox); - } - - if (!isResizing) { - positionCheckboxes(); - } - } - - - // run legend - renderLegend(); - - // move checkboxes - addEvent(chart, 'endResize', positionCheckboxes); - - // expose - return { - colorizeItem: colorizeItem, - destroyItem: destroyItem, - renderLegend: renderLegend, - destroy: destroy - }; - }; - - - - - - - /** - * Initialize an individual series, called internally before render time - */ - function initSeries(options) { - var type = options.type || optionsChart.type || optionsChart.defaultSeriesType, - typeClass = seriesTypes[type], - serie, - hasRendered = chart.hasRendered; - - // an inverted chart can't take a column series and vice versa - if (hasRendered) { - if (inverted && type === 'column') { - typeClass = seriesTypes.bar; - } else if (!inverted && type === 'bar') { - typeClass = seriesTypes.column; - } - } - - serie = new typeClass(); - - serie.init(chart, options); - - // set internal chart properties - if (!hasRendered && serie.inverted) { - inverted = true; - } - if (serie.isCartesian) { - hasCartesianSeries = serie.isCartesian; - } - - series.push(serie); - - return serie; - } - - /** - * Add a series dynamically after time - * - * @param {Object} options The config options - * @param {Boolean} redraw Whether to redraw the chart after adding. Defaults to true. - * @param {Boolean|Object} animation Whether to apply animation, and optionally animation - * configuration - * - * @return {Object} series The newly created series object - */ - function addSeries(options, redraw, animation) { - var series; - - if (options) { - setAnimation(animation, chart); - redraw = pick(redraw, true); // defaults to true - - fireEvent(chart, 'addSeries', { options: options }, function () { - series = initSeries(options); - series.isDirty = true; - - chart.isDirtyLegend = true; // the series array is out of sync with the display - if (redraw) { - chart.redraw(); - } - }); - } - - return series; - } - - /** - * Check whether a given point is within the plot area - * - * @param {Number} x Pixel x relative to the coordinateSystem - * @param {Number} y Pixel y relative to the coordinateSystem - */ - isInsidePlot = function (x, y) { - return x >= 0 && - x <= plotWidth && - y >= 0 && - y <= plotHeight; - }; - - /** - * Adjust all axes tick amounts - */ - function adjustTickAmounts() { - if (optionsChart.alignTicks !== false) { - each(axes, function (axis) { - axis.adjustTickAmount(); - }); - } - maxTicks = null; - } - - /** - * Redraw legend, axes or series based on updated data - * - * @param {Boolean|Object} animation Whether to apply animation, and optionally animation - * configuration - */ - function redraw(animation) { - var redrawLegend = chart.isDirtyLegend, - hasStackedSeries, - isDirtyBox = chart.isDirtyBox, // todo: check if it has actually changed? - seriesLength = series.length, - i = seriesLength, - clipRect = chart.clipRect, - serie; - - setAnimation(animation, chart); - - // link stacked series - while (i--) { - serie = series[i]; - if (serie.isDirty && serie.options.stacking) { - hasStackedSeries = true; - break; - } - } - if (hasStackedSeries) { // mark others as dirty - i = seriesLength; - while (i--) { - serie = series[i]; - if (serie.options.stacking) { - serie.isDirty = true; - } - } - } - - // handle updated data in the series - each(series, function (serie) { - if (serie.isDirty) { // prepare the data so axis can read it - serie.cleanData(); - serie.getSegments(); - - if (serie.options.legendType === 'point') { - redrawLegend = true; - } - } - }); - - // handle added or removed series - if (redrawLegend && legend.renderLegend) { // series or pie points are added or removed - // draw legend graphics - legend.renderLegend(); - - chart.isDirtyLegend = false; - } - - if (hasCartesianSeries) { - if (!isResizing) { - - // reset maxTicks - maxTicks = null; - - // set axes scales - each(axes, function (axis) { - axis.setScale(); - }); - } - adjustTickAmounts(); - getMargins(); - - // redraw axes - each(axes, function (axis) { - if (axis.isDirty || isDirtyBox) { - axis.redraw(); - isDirtyBox = true; // always redraw box to reflect changes in the axis labels - } - }); - - - } - - // the plot areas size has changed - if (isDirtyBox) { - drawChartBox(); - placeTrackerGroup(); - - // move clip rect - if (clipRect) { - stop(clipRect); - clipRect.animate({ // for chart resize - width: chart.plotSizeX, - height: chart.plotSizeY - }); - } - - } - - - // redraw affected series - each(series, function (serie) { - if (serie.isDirty && serie.visible && - (!serie.isCartesian || serie.xAxis)) { // issue #153 - serie.redraw(); - } - }); - - - // hide tooltip and hover states - if (tracker && tracker.resetTracker) { - tracker.resetTracker(); - } - - // fire the event - fireEvent(chart, 'redraw'); - } - - - - /** - * Dim the chart and show a loading text or symbol - * @param {String} str An optional text to show in the loading label instead of the default one - */ - function showLoading(str) { - var loadingOptions = options.loading; - - // create the layer at the first call - if (!loadingDiv) { - loadingDiv = createElement(DIV, { - className: 'highcharts-loading' - }, extend(loadingOptions.style, { - left: plotLeft + PX, - top: plotTop + PX, - width: plotWidth + PX, - height: plotHeight + PX, - zIndex: 10, - display: NONE - }), container); - - loadingSpan = createElement( - 'span', - null, - loadingOptions.labelStyle, - loadingDiv - ); - - } - - // update text - loadingSpan.innerHTML = str || options.lang.loading; - - // show it - if (!loadingShown) { - css(loadingDiv, { opacity: 0, display: '' }); - animate(loadingDiv, { - opacity: loadingOptions.style.opacity - }, { - duration: loadingOptions.showDuration - }); - loadingShown = true; - } - } - /** - * Hide the loading layer - */ - function hideLoading() { - animate(loadingDiv, { - opacity: 0 - }, { - duration: options.loading.hideDuration, - complete: function () { - css(loadingDiv, { display: NONE }); - } - }); - loadingShown = false; - } - - /** - * Get an axis, series or point object by id. - * @param id {String} The id as given in the configuration options - */ - function get(id) { - var i, - j, - data; - - // search axes - for (i = 0; i < axes.length; i++) { - if (axes[i].options.id === id) { - return axes[i]; - } - } - - // search series - for (i = 0; i < series.length; i++) { - if (series[i].options.id === id) { - return series[i]; - } - } - - // search points - for (i = 0; i < series.length; i++) { - data = series[i].data; - for (j = 0; j < data.length; j++) { - if (data[j].id === id) { - return data[j]; - } - } - } - return null; - } - - /** - * Create the Axis instances based on the config options - */ - function getAxes() { - var xAxisOptions = options.xAxis || {}, - yAxisOptions = options.yAxis || {}, - axis; - - // make sure the options are arrays and add some members - xAxisOptions = splat(xAxisOptions); - each(xAxisOptions, function (axis, i) { - axis.index = i; - axis.isX = true; - }); - - yAxisOptions = splat(yAxisOptions); - each(yAxisOptions, function (axis, i) { - axis.index = i; - }); - - // concatenate all axis options into one array - axes = xAxisOptions.concat(yAxisOptions); - - // loop the options and construct axis objects - chart.xAxis = []; - chart.yAxis = []; - axes = map(axes, function (axisOptions) { - axis = new Axis(axisOptions); - chart[axis.isXAxis ? 'xAxis' : 'yAxis'].push(axis); - - return axis; - }); - - adjustTickAmounts(); - } - - - /** - * Get the currently selected points from all series - */ - function getSelectedPoints() { - var points = []; - each(series, function (serie) { - points = points.concat(grep(serie.data, function (point) { - return point.selected; - })); - }); - return points; - } - - /** - * Get the currently selected series - */ - function getSelectedSeries() { - return grep(series, function (serie) { - return serie.selected; - }); - } - - /** - * Zoom out to 1:1 - */ - zoomOut = function () { - fireEvent(chart, 'selection', { resetSelection: true }, zoom); - chart.toolbar.remove('zoom'); - - }; - /** - * Zoom into a given portion of the chart given by axis coordinates - * @param {Object} event - */ - zoom = function (event) { - - // add button to reset selection - var lang = defaultOptions.lang, - animate = chart.pointCount < 100; - chart.toolbar.add('zoom', lang.resetZoom, lang.resetZoomTitle, zoomOut); - - // if zoom is called with no arguments, reset the axes - if (!event || event.resetSelection) { - each(axes, function (axis) { - axis.setExtremes(null, null, false, animate); - }); - } else { // else, zoom in on all axes - each(event.xAxis.concat(event.yAxis), function (axisData) { - var axis = axisData.axis; - - // don't zoom more than maxZoom - if (chart.tracker[axis.isXAxis ? 'zoomX' : 'zoomY']) { - axis.setExtremes(axisData.min, axisData.max, false, animate); - } - }); - } - - // redraw chart - redraw(); - }; - - /** - * Show the title and subtitle of the chart - * - * @param titleOptions {Object} New title options - * @param subtitleOptions {Object} New subtitle options - * - */ - function setTitle(titleOptions, subtitleOptions) { - - chartTitleOptions = merge(options.title, titleOptions); - chartSubtitleOptions = merge(options.subtitle, subtitleOptions); - - // add title and subtitle - each([ - ['title', titleOptions, chartTitleOptions], - ['subtitle', subtitleOptions, chartSubtitleOptions] - ], function (arr) { - var name = arr[0], - title = chart[name], - titleOptions = arr[1], - chartTitleOptions = arr[2]; - - if (title && titleOptions) { - title = title.destroy(); // remove old - } - if (chartTitleOptions && chartTitleOptions.text && !title) { - chart[name] = renderer.text( - chartTitleOptions.text, - 0, - 0, - chartTitleOptions.useHTML - ) - .attr({ - align: chartTitleOptions.align, - 'class': 'highcharts-' + name, - zIndex: 1 - }) - .css(chartTitleOptions.style) - .add() - .align(chartTitleOptions, false, spacingBox); - } - }); - - } - - /** - * Get chart width and height according to options and container size - */ - function getChartSize() { - - containerWidth = (renderToClone || renderTo).offsetWidth; - containerHeight = (renderToClone || renderTo).offsetHeight; - chart.chartWidth = chartWidth = optionsChart.width || containerWidth || 600; - chart.chartHeight = chartHeight = optionsChart.height || - // the offsetHeight of an empty container is 0 in standard browsers, but 19 in IE7: - (containerHeight > 19 ? containerHeight : 400); - } - - - /** - * Get the containing element, determine the size and create the inner container - * div to hold the chart - */ - function getContainer() { - renderTo = optionsChart.renderTo; - containerId = PREFIX + idCounter++; - - if (isString(renderTo)) { - renderTo = doc.getElementById(renderTo); - } - - // remove previous chart - renderTo.innerHTML = ''; - - // If the container doesn't have an offsetWidth, it has or is a child of a node - // that has display:none. We need to temporarily move it out to a visible - // state to determine the size, else the legend and tooltips won't render - // properly - if (!renderTo.offsetWidth) { - renderToClone = renderTo.cloneNode(0); - css(renderToClone, { - position: ABSOLUTE, - top: '-9999px', - display: '' - }); - doc.body.appendChild(renderToClone); - } - - // get the width and height - getChartSize(); - - // create the inner container - chart.container = container = createElement(DIV, { - className: 'highcharts-container' + - (optionsChart.className ? ' ' + optionsChart.className : ''), - id: containerId - }, extend({ - position: RELATIVE, - overflow: HIDDEN, // needed for context menu (avoid scrollbars) and - // content overflow in IE - width: chartWidth + PX, - height: chartHeight + PX, - textAlign: 'left' - }, optionsChart.style), - renderToClone || renderTo - ); - - chart.renderer = renderer = - optionsChart.forExport ? // force SVG, used for SVG export - new SVGRenderer(container, chartWidth, chartHeight, true) : - new Renderer(container, chartWidth, chartHeight); - - // Issue 110 workaround: - // In Firefox, if a div is positioned by percentage, its pixel position may land - // between pixels. The container itself doesn't display this, but an SVG element - // inside this container will be drawn at subpixel precision. In order to draw - // sharp lines, this must be compensated for. This doesn't seem to work inside - // iframes though (like in jsFiddle). - var subPixelFix, rect; - if (isFirefox && container.getBoundingClientRect) { - subPixelFix = function () { - css(container, { left: 0, top: 0 }); - rect = container.getBoundingClientRect(); - css(container, { - left: (-(rect.left - pInt(rect.left))) + PX, - top: (-(rect.top - pInt(rect.top))) + PX - }); - }; - - // run the fix now - subPixelFix(); - - // run it on resize - addEvent(win, 'resize', subPixelFix); - - // remove it on chart destroy - addEvent(chart, 'destroy', function () { - removeEvent(win, 'resize', subPixelFix); - }); - } - } - - /** - * Calculate margins by rendering axis labels in a preliminary position. Title, - * subtitle and legend have already been rendered at this stage, but will be - * moved into their final positions - */ - getMargins = function () { - var legendOptions = options.legend, - legendMargin = pick(legendOptions.margin, 10), - legendX = legendOptions.x, - legendY = legendOptions.y, - align = legendOptions.align, - verticalAlign = legendOptions.verticalAlign, - titleOffset; - - resetMargins(); - - // adjust for title and subtitle - if ((chart.title || chart.subtitle) && !defined(optionsMarginTop)) { - titleOffset = mathMax( - (chart.title && !chartTitleOptions.floating && !chartTitleOptions.verticalAlign && chartTitleOptions.y) || 0, - (chart.subtitle && !chartSubtitleOptions.floating && !chartSubtitleOptions.verticalAlign && chartSubtitleOptions.y) || 0 - ); - if (titleOffset) { - plotTop = mathMax(plotTop, titleOffset + pick(chartTitleOptions.margin, 15) + spacingTop); - } - } - // adjust for legend - if (legendOptions.enabled && !legendOptions.floating) { - if (align === 'right') { // horizontal alignment handled first - if (!defined(optionsMarginRight)) { - marginRight = mathMax( - marginRight, - legendWidth - legendX + legendMargin + spacingRight - ); - } - } else if (align === 'left') { - if (!defined(optionsMarginLeft)) { - plotLeft = mathMax( - plotLeft, - legendWidth + legendX + legendMargin + spacingLeft - ); - } - - } else if (verticalAlign === 'top') { - if (!defined(optionsMarginTop)) { - plotTop = mathMax( - plotTop, - legendHeight + legendY + legendMargin + spacingTop - ); - } - - } else if (verticalAlign === 'bottom') { - if (!defined(optionsMarginBottom)) { - marginBottom = mathMax( - marginBottom, - legendHeight - legendY + legendMargin + spacingBottom - ); - } - } - } - - // pre-render axes to get labels offset width - if (hasCartesianSeries) { - each(axes, function (axis) { - axis.getOffset(); - }); - } - - if (!defined(optionsMarginLeft)) { - plotLeft += axisOffset[3]; - } - if (!defined(optionsMarginTop)) { - plotTop += axisOffset[0]; - } - if (!defined(optionsMarginBottom)) { - marginBottom += axisOffset[2]; - } - if (!defined(optionsMarginRight)) { - marginRight += axisOffset[1]; - } - - setChartSize(); - - }; - - /** - * Add the event handlers necessary for auto resizing - * - */ - function initReflow() { - var reflowTimeout; - function reflow() { - var width = optionsChart.width || renderTo.offsetWidth, - height = optionsChart.height || renderTo.offsetHeight; - - if (width && height) { // means container is display:none - if (width !== containerWidth || height !== containerHeight) { - clearTimeout(reflowTimeout); - reflowTimeout = setTimeout(function () { - resize(width, height, false); - }, 100); - } - containerWidth = width; - containerHeight = height; - } - } - addEvent(win, 'resize', reflow); - addEvent(chart, 'destroy', function () { - removeEvent(win, 'resize', reflow); - }); - } - - /** - * Fires endResize event on chart instance. - */ - function fireEndResize() { - fireEvent(chart, 'endResize', null, function () { - isResizing -= 1; - }); - } - - /** - * Resize the chart to a given width and height - * @param {Number} width - * @param {Number} height - * @param {Object|Boolean} animation - */ - resize = function (width, height, animation) { - var chartTitle = chart.title, - chartSubtitle = chart.subtitle; - - isResizing += 1; - - // set the animation for the current process - setAnimation(animation, chart); - - oldChartHeight = chartHeight; - oldChartWidth = chartWidth; - chart.chartWidth = chartWidth = mathRound(width); - chart.chartHeight = chartHeight = mathRound(height); - - css(container, { - width: chartWidth + PX, - height: chartHeight + PX - }); - renderer.setSize(chartWidth, chartHeight, animation); - - // update axis lengths for more correct tick intervals: - plotWidth = chartWidth - plotLeft - marginRight; - plotHeight = chartHeight - plotTop - marginBottom; - - // handle axes - maxTicks = null; - each(axes, function (axis) { - axis.isDirty = true; - axis.setScale(); - }); - - // make sure non-cartesian series are also handled - each(series, function (serie) { - serie.isDirty = true; - }); - - chart.isDirtyLegend = true; // force legend redraw - chart.isDirtyBox = true; // force redraw of plot and chart border - - getMargins(); - - // move titles - if (chartTitle) { - chartTitle.align(null, null, spacingBox); - } - if (chartSubtitle) { - chartSubtitle.align(null, null, spacingBox); - } - - redraw(animation); - - - oldChartHeight = null; - fireEvent(chart, 'resize'); - - // fire endResize and set isResizing back - // If animation is disabled, fire without delay - if (globalAnimation === false) { - fireEndResize(); - } else { // else set a timeout with the animation duration - setTimeout(fireEndResize, (globalAnimation && globalAnimation.duration) || 500); - } - }; - - /** - * Set the public chart properties. This is done before and after the pre-render - * to determine margin sizes - */ - setChartSize = function () { - - chart.plotLeft = plotLeft = mathRound(plotLeft); - chart.plotTop = plotTop = mathRound(plotTop); - chart.plotWidth = plotWidth = mathRound(chartWidth - plotLeft - marginRight); - chart.plotHeight = plotHeight = mathRound(chartHeight - plotTop - marginBottom); - - chart.plotSizeX = inverted ? plotHeight : plotWidth; - chart.plotSizeY = inverted ? plotWidth : plotHeight; - - spacingBox = { - x: spacingLeft, - y: spacingTop, - width: chartWidth - spacingLeft - spacingRight, - height: chartHeight - spacingTop - spacingBottom - }; - }; - - /** - * Initial margins before auto size margins are applied - */ - resetMargins = function () { - plotTop = pick(optionsMarginTop, spacingTop); - marginRight = pick(optionsMarginRight, spacingRight); - marginBottom = pick(optionsMarginBottom, spacingBottom); - plotLeft = pick(optionsMarginLeft, spacingLeft); - axisOffset = [0, 0, 0, 0]; // top, right, bottom, left - }; - - /** - * Draw the borders and backgrounds for chart and plot area - */ - drawChartBox = function () { - var chartBorderWidth = optionsChart.borderWidth || 0, - chartBackgroundColor = optionsChart.backgroundColor, - plotBackgroundColor = optionsChart.plotBackgroundColor, - plotBackgroundImage = optionsChart.plotBackgroundImage, - mgn, - plotSize = { - x: plotLeft, - y: plotTop, - width: plotWidth, - height: plotHeight - }; - - // Chart area - mgn = chartBorderWidth + (optionsChart.shadow ? 8 : 0); - - if (chartBorderWidth || chartBackgroundColor) { - if (!chartBackground) { - chartBackground = renderer.rect(mgn / 2, mgn / 2, chartWidth - mgn, chartHeight - mgn, - optionsChart.borderRadius, chartBorderWidth) - .attr({ - stroke: optionsChart.borderColor, - 'stroke-width': chartBorderWidth, - fill: chartBackgroundColor || NONE - }) - .add() - .shadow(optionsChart.shadow); - } else { // resize - chartBackground.animate( - chartBackground.crisp(null, null, null, chartWidth - mgn, chartHeight - mgn) - ); - } - } - - - // Plot background - if (plotBackgroundColor) { - if (!plotBackground) { - plotBackground = renderer.rect(plotLeft, plotTop, plotWidth, plotHeight, 0) - .attr({ - fill: plotBackgroundColor - }) - .add() - .shadow(optionsChart.plotShadow); - } else { - plotBackground.animate(plotSize); - } - } - if (plotBackgroundImage) { - if (!plotBGImage) { - plotBGImage = renderer.image(plotBackgroundImage, plotLeft, plotTop, plotWidth, plotHeight) - .add(); - } else { - plotBGImage.animate(plotSize); - } - } - - // Plot area border - if (optionsChart.plotBorderWidth) { - if (!plotBorder) { - plotBorder = renderer.rect(plotLeft, plotTop, plotWidth, plotHeight, 0, optionsChart.plotBorderWidth) - .attr({ - stroke: optionsChart.plotBorderColor, - 'stroke-width': optionsChart.plotBorderWidth, - zIndex: 4 - }) - .add(); - } else { - plotBorder.animate( - plotBorder.crisp(null, plotLeft, plotTop, plotWidth, plotHeight) - ); - } - } - - // reset - chart.isDirtyBox = false; - }; - - /** - * Render all graphics for the chart - */ - function render() { - var labels = options.labels, - credits = options.credits, - creditsHref; - - // Title - setTitle(); - - - // Legend - legend = chart.legend = new Legend(); - - // Get margins by pre-rendering axes - getMargins(); - each(axes, function (axis) { - axis.setTickPositions(true); // update to reflect the new margins - }); - adjustTickAmounts(); - getMargins(); // second pass to check for new labels - - - // Draw the borders and backgrounds - drawChartBox(); - - // Axes - if (hasCartesianSeries) { - each(axes, function (axis) { - axis.render(); - }); - } - - - // The series - if (!chart.seriesGroup) { - chart.seriesGroup = renderer.g('series-group') - .attr({ zIndex: 3 }) - .add(); - } - each(series, function (serie) { - serie.translate(); - serie.setTooltipPoints(); - serie.render(); - }); - - - // Labels - if (labels.items) { - each(labels.items, function () { - var style = extend(labels.style, this.style), - x = pInt(style.left) + plotLeft, - y = pInt(style.top) + plotTop + 12; - - // delete to prevent rewriting in IE - delete style.left; - delete style.top; - - renderer.text( - this.html, - x, - y - ) - .attr({ zIndex: 2 }) - .css(style) - .add(); - - }); - } - - // Toolbar (don't redraw) - if (!chart.toolbar) { - chart.toolbar = Toolbar(); - } - - // Credits - if (credits.enabled && !chart.credits) { - creditsHref = credits.href; - chart.credits = renderer.text( - credits.text, - 0, - 0 - ) - .on('click', function () { - if (creditsHref) { - location.href = creditsHref; - } - }) - .attr({ - align: credits.position.align, - zIndex: 8 - }) - .css(credits.style) - .add() - .align(credits.position); - } - - placeTrackerGroup(); - - // Set flag - chart.hasRendered = true; - - // If the chart was rendered outside the top container, put it back in - if (renderToClone) { - renderTo.appendChild(container); - discardElement(renderToClone); - //updatePosition(container); - } - } - - /** - * Clean up memory usage - */ - function destroy() { - var i, - parentNode = container && container.parentNode; - - // If the chart is destroyed already, do nothing. - // This will happen if if a script invokes chart.destroy and - // then it will be called again on win.unload - if (chart === null) { - return; - } - - // fire the chart.destoy event - fireEvent(chart, 'destroy'); - - // remove events - removeEvent(win, 'unload', destroy); - removeEvent(chart); - - // ==== Destroy collections: - // Destroy axes - i = axes.length; - while (i--) { - axes[i] = axes[i].destroy(); - } - - // Destroy each series - i = series.length; - while (i--) { - series[i] = series[i].destroy(); - } - - // ==== Destroy chart properties: - each(['title', 'subtitle', 'seriesGroup', 'clipRect', 'credits', 'tracker'], function (name) { - var prop = chart[name]; - - if (prop) { - chart[name] = prop.destroy(); - } - }); - - // ==== Destroy local variables: - each([chartBackground, plotBorder, plotBackground, legend, tooltip, renderer, tracker], function (obj) { - if (obj && obj.destroy) { - obj.destroy(); - } - }); - chartBackground = plotBorder = plotBackground = legend = tooltip = renderer = tracker = null; - - // remove container and all SVG - if (container) { // can break in IE when destroyed before finished loading - container.innerHTML = ''; - removeEvent(container); - if (parentNode) { - discardElement(container); - } - - // IE6 leak - container = null; - } - - // memory and CPU leak - clearInterval(tooltipInterval); - - // clean it all up - for (i in chart) { - delete chart[i]; - } - - chart = null; - } - /** - * Prepare for first rendering after all data are loaded - */ - function firstRender() { - - // VML namespaces can't be added until after complete. Listening - // for Perini's doScroll hack is not enough. - var ONREADYSTATECHANGE = 'onreadystatechange', - COMPLETE = 'complete'; - // Note: in spite of JSLint's complaints, win == win.top is required - /*jslint eqeq: true*/ - if (!hasSVG && win == win.top && doc.readyState !== COMPLETE) { - /*jslint eqeq: false*/ - doc.attachEvent(ONREADYSTATECHANGE, function () { - doc.detachEvent(ONREADYSTATECHANGE, firstRender); - if (doc.readyState === COMPLETE) { - firstRender(); - } - }); - return; - } - - // create the container - getContainer(); - - resetMargins(); - setChartSize(); - - // Initialize the series - each(options.series || [], function (serieOptions) { - initSeries(serieOptions); - }); - - // Set the common inversion and transformation for inverted series after initSeries - chart.inverted = inverted = pick(inverted, options.chart.inverted); - - - getAxes(); - - - chart.render = render; - - // depends on inverted and on margins being set - chart.tracker = tracker = new MouseTracker(options.tooltip); - - //globalAnimation = false; - render(); - - fireEvent(chart, 'load'); - - //globalAnimation = true; - - // run callbacks - if (callback) { - callback.apply(chart, [chart]); - } - each(chart.callbacks, function (fn) { - fn.apply(chart, [chart]); - }); - } - - // Run chart - - - // Destroy the chart and free up memory. - addEvent(win, 'unload', destroy); - - // Set up auto resize - if (optionsChart.reflow !== false) { - addEvent(chart, 'load', initReflow); - } - - // Chart event handlers - if (chartEvents) { - for (eventType in chartEvents) { - addEvent(chart, eventType, chartEvents[eventType]); - } - } - - - chart.options = options; - chart.series = series; - - - - - - // Expose methods and variables - chart.addSeries = addSeries; - chart.animation = pick(optionsChart.animation, true); - chart.destroy = destroy; - chart.get = get; - chart.getSelectedPoints = getSelectedPoints; - chart.getSelectedSeries = getSelectedSeries; - chart.hideLoading = hideLoading; - chart.isInsidePlot = isInsidePlot; - chart.redraw = redraw; - chart.setSize = resize; - chart.setTitle = setTitle; - chart.showLoading = showLoading; - chart.pointCount = 0; - chart.counters = new ChartCounters(); - /* - if ($) $(function() { - $container = $('#container'); - var origChartWidth, - origChartHeight; - if ($container) { - $('') - .insertBefore($container) - .click(function() { - if (origChartWidth === UNDEFINED) { - origChartWidth = chartWidth; - origChartHeight = chartHeight; - } - chart.resize(chartWidth *= 1.1, chartHeight *= 1.1); - }); - $('') - .insertBefore($container) - .click(function() { - if (origChartWidth === UNDEFINED) { - origChartWidth = chartWidth; - origChartHeight = chartHeight; - } - chart.resize(chartWidth *= 0.9, chartHeight *= 0.9); - }); - $('') - .insertBefore($container) - .click(function() { - if (origChartWidth === UNDEFINED) { - origChartWidth = chartWidth; - origChartHeight = chartHeight; - } - chart.resize(origChartWidth, origChartHeight); - }); - } - }) - */ - - - - - firstRender(); - - -} // end Chart - -// Hook for exporting module -Chart.prototype.callbacks = []; -/** - * The Point object and prototype. Inheritable and used as base for PiePoint - */ -var Point = function () {}; -Point.prototype = { - - /** - * Initialize the point - * @param {Object} series The series object containing this point - * @param {Object} options The data in either number, array or object format - */ - init: function (series, options) { - var point = this, - counters = series.chart.counters, - defaultColors; - point.series = series; - point.applyOptions(options); - point.pointAttr = {}; - - if (series.options.colorByPoint) { - defaultColors = series.chart.options.colors; - if (!point.options) { - point.options = {}; - } - point.color = point.options.color = point.color || defaultColors[counters.color++]; - - // loop back to zero - counters.wrapColor(defaultColors.length); - } - - series.chart.pointCount++; - return point; - }, - /** - * Apply the options containing the x and y data and possible some extra properties. - * This is called on point init or from point.update. - * - * @param {Object} options - */ - applyOptions: function (options) { - var point = this, - series = point.series; - - point.config = options; - - // onedimensional array input - if (isNumber(options) || options === null) { - point.y = options; - } else if (isObject(options) && !isNumber(options.length)) { // object input - // copy options directly to point - extend(point, options); - point.options = options; - } else if (isString(options[0])) { // categorized data with name in first position - point.name = options[0]; - point.y = options[1]; - } else if (isNumber(options[0])) { // two-dimentional array - point.x = options[0]; - point.y = options[1]; - } - - /* - * If no x is set by now, get auto incremented value. All points must have an - * x value, however the y value can be null to create a gap in the series - */ - if (point.x === UNDEFINED) { - point.x = series.autoIncrement(); - } - - }, - - /** - * Destroy a point to clear memory. Its reference still stays in series.data. - */ - destroy: function () { - var point = this, - series = point.series, - hoverPoints = series.chart.hoverPoints, - prop; - - series.chart.pointCount--; - - if (hoverPoints) { - point.setState(); - erase(hoverPoints, point); - } - if (point === series.chart.hoverPoint) { - point.onMouseOut(); - } - - - // remove all events - removeEvent(point); - - each(['graphic', 'tracker', 'group', 'dataLabel', 'connector', 'shadowGroup'], function (prop) { - if (point[prop]) { - point[prop].destroy(); - } - }); - - if (point.legendItem) { // pies have legend items - point.series.chart.legend.destroyItem(point); - } - - for (prop in point) { - point[prop] = null; - } - - - }, - - /** - * Return the configuration hash needed for the data label and tooltip formatters - */ - getLabelConfig: function () { - var point = this; - return { - x: point.category, - y: point.y, - series: point.series, - point: point, - percentage: point.percentage, - total: point.total || point.stackTotal - }; - }, - - /** - * Toggle the selection status of a point - * @param {Boolean} selected Whether to select or unselect the point. - * @param {Boolean} accumulate Whether to add to the previous selection. By default, - * this happens if the control key (Cmd on Mac) was pressed during clicking. - */ - select: function (selected, accumulate) { - var point = this, - series = point.series, - chart = series.chart; - - selected = pick(selected, !point.selected); - - // fire the event with the defalut handler - point.firePointEvent(selected ? 'select' : 'unselect', { accumulate: accumulate }, function () { - point.selected = selected; - point.setState(selected && SELECT_STATE); - - // unselect all other points unless Ctrl or Cmd + click - if (!accumulate) { - each(chart.getSelectedPoints(), function (loopPoint) { - if (loopPoint.selected && loopPoint !== point) { - loopPoint.selected = false; - loopPoint.setState(NORMAL_STATE); - loopPoint.firePointEvent('unselect'); - } - }); - } - }); - }, - - onMouseOver: function () { - var point = this, - chart = point.series.chart, - tooltip = chart.tooltip, - hoverPoint = chart.hoverPoint; - - // set normal state to previous series - if (hoverPoint && hoverPoint !== point) { - hoverPoint.onMouseOut(); - } - - // trigger the event - point.firePointEvent('mouseOver'); - - // update the tooltip - if (tooltip && !tooltip.shared) { - tooltip.refresh(point); - } - - // hover this - point.setState(HOVER_STATE); - chart.hoverPoint = point; - }, - - onMouseOut: function () { - var point = this; - point.firePointEvent('mouseOut'); - - point.setState(); - point.series.chart.hoverPoint = null; - }, - - /** - * Extendable method for formatting each point's tooltip line - * - * @param {Boolean} useHeader Whether a common header is used for multiple series in the tooltip - * - * @return {String} A string to be concatenated in to the common tooltip text - */ - tooltipFormatter: function (useHeader) { - var point = this, - series = point.series; - - return ['', (point.name || series.name), ': ', - (!useHeader ? ('x = ' + (point.name || point.x) + ', ') : ''), - '', (!useHeader ? 'y = ' : ''), point.y, ''].join(''); - - }, - - /** - * Update the point with new options (typically x/y data) and optionally redraw the series. - * - * @param {Object} options Point options as defined in the series.data array - * @param {Boolean} redraw Whether to redraw the chart or wait for an explicit call - * @param {Boolean|Object} animation Whether to apply animation, and optionally animation - * configuration - * - */ - update: function (options, redraw, animation) { - var point = this, - series = point.series, - graphic = point.graphic, - chart = series.chart; - - redraw = pick(redraw, true); - - // fire the event with a default handler of doing the update - point.firePointEvent('update', { options: options }, function () { - - point.applyOptions(options); - - // update visuals - if (isObject(options)) { - series.getAttribs(); - if (graphic) { - graphic.attr(point.pointAttr[series.state]); - } - } - - // redraw - series.isDirty = true; - if (redraw) { - chart.redraw(animation); - } - }); - }, - - /** - * Remove a point and optionally redraw the series and if necessary the axes - * @param {Boolean} redraw Whether to redraw the chart or wait for an explicit call - * @param {Boolean|Object} animation Whether to apply animation, and optionally animation - * configuration - */ - remove: function (redraw, animation) { - var point = this, - series = point.series, - chart = series.chart, - data = series.data; - - setAnimation(animation, chart); - redraw = pick(redraw, true); - - // fire the event with a default handler of removing the point - point.firePointEvent('remove', null, function () { - - erase(data, point); - - point.destroy(); - - - // redraw - series.isDirty = true; - if (redraw) { - chart.redraw(); - } - }); - - - }, - - /** - * Fire an event on the Point object. Must not be renamed to fireEvent, as this - * causes a name clash in MooTools - * @param {String} eventType - * @param {Object} eventArgs Additional event arguments - * @param {Function} defaultFunction Default event handler - */ - firePointEvent: function (eventType, eventArgs, defaultFunction) { - var point = this, - series = this.series, - seriesOptions = series.options; - - // load event handlers on demand to save time on mouseover/out - if (seriesOptions.point.events[eventType] || - (point.options && point.options.events && point.options.events[eventType])) { - this.importEvents(); - } - - // add default handler if in selection mode - if (eventType === 'click' && seriesOptions.allowPointSelect) { - defaultFunction = function (event) { - // Control key is for Windows, meta (= Cmd key) for Mac, Shift for Opera - point.select(null, event.ctrlKey || event.metaKey || event.shiftKey); - }; - } - - fireEvent(this, eventType, eventArgs, defaultFunction); - }, - /** - * Import events from the series' and point's options. Only do it on - * demand, to save processing time on hovering. - */ - importEvents: function () { - if (!this.hasImportedEvents) { - var point = this, - options = merge(point.series.options.point, point.options), - events = options.events, - eventType; - - point.events = events; - - for (eventType in events) { - addEvent(point, eventType, events[eventType]); - } - this.hasImportedEvents = true; - - } - }, - - /** - * Set the point's state - * @param {String} state - */ - setState: function (state) { - var point = this, - series = point.series, - stateOptions = series.options.states, - markerOptions = defaultPlotOptions[series.type].marker && series.options.marker, - normalDisabled = markerOptions && !markerOptions.enabled, - markerStateOptions = markerOptions && markerOptions.states[state], - stateDisabled = markerStateOptions && markerStateOptions.enabled === false, - stateMarkerGraphic = series.stateMarkerGraphic, - chart = series.chart, - pointAttr = point.pointAttr; - - state = state || NORMAL_STATE; // empty string - - if ( - // already has this state - state === point.state || - // selected points don't respond to hover - (point.selected && state !== SELECT_STATE) || - // series' state options is disabled - (stateOptions[state] && stateOptions[state].enabled === false) || - // point marker's state options is disabled - (state && (stateDisabled || (normalDisabled && !markerStateOptions.enabled))) - - ) { - return; - } - - // apply hover styles to the existing point - if (point.graphic) { - point.graphic.attr(pointAttr[state]); - } else { - // if a graphic is not applied to each point in the normal state, create a shared - // graphic for the hover state - if (state) { - if (!stateMarkerGraphic) { - series.stateMarkerGraphic = stateMarkerGraphic = chart.renderer.circle( - 0, - 0, - pointAttr[state].r - ) - .attr(pointAttr[state]) - .add(series.group); - } - - stateMarkerGraphic.translate( - point.plotX, - point.plotY - ); - } - - if (stateMarkerGraphic) { - stateMarkerGraphic[state ? 'show' : 'hide'](); - } - } - - point.state = state; - } -}; - -/** - * The base function which all other series types inherit from - * @param {Object} chart - * @param {Object} options - */ -var Series = function () {}; - -Series.prototype = { - - isCartesian: true, - type: 'line', - pointClass: Point, - pointAttrToOptions: { // mapping between SVG attributes and the corresponding options - stroke: 'lineColor', - 'stroke-width': 'lineWidth', - fill: 'fillColor', - r: 'radius' - }, - init: function (chart, options) { - var series = this, - eventType, - events, - //pointEvent, - index = chart.series.length; - - series.chart = chart; - options = series.setOptions(options); // merge with plotOptions - - // set some variables - extend(series, { - index: index, - options: options, - name: options.name || 'Series ' + (index + 1), - state: NORMAL_STATE, - pointAttr: {}, - visible: options.visible !== false, // true by default - selected: options.selected === true // false by default - }); - - // register event listeners - events = options.events; - for (eventType in events) { - addEvent(series, eventType, events[eventType]); - } - if ( - (events && events.click) || - (options.point && options.point.events && options.point.events.click) || - options.allowPointSelect - ) { - chart.runTrackerClick = true; - } - - series.getColor(); - series.getSymbol(); - - - // set the data - series.setData(options.data, false); - - }, - - - /** - * Return an auto incremented x value based on the pointStart and pointInterval options. - * This is only used if an x value is not given for the point that calls autoIncrement. - */ - autoIncrement: function () { - var series = this, - options = series.options, - xIncrement = series.xIncrement; - - xIncrement = pick(xIncrement, options.pointStart, 0); - - series.pointInterval = pick(series.pointInterval, options.pointInterval, 1); - - series.xIncrement = xIncrement + series.pointInterval; - return xIncrement; - }, - - /** - * Sort the data and remove duplicates - */ - cleanData: function () { - var series = this, - chart = series.chart, - data = series.data, - closestPoints, - smallestInterval, - chartSmallestInterval = chart.smallestInterval, - interval, - i; - - // sort the data points - stableSort(data, function (a, b) { - return (a.x - b.x); - }); - - // remove points with equal x values - // record the closest distance for calculation of column widths - /*for (i = data.length - 1; i >= 0; i--) { - if (data[i - 1]) { - if (data[i - 1].x == data[i].x) { - data[i - 1].destroy(); - data.splice(i - 1, 1); // remove the duplicate - } - } - }*/ - - // connect nulls - if (series.options.connectNulls) { - for (i = data.length - 1; i >= 0; i--) { - if (data[i].y === null && data[i - 1] && data[i + 1]) { - data.splice(i, 1); - } - } - } - - // find the closes pair of points - for (i = data.length - 1; i >= 0; i--) { - if (data[i - 1]) { - interval = data[i].x - data[i - 1].x; - if (interval > 0 && (smallestInterval === UNDEFINED || interval < smallestInterval)) { - smallestInterval = interval; - closestPoints = i; - } - } - } - - if (chartSmallestInterval === UNDEFINED || smallestInterval < chartSmallestInterval) { - chart.smallestInterval = smallestInterval; - } - series.closestPoints = closestPoints; - }, - - /** - * Divide the series data into segments divided by null values. Also sort - * the data points and delete duplicate values. - */ - getSegments: function () { - var lastNull = -1, - segments = [], - data = this.data; - - // create the segments - each(data, function (point, i) { - if (point.y === null) { - if (i > lastNull + 1) { - segments.push(data.slice(lastNull + 1, i)); - } - lastNull = i; - } else if (i === data.length - 1) { // last value - segments.push(data.slice(lastNull + 1, i + 1)); - } - }); - this.segments = segments; - - - }, - /** - * Set the series options by merging from the options tree - * @param {Object} itemOptions - */ - setOptions: function (itemOptions) { - var plotOptions = this.chart.options.plotOptions, - options = merge( - plotOptions[this.type], - plotOptions.series, - itemOptions - ); - - return options; - - }, - /** - * Get the series' color - */ - getColor: function () { - var defaultColors = this.chart.options.colors, - counters = this.chart.counters; - this.color = this.options.color || defaultColors[counters.color++] || '#0000ff'; - counters.wrapColor(defaultColors.length); - }, - /** - * Get the series' symbol - */ - getSymbol: function () { - var defaultSymbols = this.chart.options.symbols, - counters = this.chart.counters; - this.symbol = this.options.marker.symbol || defaultSymbols[counters.symbol++]; - counters.wrapSymbol(defaultSymbols.length); - }, - - /** - * Add a point dynamically after chart load time - * @param {Object} options Point options as given in series.data - * @param {Boolean} redraw Whether to redraw the chart or wait for an explicit call - * @param {Boolean} shift If shift is true, a point is shifted off the start - * of the series as one is appended to the end. - * @param {Boolean|Object} animation Whether to apply animation, and optionally animation - * configuration - */ - addPoint: function (options, redraw, shift, animation) { - var series = this, - data = series.data, - graph = series.graph, - area = series.area, - chart = series.chart, - point = (new series.pointClass()).init(series, options); - - setAnimation(animation, chart); - - if (graph && shift) { // make graph animate sideways - graph.shift = shift; - } - if (area) { - area.shift = shift; - area.isArea = true; - } - - redraw = pick(redraw, true); - - data.push(point); - if (shift) { - data[0].remove(false); - } - series.getAttribs(); - - - // redraw - series.isDirty = true; - if (redraw) { - chart.redraw(); - } - }, - - /** - * Replace the series data with a new set of data - * @param {Object} data - * @param {Object} redraw - */ - setData: function (data, redraw) { - var series = this, - oldData = series.data, - initialColor = series.initialColor, - chart = series.chart, - i = (oldData && oldData.length) || 0; - - series.xIncrement = null; // reset for new data - if (defined(initialColor)) { // reset colors for pie - chart.counters.color = initialColor; - } - - data = map(splat(data || []), function (pointOptions) { - return (new series.pointClass()).init(series, pointOptions); - }); - - // destroy old points - while (i--) { - oldData[i].destroy(); - } - - // set the data - series.data = data; - - series.cleanData(); - series.getSegments(); - - - // cache attributes for shapes - series.getAttribs(); - - // redraw - series.isDirty = true; - chart.isDirtyBox = true; - if (pick(redraw, true)) { - chart.redraw(false); - } - }, - - /** - * Remove a series and optionally redraw the chart - * - * @param {Boolean} redraw Whether to redraw the chart or wait for an explicit call - * @param {Boolean|Object} animation Whether to apply animation, and optionally animation - * configuration - */ - - remove: function (redraw, animation) { - var series = this, - chart = series.chart; - redraw = pick(redraw, true); - - if (!series.isRemoving) { /* prevent triggering native event in jQuery - (calling the remove function from the remove event) */ - series.isRemoving = true; - - // fire the event with a default handler of removing the point - fireEvent(series, 'remove', null, function () { - - - // destroy elements - series.destroy(); - - - // redraw - chart.isDirtyLegend = chart.isDirtyBox = true; - if (redraw) { - chart.redraw(animation); - } - }); - - } - series.isRemoving = false; - }, - - /** - * Translate data points from raw data values to chart specific positioning data - * needed later in drawPoints, drawGraph and drawTracker. - */ - translate: function () { - var series = this, - chart = series.chart, - stacking = series.options.stacking, - categories = series.xAxis.categories, - yAxis = series.yAxis, - data = series.data, - i = data.length; - - // do the translation - while (i--) { - var point = data[i], - xValue = point.x, - yValue = point.y, - yBottom = point.low, - stack = yAxis.stacks[(yValue < 0 ? '-' : '') + series.stackKey], - pointStack, - pointStackTotal; - point.plotX = series.xAxis.translate(xValue); - - // calculate the bottom y value for stacked series - if (stacking && series.visible && stack && stack[xValue]) { - pointStack = stack[xValue]; - pointStackTotal = pointStack.total; - pointStack.cum = yBottom = pointStack.cum - yValue; // start from top - yValue = yBottom + yValue; - - if (stacking === 'percent') { - yBottom = pointStackTotal ? yBottom * 100 / pointStackTotal : 0; - yValue = pointStackTotal ? yValue * 100 / pointStackTotal : 0; - } - - point.percentage = pointStackTotal ? point.y * 100 / pointStackTotal : 0; - point.stackTotal = pointStackTotal; - } - - if (defined(yBottom)) { - point.yBottom = yAxis.translate(yBottom, 0, 1, 0, 1); - } - - // set the y value - if (yValue !== null) { - point.plotY = yAxis.translate(yValue, 0, 1, 0, 1); - } - - // set client related positions for mouse tracking - point.clientX = chart.inverted ? - chart.plotHeight - point.plotX : - point.plotX; // for mouse tracking - - // some API data - point.category = categories && categories[point.x] !== UNDEFINED ? - categories[point.x] : point.x; - - } - }, - /** - * Memoize tooltip texts and positions - */ - setTooltipPoints: function (renew) { - var series = this, - chart = series.chart, - inverted = chart.inverted, - data = [], - plotSize = mathRound((inverted ? chart.plotTop : chart.plotLeft) + chart.plotSizeX), - low, - high, - tooltipPoints = []; // a lookup array for each pixel in the x dimension - - // renew - if (renew) { - series.tooltipPoints = null; - } - - // concat segments to overcome null values - each(series.segments, function (segment) { - data = data.concat(segment); - }); - - // loop the concatenated data and apply each point to all the closest - // pixel positions - if (series.xAxis && series.xAxis.reversed) { - data = data.reverse();//reverseArray(data); - } - - each(data, function (point, i) { - - low = data[i - 1] ? data[i - 1]._high + 1 : 0; - high = point._high = data[i + 1] ? - (mathFloor((point.plotX + (data[i + 1] ? data[i + 1].plotX : plotSize)) / 2)) : - plotSize; - - while (low <= high) { - tooltipPoints[inverted ? plotSize - low++ : low++] = point; - } - }); - series.tooltipPoints = tooltipPoints; - }, - - - - - /** - * Series mouse over handler - */ - onMouseOver: function () { - var series = this, - chart = series.chart, - hoverSeries = chart.hoverSeries; - - if (!hasTouch && chart.mouseIsDown) { - return; - } - - // set normal state to previous series - if (hoverSeries && hoverSeries !== series) { - hoverSeries.onMouseOut(); - } - - // trigger the event, but to save processing time, - // only if defined - if (series.options.events.mouseOver) { - fireEvent(series, 'mouseOver'); - } - - - // bring to front - // Todo: optimize. This is one of two operations slowing down the tooltip in Firefox. - // Can the tracking be done otherwise? - if (series.tracker) { - series.tracker.toFront(); - } - - // hover this - series.setState(HOVER_STATE); - chart.hoverSeries = series; - }, - - /** - * Series mouse out handler - */ - onMouseOut: function () { - // trigger the event only if listeners exist - var series = this, - options = series.options, - chart = series.chart, - tooltip = chart.tooltip, - hoverPoint = chart.hoverPoint; - - // trigger mouse out on the point, which must be in this series - if (hoverPoint) { - hoverPoint.onMouseOut(); - } - - // fire the mouse out event - if (series && options.events.mouseOut) { - fireEvent(series, 'mouseOut'); - } - - - // hide the tooltip - if (tooltip && !options.stickyTracking) { - tooltip.hide(); - } - - // set normal state - series.setState(); - chart.hoverSeries = null; - }, - - /** - * Animate in the series - */ - animate: function (init) { - var series = this, - chart = series.chart, - clipRect = series.clipRect, - animation = series.options.animation; - - if (animation && !isObject(animation)) { - animation = {}; - } - - if (init) { // initialize the animation - if (!clipRect.isAnimating) { // apply it only for one of the series - clipRect.attr('width', 0); - clipRect.isAnimating = true; - } - - } else { // run the animation - clipRect.animate({ - width: chart.plotSizeX - }, animation); - - // delete this function to allow it only once - this.animate = null; - } - }, - - - /** - * Draw the markers - */ - drawPoints: function () { - var series = this, - pointAttr, - data = series.data, - chart = series.chart, - plotX, - plotY, - i, - point, - radius, - graphic; - - if (series.options.marker.enabled) { - i = data.length; - while (i--) { - point = data[i]; - plotX = point.plotX; - plotY = point.plotY; - graphic = point.graphic; - - // only draw the point if y is defined - if (plotY !== UNDEFINED && !isNaN(plotY)) { - - /* && removed this code because points stayed after zoom - point.plotX >= 0 && point.plotX <= chart.plotSizeX && - point.plotY >= 0 && point.plotY <= chart.plotSizeY*/ - - // shortcuts - pointAttr = point.pointAttr[point.selected ? SELECT_STATE : NORMAL_STATE]; - radius = pointAttr.r; - - if (graphic) { // update - graphic.animate({ - x: plotX, - y: plotY, - r: radius - }); - } else { - point.graphic = chart.renderer.symbol( - pick(point.marker && point.marker.symbol, series.symbol), - plotX, - plotY, - radius - ) - .attr(pointAttr) - .add(series.group); - } - } - } - } - - }, - - /** - * Convert state properties from API naming conventions to SVG attributes - * - * @param {Object} options API options object - * @param {Object} base1 SVG attribute object to inherit from - * @param {Object} base2 Second level SVG attribute object to inherit from - */ - convertAttribs: function (options, base1, base2, base3) { - var conversion = this.pointAttrToOptions, - attr, - option, - obj = {}; - - options = options || {}; - base1 = base1 || {}; - base2 = base2 || {}; - base3 = base3 || {}; - - for (attr in conversion) { - option = conversion[attr]; - obj[attr] = pick(options[option], base1[attr], base2[attr], base3[attr]); - } - return obj; - }, - - /** - * Get the state attributes. Each series type has its own set of attributes - * that are allowed to change on a point's state change. Series wide attributes are stored for - * all series, and additionally point specific attributes are stored for all - * points with individual marker options. If such options are not defined for the point, - * a reference to the series wide attributes is stored in point.pointAttr. - */ - getAttribs: function () { - var series = this, - normalOptions = defaultPlotOptions[series.type].marker ? series.options.marker : series.options, - stateOptions = normalOptions.states, - stateOptionsHover = stateOptions[HOVER_STATE], - pointStateOptionsHover, - seriesColor = series.color, - normalDefaults = { - stroke: seriesColor, - fill: seriesColor - }, - data = series.data, - i, - point, - seriesPointAttr = [], - pointAttr, - pointAttrToOptions = series.pointAttrToOptions, - hasPointSpecificOptions, - key; - - // series type specific modifications - if (series.options.marker) { // line, spline, area, areaspline, scatter - - // if no hover radius is given, default to normal radius + 2 - stateOptionsHover.radius = stateOptionsHover.radius || normalOptions.radius + 2; - stateOptionsHover.lineWidth = stateOptionsHover.lineWidth || normalOptions.lineWidth + 1; - - } else { // column, bar, pie - - // if no hover color is given, brighten the normal color - stateOptionsHover.color = stateOptionsHover.color || - Color(stateOptionsHover.color || seriesColor) - .brighten(stateOptionsHover.brightness).get(); - } - - // general point attributes for the series normal state - seriesPointAttr[NORMAL_STATE] = series.convertAttribs(normalOptions, normalDefaults); - - // HOVER_STATE and SELECT_STATE states inherit from normal state except the default radius - each([HOVER_STATE, SELECT_STATE], function (state) { - seriesPointAttr[state] = - series.convertAttribs(stateOptions[state], seriesPointAttr[NORMAL_STATE]); - }); - - // set it - series.pointAttr = seriesPointAttr; - - - // Generate the point-specific attribute collections if specific point - // options are given. If not, create a referance to the series wide point - // attributes - i = data.length; - while (i--) { - point = data[i]; - normalOptions = (point.options && point.options.marker) || point.options; - if (normalOptions && normalOptions.enabled === false) { - normalOptions.radius = 0; - } - hasPointSpecificOptions = false; - - // check if the point has specific visual options - if (point.options) { - for (key in pointAttrToOptions) { - if (defined(normalOptions[pointAttrToOptions[key]])) { - hasPointSpecificOptions = true; - } - } - } - - - - // a specific marker config object is defined for the individual point: - // create it's own attribute collection - if (hasPointSpecificOptions) { - - pointAttr = []; - stateOptions = normalOptions.states || {}; // reassign for individual point - pointStateOptionsHover = stateOptions[HOVER_STATE] = stateOptions[HOVER_STATE] || {}; - - // if no hover color is given, brighten the normal color - if (!series.options.marker) { // column, bar, point - pointStateOptionsHover.color = - Color(pointStateOptionsHover.color || point.options.color) - .brighten(pointStateOptionsHover.brightness || - stateOptionsHover.brightness).get(); - - } - - // normal point state inherits series wide normal state - pointAttr[NORMAL_STATE] = series.convertAttribs(normalOptions, seriesPointAttr[NORMAL_STATE]); - - // inherit from point normal and series hover - pointAttr[HOVER_STATE] = series.convertAttribs( - stateOptions[HOVER_STATE], - seriesPointAttr[HOVER_STATE], - pointAttr[NORMAL_STATE] - ); - // inherit from point normal and series hover - pointAttr[SELECT_STATE] = series.convertAttribs( - stateOptions[SELECT_STATE], - seriesPointAttr[SELECT_STATE], - pointAttr[NORMAL_STATE] - ); - - - - // no marker config object is created: copy a reference to the series-wide - // attribute collection - } else { - pointAttr = seriesPointAttr; - } - - point.pointAttr = pointAttr; - - } - - }, - - - /** - * Clear DOM objects and free up memory - */ - destroy: function () { - var series = this, - chart = series.chart, - seriesClipRect = series.clipRect, - //chartSeries = series.chart.series, - issue134 = /\/5[0-9\.]+ (Safari|Mobile)\//.test(userAgent), // todo: update when Safari bug is fixed - destroy, - prop; - - // add event hook - fireEvent(series, 'destroy'); - - // remove all events - removeEvent(series); - - // remove legend items - if (series.legendItem) { - series.chart.legend.destroyItem(series); - } - - // destroy all points with their elements - each(series.data, function (point) { - point.destroy(); - }); - - // If this series clipRect is not the global one (which is removed on chart.destroy) we - // destroy it here. - if (seriesClipRect && seriesClipRect !== chart.clipRect) { - series.clipRect = seriesClipRect.destroy(); - } - - // destroy all SVGElements associated to the series - each(['area', 'graph', 'dataLabelsGroup', 'group', 'tracker'], function (prop) { - if (series[prop]) { - - // issue 134 workaround - destroy = issue134 && prop === 'group' ? - 'hide' : - 'destroy'; - - series[prop][destroy](); - } - }); - - // remove from hoverSeries - if (chart.hoverSeries === series) { - chart.hoverSeries = null; - } - erase(chart.series, series); - - // clear all members - for (prop in series) { - delete series[prop]; - } - }, - - /** - * Draw the data labels - */ - drawDataLabels: function () { - if (this.options.dataLabels.enabled) { - var series = this, - x, - y, - data = series.data, - seriesOptions = series.options, - options = seriesOptions.dataLabels, - str, - dataLabelsGroup = series.dataLabelsGroup, - chart = series.chart, - renderer = chart.renderer, - inverted = chart.inverted, - seriesType = series.type, - color, - stacking = seriesOptions.stacking, - isBarLike = seriesType === 'column' || seriesType === 'bar', - vAlignIsNull = options.verticalAlign === null, - yIsNull = options.y === null; - - if (isBarLike) { - if (stacking) { - // In stacked series the default label placement is inside the bars - if (vAlignIsNull) { - options = merge(options, {verticalAlign: 'middle'}); - } - - // If no y delta is specified, try to create a good default - if (yIsNull) { - options = merge(options, {y: {top: 14, middle: 4, bottom: -6}[options.verticalAlign]}); - } - } else { - // In non stacked series the default label placement is on top of the bars - if (vAlignIsNull) { - options = merge(options, {verticalAlign: 'top'}); - } - } - } - - // create a separate group for the data labels to avoid rotation - if (!dataLabelsGroup) { - dataLabelsGroup = series.dataLabelsGroup = - renderer.g('data-labels') - .attr({ - visibility: series.visible ? VISIBLE : HIDDEN, - zIndex: 6 - }) - .translate(chart.plotLeft, chart.plotTop) - .add(); - } else { - dataLabelsGroup.translate(chart.plotLeft, chart.plotTop); - } - - // determine the color - color = options.color; - if (color === 'auto') { // 1.0 backwards compatibility - color = null; - } - options.style.color = pick(color, series.color, 'black'); - - // make the labels for each point - each(data, function (point) { - var barX = point.barX, - plotX = (barX && barX + point.barW / 2) || point.plotX || -999, - plotY = pick(point.plotY, -999), - dataLabel = point.dataLabel, - align = options.align, - individualYDelta = yIsNull ? (point.y >= 0 ? -6 : 12) : options.y; - - // get the string - str = options.formatter.call(point.getLabelConfig()); - x = (inverted ? chart.plotWidth - plotY : plotX) + options.x; - y = (inverted ? chart.plotHeight - plotX : plotY) + individualYDelta; - - // in columns, align the string to the column - if (seriesType === 'column') { - x += { left: -1, right: 1 }[align] * point.barW / 2 || 0; - } - - if (inverted && point.y < 0) { - align = 'right'; - x -= 10; - } - - // update existing label - if (dataLabel) { - // vertically centered - if (inverted && !options.y) { - y = y + pInt(dataLabel.styles.lineHeight) * 0.9 - dataLabel.getBBox().height / 2; - } - dataLabel - .attr({ - text: str - }).animate({ - x: x, - y: y - }); - // create new label - } else if (defined(str)) { - dataLabel = point.dataLabel = renderer.text( - str, - x, - y - ) - .attr({ - align: align, - rotation: options.rotation, - zIndex: 1 - }) - .css(options.style) - .add(dataLabelsGroup); - // vertically centered - if (inverted && !options.y) { - dataLabel.attr({ - y: y + pInt(dataLabel.styles.lineHeight) * 0.9 - dataLabel.getBBox().height / 2 - }); - } - } - - - /*if (series.isCartesian) { - dataLabel[chart.isInsidePlot(plotX, plotY) ? 'show' : 'hide'](); - }*/ - - if (isBarLike && seriesOptions.stacking && dataLabel) { - var barY = point.barY, - barW = point.barW, - barH = point.barH; - - dataLabel.align(options, null, - { - x: inverted ? chart.plotWidth - barY - barH : barX, - y: inverted ? chart.plotHeight - barX - barW : barY, - width: inverted ? barH : barW, - height: inverted ? barW : barH - }); - } - }); - } - }, - - /** - * Draw the actual graph - */ - drawGraph: function () { - var series = this, - options = series.options, - chart = series.chart, - graph = series.graph, - graphPath = [], - fillColor, - area = series.area, - group = series.group, - color = options.lineColor || series.color, - lineWidth = options.lineWidth, - dashStyle = options.dashStyle, - segmentPath, - renderer = chart.renderer, - translatedThreshold = series.yAxis.getThreshold(options.threshold || 0), - useArea = /^area/.test(series.type), - singlePoints = [], // used in drawTracker - areaPath = [], - attribs; - - - // divide into segments and build graph and area paths - each(series.segments, function (segment) { - segmentPath = []; - - // build the segment line - each(segment, function (point, i) { - - if (series.getPointSpline) { // generate the spline as defined in the SplineSeries object - segmentPath.push.apply(segmentPath, series.getPointSpline(segment, point, i)); - - } else { - - // moveTo or lineTo - segmentPath.push(i ? L : M); - - // step line? - if (i && options.step) { - var lastPoint = segment[i - 1]; - segmentPath.push( - point.plotX, - lastPoint.plotY - ); - } - - // normal line to next point - segmentPath.push( - point.plotX, - point.plotY - ); - } - }); - - // add the segment to the graph, or a single point for tracking - if (segment.length > 1) { - graphPath = graphPath.concat(segmentPath); - } else { - singlePoints.push(segment[0]); - } - - // build the area - if (useArea) { - var areaSegmentPath = [], - i, - segLength = segmentPath.length; - for (i = 0; i < segLength; i++) { - areaSegmentPath.push(segmentPath[i]); - } - if (segLength === 3) { // for animation from 1 to two points - areaSegmentPath.push(L, segmentPath[1], segmentPath[2]); - } - if (options.stacking && series.type !== 'areaspline') { - // follow stack back. Todo: implement areaspline - for (i = segment.length - 1; i >= 0; i--) { - areaSegmentPath.push(segment[i].plotX, segment[i].yBottom); - } - - } else { // follow zero line back - areaSegmentPath.push( - L, - segment[segment.length - 1].plotX, - translatedThreshold, - L, - segment[0].plotX, - translatedThreshold - ); - } - areaPath = areaPath.concat(areaSegmentPath); - } - }); - - // used in drawTracker: - series.graphPath = graphPath; - series.singlePoints = singlePoints; - - // draw the area if area series or areaspline - if (useArea) { - fillColor = pick( - options.fillColor, - Color(series.color).setOpacity(options.fillOpacity || 0.75).get() - ); - if (area) { - area.animate({ d: areaPath }); - - } else { - // draw the area - series.area = series.chart.renderer.path(areaPath) - .attr({ - fill: fillColor - }).add(group); - } - } - - // draw the graph - if (graph) { - stop(graph); // cancel running animations, #459 - graph.animate({ d: graphPath }); - - } else { - if (lineWidth) { - attribs = { - 'stroke': color, - 'stroke-width': lineWidth - }; - if (dashStyle) { - attribs.dashstyle = dashStyle; - } - - series.graph = renderer.path(graphPath) - .attr(attribs).add(group).shadow(options.shadow); - } - } - }, - - - /** - * Render the graph and markers - */ - render: function () { - var series = this, - chart = series.chart, - group, - setInvert, - options = series.options, - animation = options.animation, - doAnimation = animation && series.animate, - duration = doAnimation ? (animation && animation.duration) || 500 : 0, - clipRect = series.clipRect, - renderer = chart.renderer; - - - // Add plot area clipping rectangle. If this is before chart.hasRendered, - // create one shared clipRect. - if (!clipRect) { - clipRect = series.clipRect = !chart.hasRendered && chart.clipRect ? - chart.clipRect : - renderer.clipRect(0, 0, chart.plotSizeX, chart.plotSizeY); - if (!chart.clipRect) { - chart.clipRect = clipRect; - } - } - - - // the group - if (!series.group) { - group = series.group = renderer.g('series'); - - if (chart.inverted) { - setInvert = function () { - group.attr({ - width: chart.plotWidth, - height: chart.plotHeight - }).invert(); - }; - - setInvert(); // do it now - addEvent(chart, 'resize', setInvert); // do it on resize - addEvent(series, 'destroy', function () { - removeEvent(chart, 'resize', setInvert); - }); - } - group.clip(series.clipRect) - .attr({ - visibility: series.visible ? VISIBLE : HIDDEN, - zIndex: options.zIndex - }) - .translate(chart.plotLeft, chart.plotTop) - .add(chart.seriesGroup); - } - - series.drawDataLabels(); - - // initiate the animation - if (doAnimation) { - series.animate(true); - } - - // cache attributes for shapes - //series.getAttribs(); - - // draw the graph if any - if (series.drawGraph) { - series.drawGraph(); - } - - // draw the points - series.drawPoints(); - - // draw the mouse tracking area - if (series.options.enableMouseTracking !== false) { - series.drawTracker(); - } - - // run the animation - if (doAnimation) { - series.animate(); - } - - // finish the individual clipRect - setTimeout(function () { - clipRect.isAnimating = false; - group = series.group; // can be destroyed during the timeout - if (group && clipRect !== chart.clipRect && clipRect.renderer) { - group.clip((series.clipRect = chart.clipRect)); - clipRect.destroy(); - } - }, duration); - - - series.isDirty = false; // means data is in accordance with what you see - - }, - - /** - * Redraw the series after an update in the axes. - */ - redraw: function () { - var series = this, - chart = series.chart, - group = series.group; - - /*if (clipRect) { - stop(clipRect); - clipRect.animate({ // for chart resize - width: chart.plotSizeX, - height: chart.plotSizeY - }); - }*/ - - // reposition on resize - if (group) { - if (chart.inverted) { - group.attr({ - width: chart.plotWidth, - height: chart.plotHeight - }); - } - - group.animate({ - translateX: chart.plotLeft, - translateY: chart.plotTop - }); - } - - series.translate(); - series.setTooltipPoints(true); - series.render(); - }, - - /** - * Set the state of the graph - */ - setState: function (state) { - var series = this, - options = series.options, - graph = series.graph, - stateOptions = options.states, - lineWidth = options.lineWidth; - - state = state || NORMAL_STATE; - - if (series.state !== state) { - series.state = state; - - if (stateOptions[state] && stateOptions[state].enabled === false) { - return; - } - - if (state) { - lineWidth = stateOptions[state].lineWidth || lineWidth + 1; - } - - if (graph && !graph.dashstyle) { // hover is turned off for dashed lines in VML - graph.attr({ // use attr because animate will cause any other animation on the graph to stop - 'stroke-width': lineWidth - }, state ? 0 : 500); - } - } - }, - - /** - * Set the visibility of the graph - * - * @param vis {Boolean} True to show the series, false to hide. If UNDEFINED, - * the visibility is toggled. - */ - setVisible: function (vis, redraw) { - var series = this, - chart = series.chart, - legendItem = series.legendItem, - seriesGroup = series.group, - seriesTracker = series.tracker, - dataLabelsGroup = series.dataLabelsGroup, - showOrHide, - i, - data = series.data, - point, - ignoreHiddenSeries = chart.options.chart.ignoreHiddenSeries, - oldVisibility = series.visible; - - // if called without an argument, toggle visibility - series.visible = vis = vis === UNDEFINED ? !oldVisibility : vis; - showOrHide = vis ? 'show' : 'hide'; - - // show or hide series - if (seriesGroup) { // pies don't have one - seriesGroup[showOrHide](); - } - - // show or hide trackers - if (seriesTracker) { - seriesTracker[showOrHide](); - } else { - i = data.length; - while (i--) { - point = data[i]; - if (point.tracker) { - point.tracker[showOrHide](); - } - } - } - - - if (dataLabelsGroup) { - dataLabelsGroup[showOrHide](); - } - - if (legendItem) { - chart.legend.colorizeItem(series, vis); - } - - - // rescale or adapt to resized chart - series.isDirty = true; - // in a stack, all other series are affected - if (series.options.stacking) { - each(chart.series, function (otherSeries) { - if (otherSeries.options.stacking && otherSeries.visible) { - otherSeries.isDirty = true; - } - }); - } - - if (ignoreHiddenSeries) { - chart.isDirtyBox = true; - } - if (redraw !== false) { - chart.redraw(); - } - - fireEvent(series, showOrHide); - }, - - /** - * Show the graph - */ - show: function () { - this.setVisible(true); - }, - - /** - * Hide the graph - */ - hide: function () { - this.setVisible(false); - }, - - - /** - * Set the selected state of the graph - * - * @param selected {Boolean} True to select the series, false to unselect. If - * UNDEFINED, the selection state is toggled. - */ - select: function (selected) { - var series = this; - // if called without an argument, toggle - series.selected = selected = (selected === UNDEFINED) ? !series.selected : selected; - - if (series.checkbox) { - series.checkbox.checked = selected; - } - - fireEvent(series, selected ? 'select' : 'unselect'); - }, - - - /** - * Draw the tracker object that sits above all data labels and markers to - * track mouse events on the graph or points. For the line type charts - * the tracker uses the same graphPath, but with a greater stroke width - * for better control. - */ - drawTracker: function () { - var series = this, - options = series.options, - trackerPath = [].concat(series.graphPath), - trackerPathLength = trackerPath.length, - chart = series.chart, - snap = chart.options.tooltip.snap, - tracker = series.tracker, - cursor = options.cursor, - css = cursor && { cursor: cursor }, - singlePoints = series.singlePoints, - singlePoint, - i; - - // Extend end points. A better way would be to use round linecaps, - // but those are not clickable in VML. - if (trackerPathLength) { - i = trackerPathLength + 1; - while (i--) { - if (trackerPath[i] === M) { // extend left side - trackerPath.splice(i + 1, 0, trackerPath[i + 1] - snap, trackerPath[i + 2], L); - } - if ((i && trackerPath[i] === M) || i === trackerPathLength) { // extend right side - trackerPath.splice(i, 0, L, trackerPath[i - 2] + snap, trackerPath[i - 1]); - } - } - } - - // handle single points - for (i = 0; i < singlePoints.length; i++) { - singlePoint = singlePoints[i]; - trackerPath.push(M, singlePoint.plotX - snap, singlePoint.plotY, - L, singlePoint.plotX + snap, singlePoint.plotY); - } - - // draw the tracker - if (tracker) { - tracker.attr({ d: trackerPath }); - - } else { // create - series.tracker = chart.renderer.path(trackerPath) - .attr({ - isTracker: true, - stroke: TRACKER_FILL, - fill: NONE, - 'stroke-width' : options.lineWidth + 2 * snap, - visibility: series.visible ? VISIBLE : HIDDEN, - zIndex: options.zIndex || 1 - }) - .on(hasTouch ? 'touchstart' : 'mouseover', function () { - if (chart.hoverSeries !== series) { - series.onMouseOver(); - } - }) - .on('mouseout', function () { - if (!options.stickyTracking) { - series.onMouseOut(); - } - }) - .css(css) - .add(chart.trackerGroup); - } - - } - -}; // end Series prototype - - -/** - * LineSeries object - */ -var LineSeries = extendClass(Series); -seriesTypes.line = LineSeries; - -/** - * AreaSeries object - */ -var AreaSeries = extendClass(Series, { - type: 'area' -}); -seriesTypes.area = AreaSeries; - - - - -/** - * SplineSeries object - */ -var SplineSeries = extendClass(Series, { - type: 'spline', - - /** - * Draw the actual graph - */ - getPointSpline: function (segment, point, i) { - var smoothing = 1.5, // 1 means control points midway between points, 2 means 1/3 from the point, 3 is 1/4 etc - denom = smoothing + 1, - plotX = point.plotX, - plotY = point.plotY, - lastPoint = segment[i - 1], - nextPoint = segment[i + 1], - leftContX, - leftContY, - rightContX, - rightContY, - ret; - - // find control points - if (i && i < segment.length - 1) { - var lastX = lastPoint.plotX, - lastY = lastPoint.plotY, - nextX = nextPoint.plotX, - nextY = nextPoint.plotY, - correction; - - leftContX = (smoothing * plotX + lastX) / denom; - leftContY = (smoothing * plotY + lastY) / denom; - rightContX = (smoothing * plotX + nextX) / denom; - rightContY = (smoothing * plotY + nextY) / denom; - - // have the two control points make a straight line through main point - correction = ((rightContY - leftContY) * (rightContX - plotX)) / - (rightContX - leftContX) + plotY - rightContY; - - leftContY += correction; - rightContY += correction; - - // to prevent false extremes, check that control points are between - // neighbouring points' y values - if (leftContY > lastY && leftContY > plotY) { - leftContY = mathMax(lastY, plotY); - rightContY = 2 * plotY - leftContY; // mirror of left control point - } else if (leftContY < lastY && leftContY < plotY) { - leftContY = mathMin(lastY, plotY); - rightContY = 2 * plotY - leftContY; - } - if (rightContY > nextY && rightContY > plotY) { - rightContY = mathMax(nextY, plotY); - leftContY = 2 * plotY - rightContY; - } else if (rightContY < nextY && rightContY < plotY) { - rightContY = mathMin(nextY, plotY); - leftContY = 2 * plotY - rightContY; - } - - // record for drawing in next point - point.rightContX = rightContX; - point.rightContY = rightContY; - - } - - // moveTo or lineTo - if (!i) { - ret = [M, plotX, plotY]; - } else { // curve from last point to this - ret = [ - 'C', - lastPoint.rightContX || lastPoint.plotX, - lastPoint.rightContY || lastPoint.plotY, - leftContX || plotX, - leftContY || plotY, - plotX, - plotY - ]; - lastPoint.rightContX = lastPoint.rightContY = null; // reset for updating series later - } - return ret; - } -}); -seriesTypes.spline = SplineSeries; - - - -/** - * AreaSplineSeries object - */ -var AreaSplineSeries = extendClass(SplineSeries, { - type: 'areaspline' -}); -seriesTypes.areaspline = AreaSplineSeries; - -/** - * ColumnSeries object - */ -var ColumnSeries = extendClass(Series, { - type: 'column', - pointAttrToOptions: { // mapping between SVG attributes and the corresponding options - stroke: 'borderColor', - 'stroke-width': 'borderWidth', - fill: 'color', - r: 'borderRadius' - }, - init: function () { - Series.prototype.init.apply(this, arguments); - - var series = this, - chart = series.chart; - - // flag the chart in order to pad the x axis - chart.hasColumn = true; - - // if the series is added dynamically, force redraw of other - // series affected by a new column - if (chart.hasRendered) { - each(chart.series, function (otherSeries) { - if (otherSeries.type === series.type) { - otherSeries.isDirty = true; - } - }); - } - }, - - /** - * Translate each point to the plot area coordinate system and find shape positions - */ - translate: function () { - var series = this, - chart = series.chart, - options = series.options, - stacking = options.stacking, - borderWidth = options.borderWidth, - columnCount = 0, - reversedXAxis = series.xAxis.reversed, - categories = series.xAxis.categories, - stackGroups = {}, - stackKey, - columnIndex; - - Series.prototype.translate.apply(series); - - // Get the total number of column type series. - // This is called on every series. Consider moving this logic to a - // chart.orderStacks() function and call it on init, addSeries and removeSeries - each(chart.series, function (otherSeries) { - if (otherSeries.type === series.type && otherSeries.visible) { - if (otherSeries.options.stacking) { - stackKey = otherSeries.stackKey; - if (stackGroups[stackKey] === UNDEFINED) { - stackGroups[stackKey] = columnCount++; - } - columnIndex = stackGroups[stackKey]; - } else { - columnIndex = columnCount++; - } - otherSeries.columnIndex = columnIndex; - } - }); - - // calculate the width and position of each column based on - // the number of column series in the plot, the groupPadding - // and the pointPadding options - var data = series.data, - closestPoints = series.closestPoints, - categoryWidth = mathAbs( - data[1] ? data[closestPoints].plotX - data[closestPoints - 1].plotX : - chart.plotSizeX / ((categories && categories.length) || 1) - ), - groupPadding = categoryWidth * options.groupPadding, - groupWidth = categoryWidth - 2 * groupPadding, - pointOffsetWidth = groupWidth / columnCount, - optionPointWidth = options.pointWidth, - pointPadding = defined(optionPointWidth) ? (pointOffsetWidth - optionPointWidth) / 2 : - pointOffsetWidth * options.pointPadding, - pointWidth = mathMax(pick(optionPointWidth, pointOffsetWidth - 2 * pointPadding), 1), - colIndex = (reversedXAxis ? columnCount - - series.columnIndex : series.columnIndex) || 0, - pointXOffset = pointPadding + (groupPadding + colIndex * - pointOffsetWidth - (categoryWidth / 2)) * - (reversedXAxis ? -1 : 1), - threshold = options.threshold || 0, - translatedThreshold = series.yAxis.getThreshold(threshold), - minPointLength = pick(options.minPointLength, 5); - - // record the new values - each(data, function (point) { - var plotY = point.plotY, - yBottom = point.yBottom || translatedThreshold, - barX = point.plotX + pointXOffset, - barY = mathCeil(mathMin(plotY, yBottom)), - barH = mathCeil(mathMax(plotY, yBottom) - barY), - stack = series.yAxis.stacks[(point.y < 0 ? '-' : '') + series.stackKey], - trackerY, - shapeArgs; - - // Record the offset'ed position and width of the bar to be able to align the stacking total correctly - if (stacking && series.visible && stack && stack[point.x]) { - stack[point.x].setOffset(pointXOffset, pointWidth); - } - - // handle options.minPointLength and tracker for small points - if (mathAbs(barH) < minPointLength) { - if (minPointLength) { - barH = minPointLength; - barY = - mathAbs(barY - translatedThreshold) > minPointLength ? // stacked - yBottom - minPointLength : // keep position - translatedThreshold - (plotY <= translatedThreshold ? minPointLength : 0); - } - trackerY = barY - 3; - } - - extend(point, { - barX: barX, - barY: barY, - barW: pointWidth, - barH: barH - }); - - // create shape type and shape args that are reused in drawPoints and drawTracker - point.shapeType = 'rect'; - shapeArgs = extend(chart.renderer.Element.prototype.crisp.apply({}, [ - borderWidth, - barX, - barY, - pointWidth, - barH - ]), { - r: options.borderRadius - }); - if (borderWidth % 2) { // correct for shorting in crisp method, visible in stacked columns with 1px border - shapeArgs.y -= 1; - shapeArgs.height += 1; - } - point.shapeArgs = shapeArgs; - - // make small columns responsive to mouse - point.trackerArgs = defined(trackerY) && merge(point.shapeArgs, { - height: mathMax(6, barH + 3), - y: trackerY - }); - }); - - }, - - getSymbol: function () { - }, - - /** - * Columns have no graph - */ - drawGraph: function () {}, - - /** - * Draw the columns. For bars, the series.group is rotated, so the same coordinates - * apply for columns and bars. This method is inherited by scatter series. - * - */ - drawPoints: function () { - var series = this, - options = series.options, - renderer = series.chart.renderer, - graphic, - shapeArgs; - - - // draw the columns - each(series.data, function (point) { - var plotY = point.plotY; - if (plotY !== UNDEFINED && !isNaN(plotY) && point.y !== null) { - graphic = point.graphic; - shapeArgs = point.shapeArgs; - if (graphic) { // update - stop(graphic); - graphic.animate(shapeArgs); - - } else { - point.graphic = renderer[point.shapeType](shapeArgs) - .attr(point.pointAttr[point.selected ? SELECT_STATE : NORMAL_STATE]) - .add(series.group) - .shadow(options.shadow); - } - - } - }); - }, - /** - * Draw the individual tracker elements. - * This method is inherited by scatter and pie charts too. - */ - drawTracker: function () { - var series = this, - chart = series.chart, - renderer = chart.renderer, - shapeArgs, - tracker, - trackerLabel = +new Date(), - options = series.options, - cursor = options.cursor, - css = cursor && { cursor: cursor }, - rel; - - each(series.data, function (point) { - tracker = point.tracker; - shapeArgs = point.trackerArgs || point.shapeArgs; - delete shapeArgs.strokeWidth; - if (point.y !== null) { - if (tracker) {// update - tracker.attr(shapeArgs); - - } else { - point.tracker = - renderer[point.shapeType](shapeArgs) - .attr({ - isTracker: trackerLabel, - fill: TRACKER_FILL, - visibility: series.visible ? VISIBLE : HIDDEN, - zIndex: options.zIndex || 1 - }) - .on(hasTouch ? 'touchstart' : 'mouseover', function (event) { - rel = event.relatedTarget || event.fromElement; - if (chart.hoverSeries !== series && attr(rel, 'isTracker') !== trackerLabel) { - series.onMouseOver(); - } - point.onMouseOver(); - - }) - .on('mouseout', function (event) { - if (!options.stickyTracking) { - rel = event.relatedTarget || event.toElement; - if (attr(rel, 'isTracker') !== trackerLabel) { - series.onMouseOut(); - } - } - }) - .css(css) - .add(point.group || chart.trackerGroup); // pies have point group - see issue #118 - } - } - }); - }, - - - /** - * Animate the column heights one by one from zero - * @param {Boolean} init Whether to initialize the animation or run it - */ - animate: function (init) { - var series = this, - data = series.data; - - if (!init) { // run the animation - /* - * Note: Ideally the animation should be initialized by calling - * series.group.hide(), and then calling series.group.show() - * after the animation was started. But this rendered the shadows - * invisible in IE8 standards mode. If the columns flicker on large - * datasets, this is the cause. - */ - - each(data, function (point) { - var graphic = point.graphic, - shapeArgs = point.shapeArgs; - - if (graphic) { - // start values - graphic.attr({ - height: 0, - y: series.yAxis.translate(0, 0, 1) - }); - - // animate - graphic.animate({ - height: shapeArgs.height, - y: shapeArgs.y - }, series.options.animation); - } - }); - - - // delete this function to allow it only once - series.animate = null; - } - - }, - /** - * Remove this series from the chart - */ - remove: function () { - var series = this, - chart = series.chart; - - // column and bar series affects other series of the same type - // as they are either stacked or grouped - if (chart.hasRendered) { - each(chart.series, function (otherSeries) { - if (otherSeries.type === series.type) { - otherSeries.isDirty = true; - } - }); - } - - Series.prototype.remove.apply(series, arguments); - } -}); -seriesTypes.column = ColumnSeries; - -var BarSeries = extendClass(ColumnSeries, { - type: 'bar', - init: function (chart) { - chart.inverted = this.inverted = true; - ColumnSeries.prototype.init.apply(this, arguments); - } -}); -seriesTypes.bar = BarSeries; - -/** - * The scatter series class - */ -var ScatterSeries = extendClass(Series, { - type: 'scatter', - - /** - * Extend the base Series' translate method by adding shape type and - * arguments for the point trackers - */ - translate: function () { - var series = this; - - Series.prototype.translate.apply(series); - - each(series.data, function (point) { - point.shapeType = 'circle'; - point.shapeArgs = { - x: point.plotX, - y: point.plotY, - r: series.chart.options.tooltip.snap - }; - }); - }, - - - /** - * Create individual tracker elements for each point - */ - //drawTracker: ColumnSeries.prototype.drawTracker, - drawTracker: function () { - var series = this, - cursor = series.options.cursor, - css = cursor && { cursor: cursor }, - graphic; - - each(series.data, function (point) { - graphic = point.graphic; - if (graphic) { // doesn't exist for null points - graphic - .attr({ isTracker: true }) - .on('mouseover', function () { - series.onMouseOver(); - point.onMouseOver(); - }) - .on('mouseout', function () { - if (!series.options.stickyTracking) { - series.onMouseOut(); - } - }) - .css(css); - } - }); - - }, - - /** - * Cleaning the data is not necessary in a scatter plot - */ - cleanData: function () {} -}); -seriesTypes.scatter = ScatterSeries; - -/** - * Extended point object for pies - */ -var PiePoint = extendClass(Point, { - /** - * Initiate the pie slice - */ - init: function () { - - Point.prototype.init.apply(this, arguments); - - var point = this, - toggleSlice; - - //visible: options.visible !== false, - extend(point, { - visible: point.visible !== false, - name: pick(point.name, 'Slice') - }); - - // add event listener for select - toggleSlice = function () { - point.slice(); - }; - addEvent(point, 'select', toggleSlice); - addEvent(point, 'unselect', toggleSlice); - - return point; - }, - - /** - * Toggle the visibility of the pie slice - * @param {Boolean} vis Whether to show the slice or not. If undefined, the - * visibility is toggled - */ - setVisible: function (vis) { - var point = this, - chart = point.series.chart, - tracker = point.tracker, - dataLabel = point.dataLabel, - connector = point.connector, - shadowGroup = point.shadowGroup, - method; - - // if called without an argument, toggle visibility - point.visible = vis = vis === UNDEFINED ? !point.visible : vis; - - method = vis ? 'show' : 'hide'; - - point.group[method](); - if (tracker) { - tracker[method](); - } - if (dataLabel) { - dataLabel[method](); - } - if (connector) { - connector[method](); - } - if (shadowGroup) { - shadowGroup[method](); - } - if (point.legendItem) { - chart.legend.colorizeItem(point, vis); - } - }, - - /** - * Set or toggle whether the slice is cut out from the pie - * @param {Boolean} sliced When undefined, the slice state is toggled - * @param {Boolean} redraw Whether to redraw the chart. True by default. - */ - slice: function (sliced, redraw, animation) { - var point = this, - series = point.series, - chart = series.chart, - slicedTranslation = point.slicedTranslation, - translation; - - setAnimation(animation, chart); - - // redraw is true by default - redraw = pick(redraw, true); - - // if called without an argument, toggle - sliced = point.sliced = defined(sliced) ? sliced : !point.sliced; - - translation = { - translateX: (sliced ? slicedTranslation[0] : chart.plotLeft), - translateY: (sliced ? slicedTranslation[1] : chart.plotTop) - }; - point.group.animate(translation); - if (point.shadowGroup) { - point.shadowGroup.animate(translation); - } - - } -}); - -/** - * The Pie series class - */ -var PieSeries = extendClass(Series, { - type: 'pie', - isCartesian: false, - pointClass: PiePoint, - pointAttrToOptions: { // mapping between SVG attributes and the corresponding options - stroke: 'borderColor', - 'stroke-width': 'borderWidth', - fill: 'color' - }, - - /** - * Pies have one color each point - */ - getColor: function () { - // record first color for use in setData - this.initialColor = this.chart.counters.color; - }, - - /** - * Animate the column heights one by one from zero - */ - animate: function () { - var series = this, - data = series.data; - - each(data, function (point) { - var graphic = point.graphic, - args = point.shapeArgs, - up = -mathPI / 2; - - if (graphic) { - // start values - graphic.attr({ - r: 0, - start: up, - end: up - }); - - // animate - graphic.animate({ - r: args.r, - start: args.start, - end: args.end - }, series.options.animation); - } - }); - - // delete this function to allow it only once - series.animate = null; - - }, - /** - * Do translation for pie slices - */ - translate: function () { - var total = 0, - series = this, - cumulative = -0.25, // start at top - precision = 1000, // issue #172 - options = series.options, - slicedOffset = options.slicedOffset, - connectorOffset = slicedOffset + options.borderWidth, - positions = options.center.concat([options.size, options.innerSize || 0]), - chart = series.chart, - plotWidth = chart.plotWidth, - plotHeight = chart.plotHeight, - start, - end, - angle, - data = series.data, - circ = 2 * mathPI, - fraction, - smallestSize = mathMin(plotWidth, plotHeight), - isPercent, - radiusX, // the x component of the radius vector for a given point - radiusY, - labelDistance = options.dataLabels.distance; - - // get positions - either an integer or a percentage string must be given - positions = map(positions, function (length, i) { - - isPercent = /%$/.test(length); - return isPercent ? - // i == 0: centerX, relative to width - // i == 1: centerY, relative to height - // i == 2: size, relative to smallestSize - // i == 4: innerSize, relative to smallestSize - [plotWidth, plotHeight, smallestSize, smallestSize][i] * - pInt(length) / 100 : - length; - }); - - // utility for getting the x value from a given y, used for anticollision logic in data labels - series.getX = function (y, left) { - - angle = math.asin((y - positions[1]) / (positions[2] / 2 + labelDistance)); - - return positions[0] + - (left ? -1 : 1) * - (mathCos(angle) * (positions[2] / 2 + labelDistance)); - }; - - // set center for later use - series.center = positions; - - // get the total sum - each(data, function (point) { - total += point.y; - }); - - each(data, function (point) { - // set start and end angle - fraction = total ? point.y / total : 0; - start = mathRound(cumulative * circ * precision) / precision; - cumulative += fraction; - end = mathRound(cumulative * circ * precision) / precision; - - // set the shape - point.shapeType = 'arc'; - point.shapeArgs = { - x: positions[0], - y: positions[1], - r: positions[2] / 2, - innerR: positions[3] / 2, - start: start, - end: end - }; - - // center for the sliced out slice - angle = (end + start) / 2; - point.slicedTranslation = map([ - mathCos(angle) * slicedOffset + chart.plotLeft, - mathSin(angle) * slicedOffset + chart.plotTop - ], mathRound); - - // set the anchor point for tooltips - radiusX = mathCos(angle) * positions[2] / 2; - radiusY = mathSin(angle) * positions[2] / 2; - point.tooltipPos = [ - positions[0] + radiusX * 0.7, - positions[1] + radiusY * 0.7 - ]; - - // set the anchor point for data labels - point.labelPos = [ - positions[0] + radiusX + mathCos(angle) * labelDistance, // first break of connector - positions[1] + radiusY + mathSin(angle) * labelDistance, // a/a - positions[0] + radiusX + mathCos(angle) * connectorOffset, // second break, right outside pie - positions[1] + radiusY + mathSin(angle) * connectorOffset, // a/a - positions[0] + radiusX, // landing point for connector - positions[1] + radiusY, // a/a - labelDistance < 0 ? // alignment - 'center' : - angle < circ / 4 ? 'left' : 'right', // alignment - angle // center angle - ]; - - // API properties - point.percentage = fraction * 100; - point.total = total; - - }); - - - this.setTooltipPoints(); - }, - - /** - * Render the slices - */ - render: function () { - var series = this; - - // cache attributes for shapes - //series.getAttribs(); - - this.drawPoints(); - - // draw the mouse tracking area - if (series.options.enableMouseTracking !== false) { - series.drawTracker(); - } - - this.drawDataLabels(); - - if (series.options.animation && series.animate) { - series.animate(); - } - - series.isDirty = false; // means data is in accordance with what you see - }, - - /** - * Draw the data points - */ - drawPoints: function () { - var series = this, - chart = series.chart, - renderer = chart.renderer, - groupTranslation, - //center, - graphic, - group, - shadow = series.options.shadow, - shadowGroup, - shapeArgs; - - - // draw the slices - each(series.data, function (point) { - graphic = point.graphic; - shapeArgs = point.shapeArgs; - group = point.group; - shadowGroup = point.shadowGroup; - - // put the shadow behind all points - if (shadow && !shadowGroup) { - shadowGroup = point.shadowGroup = renderer.g('shadow') - .attr({ zIndex: 4 }) - .add(); - } - - // create the group the first time - if (!group) { - group = point.group = renderer.g('point') - .attr({ zIndex: 5 }) - .add(); - } - - // if the point is sliced, use special translation, else use plot area traslation - groupTranslation = point.sliced ? point.slicedTranslation : [chart.plotLeft, chart.plotTop]; - group.translate(groupTranslation[0], groupTranslation[1]); - if (shadowGroup) { - shadowGroup.translate(groupTranslation[0], groupTranslation[1]); - } - - - // draw the slice - if (graphic) { - graphic.animate(shapeArgs); - } else { - point.graphic = - renderer.arc(shapeArgs) - .attr(extend( - point.pointAttr[NORMAL_STATE], - { 'stroke-linejoin': 'round' } - )) - .add(point.group) - .shadow(shadow, shadowGroup); - } - - // detect point specific visibility - if (point.visible === false) { - point.setVisible(false); - } - - }); - - }, - - /** - * Override the base drawDataLabels method by pie specific functionality - */ - drawDataLabels: function () { - var series = this, - data = series.data, - point, - chart = series.chart, - options = series.options.dataLabels, - connectorPadding = pick(options.connectorPadding, 10), - connectorWidth = pick(options.connectorWidth, 1), - connector, - connectorPath, - softConnector = pick(options.softConnector, true), - distanceOption = options.distance, - seriesCenter = series.center, - radius = seriesCenter[2] / 2, - centerY = seriesCenter[1], - outside = distanceOption > 0, - dataLabel, - labelPos, - labelHeight, - halves = [// divide the points into right and left halves for anti collision - [], // right - [] // left - ], - x, - y, - visibility, - rankArr, - sort, - i = 2, - j; - - // get out if not enabled - if (!options.enabled) { - return; - } - - // run parent method - Series.prototype.drawDataLabels.apply(series); - - // arrange points for detection collision - each(data, function (point) { - if (point.dataLabel) { // it may have been cancelled in the base method (#407) - halves[ - point.labelPos[7] < mathPI / 2 ? 0 : 1 - ].push(point); - } - }); - halves[1].reverse(); - - // define the sorting algorithm - sort = function (a, b) { - return b.y - a.y; - }; - - // assume equal label heights - labelHeight = halves[0][0] && halves[0][0].dataLabel && pInt(halves[0][0].dataLabel.styles.lineHeight); - - /* Loop over the points in each quartile, starting from the top and bottom - * of the pie to detect overlapping labels. - */ - while (i--) { - - var slots = [], - slotsLength, - usedSlots = [], - points = halves[i], - pos, - length = points.length, - slotIndex; - - - // build the slots - for (pos = centerY - radius - distanceOption; pos <= centerY + radius + distanceOption; pos += labelHeight) { - slots.push(pos); - // visualize the slot - /* - var slotX = series.getX(pos, i) + chart.plotLeft - (i ? 100 : 0), - slotY = pos + chart.plotTop; - if (!isNaN(slotX)) { - chart.renderer.rect(slotX, slotY - 7, 100, labelHeight) - .attr({ - 'stroke-width': 1, - stroke: 'silver' - }) - .add(); - chart.renderer.text('Slot '+ (slots.length - 1), slotX, slotY + 4) - .attr({ - fill: 'silver' - }).add(); - } - // */ - } - slotsLength = slots.length; - - // if there are more values than available slots, remove lowest values - if (length > slotsLength) { - // create an array for sorting and ranking the points within each quarter - rankArr = [].concat(points); - rankArr.sort(sort); - j = length; - while (j--) { - rankArr[j].rank = j; - } - j = length; - while (j--) { - if (points[j].rank >= slotsLength) { - points.splice(j, 1); - } - } - length = points.length; - } - - // The label goes to the nearest open slot, but not closer to the edge than - // the label's index. - for (j = 0; j < length; j++) { - - point = points[j]; - labelPos = point.labelPos; - - var closest = 9999, - distance, - slotI; - - // find the closest slot index - for (slotI = 0; slotI < slotsLength; slotI++) { - distance = mathAbs(slots[slotI] - labelPos[1]); - if (distance < closest) { - closest = distance; - slotIndex = slotI; - } - } - - // if that slot index is closer to the edges of the slots, move it - // to the closest appropriate slot - if (slotIndex < j && slots[j] !== null) { // cluster at the top - slotIndex = j; - } else if (slotsLength < length - j + slotIndex && slots[j] !== null) { // cluster at the bottom - slotIndex = slotsLength - length + j; - while (slots[slotIndex] === null) { // make sure it is not taken - slotIndex++; - } - } else { - // Slot is taken, find next free slot below. In the next run, the next slice will find the - // slot above these, because it is the closest one - while (slots[slotIndex] === null) { // make sure it is not taken - slotIndex++; - } - } - - usedSlots.push({ i: slotIndex, y: slots[slotIndex] }); - slots[slotIndex] = null; // mark as taken - } - // sort them in order to fill in from the top - usedSlots.sort(sort); - - - // now the used slots are sorted, fill them up sequentially - for (j = 0; j < length; j++) { - - point = points[j]; - labelPos = point.labelPos; - dataLabel = point.dataLabel; - var slot = usedSlots.pop(), - naturalY = labelPos[1]; - - visibility = point.visible === false ? HIDDEN : VISIBLE; - slotIndex = slot.i; - - // if the slot next to currrent slot is free, the y value is allowed - // to fall back to the natural position - y = slot.y; - if ((naturalY > y && slots[slotIndex + 1] !== null) || - (naturalY < y && slots[slotIndex - 1] !== null)) { - y = naturalY; - } - - // get the x - use the natural x position for first and last slot, to prevent the top - // and botton slice connectors from touching each other on either side - x = series.getX(slotIndex === 0 || slotIndex === slots.length - 1 ? naturalY : y, i); - - // move or place the data label - dataLabel - .attr({ - visibility: visibility, - align: labelPos[6] - })[dataLabel.moved ? 'animate' : 'attr']({ - x: x + options.x + - ({ left: connectorPadding, right: -connectorPadding }[labelPos[6]] || 0), - y: y + options.y - }); - dataLabel.moved = true; - - // draw the connector - if (outside && connectorWidth) { - connector = point.connector; - - connectorPath = softConnector ? [ - M, - x + (labelPos[6] === 'left' ? 5 : -5), y, // end of the string at the label - 'C', - x, y, // first break, next to the label - 2 * labelPos[2] - labelPos[4], 2 * labelPos[3] - labelPos[5], - labelPos[2], labelPos[3], // second break - L, - labelPos[4], labelPos[5] // base - ] : [ - M, - x + (labelPos[6] === 'left' ? 5 : -5), y, // end of the string at the label - L, - labelPos[2], labelPos[3], // second break - L, - labelPos[4], labelPos[5] // base - ]; - - if (connector) { - connector.animate({ d: connectorPath }); - connector.attr('visibility', visibility); - - } else { - point.connector = connector = series.chart.renderer.path(connectorPath).attr({ - 'stroke-width': connectorWidth, - stroke: options.connectorColor || point.color || '#606060', - visibility: visibility, - zIndex: 3 - }) - .translate(chart.plotLeft, chart.plotTop) - .add(); - } - } - } - } - }, - - /** - * Draw point specific tracker objects. Inherit directly from column series. - */ - drawTracker: ColumnSeries.prototype.drawTracker, - - /** - * Pies don't have point marker symbols - */ - getSymbol: function () {} - -}); -seriesTypes.pie = PieSeries; - - -// global variables -win.Highcharts = { - Chart: Chart, - dateFormat: dateFormat, - pathAnim: pathAnim, - getOptions: getOptions, - hasRtlBug: hasRtlBug, - numberFormat: numberFormat, - Point: Point, - Color: Color, - Renderer: Renderer, - seriesTypes: seriesTypes, - setOptions: setOptions, - Series: Series, - - // Expose utility funcitons for modules - addEvent: addEvent, - removeEvent: removeEvent, - createElement: createElement, - discardElement: discardElement, - css: css, - each: each, - extend: extend, - map: map, - merge: merge, - pick: pick, - extendClass: extendClass, - product: 'Highcharts', - version: '2.1.9' -}; -}()); +// ==ClosureCompiler== +// @compilation_level SIMPLE_OPTIMIZATIONS + +/** + * @license Highcharts JS v2.2.3 (2012-05-07) + * + * (c) 2009-2011 Torstein Hønsi + * + * License: www.highcharts.com/license + */ + +// JSLint options: +/*global Highcharts, document, window, navigator, setInterval, clearInterval, clearTimeout, setTimeout, location, jQuery, $, console */ + +(function () { +// encapsulated variables +var UNDEFINED, + doc = document, + win = window, + math = Math, + mathRound = math.round, + mathFloor = math.floor, + mathCeil = math.ceil, + mathMax = math.max, + mathMin = math.min, + mathAbs = math.abs, + mathCos = math.cos, + mathSin = math.sin, + mathPI = math.PI, + deg2rad = mathPI * 2 / 360, + + + // some variables + userAgent = navigator.userAgent, + isIE = /msie/i.test(userAgent) && !win.opera, + docMode8 = doc.documentMode === 8, + isWebKit = /AppleWebKit/.test(userAgent), + isFirefox = /Firefox/.test(userAgent), + SVG_NS = 'http://www.w3.org/2000/svg', + hasSVG = !!doc.createElementNS && !!doc.createElementNS(SVG_NS, 'svg').createSVGRect, + hasBidiBug = isFirefox && parseInt(userAgent.split('Firefox/')[1], 10) < 4, // issue #38 + useCanVG = !hasSVG && !isIE && !!doc.createElement('canvas').getContext, + Renderer, + hasTouch = doc.documentElement.ontouchstart !== UNDEFINED, + symbolSizes = {}, + idCounter = 0, + garbageBin, + defaultOptions, + dateFormat, // function + globalAnimation, + pathAnim, + timeUnits, + + // some constants for frequently used strings + DIV = 'div', + ABSOLUTE = 'absolute', + RELATIVE = 'relative', + HIDDEN = 'hidden', + PREFIX = 'highcharts-', + VISIBLE = 'visible', + PX = 'px', + NONE = 'none', + M = 'M', + L = 'L', + /* + * Empirical lowest possible opacities for TRACKER_FILL + * IE6: 0.002 + * IE7: 0.002 + * IE8: 0.002 + * IE9: 0.00000000001 (unlimited) + * FF: 0.00000000001 (unlimited) + * Chrome: 0.000001 + * Safari: 0.000001 + * Opera: 0.00000000001 (unlimited) + */ + TRACKER_FILL = 'rgba(192,192,192,' + (hasSVG ? 0.000001 : 0.002) + ')', // invisible but clickable + //TRACKER_FILL = 'rgba(192,192,192,0.5)', + NORMAL_STATE = '', + HOVER_STATE = 'hover', + SELECT_STATE = 'select', + MILLISECOND = 'millisecond', + SECOND = 'second', + MINUTE = 'minute', + HOUR = 'hour', + DAY = 'day', + WEEK = 'week', + MONTH = 'month', + YEAR = 'year', + + // constants for attributes + FILL = 'fill', + LINEAR_GRADIENT = 'linearGradient', + STOPS = 'stops', + STROKE = 'stroke', + STROKE_WIDTH = 'stroke-width', + + // time methods, changed based on whether or not UTC is used + makeTime, + getMinutes, + getHours, + getDay, + getDate, + getMonth, + getFullYear, + setMinutes, + setHours, + setDate, + setMonth, + setFullYear, + + // check for a custom HighchartsAdapter defined prior to this file + globalAdapter = win.HighchartsAdapter, + adapter = globalAdapter || {}, + + // Utility functions. If the HighchartsAdapter is not defined, adapter is an empty object + // and all the utility functions will be null. In that case they are populated by the + // default adapters below. + getScript = adapter.getScript, + each = adapter.each, + grep = adapter.grep, + offset = adapter.offset, + map = adapter.map, + merge = adapter.merge, + addEvent = adapter.addEvent, + removeEvent = adapter.removeEvent, + fireEvent = adapter.fireEvent, + washMouseEvent = adapter.washMouseEvent, + animate = adapter.animate, + stop = adapter.stop, + + // lookup over the types and the associated classes + seriesTypes = {}; + +// The Highcharts namespace +win.Highcharts = {}; + +/** + * Extend an object with the members of another + * @param {Object} a The object to be extended + * @param {Object} b The object to add to the first one + */ +function extend(a, b) { + var n; + if (!a) { + a = {}; + } + for (n in b) { + a[n] = b[n]; + } + return a; +} + +/** + * Take an array and turn into a hash with even number arguments as keys and odd numbers as + * values. Allows creating constants for commonly used style properties, attributes etc. + * Avoid it in performance critical situations like looping + */ +function hash() { + var i = 0, + args = arguments, + length = args.length, + obj = {}; + for (; i < length; i++) { + obj[args[i++]] = args[i]; + } + return obj; +} + +/** + * Shortcut for parseInt + * @param {Object} s + * @param {Number} mag Magnitude + */ +function pInt(s, mag) { + return parseInt(s, mag || 10); +} + +/** + * Check for string + * @param {Object} s + */ +function isString(s) { + return typeof s === 'string'; +} + +/** + * Check for object + * @param {Object} obj + */ +function isObject(obj) { + return typeof obj === 'object'; +} + +/** + * Check for array + * @param {Object} obj + */ +function isArray(obj) { + return Object.prototype.toString.call(obj) === '[object Array]'; +} + +/** + * Check for number + * @param {Object} n + */ +function isNumber(n) { + return typeof n === 'number'; +} + +function log2lin(num) { + return math.log(num) / math.LN10; +} +function lin2log(num) { + return math.pow(10, num); +} + +/** + * Remove last occurence of an item from an array + * @param {Array} arr + * @param {Mixed} item + */ +function erase(arr, item) { + var i = arr.length; + while (i--) { + if (arr[i] === item) { + arr.splice(i, 1); + break; + } + } + //return arr; +} + +/** + * Returns true if the object is not null or undefined. Like MooTools' $.defined. + * @param {Object} obj + */ +function defined(obj) { + return obj !== UNDEFINED && obj !== null; +} + +/** + * Set or get an attribute or an object of attributes. Can't use jQuery attr because + * it attempts to set expando properties on the SVG element, which is not allowed. + * + * @param {Object} elem The DOM element to receive the attribute(s) + * @param {String|Object} prop The property or an abject of key-value pairs + * @param {String} value The value if a single property is set + */ +function attr(elem, prop, value) { + var key, + setAttribute = 'setAttribute', + ret; + + // if the prop is a string + if (isString(prop)) { + // set the value + if (defined(value)) { + + elem[setAttribute](prop, value); + + // get the value + } else if (elem && elem.getAttribute) { // elem not defined when printing pie demo... + ret = elem.getAttribute(prop); + } + + // else if prop is defined, it is a hash of key/value pairs + } else if (defined(prop) && isObject(prop)) { + for (key in prop) { + elem[setAttribute](key, prop[key]); + } + } + return ret; +} +/** + * Check if an element is an array, and if not, make it into an array. Like + * MooTools' $.splat. + */ +function splat(obj) { + return isArray(obj) ? obj : [obj]; +} + + +/** + * Return the first value that is defined. Like MooTools' $.pick. + */ +function pick() { + var args = arguments, + i, + arg, + length = args.length; + for (i = 0; i < length; i++) { + arg = args[i]; + if (typeof arg !== 'undefined' && arg !== null) { + return arg; + } + } +} + +/** + * Set CSS on a given element + * @param {Object} el + * @param {Object} styles Style object with camel case property names + */ +function css(el, styles) { + if (isIE) { + if (styles && styles.opacity !== UNDEFINED) { + styles.filter = 'alpha(opacity=' + (styles.opacity * 100) + ')'; + } + } + extend(el.style, styles); +} + +/** + * Utility function to create element with attributes and styles + * @param {Object} tag + * @param {Object} attribs + * @param {Object} styles + * @param {Object} parent + * @param {Object} nopad + */ +function createElement(tag, attribs, styles, parent, nopad) { + var el = doc.createElement(tag); + if (attribs) { + extend(el, attribs); + } + if (nopad) { + css(el, {padding: 0, border: NONE, margin: 0}); + } + if (styles) { + css(el, styles); + } + if (parent) { + parent.appendChild(el); + } + return el; +} + +/** + * Extend a prototyped class by new members + * @param {Object} parent + * @param {Object} members + */ +function extendClass(parent, members) { + var object = function () {}; + object.prototype = new parent(); + extend(object.prototype, members); + return object; +} + +/** + * Format a number and return a string based on input settings + * @param {Number} number The input number to format + * @param {Number} decimals The amount of decimals + * @param {String} decPoint The decimal point, defaults to the one given in the lang options + * @param {String} thousandsSep The thousands separator, defaults to the one given in the lang options + */ +function numberFormat(number, decimals, decPoint, thousandsSep) { + var lang = defaultOptions.lang, + // http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_number_format/ + n = number, + c = isNaN(decimals = mathAbs(decimals)) ? 2 : decimals, + d = decPoint === undefined ? lang.decimalPoint : decPoint, + t = thousandsSep === undefined ? lang.thousandsSep : thousandsSep, + s = n < 0 ? "-" : "", + i = String(pInt(n = mathAbs(+n || 0).toFixed(c))), + j = i.length > 3 ? i.length % 3 : 0; + + return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + + (c ? d + mathAbs(n - i).toFixed(c).slice(2) : ""); +} + +/** + * Pad a string to a given length by adding 0 to the beginning + * @param {Number} number + * @param {Number} length + */ +function pad(number, length) { + // Create an array of the remaining length +1 and join it with 0's + return new Array((length || 2) + 1 - String(number).length).join(0) + number; +} + +/** + * Based on http://www.php.net/manual/en/function.strftime.php + * @param {String} format + * @param {Number} timestamp + * @param {Boolean} capitalize + */ +dateFormat = function (format, timestamp, capitalize) { + if (!defined(timestamp) || isNaN(timestamp)) { + return 'Invalid date'; + } + format = pick(format, '%Y-%m-%d %H:%M:%S'); + + var date = new Date(timestamp), + key, // used in for constuct below + // get the basic time values + hours = date[getHours](), + day = date[getDay](), + dayOfMonth = date[getDate](), + month = date[getMonth](), + fullYear = date[getFullYear](), + lang = defaultOptions.lang, + langWeekdays = lang.weekdays, + /* // uncomment this and the 'W' format key below to enable week numbers + weekNumber = function () { + var clone = new Date(date.valueOf()), + day = clone[getDay]() == 0 ? 7 : clone[getDay](), + dayNumber; + clone.setDate(clone[getDate]() + 4 - day); + dayNumber = mathFloor((clone.getTime() - new Date(clone[getFullYear](), 0, 1, -6)) / 86400000); + return 1 + mathFloor(dayNumber / 7); + }, + */ + + // list all format keys + replacements = { + + // Day + 'a': langWeekdays[day].substr(0, 3), // Short weekday, like 'Mon' + 'A': langWeekdays[day], // Long weekday, like 'Monday' + 'd': pad(dayOfMonth), // Two digit day of the month, 01 to 31 + 'e': dayOfMonth, // Day of the month, 1 through 31 + + // Week (none implemented) + //'W': weekNumber(), + + // Month + 'b': lang.shortMonths[month], // Short month, like 'Jan' + 'B': lang.months[month], // Long month, like 'January' + 'm': pad(month + 1), // Two digit month number, 01 through 12 + + // Year + 'y': fullYear.toString().substr(2, 2), // Two digits year, like 09 for 2009 + 'Y': fullYear, // Four digits year, like 2009 + + // Time + 'H': pad(hours), // Two digits hours in 24h format, 00 through 23 + 'I': pad((hours % 12) || 12), // Two digits hours in 12h format, 00 through 11 + 'l': (hours % 12) || 12, // Hours in 12h format, 1 through 12 + 'M': pad(date[getMinutes]()), // Two digits minutes, 00 through 59 + 'p': hours < 12 ? 'AM' : 'PM', // Upper case AM or PM + 'P': hours < 12 ? 'am' : 'pm', // Lower case AM or PM + 'S': pad(date.getSeconds()), // Two digits seconds, 00 through 59 + 'L': pad(mathRound(timestamp % 1000), 3) // Milliseconds (naming from Ruby) + }; + + + // do the replaces + for (key in replacements) { + format = format.replace('%' + key, replacements[key]); + } + + // Optionally capitalize the string and return + return capitalize ? format.substr(0, 1).toUpperCase() + format.substr(1) : format; +}; + +/** + * Take an interval and normalize it to multiples of 1, 2, 2.5 and 5 + * @param {Number} interval + * @param {Array} multiples + * @param {Number} magnitude + * @param {Object} options + */ +function normalizeTickInterval(interval, multiples, magnitude, options) { + var normalized, i; + + // round to a tenfold of 1, 2, 2.5 or 5 + magnitude = pick(magnitude, 1); + normalized = interval / magnitude; + + // multiples for a linear scale + if (!multiples) { + multiples = [1, 2, 2.5, 5, 10]; + + // the allowDecimals option + if (options && options.allowDecimals === false) { + if (magnitude === 1) { + multiples = [1, 2, 5, 10]; + } else if (magnitude <= 0.1) { + multiples = [1 / magnitude]; + } + } + } + + // normalize the interval to the nearest multiple + for (i = 0; i < multiples.length; i++) { + interval = multiples[i]; + if (normalized <= (multiples[i] + (multiples[i + 1] || multiples[i])) / 2) { + break; + } + } + + // multiply back to the correct magnitude + interval *= magnitude; + + return interval; +} + +/** + * Get a normalized tick interval for dates. Returns a configuration object with + * unit range (interval), count and name. Used to prepare data for getTimeTicks. + * Previously this logic was part of getTimeTicks, but as getTimeTicks now runs + * of segments in stock charts, the normalizing logic was extracted in order to + * prevent it for running over again for each segment having the same interval. + * #662, #697. + */ +function normalizeTimeTickInterval(tickInterval, unitsOption) { + var units = unitsOption || [[ + MILLISECOND, // unit name + [1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples + ], [ + SECOND, + [1, 2, 5, 10, 15, 30] + ], [ + MINUTE, + [1, 2, 5, 10, 15, 30] + ], [ + HOUR, + [1, 2, 3, 4, 6, 8, 12] + ], [ + DAY, + [1, 2] + ], [ + WEEK, + [1, 2] + ], [ + MONTH, + [1, 2, 3, 4, 6] + ], [ + YEAR, + null + ]], + unit = units[units.length - 1], // default unit is years + interval = timeUnits[unit[0]], + multiples = unit[1], + count, + i; + + // loop through the units to find the one that best fits the tickInterval + for (i = 0; i < units.length; i++) { + unit = units[i]; + interval = timeUnits[unit[0]]; + multiples = unit[1]; + + + if (units[i + 1]) { + // lessThan is in the middle between the highest multiple and the next unit. + var lessThan = (interval * multiples[multiples.length - 1] + + timeUnits[units[i + 1][0]]) / 2; + + // break and keep the current unit + if (tickInterval <= lessThan) { + break; + } + } + } + + // prevent 2.5 years intervals, though 25, 250 etc. are allowed + if (interval === timeUnits[YEAR] && tickInterval < 5 * interval) { + multiples = [1, 2, 5]; + } + + // prevent 2.5 years intervals, though 25, 250 etc. are allowed + if (interval === timeUnits[YEAR] && tickInterval < 5 * interval) { + multiples = [1, 2, 5]; + } + + // get the count + count = normalizeTickInterval(tickInterval / interval, multiples); + + return { + unitRange: interval, + count: count, + unitName: unit[0] + }; +} + +/** + * Set the tick positions to a time unit that makes sense, for example + * on the first of each month or on every Monday. Return an array + * with the time positions. Used in datetime axes as well as for grouping + * data on a datetime axis. + * + * @param {Object} normalizedInterval The interval in axis values (ms) and the count + * @param {Number} min The minimum in axis values + * @param {Number} max The maximum in axis values + * @param {Number} startOfWeek + */ +function getTimeTicks(normalizedInterval, min, max, startOfWeek) { + var tickPositions = [], + i, + higherRanks = {}, + useUTC = defaultOptions.global.useUTC, + minYear, // used in months and years as a basis for Date.UTC() + minDate = new Date(min), + interval = normalizedInterval.unitRange, + count = normalizedInterval.count; + + + + if (interval >= timeUnits[SECOND]) { // second + minDate.setMilliseconds(0); + minDate.setSeconds(interval >= timeUnits[MINUTE] ? 0 : + count * mathFloor(minDate.getSeconds() / count)); + } + + if (interval >= timeUnits[MINUTE]) { // minute + minDate[setMinutes](interval >= timeUnits[HOUR] ? 0 : + count * mathFloor(minDate[getMinutes]() / count)); + } + + if (interval >= timeUnits[HOUR]) { // hour + minDate[setHours](interval >= timeUnits[DAY] ? 0 : + count * mathFloor(minDate[getHours]() / count)); + } + + if (interval >= timeUnits[DAY]) { // day + minDate[setDate](interval >= timeUnits[MONTH] ? 1 : + count * mathFloor(minDate[getDate]() / count)); + } + + if (interval >= timeUnits[MONTH]) { // month + minDate[setMonth](interval >= timeUnits[YEAR] ? 0 : + count * mathFloor(minDate[getMonth]() / count)); + minYear = minDate[getFullYear](); + } + + if (interval >= timeUnits[YEAR]) { // year + minYear -= minYear % count; + minDate[setFullYear](minYear); + } + + // week is a special case that runs outside the hierarchy + if (interval === timeUnits[WEEK]) { + // get start of current week, independent of count + minDate[setDate](minDate[getDate]() - minDate[getDay]() + + pick(startOfWeek, 1)); + } + + + // get tick positions + i = 1; + minYear = minDate[getFullYear](); + var time = minDate.getTime(), + minMonth = minDate[getMonth](), + minDateDate = minDate[getDate](); + + // iterate and add tick positions at appropriate values + while (time < max) { + tickPositions.push(time); + + // if the interval is years, use Date.UTC to increase years + if (interval === timeUnits[YEAR]) { + time = makeTime(minYear + i * count, 0); + + // if the interval is months, use Date.UTC to increase months + } else if (interval === timeUnits[MONTH]) { + time = makeTime(minYear, minMonth + i * count); + + // if we're using global time, the interval is not fixed as it jumps + // one hour at the DST crossover + } else if (!useUTC && (interval === timeUnits[DAY] || interval === timeUnits[WEEK])) { + time = makeTime(minYear, minMonth, minDateDate + + i * count * (interval === timeUnits[DAY] ? 1 : 7)); + + // else, the interval is fixed and we use simple addition + } else { + time += interval * count; + + // mark new days if the time is dividable by day + if (interval <= timeUnits[HOUR] && time % timeUnits[DAY] === 0) { + higherRanks[time] = DAY; + } + } + + i++; + } + + // push the last time + tickPositions.push(time); + + // record information on the chosen unit - for dynamic label formatter + tickPositions.info = extend(normalizedInterval, { + higherRanks: higherRanks, + totalRange: interval * count + }); + + return tickPositions; +} + +/** + * Helper class that contains variuos counters that are local to the chart. + */ +function ChartCounters() { + this.color = 0; + this.symbol = 0; +} + +ChartCounters.prototype = { + /** + * Wraps the color counter if it reaches the specified length. + */ + wrapColor: function (length) { + if (this.color >= length) { + this.color = 0; + } + }, + + /** + * Wraps the symbol counter if it reaches the specified length. + */ + wrapSymbol: function (length) { + if (this.symbol >= length) { + this.symbol = 0; + } + } +}; + +/** + * Utility method extracted from Tooltip code that places a tooltip in a chart without spilling over + * and not covering the point it self. + */ +function placeBox(boxWidth, boxHeight, outerLeft, outerTop, outerWidth, outerHeight, point, distance, preferRight) { + + // keep the box within the chart area + var pointX = point.x, + pointY = point.y, + x = pointX + outerLeft + (preferRight ? distance : -boxWidth - distance), + y = pointY - boxHeight + outerTop + 15, // 15 means the point is 15 pixels up from the bottom of the tooltip + alignedRight; + + // it is too far to the left, adjust it + if (x < 7) { + x = outerLeft + pointX + distance; + } + + // Test to see if the tooltip is too far to the right, + // if it is, move it back to be inside and then up to not cover the point. + if ((x + boxWidth) > (outerLeft + outerWidth)) { + x -= (x + boxWidth) - (outerLeft + outerWidth); + y = pointY - boxHeight + outerTop - distance; + alignedRight = true; + } + + // if it is now above the plot area, align it to the top of the plot area + if (y < outerTop + 5) { + y = outerTop + 5; + + // If the tooltip is still covering the point, move it below instead + if (alignedRight && pointY >= y && pointY <= (y + boxHeight)) { + y = pointY + outerTop + distance; // below + } + } + + // Now if the tooltip is below the chart, move it up. It's better to cover the + // point than to disappear outside the chart. #834. + if (y + boxHeight > outerTop + outerHeight) { + y = outerTop + outerHeight - boxHeight - distance; // below + } + + + return {x: x, y: y}; +} + +/** + * Utility method that sorts an object array and keeping the order of equal items. + * ECMA script standard does not specify the behaviour when items are equal. + */ +function stableSort(arr, sortFunction) { + var length = arr.length, + sortValue, + i; + + // Add index to each item + for (i = 0; i < length; i++) { + arr[i].ss_i = i; // stable sort index + } + + arr.sort(function (a, b) { + sortValue = sortFunction(a, b); + return sortValue === 0 ? a.ss_i - b.ss_i : sortValue; + }); + + // Remove index from items + for (i = 0; i < length; i++) { + delete arr[i].ss_i; // stable sort index + } +} + +/** + * Non-recursive method to find the lowest member of an array. Math.min raises a maximum + * call stack size exceeded error in Chrome when trying to apply more than 150.000 points. This + * method is slightly slower, but safe. + */ +function arrayMin(data) { + var i = data.length, + min = data[0]; + + while (i--) { + if (data[i] < min) { + min = data[i]; + } + } + return min; +} + +/** + * Non-recursive method to find the lowest member of an array. Math.min raises a maximum + * call stack size exceeded error in Chrome when trying to apply more than 150.000 points. This + * method is slightly slower, but safe. + */ +function arrayMax(data) { + var i = data.length, + max = data[0]; + + while (i--) { + if (data[i] > max) { + max = data[i]; + } + } + return max; +} + +/** + * Utility method that destroys any SVGElement or VMLElement that are properties on the given object. + * It loops all properties and invokes destroy if there is a destroy method. The property is + * then delete'ed. + */ +function destroyObjectProperties(obj) { + var n; + for (n in obj) { + // If the object is non-null and destroy is defined + if (obj[n] && obj[n].destroy) { + // Invoke the destroy + obj[n].destroy(); + } + + // Delete the property from the object. + delete obj[n]; + } +} + + +/** + * Discard an element by moving it to the bin and delete + * @param {Object} The HTML node to discard + */ +function discardElement(element) { + // create a garbage bin element, not part of the DOM + if (!garbageBin) { + garbageBin = createElement(DIV); + } + + // move the node and empty bin + if (element) { + garbageBin.appendChild(element); + } + garbageBin.innerHTML = ''; +} + +/** + * Provide error messages for debugging, with links to online explanation + */ +function error(code, stop) { + var msg = 'Highcharts error #' + code + ': www.highcharts.com/errors/' + code; + if (stop) { + throw msg; + } else if (win.console) { + console.log(msg); + } +} + +/** + * Fix JS round off float errors + * @param {Number} num + */ +function correctFloat(num) { + return parseFloat( + num.toPrecision(14) + ); +} + +/** + * The time unit lookup + */ +/*jslint white: true*/ +timeUnits = hash( + MILLISECOND, 1, + SECOND, 1000, + MINUTE, 60000, + HOUR, 3600000, + DAY, 24 * 3600000, + WEEK, 7 * 24 * 3600000, + MONTH, 30 * 24 * 3600000, + YEAR, 31556952000 +); +/*jslint white: false*/ +/** + * Path interpolation algorithm used across adapters + */ +pathAnim = { + /** + * Prepare start and end values so that the path can be animated one to one + */ + init: function (elem, fromD, toD) { + fromD = fromD || ''; + var shift = elem.shift, + bezier = fromD.indexOf('C') > -1, + numParams = bezier ? 7 : 3, + endLength, + slice, + i, + start = fromD.split(' '), + end = [].concat(toD), // copy + startBaseLine, + endBaseLine, + sixify = function (arr) { // in splines make move points have six parameters like bezier curves + i = arr.length; + while (i--) { + if (arr[i] === M) { + arr.splice(i + 1, 0, arr[i + 1], arr[i + 2], arr[i + 1], arr[i + 2]); + } + } + }; + + if (bezier) { + sixify(start); + sixify(end); + } + + // pull out the base lines before padding + if (elem.isArea) { + startBaseLine = start.splice(start.length - 6, 6); + endBaseLine = end.splice(end.length - 6, 6); + } + + // if shifting points, prepend a dummy point to the end path + if (shift <= end.length / numParams) { + while (shift--) { + end = [].concat(end).splice(0, numParams).concat(end); + } + } + elem.shift = 0; // reset for following animations + + // copy and append last point until the length matches the end length + if (start.length) { + endLength = end.length; + while (start.length < endLength) { + + //bezier && sixify(start); + slice = [].concat(start).splice(start.length - numParams, numParams); + if (bezier) { // disable first control point + slice[numParams - 6] = slice[numParams - 2]; + slice[numParams - 5] = slice[numParams - 1]; + } + start = start.concat(slice); + } + } + + if (startBaseLine) { // append the base lines for areas + start = start.concat(startBaseLine); + end = end.concat(endBaseLine); + } + return [start, end]; + }, + + /** + * Interpolate each value of the path and return the array + */ + step: function (start, end, pos, complete) { + var ret = [], + i = start.length, + startVal; + + if (pos === 1) { // land on the final path without adjustment points appended in the ends + ret = complete; + + } else if (i === end.length && pos < 1) { + while (i--) { + startVal = parseFloat(start[i]); + ret[i] = + isNaN(startVal) ? // a letter instruction like M or L + start[i] : + pos * (parseFloat(end[i] - startVal)) + startVal; + + } + } else { // if animation is finished or length not matching, land on right value + ret = end; + } + return ret; + } +}; + + +/** + * Set the global animation to either a given value, or fall back to the + * given chart's animation option + * @param {Object} animation + * @param {Object} chart + */ +function setAnimation(animation, chart) { + globalAnimation = pick(animation, chart.animation); +} + +/* + * Define the adapter for frameworks. If an external adapter is not defined, + * Highcharts reverts to the built-in jQuery adapter. + */ +if (globalAdapter && globalAdapter.init) { + // Initialize the adapter with the pathAnim object that takes care + // of path animations. + globalAdapter.init(pathAnim); +} +if (!globalAdapter && win.jQuery) { + var jQ = jQuery; + + /** + * Downloads a script and executes a callback when done. + * @param {String} scriptLocation + * @param {Function} callback + */ + getScript = jQ.getScript; + + /** + * Utility for iterating over an array. Parameters are reversed compared to jQuery. + * @param {Array} arr + * @param {Function} fn + */ + each = function (arr, fn) { + var i = 0, + len = arr.length; + for (; i < len; i++) { + if (fn.call(arr[i], arr[i], i, arr) === false) { + return i; + } + } + }; + + /** + * Filter an array + */ + grep = jQ.grep; + + /** + * Map an array + * @param {Array} arr + * @param {Function} fn + */ + map = function (arr, fn) { + //return jQuery.map(arr, fn); + var results = [], + i = 0, + len = arr.length; + for (; i < len; i++) { + results[i] = fn.call(arr[i], arr[i], i, arr); + } + return results; + + }; + + /** + * Deep merge two objects and return a third object + */ + merge = function () { + var args = arguments; + return jQ.extend(true, null, args[0], args[1], args[2], args[3]); + }; + + /** + * Get the position of an element relative to the top left of the page + */ + offset = function (el) { + return jQ(el).offset(); + }; + + /** + * Add an event listener + * @param {Object} el A HTML element or custom object + * @param {String} event The event type + * @param {Function} fn The event handler + */ + addEvent = function (el, event, fn) { + jQ(el).bind(event, fn); + }; + + /** + * Remove event added with addEvent + * @param {Object} el The object + * @param {String} eventType The event type. Leave blank to remove all events. + * @param {Function} handler The function to remove + */ + removeEvent = function (el, eventType, handler) { + // workaround for jQuery issue with unbinding custom events: + // http://forum.jquery.com/topic/javascript-error-when-unbinding-a-custom-event-using-jquery-1-4-2 + var func = doc.removeEventListener ? 'removeEventListener' : 'detachEvent'; + if (doc[func] && !el[func]) { + el[func] = function () {}; + } + + jQ(el).unbind(eventType, handler); + }; + + /** + * Fire an event on a custom object + * @param {Object} el + * @param {String} type + * @param {Object} eventArguments + * @param {Function} defaultFunction + */ + fireEvent = function (el, type, eventArguments, defaultFunction) { + var event = jQ.Event(type), + detachedType = 'detached' + type, + defaultPrevented; + + extend(event, eventArguments); + + // Prevent jQuery from triggering the object method that is named the + // same as the event. For example, if the event is 'select', jQuery + // attempts calling el.select and it goes into a loop. + if (el[type]) { + el[detachedType] = el[type]; + el[type] = null; + } + + // Wrap preventDefault and stopPropagation in try/catch blocks in + // order to prevent JS errors when cancelling events on non-DOM + // objects. #615. + each(['preventDefault', 'stopPropagation'], function (fn) { + var base = event[fn]; + event[fn] = function () { + try { + base.call(event); + } catch (e) { + if (fn === 'preventDefault') { + defaultPrevented = true; + } + } + }; + }); + + // trigger it + jQ(el).trigger(event); + + // attach the method + if (el[detachedType]) { + el[type] = el[detachedType]; + el[detachedType] = null; + } + + if (defaultFunction && !event.isDefaultPrevented() && !defaultPrevented) { + defaultFunction(event); + } + }; + + /** + * Extension method needed for MooTools + */ + washMouseEvent = function (e) { + return e; + }; + + /** + * Animate a HTML element or SVG element wrapper + * @param {Object} el + * @param {Object} params + * @param {Object} options jQuery-like animation options: duration, easing, callback + */ + animate = function (el, params, options) { + var $el = jQ(el); + if (params.d) { + el.toD = params.d; // keep the array form for paths, used in jQ.fx.step.d + params.d = 1; // because in jQuery, animating to an array has a different meaning + } + + $el.stop(); + $el.animate(params, options); + + }; + /** + * Stop running animation + */ + stop = function (el) { + jQ(el).stop(); + }; + + + //=== Extend jQuery on init + + /*jslint unparam: true*//* allow unused param x in this function */ + jQ.extend(jQ.easing, { + easeOutQuad: function (x, t, b, c, d) { + return -c * (t /= d) * (t - 2) + b; + } + }); + /*jslint unparam: false*/ + + // extend the animate function to allow SVG animations + var jFx = jQuery.fx, + jStep = jFx.step; + + // extend some methods to check for elem.attr, which means it is a Highcharts SVG object + each(['cur', '_default', 'width', 'height'], function (fn, i) { + var obj = i ? jStep : jFx.prototype, // 'cur', the getter' relates to jFx.prototype + base = obj[fn], + elem; + + if (base) { // step.width and step.height don't exist in jQuery < 1.7 + + // create the extended function replacement + obj[fn] = function (fx) { + + // jFx.prototype.cur does not use fx argument + fx = i ? fx : this; + + // shortcut + elem = fx.elem; + + // jFX.prototype.cur returns the current value. The other ones are setters + // and returning a value has no effect. + return elem.attr ? // is SVG element wrapper + elem.attr(fx.prop, fx.now) : // apply the SVG wrapper's method + base.apply(this, arguments); // use jQuery's built-in method + }; + } + }); + + // animate paths + jStep.d = function (fx) { + var elem = fx.elem; + + + // Normally start and end should be set in state == 0, but sometimes, + // for reasons unknown, this doesn't happen. Perhaps state == 0 is skipped + // in these cases + if (!fx.started) { + var ends = pathAnim.init(elem, elem.d, elem.toD); + fx.start = ends[0]; + fx.end = ends[1]; + fx.started = true; + } + + + // interpolate each value of the path + elem.attr('d', pathAnim.step(fx.start, fx.end, fx.pos, elem.toD)); + + }; +} + +/* **************************************************************************** + * Handle the options * + *****************************************************************************/ +var + +defaultLabelOptions = { + enabled: true, + // rotation: 0, + align: 'center', + x: 0, + y: 15, + /*formatter: function () { + return this.value; + },*/ + style: { + color: '#666', + fontSize: '11px', + lineHeight: '14px' + } +}; + +defaultOptions = { + colors: ['#4572A7', '#AA4643', '#89A54E', '#80699B', '#3D96AE', + '#DB843D', '#92A8CD', '#A47D7C', '#B5CA92'], + symbols: ['circle', 'diamond', 'square', 'triangle', 'triangle-down'], + lang: { + loading: 'Loading...', + months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', + 'August', 'September', 'October', 'November', 'December'], + shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + decimalPoint: '.', + resetZoom: 'Reset zoom', + resetZoomTitle: 'Reset zoom level 1:1', + thousandsSep: ',' + }, + global: { + useUTC: true, + canvasToolsURL: 'http://code.highcharts.com/2.2.3/modules/canvas-tools.js' + }, + chart: { + //animation: true, + //alignTicks: false, + //reflow: true, + //className: null, + //events: { load, selection }, + //margin: [null], + //marginTop: null, + //marginRight: null, + //marginBottom: null, + //marginLeft: null, + borderColor: '#4572A7', + //borderWidth: 0, + borderRadius: 5, + defaultSeriesType: 'line', + ignoreHiddenSeries: true, + //inverted: false, + //shadow: false, + spacingTop: 10, + spacingRight: 10, + spacingBottom: 15, + spacingLeft: 10, + style: { + fontFamily: '"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif', // default font + fontSize: '12px' + }, + backgroundColor: '#FFFFFF', + //plotBackgroundColor: null, + plotBorderColor: '#C0C0C0', + //plotBorderWidth: 0, + //plotShadow: false, + //zoomType: '' + resetZoomButton: { + theme: { + zIndex: 20 + }, + position: { + align: 'right', + x: -10, + //verticalAlign: 'top', + y: 10 + } + // relativeTo: 'plot' + } + }, + title: { + text: 'Chart title', + align: 'center', + // floating: false, + // margin: 15, + // x: 0, + // verticalAlign: 'top', + y: 15, + style: { + color: '#3E576F', + fontSize: '16px' + } + + }, + subtitle: { + text: '', + align: 'center', + // floating: false + // x: 0, + // verticalAlign: 'top', + y: 30, + style: { + color: '#6D869F' + } + }, + + plotOptions: { + line: { // base series options + allowPointSelect: false, + showCheckbox: false, + animation: { + duration: 1000 + }, + //connectNulls: false, + //cursor: 'default', + //clip: true, + //dashStyle: null, + //enableMouseTracking: true, + events: {}, + //legendIndex: 0, + lineWidth: 2, + shadow: true, + // stacking: null, + marker: { + enabled: true, + //symbol: null, + lineWidth: 0, + radius: 4, + lineColor: '#FFFFFF', + //fillColor: null, + states: { // states for a single point + hover: { + //radius: base + 2 + }, + select: { + fillColor: '#FFFFFF', + lineColor: '#000000', + lineWidth: 2 + } + } + }, + point: { + events: {} + }, + dataLabels: merge(defaultLabelOptions, { + enabled: false, + y: -6, + formatter: function () { + return this.y; + } + // backgroundColor: undefined, + // borderColor: undefined, + // borderRadius: undefined, + // borderWidth: undefined, + // padding: 3, + // shadow: false + }), + cropThreshold: 300, // draw points outside the plot area when the number of points is less than this + pointRange: 0, + //pointStart: 0, + //pointInterval: 1, + showInLegend: true, + states: { // states for the entire series + hover: { + //enabled: false, + //lineWidth: base + 1, + marker: { + // lineWidth: base + 1, + // radius: base + 1 + } + }, + select: { + marker: {} + } + }, + stickyTracking: true + //tooltip: { + //pointFormat: '{series.name}: {point.y}' + //valueDecimals: null, + //xDateFormat: '%A, %b %e, %Y', + //valuePrefix: '', + //ySuffix: '' + //} + // turboThreshold: 1000 + // zIndex: null + } + }, + labels: { + //items: [], + style: { + //font: defaultFont, + position: ABSOLUTE, + color: '#3E576F' + } + }, + legend: { + enabled: true, + align: 'center', + //floating: false, + layout: 'horizontal', + labelFormatter: function () { + return this.name; + }, + borderWidth: 1, + borderColor: '#909090', + borderRadius: 5, + // margin: 10, + // reversed: false, + shadow: false, + // backgroundColor: null, + style: { + padding: '5px' + }, + itemStyle: { + cursor: 'pointer', + color: '#3E576F' + }, + itemHoverStyle: { + //cursor: 'pointer', removed as of #601 + color: '#000000' + }, + itemHiddenStyle: { + color: '#C0C0C0' + }, + itemCheckboxStyle: { + position: ABSOLUTE, + width: '13px', // for IE precision + height: '13px' + }, + // itemWidth: undefined, + symbolWidth: 16, + symbolPadding: 5, + verticalAlign: 'bottom', + // width: undefined, + x: 0, + y: 0 + }, + + loading: { + // hideDuration: 100, + labelStyle: { + fontWeight: 'bold', + position: RELATIVE, + top: '1em' + }, + // showDuration: 0, + style: { + position: ABSOLUTE, + backgroundColor: 'white', + opacity: 0.5, + textAlign: 'center' + } + }, + + tooltip: { + enabled: true, + //crosshairs: null, + backgroundColor: 'rgba(255, 255, 255, .85)', + borderWidth: 2, + borderRadius: 5, + //formatter: defaultFormatter, + headerFormat: '{point.key}
', + pointFormat: '{series.name}: {point.y}
', + shadow: true, + shared: useCanVG, + snap: hasTouch ? 25 : 10, + style: { + color: '#333333', + fontSize: '12px', + padding: '5px', + whiteSpace: 'nowrap' + } + //xDateFormat: '%A, %b %e, %Y', + //valueDecimals: null, + //valuePrefix: '', + //valueSuffix: '' + }, + + credits: { + enabled: true, + text: 'Highcharts.com', + href: 'http://www.highcharts.com', + position: { + align: 'right', + x: -10, + verticalAlign: 'bottom', + y: -5 + }, + style: { + cursor: 'pointer', + color: '#909090', + fontSize: '10px' + } + } +}; + +// Axis defaults +/*jslint white: true*/ +var defaultXAxisOptions = { + // allowDecimals: null, + // alternateGridColor: null, + // categories: [], + dateTimeLabelFormats: hash( + MILLISECOND, '%H:%M:%S.%L', + SECOND, '%H:%M:%S', + MINUTE, '%H:%M', + HOUR, '%H:%M', + DAY, '%e. %b', + WEEK, '%e. %b', + MONTH, '%b \'%y', + YEAR, '%Y' + ), + endOnTick: false, + gridLineColor: '#C0C0C0', + // gridLineDashStyle: 'solid', + // gridLineWidth: 0, + // reversed: false, + + labels: defaultLabelOptions, + // { step: null }, + lineColor: '#C0D0E0', + lineWidth: 1, + //linkedTo: null, + max: null, + min: null, + minPadding: 0.01, + maxPadding: 0.01, + //minRange: null, + minorGridLineColor: '#E0E0E0', + // minorGridLineDashStyle: null, + minorGridLineWidth: 1, + minorTickColor: '#A0A0A0', + //minorTickInterval: null, + minorTickLength: 2, + minorTickPosition: 'outside', // inside or outside + //minorTickWidth: 0, + //opposite: false, + //offset: 0, + //plotBands: [{ + // events: {}, + // zIndex: 1, + // labels: { align, x, verticalAlign, y, style, rotation, textAlign } + //}], + //plotLines: [{ + // events: {} + // dashStyle: {} + // zIndex: + // labels: { align, x, verticalAlign, y, style, rotation, textAlign } + //}], + //reversed: false, + // showFirstLabel: true, + // showLastLabel: true, + startOfWeek: 1, + startOnTick: false, + tickColor: '#C0D0E0', + //tickInterval: null, + tickLength: 5, + tickmarkPlacement: 'between', // on or between + tickPixelInterval: 100, + tickPosition: 'outside', + tickWidth: 1, + title: { + //text: null, + align: 'middle', // low, middle or high + //margin: 0 for horizontal, 10 for vertical axes, + //rotation: 0, + //side: 'outside', + style: { + color: '#6D869F', + //font: defaultFont.replace('normal', 'bold') + fontWeight: 'bold' + } + //x: 0, + //y: 0 + }, + type: 'linear' // linear, logarithmic or datetime +}, + +defaultYAxisOptions = merge(defaultXAxisOptions, { + endOnTick: true, + gridLineWidth: 1, + tickPixelInterval: 72, + showLastLabel: true, + labels: { + align: 'right', + x: -8, + y: 3 + }, + lineWidth: 0, + maxPadding: 0.05, + minPadding: 0.05, + startOnTick: true, + tickWidth: 0, + title: { + rotation: 270, + text: 'Y-values' + }, + stackLabels: { + enabled: false, + //align: dynamic, + //y: dynamic, + //x: dynamic, + //verticalAlign: dynamic, + //textAlign: dynamic, + //rotation: 0, + formatter: function () { + return this.total; + }, + style: defaultLabelOptions.style + } +}), + +defaultLeftAxisOptions = { + labels: { + align: 'right', + x: -8, + y: null + }, + title: { + rotation: 270 + } +}, +defaultRightAxisOptions = { + labels: { + align: 'left', + x: 8, + y: null + }, + title: { + rotation: 90 + } +}, +defaultBottomAxisOptions = { // horizontal axis + labels: { + align: 'center', + x: 0, + y: 14 + // overflow: undefined // docs - can be 'justify' + // staggerLines: null + }, + title: { + rotation: 0 + } +}, +defaultTopAxisOptions = merge(defaultBottomAxisOptions, { + labels: { + y: -5, + overflow: 'justify' + // staggerLines: null + } +}); +/*jslint white: false*/ + + + +// Series defaults +var defaultPlotOptions = defaultOptions.plotOptions, + defaultSeriesOptions = defaultPlotOptions.line; +//defaultPlotOptions.line = merge(defaultSeriesOptions); +defaultPlotOptions.spline = merge(defaultSeriesOptions); +defaultPlotOptions.scatter = merge(defaultSeriesOptions, { + lineWidth: 0, + states: { + hover: { + lineWidth: 0 + } + }, + tooltip: { + headerFormat: '{series.name}
', + pointFormat: 'x: {point.x}
y: {point.y}
' + } +}); +defaultPlotOptions.area = merge(defaultSeriesOptions, { + threshold: 0 + // lineColor: null, // overrides color, but lets fillColor be unaltered + // fillOpacity: 0.75, + // fillColor: null + +}); +defaultPlotOptions.areaspline = merge(defaultPlotOptions.area); +defaultPlotOptions.column = merge(defaultSeriesOptions, { + borderColor: '#FFFFFF', + borderWidth: 1, + borderRadius: 0, + //colorByPoint: undefined, + groupPadding: 0.2, + marker: null, // point options are specified in the base options + pointPadding: 0.1, + //pointWidth: null, + minPointLength: 0, + cropThreshold: 50, // when there are more points, they will not animate out of the chart on xAxis.setExtremes + pointRange: null, // null means auto, meaning 1 in a categorized axis and least distance between points if not categories + states: { + hover: { + brightness: 0.1, + shadow: false + }, + select: { + color: '#C0C0C0', + borderColor: '#000000', + shadow: false + } + }, + dataLabels: { + y: null, + verticalAlign: null + }, + threshold: 0 +}); +defaultPlotOptions.bar = merge(defaultPlotOptions.column, { + dataLabels: { + align: 'left', + x: 5, + y: null, + verticalAlign: 'middle' + } +}); +defaultPlotOptions.pie = merge(defaultSeriesOptions, { + //dragType: '', // n/a + borderColor: '#FFFFFF', + borderWidth: 1, + center: ['50%', '50%'], + colorByPoint: true, // always true for pies + dataLabels: { + // align: null, + // connectorWidth: 1, + // connectorColor: point.color, + // connectorPadding: 5, + distance: 30, + enabled: true, + formatter: function () { + return this.point.name; + }, + // softConnector: true, + y: 5 + }, + //innerSize: 0, + legendType: 'point', + marker: null, // point options are specified in the base options + size: '75%', + showInLegend: false, + slicedOffset: 10, + states: { + hover: { + brightness: 0.1, + shadow: false + } + } + +}); + +// set the default time methods +setTimeMethods(); + + + +/** + * Set the time methods globally based on the useUTC option. Time method can be either + * local time or UTC (default). + */ +function setTimeMethods() { + var useUTC = defaultOptions.global.useUTC, + GET = useUTC ? 'getUTC' : 'get', + SET = useUTC ? 'setUTC' : 'set'; + + makeTime = useUTC ? Date.UTC : function (year, month, date, hours, minutes, seconds) { + return new Date( + year, + month, + pick(date, 1), + pick(hours, 0), + pick(minutes, 0), + pick(seconds, 0) + ).getTime(); + }; + getMinutes = GET + 'Minutes'; + getHours = GET + 'Hours'; + getDay = GET + 'Day'; + getDate = GET + 'Date'; + getMonth = GET + 'Month'; + getFullYear = GET + 'FullYear'; + setMinutes = SET + 'Minutes'; + setHours = SET + 'Hours'; + setDate = SET + 'Date'; + setMonth = SET + 'Month'; + setFullYear = SET + 'FullYear'; + +} + +/** + * Merge the default options with custom options and return the new options structure + * @param {Object} options The new custom options + */ +function setOptions(options) { + + // Pull out axis options and apply them to the respective default axis options + defaultXAxisOptions = merge(defaultXAxisOptions, options.xAxis); + defaultYAxisOptions = merge(defaultYAxisOptions, options.yAxis); + options.xAxis = options.yAxis = UNDEFINED; + + // Merge in the default options + defaultOptions = merge(defaultOptions, options); + + // Apply UTC + setTimeMethods(); + + return defaultOptions; +} + +/** + * Get the updated default options. Merely exposing defaultOptions for outside modules + * isn't enough because the setOptions method creates a new object. + */ +function getOptions() { + return defaultOptions; +} + + + +/** + * Handle color operations. The object methods are chainable. + * @param {String} input The input color in either rbga or hex format + */ +var Color = function (input) { + // declare variables + var rgba = [], result; + + /** + * Parse the input color to rgba array + * @param {String} input + */ + function init(input) { + + // rgba + result = /rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(input); + if (result) { + rgba = [pInt(result[1]), pInt(result[2]), pInt(result[3]), parseFloat(result[4], 10)]; + } else { // hex + result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(input); + if (result) { + rgba = [pInt(result[1], 16), pInt(result[2], 16), pInt(result[3], 16), 1]; + } + } + + } + /** + * Return the color a specified format + * @param {String} format + */ + function get(format) { + var ret; + + // it's NaN if gradient colors on a column chart + if (rgba && !isNaN(rgba[0])) { + if (format === 'rgb') { + ret = 'rgb(' + rgba[0] + ',' + rgba[1] + ',' + rgba[2] + ')'; + } else if (format === 'a') { + ret = rgba[3]; + } else { + ret = 'rgba(' + rgba.join(',') + ')'; + } + } else { + ret = input; + } + return ret; + } + + /** + * Brighten the color + * @param {Number} alpha + */ + function brighten(alpha) { + if (isNumber(alpha) && alpha !== 0) { + var i; + for (i = 0; i < 3; i++) { + rgba[i] += pInt(alpha * 255); + + if (rgba[i] < 0) { + rgba[i] = 0; + } + if (rgba[i] > 255) { + rgba[i] = 255; + } + } + } + return this; + } + /** + * Set the color's opacity to a given alpha value + * @param {Number} alpha + */ + function setOpacity(alpha) { + rgba[3] = alpha; + return this; + } + + // initialize: parse the input + init(input); + + // public methods + return { + get: get, + brighten: brighten, + setOpacity: setOpacity + }; +}; + + +/** + * A wrapper object for SVG elements + */ +function SVGElement() {} + +SVGElement.prototype = { + /** + * Initialize the SVG renderer + * @param {Object} renderer + * @param {String} nodeName + */ + init: function (renderer, nodeName) { + var wrapper = this; + wrapper.element = nodeName === 'span' ? + createElement(nodeName) : + doc.createElementNS(SVG_NS, nodeName); + wrapper.renderer = renderer; + /** + * A collection of attribute setters. These methods, if defined, are called right before a certain + * attribute is set on an element wrapper. Returning false prevents the default attribute + * setter to run. Returning a value causes the default setter to set that value. Used in + * Renderer.label. + */ + wrapper.attrSetters = {}; + }, + /** + * Animate a given attribute + * @param {Object} params + * @param {Number} options The same options as in jQuery animation + * @param {Function} complete Function to perform at the end of animation + */ + animate: function (params, options, complete) { + var animOptions = pick(options, globalAnimation, true); + stop(this); // stop regardless of animation actually running, or reverting to .attr (#607) + if (animOptions) { + animOptions = merge(animOptions); + if (complete) { // allows using a callback with the global animation without overwriting it + animOptions.complete = complete; + } + animate(this, params, animOptions); + } else { + this.attr(params); + if (complete) { + complete(); + } + } + }, + /** + * Set or get a given attribute + * @param {Object|String} hash + * @param {Mixed|Undefined} val + */ + attr: function (hash, val) { + var wrapper = this, + key, + value, + result, + i, + child, + element = wrapper.element, + nodeName = element.nodeName, + renderer = wrapper.renderer, + skipAttr, + titleNode, + attrSetters = wrapper.attrSetters, + shadows = wrapper.shadows, + hasSetSymbolSize, + ret = wrapper; + + // single key-value pair + if (isString(hash) && defined(val)) { + key = hash; + hash = {}; + hash[key] = val; + } + + // used as a getter: first argument is a string, second is undefined + if (isString(hash)) { + key = hash; + if (nodeName === 'circle') { + key = { x: 'cx', y: 'cy' }[key] || key; + } else if (key === 'strokeWidth') { + key = 'stroke-width'; + } + ret = attr(element, key) || wrapper[key] || 0; + + if (key !== 'd' && key !== 'visibility') { // 'd' is string in animation step + ret = parseFloat(ret); + } + + // setter + } else { + + for (key in hash) { + skipAttr = false; // reset + value = hash[key]; + + // check for a specific attribute setter + result = attrSetters[key] && attrSetters[key](value, key); + + if (result !== false) { + + if (result !== UNDEFINED) { + value = result; // the attribute setter has returned a new value to set + } + + // paths + if (key === 'd') { + if (value && value.join) { // join path + value = value.join(' '); + } + if (/(NaN| {2}|^$)/.test(value)) { + value = 'M 0 0'; + } + wrapper.d = value; // shortcut for animations + + // update child tspans x values + } else if (key === 'x' && nodeName === 'text') { + for (i = 0; i < element.childNodes.length; i++) { + child = element.childNodes[i]; + // if the x values are equal, the tspan represents a linebreak + if (attr(child, 'x') === attr(element, 'x')) { + //child.setAttribute('x', value); + attr(child, 'x', value); + } + } + + if (wrapper.rotation) { + attr(element, 'transform', 'rotate(' + wrapper.rotation + ' ' + value + ' ' + + pInt(hash.y || attr(element, 'y')) + ')'); + } + + // apply gradients + } else if (key === 'fill') { + value = renderer.color(value, element, key); + + // circle x and y + } else if (nodeName === 'circle' && (key === 'x' || key === 'y')) { + key = { x: 'cx', y: 'cy' }[key] || key; + + // rectangle border radius + } else if (nodeName === 'rect' && key === 'r') { + attr(element, { + rx: value, + ry: value + }); + skipAttr = true; + + // translation and text rotation + } else if (key === 'translateX' || key === 'translateY' || key === 'rotation' || key === 'verticalAlign') { + wrapper[key] = value; + wrapper.updateTransform(); + skipAttr = true; + + // apply opacity as subnode (required by legacy WebKit and Batik) + } else if (key === 'stroke') { + value = renderer.color(value, element, key); + + // emulate VML's dashstyle implementation + } else if (key === 'dashstyle') { + key = 'stroke-dasharray'; + value = value && value.toLowerCase(); + if (value === 'solid') { + value = NONE; + } else if (value) { + value = value + .replace('shortdashdotdot', '3,1,1,1,1,1,') + .replace('shortdashdot', '3,1,1,1') + .replace('shortdot', '1,1,') + .replace('shortdash', '3,1,') + .replace('longdash', '8,3,') + .replace(/dot/g, '1,3,') + .replace('dash', '4,3,') + .replace(/,$/, '') + .split(','); // ending comma + + i = value.length; + while (i--) { + value[i] = pInt(value[i]) * hash['stroke-width']; + } + value = value.join(','); + } + + // special + } else if (key === 'isTracker') { + wrapper[key] = value; + + // IE9/MooTools combo: MooTools returns objects instead of numbers and IE9 Beta 2 + // is unable to cast them. Test again with final IE9. + } else if (key === 'width') { + value = pInt(value); + + // Text alignment + } else if (key === 'align') { + key = 'text-anchor'; + value = { left: 'start', center: 'middle', right: 'end' }[value]; + + // Title requires a subnode, #431 + } else if (key === 'title') { + titleNode = element.getElementsByTagName('title')[0]; + if (!titleNode) { + titleNode = doc.createElementNS(SVG_NS, 'title'); + element.appendChild(titleNode); + } + titleNode.textContent = value; + } + + // jQuery animate changes case + if (key === 'strokeWidth') { + key = 'stroke-width'; + } + + // Chrome/Win < 6 bug (http://code.google.com/p/chromium/issues/detail?id=15461) + if (isWebKit && key === 'stroke-width' && value === 0) { + value = 0.000001; + } + + // symbols + if (wrapper.symbolName && /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(key)) { + + + if (!hasSetSymbolSize) { + wrapper.symbolAttr(hash); + hasSetSymbolSize = true; + } + skipAttr = true; + } + + // let the shadow follow the main element + if (shadows && /^(width|height|visibility|x|y|d|transform)$/.test(key)) { + i = shadows.length; + while (i--) { + attr(shadows[i], key, value); + } + } + + // validate heights + if ((key === 'width' || key === 'height') && nodeName === 'rect' && value < 0) { + value = 0; + } + + + + + if (key === 'text') { + // only one node allowed + wrapper.textStr = value; + if (wrapper.added) { + renderer.buildText(wrapper); + } + } else if (!skipAttr) { + attr(element, key, value); + } + + } + + } + + } + + // Workaround for our #732, WebKit's issue https://bugs.webkit.org/show_bug.cgi?id=78385 + // TODO: If the WebKit team fix this bug before the final release of Chrome 18, remove the workaround. + if (isWebKit && /Chrome\/(18|19)/.test(userAgent)) { + if (nodeName === 'text' && (hash.x !== UNDEFINED || hash.y !== UNDEFINED)) { + var parent = element.parentNode, + next = element.nextSibling; + + if (parent) { + parent.removeChild(element); + if (next) { + parent.insertBefore(element, next); + } else { + parent.appendChild(element); + } + } + } + } + // End of workaround for #732 + + return ret; + }, + + /** + * If one of the symbol size affecting parameters are changed, + * check all the others only once for each call to an element's + * .attr() method + * @param {Object} hash + */ + symbolAttr: function (hash) { + var wrapper = this; + + each(['x', 'y', 'r', 'start', 'end', 'width', 'height', 'innerR', 'anchorX', 'anchorY'], function (key) { + wrapper[key] = pick(hash[key], wrapper[key]); + }); + + wrapper.attr({ + d: wrapper.renderer.symbols[wrapper.symbolName](wrapper.x, wrapper.y, wrapper.width, wrapper.height, wrapper) + }); + }, + + /** + * Apply a clipping path to this object + * @param {String} id + */ + clip: function (clipRect) { + return this.attr('clip-path', 'url(' + this.renderer.url + '#' + clipRect.id + ')'); + }, + + /** + * Calculate the coordinates needed for drawing a rectangle crisply and return the + * calculated attributes + * @param {Number} strokeWidth + * @param {Number} x + * @param {Number} y + * @param {Number} width + * @param {Number} height + */ + crisp: function (strokeWidth, x, y, width, height) { + + var wrapper = this, + key, + attribs = {}, + values = {}, + normalizer; + + strokeWidth = strokeWidth || wrapper.strokeWidth || (wrapper.attr && wrapper.attr('stroke-width')) || 0; + normalizer = mathRound(strokeWidth) % 2 / 2; // mathRound because strokeWidth can sometimes have roundoff errors + + // normalize for crisp edges + values.x = mathFloor(x || wrapper.x || 0) + normalizer; + values.y = mathFloor(y || wrapper.y || 0) + normalizer; + values.width = mathFloor((width || wrapper.width || 0) - 2 * normalizer); + values.height = mathFloor((height || wrapper.height || 0) - 2 * normalizer); + values.strokeWidth = strokeWidth; + + for (key in values) { + if (wrapper[key] !== values[key]) { // only set attribute if changed + wrapper[key] = attribs[key] = values[key]; + } + } + + return attribs; + }, + + /** + * Set styles for the element + * @param {Object} styles + */ + css: function (styles) { + /*jslint unparam: true*//* allow unused param a in the regexp function below */ + var elemWrapper = this, + elem = elemWrapper.element, + textWidth = styles && styles.width && elem.nodeName === 'text', + n, + serializedCss = '', + hyphenate = function (a, b) { return '-' + b.toLowerCase(); }; + /*jslint unparam: false*/ + + // convert legacy + if (styles && styles.color) { + styles.fill = styles.color; + } + + // Merge the new styles with the old ones + styles = extend( + elemWrapper.styles, + styles + ); + + // store object + elemWrapper.styles = styles; + + // serialize and set style attribute + if (isIE && !hasSVG) { // legacy IE doesn't support setting style attribute + if (textWidth) { + delete styles.width; + } + css(elemWrapper.element, styles); + } else { + for (n in styles) { + serializedCss += n.replace(/([A-Z])/g, hyphenate) + ':' + styles[n] + ';'; + } + elemWrapper.attr({ + style: serializedCss + }); + } + + + // re-build text + if (textWidth && elemWrapper.added) { + elemWrapper.renderer.buildText(elemWrapper); + } + + return elemWrapper; + }, + + /** + * Add an event listener + * @param {String} eventType + * @param {Function} handler + */ + on: function (eventType, handler) { + var fn = handler; + // touch + if (hasTouch && eventType === 'click') { + eventType = 'touchstart'; + fn = function (e) { + e.preventDefault(); + handler(); + }; + } + // simplest possible event model for internal use + this.element['on' + eventType] = fn; + return this; + }, + + + /** + * Move an object and its children by x and y values + * @param {Number} x + * @param {Number} y + */ + translate: function (x, y) { + return this.attr({ + translateX: x, + translateY: y + }); + }, + + /** + * Invert a group, rotate and flip + */ + invert: function () { + var wrapper = this; + wrapper.inverted = true; + wrapper.updateTransform(); + return wrapper; + }, + + /** + * Apply CSS to HTML elements. This is used in text within SVG rendering and + * by the VML renderer + */ + htmlCss: function (styles) { + var wrapper = this, + element = wrapper.element, + textWidth = styles && element.tagName === 'SPAN' && styles.width; + + if (textWidth) { + delete styles.width; + wrapper.textWidth = textWidth; + wrapper.updateTransform(); + } + + wrapper.styles = extend(wrapper.styles, styles); + css(wrapper.element, styles); + + return wrapper; + }, + + + + /** + * VML and useHTML method for calculating the bounding box based on offsets + * @param {Boolean} refresh Whether to force a fresh value from the DOM or to + * use the cached value + * + * @return {Object} A hash containing values for x, y, width and height + */ + + htmlGetBBox: function (refresh) { + var wrapper = this, + element = wrapper.element, + bBox = wrapper.bBox; + + // faking getBBox in exported SVG in legacy IE + if (!bBox || refresh) { + // faking getBBox in exported SVG in legacy IE + if (element.nodeName === 'text') { + element.style.position = ABSOLUTE; + } + + bBox = wrapper.bBox = { + x: element.offsetLeft, + y: element.offsetTop, + width: element.offsetWidth, + height: element.offsetHeight + }; + } + + return bBox; + }, + + /** + * VML override private method to update elements based on internal + * properties based on SVG transform + */ + htmlUpdateTransform: function () { + // aligning non added elements is expensive + if (!this.added) { + this.alignOnAdd = true; + return; + } + + var wrapper = this, + renderer = wrapper.renderer, + elem = wrapper.element, + translateX = wrapper.translateX || 0, + translateY = wrapper.translateY || 0, + x = wrapper.x || 0, + y = wrapper.y || 0, + align = wrapper.textAlign || 'left', + alignCorrection = { left: 0, center: 0.5, right: 1 }[align], + nonLeft = align && align !== 'left', + shadows = wrapper.shadows; + + // apply translate + if (translateX || translateY) { + css(elem, { + marginLeft: translateX, + marginTop: translateY + }); + if (shadows) { // used in labels/tooltip + each(shadows, function (shadow) { + css(shadow, { + marginLeft: translateX + 1, + marginTop: translateY + 1 + }); + }); + } + } + + // apply inversion + if (wrapper.inverted) { // wrapper is a group + each(elem.childNodes, function (child) { + renderer.invertChild(child, elem); + }); + } + + if (elem.tagName === 'SPAN') { + + var width, height, + rotation = wrapper.rotation, + baseline, + radians = 0, + costheta = 1, + sintheta = 0, + quad, + textWidth = pInt(wrapper.textWidth), + xCorr = wrapper.xCorr || 0, + yCorr = wrapper.yCorr || 0, + currentTextTransform = [rotation, align, elem.innerHTML, wrapper.textWidth].join(','); + + if (currentTextTransform !== wrapper.cTT) { // do the calculations and DOM access only if properties changed + + if (defined(rotation)) { + radians = rotation * deg2rad; // deg to rad + costheta = mathCos(radians); + sintheta = mathSin(radians); + + // Adjust for alignment and rotation. Rotation of useHTML content is not yet implemented + // but it can probably be implemented for Firefox 3.5+ on user request. FF3.5+ + // has support for CSS3 transform. The getBBox method also needs to be updated + // to compensate for the rotation, like it currently does for SVG. + // Test case: http://highcharts.com/tests/?file=text-rotation + css(elem, { + filter: rotation ? ['progid:DXImageTransform.Microsoft.Matrix(M11=', costheta, + ', M12=', -sintheta, ', M21=', sintheta, ', M22=', costheta, + ', sizingMethod=\'auto expand\')'].join('') : NONE + }); + } + + width = pick(wrapper.elemWidth, elem.offsetWidth); + height = pick(wrapper.elemHeight, elem.offsetHeight); + + // update textWidth + if (width > textWidth) { + css(elem, { + width: textWidth + PX, + display: 'block', + whiteSpace: 'normal' + }); + width = textWidth; + } + + // correct x and y + baseline = renderer.fontMetrics(elem.style.fontSize).b; + xCorr = costheta < 0 && -width; + yCorr = sintheta < 0 && -height; + + // correct for baseline and corners spilling out after rotation + quad = costheta * sintheta < 0; + xCorr += sintheta * baseline * (quad ? 1 - alignCorrection : alignCorrection); + yCorr -= costheta * baseline * (rotation ? (quad ? alignCorrection : 1 - alignCorrection) : 1); + + // correct for the length/height of the text + if (nonLeft) { + xCorr -= width * alignCorrection * (costheta < 0 ? -1 : 1); + if (rotation) { + yCorr -= height * alignCorrection * (sintheta < 0 ? -1 : 1); + } + css(elem, { + textAlign: align + }); + } + + // record correction + wrapper.xCorr = xCorr; + wrapper.yCorr = yCorr; + } + + // apply position with correction + css(elem, { + left: (x + xCorr) + PX, + top: (y + yCorr) + PX + }); + + // record current text transform + wrapper.cTT = currentTextTransform; + } + }, + + /** + * Private method to update the transform attribute based on internal + * properties + */ + updateTransform: function () { + var wrapper = this, + translateX = wrapper.translateX || 0, + translateY = wrapper.translateY || 0, + inverted = wrapper.inverted, + rotation = wrapper.rotation, + transform = []; + + // flipping affects translate as adjustment for flipping around the group's axis + if (inverted) { + translateX += wrapper.attr('width'); + translateY += wrapper.attr('height'); + } + + // apply translate + if (translateX || translateY) { + transform.push('translate(' + translateX + ',' + translateY + ')'); + } + + // apply rotation + if (inverted) { + transform.push('rotate(90) scale(-1,1)'); + } else if (rotation) { // text rotation + transform.push('rotate(' + rotation + ' ' + wrapper.x + ' ' + wrapper.y + ')'); + } + + if (transform.length) { + attr(wrapper.element, 'transform', transform.join(' ')); + } + }, + /** + * Bring the element to the front + */ + toFront: function () { + var element = this.element; + element.parentNode.appendChild(element); + return this; + }, + + + /** + * Break down alignment options like align, verticalAlign, x and y + * to x and y relative to the chart. + * + * @param {Object} alignOptions + * @param {Boolean} alignByTranslate + * @param {Object} box The box to align to, needs a width and height + * + */ + align: function (alignOptions, alignByTranslate, box) { + var elemWrapper = this; + + if (!alignOptions) { // called on resize + alignOptions = elemWrapper.alignOptions; + alignByTranslate = elemWrapper.alignByTranslate; + } else { // first call on instanciate + elemWrapper.alignOptions = alignOptions; + elemWrapper.alignByTranslate = alignByTranslate; + if (!box) { // boxes other than renderer handle this internally + elemWrapper.renderer.alignedObjects.push(elemWrapper); + } + } + + box = pick(box, elemWrapper.renderer); + + var align = alignOptions.align, + vAlign = alignOptions.verticalAlign, + x = (box.x || 0) + (alignOptions.x || 0), // default: left align + y = (box.y || 0) + (alignOptions.y || 0), // default: top align + attribs = {}; + + + // align + if (/^(right|center)$/.test(align)) { + x += (box.width - (alignOptions.width || 0)) / + { right: 1, center: 2 }[align]; + } + attribs[alignByTranslate ? 'translateX' : 'x'] = mathRound(x); + + + // vertical align + if (/^(bottom|middle)$/.test(vAlign)) { + y += (box.height - (alignOptions.height || 0)) / + ({ bottom: 1, middle: 2 }[vAlign] || 1); + + } + attribs[alignByTranslate ? 'translateY' : 'y'] = mathRound(y); + + // animate only if already placed + elemWrapper[elemWrapper.placed ? 'animate' : 'attr'](attribs); + elemWrapper.placed = true; + elemWrapper.alignAttr = attribs; + + return elemWrapper; + }, + + /** + * Get the bounding box (width, height, x and y) for the element + */ + getBBox: function (refresh) { + var wrapper = this, + bBox, + width, + height, + rotation = wrapper.rotation, + element = wrapper.element, + rad = rotation * deg2rad; + + // SVG elements + if (element.namespaceURI === SVG_NS) { + try { // Fails in Firefox if the container has display: none. + + bBox = element.getBBox ? + // SVG: use extend because IE9 is not allowed to change width and height in case + // of rotation (below) + extend({}, element.getBBox()) : + // Canvas renderer: // TODO: can this be removed now that we're checking for the SVG NS? + { + width: element.offsetWidth, + height: element.offsetHeight + }; + } catch (e) {} + + // If the bBox is not set, the try-catch block above failed. The other condition + // is for Opera that returns a width of -Infinity on hidden elements. + if (!bBox || bBox.width < 0) { + bBox = { width: 0, height: 0 }; + } + + width = bBox.width; + height = bBox.height; + + // adjust for rotated text + if (rotation) { + bBox.width = mathAbs(height * mathSin(rad)) + mathAbs(width * mathCos(rad)); + bBox.height = mathAbs(height * mathCos(rad)) + mathAbs(width * mathSin(rad)); + } + + // VML Renderer or useHTML within SVG + } else { + bBox = wrapper.htmlGetBBox(refresh); + } + + return bBox; + }, + + /** + * Show the element + */ + show: function () { + return this.attr({ visibility: VISIBLE }); + }, + + /** + * Hide the element + */ + hide: function () { + return this.attr({ visibility: HIDDEN }); + }, + + /** + * Add the element + * @param {Object|Undefined} parent Can be an element, an element wrapper or undefined + * to append the element to the renderer.box. + */ + add: function (parent) { + + var renderer = this.renderer, + parentWrapper = parent || renderer, + parentNode = parentWrapper.element || renderer.box, + childNodes = parentNode.childNodes, + element = this.element, + zIndex = attr(element, 'zIndex'), + otherElement, + otherZIndex, + i, + inserted; + + // mark as inverted + this.parentInverted = parent && parent.inverted; + + // build formatted text + if (this.textStr !== undefined) { + renderer.buildText(this); + } + + // mark the container as having z indexed children + if (zIndex) { + parentWrapper.handleZ = true; + zIndex = pInt(zIndex); + } + + // insert according to this and other elements' zIndex + if (parentWrapper.handleZ) { // this element or any of its siblings has a z index + for (i = 0; i < childNodes.length; i++) { + otherElement = childNodes[i]; + otherZIndex = attr(otherElement, 'zIndex'); + if (otherElement !== element && ( + // insert before the first element with a higher zIndex + pInt(otherZIndex) > zIndex || + // if no zIndex given, insert before the first element with a zIndex + (!defined(zIndex) && defined(otherZIndex)) + + )) { + parentNode.insertBefore(element, otherElement); + inserted = true; + break; + } + } + } + + // default: append at the end + if (!inserted) { + parentNode.appendChild(element); + } + + // mark as added + this.added = true; + + // fire an event for internal hooks + fireEvent(this, 'add'); + + return this; + }, + + /** + * Removes a child either by removeChild or move to garbageBin. + * Issue 490; in VML removeChild results in Orphaned nodes according to sIEve, discardElement does not. + */ + safeRemoveChild: function (element) { + var parentNode = element.parentNode; + if (parentNode) { + parentNode.removeChild(element); + } + }, + + /** + * Destroy the element and element wrapper + */ + destroy: function () { + var wrapper = this, + element = wrapper.element || {}, + shadows = wrapper.shadows, + box = wrapper.box, + key, + i; + + // remove events + element.onclick = element.onmouseout = element.onmouseover = element.onmousemove = null; + stop(wrapper); // stop running animations + + if (wrapper.clipPath) { + wrapper.clipPath = wrapper.clipPath.destroy(); + } + + // Destroy stops in case this is a gradient object + if (wrapper.stops) { + for (i = 0; i < wrapper.stops.length; i++) { + wrapper.stops[i] = wrapper.stops[i].destroy(); + } + wrapper.stops = null; + } + + // remove element + wrapper.safeRemoveChild(element); + + // destroy shadows + if (shadows) { + each(shadows, function (shadow) { + wrapper.safeRemoveChild(shadow); + }); + } + + // destroy label box + if (box) { + box.destroy(); + } + + // remove from alignObjects + erase(wrapper.renderer.alignedObjects, wrapper); + + for (key in wrapper) { + delete wrapper[key]; + } + + return null; + }, + + /** + * Empty a group element + */ + empty: function () { + var element = this.element, + childNodes = element.childNodes, + i = childNodes.length; + + while (i--) { + element.removeChild(childNodes[i]); + } + }, + + /** + * Add a shadow to the element. Must be done after the element is added to the DOM + * @param {Boolean} apply + */ + shadow: function (apply, group) { + var shadows = [], + i, + shadow, + element = this.element, + + // compensate for inverted plot area + transform = this.parentInverted ? '(-1,-1)' : '(1,1)'; + + + if (apply) { + for (i = 1; i <= 3; i++) { + shadow = element.cloneNode(0); + attr(shadow, { + 'isShadow': 'true', + 'stroke': 'rgb(0, 0, 0)', + 'stroke-opacity': 0.05 * i, + 'stroke-width': 7 - 2 * i, + 'transform': 'translate' + transform, + 'fill': NONE + }); + + if (group) { + group.element.appendChild(shadow); + } else { + element.parentNode.insertBefore(shadow, element); + } + + shadows.push(shadow); + } + + this.shadows = shadows; + } + return this; + + } +}; + + +/** + * The default SVG renderer + */ +var SVGRenderer = function () { + this.init.apply(this, arguments); +}; +SVGRenderer.prototype = { + Element: SVGElement, + + /** + * Initialize the SVGRenderer + * @param {Object} container + * @param {Number} width + * @param {Number} height + * @param {Boolean} forExport + */ + init: function (container, width, height, forExport) { + var renderer = this, + loc = location, + boxWrapper; + + boxWrapper = renderer.createElement('svg') + .attr({ + xmlns: SVG_NS, + version: '1.1' + }); + container.appendChild(boxWrapper.element); + + // object properties + renderer.isSVG = true; + renderer.box = boxWrapper.element; + renderer.boxWrapper = boxWrapper; + renderer.alignedObjects = []; + renderer.url = isIE ? '' : loc.href.replace(/#.*?$/, '') + .replace(/([\('\)])/g, '\\$1'); // Page url used for internal references. #24, #672. + renderer.defs = this.createElement('defs').add(); + renderer.forExport = forExport; + renderer.gradients = {}; // Object where gradient SvgElements are stored + + renderer.setSize(width, height, false); + + + + // Issue 110 workaround: + // In Firefox, if a div is positioned by percentage, its pixel position may land + // between pixels. The container itself doesn't display this, but an SVG element + // inside this container will be drawn at subpixel precision. In order to draw + // sharp lines, this must be compensated for. This doesn't seem to work inside + // iframes though (like in jsFiddle). + var subPixelFix, rect; + if (isFirefox && container.getBoundingClientRect) { + renderer.subPixelFix = subPixelFix = function () { + css(container, { left: 0, top: 0 }); + rect = container.getBoundingClientRect(); + css(container, { + left: (-(rect.left - pInt(rect.left))) + PX, + top: (-(rect.top - pInt(rect.top))) + PX + }); + }; + + // run the fix now + subPixelFix(); + + // run it on resize + addEvent(win, 'resize', subPixelFix); + } + }, + + /** + * Destroys the renderer and its allocated members. + */ + destroy: function () { + var renderer = this, + rendererDefs = renderer.defs; + renderer.box = null; + renderer.boxWrapper = renderer.boxWrapper.destroy(); + + // Call destroy on all gradient elements + destroyObjectProperties(renderer.gradients || {}); + renderer.gradients = null; + + // Defs are null in VMLRenderer + // Otherwise, destroy them here. + if (rendererDefs) { + renderer.defs = rendererDefs.destroy(); + } + + // Remove sub pixel fix handler + removeEvent(win, 'resize', renderer.subPixelFix); + + renderer.alignedObjects = null; + + return null; + }, + + /** + * Create a wrapper for an SVG element + * @param {Object} nodeName + */ + createElement: function (nodeName) { + var wrapper = new this.Element(); + wrapper.init(this, nodeName); + return wrapper; + }, + + /** + * Dummy function for use in canvas renderer + */ + draw: function () {}, + + /** + * Parse a simple HTML string into SVG tspans + * + * @param {Object} textNode The parent text SVG node + */ + buildText: function (wrapper) { + var textNode = wrapper.element, + lines = pick(wrapper.textStr, '').toString() + .replace(/<(b|strong)>/g, '') + .replace(/<(i|em)>/g, '') + .replace(/
/g, '') + .split(//g), + childNodes = textNode.childNodes, + styleRegex = /style="([^"]+)"/, + hrefRegex = /href="([^"]+)"/, + parentX = attr(textNode, 'x'), + textStyles = wrapper.styles, + width = textStyles && pInt(textStyles.width), + textLineHeight = textStyles && textStyles.lineHeight, + lastLine, + GET_COMPUTED_STYLE = 'getComputedStyle', + i = childNodes.length, + linePositions = []; + + // Needed in IE9 because it doesn't report tspan's offsetHeight (#893) + function getLineHeightByBBox(lineNo) { + linePositions[lineNo] = textNode.getBBox().height; + return mathRound(linePositions[lineNo] - (linePositions[lineNo - 1] || 0)); + } + + // remove old text + while (i--) { + textNode.removeChild(childNodes[i]); + } + + if (width && !wrapper.added) { + this.box.appendChild(textNode); // attach it to the DOM to read offset width + } + + // remove empty line at end + if (lines[lines.length - 1] === '') { + lines.pop(); + } + + // build the lines + each(lines, function (line, lineNo) { + var spans, spanNo = 0, lineHeight; + + line = line.replace(//g, '|||'); + spans = line.split('|||'); + + each(spans, function (span) { + if (span !== '' || spans.length === 1) { + var attributes = {}, + tspan = doc.createElementNS(SVG_NS, 'tspan'); + if (styleRegex.test(span)) { + attr( + tspan, + 'style', + span.match(styleRegex)[1].replace(/(;| |^)color([ :])/, '$1fill$2') + ); + } + if (hrefRegex.test(span)) { + attr(tspan, 'onclick', 'location.href=\"' + span.match(hrefRegex)[1] + '\"'); + css(tspan, { cursor: 'pointer' }); + } + + span = (span.replace(/<(.|\n)*?>/g, '') || ' ') + .replace(/</g, '<') + .replace(/>/g, '>'); + + // issue #38 workaround. + /*if (reverse) { + arr = []; + i = span.length; + while (i--) { + arr.push(span.charAt(i)); + } + span = arr.join(''); + }*/ + + // add the text node + tspan.appendChild(doc.createTextNode(span)); + + if (!spanNo) { // first span in a line, align it to the left + attributes.x = parentX; + } else { + // Firefox ignores spaces at the front or end of the tspan + attributes.dx = 3; // space + } + + // first span on subsequent line, add the line height + if (!spanNo) { + if (lineNo) { + + // allow getting the right offset height in exporting in IE + if (!hasSVG && wrapper.renderer.forExport) { + css(tspan, { display: 'block' }); + } + + // Webkit and opera sometimes return 'normal' as the line height. In that + // case, webkit uses offsetHeight, while Opera falls back to 18 + lineHeight = win[GET_COMPUTED_STYLE] && + pInt(win[GET_COMPUTED_STYLE](lastLine, null).getPropertyValue('line-height')); + + if (!lineHeight || isNaN(lineHeight)) { + lineHeight = textLineHeight || lastLine.offsetHeight || getLineHeightByBBox(lineNo) || 18; + } + attr(tspan, 'dy', lineHeight); + } + lastLine = tspan; // record for use in next line + } + + // add attributes + attr(tspan, attributes); + + // append it + textNode.appendChild(tspan); + + spanNo++; + + // check width and apply soft breaks + if (width) { + var words = span.replace(/-/g, '- ').split(' '), + tooLong, + actualWidth, + rest = []; + + while (words.length || rest.length) { + actualWidth = wrapper.getBBox().width; + tooLong = actualWidth > width; + if (!tooLong || words.length === 1) { // new line needed + words = rest; + rest = []; + if (words.length) { + tspan = doc.createElementNS(SVG_NS, 'tspan'); + attr(tspan, { + dy: textLineHeight || 16, + x: parentX + }); + textNode.appendChild(tspan); + + if (actualWidth > width) { // a single word is pressing it out + width = actualWidth; + } + } + } else { // append to existing line tspan + tspan.removeChild(tspan.firstChild); + rest.unshift(words.pop()); + } + if (words.length) { + tspan.appendChild(doc.createTextNode(words.join(' ').replace(/- /g, '-'))); + } + } + } + } + }); + }); + }, + + /** + * Create a button with preset states + * @param {String} text + * @param {Number} x + * @param {Number} y + * @param {Function} callback + * @param {Object} normalState + * @param {Object} hoverState + * @param {Object} pressedState + */ + button: function (text, x, y, callback, normalState, hoverState, pressedState) { + var label = this.label(text, x, y), + curState = 0, + stateOptions, + stateStyle, + normalStyle, + hoverStyle, + pressedStyle, + STYLE = 'style', + verticalGradient = { x1: 0, y1: 0, x2: 0, y2: 1 }; + + // prepare the attributes + /*jslint white: true*/ + normalState = merge(hash( + STROKE_WIDTH, 1, + STROKE, '#999', + FILL, hash( + LINEAR_GRADIENT, verticalGradient, + STOPS, [ + [0, '#FFF'], + [1, '#DDD'] + ] + ), + 'r', 3, + 'padding', 3, + STYLE, hash( + 'color', 'black' + ) + ), normalState); + /*jslint white: false*/ + normalStyle = normalState[STYLE]; + delete normalState[STYLE]; + + /*jslint white: true*/ + hoverState = merge(normalState, hash( + STROKE, '#68A', + FILL, hash( + LINEAR_GRADIENT, verticalGradient, + STOPS, [ + [0, '#FFF'], + [1, '#ACF'] + ] + ) + ), hoverState); + /*jslint white: false*/ + hoverStyle = hoverState[STYLE]; + delete hoverState[STYLE]; + + /*jslint white: true*/ + pressedState = merge(normalState, hash( + STROKE, '#68A', + FILL, hash( + LINEAR_GRADIENT, verticalGradient, + STOPS, [ + [0, '#9BD'], + [1, '#CDF'] + ] + ) + ), pressedState); + /*jslint white: false*/ + pressedStyle = pressedState[STYLE]; + delete pressedState[STYLE]; + + // add the events + addEvent(label.element, 'mouseenter', function () { + label.attr(hoverState) + .css(hoverStyle); + }); + addEvent(label.element, 'mouseleave', function () { + stateOptions = [normalState, hoverState, pressedState][curState]; + stateStyle = [normalStyle, hoverStyle, pressedStyle][curState]; + label.attr(stateOptions) + .css(stateStyle); + }); + + label.setState = function (state) { + curState = state; + if (!state) { + label.attr(normalState) + .css(normalStyle); + } else if (state === 2) { + label.attr(pressedState) + .css(pressedStyle); + } + }; + + return label + .on('click', function () { + callback.call(label); + }) + .attr(normalState) + .css(extend({ cursor: 'default' }, normalStyle)); + }, + + /** + * Make a straight line crisper by not spilling out to neighbour pixels + * @param {Array} points + * @param {Number} width + */ + crispLine: function (points, width) { + // points format: [M, 0, 0, L, 100, 0] + // normalize to a crisp line + if (points[1] === points[4]) { + points[1] = points[4] = mathRound(points[1]) + (width % 2 / 2); + } + if (points[2] === points[5]) { + points[2] = points[5] = mathRound(points[2]) + (width % 2 / 2); + } + return points; + }, + + + /** + * Draw a path + * @param {Array} path An SVG path in array form + */ + path: function (path) { + return this.createElement('path').attr({ + d: path, + fill: NONE + }); + }, + + /** + * Draw and return an SVG circle + * @param {Number} x The x position + * @param {Number} y The y position + * @param {Number} r The radius + */ + circle: function (x, y, r) { + var attr = isObject(x) ? + x : + { + x: x, + y: y, + r: r + }; + + return this.createElement('circle').attr(attr); + }, + + /** + * Draw and return an arc + * @param {Number} x X position + * @param {Number} y Y position + * @param {Number} r Radius + * @param {Number} innerR Inner radius like used in donut charts + * @param {Number} start Starting angle + * @param {Number} end Ending angle + */ + arc: function (x, y, r, innerR, start, end) { + // arcs are defined as symbols for the ability to set + // attributes in attr and animate + + if (isObject(x)) { + y = x.y; + r = x.r; + innerR = x.innerR; + start = x.start; + end = x.end; + x = x.x; + } + return this.symbol('arc', x || 0, y || 0, r || 0, r || 0, { + innerR: innerR || 0, + start: start || 0, + end: end || 0 + }); + }, + + /** + * Draw and return a rectangle + * @param {Number} x Left position + * @param {Number} y Top position + * @param {Number} width + * @param {Number} height + * @param {Number} r Border corner radius + * @param {Number} strokeWidth A stroke width can be supplied to allow crisp drawing + */ + rect: function (x, y, width, height, r, strokeWidth) { + if (isObject(x)) { + y = x.y; + width = x.width; + height = x.height; + r = x.r; + strokeWidth = x.strokeWidth; + x = x.x; + } + var wrapper = this.createElement('rect').attr({ + rx: r, + ry: r, + fill: NONE + }); + + return wrapper.attr(wrapper.crisp(strokeWidth, x, y, mathMax(width, 0), mathMax(height, 0))); + }, + + /** + * Resize the box and re-align all aligned elements + * @param {Object} width + * @param {Object} height + * @param {Boolean} animate + * + */ + setSize: function (width, height, animate) { + var renderer = this, + alignedObjects = renderer.alignedObjects, + i = alignedObjects.length; + + renderer.width = width; + renderer.height = height; + + renderer.boxWrapper[pick(animate, true) ? 'animate' : 'attr']({ + width: width, + height: height + }); + + while (i--) { + alignedObjects[i].align(); + } + }, + + /** + * Create a group + * @param {String} name The group will be given a class name of 'highcharts-{name}'. + * This can be used for styling and scripting. + */ + g: function (name) { + var elem = this.createElement('g'); + return defined(name) ? elem.attr({ 'class': PREFIX + name }) : elem; + }, + + /** + * Display an image + * @param {String} src + * @param {Number} x + * @param {Number} y + * @param {Number} width + * @param {Number} height + */ + image: function (src, x, y, width, height) { + var attribs = { + preserveAspectRatio: NONE + }, + elemWrapper; + + // optional properties + if (arguments.length > 1) { + extend(attribs, { + x: x, + y: y, + width: width, + height: height + }); + } + + elemWrapper = this.createElement('image').attr(attribs); + + // set the href in the xlink namespace + if (elemWrapper.element.setAttributeNS) { + elemWrapper.element.setAttributeNS('http://www.w3.org/1999/xlink', + 'href', src); + } else { + // could be exporting in IE + // using href throws "not supported" in ie7 and under, requries regex shim to fix later + elemWrapper.element.setAttribute('hc-svg-href', src); + } + + return elemWrapper; + }, + + /** + * Draw a symbol out of pre-defined shape paths from the namespace 'symbol' object. + * + * @param {Object} symbol + * @param {Object} x + * @param {Object} y + * @param {Object} radius + * @param {Object} options + */ + symbol: function (symbol, x, y, width, height, options) { + + var obj, + + // get the symbol definition function + symbolFn = this.symbols[symbol], + + // check if there's a path defined for this symbol + path = symbolFn && symbolFn( + mathRound(x), + mathRound(y), + width, + height, + options + ), + + imageRegex = /^url\((.*?)\)$/, + imageSrc, + imageSize, + centerImage; + + if (path) { + + obj = this.path(path); + // expando properties for use in animate and attr + extend(obj, { + symbolName: symbol, + x: x, + y: y, + width: width, + height: height + }); + if (options) { + extend(obj, options); + } + + + // image symbols + } else if (imageRegex.test(symbol)) { + + // On image load, set the size and position + centerImage = function (img, size) { + img.attr({ + width: size[0], + height: size[1] + }); + + if (!img.alignByTranslate) { // #185 + img.translate( + -mathRound(size[0] / 2), + -mathRound(size[1] / 2) + ); + } + }; + + imageSrc = symbol.match(imageRegex)[1]; + imageSize = symbolSizes[imageSrc]; + + // create the image synchronously, add attribs async + obj = this.image(imageSrc) + .attr({ + x: x, + y: y + }); + + if (imageSize) { + centerImage(obj, imageSize); + } else { + // initialize image to be 0 size so export will still function if there's no cached sizes + obj.attr({ width: 0, height: 0 }); + + // create a dummy JavaScript image to get the width and height + createElement('img', { + onload: function () { + var img = this; + + centerImage(obj, symbolSizes[imageSrc] = [img.width, img.height]); + }, + src: imageSrc + }); + } + } + + return obj; + }, + + /** + * An extendable collection of functions for defining symbol paths. + */ + symbols: { + 'circle': function (x, y, w, h) { + var cpw = 0.166 * w; + return [ + M, x + w / 2, y, + 'C', x + w + cpw, y, x + w + cpw, y + h, x + w / 2, y + h, + 'C', x - cpw, y + h, x - cpw, y, x + w / 2, y, + 'Z' + ]; + }, + + 'square': function (x, y, w, h) { + return [ + M, x, y, + L, x + w, y, + x + w, y + h, + x, y + h, + 'Z' + ]; + }, + + 'triangle': function (x, y, w, h) { + return [ + M, x + w / 2, y, + L, x + w, y + h, + x, y + h, + 'Z' + ]; + }, + + 'triangle-down': function (x, y, w, h) { + return [ + M, x, y, + L, x + w, y, + x + w / 2, y + h, + 'Z' + ]; + }, + 'diamond': function (x, y, w, h) { + return [ + M, x + w / 2, y, + L, x + w, y + h / 2, + x + w / 2, y + h, + x, y + h / 2, + 'Z' + ]; + }, + 'arc': function (x, y, w, h, options) { + var start = options.start, + radius = options.r || w || h, + end = options.end - 0.000001, // to prevent cos and sin of start and end from becoming equal on 360 arcs + innerRadius = options.innerR, + cosStart = mathCos(start), + sinStart = mathSin(start), + cosEnd = mathCos(end), + sinEnd = mathSin(end), + longArc = options.end - start < mathPI ? 0 : 1; + + return [ + M, + x + radius * cosStart, + y + radius * sinStart, + 'A', // arcTo + radius, // x radius + radius, // y radius + 0, // slanting + longArc, // long or short arc + 1, // clockwise + x + radius * cosEnd, + y + radius * sinEnd, + L, + x + innerRadius * cosEnd, + y + innerRadius * sinEnd, + 'A', // arcTo + innerRadius, // x radius + innerRadius, // y radius + 0, // slanting + longArc, // long or short arc + 0, // clockwise + x + innerRadius * cosStart, + y + innerRadius * sinStart, + + 'Z' // close + ]; + } + }, + + /** + * Define a clipping rectangle + * @param {String} id + * @param {Number} x + * @param {Number} y + * @param {Number} width + * @param {Number} height + */ + clipRect: function (x, y, width, height) { + var wrapper, + id = PREFIX + idCounter++, + + clipPath = this.createElement('clipPath').attr({ + id: id + }).add(this.defs); + + wrapper = this.rect(x, y, width, height, 0).add(clipPath); + wrapper.id = id; + wrapper.clipPath = clipPath; + + return wrapper; + }, + + + /** + * Take a color and return it if it's a string, make it a gradient if it's a + * gradient configuration object. Prior to Highstock, an array was used to define + * a linear gradient with pixel positions relative to the SVG. In newer versions + * we change the coordinates to apply relative to the shape, using coordinates + * 0-1 within the shape. To preserve backwards compatibility, linearGradient + * in this definition is an object of x1, y1, x2 and y2. + * + * @param {Object} color The color or config object + */ + color: function (color, elem, prop) { + var colorObject, + regexRgba = /^rgba/; + if (color && color.linearGradient) { + var renderer = this, + linearGradient = color[LINEAR_GRADIENT], + relativeToShape = !isArray(linearGradient), // keep backwards compatibility + id, + gradients = renderer.gradients, + gradientObject, + x1 = linearGradient.x1 || linearGradient[0] || 0, + y1 = linearGradient.y1 || linearGradient[1] || 0, + x2 = linearGradient.x2 || linearGradient[2] || 0, + y2 = linearGradient.y2 || linearGradient[3] || 0, + stopColor, + stopOpacity, + // Create a unique key in order to reuse gradient objects. #671. + key = [relativeToShape, x1, y1, x2, y2, color.stops.join(',')].join(','); + + // If the gradient with the same setup is already created, reuse it + if (gradients[key]) { + id = attr(gradients[key].element, 'id'); + + // If not, create a new one and keep the reference. + } else { + id = PREFIX + idCounter++; + gradientObject = renderer.createElement(LINEAR_GRADIENT) + .attr(extend({ + id: id, + x1: x1, + y1: y1, + x2: x2, + y2: y2 + }, relativeToShape ? null : { gradientUnits: 'userSpaceOnUse' })) + .add(renderer.defs); + + // The gradient needs to keep a list of stops to be able to destroy them + gradientObject.stops = []; + each(color.stops, function (stop) { + var stopObject; + if (regexRgba.test(stop[1])) { + colorObject = Color(stop[1]); + stopColor = colorObject.get('rgb'); + stopOpacity = colorObject.get('a'); + } else { + stopColor = stop[1]; + stopOpacity = 1; + } + stopObject = renderer.createElement('stop').attr({ + offset: stop[0], + 'stop-color': stopColor, + 'stop-opacity': stopOpacity + }).add(gradientObject); + + // Add the stop element to the gradient + gradientObject.stops.push(stopObject); + }); + + // Keep a reference to the gradient object so it is possible to reuse it and + // destroy it later + gradients[key] = gradientObject; + } + + return 'url(' + this.url + '#' + id + ')'; + + // Webkit and Batik can't show rgba. + } else if (regexRgba.test(color)) { + colorObject = Color(color); + attr(elem, prop + '-opacity', colorObject.get('a')); + + return colorObject.get('rgb'); + + + } else { + // Remove the opacity attribute added above. Does not throw if the attribute is not there. + elem.removeAttribute(prop + '-opacity'); + + return color; + } + + }, + + + /** + * Add text to the SVG object + * @param {String} str + * @param {Number} x Left position + * @param {Number} y Top position + * @param {Boolean} useHTML Use HTML to render the text + */ + text: function (str, x, y, useHTML) { + + // declare variables + var renderer = this, + defaultChartStyle = defaultOptions.chart.style, + wrapper; + + if (useHTML && !renderer.forExport) { + return renderer.html(str, x, y); + } + + x = mathRound(pick(x, 0)); + y = mathRound(pick(y, 0)); + + wrapper = renderer.createElement('text') + .attr({ + x: x, + y: y, + text: str + }) + .css({ + fontFamily: defaultChartStyle.fontFamily, + fontSize: defaultChartStyle.fontSize + }); + + wrapper.x = x; + wrapper.y = y; + return wrapper; + }, + + + /** + * Create HTML text node. This is used by the VML renderer as well as the SVG + * renderer through the useHTML option. + * + * @param {String} str + * @param {Number} x + * @param {Number} y + */ + html: function (str, x, y) { + var defaultChartStyle = defaultOptions.chart.style, + wrapper = this.createElement('span'), + attrSetters = wrapper.attrSetters, + element = wrapper.element, + renderer = wrapper.renderer; + + // Text setter + attrSetters.text = function (value) { + element.innerHTML = value; + return false; + }; + + // Various setters which rely on update transform + attrSetters.x = attrSetters.y = attrSetters.align = function (value, key) { + if (key === 'align') { + key = 'textAlign'; // Do not overwrite the SVGElement.align method. Same as VML. + } + wrapper[key] = value; + wrapper.htmlUpdateTransform(); + return false; + }; + + // Set the default attributes + wrapper.attr({ + text: str, + x: mathRound(x), + y: mathRound(y) + }) + .css({ + position: ABSOLUTE, + whiteSpace: 'nowrap', + fontFamily: defaultChartStyle.fontFamily, + fontSize: defaultChartStyle.fontSize + }); + + // Use the HTML specific .css method + wrapper.css = wrapper.htmlCss; + + // This is specific for HTML within SVG + if (renderer.isSVG) { + wrapper.add = function (svgGroupWrapper) { + + var htmlGroup, + htmlGroupStyle, + container = renderer.box.parentNode; + + // Create a mock group to hold the HTML elements + if (svgGroupWrapper) { + htmlGroup = svgGroupWrapper.div; + if (!htmlGroup) { + htmlGroup = svgGroupWrapper.div = createElement(DIV, { + className: attr(svgGroupWrapper.element, 'class') + }, { + position: ABSOLUTE, + left: svgGroupWrapper.attr('translateX') + PX, + top: svgGroupWrapper.attr('translateY') + PX + }, container); + + // Ensure dynamic updating position + htmlGroupStyle = htmlGroup.style; + extend(svgGroupWrapper.attrSetters, { + translateX: function (value) { + htmlGroupStyle.left = value + PX; + }, + translateY: function (value) { + htmlGroupStyle.top = value + PX; + }, + visibility: function (value, key) { + htmlGroupStyle[key] = value; + } + }); + + } + } else { + htmlGroup = container; + } + + htmlGroup.appendChild(element); + + // Shared with VML: + wrapper.added = true; + if (wrapper.alignOnAdd) { + wrapper.htmlUpdateTransform(); + } + + return wrapper; + }; + } + return wrapper; + }, + + /** + * Utility to return the baseline offset and total line height from the font size + */ + fontMetrics: function (fontSize) { + fontSize = pInt(fontSize || 11); + + // Empirical values found by comparing font size and bounding box height. + // Applies to the default font family. http://jsfiddle.net/highcharts/7xvn7/ + var lineHeight = fontSize < 24 ? fontSize + 4 : mathRound(fontSize * 1.2), + baseline = mathRound(lineHeight * 0.8); + + return { + h: lineHeight, + b: baseline + }; + }, + + /** + * Add a label, a text item that can hold a colored or gradient background + * as well as a border and shadow. + * @param {string} str + * @param {Number} x + * @param {Number} y + * @param {String} shape + * @param {Number} anchorX In case the shape has a pointer, like a flag, this is the + * coordinates it should be pinned to + * @param {Number} anchorY + * @param {Boolean} baseline Whether to position the label relative to the text baseline, + * like renderer.text, or to the upper border of the rectangle. + * @param {String} className Class name for the group + */ + label: function (str, x, y, shape, anchorX, anchorY, useHTML, baseline, className) { + + var renderer = this, + wrapper = renderer.g(className), + text = renderer.text('', 0, 0, useHTML) + .attr({ + zIndex: 1 + }) + .add(wrapper), + box, + bBox, + alignFactor = 0, + padding = 3, + width, + height, + wrapperX, + wrapperY, + crispAdjust = 0, + deferredAttr = {}, + baselineOffset, + attrSetters = wrapper.attrSetters; + + /** + * This function runs after the label is added to the DOM (when the bounding box is + * available), and after the text of the label is updated to detect the new bounding + * box and reflect it in the border box. + */ + function updateBoxSize() { + var boxY, + style = text.element.style; + + bBox = (width === undefined || height === undefined || wrapper.styles.textAlign) && + text.getBBox(true); + wrapper.width = (width || bBox.width || 0) + 2 * padding; + wrapper.height = (height || bBox.height || 0) + 2 * padding; + + // update the label-scoped y offset + baselineOffset = padding + renderer.fontMetrics(style && style.fontSize).b; + + + // create the border box if it is not already present + if (!box) { + boxY = baseline ? -baselineOffset : 0; + + wrapper.box = box = shape ? + renderer.symbol(shape, -alignFactor * padding, boxY, wrapper.width, wrapper.height) : + renderer.rect(-alignFactor * padding, boxY, wrapper.width, wrapper.height, 0, deferredAttr[STROKE_WIDTH]); + box.add(wrapper); + } + + // apply the box attributes + box.attr(merge({ + width: wrapper.width, + height: wrapper.height + }, deferredAttr)); + deferredAttr = null; + } + + /** + * This function runs after setting text or padding, but only if padding is changed + */ + function updateTextPadding() { + var styles = wrapper.styles, + textAlign = styles && styles.textAlign, + x = padding * (1 - alignFactor), + y; + + // determin y based on the baseline + y = baseline ? 0 : baselineOffset; + + // compensate for alignment + if (defined(width) && (textAlign === 'center' || textAlign === 'right')) { + x += { center: 0.5, right: 1 }[textAlign] * (width - bBox.width); + } + + // update if anything changed + if (x !== text.x || y !== text.y) { + text.attr({ + x: x, + y: y + }); + } + + // record current values + text.x = x; + text.y = y; + } + + /** + * Set a box attribute, or defer it if the box is not yet created + * @param {Object} key + * @param {Object} value + */ + function boxAttr(key, value) { + if (box) { + box.attr(key, value); + } else { + deferredAttr[key] = value; + } + } + + function getSizeAfterAdd() { + wrapper.attr({ + text: str, // alignment is available now + x: x, + y: y, + anchorX: anchorX, + anchorY: anchorY + }); + } + + /** + * After the text element is added, get the desired size of the border box + * and add it before the text in the DOM. + */ + addEvent(wrapper, 'add', getSizeAfterAdd); + + /* + * Add specific attribute setters. + */ + + // only change local variables + attrSetters.width = function (value) { + width = value; + return false; + }; + attrSetters.height = function (value) { + height = value; + return false; + }; + attrSetters.padding = function (value) { + if (defined(value) && value !== padding) { + padding = value; + updateTextPadding(); + } + + return false; + }; + + // change local variable and set attribue as well + attrSetters.align = function (value) { + alignFactor = { left: 0, center: 0.5, right: 1 }[value]; + return false; // prevent setting text-anchor on the group + }; + + // apply these to the box and the text alike + attrSetters.text = function (value, key) { + text.attr(key, value); + updateBoxSize(); + updateTextPadding(); + return false; + }; + + // apply these to the box but not to the text + attrSetters[STROKE_WIDTH] = function (value, key) { + crispAdjust = value % 2 / 2; + boxAttr(key, value); + return false; + }; + attrSetters.stroke = attrSetters.fill = attrSetters.r = function (value, key) { + boxAttr(key, value); + return false; + }; + attrSetters.anchorX = function (value, key) { + anchorX = value; + boxAttr(key, value + crispAdjust - wrapperX); + return false; + }; + attrSetters.anchorY = function (value, key) { + anchorY = value; + boxAttr(key, value - wrapperY); + return false; + }; + + // rename attributes + attrSetters.x = function (value) { + wrapper.x = value; // for animation getter + value -= alignFactor * ((width || bBox.width) + padding); + wrapperX = mathRound(value); + + wrapper.attr('translateX', wrapperX); + return false; + }; + attrSetters.y = function (value) { + wrapperY = wrapper.y = mathRound(value); + wrapper.attr('translateY', value); + return false; + }; + + // Redirect certain methods to either the box or the text + var baseCss = wrapper.css; + return extend(wrapper, { + /** + * Pick up some properties and apply them to the text instead of the wrapper + */ + css: function (styles) { + if (styles) { + var textStyles = {}; + styles = merge({}, styles); // create a copy to avoid altering the original object (#537) + each(['fontSize', 'fontWeight', 'fontFamily', 'color', 'lineHeight', 'width'], function (prop) { + if (styles[prop] !== UNDEFINED) { + textStyles[prop] = styles[prop]; + delete styles[prop]; + } + }); + text.css(textStyles); + } + return baseCss.call(wrapper, styles); + }, + /** + * Return the bounding box of the box, not the group + */ + getBBox: function () { + return box.getBBox(); + }, + /** + * Apply the shadow to the box + */ + shadow: function (b) { + box.shadow(b); + return wrapper; + }, + /** + * Destroy and release memory. + */ + destroy: function () { + removeEvent(wrapper, 'add', getSizeAfterAdd); + + // Added by button implementation + removeEvent(wrapper.element, 'mouseenter'); + removeEvent(wrapper.element, 'mouseleave'); + + if (text) { + // Destroy the text element + text = text.destroy(); + } + // Call base implementation to destroy the rest + SVGElement.prototype.destroy.call(wrapper); + } + }); + } +}; // end SVGRenderer + + +// general renderer +Renderer = SVGRenderer; + + +/* **************************************************************************** + * * + * START OF INTERNET EXPLORER <= 8 SPECIFIC CODE * + * * + * For applications and websites that don't need IE support, like platform * + * targeted mobile apps and web apps, this code can be removed. * + * * + *****************************************************************************/ + +/** + * @constructor + */ +var VMLRenderer; +if (!hasSVG && !useCanVG) { + +/** + * The VML element wrapper. + */ +var VMLElement = { + + /** + * Initialize a new VML element wrapper. It builds the markup as a string + * to minimize DOM traffic. + * @param {Object} renderer + * @param {Object} nodeName + */ + init: function (renderer, nodeName) { + var wrapper = this, + markup = ['<', nodeName, ' filled="f" stroked="f"'], + style = ['position: ', ABSOLUTE, ';']; + + // divs and shapes need size + if (nodeName === 'shape' || nodeName === DIV) { + style.push('left:0;top:0;width:10px;height:10px;'); + } + if (docMode8) { + style.push('visibility: ', nodeName === DIV ? HIDDEN : VISIBLE); + } + + markup.push(' style="', style.join(''), '"/>'); + + // create element with default attributes and style + if (nodeName) { + markup = nodeName === DIV || nodeName === 'span' || nodeName === 'img' ? + markup.join('') + : renderer.prepVML(markup); + wrapper.element = createElement(markup); + } + + wrapper.renderer = renderer; + wrapper.attrSetters = {}; + }, + + /** + * Add the node to the given parent + * @param {Object} parent + */ + add: function (parent) { + var wrapper = this, + renderer = wrapper.renderer, + element = wrapper.element, + box = renderer.box, + inverted = parent && parent.inverted, + + // get the parent node + parentNode = parent ? + parent.element || parent : + box; + + + // if the parent group is inverted, apply inversion on all children + if (inverted) { // only on groups + renderer.invertChild(element, parentNode); + } + + // issue #140 workaround - related to #61 and #74 + if (docMode8 && parentNode.gVis === HIDDEN) { + css(element, { visibility: HIDDEN }); + } + + // append it + parentNode.appendChild(element); + + // align text after adding to be able to read offset + wrapper.added = true; + if (wrapper.alignOnAdd && !wrapper.deferUpdateTransform) { + wrapper.updateTransform(); + } + + // fire an event for internal hooks + fireEvent(wrapper, 'add'); + + return wrapper; + }, + + /** + * In IE8 documentMode 8, we need to recursively set the visibility down in the DOM + * tree for nested groups. Related to #61, #586. + */ + toggleChildren: function (element, visibility) { + var childNodes = element.childNodes, + i = childNodes.length; + + while (i--) { + + // apply the visibility + css(childNodes[i], { visibility: visibility }); + + // we have a nested group, apply it to its children again + if (childNodes[i].nodeName === 'DIV') { + this.toggleChildren(childNodes[i], visibility); + } + } + }, + + /** + * VML always uses htmlUpdateTransform + */ + updateTransform: SVGElement.prototype.htmlUpdateTransform, + + /** + * Get or set attributes + */ + attr: function (hash, val) { + var wrapper = this, + key, + value, + i, + result, + element = wrapper.element || {}, + elemStyle = element.style, + nodeName = element.nodeName, + renderer = wrapper.renderer, + symbolName = wrapper.symbolName, + hasSetSymbolSize, + shadows = wrapper.shadows, + skipAttr, + attrSetters = wrapper.attrSetters, + ret = wrapper; + + // single key-value pair + if (isString(hash) && defined(val)) { + key = hash; + hash = {}; + hash[key] = val; + } + + // used as a getter, val is undefined + if (isString(hash)) { + key = hash; + if (key === 'strokeWidth' || key === 'stroke-width') { + ret = wrapper.strokeweight; + } else { + ret = wrapper[key]; + } + + // setter + } else { + for (key in hash) { + value = hash[key]; + skipAttr = false; + + // check for a specific attribute setter + result = attrSetters[key] && attrSetters[key](value, key); + + if (result !== false && value !== null) { // #620 + + if (result !== UNDEFINED) { + value = result; // the attribute setter has returned a new value to set + } + + + // prepare paths + // symbols + if (symbolName && /^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(key)) { + // if one of the symbol size affecting parameters are changed, + // check all the others only once for each call to an element's + // .attr() method + if (!hasSetSymbolSize) { + wrapper.symbolAttr(hash); + + hasSetSymbolSize = true; + } + skipAttr = true; + + } else if (key === 'd') { + value = value || []; + wrapper.d = value.join(' '); // used in getter for animation + + // convert paths + i = value.length; + var convertedPath = []; + while (i--) { + + // Multiply by 10 to allow subpixel precision. + // Substracting half a pixel seems to make the coordinates + // align with SVG, but this hasn't been tested thoroughly + if (isNumber(value[i])) { + convertedPath[i] = mathRound(value[i] * 10) - 5; + } else if (value[i] === 'Z') { // close the path + convertedPath[i] = 'x'; + } else { + convertedPath[i] = value[i]; + } + + } + value = convertedPath.join(' ') || 'x'; + element.path = value; + + // update shadows + if (shadows) { + i = shadows.length; + while (i--) { + shadows[i].path = value; + } + } + skipAttr = true; + + // directly mapped to css + } else if (key === 'zIndex' || key === 'visibility') { + + // workaround for #61 and #586 + if (docMode8 && key === 'visibility' && nodeName === 'DIV') { + element.gVis = value; + wrapper.toggleChildren(element, value); + if (value === VISIBLE) { // #74 + value = null; + } + } + + if (value) { + elemStyle[key] = value; + } + + + + skipAttr = true; + + // width and height + } else if (key === 'width' || key === 'height') { + + value = mathMax(0, value); // don't set width or height below zero (#311) + + this[key] = value; // used in getter + + // clipping rectangle special + if (wrapper.updateClipping) { + wrapper[key] = value; + wrapper.updateClipping(); + } else { + // normal + elemStyle[key] = value; + } + + skipAttr = true; + + // x and y + } else if (key === 'x' || key === 'y') { + + wrapper[key] = value; // used in getter + elemStyle[{ x: 'left', y: 'top' }[key]] = value; + + // class name + } else if (key === 'class') { + // IE8 Standards mode has problems retrieving the className + element.className = value; + + // stroke + } else if (key === 'stroke') { + + value = renderer.color(value, element, key); + + key = 'strokecolor'; + + // stroke width + } else if (key === 'stroke-width' || key === 'strokeWidth') { + element.stroked = value ? true : false; + key = 'strokeweight'; + wrapper[key] = value; // used in getter, issue #113 + if (isNumber(value)) { + value += PX; + } + + // dashStyle + } else if (key === 'dashstyle') { + var strokeElem = element.getElementsByTagName('stroke')[0] || + createElement(renderer.prepVML(['']), null, null, element); + strokeElem[key] = value || 'solid'; + wrapper.dashstyle = value; /* because changing stroke-width will change the dash length + and cause an epileptic effect */ + skipAttr = true; + + // fill + } else if (key === 'fill') { + + if (nodeName === 'SPAN') { // text color + elemStyle.color = value; + } else { + element.filled = value !== NONE ? true : false; + + value = renderer.color(value, element, key); + + key = 'fillcolor'; + } + + // translation for animation + } else if (key === 'translateX' || key === 'translateY' || key === 'rotation') { + wrapper[key] = value; + wrapper.updateTransform(); + + skipAttr = true; + + // text for rotated and non-rotated elements + } else if (key === 'text') { + this.bBox = null; + element.innerHTML = value; + skipAttr = true; + } + + // let the shadow follow the main element + if (shadows && key === 'visibility') { + i = shadows.length; + while (i--) { + shadows[i].style[key] = value; + } + } + + + + if (!skipAttr) { + if (docMode8) { // IE8 setAttribute bug + element[key] = value; + } else { + attr(element, key, value); + } + } + + } + } + } + return ret; + }, + + /** + * Set the element's clipping to a predefined rectangle + * + * @param {String} id The id of the clip rectangle + */ + clip: function (clipRect) { + var wrapper = this, + clipMembers = clipRect.members, + element = wrapper.element; + + clipMembers.push(wrapper); + wrapper.destroyClip = function () { + erase(clipMembers, wrapper); + }; + + // Issue #863 workaround - related to #140, #61, #74 + if (element.parentNode.className === 'highcharts-tracker' && !docMode8) { + css(element, { visibility: HIDDEN }); + } + + return wrapper.css(clipRect.getCSS(wrapper.inverted)); + }, + + /** + * Set styles for the element + * @param {Object} styles + */ + css: SVGElement.prototype.htmlCss, + + /** + * Removes a child either by removeChild or move to garbageBin. + * Issue 490; in VML removeChild results in Orphaned nodes according to sIEve, discardElement does not. + */ + safeRemoveChild: function (element) { + // discardElement will detach the node from its parent before attaching it + // to the garbage bin. Therefore it is important that the node is attached and have parent. + var parentNode = element.parentNode; + if (parentNode) { + discardElement(element); + } + }, + + /** + * Extend element.destroy by removing it from the clip members array + */ + destroy: function () { + var wrapper = this; + + if (wrapper.destroyClip) { + wrapper.destroyClip(); + } + + return SVGElement.prototype.destroy.apply(wrapper); + }, + + /** + * Remove all child nodes of a group, except the v:group element + */ + empty: function () { + var element = this.element, + childNodes = element.childNodes, + i = childNodes.length, + node; + + while (i--) { + node = childNodes[i]; + node.parentNode.removeChild(node); + } + }, + + /** + * Add an event listener. VML override for normalizing event parameters. + * @param {String} eventType + * @param {Function} handler + */ + on: function (eventType, handler) { + // simplest possible event model for internal use + this.element['on' + eventType] = function () { + var evt = win.event; + evt.target = evt.srcElement; + handler(evt); + }; + return this; + }, + + /** + * Apply a drop shadow by copying elements and giving them different strokes + * @param {Boolean} apply + */ + shadow: function (apply, group) { + var shadows = [], + i, + element = this.element, + renderer = this.renderer, + shadow, + elemStyle = element.style, + markup, + path = element.path; + + // some times empty paths are not strings + if (path && typeof path.value !== 'string') { + path = 'x'; + } + + if (apply) { + for (i = 1; i <= 3; i++) { + markup = ['']; + shadow = createElement(renderer.prepVML(markup), + null, { + left: pInt(elemStyle.left) + 1, + top: pInt(elemStyle.top) + 1 + } + ); + + // apply the opacity + markup = ['']; + createElement(renderer.prepVML(markup), null, null, shadow); + + + // insert it + if (group) { + group.element.appendChild(shadow); + } else { + element.parentNode.insertBefore(shadow, element); + } + + // record it + shadows.push(shadow); + + } + + this.shadows = shadows; + } + return this; + + } +}; +VMLElement = extendClass(SVGElement, VMLElement); + +/** + * The VML renderer + */ +var VMLRendererExtension = { // inherit SVGRenderer + + Element: VMLElement, + isIE8: userAgent.indexOf('MSIE 8.0') > -1, + + + /** + * Initialize the VMLRenderer + * @param {Object} container + * @param {Number} width + * @param {Number} height + */ + init: function (container, width, height) { + var renderer = this, + boxWrapper, + box; + + renderer.alignedObjects = []; + + boxWrapper = renderer.createElement(DIV); + box = boxWrapper.element; + box.style.position = RELATIVE; // for freeform drawing using renderer directly + container.appendChild(boxWrapper.element); + + + // generate the containing box + renderer.box = box; + renderer.boxWrapper = boxWrapper; + + + renderer.setSize(width, height, false); + + // The only way to make IE6 and IE7 print is to use a global namespace. However, + // with IE8 the only way to make the dynamic shapes visible in screen and print mode + // seems to be to add the xmlns attribute and the behaviour style inline. + if (!doc.namespaces.hcv) { + + doc.namespaces.add('hcv', 'urn:schemas-microsoft-com:vml'); + + // setup default css + doc.createStyleSheet().cssText = + 'hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke' + + '{ behavior:url(#default#VML); display: inline-block; } '; + + } + }, + + /** + * Define a clipping rectangle. In VML it is accomplished by storing the values + * for setting the CSS style to all associated members. + * + * @param {Number} x + * @param {Number} y + * @param {Number} width + * @param {Number} height + */ + clipRect: function (x, y, width, height) { + + // create a dummy element + var clipRect = this.createElement(); + + // mimic a rectangle with its style object for automatic updating in attr + return extend(clipRect, { + members: [], + left: x, + top: y, + width: width, + height: height, + getCSS: function (inverted) { + var rect = this,//clipRect.element.style, + top = rect.top, + left = rect.left, + right = left + rect.width, + bottom = top + rect.height, + ret = { + clip: 'rect(' + + mathRound(inverted ? left : top) + 'px,' + + mathRound(inverted ? bottom : right) + 'px,' + + mathRound(inverted ? right : bottom) + 'px,' + + mathRound(inverted ? top : left) + 'px)' + }; + + // issue 74 workaround + if (!inverted && docMode8) { + extend(ret, { + width: right + PX, + height: bottom + PX + }); + } + + return ret; + }, + + // used in attr and animation to update the clipping of all members + updateClipping: function () { + each(clipRect.members, function (member) { + member.css(clipRect.getCSS(member.inverted)); + }); + } + }); + + }, + + + /** + * Take a color and return it if it's a string, make it a gradient if it's a + * gradient configuration object, and apply opacity. + * + * @param {Object} color The color or config object + */ + color: function (color, elem, prop) { + var colorObject, + regexRgba = /^rgba/, + markup; + + if (color && color[LINEAR_GRADIENT]) { + + var stopColor, + stopOpacity, + linearGradient = color[LINEAR_GRADIENT], + x1 = linearGradient.x1 || linearGradient[0] || 0, + y1 = linearGradient.y1 || linearGradient[1] || 0, + x2 = linearGradient.x2 || linearGradient[2] || 0, + y2 = linearGradient.y2 || linearGradient[3] || 0, + angle, + color1, + opacity1, + color2, + opacity2; + + each(color.stops, function (stop, i) { + if (regexRgba.test(stop[1])) { + colorObject = Color(stop[1]); + stopColor = colorObject.get('rgb'); + stopOpacity = colorObject.get('a'); + } else { + stopColor = stop[1]; + stopOpacity = 1; + } + + if (!i) { // first + color1 = stopColor; + opacity1 = stopOpacity; + } else { + color2 = stopColor; + opacity2 = stopOpacity; + } + }); + + // Apply the gradient to fills only. + if (prop === 'fill') { + // calculate the angle based on the linear vector + angle = 90 - math.atan( + (y2 - y1) / // y vector + (x2 - x1) // x vector + ) * 180 / mathPI; + + + // when colors attribute is used, the meanings of opacity and o:opacity2 + // are reversed. + markup = ['']; + createElement(this.prepVML(markup), null, null, elem); + + // Gradients are not supported for VML stroke, return the first color. #722. + } else { + return stopColor; + } + + + // if the color is an rgba color, split it and add a fill node + // to hold the opacity component + } else if (regexRgba.test(color) && elem.tagName !== 'IMG') { + + colorObject = Color(color); + + markup = ['<', prop, ' opacity="', colorObject.get('a'), '"/>']; + createElement(this.prepVML(markup), null, null, elem); + + return colorObject.get('rgb'); + + + } else { + var strokeNodes = elem.getElementsByTagName(prop); + if (strokeNodes.length) { + strokeNodes[0].opacity = 1; + } + return color; + } + + }, + + /** + * Take a VML string and prepare it for either IE8 or IE6/IE7. + * @param {Array} markup A string array of the VML markup to prepare + */ + prepVML: function (markup) { + var vmlStyle = 'display:inline-block;behavior:url(#default#VML);', + isIE8 = this.isIE8; + + markup = markup.join(''); + + if (isIE8) { // add xmlns and style inline + markup = markup.replace('/>', ' xmlns="urn:schemas-microsoft-com:vml" />'); + if (markup.indexOf('style="') === -1) { + markup = markup.replace('/>', ' style="' + vmlStyle + '" />'); + } else { + markup = markup.replace('style="', 'style="' + vmlStyle); + } + + } else { // add namespace + markup = markup.replace('<', ' 1) { + obj.css({ + left: x, + top: y, + width: width, + height: height + }); + } + return obj; + }, + + /** + * VML uses a shape for rect to overcome bugs and rotation problems + */ + rect: function (x, y, width, height, r, strokeWidth) { + + if (isObject(x)) { + y = x.y; + width = x.width; + height = x.height; + strokeWidth = x.strokeWidth; + x = x.x; + } + var wrapper = this.symbol('rect'); + wrapper.r = r; + + return wrapper.attr(wrapper.crisp(strokeWidth, x, y, mathMax(width, 0), mathMax(height, 0))); + }, + + /** + * In the VML renderer, each child of an inverted div (group) is inverted + * @param {Object} element + * @param {Object} parentNode + */ + invertChild: function (element, parentNode) { + var parentStyle = parentNode.style; + + css(element, { + flip: 'x', + left: pInt(parentStyle.width) - 10, + top: pInt(parentStyle.height) - 10, + rotation: -90 + }); + }, + + /** + * Symbol definitions that override the parent SVG renderer's symbols + * + */ + symbols: { + // VML specific arc function + arc: function (x, y, w, h, options) { + var start = options.start, + end = options.end, + radius = options.r || w || h, + cosStart = mathCos(start), + sinStart = mathSin(start), + cosEnd = mathCos(end), + sinEnd = mathSin(end), + innerRadius = options.innerR, + circleCorrection = 0.08 / radius, // #760 + innerCorrection = (innerRadius && 0.25 / innerRadius) || 0; + + if (end - start === 0) { // no angle, don't show it. + return ['x']; + + } else if (2 * mathPI - end + start < circleCorrection) { // full circle + // empirical correction found by trying out the limits for different radii + cosEnd = -circleCorrection; + } else if (end - start < innerCorrection) { // issue #186, another mysterious VML arc problem + cosEnd = mathCos(start + innerCorrection); + } + + return [ + 'wa', // clockwise arc to + x - radius, // left + y - radius, // top + x + radius, // right + y + radius, // bottom + x + radius * cosStart, // start x + y + radius * sinStart, // start y + x + radius * cosEnd, // end x + y + radius * sinEnd, // end y + + + 'at', // anti clockwise arc to + x - innerRadius, // left + y - innerRadius, // top + x + innerRadius, // right + y + innerRadius, // bottom + x + innerRadius * cosEnd, // start x + y + innerRadius * sinEnd, // start y + x + innerRadius * cosStart, // end x + y + innerRadius * sinStart, // end y + + 'x', // finish path + 'e' // close + ]; + + }, + // Add circle symbol path. This performs significantly faster than v:oval. + circle: function (x, y, w, h) { + + return [ + 'wa', // clockwisearcto + x, // left + y, // top + x + w, // right + y + h, // bottom + x + w, // start x + y + h / 2, // start y + x + w, // end x + y + h / 2, // end y + //'x', // finish path + 'e' // close + ]; + }, + /** + * Add rectangle symbol path which eases rotation and omits arcsize problems + * compared to the built-in VML roundrect shape + * + * @param {Number} left Left position + * @param {Number} top Top position + * @param {Number} r Border radius + * @param {Object} options Width and height + */ + + rect: function (left, top, width, height, options) { + /*for (var n in r) { + logTime && console .log(n) + }*/ + + if (!defined(options)) { + return []; + } + var right = left + width, + bottom = top + height, + r = mathMin(options.r || 0, width, height); + + return [ + M, + left + r, top, + + L, + right - r, top, + 'wa', + right - 2 * r, top, + right, top + 2 * r, + right - r, top, + right, top + r, + + L, + right, bottom - r, + 'wa', + right - 2 * r, bottom - 2 * r, + right, bottom, + right, bottom - r, + right - r, bottom, + + L, + left + r, bottom, + 'wa', + left, bottom - 2 * r, + left + 2 * r, bottom, + left + r, bottom, + left, bottom - r, + + L, + left, top + r, + 'wa', + left, top, + left + 2 * r, top + 2 * r, + left, top + r, + left + r, top, + + + 'x', + 'e' + ]; + + } + } +}; +VMLRenderer = function () { + this.init.apply(this, arguments); +}; +VMLRenderer.prototype = merge(SVGRenderer.prototype, VMLRendererExtension); + + // general renderer + Renderer = VMLRenderer; +} + +/* **************************************************************************** + * * + * END OF INTERNET EXPLORER <= 8 SPECIFIC CODE * + * * + *****************************************************************************/ +/* **************************************************************************** + * * + * START OF ANDROID < 3 SPECIFIC CODE. THIS CAN BE REMOVED IF YOU'RE NOT * + * TARGETING THAT SYSTEM. * + * * + *****************************************************************************/ +var CanVGRenderer, + CanVGController; + +if (useCanVG) { + /** + * The CanVGRenderer is empty from start to keep the source footprint small. + * When requested, the CanVGController downloads the rest of the source packaged + * together with the canvg library. + */ + CanVGRenderer = function () { + // Empty constructor + }; + + /** + * Handles on demand download of canvg rendering support. + */ + CanVGController = (function () { + // List of renderering calls + var deferredRenderCalls = []; + + /** + * When downloaded, we are ready to draw deferred charts. + */ + function drawDeferred() { + var callLength = deferredRenderCalls.length, + callIndex; + + // Draw all pending render calls + for (callIndex = 0; callIndex < callLength; callIndex++) { + deferredRenderCalls[callIndex](); + } + // Clear the list + deferredRenderCalls = []; + } + + return { + push: function (func, scriptLocation) { + // Only get the script once + if (deferredRenderCalls.length === 0) { + getScript(scriptLocation, drawDeferred); + } + // Register render call + deferredRenderCalls.push(func); + } + }; + }()); +} // end CanVGRenderer + +/* **************************************************************************** + * * + * END OF ANDROID < 3 SPECIFIC CODE * + * * + *****************************************************************************/ + +/** + * General renderer + */ +Renderer = VMLRenderer || CanVGRenderer || SVGRenderer; + +/** + * The chart class + * @param {Object} options + * @param {Function} callback Function to run when the chart has loaded + */ +function Chart(userOptions, callback) { + + // Handle regular options + var options, + seriesOptions = userOptions.series; // skip merging data points to increase performance + userOptions.series = null; + options = merge(defaultOptions, userOptions); // do the merge + options.series = userOptions.series = seriesOptions; // set back the series data + + var optionsChart = options.chart, + optionsMargin = optionsChart.margin, + margin = isObject(optionsMargin) ? + optionsMargin : + [optionsMargin, optionsMargin, optionsMargin, optionsMargin], + optionsMarginTop = pick(optionsChart.marginTop, margin[0]), + optionsMarginRight = pick(optionsChart.marginRight, margin[1]), + optionsMarginBottom = pick(optionsChart.marginBottom, margin[2]), + optionsMarginLeft = pick(optionsChart.marginLeft, margin[3]), + spacingTop = optionsChart.spacingTop, + spacingRight = optionsChart.spacingRight, + spacingBottom = optionsChart.spacingBottom, + spacingLeft = optionsChart.spacingLeft, + spacingBox, + chartTitleOptions, + chartSubtitleOptions, + plotTop, + marginRight, + marginBottom, + plotLeft, + axisOffset, + renderTo, + renderToClone, + container, + containerId, + containerWidth, + containerHeight, + chartWidth, + chartHeight, + oldChartWidth, + oldChartHeight, + chartBackground, + plotBackground, + plotBGImage, + plotBorder, + chart = this, + chartEvents = optionsChart.events, + runChartClick = chartEvents && !!chartEvents.click, + eventType, + isInsidePlot, // function + tooltip, + mouseIsDown, + loadingDiv, + loadingSpan, + loadingShown, + plotHeight, + plotWidth, + tracker, + trackerGroup, + legend, + legendWidth, + legendHeight, + chartPosition, + hasCartesianSeries = optionsChart.showAxes, + isResizing = 0, + axes = [], + maxTicks, // handle the greatest amount of ticks on grouped axes + series = [], + inverted, + renderer, + tooltipTick, + tooltipInterval, + hoverX, + drawChartBox, // function + getMargins, // function + resetMargins, // function + setChartSize, // function + resize, + zoom, // function + zoomOut; // function + + + /** + * Create a new axis object + * @param {Object} options + */ + function Axis(userOptions) { + + // Define variables + var isXAxis = userOptions.isX, + opposite = userOptions.opposite, // needed in setOptions + horiz = inverted ? !isXAxis : isXAxis, + side = horiz ? + (opposite ? 0 : 2) : // top : bottom + (opposite ? 1 : 3), // right : left + stacks = {}, + + options = merge( + isXAxis ? defaultXAxisOptions : defaultYAxisOptions, + [defaultTopAxisOptions, defaultRightAxisOptions, + defaultBottomAxisOptions, defaultLeftAxisOptions][side], + userOptions + ), + + axis = this, + axisTitle, + type = options.type, + isDatetimeAxis = type === 'datetime', + isLog = type === 'logarithmic', + offset = options.offset || 0, + xOrY = isXAxis ? 'x' : 'y', + axisLength = 0, + oldAxisLength, + transA, // translation factor + transB, // translation addend + oldTransA, // used for prerendering + axisLeft, + axisTop, + axisWidth, + axisHeight, + axisBottom, + axisRight, + translate, // fn + setAxisTranslation, // fn + getPlotLinePath, // fn + axisGroup, + gridGroup, + axisLine, + dataMin, + dataMax, + minRange = options.minRange || options.maxZoom, + range = options.range, + userMin, + userMax, + oldUserMin, + oldUserMax, + max = null, + min = null, + oldMin, + oldMax, + minPadding = options.minPadding, + maxPadding = options.maxPadding, + minPixelPadding = 0, + isLinked = defined(options.linkedTo), + linkedParent, + ignoreMinPadding, // can be set to true by a column or bar series + ignoreMaxPadding, + usePercentage, + events = options.events, + eventType, + plotLinesAndBands = [], + tickInterval, + minorTickInterval, + magnitude, + tickPositions, // array containing predefined positions + tickPositioner = options.tickPositioner, + ticks = {}, + minorTicks = {}, + alternateBands = {}, + tickAmount, + labelOffset, + axisTitleMargin,// = options.title.margin, + categories = options.categories, + labelFormatter = options.labels.formatter || // can be overwritten by dynamic format + function () { + var value = this.value, + dateTimeLabelFormat = this.dateTimeLabelFormat, + ret; + + if (dateTimeLabelFormat) { // datetime axis + ret = dateFormat(dateTimeLabelFormat, value); + + } else if (tickInterval % 1000000 === 0) { // use M abbreviation + ret = (value / 1000000) + 'M'; + + } else if (tickInterval % 1000 === 0) { // use k abbreviation + ret = (value / 1000) + 'k'; + + } else if (!categories && value >= 1000) { // add thousands separators + ret = numberFormat(value, 0); + + } else { // strings (categories) and small numbers + ret = value; + } + return ret; + }, + + staggerLines = horiz && options.labels.staggerLines, + reversed = options.reversed, + tickmarkOffset = (categories && options.tickmarkPlacement === 'between') ? 0.5 : 0; + + /** + * The Tick class + */ + function Tick(pos, type) { + var tick = this; + tick.pos = pos; + tick.type = type || ''; + tick.isNew = true; + + if (!type) { + tick.addLabel(); + } + } + Tick.prototype = { + + /** + * Write the tick label + */ + addLabel: function () { + var tick = this, + pos = tick.pos, + labelOptions = options.labels, + str, + width = (categories && horiz && categories.length && + !labelOptions.step && !labelOptions.staggerLines && + !labelOptions.rotation && + plotWidth / categories.length) || + (!horiz && plotWidth / 2), + isFirst = pos === tickPositions[0], + isLast = pos === tickPositions[tickPositions.length - 1], + css, + value = categories && defined(categories[pos]) ? categories[pos] : pos, + label = tick.label, + tickPositionInfo = tickPositions.info, + dateTimeLabelFormat; + + // Set the datetime label format. If a higher rank is set for this position, use that. If not, + // use the general format. + if (isDatetimeAxis && tickPositionInfo) { + dateTimeLabelFormat = options.dateTimeLabelFormats[tickPositionInfo.higherRanks[pos] || tickPositionInfo.unitName]; + } + + // set properties for access in render method + tick.isFirst = isFirst; + tick.isLast = isLast; + + // get the string + str = labelFormatter.call({ + axis: axis, + chart: chart, + isFirst: isFirst, + isLast: isLast, + dateTimeLabelFormat: dateTimeLabelFormat, + value: isLog ? correctFloat(lin2log(value)) : value + }); + + + // prepare CSS + css = width && { width: mathMax(1, mathRound(width - 2 * (labelOptions.padding || 10))) + PX }; + css = extend(css, labelOptions.style); + + // first call + if (!defined(label)) { + tick.label = + defined(str) && labelOptions.enabled ? + renderer.text( + str, + 0, + 0, + labelOptions.useHTML + ) + .attr({ + align: labelOptions.align, + rotation: labelOptions.rotation + }) + // without position absolute, IE export sometimes is wrong + .css(css) + .add(axisGroup) : + null; + + // update + } else if (label) { + label.attr({ + text: str + }) + .css(css); + } + }, + /** + * Get the offset height or width of the label + */ + getLabelSize: function () { + var label = this.label; + return label ? + ((this.labelBBox = label.getBBox(true)))[horiz ? 'height' : 'width'] : + 0; + }, + + /** + * Find how far the labels extend to the right and left of the tick's x position. Used for anti-collision + * detection with overflow logic. + */ + getLabelSides: function () { + var bBox = this.labelBBox, // assume getLabelSize has run at this point + labelOptions = options.labels, + width = bBox.width, + leftSide = width * { left: 0, center: 0.5, right: 1 }[labelOptions.align] - labelOptions.x; + + return [-leftSide, width - leftSide]; + }, + + /** + * Handle the label overflow by adjusting the labels to the left and right edge, or + * hide them if they collide into the neighbour label. + */ + handleOverflow: function (index) { + var show = true, + isFirst = this.isFirst, + isLast = this.isLast, + label = this.label, + x = label.x; + + if (isFirst || isLast) { + + var sides = this.getLabelSides(), + leftSide = sides[0], + rightSide = sides[1], + plotLeft = chart.plotLeft, + plotRight = plotLeft + axis.len, + neighbour = ticks[tickPositions[index + (isFirst ? 1 : -1)]], + neighbourEdge = neighbour && neighbour.label.x + neighbour.getLabelSides()[isFirst ? 0 : 1]; + + if ((isFirst && !reversed) || (isLast && reversed)) { + // Is the label spilling out to the left of the plot area? + if (x + leftSide < plotLeft) { + + // Align it to plot left + x = plotLeft - leftSide; + + // Hide it if it now overlaps the neighbour label + if (neighbour && x + rightSide > neighbourEdge) { + show = false; + } + } + + } else { + // Is the label spilling out to the right of the plot area? + if (x + rightSide > plotRight) { + + // Align it to plot right + x = plotRight - rightSide; + + // Hide it if it now overlaps the neighbour label + if (neighbour && x + leftSide < neighbourEdge) { + show = false; + } + + } + } + + // Set the modified x position of the label + label.x = x; + } + return show; + }, + + /** + * Put everything in place + * + * @param index {Number} + * @param old {Boolean} Use old coordinates to prepare an animation into new position + */ + render: function (index, old) { + var tick = this, + type = tick.type, + label = tick.label, + pos = tick.pos, + labelOptions = options.labels, + gridLine = tick.gridLine, + gridPrefix = type ? type + 'Grid' : 'grid', + tickPrefix = type ? type + 'Tick' : 'tick', + gridLineWidth = options[gridPrefix + 'LineWidth'], + gridLineColor = options[gridPrefix + 'LineColor'], + dashStyle = options[gridPrefix + 'LineDashStyle'], + tickLength = options[tickPrefix + 'Length'], + tickWidth = options[tickPrefix + 'Width'] || 0, + tickColor = options[tickPrefix + 'Color'], + tickPosition = options[tickPrefix + 'Position'], + gridLinePath, + mark = tick.mark, + markPath, + step = labelOptions.step, + cHeight = (old && oldChartHeight) || chartHeight, + attribs, + show = true, + x, + y; + + // get x and y position for ticks and labels + x = horiz ? + translate(pos + tickmarkOffset, null, null, old) + transB : + axisLeft + offset + (opposite ? ((old && oldChartWidth) || chartWidth) - axisRight - axisLeft : 0); + + y = horiz ? + cHeight - axisBottom + offset - (opposite ? axisHeight : 0) : + cHeight - translate(pos + tickmarkOffset, null, null, old) - transB; + + // create the grid line + if (gridLineWidth) { + gridLinePath = getPlotLinePath(pos + tickmarkOffset, gridLineWidth, old); + + if (gridLine === UNDEFINED) { + attribs = { + stroke: gridLineColor, + 'stroke-width': gridLineWidth + }; + if (dashStyle) { + attribs.dashstyle = dashStyle; + } + if (!type) { + attribs.zIndex = 1; + } + tick.gridLine = gridLine = + gridLineWidth ? + renderer.path(gridLinePath) + .attr(attribs).add(gridGroup) : + null; + } + + // If the parameter 'old' is set, the current call will be followed + // by another call, therefore do not do any animations this time + if (!old && gridLine && gridLinePath) { + gridLine[tick.isNew ? 'attr' : 'animate']({ + d: gridLinePath + }); + } + } + + // create the tick mark + if (tickWidth) { + + // negate the length + if (tickPosition === 'inside') { + tickLength = -tickLength; + } + if (opposite) { + tickLength = -tickLength; + } + + markPath = renderer.crispLine([ + M, + x, + y, + L, + x + (horiz ? 0 : -tickLength), + y + (horiz ? tickLength : 0) + ], tickWidth); + + if (mark) { // updating + mark.animate({ + d: markPath + }); + } else { // first time + tick.mark = renderer.path( + markPath + ).attr({ + stroke: tickColor, + 'stroke-width': tickWidth + }).add(axisGroup); + } + } + + // the label is created on init - now move it into place + if (label && !isNaN(x)) { + x = x + labelOptions.x - (tickmarkOffset && horiz ? + tickmarkOffset * transA * (reversed ? -1 : 1) : 0); + y = y + labelOptions.y - (tickmarkOffset && !horiz ? + tickmarkOffset * transA * (reversed ? 1 : -1) : 0); + + // vertically centered + if (!defined(labelOptions.y)) { + y += pInt(label.styles.lineHeight) * 0.9 - label.getBBox().height / 2; + } + + + // correct for staggered labels + if (staggerLines) { + y += (index / (step || 1) % staggerLines) * 16; + } + + // Cache x and y to be able to read final position before animation + label.x = x; + label.y = y; + + // apply show first and show last + if ((tick.isFirst && !pick(options.showFirstLabel, 1)) || + (tick.isLast && !pick(options.showLastLabel, 1))) { + show = false; + + // Handle label overflow and show or hide accordingly + } else if (!staggerLines && horiz && labelOptions.overflow === 'justify' && !tick.handleOverflow(index)) { + show = false; + } + + // apply step + if (step && index % step) { + // show those indices dividable by step + show = false; + } + + // Set the new position, and show or hide + if (show) { + label[tick.isNew ? 'attr' : 'animate']({ + x: label.x, + y: label.y + }); + label.show(); + tick.isNew = false; + } else { + label.hide(); + } + } + + + }, + + /** + * Destructor for the tick prototype + */ + destroy: function () { + destroyObjectProperties(this); + } + }; + + /** + * The object wrapper for plot lines and plot bands + * @param {Object} options + */ + function PlotLineOrBand(options) { + var plotLine = this; + if (options) { + plotLine.options = options; + plotLine.id = options.id; + } + + //plotLine.render() + return plotLine; + } + + PlotLineOrBand.prototype = { + + /** + * Render the plot line or plot band. If it is already existing, + * move it. + */ + render: function () { + var plotLine = this, + halfPointRange = (axis.pointRange || 0) / 2, + options = plotLine.options, + optionsLabel = options.label, + label = plotLine.label, + width = options.width, + to = options.to, + from = options.from, + value = options.value, + toPath, // bands only + dashStyle = options.dashStyle, + svgElem = plotLine.svgElem, + path = [], + addEvent, + eventType, + xs, + ys, + x, + y, + color = options.color, + zIndex = options.zIndex, + events = options.events, + attribs; + + // logarithmic conversion + if (isLog) { + from = log2lin(from); + to = log2lin(to); + value = log2lin(value); + } + + // plot line + if (width) { + path = getPlotLinePath(value, width); + attribs = { + stroke: color, + 'stroke-width': width + }; + if (dashStyle) { + attribs.dashstyle = dashStyle; + } + } else if (defined(from) && defined(to)) { // plot band + // keep within plot area + from = mathMax(from, min - halfPointRange); + to = mathMin(to, max + halfPointRange); + + toPath = getPlotLinePath(to); + path = getPlotLinePath(from); + if (path && toPath) { + path.push( + toPath[4], + toPath[5], + toPath[1], + toPath[2] + ); + } else { // outside the axis area + path = null; + } + attribs = { + fill: color + }; + } else { + return; + } + // zIndex + if (defined(zIndex)) { + attribs.zIndex = zIndex; + } + + // common for lines and bands + if (svgElem) { + if (path) { + svgElem.animate({ + d: path + }, null, svgElem.onGetPath); + } else { + svgElem.hide(); + svgElem.onGetPath = function () { + svgElem.show(); + }; + } + } else if (path && path.length) { + plotLine.svgElem = svgElem = renderer.path(path) + .attr(attribs).add(); + + // events + if (events) { + addEvent = function (eventType) { + svgElem.on(eventType, function (e) { + events[eventType].apply(plotLine, [e]); + }); + }; + for (eventType in events) { + addEvent(eventType); + } + } + } + + // the plot band/line label + if (optionsLabel && defined(optionsLabel.text) && path && path.length && axisWidth > 0 && axisHeight > 0) { + // apply defaults + optionsLabel = merge({ + align: horiz && toPath && 'center', + x: horiz ? !toPath && 4 : 10, + verticalAlign : !horiz && toPath && 'middle', + y: horiz ? toPath ? 16 : 10 : toPath ? 6 : -4, + rotation: horiz && !toPath && 90 + }, optionsLabel); + + // add the SVG element + if (!label) { + plotLine.label = label = renderer.text( + optionsLabel.text, + 0, + 0 + ) + .attr({ + align: optionsLabel.textAlign || optionsLabel.align, + rotation: optionsLabel.rotation, + zIndex: zIndex + }) + .css(optionsLabel.style) + .add(); + } + + // get the bounding box and align the label + xs = [path[1], path[4], pick(path[6], path[1])]; + ys = [path[2], path[5], pick(path[7], path[2])]; + x = arrayMin(xs); + y = arrayMin(ys); + + label.align(optionsLabel, false, { + x: x, + y: y, + width: arrayMax(xs) - x, + height: arrayMax(ys) - y + }); + label.show(); + + } else if (label) { // move out of sight + label.hide(); + } + + // chainable + return plotLine; + }, + + /** + * Remove the plot line or band + */ + destroy: function () { + var obj = this; + + destroyObjectProperties(obj); + + // remove it from the lookup + erase(plotLinesAndBands, obj); + } + }; + + /** + * The class for stack items + */ + function StackItem(options, isNegative, x, stackOption) { + var stackItem = this; + + // Tells if the stack is negative + stackItem.isNegative = isNegative; + + // Save the options to be able to style the label + stackItem.options = options; + + // Save the x value to be able to position the label later + stackItem.x = x; + + // Save the stack option on the series configuration object + stackItem.stack = stackOption; + + // The align options and text align varies on whether the stack is negative and + // if the chart is inverted or not. + // First test the user supplied value, then use the dynamic. + stackItem.alignOptions = { + align: options.align || (inverted ? (isNegative ? 'left' : 'right') : 'center'), + verticalAlign: options.verticalAlign || (inverted ? 'middle' : (isNegative ? 'bottom' : 'top')), + y: pick(options.y, inverted ? 4 : (isNegative ? 14 : -6)), + x: pick(options.x, inverted ? (isNegative ? -6 : 6) : 0) + }; + + stackItem.textAlign = options.textAlign || (inverted ? (isNegative ? 'right' : 'left') : 'center'); + } + + StackItem.prototype = { + destroy: function () { + destroyObjectProperties(this); + }, + + /** + * Sets the total of this stack. Should be called when a serie is hidden or shown + * since that will affect the total of other stacks. + */ + setTotal: function (total) { + this.total = total; + this.cum = total; + }, + + /** + * Renders the stack total label and adds it to the stack label group. + */ + render: function (group) { + var stackItem = this, // aliased this + str = stackItem.options.formatter.call(stackItem); // format the text in the label + + // Change the text to reflect the new total and set visibility to hidden in case the serie is hidden + if (stackItem.label) { + stackItem.label.attr({text: str, visibility: HIDDEN}); + // Create new label + } else { + stackItem.label = + chart.renderer.text(str, 0, 0) // dummy positions, actual position updated with setOffset method in columnseries + .css(stackItem.options.style) // apply style + .attr({align: stackItem.textAlign, // fix the text-anchor + rotation: stackItem.options.rotation, // rotation + visibility: HIDDEN }) // hidden until setOffset is called + .add(group); // add to the labels-group + } + }, + + /** + * Sets the offset that the stack has from the x value and repositions the label. + */ + setOffset: function (xOffset, xWidth) { + var stackItem = this, // aliased this + neg = stackItem.isNegative, // special treatment is needed for negative stacks + y = axis.translate(stackItem.total, 0, 0, 0, 1), // stack value translated mapped to chart coordinates + yZero = axis.translate(0), // stack origin + h = mathAbs(y - yZero), // stack height + x = chart.xAxis[0].translate(stackItem.x) + xOffset, // stack x position + plotHeight = chart.plotHeight, + stackBox = { // this is the box for the complete stack + x: inverted ? (neg ? y : y - h) : x, + y: inverted ? plotHeight - x - xWidth : (neg ? (plotHeight - y - h) : plotHeight - y), + width: inverted ? h : xWidth, + height: inverted ? xWidth : h + }; + + if (stackItem.label) { + stackItem.label + .align(stackItem.alignOptions, null, stackBox) // align the label to the box + .attr({visibility: VISIBLE}); // set visibility + } + } + }; + + /** + * Get the minimum and maximum for the series of each axis + */ + function getSeriesExtremes() { + var posStack = [], + negStack = [], + i; + + // reset dataMin and dataMax in case we're redrawing + dataMin = dataMax = null; + + // loop through this axis' series + each(axis.series, function (series) { + + if (series.visible || !optionsChart.ignoreHiddenSeries) { + + var seriesOptions = series.options, + stacking, + posPointStack, + negPointStack, + stackKey, + stackOption, + negKey, + xData, + yData, + x, + y, + threshold = seriesOptions.threshold, + yDataLength, + activeYData = [], + activeCounter = 0; + + // Validate threshold in logarithmic axes + if (isLog && threshold <= 0) { + threshold = seriesOptions.threshold = null; + } + + // Get dataMin and dataMax for X axes + if (isXAxis) { + xData = series.xData; + if (xData.length) { + dataMin = mathMin(pick(dataMin, xData[0]), arrayMin(xData)); + dataMax = mathMax(pick(dataMax, xData[0]), arrayMax(xData)); + } + + // Get dataMin and dataMax for Y axes, as well as handle stacking and processed data + } else { + var isNegative, + pointStack, + key, + cropped = series.cropped, + xExtremes = series.xAxis.getExtremes(), + //findPointRange, + //pointRange, + j, + hasModifyValue = !!series.modifyValue; + + + // Handle stacking + stacking = seriesOptions.stacking; + usePercentage = stacking === 'percent'; + + // create a stack for this particular series type + if (stacking) { + stackOption = seriesOptions.stack; + stackKey = series.type + pick(stackOption, ''); + negKey = '-' + stackKey; + series.stackKey = stackKey; // used in translate + + posPointStack = posStack[stackKey] || []; // contains the total values for each x + posStack[stackKey] = posPointStack; + + negPointStack = negStack[negKey] || []; + negStack[negKey] = negPointStack; + } + if (usePercentage) { + dataMin = 0; + dataMax = 99; + } + + + // processData can alter series.pointRange, so this goes after + //findPointRange = series.pointRange === null; + + xData = series.processedXData; + yData = series.processedYData; + yDataLength = yData.length; + + // loop over the non-null y values and read them into a local array + for (i = 0; i < yDataLength; i++) { + x = xData[i]; + y = yData[i]; + if (y !== null && y !== UNDEFINED) { + + // read stacked values into a stack based on the x value, + // the sign of y and the stack key + if (stacking) { + isNegative = y < threshold; + pointStack = isNegative ? negPointStack : posPointStack; + key = isNegative ? negKey : stackKey; + + y = pointStack[x] = + defined(pointStack[x]) ? + pointStack[x] + y : y; + + + // add the series + if (!stacks[key]) { + stacks[key] = {}; + } + + // If the StackItem is there, just update the values, + // if not, create one first + if (!stacks[key][x]) { + stacks[key][x] = new StackItem(options.stackLabels, isNegative, x, stackOption); + } + stacks[key][x].setTotal(y); + + + // general hook, used for Highstock compare values feature + } else if (hasModifyValue) { + y = series.modifyValue(y); + } + + // get the smallest distance between points + /*if (i) { + distance = mathAbs(xData[i] - xData[i - 1]); + pointRange = pointRange === UNDEFINED ? distance : mathMin(distance, pointRange); + }*/ + + // for points within the visible range, including the first point outside the + // visible range, consider y extremes + if (cropped || ((xData[i + 1] || x) >= xExtremes.min && (xData[i - 1] || x) <= xExtremes.max)) { + + j = y.length; + if (j) { // array, like ohlc data + while (j--) { + if (y[j] !== null) { + activeYData[activeCounter++] = y[j]; + } + } + } else { + activeYData[activeCounter++] = y; + } + } + } + } + + // record the least unit distance + /*if (findPointRange) { + series.pointRange = pointRange || 1; + } + series.closestPointRange = pointRange;*/ + + // Get the dataMin and dataMax so far. If percentage is used, the min and max are + // always 0 and 100. If the length of activeYData is 0, continue with null values. + if (!usePercentage && activeYData.length) { + dataMin = mathMin(pick(dataMin, activeYData[0]), arrayMin(activeYData)); + dataMax = mathMax(pick(dataMax, activeYData[0]), arrayMax(activeYData)); + } + + // Adjust to threshold + if (defined(threshold)) { + if (dataMin >= threshold) { + dataMin = threshold; + ignoreMinPadding = true; + } else if (dataMax < threshold) { + dataMax = threshold; + ignoreMaxPadding = true; + } + } + } + } + }); + + } + + /** + * Translate from axis value to pixel position on the chart, or back + * + */ + translate = function (val, backwards, cvsCoord, old, handleLog) { + + var sign = 1, + cvsOffset = 0, + localA = old ? oldTransA : transA, + localMin = old ? oldMin : min, + returnValue, + postTranslate = options.ordinal || (isLog && handleLog); + + if (!localA) { + localA = transA; + } + + if (cvsCoord) { + sign *= -1; // canvas coordinates inverts the value + cvsOffset = axisLength; + } + if (reversed) { // reversed axis + sign *= -1; + cvsOffset -= sign * axisLength; + } + + if (backwards) { // reverse translation + if (reversed) { + val = axisLength - val; + } + returnValue = val / localA + localMin; // from chart pixel to value + if (postTranslate) { // log and ordinal axes + returnValue = axis.lin2val(returnValue); + } + + } else { // normal translation, from axis value to pixel, relative to plot + if (postTranslate) { // log and ordinal axes + val = axis.val2lin(val); + } + + returnValue = sign * (val - localMin) * localA + cvsOffset + (sign * minPixelPadding); + } + + return returnValue; + }; + + /** + * Create the path for a plot line that goes from the given value on + * this axis, across the plot to the opposite side + * @param {Number} value + * @param {Number} lineWidth Used for calculation crisp line + * @param {Number] old Use old coordinates (for resizing and rescaling) + */ + getPlotLinePath = function (value, lineWidth, old) { + var x1, + y1, + x2, + y2, + translatedValue = translate(value, null, null, old), + cHeight = (old && oldChartHeight) || chartHeight, + cWidth = (old && oldChartWidth) || chartWidth, + skip; + + x1 = x2 = mathRound(translatedValue + transB); + y1 = y2 = mathRound(cHeight - translatedValue - transB); + + if (isNaN(translatedValue)) { // no min or max + skip = true; + + } else if (horiz) { + y1 = axisTop; + y2 = cHeight - axisBottom; + if (x1 < axisLeft || x1 > axisLeft + axisWidth) { + skip = true; + } + } else { + x1 = axisLeft; + x2 = cWidth - axisRight; + + if (y1 < axisTop || y1 > axisTop + axisHeight) { + skip = true; + } + } + return skip ? + null : + renderer.crispLine([M, x1, y1, L, x2, y2], lineWidth || 0); + }; + + /** + * Set the tick positions of a linear axis to round values like whole tens or every five. + */ + function getLinearTickPositions(tickInterval, min, max) { + + var pos, + lastPos, + roundedMin = correctFloat(mathFloor(min / tickInterval) * tickInterval), + roundedMax = correctFloat(mathCeil(max / tickInterval) * tickInterval), + tickPositions = []; + + // Populate the intermediate values + pos = roundedMin; + while (pos <= roundedMax) { + + // Place the tick on the rounded value + tickPositions.push(pos); + + // Always add the raw tickInterval, not the corrected one. + pos = correctFloat(pos + tickInterval); + + // If the interval is not big enough in the current min - max range to actually increase + // the loop variable, we need to break out to prevent endless loop. Issue #619 + if (pos === lastPos) { + break; + } + + // Record the last value + lastPos = pos; + } + return tickPositions; + } + + /** + * Set the tick positions of a logarithmic axis + */ + function getLogTickPositions(interval, min, max, minor) { + + // Since we use this method for both major and minor ticks, + // use a local variable and return the result + var positions = []; + + // Reset + if (!minor) { + axis._minorAutoInterval = null; + } + + // First case: All ticks fall on whole logarithms: 1, 10, 100 etc. + if (interval >= 0.5) { + interval = mathRound(interval); + positions = getLinearTickPositions(interval, min, max); + + // Second case: We need intermediary ticks. For example + // 1, 2, 4, 6, 8, 10, 20, 40 etc. + } else if (interval >= 0.08) { + var roundedMin = mathFloor(min), + intermediate, + i, + j, + len, + pos, + lastPos, + break2; + + if (interval > 0.3) { + intermediate = [1, 2, 4]; + } else if (interval > 0.15) { // 0.2 equals five minor ticks per 1, 10, 100 etc + intermediate = [1, 2, 4, 6, 8]; + } else { // 0.1 equals ten minor ticks per 1, 10, 100 etc + intermediate = [1, 2, 3, 4, 5, 6, 7, 8, 9]; + } + + for (i = roundedMin; i < max + 1 && !break2; i++) { + len = intermediate.length; + for (j = 0; j < len && !break2; j++) { + pos = log2lin(lin2log(i) * intermediate[j]); + + if (pos > min) { + positions.push(lastPos); + } + + if (lastPos > max) { + break2 = true; + } + lastPos = pos; + } + } + + // Third case: We are so deep in between whole logarithmic values that + // we might as well handle the tick positions like a linear axis. For + // example 1.01, 1.02, 1.03, 1.04. + } else { + var realMin = lin2log(min), + realMax = lin2log(max), + tickIntervalOption = options[minor ? 'minorTickInterval' : 'tickInterval'], + filteredTickIntervalOption = tickIntervalOption === 'auto' ? null : tickIntervalOption, + tickPixelIntervalOption = options.tickPixelInterval / (minor ? 5 : 1), + totalPixelLength = minor ? axisLength / tickPositions.length : axisLength; + + interval = pick( + filteredTickIntervalOption, + axis._minorAutoInterval, + (realMax - realMin) * tickPixelIntervalOption / (totalPixelLength || 1) + ); + + interval = normalizeTickInterval( + interval, + null, + math.pow(10, mathFloor(math.log(interval) / math.LN10)) + ); + + positions = map(getLinearTickPositions( + interval, + realMin, + realMax + ), log2lin); + + if (!minor) { + axis._minorAutoInterval = interval / 5; + } + } + + // Set the axis-level tickInterval variable + if (!minor) { + tickInterval = interval; + } + return positions; + } + + /** + * Return the minor tick positions. For logarithmic axes, reuse the same logic + * as for major ticks. + */ + function getMinorTickPositions() { + var minorTickPositions = [], + pos, + i, + len; + + if (isLog) { + len = tickPositions.length; + for (i = 1; i < len; i++) { + minorTickPositions = minorTickPositions.concat( + getLogTickPositions(minorTickInterval, tickPositions[i - 1], tickPositions[i], true) + ); + } + + } else { + for (pos = min + (tickPositions[0] - min) % minorTickInterval; pos <= max; pos += minorTickInterval) { + minorTickPositions.push(pos); + } + } + + return minorTickPositions; + } + + /** + * Adjust the min and max for the minimum range. Keep in mind that the series data is + * not yet processed, so we don't have information on data cropping and grouping, or + * updated axis.pointRange or series.pointRange. The data can't be processed until + * we have finally established min and max. + */ + function adjustForMinRange() { + var zoomOffset, + spaceAvailable = dataMax - dataMin >= minRange, + closestDataRange, + i, + distance, + xData, + loopLength, + minArgs, + maxArgs; + + // Set the automatic minimum range based on the closest point distance + if (isXAxis && minRange === UNDEFINED && !isLog) { + + if (defined(options.min) || defined(options.max)) { + minRange = null; // don't do this again + + } else { + + // Find the closest distance between raw data points, as opposed to + // closestPointRange that applies to processed points (cropped and grouped) + each(axis.series, function (series) { + xData = series.xData; + loopLength = series.xIncrement ? 1 : xData.length - 1; + for (i = loopLength; i > 0; i--) { + distance = xData[i] - xData[i - 1]; + if (closestDataRange === UNDEFINED || distance < closestDataRange) { + closestDataRange = distance; + } + } + }); + minRange = mathMin(closestDataRange * 5, dataMax - dataMin); + } + + // A hook for resetting the minRange in series.setData (#878) + // TODO: remove this in protofy, where xAxis.minRange can be set directly + axis.setMinRange = function (newMinRange) { + minRange = newMinRange; + }; + } + + // if minRange is exceeded, adjust + if (max - min < minRange) { + + zoomOffset = (minRange - max + min) / 2; + + // if min and max options have been set, don't go beyond it + minArgs = [min - zoomOffset, pick(options.min, min - zoomOffset)]; + if (spaceAvailable) { // if space is available, stay within the data range + minArgs[2] = dataMin; + } + min = arrayMax(minArgs); + + maxArgs = [min + minRange, pick(options.max, min + minRange)]; + if (spaceAvailable) { // if space is availabe, stay within the data range + maxArgs[2] = dataMax; + } + + max = arrayMin(maxArgs); + + // now if the max is adjusted, adjust the min back + if (max - min < minRange) { + minArgs[0] = max - minRange; + minArgs[1] = pick(options.min, max - minRange); + min = arrayMax(minArgs); + } + } + } + + /** + * Set the tick positions to round values and optionally extend the extremes + * to the nearest tick + */ + function setTickPositions(secondPass) { + + var length, + linkedParentExtremes, + tickIntervalOption = options.tickInterval, + tickPixelIntervalOption = options.tickPixelInterval; + + // linked axis gets the extremes from the parent axis + if (isLinked) { + linkedParent = chart[isXAxis ? 'xAxis' : 'yAxis'][options.linkedTo]; + linkedParentExtremes = linkedParent.getExtremes(); + min = pick(linkedParentExtremes.min, linkedParentExtremes.dataMin); + max = pick(linkedParentExtremes.max, linkedParentExtremes.dataMax); + if (options.type !== linkedParent.options.type) { + error(11, 1); // Can't link axes of different type + } + } else { // initial min and max from the extreme data values + min = pick(userMin, options.min, dataMin); + max = pick(userMax, options.max, dataMax); + } + + if (isLog) { + if (!secondPass && mathMin(min, dataMin) <= 0) { + error(10, 1); // Can't plot negative values on log axis + } + min = log2lin(min); + max = log2lin(max); + } + + // handle zoomed range + if (range) { + userMin = min = mathMax(min, max - range); // #618 + userMax = max; + if (secondPass) { + range = null; // don't use it when running setExtremes + } + } + + // adjust min and max for the minimum range + adjustForMinRange(); + + // pad the values to get clear of the chart's edges + if (!categories && !usePercentage && !isLinked && defined(min) && defined(max)) { + length = (max - min) || 1; + if (!defined(options.min) && !defined(userMin) && minPadding && (dataMin < 0 || !ignoreMinPadding)) { + min -= length * minPadding; + } + if (!defined(options.max) && !defined(userMax) && maxPadding && (dataMax > 0 || !ignoreMaxPadding)) { + max += length * maxPadding; + } + } + + // get tickInterval + if (min === max || min === undefined || max === undefined) { + tickInterval = 1; + } else if (isLinked && !tickIntervalOption && + tickPixelIntervalOption === linkedParent.options.tickPixelInterval) { + tickInterval = linkedParent.tickInterval; + } else { + tickInterval = pick( + tickIntervalOption, + categories ? // for categoried axis, 1 is default, for linear axis use tickPix + 1 : + (max - min) * tickPixelIntervalOption / (axisLength || 1) + ); + } + + // Now we're finished detecting min and max, crop and group series data. This + // is in turn needed in order to find tick positions in ordinal axes. + if (isXAxis && !secondPass) { + each(axis.series, function (series) { + series.processData(min !== oldMin || max !== oldMax); + }); + } + + // set the translation factor used in translate function + setAxisTranslation(); + + // hook for ordinal axes. To do: merge with below + if (axis.beforeSetTickPositions) { + axis.beforeSetTickPositions(); + } + + // hook for extensions, used in Highstock ordinal axes + if (axis.postProcessTickInterval) { + tickInterval = axis.postProcessTickInterval(tickInterval); + } + + // for linear axes, get magnitude and normalize the interval + if (!isDatetimeAxis && !isLog) { // linear + magnitude = math.pow(10, mathFloor(math.log(tickInterval) / math.LN10)); + if (!defined(options.tickInterval)) { + tickInterval = normalizeTickInterval(tickInterval, null, magnitude, options); + } + } + + // record the tick interval for linked axis + axis.tickInterval = tickInterval; + + // get minorTickInterval + minorTickInterval = options.minorTickInterval === 'auto' && tickInterval ? + tickInterval / 5 : options.minorTickInterval; + + // find the tick positions + tickPositions = options.tickPositions || (tickPositioner && tickPositioner.apply(axis, [min, max])); + if (!tickPositions) { + if (isDatetimeAxis) { + tickPositions = (axis.getNonLinearTimeTicks || getTimeTicks)( + normalizeTimeTickInterval(tickInterval, options.units), + min, + max, + options.startOfWeek, + axis.ordinalPositions, + axis.closestPointRange, + true + ); + } else if (isLog) { + tickPositions = getLogTickPositions(tickInterval, min, max); + } else { + tickPositions = getLinearTickPositions(tickInterval, min, max); + } + } + + if (!isLinked) { + + // reset min/max or remove extremes based on start/end on tick + var roundedMin = tickPositions[0], + roundedMax = tickPositions[tickPositions.length - 1]; + + if (options.startOnTick) { + min = roundedMin; + } else if (min > roundedMin) { + tickPositions.shift(); + } + + if (options.endOnTick) { + max = roundedMax; + } else if (max < roundedMax) { + tickPositions.pop(); + } + } + } + + /** + * Set the max ticks of either the x and y axis collection. #840. + */ + axis.setMaxTicks = function () { + + // record the greatest number of ticks for multi axis + if (!maxTicks) { // first call, or maxTicks have been reset after a zoom operation + maxTicks = { + x: 0, + y: 0 + }; + } + + if (!isLinked && !isDatetimeAxis && tickPositions.length > maxTicks[xOrY] && options.alignTicks !== false) { + maxTicks[xOrY] = tickPositions.length; + } + }; + + /** + * When using multiple axes, adjust the number of ticks to match the highest + * number of ticks in that group + */ + function adjustTickAmount() { + if (maxTicks && maxTicks[xOrY] && !isDatetimeAxis && !categories && !isLinked && options.alignTicks !== false) { // only apply to linear scale + var oldTickAmount = tickAmount, + calculatedTickAmount = tickPositions.length; + + // set the axis-level tickAmount to use below + tickAmount = maxTicks[xOrY]; + + if (calculatedTickAmount < tickAmount) { + while (tickPositions.length < tickAmount) { + tickPositions.push(correctFloat( + tickPositions[tickPositions.length - 1] + tickInterval + )); + } + transA *= (calculatedTickAmount - 1) / (tickAmount - 1); + max = tickPositions[tickPositions.length - 1]; + + } + if (defined(oldTickAmount) && tickAmount !== oldTickAmount) { + axis.isDirty = true; + } + } + + + } + + /** + * Set the scale based on data min and max, user set min and max or options + * + */ + function setScale() { + var type, + i, + isDirtyData, + isDirtyAxisLength; + + oldMin = min; + oldMax = max; + oldAxisLength = axisLength; + + // set the new axisLength + axis.setAxisSize(); + //axisLength = horiz ? axisWidth : axisHeight; + isDirtyAxisLength = axisLength !== oldAxisLength; + + // is there new data? + each(axis.series, function (series) { + if (series.isDirtyData || series.isDirty || + series.xAxis.isDirty) { // when x axis is dirty, we need new data extremes for y as well + isDirtyData = true; + } + }); + + // do we really need to go through all this? + if (isDirtyAxisLength || isDirtyData || isLinked || + userMin !== oldUserMin || userMax !== oldUserMax) { + + // get data extremes if needed + getSeriesExtremes(); + + // get fixed positions based on tickInterval + setTickPositions(); + + // record old values to decide whether a rescale is necessary later on (#540) + oldUserMin = userMin; + oldUserMax = userMax; + + // reset stacks + if (!isXAxis) { + for (type in stacks) { + for (i in stacks[type]) { + stacks[type][i].cum = stacks[type][i].total; + } + } + } + + // Mark as dirty if it is not already set to dirty and extremes have changed. #595. + if (!axis.isDirty) { + axis.isDirty = isDirtyAxisLength || min !== oldMin || max !== oldMax; + } + } + + axis.setMaxTicks(); + } + + /** + * Set the extremes and optionally redraw + * @param {Number} newMin + * @param {Number} newMax + * @param {Boolean} redraw + * @param {Boolean|Object} animation Whether to apply animation, and optionally animation + * configuration + * @param {Object} eventArguments + * + */ + function setExtremes(newMin, newMax, redraw, animation, eventArguments) { + + redraw = pick(redraw, true); // defaults to true + + // Extend the arguments with min and max + eventArguments = extend(eventArguments, { + min: newMin, + max: newMax + }); + + // Fire the event + fireEvent(axis, 'setExtremes', eventArguments, function () { // the default event handler + + userMin = newMin; + userMax = newMax; + + // Mark for running afterSetExtremes + axis.isDirtyExtremes = true; + + // redraw + if (redraw) { + chart.redraw(animation); + } + }); + } + + /** + * Update translation information + */ + setAxisTranslation = function () { + var range = max - min, + pointRange = 0, + closestPointRange, + seriesClosestPointRange; + + // adjust translation for padding + if (isXAxis) { + if (isLinked) { + pointRange = linkedParent.pointRange; + } else { + each(axis.series, function (series) { + pointRange = mathMax(pointRange, series.pointRange); + seriesClosestPointRange = series.closestPointRange; + if (!series.noSharedTooltip && defined(seriesClosestPointRange)) { + closestPointRange = defined(closestPointRange) ? + mathMin(closestPointRange, seriesClosestPointRange) : + seriesClosestPointRange; + } + }); + } + + // pointRange means the width reserved for each point, like in a column chart + axis.pointRange = pointRange; + + // closestPointRange means the closest distance between points. In columns + // it is mostly equal to pointRange, but in lines pointRange is 0 while closestPointRange + // is some other value + axis.closestPointRange = closestPointRange; + } + + // secondary values + oldTransA = transA; + axis.translationSlope = transA = axisLength / ((range + pointRange) || 1); + transB = horiz ? axisLeft : axisBottom; // translation addend + minPixelPadding = transA * (pointRange / 2); + }; + + /** + * Update the axis metrics + */ + function setAxisSize() { + + var offsetLeft = options.offsetLeft || 0, + offsetRight = options.offsetRight || 0; + + // basic values + axisLeft = pick(options.left, plotLeft + offsetLeft); + axisTop = pick(options.top, plotTop); + axisWidth = pick(options.width, plotWidth - offsetLeft + offsetRight); + axisHeight = pick(options.height, plotHeight); + axisBottom = chartHeight - axisHeight - axisTop; + axisRight = chartWidth - axisWidth - axisLeft; + axisLength = mathMax(horiz ? axisWidth : axisHeight, 0); // mathMax fixes #905 + + // expose to use in Series object and navigator + axis.left = axisLeft; + axis.top = axisTop; + axis.len = axisLength; + + } + + /** + * Get the actual axis extremes + */ + function getExtremes() { + return { + min: isLog ? correctFloat(lin2log(min)) : min, + max: isLog ? correctFloat(lin2log(max)) : max, + dataMin: dataMin, + dataMax: dataMax, + userMin: userMin, + userMax: userMax + }; + } + + /** + * Get the zero plane either based on zero or on the min or max value. + * Used in bar and area plots + */ + function getThreshold(threshold) { + var realMin = isLog ? lin2log(min) : min, + realMax = isLog ? lin2log(max) : max; + + if (realMin > threshold || threshold === null) { + threshold = realMin; + } else if (realMax < threshold) { + threshold = realMax; + } + + return translate(threshold, 0, 1, 0, 1); + } + + /** + * Add a plot band or plot line after render time + * + * @param options {Object} The plotBand or plotLine configuration object + */ + function addPlotBandOrLine(options) { + var obj = new PlotLineOrBand(options).render(); + plotLinesAndBands.push(obj); + return obj; + } + + /** + * Render the tick labels to a preliminary position to get their sizes + */ + function getOffset() { + + var hasData = axis.series.length && defined(min) && defined(max), + showAxis = hasData || pick(options.showEmpty, true), + titleOffset = 0, + titleOffsetOption, + titleMargin = 0, + axisTitleOptions = options.title, + labelOptions = options.labels, + directionFactor = [-1, 1, 1, -1][side], + n; + + if (!axisGroup) { + axisGroup = renderer.g('axis') + .attr({ zIndex: 7 }) + .add(); + gridGroup = renderer.g('grid') + .attr({ zIndex: options.gridZIndex || 1 }) + .add(); + } + + labelOffset = 0; // reset + + if (hasData || isLinked) { + each(tickPositions, function (pos) { + if (!ticks[pos]) { + ticks[pos] = new Tick(pos); + } else { + ticks[pos].addLabel(); // update labels depending on tick interval + } + + }); + + each(tickPositions, function (pos) { + // left side must be align: right and right side must have align: left for labels + if (side === 0 || side === 2 || { 1: 'left', 3: 'right' }[side] === labelOptions.align) { + + // get the highest offset + labelOffset = mathMax( + ticks[pos].getLabelSize(), + labelOffset + ); + } + + }); + + if (staggerLines) { + labelOffset += (staggerLines - 1) * 16; + } + + } else { // doesn't have data + for (n in ticks) { + ticks[n].destroy(); + delete ticks[n]; + } + } + + if (axisTitleOptions && axisTitleOptions.text) { + if (!axisTitle) { + axisTitle = axis.axisTitle = renderer.text( + axisTitleOptions.text, + 0, + 0, + axisTitleOptions.useHTML + ) + .attr({ + zIndex: 7, + rotation: axisTitleOptions.rotation || 0, + align: + axisTitleOptions.textAlign || + { low: 'left', middle: 'center', high: 'right' }[axisTitleOptions.align] + }) + .css(axisTitleOptions.style) + .add(); + axisTitle.isNew = true; + } + + if (showAxis) { + titleOffset = axisTitle.getBBox()[horiz ? 'height' : 'width']; + titleMargin = pick(axisTitleOptions.margin, horiz ? 5 : 10); + titleOffsetOption = axisTitleOptions.offset; + } + + // hide or show the title depending on whether showEmpty is set + axisTitle[showAxis ? 'show' : 'hide'](); + + + } + + // handle automatic or user set offset + offset = directionFactor * pick(options.offset, axisOffset[side]); + + axisTitleMargin = + pick(titleOffsetOption, + labelOffset + titleMargin + + (side !== 2 && labelOffset && directionFactor * options.labels[horiz ? 'y' : 'x']) + ); + + axisOffset[side] = mathMax( + axisOffset[side], + axisTitleMargin + titleOffset + directionFactor * offset + ); + + } + + /** + * Render the axis + */ + function render() { + var axisTitleOptions = options.title, + stackLabelOptions = options.stackLabels, + alternateGridColor = options.alternateGridColor, + lineWidth = options.lineWidth, + lineLeft, + lineTop, + linePath, + hasRendered = chart.hasRendered, + slideInTicks = hasRendered && defined(oldMin) && !isNaN(oldMin), + hasData = axis.series.length && defined(min) && defined(max), + showAxis = hasData || pick(options.showEmpty, true), + from, + to; + + // If the series has data draw the ticks. Else only the line and title + if (hasData || isLinked) { + + // minor ticks + if (minorTickInterval && !categories) { + each(getMinorTickPositions(), function (pos) { + if (!minorTicks[pos]) { + minorTicks[pos] = new Tick(pos, 'minor'); + } + + // render new ticks in old position + if (slideInTicks && minorTicks[pos].isNew) { + minorTicks[pos].render(null, true); + } + + + minorTicks[pos].isActive = true; + minorTicks[pos].render(); + }); + } + + // Major ticks. Pull out the first item and render it last so that + // we can get the position of the neighbour label. #808. + each(tickPositions.slice(1).concat([tickPositions[0]]), function (pos, i) { + + // Reorganize the indices + i = (i === tickPositions.length - 1) ? 0 : i + 1; + + // linked axes need an extra check to find out if + if (!isLinked || (pos >= min && pos <= max)) { + + if (!ticks[pos]) { + ticks[pos] = new Tick(pos); + } + + // render new ticks in old position + if (slideInTicks && ticks[pos].isNew) { + ticks[pos].render(i, true); + } + + ticks[pos].isActive = true; + ticks[pos].render(i); + } + + }); + + // alternate grid color + if (alternateGridColor) { + each(tickPositions, function (pos, i) { + if (i % 2 === 0 && pos < max) { + if (!alternateBands[pos]) { + alternateBands[pos] = new PlotLineOrBand(); + } + from = pos; + to = tickPositions[i + 1] !== UNDEFINED ? tickPositions[i + 1] : max; + alternateBands[pos].options = { + from: isLog ? lin2log(from) : from, + to: isLog ? lin2log(to) : to, + color: alternateGridColor + }; + alternateBands[pos].render(); + alternateBands[pos].isActive = true; + } + }); + } + + // custom plot lines and bands + if (!axis._addedPlotLB) { // only first time + each((options.plotLines || []).concat(options.plotBands || []), function (plotLineOptions) { + //plotLinesAndBands.push(new PlotLineOrBand(plotLineOptions).render()); + addPlotBandOrLine(plotLineOptions); + }); + axis._addedPlotLB = true; + } + + + + } // end if hasData + + // remove inactive ticks + each([ticks, minorTicks, alternateBands], function (coll) { + var pos; + for (pos in coll) { + if (!coll[pos].isActive) { + coll[pos].destroy(); + delete coll[pos]; + } else { + coll[pos].isActive = false; // reset + } + } + }); + + + + + // Static items. As the axis group is cleared on subsequent calls + // to render, these items are added outside the group. + // axis line + if (lineWidth) { + lineLeft = axisLeft + (opposite ? axisWidth : 0) + offset; + lineTop = chartHeight - axisBottom - (opposite ? axisHeight : 0) + offset; + + linePath = renderer.crispLine([ + M, + horiz ? + axisLeft : + lineLeft, + horiz ? + lineTop : + axisTop, + L, + horiz ? + chartWidth - axisRight : + lineLeft, + horiz ? + lineTop : + chartHeight - axisBottom + ], lineWidth); + if (!axisLine) { + axisLine = renderer.path(linePath) + .attr({ + stroke: options.lineColor, + 'stroke-width': lineWidth, + zIndex: 7 + }) + .add(); + } else { + axisLine.animate({ d: linePath }); + } + + // show or hide the line depending on options.showEmpty + axisLine[showAxis ? 'show' : 'hide'](); + + } + + if (axisTitle && showAxis) { + // compute anchor points for each of the title align options + var margin = horiz ? axisLeft : axisTop, + fontSize = pInt(axisTitleOptions.style.fontSize || 12), + // the position in the length direction of the axis + alongAxis = { + low: margin + (horiz ? 0 : axisLength), + middle: margin + axisLength / 2, + high: margin + (horiz ? axisLength : 0) + }[axisTitleOptions.align], + + // the position in the perpendicular direction of the axis + offAxis = (horiz ? axisTop + axisHeight : axisLeft) + + (horiz ? 1 : -1) * // horizontal axis reverses the margin + (opposite ? -1 : 1) * // so does opposite axes + axisTitleMargin + + (side === 2 ? fontSize : 0); + + axisTitle[axisTitle.isNew ? 'attr' : 'animate']({ + x: horiz ? + alongAxis : + offAxis + (opposite ? axisWidth : 0) + offset + + (axisTitleOptions.x || 0), // x + y: horiz ? + offAxis - (opposite ? axisHeight : 0) + offset : + alongAxis + (axisTitleOptions.y || 0) // y + }); + axisTitle.isNew = false; + } + + // Stacked totals: + if (stackLabelOptions && stackLabelOptions.enabled) { + var stackKey, oneStack, stackCategory, + stackTotalGroup = axis.stackTotalGroup; + + // Create a separate group for the stack total labels + if (!stackTotalGroup) { + axis.stackTotalGroup = stackTotalGroup = + renderer.g('stack-labels') + .attr({ + visibility: VISIBLE, + zIndex: 6 + }) + .add(); + } + + // plotLeft/Top will change when y axis gets wider so we need to translate the + // stackTotalGroup at every render call. See bug #506 and #516 + stackTotalGroup.translate(plotLeft, plotTop); + + // Render each stack total + for (stackKey in stacks) { + oneStack = stacks[stackKey]; + for (stackCategory in oneStack) { + oneStack[stackCategory].render(stackTotalGroup); + } + } + } + // End stacked totals + + axis.isDirty = false; + } + + /** + * Remove a plot band or plot line from the chart by id + * @param {Object} id + */ + function removePlotBandOrLine(id) { + var i = plotLinesAndBands.length; + while (i--) { + if (plotLinesAndBands[i].id === id) { + plotLinesAndBands[i].destroy(); + } + } + } + + /** + * Update the axis title by options + */ + function setTitle(newTitleOptions, redraw) { + options.title = merge(options.title, newTitleOptions); + + axisTitle = axisTitle.destroy(); + axis.isDirty = true; + + if (pick(redraw, true)) { + chart.redraw(); + } + } + + /** + * Redraw the axis to reflect changes in the data or axis extremes + */ + function redraw() { + + // hide tooltip and hover states + if (tracker.resetTracker) { + tracker.resetTracker(true); + } + + // render the axis + render(); + + // move plot lines and bands + each(plotLinesAndBands, function (plotLine) { + plotLine.render(); + }); + + // mark associated series as dirty and ready for redraw + each(axis.series, function (series) { + series.isDirty = true; + }); + + } + + /** + * Set new axis categories and optionally redraw + * @param {Array} newCategories + * @param {Boolean} doRedraw + */ + function setCategories(newCategories, doRedraw) { + // set the categories + axis.categories = userOptions.categories = categories = newCategories; + + // force reindexing tooltips + each(axis.series, function (series) { + series.translate(); + series.setTooltipPoints(true); + }); + + + // optionally redraw + axis.isDirty = true; + + if (pick(doRedraw, true)) { + chart.redraw(); + } + } + + /** + * Destroys an Axis instance. + */ + function destroy() { + var stackKey; + + // Remove the events + removeEvent(axis); + + // Destroy each stack total + for (stackKey in stacks) { + destroyObjectProperties(stacks[stackKey]); + + stacks[stackKey] = null; + } + + // Destroy stack total group + if (axis.stackTotalGroup) { + axis.stackTotalGroup = axis.stackTotalGroup.destroy(); + } + + // Destroy collections + each([ticks, minorTicks, alternateBands, plotLinesAndBands], function (coll) { + destroyObjectProperties(coll); + }); + + // Destroy local variables + each([axisLine, axisGroup, gridGroup, axisTitle], function (obj) { + if (obj) { + obj.destroy(); + } + }); + axisLine = axisGroup = gridGroup = axisTitle = null; + } + + + // Run Axis + + // Register + axes.push(axis); + chart[isXAxis ? 'xAxis' : 'yAxis'].push(axis); + + // inverted charts have reversed xAxes as default + if (inverted && isXAxis && reversed === UNDEFINED) { + reversed = true; + } + + + // expose some variables + extend(axis, { + addPlotBand: addPlotBandOrLine, + addPlotLine: addPlotBandOrLine, + adjustTickAmount: adjustTickAmount, + categories: categories, + getExtremes: getExtremes, + getPlotLinePath: getPlotLinePath, + getThreshold: getThreshold, + isXAxis: isXAxis, + options: options, + plotLinesAndBands: plotLinesAndBands, + getOffset: getOffset, + render: render, + setAxisSize: setAxisSize, + setAxisTranslation: setAxisTranslation, + setCategories: setCategories, + setExtremes: setExtremes, + setScale: setScale, + setTickPositions: setTickPositions, + translate: translate, + redraw: redraw, + removePlotBand: removePlotBandOrLine, + removePlotLine: removePlotBandOrLine, + reversed: reversed, + setTitle: setTitle, + series: [], // populated by Series + stacks: stacks, + destroy: destroy + }); + + // register event listeners + for (eventType in events) { + addEvent(axis, eventType, events[eventType]); + } + + // extend logarithmic axis + if (isLog) { + axis.val2lin = log2lin; + axis.lin2val = lin2log; + } + + } // end Axis + + + /** + * The tooltip object + * @param {Object} options Tooltip options + */ + function Tooltip(options) { + var currentSeries, + borderWidth = options.borderWidth, + crosshairsOptions = options.crosshairs, + crosshairs = [], + style = options.style, + shared = options.shared, + padding = pInt(style.padding), + tooltipIsHidden = true, + currentX = 0, + currentY = 0; + + // remove padding CSS and apply padding on box instead + style.padding = 0; + + // create the label + var label = renderer.label('', 0, 0, null, null, null, options.useHTML, null, 'tooltip') + .attr({ + padding: padding, + fill: options.backgroundColor, + 'stroke-width': borderWidth, + r: options.borderRadius, + zIndex: 8 + }) + .css(style) + .hide() + .add(); + + // When using canVG the shadow shows up as a gray circle + // even if the tooltip is hidden. + if (!useCanVG) { + label.shadow(options.shadow); + } + + /** + * Destroy the tooltip and its elements. + */ + function destroy() { + each(crosshairs, function (crosshair) { + if (crosshair) { + crosshair.destroy(); + } + }); + + // Destroy and clear local variables + if (label) { + label = label.destroy(); + } + } + + /** + * In case no user defined formatter is given, this will be used + */ + function defaultFormatter() { + var pThis = this, + items = pThis.points || splat(pThis), + series = items[0].series, + s; + + // build the header + s = [series.tooltipHeaderFormatter(items[0].key)]; + + // build the values + each(items, function (item) { + series = item.series; + s.push((series.tooltipFormatter && series.tooltipFormatter(item)) || + item.point.tooltipFormatter(series.tooltipOptions.pointFormat)); + }); + + // footer + s.push(options.footerFormat || ''); + + return s.join(''); + } + + /** + * Provide a soft movement for the tooltip + * + * @param {Number} finalX + * @param {Number} finalY + */ + function move(finalX, finalY) { + + // get intermediate values for animation + currentX = tooltipIsHidden ? finalX : (2 * currentX + finalX) / 3; + currentY = tooltipIsHidden ? finalY : (currentY + finalY) / 2; + + // move to the intermediate value + label.attr({ x: currentX, y: currentY }); + + // run on next tick of the mouse tracker + if (mathAbs(finalX - currentX) > 1 || mathAbs(finalY - currentY) > 1) { + tooltipTick = function () { + move(finalX, finalY); + }; + } else { + tooltipTick = null; + } + } + + /** + * Hide the tooltip + */ + function hide() { + if (!tooltipIsHidden) { + var hoverPoints = chart.hoverPoints; + + label.hide(); + + // hide previous hoverPoints and set new + if (hoverPoints) { + each(hoverPoints, function (point) { + point.setState(); + }); + } + chart.hoverPoints = null; + + + tooltipIsHidden = true; + } + + } + + /** + * Hide the crosshairs + */ + function hideCrosshairs() { + each(crosshairs, function (crosshair) { + if (crosshair) { + crosshair.hide(); + } + }); + } + + /** + * Refresh the tooltip's text and position. + * @param {Object} point + * + */ + function refresh(point) { + var x, + y, + show, + plotX, + plotY, + textConfig = {}, + text, + pointConfig = [], + tooltipPos = point.tooltipPos, + formatter = options.formatter || defaultFormatter, + hoverPoints = chart.hoverPoints, + placedTooltipPoint, + borderColor; + + // shared tooltip, array is sent over + if (shared && !(point.series && point.series.noSharedTooltip)) { + plotY = 0; + + // hide previous hoverPoints and set new + if (hoverPoints) { + each(hoverPoints, function (point) { + point.setState(); + }); + } + chart.hoverPoints = point; + + each(point, function (item) { + item.setState(HOVER_STATE); + plotY += item.plotY; // for average + + pointConfig.push(item.getLabelConfig()); + }); + + plotX = point[0].plotX; + plotY = mathRound(plotY) / point.length; // mathRound because Opera 10 has problems here + + textConfig = { + x: point[0].category + }; + textConfig.points = pointConfig; + point = point[0]; + + // single point tooltip + } else { + textConfig = point.getLabelConfig(); + } + text = formatter.call(textConfig); + + // register the current series + currentSeries = point.series; + + // get the reference point coordinates (pie charts use tooltipPos) + plotX = pick(plotX, point.plotX); + plotY = pick(plotY, point.plotY); + + x = mathRound(tooltipPos ? tooltipPos[0] : (inverted ? plotWidth - plotY : plotX)); + y = mathRound(tooltipPos ? tooltipPos[1] : (inverted ? plotHeight - plotX : plotY)); + + + // For line type series, hide tooltip if the point falls outside the plot + show = shared || !currentSeries.isCartesian || currentSeries.tooltipOutsidePlot || isInsidePlot(x, y); + + // update the inner HTML + if (text === false || !show) { + hide(); + } else { + + // show it + if (tooltipIsHidden) { + label.show(); + tooltipIsHidden = false; + } + + // update text + label.attr({ + text: text + }); + + // set the stroke color of the box + borderColor = options.borderColor || point.color || currentSeries.color || '#606060'; + label.attr({ + stroke: borderColor + }); + + placedTooltipPoint = placeBox( + label.width, + label.height, + plotLeft, + plotTop, + plotWidth, + plotHeight, + {x: x, y: y}, + pick(options.distance, 12), + inverted + ); + + // do the move + move(mathRound(placedTooltipPoint.x), mathRound(placedTooltipPoint.y)); + } + + + // crosshairs + if (crosshairsOptions) { + crosshairsOptions = splat(crosshairsOptions); // [x, y] + + var path, + i = crosshairsOptions.length, + attribs, + axis; + + while (i--) { + axis = point.series[i ? 'yAxis' : 'xAxis']; + if (crosshairsOptions[i] && axis) { + path = axis.getPlotLinePath( + i ? pick(point.stackY, point.y) : point.x, // #814 + 1 + ); + if (crosshairs[i]) { + crosshairs[i].attr({ d: path, visibility: VISIBLE }); + + } else { + attribs = { + 'stroke-width': crosshairsOptions[i].width || 1, + stroke: crosshairsOptions[i].color || '#C0C0C0', + zIndex: crosshairsOptions[i].zIndex || 2 + }; + if (crosshairsOptions[i].dashStyle) { + attribs.dashstyle = crosshairsOptions[i].dashStyle; + } + crosshairs[i] = renderer.path(path) + .attr(attribs) + .add(); + } + } + } + } + fireEvent(chart, 'tooltipRefresh', { + text: text, + x: x + plotLeft, + y: y + plotTop, + borderColor: borderColor + }); + } + + + + // public members + return { + shared: shared, + refresh: refresh, + hide: hide, + hideCrosshairs: hideCrosshairs, + destroy: destroy + }; + } + + /** + * The mouse tracker object + * @param {Object} options + */ + function MouseTracker(options) { + + + var mouseDownX, + mouseDownY, + hasDragged, + selectionMarker, + zoomType = useCanVG ? '' : optionsChart.zoomType, + zoomX = /x/.test(zoomType), + zoomY = /y/.test(zoomType), + zoomHor = (zoomX && !inverted) || (zoomY && inverted), + zoomVert = (zoomY && !inverted) || (zoomX && inverted); + + /** + * Add crossbrowser support for chartX and chartY + * @param {Object} e The event object in standard browsers + */ + function normalizeMouseEvent(e) { + var ePos, + chartX, + chartY; + + // common IE normalizing + e = e || win.event; + if (!e.target) { + e.target = e.srcElement; + } + + // jQuery only copies over some properties. IE needs e.x and iOS needs touches. + if (e.originalEvent) { + e = e.originalEvent; + } + + // The same for MooTools. It renames e.pageX to e.page.x. #445. + if (e.event) { + e = e.event; + } + + // iOS + ePos = e.touches ? e.touches.item(0) : e; + + // get mouse position + chartPosition = offset(container); + + // chartX and chartY + if (ePos.pageX === UNDEFINED) { // IE < 9. #886. + chartX = e.x; + chartY = e.y; + } else { + chartX = ePos.pageX - chartPosition.left; + chartY = ePos.pageY - chartPosition.top; + } + + return extend(e, { + chartX: mathRound(chartX), + chartY: mathRound(chartY) + }); + } + + /** + * Get the click position in terms of axis values. + * + * @param {Object} e A mouse event + */ + function getMouseCoordinates(e) { + var coordinates = { + xAxis: [], + yAxis: [] + }; + each(axes, function (axis) { + var translate = axis.translate, + isXAxis = axis.isXAxis, + isHorizontal = inverted ? !isXAxis : isXAxis; + + coordinates[isXAxis ? 'xAxis' : 'yAxis'].push({ + axis: axis, + value: translate( + isHorizontal ? + e.chartX - plotLeft : + plotHeight - e.chartY + plotTop, + true + ) + }); + }); + return coordinates; + } + + /** + * With line type charts with a single tracker, get the point closest to the mouse + */ + function onmousemove(e) { + var point, + points, + hoverPoint = chart.hoverPoint, + hoverSeries = chart.hoverSeries, + i, + j, + distance = chartWidth, + // the index in the tooltipPoints array, corresponding to pixel position in plot area + index = inverted ? plotHeight + plotTop - e.chartY : e.chartX - plotLeft; + + // shared tooltip + if (tooltip && options.shared && !(hoverSeries && hoverSeries.noSharedTooltip)) { + points = []; + + // loop over all series and find the ones with points closest to the mouse + i = series.length; + for (j = 0; j < i; j++) { + if (series[j].visible && + series[j].options.enableMouseTracking !== false && + !series[j].noSharedTooltip && series[j].tooltipPoints.length) { + point = series[j].tooltipPoints[index]; + point._dist = mathAbs(index - point.plotX); + distance = mathMin(distance, point._dist); + points.push(point); + } + } + // remove furthest points + i = points.length; + while (i--) { + if (points[i]._dist > distance) { + points.splice(i, 1); + } + } + // refresh the tooltip if necessary + if (points.length && (points[0].plotX !== hoverX)) { + tooltip.refresh(points); + hoverX = points[0].plotX; + } + } + + // separate tooltip and general mouse events + if (hoverSeries && hoverSeries.tracker) { // only use for line-type series with common tracker + + // get the point + point = hoverSeries.tooltipPoints[index]; + + // a new point is hovered, refresh the tooltip + if (point && point !== hoverPoint) { + + // trigger the events + point.onMouseOver(); + + } + } + } + + + + /** + * Reset the tracking by hiding the tooltip, the hover series state and the hover point + */ + function resetTracker(allowMove) { + var hoverSeries = chart.hoverSeries, + hoverPoint = chart.hoverPoint, + tooltipPoints = chart.hoverPoints || hoverPoint; + + // Just move the tooltip, #349 + if (allowMove && tooltip && tooltipPoints) { + tooltip.refresh(tooltipPoints); + + // Full reset + } else { + + if (hoverPoint) { + hoverPoint.onMouseOut(); + } + + if (hoverSeries) { + hoverSeries.onMouseOut(); + } + + if (tooltip) { + tooltip.hide(); + tooltip.hideCrosshairs(); + } + + hoverX = null; + + } + } + + /** + * Mouse up or outside the plot area + */ + function drop() { + if (selectionMarker) { + var selectionData = { + xAxis: [], + yAxis: [] + }, + selectionBox = selectionMarker.getBBox(), + selectionLeft = selectionBox.x - plotLeft, + selectionTop = selectionBox.y - plotTop, + runZoom; + + + // a selection has been made + if (hasDragged) { + + // record each axis' min and max + each(axes, function (axis) { + if (axis.options.zoomEnabled !== false) { + var translate = axis.translate, + isXAxis = axis.isXAxis, + isHorizontal = inverted ? !isXAxis : isXAxis, + selectionMin = translate( + isHorizontal ? + selectionLeft : + plotHeight - selectionTop - selectionBox.height, + true, + 0, + 0, + 1 + ), + selectionMax = translate( + isHorizontal ? + selectionLeft + selectionBox.width : + plotHeight - selectionTop, + true, + 0, + 0, + 1 + ); + if (!isNaN(selectionMin) && !isNaN(selectionMax)) { // #859 + selectionData[isXAxis ? 'xAxis' : 'yAxis'].push({ + axis: axis, + min: mathMin(selectionMin, selectionMax), // for reversed axes, + max: mathMax(selectionMin, selectionMax) + }); + runZoom = true; + } + } + }); + if (runZoom) { + fireEvent(chart, 'selection', selectionData, zoom); + } + + } + selectionMarker = selectionMarker.destroy(); + } + + if (chart) { // it may be destroyed on mouse up - #877 + css(container, { cursor: 'auto' }); + chart.cancelClick = hasDragged; // #370 + chart.mouseIsDown = mouseIsDown = hasDragged = false; + } + + removeEvent(doc, hasTouch ? 'touchend' : 'mouseup', drop); + + } + + /** + * Special handler for mouse move that will hide the tooltip when the mouse leaves the plotarea. + */ + function hideTooltipOnMouseMove(e) { + + // Get e.pageX and e.pageY back in MooTools + washMouseEvent(e); + + // If we're outside, hide the tooltip + if (chartPosition && + !isInsidePlot(e.pageX - chartPosition.left - plotLeft, + e.pageY - chartPosition.top - plotTop)) { + resetTracker(); + } + } + + /** + * When mouse leaves the container, hide the tooltip. + */ + function hideTooltipOnMouseLeave() { + resetTracker(); + chartPosition = null; // also reset the chart position, used in #149 fix + } + + /** + * Set the JS events on the container element + */ + function setDOMEvents() { + var lastWasOutsidePlot = true; + /* + * Record the starting position of a dragoperation + */ + container.onmousedown = function (e) { + e = normalizeMouseEvent(e); + + // issue #295, dragging not always working in Firefox + if (!hasTouch && e.preventDefault) { + e.preventDefault(); + } + + // record the start position + chart.mouseIsDown = mouseIsDown = true; + chart.cancelClick = false; + chart.mouseDownX = mouseDownX = e.chartX; + mouseDownY = e.chartY; + + addEvent(doc, hasTouch ? 'touchend' : 'mouseup', drop); + }; + + // The mousemove, touchmove and touchstart event handler + var mouseMove = function (e) { + + // let the system handle multitouch operations like two finger scroll + // and pinching + if (e && e.touches && e.touches.length > 1) { + return; + } + + // normalize + e = normalizeMouseEvent(e); + if (!hasTouch) { // not for touch devices + e.returnValue = false; + } + + var chartX = e.chartX, + chartY = e.chartY, + isOutsidePlot = !isInsidePlot(chartX - plotLeft, chartY - plotTop); + + // on touch devices, only trigger click if a handler is defined + if (hasTouch && e.type === 'touchstart') { + if (attr(e.target, 'isTracker')) { + if (!chart.runTrackerClick) { + e.preventDefault(); + } + } else if (!runChartClick && !isOutsidePlot) { + e.preventDefault(); + } + } + + // cancel on mouse outside + if (isOutsidePlot) { + + /*if (!lastWasOutsidePlot) { + // reset the tracker + resetTracker(); + }*/ + + // drop the selection if any and reset mouseIsDown and hasDragged + //drop(); + if (chartX < plotLeft) { + chartX = plotLeft; + } else if (chartX > plotLeft + plotWidth) { + chartX = plotLeft + plotWidth; + } + + if (chartY < plotTop) { + chartY = plotTop; + } else if (chartY > plotTop + plotHeight) { + chartY = plotTop + plotHeight; + } + + } + + if (mouseIsDown && e.type !== 'touchstart') { // make selection + + // determine if the mouse has moved more than 10px + hasDragged = Math.sqrt( + Math.pow(mouseDownX - chartX, 2) + + Math.pow(mouseDownY - chartY, 2) + ); + if (hasDragged > 10) { + var clickedInside = isInsidePlot(mouseDownX - plotLeft, mouseDownY - plotTop); + + // make a selection + if (hasCartesianSeries && (zoomX || zoomY) && clickedInside) { + if (!selectionMarker) { + selectionMarker = renderer.rect( + plotLeft, + plotTop, + zoomHor ? 1 : plotWidth, + zoomVert ? 1 : plotHeight, + 0 + ) + .attr({ + fill: optionsChart.selectionMarkerFill || 'rgba(69,114,167,0.25)', + zIndex: 7 + }) + .add(); + } + } + + // adjust the width of the selection marker + if (selectionMarker && zoomHor) { + var xSize = chartX - mouseDownX; + selectionMarker.attr({ + width: mathAbs(xSize), + x: (xSize > 0 ? 0 : xSize) + mouseDownX + }); + } + // adjust the height of the selection marker + if (selectionMarker && zoomVert) { + var ySize = chartY - mouseDownY; + selectionMarker.attr({ + height: mathAbs(ySize), + y: (ySize > 0 ? 0 : ySize) + mouseDownY + }); + } + + // panning + if (clickedInside && !selectionMarker && optionsChart.panning) { + chart.pan(chartX); + } + } + + } else if (!isOutsidePlot) { + // show the tooltip + onmousemove(e); + } + + lastWasOutsidePlot = isOutsidePlot; + + // when outside plot, allow touch-drag by returning true + return isOutsidePlot || !hasCartesianSeries; + }; + + /* + * When the mouse enters the container, run mouseMove + */ + container.onmousemove = mouseMove; + + /* + * When the mouse leaves the container, hide the tracking (tooltip). + */ + addEvent(container, 'mouseleave', hideTooltipOnMouseLeave); + + // issue #149 workaround + // The mouseleave event above does not always fire. Whenever the mouse is moving + // outside the plotarea, hide the tooltip + addEvent(doc, 'mousemove', hideTooltipOnMouseMove); + + container.ontouchstart = function (e) { + // For touch devices, use touchmove to zoom + if (zoomX || zoomY) { + container.onmousedown(e); + } + // Show tooltip and prevent the lower mouse pseudo event + mouseMove(e); + }; + + /* + * Allow dragging the finger over the chart to read the values on touch + * devices + */ + container.ontouchmove = mouseMove; + + /* + * Allow dragging the finger over the chart to read the values on touch + * devices + */ + container.ontouchend = function () { + if (hasDragged) { + resetTracker(); + } + }; + + + // MooTools 1.2.3 doesn't fire this in IE when using addEvent + container.onclick = function (e) { + var hoverPoint = chart.hoverPoint; + e = normalizeMouseEvent(e); + + e.cancelBubble = true; // IE specific + + + if (!chart.cancelClick) { + + // Detect clicks on trackers or tracker groups, #783 + if (hoverPoint && (attr(e.target, 'isTracker') || attr(e.target.parentNode, 'isTracker'))) { + var plotX = hoverPoint.plotX, + plotY = hoverPoint.plotY; + + // add page position info + extend(hoverPoint, { + pageX: chartPosition.left + plotLeft + + (inverted ? plotWidth - plotY : plotX), + pageY: chartPosition.top + plotTop + + (inverted ? plotHeight - plotX : plotY) + }); + + // the series click event + fireEvent(hoverPoint.series, 'click', extend(e, { + point: hoverPoint + })); + + // the point click event + hoverPoint.firePointEvent('click', e); + + } else { + extend(e, getMouseCoordinates(e)); + + // fire a click event in the chart + if (isInsidePlot(e.chartX - plotLeft, e.chartY - plotTop)) { + fireEvent(chart, 'click', e); + } + } + + + } + }; + + } + + /** + * Destroys the MouseTracker object and disconnects DOM events. + */ + function destroy() { + // Destroy the tracker group element + if (chart.trackerGroup) { + chart.trackerGroup = trackerGroup = chart.trackerGroup.destroy(); + } + + removeEvent(container, 'mouseleave', hideTooltipOnMouseLeave); + removeEvent(doc, 'mousemove', hideTooltipOnMouseMove); + container.onclick = container.onmousedown = container.onmousemove = container.ontouchstart = container.ontouchend = container.ontouchmove = null; + } + + + // Run MouseTracker + + if (!trackerGroup) { + chart.trackerGroup = trackerGroup = renderer.g('tracker') + .attr({ zIndex: 9 }) + .add(); + } + + if (options.enabled) { + chart.tooltip = tooltip = Tooltip(options); + + // set the fixed interval ticking for the smooth tooltip + tooltipInterval = setInterval(function () { + if (tooltipTick) { + tooltipTick(); + } + }, 32); + } + + setDOMEvents(); + + // expose properties + extend(this, { + zoomX: zoomX, + zoomY: zoomY, + resetTracker: resetTracker, + normalizeMouseEvent: normalizeMouseEvent, + destroy: destroy + }); + } + + + + /** + * The overview of the chart's series + */ + var Legend = function () { + + var options = chart.options.legend; + + if (!options.enabled) { + return; + } + + var horizontal = options.layout === 'horizontal', + symbolWidth = options.symbolWidth, + symbolPadding = options.symbolPadding, + allItems, + style = options.style, + itemStyle = options.itemStyle, + itemHoverStyle = options.itemHoverStyle, + itemHiddenStyle = merge(itemStyle, options.itemHiddenStyle), + padding = options.padding || pInt(style.padding), + ltr = !options.rtl, + itemMarginTop = options.itemMarginTop || 0, + itemMarginBottom = options.itemMarginBottom || 0, + y = 18, + maxItemWidth = 0, + initialItemX = 4 + padding + symbolWidth + symbolPadding, + initialItemY = padding + itemMarginTop + y - 5, // 5 is the number of pixels above the text + itemX, + itemY, + lastItemY, + itemHeight = 0, + box, + legendBorderWidth = options.borderWidth, + legendBackgroundColor = options.backgroundColor, + legendGroup, + offsetWidth, + widthOption = options.width, + series = chart.series, + reversedLegend = options.reversed; + + + + /** + * Set the colors for the legend item + * @param {Object} item A Series or Point instance + * @param {Object} visible Dimmed or colored + */ + function colorizeItem(item, visible) { + var legendItem = item.legendItem, + legendLine = item.legendLine, + legendSymbol = item.legendSymbol, + hiddenColor = itemHiddenStyle.color, + textColor = visible ? options.itemStyle.color : hiddenColor, + symbolColor = visible ? item.color : hiddenColor; + + if (legendItem) { + legendItem.css({ fill: textColor }); + } + if (legendLine) { + legendLine.attr({ stroke: symbolColor }); + } + if (legendSymbol) { + legendSymbol.attr({ + stroke: symbolColor, + fill: symbolColor + }); + } + } + + /** + * Position the legend item + * @param {Object} item A Series or Point instance + * @param {Object} visible Dimmed or colored + */ + function positionItem(item) { + var legendItem = item.legendItem, + legendLine = item.legendLine, + legendItemPos = item._legendItemPos, + itemX = legendItemPos[0], + itemY = legendItemPos[1], + legendSymbol = item.legendSymbol, + symbolX, + checkbox = item.checkbox; + + if (legendItem) { + legendItem.attr({ + x: ltr ? itemX : legendWidth - itemX, + y: itemY + }); + } + if (legendLine) { + legendLine.translate( + ltr ? itemX : legendWidth - itemX, + itemY - 4 + ); + } + if (legendSymbol) { + symbolX = itemX + legendSymbol.xOff; + legendSymbol.attr({ + x: ltr ? symbolX : legendWidth - symbolX, + y: itemY + legendSymbol.yOff + }); + } + if (checkbox) { + checkbox.x = itemX; + checkbox.y = itemY; + } + } + + /** + * Destroy a single legend item + * @param {Object} item The series or point + */ + function destroyItem(item) { + var checkbox = item.checkbox; + + // destroy SVG elements + each(['legendItem', 'legendLine', 'legendSymbol'], function (key) { + if (item[key]) { + item[key].destroy(); + } + }); + + if (checkbox) { + discardElement(item.checkbox); + } + + + } + + /** + * Destroys the legend. + */ + function destroy() { + if (box) { + box = box.destroy(); + } + + if (legendGroup) { + legendGroup = legendGroup.destroy(); + } + } + + /** + * Position the checkboxes after the width is determined + */ + function positionCheckboxes() { + each(allItems, function (item) { + var checkbox = item.checkbox, + alignAttr = legendGroup.alignAttr; + if (checkbox) { + css(checkbox, { + left: (alignAttr.translateX + item.legendItemWidth + checkbox.x - 40) + PX, + top: (alignAttr.translateY + checkbox.y - 11) + PX + }); + } + }); + } + + /** + * Render a single specific legend item + * @param {Object} item A series or point + */ + function renderItem(item) { + var bBox, + itemWidth, + legendSymbol, + symbolX, + symbolY, + simpleSymbol, + radius, + li = item.legendItem, + series = item.series || item, + itemOptions = series.options, + strokeWidth = (itemOptions && itemOptions.borderWidth) || 0; + + + if (!li) { // generate it once, later move it + + // let these series types use a simple symbol + simpleSymbol = /^(bar|pie|area|column)$/.test(series.type); + + // generate the list item text + item.legendItem = li = renderer.text( + options.labelFormatter.call(item), + 0, + 0, + options.useHTML + ) + .css(item.visible ? itemStyle : itemHiddenStyle) + .on('mouseover', function () { + item.setState(HOVER_STATE); + li.css(itemHoverStyle); + }) + .on('mouseout', function () { + li.css(item.visible ? itemStyle : itemHiddenStyle); + item.setState(); + }) + .on('click', function () { + var strLegendItemClick = 'legendItemClick', + fnLegendItemClick = function () { + item.setVisible(); + }; + + // click the name or symbol + if (item.firePointEvent) { // point + item.firePointEvent(strLegendItemClick, null, fnLegendItemClick); + } else { + fireEvent(item, strLegendItemClick, null, fnLegendItemClick); + } + }) + .attr({ + align: ltr ? 'left' : 'right', + zIndex: 2 + }) + .add(legendGroup); + + // draw the line + if (!simpleSymbol && itemOptions && itemOptions.lineWidth) { + var attrs = { + 'stroke-width': itemOptions.lineWidth, + zIndex: 2 + }; + if (itemOptions.dashStyle) { + attrs.dashstyle = itemOptions.dashStyle; + } + item.legendLine = renderer.path([ + M, + (-symbolWidth - symbolPadding) * (ltr ? 1 : -1), + 0, + L, + (-symbolPadding) * (ltr ? 1 : -1), + 0 + ]) + .attr(attrs) + .add(legendGroup); + } + + // draw a simple symbol + if (simpleSymbol) { // bar|pie|area|column + + legendSymbol = renderer.rect( + (symbolX = -symbolWidth - symbolPadding), + (symbolY = -11), + symbolWidth, + 12, + 2 + ).attr({ + //'stroke-width': 0, + zIndex: 3 + }).add(legendGroup); + + if (!ltr) { + symbolX += symbolWidth; + } + + } else if (itemOptions && itemOptions.marker && itemOptions.marker.enabled) { // draw the marker + radius = itemOptions.marker.radius; + legendSymbol = renderer.symbol( + item.symbol, + (symbolX = -symbolWidth / 2 - symbolPadding - radius), + (symbolY = -4 - radius), + 2 * radius, + 2 * radius + ) + .attr(item.pointAttr[NORMAL_STATE]) + .attr({ zIndex: 3 }) + .add(legendGroup); + + if (!ltr) { + symbolX += symbolWidth / 2; + } + + } + if (legendSymbol) { + + legendSymbol.xOff = symbolX + (strokeWidth % 2 / 2); + legendSymbol.yOff = symbolY + (strokeWidth % 2 / 2); + } + + item.legendSymbol = legendSymbol; + + // colorize the items + colorizeItem(item, item.visible); + + + // add the HTML checkbox on top + if (itemOptions && itemOptions.showCheckbox) { + item.checkbox = createElement('input', { + type: 'checkbox', + checked: item.selected, + defaultChecked: item.selected // required by IE7 + }, options.itemCheckboxStyle, container); + + addEvent(item.checkbox, 'click', function (event) { + var target = event.target; + fireEvent(item, 'checkboxClick', { + checked: target.checked + }, + function () { + item.select(); + } + ); + }); + } + } + + + // calculate the positions for the next line + bBox = li.getBBox(); + + itemWidth = item.legendItemWidth = + options.itemWidth || symbolWidth + symbolPadding + bBox.width + padding; + itemHeight = bBox.height; + + // if the item exceeds the width, start a new line + if (horizontal && itemX - initialItemX + itemWidth > + (widthOption || (chartWidth - 2 * padding - initialItemX))) { + itemX = initialItemX; + itemY += itemMarginTop + itemHeight + itemMarginBottom; + } + + // If the item exceeds the height, start a new column + if (!horizontal && itemY + options.y + itemHeight > chartHeight - spacingTop - spacingBottom) { + itemY = initialItemY; + itemX += maxItemWidth; + maxItemWidth = 0; + } + + // Set the edge positions + maxItemWidth = mathMax(maxItemWidth, itemWidth); + lastItemY = mathMax(lastItemY, itemY + itemMarginBottom); + + // cache the position of the newly generated or reordered items + item._legendItemPos = [itemX, itemY]; + + // advance + if (horizontal) { + itemX += itemWidth; + } else { + itemY += itemMarginTop + itemHeight + itemMarginBottom; + } + + // the width of the widest item + offsetWidth = widthOption || mathMax( + (itemX - initialItemX) + (horizontal ? 0 : itemWidth), + offsetWidth + ); + + } + + /** + * Render the legend. This method can be called both before and after + * chart.render. If called after, it will only rearrange items instead + * of creating new ones. + */ + function renderLegend() { + itemX = initialItemX; + itemY = initialItemY; + offsetWidth = 0; + lastItemY = 0; + + if (!legendGroup) { + legendGroup = renderer.g('legend') + // #414, #759. Trackers will be drawn above the legend, but we have + // to sacrifice that because tooltips need to be above the legend + // and trackers above tooltips + .attr({ zIndex: 7 }) + .add(); + } + + + // add each series or point + allItems = []; + each(series, function (serie) { + var seriesOptions = serie.options; + + if (!seriesOptions.showInLegend) { + return; + } + + // use points or series for the legend item depending on legendType + allItems = allItems.concat( + serie.legendItems || + (seriesOptions.legendType === 'point' ? + serie.data : + serie) + ); + + }); + + // sort by legendIndex + stableSort(allItems, function (a, b) { + return (a.options.legendIndex || 0) - (b.options.legendIndex || 0); + }); + + // reversed legend + if (reversedLegend) { + allItems.reverse(); + } + + // render the items + each(allItems, renderItem); + + + // Draw the border + legendWidth = widthOption || offsetWidth; + legendHeight = lastItemY - y + itemHeight; + + if (legendBorderWidth || legendBackgroundColor) { + legendWidth += 2 * padding; + legendHeight += 2 * padding; + + if (!box) { + box = renderer.rect( + 0, + 0, + legendWidth, + legendHeight, + options.borderRadius, + legendBorderWidth || 0 + ).attr({ + stroke: options.borderColor, + 'stroke-width': legendBorderWidth || 0, + fill: legendBackgroundColor || NONE + }) + .add(legendGroup) + .shadow(options.shadow); + box.isNew = true; + + } else if (legendWidth > 0 && legendHeight > 0) { + box[box.isNew ? 'attr' : 'animate']( + box.crisp(null, null, null, legendWidth, legendHeight) + ); + box.isNew = false; + } + + // hide the border if no items + box[allItems.length ? 'show' : 'hide'](); + } + + // Now that the legend width and height are extablished, put the items in the + // final position + each(allItems, positionItem); + + // 1.x compatibility: positioning based on style + var props = ['left', 'right', 'top', 'bottom'], + prop, + i = 4; + while (i--) { + prop = props[i]; + if (style[prop] && style[prop] !== 'auto') { + options[i < 2 ? 'align' : 'verticalAlign'] = prop; + options[i < 2 ? 'x' : 'y'] = pInt(style[prop]) * (i % 2 ? -1 : 1); + } + } + + if (allItems.length) { + legendGroup.align(extend(options, { + width: legendWidth, + height: legendHeight + }), true, spacingBox); + } + + if (!isResizing) { + positionCheckboxes(); + } + } + + + // run legend + renderLegend(); + + // move checkboxes + addEvent(chart, 'endResize', positionCheckboxes); + + // expose + return { + colorizeItem: colorizeItem, + destroyItem: destroyItem, + renderLegend: renderLegend, + destroy: destroy + }; + }; + + + + + + + /** + * Initialize an individual series, called internally before render time + */ + function initSeries(options) { + var type = options.type || optionsChart.type || optionsChart.defaultSeriesType, + typeClass = seriesTypes[type], + serie, + hasRendered = chart.hasRendered; + + // an inverted chart can't take a column series and vice versa + if (hasRendered) { + if (inverted && type === 'column') { + typeClass = seriesTypes.bar; + } else if (!inverted && type === 'bar') { + typeClass = seriesTypes.column; + } + } + + serie = new typeClass(); + + serie.init(chart, options); + + // set internal chart properties + if (!hasRendered && serie.inverted) { + inverted = true; + } + if (serie.isCartesian) { + hasCartesianSeries = serie.isCartesian; + } + + series.push(serie); + + return serie; + } + + /** + * Add a series dynamically after time + * + * @param {Object} options The config options + * @param {Boolean} redraw Whether to redraw the chart after adding. Defaults to true. + * @param {Boolean|Object} animation Whether to apply animation, and optionally animation + * configuration + * + * @return {Object} series The newly created series object + */ + function addSeries(options, redraw, animation) { + var series; + + if (options) { + setAnimation(animation, chart); + redraw = pick(redraw, true); // defaults to true + + fireEvent(chart, 'addSeries', { options: options }, function () { + series = initSeries(options); + series.isDirty = true; + + chart.isDirtyLegend = true; // the series array is out of sync with the display + if (redraw) { + chart.redraw(); + } + }); + } + + return series; + } + + /** + * Check whether a given point is within the plot area + * + * @param {Number} x Pixel x relative to the plot area + * @param {Number} y Pixel y relative to the plot area + */ + isInsidePlot = function (x, y) { + return x >= 0 && + x <= plotWidth && + y >= 0 && + y <= plotHeight; + }; + + /** + * Adjust all axes tick amounts + */ + function adjustTickAmounts() { + if (optionsChart.alignTicks !== false) { + each(axes, function (axis) { + axis.adjustTickAmount(); + }); + } + maxTicks = null; + } + + /** + * Redraw legend, axes or series based on updated data + * + * @param {Boolean|Object} animation Whether to apply animation, and optionally animation + * configuration + */ + function redraw(animation) { + var redrawLegend = chart.isDirtyLegend, + hasStackedSeries, + isDirtyBox = chart.isDirtyBox, // todo: check if it has actually changed? + seriesLength = series.length, + i = seriesLength, + clipRect = chart.clipRect, + serie; + + setAnimation(animation, chart); + + // link stacked series + while (i--) { + serie = series[i]; + if (serie.isDirty && serie.options.stacking) { + hasStackedSeries = true; + break; + } + } + if (hasStackedSeries) { // mark others as dirty + i = seriesLength; + while (i--) { + serie = series[i]; + if (serie.options.stacking) { + serie.isDirty = true; + } + } + } + + // handle updated data in the series + each(series, function (serie) { + if (serie.isDirty) { // prepare the data so axis can read it + if (serie.options.legendType === 'point') { + redrawLegend = true; + } + } + }); + + // handle added or removed series + if (redrawLegend && legend.renderLegend) { // series or pie points are added or removed + // draw legend graphics + legend.renderLegend(); + + chart.isDirtyLegend = false; + } + + + if (hasCartesianSeries) { + if (!isResizing) { + + // reset maxTicks + maxTicks = null; + + // set axes scales + each(axes, function (axis) { + axis.setScale(); + }); + } + adjustTickAmounts(); + getMargins(); + + // redraw axes + each(axes, function (axis) { + + // Fire 'afterSetExtremes' only if extremes are set + if (axis.isDirtyExtremes) { // #821 + axis.isDirtyExtremes = false; + fireEvent(axis, 'afterSetExtremes', axis.getExtremes()); // #747, #751 + } + + if (axis.isDirty || isDirtyBox || hasStackedSeries) { + axis.redraw(); + isDirtyBox = true; // #792 + } + }); + + + } + + // the plot areas size has changed + if (isDirtyBox) { + drawChartBox(); + + // move clip rect + if (clipRect) { + stop(clipRect); + clipRect.animate({ // for chart resize + width: chart.plotSizeX, + height: chart.plotSizeY + 1 + }); + } + + } + + + // redraw affected series + each(series, function (serie) { + if (serie.isDirty && serie.visible && + (!serie.isCartesian || serie.xAxis)) { // issue #153 + serie.redraw(); + } + }); + + + // move tooltip or reset + if (tracker && tracker.resetTracker) { + tracker.resetTracker(true); + } + + // redraw if canvas + renderer.draw(); + + // fire the event + fireEvent(chart, 'redraw'); // jQuery breaks this when calling it from addEvent. Overwrites chart.redraw + } + + + + /** + * Dim the chart and show a loading text or symbol + * @param {String} str An optional text to show in the loading label instead of the default one + */ + function showLoading(str) { + var loadingOptions = options.loading; + + // create the layer at the first call + if (!loadingDiv) { + loadingDiv = createElement(DIV, { + className: PREFIX + 'loading' + }, extend(loadingOptions.style, { + left: plotLeft + PX, + top: plotTop + PX, + width: plotWidth + PX, + height: plotHeight + PX, + zIndex: 10, + display: NONE + }), container); + + loadingSpan = createElement( + 'span', + null, + loadingOptions.labelStyle, + loadingDiv + ); + + } + + // update text + loadingSpan.innerHTML = str || options.lang.loading; + + // show it + if (!loadingShown) { + css(loadingDiv, { opacity: 0, display: '' }); + animate(loadingDiv, { + opacity: loadingOptions.style.opacity + }, { + duration: loadingOptions.showDuration || 0 + }); + loadingShown = true; + } + } + /** + * Hide the loading layer + */ + function hideLoading() { + if (loadingDiv) { + animate(loadingDiv, { + opacity: 0 + }, { + duration: options.loading.hideDuration || 100, + complete: function () { + css(loadingDiv, { display: NONE }); + } + }); + } + loadingShown = false; + } + + /** + * Get an axis, series or point object by id. + * @param id {String} The id as given in the configuration options + */ + function get(id) { + var i, + j, + points; + + // search axes + for (i = 0; i < axes.length; i++) { + if (axes[i].options.id === id) { + return axes[i]; + } + } + + // search series + for (i = 0; i < series.length; i++) { + if (series[i].options.id === id) { + return series[i]; + } + } + + // search points + for (i = 0; i < series.length; i++) { + points = series[i].points || []; + for (j = 0; j < points.length; j++) { + if (points[j].id === id) { + return points[j]; + } + } + } + return null; + } + + /** + * Create the Axis instances based on the config options + */ + function getAxes() { + var xAxisOptions = options.xAxis || {}, + yAxisOptions = options.yAxis || {}, + optionsArray, + axis; + + // make sure the options are arrays and add some members + xAxisOptions = splat(xAxisOptions); + each(xAxisOptions, function (axis, i) { + axis.index = i; + axis.isX = true; + }); + + yAxisOptions = splat(yAxisOptions); + each(yAxisOptions, function (axis, i) { + axis.index = i; + }); + + // concatenate all axis options into one array + optionsArray = xAxisOptions.concat(yAxisOptions); + + each(optionsArray, function (axisOptions) { + axis = new Axis(axisOptions); + }); + + adjustTickAmounts(); + } + + + /** + * Get the currently selected points from all series + */ + function getSelectedPoints() { + var points = []; + each(series, function (serie) { + points = points.concat(grep(serie.points, function (point) { + return point.selected; + })); + }); + return points; + } + + /** + * Get the currently selected series + */ + function getSelectedSeries() { + return grep(series, function (serie) { + return serie.selected; + }); + } + + /** + * Display the zoom button + */ + function showResetZoom() { + var lang = defaultOptions.lang, + btnOptions = optionsChart.resetZoomButton, + theme = btnOptions.theme, + states = theme.states, + box = btnOptions.relativeTo === 'chart' ? null : { + x: plotLeft, + y: plotTop, + width: plotWidth, + height: plotHeight + }; + chart.resetZoomButton = renderer.button(lang.resetZoom, null, null, zoomOut, theme, states && states.hover) + .attr({ + align: btnOptions.position.align, + title: lang.resetZoomTitle + }) + .add() + .align(btnOptions.position, false, box); + } + + /** + * Zoom out to 1:1 + */ + zoomOut = function () { + var resetZoomButton = chart.resetZoomButton; + + fireEvent(chart, 'selection', { resetSelection: true }, zoom); + if (resetZoomButton) { + chart.resetZoomButton = resetZoomButton.destroy(); + } + }; + /** + * Zoom into a given portion of the chart given by axis coordinates + * @param {Object} event + */ + zoom = function (event) { + + // add button to reset selection + var hasZoomed; + + if (chart.resetZoomEnabled !== false && !chart.resetZoomButton) { // hook for Stock charts etc. + showResetZoom(); + } + + // if zoom is called with no arguments, reset the axes + if (!event || event.resetSelection) { + each(axes, function (axis) { + if (axis.options.zoomEnabled !== false) { + axis.setExtremes(null, null, false); + hasZoomed = true; + } + }); + } else { // else, zoom in on all axes + each(event.xAxis.concat(event.yAxis), function (axisData) { + var axis = axisData.axis; + + // don't zoom more than minRange + if (chart.tracker[axis.isXAxis ? 'zoomX' : 'zoomY']) { + axis.setExtremes(axisData.min, axisData.max, false); + hasZoomed = true; + } + }); + } + + // Redraw + if (hasZoomed) { + redraw( + pick(optionsChart.animation, chart.pointCount < 100) // animation + ); + } + }; + + /** + * Pan the chart by dragging the mouse across the pane. This function is called + * on mouse move, and the distance to pan is computed from chartX compared to + * the first chartX position in the dragging operation. + */ + chart.pan = function (chartX) { + + var xAxis = chart.xAxis[0], + mouseDownX = chart.mouseDownX, + halfPointRange = xAxis.pointRange / 2, + extremes = xAxis.getExtremes(), + newMin = xAxis.translate(mouseDownX - chartX, true) + halfPointRange, + newMax = xAxis.translate(mouseDownX + plotWidth - chartX, true) - halfPointRange, + hoverPoints = chart.hoverPoints; + + // remove active points for shared tooltip + if (hoverPoints) { + each(hoverPoints, function (point) { + point.setState(); + }); + } + + if (newMin > mathMin(extremes.dataMin, extremes.min) && newMax < mathMax(extremes.dataMax, extremes.max)) { + xAxis.setExtremes(newMin, newMax, true, false); + } + + chart.mouseDownX = chartX; // set new reference for next run + css(container, { cursor: 'move' }); + }; + + /** + * Show the title and subtitle of the chart + * + * @param titleOptions {Object} New title options + * @param subtitleOptions {Object} New subtitle options + * + */ + function setTitle(titleOptions, subtitleOptions) { + + chartTitleOptions = merge(options.title, titleOptions); + chartSubtitleOptions = merge(options.subtitle, subtitleOptions); + + // add title and subtitle + each([ + ['title', titleOptions, chartTitleOptions], + ['subtitle', subtitleOptions, chartSubtitleOptions] + ], function (arr) { + var name = arr[0], + title = chart[name], + titleOptions = arr[1], + chartTitleOptions = arr[2]; + + if (title && titleOptions) { + title = title.destroy(); // remove old + } + if (chartTitleOptions && chartTitleOptions.text && !title) { + chart[name] = renderer.text( + chartTitleOptions.text, + 0, + 0, + chartTitleOptions.useHTML + ) + .attr({ + align: chartTitleOptions.align, + 'class': PREFIX + name, + zIndex: chartTitleOptions.zIndex || 4 + }) + .css(chartTitleOptions.style) + .add() + .align(chartTitleOptions, false, spacingBox); + } + }); + + } + + /** + * Get chart width and height according to options and container size + */ + function getChartSize() { + + containerWidth = (renderToClone || renderTo).offsetWidth; + containerHeight = (renderToClone || renderTo).offsetHeight; + chart.chartWidth = chartWidth = optionsChart.width || containerWidth || 600; + chart.chartHeight = chartHeight = optionsChart.height || + // the offsetHeight of an empty container is 0 in standard browsers, but 19 in IE7: + (containerHeight > 19 ? containerHeight : 400); + } + + + /** + * Get the containing element, determine the size and create the inner container + * div to hold the chart + */ + function getContainer() { + renderTo = optionsChart.renderTo; + containerId = PREFIX + idCounter++; + + if (isString(renderTo)) { + renderTo = doc.getElementById(renderTo); + } + + // Display an error if the renderTo is wrong + if (!renderTo) { + error(13, true); + } + + // remove previous chart + renderTo.innerHTML = ''; + + // If the container doesn't have an offsetWidth, it ha s or is a child of a node + // that has display:none. We need to temporarily move it out to a visible + // state to determine the size, else the legend and tooltips won't render + // properly + if (!renderTo.offsetWidth) { + renderToClone = renderTo.cloneNode(0); + css(renderToClone, { + position: ABSOLUTE, + top: '-9999px', + display: 'block' + }); + doc.body.appendChild(renderToClone); + } + + // get the width and height + getChartSize(); + + // create the inner container + chart.container = container = createElement(DIV, { + className: PREFIX + 'container' + + (optionsChart.className ? ' ' + optionsChart.className : ''), + id: containerId + }, extend({ + position: RELATIVE, + overflow: HIDDEN, // needed for context menu (avoid scrollbars) and + // content overflow in IE + width: chartWidth + PX, + height: chartHeight + PX, + textAlign: 'left', + lineHeight: 'normal' // #427 + }, optionsChart.style), + renderToClone || renderTo + ); + + chart.renderer = renderer = + optionsChart.forExport ? // force SVG, used for SVG export + new SVGRenderer(container, chartWidth, chartHeight, true) : + new Renderer(container, chartWidth, chartHeight); + + if (useCanVG) { + // If we need canvg library, extend and configure the renderer + // to get the tracker for translating mouse events + renderer.create(chart, container, chartWidth, chartHeight); + } + } + + /** + * Calculate margins by rendering axis labels in a preliminary position. Title, + * subtitle and legend have already been rendered at this stage, but will be + * moved into their final positions + */ + getMargins = function () { + var legendOptions = options.legend, + legendMargin = pick(legendOptions.margin, 10), + legendX = legendOptions.x, + legendY = legendOptions.y, + align = legendOptions.align, + verticalAlign = legendOptions.verticalAlign, + titleOffset; + + resetMargins(); + + // adjust for title and subtitle + if ((chart.title || chart.subtitle) && !defined(optionsMarginTop)) { + titleOffset = mathMax( + (chart.title && !chartTitleOptions.floating && !chartTitleOptions.verticalAlign && chartTitleOptions.y) || 0, + (chart.subtitle && !chartSubtitleOptions.floating && !chartSubtitleOptions.verticalAlign && chartSubtitleOptions.y) || 0 + ); + if (titleOffset) { + plotTop = mathMax(plotTop, titleOffset + pick(chartTitleOptions.margin, 15) + spacingTop); + } + } + // adjust for legend + if (legendOptions.enabled && !legendOptions.floating) { + if (align === 'right') { // horizontal alignment handled first + if (!defined(optionsMarginRight)) { + marginRight = mathMax( + marginRight, + legendWidth - legendX + legendMargin + spacingRight + ); + } + } else if (align === 'left') { + if (!defined(optionsMarginLeft)) { + plotLeft = mathMax( + plotLeft, + legendWidth + legendX + legendMargin + spacingLeft + ); + } + + } else if (verticalAlign === 'top') { + if (!defined(optionsMarginTop)) { + plotTop = mathMax( + plotTop, + legendHeight + legendY + legendMargin + spacingTop + ); + } + + } else if (verticalAlign === 'bottom') { + if (!defined(optionsMarginBottom)) { + marginBottom = mathMax( + marginBottom, + legendHeight - legendY + legendMargin + spacingBottom + ); + } + } + } + + // adjust for scroller + if (chart.extraBottomMargin) { + marginBottom += chart.extraBottomMargin; + } + if (chart.extraTopMargin) { + plotTop += chart.extraTopMargin; + } + + // pre-render axes to get labels offset width + if (hasCartesianSeries) { + each(axes, function (axis) { + axis.getOffset(); + }); + } + + if (!defined(optionsMarginLeft)) { + plotLeft += axisOffset[3]; + } + if (!defined(optionsMarginTop)) { + plotTop += axisOffset[0]; + } + if (!defined(optionsMarginBottom)) { + marginBottom += axisOffset[2]; + } + if (!defined(optionsMarginRight)) { + marginRight += axisOffset[1]; + } + + setChartSize(); + + }; + + /** + * Add the event handlers necessary for auto resizing + * + */ + function initReflow() { + var reflowTimeout; + function reflow(e) { + var width = optionsChart.width || renderTo.offsetWidth, + height = optionsChart.height || renderTo.offsetHeight, + target = e ? e.target : win; // #805 - MooTools doesn't supply e + + // Width and height checks for display:none. Target is doc in IE8 and Opera, + // win in Firefox, Chrome and IE9. + if (width && height && (target === win || target === doc)) { + + if (width !== containerWidth || height !== containerHeight) { + clearTimeout(reflowTimeout); + reflowTimeout = setTimeout(function () { + resize(width, height, false); + }, 100); + } + containerWidth = width; + containerHeight = height; + } + } + addEvent(win, 'resize', reflow); + addEvent(chart, 'destroy', function () { + removeEvent(win, 'resize', reflow); + }); + } + + /** + * Fires endResize event on chart instance. + */ + function fireEndResize() { + if (chart) { + fireEvent(chart, 'endResize', null, function () { + isResizing -= 1; + }); + } + } + + /** + * Resize the chart to a given width and height + * @param {Number} width + * @param {Number} height + * @param {Object|Boolean} animation + */ + resize = function (width, height, animation) { + var chartTitle = chart.title, + chartSubtitle = chart.subtitle; + + isResizing += 1; + + // set the animation for the current process + setAnimation(animation, chart); + + oldChartHeight = chartHeight; + oldChartWidth = chartWidth; + if (defined(width)) { + chart.chartWidth = chartWidth = mathRound(width); + } + if (defined(height)) { + chart.chartHeight = chartHeight = mathRound(height); + } + + css(container, { + width: chartWidth + PX, + height: chartHeight + PX + }); + renderer.setSize(chartWidth, chartHeight, animation); + + // update axis lengths for more correct tick intervals: + plotWidth = chartWidth - plotLeft - marginRight; + plotHeight = chartHeight - plotTop - marginBottom; + + // handle axes + maxTicks = null; + each(axes, function (axis) { + axis.isDirty = true; + axis.setScale(); + }); + + // make sure non-cartesian series are also handled + each(series, function (serie) { + serie.isDirty = true; + }); + + chart.isDirtyLegend = true; // force legend redraw + chart.isDirtyBox = true; // force redraw of plot and chart border + + getMargins(); + + // move titles + if (chartTitle) { + chartTitle.align(null, null, spacingBox); + } + if (chartSubtitle) { + chartSubtitle.align(null, null, spacingBox); + } + + redraw(animation); + + + oldChartHeight = null; + fireEvent(chart, 'resize'); + + // fire endResize and set isResizing back + // If animation is disabled, fire without delay + if (globalAnimation === false) { + fireEndResize(); + } else { // else set a timeout with the animation duration + setTimeout(fireEndResize, (globalAnimation && globalAnimation.duration) || 500); + } + }; + + /** + * Set the public chart properties. This is done before and after the pre-render + * to determine margin sizes + */ + setChartSize = function () { + + chart.plotLeft = plotLeft = mathRound(plotLeft); + chart.plotTop = plotTop = mathRound(plotTop); + chart.plotWidth = plotWidth = mathRound(chartWidth - plotLeft - marginRight); + chart.plotHeight = plotHeight = mathRound(chartHeight - plotTop - marginBottom); + + chart.plotSizeX = inverted ? plotHeight : plotWidth; + chart.plotSizeY = inverted ? plotWidth : plotHeight; + + spacingBox = { + x: spacingLeft, + y: spacingTop, + width: chartWidth - spacingLeft - spacingRight, + height: chartHeight - spacingTop - spacingBottom + }; + + each(axes, function (axis) { + axis.setAxisSize(); + axis.setAxisTranslation(); + }); + }; + + /** + * Initial margins before auto size margins are applied + */ + resetMargins = function () { + plotTop = pick(optionsMarginTop, spacingTop); + marginRight = pick(optionsMarginRight, spacingRight); + marginBottom = pick(optionsMarginBottom, spacingBottom); + plotLeft = pick(optionsMarginLeft, spacingLeft); + axisOffset = [0, 0, 0, 0]; // top, right, bottom, left + }; + + /** + * Draw the borders and backgrounds for chart and plot area + */ + drawChartBox = function () { + var chartBorderWidth = optionsChart.borderWidth || 0, + chartBackgroundColor = optionsChart.backgroundColor, + plotBackgroundColor = optionsChart.plotBackgroundColor, + plotBackgroundImage = optionsChart.plotBackgroundImage, + mgn, + plotSize = { + x: plotLeft, + y: plotTop, + width: plotWidth, + height: plotHeight + }; + + // Chart area + mgn = chartBorderWidth + (optionsChart.shadow ? 8 : 0); + + if (chartBorderWidth || chartBackgroundColor) { + if (!chartBackground) { + chartBackground = renderer.rect(mgn / 2, mgn / 2, chartWidth - mgn, chartHeight - mgn, + optionsChart.borderRadius, chartBorderWidth) + .attr({ + stroke: optionsChart.borderColor, + 'stroke-width': chartBorderWidth, + fill: chartBackgroundColor || NONE + }) + .add() + .shadow(optionsChart.shadow); + } else { // resize + chartBackground.animate( + chartBackground.crisp(null, null, null, chartWidth - mgn, chartHeight - mgn) + ); + } + } + + + // Plot background + if (plotBackgroundColor) { + if (!plotBackground) { + plotBackground = renderer.rect(plotLeft, plotTop, plotWidth, plotHeight, 0) + .attr({ + fill: plotBackgroundColor + }) + .add() + .shadow(optionsChart.plotShadow); + } else { + plotBackground.animate(plotSize); + } + } + if (plotBackgroundImage) { + if (!plotBGImage) { + plotBGImage = renderer.image(plotBackgroundImage, plotLeft, plotTop, plotWidth, plotHeight) + .add(); + } else { + plotBGImage.animate(plotSize); + } + } + + // Plot area border + if (optionsChart.plotBorderWidth) { + if (!plotBorder) { + plotBorder = renderer.rect(plotLeft, plotTop, plotWidth, plotHeight, 0, optionsChart.plotBorderWidth) + .attr({ + stroke: optionsChart.plotBorderColor, + 'stroke-width': optionsChart.plotBorderWidth, + zIndex: 4 + }) + .add(); + } else { + plotBorder.animate( + plotBorder.crisp(null, plotLeft, plotTop, plotWidth, plotHeight) + ); + } + } + + // reset + chart.isDirtyBox = false; + }; + + /** + * Detect whether the chart is inverted, either by setting the chart.inverted option + * or adding a bar series to the configuration options + */ + function setInverted() { + var BAR = 'bar', + isInverted = ( + inverted || // it is set before + optionsChart.inverted || + optionsChart.type === BAR || // default series type + optionsChart.defaultSeriesType === BAR // backwards compatible + ), + seriesOptions = options.series, + i = seriesOptions && seriesOptions.length; + + // check if a bar series is present in the config options + while (!isInverted && i--) { + if (seriesOptions[i].type === BAR) { + isInverted = true; + } + } + + // set the chart property and the chart scope variable + chart.inverted = inverted = isInverted; + } + + /** + * Render all graphics for the chart + */ + function render() { + var labels = options.labels, + credits = options.credits, + creditsHref; + + // Title + setTitle(); + + + // Legend + legend = chart.legend = new Legend(); + + // Get margins by pre-rendering axes + // set axes scales + each(axes, function (axis) { + axis.setScale(); + }); + getMargins(); + + maxTicks = null; // reset for second pass + each(axes, function (axis) { + axis.setTickPositions(true); // update to reflect the new margins + axis.setMaxTicks(); + }); + adjustTickAmounts(); + getMargins(); // second pass to check for new labels + + + // Draw the borders and backgrounds + drawChartBox(); + + // Axes + if (hasCartesianSeries) { + each(axes, function (axis) { + axis.render(); + }); + } + + + // The series + if (!chart.seriesGroup) { + chart.seriesGroup = renderer.g('series-group') + .attr({ zIndex: 3 }) + .add(); + } + each(series, function (serie) { + serie.translate(); + serie.setTooltipPoints(); + serie.render(); + }); + + + // Labels + if (labels.items) { + each(labels.items, function () { + var style = extend(labels.style, this.style), + x = pInt(style.left) + plotLeft, + y = pInt(style.top) + plotTop + 12; + + // delete to prevent rewriting in IE + delete style.left; + delete style.top; + + renderer.text( + this.html, + x, + y + ) + .attr({ zIndex: 2 }) + .css(style) + .add(); + + }); + } + + // Credits + if (credits.enabled && !chart.credits) { + creditsHref = credits.href; + chart.credits = renderer.text( + credits.text, + 0, + 0 + ) + .on('click', function () { + if (creditsHref) { + location.href = creditsHref; + } + }) + .attr({ + align: credits.position.align, + zIndex: 8 + }) + .css(credits.style) + .add() + .align(credits.position); + } + + // Set flag + chart.hasRendered = true; + + } + + /** + * Clean up memory usage + */ + function destroy() { + var i, + parentNode = container && container.parentNode; + + // If the chart is destroyed already, do nothing. + // This will happen if if a script invokes chart.destroy and + // then it will be called again on win.unload + if (chart === null) { + return; + } + + // fire the chart.destoy event + fireEvent(chart, 'destroy'); + + // remove events + removeEvent(chart); + + // ==== Destroy collections: + // Destroy axes + i = axes.length; + while (i--) { + axes[i] = axes[i].destroy(); + } + + // Destroy each series + i = series.length; + while (i--) { + series[i] = series[i].destroy(); + } + + // ==== Destroy chart properties: + each(['title', 'subtitle', 'seriesGroup', 'clipRect', 'credits', 'tracker', 'scroller', 'rangeSelector'], function (name) { + var prop = chart[name]; + + if (prop) { + chart[name] = prop.destroy(); + } + }); + + // ==== Destroy local variables: + each([chartBackground, plotBorder, plotBackground, legend, tooltip, renderer, tracker], function (obj) { + if (obj && obj.destroy) { + obj.destroy(); + } + }); + chartBackground = plotBorder = plotBackground = legend = tooltip = renderer = tracker = null; + + // remove container and all SVG + if (container) { // can break in IE when destroyed before finished loading + container.innerHTML = ''; + removeEvent(container); + if (parentNode) { + discardElement(container); + } + + // IE6 leak + container = null; + } + + // memory and CPU leak + clearInterval(tooltipInterval); + + // clean it all up + for (i in chart) { + delete chart[i]; + } + + chart = null; + options = null; + } + /** + * Prepare for first rendering after all data are loaded + */ + function firstRender() { + // VML namespaces can't be added until after complete. Listening + // for Perini's doScroll hack is not enough. + var ONREADYSTATECHANGE = 'onreadystatechange', + COMPLETE = 'complete'; + // Note: in spite of JSLint's complaints, win == win.top is required + /*jslint eqeq: true*/ + if ((!hasSVG && (win == win.top && doc.readyState !== COMPLETE)) || (useCanVG && !win.canvg)) { + /*jslint eqeq: false*/ + if (useCanVG) { + // Delay rendering until canvg library is downloaded and ready + CanVGController.push(firstRender, options.global.canvasToolsURL); + } else { + doc.attachEvent(ONREADYSTATECHANGE, function () { + doc.detachEvent(ONREADYSTATECHANGE, firstRender); + if (doc.readyState === COMPLETE) { + firstRender(); + } + }); + } + return; + } + + // create the container + getContainer(); + + // Run an early event after the container and renderer are established + fireEvent(chart, 'init'); + + // Initialize range selector for stock charts + if (Highcharts.RangeSelector && options.rangeSelector.enabled) { + chart.rangeSelector = new Highcharts.RangeSelector(chart); + } + + resetMargins(); + setChartSize(); + + // Set the common inversion and transformation for inverted series after initSeries + setInverted(); + + // get axes + getAxes(); + + // Initialize the series + each(options.series || [], function (serieOptions) { + initSeries(serieOptions); + }); + + // Run an event where series and axes can be added + //fireEvent(chart, 'beforeRender'); + + // Initialize scroller for stock charts + if (Highcharts.Scroller && (options.navigator.enabled || options.scrollbar.enabled)) { + chart.scroller = new Highcharts.Scroller(chart); + } + + chart.render = render; + + // depends on inverted and on margins being set + chart.tracker = tracker = new MouseTracker(options.tooltip); + + + render(); + + // add canvas + renderer.draw(); + // run callbacks + if (callback) { + callback.apply(chart, [chart]); + } + each(chart.callbacks, function (fn) { + fn.apply(chart, [chart]); + }); + + + // If the chart was rendered outside the top container, put it back in + if (renderToClone) { + renderTo.appendChild(container); + discardElement(renderToClone); + } + + fireEvent(chart, 'load'); + + } + + // Run chart + + // Set up auto resize + if (optionsChart.reflow !== false) { + addEvent(chart, 'load', initReflow); + } + + // Chart event handlers + if (chartEvents) { + for (eventType in chartEvents) { + addEvent(chart, eventType, chartEvents[eventType]); + } + } + + + chart.options = options; + chart.series = series; + + + chart.xAxis = []; + chart.yAxis = []; + + + + + // Expose methods and variables + chart.addSeries = addSeries; + chart.animation = useCanVG ? false : pick(optionsChart.animation, true); + chart.Axis = Axis; + chart.destroy = destroy; + chart.get = get; + chart.getSelectedPoints = getSelectedPoints; + chart.getSelectedSeries = getSelectedSeries; + chart.hideLoading = hideLoading; + chart.initSeries = initSeries; + chart.isInsidePlot = isInsidePlot; + chart.redraw = redraw; + chart.setSize = resize; + chart.setTitle = setTitle; + chart.showLoading = showLoading; + chart.pointCount = 0; + chart.counters = new ChartCounters(); + /* + if ($) $(function () { + $container = $('#container'); + var origChartWidth, + origChartHeight; + if ($container) { + $('') + .insertBefore($container) + .click(function () { + if (origChartWidth === UNDEFINED) { + origChartWidth = chartWidth; + origChartHeight = chartHeight; + } + chart.resize(chartWidth *= 1.1, chartHeight *= 1.1); + }); + $('') + .insertBefore($container) + .click(function () { + if (origChartWidth === UNDEFINED) { + origChartWidth = chartWidth; + origChartHeight = chartHeight; + } + chart.resize(chartWidth *= 0.9, chartHeight *= 0.9); + }); + $('') + .insertBefore($container) + .click(function () { + if (origChartWidth === UNDEFINED) { + origChartWidth = chartWidth; + origChartHeight = chartHeight; + } + chart.resize(origChartWidth, origChartHeight); + }); + } + }) + */ + + + + + firstRender(); + + +} // end Chart + +// Hook for exporting module +Chart.prototype.callbacks = []; +/** + * The Point object and prototype. Inheritable and used as base for PiePoint + */ +var Point = function () {}; +Point.prototype = { + + /** + * Initialize the point + * @param {Object} series The series object containing this point + * @param {Object} options The data in either number, array or object format + */ + init: function (series, options, x) { + var point = this, + counters = series.chart.counters, + defaultColors; + point.series = series; + point.applyOptions(options, x); + point.pointAttr = {}; + + if (series.options.colorByPoint) { + defaultColors = series.chart.options.colors; + if (!point.options) { + point.options = {}; + } + point.color = point.options.color = point.color || defaultColors[counters.color++]; + + // loop back to zero + counters.wrapColor(defaultColors.length); + } + + series.chart.pointCount++; + return point; + }, + /** + * Apply the options containing the x and y data and possible some extra properties. + * This is called on point init or from point.update. + * + * @param {Object} options + */ + applyOptions: function (options, x) { + var point = this, + series = point.series, + optionsType = typeof options; + + point.config = options; + + // onedimensional array input + if (optionsType === 'number' || options === null) { + point.y = options; + } else if (typeof options[0] === 'number') { // two-dimentional array + point.x = options[0]; + point.y = options[1]; + } else if (optionsType === 'object' && typeof options.length !== 'number') { // object input + // copy options directly to point + extend(point, options); + point.options = options; + + // This is the fastest way to detect if there are individual point dataLabels that need + // to be considered in drawDataLabels. These can only occur in object configs. + if (options.dataLabels) { + series._hasPointLabels = true; + } + } else if (typeof options[0] === 'string') { // categorized data with name in first position + point.name = options[0]; + point.y = options[1]; + } + + /* + * If no x is set by now, get auto incremented value. All points must have an + * x value, however the y value can be null to create a gap in the series + */ + // todo: skip this? It is only used in applyOptions, in translate it should not be used + if (point.x === UNDEFINED) { + point.x = x === UNDEFINED ? series.autoIncrement() : x; + } + + + + }, + + /** + * Destroy a point to clear memory. Its reference still stays in series.data. + */ + destroy: function () { + var point = this, + series = point.series, + chart = series.chart, + hoverPoints = chart.hoverPoints, + prop; + + chart.pointCount--; + + if (hoverPoints) { + point.setState(); + erase(hoverPoints, point); + if (!hoverPoints.length) { + chart.hoverPoints = null; + } + + } + if (point === chart.hoverPoint) { + point.onMouseOut(); + } + + // remove all events + if (point.graphic || point.dataLabel) { // removeEvent and destroyElements are performance expensive + removeEvent(point); + point.destroyElements(); + } + + if (point.legendItem) { // pies have legend items + chart.legend.destroyItem(point); + } + + for (prop in point) { + point[prop] = null; + } + + + }, + + /** + * Destroy SVG elements associated with the point + */ + destroyElements: function () { + var point = this, + props = ['graphic', 'tracker', 'dataLabel', 'group', 'connector', 'shadowGroup'], + prop, + i = 6; + while (i--) { + prop = props[i]; + if (point[prop]) { + point[prop] = point[prop].destroy(); + } + } + }, + + /** + * Return the configuration hash needed for the data label and tooltip formatters + */ + getLabelConfig: function () { + var point = this; + return { + x: point.category, + y: point.y, + key: point.name || point.category, + series: point.series, + point: point, + percentage: point.percentage, + total: point.total || point.stackTotal + }; + }, + + /** + * Toggle the selection status of a point + * @param {Boolean} selected Whether to select or unselect the point. + * @param {Boolean} accumulate Whether to add to the previous selection. By default, + * this happens if the control key (Cmd on Mac) was pressed during clicking. + */ + select: function (selected, accumulate) { + var point = this, + series = point.series, + chart = series.chart; + + selected = pick(selected, !point.selected); + + // fire the event with the defalut handler + point.firePointEvent(selected ? 'select' : 'unselect', { accumulate: accumulate }, function () { + point.selected = selected; + point.setState(selected && SELECT_STATE); + + // unselect all other points unless Ctrl or Cmd + click + if (!accumulate) { + each(chart.getSelectedPoints(), function (loopPoint) { + if (loopPoint.selected && loopPoint !== point) { + loopPoint.selected = false; + loopPoint.setState(NORMAL_STATE); + loopPoint.firePointEvent('unselect'); + } + }); + } + }); + }, + + onMouseOver: function () { + var point = this, + series = point.series, + chart = series.chart, + tooltip = chart.tooltip, + hoverPoint = chart.hoverPoint; + + // set normal state to previous series + if (hoverPoint && hoverPoint !== point) { + hoverPoint.onMouseOut(); + } + + // trigger the event + point.firePointEvent('mouseOver'); + + // update the tooltip + if (tooltip && (!tooltip.shared || series.noSharedTooltip)) { + tooltip.refresh(point); + } + + // hover this + point.setState(HOVER_STATE); + chart.hoverPoint = point; + }, + + onMouseOut: function () { + var point = this; + point.firePointEvent('mouseOut'); + + point.setState(); + point.series.chart.hoverPoint = null; + }, + + /** + * Extendable method for formatting each point's tooltip line + * + * @return {String} A string to be concatenated in to the common tooltip text + */ + tooltipFormatter: function (pointFormat) { + var point = this, + series = point.series, + seriesTooltipOptions = series.tooltipOptions, + split = String(point.y).split('.'), + originalDecimals = split[1] ? split[1].length : 0, + match = pointFormat.match(/\{(series|point)\.[a-zA-Z]+\}/g), + splitter = /[{\.}]/, + obj, + key, + replacement, + parts, + prop, + i; + + // loop over the variables defined on the form {series.name}, {point.y} etc + for (i in match) { + key = match[i]; + if (isString(key) && key !== pointFormat) { // IE matches more than just the variables + + // Split it further into parts + parts = (' ' + key).split(splitter); // add empty string because IE and the rest handles it differently + obj = { 'point': point, 'series': series }[parts[1]]; + prop = parts[2]; + + // Add some preformatting + if (obj === point && (prop === 'y' || prop === 'open' || prop === 'high' || + prop === 'low' || prop === 'close')) { + replacement = (seriesTooltipOptions.valuePrefix || seriesTooltipOptions.yPrefix || '') + + numberFormat(point[prop], pick(seriesTooltipOptions.valueDecimals, seriesTooltipOptions.yDecimals, originalDecimals)) + + (seriesTooltipOptions.valueSuffix || seriesTooltipOptions.ySuffix || ''); + + // Automatic replacement + } else { + replacement = obj[prop]; + } + + pointFormat = pointFormat.replace(key, replacement); + } + } + + return pointFormat; + }, + + /** + * Update the point with new options (typically x/y data) and optionally redraw the series. + * + * @param {Object} options Point options as defined in the series.data array + * @param {Boolean} redraw Whether to redraw the chart or wait for an explicit call + * @param {Boolean|Object} animation Whether to apply animation, and optionally animation + * configuration + * + */ + update: function (options, redraw, animation) { + var point = this, + series = point.series, + graphic = point.graphic, + i, + data = series.data, + dataLength = data.length, + chart = series.chart; + + redraw = pick(redraw, true); + + // fire the event with a default handler of doing the update + point.firePointEvent('update', { options: options }, function () { + + point.applyOptions(options); + + // update visuals + if (isObject(options)) { + series.getAttribs(); + if (graphic) { + graphic.attr(point.pointAttr[series.state]); + } + } + + // record changes in the parallel arrays + for (i = 0; i < dataLength; i++) { + if (data[i] === point) { + series.xData[i] = point.x; + series.yData[i] = point.y; + series.options.data[i] = options; + break; + } + } + + // redraw + series.isDirty = true; + series.isDirtyData = true; + if (redraw) { + chart.redraw(animation); + } + }); + }, + + /** + * Remove a point and optionally redraw the series and if necessary the axes + * @param {Boolean} redraw Whether to redraw the chart or wait for an explicit call + * @param {Boolean|Object} animation Whether to apply animation, and optionally animation + * configuration + */ + remove: function (redraw, animation) { + var point = this, + series = point.series, + chart = series.chart, + i, + data = series.data, + dataLength = data.length; + + setAnimation(animation, chart); + redraw = pick(redraw, true); + + // fire the event with a default handler of removing the point + point.firePointEvent('remove', null, function () { + + //erase(series.data, point); + + for (i = 0; i < dataLength; i++) { + if (data[i] === point) { + + // splice all the parallel arrays + data.splice(i, 1); + series.options.data.splice(i, 1); + series.xData.splice(i, 1); + series.yData.splice(i, 1); + break; + } + } + + point.destroy(); + + + // redraw + series.isDirty = true; + series.isDirtyData = true; + if (redraw) { + chart.redraw(); + } + }); + + + }, + + /** + * Fire an event on the Point object. Must not be renamed to fireEvent, as this + * causes a name clash in MooTools + * @param {String} eventType + * @param {Object} eventArgs Additional event arguments + * @param {Function} defaultFunction Default event handler + */ + firePointEvent: function (eventType, eventArgs, defaultFunction) { + var point = this, + series = this.series, + seriesOptions = series.options; + + // load event handlers on demand to save time on mouseover/out + if (seriesOptions.point.events[eventType] || (point.options && point.options.events && point.options.events[eventType])) { + this.importEvents(); + } + + // add default handler if in selection mode + if (eventType === 'click' && seriesOptions.allowPointSelect) { + defaultFunction = function (event) { + // Control key is for Windows, meta (= Cmd key) for Mac, Shift for Opera + point.select(null, event.ctrlKey || event.metaKey || event.shiftKey); + }; + } + + fireEvent(this, eventType, eventArgs, defaultFunction); + }, + /** + * Import events from the series' and point's options. Only do it on + * demand, to save processing time on hovering. + */ + importEvents: function () { + if (!this.hasImportedEvents) { + var point = this, + options = merge(point.series.options.point, point.options), + events = options.events, + eventType; + + point.events = events; + + for (eventType in events) { + addEvent(point, eventType, events[eventType]); + } + this.hasImportedEvents = true; + + } + }, + + /** + * Set the point's state + * @param {String} state + */ + setState: function (state) { + var point = this, + plotX = point.plotX, + plotY = point.plotY, + series = point.series, + stateOptions = series.options.states, + markerOptions = defaultPlotOptions[series.type].marker && series.options.marker, + normalDisabled = markerOptions && !markerOptions.enabled, + markerStateOptions = markerOptions && markerOptions.states[state], + stateDisabled = markerStateOptions && markerStateOptions.enabled === false, + stateMarkerGraphic = series.stateMarkerGraphic, + chart = series.chart, + radius, + pointAttr = point.pointAttr; + + state = state || NORMAL_STATE; // empty string + + if ( + // already has this state + state === point.state || + // selected points don't respond to hover + (point.selected && state !== SELECT_STATE) || + // series' state options is disabled + (stateOptions[state] && stateOptions[state].enabled === false) || + // point marker's state options is disabled + (state && (stateDisabled || (normalDisabled && !markerStateOptions.enabled))) + + ) { + return; + } + + // apply hover styles to the existing point + if (point.graphic) { + radius = markerOptions && point.graphic.symbolName && pointAttr[state].r; + point.graphic.attr(merge( + pointAttr[state], + radius ? { // new symbol attributes (#507, #612) + x: plotX - radius, + y: plotY - radius, + width: 2 * radius, + height: 2 * radius + } : {} + )); + } else { + // if a graphic is not applied to each point in the normal state, create a shared + // graphic for the hover state + if (state) { + if (!stateMarkerGraphic) { + radius = markerOptions.radius; + series.stateMarkerGraphic = stateMarkerGraphic = chart.renderer.symbol( + series.symbol, + -radius, + -radius, + 2 * radius, + 2 * radius + ) + .attr(pointAttr[state]) + .add(series.group); + } + + stateMarkerGraphic.translate( + plotX, + plotY + ); + } + + if (stateMarkerGraphic) { + stateMarkerGraphic[state ? 'show' : 'hide'](); + } + } + + point.state = state; + } +}; + +/** + * @classDescription The base function which all other series types inherit from. The data in the series is stored + * in various arrays. + * + * - First, series.options.data contains all the original config options for + * each point whether added by options or methods like series.addPoint. + * - Next, series.data contains those values converted to points, but in case the series data length + * exceeds the cropThreshold, or if the data is grouped, series.data doesn't contain all the points. It + * only contains the points that have been created on demand. + * - Then there's series.points that contains all currently visible point objects. In case of cropping, + * the cropped-away points are not part of this array. The series.points array starts at series.cropStart + * compared to series.data and series.options.data. If however the series data is grouped, these can't + * be correlated one to one. + * - series.xData and series.processedXData contain clean x values, equivalent to series.data and series.points. + * - series.yData and series.processedYData contain clean x values, equivalent to series.data and series.points. + * + * @param {Object} chart + * @param {Object} options + */ +var Series = function () {}; + +Series.prototype = { + + isCartesian: true, + type: 'line', + pointClass: Point, + sorted: true, // requires the data to be sorted + pointAttrToOptions: { // mapping between SVG attributes and the corresponding options + stroke: 'lineColor', + 'stroke-width': 'lineWidth', + fill: 'fillColor', + r: 'radius' + }, + init: function (chart, options) { + var series = this, + eventType, + events, + //pointEvent, + index = chart.series.length; + + series.chart = chart; + series.options = options = series.setOptions(options); // merge with plotOptions + + // bind the axes + series.bindAxes(); + + // set some variables + extend(series, { + index: index, + name: options.name || 'Series ' + (index + 1), + state: NORMAL_STATE, + pointAttr: {}, + visible: options.visible !== false, // true by default + selected: options.selected === true // false by default + }); + + // special + if (useCanVG) { + options.animation = false; + } + + // register event listeners + events = options.events; + for (eventType in events) { + addEvent(series, eventType, events[eventType]); + } + if ( + (events && events.click) || + (options.point && options.point.events && options.point.events.click) || + options.allowPointSelect + ) { + chart.runTrackerClick = true; + } + + series.getColor(); + series.getSymbol(); + + // set the data + series.setData(options.data, false); + + }, + + + + /** + * Set the xAxis and yAxis properties of cartesian series, and register the series + * in the axis.series array + */ + bindAxes: function () { + var series = this, + seriesOptions = series.options, + chart = series.chart, + axisOptions; + + if (series.isCartesian) { + + each(['xAxis', 'yAxis'], function (AXIS) { // repeat for xAxis and yAxis + + each(chart[AXIS], function (axis) { // loop through the chart's axis objects + + axisOptions = axis.options; + + // apply if the series xAxis or yAxis option mathches the number of the + // axis, or if undefined, use the first axis + if ((seriesOptions[AXIS] === axisOptions.index) || + (seriesOptions[AXIS] === UNDEFINED && axisOptions.index === 0)) { + + // register this series in the axis.series lookup + axis.series.push(series); + + // set this series.xAxis or series.yAxis reference + series[AXIS] = axis; + + // mark dirty for redraw + axis.isDirty = true; + } + }); + + }); + } + }, + + + /** + * Return an auto incremented x value based on the pointStart and pointInterval options. + * This is only used if an x value is not given for the point that calls autoIncrement. + */ + autoIncrement: function () { + var series = this, + options = series.options, + xIncrement = series.xIncrement; + + xIncrement = pick(xIncrement, options.pointStart, 0); + + series.pointInterval = pick(series.pointInterval, options.pointInterval, 1); + + series.xIncrement = xIncrement + series.pointInterval; + return xIncrement; + }, + + /** + * Divide the series data into segments divided by null values. + */ + getSegments: function () { + var series = this, + lastNull = -1, + segments = [], + i, + points = series.points, + pointsLength = points.length; + + if (pointsLength) { // no action required for [] + + // if connect nulls, just remove null points + if (series.options.connectNulls) { + i = pointsLength; + while (i--) { + if (points[i].y === null) { + points.splice(i, 1); + } + } + if (points.length) { + segments = [points]; + } + + // else, split on null points + } else { + each(points, function (point, i) { + if (point.y === null) { + if (i > lastNull + 1) { + segments.push(points.slice(lastNull + 1, i)); + } + lastNull = i; + } else if (i === pointsLength - 1) { // last value + segments.push(points.slice(lastNull + 1, i + 1)); + } + }); + } + } + + // register it + series.segments = segments; + }, + /** + * Set the series options by merging from the options tree + * @param {Object} itemOptions + */ + setOptions: function (itemOptions) { + var series = this, + chart = series.chart, + chartOptions = chart.options, + plotOptions = chartOptions.plotOptions, + data = itemOptions.data, + options; + + itemOptions.data = null; // remove from merge to prevent looping over the data set + + options = merge( + plotOptions[this.type], + plotOptions.series, + itemOptions + ); + + // Re-insert the data array to the options and the original config (#717) + options.data = itemOptions.data = data; + + // the tooltip options are merged between global and series specific options + series.tooltipOptions = merge(chartOptions.tooltip, options.tooltip); + + return options; + + }, + /** + * Get the series' color + */ + getColor: function () { + var defaultColors = this.chart.options.colors, + counters = this.chart.counters; + this.color = this.options.color || defaultColors[counters.color++] || '#0000ff'; + counters.wrapColor(defaultColors.length); + }, + /** + * Get the series' symbol + */ + getSymbol: function () { + var series = this, + seriesMarkerOption = series.options.marker, + chart = series.chart, + defaultSymbols = chart.options.symbols, + counters = chart.counters; + series.symbol = seriesMarkerOption.symbol || defaultSymbols[counters.symbol++]; + + // don't substract radius in image symbols (#604) + if (/^url/.test(series.symbol)) { + seriesMarkerOption.radius = 0; + } + counters.wrapSymbol(defaultSymbols.length); + }, + + /** + * Add a point dynamically after chart load time + * @param {Object} options Point options as given in series.data + * @param {Boolean} redraw Whether to redraw the chart or wait for an explicit call + * @param {Boolean} shift If shift is true, a point is shifted off the start + * of the series as one is appended to the end. + * @param {Boolean|Object} animation Whether to apply animation, and optionally animation + * configuration + */ + addPoint: function (options, redraw, shift, animation) { + var series = this, + data = series.data, + graph = series.graph, + area = series.area, + chart = series.chart, + xData = series.xData, + yData = series.yData, + currentShift = (graph && graph.shift) || 0, + dataOptions = series.options.data, + point; + //point = (new series.pointClass()).init(series, options); + + setAnimation(animation, chart); + + // Make graph animate sideways + if (graph && shift) { + graph.shift = currentShift + 1; + } + if (area) { + if (shift) { // #780 + area.shift = currentShift + 1; + } + area.isArea = true; // needed in animation, both with and without shift + } + + // Optional redraw, defaults to true + redraw = pick(redraw, true); + + // Get options and push the point to xData, yData and series.options. In series.generatePoints + // the Point instance will be created on demand and pushed to the series.data array. + point = { series: series }; + series.pointClass.prototype.applyOptions.apply(point, [options]); + xData.push(point.x); + yData.push(series.valueCount === 4 ? [point.open, point.high, point.low, point.close] : point.y); + dataOptions.push(options); + + + // Shift the first point off the parallel arrays + // todo: consider series.removePoint(i) method + if (shift) { + if (data[0] && data[0].remove) { + data[0].remove(false); + } else { + data.shift(); + xData.shift(); + yData.shift(); + dataOptions.shift(); + } + } + series.getAttribs(); + + // redraw + series.isDirty = true; + series.isDirtyData = true; + if (redraw) { + chart.redraw(); + } + }, + + /** + * Replace the series data with a new set of data + * @param {Object} data + * @param {Object} redraw + */ + setData: function (data, redraw) { + var series = this, + oldData = series.points, + options = series.options, + initialColor = series.initialColor, + chart = series.chart, + firstPoint = null, + xAxis = series.xAxis, + i; + + // reset properties + series.xIncrement = null; + series.pointRange = (xAxis && xAxis.categories && 1) || options.pointRange; + + if (defined(initialColor)) { // reset colors for pie + chart.counters.color = initialColor; + } + + // parallel arrays + var xData = [], + yData = [], + dataLength = data ? data.length : [], + turboThreshold = options.turboThreshold || 1000, + pt, + ohlc = series.valueCount === 4; + + // In turbo mode, only one- or twodimensional arrays of numbers are allowed. The + // first value is tested, and we assume that all the rest are defined the same + // way. Although the 'for' loops are similar, they are repeated inside each + // if-else conditional for max performance. + if (dataLength > turboThreshold) { + + // find the first non-null point + i = 0; + while (firstPoint === null && i < dataLength) { + firstPoint = data[i]; + i++; + } + + + if (isNumber(firstPoint)) { // assume all points are numbers + var x = pick(options.pointStart, 0), + pointInterval = pick(options.pointInterval, 1); + + for (i = 0; i < dataLength; i++) { + xData[i] = x; + yData[i] = data[i]; + x += pointInterval; + } + series.xIncrement = x; + } else if (isArray(firstPoint)) { // assume all points are arrays + if (ohlc) { // [x, o, h, l, c] + for (i = 0; i < dataLength; i++) { + pt = data[i]; + xData[i] = pt[0]; + yData[i] = pt.slice(1, 5); + } + } else { // [x, y] + for (i = 0; i < dataLength; i++) { + pt = data[i]; + xData[i] = pt[0]; + yData[i] = pt[1]; + } + } + } /* else { + error(12); // Highcharts expects configs to be numbers or arrays in turbo mode + }*/ + } else { + for (i = 0; i < dataLength; i++) { + pt = { series: series }; + series.pointClass.prototype.applyOptions.apply(pt, [data[i]]); + xData[i] = pt.x; + yData[i] = ohlc ? [pt.open, pt.high, pt.low, pt.close] : pt.y; + } + } + + series.data = []; + series.options.data = data; + series.xData = xData; + series.yData = yData; + + // destroy old points + i = (oldData && oldData.length) || 0; + while (i--) { + if (oldData[i] && oldData[i].destroy) { + oldData[i].destroy(); + } + } + + // reset minRange (#878) + // TODO: In protofy, run this code instead: + // if (xAxis) xAxis.minRange = UNDEFINED; + if (xAxis && xAxis.setMinRange) { + xAxis.setMinRange(); // to undefined + } + + // redraw + series.isDirty = series.isDirtyData = chart.isDirtyBox = true; + if (pick(redraw, true)) { + chart.redraw(false); + } + }, + + /** + * Remove a series and optionally redraw the chart + * + * @param {Boolean} redraw Whether to redraw the chart or wait for an explicit call + * @param {Boolean|Object} animation Whether to apply animation, and optionally animation + * configuration + */ + + remove: function (redraw, animation) { + var series = this, + chart = series.chart; + redraw = pick(redraw, true); + + if (!series.isRemoving) { /* prevent triggering native event in jQuery + (calling the remove function from the remove event) */ + series.isRemoving = true; + + // fire the event with a default handler of removing the point + fireEvent(series, 'remove', null, function () { + + + // destroy elements + series.destroy(); + + + // redraw + chart.isDirtyLegend = chart.isDirtyBox = true; + if (redraw) { + chart.redraw(animation); + } + }); + + } + series.isRemoving = false; + }, + + /** + * Process the data by cropping away unused data points if the series is longer + * than the crop threshold. This saves computing time for lage series. + */ + processData: function (force) { + var series = this, + processedXData = series.xData, // copied during slice operation below + processedYData = series.yData, + dataLength = processedXData.length, + cropStart = 0, + cropEnd = dataLength, + cropped, + distance, + closestPointRange, + xAxis = series.xAxis, + i, // loop variable + options = series.options, + cropThreshold = options.cropThreshold, + isCartesian = series.isCartesian; + + // If the series data or axes haven't changed, don't go through this. Return false to pass + // the message on to override methods like in data grouping. + if (isCartesian && !series.isDirty && !xAxis.isDirty && !series.yAxis.isDirty && !force) { + return false; + } + + // optionally filter out points outside the plot area + if (isCartesian && series.sorted && (!cropThreshold || dataLength > cropThreshold || series.forceCrop)) { + var extremes = xAxis.getExtremes(), + min = extremes.min, + max = extremes.max; + + // it's outside current extremes + if (processedXData[dataLength - 1] < min || processedXData[0] > max) { + processedXData = []; + processedYData = []; + + // only crop if it's actually spilling out + } else if (processedXData[0] < min || processedXData[dataLength - 1] > max) { + + // iterate up to find slice start + for (i = 0; i < dataLength; i++) { + if (processedXData[i] >= min) { + cropStart = mathMax(0, i - 1); + break; + } + } + // proceed to find slice end + for (; i < dataLength; i++) { + if (processedXData[i] > max) { + cropEnd = i + 1; + break; + } + + } + processedXData = processedXData.slice(cropStart, cropEnd); + processedYData = processedYData.slice(cropStart, cropEnd); + cropped = true; + } + } + + + // Find the closest distance between processed points + for (i = processedXData.length - 1; i > 0; i--) { + distance = processedXData[i] - processedXData[i - 1]; + if (distance > 0 && (closestPointRange === UNDEFINED || distance < closestPointRange)) { + closestPointRange = distance; + } + } + + // Record the properties + series.cropped = cropped; // undefined or true + series.cropStart = cropStart; + series.processedXData = processedXData; + series.processedYData = processedYData; + + if (options.pointRange === null) { // null means auto, as for columns, candlesticks and OHLC + series.pointRange = closestPointRange || 1; + } + series.closestPointRange = closestPointRange; + + }, + + /** + * Generate the data point after the data has been processed by cropping away + * unused points and optionally grouped in Highcharts Stock. + */ + generatePoints: function () { + var series = this, + options = series.options, + dataOptions = options.data, + data = series.data, + dataLength, + processedXData = series.processedXData, + processedYData = series.processedYData, + pointClass = series.pointClass, + processedDataLength = processedXData.length, + cropStart = series.cropStart || 0, + cursor, + hasGroupedData = series.hasGroupedData, + point, + points = [], + i; + + if (!data && !hasGroupedData) { + var arr = []; + arr.length = dataOptions.length; + data = series.data = arr; + } + + for (i = 0; i < processedDataLength; i++) { + cursor = cropStart + i; + if (!hasGroupedData) { + if (data[cursor]) { + point = data[cursor]; + } else { + data[cursor] = point = (new pointClass()).init(series, dataOptions[cursor], processedXData[i]); + } + points[i] = point; + } else { + // splat the y data in case of ohlc data array + points[i] = (new pointClass()).init(series, [processedXData[i]].concat(splat(processedYData[i]))); + } + } + + // Hide cropped-away points - this only runs when the number of points is above cropThreshold, or when + // swithching view from non-grouped data to grouped data (#637) + if (data && (processedDataLength !== (dataLength = data.length) || hasGroupedData)) { + for (i = 0; i < dataLength; i++) { + if (i === cropStart && !hasGroupedData) { // when has grouped data, clear all points + i += processedDataLength; + } + if (data[i]) { + data[i].destroyElements(); + } + } + } + + series.data = data; + series.points = points; + }, + + /** + * Translate data points from raw data values to chart specific positioning data + * needed later in drawPoints, drawGraph and drawTracker. + */ + translate: function () { + if (!this.processedXData) { // hidden series + this.processData(); + } + this.generatePoints(); + var series = this, + chart = series.chart, + options = series.options, + stacking = options.stacking, + xAxis = series.xAxis, + categories = xAxis.categories, + yAxis = series.yAxis, + points = series.points, + dataLength = points.length, + hasModifyValue = !!series.modifyValue, + isLastSeries, + allStackSeries = yAxis.series, + i = allStackSeries.length; + + // Is it the last visible series? + while (i--) { + if (allStackSeries[i].visible) { + if (i === series.index) { + isLastSeries = true; + } + break; + } + } + + // Translate each point + for (i = 0; i < dataLength; i++) { + var point = points[i], + xValue = point.x, + yValue = point.y, + yBottom = point.low, + stack = yAxis.stacks[(yValue < options.threshold ? '-' : '') + series.stackKey], + pointStack, + pointStackTotal; + + // get the plotX translation + point.plotX = mathRound(xAxis.translate(xValue, 0, 0, 0, 1) * 10) / 10; // Math.round fixes #591 + + // calculate the bottom y value for stacked series + if (stacking && series.visible && stack && stack[xValue]) { + pointStack = stack[xValue]; + pointStackTotal = pointStack.total; + pointStack.cum = yBottom = pointStack.cum - yValue; // start from top + yValue = yBottom + yValue; + + if (isLastSeries) { + yBottom = options.threshold; + } + + if (stacking === 'percent') { + yBottom = pointStackTotal ? yBottom * 100 / pointStackTotal : 0; + yValue = pointStackTotal ? yValue * 100 / pointStackTotal : 0; + } + + point.percentage = pointStackTotal ? point.y * 100 / pointStackTotal : 0; + point.stackTotal = pointStackTotal; + point.stackY = yValue; + } + + // Set translated yBottom or remove it + point.yBottom = defined(yBottom) ? + yAxis.translate(yBottom, 0, 1, 0, 1) : + null; + + // general hook, used for Highstock compare mode + if (hasModifyValue) { + yValue = series.modifyValue(yValue, point); + } + + // Set the the plotY value, reset it for redraws + point.plotY = (typeof yValue === 'number') ? + mathRound(yAxis.translate(yValue, 0, 1, 0, 1) * 10) / 10 : // Math.round fixes #591 + UNDEFINED; + + // set client related positions for mouse tracking + point.clientX = chart.inverted ? + chart.plotHeight - point.plotX : + point.plotX; // for mouse tracking + + // some API data + point.category = categories && categories[point.x] !== UNDEFINED ? + categories[point.x] : point.x; + + + } + + // now that we have the cropped data, build the segments + series.getSegments(); + }, + /** + * Memoize tooltip texts and positions + */ + setTooltipPoints: function (renew) { + var series = this, + chart = series.chart, + points = [], + pointsLength, + plotSize = chart.plotSizeX, + low, + high, + xAxis = series.xAxis, + point, + i, + tooltipPoints = []; // a lookup array for each pixel in the x dimension + + // don't waste resources if tracker is disabled + if (series.options.enableMouseTracking === false) { + return; + } + + // renew + if (renew) { + series.tooltipPoints = null; + } + + // concat segments to overcome null values + each(series.segments || series.points, function (segment) { + points = points.concat(segment); + }); + + // loop the concatenated points and apply each point to all the closest + // pixel positions + if (xAxis && xAxis.reversed) { + points = points.reverse(); + } + + // Assign each pixel position to the nearest point + pointsLength = points.length; + for (i = 0; i < pointsLength; i++) { + point = points[i]; + low = points[i - 1] ? points[i - 1]._high + 1 : 0; + high = point._high = points[i + 1] ? + (mathFloor((point.plotX + (points[i + 1] ? points[i + 1].plotX : plotSize)) / 2)) : + plotSize; + + while (low <= high) { + tooltipPoints[low++] = point; + } + } + series.tooltipPoints = tooltipPoints; + }, + + /** + * Format the header of the tooltip + */ + tooltipHeaderFormatter: function (key) { + var series = this, + tooltipOptions = series.tooltipOptions, + xDateFormat = tooltipOptions.xDateFormat || '%A, %b %e, %Y', + xAxis = series.xAxis, + isDateTime = xAxis && xAxis.options.type === 'datetime'; + + return tooltipOptions.headerFormat + .replace('{point.key}', isDateTime ? dateFormat(xDateFormat, key) : key) + .replace('{series.name}', series.name) + .replace('{series.color}', series.color); + }, + + /** + * Series mouse over handler + */ + onMouseOver: function () { + var series = this, + chart = series.chart, + hoverSeries = chart.hoverSeries; + + if (!hasTouch && chart.mouseIsDown) { + return; + } + + // set normal state to previous series + if (hoverSeries && hoverSeries !== series) { + hoverSeries.onMouseOut(); + } + + // trigger the event, but to save processing time, + // only if defined + if (series.options.events.mouseOver) { + fireEvent(series, 'mouseOver'); + } + + // hover this + series.setState(HOVER_STATE); + chart.hoverSeries = series; + }, + + /** + * Series mouse out handler + */ + onMouseOut: function () { + // trigger the event only if listeners exist + var series = this, + options = series.options, + chart = series.chart, + tooltip = chart.tooltip, + hoverPoint = chart.hoverPoint; + + // trigger mouse out on the point, which must be in this series + if (hoverPoint) { + hoverPoint.onMouseOut(); + } + + // fire the mouse out event + if (series && options.events.mouseOut) { + fireEvent(series, 'mouseOut'); + } + + + // hide the tooltip + if (tooltip && !options.stickyTracking && !tooltip.shared) { + tooltip.hide(); + } + + // set normal state + series.setState(); + chart.hoverSeries = null; + }, + + /** + * Animate in the series + */ + animate: function (init) { + var series = this, + chart = series.chart, + clipRect = series.clipRect, + animation = series.options.animation; + + if (animation && !isObject(animation)) { + animation = {}; + } + + if (init) { // initialize the animation + if (!clipRect.isAnimating) { // apply it only for one of the series + clipRect.attr('width', 0); + clipRect.isAnimating = true; + } + + } else { // run the animation + clipRect.animate({ + width: chart.plotSizeX + }, animation); + + // delete this function to allow it only once + this.animate = null; + } + }, + + + /** + * Draw the markers + */ + drawPoints: function () { + var series = this, + pointAttr, + points = series.points, + chart = series.chart, + plotX, + plotY, + i, + point, + radius, + symbol, + isImage, + graphic; + + if (series.options.marker.enabled) { + i = points.length; + while (i--) { + point = points[i]; + plotX = point.plotX; + plotY = point.plotY; + graphic = point.graphic; + + // only draw the point if y is defined + if (plotY !== UNDEFINED && !isNaN(plotY)) { + + // shortcuts + pointAttr = point.pointAttr[point.selected ? SELECT_STATE : NORMAL_STATE]; + radius = pointAttr.r; + symbol = pick(point.marker && point.marker.symbol, series.symbol); + isImage = symbol.indexOf('url') === 0; + + if (graphic) { // update + graphic.animate(extend({ + x: plotX - radius, + y: plotY - radius + }, graphic.symbolName ? { // don't apply to image symbols #507 + width: 2 * radius, + height: 2 * radius + } : {})); + } else if (radius > 0 || isImage) { + point.graphic = chart.renderer.symbol( + symbol, + plotX - radius, + plotY - radius, + 2 * radius, + 2 * radius + ) + .attr(pointAttr) + .add(series.group); + } + } + } + } + + }, + + /** + * Convert state properties from API naming conventions to SVG attributes + * + * @param {Object} options API options object + * @param {Object} base1 SVG attribute object to inherit from + * @param {Object} base2 Second level SVG attribute object to inherit from + */ + convertAttribs: function (options, base1, base2, base3) { + var conversion = this.pointAttrToOptions, + attr, + option, + obj = {}; + + options = options || {}; + base1 = base1 || {}; + base2 = base2 || {}; + base3 = base3 || {}; + + for (attr in conversion) { + option = conversion[attr]; + obj[attr] = pick(options[option], base1[attr], base2[attr], base3[attr]); + } + return obj; + }, + + /** + * Get the state attributes. Each series type has its own set of attributes + * that are allowed to change on a point's state change. Series wide attributes are stored for + * all series, and additionally point specific attributes are stored for all + * points with individual marker options. If such options are not defined for the point, + * a reference to the series wide attributes is stored in point.pointAttr. + */ + getAttribs: function () { + var series = this, + normalOptions = defaultPlotOptions[series.type].marker ? series.options.marker : series.options, + stateOptions = normalOptions.states, + stateOptionsHover = stateOptions[HOVER_STATE], + pointStateOptionsHover, + seriesColor = series.color, + normalDefaults = { + stroke: seriesColor, + fill: seriesColor + }, + points = series.points, + i, + point, + seriesPointAttr = [], + pointAttr, + pointAttrToOptions = series.pointAttrToOptions, + hasPointSpecificOptions, + key; + + // series type specific modifications + if (series.options.marker) { // line, spline, area, areaspline, scatter + + // if no hover radius is given, default to normal radius + 2 + stateOptionsHover.radius = stateOptionsHover.radius || normalOptions.radius + 2; + stateOptionsHover.lineWidth = stateOptionsHover.lineWidth || normalOptions.lineWidth + 1; + + } else { // column, bar, pie + + // if no hover color is given, brighten the normal color + stateOptionsHover.color = stateOptionsHover.color || + Color(stateOptionsHover.color || seriesColor) + .brighten(stateOptionsHover.brightness).get(); + } + + // general point attributes for the series normal state + seriesPointAttr[NORMAL_STATE] = series.convertAttribs(normalOptions, normalDefaults); + + // HOVER_STATE and SELECT_STATE states inherit from normal state except the default radius + each([HOVER_STATE, SELECT_STATE], function (state) { + seriesPointAttr[state] = + series.convertAttribs(stateOptions[state], seriesPointAttr[NORMAL_STATE]); + }); + + // set it + series.pointAttr = seriesPointAttr; + + + // Generate the point-specific attribute collections if specific point + // options are given. If not, create a referance to the series wide point + // attributes + i = points.length; + while (i--) { + point = points[i]; + normalOptions = (point.options && point.options.marker) || point.options; + if (normalOptions && normalOptions.enabled === false) { + normalOptions.radius = 0; + } + hasPointSpecificOptions = false; + + // check if the point has specific visual options + if (point.options) { + for (key in pointAttrToOptions) { + if (defined(normalOptions[pointAttrToOptions[key]])) { + hasPointSpecificOptions = true; + } + } + } + + + + // a specific marker config object is defined for the individual point: + // create it's own attribute collection + if (hasPointSpecificOptions) { + + pointAttr = []; + stateOptions = normalOptions.states || {}; // reassign for individual point + pointStateOptionsHover = stateOptions[HOVER_STATE] = stateOptions[HOVER_STATE] || {}; + + // if no hover color is given, brighten the normal color + if (!series.options.marker) { // column, bar, point + pointStateOptionsHover.color = + Color(pointStateOptionsHover.color || point.options.color) + .brighten(pointStateOptionsHover.brightness || + stateOptionsHover.brightness).get(); + + } + + // normal point state inherits series wide normal state + pointAttr[NORMAL_STATE] = series.convertAttribs(normalOptions, seriesPointAttr[NORMAL_STATE]); + + // inherit from point normal and series hover + pointAttr[HOVER_STATE] = series.convertAttribs( + stateOptions[HOVER_STATE], + seriesPointAttr[HOVER_STATE], + pointAttr[NORMAL_STATE] + ); + // inherit from point normal and series hover + pointAttr[SELECT_STATE] = series.convertAttribs( + stateOptions[SELECT_STATE], + seriesPointAttr[SELECT_STATE], + pointAttr[NORMAL_STATE] + ); + + + + // no marker config object is created: copy a reference to the series-wide + // attribute collection + } else { + pointAttr = seriesPointAttr; + } + + point.pointAttr = pointAttr; + + } + + }, + + + /** + * Clear DOM objects and free up memory + */ + destroy: function () { + var series = this, + chart = series.chart, + seriesClipRect = series.clipRect, + issue134 = /AppleWebKit\/533/.test(userAgent), + destroy, + i, + data = series.data || [], + point, + prop, + axis; + + // add event hook + fireEvent(series, 'destroy'); + + // remove all events + removeEvent(series); + + // erase from axes + each(['xAxis', 'yAxis'], function (AXIS) { + axis = series[AXIS]; + if (axis) { + erase(axis.series, series); + axis.isDirty = true; + } + }); + + // remove legend items + if (series.legendItem) { + series.chart.legend.destroyItem(series); + } + + // destroy all points with their elements + i = data.length; + while (i--) { + point = data[i]; + if (point && point.destroy) { + point.destroy(); + } + } + series.points = null; + + // If this series clipRect is not the global one (which is removed on chart.destroy) we + // destroy it here. + if (seriesClipRect && seriesClipRect !== chart.clipRect) { + series.clipRect = seriesClipRect.destroy(); + } + + // destroy all SVGElements associated to the series + each(['area', 'graph', 'dataLabelsGroup', 'group', 'tracker'], function (prop) { + if (series[prop]) { + + // issue 134 workaround + destroy = issue134 && prop === 'group' ? + 'hide' : + 'destroy'; + + series[prop][destroy](); + } + }); + + // remove from hoverSeries + if (chart.hoverSeries === series) { + chart.hoverSeries = null; + } + erase(chart.series, series); + + // clear all members + for (prop in series) { + delete series[prop]; + } + }, + + /** + * Draw the data labels + */ + drawDataLabels: function () { + + var series = this, + seriesOptions = series.options, + options = seriesOptions.dataLabels; + + if (options.enabled || series._hasPointLabels) { + var x, + y, + points = series.points, + pointOptions, + generalOptions, + str, + dataLabelsGroup = series.dataLabelsGroup, + chart = series.chart, + xAxis = series.xAxis, + groupLeft = xAxis ? xAxis.left : chart.plotLeft, + yAxis = series.yAxis, + groupTop = yAxis ? yAxis.top : chart.plotTop, + renderer = chart.renderer, + inverted = chart.inverted, + seriesType = series.type, + stacking = seriesOptions.stacking, + isBarLike = seriesType === 'column' || seriesType === 'bar', + vAlignIsNull = options.verticalAlign === null, + yIsNull = options.y === null, + fontMetrics = renderer.fontMetrics(options.style.fontSize), // height and baseline + fontLineHeight = fontMetrics.h, + fontBaseline = fontMetrics.b, + dataLabel, + enabled; + + if (isBarLike) { + var defaultYs = { + top: fontBaseline, + middle: fontBaseline - fontLineHeight / 2, + bottom: -fontLineHeight + fontBaseline + }; + if (stacking) { + // In stacked series the default label placement is inside the bars + if (vAlignIsNull) { + options = merge(options, {verticalAlign: 'middle'}); + } + + // If no y delta is specified, try to create a good default + if (yIsNull) { + options = merge(options, { y: defaultYs[options.verticalAlign]}); + } + } else { + // In non stacked series the default label placement is on top of the bars + if (vAlignIsNull) { + options = merge(options, {verticalAlign: 'top'}); + + // If no y delta is specified, try to create a good default (like default bar) + } else if (yIsNull) { + options = merge(options, { y: defaultYs[options.verticalAlign]}); + } + + } + } + + + // create a separate group for the data labels to avoid rotation + if (!dataLabelsGroup) { + dataLabelsGroup = series.dataLabelsGroup = + renderer.g('data-labels') + .attr({ + visibility: series.visible ? VISIBLE : HIDDEN, + zIndex: 6 + }) + .translate(groupLeft, groupTop) + .add(); + } else { + dataLabelsGroup.translate(groupLeft, groupTop); + } + + // make the labels for each point + generalOptions = options; + each(points, function (point) { + + dataLabel = point.dataLabel; + + // Merge in individual options from point + options = generalOptions; // reset changes from previous points + pointOptions = point.options; + if (pointOptions && pointOptions.dataLabels) { + options = merge(options, pointOptions.dataLabels); + } + enabled = options.enabled; + + // Get the positions + if (enabled) { + var plotX = (point.barX && point.barX + point.barW / 2) || pick(point.plotX, -999), + plotY = pick(point.plotY, -999), + + // if options.y is null, which happens by default on column charts, set the position + // above or below the column depending on the threshold + individualYDelta = options.y === null ? + (point.y >= seriesOptions.threshold ? + -fontLineHeight + fontBaseline : // below the threshold + fontBaseline) : // above the threshold + options.y; + + x = (inverted ? chart.plotWidth - plotY : plotX) + options.x; + y = mathRound((inverted ? chart.plotHeight - plotX : plotY) + individualYDelta); + + } + + // If the point is outside the plot area, destroy it. #678, #820 + if (dataLabel && series.isCartesian && (!chart.isInsidePlot(x, y) || !enabled)) { + point.dataLabel = dataLabel.destroy(); + + // Individual labels are disabled if the are explicitly disabled + // in the point options, or if they fall outside the plot area. + } else if (enabled) { + + var align = options.align; + + // Get the string + str = options.formatter.call(point.getLabelConfig(), options); + + // in columns, align the string to the column + if (seriesType === 'column') { + x += { left: -1, right: 1 }[align] * point.barW / 2 || 0; + } + + if (!stacking && inverted && point.y < 0) { + align = 'right'; + x -= 10; + } + + // Determine the color + options.style.color = pick(options.color, options.style.color, series.color, 'black'); + + + // update existing label + if (dataLabel) { + // vertically centered + dataLabel + .attr({ + text: str + }).animate({ + x: x, + y: y + }); + // create new label + } else if (defined(str)) { + dataLabel = point.dataLabel = renderer[options.rotation ? 'text' : 'label']( // labels don't support rotation + str, + x, + y, + null, + null, + null, + options.useHTML, + true // baseline for backwards compat + ) + .attr({ + align: align, + fill: options.backgroundColor, + stroke: options.borderColor, + 'stroke-width': options.borderWidth, + r: options.borderRadius || 0, + rotation: options.rotation, + padding: options.padding, + zIndex: 1 + }) + .css(options.style) + .add(dataLabelsGroup) + .shadow(options.shadow); + } + + if (isBarLike && seriesOptions.stacking && dataLabel) { + var barX = point.barX, + barY = point.barY, + barW = point.barW, + barH = point.barH; + + dataLabel.align(options, null, + { + x: inverted ? chart.plotWidth - barY - barH : barX, + y: inverted ? chart.plotHeight - barX - barW : barY, + width: inverted ? barH : barW, + height: inverted ? barW : barH + }); + } + + + } + }); + } + }, + + /** + * Draw the actual graph + */ + drawGraph: function () { + var series = this, + options = series.options, + chart = series.chart, + graph = series.graph, + graphPath = [], + fillColor, + area = series.area, + group = series.group, + color = options.lineColor || series.color, + lineWidth = options.lineWidth, + dashStyle = options.dashStyle, + segmentPath, + renderer = chart.renderer, + translatedThreshold = series.yAxis.getThreshold(options.threshold), + useArea = /^area/.test(series.type), + singlePoints = [], // used in drawTracker + areaPath = [], + attribs; + + + // divide into segments and build graph and area paths + each(series.segments, function (segment) { + segmentPath = []; + + // build the segment line + each(segment, function (point, i) { + + if (series.getPointSpline) { // generate the spline as defined in the SplineSeries object + segmentPath.push.apply(segmentPath, series.getPointSpline(segment, point, i)); + + } else { + + // moveTo or lineTo + segmentPath.push(i ? L : M); + + // step line? + if (i && options.step) { + var lastPoint = segment[i - 1]; + segmentPath.push( + point.plotX, + lastPoint.plotY + ); + } + + // normal line to next point + segmentPath.push( + point.plotX, + point.plotY + ); + } + }); + + // add the segment to the graph, or a single point for tracking + if (segment.length > 1) { + graphPath = graphPath.concat(segmentPath); + } else { + singlePoints.push(segment[0]); + } + + // build the area + if (useArea) { + var areaSegmentPath = [], + i, + segLength = segmentPath.length; + for (i = 0; i < segLength; i++) { + areaSegmentPath.push(segmentPath[i]); + } + if (segLength === 3) { // for animation from 1 to two points + areaSegmentPath.push(L, segmentPath[1], segmentPath[2]); + } + if (options.stacking && series.type !== 'areaspline') { + + // Follow stack back. Todo: implement areaspline. A general solution could be to + // reverse the entire graphPath of the previous series, though may be hard with + // splines and with series with different extremes + for (i = segment.length - 1; i >= 0; i--) { + + // step line? + if (i < segment.length - 1 && options.step) { + areaSegmentPath.push(segment[i + 1].plotX, segment[i].yBottom); + } + + areaSegmentPath.push(segment[i].plotX, segment[i].yBottom); + } + + } else { // follow zero line back + areaSegmentPath.push( + L, + segment[segment.length - 1].plotX, + translatedThreshold, + L, + segment[0].plotX, + translatedThreshold + ); + } + areaPath = areaPath.concat(areaSegmentPath); + } + }); + + // used in drawTracker: + series.graphPath = graphPath; + series.singlePoints = singlePoints; + + // draw the area if area series or areaspline + if (useArea) { + fillColor = pick( + options.fillColor, + Color(series.color).setOpacity(options.fillOpacity || 0.75).get() + ); + if (area) { + area.animate({ d: areaPath }); + + } else { + // draw the area + series.area = series.chart.renderer.path(areaPath) + .attr({ + fill: fillColor + }).add(group); + } + } + + // draw the graph + if (graph) { + stop(graph); // cancel running animations, #459 + graph.animate({ d: graphPath }); + + } else { + if (lineWidth) { + attribs = { + 'stroke': color, + 'stroke-width': lineWidth + }; + if (dashStyle) { + attribs.dashstyle = dashStyle; + } + + series.graph = renderer.path(graphPath) + .attr(attribs).add(group).shadow(options.shadow); + } + } + }, + + /** + * Initialize and perform group inversion on series.group and series.trackerGroup + */ + invertGroups: function () { + var series = this, + group = series.group, + trackerGroup = series.trackerGroup, + chart = series.chart; + + // A fixed size is needed for inversion to work + function setInvert() { + var size = { + width: series.yAxis.len, + height: series.xAxis.len + }; + + // Set the series.group size + group.attr(size).invert(); + + // Set the tracker group size + if (trackerGroup) { + trackerGroup.attr(size).invert(); + } + } + + addEvent(chart, 'resize', setInvert); // do it on resize + addEvent(series, 'destroy', function () { + removeEvent(chart, 'resize', setInvert); + }); + + // Do it now + setInvert(); // do it now + + // On subsequent render and redraw, just do setInvert without setting up events again + series.invertGroups = setInvert; + }, + + /** + * Render the graph and markers + */ + render: function () { + var series = this, + chart = series.chart, + group, + options = series.options, + doClip = options.clip !== false, + animation = options.animation, + doAnimation = animation && series.animate, + duration = doAnimation ? (animation && animation.duration) || 500 : 0, + clipRect = series.clipRect, + renderer = chart.renderer; + + + // Add plot area clipping rectangle. If this is before chart.hasRendered, + // create one shared clipRect. + + // Todo: since creating the clip property, the clipRect is created but + // never used when clip is false. A better way would be that the animation + // would run, then the clipRect destroyed. + if (!clipRect) { + clipRect = series.clipRect = !chart.hasRendered && chart.clipRect ? + chart.clipRect : + renderer.clipRect(0, 0, chart.plotSizeX, chart.plotSizeY + 1); + if (!chart.clipRect) { + chart.clipRect = clipRect; + } + } + + + // the group + if (!series.group) { + group = series.group = renderer.g('series'); + + group.attr({ + visibility: series.visible ? VISIBLE : HIDDEN, + zIndex: options.zIndex + }) + .translate(series.xAxis.left, series.yAxis.top) + .add(chart.seriesGroup); + } + + series.drawDataLabels(); + + // initiate the animation + if (doAnimation) { + series.animate(true); + } + + // cache attributes for shapes + series.getAttribs(); + + // draw the graph if any + if (series.drawGraph) { + series.drawGraph(); + } + + // draw the points + series.drawPoints(); + + // draw the mouse tracking area + if (series.options.enableMouseTracking !== false) { + series.drawTracker(); + } + + // Handle inverted series and tracker groups + if (chart.inverted) { + series.invertGroups(); + } + + // Do the initial clipping. This must be done after inverting for VML. + if (doClip && !series.hasRendered) { + group.clip(clipRect); + if (series.trackerGroup) { + series.trackerGroup.clip(chart.clipRect); + } + } + + + // run the animation + if (doAnimation) { + series.animate(); + } + + // finish the individual clipRect + setTimeout(function () { + clipRect.isAnimating = false; + group = series.group; // can be destroyed during the timeout + if (group && clipRect !== chart.clipRect && clipRect.renderer) { + if (doClip) { + group.clip((series.clipRect = chart.clipRect)); + } + clipRect.destroy(); + } + }, duration); + + series.isDirty = series.isDirtyData = false; // means data is in accordance with what you see + // (See #322) series.isDirty = series.isDirtyData = false; // means data is in accordance with what you see + series.hasRendered = true; + }, + + /** + * Redraw the series after an update in the axes. + */ + redraw: function () { + var series = this, + chart = series.chart, + wasDirtyData = series.isDirtyData, // cache it here as it is set to false in render, but used after + group = series.group; + + // reposition on resize + if (group) { + if (chart.inverted) { + group.attr({ + width: chart.plotWidth, + height: chart.plotHeight + }); + } + + group.animate({ + translateX: series.xAxis.left, + translateY: series.yAxis.top + }); + } + + series.translate(); + series.setTooltipPoints(true); + + series.render(); + if (wasDirtyData) { + fireEvent(series, 'updatedData'); + } + }, + + /** + * Set the state of the graph + */ + setState: function (state) { + var series = this, + options = series.options, + graph = series.graph, + stateOptions = options.states, + lineWidth = options.lineWidth; + + state = state || NORMAL_STATE; + + if (series.state !== state) { + series.state = state; + + if (stateOptions[state] && stateOptions[state].enabled === false) { + return; + } + + if (state) { + lineWidth = stateOptions[state].lineWidth || lineWidth + 1; + } + + if (graph && !graph.dashstyle) { // hover is turned off for dashed lines in VML + graph.attr({ // use attr because animate will cause any other animation on the graph to stop + 'stroke-width': lineWidth + }, state ? 0 : 500); + } + } + }, + + /** + * Set the visibility of the graph + * + * @param vis {Boolean} True to show the series, false to hide. If UNDEFINED, + * the visibility is toggled. + */ + setVisible: function (vis, redraw) { + var series = this, + chart = series.chart, + legendItem = series.legendItem, + seriesGroup = series.group, + seriesTracker = series.tracker, + dataLabelsGroup = series.dataLabelsGroup, + showOrHide, + i, + points = series.points, + point, + ignoreHiddenSeries = chart.options.chart.ignoreHiddenSeries, + oldVisibility = series.visible; + + // if called without an argument, toggle visibility + series.visible = vis = vis === UNDEFINED ? !oldVisibility : vis; + showOrHide = vis ? 'show' : 'hide'; + + // show or hide series + if (seriesGroup) { // pies don't have one + seriesGroup[showOrHide](); + } + + // show or hide trackers + if (seriesTracker) { + seriesTracker[showOrHide](); + } else if (points) { + i = points.length; + while (i--) { + point = points[i]; + if (point.tracker) { + point.tracker[showOrHide](); + } + } + } + + + if (dataLabelsGroup) { + dataLabelsGroup[showOrHide](); + } + + if (legendItem) { + chart.legend.colorizeItem(series, vis); + } + + + // rescale or adapt to resized chart + series.isDirty = true; + // in a stack, all other series are affected + if (series.options.stacking) { + each(chart.series, function (otherSeries) { + if (otherSeries.options.stacking && otherSeries.visible) { + otherSeries.isDirty = true; + } + }); + } + + if (ignoreHiddenSeries) { + chart.isDirtyBox = true; + } + if (redraw !== false) { + chart.redraw(); + } + + fireEvent(series, showOrHide); + }, + + /** + * Show the graph + */ + show: function () { + this.setVisible(true); + }, + + /** + * Hide the graph + */ + hide: function () { + this.setVisible(false); + }, + + + /** + * Set the selected state of the graph + * + * @param selected {Boolean} True to select the series, false to unselect. If + * UNDEFINED, the selection state is toggled. + */ + select: function (selected) { + var series = this; + // if called without an argument, toggle + series.selected = selected = (selected === UNDEFINED) ? !series.selected : selected; + + if (series.checkbox) { + series.checkbox.checked = selected; + } + + fireEvent(series, selected ? 'select' : 'unselect'); + }, + + /** + * Create a group that holds the tracking object or objects. This allows for + * individual clipping and placement of each series tracker. + */ + drawTrackerGroup: function () { + var trackerGroup = this.trackerGroup, + chart = this.chart; + + if (this.isCartesian) { + + // Generate it on first call + if (!trackerGroup) { + this.trackerGroup = trackerGroup = chart.renderer.g() + .attr({ + zIndex: this.options.zIndex || 1 + }) + .add(chart.trackerGroup); + + } + // Place it on first and subsequent (redraw) calls + trackerGroup.translate(this.xAxis.left, this.yAxis.top); + + } + + return trackerGroup; + }, + + /** + * Draw the tracker object that sits above all data labels and markers to + * track mouse events on the graph or points. For the line type charts + * the tracker uses the same graphPath, but with a greater stroke width + * for better control. + */ + drawTracker: function () { + var series = this, + options = series.options, + trackerPath = [].concat(series.graphPath), + trackerPathLength = trackerPath.length, + chart = series.chart, + renderer = chart.renderer, + snap = chart.options.tooltip.snap, + tracker = series.tracker, + cursor = options.cursor, + css = cursor && { cursor: cursor }, + singlePoints = series.singlePoints, + trackerGroup = series.drawTrackerGroup(), + singlePoint, + i; + + // Extend end points. A better way would be to use round linecaps, + // but those are not clickable in VML. + if (trackerPathLength) { + i = trackerPathLength + 1; + while (i--) { + if (trackerPath[i] === M) { // extend left side + trackerPath.splice(i + 1, 0, trackerPath[i + 1] - snap, trackerPath[i + 2], L); + } + if ((i && trackerPath[i] === M) || i === trackerPathLength) { // extend right side + trackerPath.splice(i, 0, L, trackerPath[i - 2] + snap, trackerPath[i - 1]); + } + } + } + + // handle single points + for (i = 0; i < singlePoints.length; i++) { + singlePoint = singlePoints[i]; + trackerPath.push(M, singlePoint.plotX - snap, singlePoint.plotY, + L, singlePoint.plotX + snap, singlePoint.plotY); + } + + + + // draw the tracker + if (tracker) { + tracker.attr({ d: trackerPath }); + + } else { // create + + series.tracker = renderer.path(trackerPath) + .attr({ + isTracker: true, + stroke: TRACKER_FILL, + fill: NONE, + 'stroke-linejoin': 'bevel', + 'stroke-width' : options.lineWidth + 2 * snap, + visibility: series.visible ? VISIBLE : HIDDEN + }) + .on(hasTouch ? 'touchstart' : 'mouseover', function () { + if (chart.hoverSeries !== series) { + series.onMouseOver(); + } + }) + .on('mouseout', function () { + if (!options.stickyTracking) { + series.onMouseOut(); + } + }) + .css(css) + .add(trackerGroup); + } + + } + +}; // end Series prototype + + +/** + * LineSeries object + */ +var LineSeries = extendClass(Series); +seriesTypes.line = LineSeries; + +/** + * AreaSeries object + */ +var AreaSeries = extendClass(Series, { + type: 'area' +}); +seriesTypes.area = AreaSeries; + + + + +/** + * SplineSeries object + */ +var SplineSeries = extendClass(Series, { + type: 'spline', + + /** + * Draw the actual graph + */ + getPointSpline: function (segment, point, i) { + var smoothing = 1.5, // 1 means control points midway between points, 2 means 1/3 from the point, 3 is 1/4 etc + denom = smoothing + 1, + plotX = point.plotX, + plotY = point.plotY, + lastPoint = segment[i - 1], + nextPoint = segment[i + 1], + leftContX, + leftContY, + rightContX, + rightContY, + ret; + + // find control points + if (i && i < segment.length - 1) { + var lastX = lastPoint.plotX, + lastY = lastPoint.plotY, + nextX = nextPoint.plotX, + nextY = nextPoint.plotY, + correction; + + leftContX = (smoothing * plotX + lastX) / denom; + leftContY = (smoothing * plotY + lastY) / denom; + rightContX = (smoothing * plotX + nextX) / denom; + rightContY = (smoothing * plotY + nextY) / denom; + + // have the two control points make a straight line through main point + correction = ((rightContY - leftContY) * (rightContX - plotX)) / + (rightContX - leftContX) + plotY - rightContY; + + leftContY += correction; + rightContY += correction; + + // to prevent false extremes, check that control points are between + // neighbouring points' y values + if (leftContY > lastY && leftContY > plotY) { + leftContY = mathMax(lastY, plotY); + rightContY = 2 * plotY - leftContY; // mirror of left control point + } else if (leftContY < lastY && leftContY < plotY) { + leftContY = mathMin(lastY, plotY); + rightContY = 2 * plotY - leftContY; + } + if (rightContY > nextY && rightContY > plotY) { + rightContY = mathMax(nextY, plotY); + leftContY = 2 * plotY - rightContY; + } else if (rightContY < nextY && rightContY < plotY) { + rightContY = mathMin(nextY, plotY); + leftContY = 2 * plotY - rightContY; + } + + // record for drawing in next point + point.rightContX = rightContX; + point.rightContY = rightContY; + + } + + // moveTo or lineTo + if (!i) { + ret = [M, plotX, plotY]; + } else { // curve from last point to this + ret = [ + 'C', + lastPoint.rightContX || lastPoint.plotX, + lastPoint.rightContY || lastPoint.plotY, + leftContX || plotX, + leftContY || plotY, + plotX, + plotY + ]; + lastPoint.rightContX = lastPoint.rightContY = null; // reset for updating series later + } + return ret; + } +}); +seriesTypes.spline = SplineSeries; + + + +/** + * AreaSplineSeries object + */ +var AreaSplineSeries = extendClass(SplineSeries, { + type: 'areaspline' +}); +seriesTypes.areaspline = AreaSplineSeries; + +/** + * ColumnSeries object + */ +var ColumnSeries = extendClass(Series, { + type: 'column', + tooltipOutsidePlot: true, + pointAttrToOptions: { // mapping between SVG attributes and the corresponding options + stroke: 'borderColor', + 'stroke-width': 'borderWidth', + fill: 'color', + r: 'borderRadius' + }, + init: function () { + Series.prototype.init.apply(this, arguments); + + var series = this, + chart = series.chart; + + // if the series is added dynamically, force redraw of other + // series affected by a new column + if (chart.hasRendered) { + each(chart.series, function (otherSeries) { + if (otherSeries.type === series.type) { + otherSeries.isDirty = true; + } + }); + } + }, + + /** + * Translate each point to the plot area coordinate system and find shape positions + */ + translate: function () { + var series = this, + chart = series.chart, + options = series.options, + stacking = options.stacking, + borderWidth = options.borderWidth, + columnCount = 0, + xAxis = series.xAxis, + reversedXAxis = xAxis.reversed, + stackGroups = {}, + stackKey, + columnIndex; + + Series.prototype.translate.apply(series); + + // Get the total number of column type series. + // This is called on every series. Consider moving this logic to a + // chart.orderStacks() function and call it on init, addSeries and removeSeries + each(chart.series, function (otherSeries) { + if (otherSeries.type === series.type && otherSeries.visible && + series.options.group === otherSeries.options.group) { // used in Stock charts navigator series + if (otherSeries.options.stacking) { + stackKey = otherSeries.stackKey; + if (stackGroups[stackKey] === UNDEFINED) { + stackGroups[stackKey] = columnCount++; + } + columnIndex = stackGroups[stackKey]; + } else { + columnIndex = columnCount++; + } + otherSeries.columnIndex = columnIndex; + } + }); + + // calculate the width and position of each column based on + // the number of column series in the plot, the groupPadding + // and the pointPadding options + var points = series.points, + categoryWidth = mathAbs(xAxis.translationSlope) * (xAxis.ordinalSlope || xAxis.closestPointRange || 1), + groupPadding = categoryWidth * options.groupPadding, + groupWidth = categoryWidth - 2 * groupPadding, + pointOffsetWidth = groupWidth / columnCount, + optionPointWidth = options.pointWidth, + pointPadding = defined(optionPointWidth) ? (pointOffsetWidth - optionPointWidth) / 2 : + pointOffsetWidth * options.pointPadding, + pointWidth = mathCeil(mathMax(pick(optionPointWidth, pointOffsetWidth - 2 * pointPadding), 1 + 2 * borderWidth)), + colIndex = (reversedXAxis ? columnCount - + series.columnIndex : series.columnIndex) || 0, + pointXOffset = pointPadding + (groupPadding + colIndex * + pointOffsetWidth - (categoryWidth / 2)) * + (reversedXAxis ? -1 : 1), + threshold = options.threshold, + translatedThreshold = series.yAxis.getThreshold(threshold), + minPointLength = pick(options.minPointLength, 5); + + // record the new values + each(points, function (point) { + var plotY = point.plotY, + yBottom = pick(point.yBottom, translatedThreshold), + barX = point.plotX + pointXOffset, + barY = mathCeil(mathMin(plotY, yBottom)), + barH = mathCeil(mathMax(plotY, yBottom) - barY), + stack = series.yAxis.stacks[(point.y < 0 ? '-' : '') + series.stackKey], + shapeArgs; + + // Record the offset'ed position and width of the bar to be able to align the stacking total correctly + if (stacking && series.visible && stack && stack[point.x]) { + stack[point.x].setOffset(pointXOffset, pointWidth); + } + + // handle options.minPointLength + if (mathAbs(barH) < minPointLength) { + if (minPointLength) { + barH = minPointLength; + barY = + mathAbs(barY - translatedThreshold) > minPointLength ? // stacked + yBottom - minPointLength : // keep position + translatedThreshold - (plotY <= translatedThreshold ? minPointLength : 0); + } + } + + extend(point, { + barX: barX, + barY: barY, + barW: pointWidth, + barH: barH + }); + + // create shape type and shape args that are reused in drawPoints and drawTracker + point.shapeType = 'rect'; + shapeArgs = { + x: barX, + y: barY, + width: pointWidth, + height: barH, + r: options.borderRadius, + strokeWidth: borderWidth + }; + + if (borderWidth % 2) { // correct for shorting in crisp method, visible in stacked columns with 1px border + shapeArgs.y -= 1; + shapeArgs.height += 1; + } + point.shapeArgs = shapeArgs; + + // make small columns responsive to mouse + point.trackerArgs = mathAbs(barH) < 3 && merge(point.shapeArgs, { + height: 6, + y: barY - 3 + }); + }); + + }, + + getSymbol: function () { + }, + + /** + * Columns have no graph + */ + drawGraph: function () {}, + + /** + * Draw the columns. For bars, the series.group is rotated, so the same coordinates + * apply for columns and bars. This method is inherited by scatter series. + * + */ + drawPoints: function () { + var series = this, + options = series.options, + renderer = series.chart.renderer, + graphic, + shapeArgs; + + + // draw the columns + each(series.points, function (point) { + var plotY = point.plotY; + if (plotY !== UNDEFINED && !isNaN(plotY) && point.y !== null) { + graphic = point.graphic; + shapeArgs = point.shapeArgs; + if (graphic) { // update + stop(graphic); + graphic.animate(renderer.Element.prototype.crisp.apply({}, [ + shapeArgs.strokeWidth, + shapeArgs.x, + shapeArgs.y, + shapeArgs.width, + shapeArgs.height + ])); + + } else { + point.graphic = graphic = renderer[point.shapeType](shapeArgs) + .attr(point.pointAttr[point.selected ? SELECT_STATE : NORMAL_STATE]) + .add(series.group) + .shadow(options.shadow); + + } + + } + }); + }, + /** + * Draw the individual tracker elements. + * This method is inherited by scatter and pie charts too. + */ + drawTracker: function () { + var series = this, + chart = series.chart, + renderer = chart.renderer, + shapeArgs, + tracker, + trackerLabel = +new Date(), + options = series.options, + cursor = options.cursor, + css = cursor && { cursor: cursor }, + trackerGroup = series.drawTrackerGroup(), + rel, + plotY, + validPlotY; + + each(series.points, function (point) { + tracker = point.tracker; + shapeArgs = point.trackerArgs || point.shapeArgs; + plotY = point.plotY; + validPlotY = !series.isCartesian || (plotY !== UNDEFINED && !isNaN(plotY)); + delete shapeArgs.strokeWidth; + if (point.y !== null && validPlotY) { + if (tracker) {// update + tracker.attr(shapeArgs); + + } else { + point.tracker = + renderer[point.shapeType](shapeArgs) + .attr({ + isTracker: trackerLabel, + fill: TRACKER_FILL, + visibility: series.visible ? VISIBLE : HIDDEN + }) + .on(hasTouch ? 'touchstart' : 'mouseover', function (event) { + rel = event.relatedTarget || event.fromElement; + if (chart.hoverSeries !== series && attr(rel, 'isTracker') !== trackerLabel) { + series.onMouseOver(); + } + point.onMouseOver(); + + }) + .on('mouseout', function (event) { + if (!options.stickyTracking) { + rel = event.relatedTarget || event.toElement; + if (attr(rel, 'isTracker') !== trackerLabel) { + series.onMouseOut(); + } + } + }) + .css(css) + .add(point.group || trackerGroup); // pies have point group - see issue #118 + } + } + }); + }, + + + /** + * Animate the column heights one by one from zero + * @param {Boolean} init Whether to initialize the animation or run it + */ + animate: function (init) { + var series = this, + points = series.points, + options = series.options; + + if (!init) { // run the animation + /* + * Note: Ideally the animation should be initialized by calling + * series.group.hide(), and then calling series.group.show() + * after the animation was started. But this rendered the shadows + * invisible in IE8 standards mode. If the columns flicker on large + * datasets, this is the cause. + */ + + each(points, function (point) { + var graphic = point.graphic, + shapeArgs = point.shapeArgs, + yAxis = series.yAxis, + threshold = options.threshold; + + if (graphic) { + // start values + graphic.attr({ + height: 0, + y: defined(threshold) ? + yAxis.getThreshold(threshold) : + yAxis.translate(yAxis.getExtremes().min, 0, 1, 0, 1) + }); + + // animate + graphic.animate({ + height: shapeArgs.height, + y: shapeArgs.y + }, options.animation); + } + }); + + + // delete this function to allow it only once + series.animate = null; + } + + }, + /** + * Remove this series from the chart + */ + remove: function () { + var series = this, + chart = series.chart; + + // column and bar series affects other series of the same type + // as they are either stacked or grouped + if (chart.hasRendered) { + each(chart.series, function (otherSeries) { + if (otherSeries.type === series.type) { + otherSeries.isDirty = true; + } + }); + } + + Series.prototype.remove.apply(series, arguments); + } +}); +seriesTypes.column = ColumnSeries; + +var BarSeries = extendClass(ColumnSeries, { + type: 'bar', + init: function () { + this.inverted = true; + ColumnSeries.prototype.init.apply(this, arguments); + } +}); +seriesTypes.bar = BarSeries; + +/** + * The scatter series class + */ +var ScatterSeries = extendClass(Series, { + type: 'scatter', + sorted: false, + /** + * Extend the base Series' translate method by adding shape type and + * arguments for the point trackers + */ + translate: function () { + var series = this; + + Series.prototype.translate.apply(series); + + each(series.points, function (point) { + point.shapeType = 'circle'; + point.shapeArgs = { + x: point.plotX, + y: point.plotY, + r: series.chart.options.tooltip.snap + }; + }); + }, + + /** + * Add tracking event listener to the series group, so the point graphics + * themselves act as trackers + */ + drawTracker: function () { + var series = this, + cursor = series.options.cursor, + css = cursor && { cursor: cursor }, + points = series.points, + i = points.length, + graphic; + + // Set an expando property for the point index, used below + while (i--) { + graphic = points[i].graphic; + if (graphic) { // doesn't exist for null points + graphic.element._i = i; + } + } + + // Add the event listeners, we need to do this only once + if (!series._hasTracking) { + series.group + .attr({ + isTracker: true + }) + .on(hasTouch ? 'touchstart' : 'mouseover', function (e) { + series.onMouseOver(); + if (e.target._i !== UNDEFINED) { // undefined on graph in scatterchart + points[e.target._i].onMouseOver(); + } + }) + .on('mouseout', function () { + if (!series.options.stickyTracking) { + series.onMouseOut(); + } + }) + .css(css); + } else { + series._hasTracking = true; + } + + } +}); +seriesTypes.scatter = ScatterSeries; + +/** + * Extended point object for pies + */ +var PiePoint = extendClass(Point, { + /** + * Initiate the pie slice + */ + init: function () { + + Point.prototype.init.apply(this, arguments); + + var point = this, + toggleSlice; + + //visible: options.visible !== false, + extend(point, { + visible: point.visible !== false, + name: pick(point.name, 'Slice') + }); + + // add event listener for select + toggleSlice = function () { + point.slice(); + }; + addEvent(point, 'select', toggleSlice); + addEvent(point, 'unselect', toggleSlice); + + return point; + }, + + /** + * Toggle the visibility of the pie slice + * @param {Boolean} vis Whether to show the slice or not. If undefined, the + * visibility is toggled + */ + setVisible: function (vis) { + var point = this, + chart = point.series.chart, + tracker = point.tracker, + dataLabel = point.dataLabel, + connector = point.connector, + shadowGroup = point.shadowGroup, + method; + + // if called without an argument, toggle visibility + point.visible = vis = vis === UNDEFINED ? !point.visible : vis; + + method = vis ? 'show' : 'hide'; + + point.group[method](); + if (tracker) { + tracker[method](); + } + if (dataLabel) { + dataLabel[method](); + } + if (connector) { + connector[method](); + } + if (shadowGroup) { + shadowGroup[method](); + } + if (point.legendItem) { + chart.legend.colorizeItem(point, vis); + } + }, + + /** + * Set or toggle whether the slice is cut out from the pie + * @param {Boolean} sliced When undefined, the slice state is toggled + * @param {Boolean} redraw Whether to redraw the chart. True by default. + */ + slice: function (sliced, redraw, animation) { + var point = this, + series = point.series, + chart = series.chart, + slicedTranslation = point.slicedTranslation, + translation; + + setAnimation(animation, chart); + + // redraw is true by default + redraw = pick(redraw, true); + + // if called without an argument, toggle + sliced = point.sliced = defined(sliced) ? sliced : !point.sliced; + + translation = { + translateX: (sliced ? slicedTranslation[0] : chart.plotLeft), + translateY: (sliced ? slicedTranslation[1] : chart.plotTop) + }; + point.group.animate(translation); + if (point.shadowGroup) { + point.shadowGroup.animate(translation); + } + + } +}); + +/** + * The Pie series class + */ +var PieSeries = extendClass(Series, { + type: 'pie', + isCartesian: false, + pointClass: PiePoint, + pointAttrToOptions: { // mapping between SVG attributes and the corresponding options + stroke: 'borderColor', + 'stroke-width': 'borderWidth', + fill: 'color' + }, + + /** + * Pies have one color each point + */ + getColor: function () { + // record first color for use in setData + this.initialColor = this.chart.counters.color; + }, + + /** + * Animate the column heights one by one from zero + */ + animate: function () { + var series = this, + points = series.points; + + each(points, function (point) { + var graphic = point.graphic, + args = point.shapeArgs, + up = -mathPI / 2; + + if (graphic) { + // start values + graphic.attr({ + r: 0, + start: up, + end: up + }); + + // animate + graphic.animate({ + r: args.r, + start: args.start, + end: args.end + }, series.options.animation); + } + }); + + // delete this function to allow it only once + series.animate = null; + + }, + + /** + * Extend the basic setData method by running processData and generatePoints immediately, + * in order to access the points from the legend. + */ + setData: function (data, redraw) { + Series.prototype.setData.call(this, data, false); + this.processData(); + this.generatePoints(); + if (pick(redraw, true)) { + this.chart.redraw(); + } + }, + /** + * Do translation for pie slices + */ + translate: function () { + this.generatePoints(); + + var total = 0, + series = this, + cumulative = -0.25, // start at top + precision = 1000, // issue #172 + options = series.options, + slicedOffset = options.slicedOffset, + connectorOffset = slicedOffset + options.borderWidth, + positions = options.center.concat([options.size, options.innerSize || 0]), + chart = series.chart, + plotWidth = chart.plotWidth, + plotHeight = chart.plotHeight, + start, + end, + angle, + points = series.points, + circ = 2 * mathPI, + fraction, + smallestSize = mathMin(plotWidth, plotHeight), + isPercent, + radiusX, // the x component of the radius vector for a given point + radiusY, + labelDistance = options.dataLabels.distance; + + // get positions - either an integer or a percentage string must be given + positions = map(positions, function (length, i) { + + isPercent = /%$/.test(length); + return isPercent ? + // i == 0: centerX, relative to width + // i == 1: centerY, relative to height + // i == 2: size, relative to smallestSize + // i == 4: innerSize, relative to smallestSize + [plotWidth, plotHeight, smallestSize, smallestSize][i] * + pInt(length) / 100 : + length; + }); + + // utility for getting the x value from a given y, used for anticollision logic in data labels + series.getX = function (y, left) { + + angle = math.asin((y - positions[1]) / (positions[2] / 2 + labelDistance)); + + return positions[0] + + (left ? -1 : 1) * + (mathCos(angle) * (positions[2] / 2 + labelDistance)); + }; + + // set center for later use + series.center = positions; + + // get the total sum + each(points, function (point) { + total += point.y; + }); + + each(points, function (point) { + // set start and end angle + fraction = total ? point.y / total : 0; + start = mathRound(cumulative * circ * precision) / precision; + cumulative += fraction; + end = mathRound(cumulative * circ * precision) / precision; + + // set the shape + point.shapeType = 'arc'; + point.shapeArgs = { + x: positions[0], + y: positions[1], + r: positions[2] / 2, + innerR: positions[3] / 2, + start: start, + end: end + }; + + // center for the sliced out slice + angle = (end + start) / 2; + point.slicedTranslation = map([ + mathCos(angle) * slicedOffset + chart.plotLeft, + mathSin(angle) * slicedOffset + chart.plotTop + ], mathRound); + + // set the anchor point for tooltips + radiusX = mathCos(angle) * positions[2] / 2; + radiusY = mathSin(angle) * positions[2] / 2; + point.tooltipPos = [ + positions[0] + radiusX * 0.7, + positions[1] + radiusY * 0.7 + ]; + + // set the anchor point for data labels + point.labelPos = [ + positions[0] + radiusX + mathCos(angle) * labelDistance, // first break of connector + positions[1] + radiusY + mathSin(angle) * labelDistance, // a/a + positions[0] + radiusX + mathCos(angle) * connectorOffset, // second break, right outside pie + positions[1] + radiusY + mathSin(angle) * connectorOffset, // a/a + positions[0] + radiusX, // landing point for connector + positions[1] + radiusY, // a/a + labelDistance < 0 ? // alignment + 'center' : + angle < circ / 4 ? 'left' : 'right', // alignment + angle // center angle + ]; + + // API properties + point.percentage = fraction * 100; + point.total = total; + + }); + + + this.setTooltipPoints(); + }, + + /** + * Render the slices + */ + render: function () { + var series = this; + + // cache attributes for shapes + series.getAttribs(); + + this.drawPoints(); + + // draw the mouse tracking area + if (series.options.enableMouseTracking !== false) { + series.drawTracker(); + } + + this.drawDataLabels(); + + if (series.options.animation && series.animate) { + series.animate(); + } + + // (See #322) series.isDirty = series.isDirtyData = false; // means data is in accordance with what you see + series.isDirty = false; // means data is in accordance with what you see + }, + + /** + * Draw the data points + */ + drawPoints: function () { + var series = this, + chart = series.chart, + renderer = chart.renderer, + groupTranslation, + //center, + graphic, + group, + shadow = series.options.shadow, + shadowGroup, + shapeArgs; + + // draw the slices + each(series.points, function (point) { + graphic = point.graphic; + shapeArgs = point.shapeArgs; + group = point.group; + shadowGroup = point.shadowGroup; + + // put the shadow behind all points + if (shadow && !shadowGroup) { + shadowGroup = point.shadowGroup = renderer.g('shadow') + .attr({ zIndex: 4 }) + .add(); + } + + // create the group the first time + if (!group) { + group = point.group = renderer.g('point') + .attr({ zIndex: 5 }) + .add(); + } + + // if the point is sliced, use special translation, else use plot area traslation + groupTranslation = point.sliced ? point.slicedTranslation : [chart.plotLeft, chart.plotTop]; + group.translate(groupTranslation[0], groupTranslation[1]); + if (shadowGroup) { + shadowGroup.translate(groupTranslation[0], groupTranslation[1]); + } + + // draw the slice + if (graphic) { + graphic.animate(shapeArgs); + } else { + point.graphic = + renderer.arc(shapeArgs) + .attr(extend( + point.pointAttr[NORMAL_STATE], + { 'stroke-linejoin': 'round' } + )) + .add(point.group) + .shadow(shadow, shadowGroup); + } + + // detect point specific visibility + if (point.visible === false) { + point.setVisible(false); + } + + }); + + }, + + /** + * Override the base drawDataLabels method by pie specific functionality + */ + drawDataLabels: function () { + var series = this, + data = series.data, + point, + chart = series.chart, + options = series.options.dataLabels, + connectorPadding = pick(options.connectorPadding, 10), + connectorWidth = pick(options.connectorWidth, 1), + connector, + connectorPath, + softConnector = pick(options.softConnector, true), + distanceOption = options.distance, + seriesCenter = series.center, + radius = seriesCenter[2] / 2, + centerY = seriesCenter[1], + outside = distanceOption > 0, + dataLabel, + labelPos, + labelHeight, + halves = [// divide the points into right and left halves for anti collision + [], // right + [] // left + ], + x, + y, + visibility, + rankArr, + sort, + i = 2, + j; + + // get out if not enabled + if (!options.enabled) { + return; + } + + // run parent method + Series.prototype.drawDataLabels.apply(series); + + // arrange points for detection collision + each(data, function (point) { + if (point.dataLabel) { // it may have been cancelled in the base method (#407) + halves[ + point.labelPos[7] < mathPI / 2 ? 0 : 1 + ].push(point); + } + }); + halves[1].reverse(); + + // define the sorting algorithm + sort = function (a, b) { + return b.y - a.y; + }; + + // assume equal label heights + labelHeight = halves[0][0] && halves[0][0].dataLabel && halves[0][0].dataLabel.getBBox().height; + + /* Loop over the points in each half, starting from the top and bottom + * of the pie to detect overlapping labels. + */ + while (i--) { + + var slots = [], + slotsLength, + usedSlots = [], + points = halves[i], + pos, + length = points.length, + slotIndex; + + // Only do anti-collision when we are outside the pie and have connectors (#856) + if (distanceOption > 0) { + + // build the slots + for (pos = centerY - radius - distanceOption; pos <= centerY + radius + distanceOption; pos += labelHeight) { + slots.push(pos); + // visualize the slot + /* + var slotX = series.getX(pos, i) + chart.plotLeft - (i ? 100 : 0), + slotY = pos + chart.plotTop; + if (!isNaN(slotX)) { + chart.renderer.rect(slotX, slotY - 7, 100, labelHeight) + .attr({ + 'stroke-width': 1, + stroke: 'silver' + }) + .add(); + chart.renderer.text('Slot '+ (slots.length - 1), slotX, slotY + 4) + .attr({ + fill: 'silver' + }).add(); + } + // */ + } + slotsLength = slots.length; + + // if there are more values than available slots, remove lowest values + if (length > slotsLength) { + // create an array for sorting and ranking the points within each quarter + rankArr = [].concat(points); + rankArr.sort(sort); + j = length; + while (j--) { + rankArr[j].rank = j; + } + j = length; + while (j--) { + if (points[j].rank >= slotsLength) { + points.splice(j, 1); + } + } + length = points.length; + } + + // The label goes to the nearest open slot, but not closer to the edge than + // the label's index. + for (j = 0; j < length; j++) { + + point = points[j]; + labelPos = point.labelPos; + + var closest = 9999, + distance, + slotI; + + // find the closest slot index + for (slotI = 0; slotI < slotsLength; slotI++) { + distance = mathAbs(slots[slotI] - labelPos[1]); + if (distance < closest) { + closest = distance; + slotIndex = slotI; + } + } + + // if that slot index is closer to the edges of the slots, move it + // to the closest appropriate slot + if (slotIndex < j && slots[j] !== null) { // cluster at the top + slotIndex = j; + } else if (slotsLength < length - j + slotIndex && slots[j] !== null) { // cluster at the bottom + slotIndex = slotsLength - length + j; + while (slots[slotIndex] === null) { // make sure it is not taken + slotIndex++; + } + } else { + // Slot is taken, find next free slot below. In the next run, the next slice will find the + // slot above these, because it is the closest one + while (slots[slotIndex] === null) { // make sure it is not taken + slotIndex++; + } + } + + usedSlots.push({ i: slotIndex, y: slots[slotIndex] }); + slots[slotIndex] = null; // mark as taken + } + // sort them in order to fill in from the top + usedSlots.sort(sort); + } + + // now the used slots are sorted, fill them up sequentially + for (j = 0; j < length; j++) { + + var slot, naturalY; + + point = points[j]; + labelPos = point.labelPos; + dataLabel = point.dataLabel; + visibility = point.visible === false ? HIDDEN : VISIBLE; + naturalY = labelPos[1]; + + if (distanceOption > 0) { + slot = usedSlots.pop(); + slotIndex = slot.i; + + // if the slot next to currrent slot is free, the y value is allowed + // to fall back to the natural position + y = slot.y; + if ((naturalY > y && slots[slotIndex + 1] !== null) || + (naturalY < y && slots[slotIndex - 1] !== null)) { + y = naturalY; + } + + } else { + y = naturalY; + } + + // get the x - use the natural x position for first and last slot, to prevent the top + // and botton slice connectors from touching each other on either side + x = options.justify ? + seriesCenter[0] + (i ? -1 : 1) * (radius + distanceOption) : + series.getX(slotIndex === 0 || slotIndex === slots.length - 1 ? naturalY : y, i); + + // move or place the data label + dataLabel + .attr({ + visibility: visibility, + align: labelPos[6] + })[dataLabel.moved ? 'animate' : 'attr']({ + x: x + options.x + + ({ left: connectorPadding, right: -connectorPadding }[labelPos[6]] || 0), + y: y + options.y + }); + dataLabel.moved = true; + + // draw the connector + if (outside && connectorWidth) { + connector = point.connector; + + connectorPath = softConnector ? [ + M, + x + (labelPos[6] === 'left' ? 5 : -5), y, // end of the string at the label + 'C', + x, y, // first break, next to the label + 2 * labelPos[2] - labelPos[4], 2 * labelPos[3] - labelPos[5], + labelPos[2], labelPos[3], // second break + L, + labelPos[4], labelPos[5] // base + ] : [ + M, + x + (labelPos[6] === 'left' ? 5 : -5), y, // end of the string at the label + L, + labelPos[2], labelPos[3], // second break + L, + labelPos[4], labelPos[5] // base + ]; + + if (connector) { + connector.animate({ d: connectorPath }); + connector.attr('visibility', visibility); + + } else { + point.connector = connector = series.chart.renderer.path(connectorPath).attr({ + 'stroke-width': connectorWidth, + stroke: options.connectorColor || point.color || '#606060', + visibility: visibility, + zIndex: 3 + }) + .translate(chart.plotLeft, chart.plotTop) + .add(); + } + } + } + } + }, + + /** + * Draw point specific tracker objects. Inherit directly from column series. + */ + drawTracker: ColumnSeries.prototype.drawTracker, + + /** + * Pies don't have point marker symbols + */ + getSymbol: function () {} + +}); +seriesTypes.pie = PieSeries; + + +// global variables +extend(Highcharts, { + Chart: Chart, + dateFormat: dateFormat, + pathAnim: pathAnim, + getOptions: getOptions, + hasBidiBug: hasBidiBug, + numberFormat: numberFormat, + Point: Point, + Color: Color, + Renderer: Renderer, + SVGRenderer: SVGRenderer, + VMLRenderer: VMLRenderer, + CanVGRenderer: CanVGRenderer, + seriesTypes: seriesTypes, + setOptions: setOptions, + Series: Series, + + // Expose utility funcitons for modules + addEvent: addEvent, + removeEvent: removeEvent, + createElement: createElement, + discardElement: discardElement, + css: css, + each: each, + extend: extend, + map: map, + merge: merge, + pick: pick, + splat: splat, + extendClass: extendClass, + placeBox: placeBox, + product: 'Highcharts', + version: '2.2.3' +}); +}()); diff --git a/java/com.sap.sailing.gwt.ui/highcharts/js/modules/canvas-tools.js b/java/com.sap.sailing.gwt.ui/highcharts/js/modules/canvas-tools.js new file mode 100644 index 00000000000..5274a3d5bb9 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/highcharts/js/modules/canvas-tools.js @@ -0,0 +1,133 @@ +/* + A class to parse color values + @author Stoyan Stefanov + @link http://www.phpied.com/rgb-color-parser-in-javascript/ + Use it if you like it + + canvg.js - Javascript SVG parser and renderer on Canvas + MIT Licensed + Gabe Lerner (gabelerner@gmail.com) + http://code.google.com/p/canvg/ + + Requires: rgbcolor.js - http://www.phpied.com/rgb-color-parser-in-javascript/ + + Highcharts JS v2.2.3 (2012-05-07) + CanVGRenderer Extension module + + (c) 2011-2012 Torstein H?nsi, Erik Olsson + + License: www.highcharts.com/license +*/ +function RGBColor(m){this.ok=!1;m.charAt(0)=="#"&&(m=m.substr(1,6));var m=m.replace(/ /g,""),m=m.toLowerCase(),a={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b", +darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff", +gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa", +lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080", +oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd", +slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"},c;for(c in a)m==c&&(m=a[c]);var d=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(b){return[parseInt(b[1]),parseInt(b[2]),parseInt(b[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/, +example:["#00ff00","336699"],process:function(b){return[parseInt(b[1],16),parseInt(b[2],16),parseInt(b[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(b){return[parseInt(b[1]+b[1],16),parseInt(b[2]+b[2],16),parseInt(b[3]+b[3],16)]}}];for(c=0;c255?255:this.r;this.g=this.g<0||isNaN(this.g)?0: +this.g>255?255:this.g;this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b;this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"};this.toHex=function(){var b=this.r.toString(16),a=this.g.toString(16),d=this.b.toString(16);b.length==1&&(b="0"+b);a.length==1&&(a="0"+a);d.length==1&&(d="0"+d);return"#"+b+a+d};this.getHelpXML=function(){for(var b=[],k=0;k "+o.toRGB()+" -> "+o.toHex());l.appendChild(n);l.appendChild(q);c.appendChild(l)}catch(p){}return c}} +if(!window.console)window.console={},window.console.log=function(){},window.console.dir=function(){};if(!Array.prototype.indexOf)Array.prototype.indexOf=function(m){for(var a=0;a]*>/,""),d=new ActiveXObject("Microsoft.XMLDOM");d.async="false";d.loadXML(a);return d}};a.Property=function(c,d){this.name=c;this.value=d;this.hasValue=function(){return this.value!=null&&this.value!==""};this.numValue=function(){if(!this.hasValue())return 0;var b=parseFloat(this.value);(this.value+"").match(/%$/)&& +(b/=100);return b};this.valueOrDefault=function(b){return this.hasValue()?this.value:b};this.numValueOrDefault=function(b){return this.hasValue()?this.numValue():b};var b=this;this.Color={addOpacity:function(d){var c=b.value;if(d!=null&&d!=""){var f=new RGBColor(b.value);f.ok&&(c="rgba("+f.r+", "+f.g+", "+f.b+", "+d+")")}return new a.Property(b.name,c)}};this.Definition={getDefinition:function(){var d=b.value.replace(/^(url\()?#([^\)]+)\)?$/,"$2");return a.Definitions[d]},isUrl:function(){return b.value.indexOf("url(")== +0},getFillStyle:function(b){var d=this.getDefinition();return d!=null&&d.createGradient?d.createGradient(a.ctx,b):d!=null&&d.createPattern?d.createPattern(a.ctx,b):null}};this.Length={DPI:function(){return 96},EM:function(b){var d=12,c=new a.Property("fontSize",a.Font.Parse(a.ctx.font).fontSize);c.hasValue()&&(d=c.Length.toPixels(b));return d},toPixels:function(d){if(!b.hasValue())return 0;var c=b.value+"";return c.match(/em$/)?b.numValue()*this.EM(d):c.match(/ex$/)?b.numValue()*this.EM(d)/2:c.match(/px$/)? +b.numValue():c.match(/pt$/)?b.numValue()*1.25:c.match(/pc$/)?b.numValue()*15:c.match(/cm$/)?b.numValue()*this.DPI(d)/2.54:c.match(/mm$/)?b.numValue()*this.DPI(d)/25.4:c.match(/in$/)?b.numValue()*this.DPI(d):c.match(/%$/)?b.numValue()*a.ViewPort.ComputeSize(d):b.numValue()}};this.Time={toMilliseconds:function(){if(!b.hasValue())return 0;var a=b.value+"";if(a.match(/s$/))return b.numValue()*1E3;a.match(/ms$/);return b.numValue()}};this.Angle={toRadians:function(){if(!b.hasValue())return 0;var a=b.value+ +"";return a.match(/deg$/)?b.numValue()*(Math.PI/180):a.match(/grad$/)?b.numValue()*(Math.PI/200):a.match(/rad$/)?b.numValue():b.numValue()*(Math.PI/180)}}};a.Font=new function(){this.Styles=["normal","italic","oblique","inherit"];this.Variants=["normal","small-caps","inherit"];this.Weights="normal,bold,bolder,lighter,100,200,300,400,500,600,700,800,900,inherit".split(",");this.CreateFont=function(d,b,c,e,f,g){g=g!=null?this.Parse(g):this.CreateFont("","","","","",a.ctx.font);return{fontFamily:f|| +g.fontFamily,fontSize:e||g.fontSize,fontStyle:d||g.fontStyle,fontWeight:c||g.fontWeight,fontVariant:b||g.fontVariant,toString:function(){return[this.fontStyle,this.fontVariant,this.fontWeight,this.fontSize,this.fontFamily].join(" ")}}};var c=this;this.Parse=function(d){for(var b={},d=a.trim(a.compressSpaces(d||"")).split(" "),k=!1,e=!1,f=!1,g=!1,h="",j=0;jthis.x2)this.x2=b}if(a!=null){if(isNaN(this.y1)||isNaN(this.y2))this.y2=this.y1=a;if(athis.y2)this.y2=a}};this.addX=function(b){this.addPoint(b,null)};this.addY=function(b){this.addPoint(null,b)};this.addBoundingBox=function(b){this.addPoint(b.x1,b.y1);this.addPoint(b.x2,b.y2)};this.addQuadraticCurve=function(b,a,d,c,k,l){d=b+2/3*(d-b);c=a+2/3*(c- +a);this.addBezierCurve(b,a,d,d+1/3*(k-b),c,c+1/3*(l-a),k,l)};this.addBezierCurve=function(b,a,d,c,k,l,o,n){var q=[b,a],p=[d,c],s=[k,l],m=[o,n];this.addPoint(q[0],q[1]);this.addPoint(m[0],m[1]);for(i=0;i<=1;i++)b=function(b){return Math.pow(1-b,3)*q[i]+3*Math.pow(1-b,2)*b*p[i]+3*(1-b)*Math.pow(b,2)*s[i]+Math.pow(b,3)*m[i]},a=6*q[i]-12*p[i]+6*s[i],d=-3*q[i]+9*p[i]-9*s[i]+3*m[i],c=3*p[i]-3*q[i],d==0?a!=0&&(a=-c/a,0=this.tokens.length-1};this.isCommandOrEnd=function(){return this.isEnd()? +!0:this.tokens[this.i+1].match(/^[A-Za-z]$/)!=null};this.isRelativeCommand=function(){return this.command==this.command.toLowerCase()};this.getToken=function(){this.i+=1;return this.tokens[this.i]};this.getScalar=function(){return parseFloat(this.getToken())};this.nextCommand=function(){this.previousCommand=this.command;this.command=this.getToken()};this.getPoint=function(){return this.makeAbsolute(new a.Point(this.getScalar(),this.getScalar()))};this.getAsControlPoint=function(){var b=this.getPoint(); +return this.control=b};this.getAsCurrentPoint=function(){var b=this.getPoint();return this.current=b};this.getReflectedControlPoint=function(){return this.previousCommand.toLowerCase()!="c"&&this.previousCommand.toLowerCase()!="s"?this.current:new a.Point(2*this.current.x-this.control.x,2*this.current.y-this.control.y)};this.makeAbsolute=function(b){if(this.isRelativeCommand())b.x=this.current.x+b.x,b.y=this.current.y+b.y;return b};this.addMarker=function(b,a,d){d!=null&&this.angles.length>0&&this.angles[this.angles.length- +1]==null&&(this.angles[this.angles.length-1]=this.points[this.points.length-1].angleTo(d));this.addMarkerAngle(b,a==null?null:a.angleTo(b))};this.addMarkerAngle=function(b,a){this.points.push(b);this.angles.push(a)};this.getMarkerPoints=function(){return this.points};this.getMarkerAngles=function(){for(var b=0;b1&&(j*=Math.sqrt(q),l*=Math.sqrt(q));o=(o==h?-1:1)*Math.sqrt((Math.pow(j,2)*Math.pow(l,2)-Math.pow(j,2)*Math.pow(n.y,2)-Math.pow(l,2)*Math.pow(n.x,2))/(Math.pow(j,2)*Math.pow(n.y,2)+Math.pow(l,2)*Math.pow(n.x,2)));isNaN(o)&&(o=0);var p=new a.Point(o*j*n.y/l,o*-l*n.x/j),g=new a.Point((g.x+e.x)/2+Math.cos(f)* +p.x-Math.sin(f)*p.y,(g.y+e.y)/2+Math.sin(f)*p.x+Math.cos(f)*p.y),m=function(b,a){return(b[0]*a[0]+b[1]*a[1])/(Math.sqrt(Math.pow(b[0],2)+Math.pow(b[1],2))*Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2)))},t=function(b,a){return(b[0]*a[1]=1&&(n=0);h==0&&n>0&&(n-=2*Math.PI);h==1&&n<0&&(n+=2*Math.PI);q=new a.Point(g.x-j*Math.cos((o+n)/ +2),g.y-l*Math.sin((o+n)/2));b.addMarkerAngle(q,(o+n)/2+(h==0?1:-1)*Math.PI/2);b.addMarkerAngle(e,n+(h==0?1:-1)*Math.PI/2);c.addPoint(e.x,e.y);d!=null&&(m=j>l?j:l,e=j>l?1:j/l,j=j>l?l/j:1,d.translate(g.x,g.y),d.rotate(f),d.scale(e,j),d.arc(0,0,m,o,o+n,1-h),d.scale(1/e,1/j),d.rotate(-f),d.translate(-g.x,-g.y))}break;case "Z":d!=null&&d.closePath(),b.current=b.start}return c};this.getMarkers=function(){for(var a=this.PathParser.getMarkerPoints(),b=this.PathParser.getMarkerAngles(),c=[],e=0;ethis.maxDuration)if(this.attribute("repeatCount").value=="indefinite")this.duration=0;else return this.attribute("fill").valueOrDefault("remove")=="remove"&&!this.removed?(this.removed=!0,this.getProperty().value=this.initialValue,!0):!1;this.duration+=a;a=!1;if(this.begin0&&b[c-1]!=" "&&c0&&b[c-1]!=" "&&(c==b.length-1||b[c+1]==" "))g="initial";typeof a.glyphs[e]!="undefined"&&(f=a.glyphs[e][g],f==null&&a.glyphs[e].type=="glyph"&&(f=a.glyphs[e]))}else f=a.glyphs[e];if(f==null)f=a.missingGlyph;return f};this.renderChildren=function(c){var b=this.parent.style("font-family").Definition.getDefinition();if(b!=null){var k=this.parent.style("font-size").numValueOrDefault(a.Font.Parse(a.ctx.font).fontSize), +e=this.parent.style("font-style").valueOrDefault(a.Font.Parse(a.ctx.font).fontStyle),f=this.getText();b.isRTL&&(f=f.split("").reverse().join(""));for(var g=a.ToNumberArray(this.parent.attribute("dx").value),h=0;h0?c.childNodes[0].nodeValue:c.text;this.getText=function(){return this.text}};a.Element.tspan.prototype=new a.Element.TextElementBase;a.Element.tref=function(c){this.base=a.Element.TextElementBase;this.base(c);this.getText=function(){var a=this.attribute("xlink:href").Definition.getDefinition();if(a!=null)return a.children[0].getText()}};a.Element.tref.prototype=new a.Element.TextElementBase; +a.Element.a=function(c){this.base=a.Element.TextElementBase;this.base(c);this.hasText=!0;for(var d=0;d1?c.childNodes[1].nodeValue: +""),c=c.replace(/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm,""),c=a.compressSpaces(c),c=c.split("}"),d=0;d0){l=g[h].indexOf("url");j=g[h].indexOf(")",l);l=g[h].substr(l+5,j-l-6);l=a.parseXml(a.ajax(l)).getElementsByTagName("font");for(j=0;j + * @link http://www.phpied.com/rgb-color-parser-in-javascript/ + * Use it if you like it + * + */ +function RGBColor(color_string) +{ + this.ok = false; + + // strip any leading # + if (color_string.charAt(0) == '#') { // remove # if any + color_string = color_string.substr(1,6); + } + + color_string = color_string.replace(/ /g,''); + color_string = color_string.toLowerCase(); + + // before getting into regexps, try simple matches + // and overwrite the input + var simple_colors = { + aliceblue: 'f0f8ff', + antiquewhite: 'faebd7', + aqua: '00ffff', + aquamarine: '7fffd4', + azure: 'f0ffff', + beige: 'f5f5dc', + bisque: 'ffe4c4', + black: '000000', + blanchedalmond: 'ffebcd', + blue: '0000ff', + blueviolet: '8a2be2', + brown: 'a52a2a', + burlywood: 'deb887', + cadetblue: '5f9ea0', + chartreuse: '7fff00', + chocolate: 'd2691e', + coral: 'ff7f50', + cornflowerblue: '6495ed', + cornsilk: 'fff8dc', + crimson: 'dc143c', + cyan: '00ffff', + darkblue: '00008b', + darkcyan: '008b8b', + darkgoldenrod: 'b8860b', + darkgray: 'a9a9a9', + darkgreen: '006400', + darkkhaki: 'bdb76b', + darkmagenta: '8b008b', + darkolivegreen: '556b2f', + darkorange: 'ff8c00', + darkorchid: '9932cc', + darkred: '8b0000', + darksalmon: 'e9967a', + darkseagreen: '8fbc8f', + darkslateblue: '483d8b', + darkslategray: '2f4f4f', + darkturquoise: '00ced1', + darkviolet: '9400d3', + deeppink: 'ff1493', + deepskyblue: '00bfff', + dimgray: '696969', + dodgerblue: '1e90ff', + feldspar: 'd19275', + firebrick: 'b22222', + floralwhite: 'fffaf0', + forestgreen: '228b22', + fuchsia: 'ff00ff', + gainsboro: 'dcdcdc', + ghostwhite: 'f8f8ff', + gold: 'ffd700', + goldenrod: 'daa520', + gray: '808080', + green: '008000', + greenyellow: 'adff2f', + honeydew: 'f0fff0', + hotpink: 'ff69b4', + indianred : 'cd5c5c', + indigo : '4b0082', + ivory: 'fffff0', + khaki: 'f0e68c', + lavender: 'e6e6fa', + lavenderblush: 'fff0f5', + lawngreen: '7cfc00', + lemonchiffon: 'fffacd', + lightblue: 'add8e6', + lightcoral: 'f08080', + lightcyan: 'e0ffff', + lightgoldenrodyellow: 'fafad2', + lightgrey: 'd3d3d3', + lightgreen: '90ee90', + lightpink: 'ffb6c1', + lightsalmon: 'ffa07a', + lightseagreen: '20b2aa', + lightskyblue: '87cefa', + lightslateblue: '8470ff', + lightslategray: '778899', + lightsteelblue: 'b0c4de', + lightyellow: 'ffffe0', + lime: '00ff00', + limegreen: '32cd32', + linen: 'faf0e6', + magenta: 'ff00ff', + maroon: '800000', + mediumaquamarine: '66cdaa', + mediumblue: '0000cd', + mediumorchid: 'ba55d3', + mediumpurple: '9370d8', + mediumseagreen: '3cb371', + mediumslateblue: '7b68ee', + mediumspringgreen: '00fa9a', + mediumturquoise: '48d1cc', + mediumvioletred: 'c71585', + midnightblue: '191970', + mintcream: 'f5fffa', + mistyrose: 'ffe4e1', + moccasin: 'ffe4b5', + navajowhite: 'ffdead', + navy: '000080', + oldlace: 'fdf5e6', + olive: '808000', + olivedrab: '6b8e23', + orange: 'ffa500', + orangered: 'ff4500', + orchid: 'da70d6', + palegoldenrod: 'eee8aa', + palegreen: '98fb98', + paleturquoise: 'afeeee', + palevioletred: 'd87093', + papayawhip: 'ffefd5', + peachpuff: 'ffdab9', + peru: 'cd853f', + pink: 'ffc0cb', + plum: 'dda0dd', + powderblue: 'b0e0e6', + purple: '800080', + red: 'ff0000', + rosybrown: 'bc8f8f', + royalblue: '4169e1', + saddlebrown: '8b4513', + salmon: 'fa8072', + sandybrown: 'f4a460', + seagreen: '2e8b57', + seashell: 'fff5ee', + sienna: 'a0522d', + silver: 'c0c0c0', + skyblue: '87ceeb', + slateblue: '6a5acd', + slategray: '708090', + snow: 'fffafa', + springgreen: '00ff7f', + steelblue: '4682b4', + tan: 'd2b48c', + teal: '008080', + thistle: 'd8bfd8', + tomato: 'ff6347', + turquoise: '40e0d0', + violet: 'ee82ee', + violetred: 'd02090', + wheat: 'f5deb3', + white: 'ffffff', + whitesmoke: 'f5f5f5', + yellow: 'ffff00', + yellowgreen: '9acd32' + }; + for (var key in simple_colors) { + if (color_string == key) { + color_string = simple_colors[key]; + } + } + // emd of simple type-in colors + + // array of color definition objects + var color_defs = [ + { + re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/, + example: ['rgb(123, 234, 45)', 'rgb(255,234,245)'], + process: function (bits){ + return [ + parseInt(bits[1]), + parseInt(bits[2]), + parseInt(bits[3]) + ]; + } + }, + { + re: /^(\w{2})(\w{2})(\w{2})$/, + example: ['#00ff00', '336699'], + process: function (bits){ + return [ + parseInt(bits[1], 16), + parseInt(bits[2], 16), + parseInt(bits[3], 16) + ]; + } + }, + { + re: /^(\w{1})(\w{1})(\w{1})$/, + example: ['#fb0', 'f0f'], + process: function (bits){ + return [ + parseInt(bits[1] + bits[1], 16), + parseInt(bits[2] + bits[2], 16), + parseInt(bits[3] + bits[3], 16) + ]; + } + } + ]; + + // search through the definitions to find a match + for (var i = 0; i < color_defs.length; i++) { + var re = color_defs[i].re; + var processor = color_defs[i].process; + var bits = re.exec(color_string); + if (bits) { + channels = processor(bits); + this.r = channels[0]; + this.g = channels[1]; + this.b = channels[2]; + this.ok = true; + } + + } + + // validate/cleanup values + this.r = (this.r < 0 || isNaN(this.r)) ? 0 : ((this.r > 255) ? 255 : this.r); + this.g = (this.g < 0 || isNaN(this.g)) ? 0 : ((this.g > 255) ? 255 : this.g); + this.b = (this.b < 0 || isNaN(this.b)) ? 0 : ((this.b > 255) ? 255 : this.b); + + // some getters + this.toRGB = function () { + return 'rgb(' + this.r + ', ' + this.g + ', ' + this.b + ')'; + } + this.toHex = function () { + var r = this.r.toString(16); + var g = this.g.toString(16); + var b = this.b.toString(16); + if (r.length == 1) r = '0' + r; + if (g.length == 1) g = '0' + g; + if (b.length == 1) b = '0' + b; + return '#' + r + g + b; + } + + // help + this.getHelpXML = function () { + + var examples = new Array(); + // add regexps + for (var i = 0; i < color_defs.length; i++) { + var example = color_defs[i].example; + for (var j = 0; j < example.length; j++) { + examples[examples.length] = example[j]; + } + } + // add type-in colors + for (var sc in simple_colors) { + examples[examples.length] = sc; + } + + var xml = document.createElement('ul'); + xml.setAttribute('id', 'rgbcolor-examples'); + for (var i = 0; i < examples.length; i++) { + try { + var list_item = document.createElement('li'); + var list_color = new RGBColor(examples[i]); + var example_div = document.createElement('div'); + example_div.style.cssText = + 'margin: 3px; ' + + 'border: 1px solid black; ' + + 'background:' + list_color.toHex() + '; ' + + 'color:' + list_color.toHex() + ; + example_div.appendChild(document.createTextNode('test')); + var list_item_value = document.createTextNode( + ' ' + examples[i] + ' -> ' + list_color.toRGB() + ' -> ' + list_color.toHex() + ); + list_item.appendChild(example_div); + list_item.appendChild(list_item_value); + xml.appendChild(list_item); + + } catch(e){} + } + return xml; + + } + +} + +/** + * @license canvg.js - Javascript SVG parser and renderer on Canvas + * MIT Licensed + * Gabe Lerner (gabelerner@gmail.com) + * http://code.google.com/p/canvg/ + * + * Requires: rgbcolor.js - http://www.phpied.com/rgb-color-parser-in-javascript/ + * + */ +if(!window.console) { + window.console = {}; + window.console.log = function(str) {}; + window.console.dir = function(str) {}; +} + +if(!Array.prototype.indexOf){ + Array.prototype.indexOf = function(obj){ + for(var i=0; i ignore mouse events + // ignoreAnimation: true => ignore animations + // ignoreDimensions: true => does not try to resize canvas + // ignoreClear: true => does not clear canvas + // offsetX: int => draws at a x offset + // offsetY: int => draws at a y offset + // scaleWidth: int => scales horizontally to width + // scaleHeight: int => scales vertically to height + // renderCallback: function => will call the function after the first render is completed + // forceRedraw: function => will call the function on every frame, if it returns true, will redraw + this.canvg = function (target, s, opts) { + // no parameters + if (target == null && s == null && opts == null) { + var svgTags = document.getElementsByTagName('svg'); + for (var i=0; i]*>/, ''); + var xmlDoc = new ActiveXObject('Microsoft.XMLDOM'); + xmlDoc.async = 'false'; + xmlDoc.loadXML(xml); + return xmlDoc; + } + } + + svg.Property = function(name, value) { + this.name = name; + this.value = value; + + this.hasValue = function() { + return (this.value != null && this.value !== ''); + } + + // return the numerical value of the property + this.numValue = function() { + if (!this.hasValue()) return 0; + + var n = parseFloat(this.value); + if ((this.value + '').match(/%$/)) { + n = n / 100.0; + } + return n; + } + + this.valueOrDefault = function(def) { + if (this.hasValue()) return this.value; + return def; + } + + this.numValueOrDefault = function(def) { + if (this.hasValue()) return this.numValue(); + return def; + } + + /* EXTENSIONS */ + var that = this; + + // color extensions + this.Color = { + // augment the current color value with the opacity + addOpacity: function(opacity) { + var newValue = that.value; + if (opacity != null && opacity != '') { + var color = new RGBColor(that.value); + if (color.ok) { + newValue = 'rgba(' + color.r + ', ' + color.g + ', ' + color.b + ', ' + opacity + ')'; + } + } + return new svg.Property(that.name, newValue); + } + } + + // definition extensions + this.Definition = { + // get the definition from the definitions table + getDefinition: function() { + var name = that.value.replace(/^(url\()?#([^\)]+)\)?$/, '$2'); + return svg.Definitions[name]; + }, + + isUrl: function() { + return that.value.indexOf('url(') == 0 + }, + + getFillStyle: function(e) { + var def = this.getDefinition(); + + // gradient + if (def != null && def.createGradient) { + return def.createGradient(svg.ctx, e); + } + + // pattern + if (def != null && def.createPattern) { + return def.createPattern(svg.ctx, e); + } + + return null; + } + } + + // length extensions + this.Length = { + DPI: function(viewPort) { + return 96.0; // TODO: compute? + }, + + EM: function(viewPort) { + var em = 12; + + var fontSize = new svg.Property('fontSize', svg.Font.Parse(svg.ctx.font).fontSize); + if (fontSize.hasValue()) em = fontSize.Length.toPixels(viewPort); + + return em; + }, + + // get the length as pixels + toPixels: function(viewPort) { + if (!that.hasValue()) return 0; + var s = that.value+''; + if (s.match(/em$/)) return that.numValue() * this.EM(viewPort); + if (s.match(/ex$/)) return that.numValue() * this.EM(viewPort) / 2.0; + if (s.match(/px$/)) return that.numValue(); + if (s.match(/pt$/)) return that.numValue() * 1.25; + if (s.match(/pc$/)) return that.numValue() * 15; + if (s.match(/cm$/)) return that.numValue() * this.DPI(viewPort) / 2.54; + if (s.match(/mm$/)) return that.numValue() * this.DPI(viewPort) / 25.4; + if (s.match(/in$/)) return that.numValue() * this.DPI(viewPort); + if (s.match(/%$/)) return that.numValue() * svg.ViewPort.ComputeSize(viewPort); + return that.numValue(); + } + } + + // time extensions + this.Time = { + // get the time as milliseconds + toMilliseconds: function() { + if (!that.hasValue()) return 0; + var s = that.value+''; + if (s.match(/s$/)) return that.numValue() * 1000; + if (s.match(/ms$/)) return that.numValue(); + return that.numValue(); + } + } + + // angle extensions + this.Angle = { + // get the angle as radians + toRadians: function() { + if (!that.hasValue()) return 0; + var s = that.value+''; + if (s.match(/deg$/)) return that.numValue() * (Math.PI / 180.0); + if (s.match(/grad$/)) return that.numValue() * (Math.PI / 200.0); + if (s.match(/rad$/)) return that.numValue(); + return that.numValue() * (Math.PI / 180.0); + } + } + } + + // fonts + svg.Font = new (function() { + this.Styles = ['normal','italic','oblique','inherit']; + this.Variants = ['normal','small-caps','inherit']; + this.Weights = ['normal','bold','bolder','lighter','100','200','300','400','500','600','700','800','900','inherit']; + + this.CreateFont = function(fontStyle, fontVariant, fontWeight, fontSize, fontFamily, inherit) { + var f = inherit != null ? this.Parse(inherit) : this.CreateFont('', '', '', '', '', svg.ctx.font); + return { + fontFamily: fontFamily || f.fontFamily, + fontSize: fontSize || f.fontSize, + fontStyle: fontStyle || f.fontStyle, + fontWeight: fontWeight || f.fontWeight, + fontVariant: fontVariant || f.fontVariant, + toString: function () { return [this.fontStyle, this.fontVariant, this.fontWeight, this.fontSize, this.fontFamily].join(' ') } + } + } + + var that = this; + this.Parse = function(s) { + var f = {}; + var d = svg.trim(svg.compressSpaces(s || '')).split(' '); + var set = { fontSize: false, fontStyle: false, fontWeight: false, fontVariant: false } + var ff = ''; + for (var i=0; i this.x2) this.x2 = x; + } + + if (y != null) { + if (isNaN(this.y1) || isNaN(this.y2)) { + this.y1 = y; + this.y2 = y; + } + if (y < this.y1) this.y1 = y; + if (y > this.y2) this.y2 = y; + } + } + this.addX = function(x) { this.addPoint(x, null); } + this.addY = function(y) { this.addPoint(null, y); } + + this.addBoundingBox = function(bb) { + this.addPoint(bb.x1, bb.y1); + this.addPoint(bb.x2, bb.y2); + } + + this.addQuadraticCurve = function(p0x, p0y, p1x, p1y, p2x, p2y) { + var cp1x = p0x + 2/3 * (p1x - p0x); // CP1 = QP0 + 2/3 *(QP1-QP0) + var cp1y = p0y + 2/3 * (p1y - p0y); // CP1 = QP0 + 2/3 *(QP1-QP0) + var cp2x = cp1x + 1/3 * (p2x - p0x); // CP2 = CP1 + 1/3 *(QP2-QP0) + var cp2y = cp1y + 1/3 * (p2y - p0y); // CP2 = CP1 + 1/3 *(QP2-QP0) + this.addBezierCurve(p0x, p0y, cp1x, cp2x, cp1y, cp2y, p2x, p2y); + } + + this.addBezierCurve = function(p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y) { + // from http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html + var p0 = [p0x, p0y], p1 = [p1x, p1y], p2 = [p2x, p2y], p3 = [p3x, p3y]; + this.addPoint(p0[0], p0[1]); + this.addPoint(p3[0], p3[1]); + + for (i=0; i<=1; i++) { + var f = function(t) { + return Math.pow(1-t, 3) * p0[i] + + 3 * Math.pow(1-t, 2) * t * p1[i] + + 3 * (1-t) * Math.pow(t, 2) * p2[i] + + Math.pow(t, 3) * p3[i]; + } + + var b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i]; + var a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i]; + var c = 3 * p1[i] - 3 * p0[i]; + + if (a == 0) { + if (b == 0) continue; + var t = -c / b; + if (0 < t && t < 1) { + if (i == 0) this.addX(f(t)); + if (i == 1) this.addY(f(t)); + } + continue; + } + + var b2ac = Math.pow(b, 2) - 4 * c * a; + if (b2ac < 0) continue; + var t1 = (-b + Math.sqrt(b2ac)) / (2 * a); + if (0 < t1 && t1 < 1) { + if (i == 0) this.addX(f(t1)); + if (i == 1) this.addY(f(t1)); + } + var t2 = (-b - Math.sqrt(b2ac)) / (2 * a); + if (0 < t2 && t2 < 1) { + if (i == 0) this.addX(f(t2)); + if (i == 1) this.addY(f(t2)); + } + } + } + + this.isPointInBox = function(x, y) { + return (this.x1 <= x && x <= this.x2 && this.y1 <= y && y <= this.y2); + } + + this.addPoint(x1, y1); + this.addPoint(x2, y2); + } + + // transforms + svg.Transform = function(v) { + var that = this; + this.Type = {} + + // translate + this.Type.translate = function(s) { + this.p = svg.CreatePoint(s); + this.apply = function(ctx) { + ctx.translate(this.p.x || 0.0, this.p.y || 0.0); + } + this.applyToPoint = function(p) { + p.applyTransform([1, 0, 0, 1, this.p.x || 0.0, this.p.y || 0.0]); + } + } + + // rotate + this.Type.rotate = function(s) { + var a = svg.ToNumberArray(s); + this.angle = new svg.Property('angle', a[0]); + this.cx = a[1] || 0; + this.cy = a[2] || 0; + this.apply = function(ctx) { + ctx.translate(this.cx, this.cy); + ctx.rotate(this.angle.Angle.toRadians()); + ctx.translate(-this.cx, -this.cy); + } + this.applyToPoint = function(p) { + var a = this.angle.Angle.toRadians(); + p.applyTransform([1, 0, 0, 1, this.p.x || 0.0, this.p.y || 0.0]); + p.applyTransform([Math.cos(a), Math.sin(a), -Math.sin(a), Math.cos(a), 0, 0]); + p.applyTransform([1, 0, 0, 1, -this.p.x || 0.0, -this.p.y || 0.0]); + } + } + + this.Type.scale = function(s) { + this.p = svg.CreatePoint(s); + this.apply = function(ctx) { + ctx.scale(this.p.x || 1.0, this.p.y || this.p.x || 1.0); + } + this.applyToPoint = function(p) { + p.applyTransform([this.p.x || 0.0, 0, 0, this.p.y || 0.0, 0, 0]); + } + } + + this.Type.matrix = function(s) { + this.m = svg.ToNumberArray(s); + this.apply = function(ctx) { + ctx.transform(this.m[0], this.m[1], this.m[2], this.m[3], this.m[4], this.m[5]); + } + this.applyToPoint = function(p) { + p.applyTransform(this.m); + } + } + + this.Type.SkewBase = function(s) { + this.base = that.Type.matrix; + this.base(s); + this.angle = new svg.Property('angle', s); + } + this.Type.SkewBase.prototype = new this.Type.matrix; + + this.Type.skewX = function(s) { + this.base = that.Type.SkewBase; + this.base(s); + this.m = [1, 0, Math.tan(this.angle.Angle.toRadians()), 1, 0, 0]; + } + this.Type.skewX.prototype = new this.Type.SkewBase; + + this.Type.skewY = function(s) { + this.base = that.Type.SkewBase; + this.base(s); + this.m = [1, Math.tan(this.angle.Angle.toRadians()), 0, 1, 0, 0]; + } + this.Type.skewY.prototype = new this.Type.SkewBase; + + this.transforms = []; + + this.apply = function(ctx) { + for (var i=0; i= this.tokens.length - 1; + } + + this.isCommandOrEnd = function() { + if (this.isEnd()) return true; + return this.tokens[this.i + 1].match(/^[A-Za-z]$/) != null; + } + + this.isRelativeCommand = function() { + return this.command == this.command.toLowerCase(); + } + + this.getToken = function() { + this.i = this.i + 1; + return this.tokens[this.i]; + } + + this.getScalar = function() { + return parseFloat(this.getToken()); + } + + this.nextCommand = function() { + this.previousCommand = this.command; + this.command = this.getToken(); + } + + this.getPoint = function() { + var p = new svg.Point(this.getScalar(), this.getScalar()); + return this.makeAbsolute(p); + } + + this.getAsControlPoint = function() { + var p = this.getPoint(); + this.control = p; + return p; + } + + this.getAsCurrentPoint = function() { + var p = this.getPoint(); + this.current = p; + return p; + } + + this.getReflectedControlPoint = function() { + if (this.previousCommand.toLowerCase() != 'c' && this.previousCommand.toLowerCase() != 's') { + return this.current; + } + + // reflect point + var p = new svg.Point(2 * this.current.x - this.control.x, 2 * this.current.y - this.control.y); + return p; + } + + this.makeAbsolute = function(p) { + if (this.isRelativeCommand()) { + p.x = this.current.x + p.x; + p.y = this.current.y + p.y; + } + return p; + } + + this.addMarker = function(p, from, priorTo) { + // if the last angle isn't filled in because we didn't have this point yet ... + if (priorTo != null && this.angles.length > 0 && this.angles[this.angles.length-1] == null) { + this.angles[this.angles.length-1] = this.points[this.points.length-1].angleTo(priorTo); + } + this.addMarkerAngle(p, from == null ? null : from.angleTo(p)); + } + + this.addMarkerAngle = function(p, a) { + this.points.push(p); + this.angles.push(a); + } + + this.getMarkerPoints = function() { return this.points; } + this.getMarkerAngles = function() { + for (var i=0; i 1) { + rx *= Math.sqrt(l); + ry *= Math.sqrt(l); + } + // cx', cy' + var s = (largeArcFlag == sweepFlag ? -1 : 1) * Math.sqrt( + ((Math.pow(rx,2)*Math.pow(ry,2))-(Math.pow(rx,2)*Math.pow(currp.y,2))-(Math.pow(ry,2)*Math.pow(currp.x,2))) / + (Math.pow(rx,2)*Math.pow(currp.y,2)+Math.pow(ry,2)*Math.pow(currp.x,2)) + ); + if (isNaN(s)) s = 0; + var cpp = new svg.Point(s * rx * currp.y / ry, s * -ry * currp.x / rx); + // cx, cy + var centp = new svg.Point( + (curr.x + cp.x) / 2.0 + Math.cos(xAxisRotation) * cpp.x - Math.sin(xAxisRotation) * cpp.y, + (curr.y + cp.y) / 2.0 + Math.sin(xAxisRotation) * cpp.x + Math.cos(xAxisRotation) * cpp.y + ); + // vector magnitude + var m = function(v) { return Math.sqrt(Math.pow(v[0],2) + Math.pow(v[1],2)); } + // ratio between two vectors + var r = function(u, v) { return (u[0]*v[0]+u[1]*v[1]) / (m(u)*m(v)) } + // angle between two vectors + var a = function(u, v) { return (u[0]*v[1] < u[1]*v[0] ? -1 : 1) * Math.acos(r(u,v)); } + // initial angle + var a1 = a([1,0], [(currp.x-cpp.x)/rx,(currp.y-cpp.y)/ry]); + // angle delta + var u = [(currp.x-cpp.x)/rx,(currp.y-cpp.y)/ry]; + var v = [(-currp.x-cpp.x)/rx,(-currp.y-cpp.y)/ry]; + var ad = a(u, v); + if (r(u,v) <= -1) ad = Math.PI; + if (r(u,v) >= 1) ad = 0; + + if (sweepFlag == 0 && ad > 0) ad = ad - 2 * Math.PI; + if (sweepFlag == 1 && ad < 0) ad = ad + 2 * Math.PI; + + // for markers + var halfWay = new svg.Point( + centp.x - rx * Math.cos((a1 + ad) / 2), + centp.y - ry * Math.sin((a1 + ad) / 2) + ); + pp.addMarkerAngle(halfWay, (a1 + ad) / 2 + (sweepFlag == 0 ? 1 : -1) * Math.PI / 2); + pp.addMarkerAngle(cp, ad + (sweepFlag == 0 ? 1 : -1) * Math.PI / 2); + + bb.addPoint(cp.x, cp.y); // TODO: this is too naive, make it better + if (ctx != null) { + var r = rx > ry ? rx : ry; + var sx = rx > ry ? 1 : rx / ry; + var sy = rx > ry ? ry / rx : 1; + + ctx.translate(centp.x, centp.y); + ctx.rotate(xAxisRotation); + ctx.scale(sx, sy); + ctx.arc(0, 0, r, a1, a1 + ad, 1 - sweepFlag); + ctx.scale(1/sx, 1/sy); + ctx.rotate(-xAxisRotation); + ctx.translate(-centp.x, -centp.y); + } + } + break; + case 'Z': + if (ctx != null) ctx.closePath(); + pp.current = pp.start; + } + } + + return bb; + } + + this.getMarkers = function() { + var points = this.PathParser.getMarkerPoints(); + var angles = this.PathParser.getMarkerAngles(); + + var markers = []; + for (var i=0; i this.maxDuration) { + // loop for indefinitely repeating animations + if (this.attribute('repeatCount').value == 'indefinite') { + this.duration = 0.0 + } + else if (this.attribute('fill').valueOrDefault('remove') == 'remove' && !this.removed) { + this.removed = true; + this.getProperty().value = this.initialValue; + return true; + } + else { + return false; // no updates made + } + } + this.duration = this.duration + delta; + + // if we're past the begin time + var updated = false; + if (this.begin < this.duration) { + var newValue = this.calcValue(); // tween + + if (this.attribute('type').hasValue()) { + // for transform, etc. + var type = this.attribute('type').value; + newValue = type + '(' + newValue + ')'; + } + + this.getProperty().value = newValue; + updated = true; + } + + return updated; + } + + // fraction of duration we've covered + this.progress = function() { + return ((this.duration - this.begin) / (this.maxDuration - this.begin)); + } + } + svg.Element.AnimateBase.prototype = new svg.Element.ElementBase; + + // animate element + svg.Element.animate = function(node) { + this.base = svg.Element.AnimateBase; + this.base(node); + + this.calcValue = function() { + var from = this.attribute('from').numValue(); + var to = this.attribute('to').numValue(); + + // tween value linearly + return from + (to - from) * this.progress(); + }; + } + svg.Element.animate.prototype = new svg.Element.AnimateBase; + + // animate color element + svg.Element.animateColor = function(node) { + this.base = svg.Element.AnimateBase; + this.base(node); + + this.calcValue = function() { + var from = new RGBColor(this.attribute('from').value); + var to = new RGBColor(this.attribute('to').value); + + if (from.ok && to.ok) { + // tween color linearly + var r = from.r + (to.r - from.r) * this.progress(); + var g = from.g + (to.g - from.g) * this.progress(); + var b = from.b + (to.b - from.b) * this.progress(); + return 'rgb('+parseInt(r,10)+','+parseInt(g,10)+','+parseInt(b,10)+')'; + } + return this.attribute('from').value; + }; + } + svg.Element.animateColor.prototype = new svg.Element.AnimateBase; + + // animate transform element + svg.Element.animateTransform = function(node) { + this.base = svg.Element.animate; + this.base(node); + } + svg.Element.animateTransform.prototype = new svg.Element.animate; + + // font element + svg.Element.font = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.horizAdvX = this.attribute('horiz-adv-x').numValue(); + + this.isRTL = false; + this.isArabic = false; + this.fontFace = null; + this.missingGlyph = null; + this.glyphs = []; + for (var i=0; i0 && text[i-1]!=' ' && i0 && text[i-1]!=' ' && (i == text.length-1 || text[i+1]==' ')) arabicForm = 'initial'; + if (typeof(font.glyphs[c]) != 'undefined') { + glyph = font.glyphs[c][arabicForm]; + if (glyph == null && font.glyphs[c].type == 'glyph') glyph = font.glyphs[c]; + } + } + else { + glyph = font.glyphs[c]; + } + if (glyph == null) glyph = font.missingGlyph; + return glyph; + } + + this.renderChildren = function(ctx) { + var customFont = this.parent.style('font-family').Definition.getDefinition(); + if (customFont != null) { + var fontSize = this.parent.style('font-size').numValueOrDefault(svg.Font.Parse(svg.ctx.font).fontSize); + var fontStyle = this.parent.style('font-style').valueOrDefault(svg.Font.Parse(svg.ctx.font).fontStyle); + var text = this.getText(); + if (customFont.isRTL) text = text.split("").reverse().join(""); + + var dx = svg.ToNumberArray(this.parent.attribute('dx').value); + for (var i=0; i 0 ? node.childNodes[0].nodeValue : // element + node.text; + this.getText = function() { + return this.text; + } + } + svg.Element.tspan.prototype = new svg.Element.TextElementBase; + + // tref + svg.Element.tref = function(node) { + this.base = svg.Element.TextElementBase; + this.base(node); + + this.getText = function() { + var element = this.attribute('xlink:href').Definition.getDefinition(); + if (element != null) return element.children[0].getText(); + } + } + svg.Element.tref.prototype = new svg.Element.TextElementBase; + + // a element + svg.Element.a = function(node) { + this.base = svg.Element.TextElementBase; + this.base(node); + + this.hasText = true; + for (var i=0; i 1 ? node.childNodes[1].nodeValue : ''); + css = css.replace(/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm, ''); // remove comments + css = svg.compressSpaces(css); // replace whitespace + var cssDefs = css.split('}'); + for (var i=0; i 0) { + var urlStart = srcs[s].indexOf('url'); + var urlEnd = srcs[s].indexOf(')', urlStart); + var url = srcs[s].substr(urlStart + 5, urlEnd - urlStart - 6); + var doc = svg.parseXml(svg.ajax(url)); + var fonts = doc.getElementsByTagName('font'); + for (var f=0; f

'+ svg +'
'; - } - }*/] - - }, - printButton: { - //enabled: true, - symbol: 'printIcon', - x: -36, - symbolFill: '#B5C9DF', - hoverSymbolFill: '#779ABF', - _id: 'printButton', - _titleKey: 'printButtonTitle', - onclick: function () { - this.print(); - } - } - } -}; - - - -extend(Chart.prototype, { - /** - * Return an SVG representation of the chart - * - * @param additionalOptions {Object} Additional chart options for the generated SVG representation - */ - getSVG: function (additionalOptions) { - var chart = this, - chartCopy, - sandbox, - svg, - seriesOptions, - config, - pointOptions, - pointMarker, - options = merge(chart.options, additionalOptions); // copy the options and add extra options - - // IE compatibility hack for generating SVG content that it doesn't really understand - if (!doc.createElementNS) { - /*jslint unparam: true*//* allow unused parameter ns in function below */ - doc.createElementNS = function (ns, tagName) { - var elem = doc.createElement(tagName); - elem.getBBox = function () { - return HC.Renderer.prototype.Element.prototype.getBBox.apply({ element: elem }); - }; - return elem; - }; - /*jslint unparam: false*/ - } - - // create a sandbox where a new chart will be generated - sandbox = createElement(DIV, null, { - position: ABSOLUTE, - top: '-9999em', - width: chart.chartWidth + PX, - height: chart.chartHeight + PX - }, doc.body); - - // override some options - extend(options.chart, { - renderTo: sandbox, - forExport: true - }); - options.exporting.enabled = false; // hide buttons in print - - if (!options.exporting.enableImages) { - options.chart.plotBackgroundImage = null; // the converter doesn't handle images - } - - // prepare for replicating the chart - options.series = []; - each(chart.series, function (serie) { - seriesOptions = serie.options; - - seriesOptions.animation = false; // turn off animation - seriesOptions.showCheckbox = false; - seriesOptions.visible = serie.visible; - - if (!options.exporting.enableImages) { - // remove image markers - if (seriesOptions && seriesOptions.marker && /^url\(/.test(seriesOptions.marker.symbol)) { - seriesOptions.marker.symbol = 'circle'; - } - } - - seriesOptions.data = []; - - each(serie.data, function (point) { - - // extend the options by those values that can be expressed in a number or array config - config = point.config; - pointOptions = { - x: point.x, - y: point.y, - name: point.name - }; - - if (typeof config === 'object' && point.config && config.constructor !== Array) { - extend(pointOptions, config); - } - - pointOptions.visible = point.visible; - seriesOptions.data.push(pointOptions); // copy fresh updated data - - if (!options.exporting.enableImages) { - // remove image markers - pointMarker = point.config && point.config.marker; - if (pointMarker && /^url\(/.test(pointMarker.symbol)) { - delete pointMarker.symbol; - } - } - }); - - options.series.push(seriesOptions); - }); - - // generate the chart copy - chartCopy = new Highcharts.Chart(options); - - // reflect axis extremes in the export - each(['xAxis', 'yAxis'], function (axisType) { - each(chart[axisType], function (axis, i) { - var axisCopy = chartCopy[axisType][i], - extremes = axis.getExtremes(), - userMin = extremes.userMin, - userMax = extremes.userMax; - - if (userMin !== UNDEFINED || userMax !== UNDEFINED) { - axisCopy.setExtremes(userMin, userMax, true, false); - } - }); - }); - - // get the SVG from the container's innerHTML - svg = chartCopy.container.innerHTML; - - // free up memory - options = null; - chartCopy.destroy(); - discardElement(sandbox); - - // sanitize - svg = svg - .replace(/zIndex="[^"]+"/g, '') - .replace(/isShadow="[^"]+"/g, '') - .replace(/symbolName="[^"]+"/g, '') - .replace(/jQuery[0-9]+="[^"]+"/g, '') - .replace(/isTracker="[^"]+"/g, '') - .replace(/url\([^#]+#/g, 'url(#') - .replace(/')*/ - /* This fails in IE < 8 - .replace(/([0-9]+)\.([0-9]+)/g, function(s1, s2, s3) { // round off to save weight - return s2 +'.'+ s3[0]; - })*/ - - // Replace HTML entities, issue #347 - .replace(/ /g, '\u00A0') // no-break space - .replace(/­/g, '\u00AD') // soft hyphen - - // IE specific - .replace(/id=([^" >]+)/g, 'id="$1"') - .replace(/class=([^" ]+)/g, 'class="$1"') - .replace(/ transform /g, ' ') - .replace(/:(path|rect)/g, '$1') - .replace(/]*)>/gi, '') - .replace(/<\/image>/g, '') // remove closing tags for images as they'll never have any content - .replace(/]*)([^\/])>/gi, '') // closes image tags for firefox - .replace(/width=(\d+)/g, 'width="$1"') - .replace(/height=(\d+)/g, 'height="$1"') - .replace(/hc-svg-href="/g, 'xlink:href="') - .replace(/style="([^"]+)"/g, function (s) { - return s.toLowerCase(); - }); - - // IE9 beta bugs with innerHTML. Test again with final IE9. - svg = svg.replace(/(url\(#highcharts-[0-9]+)"/g, '$1') - .replace(/"/g, "'"); - if (svg.match(/ xmlns="/g).length === 2) { - svg = svg.replace(/xmlns="[^"]+"/, ''); - } - - return svg; - }, - - /** - * Submit the SVG representation of the chart to the server - * @param {Object} options Exporting options. Possible members are url, type and width. - * @param {Object} chartOptions Additional chart options for the SVG representation of the chart - */ - exportChart: function (options, chartOptions) { - var form, - chart = this, - svg = chart.getSVG(chartOptions); - - // merge the options - options = merge(chart.options.exporting, options); - - // create the form - form = createElement('form', { - method: 'post', - action: options.url - }, { - display: NONE - }, doc.body); - - // add the values - each(['filename', 'type', 'width', 'svg'], function (name) { - createElement('input', { - type: HIDDEN, - name: name, - value: { - filename: options.filename || 'chart', - type: options.type, - width: options.width, - svg: svg - }[name] - }, null, form); - }); - - // submit - form.submit(); - - // clean up - discardElement(form); - }, - - /** - * Print the chart - */ - print: function () { - - var chart = this, - container = chart.container, - origDisplay = [], - origParent = container.parentNode, - body = doc.body, - childNodes = body.childNodes; - - if (chart.isPrinting) { // block the button while in printing mode - return; - } - - chart.isPrinting = true; - - // hide all body content - each(childNodes, function (node, i) { - if (node.nodeType === 1) { - origDisplay[i] = node.style.display; - node.style.display = NONE; - } - }); - - // pull out the chart - body.appendChild(container); - - // print - win.print(); - - // allow the browser to prepare before reverting - setTimeout(function () { - - // put the chart back in - origParent.appendChild(container); - - // restore all body content - each(childNodes, function (node, i) { - if (node.nodeType === 1) { - node.style.display = origDisplay[i]; - } - }); - - chart.isPrinting = false; - - }, 1000); - - }, - - /** - * Display a popup menu for choosing the export type - * - * @param {String} name An identifier for the menu - * @param {Array} items A collection with text and onclicks for the items - * @param {Number} x The x position of the opener button - * @param {Number} y The y position of the opener button - * @param {Number} width The width of the opener button - * @param {Number} height The height of the opener button - */ - contextMenu: function (name, items, x, y, width, height) { - var chart = this, - navOptions = chart.options.navigation, - menuItemStyle = navOptions.menuItemStyle, - chartWidth = chart.chartWidth, - chartHeight = chart.chartHeight, - cacheName = 'cache-' + name, - menu = chart[cacheName], - menuPadding = mathMax(width, height), // for mouse leave detection - boxShadow = '3px 3px 10px #888', - innerMenu, - hide, - menuStyle; - - // create the menu only the first time - if (!menu) { - - // create a HTML element above the SVG - chart[cacheName] = menu = createElement(DIV, { - className: PREFIX + name - }, { - position: ABSOLUTE, - zIndex: 1000, - padding: menuPadding + PX - }, chart.container); - - innerMenu = createElement(DIV, null, - extend({ - MozBoxShadow: boxShadow, - WebkitBoxShadow: boxShadow, - boxShadow: boxShadow - }, navOptions.menuStyle), menu); - - // hide on mouse out - hide = function () { - css(menu, { display: NONE }); - }; - - addEvent(menu, 'mouseleave', hide); - - - // create the items - each(items, function (item) { - if (item) { - var div = createElement(DIV, { - onmouseover: function () { - css(this, navOptions.menuItemHoverStyle); - }, - onmouseout: function () { - css(this, menuItemStyle); - }, - innerHTML: item.text || chart.options.lang[item.textKey] - }, extend({ - cursor: 'pointer' - }, menuItemStyle), innerMenu); - - div[hasTouch ? 'ontouchstart' : 'onclick'] = function () { - hide(); - item.onclick.apply(chart, arguments); - }; - - // Keep references to menu divs to be able to destroy them - chart.exportDivElements.push(div); - } - }); - - // Keep references to menu and innerMenu div to be able to destroy them - chart.exportDivElements.push(innerMenu, menu); - - chart.exportMenuWidth = menu.offsetWidth; - chart.exportMenuHeight = menu.offsetHeight; - } - - menuStyle = { display: 'block' }; - - // if outside right, right align it - if (x + chart.exportMenuWidth > chartWidth) { - menuStyle.right = (chartWidth - x - width - menuPadding) + PX; - } else { - menuStyle.left = (x - menuPadding) + PX; - } - // if outside bottom, bottom align it - if (y + height + chart.exportMenuHeight > chartHeight) { - menuStyle.bottom = (chartHeight - y - menuPadding) + PX; - } else { - menuStyle.top = (y + height - menuPadding) + PX; - } - - css(menu, menuStyle); - }, - - /** - * Add the export button to the chart - */ - addButton: function (options) { - var chart = this, - renderer = chart.renderer, - btnOptions = merge(chart.options.navigation.buttonOptions, options), - onclick = btnOptions.onclick, - menuItems = btnOptions.menuItems, - /*position = chart.getAlignment(btnOptions), - buttonLeft = position.x, - buttonTop = position.y,*/ - buttonWidth = btnOptions.width, - buttonHeight = btnOptions.height, - box, - symbol, - button, - borderWidth = btnOptions.borderWidth, - boxAttr = { - stroke: btnOptions.borderColor - - }, - symbolAttr = { - stroke: btnOptions.symbolStroke, - fill: btnOptions.symbolFill - }; - - // Keeps references to the button elements - if (!chart.exportDivElements) { - chart.exportDivElements = []; - chart.exportSVGElements = []; - } - - if (btnOptions.enabled === false) { - return; - } - - // element to capture the click - function revert() { - symbol.attr(symbolAttr); - box.attr(boxAttr); - } - - // the box border - box = renderer.rect( - 0, - 0, - buttonWidth, - buttonHeight, - btnOptions.borderRadius, - borderWidth - ) - //.translate(buttonLeft, buttonTop) // to allow gradients - .align(btnOptions, true) - .attr(extend({ - fill: btnOptions.backgroundColor, - 'stroke-width': borderWidth, - zIndex: 19 - }, boxAttr)).add(); - - // the invisible element to track the clicks - button = renderer.rect( - 0, - 0, - buttonWidth, - buttonHeight, - 0 - ) - .align(btnOptions) - .attr({ - id: btnOptions._id, - fill: 'rgba(255, 255, 255, 0.001)', - title: chart.options.lang[btnOptions._titleKey], - zIndex: 21 - }).css({ - cursor: 'pointer' - }) - .on('mouseover', function () { - symbol.attr({ - stroke: btnOptions.hoverSymbolStroke, - fill: btnOptions.hoverSymbolFill - }); - box.attr({ - stroke: btnOptions.hoverBorderColor - }); - }) - .on('mouseout', revert) - .on('click', revert) - .add(); - - //addEvent(button.element, 'click', revert); - - // add the click event - if (menuItems) { - onclick = function () { - revert(); - var bBox = button.getBBox(); - chart.contextMenu('export-menu', menuItems, bBox.x, bBox.y, buttonWidth, buttonHeight); - }; - } - /*addEvent(button.element, 'click', function() { - onclick.apply(chart, arguments); - });*/ - button.on('click', function () { - onclick.apply(chart, arguments); - }); - - // the icon - symbol = renderer.symbol( - btnOptions.symbol, - btnOptions.symbolX, - btnOptions.symbolY, - (btnOptions.symbolSize || 12) / 2 - ) - .align(btnOptions, true) - .attr(extend(symbolAttr, { - 'stroke-width': btnOptions.symbolStrokeWidth || 1, - zIndex: 20 - })).add(); - - // Keep references to the renderer element so to be able to destroy them later. - chart.exportSVGElements.push(box, button, symbol); - }, - - /** - * Destroy the buttons. - */ - destroyExport: function () { - var i, - chart = this, - elem; - - // Destroy the extra buttons added - for (i = 0; i < chart.exportSVGElements.length; i++) { - elem = chart.exportSVGElements[i]; - // Destroy and null the svg/vml elements - elem.onclick = elem.ontouchstart = null; - chart.exportSVGElements[i] = elem.destroy(); - } - - // Destroy the divs for the menu - for (i = 0; i < chart.exportDivElements.length; i++) { - elem = chart.exportDivElements[i]; - - // Remove the event handler - removeEvent(elem, 'mouseleave'); - - // Remove inline events - chart.exportDivElements[i] = elem.onmouseout = elem.onmouseover = elem.ontouchstart = elem.onclick = null; - - // Destroy the div by moving to garbage bin - discardElement(elem); - } - } -}); - -// Create the export icon -HC.Renderer.prototype.symbols.exportIcon = function (x, y, radius) { - return [ - M, // the disk - x - radius, y + radius, - L, - x + radius, y + radius, - x + radius, y + radius * 0.5, - x - radius, y + radius * 0.5, - 'Z', - M, // the arrow - x, y + radius * 0.5, - L, - x - radius * 0.5, y - radius / 3, - x - radius / 6, y - radius / 3, - x - radius / 6, y - radius, - x + radius / 6, y - radius, - x + radius / 6, y - radius / 3, - x + radius * 0.5, y - radius / 3, - 'Z' - ]; -}; -// Create the print icon -HC.Renderer.prototype.symbols.printIcon = function (x, y, radius) { - return [ - M, // the printer - x - radius, y + radius * 0.5, - L, - x + radius, y + radius * 0.5, - x + radius, y - radius / 3, - x - radius, y - radius / 3, - 'Z', - M, // the upper sheet - x - radius * 0.5, y - radius / 3, - L, - x - radius * 0.5, y - radius, - x + radius * 0.5, y - radius, - x + radius * 0.5, y - radius / 3, - 'Z', - M, // the lower sheet - x - radius * 0.5, y + radius * 0.5, - L, - x - radius * 0.75, y + radius, - x + radius * 0.75, y + radius, - x + radius * 0.5, y + radius * 0.5, - 'Z' - ]; -}; - - -// Add the buttons on chart load -Chart.prototype.callbacks.push(function (chart) { - var n, - exportingOptions = chart.options.exporting, - buttons = exportingOptions.buttons; - - if (exportingOptions.enabled !== false) { - - for (n in buttons) { - chart.addButton(buttons[n]); - } - - // Destroy the export elements at chart destroy - addEvent(chart, 'destroy', chart.destroyExport); - } - -}); - - -}()); +/** + * @license Highcharts JS v2.2.3 (2012-05-07) + * Exporting module + * + * (c) 2010-2011 Torstein Hønsi + * + * License: www.highcharts.com/license + */ + +// JSLint options: +/*global Highcharts, document, window, Math, setTimeout */ + +(function () { // encapsulate + +// create shortcuts +var HC = Highcharts, + Chart = HC.Chart, + addEvent = HC.addEvent, + removeEvent = HC.removeEvent, + createElement = HC.createElement, + discardElement = HC.discardElement, + css = HC.css, + merge = HC.merge, + each = HC.each, + extend = HC.extend, + math = Math, + mathMax = math.max, + doc = document, + win = window, + hasTouch = doc.documentElement.ontouchstart !== undefined, + M = 'M', + L = 'L', + DIV = 'div', + HIDDEN = 'hidden', + NONE = 'none', + PREFIX = 'highcharts-', + ABSOLUTE = 'absolute', + PX = 'px', + UNDEFINED, + defaultOptions = HC.getOptions(); + + // Add language + extend(defaultOptions.lang, { + downloadPNG: 'Download PNG image', + downloadJPEG: 'Download JPEG image', + downloadPDF: 'Download PDF document', + downloadSVG: 'Download SVG vector image', + exportButtonTitle: 'Export to raster or vector image', + printButtonTitle: 'Print the chart' + }); + +// Buttons and menus are collected in a separate config option set called 'navigation'. +// This can be extended later to add control buttons like zoom and pan right click menus. +defaultOptions.navigation = { + menuStyle: { + border: '1px solid #A0A0A0', + background: '#FFFFFF' + }, + menuItemStyle: { + padding: '0 5px', + background: NONE, + color: '#303030', + fontSize: hasTouch ? '14px' : '11px' + }, + menuItemHoverStyle: { + background: '#4572A5', + color: '#FFFFFF' + }, + + buttonOptions: { + align: 'right', + backgroundColor: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#F7F7F7'], + [0.6, '#E3E3E3'] + ] + }, + borderColor: '#B0B0B0', + borderRadius: 3, + borderWidth: 1, + //enabled: true, + height: 20, + hoverBorderColor: '#909090', + hoverSymbolFill: '#81A7CF', + hoverSymbolStroke: '#4572A5', + symbolFill: '#E0E0E0', + //symbolSize: 12, + symbolStroke: '#A0A0A0', + //symbolStrokeWidth: 1, + symbolX: 11.5, + symbolY: 10.5, + verticalAlign: 'top', + width: 24, + y: 10 + } +}; + + + +// Add the export related options +defaultOptions.exporting = { + //enabled: true, + //filename: 'chart', + type: 'image/png', + url: 'http://export.highcharts.com/', + width: 800, + buttons: { + exportButton: { + //enabled: true, + symbol: 'exportIcon', + x: -10, + symbolFill: '#A8BF77', + hoverSymbolFill: '#768F3E', + _id: 'exportButton', + _titleKey: 'exportButtonTitle', + menuItems: [{ + textKey: 'downloadPNG', + onclick: function () { + this.exportChart(); + } + }, { + textKey: 'downloadJPEG', + onclick: function () { + this.exportChart({ + type: 'image/jpeg' + }); + } + }, { + textKey: 'downloadPDF', + onclick: function () { + this.exportChart({ + type: 'application/pdf' + }); + } + }, { + textKey: 'downloadSVG', + onclick: function () { + this.exportChart({ + type: 'image/svg+xml' + }); + } + } + // Enable this block to add "View SVG" to the dropdown menu + /* + ,{ + + text: 'View SVG', + onclick: function () { + var svg = this.getSVG() + .replace(//g, '>'); + + doc.body.innerHTML = '
' + svg + '
'; + } + } // */ + ] + + }, + printButton: { + //enabled: true, + symbol: 'printIcon', + x: -36, + symbolFill: '#B5C9DF', + hoverSymbolFill: '#779ABF', + _id: 'printButton', + _titleKey: 'printButtonTitle', + onclick: function () { + this.print(); + } + } + } +}; + + + +extend(Chart.prototype, { + /** + * Return an SVG representation of the chart + * + * @param additionalOptions {Object} Additional chart options for the generated SVG representation + */ + getSVG: function (additionalOptions) { + var chart = this, + chartCopy, + sandbox, + svg, + seriesOptions, + options = merge(chart.options, additionalOptions); // copy the options and add extra options + + // IE compatibility hack for generating SVG content that it doesn't really understand + if (!doc.createElementNS) { + /*jslint unparam: true*//* allow unused parameter ns in function below */ + doc.createElementNS = function (ns, tagName) { + var elem = doc.createElement(tagName); + elem.getBBox = function () { + return HC.Renderer.prototype.Element.prototype.getBBox.apply({ element: elem }); + }; + return elem; + }; + /*jslint unparam: false*/ + } + + // create a sandbox where a new chart will be generated + sandbox = createElement(DIV, null, { + position: ABSOLUTE, + top: '-9999em', + width: chart.chartWidth + PX, + height: chart.chartHeight + PX + }, doc.body); + + // override some options + extend(options.chart, { + renderTo: sandbox, + forExport: true + }); + options.exporting.enabled = false; // hide buttons in print + options.chart.plotBackgroundImage = null; // the converter doesn't handle images + + // prepare for replicating the chart + options.series = []; + each(chart.series, function (serie) { + seriesOptions = merge(serie.options, { + animation: false, // turn off animation + showCheckbox: false, + visible: serie.visible + }); + + if (!seriesOptions.isInternal) { // used for the navigator series that has its own option set + + // remove image markers + if (seriesOptions && seriesOptions.marker && /^url\(/.test(seriesOptions.marker.symbol)) { + seriesOptions.marker.symbol = 'circle'; + } + + options.series.push(seriesOptions); + } + }); + + // generate the chart copy + chartCopy = new Highcharts.Chart(options); + + // reflect axis extremes in the export + each(['xAxis', 'yAxis'], function (axisType) { + each(chart[axisType], function (axis, i) { + var axisCopy = chartCopy[axisType][i], + extremes = axis.getExtremes(), + userMin = extremes.userMin, + userMax = extremes.userMax; + + if (userMin !== UNDEFINED || userMax !== UNDEFINED) { + axisCopy.setExtremes(userMin, userMax, true, false); + } + }); + }); + + // get the SVG from the container's innerHTML + svg = chartCopy.container.innerHTML; + + // free up memory + options = null; + chartCopy.destroy(); + discardElement(sandbox); + + // sanitize + svg = svg + .replace(/zIndex="[^"]+"/g, '') + .replace(/isShadow="[^"]+"/g, '') + .replace(/symbolName="[^"]+"/g, '') + .replace(/jQuery[0-9]+="[^"]+"/g, '') + .replace(/isTracker="[^"]+"/g, '') + .replace(/url\([^#]+#/g, 'url(#') + .replace(/.*?$/, '') // any HTML added to the container after the SVG (#894) + /* This fails in IE < 8 + .replace(/([0-9]+)\.([0-9]+)/g, function(s1, s2, s3) { // round off to save weight + return s2 +'.'+ s3[0]; + })*/ + + // Replace HTML entities, issue #347 + .replace(/ /g, '\u00A0') // no-break space + .replace(/­/g, '\u00AD') // soft hyphen + + // IE specific + .replace(//g, 'xlink:href="$1"/>') + .replace(/id=([^" >]+)/g, 'id="$1"') + .replace(/class=([^" ]+)/g, 'class="$1"') + .replace(/ transform /g, ' ') + .replace(/:(path|rect)/g, '$1') + .replace(/style="([^"]+)"/g, function (s) { + return s.toLowerCase(); + }); + + // IE9 beta bugs with innerHTML. Test again with final IE9. + svg = svg.replace(/(url\(#highcharts-[0-9]+)"/g, '$1') + .replace(/"/g, "'"); + if (svg.match(/ xmlns="/g).length === 2) { + svg = svg.replace(/xmlns="[^"]+"/, ''); + } + + return svg; + }, + + /** + * Submit the SVG representation of the chart to the server + * @param {Object} options Exporting options. Possible members are url, type and width. + * @param {Object} chartOptions Additional chart options for the SVG representation of the chart + */ + exportChart: function (options, chartOptions) { + var form, + chart = this, + svg = chart.getSVG(merge(chart.options.exporting.chartOptions, chartOptions)); // docs + + // merge the options + options = merge(chart.options.exporting, options); + + // create the form + form = createElement('form', { + method: 'post', + action: options.url, + enctype: 'multipart/form-data' + }, { + display: NONE + }, doc.body); + + // add the values + each(['filename', 'type', 'width', 'svg'], function (name) { + createElement('input', { + type: HIDDEN, + name: name, + value: { + filename: options.filename || 'chart', + type: options.type, + width: options.width, + svg: svg + }[name] + }, null, form); + }); + + // submit + form.submit(); + + // clean up + discardElement(form); + }, + + /** + * Print the chart + */ + print: function () { + + var chart = this, + container = chart.container, + origDisplay = [], + origParent = container.parentNode, + body = doc.body, + childNodes = body.childNodes; + + if (chart.isPrinting) { // block the button while in printing mode + return; + } + + chart.isPrinting = true; + + // hide all body content + each(childNodes, function (node, i) { + if (node.nodeType === 1) { + origDisplay[i] = node.style.display; + node.style.display = NONE; + } + }); + + // pull out the chart + body.appendChild(container); + + // print + win.print(); + + // allow the browser to prepare before reverting + setTimeout(function () { + + // put the chart back in + origParent.appendChild(container); + + // restore all body content + each(childNodes, function (node, i) { + if (node.nodeType === 1) { + node.style.display = origDisplay[i]; + } + }); + + chart.isPrinting = false; + + }, 1000); + + }, + + /** + * Display a popup menu for choosing the export type + * + * @param {String} name An identifier for the menu + * @param {Array} items A collection with text and onclicks for the items + * @param {Number} x The x position of the opener button + * @param {Number} y The y position of the opener button + * @param {Number} width The width of the opener button + * @param {Number} height The height of the opener button + */ + contextMenu: function (name, items, x, y, width, height) { + var chart = this, + navOptions = chart.options.navigation, + menuItemStyle = navOptions.menuItemStyle, + chartWidth = chart.chartWidth, + chartHeight = chart.chartHeight, + cacheName = 'cache-' + name, + menu = chart[cacheName], + menuPadding = mathMax(width, height), // for mouse leave detection + boxShadow = '3px 3px 10px #888', + innerMenu, + hide, + menuStyle; + + // create the menu only the first time + if (!menu) { + + // create a HTML element above the SVG + chart[cacheName] = menu = createElement(DIV, { + className: PREFIX + name + }, { + position: ABSOLUTE, + zIndex: 1000, + padding: menuPadding + PX + }, chart.container); + + innerMenu = createElement(DIV, null, + extend({ + MozBoxShadow: boxShadow, + WebkitBoxShadow: boxShadow, + boxShadow: boxShadow + }, navOptions.menuStyle), menu); + + // hide on mouse out + hide = function () { + css(menu, { display: NONE }); + }; + + addEvent(menu, 'mouseleave', hide); + + + // create the items + each(items, function (item) { + if (item) { + var div = createElement(DIV, { + onmouseover: function () { + css(this, navOptions.menuItemHoverStyle); + }, + onmouseout: function () { + css(this, menuItemStyle); + }, + innerHTML: item.text || chart.options.lang[item.textKey] + }, extend({ + cursor: 'pointer' + }, menuItemStyle), innerMenu); + + div[hasTouch ? 'ontouchstart' : 'onclick'] = function () { + hide(); + item.onclick.apply(chart, arguments); + }; + + // Keep references to menu divs to be able to destroy them + chart.exportDivElements.push(div); + } + }); + + // Keep references to menu and innerMenu div to be able to destroy them + chart.exportDivElements.push(innerMenu, menu); + + chart.exportMenuWidth = menu.offsetWidth; + chart.exportMenuHeight = menu.offsetHeight; + } + + menuStyle = { display: 'block' }; + + // if outside right, right align it + if (x + chart.exportMenuWidth > chartWidth) { + menuStyle.right = (chartWidth - x - width - menuPadding) + PX; + } else { + menuStyle.left = (x - menuPadding) + PX; + } + // if outside bottom, bottom align it + if (y + height + chart.exportMenuHeight > chartHeight) { + menuStyle.bottom = (chartHeight - y - menuPadding) + PX; + } else { + menuStyle.top = (y + height - menuPadding) + PX; + } + + css(menu, menuStyle); + }, + + /** + * Add the export button to the chart + */ + addButton: function (options) { + var chart = this, + renderer = chart.renderer, + btnOptions = merge(chart.options.navigation.buttonOptions, options), + onclick = btnOptions.onclick, + menuItems = btnOptions.menuItems, + buttonWidth = btnOptions.width, + buttonHeight = btnOptions.height, + box, + symbol, + button, + borderWidth = btnOptions.borderWidth, + boxAttr = { + stroke: btnOptions.borderColor + + }, + symbolAttr = { + stroke: btnOptions.symbolStroke, + fill: btnOptions.symbolFill + }, + symbolSize = btnOptions.symbolSize || 12; + + // Keeps references to the button elements + if (!chart.exportDivElements) { + chart.exportDivElements = []; + chart.exportSVGElements = []; + } + + if (btnOptions.enabled === false) { + return; + } + + // element to capture the click + function revert() { + symbol.attr(symbolAttr); + box.attr(boxAttr); + } + + // the box border + box = renderer.rect( + 0, + 0, + buttonWidth, + buttonHeight, + btnOptions.borderRadius, + borderWidth + ) + //.translate(buttonLeft, buttonTop) // to allow gradients + .align(btnOptions, true) + .attr(extend({ + fill: btnOptions.backgroundColor, + 'stroke-width': borderWidth, + zIndex: 19 + }, boxAttr)).add(); + + // the invisible element to track the clicks + button = renderer.rect( + 0, + 0, + buttonWidth, + buttonHeight, + 0 + ) + .align(btnOptions) + .attr({ + id: btnOptions._id, + fill: 'rgba(255, 255, 255, 0.001)', + title: chart.options.lang[btnOptions._titleKey], + zIndex: 21 + }).css({ + cursor: 'pointer' + }) + .on('mouseover', function () { + symbol.attr({ + stroke: btnOptions.hoverSymbolStroke, + fill: btnOptions.hoverSymbolFill + }); + box.attr({ + stroke: btnOptions.hoverBorderColor + }); + }) + .on('mouseout', revert) + .on('click', revert) + .add(); + + // add the click event + if (menuItems) { + onclick = function () { + revert(); + var bBox = button.getBBox(); + chart.contextMenu('export-menu', menuItems, bBox.x, bBox.y, buttonWidth, buttonHeight); + }; + } + /*addEvent(button.element, 'click', function() { + onclick.apply(chart, arguments); + });*/ + button.on('click', function () { + onclick.apply(chart, arguments); + }); + + // the icon + symbol = renderer.symbol( + btnOptions.symbol, + btnOptions.symbolX - (symbolSize / 2), + btnOptions.symbolY - (symbolSize / 2), + symbolSize, + symbolSize + ) + .align(btnOptions, true) + .attr(extend(symbolAttr, { + 'stroke-width': btnOptions.symbolStrokeWidth || 1, + zIndex: 20 + })).add(); + + // Keep references to the renderer element so to be able to destroy them later. + chart.exportSVGElements.push(box, button, symbol); + }, + + /** + * Destroy the buttons. + */ + destroyExport: function () { + var i, + chart = this, + elem; + + // Destroy the extra buttons added + for (i = 0; i < chart.exportSVGElements.length; i++) { + elem = chart.exportSVGElements[i]; + // Destroy and null the svg/vml elements + elem.onclick = elem.ontouchstart = null; + chart.exportSVGElements[i] = elem.destroy(); + } + + // Destroy the divs for the menu + for (i = 0; i < chart.exportDivElements.length; i++) { + elem = chart.exportDivElements[i]; + + // Remove the event handler + removeEvent(elem, 'mouseleave'); + + // Remove inline events + chart.exportDivElements[i] = elem.onmouseout = elem.onmouseover = elem.ontouchstart = elem.onclick = null; + + // Destroy the div by moving to garbage bin + discardElement(elem); + } + } +}); + +/** + * Crisp for 1px stroke width, which is default. In the future, consider a smarter, + * global function. + */ +function crisp(arr) { + var i = arr.length; + while (i--) { + if (typeof arr[i] === 'number') { + arr[i] = Math.round(arr[i]) - 0.5; + } + } + return arr; +} + +// Create the export icon +HC.Renderer.prototype.symbols.exportIcon = function (x, y, width, height) { + return crisp([ + M, // the disk + x, y + width, + L, + x + width, y + height, + x + width, y + height * 0.8, + x, y + height * 0.8, + 'Z', + M, // the arrow + x + width * 0.5, y + height * 0.8, + L, + x + width * 0.8, y + height * 0.4, + x + width * 0.4, y + height * 0.4, + x + width * 0.4, y, + x + width * 0.6, y, + x + width * 0.6, y + height * 0.4, + x + width * 0.2, y + height * 0.4, + 'Z' + ]); +}; +// Create the print icon +HC.Renderer.prototype.symbols.printIcon = function (x, y, width, height) { + return crisp([ + M, // the printer + x, y + height * 0.7, + L, + x + width, y + height * 0.7, + x + width, y + height * 0.4, + x, y + height * 0.4, + 'Z', + M, // the upper sheet + x + width * 0.2, y + height * 0.4, + L, + x + width * 0.2, y, + x + width * 0.8, y, + x + width * 0.8, y + height * 0.4, + 'Z', + M, // the lower sheet + x + width * 0.2, y + height * 0.7, + L, + x, y + height, + x + width, y + height, + x + width * 0.8, y + height * 0.7, + 'Z' + ]); +}; + + +// Add the buttons on chart load +Chart.prototype.callbacks.push(function (chart) { + var n, + exportingOptions = chart.options.exporting, + buttons = exportingOptions.buttons; + + if (exportingOptions.enabled !== false) { + + for (n in buttons) { + chart.addButton(buttons[n]); + } + + // Destroy the export elements at chart destroy + addEvent(chart, 'destroy', chart.destroyExport); + } + +}); + + +}()); diff --git a/java/com.sap.sailing.gwt.ui/highcharts/js/themes/dark-blue.js b/java/com.sap.sailing.gwt.ui/highcharts/js/themes/dark-blue.js index 188f3d97a03..98f95febc13 100644 --- a/java/com.sap.sailing.gwt.ui/highcharts/js/themes/dark-blue.js +++ b/java/com.sap.sailing.gwt.ui/highcharts/js/themes/dark-blue.js @@ -1,263 +1,263 @@ -/** - * Dark blue theme for Highcharts JS - * @author Torstein Hønsi - */ - -Highcharts.theme = { - colors: ["#DDDF0D", "#55BF3B", "#DF5353", "#7798BF", "#aaeeee", "#ff0066", "#eeaaee", - "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"], - chart: { - backgroundColor: { - linearGradient: [0, 0, 250, 500], - stops: [ - [0, 'rgb(48, 48, 96)'], - [1, 'rgb(0, 0, 0)'] - ] - }, - borderColor: '#000000', - borderWidth: 2, - className: 'dark-container', - plotBackgroundColor: 'rgba(255, 255, 255, .1)', - plotBorderColor: '#CCCCCC', - plotBorderWidth: 1 - }, - title: { - style: { - color: '#C0C0C0', - font: 'bold 16px "Trebuchet MS", Verdana, sans-serif' - } - }, - subtitle: { - style: { - color: '#666666', - font: 'bold 12px "Trebuchet MS", Verdana, sans-serif' - } - }, - xAxis: { - gridLineColor: '#333333', - gridLineWidth: 1, - labels: { - style: { - color: '#A0A0A0' - } - }, - lineColor: '#A0A0A0', - tickColor: '#A0A0A0', - title: { - style: { - color: '#CCC', - fontWeight: 'bold', - fontSize: '12px', - fontFamily: 'Trebuchet MS, Verdana, sans-serif' - - } - } - }, - yAxis: { - gridLineColor: '#333333', - labels: { - style: { - color: '#A0A0A0' - } - }, - lineColor: '#A0A0A0', - minorTickInterval: null, - tickColor: '#A0A0A0', - tickWidth: 1, - title: { - style: { - color: '#CCC', - fontWeight: 'bold', - fontSize: '12px', - fontFamily: 'Trebuchet MS, Verdana, sans-serif' - } - } - }, - tooltip: { - backgroundColor: 'rgba(0, 0, 0, 0.75)', - style: { - color: '#F0F0F0' - } - }, - toolbar: { - itemStyle: { - color: 'silver' - } - }, - plotOptions: { - line: { - dataLabels: { - color: '#CCC' - }, - marker: { - lineColor: '#333' - } - }, - spline: { - marker: { - lineColor: '#333' - } - }, - scatter: { - marker: { - lineColor: '#333' - } - }, - candlestick: { - lineColor: 'white' - } - }, - legend: { - itemStyle: { - font: '9pt Trebuchet MS, Verdana, sans-serif', - color: '#A0A0A0' - }, - itemHoverStyle: { - color: '#FFF' - }, - itemHiddenStyle: { - color: '#444' - } - }, - credits: { - style: { - color: '#666' - } - }, - labels: { - style: { - color: '#CCC' - } - }, - - navigation: { - buttonOptions: { - backgroundColor: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#606060'], - [0.6, '#333333'] - ] - }, - borderColor: '#000000', - symbolStroke: '#C0C0C0', - hoverSymbolStroke: '#FFFFFF' - } - }, - - exporting: { - buttons: { - exportButton: { - symbolFill: '#55BE3B' - }, - printButton: { - symbolFill: '#7797BE' - } - } - }, - - // scroll charts - rangeSelector: { - buttonTheme: { - fill: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#888'], - [0.6, '#555'] - ] - }, - stroke: '#000000', - style: { - color: '#CCC', - fontWeight: 'bold' - }, - states: { - hover: { - fill: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#BBB'], - [0.6, '#888'] - ] - }, - stroke: '#000000', - style: { - color: 'white' - } - }, - select: { - fill: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.1, '#000'], - [0.3, '#333'] - ] - }, - stroke: '#000000', - style: { - color: 'yellow' - } - } - } - }, - inputStyle: { - backgroundColor: '#333', - color: 'silver' - }, - labelStyle: { - color: 'silver' - } - }, - - navigator: { - handles: { - backgroundColor: '#666', - borderColor: '#AAA' - }, - outlineColor: '#CCC', - maskFill: 'rgba(16, 16, 16, 0.5)', - series: { - color: '#7798BF', - lineColor: '#A6C7ED' - } - }, - - scrollbar: { - barBackgroundColor: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#888'], - [0.6, '#555'] - ] - }, - barBorderColor: '#CCC', - buttonArrowColor: '#CCC', - buttonBackgroundColor: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#888'], - [0.6, '#555'] - ] - }, - buttonBorderColor: '#CCC', - rifleColor: '#FFF', - trackBackgroundColor: { - linearGradient: [0, 0, 0, 10], - stops: [ - [0, '#000'], - [1, '#333'] - ] - }, - trackBorderColor: '#666' - }, - - // special colors for some of the - legendBackgroundColor: 'rgba(0, 0, 0, 0.5)', - legendBackgroundColorSolid: 'rgb(35, 35, 70)', - dataLabelsColor: '#444', - textColor: '#C0C0C0', - maskColor: 'rgba(255,255,255,0.3)' -}; - -// Apply the theme -var highchartsOptions = Highcharts.setOptions(Highcharts.theme); \ No newline at end of file +/** + * Dark blue theme for Highcharts JS + * @author Torstein Hønsi + */ + +Highcharts.theme = { + colors: ["#DDDF0D", "#55BF3B", "#DF5353", "#7798BF", "#aaeeee", "#ff0066", "#eeaaee", + "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"], + chart: { + backgroundColor: { + linearGradient: [0, 0, 250, 500], + stops: [ + [0, 'rgb(48, 48, 96)'], + [1, 'rgb(0, 0, 0)'] + ] + }, + borderColor: '#000000', + borderWidth: 2, + className: 'dark-container', + plotBackgroundColor: 'rgba(255, 255, 255, .1)', + plotBorderColor: '#CCCCCC', + plotBorderWidth: 1 + }, + title: { + style: { + color: '#C0C0C0', + font: 'bold 16px "Trebuchet MS", Verdana, sans-serif' + } + }, + subtitle: { + style: { + color: '#666666', + font: 'bold 12px "Trebuchet MS", Verdana, sans-serif' + } + }, + xAxis: { + gridLineColor: '#333333', + gridLineWidth: 1, + labels: { + style: { + color: '#A0A0A0' + } + }, + lineColor: '#A0A0A0', + tickColor: '#A0A0A0', + title: { + style: { + color: '#CCC', + fontWeight: 'bold', + fontSize: '12px', + fontFamily: 'Trebuchet MS, Verdana, sans-serif' + + } + } + }, + yAxis: { + gridLineColor: '#333333', + labels: { + style: { + color: '#A0A0A0' + } + }, + lineColor: '#A0A0A0', + minorTickInterval: null, + tickColor: '#A0A0A0', + tickWidth: 1, + title: { + style: { + color: '#CCC', + fontWeight: 'bold', + fontSize: '12px', + fontFamily: 'Trebuchet MS, Verdana, sans-serif' + } + } + }, + tooltip: { + backgroundColor: 'rgba(0, 0, 0, 0.75)', + style: { + color: '#F0F0F0' + } + }, + toolbar: { + itemStyle: { + color: 'silver' + } + }, + plotOptions: { + line: { + dataLabels: { + color: '#CCC' + }, + marker: { + lineColor: '#333' + } + }, + spline: { + marker: { + lineColor: '#333' + } + }, + scatter: { + marker: { + lineColor: '#333' + } + }, + candlestick: { + lineColor: 'white' + } + }, + legend: { + itemStyle: { + font: '9pt Trebuchet MS, Verdana, sans-serif', + color: '#A0A0A0' + }, + itemHoverStyle: { + color: '#FFF' + }, + itemHiddenStyle: { + color: '#444' + } + }, + credits: { + style: { + color: '#666' + } + }, + labels: { + style: { + color: '#CCC' + } + }, + + navigation: { + buttonOptions: { + backgroundColor: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#606060'], + [0.6, '#333333'] + ] + }, + borderColor: '#000000', + symbolStroke: '#C0C0C0', + hoverSymbolStroke: '#FFFFFF' + } + }, + + exporting: { + buttons: { + exportButton: { + symbolFill: '#55BE3B' + }, + printButton: { + symbolFill: '#7797BE' + } + } + }, + + // scroll charts + rangeSelector: { + buttonTheme: { + fill: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + stroke: '#000000', + style: { + color: '#CCC', + fontWeight: 'bold' + }, + states: { + hover: { + fill: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#BBB'], + [0.6, '#888'] + ] + }, + stroke: '#000000', + style: { + color: 'white' + } + }, + select: { + fill: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.1, '#000'], + [0.3, '#333'] + ] + }, + stroke: '#000000', + style: { + color: 'yellow' + } + } + } + }, + inputStyle: { + backgroundColor: '#333', + color: 'silver' + }, + labelStyle: { + color: 'silver' + } + }, + + navigator: { + handles: { + backgroundColor: '#666', + borderColor: '#AAA' + }, + outlineColor: '#CCC', + maskFill: 'rgba(16, 16, 16, 0.5)', + series: { + color: '#7798BF', + lineColor: '#A6C7ED' + } + }, + + scrollbar: { + barBackgroundColor: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + barBorderColor: '#CCC', + buttonArrowColor: '#CCC', + buttonBackgroundColor: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + buttonBorderColor: '#CCC', + rifleColor: '#FFF', + trackBackgroundColor: { + linearGradient: [0, 0, 0, 10], + stops: [ + [0, '#000'], + [1, '#333'] + ] + }, + trackBorderColor: '#666' + }, + + // special colors for some of the + legendBackgroundColor: 'rgba(0, 0, 0, 0.5)', + legendBackgroundColorSolid: 'rgb(35, 35, 70)', + dataLabelsColor: '#444', + textColor: '#C0C0C0', + maskColor: 'rgba(255,255,255,0.3)' +}; + +// Apply the theme +var highchartsOptions = Highcharts.setOptions(Highcharts.theme); diff --git a/java/com.sap.sailing.gwt.ui/highcharts/js/themes/dark-green.js b/java/com.sap.sailing.gwt.ui/highcharts/js/themes/dark-green.js index af67f4bd48c..f4f96c57ef5 100644 --- a/java/com.sap.sailing.gwt.ui/highcharts/js/themes/dark-green.js +++ b/java/com.sap.sailing.gwt.ui/highcharts/js/themes/dark-green.js @@ -1,263 +1,263 @@ -/** - * Dark blue theme for Highcharts JS - * @author Torstein Hønsi - */ - -Highcharts.theme = { - colors: ["#DDDF0D", "#55BF3B", "#DF5353", "#7798BF", "#aaeeee", "#ff0066", "#eeaaee", - "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"], - chart: { - backgroundColor: { - linearGradient: [0, 0, 250, 500], - stops: [ - [0, 'rgb(48, 96, 48)'], - [1, 'rgb(0, 0, 0)'] - ] - }, - borderColor: '#000000', - borderWidth: 2, - className: 'dark-container', - plotBackgroundColor: 'rgba(255, 255, 255, .1)', - plotBorderColor: '#CCCCCC', - plotBorderWidth: 1 - }, - title: { - style: { - color: '#C0C0C0', - font: 'bold 16px "Trebuchet MS", Verdana, sans-serif' - } - }, - subtitle: { - style: { - color: '#666666', - font: 'bold 12px "Trebuchet MS", Verdana, sans-serif' - } - }, - xAxis: { - gridLineColor: '#333333', - gridLineWidth: 1, - labels: { - style: { - color: '#A0A0A0' - } - }, - lineColor: '#A0A0A0', - tickColor: '#A0A0A0', - title: { - style: { - color: '#CCC', - fontWeight: 'bold', - fontSize: '12px', - fontFamily: 'Trebuchet MS, Verdana, sans-serif' - - } - } - }, - yAxis: { - gridLineColor: '#333333', - labels: { - style: { - color: '#A0A0A0' - } - }, - lineColor: '#A0A0A0', - minorTickInterval: null, - tickColor: '#A0A0A0', - tickWidth: 1, - title: { - style: { - color: '#CCC', - fontWeight: 'bold', - fontSize: '12px', - fontFamily: 'Trebuchet MS, Verdana, sans-serif' - } - } - }, - tooltip: { - backgroundColor: 'rgba(0, 0, 0, 0.75)', - style: { - color: '#F0F0F0' - } - }, - toolbar: { - itemStyle: { - color: 'silver' - } - }, - plotOptions: { - line: { - dataLabels: { - color: '#CCC' - }, - marker: { - lineColor: '#333' - } - }, - spline: { - marker: { - lineColor: '#333' - } - }, - scatter: { - marker: { - lineColor: '#333' - } - }, - candlestick: { - lineColor: 'white' - } - }, - legend: { - itemStyle: { - font: '9pt Trebuchet MS, Verdana, sans-serif', - color: '#A0A0A0' - }, - itemHoverStyle: { - color: '#FFF' - }, - itemHiddenStyle: { - color: '#444' - } - }, - credits: { - style: { - color: '#666' - } - }, - labels: { - style: { - color: '#CCC' - } - }, - - navigation: { - buttonOptions: { - backgroundColor: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#606060'], - [0.6, '#333333'] - ] - }, - borderColor: '#000000', - symbolStroke: '#C0C0C0', - hoverSymbolStroke: '#FFFFFF' - } - }, - - exporting: { - buttons: { - exportButton: { - symbolFill: '#55BE3B' - }, - printButton: { - symbolFill: '#7797BE' - } - } - }, - - // scroll charts - rangeSelector: { - buttonTheme: { - fill: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#888'], - [0.6, '#555'] - ] - }, - stroke: '#000000', - style: { - color: '#CCC', - fontWeight: 'bold' - }, - states: { - hover: { - fill: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#BBB'], - [0.6, '#888'] - ] - }, - stroke: '#000000', - style: { - color: 'white' - } - }, - select: { - fill: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.1, '#000'], - [0.3, '#333'] - ] - }, - stroke: '#000000', - style: { - color: 'yellow' - } - } - } - }, - inputStyle: { - backgroundColor: '#333', - color: 'silver' - }, - labelStyle: { - color: 'silver' - } - }, - - navigator: { - handles: { - backgroundColor: '#666', - borderColor: '#AAA' - }, - outlineColor: '#CCC', - maskFill: 'rgba(16, 16, 16, 0.5)', - series: { - color: '#7798BF', - lineColor: '#A6C7ED' - } - }, - - scrollbar: { - barBackgroundColor: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#888'], - [0.6, '#555'] - ] - }, - barBorderColor: '#CCC', - buttonArrowColor: '#CCC', - buttonBackgroundColor: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#888'], - [0.6, '#555'] - ] - }, - buttonBorderColor: '#CCC', - rifleColor: '#FFF', - trackBackgroundColor: { - linearGradient: [0, 0, 0, 10], - stops: [ - [0, '#000'], - [1, '#333'] - ] - }, - trackBorderColor: '#666' - }, - - // special colors for some of the - legendBackgroundColor: 'rgba(0, 0, 0, 0.5)', - legendBackgroundColorSolid: 'rgb(35, 35, 70)', - dataLabelsColor: '#444', - textColor: '#C0C0C0', - maskColor: 'rgba(255,255,255,0.3)' -}; - -// Apply the theme -var highchartsOptions = Highcharts.setOptions(Highcharts.theme); \ No newline at end of file +/** + * Dark blue theme for Highcharts JS + * @author Torstein Hønsi + */ + +Highcharts.theme = { + colors: ["#DDDF0D", "#55BF3B", "#DF5353", "#7798BF", "#aaeeee", "#ff0066", "#eeaaee", + "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"], + chart: { + backgroundColor: { + linearGradient: [0, 0, 250, 500], + stops: [ + [0, 'rgb(48, 96, 48)'], + [1, 'rgb(0, 0, 0)'] + ] + }, + borderColor: '#000000', + borderWidth: 2, + className: 'dark-container', + plotBackgroundColor: 'rgba(255, 255, 255, .1)', + plotBorderColor: '#CCCCCC', + plotBorderWidth: 1 + }, + title: { + style: { + color: '#C0C0C0', + font: 'bold 16px "Trebuchet MS", Verdana, sans-serif' + } + }, + subtitle: { + style: { + color: '#666666', + font: 'bold 12px "Trebuchet MS", Verdana, sans-serif' + } + }, + xAxis: { + gridLineColor: '#333333', + gridLineWidth: 1, + labels: { + style: { + color: '#A0A0A0' + } + }, + lineColor: '#A0A0A0', + tickColor: '#A0A0A0', + title: { + style: { + color: '#CCC', + fontWeight: 'bold', + fontSize: '12px', + fontFamily: 'Trebuchet MS, Verdana, sans-serif' + + } + } + }, + yAxis: { + gridLineColor: '#333333', + labels: { + style: { + color: '#A0A0A0' + } + }, + lineColor: '#A0A0A0', + minorTickInterval: null, + tickColor: '#A0A0A0', + tickWidth: 1, + title: { + style: { + color: '#CCC', + fontWeight: 'bold', + fontSize: '12px', + fontFamily: 'Trebuchet MS, Verdana, sans-serif' + } + } + }, + tooltip: { + backgroundColor: 'rgba(0, 0, 0, 0.75)', + style: { + color: '#F0F0F0' + } + }, + toolbar: { + itemStyle: { + color: 'silver' + } + }, + plotOptions: { + line: { + dataLabels: { + color: '#CCC' + }, + marker: { + lineColor: '#333' + } + }, + spline: { + marker: { + lineColor: '#333' + } + }, + scatter: { + marker: { + lineColor: '#333' + } + }, + candlestick: { + lineColor: 'white' + } + }, + legend: { + itemStyle: { + font: '9pt Trebuchet MS, Verdana, sans-serif', + color: '#A0A0A0' + }, + itemHoverStyle: { + color: '#FFF' + }, + itemHiddenStyle: { + color: '#444' + } + }, + credits: { + style: { + color: '#666' + } + }, + labels: { + style: { + color: '#CCC' + } + }, + + navigation: { + buttonOptions: { + backgroundColor: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#606060'], + [0.6, '#333333'] + ] + }, + borderColor: '#000000', + symbolStroke: '#C0C0C0', + hoverSymbolStroke: '#FFFFFF' + } + }, + + exporting: { + buttons: { + exportButton: { + symbolFill: '#55BE3B' + }, + printButton: { + symbolFill: '#7797BE' + } + } + }, + + // scroll charts + rangeSelector: { + buttonTheme: { + fill: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + stroke: '#000000', + style: { + color: '#CCC', + fontWeight: 'bold' + }, + states: { + hover: { + fill: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#BBB'], + [0.6, '#888'] + ] + }, + stroke: '#000000', + style: { + color: 'white' + } + }, + select: { + fill: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.1, '#000'], + [0.3, '#333'] + ] + }, + stroke: '#000000', + style: { + color: 'yellow' + } + } + } + }, + inputStyle: { + backgroundColor: '#333', + color: 'silver' + }, + labelStyle: { + color: 'silver' + } + }, + + navigator: { + handles: { + backgroundColor: '#666', + borderColor: '#AAA' + }, + outlineColor: '#CCC', + maskFill: 'rgba(16, 16, 16, 0.5)', + series: { + color: '#7798BF', + lineColor: '#A6C7ED' + } + }, + + scrollbar: { + barBackgroundColor: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + barBorderColor: '#CCC', + buttonArrowColor: '#CCC', + buttonBackgroundColor: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + buttonBorderColor: '#CCC', + rifleColor: '#FFF', + trackBackgroundColor: { + linearGradient: [0, 0, 0, 10], + stops: [ + [0, '#000'], + [1, '#333'] + ] + }, + trackBorderColor: '#666' + }, + + // special colors for some of the + legendBackgroundColor: 'rgba(0, 0, 0, 0.5)', + legendBackgroundColorSolid: 'rgb(35, 35, 70)', + dataLabelsColor: '#444', + textColor: '#C0C0C0', + maskColor: 'rgba(255,255,255,0.3)' +}; + +// Apply the theme +var highchartsOptions = Highcharts.setOptions(Highcharts.theme); diff --git a/java/com.sap.sailing.gwt.ui/highcharts/js/themes/gray.js b/java/com.sap.sailing.gwt.ui/highcharts/js/themes/gray.js index 339829877c6..0ae79270966 100644 --- a/java/com.sap.sailing.gwt.ui/highcharts/js/themes/gray.js +++ b/java/com.sap.sailing.gwt.ui/highcharts/js/themes/gray.js @@ -1,262 +1,262 @@ -/** - * Gray theme for Highcharts JS - * @author Torstein Hønsi - */ - -Highcharts.theme = { - colors: ["#DDDF0D", "#7798BF", "#55BF3B", "#DF5353", "#aaeeee", "#ff0066", "#eeaaee", - "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"], - chart: { - backgroundColor: { - linearGradient: [0, 0, 0, 400], - stops: [ - [0, 'rgb(96, 96, 96)'], - [1, 'rgb(16, 16, 16)'] - ] - }, - borderWidth: 0, - borderRadius: 15, - plotBackgroundColor: null, - plotShadow: false, - plotBorderWidth: 0 - }, - title: { - style: { - color: '#FFF', - font: '16px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' - } - }, - subtitle: { - style: { - color: '#DDD', - font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' - } - }, - xAxis: { - gridLineWidth: 0, - lineColor: '#999', - tickColor: '#999', - labels: { - style: { - color: '#999', - fontWeight: 'bold' - } - }, - title: { - style: { - color: '#AAA', - font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' - } - } - }, - yAxis: { - alternateGridColor: null, - minorTickInterval: null, - gridLineColor: 'rgba(255, 255, 255, .1)', - lineWidth: 0, - tickWidth: 0, - labels: { - style: { - color: '#999', - fontWeight: 'bold' - } - }, - title: { - style: { - color: '#AAA', - font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' - } - } - }, - legend: { - itemStyle: { - color: '#CCC' - }, - itemHoverStyle: { - color: '#FFF' - }, - itemHiddenStyle: { - color: '#333' - } - }, - labels: { - style: { - color: '#CCC' - } - }, - tooltip: { - backgroundColor: { - linearGradient: [0, 0, 0, 50], - stops: [ - [0, 'rgba(96, 96, 96, .8)'], - [1, 'rgba(16, 16, 16, .8)'] - ] - }, - borderWidth: 0, - style: { - color: '#FFF' - } - }, - - - plotOptions: { - line: { - dataLabels: { - color: '#CCC' - }, - marker: { - lineColor: '#333' - } - }, - spline: { - marker: { - lineColor: '#333' - } - }, - scatter: { - marker: { - lineColor: '#333' - } - }, - candlestick: { - lineColor: 'white' - } - }, - - toolbar: { - itemStyle: { - color: '#CCC' - } - }, - - navigation: { - buttonOptions: { - backgroundColor: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#606060'], - [0.6, '#333333'] - ] - }, - borderColor: '#000000', - symbolStroke: '#C0C0C0', - hoverSymbolStroke: '#FFFFFF' - } - }, - - exporting: { - buttons: { - exportButton: { - symbolFill: '#55BE3B' - }, - printButton: { - symbolFill: '#7797BE' - } - } - }, - - // scroll charts - rangeSelector: { - buttonTheme: { - fill: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#888'], - [0.6, '#555'] - ] - }, - stroke: '#000000', - style: { - color: '#CCC', - fontWeight: 'bold' - }, - states: { - hover: { - fill: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#BBB'], - [0.6, '#888'] - ] - }, - stroke: '#000000', - style: { - color: 'white' - } - }, - select: { - fill: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.1, '#000'], - [0.3, '#333'] - ] - }, - stroke: '#000000', - style: { - color: 'yellow' - } - } - } - }, - inputStyle: { - backgroundColor: '#333', - color: 'silver' - }, - labelStyle: { - color: 'silver' - } - }, - - navigator: { - handles: { - backgroundColor: '#666', - borderColor: '#AAA' - }, - outlineColor: '#CCC', - maskFill: 'rgba(16, 16, 16, 0.5)', - series: { - color: '#7798BF', - lineColor: '#A6C7ED' - } - }, - - scrollbar: { - barBackgroundColor: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#888'], - [0.6, '#555'] - ] - }, - barBorderColor: '#CCC', - buttonArrowColor: '#CCC', - buttonBackgroundColor: { - linearGradient: [0, 0, 0, 20], - stops: [ - [0.4, '#888'], - [0.6, '#555'] - ] - }, - buttonBorderColor: '#CCC', - rifleColor: '#FFF', - trackBackgroundColor: { - linearGradient: [0, 0, 0, 10], - stops: [ - [0, '#000'], - [1, '#333'] - ] - }, - trackBorderColor: '#666' - }, - - // special colors for some of the demo examples - legendBackgroundColor: 'rgba(48, 48, 48, 0.8)', - legendBackgroundColorSolid: 'rgb(70, 70, 70)', - dataLabelsColor: '#444', - textColor: '#E0E0E0', - maskColor: 'rgba(255,255,255,0.3)' -}; - -// Apply the theme -var highchartsOptions = Highcharts.setOptions(Highcharts.theme); +/** + * Gray theme for Highcharts JS + * @author Torstein Hønsi + */ + +Highcharts.theme = { + colors: ["#DDDF0D", "#7798BF", "#55BF3B", "#DF5353", "#aaeeee", "#ff0066", "#eeaaee", + "#55BF3B", "#DF5353", "#7798BF", "#aaeeee"], + chart: { + backgroundColor: { + linearGradient: [0, 0, 0, 400], + stops: [ + [0, 'rgb(96, 96, 96)'], + [1, 'rgb(16, 16, 16)'] + ] + }, + borderWidth: 0, + borderRadius: 15, + plotBackgroundColor: null, + plotShadow: false, + plotBorderWidth: 0 + }, + title: { + style: { + color: '#FFF', + font: '16px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + }, + subtitle: { + style: { + color: '#DDD', + font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + }, + xAxis: { + gridLineWidth: 0, + lineColor: '#999', + tickColor: '#999', + labels: { + style: { + color: '#999', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#AAA', + font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + yAxis: { + alternateGridColor: null, + minorTickInterval: null, + gridLineColor: 'rgba(255, 255, 255, .1)', + lineWidth: 0, + tickWidth: 0, + labels: { + style: { + color: '#999', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#AAA', + font: 'bold 12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + legend: { + itemStyle: { + color: '#CCC' + }, + itemHoverStyle: { + color: '#FFF' + }, + itemHiddenStyle: { + color: '#333' + } + }, + labels: { + style: { + color: '#CCC' + } + }, + tooltip: { + backgroundColor: { + linearGradient: [0, 0, 0, 50], + stops: [ + [0, 'rgba(96, 96, 96, .8)'], + [1, 'rgba(16, 16, 16, .8)'] + ] + }, + borderWidth: 0, + style: { + color: '#FFF' + } + }, + + + plotOptions: { + line: { + dataLabels: { + color: '#CCC' + }, + marker: { + lineColor: '#333' + } + }, + spline: { + marker: { + lineColor: '#333' + } + }, + scatter: { + marker: { + lineColor: '#333' + } + }, + candlestick: { + lineColor: 'white' + } + }, + + toolbar: { + itemStyle: { + color: '#CCC' + } + }, + + navigation: { + buttonOptions: { + backgroundColor: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#606060'], + [0.6, '#333333'] + ] + }, + borderColor: '#000000', + symbolStroke: '#C0C0C0', + hoverSymbolStroke: '#FFFFFF' + } + }, + + exporting: { + buttons: { + exportButton: { + symbolFill: '#55BE3B' + }, + printButton: { + symbolFill: '#7797BE' + } + } + }, + + // scroll charts + rangeSelector: { + buttonTheme: { + fill: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + stroke: '#000000', + style: { + color: '#CCC', + fontWeight: 'bold' + }, + states: { + hover: { + fill: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#BBB'], + [0.6, '#888'] + ] + }, + stroke: '#000000', + style: { + color: 'white' + } + }, + select: { + fill: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.1, '#000'], + [0.3, '#333'] + ] + }, + stroke: '#000000', + style: { + color: 'yellow' + } + } + } + }, + inputStyle: { + backgroundColor: '#333', + color: 'silver' + }, + labelStyle: { + color: 'silver' + } + }, + + navigator: { + handles: { + backgroundColor: '#666', + borderColor: '#AAA' + }, + outlineColor: '#CCC', + maskFill: 'rgba(16, 16, 16, 0.5)', + series: { + color: '#7798BF', + lineColor: '#A6C7ED' + } + }, + + scrollbar: { + barBackgroundColor: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + barBorderColor: '#CCC', + buttonArrowColor: '#CCC', + buttonBackgroundColor: { + linearGradient: [0, 0, 0, 20], + stops: [ + [0.4, '#888'], + [0.6, '#555'] + ] + }, + buttonBorderColor: '#CCC', + rifleColor: '#FFF', + trackBackgroundColor: { + linearGradient: [0, 0, 0, 10], + stops: [ + [0, '#000'], + [1, '#333'] + ] + }, + trackBorderColor: '#666' + }, + + // special colors for some of the demo examples + legendBackgroundColor: 'rgba(48, 48, 48, 0.8)', + legendBackgroundColorSolid: 'rgb(70, 70, 70)', + dataLabelsColor: '#444', + textColor: '#E0E0E0', + maskColor: 'rgba(255,255,255,0.3)' +}; + +// Apply the theme +var highchartsOptions = Highcharts.setOptions(Highcharts.theme); diff --git a/java/com.sap.sailing.gwt.ui/highcharts/js/themes/grid.js b/java/com.sap.sailing.gwt.ui/highcharts/js/themes/grid.js index 4dbe28b05c4..362c9e9543c 100644 --- a/java/com.sap.sailing.gwt.ui/highcharts/js/themes/grid.js +++ b/java/com.sap.sailing.gwt.ui/highcharts/js/themes/grid.js @@ -1,96 +1,95 @@ -/** - * Grid theme for Highcharts JS - * @author Torstein Hønsi - */ - -Highcharts.theme = { - colors: ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'], - chart: { - backgroundColor: { - linearGradient: [0, 0, 500, 500], - stops: [ - [0, 'rgb(255, 255, 255)'], - [1, 'rgb(240, 240, 255)'] - ] - }, - borderWidth: 2, - plotBackgroundColor: 'rgba(255, 255, 255, .9)', - plotShadow: true, - plotBorderWidth: 1 - }, - title: { - style: { - color: '#000', - font: 'bold 16px "Trebuchet MS", Verdana, sans-serif' - } - }, - subtitle: { - style: { - color: '#666666', - font: 'bold 12px "Trebuchet MS", Verdana, sans-serif' - } - }, - xAxis: { - gridLineWidth: 1, - lineColor: '#000', - tickColor: '#000', - labels: { - style: { - color: '#000', - font: '11px Trebuchet MS, Verdana, sans-serif' - } - }, - title: { - style: { - color: '#333', - fontWeight: 'bold', - fontSize: '12px', - fontFamily: 'Trebuchet MS, Verdana, sans-serif' - - } - } - }, - yAxis: { - minorTickInterval: 'auto', - lineColor: '#000', - lineWidth: 1, - tickWidth: 1, - tickColor: '#000', - labels: { - style: { - color: '#000', - font: '11px Trebuchet MS, Verdana, sans-serif' - } - }, - title: { - style: { - color: '#333', - fontWeight: 'bold', - fontSize: '12px', - fontFamily: 'Trebuchet MS, Verdana, sans-serif' - } - } - }, - legend: { - itemStyle: { - font: '9pt Trebuchet MS, Verdana, sans-serif', - color: 'black' - - }, - itemHoverStyle: { - color: '#039' - }, - itemHiddenStyle: { - color: 'gray' - } - }, - labels: { - style: { - color: '#99b' - } - } -}; - -// Apply the theme -var highchartsOptions = Highcharts.setOptions(Highcharts.theme); - +/** + * Grid theme for Highcharts JS + * @author Torstein Hønsi + */ + +Highcharts.theme = { + colors: ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'], + chart: { + backgroundColor: { + linearGradient: [0, 0, 500, 500], + stops: [ + [0, 'rgb(255, 255, 255)'], + [1, 'rgb(240, 240, 255)'] + ] + }, + borderWidth: 2, + plotBackgroundColor: 'rgba(255, 255, 255, .9)', + plotShadow: true, + plotBorderWidth: 1 + }, + title: { + style: { + color: '#000', + font: 'bold 16px "Trebuchet MS", Verdana, sans-serif' + } + }, + subtitle: { + style: { + color: '#666666', + font: 'bold 12px "Trebuchet MS", Verdana, sans-serif' + } + }, + xAxis: { + gridLineWidth: 1, + lineColor: '#000', + tickColor: '#000', + labels: { + style: { + color: '#000', + font: '11px Trebuchet MS, Verdana, sans-serif' + } + }, + title: { + style: { + color: '#333', + fontWeight: 'bold', + fontSize: '12px', + fontFamily: 'Trebuchet MS, Verdana, sans-serif' + + } + } + }, + yAxis: { + minorTickInterval: 'auto', + lineColor: '#000', + lineWidth: 1, + tickWidth: 1, + tickColor: '#000', + labels: { + style: { + color: '#000', + font: '11px Trebuchet MS, Verdana, sans-serif' + } + }, + title: { + style: { + color: '#333', + fontWeight: 'bold', + fontSize: '12px', + fontFamily: 'Trebuchet MS, Verdana, sans-serif' + } + } + }, + legend: { + itemStyle: { + font: '9pt Trebuchet MS, Verdana, sans-serif', + color: 'black' + + }, + itemHoverStyle: { + color: '#039' + }, + itemHiddenStyle: { + color: 'gray' + } + }, + labels: { + style: { + color: '#99b' + } + } +}; + +// Apply the theme +var highchartsOptions = Highcharts.setOptions(Highcharts.theme); diff --git a/java/com.sap.sailing.gwt.ui/highcharts/js/themes/skies.js b/java/com.sap.sailing.gwt.ui/highcharts/js/themes/skies.js new file mode 100644 index 00000000000..9ade1fe35f0 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/highcharts/js/themes/skies.js @@ -0,0 +1,89 @@ +/** + * Skies theme for Highcharts JS + * @author Torstein Hønsi + */ + +Highcharts.theme = { + colors: ["#514F78", "#42A07B", "#9B5E4A", "#72727F", "#1F949A", "#82914E", "#86777F", "#42A07B"], + chart: { + className: 'skies', + borderWidth: 0, + plotShadow: true, + plotBackgroundImage: '/demo/gfx/skies.jpg', + plotBackgroundColor: { + linearGradient: [0, 0, 250, 500], + stops: [ + [0, 'rgba(255, 255, 255, 1)'], + [1, 'rgba(255, 255, 255, 0)'] + ] + }, + plotBorderWidth: 1 + }, + title: { + style: { + color: '#3E576F', + font: '16px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + }, + subtitle: { + style: { + color: '#6D869F', + font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + }, + xAxis: { + gridLineWidth: 0, + lineColor: '#C0D0E0', + tickColor: '#C0D0E0', + labels: { + style: { + color: '#666', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#666', + font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + yAxis: { + alternateGridColor: 'rgba(255, 255, 255, .5)', + lineColor: '#C0D0E0', + tickColor: '#C0D0E0', + tickWidth: 1, + labels: { + style: { + color: '#666', + fontWeight: 'bold' + } + }, + title: { + style: { + color: '#666', + font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' + } + } + }, + legend: { + itemStyle: { + font: '9pt Trebuchet MS, Verdana, sans-serif', + color: '#3E576F' + }, + itemHoverStyle: { + color: 'black' + }, + itemHiddenStyle: { + color: 'silver' + } + }, + labels: { + style: { + color: '#3E576F' + } + } +}; + +// Apply the theme +var highchartsOptions = Highcharts.setOptions(Highcharts.theme); From d0d3ca841f74d9dc59670be8941c5a6fe265fb7b Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 18 May 2012 17:43:26 +0200 Subject: [PATCH 025/339] Change styles for the TimePanelControls to correct wrong indentation --- java/com.sap.sailing.gwt.ui/CommonControls.css | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/CommonControls.css b/java/com.sap.sailing.gwt.ui/CommonControls.css index 4ea93cf0d25..cb02ce36c01 100644 --- a/java/com.sap.sailing.gwt.ui/CommonControls.css +++ b/java/com.sap.sailing.gwt.ui/CommonControls.css @@ -234,7 +234,8 @@ } .timePanel-controls { - margin: 15px 0 8px 0; + margin: 6px 0 6px 0; + padding: 13px 0 0 0; } .timePanel-controls-play { @@ -246,7 +247,7 @@ vertical-align: middle; line-height: 25px; float:left; - padding: 3px 0 0 0; + padding: 0 0 0 0; } .timePanel-label { @@ -255,12 +256,12 @@ .timePanel-controls-time { float:left; - padding: 5px 0 0 0; + padding: 0 0 0 0; } .timePanel-controls-time .dateLabel, .timePanel-controls-time .timeLabel { - padding: 0 20px 0 0; + padding: 4px 20px 0 0; } .timePanel-controls-timeDelay { @@ -269,11 +270,11 @@ .timePanel-controls-playmode{ float:left; - padding: 5px 0 0 0; + padding: 0 0 0 0; } .timePanel-controls-playmode .playModeLabel{ - padding: 0 20px 0 0; + padding: 4px 20px 0 5px; } .timePanelSettings{ From 0a4ec4643d346086b0696482210304d212c59b1c Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Mon, 21 May 2012 10:56:28 +0200 Subject: [PATCH 026/339] let Event extend Named --- .../src/com/sap/sailing/domain/base/Event.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java index 3b39da4c3d7..cd5132db432 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java @@ -1,5 +1,7 @@ package com.sap.sailing.domain.base; +import com.sap.sailing.domain.common.Named; + /** * An event is a group of {@link Regatta regattas} carried out at a common venue within a common time frame. For * example, Kiel Week is an event, and the International German Championship held, e.g., in Travemünde, is an event, @@ -8,6 +10,6 @@ package com.sap.sailing.domain.base; * @author Axel Uhl (D043530) * */ -public interface Event { +public interface Event extends Named { Iterable getRegattas(); } From a4caf7423d4d6b1e30e353a64f06ae6f7679197f Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Mon, 21 May 2012 13:26:28 +0200 Subject: [PATCH 027/339] renamed a few more getTrackedEvent to getTrackedRegatta; fixed failing replication test in ConnectTrackedRaceToLeaderboardColumn operation --- .../impl/SwissTimingRaceTrackerImpl.java | 2 +- .../domain/test/FetchTracksAndStoreLocallyTest.java | 2 +- .../sailing/domain/test/OnlineTracTracBasedTest.java | 4 ++-- .../sailing/domain/test/mock/MockedTrackedRace.java | 2 +- .../impl/AbstractReceiverWithQueue.java | 2 +- .../tractracadapter/impl/RaceCourseReceiver.java | 6 +++--- .../domain/tractracadapter/impl/RaceHandleImpl.java | 2 +- .../sailing/domain/tracking/DynamicTrackedRace.java | 2 +- .../com/sap/sailing/domain/tracking/RacesHandle.java | 2 +- .../com/sap/sailing/domain/tracking/TrackedRace.java | 2 +- .../domain/tracking/impl/DynamicTrackedRaceImpl.java | 4 ++-- .../sailing/domain/tracking/impl/TrackedRaceImpl.java | 4 ++-- .../sap/sailing/gwt/ui/server/SailingServiceImpl.java | 6 +++--- .../com/sap/sailing/server/test/RaceTrackerTest.java | 10 +++++----- .../ConnectTrackedRaceToLeaderboardColumn.java | 2 ++ 15 files changed, 27 insertions(+), 25 deletions(-) diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java index a3b7a0d7f1e..3cdb63da5c8 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java @@ -118,7 +118,7 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl implemen } @Override - public DynamicTrackedRegatta getTrackedEvent() { + public DynamicTrackedRegatta getTrackedRegatta() { return SwissTimingRaceTrackerImpl.this.getTrackedRegatta(); } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/FetchTracksAndStoreLocallyTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/FetchTracksAndStoreLocallyTest.java index 39e67a6f0d8..20352794864 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/FetchTracksAndStoreLocallyTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/FetchTracksAndStoreLocallyTest.java @@ -60,7 +60,7 @@ public class FetchTracksAndStoreLocallyTest extends OnlineTracTracBasedTest { track.addGPSFix((GPSFixMoving) fix); } }; - DynamicTrackedRegatta trackedRegatta = getTrackedEvent(); + DynamicTrackedRegatta trackedRegatta = getTrackedRegatta(); trackedRegatta.addRaceListener(new RaceListener() { @Override public void raceAdded(TrackedRace trackedRace) { diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java index 465fd084e73..17d05f0f5b7 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java @@ -114,7 +114,7 @@ public abstract class OnlineTracTracBasedTest extends AbstractTracTracLiveTest { for (Receiver receiver : receivers) { receiver.join(); } - trackedRace = getTrackedEvent().getTrackedRace(race); + trackedRace = getTrackedRegatta().getTrackedRace(race); } @@ -205,7 +205,7 @@ public abstract class OnlineTracTracBasedTest extends AbstractTracTracLiveTest { return domainEvent; } - protected DynamicTrackedRegatta getTrackedEvent() { + protected DynamicTrackedRegatta getTrackedRegatta() { return trackedRegatta; } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java index 837e225994b..3de95253806 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java @@ -273,7 +273,7 @@ public class MockedTrackedRace implements DynamicTrackedRace { } @Override - public DynamicTrackedRegatta getTrackedEvent() { + public DynamicTrackedRegatta getTrackedRegatta() { return new DynamicTrackedRegatta() { private static final long serialVersionUID = 2651590861333064588L; diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java index 1bbc41e2251..ad4b3b2d878 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java @@ -59,7 +59,7 @@ public abstract class AbstractReceiverWithQueue implements Runnable, Re return tractracEvent; } - protected DynamicTrackedRegatta getTrackedEvent() { + protected DynamicTrackedRegatta getTrackedRegatta() { return trackedRegatta; } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceCourseReceiver.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceCourseReceiver.java index b31dde25d5e..e6b4e746291 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceCourseReceiver.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceCourseReceiver.java @@ -81,7 +81,7 @@ public class RaceCourseReceiver extends AbstractReceiverWithQueueraceIsKnownToStartUpwind
is true, this tracked race is allowed to use diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RacesHandle.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RacesHandle.java index 82edab27f47..50ff432189a 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RacesHandle.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RacesHandle.java @@ -33,7 +33,7 @@ public interface RacesHandle { */ Set getRaces(long timeoutInMilliseconds); - DynamicTrackedRegatta getTrackedEvent(); + DynamicTrackedRegatta getTrackedRegatta(); /** * The tracker managing the tracking of the race to which this is a handle. diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java index 2b482025d40..23006c4c708 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java @@ -301,7 +301,7 @@ public interface TrackedRace extends Serializable { */ Tack getTack(Competitor competitor, TimePoint timePoint); - TrackedRegatta getTrackedEvent(); + TrackedRegatta getTrackedRegatta(); /** * Computes a default wind direction based on the direction of the first leg at time at, with a default diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceImpl.java index 1cd28a550f9..be3ab07f301 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceImpl.java @@ -492,8 +492,8 @@ public class DynamicTrackedRaceImpl extends TrackedRaceImpl implements } @Override - public DynamicTrackedRegatta getTrackedEvent() { - return (DynamicTrackedRegatta) super.getTrackedEvent(); + public DynamicTrackedRegatta getTrackedRegatta() { + return (DynamicTrackedRegatta) super.getTrackedRegatta(); } @Override diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java index 3b8d1e9b44d..293f4c0cfef 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java @@ -270,7 +270,7 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener { abstract protected TrackedLeg createTrackedLeg(Leg leg); public RegattaAndRaceIdentifier getRaceIdentifier() { - return new RegattaNameAndRaceName(getTrackedEvent().getRegatta().getName(), getRace().getName()); + return new RegattaNameAndRaceName(getTrackedRegatta().getRegatta().getName(), getRace().getName()); } @Override @@ -1117,7 +1117,7 @@ public abstract class TrackedRaceImpl implements TrackedRace, CourseListener { } @Override - public TrackedRegatta getTrackedEvent() { + public TrackedRegatta getTrackedRegatta() { return trackedRegatta; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 9e4cd45a4a2..4c31d24e36d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -258,7 +258,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS RegattaAndRaceIdentifier raceIdentifier = null; if (raceColumn.getTrackedRace() != null) { TrackedRace trackedRace = raceColumn.getTrackedRace(); - raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta().getName(), trackedRace.getRace().getName()); + raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedRegatta().getRegatta().getName(), trackedRace.getRace().getName()); } result.addRace(raceColumn.getName(), raceColumn.isMedalRace(), raceIdentifier, null); } @@ -1209,7 +1209,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS StrippedRaceDTO race = null; if (raceColumn.getTrackedRace() != null) { TrackedRace trackedRace = raceColumn.getTrackedRace(); - raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta().getName(), trackedRace.getRace().getName()); + raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedRegatta().getRegatta().getName(), trackedRace.getRace().getName()); if (withAdditionalData) { //Getting the places of the race @@ -1348,7 +1348,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS if (raceColumn != null) { TrackedRace trackedRace = raceColumn.getTrackedRace(); if (trackedRace != null) { - result = new Pair(trackedRace.getTrackedEvent().getRegatta().getName(), + result = new Pair(trackedRace.getTrackedRegatta().getRegatta().getName(), trackedRace.getRace().getName()); } } diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerTest.java index df819fb2fd0..180656f0362 100755 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerTest.java @@ -91,17 +91,17 @@ public class RaceTrackerTest { Set races = raceHandle.getRaces(); assertNotNull(races); assertFalse(races.isEmpty()); - assertNotNull(getTrackedRace(raceHandle.getTrackedEvent())); + assertNotNull(getTrackedRace(raceHandle.getTrackedRegatta())); } @Test public void testStopTracking() throws Exception { - TrackedRegatta oldTrackedEvent = raceHandle.getTrackedEvent(); + TrackedRegatta oldTrackedEvent = raceHandle.getTrackedRegatta(); TrackedRace oldTrackedRace = getTrackedRace(oldTrackedEvent); RaceDefinition oldRaceDefinition = oldTrackedRace.getRace(); service.removeEvent(raceHandle.getRegatta()); RacesHandle myRaceHandle = service.addTracTracRace(paramUrl, liveUri, storedUri, EmptyWindStore.INSTANCE, /* timeoutInMilliseconds */ 60000); - TrackedRegatta newTrackedEvent = myRaceHandle.getTrackedEvent(); + TrackedRegatta newTrackedEvent = myRaceHandle.getTrackedRegatta(); assertNotSame(oldTrackedEvent, newTrackedEvent); TrackedRace newTrackedRace = getTrackedRace(newTrackedEvent); // expecting a new tracked race to be created when starting over with tracking @@ -120,10 +120,10 @@ public class RaceTrackerTest { */ @Test public void testTrackingSameRaceWithoutStopping() throws Exception { - TrackedRegatta oldTrackedRegatta = raceHandle.getTrackedEvent(); + TrackedRegatta oldTrackedRegatta = raceHandle.getTrackedRegatta(); TrackedRace oldTrackedRace = getTrackedRace(oldTrackedRegatta); RacesHandle myRaceHandle = service.addTracTracRace(paramUrl, liveUri, storedUri, EmptyWindStore.INSTANCE, /* timeoutInMilliseconds */ 60000); - TrackedRegatta newTrackedEvent = myRaceHandle.getTrackedEvent(); + TrackedRegatta newTrackedEvent = myRaceHandle.getTrackedRegatta(); TrackedRace newTrackedRace = getTrackedRace(newTrackedEvent); // expecting a new tracked race to be created when starting over with tracking try { diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java index 5045e341d39..5872d7a9a55 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java @@ -38,6 +38,8 @@ public class ConnectTrackedRaceToLeaderboardColumn extends AbstractLeaderboardCo TrackedRace trackedRace = toState.getExistingTrackedRace(raceToConnect); if (trackedRace != null) { raceColumn.setTrackedRace(trackedRace); + } else { + raceColumn.setRaceIdentifier(raceToConnect); } } success = true; From 0594f1c2ec9e0439bd6ced74acc25e7aebb9988e Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Mon, 21 May 2012 13:32:07 +0200 Subject: [PATCH 028/339] made compilable after merge --- .../java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java | 1 - .../com/sap/sailing/gwt/ui/server/SailingServiceImpl.java | 4 ++-- .../ConnectTrackedRaceToLeaderboardColumn.java | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java index 9aeb218cb13..a2b4a26bc8c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java @@ -42,7 +42,6 @@ import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettingsFactory; import com.sap.sailing.gwt.ui.shared.RaceDTO; import com.sap.sailing.gwt.ui.shared.RegattaDTO; import com.sap.sailing.gwt.ui.shared.UserDTO; -import com.sap.sailing.gwt.ui.shared.charts.AbstractChartPanel; import com.sap.sailing.gwt.ui.shared.charts.MultiChartPanel; import com.sap.sailing.gwt.ui.shared.charts.WindChart; import com.sap.sailing.gwt.ui.shared.charts.WindChartSettings; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index b6b2fd8362e..c137017301d 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -261,7 +261,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS RegattaAndRaceIdentifier raceIdentifier = null; TrackedRace trackedRace = raceColumn.getTrackedRace(fleet); if (trackedRace != null) { - raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta() + raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedRegatta().getRegatta() .getName(), trackedRace.getRace().getName()); } result.addRace(raceColumn.getName(), fleet.getName(), raceColumn.isMedalRace(), @@ -1220,7 +1220,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS for (Fleet fleet : raceColumn.getFleets()) { if (raceColumn.getTrackedRace(fleet) != null) { TrackedRace trackedRace = raceColumn.getTrackedRace(fleet); - raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedEvent().getRegatta().getName(), trackedRace.getRace().getName()); + raceIdentifier = new RegattaNameAndRaceName(trackedRace.getTrackedRegatta().getRegatta().getName(), trackedRace.getRace().getName()); if (withAdditionalData) { // Getting the places of the race PlacemarkOrderDTO racePlaces = getRacePlaces(trackedRace); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java index 69c18c00bec..247c959bfb0 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java @@ -41,7 +41,7 @@ public class ConnectTrackedRaceToLeaderboardColumn extends AbstractLeaderboardCo if (trackedRace != null) { raceColumn.setTrackedRace(raceColumn.getFleetByName(fleetName), trackedRace); } else { - raceColumn.setRaceIdentifier(raceToConnect); + raceColumn.setRaceIdentifier(raceColumn.getFleetByName(fleetName), raceToConnect); } } success = true; From 9c6fcc0830abc73d8a88845a9fce28172ab8e262 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Mon, 21 May 2012 16:12:48 +0200 Subject: [PATCH 029/339] added the necessary creation of a default fleet for legacy RaceColumns in leaderboard loading from Mongo; added error message and robust handling in case a second RaceColumn by the same name is to be added to a leaderboard; this may happen under rare and erroneous circumstances, probably during replication issues, but shall not kill the replica. Also, fixed de-selection of tracked race after refactoring with fleets --- .../impl/DomainObjectFactoryImpl.java | 3 +++ ...aderboardImplWithDelayedCarriedPoints.java | 8 +++----- .../leaderboard/FlexibleLeaderboard.java | 4 ++++ .../impl/FlexibleLeaderboardImpl.java | 19 ++++++++++++++++--- .../adminconsole/LeaderboardConfigPanel.java | 2 ++ ...ingServer (No Proxy, Jetty on 8889).launch | 2 +- ...ailingServer (Proxy, Jetty on 8889).launch | 2 +- 7 files changed, 30 insertions(+), 10 deletions(-) diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index 5e2098c4bbf..ec535bfbc09 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -187,6 +187,9 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { } fleets.add(fleet); } + if (fleets.isEmpty()) { + fleets.add(result.getFleet(null)); + } RaceColumn raceColumn = result.addRaceColumn((String) dbRaceColumn.get(FieldNames.LEADERBOARD_COLUMN_NAME.name()), (Boolean) dbRaceColumn.get(FieldNames.LEADERBOARD_IS_MEDAL_RACE_COLUMN.name()), fleets.toArray(new Fleet[0])); for (Map.Entry e : raceIdentifiers.entrySet()) { diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FlexibleLeaderboardImplWithDelayedCarriedPoints.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FlexibleLeaderboardImplWithDelayedCarriedPoints.java index 7258ee771cb..68d978451af 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FlexibleLeaderboardImplWithDelayedCarriedPoints.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FlexibleLeaderboardImplWithDelayedCarriedPoints.java @@ -1,7 +1,5 @@ package com.sap.sailing.domain.persistence.impl; -import java.util.Arrays; -import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -48,8 +46,8 @@ public class FlexibleLeaderboardImplWithDelayedCarriedPoints extends FlexibleLea private class RaceColumnForDelayedCarriedPoints extends RaceColumnImpl { private static final long serialVersionUID = -1243132535406059096L; - public RaceColumnForDelayedCarriedPoints(Leaderboard leaderboard, String name, boolean medalRace, Fleet... fleets) { - super(name, medalRace, fleets==null ? Collections.singletonList(defaultFleet) : Arrays.asList(fleets)); + public RaceColumnForDelayedCarriedPoints(Leaderboard leaderboard, String name, boolean medalRace, Iterable fleets) { + super(name, medalRace, fleets); } @Override @@ -80,7 +78,7 @@ public class FlexibleLeaderboardImplWithDelayedCarriedPoints extends FlexibleLea @Override protected RaceColumnImpl createRaceColumn(String columnName, boolean medalRace, Fleet... fleets) { - return new RaceColumnForDelayedCarriedPoints(this, columnName, medalRace, fleets); + return new RaceColumnForDelayedCarriedPoints(this, columnName, medalRace, turnNullOrEmptyFleetsIntoDefaultFleet(fleets)); } public void setCarriedPoints(String competitorName, int carriedPoints) { diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java index 457ad9341cc..682aaeac493 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java @@ -28,6 +28,10 @@ public interface FlexibleLeaderboard extends Leaderboard { /** * Adds a new {@link RaceColumn} that has no {@link TrackedRace} associated yet to this leaderboard. * + * @param name + * the name for the new race column such that none of the columns in {@link #getRaceColumns()} + * has that name yet; otherwise, an message will be logged, no race column will be added and + * the existing column will be returned for robustness reasons * @param medalRace * tells if the column to add represents a medal race which has double score and cannot be discarded * @param fleets diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java index ff4d062ed37..a18acba695f 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.logging.Logger; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.impl.FleetImpl; @@ -21,6 +22,8 @@ import com.sap.sailing.domain.tracking.TrackedRace; * */ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements FlexibleLeaderboard { + private static Logger logger = Logger.getLogger(FlexibleLeaderboardImpl.class.getName()); + protected static final Fleet defaultFleet = new FleetImpl("Default"); private static final long serialVersionUID = -5708971849158747846L; private final List races; @@ -33,8 +36,14 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements @Override public RaceColumn addRaceColumn(String name, boolean medalRace, Fleet... fleets) { - RaceColumnImpl column = createRaceColumn(name, medalRace, fleets); - races.add(column); + RaceColumn column = getRaceColumnByName(name); + if (column != null) { + final String msg = "Trying to create race column with duplicate name "+name+" in leaderboard +"+getName(); + logger.severe(msg); + } else { + column = createRaceColumn(name, medalRace, fleets); + races.add(column); + } return column; } @@ -71,13 +80,17 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements } protected RaceColumnImpl createRaceColumn(String columnName, boolean medalRace, Fleet... fleets) { + return new RaceColumnImpl(columnName, medalRace, turnNullOrEmptyFleetsIntoDefaultFleet(fleets)); + } + + protected Iterable turnNullOrEmptyFleetsIntoDefaultFleet(Fleet... fleets) { Iterable theFleets; if (fleets == null || fleets.length == 0) { theFleets = Collections.singleton(defaultFleet); } else { theFleets = Arrays.asList(fleets); } - return new RaceColumnImpl(columnName, medalRace, theFleets); + return theFleets; } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index 97b71e55aae..6a05d90790d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -591,6 +591,8 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye RegattaAndRaceIdentifier raceIdentifier = regattaAndRaceNamesPerFleet.get(selectedFleetName); if (raceIdentifier != null) { selectRaceInList(raceIdentifier.getRegattaName(), raceIdentifier.getRaceName()); + } else { + trackedRacesListComposite.clearSelection(); } } else { trackedRacesListComposite.clearSelection(); diff --git a/java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889).launch b/java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889).launch index 0f5a31ec8aa..9b304d40aa5 100755 --- a/java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889).launch +++ b/java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889).launch @@ -25,6 +25,6 @@ - + diff --git a/java/com.sap.sailing.server/SailingServer (Proxy, Jetty on 8889).launch b/java/com.sap.sailing.server/SailingServer (Proxy, Jetty on 8889).launch index 593079b0350..5fc2f3ba855 100755 --- a/java/com.sap.sailing.server/SailingServer (Proxy, Jetty on 8889).launch +++ b/java/com.sap.sailing.server/SailingServer (Proxy, Jetty on 8889).launch @@ -25,6 +25,6 @@ - + From af7e3bae9ed4169083948316644afbc98617b495 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Mon, 21 May 2012 16:36:09 +0200 Subject: [PATCH 030/339] avoid NPE with null boatClass --- .../gwt/ui/adminconsole/TrackedRacesListComposite.java | 4 +++- .../main/java/com/sap/sailing/gwt/ui/shared/RegattaDTO.java | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java index eb29c81b339..b9a04433c43 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java @@ -53,6 +53,7 @@ import com.sap.sailing.gwt.ui.client.RegattaRefresher; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.client.URLFactory; +import com.sap.sailing.gwt.ui.shared.BoatClassDTO; import com.sap.sailing.gwt.ui.shared.RaceDTO; import com.sap.sailing.gwt.ui.shared.RegattaDTO; @@ -183,7 +184,8 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl TextColumn deprecatedRegattaNameColumn = new TextColumn() { @Override public String getValue(RaceDTO raceDTO) { - return raceDTO.getRegatta().boatClass.name; + final BoatClassDTO boatClass = raceDTO.getRegatta().boatClass; + return boatClass == null ? "" : boatClass.name; } }; deprecatedRegattaNameColumn.setSortable(true); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RegattaDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RegattaDTO.java index cb283db8020..1c5182cf249 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RegattaDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RegattaDTO.java @@ -6,6 +6,9 @@ import java.util.List; import com.google.gwt.user.client.rpc.IsSerializable; public class RegattaDTO extends NamedDTO implements IsSerializable { + /** + * May be null in case the boat class is not known + */ public BoatClassDTO boatClass; public List races; public List competitors; From fe061a04cd4173c3a968ea70a9b4a55d012b0a17 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Mon, 21 May 2012 16:58:49 +0200 Subject: [PATCH 031/339] fixed leaderboard MongoDB test which was using the wrong fleet for a lookup in the loaded results --- .../persistence/impl/CollectionNames.java | 25 ++++++++++++- .../com/sap/sailing/domain/base/Event.java | 6 +++- .../sailing/domain/base/impl/EventImpl.java | 36 +++++++++++++++++++ ...StoringAndRetrievingLeaderboardGroups.java | 10 ++++-- 4 files changed, 72 insertions(+), 5 deletions(-) create mode 100755 java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/EventImpl.java diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java index b50b15632f2..7966ba4e7e8 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java @@ -1,5 +1,28 @@ package com.sap.sailing.domain.persistence.impl; +/** + * Defines literals providing the names for MongoDB collections. The literal documentation described the semantics + * of the collection identified by that literal. + * + * @author Axel Uhl (D043530) + * + */ public enum CollectionNames { - WIND_TRACKS, LEADERBOARDS, LEADERBOARD_GROUPS; + /** + * Stores the wind fixes recorded from persistent wind sources. + */ + WIND_TRACKS, + + /** + * The collection identified by this + */ + LEADERBOARDS, + + LEADERBOARD_GROUPS, + + EVENTS, + + REGATTAS, + + BOAT_CLASSES; } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java index cd5132db432..2cad0943b42 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java @@ -4,7 +4,7 @@ import com.sap.sailing.domain.common.Named; /** * An event is a group of {@link Regatta regattas} carried out at a common venue within a common time frame. For - * example, Kiel Week is an event, and the International German Championship held, e.g., in Travemünde, is an event, + * example, Kiel Week 2011 is an event, and the International German Championship 2011 held, e.g., in Travemünde, is an event, * too. * * @author Axel Uhl (D043530) @@ -12,4 +12,8 @@ import com.sap.sailing.domain.common.Named; */ public interface Event extends Named { Iterable getRegattas(); + + void addRegatta(Regatta regatta); + + void removeRegatta(Regatta regatta); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/EventImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/EventImpl.java new file mode 100755 index 00000000000..256d3353ccc --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/EventImpl.java @@ -0,0 +1,36 @@ +package com.sap.sailing.domain.base.impl; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import com.sap.sailing.domain.base.Event; +import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.common.impl.NamedImpl; + +public class EventImpl extends NamedImpl implements Event { + private static final long serialVersionUID = 855135446595485715L; + + private final Set regattas; + + public EventImpl(String name) { + super(name); + this.regattas = new HashSet(); + } + + @Override + public Iterable getRegattas() { + return Collections.unmodifiableSet(regattas); + } + + @Override + public void addRegatta(Regatta regatta) { + regattas.add(regatta); + } + + @Override + public void removeRegatta(Regatta regatta) { + regattas.remove(regatta); + } + +} diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java index c7649f5715f..fde982bfe4a 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java @@ -158,11 +158,15 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe //Check if the leaderboard updated correctly final Leaderboard loadedLeaderboard = domainObjectFactory.loadLeaderboard(leaderboard.getName()); - Assert.assertEquals(race.getRaceIdentifier(fleet), loadedLeaderboard.getRaceColumnByName(columnName).getRaceIdentifier(fleet)); + final RaceColumn loadedRaceColumnByName = loadedLeaderboard.getRaceColumnByName(columnName); + Fleet loadedFleet = loadedRaceColumnByName.getFleetByName(fleet.getName()); + Assert.assertEquals(race.getRaceIdentifier(fleet), loadedRaceColumnByName.getRaceIdentifier(loadedFleet)); - //Check if the group received the changes + // Check if the group received the changes loadedGroup = domainObjectFactory.loadLeaderboardGroup(groupName); - RaceIdentifier loadedIdentifier = loadedGroup.getLeaderboards().iterator().next().getRaceColumnByName(columnName).getRaceIdentifier(fleet); + final RaceColumn loadedRaceColumnFromGroupByName = loadedGroup.getLeaderboards().iterator().next().getRaceColumnByName(columnName); + Fleet loadedGroupFleet = loadedRaceColumnFromGroupByName.getFleetByName(fleet.getName()); + RaceIdentifier loadedIdentifier = loadedRaceColumnFromGroupByName.getRaceIdentifier(loadedGroupFleet); Assert.assertEquals(race.getRaceIdentifier(fleet), loadedIdentifier); } From bd1780ee257f85cc754a1b3dd3a7c8238a348c11 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Mon, 21 May 2012 18:15:23 +0200 Subject: [PATCH 032/339] started work on Event/Regatta persistence --- .../persistence/DomainObjectFactory.java | 6 ++- .../persistence/MongoObjectFactory.java | 13 +++++ .../persistence/impl/CollectionNames.java | 17 +++++- .../impl/DomainObjectFactoryImpl.java | 54 +++++++++++++++++++ .../domain/persistence/impl/FieldNames.java | 6 +++ .../impl/MongoObjectFactoryImpl.java | 36 ++++++++++++- .../com/sap/sailing/domain/base/Event.java | 5 ++ .../com/sap/sailing/domain/base/Venue.java | 4 ++ .../domain/base/impl/CourseAreaImpl.java | 12 +++++ .../sailing/domain/base/impl/EventImpl.java | 19 ++++++- .../sailing/domain/base/impl/VenueImpl.java | 40 ++++++++++++++ 11 files changed, 207 insertions(+), 5 deletions(-) create mode 100755 java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/CourseAreaImpl.java create mode 100755 java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/VenueImpl.java diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java index df904487758..b40e2010d2d 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java @@ -3,8 +3,9 @@ package com.sap.sailing.domain.persistence; import java.util.Map; import com.mongodb.DBObject; -import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.Event; import com.sap.sailing.domain.base.RaceDefinition; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.WindSource; import com.sap.sailing.domain.leaderboard.Leaderboard; @@ -44,4 +45,7 @@ public interface DomainObjectFactory { Map loadWindTracks(Regatta regatta, RaceDefinition race, long millisecondsOverWhichToAverageWind); + Event loadEvent(String name); + + Regatta loadRegatta(String name); } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java index 0acd2d7b5de..aa0a4ff62ec 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java @@ -1,6 +1,7 @@ package com.sap.sailing.domain.persistence; import com.mongodb.DBObject; +import com.sap.sailing.domain.base.Event; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.common.WindSource; @@ -52,4 +53,16 @@ public interface MongoObjectFactory { */ void renameLeaderboardGroup(String oldName, String newName); + /** + * Stores the event with its name, venue and the venue's course areas. The regattas obtained by + * {@link Event#getRegattas()} are not stored by this call. They need to be stored separately + * by calls to {@link #storeRegatta} where a reference to their owning event is stored. + */ + void storeEvent(Event event); + + /** + * Stores the regatta together with its name, {@link Series} definitions and an optional link to the + * {@link Event} to which the regatta belongs. + */ + void storeRegatta(Regatta regatta); } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java index 7966ba4e7e8..5149c0d4f26 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java @@ -14,15 +14,30 @@ public enum CollectionNames { WIND_TRACKS, /** - * The collection identified by this + * Stores the leaderboards with their names, score corrections, competitor display name overrides, race + * columns and their fleets as well as the per-fleet tracked race assignments. */ LEADERBOARDS, + /** + * Stores the leaderboard group configurations with references to the {@link #LEADERBOARDS} collection + */ LEADERBOARD_GROUPS, + /** + * Top-level event information about events such as Kiel Week 2011, or IDM Travemünde 2011, including name and + * course areas. + */ EVENTS, + /** + * Stores regatta definitions including their series layout and fleets and race columns. Regattas can reference + * the event from the {@link #EVENTS} collection to which they belong. + */ REGATTAS, + /** + * Stores boat class-specific master data such as the class's hull length, logo, name, number of sailors, etc. + */ BOAT_CLASSES; } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index ec535bfbc09..451c34373f7 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -16,13 +16,19 @@ import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBObject; +import com.sap.sailing.domain.base.CourseArea; +import com.sap.sailing.domain.base.Event; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.SpeedWithBearing; +import com.sap.sailing.domain.base.Venue; +import com.sap.sailing.domain.base.impl.CourseAreaImpl; +import com.sap.sailing.domain.base.impl.EventImpl; import com.sap.sailing.domain.base.impl.FleetImpl; import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl; import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; +import com.sap.sailing.domain.base.impl.VenueImpl; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.Position; import com.sap.sailing.domain.common.RaceIdentifier; @@ -363,4 +369,52 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { return result; } + @Override + public Event loadEvent(String name) { + Event result; + BasicDBObject query = new BasicDBObject(); + query.put(FieldNames.EVENT_NAME.name(), name); + DBCollection eventCollection = database.getCollection(CollectionNames.EVENTS.name()); + DBObject eventDBObject = eventCollection.findOne(query); + if (eventDBObject != null) { + result = loadEvent(eventDBObject); + } else { + result = null; + } + return result; + } + + /** + * An event doesn't store its regattas; it's the regatta that stores a reference to its event; the regatta + * needs to add itself to the event when loaded or instantiated. + */ + private Event loadEvent(DBObject eventDBObject) { + String name = (String) eventDBObject.get(FieldNames.EVENT_NAME.name()); + Venue venue = loadVenue((DBObject) eventDBObject.get(FieldNames.VENUE.name())); + Event result = new EventImpl(name, venue); + return result; + } + + private Venue loadVenue(DBObject dbObject) { + String name = (String) dbObject.get(FieldNames.VENUE_NAME.name()); + BasicDBList dbCourseAreas = (BasicDBList) dbObject.get(FieldNames.COURSE_AREAS.name()); + Venue result = new VenueImpl(name); + for (Object courseAreaDBObject : dbCourseAreas) { + CourseArea courseArea = loadCourseArea((DBObject) courseAreaDBObject); + result.addCourseArea(courseArea); + } + return result; + } + + private CourseArea loadCourseArea(DBObject courseAreaDBObject) { + String name = (String) courseAreaDBObject.get(FieldNames.COURSE_AREA_NAME.name()); + return new CourseAreaImpl(name); + } + + @Override + public Regatta loadRegatta(String name) { + // TODO Auto-generated method stub + return null; + } + } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java index 98867b5903a..b0b7db17fc0 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java @@ -13,6 +13,12 @@ public enum FieldNames { RACE_NAME, + VENUE, + VENUE_NAME, + + COURSE_AREAS, + COURSE_AREA_NAME, + // wind: WIND_SOURCE_NAME, WIND_SOURCE_ID, WIND, diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java index 8d3f4fb69c4..38569be396d 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java @@ -10,11 +10,14 @@ import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBObject; import com.sap.sailing.domain.base.Competitor; +import com.sap.sailing.domain.base.CourseArea; +import com.sap.sailing.domain.base.Event; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.SpeedWithBearing; import com.sap.sailing.domain.base.Timed; +import com.sap.sailing.domain.base.Venue; import com.sap.sailing.domain.common.Bearing; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.RaceIdentifier; @@ -253,7 +256,36 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { BasicDBObject update = new BasicDBObject("$set", new BasicDBObject(FieldNames.LEADERBOARD_GROUP_NAME.name(), newName)); leaderboardGroupCollection.update(query, update); } - - + + @Override + public void storeEvent(Event event) { + DBCollection eventCollection = database.getCollection(CollectionNames.EVENTS.name()); + DBObject query = new BasicDBObject(); + query.put(FieldNames.EVENT_NAME.name(), event.getName()); + DBObject eventDBObject = new BasicDBObject(); + eventDBObject.put(FieldNames.EVENT_NAME.name(), event.getName()); + DBObject venueDBObject = getVenueAsDBObject(event.getVenue()); + eventDBObject.put(FieldNames.VENUE.name(), venueDBObject); + eventCollection.update(query, eventDBObject, /* upsrt */ true, /* multi */ false); + } + + private DBObject getVenueAsDBObject(Venue venue) { + DBObject result = new BasicDBObject(); + result.put(FieldNames.VENUE_NAME.name(), venue.getName()); + BasicDBList courseAreaList = new BasicDBList(); + result.put(FieldNames.COURSE_AREAS.name(), courseAreaList); + for (CourseArea courseArea : venue.getCourseAreas()) { + DBObject dbCourseArea = new BasicDBObject(); + courseAreaList.add(dbCourseArea); + dbCourseArea.put(FieldNames.COURSE_AREA_NAME.name(), courseArea.getName()); + } + return result; + } + + @Override + public void storeRegatta(Regatta regatta) { + // TODO Auto-generated method stub + + } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java index 2cad0943b42..59268969e2f 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java @@ -11,6 +11,11 @@ import com.sap.sailing.domain.common.Named; * */ public interface Event extends Named { + /** + * @return a non-null venue for this event + */ + Venue getVenue(); + Iterable getRegattas(); void addRegatta(Regatta regatta); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Venue.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Venue.java index 8ae8e529db2..8e9c29cf568 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Venue.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Venue.java @@ -10,4 +10,8 @@ import com.sap.sailing.domain.common.Named; */ public interface Venue extends Named { Iterable getCourseAreas(); + + void addCourseArea(CourseArea courseArea); + + void removeCourseArea(CourseArea courseArea); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/CourseAreaImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/CourseAreaImpl.java new file mode 100755 index 00000000000..696c455d73a --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/CourseAreaImpl.java @@ -0,0 +1,12 @@ +package com.sap.sailing.domain.base.impl; + +import com.sap.sailing.domain.base.CourseArea; +import com.sap.sailing.domain.common.impl.NamedImpl; + +public class CourseAreaImpl extends NamedImpl implements CourseArea { + private static final long serialVersionUID = 5912385360170509150L; + + public CourseAreaImpl(String name) { + super(name); + } +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/EventImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/EventImpl.java index 256d3353ccc..d38fd3d4cc2 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/EventImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/EventImpl.java @@ -6,15 +6,27 @@ import java.util.Set; import com.sap.sailing.domain.base.Event; import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.Venue; import com.sap.sailing.domain.common.impl.NamedImpl; public class EventImpl extends NamedImpl implements Event { private static final long serialVersionUID = 855135446595485715L; private final Set regattas; + + private final Venue venue; - public EventImpl(String name) { + public EventImpl(String name, String venueName) { + this(name, new VenueImpl(venueName)); + } + + /** + * @param venue must not be null + */ + public EventImpl(String name, Venue venue) { super(name); + assert venue != null; + this.venue = venue; this.regattas = new HashSet(); } @@ -32,5 +44,10 @@ public class EventImpl extends NamedImpl implements Event { public void removeRegatta(Regatta regatta) { regattas.remove(regatta); } + + @Override + public Venue getVenue() { + return venue; + } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/VenueImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/VenueImpl.java new file mode 100755 index 00000000000..ef74c7500e0 --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/VenueImpl.java @@ -0,0 +1,40 @@ +package com.sap.sailing.domain.base.impl; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import com.sap.sailing.domain.base.CourseArea; +import com.sap.sailing.domain.base.Venue; +import com.sap.sailing.domain.common.impl.NamedImpl; + +public class VenueImpl extends NamedImpl implements Venue { + private static final long serialVersionUID = 6854152040737643290L; + + /** + * The course areas are ordered because they typically follow an ordered naming pattern borrowed from the + * "NATO alphabet" (Alpha, Bravo, Charlie, ...). + */ + private final List courseAreas; + + public VenueImpl(String name) { + super(name); + courseAreas = new ArrayList(); + } + + @Override + public Iterable getCourseAreas() { + return Collections.unmodifiableList(courseAreas); + } + + @Override + public void addCourseArea(CourseArea courseArea) { + courseAreas.add(courseArea); + } + + @Override + public void removeCourseArea(CourseArea courseArea) { + courseAreas.remove(courseArea); + } + +} From 725bdfde7928c71c05f812a12778777e3296ac97 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Mon, 21 May 2012 23:11:57 +0200 Subject: [PATCH 033/339] added first test case for event/venue/course area storing / loading --- ...estStoringAndLoadingEventsAndRegattas.java | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100755 java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java new file mode 100755 index 00000000000..35155ddffdb --- /dev/null +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -0,0 +1,50 @@ +package com.sap.sailing.mongodb.test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; + +import com.sap.sailing.domain.base.CourseArea; +import com.sap.sailing.domain.base.Event; +import com.sap.sailing.domain.base.Venue; +import com.sap.sailing.domain.base.impl.CourseAreaImpl; +import com.sap.sailing.domain.base.impl.EventImpl; +import com.sap.sailing.domain.base.impl.VenueImpl; +import com.sap.sailing.domain.common.impl.Util; +import com.sap.sailing.domain.persistence.DomainObjectFactory; +import com.sap.sailing.domain.persistence.MongoFactory; +import com.sap.sailing.domain.persistence.MongoObjectFactory; +import com.sap.sailing.mongodb.MongoDBService; + +public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest { + @Test + public void testLoadStoreSimpleEvent() { + final String eventName = "Event Name"; + final String venueName = "Venue Name"; + final String[] courseAreaNames = new String[] { "Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrott" }; + final Venue venue = new VenueImpl(venueName); + for (String courseAreaName : courseAreaNames) { + CourseArea courseArea = new CourseAreaImpl(courseAreaName); + venue.addCourseArea(courseArea); + } + MongoDBService service = MongoDBService.INSTANCE; + service.setConfiguration(getDBConfiguration()); + MongoObjectFactory mof = MongoFactory.INSTANCE.getMongoObjectFactory(service); + Event event = new EventImpl(eventName, venue); + mof.storeEvent(event); + + DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(service); + Event loadedEvent = dof.loadEvent(eventName); + assertNotNull(loadedEvent); + assertEquals(eventName, loadedEvent.getName()); + final Venue loadedVenue = loadedEvent.getVenue(); + assertNotNull(loadedVenue); + assertEquals(venueName, loadedVenue.getName()); + assertEquals(courseAreaNames.length, Util.size(loadedVenue.getCourseAreas())); + int i=0; + for (CourseArea loadedCourseArea : loadedVenue.getCourseAreas()) { + assertEquals(courseAreaNames[i++], loadedCourseArea.getName()); + } + } +} From de84c78e2ebc2b99dc3834f82d943f15446575fd Mon Sep 17 00:00:00 2001 From: fmittag Date: Tue, 22 May 2012 10:24:00 +0200 Subject: [PATCH 034/339] Advanced wind chart settings to make it possible also to select all possible combinations of wind directions/ speed and wind source --- java/com.sap.sailing.gwt.ui/RaceBoard.css | 24 ++- .../gwt/ui/adminconsole/WindPanel.java | 11 +- .../gwt/ui/client/LogoAndTitlePanel.java | 3 +- .../ui/raceboard/GlobalNavigationPanel.java | 68 +++++++++ .../gwt/ui/raceboard/RaceBoardEntryPoint.java | 19 +-- .../raceboard/RaceBoardLogoAndTitlePanel.java | 21 +++ .../gwt/ui/raceboard/RaceBoardPanel.java | 58 +++++-- .../ui/shared/charts/AbstractChartPanel.java | 27 ++-- .../gwt/ui/shared/charts/RaceChart.java | 44 ++++-- .../gwt/ui/shared/charts/WindChart.java | 142 +++++++++--------- .../ui/shared/charts/WindChartSettings.java | 75 +++++++-- .../WindChartSettingsDialogComponent.java | 94 +++++++++--- 12 files changed, 420 insertions(+), 166 deletions(-) create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/GlobalNavigationPanel.java create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardLogoAndTitlePanel.java diff --git a/java/com.sap.sailing.gwt.ui/RaceBoard.css b/java/com.sap.sailing.gwt.ui/RaceBoard.css index 1e761caf8f8..0f11faddacf 100644 --- a/java/com.sap.sailing.gwt.ui/RaceBoard.css +++ b/java/com.sap.sailing.gwt.ui/RaceBoard.css @@ -105,9 +105,27 @@ input.opencoloumn { width: 100%; } +.globalNavigation { + position:absolute; + top:0; + right:0; +} + +.globalNavigation-home { + background-color: gray; +} + +.globalNavigation-leaderBoard { + background-color: gray; +} + +.globalNavigation-leaderBoardGroup { + background-color: gray; +} + .raceBoardNavigation { - float: right; - margin:-23px 0 0 0; + float: left; + margin: 3px;; font-family: 'UbuntuLight', Arial, Verdana, sans-serif; } @@ -156,6 +174,6 @@ input.opencoloumn { .raceBoardNavigation-settingsButtonPanel { float: right; - margin: -26px 0 0 0; + margin: 3px;; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/WindPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/WindPanel.java index 2ea5e5c041e..81dcbcfaa94 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/WindPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/WindPanel.java @@ -1,12 +1,10 @@ package com.sap.sailing.gwt.ui.adminconsole; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -43,11 +41,11 @@ import com.sap.sailing.domain.common.WindSource; import com.sap.sailing.domain.common.WindSourceType; import com.sap.sailing.gwt.ui.actions.AsyncActionsExecutor; import com.sap.sailing.gwt.ui.client.ErrorReporter; -import com.sap.sailing.gwt.ui.client.RegattaDisplayer; -import com.sap.sailing.gwt.ui.client.RegattaRefresher; import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener; import com.sap.sailing.gwt.ui.client.RaceSelectionModel; import com.sap.sailing.gwt.ui.client.RaceSelectionProvider; +import com.sap.sailing.gwt.ui.client.RegattaDisplayer; +import com.sap.sailing.gwt.ui.client.RegattaRefresher; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.client.TimeZoomModel; @@ -185,8 +183,7 @@ public class WindPanel extends FormPanel implements RegattaDisplayer, WindShower }); windSourceSelectionPanel.add(showConfigAnchor); grid.setWidget(1, 0, windSourceSelectionPanel); - WindChartSettings windChartSettings = new WindChartSettings(false, true, new HashSet(Arrays.asList(WindSourceType.values()))); - windChart = new WindChart(sailingService, raceSelectionProvider, new Timer(PlayModes.Replay), new TimeZoomModel(), windChartSettings, stringMessages, asyncActionsExecutor, errorReporter, false); + windChart = new WindChart(sailingService, raceSelectionProvider, new Timer(PlayModes.Replay), new TimeZoomModel(), new WindChartSettings(), stringMessages, asyncActionsExecutor, errorReporter, false); windChart.onResize(); grid.setWidget(2, 0, windChart.getEntryWidget()); grid.getCellFormatter().setVerticalAlignment(1, 1, HasVerticalAlignment.ALIGN_TOP); @@ -211,7 +208,7 @@ public class WindPanel extends FormPanel implements RegattaDisplayer, WindShower sailingService.getAveragedWindInfo(raceIdentifier, // TODO Time interval should be determined by a selection in the chart but be at most 60s. See bug #121. Consider incremental updates for new data only. null, null, // use race start and time of newest event as default time period - WindChart.DEFAULT_RESOLUTION_IN_MILLISECONDS, + WindChartSettings.DEFAULT_RESOLUTION_IN_MILLISECONDS, null, // retrieve data on all wind sources new AsyncCallback() { @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/LogoAndTitlePanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/LogoAndTitlePanel.java index 4bd1316068b..61dcb4b0b20 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/LogoAndTitlePanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/LogoAndTitlePanel.java @@ -7,6 +7,7 @@ import com.google.gwt.user.client.ui.Label; public class LogoAndTitlePanel extends FlowPanel { + protected final Label titleLabel; public LogoAndTitlePanel(String title, StringMessages stringConstants) { Anchor sapLogo = new Anchor(new SafeHtmlBuilder().appendHtmlConstant( "").toSafeHtml()); @@ -21,7 +22,7 @@ public class LogoAndTitlePanel extends FlowPanel { sailingAnalyticsLabel.addStyleName("sailingAnalyticsLabel boldLabel"); this.add(labelPanel); - Label titleLabel = new Label(title); + titleLabel = new Label(title); titleLabel.addStyleName("titleLabel"); this.add(titleLabel); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/GlobalNavigationPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/GlobalNavigationPanel.java new file mode 100644 index 00000000000..9ef74098ad8 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/GlobalNavigationPanel.java @@ -0,0 +1,68 @@ +package com.sap.sailing.gwt.ui.raceboard; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.Style; +import com.google.gwt.safehtml.client.SafeHtmlTemplates; +import com.google.gwt.safehtml.shared.SafeHtml; +import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.ui.FlowPanel; +import com.google.gwt.user.client.ui.HTML; +import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sailing.gwt.ui.client.URLFactory; + +public class GlobalNavigationPanel extends FlowPanel { + + private final String debugParam; + + interface AnchorTemplates extends SafeHtmlTemplates { + @SafeHtmlTemplates.Template("{1}") + SafeHtml anchor(String url, String displayName); + } + + public static final AnchorTemplates ANCHORTEMPLATE = GWT.create(AnchorTemplates.class); + public static final String STYLE_NAME_PREFIX = "globalNavigation-"; + + public GlobalNavigationPanel(StringMessages stringMessages, boolean showHomeNavigation, String leaderboardName, String leaderboardGroupName) { + super(); + + setStyleName("globalNavigation"); + + debugParam = Window.Location.getParameter("gwt.codesvr"); + + String spectatorViewLink = "/gwt/Spectator.html"; + String leaderboardViewLink = "/gwt/Leaderboard.html"; + + String homeLink = spectatorViewLink; + + if(showHomeNavigation) { + addNavigationLink(stringMessages.home(), homeLink, "home"); + } + + if (leaderboardGroupName != null && !leaderboardGroupName.isEmpty()) { + String leaderBoardGroupLink = spectatorViewLink + "?leaderboardGroupName=" + leaderboardGroupName; + addNavigationLink(leaderboardGroupName, leaderBoardGroupLink, "leaderBoardGroup"); + } + + if (leaderboardName != null && !leaderboardName.isEmpty()) { + String leaderBoardLink = leaderboardViewLink + "?name=" + leaderboardName; + if (leaderboardGroupName != null && !leaderboardGroupName.isEmpty()) { + leaderBoardLink += "&leaderboardGroupName=" + leaderboardGroupName; + } + addNavigationLink(leaderboardName, leaderBoardLink, "leaderBoard"); + } + } + + private void addNavigationLink(String linkName, String linkUrl, String styleNameExtension) { + String url = linkUrl; + if(debugParam != null && !debugParam.isEmpty()) { + url += url.contains("?") ? "&" : "?"; + url += "gwt.codesvr=" + debugParam; + } + + HTML linkHtml = new HTML(ANCHORTEMPLATE.anchor(URLFactory.INSTANCE.encode(url), linkName)); + linkHtml.addStyleName(STYLE_NAME_PREFIX + styleNameExtension); + linkHtml.getElement().getStyle().setFloat(Style.Float.LEFT); + linkHtml.getElement().getStyle().setPadding(5, Style.Unit.PX); + add(linkHtml); + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java index 4f20203b125..960252e3ce1 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java @@ -10,12 +10,10 @@ import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.DockLayoutPanel; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.RootLayoutPanel; -import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.domain.common.DefaultLeaderboardName; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.gwt.ui.client.AbstractEntryPoint; -import com.sap.sailing.gwt.ui.client.LogoAndTitlePanel; import com.sap.sailing.gwt.ui.client.ParallelExecutionCallback; import com.sap.sailing.gwt.ui.client.ParallelExecutionHolder; import com.sap.sailing.gwt.ui.client.RaceSelectionModel; @@ -202,9 +200,11 @@ public class RaceBoardEntryPoint extends AbstractEntryPoint { } private FlowPanel createLogoAndTitlePanel(RaceBoardPanel raceBoardPanel) { - LogoAndTitlePanel logoAndTitlePanel = new LogoAndTitlePanel(raceName, stringMessages); + RaceBoardLogoAndTitlePanel logoAndTitlePanel = new RaceBoardLogoAndTitlePanel(selectedRace, stringMessages); logoAndTitlePanel.addStyleName("LogoAndTitlePanel"); - logoAndTitlePanel.add(raceBoardPanel.getNavigationWidget()); + + FlowPanel globalNavigationPanel = new GlobalNavigationPanel(stringMessages, true, leaderboardName, leaderboardGroupName); + logoAndTitlePanel.add(globalNavigationPanel); return logoAndTitlePanel; } @@ -213,16 +213,17 @@ public class RaceBoardEntryPoint extends AbstractEntryPoint { DockLayoutPanel p = new DockLayoutPanel(Unit.PX); RootLayoutPanel.get().add(p); - FlowPanel breadcrumbPanel = createBreadcrumbPanel(); + FlowPanel toolbarPanel = new FlowPanel(); + //TODO Quickfix for touch devices - Widget settingsWidget = raceBoardPanel.getSettingsWidget(); - breadcrumbPanel.add(settingsWidget); - // + toolbarPanel.add(raceBoardPanel.getNavigationWidget()); + toolbarPanel.add(raceBoardPanel.getSettingsWidget()); + FlowPanel logoAndTitlePanel = createLogoAndTitlePanel(raceBoardPanel); FlowPanel timePanel = createTimePanel(raceBoardPanel); p.addNorth(logoAndTitlePanel, 68); - p.addNorth(breadcrumbPanel, 40); + p.addNorth(toolbarPanel, 40); p.addSouth(timePanel, 122); p.add(raceBoardPanel); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardLogoAndTitlePanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardLogoAndTitlePanel.java new file mode 100644 index 00000000000..7a4f5a23d1f --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardLogoAndTitlePanel.java @@ -0,0 +1,21 @@ +package com.sap.sailing.gwt.ui.raceboard; + +import com.google.gwt.i18n.client.DateTimeFormat; +import com.sap.sailing.gwt.ui.client.LogoAndTitlePanel; +import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sailing.gwt.ui.shared.RaceDTO; + +public class RaceBoardLogoAndTitlePanel extends LogoAndTitlePanel { + private final DateTimeFormat dateFormatter = DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.DATE_MEDIUM); + + public RaceBoardLogoAndTitlePanel(RaceDTO raceDTO, StringMessages stringConstants) { + super(raceDTO.name, stringConstants); + + String headlineText = raceDTO.name; + if(raceDTO.startOfRace != null) { + headlineText += " / " + dateFormatter.format(raceDTO.startOfRace); + } + + titleLabel.setText(headlineText); + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java index 9aeb218cb13..948e7e87e58 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java @@ -1,10 +1,8 @@ package com.sap.sailing.gwt.ui.raceboard; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; @@ -12,8 +10,11 @@ import com.google.gwt.dom.client.Style; import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; +import com.google.gwt.event.logical.shared.ValueChangeEvent; +import com.google.gwt.event.logical.shared.ValueChangeHandler; import com.google.gwt.user.client.Command; import com.google.gwt.user.client.ui.Button; +import com.google.gwt.user.client.ui.CheckBox; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.FormPanel; import com.google.gwt.user.client.ui.Label; @@ -22,7 +23,6 @@ import com.google.gwt.user.client.ui.ToggleButton; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; -import com.sap.sailing.domain.common.WindSourceType; import com.sap.sailing.gwt.ui.actions.AsyncActionsExecutor; import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel; import com.sap.sailing.gwt.ui.client.ErrorReporter; @@ -33,6 +33,7 @@ import com.sap.sailing.gwt.ui.client.RaceTimesInfoProvider; import com.sap.sailing.gwt.ui.client.RegattaDisplayer; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sailing.gwt.ui.client.TimeListener; import com.sap.sailing.gwt.ui.client.TimeZoomModel; import com.sap.sailing.gwt.ui.client.Timer; import com.sap.sailing.gwt.ui.client.UserAgentChecker.UserAgentTypes; @@ -42,7 +43,6 @@ import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettingsFactory; import com.sap.sailing.gwt.ui.shared.RaceDTO; import com.sap.sailing.gwt.ui.shared.RegattaDTO; import com.sap.sailing.gwt.ui.shared.UserDTO; -import com.sap.sailing.gwt.ui.shared.charts.AbstractChartPanel; import com.sap.sailing.gwt.ui.shared.charts.MultiChartPanel; import com.sap.sailing.gwt.ui.shared.charts.WindChart; import com.sap.sailing.gwt.ui.shared.charts.WindChartSettings; @@ -146,9 +146,6 @@ public class RaceBoardPanel extends FormPanel implements RegattaDisplayer, RaceS } private void createOneScreenView(String leaderboardName, String leaderboardGroupName, FlowPanel mainPanel) { - componentsNavigationPanel = new FlowPanel(); - componentsNavigationPanel.addStyleName("raceBoardNavigation"); - // create the default leaderboard and select the right race leaderboardPanel = createLeaderboardPanel(leaderboardName, leaderboardGroupName); RaceMap raceMap = new RaceMap(sailingService, asyncActionsExecutor, errorReporter, timer, competitorSelectionModel, stringMessages); @@ -164,8 +161,7 @@ public class RaceBoardPanel extends FormPanel implements RegattaDisplayer, RaceS competitorChart.onRaceSelectionChange(raceSelectionProvider.getSelectedRaces()); components.add(competitorChart); - WindChartSettings windChartSettings = new WindChartSettings(false, true, new HashSet(Arrays.asList(WindSourceType.values()))); - windChart = new WindChart(sailingService, raceSelectionProvider, timer, timeZoomModel, windChartSettings, + windChart = new WindChart(sailingService, raceSelectionProvider, timer, timeZoomModel, new WindChartSettings(), stringMessages, asyncActionsExecutor, errorReporter, /* compactChart */ true); windChart.setVisible(false); raceTimesInfoProvider.addRaceTimesInfoProviderListener(windChart); @@ -192,10 +188,9 @@ public class RaceBoardPanel extends FormPanel implements RegattaDisplayer, RaceS addSettingsMenuButton(settingsPanel, windChart); addSettingsMenuButton(settingsPanel, competitorChart); - addComponentAsToogleButtonToNavigationMenu(leaderboardAndMapViewer, leaderboardPanel); - //addComponentAsToogleButtonToNavigationMenu(leaderboardAndMapViewer, raceMap); - addComponentAsToogleButtonToNavigationMenu(leaderboardAndMapViewer, windChart); - addComponentAsToogleButtonToNavigationMenu(leaderboardAndMapViewer, competitorChart); + addComponentAsCheckboxToNavigationMenu(leaderboardAndMapViewer, leaderboardPanel); + addComponentAsCheckboxToNavigationMenu(leaderboardAndMapViewer, windChart); + addComponentAsCheckboxToNavigationMenu(leaderboardAndMapViewer, competitorChart); } @@ -237,10 +232,40 @@ public class RaceBoardPanel extends FormPanel implements RegattaDisplayer, RaceS userAgentType); } + private void addComponentAsCheckboxToNavigationMenu(final ComponentViewer componentViewer, + final Component component) { + final CheckBox checkBox= new CheckBox(component.getLocalizedShortName()); + checkBox.getElement().getStyle().setFloat(Style.Float.LEFT); + + checkBox.setValue(component.isVisible()); + checkBox.setTitle(stringMessages.showHideComponent(component.getLocalizedShortName())); + + checkBox.addValueChangeHandler(new ValueChangeHandler() { + @Override + public void onValueChange(ValueChangeEvent newValue) { + // make the map invisible is this is not supported yet due to problems with disabling the center element + // of a DockPanel + if (component instanceof RaceMap) + return; + + boolean visible = checkBox.getValue(); + setComponentVisible(componentViewer, component, visible); + + if (visible && component instanceof TimeListener) { + // trigger the component to update its data + ((TimeListener) component).timeChanged(timer.getTime()); + } + } + }); + + componentsNavigationPanel.add(checkBox); + } + + private void addComponentAsToogleButtonToNavigationMenu(final ComponentViewer componentViewer, final Component component) { final ToggleButton toggleButton = new ToggleButton(component.getLocalizedShortName(), - component.getLocalizedShortName()); + "\u2713 " + component.getLocalizedShortName()); toggleButton.getElement().getStyle().setFloat(Style.Float.LEFT); toggleButton.setDown(component.isVisible()); toggleButton.setTitle(stringMessages.showHideComponent(component.getLocalizedShortName())); @@ -255,8 +280,9 @@ public class RaceBoardPanel extends FormPanel implements RegattaDisplayer, RaceS boolean visible = toggleButton.isDown(); setComponentVisible(componentViewer, component, visible); - if (visible && component instanceof LeaderboardPanel) { - leaderboardPanel.timeChanged(timer.getTime()); + if (visible && component instanceof TimeListener) { + // trigger the component to update its data + ((TimeListener) component).timeChanged(timer.getTime()); } } }); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/AbstractChartPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/AbstractChartPanel.java index 94d5dd35164..9f3f189df4e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/AbstractChartPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/AbstractChartPanel.java @@ -21,6 +21,9 @@ import org.moxieapps.gwt.highcharts.client.events.ChartClickEvent; import org.moxieapps.gwt.highcharts.client.events.ChartClickEventHandler; import org.moxieapps.gwt.highcharts.client.events.ChartSelectionEvent; import org.moxieapps.gwt.highcharts.client.events.ChartSelectionEventHandler; +import org.moxieapps.gwt.highcharts.client.labels.AxisLabelsData; +import org.moxieapps.gwt.highcharts.client.labels.AxisLabelsFormatter; +import org.moxieapps.gwt.highcharts.client.labels.XAxisLabels; import org.moxieapps.gwt.highcharts.client.plotOptions.LinePlotOptions; import org.moxieapps.gwt.highcharts.client.plotOptions.Marker; import org.moxieapps.gwt.highcharts.client.plotOptions.ScatterPlotOptions; @@ -135,8 +138,7 @@ implements CompetitorSelectionChangeListener, RequiresResize { chart.setSelectionEventHandler(new ChartSelectionEventHandler() { @Override public boolean onSelection(ChartSelectionEvent chartSelectionEvent) { - AbstractChartPanel.this.onSelectionChange(chartSelectionEvent); - return true; + return AbstractChartPanel.this.onXAxisSelectionChange(chartSelectionEvent); } }); } @@ -148,9 +150,15 @@ implements CompetitorSelectionChangeListener, RequiresResize { chart.getYAxis().setStartOnTick(false).setShowFirstLabel(false); chart.getYAxis().setReversed((dataToShow == DetailType.WINDWARD_DISTANCE_TO_OVERALL_LEADER || dataToShow == DetailType.GAP_TO_LEADER_IN_SECONDS) ? true : false); - chart.getXAxis().setType(Axis.Type.DATE_TIME).setMaxZoom(10000) // ten seconds - .setAxisTitleText(stringMessages.time()) - .setTickInterval(1000 * 60 * 10); + chart.getXAxis().setType(Axis.Type.DATE_TIME).setMaxZoom(60 * 1000) // 1 minute + .setAxisTitleText(stringMessages.time()); + chart.getXAxis().setLabels(new XAxisLabels().setFormatter(new AxisLabelsFormatter() { + @Override + public String format(AxisLabelsData axisLabelsData) { + return dateFormatHoursMinutes.format(new Date(axisLabelsData.getValueAsLong())); + } + })); + String decimalPlaces = ""; for (int i = 0; i < dataToShow.getPrecision(); i++) { if (i == 0) { @@ -551,15 +559,6 @@ implements CompetitorSelectionChangeListener, RequiresResize { return new Pair(everyPassingInRange, twoPassingsInRangeBeforeError); } - @Override - public void setVisible(boolean isVisible) { - super.setVisible(isVisible); - - if(isVisible) { - loadData(true); - } - } - @Override public void timeChanged(Date date) { if (getChartData() != null) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/RaceChart.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/RaceChart.java index 5463500c14c..408eca8adb9 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/RaceChart.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/RaceChart.java @@ -49,6 +49,7 @@ public abstract class RaceChart extends SimplePanel implements RaceTimesInfoProv protected RaceTimesInfoDTO lastRaceTimesInfo; protected final DateTimeFormat dateFormat = DateTimeFormat.getFormat("HH:mm:ss"); + protected final DateTimeFormat dateFormatHoursMinutes = DateTimeFormat.getFormat("HH:mm"); protected final StringMessages stringMessages; protected final ErrorReporter errorReporter; @@ -56,6 +57,7 @@ public abstract class RaceChart extends SimplePanel implements RaceTimesInfoProv protected final SailingServiceAsync sailingService; protected boolean isLoading = false; + protected boolean isZoomed = false; private int NUMBER_OF_TICKS = 9; @@ -81,17 +83,19 @@ public abstract class RaceChart extends SimplePanel implements RaceTimesInfoProv minTimepoint = raceMinMax.getA(); maxTimepoint = raceMinMax.getB(); updateMinMax = true; - } else { - if(minTimepoint.getTime() != raceMinMax.getA().getTime() || maxTimepoint.getTime() != raceMinMax.getB().getTime()) { - minTimepoint = raceMinMax.getA(); - maxTimepoint = raceMinMax.getB(); - updateMinMax = true; - } + } else if(minTimepoint.getTime() != raceMinMax.getA().getTime() || maxTimepoint.getTime() != raceMinMax.getB().getTime()) { + minTimepoint = raceMinMax.getA(); + maxTimepoint = raceMinMax.getB(); + updateMinMax = true; } } if(updateMinMax) { chart.getXAxis().setMin(minTimepoint.getTime()); chart.getXAxis().setMax(maxTimepoint.getTime()); + chart.getXAxis().setExtremes(minTimepoint.getTime(), maxTimepoint.getTime(), false, false); + + long diff = (maxTimepoint.getTime() - minTimepoint.getTime()) / 10; + chart.getXAxis().setTickInterval(diff); } } @@ -105,29 +109,37 @@ public abstract class RaceChart extends SimplePanel implements RaceTimesInfoProv isLoading = false; } - protected void onSelectionChange(ChartSelectionEvent chartSelectionEvent) { + protected boolean onXAxisSelectionChange(ChartSelectionEvent chartSelectionEvent) { try { long xAxisMin = chartSelectionEvent.getXAxisMinAsLong(); long xAxisMax = chartSelectionEvent.getXAxisMaxAsLong(); - timeZoomProvider.setTimeZoom(new Date(xAxisMin), new Date(xAxisMax), this); - ignoreClickOnce = true; + if(!isZoomed) { + isZoomed = true; + } + timeZoomProvider.setTimeZoom(new Date(xAxisMin), new Date(xAxisMax), this); } catch (Throwable t) { + // in case the user clicks the "reset zoom" button chartSelectionEvent.getXAxisMinAsLong() throws in exception timeZoomProvider.resetTimeZoom(this); - //Redrawing, or the chart wouldn't rezoom + // Trigger the redrawing... otherwise chart wouldn't reset the zoom chart.redraw(); + isZoomed = false; } + + return true; } - protected void onClick(ChartClickEvent chartClickEvent) { - if(!isLoading) { - if (ignoreClickOnce) { - ignoreClickOnce = false; - } else { + protected boolean onClick(ChartClickEvent chartClickEvent) { + if(!isLoading && !isZoomed) { + // when the user zooms into the chart first a AxisSetExtremesEvent is sent and a ChartClickEvent afterwards +// if (ignoreClickOnce) { +// ignoreClickOnce = false; +// } else { timer.setPlayMode(PlayModes.Replay); timer.setTime(chartClickEvent.getXAxisValueAsLong()); - } +// } } + return true; } protected void changeMinMaxInterval(Date minIntervalTimepoint, Date maxIntervalTimepoint, long numTicks) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChart.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChart.java index f82836f4797..474f0d0fea9 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChart.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChart.java @@ -19,12 +19,11 @@ import org.moxieapps.gwt.highcharts.client.Series; import org.moxieapps.gwt.highcharts.client.ToolTip; import org.moxieapps.gwt.highcharts.client.ToolTipData; import org.moxieapps.gwt.highcharts.client.ToolTipFormatter; -import org.moxieapps.gwt.highcharts.client.events.ChartClickEvent; -import org.moxieapps.gwt.highcharts.client.events.ChartClickEventHandler; import org.moxieapps.gwt.highcharts.client.events.ChartSelectionEvent; import org.moxieapps.gwt.highcharts.client.events.ChartSelectionEventHandler; import org.moxieapps.gwt.highcharts.client.labels.AxisLabelsData; import org.moxieapps.gwt.highcharts.client.labels.AxisLabelsFormatter; +import org.moxieapps.gwt.highcharts.client.labels.XAxisLabels; import org.moxieapps.gwt.highcharts.client.labels.YAxisLabels; import org.moxieapps.gwt.highcharts.client.plotOptions.LinePlotOptions; import org.moxieapps.gwt.highcharts.client.plotOptions.Marker; @@ -35,7 +34,6 @@ import com.google.gwt.user.client.ui.RequiresResize; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.WindSource; -import com.sap.sailing.domain.common.WindSourceType; import com.sap.sailing.gwt.ui.actions.AsyncActionsExecutor; import com.sap.sailing.gwt.ui.actions.GetWindInfoAction; import com.sap.sailing.gwt.ui.client.ColorMap; @@ -54,13 +52,8 @@ import com.sap.sailing.gwt.ui.shared.components.Component; import com.sap.sailing.gwt.ui.shared.components.SettingsDialogComponent; public class WindChart extends RaceChart implements Component, RequiresResize { - public static final long DEFAULT_RESOLUTION_IN_MILLISECONDS = 10000; - private static final int LINE_WIDTH = 1; - private final Set windSourceTypesToDisplay; - private long resolutionInMilliseconds; - private boolean showWindSpeedSeries; - private boolean showWindDirectionsSeries; + private final WindChartSettings settings; /** * Holds one series for each wind source for which data has been received. @@ -86,9 +79,8 @@ public class WindChart extends RaceChart implements Component this.windSourceDirectionSeries = new HashMap(); this.windSourceSpeedSeries = new HashMap(); this.colorMap = new ColorMap(); - this.windSourceTypesToDisplay = new HashSet(); - this.showWindSpeedSeries = false; - this.showWindDirectionsSeries = true; + this.settings = settings; + chart = new Chart() .setZoomType(Chart.ZoomType.X) .setMarginLeft(65) @@ -128,19 +120,17 @@ public class WindChart extends RaceChart implements Component } })); - chart.setClickEventHandler(new ChartClickEventHandler() { - @Override - public boolean onClick(ChartClickEvent chartClickEvent) { - WindChart.this.onClick(chartClickEvent); - return true; - } - }); +// chart.setClickEventHandler(new ChartClickEventHandler() { +// @Override +// public boolean onClick(ChartClickEvent chartClickEvent) { +// return WindChart.this.onClick(chartClickEvent); +// } +// }); chart.setSelectionEventHandler(new ChartSelectionEventHandler() { @Override public boolean onSelection(ChartSelectionEvent chartSelectionEvent) { - WindChart.this.onSelectionChange(chartSelectionEvent); - return true; + return WindChart.this.onXAxisSelectionChange(chartSelectionEvent); } }); @@ -148,6 +138,13 @@ public class WindChart extends RaceChart implements Component .setMaxZoom(60 * 1000) // 1 minute .setAxisTitleText(stringMessages.time()) .setTickInterval(1000 * 60 * 10); + chart.getXAxis().setLabels(new XAxisLabels().setFormatter(new AxisLabelsFormatter() { + @Override + public String format(AxisLabelsData axisLabelsData) { + return dateFormatHoursMinutes.format(new Date(axisLabelsData.getValueAsLong())); + } + })); + chart.getYAxis(0).setAxisTitleText(stringMessages.fromDeg()).setStartOnTick(false).setShowFirstLabel(false) .setLabels(new YAxisLabels().setFormatter(new AxisLabelsFormatter() { @Override @@ -171,11 +168,6 @@ public class WindChart extends RaceChart implements Component setWidget(chart); setSize("100%", "100%"); - resolutionInMilliseconds = settings.getResolutionInMilliseconds(); - showWindDirectionsSeries = settings.isShowWindDirectionsSeries(); - showWindSpeedSeries = settings.isShowWindSpeedSeries(); - windSourceTypesToDisplay.addAll(settings.getWindSourceTypesToDisplay()); - raceSelectionProvider.addRaceSelectionChangeListener(this); timer.addTimeListener(this); timeZoomProvider.addTimeZoomChangeListener(this); @@ -191,23 +183,14 @@ public class WindChart extends RaceChart implements Component return this; } - @Override - public void setVisible(boolean isVisible) { - super.setVisible(isVisible); - - if(isVisible) { - timeChanged(timer.getTime()); - } - } - private void showVisibleSeries() { List currentSeries = Arrays.asList(chart.getSeries()); Set visibleSeries = new HashSet(currentSeries); - if(showWindDirectionsSeries) { + if(settings.isShowWindDirectionsSeries()) { for (Map.Entry e : windSourceDirectionSeries.entrySet()) { Series series = e.getValue(); - if (windSourceTypesToDisplay.contains(e.getKey().getType())) { + if (settings.getWindDirectionSourcesToDisplay().contains(e.getKey().getType())) { if (!visibleSeries.contains(series)) { chart.addSeries(series, false, false); series.select(true); // ensures that the checkbox will be ticked @@ -218,12 +201,19 @@ public class WindChart extends RaceChart implements Component } } } - } + } else { + for (Map.Entry e : windSourceDirectionSeries.entrySet()) { + Series series = e.getValue(); + if(visibleSeries.contains(series)) { + chart.removeSeries(series, false); + } + } + } - if(showWindSpeedSeries) { + if(settings.isShowWindSpeedSeries()) { for (Map.Entry e : windSourceSpeedSeries.entrySet()) { Series series = e.getValue(); - if (windSourceTypesToDisplay.contains(e.getKey().getType())) { + if (settings.getWindSpeedSourcesToDisplay().contains(e.getKey().getType())) { if (!visibleSeries.contains(series)) { chart.addSeries(series, false, false); series.select(true); // ensures that the checkbox will be ticked @@ -234,26 +224,52 @@ public class WindChart extends RaceChart implements Component } } } + } else { + for (Map.Entry e : windSourceSpeedSeries.entrySet()) { + Series series = e.getValue(); + if(visibleSeries.contains(series)) { + chart.removeSeries(series, false); + } + } } chart.redraw(); } /** * Creates the series for the windSource specified. If the series is created and needs to be visible - * based on the {@link #windSourceTypesToDisplay}, it is added to the chart. + * based on the {@link #windDirectionSourcesToDisplay}, it is added to the chart. */ private Series getOrCreateSpeedSeries(WindSource windSource) { Series result = windSourceSpeedSeries.get(windSource); if (result == null) { result = createSpeedSeries(windSource); windSourceSpeedSeries.put(windSource, result); - if (showWindSpeedSeries && windSourceTypesToDisplay.contains(windSource.getType())) { + if (settings.isShowWindSpeedSeries() && settings.getWindSpeedSourcesToDisplay().contains(windSource.getType())) { + result.select(true); // ensures that the checkbox will be ticked chart.addSeries(result); } } return result; } + /** + * Creates the series for the windSource specified. If the series is created and needs to be visible + * based on the {@link #windDirectionSourcesToDisplay}, it is added to the chart. + */ + private Series getOrCreateDirectionSeries(WindSource windSource) { + Series result = windSourceDirectionSeries.get(windSource); + if (result == null) { + result = createDirectionSeries(windSource); + windSourceDirectionSeries.put(windSource, result); + if (settings.isShowWindDirectionsSeries() && settings.getWindDirectionSourcesToDisplay().contains(windSource.getType())) { + chart.addSeries(result); + result.select(true); // ensures that the checkbox will be ticked + } + } + return result; + } + + /** * Only creates the series but doesn't add it to the chart. See also {@link #getOrCreateDirectionSeries(WindSource)} and * {@link #showVisibleSeries()} @@ -303,7 +319,10 @@ public class WindChart extends RaceChart implements Component Point[] directionPoints = new Point[windTrackInfo.windFixes.size()]; Point[] speedPoints = new Point[windTrackInfo.windFixes.size()]; int i=0; + + for (WindDTO wind : windTrackInfo.windFixes) { + Date windDate = new Date(wind.originTimepoint.longValue()); if (timeOfEarliestRequestInMillis == null || wind.timepoint @Override public SettingsDialogComponent getSettingsDialogComponent() { - return new WindChartSettingsDialogComponent(new WindChartSettings(showWindSpeedSeries, showWindDirectionsSeries, windSourceTypesToDisplay, resolutionInMilliseconds), stringMessages); + WindChartSettings windChartSettings = new WindChartSettings(settings.isShowWindSpeedSeries(), settings.getWindSpeedSourcesToDisplay(), + settings.isShowWindDirectionsSeries(), settings.getWindDirectionSourcesToDisplay(), settings.getResolutionInMilliseconds()); + return new WindChartSettingsDialogComponent(windChartSettings, stringMessages); } /** @@ -395,14 +416,15 @@ public class WindChart extends RaceChart implements Component */ @Override public void updateSettings(WindChartSettings newSettings) { - if (newSettings.getResolutionInMilliseconds() != resolutionInMilliseconds) { - resolutionInMilliseconds = newSettings.getResolutionInMilliseconds(); + if (newSettings.getResolutionInMilliseconds() != settings.getResolutionInMilliseconds()) { + settings.setResolutionInMilliseconds(newSettings.getResolutionInMilliseconds()); clearCacheAndReload(); } - showWindDirectionsSeries = newSettings.isShowWindDirectionsSeries(); - showWindSpeedSeries = newSettings.isShowWindSpeedSeries(); - windSourceTypesToDisplay.clear(); - windSourceTypesToDisplay.addAll(newSettings.getWindSourceTypesToDisplay()); + settings.setShowWindDirectionsSeries(newSettings.isShowWindDirectionsSeries()); + settings.setWindDirectionSourcesToDisplay(newSettings.getWindDirectionSourcesToDisplay()); + + settings.setShowWindSpeedSeries(newSettings.isShowWindSpeedSeries()); + settings.setWindSpeedSourcesToDisplay(newSettings.getWindSpeedSourcesToDisplay()); showVisibleSeries(); } @@ -413,22 +435,6 @@ public class WindChart extends RaceChart implements Component loadData(minTimepoint, maxTimepoint, /* append */false); } - /** - * Creates the series for the windSource specified. If the series is created and needs to be visible - * based on the {@link #windSourceTypesToDisplay}, it is added to the chart. - */ - private Series getOrCreateDirectionSeries(WindSource windSource) { - Series result = windSourceDirectionSeries.get(windSource); - if (result == null) { - result = createDirectionSeries(windSource); - windSourceDirectionSeries.put(windSource, result); - if (showWindDirectionsSeries && windSourceTypesToDisplay.contains(windSource.getType())) { - chart.addSeries(result); - } - } - return result; - } - /** * @param append * if true, the results retrieved from the server will be appended to the wind chart instead @@ -442,12 +448,13 @@ public class WindChart extends RaceChart implements Component GetWindInfoAction getWindInfoAction = new GetWindInfoAction(sailingService, selectedRaceIdentifier, // TODO Time interval should be determined by a selection in the chart but be at most 60s. See bug #121. // Consider incremental updates for new data only. - from, to, resolutionInMilliseconds, + from, to, settings.getResolutionInMilliseconds(), null, new AsyncCallback() { @Override public void onSuccess(WindInfoForRaceDTO result) { if (result != null) { updateStripChartSeries(result, append); + showVisibleSeries(); } else { if (!append) { clearChart(); // no wind known for untracked race @@ -481,7 +488,8 @@ public class WindChart extends RaceChart implements Component if(selectedRaceIdentifier != null) { clearCacheAndReload(); - showVisibleSeries(); + if(isVisible()) + showVisibleSeries(); } else { clearChart(); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChartSettings.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChartSettings.java index 54d5c1de91a..c6e740982e5 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChartSettings.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChartSettings.java @@ -1,33 +1,57 @@ package com.sap.sailing.gwt.ui.shared.charts; +import java.util.LinkedHashSet; import java.util.Set; import com.sap.sailing.domain.common.WindSourceType; public class WindChartSettings { - private final Set windSourceTypesToDisplay; + public static final long DEFAULT_RESOLUTION_IN_MILLISECONDS = 10000; + + private final Set windDirectionSourcesToDisplay; + private final Set windSpeedSourcesToDisplay; - private final long resolutionInMilliseconds; + private long resolutionInMilliseconds; - private final boolean showWindSpeedSeries; - private final boolean showWindDirectionsSeries; + private boolean showWindSpeedSeries; + private boolean showWindDirectionsSeries; - public WindChartSettings(boolean showWindSpeedSeries, boolean showWindDirectionsSeries, Set windSourceTypesToDisplay, long resolutionInMilliseconds) { - this.windSourceTypesToDisplay = windSourceTypesToDisplay; - this.resolutionInMilliseconds = resolutionInMilliseconds; - this.showWindDirectionsSeries = showWindDirectionsSeries; + /** + * The default settings + */ + public WindChartSettings() { + showWindSpeedSeries = true; + windSpeedSourcesToDisplay = new LinkedHashSet(); + windSpeedSourcesToDisplay.add(WindSourceType.COMBINED); + showWindDirectionsSeries = true; + windDirectionSourcesToDisplay = new LinkedHashSet(); + windDirectionSourcesToDisplay.add(WindSourceType.COMBINED); + resolutionInMilliseconds = DEFAULT_RESOLUTION_IN_MILLISECONDS; + } + + public WindChartSettings(boolean showWindSpeedSeries, Set windSpeedSourcesToDisplay, + boolean showWindDirectionsSeries, Set windDirectionSourcesToDisplay, long resolutionInMilliseconds) { this.showWindSpeedSeries = showWindSpeedSeries; + this.windSpeedSourcesToDisplay = windSpeedSourcesToDisplay; + this.showWindDirectionsSeries = showWindDirectionsSeries; + this.windDirectionSourcesToDisplay = windDirectionSourcesToDisplay; + this.resolutionInMilliseconds = resolutionInMilliseconds; } /** * Uses {@link WindChart#DEFAULT_RESOLUTION_IN_MILLISECONDS} as resolution */ - public WindChartSettings(boolean showWindSpeedSeries, boolean showWindDirectionsSeries, Set windSourceTypesToDisplay) { - this(showWindSpeedSeries, showWindDirectionsSeries, windSourceTypesToDisplay, WindChart.DEFAULT_RESOLUTION_IN_MILLISECONDS); + public WindChartSettings(boolean showWindSpeedSeries, Set windSpeedSourcesToDisplay, + boolean showWindDirectionsSeries, Set windDirectionSourcesToDisplay) { + this(showWindSpeedSeries, windSpeedSourcesToDisplay, showWindDirectionsSeries, windDirectionSourcesToDisplay, DEFAULT_RESOLUTION_IN_MILLISECONDS); } - public Set getWindSourceTypesToDisplay() { - return windSourceTypesToDisplay; + public Set getWindDirectionSourcesToDisplay() { + return windDirectionSourcesToDisplay; + } + + public Set getWindSpeedSourcesToDisplay() { + return windSpeedSourcesToDisplay; } public long getResolutionInMilliseconds() { @@ -41,5 +65,30 @@ public class WindChartSettings { public boolean isShowWindDirectionsSeries() { return showWindDirectionsSeries; } - + + public void setResolutionInMilliseconds(long resolutionInMilliseconds) { + this.resolutionInMilliseconds = resolutionInMilliseconds; + } + + public void setShowWindSpeedSeries(boolean showWindSpeedSeries) { + this.showWindSpeedSeries = showWindSpeedSeries; + } + + public void setShowWindDirectionsSeries(boolean showWindDirectionsSeries) { + this.showWindDirectionsSeries = showWindDirectionsSeries; + } + + public void setWindDirectionSourcesToDisplay(Set windDirectionSourcesToDisplay) { + if(windDirectionSourcesToDisplay != null) { + this.windDirectionSourcesToDisplay.clear(); + this.windDirectionSourcesToDisplay.addAll(windDirectionSourcesToDisplay); + } + } + + public void setWindSpeedSourcesToDisplay(Set windSpeedSourcesToDisplay) { + if(windSpeedSourcesToDisplay != null) { + this.windSpeedSourcesToDisplay.clear(); + this.windSpeedSourcesToDisplay.addAll(windSpeedSourcesToDisplay); + } + } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChartSettingsDialogComponent.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChartSettingsDialogComponent.java index 18eb5f298ba..02b2fb3e1f6 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChartSettingsDialogComponent.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChartSettingsDialogComponent.java @@ -5,8 +5,12 @@ import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; +import com.google.gwt.dom.client.Style.Unit; +import com.google.gwt.event.logical.shared.ValueChangeEvent; +import com.google.gwt.event.logical.shared.ValueChangeHandler; import com.google.gwt.user.client.ui.CheckBox; import com.google.gwt.user.client.ui.FocusWidget; +import com.google.gwt.user.client.ui.Grid; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.IntegerBox; import com.google.gwt.user.client.ui.Label; @@ -22,7 +26,8 @@ import com.sap.sailing.gwt.ui.shared.components.SettingsDialogComponent; public class WindChartSettingsDialogComponent implements SettingsDialogComponent { private final WindChartSettings initialSettings; private IntegerBox resolutionInSecondsBox; - private final Map checkboxes; + private final Map windDirectionsCheckboxes; + private final Map windSpeedCheckboxes; private CheckBox showWindSpeedSeriesCheckbox; private CheckBox showWindDirectionsSeriesCheckbox; @@ -32,48 +37,97 @@ public class WindChartSettingsDialogComponent implements SettingsDialogComponent super(); this.stringMessages = stringMessages; this.initialSettings = initialSettings; - checkboxes = new LinkedHashMap(); + windDirectionsCheckboxes = new LinkedHashMap(); + windSpeedCheckboxes = new LinkedHashMap(); } - @Override + @Override public Widget getAdditionalWidget(DataEntryDialog dialog) { VerticalPanel vp = new VerticalPanel(); resolutionInSecondsBox = dialog.createIntegerBox((int) (initialSettings.getResolutionInMilliseconds()/1000), /* visibleLength */ 5); HorizontalPanel hp = new HorizontalPanel(); - hp.add(new Label(stringMessages.stepSizeInSeconds())); + hp.add(new Label(stringMessages.stepSizeInSeconds() + ":")); hp.add(resolutionInSecondsBox); vp.add(hp); - - showWindSpeedSeriesCheckbox = dialog.createCheckbox(stringMessages.showWindSpeedSeries()); - showWindSpeedSeriesCheckbox.setValue(initialSettings.isShowWindSpeedSeries()); - vp.add(showWindSpeedSeriesCheckbox); - - showWindDirectionsSeriesCheckbox = dialog.createCheckbox(stringMessages.showWindDirectionSeries()); - showWindDirectionsSeriesCheckbox.setValue(initialSettings.isShowWindDirectionsSeries()); - vp.add(showWindDirectionsSeriesCheckbox); Label createHeadlineLabel = dialog.createHeadlineLabel(stringMessages.windSourcesUsed()); vp.add(createHeadlineLabel); + + Grid grid = new Grid(1,2); + grid.setCellPadding(5); + vp.add(grid); + + VerticalPanel windDirectionSourcesPanel = new VerticalPanel(); + grid.setWidget(0, 0, windDirectionSourcesPanel); + + VerticalPanel windSpeedSourcesPanel = new VerticalPanel(); + grid.setWidget(0, 1, windSpeedSourcesPanel); + + showWindSpeedSeriesCheckbox = dialog.createCheckbox(stringMessages.showWindSpeedSeries()); + showWindSpeedSeriesCheckbox.setValue(initialSettings.isShowWindSpeedSeries()); + showWindSpeedSeriesCheckbox.addValueChangeHandler(new ValueChangeHandler() { + @Override + public void onValueChange(ValueChangeEvent event) { + for (Map.Entry box : windSpeedCheckboxes.entrySet()) { + box.getValue().setEnabled(event.getValue()); + } + } + }); + + windSpeedSourcesPanel.add(showWindSpeedSeriesCheckbox); + + showWindDirectionsSeriesCheckbox = dialog.createCheckbox(stringMessages.showWindDirectionSeries()); + showWindDirectionsSeriesCheckbox.setValue(initialSettings.isShowWindDirectionsSeries()); + showWindDirectionsSeriesCheckbox.addValueChangeHandler(new ValueChangeHandler() { + @Override + public void onValueChange(ValueChangeEvent event) { + for (Map.Entry box : windDirectionsCheckboxes.entrySet()) { + box.getValue().setEnabled(event.getValue()); + } + } + }); + + windDirectionSourcesPanel.add(showWindDirectionsSeriesCheckbox); + for (WindSourceType windSourceType : WindSourceType.values()) { CheckBox checkbox = dialog.createCheckbox(WindSourceTypeFormatter.format(windSourceType, stringMessages)); - checkboxes.put(windSourceType, checkbox); - checkbox.setValue(initialSettings.getWindSourceTypesToDisplay().contains(windSourceType)); - vp.add(checkbox); + checkbox.setEnabled(initialSettings.isShowWindDirectionsSeries()); + windDirectionsCheckboxes.put(windSourceType, checkbox); + checkbox.setValue(initialSettings.getWindDirectionSourcesToDisplay().contains(windSourceType)); + checkbox.getElement().getStyle().setMarginLeft(15.0, Unit.PX); + windDirectionSourcesPanel.add(checkbox); } + + for (WindSourceType windSourceType : WindSourceType.values()) { + CheckBox checkbox = dialog.createCheckbox(WindSourceTypeFormatter.format(windSourceType, stringMessages)); + checkbox.setEnabled(initialSettings.isShowWindSpeedSeries()); + windSpeedCheckboxes.put(windSourceType, checkbox); + checkbox.setValue(initialSettings.getWindSpeedSourcesToDisplay().contains(windSourceType)); + checkbox.getElement().getStyle().setMarginLeft(15.0, Unit.PX); + windSpeedSourcesPanel.add(checkbox); + } + return vp; } @Override public WindChartSettings getResult() { - Set windSourceTypesToDisplay = new HashSet(); - for (Map.Entry e : checkboxes.entrySet()) { + Set windDirectionSourcesToDisplay = new HashSet(); + for (Map.Entry e : windDirectionsCheckboxes.entrySet()) { if (e.getValue().getValue()) { - windSourceTypesToDisplay.add(e.getKey()); + windDirectionSourcesToDisplay.add(e.getKey()); } } - return new WindChartSettings(showWindSpeedSeriesCheckbox.getValue(), showWindDirectionsSeriesCheckbox.getValue(), - windSourceTypesToDisplay, resolutionInSecondsBox.getValue() == null ? -1 : resolutionInSecondsBox.getValue()*1000); + Set windSpeedSourcesToDisplay = new HashSet(); + for (Map.Entry e : windSpeedCheckboxes.entrySet()) { + if (e.getValue().getValue()) { + windSpeedSourcesToDisplay.add(e.getKey()); + } + } + return new WindChartSettings(showWindSpeedSeriesCheckbox.getValue(), windSpeedSourcesToDisplay, + showWindDirectionsSeriesCheckbox.getValue(), windDirectionSourcesToDisplay, + resolutionInSecondsBox.getValue() == null ? -1 : resolutionInSecondsBox.getValue()*1000); } @Override From abf11664295ce2b04eb54aa69fa1654c71680ba5 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 22 May 2012 10:28:14 +0200 Subject: [PATCH 035/339] added some code to support storing/loading of Regatta/Series/Fleet/RaceColumn --- .../impl/DomainObjectFactoryImpl.java | 96 ++++++++++++++++++- .../domain/persistence/impl/FieldNames.java | 12 +++ .../impl/MongoObjectFactoryImpl.java | 59 ++++++++++-- .../sailing/domain/base/DomainFactory.java | 4 +- 4 files changed, 160 insertions(+), 11 deletions(-) diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index 451c34373f7..0944c065205 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -16,11 +16,14 @@ import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBObject; +import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.CourseArea; +import com.sap.sailing.domain.base.DomainFactory; import com.sap.sailing.domain.base.Event; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.base.SpeedWithBearing; import com.sap.sailing.domain.base.Venue; import com.sap.sailing.domain.base.impl.CourseAreaImpl; @@ -28,6 +31,8 @@ import com.sap.sailing.domain.base.impl.EventImpl; import com.sap.sailing.domain.base.impl.FleetImpl; import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl; import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; +import com.sap.sailing.domain.base.impl.RegattaImpl; +import com.sap.sailing.domain.base.impl.SeriesImpl; import com.sap.sailing.domain.base.impl.VenueImpl; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.Position; @@ -46,6 +51,7 @@ import com.sap.sailing.domain.leaderboard.RaceColumn; import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; import com.sap.sailing.domain.leaderboard.impl.LeaderboardGroupImpl; +import com.sap.sailing.domain.leaderboard.impl.RaceColumnImpl; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; import com.sap.sailing.domain.persistence.DomainObjectFactory; @@ -248,7 +254,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { * leaderboards which don't know about fleets yet; this key should be mapped to the leaderboard's default * fleet. */ - private Map loadRaceIdentifiers(BasicDBObject dbRaceColumn) { + private Map loadRaceIdentifiers(DBObject dbRaceColumn) { Map result = new HashMap(); // try to load a deprecated single race identifier to associate with the default fleet: RaceIdentifier singleLegacyRaceIdentifier = loadRaceIdentifier(dbRaceColumn); @@ -318,7 +324,6 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { @Override public Iterable getLeaderboardsNotInGroup() { DBCollection leaderboardCollection = database.getCollection(CollectionNames.LEADERBOARDS.name()); - Set result = new HashSet(); try { //Don't change the query object, unless you know what you're doing @@ -413,8 +418,91 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { @Override public Regatta loadRegatta(String name) { - // TODO Auto-generated method stub - return null; + DBObject query = new BasicDBObject(FieldNames.REGATTA_NAME.name(), name); + DBCollection regattaCollection = database.getCollection(CollectionNames.REGATTAS.name()); + DBObject dbRegatta = regattaCollection.findOne(query); + Regatta result = null; + if (dbRegatta != null) { + String regattaName = (String) dbRegatta.get(FieldNames.REGATTA_NAME.name()); + String baseName = (String) dbRegatta.get(FieldNames.REGATTA_BASE_NAME.name()); + assert regattaName.equals(name); + String boatClassName = (String) dbRegatta.get(FieldNames.BOAT_CLASS_NAME.name()); + BoatClass boatClass = null; + if (boatClassName != null) { + boolean typicallyStartsUpwind = (Boolean) dbRegatta.get(FieldNames.BOAT_CLASS_TYPICALLY_STARTS_UPWIND.name()); + boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass(boatClassName, typicallyStartsUpwind); + } + BasicDBList dbSeries = (BasicDBList) dbRegatta.get(FieldNames.REGATTA_SERIES.name()); + Iterable series = loadSeries(dbSeries); + result = new RegattaImpl(baseName, boatClass, series); + } + return result; + } + + private Iterable loadSeries(BasicDBList dbSeries) { + List result = new ArrayList(); + for (Object o : dbSeries) { + DBObject oneDBSeries = (DBObject) o; + Series series = loadSeries(oneDBSeries); + result.add(series); + } + return result; + } + + private Series loadSeries(DBObject dbSeries) { + String name = (String) dbSeries.get(FieldNames.SERIES_NAME.name()); + boolean isFleetsOrdered = (Boolean) dbSeries.get(FieldNames.SERIES_IS_FLEETS_ORDERED.name()); + final BasicDBList dbFleets = (BasicDBList) dbSeries.get(FieldNames.SERIES_FLEETS.name()); + Map fleetsByName = loadFleets(dbFleets); + BasicDBList dbRaceColumns = (BasicDBList) dbSeries.get(FieldNames.SERIES_RACE_COLUMNS.name()); + Iterable raceColumns = loadRaceColumns(dbRaceColumns, fleetsByName); + Series result = new SeriesImpl(name, isFleetsOrdered, fleetsByName.values(), raceColumns); + return result; + } + + /** + * @param fleetsByName used to ensure the {@link RaceColumn#getFleets()} points to the same {@link Fleet} objects also + * used in the {@link Series#getFleets()} collection. + */ + private Iterable loadRaceColumns(BasicDBList dbRaceColumns, Map fleetsByName) { + List result = new ArrayList(); + for (Object o : dbRaceColumns) { + DBObject dbRaceColumn = (DBObject) o; + result.add(loadRaceColumn(dbRaceColumn, fleetsByName)); + } + return result; + } + + private RaceColumn loadRaceColumn(DBObject dbRaceColumn, Map fleetsByName) { + String name = (String) dbRaceColumn.get(FieldNames.LEADERBOARD_COLUMN_NAME.name()); + boolean medalRace = (Boolean) dbRaceColumn.get(FieldNames.LEADERBOARD_IS_MEDAL_RACE_COLUMN.name()); + RaceColumn raceColumn = new RaceColumnImpl(name, medalRace, fleetsByName.values()); + Map raceIdentifiersPerFleetName = loadRaceIdentifiers(dbRaceColumn); + for (Map.Entry e : raceIdentifiersPerFleetName.entrySet()) { + // null key for "default" fleet is not acceptable here + if (e.getKey() == null) { + logger.warning("Ignoring null fleet name while loading RaceColumn "+name); + } else { + raceColumn.setRaceIdentifier(fleetsByName.get(e.getKey()), e.getValue()); + } + } + return raceColumn; + } + + private Map loadFleets(BasicDBList dbFleets) { + Map result = new HashMap(); + for (Object o : dbFleets) { + DBObject dbFleet = (DBObject) o; + Fleet fleet = loadFleet(dbFleet); + result.put(fleet.getName(), fleet); + } + return result; + } + + private Fleet loadFleet(DBObject dbFleet) { + String name = (String) dbFleet.get(FieldNames.FLEET_NAME.name()); + Fleet result = new FleetImpl(name); + return result; } } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java index b0b7db17fc0..a70b7bd296f 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java @@ -11,6 +11,15 @@ public enum FieldNames { */ EVENT_NAME, + REGATTA_NAME, + REGATTA_BASE_NAME, + REGATTA_SERIES, + SERIES_NAME, + SERIES_IS_FLEETS_ORDERED, + SERIES_FLEETS, + SERIES_RACE_COLUMNS, + FLEET_NAME, + RACE_NAME, VENUE, @@ -19,6 +28,9 @@ public enum FieldNames { COURSE_AREAS, COURSE_AREA_NAME, + BOAT_CLASS_NAME, + BOAT_CLASS_TYPICALLY_STARTS_UPWIND, + // wind: WIND_SOURCE_NAME, WIND_SOURCE_ID, WIND, diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java index 38569be396d..b2318c48c05 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java @@ -15,6 +15,7 @@ import com.sap.sailing.domain.base.Event; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.base.SpeedWithBearing; import com.sap.sailing.domain.base.Timed; import com.sap.sailing.domain.base.Venue; @@ -135,10 +136,7 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { BasicDBList dbRaceColumns = new BasicDBList(); result.put(FieldNames.LEADERBOARD_COLUMNS.name(), dbRaceColumns); for (RaceColumn raceColumn : leaderboard.getRaceColumns()) { - BasicDBObject dbRaceColumn = new BasicDBObject(); - dbRaceColumn.put(FieldNames.LEADERBOARD_COLUMN_NAME.name(), raceColumn.getName()); - dbRaceColumn.put(FieldNames.LEADERBOARD_IS_MEDAL_RACE_COLUMN.name(), raceColumn.isMedalRace()); - storeRaceIdentifiers(raceColumn, dbRaceColumn); + BasicDBObject dbRaceColumn = storeRaceColumn(raceColumn); dbRaceColumns.add(dbRaceColumn); } if (leaderboard.hasCarriedPoints()) { @@ -167,6 +165,14 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { leaderboardCollection.update(query, result, /* upsrt */ true, /* multi */ false); } + private BasicDBObject storeRaceColumn(RaceColumn raceColumn) { + BasicDBObject dbRaceColumn = new BasicDBObject(); + dbRaceColumn.put(FieldNames.LEADERBOARD_COLUMN_NAME.name(), raceColumn.getName()); + dbRaceColumn.put(FieldNames.LEADERBOARD_IS_MEDAL_RACE_COLUMN.name(), raceColumn.isMedalRace()); + storeRaceIdentifiers(raceColumn, dbRaceColumn); + return dbRaceColumn; + } + private void storeScoreCorrections(Leaderboard leaderboard, BasicDBObject dbScoreCorrections) { SettableScoreCorrection scoreCorrection = leaderboard.getScoreCorrection(); for (RaceColumn raceColumn : leaderboard.getRaceColumns()) { @@ -260,6 +266,7 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { @Override public void storeEvent(Event event) { DBCollection eventCollection = database.getCollection(CollectionNames.EVENTS.name()); + eventCollection.ensureIndex(FieldNames.EVENT_NAME.name()); DBObject query = new BasicDBObject(); query.put(FieldNames.EVENT_NAME.name(), event.getName()); DBObject eventDBObject = new BasicDBObject(); @@ -284,8 +291,48 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { @Override public void storeRegatta(Regatta regatta) { - // TODO Auto-generated method stub - + DBCollection regattasCollection = database.getCollection(CollectionNames.REGATTAS.name()); + regattasCollection.ensureIndex(FieldNames.REGATTA_NAME.name()); + DBObject dbRegatta = new BasicDBObject(); + DBObject query = new BasicDBObject(FieldNames.REGATTA_NAME.name(), regatta.getName()); + dbRegatta.put(FieldNames.REGATTA_NAME.name(), regatta.getName()); + dbRegatta.put(FieldNames.REGATTA_BASE_NAME.name(), regatta.getBaseName()); + if (regatta.getBoatClass() != null) { + dbRegatta.put(FieldNames.BOAT_CLASS_NAME.name(), regatta.getBoatClass().getName()); + dbRegatta.put(FieldNames.BOAT_CLASS_TYPICALLY_STARTS_UPWIND.name(), regatta.getBoatClass().typicallyStartsUpwind()); + } + dbRegatta.put(FieldNames.REGATTA_SERIES.name(), storeSeries(regatta.getSeries())); + regattasCollection.update(query, dbRegatta, /* upsrt */ true, /* multi */ false); + } + + private BasicDBList storeSeries(Iterable series) { + BasicDBList dbSeries = new BasicDBList(); + for (Series s : series) { + dbSeries.add(storeSeries(s)); + } + return dbSeries; + } + + private DBObject storeSeries(Series s) { + DBObject dbSeries = new BasicDBObject(); + dbSeries.put(FieldNames.SERIES_NAME.name(), s.getName()); + dbSeries.put(FieldNames.SERIES_IS_FLEETS_ORDERED.name(), s.isFleetsOrdered()); + BasicDBList dbFleets = new BasicDBList(); + for (Fleet fleet : s.getFleets()) { + dbFleets.add(storeFleet(fleet)); + } + dbSeries.put(FieldNames.SERIES_FLEETS.name(), dbFleets); + BasicDBList dbRaceColumns = new BasicDBList(); + for (RaceColumn raceColumn : s.getRaceColumns()) { + dbRaceColumns.add(storeRaceColumn(raceColumn)); + } + dbSeries.put(FieldNames.SERIES_RACE_COLUMNS.name(), dbRaceColumns); + return dbSeries; + } + + private DBObject storeFleet(Fleet fleet) { + DBObject dbFleet = new BasicDBObject(FieldNames.FLEET_NAME.name(), fleet.getName()); + return dbFleet; } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/DomainFactory.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/DomainFactory.java index e0abb6678cb..e70d6296300 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/DomainFactory.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/DomainFactory.java @@ -31,8 +31,10 @@ public interface DomainFactory { /** * Caches an existing waypoint. This is useful, e.g., after de-serialization of a waypoint that has a yet unknown ID. + * + * @param waypoint a waypoint that hasn't been cached in this domain factory before */ - void cacheWaypoint(Waypoint waypoint); + void cacheWaypoint(Waypoint waypoint); MarkPassing createMarkPassing(TimePoint timePoint, Waypoint waypoint, Competitor competitor); From 81fd84e08edda80b21063eb5721ad3ffc0ab93a4 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 22 May 2012 11:28:27 +0200 Subject: [PATCH 036/339] first tiny successful test for storing / loading regatta --- .../impl/DomainObjectFactoryImpl.java | 39 ++++---- .../domain/persistence/impl/FieldNames.java | 1 + .../impl/MongoObjectFactoryImpl.java | 1 + .../com/sap/sailing/domain/base/Series.java | 12 +++ .../domain/base/impl/AbstractRaceColumn.java | 92 +++++++++++++++++++ .../domain/base/impl/RaceColumnInSeries.java | 30 ++++++ .../sailing/domain/base/impl/RegattaImpl.java | 3 +- .../sailing/domain/base/impl/SeriesImpl.java | 51 ++++++++-- .../leaderboard/FlexibleLeaderboard.java | 2 + .../leaderboard/FlexibleRaceColumn.java | 5 + .../domain/leaderboard/Leaderboard.java | 2 - .../domain/leaderboard/RaceColumn.java | 4 +- .../impl/AbstractLeaderboardImpl.java | 12 --- .../impl/FlexibleLeaderboardImpl.java | 34 +++++-- .../leaderboard/impl/RaceColumnImpl.java | 85 +---------------- .../mongodb/test/AbstractMongoDBTest.java | 8 ++ ...estStoringAndLoadingEventsAndRegattas.java | 81 +++++++++++++++- .../UpdateIsMedalRace.java | 5 +- 18 files changed, 327 insertions(+), 140 deletions(-) create mode 100755 java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java create mode 100755 java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeries.java create mode 100755 java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleRaceColumn.java diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index 0944c065205..d1c43ca42f8 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -51,7 +51,6 @@ import com.sap.sailing.domain.leaderboard.RaceColumn; import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; import com.sap.sailing.domain.leaderboard.impl.LeaderboardGroupImpl; -import com.sap.sailing.domain.leaderboard.impl.RaceColumnImpl; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; import com.sap.sailing.domain.persistence.DomainObjectFactory; @@ -452,41 +451,43 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { private Series loadSeries(DBObject dbSeries) { String name = (String) dbSeries.get(FieldNames.SERIES_NAME.name()); boolean isFleetsOrdered = (Boolean) dbSeries.get(FieldNames.SERIES_IS_FLEETS_ORDERED.name()); + boolean isMedal = (Boolean) dbSeries.get(FieldNames.SERIES_IS_MEDAL.name()); final BasicDBList dbFleets = (BasicDBList) dbSeries.get(FieldNames.SERIES_FLEETS.name()); Map fleetsByName = loadFleets(dbFleets); BasicDBList dbRaceColumns = (BasicDBList) dbSeries.get(FieldNames.SERIES_RACE_COLUMNS.name()); - Iterable raceColumns = loadRaceColumns(dbRaceColumns, fleetsByName); - Series result = new SeriesImpl(name, isFleetsOrdered, fleetsByName.values(), raceColumns); - return result; + Iterable raceColumnNames = loadRaceColumnNames(dbRaceColumns, fleetsByName); + Series series = new SeriesImpl(name, isFleetsOrdered, isMedal, fleetsByName.values(), raceColumnNames); + loadRaceColumnRaceLinks(dbRaceColumns, series); + return series; } /** * @param fleetsByName used to ensure the {@link RaceColumn#getFleets()} points to the same {@link Fleet} objects also * used in the {@link Series#getFleets()} collection. */ - private Iterable loadRaceColumns(BasicDBList dbRaceColumns, Map fleetsByName) { - List result = new ArrayList(); + private Iterable loadRaceColumnNames(BasicDBList dbRaceColumns, Map fleetsByName) { + List result = new ArrayList(); for (Object o : dbRaceColumns) { DBObject dbRaceColumn = (DBObject) o; - result.add(loadRaceColumn(dbRaceColumn, fleetsByName)); + result.add((String) dbRaceColumn.get(FieldNames.LEADERBOARD_COLUMN_NAME.name())); } return result; } - private RaceColumn loadRaceColumn(DBObject dbRaceColumn, Map fleetsByName) { - String name = (String) dbRaceColumn.get(FieldNames.LEADERBOARD_COLUMN_NAME.name()); - boolean medalRace = (Boolean) dbRaceColumn.get(FieldNames.LEADERBOARD_IS_MEDAL_RACE_COLUMN.name()); - RaceColumn raceColumn = new RaceColumnImpl(name, medalRace, fleetsByName.values()); - Map raceIdentifiersPerFleetName = loadRaceIdentifiers(dbRaceColumn); - for (Map.Entry e : raceIdentifiersPerFleetName.entrySet()) { - // null key for "default" fleet is not acceptable here - if (e.getKey() == null) { - logger.warning("Ignoring null fleet name while loading RaceColumn "+name); - } else { - raceColumn.setRaceIdentifier(fleetsByName.get(e.getKey()), e.getValue()); + private void loadRaceColumnRaceLinks(BasicDBList dbRaceColumns, Series series) { + for (Object o : dbRaceColumns) { + DBObject dbRaceColumn = (DBObject) o; + String name = (String) dbRaceColumn.get(FieldNames.LEADERBOARD_COLUMN_NAME.name()); + Map raceIdentifiersPerFleetName = loadRaceIdentifiers(dbRaceColumn); + for (Map.Entry e : raceIdentifiersPerFleetName.entrySet()) { + // null key for "default" fleet is not acceptable here + if (e.getKey() == null) { + logger.warning("Ignoring null fleet name while loading RaceColumn " + name); + } else { + series.getRaceColumnByName(name).setRaceIdentifier(series.getFleetByName(e.getKey()), e.getValue()); + } } } - return raceColumn; } private Map loadFleets(BasicDBList dbFleets) { diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java index a70b7bd296f..4c14af1c66c 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java @@ -15,6 +15,7 @@ public enum FieldNames { REGATTA_BASE_NAME, REGATTA_SERIES, SERIES_NAME, + SERIES_IS_MEDAL, SERIES_IS_FLEETS_ORDERED, SERIES_FLEETS, SERIES_RACE_COLUMNS, diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java index b2318c48c05..2dc2bb8227d 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java @@ -317,6 +317,7 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { DBObject dbSeries = new BasicDBObject(); dbSeries.put(FieldNames.SERIES_NAME.name(), s.getName()); dbSeries.put(FieldNames.SERIES_IS_FLEETS_ORDERED.name(), s.isFleetsOrdered()); + dbSeries.put(FieldNames.SERIES_IS_MEDAL.name(), s.isMedal()); BasicDBList dbFleets = new BasicDBList(); for (Fleet fleet : s.getFleets()) { dbFleets.add(storeFleet(fleet)); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java index a43db758bf4..5f6b2924bf9 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java @@ -26,10 +26,22 @@ public interface Series extends Named { */ Iterable getRaceColumns(); + RaceColumn getRaceColumnByName(String columnName); + /** * Tells whether the fleets returned by {@link #getFleets()} have a relevant ordering. This is the case particularly * for final series with fleets such as "Gold" and "Silver" but usually not for qualification series with fleets such * as "Yellow" and "Blue" which don't have an ordering, particularly for ranking considerations. */ boolean isFleetsOrdered(); + + /** + * Tells whether this is the "last" / "medal" race series, usually having only one race. This may have implications + * on the scoring scheme (usually, medal races scores are doubled and cannot be discarded). + */ + boolean isMedal(); + + void setIsMedal(boolean isMedal); + + Fleet getFleetByName(String fleetName); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java new file mode 100755 index 00000000000..ed92f354bb3 --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java @@ -0,0 +1,92 @@ +package com.sap.sailing.domain.base.impl; + +import java.util.HashMap; +import java.util.Map; + +import com.sap.sailing.domain.base.Competitor; +import com.sap.sailing.domain.base.Fleet; +import com.sap.sailing.domain.common.RaceIdentifier; +import com.sap.sailing.domain.common.impl.Util; +import com.sap.sailing.domain.common.impl.Util.Pair; +import com.sap.sailing.domain.leaderboard.RaceColumn; +import com.sap.sailing.domain.tracking.TrackedRace; + +public abstract class AbstractRaceColumn implements RaceColumn { + private static final long serialVersionUID = -7801617988982540470L; + + private final Map trackedRaces; + private String name; + private final Map raceIdentifiers; + + public AbstractRaceColumn(String name) { + this.name = name; + this.trackedRaces = new HashMap(); + this.raceIdentifiers = new HashMap(); + } + + @Override + public TrackedRace getTrackedRace(Fleet fleet) { + return trackedRaces.get(fleet); + } + + @Override + public void setTrackedRace(Fleet fleet, TrackedRace trackedRace) { + this.trackedRaces.put(fleet, trackedRace); + this.setRaceIdentifier(fleet, trackedRace == null ? null : trackedRace.getRaceIdentifier()); + } + + @Override + public String getName() { + return name; + } + + @Override + public void setName(String newName) { + this.name = newName; + } + + @Override + public Pair getKey(Competitor competitor) { + return new Pair(competitor, this); + } + + @Override + public RaceIdentifier getRaceIdentifier(Fleet fleet) { + return raceIdentifiers.get(fleet); + } + + @Override + public void setRaceIdentifier(Fleet fleet, RaceIdentifier raceIdentifier) { + this.raceIdentifiers.put(fleet, raceIdentifier); + } + + @Override + public void releaseTrackedRace(Fleet fleet) { + trackedRaces.remove(fleet); + } + + @Override + public Fleet getFleetByName(String fleetName) { + for (Fleet fleet : getFleets()) { + if (fleet.getName().equals(fleetName)) { + return fleet; + } + } + return null; + } + + @Override + public boolean hasTrackedRaces() { + return !trackedRaces.isEmpty(); + } + + @Override + public TrackedRace getTrackedRace(Competitor competitor) { + for (TrackedRace trackedRace : trackedRaces.values()) { + if (Util.contains(trackedRace.getRace().getCompetitors(), competitor)) { + return trackedRace; + } + } + return null; + } +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeries.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeries.java new file mode 100755 index 00000000000..335922217fc --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeries.java @@ -0,0 +1,30 @@ +package com.sap.sailing.domain.base.impl; + +import com.sap.sailing.domain.base.Fleet; +import com.sap.sailing.domain.base.Series; + +/** + * Obtains flees and medal information from the {@link Series} to which it is connected at construction time. + * + * @author Axel Uhl (D043530) + * + */ +public class RaceColumnInSeries extends AbstractRaceColumn { + private static final long serialVersionUID = -2199678838624406645L; + private final Series series; + + public RaceColumnInSeries(String name, Series series) { + super(name); + this.series = series; + } + + @Override + public Iterable getFleets() { + return series.getFleets(); + } + + @Override + public boolean isMedalRace() { + return series.isMedal(); + } +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java index 07b23566f22..412f2ac2f0b 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java @@ -16,7 +16,6 @@ import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.RegattaIdentifier; import com.sap.sailing.domain.common.RegattaName; import com.sap.sailing.domain.common.impl.NamedImpl; -import com.sap.sailing.domain.leaderboard.RaceColumn; public class RegattaImpl extends NamedImpl implements Regatta { private static final long serialVersionUID = 6509564189552478869L; @@ -30,7 +29,7 @@ public class RegattaImpl extends NamedImpl implements Regatta { */ public RegattaImpl(String baseName, BoatClass boatClass) { this(baseName, boatClass, Collections.singletonList(new SeriesImpl("Default", /* isFleetsOrdered */true, - Collections.singletonList(new FleetImpl("Default")), new ArrayList()))); + /* isMedal */ false, Collections.singletonList(new FleetImpl("Default")), /* race column names */ new ArrayList()))); } public RegattaImpl(String baseName, BoatClass boatClass, Iterable series) { diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java index 584b0c8ad0c..6bb8c34489c 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java @@ -1,5 +1,10 @@ package com.sap.sailing.domain.base.impl; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.impl.NamedImpl; @@ -8,14 +13,24 @@ import com.sap.sailing.domain.leaderboard.RaceColumn; public class SeriesImpl extends NamedImpl implements Series { private static final long serialVersionUID = -1640404303144907381L; private final boolean isFleetsOrdered; - private final Iterable fleets; - private final Iterable raceColumns; + private final Map fleetsByName; + private final Iterable raceColumns; + private boolean isMedal; - public SeriesImpl(String name, boolean isFleetsOrdered, Iterable fleets, Iterable raceColumns) { + public SeriesImpl(String name, boolean isFleetsOrdered, boolean isMedal, Iterable fleets, Iterable raceColumnNames) { super(name); this.isFleetsOrdered = isFleetsOrdered; - this.fleets = fleets; - this.raceColumns = raceColumns; + this.fleetsByName = new HashMap(); + for (Fleet fleet : fleets) { + this.fleetsByName.put(fleet.getName(), fleet); + } + List myRaceColumns = new ArrayList(); + for (String raceColumnName : raceColumnNames) { + RaceColumnInSeries raceColumn = new RaceColumnInSeries(raceColumnName, this); + myRaceColumns.add(raceColumn); + } + this.raceColumns = myRaceColumns; + this.isMedal = isMedal; } public boolean isFleetsOrdered() { @@ -23,7 +38,12 @@ public class SeriesImpl extends NamedImpl implements Series { } public Iterable getFleets() { - return fleets; + return fleetsByName.values(); + } + + @Override + public Fleet getFleetByName(String fleetName) { + return fleetsByName.get(fleetName); } @Override @@ -31,4 +51,23 @@ public class SeriesImpl extends NamedImpl implements Series { return raceColumns; } + @Override + public RaceColumn getRaceColumnByName(String columnName) { + for (RaceColumn raceColumn : raceColumns) { + if (raceColumn.getName().equals(columnName)) { + return raceColumn; + } + } + return null; + } + + @Override + public boolean isMedal() { + return isMedal; + } + + @Override + public void setIsMedal(boolean isMedal) { + this.isMedal = isMedal; + } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java index 682aaeac493..adc93c01183 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java @@ -62,4 +62,6 @@ public interface FlexibleLeaderboard extends Leaderboard { void removeRaceColumn(String columnName); + void updateIsMedalRace(String raceName, boolean isMedalRace); + } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleRaceColumn.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleRaceColumn.java new file mode 100755 index 00000000000..1c3cdb74129 --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleRaceColumn.java @@ -0,0 +1,5 @@ +package com.sap.sailing.domain.leaderboard; + +public interface FlexibleRaceColumn extends RaceColumn { + void setIsMedalRace(boolean isMedalRace); +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java index 446237708ba..b491ab5bf87 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java @@ -200,8 +200,6 @@ public interface Leaderboard extends Named { */ boolean considerForDiscarding(RaceColumn raceInLeaderboard, TimePoint timePoint); - void updateIsMedalRace(String raceName, boolean isMedalRace); - public void setResultDiscardingRule(ThresholdBasedResultDiscardingRule discardingRule); Competitor getCompetitorByIdAsString(String idAsString); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/RaceColumn.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/RaceColumn.java index 9c926a2140a..02d2763f203 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/RaceColumn.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/RaceColumn.java @@ -27,7 +27,7 @@ public interface RaceColumn extends Named { /** * @return the fleets for each of which this column has a single race and therefore optionally a {@link TrackedRace} */ - Iterable getFleets(); + Iterable getFleets(); Fleet getFleetByName(String fleetName); @@ -85,8 +85,6 @@ public interface RaceColumn extends Named { */ boolean isMedalRace(); - void setIsMedalRace(boolean isMedalRace); - void setName(String newName); /** diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java index 9ac55be8613..55a337c3ebf 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java @@ -330,18 +330,6 @@ public abstract class AbstractLeaderboardImpl implements Leaderboard { displayNames.put(competitor, displayName); } - @Override - public void updateIsMedalRace(String raceName, boolean isMedalRace) { - RaceColumn race = null; - for (RaceColumn r : getRaceColumns()) { - if (r.getName().equals(raceName)) - race = r; - } - if (race != null) { - race.setIsMedalRace(isMedalRace); - } - } - @Override public void setResultDiscardingRule(ThresholdBasedResultDiscardingRule discardingRule) { this.resultDiscardingRule = discardingRule; diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java index a18acba695f..7218850cd68 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java @@ -9,6 +9,7 @@ import java.util.logging.Logger; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.impl.FleetImpl; import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; +import com.sap.sailing.domain.leaderboard.FlexibleRaceColumn; import com.sap.sailing.domain.leaderboard.RaceColumn; import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; @@ -26,17 +27,17 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements protected static final Fleet defaultFleet = new FleetImpl("Default"); private static final long serialVersionUID = -5708971849158747846L; - private final List races; + private final List races; public FlexibleLeaderboardImpl(String name, SettableScoreCorrection scoreCorrection, ThresholdBasedResultDiscardingRule resultDiscardingRule) { super(name, scoreCorrection, resultDiscardingRule); - this.races = new ArrayList(); + this.races = new ArrayList(); } @Override public RaceColumn addRaceColumn(String name, boolean medalRace, Fleet... fleets) { - RaceColumn column = getRaceColumnByName(name); + FlexibleRaceColumn column = getRaceColumnByName(name); if (column != null) { final String msg = "Trying to create race column with duplicate name "+name+" in leaderboard +"+getName(); logger.severe(msg); @@ -47,6 +48,11 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements return column; } + @Override + public FlexibleRaceColumn getRaceColumnByName(String columnName) { + return (FlexibleRaceColumn) super.getRaceColumnByName(columnName); + } + @Override public Fleet getFleet(String fleetName) { Fleet result; @@ -70,7 +76,7 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements @Override public RaceColumn addRace(TrackedRace race, String columnName, boolean medalRace, Fleet fleet) { - RaceColumn column = getRaceColumnByName(columnName); + FlexibleRaceColumn column = getRaceColumnByName(columnName); if (column == null) { column = createRaceColumn(columnName, medalRace); races.add(column); @@ -95,8 +101,8 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements @Override public void moveRaceColumnUp(String name) { - RaceColumn race = null; - for (RaceColumn r : races) { + FlexibleRaceColumn race = null; + for (FlexibleRaceColumn r : races) { if (r.getName().equals(name)) { race = r; } @@ -115,8 +121,8 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements @Override public void moveRaceColumnDown(String name) { - RaceColumn race = null; - for (RaceColumn r : races) { + FlexibleRaceColumn race = null; + for (FlexibleRaceColumn r : races) { if (r.getName().equals(name)) { race = r; } @@ -136,4 +142,16 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements } } + @Override + public void updateIsMedalRace(String raceName, boolean isMedalRace) { + FlexibleRaceColumn race = null; + for (FlexibleRaceColumn r : races) { + if (r.getName().equals(raceName)) + race = r; + } + if (race != null) { + race.setIsMedalRace(isMedalRace); + } + } + } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RaceColumnImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RaceColumnImpl.java index 8267614721b..f4051d853c0 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RaceColumnImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RaceColumnImpl.java @@ -1,17 +1,10 @@ package com.sap.sailing.domain.leaderboard.impl; -import java.util.HashMap; -import java.util.Map; - -import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.Fleet; -import com.sap.sailing.domain.common.RaceIdentifier; -import com.sap.sailing.domain.common.impl.Util; -import com.sap.sailing.domain.common.impl.Util.Pair; -import com.sap.sailing.domain.leaderboard.RaceColumn; -import com.sap.sailing.domain.tracking.TrackedRace; +import com.sap.sailing.domain.base.impl.AbstractRaceColumn; +import com.sap.sailing.domain.leaderboard.FlexibleRaceColumn; -public class RaceColumnImpl implements RaceColumn { +public class RaceColumnImpl extends AbstractRaceColumn implements FlexibleRaceColumn { private static final long serialVersionUID = -7801617988982540470L; /** @@ -19,17 +12,12 @@ public class RaceColumnImpl implements RaceColumn { * {@link #trackedRaces} and {@link #raceIdentifiers}. */ private final Iterable fleets; - private final Map trackedRaces; private boolean medalRace; - private String name; - private final Map raceIdentifiers; public RaceColumnImpl(String name, boolean medalRace, Iterable fleets) { - this.name = name; + super(name); this.medalRace = medalRace; this.fleets = fleets; - this.trackedRaces = new HashMap(); - this.raceIdentifiers = new HashMap(); } @Override @@ -37,79 +25,14 @@ public class RaceColumnImpl implements RaceColumn { return medalRace; } - @Override - public TrackedRace getTrackedRace(Fleet fleet) { - return trackedRaces.get(fleet); - } - - @Override - public void setTrackedRace(Fleet fleet, TrackedRace trackedRace) { - this.trackedRaces.put(fleet, trackedRace); - this.setRaceIdentifier(fleet, trackedRace == null ? null : trackedRace.getRaceIdentifier()); - } - - @Override - public String getName() { - return name; - } - - @Override - public void setName(String newName) { - this.name = newName; - } - - @Override - public Pair getKey(Competitor competitor) { - return new Pair(competitor, this); - } - @Override public void setIsMedalRace(boolean isMedalRace) { this.medalRace = isMedalRace; } - @Override - public RaceIdentifier getRaceIdentifier(Fleet fleet) { - return raceIdentifiers.get(fleet); - } - - @Override - public void setRaceIdentifier(Fleet fleet, RaceIdentifier raceIdentifier) { - this.raceIdentifiers.put(fleet, raceIdentifier); - } - - @Override - public void releaseTrackedRace(Fleet fleet) { - trackedRaces.remove(fleet); - } - @Override public Iterable getFleets() { return fleets; } - @Override - public Fleet getFleetByName(String fleetName) { - for (Fleet fleet : getFleets()) { - if (fleet.getName().equals(fleetName)) { - return fleet; - } - } - return null; - } - - @Override - public boolean hasTrackedRaces() { - return !trackedRaces.isEmpty(); - } - - @Override - public TrackedRace getTrackedRace(Competitor competitor) { - for (TrackedRace trackedRace : trackedRaces.values()) { - if (Util.contains(trackedRace.getRace().getCompetitors(), competitor)) { - return trackedRace; - } - } - return null; - } } diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java index 504b819ea32..c12d11d3c39 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java @@ -10,14 +10,18 @@ import com.mongodb.DB; import com.mongodb.Mongo; import com.mongodb.MongoException; import com.sap.sailing.mongodb.MongoDBConfiguration; +import com.sap.sailing.mongodb.MongoDBService; public abstract class AbstractMongoDBTest { protected Mongo mongo; protected DB db; private final MongoDBConfiguration dbConfiguration; + private MongoDBService service; public AbstractMongoDBTest() { dbConfiguration = MongoDBConfiguration.getDefaultTestConfiguration(); + service = MongoDBService.INSTANCE; + service.setConfiguration(getDBConfiguration()); } protected MongoDBConfiguration getDBConfiguration() { @@ -36,4 +40,8 @@ public abstract class AbstractMongoDBTest { db = mongo.getDB(getDBConfiguration().getDatabaseName()); assertNotNull(db); } + + protected MongoDBService getMongoService() { + return service; + } } diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 35155ddffdb..c6893d86d7c 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -3,19 +3,29 @@ package com.sap.sailing.mongodb.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import java.util.ArrayList; +import java.util.List; + import org.junit.Test; +import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.CourseArea; +import com.sap.sailing.domain.base.DomainFactory; import com.sap.sailing.domain.base.Event; +import com.sap.sailing.domain.base.Fleet; +import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.base.Venue; import com.sap.sailing.domain.base.impl.CourseAreaImpl; import com.sap.sailing.domain.base.impl.EventImpl; +import com.sap.sailing.domain.base.impl.FleetImpl; +import com.sap.sailing.domain.base.impl.RegattaImpl; +import com.sap.sailing.domain.base.impl.SeriesImpl; import com.sap.sailing.domain.base.impl.VenueImpl; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.persistence.DomainObjectFactory; import com.sap.sailing.domain.persistence.MongoFactory; import com.sap.sailing.domain.persistence.MongoObjectFactory; -import com.sap.sailing.mongodb.MongoDBService; public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest { @Test @@ -28,13 +38,11 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest CourseArea courseArea = new CourseAreaImpl(courseAreaName); venue.addCourseArea(courseArea); } - MongoDBService service = MongoDBService.INSTANCE; - service.setConfiguration(getDBConfiguration()); - MongoObjectFactory mof = MongoFactory.INSTANCE.getMongoObjectFactory(service); + MongoObjectFactory mof = MongoFactory.INSTANCE.getMongoObjectFactory(getMongoService()); Event event = new EventImpl(eventName, venue); mof.storeEvent(event); - DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(service); + DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(getMongoService()); Event loadedEvent = dof.loadEvent(eventName); assertNotNull(loadedEvent); assertEquals(eventName, loadedEvent.getName()); @@ -47,4 +55,67 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest assertEquals(courseAreaNames[i++], loadedCourseArea.getName()); } } + + @Test + public void testLoadStoreSimpleRegatta() { + final int numberOfQualifyingRaces = 5; + final int numberOfFinalRaces = 7; + final String regattaBaseName = "Kieler Woche"; + BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); + Regatta regatta = createRegatta(numberOfQualifyingRaces, numberOfFinalRaces, regattaBaseName, boatClass); + MongoObjectFactory mof = MongoFactory.INSTANCE.getMongoObjectFactory(getMongoService()); + mof.storeRegatta(regatta); + + DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(getMongoService()); + Regatta loadedRegatta = dof.loadRegatta(regatta.getName()); + assertEquals(regattaBaseName, loadedRegatta.getBaseName()); + } + + @Test + public void testLoadStoreRegattaWithFleetsEnsuringIdenticalFleetsInSeriesAndRaceColumns() { + + } + + + private Regatta createRegatta(final int numberOfQualifyingRaces, final int numberOfFinalRaces, + final String regattaBaseName, BoatClass boatClass) { + List series = new ArrayList(); + + // -------- qualifying series ------------ + List qualifyingFleets = new ArrayList(); + qualifyingFleets.add(new FleetImpl("Yellow")); + qualifyingFleets.add(new FleetImpl("Blue")); + List qualifyingRaceColumnNames = new ArrayList(); + for (int i=1; i<=numberOfQualifyingRaces; i++) { + qualifyingRaceColumnNames.add("Q"+i); + } + Series qualifyingSeries = new SeriesImpl("Qualifying", /* isFleetsOrdered */false, /* isMedal */false, + qualifyingFleets, qualifyingRaceColumnNames); + series.add(qualifyingSeries); + + // -------- final series ------------ + List finalFleets = new ArrayList(); + finalFleets.add(new FleetImpl("Gold")); + finalFleets.add(new FleetImpl("Silver")); + List finalRaceColumnNames = new ArrayList(); + for (int i=1; i<=numberOfFinalRaces; i++) { + finalRaceColumnNames.add("F"+i); + } + Series finalSeries = new SeriesImpl("Final", /* isFleetsOrdered */ true, /* isMedal */ false, finalFleets, finalRaceColumnNames); + series.add(finalSeries); + + // ------------ medal -------------- + List medalFleets = new ArrayList(); + medalFleets.add(new FleetImpl("Medal")); + List medalRaceColumnNames = new ArrayList(); + for (int i=1; i<=numberOfFinalRaces; i++) { + medalRaceColumnNames.add("M"); + } + Series medalSeries = new SeriesImpl("Medal", /* isFleetsOrdered */ true, /* isMedal */ true, medalFleets, medalRaceColumnNames); + series.add(medalSeries); + + Regatta regatta = new RegattaImpl(regattaBaseName, boatClass, series); + return regatta; + } + } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateIsMedalRace.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateIsMedalRace.java index 85d33cfdbc4..2b0a42af7c2 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateIsMedalRace.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateIsMedalRace.java @@ -1,5 +1,6 @@ package com.sap.sailing.server.operationaltransformation; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.RacingEventServiceOperation; @@ -28,8 +29,8 @@ public class UpdateIsMedalRace extends AbstractLeaderboardColumnOperation @Override public Void internalApplyTo(RacingEventService toState) { Leaderboard leaderboard = toState.getLeaderboardByName(getLeaderboardName()); - if (leaderboard != null) { - leaderboard.updateIsMedalRace(getColumnName(), isMedalRace); + if (leaderboard != null && leaderboard instanceof FlexibleLeaderboard) { + ((FlexibleLeaderboard) leaderboard).updateIsMedalRace(getColumnName(), isMedalRace); toState.updateStoredLeaderboard(leaderboard); } else { throw new IllegalArgumentException("Leaderboard named " + getLeaderboardName() + " not found"); From 5c3e78bc055b12f5ef7aada772a90768330eacdc Mon Sep 17 00:00:00 2001 From: fmittag Date: Tue, 22 May 2012 11:49:15 +0200 Subject: [PATCH 037/339] Fix for bugs 645 and 646 (NPE in RaceTimePanel) --- .../java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java index 08d67a51519..8b6f7593a99 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java @@ -152,7 +152,7 @@ public class RaceTimePanel extends TimePanel implements R break; case Replay: // set time to end of race - if (newRaceTimesInfo.getLastMarkPassingTimes() != null) { + if (newRaceTimesInfo.getLastMarkPassingTimes() != null && newRaceTimesInfo.getLastMarkPassingTimes().firstPassingDate != null) { timer.setTime(newRaceTimesInfo.getLastMarkPassingTimes().firstPassingDate.getTime()); } else if (newRaceTimesInfo.endOfRace != null) { timer.setTime(newRaceTimesInfo.endOfRace.getTime()); @@ -173,7 +173,7 @@ public class RaceTimePanel extends TimePanel implements R requiresMarkerUpdate = false; int numberOfLegs = newRaceTimesInfo.markPassingTimes.size(); for(int i = 0; i < numberOfLegs; i++) { - if(newRaceTimesInfo.markPassingTimes.get(i).firstPassingDate.getTime() != lastRaceTimesInfo.markPassingTimes.get(i).firstPassingDate.getTime()) { + if(newRaceTimesInfo.markPassingTimes.get(i).firstPassingDate != lastRaceTimesInfo.markPassingTimes.get(i).firstPassingDate) { requiresMarkerUpdate = true; break; } @@ -187,7 +187,9 @@ public class RaceTimePanel extends TimePanel implements R if (requiresMarkerUpdate && sliderBar.isMinMaxInitialized()) { sliderBar.clearMarkers(); for (MarkPassingTimesDTO markPassingTimesDTO: markPassingTimes) { - sliderBar.addMarker(markPassingTimesDTO.name, new Double(markPassingTimesDTO.firstPassingDate.getTime())); + if(markPassingTimesDTO.firstPassingDate != null) { + sliderBar.addMarker(markPassingTimesDTO.name, new Double(markPassingTimesDTO.firstPassingDate.getTime())); + } } if(newRaceTimesInfo.endOfRace != null) { sliderBar.addMarker("E", new Double(newRaceTimesInfo.endOfRace.getTime())); From 197d6306dee3726a3381925a7161ff1ec9775bf1 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 22 May 2012 11:51:59 +0200 Subject: [PATCH 038/339] added more test logic to regatta store/load test --- .../sap/sailing/domain/common/impl/Util.java | 13 +++++ ...estStoringAndLoadingEventsAndRegattas.java | 51 +++++++++++++++++-- 2 files changed, 61 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/Util.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/Util.java index f8507c4194b..fd6fffc97c8 100755 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/Util.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/Util.java @@ -30,6 +30,19 @@ public class Util { } } + public static boolean equals(Iterable a, Iterable b) { + Iterator aIter = a.iterator(); + Iterator bIter = b.iterator(); + while (aIter.hasNext() && bIter.hasNext()) { + T ao = aIter.next(); + T bo = bIter.next(); + if (!ao.equals(bo)) { + return false; + } + } + return !aIter.hasNext() && !bIter.hasNext(); + } + public static T get(Iterable iterable, int i) { if (iterable instanceof List) { List l = (List) iterable; diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index c6893d86d7c..84664b9824d 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -1,9 +1,12 @@ package com.sap.sailing.mongodb.test; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import org.junit.Test; @@ -19,10 +22,12 @@ import com.sap.sailing.domain.base.Venue; import com.sap.sailing.domain.base.impl.CourseAreaImpl; import com.sap.sailing.domain.base.impl.EventImpl; import com.sap.sailing.domain.base.impl.FleetImpl; +import com.sap.sailing.domain.base.impl.RaceColumnInSeries; import com.sap.sailing.domain.base.impl.RegattaImpl; import com.sap.sailing.domain.base.impl.SeriesImpl; import com.sap.sailing.domain.base.impl.VenueImpl; import com.sap.sailing.domain.common.impl.Util; +import com.sap.sailing.domain.leaderboard.RaceColumn; import com.sap.sailing.domain.persistence.DomainObjectFactory; import com.sap.sailing.domain.persistence.MongoFactory; import com.sap.sailing.domain.persistence.MongoObjectFactory; @@ -69,11 +74,53 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(getMongoService()); Regatta loadedRegatta = dof.loadRegatta(regatta.getName()); assertEquals(regattaBaseName, loadedRegatta.getBaseName()); + Iterator seriesIter = loadedRegatta.getSeries().iterator(); + Series loadedQualifyingSeries = seriesIter.next(); + assertFalse(loadedQualifyingSeries.isFleetsOrdered()); + assertEquals(numberOfQualifyingRaces, Util.size(loadedQualifyingSeries.getRaceColumns())); + Series loadedFinalSeries = seriesIter.next(); + assertTrue(loadedFinalSeries.isFleetsOrdered()); + assertEquals(numberOfFinalRaces, Util.size(loadedFinalSeries.getRaceColumns())); + Series loadedMedalSeries = seriesIter.next(); + assertEquals(1, Util.size(loadedMedalSeries.getRaceColumns())); } @Test public void testLoadStoreRegattaWithFleetsEnsuringIdenticalFleetsInSeriesAndRaceColumns() { + final int numberOfQualifyingRaces = 5; + final int numberOfFinalRaces = 7; + final String regattaBaseName = "Kieler Woche"; + BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); + Regatta regatta = createRegatta(numberOfQualifyingRaces, numberOfFinalRaces, regattaBaseName, boatClass); + MongoObjectFactory mof = MongoFactory.INSTANCE.getMongoObjectFactory(getMongoService()); + mof.storeRegatta(regatta); + DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(getMongoService()); + Regatta loadedRegatta = dof.loadRegatta(regatta.getName()); + assertEquals(regattaBaseName, loadedRegatta.getBaseName()); + Iterator seriesIter = loadedRegatta.getSeries().iterator(); + Series loadedQualifyingSeries = seriesIter.next(); + int i=1; + for (RaceColumn raceColumn : loadedQualifyingSeries.getRaceColumns()) { + assertTrue(raceColumn instanceof RaceColumnInSeries); + assertEquals("Q"+i, raceColumn.getName()); + assertTrue(Util.equals(loadedQualifyingSeries.getFleets(), raceColumn.getFleets())); + i++; + } + Series loadedFinalSeries = seriesIter.next(); + i=1; + for (RaceColumn raceColumn : loadedFinalSeries.getRaceColumns()) { + assertTrue(raceColumn instanceof RaceColumnInSeries); + assertEquals("F"+i, raceColumn.getName()); + assertTrue(Util.equals(loadedFinalSeries.getFleets(), raceColumn.getFleets())); + i++; + } + Series loadedMedalSeries = seriesIter.next(); + for (RaceColumn raceColumn : loadedMedalSeries.getRaceColumns()) { + assertTrue(raceColumn instanceof RaceColumnInSeries); + assertEquals("M", raceColumn.getName()); + assertTrue(Util.equals(loadedMedalSeries.getFleets(), raceColumn.getFleets())); + } } @@ -108,9 +155,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest List medalFleets = new ArrayList(); medalFleets.add(new FleetImpl("Medal")); List medalRaceColumnNames = new ArrayList(); - for (int i=1; i<=numberOfFinalRaces; i++) { - medalRaceColumnNames.add("M"); - } + medalRaceColumnNames.add("M"); Series medalSeries = new SeriesImpl("Medal", /* isFleetsOrdered */ true, /* isMedal */ true, medalFleets, medalRaceColumnNames); series.add(medalSeries); From 563a71f36b7691c8a20859798b9cafb61ee1a09b Mon Sep 17 00:00:00 2001 From: fmittag Date: Tue, 22 May 2012 13:22:38 +0200 Subject: [PATCH 039/339] added better default log settings for org.eclipse.jetty and org.apache.activemq packages --- java/target/configuration/logging.properties | 4 +++- java/target/configuration/logging_debug.properties | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/java/target/configuration/logging.properties b/java/target/configuration/logging.properties index 5da370f6dfd..af3e50c89ff 100644 --- a/java/target/configuration/logging.properties +++ b/java/target/configuration/logging.properties @@ -16,4 +16,6 @@ java.util.logging.ConsoleHandler.level = ALL java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter # Overwrite the log leves for specific loggers here -com.sap.sailing = INFO +com.sap.sailing.level = INFO +org.eclipse.jetty.level = INFO +org.apache.activemq.level = INFO diff --git a/java/target/configuration/logging_debug.properties b/java/target/configuration/logging_debug.properties index 92fc384f809..b259d27c039 100644 --- a/java/target/configuration/logging_debug.properties +++ b/java/target/configuration/logging_debug.properties @@ -2,7 +2,7 @@ handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler # Assign the default log level -.level= FINEST +.level= INFO # fileHandler specific properties java.util.logging.FileHandler.level = ALL @@ -16,4 +16,6 @@ java.util.logging.ConsoleHandler.level = ALL java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter # Overwrite the log leves for specific loggers here -com.sap.sailing = FINEST +com.sap.sailing.level = FINEST +org.eclipse.jetty.level = INFO +org.apache.activemq.level = INFO From cc7d6b5a6d904044f228d647a7baebf8418deecc Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 22 May 2012 13:23:47 +0200 Subject: [PATCH 040/339] added test case for storing/loading RaceIdentifier in RaceColumnInSeries --- ...estStoringAndLoadingEventsAndRegattas.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 84664b9824d..091aebe2a85 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -3,6 +3,8 @@ package com.sap.sailing.mongodb.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.util.ArrayList; @@ -26,6 +28,8 @@ import com.sap.sailing.domain.base.impl.RaceColumnInSeries; import com.sap.sailing.domain.base.impl.RegattaImpl; import com.sap.sailing.domain.base.impl.SeriesImpl; import com.sap.sailing.domain.base.impl.VenueImpl; +import com.sap.sailing.domain.common.RaceIdentifier; +import com.sap.sailing.domain.common.RegattaNameAndRaceName; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.leaderboard.RaceColumn; import com.sap.sailing.domain.persistence.DomainObjectFactory; @@ -123,6 +127,30 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest } } + @Test + public void testStorageOfRaceIdentifiersOnRaceColumnInSeries() { + final int numberOfQualifyingRaces = 5; + final int numberOfFinalRaces = 7; + final String regattaBaseName = "Kieler Woche"; + BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); + Regatta regatta = createRegatta(numberOfQualifyingRaces, numberOfFinalRaces, regattaBaseName, boatClass); + Series qualifyingSeries = regatta.getSeries().iterator().next(); + RaceColumn q2 = qualifyingSeries.getRaceColumnByName("Q2"); + final RegattaNameAndRaceName q2TrackedRaceIdentifier = new RegattaNameAndRaceName(regatta.getName(), "Q2 TracTrac"); + q2.setRaceIdentifier(qualifyingSeries.getFleetByName("Yellow"), q2TrackedRaceIdentifier); + MongoObjectFactory mof = MongoFactory.INSTANCE.getMongoObjectFactory(getMongoService()); + mof.storeRegatta(regatta); + + DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(getMongoService()); + Regatta loadedRegatta = dof.loadRegatta(regatta.getName()); + Series loadedQualifyingSeries = loadedRegatta.getSeries().iterator().next(); + RaceColumn loadedQ2 = loadedQualifyingSeries.getRaceColumnByName("Q2"); + RaceIdentifier loadedQ2TrackedRaceIdentifier = loadedQ2.getRaceIdentifier(loadedQualifyingSeries.getFleetByName("Yellow")); + assertEquals(q2TrackedRaceIdentifier, loadedQ2TrackedRaceIdentifier); + assertNotSame(q2TrackedRaceIdentifier, loadedQ2TrackedRaceIdentifier); + assertNull(loadedQualifyingSeries.getRaceColumnByName("Q1").getRaceIdentifier(loadedQualifyingSeries.getFleetByName("Yellow"))); + assertNull(loadedQualifyingSeries.getRaceColumnByName("Q2").getRaceIdentifier(loadedQualifyingSeries.getFleetByName("Blue"))); + } private Regatta createRegatta(final int numberOfQualifyingRaces, final int numberOfFinalRaces, final String regattaBaseName, BoatClass boatClass) { From 22124d6ca0ac27769d94609bf9f02da24fe2bd83 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 22 May 2012 14:06:20 +0200 Subject: [PATCH 041/339] minor refactoring regarding table column header names --- .../TrackedRacesListComposite.java | 28 +++++++++---------- .../sailing/gwt/ui/client/StringMessages.java | 1 + .../gwt/ui/client/StringMessages.properties | 3 +- .../ui/client/StringMessages_de.properties | 3 +- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java index b9a04433c43..5a37608764f 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java @@ -113,7 +113,7 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl public TrackedRacesListComposite(final SailingServiceAsync sailingService, final ErrorReporter errorReporter, final RegattaRefresher regattaRefresher, RaceSelectionProvider raceSelectionProvider, - StringMessages stringConstants, boolean hasMultiSelection) { + StringMessages stringMessages, boolean hasMultiSelection) { if (regattaRefresher == null) { throw new IllegalArgumentException("regattaRefresher must not be null"); } @@ -130,7 +130,7 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl setWidget(panel); HorizontalPanel filterPanel = new HorizontalPanel(); panel.add(filterPanel); - Label lblFilterEvents = new Label(stringConstants.filterRacesByName() + ":"); + Label lblFilterEvents = new Label(stringMessages.filterRacesByName() + ":"); lblFilterEvents.setWordWrap(false); filterPanel.setSpacing(5); filterPanel.add(lblFilterEvents); @@ -144,7 +144,7 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl }); filterPanel.add(filterRacesTextbox); - noTrackedRacesLabel = new Label(stringConstants.noRacesYet()); + noTrackedRacesLabel = new Label(stringMessages.noRacesYet()); noTrackedRacesLabel.setWordWrap(false); panel.add(noTrackedRacesLabel); @@ -181,16 +181,16 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl } }); - TextColumn deprecatedRegattaNameColumn = new TextColumn() { + TextColumn boatClassNameColumn = new TextColumn() { @Override public String getValue(RaceDTO raceDTO) { final BoatClassDTO boatClass = raceDTO.getRegatta().boatClass; return boatClass == null ? "" : boatClass.name; } }; - deprecatedRegattaNameColumn.setSortable(true); + boatClassNameColumn.setSortable(true); - columnSortHandler.setComparator(deprecatedRegattaNameColumn, new Comparator() { + columnSortHandler.setComparator(boatClassNameColumn, new Comparator() { @Override public int compare(RaceDTO t1, RaceDTO t2) { RegattaDTO regattaOne = t1.getRegatta(); @@ -290,11 +290,11 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl } }; - raceTable.addColumn(regattaNameColumn, stringConstants.event()); - raceTable.addColumn(deprecatedRegattaNameColumn, stringConstants.regatta()); - raceTable.addColumn(raceNameColumn, stringConstants.race()); - raceTable.addColumn(raceStartColumn, stringConstants.startTime()); - raceTable.addColumn(raceTrackedColumn, stringConstants.tracked()); + raceTable.addColumn(regattaNameColumn, stringMessages.regatta()); + raceTable.addColumn(boatClassNameColumn, stringMessages.boatClass()); + raceTable.addColumn(raceNameColumn, stringMessages.race()); + raceTable.addColumn(raceStartColumn, stringMessages.startTime()); + raceTable.addColumn(raceTrackedColumn, stringMessages.tracked()); raceTable.setWidth("300px"); raceTable.setSelectionModel(selectionModel); raceTable.setVisible(false); @@ -326,7 +326,7 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl HorizontalPanel trackedRacesButtonPanel = new HorizontalPanel(); trackedRacesButtonPanel.setSpacing(10); panel.add(trackedRacesButtonPanel); - btnRemoveRace = new Button(stringConstants.remove()); + btnRemoveRace = new Button(stringMessages.remove()); btnRemoveRace.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { @@ -337,7 +337,7 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl }); btnRemoveRace.setEnabled(false); trackedRacesButtonPanel.add(btnRemoveRace); - btnUntrack = new Button(stringConstants.stopTracking()); + btnUntrack = new Button(stringMessages.stopTracking()); btnUntrack.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent click) { @@ -351,7 +351,7 @@ public class TrackedRacesListComposite extends FormPanel implements RegattaDispl btnUntrack.setEnabled(false); trackedRacesButtonPanel.add(btnUntrack); - btnRefresh = new Button(stringConstants.refresh()); + btnRefresh = new Button(stringMessages.refresh()); btnRefresh.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java index 73b4cec24a9..560d417fea9 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java @@ -302,4 +302,5 @@ public interface StringMessages extends Messages { String showWindSpeedSeries(); String showWindDirectionSeries(); String fleet(); + String boatClass(); } \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index 18f81d0d018..989d7824273 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -299,4 +299,5 @@ registeredAt=Registered at {0} replicatingFromMaster=Replicating from master {0}, JMS port {1}, servlet port {2} showWindSpeedSeries=Show wind speed data showWindDirectionSeries=Show wind directions data -fleet=Fleet \ No newline at end of file +fleet=Fleet +boatClass=Boat Class \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index e98daeb510d..a8c30fd517b 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -300,4 +300,5 @@ registeredAt=Registriert {0} replicatingFromMaster=Repliziert von master {0}, JMS Port {1}, Servlet Port {2} showWindSpeedSeries=Daten für Windgeschwindigkeit zeigen showWindDirectionSeries=Daten für Windrichtung zeigen -fleet=Flotte \ No newline at end of file +fleet=Flotte +boatClass=Bootsklasse \ No newline at end of file From b0eb1ae7f446673f4e73698e92ef37b4c66a6e54 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 22 May 2012 15:13:54 +0200 Subject: [PATCH 042/339] simple field rename in TracTracRaceTrackerImpl --- .../impl/TracTracRaceTrackerImpl.java | 8 ++-- .../sap/sailing/gwt/ui/shared/RegattaDTO.java | 1 + .../sap/sailing/gwt/ui/shared/SeriesDTO.java | 38 +++++++++++++++++++ 3 files changed, 43 insertions(+), 4 deletions(-) create mode 100755 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java index 378ba38ff33..622830f7566 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java @@ -56,7 +56,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements static final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); private final Event tractracEvent; - private final com.sap.sailing.domain.base.Regatta domainEvent; + private final com.sap.sailing.domain.base.Regatta regatta; private final Thread ioThread; private final DataController controller; private final Set receivers; @@ -131,8 +131,8 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements // domainEvent *after* calling removeRace domainFactory.removeRace(tractracEvent, tractracRace, trackedRegattaRegistry); } - domainEvent = domainFactory.getOrCreateEvent(tractracEvent); - setTrackedRegatta(trackedRegattaRegistry.getOrCreateTrackedRegatta(domainEvent)); + regatta = domainFactory.getOrCreateEvent(tractracEvent); + setTrackedRegatta(trackedRegattaRegistry.getOrCreateTrackedRegatta(regatta)); receivers = new HashSet(); Set typeControllers = new HashSet(); for (Receiver receiver : domainFactory.getUpdateReceivers(getTrackedRegatta(), tractracEvent, startOfTracking, @@ -219,7 +219,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements @Override public com.sap.sailing.domain.base.Regatta getRegatta() { - return domainEvent; + return regatta; } /** diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RegattaDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RegattaDTO.java index 1c5182cf249..248dc51fced 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RegattaDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RegattaDTO.java @@ -12,6 +12,7 @@ public class RegattaDTO extends NamedDTO implements IsSerializable { public BoatClassDTO boatClass; public List races; public List competitors; + public List series; public RegattaDTO() { } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java new file mode 100755 index 00000000000..57e639a8fe2 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java @@ -0,0 +1,38 @@ +package com.sap.sailing.gwt.ui.shared; + +import java.util.List; + +import com.google.gwt.user.client.rpc.IsSerializable; + +public class SeriesDTO extends NamedDTO implements IsSerializable { + private List fleetNames; + private List raceColumnNames; + private boolean isFleetsOrdered; + private boolean isMedal; + + SeriesDTO() {} // for serializability + + public SeriesDTO(String name, List fleetNames, List raceColumnNames, boolean isFleetsOrdered, boolean isMedal) { + super(name); + this.fleetNames = fleetNames; + this.raceColumnNames = raceColumnNames; + this.isFleetsOrdered = isFleetsOrdered; + } + + public Iterable getFleetNames() { + return fleetNames; + } + + public Iterable getRaceColumnNames() { + return raceColumnNames; + } + + public boolean isFleetsOrdered() { + return isFleetsOrdered; + } + + public boolean isMedal() { + return isMedal; + } + +} From c18c7f578fa912d7bc9e5898a3f423647485a230 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 22 May 2012 15:24:45 +0200 Subject: [PATCH 043/339] refactored TracTracRaceTrackerImpl such that it can accept a pre-defined Regatta into which to add the races --- .../impl/DomainFactoryImpl.java | 8 ++-- .../impl/TracTracRaceTrackerImpl.java | 37 +++++++++++++++++-- 2 files changed, 38 insertions(+), 7 deletions(-) diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java index 2622d9f5bd0..e129d2a11f9 100644 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java @@ -94,7 +94,7 @@ public class DomainFactoryImpl implements DomainFactory { * class needs to be determined for an regatta. Synchronization for additions / removals is tied to the * synchronization for {@link #regattaCache}. */ - private final WeakIdentityHashMap weakEventCache = new WeakIdentityHashMap<>(); + private final WeakIdentityHashMap weakRegattaCache = new WeakIdentityHashMap<>(); private final Map raceCache = new HashMap(); @@ -258,7 +258,7 @@ public class DomainFactoryImpl implements DomainFactory { // try a quick look-up in the weak cache using the TracTrac event as key; only if that delivers no result, // compute the dominant boat class which requires a lot more effort - Regatta result = weakEventCache.get(event); + Regatta result = weakRegattaCache.get(event); if (result == null) { Collection competitorClassList = new ArrayList(); for (com.tractrac.clientmodule.Competitor c : event.getCompetitorList()) { @@ -271,7 +271,7 @@ public class DomainFactoryImpl implements DomainFactory { if (result == null) { result = new RegattaImpl(event.getName(), boatClass); regattaCache.put(key, result); - weakEventCache.put(event, result); + weakRegattaCache.put(event, result); } } return result; @@ -347,7 +347,7 @@ public class DomainFactoryImpl implements DomainFactory { regatta.removeRace(raceDefinition); if (oldSize > 0 && Util.size(regatta.getAllRaces()) == 0) { regattaCache.remove(key); - weakEventCache.remove(tractracEvent); + weakRegattaCache.remove(tractracEvent); } TrackedRegatta trackedRegatta = trackedRegattaRegistry.getTrackedRegatta(regatta); if (trackedRegatta != null) { diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java index 622830f7566..47d309b3a97 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java @@ -19,6 +19,7 @@ import com.maptrack.client.io.TypeController; import com.sap.sailing.domain.base.Buoy; import com.sap.sailing.domain.base.Course; import com.sap.sailing.domain.base.RaceDefinition; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.DegreePosition; @@ -29,9 +30,9 @@ import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.GPSFix; import com.sap.sailing.domain.tracking.RacesHandle; +import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.TrackedRegatta; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; -import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.WindStore; import com.sap.sailing.domain.tracking.WindTrack; import com.sap.sailing.domain.tracking.impl.EmptyWindStore; @@ -107,13 +108,43 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements TimePoint startOfTracking, TimePoint endOfTracking, WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry) throws URISyntaxException, MalformedURLException, FileNotFoundException { + this(KeyValue.setup(paramURL), domainFactory, paramURL, liveURI, storedURI, startOfTracking, endOfTracking, windStore, + trackedRegattaRegistry); + } + + private TracTracRaceTrackerImpl(Event tractracEvent, DomainFactory domainFactory, URL paramURL, URI liveURI, URI storedURI, + TimePoint startOfTracking, TimePoint endOfTracking, WindStore windStore, + TrackedRegattaRegistry trackedRegattaRegistry) throws URISyntaxException, MalformedURLException, + FileNotFoundException { + this(tractracEvent, domainFactory.getOrCreateEvent(tractracEvent), domainFactory, paramURL, liveURI, storedURI, + startOfTracking, endOfTracking, windStore, trackedRegattaRegistry); + } + + /** + * Use this constructor if the {@link Regatta} in which to arrange the {@link RaceDefinition}s created by this + * tracker is already known up-front, particularly if it has a specific configuration to use. Other constructors + * may create a default {@link Regatta} with only a single default {@link Series} and {@link Fleet} which may not + * always be what you want. + */ + protected TracTracRaceTrackerImpl(Regatta regatta, DomainFactory domainFactory, URL paramURL, URI liveURI, URI storedURI, + TimePoint startOfTracking, TimePoint endOfTracking, WindStore windStore, + TrackedRegattaRegistry trackedRegattaRegistry) throws URISyntaxException, MalformedURLException, + FileNotFoundException { + this(KeyValue.setup(paramURL), regatta, domainFactory, paramURL, liveURI, storedURI, startOfTracking, + endOfTracking, windStore, trackedRegattaRegistry); + } + + private TracTracRaceTrackerImpl(Event tractracEvent, Regatta regatta, DomainFactory domainFactory, URL paramURL, URI liveURI, URI storedURI, + TimePoint startOfTracking, TimePoint endOfTracking, WindStore windStore, + TrackedRegattaRegistry trackedRegattaRegistry) throws URISyntaxException, MalformedURLException, + FileNotFoundException { super(); + this.tractracEvent = tractracEvent; urls = createID(paramURL, liveURI, storedURI); this.races = new HashSet(); this.windStore = windStore; this.domainFactory = domainFactory; // Read event data from configuration file - tractracEvent = KeyValue.setup(paramURL); controlPointPositionPoller = scheduleControlPointPositionPoller(paramURL); // can happen that TracTrac event is null (occurs when there is no Internet connection) // so lets raise some meaningful exception @@ -131,7 +162,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements // domainEvent *after* calling removeRace domainFactory.removeRace(tractracEvent, tractracRace, trackedRegattaRegistry); } - regatta = domainFactory.getOrCreateEvent(tractracEvent); + this.regatta = domainFactory.getOrCreateEvent(tractracEvent); setTrackedRegatta(trackedRegattaRegistry.getOrCreateTrackedRegatta(regatta)); receivers = new HashSet(); Set typeControllers = new HashSet(); From 9895acf1b3820a0d49325593681508ce4a898815 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 22 May 2012 15:29:25 +0200 Subject: [PATCH 044/339] a few more Event-->Regatta renames --- .../sap/sailing/domain/swisstimingadapter/DomainFactory.java | 2 +- .../domain/swisstimingadapter/impl/DomainFactoryImpl.java | 4 ++-- .../swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java | 2 +- .../src/com/sap/sailing/domain/test/CourseUpdateTest.java | 2 +- .../com/sap/sailing/domain/test/OnlineTracTracBasedTest.java | 2 +- .../sap/sailing/domain/test/ReceiveMarkPassingDataTest.java | 2 +- .../com/sap/sailing/domain/test/ReceiveTrackingDataTest.java | 2 +- .../com/sap/sailing/domain/tractracadapter/DomainFactory.java | 4 ++-- .../tractracadapter/impl/AbstractReceiverWithQueue.java | 2 +- .../domain/tractracadapter/impl/DomainFactoryImpl.java | 2 +- .../sailing/domain/tractracadapter/impl/RaceHandleImpl.java | 2 +- .../domain/tractracadapter/impl/TracTracRaceTrackerImpl.java | 4 ++-- .../mongodb/test/TestStoringAndRetrievingWindTracksTest.java | 2 +- 13 files changed, 16 insertions(+), 16 deletions(-) diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java index 7c145248907..d7f37d63f0d 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java @@ -20,7 +20,7 @@ import difflib.PatchFailedException; public interface DomainFactory { final static DomainFactory INSTANCE = new DomainFactoryImpl(com.sap.sailing.domain.base.DomainFactory.INSTANCE); - Regatta getOrCreateEvent(String raceID); + Regatta getOrCreateRegatta(String raceID); Nationality getOrCreateNationality(String nationalityName); diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java index bf2c3664e94..cbe6e8ca9c5 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java @@ -89,7 +89,7 @@ public class DomainFactoryImpl implements DomainFactory { } @Override - public Regatta getOrCreateEvent(String raceID) { + public Regatta getOrCreateRegatta(String raceID) { Regatta result = raceIDToEventCache.get(raceID); if (result == null) { result = new RegattaImpl(raceID, null); @@ -228,7 +228,7 @@ public class DomainFactoryImpl implements DomainFactory { @Override public void removeRace(String raceID) { - Regatta regatta = getOrCreateEvent(raceID); + Regatta regatta = getOrCreateRegatta(raceID); Set toRemove = new HashSet(); if (regatta != null) { for (RaceDefinition race : regatta.getAllRaces()) { diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java index 3cdb63da5c8..b6f6f23a3ce 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java @@ -79,7 +79,7 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl implemen this.windStore = windStore; this.id = createID(raceID, hostname, port); connector.addSailMasterListener(raceID, this); - regatta = domainFactory.getOrCreateEvent(raceID); + regatta = domainFactory.getOrCreateRegatta(raceID); setTrackedRegatta(trackedRegattaRegistry.getOrCreateTrackedRegatta(regatta)); connector.trackRace(raceID); } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CourseUpdateTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CourseUpdateTest.java index 166f1867d5d..0c3a06cd1e6 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CourseUpdateTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CourseUpdateTest.java @@ -67,7 +67,7 @@ public class CourseUpdateTest extends AbstractTracTracLiveTest { public void setUp() throws MalformedURLException, IOException, InterruptedException, URISyntaxException { super.setUp(); domainFactory = new DomainFactoryImpl(new com.sap.sailing.domain.base.impl.DomainFactoryImpl()); - domainRegatta = domainFactory.getOrCreateEvent(getTracTracEvent()); + domainRegatta = domainFactory.getOrCreateRegatta(getTracTracEvent()); trackedRegatta = new DynamicTrackedRegattaImpl(domainRegatta); ArrayList receivers = new ArrayList(); receivers.add(new RaceCourseReceiver(domainFactory, trackedRegatta, getTracTracEvent(), /* millisecondsOverWhichToAverageWind */ diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java index 17d05f0f5b7..2670ef577d7 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java @@ -131,7 +131,7 @@ public abstract class OnlineTracTracBasedTest extends AbstractTracTracLiveTest { if (domainFactory == null) { domainFactory = new DomainFactoryImpl(new com.sap.sailing.domain.base.impl.DomainFactoryImpl()); } - domainEvent = domainFactory.getOrCreateEvent(getTracTracEvent()); + domainEvent = domainFactory.getOrCreateRegatta(getTracTracEvent()); trackedRegatta = new DynamicTrackedRegattaImpl(domainEvent); } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java index c663fff705e..2fc8d992bdf 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java @@ -93,7 +93,7 @@ public class ReceiveMarkPassingDataTest extends AbstractTracTracLiveTest { List receivers = new ArrayList(); receivers.add(receiver); for (Receiver r : DomainFactory.INSTANCE.getUpdateReceivers( - new DynamicTrackedRegattaImpl(DomainFactory.INSTANCE.getOrCreateEvent(getTracTracEvent())), + new DynamicTrackedRegattaImpl(DomainFactory.INSTANCE.getOrCreateRegatta(getTracTracEvent())), getTracTracEvent(), EmptyWindStore.INSTANCE, /* startOfTracking */ null, /* endOfTracking */ null, new DynamicRaceDefinitionSet() { @Override diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java index d98642164a4..9601ecaabfc 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java @@ -65,7 +65,7 @@ public class ReceiveTrackingDataTest extends AbstractTracTracLiveTest { } }; List listeners = new ArrayList(); - Regatta regatta = domainFactory.getOrCreateEvent(getTracTracEvent()); + Regatta regatta = domainFactory.getOrCreateRegatta(getTracTracEvent()); DynamicTrackedRegatta trackedRegatta = new DynamicTrackedRegattaImpl(regatta); trackedRegatta.addRaceListener(new RaceListener() { @Override diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java index 91a13b8e219..bb6100e4bee 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java @@ -85,7 +85,7 @@ public interface DomainFactory { * an equal name with a boat class with an equal name as the event's * boat class exists yet. */ - com.sap.sailing.domain.base.Regatta getOrCreateEvent(Event event); + com.sap.sailing.domain.base.Regatta getOrCreateRegatta(Event event); /** * Creates a race tracked for the specified URL/URIs and starts receiving all available existing and future push @@ -222,7 +222,7 @@ public interface DomainFactory { * Removes all knowledge about tractracRace which includes removing it from the race cache, from the * {@link com.sap.sailing.domain.base.Regatta} and, if a {@link TrackedRace} for the corresponding * {@link RaceDefinition} exists, from the {@link TrackedRegatta}. If removing the race from the event, the event is - * removed from the event cache such that {@link #getOrCreateEvent(Event)} will have to create a new one. Similarly, + * removed from the event cache such that {@link #getOrCreateRegatta(Event)} will have to create a new one. Similarly, * if the {@link TrackedRace} that was removed from the {@link TrackedRegatta} was the last one, the * {@link TrackedRegatta} is removed such that {@link #getOrCreateTrackedRegatta(com.sap.sailing.domain.base.Regatta)} * will have to create a new one. diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java index ad4b3b2d878..5addf9e8dde 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java @@ -140,7 +140,7 @@ public abstract class AbstractReceiverWithQueue implements Runnable, Re protected DynamicTrackedRace getTrackedRace(Race race) { DynamicTrackedRace result = null; RaceDefinition raceDefinition = getDomainFactory().getAndWaitForRaceDefinition(race); - com.sap.sailing.domain.base.Regatta domainEvent = getDomainFactory().getOrCreateEvent(getTracTracEvent()); + com.sap.sailing.domain.base.Regatta domainEvent = getDomainFactory().getOrCreateRegatta(getTracTracEvent()); if (domainEvent.getRaceByName(raceDefinition.getName()) != null) { result = trackedRegatta.getTrackedRace(raceDefinition); } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java index e129d2a11f9..070a0488eba 100644 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java @@ -243,7 +243,7 @@ public class DomainFactoryImpl implements DomainFactory { } @Override - public Regatta getOrCreateEvent(com.tractrac.clientmodule.Event event) { + public Regatta getOrCreateRegatta(com.tractrac.clientmodule.Event event) { synchronized (regattaCache) { // FIXME Dialog with Lasse by Skype on 2011-06-17: // [6:20:04 PM] Axel Uhl: Lasse, can Event.getCompetitorClassList() ever produce more than one result? diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceHandleImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceHandleImpl.java index 77c35830b2e..9b3223f42c3 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceHandleImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceHandleImpl.java @@ -26,7 +26,7 @@ public class RaceHandleImpl implements RacesHandle { @Override public com.sap.sailing.domain.base.Regatta getRegatta() { - return domainFactory.getOrCreateEvent(tractracEvent); + return domainFactory.getOrCreateRegatta(tractracEvent); } @Override diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java index 47d309b3a97..5421049fb08 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java @@ -116,7 +116,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements TimePoint startOfTracking, TimePoint endOfTracking, WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry) throws URISyntaxException, MalformedURLException, FileNotFoundException { - this(tractracEvent, domainFactory.getOrCreateEvent(tractracEvent), domainFactory, paramURL, liveURI, storedURI, + this(tractracEvent, domainFactory.getOrCreateRegatta(tractracEvent), domainFactory, paramURL, liveURI, storedURI, startOfTracking, endOfTracking, windStore, trackedRegattaRegistry); } @@ -162,7 +162,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements // domainEvent *after* calling removeRace domainFactory.removeRace(tractracEvent, tractracRace, trackedRegattaRegistry); } - this.regatta = domainFactory.getOrCreateEvent(tractracEvent); + this.regatta = domainFactory.getOrCreateRegatta(tractracEvent); setTrackedRegatta(trackedRegattaRegistry.getOrCreateTrackedRegatta(regatta)); receivers = new HashSet(); Set typeControllers = new HashSet(); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java index 36eb18b721f..0fc2810939b 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java @@ -70,7 +70,7 @@ public class TestStoringAndRetrievingWindTracksTest extends AbstractTracTracLive @Test public void testStoreAFewWindEntries() throws UnknownHostException, MongoException, InterruptedException { DomainFactory domainFactory = DomainFactory.INSTANCE; - Regatta domainEvent = domainFactory.getOrCreateEvent(getTracTracEvent()); + Regatta domainEvent = domainFactory.getOrCreateRegatta(getTracTracEvent()); DynamicTrackedRegatta trackedRegatta = new RacingEventServiceImpl().getOrCreateTrackedRegatta(domainEvent); Iterable typeControllers = domainFactory.getUpdateReceivers(trackedRegatta, getTracTracEvent(), EmptyWindStore.INSTANCE, /* startOfTracking */ null, /* endOfTracking */ null, new DynamicRaceDefinitionSet() { From 85219647f3dd771f2da69bfcf9dfa17b0787969e Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 22 May 2012 15:32:05 +0200 Subject: [PATCH 045/339] added constructor to SwissTimingRaceTrackerImpl that accepts a Regatta --- .../impl/SwissTimingRaceTrackerImpl.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java index b6f6f23a3ce..00c68cec7bc 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java @@ -71,7 +71,16 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl implemen DomainFactory domainFactory, SwissTimingFactory factory, RaceSpecificMessageLoader messageLoader, TrackedRegattaRegistry trackedRegattaRegistry, boolean canSendRequests) throws InterruptedException, UnknownHostException, IOException, ParseException { + this(domainFactory.getOrCreateRegatta(raceID), raceID, hostname, port, windStore, domainFactory, factory, + messageLoader, trackedRegattaRegistry, canSendRequests); + } + + protected SwissTimingRaceTrackerImpl(Regatta regatta, String raceID, String hostname, int port, WindStore windStore, + DomainFactory domainFactory, SwissTimingFactory factory, RaceSpecificMessageLoader messageLoader, + TrackedRegattaRegistry trackedRegattaRegistry, boolean canSendRequests) throws InterruptedException, + UnknownHostException, IOException, ParseException { super(); + this.regatta = regatta; this.connector = factory.getOrCreateSailMasterConnector(hostname, port, messageLoader, canSendRequests); this.domainFactory = domainFactory; this.raceID = raceID; @@ -79,7 +88,6 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl implemen this.windStore = windStore; this.id = createID(raceID, hostname, port); connector.addSailMasterListener(raceID, this); - regatta = domainFactory.getOrCreateRegatta(raceID); setTrackedRegatta(trackedRegattaRegistry.getOrCreateTrackedRegatta(regatta)); connector.trackRace(raceID); } From 084913f0d23e25c9b2d4e8e1cdcfb73d6969828c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20Schr=C3=B6der?= Date: Tue, 22 May 2012 15:49:18 +0200 Subject: [PATCH 046/339] add AudioToolButton to the settingsMenu --- .../gwt/ui/raceboard/RaceBoardPanel.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java index 7c1dccee306..95298d72dc9 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java @@ -92,6 +92,7 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel private final CompetitorSelectionModel competitorSelectionModel; private final EventAndRaceIdentifier selectedRaceIdentifier; + private AudioTool audioTool; private LeaderboardPanel leaderboardPanel; private WindChart windChart; private MultiChartPanel competitorChart; @@ -184,7 +185,7 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel components.add(competitorChart); competitorChart.setVisible(false); - windChart = createWindChart(asyncActionsExecutor); + windChart = createWindChart(asyncActionsExecutor); raceTimesInfoProvider.addRaceTimesInfoProviderListener(windChart); windChart.onRaceSelectionChange(raceSelectionProvider.getSelectedRaces()); windChart.setVisible(false); @@ -221,6 +222,7 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel settingsLabel.getElement().getStyle().setPadding(3, Style.Unit.PX); settingsPanel.add(settingsLabel); + addAudioToolMenuButton(audioTool); addSettingsMenuButton(settingsPanel, leaderboardPanel); addSettingsMenuButton(settingsPanel, raceMap); addSettingsMenuButton(settingsPanel, windChart); @@ -244,6 +246,22 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel } } + private void addAudioToolMenuButton(final AudioTool component) { + // if(component.hasSettings()) { + Button settingsButton = new Button("Audio Tool"); + settingsButton.addClickHandler(new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + new AudioTool(); + } + }); + settingsButton.addStyleName("raceBoardNavigation-settingsButton"); + settingsButton.getElement().getStyle().setFloat(Style.Float.LEFT); + settingsButton.getElement().getStyle().setPadding(3, Style.Unit.PX); + + settingsPanel.add(settingsButton); +// } + } private void addSettingsMenuButton(FlowPanel settingsPanel, final Component component) { if(component.hasSettings()) { Button settingsButton = new Button(component.getLocalizedShortName()); @@ -285,7 +303,7 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel } windChart = createWindChart(asyncActionsExecutor); - windChartViewer = new CollapsableComponentViewer( + windChartViewer = new CollapsableComponentViewer( windChart, "auto", "400px", stringMessages); raceTimesInfoProvider.addRaceTimesInfoProviderListener(windChart); windChart.onRaceSelectionChange(raceSelectionProvider.getSelectedRaces()); @@ -300,7 +318,7 @@ public class RaceBoardPanel extends FormPanel implements EventDisplayer, RaceSel competitorChart = new MultiChartPanel(sailingService, asyncActionsExecutor, competitorSelectionModel, raceSelectionProvider, timer, stringMessages, errorReporter, false, true); competitorChartViewer = new CollapsableComponentViewer( - competitorChart, "auto", "400px", stringMessages); + competitorChart, "auto", "400px", stringMessages); competitorChart.onRaceSelectionChange(raceSelectionProvider.getSelectedRaces()); componentViewers.add(competitorChartViewer); From 184d99d1d5f3bc1fca1b0408db1cc66d1e34b975 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nils=20Schr=C3=B6der?= Date: Tue, 22 May 2012 15:50:59 +0200 Subject: [PATCH 047/339] first Steps for the AudioTool --- .../sailing/gwt/ui/raceboard/AudioTool.java | 177 ++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/AudioTool.java diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/AudioTool.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/AudioTool.java new file mode 100644 index 00000000000..e932afbf409 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/AudioTool.java @@ -0,0 +1,177 @@ +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintWriter; +import java.util.Iterator; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.mongodb.DB; +import com.mongodb.gridfs.GridFS; + + + +/** + * + * @author wanbar + */ +public class AudioTool extends HttpServlet { + + /** + * Processes requests for both HTTP GET and POST methods. + * @param request servlet request + * @param response servlet response + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + + } + + /** + * Handles the HTTP GET method. + * @param request servlet request + * @param response servlet response + */ + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP POST method. + * @param request servlet request + * @param response servlet response + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + + PrintWriter out = response.getWriter(); + + try { + + /* STEP 1. + Handle the incoming request from the client + */ + + // Request parsing using the FileUpload lib from Jakarta Commons + // http://commons.apache.org/fileupload/ + + + // Create a factory for disk-based file items + GridFS factory = new GridFS(null, "test"); + + // Create a new file upload handler +// ServletFileUpload upload = new ServletFileUpload(factory); +// upload.setSizeMax(1000000000); + + // Parse the request into a list of DiskFileItems + // List items = upload.parseRequest(request); + + // The fields we will need for the API request + String audioName = ""; + String audioDescription = ""; + File audioFile = null; + String audioFilename = ""; + long audioMaxSize = 0; + + // Iterate through the list of DiskFileItems + /* Iterator iter = items.iterator(); + while (iter.hasNext()) { + DiskFileItem item = (DiskFileItem) iter.next(); + + if (item.isFormField()) { + + if (item.getFieldName().equals("name")) { + audioName = item.getString(); + } else if (item.getFieldName().equals("desc")) { + audioDescription = item.getString(); + } + + } else { + audioFile = item.getStoreLocation(); + String fileName = item.getName(); + audioMaxSize = item.getSize(); + + } + } + +*/ out.print(audioFilename); + + + + /* STEP 2. + Assemble the JSON params + */ + + String json = "{\"method\":\"create_video\"" + + ", \"params\":{" + + "\"token\":" + "W3BbfN5Qty11tzdyBxUAUIAOPldj1FsI8." + ", " + + "\"video\":" + + "{\"name\":\"" + audioName + "\", " + + "\"shortDescription\":\"" + audioDescription + "\"}, " + + "\"filename\":\"" + audioFilename + "\", " + + "\"maxsize\":\"" + audioMaxSize + "\", " + + "}}"; + + + /* STEP 3. + Send the request to the Media API + */ + + // Define the url to the api + String targetURL = "127.0.0.1/Audio_Tool_Uploads"; + + // Create the params object required by... + Object[] params; + if(audioFile == null) { + params = new Object[] { "JSON-RPC", json }; + } else { + params = new Object[] { + "JSON-RPC", json, + audioFilename, audioFile + }; + } + + // ... the ClientHTTPRequest helper class from the ClientHTTP library by Vlad Patryshev + // http://www.devx.com/Java/Article/17679/1954?pf=true + + InputStream in = ClientHttpRequest.post( new java.net.URL(targetURL), params ); + + // Turn the input stream into a string + int bytesRead = 0; + byte[] buffer = new byte[1024]; + ByteArrayOutputStream ret = new ByteArrayOutputStream(); + while ((bytesRead = in.read(buffer)) > 0) + { + ret.write(buffer, 0, bytesRead); + } + + // print the response from the API + /* String resp = new String(ret.toByteArray()); + out.print(resp); + + + } + */ catch (FileUploadException ex) { + Logger.getLogger(AudioTool.class.getName()).log(Level.SEVERE, null, ex); + + } + + } + + /** + * Returns a short description of the servlet. + */ + public String getServletInfo() { + return "Short description"; + } +} \ No newline at end of file From 0016436cbec596bc4403d2f610fa131c90c42768 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Tue, 22 May 2012 17:29:12 +0200 Subject: [PATCH 048/339] New background image for Application Header --- .../images/header_bg_modern.png | Bin 257 -> 1099 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/images/header_bg_modern.png b/java/com.sap.sailing.gwt.ui/images/header_bg_modern.png index 6565ca0329fa059923c068598e14bc84eb076bca..89cf01041489a592775f93e6c863fb038c43a8ad 100644 GIT binary patch literal 1099 zcmb7DTSyd97#<3&Bwqp_>S-FIl-iv+dzl+9iRY0|7OS5HgasnYA5bMUAUyVkV+b;0O^dSb;BIgjDch0u%4pU z7R-Dn?##BxIm*hDrRFlq%<#0iFYIv;}NWV4IJ zwzrTdk}}rU92SH**0O@Q=CnPWgG+9#sO{wk9LVONhl;LF>d{qG29w;aZYWSB-pFmP zNs6NNDM&9`(8d`h!4!+8A*<1tz)R^g$sbTsfW)2_Rgg?ZV@XjExOkahIgn6>4T9yO zk`R{!Rgz)=02N4FJSrx+6yU`u05PtN&Db8+Y#jzh1FX4(RaV8yDHm!Oxp{>8%H?nG zK^S>G$e~jmJYAdBbkhz5bwPFJgH@nw_Cq7>B8#3&uWYX50T4;^2r*8GaJ&eBm;$jh zXcXfj5lE`UEMSfQP8mx)VS~n4)+l8W>Av8)*!JYHI5^NI)8dk`(2q9RWTcK~lw{t2 zKYMAS>IAnjWsUkDE`GT}YZcS4A5=d%_;+;p6F4(HX^y-yqWs&*uF?M5@v)zePBo8J zJU^|zI}9r?Tpw1ZvNanXZ@X&n=g&<%^!6OsdF__`wQ6`~-Hj1p`;XagzqGy8)%#mM pS7svU_MsQ|KF<8PKco#&YpLIN>TX(>r=A7lol#qryNyRq{sZtSW()uT delta 228 zcmVbeMY5F4un&DL@wJJqQ5}>Ni1B6m2-xYn8s7hrpQ%01AL& zauK&?0y+5-w=xA`QYRBx%MTkTYl-Fs6FF$Sc`eP;$@F0OT2SR`W>tEOvj~tJnoa;U zlYlDAWSq&N2#_a|cxJll3#NZfB^tq_%*~_X4)wL0000 Date: Tue, 22 May 2012 17:29:18 +0200 Subject: [PATCH 049/339] Add styles for new background images for Application Header --- .../com.sap.sailing.gwt.ui/CommonControls.css | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/CommonControls.css b/java/com.sap.sailing.gwt.ui/CommonControls.css index 4ea93cf0d25..ea440875477 100644 --- a/java/com.sap.sailing.gwt.ui/CommonControls.css +++ b/java/com.sap.sailing.gwt.ui/CommonControls.css @@ -281,19 +281,20 @@ } .LogoAndTitlePanel { - height: 68px; - font-family: Arial, Verdana, sans-serif; - position: fixed; - width: 100%; - top: 0; - background-image: url(images/white_gradient_header.png), url(images/header_bg_modern.png); - background-position: center top, 0 0; - background-repeat: no-repeat, repeat-x; - box-shadow: 0 0 20px #858585; - -moz-box-shadow: 0 0 20px #858585; - -webkit-box-shadow: 0 0 20px #858585; + height: 68px; + font-family: Arial, Verdana, sans-serif; + position: fixed; + width: 100%; + top: 0; + background-image: url(images/white_gradient_header.png), url(images/header_bg_modern_eventname.png), url(images/header_bg_modern.png); + background-position: center top, right top, 0 0; + background-repeat: no-repeat, no-repeat, repeat-x; + box-shadow: 0 0 20px #858585; + -moz-box-shadow: 0 0 20px #858585; + -webkit-box-shadow: 0 0 20px #858585; } + .LogoAndTitlePanel:after { content: " "; display: block; From b4cf1c952c3ab9bc93893372498188e6035e6f3a Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Tue, 22 May 2012 17:31:45 +0200 Subject: [PATCH 050/339] Add third background image for Application Header --- .../images/header_bg_modern_eventname.png | Bin 0 -> 4119 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 java/com.sap.sailing.gwt.ui/images/header_bg_modern_eventname.png diff --git a/java/com.sap.sailing.gwt.ui/images/header_bg_modern_eventname.png b/java/com.sap.sailing.gwt.ui/images/header_bg_modern_eventname.png new file mode 100644 index 0000000000000000000000000000000000000000..8be0c82939a34d2d5312a8a8c9993c29ef236c3d GIT binary patch literal 4119 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 literal 0 HcmV?d00001 From fc1b8efdc7afe808d6f792e34d09c8db1776f343 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Tue, 22 May 2012 17:47:06 +0200 Subject: [PATCH 051/339] Add new styles for SplitLayoutPanel-Dragger --- java/com.sap.sailing.gwt.ui/CommonControls.css | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/java/com.sap.sailing.gwt.ui/CommonControls.css b/java/com.sap.sailing.gwt.ui/CommonControls.css index 4ea93cf0d25..250d1ca952f 100644 --- a/java/com.sap.sailing.gwt.ui/CommonControls.css +++ b/java/com.sap.sailing.gwt.ui/CommonControls.css @@ -128,6 +128,16 @@ width: 12px; } +.gwt-SplitLayoutPanel-HDragger { + background: #e7e7e7 url(images/thumb_vertical.png) center center no-repeat; + cursor: col-resize; +} + +.gwt-SplitLayoutPanel-VDragger { + background: #e7e7e7 url(images/thumb_horz.png) center center no-repeat; + cursor: row-resize; +} + .gwt-ToggleButton-up-hovering, .gwt-ToggleButton-down-hovering { background: url(images/btn-cta-orangeleft-down.png) center top repeat-x; color: #fff; From dcc529691c4c1e40b18fa42c758f1a2482bc0651 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Tue, 22 May 2012 17:48:10 +0200 Subject: [PATCH 052/339] Add graphics for SplitLayoutPanel-Dragger --- java/com.sap.sailing.gwt.ui/images/thumb_horz.png | Bin 0 -> 222 bytes .../images/thumb_vertical.png | Bin 0 -> 231 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 java/com.sap.sailing.gwt.ui/images/thumb_horz.png create mode 100644 java/com.sap.sailing.gwt.ui/images/thumb_vertical.png diff --git a/java/com.sap.sailing.gwt.ui/images/thumb_horz.png b/java/com.sap.sailing.gwt.ui/images/thumb_horz.png new file mode 100644 index 0000000000000000000000000000000000000000..b43e683e1fc8ff563a0e90c465ed6bf0c12c3924 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)I!VDxgys+>CQq09po*^6@9Je3(KLBzi0(?ST zjg5`}|Nozxn;Q@i(ACxD=;&BeQxhK_e#- zgOR?Wfxe;P-5zNcpaKz37sn8enaK&J;l&98A|fIQ4VxK+%@|MTrwIH2$}@Pn`njxg HN@xNALh?UZ literal 0 HcmV?d00001 diff --git a/java/com.sap.sailing.gwt.ui/images/thumb_vertical.png b/java/com.sap.sailing.gwt.ui/images/thumb_vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..bd57f594ac98980f6eda313abba3f4ed1bed2ae6 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c8!VDzudVhQjq?n7HJVQ7*IBq}me*ol41o(uw z8XFt`|NlQXH#Z<4psTCP(b2J{rY1f<{zP2lbf6l}0*}aI1_o{+5N5n|x9$&6P^QE+ zq9iy!t)x7$D3!r6B|j-u!7Z~WwLHHlyI8?F*tBr#V>6&SQII<4qSVBa%=|oskj&gv z1|xk#1ARloyFJn%*U5UiIEHY{OcoGG5D-lj5K9vfPZtnM5)e)n5M*TF)?*Z3_i%|1 PP$7e-tDnm{r-UW|-D^M6 literal 0 HcmV?d00001 From ebf6e6527871d6c7b507d26ffee0965ab9c14150 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 22 May 2012 18:54:05 +0200 Subject: [PATCH 053/339] added methods to create TracTracRaceTracker with specific Regatta --- .../domain/tractracadapter/DomainFactory.java | 12 +++++++++++- .../tractracadapter/impl/DomainFactoryImpl.java | 9 +++++++++ .../impl/RaceTrackingConnectivityParametersImpl.java | 9 +++++++++ .../tracking/RaceTrackingConnectivityParameters.java | 12 ++++++++++++ 4 files changed, 41 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java index bb6100e4bee..63aee713e2d 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java @@ -16,6 +16,7 @@ import com.sap.sailing.domain.base.Course; import com.sap.sailing.domain.base.Nationality; import com.sap.sailing.domain.base.Person; import com.sap.sailing.domain.base.RaceDefinition; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Team; import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.common.TimePoint; @@ -24,6 +25,7 @@ import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; import com.sap.sailing.domain.tracking.GPSFixMoving; import com.sap.sailing.domain.tracking.MarkPassing; +import com.sap.sailing.domain.tracking.RaceTracker; import com.sap.sailing.domain.tracking.RaceTrackingConnectivityParameters; import com.sap.sailing.domain.tracking.TrackedRegatta; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; @@ -121,6 +123,14 @@ public interface DomainFactory { TimePoint endOfTracking, WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry) throws MalformedURLException, FileNotFoundException, URISyntaxException; + /** + * Same as {@link #createRaceTracker(URL, URI, URI, TimePoint, TimePoint, WindStore, TrackedRegattaRegistry)}, only that + * a predefined {@link Regatta} is used to hold the resulting races. + */ + RaceTracker createRaceTracker(Regatta regatta, URL paramURL, URI liveURI, URI storedURI, TimePoint startOfTracking, + TimePoint endOfTracking, WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry) + throws MalformedURLException, FileNotFoundException, URISyntaxException; + BoatClass getOrCreateBoatClass(CompetitorClass competitorClass); /** @@ -228,5 +238,5 @@ public interface DomainFactory { * will have to create a new one. */ void removeRace(Event tractracEvent, Race tractracRace, TrackedRegattaRegistry trackedRegattaRegistry); - + } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java index 070a0488eba..200cfbc32dd 100644 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java @@ -47,6 +47,7 @@ import com.sap.sailing.domain.tracking.DynamicRaceDefinitionSet; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; import com.sap.sailing.domain.tracking.GPSFixMoving; import com.sap.sailing.domain.tracking.MarkPassing; +import com.sap.sailing.domain.tracking.RaceTracker; import com.sap.sailing.domain.tracking.RaceTrackingConnectivityParameters; import com.sap.sailing.domain.tracking.TrackedRegatta; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; @@ -469,6 +470,14 @@ public class DomainFactoryImpl implements DomainFactory { windStore, trackedRegattaRegistry); } + @Override + public RaceTracker createRaceTracker(Regatta regatta, URL paramURL, URI liveURI, URI storedURI, + TimePoint startOfTracking, TimePoint endOfTracking, WindStore windStore, + TrackedRegattaRegistry trackedRegattaRegistry) throws MalformedURLException, FileNotFoundException, URISyntaxException { + return new TracTracRaceTrackerImpl(regatta, this, paramURL, liveURI, storedURI, startOfTracking, endOfTracking, + windStore, trackedRegattaRegistry); + } + @Override public JSONService parseJSONURL(URL jsonURL) throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException { return new JSONServiceImpl(jsonURL); diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceTrackingConnectivityParametersImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceTrackingConnectivityParametersImpl.java index bbd80a65e9e..a4ffb32d27e 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceTrackingConnectivityParametersImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceTrackingConnectivityParametersImpl.java @@ -6,6 +6,7 @@ import java.net.URI; import java.net.URISyntaxException; import java.net.URL; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.tracking.RaceTracker; @@ -43,6 +44,14 @@ public class RaceTrackingConnectivityParametersImpl implements RaceTrackingConne return tracker; } + @Override + public RaceTracker createRaceTracker(Regatta regatta, TrackedRegattaRegistry trackedRegattaRegistry) + throws Exception { + RaceTracker tracker = domainFactory.createRaceTracker(regatta, paramURL, liveURI, storedURI, startOfTracking, + endOfTracking, windStore, trackedRegattaRegistry); + return tracker; + } + @Override public Util.Triple getTrackerID() { return TracTracRaceTrackerImpl.createID(paramURL, liveURI, storedURI); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceTrackingConnectivityParameters.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceTrackingConnectivityParameters.java index 6743ada976b..59b847ce23f 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceTrackingConnectivityParameters.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/RaceTrackingConnectivityParameters.java @@ -1,5 +1,9 @@ package com.sap.sailing.domain.tracking; +import com.sap.sailing.domain.base.Fleet; +import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.Series; + @@ -18,6 +22,14 @@ public interface RaceTrackingConnectivityParameters { */ RaceTracker createRaceTracker(TrackedRegattaRegistry trackedRegattaRegistry) throws Exception; + /** + * Starts a {@link RaceTracker}, associating the resulting races with the {@link Regatta} passed as argument + * instead of using the tracker's domain factory to obtain a default {@link Regatta} object for the tracking + * parameters. This is particularly useful if a predefined regatta with {@link Series} and {@link Fleet}s + * is to be used. + */ + RaceTracker createRaceTracker(Regatta regatta, TrackedRegattaRegistry trackedRegattaRegistry) throws Exception; + /** * Deliver an ID object equal to that of the {@link RaceTracker#getID()} delivered by the {@link RaceTracker} * that will be created from these parameters by calling {@link #createRaceTracker(TrackedRegattaRegistry)}. From 039c6fe0cdb645436813b8bf052d271a8d1e1b34 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 22 May 2012 19:16:50 +0200 Subject: [PATCH 054/339] added regatta parameter to SwissTimingRaceTracker factory methods / constructor --- .../domain/swisstimingadapter/SwissTimingFactory.java | 8 ++++++++ .../impl/SwissTimingFactoryImpl.java | 11 +++++++++++ .../SwissTimingTrackingConnectivityParameters.java | 8 ++++++++ 3 files changed, 27 insertions(+) diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java index 81b5a8f14f5..6cb9646b829 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java @@ -4,8 +4,10 @@ import java.io.IOException; import java.net.UnknownHostException; import java.text.ParseException; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.swisstimingadapter.impl.SwissTimingFactoryImpl; +import com.sap.sailing.domain.tracking.RaceTracker; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; import com.sap.sailing.domain.tracking.WindStore; @@ -51,7 +53,13 @@ public interface SwissTimingFactory { SwissTimingRaceTracker createRaceTracker(String raceID, String hostname, int port, boolean canSendRequests, WindStore windStore, RaceSpecificMessageLoader messageLoader, DomainFactory domainFactory, TrackedRegattaRegistry trackedRegattaRegistry) throws InterruptedException, UnknownHostException, IOException, ParseException; + RaceTracker createRaceTracker(Regatta regatta, String raceID, String hostname, int port, boolean canSendRequests, + WindStore windStore, RaceSpecificMessageLoader messageLoader, DomainFactory domainFactory, + TrackedRegattaRegistry trackedRegattaRegistry) throws UnknownHostException, InterruptedException, + IOException, ParseException; + Race createRace(String raceId, String description, TimePoint startTime); SailMasterMessage createMessage(String message, Long sequenceNumber); + } diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java index eb2563d8a51..bdfd6367342 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java @@ -6,6 +6,7 @@ import java.text.ParseException; import java.util.HashMap; import java.util.Map; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.domain.swisstimingadapter.DomainFactory; @@ -18,6 +19,7 @@ import com.sap.sailing.domain.swisstimingadapter.SwissTimingConfiguration; import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory; import com.sap.sailing.domain.swisstimingadapter.SwissTimingMessageParser; import com.sap.sailing.domain.swisstimingadapter.SwissTimingRaceTracker; +import com.sap.sailing.domain.tracking.RaceTracker; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; import com.sap.sailing.domain.tracking.WindStore; @@ -83,6 +85,15 @@ public class SwissTimingFactoryImpl implements SwissTimingFactory { trackedRegattaRegistry, canSendRequests); } + @Override + public RaceTracker createRaceTracker(Regatta regatta, String raceID, String hostname, int port, + boolean canSendRequests, WindStore windStore, RaceSpecificMessageLoader messageLoader, + DomainFactory domainFactory, TrackedRegattaRegistry trackedRegattaRegistry) throws UnknownHostException, + InterruptedException, IOException, ParseException { + return new SwissTimingRaceTrackerImpl(regatta, raceID, hostname, port, windStore, domainFactory, this, + messageLoader, trackedRegattaRegistry, canSendRequests); + } + @Override public SailMasterTransceiver createSailMasterTransceiver() { return new SailMasterTransceiverImpl(); diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingTrackingConnectivityParameters.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingTrackingConnectivityParameters.java index af3b9dd8500..791d0cc72e2 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingTrackingConnectivityParameters.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingTrackingConnectivityParameters.java @@ -1,5 +1,6 @@ package com.sap.sailing.domain.swisstimingadapter.impl; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.swisstimingadapter.DomainFactory; import com.sap.sailing.domain.swisstimingadapter.RaceSpecificMessageLoader; import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory; @@ -38,6 +39,13 @@ public class SwissTimingTrackingConnectivityParameters implements RaceTrackingCo domainFactory, trackedRegattaRegistry); } + @Override + public RaceTracker createRaceTracker(Regatta regatta, TrackedRegattaRegistry trackedRegattaRegistry) + throws Exception { + return swissTimingFactory.createRaceTracker(regatta, raceID, hostname, port, canSendRequests, windStore, messageLoader, + domainFactory, trackedRegattaRegistry); + } + @Override public Object getTrackerID() { return SwissTimingRaceTrackerImpl.createID(raceID, hostname, port); From f9d571862ef2ffa4425f075c75a50871f46aae95 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 22 May 2012 21:49:20 +0200 Subject: [PATCH 055/339] added launch config for the replication tests --- .../ReplicationTests (Proxy).launch | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100755 java/com.sap.sailing.server.replication.test/ReplicationTests (Proxy).launch diff --git a/java/com.sap.sailing.server.replication.test/ReplicationTests (Proxy).launch b/java/com.sap.sailing.server.replication.test/ReplicationTests (Proxy).launch new file mode 100755 index 00000000000..10be5590665 --- /dev/null +++ b/java/com.sap.sailing.server.replication.test/ReplicationTests (Proxy).launch @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + From 134bbe412a8126868364d2f8331bf2bb195fdbd5 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 22 May 2012 23:01:31 +0200 Subject: [PATCH 056/339] added "optional" regattaToAddTo parameter to tracking methods and pass on to race tracker factories --- .../EndToEndListeningStoreAndFowardTest.java | 5 ++- .../impl/TracTracRaceTrackerImpl.java | 2 +- .../ui/test/GwtTestCaseColumnToggling.java | 7 +++- .../SwissTimingEventManagementPanel.java | 3 +- .../TracTracEventManagementPanel.java | 3 +- .../sailing/gwt/ui/client/SailingService.java | 8 ++-- .../gwt/ui/client/SailingServiceAsync.java | 32 +++++++++++---- .../gwt/ui/server/SailingServiceImpl.java | 19 ++++----- .../test/TrackRaceReplicationTest.java | 2 +- .../sailing/server/RacingEventService.java | 34 +++++++++++++--- .../server/impl/RacingEventServiceImpl.java | 39 ++++++++++++------- 11 files changed, 106 insertions(+), 48 deletions(-) diff --git a/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/EndToEndListeningStoreAndFowardTest.java b/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/EndToEndListeningStoreAndFowardTest.java index 6bc6d9a4507..f25cdece50f 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/EndToEndListeningStoreAndFowardTest.java +++ b/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/EndToEndListeningStoreAndFowardTest.java @@ -290,8 +290,9 @@ public class EndToEndListeningStoreAndFowardTest { private void setUpUsingScript(String[] racesToTrack, String... scriptNames) throws Exception { for (String raceToTrack : racesToTrack) { - RacesHandle raceHandle = racingEventService.addSwissTimingRace(raceToTrack, "localhost", CLIENT_PORT, /* canSendRequests */ - false, emptyWindStore, -1); + RacesHandle raceHandle = racingEventService.addSwissTimingRace(/* regattaToAddTo */ null /* use a default regatta */, + raceToTrack, "localhost", /* canSendRequests */ + CLIENT_PORT, false, emptyWindStore, -1); raceHandles.add(raceHandle); if (connector == null) { connector = racingEventService.getSwissTimingFactory().getOrCreateSailMasterConnector("localhost", diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java index 5421049fb08..f90d48e50ff 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java @@ -162,7 +162,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements // domainEvent *after* calling removeRace domainFactory.removeRace(tractracEvent, tractracRace, trackedRegattaRegistry); } - this.regatta = domainFactory.getOrCreateRegatta(tractracEvent); + this.regatta = regatta; setTrackedRegatta(trackedRegattaRegistry.getOrCreateTrackedRegatta(regatta)); receivers = new HashSet(); Set typeControllers = new HashSet(); diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java index f11cea858ec..c46e5319b92 100644 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java @@ -80,8 +80,11 @@ public class GwtTestCaseColumnToggling extends GWTTestCase { } private void trackRace(){ - service.track(rrDao, tractracTunnel ? "tcp://"+tractracTunnelHost+":"+TracTracConnectionConstants.PORT_TUNNEL_LIVE : "tcp://" + TracTracConnectionConstants.HOST_NAME + ":" + TracTracConnectionConstants.PORT_LIVE, - tractracTunnel ? "tcp://"+tractracTunnelHost+":"+TracTracConnectionConstants.PORT_TUNNEL_STORED : "tcp://" + TracTracConnectionConstants.HOST_NAME + ":" + TracTracConnectionConstants.PORT_STORED, false, false, new AsyncCallback() { + service.trackWithTracTrac(/* regattaToAddTo */null, rrDao, tractracTunnel ? "tcp://" + tractracTunnelHost + ":" + + TracTracConnectionConstants.PORT_TUNNEL_LIVE : "tcp://" + TracTracConnectionConstants.HOST_NAME + ":" + + TracTracConnectionConstants.PORT_LIVE, tractracTunnel ? "tcp://" + tractracTunnelHost + ":" + + TracTracConnectionConstants.PORT_TUNNEL_STORED : "tcp://" + TracTracConnectionConstants.HOST_NAME + + ":" + TracTracConnectionConstants.PORT_STORED, false, false, new AsyncCallback() { @Override public void onFailure(Throwable caught) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SwissTimingEventManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SwissTimingEventManagementPanel.java index ab8bc919870..337580a0255 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SwissTimingEventManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SwissTimingEventManagementPanel.java @@ -342,7 +342,8 @@ public class SwissTimingEventManagementPanel extends AbstractEventManagementPane int port = portIntegerbox.getValue(); for (final SwissTimingRaceRecordDTO rr : raceList.getList()) { if (raceTable.getSelectionModel().isSelected(rr)) { - sailingService.trackWithSwissTiming(rr, hostname, port, /* canSendRequests */false, + sailingService.trackWithSwissTiming(/* regattaToAddTo */ null, // TODO allow user to select a pre-defined regatta + rr, hostname, port, /* canSendRequests */false, trackWind, correctWindByDeclination, new AsyncCallback() { @Override public void onFailure(Throwable caught) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java index 366e7fb3183..0cb40dd46df 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java @@ -455,7 +455,8 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel { String storedURI = storedURIBox.getValue(); for (final TracTracRaceRecordDTO rr : raceList.getList()) { if (raceTable.getSelectionModel().isSelected(rr)) { - sailingService.track(rr, liveURI, storedURI, trackWind, correctWindByDeclination, new AsyncCallback() { + sailingService.trackWithTracTrac(/* regattaToAddTo */ null, // TODO allow user to optionally select a pre-defined regatta + rr, liveURI, storedURI, trackWind, correctWindByDeclination, new AsyncCallback() { @Override public void onFailure(Throwable caught) { errorReporter.reportError("Error trying to register race " + rr.name + " for tracking: " diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java index 8d4240b88ce..c3721be6792 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java @@ -48,8 +48,11 @@ public interface SailingService extends RemoteService { Pair> listTracTracRacesInEvent(String eventJsonURL) throws Exception; - void track(TracTracRaceRecordDTO rr, String liveURI, String storedURI, boolean trackWind, boolean correctWindByDeclination) throws Exception; + void trackWithTracTrac(RegattaIdentifier regattaToAddTo, TracTracRaceRecordDTO rr, String liveURI, String storedURI, boolean trackWind, boolean correctWindByDeclination) throws Exception; + void trackWithSwissTiming(RegattaIdentifier regattaToAddTo, SwissTimingRaceRecordDTO rr, String hostname, int port, + boolean canSendRequests, boolean trackWind, boolean correctWindByDeclination) throws Exception; + void storeTracTracConfiguration(String name, String jsonURL, String liveDataURI, String storedDataURI) throws Exception; void stopTrackingEvent(RegattaIdentifier eventIdentifier) throws Exception; @@ -144,9 +147,6 @@ public interface SailingService extends RemoteService { void storeSwissTimingConfiguration(String configName, String hostname, int port, boolean canSendRequests); - void trackWithSwissTiming(SwissTimingRaceRecordDTO rr, String hostname, int port, boolean canSendRequests, - boolean trackWind, boolean correctWindByDeclination) throws Exception; - void sendSwissTimingDummyRace(String racMessage, String stlMesssage, String ccgMessage) throws IllegalArgumentException; void stressTestLeaderboardByName(String leaderboardName, int times) throws Exception; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java index 62526cc6b37..152abd00d02 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java @@ -49,12 +49,21 @@ public interface SailingServiceAsync { void listTracTracRacesInEvent(String eventJsonURL, AsyncCallback>> callback); /** - * @param liveURI may be null or the empty string in which case the server will - * use the {@link TracTracRaceRecordDTO#liveURI} from the rr race record. - * @param storedURImay be null or the empty string in which case the server will - * use the {@link TracTracRaceRecordDTO#storedURI} from the rr race record. + * @param regattaToAddTo + * if null, an existing regatta by the name of the TracTrac event with the boat class name + * appended in parentheses will be looked up; if not found, a default regatta with that name will be + * created, with a single default series and a single default fleet. If a valid {@link RegattaIdentifier} + * is specified, a regatta lookup is performed with that identifier; if the regatta is found, it is used + * to add the races to. Otherwise, a default regatta as described above will be created and used. + * @param liveURI + * may be null or the empty string in which case the server will use the + * {@link TracTracRaceRecordDTO#liveURI} from the rr race record. + * @param storedURImay + * be null or the empty string in which case the server will use the + * {@link TracTracRaceRecordDTO#storedURI} from the rr race record. */ - void track(TracTracRaceRecordDTO rr, String liveURI, String storedURI, boolean trackWind, boolean correctWindByDeclination, + void trackWithTracTrac(RegattaIdentifier regattaToAddTo, + TracTracRaceRecordDTO rr, String liveURI, String storedURI, boolean trackWind, boolean correctWindByDeclination, AsyncCallback callback); void getPreviousTracTracConfigurations(AsyncCallback> callback); @@ -235,8 +244,17 @@ public interface SailingServiceAsync { void storeSwissTimingConfiguration(String configName, String hostname, int port, boolean canSendRequests, AsyncCallback asyncCallback); - void trackWithSwissTiming(SwissTimingRaceRecordDTO rr, String hostname, int port, boolean canSendRequests, - boolean trackWind, boolean correctWindByDeclination, AsyncCallback asyncCallback); + /** + * @param regattaToAddTo + * if null, an existing regatta by the name of the TracTrac event with the boat class name + * appended in parentheses will be looked up; if not found, a default regatta with that name will be + * created, with a single default series and a single default fleet. If a valid {@link RegattaIdentifier} + * is specified, a regatta lookup is performed with that identifier; if the regatta is found, it is used + * to add the races to. Otherwise, a default regatta as described above will be created and used. + */ + void trackWithSwissTiming(RegattaIdentifier regattaToAddTo, SwissTimingRaceRecordDTO rr, String hostname, int port, + boolean canSendRequests, boolean trackWind, boolean correctWindByDeclination, + AsyncCallback asyncCallback); void sendSwissTimingDummyRace(String racMessage, String stlMesssage, String ccgMessage, AsyncCallback callback); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index c137017301d..63af712f81b 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -495,16 +495,17 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS } @Override - public void track(TracTracRaceRecordDTO rr, String liveURI, String storedURI, boolean trackWind, final boolean correctWindByDeclination) throws Exception { + public void trackWithTracTrac(RegattaIdentifier regattaToAddTo, TracTracRaceRecordDTO rr, String liveURI, String storedURI, + boolean trackWind, final boolean correctWindByDeclination) throws Exception { if (liveURI == null || liveURI.trim().length() == 0) { liveURI = rr.liveURI; } if (storedURI == null || storedURI.trim().length() == 0) { storedURI = rr.storedURI; } - final RacesHandle raceHandle = getService().addTracTracRace(new URL(rr.paramURL), new URI(liveURI), new URI(storedURI), - new MillisecondsTimePoint(rr.trackingStartTime), new MillisecondsTimePoint(rr.trackingEndTime), - MongoWindStoreFactory.INSTANCE.getMongoWindStore(mongoObjectFactory, domainObjectFactory), TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS); + final RacesHandle raceHandle = getService().addTracTracRace(regattaToAddTo, new URL(rr.paramURL), new URI(liveURI), + new URI(storedURI), new MillisecondsTimePoint(rr.trackingStartTime), + new MillisecondsTimePoint(rr.trackingEndTime), MongoWindStoreFactory.INSTANCE.getMongoWindStore(mongoObjectFactory, domainObjectFactory), TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS); if (trackWind) { new Thread("Wind tracking starter for race "+rr.regattaName+"/"+rr.name) { public void run() { @@ -1440,11 +1441,11 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS } @Override - public void trackWithSwissTiming(SwissTimingRaceRecordDTO rr, String hostname, int port, boolean canSendRequests, - boolean trackWind, final boolean correctWindByDeclination) throws Exception { - final RacesHandle raceHandle = getService().addSwissTimingRace(rr.ID, hostname, port, canSendRequests, - MongoWindStoreFactory.INSTANCE.getMongoWindStore(mongoObjectFactory, domainObjectFactory), - TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS); + public void trackWithSwissTiming(RegattaIdentifier regattaToAddTo, SwissTimingRaceRecordDTO rr, String hostname, int port, + boolean canSendRequests, boolean trackWind, final boolean correctWindByDeclination) throws Exception { + final RacesHandle raceHandle = getService().addSwissTimingRace(regattaToAddTo, rr.ID, hostname, port, + canSendRequests, + MongoWindStoreFactory.INSTANCE.getMongoWindStore(mongoObjectFactory, domainObjectFactory), TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS); if (trackWind) { new Thread("Wind tracking starter for race "+rr.ID+"/"+rr.description) { public void run() { diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java index 0d6ffc917c9..0d52df9046b 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java @@ -84,7 +84,7 @@ public class TrackRaceReplicationTest extends AbstractServerReplicationTest { } private void startTrackingOnMaster() throws Exception { - racesHandle = master.addRace(trackingParams, EmptyWindStore.INSTANCE, /* timeoutInMilliseconds */ 60000); + racesHandle = master.addRace(/* regattaToAddTo */ null, trackingParams, EmptyWindStore.INSTANCE, /* timeoutInMilliseconds */ 60000); } private void waitForTrackRaceReplicationTrigger() throws InterruptedException { diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java index ff5574f9e46..1c26481e97c 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java @@ -143,9 +143,16 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch * Same as {@link #addTracTracRace(URL, URI, URI, WindStore, long)}, only that start and end of tracking are * specified which may help reducing the amount of stored data (particularly mark positions) that needs to be * loaded. + * + * @param regattaToAddTo + * if null, an existing regatta by the name of the TracTrac event with the boat class name + * appended in parentheses will be looked up; if not found, a default regatta with that name will be + * created, with a single default series and a single default fleet. If a valid {@link RegattaIdentifier} + * is specified, a regatta lookup is performed with that identifier; if the regatta is found, it is used + * to add the races to. Otherwise, a default regatta as described above will be created and used. */ - RacesHandle addTracTracRace(URL paramURL, URI liveURI, URI storedURI, TimePoint trackingStartTime, - TimePoint trackingEndTime, WindStore windStore, long timeoutForReceivingRaceDefinitionInMilliseconds) + RacesHandle addTracTracRace(RegattaIdentifier regattaToAddTo, URL paramURL, URI liveURI, URI storedURI, + TimePoint trackingStartTime, TimePoint trackingEndTime, WindStore windStore, long timeoutForReceivingRaceDefinitionInMilliseconds) throws MalformedURLException, FileNotFoundException, URISyntaxException, Exception; /** @@ -259,8 +266,16 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch */ void updateStoredLeaderboard(Leaderboard leaderboard); - RacesHandle addSwissTimingRace(String raceID, String hostname, int port, boolean canSendRequests, - WindStore windStore, long timeoutInMilliseconds) throws InterruptedException, UnknownHostException, + /** + * @param regattaToAddTo + * if null, an existing regatta by the name of the TracTrac event with the boat class name + * appended in parentheses will be looked up; if not found, a default regatta with that name will be + * created, with a single default series and a single default fleet. If a valid {@link RegattaIdentifier} + * is specified, a regatta lookup is performed with that identifier; if the regatta is found, it is used + * to add the races to. Otherwise, a default regatta as described above will be created and used. + */ + RacesHandle addSwissTimingRace(RegattaIdentifier regattaToAddTo, String raceID, String hostname, int port, + boolean canSendRequests, WindStore windStore, long timeoutInMilliseconds) throws InterruptedException, UnknownHostException, IOException, ParseException, Exception; SwissTimingFactory getSwissTimingFactory(); @@ -325,9 +340,16 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch void removeExpeditionListener(ExpeditionListener listener); /** - * @param windStore must not be null, but can, e.g., be an {@link EmptyWindStore} + * @param regattaToAddTo + * if null, an existing regatta by the name of the TracTrac event with the boat class name + * appended in parentheses will be looked up; if not found, a default regatta with that name will be + * created, with a single default series and a single default fleet. If a valid {@link RegattaIdentifier} + * is specified, a regatta lookup is performed with that identifier; if the regatta is found, it is used + * to add the races to. Otherwise, a default regatta as described above will be created and used. + * @param windStore + * must not be null, but can, e.g., be an {@link EmptyWindStore} */ - RacesHandle addRace(RaceTrackingConnectivityParameters params, WindStore windStore, long timeoutInMilliseconds) + RacesHandle addRace(RegattaIdentifier regattaToAddTo, RaceTrackingConnectivityParameters params, WindStore windStore, long timeoutInMilliseconds) throws MalformedURLException, FileNotFoundException, URISyntaxException, Exception; TrackedRace createTrackedRace(RegattaAndRaceIdentifier raceIdentifier, WindStore windStore, diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index f136449693e..2aa3a63013b 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -448,19 +448,22 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } @Override - public synchronized RacesHandle addSwissTimingRace(String raceID, String hostname, int port, - boolean canSendRequests, WindStore windStore, long timeoutInMilliseconds) throws Exception { + public synchronized RacesHandle addSwissTimingRace(RegattaIdentifier regattaToAddTo, String raceID, String hostname, + int port, boolean canSendRequests, WindStore windStore, long timeoutInMilliseconds) throws Exception { return addRace( + regattaToAddTo, swissTimingDomainFactory.createTrackingConnectivityParameters(hostname, port, raceID, canSendRequests, - swissTimingFactory, swissTimingDomainFactory, windStore, swissTimingAdapterPersistence), - windStore, timeoutInMilliseconds); + swissTimingFactory, swissTimingDomainFactory, windStore, swissTimingAdapterPersistence), windStore, timeoutInMilliseconds); } @Override public synchronized RacesHandle addTracTracRace(URL paramURL, URI liveURI, URI storedURI, WindStore windStore, long timeoutInMilliseconds) throws Exception { - return addRace(getDomainFactory().createTrackingConnectivityParameters(paramURL, liveURI, storedURI, /* startOfTracking */ null, - /* endOfTracking */ null, windStore), windStore, timeoutInMilliseconds); + return addRace( + /* regattaToAddTo */ null, + getDomainFactory().createTrackingConnectivityParameters(paramURL, liveURI, storedURI, + /* startOfTracking */ null, + /* endOfTracking */null, windStore), windStore, timeoutInMilliseconds); } @Override @@ -483,11 +486,19 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } @Override - public synchronized RacesHandle addRace(RaceTrackingConnectivityParameters params, WindStore windStore, - long timeoutInMilliseconds) throws Exception { + public synchronized RacesHandle addRace(RegattaIdentifier regattaToAddTo, RaceTrackingConnectivityParameters params, + WindStore windStore, long timeoutInMilliseconds) throws Exception { RaceTracker tracker = raceTrackersByID.get(params.getTrackerID()); if (tracker == null) { - tracker = params.createRaceTracker(this); + Regatta regatta = getRegatta(regattaToAddTo); + if (regatta == null) { + // create tracker and use an existing or create a default regatta + tracker = params.createRaceTracker(this); + } else { + // use the regatta selected by the RaceIdentifier regattaToAddTo + tracker = params.createRaceTracker(regatta, this); + assert tracker.getRegatta() == regatta; + } raceTrackersByID.put(params.getTrackerID(), tracker); Set trackers = raceTrackersByRegatta.get(tracker.getRegatta()); if (trackers == null) { @@ -552,11 +563,11 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } @Override - public synchronized RacesHandle addTracTracRace(URL paramURL, URI liveURI, URI storedURI, - TimePoint startOfTracking, TimePoint endOfTracking, WindStore windStore, - long timeoutInMilliseconds) throws Exception { - return addRace(getDomainFactory().createTrackingConnectivityParameters(paramURL, liveURI, storedURI, startOfTracking, - endOfTracking, windStore), windStore, timeoutInMilliseconds); + public synchronized RacesHandle addTracTracRace(RegattaIdentifier regattaToAddTo, URL paramURL, URI liveURI, + URI storedURI, TimePoint startOfTracking, TimePoint endOfTracking, + WindStore windStore, long timeoutInMilliseconds) throws Exception { + return addRace(regattaToAddTo, getDomainFactory().createTrackingConnectivityParameters(paramURL, liveURI, storedURI, startOfTracking, + endOfTracking, windStore), windStore, timeoutInMilliseconds); } private void ensureRegattaIsObservedForDefaultLeaderboardAndAutoLeaderboardLinking(DynamicTrackedRegatta trackedRegatta) { From 89a7f7b39fa5de7e558e7986aaf42265dd96115e Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 23 May 2012 01:27:44 +0200 Subject: [PATCH 057/339] use ?broker.useJmx=false extension to vm://localhost... broker URL in tests; unregister replica in tearDown --- .../raceanalysis.product | 1 + .../com/sap/sailing/mongodb/MongoDBConfiguration.java | 6 ++---- .../test/AbstractServerReplicationTest.java | 9 ++++++--- .../replication/impl/ReplicationServiceImpl.java | 2 +- .../server/replication/impl/ReplicationServlet.java | 2 +- .../sailing/server/impl/RacingEventServiceImpl.java | 4 ++-- java/pom.xml | 10 +++++----- 7 files changed, 18 insertions(+), 16 deletions(-) diff --git a/java/com.sap.sailing.feature.p2build/raceanalysis.product b/java/com.sap.sailing.feature.p2build/raceanalysis.product index c98563a6677..eeae58e0148 100644 --- a/java/com.sap.sailing.feature.p2build/raceanalysis.product +++ b/java/com.sap.sailing.feature.p2build/raceanalysis.product @@ -46,6 +46,7 @@ + diff --git a/java/com.sap.sailing.mongodb/src/com/sap/sailing/mongodb/MongoDBConfiguration.java b/java/com.sap.sailing.mongodb/src/com/sap/sailing/mongodb/MongoDBConfiguration.java index 459c1933375..a0797d6cb8e 100644 --- a/java/com.sap.sailing.mongodb/src/com/sap/sailing/mongodb/MongoDBConfiguration.java +++ b/java/com.sap.sailing.mongodb/src/com/sap/sailing/mongodb/MongoDBConfiguration.java @@ -18,8 +18,7 @@ public class MongoDBConfiguration { private int port; private String databaseName; - public static MongoDBConfiguration getDefaultConfiguration() - { + public static MongoDBConfiguration getDefaultConfiguration() { String defaultHostName = System.getProperty(MONGO_HOSTNAME, "127.0.0.1"); int defaultPort = Integer.valueOf(System.getProperty(MONGO_PORT, "27017")); String defaultDatabaseName = System.getProperty(MONGO_DB_NAME, DEFAULT_DB_NAME); @@ -27,8 +26,7 @@ public class MongoDBConfiguration { return new MongoDBConfiguration(defaultHostName, defaultPort, defaultDatabaseName); } - public static MongoDBConfiguration getDefaultTestConfiguration() - { + public static MongoDBConfiguration getDefaultTestConfiguration() { String defaultHostName = System.getProperty(MONGO_HOSTNAME, "127.0.0.1"); int defaultPort = Integer.valueOf(System.getProperty(MONGO_PORT, "27017")); String defaultDatabaseName = System.getProperty(MONGO_DB_NAME, DEFAULT_TEST_DB_NAME); diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java index 27cd1afa24c..417f807a58a 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java @@ -42,6 +42,8 @@ public abstract class AbstractServerReplicationTest { protected RacingEventServiceImpl master; private MessageBrokerManager brokerMgr; private File brokerPersistenceDir; + private ReplicaDescriptor replicaDescriptor; + private ReplicationServiceImpl masterReplicator; /** * Sets up master and replica, starts the JMS message broker and registers the replica with the master. @@ -54,7 +56,7 @@ public abstract class AbstractServerReplicationTest { master = new RacingEventServiceImpl(mongoDBService); replica = new RacingEventServiceImpl(mongoDBService); ReplicationInstancesManager rim = new ReplicationInstancesManager(); - final String IN_VM_BROKER_URL = "vm://localhost-jms-connection"; + final String IN_VM_BROKER_URL = "vm://localhost-jms-connection?broker.useJmx=false"; final String activeMQPersistenceParentDir = System.getProperty("java.io.tmpdir"); final String brokerName = "local_in-VM_test_broker"; brokerPersistenceDir = new File(activeMQPersistenceParentDir, brokerName); @@ -63,8 +65,8 @@ public abstract class AbstractServerReplicationTest { IN_VM_BROKER_URL, activeMQPersistenceParentDir)); brokerMgr.startMessageBroker(/* useJmx */ false); brokerMgr.createAndStartConnection(); - ReplicationService masterReplicator = new ReplicationServiceImpl(rim, brokerMgr, master); - ReplicaDescriptor replicaDescriptor = new ReplicaDescriptor(InetAddress.getLocalHost()); + masterReplicator = new ReplicationServiceImpl(rim, brokerMgr, master); + replicaDescriptor = new ReplicaDescriptor(InetAddress.getLocalHost()); masterReplicator.registerReplica(replicaDescriptor); ReplicationMasterDescriptor masterDescriptor = new ReplicationMasterDescriptor() { @Override @@ -106,6 +108,7 @@ public abstract class AbstractServerReplicationTest { @After public void tearDown() throws Exception { + masterReplicator.unregisterReplica(replicaDescriptor); brokerMgr.closeSessions(); brokerMgr.closeConnections(); brokerMgr.stopMessageBroker(); diff --git a/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServiceImpl.java b/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServiceImpl.java index 4faa0354b8e..d088f288bcb 100644 --- a/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServiceImpl.java +++ b/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServiceImpl.java @@ -66,7 +66,7 @@ public class ReplicationServiceImpl implements ReplicationService, OperationExec private final Map replicaUUIDs; public ReplicationServiceImpl(final ReplicationInstancesManager replicationInstancesManager, - final MessageBrokerManager messageBrokerManager) { + final MessageBrokerManager messageBrokerManager) throws Exception { this.replicationInstancesManager = replicationInstancesManager; replicaUUIDs = new HashMap(); this.messageBrokerManager = messageBrokerManager; diff --git a/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServlet.java b/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServlet.java index 9d7e9a31b63..29e64bcdd86 100755 --- a/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServlet.java +++ b/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServlet.java @@ -35,7 +35,7 @@ public class ReplicationServlet extends Servlet { private ServiceTracker replicationServiceTracker; - public ReplicationServlet() { + public ReplicationServlet() throws Exception { BundleContext context = Activator.getDefaultContext(); replicationServiceTracker = new ServiceTracker(context, ReplicationService.class.getName(), null); replicationServiceTracker.open(); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 2aa3a63013b..7c69a7b481b 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -490,7 +490,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen WindStore windStore, long timeoutInMilliseconds) throws Exception { RaceTracker tracker = raceTrackersByID.get(params.getTrackerID()); if (tracker == null) { - Regatta regatta = getRegatta(regattaToAddTo); + Regatta regatta = regattaToAddTo == null ? null : getRegatta(regattaToAddTo); if (regatta == null) { // create tracker and use an existing or create a default regatta tracker = params.createRaceTracker(this); @@ -1134,7 +1134,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen void replicate(RacingEventServiceOperation operation) { for (OperationExecutionListener listener : operationExecutionListeners) { - listener.executed(operation); + listener.executed(operation); // TODO consider exception handling } } diff --git a/java/pom.xml b/java/pom.xml index f4ecbe290e1..06657fcde2c 100755 --- a/java/pom.xml +++ b/java/pom.xml @@ -138,18 +138,18 @@ ${tycho-version} - + - + + -Dfile.encoding=cp1252 -Dmongo.dbName=winddbTest -Dreplication.brokerURL=tcp://localhost:61615 -Xmx1024m -XX:PermSize=256m -XX:-UseGCOverheadLimit -XX:+UseParallelGC + - From 648789c2ea5155599e2874fa98ce22025638302f Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 23 May 2012 01:36:28 +0200 Subject: [PATCH 058/339] reverted pom.xml to use of proxy for testing --- java/pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/java/pom.xml b/java/pom.xml index 06657fcde2c..fb23b1e387d 100755 --- a/java/pom.xml +++ b/java/pom.xml @@ -138,12 +138,12 @@ ${tycho-version} - -Dfile.encoding=cp1252 -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Dtractrac.tunnel=true -Dtractrac.tunnel.host=10.18.206.73 -Dmongo.host=10.18.206.73 -Dmongo.dbName=winddbTest -Dreplication.brokerURL=tcp://localhost:61615 -Xmx1024m -XX:PermSize=256m -XX:-UseGCOverheadLimit -XX:+UseParallelGC ---> - - -Dfile.encoding=cp1252 -Dmongo.dbName=winddbTest -Dreplication.brokerURL=tcp://localhost:61615 -Xmx1024m -XX:PermSize=256m -XX:-UseGCOverheadLimit -XX:+UseParallelGC + mg)MX;9_H%#6O%3 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≈wERgo@M=!kWPcZ>>Fqbb>JTA!=<-dU@8{Z!=ne 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�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 WG!QX?BQo#@jS&oN&;ST#VE+#>O=PqH literal 0 HcmV?d00001 diff --git a/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/jackson-mapper-lgpl_1.9.7.jar b/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/jackson-mapper-lgpl_1.9.7.jar new file mode 100644 index 0000000000000000000000000000000000000000..dc3875276265dd6790345425b56ad780186e7d1b GIT binary patch literal 785722 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

r3 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 z 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�ZPqdKNJa?n&;x5hwbt=Z-_ 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 z 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�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 literal 0 HcmV?d00001 diff --git a/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/jackson-xc_1.9.7.jar b/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/jackson-xc_1.9.7.jar new file mode 100644 index 0000000000000000000000000000000000000000..2271a9bc6816f0409ffe63fba17af331e5d982b4 GIT binary patch literal 27075 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 literal 0 HcmV?d00001 diff --git a/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet.ext.jackson_2.1.0.rc4-v20120406-1833.jar b/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet.ext.jackson_2.1.0.rc4-v20120406-1833.jar new file mode 100644 index 0000000000000000000000000000000000000000..7089d60f2fb6c4fe3be6cbb4b95cbba7a17bcfed GIT binary patch literal 5122 zcmb7I2{e>#*dAn;C0mA)>!JG@?y( z5W|;f>ev_V;fqNf8$C+Mkvi0zmgkxb=w8xBHe+3cJKk{@?e9)c8p_8Fe|ES_XH?cM z*}ueq?%4~x)i=$X(yO3ncANg1WRx;d#LLi}@UT~<_e<11qfrR@07y9%uXcv2k zt0%(!j}MB!)(eEjw=R4skVd-urJj}DbON!Rat?y~~eJ-Qz9%1k$M ziAF9whSNT=7klJu7*eTd@QQ;YNw0Zzmb9V#WC`W|<`dQ?JfT@EPhz~qL%s7-Bx4C{ z0wbg(!aq~TYT_(<$pl(=T%%rnIb_%(tlg<;JS+|ODxvpw`^S0mKb zscG{fo&lw6CfZh5g5n3A6n4pv6z5ppFi-^MU9YJZ*SKjCjn+0!@_qVzE*MK$jv-_DA_4 z2@{q&z9xzoGKfn6&j%kblZU5;qxF|c%-N?3Sfow3^V`1V!{Hy%4NKK%h9qW=4)M<7 zhHS4TlVTDB1sQ=|8g1jU8oTLUZEUyLe*ZV8gSvQrn|a{S;-=vUxBy`9*b zK?!*s-WvSH*~qbfCSWBwo=Lx%W~*DuFoVmb>-?;%v`1J56`^4A4I7zN1cSx9SZ+*7 zk;q%9ZYFQ1QyoahWxfL`{K9crpcyOA*87!VFoP_ZbG88&3zi1amP7 zq@}YyyAzxqm^t~yN$#7U3M#;sUxaQH^T2(R5uYK{W8HEm-3CB5w@bld%`DAqVf=Py z{f7)=Z|hf?Z$xzcL;FH|lgt$j`2J{0>wv3mnVCYljuPf4Nad(${2sOU-TvAvgS+uU zIqOXSDNBX(om(>x-ky4FL)b95z^QL~AuH#Zm>^!FTQ>CL}wzC0Vpsz2V@-5p}+NK&T5I?3a5OQ|Sjpss9lIj%eHVUF0l^l^~ zH^~yHMjEftbqmVG_%Ii!t2FvojWupliHygSa|%>NNm3P#<)dvecA`p57N{x7bN1HE z&h6{6LiFwSvX>Rlc(ME#xG{nBD+deZlfT?XPly&3`{0r zqr`RDUyy@78AnUEj;WiIn(}Zc86~w%E$*V4>z0a}f0x$e1$y8=X)G}mr~Af9uEU#m zMXXK-S!>%~_}1@R2d^w5DoLM~sYyp(QG8$7OhTf&yo0#YF@tyK(ca!oAE!1upX<0? zetj@@2$v=vM!1VemTzVQ+C;1QM(j&IS*RCm?8xb`mEBgDfL|vFwByF!e}75tfl51H zU}trM3T4n~R?L$5sC9$iJRMvZ|At)V!sPpH0BCzR$X}qY#n2-%^gA|G&NazRb|pB~;Ct37dt{D_<}tS_R#$V;KM;yiGJ8@+6_hBqd#uiy zmidf|K4WY8Sp+$kfFKuNtieZac~A*svTAX-2l1NWKHxhifpbSKkrS+HI+dBvozJ(G zz%Uv-$z<}F040BC_QqDVUE|hA4O79}J29CX#LZHnB_^j$X_zkQhC*oGQe3!{N}Saf zWB{g6?Y9R}-3RShdJ1=2KPSOPmw3ZVm#4^hS%*&_>cbcbeYB20tY7R-`5 zf1DzwNp4&=OYuA_cztfG5nOpYvG`rY7SFP{>L{6-bmK+Emg@dbwP5!yzXY{}uRUMz z4%pbFLfn$M!tnO|-*B zO;YeuVeBBwkMxIfHXl0T(MjtB4v+fr`dRr}W$$|+1 zxix{59i>LHp%?hMp1-Ah@XS(!FReByu~Md{>4FFAyNx(fugJ2yH*9Kp+%{93ma^1p zQt(@PRQJd52+zLKE^v=j*xm4z_ZWBu6hh}lq2y0CcVAJ-W0PDq)HX^k}cqZ6q`_eoh#alth{M*j>?&;W`hXp_#MG-GexzSpLTmpIPI4->PC zT?@KL^t+hh5Ll1w*+1tf3gQVNXWW)B9;< zpWXT}p+;0pRN-ZWK6=AiRpI8o!ND>?p2UYYhOj!Qcs{Wq6+nGwEYjVO2PW-A4hsYgeM_w>c|iGE7k?&ZF*uTWc&XBH-L zOa_-dbu?ZxO-Eh)X1;2mtuJ~%dvHXI$me2p>|ocGZhGg)HrUfHC1rHqvR{xe^htrR zT(8Y5X)V?;EqrxiPp&@u5IRn}59`h+4hvG@NwA{meVlSx7ubo(defA9rL>oS6+YNb z$x$Z4e|fnz+qOOI@k%puFop2!HCXVSSdj}M9bSDLr)1_{0MPIC6eVD9`Byhq3p@%2 z$?MpHChf1#PlxmLx0=}db+@;yRwp(pb@HqXM5XI2S-MN19)gj2&xqSB#LnDiT(f|n z{j1y6?A9$W4z)2ilnFM*z-h`)r|!Dm4y7$-f8;Ms|2(zX?&SCC{OODxw-awi=kaP)Xa=>I?aMA7y+rSMR5E*zo(jtCu#EYx-h+>Fu+Ng(AWE#t! zQZi{O0!meVUo4eyY9`N0FzmEeQ-4*qJ-K(j7R;j6Ur`w>D!DBY67OW#CBDHqd>Xcx^VJ(%#A+lPVcxHB#4HGW{Jqq~TeL z(HM0h1;sOLoV0CiImV@o#nVi8_G;_cm^qETrD-OUJFLa+AK+eD(;XH&mMo$XK?NQ!1dvrGS!#`dV%VfQX@EdM-AweGpE41)Ik!hKr z)OYEbuZkviJNyfxYGS}#E)xdey*W2Yp>7Tu4COn3i7B!ruBE`P7 zd_yW=fb(>(w@Zo6R+cVVn{v$e_S`R%HT-f;v(?4wf zO(-_}Lnxj)s2qPf2cA%*Hw*&x{F_ia#4{HQQ1Tw&1P*ScWAO)4Q{5rcIxhrzJGFJYMY?1C1zdJupSpP-;%eeya zZ<+nu=l_=CheG>^Vf%}5B)k8ec__S(nBo6m{*>YW&OQ|4N9>AY*hjMbx0U0C`ENV9 zL396M<#?HX6wBjJEl0M64*vFG%i?!r4)^zag}-bccZNA~00119+(#jR9>nv{@BUk= lA8r1)WItM9(y{#iPwE@!kRJ3q0063kYw#eHEDVQV{{#O*ok9Qr literal 0 HcmV?d00001 diff --git a/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet.ext.servlet_2.1.0.rc4-v20120406-1833.jar b/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet.ext.servlet_2.1.0.rc4-v20120406-1833.jar new file mode 100644 index 0000000000000000000000000000000000000000..0091d1b3c5537a7a6327754fe55f764d25045ace GIT binary patch literal 19989 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 literal 0 HcmV?d00001 diff --git a/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet_2.1.0.rc4-v20120406-1833.jar b/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet_2.1.0.rc4-v20120406-1833.jar new file mode 100644 index 0000000000000000000000000000000000000000..ffd6b836807eba9a2a811328c6e50b8ab8975a2a GIT binary patch literal 714400 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

|G-l^e zX>VqDgk-Dc|8SEuyD%C6a~VFXjr7d984#3})v;q6vSE;~_L;cwE^63CcqSjK28PJL%i)+vd#OGpW z4X+ROr_h3ujSpyqQ^Nt8FGZSt!$Gw#&eVGcBTykI^~g^dY!{jtYw2hxS?#_C&)j$> z`6%Q1Lk?BXOw18nWAL43y-|BT?rjvuBfXjq@H!YMmUwM17>(=T$~tWvZ|%ocyiPf{ zad-Xc{ zT_#Q)5)?mGxIWA1uO-h7pg>$k{`D+RTyUd3PRcb`&OXcwUV{Ph;6>SX&F;nE;7!rK zov3<6#yMjCW&U6SKJ!Te?_qFWz* zUr-Z;$SG_;k{+So1#{4+PWldcO2NY`n8aK`%0!?%VXFGtK zRrA7}d$k=%1Fs@6OkbmWL!c z)FJznjnhNtzFJ_6$?%@Y8xi6xvz#U4aFZ7m_%(U_8IH~D+LR`Zop5V3DPmuu$4fPd z{TRd*D--nxpxk9&N_FoDi_LMCBE3(++tmnE&bLq)&-hM54p8;g@N9bBB;#)Mv5wc_ zjdcPQBOanrHU)$_=E8zGOkjZo7$LZ#u~unzhf_u3kD4!i~rq;v;hjh$z^8O4#%O>Wr82M<_|5$mqYvWaf-ltGOW%ga?KNm1tn z;R3||H7qHK4M8#0dc!_plZchs@>HwEM0bT&JbQIpE~>d#=bp7gKM2~n3jln8F6sw} z)_N0#ZiR|>4@Gw*f0neHdN$Gs9V(As~$elHOiW9W4qd4)w zJ}i!ZQCjkN_uY`g5ImS-oz4a!{?gDmCj@2P+&4@RhSGW9C^#vGw%$}Cg=zmfg$u(4 zAGOU_%XDi4sc*#uQsyv2cJNbzA8~;nMIq$+fI%@e;Cgn&0s+!Oy13$=d8?<;_iDDA zPa6v;aEEnZGx~^~H$USW0UJS*NXZY1yc%?1ZR-%W(iBEJurOK^Ski@t*$W6QcUkEW z%jKycti6w7pzWD=VhwIUZaK#LOx=48*QOncj~b$hIi8${A

ebz=$YGlWl6B!j?1 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⁢0mh~N+F~-s`LK3{p_o=G^HQey!e*&0Wc{2LK}4zU>V%S)!LGPJvcCnFSppYB zoE9*p%d9fi5G3R1wx7?T9FD8XuEdhHLrnqg~r3;C0jV z1qG@^-0!v84rA^4+UmQ8tQYEl`@5MAOh(0N}b;guchLO>dgGU zu>a}UI**yy_xN1631x5TTMX@P$_QNh`SD>Mp!g=(epRXr+@muJiq3?a zAFp)v369)QC#s%-Ke-VtDECwuyoEIE-XZ_1*2RK4fpPwFPmmEoK$!n$t*c^eZvl|7 zvULUghl7%&sq6aXplr1uX1Qa-C1UDOvv!gP&l~-qVX$NX)tSdkP|3}8OW!OGJd;aJ zYee699>$^$rx8?|`-?e?f!Urs!6fuBV<@EW+wm}6oP~Am{)D&5{(L=?64R(m##CkdeA?vHr;~iA?q} zX)&bcRth)3fp(J0?DV4~6wX-{pcWPF(aI0NOy~_x2gO+mooP*fM{@`i$zfb1VjL3P zPeVR@FTzIsi3nR9nIr{QM^;oDq^t`J%neEmG6u$*Z_Q@eAuN5wS`C3?wq!wgfK?Um z-4rOO>LUf#EJZp2*GRT@v&!;(?cHqNVe{33CQFk~=jio2Ey4sXlv;4k?-!lO6hgpt zSkq<;(hD*qh%0fNx13vKo(*>;q7B?~{`Wos%Q)uzU1|vm zeAOFf!nm8#fRUTlAS!hJumjX=l^b>m41Tg?i`&eg6O7JZXmAFDvZw|cH{rXT;R$dG zdmNB82kZlRK7pG`3|EEpqFnps#f&z3Ez(;B+R@b%YFs~n4RTEcQ_^dX=hS`bE}+V7 zcv5cE06uFW%`aH?P{Ty+v44|z4-wK~KQf>tHkrA2mwsF0=G%7CO?H3_*v#v*a9;?w zVjn{$CnOPUTMSF}E?S*8E&tbs1lz@qP3XKDfhxvc5u$pjgvXO# zo~j$!a7_8}FWDRNf^_3l#*b2-L^)*=<6bsl{KaZ!$z6ed}9#H)a|Cn z1Bvk?DWmi=(D-r6gKnUItUo!;xs)7?r}(em(WFxG#&<3X7NChAL6asR4``e!{!Xgk zR569kjFT*PhROAg2DV5YVc%Qq4{#}=z&(=oUmX%l7(cnj05>u4Z>B5_$_?ZTr2MY0 zHrhTyJ^^2BJQuli8OkYqHHqOH5nze4{1C*&80^29tIap`D=Fnv*mrx(Y)c+~!E-!{ zP{xo%$hkprH>_2kKWc!mA$Oq7C2>b8yx(@g_q&;cjSVyE*~S9umAwt@W0Sj^J2YPh zj{aypoi|)kLKV@0y?)CNNV%NaRK|ECMb%z3 zFi3dMyB`3h2C`%18T0zL^(S(?7x&L8tk?|}E*VD_E37!HiVi_&!o)2gkBOL`pSVv` zSlL0yajbfrsm7fl=J?=#qqg5*;QP*q4 z73XKPE)SP}AdFAbj}KROx2Gnz3s^|L((=HKuEIvS$m!o3mZ&b)c=9I3H2TZuBp=~@ zgIL+iAYFE%DDU7D6)SpB9a0^nl?CeVWmBpCRj%@o$6hLygFiK8VL6S+&Tfp+IKA3e zbH138Y+X$YrNr+}>2{Sfy(be!!|4bztg-X9JjyZ)mC1wvoKd0gcToeHol)Bs=DCI1 za}<+z2IC8RFz#O7dD+C)l)aOYzy)YY*rj=<55fApcgIW1_n^~<9D(%@x#_;K-YSd|Mi3`;K2KBx&fX;;SQne52>+(s3|23u1p|~nOhNl40-i3$nE4P;2#;q=6rWZMzqqjp zq0f(7s$V3lv_F~4^08ED?TvN%5?R}#xwB)$W6&>bl(@dPUl57=Vb!B%@#w{3f8>uyRHF(qY-S%gGI&WBDL0{L>Z+J@v-8 zAOFPfDO{Wu54AC*DN^?wyP7Kq7X_BdZ#5&z5+_WfH$M;vIAk1o*Hu@kVEY7aQ4)0k z*(t2g9}4o7_j=VK4dKXPEbDxKV8I-({+6vLAi@2%^bX*M(_E1bq*!5ju=BqM4b<*X zNq{yhie0L|9mP2PX=SP$#E+Be9)^Ibo-;G_P$9EW|2vgY+pYLr=}GIrv&88-v9&ow z5%MRJ0H*a73E!WEanLAXkH#WlP6B18Xyj_{z~;+w@Xui=g;V*bCbeoFans?$?W-`$ z_3sk%vmq6ooz=T^h$}bEy-5S-(>lq@^Hs1VY8#Y7J&+Lg^bWW*YxiZtg7S7N<@V!@ z9cA)9BT{EH*HI;>zEC{#E4csI9dclQIPeF0FcxhLWn(s^AdWa#*KsQ z8)tupEO&@m$Nixbb6ko@ECmH&1Re$62}fDaCN~? z>N1-O<+Bc|Gk~200>u0t46GN!OCZ!|a&%|th~X5mExB&;aSc+o0bQ(ySv2mXQ$|AL z7q-AYmKF>6j{Wx~)(w|T$iCQ<^NDXdNcW2G?n7|a*{KJ1e|w277^RbnMtP6I zt~#zggm$_dm_AR6G(jo{y}noW`KX8PqrJV5`w0%^yaqnAN8g=*e&EBSUiJ|S28NX1 zFbhsJ9DGmriMGf&*(!MZ5tL$RG%NZ3Osd+g7W}og1M1BY`UT;AZQhS?1z7fTfpd=? zn1b>X_M(A$)BU0X_YD7${cRTq_~{O^1H0S7|84-Xb5aEj#*NY2z%PK=i-f%w0?Loo zdj{frI1-cQSPVCF5KOGGM}PkwB<~qy!E|>4F^~msG#^7F2E9Z zH@tN56LKjpib*zxrSWvpe(V(!k^XuxkOh*2LVn8rvPf&Isq>^-7Pa0T$@XwEjhXE< zo#`U2S4P-wK>>w38>q%c?8#z@AePE#a!B3Ek;OyCrCHBQRG;NkbD2|GVT?0nUVLS? zv_ec(26@GfaEICWWad?67Rm3h@G|ENc_Q4tS2T93uQ%WDRI4bZb}2asEC8D5CYQ(| z_3W24r0F;UcDy6+zyXy?^Q*$3Uwe15mef(A{7&zIR<&s=1IYpegL^EZLX*{0o9W8N zj~L`fk9mJotlDC+S0aMa<#qVPfQK-=gT`@=)a-0T_*|HD93{n&W(C3$g-Ya9RSD;) z>E=lcd6W3YKogr~K$F>~LLMJS`mrT-6U@8Dc%7+%wh~~!_Y*K+dYEpj_eFSt;dXpy8e-8^mSejcqrTDfeZHlYS&cqBCmxyO%x?zg>=Z^%n&dTaHPT z1I+--F}`Y3v1wXSDdrK7rY|KMLv>alZIyG7)KKN9j2a!MU1{d11jKxwHh|;Y z#xIdArjc2kA9e4ElT3->qbouU7effLq8P!CiaWl6oi`<;U2dkLxzvZ{ETyFG#8j2f z)-TCSJGM4o-YCih6H@Kcbfc%&tU;?J%68JSGSg^dE20Jo(k>NP2)~h)Zf5X`ps)!c zjh97PQ4GrbBYLAbD8jXIF@C+AYuZn57CEWWBI8OcLrPZL8z{oyNUf-f!6o}$rVb>2 z*0Z<0!YS3@D0-}mh{LHda0B<|O5|i%S5jM89BoVS$sG@kK7aHM!zsJr8D#9qmQk^- z$5T{Z;batTaU&=0H1$=fC~H7%cGF-fDU7i#v!Jaiy(Uxar}xTsNyI3r-u1~VAZTl9 zaz$+jp(bUMjCC0>(5f_hM}2#LPLBBjB2)j)ziZO#M90*6I!o3$voe@`X>*B^zFr+oQKu_TN=$nTBRnmW-BO6{;6x zi*p(y6AJ&^>uWgR(Q!k>eI=*vddhWCJAl;6;>Tb0a>jer&01Kd>6K+vZKF%OIdtR8 z;u@x?3vG`toU48 zN@P;U@KZjWL$b|kXJ*kA{j+UJXtE_BkLv6-%|kET$+moci^*9whhpjh1yOpDbuJgB zp&H&qu(ZpBD3`VA;99b}%0YD8@y@E=lznv>zJUqJ6V|i|rM*b9RK>Oui)=7V(RNRyAQm_R+oBR_++) z6$Q@D?WS-l?Jor51NuiwL=LyPA{ZN_LZBgh)@(A#XpeRTjQXd4* z*=czsj8>y>4VJpBQo&w8nUu9A`x1i=K~qToR=y2=_e&~>ZCeCSH-)04&yRcJ3=#GA zrk|-VT)KGfqXpl??QWu67t#M7M>;m!GZ(*%Gz?<8Phz%YK|nB*u6koFB`0`uMtW2K z4z;*rCd0`So04912Y83KROO0oHIpH>PCX4O_Msnvgc(Le_rpQnaJ7#ZIy0p;yzftusHOjcpz7!Kior?Vxf0JsNpXx_*48&s<~C%OOqFP>51C~u9*A*Cw*Zj zBJy=rF@J(3FEIEUinLu^-AtAsO>}eQ$90<)@BjPju#tWra$bs>9reZB#a908w)8BO z_nQW!5kg_lj_42bGUOIwz8#%F>%Y+V=l`H5b{3 zHuBf%!Sg-jvy2&}&OEMpGEdY1?!FY~nJEbJN>6t9S5hrtVkqIWk`~cj&vW~a4%a&| zTHw-^{I3X7cSmt@w>LcWKeYXZo>!XsGU2m}#edx2Ke63IJEZ7lnu>=1$JZi4^^b~0 zMoK6Ep(_eu&9-1&b$^*mw*=}c7$uv!3J?0EO6rk;x@sNs0OVOoUyv`cU0n=uS{B?t zNUOH^gb}T65pC_1A;{`pCyv%PD&y5#gi}@>dPMnYtg`2{c2YFRoi5-P(YVOFDZ5!? zXx<*u`Nu62o=v@z5OaQAfSyi}p6;S?I#^z-w83v!%M)ceO}n9;l|=&!#NL3V8chep zqpHbmGI9nP*9`Kg$ka!fFxWWGe`+@@Z}g|J80U99{razCQnc>4YtpYLCIjLBVMFF( zZR+-41OZy`M#=w;n~=S)`0u@xk}~C%p)|F%u$BhHE=Z-z18ZWiRa976^c6kWTIJ3t z_>bA%W=^&PdW(bVm%H&0FmCZJGs-pCm2YcvQ}k(j^X*_8KRMU;-;c3;4tr(ElaHDI zrUSV2-gbSPJc}2AG9vxrFvY&9<%FYR<^wI&{IH&)cU?`MyK#_KiTa?FZoUy=P#{XYAL%FQOvu_-vti`Ks;1{!PeH)z}nd14Gk%v z;?9J)7n-5+4aOJKuFwPtiT9@YIY9l(-h0D&MuwOE&jY zRV{v4)Tg^rvybg7o(qeuOtKC7!)L)p@Dl%e*xw)6-QpnFzl@4I3ri{3-_T3N+O8e{ z_{J5E1G(AsUCnFc!W85M+(${M;N3v) z1Wre7g{VStiFjrLsb{d)fASJhg|wz@6I!*%5dI(h02PttUUO3GxU!U_j2~!A8-u%2 zdH}@2N-jgQ8;+!i#wYfYtzE{% zS^}r=0MMZXT;ms3qQ>>bDnLK+n51c*!6mc7YZm*-aS2-G4lTM;%*$#2O{6fcIdIh` zB#+Y3%+->j{H9dyFOzwRa@CAU6{O>kiXMv>E$UZ#9@qNf`KCpD#>-ZM|G6KMLbfU} z^1gr*6-K=Uy(G#h`*3ER-7=UlR9Z!a4s&(DyrtuX@fqs`H)?(kvcPx`rqv98cT$fO z0zwSP50j~xxH%~9Yt9$9k-WWQEfA_kT zk~$+>3vzjk^K{X07!(`7ncJ?R%ZlOCt`|d@nptM3YO*vXFp#)1P8y4)%#2#2)^hq* z4j0OsZ^tM`<)FexEEn1+NZI-7M$wd_Hl2;ID5Ra%6J3xV_vFnHUYak!9 zyKI;FxjMMd`k8;(_BkBqlNRvHxF`6R?K851%`>xsrc;zC#}(u-!kUek+Mhi(i61lA z8{;-nOCqs$W-Ft@aK^8z<_6@{3Uq2Ei84&F9IUjvmj zo-hx8qc=G1SPGu3+qHgXuTpU67V{2eAF8B^+;LQ4CFAjh$WHRyh*#jS>u_c%w%{!( z_edD%6exvA#ENWlw(AsA@u?09>6Ook@W~E(bgLFO4WBCLP4)9`x7bNUv?p`wh(&Yi z0VX(Y${<6nKkO2e%o)r{*$?TeVYazv9bAtDzPm>$98lGBFJ+{=dZzbrGEamY!eHBb z(p2D&N9dL@%@F2MSxp@woPAnP)^A;{gzvouKAgtm5(e0e&41IHOFLUO6)tyV0FYN_sYAsBPFrTF%8wfp9l`hwVA|^S}EruFM@%oJ|cCm3uU!+z4c+@Jac~ z?Q=rg3$a=#>S)m$y8Yf!&{t?*U_^*`99P}2S2wvhwC^-**VtX+%sJYmKae?!OVq!B zA9k6xxUAi%yC7u##ZwwOMy$KcPluUTM<8+mHH?60&! zM#fZMjx=2Rhv8+Z{I!AGSVsi}f|1xd>)3x-mymnN6 zt&waSghVnpwXlbK0&b%3U#WU!K_f(Y?!^hezLjow?Vuc!LcurS?Zrz%x~%mN+2T}j zj5c7MQQ$*j7o=yxR3LxI*`v2H{({^X?j~E-dyvMUP|gUw=;yEv*E>zM;|!TJ^DQjt zh|spj2~QPFUm7-TTpz7rA_`9>Pha|zQNv`ckqtC1-EYJrNM0(PjH-7WgoJ$hZO$3U z)s>sO4Qigt7MpXXW5KB&QMM70ZdWLXh?E!&z*vV8_JkR>ou5e7v6ED8+(nVmJ#V$J zGY;RsnQWh%T+3QNe!^a z=&CJ*6CPZ9@hEou7))*8|Xy3yNsZH_hR6ZCbl!usMgVH-Hir0wvz?f5)S zy{*}DyA*5>CHk|!Kcfshv(ybS%JmR)?{IDQ|A2O;CIaev<=iOl8gvge*Y5;$1Hd;! zegr1-NQF|+@`%vIsjw22+7J}`2uLIH2p{cOcVf)U9e4>#ObRK?;m^VmbKR}&kx<2hfrp|!nme>h(Z4Uj zs9Fe}KBt;q7$KW``vIq_wLTW}=hf8n*v`W#PPfPJBN~4d@TPE5@`>%?Sx!?a?F7m3 z{E>u4&yHu8m#2Q z(wyk1jgCbPhw8Oo)C32ub&0Bqu{oWZ`*ND{K$%#AkR3^V(hjBZs}6~{eWI*TL^ZG< z@)Ch%ByvROB`2%mO(l7{T1^w){}2gO$=Gap${qH-5JqvZ+bvqxps$7F?j_uu%eE#x zvVcpMY1gP}MowK}9k~2Y<(}K){D^0++f&;38Y^oqJu42UPWqj4jyv0BXN^>MN7-`@Ge5Pu+JtDx&xldfB# zc3QD6yGXYOrb&Z8Hqyy1K-CDhSQoW6f0u0#u&?QD{{31~C@n&3THAypt9Jy|W^7#~ zWZjD44;1rcxh#IpK;3p@ymDdt^sbwGsCiGKNb^`~&wUGbPR__r7K>&H96HC!Sf)s0 zY)RjsJcJ9<&Krs&Y^JaRB4BHZ9g--z~hvJ#*{ z==h6uS;Ixc-*zL&LQY)TMQ_(bV8f6;xN&EQw3JDp56N9UCXZShEFnl!yp$nsyC#3e zgY()D`Z}j@HYbm5LZ}}q?*=>4h5R-ee&?Q%pv1cB_lATRvx{*EPp z%j-E_nT*D1>&afG#hEpgZ9NGH1^J2z0-G!Zm#-;=XtyN&Mk4M4PXCwp#tbxnV#JpM zXy!`+B=x_SWvID-p%3l;V*pGcY-(!m@1rC`qh0I5MJu z3C>4mh7;)%dk_NDHK!4r&YND_d038Scv`C=1<#@N^#4>6v)Y`eX9 zqgw}Z#(WMoE?nti8zpX5i%8UQ7SvS7*$dl45;dt+#^y^ui;Ue7m4DvorV7K_Z0OkB z?XCVN2@G9#mDc`3bOexRC2b5?vKV^jU9V6$wluq#aypso^XJub`;FX+%SsnA?DD1n z_om9+?CUlGmiEwYD!opnXrFG(9(+X!R!x*@ExMCq13O#y=AFjI(j!?xRgY?^#)mP* zmV;kpVRX^kgo(guN?RQS(NZOWkYxbyn4yHCn@CzTU>6nOpLrkh~^a^O)3~OLa7ITvf^Ak7!~%rQso6^EFf4u z^NiHEig1avL}WP2=gv-}D*ph*_6oU1Z)hB(F|=O7f7)p#YnVtg6A*$rvJtTVJu-om z?Jv?LNmDx^X;ZtXsH7suLDGutUOtDUM;11TLxpdS6(Hp4QZkSMtOQdKd&jv9yF;j( zwo{Wq z`Le@^H5Ym{(Pm+#;nX~6Rds4l+?9Cg60l>mAw8pdVj}x_YD%(Q8|Gl0SMUw;Jc$>q zaMUiDFlMD#i<&T|zD04%ebn89*MX#11bF*&E{?8dYS1L>=)fyAaq~0)LHAY}e=SGt zLfwt`$9~$4gma=^++?90#uSb$3B{LqUsABY=9UbqwGE7VlFu#5SZP8C1?g{F(VRFl z4*uDS9+P@dp<^t%^-h;|KM{Bc2f}`2!{?Yt)lX{M8y>efV3*V1g}koT%IIiw#P@9F z2n6Mw95rok&gwIq1Dy9^8>0m>1kSb^E8AGZ%<)ZeT8vE>gKa^i8g?M4D_<F)9Wd*J zBdHcFQ<5lRt)QmT2^0kY{KnmqWRMWO_tm5qc7RW8V=f7Gq#{hv<`dkK06l1-1joFP z+k=hBxyq&xxcv=rK%Mqt>?T+)iC$;*V#sh|9^OOIHr>OV(g2&X;it-v#In8+C@Y$> zpvHN_Vqp#~7&uNm5pgiYr3$UGVLwkiiNTjBwY?Hlw<4e@b&$k3kS11Q0VfCu=aw|e ztpG?4lTDN%dP%F|FertkOC4LL4dzwmNrT^|fR>*wqUBI8wQl6m9~8(UjlgtSmg~=? zq)25`gOzEKXtIujVbuiSWiF2c1#k~18h!%8imp^S)#k_$o2-5V;P~Vd(qXC>IBNn{&G9Ud-6k(`HnxAyuR2G?a@a=*O5R!Pq#) z8e~=>)#0pp;s+Yh5{+AAEUTLV3Hk<_mK^vUS!px6b!SYvV?678&cHj6yo?W3o#379RoWG#85=RshW(@6qk=>1rb zj}U)(Ql_S)1`}uSUAHX0H)S82(viL14&tks19Mq;`r9+vU_g`^LxhfHt`vvQq2FYYSg0YT~wQ9LSs|0!)W7EUZ7;E zGbQWp0VAP_!gyd~rSGzWgZRiXvhdKU7D;VP>jcbL^S=Vb^mgmHmnRLlsCVv~{-R3; znVRdNZpC|B*VfIAc+^}o!=w0kh~*OewJ=NHt%qN1qAG_Z`}7ftgdDBby+rgmTcv7| zST&e2uwH!YHnI2Zr__k>!Z&f9l4{q-BF2e;IE%qE#VwSS#P!PEnsKZe!Bo(&{RdL9 z3E1#f_X{!?3JDuEBVt?Ty^x;n0wZ9kw=I+cnX!Kgl*;j*k}u3u;? zSuF<-p&5mofnyJtY`GHp@nySA>oG=pDNSTySMvjh$whCJhnzS^gs$;v-mK6im22#| zho{D5s2S5}_*)LBj^CduM03$lZ=V$9dO)qS}9Ylti|eHJARG zA20>pvEBxIHEGyFQT|m#NcCFVb?J_qaO#LVbLxqU{;fTd?^G{i>&_RxeBy;ZbKGoD z@P@KS@}dImr1l*j)_|C_2odL{0j$P zKK{w~k=4qwGk3!6R;r+RljzpMAY5*H+{X72R~PFm+v41+Fy&UOpnJlXTDNinCA=oV zed?BcT%j6uTe~pTtY50@)|u)6g0Z=xy73IPZCtrR4tAk$1ql_XT>-q&`~Z{`WAup%|Bz)ZYn-LFlap&@ru(b4|sT)Qg2` z&A-JcMt)Q+m=mr*>vrw|-I6_5cepICRSvAg~J zN}%J-%`3-tdxa-lJQ3ghht^ZGKwmW82e(|!*Fy!zM=^NTEMCqX`tHcqO*{D4+$(Q8 zY1bZiJ8@S(cf0t>{q^VmC$xXXf@E`CbjE=@pTAsw#eJnh{#fF_k{Q^%e|>jV_sqGU z@`e@n#0vEnTT=y0O~l;s8JNv?O82P4L};khdR(>mOYG0$)Opu}iEbNB{2F$~w?5!td9B3$({5cXurSH#U#Hihh-$$ofm7uPiw=~~mAN6z|84<-be$1!+x+GdOUNg$( zW(IfTu=g4ef_NIh?hWf&rE2ysMO6q*o2Q+DqY{vD@b$gH3`@ zc;~VBB%`#ECp3`s#rneJgmu!+;wXb;2f=vrA@dUwTjN_lTGW`g+3Y~5w zq4eOlC*l;863S=qO3O9O6|^)MK0npDI|8HzEdeSO6_EGpV9l9#kEi$23A0VK>&{oP zu`}j9?P4Vf^NTi8w?Xd@bX40nszVf(QK%zlV2`CT=;yeyEyXG=8IhXO*65O>7N-AZ z*L$g_W#N9%&#MJ^)!M}2aKp&kM$JVG?A3PO)1_sQ4s~!l{E22 zXyDjRm62&PO{mnBK-OI%O2-GbR%)L|$9>EydIY`0AYP!6BqRiiHhldA1e6Pt=%!; z>nnD#GmVk(cz46%IY=NmgyFXpa(@Prwi8meqf>*JQjEiCjfv0B+e6WB`1K}|U>9R* z4|D558#H9qY$%zNm?=%zb>dx#`kDC)QJYnJA3WXI-qDX_zm%OZay<%NF(A9<%&|K! zCE8AVoY)^>^X`q6-JZxsBwLX+Ihe)$?YiHF@zdNO>#s zglcE>>P(~fcqQiY^8WqPK@tNzt55}=4T5MjnDr&ZE+*j8O&eceacZ1)GlUcl3mESh zG`&$pf}vg1Oc2S!lEN*Z@O^VST$g1&d3yZds5sG`|&i$fajWozkjg%jRs)aC(ZdCngw>I z2yMn#C~pL<`y2Q#qj68%H$k9J`pj#DqA#)I zF1X9C>O%9xsv4BS2;#X3oojYDKCa6(F8vy>gN3SsQL)2O3ql%5V{^bEX_^4A`($No z#q&9>;M&ClbFhlEN3w*JWJmUn>e*l#0Xpe6xzNW$F6er`a@aKOdik<~<{`qOl)|#7Itd*j>$$3gDEJ|IsVx zuL0*H9$?UXoT{TCjRZQ7hS4ZZy|JhAnqT`dp5?rn+Y4VV#_CMp2+3gCfJ@9aPT~Ac zL&Xh3nJM#PTL4yBn-W@^=31L_u4SH%xmX?`#ha{aZRM⋘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%0DoT)Wd5thi-KCd$SG;@mLW!vQRT_ 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%0Dr3)8w997>k(#5@E|fe-SaZ~_nB19IquQ>TIEJ#s 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 z z{*7?hMt^TW_?6Eq(B7IiY%9x++-w1MYe7?+6ybe<_{oO3W)FXn znZzsgLX57#=J|kGyaH+~YT`LXphvi)V;?E*z~yp1Flv2HT4WgO5w}9dfE_mH&rP+7 zn^cwTT1_{qW@gjyH@YM9_KcIWrq9>aiJ2H~x8my)NRL$V^8hK%@rOsm?81>-PMi^C zw;=L|i`HNkEy)CX-l<-6Ge(sZ_0TVrDF;4BP@i&ZQ3K;T zpJHwB-aIKW6eG8>_e{}LHGBF?{q#!WhpYptaOqU8?8{RphD`s{%pGZH2y;14SxOA3jKD9GKRU0{9OH^XM&7$0t zFZ!`H;I|j~!oDqXhBnrn-9$T(ZOuQ#=HTMXw?xyIMG3Dk&ek(nhzjE|(*=t1Fj=S? zQ!C|oqadsD>*c_s;D*i;XI-%H@67~G9nvw{v&n+4i|=Ro)6qNvi$k)DF!Orkg*l{> z_Ux5#vn3k(AI>6gq0*6cL>&j{vM^<4J8$XI@wcU+`&Z`sZ*??Kx&x-6Zc2vs1{z5| zp}Dv}QD{???MP+zd6Mm(tM^ss>?7}7AN8w4EAHIQGOLtZgCA9jP$fcGb31R~j?EfQ#vJZ~dSKfQM*S3e$B zT5bUF^3HPqe8APOHtP)0E%8{u-It!+5yXVRkkSf_{q2Tmf?4e7I)Smu*;62wTemZQ z-^>Z6DaJP(Z7Pa43DK{b=RF+R%)mJF%<6p^nne(-ST`MY@{iL~yObc+k&Xr<@|pnW z6HadLiyh<;pXY-!neZ;cd2hjpW4t3BICV>?5gieEo;PG9=grWACq)(Zwjb_$3gYQzXWl5p+@ zwVKPITSX6dM%jzi&eevZV>(nEJ4~Ut54H-os#f_0`XQl%Wvr1!@t*pXM6O0;>+Aug zT8q>5iK9X>Y?tJfa>?Ql)!8Iwn#FUTs#0-Jqe8iSPA-;3^p})NDOwNh^D$EFu0{-z z-7euiGS~xA*(BNGMOUdv+f)2O=~pZ-zfE$v3*Zu(jUpdviwC$X@lPx8pT#=+1T|5h zKSt`tFh8yj|E``lGq*DOPt327xuc!FlcCxFF6^^ZE`I2~DBsrUE(^xAvkGSJPYOET zak-&p&_VOzRU#DT&?umr*V|;!8(Xyh}Fw!4AcZdNo055CN(>7(ECx7tmQA@!h}V4_8#3E8gnN96kA~QtHF)Jr&n|{udxvQ#VX#7IevVt z)PxDG;)>To9VrXF!KG#^5jEmgQmr{+K;D}M5d`TFdE10_7IMKQTBU?p6cL8^DptGwd1CCDo;yugD2fA@um<90)&UJ?({P~TRE-Wb%i+6E6%o6-<#;Bd@QJjP2@~9v6A`W93#x5| zA16mmCb|kYY*nMqg8g!c=Z!fS(}y=>&KPVfgWxb7J$*vP_4Vi(m}=n0-{nGCL&2K@+2JkvHB{ZU}V2@>aNl7)ayno&350p`R3g(-eFAn7Sm z(a+X!S7C~qJ#S3>(pNbGKD0mtlo&b6@i0udm&+@@3A2U6vrhg3HONS)zDA*wk+oFX zue2M4mQr4kvF3dwml$YMg&?J5OPYq3+-Ry79fu?km(LP%(f(zq&jK$hOT_6SFJxG!{FI z@q#!>RF~5u(hlJetd+OG6-A;tD-qc zf*e5y9Kcb06tEg441VUPtwJRgse`QPyE*$fdjz8!fQBqo|Mat15=5J0Q*odHK2&F%J_`2woRJkpL z5H5!hrV11w!pw8t>G|hdr7_nu%Ks;QQT&mB{M#<^f7~jzHcrNF|CO{v{TFF(flj;K zhEk5NJl~(FSyO*VHc?jdAi#W9jpUC1pjm1>zKC=q=rzV`Nl2w2EQas3AoArpSz+8j zEFrDUbeh+3CTs2M?c)Ibk9#6Zp*?XJpwxq%;!q?QXbTIJ1J7Za-fekr#RirMV@cm2 z?(nhlrn0?kZcVc_w4JlG^hWN!^#-k98nQ#Ze2J0c zP6KYkU=qIStZs@9B@1)*M2@~`tXPc<*Ey*xWiwYeZ*?@tT9S(SbqDL)=5c;Vdqnz1 z9UKiVachksf*@CL9AfI<9{iEw{p__W-iZop$&>~BQ@2oYTva>e5n`!RwcT6B>{7MG zxrw4Le61p*nRR42apSG^B1;U;c{`f*8aKK*iWiMQQY3vpb`r4~ z+9gU76phiW{$bwsJ%7Kvcf^TG$J>oY~IlPiPBqSEPxN)X< zwLC>tNX-J@K%)9aX0-AHqC5x{t)Sc;W2r_3AcP^tV?yfnOO=U-NXS=*<^ZB%X>ypX(Zfj=qipi#r55tkM6nTRQ~XTY3!%%Z^vt5Vq`x>gIj4b^yuOSSPw zd`RO-G~9qKyo-pyVA~*g$WRbnL0>@}$=4xUo^d}Bv?k;e3Q*=_36`C2--Bl#YGIzG z&rLQ3(eqS?*%>g*$X%oRbbh1k;Pv7?InN!ZyB=AN2qoBx$=c(FD77)K4(k>b4|H{R z(n^}VYc|Y6?AMY`7n!@(ztFfu@&Qf{dQ)hycx32*F{x;{2q}uhgYn2y&1y~j7CuI> z`bo>PAG8IL8hTD+hys)imoccm+p+-5voSG?D|qjnb425Klg4LmXD)`g<{!5w*+D#P zM&qaEY<8~wHdP=mF$HDO;>a~~Q8@?>3Ez6n{0AW1YjF$%8E{|=Y1nKznsefqNXqcy zk^QqY;vIl4<1uV;go!dc3bNB>}?OR7Yywol`0Q?VR-V8 zF=GTr&_4;3Q8L=5ua4ks!hg{W^i0jA{P*`NMb|`=>rm(FCtl?d27{<~D z<4uOd02ksX=8E+RW|$mN44sMn$QqJIo<#9P)yzs3*PuOnl!Hli)fw|a%@BbztaotE zzNV!v%ROB_3$<%OTW1IhKY=eVy+P8POX%L`3JcY%(44}@h}`x7pEN1K{SxON`?0bh zjs7v0-Ou2x!j=!@Mp=n7n^RkdNgxlKzn5S!rYU;^E)tk(f>E{tGwOh7z0ZolDQ9`< zNcTBpu$=@NIREuUJn#ztmpO8oFU%Z-C;DnIxjVRr4hSu-2$WS8-t5;uBE8Yv1ss$F zwaV*pO_MLyEJR)_JZgRK_k|L|cdy3@2BFWvV?@(z#-VZ($4HVUOX3N#(L%C>@+x7_ z$)6Zzb=vhO3?_lyAV^8fUMfA;7FJH=aP&>e(%V^CETFU3A+C><2!9fey3 z0Q!Rsrt0z6=)m;3v4p+6(@8laH!?0Xyf`^-9~tf%=OZcNIaV8^DL}|1MB?oENiC6- z+uv*VxwPbsN}bdOCXq^ByQ{weUk*=irC$8DyX(`gv$yBdwzszng3{_n4=3Zgfwz## zBb=fiAI0QAC(g#g;?hC}73Gj~^|YLvHUq z;%HZ3vMam`(Q#Io=C51%Gxyy&Nl9idGX=+Hi5sg-oEzAhSJJQykJnq#Yo_}rft(G# z$J2h8KD{-Dn)c$YV&nA5&*9IQhy5?U-l;vaaO>8sBo*7XlQ*_2wr$&XDzL*P+#EM01RC$X|W&6C0;~M z9_bjGz6P;<16~|x^VJx{9efConC=#$Fi=EojFeHYZ#CwcSl56zm>C-G(1sj}^ zAXkT|0SN8S8*mAyU`U;4EQ41G1nSB~5hMOtTl@Bj=^iJzI|F)QH+_t5)j_fHF42}K?X2+);| zz1D^QWDN*B1V^eWRqnRuBB~(vQKGWlF)@83%2bOQJ6#7xJ>14DEdD>4LSi zoSi7r?Nui34jT1G=LY$*^YEIS3D=>p>c5$eQ<2}^n7HP@-)`>ekUSNJ1lm!}qlDmQ zSY`91VPM*I`j2&EdH-1k1;!!*CiGZj0=0zb->^>OpVwp0Mh;Ec-sKKw@8*Tdt8Dt2 z?AWGuDjwqp>-9#V__0h%tPJG52MwYU*=b4k^Leaq>R3OdmJlHj6dv7)bwV48O4yP$ zWrKXZdgCg$0qBvllD;VW;*C3l7R~Fs;fa$F)$z~HMIc6((D;L{`Va+B4@!JM0({b# zxAFZR<3F*mPDLl&=$2bfPGA1&&WL$Zx4n~wk}K)aD_41E@Oh7~(h1E{WEgpkek62`N?C;;`t;x)2+8}E}wB2xB-J(A6JFBhw zEyFsq32MmAA1F0EJ&<+CwcL32Z}&TT_gH?xi~iBxfHIn~ra*lqrCLE~jbpoLLCJ2I zENx~a126%b%>%WI=)vcZuPD^M28u4J)sAi4*mm% z+RMKa5TDVYFP?bMdJ(H3w+xb`%@GZ%ECv1Ex<5Ntqs&^$}GL zKJL*DXD^&%y{#)&KP9qNd}Vj>AMbO7XL&OXsS$m{xOSd?Vk{XK~+-A1GX zaqfIHH!nipt>j$>!L8(-2gx+ON~|KL;wWuvNg0ozn?;I0`dB@icvkCzr!z_stw!=EV}cf)TaAy*8yV_ zeP=5tMSV9heH$aI|1%OD`XQAdub^rN7|##{|JsKG3zjUS!A{gP_lGQ_fuVp9q{*-p z=S+@1A}qi(HVFhJ6kj-AKVA?1Z6-HLvzzyskgr^KB@Gi26I(DogxhSI z_x-YKM&tdmA*TClr{@b~7xIH93@?(*{nA1^Q*(oA3^B>OxOgh za|L^q0S?$23-+8rOE>KSZ1E3Z+w#|+di{S;9{1I%({BCnR)|J{1GqwsTX+mM%a^%&%P$!+V{ook=-DSo z%f;2RRXTM{-Rd(aZ!x&6Ji0K;5&2kZ)eGczjmjVOo7_fv8A3V`+(>#jMb&x(f&vs` ztmNI{uI%`1APabr1OO6~6<%VntX`;TDz|RSV-Y5ntp(O8jwKB_J4+pTJFY4X?1n0X zYN0v43-J7S>N2+!%%~QuV*+c`-!YAAEek>jbJpi_2p4>;$;jtaAprotdpaYN7xjV|H3 zV}{elhcJbfmH4Md1CcJPlx@!JK}D+Vg*#rKssnrOynQxK-rf)@-uXKQ-nqCw7f|XO zQBJvr%lJ+ZPZ>Bkczi5gV=E>RT=|-C0|JR)vtJBkve41E8SLGEZ1R2SIUt0S;%5WfJ4Csi68+%Xgr(5;2lWFId7W z)yg6?OduwIIsDP-BgQk4w zc?FQfFr|3R`;#L4->?A0+Y>Jx3snV0IQl>jZ0LT>eT1Z zW|(Yw9f~Ya8#Q~U))LD)(;gFBn?Q!iT4ifxRO1!^JEvho=31(}5zctQ=~oI4g_a^5 zTjh?IkP)--*HraI3%++;eR&X5|G|6|4{JSRqeSn?>T5pux&jX+T~zNe|U7bZc}9n0$;n`v-g<*`5i6%Z}pZ5as5I0(cszs-GTm69t(L~0l@5$b8)_Ztac$CL{ zSn;*f*At6BtY>yc;3uW_Sy5R#B^+E*l0gUQkGK?P9jUI^)@P4=b1u+fl#M$gBhuB= z12M1Cgnc*iJ~8@0-?>%8ke9h4F+{r~ZoviqrgaH;jBhKA)(2{)gVB<=->^@wxMpSl z6vdvU^npSW@y4KwKGaC)();%pod+heN|bqX8XfsGqK7>r;m=YNu5ZmnOE(IR4w;4A3S=(j z#qw)Xh=Ya6asDaGO7;prs9bN1d+s{R=2}IGTV0eea10PS0hr=$4OT?DN44B=-h4zM z?1fX9AnVh;Y&-9a;dz){+5F44c)6K;=2LUmy-&2Qcj+;>lJP!RUs_$j+M>yA;?AKd z!`~cQ208mi`Uk(Dc-jubVhH?m8P$C3cO%iI%e(4(&yEgj27s??Udmw&4(^$-(J>P%(p$XfVn%fu)TIoAFO4;fg z{huFNl#1nl5hC zKDFI}8Wv~j58Np4n>pPog&Tqh@eeVZ2#u85XLn3w7hIVmb>YX$&$zUz)I3l$%m=nrwDrTH4AccbGgqkW6Lb zu4z(3mE8b2t4zDp6*GHi&Snj&Dx2o;T@fNf{GG;P1*s{4qmWEb!i+}Ey$Krxqm}k| zQb4;-Qnoea83-N)`6=d%Qn9H4?Me_^oD*FTQ7g(K&1qR8^ke0PdF*4*ERwg+pzrvD zV84AiW?x6cMW#V1WqR0|Y(mQWJZ|1!sBn9nX{1fJ`AXC>sq2pPeXI+Zk`mE2_ zzoK$-%)uue786fJgjk91B*T8WJ)4pk zdKw3e_vv3XC0JN&lhi-bPkM9z+&5#N-2p>rBtB%UV2`@-s&lpP*o3|U@fe(7!0sBE zA~YzOpVe-fMe^J#{(6gZ=0Jmf?4 zasOb${`Kkw)T^8vbZv$=p-nrnwR!ijSC4Z9u&;*L@v}|pkq~{&a_o#}vWrO>Ea^Ai z#n<2}!ZQg23%M@%Pak*}9ddg13aUx6Z+m1=5x672adcsIPg78Rxgq+OtKzL8BIZkD zFqwA8nt6M;Iiu9-p666cWFdZ`S^M|e?!0p>g|G1bTei~YpQ{+Ft{kxgB;-!v4bR5z z0VEy$v2EkN?{mGIq7hys&&-$8gVJ5lWSg`6Dx;3h(^7em@-j`y z%E4vC3cvrol_-aJz~Y7e^(zbg*Ds3y(w>OeI#??h|NqB$ma4U#(h;i9_N571M;i%Y z>>qkRP(v|R-F$xxvBclAW=I5tgSq|_$MFCgmz62n_;r;&x>yaU=5>m2F*sc>vo|&sr zJT99TgF0R_e($%RfJ?`H@YS0^pv{~h{PjCxaufX!uS@%VAZ`lfkJV^G^6;a3AZ`*- zc+)V%9O_`(@S=oV8ND%LSeRJng=#6uTI+ zf}2sl2Qu009SM+@c|L(bX*Rewc$&KPtQ`qZqMS;NDZ4h&Z-udbTZ}8(KwS{RJ^dL( zz5@kmx}sb#M#cVJDSf`YiKhFJf+0g=~mwc*+C(nDiPHumx-4m z<2-fWKxvgLAsSM{wi_liu&BURv~eO=@CxY48#qEun2~T8H`+5;lyx*+klGQ7NNJ z*HeGQWFb|wNN*$@ z3#xDQjijqutCxN$-!G0NfPaY8Mx967@!gz|C70ve+q@qO!HNVv5FbnZxF_jTkrk5{ zcn}%TUj{>N--HxRJuRc2SSYkzzeq{`OU!Sc&_Ij<>-n_Ao5tF9pxhvmy&@Nqbbr?w zELpo6jn3Q|I)IhD&j>4NR~Ag{CO#nCx*DCrf-^L9&kUl06JvCsC!~uA=LweZ7Kl55 zC2||i?I|@tX4QPq8Z6&QMNce^Sa*PqC9})IrL%GiwvD2;h8Y`n9sXOp5(T7v;$U53 zK|4%A@!-653>|9DQMFLkHR#C)9vj*8V5oFBx`p`z$#%nDVStjG&aSUjqlQncNkN73 zS^Ppf>^g;2`^rsppyswZSXWZkL^=){tNk`RcxRVKB~|$|Z*;d+o;FRo8V^oA*3&}E z^0Pg}#O>YbM!K3`WV}{HhqBLeCwj-?6_+F1%J02#qPx3ho4%l<`;O2_o_l}biv>^Mhjb=|@u_N~zTT4b zX%F%P^&_MP4#kLK8Ttm5y(Exp_>1G6TB(KWjDJsub?*p(xR7Y?iD~WiT49R|LEDXx}X_*(QT`arI9D5=s6U=Dw`f*<99oEZb1u81>L~K;8E}`{Yi?m_3{q{#iQK^wI38Q>GMxsT}8Io zLBsY8y_|A|J@{B%?IyDHyXvKv7<=cE2p+bPR2K0;H!ikl%cEc-tfLhnqYxY~Bs2o< z*~55QXzd;J;F1XCCu0o6h1>hnY-f-@DnhtmpPd>EN`$UV1Ro*HON-287nB-SAp}&7 z7NkaOQlOa`!Yl6|n;N0rAJnz)#Z7>=Z!hmx5{NA-OuCK8@)55Sxv)=^iHLr{RHrml zo#i!tO#T%`g;~sy#Eqklae)lj(it|!`wQ}9mneRWrw_R^&dfD%zc9f_>;A6|^9shR z*dTLU5+Aw?@xY|p*nAED0YgzCIf zc)8rr&NR1TbX|g>Uf(0`31V^x!y%&5frFQZd79llpCuT;5s}~{%Xk(g(HLhVs5SP7 znF&FaShSHqw=rL+QNLR)K%ovUDL&SG%TIgdssD8#iBwJXIku+FPV`2S0W*ykBarRl9=9YCV#+nCT*DU9@0j5tMi*E# zet!SY6~VOY0td$r%q0}{zbgj*a|i#w6a!VN|5P%4{h+@hy@B_Y=BMVQ%~dv0u)Jl=PDzCnE78SwjbB86jxs9M$$*S%#A$F2@KJPc^d(lSDPzT0mH+xsbO2gCAb`SUUA%a(PK_K9E9G4xk18{XIiC?mshW+opo{(P@}pe z1ymt0M~v|lC4dEBDTk7!=&QDx;yP?f?>PlaW-K48r!4#Q92|Z07xp)V<@01`@5`Bb zZ@6w+t=P?(&RBF`xVwx`A*#NUSy2ed=*XT^{u`wvL9U2OPF3F!_Aa>Cg<&Mxjudc~ zk+olUJ;PiYk()J~$aFsbcK#VPoYhTmQuaYdc5D~+7r925LL%240ZtbVGD;Y(xYDW> zpOs`U+`-H&((0?I(I_q{s?*cThQ>J*Iv-clBhhDba{JE_$+Mb1&1EyZUUlniXS3OWZ#X+{oE;ijCQKd9lfSnfLIVb5s|vA5mO&6hQp<6*n68rZ9CP%bFCB=Z;Al>=6% z&_2v^^x$wE>!bhr?;_u0-jd^>9e1w7VT z%Xo?B)p-H(-QaZL4w5Lk{Z-wKXznmZjhxn}BWFk2cg2HJW@OAR{P7wJ-_^yrGMv3F zr8LPhDJQ1Y)mN}e>L97lOuUCj9URb_I5E#ivzB{XNttORaQ+Ub??y9JH6&;4(Gam1 zjx9L2kK+|SAO7|>Z>txkyWZ7_0k1naOU(T)@85nJprYH>QVlK;n=_H9^|$|qz1te1B6F0oE)e^*MmKH3>dE}=!PGSX!SptzJlX<+0M zZ9FkM)8U#3O|_ZsN9=zeHE6HmuG+6Kb?-8z#++aAZtKoawQoji4O->48hgrTrwb+h z(#{BLxO-?mx_B?V3j5U9-hM0QS@z>QEnYzKEhZAdoM!y3?Ox_q6ey*;gc;v4%f-!1 z|5zv>NC{dW`tF*vFtvCbD4?5vdCgLBaT$1`lYsSO8C)yNKQxm_jB4aqeghAdNxxrf zwRQy6;E3@2*MolF62vF{qR)q-@k`n7*E^2gj|O4=dS7Y*cCmSi-+5C+*wqeg>3$B^ zswaXKv578R0A)D{mC14Jz$K3e@>1?(Xw_P!n2#K#`jQn{%7IQykh1qds{Xd+YW z?F6LgjR(1V9*DR&luYMB=y9W`2-hXS5*B z9k~@u5b&2p@MA<8RwPCg9ma9|NjecW<^IU~abuD}s>xFD5tv#|K`uF?H+C7TU@I%q zwG5JXES4S}q31c4QM?hui`b|t63=&SqK$|VO5_DaY(h=P2x=xDE@@ko z-D~>Wuj#9Ag2%rG!_#JN|=2%Fm?N&n?T$H>j9Wqee}|j{y3~G?GWreK7kh% zYuM8?z3<2@VOcuQg`$x3ZXmc8VwtPk%rRGj4WX{!HijdbtC%}W2&saCBic&N^yg6x zr40UCcf}l+ZNfne{#J$f_hqiBCV3VJa+-C*OGL%Z`X%c@B2Bo`<#<))am_9Vwd(=I z<(M&L-a)O*@+0Ol(@`4R3B$12-UerhmGiY9T`+Tzk3h(O&Q;w}6 zw5A6vop8(G&-5Ja0kHge_7!r}!w2D6%DBQ+9vD;Q*zZdWAm_hPmkm1nh`uZ+|ClpC z7EYQmSZlzPN-)L$hO$dm-2rujzooed03chAb&knCv41X^N*y-%196LhPr2$xP$;U zL@=0y=15R`kb(vhaGy(hKfw;FLzU zCP&zWKZvL%ZtiyrXwfRU3aM1~)T~1zkpyFHJ)28TQz7S6C8AUG2rQ#v0^eY+>#Jfb+0~kbR|A{z+z#oj>0^FtH#p zm6S9-PbElO%~QZx#@eE!Q>HrM^cV8Y=NE_@#SZpjv4t}lGJA-<24BhY46$TR7J6*K zXatJ7Xt+u55N>ThEf}7G)bw-gD#c^$rmzLiB+OUXARW{lQq%wm_?yKUMcg0I6LaH0 z0;zptWl?FAuu1u+U!NvWsxEm?u|A#f^UC?r%*m*ST56%HkiS_H*x%6ikZ46)u>%tn z-tZW)3q0W0_@3PZs1~@5#A4K7+@*vA*G6amBJ=VbitM-+6!=n)Pg#1`RwAp_y!4%C z_qMNtU-Us%8sJyf$mq>|a~XIG0M@wMa51E4;Hj53num z=_#82ypC0{(WMlXIFLAt;??@T?WtaHOYopE(w1ZS;{s2N&6D{L^|H>Q9As4*YexZ? z?HlxewiE7e)uVhr%h?#5U%%-8TS5PrWgKjbo&HnL|7k7s|Bu`E2d|_wg!w(AWBYOx zWQ7JCM&=9NzP3dI5ekJdq{mE10Bqo=rXHVSbY{YKZG(VlJ*3%*TCup%yee3cn*pKI zv~6AWH2hxv)E%>o_xyg`#q-cCaKDk}Zfo+j^UY5U| zN|U=w$cCpPA0+B_EYF7bV=Md`wfr^$-`36BouN9nLx=Y9U-<~iAW!Spb$?6@N8_G~ znQ6VN#GYxp>oj~8@}=zD9fsR}&G%1f{hOB2(dHhMq1xsimEqayt}P4>&H2lg!YzSt z$6&7JA)}@3A9jsLNJdYE8~P2UTMj<&?y;Z^uflB|b`E`!=jQ8T)Xe7VW)$7#Yy8wx zl79{8RkM|E%yJ5H5uF9tS z-*J$lwl}9{nHJL2?dVxfjFPRjUd$#Z`J~nJSGIL0RY%Yim7H-?QI>Ngwyf~<=-Rl1 z>ic+Kc4e`VZ7AnKHZsMtKor(WsPKgCuqdpWH#0~VRp`asbtw^hM^_jaJZ3if(l zW%On;U99Iyx3QzAWgg+4FY1(*5lG5~@|NuISmgp+hDtYu+Q}UVt@jOB4D&@w;`I8m zI!_g(S8Mr^UH0Sx6_IK4%=&4#!{u1y$;|AXryU}QK0)MpkZS@PA_;`r$VB!SJuKve zg2+1a<7a~e^LvPMVVlhm#z?ot-&yUb?z7_HUsvYC(l6Q7o?R$IHla`W+V&5gzPh+e6sFr`d06R}x6E5>t6MN+?d^3Id2NY2w0rAj>RG36tIK6gDcu_6zg(*h`c#yMaiq!qqE86X8w+&h3c=`9L!LB$U*Hw zYSZ#=YjK0R{9ERM@zleJ-XO8Ed4g2quQI9RR|{8e^Tm1}g0`FYgm8w=^kdd~5HP36 zp!eb0lx!JjaDphW0l-EbH!_ch(4TkfVWIMij>ZMMVkDWr`cKFH#G^Pp6mT7mPq|MB zNNgvdIh^n$g><$R5z^6lVJr>nVH9WvY|AHj8LC*vHrQ}*k+tF~OI~%?31Xy(JedGs z+yB=DB zx_bsz14VBB(}lQ?&(>OgvUiGJ0n|a@8HK8xV+q*u!8QVQ3*%|0{B%(+dW>&ohq>Ab z2zhY{&&ztKQCfk!12G6e{W^ktQ3Rqm5=!EyQqhDmSZ=SU3@bl1+w?Gn4g7TD%QNJoGf2DYhS3y%{7P6v++IRyy${lQx`cLE$PslnB)_2uV2sKw%xPtm_2DT59i7vq*_XzuaUOj8ilvoD7NExdW-Z+_tx%@S2O??GCYM2&QGYmdg z3BXaDHR&n;%yp$01}#N)=#B8Mz2G>yBflS$H7Xz|Z#~Mi_bQ@TSF8oxXW5cltcN$-EB2}+Su$|g1YzI&xyv7>!)07CAZNEG zkt%S|n9u8PMpZe`$>b!jn2aV(DdBPo{GWaz4nZe#)v_Yc%R0M+MTtq5GxKo@ArYr)9lm}>Gqv?Lo?`*mp@hiGxV9h!O9BiGSmmzb55@PoQ? zd8>(^W8Y<2Uht(Iu0)QR0kFSAW=B!$DZvXI8p9+?ozS%jE!(tg1nxp3XtQPt$78}O zrTcS|Rl7Mfwhlaypimt_ARZ7Z!I|Wu zk>!Goa!9@PxFYfHE8VfID7`h#`gNN>9pV&b-g_Mf@ zAV+`b33}bp@c;I3S2t{xynp3_dSyF&l@&8IVfgL{{bt?o$$H(<_U|Di8`z-*)vTSM3K)R!(y8&cl?kjyAFr9+&QqpQ4CQ-^K&k>m)DS~~%b92bPW)AsP zP4cLxE>WD?)>5m4Sj~xKLs#)KMI7w~E@S0@4Cg}4_U2HX_!zzHNvq?*)&g_VZr>&C z|6povLOdD(*&Z89sU+y;!AHpS#tj`Y$`UQG8>i)(ynnkCDB?iUS=CrnYJ1&jnw_}*S+p1KOkt&By z)9bHp)PC1Nt(`dB?q>I6;m95)udBt|DpDgar%79k;ms<$V}B?7aKv3PgSlvnx5{)O zS9`u7qgV-bV$=qgc4!=FEMubS7?1W<2S~X2?Tn)5sMQFYGkF24l8UPu^FhQHY|4X{ zZ;=1ljC4(Omm~d57n*+*qyNnfDP`{H^ndL(f|R5c7xWN(wpn8pi135_=fjT#tr0>g z@)b%GZzMoX|KM~6u`bdRo)w0HOuEhE?~d*5N}F_^gMy{Sb?^=0=h@6B#w5?Vw0GPz z%v^VOtUaFG-0=N^*>gv*j&<8SVn7MRSNQdUtHM z-0N^+?%Qln8PR$hvJ(KM=my1wgL z52ovGviL)Uw}5osybj4gkLq(?N!+m@y&TgSySOfC*>Ri|#1_-ILX8%M7d@U)+I=L# zvSW2tCT~-zHGg<@T!Kg(2see4it8eIsgqW-Ssb!>L`6hWOM3ZXe*UdEz6oh;JXkVs zNjpUmECqIBlB%KHu`GB&9FEfp=&DsBfUjczxywjX5<4Nd>Li?LL%m3^EO>g>XIP_I zN_j?hy*yb_3T)5GrS2}(mr{z$K%^INoQd?nJrA61;Ae9Xl^hDQb#iWz9-q>bnAXyQ zvc;*&>XyzelQgKtcwCfAjEt#4i&^3elMSghh$Oi3HzoWz&tbB0)*&zVlq1;Bt+@U! zPz}_*A=h2>;OuW3NV2>?hQ`5?kU=0Fwb+f)z|e{0gqD&k>Pu9?)bk0dsU#iRi%W2) z1FdS@+Cx~)Y!Lk?9XmdLY6Buk&73&Vl-SB6uD`eA7A}dUb}c?)yg-;QMRh{8Ah``f zg#Q`=d%s`TD7h2fK#L2^_c~##+!T-nG59V#0=v+bc;gKOfAD8Sp$C!hj9A<$?^_IE z=39-MxBx63!=hO5gbgQ$2veLuL>waRq%dEBbuQf`Zr)G`NMpCxOdZ`{A6T!Vj(=M| zVDhpK{?{4#8?pjUXsO-ilf8pDE(|fQPH%tSh|xB?L&{oO7EL3AM>w?ev3af`US=gR z9IG;n{!w%zx7cNr4?$WJ7Y?F}r+9fEb{tH%tS>FDyWR%4Q0{Ge=f4SmMX;J={ z9{(pT?|-qA6*gpk67zU20#gTz^MK}yRVgSBiS(bUXyo7I%48{%(y7ib$SOC5qj9ZS z<6fy_|3KjV$6oHd3@1-pH5lOP5^Xxo!L;7-o}u{*Uv63-l&)UvpeR7q&H5lJss*Nu z7oYx6liX{vD=yjZB?}%7v)=kFL@Opyk7DNAn#8N6DkR` z-6DkWlZ6vaL_B!kZ1D!_DZ&**0II5VBmhoz{t%hI>U)%M;9aHAOExSIF7R3CRPiD4 zxdcO`PmLm;cG@u$4$tkGI_A#iV~r}$aJ2$}u56l%zlA)vPYF8K}cQRHS5UkVHmSdWsFw;IHzPs(H{6wY$iXsRNZUwB&l|iSX3)= zf*jr}YVaoHokI!!gRZ?-1K-!||4O{39r`^c^91Fz(My&kay20|Ri@oru1jpZ2cTtg zNNerlAU=>X#<4;ihLASP*>lH{{0sE|pQeL9%xrM{ASS1uSFZNsFDLphuU*d8*6RNq z(RwS1+b+l9Lb>pT2 zIH{*FR0Et0*$V;C2k#7^3K&s#o)n;xP=+y(B%_TTgQw3spQWhVqVw6E_O1x?0F zmsmznZ~mRW-#$9I2WG|(h-}%3VC29ZILr=W-psawV#!1w3}=% zTM1?cNRFj3C1bo*Bx_Tzd5tl&DegaEfxauX044y?&(3`_=-9tJzp>Xw1zO(o@q;+7;0l#3wc)J~p*n;e*a-v(-4z3Ts^&!T=98-zk?+jq~bH-_3%&>^SAUw;dEw~wX3uxXCu zf{1Dtu$&>p&aWZW9D6JD3T+_Y&58@=^J&TXT@qG zj{e^@1+n(3Sf}1I;uMH~Vxinv5J?DK;r-nj)oX}cfUzJrHpmV@KC$onSy5W-kn(7;-X?_MRGS@`cD1Ju zuvlxY3=6@rNqzWdaBMO%_)>$}V5g#t4r{V-DF8nNsq>X;`auz^3ZrE;Hx;rf=XRE- zuQs(5`b4y4VsM-W{xKP^L2PwhzEk4x(UI>9*S0?!n|V{-&~5+`-Jm%k+<&!~Qw~JH z;KW#mP=EpsuuhXl*RGrJy)4G(ZfQ&9klP*Rh00m$*+{nZbhhMx!l{utwISDn_~64) zMn=HakjWru7^0U?=-P9WaZ=1}psye97lI{6S)CGfcU~R~Cmz|#Ym%T|G@B4NH^I>^ z``X$#;QWE}BPpgPw?<%sypUWU`1$FQ;u)wIAc&G4%O$6dH1^ibK<C<#%c#O{{D1tN#L1Azi)=#ZKh=Hn26c^c4*mn5+MAHv=-y7F(!0*!6kwr$(CZ95fIY}>Z2icW0X zX2nTW@^VLyH(uZWyWM@p@7wvh_u6yKHP@W6Nc1gwN9En!S^FWhvdC==t9#|x3mTbN z>jTyS=MV*fxo0cAaBWPrFxLt*q9YW;95Dy7pV?;_xVZL3u8;66uBP=J-`fpb1PUhg zh4J~nP&;A|Tly4d7X>o+5bxj8&ioU�?=I`~ekgyS^LxIjiEGT+a~ttE`mm#POC{ zV`+vaI*c*)a9=;S-fi7%7wry|3|!_U5Kk!(SlPB|(?5ggj(xMwHYGR$OY}B~bwkIU z6IW2EYYHH%Q~pMj5SXIic7#(t3Y3;7L3QS!d{CL?it~zY_>_{n-_4f?O38HmAjD2D zjDP7Rzd^CY-&OaE{gY1^nUNC&5t2)mC>P>{06qgkDs6Tz`2Rhh|B9TLoD3xZ{=SN` z-_6MXhMH8}T)ypi{#!c|t0t?6s*LvOz?&;T7i@G{ETH7qQmlkr*|Q{6+^9pY^9zj7 zctc?#fo0@;2{0C+YxCEF@F-8M7Pymo3-6Ti(;1 zsnhQ<0?64&C6WrV6&K3zJW>~FM1f@8q6-&A_zo1uz88|ea1N4HCDx2puUVEUB3>~A zlH!TwQ@2l7m2RrruSWT5mYgnTiUKoRbI}5JN1f5*QN8(w`tuPQ{_8g#>3W5WHtN+p z)w}3gQ6ArZvngJSX&eltONN@MKhZKqtl-D)fEFKqabRo#MyHO*Cc7%^P@Q`AD-`t5 zNr~kgR{Wu|q8gzp?BOLfRiuTBwxJ$s;C|y&a1!xi6CLhqyRC9wN~EGq-7x*c2M6to z2oRiHWV;+z)25h^w=8|>O^NMF9EFVrDDx8BIPE7YN~@J|TXN1M`-qS-AP8Xv?sqPfU2QM^(2Iqd3AxWUo?;Y=5Q26-;aa^P7w0Jav?V1?SMTy_gI>hCF)W$@xqMnt%koAHN zW04F}w{-dn)cLOkdz>J{Lz*S11cZcAoGuRx{2u(x$$1w|L7Im2UYnqqaLDI< zs}wn{gRAECo#Blr%_oFN@VoyJ%JL2i^Bzp|4sG>*tM=?q)JkhqS#MNHD{S|+PkCc_ zTK+Bll{h6Yy2Yn}4zP

8yjtIAwkFYKXuL3TZ*F=<9XXTm! zP!0LAq@Xa}_rVbk-xW^zp$%2V#k+5*J2esqf2;(xT3mPTwB3CV`_U@aGn+u{m$#8& zW;E?2YuaCI2Yt1Wd(3{>_7_1B9v`>eTR|7;g`S%J6EQbqU-I&y+W zS@F`a|5Z5|NVC~nS14u@GUo+Vt2FSaZZ!oj%8$F&`Ep% zIsabZ_ptWfaZkf*N{*J_cXA%KnA>K$Y|bsZUK6I~E4Pmd*3VwYMPIc&TDP7<6E@(2 zC(!M~Uz_%OT0*%=Xsyhf9hrTtH*ZY!bTrcu_8Bf{U=fLWa zdbiz}q35P!x9*MKokEuZ(Y^1^u&^Sz|jV`*p zdFV10!eN9TZKvw^Axm|gm_%;~JfPw?rZ^sEBFJAZ-cX3t!<5RN0V#8ZT-IfT76cMT zB>Ehpt}+aYJY~F6KR6zVghIbySEI~(ga`4u8Y4V#xuQ^6y-t}$XB)s^hC~c6#n3_e z9Z%UACg4~=Oei)q<4icC5#eCt02?IvVi62|)cu6e#XRIqUZdt2n#CW)^#{>1Wyb;~ zSCI~i-VO2;dH)4bA^*A2Bb<0xTsbw}D9ir{ z`+ld*$og(0Q#Z#~Qwf8uwf%*q+-!O4NUGHDiK82@BgC@{Xp_T4gc!;ZNA}~R{C4)f5fU%r#6Zk`( zPLml9w-=8;ASC00D9T1G~DIJGq#D`-Qt1 zyIDIrFbX?4nLC*MOCO~2Z-4w(8(OQj`>hm0`sDENn|YEVX0R6x=m-jR<6UpBD#h=042VG2Ae9M>Aw=`uNlohK{d%gk@kk#-eAe zW!^Dy2O*lbFAwi%O=ZxND<#UhWwh=W z=lPA|lueqx^itgd+k`$X$i2Tv#aoX;DT4gTN!Rb~b8HtB^Y>G*M_SK`reC#-OHTTG zQ+qeqV(2uS?O-$Ta8sv{VR0P#i-q!$eDf7KtyONlZ#*eEo9xDDMeKy!XCpq7)RXGb z;T9HiVmTHFpps0J2}WEqPQk?1d)jyyTr5T@>!)EsY&#ZS;fC=|tri6l(GW6Ts{=e7 zU?=%TTHq|AMLlBgqzKpUNg&LvcFU}9xWdBLYsua>1?M{gXZSnzCg`X?V%{o?SVB zg!qVT!Df*!9>LO>qUg%TSoj#_OvCb~m@ZlAl20Q{q&%4xW*cPSG|`8QXD2O_s|rQwZiN$_=`hl5m3t@MwuS%v)R1&biU$OphiQj;n>wm8=BHnK1!Y(ex-v6n*q$ce; zq6i}aEUBG>2cXN>XqFcUWh$xX3j~(f604x$aa6M?!pgzh9^tn38?l(@zs4z1#v$t5CzAs0N2=RIND1KiLs4VD>t6oJ4 zLwYy6$8134HHC^bK8JJ&B?{uGL&!J&gO`M5{?|+@sB$>T33P!I&0J zO{aJPClx^nZ9B}|F0OzU*zJcBXfHeXw8SV0>m1mg}*Aiy-xLR(|a|^|S)Df>dSw1t7WtIrH@5ja&00Y-ATx zAdgWISwDo}HgBQx>mUAIMQg4e!{0|V^&9JQ{O?Cp)XLbw!TdX{@V`Hd|F2S3S94Ja z3Gk&WBYQ|Ag$$M$z1kukT;WBn!4ND-uLgWS9zIuxq$usPP&?7SfO+(~2YDyzog*(I zB`X}-oIW-4=cK9m@88o?Mj+3|nxMn9FxQS+3Vl%s?bb=_i~)Rhd78{ZGgTaIIZ9{7 z$Pc(k?a4N?AY(N~o}0G)sID3qYc)A*9NHq2Ok7{~#92F*Va(hpqcaAbHZA)r2WZcs zt*WGw_Oq1fi?VZ_3tptr<2ZH842PnwA_-k%Syi1ld%By9Hu@@C`2{{vo0mD}p*w5i z#EZ5B+rb*B^n*Fpk?*#2u>o%=Ju$fLv6apSMo;k|$gzPz-}r_FP7KaqqgBF5NF&!! zPd4dAm|u;G{U|Z43euAVCG7J#3+|kB)K}d7dn$1nRCHs_Zyv#|#%;fC-C^EnS80RL zO21svbi@@8iznJK$Q%+b&3AAHFpZ-eqhy}EM+1+u%s9*dfB=~4C>qD^@nqptzkGS& zGF9bt+!u}AW%t>YAm`DMw%8|AZn_fS4&9Ieb=*}V;@FWiP`=q+N{N_sr@1XvY7OSS z*XEy~TXp7tUe$i5+!)8Nm8d+Ix+`ivy$$A}1zn62*M$)q5V??Xgarpkyh_L7F!HwY zhjli)C^%TU)0URS1vu9@&+1L4QO>O@DAZq>wkq!$pUtsm-#fqCA1DRp8da5B-;~vZ zm^>nqHFXji?OJ1sB2H&fPA5OpF)Y;Wu8J@&5ReB6=#fD5%E8TLnoQ44SRJqX4_mq6 z5q;8=QS>x($B+8={_x0@$RP`1J1Yclv5rS@L#})Piqu$830+za6Jum1nug>qL!0E4|T_rWI-dx`V%<@r3RZ1nfhOjNqspV#CQtp~$RG7z6Q94`@O5u*u^6tV* z)~U@DC%k?sbDV9cqO#KJxOL6=Iefh5!#{e!SUY_artco`&me-fzd#H;Mx8=RMF6O_9{td7%s>>F>+N90_&4 zUl}=h6W1M4mKg~&$u7L52iz2Bah?m6BB3a^xGUqJE&nf{-gjVolu)-(RZ}6 zV%{)wijx<2-C3?d1I8ppmQci*3Tz$**BIe#R0QD6Z+rr01zI`#j>&I~qd}sYaDs9v zvYTo!jn6x%ni>Xc$ad%Jzn{Sr2HF%cjxd&O)FJl{q6TMJUR@;+{ zEG=4AS1e)>MotEBXQRzH&KTkY$kI8v73vBn9b#Z`8yH6(vZtY!aA`D5G=_2F@q1Mp z<&wt2$I07COVg0`~*dnO82~+Uz z(mwU1FV%H9f&)(d0Hk2JcNxT$sV;`-`7qm*jxE>h(DyyV!qhkbfYkq+~S`@5)?i|bKmtF z_R$o$B)Jcc3tti@6-!dUdBpLOGHsEeSCD#QOHpM@DIy28>Vd=QMIqRL)H#kd2?4LT zlkqzPqlvXWO?RLWHNrM7p#q|9F?5IafhqeOF+Cf?4@MLn(cdDyG+Fo{IQNZbGlfwr+o{(=6XKb_u>XGDi9Fo z|Nc6OSzDTa(=q?~5^7p&;+~=h7$Cu+hz=OpVE`~1bD^MPq;c9~e;MDS=nX_R%12zc znKENE{S+%n{B_<(cAiEdzdfRm?gp!$v?6UvR3^PaM((aC_|kIvDBJ%c8z_{1Is<1y z1{kH`?E*&j2Y9mt#<<65oqMsgY3|2a*|^ZyW*&YV zGP9aeZ=EZdPg$k;Ve*De$&E&2&M;$7bRUd&v?>~FS}~=@xtDb2GSSDW=444vHXKx% z0p@#-cUDkg`aYLBDwX)L6tjlb$5}1jGn^@mqf9C*61j{^4x2nU{a3{Jik)_KMDR+d z+=7^XzMr=+vzy1A5>kmdh?@T#2+FMBCWob2aOFMOxw3W^GItw{$usnDv#xkz?sDDI z=Q#NlkDE51_~7kd0ad`1%=bMZIVhTlJz@!Pt#F4Qdp1e1olBRCQ$2QumX;L`<6;Aq zhM`QbmP^uO4lV@g+Fz35;F<5vN#H(>3PP~vTV{3|?yk>dMU_~2S}`8{4LvMZ9XKdO zF&!#G8{49td=$&mjV&>Rl}>ljZI#JD{fh(2RJiS&B0^WppimdA%V&dstn(?)-Gz3kw&E&_G~&2T_|aN^pZbt9X`-z7Y7J%=rVH{Kx~we{f`WQ)GPCs!7;J-0p$< z&zVDMXY)B3@art37K*6?Rp{W#=4YDzfvW{4c>vzY`8|oI_)u`1sh23go$dl_nJje03*F#LGbW_ehwOP%W;89UCxgKv-}^c-oHLnr6=o**;S~T&)N6|GonV02pqK;Y(4x?w#cQz zU1etN8C)z35@d>Ep9$~@ums599neXBbJm1S;|#$6{G6-W;@mu0=jKRMke3Bo`F-p( zlm4M`f86CO*SeUqAdwO&V6u=&KeEw~9;yeaIUd{k7UfnA5k*Mtg zYUxjWMJ?MdJ3ob?ZS|vku31=c$b7+#ZfsP~lQ&~UjVpdoB+&Dm)U9Zmd1KlI_We?}x{^b5 zY8x*cGH?TauEG6?cp^F#h|9LyBEWoM1E|Eg?~n1x4B4;l!M4*ET;WV;iY+A}b49ZZ zQ#k}*cF@zDHJpeocNUpZjHVnxn|B}Uh7ue{Qmv!qg>YbLi`a)YM{&P0iatyaYQDP! zd9$YY&zl+~(>B9B*)@Gc(!N6K{lTnEx7t$Qzz@LhBezQ;W(glKS5r|jf1%S6dv^Lj z!6CVJox5(XdS;5Os*rq1Lx;a9f(^3l@WH^n$7|d34!chJGnHhhy>tPt+stI%RxrOJ z`DY>ZK{ovwK42s9h6uq~?avXGQ|ooh>JN-M^^^d1%8sp_fN_Xbd=yNTHALR4szj5? z4o?GkboMqAD-1-}og@~7~0Aa-+-jaUd z8BgZWmy9OPvEE@ezkKc|%*~~6D~pJ{KT!3;)SVYn{9>fxXQ9S;`#aXY&kfhd58RCT zv)tc=B{U(1 zsl^)BR!RY2>Oj2e!bmjNTyjAvf3gkV5kk@FxZ2+^Hn%&Nt-DTn}apHKU zL!u_U?2&iYv{ac@*y2ygiGdur3_ z3NFbq$)_w;{NkVnD<+gHa}xp3b(?vfjToBu8y!Ff{t%q-vRGFUx}X`)%k-Z0B{-Ry znl;=F1o8@9hD++m{snh)?qnE#j243?12=xUkZ6-j?2wWL7g^O!i{-+89x-iTDd`2@ zXPV4n=&HNr;G%fpPDQbl_lT|W&CRs&?bGT~;dHa1#~sLY#kJ0#R~26~*A6CF!>Vr| z#*x~EB`H_=pL}e&l-RaHR5{wi_EmqK94Dd_s$)9fwTWq}{y~!qV+(3g^=bj2A{ayH zm>X5lD&8Rs4Myz8E?)nHb}1cOMhcHAbUJA4Tx=U7%H_beK;WyaIPPI4>sgJ`oCl=A zHMRWg9H$Ghma|r{q|9C{*b>gbBAEFtsKH8?>tJ79uF$=>Rl{4vgjUXb?se%fYa6Ng zy_|KB(oK6gNT-r9eE_V{WdOYWVF*Lf`?lX}4{r$6dJOwyk}u2a7e5Lp z&{n}E@br^@a%*p?nPe3Hw6BcRef&(G>(^%5h8|(7Z z7;6?A5zhS3A9@lr;w&=CpZT#}0?Cfhjjy)z2LJE0p?xy7&cb)!*@N=`kDC0)VU)1` z&jX26O?x*qP3!=Qb+e>(;%*_LP^6~9O z+{m+>`?e@uPW2J>vTK7i+gyuxhA;7n23CWdUN4+)5A@KC2b(pko?dS#fj6cblO%nU z(YMS4FPXnV4f4{QFa(d*Y2|#?hvUV1D1`HY=7Nb_9v6e*TV(j|MmynuO%Az*PQ#hSC}<;2dWZb-qS8`c3?Z*mv=S7R{eAGwPMTkNH z46-~4mH4TcOR`Y2d*9yxQB(2ds?i8CO0Q%sJr*B#qQHzzr-dcDgH}y1Nm&hX@3cgC zLh*rjCu!hHGpVgnsQgQZubktNcwtjY{V>cI`>#_6U|ZUWCLr-}WL$eyDxZ5IO`&W? zf#t??=xGiFpX<(r2xXRL2TPl3`qOJTF@n?4w(lfHXNA#AuaMs@Wk6S>Y&8m%WmT5y z*pSW!qgVo>JI{a!Y|h`O!7-P2(i3Rex=k&9K0mTbVhBx>-UJixDHtZG4vQkZv0>!` zU@3Ms_#_)#8`7qu0<;*CQg#EPi_&LVv&OIFzSY&(a+vX`Y#;; z7pKggZ`OdJOAcl!qt-pNQ({pT;%b;gC05}4h2%P>I@I8}L!qE{v`L6+ixVco&L6R7 z+4(gq{zqh#@xCsG|17<5uOsH=u9{rE+EzAfw9H~%@%9iDx&P#zlVz0oS2N;yla}&g zc}{nXpArXw9cD_HxGZz+LB{CnT2}+CiwQQ5y0qqR8GOANTJg(>#Kkf;c7Xj6lj^Dp zu5*O8F6&I647m@qHE9jSdPq4;)_L;dCbMRXnhjZXGkNmDE>5ZLMMT={131kCb1H5k z?`Z;yY;(otsGIMyNHy@6{tCWH+80YRF4%RRMgB<6<)~WI6264mWT&gm^M`oFJLd;D zR3rgzPRa-SAx2Z4n`2Wg`j^)K%Bqs5lI<0jA5X;aC1fP*(%o5+C!7;t{svizeP zhSgS%4rz+ACq$$8QhfOdGIjC(9}*mIhP?K~=lS-ZM?u1DhfFK`P=z2(AwNK|3X}^h zJjTQYV|#Pm!!Mmf{!%zLwW43G6YVdpcW`!f1QtEK z-3w%1WJ|hMy^xeFkrW;FnvXqbsY}S7!bX&h6|HI8UHBp6+C76D)M{7ZzPAG$B#VM^Z}NCR+jUc+S7#YddiHJHmUs1=l}; zSiF$h_lRxE5H~rlUECh+vc5kz`vdK;9xcUPt}v&RKO-JHXgB@O1z&j-U;NE6UtBoC zU)xs)amWs#qgGX(z_=egq9P9{v5cE@)RIdfaXxd(voRI6VFT${%C8BVR?|JP(PvnS zz0lSK*%N1c`PyQuuUW% z)zJZNtKDU#)@GFu0*y)Su^jjGhJ73zOdy8*brY*y%S4PO(bd1zg=1s|;JC%myJWth ze74OfEkjc{fS-Sx*hKzj@ATw+-*PF~b5ME7cGp zFD<(bl_$21>x}F2a3y#Q&nBWYF|B#?hMX{xJ%yufscYB9EN&IGZ9@3LkvXzqf2U~z zJywfC)C@r@&p{~Q9q|D|SP)O7yE5}1u&;jb4cH)l^uU39P&q_Ros zV|FB297P$m-M~w;3QjSxf9PcB(*_srO6z_u{gW88fZIBc{#Gs=LjRw5RocPH-R(b8 z)9SjKxawHj)AXes_(CpH%Mo<47ntRnt1$>9>Bn-&@9~yq2HuAMt{~F@x}hxTa5EuY&B| zC?beE>c!Pn*qYO=L=;SwS(QZPx73?0Hg(}lA-Kd-CJIB-NCzG0!+aPx_W@9ZM#{$Y z)PPVIy_JR{WA%cCg99zWJ3E!J?KVCKE4n=Xdopw z354F6mhv}9n1-WscbOT!bSDD;u%yts>q}v0p0Do1}L|cXR}dRk9p~d%QT*Y z8=O^JiW5eg46_@HG#3Gqu+tozUIe0)1`&R`O;ul_C!Y9xQa&_nKXoUpyILi`QTbJdxE!Aa$4_| zj`qa**+%IEddGbrqZYd4G%r#e@Gy*`g}poDU}}V_$IMfmYW0TEyfc;2mO^={s4;@0 zR^s?*QwxfKh7P%`W-NOrb@P&kyNPpvM?hG6CB_dI6TcVfwWS=0pvtkxdBxkV!K5*+ z=QJNf0D`Tl$zn^>XLNSU18>bC>XN|zjcI~mG(kWP7{#*wQAOgRK#s9*TC?-gKAP`z zM3jF7054BOa5KS@KoYdh_($)2iA8h z1YR9J0YD4Vk-`! z1%fcVB80XHc;e%l)~n+Qsm|iT{!|u03>}lg`I6V#+%-{VfaKr(3X$nJ1MZ4T-<#bU zXGC}U#iEDgct9VlZu8oP`FE!O-}|43fk{fu?|HQ3ccv8k|IYd=n%J0|{^#nZ@#c!^ zj`n32Z`W-nEW=2Z1`d||7$GifZOcwyD=&{*(5Rwx!LeQjySbgP-SUHTqVOQdQ&`;6 zjmMyvDPv|0TRFgaRB+7*$G>fG9_Z9kl0HkFWJ9pA6FHns;1KNm|Fh)M2Wv_)NNgc0uAAKpUGK| zzp75B7msI4m=yVe9Bpv{EqaA3G0I^)&E~9c2z=9FmMc6efK-MFH@K=UhQhKuMJ&U5 zUkR6uq=|ze*poDZiDr0FbfoUX~oCicHI0jOZmlSlCG4zz6HS9N6=AwK{)F zfq@7bgo0!W*I@?V&R)a1K3^{#H3O%<$?y(}2)Klpx$JW+m9n~p$Hq&QC95ui?kdVj zL&$j-t$|#lh=MjpCx0nS^TKuGWTGNf7D;vu-}bXRt7or^K%tII&{tteYBe&2p#v5L zYfnQG%&=5sQ94yAFu$ryQKBbhf3b!UxbL98{z&hIKI=ZmRMiFYXp9+25nNS`2?u6% z6hc`vAe&@{l*j~;;jV+~0A&Z|o?{2u85>iqC;H_qU_8L&We4*fxX!79)}ki@;nmBJ z>VVX5%2>6{QFPtpXb*apDrrKAd@(H5!c27mUN%bwO+QP)W&=C&bsnMY78N<4gzSJ7 z%nAj~-nfc7yMEkf3UiK)oWk}~jE-A&=Ject3ObRuir`YV3P<1adu;N|+U#;ohc01| zC7*?X%~LLArz7RjD~qvgn@)D%N*B=)WsA2WD?vhUeD*vq3>SfAPT&{B$ZbchZ!#4( zM3N_=G_2XdaA0ep;Xki(xYrG6bV|n+zlaJ+iPq|;$UdnshR2cS&%#`yFU8Fyxe@eY z!a92i2Q8c*H~#7fWLe_mn7}T$pRnq}S9b=sVgP4>K6#GNR5QV{P?Orm>q%`;weC1IN{#=_ zTU~19L7$22;kUZZ%8i;(q;2FNZ!7Hzv3V|9mfP3K_1JhXaw*zETkOb`cgF9PaVB~8 zO0G7C*m2kk?Er0FOPzw6Dl!7%)5D=I&9^$n@*3Gjt`_UFsao-gI_Rjinij0(fzLi! zky)YN9}3@oe$^*FRj$loq0DijWP?3Hfm`YTpYks5#!zf*f*p%0YgM(KGl;R7WkF)o zzR?|ft`GCVSa|#l|GNm!_uL!H{Sl8uF+38c2%9v)D#r_nBpN#)NLdsL$!R9zy@vS-d=w5<{4ggWgE?TM@gsFdSL?-AqjS>2pfR;f zROg)P3Db#1xQ<96w%91t%BOuUnHq~6AsM4bO>eVDHbJASLr6+fIo8&DBUF6@OcEDh zV4y%2&m-+t3zci++E2c9`zAF?`Vk4rR_UHDJ6C#5NCcBbGg*CPV#nCvFw{*p~Ri(pk!q+^LS5WOoQk^?g zk3Gw(EW?UDN2M4?mA_j}z4t0DxKuQzP|5n+V*H}h8W!zlqeH|ty`}N zzYs>Si27?C$0iuG3=XEtBRDb$EBIT+4TO_YRX9UBo!FH6g2IzcwO4e=+T*B(C8<$B8YRND^yfWIKn4hw~-+c z|G|GD#s0`mbl)R{A~+MfD3>XzYsvk1EFpc@IT`o`K~1hCOCJ1!l{Ui_>P?_*P>je^ zg^rjU=SAVJpGHakR|?X{$!UB@f6LWrcL+2EUyV<#aeVK~6un$BCM8xXHJeOoOj*ADCPYEX1hO*pJ4wEhgMZwI)=UvnfEs& z`aeVv|BA5rpEc_Lr9{$L2wjpwM>;0qWNe{ELAoV^!B@_NaY0^cpSv00AwMtKKM4s0 zXy(ozyzUi$H+fHXI40*twX7axma}==5B|I3+~Y5VhJ7GdLuyx+uhEBOD$ZC;rRgi< zaI&{mY@`cX&M_u(L+tQ}a5@f)9(V>uSQCA1o_3SSb?BoqD=6&`&ptu3S08+;&QSmRx{=8ppc;53antGT@+=L`sVY(r z6@Mw;<~HW*$*@0=I`(M@wnVV5n8>cm;G zHtD}jy7TVd2$NRMt~yGF9lR1MIaLAX$xG&*o0Iq2#JF4jelHSa89`t?rJcrm6b{&2 zKQTbtodE;-);>UD!mh7CQQS%rQ*wd9Hf8<7syo8gG@`7jELnl99>V0j zir%oHZ!vQi)_iFdQO80-(BdQ#Fc2YGT6^kfQuVOg!_!Ab%3?O&a@BmSQ}Ig8Wo8Qf z@mjjUT`Lh!;EjE789X#EqGecYj}UVHEvi=6NdGB_sa!?8CKn52{Iv1)-pC(%y2F+pLD_goC1DG`;8~FoG?y<_*{39&;m@fAhH}C#mA3}`z+knmMyIJ*I!ck! zQudp01T_!=v%BEK8?V3(&Rg_6C?nMJuec5YJ<1t#DO^|e!I9;hum(AuO{ZWC zf&fx|HvQydM`s-Qo(e|xw2BqBLb2LZsrIlFB!}1Q$u=WcspLjPcDF^5N3|i-7ZVa))qRG{#OrkLY#6 zxe>8cA)#;&)!ncQtD?H1ZcLMech3+2@Pk|5j`D?sFa9E+#NbMlconD!V4*fo6gwoT zO1D7dQ9gOi3+JPR5oU10gGY|;qXb`A6xf{O8MacX1WZ3OX@)FiTrdx|hHlYz5bkzg z;;Zhe<@C_&@k9hiZ-2YD#aFLhfow^z^%)8m5vZ1}q0(%WW2vj6*9+`d`$z2T&SUb9 zq>RAbQ<97VAACG6MmR_9;v9nUg56PV7hWN=cSjhWJ%ro}(Om7U3h zJ3@UXL#)z5wnk!04rB#>V)z6rS)%{_pj3G!MSVgA4s?(*?lGwG>fPM=)h&Er0eT0O z%#px1yf<#~@sskc6_`OKJbI7+q_>lV@O6jq^S>d*e_5Llagi?KeFxDIe7n~EGgkB; zGu{7GrgFbcYw^s{zXG#+J*^hVE#pEI6*F zo`ukqZd8FsK%z#9364`7e5k@9kDoDqeT;s9h%4{)X0HG1*V5I$8?ei{+w&55>$}^1 zGQNty2WAwRK>%R6iZkW*09ZX?69`NWor=_N3I@FMA^LiCWQY4^TpFBorE9+2Uwm>A z3}C+A3maS?s|RVK_G|#E|Mu_=P3ZDC{BgO;j^J+@*5$Mb(eoVh|UT|xzr64erNnHpV>20cLda=61r z7z7n-Sh8;?u$zYDjMIWJdso+398F{EM9YKhBeU0@g$cPDa-`o(&GQsv<&riLd)6@< z(xXeoRJ?m>Xu`8sL$|yu^V~-IMK$^BO^^R+k>HS0(%*d}Yh!h+$W+)dmQp927|*Js z!GT7cXORzOr72v!$2EbvxcDiCEFiwDX4)wv@3IfEp`VLixV<5ut_tznG&^-G!M*Lh z@2VkZo#<38pp7$Rw4w^OC0%-)`mlwJUG69EYAS!yp7yv*>3b@&I>82W9i2J3iRp-B zP-ZeRteXPN2|H@YYOJ~B68%NPWX|>%sucNkLJmivEgU!f+>s)Y)4`ER)u0DCWplkZ zdDgz~%9zGw>A)6g5YpLKznHqF|9axS`Z40<;b9bq$b3pmsKuBsuVz;ERWOCJo=4vL zd!L)wa<9J@wq@s0BeMBNMb0S`d3$*ULIbX1v(~bmWjse7Cq!%xNj$P;hT5cML>ogb z7H#ytfK`}cPMb#jL{^y@7zPEV4ib(roNhM{_z$~_2AlB0wGuEK(ouGgDl6i?i*b`E z>GKIp`_H4B80J*3E`I6azKUF4d$CBT+*I1Q=MZ`eSdDbVq9Z*aHyPV_C>#0UmMYvd zxu6utSv1}XvlQci+cNTJs7753bLq5m@Um{Q)LrOBMC#3PuUK)Mhlxm`Wv(@lcMbq{ z#OB6shAO=3rjHCm&}(Qp9`Tpg!N$Hva!sSMN}p0zHnP9J#nn7} z3P&Ktm09OAIsq{*k#qH?}Sl_Z`&73qQ} z_tNPVsmQ2JM6^y~9x!BYt_jPm6jrzBhk2_?=bxRt?3`H~oS+PE^eDUNvl_!&Jaif# zv!&)16!r))STI0?YB3t4YshlJm&=|Vs|#vKdC~fi)d;tTvd#hAvb~tNS0wI=LU#{5 zQ3B!xrCv!t$-YhBqeJ@-98o^w(#d+Je82X30}s%lzf73FMyF8>Mgqz7Vq{5P>qCuu zDE49W820(S9Kq^kvB-5{h$DekWUx@#QR)s>ahgCLwlxc_tZne85@>hA?J=M+54P1l zWfNDE$EmEjS*0j7bABLau(DOPq^3u4sIOvR*>|BjyBQ#-IFU180+9pvbEP-HdP#plzmf>XkC}&E!(zj+qP}nwr$(yE#sDL+qQYjHT6x; z#Qf7U-8~a=&ck^)4?A}36}fWl%p8cih-H<=NljhuA_+TitUz(1&1{f1PE3!8^=~_9 zy6;1^O!TQrY7iNtSf^JbmyI#O_VqE1C@8nV<1o}M1-7C%_APGxED>E)18}1nzodNw z^{qB%8OXM8ld^uEt6hC!eru)&9BKE$XZ_4~6ximJZZ0ib;$v2;SbH+I<`G4^7+9ZEE&^qv_rb?BHS53HKlhIPh{0yc zG40PV0Z1s&;j}M%N=44Tevn-ouQ4$`7kzawgtZK_WtxEkuxlt@hpZ3s?}u)G0|Ry15} zBiAg49}jsgA|rVzLa)+@R-jDO?}cy_gAV6_i%7!ofKYUYi0DKS;f-f`=gYj$*tF}| zq@a>5ra~ri6sKa|Ft|#2YYD`fh*&+T(ZbjTp2%rjtLz1aBYuy2YAS3W6|rnO$6>C3 z6{BXB1OP;OO^W3fZXd*YT?m1FG_)ns=9bY$5oL?0t=oljga1msmn}IZ5*BytmK5v- zTg7ppnVENCmq4Mr`5Ek$4|(n3ZWbb9jP+O6^Ek=1gj7Duk}kj2zk+)OZMN6R2w=h8 zmQtT{h6&PK)&<$#*-`<3MiLZSYj zhru>&qAlw)M#~`hWDJ}Rdl_8h0M;njbXZ4-=|SqM0?_n&gaN?%(Xb~R_$h(}EEU@t z0Ic`LTOh=N%_$1FZ` z8u%&OWzkV~fGU|;*Ckd(ER+}Th7oSnkP2bY*?6*PU)3-=xej{8;%DA%iD#NN7~+xi z)~RR;uHi4xXHyAgi;c!^-yiA)fA`L9-$=Pj2ndDedMLd| zg>*72*4J*1+#sb}Ra31sEyA1j7r$_OV&b(@CJ!IC`HX2u^_??w%?&k*cb>f&ss8P` zd&|7hyYUsDb2_)T&^PvO=<%lb+rj6G#3>_ywpN&5J0`siw0U2XIpSiLvUUX90SGl5 zYmUIy@uN8f)|X-l7&de0SpX;*kx`jw+@&+RGQ{ODX^KZ)lu}>fGIaw1;##!MH16cq ztqoT1Li+^;b`lb+G=f^qXbZmJsyfg$4ytBMpravEu~j8t?WAf^1r|EZxz0VO1)j^~}ZC4lp79t2_uuC6A^aGR)7G3B;3*!5(9IaHfua z>T>QLPWdTTm(&(VFwz#|&7|K=ah}nC)i$vBQ1p`Sbd0GqV{eJ-lCsTYN4#dH!tsz} znt=4u)-w^(sm^F%QyVzs)0}VI9;L~vM#$*Kt5E+SA=mJhOmVhg_v?SLW&Z$e1|h2U zzdypgz8_BqrvH3+_`d^f30qUUe^ayOr06&;sKSTpk+ekXus9%L=9lnmXL2?KNkX;R z;Kv8wp3Sl{1o*10l0|YxOo}ryby@lG_iR}0f;pGwP{2MGw$f`a^emj!7LPVilg(y1 zJ!4<-cAPAopWgNOeZuULKVs_&hlI5{p$m~nEpu^qPIxVJx+R7wb!Hn}Fl(8uW|~;V z)_Al`H#GMybKp)t*b{_BwI%l*L02N)V@-v&TQ0k-SZkWOsLiTANqwf)HfuZS9OPI) z1l8J#qgS!o2sMTr)IzCQoz~VaIS1iRkjYFqn~nZvZzm*R*|CN1~sWEDaXH+Zm-#9DNW0^ z+Gy zn{i8QltV>uUk(;QLO{BL)F(rdXw{uRx>65B^c+;4(Q7*V@&2QmebS##0C@K_V5Wgs zg$PTGA|n?}Q_a~r9gh?x{>PpZKx;|WWy1U{)c&KtP|9{=Iwo12|50}THvHRtQ9~Vc zt2XDjQxdeyT;nU`dZ#928#mTYKl=;9=d2^2p@wRS zjJTgW0+{*a9P}iij00E@`F%eD;Q$dbU_VAN_l}OG1mQ4$wgbka)IGXUw_dOQg$gz) zB6`~la+AC^&IT0FAsCe%ODW08{saic}^k6?^ITX^3)rG64@=GKLdDo zxxeQlV8)w64bpXSm*Suv4hOhj@!_+fwQVCDjc{kXsQETC=HbqxGVV}Z4&tiEhjsri*u@_|H4}rM`1t>eF8;^h@MpBcqqQD7Y@R@Fgor_nbEEG|~nfEefc#Y=7BgG0ZR&-^n_mh0rPt<=xuVH<@g*R?r$}QW8;NLEr>U_AlsAbkl-iK;*)c{Edm-Dsqvq1Mh5-O=koU&Ld((>Z+`|2+$;1k7$A+94e1NFfFdwK>1wx%160)F6NEu`d4Hu> zTm(eDtdEPcQ=V@3KcpV&F+eqGZH8=ZmTFXSZExmZ#`9Sw)(}-=GPM_pn7HstoA^R% zH40SI+V#;1Sj<3MSq{B*pbBb_%yqth#ir|2{C4q0KjzBae*mSg67xDle-`mLC3~!2 zw!UO=K4Uzc%7D0Tt5XWTLm2hreUkjfM(t)<{tju-EEHs-H z>hR@*RGYgfAWjg#GoZ)xJxfwg+QvAY#v^czuKi7*Io~+rC7y|ggbyr6Rw>_r&uWg}XnfCT){K6(NE5V!D9=p1d7aQqx9 z$_ZheCHdvW;tJfqhUomgPh6|EFyju1Ln@t5HoazEr`={8?Y{4NdVJt|IX@If*r3hZ zcp~i#C;6e>M)gG;&@B=eK~)D(&tx$grqIP?i-{OFNrZGqf&)~MjTMn6ByhxFzBmDO z7-s?4#=9BIba4#19IY1dw3SYRu(^PJvTEaIMHAU;GML`d@MTK1B1v4N(9)QpPyB24 zNFP@jdeP$_#^XwARw66wNn41-qy#f@th7vjUy`l8A1?O2laFQxQJLauBiJ!smH}I1 z-gb{j3az;8DrQY(#8q9iY8mHHn|`}ou7Am$&_Y(iD9MTY46V-A!ct(MFsffiukp-g zUQ&gK2r2WZJFTRSTmGEme1#KhlvCY6;3(-LaspionWI)xxV!4HLCKKw#K2)qh4VPW zd81N4gFw{9d|)PUX~+hsEb32-dP!Xz zg>eoBki5)!eW;D;JO~&C)UZ$9BV(DCVP3UeGBanmCb0p;VR22;%;{FMI@^-j5usZ> zcNZQZRO<#D&g4ANE8FTAiAlyv-!Q zS0NnslHra+lkN<^x@>u6wAm-QWW8h5Md(nI8JsIRU_l~k;HDO5BeF154qdqmE$^-{ zI68@_i^a=)LGZ0Uph4p6lgrrm0cnTp*fdN_YpO+TEInw7$lJ5Q;bW`U)BXaKfQg`U zSF>z$#f{3pt&HIe%*B9Bw^HZ)The=3=DMAUxskQWz+Su;>0y;E(n7~V-;%JUSA=D% zmq4mTa5!WPHof^1ed{Cd>hvnisFny-WbzE@H8*ZtscG?Yi@-Hy+7ZK(S#v#yBHXoD zV+*2xpT1=x@!AWIGijY zmM-g8zsoaa)8Bc?KB?7^J|(F|n}rh3t#-z`ca`{5i0Sprz$G^W<{AwR1G_aiT?2wI z*`&vf#u_vU0`pnVQ9~CiYEHs(jT|S1RbJdW*{y}%!1Zu6&#roFWXjT0%ls%Ir)XI; z*%5T0Iqg~i;L?D}2X>`D!+c&U&leNQq+KNxSXA)rcAsVWORuD9cH!jjdb59Gcj!ep zY59fEB2KxQ=A65nO6GdU*hG+(PV$0BnhSV|FiAFAr?*9N_X3M){c>R-_9o zFg;lwDZaLA@(*$?e{Es&v%Sv}LcDq&8CTsLLR>T7w{lI#3-5QK2(M&|Np%7mO?8;p z4g|a;hC)ud%Yo>%@A`7g0CNj2h)L`*G~M>8_k-t~&iz@t?27)Db0ZaY^B)P>) zlF(wn1y`^KTG}m}&>@ikf*LP7;n9>UbRmFHHuoI+EX!Xi0?^4XNq0Z-fpWC@2<>y? z^MQ8i`?WL5`M68=F<3)*Y;r@y8S=a^Ym&$v2744yc3rLC$BcS?R^$3Yy8c@1d{85A ztM&@JapviNGS{Xz;&i!>PTI$|AlIv^QpPX#v7-LS>wLv5m23zSMaOQfNNE=)yS&FW ze<<@<&{7VVh`2(jj+i$*&!mz(LrPX#GR!J$;3m={-cpHxaL49Q0VVX9}$#sn&n*Q`E+~8J1|WdY?i2oIbYYZXG#jPN;(N?w{vj{OPG1 z{u=+3tGHvh>5x;m@G}bWk#zMV8}S1sSnX|)Fv#N+p%j1j-DcJmD*mu{efwNKxa$mU zQq=*s?f7H)C2{k;AM#~q_(g_%IE_D=(}n`JROC=_ZKp&Y#``b8@}CBkaDcjA{by|L z`!lwt{LdRyRRc#016yZehJWizV^nmMuuPDBw~Y;wObXzW$N_C66G(~S%hl^<$?;Rn zC99Mz6-G2hWml(N)7Gr9KPVpI>=&@;k}Iam-8jE~`S~l+b+6O_NSlx1!1*w)<f?JlkiLJL?kgPtmMQ?#F`TKMGUl0&}HY(Q0 z6RJg_CbNmrJJeGMNtnSpc>?eR?tu!cJ3-Hxb+h3}*_6==u+kz64xB&#CRjWG>TF*^ zoVaevas0T&pIp(e{3Y84>akSnZ;V{D_f+fUN1)ZlF(^|?2~nz@XXuS5;2n^{kbX*} zD4=68*BWLRuzbZ4<_e+}wrhDto-GTeXNgG2+9gCHWH8TK!)b-Z97@$by6;rcAEg>B zdq~jM6Or?m`mQYA;}ND^Qml%WJ>~n>})y>RSgY7!^q(^=Kkv8}ol*pzn%8+g5Pnp*0eH@${LlH6PnX~YN z*xp?wSrJRYp}Lb!$(S%x2d{z6{oGk|I`r6sHww&@^F8pAgjNN0J& zv&n!lee7=N`OdyDSNoyAm}G3*mWl52j5Tp4m#36D12RQ_tZm;L&|^aON7LMa4tH1a zMbhlxwhjtAvi>G=r*u0IpY}^7vPHmu0<4QaJB26k1oIZP!sn80z;>e%xd(XX_?Vym zL zLHsoI|6(|DFeP+D@1ko3d!krE2LS3x{EXT4BP-`Kj!@=l*B}fK&`wlDY)}vP&Sdv= ztiPeibVwDCth^M2(7W*qmwsj-1e`d`#q)_S?}bG?GzXlj+xjH?B(zE>LEsdD&lqcRnsGOM$bPe>av8C{ywM0{h(iFvhA8saGAcM!2>eQ0$;Ti`GP*TAJf`@s)?I#wN_GqU_;_c{02WaU5mV!K zA-s^zUu^AXA``_K7G5i|c=>R%XHLvKW;9&zlW@>gOXt})CzoqSzrTH7QF?*9Bl3|n zVAO8gBk9)b@(H3vd}r?L%W$OBZAa47_XuXJ+&o?+Lkbkmd2k^qudCegXU}g|Q~DeN z1d1+G7;{zba3;!5Xk}o*MyIlF%g3bw+`DZ$6kB+b#73AbXLeEkwO~(@dXj-?LUqOU-`de}=LkS|Cau7-7^Le12k}idfqG5~Wb6Ie+^{_Fi z?6@+vHyo&MR4aovuXP_~_^u&^<3x;uRShnno)YZb9kUl_ltZcil)0Z|}idTEo@s%2ejv`OCI5_k7m#`0FQU zDLDsz9qYs(Q0rdUpI@y(0&{N)*C^SOmD|Z}*%k zw3@noL$=+pqr@w0=jb{xr{Jb+N_UCrQIU+xur&@7Q)48 z+Ig!XFJDz69U|=y$sRD_F#1VCEbr#7f#%SkSOV*E_v!-(Ru}FeCY+#`WUxw^zZJgh zJ$YeP&T-m@KV>Obh4Y8qg+!?_eszIxmM@X~g6z1N+WF6lx4bJ`!ZU=2y| z2GW$UCAY?(+I6(5P_l*>EnQoCx zKL5hk+)6n3Wl93oSJVhH(xJcVlvOCfopy;Z3>GQ%7T?Y^ch4%7ZaZzsmTaf)u3AVi-JFr`lta` zFtw57wK7P_fj9wg5>bHUsJ=e@i%rKr*r^9N%9`N^H{GE8`bGZ#gq{9JWm3EHLsmoa zy*73;W6B^VCg4ZJ?*tZiMPikgCnjbQ*3?b)hY1OdAs(lwB_zO4X#Xp=nB0 zEl>^4W7a&=f{q{nUrftyUaHJngnLu?{`Fa&%f!@?u_Z0I`?tgEru~HbWYcNJ>H2Ws zTek;7ALpw&A6D++)&(T%R+?d|yKjI^}Jcg~%UmNE^T*PsY?p ztg-Is-p*5nD+L-xbIb_w#ZmPQ9#K6-Ca{G+{8D|-sb{+z*mW(i4KxzPhM5+{iEyW4 zz^HO7r0qY7Wlk;j47Is`lE^yrz~~K!MNG-7HMia+6a3<#yynQ*Kyi6$z7M%n%J9W!~E|?=7FJ z*w01c*Y!wa@XwNz>YCmsMe5k(8G?}WVWSEZWlTknc5=7EJWP>HRsMbrTTGvk_i*2kgHChk zH@fE^!Dn2Rk4%R5+24kVDr%cuhbEf}ckrGjAEF_!f1W}+uvn^*evvqfF;0LaqO*Cu!ba%m1I*6Ep z9q?cZKl9j{drDQ7O@kc$)GXEV+ic2pvXtm9ZXPugx;99^ft*`%+%!}(DtC==DkgeO z)bPq&acLvx8oB=SZ7WgKI4)|sQ4jC{oYTdGSwcLl7;HpLF_?JS#FT)K+s37>MwyUr z9nS_uoDTziD)FZq^>>(C>hRqD(vaz5ncWWO8zJb&>NrfWsaAU!JlnbjZ9&lTA{(_w znN)Ymmy%L}2g+Fa_pCc#4eKnf0#v|H;)eUq{FZEyU{5dZeIpu|dFi_5YJ`q|2)qmY zwMaq|7|o7BI>Fw*d_EC@|>NOIkX6Y0}L^f~00FQDHgw4Ef^@U-QoPQD8~Wk$h2#!g&d5$hbmlz@x5C>;Y~rVNGReL!$5K zB1L_+5M2^`Tq<)$J^A;VYtjJ_>(#_Y%(tDLm-H3`eb9jr>$cH}y5ZQ;<%m+!Rvcft zw7e(hlwJtn3c8d72oxWj1VX1>u1sBjuj;&j~u zDd8z9mLLTPFQv5X`Vf2$^~-riG(G_Fs8~0|Wu2|z(VuSQ2uSMNQpH*hQ~eKednpW0=_#Rm%(L8d7T{e;mMMbuv5_PCAUQzFdSN@5Vg-^7tC*pU?|+G)-vOb9fxBE8aD@Mj?eYO zgUovakQhK#a$rp?1y;j#ssZ|laUpBVKpZ-9vjr?~kGmMD<2^NR zKvPj!o^TQcZaMXq9_|mJg(s$9iPk6ZVt+jQRy5|3BtZC_+t3TInQnpBPK_Jv{b%$9#(yqJ2n2B_eiR)oq{R&D)Vo zr4D?x&VRlB3+(zQSPDYKgE#Xhj#KmJUd4Z*KvHwGaQ=@JNGXb1bU*^gU$PxrCQCVg zknC(oQr(HewFoH?BTp>2DiWGEtjlP>Bgyvr;BJcsGi+GI7wWPyvR{w6cG{=jM=r4Z zRjAwQ;vE^A(OX>sg0owl%EJSR=O8;Ma=hb#v&1i!ZNjIbl|JE>Ifl% zKu|^xhGir~MHKEaFerje_VmKVGn}BB9#bljmVL`b8-`1vn`SAYJ14{~26#UKej|C> zbrT|)b{vV=S1I1;M&QTu5~NL`)DG3$0-|^xk!t>xEh$f@=YrF0DIa$D?xwaP)!*ua zCU6;9v+wk72^v%@-64^d+ia{uNI42%B$;upHCr1kNeH~sXN}>QL{k0ULg|-8%Ttx@ z(Gfk6Y>OXAa%~QNy%A(AzvqTIQ4cxMeC2L}{@Wz906t{h>hOhmpeJTPLpXLb?=2C3 zhI9j)$C|KaeJJk@zA4mWj7In$pijlm$& zdH=%wvBJ}=6rK;>x}40gJNY=~VsiR?|M7&kaz`l)ZimM`7UCWe^dI^~2mAq(LZO7F zUfbfh70dD@6DFN4NpyfCnZo_DUi7p?1n@hdjF^5&5yOZ3A~&8lo(xB|RLg^qOH7f9 z3pX;CL&YbcSxZ@l2bO|qzMMNMu9>m;uWiHyAktQr3kd2+J7RgX%T`kh5$BD9A^Dct z4mx>eCx6x??pQK&*6-RD-U&KJRS)i2bS&E(vc*Q%H-J?4&b+*{;B6|cwGW+^9d%J) zJb_>nWx#6T^kJ!hm)s|)PMoAU_7qK0H{z+y#kwx8ds_I%G3fEs z8)aW}<*=D5g|5E=pRIn|ka~@XmrB8PUj0`- ze_qo6qxW*Mb8$2>p%b#U_=(JsceHc&__xlB>&b3~7Zem!2vpV;)YTOfRur`FaS`z( zdvdWeF@JIYW4`cESrpU-Mkep0(D}1)aX&G85fL6Hbxushd}_281=_UT1zA_fNXEjo}Y*dmBxMP5>RTJ23u~Pjylm^EO{fj9@HKywV zXn4Em*vFE0b~TLmwl2>5mhxTQC~tPRjCa(?Z)tVMTfX;8k|^)U=)vvWN4CpP{w8nn z9qs8$rt4e&rf2az&{I$GhU(Ix7uRg@U{R^OO!1&#SSsen?aQ6_$y*$nE7 z<<*@5FSO})4;TL1d}iJqf~90J`nJzhxAZQ7H+^~n>V;faplj~Y7FqyXYKq-*Sc$1` z_3o^x1Oqeg zEXb2r>Y&lW9(Ia7JTs^wL#r2VFU+ztb#}5S;dPNKIuqp4$$*zHn{NCd>TCqjGF4GY zY>Lrvz|m55_QTUs_4tnHR0oJ9W-y&JhHW8EWf5CK28yL-Fp?EdZz`@ZPYfxYWwGh~ zMbj6$i#=5rTWso%w>vhEzYAVQL#_+flCuKBsxzu>Q|2bq8~zxpJi@&@@q6|+5{qvl zT+3}P;Pyn3u=-?})r1P}SO%~G)D&-2e(lVO*@M&lOFQ!(_q>{-t}m}lm%piw_>^0Ddw6El!wU(s z3)R@8q9tw7-i_jo*J4MuryBfD?c{+PLUq-{3k&AXagf*Q2(zyZZcprRkK7a-`1g~? z2dJPsQG%xuZcj!o-{b+`{hiiJ4d#w)lI_F+AL(Rk66>ab)y?9I4zGLmj*RdRiv(=cdRM(Bft3v4G{X{DYDuZsD;(4BviG+KVopUoxNQ z)B&cS;DOxR3-4F*u-|ZgG1c+{(gt#bYilqU(Ve{*W1oMGN&eqZ*?QO|Ci$X0r9|j) zOvAhDvpajjH6&SCJ)9Wlq5ZB0bmZ9!k~@2HjB8_hMqJ)@ypu(dq=ducp-&y1J$6F_ z`B}WgPWa&_^cknW~4_(Y_2pdsARYDoVd=5>txRHJ6P8>jtpd!jf zaZSW1(u8CWji8(YV{=a_bcc{4oIMX1vQXC0(!arlTMKEA!H5wa3)DnY7jlC-2dRrB z^|HZwoA42#S#Mq|VFxw^Pdx03^Y9noPuM7tVyCUxi=5DduBatv2Jv`uNWJ=({D%za zv37=^cd_<7w6Sg>=3}?ml^Dn_kHY>Z8at;!`~X+R44b`}zwgm5hFVT|WCYzd^N4Uv956 znD5{>2c6Fr>^!zYxIt+U$Y}O0he%U}+uzXi5h`iz+1(fnA*qj#vEjzr$*3j|5Vmki zxg-Rd&JFHm2|8dz=GyOX8fY3_>1<*f^FZaso63RhRxnZ!8*8sOpOG#4I8V^9V`%AX z_f}REH70Gk`6Xwd_m$`=yXfyy1gB=Tr8g|02GKA@rzbA8ZBG`R$5`^{0*Xjd;xmc_e+1FzjHXd1_Nxb0a6`cyh z`&EaG#?-~C!}`#}e8$s)@wXEpR`1^?RdlsycY>NwFoRo)aY}NQqpPYN8IWif9zYt3 z*@wGJ_IRNOV%q)`mf#&6Z{I2;2m>EAkz>Y?2#tYf!r%8{h?*^j<0~X)JTET^6%9M@ zZ%@<5hKH;u*sQw?n^?s=?AoQ_`{Gsyv{HzU%(b!pRF3+Bga+WkV(imaJ#}LnBmrHH4w}%WFWz;c5T5kK_TPi zwvUP~w$@&nuO!}o0DRC7ZYAb`p_PUiQ$}m`8LxH_AYT=G z+hll2H~PI@CLW%oxgoX+;?9i=&}&6ABu(!2N%|rTZIpDO73Hs zPM*t&dX};Y2fO^mbfPyr?}bomFc%L#z#=Nvt3MsK$KJB3V!+=loNa$ISA#Zc&>l}q z{~Zx~$q5y->+4`z8*}~&M4Q%uV*0xJEdZs>ZnG4X6jqJ~WM}`qXnesI=)@mzg(r~q z!H4kZGNZ8ZWz6~fAb*3top3-+>}H;BKS)FwIFCUxzr=4r%COczb;(~F{mA^qH_Huv z3*c(3e)V?xrtZhQa$wrf_i5;t0MOjdN6}}AB?vJvQ_!d$r7;$24<05aj5vXP-c>{x zftqG%1JdPKv4T3sWhI~*RYJtmOeeZ`+dsb9*yYESb@9u<+|_+-ciRno`53+Ib!W9+ z!|3;fj}xiX*@avrU=D!^H|^YQX^Xt}AR>CI$KY8X^j7AFLIub6PMAax%jzPMM!?Zx zLCIM8B@rUBMyRJJJys(zo)S*9+B9>K@?t`V=e#^B7uefzr|KlI*8r??N3tHGA#V^6 zXjp_O<-Ejo7nPt!1slTfX4JmSe#npymx^fh^)7ikG3r(HsL)Z{pf_FW3n%qM4q@=5 zb2jzvh-_p$OLGZ*|GdFrzzwi|4G~X$zYA^d$*y-T9Feh1k3Sy0~kale|I-TRi-9E?6EV`AV5+aiywE&9_-Z}diK26RU@{lmu zLqoXkFws`BE+i@PV1w`8h4h_qr;-7!4v&OW0SFw@nT$or)=g9qO4@HAq1!rU6>{lj zoaJAQ5KtQQQY2;MpG>&1SR0XCUx*FA;gfQ@4$SYShj?J64ow{+E~RB_v?-Wbc&t4Y zU6i;NNBnK_-#epa1p7VZr)K5tqFunHdIZ^hD=l9&Mb_J?1wAz~b8?p9!9l@b2@;kv z`XybSLA6Q-z-|ey=XmA|+7Bue5Q>DTOCI#Qb%&GbkINKqAol(nLZ)P{DPOr2cpDoY3VtBroze}e5hWu(C z%w8HfzhS5rUYt1na$$%#Bg-kuOxamb7I%Yp&ObmhKMAp@r8^GHUYI>H|W?nluwZ>D=K6utG`8LF-NG;`OO4%WKX&e_;kgAKE z-H~)B63X1qKYR!*!!nU=K7fdWJ_S$k7*$U2?&4U!BBo{&Mr+@MGyQ|UQeuHFwG=wWhuc8sW9#V7v<& zJ<27j!!mWPU-%GsztQ|~GNku=ER%e`D={n?;(rfKS=1^4bPJcYmok`@z zR*>^*k;(tmB2$X|QLN6#rZY)98@DeB{*`xA9F`Fu&~~<{Q-SYaq#!zuZc<$vU6gmQhN+X`e_s1iKVoZ$c0MkA z^b7RJRe*gQF=Lr zVq96KVllQl)c=W`#j~3)h#p8*`}o2LWPJo_3jDCH)w#MD!y( z!yiVSi~=eqh;{0~7R;qQoB&Gy_Ys;Y)nk3jEP_rt+<{3ZgIO8iA}>+LBh-0H)dRbR zy+Py29$xHNME@9c9M|R3ae=0|pu1{Hr?Xz&3ESBep>j8(C)g6S<_{HQ{PEP<#{tp} zdD*XA_3D`&4B36T&EryWM<5DUnsGl|i7mm#JD)iGHAsD*HloEm@Ck_}M| z)AU0)5w^dCY*zDNdhA;wckbp)9=bXiGqT3^>nr`@pWCw(3EN+~e#+i@2XQVMY9z!_ zNad0|iD#s22Yc|DB8JBX#ko+c=sFtWp7y@j4Iu%5Sq>z5G;BzzY zNIZM?dHDE=8Uo|3&_gxUD{HQcX ze6f5fD3V>%z9Gx$Kkig^r&kY$S?q3}OE^ zTF6kW7!$SfR++Vtu^Z+{Fl@)cjctsn=4&K9v4RIG5O+ykW?5`rDljEZtmkD|5=e_l zrqAsL#!gVMZUj!sw==J9u!4S4xKCrz@A$xtP`pQbG z_PUUkUzEzcxWdw0Q)OjgVXM*VJ~!_|<04jDYh~l~B`T&H&zWWxNf?2WDnGqCK@Gmz!dD7Z6XBIW7Ng-(-LE+kgJW?HwYnqU6*ZV$DmvOND(oUP5?TI!*! zx@rwBrMryT(%j^zIZY`P!sI45;bgZN<`{FJj~51B%|bPjB{oNKNgT8h7A}R6NV|c5{qtzkJwU> z0BKzO5O&Z-I?J)Ti}T7mP1%v7v`MGOfMCI}9WoBjfaKrHQ**G7MRVvDP#Bg$-GEXl zunHYpZ3#PD$dO_(nD>!?M5G+@Jy0TAP{34KlAIJ(Yld0lx*tcV1GpIq5k{s9$1Md< z-4g5zMRzHgXUn-XK^NajO{Rtu=)dOmtxZ1p39+@>9rITP8ulR^4o(o-!3;H3ca+I$ zvBIWRR&EdD1L)>JqgfDBch^vv=Q9Lxt-s;%*yA zXPAh|cUcDo3nLX0E}UZ29vUq1&Nyqt9pryt9O>MYzHZ(@I!U&XBhIt@c@OMlXhiR> z%CFI|A!YTUZ9~ec$P>L?m^*K!*dCHRyNMGn$L)^WT=#CeVI=Sipci;{@8F)o{Qd7= zp;rLQxZu}-+sZmAfJeI6O1nnZKI};OP{slwa|7=pQh=LX;JM-CnTG z-g}|G{r&de{PxOiyWiQm-{GD)KGbG!Ly8L!%n)H?Kmy_XGX<_tq}U*vh+-%JGhW^W z0-`nK%>hA@$h(oryA#RR-rnaw!t>0PDjYHiId}_dt2ac;)AJ zS)!fF0AN#WLWn$4Z$k{6a(I&^&o(-fMdzEX$)Zcl+~?3o=Av*JF!PLD2G>7grv=_U zX3MMO0Q!YaYi?rq+7|B$B(LF?`{xzH@&YgH8l*$S^%m5jq4pKY!^I6G+yXZZB*6#z z*dubA%*Eoi)16za4jcfDG;pWJsZ-{sys85*=DOBQ=&V+`>?2@F01BR{-hj{Gm0B`STGN$3+i?^9C3I3#ZlYr}^a0 zlE@Ci)+hV=wSzk5(2WF7dNu!8Wc!r%#yn1F}x^ zKZlT>LCMUcNzPZKaUcQK{p3ob=2NGmMkgh4w640d{&!X{n*Xdtd7)>DDLq>5l z@uODG0Cy^IBolV#51g6Qfd8J#P%Q9#UeMYDMhD-=sAvFsXLVo8P{p$VTnP5W=pAmi;X0Yr z2_DqBY_I{seG=D+v58BIPaC(n0LDOJJ?)*RD)84aDNtcExCl&Gl-Bo!sFx7L#t;X< z9m(XO@4_jVUWH-ez_tnVAxf^#qNx+htP^X9aJR;=7FY$7TxBD$rsIW!ybfCH8?FpP zBL}N8Id97{a8$|QtXeke)7WE3$SrEP((6hT;6daLf0J#3a_b{^Wn0{Jg54k(Rrd!M zl{mz`T&a_=W}NktCKxT%w=UI3mLDrMjJq5VAZ-V$m&`V+GtB&Ngq>5AU_rX9yVPad zwr$(CZQHi(>auOywr$($TQhSm&a5@(?#KNYD|fEkk$-$a)Pjv4M>k$onbrtt!v3(Y zFVwL@AQ-G?#LwHWa~id@fB{M_ z=su|EepP()EXv&j9I^w9r~{s~QAm9V+5kM-5aCXwlsov@$%$Py9t4@)0_kjPkr@}X zcVt*8e~soi?3mtw(&R`X;Ce8U+99^$2yJxF6FWf7fHg4lUIi7?kp4|Q=U*+!e*%PA zSnkDBY~_!-nGm^?LBtP^ertWM7_lm46r$gIXya#xy&9x=F})4RM8vgCrJ z=885j?>{y&D$l!y13SY}$nEi@!MEb7SOuCtLMp~tqgCqL(k_REiss97ysfPQg7?<=#s=GIleOxnO;Jb`}swJINJh{+2I1z(zLDPb9c{|BZC! zCMuk9S|}z9s~*3s&y*Td0L7>k6lD!_9iohtI74_9=bM_`Sb~o#PTPNaK_GrOG#|QL zFXHsBEM_vnA~A=C46K1E3?uxT4aB-sxZ*B8prF~1s{ts6Mm;g$xg6?x&S>ea!_06e zRNxyR>JT>{!W%I3c7{r)YPql^#W}1sW&q!e{BJl^<28E_cm{q8rTyps}`e60`wB(-(kU{oU{ryiHQu`1SJBAjRMX7heij( zstK4Q6M9Xfz)@Cg!^Pv{QjjB67`6Pv@WKuY&wwy9@)i-y1eZc(z6(=<-n>bh<{Q&q zBMj5x#RomVO%o%DGL?m3x*2A-U(tBT)3}=fkZa?BH^szHBg#iw1a%ab4whnbF;7mr zOM02KIHAi27kV-I5&_2b7!@{0HELyg@<4 zfAyUNs`tJ^UQEI;`D<4@fQ%MIx(x~<=_Vhoy4L8us2C(%!EFuOI6dEy`r-8*H zPL*OJe7KSZw2KRUEQ<5|h^#|L=cY6jJcS9>(eZAy!z$9&QEM~ydrYlU1Lx5mAYv3y zM4tf!yKo0%0|tYkf{_q=4=`DqPRhNPAle?`mX7N)NjPERX2fZgua3_m2sUx63r>bV zRl6j|j$9IroV{=uxn6L z?-D@Xw$^qZ8uAmJDzvHK`S75Fdh}JSN+KPP7%&a`Is_5jDli{H z`E#&vkH~97@uKQBU&w>9lL>36lYk6M9BQDTTcfHUv$WrwR8@`^Qcr&16&`N%yZXEZC7P)L&5rGAG}y^^{G`@mN2L~Knd7b|_!umeHv zgzx|>u4wN_Z%ppnwtzXD;W>)=HFv{`CsmV(J?15?ApR35wE)s93o38pc= zh9?lie@KtgyNUAb8cM>c1ZbBKK7jft2(fvI3AYh4%4B~17|(w=;3JlRsEYL)+gj$1 zw?z)Nr%`Nrq~vPAHcuosRSz&F@Jb;34VdtNB@`}eE1Zzq76{Q1;B?3xCqlispkqXO7>oW8zMd952iSAD;B_2)6 zh5lp=A?H0>1Ue$G3u##q(4d^xfE_I0$vRd+fp#6Ta$eTPHmHHrfNxkDS;my<@pjDK z3V4yn7?||N)ZAVgPJw+jYH+|IZ|Io>qY?^pfRyM$4n1-i0()IVSn4A^&20W22=LUC z^bB@I%@Rhq1FmoxScBL--?z5IkvPjj%IbiY8QFIK$kk;}lRA7OZ`H#*tN^v#&|ijW zolSerww6OdviG%(gZbm8-3~;l2lqOPAz%HyOYf~+OPvynBTr-*f;2WpPmG^lq_5WnLIPqh{|G(FLmnkHxyj=;Ov;bUnF?3lHMQ@m;TX&=lNV9bv zfyjFXjU?V)rX>$|6s9q7iDnP|dLv7K1SzV*fiG^CHX^I)D07HtDP6^u!17fC%qMP1 zHwCj0QdPF%nU=%i8MKxk*rx7Y+Rt!x+>FO~Xx5C5`Slz|3v|QP)PXBhSG9u{*LrvB zy8Yc!OytNq>Iw%<_ptpP*vEcROk@jt#Gwjkd?O4&f^`gXv?ewMM$Rp(+}!GMDL@N{ zIp5zn=3Nb!Y~Xge;TaJBU+Hd9P0bs9IhFvH&`{*xb%9^qMpGIOGNz!LC{AHc+$*g~ z>mW*V4WjKlsbVjnfDcb`-%bN$Wk`r7hO#ho)h95J9u)_&1+1IgE!H=`LFG45Ca1u- zJhg=QRd_N@Sz+)Za5wsRxQ*mDPst)Su!Zl=St%kgv4!nBI>>mwF!EdHm3KtlyP41R!#QHsmZcOf0YXtiY!dp`i|4CVm3U9mybgKx(D|{O2heP8Y^xBa6 z>KHQ~wR=lKQHT3mlD^18>|P>iwQE8@rUe}4p*o;wn?>#Vr}D6i+OE+RI;iW4ME5)| ztjd@d!CfqMERQBpP@5#QT?)oI9qYUv)WAT+1N>>6UBQ;@T%^KmAV007pxIl#41auSBeLGQGW;k~3>QE1U6I<_ZwJ9vu zHclaIc#c?KqD!u+K)h?Dq=++Vhh)xi2T0Rmhp5krBW=e_@O3Hnkg(Xx5RH?fiI~%k z9%M8pl1+Z%qWb4P83;@lLi@4^31<;Gqu@J_tjes3%ho7h4RWth+=xShG_w`m_ zn9n#)f)j0O7zCi9!Y!kPPflKE7*n4ot6S%b-;8HXq@)`fBV_(JJmM)Jqb7C(V#peM z9p)bQX;xjt3>Wya&O;yqr=hPt=nJsJzBsB37ex>0nx#+a&x=OvO-8V5byU09G0WtU zscaK}!Q-!anClm?YhzS9+0iMUv1fMr>Oq(bX`@X|ny7*s1Mp?VOH&%otERvYVDXQ| zV5S0!zSEmM;?@OY7FJ?18{CON&%AE*Dfo~WvbSXMaBstzRhHspfgF~8W5b@5 z-5h(6mrCqSHel9mkj(~!OZk`#R3&3l3&Q^6Wn`TJ1cP0Pc zu3jCdI?9=i%Lo^=0L@*%YvM=2HJ2meXU>J{PaOEJ%khwpD<@q4FpMnt^gsSxmmXHW zmY}Xo0h$K_uI~rss#;~9eK0oM0T*@vFQDREl+}w}W}qvPyZJP`-(+Q;OKV;+%>x|J zT29cYO6)nSX+DZY2U$@b+caB`e80uf}RXf)ov!ZyZzHyQi)At!N`j1hq-SPUMu`| zn7M!T$o5U-gzhH06d`@ju2=uotibi-)u^Jn2U;Wz%!Qh;rZd>3#b?58M_hdl4BLIbh2<-EO&|fLi$juT_a-@drc_)R3X>h zSjwtMx$f>%*km1oFP9~vfvC{3NL}MaEV1Z8i^h&_GD=y|L#YhIQsY$7Kam*n4YXAU z%jCy}%~`u^O=C0yO>~ty`xI=8ZGt$FateWU?X%uNWur;~W(Xf;cxXg>VLplkd0;hA zXu1Jq1(MC(icB1pCTsF)l_XIJ+2mPUVe82~f8*xWTX<%OypT1yw$%WP4nEN1%8N_n zrqD8g*B7;Wru>xnjLoN#6A3P%kS#)j5v1-bpHV6H_Hvb z@{*`~__xa0%XFuZ^PkGuHl$y_i2kGU<_Ckt=F_7jZwtImPGVaP**S!v6)=|efk^8>uw3Yg z{5L;bT&P{a*IHOy_=nhL!kAERHzGe5Eu^Utp$B_h9(X=dnuse=;fFNb*vN12IWF=H z*@$CB9xsmGZ}K@W5vm`x6XY}m^@yLex-PbBQ0L9&9FQ2aAHR&4;f`^?27!d_gT$_#1PH#;!!Hg zp~#K0=nv{sG->St8(hIK#E!>a{fpF`1smawCYIsiUzIlJYe_s_X>i)++B2ppq6*|& z^-*n5@kt9pEcNDJ{Xxy6?xjIlbM+75?M2TbEg(YKd^r zs|if???U?aGOQ)o8e>`#6IqK=;tT3lb*NC1eb*dH&usze^N6C*in4R@6Ng8V$zWt* zZuj{B_Cn@`{bAJzk%s2)e&2KGGirf`RgMj8QIG533v#pUH5&!Y=Jtk-E%F9XEUW8G z*h=eY6(KxY!)35Ovg#HJGl)^7hJ}vmASVShw97W6g$E6o!?a_S7}r~1h1-Q;;|ky^ zechJy(~RSr)rCjbQ>S$JZJMKUEI!(k?c+8MR*VxcLae-A%yuzv)lZV#PwAamw5AWa zlFzeEuR=oKi_VN4Ca1r?=+wJEI19QmH@`usGf_m*OHG-|{?OX7U1~Jmw^bH#sumIL zcmFY#2Ju;lPsMrc-@|69EV!^RaBNIfuA8V$sID);Say@%gT!185PkqjKaU^lD6rXy(~_CDzOgFLCGvvR)r#vzkzTD8rrmh zzqI@!kU2X_^HWa5=wOlfDOI2&uDGWc)cZ}@8ddH1*!kKcr_d(&~ zhl*@v3q|#KPhm5{iDc!Bdn?vATIj4eN>%!bucL5B=+7+|Sz>zfHlNg~3sYo+QD#A; z^k~R;bTS42QdR$1>c(lKXb%Uf1QlT-c6s&UHx-tt;~iS;D-rE$W!1SiFr)OTh1XNI zkNQe{ATb3X>WHU(d^%90^oh|Uf2Y%F%V;`v*4&4<%yEH*W0bf0%B@m6ptzf6SL21v zjjNu%QYpHSL0+C9#(7u0%rm2XO{BLq+hA@vT#Jga3Ah}>Lj9*CDZq!;-&s<|AUwn9 zWZWb`C4JRQq=D-0dzoy!X&hkqsWC6SePmq2j_JA;I`Yp4^$Wk~eCYg*_EBA*Tu8!my z)2L<#F0d;eY@S~Te+>rTd;xFw!pKVN#yK9whC{m%%wzW*AIr9qC7>BR-+Oz*g7RQxIiBJ&b9)5TY+j7!-;ix z1opTkvguPqJMygp=ZYrh3RM3-^5D%8hM3U@m>~>BwM)~eLvZbcbOm%^>UX4YU>aXw zfu|2Hc$945deWXQyD4ZgdG1rw$|{ZhRJAuuR{Yr_37qzc%}rg!+YLz7>JSI%^I7db zZ8oQLa!J_`J*(yC~f%rdpSqyfu`0YGb!#_6lK0uNw@G~(hg52az@K*Xas$7AI+ z+(@dW1|wIWA(~O^4iGrdb}~t52o*Fs)oI?_S{?IyEDSiKfAySP!mbAJ8c==*dA~Ax z+@)faj8IO8F-pBiP}p-kb1z!vUlIY4X7NNL#%SXFSUZM07%ueEF0qcarYV~$buSd# z^FipQd&lPidP`L5!G%jb{jojznBOuee@nrob%Uk<9QKY&PA9U7Z!pGGNKlrvD%`(N zt;ihs!1{h{eSfEx^t^qukC%uG%z`b{eF(G+R_`yHOb+f#Rko-!P>>maPgTCdw%_ew zyzfDL(LH=dH6jiJ%^I0Z(TA=iUV7B!5c%p5E#!=E*&M;h8gD7GU#i5oQT%yQifK)D zb*Gql$VpAQi8B`hPe~ir) ziMN?;2<>DTZ$BE%EM18RT{{>_P&@7UaPDHr%|}%Qu*@HtdKQiBVwg?190*Y<-++7mmtjv4H{RAL1P8S}%PWoyKesdlDM-#L9_oy@#eXTqE%8=q6Dl~Fud%T*2S zKY6=?4=~X&wRV#WP$P8x+QuTxA_q0_>8! z*$a#Ugt7j!#2gFieat>I1*lepw(~j<=6Qh^#_R`a{hv=%NpREPkwjM3R@C-$eF`yp z@74NlD;gius9cyg?d{6Z`4@nWO19dzB1&2A9VCwzG6feY&-f*BZn63p&phD%tG)E& zWS)Jwem3Dt$OBkFPc0S-+3vBGv94Rw29vdl&Ik<7=T!(KMZ9wP=FD|!xlXf~Z$%PB zMa@UON+r#qH24N>X#~_4V+pm6+4DK?xCmzhE!@Z-ynesi9L3D?aJaSC$~FvvoIRe* zsGm4EoZR>s8#Yl~v{Q+bjH#!o_w(TM)QW6Ht>5qZxc_o6G znQ7eO(g{hrp1Yww%yG*Rr)O!Dd?I;a?!?cwk8?4*hP)R>-B7&ZbkpXYP*4ZbU2K9e z_~h=Ia|vGcm6S@@ zElEHe3q)wY*z%YZI%#2QhdawB3<#=I8(3&kR^?CEslAu{T!uSpZx->s${cOWY1N4> z`c5nvBP%8kYR*Acy#=SRD;VvV_AG9x%b3Jmh5*UlFegx{aJK%iV@$1SBA#Lp&OEDh zO_18qN@r1@S~g3>nMyL$HcUi37&}|LQ?j67&dkcl;ihwDa)$*i>_bObm9JS!cw1EA z-rQCjc&LLoWPVsis|feG0TWJ=;HbOPDh!e57+1`aVJm3f@? z1d9but@9>IY7IykBo1PzYLuQHv?g&H`?~IByOd9^h^HX{sC~yF; zQ55ciK3cK-(XV?bUaME?1o2ej1ny@YEaR+a9 zz}_5WJToBBIs!u6U4Q~i8#xpbR2&DmA0KrO&z`~7(aR3xXCh0}Og-2fzsTp`MWLFNpyS9<3d`QlCCY;zw2OIN6hO!RZSTxS#}8{@i=iCf!jgbOdKO(FU%R8>yV z+C$?D!&SGROuLNhE_2=mPr|IYird`vOVhRMLZ;~-0R^`5KMu#WVb3rT&+x445feix zZt>FKlJhoN({QG7ThzqjS1uCgY`&nOJE}pF&wa+YS}uLWK8daT=qPIdLHnt5 z3ec~i5uZ?Pelff;h|xL>)jGJX-*n<{`?iIt>o^DSV+=H*5@Qos_)lL_9wD+dE^d1mk-u-4`Zf)Q6LsLAj!v zx0b+|UVYjKLDu3yi+Y-LIdq2)qn-RqkfG`m$V*y6EZ>r&`z+w|NS(mDAi!;oY3m*| z9m(5K$j*pQ?|dRTf%FOp)gfRQNo5&GHU4PB%p>I(%cvx8>_Cy>sSrvisxh=^J48cPNYn%riC?7}Bu< zDUqC|mNSV1jW)IPE{t`dlpUp97b8jIeEBTXnKH>gd@?4eM6;j6yQAe=W|4K{+RMs%<8F9xlnD|^|t!&fFlt{r@5FNI(~lyE7!7Tv>6TQ|m5|N8(Xuf;3Wp%~WOmAj6sQCG=GhC(R=I<9 zefK0I4216eD9v?=#WQe05ap}V6=f`<=_2q0G|Id<_ zmIb8$k^a6ZKsUFPe)!cM&&~dy(o6G!RqAjhJ8MZwSh{o&eg4a#v|kRiTOAZ+WXwL9 zlG^d{_Vog6?e`BY4&{dZ06c12BnM~OK@Rb6aVr*|gdH9=^JmRxuJ*h9*P17-K)C$=x5%yp<;Lm%cb}1S z{(nUO=Xx*VgYV(Hqx`4nb$6Fzz)>W4z!9jjlGqms#+K{U;J#CVyuG-_SsrjO(p*+1 zCOaovYuR7#-><-S(LkussGc;>AQFyciU?+nG#!fUsW~Ymk0LB8B%Sc3I~a)S=E_Fv zj}(g5Ab4`v!sb}B+4ELaPzs*O?jSKCWpx%JvJ~=&(vpq@cHIu$pNO3O71@6F;Ie{pJ51uhJL5@5<)$i0gsvpXe1ydk{yJi2CLss^~)R`y+a?C-&d&9Tc`} z5&P4jBsJ+}LPQEdo!Cpwq^@4{C~yA(<)DL`My{MhKI^p#-gJdt&62jO)B#Hf9C!cJ zfgREaK;fiT3dbWNJN0rqjb4m$EKRB!$4$LLu^)CzbHgKgfSe#Ur+Tv9%fEpDCEkM{ zn_+(as{Nsq68@)^{@(-AMQY$)NK5E{d&Ux^SrUVYh={`AfCWbRfrThj1%RVT_+jes zEJCN^qG&knT@ZS4nxACi*b^buy5 zM1&QgMBy9>vL?Z%xEgOykbF1^NQ(ENF$UwI7^z8$BUN;=;Soi{)43)Ma@XYNPy|DP zm_kEcaE=+gL2oXj_L$~|9Jjb85As5f*fMsGA8P$VgSlLx8gga^0C7<6`w4tFQ$i2Y z_BQhOU(r;=8p4O<>w^ABrrW7YQK6FF+7b9x?*=E!&q)H(J(=$l;i%LZRTS(WLfAu~ zYd+Ge6RrtlVIY?X3;RN04*l|l6&cDvW7(4nX3GXxnGaP{#b0iqx;L~|vI>h}1TJr! zn+t+pu^NzqXnf3Ewu>z)xeT&-sT`%Dh7TK_Dy+I`1i^4D^~g3au6=|YHe(U1n@%T* zfXKjLP9)dPCFk3pM3jD0AT(c{02yCDu|W!Z%n%gP*{~&g>Z`lbbhZp^X69#n`ZCdy zv|6MJ?AaO%<2EP+EBF!TX^<;@sJBA6- z=#Fvy24XS649|Juz%@AXFk};-S8FVxZ0%;!bpo{-b6D3Hp!$Sy1-_!abU0$- zPQgo8-Zo97&>XSaUth*C2&F3`o$KC)r;eXZ9B97?DOC23S^NrloI1EC5p)6%5U&E% zV!+u(nWYBXb@yVvkwx>Ezm~LN9P<=p^#D%CHgOoWi>3Dp73Je3;owYozxCL{VBII$ zx$G@YYM4zF6wx$I5khuEV}mzv_{D)qh=Emazg6!%fmqa4OU9lAJgY*HM;PbcomX=I zHR-Gxi4y*}+Fzm1gU5d~w&Kn;`ec32ZqRh;`^(W)Qi^9IG3v^L;V8>m7F>0*AQi0g zjof5hr^FU94doc4F<;X|VLkkYC{*DYsjWak1`76qq4+JG)GTH2(q1K%tq=%ft2rBK zt{<(6rRs_%7QmX+`)Zadh7xJx;}qw<(Z*8h{H;F=up17KXmO2rUYWy+4D5(AfLDOs zp}G!AK|xYXQ)zDSEX6$2o)O>9X!UrKp@cPGhqG9-BTF%<2D51pjkLJ1IU5I{v zl?fTLBPIaN(^{1rUmRh=@r3LwyRsnav(ZVC0x=QMCIUuh&MF}%iTJ_5Mu!4zR^-8e zWQuw!w!b@_S#xILKxWcvjNxo)pYUBgL|Af|%~3;1foOV-n4Z*xUX|E-fP~W(w6XC~ z-lK?*Vk%l!@=?#SuVO)@2`lP;orFQ3hS)YMF zrPn!CN*exrLr0l@u7D~7z+n`^#1BvTEi45qK{yQ`GJ5-Y77Om&dC%l{T?9@cIzE4E zBMP5`Tu^fKwk}=Dw2%#f{RtiUj}5kBA_Nk;fB&Se;pjPevZB@`I5|!KMD@ASH8$!R z!yKLG`?6aw3c6{3t01D}+qIsfXDPi=Q`$YJfn?mQX)eTu({*z1*_CbInm5N2Nuv@) zNq~cGxgUb;(Q>y>(Rj9lM(zW(cD;jU!zlV0&*4~{W~YY&)6w#KhX~`7k0PA@SqL-( zO46L7-o!j~q~QL{Uqh16J}q$GITptU)zS#Yp$&39w~`$TjjH+!vuI1h0YaCGc&n*L zb@@7R0WKE?`)EhL8^%sQWSK`TQOEj zTT?F;tO!#La~1D@yz&D~90oZf-~1lh2#MQP4F=&DCB0KpN~>HirJ(6mq{unmBiLR>(>N^c zM<7>Tea)m89(4Q7&1$4j=PZ)2*0^p$In=M>DP)^Gq*xJESiXustlUZDax8YTvE#DZ z^NUNsMOfiLHlU(@7h0X&geasHCM2S#z7sXVRl&znySX#@=k^*X0;Z2IPCrgl^5TFa zonoG~)dTu3wVYqTwS{AzKvq7s^k|T#*^9oS#`PbZ#D0e84Vh?p>hwujt@Op|4NL(B z4ZUSc#GkK&F++-cvjS|<<7zkp$rHgit`fx?m;yh4o_|@6eQ9y~B-Vol1XP63yhFT$ zM6uKqukE*{wHi4u|FK*b!IbWO(@|1|JtMlSk^%RYYKg|N3uz6>As~$+e^>YhHO?8?v`POthU;I9C4?lL{vyqs9eE^B$gzpxGf{x$<+VdaCzq~C| zVhBZVzR5Vk-_?*+QZ(PVjMnlxwq;3kBBD=+aI6?bpTtMQiNx{fv$e>4z?AGKa~l%V z{P*JcT0G=d3y$=_qy`u*3#zc(=G(H4O3SS#n8b{=`X)o;NZ!q%k_9|qZzphKeZqS3r6G8WnR#+b5-7nLNPY-)a%APg+NIP&Qz$kl zUqQ2J#WW!?RTjJ?w(F6{K0D^j@lW_9{P5CY;U&swVwE+L3y#r`=^IP;lzQ1j&4t0$Sbv^ccJv!V|O$gPM z#_@r6e{}}o{zM_CaJCVKZKpH~&J?V&(*);Pzz%9>M2cu1&6j%!kb4Oh*plz3e*w;e z2@%*5FB|gb&^58sKm-c1d(?XYP;yZ$V(`tSbiGPk)!jJ4d4cX*L!(pCaoY8W6F zDvPllwx$JlzrpnK3x~?0ss#k! zG)Uuu^VKG-DF)W&8mwvAU(WI<}~maDR<8`YvpYqW@eR8g?% z$qwA6oeHc8AL$%Vxp1gZ11E@s73o}_O9kmX2rmg9;>o)_7Lq6$ajUQ{AYpjCvoKH1 zsmN+D$$pWHbGA@Rjn4d2Zh4hAUr|3M_F#l&WWp>vjxIa$EhVO!TWxW!3v>kWV|%Mq z1MAEzys$2!z=Jw`Gbm9DAVvU0-}g6S(oDjy)O?jTEa-7%qCsRcmFhvJBMb6Ldf*+Y zb6)-{?9k~mozpCu4h8(3R$AplOxI#8jz5En!io>)-fZmAihyP6Z9fTpUTr`9$JpAZ6b{^oNOW`k4PC$1m%E;|=3y>4zvpgW{`Cbph`B5YAh zw#fD}@9NgtkIR;xW!|xXCS^Efvlu5R7pU9A675{6%V?4x-EJis!(#D~%O&W*6)JJ$ zzDUkXtosULLP47+{YJc=tgGLBZ#hG|9{w%-sq{VsD7y|~BXQL7XDo>WU`t2hi`@s_ zBwCo?vQtE%Q>Pc>()tpxXRxNfHU`!Jo1l^vLa(leVOjE(d2B=tHjc+?j)i{J{TJh? z&IPKd20^y=W3#>;s|Bj)v*AH;%BW73JMWTmfE>nHg6XW!jY+aHKY4|SyE^q^eYhEw zC7+`@c5%{@p^AE9k}><0;#dH!;tXORQo@t)c_86E7Q=nhUW=RXdOdW{z)ev~0~uDQ zMCbSJ*??t@yJgLS#`B-wq=kRuxBm)J*BSmm#6uE`LY~+$y1i>T;flsh5-1wPlUWpu zVan$B*!fhv03U*Kqy%~>f^(z-zJwu`#R9qruy<=-Gbu$Re1N<^>cY8P8XU7J&u8xE z`%{>vUGnR*vd~!5cTp#QZFY$gu{$GRVAB^d;6#kHo zAM%~{4`-U{|M%M~>}F{EPp9o)Mq9ShjxDAz+&4>|;m7`}jN%9zxm<4JGl3xR^8x$;EuQPQs zrn=7_#o|plyOs_v#j<1E@szopDd^fv-?V2^k^m2YW>8i==CvJn z6N4NKfR(?%4(2u$o8qbW4vOYR#+KB4bAsZ_Q(}W1m`;k;M+>xOAexuJrdLpM=!4dJ zp_{<73VVZ6EH)exY}UD)8)TuE5lX<6MC1A1tfp(%^c-`h@_VKFkzdWir>eL( zS_ij9-IeH5M@TXu-6&%tTZ!zR-3DmsUeboq*!;cWcsDWVX=uMu*|+7mBE#h)7KH~G zyjR+~Zqm7KJ+9bI$~(6hTr`KbQuM9RT{kj0sSO`AKx^hMSOjMl(T?p9j6IG`j>-i- zlnn1l&12g|o{cq{;_?;sB>p1qFTCLohoJqHF76aiNeoSmAA!&zwq=1DHYW&p)EU79 z9*Q$XGJ-|FwPeQ@pkXO5!&d;W#U$HH3F<;45vpB)NaG#36Tf#nD{0gsgEA89-; z&2N8!OCJJuzy#S$JuDfx4eLaUMnXflJ7|xREPjYMgQ-$i7q0mm80F?C^#zwWn7VQiOZSvki#Ontd-oO( z@u+yIkQ~;C5U*lDt)`-6O|hoNwAND~hnue^+qyJU_{d+0csFLEb`9L+2+>Tw!l&UI zR;Ei>3f}e>88j9O03mYwQJO$odRXZbHjiKYXVMpKVn*c6cB0hv|1H7zhs#@W!ttx+ z=i|rzaeDFphfToQ>c1>Un2p0ZX*i{m9&AEAHxWYzUV>)9ww2}7~ z6mLFU@PFXFdS`ed}Yov$$c$ z`}Ipl@qYj#DjGYu`~&&DnX>7CGrB|U7o$u?b) zv%fym>Xs2{+Io8AZ`$^Zg*xMS2l&!8+LYSrmL92!Rg0D^YuE*XzRUva*smp%5@)`rZ)3j&ncG$x5iHrF?4Pbf8t@GTY z)j2bC)AkC4>U+2kM8k8qFAH@t1NA{@<1;x#s^v94WUBQU9NFV=#|rw5{kKo(JJIrw z;|?nMEA8iei0&PX_Z0WvpKb}ZX zVr1PWmS|--Rduv13Zhu@pit)M@iS2lV|pa{X4W~}!k|-i_C6dtL2B9b!JHS3mKKs7 zePE;jjfn$&@wU?1aAKA^q`vFB43V4MKz;6@XRn%M0b-0AC z4ez|#nVo>$TTe~EpRzAT_X^U}ht~o8pvQ9QoT{Au>DrpA+6WR<#7Pg`$Q{IMC=d8! z^bk}fkO1mnep|B5W9WsS*pLn{JRcgQYN=eLBv_cU|I7_!DxMg78zmf-vA+pms>;!W z=T`O=W@q2;nGlxqu}TOg_w}UY#bplaJr&$JmMK3fq*EvscgTybzN&4#>}4V?@f>J> zy)-)(ko663E%WDj2tcK{#0}g&XM5@5jErn+V0>S(356!@T$LhU!(V;KEt?m%_{{}S zNyAgcPcipb(%UfCc-5&VP$I*E2NT8CZ2gOUzette=CpgP+FXq%mZWgqOU_Ms_C6u+MSIG3D9Z=*>O(tx`Y({qY1;WCS)REh17& zmMoptGl3*KG3M0;=QyCP4_dk|Fg6d5`Gn|}U2I#KXRRm}ER4gB|D-Y^Eqy&RJFA6~ zp5hCP@n4?eNLll@)>JpwhS$(U|5}5krFsF7L_GR7c(=v3+AnggU}}iY)4xM71hr7Bx~Ww zn%x3xcG~kP9<-817%QhM1Hy|8c}iv!xKF~1$Wx6P(sDJ$eq0YQ$zraFCY;|>N>lMI zBy|HJ`|El3K%iLw zBY^)wiWx6eA*2$YbiAJJd{_SKJC7NcvdBgwUdJ#d`o#V=bGgu_M`osGY$SpNvoJR| z273FrT9BX9{zX01=G`%B^HunAr&1QXra_RiB-4c9+m+g4+t@e3^6rhPER819VDVw~ z(uqYl@MWR*NTp?|#Wsp(7PqSywth;^>FY;*N_secBkTBa*>q@5nrDYEPN&SW4b|N30SzZuf|k+#BWd#u_*3 zMT^U|69}uT$=u^VXl7ACie$=#w4hLFZT{qO$|QX!{F}W|rbNXwZ66^lPtIAi;VyL^w2x}k4PWjS_iFIiAELc>h&F^jX{36%VM4F?RzExeT4&zVo4dd z5GmGk*(0*gW7;T;0V=(Ssp%IpTbc@fDsIj zpNq}7mC+;W-k^#IYu8SQ-xy2sc-BIiIr;ynPO&ItLOo=Imk=V6VlWz#qEr(EB?Kiw z8L%&KM6GIG7WlCjwiAjvN)_nwT`i zC$TJ~7z|AcRysq8bO-LNd` zk#11^T^vDPjgg!Dy!(<-J&P`^U_>}+J~pwmELj|0*gv{-p_4qQ0T~Zz9nK1Y&&FJ-c`mepaYpq`EgQ=R^yM7*?uP+Pm!o)pyH^C4id!3NdwpUDadB;20 z$B6=^EED8O<5$jE4>-NLa4JoeK{F=!K^06s|K7DAZ8X-~9$5Uo&_j6$Ou6v_HJa9N zF3qJu&j$0~(QNfXXw<{&4I07BCiNMetM)du=qL6MI`#1V#V6V8{`xHrsqx!~XVw;Q zX73;C6?!J(3L8Tnnr=hjn63Sx4dzJGY{l5O^(y_AUqp{k+eKmL9-MQI8LyAV@%dWB#{i^D7d%a(syu};)CLc zMj=kp1Ce|wqU2rjnHTWJm8&G{`S5m$c7?N>GBO7)n%1Of!)zn^B*KS-=s_@MsJkgg?x zRf426*gYf>w7-adlZTu4J*}}VXfBab9-z3pV#x%WW_k_5Y?2xM5Zi?g5SEhwdq^KF4c5%1g;jDwT`jXpv1PywzH zo@lA+$?Qp)vf(1Y$deURliP3?6Bp-}=PRnI>@?MyT{F6ibu~>D6{aR{h7l?U*U?KH zMq)F+>2t-%+fGW23l?-0g;Q3M!eulf_);cWekH_lDPXWi>&s)=CwN$)7_^UkTn&5_ zQ#QzkT(W$j1|WGj-!z;3+MHP6axL}@cR&~DFUbASC14s`_sxvmF575PQR$deg|3uf z(K}ivd|nYkPh*lg9U;LgtV-ib(x9I2l?UR_Nztf8(1u*VHJDD)ODE}}6RA8sVG z{Yi|9P_|h)i^vdrF;rbbL}nxv@`bj*I{duqn`QW{w|odD>Zoh#N`jP$j{QSvWNZ20 zVeTb^BONJ)URz21XGcR%em~9<8(W2WAz{Jcif&6ud+?woVvFtgi5zp@T&vwe%`$RRyg&Yldcob&stXz(2g_y~SPt zYEEN#|8-?PMzSemX;J)c+SKsd3HgZy*mOdT4AD9)W=Y%b!EE`_K5xbzf5kZ9v-h@5 z25W1le}kIQBF6(-SAu3bxt( z=j$$fwO9ks!t=}f7UL)SA4hP~fc`tqp~m!2e?u*=$`mWZ9c2e3OoL0Sfw43Ov0gNi zG)zFKW^-vE!c-glAhx0}czlhe-``Cp{j}fg(Y^+V&e7g~Vu;Y)p$edWO~ibm5`$PP zX#aG{3XF4~pM_4evILBFjG5k_D@toNJG1evJ|@gWV#g@|cfOA&k6Ozw zDpgy5&v%^?FK}}Ht&n`0f7v6`t{Fj#PgGay%1)^!lwm+%Es(bvpCB&1uR-jU{KtHn zBxqlRC266Z37-+f$a+U?O(Q?f=c}x3#$21GUjqb9CVF13=(n6>Po4d6m2-tsaj2ql zs7A1aaK1_-e5VrcX(B4}bbgReS{l$D-!W&M17&rJ7rB8P^{|WSR zGu|gcZ}LN2@To=|kpAGI;NZw29v;w@(Bx+NJDxg4cTx>~_O(48iQoqV4jmw)T_Fqv z_5Mi~s>D!;lrp=-IT8U z3OXe;^x|jq1|l0E1k-GRRuCpD`$oT&Ch7w&+>>>S^w?1g6VRxMa}Xjf7A7`fQaiy9 zZKA`-N%e(Y=pf|HH7}1@*pFCXifF-wtR&EJL8?u}m?Wc7tqr$eG>xc>hF#lz|V+7-9BA!Y6kiy zqWQDH=LJW+_csoV+yL6^mwVGm<8K2xtzDU>ek7R?EGLSklX9oChVtOQNOm&bs2}h< z#HZ!Pbl)&HiLkU@Hs#ldJ{1l@2a>uS243tkrvZr?*{;87bnB8k$Xxo%x_CCqE^X76 z;1UrAQ4Fcmtt~B^FEsUmWiEp2Kh8qVbmts^MM(`x~fr7OPVVHDB4alZla0AneE*n+O@14#Y zRAa>E%+wI3#PnP&m-UACkLO&QxN?wIaSK^e6ET4jDt0mA=Ap_t;KdBljQ89qhQb*j z$OpZ$K&b7xs>IQoj0mm!)9Y}}`h(r5bV43>rLqv%4H%vFK-y4e{XFdndHf>xP<24; z_LW|V=>p~Ju=vE;y#kxf`#qWrew7#!#|$KMz^_th^M%S3XTz#)FJ(SzQGFo)P`!W<@G&@evW*#wc;Mlr%w)tRY3!tDzTMer?5dqtVw z!y_Ojt`Gb*${Z`Bz92qDjDc|4f`hPv7%@Wb+Gt0v$r6K999K=i~^wLsK*P=mKr1-Dpf5r2Wv z^`zC@c~SPF8ByrxhMNRlR79b#?sCqNx3NwXBh`0mHH`4EHL%9*eU8tz6`Ig}cDaCt zBXUaXrRYyXm?d)1m70rS0_cXt%*r-86|hz zXV^oY^C@c5QL#FpA18!#gEIl!H)g3Ha(~YyVGdV+u#*7nCS=|X0ax@z2>6=#pbbIl z)~BowA`cBesQLA`_0Z?;Xy~{Ae4IZIi28wG8*t|y{H4G5t4I{f&FYJ9Zpj2&8w_9Y zPmSpt>O(ZSg$AcgN0_pabhZYX#3-jASe4{E*jVqzBH^0`Bm7+E!k`RfP!0TwmfH#EZj-(5(bU*dQ8_Bh{A^!q2bOg_MNd%e4$ zK2SFY>bHzJLG)k)>_U06B$S)p%tie_-Y6faUt&wL0l2rWuMopri-a;cSB^}BI`@o! z6s84h4m`MMJjeZ`LaolmJ|dF#Ii7rFM@y3P09Pc-a=)``&mc|2jbhVCm)E@Wl#G6n z;!BKDQKyP*ElNte(TWU8R``hWDVR@`DTLBUgYn~zsyXwK&3|y1h*TaMP@bv`R4vwz zC5ZQs7pKmQd#U#uaHKXRv`|L3g!3B5i?Y^m9d$(pNytU^BZt=$gwseMBI^f@ftRL% zE)J>Kho31>$oabysUw;~5#kDp|6-nqUq0)Q=hCgmRgq{=Bq2=7&^6F2P)HiqSL{ke zn~hhMmP)##bf8E)p$mJFBZns1q13GhSvYV$l*m=uUhEGD^TbN6&6z(0m@T|sT>@5> ziz^BCYaXBQ&U@Mj_G^uE+Wk8~zz{=C{F(#ISQLvp2=@D6nU8OyOe+pE@gay=+{JNq zrVxJ@DZmb$5r`nJ4S^tiVKQjZ1WE48q!CIP)M$Xhh+?XQ4ez3%)+y0|#g>8ga=^4i zn%Kve1z3r&ZV_zNi7yS{7Qo~EezI3!=|ijs$w4$5lr}`|BA)T*4|}?;H;;k3=38#P zR{rF8(}3}^aY}h`k*bG)`L-42hQ2AJ=bm>s(obK8d02)FyI@TVU0(Y4uyCh~}{Y=6o^O5`7EQus@smp}#&cf^#NFB3;K}eSR4Ydoo&P z6dR2%@XDlI8#J&W5WlVxXK>8UE$r-3nX0w-70%VC8rvG5%rdUu*u%vqd>WAvz>gwg zF-JDJr7XKi`yhaV;RMDZZlE&`NG^}d4acMGDW4DZx-3Z0EJ?`h&rJY{HH`jFF7gjo z&6@WR(L%vCtz{n=m-}s4Iq^F<>|+o!dVc**9o&F;N~iGxe)PnO z&L6o*PK`AfN(FqH(9CD$^a4ZFlOu^{MLrm4E!Q}`@)nc#ygh-t| zNr3QsU#9R(Drz z@wUAly4S8uM9b_6%JcLT%(1p+%C@}$y-xLV(%KzQH$X8yI+ZiAV{hNKEy!p=k7G5x zYC+$1LlujHq}hr^N9)j@E34@&6>q5`I{A!X?f4a-C=}ECI!Bf1vTYVll!`->) zB{LL8WsD780(C4{N11@0TFM7!L5(vpTQYPHON=iAWa6d`qZtX*_u+mg5&x(i{>QSN z)+Iq3!UB~<(yEWHIvCahS0-s?kYxN(Cc$uY{_2bnj*^~O6do$VrASOhc+GRbED#Tn5kncpqX|~5W~o8clIxzV zCT58Wb%uQDxgGbM=gMZh;vN;})se7y1P%tlq8k>~CH|zINmfw*zI9z<;<1x2$_}(x z1>f}wGGUe}by~%{Er{THzx?*~-dsu|<;rc_{O==AZKTkrxPbnylFJltM0Za_U`y)0 zP~dH(yDPJQ_>FOhw%66GJ384jXLm?2zS`K6e<(Dnvb&qdT@$eb=wVZz``ylf)2MhM z>COljLO&H~6uZcA0~(74707wPFN#JD3Y|b}Qe)!vc)(gEyX{LKS++=df4vu-IHNnF zOWK7v0L)TQv|djFGaP9avkDWV+f&Qbt+fF5Y!MB#3!mVl_a0G3fb$)P6uiJkPuLG1 zKO_AVJpM;tSTEjFBmI^ci=?_h0$3f*1Q|%-FN3@{%mou2{;kW63}0pQ9-ml%cgoqn z_L3p&)*+_pq*wQnNZOHMW*PL{kcZ~sWSsChR}#gqLfcnHZyzCT2Wf;46+c7`#i^dC zr56(tTzni_f^VhGpb`?|Gza7inhzsWSxy&={v#IB8Qm!W-R7A-B*Ube<7MmZr zU2@pQ%YeI-2ZM^E0t}Cmi-xS4(Qf5;z0(J~K2{H@=C;&q!rVPnkpZMYOikOE^%?`N z2m`5)aPU4-tley_5N^zEx@gJNiK56fC-HO|2GHje@vw1W{nj|&A`HS!2NE)(nD8)` z%lO}aP6>Uy_FLwXmiI-fdic!M(0yR4e1xie#Hzl6H9ooP|G9&x&EkMoj`4G^RFz2m z^tTyfiH)OL#q0``i-^M;wn?BC5)usCpq60F3_-w=G^g0&qWw7T#&k>x_Ruuol5~s~ihzEQDgawnxUE!6UU-W|EwEYN z3mMZDGH6ehr2JPxLJJ8;`P*{F*`F9^tSYSOKzQYQMRkPBWc^~qL)*B-nMgoXeMwbG zkxu2w2|3749$kWmzTMrX zIJz!mRDI0Uh+*>Vn6Pej%p{yk)+qa{Jq;o%W*4{MTesl573%bFReRe1x)~kEPd1kO z`*0RXz;;nbrjzqqQtYdje%L^>tE2g#;CYP$a}W{o_U;x`}-<^kt?jjp7pt_;Mo55+cge5b-FD6vPy&vAPZ;q5>IQ>5>>y_Q; zm;S<#S*>bEFG7+%4ra<%3%1s#ZA7bz6FNlYoe=OaQg+M*SK`Sqnd*f#!s94a)cv-_ zH2qSV0nTu3RaOT6Pda5SwsRJ)^D;BgBvQdA6t4I(_1XvIs53(k`#fC>fhW|QuV7s4 zzzXyauiZ^2Ks+T#MQnJnHaOunJo#(|AZkML7i1Ww+ptE}Hue$CxW^iwjO|N0yuFNJl_+4rcTYCXP-&f?xkR{+BVMs;z~oorBH)1Rz8! z$Vv|}{PtdV(XL)zRs}`C14ZQ5k32yYM3EmJtmroD1mIdAODcb-lK20I@kJ_UCHfnI zjDh)P+LM{^2EW!0D5f5-f6y|l`M0qDZV*emGO*n@0rKtav<5yhGIEWMHqXIg-w=|F^k={47RY61h2dg&jAMCKakFE_k_OZ+=iQ; z-atHGHAm1tcvFn}Nlh51_&owVj`PA}jOOFSH1<)wpc*1W>w`*_5%pU!+Gk6@c9H-0 zT>b~aA}WoD3HX^uqaU6k{r@?acFs-~wr2FAZcYvc|55ZJ`R_AHTT{FLLUcqc^~?QG z=)7UTK&c3*s3JUWfrd4Bt-5~8N`#RG;I!EQ`V$s1u2x>P@xsC(`1@j+X4DGENJa){ zX1cQ3?MfD3VprLL$k%2GqoZk*)|O1AGcCcnF_$nJbSTfb;*nsFW`g(~HV?kmu941T zYx5DJ3ANZsLQ%nr^-XTf6hXg7LC(`{QgX1x+ANqzD#COyw|x zxZg%fHy(EUNSN<0EFZ!A)fDg0MkaHSHLf!zs+C1+hkeGt`c~7Y_?+^-k{OEY(Qc?A zul>{n9c@Zrp{0frb`{9Ue>&jCA8i7%v`@G8CqjVo0A8s=XQ<>99^lF%v{*J}$bpj2 zlV}lA^~avLRBFa!w5yNclM2%M<5e{$cxj=F=BdSq=-ClU@^%53hOQTc{6tw3!(5jC zpR32c*hbIsqp?DR_p4Xgz->%)Sd>(UKcYy7&_23O)dWi6~AhnN-V2%gI z^!Y$>VF+pV%eJr#a0UTyV^kWJf*71{W1(}w0V=$Nt)>{F8cJ#j0^~>ilwhUB#+p(+ zRHT1k_M%w0h?@u8H1>VFgG*y6+*pG6yo7D>5@YSCUQ+@_!3GLTX_Y564%&aprd&Cb zXU7t1)M!ry0@`G`{I;hx&|p_*MjMi}str-rR5mEpg#Ia#MvSGJq{`@RmDg?@+3e`b zC3;N_9mz}&JY%#aI&EF;)e|psc!teqoRf7awQp9uiVM>f-u7!_m@9bxCFa&ref$Zz zrJI=xVsg0@w9{wD1~zoklHy#s^9{-w7GvGikJ{pJhFcEaN=5a2T7^srvzq@btRy^C zm}bQCD)VCm8tMVjw{Z`4#Qz-Ob|;{x#M_+91_f1h8);W}xCOz9Sl%slg#XYwRyl_0~~(PU#lv1HmBgLYtx zPw|!2WE}~$d$?2|d#rhGBWBj>F0fz7y^c(MBoL#8iFJ?PN|~BCH<_ckI+8}35|YCr zZy>SzgAFFRqBb`3iETr+qOc@J$iR2DoPXq5Q)JMbuSn=Rx{4U>JU^S9TGyT!S7+0H zMz658%9A^BBfzh)wciAFT^jcon?5oMkMvZ7bO|pgF#2WR13Duh7^-)nQ04cl0_-Y( z2tt*+l&F6P7pZz;@hLb;_d_`<_u+Ynf4}!yRC0s~Q^6Z)49DJ9Mc^NBqCzlK?UGad zNUBizMC6vI4L3#P9-z~7hM3U1_mmk*ReU1RQ*zLgB2)PU!%*1{yCig=X~(3>jI(Hd z&=d^Z`)@T_X#C?_TuL!nE4EM)#o1IPDLN~;*b&cbo#za+Tou)}ky{rM12~lvOol!r z2RGLU;?GA>8jY^KaTd`-KGyT_xSoX1cp4ikKh^l0_pPJW)pD55#!3)#xCXFbU$+^Q zuArDKW1Qbgxi=ST{n*ttWt(t!uES5^E;2XFX-gW(JTE0NGuYY871fIgt6*JIyILq> zsXbIkn!C6Ep`Np!jBZW~6AI6|iSnTIB!#;vMv-=ub4i4=Yx*Z(Q~p@h6kTm$yxLt_ zQ%eV-TgDWJF#tDzad)nH6xP3Re6k)27w|*DGWB`3K5ErOzD}`$m@&Ba3IpKRZjxI* z6V|M|dR^xkqniYL_qS>IzjjwA?lTYh>H`D&YxqRsZzIF$Txl&nTth>qNY2k1R6Fk9jVakU!H(9lnn&0gL^1O72 zkscS5il>^&C`4A_LUyFkvbF2U)DQnKn4x&!-aIabIIB)BY}j-9`Fctgyrgl59Mg#5 zbj4s#?oj@+oY(`;?wfRlMHW3le?_U^G5SRI?z4IY{N4MJ{%+D2b=r$9K(`C$(?RsS zBL^VtpoQMnq>Xs)Q|zFR0#teYV=q0pVqN}SjQkGKH0r!_-wNif`l{v_fd0n0C`Hz6 z=*aBicX>kbz;ApCc!k4jcmgqYo?3ZGJh6!ST^_EdYkY4XFIp8P6Qdc0R4%Dz-d@n& z0r4^sacqh6M_<%;{!Cb%U)J0IGtFLGoEV1xyVDr0mVhS_W34FwF13C>^z5J5KkV8E z*Y|zEXxV~BH#2pc3E3xvHCCGk;xzIv^~4*p zojiAHK9kuEiWA!=r4#MTw*#}CUze2xTEPME^HH{H=W2*zN=<5T<4MvSeK1>Q@^LaB<6~hQgEZPFMjI5UaxS&L2t*+hAfc?*LOmVZU`IuA)0E3DBh!E4cce|i?rq4wXvAc@wa(j#^O4W02xkh_l)M#mvp7vO=jUD{|0MNheryy}^(XWzP6s&A(ZICGONj2q$DAYtewgC&hYeuD(^ycf%1byXK%iOm zMv0^8XfmUvB--7DhUKj2uY>SK&HR$Qt-^ zX3Y|JQ&lCS%j>X`U3)r8(uGs!IJTHg~~Al%sawis~4E#;2JPh}ah^?}5JtPy6BA}iT5%6zPggxf0R@@eh~ zmigNMK(?a+ph=oGbfs3`voKWlR#fVIn?lgTux|$$t5IPx%O(B!%@OVT*$%X2V9Mze z9s#dHZ?_};w-!%XSW{&x1>sRz6loUBD%r3S{sQ9JF|aKiz%wV4vi4@x_Zs@n{N}+r zit?8IX(hRfk7dI#G00`yDLJzhVv6Kh^<1-G%)iCwlrs;dBp{9IHuXFsu-qt6laamq&a!CP+xgS=NGxbL-0~0ztdPW6meriBfs(JT zvcG!XjcppaP_21V6i^Don9Bu%_k!p(h-5S~hwW0lC2)5s_1h;UWkDDgQ%)8zhrX)k_@nV;1M;_fC zY!3uqesK>0Sx}BfBpIrNRIsViNRYM>$PF3P|E#5t5C`8oVDr@njq|l$e4^>{TXhA!*eb(c7u- z>5bgpuHGh5$dgk1E$}u4yXd-*UK8+wu+gKZC3Q-vtDoq^wO{-P48TWvLhO1?tGI`1 z*;Teon;nat1>mF>zxXU-Z@!mZc`x1fggYT9MRH0=t#+Y`E2yEEKmYN6sQe*oR-PA| z!gK`YLR{RUf*cf)e)#X9o=d{_Ucgx3Cn8OLJWVDjKoyC#F0EOQzn&!D%T8+a!WPSL zQ;D)80|LAL`Ij7uLm!ZLocWSr_Yy??p&a_l5dF7uBCQTN{yzhW&>lfZ4fMV0c5|Aj zBWu!r;G83G4rE z4MW2zrlR2i=xsu&-^z}62KD&0x<{(*{kM>|PgZTf)K`D`(Y>882-&6pGrItlcR=?@ zp!Q0jHj7)Z6@@p&MZi?;A7sb3x6_+?-LOntXe&~S%B7RCnSiyQv{PKQoZGP2V}z_K z;kpBU`5j&K{*&2_1i)|HKpaBG`ku07$@HL;eK?@C(#G#>o_Z=m_l z|GEEdDt|aM5D+uQ|3z{8zXOeuiSd6+ZvR)XsaALQ!f{6Z?lEpuCpSw>DlXR5vPj&< z(We#%8D?7-%9|dM#i9r`NRUY!p0-WP2E7$ifWgb75YNw&I*d!vVoPyQ2}ZjEk?%rO z`OTxKA~OGCYRaCuEt!`a>pOMh*6Z5);@QhC-}Tiu2o#ea?Bldc?Bldw$fswMxaWXS zb6W_DpV$~Xd5(imDs=B^4lscw&1C&m=x&vBoyGJAGC%kH5xj)x}-;JBK zL+Ib?Azol;h)EU;rcysOLc4u<{5HGS$U*Q?ZiNeW2AOz>27Tyz8i4)`uMS;{2d^3p z?D@gIn{ZHwa1RZQcE5Jy@$L1qA0B4nc})h|A)m8}auff;#qK29_Ws2izgFVB-9@B; zp5H~BEQ4*iaH@`stVPM40lEAJid~S|$$gYpa3Nr@XRIX0+*;Q< z5~l;Q`PjgYWCcGQPK5oXde*@i8SOaN+4&@fCkR@2S)8R%9vfS}EJUnq-K~eKyoGG( zP{OJ9Q!3UpQD=VRL#T-ECCx~=htSkt zVu;&7?y*;zrk-lrwik%A!ph1s`R-UVsnXk+A4*W|lOvOs*pNC+o8m3frR|z{0yFT= z?5%EKoB4;T3LiCAXVj2}vM`Famchu5Gm*MEXQJlsXoBX8n1M^<;-*H^8>ya5r9pYv z2p1}^Z5LWPXap=cNVGK2dyhmFrcBv+>hf@=Wk|rkSpF+2F(a1Ys5ap15MCbVMv_S~( zAkx)e5HP5tG5U(#p;>KaOiq@Ic`QqC%wb%{z*-K0g2CWt%}1~>J>(6v+|Vm-bRA#T z*K0X<0-&w1a-jeAtsQp|)={c=C;@MRYzgpz9lON^>poSk!^Gw|Iqn1v@GcJ^ze@_Z z+4l?@JaLH*xH*8p`%vhQy=@A>KOh(SR0b2qP`hR3d~Xl(8%7?&stcJz zSamx8$jCY#FRg>KWJ8QW&5;zw%wS%$5diHIY-Zvn*IyfdyUPyk6M4exCfI*-OJra& z70%G6s>GeP>p&$*=%qIhiT9z`kAEu;<~xuJ1vgV<$z&2``HyD5H>?bGzb0vB*`3e( z58Z+#Q;n%&$iW$anb`@O8*UqTQ)<`n5~i=`o%-vzpBnlr#+Sm4eW!3Y*KIk_m(op^ z;5%iH|0me{#w)yzlOo)4cXV*0CS~F_HS%-Rl#(3`ZZLF8%|cIMCQC(-qfq^j>(NKk zC&sGdAn2(MN%8j>g@Px_h4Q8Llth=6 zlAVJs!<;LrWPU>}7V9*e_@2Lhy0pz!B|Ti2ru^wq$5tjL#zLkaUvW9kG?!&iS<^1n z;qyAfTq4Fg9$}$3#P0I5je$`|92gIMuHx#_ z8lC#K=SWR+)4FWZiW7yGn=T z>-pj1^5in>>v`42Hwa`QI1a}o8~VLP%oevcs#|7f%`|g+0vu4I>#X%kVH%;C=c|Z} zj)w|}0`z>A$lBg2V??<+4dY{aYRp@g@giqW1X>+Aq&tTM5wR7U$|lZtDlHT#z1)wD zVet6-edKmytUcSy2;9xErh?)1LzwE9&76*pnTttbFB*A=Kw=zXbC{Hb%Y#&YARuP)j&E$0;K`AhaB3Fz19Ke8 zYBN+(AIyv_`HmeK{!OWwO8_?aH*BN3=#v}@QfI&s_Le@jv55^EG;QdT?z1*0^95US zbY%x9!QpS9(Fm$umf|Te@q2zd@^3f~L;+B20S-|gF#y#~=lyf(-PdE+r`V3&#HQ;5 zUq+X@Hyz-#95mfO=4%(hh3 zt?))S)TZA6wi)25<#spn#`xqg3PwzXwWv_{oBehwlpHb1vNNBgkeD|78q6=&<2T`t z*l&hO576W_y9p>wCr(b)pTRMkL`=BCoxv9zrbav)XaJL9dand_qExY7nqWQK zS6$AH7v@(^2upqQRy*FX?ghY&ZFWXtW(JbQniVxlAGB~vupcVyz-w{Fm2gkr?5qZa z`;S9iVv&49*cmF?gdrsok_mO^u)6Er7br5qPg*wi*YvC9u62~pGvoxCt^M2sbeOtR zu^WL^yQIFZge|b+81|f5BdOm&whLBf&)sZmFw!2K{c0ouHYRNV&n%%>lw`7`ZW@za zBgpd*Wd<;!%Ll`53~o1!qLo$uci+!@NrsNRK5bNe-MiKRu65+f4cANwYUb$qna9B> z=zU|-9GH$AOkI()ri9A6)KW$n7q7^JM+g`vZ}1L>b{M7!mVVx$ONP2EK~0gDRl#on zrHG6xJf=iWi#L%!X%c_p2*KoGRM;whfa4@q`kx24@67Q~+*BoOeKa+*1}d63D~gVn zsghvnA*rPaog%etiE)jHad*fZf?Rwk?5GV}E$V0`ILpUhC$l z0W}NC{8a-RgAlg5MvIvhCzwgI*@!VM)GH=Hj@KukCu#Kn%HyI4<2LmGD`&W475lW} zZr3oJ)rD?Hzh~H0GmU-=U;v@h-t^0?*W3dN&7WCv`;=iYyyTl>Yddwo`2jtk>IS2A zU{#)B;mEHRB-RX`IsIyxi(ZrBj?2^5uQQ^{-?RtYo>|?4-%f-3S0=gM zo`~5Tzd7=3e|)!xf{>OffY{_@xH%B-i&SkxzB$QD$p>rQ`_<(TS?LJuJ^@RWP7UP~ z-kz|Vnn4ZK6FJL2wpAThYl7475Q;YI(NL9n2Q*>+NAGl-Q_}W9GvWS&P)BQsddg0p zuvR>M)yVNSL0r{M*L1<__5Tor4?VOaI{s-jVT1l(Br*TrRQBii-=;m@N|UyW0w}!f z0Bfc;IF?7zMe%`2_a;Q7&ODInCDkP<;N)g(v2sPrz$=2UGVQp$WQ{uGesRLeuJVs63FoBKi*~P-8TtuY`-n8kJM6S)uXPPd}ueB84!20d7E$J4ulz z37{>?>pORSW*vHw8d}(hjM)Q_55dtq1^0G! zy9~+kC>12;dmE2s1lh+ITCphNgN(S-G zVfdOm7TOnUTVo})@pQs z77?^uo)z@|BlfiF!j$;k1-&!lvpeeXFo}F2iQJXyFyaEWDQEhYByXVd_NVDpo%FIi z9s?BvX6tzIcopU_{$TS*fE?*D*#O?r3mVsF{Hm5=)|`@37|InW`r6Q65=E1fl-s0% z=Wnyv1G>lqNV{W_7OXbG#InLl#FYEpjJq&^gftZ>(OEcq$$GUu)wU(;NKsN}Ca!;GSpYULlW+M*8QR zNapdSqU3_eN8byL!1D)0yWKa!vh~|vkesY6DY&wClcnDa>hD(45amUpM69C1ySh|m zTkhQ9Lt|RWkw*5)MY3XXm}6u@jYigP%~?h~%R@hjOi2vMJE9~cZe5Y?K?ir2mo3Jk zuo(^B2kwFdw7X>dA6kOQ2g7YZhiu@;Zly`T=<3S`&b#HWGtnJ%zW=#wOZ#K<8t7ZpRM>^9G< zy2LdA@d^VH<;?Vm5z*L~)=C6HEtjX=4}q%)rJVgSBR#_Th50KIVXN@uhCK7fc}`+N zcdtBPtEEEW;V6n#alljHtO%w0>jummh!qRbu7*@5eX`fX+8GPOO#Aa^Yi09X)6vORQZe@-v9bT=4W?=;It-mHzBA4FOwOnzjU?ADnNLZ`I+kU}1l#TZ z!m5{4n@TePFN&ZM|EV6hGVpMk4neZ6lU^z=P9+XR#RF>cbgF~XPfR-U=qC`t+^KwN zI*3^~$yPg<->J~=##mgLvy3AeEAxT66RDWqjgBX#b}c{{PSToXMKi4JacGA!7VktJ z>mp)ng%da*j8O+&Or(dhX4=#=(l~8QjB`%1beOp9);mf7wjm9~*~)Z@4DW``Yw=^B zG8hV4S8fMfY13LmmlrrS3zM46Xqh=u7)INp;?dZ6!;N6WK}SJWdaF>w{>1ZuN$BQiM-0K0e}=~c6>jkFp4gry z+XGYXlfYfko+g5lTUWrtfYf=Z1I+UWwr2{;{o^`{oEmYv1G#j%uvsbx%>x~eq~)JS z$h>uqM%GlDZXLLl%DlU+j}(Zg1WEKaIj_m_Jl{fO8QnF&GIQ!M3g)VYRv`Ui4%$NN zNLpzc_Jd+9aFzk&&u3w~bup46&NzvCh(k^?lJxL;UhtB*H+`LuaW|n(8$#N}FMcth zZeh}HVx=}sx})N^a{0V@i%+j1F?Rb*`Csf}W+|Z?&gXe@{LW`?IP#}U(I-yl{hHaf z1U{%VGiTIXJp}S0#f~C|{8vk7V&@Oay>h=;$`)mpN*AYT7~$sOaeYH(FIb}F&tIW? zDh?buCcn~A>mqrLldc>FigzC)I7Ue}BgmbzPK@@5a-J8%q&@_#j=yBE|%b`xX~h3hod2LH!&8^Zi(f!AI*&952$jv= zHYWC~@C z;5~l_cu=K;NQvKSJx@X?qZ!2X(RnnPX(=`o{g(w;(%*FV^nmC%V&GI8Lx5@bTPAe4 zLgv4Bh_`LKZgR#}g~QLtU?N-B)@q;~Bhb97o^IwtB{|l}%?-;SxqF=oR$>o57|dEI zg-s#jwEI3~5HR>kxuI?>jNC zcL8IJe0>Lsqi#{7Ax2(tqX#i}ps|B7cZ5z7-u<8Ol#ENMm9S6Q4W~L*W%TM;=aZu0 z|L~L_s4*k0P;GDa=fOuv-j3)cP6T7A@$8P+`u^B|J?t@V!Idj5QT-6A$oO%kc#R3W z@bQ|TJM*nD^*8i!qJX<=A*kh@;z*flf~Qk* z#J_XortC|q>{HV8gV7w2bmRQle~UC9UR)a+jt^5YX=oNn*x9`6q(K2-KFLY9UENlw z2KSffD*&Epe|t7C?Gm;OhT1VhN2Ps>lqcIN_pV@7LWB$*vr08$UE<*oRB-d z@=h)2ho9l=JKA92)EqT6Z3yd%AP&yk&GrO=W%jgUE9W_y_}O?o5B!b?)(ryH4uS^O z*7(R%T32SUyG03-h5td*x_cy-EUC}fK(?Xe(KmJlM(V6`^E$SS;hv!#QlzcsW%iK* zO<5BTSQE%mlM-M<|GJ4&bv>(sMs9&wUek{#Ya}!s8=(88C|$^|$xiSa1>XpU&gH@} zaBviatrTdc4sAT2JHIQ|v*enuq^(Ft^EFbAYUn*dW8v@As5X^Wm2D2MLHb(MM!Y;O zMS)zBVybX1D%%Y-PgxdIF6U%8%g)Q3j!T8ZriD5@_ox4)TtH^SB5xG+Moq6@25*!% zUUO!*VTp-#bH}h@^FNXrK*ki$9HR%?k5!f%5QXn)|=01VQZeD%~>w!_5*!3wrXs!^$ znk}nSx~lxndjFk}i!;1OChs^oL-yMmCL_kg|D^eNq$Akk0O&r?lhwJ3lTW4 zqMusHWc33(?>+<{V5YW^>jTt&Z+xke0~**_1x{|{mB7%W>9Wb2-7+qP}n zwr$(Cb+&EWwr$(CaW>xWd%NS_e(^e9#EcbH74@fLtywcOM~*MMwqX6{_wO=dDk+#1 zc?1&shT?Rfs#S{N?HND0A9xP|KRbvTKdz=GJy_ z6$W}rGdNA5upF*eO3dnRjKJ?sHC@$iS1^fxAN-p|I`E_e`iPZ z;eNY?|8%Q(cr&$TCYocV_4_B*g+OR!2Ukm*yCSwQ7?da0WkUeKMoDP%*)K>jsfDTU z<$2^*91|&BH@rLrY17jSurl)n#1eD9U${sx?_14p6Lx5YYsUK9wJfnj6j#+KnrmWA zG&xc)x$A00d)gpiHdz8UYet*9u;=Lj326niwLpqBM(>^j}Xx3*90OVY!rVb0?L%w;|7n`o?mSh|#``xVgF>ppF% zSvy>5!BV>VfG;y!QcUYJ-lh*nI>yxHPWv*NX5Ol=%$By*XBk(VIO28G$MT z@bqn~ZW&iz9rb-O^%4W0)!cVR7^&vF_8OYNvLc=ljk>ddq;!h{pI6^xS$*EO)cFjn z@J{;@)T;G;*gAV4x72$LtJIwIag;tPQgh|2GrogVG4OYIy+iR@PZS@OOxeXm)N8LuSa@`n$HLF3?Ta=f`H zYL2kTdTR2sZtr*Z?3TNww}X3ulp+54{3bC~2{#B5*^F1&S|{Cvj~-hm2}??Vy`{** zIUr?E%KFu%h^ro`^+i(F5~~{tD^nB{`?n}Be4l*(Jxi}UQrXXW3e zlYuBxE46~m&GXYE1(=VqUD%fT@hHv%vdG`633?JS=Yzp ztz#c)(5)p8raOey)q;_FtUIKCH;bBej-8Bc#VBu&bQH5IA3Oq0Tb*Z8+o6g&MebSp~UmsAsiwkdZD zAG#@bf2Rvj^5s1QQM$Rm6ZopzUnN{1u<>1-07;i0Cp$^0rP69@W0#p8FqZg|$i&dp z%Ntosl;yKr`I}Qnf5n(Avka@SELWzcEK~n=FqN!@tA%N1)wf|r)Leu&#Y8oatf7hy z)iQ+HS2t)XXF;{lRzuIt9bv}bQeXY`;=ZXvz3B8GS(c zc=x3NHMLM6S8B!OKa_Z0o!G(-8}6GECE5zI1lM(Nq7Fl9;K0;E+3BF`B_{i?r%^PO z)G<$^i|3X54IJ=`q+sBsLE18GGU{px2mhH<4mjGuSD@ zF)xQ;9(ZX4Y4{Y3nk=!fj10sukg{O%cCsMCtZp7ngI!PSUv$*bP^k>qmn=HQ`HVP> z)2=9BgVPrygQ3!rkGR>ce>PxVnLMd!@tg)On50Q-X{)q&I*6!PxL7PFEVQrmeJ(^U zJ4peV951i%KOb%(Z{Fy0ER(YT(hnyN*Az@kDKv37D0aWOyYpZB0X@C@7QqIxP z1fWe)PDxEw_4fx*wfbeo$^6D@!z{)44h9m_7YmVyWk~WR)YKaC)OAs)sj4(!yC*6r zvupt>`343K(}4O(B@X)A>aChD)UD;$x$Nc#QZnd($u2VU?5)ewEhQa&j%Bo%i$pQ; zYtkiCI|EG9@bPOO;!=7QI!HT9Tkw$)mT=O5dZgeF2{K6}2;xG7N;HLvjnx>&rt018 z4pKmsOD66W)&h%F@gDKj3)6i2G%-9nR+$C#G}1&)Ugj2x?@l(TjD3j#+sVMlT9J$w zZ57u@*VzePgqH~m^p%|l;AC@ID@Jw27$;qDG>&32=v&^3%Atgr;L(YsLe^rJcLO}g&ApQ&007s~cOWa;fk_M%Ev!eG zkI_~G{30%5W(4MqN;BxF1F{S*>0|zjIcdD_1H=VKc=tG>75)$ zab`_C|De@%8M)rH8NH7>Q`6j@5aP5S?k#ttw|?zOv`dU5tyS2)A|08+n2in3$$Ocu658@|P4wsMu78h}YblYbs{Ov|+4S zV^*oR_tC~t%n(vgm{*W!xwV+)pDsFdDomw>1e;-}{Xh~X5sv2Nt)?>8;mcyi)L6uX z%0wlazR_|WJfM;8q1@1?Tu%R?QG~(t9H2eSP3i0??@95 z+DRC~hvw7e2X=Eo{F5kN$h2y2nv+87#lYNZ=R{z&sO5Si*!$Y`{CQLb-ldo^Bq z6b8c6Xyvwd5*vr?*7fPTu&R3Yt~ag+Hi z)}{BUH)8&vb7*$P6q9R`D%!e;gSjo`Mvs7;>`S?9g{dRQ*7hDgGCNO(xh-rH9u{k& zC_L(yH_zf+Ey}il63*N~jhwLDv0{$=ZfOv)tqpIf0k>E@&)XqW*zMdXx;o#w{n<4_ zcNc}(Eqg0@8HVX2E5_n0arTAKdv)>)?m_YuDfC+)yF>eRCKzoxR;7`T`T~wYhzxSX z$kb=a1ATh5@s8#aja-)6`l=k}&QD_gWclUS55ThZmfT-{O2vH3{>;6p8D{OkTd_8_ zF_0~UUlA$h8gV6L(d4IOeb__OLWvW_(8Pb(%a*NvH{kfl?6$qj#Q4#S+|qo*K%2^k zyK5cpJ{ZK@6#g4Vhh2HY@l`9lopVbcdG2pMu}O}RDvVceW5C54rUT4X8x(xKHhsTX8Wyv*voWto9ie{(xzCUSw13#l4O~rTv?Ps zk}Ow&qj)UIB1_q;45A2=YT2R8wEYS3nY^`F%3T7-5}vqoon>lHWIN-YW;p|T$Gexkdy|98nihSKhH*&Xftv-cf)^R`C*%|61K8FgK4my24O)y1su$Q;1kNHt z?}NeCOI~lDjMh|&e8XHfKDiI?C-6Eoz<1jnLSta~`H!4nHp~s9ZvOFlK2>$4b(R?q zV6n@rD8kYzOYkwt08YGjtD_CxfF9|9o-4I0yWsQlh}3zBDN!F!=mW`gyPTZ1Uf^aG zYI~m#Nx;PfwHJl52RB}G1KGGSjM1Kjx#b2pAvA$Sgf$ytdP5Plw1!#FxhW}EJ@=EC z=1J&bmX5h;Sg0mntk z3ps+UirA5PP0BnM=5#{lM9i`zRs}BA<22+wY&Qgq>P`njR?XMFDM<33)si>ur~|;< zn;0b4n;{4+Y1$<&{v}#Yh_TRlTTB@=MP8jGe(3<2|Gl6KuoKZo(bRd8!sG1wRwc@9 zm_HmAQt*m=LD?9RT*DXU8OzR!z5`rs7jce1{2_H-xt^i@B7GBfi_Jc^Klpnqa<5*` zfW_|#{g;p)%s%!0xlUdMh~@)h%+#LDSu!_28dv&cC&u;h7#)`J!T2!BHK zL_HP*zlb8i_r9yFw*jhpgpyWeXY<+mZd?jVH@iFMChNSs=CN#E9yZS*pBS&(bg(g*d}h4oij7TbZfRV19!kXPlfE#VwkYHm9BI#JvmhAsI+KFYX?!|=?Joc zX_WIkaL;scnQgh9Z2_5W5rK^;fek^Ms?k4GA#JFFdXj~DQ3YmEg$7fEdMycR3BtwE z(TU)zWZ-ie30SM2@NIy++!lo3yTS;Zv+IDt@~^|{HxK(hh<(K6hy>nv&)id#&cG|5 zfM)VeJ@C872G7H|Aw47rx~EF#<=jEL2O7^+coTg`P@bT4WosS&`i@_osdWYH9I1Y= z*cI>IfjqI^=DWRNdZzxCl^&~~xOU|5?!KPDZu0o<51-VI(|NO{f&aTb_v6l)W zy=mpO!vyk1)c!fPIVvjmhB&h;M9%0(J3zLPuQ23|!xfm6Deelw6_F}tyz==&1DEUs zO=c7HKz(4E)f%H{!N4|0(8R1cbLrrFMz`$9!xO5C8S+MbR~WNE5skzXpz0TS$9Pv7 z13E`q6X4&{-;q5H)nCgxk*5mlZ)GEYY18GOBS4kt`k?KJS{=}Y<;@wmGVY8ZS9&^! zDV+L%`~je;;Y=b|bUKeIy?R&v1gI%wP8U~G%SLllP-EN zz(F{0{vt*}^MC{y=v9tpYtx>|)_XC)%RGgNiDVJvDTHTUu7o+qGEYyRwspRA^K6mk zX~7ePCT#vAoq%}ZgM(T$a{dEElQt-Nm6~w}P!(m@{}w;{;*m!ZNf&>XfU`P#Yk`9w z$=d_$%z5{a*`ZzJL?FZ2Khk?0%$zZ_w69Nwhu;?uFVCV!`V}B!XAnSuIjbwYp)E4h zfhBt)ieN~}oRu!*FKr=HKCNR9Wg_f9Z-D>Ty7XQ^WV;4^x_px2pOB!sN5RI`+abu9 zmtY!RVTWc6ApuUmO@NA%2@Uf#alc`U_A<6QlG#lC*;qTGiOPoZR~UQzczA%Dr?x^P zF-SEJta88B>3YKQ-0Zt4-d*4dt?H7!%_yRp)o%t}bE5H6oI!~#Kvthw&sNqxazt)t z+D@%3cr=LQvJl|f4mA1tveZTGa!=n4S~fE-4?C9z!Q`F4oqp)z4{Gd!N1p*v0J)V}lE`nqdPy3sj>={lu9b2#ecTXK$DUtnf z8V%i~T%?9RFMEX)S6|^4Xll@5c3li8ON7FK-P-&?|HwhV`<--=c8H;8JvVNjHlRIZ z5q97iE`! z^*+WKX;--QZrYj4FYIRD=LvmRcJ?mYo@qA-sy%Aw(CeJ2C+>R~t}X~~UzxWL=nY?P zkIWsCZ+!8MB4>-*F1d9HGImHefkxetPX1C+UEl&_?5D)dv`F} z)8GJY9xN1T>`?Lp$PkLGiCNe$Ft%M}>);?_CHI^TULv`*?{0_W9xZDl%$&pih5T!I zt}g&PzZYO-xtJRCNUWv7J9=gJ951B-8S^BC93+eGqMWQ2GmM^vc9<~u*oGG3E;y&p zjuhk@IbOwXZ~XQ7k1rp^-KjG(#N9cM+c!N#9ig2WX$#E>9TFIp1^Ov@FX%!!`@t)EQdJ5~me9fO`hg)(-Nw!?x(WYh|U zZHKxz6KuC>{mTxswUAPxaA*e6hb6#i2)) z;#es~>4UNfAe|bi1CQS{7BXKeC6jwAuAEWoF%{ozUYl5_9#=ozCG0!w~ zeyls^aIbhnJWI52*m=qCd)1openord+y+*B^z>+X?crNaHiI03SzU;E$i-RQk|57Y zloD#F3;ZSsG0GL?{2Ez%Ay704ieq9wtPkgH1`J}hF<7Yc+$ZeopY*PY`sdxF7AR+0 zID3v_@k+|0b{9&jk>*G^L*ET{hG7Ar3n32N&LL=Lfk6z2gN;B7s2wZ?3 zg~z0Q!Yk=otV>ZOhFB2h_?8l!&9JMoN6@)Wv5^#o|LrP0c4#k94lNZ`5vpj&=#l`> z)Z{}K=Qt+OA5&iTtv@p>tn)J^#V8k87ceD>ZsZAAhKF)#e(#DjJ6X|oL}J zxVV{+b%N>fuiOXQLC&hWWFeIHY*vad@vx5?U|^AQU(v3d8ll<$$Z@{tyJ}dts|fEY zS2b=)PIydr!?KYdh*EW|6j*h!gB|H8CV-9(nU z>`5+fFL80GYDtHxD`J$I?I+T@>?t4|7)9IoM5m-M^sh>^5NLqlWF_<{L}ck-64{Nu zC{WFmL_{uM6h*U&7r^AU=O{|^2W^}yqnFV*)^AOFFUTK^J*Dw54L0ODi?h!;pee%i zHqP9H)_D#_Fh4EfQcZ+wI)t+`|6-e!hn3CO!rBxD4tZG(WSfi+rtDDDc&shV#_k$1 z^G(v^J46Mg=$-{w+FFz~r$@hq{^g>>(+>;kGk=ms39{ED9x9Bp#*0c(M;z<5fAXJ=dG>sMO>^T`P zX~)IPc`DmhvPUHaY;28>PmIE88J@u;K;3geib{rM$S|hZ>Q54E!CPO-kfbVwjFhy( zKq-K{XwA9syP}OD*Kj3cz5Fi90}t;|QH)#5nv3<5a@rP4m6cOh_hw_MR6^59-z+@-5qIe9 zZspsZ&$YUqZE`+c<9u-7e8j@~n1%IJ3h}iH@zo0LZs+Ij=IhPn>#gPMEioLyU!OAu znf-+|mCmEWE?r!Xm2j>$V$``!lVsy4nV*iufDhAf&MZv3u}_lkEKIs_m@55;W3sf* zo`~y^q*VH=lX9WXBgI|-=l+YHo-=a?zv7N2GkcW33^di0Xp+(eiS*=FWw)dluBQY@ zog6u4+?fSgrROb1t0CCNg^||244_&7qm{S;QGJBXUcBRdS=<{#4mYNL9^0+SrPp?ck(l2B)4puH zCnKZVX~xH=koSLZpZ1X6i0Sx-O|wqdOVfFVX}w2cW;^aVP#-;bJ;s9Q_L8vRn68Oz zwe9y6&}bo% zt7SSF5GBB?^i-YTsx`WKO17=RlTMdu;Ga&D3EQ7rY80NsH?UPKN>}I3^K2y0vO0_r z%5-J(_!Si6o=gf(b*cpN%setvVqOzoD84r2wO3us>jh%>N4AWyWfzeVpjn$V>U1;5Mv5b`Gj*RCt4VcB^&0wB#_EIG|WzcPg8Ra-H_H>tKaQT z2V{59sL0JCsc}!^gy6FGm-XR}Do61~kW=^++FZy>i?Z93BVSpY!txW&ylVS&FHyqk zeW;A>EPIBZf!Bzo#w5cXHe@y=Lj-cc)m+9}<+$fF5`I$1ig9d|gH<7$_o{I$$K$CN z&1Dw4ISP{mjCtf)wOqPKc6Iv*`3nnazjFfV?Sq2c3B*GAMC?_(v+63_W9#~)@f9mO z*Vk#l^j=abl4R^IO6i_L^#bWtqYpMf`{qAZy0qGm&GZ|}ZKEP9R0zDBbhQttAo0rQ z5AtL17Rn#?0y8PM_C5At>2#{m&4`#24Y*kfRjxS6`p`}<{e2wqJrQXyrCw&6IbbXl zz-W@Op)$-va*SfTzB(Q3aWLQ^m#*WRMl3drF z9-C}x=1_Ai#F!;3iO?Z$ukx3Ujm!`abeofmS2~GvuLgylB=H*_xMdxC%CsJRs$%1; z>IDKyyp5w;sz~QYHiRZ|QcrLdrVz)!gIQ|t!XE0JdrgM!gve>|Fw4|tvvOZ@~CX&#k;_MLQ8uSTseR*rMuNZlhqF?qKYflW7^8n2!?>>Zw+VIn-OplMY{?XJOAb(@NU8R%fL z+#WDh!I2epwy9g~T7_T}Xd!)rT(kpC%b_Etq{d56<~W&lL8vNZbHVyjLe9&!O0lN|gLIw$TM=UUa1c{SufyLx`AQ#?c%S$vxA*FC71RqgQ3t`lv z^N3J#vF#!n{WN4Xb7Ue3ow`*n5+(sWvmv}L2W^p@i$27$mL?|B(F-$qM}=9cFw#BK zx~s8cx&LBOeet5oaps`HLK&~jQF{ME)eO?5t07pK!-m+D=3b3Mnjj&(y)w&UDUEf@ zXk#ytl^E51g*nJZS4#==a>mf9#if~ehLJGlc?YJ6xB}8{JFB`@vcDI4u#(An9YEeV z=@Xm8S`Qw7_u$WRB6zGfWq9J`E`Y&CKFqLO@Ftvn>3oZeUYT(QoPL2{C+P$l_@}2ZqHE@Lydn0EMEH zf6;p8ohc~sG_3qO@?2Jqlq!NYRTR8^W-QzEzw@MjYDKogMfJvzzHnNf)2O{f_7FEv z98``c_J`V5=U4fpK&PNq?I|13cvc1u_fn%XP?*a zET=+eo1yj&yJJBCZ%rHLE^uesRs#(&e*`Og3li|Y>HDY=gh>8%1j{T7}3dSs?u`OVX29{S71>A)5EvJ%brFtn{TY5x zQ;ZJi>klIId+xYh2hn_Cs+8*VT{2(iUXm|~$WL;x3AMZ_2GG5%t$C>%S(p@ZYWYKa z9+LjF4}cR~sd(ElMZ(QJ@(R;F#1T1aIhDN>+ilq<4@0K92$YB5HXX03Il)XcZ4^^s zS~$}ofyBG#R-?G}97SQzCVAcy#Q%wV|Kt9djW?SL{sM6PegQZ{|9|)IKVx3iOE)AD zqLuAcvgeP^6CREfMGDoNPF(l z!+Rh-VSxH($Jhe*0S@1l+mE<1H`dI*XykgXrZ-#f+g!c>(!Q>5@qB^nAaXtHL4yvM zjzoAuxtY1}QwERG`}-ZE5B|P!lk8i-al4O1nK6)>hE3)hZUxa3BDSGP(eIBGp_gvW z4Y?0R6^27@8wskt5|SD_V7m?46YYmm5S$NFO1n!~XsUb54nzlQfO@FMSRyPR3HT6- zPUh7(6*5(jB69c3^JecX8*)}t3W+UQu>56iHped_nPLT<&0{UEG+o$(z6ROc6l5@B z)V~YHI5zDIpAY55sJkAHc4<%9+<^EUuq?AW6npa5Bx4&74nf}S~*H;W8g zJPx%$iVh%E0l#DPU3hBGOPPo8X6}G$jw`3g0>Lw@pnnrH5ZVMew`e$A#7DWf^Cbpv z-vHpIB}nX_%qtQkXjn^ZJ||h0Kq3~aPeS}l#hapq*?5gX=a{_KhD&Iqge~mpiE46f zK6~d{6G%MP)w(Y+rVzm3*#$Mb!W=^c2x zPq<_Hfu}S{3MHe$Sqli36grJfBcoGO?#<9MeR>UrgL;`Kn2`k0R3}Tnw8+Z@ji81o z5H4!&G~yU<7` zJH>ud^rCx|fk%EVSE45K0L*@LF5{IytzdZ?gNfiGQ6$H3vL}Y!A@tyiC&^@6!TCx~ zwg-)*Us5GRO>n9ETN$Gi+pO)lJJ_wHyWGe>b}FLaylA+){NOm^ti*c;UITT%QR`5B zsGSND64v;apeILdbA?dxF|z|@P40rCpi1)y)sTFF`|DyaN+9oqS>~-tu7&Qz`X#FY ziNU=NbE5loUZ0^k=^X>~iz;!`{&`!BQ-=hDWuC!-x`rj*V?Y%e6CvMt`4UT47A1${ zWqH|TH594xr_v?i+U40Y0i{?qGuhMEY!i|Vz(K=`w^-C^c5^p`S+z{(#x z8qYG}Q&kq8`nXwC<%sK4dv}i-v!QHB3yC;1kH!Kf*dcDAG#egd6BooRF$WVd>o;f*^0hsKBAjm*PUWJS(Y>Cq(OX$d|yiik-;c`*J zC$gr{@2Eeb+YuSaF<2JI{&2P#N}YLjL=r83qvzYkW>5NSG&yCSo)^GB%qR!ZGb~6; zo96=kLnLYDMAu+Ti>cnRAO;k`8AQUEp$b^5O@+eONx22_0j(QhP>JcyFsm$ZX9VdJ z`w~#o5>%-Gks4{-lbUqaB1aeMsxnoh%;}DMVbvhnz8=Z7`UpdJPC&$=(d^SnZ9_Bf znmR7DSNFU9S4KFJqT0Lshhepag%(+qxB3$1J(N{xvW1eHC5)CCKc@0MVOdh`)y1up z*wdW6+kvW0TudmOH8WjIoYe1mE@%y%Xpbhe$H1;cs@1vO!G3amPt`P3KZl^~6K=dC z3%oI}*@M7m2qk4cfM@1kxqU}Y-%#{4tD2FZ$mT*u?}0^Jd3c4WHo`ND-%vO2iiRyH zCoLkMTD7uD>VR;J7YTMaKO*IQ1U6_ffdUuh4{fZU;$A)zG?YK=^ij4i^5^H=>{+%u zfZgmCt50$$a(h5M4DOc1%hwG!G_AyxFET>o;fUlgZ(2SHrQ}0A|e(gQg$VyZ;Oa#1D8&k#dTbwCTjdD=J;8PBAf&8$1CIrS#C^EobbHgOmTBirD8 z*bwm;55=1e4c}NE$uT~t!Nw1ZVz1d{WAt%eBD+XjkXqG0=>4A~=s(PTH!YrkIN z2&n(L4OP{^(Zayc`oAp2s#Z!^D(Jp&?be8Z`>59K%GIo){xD7awJk6P0c+ak>ScQ% zXbpR=3&Ly?rC$}j0)7E_*wvCaOfFdpqYl_&UjV+(m3m(_hfcDrlMU7o|=y|Jx$R#$ku7XQqwP5w0K~Ze&?om-Xv^yt)F!Q+AQpyS9M#%Cl ztH;~Qtdrp;=+DKK$(lOVORYFmlLNLC|3|JCY48n{jBv zA**7ZlNv^n2}HkA9%f3kw@x;6MTy9o?a50Vz3HaN4XIf%0fA{w*iya!@O;s1$}0)Zrj&EWj>_wlBMj3axux z0I_JOQiYAjbO2mhh1aNTUmzq?SKURbm-1svY~q% zC~3`=RFaqzX>=DHW4*pI3n{!#5GuOp(b$!T&eWGbt?bTQMb8*ljuaL;C{8l4Z!w>9b%2ug}8)dA~J~kq!jTct4hum-j_TJ}=+XsZh!^!kI1>$M6bHnsB z3)*R@ZE44bIVZ%N;ERaG7&4!`RSs{lQsh_Li!br#Y1@TGE6c_TTyxOSDuctwBPzno zlBMOjgusBlZgco|e_`N&;@0eu-Iqdh0eDRYOYhlC2M_y@Sh*p*M?!N!d}l&)!Fa6( z>HhSZ51#rPv3?@jZ-tin|9%06+h~vuD7ST=I3r5esC!5Zf9H`@mwq?u1j}i_3%&;( z>qsSU@@NpURegYKs4J&*=~4Jj_mHzI0$1@b?!1eyT{HDLN=Lt)?b{BsMoQlTk@`qy zT^C#m9Pp(1kkHO)xf_?TK3 z8IR#`C%&!TJX&pdD&wIKAQr@}`T>Op(xJ=)iD|}>oHVP1q;R(kBym9xDF~8+U!ve> zdRFnDBQt%k=nvjeiBCYX8>y)?aI!;)lCR`3`|4p^6ZA&LXbp^!Drh6qQ14;0OC%~@ z6+Z7fhI9?TXtq~nM7_jYB>`!V?|;L77 z;n-RD3IcQg_Rp4`qfN}$Di`hAIH^=&q6~GBpHMDFraLI=e=-so{WyU4%6}Vh8S`HL zttON&ZM>}?e3w%@h3>vMz;@>RIll1TT;@1({{FpQUSQjE{v2LpIk}`@&rIE3WR(V< zdjqX_lluA=1jXKl!R-AM3Tz&It{i9o^*R_FYIaF3@rD+ zv)k%xpe0h9#4nG1y5qgy{)QI;zlN^Lp zMd@0p3+)PJbC(iYX@N@BZ+YM8F>&WM2NJ4^!3*7K*du#$`N9*U%{5>DV%jf{t*k!% z`5E=96QRTSsMsP>p39Nx8Klq8Jyv1h4%*|=w(q2dh|%?xj3ITK4BfOZ?l{_X=+Z}8 ztaYS<5S4XYC%=ARtiPPMqeo}LxW!jP0XSr zPa#vFp^qT672q{>E+j(Wa3yw`TMhH=I7CQ@1TR#wOen|GA3slzza!x60civHa1-DK zyG0=3kWjba3OB(2TXQJ7xC<_d09llYPNc0K>&g@=N4CJ2BQ1kR*pw!@j8Ie97+Z7X zR>zq{rK4msb}T-XIswaEKi8#t_18m_!Iw#BQ6|EGSIMAVMJ2hV<4M z<<%5=zAURBPMmyasUOq(-**8kC>!b6uQ0QU_U8}D|CFHqpIz|3_rUP4ETg=N@;yU8 z)n_l@!9)xyk_n5JlvbgFPl~{z2mpZ}v$4vqtq*KEmK_zp#(Yj>f%JIBC9!MKVfi6m zDe(u(D51yDD3@T(f)NC^8N2SQg&dKYIH2BB*+idy{XFQNQVn%8uagDWZ(7 z7o|@$BYFqjgV4`*Pow*f6)yLb}z;3+k|ozwO`M-d@kQLBPij(tYCnOS!vc zmyi2E%RyoHxv+PIQl2w8M@}SHV++Y#$?kG8({`d`mBZxCmP|!_g!9OHW=<@b5}*o4 zW+*mSI%X*jNtY464VUGkyx~9wsn9W#!=@z1wuK;h3*$`EaZ{zmLT%nJ zqdL2;K{fg+80wnvu5hu(37$u=dw2$klU&0QQg~5{*0T!T4q*y7{}`G2&&h7#HKUP_uOnC_><+qrC%LddUGPs z&{hLQ*2Ff^RrAOJW5tBn_Dix&0i%j)clU{R^2=VG51C5bgO*xjX4$ zY3W1r_ArK;}p zP|fVoH29OwHP5T|wg}du0~vz=l@DW>NL=4Yr6P5y7W-eNxyhxq>g@Gp>-_4X`@CBA z+VOO!W=A&@mUc>*W3_WfJ4qDF8pZXq!i1dBN>w#?3gk(~Uq>Ww4+hNc6yyK8I`*V{ z_mJpBP^cgi2`PH`B>>sm$bM}O6v0>vbOxN>aj$EtY7e^i_i>{_QwP@AY)8%p1wg&! z1fb0u?GfrS+Jg%L2GEech7PtF@0oNN?x}e1_Q9!N^=-mzg|}j?jTmx8WmCJ>pXtw! z7eozr-s1v=F$^4p2N6GuPQ3DH0&M4U2KATo`E_G3mz$hr?$; z(sr@p&U;I+uj5W}ewFT&`->17yj?tmLr-SKO^E+T>SRGvmNCt@YN;T~i&}qN#PL$e z5=Z9a(H2tTMaaQ&A+s{73F&RU91rnK{B*qhSHCJOM%mu6ZN~YulEp;Q$Hb&sr%{js z89lE0V>xeoPq+AHnD$B5qL8^3umg5h7NRPyTH9{iV6~>{CMDHdY$cBF@$R}Yg@>%S zIJTpBq!m6I#|EPx^kZgM+OJG_ZVV;(;T#kbtE>cW}~Jb)dknrI0Y@?Yt4Bp zU4DCj;chd8D=QwcM*u?|Sxta)oiM|8K7ZnAxrGS`Wqr);1R;dyfbKQ1%iz$j1TBA4 zyF%P!0@ysUb#Bu70G5M2kl^tn0mgN!4pJ$DH|d|5}2(Y-#hJy14(*JnW?R9fBW1 zM3}byn+x;xpi@Re8DR}UU>qhS^bJl8-!H}vhPNHf6GT@8|FX2pUe{Df`LRO?#k*&; zEDtx68(R=L!WGN=yEaJM0zPJrkM&Eo2_Du6)!DL_oN!wQ~zh( zO`<{IyFuQc2(m8zuBMQmQIG%Fs?7X2Wxx4(S%bR0))q>I0=@t|O0k0RFGh7(xpO9;`5WxXcbfHiTT5%XGT@KK$SV{)sxf$%t-;Tozi&}ivT!R`;+{bb zzUu$1$cDJI;#SVYJJVi=Sl4V?j3XQm7McOBhVbPh{Av6T2q(YRO|t0C;A%03faSyK z{}l@TN3Fg*iU_Odw^kqiOV%R)e}zI$CPprf7S0}Y0xr(xCbrHNM*ktW{8zzV!wp#k z`I~YvU6vCjfEXBDAe209ieFTlA;=tDpa38#pe$UiYm*KsTE^bP0}i1+;@YSgPT)0FWXVl?$aOXbzqt^8K?S?*G@Z zCwJK)0S+A08Dr+GiLvfpRll|`b51G<8Bw;oKuM&>W;@Z&?F|`l#%L7A=nW005#!|= z#bkYBA)sL{zmDxdy^{tN5&Vv^nT=UvU&D-syH9%+5gb=U4FNzkU1|zoOpvSU4RtKs z!qz-%h_}G;y^Q4@CGW%PJIm+2JJHlM*Y9JQBB7~DeXOQ;l z;oKB?B2UdNr+uy37#_UFg%Xr`?%U#R#IU8HO_Wh>s`Q9e>)r+RUk99e7&VfE_0oNK zgjjtH84q`snIXr-sA2&-W_Ajf9ua2H4EQYUsW}b<_z3} zNMSJL)YTW<7ABVPx1d}~YaU_jg!OuO4I39y3qo-zk{2r~7MpMinjz#>g=HUIBBsYW zr?~^uow<(z~7RF&F?$@smTDcDmp1ThWX1Ys_tdnl_ z!QotIxWiwczw{1eHaRa%8JqsK0 zE0A~Td@RbWa!Ynm^;qPK(ZLqn_56xdHv8~`$3q-xs?i3N>;2Res@@cqQCAf$b-sl|;Bf)L$V790Ex6A}#}-JZ-p zGyGpN1~Ieb3i47CA&lT@@ynJ}27+55oCmcp7u+ltGQ$Bo!eZo-z?~= zBrEs}gm5Fx2MMV2wnd)Y^CEY=tRH!r%QctC!+k=N23;1FQFwgwn;JnD#f&uH-!K+c zil6DvZo(XYx}f@)J$5&E(($DH5fNW_Im~SvjtxCNv&&%UCq`}Xg`$~5iZU`M@5>6P zR&Wu@RFln1bw$e(j%|6z`ME_OI9x13LVc8tlp$_u`BXwfLTzDLWC1B9r7jvdA(!vZ zrwM6uE~)MSatZRI<&OC0ZRoS?P9hqx-m)sr2mrPiWPCxGs1eHX z83nrJNg8QzLy3MhSBR6OI&y~UgjLDJ-es;5uy3#7hwzr~u;qu~|C{%?z4eN4C%Jm(3 z7?!8?EA2^^Df=Uo`_5F=G5;ERsPlPFG3j=BYz*(>mRsjI{q?&KD)ktbt&0u_I1$bK z^NVHA`vNU94k>jv_k`v=+<`CH;kVhouN-k#4nnKwuI@YD{{sF0$aK+n74lNwssgER z`s?4-nE#UL>>MpTO&tH5`U+O~=M_68D1fj6%3>lq&o6MymKI8n9phc^iq{tx?zDf}8B1vGJ00_Bb`y2vE~@(&j8*64ir7leT71FnAz*DA`9eeTv9X zd7MfTqZLVVrBl^Hjzj6v!xVoXSK6I&utjBkR-gq>V`+bsgpj0-A~he&iv7tL z5WoTR6Ly5@)=phXGnzR{b&I&z;yRHjp=suTy&{@vW+uq()vf;&p)T4p@=eSSdF3qP zo*jQ9&ZI=Hi89G%s||>-wNMeWDm`mP`U2S|Y=Eg6`=3emHsY%DbjA4N@bNoZo5@I30kxbirtNapx?=1ALe3&z60DA*@-$nJ1h z>VUxj_?-fTm6*&~R(XRlCMUe(NuQ}1y=^}r_ka>G=1R=gzz(ow`PsS{FEG~Hvfb_w zaF|uI`Q$SWp>p*z`oaobIr@Y1dDQ5e%d(sGk41th>&PTjPd>Cw$%?OwoT zGcwj)I{Di_K?RC)!m*uU;bl-1=4(w1vA8gC)5!+-lei;;_m>}p#)?YZHqQ;Ykzcn}mTuNJ^EZ9>j zTsoG`e=llQnVuh%*10YEu3E2-G@%)HU``;2I!wx)fygM}FLFFu-qyS*f&+|CIfV5h ze9wNsRtu0tx@H&}H+TE{gVS5Egu&BN0ZEY)G=}#bdvobLqw7;wNGxVm5-pju*Uw*YOfAiw$}T zX7xKpbw{JFEjR$~7?8WZ4Cs4+|JB`%0G!zWH}1~#&(AAZK}Kre`)FmNZ(-GvWs{1W z>cgz3IYKO|LPUT(PpR@vO0kqqc=#1*z!xc9&JXx6AipH`RnbAklm73sl^%9!>7Q?3 zFF$G{ACVYK*VUWqL`SbD_(j2kq#KsVj5~Ja5h!^u!tP&u@fVZ1ZZOK81ZN)Ks}m%$ z0#;8{EkPg-7w{3v&pR}sMVmeIFgYYoM$zI6g3+ijc(}wIoUtfh2^XJqL*Yjn6S}TNE~U z4xS}O)bzKzn;6FvSx;xh)G`DHf>D2k9jJS^(bh1`>=N$m_ERTk#!!&T*(Y)C#hx=BnmM3r9t z%^o(4tbDwnKtSE!VB_C8*Z)oU{V!)%(UC(|K;UUfvUOVxAZ!jGCoHAGM^%{nrGFaA z%t}ImS`f|v-L<^bzO-2t&ikGpUPIb_$`y|9OPufxFBFE`I?ffXqF)@%Y_HRqn9NKU zuKBusLFt1#19Y?E>+qDIaLk4nXkwfgr}qN_Ftn5GB?SJ6Oi8p>=1z1?N~z1wUg}nh zi%X~*Lli-=DYB`dhd{eDWH7gxth8n~zIYBSUY3k04|J=sJ(_J~nS>Qqr>52qIr3&x znlZs-4_#O`59Xer+WvXd$(+KLr;&#`5|j`}-BJ!*WZ77delyS+w!I|A!y zrsdm+y966KLu#vV>T7@KS8xxLa4J~Z+8hsKurRO{BO_Lx!9RowKvk;~rn-xT#mF`ULQPG#3AU-Qe@ z#ifx?X+dP;hJCqza7%zS@nheiH2M%u{@ic~$&$?AR2yAY%%Jv?%d%esXAM$t28O*` zw?NX|)YaXF&z!gmkwBBR?xsygr_}4okI~h^*JLOTeJC^VsZ2@@#r3A8Ql3`4A^K0H ztm(C=IB%#qZz(Y^<`;7%wxHZsON_H}@>Je%w6CQfbC7BM6<3x1eD z{dSg=Fig1s>I%W>r~lk;ZC-EU`!@$9-8(2<{cd`2q5=Ui{3oO@WNu(>ZDMO?^1p%n zRcc=L+A0`-voDy|r80|U)*3bb@LDHsTBjINH0SlP!eg})w_6Bd)jgU%lXjVOWL|B_ zXnEsPLQs~LnokT6ildYZ=3%XYP?}ThK%Zm)K*t!8#m(3_GT z=ZrkRWM6yN_`LR~9|Khm=z+5Tk_J*E#Oei$TA9DVhv&e(<3{(^gwO{Gb$4z3DQ2$( z^t+eLGavZfL7hmz}_}m((7sv`Xw?=5oE%AHit@+b-=@^bq7)%fA4(ZtBaOIc9}Z zb)W)GszPaJ z8A)WdPPJvSXf0yVW027pa1Mo)sMJb3dmldjv17U0@^DP!4ofqArAQ`0>Ap!bpLBo6 zWKe1C0bY%bKKav8qDt+UO#KS`_a)3gC^D397$RV0M-$h#aEH>HzfaU!an`>A)moGc z&wDl$kIEgJ0wA|j2rozJ4prh!es`1vf=a~8UA4nJP0k)^_9Nxbbz4(ziIQea5f9ZY z6DVxaFZu2`X-iE>six47#l{?{_~XJCZJA@C{kDrBSu+C1kT}|w*ZNFBsGI>g@0YTG z-v;nS`>uc)qu2m6dP@64FNHZ;gofMba$|ABvl&h&@)wSE6NnY)%9{T5)b!G7MS%o> zHwqhswt`46KDaW=;GCr`up@B9XlO@2U>D; zz-;`QXya&JhP+Qv;e1ted6Gs+V0)Ql(Z0IwL0lh2|D(4zCsm@fZe8h-;~N#aC+Bc_ zCLx_F=OsC~$zeKcp2DZgH-YesfI?>(CLU;@^1b-rgNQfRqQn9 zinjvH(IdU1U0o#xi5X+H;(Hp$Drc`MC_`kB6(dXuF4{~STFEO3 zo8~Y_5l7dPXfcxR%zH zkZ5@VBdsxRPN#TQ~>>hPj8P(RxLeD_w;q(^`mzy<~ z_yg>-vsCQ&!5j@6UjqMGz&TYvQMHuwJ(U|o_4jUl$;aMNUm6Q>v+i+$d#-cHV=1dc z69-vyjz&)RukXF^cyBP>RH!117wn0338YSshr0LfkJ-seWpH0ciPI5R^tBfDAvkQG+{i z<0WZhcH>dQn*HF?&+LG0+fc3D5gSFDR$=q9s;0$dNfQ>w;c;zYj1dez_1Sdm8KSG-lhV5Xn@RB2&H=;IN3lV&&zh>?| z53#Cmew&-CJG>Dq;x7R*Iixcj!s>k*iFdo^84(y5L0Ch-m zl*kD!pDJdO_fV7z%vX^cnygDy?v0)8K%NI*^;2SA7c6}~w2sta!W*LD4%6f2Z5bkA zuG;hA4s0&2Y(06ECt1HU(lY2j_;xQQ0Oq2z8a5W{nh)0dGF|URQiCGB<7k9JzjG5H5?# z<`;#j?m>p0))AJ>sRo{3?mp_({{f7X*bz}`tJ7_qAmw2AZrQwgv#;iSl1^R>;E2_F$B47K;J zez&vbjbJ%)T|Hh&_RevyCg1y<-(00WAERDyHBY)mCSDJ%6|CfMQIEXL7s-cCe$YJG zD~1gS8_Qgo&B9beHj~~fCWqw%w0yRwO8HBM_o9%uKDy{Xt);VZGA_U~gPZ=&_NX9Y z`s8-df6A(5c;;fXLT5?mTJ=lk#LhFeoyagm<2HPba(mKDc^HQoix{c3OQ}3mM!u+5 zB$lcmv?@4d;v8xNrTwj=8e(ixF}kZHmsW=g?tp2+f>oA}RllAW!o zh4DXnA_ms~D3$)n8T}V%QJ9bg5kROsYN{n9hv21Gu*3I{K4u{e8AQI#4FPQd7R6|| zI=QG0_f15j%lIc_bTRN_OgBr&O-)9ngzNM1^A>UkqJz}&5B(hfLT|A@jo_|&Yd;@> z@p?8Q0b3lCY$;su#7tlZq?(%bo_R5AlG0IB8WMr*XciwDZXR3G*|6fqJ1aI;;boi(XKH#(iz^=yVd`MRK4aTlZr z$~okWQy++#(8q4Moi6-B}pmou@%%q_8WsxH3wSS&#pNxci5ew?cV!JLbD!E&YB7|5M>AV(VyU{okiw zxE}3Rc)`HHgurB7!CYOz;6%Zi7d!JmvXn)^0I$lHcT6qF_Mq zRo*zlJx<@gBs9v#NUWn^qF|(9@Owx5M|&rGK@1scK_p1QSpSCt?;o_+4ne^f(KqGA z@O`)w|3AHrn4_JG{eMGX86|8L6du@nU?Hv_3Ax_HqB6$CX8I7m&`7W1hJ<($vxWVF zHX*e0WyP6iS9K9pQWH(KOOz8bje;r=s8y2r>XvN_!F(fk8&{_2o|u7|?^_)kURNH+ zow#2w$DyG>(}oP8L}_vMw4t<}o70W0jJ}35V3(%qE+6nU?<-0S?Z;qAn(#|0+PVd$y zTQt_phJ_Tb!msx(2c!Pu1`KDo#*hqne`ZZQQ}^V;Vr~!*yZ(s8l7$gRI5*Tn5~)Be zo;~bQejgqYiEGdKq_wNO=Ja9J{rcen64{x?PZati`~fklvZX>k^ExP1B~HuP(srp; zAF4r{-ckLRN>;B0q#1FRGQ+O|%61a$0SCZP*Qv_L5&cT-=Xhg7cb)$BjOUa28OAk-V&Pyg-r92w||mgsUhiKlHnfp$xb_K6vJ zJ&p86YCu;srVLlg5bqkVs&>EAhr-#Ooi?VDBgIwmfv$E(Ff9uAfDg2%$CVZPbAv5@ z=?s&Y0s8O5Q`AOBaAOvc)sT7&l;4Jv4gk}*J`Xs+VlB+fKA;-Jfis{r3Ps=-Yn8IB zO#w-aL$Hn-Xq1wHP7ncCUf~a}HfgC}UZnk>NlO&f8O_nERgJ+(s#}7ZTy?=wPek=> zEpyGmPhB>)c6SofKX~>3hMJFvbvDX=m>gA*8kCs0 zu23#&@)F;!ikfG?ijmN#fsxQG9n zSl5W%Jc7;aYA}OO${Kg~?_sS+z!IUYsI<(;?}_7!S3>?1$ci&C6A&%q8**LC{f6UKwk}9{vyyGLb}j-Q0}Dwtix=( zIaa+b49~`~Y3fUgh7M^5V;dXyFgNrbA+qigWVhEz*3*8Tv$~~To5tzyWp@dBRTbpv zTW>8Nm~J&>_0wXN_XOwOMCTuWO+UkK88rS5ws9GMLTmgLUGBl_ZLbM;!Si!-)#&Nl z%p9}BM}5AOdwW^|?uHe%)2H4g*%mYVAo-j9f<6*h-tqbSRO|3oIB!r;7zScSCg_uF{q^D{;`H1GM@mMgVG~;M&{2 zGC@;(0%JaUjzP(8&f;Y*oA~EA4G{XWJPi%Uy>Q?#&reSY!8fcf5>mdqOKr0=cB77ekf_n z7-V1srKfSc|J$IX<0cdQ=(m|9zd2FT|C9@44DA2aP|?cYq^JN2&jNf3Ep%0>ibDKM z{UwOhCkSx#pCELloxG4RmW)fr6cQ_`W-VmjXt@wI3FQD%OX9gfJd@4_os^%%4<=XH z>rBTRUZ(ASU%szk_>mfr78o!X7&^1Y-o|{e9o0Y1Q?fW+o6~_V2V}CM?!cZ$6hwRVcz9mNcqu!uKSjqLe z_Ba)aIaEiu2nr*eDs>y+Fa|7L;|OCaE8&beEtKAEU&VvjC8A@+l6Ja{ZIZ5R{Z@adW%30ha5kbH8kLv}>RXr5%o4 zLKoGdDuF7s)Z!-~L@Re0IfzVY%@JM*mWv=d7{hSlWwpd|mh9trh&ZeduzetJ^#_J@ zL)jQ&7Aj3sq9+1+rk|v@Up6WLf7KJ;*TC_g?go8ROB&*mVChLro+oA7YmfY`wq}N; zQ7}Q}A5lsi(EU!{5n<)KBIn&y_=JVDE)kPGA&@0S&uc1 zPUJ}0*w{IGD4G~p+x&n1*(d?1 zetHBEzedd}fL9P*QbWG>@9+eaKvX zOrn^0dSbH$4T*P6L?Km0D{DW(yfqo3s{n(x1w{Kzd-ohii-pBu=!s5@OI@C zW>$3+l|cH&4z9Y658IBpkFz%U{(e2O0Rgso_%-izzkhWA9LOoESTg&ppv^qOS zCf);IfFc9c`x)t4P&W(~;K3F8#jNes1T^|00#y9dI?Omv&p{Foi*;6PPFrD5&tfVY ztrvLa)eZy}cr{Z+_w{os(WEDwBSDnXzm8UI{6`HNC;_75#UyH4;2rZ@%&u6(7&L5D zqDJerGQ8mZ5a2}goy1n66}z-rt_=h>z*WW?^SajPF+>u2CthytSpGz*TdMd=I37#( zus(GLk`pui2W;y(q^neRyf)R5Vp8rw2!xr%JDa%>LzH8y00hkVZt z?{Y-lUKs&?n}1UmD=`lD(uH&F5-J>YX;{({W~)jfLyq(}K88R)MAi>eGrFuThY z$S=;VHh?D;x`00U+u%T9ANv$yu=Lop>7(HQsDAo!>Ms3cCWfD7AUiU1N)KE_yGc_s zLdv-6)KSR>*?oUk2p7KoAFgu@ca<-f( zqo1grXY=a9{djj@7@P|Q1vwMCS4NX`^Ygj>Lu1mPO{OfB*V#u)hu_1icW|2zFC=7P z>~-kE^lL6MtIq0t8#Dy+1(KT{98Q=~bW$cc5_hYG@%b~8B$&GjVZs3;LA(M6LGG5~ zZ`|2ig-T&LmbPzbL5^|=zQQF4y16W(ti7@y$Se9tdC??9V;J!1(PTtp^PoP0tU9q!UU1g5qkuvZ>WpAQ z?XQphz6^WPSw+2_o+9g5Zz5ejP-f&#UwH124v8I6nCW8?H;6%OcPV{T^$u$&KUq(; z-hkY0amHVOt#tEQ>h+49mE6-IW*LGdIs?d8Ul={ne$=BI;1J4`&=V}5@C8HcPVKR* ziKHj|qTMoyBk32t;Sph$Njj9sAe6&1Dh^~=?@JS52BuUYAYVfA2yUZpJ0(Ntnn=2% z;d~yx;Y8JO?_dis>^b!4mSGFTBod}k9AxKl@gzk2i}tTk@u5)d(w>GFGyPIqpc{4gtq@g}IF=4wC6c!i(JsB9ue5sReS)X!aV7sJFY@} zknjEYlY`ZHg9SM3X5Mi?YMkmw7=dXsyl?tD{0zc}?S82qVJ}a|V@I!^KQiEs$@xwe z_Qqcqo-Lr{ZiG#7aCT7%H>SZ>HwF~a1^r;->(Er#vbJ8%X$cb?sh!upR#10wHzN4B z_Bz&4B-vzm4Gy#P*M^g3X_6{&ZU*=>fjdxFndJCb0At<< z@d+-`-@O6sBbI=n@?&W%F7NZTj#D)LC&0tAM%r^GZNIcRzF0^}r%+(s_%g02zH#GD z%=`-D;n~=tRoE68_HJDP5Ea_ah=;(L51|@ z9mb!F$$R8M4mYTlGI;8_t2nhKKeo2EkO|_3!lDzbgE(yxNU~3yfBpQ7hwLsSzln-P z%>Pq?`oA*OKPihYbt`A(?*(?UN7EYyjuL|6<^vV{1kwo-Wb)sO-Vf(M@+9Q9V!J~Q zkibIH?acyYd>#Nx%ZhnFEeqE|n-vzJ)<_lKYO4fAsF#*i-v{uji=_Nswws($dz`Ma zxe_HzNz1I-)U!Cuem6X?Zf||hOWD!--i@CF9qsM|g${7yLgoI@gUp50Te`Ie()GFx zi>U$ZjO;pSb5n*AIl5P(=#40FU_<9Z#is6IJzYRbaM6Y$bLJ!^*^P_nQFI3fT`q=0cdRyQ$E!!nv;)J+@~ z8h^%6N2v|TLE^r+9-H{9EA!4sY}6_*B5?NptVwa}9%kjj2Bv6RvD#m%8bGWWWk-U&PMdW?f;X;X zJpN_D>;U1Uzgj;Y%)Q}3@rRb+{1Z;B{mZG_XebsU3Xy(tFk2Y@^52GnrXY@bap3&S z?4_G=3qWZ8deyeof6R|%s=z^lH&k{rm`MCyM4hBEnJ1#jmd25-D#xbvhb)GqCWsi$+s&f`VDBlNR90-=m zv^q|5O2sJU^@@Z9m~Fq~IL$KjxpDG~=yF)NFhh7YS=8 z<=kcmZ+9}`Bx(xkY4Q`pY!nu(w^v+!ie@PQliOxGglipC1Vv9Wgzc`m_CT zc|)OF6triE1m_yFmHN>SzK3a+2(Wkn3kupZ^3KT{XX@A6i&wkR8~QTZ`{~X1ryly040~C z;5p5*&va>l1YQkX>rAwK?eL1`v~WL`^O7oaoIr!MqN)m8)$JPg8|FYq z6qlZ2T0D$F;zKfWI?LfIGyp99Ysdx3Mce>*`>zapn92sr1=shigo5{^1a?_0I~d+@ zJnJ8KT)GwWXfuZHpx;L&i;a~(w6MVCw{lB;PGI8I1q_>7;DN8CPXenSh3=^zmdwo* zBnI4QAJpF8YD?Grkf1FaE&pmrQybt`X;y|>KEQZcMDqsyjr%M4H`$H6;f1 z{@Kl$rSW3f1im&viE;txm4W#zFB|b6j=k!+U!cf9 zDYsW0+PIV|iat1$OfrlKb4p|=IaWKf=$&Rb6)~zqn$Qm8FjtPSWYY*?PHwFa^I)B3 zA9O+^f}eJLBu`tq#5La@PSwU+GMb~#lX57Dn@N6vrY&vRc0VJSD%cFa!{o-IT$yat>}PHa0o^;gL2()+xDhsl4blYWFAZ%* zY&OC-uu!;_(yyI$>SoT1L_|Bp_M^Md`(Ef<(*-$vg`rzvz7!viu4D(^?a?Rs<^A*{ z$>>2G*-k(F67cz(9_$zr>6j7e7#~@`DY9Cf6E@h$30;KKb$P~7_{`}3OxelxHu6UFzwEpWpr$#YSHR3 zz1VaG3t7js4OzMV0MOanj*T@}VfYtSs!%#}UPKVNPz5)0Ha zh_0Fxf}#%mF|_i}Mdc@nKnqc9NJ?^*?!aTomsp?j{S# z*^@EPf--Z11OC+wNZh2-q;Qtc1`Fp_GyEor;u6vv&;Il zvYxxxLxc$ig-Urxvp?L`V;5Ouiw`{%lVK_{-;NrQ23qm&748a#w zPYkifhg`cGvePJS2eci?K+mfyJ(;(c9J?1NiuSjQsU4^mQ#m@^gsZ-lIaW4RRt-(n zI1S5QWskg;I0efNmf5+>KbvHa<~&d7t5O-k3!A!Q8{Rk5;sJVZqO6pG=94bFT{q$H z_1bAVl?w*>T(s2jc!n{5(6Wtdmt~zNfuNf#FNuFnG-U!z$EoQn1P)uqvZmo+cQ}jN zAM)s@oW+fPyATwlO1kbrP!1ZkieeAJ?m1NMct*2dnFd=SD347K@LGgtqAs_$*Qh|s zmuhf+T)7E#hDqcUN#slzB{(aaN#Et}@d`H;p5eabLzdnoE(c*H#b^A1O8NLVFcc8< zE6(#92pvHJ0a5*DF!bGxHU9UWY__VFoVE(e7poJ;q&@kl$%(jyh!z)pFZo{dgu1Yn z1-LwaT(d45Q|NBoDTn(s1`#PQ3wP<9@HYKzhO(}AZMfj9aI}o~&FXf6@B1YEBy4_2 zE!}zLXO&&mXBDj9$K(DC5UvPolxtMzoWBDA+2AD(X6`Nun>Lss+-xAN-)a8*l~j8; znY8nl1&6kZy$okzzxi;Kb6PT-lcT#rpA^&)K$B&GvBg%y!%Wm|r7B8D$x_HmO6ov| zC{-LIhKm$IlfJ(A=*UI~U-!|2+hlb$sEW&0)(shBY6%HYT1PDBYVP5t!=^)2)#h1@ zLd0&H7Lti_GxV17<3mX`WR`|vVA1TpMb*ViL2GJmKBazM(^jGZwv7(+^Qv7SDiYNn zhbOxQ)~y2FJHdcv-Ce9jBA-chCu?ES+OV$)mWhjWAS61fu-Wva8AfG)V6aID+dofT zq}StfiaXUvMbvD85yz+Ux}D!EdjpU^vMiO`$3BygjOxC&WHZ%dj8sKJNkTqEYp);T zQU=MqCL#zD|0b*vOr#G?;9=(CRxkR~rmkDl0A?9oE=4FcsJbG|wM2LJN!>--!!BM@ z#o7j!(x`Oplb98$Y=R?3&b@DZ-Qu&Jz=5kmgoSvZv=y%l#7B%^Aw>dpO;}1=BU8)i zh>@gBZmqeQWOWpDlador0Z~M_FCapsvr=DTh*4L8A;17YMOnQc5|Bx$n>@U7!x@g7 z7#hLGPgo&d;Y}T)Vr={a#|i}POT`N!tKwYkYED;78)T|;qAaV=xMYeYl6_GSc7h0e z%l8@b_v&Yek^}12K0ilJd8cB;8o4VVSw63)-qxa`sa|iH#Z1*N6Tx>OlM^o1ONXze zJ+GweI3^wEN!_ihQW6%+n4vLC>2VOnpZJxZv&0GpXOS^|OgrXMk9LlNDz%`*Al+G% z?)M2C?;Gq#o@lSuvunvKR@EOWZ6!(UnOR1`%pL3tw08tIp5M4J2GhMiK*aZ`)hzp< zk8gm?!e_OFTgUjQ=AWhgyzyW^`TAPw;s3%zVABMOwc6Y`bqa1+H11J)Xy4xu0ip=I zwRyrq(FJz6X;BEnP2YaJ+N`HWT??!V?ZeSNUK2R~s_iZ1JLBU|?1eLQEQ0!oIGW?1 zDKXD`FEiJNr{R+S=(u@L=M_%zUQN?4gINzV>ZST*oq_jQ@yg7JtvwNBrFp(X zLeeek&G(D#btAD9m@!Y?)X#;`ksmN>j9vslss?s?5svP==R@3)n57TYR$h)z+BtA+ z3%KPiKHvKN+IEn%-2*qb>b>jj(qW#4+raubq?Mzr>;;m8kBiFkF+uf>-G4Xl14p?H zje0~pe`2t@kx2g)B9)9q+uWB(vOMqDz6c@b@aU|woJV*r@9$EY<#NK;@D;UxZ2So@ z@*7guOMJws|2jfnp2J+8qg*c7vb^{=Ekmy%M4I|{2=n_tb^rfge*2$LI#^{}X+s(1 ztKXCjL9lFgK7}w?^ZZIs!>`d0+7P&`$`-i81@VF8LR6ZJm`mbh^yQ?Yrkj2GBywTy zG%%YYcNve#RTM`I@0-jSx$PLcN|0$d^!K{XdC$Jiy3ckR!29d-7x~w5ZSfvtXL&w6 zv<|lp;)E4cHDzn@jteT(PvyefkXp1MM;+?Oek%!W>c~Tx+xw7!gn&#WW36pw;s;c_ z)0W48qIIm`gzJo_;iMl;#T}iGuq%o7`6sPdfR!8Xi5qCGZVOb&5Gzbve;pF1f#pw{ zRO!S^`vn>_mCY6C3D~bPjC%5rOU{&CNpxF(Pf?Qzme0$6L3cUxV;jY8GpLI)W9v3J zgwC9rj&6ly{3?l2>CEQS8F6tFCzEBqYvptoySc{bp{gmDfv&O|Eq_8;k(TjxtB7rv zf{PwI#mKyaG&Y#cHRIliRZvGyZx2Emmw_8JOvfl=CveDogdTL~JBU8Wt_uQvj``_C zhUw)HU28uteXI_QvJLAQ^NtN7*fYj1#R8Fwam~%WMa%wtPecmQb#bgE*;`Ca>?vN# zVEza9Dnl5PbxVRB(5ix39jmB;qGn(4QeyRvu2R_&_zaBQ1US<41Zr=22Fvc#KRE#{ z>?ycIdlfg?wc>=5(Ea;Pv1i>Ln>{Ka;uw?Y5yTl>H*j7rxL48jq;-i2) zu$KrUCWCLSK!2ywx^BH%S{K84`?eD^0n9$8sxYOUk%|!9 zt9tKpD#`ARFI(!e9R{l8T#ub)1mUi91NOj@Ht2{3mk9W935S`(=h=9?Z2?NYW>Aj5 zK&MN-#<=_%n?lF9?XI~;N?a#f@QmVWxiIPNZVFFA>L#^raYG#fv+;4QxXM}IJgGg> zlFQ8p%$xxs;A)RHyC-&$Z3;iVS3O!e-d44bl#JcV;dn~e3=T%Y!HngqGkXV{^%UC% z+21KkI403MDXp*JgYKi$>3K8lek6Q)hAsPB;>OeesziQ=Gg`(zMuwP>Lplb{u1A(m zpcy4C>dc3VS2%<568XyjUzo)!1Co;hsr46HVrwJ&irT?jJ8Y^ubbu8S-ICWmhFki( zurC@<#fl#W@_Q;fX|oPC<~wQzd(36No5{y6jx%ixANTV;k0*uk)I8IKY$Olr0lhSr z{qJ+Q?Ri?Kmy}n(5pQ38A-|{tmbpo*{4Z8IR#cRf{izkt@Dd7XG8MX!ioelIf47R? zZd{`FOuDmb-|qXc5VajACZOBCh*$LDyIEUJU&t2jpg3sB?2C|Ezerd3VhRt(g>7udJRIh57!7AqQM@8_{J zzn?H7GKMb;~_bDdQCd%?i0r)4&N5cEpAk$0+sP%v40BX6ulF?U>k-imy= zARQ&C+;i@KI`-QD8dgg9x29Rz`$#WL!;I%#FZ7$w7s^Qit9hnTVbduNwbTUFvA$WM zsQ3x30?=$f`)0I)A|MeMai65T53fK}Q}_+#jL0}LpD1CBBp)_~y5LNKPOYd(LN1tD{DU$;uuKrKG=(rpOM!OXSq3ddW_8n< zoO0`$?I18BHQr(P6wR)*FmTd6J3b!%3-oWqOO{LqsYUPP!S^xtEvKC4jpw%>zE2o^ z*sWN?fIx+f$XzhSP-73lfkcHxRQ6C7Y{c{e1?)hAMRB5e^yHzWLyBFDfH=hXsE|5x z!&*Xi+IPtKIxGjI7;269>CqwgA0>qL!4Ja2sU#%^gaKm^)53@&0t`DAurucFssir! zy}tsM{VOvi+KP|Yi+|ruI!`x!j4kF=+Sn>1$i!+qm11)Ppuu9WkVPqvwOlQG@4UCz zU^FmBZk(#iax2c-kAIGKE!tqSbTwK%ZRh>d0Q>2npjBICaomu8$Kryckf;87e|4j{z_J~Fpt__Rzf0LVw%(#t&J=6wuD2gv<2nLk zW(j@uGq5JSSiTeA;ssT}kcxH;6ksPZ3Sm(oM2S=RVob6F)gy>KCZe`5lH?KGFr*fAAXU3=_2JI$4CiSL1#^z7; zPE6(x-O2TVJIj?@DBY!7Ox=~6kQg?RPnu4e3pe-eA-~X=u0Q4bIu0j1Sw`2}i;ag? zDE$6g*X+gXW>`6794aT%j%_jTMj?1|W@OSUkyy<*Y;p?*8K|j}cjy(#=EuFIw&56J zl6E|@dh^Sz25Jy92c>28#OkFvE+HKA)YtKe`(MWLJr|Ysv;I?;pExX;v*>ti*$Qx_ znvV{V2{GzJZ)TgSjV2m;gGY`Qcv#l6+%#ZZeX6SoBok|tG}XR6v^JR`ljugy&J9xt zO-XDLddtm_1LMc?{fx3tUg>qH@^gf9$1CKd0C8QiQ-p*+gs9S07#)tlU# zvGf%DQsm>zNmBmvKH3Ev{+p#ExRo^J3QX;f>DTslRgrLn0dm-CPBz!6Y|Jv z3T)ibZxgeo3TU^15Zn?@@CCqPvq1&SAL=)Poxc>l1;`oHA;}#GgfnQA+*Rf%Xw;7f zGLiTQyync!$4RmC2P&Q|NSd@mperih}bsHxi>W(4*CQ<7HG}=;Zp~PF`yo(k5)-Dlm^KurNZS zsu0Ik&DZ~jueS<|>)p1z6M}1ScZb3YcXtTx5GdT;CAho0ySux)26uON2>JN;>3+Vw z_vzCYbyJt?edc=C9P>BF(3UltYBw+t9vsM`FKCQaY0NQ!9hPow{YB9_w#QZ%Tt&hL z7&Ze$Y-EYwP5G^pK=|vZ*#?IUO9E8M^l=vq!_&m238W1w(fAmh_OcBtWJ?SQTwo2) zEMHM9!M49){0UBpj-HXKKz|MpeWrfgVKKbsM0G(%t$@EVgCZ{kc%*VcJSCKPEo=(% zs}z|+yxvgREV5Wd>l2yQ%@0z^Tr1D~s6q7~bkyCivcJL@4s!X}q<%{_rF(Y6#Qh@= z84&!558(9q?h`5j-u4M~y0!C)hRk9LoZ}>8dGTDGF<*L?w7YYywhWl)a}l;2{Im}Z zN1!$Vu$E`^=sGTTRp&HD)!aQlN5elLvjgl-Oy>VqW2paMSId8DF^MW0|Bx$x zb#7~kEr|n=aH%Vokx;<^b4fJ5%3*~DN77N(C6oGBu_lU6pRXWXD=H9%4uwVxKH$j=ph$zNh8XgM9DipAg|4NEtfkybw{ zS9EgitY~m+iMhV0>Htfql>4-(Y~QMimO85*6+Y5|$D+h}a}MjZyh&WCC{YDKXL6QS zx!>Tpx%-$z(t{$&we|^Fl=H;T!eegnk0Dr7V)M){^Z2{;O?5*}`{blkYash`2ibNuYhhXHXFg0XU17OQe-8IHRW0FARhFnnmCT`!V@ zLnzg%j2Yx>D%zrPk;y}csxq`5WVYWRVi{^*1)vdLLKZbJ-8R8m9Y5tVvPd#dC-DcN zAAn*i3>?QQ>8XQ$9VqG_SIEcS@)M2pgxG}snsfI*&&<(p>V!VY)6&qQ&AE*E1uPqan-0ugPC(|kbB~0{D)#gS` zbB2d>7>uo2!9pS|c0wq-wgq{P6DxaVr+AERf9mQ}G&j4g@k3M+#;$oesZARaSq@C5 zQfqMpYdmvq|3MV?Z`H(aP<ZVKDcKS1#gIB}*G|wk1^CVRv9j#5qUQM(ZveAt%0hcEb=pL@`72xF&bcSWGsvNBVH8R;a?DO!*y$O-cX#aoqgM&&E!55%9pL>3`1CG)2Y-)C%{}3E&`#kE z&W;?h$W{csw#zklI2L`EI&b(qn(q$$6b5PS_&(|EW)tNJ_T%HFz^d@C9X_y4!>?*# zL1ID3dIQbDIm;)Q^~-2xt-P{YnMcsEzMg}!)XHeYq+>#p}1xCqMlsuBpV zt_j?|m$h7PO`g0)`if0on-Xq0fpaYq^3n;9RtM z_@Bg$pbhS)J=)NwVWyGRT#;OQk=$HD&;!?iEG}&19^LjXTW`UPKtbI6P-=^o)kU4I z+G!`)SHExU*2qxyJ6|x>z^Hdc$Uh)_z@Lpf?Iqe0RLe8n?hZY!yzVyBU-qi?9=}ZN z34ar}lN|Q*Mbl-s#kRq6MO9m!{qr$4AFs0*6fQD8l3d zGo$UM&r#9TQrtdBTS_R;^hjrZ9@)4r<d$Sz|$C&sOdUv0hdwT=qJV$b1{>w zUrTqE*#k$2v1G^_v(pCOVI>bq{@O%#YG$ z(s?)E1+l{J4hb}W$M+vSIeiER!&cbPXqBrvPrh3B8^-x97?8U43S*QGijal|u3B~2 zVjT;!S#=m3b1^%&-2!Tr-wS^aHqxckmql{3GY7O#!JtYA13p7xxcl<(eHreek=DAd5*9V}$jT@C?_%Lb?fnlzhMbP6XQS>8*|IpHhuguVvun6U2a#|@*Q_>;T!Eq-5>7zK2*GV zIDUa8=iI{a_7=k{^hamLa?X=+P1X9Ru3?c&?u@4TRUzNMa_~+BW(H4J{0;{!{Eyhn zj2!fK2LilN#Xow2ml70RQ47zhHe?HC!Th*)t&j6UBzRo$mdp0TbfSM86`sSPI*Gb{1y60L z59e%WTnp?f5p^)O>misQf^5UGw|_+p3I&#&>=x2bta}d{r@(F_t7R*^W*|I4NP3P& z_=uwD-4ShV!*)fQa=~+t4U{gJiA2;Fp(-#WzAi|6off9JhdnA)*k~#RxAfrm5~$oT zeEdgTr+@XRg2!jEtA37`{>NTf#o_<#OJpXD+sq4mAL6IbAmd7@#`2>S(v_aK3t96L6n!(XyGsX(BnY9IrZAUu-!Z8&j4R zepY6of;S!?)1sTV!qjf;L5dRh(uWRXU&<%Rv{I*2KXiCR0XT}|RA_Wem$dG#pJi3ip7pc)!a*+^^*Onwxkq_|n4;`UZ<-FQNAK@4}Xiik3l2M#PJyx@bF=7YOzDC*-MxrVjVIgpy)HX=lx0I7vxEmDQ1iqAS6yqWG^Hd zsO0PKkx>LwF*!4$#s)nGU>!SgzLdw*Z0ORl_SyXfhJwu-ju@D6K`z7G45s+2%QE#**oun0B(h^niQj4hwBf^}V#n4fYUlX5e zN-Hb_rp2BuLriRHD=d{&*=Q_iU;8J+y~72?|Dcqb%qI2Xd#*bUCLD)Zp;DCJ>{Isb zU-TJrX1yz?bO@(Z494q0$GgDB>E+U8y^Ez}hzr)#qsV(R$gt(Ha|+F_<0n?T(roTT zC)|~uFqJ6;t8_bb-26%@9MZ@ReJF&ma2mlutKa81qpj^~{7LsA2_LGVnemXR&aYY1 zCbUTZHzv6@f#Zy_*1PfN&7JY$Wunuc<{CSX_mWPZf5GYh(YVY-5yeqH)ytaCAL;+p zi2VEYtP?XS=P!U3c$I+B(A2ot-C|pvj%ISsMhRyAWXSQihwKtX4=b^G0W%%2 z!=UhUC+VN=2Z;toaJr)z(%jouthy$D2Tl=i?^alouIlSBsJqAQqv8i>DE186*49R# zPeWKGqyP2C|6W&Bp8jV!=_BYPuW(Ki90E-c`4tYM?D(sYP?>A#b3UXWX1yhpcKv1C zNm2njYud3!B!&C6L5EZx3UF2g1?fX!h<#0Q)e2&g!e-Nh<;r8rlcm1f+vf%HCkm#} zu>j965ooIrC}bhUH02PPwr?P;WU<&CkuULI4Y5elavkQoC;)47fc%l~lN&1R%7un! zL2>ipk3eC@>gv=o9h40H30B_t`hheO*IBlfN;G9H73ba}lTtRteFOjSHpma`jfD#h zNO_*xk?l!Mh`z{u$9RT>%Su~2B^@Rz)Nze8b3mC;vK{M5I6b znpLPLIdN%uIa~2EfH7hiw+vj5GMTMufoW8&7Jb3?Zl#5 zR%??DoZ;P2|^;*&Xs+RWbbv^m~zJmvyM9TH?Cliud!!-)}+zu5K zoa`lX)8;qVA){zUMAD&{<+EaqB2^SWHUX$M-7a%_n2kdRp%NoW@(4!6K;*!c1Kk%$VzU{|@8Mae7;1k^b`q;-%zolJGYTkYUzsfpWbA*lle0fPf zlB`IB1Ecx0#n_Gd(4p_QsUqQrXS4#d?ais1p>|y`jxzhQ#ta*OxO;*3A9H&%4qSXA zI<7F46QYuXe~u&E`Lpded)BmF-lyEaCE41WM8wA~VWt;DoKfc2QK(>^BIzCE^D-8l zfVUO<3bZ5@K>AC`WfZe2=7F0u$9*;16|;%`)+L#EUo4tdHZLL;_1P$VIq-cmB%CSb zA$uT<^^9f;qr8vy)+|;mDpD+Rmy}ylAD1a`mJJ%^o{w{?8RJsd$FDHKf45nj9^otQ zVhDMVHuw{!-c7M+^U=q(I>2>mz`N_3@ADrrd$Rd@Wc_EoSbf&ZfA=!{mwGYzw_<7h zj8&Qcf#ywrp{hzl1RZvVP|M7flLsA2gd@p#3LL^lc`;n6x=Wj#e2fbD+dDm^w~fhf zninIni*zlHEw86~LZ%;jBWyF>={4mr5GH-uEEKJ{D$}x@Mapb! zZv~`QaF7PR8e{QJS&#+1hMs#K3HCCiRZ<}BKCHiDil)gAwNIXu@dpaM&%)~J{-%;i zy&R=*q1a$)HFp;D<4rD&9&EOL-omwc)3BGu(cEKeGab#ku2l&w z_=CVEZdB()V%GM8gT!dD9Y0lh?5ByX)N;5Ga|B)*Olf0c)c8;5M1oR17*T^18BW_~ zvDY=ZdJW7(sx=8&du&;DgW?tIAp`N#@j>e{J>oHKjRkG-CLRN~Eoz@;;NNcPK89g` z>3XUB^t)Ee?BfHm@$zd{Bm!bqdo4LG1zXHD0RTNW4k6 z2xEk4-c${nq-k#=FGK}6k=slvKO+?l?x*v!GV*M`o^Y4!e@j`UUqHfI7C&6MpCG6s z)IS%7yV%4%P0?Hzy=3{C_)UXEFqLB1Cf>~b~yFB)h=KM-5r=Q3<1lN zwSc?L5XXv);TQ@?n`yD;mPx&D=n{HKP|iR=YDNr6k`zgo5zz`29oKwG&{g=#y?^)k zOLe8-m*w&RkuC9k>MO$k-yi>TPtb51nT~u$to7pkKko@=BYQ`qf4?U>)nQz*T}qxpm@60<%Z+WlEv$gZ@lD&$VcdN4Tf2gosi;$;%EB@Xt|5TMv8Ip7N%M zZ?@4R-D>dN@)Li$fc!DWBhjSKxt8w|{eQd{LRmaX3gpgRzaWi;Ts$**$4$>?k2yvI zJ-nV%k@%l>F#E2h5xVEDE&N;p(VNcQg{%kjSYWb-B$6emENlCWwf-JP8aMPWW9=sH zCP@?{bIpfnGP_{%I#;8U0!%|iJk0ZqClFJeWhWx6Yq=)Vh9q3Wu^T6kxlD4SPH5Re zP$uEwd@z04zEeD;Jf=maPsp`184egwz-jBoQZSi6-ps(S1zCyqv5tk*=rorY#n%p& zoHSSdkPSz#*ASF5VbGVvsmH$Dsb6rUsK9PI1F|fbhy{+PiKoPoRHnKhaFcj!su%FD zj+$h$6U3)vCBF%?5n2>D#d{mQs9NqnN7JCTbDq7Zy6YX;)@>rlE3`g#w8y%pG650q!i!Gd> zaB9O~4Q?l;Q5OB6+R-I^Q!tXE8ifX_@AXl|LjclykdwQ!vfMW4dO zMx6JLgL_C`x5S+qPx+pWt6cw<6HhcI@LhN~+*PulKk(d0=;S(eX+?o{-9f4w{ggRB z;515?Wf>nPkVMOkGo^u{<#z}K$T;MywKJ0-(3B-NO6{7#>|?SArf9Dr$whC_f=hQ8 zH$Zd`vLWj4wk*C4vLngZEOjyu*TD{QW``@;PTajvQG8Hx3u2YpRbmdlBo+bCFCYwl z+)p)yI>MGQ4}}fu1kqV)-yi42am*xrR30M0sDHPu(iU?Z$2oZKD{T^Wn!GI6=8PRN z-+*8a%=x*Y={)`?=a~s>7AGg_8cE2$TSHH?XvPc`Tl6DTPN`J6m>Jd-C|i626fRB$ zhBF==ql@LQa6#Oph#hcEBC}7Cd-FhuxsN!3Y@o5Z`L-xV?))QnT}^hLK=Hc%%vDXN`c z)WA#|dz^gbd1GMNKrg@*Hno|m(3daN1+Q~$yt=bOG@|awrfXI zeeZmcyv*b^t95Wc$5qbC+G2Ova1R64m>yTQrUXAxKJS$E^>u>LCqku|k1OLf^O0VL z_QVPMe$-^@`2Ib~Iq5Uh_jK36xg4H$)EIh8GjMlKm(<*`?A@3$*~BorEm%oX-BceC zZy`6RkRp;gH5SLtrLW2++t1E7KRkDAVlvAlll5Z;?J~mg=Eh*EArNWZ=6-}loVz@? zv$EBSbuHUh4^vZ&1EuM?zjksN;MQkH4vZo=i6xNLI600KYmz#p?r*3R16K4ouKeA@ z=8A$(PcVb06-P2#^?q!oUct5%pfWb-g2#*^;Uti*TF z9-90lI+((yh-Y9|xnnqHFZ`8k%-D*n*o59^DO?k~P-}~Zj~y_f>#eM`%v#asR)2f2 zCl)-ze!G!5*=M)HbVxaPJx$Vj+TT@>$9Zq@C2S+#$vvTGHAEFkLQuNVs$-i z5tdW;>EW!EhKtLUw$zZ>T~wQ2y7%sce<6!dsZBC0rJ9hBT`c@@D|pLx)RbsKX)C{e zM7N2wI_{6xV0U&zU>X2bUK1qVCLGY{%J4*zvw{9&Izi}6hsTTGo|*h}ts*^+@prC0 z`G_e#SAxCwG?9hh69-F~wQ zQf|X3G%RAT&!ab5gQ^N)K$d?!GJjNDARGP407_d$Cy*+;scS%F(*;nC(y6r>bmg zw?}k$+dr;zZGa(kbgKNRMTXWjm?&Z=vmOthntw5uVEYoc>Iq;PcuRLX-{Gq;6kDc9 zlB~W>i}r{#=lw07;|7_lGW_YwT5S)_U>`$)u&r?!c3Vx*vzMsy8|sJl8G>tYO*fg% z7ipxQw|p|8`G#NMTs@(cIAaP2jqJcvEHrN%3BWse!a!npEZ@#4G5Doz?U0O-a@e*x zBUTzU1wgky@ea%xDWh7y(nY!PWE}|z72UaUZHYoJE}0t$HrD;r7qSx-x*;J@9;{8_ zR;61{^rym%!lrgsZQUPhJN;#X#BD--*~15!i8_LC{$pD+OJ~>?r^j>sm-+gLGP_;U z#)L1P2%&W^+jMX^qHPl1kWvfg^e*4+wl{i}1NJ(% zE#5e^AZQFn`xjMo*-Z^tt(spvG(~jA&#{tVr=t=Dc(%3S>;(7~Z$wjMpAPFCyh-W4 zmE0|wpDN00Ddt$;5tp0po`tmcRfFMc=tjZUg!BC>^?pNsC_9oJ;5idFd5{f&%dx`B zEzstc%KOgGB{1S21)Mx{B;A%ggJUXRuKQvv#i|A+Yw{|5VGS_)dO?(gEM5^uD~nC5 zL-76g)$ZT;U00Vgq9TZfb^nsdosor`1X=}r3+>rcum@hS1!8T?YeueU0VG!}rUx)3 z-4vF9(6VUI0Yb@MW_&Q(vD{(cS2P*}f@%B#z@i@BHHSOyf}&tgJyJ3B3@_~dc!2~) zIZQokTgemE0MgauQKw2MnyHK8Pdj&5Ai3hUG9^S&r0?I~8rS^ci$6S2{;K_?Z{yPVI)B(;~ViPTHDxU!WW&(L#;e4ZXD+t z?KpYwX6P$}51va}CF|BE^QS1Nxo-d1)uTA76OU#i3svg$JBzxCw| z?F3ax#&|1SliF(che~9MRLJRf^5bxH%I5e|m(8z0qn*0C4s$Qex^FEwUc24@-VfY6 zFcqhK%5a3AGWvfv@%XPkSi}fqWB4E4K;Zx33F9{mFFw(24bC5De8Bp&8xvM-oJj7?51vD)sYW&auC*ExlN_AAo*Nfem&pukH*o} zx*O_GLxMs;vf=F@U5F}(J51RIHm`y|kzK%iW>M4J(6yh!{vkc3@T^;q+M_ZP*Ie~< zJWhk-B(iK!+(2r?N)bu1CAyD{5Ot+7Fh02>;Wc!s2Whzqt(+40as{|oh#C&0o))E^ zdL@P;r`2o$h~*WH1}Zt%X);fNEQ$~Pc_Fy2cDbY#GIW#x%#ALSqJ=4bc@}&)xfjKU z+wJz`Sy><)63gNQG8^Tr(1V+jzN1&>2nRE>iu_a4=~KYNk(#in3~J=xDp@_T;O5Zi zlH2mtX^0i#m9A~eY~I>xYb3#L&XOLJvwA4L+UGA{#p?q@{zyM!FtUT;)z6t*tVI&j z{6*n&m`u*7(JT=I$DITb+kE=_B9E6<(ma1VI*K}j-}%7#X7K`Dj9T*(9`47mJ)+hN z(u7@c&s3Ig<>9MZ^uM1j&6&_o%+Ec37`)cU`lZlao&Ev^ar2b-p3Q-_nb zUK~d=MQW3TJua)2M6TRAO_xe209V>McFkaMZgGXETH6eLH{q?Yc?LsBN)k4qX{Mln zu9Qel7_x|g@mn;{P2abEM@ZMB#M?|AjU>YZMg9!lqxYl7>~!zH2R_|z-+u8@y~QF3 z_|C#IWSRE!L_O=n+9~%WgYSa_pliVQApo$hiUNWHOkZ#dzr5N4ezn_9z#UEBRjbx@ z0p9og=wO_MYKp<0VY_HPx)y_~_i(|wPKKK`Yw@=bzk7;{bf5icxux8dhjSHso`yWW z^U8c`R=M9C=HCwk{vP*LZ@PaXof$m%&XLTY{;U;CSWSe@i28I<3g98 zj2c9#tu18|-z43kIbLAF2FZJOT1;G6D(OUL(@gu^#m>EGMXLR zl^M~_tvNOcr!fynA@WU+;JM>|Tk$G3F7gW;XqBcjEWDX&G1AS`(2-4|0!#4}Yn(P~ zf+HyJ6{n)uV9HpqG;x!-Ql=HXyw)2cM9lQ3s0!{|@i;SYJjJGE&mfeJVdsaj%yfE# zUX{2?B-ZPPMiCgAjabi@S1n#2@6sNBfypxhCtWW{DO#JCu<39DLB>NN@LJfLMKO+& ztva@13GYGVvqq^!*s3J?T2*AU$Q3Ngj2NLfNtJ8Hn_)7Gv44nZ%8RVfmXTSLBVzN{ zUcmk|rf5i|KcaL3DzyCqTXkVe8s~&W;D!`P_i`>CdZ~`zz;kJq=gImg3T;vJHSgre zFFQFiUvHg^V1ul2nJnn_>gq_1rzB^*9zqY4SBC7``IUWwd2}@Hkkvw)-m%r>1m%^S zC^jG1bnDL6A8LZr9z5A!WYfwr&zT;7_l-T*v~mbs3_>>H@R0pMl{l0Rj1V;0clzzJ zVl9c?TAmt?0s9)~*cBuQZ{`Yv>g}o5k7O&=duU;z)Q`lJyVLM18RA`{hZf8mupRNM z9!wYg8kOly34y=gV%Jo;-{e{Y0VzkX-)p&iC+FuAsG5*}>ALN^&9*GRckWKIt8_nS zhT4qBWYEktn|I+3n4H-&m@#Vy>9$Ts@eWh%gN63OHHUf}w}lnfA`iQyh@SRDDt0p~ z?MocdmRil(kpFn%j7*99Y3R@%K=n@=vDUP`rMsUs>X9Sc;&X;fJWI=2J}Tj!nurPp5W9@MXaM^ZwsWoX_k}nSvb&AZP!O%t%akkT-fX%RNClIw%on~@Q&qVy@awwjh zcev+0Vm?zL)YZ~y$r>rhy2eVDHlEhV2*DDG4YkopFrx_Dv}@4V*!u8@5*V53X}3P; z5{cQ_g4_OL9TuY*>>+VgntOFnV{a_!vzq%9+tuxR=!j|~Tpq#U_9p3-r5Ct$S^i@# zx%Sew1%4X6!CIP8@UAP_pdoUj5;T7?*2i(GDe-#_b zT&_(-7jSPRn^mPChE&z@Ys&deX3aP=z0~Q9hVF^LRBP&dy3|V|>Am0%t!Lu;%*9d;-ZzxH%-!Nk72WwIqWXDs+b`ueedlo9NuaRjri5 zsIhm{01>Ky31*zw4U|oL?93f&M;#&g=WmuR0g>;PZ2_Aq^|(aSi+cgmKsPWQSJ?EI zeLUMKJQj3JKi-M$moL4tG8M(NrNPDA$M@o%;#-;{dMY}}XRajWO!zJs@!lz(iMs=6bl zLuVWLWgR`p*PZD8Jk{N==@=->GT7^$Nb-Qd{ur3NJE99-Qg2>L-DbbW+a!CUv)`m} z{(AIM@A&mfKeb!jXF&8Fp}Ut~QW6G(6QHvk$T5_1j1i^jM}9pMHNMABgV$y!6O()- z;T=^>w&$4;E}Q$7xhsM*as{vOs;z>HaxqK6S2;o9fCvGq2;!B5g6LJjG9Z zdC$6=cK}`@-&74*>d9^4+K7W?hb?9LWWJmgp-`pMLIN~oRw7=lFZ%$jf80T+;8n$c z3K4d23-k$(j5PkxW|7zoOZ^?|*-;w1DMsqkS%uuiMe`J{|4KH3>Y3y| z?Dh-Xu3b`}RmQcR<8L8W-0*&2m+6@6|uC7haWvP zX1}y9S(dI`G|;NRgjFg34cnNd%qCbiSC-SDiEhq&s!;yh-J-H-)qE>`#eq3AX^UaY zd)VXeQ`b|c1;_mg@6%U~sKs*i;5C(ook!2C4dVVx=5_LZYi#erZEJM;bA|6}xp{hn zUmjt%cxfJYmgv{ZxB1YYK;2B~;-F$3O%jqcDC4Uz^)=fIl zyK{R9JMW~a?>=Bzv*>#(%jl}wy>caex*OnEc$4k*)B$=+8{5EL&*$xN*LkWXiSOT= z&Hm+O8hxYjd=^Oh8*>oM{8l{UMFvGUeya!jK^HEM=1D`DJ#y$XF!MKY#e~_j>U)0` zsbXyy9`k<5eu1`X?5$xD)xIKCcFb03^OKVkgpdw6SK>CJ<7uusQB!M^))hxQBQw_J z>1{LAgKB3n`*HM1z+8}RK{<1tI7pCJ6&vPhFr}T@O?NUbP&^v=>XFjcvIGB@!pCT4 z8c0_Q9j}^RLQA@%%ZmbcJZtPls&9Z{Ud(@3z3;`F7t94-A0qGGpIfr|{ZbPp>i!uN z5Es$e;O+(omMdV1Ok8Zah~rn!wm#ZUiUUU6SzBGK6WuW8BvNY|%-=FZ2!pl6!k$@s zDUiTOE}dFJu!43xL#rVZ&S?~wVN?v;kry0LAK!Qqa$NC?VS(Th&WRod9ONFrSPXzG zW5WwOF&Qp1Sy`PiG_Wn~FCdL*GBR;+I;rLI%I{{tvXIl#4}UonU$``xAC zJiP<$_`S%)?wI%yrZaADTKE13qn|{!o(sE$GMn^O|d6^wC^(hiYVA@o1^Lu<9-J-$@d2%6Aaex zvbs@>Q>WEMm4Qm(Va3JUVz+aCWN4|ci3r|^Fu&tUGC8FyV5Vv&7wUGb0Irv&O^KPr z^UDg{AbEP+sYS5lOjI>-u=g(tYfvMRL+>ckmjFb>SIf-7#5_x?{%LjfL&f*{k8{M% zrE9@JW!+{hg(1!niR4mkcCCm~LGd5`YB#J1xVCLUh}iF@OSU+R^-BL(3s{hrGJQe+ zK7@$u;@7P}EKACcZr*~jhK7?nD?wubm4>Xn>Er6JVw!M87R@L}7R@Ta%3>avm^uQROo8!Z zXlaECtpJ)D(Oi%SLbX`EQE^<9$}vY|RPrF6cG;|UY9>*?nrW8M9V?eYjEPdB*ze_{ zSuo9#SrRVE{CFc(;c(WnLaxA5R!t#Mp*H2qMj6uVFZ7rdO0GfUu0e9%s9iq(LC|?P za)a&&{C%pCs?c_%tY$6POZJ0UQ@Mj5GA!PvguiV`t>!Y?@fa>T$v3gFQkc67=_|}c z=g>g~=f(ixff3KpQ^v(OzWE2@eibb?agaMwGXu7YgD4SJ0);;+soHcO&`ww#C8KVX z@O(afBx1}lOYu-?QzItVXw^A(_w;y5T&1Gh{>~}Wo1w1C zy>1s889RYu)E3Inzyx@iEy5~0=+1Fic%6mTI0va8`(L9MNtz*;e- z#p(wX!B_?w-$pmqCQMTzDwCboIHV?;g9J1Msf!yoK7PiqL}fXbw#ymo5=sTKPB6B-U3LE2a55&G;7-s^2Z&0M{ zSdFu;6!}XIH-MGHQ7yaL({M!Md7g&E)P2;S^?wL;jJIAeAo3o>Xcg*5385+6V-H`s z^c=jb%BxH5gh5JYLFlqhUF2P_Tqn4}s-)36YlIP+uhE7Bc5$@U8ai59TXTIWxaR3N zT4%Ugt!C<~dLX2Xx>EH%Wkmyr#lI^1CSGO+^O|(N4)7Lq&5es9+_XicI-XV<95^fl zDp_@6To3#H4)~$R$b08xZ`RXY{>{HdG_O^C2EY%aLhALzpT1XSPcKxky+|6#uAfAg zwd&;=EIV3rMobMckvV7}NHGvkmMJHqf5dEs)Qfyd>hhA_tnj@GnebmnO^fCr-H0Zb zR@ag_7`r3>WLBIG38UJU&EX2UpUC|t=yEgRYfYf?0r46WE(?7v!%}JsIkm4R2u<;Q z%1|mdQ=2cBFv@<_9}hc&d4DWMEvp_%3a2e05vr?y=BO^^juGq#gw_RzM891RhhPVi z842J>eYhrXg%E+>3D_33#Zf-xYgwfkdyDlkkrKXxrRCA9Z4_B(YGqd=aJlMirHBSm|Qu zjhDaZ9xjgLb!<1pL=jc161J3&7f|lHF1PQV01u0Cuo4yc#@IzCnem+2(Xna9eGHHBK-`pLa9e5#E|kWzTw#wP_EzSrD;f$vsfdocj- zn}s^OuE4PqhHnN_$NI|+Bk_oE;%BBA&%nFoX5YRpTYa*uw}Ck^P$jjwIxOG4Mvtz< z-h=ltL2y0QRj7^;)j%IF9Nv#ZPD*?tJ_EKVTa8|OGPdU1o-G~4j{8I}LP?*jdT2I? z&e=}!1!8!TZaHF&!`sFrY~y%%!xhbrC;DrLpO-7@(~j`EeCx724ndBcYfMzH@H_7V zqt73_ya(5W)f+6Up*=??#Q8!Fq4sOEi$RtK!s$5&S6|&B=_rzp)0AIJcyKpK`G{8> zIM-DmgiV(W|7g6U9ni4o^FS?nHkb2`!!SPhurA3ku{~E-j`nbRf{n;u)vn2hjC+HO z3GI}9*9g?rCC;a3e9S#dxd>Rkg6J2v;{L%c(_lNqE?-YgIri=Jj^a7vux%|K+8iC_ zaGN_Bhx5UkjBdGLEoL$1>g#juDPzNlsUy$BU*k7iM-6bX{zAj!&jj?l8N#;@gWPew zG?5XIa`AQ^D5GGz_r!3C0A;g2BIRAvg*JS?dSJ=5*r+*yQ|Nff%LgIHij zY}-A2zgnTtr9|S3C=8R^0qSGU)Ew0e#7N=9SY~qH7|SYJ>z4d^EgJ2j>QI{@bj3W1 z`jV~lSnbc7z+{cuD*XzJ;GVdq5KG}xE-`tWrE?}8^v_{K7gASKm^a`EBls+5_Ot*3 zBmC$)ZmN<7%!Z$xqeak9d8ryGepc}Clrt#o0us3S4)7-hG{Rk!xjUFe1nR{4nhe#7 zH*AZ)-_`l0kDW-1J#Z^{XctK%oJ^qsC%m#11-cI~N^L6<#Ua?ZyXyLZJn)fGh5~I$ zG1gW5MegitdaO%f4nDj(bt)8J>f0q)YRv6g_NFXp@IyGMWo@#MmrOI98& zw=eTg`iYio<8_2|b`5Mb!7WfVX`QyRcouXQ^qo`QH;_^%RuefcjME0>H_mbaDf-bH8{s)|W_UArs9pjTSVgJ8vV*Ho(C~M@XZ>aC6 z|8I;{XBw2N*6)X&=~nr=>P+#V%z$%IXy@~Rl>oAUk-BrLS~?JQ6O1rb(=L^(Xk2E^ zSWumsmIQS}f+AG{7-k&MQfdWvY}4qfbLnq}OLn%AhBMf~o6k#^i}%&0#}x0;dg;;n zQ$IrUmmbS}AZGDiC?^Mo{8+EhyAz^ZZ+xoUXzz_H&Ab^W2eP~g7b))aM4+~{UWm!T z+}^n*4<#n#UMR}6QQ(&Cjt%)ol-^XlE8qAeiqAB!Hqi}|<(W_@X6<|a0Dob2e3(WO&?ez{|E<|a$kO{r@2&y1VxOx9p2)hUZ3rdaV-Cbo_>-Pt_KH#XK`*TX3}oKaH?-bw zn!D^M-A3g-eLNVx0 z&m|IukyNSJP-~f-=YIf6y$e89B-3z~njN&yM@v^Hpc&K$ASLfYCy7hl&?bpX+BKjJ zGZN4a+5tZOOTm*UrR-3~^`!0U(25zeXa>y`Gw27g-<>J=r*O!oFpg&Cz8@LGX&wp> z+O+PwymLeo9^HZNh;BUWzVd(c$kI=sV}|lG|Do2>p17S}*+oh68O2Dhd#Bav0BC7v zg+r{@{dlKS(gnqYRsWYib*Nr0>rQk&R$k=*3u2ECZR!Zr;chx4b>41tS(|{`PgeNYKm{U z&TnO=N&pnD27k1n2Nhd$N#Q0jF0PV#aB8)xXh%^guK3!dxG{CVKa(&+X=@~-Qykbd z(&f5yhQNzVJbuBm`O@IX{Dy~9X2?*xL8L-)caC>) z*Da~6?B?U*;v?HI)EtIvB{Zo=da>cMPD;UEgIJ16PQP_7Su%LM9YL}T_HP}A!x;NK z-cvWPM$RMWyNLdiWucTm^IUpX51Yu*Rgpt`vlQUkvZ+>UR*!93aY@E6lzB!Y`WY)5X6qkCW=c7$7*P@#! z8Ny{{A4xLc3O8a-ZAw~Ctk;HSRVG;_eDLtQ<6^I0NIVhLp|02-Zv2gj)May(aVPY4 zVA0%|_2q~=PcY(=ro=o~=d2cQJrcmrmSj4RkX1P4RAHeh%qV~1m7*3u3y{$)4L&1M zJiDndJYr7REgya59Z!dcufaCvGF$e|qH>w@O=wy1P58xvAH*H&msQ#pPf&p8JI;*n z%S*nQBtcU94b}KbuGAlEQ9RS;o0*Zc5V1v;8a)ghjw$tdfXk{fF>h(M2>-m7R8Z~( z>)K1lh_qqK6)LkSmlBn1xe1Nooc+)SS2{|n@%umoON~cECAVNrC(9-lUG$BPx$A18 zB}MVj0IyvxH5x{`x(JdT{uIy-lDEV%DU|&F`_djBs>vQ+Kwnm5X>Dg^ZM-#`)hLRM z$8fH1)2k~0`(a=&R@iNt*^YjS#g3Yu?8&1c!=39i&#Gv-FSBAm%3C(YfOd*R6PJCE zjlzX&7Arh;H(On15IOJSJTM$_KvikICu33us*Kv&Q5RJwvZy6gPqbhjjhzMC!ocd? z@`7=YPJ7#W|K(?xR^_VL(3<5r^WX&rTkVFASw!WI3AaX9|E+I~=d%mD4f9|o8)fNx zm37f=d!w&mJoRO*dlXyKaDGwC5>2%8u@+HeOl?!*Ydexj-0A8gM{4Vqc^%tIpCs&e zw&BIJ-LK^hZltWW z?bm4f%Mdm#@_V#1Y9{$(jL^n=o&Z^1v%y&uNwLzs;%D-3T?4Cn*&ASV;_Rn!0WXL& z@~&PreNn<*$0Gc5dHTF@=vehU&m=-`mHKS@>^6$C$hCK4GqoX+|F9q>zf!?9W9~F2C4Y6oO_#k1icCmlw<E~W-n77$~YH!ntgYPui<5KFdAzgXz5vzO2jWoO?jZBB;Z>sV4 z`Xd6u#eQ1|Ywb__k?q97`O$h91$~3r<_4AeF-I@=<3?>mrc7^5Hck}=_j#zwsDDcn zdmo0H%@$|xe8441sw2|i&!*Vz5maP{rT0RLwgt{leUdpNoD!xaAcDSAtZA+YuGr@> zAtYPREe^=vuG*gY84dvJfX=MxVogJlhI*PQ1=ObdrUfvj`{o6O`tWrVsJF_pb5d+F z<#qK&q_WFX`>QK(G9b*XWO{cEQyl-w%EE9ST!YH?Dh}Bnpc11Z3)DNtaCWh@kUIbf zm$S<=vX*Tg%X;!I@&?1*T2uUMbj>MS;|~c^IxC@Dhb8NxO|cajGj=f-mc-~2>-r(! z(5ei`B4VCG3sl6U3(6Y>QY=eU$u2~qzJKdoUXUb@ZvjVQi5yie?>E3NViLW=T%Wg2 z0@H_McoE@-U{;}w^NDR^Kf&oA>%DXY!eOBfbc~5l7rEEGWNrX2tOTz(;fy?)t%jRrcUkR?=DB zmN!SJEr(WdqpX#nqI*{Uh%%zmTSIyL@ODCwV4g?u9Uh{y@dM}7*wj3b5{)Q*Z!X+i zH8JSqw;FN@xy_Jq8RDz?*}E>G4nJ@C*t@T7Ddq7K$^LUW4|D$4 zeXX_L+S`6F&TqEh{%wOg=!=f}$)syt-@KM+@$b!LG}u&(rG5jZp!Q23t_UA1AyBh$ z33`53x+1EkZFHh~@G|s|p5V>sUJOTD>PO|eXO+d78jLd+7XwED>okh@|lzXyQ0@&TI9qt11CY5X$;=*d%9b#Yf^nUM9` z96t5-*3fyx_G%F!Jz`@eZSgCLqm`o%rS)#gL?$Xv*Ex$~mxaG~-O%*9n~v%qU7W2t zF-oYbFHIIk+8svQE2pKc_l1Y;l88a+NaZUN_P zPt85j3L>szt1|DcBQpHg!1Cq!igG# zWqS>kmH7H3puxHxD!ivKp&$1EK~<&XM%FkjUl;UaB*|g99OE2bx+&=)BjXK!y0DM9 zX*Fz0m^ot}4?6hAXNqgj_|FyY8s|zd)1Gk$U3$vev>8`W*x_-@o1iIWaWO70h02qz zjK|OO20>pYUhnBYT$bA$bV&6f+mwnyE9z_dzj0~ab7fRk?C0@l-u2;CIDYEYHT~t* zqw4;>shHv?P@a2%0Np)tMkgmAQC>i-kjSs4!UGYwjWnxR0csc>=&jULWVnt z<*v@Gngo_HB^(Ytwuo|!g|~%x+@$moemy58KB)M>ZQ_t2{ifGOhl+Tlyu1s5;ud=p*dTlRSH>tM$Z)pZlism)>!Szw7dOS^#}@PW9aLB58pi~VHZgi(U?Ak_AZtPIcn z9AK{HP+v*2o`lSl(F29KKE$zQb>Yji^pZJL`s!@sC6a3m+DcGh#jVy=`>5m!F{0;K z)%rN)4lrbAS(W<8%vOFAVYvu*CcX7ux1v(GmB)Z^kU1F zKrY}hO?s(iPaq`lNu^G4K@S$wQme`!qNJPPCXHL~s?Z>VA};WUoF0v{Z4f{>H_%B} zBj2E%qBjr&s76z^s8XD#r7S2EQ{s!UXa!62%~Gp4PhPoO1Of4?)S$WKgJ26B9lz}C zJEWl;G;O$rR$-o!a#CPfNi!^vt=iee7_nO2A-n_=vKqLKZ>2t)Zy6NWRuU{C6~>L> zV!3|m(IM5B4@6XUXe%K_$1guqhmDKWx^92kHsu9f*z0ANxIk~Vt|!lvq-RhO;kie#OqY(xa=M19k!F_eKsNU!}wY#UhktLo7Yso z9pi-?q1_F;2qz1!I5h~Ep$Z;ep0g#Lip-ZRb}e*&U|)D3XEU>kQ`H6ZK-ak`{7 z{%X&H*bm@(Kx^&la;t3z74G?RLh}FI`4#4X;scR3Fd_&Okh!be2FD*HvFq%C+4FN{ zSH|iQv2;OW=m@#I~&ovJU z>CI>^518Y9RnBj%`4O!L3?2fA!;}u+dV)pnZ1F>LjR^hXUPJVlnmbNh=(x%0?VX0uP3WIfYz)`%4W-?VDuLO%GA;3vbHlgeng;w{^Cmlt%D4 zBHb}zhMU(Zc111>y=##53>twuhBALM$0e;BOb>627S6Jr9O4?@=3FWJU`O5TeH6DcJ9Hh!0Vi?qkSn-tDLF_tyXB@+xj&QBKLY~AeK8~2lFn- z;M=E%Rcqktrd_F*J8OoaR@^pcT%l{+_`=^ibNaz`YIg%_-0!}xoM5|sghO{aGwn~0 zuwCD+o-+KRc-D#TNZZ$HCCc0));ZzFHog{d=;(n1hAK2o5DSn5* zmFtP8Yh;A%Fabp=fR?$68iVan#NPDtQmU`V2z$`sbXp@ML|pR-HuX=mGv6@(ZIt1< z7JoY6WHseRYtuO*jHwBg&gI7vef(;-87}fnOS2t1&|;hen${=DAV)pfsvdOB7uS5J z;;?td1T_I%+u`ge1Tj?h>eU}z41WDdV-f3GfF7ZbC7B9uk6 zV+rg8Q`6R!u#RU(mfAIm4u5YQo;0c|7<1-S%EC`cTFUQy+sOQ$!r_3P3D!OgtZTr@ zDTn=(Q}f?XS$0$S{kgPbYh79=o9Mey_0{!4(bO_tUBxNGxAU$z!Lpos0tpha#%Kfe z;0=dU67@NY6*c^33<>*C%V=Y}k@`$So4YNh(Vl8G4Chx)f;CftZ5^K&v}{+l;jpqD ziSKYkLFF%;biV`3SlJe(!Z25M#N#81R3oYy=3>jcCV7213V}`M)L8uy zYH6&B5wUIpk#3KSm{%{dbMmJG>+WSc&s6J3Uk~+q9QC>a)%wiXguP$A#j|?>-_HWR zTdXKIqY?|sN4)A$Fk&*32%U5qs6L~5xJyzfkq~SsSEIwPKNFH~GK_pOpj?N(vZ$=G zNPCWP^EQwIXEOAuKHgO z?R)SjISS<<8@drG``X3ri`qwVLyl9p5{qQONAh2y4PC7KbUDP_9#AkgBG+ zI%PGpI`fBVQRZFgWxd^rxfM&zMBb&mdd*ZB{=g$na^phE^Gun~w-yt{X(@HP@v_ZG z+YA8b(D-h$3*H@pNgV-?jkUQV9=`zQY;fjk9L?a&r`5E-uP zl&L_^Pri@X!wA|~h%`=Eim1YT4SbRNbBL2*AiPNRtI02ebh9bSC)}Yu7qc2&hM6x z-);j6quO!ycvrTEq8qJJ3sEimi|07*eKkXikJs9c>t;+i&us{BHGMhRecUZWzD=~e zAf$sLOhUXsr`Ght2llac2)TYa530u`v9ywhPRJF4@c zNc)d#tSv#*h-pJglHG-M!=s!)%L^RQ2KV+n*WTZMEFm}KJ8JrUiLaZ#7Lh6b2L;g& zLpyWR|LBj0B#cRe3n7R81uz>AZ?#E?@eO@LObiNyEBpSfFGyO@K3fV+dzkRdWpHF( zS+EcKHh=Iu1G#`|I=|)hqVoJYZf3 zL~5e2A4(Rjo|1ZU_1?j%UO?z*T7erzQUOz_vrTVyRc(c`Tv=}kCEj8~W;>gBtP}!h zL++qvTri1iF2>{dm9+lI{>?>%Dp(wrcE*Lz?qaw+vWhiW`V8-uY*~$etvkkE6|J>; ze(JmJKB!*$`8Sr{7PLPTZMMQ=1YPeYfBm%G_m!f54aBn;2RjJ}om1#bd?zF%!GNta z$|htW_`*)ZRQ}xp&40-(dUpSeQ(mbH74qYLHWjp!YVn+=xs3QQXb1P&GXUY&&gH8M zqH|-O{FhKdV0;^NxZ|gY8n>t1!~5?c$A7%Mn53yM z+5+})?wVa|lMN^}2D;K+qi%AF#X}w_cwaaw*W$x3+fG>rsV(wO<^His^X^y2S&v`X zNI(rK-WTW>37nlZ-P9JlIac43Z1XSOg9}!;;3GJ$g=@|l(qkMz zidD9d?r(O^f!m6M-xAfO2-gCsfY3SBnHHeyg!>^cL&bgs8k4N+6^?`dNPW9zl=!-K zb(M_U*i$?COXS9_*7Y!7DRtY7LwDl3V{_%XH~n5)rWqN@p~j$=bp(TkVNz5vIPEa) z62IADw!!N!M6a92x*t4sWRu-jwi#G~h`XY>Y8P`I5E%$t#rwZ&rdmS|+Jz8TM#FyA zsnmGV?;J0(XqJtzPuXemq{b2_n_@2~NC=I5cOekNp>T{e{QWH#N1UwRM(c1v%Q$Ld zQRu8L`Jq65VG1X2Bc-okGo(SRU5OKOKnXfYP7yzU4S^~d6qtV<u`ijzRj)`f!o2EJJVf9#N7xAggZ;8$d)Ly;^;IBHhlRd!SLL)b!A5?F(@Ckc@1rJ>p ze?sOG-2u6c?FoA(`-uOYcydoV=wn?9lZ19tEU!p>H4^u-Ot&3rN(T}pNyEB%&;_B^hyDNNEr0DkSYC%iLU zCppe;L?7=TNFc*?#0PZ00o(}+vsU8$F`V1UD1B9{z2u=>F!umd5AA*)fL5L)Rk){+ zIISIpg+}rn!#3JL;xFw~2bq4`P?Nb?`eutGcGc?1S?2frj$*Tk3cYbmI^_i!H2C?@ z`Z0{2X$QY$CK=5n^=d$CgLOr**;!Vm4xs+6m>ns+b5 zc@niS;ZavYe&Y^g6pX1x&74+>%jtL4q|n;|bfi3IOUAtYc7WJ-SwL~Qws_ZMQHaP` zd=c|J?sk>^bZG;jcRPKly|--2b1n(6NxG-G^PjqF*zjwfw+J2c_`DMTv|>(?dq2VwOz+y&8`?I z+*W6Z`#gB?>Ce&q6e`<5dK4wHRF;vf7uh+w#rQiCFF07WRnP<51RF9E*~%2Q?+=Wu zz@S@I`&|d;z^<_YwpR1Gk2CX+4<)V^)ep_}4DPI=g4jbVWgsGy$)->$?42^%^MOA0WpU z?I{C!7GZ#S9^q}LB35!L8m*h+04%NX z%EvWRfCnNx_fkBX$C|k-mWw?5rd6ZIWykCIEbYrS$=nwCH>*%)@*h!Z$|Uxe89%~~ z$xdlQ{cxczp7Dj7z>LmD30FCqU=8ENGt3M?l{N<<)uW2O{e=NS_Qyx%&AV%iK9#;d zAxk$B1TVaY)47U1BX0yGBi?-X1KAXd&m)U63X!~ykDv*tUMJHp}ZljPnNn7`s@fGXpGUZ?@z?j0OW{|591204~?&Te+Pad8Vbl3kKI@d+`x;2 zCzJR7mIxT1*-fnU2|5m+HT0W`vz=;k-l*djbxFH=NB%(Ovwp|y$MEW5%Kov{-qsth z7k$i&7iZ!pK0%2+@h3R-&O*TjYfOKxF>aZ>p5K({GT)ZB0bz|FrP9suFa0{plbpig zuMWevb})YOo*Amt+(H6W7L>W0-W@3Fn`4BGO%t_3J4{aA7 zCpwxBJ;)@no*zYY8(lh!=+Qa{H~mlVp`lYPPrp1dz#0%D(lXKS6hS1LY&It8H9Ah16@Dp-_{Ft{mGm{yZ+W+9;+>Ru#A+_Ee{g{k zrLcUp6tUOJ!p&H>92TF%TOkMGrWtH|8!gstn*aEOwQDzr7DdM9Yj1Q||K53wbKFJ* z9VopaUGZ;!F02@GGnM1I-;hA3g(J+Zh`k8M|T}}GQq%x6;`&+8ASq# z!i2}5)a;p6-~lc$(=iev17(TpI;q*7LOJPUL9=@IJoRjplk`9r=SE7hT)E;p*5WDH zuHsMP?mYNjPxL9;deGr@Z0rE4Nm>rwOv-nJcw5348H-Bhgc6J(`Rl6Rq-JGi{49qV z6yDVR^9Jt_eIii)qPIomEkkFmU4$i)0GKKLU6aeTf|`yw~kq z){&S^3{w#$r}ET%&G_VD2RBqOui<bm`A%pv=+b!YzJ}q~33CK|T_giuIaw5NWL@)o9emieIk=!yB)S-@JtXFO?A?c}6Y`!)XtvDUu_sua@Y6V=3W(TyO$WFt5!>7GR z$K&cqOiOXL8C+J-=fR|**BsUzt!dh}POCDh&gE_PC!L92aWsY=otpXO9>;2P;oQ)^ zfDqBNA+FF`44^>b)k_U)LK5v68@30!*uE1FfNCEVV~+&qd+mg+U|p8fdh1ehT4Qf#;~!%rup@wGHv-3Z0-C4HK^?L z72e4X$|kCLIaQlyQme=n>cONTuu~V6-uN3&uncHv80%IZ;+@XpYH-dem-F6xV$WNZ zBwBpq^rXNnl}%aL;Nt$f2Z6B1xe{_+aA#FLmHP2;Y+vRoIy2Q+} zt*t$R7ft6PzsKenwI!GYnt}Nn^GS(qQqIL9xX3Nkg1VjxQg)moTsaWggE+n=`kg$- zud`1TFvQv)6LW((5=@zIl923d1x9<+?y9|QXi{qIv-ZO`ok#%&xaf%S^De;l-x>1! z{z8(qj4%pr>&;|g&D}bfTYr=+e+d+F>r61mu#a^*)MT?MR&ktmAyW6rAP>>o9ksBR zl!F=Ymc&3iV!{s|e0Z+ECqvD5qPZt{%1~!*)CXn^ko8WqpMN6jIfN;RTN08UA9 zlkWIe>1_uVBbBRVMdFSb@w{L#%Z+bVGCy$>1 zT5E#5PUv7$XvlX(m&r6}<4KQhuj2^*?(Ir%Sxyb@e#5!Gc zn~h-Ia)5TlWNJTgE`3PYDFefGI>+8UzpPgn*0C^mUm;hE2AVKIH?hKra?>I;NC0p&fM z?QTbzaj5}>r5T}ZnLl9|d@*6$aC`)ZPqTIvz;VbEj*+Z+ zw--d#SW|*>*cIEV4ZJa^UzoB(agjOT2c~;t`l6ws^w0wCmnLEE_NUOszT4?U9K3M~ zLC;Jzm5a{A6CY3F50CujdV0tm9VtcA&?m7G=YI0gCe1Q{N$Q7O->kADZ$0kSa`5IZ zTN>as(%!jsytr^*9DruW11hou{3fg(T-t^cjg>=r*f0?!h-}reKhZ&sR)+Dd{bsd) zeYfxZ(S&a~I+V=KV_ziEm}%-zgW>snS?kbKTC&}NB;$KI9W7q1ltCj26lR5UHtiDA z1W2f3WAXl3gO%2~L8RdWm;sdUR$LLi8a_F#`~Fo?qT%;2Jp?3#NyBYH4lj6}0apY# zsBw*=(3{sDnbyr!@c~kB84sIXm>esQVWxWlJ__;?ISK2c~oF!H}Oa`;P%{9Cts3ozsardRAOvpk*JIfuoEp-=N3gTSO z%I`H17kptxU+(>@*m`@(Eo~zYEN3M0M+Cd(4k08`Sw=fUkaB#d(CWCsVe0)iq?oh^u#CRf6^tiz`Y7RztG#8cpxC; z|NqDNe;0P%9_ULLf49cWC^ex_laRx|Lmbs>2HS$z%8*1R2nxd|1}jp1AGl7JUH#I0 zuR%0Xt%qq9-_&9>-O%{XVpa)~RQql$_cYzC{JnZ^{`+v}-kZb1!o$%--J zGTq+0@Y1z*8GN457?;fV(C%syQdW5Ww-6l3EHY?L!y&-lJ|^ph)Lwz(s5Al5BH zj(5V47-pJ=j#*}jC+mQb*02nUP9KN$9etNhkiEn$flr!i&j{0w`5ic>K=NH=G||{g zz2L&n)cPMlHdZSus|Ia3jZjY=!855+wno}wGk}(O9s>)oIdNFU%bLbi)=~bb1&u-muiQDp z^dsmE9JlZBTQIi#u7gXgfvqzIk}HlBN%h6Tf|kGApKvq8a)}?T3$x~Ai;Hzu=YKBc zmn}m;!1m<%s>r|=({CA>Yvy19$bm*dT1 zFD#elW14=+&21Y9gg!XhBF(urIgZkM0U9vHs?uf~SQ+cO`h^2VTa00B10w(cKax5o zp|zGK+o4$7@At>}Q{vE77SPqPsX{cfg+~o&dPe$(X8gq^68qq5F2IAGzPm)U;g>dG zN%k^&kuVqTTvbgVfmnGyA4dLbcf0Po-gJ>>R^`${(y&s@Q@7w^FH2{%inNS_Bpkaz zZqD9Mb?s!gb+oBIS_rq~zKS*&>2@cI66*8%HMypNmWxsBDYsD%)x77wEQQE7rRes2 zET^fkJdjPMwG#@SOCobD?Nc*xY&aaCV5Fw<{%Jtzwe}pDpMgI%vzr?z%v&h-gj4wh z2`P_Q%8M5dvStFo9DPXC$<(G1=eSrm>qDH`%HrY|OaguxXAfk`473#sgWwlgqlILt zLW3b~vqe30+mra1M-x~~+U8ZOwff1*AeQMUAVS^ivGk%}gLMEqCf4xwV5SyhOnQR4 zsk>qarnthsqF>ongSDt`NgFcztn3&lyx6m|Zg%Z&(a%9~K#x zN6Bckh2U9as;nDSNGxB?v_^&0lwHrqhO>Te3HepjxAwN#*3k=>O+Wk7DH4370d@m8`EcF>HsaOMJhk>fy!D?syBbyG}05}=GDigu< zYst0bp_S^y=0&zqu7It^;hI@6EeF-TNO)XLmVDO>ow^HOtj5Q#bOr~EYkS%a$WtqS zp6#K6s38K_?Z{T@)o?jj!lMzxOH~J~7V6Ux1{?w9TjxK*2Fm1@dET5Xe}44wtyb@1 zZdU9Ptd8ve3=HBN+^-8Hm86>0*bGC#3=MoYq)9hPIK-k{tqZ%Yi(WzRiVeenH;fD9 z->lxfTCLg@ayvs=e#1ajkq3`Wiq@xnLGYtJaEJAa6ZqD2T|cm6g;V{MVbd&r7NBG0 z`jK=e0qNhLi_w*qzY{j1!8^8(&b9@Mf}(+1wAZc6QMyl7M|Y#5us$!#!edwuyvY3p z6cmIGL-zqzj$=A?0N)={rvfd~efVUpm2-yV&)Xf~;3d3kj-Pm+-!IQCiffZouH1fJxb-Q(9t|^mIFR>KCi&&g+QuAFR;=EO2&oJz;x#tDt(7cX91Sm0wM_ zRe3j8oDjaU>U;A1A0Qv|IL-d$WV1I;i@(oEsu8``C4nmZir$b$`j>#B`-kuONhYg) zhP&(zp7kkpL!qcTMmj&`il%P*nO^}F3?7xF4{(17mR`b;h@-1b!h>dyNG?g_ma9qM z6m7=DR7NToNV3AL1j7#nq&}l$UpO##1=vj*8z(~!QM@I))8GiYjc-Af`;n9?Z3)+iZ_{g@XKAf?7al3^R*>K3qmY+N+6XnZFonuokB z(h!lCs26NXfjI$zx^noT=@xMC#6l&;Sn#HkpnAn$S)q#^!K3hNzr!ev9hwevQ*%?) z4#}ZhPnd9c%$TU%#U01}=^z^-V}@{m$YBo&#ggrY4XLM@oHgj8LI&H#2)hx-=xN&O z78_RwiqLff>OTBgw(MsL@Q_ZPEt%Ujk&3ANR3&};YOtHVZ*OhOiq7={XW!!qp zQgWO>x=qsO}E$FsdT#Kc^2GdIoQ~2wqwA z-a2SV*IIilojc9K9pYk>5p^U@a8q{2`9)$m>TZSUT^d^RVt4J<);58^c^tUVrm{=d zztEOn#wHo&Q#PTaLdimTHY~CO&G07FYFk51&xKHrt;En7e6(QE9gXpDK3o77nk-sa zv?p$fUP-BLw&^^K6`xTzs2RmITlsk@J+QApLYd;A=sU(Zy4{<%qht*5gROl$~_+ ztUvjk@ymuQmS3`TAHwv4xJjDQH@1e#QRQ|eL8g^4PrW)Naw7WyJs_86p^~t5Lbs>s zZW2w;(z{pg`H-&q?l^Ioicij^bYdRCYgb`yw^ZkrEW>8!H}7qxd0kD#V8#i|hfRj| z-htgm*$DKl(EN1g5DQTOPT1?f!(SBd2PK<2=kE#IUQMJ%*2>@?ME_a4)xx&+vVXPZ z98vy1+H$U6egQWBG1&`IlTpzY!~Uc^loS5Wn#^thhc3xbJU6eVO|$xg#&#hUYzQ+q z%>>sDf#YEtPs^v-y0u2P(=nfr^yFpzbk14lZS_o#kAb&CHSX_Z_GaiTi1c>vgX}FT_vET_N;&MT3%2c++Dw^tU|pzBybLD3;a?&y)-R%Y`9RMs2WR&?}E& zU3%-lE|WgO0L8ugfJ5ACHF6hbh@MCGT`x)?hsZ5vfQq49>qDSOwb=ROfkXCwx*)(` zduP$vbc^l?lVE~LCJCaWOtTE#akH*IY1_HX5)WfRuL4LxkM^AwV&7VY@yCSrg^{dk zw^qQ62R254E^DEgB^|y1Lnsx&=3uK zT)pbYbU}-9i98}3dkolAJ8sl9yfdaKObto_MGzKD@LFOgwquwNK87*B<;uj-_*O>_8IRZW$5o(bB_Lxc7#hyV{x4}O>M4VUiu);~bMp_jsFN7L%=w^vNJiwD zfgxohk6N|#Qs4QB4zg1S>^1)-DS4KleFQhlIp#*vSOw4qiNq}PJ(~U`)0-+}A`Qbf zdG{hFJNZEkS9`Y3JoBxUegGB7blINGw`sVV=Ki49YBkN3!@K5Hm!W17>k=AgNJo4V$I&@zT z5B}18HgKZ@KizQZ=#nZn#b*}tF0>am_(r@J7D9yLr*b**Ef+)Y;Pbly)GpJyW0o$2 zKvO=F^{2}YdpwfkWe}-F;VEcOAhHhvSM0(2uHzp}a3W@cehJyJ5zjc-ZPRZgEDaWC zJ%0Wh>@OzAM8seMj%HI^XUr0Y!b}qFp>c8P;&>~Z6s*g4HbM`MB?-Sv!KfA}CjP`y ze*{g)wrBEXv{9lxo9qjR#%Qen@fn0g-kl!_dBB7s5Y8==DGmIzy_MN7Lg1GC88y?s z!FLx-nR7dcmgCWnrtr;?-RKeSw{aHo$P1dI;e#iAHv%X<|b(rQD-N;hO+ExP9Guo}T;-eu%zuW}3E73Fl7&st-=hw_EgUGmh_NF?--70?xSy zXm?@*d@x?mWZ%^93I~HvmULh;F7OWD+^}k_Uz$dBEPdWgYHkuP!Z3BB{!o)#PSosM zrM3Hs*XV0GAi&mKj4n|)`+~ij*61f(v`RS9->*3r@N;;u*;TNtk~jVhx%9tD?89JF zZ=HNZa{B0mTe-KY=|)Xs{06FD2DwtV>m@XmlGx6jP-&g!++9{Q&`Zz zSl-?bSo!7@)3Q7MttM?r2PNZz%1N$icO14xeNjg#!y2}|MBBkKQ063k>7U#zqE%S^ z&aW<5;{QQ2*pYw7Ir@0NkDvi5&D)RZLax@p=$7D=~zUddsi*V2>C z2A7i1KmR@h5&=5uqMBef#-Kh+*KrKDd1~{WK$zuBI zv9~M3@lrCu$vMXgjdfyhXc&i6c8V80VHZI59x_FvZ$;i$eBRCObuQ;iq-xBy(%aAM z*KmdnTR0ppW1H3dS^{5Tfy=p22`tb?8}wBxA7onUqak%FcUMWLe}+ffBEe3rHA}7f z1<-dExV7DxDDF6cR~Y~aJtJHbm5=R^IP_YBf&I&xC0+7aSfFPOmnn-GSFMnGrkT>v z?(1>6Iu%PoDI?rq%@1WeLa$zxH!anZa?x?+T&d;ShRm>2UC*Y}7ps5L(s&k0i`}l` zr8LW2L{=$Um{50-m6VHHmSd;>)Q-n_k)>Tq()SBHC+a9903{kXeIzh44a!M_$pMcU z+;KBsyatP;;dj4p(!-VGJA8y5-@Fak&}vK=w{&k7uH}^zxJt|v0j&e9M2)%?j=6X2 zC?Q`Ru@_e!bPKUoaklU~^PmMm=>p~(a{gb9H?YfH`~>HRVwN4`58>f&6cz*}$nmT} zqiDZqD9&68GerMV3tmHT7RDvRLdJU?$IgfR7i0`+AgZ{99;Ezw`fBIep z;xtL`et~vfzkz^!LE}K|oy-}X{@vqc{P)SXcXhBa{r9O)QPsA`Q$_w_G*^F7zOW>f$^yKSw)~i_$*Y=;s8HHXj55g&YfW|aQ04}3_(VbcBCG0@uWp#0V z&Vcr+G#+ABd?x7pO2i^a?LZKTc?xv-yDlq8Q2Dd zO504o9Sqq0DGFk0g(m#>pRGJy)mkk_E9jexVK+#mL%NU=Y$reG<(BESZ61-HLpE5S zI|FGQw9MRBTLa_5dKl0?!RvMvjLs#AwO^@NJ^CN#RF|eF@y^^Y5@ebXtjA}s9!Le?Z)vi+G z*L$+DV&GEG65lQtZATEg$GV8#K3oY`>bLtx6JL9sshKu*L{aD9Xs(} z9wSB8iR85l7{ci;e%`RXxnNg%guz@ge7rcWH+GX#G}HkaYiOWP9qp_hPh)NYRR~!Q z#a~$B+@zSKY*s=cW@#i8mT@GMzd3oFHS@sI!922uGa<~2HbJ6X>)^?8>$X_RfL}>X zm&}InEGGqKg=NC%Y+_0cRb2fRiA_#Q{%HMGsY-89XM?ShgK4$CF`dOb32kv^XB=cL z$8iaN(71voiQ4F-K`aACf%>m2J^V&UHkGs(}ACW;RWnC10UIQpF3f^o^oad@9c#FWkGcEUWy|3o)cNTr-b?_=#fF1%mJ3U?JK5g2 zc3Oq}0j2l-W@ygmPUy>8>Slu3XWjqy?tp*KJA(JEAoz^{xxf2DfVB1b8=B`Mb{tM$ zVRw9PvLEmx>X7K*u5ZlORb0teQi-pM7{#eKas}+28#8D;wVzjYSO5R{9{ZO!_h!AC z4*FM8{P+qF|Aa~YS7?y3b8!8yoM>wIzx^yzlx^)%g^>L)5vTPODt(1iRBj(Zjw(JR zZAoG%G>qgdC1nNZUCOO@V=w84-)jH-K$ZI!f_r!^NVt5sDDAS#G{@Y{?8z_p^96Dj zk{zFO6i=z{?pL1(FJQkOMFF4eZm|!H7f%e2JoKRizG&O1%p*pT;8j|*gOc?OG=pST zXM*YW`FPW+e#pQ!EG*EloEZGhZ`B^Id1iwzl8&Pv@us;gaX1%({zFO}{9a!~ZvYNH6LWgaGSB z=24Yw=4$rzJ0159i%4YV``mf=zEF%IvzvS8mgFpNlHQ!GMg)H;G&Vl->b6j|d{iCm z13y9f3>Zr{X+Y(nZGwEfeA+l^-Hi#kLrf8x1V=(YEnPwij`<$9-5{MMopDII8fCOK zv$a{jR;fOT)H*|oGbtIvd=Kf1ylf^>shs5%Om)2-iOgCfSS9Q44U-HoqVPT@QyGDT zKN|c2Vw7T(e1X1!v{cc1=BG%8<9 z2E_lTgd=ZgYigoqXyf|7l8$Zcj8*@aMQZPzf>G1bx2Hv{RUMtK<^4J3`mp59l{UHr zw*HQ@fyY_sQxPe13_4as`1`5bceCS@KaU6o0hZBH(aFeoR~+YgFf0k(S4*XdYD?nB z+p5i)s8I0er}p6f^(V75niuWi>Ri`5L@9yZpCX zrmF4!r9}FaPclm!OHNHrE+{Yg9uLP_=27^Ql{v%!C_G={G{-F^pHw~|yJ9l0)Nvd9l}x5N4=wGcQ8=dhk}I3Bg&D;~Mk!8zKlREFgrE!fQg1!imF4N= z_H{*T?wKciY6b@-7S?ybfJ%Xd)>QP+M$5GA`ikUXX!SbKQqiH8JG%<-;%pYg0*}QO zl*avRwW)=ChV!+KRdcSoG#|Xp_I8!JY{q$~lMq{dMp#p@+|s_sie`~XP${o;mi9|j z^oZlaM~+H``X2CsE-KKDApe5v75_fQ0+f zc<&`^OiOC0C=MkCI^rkYMg(fNRqtYS(d@+rcD|_eo5QBwae(-*5R{9f>}s{osp=xyi{DwQ{n7JFI>ho;oi_v=8}Bi+O8T!SpC}!5gwH-K^}Xv^3g~ zjaP#B8GV3=;*zV^0y|ckmgF@{;23x>N5>>ZYqzBwMIv<0%G@W(^u;C_g}7)(tf^8! z!I};1WPNrKA~UxpTfsD6F|Wik=fMS7OcSdz1BSFZPV7~RAg9uw7r*v1$D{z_v{jCd z)z0xq+l20&hS`Qmgt=B8ZP)C|Wap+_lDNAhXrmZ@eoW2hTti&fzmYZ75ivQ?a_akH z;bRs4iTsns->;c|hGSE`k%otB7Vrr^VN;wQvdx?AlEQo|o{#&LW3Wq14epVxw#N1K zJ+A-GDP>$kO5up_P=w|Yl$cGnrtn^t^rFIX2e{&2FD$3LEjCiv^N;RR@xlujiT4sC zL5JPUd!#^5c7(tv)!0OMiWKV{3UMLT=~5ldPbUXt54VtXD|<0@v&=cBW`KFVJV0NAVBQWa{*f`12+8`0{7vTVT-bs8XR*e0veY^M8ZdG?x_s{M+-A5n#Azcgk;~$KB zuURZ?@RD}GF&spLpw4*WOOT)oTv*-ZQ1TCPV3j2Ecc9Ld5_yG1p_b1_Id&9f%nbbd z*{A#^&V`mm94#Y32zlb!DCvj1Yj-^tQKKEG6n$=d?6CJZiEV4iDH(RJYjTF-PJz)x zVu$F3gwg1vu#&A~{piMW#7IltD^C59f-#I5e03ZlZ1-EDIn(OsqwEn~tv3g~FyJ~2#)Yq z!VDu4`DGog5Va=|>Li62>l#)mgjMWHkeX|SpD}SW_!8oe^I0cTJC}QezBbc5RO}+I zN-!5Mw=66rXDn+Kgkl~+Mf{XvP{HsBRKN1NsS0&DXr+HEZsUS`H<+PZ;VwQ|3u9K& zkwGqHDDp5umMSttw>W-|{!`mRm zQQ%vnX8b;w{U!p3WFAe#^)RI_$0#^rXwZ7t7_f#oI_-kR*b7I5Tej>uPfCIkPz@>8 zIc+N@M1Q$%S27mhDgT(qE@Lg7pokV}A76iMNgzl9N~^P7kr{3eTe}f%)oQc9{+oV! zZj*p9AcIgoR8H9?Q;tJ1dXW_A@n*Gk=0FFVSR0k75%>ube*E+bT!0wf5mT5kW0) ze+`pP6lF!CR8_~0qV?;@9Hym>+=9Q!FffC6vfFjrnlcJ9m| zV+-0oA^*Dy`v(SYpW=GK|7Y>E^rM`Q_rH~-3bxKp|181&YYbv-i?xL8Q{$@Rautqf zWt$ZZEiE9hY?;8^#N5wfgH2k4y4khLWDgh|)s1L6;4zw>4oz>1Tk!$7E*2-&yge;2H0Fi{jZ1{lTQ<|`vP?{}596ctTZ95DqC+>*U_@x?3Hr=fQehOhT3UOa= z;yx+d{FRoqzhAtb#3+s4UIJgSKCn)Sn)3unNxUD;uF{6BENeoXR?|D z)S^)_=DUqsc~4>@jn!H;X0?a%!A%}gw%uRgB<*Ad$(t06Qbw&R*ru56dP%@^5_-TV zc===1{Jl#18?IWs#A&UZjnPFc4SJ%N(yEJl>tnMzsWasjW;12ORHKzcQFez{EN?Q1 zQ?Yq4V`eqyNN5=bCFM8@@%qR$SmBH1#QsDo+T^=oSZ}%#MCMy;1>=uUcFk*#BC*A2 zhK~o`6}UZf!R)S$s+lH19uh|nwnxwIt1}D48nSr9x{nk!#g#-7@-leD1?N$?he{w% zGXy`QqEig&0@a_e3rU*tsWj>onxWv6v$u1A6D(EgGpd!Ep{4`|3Pf^Z7t&yM>*+ov{l`S!nGU+i9N~^I{ z32n<~^W&nMsS%^8*~sb^vfCICYqk}_K_G}v*8-f!t9JI$Z{4>>`+>^Wh3PQLsjaNp zHEM9=4wMHO&!slYh{5g6kN$J{9q4TQoz@fLJ^@e;<5d&<&?$p<6qy5bL}bXuGL2ih z(m2iJm|$%-!+udce4(iUbtQKeRP;sGnSn+&Q~h5LC^>@C`VZ&A&9_`Sbaw^8x_k8K zBJS!{%GCFo9wMRL62s{*+O-o)#M zRw#SBi{{4!L)YIYMXq;d7XI&9i24r#(o2{Ox*G5sPJy3|j(c3xdvXb!e1)_?8xPu* zPWAG<@DS2N+o@Wa)UU{I4X;ngJoMFG>V2%nwSR%B-E~(fv2Kp7(8x9Vw1Y3?Mr-o- zFcgAATJyVyhe0+6>(goWSA)D){XSp7O;xzTH0ziFO?T!rf64L{0yhcyZLQ?d3QJM* zbMYkw4zVHO+f<1ThZ$@|UI}f-8zm;cn_Wev9hp1l!%eh_4?%s4D(5aYiPCBX&zT-i zy6RJOMSu=VP2joA_k2@eJfmHSbo%TuH#K2$(r5`NcGio|6u&o3K(aclCkuVD z6tVLNf0XL$MLd{0J?LKzibENMJi3wWe-k~}629AP&V<>dc%Zs44h#&E6@Zr1NiIe^ z7~(`JMemoss26!7@tO)n^nRWaM~s|yyMm(+6K`t%u~5~o9=h#nv2))$Mo7pkyiKi#=`{uY_Mfuz*ZgLf z@Sw-<3^#fwXfS7y;57`gqQ}>i`h$YlFdTHrC-C%8w%SKDR?``FH&EXz$XS!Ew*qko zXj*H?_a!uyDTb=>p%fRad?*A4-**%Yn^M+6Yq7vvkNq_{>8l_9Eg`I0woe_kYfEPT z3AQbc^h6A?u?iJC1VM@zoESbZCbVZ%V0W7$u+-nq zWJoPCtyVDHmT=D8=%L~XG^PGPz)-HEeZhR@qoZ0W6!xA8iEBEgiprx!;1g%yhne&U zZ<`qFj_*BS{h9RnfIj9sUGp74&};PlomjfJLp3Cw(^l)Y-ZO&kg^6sO#o&-cmRZgC zwj%EiHS%-`X21W{Y1WZi(9q7Mu;7EAOpN8ydG`dXiQjG&2N@_bIQh{!P7(U{Pr@2(Mv{O2JR1gtQ@}%5( z-?H@oe@q2q)1PsP zgZ@7r`9Cstu_~ySmNWMESAyjA(OX8*N^*&`C$+Uldl7iD{Aq(V#;ybik-4EJdg_Gb z+xmsJN1EeqPxA0QLFJvoGxp&6y;|ZKCYg z4X=;qj^cOwv(K*w^BPp$dw;vg5ZZ}nN{pV0Jxh!yi0LJLG6Z1)H0xk&8tCvBgxrVL7vS(Pi8Ede(x6*@as_^o^5V2CEWSj zIypBXJ)Gn%Lme&}HCZz^1)AQgVMUCd13~7Tlp}Ni4;43W)sz#X*Bq)H)S8)z`v59l zv_RZ_(T4YWSlWG3oe!lyJwUt(V2Dj==@OXskxm3_8+d&5gx2<_bOs_yd70K^B--1lOfBi*QWRE+L`lTaVl&fT z^9KqLjPuxx7_1`u_Jks7hT%A@h|uyEG{%g7fDA!AEc`CcMq~u^)R-Ux=)1Z_I+z=V z@uZ+aEU8}9h_*Lo<7FDa(FPXMPWMh4Oc-sNOj?{U$7J-!L(FA_2 zyxQ`d^jSp|&=U^Wv&MIykbp2A{K6irosx-C0ksrCE%p(y#KlNPe7Ohngg*wc6hY50 zoK!NTsaNBZsjl}*-F1abF`RT_5Crej$RuA=pYb}C$Y80Wg>PL&jfa%e4UcXE>@ zU3C?m2^%m=8Vl9>g=rX`G-p_ubc0E4yg(|28Qz(VkYN3zqQ>Rv7I2}YR=oL1u0Q;Q zkvQ&px*5OkE7ufb+_fyEGbgT&GrjeqNW(*WB1zvCANWwhP|ib0Ln2FBrF6Us)`0?J zOJXzXV_#BBnqX3G8VyI|4zoI$XXBUBZy*8-1T!8TBSeDEEJIIBN1<)W*DXgVg;N4| zwi;GVb$>rHQo_gq#PJpGTOSi`U0p35oeePE_Ed62`Kr0OgmZ0`5V_p4Oak)3>H_h% zlf$OZ1|M-@E_{iD=ZE#PSJ;ZxAAVsb8X5zuUma6v*BpbrdN%Cq^pP4&FkkKm(S0~q z9u@&!i9tvop2_D?*c8iG#2GIRIv?)W;ED%-0!lcGVFStbi5EA?Dw4ObX+SqU;FsFP zVXm}KoGW8ETg+HnUj>(pAOWPQ@aSI?mTsa03B-|HU!x>*;B>#>HsF>jQM~Y*f(WaV zgT_1~QT#VX980x~ym64zo@fT5M-B9`GEnzCz^}9c}0w*8OC$kTna#Th0t9@Rv8d8Iow%v+6RyJ zc4@050Nf7rB;dF#(5JxYqh7E#5PEA6;iZ<{u7xu|a;{{X(;{%zc)if*E5SPy4DWs! z6f7#b3r!3U9T=oz#i5~X>%P9wJ0eQA@1Y0n)S@{G%`SnSX;&T*3)yPcZf0~g)yFba z=Gf`n8JhSmd8Kl(yluZw6{(#Lo{d#4xY*xm5Y{Ato;~WRy*Ku8KtVPdS@cLBA~@_{ z$U4q3jlv2OJ8fAN>|wX!$4D`@kwa3z7^n2}6_)M0c8NG!LW9lhsh-wbnP>r$ibXRN zQx5^6DF=j~^WIV*1>x*+|QcjVX4Hj%|hEo_*sm15nSput2v|s>(g?s|8%Nl@cjxQ*4_u-r0L8B`r(YCrwUe zPiqDadX>jL6(-4Hofbp~k?GZU8#I5gCaRF~ecYI}2mDI?3&M=>_tJJN3Qvgyi&`z+ zJuTZFl>`nv^^;r|+Ue6*X=v(6Oj~yk-w|HXXVJ!rRvn%BU7c1mRl=fe>I52Ncwp+6 z3(-`;O=H-ELo!26cFaH|V}G+sQs%mRWv3R_6U6Vj^U#c_pKwS>* z+mn~YV{$#K$6=~811l+Zzu5+f~dx0h?d5Ui(Cj4 z{nx{#g1tI{?KMl1y;4}Yk;V=77qtV~HQ%w)zpdI z!4jVg9Z--v>-*L>0QPeSWVU0+Khr$yQL3zxeK~f5u0wbu(JvjJ+)x16A;APq=o>9* zO_(VeMqf-Fr6$><&YQp5KfziS@9Ik`ul+lddaSWF8?9ais{rgMC)_bp_I~wZAFp(- zU4XL3y{{cS*MU4YTt2gZF|E0Z7o`b+YVt%!6=XCyZ;yQA^pqceUqzX!(^qgoPc}J$ zsZSpjtE6zK9|xb}oriKf>g(X@-{B0iag7{%V=3PKj=U>E5N!=xuM+oB{dxaMbN&P- zYM!BjO={Xasi9hjcn?*V0bD*iaEGYc@iUG`T()E4>ma24x!V+FxkT_*uAsyNo&rDoWvB+W z-kbSO4btUOWbPq|VZJR#f0EdZc=lvQIH}ShR2fhmvFjS1s5-+`gG(f;OzbZYw89$F zdNU<~a^6ShPg3_GKMNEHK5^I-H6 zXkKn48q#*%Ys&hjM8|bvfjHHAAq!wQHwi>f6T-arPzxTc9;i73rWyq~rrdLecFoG? zu)DzERSM-<*1w?R5W9iLu5pg?3Bc~qfqxBa5!{fM;=GqScb4+Vh6Inr4A++0_fkbz z;l#F!Q$2<*wj;N6TBF0LZuQ(T)gHR*2zNw|bZo9<%XJi^a=lld=Vy-XFOnG6bpm4A zhb!i;arXvt**NU5b|8iRyDdC#o_>!{b)4-R?rc>TD_MO23agKP10t=Xg56FYyCV+M z%Y9S)PW#Q<`3+I}&I)t&H4$_9<-}=vimfK1-ZU3zR_fz4i=QR<++Xw_p9fl(jN^g3 z_5JV?U~EX^i-U{_S|njy@4#Avgn2Cztj(W6<^6J%)ZJ#_Hj!nq=D#P?_z915NIlB% z=#V;0!7{OL(ka6dsV;yI*-IR$qAXH*xx%761i}roxM-n58@OOyNPR>H$URlOk4}R) z<6!Iyv-FoM^&7R$Uq>Win=eGCpTz?ib?%}qWM*Y9vn_plAp37iBE^PVLVNtE2>lKK zsho|<-rwPW2M4n6XAVff{g`S}{2vghA2_6QZAc` z;qE2pB~p$;>x}d@#YV_h37U=88W8_Tcv91<-%xZ?8iq3EgHsp5h5m-9KWL#LQUUx8 z1%N&ZB1Kj*OhhD|8PdX(j~~<`zGFSFn&f!Ao!#B(Njx!ja+8_O8S6Oxagyab{ipV8 z-*N`X4E~BkhbFi$_!o2S?_1Ir#p`YiK2{os2MpGo-FjPx2M*R9i2aQhMw_0(gPFjz z;9ju(&KF6Wp3(zoY+vL)E-k16tlEcN-G_``eQw+H7ftLPSiB(IQ#VS#-a%OBF6_S8 zTN!enC|AkbXMhi&FM2=W7jRZyiEF;V>crDd9Q<6>SH?-pfN_o^u@gzH==Bm zvn6EErOmq2HwS7JYj1AOCsNpFdMr20u_4N+xu|+Y* zaVgV%lM;6-#7I_6N6homEcja&;=&@!rxvw=OKeU$qmnmuij7>Xm?2OC^73JvzopjJ z`Q}0@$2VMD8CzQ{OC>ROcT%>8e(2a?L!(me$CF8;orlNdvAjUdUomO~DQjeOy)}O{ zAAx@Bn)pWTwi!quw@e5KZ&ahF$jei8gpQgvp8vEa$mr2fqYRTa?6~-$a`tdzB;gBTPN2L?o za2P$#iV-DB)jt;}F_nt;&;S^^QTXTWkiC@VSM#;9XE21C^8#OW3{<-)=`zf?MiDdA10C~GVG~YYND(EZgXI!s&z!Jp zW0@R>ju6;u$g>tUUhiqu6Lb@As7pUBOvOv3YsWL?le>Yhv7^k$b;PEnUl^1#IcsV$ zX^nG2Za#^1sdi3YwkNSsw<2io^)+@xD?!A($&ahj3b7_#CdQRpfP06tlBXkgZOsqgJCcZ zrD0%Ia91R4(P@eyzn~amtLs3;Pk~`VCc_YxgM(>sTtbjnQ)dfz8}l;>iG%<8n1g)M#oXUh5>3S(4EFwCU)VL1ymv~fR5J~340Zb#M#>m_WU)mlHNYlO>UqYA< zm0u98V6snUb7(4ZF-(1PlEsb^1|1E>5sF?l>B1lf|2PstP$>c!FtU_A8XqMhjs^wY zfZnzSVM)mN)eYYK5QM1xt_;5hP8Fj-go>^Xcm=)^6=_~66cy0;XTNB@-KHFJW)O~_ z5@D<^{R*5&lY(gwT(%(GjgKLuwmY5;?&G~=l)$Xwtb|xzuVc@APhSx!BFGe;9AY+N z2*M*nI!I~{`*;fu^t|7=xhblZ%(?Oy|JSEO-ihCzzw^!=i?mdV|2f1Az7o1#BnT?2 zPjHjVYS%oAc}Sx^M&4@5rbS-LYc{F@VxJBucAqk&E#vd~_oE$zEQUe18R0knxIvEL z4UF9lx_`wPU}QnqYO7|q*Z752KsN#Fd~(z%xNW6N=7E=k=DdY=#RP%-HpeSXrfOHq z?Vc&>+GIH~ednauam%m(cI@{$a>C9~#nMq^ zk6z`V*^#CQlock-KIOc(-+m!*i42e9uU~m{IP7mYiv>umdYF%`3xA?-=dtK+sD|_g z7iKX?cHL377jCl)^kF^9A18>ro6zX0j@)Q{0)1Q$qyNs;7MJ9Xg!Nky3;wN~v(4LM z`heau&EqaNnkmrLiya9MKKI;#u zSeVsD7TpUJ7kCmMW?ptEW;3Ha-qz`g9XgT%qd*LBC+X77uuHTas2&d*Ss=4##uq1v zN&v_0C<13a0BQkmSAHc?t0ZU|XD|sHIhDyziC&W=(;Q(6!X%aB_@Q3|%Y03dN6~@f zOMZYoGKC&Aihx~;PI5H6Wj(!{Uoy{0-XU2%hjf|hfng1^UnhfSjaFUljWDKB+krST zVP${xyk%A9x1Isopj`EopvwCoi7dD$wZ4zk|D`&H&Kdb|(fzaH1cHp=veqfk!&vrL z57k?~`vKxO#7kB`zu73Ow+h@-k0DuG)%+$kQoZlx(2qN5OF!CXy4@P|SkaR;`%y7T zTU1WES%{D)kYzK}(vFwq0Kj4NgbY7Mk?)I#eGm3eyKfNe0sdw%?d+wvfI(JIPmt*? z7>xpQUzsh@B#Ywwrhv^;{Nm^x|B$#OxK4qbOxy#Q{88cxnVkr@Gjwgj--|yiPh%SE z=3`>y=;p+Pg+`Yu3?oX1I7K+h@h*ok3qCqqBUQVeF!}s5TvX?ne;qjehnbX^Pr(=X z2)$Jj1!W(3A}MnPq+gY#fAl#@jocOs0aRD}k|q65%nsdy?f}aG6F_bA?&ypM^#j6y zYNfFoq=9ub<#(IcM(d(_qeplI_AZh~dUJi)#U~n?P+ahvY}x;mNR?A1njaHoG6bup zOVRkpj?+rsjoNim-?bjHDyO-0cn9}*{oO#Y;R4^{gsClE(%jkS zkkXo$Xau;XK0H_3www(+24QqGH6#EoCTy(7iyfGm5p@6MhRw#g(4dAqz)VSS1 zV7&f>xh6^nNs<5Aotz%pS;>Qch=0^veOxuAJj0uNkknPdwdZoiEhHOkxv0oA<(w3B z7DsqmA;%`b&)XS<9d%2y@KRZi&kJ_8`nLxl&`Vu*?~{Gt-<02tu?kJ2q00`0#@!a` zoSLEV2aAQ-5Xs=G%=3k3#Kj*8jVY1Qv#?vVy5PjuuP3$L5;I%BNBT?rIUau0=><{E{UC^6&*Nl zG|Q_b?TQ|B_AJD%S&Ck>yMkt2TTw0S()WR*iCXYU3IkXS(^eyXBHOOSSJ-p(Jar9^ zQsjBH*w{wUa75K67T9`Qerw`dve?kET#^?)94&ixM=oVu*HT-Dqp`i0(KE)EBa9KF zR_04a5w<7~2;Ck@v7;xtLD?-bd!F~6+HHCl^uf&GY%?uwlrdsuEz(4nPI8@mZT?H< z65>^xM|kKBe8iO#-C^&PCCrH58xhDT^wb*HsOcbi8ffzZ>@^yQ#^QE9NC1l9I#I8rAT@Jhsz4I8<(_<C0|+*s8K%DK;{EzI@^0*geQS&Fk$H&S;n{IW zm3B7T9!E6-wO*hrh5bs{WG^@zNd6jQUDN$M8#R$1HsL~zw{i){x*RtVKJC4;tXpG4&OpiRmU>U0YRMV)7%y+}V$r-B zFmX(ip}3kU=}LGpXuB0~%OtzTE@;DDQ2wB43Cm?Ot5KQT^bmH`M4qxH*cEyB=e>%s zW7qja#4%3(cA?O$P5PY9Z5=#s=jEhZ5(Jy%-%JK&f9afPtmcn`czQ~H$R99$k4KV(0`OqR+TJ>R)$fWt9>NX-=!B6r}y`N5! z=iCEF+?UyI8hBx;$ArFVK`BM~@fU6nIOz7}khQzo=T&c8Y`8AAW_QdH`O6UO4=;w* z`qAN%i$^p6MX2ZocrS~ef;DTqUYu54s@5$}lO=1uW~5#vOAuzWK9t#ey=tVsSY&0T z6ALk0XRs}>B7i;xo)jk7wK451K0!cRRB7f_MSW7*8+pc~WM7&CRXaMdYim=6D~>#8 z?5qsrbZtUS=^48XyKT_%8a-r|FN&s?Ge{;knUAyKm{UEM^A>2-=8%M%0FC$G}EHOk1=&0LFfN8bv2p{Pd`NG5w} z83=j3t|AQ2F z`jNfJ&N}7%vN^oB>wh`KMn+L}r`I}bk;hAtW)eC(4OmKFIaH&B_ zn#h{YN%q9CRHhlCY5uA@?jb8YNFf|h`e@r}d!qE0>5Ku$&FW3o48Ufut=IPr`m8jc8xXG9%Il+>Fi5`FYp&i zAftnWXmmw+HG+B;nP~hTV?kf0eW1mvB(-R%!1yu3Y;h`_N0cv+h-;X>SUVbulLBrp zzESjX#%Cm=$jI(JjWMFwD&!?%*nnsUj80{=mY?litCPsk4A*we)ZCk^wPcp0EN>C%My5SS7Hq~u z@uzVGe$AD4XE^AD9$dyX_w>*%#Z!eIY*N-_jpmRo3f?T3aaNw;l`s6VYk`ezPN247 z`uif{iP~lgCAoFbWLw^x!6-YyPfY-!fMjlU+STw`4Ulz$1ZCb&G<)hy&P*lA_`?WG_9!Mnbk|qX7`A5U!Dqli&EGEqxu;6UxC3j(`5j_ORBuYZFfytuiBVLEvbDS+$fsPWH=dU8u zV6{|55phP9qXa80=a&pLy2X~_dNtSw#ot3QP}sP^v_jYeGVfVGxMjD|xTcZJkgwX= zQ3nLYCYgn6fPue2BT0^Rfs8@Za4HNlaPlU(_-~1PZaK^NLS|Em&m16jp|h;FfaWGx zwr{@ha0sS`0{dS02|wRpEH%j`=`=j&pE@bTgn6MI^nKUlH4=pPMp^EW$^nPaG*|HY zQ^U;LRgzl<9sEoDzkAAE#|_0=EfDp0Wr;8wNs`UQllB$uG8D+4Y(+y70TT9F+!aNV z!^KS5A%E8Kp&{p^BrOol7bWdo)``23!5%DPm)29}_L@mTM)7U17APE{F9(cI?k+jaQ|R)~BBUv?tY zMzFAGQ_zjVqj`Ei*zMOE3}A(lb$2DHNq%t8XlwL#`e?oxfLVpv(>tIX3mZoqwQcSr zLcJ{-%=k^baWkc?vU6Xknr!^3!G$NiBIf*w17DR-?W+cP$m?#vXPaWnJSzh9p7*#>@SRfsJtd# z|5UK``x3{pLuIcTtk+6zbD+r2dHYPq7fv`1f!%_I)89MqsQ(Ib=?4GK&W8kqR+KE|hTvj?$gYq7mH8d-iQ!NtL*F{7}(xXU}!=F)vl zJKpG|82di~o$x$!%{WfqWIb@6(A<37wEF(C1LKYP@zKSQ!oC@7C;5w4syKN@rx$*0 z4*xL42HS~_dP@%fibfOBfmc9wVvSAgr4bs~(A7ZzL4YEpgf{BJYdeBUM{C+cX4*qkNgL_L5>h*Ks|;PQRllndSrZa-SHPHSU)7M=x;a@^%2Sn( zZ;5L492PPyw1wzh$|NKb>6j9-Z2x0DNTbDN%D!;i&c%FnFr1anYs}Ho^*$cvxlLnv zs$*!=-~5nHKGAM;Qf1#sl{0v}nH7>Vw3-oUd?R&Kb&uN&>9||~VjTtl3d-bU?IA13 zRo}k10F?tLa_Pn z6JS*(KA)^WEFb7>YowStz#|YTt@z~C?}Unl;a;QdReRpBut0&kcKLVqIByx?uI5SJViw$` zX`Zwb!5h;_qK%5)x^}wNpn{7UDCTL1cUy*4Lyx<_`A$O^8CmxA&~9v6j}|Yn-W0=imv(J zNVM5H+r~L<+s+EItmMZLkaXjBM@6%FRo|SJ+7*YxT-J%i2tOhmad`5wRBU8I%ko8) z%0g3fyE6~-ogR+F;${(HN*DJctrYqRAsojD)Zv{sa~BP1stKnepi5#&ek??u*d^fB z?rF0hz19qNJy*AFY1rW&js)yJ>)8y7! zxd%NR8kw`T_?>{E$GXop!j>>_gb8u>-pUxTo@;)GXxj5KFp*UTMv)Y0LA}t#+-dtY z6;aSAw9dH^-sV+q(R;AT19uYFZ5LQUSit~ahfk%xM%|{1Z}Ag6vSctx743x7>``#E zn=Rjxq9uOzj2?AfD3Ddq)*v+!39Fdk^D;P z4}5{!;~HwtA3&LcQw>#?QwMfl4fV)&De!_Ry1`3Vkt2QgF7te&lnW*3Bm`LXEhlJN zEZ~-Q2YI(oVari4!_7PTG*d7m6v9+BD`o=%SohCk1A=fZgLw8Ez`nP~&A-<7S{?mN z$lWK>Zw48=(vY^P@CCM}Ty;U7`^ubf{Vw0C>eu8WjX2Z_=V1L~LwbGJhg7=Tb>ufU;6UpYvzmk9e~l#n+lH^bT|oOEt_HB^1J zl!ZizN}czUiZs@YJddnQ7av8Bn(*8?h+Ew6nh~lDM1bR1iq-=h6KY9M`g7Dzn;bA$ zk%7Ru7&86KwwTcb>>~cq{Tpm3$rQz8sh!c*>&+WhDq3)nOmY6jTiQB&v)Q&Nl(bsJIUnSgDBbw4q3f~;#2*p zu87v#W$|UHH+}j)+XS9+7+vvF@mwKcdj#HG(_G37=U3Tsg~k+UQIb5Oo=Z$xf{QT~ zcU`&rx@wl!&&@u12aM^;9(<*hoOR*~YN)|3M@htwbWo_~GLK|6fEh zMJESy8`FPVR*y5s>scw_D<}%(meB2{aV$vv z@W{}={9?Htei-9kcT>4{u#3(znF)XvW{KX@+om_o&l)F9yguHqAbK#AAW~}cL{LQW z^Yn&%f*Ki7OzJ?Wbd`oOHLgyZOZKvOEvFtfZB%jf5I%Le&{-O4_5wA^HrTXHf-BDr znb_9?1w?t(Z=ErGzWt9`k8hm~h+TCP$UnQuuNZCeHGj%a6*U=J_b zrDrxJGCCvV?e&|hs*A?u?W42?q2GY<8tQrl?i%&opD5X*&aDlVt6>>RhllL29a_2B zBI`dI(kuYv0(oy>P+6Cg7#B=A1#(IQ-1f!0g4rD=M#14af5jO~4tl~t|A0q*8at&w z%?=SxW~%iSgiE#wFEW-e*Z=0p8~fh8R7aPV7)AHa)_S!nf?6DxI7}vlExoM?hI7kh={=j}GGfv>4IItSa2 z>jVQagGSC4O)Ahnv}sBY=7%CrLJOf6D4Ihth!w!L%s-wRrp+T&ydxBn8Q?K?*Xh@> zENRw%M5)@0HVjxBg${9dPHj(w?s*^@XHK=qvpl10x*`->If$P@lN#k^hTBj81?}}M z!JIv5J`7ssdj{~xAvVRJgHeuTG6CPfq7wA>a}KbH8+C+f8ha9!$`3NPqJKti)V+tb z$h^5~#_&mJDyV}~4SY(NMAjnCHy*y|w3woIJd1F;b>%kYZ)3v5H_U-Cc6 zX8#CorIl(YouBR-9pe9h04O<_|F=qtlKPKI3ewjIPA&R+f{8353TWM^_-0BSlQ{Gl zg4hL#b+=z9o^)1!`hL`u8`L?FSQx94TW~>7Qt16WXq;FCAD$aPIBqc8$+X-4>Oq9Y zJ@*9nv)2y$$@c5Xj;;@=9pKF{{OBv1fZEX!wa#{o9<|Ip;ElEs_2@(~*z&<@-w{~N zQ2wqLlB)W#JGqd2RKd_WCxXBYrpiJJU0P?ccagD0hWeD1)%HB)Q$mp1_KzLZR)Z6G zzkom2UWrb5rlu9j7}VNE2yqpHEe&RgzA15*#FNQ8Z;q09fLBY8uwAHQNO^6m3yX7Q zp7pYmiCV2$bAk!FRi{ik7!z^S$+-%%;hA)2$wqpL^&$iCgxR8#0kgyH=9S3%rBtur zgc3!vD6{cdSHfSZW7K6{D|6-ntS52?=V(By_@E5M)>h|8tlx7L^0CD0+1HR26%>QQ zl^xyZlSX9e_n8u8=?INs@I+k&O85(P>8CoX*F?6g?jKiWyL?T=`{}zX^}q%p zM%>c->VoEY1{LW--GOQMiGfGeIm6w-MLWnv&phQyLzbZ~xi1 zO`HK=!kUB^NW+-6u>jU5xb{fs`2rcSMR5H3KLM;lf2hpqNr{ew;?PX`F$s#Gzh^HN znFyM6`hVRI_3$Yt#R;Qh*z7`Dd0=M>VT+%u#ZlgQxPp?;bpm*a$eUL%;dkKL9hi2z zU1tx?3}hcbsBaF&y&(efx;YIDy!!hoXZ=E@vhQOg)N5NqzsG)-#=MlV8oZtm!&=R}dlKnZed91M{kRL*a??fJ zX7#=u!3i9-t&VOLTTkH4*^GA0z3sUOWW7V<@|m;lGM+!pyojmh$GLtSsFfR!yz_I%_%OFtEyV@}iNWt2LK>8AJx`Ay>frYiFU>-OI? zGo|Nv*d%|bizrC{M_a7wpl@gQKj(tgD&lrX#z;QjlSa!R1|S0oVgY%RQgL8p1VMUG z_)tT?#iWSj>lx3|old1-xw*yU`k*(FpOI4wm2sLN#DyhlRoowsmkM2DQ*ItbWWTrK zu0Y7tC!id4vvi5^WROrw_do@!;LzhsTO}N$n#dqLF zRL#)qxr3ZVvD!6gA1r04F(IRrmeAp*_!Fc^W(y`VDgdCyFox+1m=-t4z&nDpq3P3^ zqkqIXJCfW01rk9!xJz&Z+NE=)7m!3WaYqd3Rc|!wD9hVLSEWFAwGHbOXT56Bn>}Wq zp4TNT9mCpAA&zlunDfG}1CeN7U_wL?S)5w&Q(qKliI^%r%|^}Q;)`B4gS4eG))&r~ zXO!U)DAKPHiOJ@KukSxzUPrA9=Q%!$e2H?cxhD0WJFuNUDgZ05kXWT@|I1+@w*L{1(FVm5b!cURLlu-7AQ9U6ctaFB-Cu5 z?hM4->30kS9fTnu7x*YJS|~U`PCzLz8-MRifLH;ZpO6beHQD?+Lb!PxFdMj`o7U!~ z4;-JrI)IG7NC8D3dRpUwU2$ap{hQYwe*Xys%Pw#)JnfgX9c>QRm0soMls&&Imk9(`Nf+VPAmxX10WWC&Y zDGYeuKf|V<3u7i0lUlKLdhANj?f+mPyu7#~-!`&7Y}oiBoMB<`B^wB)Yw( zXd4ccV!aIdGiyu_>b6&7K(jG>V2K9Ga0#O558!oyPXak}yizeC?up1DC zOR7u&GKK7l!hS6InLWA7z;I$Ph8VgL?5^3){Z(tW`J)|Nmb$B|8jjh9z`EGaSmu`v9pCeh2JY_eW=}O`l2E; zE~69mL4qqc9vMCU`Hr-6cI*mj)8o~V(sH3u)oDpLBpR8HbZjVpZrd`K<)-e{^&N-n zC`eJ7IN?)n@_yaaVcxw@J1{?7c&%N-rFR5!VFn;zB zWB5%(#>vOx^It;|QX?~0tgmu|8d(U==;3`r^=l~7z&I}~&?Xx;8A6>rf7j=vI&Id9 zpwoFlmYhX7&!beinZD%93EnwV^*m}fwbjLA2l}l~Qx@Y6m3xe4(C(>g3rHDI-8s=y z_Hlmd_+;Z&6&wCNeW$#Ym3ZsQ%-DuY_)#rM&8?B+bV%xAH{c>&O znJdp@rN{4{&4_<<=ZM{|g=^q>n`3f(DWhh4rb8vCy zwU3^?msOt^x38&eBJ#;>+eOJ@DeFdYoqG-q?Bh&y*NSSTY`uSC2^eX{Tlvt!BmpnZ|;rg z_EDEoP>1H#^EPA8i$@OFhXo$I6z|OFq;|0?Ffcwk?i^-@=7vg1Rl&}w zD}fx-482vS15L+_9(XetY}sg^&Vn5)W~kO) zC4J)(eUJC(YSDxIeXh-q*F{{yB;IxjrimbBXS4|pU;Sx2<|e1+56swF;jY@Z3HtMc z8(&=*SnpYKD7`bh#vxf5^LCHoXR5XSn!SN%bki;+9r9t=C`%o(dP8A^cgNfF);*1D zGe~7zPVv0GGcL-l5^{i{;9|iUqbU_i*{3YBZ-Z`r@UQG*NqJzOT6@IFuz$tgvX)J$ z**pey7MVrsHAhU3jkpwiP~hzeI@zv&yl1maWXGYPy5#B+(axaqZ!xQm3(dd1;8?t? zLg`&5t>abW!f%Wz-`Kc3Pdk;HFn%iJ?;(@cI{Ja?MV|2;jFs6BE?!UDd!zdzz0O%_ z?j2UTwe}FDm-2Dz=^xaWeRETHJvs64ea+?v??v-k%WbW8Qiq6@Tc^Bg=UGL*XLvvV zS3cn&#oj(F?{XGK0ln9HG4?x zV4F(wz3wM!g~|mV@3n21R-L^$zxhzrUcR}r2fUcx&r&nVSE|pQ-8H2DVDDA!2OGNV zo9;~cOZ8r!r{1N?sWx_VfB)i*{inl9&RvCPO5528oGAX4v2?J`a3w0-|NGa8;@Eh5 zchmh$b(3L+QVL_&BhE7jTn=;CdC*kVn4#^;8QsJZjicq7NunQ&69vU$`QG>H_OBbh zr(LE~HYx4?O2^Y;c!eX)mX^Ci_bK6(cYS0&r&c@f`aU^qe1g46apL`Z3oY^4xryZQ zd#x$+cc*C9Zct72Y@s=^OTJ+wn*LGd_mA7+>Wotkd&LZHj=O4ntU#t_d;PRXgPTZm zLB;)P?gljxv4V=~X`zOrB9(`|k_YMHb{h9ue&K7lY1C`u6@p#eP%ctw^M$U#TV%4} zd)%O>NTuzUQ-ca|QAV=3Os%eA-H^AFA6{A>w1F2>$NM*i;D(u|=|8S!{_a4dfzb^9 z96o#HNQB|;XJwBYyk8#)G2pE{Wigqp&~%iRZA5!0Ek3?3zP2uFZ-3-q%XZuRbI05= zZ%n?Q&Auho^Ol0XedXpLbI~GWx|*8}*EKX9+|=ZUwRLZM1}JPGW3)GZ^CT@o)-79D zxJE+SOstMH_-?`4EHaIw#id^=8l|2kjcw?em~hthx_M4D-jr0(Sv+U1#({rx_CQj^@}MRW1S`w@E|qkwmqmmO=kcIP(YniP+{^pdE%Hq`GWNeJC%Y;s zoh`OiB0&3N&=y;jrt1ybL8lXiEMcoMO=A_8SEF&9_cvln@lI< zaqO18iC)5B-xj~lBk6aUiz#$3-;pYn-{3Juw~j4gbMfvH+QO9wy~ZUK2i`sQ)8H}{ z$&a;2DKV-#+BxDab78{za+Z@&PwHV=omN2bku z8L=!29NaE%*b;mC#_PzVBUex3($-VF+*eFf7O>f~?U2aqZJE9n|EJ|a{R~p$@gfFy zU723!m0oMx{(a8Ke-q!XyD|yK-_^~eyR&}C{d_0IrY|ZxbJE!L>(|tDHm&~dRl7NM zhb5+wJzJGazCppFrkDbIboc3dnpr6q&+1mu2FluO4A!Dd9rr!|Y==ryltF0THQ!9` zGq*JqzcSAywcci!HyRX_j(C=FUUTa?j$Y1K^-CouM;R06?E=*E8-x;`o$GRM%c)h* zmv5RIFPl$LJ~`%CaB|;lyz)G0(Y=-P^e<1ASIx6xXEqeRwoaJ2nBzuMD zU6a)sxMk<9%)KnPV{9{WDqFubxBY0|_BGWmDMa(-{JzY+G|`=vYP0jvt(znoWugi^ z=7rafjUDV}OUg{Wbu=O&EjUp;A=lQ`DnMO3w8?F|mcUD!MskUsOZ7f4=Ozg$?;xd}XxKeL)+bxoclN`cpqhu(r%f{k zWGN=ZX+^VQs$ZXF$a|9?Jc=>XT{TPDH)mI+kruq${TSAzWboT@A;W=9ebgPCYQ1V7 zE9L{`PTnEk9sfkvE7hsVJ0WG(;?%cX3Qze%y)0?$T7$l8Q=IJ!-rP-1nSHfpcrs2d zKI4Eijb{SIEYpVB)qQjJRX;9@8tyXV-BR+yqo?xJw_*xUrbBto9Y!o8BpYTo_01iv z`oU|$YlhoWLMFlS_TEbuk&@Bj6G1f+rKgYTbZ7*PCS(P;o6$PwG52V=7gWElcB~i8 z8Q6U)$-e5Pad74vn0$nOFm;T zq_d-axKk{~_h(ywc=S<<^aXf0ufDIgr7yL$Sz;>S@wfEFmmOwsW>tTN0sk^Pfy)m6 z4EQb{a0mMDX^Or3I;Ax?>g8`YtQn+H#3>!BzIB>ID72P}L4$;mD&v&;F@YrirpE2! z>q7;OZ_4fqI=%myAp2^$ZGwU+Y5o2*DcNbV^L?x5KPTDhH;=WC(D!xE-s^a&`>Lb; zrGER}Z;|6YbR+|>n>p1_<&io#W=SzLGr^Tr6alg=-lBn8A{)&NvbJu~X z4OO$`d)ItFFvVEaOddkz$Mre3Z|CV6CFd+EKf^TZ%XxeZCkhQLqMvOr^q*^w+d$j> zB61Y>VpGaBxhVT!`;wo%j?a)uiff8 z6&5MLn7%<+ew5v@UA@6Pr}JQll5y;iT*QQ=aqEqv*6h9ePm&E?OekQ#Z``~yLb(C= z>1v|Y`fWAO`Ws7Ac5UsrVHgZxXA8&J!?a2C&{>L9@eY8XT3CSiB9#T0)ML7s;kxZ5&DNK%reej~npG?XgwIfhWJ#%4 zD@9+x81F1KPc$7gWz13C`+h$5)MlNlWdqTbqyoA!wLzL0$JUgFOo;DK)oW$j#Bkxb zd}}B>yCYrFwS1*8fzBTuh|CS8o>!|Fx}jqI#I!W?B2lGla}m#0oVAHt1cX z&=)eJH_XruW+g@BdgO$8;&`u1+(% z=&2l%>q^&*c!#(8G*Mq)t!;L1!}M;h`Pf3s)sp5l7xbEI4RwY&eEotZbx(cHluqXy z&^hOutz>d2PTIdvnzV#{yv>!V z)O}Rf$P{8ICR=fg`pd-+{a@5Rf0?EFVkGupCbfEImih}V#i;FfU9UMmu1&cYUd;E( z%%3|~d4Rdj_xPN}KH2BBqAm}9QY?a|d zQB2cG)^n+~GXhj!g2VTQ4r#5Oe*c7GE>dp(eI#q+%eAU}>xAP~Cqs87ZFHIxb?uE6 z4~$O=a@A*$qGeF0e?`hrnqFZ>_qZwUkyPJyDW8L%*$nII>3B-Ni%3*h8Q|n$$W$wgA zeqm7Esl+znW4=+q&TG{s#np~>c`cc${lg;_&I}tIqj#MU=y}NTa411>VwE{g;&EQ| zqn9<`^@h_0cF)NtZ;gpB-!M3F?$JxiS#c?!?Wz^h=i^O7Tu1p_M_p z*mK%7O7+dgD%+Lyj%zrA1Ux0hiq{TGs=V1a6SZQ~1BTKyVzWCQ7pc6FtYU-ND0Y}Y%PysK5TUa|RG zd6y{N)V7MAjTgFwqrIzEPc`XG)=s-pYEPsoPAI)9NB;ZXHRRw#sNw|Qt8)4rPmKA5 z;Nu@#qP;t3>E}EPz< zgme3Kcm3sfFCQ~~rn=^&>*8J-i90q&IHoJb*>~+I?9$QLTw7?j^|FMDsVU3x1TPhH z>4cqLlNzdW6o$`EKjO|#)7NvB$J*=WQF$nlvh>Kg$U7@(%gcU^_xqmw&75D{bE4^V zs*kL|Y_HUick`av9=A#FzRJ2uz6_5KK6EeR)9Bo}HN`I9bQ@hSa<9JMlseou$@CS* zWpCKz?av#-D2-$u^>Z;Vyb9R*JrDEhg3sH+Qu9A=4okiDSt@M5k<8WJL-$m5lAyO)u`J9<)qxEy$@D z>g-I*EN|(-4IX|WE%2}@U9y@?kyxK_?n$XTtHazrR9@rXV#9LGE?4}Bt?zZF0*^*a0PWY)YbY`6tC`eU zpNV=6bV}`5tG-q>>!b_Iosap0)!4={H$YUU{o-*T1ic7-28I zq;90lzDIie_%0S{N2h0x_r-Qd>Nb`JJ|JsgJXpiLCCMwmBxW$=Hr1^Lx03s@Ifr9) zQ$BWoqQ4|}^HC?M_l}_xaUtt+KV@IgMcWqU1)79@q0z)^NB8xu1+a9aua4ti2TSmRki&WV{_{TW$ij0xJKOzW8AIvVN3@-1;OLy1XT($=?UpVkSaB;s~{9rQSEtYaFibV?`2 zZ*-M@`ON&aPSe7a#;Qxchx+1~e<+q^Kb39%dh+?0in#;l5&ylu*y|ck25Q$dvq|4J z+jBG5COJbiC(^3x*5{J2oNKjt>Kj93Wp_(l7diP<`2d+kS?jy)k5jS(^56vw2^Q`N zTcT5=F&hh_BziCCguT5dtr0C6v~ysG-QaZ-O#eEIWIlmIJ(tu~k1Gk$GI{1&oG8Ab zeW5rbSD*6-_m9DXmk;JXXjG^_q!+V{R`<*5*j?j$*PvPZm4`&;oyjn7`l6*`a2^ezcQBCGCLp zdCAtR>RktHliWq`R%eMa-^{|DU%46EX3%BRmYY+T)uDY;rF&$>`D1NIHQo(vI@XFi z|EXnEy{lpGSY}7khm|KXRh%+tHOfLo&bL`7?Ra2$@gWs$$fp8UiOqF+9L2RI617{R ze9qU7q^UTi7bkv@JW;MPncxA zcV{*S@6GrsIY7=ca=J(1=yx_Q!kZ!Ihe%!DF<94c2CRoyiK0@4WI6R~lZvrXRUwULyH&0}D&cUpVmFiX@~=_gyJqm?;jZJwr(KwoN@Sb|*n1xC zAbr6Xr2Zyat(B&sGpV)O>cHSmev{4Le5v`%^u$}S?xj=fn}sx3HDg`kNj*zf&eET_ zdjGY*0duhPd2^AF*Q$Lt+WKy!%^tv%obENHs`=KkJL}`O9i5X$x3(4~p1BeJz1B^q z!1ro{-z$=y2=<=#<2)C>`br$qo%&`{c;o5YdbVlBotTUy3C2SfaRMDrDQOvBo?=dU zm^k2ig(J;$TdQN@8CmsBYe}ogq^mzxtN0c3ljE9r`LMk&*X@j?>OHGna9^#D?hQ={ zijHy|;tQAz$Q0NS=_ez^7*d4I(5T%*)uX`PBapG(B}_8iu;JTBD(9$s zeSx(dXKN=VZokqxoFO2==*xanL7@+qBs^i?m(toV%j5hxyiG6p7~8CfbF;m3>eX%v z`c2mCJtl0kVtsRYRla8?*6i}>vS;q*dTseRH1gq&lJb!QfzsC+J{DM;?|EoNmuR-y zt0z%W@*(*bBesMNy6N2s6;yBD8rNG~xvBVOV6E5cUZ2>{7A!H{0`_;q&G(%#%9Se) zx<=uCi1ZLkdg;Rn!^7)R8{T#FsAY9ntN%#+n%Gh{dlJ1pxIkj=lsmjg%AIUG7Z3sh;A-d)(Qa_wr26=j9u`h$vtGI*oGA zu>9&1Ef%lkbJyj{d?x#TFz#gmZJ>*RaIBN}iErPolwY+y`D5-q<9#lf#*7Ut;&wHB zcSOa_FoN67u&lNh50}(BC%;}$2a6kMc*!pUbpY96T6iuDCwR$gjTO=<8aM zL+-*%VOhnZstsAWZ}`UdeU2-!r`fR6HmA+zHve0Ww^=soR~y@Ba~yqi1l;7t9h*FS z)FgL~2XUR;bnsD@V}+o3n!-(mFWqz2hfnzHGuu5LoK)TzZ+pt&WU0$|Y2~+CudGJF zH2rSF%JiF$vqkRc8|a#>IudpC?#)6!k5ZS|Pb}q0?$!L?)HKWom9=~NU>vX^;U4Mlsm1&FOu29}5Tnf~<%li9S zBOG7Q9|+T@_>s*LZBuDR*0jeW+DPu{5Z}WKAEH$Gc*4(IATK`Htaa^sgNbbNsgz39 zK`py4-u<7na=vfglKSLOvsUhRX%jzD+`LWfymmu#-FtDN%B;bsY0BTZlfBPhqVAua zu#h|E#eaMHyRF?uhn(9y;SLu=e(d6mEf`kt&!Et%lr3maz0hb=l<=|cJzeai{TKHk z?m6up<7~#AE1qWuHLZ2LhiMU43&J|Dt9$dw-P`JoiC(EK@2rgS1h1w_ssD?y=hs}t z4oqOfdqxDy#c#Qe>XjPu&hA#8aNym^DqL(H>#gAGWcB8WN-1vcajSHk^qpxzQ+*hk z2JXJy6*7{_+f0=cQJdqa-7b5stM24A>aXjz4^{t}_K=WNz@`qE>HPUH!e4*C9?}(S zX^*oO`!CLsFI0bfSLP2#00Ll%6&|aizM$ab2y-KNjw*WG&AQ$Al~cFm8o$W-vq>p; zGVTnlBMZK-x%S2Qr#^S%WTtMOEy-BXbvZG59P_i%s&OKlRaLu3PEk;Cw^mG+OZSTH z9+-_fbBgj=u&@-ha=;9UcCb+Y_7w7yy}o1f3>B5{A~Z^B14$j@Y#6TRX^4f?G}(y1 zs8}z!VYS$k=KVF5xVK?G79?>atm6W4X)4B{bZaAOX$nit{Er5+1kAkF|Aw3&dKTRCu0`)GL-=F&P|o9_ZE2-}M_rl5dBf!FFV3Hk4)H7+3afgwN6WTA zD*Wun)x~aA+;cU}2{18Ht`2|j)Nv#x@$O~I#@#tx z(b8H>k&m_Rx<5ZRc-uGTW5%^hUR$F>bz4t*QbkB#9k4sl7IuZkKfu0Pkim~*ok`un z!-B_;^(_OHm!j(5xCueUi;gssM5F1PY|#H7(nF~;V2nbGdJ^6(4u zb(=Qr>U_RI@=ng!v5t=3eGeq~l3vJuG&HUVb-s9n37ala^V0I< zI5&rH+iA_HtQipcF6Ex*&@)kek{@&Ts!Jz;Arc~V=hN*`k;PF;PiHsIxzLb;~bxBDwHFOvk9nwh6hwQd==zL|IVNc3ds zyX52uI=`muhIDWHnXE>5ZDaWpH&an&8S41T5X_Yv>10a!0TE2ppeld-V+z{~qY9sE zcE7x6oGaDdty8Q%V``FlY6~@;<2jc;p($SNoS7Yrd`6}fc7?iC;ZpK`!Tir;ic~jI zFfc{jxo}8`@0^O(>%dND4YQp>)eQdSRqVnRmymC7JVC>V0 zW9nhlhgo(;eHeSkD3Xw~LPz!S$;-K?WV&a@FW=R(d+P&W7a;C0JEMY6!NFK_8E<|#Diwllt_^LX9pzE$MiCXNGbB2PY;Tz;yO z&@H&aLFM6vAota`c7N+l_6aQX|bH3m+$f=1W?ZOTGcjn+x;`s0_6=_I*ml_d=as z?ij1-F6UYE)bCvbUi5s!bb?GV<&j*tD3|v2lXL!V?SG%IM)G!U?6}@(QWBEq@OW(T z?mcUaJ4Os+izIGmS0~s_?he;oHt99ss<*DG;Ca6~uH>AqqPMUBxi7U&mJW@fz{^wm zb()SLZOUI}6Dz3Jv7IIV@J6E|WkZy0vCDq)&pu~-L|X#$cg}4dl?XY>sCsJyrSTNa zK87a@&l+{R?0S^9rI6|>Bn+Qx*l1w1-_nJVHtiJOx~n4Yt9zx32Re^0s^=wnSoP8NiV=NeoQcqXwfV2yCUj-BDbR{kSF?qgPB8LFwqa*us4Kcf0( zw5G6Rd#n(rvYY5_Aye0NM~t!=gV*u*eLB-NYkE?z>iNlr;%%ck=PK@Pt@nBLTy5X~O$z7!0_t!HA1r{LFVPf-+omHOzEbocDthNsDUFw+NCxD|3?`d3X1+ph>wEotwQ zwu^|i@z&3{M4hU-#wLbVN?I=bxg95CMPusi`uXB(oQ6m;VDQkq`=pgBPYa5$__pRqX^( za4XMZZ7sGN)XIN#a1D4I9&Opdt6&#teKCjmH|D4L4&dk5JE1hRn1K}S3m?RCKKL09 zPF5HPq8OInl%Gv0AcR2&(&DyopdiEeArMzi9*fZvCjQoJA`M>~5Bl6E zu^3ad7md-u{-PytJ|K(n!H352yF@HbKUChb67&ui9CCkcRiyi+d z$HMX-&VS3Ai!q&K)5ebgbC_qb?;LbQV-_xX!>=3R8qF1<(1JYpL91BnIGUo5v$t__ zb;OUE?o4{E3z^mh7HT*D?hyRW@~8JgV}6z+@*eJX;Lg8>aTT166MpP`NCjUZ#0Lx1 zD4_K}pDh1uUp!a^jFlZ$(cTq#Z`m;d&OkM|%|;6RJ9PEJ%hP`|v;0$o@FDFm4h~Rx zV2OH|$0=TxX@IT=_Yn9^gx^{I8=$)WJ8*t>U*R{DsK0SnB$cK?LHZIR5+eK0C(BL51e6sx2F5_pqVyvKS(*6A?U~$ak$FO9pL!v#Xyf9z=P0aG| zh5-22PCt__VfR!khxdm=2&O@P;`+^k-&y`PwfJyOIJgBJUN86Stq+S^*Ft~RAPl_d z155?}s}m7iRSRC6(@}c@nqvv1#TY^YuB0a+;YGD9^8J90c7<>F;KL4@2f+b$?Vg^S+aV67p|0dZnLwPJ^xv>jN9F-KSR1S>7H37kf%zVMI7F4gN*m*fal}IQ#ZQZwI-aWq#vBGeLFY=5gZOB!#Qo#`d&`qgNl8ek z0STMy{(K-x_3`4ItUasvi@bk2h>%9H_()hQduL>lKzO_|zzmb`*a4Zt zW3ff0?eG$bhUob5J&m6rg{*|p8Qs3TOT=jZUADP6yXoidY25%lMkfAf9~sQTLtLn9 z33vBqW7_0Lh06c zhu@)xXt#aSj)!B2am5iFTlmHk*B%0vAF%jP{vq`O&HA-+wlIf0fOUYyc>K=0{d%ui z7Yy*7P{g52!_F@JNMu3@qbZgcbv&hRdLM*D9ykk{`UTdV|E{`zH`M9Z?2;JO(=xP( z3c7CtWNuXV{Ri<o11R94N9@mcQj1 z{4jTSXKh!fpJ|>L*e(05%Ma;3~s5aG*U*j5}KLHw@);99sMgM*TBERq`1iu%&ap3XehN*`KOjFUyrRO6` zRe*&G{K#t7>F~p#+#pcyR+J9hM2RDR&VPS3mrz;?e2^;qg^GlP0g8W76rF4P^6B_n z9-1RuG6&VHE>u!zx3H032Ai--c=R_*g+o}}f$@ABs?m7|h=LD5W>|V0y_7Gu`#MyU zI^qj=MEsVJ>GrtH^ViTdoe!}6i3^rjuIrf+(;}Hc3 zNf)HgUB9gezq9;*MBxYjx8yJO*Yf{D?jsaJm;K~uw}BL1kRpkavOeyAmx4c(B)z}y zSpkm22^L0&Qd-iIG8B-4j6g{{wT{z%9x}@%mUxl`jX_I%Rh@cK*-EJ4eO7RLfneM zQxUYLaJT-S1mU;zB~8IfDzNfBSlU5rsh~&7#bZ236GW(0JRm2uAJGL1HomEW=;yOQ{YU@km=9~<3a24=*tNP5sZJwK5$oN7<197I`R3E zQgnaLbBT3=p(1h$S+Nv>6(lrXxNjMFS9>dWVpeXZl#UJsD>s9c5BzZ=B&jBiEs59j zfK=qL(0X3^pIehaV-6TAtSj$64|@mL?SMZlZYGHAw*jfSAXN?}^~~h|k5v59_EVLQ zr@@F+vw5)!HKzY3Y54I4nz5VvA)7NoG@=Jn8K}(h)XV>EbXllgbl?F!fpw=+9=5F^ zprjPYwD7d{&nL_O2+i`@1g!8OxM^i7MBgDuPBMSci0x(9ECv7l@Oq&KOI7}}HWxV~ zz~1a24V|oZvMgJY6OQoH>B%+&K~<<9tzg&6c2rlG*q1AS*qkU|^viB!H&!@w0IjN< zyvyY;)J{vOibQv8`U%Xk*X<`EkwEpNN?^H?j2sPGx`8kLME&%p$Db@ z{Y!{A;N<2`#9bS42TYEFnu5V)(RSw4UV^Lw)^)|fvj`*@TnP=^6#VAd0}yKkkZ{r2 zut(>A5`aIHcN=jW-U976gHZ#Gr#D;zzhGVBt>@{^y?Y;2Lk;;H9nEKr{|7w&wrgab zemwCX|k3N zC*Yf;-xB99LWw;JB{153qOL3(j$iFv*EcAB1iRjb1(ltDl#UF)uI0-{gA2L4I>ELW z0%Lq+{T5kw$n_Mk0)o!S6?MxNLd-k4f_XY`K}J6PPe%4{UbX;jCqj?#c*A_s41VPX z^uX@_blG^M$|g`?y`h!3916a_3Q{uKz5>se<`Y%D6rW+qK4`iv_$3G7T5{qU z8ZpO0=|C*V4yLZCMz#>01x=w-#gVnk7O<2#JoIhJj)4%pf6T$mx@;j!n!_!mg=QAA z9WS^qy2R?=xP+ADn4&#q=0*XSL6CoO&&IS2noQN*H+dn;wvK^V>= zpteJYvyjEI#4HtQanm>LxnZ^%471fm1()5j1pH-k{6?|(BH22L%rdwaKWdbN8~%wJ zg`oe3x`)-xg6}&+c%g@4H&|uE&-`_C1`NCK7csT-2wM70LHC^2uF+Qg0#BcaHeV5IgYj@c*3lMvfnVnl)AL>!$PdU24{g=eiFgJ4 zIuC^2DXsJKkkG#pkdrm%M54T8K*E)OBvfBoz63)!A%m}6L?mcipJ(I;39cXkJtS+V z5|yxM7xh9f@TDU}%F3CRC=Ku=NeD9Z(sE<^|1RZUT_HzP>^`p#d<4lf72-?`m6jZ@ zEK3G4HE}&CAP0?;Y=ZJ#7zICljVK&h!@{}aFYFM_Y*uRAcLb8D?LRSKdvlp!Vh+@G zf0vyS%mxx6iHe}w%~?Vmk8E!yMh++)94i4;o5NfQ9bGpomnQ$(?MzI7%nOM--H;u2 zL3M%_Pyz!op78x0T~0{Te+eLFQ_*6d2^SFX0tBFS^QLua0mR61_sa4+VQe=AcN9Wt zJ@o}KvLeh{h;gmA<_y08CbCNk?c(>lh;r?JZQ>@T?`>k4>vF)w>;8$K!QN%TiM9N6 z3vFgSq!}Ef8FUfYJwP1(XTvzLwm-i0YTYqVOgbnAjh}hDOgypHi`nQ@UV+xLg14Zn zsgifZ@IRkV!WKeeO3eQkU>Y+~)!ZFSfW557pA{-br}DWdHEcES^D z`n&PcTuspW(|@#XGqX%Qq1Gb_-B3TzDiiP(faga=5gAk^gcHC4A_J=A{tFidfL9Ia z79BzFU^QteCe#CN?iidqo`M6(<#bOh#6AF+YxClS!cIo9B%GM0Lmx!Nq=611O&1S8 zModeSiPT8XR_s!^0)sL+%$LzQP#(6|FQpGc)ZdCG|8wPd)q(XGNB~*#Ae?I^x#@;`2n^zCw5m`Dw zYujFZ2{vq8B&Ly5F(uuwos8t*KV(X+rOCwFT(+a^2WTer=A31ggr$2&lv(@ z?QSj+%F%%~=R#eDo(11JygWLwws%$(R6#L9q7DTXdO_}>4RQL<0}I3&ey>7tN($Uh z8ioWk+Vto$(8OA;7(v_f5?Z|$;u2kJzJlSCu*QFGk093OVTRQP$3fZ1c2qQ&!hK0F zu@*m0XPj~aWguso(4|_f7g6xvrzVKC+(lDlpC1S?2ScI-ob_F{0AfAJjJ7_a2=Oxy z>VfS2=ac1c>`zPpoHZbZm8Vs1^@U^tJ1Z7x{0*F%BWy}Nr=wULF@^A5dU&;joszeOG@eJ4!zuz|xx z_%w>tUCNi*{nx@y0S&-$qlj}k1l#(Ph`)u*@l%B?&_cm~f)jKG{X)!0&FJ&ia?Ybd8|@R z0f6<8$Iw9QHo`yxB{%|%5bfM}4S=V?CD5y^!_No-H7$R2`Y$!$3ulBMz0cq|CCury zVR0K>V)b|YFZ_Rl8=)VTKCI>j>D+A9;+gl({w3+Ks{O}``0;lI-_>jaO?!g~v@3rZ zCWv2R#8}13d)x&SV#K;QW15XE#l+vrzQ;$#8KITPo=O-p{(Q3hSI-h6YTG+w7yOry z;aJ|enjzOuc>hDS`??G&fw665#Z&+s4Iy#;Cpm=uSelBz|GwYzZGQmoF_aAG(T$X3 zC4nIOS*`x%zWB-3<(;Av``o1fo?$!@Mj$ zj4A|Ggrrd8TF!Gx;M3FagH};F$5H~8HzJNi>ln0wl^=qd&?zc=!;%v0Py8_feg!e! zcKXHw^y}cA=v`ZnxR*s=UMDyoC#miOFPa2fpw}QJ1(p;8l^)iepcN2DwJV=&8U;r^ z0(i8J>V%fU>%q+|gsVt|o_}+%E0SlBtC7&tSrSoVbgV1U5Jud``LK6T3AoM%C;`#Q zp;nv_dU+a8aZV@g1C4(Gm7wRdk9H6zJGm;uT{TXwc=pF3+IYvHwVfPv9S2^6&gbvp z*d_j=VQC###G0gvffCjN8SNm_u!?}6s*kgBaB@Sk8BskWjn4f;@=IqwxeSWybX6P>>zWK(KlP>XOGlN>rkee1&~Su~o;(z2 z5u;;Wmv;G!$4M|uP9 z0$;dc4N}*y{pY`~(j-)UoZYBQmjRb%B*Dmse)67&`QN4BA7Gz#oM&@~fg=TWxA37d zL#7WA84G(J@guGF6k5H9g691C#V%JoF{TwaD2C0k`iY4??<@ei5z=>%*PdJkQ zHpEdXOv2Iig;_BX?9c0@{?-ZpMmr@k*h@mA{UJ*((nvWGx{m#FBI&w9|Bf$^zvQ9$ zX!xtjCE&z&Vj`}R8pfN9Jk)FBU7TO|s)@i&?3a-O9NwlGB3G~Gz)BFh>cT!F&IU`m zdJ!|{-TCQF{-6(YFemy{Q6JnfgQwV7NL|qEpXjB|K_Z&*d%fzMGX&Ave}bs6mw*Uc zG33yoo140mEfPxyFgRVPIAAf2`{EdKq}Qd=2AHaNAR)#YtY|@eQni zEJ}-N0|eo}c7^@d1>!RJ9=S&6gLQ2okD;r`7jFs5P_f41+!x{re_kLn}Rja ziAIBz5`Q+Z71OmxmTz5=YYd4*(yHfsyx)StV!$WS_16IT5@pYudxpV>%fZ+Mm-dQ6j z7c*hVlSX+`AwO~aLinrTj=@!pe|Ziem+kJzZMorlo5)v&)M(9PX+k5^85k&0mTU>Vk0l1R{m;voh_cV!1K#qjKiA;Md zVjU>8<%np7tTzuPK&!vih&W!y$pNbYFK&Qj^si+RPwi|Jnnu=9M!{3jEgv@_j@EUA ztGXO8_5_bJBKU?Nx=$wo?*|zIt$Gd%ym$}T(=8_N;B1G{^l-$&g$Br5$l!uYSg^t0 zfpk8abB`bgA-4;lC5&4xA;A)!Pg!9cmXhFLaLxg#U8TW8p%DD@$?~VPAuItoW-GY^ zf14+9cl$QcLBR_11oU#sV;o_k0^BnNmxMVvz`k_+T+b*W31kV#9^whDi)}u{xNfk* zzQ>Ss8zFrO{P8?w;VmPKFdo@UOe9;K3C)cU1S7rzhepqt zZk;CrT{st^i#blTnhEKCO$OU$NZ7zb(D2iVgyBj*FJXkm6J&mXyf_8Fwy#mmu**X6 zn+&TB=(1WnjW8UkG>GkbdE)t03R!^+g{P!wB|pn0P9>t`m4Y;}q2Ls20gPUt)`5%l z@r=wrGoOm1qsPzXLBxdkb>Q{&#-qKU+$h+#i7t$IN{E1e-nf8uN4N`>7k>KPhI`i- zpxJl8glJvlKOjs;p79gW#j^s=)%g%4x&VeT_|FG2=p({V7`F(gJEU}=+!Q2^yrdS! zz{Q(Y>Iq}oHV4q_!JQ;v3fd-?oLC=U_yebPfz%swx7th}o$#%noJGG4eHdjL|9H_V_H zL0w)EmGbMs#d2gsI2^Lv3U+u4j)-2)J=4FGjD;5`EJw-~!_L%oNFBns_+0R65d3#W zaYdVD;gtYb*X0OFP#gAy8y-oJ6pk(-j!zI3qU7l8zAS?{p5JWJ28ya+SX@F-yeBFF zSv6Wt7i?DbjD&&v4nRSU?ttrvOEHt#FisM zBE<3{1K1%CI)YxqyGc$(%-9Q0HkKozL&vqG21Iy4Pj;fx-8xF5B9O5Zd4#nbA>EIL zUztE348a)aeu&U4DP(DvMTP;+T|7@YpeWb~10uTO=%iml1o8cJ2z;A@aOo_Bb`|78 zbiuoi{eOVtpZ_9*j$;MOxrbl{Sl3*nptBo^3Ru`cv>Y3hH!BuT0RHCc#Ue7emJ$I2 z&{850HF4L7+%f_)`+=F!<@JCdQ4zn^2k@6#Eq*zkz?A3E=N`?$Blq5xrj$9sjX#m0j3pr5PB$A zEm*{L^7#3lOSp3usi2))d4K&yc%+qnS|YX!B2i@RVlSX7S_1xWYZ2ut*zqI^!?;QV zOL?HbstHw{$fp;$Wt@ zBLP}(4P%> zBYLH!nv@#t<-feq0OMe9jjUDk{`w0RR`I=J5uw}G7uoCs?>PzHgHB4P$(Eqw*8#8E z_y@RRfaDC+!f2gR&=3N`!x<>#@$+t^?Fp@duEW;wMLONEngGw<)!hT*fZQ8OsGyTv zxs(497^(wS@Sqy_^U3n(VOSFSZ#xl1=7jOA&jLjvFP22ta-!?eNc@kE@KYnEbKz_a zEZKkt&>qFgO@!*?3VV|A9o%EAbD4-|{GQ@p^EQ2a>#{x{j3VEWxqbEB8aS%nE8VGU;CC7`HhefaU$ z>vst41A`p_{i5-5I|$*Oa5nbHrVD$F10rF;c>m&&43n$Z`6?3JH5-1o|F|uZo?9gd z;FWN2StFrBu8%9To(J4u8>DmWFqekswFE z&@n(FO@Q`u_m%-Xd$6%5)JE5r;{Vs!xyLqLMREMMhzfP`3Sb%|b}(k>2o1y6P=pZ- z0f7J(5;hVnThk3X=K5f=iR>W>2}m}KVQ!GnK~rSNqd>+pvhkSyp=Ln_F(uk1E{;0P z7=LI~@OyqOWarm=Z&|W`KRx%H@4ff@?mfTX8AW$%s01}U2eiH|q2kb1%`^vYc!C&j z5B|BOZF6KyXDQNaoI1EmMav3}e|2z~pT3TA82aK5MJ;omfSRc8Q3k9x{MFuUIO7O{ z#t#y|pa0}Pp>|Hu)v`b6%ho@kEFp`DV)261zaf@J?WfiCm9V)NxhlVipzodug%)p? zlxjv?S~t9rp82;XDR|#130RL|vY9l$V*bd6W+*rc7iX}c&n%G9FuO#8Al!l7C-Npj zwmG;d;knQANZN&?rn~ZF+elqrQ?!0x!i7_rZN-HOn96~Ky>~h4!gpo0tw>5ac5$%; z`@XZ#`Jd_2_V?|cSkN5i?Go3&15$8fiek9ZC%E$ zqho(ZjA_TVGT{7jBQV}Y9$#MBsAswKWKtqJ2p~iEtdD$l5?pGe!?#wSPr-F5q1LyY z#or>GYRAzcH`ZMtg>G_sP;IB=-uKQ3HNvCxdLv&1KduvVqAjMd*mR5EYPDec-1-XL<|48}Yk7BiJNuQ~JAYgkBjK~r3$ zO{XO|y=RCLno*MX+yHE}K>6IA!E<7$-QnGkK+3xwMyj%}cLJG?bdB4381&vQs zhD}~cX_jueQczd{Tl3)0SRjw+?kEJRE4qfc({55xJQ>(avNz&e&z6%?VB*_S%?SM zO&{{7q59P0K~Sehj-+9yHw-pXH{oZ1hWPE=3;CZEk)d&x zECQt6QzBd&$azb;-g)yqsBi*qN%&|FWeQMF}P$-h{_ z4&gQ@iz#Q!ToqE*P?DG@UwcqZg;7X+4Q4K1sASUaYBUp-8bA)QOv4##;%~IppErC7 zM|zy=aDQbR`e7OZbo_JYTn*G*2iGAkkN*zV + + + + + + diff --git a/java/com.sap.sailing.targetplatform/definitions/race-analysis-p2-ide-local.target b/java/com.sap.sailing.targetplatform/definitions/race-analysis-p2-ide-local.target index d96f119c1f4..7f39114fe1d 100644 --- a/java/com.sap.sailing.targetplatform/definitions/race-analysis-p2-ide-local.target +++ b/java/com.sap.sailing.targetplatform/definitions/race-analysis-p2-ide-local.target @@ -11,6 +11,7 @@ + diff --git a/java/com.sap.sailing.targetplatform/definitions/race-analysis-p2-maven-central.target b/java/com.sap.sailing.targetplatform/definitions/race-analysis-p2-maven-central.target index df45e699108..35380b69784 100644 --- a/java/com.sap.sailing.targetplatform/definitions/race-analysis-p2-maven-central.target +++ b/java/com.sap.sailing.targetplatform/definitions/race-analysis-p2-maven-central.target @@ -11,6 +11,7 @@ + diff --git a/java/com.sap.sailing.targetplatform/definitions/race-analysis-p2-maven-local.target b/java/com.sap.sailing.targetplatform/definitions/race-analysis-p2-maven-local.target index f5257f73054..efaead68d98 100644 --- a/java/com.sap.sailing.targetplatform/definitions/race-analysis-p2-maven-local.target +++ b/java/com.sap.sailing.targetplatform/definitions/race-analysis-p2-maven-local.target @@ -7,6 +7,7 @@ + diff --git a/java/com.sap.sailing.targetplatform/scripts/createLocalBaseP2repository.sh b/java/com.sap.sailing.targetplatform/scripts/createLocalBaseP2repository.sh index 785cc3c6259..f474d8ad325 100644 --- a/java/com.sap.sailing.targetplatform/scripts/createLocalBaseP2repository.sh +++ b/java/com.sap.sailing.targetplatform/scripts/createLocalBaseP2repository.sh @@ -1,7 +1,5 @@ #!/bin/bash - set -u - ECLIPSE_HOME=C:/Projects/sailing/dev/eclipse_versions/v371_jee/eclipse SAILING_GIT_HOME=C:/Projects/sailing/dev/git TARGET_PLATFORM_BASE_DIR=${SAILING_GIT_HOME}/java/com.sap.sailing.targetplatform.base From 8fd2aee319724591e8237d34ab8d6094592d8cfe Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Thu, 31 May 2012 12:04:03 +0200 Subject: [PATCH 177/339] Change height of timePanelSlider --- java/com.sap.sailing.gwt.ui/CommonControls.css | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/CommonControls.css b/java/com.sap.sailing.gwt.ui/CommonControls.css index 1b1192308a8..6ba7f121a27 100644 --- a/java/com.sap.sailing.gwt.ui/CommonControls.css +++ b/java/com.sap.sailing.gwt.ui/CommonControls.css @@ -218,7 +218,6 @@ width: 100%; position: fixed; bottom: 0; - height: 89px; z-index: 9; background: #7c7b7c; box-shadow: 0 0 20px #858585; @@ -306,9 +305,8 @@ } .timePanelSlider { - margin: 0 12px; - height: 47px; + height: 49px; } .timePanelInnerWrapper { From 08b4b2e84c2e6d3ebe70d196b959fedb7eddacd1 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Thu, 31 May 2012 12:04:39 +0200 Subject: [PATCH 178/339] Change the height of timePanel --- .../com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java index 346e7175869..346e801f920 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardEntryPoint.java @@ -190,7 +190,7 @@ public class RaceBoardEntryPoint extends AbstractEntryPoint { p.addNorth(logoAndTitlePanel, 68); p.addNorth(toolbarPanel, 40); - p.addSouth(timePanel, 89); + p.addSouth(timePanel, 90); p.add(raceBoardPanel); } } From be9a2bf7e7181eb9d9e3f2715f4b51bf0bd4a3ca Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Thu, 31 May 2012 12:04:54 +0200 Subject: [PATCH 179/339] Change different styles in SliderBar.css --- .../gwt/ui/shared/controls/slider/SliderBar.css | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/SliderBar.css b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/SliderBar.css index 28d73411be9..363350f553d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/SliderBar.css +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/SliderBar.css @@ -7,7 +7,7 @@ background: #efefef; height: 12px; width: 100%; - top: 22pt; + top: 18px; overflow: hidden; } @@ -16,7 +16,7 @@ } .gwt-SliderBar-shell .gwt-SliderBar-knob { - top: 14pt; + top: 12px; width: 11px; height: 21px; z-index: 1; @@ -24,15 +24,15 @@ } .gwt-SliderBar-shell .gwt-SliderBar-tick { - top: 17px; + top: 13px; width: 2px; - height: 20px; + height: 5px; background: #efefef; overflow: hidden; } .gwt-SliderBar-shell .gwt-SliderBar-mark { - top: 22pt; + top: 18px; width: 3px; height: 12px; background: #fcbb22; @@ -49,11 +49,11 @@ font-size: 12px; cursor: default; font-family: 'UbuntuBold',Arial,Verdana,sans-serif; - top: 2px; + top: 0; } .gwt-SliderBar-shell .gwt-SliderBar-markerlabel { - top: 15px; + top: 31px; font-size: 12px; color: #fcbb22; cursor: default; From f8696da9be7d547993d0f72e40f751df5b1ec4c5 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Thu, 31 May 2012 13:25:07 +0200 Subject: [PATCH 180/339] New background color for HDragger && VDragger --- java/com.sap.sailing.gwt.ui/CommonControls.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/CommonControls.css b/java/com.sap.sailing.gwt.ui/CommonControls.css index 6ba7f121a27..6d593501242 100644 --- a/java/com.sap.sailing.gwt.ui/CommonControls.css +++ b/java/com.sap.sailing.gwt.ui/CommonControls.css @@ -129,12 +129,12 @@ } .gwt-SplitLayoutPanel-HDragger { - background: #e7e7e7 url(images/thumb_vertical.png) center center no-repeat; + background: #cbcaca url(images/thumb_vertical.png) center center no-repeat; cursor: col-resize; } .gwt-SplitLayoutPanel-VDragger { - background: #e7e7e7 url(images/thumb_horz.png) center center no-repeat; + background: #cbcaca url(images/thumb_horz.png) center center no-repeat; cursor: row-resize; } From ed1716b44df9472f0809eac25ce13da3e7be70a1 Mon Sep 17 00:00:00 2001 From: fmittag Date: Thu, 31 May 2012 14:38:45 +0200 Subject: [PATCH 181/339] fixed the target platform definition for the restlet integration --- .../features/target-restlet/feature.xml | 13 +++---------- .../target-restlet/jackson-xc_1.9.7.jar | Bin 27075 -> 0 bytes ...t.ext.jackson_2.1.0.rc4-v20120406-1833.jar | Bin 5122 -> 0 bytes ...t.ext.jackson_2.1.0.rc5-v20120523-1754.jar | Bin 0 -> 5622 bytes ....ext.servlet_2.1.0.rc5-v20120523-1754.jar} | Bin 19989 -> 19984 bytes ... org.restlet_2.1.0.rc5-v20120523-1754.jar} | Bin 714400 -> 719624 bytes 6 files changed, 3 insertions(+), 10 deletions(-) delete mode 100644 java/com.sap.sailing.targetplatform.base/plugins/target-restlet/jackson-xc_1.9.7.jar delete mode 100644 java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet.ext.jackson_2.1.0.rc4-v20120406-1833.jar create mode 100644 java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet.ext.jackson_2.1.0.rc5-v20120523-1754.jar rename java/com.sap.sailing.targetplatform.base/plugins/target-restlet/{org.restlet.ext.servlet_2.1.0.rc4-v20120406-1833.jar => org.restlet.ext.servlet_2.1.0.rc5-v20120523-1754.jar} (54%) rename java/com.sap.sailing.targetplatform.base/plugins/target-restlet/{org.restlet_2.1.0.rc4-v20120406-1833.jar => org.restlet_2.1.0.rc5-v20120523-1754.jar} (64%) diff --git a/java/com.sap.sailing.targetplatform.base/features/target-restlet/feature.xml b/java/com.sap.sailing.targetplatform.base/features/target-restlet/feature.xml index 081712c03b7..a57da7c17c8 100644 --- a/java/com.sap.sailing.targetplatform.base/features/target-restlet/feature.xml +++ b/java/com.sap.sailing.targetplatform.base/features/target-restlet/feature.xml @@ -26,31 +26,24 @@ version="1.9.7" unpack="false"/> - - diff --git a/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/jackson-xc_1.9.7.jar b/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/jackson-xc_1.9.7.jar deleted file mode 100644 index 2271a9bc6816f0409ffe63fba17af331e5d982b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27075 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 diff --git a/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet.ext.jackson_2.1.0.rc4-v20120406-1833.jar b/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet.ext.jackson_2.1.0.rc4-v20120406-1833.jar deleted file mode 100644 index 7089d60f2fb6c4fe3be6cbb4b95cbba7a17bcfed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5122 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 diff --git a/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet.ext.jackson_2.1.0.rc5-v20120523-1754.jar b/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet.ext.jackson_2.1.0.rc5-v20120523-1754.jar new file mode 100644 index 0000000000000000000000000000000000000000..b01c1e4e3944c26f615db04d4343981a4623bf21 GIT binary patch literal 5622 zcmb7|1yqz-*vE%bLJ$RnAs1b(#E6Y!*vZRWloUEo6NLemI3t~6HajTwU z#|Kr6#YlU&Ow!KI?rG^qEG@eEK>?Q66KkkQu<0XS?KY^gh~Q702_R;7=#Fr|L90VLtuJ+V zHieYo26Q&*8`60%?Y#Y|tAZKaq&@~qbbx$;%z?2tK^N{eDqVRa6b7utI=U55c##(IURLIJs>-}T)8_dVHH;IMPyZg?0C-P@R9uR*n9l6>8yI3shT^afOdop`5f5%~FM zCD*w^@sfI^e>jCXM!BQJK%n8>)WQLg7NiotGp1x3TA6*!ayJ_X%S{T2OnMyZ$=Wty zkq`J@_jy)ZYD2it9&2Ejc{+X-%&MEG{fgg3K?Qs~l2r)XP)z}Chl^=?{vJX}<`|#Z zn~J)@OUF+ZN=N-pbARk|$%AU7yP{Aw&73x5L`;nP3q~4dBP`yplkgNUo=jEw%yL?b z%X57AdG4@efIP=B!O+=gdM{ao!p9?F=X(@MZb>^#t~T))dWhe~o632FmkRn4o+?uB z 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 OSJ&{>R^k$U|Mfpwgv3<< literal 0 HcmV?d00001 diff --git a/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet.ext.servlet_2.1.0.rc4-v20120406-1833.jar b/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet.ext.servlet_2.1.0.rc5-v20120523-1754.jar similarity index 54% rename from java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet.ext.servlet_2.1.0.rc4-v20120406-1833.jar rename to java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet.ext.servlet_2.1.0.rc5-v20120523-1754.jar index 0091d1b3c5537a7a6327754fe55f764d25045ace..a12d60ab8d4c07a93e3a48d50e602f0c1ad75cf9 100644 GIT binary patch delta 7351 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�&pBTLPoFzCf_l>23l;|xAug=; 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 delta 7406 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 I)c)xH4{Bj(V*mgE diff --git a/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet_2.1.0.rc4-v20120406-1833.jar b/java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet_2.1.0.rc5-v20120523-1754.jar similarity index 64% rename from java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet_2.1.0.rc4-v20120406-1833.jar rename to java/com.sap.sailing.targetplatform.base/plugins/target-restlet/org.restlet_2.1.0.rc5-v20120523-1754.jar index ffd6b836807eba9a2a811328c6e50b8ab8975a2a..7ee738c17afddcfa38ca264b3092f3ef23d8dbc0 100644 GIT binary patch delta 230939 zcmZ5{b95k0^KNY0*=#npZQHhOb7I@h#H%|7x-@d<#@6I3n)TyqX>Yk~t zIcMtW@6$99k2HviGT;z!Apg1M650|GDG_HA+605r>1g&rK|s0^g{c9O$282_X+&qq zKnyXK%b9W8LbXy}smCNhpi@e(4AndN<(Z!{+UCng5Wi{Pyq8@CMn_JGlvuL#a?pCw zE?%$)c()@A=*8uyW|T2GV7{S6Z_iE`*`hx4T7R;=<+ z&0y}ul#RX9^ltxYvLMysM$C_|^&?g``KX|U-c;eczLCe-y&bnQA}BqaB#)dYeMw}7 zI@!`3lq+gbNb6DJ7spGR3^𝔈X_OR5D>qTh;6VB0~Hoc?4jGbm>ktD?`kX->BLp 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 delta 226403 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


vn+-C#@Ik>EVJ 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 a-P{D(J0c>wNqmzSN+Tk=cmynDME?g&XC1%* From 7612fbdec5620a540d2fad90ceba16680b8cd369 Mon Sep 17 00:00:00 2001 From: fmittag Date: Fri, 1 Jun 2012 17:48:16 +0200 Subject: [PATCH 182/339] added some methods to manage events and regattas as part of the events --- .../persistence/DomainObjectFactory.java | 4 +- .../impl/DomainObjectFactoryImpl.java | 17 ++ .../com/sap/sailing/domain/base/Event.java | 2 +- .../adminconsole/AdminConsoleEntryPoint.java | 2 +- .../gwt/ui/adminconsole/BoatTypes.java | 53 +++++ .../ui/adminconsole/EventCreateDialog.java | 22 ++ .../gwt/ui/adminconsole/EventDialog.java | 102 ++++++++ .../gwt/ui/adminconsole/EventEditDialog.java | 21 ++ .../EventStructureManagementPanel.java | 223 ++++++++++++++++-- .../ui/adminconsole/RegattaCreateDialog.java | 27 +++ .../gwt/ui/adminconsole/RegattaDialog.java | 106 +++++++++ .../sailing/gwt/ui/client/SailingService.java | 10 + .../gwt/ui/client/SailingServiceAsync.java | 37 ++- .../sailing/gwt/ui/client/StringMessages.java | 5 + .../gwt/ui/client/StringMessages.properties | 8 +- .../ui/client/StringMessages_de.properties | 11 +- .../gwt/ui/server/SailingServiceImpl.java | 68 +++++- .../sailing/server/RacingEventService.java | 23 +- .../server/impl/RacingEventServiceImpl.java | 25 +- .../AbstractEventOperation.java | 20 ++ .../CreateEvent.java | 37 +++ 21 files changed, 779 insertions(+), 44 deletions(-) create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/BoatTypes.java create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventCreateDialog.java create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventDialog.java create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventEditDialog.java create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaCreateDialog.java create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaDialog.java create mode 100644 java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractEventOperation.java create mode 100644 java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateEvent.java diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java index b40e2010d2d..73b94ace99d 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java @@ -46,6 +46,8 @@ public interface DomainObjectFactory { long millisecondsOverWhichToAverageWind); Event loadEvent(String name); - + + Iterable loadAllEvents(); + Regatta loadRegatta(String name); } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index a441924f954..799457bc324 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -389,6 +389,23 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { return result; } + @Override + public Iterable loadAllEvents() { + ArrayList result = new ArrayList(); + DBCollection eventCollection = database.getCollection(CollectionNames.EVENTS.name()); + + try { + for (DBObject o : eventCollection.find()) { + result.add(loadEvent(o)); + } + } catch (Throwable t) { + logger.log(Level.SEVERE, "Error connecting to MongoDB, unable to load events."); + logger.throwing(DomainObjectFactoryImpl.class.getName(), "loadEvents", t); + } + + return result; + } + /** * An event doesn't store its regattas; it's the regatta that stores a reference to its event; the regatta * needs to add itself to the event when loaded or instantiated. diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java index 59268969e2f..d6d74025b92 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Event.java @@ -15,7 +15,7 @@ public interface Event extends Named { * @return a non-null venue for this event */ Venue getVenue(); - + Iterable getRegattas(); void addRegatta(Regatta regatta); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleEntryPoint.java index 1d2e8025d9b..10440d040bd 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleEntryPoint.java @@ -36,6 +36,7 @@ public class AdminConsoleEntryPoint extends AbstractEntryPoint implements Regatt rootPanel.add(tabPanel); //, 10, 10); tabPanel.setSize("95%", "95%"); + tabPanel.add(new EventStructureManagementPanel(sailingService, this, stringMessages), stringMessages.events()); regattaDisplayers = new HashSet(); TracTracEventManagementPanel tractracEventManagementPanel = new TracTracEventManagementPanel(sailingService, this, this, stringMessages); regattaDisplayers.add(tractracEventManagementPanel); @@ -75,7 +76,6 @@ public class AdminConsoleEntryPoint extends AbstractEntryPoint implements Regatt tabPanel.add(leaderboardConfigPanel, stringMessages.leaderboardConfiguration(), /* asHTML */ false); regattaDisplayers.add(leaderboardConfigPanel); tabPanel.add(new ReplicationPanel(sailingService, this, stringMessages), stringMessages.replication(), /* asHTML */ false); - tabPanel.add(new EventStructureManagementPanel(sailingService, this, stringMessages), stringMessages.events()); tabPanel.selectTab(0); tabPanel.addSelectionHandler(new SelectionHandler() { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/BoatTypes.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/BoatTypes.java new file mode 100644 index 00000000000..3db5135eb94 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/BoatTypes.java @@ -0,0 +1,53 @@ +package com.sap.sailing.gwt.ui.adminconsole; + +public enum BoatTypes { + RS_X ("RS:X"), + RS_XY ("RS:X-Y"), + LASER ("Laser"), + LASER_RADIAL ("Laser Radial"), + LASER_SB3 ("Laser SB3"), + FINN ("Finn"), + EUROPE ("Europe"), + A_CAT ("A-Cat"), + CONTENDER ("Contender"), + STAR ("Star"), + OK_DINGHY ("OK-Dinghy"), + FLYING_DUTCHMAN ("Flying Dutchman"), + FOLKEBOOT ("Folkeboot"), + FORMULA ("Formula"), + H_BOOT ("H-Boot"), + HOBIE ("Hobie"), + CLASS_420 ("420"), + CLASS_470 ("470"), + CLASS_505 ("505"), + CLASS_29er("29er"), + CLASS_49er("49er"), + CLASS_24mR("2.4mR open"), + CLASS_J_24 ("J-24"), + CLASS_X_35 ("X-35"), + CLASS_X_99 ("X-99"), + SWAN_45 ("Swan-45"), + ORC_I ("ORC I"), + ORC_II ("ORC II"), + ORC_III ("ORC II"), + ORC_IV ("ORC IV"), + MULTIHALL ("Multihull"), + ALBIN_BALLAD ("Albin Ballad"), + ALBIN_EXPRESS ("Albin Express"), + CB66 ("CB66"), + J_80 ("J/80"), + MELGES24 ("Melges 24"), + PLATU25 ("Platu25"), + STREAMLINE ("Steamline"), + ANY_CLASS ("Any class"); + + private String name; + + BoatTypes(String name) { + this.name = name; + } + + public String getName() { + return name; + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventCreateDialog.java new file mode 100644 index 00000000000..3ae741edba5 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventCreateDialog.java @@ -0,0 +1,22 @@ +package com.sap.sailing.gwt.ui.adminconsole; + +import java.util.Collection; + +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sailing.gwt.ui.shared.EventDTO; + +public class EventCreateDialog extends EventDialog { + + public EventCreateDialog(Collection existingEvents, + StringMessages stringConstants, AsyncCallback callback) { + super(new EventDTO(), new EventParameterValidator(stringConstants, existingEvents), + stringConstants, callback); + + nameEntryField = createTextBox(null); + nameEntryField.setWidth("200px"); + venueEntryField = createTextBox(null); + venueEntryField.setWidth("200px"); + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventDialog.java new file mode 100644 index 00000000000..7fe7e4a3cb9 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventDialog.java @@ -0,0 +1,102 @@ +package com.sap.sailing.gwt.ui.adminconsole; + +import java.util.ArrayList; +import java.util.Collection; + +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.gwt.user.client.ui.Grid; +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.TextBox; +import com.google.gwt.user.client.ui.VerticalPanel; +import com.google.gwt.user.client.ui.Widget; +import com.sap.sailing.gwt.ui.client.DataEntryDialog; +import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sailing.gwt.ui.shared.EventDTO; +import com.sap.sailing.gwt.ui.shared.VenueDTO; + +public class EventDialog extends DataEntryDialog { + + protected StringMessages stringConstants; + protected EventDTO event; + + protected TextBox nameEntryField; + protected TextBox venueEntryField; + + protected static class EventParameterValidator implements Validator { + + private StringMessages stringConstants; + private ArrayList existingEvents; + + public EventParameterValidator(StringMessages stringConstants, Collection existingEvents) { + this.stringConstants = stringConstants; + this.existingEvents = new ArrayList(existingEvents); + } + + @Override + public String getErrorMessage(EventDTO eventToValidate) { + String errorMessage = null; + boolean nameNotEmpty = eventToValidate.name != null && eventToValidate.name.length() > 0; + boolean venueNotEmpty = eventToValidate.venue.name != null && eventToValidate.venue.name.length() > 0; + + boolean unique = true; + for (EventDTO event : existingEvents) { + if (event.name.equals(eventToValidate.name)) { + unique = false; + break; + } + } + + if (!nameNotEmpty) { + errorMessage = stringConstants.pleaseEnterNonEmptyName(); + } else if (!venueNotEmpty) { + errorMessage = stringConstants.pleaseEnterNonEmptyVenue(); + } else if (!unique) { + errorMessage = stringConstants.eventWithThisNameAlreadyExists(); + } + + return errorMessage; + } + + } + + public EventDialog(EventDTO event, EventParameterValidator validator, StringMessages stringConstants, + AsyncCallback callback) { + super(stringConstants.event(), null, stringConstants.ok(), stringConstants.cancel(), validator, + callback); + this.stringConstants = stringConstants; + this.event = event; + } + + @Override + protected EventDTO getResult() { + event.name = nameEntryField.getText(); + event.venue = new VenueDTO(); + event.venue.name = venueEntryField.getText(); + return event; + } + + @Override + protected Widget getAdditionalWidget() { + VerticalPanel panel = new VerticalPanel(); + Widget additionalWidget = super.getAdditionalWidget(); + if (additionalWidget != null) { + panel.add(additionalWidget); + } + + Grid formGrid = new Grid(2, 2); + panel.add(formGrid); + + formGrid.setWidget(0, 0, new Label(stringConstants.name() + ":")); + formGrid.setWidget(0, 1, nameEntryField); + formGrid.setWidget(1, 0, new Label(stringConstants.venue() + ":")); + formGrid.setWidget(1, 1, venueEntryField); + return panel; + } + + @Override + public void show() { + super.show(); + nameEntryField.setFocus(true); + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventEditDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventEditDialog.java new file mode 100644 index 00000000000..95d74a1e708 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventEditDialog.java @@ -0,0 +1,21 @@ +package com.sap.sailing.gwt.ui.adminconsole; + +import java.util.Collection; + +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sailing.gwt.ui.shared.EventDTO; + +public class EventEditDialog extends EventDialog { + + public EventEditDialog(EventDTO event, Collection otherExistingEvents, + StringMessages stringConstants, AsyncCallback callback) { + super(event, new EventParameterValidator(stringConstants, otherExistingEvents), stringConstants, callback); + + nameEntryField = createTextBox(event.name); + nameEntryField.setWidth("200px"); + venueEntryField = createTextBox(event.venue.name); + venueEntryField.setWidth("200px"); + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java index 670147e9d5c..4a494d25d94 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java @@ -1,81 +1,264 @@ package com.sap.sailing.gwt.ui.adminconsole; import java.util.ArrayList; +import java.util.Collections; import java.util.List; +import java.util.Set; +import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ChangeEvent; import com.google.gwt.event.dom.client.ChangeHandler; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; +import com.google.gwt.user.cellview.client.CellTable; +import com.google.gwt.user.cellview.client.TextColumn; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Button; +import com.google.gwt.user.client.ui.CaptionPanel; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.VerticalPanel; +import com.google.gwt.view.client.ListDataProvider; +import com.google.gwt.view.client.MultiSelectionModel; +import com.google.gwt.view.client.SelectionChangeEvent; import com.sap.sailing.gwt.ui.client.ErrorReporter; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.EventDTO; +import com.sap.sailing.gwt.ui.shared.RegattaDTO; +import com.sap.sailing.gwt.ui.shared.SeriesDTO; /** - * Allows administrators to manage the structure of a complete event. - * Each event consists of several substructures like regattas, races, series and groups (big fleets divided into racing groups). + * Allows administrators to manage the structure of a complete event. Each event consists of several substructures like + * regattas, races, series and groups (big fleets divided into racing groups). + * * @author Frank Mittag (C5163974) - * + * */ public class EventStructureManagementPanel extends SimplePanel { private final SailingServiceAsync sailingService; private final ErrorReporter errorReporter; private final StringMessages stringMessages; - + private final List events; private final ListBox eventsComboBox; - - public EventStructureManagementPanel(SailingServiceAsync sailingService, ErrorReporter errorReporter, StringMessages theStringMessages) { + private EventDTO selectedEvent; + + private CaptionPanel eventDetailsCaptionPanel; + + private Label eventVenueLabel; + private CellTable regattaTable; + private MultiSelectionModel regattaSelectionModel; + private ListDataProvider regattaProvider; + + private final AdminConsoleTableResources tableRes = GWT.create(AdminConsoleTableResources.class); + + public EventStructureManagementPanel(SailingServiceAsync sailingService, ErrorReporter errorReporter, + StringMessages stringMessages) { this.sailingService = sailingService; - this.stringMessages = theStringMessages; + this.stringMessages = stringMessages; this.errorReporter = errorReporter; - + + events = new ArrayList(); + selectedEvent = null; + VerticalPanel mainPanel = new VerticalPanel(); this.setWidget(mainPanel); mainPanel.setWidth("100%"); - + HorizontalPanel eventsPanel = new HorizontalPanel(); + eventsPanel.setSpacing(5); mainPanel.add(eventsPanel); - + Label managedEventsLabel = new Label(stringMessages.events() + ":"); eventsPanel.add(managedEventsLabel); - - events = new ArrayList(); - + eventsComboBox = new ListBox(); eventsComboBox.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { + onEventSelectionChanged(); } }); eventsPanel.add(eventsComboBox); - + Button createEventBtn = new Button(stringMessages.add()); createEventBtn.addClickHandler(new ClickHandler() { - + @Override public void onClick(ClickEvent event) { + openCreateEventDialog(); } }); eventsPanel.add(createEventBtn); - + + createEventDetailsPanel(); + mainPanel.add(eventDetailsCaptionPanel); + eventDetailsCaptionPanel.setVisible(false); + fillEvents(); } - + + private void createEventDetailsPanel() { + eventDetailsCaptionPanel = new CaptionPanel(); + eventDetailsCaptionPanel.setWidth("95%"); + + VerticalPanel eventDetailsPanel = new VerticalPanel(); + eventDetailsPanel.setSpacing(5); + eventDetailsCaptionPanel.add(eventDetailsPanel); + + eventVenueLabel = new Label(""); + eventDetailsPanel.add(eventVenueLabel); + + // regatta table + TextColumn regattaNameColumn = new TextColumn() { + @Override + public String getValue(RegattaDTO regatta) { + return regatta.name; + } + }; + + TextColumn regattaSeriesColumn = new TextColumn() { + @Override + public String getValue(RegattaDTO regatta) { + String result = ""; + boolean first = true; + for (SeriesDTO serie : regatta.series) { + if (!first) { + result += "; "; + } + result += serie.name; + first = false; + } + return result; + } + }; + + regattaTable = new CellTable(200, tableRes); + regattaTable.setWidth("100%"); + regattaTable.addColumn(regattaNameColumn, stringMessages.regattaName()); + regattaTable.addColumn(regattaSeriesColumn, stringMessages.name()); + + regattaSelectionModel = new MultiSelectionModel(); + regattaSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { + @Override + public void onSelectionChange(SelectionChangeEvent event) { + Set selectedRegatta = regattaSelectionModel.getSelectedSet(); + } + }); + regattaTable.setSelectionModel(regattaSelectionModel); + + regattaProvider = new ListDataProvider(); + regattaProvider.addDataDisplay(regattaTable); + eventDetailsPanel.add(regattaTable); + + Button addRegattaBtn = new Button("Add regatta"); + eventDetailsPanel.add(addRegattaBtn); + addRegattaBtn.addClickHandler(new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + openCreateRegattaDialog(); + } + }); + } + + private void onEventSelectionChanged() { + int selIndex = eventsComboBox.getSelectedIndex(); + String selItemText = eventsComboBox.getItemText(selIndex); + + for (EventDTO eventDTO : events) { + if (eventDTO.name.equals(selItemText)) { + selectedEvent = eventDTO; + eventDetailsCaptionPanel.setVisible(true); + updateEventDetails(); + break; + } + } + } + + private void openCreateEventDialog() { + EventCreateDialog dialog = new EventCreateDialog(Collections.unmodifiableCollection(events), stringMessages, + new AsyncCallback() { + @Override + public void onFailure(Throwable t) { + } + + @Override + public void onSuccess(EventDTO newEvent) { + createNewEvent(newEvent); + } + }); + dialog.show(); + } + + private void openCreateRegattaDialog() { + RegattaCreateDialog dialog = new RegattaCreateDialog(Collections.unmodifiableCollection(selectedEvent.regattas), stringMessages, + new AsyncCallback() { + @Override + public void onFailure(Throwable t) { + } + + @Override + public void onSuccess(RegattaDTO newRegatta) { + createNewRegatta(newRegatta); + } + }); + dialog.show(); + } + + private void updateEventDetails() { + if (selectedEvent != null) { + eventDetailsCaptionPanel.setCaptionText(selectedEvent.name); + eventVenueLabel.setText(stringMessages.venue() + ": " + selectedEvent.venue.name); + } + } + + private void createNewEvent(final EventDTO newEvent) { + sailingService.createEvent(newEvent.name, newEvent.venue.name, new AsyncCallback() { + @Override + public void onFailure(Throwable t) { + errorReporter.reportError("Error trying to create new event" + newEvent.name + ": " + t.getMessage()); + } + + @Override + public void onSuccess(EventDTO newEvent) { + events.add(newEvent); + eventsComboBox.addItem(newEvent.name); + int index = getEventItemIndex(newEvent.name); + eventsComboBox.setSelectedIndex(index); + } + }); + } + + private void createNewRegatta(final RegattaDTO newRegatta) { +// sailingService.createRegatta(newRegatta.name, newRegatta.boatClass.name, new AsyncCallback() { +// @Override +// public void onFailure(Throwable t) { +// errorReporter.reportError("Error trying to create new regatta" + newRegatta.name + ": " + t.getMessage()); +// } +// +// @Override +// public void onSuccess(RegattaDTO newRegatta) { +// } +// }); + } + + private int getEventItemIndex(String eventName) { + for (int i = 0; i < eventsComboBox.getItemCount(); i++) { + if (eventName.equals(eventsComboBox.getItemText(i))) { + return i; + } + } + return -1; + } + private void fillEvents() { sailingService.getEvents(new AsyncCallback>() { @Override public void onFailure(Throwable caught) { - errorReporter.reportError("Remote Procedure Call getEvents() - Failure: " - + caught.getMessage()); + errorReporter.reportError("Remote Procedure Call getEvents() - Failure: " + caught.getMessage()); } @Override @@ -83,6 +266,8 @@ public class EventStructureManagementPanel extends SimplePanel { events.clear(); events.addAll(result); eventsComboBox.clear(); + eventsComboBox.addItem("Please select an event..."); + eventsComboBox.setSelectedIndex(0); for (EventDTO event : result) { eventsComboBox.addItem(event.name); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaCreateDialog.java new file mode 100644 index 00000000000..0e30f554400 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaCreateDialog.java @@ -0,0 +1,27 @@ +package com.sap.sailing.gwt.ui.adminconsole; + +import java.util.Collection; + +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sailing.gwt.ui.shared.RegattaDTO; + +public class RegattaCreateDialog extends RegattaDialog { + + public RegattaCreateDialog(Collection existingRegattas, + StringMessages stringConstants, AsyncCallback callback) { + super(new RegattaDTO(), new RegattaParameterValidator(stringConstants, existingRegattas), + stringConstants, callback); + + nameEntryField = createTextBox(null); + nameEntryField.setWidth("200px"); + boatClassEntryField = createListBox(false); + boatClassEntryField.addItem(stringConstants.pleaseSelectABoatClass()); + boatClassEntryField.setSelectedIndex(0); + for(BoatTypes boatType: BoatTypes.values()) { + boatClassEntryField.addItem(boatType.getName()); + } + + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaDialog.java new file mode 100644 index 00000000000..a65d6f1de82 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaDialog.java @@ -0,0 +1,106 @@ +package com.sap.sailing.gwt.ui.adminconsole; + +import java.util.ArrayList; +import java.util.Collection; + +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.gwt.user.client.ui.Grid; +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.ListBox; +import com.google.gwt.user.client.ui.TextBox; +import com.google.gwt.user.client.ui.VerticalPanel; +import com.google.gwt.user.client.ui.Widget; +import com.sap.sailing.gwt.ui.client.DataEntryDialog; +import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sailing.gwt.ui.shared.BoatClassDTO; +import com.sap.sailing.gwt.ui.shared.RegattaDTO; + +public class RegattaDialog extends DataEntryDialog { + + protected StringMessages stringConstants; + protected RegattaDTO regatta; + + protected TextBox nameEntryField; + protected ListBox boatClassEntryField; + + protected static class RegattaParameterValidator implements Validator { + + private StringMessages stringConstants; + private ArrayList existingRegattas; + + public RegattaParameterValidator(StringMessages stringConstants, Collection existingRegattas) { + this.stringConstants = stringConstants; + this.existingRegattas = new ArrayList(existingRegattas); + } + + @Override + public String getErrorMessage(RegattaDTO regattaToValidate) { + String errorMessage = null; + boolean nameNotEmpty = regattaToValidate.name != null && regattaToValidate.name.length() > 0; + boolean boatClassNotEmpty = regattaToValidate.boatClass != null; + + boolean unique = true; + for (RegattaDTO regatta : existingRegattas) { + if (regatta.name.equals(regattaToValidate.name)) { + unique = false; + break; + } + } + + if (!nameNotEmpty) { + errorMessage = stringConstants.pleaseEnterNonEmptyName(); + } else if (!boatClassNotEmpty) { + errorMessage = stringConstants.pleaseSelectABoatClass(); + } else if (!unique) { + errorMessage = stringConstants.regattaWithThisNameAlreadyExists(); + } + + return errorMessage; + } + + } + + public RegattaDialog(RegattaDTO regatta, RegattaParameterValidator validator, StringMessages stringConstants, + AsyncCallback callback) { + super(stringConstants.regatta(), null, stringConstants.ok(), stringConstants.cancel(), validator, + callback); + this.stringConstants = stringConstants; + this.regatta = regatta; + } + + @Override + protected RegattaDTO getResult() { + int selectedIndex = boatClassEntryField.getSelectedIndex(); + regatta.name = nameEntryField.getText(); + if(selectedIndex > 0) { + String boatClass = boatClassEntryField.getItemText(selectedIndex); + regatta.boatClass = new BoatClassDTO(boatClass, 0.0); + } + return regatta; + } + + @Override + protected Widget getAdditionalWidget() { + VerticalPanel panel = new VerticalPanel(); + Widget additionalWidget = super.getAdditionalWidget(); + if (additionalWidget != null) { + panel.add(additionalWidget); + } + + Grid formGrid = new Grid(2, 2); + panel.add(formGrid); + + formGrid.setWidget(0, 0, new Label(stringConstants.name() + ":")); + formGrid.setWidget(0, 1, nameEntryField); + formGrid.setWidget(1, 0, new Label(stringConstants.boatClass() + ":")); + formGrid.setWidget(1, 1, boatClassEntryField); + return panel; + } + + @Override + public void show() { + super.show(); + nameEntryField.setFocus(true); + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java index a26126d4f5c..23ef208a4a4 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java @@ -192,4 +192,14 @@ public interface SailingService extends RemoteService { void updateRaceDelayToLive(RegattaAndRaceIdentifier regattaAndRaceIdentifier, long delayToLiveInMs); void updateRacesDelayToLive(List regattaAndRaceIdentifiers, long delayToLiveInMs); + + void updateEvent(String oldName, String newName, String description, List regattaNames); + + EventDTO createEvent(String eventName, String description); + + void removeEvent(String eventName); + + void renameEvent(String oldName, String newName); + + EventDTO getEventByName(String eventName); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java index 637f600b619..8a8c9670742 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java @@ -44,8 +44,6 @@ public interface SailingServiceAsync { void getRegattas(AsyncCallback> callback); - void getEvents(AsyncCallback> callback); - /** * The string returned in the callback's pair is the common event name */ @@ -328,4 +326,39 @@ public interface SailingServiceAsync { void startReplicatingFromMaster(String masterName, int servletPort, int jmsPort, AsyncCallback callback); + void getEvents(AsyncCallback> callback); + + /** + * Creates a {@link EventDTO} for the {@link Event} with the name eventName, which contains the + * name, the description and a list with {@link RegattaDTO RegattaDTOs} contained in the event.
+ * If no event with the name eventName is known, an {@link IllegalArgumentException} is thrown. + */ + void getEventByName(String eventName, AsyncCallback callback); + + /** + * Renames the event with the name oldName to the newName.
+ * If there's no event with the name oldName or there's already a event with the name + * newName a {@link IllegalArgumentException} is thrown. + */ + void renameEvent(String oldName, String newName, AsyncCallback callback); + + /** + * Removes the event with the name eventName from the service and the persistence store. + */ + void removeEvent(String eventName, AsyncCallback callback); + + /** + * Creates a new event with the name eventName, the venue venue and an empty list of regattas.
+ */ + void createEvent(String eventName, String venue, AsyncCallback callback); + + /** + * Updates the data of the event with the name oldName. + * + * @param oldName The old name of the event + * @param newName The new name of the event + * @param description The new description of the event + * @param leaderboardNames The list of names of the new regattas of the event + */ + void updateEvent(String oldName, String newName, String venue, List regattaNames, AsyncCallback callback); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java index 004a7899fe0..7079c3afe0b 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java @@ -304,4 +304,9 @@ public interface StringMessages extends Messages { String fleet(); String boatClass(); String setDelayToLive(); + String pleaseEnterNonEmptyVenue(); + String eventWithThisNameAlreadyExists(); + String venue(); + String pleaseSelectABoatClass(); + String regattaWithThisNameAlreadyExists(); } \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index 299bd252160..45919c164c8 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -226,7 +226,7 @@ legs=Legs currentLeg=On Leg leaderboardGroup=Leaderboard Group pleaseEnterNonEmptyDescription=Please enter a non-empty description -groupWithThisNameAlreadyExists=Leaderboard group with this name already exists +groupWithThisNameAlreadyExists=A leaderboard group with this name already exists. detailsOfLeaderboardGroup=Details of leaderboard group edit=Edit save=Save @@ -302,4 +302,8 @@ showWindDirectionSeries=Show wind directions data fleet=Fleet boatClass=Boat Class setDelayToLive=Set delay to live - +pleaseEnterNonEmptyVenue=Please enter a venue. +eventWithThisNameAlreadyExists=An event with this name already exists. +venue=Venue +pleaseSelectABoatClass=Please select a boat class. +regattaWithThisNameAlreadyExists=A regatta with this name already exists. diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index 3e369313ed5..99b638e42ba 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -42,9 +42,9 @@ unlink=Unlink createNewLeaderboard=Neue Rangliste anlegen leaderboardName=Name Rangliste cancel=Abbrechen -pleaseEnterNonEmptyName=Bitte einen nicht-leeren Namen eingeben +pleaseEnterNonEmptyName=Bitte geben Sie einen Namen ein. discardRacesFromHowManyStartedRacesOn=Discard one more race starting with how many started races -leaderboardWithThisNameAlreadyExists=Rangliste mit diesem Namen existiert bereits +leaderboardWithThisNameAlreadyExists=Eine Rangliste mit diesem Namen existiert bereits. discardThresholdsMustBeNumeric=Discard thresholds must be numeric discardThresholdsMustBeAscending=Discard thresholds must be ascending discarding=Discarding @@ -302,4 +302,9 @@ showWindSpeedSeries=Daten für Windgeschwindigkeit zeigen showWindDirectionSeries=Daten für Windrichtung zeigen fleet=Flotte boatClass=Bootsklasse -setDelayToLive=Verzögerung zu 'Live' setzen \ No newline at end of file +setDelayToLive=Verzögerung zu 'Live' setzen +pleaseEnterNonEmptyVenue=Bitte geben sie einen Veranstaltungsort ein. +eventWithThisNameAlreadyExists=Eine Veranstaltung mit diesem Namen existiert bereits. +venue=Veranstaltungsort +pleaseSelectABoatClass=Bitte wählen Sie eine Bootsklasse aus. +regattaWithThisNameAlreadyExists=Eine Regatta mit diesem Namen existiert bereits. diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 556ea9e1505..6fa1572b67a 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -146,6 +146,7 @@ import com.sap.sailing.gwt.ui.shared.SwissTimingConfigurationDTO; import com.sap.sailing.gwt.ui.shared.SwissTimingRaceRecordDTO; import com.sap.sailing.gwt.ui.shared.TracTracConfigurationDTO; import com.sap.sailing.gwt.ui.shared.TracTracRaceRecordDTO; +import com.sap.sailing.gwt.ui.shared.VenueDTO; import com.sap.sailing.gwt.ui.shared.WindDTO; import com.sap.sailing.gwt.ui.shared.WindInfoForRaceDTO; import com.sap.sailing.gwt.ui.shared.WindTrackInfoDTO; @@ -153,6 +154,7 @@ import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.RacingEventServiceOperation; import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard; import com.sap.sailing.server.operationaltransformation.ConnectTrackedRaceToLeaderboardColumn; +import com.sap.sailing.server.operationaltransformation.CreateEvent; import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard; import com.sap.sailing.server.operationaltransformation.CreateLeaderboardGroup; import com.sap.sailing.server.operationaltransformation.DisconnectLeaderboardColumnFromTrackedRace; @@ -460,17 +462,6 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS return result; } - @Override - public List getEvents() { - List result = new ArrayList(); - for (Event event : getService().getAllEvents()) { - List regattasList = getRegattas(); - EventDTO eventDTO = new EventDTO(event.getName(), regattasList); - result.add(eventDTO); - } - return result; - } - private List getRaceDTOs(Regatta regatta) { List result = new ArrayList(); for (RaceDefinition r : regatta.getAllRaces()) { @@ -1845,4 +1836,59 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS getReplicationService().startToReplicateFrom( ReplicationFactory.INSTANCE.createReplicationMasterDescriptor(masterName, servletPort, jmsPort)); } + + @Override + public List getEvents() { + List result = new ArrayList(); + for (Event event : getService().getAllEvents()) { + List regattasList = getRegattas(); + EventDTO eventDTO = new EventDTO(event.getName(), regattasList); + result.add(eventDTO); + } + return result; + } + + @Override + public void updateEvent(String oldName, String newName, String venue, List regattaNames) { + // TODO Auto-generated method stub + + } + + @Override + public EventDTO createEvent(String eventName, String venue) { + return convertToEventDTO(getService().apply(new CreateEvent(eventName, venue, new ArrayList()))); + } + + @Override + public void removeEvent(String eventName) { + // TODO Auto-generated method stub + + } + + @Override + public void renameEvent(String oldName, String newName) { + // TODO Auto-generated method stub + + } + + @Override + public EventDTO getEventByName(String eventName) { + // TODO Auto-generated method stub + return null; + } + + private EventDTO convertToEventDTO(Event event) { + EventDTO eventDTO = new EventDTO(); + eventDTO.name = event.getName(); + eventDTO.venue = new VenueDTO(); + eventDTO.venue.name = event.getVenue() != null ? event.getVenue().getName() : null; + eventDTO.regattas = new ArrayList(); + for (Regatta regatta: event.getRegattas()) { + RegattaDTO regattaDTO = new RegattaDTO(); + regattaDTO.name = regatta.getName(); + eventDTO.regattas.add(regattaDTO); + } + return eventDTO; + } + } \ No newline at end of file diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java index 6f7078e0c23..7c7bdb474bd 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java @@ -65,8 +65,6 @@ import com.sap.sailing.expeditionconnector.ExpeditionListener; * */ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetcher, RaceFetcher { - Iterable getAllEvents(); - /** * @return a thread-safe copy of the regattas currently known by the service; it's safe for callers to iterate over * the iterable returned, and no risk of a {@link ConcurrentModificationException} exists @@ -408,4 +406,25 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch * Caution: All relevant contents of this service instance will be replaced by the stream contents. */ void initiallyFillFrom(ObjectInputStream ois) throws IOException, ClassNotFoundException; + + + /** + * @return a thread-safe copy of the events currently known by the service; it's safe for callers to iterate over + * the iterable returned, and no risk of a {@link ConcurrentModificationException} exists + */ + Iterable getAllEvents(); + + /** + * Creates a new event with the name eventName, the description desciption and the + * regattas with the names in regattaNames and saves it in the database. + * + * @param eventName + * The name of the new event + * @param venue + * The venue of the new event + * @param regattaNames + * The names of the regattas contained in the new event.
+ * @return The new event + */ + Event addEvent(String eventName, String venue, List regattaNames); } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 79d9c90f4c1..a308e881356 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -36,6 +36,7 @@ import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.RegattaListener; import com.sap.sailing.domain.base.Waypoint; +import com.sap.sailing.domain.base.impl.EventImpl; import com.sap.sailing.domain.base.impl.RegattaImpl; import com.sap.sailing.domain.common.DefaultLeaderboardName; import com.sap.sailing.domain.common.RaceIdentifier; @@ -193,14 +194,21 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen // This is more for debugging purposes than for anything else. addFlexibleLeaderboard(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME, new int[] { 5, 8 }); loadStoredLeaderboardsAndGroups(); + loadStoredEvents(); } public RacingEventServiceImpl(MongoDBService mongoDBService) { this(MongoFactory.INSTANCE.getDomainObjectFactory(mongoDBService), MongoFactory.INSTANCE.getMongoObjectFactory(mongoDBService)); } - + + private void loadStoredEvents() { + for(Event event: domainObjectFactory.loadAllEvents()) { + eventsByName.put(event.getName(), event); + } + } + private void loadStoredLeaderboardsAndGroups() { - // Loading all leaderboard groups and putting the contained leaderboards + // Loading all leaderboard groups and the contained leaderboards for (LeaderboardGroup leaderboardGroup : domainObjectFactory.getAllLeaderboardGroups()) { leaderboardGroupsByName.put(leaderboardGroup.getName(), leaderboardGroup); for (Leaderboard leaderboard : leaderboardGroup.getLeaderboards()) { @@ -1231,4 +1239,17 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen this.delayToLiveInMillis = delayToLiveInMillis; } + @Override + public Event addEvent(String eventName, String venue, List regattaNames) { + Event result = new EventImpl(eventName, venue); + synchronized (eventsByName) { + if (eventsByName.containsKey(eventName)) { + throw new IllegalArgumentException("Event with name " + eventName + " already exists"); + } + eventsByName.put(eventName, result); + } + mongoObjectFactory.storeEvent(result); + return result; + } + } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractEventOperation.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractEventOperation.java new file mode 100644 index 00000000000..c8ccfff277d --- /dev/null +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractEventOperation.java @@ -0,0 +1,20 @@ +package com.sap.sailing.server.operationaltransformation; + +public abstract class AbstractEventOperation extends AbstractRacingEventServiceOperation { + private static final long serialVersionUID = 1200611694004927369L; + private final String eventName; + + public AbstractEventOperation(String eventName) { + super(); + this.eventName = eventName; + } + + protected String getEventName() { + return eventName; + } + + protected boolean affectsSameEvent(AbstractEventOperation other) { + return getEventName().equals(other.getEventName()); + } + +} diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateEvent.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateEvent.java new file mode 100644 index 00000000000..6028a020662 --- /dev/null +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateEvent.java @@ -0,0 +1,37 @@ +package com.sap.sailing.server.operationaltransformation; + +import java.util.List; + +import com.sap.sailing.domain.base.Event; +import com.sap.sailing.server.RacingEventService; +import com.sap.sailing.server.RacingEventServiceOperation; + +public class CreateEvent extends AbstractEventOperation { + private static final long serialVersionUID = 308389324918359960L; + private final String venue; + private final List regattaNames; + + public CreateEvent(String eventName, String venue, List regattaNames) { + super(eventName); + this.venue = venue; + this.regattaNames = regattaNames; + } + + @Override + public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) { + // TODO Auto-generated method stub + return null; + } + + @Override + public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) { + // TODO Auto-generated method stub + return null; + } + + @Override + public Event internalApplyTo(RacingEventService toState) { + return toState.addEvent(getEventName(), venue, regattaNames); + } + +} From cd56394cd65128d42a4bd284943686bc73bf18d6 Mon Sep 17 00:00:00 2001 From: fmittag Date: Sun, 3 Jun 2012 14:26:21 +0200 Subject: [PATCH 183/339] work commit.. there are still some issues if the unit of the ticks changes (e.g. from minutes to seconds) --- .../sailing/gwt/ui/client/RaceTimePanel.java | 8 +----- .../gwt/ui/shared/charts/RaceChart.java | 10 ++++++-- .../ui/shared/controls/slider/SliderBar.java | 8 ------ .../ui/shared/controls/slider/TimeSlider.java | 25 +++++++++++-------- .../controls/slider/TimeTicksCalculator.java | 2 +- 5 files changed, 25 insertions(+), 28 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java index 00492413686..b3c03e8133e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java @@ -84,10 +84,6 @@ public class RaceTimePanel extends TimePanel implements R @Override public void onTimeZoom(Date zoomStartTimepoint, Date zoomEndTimepoint) { - - System.out.println("vor zoom:"); - timeSlider.printValues(); - isTimeZoomed = true; timeSlider.setZoomed(true); timer.setAutoAdvance(false); @@ -96,9 +92,6 @@ public class RaceTimePanel extends TimePanel implements R timeSlider.redraw(); initTimerPosition(lastRaceTimesInfo); updateLegMarkers(lastRaceTimesInfo); - - System.out.println("nach zoom:"); - timeSlider.printValues(); } @Override @@ -106,6 +99,7 @@ public class RaceTimePanel extends TimePanel implements R isTimeZoomed = false; timeSlider.setZoomed(false); timer.setAutoAdvance(true); + initMinMax(this.lastRaceTimesInfo); timeSlider.clearMarkersAndLabelsAndTicks(); timeSlider.redraw(); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/RaceChart.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/RaceChart.java index befcd5e7a08..3e155c7b857 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/RaceChart.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/RaceChart.java @@ -59,6 +59,9 @@ public abstract class RaceChart extends SimplePanel implements RaceTimesInfoProv protected boolean isLoading = false; protected boolean isZoomed = false; + /** the tick count must be the same as TimeSlider.TICKCOUNT, otherwise the time ticks will be not synchronized */ + private final int TICKCOUNT = 10; + public RaceChart(SailingServiceAsync sailingService, Timer timer, TimeZoomProvider timeZoomProvider, final StringMessages stringMessages, AsyncActionsExecutor asyncActionsExecutor, ErrorReporter errorReporter) { this.sailingService = sailingService; @@ -92,8 +95,8 @@ public abstract class RaceChart extends SimplePanel implements RaceTimesInfoProv chart.getXAxis().setMax(maxTimepoint.getTime()); chart.getXAxis().setExtremes(minTimepoint.getTime(), maxTimepoint.getTime(), false, false); - long diff = (maxTimepoint.getTime() - minTimepoint.getTime()) / 10; - chart.getXAxis().setTickInterval(diff); + long tickInterval = (maxTimepoint.getTime() - minTimepoint.getTime()) / TICKCOUNT; + chart.getXAxis().setTickInterval(tickInterval); } } @@ -120,6 +123,9 @@ public abstract class RaceChart extends SimplePanel implements RaceTimesInfoProv isZoomed = true; } timeZoomProvider.setTimeZoom(new Date(xAxisMin), new Date(xAxisMax), this); +// long tickInterval = (xAxisMax - xAxisMin) / TICKCOUNT; +// chart.getXAxis().setTickInterval(tickInterval); +// chart.redraw(); } catch (Throwable t) { // in case the user clicks the "reset zoom" button chartSelectionEvent.getXAxisMinAsLong() throws in exception timeZoomProvider.resetTimeZoom(this); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/SliderBar.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/SliderBar.java index 6877ba50a9a..ce2f9cf0ffd 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/SliderBar.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/SliderBar.java @@ -17,7 +17,6 @@ package com.sap.sailing.gwt.ui.shared.controls.slider; */ import java.util.ArrayList; -import java.util.Date; import java.util.Iterator; import java.util.List; @@ -620,13 +619,6 @@ public class SliderBar extends FocusPanel implements RequiresResize, HasValue calculatedTimeTicks; private boolean isZoomed; - + + private final int TICKCOUNT = 10; + public TimeSlider() { calculatedTimeTicks = new ArrayList(); isZoomed = false; @@ -29,14 +31,19 @@ public class TimeSlider extends SliderBar { return; long minMaxDiffInMs = maxValue.longValue() - minValue.longValue(); - NormalizedInterval normalizedTimeTickInterval = calc.normalizeTimeTickInterval(minMaxDiffInMs); + long tickInterval = minMaxDiffInMs / TICKCOUNT; + NormalizedInterval normalizedTimeTickInterval = calc.normalizeTimeTickInterval(tickInterval); calculatedTimeTicks = calc.calculateTimeTicks(normalizedTimeTickInterval, minValue.longValue(), maxValue.longValue(), 1); - -// normalizedTimeTickInterval = calc.normalizeTimeTickInterval(minMaxDiffInMs / count); -// calculatedTimeTicks = calc.calculateTimeTicks(normalizedTimeTickInterval, minValue.longValue(), maxValue.longValue(), 1); - - //NormalizedInterval normalizedTimeTickInterval = calc.normalizeTimeTickInterval((maxValue.longValue() - minValue.longValue()) / 8); - + + boolean debug = true; + if(debug) { + System.out.println("Diff: " + minMaxDiffInMs); + System.out.println("Tick count: " + normalizedTimeTickInterval.count); + System.out.println("Unit name: " + normalizedTimeTickInterval.unitName); + System.out.println("Unit range: " + normalizedTimeTickInterval.unitRange); + System.out.println("Calculated ticks count: " + calculatedTimeTicks.size()); + } + // Draw the ticks int lineWidth = lineElement.getOffsetWidth(); // Create the ticks or make them visible @@ -157,8 +164,6 @@ public class TimeSlider extends SliderBar { protected void drawKnob() { if (!isAttached() || !isMinMaxInitialized()) return; - - printValues(); Element knobElement = knobImage.getElement(); if(curValue >= minValue && curValue <= maxValue) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/TimeTicksCalculator.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/TimeTicksCalculator.java index ab4ff42740d..a741ded3f4a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/TimeTicksCalculator.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/TimeTicksCalculator.java @@ -183,7 +183,7 @@ public class TimeTicksCalculator { // else, the interval is fixed and we use simple addition } else { - time += interval; + time += interval * count; } i++; From 67762f812a0acca5118a404af78022465de678f9 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 00:22:35 +0200 Subject: [PATCH 184/339] fixed bug 667; left comment regarding bug 723 --- .../com/sap/sailing/gwt/ui/shared/RaceColumnDTO.java | 10 ++++++---- .../replication/impl/ReplicationServiceImpl.java | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceColumnDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceColumnDTO.java index 97c4409b2e8..b8200df36a9 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceColumnDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceColumnDTO.java @@ -94,10 +94,12 @@ public class RaceColumnDTO implements IsSerializable { public PlacemarkOrderDTO getPlaces() { PlacemarkOrderDTO places = null; for (StrippedRaceDTO race : racesPerFleet.values()) { - if (places == null) { - places = race.places; - } else { - places.add(race.places); + if (race != null) { + if (places == null) { + places = race.places; + } else { + places.add(race.places); + } } } return places; diff --git a/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServiceImpl.java b/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServiceImpl.java index d088f288bcb..243a7f2d273 100644 --- a/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServiceImpl.java +++ b/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServiceImpl.java @@ -179,6 +179,7 @@ public class ReplicationServiceImpl implements ReplicationService, OperationExec String uuid = registerReplicaWithMaster(master); TopicSubscriber replicationSubscription = master.getTopicSubscriber(uuid); URL initialLoadURL = master.getInitialLoadURL(); + // TODO bug 723 hold back Replicator from performing operations received until initial load has completed replicationSubscription.setMessageListener(new Replicator(master, this)); InputStream is = initialLoadURL.openStream(); ObjectInputStream ois = new ObjectInputStream(is); From 784b8561efdc9a8d93263e80af86a5eb7c3de45f Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 00:33:51 +0200 Subject: [PATCH 185/339] fixing bugs 524/640: location/name search in Spectator view --- .../gwt/ui/spectator/LeaderboardGroupOverviewPanel.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java index 1cc3e98c422..54b2b9552ac 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/spectator/LeaderboardGroupOverviewPanel.java @@ -595,12 +595,12 @@ public class LeaderboardGroupOverviewPanel extends FormPanel { private boolean checkSearchCriteria(LeaderboardGroupDTO forGroup, String location, String name, boolean onlyLive, Date from, Date until) { boolean result = true; - if (result && location != null && !location.equals("")) { + if (result && location != null && location.length() > 0) { result = textContainsStringsToCheck( PlacemarkOrderDTO.placemarksOfAllOrderAsSeperatedString(forGroup.getGroupPlaces(), true), location.split("\\s")); } - if (result && name != null && !name.equals("")) { + if (result && name != null && name.length() > 0) { result = textContainsStringsToCheck(forGroup.name, name.split("\\s")); } if (result && onlyLiveCheckBox.getValue()) { @@ -624,8 +624,8 @@ public class LeaderboardGroupOverviewPanel extends FormPanel { private boolean textContainsStringsToCheck(String text, String[] stringsToCheck) { boolean contains = false; for (String stringToCheck : stringsToCheck) { - contains = text.contains(stringToCheck); - if (contains) { + contains = text.toLowerCase().contains(stringToCheck.toLowerCase()); + if (!contains) { break; } } From dc36462f7e246052d110680e1582c4773f7091c8 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 00:51:48 +0200 Subject: [PATCH 186/339] disable checkboxes in wind chart settings dialog for those wind source types whose speed is not to be used --- .../gwt/ui/shared/charts/WindChartSettingsDialogComponent.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChartSettingsDialogComponent.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChartSettingsDialogComponent.java index 02b2fb3e1f6..ff863a03d87 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChartSettingsDialogComponent.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/charts/WindChartSettingsDialogComponent.java @@ -101,7 +101,7 @@ public class WindChartSettingsDialogComponent implements SettingsDialogComponent for (WindSourceType windSourceType : WindSourceType.values()) { CheckBox checkbox = dialog.createCheckbox(WindSourceTypeFormatter.format(windSourceType, stringMessages)); - checkbox.setEnabled(initialSettings.isShowWindSpeedSeries()); + checkbox.setEnabled(initialSettings.isShowWindSpeedSeries() && windSourceType.useSpeed()); windSpeedCheckboxes.put(windSourceType, checkbox); checkbox.setValue(initialSettings.getWindSpeedSourcesToDisplay().contains(windSourceType)); checkbox.getElement().getStyle().setMarginLeft(15.0, Unit.PX); From bb48b4a227b261eb3ea10cdf016bc8ce84c3b5aa Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 10:45:21 +0200 Subject: [PATCH 187/339] moved knowledge about which boat classes may not always start upwind to base domain factory --- .../domain/persistence/impl/CollectionNames.java | 1 + .../tractracadapter/impl/DomainFactoryImpl.java | 16 ++++------------ .../sap/sailing/domain/base/DomainFactory.java | 6 ++++++ .../domain/base/impl/DomainFactoryImpl.java | 11 +++++++++++ .../sap/sailing/server/RacingEventService.java | 2 +- 5 files changed, 23 insertions(+), 13 deletions(-) diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java index 5149c0d4f26..af9296aad2b 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java @@ -38,6 +38,7 @@ public enum CollectionNames { /** * Stores boat class-specific master data such as the class's hull length, logo, name, number of sailors, etc. + * To be implemented in future versions. */ BOAT_CLASSES; } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java index efcb27496c7..35e3f85b4c2 100644 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java @@ -8,14 +8,11 @@ import java.net.URISyntaxException; import java.net.URL; import java.text.ParseException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.HashMap; -import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Set; import java.util.logging.Logger; import com.sap.sailing.domain.base.Boat; @@ -23,19 +20,19 @@ import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Buoy; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.Course; -import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Nationality; import com.sap.sailing.domain.base.Person; import com.sap.sailing.domain.base.RaceDefinition; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Team; import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.base.impl.BoatImpl; import com.sap.sailing.domain.base.impl.CourseImpl; -import com.sap.sailing.domain.base.impl.RegattaImpl; import com.sap.sailing.domain.base.impl.KilometersPerHourSpeedWithBearingImpl; import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; import com.sap.sailing.domain.base.impl.PersonImpl; import com.sap.sailing.domain.base.impl.RaceDefinitionImpl; +import com.sap.sailing.domain.base.impl.RegattaImpl; import com.sap.sailing.domain.base.impl.TeamImpl; import com.sap.sailing.domain.common.Position; import com.sap.sailing.domain.common.TimePoint; @@ -49,9 +46,9 @@ import com.sap.sailing.domain.tracking.GPSFixMoving; import com.sap.sailing.domain.tracking.MarkPassing; import com.sap.sailing.domain.tracking.RaceTracker; import com.sap.sailing.domain.tracking.RaceTrackingConnectivityParameters; +import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.TrackedRegatta; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; -import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.WindStore; import com.sap.sailing.domain.tracking.WindTrack; import com.sap.sailing.domain.tracking.impl.GPSFixMovingImpl; @@ -99,11 +96,8 @@ public class DomainFactoryImpl implements DomainFactory { private final Map raceCache = new HashMap(); - private final Set mayStartWithNoUpwindLeg; - public DomainFactoryImpl(com.sap.sailing.domain.base.DomainFactory baseDomainFactory) { this.baseDomainFactory = baseDomainFactory; - mayStartWithNoUpwindLeg = new HashSet(Arrays.asList(new String[] { "extreme40", "ess", "ess40" })); } @Override @@ -205,9 +199,7 @@ public class DomainFactoryImpl implements DomainFactory { @Override public BoatClass getOrCreateBoatClass(CompetitorClass competitorClass) { - return baseDomainFactory.getOrCreateBoatClass(competitorClass == null ? "" : competitorClass.getName(), - /* typicallyStartsUpwind */ !mayStartWithNoUpwindLeg.contains(competitorClass == null ? "" : competitorClass.getName() - .toLowerCase())); + return baseDomainFactory.getOrCreateBoatClass(competitorClass == null ? "" : competitorClass.getName()); } @Override diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/DomainFactory.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/DomainFactory.java index e70d6296300..2909b2c4c41 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/DomainFactory.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/DomainFactory.java @@ -40,6 +40,12 @@ public interface DomainFactory { BoatClass getOrCreateBoatClass(String name, boolean typicallyStartsUpwind); + /** + * Like {@link #getOrCreateBoatClass(String, boolean)}, only that a default for typicallyStartsUpwind based + * on the boat class name is calculated. + */ + BoatClass getOrCreateBoatClass(String name); + Competitor getExistingCompetitorById(Serializable competitorId); Competitor createCompetitor(Serializable id, String name, Team team, Boat boat); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DomainFactoryImpl.java index 6c23964fdcb..42a5a7bef11 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DomainFactoryImpl.java @@ -4,8 +4,11 @@ import java.awt.TrayIcon.MessageType; import java.io.IOException; import java.io.InputStream; import java.io.Serializable; +import java.util.Arrays; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; +import java.util.Set; import java.util.WeakHashMap; import com.sap.sailing.domain.base.Boat; @@ -38,12 +41,15 @@ public class DomainFactoryImpl implements DomainFactory { private final WeakHashMap waypointCache; + private final Set mayStartWithNoUpwindLeg; + public DomainFactoryImpl() { nationalityCache = new HashMap(); buoyCache = new HashMap(); boatClassCache = new HashMap(); competitorCache = new HashMap(); waypointCache = new WeakHashMap(); + mayStartWithNoUpwindLeg = new HashSet(Arrays.asList(new String[] { "extreme40", "ess", "ess40" })); } @Override @@ -114,6 +120,11 @@ public class DomainFactoryImpl implements DomainFactory { return result; } } + + @Override + public BoatClass getOrCreateBoatClass(String name) { + return getOrCreateBoatClass(name, /* typicallyStartsUpwind */!mayStartWithNoUpwindLeg.contains(name.toLowerCase())); + } @Override public Competitor getExistingCompetitorById(Serializable competitorId) { diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java index 7c7bdb474bd..2a7657b4739 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java @@ -180,7 +180,7 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch * {@link RaceColumn#getTrackedRace(Fleet)}. * * @param regatta - * the event to remove + * the regatta from which to remove the race * @param race * the race to remove */ From 01d3eeb3e4d1f0bbd4ee6a2ebd03b9113199f86a Mon Sep 17 00:00:00 2001 From: fmittag Date: Tue, 5 Jun 2012 10:47:21 +0200 Subject: [PATCH 188/339] Changed text "Windward distance to overall leader" to "Windward distance to leader" to be more precise --- .../java/com/sap/sailing/gwt/ui/client/DetailTypeFormatter.java | 2 +- .../main/java/com/sap/sailing/gwt/ui/client/StringMessages.java | 2 +- .../com/sap/sailing/gwt/ui/client/StringMessages.properties | 2 +- .../com/sap/sailing/gwt/ui/client/StringMessages_de.properties | 2 +- .../com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/DetailTypeFormatter.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/DetailTypeFormatter.java index d7a577aa69e..dbe9b168f70 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/DetailTypeFormatter.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/DetailTypeFormatter.java @@ -36,7 +36,7 @@ public class DetailTypeFormatter { case RACE_AVERAGE_CROSS_TRACK_ERROR_IN_METERS: return stringMessages.averageCrossTrackErrorInMeters(); case WINDWARD_DISTANCE_TO_OVERALL_LEADER: - return stringMessages.windwardDistanceToOverallLeader(); + return stringMessages.windwardDistanceToLeader(); case HEAD_UP: return stringMessages.headUp(); case BEAR_AWAY: diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java index 7079c3afe0b..1d08e2d8b8e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java @@ -188,7 +188,7 @@ public interface StringMessages extends Messages { String actionRaceUnlink(); String actionRaceRemove(); String filterLeaderboardsByName(); - String windwardDistanceToOverallLeader(); + String windwardDistanceToLeader(); String actions(); String islinked(); String yes(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index 45919c164c8..59ee36ecc3f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -183,7 +183,7 @@ actionRaceEdit=Edit or rename race actionRaceUnlink=Unlink race actionRaceRemove=Remove race filterLeaderboardsByName=Filter leaderboards by name -windwardDistanceToOverallLeader=Windward distance to overall leader +windwardDistanceToLeader=Windward distance to leader actions=Actions islinked=Is linked yes=Yes diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index 99b638e42ba..9948d18938c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -184,7 +184,7 @@ actionRaceEdit=Rennen ändern oder umbenennen actionRaceUnlink=Rennverknüpfung entfernen actionRaceRemove=Rennen entfernen filterLeaderboardsByName=Ranglisten nach Name filtern -windwardDistanceToOverallLeader=Windward distance to overall leader +windwardDistanceToLeader=Windward distance to leader actions=Aktionen islinked=Verknüpft yes=Ja diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java index 91abf9b3b57..81b4c247317 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java @@ -576,7 +576,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta .getLeaderboardTable(), LEG_COLUMN_HEADER_STYLE, LEG_COLUMN_STYLE)); result.put( DetailType.RACE_DISTANCE_TO_LEADER_IN_METERS, - new FormattedDoubleLegDetailColumn(stringMessages.windwardDistanceToOverallLeader(), "["+stringMessages + new FormattedDoubleLegDetailColumn(stringMessages.windwardDistanceToLeader(), "["+stringMessages .distanceInMetersUnit()+"]", new RaceDistanceToLeaderInMeters(), 0, getLeaderboardPanel() .getLeaderboardTable(), LEG_COLUMN_HEADER_STYLE, LEG_COLUMN_STYLE)); result.put( From 26b75bf813d068499d8ef7cf9f16e1198405ec15 Mon Sep 17 00:00:00 2001 From: fmittag Date: Tue, 5 Jun 2012 12:25:37 +0200 Subject: [PATCH 189/339] time slider zoom part II --- .../sailing/gwt/ui/client/RaceTimePanel.java | 32 +++++++++++-------- .../sap/sailing/gwt/ui/client/TimePanel.java | 11 ++++++- .../ui/shared/controls/slider/TimeSlider.java | 2 +- 3 files changed, 29 insertions(+), 16 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java index b3c03e8133e..840a7c1549e 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java @@ -80,6 +80,7 @@ public class RaceTimePanel extends TimePanel implements R // maybe show a special state for this like "Race did not start yet" } } + lastRaceTimesInfo = raceTimesInfo; } @Override @@ -91,7 +92,7 @@ public class RaceTimePanel extends TimePanel implements R timeSlider.clearMarkersAndLabelsAndTicks(); timeSlider.redraw(); initTimerPosition(lastRaceTimesInfo); - updateLegMarkers(lastRaceTimesInfo); + redrawAllMarkers(lastRaceTimesInfo); } @Override @@ -102,6 +103,7 @@ public class RaceTimePanel extends TimePanel implements R initMinMax(this.lastRaceTimesInfo); timeSlider.clearMarkersAndLabelsAndTicks(); timeSlider.redraw(); + redrawAllMarkers(lastRaceTimesInfo); } @Override @@ -194,7 +196,6 @@ public class RaceTimePanel extends TimePanel implements R } private void updateLegMarkers(RaceTimesInfoDTO newRaceTimesInfo) { - List markPassingTimes = newRaceTimesInfo.getMarkPassingTimes(); boolean requiresMarkerUpdate = true; // updating the sliderbar markers requires a lot of time, therefore we need to do this only if required @@ -214,19 +215,22 @@ public class RaceTimePanel extends TimePanel implements R } } if (requiresMarkerUpdate && timeSlider.isMinMaxInitialized()) { - timeSlider.clearMarkers(); - for (MarkPassingTimesDTO markPassingTimesDTO: markPassingTimes) { - if(markPassingTimesDTO.firstPassingDate != null) { - timeSlider.addMarker(markPassingTimesDTO.name, new Double(markPassingTimesDTO.firstPassingDate.getTime())); - } - } - if(newRaceTimesInfo.endOfRace != null) { - timeSlider.addMarker("E", new Double(newRaceTimesInfo.endOfRace.getTime())); - } - - timeSlider.redraw(); + redrawAllMarkers(newRaceTimesInfo); } - lastRaceTimesInfo = newRaceTimesInfo; + } + + private void redrawAllMarkers(RaceTimesInfoDTO newRaceTimesInfo) { + List markPassingTimes = newRaceTimesInfo.getMarkPassingTimes(); + timeSlider.clearMarkers(); + for (MarkPassingTimesDTO markPassingTimesDTO: markPassingTimes) { + if(markPassingTimesDTO.firstPassingDate != null) { + timeSlider.addMarker(markPassingTimesDTO.name, new Double(markPassingTimesDTO.firstPassingDate.getTime())); + } + } + if(newRaceTimesInfo.endOfRace != null) { + timeSlider.addMarker("E", new Double(newRaceTimesInfo.endOfRace.getTime())); + } + timeSlider.redraw(); } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/TimePanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/TimePanel.java index dbfdec2d129..49eccf53da6 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/TimePanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/TimePanel.java @@ -77,6 +77,11 @@ public class TimePanel extends FormPanel implements * override. */ private boolean userExplicitlyChangedLivePlayDelay; + + /** + * the minimum time the slider extends it's time when the end of the slider is reached + */ + private long MINIMUM_AUTO_ADVANCE_TIME_IN_MS = 5 * 60 * 1000; // 5 minutes private static ClientResources resources = GWT.create(ClientResources.class); @@ -297,7 +302,11 @@ public class TimePanel extends FormPanel implements // Handle it equally for replay and live mode for robustness reasons. This at least allows a user // to watch on even if the time panel was off in its assumptions about race end and end of tracking. if (time.after(getMax())) { - setMinMax(getMin(), time, /* fireEvent */ false); // no event because we guarantee that time is between min/max + Date newMaxTime = time; + if (newMaxTime.getTime() - getMax().getTime() < MINIMUM_AUTO_ADVANCE_TIME_IN_MS) { + newMaxTime.setTime(getMax().getTime() + MINIMUM_AUTO_ADVANCE_TIME_IN_MS); + } + setMinMax(getMin(), newMaxTime, /* fireEvent */ false); // no event because we guarantee that time is between min/max } long t = time.getTime(); timeSlider.setCurrentValue(new Double(t), false); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/TimeSlider.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/TimeSlider.java index 6ccda5c501b..25e03c66766 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/TimeSlider.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/controls/slider/TimeSlider.java @@ -35,7 +35,7 @@ public class TimeSlider extends SliderBar { NormalizedInterval normalizedTimeTickInterval = calc.normalizeTimeTickInterval(tickInterval); calculatedTimeTicks = calc.calculateTimeTicks(normalizedTimeTickInterval, minValue.longValue(), maxValue.longValue(), 1); - boolean debug = true; + boolean debug = false; if(debug) { System.out.println("Diff: " + minMaxDiffInMs); System.out.println("Tick count: " + normalizedTimeTickInterval.count); From eb6a1e62141fd43af147cfc79854ac548544883e Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 13:23:05 +0200 Subject: [PATCH 190/339] added replication capabilities for Regatta / Series manipulation --- .../impl/DomainObjectFactoryImpl.java | 2 +- .../LeaderboardScoringAndRankingTest.java | 2 +- .../domain/test/mock/MockedTrackedRace.java | 12 ++++ .../com/sap/sailing/domain/base/Fleet.java | 6 ++ .../domain/base/RaceColumnInSeries.java | 2 + .../com/sap/sailing/domain/base/Regatta.java | 15 ++++ .../com/sap/sailing/domain/base/Series.java | 19 ++++- .../sailing/domain/base/impl/FleetImpl.java | 1 + .../base/impl/RaceColumnInSeriesImpl.java | 6 ++ .../sailing/domain/base/impl/RegattaImpl.java | 41 ++++++++++- .../sailing/domain/base/impl/SeriesImpl.java | 65 +++++++++++++++-- ...estStoringAndLoadingEventsAndRegattas.java | 2 +- .../test/RegattaReplicationTest.java | 28 ++++++++ .../test/ServerReplicationTest.java | 4 +- .../TrackedRaceContentsReplicationTest.java | 4 +- .../sailing/server/RacingEventService.java | 4 ++ .../server/impl/RacingEventServiceImpl.java | 70 +++++++++++++++---- .../AbstractAddRegattaOperation.java | 30 ++++++++ .../AbstractColumnInSeriesOperation.java | 37 ++++++++++ .../AbstractSeriesOperation.java | 24 +++++++ .../AddColumnToSeries.java | 38 ++++++++++ ...AddRegatta.java => AddDefaultRegatta.java} | 14 ++-- .../AddSpecificRegatta.java | 65 +++++++++++++++++ .../MoveColumnInSeriesDown.java | 36 ++++++++++ .../MoveColumnInSeriesUp.java | 36 ++++++++++ .../RemoveColumnFromSeries.java | 36 ++++++++++ 26 files changed, 559 insertions(+), 40 deletions(-) create mode 100755 java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java create mode 100755 java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractAddRegattaOperation.java create mode 100755 java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractColumnInSeriesOperation.java create mode 100755 java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractSeriesOperation.java create mode 100755 java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java rename java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/{AddRegatta.java => AddDefaultRegatta.java} (54%) create mode 100755 java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddSpecificRegatta.java create mode 100755 java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/MoveColumnInSeriesDown.java create mode 100755 java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/MoveColumnInSeriesUp.java create mode 100755 java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RemoveColumnFromSeries.java diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index 799457bc324..006eb7fd102 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -451,7 +451,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { } BasicDBList dbSeries = (BasicDBList) dbRegatta.get(FieldNames.REGATTA_SERIES.name()); Iterable series = loadSeries(dbSeries); - result = new RegattaImpl(baseName, boatClass, series); + result = new RegattaImpl(baseName, boatClass, series, /* persistent */ true); } return result; } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java index 9473a6b4b9f..0490b022be4 100644 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java @@ -289,7 +289,7 @@ public class LeaderboardScoringAndRankingTest extends AbstractLeaderboardTest { series.add(medalSeries); } - Regatta regatta = new RegattaImpl(regattaBaseName, boatClass, series); + Regatta regatta = new RegattaImpl(regattaBaseName, boatClass, series, /* persistent */ false); return regatta; } } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java index 9021276cf12..3e6e04f4a99 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java @@ -350,6 +350,18 @@ public class MockedTrackedRace implements DynamicTrackedRace { // TODO Auto-generated method stub return null; } + + @Override + public Series getSeriesByName(String seriesName) { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean isPersistent() { + // TODO Auto-generated method stub + return false; + } }; } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Fleet.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Fleet.java index ac970694937..513382f4bd3 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Fleet.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Fleet.java @@ -17,4 +17,10 @@ import com.sap.sailing.domain.common.Named; * */ public interface Fleet extends Named, Comparable { + + /** + * The comparability is implemented by an integer field. For fleets of a series to compare equal, the constructor + * without this ordering criterion should be chosen (implicitly setting it to 0). + */ + int getOrdering(); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnInSeries.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnInSeries.java index 35c66219392..bbf55b005fe 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnInSeries.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnInSeries.java @@ -2,4 +2,6 @@ package com.sap.sailing.domain.base; public interface RaceColumnInSeries extends RaceColumn { Series getSeries(); + + Regatta getRegatta(); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java index 62a11500336..35c0fd1ef32 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java @@ -20,6 +20,13 @@ public interface Regatta extends Named { */ Iterable getSeries(); + /** + * @return the first series from {@link #getSeries} whose {@link Series#getName() name} equals + * seriesName, + * or null if no such series exists + */ + Series getSeriesByName(String seriesName); + /** * Please note that the {@link RaceDefinition}s of the {@link Regatta} are not necessarily in sync with the * {@link TrackedRace}s of the {@link TrackedRegatta} whose {@link TrackedRegatta#getRegatta() regatta} is this regatta. @@ -57,4 +64,12 @@ public interface Regatta extends Named { * may require the base name to which the boat class name will be appended. This method emits the base name. */ String getBaseName(); + + /** + * Regattas may be constructed as implicit default regattas in which case they won't need to be stored + * durably and don't contain valuable information worth being preserved; or they are constructed explicitly + * with series and race columns in which case this data needs to be protected. This flag indicates whether + * the data of this regatta needs to be maintained persistently. + */ + boolean isPersistent(); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java index 0763d2c4d9d..373f1920c6b 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java @@ -26,9 +26,9 @@ public interface Series extends Named { * something called "R2", those are as many "races" as we have fleets; therefore, we use "race column" instead to * describe all "races" named, e.g., "R3" in a series. */ - Iterable getRaceColumns(); + Iterable getRaceColumns(); - RaceColumn getRaceColumnByName(String columnName); + RaceColumnInSeries getRaceColumnByName(String columnName); /** * Tells whether this is the "last" / "medal" race series, usually having only one race. This may have implications @@ -39,4 +39,19 @@ public interface Series extends Named { void setIsMedal(boolean isMedal); Fleet getFleetByName(String fleetName); + + RaceColumnInSeries addRaceColumn(String raceColumnName); + + void moveRaceColumnUp(String raceColumnName); + + void moveRaceColumnDown(String raceColumnName); + + void removeRaceColumn(String raceColumnName); + + Regatta getRegatta(); + + /** + * Sets this series' regatta. + */ + void setRegatta(Regatta regatta); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/FleetImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/FleetImpl.java index 1e86d6f7e6f..93697c37a52 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/FleetImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/FleetImpl.java @@ -34,6 +34,7 @@ public class FleetImpl extends NamedImpl implements Fleet { return this.ordering - ((FleetImpl) o).ordering; } + @Override public int getOrdering() { return ordering; } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java index 585300662c7..26a3f048e4c 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java @@ -2,6 +2,7 @@ package com.sap.sailing.domain.base.impl; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumnInSeries; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; /** @@ -19,6 +20,11 @@ public class RaceColumnInSeriesImpl extends AbstractRaceColumn implements RaceCo this.series = series; } + @Override + public Regatta getRegatta() { + return getSeries().getRegatta(); + } + @Override public Iterable getFleets() { return series.getFleets(); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java index 20ef54cb98c..b7bbce379bf 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java @@ -27,19 +27,39 @@ public class RegattaImpl extends NamedImpl implements Regatta { private final Iterable series; /** - * Constructs a regatta with a single default series with empty race column list, and a single default fleet. + * Regattas may be constructed as implicit default regattas in which case they won't need to be stored + * durably and don't contain valuable information worth being preserved; or they are constructed explicitly + * with series and race columns in which case this data needs to be protected. This flag indicates whether + * the data of this regatta needs to be maintained persistently. + * + * @see #isPersistent + */ + private final boolean persistent; + + /** + * Constructs a regatta with a single default series with empty race column list, and a single default fleet which + * is not {@link #isPersistent() marked for persistence}. */ public RegattaImpl(String baseName, BoatClass boatClass) { this(baseName, boatClass, Collections.singletonList(new SeriesImpl("Default", /* isMedal */ false, - Collections.singletonList(new FleetImpl("Default")), /* race column names */ new ArrayList()))); + Collections.singletonList(new FleetImpl("Default")), /* race column names */ new ArrayList())), /* persistent */ false); } - public RegattaImpl(String baseName, BoatClass boatClass, Iterable series) { + /** + * @param series + * all {@link Series} in this iterable will have their {@link Series#setRegatta(Regatta) regatta set} to + * this new regatta. + */ + public RegattaImpl(String baseName, BoatClass boatClass, Iterable series, boolean persistent) { super(baseName+(boatClass==null?"":" ("+boatClass.getName()+")")); races = new HashSet(); regattaListeners = new HashSet(); this.boatClass = boatClass; this.series = series; + for (Series s : series) { + s.setRegatta(this); + } + this.persistent = persistent; } @Override @@ -53,6 +73,11 @@ public class RegattaImpl extends NamedImpl implements Regatta { return result; } + @Override + public boolean isPersistent() { + return persistent; + } + private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException { ois.defaultReadObject(); regattaListeners = new HashSet<>(); @@ -62,6 +87,16 @@ public class RegattaImpl extends NamedImpl implements Regatta { public Iterable getSeries() { return series; } + + @Override + public Series getSeriesByName(String name) { + for (Series s : getSeries()) { + if (s.getName().equals(name)) { + return s; + } + } + return null; + } @Override public Iterable getAllRaces() { diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java index b9d3c5440e4..86f9c5c5c87 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java @@ -7,7 +7,8 @@ import java.util.List; import java.util.Map; import com.sap.sailing.domain.base.Fleet; -import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.base.RaceColumnInSeries; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.impl.NamedImpl; @@ -15,8 +16,9 @@ public class SeriesImpl extends NamedImpl implements Series { private static final long serialVersionUID = -1640404303144907381L; private final Map fleetsByName; private final List fleetsInAscendingOrder; - private final Iterable raceColumns; + private final List raceColumns; private boolean isMedal; + private Regatta regatta; public SeriesImpl(String name, boolean isMedal, Iterable fleets, Iterable raceColumnNames) { super(name); @@ -26,7 +28,7 @@ public class SeriesImpl extends NamedImpl implements Series { } fleetsInAscendingOrder = new ArrayList(fleetsByName.values()); Collections.sort(fleetsInAscendingOrder); - List myRaceColumns = new ArrayList(); + List myRaceColumns = new ArrayList(); for (String raceColumnName : raceColumnNames) { RaceColumnInSeriesImpl raceColumn = new RaceColumnInSeriesImpl(raceColumnName, this); myRaceColumns.add(raceColumn); @@ -35,6 +37,16 @@ public class SeriesImpl extends NamedImpl implements Series { this.isMedal = isMedal; } + @Override + public Regatta getRegatta() { + return regatta; + } + + @Override + public void setRegatta(Regatta regatta) { + this.regatta = regatta; + } + public Iterable getFleets() { return fleetsInAscendingOrder; } @@ -45,13 +57,54 @@ public class SeriesImpl extends NamedImpl implements Series { } @Override - public Iterable getRaceColumns() { + public Iterable getRaceColumns() { return raceColumns; } + + @Override + public RaceColumnInSeries addRaceColumn(String raceColumnName) { + final RaceColumnInSeriesImpl result = new RaceColumnInSeriesImpl(raceColumnName, this); + raceColumns.add(result); + return result; + } @Override - public RaceColumn getRaceColumnByName(String columnName) { - for (RaceColumn raceColumn : raceColumns) { + public void moveRaceColumnUp(String raceColumnName) { + // start at second element because first can't be moved up + for (int i=1; i series = Collections.emptyList(); + Regatta masterRegatta = master.createRegatta(baseEventName, boatClassName, /* boatClassTypicallyStartsUpwind */ true, series, /* persistent */ true); + Thread.sleep(1000); + Regatta replicatedRegatta = replica.getRegatta(new RegattaName(masterRegatta.getName())); + assertNotNull(replicatedRegatta); + assertTrue(replicatedRegatta.isPersistent()); + assertTrue(Util.isEmpty((replicatedRegatta.getSeries()))); + } +} diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java index ebc146cd2a7..33430b12863 100644 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java @@ -24,7 +24,7 @@ import com.sap.sailing.domain.common.DefaultLeaderboardName; import com.sap.sailing.domain.common.RegattaName; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.leaderboard.Leaderboard; -import com.sap.sailing.server.operationaltransformation.AddRegatta; +import com.sap.sailing.server.operationaltransformation.AddDefaultRegatta; import com.sap.sailing.server.operationaltransformation.AddRaceDefinition; import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard; import com.sap.sailing.server.operationaltransformation.RemoveLeaderboard; @@ -78,7 +78,7 @@ public class ServerReplicationTest extends AbstractServerReplicationTest { final DomainFactory masterDomainFactory = DomainFactory.INSTANCE; BoatClass boatClass = masterDomainFactory.getOrCreateBoatClass(boatClassName, /* typicallyStartsUpwind */ true); final String baseEventName = "Test Event"; - AddRegatta addEventOperation = new AddRegatta(baseEventName, boatClassName, /* boatClassTypicallyStartsUpwind */ true); + AddDefaultRegatta addEventOperation = new AddDefaultRegatta(baseEventName, boatClassName, /* boatClassTypicallyStartsUpwind */ true); Regatta regatta = master.apply(addEventOperation); final String raceName = "Test Race"; final CourseImpl masterCourse = new CourseImpl("Test Course", new ArrayList()); diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackedRaceContentsReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackedRaceContentsReplicationTest.java index 94639486ba3..008c75271b7 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackedRaceContentsReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackedRaceContentsReplicationTest.java @@ -49,7 +49,7 @@ import com.sap.sailing.domain.tracking.Wind; import com.sap.sailing.domain.tracking.WindTrack; import com.sap.sailing.domain.tracking.impl.GPSFixMovingImpl; import com.sap.sailing.domain.tracking.impl.WindImpl; -import com.sap.sailing.server.operationaltransformation.AddRegatta; +import com.sap.sailing.server.operationaltransformation.AddDefaultRegatta; import com.sap.sailing.server.operationaltransformation.AddRaceDefinition; import com.sap.sailing.server.operationaltransformation.CreateTrackedRace; import com.sap.sailing.server.operationaltransformation.TrackRegatta; @@ -73,7 +73,7 @@ public class TrackedRaceContentsReplicationTest extends AbstractServerReplicatio new PersonImpl("Rigo de Mas", DomainFactory.INSTANCE.getOrCreateNationality("NED"), null, null)), new BoatImpl("GER 61", DomainFactory.INSTANCE.getOrCreateBoatClass("470", /* typicallyStartsUpwind */ true), "GER 61")); final String baseEventName = "Test Event"; - AddRegatta addEventOperation = new AddRegatta(baseEventName, boatClassName, /* boatClassTypicallyStartsUpwind */ true); + AddDefaultRegatta addEventOperation = new AddDefaultRegatta(baseEventName, boatClassName, /* boatClassTypicallyStartsUpwind */ true); Regatta regatta = master.apply(addEventOperation); final String raceName = "Test Race"; final CourseImpl masterCourse = new CourseImpl("Test Course", new ArrayList()); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java index 2a7657b4739..fe975a714cb 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java @@ -20,6 +20,7 @@ import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.RaceFetcher; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; @@ -362,6 +363,9 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch Regatta getOrCreateRegatta(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind); + Regatta createRegatta(String baseName, String boatClassName, boolean boatClassTypicallyStartsUpwind, + Iterable series, boolean persistent); + /** * Adds raceDefinition to the {@link Regatta} such that it will appear in {@link Regatta#getAllRaces()} * and {@link Regatta#getRaceByName(String)}. diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index a308e881356..9dcd90c4f2e 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -35,6 +35,7 @@ import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.RegattaListener; +import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.base.impl.EventImpl; import com.sap.sailing.domain.base.impl.RegattaImpl; @@ -91,8 +92,9 @@ import com.sap.sailing.operationaltransformation.Operation; import com.sap.sailing.server.OperationExecutionListener; import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.RacingEventServiceOperation; +import com.sap.sailing.server.operationaltransformation.AddDefaultRegatta; import com.sap.sailing.server.operationaltransformation.AddRaceDefinition; -import com.sap.sailing.server.operationaltransformation.AddRegatta; +import com.sap.sailing.server.operationaltransformation.AddSpecificRegatta; import com.sap.sailing.server.operationaltransformation.ConnectTrackedRaceToLeaderboardColumn; import com.sap.sailing.server.operationaltransformation.CreateTrackedRace; import com.sap.sailing.server.operationaltransformation.RecordBuoyGPSFix; @@ -452,11 +454,22 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen if (result == null) { result = regatta; logger.info("Created regatta "+result.getName()+" ("+hashCode()+")"); - cacheAndReplicateRegatta(result); + cacheAndReplicateDefaultRegatta(result); } return result; } + @Override + public Regatta createRegatta(String baseEventName, String boatClassName, + boolean boatClassTypicallyStartsUpwind, Iterable series, boolean persistent) { + Regatta regatta = new RegattaImpl(baseEventName, + com.sap.sailing.domain.base.DomainFactory.INSTANCE.getOrCreateBoatClass(boatClassName, + boatClassTypicallyStartsUpwind), series, persistent); + logger.info("Created regatta " + regatta.getName() + " (" + hashCode() + ")"); + cacheAndReplicateSpecificRegattaWithoutRaceColumns(regatta); + return regatta; + } + @Override public Pair> getTracTracRaceRecords(URL jsonURL) throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException { JSONService jsonService = getDomainFactory().parseJSONURL(jsonURL); @@ -467,9 +480,6 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen public List getSwissTimingRaceRecords(String hostname, int port, boolean canSendRequests) throws InterruptedException, UnknownHostException, IOException, ParseException { List result = new ArrayList(); -// SailMasterConnector swissTimingConnector = swissTimingFactory.getOrCreateSailMasterConnector(hostname, port, swissTimingAdapterPersistence, -// canSendRequests); - //TODO remove after testing and enable the upper code instead SailMasterConnector swissTimingConnector = swissTimingFactory.getOrCreateSailMasterLiveSimulatorConnector(hostname, port, swissTimingAdapterPersistence, canSendRequests); // @@ -548,13 +558,13 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen if (regattaWithName != tracker.getRegatta()) { if (Util.isEmpty(regattaWithName.getAllRaces())) { // probably, tracker removed the last races from the old regatta and created a new one - cacheAndReplicateRegatta(tracker.getRegatta()); + cacheAndReplicateDefaultRegatta(tracker.getRegatta()); } else { throw new RuntimeException("Internal error. Two Event objects with equal name "+regattaName); } } } else { - cacheAndReplicateRegatta(tracker.getRegatta()); + cacheAndReplicateDefaultRegatta(tracker.getRegatta()); } } else { WindStore existingTrackersWindStore = tracker.getWindStore(); @@ -571,14 +581,50 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen /** * If regatta is not yet in {@link #regattasByName}, it is added, this service is - * {@link Regatta#addRegattaListener(RegattaListener) added} as regatta listener, and the regatta and all its contained - * {@link Regatta#getAllRaces() races} are replicated to all replica. + * {@link Regatta#addRegattaListener(RegattaListener) added} as regatta listener, and the regatta and all its + * contained {@link Regatta#getAllRaces() races} are replicated to all replica. + * + * @param regatta + * the series of this regatta must not have any {@link Series#getRaceColumns() race columns associated + * (yet)}. */ - private void cacheAndReplicateRegatta(Regatta regatta) { + private void cacheAndReplicateSpecificRegattaWithoutRaceColumns(Regatta regatta) { if (!regattasByName.containsKey(regatta.getName())) { regattasByName.put(regatta.getName(), regatta); regatta.addRegattaListener(this); - replicate(new AddRegatta(regatta.getBaseName(), regatta.getBoatClass() == null ? null : regatta.getBoatClass().getName(), + replicate(new AddSpecificRegatta(regatta.getBaseName(), regatta.getBoatClass() == null ? null : regatta + .getBoatClass().getName(), regatta.getBoatClass() == null ? false : regatta.getBoatClass() + .typicallyStartsUpwind(), getSeriesWithoutRaceColumnsConstructionParametersAsMap(regatta), regatta.isPersistent())); + RegattaIdentifier regattaIdentifier = regatta.getRegattaIdentifier(); + for (RaceDefinition race : regatta.getAllRaces()) { + replicate(new AddRaceDefinition(regattaIdentifier, race)); + } + } + } + + private Map>, Boolean>> getSeriesWithoutRaceColumnsConstructionParametersAsMap(Regatta regatta) { + Map>, Boolean>> result = new HashMap>, Boolean>>(); + for (Series s : regatta.getSeries()) { + assert Util.isEmpty(s.getRaceColumns()); + List> fleetNamesAndOrdering = new ArrayList>(); + for (Fleet f : s.getFleets()) { + fleetNamesAndOrdering.add(new Pair(f.getName(), f.getOrdering())); + } + result.put(s.getName(), new Pair>, Boolean>(fleetNamesAndOrdering, s.isMedal())); + } + return result; + } + + /** + * If regatta is not yet in {@link #regattasByName}, it is added, this service is + * {@link Regatta#addRegattaListener(RegattaListener) added} as regatta listener, and the regatta and all its contained + * {@link Regatta#getAllRaces() races} are replicated to all replica. + */ + private void cacheAndReplicateDefaultRegatta(Regatta regatta) { + if (!regattasByName.containsKey(regatta.getName())) { + regattasByName.put(regatta.getName(), regatta); + regatta.addRegattaListener(this); + replicate(new AddDefaultRegatta(regatta.getBaseName(), regatta.getBoatClass() == null ? null : regatta.getBoatClass().getName(), regatta.getBoatClass() == null ? false : regatta.getBoatClass().typicallyStartsUpwind())); RegattaIdentifier regattaIdentifier = regatta.getRegattaIdentifier(); for (RaceDefinition race : regatta.getAllRaces()) { @@ -964,7 +1010,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public DynamicTrackedRegatta getOrCreateTrackedRegatta(Regatta regatta) { - cacheAndReplicateRegatta(regatta); + cacheAndReplicateDefaultRegatta(regatta); synchronized (regattaTrackingCache) { DynamicTrackedRegatta result = regattaTrackingCache.get(regatta); if (result == null) { diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractAddRegattaOperation.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractAddRegattaOperation.java new file mode 100755 index 00000000000..12a8508562d --- /dev/null +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractAddRegattaOperation.java @@ -0,0 +1,30 @@ +package com.sap.sailing.server.operationaltransformation; + +import com.sap.sailing.domain.base.Regatta; + +public abstract class AbstractAddRegattaOperation extends AbstractRacingEventServiceOperation { + private static final long serialVersionUID = 4596134166642095364L; + private final String baseEventName; + private final String boatClassName; + private final boolean boatClassTypicallyStartsUpwind; + + public AbstractAddRegattaOperation(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind) { + super(); + this.baseEventName = regattaName; + this.boatClassName = boatClassName; + this.boatClassTypicallyStartsUpwind = boatClassTypicallyStartsUpwind; + } + + protected String getBaseEventName() { + return baseEventName; + } + + protected String getBoatClassName() { + return boatClassName; + } + + protected boolean isBoatClassTypicallyStartsUpwind() { + return boatClassTypicallyStartsUpwind; + } + +} diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractColumnInSeriesOperation.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractColumnInSeriesOperation.java new file mode 100755 index 00000000000..f7717d36761 --- /dev/null +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractColumnInSeriesOperation.java @@ -0,0 +1,37 @@ +package com.sap.sailing.server.operationaltransformation; + +import java.util.logging.Logger; + +import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.Series; +import com.sap.sailing.domain.common.RegattaIdentifier; +import com.sap.sailing.server.RacingEventService; + +public abstract class AbstractColumnInSeriesOperation extends AbstractSeriesOperation { + private static final long serialVersionUID = -8985474505327170991L; + private static final Logger logger = Logger.getLogger(AbstractColumnInSeriesOperation.class.getName()); + private final String columnName; + + public AbstractColumnInSeriesOperation(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { + super(regattaIdentifier, seriesName); + this.columnName = columnName; + } + + protected String getColumnName() { + return columnName; + } + + protected Series getSeries(RacingEventService toState) { + Series series = null; + Regatta regatta = toState.getRegatta(getRegattaIdentifier()); + if (regatta != null) { + series = regatta.getSeriesByName(getSeriesName()); + if (series == null) { + logger.warning("series "+getSeriesName()+" not found in regatta "+regatta.getName()); + } + } else { + logger.warning("regatta "+getRegattaIdentifier()+" not found"); + } + return series; + } +} diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractSeriesOperation.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractSeriesOperation.java new file mode 100755 index 00000000000..c2efc134070 --- /dev/null +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractSeriesOperation.java @@ -0,0 +1,24 @@ +package com.sap.sailing.server.operationaltransformation; + +import com.sap.sailing.domain.common.RegattaIdentifier; + +public abstract class AbstractSeriesOperation extends AbstractRacingEventServiceOperation { + private static final long serialVersionUID = -7786133902346491275L; + private final RegattaIdentifier regattaIdentifier; + private final String seriesName; + + public AbstractSeriesOperation(RegattaIdentifier regattaIdentifier, String seriesName) { + super(); + this.regattaIdentifier = regattaIdentifier; + this.seriesName = seriesName; + } + + protected RegattaIdentifier getRegattaIdentifier() { + return regattaIdentifier; + } + + protected String getSeriesName() { + return seriesName; + } + +} diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java new file mode 100755 index 00000000000..22dae01a231 --- /dev/null +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java @@ -0,0 +1,38 @@ +package com.sap.sailing.server.operationaltransformation; + +import com.sap.sailing.domain.base.RaceColumnInSeries; +import com.sap.sailing.domain.base.Series; +import com.sap.sailing.domain.common.RegattaIdentifier; +import com.sap.sailing.server.RacingEventService; +import com.sap.sailing.server.RacingEventServiceOperation; + +public class AddColumnToSeries extends AbstractColumnInSeriesOperation { + private static final long serialVersionUID = 8987540636040301063L; + + public AddColumnToSeries(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { + super(regattaIdentifier, seriesName, columnName); + } + + @Override + public RaceColumnInSeries internalApplyTo(RacingEventService toState) throws Exception { + RaceColumnInSeries result = null; + Series series = getSeries(toState); + if (series != null) { + result = series.addRaceColumn(getColumnName()); + } + return result; + } + + @Override + public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) { + // TODO Auto-generated method stub + return null; + } + + @Override + public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddRegatta.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddDefaultRegatta.java similarity index 54% rename from java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddRegatta.java rename to java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddDefaultRegatta.java index e46d783c02d..a8e4fe0470a 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddRegatta.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddDefaultRegatta.java @@ -4,17 +4,11 @@ import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.RacingEventServiceOperation; -public class AddRegatta extends AbstractRacingEventServiceOperation { +public class AddDefaultRegatta extends AbstractAddRegattaOperation { private static final long serialVersionUID = -3550383541066673065L; - private final String baseEventName; - private final String boatClassName; - private final boolean boatClassTypicallyStartsUpwind; - public AddRegatta(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind) { - super(); - this.baseEventName = regattaName; - this.boatClassName = boatClassName; - this.boatClassTypicallyStartsUpwind = boatClassTypicallyStartsUpwind; + public AddDefaultRegatta(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind) { + super(regattaName, boatClassName, boatClassTypicallyStartsUpwind); } @Override @@ -31,7 +25,7 @@ public class AddRegatta extends AbstractRacingEventServiceOperation { @Override public Regatta internalApplyTo(RacingEventService toState) { - return toState.getOrCreateRegatta(baseEventName, boatClassName, boatClassTypicallyStartsUpwind); + return toState.getOrCreateRegatta(getBaseEventName(), getBoatClassName(), isBoatClassTypicallyStartsUpwind()); } } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddSpecificRegatta.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddSpecificRegatta.java new file mode 100755 index 00000000000..259decab34a --- /dev/null +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddSpecificRegatta.java @@ -0,0 +1,65 @@ +package com.sap.sailing.server.operationaltransformation; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +import com.sap.sailing.domain.base.Fleet; +import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.Series; +import com.sap.sailing.domain.base.impl.FleetImpl; +import com.sap.sailing.domain.base.impl.SeriesImpl; +import com.sap.sailing.domain.common.impl.Util.Pair; +import com.sap.sailing.server.RacingEventService; +import com.sap.sailing.server.RacingEventServiceOperation; + +public class AddSpecificRegatta extends AbstractAddRegattaOperation { + private static final long serialVersionUID = -8018855620167669352L; + private final Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal; + private final boolean persistent; + + public AddSpecificRegatta(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind, + Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrdering, boolean persistent) { + super(regattaName, boatClassName, boatClassTypicallyStartsUpwind); + this.seriesNamesWithFleetNamesAndFleetOrderingAndMedal = seriesNamesWithFleetNamesAndFleetOrdering; + this.persistent = persistent; + } + + @Override + public Regatta internalApplyTo(RacingEventService toState) throws Exception { + return toState.createRegatta(getBaseEventName(), getBoatClassName(), isBoatClassTypicallyStartsUpwind(), createSeries(), persistent); + } + + private Iterable createSeries() { + List result = new ArrayList(); + for (Map.Entry>, Boolean>> e : seriesNamesWithFleetNamesAndFleetOrderingAndMedal.entrySet()) { + final List emptyRaceColumnNamesList = Collections.emptyList(); + Series s = new SeriesImpl(e.getKey(), /* isMedal */ e.getValue().getB(), createFleets(e.getValue().getA()), emptyRaceColumnNamesList); + result.add(s); + } + return result; + } + + private Iterable createFleets(List> fleetNamesAndOrdering) { + List result = new ArrayList(); + for (Pair fleetNameAndOrdering : fleetNamesAndOrdering) { + Fleet fleet = new FleetImpl(fleetNameAndOrdering.getA(), fleetNameAndOrdering.getB()); + result.add(fleet); + } + return result; + } + + @Override + public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) { + // TODO Auto-generated method stub + return null; + } + + @Override + public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/MoveColumnInSeriesDown.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/MoveColumnInSeriesDown.java new file mode 100755 index 00000000000..07868153c16 --- /dev/null +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/MoveColumnInSeriesDown.java @@ -0,0 +1,36 @@ +package com.sap.sailing.server.operationaltransformation; + +import com.sap.sailing.domain.base.Series; +import com.sap.sailing.domain.common.RegattaIdentifier; +import com.sap.sailing.server.RacingEventService; +import com.sap.sailing.server.RacingEventServiceOperation; + +public class MoveColumnInSeriesDown extends AbstractColumnInSeriesOperation { + private static final long serialVersionUID = 1055871052852494542L; + + public MoveColumnInSeriesDown(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { + super(regattaIdentifier, seriesName, columnName); + } + + @Override + public Void internalApplyTo(RacingEventService toState) throws Exception { + Series series = getSeries(toState); + if (series != null) { + series.moveRaceColumnDown(getColumnName()); + } + return null; + } + + @Override + public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) { + // TODO Auto-generated method stub + return null; + } + + @Override + public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/MoveColumnInSeriesUp.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/MoveColumnInSeriesUp.java new file mode 100755 index 00000000000..3cb3a6ced93 --- /dev/null +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/MoveColumnInSeriesUp.java @@ -0,0 +1,36 @@ +package com.sap.sailing.server.operationaltransformation; + +import com.sap.sailing.domain.base.Series; +import com.sap.sailing.domain.common.RegattaIdentifier; +import com.sap.sailing.server.RacingEventService; +import com.sap.sailing.server.RacingEventServiceOperation; + +public class MoveColumnInSeriesUp extends AbstractColumnInSeriesOperation { + private static final long serialVersionUID = -4111158026632514462L; + + public MoveColumnInSeriesUp(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { + super(regattaIdentifier, seriesName, columnName); + } + + @Override + public Void internalApplyTo(RacingEventService toState) throws Exception { + Series series = getSeries(toState); + if (series != null) { + series.moveRaceColumnUp(getColumnName()); + } + return null; + } + + @Override + public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) { + // TODO Auto-generated method stub + return null; + } + + @Override + public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RemoveColumnFromSeries.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RemoveColumnFromSeries.java new file mode 100755 index 00000000000..1fe11df2221 --- /dev/null +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RemoveColumnFromSeries.java @@ -0,0 +1,36 @@ +package com.sap.sailing.server.operationaltransformation; + +import com.sap.sailing.domain.base.Series; +import com.sap.sailing.domain.common.RegattaIdentifier; +import com.sap.sailing.server.RacingEventService; +import com.sap.sailing.server.RacingEventServiceOperation; + +public class RemoveColumnFromSeries extends AbstractColumnInSeriesOperation { + private static final long serialVersionUID = -1923159034843767105L; + + public RemoveColumnFromSeries(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { + super(regattaIdentifier, seriesName, columnName); + } + + @Override + public Void internalApplyTo(RacingEventService toState) throws Exception { + Series series = getSeries(toState); + if (series != null) { + series.removeRaceColumn(getColumnName()); + } + return null; + } + + @Override + public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) { + // TODO Auto-generated method stub + return null; + } + + @Override + public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) { + // TODO Auto-generated method stub + return null; + } + +} From 62fbf08d6826d9024bdb2972b1f7a36770f412dc Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 13:41:21 +0200 Subject: [PATCH 191/339] added more regatta/series replication and tests --- .../test/RegattaReplicationTest.java | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java index 117190cf5e1..8b74fe029a5 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java @@ -1,14 +1,22 @@ package com.sap.sailing.server.replication.test; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import java.util.Arrays; import java.util.Collections; +import java.util.Iterator; +import java.util.List; import org.junit.Test; +import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; +import com.sap.sailing.domain.base.impl.FleetImpl; +import com.sap.sailing.domain.base.impl.SeriesImpl; import com.sap.sailing.domain.common.RegattaName; import com.sap.sailing.domain.common.impl.Util; @@ -25,4 +33,42 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest { assertTrue(replicatedRegatta.isPersistent()); assertTrue(Util.isEmpty((replicatedRegatta.getSeries()))); } + + @Test + public void testSpecificRegattaReplicationWithTwoEmptySeries() throws InterruptedException { + final String baseEventName = "Kiel Week 2012"; + final String boatClassName = "49er"; + final List emptyRaceColumnNamesList = Collections.emptyList(); + Series qualification = new SeriesImpl("Qualification", /* isMedal */ false, + Arrays.asList(new Fleet[] { new FleetImpl("Yellow"), new FleetImpl("Blue") }), emptyRaceColumnNamesList); + Series finals = new SeriesImpl("Finals", /* isMedal */ false, + Arrays.asList(new Fleet[] { new FleetImpl("Gold", 1), new FleetImpl("Silver", 2) }), emptyRaceColumnNamesList); + Series medal = new SeriesImpl("Medal", /* isMedal */ true, + Arrays.asList(new Fleet[] { new FleetImpl("Medal") }), emptyRaceColumnNamesList); + Regatta masterRegatta = master.createRegatta(baseEventName, boatClassName, /* boatClassTypicallyStartsUpwind */ true, + Arrays.asList(new Series[] { qualification, finals, medal }), /* persistent */ true); + Thread.sleep(1000); + Regatta replicatedRegatta = replica.getRegatta(new RegattaName(masterRegatta.getName())); + assertNotNull(replicatedRegatta); + assertTrue(replicatedRegatta.isPersistent()); + assertFalse(Util.isEmpty((replicatedRegatta.getSeries()))); + Iterator seriesIter = replicatedRegatta.getSeries().iterator(); + Series replicatedQualification = seriesIter.next(); + assertEquals("Qualification", replicatedQualification.getName()); + assertEquals(2, Util.size(replicatedQualification.getFleets())); + assertNotNull(replicatedQualification.getFleetByName("Yellow")); + assertNotNull(replicatedQualification.getFleetByName("Blue")); + assertEquals(0, replicatedQualification.getFleetByName("Yellow").compareTo(replicatedQualification.getFleetByName("Blue"))); + Series replicatedFinals = seriesIter.next(); + assertEquals("Finals", replicatedFinals.getName()); + assertEquals(2, Util.size(replicatedFinals.getFleets())); + assertNotNull(replicatedFinals.getFleetByName("Silver")); + assertNotNull(replicatedFinals.getFleetByName("Gold")); + assertEquals(1, replicatedFinals.getFleetByName("Gold").getOrdering()); + assertEquals(2, replicatedFinals.getFleetByName("Silver").getOrdering()); + Series replicatedMedal = seriesIter.next(); + assertEquals("Medal", replicatedMedal.getName()); + assertEquals(1, Util.size(replicatedMedal.getFleets())); + assertNotNull(replicatedMedal.getFleetByName("Medal")); + } } From d8a28bbfaaf9b4fd7ed1d616f847f74c4e44db98 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 14:29:50 +0200 Subject: [PATCH 192/339] added methods on SailingService to manage race columns in Series --- .../sailing/gwt/ui/client/SailingService.java | 12 ++++ .../gwt/ui/client/SailingServiceAsync.java | 16 ++++++ .../gwt/ui/server/SailingServiceImpl.java | 37 ++++++++++++ .../sailing/server/RacingEventService.java | 8 +-- .../server/impl/RacingEventServiceImpl.java | 7 ++- .../AddColumnToSeries.java | 3 + .../CreateLeaderboardGroup.java | 1 + .../MoveColumnInSeriesDown.java | 3 + .../MoveColumnInSeriesUp.java | 3 + .../RemoveColumnFromSeries.java | 3 + .../RemoveLeaderboardGroup.java | 1 + .../RemoveRegatta.java | 43 ++++++++++++++ .../RenameColumnInSeries.java | 57 +++++++++++++++++++ .../RenameLeaderboardGroup.java | 1 + 14 files changed, 189 insertions(+), 6 deletions(-) create mode 100755 java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RemoveRegatta.java create mode 100755 java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RenameColumnInSeries.java diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java index 23ef208a4a4..91c0ad67265 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java @@ -121,6 +121,18 @@ public interface SailingService extends RemoteService { void moveLeaderboardColumnUp(String leaderboardName, String columnName); void moveLeaderboardColumnDown(String leaderboardName, String columnName); + + void removeRegatta(RegattaIdentifier regattaIdentifier); + + void addColumnToSeries(RegattaIdentifier regattaIdentifier, String seriesName, String columnName); + + void removeColumnFromSeries(RegattaIdentifier regattaIdentifier, String seriesName, String columnName); + + void renameColumnInSeries(RegattaIdentifier regattaIdentifier, String seriesName, String oldColumnName, String newColumnName); + + void moveColumnToSeriesUp(RegattaIdentifier regattaIdentifier, String seriesName, String columnName); + + void moveColumnToSeriesDown(RegattaIdentifier regattaIdentifier, String seriesName, String columnName); boolean connectTrackedRaceToLeaderboardColumn(String leaderboardName, String raceColumnName, String fleetName, RaceIdentifier raceIdentifier); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java index 8a8c9670742..6d8e20295de 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java @@ -361,4 +361,20 @@ public interface SailingServiceAsync { * @param leaderboardNames The list of names of the new regattas of the event */ void updateEvent(String oldName, String newName, String venue, List regattaNames, AsyncCallback callback); + + void removeRegatta(RegattaIdentifier regattaIdentifier, AsyncCallback callback); + + void addColumnToSeries(RegattaIdentifier regattaIdentifier, String seriesName, String columnName, AsyncCallback callback); + + void removeColumnFromSeries(RegattaIdentifier regattaIdentifier, String seriesName, String columnName, + AsyncCallback callback); + + void renameColumnInSeries(RegattaIdentifier regattaIdentifier, String seriesName, String oldColumnName, + String newColumnName, AsyncCallback callback); + + void moveColumnToSeriesUp(RegattaIdentifier regattaIdentifier, String seriesName, String columnName, + AsyncCallback callback); + + void moveColumnToSeriesDown(RegattaIdentifier regattaIdentifier, String seriesName, String columnName, + AsyncCallback callback); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 6fa1572b67a..ecbb0d04423 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -153,17 +153,23 @@ import com.sap.sailing.gwt.ui.shared.WindTrackInfoDTO; import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.RacingEventServiceOperation; import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard; +import com.sap.sailing.server.operationaltransformation.AddColumnToSeries; import com.sap.sailing.server.operationaltransformation.ConnectTrackedRaceToLeaderboardColumn; import com.sap.sailing.server.operationaltransformation.CreateEvent; import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard; import com.sap.sailing.server.operationaltransformation.CreateLeaderboardGroup; import com.sap.sailing.server.operationaltransformation.DisconnectLeaderboardColumnFromTrackedRace; +import com.sap.sailing.server.operationaltransformation.MoveColumnInSeriesDown; +import com.sap.sailing.server.operationaltransformation.MoveColumnInSeriesUp; import com.sap.sailing.server.operationaltransformation.MoveLeaderboardColumnDown; import com.sap.sailing.server.operationaltransformation.MoveLeaderboardColumnUp; import com.sap.sailing.server.operationaltransformation.RemoveAndUntrackRace; +import com.sap.sailing.server.operationaltransformation.RemoveColumnFromSeries; import com.sap.sailing.server.operationaltransformation.RemoveLeaderboard; import com.sap.sailing.server.operationaltransformation.RemoveLeaderboardColumn; import com.sap.sailing.server.operationaltransformation.RemoveLeaderboardGroup; +import com.sap.sailing.server.operationaltransformation.RemoveRegatta; +import com.sap.sailing.server.operationaltransformation.RenameColumnInSeries; import com.sap.sailing.server.operationaltransformation.RenameLeaderboard; import com.sap.sailing.server.operationaltransformation.RenameLeaderboardColumn; import com.sap.sailing.server.operationaltransformation.RenameLeaderboardGroup; @@ -1891,4 +1897,35 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS return eventDTO; } + @Override + public void removeRegatta(RegattaIdentifier regattaIdentifier) { + getService().apply(new RemoveRegatta(regattaIdentifier)); + } + + @Override + public void addColumnToSeries(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { + getService().apply(new AddColumnToSeries(regattaIdentifier, seriesName, columnName)); + } + + @Override + public void removeColumnFromSeries(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { + getService().apply(new RemoveColumnFromSeries(regattaIdentifier, seriesName, columnName)); + } + + @Override + public void renameColumnInSeries(RegattaIdentifier regattaIdentifier, String seriesName, String oldColumnName, + String newColumnName) { + getService().apply(new RenameColumnInSeries(regattaIdentifier, seriesName, oldColumnName, newColumnName)); + } + + @Override + public void moveColumnToSeriesUp(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { + getService().apply(new MoveColumnInSeriesUp(regattaIdentifier, seriesName, columnName)); + } + + @Override + public void moveColumnToSeriesDown(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { + getService().apply(new MoveColumnInSeriesDown(regattaIdentifier, seriesName, columnName)); + } + } \ No newline at end of file diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java index fe975a714cb..632540a6d50 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java @@ -167,10 +167,10 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch void stopTracking(Regatta regatta) throws MalformedURLException, IOException, InterruptedException; /** - * Removes race and any corresponding {@link #getTrackedRace(Regatta, RaceDefinition) tracked race} from - * this service. If it was the last {@link RaceDefinition} in its {@link Regatta}, the regatta is removed - * as well and will no longer be returned by {@link #getAllRegattas()}. The wind tracking is stopped for - * race. + * Removes race and any corresponding {@link #getTrackedRace(Regatta, RaceDefinition) tracked race} + * from this service. If it was the last {@link RaceDefinition} in its {@link Regatta} and the regatta + * {@link Regatta#isPersistent() is not stored persistently}, the regatta is removed as well and will no + * longer be returned by {@link #getAllRegattas()}. The wind tracking is stopped for race. *

* * Any {@link RaceTracker} for which race is the last race tracked that is still reachable diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 9dcd90c4f2e..bb93129b33d 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -893,6 +893,9 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen for (RaceDefinition race : regatta.getAllRaces()) { removeRace(regatta, race); } + if (regatta.isPersistent()) { + // TODO remove regatta from database; or should this probably happen inside RacingEventServiceImpl.removeRegatta? + } } @Override @@ -925,9 +928,9 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } } } - // remove the race from the regatta + // remove the race from the regatta if the regatta is not persistently stored regatta.removeRace(race); - if (Util.isEmpty(regatta.getAllRaces())) { + if (!regatta.isPersistent() && Util.isEmpty(regatta.getAllRaces())) { logger.info("Removing regatta "+regatta.getName()+" from service "+this); regattasByName.remove(regatta.getName()); regatta.removeRegattaListener(this); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java index 22dae01a231..59b417e8efd 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java @@ -19,6 +19,9 @@ public class AddColumnToSeries extends AbstractColumnInSeriesOperation Series series = getSeries(toState); if (series != null) { series.moveRaceColumnUp(getColumnName()); + if (series.getRegatta().isPersistent()) { + // TODO update regatta in DB + } } return null; } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RemoveColumnFromSeries.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RemoveColumnFromSeries.java index 1fe11df2221..a0dcd134a3c 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RemoveColumnFromSeries.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RemoveColumnFromSeries.java @@ -17,6 +17,9 @@ public class RemoveColumnFromSeries extends AbstractColumnInSeriesOperation { + private static final long serialVersionUID = -2232723085937305299L; + private static final Logger logger = Logger.getLogger(RemoveRegatta.class.getName()); + private final RegattaIdentifier regattaIdentifier; + + public RemoveRegatta(RegattaIdentifier regattaIdentifier) { + super(); + this.regattaIdentifier = regattaIdentifier; + } + + @Override + public Void internalApplyTo(RacingEventService toState) throws Exception { + Regatta regatta = toState.getRegatta(regattaIdentifier); + if (regatta != null) { + toState.removeRegatta(regatta); + } else { + logger.warning("Couldn't find regatta "+regattaIdentifier); + } + return null; + } + + @Override + public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) { + // TODO Auto-generated method stub + return null; + } + + @Override + public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RenameColumnInSeries.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RenameColumnInSeries.java new file mode 100755 index 00000000000..fbf46802888 --- /dev/null +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RenameColumnInSeries.java @@ -0,0 +1,57 @@ +package com.sap.sailing.server.operationaltransformation; + +import java.util.logging.Logger; + +import com.sap.sailing.domain.base.RaceColumnInSeries; +import com.sap.sailing.domain.base.Series; +import com.sap.sailing.domain.common.RegattaIdentifier; +import com.sap.sailing.server.RacingEventService; +import com.sap.sailing.server.RacingEventServiceOperation; + +public class RenameColumnInSeries extends AbstractColumnInSeriesOperation { + private static final long serialVersionUID = -6772077267645894432L; + private final static Logger logger = Logger.getLogger(RenameColumnInSeries.class.getName()); + private final String newColumnName; + + public RenameColumnInSeries(RegattaIdentifier regattaIdentifier, String seriesName, String columnName, String newColumnName) { + super(regattaIdentifier, seriesName, columnName); + this.newColumnName = newColumnName; + } + + @Override + public Void internalApplyTo(RacingEventService toState) throws Exception { + Series series = getSeries(toState); + if (series != null) { + RaceColumnInSeries raceColumn = series.getRaceColumnByName(getColumnName()); + if (raceColumn != null) { + RaceColumnInSeries existingRaceColumnWithNewName = series.getRaceColumnByName(newColumnName); + if (existingRaceColumnWithNewName != null) { + logger.info("Not renaming column "+getColumnName()+" in series "+series.getName()+" in regatta "+series.getRegatta().getName()+ + " to "+newColumnName+" because a column of that name already exists"); + } else { + raceColumn.setName(newColumnName); + if (series.getRegatta().isPersistent()) { + // TODO update regatta in DB + } + } + } else { + logger.warning("Didn't find race column " + getColumnName() + " in series " + series.getName() + + " in regatta " + series.getRegatta().getName()); + } + } + return null; + } + + @Override + public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) { + // TODO Auto-generated method stub + return null; + } + + @Override + public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RenameLeaderboardGroup.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RenameLeaderboardGroup.java index b34d1011680..3e8502ec811 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RenameLeaderboardGroup.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RenameLeaderboardGroup.java @@ -14,6 +14,7 @@ public class RenameLeaderboardGroup extends AbstractLeaderboardGroupOperation Date: Tue, 5 Jun 2012 15:15:10 +0200 Subject: [PATCH 193/339] added createRegatta --- .../com/sap/sailing/gwt/ui/client/SailingService.java | 4 ++++ .../sap/sailing/gwt/ui/client/SailingServiceAsync.java | 4 ++++ .../com/sap/sailing/gwt/ui/server/SailingServiceImpl.java | 8 ++++++++ 3 files changed, 16 insertions(+) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java index 91c0ad67265..33ecc924cf1 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java @@ -122,6 +122,10 @@ public interface SailingService extends RemoteService { void moveLeaderboardColumnDown(String leaderboardName, String columnName); + void createRegatta(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind, + Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal, + boolean persistent); + void removeRegatta(RegattaIdentifier regattaIdentifier); void addColumnToSeries(RegattaIdentifier regattaIdentifier, String seriesName, String columnName); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java index 6d8e20295de..f76245e9de3 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java @@ -377,4 +377,8 @@ public interface SailingServiceAsync { void moveColumnToSeriesDown(RegattaIdentifier regattaIdentifier, String seriesName, String columnName, AsyncCallback callback); + + void createRegatta(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind, + Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal, + boolean persistent, AsyncCallback callback); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index ecbb0d04423..5d2250567f8 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -154,6 +154,7 @@ import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.RacingEventServiceOperation; import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard; import com.sap.sailing.server.operationaltransformation.AddColumnToSeries; +import com.sap.sailing.server.operationaltransformation.AddSpecificRegatta; import com.sap.sailing.server.operationaltransformation.ConnectTrackedRaceToLeaderboardColumn; import com.sap.sailing.server.operationaltransformation.CreateEvent; import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard; @@ -1928,4 +1929,11 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS getService().apply(new MoveColumnInSeriesDown(regattaIdentifier, seriesName, columnName)); } + @Override + public void createRegatta(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind, Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal, boolean persistent) { + getService().apply( + new AddSpecificRegatta(regattaName, boatClassName, boatClassTypicallyStartsUpwind, + seriesNamesWithFleetNamesAndFleetOrderingAndMedal, persistent)); + } + } \ No newline at end of file From c4e125d9f25c6301ca75a3edf7f2d68c61892528 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 15:17:16 +0200 Subject: [PATCH 194/339] renamed moveColumnToSeries... to moveColumnInSeries... --- .../java/com/sap/sailing/gwt/ui/client/SailingService.java | 4 ++-- .../com/sap/sailing/gwt/ui/client/SailingServiceAsync.java | 4 ++-- .../com/sap/sailing/gwt/ui/server/SailingServiceImpl.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java index 33ecc924cf1..77ba2ea0cc1 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java @@ -134,9 +134,9 @@ public interface SailingService extends RemoteService { void renameColumnInSeries(RegattaIdentifier regattaIdentifier, String seriesName, String oldColumnName, String newColumnName); - void moveColumnToSeriesUp(RegattaIdentifier regattaIdentifier, String seriesName, String columnName); + void moveColumnInSeriesUp(RegattaIdentifier regattaIdentifier, String seriesName, String columnName); - void moveColumnToSeriesDown(RegattaIdentifier regattaIdentifier, String seriesName, String columnName); + void moveColumnInSeriesDown(RegattaIdentifier regattaIdentifier, String seriesName, String columnName); boolean connectTrackedRaceToLeaderboardColumn(String leaderboardName, String raceColumnName, String fleetName, RaceIdentifier raceIdentifier); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java index f76245e9de3..2d7b61bfdc2 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java @@ -372,10 +372,10 @@ public interface SailingServiceAsync { void renameColumnInSeries(RegattaIdentifier regattaIdentifier, String seriesName, String oldColumnName, String newColumnName, AsyncCallback callback); - void moveColumnToSeriesUp(RegattaIdentifier regattaIdentifier, String seriesName, String columnName, + void moveColumnInSeriesUp(RegattaIdentifier regattaIdentifier, String seriesName, String columnName, AsyncCallback callback); - void moveColumnToSeriesDown(RegattaIdentifier regattaIdentifier, String seriesName, String columnName, + void moveColumnInSeriesDown(RegattaIdentifier regattaIdentifier, String seriesName, String columnName, AsyncCallback callback); void createRegatta(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind, diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 5d2250567f8..0db2817503c 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -1920,12 +1920,12 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS } @Override - public void moveColumnToSeriesUp(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { + public void moveColumnInSeriesUp(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { getService().apply(new MoveColumnInSeriesUp(regattaIdentifier, seriesName, columnName)); } @Override - public void moveColumnToSeriesDown(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { + public void moveColumnInSeriesDown(RegattaIdentifier regattaIdentifier, String seriesName, String columnName) { getService().apply(new MoveColumnInSeriesDown(regattaIdentifier, seriesName, columnName)); } From e964d4b77b16b3efd3576821988512027ee2eca8 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 15:35:25 +0200 Subject: [PATCH 195/339] added persistence for "specific" regattas in RacingEventServiceImpl --- .../persistence/DomainObjectFactory.java | 2 ++ .../persistence/MongoObjectFactory.java | 2 ++ .../impl/DomainObjectFactoryImpl.java | 18 +++++++++++++-- .../impl/MongoObjectFactoryImpl.java | 7 ++++++ .../sailing/server/RacingEventService.java | 2 ++ .../server/impl/RacingEventServiceImpl.java | 22 ++++++++++++++++--- .../AddColumnToSeries.java | 2 +- .../MoveColumnInSeriesDown.java | 2 +- .../MoveColumnInSeriesUp.java | 2 +- .../RenameColumnInSeries.java | 2 +- 10 files changed, 52 insertions(+), 9 deletions(-) diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java index 73b94ace99d..b89eb96b250 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java @@ -50,4 +50,6 @@ public interface DomainObjectFactory { Iterable loadAllEvents(); Regatta loadRegatta(String name); + + Iterable loadAllRegattas(); } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java index aa0a4ff62ec..95cdfc0d780 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java @@ -65,4 +65,6 @@ public interface MongoObjectFactory { * {@link Event} to which the regatta belongs. */ void storeRegatta(Regatta regatta); + + void removeRegatta(Regatta regatta); } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index 006eb7fd102..a19aff31901 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -432,17 +432,31 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { String name = (String) courseAreaDBObject.get(FieldNames.COURSE_AREA_NAME.name()); return new CourseAreaImpl(name); } + + @Override + public Iterable loadAllRegattas() { + List result = new ArrayList(); + DBCollection regattaCollection = database.getCollection(CollectionNames.REGATTAS.name()); + for (DBObject dbRegatta : regattaCollection.find()) { + result.add(loadRegatta(dbRegatta)); + } + return result; + } @Override public Regatta loadRegatta(String name) { DBObject query = new BasicDBObject(FieldNames.REGATTA_NAME.name(), name); DBCollection regattaCollection = database.getCollection(CollectionNames.REGATTAS.name()); DBObject dbRegatta = regattaCollection.findOne(query); + Regatta result = loadRegatta(dbRegatta); + assert result.getName().equals(name); + return result; + } + + private Regatta loadRegatta(DBObject dbRegatta) { Regatta result = null; if (dbRegatta != null) { - String regattaName = (String) dbRegatta.get(FieldNames.REGATTA_NAME.name()); String baseName = (String) dbRegatta.get(FieldNames.REGATTA_BASE_NAME.name()); - assert regattaName.equals(name); String boatClassName = (String) dbRegatta.get(FieldNames.BOAT_CLASS_NAME.name()); BoatClass boatClass = null; if (boatClassName != null) { diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java index 72bffb1b6ea..8fd8e370155 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java @@ -306,6 +306,13 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { regattasCollection.update(query, dbRegatta, /* upsrt */ true, /* multi */ false); } + @Override + public void removeRegatta(Regatta regatta) { + DBCollection regattasCollection = database.getCollection(CollectionNames.REGATTAS.name()); + DBObject query = new BasicDBObject(FieldNames.REGATTA_NAME.name(), regatta.getName()); + regattasCollection.remove(query); + } + private BasicDBList storeSeries(Iterable series) { BasicDBList dbSeries = new BasicDBList(); for (Series s : series) { diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java index 632540a6d50..82a96f024ab 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java @@ -267,6 +267,8 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch * Updates the leaderboard data in the persistent store */ void updateStoredLeaderboard(Leaderboard leaderboard); + + void updateStoredRegatta(Regatta regatta); long getDelayToLiveInMillis(); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index bb93129b33d..5606bb5167a 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -196,6 +196,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen // This is more for debugging purposes than for anything else. addFlexibleLeaderboard(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME, new int[] { 5, 8 }); loadStoredLeaderboardsAndGroups(); + loadStoredRegattas(); loadStoredEvents(); } @@ -203,8 +204,14 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen this(MongoFactory.INSTANCE.getDomainObjectFactory(mongoDBService), MongoFactory.INSTANCE.getMongoObjectFactory(mongoDBService)); } + private void loadStoredRegattas() { + for (Regatta regatta : domainObjectFactory.loadAllRegattas()) { + regattasByName.put(regatta.getName(), regatta); + } + } + private void loadStoredEvents() { - for(Event event: domainObjectFactory.loadAllEvents()) { + for (Event event : domainObjectFactory.loadAllEvents()) { eventsByName.put(event.getName(), event); } } @@ -320,6 +327,13 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen syncGroupsAfterLeaderboardChange(leaderboard, true); } + @Override + public void updateStoredRegatta(Regatta regatta) { + if (regatta.isPersistent()) { + mongoObjectFactory.storeRegatta(regatta); + } + } + /** * Checks all groups, if they contain a leaderboard with the name of the updatedLeaderboard and * replaces the one in the group with the updated one.
@@ -356,7 +370,6 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen leaderboardsByName.remove(leaderboardName); } mongoObjectFactory.removeLeaderboard(leaderboardName); - syncGroupsAfterLeaderboardRemove(leaderboardName, true); } @@ -467,6 +480,9 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen boatClassTypicallyStartsUpwind), series, persistent); logger.info("Created regatta " + regatta.getName() + " (" + hashCode() + ")"); cacheAndReplicateSpecificRegattaWithoutRaceColumns(regatta); + if (persistent) { + updateStoredRegatta(regatta); + } return regatta; } @@ -894,7 +910,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen removeRace(regatta, race); } if (regatta.isPersistent()) { - // TODO remove regatta from database; or should this probably happen inside RacingEventServiceImpl.removeRegatta? + mongoObjectFactory.removeRegatta(regatta); } } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java index 59b417e8efd..e07654ab35b 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java @@ -20,7 +20,7 @@ public class AddColumnToSeries extends AbstractColumnInSeriesOperation if (series != null) { series.moveRaceColumnUp(getColumnName()); if (series.getRegatta().isPersistent()) { - // TODO update regatta in DB + toState.updateStoredRegatta(series.getRegatta()); } } return null; diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RenameColumnInSeries.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RenameColumnInSeries.java index fbf46802888..c65de39e58f 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RenameColumnInSeries.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/RenameColumnInSeries.java @@ -31,7 +31,7 @@ public class RenameColumnInSeries extends AbstractColumnInSeriesOperation } else { raceColumn.setName(newColumnName); if (series.getRegatta().isPersistent()) { - // TODO update regatta in DB + toState.updateStoredRegatta(series.getRegatta()); } } } else { From 2d7815978b3e0785fc7635b75c2561760166ae61 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 16:31:57 +0200 Subject: [PATCH 196/339] added TrackedRegattaRegistry as argument to SeriesImpl constructor and refactored all usages accordingly --- .../persistence/DomainObjectFactory.java | 5 ++-- .../impl/DomainObjectFactoryImpl.java | 21 +++++++------- .../test/SimpleDomainFactoryTest.java | 7 +++-- .../swisstimingadapter/DomainFactory.java | 3 +- .../impl/DomainFactoryImpl.java | 19 ++++++------ .../impl/SwissTimingRaceTrackerImpl.java | 2 +- .../sailing/domain/test/CourseUpdateTest.java | 4 +-- .../LeaderboardScoringAndRankingTest.java | 6 ++-- .../domain/test/OnlineTracTracBasedTest.java | 4 +-- .../sailing/domain/test/ReachingLegTest.java | 2 +- .../test/ReceiveMarkPassingDataTest.java | 5 ++-- .../domain/test/ReceiveTrackingDataTest.java | 6 ++-- .../sailing/domain/test/TrackBasedTest.java | 2 +- .../domain/tractracadapter/DomainFactory.java | 10 ++++--- .../impl/AbstractReceiverWithQueue.java | 8 +++-- .../impl/DomainFactoryImpl.java | 22 +++++++------- .../impl/MarkPassingReceiver.java | 5 ++-- .../impl/MarkPositionReceiver.java | 5 ++-- .../impl/RaceCourseReceiver.java | 5 ++-- .../impl/RaceStartedAndFinishedReceiver.java | 5 ++-- .../impl/RawPositionReceiver.java | 5 ++-- .../impl/TracTracRaceTrackerImpl.java | 4 +-- .../com/sap/sailing/domain/base/Series.java | 3 +- .../base/impl/RaceColumnInSeriesImpl.java | 29 ++++++++++++++++++- .../sailing/domain/base/impl/RegattaImpl.java | 11 ++++--- .../sailing/domain/base/impl/SeriesImpl.java | 10 ++++--- ...estStoringAndLoadingEventsAndRegattas.java | 12 ++++---- ...estStoringAndRetrievingWindTracksTest.java | 4 +-- .../test/RegattaReplicationTest.java | 6 ++-- .../server/test/RaceTrackerStartStopTest.java | 2 +- .../server/impl/RacingEventServiceImpl.java | 4 +-- .../AddColumnToSeries.java | 2 +- .../AddSpecificRegatta.java | 7 +++-- 33 files changed, 148 insertions(+), 97 deletions(-) diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java index b89eb96b250..de9563a21a2 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java @@ -10,6 +10,7 @@ import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.WindSource; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; +import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; import com.sap.sailing.domain.tracking.WindTrack; /** @@ -49,7 +50,7 @@ public interface DomainObjectFactory { Iterable loadAllEvents(); - Regatta loadRegatta(String name); + Regatta loadRegatta(String name, TrackedRegattaRegistry trackedRegattaRegistry); - Iterable loadAllRegattas(); + Iterable loadAllRegattas(TrackedRegattaRegistry trackedRegattaRegistry); } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index a19aff31901..3d2dc7d0b16 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -55,6 +55,7 @@ import com.sap.sailing.domain.leaderboard.impl.LowerScoreIsBetter; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; import com.sap.sailing.domain.persistence.DomainObjectFactory; +import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; import com.sap.sailing.domain.tracking.Wind; import com.sap.sailing.domain.tracking.WindTrack; import com.sap.sailing.domain.tracking.impl.WindImpl; @@ -434,26 +435,26 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { } @Override - public Iterable loadAllRegattas() { + public Iterable loadAllRegattas(TrackedRegattaRegistry trackedRegattaRegistry) { List result = new ArrayList(); DBCollection regattaCollection = database.getCollection(CollectionNames.REGATTAS.name()); for (DBObject dbRegatta : regattaCollection.find()) { - result.add(loadRegatta(dbRegatta)); + result.add(loadRegatta(dbRegatta, trackedRegattaRegistry)); } return result; } @Override - public Regatta loadRegatta(String name) { + public Regatta loadRegatta(String name, TrackedRegattaRegistry trackedRegattaRegistry) { DBObject query = new BasicDBObject(FieldNames.REGATTA_NAME.name(), name); DBCollection regattaCollection = database.getCollection(CollectionNames.REGATTAS.name()); DBObject dbRegatta = regattaCollection.findOne(query); - Regatta result = loadRegatta(dbRegatta); + Regatta result = loadRegatta(dbRegatta, trackedRegattaRegistry); assert result.getName().equals(name); return result; } - private Regatta loadRegatta(DBObject dbRegatta) { + private Regatta loadRegatta(DBObject dbRegatta, TrackedRegattaRegistry trackedRegattaRegistry) { Regatta result = null; if (dbRegatta != null) { String baseName = (String) dbRegatta.get(FieldNames.REGATTA_BASE_NAME.name()); @@ -464,30 +465,30 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass(boatClassName, typicallyStartsUpwind); } BasicDBList dbSeries = (BasicDBList) dbRegatta.get(FieldNames.REGATTA_SERIES.name()); - Iterable series = loadSeries(dbSeries); + Iterable series = loadSeries(dbSeries, trackedRegattaRegistry); result = new RegattaImpl(baseName, boatClass, series, /* persistent */ true); } return result; } - private Iterable loadSeries(BasicDBList dbSeries) { + private Iterable loadSeries(BasicDBList dbSeries, TrackedRegattaRegistry trackedRegattaRegistry) { List result = new ArrayList(); for (Object o : dbSeries) { DBObject oneDBSeries = (DBObject) o; - Series series = loadSeries(oneDBSeries); + Series series = loadSeries(oneDBSeries, trackedRegattaRegistry); result.add(series); } return result; } - private Series loadSeries(DBObject dbSeries) { + private Series loadSeries(DBObject dbSeries, TrackedRegattaRegistry trackedRegattaRegistry) { String name = (String) dbSeries.get(FieldNames.SERIES_NAME.name()); boolean isMedal = (Boolean) dbSeries.get(FieldNames.SERIES_IS_MEDAL.name()); final BasicDBList dbFleets = (BasicDBList) dbSeries.get(FieldNames.SERIES_FLEETS.name()); Map fleetsByName = loadFleets(dbFleets); BasicDBList dbRaceColumns = (BasicDBList) dbSeries.get(FieldNames.SERIES_RACE_COLUMNS.name()); Iterable raceColumnNames = loadRaceColumnNames(dbRaceColumns, fleetsByName); - Series series = new SeriesImpl(name, isMedal, fleetsByName.values(), raceColumnNames); + Series series = new SeriesImpl(name, isMedal, fleetsByName.values(), raceColumnNames, trackedRegattaRegistry); loadRaceColumnRaceLinks(dbRaceColumns, series); return series; } diff --git a/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SimpleDomainFactoryTest.java b/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SimpleDomainFactoryTest.java index 62e9c934f6a..3c1d1c557d6 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SimpleDomainFactoryTest.java +++ b/java/com.sap.sailing.domain.swisstimingadapter.test/src/com/sap/sailing/domain/swisstimingadapter/test/SimpleDomainFactoryTest.java @@ -9,8 +9,8 @@ import java.util.List; import org.junit.Test; -import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.RaceDefinition; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.base.impl.RegattaImpl; import com.sap.sailing.domain.common.impl.Util; @@ -24,6 +24,7 @@ import com.sap.sailing.domain.swisstimingadapter.impl.CourseImpl; import com.sap.sailing.domain.swisstimingadapter.impl.MarkImpl; import com.sap.sailing.domain.swisstimingadapter.impl.RaceImpl; import com.sap.sailing.domain.swisstimingadapter.impl.StartListImpl; +import com.sap.sailing.server.impl.RacingEventServiceImpl; import difflib.PatchFailedException; @@ -31,7 +32,7 @@ public class SimpleDomainFactoryTest { @Test public void testCourseConfigForBuoy() throws PatchFailedException { DomainFactory domainFactory = DomainFactory.INSTANCE; - Regatta regatta = new RegattaImpl("TestEvent", /* boatClass */ null); + Regatta regatta = new RegattaImpl("TestEvent", /* boatClass */ null, new RacingEventServiceImpl()); Race race = new RaceImpl("1234", "Race 1234"); Iterable competitors = Collections.emptyList(); StartList startList = new StartListImpl("1234", competitors); @@ -55,7 +56,7 @@ public class SimpleDomainFactoryTest { @Test public void testCourseConfigForGate() throws PatchFailedException { DomainFactory domainFactory = DomainFactory.INSTANCE; - Regatta regatta = new RegattaImpl("TestEvent", /* boatClass */ null); + Regatta regatta = new RegattaImpl("TestEvent", /* boatClass */ null, new RacingEventServiceImpl()); Race race = new RaceImpl("1234", "Race 1234"); Iterable competitors = Collections.emptyList(); StartList startList = new StartListImpl("1234", competitors); diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java index 504298b0bbe..98a394d6aa4 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java @@ -13,6 +13,7 @@ import com.sap.sailing.domain.swisstimingadapter.impl.DomainFactoryImpl; import com.sap.sailing.domain.tracking.GPSFixMoving; import com.sap.sailing.domain.tracking.MarkPassing; import com.sap.sailing.domain.tracking.RaceTrackingConnectivityParameters; +import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; import com.sap.sailing.domain.tracking.WindStore; import difflib.PatchFailedException; @@ -20,7 +21,7 @@ import difflib.PatchFailedException; public interface DomainFactory { final static DomainFactory INSTANCE = new DomainFactoryImpl(com.sap.sailing.domain.base.DomainFactory.INSTANCE); - Regatta getOrCreateRegatta(String raceID); + Regatta getOrCreateRegatta(String raceID, TrackedRegattaRegistry trackedRegattaRegistry); Nationality getOrCreateNationality(String nationalityName); diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java index 56caab3c424..5ca05cc49ec 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java @@ -41,6 +41,7 @@ import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory; import com.sap.sailing.domain.tracking.GPSFixMoving; import com.sap.sailing.domain.tracking.MarkPassing; import com.sap.sailing.domain.tracking.RaceTrackingConnectivityParameters; +import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; import com.sap.sailing.domain.tracking.WindStore; import com.sap.sailing.domain.tracking.impl.GPSFixMovingImpl; @@ -56,7 +57,7 @@ import difflib.PatchFailedException; */ public class DomainFactoryImpl implements DomainFactory { private final static Logger logger = Logger.getLogger(DomainFactoryImpl.class.getName()); - private final Map raceIDToEventCache; + private final Map raceIDToRegattaCache; private final Map, ControlPoint> controlPointCache; private final Map olympicClassesByID; private final BoatClass unknownBoatClass; @@ -64,7 +65,7 @@ public class DomainFactoryImpl implements DomainFactory { public DomainFactoryImpl(com.sap.sailing.domain.base.DomainFactory baseDomainFactory) { this.baseDomainFactory = baseDomainFactory; - raceIDToEventCache = new HashMap(); + raceIDToRegattaCache = new HashMap(); controlPointCache = new HashMap, ControlPoint>(); olympicClassesByID = new HashMap(); /* @@ -91,12 +92,12 @@ public class DomainFactoryImpl implements DomainFactory { } @Override - public Regatta getOrCreateRegatta(String raceID) { - Regatta result = raceIDToEventCache.get(raceID); + public Regatta getOrCreateRegatta(String raceID, TrackedRegattaRegistry trackedRegattaRegistry) { + Regatta result = raceIDToRegattaCache.get(raceID); if (result == null) { - result = new RegattaImpl(raceID, null); + result = new RegattaImpl(raceID, null, trackedRegattaRegistry); logger.info("Created regatta "+result.getName()+" ("+result.hashCode()+")"); - raceIDToEventCache.put(raceID, result); + raceIDToRegattaCache.put(raceID, result); } return result; } @@ -232,9 +233,9 @@ public class DomainFactoryImpl implements DomainFactory { @Override public void removeRace(String raceID) { - Regatta regatta = getOrCreateRegatta(raceID); - Set toRemove = new HashSet(); + Regatta regatta = raceIDToRegattaCache.get(raceID); if (regatta != null) { + Set toRemove = new HashSet(); for (RaceDefinition race : regatta.getAllRaces()) { if (race.getName().equals(raceID)) { toRemove.add(race); @@ -244,7 +245,7 @@ public class DomainFactoryImpl implements DomainFactory { regatta.removeRace(raceToRemove); } if (Util.isEmpty(regatta.getAllRaces())) { - raceIDToEventCache.remove(raceID); + raceIDToRegattaCache.remove(raceID); } } } diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java index f39fb03d03e..281808ed330 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java @@ -73,7 +73,7 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl implemen DomainFactory domainFactory, SwissTimingFactory factory, RaceSpecificMessageLoader messageLoader, TrackedRegattaRegistry trackedRegattaRegistry, boolean canSendRequests, long delayToLiveInMillis) throws InterruptedException, UnknownHostException, IOException, ParseException { - this(domainFactory.getOrCreateRegatta(raceID), raceID, hostname, port, windStore, domainFactory, factory, + this(domainFactory.getOrCreateRegatta(raceID, trackedRegattaRegistry), raceID, hostname, port, windStore, domainFactory, factory, messageLoader, trackedRegattaRegistry, canSendRequests, delayToLiveInMillis); } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CourseUpdateTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CourseUpdateTest.java index cec8d7ca51b..8872eed35cb 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CourseUpdateTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/CourseUpdateTest.java @@ -67,7 +67,7 @@ public class CourseUpdateTest extends AbstractTracTracLiveTest { public void setUp() throws MalformedURLException, IOException, InterruptedException, URISyntaxException { super.setUp(); domainFactory = new DomainFactoryImpl(new com.sap.sailing.domain.base.impl.DomainFactoryImpl()); - domainRegatta = domainFactory.getOrCreateRegatta(getTracTracEvent()); + domainRegatta = domainFactory.getOrCreateRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null); trackedRegatta = new DynamicTrackedRegattaImpl(domainRegatta); ArrayList receivers = new ArrayList(); receivers.add(new RaceCourseReceiver(domainFactory, trackedRegatta, getTracTracEvent(), @@ -75,7 +75,7 @@ public class CourseUpdateTest extends AbstractTracTracLiveTest { @Override public void addRaceDefinition(RaceDefinition race) {} }, /* delayToLiveInMillis */ 0l, - /* millisecondsOverWhichToAverageWind */ 30000) { + /* millisecondsOverWhichToAverageWind */ 30000, /* trackedRegattaRegistry */ null) { @Override protected void handleEvent(Triple event) { synchronized (routeData) { diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java index 0490b022be4..c37a8ca801b 100644 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java @@ -263,7 +263,7 @@ public class LeaderboardScoringAndRankingTest extends AbstractLeaderboardTest { qualifyingRaceColumnNames.add("Q"+i); } Series qualifyingSeries = new SeriesImpl("Qualifying", /* isMedal */false, qualifyingFleets, - qualifyingRaceColumnNames); + qualifyingRaceColumnNames, /* trackedRegattaRegistry */ null); series.add(qualifyingSeries); // -------- final series ------------ @@ -276,7 +276,7 @@ public class LeaderboardScoringAndRankingTest extends AbstractLeaderboardTest { for (int i=1; i<=numberOfFinalRaces; i++) { finalRaceColumnNames.add("F"+i); } - Series finalSeries = new SeriesImpl("Final", /* isMedal */ false, finalFleets, finalRaceColumnNames); + Series finalSeries = new SeriesImpl("Final", /* isMedal */ false, finalFleets, finalRaceColumnNames, /* trackedRegattaRegistry */ null); series.add(finalSeries); if (medalRaceAndSeries) { @@ -285,7 +285,7 @@ public class LeaderboardScoringAndRankingTest extends AbstractLeaderboardTest { medalFleets.add(new FleetImpl("Medal")); List medalRaceColumnNames = new ArrayList(); medalRaceColumnNames.add("M"); - Series medalSeries = new SeriesImpl("Medal", /* isMedal */true, medalFleets, medalRaceColumnNames); + Series medalSeries = new SeriesImpl("Medal", /* isMedal */true, medalFleets, medalRaceColumnNames, /* trackedRegattaRegistry */ null); series.add(medalSeries); } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java index 2c28dd424ea..98f165b521c 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/OnlineTracTracBasedTest.java @@ -94,7 +94,7 @@ public abstract class OnlineTracTracBasedTest extends AbstractTracTracLiveTest { @Override public void addRaceDefinition(RaceDefinition race) { } - }, receiverTypes)) { + }, /* trackedRegattaRegistry */ null, receiverTypes)) { receivers.add(r); } addListenersForStoredDataAndStartController(receivers); @@ -131,7 +131,7 @@ public abstract class OnlineTracTracBasedTest extends AbstractTracTracLiveTest { if (domainFactory == null) { domainFactory = new DomainFactoryImpl(new com.sap.sailing.domain.base.impl.DomainFactoryImpl()); } - domainEvent = domainFactory.getOrCreateRegatta(getTracTracEvent()); + domainEvent = domainFactory.getOrCreateRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null); trackedRegatta = new DynamicTrackedRegattaImpl(domainEvent); } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReachingLegTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReachingLegTest.java index 0c415f82563..5bc6d5e8bd3 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReachingLegTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReachingLegTest.java @@ -80,7 +80,7 @@ public class ReachingLegTest extends TrackBasedTest { protected DynamicTrackedRace createTestTrackedRace(String regattaName, String raceName, String boatClassName, Iterable competitors, TimePoint timePointForFixes) { BoatClassImpl boatClass = new BoatClassImpl(boatClassName, /* typicallyStartsUpwind */ true); - Regatta regatta = new RegattaImpl(regattaName, boatClass); + Regatta regatta = new RegattaImpl(regattaName, boatClass, /* trackedRegattaRegistry */ null); TrackedRegatta trackedRegatta = new TrackedRegattaImpl(regatta); List waypoints = new ArrayList(); // create a two-lap upwind/downwind course: diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java index 34427805680..a53ceb8675d 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java @@ -93,12 +93,13 @@ public class ReceiveMarkPassingDataTest extends AbstractTracTracLiveTest { List receivers = new ArrayList(); receivers.add(receiver); for (Receiver r : DomainFactory.INSTANCE.getUpdateReceivers( - new DynamicTrackedRegattaImpl(DomainFactory.INSTANCE.getOrCreateRegatta(getTracTracEvent())), + new DynamicTrackedRegattaImpl(DomainFactory.INSTANCE.getOrCreateRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null)), getTracTracEvent(), EmptyWindStore.INSTANCE, /* startOfTracking */ null, /* endOfTracking */ null, /* delayToLiveInMillis */ 0l, new DynamicRaceDefinitionSet() { @Override public void addRaceDefinition(RaceDefinition race) {} - }, ReceiverType.RACECOURSE, ReceiverType.MARKPOSITIONS, ReceiverType.RACESTARTFINISH, ReceiverType.RAWPOSITIONS)) { + }, /* trackedRegattaRegistry */ null, + ReceiverType.RACECOURSE, ReceiverType.MARKPOSITIONS, ReceiverType.RACESTARTFINISH, ReceiverType.RAWPOSITIONS)) { receivers.add(r); } addListenersForStoredDataAndStartController(receivers); diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java index 4a5cddf08b1..099f2a967bc 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java @@ -65,7 +65,7 @@ public class ReceiveTrackingDataTest extends AbstractTracTracLiveTest { } }; List listeners = new ArrayList(); - Regatta regatta = domainFactory.getOrCreateRegatta(getTracTracEvent()); + Regatta regatta = domainFactory.getOrCreateRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null); DynamicTrackedRegatta trackedRegatta = new DynamicTrackedRegattaImpl(regatta); trackedRegatta.addRaceListener(new RaceListener() { @Override @@ -82,7 +82,7 @@ public class ReceiveTrackingDataTest extends AbstractTracTracLiveTest { @Override public void addRaceDefinition(RaceDefinition race) { } - })) { + }, /* trackedRegattaRegistry */ null)) { for (TypeController raceListener : receiver.getTypeControllersAndStart()) { listeners.add(raceListener); } @@ -92,7 +92,7 @@ public class ReceiveTrackingDataTest extends AbstractTracTracLiveTest { @Override public void addRaceDefinition(RaceDefinition race) { } - })); + }, /* trackedRegattaRegistry */ null)); } @Test diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TrackBasedTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TrackBasedTest.java index e4b9e2718b0..d71b25eb1ef 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TrackBasedTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TrackBasedTest.java @@ -90,7 +90,7 @@ public abstract class TrackBasedTest { protected DynamicTrackedRace createTestTrackedRace(String regattaName, String raceName, String boatClassName, Iterable competitors, TimePoint timePointForFixes) { BoatClassImpl boatClass = new BoatClassImpl(boatClassName, /* typicallyStartsUpwind */ true); - Regatta regatta = new RegattaImpl(regattaName, boatClass); + Regatta regatta = new RegattaImpl(regattaName, boatClass, /* trackedRegattaRegistry */ null); TrackedRegatta trackedRegatta = new TrackedRegattaImpl(regatta); List waypoints = new ArrayList(); // create a two-lap upwind/downwind course: diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java index e3fda6b6439..6ce4dd680e4 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java @@ -86,8 +86,9 @@ public interface DomainFactory { * A new {@link com.sap.sailing.domain.base.Regatta} is created if no event by * an equal name with a boat class with an equal name as the event's * boat class exists yet. + * @param trackedRegattaRegistry TODO */ - com.sap.sailing.domain.base.Regatta getOrCreateRegatta(Event event); + com.sap.sailing.domain.base.Regatta getOrCreateRegatta(Event event, TrackedRegattaRegistry trackedRegattaRegistry); /** * Creates a race tracked for the specified URL/URIs and starts receiving all available existing and future push @@ -152,12 +153,13 @@ public interface DomainFactory { * if null, all stored data until the "end of time" will be loaded that the event has to * provide, particularly for the mark positions which are stored per event, not per race; otherwise, * particularly the mark position loading will be constrained to this end time. + * @param trackedRegattaRegistry TODO * @param tokenToRetrieveAssociatedRace * used to update the set of{@link RaceDefinition}s received by the * {@link RaceCourseReceiver} created by this call */ Iterable getUpdateReceivers(DynamicTrackedRegatta trackedRegatta, Event tractracEvent, TimePoint startOfTracking, - TimePoint endOfTracking, long delayToLiveInMillis, WindStore windStore, DynamicRaceDefinitionSet raceDefinitionSetToUpdate); + TimePoint endOfTracking, long delayToLiveInMillis, WindStore windStore, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, TrackedRegattaRegistry trackedRegattaRegistry); /** * Creates a {@link RaceDefinition} from a TracTrac {@link Race} and a domain {@link Course} definition. The @@ -192,7 +194,7 @@ public interface DomainFactory { MarkPassing createMarkPassing(TimePoint timePoint, Waypoint passed, com.sap.sailing.domain.base.Competitor competitor); Iterable getUpdateReceivers(DynamicTrackedRegatta trackedRegatta, Event tractracEvent, WindStore windStore, - TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, ReceiverType... types); + TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, TrackedRegattaRegistry trackedRegattaRegistry, ReceiverType... types); JSONService parseJSONURL(URL jsonURL) throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException; @@ -232,7 +234,7 @@ public interface DomainFactory { * Removes all knowledge about tractracRace which includes removing it from the race cache, from the * {@link com.sap.sailing.domain.base.Regatta} and, if a {@link TrackedRace} for the corresponding * {@link RaceDefinition} exists, from the {@link TrackedRegatta}. If removing the race from the event, the event is - * removed from the event cache such that {@link #getOrCreateRegatta(Event)} will have to create a new one. Similarly, + * removed from the event cache such that {@link #getOrCreateRegatta(Event, TrackedRegattaRegistry)} will have to create a new one. Similarly, * if the {@link TrackedRace} that was removed from the {@link TrackedRegatta} was the last one, the * {@link TrackedRegatta} is removed such that {@link #getOrCreateTrackedRegatta(com.sap.sailing.domain.base.Regatta)} * will have to create a new one. diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java index 5addf9e8dde..2e185d22bff 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java @@ -10,6 +10,7 @@ import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.TrackedRegatta; import com.sap.sailing.domain.tracking.TrackedRace; +import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; import com.sap.sailing.domain.tractracadapter.DomainFactory; import com.sap.sailing.domain.tractracadapter.Receiver; import com.tractrac.clientmodule.Event; @@ -30,6 +31,7 @@ public abstract class AbstractReceiverWithQueue implements Runnable, Re private final DomainFactory domainFactory; private final com.tractrac.clientmodule.Event tractracEvent; private final DynamicTrackedRegatta trackedRegatta; + private final TrackedRegattaRegistry trackedRegattaRegistry; private Thread thread; /** @@ -38,12 +40,14 @@ public abstract class AbstractReceiverWithQueue implements Runnable, Re */ private boolean receivedEventDuringTimeout; - public AbstractReceiverWithQueue(DomainFactory domainFactory, Event tractracEvent, DynamicTrackedRegatta trackedRegatta) { + public AbstractReceiverWithQueue(DomainFactory domainFactory, Event tractracEvent, + DynamicTrackedRegatta trackedRegatta, TrackedRegattaRegistry trackedRegattaRegistry) { super(); this.tractracEvent = tractracEvent; this.trackedRegatta = trackedRegatta; this.domainFactory = domainFactory; this.queue = new LinkedBlockingQueue>(); + this.trackedRegattaRegistry = trackedRegattaRegistry; } protected synchronized void setAndStartThread(Thread thread) { @@ -140,7 +144,7 @@ public abstract class AbstractReceiverWithQueue implements Runnable, Re protected DynamicTrackedRace getTrackedRace(Race race) { DynamicTrackedRace result = null; RaceDefinition raceDefinition = getDomainFactory().getAndWaitForRaceDefinition(race); - com.sap.sailing.domain.base.Regatta domainEvent = getDomainFactory().getOrCreateRegatta(getTracTracEvent()); + com.sap.sailing.domain.base.Regatta domainEvent = getDomainFactory().getOrCreateRegatta(getTracTracEvent(), trackedRegattaRegistry); if (domainEvent.getRaceByName(raceDefinition.getName()) != null) { result = trackedRegatta.getTrackedRace(raceDefinition); } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java index 35e3f85b4c2..bb3f90684a6 100644 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java @@ -236,7 +236,7 @@ public class DomainFactoryImpl implements DomainFactory { } @Override - public Regatta getOrCreateRegatta(com.tractrac.clientmodule.Event event) { + public Regatta getOrCreateRegatta(com.tractrac.clientmodule.Event event, TrackedRegattaRegistry trackedRegattaRegistry) { synchronized (regattaCache) { // FIXME Dialog with Lasse by Skype on 2011-06-17: // [6:20:04 PM] Axel Uhl: Lasse, can Event.getCompetitorClassList() ever produce more than one result? @@ -262,7 +262,7 @@ public class DomainFactoryImpl implements DomainFactory { : boatClass.getName()); result = regattaCache.get(key); if (result == null) { - result = new RegattaImpl(event.getName(), boatClass); + result = new RegattaImpl(event.getName(), boatClass, trackedRegattaRegistry); regattaCache.put(key, result); weakRegattaCache.put(event, result); logger.info("Created regatta "+result.getName()+" ("+result.hashCode()+") because none found for key "+key); @@ -275,7 +275,7 @@ public class DomainFactoryImpl implements DomainFactory { @Override public Iterable getUpdateReceivers(DynamicTrackedRegatta trackedRegatta, com.tractrac.clientmodule.Event tractracEvent, WindStore windStore, TimePoint startOfTracking, - TimePoint endOfTracking, long delayToLiveInMillis, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, ReceiverType... types) { + TimePoint endOfTracking, long delayToLiveInMillis, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, TrackedRegattaRegistry trackedRegattaRegistry, ReceiverType... types) { Collection result = new ArrayList(); for (ReceiverType type : types) { switch (type) { @@ -283,23 +283,23 @@ public class DomainFactoryImpl implements DomainFactory { result.add(new RaceCourseReceiver( this, trackedRegatta, tractracEvent, windStore, raceDefinitionSetToUpdate, delayToLiveInMillis, - WindTrack.DEFAULT_MILLISECONDS_OVER_WHICH_TO_AVERAGE_WIND)); + WindTrack.DEFAULT_MILLISECONDS_OVER_WHICH_TO_AVERAGE_WIND, trackedRegattaRegistry)); break; case MARKPOSITIONS: result.add(new MarkPositionReceiver( - trackedRegatta, tractracEvent, startOfTracking, endOfTracking, this)); + trackedRegatta, tractracEvent, startOfTracking, endOfTracking, this, trackedRegattaRegistry)); break; case RAWPOSITIONS: result.add(new RawPositionReceiver( - trackedRegatta, tractracEvent, this)); + trackedRegatta, tractracEvent, this, trackedRegattaRegistry)); break; case MARKPASSINGS: result.add(new MarkPassingReceiver( - trackedRegatta, tractracEvent, this)); + trackedRegatta, tractracEvent, this, trackedRegattaRegistry)); break; case RACESTARTFINISH: result.add(new RaceStartedAndFinishedReceiver( - trackedRegatta, tractracEvent, this)); + trackedRegatta, tractracEvent, this, trackedRegattaRegistry)); break; } } @@ -308,10 +308,10 @@ public class DomainFactoryImpl implements DomainFactory { @Override public Iterable getUpdateReceivers(DynamicTrackedRegatta trackedRegatta, - com.tractrac.clientmodule.Event tractracEvent, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, WindStore windStore, DynamicRaceDefinitionSet raceDefinitionSetToUpdate) { + com.tractrac.clientmodule.Event tractracEvent, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, WindStore windStore, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, TrackedRegattaRegistry trackedRegattaRegistry) { return getUpdateReceivers(trackedRegatta, tractracEvent, windStore, startOfTracking, endOfTracking, delayToLiveInMillis, - raceDefinitionSetToUpdate, ReceiverType.RACECOURSE, ReceiverType.MARKPASSINGS, - ReceiverType.MARKPOSITIONS, ReceiverType.RACESTARTFINISH, ReceiverType.RAWPOSITIONS); + raceDefinitionSetToUpdate, trackedRegattaRegistry, ReceiverType.RACECOURSE, + ReceiverType.MARKPASSINGS, ReceiverType.MARKPOSITIONS, ReceiverType.RACESTARTFINISH, ReceiverType.RAWPOSITIONS); } @Override diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/MarkPassingReceiver.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/MarkPassingReceiver.java index 15b243192f2..84cbf1d202a 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/MarkPassingReceiver.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/MarkPassingReceiver.java @@ -19,6 +19,7 @@ import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.MarkPassing; import com.sap.sailing.domain.tracking.TrackedRace; +import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; import com.sap.sailing.domain.tractracadapter.DomainFactory; import com.tractrac.clientmodule.ControlPoint; import com.tractrac.clientmodule.Race; @@ -30,8 +31,8 @@ public class MarkPassingReceiver extends AbstractReceiverWithQueue { private static final Logger logger = Logger.getLogger(RaceStartedAndFinishedReceiver.class.getName()); - public RaceStartedAndFinishedReceiver(DynamicTrackedRegatta trackedRegatta, com.tractrac.clientmodule.Event tractracEvent, DomainFactory domainFactory) { - super(domainFactory, tractracEvent, trackedRegatta); + public RaceStartedAndFinishedReceiver(DynamicTrackedRegatta trackedRegatta, com.tractrac.clientmodule.Event tractracEvent, DomainFactory domainFactory, TrackedRegattaRegistry trackedRegattaRegistry) { + super(domainFactory, tractracEvent, trackedRegatta, trackedRegattaRegistry); } /** diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RawPositionReceiver.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RawPositionReceiver.java index 24c55c28852..826d3fc7066 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RawPositionReceiver.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RawPositionReceiver.java @@ -10,6 +10,7 @@ import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.GPSFixMoving; +import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; import com.sap.sailing.domain.tractracadapter.DomainFactory; import com.tractrac.clientmodule.Race; import com.tractrac.clientmodule.RaceCompetitor; @@ -21,8 +22,8 @@ public class RawPositionReceiver extends AbstractReceiverWithQueue(); Set typeControllers = new HashSet(); for (Receiver receiver : domainFactory.getUpdateReceivers(getTrackedRegatta(), tractracEvent, startOfTracking, - endOfTracking, delayToLiveInMillis, windStore, this)) { + endOfTracking, delayToLiveInMillis, windStore, this, trackedRegattaRegistry)) { receivers.add(receiver); for (TypeController typeController : receiver.getTypeControllersAndStart()) { typeControllers.add(typeController); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java index 373f1920c6b..4693920f654 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java @@ -1,6 +1,7 @@ package com.sap.sailing.domain.base; import com.sap.sailing.domain.common.Named; +import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; /** * A series is a part of a {@link Regatta}. Rounds are ordered within the regatta, and rules for who is assigned to @@ -40,7 +41,7 @@ public interface Series extends Named { Fleet getFleetByName(String fleetName); - RaceColumnInSeries addRaceColumn(String raceColumnName); + RaceColumnInSeries addRaceColumn(String raceColumnName, TrackedRegattaRegistry trackedRegattaRegistry); void moveRaceColumnUp(String raceColumnName); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java index 26a3f048e4c..cdd5dbbbe11 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java @@ -2,8 +2,12 @@ package com.sap.sailing.domain.base.impl; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumnInSeries; +import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; +import com.sap.sailing.domain.tracking.TrackedRace; +import com.sap.sailing.domain.tracking.TrackedRegatta; +import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; /** * Obtains flees and medal information from the {@link Series} to which it is connected at construction time. @@ -14,10 +18,12 @@ import com.sap.sailing.domain.base.Series; public class RaceColumnInSeriesImpl extends AbstractRaceColumn implements RaceColumnInSeries { private static final long serialVersionUID = -2199678838624406645L; private final Series series; + private final TrackedRegattaRegistry trackedRegattaRegistry; - public RaceColumnInSeriesImpl(String name, Series series) { + public RaceColumnInSeriesImpl(String name, Series series, TrackedRegattaRegistry trackedRegattaRegistry) { super(name); this.series = series; + this.trackedRegattaRegistry = trackedRegattaRegistry; } @Override @@ -40,4 +46,25 @@ public class RaceColumnInSeriesImpl extends AbstractRaceColumn implements RaceCo return series; } + /** + * In addition to associating the tracked race to this column for the fleet specified, this method also assures that + * trackedRace belongs to the {@link TrackedRegatta} of this column's series' + * {@link Series#getRegatta() regatta} and that the corresponding {@link TrackedRace#getRace() RaceDefinition} is owned + * by this column's series' {@link Series#getRegatta() regatta}. + */ + @Override + public void setTrackedRace(Fleet fleet, TrackedRace trackedRace) { + RaceDefinition race = trackedRace.getRace(); + TrackedRegatta trackedRegatta = trackedRace.getTrackedRegatta(); + Regatta regatta = trackedRegatta.getRegatta(); + if (regatta != getRegatta()) { + // re-associate: + regatta.removeRace(race); + getRegatta().addRace(race); + trackedRegatta.removeTrackedRace(trackedRace); + trackedRegattaRegistry.getOrCreateTrackedRegatta(getRegatta()).addTrackedRace(trackedRace); + } + super.setTrackedRace(fleet, trackedRace); + } + } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java index b7bbce379bf..823dfb7b6e6 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java @@ -17,6 +17,7 @@ import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.RegattaIdentifier; import com.sap.sailing.domain.common.RegattaName; import com.sap.sailing.domain.common.impl.NamedImpl; +import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; public class RegattaImpl extends NamedImpl implements Regatta { private static final Logger logger = Logger.getLogger(RegattaImpl.class.getName()); @@ -39,12 +40,14 @@ public class RegattaImpl extends NamedImpl implements Regatta { /** * Constructs a regatta with a single default series with empty race column list, and a single default fleet which * is not {@link #isPersistent() marked for persistence}. + * @param trackedRegattaRegistry TODO */ - public RegattaImpl(String baseName, BoatClass boatClass) { - this(baseName, boatClass, Collections.singletonList(new SeriesImpl("Default", /* isMedal */ false, - Collections.singletonList(new FleetImpl("Default")), /* race column names */ new ArrayList())), /* persistent */ false); + public RegattaImpl(String baseName, BoatClass boatClass, TrackedRegattaRegistry trackedRegattaRegistry) { + this(baseName, boatClass, Collections.singletonList(new SeriesImpl("Default", /* isMedal */false, Collections + .singletonList(new FleetImpl("Default")), /* race column names */new ArrayList(), + trackedRegattaRegistry)), /* persistent */false); } - + /** * @param series * all {@link Series} in this iterable will have their {@link Series#setRegatta(Regatta) regatta set} to diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java index 86f9c5c5c87..a3657c6accc 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java @@ -11,6 +11,7 @@ import com.sap.sailing.domain.base.RaceColumnInSeries; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.impl.NamedImpl; +import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; public class SeriesImpl extends NamedImpl implements Series { private static final long serialVersionUID = -1640404303144907381L; @@ -20,7 +21,8 @@ public class SeriesImpl extends NamedImpl implements Series { private boolean isMedal; private Regatta regatta; - public SeriesImpl(String name, boolean isMedal, Iterable fleets, Iterable raceColumnNames) { + public SeriesImpl(String name, boolean isMedal, Iterable fleets, Iterable raceColumnNames, + TrackedRegattaRegistry trackedRegattaRegistry) { super(name); this.fleetsByName = new HashMap(); for (Fleet fleet : fleets) { @@ -30,7 +32,7 @@ public class SeriesImpl extends NamedImpl implements Series { Collections.sort(fleetsInAscendingOrder); List myRaceColumns = new ArrayList(); for (String raceColumnName : raceColumnNames) { - RaceColumnInSeriesImpl raceColumn = new RaceColumnInSeriesImpl(raceColumnName, this); + RaceColumnInSeriesImpl raceColumn = new RaceColumnInSeriesImpl(raceColumnName, this, trackedRegattaRegistry); myRaceColumns.add(raceColumn); } this.raceColumns = myRaceColumns; @@ -62,8 +64,8 @@ public class SeriesImpl extends NamedImpl implements Series { } @Override - public RaceColumnInSeries addRaceColumn(String raceColumnName) { - final RaceColumnInSeriesImpl result = new RaceColumnInSeriesImpl(raceColumnName, this); + public RaceColumnInSeries addRaceColumn(String raceColumnName, TrackedRegattaRegistry trackedRegattaRegistry) { + final RaceColumnInSeriesImpl result = new RaceColumnInSeriesImpl(raceColumnName, this, trackedRegattaRegistry); raceColumns.add(result); return result; } diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 9cacbbdcb44..6d65f42c6d3 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -75,7 +75,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest mof.storeRegatta(regatta); DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(getMongoService()); - Regatta loadedRegatta = dof.loadRegatta(regatta.getName()); + Regatta loadedRegatta = dof.loadRegatta(regatta.getName(), /* trackedRegattaRegistry */ null); assertEquals(regattaBaseName, loadedRegatta.getBaseName()); Iterator seriesIter = loadedRegatta.getSeries().iterator(); Series loadedQualifyingSeries = seriesIter.next(); @@ -99,7 +99,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest mof.storeRegatta(regatta); DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(getMongoService()); - Regatta loadedRegatta = dof.loadRegatta(regatta.getName()); + Regatta loadedRegatta = dof.loadRegatta(regatta.getName(), /* trackedRegattaRegistry */ null); assertEquals(regattaBaseName, loadedRegatta.getBaseName()); Iterator seriesIter = loadedRegatta.getSeries().iterator(); Series loadedQualifyingSeries = seriesIter.next(); @@ -141,7 +141,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest mof.storeRegatta(regatta); DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(getMongoService()); - Regatta loadedRegatta = dof.loadRegatta(regatta.getName()); + Regatta loadedRegatta = dof.loadRegatta(regatta.getName(), /* trackedRegattaRegistry */ null); Series loadedQualifyingSeries = loadedRegatta.getSeries().iterator().next(); RaceColumn loadedQ2 = loadedQualifyingSeries.getRaceColumnByName("Q2"); RaceIdentifier loadedQ2TrackedRaceIdentifier = loadedQ2.getRaceIdentifier(loadedQualifyingSeries.getFleetByName("Yellow")); @@ -164,7 +164,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest qualifyingRaceColumnNames.add("Q"+i); } Series qualifyingSeries = new SeriesImpl("Qualifying", /* isMedal */false, qualifyingFleets, - qualifyingRaceColumnNames); + qualifyingRaceColumnNames, /* trackedRegattaRegistry */ null); series.add(qualifyingSeries); // -------- final series ------------ @@ -175,7 +175,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest for (int i=1; i<=numberOfFinalRaces; i++) { finalRaceColumnNames.add("F"+i); } - Series finalSeries = new SeriesImpl("Final", /* isMedal */ false, finalFleets, finalRaceColumnNames); + Series finalSeries = new SeriesImpl("Final", /* isMedal */ false, finalFleets, finalRaceColumnNames, /* trackedRegattaRegistry */ null); series.add(finalSeries); // ------------ medal -------------- @@ -183,7 +183,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest medalFleets.add(new FleetImpl("Medal")); List medalRaceColumnNames = new ArrayList(); medalRaceColumnNames.add("M"); - Series medalSeries = new SeriesImpl("Medal", /* isMedal */ true, medalFleets, medalRaceColumnNames); + Series medalSeries = new SeriesImpl("Medal", /* isMedal */ true, medalFleets, medalRaceColumnNames, /* trackedRegattaRegistry */ null); series.add(medalSeries); Regatta regatta = new RegattaImpl(regattaBaseName, boatClass, series, /* persistent */ false); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java index 08dd9c72a49..11cf5c06481 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java @@ -70,14 +70,14 @@ public class TestStoringAndRetrievingWindTracksTest extends AbstractTracTracLive @Test public void testStoreAFewWindEntries() throws UnknownHostException, MongoException, InterruptedException { DomainFactory domainFactory = DomainFactory.INSTANCE; - Regatta domainEvent = domainFactory.getOrCreateRegatta(getTracTracEvent()); + Regatta domainEvent = domainFactory.getOrCreateRegatta(getTracTracEvent(), /* trackedRegattaRegistry */ null); DynamicTrackedRegatta trackedRegatta = new RacingEventServiceImpl().getOrCreateTrackedRegatta(domainEvent); Iterable typeControllers = domainFactory.getUpdateReceivers(trackedRegatta, getTracTracEvent(), EmptyWindStore.INSTANCE, /* startOfTracking */ null, /* endOfTracking */ null, /* delayToLiveInMillis */ 0l, new DynamicRaceDefinitionSet() { @Override public void addRaceDefinition(RaceDefinition race) { } - }, ReceiverType.RACECOURSE); + }, /* trackedRegattaRegistry */ null, ReceiverType.RACECOURSE); addListenersForStoredDataAndStartController(typeControllers); RaceDefinition race = domainFactory.getAndWaitForRaceDefinition(getTracTracEvent().getRaceList().iterator().next()); DynamicTrackedRace trackedRace = trackedRegatta.createTrackedRace(race, EmptyWindStore.INSTANCE, diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java index 8b74fe029a5..56d837e4156 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java @@ -40,11 +40,11 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest { final String boatClassName = "49er"; final List emptyRaceColumnNamesList = Collections.emptyList(); Series qualification = new SeriesImpl("Qualification", /* isMedal */ false, - Arrays.asList(new Fleet[] { new FleetImpl("Yellow"), new FleetImpl("Blue") }), emptyRaceColumnNamesList); + Arrays.asList(new Fleet[] { new FleetImpl("Yellow"), new FleetImpl("Blue") }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null); Series finals = new SeriesImpl("Finals", /* isMedal */ false, - Arrays.asList(new Fleet[] { new FleetImpl("Gold", 1), new FleetImpl("Silver", 2) }), emptyRaceColumnNamesList); + Arrays.asList(new Fleet[] { new FleetImpl("Gold", 1), new FleetImpl("Silver", 2) }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null); Series medal = new SeriesImpl("Medal", /* isMedal */ true, - Arrays.asList(new Fleet[] { new FleetImpl("Medal") }), emptyRaceColumnNamesList); + Arrays.asList(new Fleet[] { new FleetImpl("Medal") }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null); Regatta masterRegatta = master.createRegatta(baseEventName, boatClassName, /* boatClassTypicallyStartsUpwind */ true, Arrays.asList(new Series[] { qualification, finals, medal }), /* persistent */ true); Thread.sleep(1000); diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerStartStopTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerStartStopTest.java index 3fae0a0cbf4..b94b686eab6 100644 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerStartStopTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerStartStopTest.java @@ -57,7 +57,7 @@ public class RaceTrackerStartStopTest { public void setUp() { racingEventService = new RacingEventServiceImplMock(); boatClass = new BoatClassImpl(BOATCLASSNAME, /* typicallyStartsUpwind */ true); - regatta = new RegattaImpl(EVENTNAME, boatClass); + regatta = new RegattaImpl(EVENTNAME, boatClass, /* trackedRegattaRegistry */ null); racingEventService.getEventsByName().put(EVENTNAME, regatta); TrackedRegatta trackedRegatta1 = racingEventService.getOrCreateTrackedRegatta(regatta); racingEventService.getEventsByNameMap().put(EVENTNAME, regatta); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 5606bb5167a..17d1a531850 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -205,7 +205,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } private void loadStoredRegattas() { - for (Regatta regatta : domainObjectFactory.loadAllRegattas()) { + for (Regatta regatta : domainObjectFactory.loadAllRegattas(this)) { regattasByName.put(regatta.getName(), regatta); } } @@ -462,7 +462,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public Regatta getOrCreateRegatta(String baseEventName, String boatClassName, boolean boatClassTypicallyStartsUpwind) { Regatta regatta = new RegattaImpl(baseEventName, com.sap.sailing.domain.base.DomainFactory.INSTANCE.getOrCreateBoatClass( - boatClassName, boatClassTypicallyStartsUpwind)); + boatClassName, boatClassTypicallyStartsUpwind), this); Regatta result = regattasByName.get(regatta.getName()); if (result == null) { result = regatta; diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java index e07654ab35b..cecbdd85a4f 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddColumnToSeries.java @@ -18,7 +18,7 @@ public class AddColumnToSeries extends AbstractColumnInSeriesOperation createSeries() { + private Iterable createSeries(TrackedRegattaRegistry trackedRegattaRegistry) { List result = new ArrayList(); for (Map.Entry>, Boolean>> e : seriesNamesWithFleetNamesAndFleetOrderingAndMedal.entrySet()) { final List emptyRaceColumnNamesList = Collections.emptyList(); - Series s = new SeriesImpl(e.getKey(), /* isMedal */ e.getValue().getB(), createFleets(e.getValue().getA()), emptyRaceColumnNamesList); + Series s = new SeriesImpl(e.getKey(), /* isMedal */ e.getValue().getB(), createFleets(e.getValue().getA()), emptyRaceColumnNamesList, trackedRegattaRegistry); result.add(s); } return result; From c68a7a12781a88451e92d3bf5c8120f2dd64ab87 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 16:39:42 +0200 Subject: [PATCH 197/339] only re-associate TrackedRace/RaceDefinition if TrackedRegattaRegistry has been provided to column --- .../base/impl/RaceColumnInSeriesImpl.java | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java index cdd5dbbbe11..4e18ebd79b0 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java @@ -20,6 +20,14 @@ public class RaceColumnInSeriesImpl extends AbstractRaceColumn implements RaceCo private final Series series; private final TrackedRegattaRegistry trackedRegattaRegistry; + /** + * @param trackedRegattaRegistry + * used to find the {@link TrackedRegatta} for this column's series' {@link Series#getRegatta() regatta} + * in order to re-associate a {@link TrackedRace} passed to {@link #setTrackedRace(Fleet, TrackedRace)} + * with this column's series' {@link TrackedRegatta}, and the tracked race's {@link RaceDefinition} with + * this column's series {@link Regatta}, respectively. If null, the re-association won't be + * carried out. + */ public RaceColumnInSeriesImpl(String name, Series series, TrackedRegattaRegistry trackedRegattaRegistry) { super(name); this.series = series; @@ -54,15 +62,17 @@ public class RaceColumnInSeriesImpl extends AbstractRaceColumn implements RaceCo */ @Override public void setTrackedRace(Fleet fleet, TrackedRace trackedRace) { - RaceDefinition race = trackedRace.getRace(); - TrackedRegatta trackedRegatta = trackedRace.getTrackedRegatta(); - Regatta regatta = trackedRegatta.getRegatta(); - if (regatta != getRegatta()) { - // re-associate: - regatta.removeRace(race); - getRegatta().addRace(race); - trackedRegatta.removeTrackedRace(trackedRace); - trackedRegattaRegistry.getOrCreateTrackedRegatta(getRegatta()).addTrackedRace(trackedRace); + if (trackedRegattaRegistry != null) { + RaceDefinition race = trackedRace.getRace(); + TrackedRegatta trackedRegatta = trackedRace.getTrackedRegatta(); + Regatta regatta = trackedRegatta.getRegatta(); + if (regatta != getRegatta()) { + // re-associate: + regatta.removeRace(race); + getRegatta().addRace(race); + trackedRegatta.removeTrackedRace(trackedRace); + trackedRegattaRegistry.getOrCreateTrackedRegatta(getRegatta()).addTrackedRace(trackedRace); + } } super.setTrackedRace(fleet, trackedRace); } From 199e320674e5b7559105465d74bb4e7a13fe499f Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 16:58:17 +0200 Subject: [PATCH 198/339] addressing bug 651; adding Series / Fleets / RaceColumn data to RegattaDTO --- .../com/sap/sailing/domain/base/Series.java | 2 +- .../gwt/ui/server/SailingServiceImpl.java | 26 +++++++++++++++++++ .../sap/sailing/gwt/ui/shared/SeriesDTO.java | 11 +++----- 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java index 4693920f654..2d29a1e5985 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java @@ -17,7 +17,7 @@ import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; */ public interface Series extends Named { /** - * Returns the fleets of this series, on ascending order, better fleets first. + * Returns the fleets of this series, in ascending order, better fleets first. */ Iterable getFleets(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 0db2817503c..b5c05d6f964 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -44,8 +44,10 @@ import com.sap.sailing.domain.base.Event; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.Leg; import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.base.RaceColumnInSeries; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.base.SpeedWithBearing; import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.base.impl.KnotSpeedImpl; @@ -139,6 +141,7 @@ import com.sap.sailing.gwt.ui.shared.RegattaDTO; import com.sap.sailing.gwt.ui.shared.ReplicaDTO; import com.sap.sailing.gwt.ui.shared.ReplicationMasterDTO; import com.sap.sailing.gwt.ui.shared.ReplicationStateDTO; +import com.sap.sailing.gwt.ui.shared.SeriesDTO; import com.sap.sailing.gwt.ui.shared.SpeedWithBearingDTO; import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO; import com.sap.sailing.gwt.ui.shared.StrippedRaceDTO; @@ -455,6 +458,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS List competitorList = getCompetitorDTOs(regatta.getCompetitors()); RegattaDTO regattaDTO = new RegattaDTO(regatta.getName(), competitorList); regattaDTO.races = getRaceDTOs(regatta); + regattaDTO.series = getSeriesDTOs(regatta); BoatClass boatClass = regatta.getBoatClass(); if(boatClass != null) { regattaDTO.boatClass = new BoatClassDTO(boatClass.getName(), boatClass.getHullLength().getMeters()); @@ -469,6 +473,28 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS return result; } + private List getSeriesDTOs(Regatta regatta) { + List result = new ArrayList(); + for (Series series : regatta.getSeries()) { + SeriesDTO seriesDTO = createSeriesDTO(series); + result.add(seriesDTO); + } + return result; + } + + private SeriesDTO createSeriesDTO(Series series) { + List fleetNames = new ArrayList(); + for (Fleet fleet : series.getFleets()) { + fleetNames.add(fleet.getName()); + } + List raceColumnNames = new ArrayList(); + for (RaceColumnInSeries raceColumn : series.getRaceColumns()) { + raceColumnNames.add(raceColumn.getName()); + } + SeriesDTO result = new SeriesDTO(series.getName(), fleetNames, raceColumnNames, series.isMedal()); + return result; + } + private List getRaceDTOs(Regatta regatta) { List result = new ArrayList(); for (RaceDefinition r : regatta.getAllRaces()) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java index 57e639a8fe2..19bc119fe5c 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java @@ -7,18 +7,19 @@ import com.google.gwt.user.client.rpc.IsSerializable; public class SeriesDTO extends NamedDTO implements IsSerializable { private List fleetNames; private List raceColumnNames; - private boolean isFleetsOrdered; private boolean isMedal; SeriesDTO() {} // for serializability - public SeriesDTO(String name, List fleetNames, List raceColumnNames, boolean isFleetsOrdered, boolean isMedal) { + public SeriesDTO(String name, List fleetNames, List raceColumnNames, boolean isMedal) { super(name); this.fleetNames = fleetNames; this.raceColumnNames = raceColumnNames; - this.isFleetsOrdered = isFleetsOrdered; } + /** + * Names of this series' fleets, if ordered then from best to worst (best first, worst last) + */ public Iterable getFleetNames() { return fleetNames; } @@ -27,10 +28,6 @@ public class SeriesDTO extends NamedDTO implements IsSerializable { return raceColumnNames; } - public boolean isFleetsOrdered() { - return isFleetsOrdered; - } - public boolean isMedal() { return isMedal; } From ffeb7a922ce7eabc69efa47bc15cf1b686f4670b Mon Sep 17 00:00:00 2001 From: fmittag Date: Tue, 5 Jun 2012 17:16:01 +0200 Subject: [PATCH 199/339] add new dialogs to create a regatta together with series and fleets --- .../com/sap/sailing/domain/common/Color.java | 10 ++ .../sailing/domain/common/impl/RGBColor.java | 38 +++++ .../com/sap/sailing/domain/base/Fleet.java | 8 + .../sailing/domain/base/impl/FleetImpl.java | 18 +- .../EventStructureManagementPanel.java | 45 +++-- .../ui/adminconsole/RegattaCreateDialog.java | 9 +- .../gwt/ui/adminconsole/RegattaDialog.java | 14 +- ...egattaWithSeriesAndGroupsCreateDialog.java | 157 ++++++++++++++++++ .../sailing/gwt/ui/client/StringMessages.java | 4 + .../gwt/ui/client/StringMessages.properties | 4 + .../ui/client/StringMessages_de.properties | 4 + .../sap/sailing/gwt/ui/shared/FleetDTO.java | 25 +++ .../sap/sailing/gwt/ui/shared/SeriesDTO.java | 15 +- 13 files changed, 312 insertions(+), 39 deletions(-) create mode 100644 java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/Color.java create mode 100644 java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RGBColor.java create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/FleetDTO.java diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/Color.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/Color.java new file mode 100644 index 00000000000..65a0a0774ab --- /dev/null +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/Color.java @@ -0,0 +1,10 @@ +package com.sap.sailing.domain.common; + +import java.io.Serializable; +import com.sap.sailing.domain.common.impl.Util; + +public interface Color extends Serializable { + Util.Triple getAsRGB(); + + String getAsHtml(); +} diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RGBColor.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RGBColor.java new file mode 100644 index 00000000000..d785d87105e --- /dev/null +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RGBColor.java @@ -0,0 +1,38 @@ +package com.sap.sailing.domain.common.impl; + +import com.sap.sailing.domain.common.Color; +import com.sap.sailing.domain.common.impl.Util.Triple; + +public class RGBColor implements Color { + private static final long serialVersionUID = -4091876840771631308L; + private int red; + private int green; + private int blue; + + public RGBColor(int red, int green, int blue) { + super(); + this.red = ensureValidRange(red); + this.green = ensureValidRange(green); + this.blue = ensureValidRange(blue); + } + + private int ensureValidRange(int value) { + int result = value; + if(value < 0) { + result = 0; + } else if(value > 255){ + result = 255; + } + return result; + } + + @Override + public Triple getAsRGB() { + return new Triple(red, green, blue); + } + + @Override + public String getAsHtml() { + return "#" + Integer.toHexString(red) + Integer.toHexString(green) + Integer.toHexString(blue); + } +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Fleet.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Fleet.java index 513382f4bd3..35a5bd3c4f4 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Fleet.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Fleet.java @@ -1,5 +1,6 @@ package com.sap.sailing.domain.base; +import com.sap.sailing.domain.common.Color; import com.sap.sailing.domain.common.Named; /** @@ -23,4 +24,11 @@ public interface Fleet extends Named, Comparable { * without this ordering criterion should be chosen (implicitly setting it to 0). */ int getOrdering(); + + /** + * The color associated with the fleet. + * Normally each fleet gets a color code to distinguish between the fleets like 'blue', 'yellow' etc. + * @return + */ + Color getColor(); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/FleetImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/FleetImpl.java index 93697c37a52..2261461f0de 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/FleetImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/FleetImpl.java @@ -1,6 +1,7 @@ package com.sap.sailing.domain.base.impl; import com.sap.sailing.domain.base.Fleet; +import com.sap.sailing.domain.common.Color; import com.sap.sailing.domain.common.impl.NamedImpl; /** @@ -14,6 +15,8 @@ public class FleetImpl extends NamedImpl implements Fleet { private static final long serialVersionUID = 7560417723293278246L; private final int ordering; + + private final Color color; public FleetImpl(String name) { this(name, 0); @@ -27,8 +30,15 @@ public class FleetImpl extends NamedImpl implements Fleet { public FleetImpl(String name, int ordering) { super(name); this.ordering = ordering; + this.color = null; } - + + public FleetImpl(String name, int ordering, Color color) { + super(name); + this.ordering = ordering; + this.color = color; + } + @Override public int compareTo(Fleet o) { return this.ordering - ((FleetImpl) o).ordering; @@ -38,5 +48,9 @@ public class FleetImpl extends NamedImpl implements Fleet { public int getOrdering() { return ordering; } - + + @Override + public Color getColor() { + return color; + } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java index 4a494d25d94..7aaaef743a2 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java @@ -2,8 +2,9 @@ package com.sap.sailing.gwt.ui.adminconsole; import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.List; -import java.util.Set; +import java.util.Map; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ChangeEvent; @@ -23,10 +24,12 @@ import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.view.client.ListDataProvider; import com.google.gwt.view.client.MultiSelectionModel; import com.google.gwt.view.client.SelectionChangeEvent; +import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.gwt.ui.client.ErrorReporter; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.EventDTO; +import com.sap.sailing.gwt.ui.shared.FleetDTO; import com.sap.sailing.gwt.ui.shared.RegattaDTO; import com.sap.sailing.gwt.ui.shared.SeriesDTO; @@ -145,7 +148,7 @@ public class EventStructureManagementPanel extends SimplePanel { regattaSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { - Set selectedRegatta = regattaSelectionModel.getSelectedSet(); +// Set selectedRegatta = regattaSelectionModel.getSelectedSet(); } }); regattaTable.setSelectionModel(regattaSelectionModel); @@ -194,7 +197,7 @@ public class EventStructureManagementPanel extends SimplePanel { } private void openCreateRegattaDialog() { - RegattaCreateDialog dialog = new RegattaCreateDialog(Collections.unmodifiableCollection(selectedEvent.regattas), stringMessages, + RegattaWithSeriesAndGroupsCreateDialog dialog = new RegattaWithSeriesAndGroupsCreateDialog(Collections.unmodifiableCollection(selectedEvent.regattas), stringMessages, new AsyncCallback() { @Override public void onFailure(Throwable t) { @@ -233,16 +236,32 @@ public class EventStructureManagementPanel extends SimplePanel { } private void createNewRegatta(final RegattaDTO newRegatta) { -// sailingService.createRegatta(newRegatta.name, newRegatta.boatClass.name, new AsyncCallback() { -// @Override -// public void onFailure(Throwable t) { -// errorReporter.reportError("Error trying to create new regatta" + newRegatta.name + ": " + t.getMessage()); -// } -// -// @Override -// public void onSuccess(RegattaDTO newRegatta) { -// } -// }); + + Map>, Boolean>> seriesStructure = new HashMap>, Boolean>>(); + + for(SeriesDTO seriesDTO: newRegatta.series) { + List> fleets = new ArrayList>(); + + for(FleetDTO fleetDTO: seriesDTO.getFleets()) { + Pair fleetPair = new Pair(fleetDTO.name, fleetDTO.getOrderNo()); + fleets.add(fleetPair); + } + Pair>, Boolean> seriesPair = new Pair>, Boolean>(fleets, seriesDTO.isMedal()); + + seriesStructure.put(seriesDTO.name, seriesPair); + } + + sailingService.createRegatta(newRegatta.name, newRegatta.boatClass.name, true, + seriesStructure, true, new AsyncCallback() { + @Override + public void onFailure(Throwable t) { + errorReporter.reportError("Error trying to create new regatta" + newRegatta.name + ": " + t.getMessage()); + } + + @Override + public void onSuccess(Void nothing) { + } + }); } private int getEventItemIndex(String eventName) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaCreateDialog.java index 0e30f554400..c4f29318fd7 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaCreateDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaCreateDialog.java @@ -15,13 +15,8 @@ public class RegattaCreateDialog extends RegattaDialog { nameEntryField = createTextBox(null); nameEntryField.setWidth("200px"); - boatClassEntryField = createListBox(false); - boatClassEntryField.addItem(stringConstants.pleaseSelectABoatClass()); - boatClassEntryField.setSelectedIndex(0); - for(BoatTypes boatType: BoatTypes.values()) { - boatClassEntryField.addItem(boatType.getName()); - } - + boatClassEntryField = createTextBox(null); + boatClassEntryField.setWidth("200px"); } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaDialog.java index a65d6f1de82..3b4b638ef46 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaDialog.java @@ -6,7 +6,6 @@ import java.util.Collection; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Grid; import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; @@ -21,7 +20,7 @@ public class RegattaDialog extends DataEntryDialog { protected RegattaDTO regatta; protected TextBox nameEntryField; - protected ListBox boatClassEntryField; + protected TextBox boatClassEntryField; protected static class RegattaParameterValidator implements Validator { @@ -37,7 +36,7 @@ public class RegattaDialog extends DataEntryDialog { public String getErrorMessage(RegattaDTO regattaToValidate) { String errorMessage = null; boolean nameNotEmpty = regattaToValidate.name != null && regattaToValidate.name.length() > 0; - boolean boatClassNotEmpty = regattaToValidate.boatClass != null; + boolean boatClassNotEmpty = regattaToValidate.boatClass != null && regattaToValidate.boatClass.name.length() > 0; boolean unique = true; for (RegattaDTO regatta : existingRegattas) { @@ -50,7 +49,7 @@ public class RegattaDialog extends DataEntryDialog { if (!nameNotEmpty) { errorMessage = stringConstants.pleaseEnterNonEmptyName(); } else if (!boatClassNotEmpty) { - errorMessage = stringConstants.pleaseSelectABoatClass(); + errorMessage = stringConstants.pleaseEnterNonEmptyName(); } else if (!unique) { errorMessage = stringConstants.regattaWithThisNameAlreadyExists(); } @@ -70,12 +69,9 @@ public class RegattaDialog extends DataEntryDialog { @Override protected RegattaDTO getResult() { - int selectedIndex = boatClassEntryField.getSelectedIndex(); regatta.name = nameEntryField.getText(); - if(selectedIndex > 0) { - String boatClass = boatClassEntryField.getItemText(selectedIndex); - regatta.boatClass = new BoatClassDTO(boatClass, 0.0); - } + regatta.boatClass = new BoatClassDTO(boatClassEntryField.getText(), 0.0); + return regatta; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java new file mode 100644 index 00000000000..76bfc2bafe4 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java @@ -0,0 +1,157 @@ +package com.sap.sailing.gwt.ui.adminconsole; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; + +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.gwt.user.client.ui.Grid; +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.TextBox; +import com.google.gwt.user.client.ui.VerticalPanel; +import com.google.gwt.user.client.ui.Widget; +import com.sap.sailing.gwt.ui.client.DataEntryDialog; +import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sailing.gwt.ui.shared.BoatClassDTO; +import com.sap.sailing.gwt.ui.shared.RegattaDTO; +import com.sap.sailing.gwt.ui.shared.SeriesDTO; + +public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog { + + private StringMessages stringConstants; + private RegattaDTO regatta; + + private TextBox nameEntryField; + private TextBox boatClassEntryField; + + private List seriesNameEntryFields; + + protected static class RegattaParameterValidator implements Validator { + + private StringMessages stringConstants; + private ArrayList existingRegattas; + + public RegattaParameterValidator(StringMessages stringConstants, Collection existingRegattas) { + this.stringConstants = stringConstants; + this.existingRegattas = new ArrayList(existingRegattas); + } + + @Override + public String getErrorMessage(RegattaDTO regattaToValidate) { + String errorMessage = null; + boolean nameNotEmpty = regattaToValidate.name != null && regattaToValidate.name.length() > 0; + boolean boatClassNotEmpty = regattaToValidate.boatClass != null && regattaToValidate.boatClass.name.length() > 0; + + boolean unique = true; + for (RegattaDTO regatta : existingRegattas) { + if (regatta.name.equals(regattaToValidate.name)) { + unique = false; + break; + } + } + + if (!nameNotEmpty) { + errorMessage = stringConstants.pleaseEnterNonEmptyName(); + } else if (!boatClassNotEmpty) { + errorMessage = stringConstants.pleaseEnterNonEmptyName(); + } else if (!unique) { + errorMessage = stringConstants.regattaWithThisNameAlreadyExists(); + } + + if(errorMessage != null) { + List seriesToValidate = regattaToValidate.series; + int index = 0; + boolean seriesNameNotEmpty = true; + + for (SeriesDTO series : seriesToValidate) { + seriesNameNotEmpty = series.name != null && series.name.length() > 0; + if(!seriesNameNotEmpty) { + break; + } + index++; + } + index = 0; + boolean seriesUnique = true; + + HashSet setToFindDuplicates = new HashSet(); + for (SeriesDTO series : seriesToValidate) { + if(!setToFindDuplicates.add(series.name)) { + seriesUnique = false; + break; + } + index++; + } + + String prefix = stringConstants.series() + " " + (index + 1) + ": "; + if (!seriesNameNotEmpty) { + errorMessage = prefix + stringConstants.pleaseEnterNonEmptyName(); + } else if (!seriesUnique) { + errorMessage = prefix + stringConstants.seriesWithThisNameAlreadyExists(); + } + + } + + return errorMessage; + } + + } + + public RegattaWithSeriesAndGroupsCreateDialog(Collection existingRegattas, StringMessages stringConstants, + AsyncCallback callback) { + super(stringConstants.regatta(), null, stringConstants.ok(), stringConstants.cancel(), + new RegattaParameterValidator(stringConstants, existingRegattas), callback); + this.stringConstants = stringConstants; + this.regatta = new RegattaDTO(); + + seriesNameEntryFields = new ArrayList(); + addNewSeriesWidget(null); + } + + private TextBox addNewSeriesWidget(String defaultName) { + TextBox textBox = createTextBox(defaultName); + textBox.setWidth("200px"); + seriesNameEntryFields.add(textBox); + return textBox; + } + + @Override + protected RegattaDTO getResult() { + regatta.name = nameEntryField.getText(); + regatta.boatClass = new BoatClassDTO(boatClassEntryField.getText(), 0.0); + + regatta.series = new ArrayList(); + for(TextBox textBox: seriesNameEntryFields) { + SeriesDTO seriesDTO = new SeriesDTO(); + seriesDTO.name = textBox.getName(); + regatta.series.add(seriesDTO); + } + + return regatta; + } + + @Override + protected Widget getAdditionalWidget() { + VerticalPanel panel = new VerticalPanel(); + Widget additionalWidget = super.getAdditionalWidget(); + if (additionalWidget != null) { + panel.add(additionalWidget); + } + + Grid formGrid = new Grid(2, 2); + panel.add(formGrid); + + formGrid.setWidget(0, 0, new Label(stringConstants.name() + ":")); + formGrid.setWidget(0, 1, nameEntryField); + formGrid.setWidget(1, 0, new Label(stringConstants.boatClass() + ":")); + formGrid.setWidget(1, 1, boatClassEntryField); + return panel; + } + + @Override + public void show() { + super.show(); + nameEntryField.setFocus(true); + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java index 1d08e2d8b8e..accc041326f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java @@ -309,4 +309,8 @@ public interface StringMessages extends Messages { String venue(); String pleaseSelectABoatClass(); String regattaWithThisNameAlreadyExists(); + String seriesWithThisNameAlreadyExists(); + String series(); + String splitFleet(); + String group(); } \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index 59ee36ecc3f..7bccb993c11 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -307,3 +307,7 @@ eventWithThisNameAlreadyExists=An event with this name already exists. venue=Venue pleaseSelectABoatClass=Please select a boat class. regattaWithThisNameAlreadyExists=A regatta with this name already exists. +seriesWithThisNameAlreadyExists=A series with this name already exists. +series=Series +splitFleet=Split fleet +group=Group diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index 9948d18938c..01534e59c78 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -308,3 +308,7 @@ eventWithThisNameAlreadyExists=Eine Veranstaltung mit diesem Namen existiert ber venue=Veranstaltungsort pleaseSelectABoatClass=Bitte wählen Sie eine Bootsklasse aus. regattaWithThisNameAlreadyExists=Eine Regatta mit diesem Namen existiert bereits. +seriesWithThisNameAlreadyExists=Eine Serie mit diesem Namen existiert bereits. +series=Serie +splitFleet=Aufteilung in Gruppen +group=Gruppe diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/FleetDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/FleetDTO.java new file mode 100644 index 00000000000..02bd9af1499 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/FleetDTO.java @@ -0,0 +1,25 @@ +package com.sap.sailing.gwt.ui.shared; + +import com.google.gwt.user.client.rpc.IsSerializable; +import com.sap.sailing.domain.common.Color; + +public class FleetDTO extends NamedDTO implements IsSerializable { + private Color color; + private int orderNo; + + public FleetDTO() {} + + public FleetDTO(String fleetName, int orderNo, Color color) { + super(fleetName); + this.orderNo = orderNo; + this.color = color; + } + + public Color getColor() { + return color; + } + + public int getOrderNo() { + return orderNo; + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java index 57e639a8fe2..68b62b34b13 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java @@ -5,24 +5,20 @@ import java.util.List; import com.google.gwt.user.client.rpc.IsSerializable; public class SeriesDTO extends NamedDTO implements IsSerializable { - private List fleetNames; + private List fleets; private List raceColumnNames; private boolean isFleetsOrdered; private boolean isMedal; - SeriesDTO() {} // for serializability + public SeriesDTO() {} - public SeriesDTO(String name, List fleetNames, List raceColumnNames, boolean isFleetsOrdered, boolean isMedal) { + public SeriesDTO(String name, List fleets, List raceColumnNames, boolean isFleetsOrdered, boolean isMedal) { super(name); - this.fleetNames = fleetNames; + this.fleets = fleets; this.raceColumnNames = raceColumnNames; this.isFleetsOrdered = isFleetsOrdered; } - public Iterable getFleetNames() { - return fleetNames; - } - public Iterable getRaceColumnNames() { return raceColumnNames; } @@ -35,4 +31,7 @@ public class SeriesDTO extends NamedDTO implements IsSerializable { return isMedal; } + public Iterable getFleets() { + return fleets; + } } From 68444cad22a01723e76036b7d612e1503275a018 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 18:00:58 +0200 Subject: [PATCH 200/339] introduced RegattaLeaderboard interface; prepared for RegattaLeaderboard persistence, see bug 636 --- .../persistence/MongoObjectFactory.java | 8 +- .../impl/MongoObjectFactoryImpl.java | 19 ++++- .../leaderboard/RegattaLeaderboard.java | 7 ++ .../impl/RegattaLeaderboardImpl.java | 6 +- ...StoringAndRetrievingLeaderboardGroups.java | 10 +-- .../TestStoringAndRetrievingLeaderboards.java | 10 +-- .../test/LeaderboardDiscardingRulesTest.java | 5 +- .../sailing/server/RacingEventService.java | 11 ++- .../server/impl/RacingEventServiceImpl.java | 82 +++++++++++++++---- .../AbstractLeaderboardColumnOperation.java | 20 +++++ .../AbstractLeaderboardOperation.java | 13 +++ ...ConnectTrackedRaceToLeaderboardColumn.java | 2 +- ...nnectLeaderboardColumnFromTrackedRace.java | 2 +- ...ateCompetitorDisplayNameInLeaderboard.java | 2 +- .../UpdateIsMedalRace.java | 2 +- .../UpdateLeaderboard.java | 2 +- .../UpdateLeaderboardCarryValue.java | 2 +- .../UpdateLeaderboardMaxPointsReason.java | 2 +- .../UpdateLeaderboardScoreCorrection.java | 2 +- 19 files changed, 162 insertions(+), 45 deletions(-) create mode 100755 java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/RegattaLeaderboard.java diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java index 95cdfc0d780..63a1aedf5e1 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java @@ -4,9 +4,11 @@ import com.mongodb.DBObject; import com.sap.sailing.domain.base.Event; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.WindSource; -import com.sap.sailing.domain.leaderboard.Leaderboard; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; +import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.TrackedRegatta; @@ -28,7 +30,7 @@ public interface MongoObjectFactory { * Stores the configuration data of leaderboard in the Mongo DB associated with this * factory. */ - void storeLeaderboard(Leaderboard leaderboard); + void storeFlexibleLeaderboard(FlexibleLeaderboard leaderboard); /** * Removes the leaderboard named name from the database. @@ -67,4 +69,6 @@ public interface MongoObjectFactory { void storeRegatta(Regatta regatta); void removeRegatta(Regatta regatta); + + void storeRegattaLeaderboard(RegattaLeaderboard result); } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java index 8fd8e370155..52b74286ace 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java @@ -26,8 +26,10 @@ import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.Speed; import com.sap.sailing.domain.common.WindSource; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; +import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.persistence.MongoObjectFactory; import com.sap.sailing.domain.tracking.Positioned; @@ -123,7 +125,7 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { } @Override - public void storeLeaderboard(Leaderboard leaderboard) { + public void storeFlexibleLeaderboard(FlexibleLeaderboard leaderboard) { DBCollection leaderboardCollection = database.getCollection(CollectionNames.LEADERBOARDS.name()); try { leaderboardCollection.ensureIndex(FieldNames.LEADERBOARD_NAME.name()); @@ -166,6 +168,12 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { leaderboardCollection.update(query, result, /* upsrt */ true, /* multi */ false); } + @Override + public void storeRegattaLeaderboard(RegattaLeaderboard result) { + // TODO Auto-generated method stub + + } + private BasicDBObject storeRaceColumn(RaceColumn raceColumn) { BasicDBObject dbRaceColumn = new BasicDBObject(); dbRaceColumn.put(FieldNames.LEADERBOARD_COLUMN_NAME.name(), raceColumn.getName()); @@ -249,6 +257,15 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { leaderboardGroupCollection.update(query, result, true, false); } + private void storeLeaderboard(Leaderboard leaderboard) { + if (leaderboard instanceof FlexibleLeaderboard) { + storeFlexibleLeaderboard((FlexibleLeaderboard) leaderboard); + } else if (leaderboard instanceof RegattaLeaderboard) { + storeRegattaLeaderboard((RegattaLeaderboard) leaderboard); + } + + } + @Override public void removeLeaderboardGroup(String groupName) { DBCollection leaderboardGroupCollection = database.getCollection(CollectionNames.LEADERBOARD_GROUPS.name()); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/RegattaLeaderboard.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/RegattaLeaderboard.java new file mode 100755 index 00000000000..74625e6c750 --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/RegattaLeaderboard.java @@ -0,0 +1,7 @@ +package com.sap.sailing.domain.leaderboard; + +import com.sap.sailing.domain.base.Regatta; + +public interface RegattaLeaderboard extends Leaderboard { + Regatta getRegatta(); +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RegattaLeaderboardImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RegattaLeaderboardImpl.java index 912d26fce6f..598205c6249 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RegattaLeaderboardImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RegattaLeaderboardImpl.java @@ -10,6 +10,7 @@ import com.sap.sailing.domain.base.RaceColumnInSeries; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.base.impl.RaceColumnInSeriesImpl; +import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; @@ -19,7 +20,7 @@ import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; * @author Axel Uhl (D043530) * */ -public class RegattaLeaderboardImpl extends AbstractLeaderboardImpl { +public class RegattaLeaderboardImpl extends AbstractLeaderboardImpl implements RegattaLeaderboard { private static final long serialVersionUID = 2370461218294770084L; private final Regatta regatta; @@ -29,7 +30,8 @@ public class RegattaLeaderboardImpl extends AbstractLeaderboardImpl { this.regatta = regatta; } - private Regatta getRegatta() { + @Override + public Regatta getRegatta() { return regatta; } diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java index 6feb1fa0bad..c84db7ea3e9 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java @@ -92,16 +92,16 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe final String[] ungroupedLeaderboardNames = {"Ungrouped Leaderboard 0", "Ungrouped Leaderboard 1", "Ungrouped Leaderboard 2"}; - final Leaderboard[] ungroupedLeaderboards = { + final FlexibleLeaderboard[] ungroupedLeaderboards = { new FlexibleLeaderboardImpl(ungroupedLeaderboardNames[0], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowerScoreIsBetter()), new FlexibleLeaderboardImpl(ungroupedLeaderboardNames[1], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowerScoreIsBetter()), new FlexibleLeaderboardImpl(ungroupedLeaderboardNames[2], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowerScoreIsBetter()) }; - mongoObjectFactory.storeLeaderboard(ungroupedLeaderboards[0]); - mongoObjectFactory.storeLeaderboard(ungroupedLeaderboards[1]); - mongoObjectFactory.storeLeaderboard(ungroupedLeaderboards[2]); + mongoObjectFactory.storeFlexibleLeaderboard(ungroupedLeaderboards[0]); + mongoObjectFactory.storeFlexibleLeaderboard(ungroupedLeaderboards[1]); + mongoObjectFactory.storeFlexibleLeaderboard(ungroupedLeaderboards[2]); Iterable loadedUngroupedLeaderboards = domainObjectFactory.getLeaderboardsNotInGroup(); @@ -155,7 +155,7 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe final String regattaName = "Event"; final String raceName = "Race"; leaderboard.getRaceColumnByName(columnName).setRaceIdentifier(fleet, new RegattaNameAndRaceName(regattaName, raceName)); - mongoObjectFactory.storeLeaderboard(leaderboard); + mongoObjectFactory.storeFlexibleLeaderboard(leaderboard); //Check if the leaderboard updated correctly final Leaderboard loadedLeaderboard = domainObjectFactory.loadLeaderboard(leaderboard.getName()); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java index d90a6701062..978391961b6 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java @@ -37,7 +37,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { final int[] discardIndexResultsStartingWithHowManyRaces = new int[] { 5, 8 }; FlexibleLeaderboardImpl leaderboard = new FlexibleLeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowerScoreIsBetter()); - new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); + new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); Leaderboard loadedLeaderboard = new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); assertEquals(leaderboardName, loadedLeaderboard.getName()); assertTrue(Arrays.equals(discardIndexResultsStartingWithHowManyRaces, loadedLeaderboard.getResultDiscardingRule() @@ -56,7 +56,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { TrackedRace raceWithOneCompetitor = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 1, /* started */ true); leaderboard.addRace(raceWithOneCompetitor, raceColumnName, /* medalRace */ false, leaderboard.getFleet(null)); leaderboard.setCarriedPoints(competitor, carriedPointsForWolfgangHunger); - new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); + new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); // attach tracked race to leaderboard to ensure that competitor object is assigned properly loadedLeaderboard.addRace(raceWithOneCompetitor, raceColumnName, /* medalRace, ignored */ false, leaderboard.getFleet(null)); @@ -83,7 +83,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false, leaderboard.getFleet(null)); leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, leaderboard.getFleet(null)); leaderboard.getScoreCorrection().correctScore(competitor, leaderboard.getRaceColumnByName(raceColumnName1), correctedPoints); - new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); + new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); // attach tracked race to leaderboard to ensure that competitor object is assigned properly RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, leaderboard.getFleet(null)); @@ -109,7 +109,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false, leaderboard.getFleet(null)); leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, leaderboard.getFleet(null)); leaderboard.getScoreCorrection().setMaxPointsReason(competitor, leaderboard.getRaceColumnByName(raceColumnName2), maxPointsReason); - new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); + new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); // attach tracked race to leaderboard to ensure that competitor object is assigned properly RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, leaderboard.getFleet(null)); @@ -137,7 +137,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, leaderboard.getFleet(null)); leaderboard.getScoreCorrection().correctScore(competitor, leaderboard.getRaceColumnByName(raceColumnName1), correctedPoints); leaderboard.getScoreCorrection().setMaxPointsReason(competitor, leaderboard.getRaceColumnByName(raceColumnName2), maxPointsReason); - new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); + new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); // attach tracked race to leaderboard to ensure that competitor object is assigned properly RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, leaderboard.getFleet(null)); diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/LeaderboardDiscardingRulesTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/LeaderboardDiscardingRulesTest.java index 3b194732f1a..2423f64b510 100644 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/LeaderboardDiscardingRulesTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/LeaderboardDiscardingRulesTest.java @@ -6,6 +6,7 @@ import static org.junit.Assert.assertNotNull; import org.junit.Before; import org.junit.Test; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.server.RacingEventService; @@ -26,11 +27,11 @@ public class LeaderboardDiscardingRulesTest { public void testDiscardingRoules() { racingEventService.removeLeaderboard(LEADERBOARDNAME); racingEventService.addFlexibleLeaderboard(LEADERBOARDNAME, new int[] { 1, 4 }); - Leaderboard leaderboard = racingEventService.getLeaderboardByName(LEADERBOARDNAME); + FlexibleLeaderboard leaderboard = (FlexibleLeaderboard) racingEventService.getLeaderboardByName(LEADERBOARDNAME); assertNotNull(leaderboard); int[] discardingRoulesNew = new int[] { 1, 5 }; leaderboard.setResultDiscardingRule(new ResultDiscardingRuleImpl(discardingRoulesNew)); - racingEventService.updateStoredLeaderboard(leaderboard); + racingEventService.updateStoredFlexibleLeaderboard(leaderboard); Leaderboard leaderboardNew = racingEventService.getLeaderboardByName(LEADERBOARDNAME); assertNotNull(leaderboardNew); int[] result = leaderboardNew.getResultDiscardingRule().getDiscardIndexResultsStartingWithHowManyRaces(); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java index 82a96f024ab..b684c23a527 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java @@ -30,8 +30,10 @@ import com.sap.sailing.domain.common.RegattaName; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.domain.common.impl.Util.Triple; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; +import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory; import com.sap.sailing.domain.tracking.RaceListener; import com.sap.sailing.domain.tracking.RaceTracker; @@ -240,7 +242,9 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch * * @return the leaderboard created */ - Leaderboard addFlexibleLeaderboard(String name, int[] discardThresholds); + FlexibleLeaderboard addFlexibleLeaderboard(String name, int[] discardThresholds); + + RegattaLeaderboard addRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds); void removeLeaderboard(String leaderboardName); @@ -266,8 +270,10 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch /** * Updates the leaderboard data in the persistent store */ - void updateStoredLeaderboard(Leaderboard leaderboard); + void updateStoredFlexibleLeaderboard(FlexibleLeaderboard leaderboard); + void updateStoredRegattaLeaderboard(RegattaLeaderboard leaderboard); + void updateStoredRegatta(Regatta regatta); long getDelayToLiveInMillis(); @@ -433,4 +439,5 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch * @return The new event */ Event addEvent(String eventName, String venue, List regattaNames); + } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 17d1a531850..29c306a8890 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -32,6 +32,7 @@ import com.sap.sailing.domain.base.ControlPoint; import com.sap.sailing.domain.base.Event; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.base.RaceColumnInSeries; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.RegattaListener; @@ -52,9 +53,11 @@ import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; +import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.LeaderboardGroupImpl; import com.sap.sailing.domain.leaderboard.impl.LowerScoreIsBetter; +import com.sap.sailing.domain.leaderboard.impl.RegattaLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; import com.sap.sailing.domain.persistence.DomainObjectFactory; @@ -231,8 +234,8 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } @Override - public Leaderboard addFlexibleLeaderboard(String name, int[] discardThresholds) { - Leaderboard result = new FlexibleLeaderboardImpl(name, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( + public FlexibleLeaderboard addFlexibleLeaderboard(String name, int[] discardThresholds) { + FlexibleLeaderboard result = new FlexibleLeaderboardImpl(name, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( discardThresholds), new LowerScoreIsBetter()); synchronized (leaderboardsByName) { if (leaderboardsByName.containsKey(name)) { @@ -240,17 +243,37 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } leaderboardsByName.put(name, result); } - mongoObjectFactory.storeLeaderboard(result); + mongoObjectFactory.storeFlexibleLeaderboard(result); return result; } + @Override + public RegattaLeaderboard addRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds) { + Regatta regatta = getRegatta(regattaIdentifier); + RegattaLeaderboard result = null; + if (regatta != null) { + result = new RegattaLeaderboardImpl(regatta, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( + discardThresholds), new LowerScoreIsBetter()); + synchronized (leaderboardsByName) { + if (leaderboardsByName.containsKey(result.getName())) { + throw new IllegalArgumentException("Leaderboard with name " + result.getName() + " already exists"); + } + leaderboardsByName.put(result.getName(), result); + } + mongoObjectFactory.storeRegattaLeaderboard(result); + } else { + logger.warning("Cannot find regatta "+regattaIdentifier+". Hence, cannot create regatta leaderboard for it."); + } + return result; + } + @Override public RaceColumn addColumnToLeaderboard(String columnName, String leaderboardName, boolean medalRace) { Leaderboard leaderboard = getLeaderboardByName(leaderboardName); if (leaderboard != null && leaderboard instanceof FlexibleLeaderboard) { // uses the default fleet as the single fleet for the new column RaceColumn result = ((FlexibleLeaderboard) leaderboard).addRaceColumn(columnName, medalRace, leaderboard.getFleet(null)); - updateStoredLeaderboard(leaderboard); + updateStoredFlexibleLeaderboard((FlexibleLeaderboard) leaderboard); return result; } else { throw new IllegalArgumentException("Leaderboard named " + leaderboardName + " not found"); @@ -262,7 +285,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen Leaderboard leaderboard = getLeaderboardByName(leaderboardName); if (leaderboard != null && leaderboard instanceof FlexibleLeaderboard) { ((FlexibleLeaderboard) leaderboard).moveRaceColumnUp(columnName); - updateStoredLeaderboard(leaderboard); + updateStoredFlexibleLeaderboard((FlexibleLeaderboard) leaderboard); } else { throw new IllegalArgumentException("Leaderboard named " + leaderboardName + " not found"); } @@ -273,7 +296,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen Leaderboard leaderboard = getLeaderboardByName(leaderboardName); if (leaderboard != null && leaderboard instanceof FlexibleLeaderboard) { ((FlexibleLeaderboard) leaderboard).moveRaceColumnDown(columnName); - updateStoredLeaderboard(leaderboard); + updateStoredFlexibleLeaderboard((FlexibleLeaderboard) leaderboard); } else { throw new IllegalArgumentException("Leaderboard named " + leaderboardName + " not found"); } @@ -284,7 +307,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen Leaderboard leaderboard = getLeaderboardByName(leaderboardName); if (leaderboard != null && leaderboard instanceof FlexibleLeaderboard) { ((FlexibleLeaderboard) leaderboard).removeRaceColumn(columnName); - updateStoredLeaderboard(leaderboard); + updateStoredFlexibleLeaderboard((FlexibleLeaderboard) leaderboard); } else { throw new IllegalArgumentException("Leaderboard named "+leaderboardName+" not found"); } @@ -295,7 +318,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen Leaderboard leaderboard = getLeaderboardByName(leaderboardName); if (leaderboard != null) { leaderboard.getRaceColumnByName(oldColumnName).setName(newColumnName); - updateStoredLeaderboard(leaderboard); + updateStoredFlexibleLeaderboard((FlexibleLeaderboard) leaderboard); } else { throw new IllegalArgumentException("Leaderboard named "+leaderboardName+" not found"); } @@ -322,11 +345,17 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } @Override - public void updateStoredLeaderboard(Leaderboard leaderboard) { - mongoObjectFactory.storeLeaderboard(leaderboard); + public void updateStoredFlexibleLeaderboard(FlexibleLeaderboard leaderboard) { + mongoObjectFactory.storeFlexibleLeaderboard(leaderboard); syncGroupsAfterLeaderboardChange(leaderboard, true); } + @Override + public void updateStoredRegattaLeaderboard(RegattaLeaderboard leaderboard) { + mongoObjectFactory.storeRegattaLeaderboard(leaderboard); + syncGroupsAfterLeaderboardChange(leaderboard, true); + } + @Override public void updateStoredRegatta(Regatta regatta) { if (regatta.isPersistent()) { @@ -929,18 +958,35 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen if (Util.isEmpty(trackedRegatta.getTrackedRaces())) { removeTrackedRegatta(regatta); } - for (Leaderboard leaderboard : getLeaderboards().values()) { - boolean changed = false; - for (RaceColumn raceColumn : leaderboard.getRaceColumns()) { - for (Fleet fleet : raceColumn.getFleets()) { + // remove tracked race from RaceColumns of regatta + boolean regattaChanged = false; + for (Series series : regatta.getSeries()) { + for (RaceColumnInSeries raceColumn : series.getRaceColumns()) { + for (Fleet fleet : series.getFleets()) { if (raceColumn.getTrackedRace(fleet) == trackedRace) { - raceColumn.releaseTrackedRace(fleet); // but leave the RaceIdentifier on the race column - changed = true; // untouched, e.g., for later re-load + raceColumn.setTrackedRace(fleet, null); + regattaChanged = true; } } } - if (changed) { - updateStoredLeaderboard(leaderboard); + } + if (regattaChanged) { + updateStoredRegatta(regatta); + } + for (Leaderboard leaderboard : getLeaderboards().values()) { + if (leaderboard instanceof FlexibleLeaderboard) { // RegattaLeaderboards have implicitly been updated by the code above + boolean changed = false; + for (RaceColumn raceColumn : leaderboard.getRaceColumns()) { + for (Fleet fleet : raceColumn.getFleets()) { + if (raceColumn.getTrackedRace(fleet) == trackedRace) { + raceColumn.releaseTrackedRace(fleet); // but leave the RaceIdentifier on the race column + changed = true; // untouched, e.g., for later re-load + } + } + } + if (changed) { + updateStoredFlexibleLeaderboard((FlexibleLeaderboard) leaderboard); + } } } } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractLeaderboardColumnOperation.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractLeaderboardColumnOperation.java index 4d6a110c59d..24eada6fc93 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractLeaderboardColumnOperation.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractLeaderboardColumnOperation.java @@ -1,5 +1,11 @@ package com.sap.sailing.server.operationaltransformation; +import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.base.RaceColumnInSeries; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; +import com.sap.sailing.domain.leaderboard.Leaderboard; +import com.sap.sailing.server.RacingEventService; + public abstract class AbstractLeaderboardColumnOperation extends AbstractLeaderboardOperation { @@ -19,4 +25,18 @@ public abstract class AbstractLeaderboardColumnOperation extends Abs return affectsSameLeaderboard(other) && getColumnName().equals(other.getColumnName()); } + /** + * If the column to update belongs to a {@link FlexibleLeaderboard}, it's that leaderboard which needs to be + * updated in the persistent store. Otherwise, the race column has to be a {@link RaceColumnInSeries} whose + * regatta needs to be updated. + */ + protected void updateDB(RacingEventService toState, Leaderboard leaderboard, RaceColumn raceColumn) { + if (leaderboard instanceof FlexibleLeaderboard) { + toState.updateStoredFlexibleLeaderboard((FlexibleLeaderboard) leaderboard); + } else { + assert raceColumn instanceof RaceColumnInSeries; + toState.updateStoredRegatta(((RaceColumnInSeries) raceColumn).getSeries().getRegatta()); + } + } + } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractLeaderboardOperation.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractLeaderboardOperation.java index e8f9de8c81b..d5b990923b1 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractLeaderboardOperation.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractLeaderboardOperation.java @@ -1,5 +1,11 @@ package com.sap.sailing.server.operationaltransformation; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; +import com.sap.sailing.domain.leaderboard.Leaderboard; +import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; +import com.sap.sailing.domain.leaderboard.impl.RegattaLeaderboardImpl; +import com.sap.sailing.server.RacingEventService; + public abstract class AbstractLeaderboardOperation extends AbstractRacingEventServiceOperation { @@ -19,4 +25,11 @@ public abstract class AbstractLeaderboardOperation extends AbstractR return getLeaderboardName().equals(other.getLeaderboardName()); } + protected void updateStoredLeaderboard(RacingEventService toState, Leaderboard leaderboard) { + if (leaderboard instanceof FlexibleLeaderboard) { + toState.updateStoredFlexibleLeaderboard((FlexibleLeaderboard) leaderboard); + } else if (leaderboard instanceof RegattaLeaderboardImpl) { + toState.updateStoredRegattaLeaderboard((RegattaLeaderboard) leaderboard); + } + } } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java index 05e6d3ae4a9..8033d2c5da6 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java @@ -45,7 +45,7 @@ public class ConnectTrackedRaceToLeaderboardColumn extends AbstractLeaderboardCo } } success = true; - toState.updateStoredLeaderboard(leaderboard); + updateDB(toState, leaderboard, raceColumn); } return success; } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/DisconnectLeaderboardColumnFromTrackedRace.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/DisconnectLeaderboardColumnFromTrackedRace.java index 31f27e8ce00..527b24f5a6b 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/DisconnectLeaderboardColumnFromTrackedRace.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/DisconnectLeaderboardColumnFromTrackedRace.java @@ -22,7 +22,7 @@ public class DisconnectLeaderboardColumnFromTrackedRace extends AbstractLeaderbo RaceColumn raceColumn = leaderboard.getRaceColumnByName(getColumnName()); if (raceColumn != null) { raceColumn.setTrackedRace(raceColumn.getFleetByName(fleetName), null); - toState.updateStoredLeaderboard(leaderboard); + updateDB(toState, leaderboard, raceColumn); } else { throw new IllegalArgumentException("Didn't find race "+getColumnName()+" in leaderboard "+getLeaderboardName()); } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateCompetitorDisplayNameInLeaderboard.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateCompetitorDisplayNameInLeaderboard.java index b6244057750..71197badbea 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateCompetitorDisplayNameInLeaderboard.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateCompetitorDisplayNameInLeaderboard.java @@ -35,7 +35,7 @@ public class UpdateCompetitorDisplayNameInLeaderboard extends AbstractLeaderboar Competitor competitor = leaderboard.getCompetitorByIdAsString(competitorIdAsString); if (competitor != null) { leaderboard.setDisplayName(competitor, newDisplayName); - toState.updateStoredLeaderboard(leaderboard); + updateStoredLeaderboard(toState, leaderboard); } return null; } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateIsMedalRace.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateIsMedalRace.java index 2b0a42af7c2..886c4d12d52 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateIsMedalRace.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateIsMedalRace.java @@ -31,7 +31,7 @@ public class UpdateIsMedalRace extends AbstractLeaderboardColumnOperation Leaderboard leaderboard = toState.getLeaderboardByName(getLeaderboardName()); if (leaderboard != null && leaderboard instanceof FlexibleLeaderboard) { ((FlexibleLeaderboard) leaderboard).updateIsMedalRace(getColumnName(), isMedalRace); - toState.updateStoredLeaderboard(leaderboard); + updateStoredLeaderboard(toState, leaderboard); } else { throw new IllegalArgumentException("Leaderboard named " + getLeaderboardName() + " not found"); } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboard.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboard.java index e488dbfb0fd..c1537ebac44 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboard.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboard.java @@ -39,7 +39,7 @@ public class UpdateLeaderboard extends AbstractLeaderboardOperation { if (!Arrays.equals(leaderboard.getResultDiscardingRule().getDiscardIndexResultsStartingWithHowManyRaces(), newDiscardingThresholds)) { leaderboard.setResultDiscardingRule(new ResultDiscardingRuleImpl(newDiscardingThresholds)); } - toState.updateStoredLeaderboard(leaderboard); + updateStoredLeaderboard(toState, leaderboard); return null; } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardCarryValue.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardCarryValue.java index 27aae9690c7..e5d2c5cb9bd 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardCarryValue.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardCarryValue.java @@ -39,7 +39,7 @@ public class UpdateLeaderboardCarryValue extends AbstractLeaderboardOperation(updatedEntry.getNetPoints(), updatedEntry.getTotalPoints()); } else { diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardScoreCorrection.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardScoreCorrection.java index 7059108ec25..3aac641a997 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardScoreCorrection.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardScoreCorrection.java @@ -63,7 +63,7 @@ public class UpdateLeaderboardScoreCorrection extends AbstractLeaderboardColumnO } else { throw new IllegalArgumentException("Didn't find leaderboard "+getLeaderboardName()); } - toState.updateStoredLeaderboard(leaderboard); + updateStoredLeaderboard(toState, leaderboard); return new Triple(newNetPoints, newTotalPoints, isScoreCorrected); } From b1e40abcb5b374139ff793b5ce4124b1e2d291fb Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 18:11:30 +0200 Subject: [PATCH 201/339] added CreateRegattaLeaderboard operation and implemented in SailingService --- .../ui/test/GwtTestCaseColumnToggling.java | 2 +- .../gwt/ui/test/TestColumnSwapping.java | 4 +-- .../adminconsole/LeaderboardConfigPanel.java | 2 +- .../sailing/gwt/ui/client/SailingService.java | 4 ++- .../gwt/ui/client/SailingServiceAsync.java | 5 ++- .../gwt/ui/server/SailingServiceImpl.java | 8 ++++- .../CreateFlexibleLeaderboard.java | 6 ++-- .../CreateRegattaLeaderboard.java | 36 +++++++++++++++++++ 8 files changed, 57 insertions(+), 10 deletions(-) create mode 100755 java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateRegattaLeaderboard.java diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java index a2cd02d424f..801b4b1a3ea 100644 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/GwtTestCaseColumnToggling.java @@ -101,7 +101,7 @@ public class GwtTestCaseColumnToggling extends GWTTestCase { } private void createLeaderboard(){ - service.createLeaderboard(LEADERBOARD_NAME, new int[] { 1, 2 }, + service.createFlexibleLeaderboard(LEADERBOARD_NAME, new int[] { 1, 2 }, new AsyncCallback() { @Override public void onSuccess(StrippedLeaderboardDTO result) { diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java index f2e161d88d0..9e670d325a3 100755 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/TestColumnSwapping.java @@ -38,7 +38,7 @@ public class TestColumnSwapping { public void prepareColumnSwapping() { service = new SailingServiceImplMock(); int[] disc = { 5, 8, 9, 0, 7, 5, 43 }; - service.createLeaderboard(LEADERBOARDNAME, disc); + service.createFlexibleLeaderboard(LEADERBOARDNAME, disc); service.addColumnToLeaderboard("Race1", LEADERBOARDNAME, true); service.addColumnToLeaderboard("Race2", LEADERBOARDNAME, true); service.addColumnToLeaderboard("Race3", LEADERBOARDNAME, true); @@ -70,7 +70,7 @@ public class TestColumnSwapping { sailingService = new SailingServiceImplMock(); assertNotNull("Sailingservice != NULL", sailingService); int td[] = { 5, 8 }; - sailingService.createLeaderboard(TEST_LEADERBOARD_NAME, td); + sailingService.createFlexibleLeaderboard(TEST_LEADERBOARD_NAME, td); for (int i = 0; i < races.length; i++) sailingService.addColumnToLeaderboard(races[i], TEST_LEADERBOARD_NAME, isMedalRace[i]); sailingService.moveLeaderboardColumnDown(TEST_LEADERBOARD_NAME, races[0]); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index 40b90862ae2..e937fc996cb 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -788,7 +788,7 @@ public class LeaderboardConfigPanel extends FormPanel implements RegattaDisplaye } private void createNewLeaderboard(final StrippedLeaderboardDTO newLeaderboard) { - sailingService.createLeaderboard(newLeaderboard.name, newLeaderboard.discardThresholds, + sailingService.createFlexibleLeaderboard(newLeaderboard.name, newLeaderboard.discardThresholds, new AsyncCallback() { @Override public void onFailure(Throwable t) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java index 77ba2ea0cc1..2207bd84b64 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java @@ -106,7 +106,9 @@ public interface SailingService extends RemoteService { void updateLeaderboard(String leaderboardName, String newLeaderboardName, int[] newDiscardingThreasholds); - StrippedLeaderboardDTO createLeaderboard(String leaderboardName, int[] discardThresholds); + StrippedLeaderboardDTO createFlexibleLeaderboard(String leaderboardName, int[] discardThresholds); + + StrippedLeaderboardDTO createRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds); void removeLeaderboard(String leaderboardName); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java index 2d7b61bfdc2..4d284d9b7d6 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java @@ -176,7 +176,10 @@ public interface SailingServiceAsync { void updateLeaderboard(String leaderboardName, String newLeaderboardName, int[] newDiscardingThreasholds, AsyncCallback callback); - void createLeaderboard(String leaderboardName, int[] discardThresholds, + void createFlexibleLeaderboard(String leaderboardName, int[] discardThresholds, + AsyncCallback asyncCallback); + + void createRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds, AsyncCallback asyncCallback); void removeLeaderboard(String leaderboardName, AsyncCallback asyncCallback); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index b5c05d6f964..bbb2cc16fc0 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -162,6 +162,7 @@ import com.sap.sailing.server.operationaltransformation.ConnectTrackedRaceToLead import com.sap.sailing.server.operationaltransformation.CreateEvent; import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard; import com.sap.sailing.server.operationaltransformation.CreateLeaderboardGroup; +import com.sap.sailing.server.operationaltransformation.CreateRegattaLeaderboard; import com.sap.sailing.server.operationaltransformation.DisconnectLeaderboardColumnFromTrackedRace; import com.sap.sailing.server.operationaltransformation.MoveColumnInSeriesDown; import com.sap.sailing.server.operationaltransformation.MoveColumnInSeriesUp; @@ -1210,10 +1211,15 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS } @Override - public StrippedLeaderboardDTO createLeaderboard(String leaderboardName, int[] discardThresholds) { + public StrippedLeaderboardDTO createFlexibleLeaderboard(String leaderboardName, int[] discardThresholds) { return createStrippedLeaderboardDTO(getService().apply(new CreateFlexibleLeaderboard(leaderboardName, discardThresholds)), false); } + @Override + public StrippedLeaderboardDTO createRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds) { + return createStrippedLeaderboardDTO(getService().apply(new CreateRegattaLeaderboard(regattaIdentifier, discardThresholds)), false); + } + @Override public List getLeaderboards() { Map leaderboards = getService().getLeaderboards(); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java index c20d7054e02..f250ce5408f 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java @@ -1,10 +1,10 @@ package com.sap.sailing.server.operationaltransformation; -import com.sap.sailing.domain.leaderboard.Leaderboard; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.RacingEventServiceOperation; -public class CreateFlexibleLeaderboard extends AbstractLeaderboardOperation { +public class CreateFlexibleLeaderboard extends AbstractLeaderboardOperation { private static final long serialVersionUID = 891352705068098580L; private final int[] discardThresholds; @@ -14,7 +14,7 @@ public class CreateFlexibleLeaderboard extends AbstractLeaderboardOperation { + private static final long serialVersionUID = 891352705068098580L; + private final int[] discardThresholds; + private final RegattaIdentifier regattaIdentifier; + + public CreateRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds) { + this.regattaIdentifier = regattaIdentifier; + this.discardThresholds = discardThresholds; + } + + @Override + public RegattaLeaderboard internalApplyTo(RacingEventService toState) { + RegattaLeaderboard result = toState.addRegattaLeaderboard(regattaIdentifier, discardThresholds); + return result; + } + + @Override + public RacingEventServiceOperation transformClientOp(RacingEventServiceOperation serverOp) { + // TODO + return null; + } + + @Override + public RacingEventServiceOperation transformServerOp(RacingEventServiceOperation clientOp) { + // TODO + return null; + } + +} From cc3f8c40fb51975fabcc004593a0983c48a2546d Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 18:16:00 +0200 Subject: [PATCH 202/339] removed compile error cause by change from Leaderboard to FlexibleLeaderboard --- .../sap/sailing/server/test/OperationalTransformationTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/OperationalTransformationTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/OperationalTransformationTest.java index 123f3285269..a14445751a6 100755 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/OperationalTransformationTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/OperationalTransformationTest.java @@ -11,6 +11,7 @@ import org.junit.Test; import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.common.DefaultLeaderboardName; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.mongodb.MongoDBService; import com.sap.sailing.operationaltransformation.Peer; @@ -49,7 +50,7 @@ public class OperationalTransformationTest { @Test public void testAddLeaderboard() { - RacingEventServiceOperation addLeaderboardOp = new CreateFlexibleLeaderboard(LEADERBOARDNAME, new int[] { 5 }); + RacingEventServiceOperation addLeaderboardOp = new CreateFlexibleLeaderboard(LEADERBOARDNAME, new int[] { 5 }); server.apply(addLeaderboardOp); server.waitForNotRunning(); replica.waitForNotRunning(); From eccc45c4bcca52e67b25273f4ffe1c77d48a4f79 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 18:17:31 +0200 Subject: [PATCH 203/339] adjusted SeriesDTO creation to use of FleetDTO --- .../com/sap/sailing/gwt/ui/server/SailingServiceImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index bbb2cc16fc0..4ade7966d1c 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -118,6 +118,7 @@ import com.sap.sailing.gwt.ui.shared.CompetitorDTO; import com.sap.sailing.gwt.ui.shared.CompetitorRaceDataDTO; import com.sap.sailing.gwt.ui.shared.CourseDTO; import com.sap.sailing.gwt.ui.shared.EventDTO; +import com.sap.sailing.gwt.ui.shared.FleetDTO; import com.sap.sailing.gwt.ui.shared.GPSFixDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardEntryDTO; @@ -484,15 +485,15 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS } private SeriesDTO createSeriesDTO(Series series) { - List fleetNames = new ArrayList(); + List fleets = new ArrayList(); for (Fleet fleet : series.getFleets()) { - fleetNames.add(fleet.getName()); + fleets.add(new FleetDTO(fleet.getName(), fleet.getOrdering(), fleet.getColor())); } List raceColumnNames = new ArrayList(); for (RaceColumnInSeries raceColumn : series.getRaceColumns()) { raceColumnNames.add(raceColumn.getName()); } - SeriesDTO result = new SeriesDTO(series.getName(), fleetNames, raceColumnNames, series.isMedal()); + SeriesDTO result = new SeriesDTO(series.getName(), fleets, raceColumnNames, series.isMedal()); return result; } From fdcec1aba6c75f2b9c666b4c20f0f61d8e7a650d Mon Sep 17 00:00:00 2001 From: fmittag Date: Tue, 5 Jun 2012 18:19:43 +0200 Subject: [PATCH 204/339] work commit... work on Regatta creation dialog --- ...egattaWithSeriesAndGroupsCreateDialog.java | 76 ++++++++++++++++--- .../gwt/ui/server/SailingServiceImpl.java | 1 + 2 files changed, 66 insertions(+), 11 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java index 76bfc2bafe4..073e4baef9c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java @@ -5,7 +5,10 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; +import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.Grid; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.TextBox; @@ -27,6 +30,8 @@ public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog seriesNameEntryFields; + private Grid seriesGrid; + protected static class RegattaParameterValidator implements Validator { private StringMessages stringConstants; @@ -59,7 +64,7 @@ public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog seriesToValidate = regattaToValidate.series; int index = 0; boolean seriesNameNotEmpty = true; @@ -71,7 +76,8 @@ public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog setToFindDuplicates = new HashSet(); @@ -80,14 +86,13 @@ public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog(); - addNewSeriesWidget(null); + createNewSeriesWidget(null); + + seriesGrid = new Grid(1, 2); + seriesGrid.setWidget(0, 0, new Label(stringConstants.series() + " 1:")); + seriesGrid.setWidget(0, 1, createAddGroupButton(0)); } - private TextBox addNewSeriesWidget(String defaultName) { + private TextBox createNewSeriesWidget(String defaultName) { TextBox textBox = createTextBox(defaultName); textBox.setWidth("200px"); seriesNameEntryFields.add(textBox); @@ -123,7 +137,7 @@ public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog(); for(TextBox textBox: seriesNameEntryFields) { SeriesDTO seriesDTO = new SeriesDTO(); - seriesDTO.name = textBox.getName(); + seriesDTO.name = textBox.getValue(); regatta.series.add(seriesDTO); } @@ -132,12 +146,11 @@ public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog regattasList = getRegattas(); EventDTO eventDTO = new EventDTO(event.getName(), regattasList); + eventDTO.venue = new VenueDTO(event.getVenue().getName()); result.add(eventDTO); } return result; From 0a799efa9180e045d76ddccb1b128df60dcfe4cb Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 18:20:10 +0200 Subject: [PATCH 205/339] added sailID to listevents REST/JSON output --- doc/README | 1 + .../src/com/sap/sailing/server/impl/ModeratorApp.java | 1 + 2 files changed, 2 insertions(+) diff --git a/doc/README b/doc/README index 629efba6446..ea429d3d15c 100755 --- a/doc/README +++ b/doc/README @@ -427,6 +427,7 @@ into one in the future. "boatclass": ..., // optional; name of boat class "competitors": [ // the event's competitors { "name", ..., // competitor's name + "sailID": ... // sail ID if known "nationality": ..., // 3-letter IOC country code "nationalityISO2": ..., // 2-letter ISO country code (may be empty) "nationalityISO3": ..., // 3-letter ISO country code (may be empty) diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/ModeratorApp.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/ModeratorApp.java index f945539d9bb..da0e8483e22 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/ModeratorApp.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/ModeratorApp.java @@ -361,6 +361,7 @@ public class ModeratorApp extends Servlet { for (Competitor competitor : regatta.getCompetitors()) { JSONObject jsonCompetitor = new JSONObject(); jsonCompetitor.put("name", competitor.getName()); + jsonCompetitor.put("sailID", competitor.getBoat()==null?"":competitor.getBoat().getSailID()); jsonCompetitor.put("nationality", competitor.getTeam().getNationality().getThreeLetterIOCAcronym()); CountryCode countryCode = competitor.getTeam().getNationality().getCountryCode(); jsonCompetitor.put("nationalityISO2", countryCode == null ? "" : countryCode.getTwoLetterISOCode()); From fbb076d422aa9feda43b531166bf5dc714dc5e5a Mon Sep 17 00:00:00 2001 From: fmittag Date: Tue, 5 Jun 2012 20:04:14 +0200 Subject: [PATCH 206/339] new dialog to create Series with groups --- ...egattaWithSeriesAndGroupsCreateDialog.java | 71 +++--- .../SeriesWithGroupsCreateDialog.java | 213 ++++++++++++++++++ .../sailing/gwt/ui/client/StringMessages.java | 2 + .../gwt/ui/client/StringMessages.properties | 2 + .../ui/client/StringMessages_de.properties | 2 + .../sap/sailing/gwt/ui/shared/FleetDTO.java | 8 + .../sap/sailing/gwt/ui/shared/SeriesDTO.java | 16 +- 7 files changed, 276 insertions(+), 38 deletions(-) create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithGroupsCreateDialog.java diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java index 073e4baef9c..e6a3b7ebf6d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java @@ -2,9 +2,11 @@ package com.sap.sailing.gwt.ui.adminconsole; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashSet; import java.util.List; +import com.google.gwt.dom.client.Style.FontWeight; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.rpc.AsyncCallback; @@ -28,7 +30,7 @@ public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog seriesNameEntryFields; + private List createdSeries; private Grid seriesGrid; @@ -114,19 +116,8 @@ public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog(); - createNewSeriesWidget(null); - - seriesGrid = new Grid(1, 2); - seriesGrid.setWidget(0, 0, new Label(stringConstants.series() + " 1:")); - seriesGrid.setWidget(0, 1, createAddGroupButton(0)); - } - - private TextBox createNewSeriesWidget(String defaultName) { - TextBox textBox = createTextBox(defaultName); - textBox.setWidth("200px"); - seriesNameEntryFields.add(textBox); - return textBox; + createdSeries = new ArrayList(); + seriesGrid = new Grid(0, 0); } @Override @@ -135,11 +126,7 @@ public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog(); - for(TextBox textBox: seriesNameEntryFields) { - SeriesDTO seriesDTO = new SeriesDTO(); - seriesDTO.name = textBox.getValue(); - regatta.series.add(seriesDTO); - } + regatta.series.addAll(createdSeries); return regatta; } @@ -167,8 +154,21 @@ public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog() { + @Override + public void onFailure(Throwable t) { + } + + @Override + public void onSuccess(SeriesDTO newSeries) { + createdSeries.add(newSeries); + updateSeriesGrid(panel); + } + }); + dialog.show(); } }); panel.add(addSeriesButton); @@ -180,27 +180,26 @@ public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog 0) { + seriesGrid.setHTML(i*2+1, 1, seriesDTO.getFleets().size() + " groups: " + seriesDTO.getFleets().toString()); + } else { + seriesGrid.setHTML(i*2+1, 1, seriesDTO.getFleets().size() + " No groups defined."); + } } parentPanel.insert(seriesGrid, widgetIndex); } - - private Button createAddGroupButton(final int seriesIndex) { - Button addGroupButton = new Button(stringConstants.add()); - addGroupButton.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - } - }); - return addGroupButton; - } @Override public void show() { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithGroupsCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithGroupsCreateDialog.java new file mode 100644 index 00000000000..a13f7ff6735 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithGroupsCreateDialog.java @@ -0,0 +1,213 @@ +package com.sap.sailing.gwt.ui.adminconsole; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; + +import com.google.gwt.dom.client.Style.FontWeight; +import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.event.dom.client.ClickHandler; +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.gwt.user.client.ui.Button; +import com.google.gwt.user.client.ui.Grid; +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.TextBox; +import com.google.gwt.user.client.ui.VerticalPanel; +import com.google.gwt.user.client.ui.Widget; +import com.sap.sailing.domain.common.Color; +import com.sap.sailing.domain.common.impl.RGBColor; +import com.sap.sailing.gwt.ui.client.DataEntryDialog; +import com.sap.sailing.gwt.ui.client.StringMessages; +import com.sap.sailing.gwt.ui.shared.FleetDTO; +import com.sap.sailing.gwt.ui.shared.SeriesDTO; + +public class SeriesWithGroupsCreateDialog extends DataEntryDialog { + + private StringMessages stringConstants; + private SeriesDTO series; + + private TextBox nameEntryField; + + private List groupNameEntryFields; + private List groupColorEntryFields; + + private Grid groupsGrid; + + protected static class SeriesParameterValidator implements Validator { + + private StringMessages stringConstants; + private ArrayList existingSeries; + + public SeriesParameterValidator(StringMessages stringConstants, Collection existingSeries) { + this.stringConstants = stringConstants; + this.existingSeries = new ArrayList(existingSeries); + } + + @Override + public String getErrorMessage(SeriesDTO seriesToValidate) { + String errorMessage = null; + boolean nameNotEmpty = seriesToValidate.name != null && seriesToValidate.name.length() > 0; + + boolean unique = true; + for (SeriesDTO series : existingSeries) { + if (series.name.equals(seriesToValidate.name)) { + unique = false; + break; + } + } + + if (!nameNotEmpty) { + errorMessage = stringConstants.pleaseEnterNonEmptyName(); + } else if (!unique) { + errorMessage = stringConstants.seriesWithThisNameAlreadyExists(); + } + + if(errorMessage == null) { + List groupsToValidate = seriesToValidate.getFleets(); + int index = 0; + boolean groupNameNotEmpty = true; + + for (FleetDTO group : groupsToValidate) { + groupNameNotEmpty = group.name != null && group.name.length() > 0; + if(!groupNameNotEmpty) { + break; + } + index++; + } + + int index2 = 0; + boolean groupUnique = true; + + HashSet setToFindDuplicates = new HashSet(); + for (FleetDTO group: groupsToValidate) { + if(!setToFindDuplicates.add(group.name)) { + groupUnique = false; + break; + } + index2++; + } + + if (!groupNameNotEmpty) { + errorMessage = stringConstants.group() + " " + (index + 1) + ": " + stringConstants.pleaseEnterNonEmptyName(); + } else if (!groupUnique) { + errorMessage = stringConstants.group() + " " + (index2 + 1) + ": " + stringConstants.groupWithThisNameAlreadyExists(); + } + + } + + return errorMessage; + } + + } + + public SeriesWithGroupsCreateDialog(Collection existingSeries, StringMessages stringConstants, + AsyncCallback callback) { + super(stringConstants.series(), null, stringConstants.ok(), stringConstants.cancel(), + new SeriesParameterValidator(stringConstants, existingSeries), callback); + this.stringConstants = stringConstants; + this.series = new SeriesDTO(); + + nameEntryField = createTextBox(null); + nameEntryField.setWidth("200px"); + + groupNameEntryFields = new ArrayList(); + groupColorEntryFields = new ArrayList(); + + groupsGrid = new Grid(0, 0); + } + + private TextBox createGroupNameWidget(String defaultName) { + TextBox textBox = createTextBox(defaultName); + textBox.setWidth("200px"); + groupNameEntryFields.add(textBox); + return textBox; + } + + private TextBox createGroupColorWidget(String defaultColor) { + TextBox textBox = createTextBox(defaultColor); + textBox.setWidth("50px"); + groupColorEntryFields.add(textBox); + return textBox; + } + + @Override + protected SeriesDTO getResult() { + series.name = nameEntryField.getText(); + + List fleets = new ArrayList(); + int groupsCount = groupNameEntryFields.size(); + for(int i = 0; i < groupsCount; i++) { + FleetDTO fleetDTO = new FleetDTO(); + fleetDTO.name = groupNameEntryFields.get(i).getValue(); + Color color = new RGBColor(0, 0, 0); + fleetDTO.setColor(color); + fleets.add(fleetDTO); + } + + series.setFleets(fleets); + + return series; + } + + @Override + protected Widget getAdditionalWidget() { + final VerticalPanel panel = new VerticalPanel(); + Widget additionalWidget = super.getAdditionalWidget(); + if (additionalWidget != null) { + panel.add(additionalWidget); + } + Grid formGrid = new Grid(2, 2); + panel.add(formGrid); + + formGrid.setWidget(0, 0, new Label(stringConstants.name() + ":")); + formGrid.setWidget(0, 1, nameEntryField); + + panel.add(createHeadlineLabel(stringConstants.groups())); + panel.add(groupsGrid); + + Button addGroupButton = new Button("Add group"); + addGroupButton.addClickHandler(new ClickHandler() { + + @Override + public void onClick(ClickEvent event) { + createGroupNameWidget(null); + createGroupColorWidget(null); + updateGroupsGrid(panel); + } + }); + panel.add(addGroupButton); + + return panel; + } + + private void updateGroupsGrid(VerticalPanel parentPanel) { + int widgetIndex = parentPanel.getWidgetIndex(groupsGrid); + parentPanel.remove(groupsGrid); + + int groupsCount = groupNameEntryFields.size(); + groupsGrid = new Grid(groupsCount + 1, 3); + groupsGrid.setCellSpacing(3); + + groupsGrid.setHTML(0, 1, stringConstants.name()); + groupsGrid.setHTML(0, 2, stringConstants.color()); + + for(int i = 0; i < groupsCount; i++) { + Label groupLabel = new Label((i+1) + ". " + stringConstants.group() + ":"); + groupLabel.getElement().getStyle().setFontWeight(FontWeight.BOLD); + groupLabel.setWordWrap(false); + groupsGrid.setWidget(i+1, 0, groupLabel); + groupsGrid.setWidget(i+1, 1, groupNameEntryFields.get(i)); + groupsGrid.setWidget(i+1, 2, groupColorEntryFields.get(i)); + } + + parentPanel.insert(groupsGrid, widgetIndex); + } + + @Override + public void show() { + super.show(); + nameEntryField.setFocus(true); + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java index accc041326f..6691d9aebe1 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java @@ -313,4 +313,6 @@ public interface StringMessages extends Messages { String series(); String splitFleet(); String group(); + String groups(); + String color(); } \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index 7bccb993c11..c8a7cf6411a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -311,3 +311,5 @@ seriesWithThisNameAlreadyExists=A series with this name already exists. series=Series splitFleet=Split fleet group=Group +groups=Groups +color=Color diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index 01534e59c78..140dd900ff8 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -312,3 +312,5 @@ seriesWithThisNameAlreadyExists=Eine Serie mit diesem Namen existiert bereits. series=Serie splitFleet=Aufteilung in Gruppen group=Gruppe +groups=Gruppen +color=Farbe \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/FleetDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/FleetDTO.java index 02bd9af1499..3721436bf63 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/FleetDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/FleetDTO.java @@ -22,4 +22,12 @@ public class FleetDTO extends NamedDTO implements IsSerializable { public int getOrderNo() { return orderNo; } + + public void setColor(Color color) { + this.color = color; + } + + public void setOrderNo(int orderNo) { + this.orderNo = orderNo; + } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java index 3889df181e0..73e42ebf06a 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java @@ -20,7 +20,7 @@ public class SeriesDTO extends NamedDTO implements IsSerializable { /** * Names of this series' fleets, if ordered then from best to worst (best first, worst last) */ - public Iterable getRaceColumnNames() { + public List getRaceColumnNames() { return raceColumnNames; } @@ -28,7 +28,19 @@ public class SeriesDTO extends NamedDTO implements IsSerializable { return isMedal; } - public Iterable getFleets() { + public List getFleets() { return fleets; } + + public void setFleets(List fleets) { + this.fleets = fleets; + } + + public void setRaceColumnNames(List raceColumnNames) { + this.raceColumnNames = raceColumnNames; + } + + public void setMedal(boolean isMedal) { + this.isMedal = isMedal; + } } From 4fc6b05e618b25c8462f0d7a91c7ab6955eee49f Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 5 Jun 2012 23:26:17 +0200 Subject: [PATCH 207/339] whitespace change --- .../src/com/sap/sailing/domain/common/Color.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/Color.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/Color.java index 65a0a0774ab..daa6015e23d 100644 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/Color.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/Color.java @@ -4,7 +4,7 @@ import java.io.Serializable; import com.sap.sailing.domain.common.impl.Util; public interface Color extends Serializable { - Util.Triple getAsRGB(); + Util.Triple getAsRGB(); String getAsHtml(); } From d501a35b7fc007793f8a5d0856ac3c40654d3d61 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 6 Jun 2012 00:17:32 +0200 Subject: [PATCH 208/339] added default constructor to RGBColor which is pre-requisite for its GWT serializability. Fixes bug 730. --- .../src/com/sap/sailing/domain/common/impl/RGBColor.java | 6 ++++-- .../ui/adminconsole/EventStructureManagementPanel.java | 9 ++------- .../gwt/ui/adminconsole/TrackedRacesListComposite.java | 7 ++++--- .../sap/sailing/gwt/ui/server/SailingServiceImpl.java | 2 +- .../SailingServer (No Proxy, Remote Debug SAP VM).launch | 4 ++-- 5 files changed, 13 insertions(+), 15 deletions(-) diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RGBColor.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RGBColor.java index d785d87105e..22030ddc1c2 100644 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RGBColor.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RGBColor.java @@ -9,6 +9,8 @@ public class RGBColor implements Color { private int green; private int blue; + RGBColor() {} // for GWT serializability + public RGBColor(int red, int green, int blue) { super(); this.red = ensureValidRange(red); @@ -18,9 +20,9 @@ public class RGBColor implements Color { private int ensureValidRange(int value) { int result = value; - if(value < 0) { + if (value < 0) { result = 0; - } else if(value > 255){ + } else if (value > 255) { result = 255; } return result; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java index 7aaaef743a2..8eb952aa7db 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java @@ -236,21 +236,16 @@ public class EventStructureManagementPanel extends SimplePanel { } private void createNewRegatta(final RegattaDTO newRegatta) { - Map>, Boolean>> seriesStructure = new HashMap>, Boolean>>(); - - for(SeriesDTO seriesDTO: newRegatta.series) { + for(SeriesDTO seriesDTO : newRegatta.series) { List> fleets = new ArrayList>(); - - for(FleetDTO fleetDTO: seriesDTO.getFleets()) { + for(FleetDTO fleetDTO : seriesDTO.getFleets()) { Pair fleetPair = new Pair(fleetDTO.name, fleetDTO.getOrderNo()); fleets.add(fleetPair); } Pair>, Boolean> seriesPair = new Pair>, Boolean>(fleets, seriesDTO.isMedal()); - seriesStructure.put(seriesDTO.name, seriesPair); } - sailingService.createRegatta(newRegatta.name, newRegatta.boatClass.name, true, seriesStructure, true, new AsyncCallback() { @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java index b14922c3b75..8b53b2eac94 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java @@ -46,7 +46,6 @@ import com.google.gwt.view.client.SingleSelectionModel; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.RegattaNameAndRaceName; -import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.gwt.ui.client.ErrorReporter; import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener; import com.sap.sailing.gwt.ui.client.RaceSelectionProvider; @@ -67,6 +66,8 @@ import com.sap.sailing.gwt.ui.shared.components.SettingsDialogComponent; * the {@link AdminConsoleEntryPoint}. */ public class TrackedRacesListComposite extends SimplePanel implements Component, RegattaDisplayer, RaceSelectionChangeListener { + private final long DEFAULT_LIVE_DELAY_IN_MILLISECONDS = 5000; + private final Set raceIsTrackedRaceChangeListener; private final boolean multiSelection; @@ -137,7 +138,7 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< selectionModel = multiSelection ? new MultiSelectionModel() : new SingleSelectionModel(); settings = new TrackedRacesSettings(); - settings.setDelayToLiveInSeconds(TrackedRace.DEFAULT_LIVE_DELAY_IN_MILLISECONDS / 1000l); + settings.setDelayToLiveInSeconds(DEFAULT_LIVE_DELAY_IN_MILLISECONDS / 1000l); panel = new VerticalPanel(); setWidget(panel); HorizontalPanel filterPanel = new HorizontalPanel(); @@ -395,7 +396,7 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< private void showSetDelayToLiveDialog() { TrackedRacesSettings settings = new TrackedRacesSettings(); - settings.setDelayToLiveInSeconds(TrackedRace.DEFAULT_LIVE_DELAY_IN_MILLISECONDS); + settings.setDelayToLiveInSeconds(DEFAULT_LIVE_DELAY_IN_MILLISECONDS); SettingsDialog settingsDialog = new SettingsDialog(this, stringMessages); settingsDialog.show(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 17cdd68bd5c..c3e5092fee8 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -462,7 +462,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS regattaDTO.races = getRaceDTOs(regatta); regattaDTO.series = getSeriesDTOs(regatta); BoatClass boatClass = regatta.getBoatClass(); - if(boatClass != null) { + if (boatClass != null) { regattaDTO.boatClass = new BoatClassDTO(boatClass.getName(), boatClass.getHullLength().getMeters()); } if (!regattaDTO.races.isEmpty()) { diff --git a/java/com.sap.sailing.server/SailingServer (No Proxy, Remote Debug SAP VM).launch b/java/com.sap.sailing.server/SailingServer (No Proxy, Remote Debug SAP VM).launch index 44db429a31a..38bd1188f91 100755 --- a/java/com.sap.sailing.server/SailingServer (No Proxy, Remote Debug SAP VM).launch +++ b/java/com.sap.sailing.server/SailingServer (No Proxy, Remote Debug SAP VM).launch @@ -12,8 +12,8 @@ - + @@ -25,5 +25,5 @@ - + From 102ab2e5f18ce5e61a8bbceba46dddd5afea53d0 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 6 Jun 2012 10:47:55 +0200 Subject: [PATCH 209/339] added launch config for replication tests without proxy --- .../ReplicationTests (No Proxy).launch | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100755 java/com.sap.sailing.server.replication.test/ReplicationTests (No Proxy).launch diff --git a/java/com.sap.sailing.server.replication.test/ReplicationTests (No Proxy).launch b/java/com.sap.sailing.server.replication.test/ReplicationTests (No Proxy).launch new file mode 100755 index 00000000000..0257a73e16e --- /dev/null +++ b/java/com.sap.sailing.server.replication.test/ReplicationTests (No Proxy).launch @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + From dd8d7b4e7b5a303dc68c9dc4b952dfb79cf3a3d1 Mon Sep 17 00:00:00 2001 From: fmittag Date: Wed, 6 Jun 2012 11:44:10 +0200 Subject: [PATCH 210/339] removed "boatClass is know to start upwind" parameter from createRegatta() added new field for orderNo in the SereisWithGroupsCreateDialog added color codes for common group colors --- .../EventStructureManagementPanel.java | 3 +- .../gwt/ui/adminconsole/GroupColors.java | 25 ++++++++++++ .../SeriesWithGroupsCreateDialog.java | 39 +++++++++++++------ .../sailing/gwt/ui/client/SailingService.java | 2 +- .../gwt/ui/client/SailingServiceAsync.java | 2 +- .../gwt/ui/server/SailingServiceImpl.java | 5 +-- .../test/RegattaReplicationTest.java | 4 +- .../test/ServerReplicationTest.java | 4 +- .../TrackedRaceContentsReplicationTest.java | 2 +- .../sailing/server/RacingEventService.java | 5 +-- .../server/impl/RacingEventServiceImpl.java | 15 +++---- .../AbstractAddRegattaOperation.java | 9 +---- .../AddDefaultRegatta.java | 6 +-- .../AddSpecificRegatta.java | 7 ++-- 14 files changed, 77 insertions(+), 51 deletions(-) create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/GroupColors.java diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java index 8eb952aa7db..a36dd617a01 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java @@ -246,8 +246,7 @@ public class EventStructureManagementPanel extends SimplePanel { Pair>, Boolean> seriesPair = new Pair>, Boolean>(fleets, seriesDTO.isMedal()); seriesStructure.put(seriesDTO.name, seriesPair); } - sailingService.createRegatta(newRegatta.name, newRegatta.boatClass.name, true, - seriesStructure, true, new AsyncCallback() { + sailingService.createRegatta(newRegatta.name, newRegatta.boatClass.name, seriesStructure, true, new AsyncCallback() { @Override public void onFailure(Throwable t) { errorReporter.reportError("Error trying to create new regatta" + newRegatta.name + ": " + t.getMessage()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/GroupColors.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/GroupColors.java new file mode 100644 index 00000000000..bd1c69190a9 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/GroupColors.java @@ -0,0 +1,25 @@ +package com.sap.sailing.gwt.ui.adminconsole; + +import com.sap.sailing.domain.common.Color; +import com.sap.sailing.domain.common.impl.RGBColor; + +public enum GroupColors { + GOLD (255, 215, 0), + SILVER (201, 192, 187), + BRONZE (205, 127, 50), + EMERALD (0, 201, 87), + BLUE (0, 0, 255), + YELLOW (255,255,0), + GREEN (0, 255, 0), + RED (255, 0, 0); + + private Color color; + + GroupColors(int red, int green, int blue) { + color = new RGBColor(red, green, blue); + } + + public Color getColor() { + return color; + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithGroupsCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithGroupsCreateDialog.java index a13f7ff6735..d1e966c9d4d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithGroupsCreateDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithGroupsCreateDialog.java @@ -11,7 +11,9 @@ import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.Grid; +import com.google.gwt.user.client.ui.IntegerBox; import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; @@ -30,7 +32,8 @@ public class SeriesWithGroupsCreateDialog extends DataEntryDialog { private TextBox nameEntryField; private List groupNameEntryFields; - private List groupColorEntryFields; + private List groupColorEntryFields; + private List groupOrderNoEntryFields; private Grid groupsGrid; @@ -112,23 +115,31 @@ public class SeriesWithGroupsCreateDialog extends DataEntryDialog { nameEntryField.setWidth("200px"); groupNameEntryFields = new ArrayList(); - groupColorEntryFields = new ArrayList(); - + groupColorEntryFields = new ArrayList(); + groupOrderNoEntryFields = new ArrayList(); + groupsGrid = new Grid(0, 0); } - private TextBox createGroupNameWidget(String defaultName) { + private Widget createGroupNameWidget(String defaultName) { TextBox textBox = createTextBox(defaultName); textBox.setWidth("200px"); groupNameEntryFields.add(textBox); return textBox; } - private TextBox createGroupColorWidget(String defaultColor) { - TextBox textBox = createTextBox(defaultColor); - textBox.setWidth("50px"); - groupColorEntryFields.add(textBox); - return textBox; + private Widget createGroupColorWidget(Color defaultColor) { + ListBox listBox = createListBox(false); + for(GroupColors value: GroupColors.values()) + listBox.addItem(value.name()); + groupColorEntryFields.add(listBox); + return listBox; + } + + private Widget createGroupOrderNoWidget(int defaultValue) { + IntegerBox intBox = createIntegerBox(defaultValue, 3); + groupOrderNoEntryFields.add(intBox); + return intBox; } @Override @@ -142,6 +153,7 @@ public class SeriesWithGroupsCreateDialog extends DataEntryDialog { fleetDTO.name = groupNameEntryFields.get(i).getValue(); Color color = new RGBColor(0, 0, 0); fleetDTO.setColor(color); + fleetDTO.setOrderNo(groupOrderNoEntryFields.get(i).getValue()); fleets.add(fleetDTO); } @@ -172,6 +184,7 @@ public class SeriesWithGroupsCreateDialog extends DataEntryDialog { @Override public void onClick(ClickEvent event) { createGroupNameWidget(null); + createGroupOrderNoWidget(0); createGroupColorWidget(null); updateGroupsGrid(panel); } @@ -186,11 +199,12 @@ public class SeriesWithGroupsCreateDialog extends DataEntryDialog { parentPanel.remove(groupsGrid); int groupsCount = groupNameEntryFields.size(); - groupsGrid = new Grid(groupsCount + 1, 3); + groupsGrid = new Grid(groupsCount + 1, 4); groupsGrid.setCellSpacing(3); groupsGrid.setHTML(0, 1, stringConstants.name()); - groupsGrid.setHTML(0, 2, stringConstants.color()); + groupsGrid.setHTML(0, 2, stringConstants.no()); + groupsGrid.setHTML(0, 3, stringConstants.color()); for(int i = 0; i < groupsCount; i++) { Label groupLabel = new Label((i+1) + ". " + stringConstants.group() + ":"); @@ -198,7 +212,8 @@ public class SeriesWithGroupsCreateDialog extends DataEntryDialog { groupLabel.setWordWrap(false); groupsGrid.setWidget(i+1, 0, groupLabel); groupsGrid.setWidget(i+1, 1, groupNameEntryFields.get(i)); - groupsGrid.setWidget(i+1, 2, groupColorEntryFields.get(i)); + groupsGrid.setWidget(i+1, 2, groupOrderNoEntryFields.get(i)); + groupsGrid.setWidget(i+1, 3, groupColorEntryFields.get(i)); } parentPanel.insert(groupsGrid, widgetIndex); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java index 2207bd84b64..66c71531fe0 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java @@ -124,7 +124,7 @@ public interface SailingService extends RemoteService { void moveLeaderboardColumnDown(String leaderboardName, String columnName); - void createRegatta(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind, + void createRegatta(String regattaName, String boatClassName, Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal, boolean persistent); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java index 4d284d9b7d6..86fc0e1e1b8 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java @@ -381,7 +381,7 @@ public interface SailingServiceAsync { void moveColumnInSeriesDown(RegattaIdentifier regattaIdentifier, String seriesName, String columnName, AsyncCallback callback); - void createRegatta(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind, + void createRegatta(String regattaName, String boatClassName, Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal, boolean persistent, AsyncCallback callback); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index c3e5092fee8..7fceba5be3b 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -1964,10 +1964,9 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS } @Override - public void createRegatta(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind, Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal, boolean persistent) { + public void createRegatta(String regattaName, String boatClassName, Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal, boolean persistent) { getService().apply( - new AddSpecificRegatta(regattaName, boatClassName, boatClassTypicallyStartsUpwind, - seriesNamesWithFleetNamesAndFleetOrderingAndMedal, persistent)); + new AddSpecificRegatta(regattaName, boatClassName, seriesNamesWithFleetNamesAndFleetOrderingAndMedal, persistent)); } } \ No newline at end of file diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java index 56d837e4156..d8235e9ab29 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/RegattaReplicationTest.java @@ -26,7 +26,7 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest { final String baseEventName = "Kiel Week 2012"; final String boatClassName = "49er"; final Iterable series = Collections.emptyList(); - Regatta masterRegatta = master.createRegatta(baseEventName, boatClassName, /* boatClassTypicallyStartsUpwind */ true, series, /* persistent */ true); + Regatta masterRegatta = master.createRegatta(baseEventName, boatClassName, series, /* persistent */ true); Thread.sleep(1000); Regatta replicatedRegatta = replica.getRegatta(new RegattaName(masterRegatta.getName())); assertNotNull(replicatedRegatta); @@ -45,7 +45,7 @@ public class RegattaReplicationTest extends AbstractServerReplicationTest { Arrays.asList(new Fleet[] { new FleetImpl("Gold", 1), new FleetImpl("Silver", 2) }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null); Series medal = new SeriesImpl("Medal", /* isMedal */ true, Arrays.asList(new Fleet[] { new FleetImpl("Medal") }), emptyRaceColumnNamesList, /* trackedRegattaRegistry */ null); - Regatta masterRegatta = master.createRegatta(baseEventName, boatClassName, /* boatClassTypicallyStartsUpwind */ true, + Regatta masterRegatta = master.createRegatta(baseEventName, boatClassName, Arrays.asList(new Series[] { qualification, finals, medal }), /* persistent */ true); Thread.sleep(1000); Regatta replicatedRegatta = replica.getRegatta(new RegattaName(masterRegatta.getName())); diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java index 33430b12863..787f96e6cd2 100644 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java @@ -76,9 +76,9 @@ public class ServerReplicationTest extends AbstractServerReplicationTest { final String boatClassName = "49er"; // FIXME use master DomainFactory; see bug 592 final DomainFactory masterDomainFactory = DomainFactory.INSTANCE; - BoatClass boatClass = masterDomainFactory.getOrCreateBoatClass(boatClassName, /* typicallyStartsUpwind */ true); + BoatClass boatClass = masterDomainFactory.getOrCreateBoatClass(boatClassName); final String baseEventName = "Test Event"; - AddDefaultRegatta addEventOperation = new AddDefaultRegatta(baseEventName, boatClassName, /* boatClassTypicallyStartsUpwind */ true); + AddDefaultRegatta addEventOperation = new AddDefaultRegatta(baseEventName, boatClassName); Regatta regatta = master.apply(addEventOperation); final String raceName = "Test Race"; final CourseImpl masterCourse = new CourseImpl("Test Course", new ArrayList()); diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackedRaceContentsReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackedRaceContentsReplicationTest.java index 008c75271b7..f0ceb1171a3 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackedRaceContentsReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackedRaceContentsReplicationTest.java @@ -73,7 +73,7 @@ public class TrackedRaceContentsReplicationTest extends AbstractServerReplicatio new PersonImpl("Rigo de Mas", DomainFactory.INSTANCE.getOrCreateNationality("NED"), null, null)), new BoatImpl("GER 61", DomainFactory.INSTANCE.getOrCreateBoatClass("470", /* typicallyStartsUpwind */ true), "GER 61")); final String baseEventName = "Test Event"; - AddDefaultRegatta addEventOperation = new AddDefaultRegatta(baseEventName, boatClassName, /* boatClassTypicallyStartsUpwind */ true); + AddDefaultRegatta addEventOperation = new AddDefaultRegatta(baseEventName, boatClassName); Regatta regatta = master.apply(addEventOperation); final String raceName = "Test Race"; final CourseImpl masterCourse = new CourseImpl("Test Course", new ArrayList()); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java index b684c23a527..013b9c6f6c3 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java @@ -369,10 +369,9 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch TrackedRace createTrackedRace(RegattaAndRaceIdentifier raceIdentifier, WindStore windStore, long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, long millisecondsOverWhichToAverageSpeed); - Regatta getOrCreateRegatta(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind); + Regatta getOrCreateRegatta(String regattaName, String boatClassName); - Regatta createRegatta(String baseName, String boatClassName, boolean boatClassTypicallyStartsUpwind, - Iterable series, boolean persistent); + Regatta createRegatta(String baseName, String boatClassName, Iterable series, boolean persistent); /** * Adds raceDefinition to the {@link Regatta} such that it will appear in {@link Regatta#getAllRaces()} diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 29c306a8890..ea601ded209 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -489,9 +489,9 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } @Override - public Regatta getOrCreateRegatta(String baseEventName, String boatClassName, boolean boatClassTypicallyStartsUpwind) { + public Regatta getOrCreateRegatta(String baseEventName, String boatClassName) { Regatta regatta = new RegattaImpl(baseEventName, com.sap.sailing.domain.base.DomainFactory.INSTANCE.getOrCreateBoatClass( - boatClassName, boatClassTypicallyStartsUpwind), this); + boatClassName), this); Regatta result = regattasByName.get(regatta.getName()); if (result == null) { result = regatta; @@ -503,10 +503,9 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public Regatta createRegatta(String baseEventName, String boatClassName, - boolean boatClassTypicallyStartsUpwind, Iterable series, boolean persistent) { + Iterable series, boolean persistent) { Regatta regatta = new RegattaImpl(baseEventName, - com.sap.sailing.domain.base.DomainFactory.INSTANCE.getOrCreateBoatClass(boatClassName, - boatClassTypicallyStartsUpwind), series, persistent); + com.sap.sailing.domain.base.DomainFactory.INSTANCE.getOrCreateBoatClass(boatClassName), series, persistent); logger.info("Created regatta " + regatta.getName() + " (" + hashCode() + ")"); cacheAndReplicateSpecificRegattaWithoutRaceColumns(regatta); if (persistent) { @@ -638,8 +637,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen regattasByName.put(regatta.getName(), regatta); regatta.addRegattaListener(this); replicate(new AddSpecificRegatta(regatta.getBaseName(), regatta.getBoatClass() == null ? null : regatta - .getBoatClass().getName(), regatta.getBoatClass() == null ? false : regatta.getBoatClass() - .typicallyStartsUpwind(), getSeriesWithoutRaceColumnsConstructionParametersAsMap(regatta), regatta.isPersistent())); + .getBoatClass().getName(), getSeriesWithoutRaceColumnsConstructionParametersAsMap(regatta), regatta.isPersistent())); RegattaIdentifier regattaIdentifier = regatta.getRegattaIdentifier(); for (RaceDefinition race : regatta.getAllRaces()) { replicate(new AddRaceDefinition(regattaIdentifier, race)); @@ -669,8 +667,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen if (!regattasByName.containsKey(regatta.getName())) { regattasByName.put(regatta.getName(), regatta); regatta.addRegattaListener(this); - replicate(new AddDefaultRegatta(regatta.getBaseName(), regatta.getBoatClass() == null ? null : regatta.getBoatClass().getName(), - regatta.getBoatClass() == null ? false : regatta.getBoatClass().typicallyStartsUpwind())); + replicate(new AddDefaultRegatta(regatta.getBaseName(), regatta.getBoatClass() == null ? null : regatta.getBoatClass().getName())); RegattaIdentifier regattaIdentifier = regatta.getRegattaIdentifier(); for (RaceDefinition race : regatta.getAllRaces()) { replicate(new AddRaceDefinition(regattaIdentifier, race)); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractAddRegattaOperation.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractAddRegattaOperation.java index 12a8508562d..4d8dcbcb591 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractAddRegattaOperation.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AbstractAddRegattaOperation.java @@ -6,13 +6,11 @@ public abstract class AbstractAddRegattaOperation extends AbstractRacingEventSer private static final long serialVersionUID = 4596134166642095364L; private final String baseEventName; private final String boatClassName; - private final boolean boatClassTypicallyStartsUpwind; - public AbstractAddRegattaOperation(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind) { + public AbstractAddRegattaOperation(String regattaName, String boatClassName) { super(); this.baseEventName = regattaName; this.boatClassName = boatClassName; - this.boatClassTypicallyStartsUpwind = boatClassTypicallyStartsUpwind; } protected String getBaseEventName() { @@ -22,9 +20,4 @@ public abstract class AbstractAddRegattaOperation extends AbstractRacingEventSer protected String getBoatClassName() { return boatClassName; } - - protected boolean isBoatClassTypicallyStartsUpwind() { - return boatClassTypicallyStartsUpwind; - } - } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddDefaultRegatta.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddDefaultRegatta.java index a8e4fe0470a..02245994e62 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddDefaultRegatta.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddDefaultRegatta.java @@ -7,8 +7,8 @@ import com.sap.sailing.server.RacingEventServiceOperation; public class AddDefaultRegatta extends AbstractAddRegattaOperation { private static final long serialVersionUID = -3550383541066673065L; - public AddDefaultRegatta(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind) { - super(regattaName, boatClassName, boatClassTypicallyStartsUpwind); + public AddDefaultRegatta(String regattaName, String boatClassName) { + super(regattaName, boatClassName); } @Override @@ -25,7 +25,7 @@ public class AddDefaultRegatta extends AbstractAddRegattaOperation { @Override public Regatta internalApplyTo(RacingEventService toState) { - return toState.getOrCreateRegatta(getBaseEventName(), getBoatClassName(), isBoatClassTypicallyStartsUpwind()); + return toState.getOrCreateRegatta(getBaseEventName(), getBoatClassName()); } } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddSpecificRegatta.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddSpecificRegatta.java index eba786e9420..099b80dc188 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddSpecificRegatta.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddSpecificRegatta.java @@ -20,16 +20,15 @@ public class AddSpecificRegatta extends AbstractAddRegattaOperation { private final Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal; private final boolean persistent; - public AddSpecificRegatta(String regattaName, String boatClassName, boolean boatClassTypicallyStartsUpwind, - Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrdering, boolean persistent) { - super(regattaName, boatClassName, boatClassTypicallyStartsUpwind); + public AddSpecificRegatta(String regattaName, String boatClassName, Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrdering, boolean persistent) { + super(regattaName, boatClassName); this.seriesNamesWithFleetNamesAndFleetOrderingAndMedal = seriesNamesWithFleetNamesAndFleetOrdering; this.persistent = persistent; } @Override public Regatta internalApplyTo(RacingEventService toState) throws Exception { - return toState.createRegatta(getBaseEventName(), getBoatClassName(), isBoatClassTypicallyStartsUpwind(), createSeries(toState), persistent); + return toState.createRegatta(getBaseEventName(), getBoatClassName(), createSeries(toState), persistent); } private Iterable createSeries(TrackedRegattaRegistry trackedRegattaRegistry) { From a5eadc88884caca33c2be4e47b70b8b6a272277d Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 6 Jun 2012 14:05:06 +0200 Subject: [PATCH 211/339] extracted the delayed logic from FlexibleLeaderboardWithDelayed... into DelayedLeaderboardCorrection hierarchy Introduced RaceColumnListener pattern throughout; leaderboards manage such listeners; DelayedLeaderboardCorrection is one and applys its left-overs whenever a new TrackedRace appears --- ...=> DelayedLeaderboardCorrectionsImpl.java} | 92 +++++++------------ .../impl/DomainObjectFactoryImpl.java | 35 ++++--- .../domain/test/mock/MockedTrackedRace.java | 13 +++ .../sap/sailing/domain/base/RaceColumn.java | 9 +- .../domain/base/RaceColumnListener.java | 9 ++ .../com/sap/sailing/domain/base/Regatta.java | 4 + .../com/sap/sailing/domain/base/Series.java | 10 +- .../domain/base/impl/AbstractRaceColumn.java | 42 ++++++++- .../sailing/domain/base/impl/RegattaImpl.java | 45 ++++++++- .../sailing/domain/base/impl/SeriesImpl.java | 62 ++++++++++++- .../DelayedLeaderboardCorrections.java | 28 ++++++ .../leaderboard/FlexibleLeaderboard.java | 2 +- .../domain/leaderboard/Leaderboard.java | 5 + .../impl/AbstractLeaderboardImpl.java | 56 ++++++++++- .../impl/FlexibleLeaderboardImpl.java | 15 ++- .../impl/RegattaLeaderboardImpl.java | 7 +- .../ui/leaderboard/LeaderboardEntryPoint.java | 4 - 17 files changed, 347 insertions(+), 91 deletions(-) rename java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/{FlexibleLeaderboardImplWithDelayedCarriedPoints.java => DelayedLeaderboardCorrectionsImpl.java} (65%) create mode 100755 java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnListener.java create mode 100755 java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/DelayedLeaderboardCorrections.java diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FlexibleLeaderboardImplWithDelayedCarriedPoints.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DelayedLeaderboardCorrectionsImpl.java similarity index 65% rename from java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FlexibleLeaderboardImplWithDelayedCarriedPoints.java rename to java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DelayedLeaderboardCorrectionsImpl.java index 6c44451f865..0350e353180 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FlexibleLeaderboardImplWithDelayedCarriedPoints.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DelayedLeaderboardCorrectionsImpl.java @@ -1,6 +1,6 @@ package com.sap.sailing.domain.persistence.impl; -import java.util.Comparator; +import java.io.Serializable; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -8,12 +8,10 @@ import java.util.Map; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.base.RaceColumnListener; import com.sap.sailing.domain.common.MaxPointsReason; +import com.sap.sailing.domain.leaderboard.DelayedLeaderboardCorrections; import com.sap.sailing.domain.leaderboard.Leaderboard; -import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; -import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; -import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl; -import com.sap.sailing.domain.leaderboard.impl.RaceColumnImpl; import com.sap.sailing.domain.tracking.TrackedRace; /** @@ -23,54 +21,38 @@ import com.sap.sailing.domain.tracking.TrackedRace; * score corrections are then assigned to the {@link Competitor}s once they show up by * {@link #addRace(TrackedRace, String, boolean) adding races} to this leaderboard.

* - * TODO This class should be in the impl package. However, in order to temporarily solve bug 595, moving this class - * to the exported package may help. A better solution would involve obtaining this bundle's class loader in - * ObjectInputStreamResolvingAgainstDomainFactory which is able to obtain the class from a non-exported - * package. + * This object registers itself as a {@link RaceColumnListener} on the {@link Leaderboard} at construction time. It + * therefore receives all updates to the linking structure between the leaderboard's {@link RaceColumn}s and the + * {@link TrackedRace}s associated with them and can react accordingly to assign left-over corrections to the + * correct, resolved competitor objects (see {@link #trackedRaceLinked(RaceColumn, Fleet, TrackedRace)}). * * @author Axel Uhl (d043530) * */ -public class FlexibleLeaderboardImplWithDelayedCarriedPoints extends FlexibleLeaderboardImpl { - private static final long serialVersionUID = -8933075542228571746L; +public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorrections, Serializable { + private static final long serialVersionUID = 8824782847677232275L; private final Map carriedPointsByCompetitorName; private final Map> maxPointsReasonsByCompetitorName; private final Map> correctedScoresByCompetitorName; private final Map displayNamesByCompetitorName; + private final Leaderboard leaderboard; - /** - * A wrapper for {@link RaceColumn} that, when its {@link #setTrackedRace(Fleet, TrackedRace)} method is called, - * additionally calls {@link FlexibleLeaderboardImplWithDelayedCarriedPoints#assignLeftOvers(TrackedRace)}. - * - * @author Axel Uhl (D043530) - */ - private class RaceColumnForDelayedCarriedPoints extends RaceColumnImpl { - private static final long serialVersionUID = -1243132535406059096L; - - public RaceColumnForDelayedCarriedPoints(Leaderboard leaderboard, String name, boolean medalRace, Iterable fleets) { - super(name, medalRace, fleets); - } - - @Override - public void setTrackedRace(Fleet fleet, TrackedRace trackedRace) { - super.setTrackedRace(fleet, trackedRace); - if (trackedRace != null) { - assignLeftOvers(trackedRace); - } - } - } - - public FlexibleLeaderboardImplWithDelayedCarriedPoints(String name, SettableScoreCorrection scoreCorrection, - ThresholdBasedResultDiscardingRule resultDiscardingRule, Comparator scoreComparator) { - super(name, scoreCorrection, resultDiscardingRule, scoreComparator); + public DelayedLeaderboardCorrectionsImpl(Leaderboard leaderboard) { carriedPointsByCompetitorName = new HashMap(); maxPointsReasonsByCompetitorName = new HashMap>(); correctedScoresByCompetitorName = new HashMap>(); displayNamesByCompetitorName = new HashMap(); + this.leaderboard = leaderboard; + leaderboard.addRaceColumnListener(this); + } + + @Override + public Leaderboard getLeaderboard() { + return leaderboard; } private void assertNoTrackedRaceAssociatedYet() { - for (RaceColumn raceColumn : getRaceColumns()) { + for (RaceColumn raceColumn : leaderboard.getRaceColumns()) { if (raceColumn.hasTrackedRaces()) { throw new IllegalStateException("Can't enqueue competitor name-based state while tracked races are already associated with leaderboard"); } @@ -78,15 +60,12 @@ public class FlexibleLeaderboardImplWithDelayedCarriedPoints extends FlexibleLea } @Override - protected RaceColumnImpl createRaceColumn(String columnName, boolean medalRace, Fleet... fleets) { - return new RaceColumnForDelayedCarriedPoints(this, columnName, medalRace, turnNullOrEmptyFleetsIntoDefaultFleet(fleets)); - } - public void setCarriedPoints(String competitorName, int carriedPoints) { assertNoTrackedRaceAssociatedYet(); carriedPointsByCompetitorName.put(competitorName, carriedPoints); } + @Override public void setMaxPointsReason(String competitorName, RaceColumn raceColumn, MaxPointsReason maxPointsReason) { assertNoTrackedRaceAssociatedYet(); Map map = maxPointsReasonsByCompetitorName.get(competitorName); @@ -97,6 +76,7 @@ public class FlexibleLeaderboardImplWithDelayedCarriedPoints extends FlexibleLea map.put(raceColumn, maxPointsReason); } + @Override public void correctScore(String competitorName, RaceColumn raceColumn, int correctedScore) { assertNoTrackedRaceAssociatedYet(); Map map = correctedScoresByCompetitorName.get(competitorName); @@ -107,18 +87,6 @@ public class FlexibleLeaderboardImplWithDelayedCarriedPoints extends FlexibleLea map.put(raceColumn, correctedScore); } - /** - * Performs the regular {@link FlexibleLeaderboardImpl#addRace(TrackedRace, String, boolean)} and then checks if - * there are any carried points etc. left over to assign to the competitor objects (see - * {@link #assignLeftOvers(TrackedRace)}). - */ - @Override - public RaceColumn addRace(TrackedRace race, String columnName, boolean medalRace, Fleet fleet) { - RaceColumn result = super.addRace(race, columnName, medalRace, fleet); - assignLeftOvers(race); - return result; - } - /** * Checks if there are any carried points, max points reasons or corrected scores left over that may now receive * their competitor record. If so, {@link #setCarriedPoints(com.sap.sailing.domain.base.Competitor, int)}, @@ -135,7 +103,7 @@ public class FlexibleLeaderboardImplWithDelayedCarriedPoints extends FlexibleLea for (Iterator> carryEntryIter = carriedPointsByCompetitorName.entrySet().iterator(); carryEntryIter.hasNext(); ) { Map.Entry carryEntry = carryEntryIter.next(); if (competitorsByName.containsKey(carryEntry.getKey())) { - setCarriedPoints(competitorsByName.get(carryEntry.getKey()), carryEntry.getValue()); + leaderboard.setCarriedPoints(competitorsByName.get(carryEntry.getKey()), carryEntry.getValue()); carryEntryIter.remove(); } } @@ -144,7 +112,7 @@ public class FlexibleLeaderboardImplWithDelayedCarriedPoints extends FlexibleLea java.util.Map.Entry> maxPointsReasonEntries = maxPointsReasonsEntryIter.next(); if (competitorsByName.containsKey(maxPointsReasonEntries.getKey())) { for (Map.Entry maxPointsReasonEntry : maxPointsReasonEntries.getValue().entrySet()) { - getScoreCorrection().setMaxPointsReason(competitorsByName.get(maxPointsReasonEntries.getKey()), + leaderboard.getScoreCorrection().setMaxPointsReason(competitorsByName.get(maxPointsReasonEntries.getKey()), maxPointsReasonEntry.getKey(), maxPointsReasonEntry.getValue()); } maxPointsReasonsEntryIter.remove(); @@ -155,7 +123,7 @@ public class FlexibleLeaderboardImplWithDelayedCarriedPoints extends FlexibleLea java.util.Map.Entry> correctedScoresEntries = correctedScoresEntryIter.next(); if (competitorsByName.containsKey(correctedScoresEntries.getKey())) { for (java.util.Map.Entry correctedScoreEntry : correctedScoresEntries.getValue().entrySet()) { - getScoreCorrection().correctScore(competitorsByName.get(correctedScoresEntries.getKey()), + leaderboard.getScoreCorrection().correctScore(competitorsByName.get(correctedScoresEntries.getKey()), correctedScoreEntry.getKey(), correctedScoreEntry.getValue()); } correctedScoresEntryIter.remove(); @@ -165,14 +133,24 @@ public class FlexibleLeaderboardImplWithDelayedCarriedPoints extends FlexibleLea displayNamesByCompetitorName.entrySet().iterator(); displayNamesEntryIter.hasNext();) { java.util.Map.Entry displayNamesEntry = displayNamesEntryIter.next(); if (competitorsByName.containsKey(displayNamesEntry.getKey())) { - setDisplayName(competitorsByName.get(displayNamesEntry.getKey()), displayNamesEntry.getValue()); + leaderboard.setDisplayName(competitorsByName.get(displayNamesEntry.getKey()), displayNamesEntry.getValue()); displayNamesEntryIter.remove(); } } } + @Override public void setDisplayName(String competitorName, String displayName) { assertNoTrackedRaceAssociatedYet(); displayNamesByCompetitorName.put(competitorName, displayName); } + + @Override + public void trackedRaceLinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { + assignLeftOvers(trackedRace); + } + + @Override + public void trackedRaceUnlinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { + } } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index 3d2dc7d0b16..f20ddd207a8 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -46,10 +46,12 @@ import com.sap.sailing.domain.common.impl.DegreeBearingImpl; import com.sap.sailing.domain.common.impl.DegreePosition; import com.sap.sailing.domain.common.impl.WindSourceImpl; import com.sap.sailing.domain.common.impl.WindSourceWithAdditionalID; +import com.sap.sailing.domain.leaderboard.DelayedLeaderboardCorrections; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; +import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.LeaderboardGroupImpl; import com.sap.sailing.domain.leaderboard.impl.LowerScoreIsBetter; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; @@ -162,18 +164,18 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { return result; } - private Leaderboard loadLeaderboard(DBObject o) { + private Leaderboard loadLeaderboard(DBObject dbLeaderboard) { SettableScoreCorrection scoreCorrection = new ScoreCorrectionImpl(); - BasicDBList dbDiscardIndexResultsStartingWithHowManyRaces = (BasicDBList) o.get(FieldNames.LEADERBOARD_DISCARDING_THRESHOLDS.name()); + BasicDBList dbDiscardIndexResultsStartingWithHowManyRaces = (BasicDBList) dbLeaderboard.get(FieldNames.LEADERBOARD_DISCARDING_THRESHOLDS.name()); int[] discardIndexResultsStartingWithHowManyRaces = new int[dbDiscardIndexResultsStartingWithHowManyRaces.size()]; int i=0; for (Object discardingThresholdAsObject : dbDiscardIndexResultsStartingWithHowManyRaces) { discardIndexResultsStartingWithHowManyRaces[i++] = (Integer) discardingThresholdAsObject; } ThresholdBasedResultDiscardingRule resultDiscardingRule = new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces); - FlexibleLeaderboardImplWithDelayedCarriedPoints result = new FlexibleLeaderboardImplWithDelayedCarriedPoints( - (String) o.get(FieldNames.LEADERBOARD_NAME.name()), scoreCorrection, resultDiscardingRule, new LowerScoreIsBetter()); - BasicDBList dbRaceColumns = (BasicDBList) o.get(FieldNames.LEADERBOARD_COLUMNS.name()); + FlexibleLeaderboardImpl result = new FlexibleLeaderboardImpl( + (String) dbLeaderboard.get(FieldNames.LEADERBOARD_NAME.name()), scoreCorrection, resultDiscardingRule, new LowerScoreIsBetter()); + BasicDBList dbRaceColumns = (BasicDBList) dbLeaderboard.get(FieldNames.LEADERBOARD_COLUMNS.name()); // For a FlexibleLeaderboard, fleets are owned by the leaderboard's RaceColumn objects. We need to manage them here: Map fleetsByName = new HashMap(); for (Object dbRaceColumnAsObject : dbRaceColumns) { @@ -209,39 +211,44 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { raceColumn.setRaceIdentifier(fleetsByName.get(e.getKey()), e.getValue()); } } - DBObject carriedPoints = (DBObject) o.get(FieldNames.LEADERBOARD_CARRIED_POINTS.name()); + DelayedLeaderboardCorrections loadedLeaderboardCorrections = new DelayedLeaderboardCorrectionsImpl(result); + loadLeaderboardCorrections(dbLeaderboard, loadedLeaderboardCorrections); + return result; + } + + private void loadLeaderboardCorrections(DBObject dbLeaderboard, DelayedLeaderboardCorrections correctionsToUpdate) { + DBObject carriedPoints = (DBObject) dbLeaderboard.get(FieldNames.LEADERBOARD_CARRIED_POINTS.name()); if (carriedPoints != null) { for (String competitorName : carriedPoints.keySet()) { Integer carriedPointsForCompetitor = (Integer) carriedPoints.get(competitorName); if (carriedPointsForCompetitor != null) { - result.setCarriedPoints(MongoUtils.unescapeDollarAndDot(competitorName), carriedPointsForCompetitor); + correctionsToUpdate.setCarriedPoints(MongoUtils.unescapeDollarAndDot(competitorName), carriedPointsForCompetitor); } } } - DBObject dbScoreCorrection = (DBObject) o.get(FieldNames.LEADERBOARD_SCORE_CORRECTIONS.name()); + DBObject dbScoreCorrection = (DBObject) dbLeaderboard.get(FieldNames.LEADERBOARD_SCORE_CORRECTIONS.name()); for (String raceName : dbScoreCorrection.keySet()) { DBObject dbScoreCorrectionForRace = (DBObject) dbScoreCorrection.get(raceName); for (String competitorName : dbScoreCorrectionForRace.keySet()) { - RaceColumn raceColumn = result.getRaceColumnByName(raceName); + RaceColumn raceColumn = correctionsToUpdate.getLeaderboard().getRaceColumnByName(raceName); DBObject dbScoreCorrectionForCompetitorInRace = (DBObject) dbScoreCorrectionForRace.get(competitorName); if (dbScoreCorrectionForCompetitorInRace.containsField(FieldNames.LEADERBOARD_SCORE_CORRECTION_MAX_POINTS_REASON.name())) { - result.setMaxPointsReason(MongoUtils.unescapeDollarAndDot(competitorName), raceColumn, MaxPointsReason + correctionsToUpdate.setMaxPointsReason(MongoUtils.unescapeDollarAndDot(competitorName), raceColumn, MaxPointsReason .valueOf((String) dbScoreCorrectionForCompetitorInRace .get(FieldNames.LEADERBOARD_SCORE_CORRECTION_MAX_POINTS_REASON.name()))); } if (dbScoreCorrectionForCompetitorInRace.containsField(FieldNames.LEADERBOARD_CORRECTED_SCORE.name())) { - result.correctScore(MongoUtils.unescapeDollarAndDot(competitorName), raceColumn, (Integer) dbScoreCorrectionForCompetitorInRace + correctionsToUpdate.correctScore(MongoUtils.unescapeDollarAndDot(competitorName), raceColumn, (Integer) dbScoreCorrectionForCompetitorInRace .get(FieldNames.LEADERBOARD_CORRECTED_SCORE.name())); } } } - DBObject competitorDisplayNames = (DBObject) o.get(FieldNames.LEADERBOARD_COMPETITOR_DISPLAY_NAMES.name()); + DBObject competitorDisplayNames = (DBObject) dbLeaderboard.get(FieldNames.LEADERBOARD_COMPETITOR_DISPLAY_NAMES.name()); if (competitorDisplayNames != null) { for (String escapedCompetitorName : competitorDisplayNames.keySet()) { - result.setDisplayName(MongoUtils.unescapeDollarAndDot(escapedCompetitorName), (String) competitorDisplayNames.get(escapedCompetitorName)); + correctionsToUpdate.setDisplayName(MongoUtils.unescapeDollarAndDot(escapedCompetitorName), (String) competitorDisplayNames.get(escapedCompetitorName)); } } - return result; } /** diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java index 3e6e04f4a99..b56a6825482 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java @@ -6,6 +6,7 @@ import java.util.NavigableSet; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Buoy; import com.sap.sailing.domain.base.Competitor; +import com.sap.sailing.domain.base.RaceColumnListener; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.RegattaListener; import com.sap.sailing.domain.base.Leg; @@ -362,6 +363,18 @@ public class MockedTrackedRace implements DynamicTrackedRace { // TODO Auto-generated method stub return false; } + + @Override + public void addRaceColumnListener(RaceColumnListener listener) { + // TODO Auto-generated method stub + + } + + @Override + public void removeRaceColumnListener(RaceColumnListener listener) { + // TODO Auto-generated method stub + + } }; } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumn.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumn.java index bed5701d6f7..b9f42929d2c 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumn.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumn.java @@ -16,12 +16,19 @@ import com.sap.sailing.domain.tracking.TrackedRace; * {@link RaceColumn} therefore provides access to the {@link TrackedRace}s by {@link Fleet} and by {@link Competitor}. * The {@link TrackedRace}s represent the data of a race. Over the life time of this object it can be assigned one or more * {@link TrackedRace}s which then act(s) as data provider to this column. If no tracked race has been assigned, the - * scores reported by this column will all default to zero. + * scores reported by this column will all default to zero.

+ * + * A {@link RaceColumnListener} can be {@link #addRaceColumnListener added} to receive notifications about tracked races + * being {@link #setTrackedRace(Fleet, TrackedRace) linked} to this column or unlinked from this column. * * @author Axel Uhl (D043530) * */ public interface RaceColumn extends Named { + void addRaceColumnListener(RaceColumnListener listener); + + void removeRaceColumnListener(RaceColumnListener listener); + /** * @return the fleets for each of which this column has a single race and therefore optionally a {@link TrackedRace}, in * ascending order; best fleets first diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnListener.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnListener.java new file mode 100755 index 00000000000..b34f0a9b690 --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnListener.java @@ -0,0 +1,9 @@ +package com.sap.sailing.domain.base; + +import com.sap.sailing.domain.tracking.TrackedRace; + +public interface RaceColumnListener { + void trackedRaceLinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace); + + void trackedRaceUnlinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace); +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java index 35c0fd1ef32..68246eabad1 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Regatta.java @@ -72,4 +72,8 @@ public interface Regatta extends Named { * the data of this regatta needs to be maintained persistently. */ boolean isPersistent(); + + void addRaceColumnListener(RaceColumnListener listener); + + void removeRaceColumnListener(RaceColumnListener listener); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java index 2d29a1e5985..1756eaf8cda 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/Series.java @@ -1,6 +1,7 @@ package com.sap.sailing.domain.base; import com.sap.sailing.domain.common.Named; +import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; /** @@ -10,7 +11,10 @@ import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; * race column have to be run in this round. For example, if the 49er regatta has so many competitors that they cannot * all start in one race, the qualification round can be split into two {@link Fleet}s, "Yellow" and "Blue," each * getting their separate races. Fleet assignment may or may not vary. This usually depends on the round's - * characteristics of having ordered or unordered fleets. + * characteristics of having ordered or unordered fleets.

+ * + * To receive notifications when {@link TrackedRace tracked races} are linked to or unlinked from any of this series' + * columns, {@link RaceColumnListener}s can be added / removed. * * @author Axel Uhl (D043530) * @@ -55,4 +59,8 @@ public interface Series extends Named { * Sets this series' regatta. */ void setRegatta(Regatta regatta); + + void addRaceColumnListener(RaceColumnListener listener); + + void removeRaceColumnListener(RaceColumnListener listener); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java index ead6257ecdf..3ccc5d824d6 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java @@ -1,11 +1,16 @@ package com.sap.sailing.domain.base.impl; +import java.io.IOException; +import java.io.ObjectInputStream; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; +import java.util.Set; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.base.RaceColumnListener; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Pair; @@ -17,13 +22,42 @@ public abstract class AbstractRaceColumn implements RaceColumn { private final Map trackedRaces; private String name; private final Map raceIdentifiers; + private transient Set listeners; public AbstractRaceColumn(String name) { this.name = name; this.trackedRaces = new HashMap(); this.raceIdentifiers = new HashMap(); + this.listeners = new HashSet(); } + private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException { + ois.defaultReadObject(); + listeners = new HashSet(); + } + + @Override + public void addRaceColumnListener(RaceColumnListener listener) { + listeners.add(listener); + } + + @Override + public void removeRaceColumnListener(RaceColumnListener listener) { + listeners.remove(listener); + } + + private void notifyListenersAboutTrackedRaceLinked(Fleet fleet, TrackedRace trackedRace) { + for (RaceColumnListener listener : listeners) { + listener.trackedRaceLinked(this, fleet, trackedRace); + } + } + + private void notifyListenersAboutTrackedRaceUnlinked(Fleet fleet, TrackedRace trackedRace) { + for (RaceColumnListener listener : listeners) { + listener.trackedRaceUnlinked(this, fleet, trackedRace); + } + } + @Override public TrackedRace getTrackedRace(Fleet fleet) { return trackedRaces.get(fleet); @@ -31,8 +65,14 @@ public abstract class AbstractRaceColumn implements RaceColumn { @Override public void setTrackedRace(Fleet fleet, TrackedRace trackedRace) { - this.trackedRaces.put(fleet, trackedRace); + TrackedRace previouslyLinkedRace = this.trackedRaces.put(fleet, trackedRace); this.setRaceIdentifier(fleet, trackedRace == null ? null : trackedRace.getRaceIdentifier()); + if (previouslyLinkedRace != null) { + notifyListenersAboutTrackedRaceUnlinked(fleet, previouslyLinkedRace); + } + if (trackedRace != null) { + notifyListenersAboutTrackedRaceLinked(fleet, trackedRace); + } } @Override diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java index 823dfb7b6e6..842e2e98920 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java @@ -10,6 +10,9 @@ import java.util.logging.Logger; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; +import com.sap.sailing.domain.base.Fleet; +import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.base.RaceColumnListener; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.RegattaListener; @@ -17,16 +20,18 @@ import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.RegattaIdentifier; import com.sap.sailing.domain.common.RegattaName; import com.sap.sailing.domain.common.impl.NamedImpl; +import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; -public class RegattaImpl extends NamedImpl implements Regatta { +public class RegattaImpl extends NamedImpl implements Regatta, RaceColumnListener { private static final Logger logger = Logger.getLogger(RegattaImpl.class.getName()); private static final long serialVersionUID = 6509564189552478869L; private final Set races; private final BoatClass boatClass; private transient Set regattaListeners; private final Iterable series; - + private transient Set raceColumnListeners; + /** * Regattas may be constructed as implicit default regattas in which case they won't need to be stored * durably and don't contain valuable information worth being preserved; or they are constructed explicitly @@ -40,7 +45,6 @@ public class RegattaImpl extends NamedImpl implements Regatta { /** * Constructs a regatta with a single default series with empty race column list, and a single default fleet which * is not {@link #isPersistent() marked for persistence}. - * @param trackedRegattaRegistry TODO */ public RegattaImpl(String baseName, BoatClass boatClass, TrackedRegattaRegistry trackedRegattaRegistry) { this(baseName, boatClass, Collections.singletonList(new SeriesImpl("Default", /* isMedal */false, Collections @@ -57,10 +61,12 @@ public class RegattaImpl extends NamedImpl implements Regatta { super(baseName+(boatClass==null?"":" ("+boatClass.getName()+")")); races = new HashSet(); regattaListeners = new HashSet(); + raceColumnListeners = new HashSet(); this.boatClass = boatClass; this.series = series; for (Series s : series) { s.setRegatta(this); + s.addRaceColumnListener(this); } this.persistent = persistent; } @@ -84,6 +90,7 @@ public class RegattaImpl extends NamedImpl implements Regatta { private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException { ois.defaultReadObject(); regattaListeners = new HashSet<>(); + raceColumnListeners = new HashSet(); } @Override @@ -182,4 +189,36 @@ public class RegattaImpl extends NamedImpl implements Regatta { } } + @Override + public void trackedRaceLinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { + notifyListenersAboutTrackedRaceLinked(raceColumn, fleet, trackedRace); + } + + @Override + public void trackedRaceUnlinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { + notifyListenersAboutTrackedRaceUnlinked(raceColumn, fleet, trackedRace); + } + + @Override + public void addRaceColumnListener(RaceColumnListener listener) { + raceColumnListeners.add(listener); + } + + @Override + public void removeRaceColumnListener(RaceColumnListener listener) { + raceColumnListeners.remove(listener); + } + + private void notifyListenersAboutTrackedRaceLinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { + for (RaceColumnListener listener : raceColumnListeners) { + listener.trackedRaceLinked(raceColumn, fleet, trackedRace); + } + } + + private void notifyListenersAboutTrackedRaceUnlinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { + for (RaceColumnListener listener : raceColumnListeners) { + listener.trackedRaceUnlinked(raceColumn, fleet, trackedRace); + } + } + } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java index a3657c6accc..4a9d0580519 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java @@ -1,25 +1,33 @@ package com.sap.sailing.domain.base.impl; +import java.io.IOException; +import java.io.ObjectInputStream; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import com.sap.sailing.domain.base.Fleet; +import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.base.RaceColumnInSeries; +import com.sap.sailing.domain.base.RaceColumnListener; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.impl.NamedImpl; +import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; -public class SeriesImpl extends NamedImpl implements Series { +public class SeriesImpl extends NamedImpl implements Series, RaceColumnListener { private static final long serialVersionUID = -1640404303144907381L; private final Map fleetsByName; private final List fleetsInAscendingOrder; private final List raceColumns; private boolean isMedal; private Regatta regatta; + private transient Set listeners; public SeriesImpl(String name, boolean isMedal, Iterable fleets, Iterable raceColumnNames, TrackedRegattaRegistry trackedRegattaRegistry) { @@ -32,11 +40,38 @@ public class SeriesImpl extends NamedImpl implements Series { Collections.sort(fleetsInAscendingOrder); List myRaceColumns = new ArrayList(); for (String raceColumnName : raceColumnNames) { - RaceColumnInSeriesImpl raceColumn = new RaceColumnInSeriesImpl(raceColumnName, this, trackedRegattaRegistry); - myRaceColumns.add(raceColumn); + addRaceColumn(raceColumnName, trackedRegattaRegistry); } this.raceColumns = myRaceColumns; this.isMedal = isMedal; + this.listeners = new HashSet(); + } + + private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException { + ois.defaultReadObject(); + listeners = new HashSet(); + } + + @Override + public void addRaceColumnListener(RaceColumnListener listener) { + listeners.add(listener); + } + + @Override + public void removeRaceColumnListener(RaceColumnListener listener) { + listeners.remove(listener); + } + + private void notifyListenersAboutTrackedRaceLinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { + for (RaceColumnListener listener : listeners) { + listener.trackedRaceLinked(raceColumn, fleet, trackedRace); + } + } + + private void notifyListenersAboutTrackedRaceUnlinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { + for (RaceColumnListener listener : listeners) { + listener.trackedRaceUnlinked(raceColumn, fleet, trackedRace); + } } @Override @@ -65,11 +100,17 @@ public class SeriesImpl extends NamedImpl implements Series { @Override public RaceColumnInSeries addRaceColumn(String raceColumnName, TrackedRegattaRegistry trackedRegattaRegistry) { - final RaceColumnInSeriesImpl result = new RaceColumnInSeriesImpl(raceColumnName, this, trackedRegattaRegistry); + final RaceColumnInSeriesImpl result = createRaceColumn(raceColumnName, trackedRegattaRegistry); + result.addRaceColumnListener(this); raceColumns.add(result); return result; } + private RaceColumnInSeriesImpl createRaceColumn(String raceColumnName, TrackedRegattaRegistry trackedRegattaRegistry) { + RaceColumnInSeriesImpl result = new RaceColumnInSeriesImpl(raceColumnName, this, trackedRegattaRegistry); + return result; + } + @Override public void moveRaceColumnUp(String raceColumnName) { // start at second element because first can't be moved up @@ -101,6 +142,7 @@ public class SeriesImpl extends NamedImpl implements Series { RaceColumnInSeries rc = getRaceColumnByName(raceColumnName); if (rc != null) { raceColumns.remove(rc); + rc.removeRaceColumnListener(this); } } @@ -123,4 +165,16 @@ public class SeriesImpl extends NamedImpl implements Series { public void setIsMedal(boolean isMedal) { this.isMedal = isMedal; } + + @Override + public void trackedRaceLinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { + notifyListenersAboutTrackedRaceLinked(raceColumn, fleet, trackedRace); + + } + + @Override + public void trackedRaceUnlinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { + notifyListenersAboutTrackedRaceUnlinked(raceColumn, fleet, trackedRace); + } + } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/DelayedLeaderboardCorrections.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/DelayedLeaderboardCorrections.java new file mode 100755 index 00000000000..afd7cb44a08 --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/DelayedLeaderboardCorrections.java @@ -0,0 +1,28 @@ +package com.sap.sailing.domain.leaderboard; + +import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.base.RaceColumnListener; +import com.sap.sailing.domain.common.MaxPointsReason; + +/** + * For a {@link Leaderboard}, captures corrections such as {@link ScoreCorrection}s or display names for competitors. It + * does so by keying the corrections by competitor names which can work as a competitor "ID," e.g., in a persistence layer. + * When for any of the leaderboards columns a new {@link TrackedRace} is linked, the not yet resolved corrections are matched + * against the tracked race's competitor names and resolved. For this to work, this object needs to be registered as + * {@link RaceColumnListener} with the object owning all {@link RaceColumn}s for the leaderboard. The type of object + * may vary depending on the concrete leaderboard type. + * + * @author Axel Uhl (D043530) + * + */ +public interface DelayedLeaderboardCorrections extends RaceColumnListener { + void correctScore(String competitorName, RaceColumn raceColumn, int correctedScore); + + void setCarriedPoints(String competitorName, int carriedPoints); + + void setMaxPointsReason(String competitorName, RaceColumn raceColumn, MaxPointsReason maxPointsReason); + + void setDisplayName(String competitorName, String displayName); + + Leaderboard getLeaderboard(); +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java index 7ce36101f99..e0b61f65b54 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/FlexibleLeaderboard.java @@ -2,7 +2,7 @@ package com.sap.sailing.domain.leaderboard; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; - +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.tracking.TrackedRace; diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java index 454bd1f7d6b..d9435d1334d 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java @@ -6,6 +6,7 @@ import java.util.Map; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.base.RaceColumnListener; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.Named; @@ -224,4 +225,8 @@ public interface Leaderboard extends Named { public void setResultDiscardingRule(ThresholdBasedResultDiscardingRule discardingRule); Competitor getCompetitorByIdAsString(String idAsString); + + void addRaceColumnListener(RaceColumnListener listener); + + void removeRaceColumnListener(RaceColumnListener listener); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java index f95827ce6a4..f3d0905f108 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java @@ -1,5 +1,7 @@ package com.sap.sailing.domain.leaderboard.impl; +import java.io.IOException; +import java.io.ObjectInputStream; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -13,6 +15,7 @@ import java.util.Set; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.base.RaceColumnListener; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.NoWindException; import com.sap.sailing.domain.common.TimePoint; @@ -25,7 +28,17 @@ import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; import com.sap.sailing.domain.tracking.TrackedRace; -public abstract class AbstractLeaderboardImpl implements Leaderboard { +/** + * Abstract leaderboard implementation that already knows about carried points, competitor display name re-keying, + * score corrections and result discarding rules. It manages a set of registered {@link RaceColumnListener}s and + * is itself one. All events received this way are forwarded to all {@link RaceColumnListener}s subscribed. This can + * be used to subscribe a concrete leaderboard implementation to the data structure providing the actual race columns + * in order to be notified whenever the set of {@link TrackedRace}s attached to the leaderboard changes. + * + * @author Axel Uhl (D043530) + * + */ +public abstract class AbstractLeaderboardImpl implements Leaderboard, RaceColumnListener { private static final long serialVersionUID = -328091952760083438L; /** @@ -51,6 +64,8 @@ public abstract class AbstractLeaderboardImpl implements Leaderboard { private final Comparator scoreComparator; + private transient Set raceColumnListeners; + /** * A leaderboard entry representing a snapshot of a cell at a given time point for a single race/competitor. * @@ -110,6 +125,12 @@ public abstract class AbstractLeaderboardImpl implements Leaderboard { this.displayNames = new HashMap(); this.resultDiscardingRule = resultDiscardingRule; this.scoreComparator = scoreComparator; + this.raceColumnListeners = new HashSet(); + } + + private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException { + ois.defaultReadObject(); + raceColumnListeners = new HashSet(); } @Override @@ -406,4 +427,37 @@ public abstract class AbstractLeaderboardImpl implements Leaderboard { protected Comparator getTotalRankComparator(TimePoint timePoint) { return new LeaderboardTotalRankComparator(this, timePoint, scoreComparator); } + + @Override + public void addRaceColumnListener(RaceColumnListener listener) { + raceColumnListeners.add(listener); + } + + @Override + public void removeRaceColumnListener(RaceColumnListener listener) { + raceColumnListeners.remove(listener); + } + + @Override + public void trackedRaceLinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { + notifyListenersAboutTrackedRaceLinked(raceColumn, fleet, trackedRace); + } + + @Override + public void trackedRaceUnlinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { + notifyListenersAboutTrackedRaceUnlinked(raceColumn, fleet, trackedRace); + } + + private void notifyListenersAboutTrackedRaceLinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { + for (RaceColumnListener listener : raceColumnListeners) { + listener.trackedRaceLinked(raceColumn, fleet, trackedRace); + } + } + + private void notifyListenersAboutTrackedRaceUnlinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { + for (RaceColumnListener listener : raceColumnListeners) { + listener.trackedRaceUnlinked(raceColumn, fleet, trackedRace); + } + } + } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java index a8a990aae49..d3f338caef7 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/FlexibleLeaderboardImpl.java @@ -9,6 +9,7 @@ import java.util.logging.Logger; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.base.RaceColumnListener; import com.sap.sailing.domain.base.impl.FleetImpl; import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.FlexibleRaceColumn; @@ -18,7 +19,10 @@ import com.sap.sailing.domain.tracking.TrackedRace; /** * A leaderboard implementation that allows users to flexibly configure which columns exist. No constraints need to be observed regarding - * the columns belonging to the same regatta or even boat class. + * the columns belonging to the same regatta or even boat class.

+ * + * The flexible leaderboard listens as {@link RaceColumnListener} on all its {@link RaceColumn}s and forwards all events to + * all {@link RaceColumnListener}s subscribed with this leaderboard. * * @author Axel Uhl (D043530) * @@ -64,6 +68,7 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements logger.severe(msg); } else { column = createRaceColumn(name, medalRace, fleets); + column.addRaceColumnListener(this); races.add(column); } return column; @@ -87,7 +92,9 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements @Override public void removeRaceColumn(String columnName) { - races.remove(getRaceColumnByName(columnName)); + final FlexibleRaceColumn raceColumn = getRaceColumnByName(columnName); + races.remove(raceColumn); + raceColumn.removeRaceColumnListener(this); } @Override @@ -100,9 +107,10 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements FlexibleRaceColumn column = getRaceColumnByName(columnName); if (column == null) { column = createRaceColumn(columnName, medalRace); + column.addRaceColumnListener(this); races.add(column); } - column.setTrackedRace(fleet, race); + column.setTrackedRace(fleet, race); // triggers listeners because this object was registered above as race column listener on the column return column; } @@ -174,4 +182,5 @@ public class FlexibleLeaderboardImpl extends AbstractLeaderboardImpl implements race.setIsMedalRace(isMedalRace); } } + } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RegattaLeaderboardImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RegattaLeaderboardImpl.java index 598205c6249..2954757ec86 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RegattaLeaderboardImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/RegattaLeaderboardImpl.java @@ -7,6 +7,7 @@ import java.util.List; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.base.RaceColumnInSeries; +import com.sap.sailing.domain.base.RaceColumnListener; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.base.impl.RaceColumnInSeriesImpl; @@ -15,7 +16,10 @@ import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; /** - * A leaderboard that is based on the definition of a {@link Regatta} with its {@link Series} and {@link Fleet}. + * A leaderboard that is based on the definition of a {@link Regatta} with its {@link Series} and {@link Fleet}. The regatta + * leaderboard listens to its {@link Regatta} as a {@link RaceColumnListener} and forwards all link/unlink events for + * {@link TrackedRace}s being linked to / unlinked from race columns to all {@link RaceColumnListener}s subscribed with + * this leaderboard. * * @author Axel Uhl (D043530) * @@ -28,6 +32,7 @@ public class RegattaLeaderboardImpl extends AbstractLeaderboardImpl implements R ThresholdBasedResultDiscardingRule resultDiscardingRule, Comparator scoreComparator) { super(scoreCorrection, resultDiscardingRule, scoreComparator); this.regatta = regatta; + regatta.addRaceColumnListener(this); } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardEntryPoint.java index de99282351e..8160cc7ae82 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardEntryPoint.java @@ -62,24 +62,20 @@ public class LeaderboardEntryPoint extends AbstractEntryPoint { if (tvModeParam != null) { Timer timer = new Timer(PlayModes.Replay, 1000l); timer.setLivePlayDelayInMillis(5000l); - TVViewPanel tvViewPanel = new TVViewPanel(sailingService, stringMessages, this, leaderboardName, userAgentType, null, timer, logoAndTitlePanel, mainPanel); contentScrollPanel.setWidget(tvViewPanel); } else { Timer timer = new Timer(PlayModes.Replay, /* delayBetweenAutoAdvancesInMilliseconds */3000l); timer.setLivePlayDelayInMillis(5000l); - LeaderboardPanel leaderboardPanel = new LeaderboardPanel(sailingService, new AsyncActionsExecutor(), LeaderboardSettingsFactory.getInstance().createNewDefaultSettings(null, null, null, /* autoExpandFirstRace */ false), /* preSelectedRace */ null, new CompetitorSelectionModel(/* hasMultiSelection */ true), timer, leaderboardName, leaderboardGroupName, LeaderboardEntryPoint.this, stringMessages, userAgentType); contentScrollPanel.setWidget(leaderboardPanel); - breadcrumbPanel = createBreadcrumbPanel(); } - if (breadcrumbPanel != null) { mainPanel.addNorth(breadcrumbPanel, 30); } From 2d479ff03912bc113f12879608057c7a9a648a1b Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 6 Jun 2012 14:25:14 +0200 Subject: [PATCH 212/339] fixed initialization order in SeriesImpl; first mock for RegattaLeaderboard loading --- .../persistence/DomainObjectFactory.java | 14 +++-- .../impl/DomainObjectFactoryImpl.java | 60 ++++++++++++++----- .../sailing/domain/base/RegattaRegistry.java | 17 ++++++ .../sailing/domain/base/impl/SeriesImpl.java | 6 +- ...StoringAndRetrievingLeaderboardGroups.java | 10 ++-- .../TestStoringAndRetrievingLeaderboards.java | 10 ++-- .../sailing/server/RacingEventService.java | 13 +--- .../server/impl/RacingEventServiceImpl.java | 4 +- 8 files changed, 88 insertions(+), 46 deletions(-) create mode 100755 java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RegattaRegistry.java diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java index de9563a21a2..fa771fd96a9 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java @@ -6,6 +6,7 @@ import com.mongodb.DBObject; import com.sap.sailing.domain.base.Event; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.RegattaRegistry; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.WindSource; import com.sap.sailing.domain.leaderboard.Leaderboard; @@ -22,26 +23,29 @@ import com.sap.sailing.domain.tracking.WindTrack; public interface DomainObjectFactory { WindTrack loadWindTrack(Regatta regatta, RaceDefinition race, WindSource windSource, long millisecondsOverWhichToAverage); - Leaderboard loadLeaderboard(String name); + Leaderboard loadLeaderboard(String name, RegattaRegistry regattaRegistry); - Iterable getAllLeaderboards(); + Iterable getAllLeaderboards(RegattaRegistry regattaRegistry); RaceIdentifier loadRaceIdentifier(DBObject dbObject); /** + * @param regattaRegistry TODO * @return The group with the name name, or null if no such group exists. */ - LeaderboardGroup loadLeaderboardGroup(String name); + LeaderboardGroup loadLeaderboardGroup(String name, RegattaRegistry regattaRegistry); /** + * @param regattaRegistry TODO * @return All groups in the database. */ - Iterable getAllLeaderboardGroups(); + Iterable getAllLeaderboardGroups(RegattaRegistry regattaRegistry); /** + * @param regattaRegistry TODO * @return All leaderboards in the database, which aren't contained by a leaderboard group */ - Iterable getLeaderboardsNotInGroup(); + Iterable getLeaderboardsNotInGroup(RegattaRegistry regattaRegistry); Map loadWindTracks(Regatta regatta, RaceDefinition race, long millisecondsOverWhichToAverageWind); diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index f20ddd207a8..dd90965e260 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -24,6 +24,7 @@ import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.RegattaRegistry; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.base.SpeedWithBearing; import com.sap.sailing.domain.base.Venue; @@ -38,6 +39,7 @@ import com.sap.sailing.domain.base.impl.VenueImpl; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.Position; import com.sap.sailing.domain.common.RaceIdentifier; +import com.sap.sailing.domain.common.RegattaName; import com.sap.sailing.domain.common.RegattaNameAndRaceName; import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.WindSource; @@ -47,13 +49,16 @@ import com.sap.sailing.domain.common.impl.DegreePosition; import com.sap.sailing.domain.common.impl.WindSourceImpl; import com.sap.sailing.domain.common.impl.WindSourceWithAdditionalID; import com.sap.sailing.domain.leaderboard.DelayedLeaderboardCorrections; +import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; +import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.leaderboard.SettableScoreCorrection; import com.sap.sailing.domain.leaderboard.ThresholdBasedResultDiscardingRule; import com.sap.sailing.domain.leaderboard.impl.FlexibleLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.LeaderboardGroupImpl; import com.sap.sailing.domain.leaderboard.impl.LowerScoreIsBetter; +import com.sap.sailing.domain.leaderboard.impl.RegattaLeaderboardImpl; import com.sap.sailing.domain.leaderboard.impl.ResultDiscardingRuleImpl; import com.sap.sailing.domain.leaderboard.impl.ScoreCorrectionImpl; import com.sap.sailing.domain.persistence.DomainObjectFactory; @@ -131,14 +136,14 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { } @Override - public Leaderboard loadLeaderboard(String name) { + public Leaderboard loadLeaderboard(String name, RegattaRegistry regattaRegistry) { DBCollection leaderboardCollection = database.getCollection(CollectionNames.LEADERBOARDS.name()); Leaderboard result = null; try { BasicDBObject query = new BasicDBObject(); query.put(FieldNames.LEADERBOARD_NAME.name(), name); for (DBObject o : leaderboardCollection.find(query)) { - result = loadLeaderboard(o); + result = loadLeaderboard(o, regattaRegistry); } } catch (Throwable t) { // something went wrong during DB access; report, then use empty new wind track @@ -149,12 +154,12 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { } @Override - public Iterable getAllLeaderboards() { + public Iterable getAllLeaderboards(RegattaRegistry regattaRegistry) { DBCollection leaderboardCollection = database.getCollection(CollectionNames.LEADERBOARDS.name()); Set result = new HashSet(); try { for (DBObject o : leaderboardCollection.find()) { - result.add(loadLeaderboard(o)); + result.add(loadLeaderboard(o, regattaRegistry)); } } catch (Throwable t) { // something went wrong during DB access; report, then use empty new wind track @@ -164,7 +169,12 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { return result; } - private Leaderboard loadLeaderboard(DBObject dbLeaderboard) { + /** + * If the DBObject has a field {@link FieldNames#REGATTA_NAME} then the object represents a {@link RegattaLeaderboard}. Otherwise, + * a {@link FlexibleLeaderboard} will be loaded. + * @param regattaRegistry TODO + */ + private Leaderboard loadLeaderboard(DBObject dbLeaderboard, RegattaRegistry regattaRegistry) { SettableScoreCorrection scoreCorrection = new ScoreCorrectionImpl(); BasicDBList dbDiscardIndexResultsStartingWithHowManyRaces = (BasicDBList) dbLeaderboard.get(FieldNames.LEADERBOARD_DISCARDING_THRESHOLDS.name()); int[] discardIndexResultsStartingWithHowManyRaces = new int[dbDiscardIndexResultsStartingWithHowManyRaces.size()]; @@ -173,6 +183,28 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { discardIndexResultsStartingWithHowManyRaces[i++] = (Integer) discardingThresholdAsObject; } ThresholdBasedResultDiscardingRule resultDiscardingRule = new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces); + String regattaName = (String) dbLeaderboard.get(FieldNames.REGATTA_NAME.name()); + Leaderboard result; + if (regattaName == null) { + result = loadFlexibleLeaderboard(dbLeaderboard, scoreCorrection, resultDiscardingRule); + } else { + result = loadRegattaLeaderboard(regattaName, dbLeaderboard, scoreCorrection, resultDiscardingRule, regattaRegistry); + } + DelayedLeaderboardCorrections loadedLeaderboardCorrections = new DelayedLeaderboardCorrectionsImpl(result); + loadLeaderboardCorrections(dbLeaderboard, loadedLeaderboardCorrections); + return result; + } + + private RegattaLeaderboard loadRegattaLeaderboard(String regattaName, DBObject dbLeaderboard, SettableScoreCorrection scoreCorrection, + ThresholdBasedResultDiscardingRule resultDiscardingRule, RegattaRegistry regattaRegistry) { + Regatta regatta = regattaRegistry.getRegatta(new RegattaName(regattaName)); + RegattaLeaderboard result = new RegattaLeaderboardImpl(regatta, scoreCorrection, resultDiscardingRule, new LowerScoreIsBetter()); + + return result; + } + + private FlexibleLeaderboard loadFlexibleLeaderboard(DBObject dbLeaderboard, + SettableScoreCorrection scoreCorrection, ThresholdBasedResultDiscardingRule resultDiscardingRule) { FlexibleLeaderboardImpl result = new FlexibleLeaderboardImpl( (String) dbLeaderboard.get(FieldNames.LEADERBOARD_NAME.name()), scoreCorrection, resultDiscardingRule, new LowerScoreIsBetter()); BasicDBList dbRaceColumns = (BasicDBList) dbLeaderboard.get(FieldNames.LEADERBOARD_COLUMNS.name()); @@ -211,8 +243,6 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { raceColumn.setRaceIdentifier(fleetsByName.get(e.getKey()), e.getValue()); } } - DelayedLeaderboardCorrections loadedLeaderboardCorrections = new DelayedLeaderboardCorrectionsImpl(result); - loadLeaderboardCorrections(dbLeaderboard, loadedLeaderboardCorrections); return result; } @@ -279,14 +309,14 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { } @Override - public LeaderboardGroup loadLeaderboardGroup(String name) { + public LeaderboardGroup loadLeaderboardGroup(String name, RegattaRegistry regattaRegistry) { DBCollection leaderboardGroupCollection = database.getCollection(CollectionNames.LEADERBOARD_GROUPS.name()); LeaderboardGroup leaderboardGroup = null; try { BasicDBObject query = new BasicDBObject(); query.put(FieldNames.LEADERBOARD_GROUP_NAME.name(), name); - leaderboardGroup = loadLeaderboardGroup(leaderboardGroupCollection.findOne(query)); + leaderboardGroup = loadLeaderboardGroup(leaderboardGroupCollection.findOne(query), regattaRegistry); } catch (Throwable t) { logger.log(Level.SEVERE, "Error connecting to MongoDB, unable to load leaderboard group "+name+"."); logger.throwing(DomainObjectFactoryImpl.class.getName(), "loadLeaderboardGroup", t); @@ -296,13 +326,13 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { } @Override - public Iterable getAllLeaderboardGroups() { + public Iterable getAllLeaderboardGroups(RegattaRegistry regattaRegistry) { DBCollection leaderboardGroupCollection = database.getCollection(CollectionNames.LEADERBOARD_GROUPS.name()); Set leaderboardGroups = new HashSet(); try { for (DBObject o : leaderboardGroupCollection.find()) { - leaderboardGroups.add(loadLeaderboardGroup(o)); + leaderboardGroups.add(loadLeaderboardGroup(o, regattaRegistry)); } } catch (Throwable t) { logger.log(Level.SEVERE, "Error connecting to MongoDB, unable to load leaderboard groups."); @@ -312,7 +342,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { return leaderboardGroups; } - private LeaderboardGroup loadLeaderboardGroup(DBObject o) { + private LeaderboardGroup loadLeaderboardGroup(DBObject o, RegattaRegistry regattaRegistry) { DBCollection leaderboardCollection = database.getCollection(CollectionNames.LEADERBOARDS.name()); String name = (String) o.get(FieldNames.LEADERBOARD_GROUP_NAME.name()); @@ -323,14 +353,14 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { for (Object object : dbLeaderboardIds) { ObjectId dbLeaderboardId = (ObjectId) object; DBObject dbLeaderboard = leaderboardCollection.findOne(dbLeaderboardId); - leaderboards.add(loadLeaderboard(dbLeaderboard)); + leaderboards.add(loadLeaderboard(dbLeaderboard, regattaRegistry)); } return new LeaderboardGroupImpl(name, description, leaderboards); } @Override - public Iterable getLeaderboardsNotInGroup() { + public Iterable getLeaderboardsNotInGroup(RegattaRegistry regattaRegistry) { DBCollection leaderboardCollection = database.getCollection(CollectionNames.LEADERBOARDS.name()); Set result = new HashSet(); try { @@ -338,7 +368,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { BasicDBObject query = new BasicDBObject("$where", "function() { return db." + CollectionNames.LEADERBOARD_GROUPS.name() + ".find({ " + FieldNames.LEADERBOARD_GROUP_LEADERBOARDS.name() + ": this._id }).count() == 0; }"); for (DBObject o : leaderboardCollection.find(query)) { - result.add(loadLeaderboard(o)); + result.add(loadLeaderboard(o, regattaRegistry)); } } catch (Throwable t) { logger.log(Level.SEVERE, "Error connecting to MongoDB, unable to load leaderboards."); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RegattaRegistry.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RegattaRegistry.java new file mode 100755 index 00000000000..47490c893af --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RegattaRegistry.java @@ -0,0 +1,17 @@ +package com.sap.sailing.domain.base; + +import java.util.ConcurrentModificationException; + +import com.sap.sailing.domain.common.RegattaIdentifier; + +public interface RegattaRegistry { + /** + * @return a thread-safe copy of the regattas currently known by the service; it's safe for callers to iterate over + * the iterable returned, and no risk of a {@link ConcurrentModificationException} exists + */ + Iterable getAllRegattas(); + + Regatta getRegattaByName(String name); + + Regatta getRegatta(RegattaIdentifier regattaIdentifier); +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java index 4a9d0580519..dcb673953c4 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java @@ -39,12 +39,12 @@ public class SeriesImpl extends NamedImpl implements Series, RaceColumnListener fleetsInAscendingOrder = new ArrayList(fleetsByName.values()); Collections.sort(fleetsInAscendingOrder); List myRaceColumns = new ArrayList(); - for (String raceColumnName : raceColumnNames) { - addRaceColumn(raceColumnName, trackedRegattaRegistry); - } this.raceColumns = myRaceColumns; this.isMedal = isMedal; this.listeners = new HashSet(); + for (String raceColumnName : raceColumnNames) { + addRaceColumn(raceColumnName, trackedRegattaRegistry); + } } private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException { diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java index c84db7ea3e9..8779232e614 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java @@ -59,7 +59,7 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe final LeaderboardGroup leaderboardGroup = new LeaderboardGroupImpl(groupName, groupDescription, leaderboards); mongoObjectFactory.storeLeaderboardGroup(leaderboardGroup); - final LeaderboardGroup loadedLeaderboardGroup = domainObjectFactory.loadLeaderboardGroup(groupName); + final LeaderboardGroup loadedLeaderboardGroup = domainObjectFactory.loadLeaderboardGroup(groupName, /* regattaRegistry */ null); Assert.assertEquals(groupName, loadedLeaderboardGroup.getName()); Assert.assertEquals(groupDescription, loadedLeaderboardGroup.getDescription()); @@ -103,7 +103,7 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe mongoObjectFactory.storeFlexibleLeaderboard(ungroupedLeaderboards[1]); mongoObjectFactory.storeFlexibleLeaderboard(ungroupedLeaderboards[2]); - Iterable loadedUngroupedLeaderboards = domainObjectFactory.getLeaderboardsNotInGroup(); + Iterable loadedUngroupedLeaderboards = domainObjectFactory.getLeaderboardsNotInGroup(/* regattaRegistry */ null); Assert.assertTrue(loadedUngroupedLeaderboards.iterator().hasNext()); @@ -147,7 +147,7 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe mongoObjectFactory.renameLeaderboard(leaderboardName, newLeaderboardName); leaderboard.setName(newLeaderboardName); - LeaderboardGroup loadedGroup = domainObjectFactory.loadLeaderboardGroup(groupName); + LeaderboardGroup loadedGroup = domainObjectFactory.loadLeaderboardGroup(groupName, /* regattaRegistry */ null); String loadedLeaderboardName = loadedGroup.getLeaderboards().iterator().next().getName(); Assert.assertEquals(newLeaderboardName, loadedLeaderboardName); @@ -158,13 +158,13 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe mongoObjectFactory.storeFlexibleLeaderboard(leaderboard); //Check if the leaderboard updated correctly - final Leaderboard loadedLeaderboard = domainObjectFactory.loadLeaderboard(leaderboard.getName()); + final Leaderboard loadedLeaderboard = domainObjectFactory.loadLeaderboard(leaderboard.getName(), /* regattaRegistry */ null); final RaceColumn loadedRaceColumnByName = loadedLeaderboard.getRaceColumnByName(columnName); Fleet loadedFleet = loadedRaceColumnByName.getFleetByName(fleet.getName()); Assert.assertEquals(race.getRaceIdentifier(fleet), loadedRaceColumnByName.getRaceIdentifier(loadedFleet)); // Check if the group received the changes - loadedGroup = domainObjectFactory.loadLeaderboardGroup(groupName); + loadedGroup = domainObjectFactory.loadLeaderboardGroup(groupName, /* regattaRegistry */ null); final RaceColumn loadedRaceColumnFromGroupByName = loadedGroup.getLeaderboards().iterator().next().getRaceColumnByName(columnName); Fleet loadedGroupFleet = loadedRaceColumnFromGroupByName.getFleetByName(fleet.getName()); RaceIdentifier loadedIdentifier = loadedRaceColumnFromGroupByName.getRaceIdentifier(loadedGroupFleet); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java index 978391961b6..eb178a541d8 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java @@ -38,7 +38,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { FlexibleLeaderboardImpl leaderboard = new FlexibleLeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowerScoreIsBetter()); new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); - Leaderboard loadedLeaderboard = new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); + Leaderboard loadedLeaderboard = new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); assertEquals(leaderboardName, loadedLeaderboard.getName()); assertTrue(Arrays.equals(discardIndexResultsStartingWithHowManyRaces, loadedLeaderboard.getResultDiscardingRule() .getDiscardIndexResultsStartingWithHowManyRaces())); @@ -57,7 +57,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { leaderboard.addRace(raceWithOneCompetitor, raceColumnName, /* medalRace */ false, leaderboard.getFleet(null)); leaderboard.setCarriedPoints(competitor, carriedPointsForWolfgangHunger); new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); - FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); + FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); // attach tracked race to leaderboard to ensure that competitor object is assigned properly loadedLeaderboard.addRace(raceWithOneCompetitor, raceColumnName, /* medalRace, ignored */ false, leaderboard.getFleet(null)); assertEquals(leaderboardName, loadedLeaderboard.getName()); @@ -84,7 +84,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, leaderboard.getFleet(null)); leaderboard.getScoreCorrection().correctScore(competitor, leaderboard.getRaceColumnByName(raceColumnName1), correctedPoints); new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); - FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); + FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); // attach tracked race to leaderboard to ensure that competitor object is assigned properly RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, leaderboard.getFleet(null)); RaceColumn loadedColumn2 = loadedLeaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace, ignored */ false, leaderboard.getFleet(null)); @@ -110,7 +110,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, leaderboard.getFleet(null)); leaderboard.getScoreCorrection().setMaxPointsReason(competitor, leaderboard.getRaceColumnByName(raceColumnName2), maxPointsReason); new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); - FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); + FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); // attach tracked race to leaderboard to ensure that competitor object is assigned properly RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, leaderboard.getFleet(null)); RaceColumn loadedColumn2 = loadedLeaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace, ignored */ false, leaderboard.getFleet(null)); @@ -138,7 +138,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { leaderboard.getScoreCorrection().correctScore(competitor, leaderboard.getRaceColumnByName(raceColumnName1), correctedPoints); leaderboard.getScoreCorrection().setMaxPointsReason(competitor, leaderboard.getRaceColumnByName(raceColumnName2), maxPointsReason); new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); - FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName); + FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); // attach tracked race to leaderboard to ensure that competitor object is assigned properly RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, leaderboard.getFleet(null)); RaceColumn loadedColumn2 = loadedLeaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace, ignored */ false, leaderboard.getFleet(null)); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java index b684c23a527..b4a5fa48b38 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java @@ -20,6 +20,7 @@ import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; +import com.sap.sailing.domain.base.RegattaRegistry; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.RaceFetcher; import com.sap.sailing.domain.common.RaceIdentifier; @@ -67,20 +68,10 @@ import com.sap.sailing.expeditionconnector.ExpeditionListener; * @author Axel Uhl (d043530) * */ -public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetcher, RaceFetcher { - /** - * @return a thread-safe copy of the regattas currently known by the service; it's safe for callers to iterate over - * the iterable returned, and no risk of a {@link ConcurrentModificationException} exists - */ - Iterable getAllRegattas(); - - Regatta getRegattaByName(String name); - +public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetcher, RegattaRegistry, RaceFetcher { @Override Regatta getRegatta(RegattaName regattaName); - Regatta getRegatta(RegattaIdentifier regattaIdentifier); - @Override RaceDefinition getRace(RegattaAndRaceIdentifier raceIdentifier); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 29c306a8890..0027cea3e5a 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -221,14 +221,14 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen private void loadStoredLeaderboardsAndGroups() { // Loading all leaderboard groups and the contained leaderboards - for (LeaderboardGroup leaderboardGroup : domainObjectFactory.getAllLeaderboardGroups()) { + for (LeaderboardGroup leaderboardGroup : domainObjectFactory.getAllLeaderboardGroups(this)) { leaderboardGroupsByName.put(leaderboardGroup.getName(), leaderboardGroup); for (Leaderboard leaderboard : leaderboardGroup.getLeaderboards()) { leaderboardsByName.put(leaderboard.getName(), leaderboard); } } // Loading the remaining leaderboards - for (Leaderboard leaderboard : domainObjectFactory.getLeaderboardsNotInGroup()) { + for (Leaderboard leaderboard : domainObjectFactory.getLeaderboardsNotInGroup(this)) { leaderboardsByName.put(leaderboard.getName(), leaderboard); } } From f7d897f6e791c0e771e2bb885a7347bb5c1bcd6b Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 6 Jun 2012 15:14:39 +0200 Subject: [PATCH 213/339] a first careful test case for storing/loading RegattaLeaderboard through RacingEventService --- .../persistence/DomainObjectFactory.java | 3 -- .../persistence/MongoObjectFactory.java | 6 +-- .../impl/DomainObjectFactoryImpl.java | 2 - .../impl/MongoObjectFactoryImpl.java | 49 ++++++++++--------- .../sailing/domain/base/impl/SeriesImpl.java | 7 +++ ...estStoringAndLoadingEventsAndRegattas.java | 29 +++++++++++ ...StoringAndRetrievingLeaderboardGroups.java | 8 +-- .../TestStoringAndRetrievingLeaderboards.java | 10 ++-- .../server/impl/RacingEventServiceImpl.java | 8 +-- 9 files changed, 76 insertions(+), 46 deletions(-) diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java index fa771fd96a9..06a5a7a557e 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java @@ -30,19 +30,16 @@ public interface DomainObjectFactory { RaceIdentifier loadRaceIdentifier(DBObject dbObject); /** - * @param regattaRegistry TODO * @return The group with the name name, or null if no such group exists. */ LeaderboardGroup loadLeaderboardGroup(String name, RegattaRegistry regattaRegistry); /** - * @param regattaRegistry TODO * @return All groups in the database. */ Iterable getAllLeaderboardGroups(RegattaRegistry regattaRegistry); /** - * @param regattaRegistry TODO * @return All leaderboards in the database, which aren't contained by a leaderboard group */ Iterable getLeaderboardsNotInGroup(RegattaRegistry regattaRegistry); diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java index 63a1aedf5e1..e8c5a702c8d 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java @@ -6,9 +6,8 @@ import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.WindSource; -import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; +import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; -import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.TrackedRegatta; @@ -30,7 +29,7 @@ public interface MongoObjectFactory { * Stores the configuration data of leaderboard in the Mongo DB associated with this * factory. */ - void storeFlexibleLeaderboard(FlexibleLeaderboard leaderboard); + void storeLeaderboard(Leaderboard leaderboard); /** * Removes the leaderboard named name from the database. @@ -70,5 +69,4 @@ public interface MongoObjectFactory { void removeRegatta(Regatta regatta); - void storeRegattaLeaderboard(RegattaLeaderboard result); } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index dd90965e260..c34bd2b42f1 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -172,7 +172,6 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { /** * If the DBObject has a field {@link FieldNames#REGATTA_NAME} then the object represents a {@link RegattaLeaderboard}. Otherwise, * a {@link FlexibleLeaderboard} will be loaded. - * @param regattaRegistry TODO */ private Leaderboard loadLeaderboard(DBObject dbLeaderboard, RegattaRegistry regattaRegistry) { SettableScoreCorrection scoreCorrection = new ScoreCorrectionImpl(); @@ -199,7 +198,6 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { ThresholdBasedResultDiscardingRule resultDiscardingRule, RegattaRegistry regattaRegistry) { Regatta regatta = regattaRegistry.getRegatta(new RegattaName(regattaName)); RegattaLeaderboard result = new RegattaLeaderboardImpl(regatta, scoreCorrection, resultDiscardingRule, new LowerScoreIsBetter()); - return result; } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java index 52b74286ace..de40695a793 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java @@ -125,7 +125,7 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { } @Override - public void storeFlexibleLeaderboard(FlexibleLeaderboard leaderboard) { + public void storeLeaderboard(Leaderboard leaderboard) { DBCollection leaderboardCollection = database.getCollection(CollectionNames.LEADERBOARDS.name()); try { leaderboardCollection.ensureIndex(FieldNames.LEADERBOARD_NAME.name()); @@ -134,29 +134,46 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { logger.throwing(MongoObjectFactoryImpl.class.getName(), "storeLeaderboard", npe); } BasicDBObject query = new BasicDBObject(FieldNames.LEADERBOARD_NAME.name(), leaderboard.getName()); - BasicDBObject result = new BasicDBObject(); - result.put(FieldNames.LEADERBOARD_NAME.name(), leaderboard.getName()); + BasicDBObject dbLeaderboard = new BasicDBObject(); + if (leaderboard instanceof FlexibleLeaderboard) { + storeFlexibleLeaderboard((FlexibleLeaderboard) leaderboard, dbLeaderboard); + } else if (leaderboard instanceof RegattaLeaderboard) { + storeRegattaLeaderboard((RegattaLeaderboard) leaderboard, dbLeaderboard); + } + storeLeaderboardCorrections(leaderboard, dbLeaderboard); + leaderboardCollection.update(query, dbLeaderboard, /* upsrt */ true, /* multi */ false); + } + + private void storeRegattaLeaderboard(RegattaLeaderboard leaderboard, DBObject dbLeaderboard) { + dbLeaderboard.put(FieldNames.REGATTA_NAME.name(), leaderboard.getRegatta().getName()); + } + + private void storeFlexibleLeaderboard(FlexibleLeaderboard leaderboard, BasicDBObject dbLeaderboard) { + dbLeaderboard.put(FieldNames.LEADERBOARD_NAME.name(), leaderboard.getName()); BasicDBList dbRaceColumns = new BasicDBList(); - result.put(FieldNames.LEADERBOARD_COLUMNS.name(), dbRaceColumns); + dbLeaderboard.put(FieldNames.LEADERBOARD_COLUMNS.name(), dbRaceColumns); for (RaceColumn raceColumn : leaderboard.getRaceColumns()) { BasicDBObject dbRaceColumn = storeRaceColumn(raceColumn); dbRaceColumns.add(dbRaceColumn); } + } + + private void storeLeaderboardCorrections(Leaderboard leaderboard, BasicDBObject dbLeaderboard) { if (leaderboard.hasCarriedPoints()) { BasicDBObject dbCarriedPoints = new BasicDBObject(); - result.put(FieldNames.LEADERBOARD_CARRIED_POINTS.name(), dbCarriedPoints); + dbLeaderboard.put(FieldNames.LEADERBOARD_CARRIED_POINTS.name(), dbCarriedPoints); for (Competitor competitor : leaderboard.getCompetitors()) { dbCarriedPoints.put(MongoUtils.escapeDollarAndDot(competitor.getName()), leaderboard.getCarriedPoints(competitor)); } } BasicDBObject dbScoreCorrections = new BasicDBObject(); storeScoreCorrections(leaderboard, dbScoreCorrections); - result.put(FieldNames.LEADERBOARD_SCORE_CORRECTIONS.name(), dbScoreCorrections); + dbLeaderboard.put(FieldNames.LEADERBOARD_SCORE_CORRECTIONS.name(), dbScoreCorrections); BasicDBList dbResultDiscardingThresholds = new BasicDBList(); for (int threshold : leaderboard.getResultDiscardingRule().getDiscardIndexResultsStartingWithHowManyRaces()) { dbResultDiscardingThresholds.add(threshold); } - result.put(FieldNames.LEADERBOARD_DISCARDING_THRESHOLDS.name(), dbResultDiscardingThresholds); + dbLeaderboard.put(FieldNames.LEADERBOARD_DISCARDING_THRESHOLDS.name(), dbResultDiscardingThresholds); BasicDBObject competitorDisplayNames = new BasicDBObject(); for (Competitor competitor : leaderboard.getCompetitors()) { String displayNameForCompetitor = leaderboard.getDisplayName(competitor); @@ -164,14 +181,7 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { competitorDisplayNames.put(MongoUtils.escapeDollarAndDot(competitor.getName()), displayNameForCompetitor); } } - result.put(FieldNames.LEADERBOARD_COMPETITOR_DISPLAY_NAMES.name(), competitorDisplayNames); - leaderboardCollection.update(query, result, /* upsrt */ true, /* multi */ false); - } - - @Override - public void storeRegattaLeaderboard(RegattaLeaderboard result) { - // TODO Auto-generated method stub - + dbLeaderboard.put(FieldNames.LEADERBOARD_COMPETITOR_DISPLAY_NAMES.name(), competitorDisplayNames); } private BasicDBObject storeRaceColumn(RaceColumn raceColumn) { @@ -257,15 +267,6 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { leaderboardGroupCollection.update(query, result, true, false); } - private void storeLeaderboard(Leaderboard leaderboard) { - if (leaderboard instanceof FlexibleLeaderboard) { - storeFlexibleLeaderboard((FlexibleLeaderboard) leaderboard); - } else if (leaderboard instanceof RegattaLeaderboard) { - storeRegattaLeaderboard((RegattaLeaderboard) leaderboard); - } - - } - @Override public void removeLeaderboardGroup(String groupName) { DBCollection leaderboardGroupCollection = database.getCollection(CollectionNames.LEADERBOARD_GROUPS.name()); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java index dcb673953c4..754b9dc81cd 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java @@ -17,6 +17,7 @@ import com.sap.sailing.domain.base.RaceColumnListener; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.common.impl.NamedImpl; +import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; @@ -29,9 +30,15 @@ public class SeriesImpl extends NamedImpl implements Series, RaceColumnListener private Regatta regatta; private transient Set listeners; + /** + * @param fleets must be non-empty + */ public SeriesImpl(String name, boolean isMedal, Iterable fleets, Iterable raceColumnNames, TrackedRegattaRegistry trackedRegattaRegistry) { super(name); + if (fleets == null || Util.isEmpty(fleets)) { + throw new IllegalArgumentException("Series must have at least one fleet"); + } this.fleetsByName = new HashMap(); for (Fleet fleet : fleets) { this.fleetsByName.put(fleet.getName(), fleet); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 6d65f42c6d3..5ca6be8c211 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -4,6 +4,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import java.util.ArrayList; @@ -31,9 +32,13 @@ import com.sap.sailing.domain.base.impl.VenueImpl; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.RegattaNameAndRaceName; import com.sap.sailing.domain.common.impl.Util; +import com.sap.sailing.domain.leaderboard.Leaderboard; +import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.persistence.DomainObjectFactory; import com.sap.sailing.domain.persistence.MongoFactory; import com.sap.sailing.domain.persistence.MongoObjectFactory; +import com.sap.sailing.server.RacingEventService; +import com.sap.sailing.server.impl.RacingEventServiceImpl; public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest { @Test @@ -64,6 +69,30 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest } } + @Test + public void testLoadStoreSimpleRegattaLeaderboard() { + RacingEventService res = new RacingEventServiceImpl(getMongoService()); + final int numberOfQualifyingRaces = 5; + final int numberOfFinalRaces = 7; + final String regattaBaseName = "Kieler Woche"; + BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); + Regatta regattaProxy = createRegatta(numberOfQualifyingRaces, numberOfFinalRaces, regattaBaseName, boatClass); + Regatta regatta = res.createRegatta(regattaProxy.getBaseName(), regattaProxy.getBoatClass().getName(), + regattaProxy.getSeries(), regattaProxy.isPersistent()); + res.addRegattaLeaderboard(regatta.getRegattaIdentifier(), new int[] { 3, 5 }); + DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(getMongoService()); + Regatta loadedRegatta = dof.loadRegatta(regatta.getName(), /* trackedRegattaRegistry */ null); + assertNotNull(loadedRegatta); + assertEquals(regatta.getName(), loadedRegatta.getName()); + assertEquals(Util.size(regatta.getSeries()), Util.size(loadedRegatta.getSeries())); + + Leaderboard loadedLeaderboard = dof.loadLeaderboard(regatta.getName(), res); + assertNotNull(loadedLeaderboard); + assertTrue(loadedLeaderboard instanceof RegattaLeaderboard); + RegattaLeaderboard loadedRegattaLeaderboard = (RegattaLeaderboard) loadedLeaderboard; + assertSame(regatta, loadedRegattaLeaderboard.getRegatta()); + } + @Test public void testLoadStoreSimpleRegatta() { final int numberOfQualifyingRaces = 5; diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java index 8779232e614..35308772027 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboardGroups.java @@ -99,9 +99,9 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowerScoreIsBetter()), new FlexibleLeaderboardImpl(ungroupedLeaderboardNames[2], new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowerScoreIsBetter()) }; - mongoObjectFactory.storeFlexibleLeaderboard(ungroupedLeaderboards[0]); - mongoObjectFactory.storeFlexibleLeaderboard(ungroupedLeaderboards[1]); - mongoObjectFactory.storeFlexibleLeaderboard(ungroupedLeaderboards[2]); + mongoObjectFactory.storeLeaderboard(ungroupedLeaderboards[0]); + mongoObjectFactory.storeLeaderboard(ungroupedLeaderboards[1]); + mongoObjectFactory.storeLeaderboard(ungroupedLeaderboards[2]); Iterable loadedUngroupedLeaderboards = domainObjectFactory.getLeaderboardsNotInGroup(/* regattaRegistry */ null); @@ -155,7 +155,7 @@ public class TestStoringAndRetrievingLeaderboardGroups extends AbstractMongoDBTe final String regattaName = "Event"; final String raceName = "Race"; leaderboard.getRaceColumnByName(columnName).setRaceIdentifier(fleet, new RegattaNameAndRaceName(regattaName, raceName)); - mongoObjectFactory.storeFlexibleLeaderboard(leaderboard); + mongoObjectFactory.storeLeaderboard(leaderboard); //Check if the leaderboard updated correctly final Leaderboard loadedLeaderboard = domainObjectFactory.loadLeaderboard(leaderboard.getName(), /* regattaRegistry */ null); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java index eb178a541d8..81a1cfb05f9 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingLeaderboards.java @@ -37,7 +37,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { final int[] discardIndexResultsStartingWithHowManyRaces = new int[] { 5, 8 }; FlexibleLeaderboardImpl leaderboard = new FlexibleLeaderboardImpl(leaderboardName, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl(discardIndexResultsStartingWithHowManyRaces), new LowerScoreIsBetter()); - new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); + new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); Leaderboard loadedLeaderboard = new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); assertEquals(leaderboardName, loadedLeaderboard.getName()); assertTrue(Arrays.equals(discardIndexResultsStartingWithHowManyRaces, loadedLeaderboard.getResultDiscardingRule() @@ -56,7 +56,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { TrackedRace raceWithOneCompetitor = new MockedTrackedRaceWithFixedRank(competitor, /* rank */ 1, /* started */ true); leaderboard.addRace(raceWithOneCompetitor, raceColumnName, /* medalRace */ false, leaderboard.getFleet(null)); leaderboard.setCarriedPoints(competitor, carriedPointsForWolfgangHunger); - new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); + new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); // attach tracked race to leaderboard to ensure that competitor object is assigned properly loadedLeaderboard.addRace(raceWithOneCompetitor, raceColumnName, /* medalRace, ignored */ false, leaderboard.getFleet(null)); @@ -83,7 +83,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false, leaderboard.getFleet(null)); leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, leaderboard.getFleet(null)); leaderboard.getScoreCorrection().correctScore(competitor, leaderboard.getRaceColumnByName(raceColumnName1), correctedPoints); - new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); + new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); // attach tracked race to leaderboard to ensure that competitor object is assigned properly RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, leaderboard.getFleet(null)); @@ -109,7 +109,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { leaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace */ false, leaderboard.getFleet(null)); leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, leaderboard.getFleet(null)); leaderboard.getScoreCorrection().setMaxPointsReason(competitor, leaderboard.getRaceColumnByName(raceColumnName2), maxPointsReason); - new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); + new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); // attach tracked race to leaderboard to ensure that competitor object is assigned properly RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, leaderboard.getFleet(null)); @@ -137,7 +137,7 @@ public class TestStoringAndRetrievingLeaderboards extends AbstractMongoDBTest { leaderboard.addRace(raceWithOneCompetitor2, raceColumnName2, /* medalRace */ true, leaderboard.getFleet(null)); leaderboard.getScoreCorrection().correctScore(competitor, leaderboard.getRaceColumnByName(raceColumnName1), correctedPoints); leaderboard.getScoreCorrection().setMaxPointsReason(competitor, leaderboard.getRaceColumnByName(raceColumnName2), maxPointsReason); - new MongoObjectFactoryImpl(db).storeFlexibleLeaderboard(leaderboard); + new MongoObjectFactoryImpl(db).storeLeaderboard(leaderboard); FlexibleLeaderboard loadedLeaderboard = (FlexibleLeaderboard) new DomainObjectFactoryImpl(db).loadLeaderboard(leaderboardName, /* regattaRegistry */ null); // attach tracked race to leaderboard to ensure that competitor object is assigned properly RaceColumn loadedColumn1 = loadedLeaderboard.addRace(raceWithOneCompetitor1, raceColumnName1, /* medalRace, ignored */ false, leaderboard.getFleet(null)); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 8f83bdfeb0c..e2ff9d968bf 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -243,7 +243,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } leaderboardsByName.put(name, result); } - mongoObjectFactory.storeFlexibleLeaderboard(result); + mongoObjectFactory.storeLeaderboard(result); return result; } @@ -260,7 +260,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } leaderboardsByName.put(result.getName(), result); } - mongoObjectFactory.storeRegattaLeaderboard(result); + mongoObjectFactory.storeLeaderboard(result); } else { logger.warning("Cannot find regatta "+regattaIdentifier+". Hence, cannot create regatta leaderboard for it."); } @@ -346,13 +346,13 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public void updateStoredFlexibleLeaderboard(FlexibleLeaderboard leaderboard) { - mongoObjectFactory.storeFlexibleLeaderboard(leaderboard); + mongoObjectFactory.storeLeaderboard(leaderboard); syncGroupsAfterLeaderboardChange(leaderboard, true); } @Override public void updateStoredRegattaLeaderboard(RegattaLeaderboard leaderboard) { - mongoObjectFactory.storeRegattaLeaderboard(leaderboard); + mongoObjectFactory.storeLeaderboard(leaderboard); syncGroupsAfterLeaderboardChange(leaderboard, true); } From 937da4ecc679eafc2a16756aed9b874763eb887f Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 6 Jun 2012 15:39:29 +0200 Subject: [PATCH 214/339] first regatta leaderboard store/load test successful --- .../impl/DomainObjectFactoryImpl.java | 2 +- .../impl/MongoObjectFactoryImpl.java | 2 +- ...estStoringAndLoadingEventsAndRegattas.java | 65 +++++++++++++------ 3 files changed, 46 insertions(+), 23 deletions(-) diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index c34bd2b42f1..97ee2c83392 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -485,7 +485,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { DBCollection regattaCollection = database.getCollection(CollectionNames.REGATTAS.name()); DBObject dbRegatta = regattaCollection.findOne(query); Regatta result = loadRegatta(dbRegatta, trackedRegattaRegistry); - assert result.getName().equals(name); + assert result == null || result.getName().equals(name); return result; } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java index de40695a793..2635ce4b79a 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java @@ -135,6 +135,7 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { } BasicDBObject query = new BasicDBObject(FieldNames.LEADERBOARD_NAME.name(), leaderboard.getName()); BasicDBObject dbLeaderboard = new BasicDBObject(); + dbLeaderboard.put(FieldNames.LEADERBOARD_NAME.name(), leaderboard.getName()); if (leaderboard instanceof FlexibleLeaderboard) { storeFlexibleLeaderboard((FlexibleLeaderboard) leaderboard, dbLeaderboard); } else if (leaderboard instanceof RegattaLeaderboard) { @@ -149,7 +150,6 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { } private void storeFlexibleLeaderboard(FlexibleLeaderboard leaderboard, BasicDBObject dbLeaderboard) { - dbLeaderboard.put(FieldNames.LEADERBOARD_NAME.name(), leaderboard.getName()); BasicDBList dbRaceColumns = new BasicDBList(); dbLeaderboard.put(FieldNames.LEADERBOARD_COLUMNS.name(), dbRaceColumns); for (RaceColumn raceColumn : leaderboard.getRaceColumns()) { diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 5ca6be8c211..30ce8d1342b 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -8,6 +8,7 @@ import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import java.util.ArrayList; +import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -76,9 +77,10 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest final int numberOfFinalRaces = 7; final String regattaBaseName = "Kieler Woche"; BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); - Regatta regattaProxy = createRegatta(numberOfQualifyingRaces, numberOfFinalRaces, regattaBaseName, boatClass); + Regatta regattaProxy = createRegatta(regattaBaseName, boatClass, /* persistent */ true); Regatta regatta = res.createRegatta(regattaProxy.getBaseName(), regattaProxy.getBoatClass().getName(), regattaProxy.getSeries(), regattaProxy.isPersistent()); + addRaceColumns(numberOfQualifyingRaces, numberOfFinalRaces, regatta); res.addRegattaLeaderboard(regatta.getRegattaIdentifier(), new int[] { 3, 5 }); DomainObjectFactory dof = MongoFactory.INSTANCE.getDomainObjectFactory(getMongoService()); Regatta loadedRegatta = dof.loadRegatta(regatta.getName(), /* trackedRegattaRegistry */ null); @@ -99,7 +101,8 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest final int numberOfFinalRaces = 7; final String regattaBaseName = "Kieler Woche"; BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); - Regatta regatta = createRegatta(numberOfQualifyingRaces, numberOfFinalRaces, regattaBaseName, boatClass); + Regatta regatta = createRegattaAndAddRaceColumns(numberOfQualifyingRaces, numberOfFinalRaces, regattaBaseName, + boatClass, /* persistent */false); MongoObjectFactory mof = MongoFactory.INSTANCE.getMongoObjectFactory(getMongoService()); mof.storeRegatta(regatta); @@ -123,7 +126,8 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest final int numberOfFinalRaces = 7; final String regattaBaseName = "Kieler Woche"; BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); - Regatta regatta = createRegatta(numberOfQualifyingRaces, numberOfFinalRaces, regattaBaseName, boatClass); + Regatta regatta = createRegattaAndAddRaceColumns(numberOfQualifyingRaces, numberOfFinalRaces, regattaBaseName, boatClass, + /* persistent */ false); MongoObjectFactory mof = MongoFactory.INSTANCE.getMongoObjectFactory(getMongoService()); mof.storeRegatta(regatta); @@ -161,7 +165,8 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest final int numberOfFinalRaces = 7; final String regattaBaseName = "Kieler Woche"; BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); - Regatta regatta = createRegatta(numberOfQualifyingRaces, numberOfFinalRaces, regattaBaseName, boatClass); + Regatta regatta = createRegattaAndAddRaceColumns(numberOfQualifyingRaces, numberOfFinalRaces, regattaBaseName, boatClass, + /* persistent */ false); Series qualifyingSeries = regatta.getSeries().iterator().next(); RaceColumn q2 = qualifyingSeries.getRaceColumnByName("Q2"); final RegattaNameAndRaceName q2TrackedRaceIdentifier = new RegattaNameAndRaceName(regatta.getName(), "Q2 TracTrac"); @@ -180,43 +185,61 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest assertNull(loadedQualifyingSeries.getRaceColumnByName("Q2").getRaceIdentifier(loadedQualifyingSeries.getFleetByName("Blue"))); } - private Regatta createRegatta(final int numberOfQualifyingRaces, final int numberOfFinalRaces, - final String regattaBaseName, BoatClass boatClass) { + private Regatta createRegattaAndAddRaceColumns(final int numberOfQualifyingRaces, final int numberOfFinalRaces, + final String regattaBaseName, BoatClass boatClass, boolean persistent) { + Regatta regatta = createRegatta(regattaBaseName, boatClass, persistent); + addRaceColumns(numberOfQualifyingRaces, numberOfFinalRaces, regatta); + return regatta; + } + + private void addRaceColumns(final int numberOfQualifyingRaces, final int numberOfFinalRaces, Regatta regatta) { + List finalRaceColumnNames = new ArrayList(); + for (int i=1; i<=numberOfFinalRaces; i++) { + finalRaceColumnNames.add("F"+i); + } + List qualifyingRaceColumnNames = new ArrayList(); + for (int i=1; i<=numberOfQualifyingRaces; i++) { + qualifyingRaceColumnNames.add("Q"+i); + } + List medalRaceColumnNames = new ArrayList(); + medalRaceColumnNames.add("M"); + addRaceColumnsToSeries(qualifyingRaceColumnNames, regatta.getSeriesByName("Qualifying")); + addRaceColumnsToSeries(finalRaceColumnNames, regatta.getSeriesByName("Final")); + addRaceColumnsToSeries(medalRaceColumnNames, regatta.getSeriesByName("Medal")); + } + + private Regatta createRegatta(final String regattaBaseName, BoatClass boatClass, boolean persistent) { + List emptyRaceColumnNames = Collections.emptyList(); List series = new ArrayList(); // -------- qualifying series ------------ List qualifyingFleets = new ArrayList(); qualifyingFleets.add(new FleetImpl("Yellow")); qualifyingFleets.add(new FleetImpl("Blue")); - List qualifyingRaceColumnNames = new ArrayList(); - for (int i=1; i<=numberOfQualifyingRaces; i++) { - qualifyingRaceColumnNames.add("Q"+i); - } Series qualifyingSeries = new SeriesImpl("Qualifying", /* isMedal */false, qualifyingFleets, - qualifyingRaceColumnNames, /* trackedRegattaRegistry */ null); + emptyRaceColumnNames, /* trackedRegattaRegistry */ null); series.add(qualifyingSeries); // -------- final series ------------ List finalFleets = new ArrayList(); finalFleets.add(new FleetImpl("Gold", 1)); finalFleets.add(new FleetImpl("Silver", 2)); - List finalRaceColumnNames = new ArrayList(); - for (int i=1; i<=numberOfFinalRaces; i++) { - finalRaceColumnNames.add("F"+i); - } - Series finalSeries = new SeriesImpl("Final", /* isMedal */ false, finalFleets, finalRaceColumnNames, /* trackedRegattaRegistry */ null); + Series finalSeries = new SeriesImpl("Final", /* isMedal */ false, finalFleets, emptyRaceColumnNames, /* trackedRegattaRegistry */ null); series.add(finalSeries); // ------------ medal -------------- List medalFleets = new ArrayList(); medalFleets.add(new FleetImpl("Medal")); - List medalRaceColumnNames = new ArrayList(); - medalRaceColumnNames.add("M"); - Series medalSeries = new SeriesImpl("Medal", /* isMedal */ true, medalFleets, medalRaceColumnNames, /* trackedRegattaRegistry */ null); + Series medalSeries = new SeriesImpl("Medal", /* isMedal */ true, medalFleets, emptyRaceColumnNames, /* trackedRegattaRegistry */ null); series.add(medalSeries); - - Regatta regatta = new RegattaImpl(regattaBaseName, boatClass, series, /* persistent */ false); + Regatta regatta = new RegattaImpl(regattaBaseName, boatClass, series, persistent); return regatta; } + + private void addRaceColumnsToSeries(List finalRaceColumnNames, Series finalSeries) { + for (String raceColumnName : finalRaceColumnNames) { + finalSeries.addRaceColumn(raceColumnName, /* trackedRegattaRegistry */ null); + } + } } From ace0080f339d9a32cb8fd3684b14a030899bdc08 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 6 Jun 2012 16:35:02 +0200 Subject: [PATCH 215/339] enhanced test case for storing/loading regatta leaderboard --- .../domain/test/AbstractLeaderboardTest.java | 2 +- .../domain/base/impl/AbstractRaceColumn.java | 5 ++ .../gwt/ui/server/SailingServiceImpl.java | 8 ++- .../META-INF/MANIFEST.MF | 5 +- ...estStoringAndLoadingEventsAndRegattas.java | 58 +++++++++++++++++++ .../server/impl/RacingEventServiceImpl.java | 2 +- .../UpdateLeaderboardMaxPointsReason.java | 10 +--- .../UpdateLeaderboardScoreCorrection.java | 11 ++-- 8 files changed, 82 insertions(+), 19 deletions(-) diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/AbstractLeaderboardTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/AbstractLeaderboardTest.java index e1df2d642fa..8f559ea6aef 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/AbstractLeaderboardTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/AbstractLeaderboardTest.java @@ -10,7 +10,7 @@ import com.sap.sailing.domain.base.impl.PersonImpl; import com.sap.sailing.domain.base.impl.TeamImpl; public abstract class AbstractLeaderboardTest { - protected CompetitorImpl createCompetitor(String competitorName) { + public static CompetitorImpl createCompetitor(String competitorName) { return new CompetitorImpl(123, competitorName, new TeamImpl("STG", Collections.singleton( new PersonImpl(competitorName, new NationalityImpl("GER"), /* dateOfBirth */ null, "This is famous "+competitorName)), diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java index 3ccc5d824d6..c84ec3918dd 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java @@ -139,4 +139,9 @@ public abstract class AbstractRaceColumn implements RaceColumn { } return null; } + + @Override + public String toString() { + return getName(); + } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 7fceba5be3b..ec3c03faaae 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -1453,13 +1453,17 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS @Override public Pair updateLeaderboardMaxPointsReason(String leaderboardName, String competitorIdAsString, String raceColumnName, MaxPointsReason maxPointsReason, Date date) throws NoWindException { - return getService().apply(new UpdateLeaderboardMaxPointsReason(leaderboardName, raceColumnName, competitorIdAsString, maxPointsReason, date)); + return getService().apply( + new UpdateLeaderboardMaxPointsReason(leaderboardName, raceColumnName, competitorIdAsString, + maxPointsReason, new MillisecondsTimePoint(date))); } @Override public Triple updateLeaderboardScoreCorrection(String leaderboardName, String competitorIdAsString, String columnName, Integer correctedScore, Date date) throws NoWindException { - return getService().apply(new UpdateLeaderboardScoreCorrection(leaderboardName, columnName, competitorIdAsString, correctedScore, date)); + return getService().apply( + new UpdateLeaderboardScoreCorrection(leaderboardName, columnName, competitorIdAsString, correctedScore, + new MillisecondsTimePoint(date))); } @Override diff --git a/java/com.sap.sailing.mongodb.test/META-INF/MANIFEST.MF b/java/com.sap.sailing.mongodb.test/META-INF/MANIFEST.MF index c14ea238322..28651f6409b 100755 --- a/java/com.sap.sailing.mongodb.test/META-INF/MANIFEST.MF +++ b/java/com.sap.sailing.mongodb.test/META-INF/MANIFEST.MF @@ -14,7 +14,10 @@ Require-Bundle: com.mongodb.driver;bundle-version="2.6.2", org.eclipse.osgi, com.sap.sailing.domain.persistence, com.sap.sailing.server, - com.sap.sailing.domain.common + com.sap.sailing.domain.common, + com.sap.sailing.expeditionconnector, + org.json.simple;bundle-version="1.1.0", + com.sap.sailing.domain.swisstimingadapter Import-Package: junit.framework;version="4.8.1", org.junit;version="4.8.1" diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 30ce8d1342b..50fc0162b65 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -8,6 +8,7 @@ import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -15,22 +16,27 @@ import java.util.List; import org.junit.Test; import com.sap.sailing.domain.base.BoatClass; +import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.CourseArea; import com.sap.sailing.domain.base.DomainFactory; import com.sap.sailing.domain.base.Event; import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.base.RaceColumnInSeries; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.base.Venue; import com.sap.sailing.domain.base.impl.CourseAreaImpl; import com.sap.sailing.domain.base.impl.EventImpl; import com.sap.sailing.domain.base.impl.FleetImpl; +import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; import com.sap.sailing.domain.base.impl.RaceColumnInSeriesImpl; import com.sap.sailing.domain.base.impl.RegattaImpl; import com.sap.sailing.domain.base.impl.SeriesImpl; import com.sap.sailing.domain.base.impl.VenueImpl; +import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.RaceIdentifier; +import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.RegattaNameAndRaceName; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.leaderboard.Leaderboard; @@ -38,8 +44,13 @@ import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.persistence.DomainObjectFactory; import com.sap.sailing.domain.persistence.MongoFactory; import com.sap.sailing.domain.persistence.MongoObjectFactory; +import com.sap.sailing.domain.test.AbstractLeaderboardTest; +import com.sap.sailing.domain.test.MockedTrackedRaceWithFixedRank; +import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.impl.RacingEventServiceImpl; +import com.sap.sailing.server.operationaltransformation.ConnectTrackedRaceToLeaderboardColumn; +import com.sap.sailing.server.operationaltransformation.UpdateLeaderboardMaxPointsReason; public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest { @Test @@ -95,6 +106,53 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest assertSame(regatta, loadedRegattaLeaderboard.getRegatta()); } + @Test + public void testLoadStoreRegattaLeaderboardWithScoreCorrections() { + Competitor hasso = AbstractLeaderboardTest.createCompetitor("Dr. Hasso Plattner"); + final TrackedRace q2YellowTrackedRace = new MockedTrackedRaceWithFixedRank(hasso, /* rank */ 1, /* started */ false) { + private static final long serialVersionUID = 1234L; + @Override + public RegattaAndRaceIdentifier getRaceIdentifier() { + return new RegattaNameAndRaceName("Kieler Woche (29erXX)", "Yellow Race 2"); + } + }; + RacingEventService res = new RacingEventServiceImpl(getMongoService()) { + @Override + public TrackedRace getExistingTrackedRace(RaceIdentifier raceIdentifier) { + return q2YellowTrackedRace; + } + }; + final int numberOfQualifyingRaces = 5; + final int numberOfFinalRaces = 7; + final String regattaBaseName = "Kieler Woche"; + BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); + Regatta regattaProxy = createRegatta(regattaBaseName, boatClass, /* persistent */ true); + Regatta regatta = res.createRegatta(regattaProxy.getBaseName(), regattaProxy.getBoatClass().getName(), + regattaProxy.getSeries(), regattaProxy.isPersistent()); + addRaceColumns(numberOfQualifyingRaces, numberOfFinalRaces, regatta); + RegattaLeaderboard regattaLeaderboard = res.addRegattaLeaderboard(regatta.getRegattaIdentifier(), new int[] { 3, 5 }); + final RaceColumnInSeries q2 = regatta.getSeriesByName("Qualifying").getRaceColumnByName("Q2"); + final Fleet yellow = q2.getFleetByName("Yellow"); + res.apply(new ConnectTrackedRaceToLeaderboardColumn(regattaLeaderboard.getName(), q2.getName(), yellow + .getName(), q2YellowTrackedRace.getRaceIdentifier())); + res.apply(new UpdateLeaderboardMaxPointsReason(regattaLeaderboard.getName(), q2.getName(), hasso.getId().toString(), + MaxPointsReason.DNF, MillisecondsTimePoint.now())); + RacingEventService resForLoading = new RacingEventServiceImpl(getMongoService()); + Regatta loadedRegatta = resForLoading.getRegattaByName("Kieler Woche (29erXX)"); + assertNotNull(loadedRegatta); + assertEquals(regatta.getName(), loadedRegatta.getName()); + assertEquals(Util.size(regatta.getSeries()), Util.size(loadedRegatta.getSeries())); + Leaderboard loadedLeaderboard = resForLoading.getLeaderboardByName(loadedRegatta.getName()); + assertNotNull(loadedLeaderboard); + assertEquals(regattaLeaderboard.getResultDiscardingRule().getDiscardIndexResultsStartingWithHowManyRaces().length, + loadedLeaderboard.getResultDiscardingRule().getDiscardIndexResultsStartingWithHowManyRaces().length); + assertTrue(Arrays.equals(regattaLeaderboard.getResultDiscardingRule().getDiscardIndexResultsStartingWithHowManyRaces(), + loadedLeaderboard.getResultDiscardingRule().getDiscardIndexResultsStartingWithHowManyRaces())); + assertTrue(loadedLeaderboard instanceof RegattaLeaderboard); + RegattaLeaderboard loadedRegattaLeaderboard = (RegattaLeaderboard) loadedLeaderboard; + assertSame(loadedRegatta, loadedRegattaLeaderboard.getRegatta()); + } + @Test public void testLoadStoreSimpleRegatta() { final int numberOfQualifyingRaces = 5; diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index e2ff9d968bf..536bba8d284 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -198,8 +198,8 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen // Add one default leaderboard that aggregates all races currently tracked by this service. // This is more for debugging purposes than for anything else. addFlexibleLeaderboard(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME, new int[] { 5, 8 }); - loadStoredLeaderboardsAndGroups(); loadStoredRegattas(); + loadStoredLeaderboardsAndGroups(); loadStoredEvents(); } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardMaxPointsReason.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardMaxPointsReason.java index 8823372df1e..6c352a492f6 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardMaxPointsReason.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardMaxPointsReason.java @@ -1,10 +1,7 @@ package com.sap.sailing.server.operationaltransformation; -import java.util.Date; - import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.RaceColumn; -import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.NoWindException; import com.sap.sailing.domain.common.TimePoint; @@ -18,14 +15,14 @@ public class UpdateLeaderboardMaxPointsReason extends AbstractLeaderboardColumnO private static final long serialVersionUID = -492130952256848047L; private final String competitorIdAsString; private final MaxPointsReason newMaxPointsReason; - private final Date date; + private final TimePoint timePoint; public UpdateLeaderboardMaxPointsReason(String leaderboardName, String columnName, String competitorIdAsString, - MaxPointsReason newMaxPointsReason, Date date) { + MaxPointsReason newMaxPointsReason, TimePoint timePoint) { super(leaderboardName, columnName); this.competitorIdAsString = competitorIdAsString; this.newMaxPointsReason = newMaxPointsReason; - this.date = date; + this.timePoint = timePoint; } @Override @@ -42,7 +39,6 @@ public class UpdateLeaderboardMaxPointsReason extends AbstractLeaderboardColumnO @Override public Pair internalApplyTo(RacingEventService toState) throws NoWindException { - TimePoint timePoint = new MillisecondsTimePoint(date); Leaderboard leaderboard = toState.getLeaderboardByName(getLeaderboardName()); if (leaderboard != null) { Competitor competitor = leaderboard.getCompetitorByIdAsString(competitorIdAsString); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardScoreCorrection.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardScoreCorrection.java index 3aac641a997..eae5804b30b 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardScoreCorrection.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/UpdateLeaderboardScoreCorrection.java @@ -1,11 +1,9 @@ package com.sap.sailing.server.operationaltransformation; -import java.util.Date; - import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.RaceColumn; -import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; import com.sap.sailing.domain.common.NoWindException; +import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.server.RacingEventService; @@ -15,14 +13,14 @@ public class UpdateLeaderboardScoreCorrection extends AbstractLeaderboardColumnO private static final long serialVersionUID = -977025759476022993L; private final String competitorIdAsString; private final Integer correctedScore; - private final Date date; + private final TimePoint timePoint; public UpdateLeaderboardScoreCorrection(String leaderboardName, String columnName, String competitorIdAsString, - Integer correctedScore, Date date) { + Integer correctedScore, TimePoint timePoint) { super(leaderboardName, columnName); this.competitorIdAsString = competitorIdAsString; this.correctedScore = correctedScore; - this.date = date; + this.timePoint = timePoint; } @Override @@ -44,7 +42,6 @@ public class UpdateLeaderboardScoreCorrection extends AbstractLeaderboardColumnO int newTotalPoints; boolean isScoreCorrected; if (leaderboard != null) { - MillisecondsTimePoint timePoint = new MillisecondsTimePoint(date); Competitor competitor = leaderboard.getCompetitorByIdAsString(competitorIdAsString); if (competitor != null) { RaceColumn raceColumn = leaderboard.getRaceColumnByName(getColumnName()); From d28d18113263c9f2258bb0a62ac612e71e02f500 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 6 Jun 2012 17:02:23 +0200 Subject: [PATCH 216/339] set wind through REST/JSON only for existing tracked races, avoiding blocking --- .../src/com/sap/sailing/server/impl/AdminApp.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/AdminApp.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/AdminApp.java index 2a75102d142..9c45f01c98f 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/AdminApp.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/AdminApp.java @@ -337,8 +337,10 @@ public class AdminApp extends Servlet { try { TimePoint timePoint = getTimePoint(req, PARAM_NAME_TIME, PARAM_NAME_TIME_MILLIS, MillisecondsTimePoint.now()); Wind wind = new WindImpl(p, timePoint, speed); - final DynamicTrackedRace trackedRace = getService().getOrCreateTrackedRegatta(regatta).getTrackedRace(race); - trackedRace.recordWind(wind, trackedRace.getWindSources(WindSourceType.WEB).iterator().next()); + final DynamicTrackedRace trackedRace = getService().getOrCreateTrackedRegatta(regatta).getExistingTrackedRace(race); + if (trackedRace != null) { + trackedRace.recordWind(wind, trackedRace.getWindSources(WindSourceType.WEB).iterator().next()); + } } catch (InvalidDateException ex) { resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Couldn't parse time specification " + ex.getMessage()); } From 8ca0ad7f5db49d1b48aa766f47a3535f0f95f88d Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 6 Jun 2012 17:08:55 +0200 Subject: [PATCH 217/339] use WEB WindSource explicitly, not expecting it to already exist --- .../src/com/sap/sailing/server/impl/AdminApp.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/AdminApp.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/AdminApp.java index 9c45f01c98f..1d28bdb7238 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/AdminApp.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/AdminApp.java @@ -20,8 +20,8 @@ import org.json.simple.JSONArray; import org.json.simple.JSONObject; import com.mongodb.MongoException; -import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.RaceDefinition; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.SpeedWithBearing; import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl; import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; @@ -35,6 +35,7 @@ import com.sap.sailing.domain.common.WindSourceType; import com.sap.sailing.domain.common.impl.DegreeBearingImpl; import com.sap.sailing.domain.common.impl.DegreePosition; import com.sap.sailing.domain.common.impl.Util.Triple; +import com.sap.sailing.domain.common.impl.WindSourceImpl; import com.sap.sailing.domain.persistence.MongoFactory; import com.sap.sailing.domain.persistence.MongoWindStoreFactory; import com.sap.sailing.domain.tracking.DynamicTrackedRace; @@ -339,7 +340,7 @@ public class AdminApp extends Servlet { Wind wind = new WindImpl(p, timePoint, speed); final DynamicTrackedRace trackedRace = getService().getOrCreateTrackedRegatta(regatta).getExistingTrackedRace(race); if (trackedRace != null) { - trackedRace.recordWind(wind, trackedRace.getWindSources(WindSourceType.WEB).iterator().next()); + trackedRace.recordWind(wind, new WindSourceImpl(WindSourceType.WEB)); } } catch (InvalidDateException ex) { resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Couldn't parse time specification " + ex.getMessage()); From 7975291d48db5ba4a15845abbfdff231a2c81887 Mon Sep 17 00:00:00 2001 From: fmittag Date: Wed, 6 Jun 2012 18:58:58 +0200 Subject: [PATCH 218/339] finished basic creation of regattas with series and fleets etc. --- .../sailing/domain/common/impl/RGBColor.java | 10 +- .../impl/DomainObjectFactoryImpl.java | 21 ++- .../domain/persistence/impl/FieldNames.java | 1 + .../impl/MongoObjectFactoryImpl.java | 9 ++ .../EventStructureManagementPanel.java | 111 ++++++++++--- .../{GroupColors.java => FleetColors.java} | 4 +- ...gattaWithSeriesAndFleetsCreateDialog.java} | 10 +- ...java => SeriesWithFleetsCreateDialog.java} | 148 ++++++++++-------- .../sailing/gwt/ui/client/SailingService.java | 5 +- .../gwt/ui/client/SailingServiceAsync.java | 5 +- .../sailing/gwt/ui/client/StringMessages.java | 5 +- .../gwt/ui/client/StringMessages.properties | 5 +- .../ui/client/StringMessages_de.properties | 7 +- .../gwt/ui/server/SailingServiceImpl.java | 40 +++-- .../sap/sailing/gwt/ui/shared/SeriesDTO.java | 1 + .../server/impl/RacingEventServiceImpl.java | 11 +- .../AddSpecificRegatta.java | 14 +- 17 files changed, 271 insertions(+), 136 deletions(-) rename java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/{GroupColors.java => FleetColors.java} (86%) rename java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/{RegattaWithSeriesAndGroupsCreateDialog.java => RegattaWithSeriesAndFleetsCreateDialog.java} (95%) rename java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/{SeriesWithGroupsCreateDialog.java => SeriesWithFleetsCreateDialog.java} (54%) diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RGBColor.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RGBColor.java index 22030ddc1c2..8e4baad7f90 100644 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RGBColor.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/impl/RGBColor.java @@ -35,6 +35,14 @@ public class RGBColor implements Color { @Override public String getAsHtml() { - return "#" + Integer.toHexString(red) + Integer.toHexString(green) + Integer.toHexString(blue); + return "#" + toBrowserHexValue(red) + toBrowserHexValue(green) + toBrowserHexValue(blue); + } + + private static String toBrowserHexValue(int number) { + StringBuilder builder = new StringBuilder(Integer.toHexString(number & 0xff)); + while (builder.length() < 2) { + builder.append("0"); + } + return builder.toString().toUpperCase(); } } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index 3d2dc7d0b16..37139dec5e4 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -35,6 +35,7 @@ import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; import com.sap.sailing.domain.base.impl.RegattaImpl; import com.sap.sailing.domain.base.impl.SeriesImpl; import com.sap.sailing.domain.base.impl.VenueImpl; +import com.sap.sailing.domain.common.Color; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.Position; import com.sap.sailing.domain.common.RaceIdentifier; @@ -44,6 +45,7 @@ import com.sap.sailing.domain.common.WindSource; import com.sap.sailing.domain.common.WindSourceType; import com.sap.sailing.domain.common.impl.DegreeBearingImpl; import com.sap.sailing.domain.common.impl.DegreePosition; +import com.sap.sailing.domain.common.impl.RGBColor; import com.sap.sailing.domain.common.impl.WindSourceImpl; import com.sap.sailing.domain.common.impl.WindSourceWithAdditionalID; import com.sap.sailing.domain.leaderboard.Leaderboard; @@ -533,15 +535,22 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { } private Fleet loadFleet(DBObject dbFleet) { + Fleet result; String name = (String) dbFleet.get(FieldNames.FLEET_NAME.name()); Integer ordering = (Integer) dbFleet.get(FieldNames.FLEET_ORDERING.name()); - Fleet result; - if (ordering != null) { - result = new FleetImpl(name, ordering); - } else { - result = new FleetImpl(name); + if (ordering == null) { + ordering = 0; } + Integer colorAsInt = (Integer) dbFleet.get(FieldNames.FLEET_COLOR.name()); + Color color = null; + if(colorAsInt != null) { + int r = colorAsInt % 256; + int g = (colorAsInt / 256 ) % 256; + int b = (colorAsInt / 256 / 256) % 256; + color = new RGBColor(r, g, b); + } + result = new FleetImpl(name, ordering, color); + return result; } - } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java index c82dba6c98f..f9aeb9e1bf5 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java @@ -20,6 +20,7 @@ public enum FieldNames { SERIES_RACE_COLUMNS, FLEET_NAME, FLEET_ORDERING, + FLEET_COLOR, RACE_NAME, diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java index 52b74286ace..1b48f260344 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java @@ -26,6 +26,7 @@ import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.Speed; import com.sap.sailing.domain.common.WindSource; +import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.domain.leaderboard.Leaderboard; import com.sap.sailing.domain.leaderboard.LeaderboardGroup; @@ -359,6 +360,14 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { DBObject dbFleet = new BasicDBObject(FieldNames.FLEET_NAME.name(), fleet.getName()); if (fleet instanceof FleetImpl) { dbFleet.put(FieldNames.FLEET_ORDERING.name(), ((FleetImpl) fleet).getOrdering()); + if(fleet.getColor() != null) { + Triple colorAsRGB = fleet.getColor().getAsRGB(); + // we save the color as a integer value representing the RGB values + int colorAsInt = (256 * 256 * colorAsRGB.getC()) + colorAsRGB.getB() * 256 + colorAsRGB.getA(); + dbFleet.put(FieldNames.FLEET_COLOR.name(), colorAsInt); + } else { + dbFleet.put(FieldNames.FLEET_COLOR.name(), null); + } } return dbFleet; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java index a36dd617a01..40fb0265e97 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java @@ -6,12 +6,16 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import com.google.gwt.cell.client.SafeHtmlCell; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ChangeEvent; import com.google.gwt.event.dom.client.ChangeHandler; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; +import com.google.gwt.safehtml.shared.SafeHtml; +import com.google.gwt.safehtml.shared.SafeHtmlBuilder; import com.google.gwt.user.cellview.client.CellTable; +import com.google.gwt.user.cellview.client.Column; import com.google.gwt.user.cellview.client.TextColumn; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Button; @@ -22,9 +26,11 @@ import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.view.client.ListDataProvider; -import com.google.gwt.view.client.MultiSelectionModel; import com.google.gwt.view.client.SelectionChangeEvent; +import com.google.gwt.view.client.SingleSelectionModel; +import com.sap.sailing.domain.common.Color; import com.sap.sailing.domain.common.impl.Util.Pair; +import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.gwt.ui.client.ErrorReporter; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; @@ -53,7 +59,7 @@ public class EventStructureManagementPanel extends SimplePanel { private Label eventVenueLabel; private CellTable regattaTable; - private MultiSelectionModel regattaSelectionModel; + private SingleSelectionModel regattaSelectionModel; private ListDataProvider regattaProvider; private final AdminConsoleTableResources tableRes = GWT.create(AdminConsoleTableResources.class); @@ -123,28 +129,75 @@ public class EventStructureManagementPanel extends SimplePanel { } }; - TextColumn regattaSeriesColumn = new TextColumn() { + TextColumn regattaBoatClassColumn = new TextColumn() { @Override public String getValue(RegattaDTO regatta) { - String result = ""; - boolean first = true; + return regatta.boatClass.name; + } + }; + + final SafeHtmlCell seriesCell = new SafeHtmlCell(); + Column regattaSeriesColumn = new Column(seriesCell) { + @Override + public SafeHtml getValue(RegattaDTO regatta) { + SafeHtmlBuilder builder = new SafeHtmlBuilder(); + + int seriesCount = regatta.series.size(); + int i = 1; for (SeriesDTO serie : regatta.series) { - if (!first) { - result += "; "; + builder.appendEscaped(i + ". " + serie.name); + if(serie.isMedal()) { + builder.appendEscaped(" (" + stringMessages.medalSeries() + ")"); } - result += serie.name; - first = false; + if(i < seriesCount) { + builder.appendHtmlConstant("
"); + } + i++; } - return result; + return builder.toSafeHtml(); + } + }; + + final SafeHtmlCell fleetsCell = new SafeHtmlCell(); + Column regattaFleetsColumn = new Column(fleetsCell) { + @Override + public SafeHtml getValue(RegattaDTO regatta) { + SafeHtmlBuilder builder = new SafeHtmlBuilder(); + + int seriesCount = regatta.series.size(); + int i = 1; + for (SeriesDTO serie : regatta.series) { + int fleetsCount = serie.getFleets().size(); + int j = 1; + for(FleetDTO fleet: serie.getFleets()) { + builder.appendEscaped(j + ". " + fleet.name); + builder.appendEscaped(" (" + fleet.getOrderNo() + ") "); + if(fleet.getColor() != null) { + builder.appendEscaped(" color: " + fleet.getColor().getAsHtml()); + } else { + } + if(j < fleetsCount) { + builder.appendEscaped(", "); + } + j++; + } + if(i < seriesCount) { + builder.appendHtmlConstant("
"); + } + i++; + } + return builder.toSafeHtml(); } }; regattaTable = new CellTable(200, tableRes); regattaTable.setWidth("100%"); regattaTable.addColumn(regattaNameColumn, stringMessages.regattaName()); - regattaTable.addColumn(regattaSeriesColumn, stringMessages.name()); - - regattaSelectionModel = new MultiSelectionModel(); + regattaTable.addColumn(regattaBoatClassColumn, stringMessages.boatClass()); + regattaTable.addColumn(regattaSeriesColumn, stringMessages.series()); + regattaTable.addColumn(regattaFleetsColumn, stringMessages.fleets()); + + regattaSelectionModel = new SingleSelectionModel(); regattaSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { @@ -197,7 +250,7 @@ public class EventStructureManagementPanel extends SimplePanel { } private void openCreateRegattaDialog() { - RegattaWithSeriesAndGroupsCreateDialog dialog = new RegattaWithSeriesAndGroupsCreateDialog(Collections.unmodifiableCollection(selectedEvent.regattas), stringMessages, + RegattaWithSeriesAndFleetsCreateDialog dialog = new RegattaWithSeriesAndFleetsCreateDialog(Collections.unmodifiableCollection(selectedEvent.regattas), stringMessages, new AsyncCallback() { @Override public void onFailure(Throwable t) { @@ -215,6 +268,21 @@ public class EventStructureManagementPanel extends SimplePanel { if (selectedEvent != null) { eventDetailsCaptionPanel.setCaptionText(selectedEvent.name); eventVenueLabel.setText(stringMessages.venue() + ": " + selectedEvent.venue.name); + + // load the regattas for this event + sailingService.getRegattas(new AsyncCallback>() { + @Override + public void onFailure(Throwable t) { + errorReporter.reportError("Error trying to read regattas of event " + selectedEvent.name + ": " + t.getMessage()); + } + + @Override + public void onSuccess(List regattas) { + regattaProvider.getList().clear(); + regattaProvider.getList().addAll(regattas); + } + }); + } } @@ -236,24 +304,25 @@ public class EventStructureManagementPanel extends SimplePanel { } private void createNewRegatta(final RegattaDTO newRegatta) { - Map>, Boolean>> seriesStructure = new HashMap>, Boolean>>(); + Map>, Boolean>> seriesStructure = new HashMap>, Boolean>>(); for(SeriesDTO seriesDTO : newRegatta.series) { - List> fleets = new ArrayList>(); + List> fleets = new ArrayList>(); for(FleetDTO fleetDTO : seriesDTO.getFleets()) { - Pair fleetPair = new Pair(fleetDTO.name, fleetDTO.getOrderNo()); - fleets.add(fleetPair); + Triple fleetTriple = new Triple(fleetDTO.name, fleetDTO.getOrderNo(), fleetDTO.getColor()); + fleets.add(fleetTriple); } - Pair>, Boolean> seriesPair = new Pair>, Boolean>(fleets, seriesDTO.isMedal()); + Pair>, Boolean> seriesPair = new Pair>, Boolean>(fleets, seriesDTO.isMedal()); seriesStructure.put(seriesDTO.name, seriesPair); } - sailingService.createRegatta(newRegatta.name, newRegatta.boatClass.name, seriesStructure, true, new AsyncCallback() { + sailingService.createRegatta(newRegatta.name, newRegatta.boatClass.name, seriesStructure, true, new AsyncCallback() { @Override public void onFailure(Throwable t) { errorReporter.reportError("Error trying to create new regatta" + newRegatta.name + ": " + t.getMessage()); } @Override - public void onSuccess(Void nothing) { + public void onSuccess(RegattaDTO regatta) { + regattaProvider.getList().add(regatta); } }); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/GroupColors.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/FleetColors.java similarity index 86% rename from java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/GroupColors.java rename to java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/FleetColors.java index bd1c69190a9..8595c9872d3 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/GroupColors.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/FleetColors.java @@ -3,7 +3,7 @@ package com.sap.sailing.gwt.ui.adminconsole; import com.sap.sailing.domain.common.Color; import com.sap.sailing.domain.common.impl.RGBColor; -public enum GroupColors { +public enum FleetColors { GOLD (255, 215, 0), SILVER (201, 192, 187), BRONZE (205, 127, 50), @@ -15,7 +15,7 @@ public enum GroupColors { private Color color; - GroupColors(int red, int green, int blue) { + FleetColors(int red, int green, int blue) { color = new RGBColor(red, green, blue); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndFleetsCreateDialog.java similarity index 95% rename from java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java rename to java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndFleetsCreateDialog.java index e6a3b7ebf6d..f87be44c660 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndGroupsCreateDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndFleetsCreateDialog.java @@ -22,7 +22,7 @@ import com.sap.sailing.gwt.ui.shared.BoatClassDTO; import com.sap.sailing.gwt.ui.shared.RegattaDTO; import com.sap.sailing.gwt.ui.shared.SeriesDTO; -public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog { +public class RegattaWithSeriesAndFleetsCreateDialog extends DataEntryDialog { private StringMessages stringConstants; private RegattaDTO regatta; @@ -104,7 +104,7 @@ public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog existingRegattas, StringMessages stringConstants, + public RegattaWithSeriesAndFleetsCreateDialog(Collection existingRegattas, StringMessages stringConstants, AsyncCallback callback) { super(stringConstants.regatta(), null, stringConstants.ok(), stringConstants.cancel(), new RegattaParameterValidator(stringConstants, existingRegattas), callback); @@ -156,7 +156,7 @@ public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog() { @Override public void onFailure(Throwable t) { @@ -192,9 +192,9 @@ public class RegattaWithSeriesAndGroupsCreateDialog extends DataEntryDialog 0) { - seriesGrid.setHTML(i*2+1, 1, seriesDTO.getFleets().size() + " groups: " + seriesDTO.getFleets().toString()); + seriesGrid.setHTML(i*2+1, 1, seriesDTO.getFleets().size() + " fleets: " + seriesDTO.getFleets().toString()); } else { - seriesGrid.setHTML(i*2+1, 1, seriesDTO.getFleets().size() + " No groups defined."); + seriesGrid.setHTML(i*2+1, 1, seriesDTO.getFleets().size() + " No fleets defined."); } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithGroupsCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithFleetsCreateDialog.java similarity index 54% rename from java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithGroupsCreateDialog.java rename to java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithFleetsCreateDialog.java index d1e966c9d4d..7893a3f58f2 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithGroupsCreateDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithFleetsCreateDialog.java @@ -5,11 +5,11 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; -import com.google.gwt.dom.client.Style.FontWeight; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Button; +import com.google.gwt.user.client.ui.CheckBox; import com.google.gwt.user.client.ui.Grid; import com.google.gwt.user.client.ui.IntegerBox; import com.google.gwt.user.client.ui.Label; @@ -18,24 +18,24 @@ import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.domain.common.Color; -import com.sap.sailing.domain.common.impl.RGBColor; import com.sap.sailing.gwt.ui.client.DataEntryDialog; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.FleetDTO; import com.sap.sailing.gwt.ui.shared.SeriesDTO; -public class SeriesWithGroupsCreateDialog extends DataEntryDialog { +public class SeriesWithFleetsCreateDialog extends DataEntryDialog { private StringMessages stringConstants; private SeriesDTO series; private TextBox nameEntryField; + private CheckBox isMedalSeriesCheckbox; - private List groupNameEntryFields; - private List groupColorEntryFields; - private List groupOrderNoEntryFields; + private List fleetNameEntryFields; + private List fleetColorEntryFields; + private List fleetOrderNoEntryFields; - private Grid groupsGrid; + private Grid fleetsGrid; protected static class SeriesParameterValidator implements Validator { @@ -67,34 +67,34 @@ public class SeriesWithGroupsCreateDialog extends DataEntryDialog { } if(errorMessage == null) { - List groupsToValidate = seriesToValidate.getFleets(); + List fleetsToValidate = seriesToValidate.getFleets(); int index = 0; - boolean groupNameNotEmpty = true; + boolean fleetNameNotEmpty = true; - for (FleetDTO group : groupsToValidate) { - groupNameNotEmpty = group.name != null && group.name.length() > 0; - if(!groupNameNotEmpty) { + for (FleetDTO fleet : fleetsToValidate) { + fleetNameNotEmpty = fleet.name != null && fleet.name.length() > 0; + if(!fleetNameNotEmpty) { break; } index++; } int index2 = 0; - boolean groupUnique = true; + boolean fleetUnique = true; HashSet setToFindDuplicates = new HashSet(); - for (FleetDTO group: groupsToValidate) { - if(!setToFindDuplicates.add(group.name)) { - groupUnique = false; + for (FleetDTO fleet: fleetsToValidate) { + if(!setToFindDuplicates.add(fleet.name)) { + fleetUnique = false; break; } index2++; } - if (!groupNameNotEmpty) { - errorMessage = stringConstants.group() + " " + (index + 1) + ": " + stringConstants.pleaseEnterNonEmptyName(); - } else if (!groupUnique) { - errorMessage = stringConstants.group() + " " + (index2 + 1) + ": " + stringConstants.groupWithThisNameAlreadyExists(); + if (!fleetNameNotEmpty) { + errorMessage = stringConstants.fleet() + " " + (index + 1) + ": " + stringConstants.pleaseEnterNonEmptyName(); + } else if (!fleetUnique) { + errorMessage = stringConstants.fleet() + " " + (index2 + 1) + ": " + stringConstants.fleetWithThisNameAlreadyExists(); } } @@ -104,7 +104,7 @@ public class SeriesWithGroupsCreateDialog extends DataEntryDialog { } - public SeriesWithGroupsCreateDialog(Collection existingSeries, StringMessages stringConstants, + public SeriesWithFleetsCreateDialog(Collection existingSeries, StringMessages stringConstants, AsyncCallback callback) { super(stringConstants.series(), null, stringConstants.ok(), stringConstants.cancel(), new SeriesParameterValidator(stringConstants, existingSeries), callback); @@ -114,46 +114,53 @@ public class SeriesWithGroupsCreateDialog extends DataEntryDialog { nameEntryField = createTextBox(null); nameEntryField.setWidth("200px"); - groupNameEntryFields = new ArrayList(); - groupColorEntryFields = new ArrayList(); - groupOrderNoEntryFields = new ArrayList(); + isMedalSeriesCheckbox = createCheckbox(stringConstants.medalSeries()); + + fleetNameEntryFields = new ArrayList(); + fleetColorEntryFields = new ArrayList(); + fleetOrderNoEntryFields = new ArrayList(); - groupsGrid = new Grid(0, 0); + fleetsGrid = new Grid(0, 0); + + // create at least one fleet + createFleetNameWidget("Default"); + createFleetOrderNoWidget(0); + createFleetColorWidget(null); } - private Widget createGroupNameWidget(String defaultName) { + private Widget createFleetNameWidget(String defaultName) { TextBox textBox = createTextBox(defaultName); - textBox.setWidth("200px"); - groupNameEntryFields.add(textBox); + textBox.setWidth("175px"); + fleetNameEntryFields.add(textBox); return textBox; } - private Widget createGroupColorWidget(Color defaultColor) { + private Widget createFleetColorWidget(Color defaultColor) { ListBox listBox = createListBox(false); - for(GroupColors value: GroupColors.values()) + for(FleetColors value: FleetColors.values()) listBox.addItem(value.name()); - groupColorEntryFields.add(listBox); + fleetColorEntryFields.add(listBox); return listBox; } - private Widget createGroupOrderNoWidget(int defaultValue) { + private Widget createFleetOrderNoWidget(int defaultValue) { IntegerBox intBox = createIntegerBox(defaultValue, 3); - groupOrderNoEntryFields.add(intBox); + fleetOrderNoEntryFields.add(intBox); return intBox; } @Override protected SeriesDTO getResult() { series.name = nameEntryField.getText(); + series.setMedal(isMedalSeriesCheckbox.getValue()); List fleets = new ArrayList(); - int groupsCount = groupNameEntryFields.size(); + int groupsCount = fleetNameEntryFields.size(); for(int i = 0; i < groupsCount; i++) { FleetDTO fleetDTO = new FleetDTO(); - fleetDTO.name = groupNameEntryFields.get(i).getValue(); - Color color = new RGBColor(0, 0, 0); - fleetDTO.setColor(color); - fleetDTO.setOrderNo(groupOrderNoEntryFields.get(i).getValue()); + fleetDTO.name = fleetNameEntryFields.get(i).getValue(); + fleetDTO.setColor(getSelectedColor(fleetColorEntryFields.get(i))); + fleetDTO.setOrderNo(fleetOrderNoEntryFields.get(i).getValue()); fleets.add(fleetDTO); } @@ -162,6 +169,22 @@ public class SeriesWithGroupsCreateDialog extends DataEntryDialog { return series; } + private Color getSelectedColor(ListBox colorListBox) { + Color result = null; + int selIndex = colorListBox.getSelectedIndex(); + if(selIndex >= 0) { + String value = colorListBox.getValue(selIndex); + for(FleetColors color: FleetColors.values()) { + if(color.name().equals(value)) { + result = color.getColor(); + break; + } + } + } + + return result; + } + @Override protected Widget getAdditionalWidget() { final VerticalPanel panel = new VerticalPanel(); @@ -174,49 +197,48 @@ public class SeriesWithGroupsCreateDialog extends DataEntryDialog { formGrid.setWidget(0, 0, new Label(stringConstants.name() + ":")); formGrid.setWidget(0, 1, nameEntryField); + formGrid.setWidget(1, 1, isMedalSeriesCheckbox); - panel.add(createHeadlineLabel(stringConstants.groups())); - panel.add(groupsGrid); + panel.add(createHeadlineLabel(stringConstants.fleets())); + panel.add(fleetsGrid); - Button addGroupButton = new Button("Add group"); + Button addGroupButton = new Button("Add fleet"); addGroupButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { - createGroupNameWidget(null); - createGroupOrderNoWidget(0); - createGroupColorWidget(null); - updateGroupsGrid(panel); + createFleetNameWidget(null); + createFleetOrderNoWidget(0); + createFleetColorWidget(null); + updateFleetsGrid(panel); } }); panel.add(addGroupButton); + updateFleetsGrid(panel); + return panel; } - private void updateGroupsGrid(VerticalPanel parentPanel) { - int widgetIndex = parentPanel.getWidgetIndex(groupsGrid); - parentPanel.remove(groupsGrid); + private void updateFleetsGrid(VerticalPanel parentPanel) { + int widgetIndex = parentPanel.getWidgetIndex(fleetsGrid); + parentPanel.remove(fleetsGrid); - int groupsCount = groupNameEntryFields.size(); - groupsGrid = new Grid(groupsCount + 1, 4); - groupsGrid.setCellSpacing(3); + int fleetCount = fleetNameEntryFields.size(); + fleetsGrid = new Grid(fleetCount + 1, 3); + fleetsGrid.setCellSpacing(4); - groupsGrid.setHTML(0, 1, stringConstants.name()); - groupsGrid.setHTML(0, 2, stringConstants.no()); - groupsGrid.setHTML(0, 3, stringConstants.color()); + fleetsGrid.setHTML(0, 0, stringConstants.name()); + fleetsGrid.setHTML(0, 1, stringConstants.no()); + fleetsGrid.setHTML(0, 2, stringConstants.color()); - for(int i = 0; i < groupsCount; i++) { - Label groupLabel = new Label((i+1) + ". " + stringConstants.group() + ":"); - groupLabel.getElement().getStyle().setFontWeight(FontWeight.BOLD); - groupLabel.setWordWrap(false); - groupsGrid.setWidget(i+1, 0, groupLabel); - groupsGrid.setWidget(i+1, 1, groupNameEntryFields.get(i)); - groupsGrid.setWidget(i+1, 2, groupOrderNoEntryFields.get(i)); - groupsGrid.setWidget(i+1, 3, groupColorEntryFields.get(i)); + for(int i = 0; i < fleetCount; i++) { + fleetsGrid.setWidget(i+1, 0, fleetNameEntryFields.get(i)); + fleetsGrid.setWidget(i+1, 1, fleetOrderNoEntryFields.get(i)); + fleetsGrid.setWidget(i+1, 2, fleetColorEntryFields.get(i)); } - parentPanel.insert(groupsGrid, widgetIndex); + parentPanel.insert(fleetsGrid, widgetIndex); } @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java index 66c71531fe0..2fa2ddf9745 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java @@ -7,6 +7,7 @@ import java.util.Map; import com.google.gwt.user.client.rpc.RemoteService; import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; +import com.sap.sailing.domain.common.Color; import com.sap.sailing.domain.common.DetailType; import com.sap.sailing.domain.common.MaxPointsReason; import com.sap.sailing.domain.common.NoWindException; @@ -124,8 +125,8 @@ public interface SailingService extends RemoteService { void moveLeaderboardColumnDown(String leaderboardName, String columnName); - void createRegatta(String regattaName, String boatClassName, - Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal, + RegattaDTO createRegatta(String regattaName, String boatClassName, + Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal, boolean persistent); void removeRegatta(RegattaIdentifier regattaIdentifier); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java index 86fc0e1e1b8..c19a47950ca 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Map; import com.google.gwt.user.client.rpc.AsyncCallback; +import com.sap.sailing.domain.common.Color; import com.sap.sailing.domain.common.DetailType; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; import com.sap.sailing.domain.common.RegattaIdentifier; @@ -382,6 +383,6 @@ public interface SailingServiceAsync { AsyncCallback callback); void createRegatta(String regattaName, String boatClassName, - Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal, - boolean persistent, AsyncCallback callback); + Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal, + boolean persistent, AsyncCallback callback); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java index 6691d9aebe1..6319cc55e84 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java @@ -310,9 +310,10 @@ public interface StringMessages extends Messages { String pleaseSelectABoatClass(); String regattaWithThisNameAlreadyExists(); String seriesWithThisNameAlreadyExists(); + String fleetWithThisNameAlreadyExists(); + String fleets(); String series(); String splitFleet(); - String group(); - String groups(); String color(); + String medalSeries(); } \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index c8a7cf6411a..f2e583082f3 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -308,8 +308,9 @@ venue=Venue pleaseSelectABoatClass=Please select a boat class. regattaWithThisNameAlreadyExists=A regatta with this name already exists. seriesWithThisNameAlreadyExists=A series with this name already exists. +fleetWithThisNameAlreadyExists=A fleet with this name already exists. +fleets=Fleets series=Series splitFleet=Split fleet -group=Group -groups=Groups color=Color +medalSeries=Medal Series diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index 140dd900ff8..405a3161dc7 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -310,7 +310,8 @@ pleaseSelectABoatClass=Bitte wählen Sie eine Bootsklasse aus. regattaWithThisNameAlreadyExists=Eine Regatta mit diesem Namen existiert bereits. seriesWithThisNameAlreadyExists=Eine Serie mit diesem Namen existiert bereits. series=Serie +fleetWithThisNameAlreadyExists=Eine Flotte mit diesem Namen existiert bereits. +fleets=Flotten splitFleet=Aufteilung in Gruppen -group=Gruppe -groups=Gruppen -color=Farbe \ No newline at end of file +color=Farbe +medalSeries=Medal Series diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 7fceba5be3b..bfaf2a70577 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -55,6 +55,7 @@ import com.sap.sailing.domain.base.impl.KnotSpeedWithBearingImpl; import com.sap.sailing.domain.base.impl.MeterDistance; import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; import com.sap.sailing.domain.common.Bearing; +import com.sap.sailing.domain.common.Color; import com.sap.sailing.domain.common.CountryCode; import com.sap.sailing.domain.common.DetailType; import com.sap.sailing.domain.common.Distance; @@ -457,24 +458,30 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS public List getRegattas() throws IllegalArgumentException { List result = new ArrayList(); for (Regatta regatta : getService().getAllRegattas()) { - List competitorList = getCompetitorDTOs(regatta.getCompetitors()); - RegattaDTO regattaDTO = new RegattaDTO(regatta.getName(), competitorList); - regattaDTO.races = getRaceDTOs(regatta); - regattaDTO.series = getSeriesDTOs(regatta); - BoatClass boatClass = regatta.getBoatClass(); - if (boatClass != null) { - regattaDTO.boatClass = new BoatClassDTO(boatClass.getName(), boatClass.getHullLength().getMeters()); - } - if (!regattaDTO.races.isEmpty()) { - for (RaceDTO race : regattaDTO.races) { - race.setRegatta(regattaDTO); - } - result.add(regattaDTO); - } +// if(Util.size(regatta.getAllRaces()) > 0) { + result.add(getRegattaDTO(regatta)); +// } } return result; } + private RegattaDTO getRegattaDTO(Regatta regatta) { + List competitorList = getCompetitorDTOs(regatta.getCompetitors()); + RegattaDTO regattaDTO = new RegattaDTO(regatta.getName(), competitorList); + regattaDTO.races = getRaceDTOs(regatta); + regattaDTO.series = getSeriesDTOs(regatta); + BoatClass boatClass = regatta.getBoatClass(); + if (boatClass != null) { + regattaDTO.boatClass = new BoatClassDTO(boatClass.getName(), boatClass.getHullLength().getMeters()); + } + if (!regattaDTO.races.isEmpty()) { + for (RaceDTO race : regattaDTO.races) { + race.setRegatta(regattaDTO); + } + } + return regattaDTO; + } + private List getSeriesDTOs(Regatta regatta) { List result = new ArrayList(); for (Series series : regatta.getSeries()) { @@ -1964,9 +1971,10 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS } @Override - public void createRegatta(String regattaName, String boatClassName, Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal, boolean persistent) { - getService().apply( + public RegattaDTO createRegatta(String regattaName, String boatClassName, Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal, boolean persistent) { + Regatta regatta = getService().apply( new AddSpecificRegatta(regattaName, boatClassName, seriesNamesWithFleetNamesAndFleetOrderingAndMedal, persistent)); + return getRegattaDTO(regatta); } } \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java index 73e42ebf06a..e2c32c8f8fc 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SeriesDTO.java @@ -15,6 +15,7 @@ public class SeriesDTO extends NamedDTO implements IsSerializable { super(name); this.fleets = fleets; this.raceColumnNames = raceColumnNames; + this.isMedal = isMedal; } /** diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index ea601ded209..9f36cd95a92 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -40,6 +40,7 @@ import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.base.impl.EventImpl; import com.sap.sailing.domain.base.impl.RegattaImpl; +import com.sap.sailing.domain.common.Color; import com.sap.sailing.domain.common.DefaultLeaderboardName; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; @@ -645,15 +646,15 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } } - private Map>, Boolean>> getSeriesWithoutRaceColumnsConstructionParametersAsMap(Regatta regatta) { - Map>, Boolean>> result = new HashMap>, Boolean>>(); + private Map>, Boolean>> getSeriesWithoutRaceColumnsConstructionParametersAsMap(Regatta regatta) { + Map>, Boolean>> result = new HashMap>, Boolean>>(); for (Series s : regatta.getSeries()) { assert Util.isEmpty(s.getRaceColumns()); - List> fleetNamesAndOrdering = new ArrayList>(); + List> fleetNamesAndOrdering = new ArrayList>(); for (Fleet f : s.getFleets()) { - fleetNamesAndOrdering.add(new Pair(f.getName(), f.getOrdering())); + fleetNamesAndOrdering.add(new Triple(f.getName(), f.getOrdering(), f.getColor())); } - result.put(s.getName(), new Pair>, Boolean>(fleetNamesAndOrdering, s.isMedal())); + result.put(s.getName(), new Pair>, Boolean>(fleetNamesAndOrdering, s.isMedal())); } return result; } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddSpecificRegatta.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddSpecificRegatta.java index 099b80dc188..3f89b7e0c6d 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddSpecificRegatta.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/AddSpecificRegatta.java @@ -10,17 +10,19 @@ import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Series; import com.sap.sailing.domain.base.impl.FleetImpl; import com.sap.sailing.domain.base.impl.SeriesImpl; +import com.sap.sailing.domain.common.Color; import com.sap.sailing.domain.common.impl.Util.Pair; +import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.RacingEventServiceOperation; public class AddSpecificRegatta extends AbstractAddRegattaOperation { private static final long serialVersionUID = -8018855620167669352L; - private final Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal; + private final Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrderingAndMedal; private final boolean persistent; - public AddSpecificRegatta(String regattaName, String boatClassName, Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrdering, boolean persistent) { + public AddSpecificRegatta(String regattaName, String boatClassName, Map>, Boolean>> seriesNamesWithFleetNamesAndFleetOrdering, boolean persistent) { super(regattaName, boatClassName); this.seriesNamesWithFleetNamesAndFleetOrderingAndMedal = seriesNamesWithFleetNamesAndFleetOrdering; this.persistent = persistent; @@ -33,7 +35,7 @@ public class AddSpecificRegatta extends AbstractAddRegattaOperation { private Iterable createSeries(TrackedRegattaRegistry trackedRegattaRegistry) { List result = new ArrayList(); - for (Map.Entry>, Boolean>> e : seriesNamesWithFleetNamesAndFleetOrderingAndMedal.entrySet()) { + for (Map.Entry>, Boolean>> e : seriesNamesWithFleetNamesAndFleetOrderingAndMedal.entrySet()) { final List emptyRaceColumnNamesList = Collections.emptyList(); Series s = new SeriesImpl(e.getKey(), /* isMedal */ e.getValue().getB(), createFleets(e.getValue().getA()), emptyRaceColumnNamesList, trackedRegattaRegistry); result.add(s); @@ -41,10 +43,10 @@ public class AddSpecificRegatta extends AbstractAddRegattaOperation { return result; } - private Iterable createFleets(List> fleetNamesAndOrdering) { + private Iterable createFleets(List> fleetNamesAndOrderingAndColor) { List result = new ArrayList(); - for (Pair fleetNameAndOrdering : fleetNamesAndOrdering) { - Fleet fleet = new FleetImpl(fleetNameAndOrdering.getA(), fleetNameAndOrdering.getB()); + for (Triple fleetNameAndOrderingAndColor : fleetNamesAndOrderingAndColor) { + Fleet fleet = new FleetImpl(fleetNameAndOrderingAndColor.getA(), fleetNameAndOrderingAndColor.getB(), fleetNameAndOrderingAndColor.getC()); result.add(fleet); } return result; From b090e11b5eb90b818eb63d8d8d5cf95f5a2bf82d Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 6 Jun 2012 20:55:12 +0200 Subject: [PATCH 219/339] added persistence for raceID-to-Regatta associations in RacingEventServiceImpl --- .../persistence/DomainObjectFactory.java | 2 + .../persistence/MongoObjectFactory.java | 2 + .../persistence/impl/CollectionNames.java | 8 ++- .../impl/DomainObjectFactoryImpl.java | 15 +++++ .../domain/persistence/impl/FieldNames.java | 5 +- .../impl/MongoObjectFactoryImpl.java | 8 +++ .../impl/SwissTimingRaceTrackerImpl.java | 1 + .../test/DummyTrackedRegattaRegistry.java | 10 ++++ .../test/MockedTrackedRaceWithFixedRank.java | 59 ++++++++++++------- ...edRaceWithFixedRankAndManyCompetitors.java | 5 ++ .../impl/DomainFactoryImpl.java | 2 +- .../impl/TracTracRaceTrackerImpl.java | 1 + .../sailing/domain/base/RaceDefinition.java | 2 +- .../base/impl/RaceColumnInSeriesImpl.java | 2 + .../domain/base/impl/RaceDefinitionImpl.java | 13 ++++ .../tracking/TrackedRegattaRegistry.java | 21 +++++++ .../tracking/impl/TrackedRegattaImpl.java | 22 +++---- ...estStoringAndLoadingEventsAndRegattas.java | 29 ++++++--- .../server/impl/RacingEventServiceImpl.java | 24 ++++++++ 19 files changed, 187 insertions(+), 44 deletions(-) diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java index 06a5a7a557e..1fa36c2446e 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/DomainObjectFactory.java @@ -54,4 +54,6 @@ public interface DomainObjectFactory { Regatta loadRegatta(String name, TrackedRegattaRegistry trackedRegattaRegistry); Iterable loadAllRegattas(TrackedRegattaRegistry trackedRegattaRegistry); + + Map loadRaceIDToRegattaAssociations(RegattaRegistry regattaRegistry); } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java index e8c5a702c8d..d70fb23d416 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/MongoObjectFactory.java @@ -69,4 +69,6 @@ public interface MongoObjectFactory { void removeRegatta(Regatta regatta); + void storeRegattaForRaceID(String id, Regatta regatta); + } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java index af9296aad2b..ec83051b7be 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/CollectionNames.java @@ -40,5 +40,11 @@ public enum CollectionNames { * Stores boat class-specific master data such as the class's hull length, logo, name, number of sailors, etc. * To be implemented in future versions. */ - BOAT_CLASSES; + BOAT_CLASSES, + + /** + * Stores the mapping of {@link RaceDefinition#getId race IDs} to regatta names for automatic re-association + * when tracking races again without explicitly specifying a regatta. + */ + REGATTA_FOR_RACE_ID; } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java index 97ee2c83392..531cfcd776c 100644 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DomainObjectFactoryImpl.java @@ -579,4 +579,19 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { return result; } + @Override + public Map loadRaceIDToRegattaAssociations(RegattaRegistry regattaRegistry) { + DBCollection raceIDToRegattaCollection = database.getCollection(CollectionNames.REGATTA_FOR_RACE_ID.name()); + Map result = new HashMap(); + for (DBObject o : raceIDToRegattaCollection.find()) { + Regatta regatta = regattaRegistry.getRegattaByName((String) o.get(FieldNames.REGATTA_NAME.name())); + if (regatta != null) { + result.put((String) o.get(FieldNames.RACE_ID_AS_STRING.name()), regatta); + } else { + logger.warning("Couldn't find regatta " + o.get(FieldNames.REGATTA_NAME.name()) + + ". Cannot restore race associations with this regatta."); + } + } + return result; + } } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java index c82dba6c98f..c4f84cd8591 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/FieldNames.java @@ -43,5 +43,8 @@ public enum FieldNames { LEADERBOARD_CARRIED_POINTS, LEADERBOARD_SCORE_CORRECTIONS, LEADERBOARD_DISCARDING_THRESHOLDS, LEADERBOARD_SCORE_CORRECTION_MAX_POINTS_REASON, LEADERBOARD_CORRECTED_SCORE, // leaderboard group - LEADERBOARD_GROUP_NAME, LEADERBOARD_GROUP_DESCRIPTION, LEADERBOARD_GROUP_LEADERBOARDS + LEADERBOARD_GROUP_NAME, LEADERBOARD_GROUP_DESCRIPTION, LEADERBOARD_GROUP_LEADERBOARDS, + + // race ID to regatta name + RACE_ID_AS_STRING } diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java index 2635ce4b79a..50d9509ebda 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java @@ -364,4 +364,12 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { return dbFleet; } + @Override + public void storeRegattaForRaceID(String raceIDAsString, Regatta regatta) { + DBCollection regattaForRaceIDCollection = database.getCollection(CollectionNames.REGATTA_FOR_RACE_ID.name()); + DBObject query = new BasicDBObject(FieldNames.RACE_ID_AS_STRING.name(), raceIDAsString); + DBObject entry = new BasicDBObject(FieldNames.RACE_ID_AS_STRING.name(), raceIDAsString); + entry.put(FieldNames.REGATTA_NAME.name(), regatta.getName()); + regattaForRaceIDCollection.update(query, entry); + } } diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java index 281808ed330..6e2cb2da9b1 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java @@ -73,6 +73,7 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl implemen DomainFactory domainFactory, SwissTimingFactory factory, RaceSpecificMessageLoader messageLoader, TrackedRegattaRegistry trackedRegattaRegistry, boolean canSendRequests, long delayToLiveInMillis) throws InterruptedException, UnknownHostException, IOException, ParseException { + // TODO bug 733: use trackedRegattaRegistry to obtain a regatta using the race ID this(domainFactory.getOrCreateRegatta(raceID, trackedRegattaRegistry), raceID, hostname, port, windStore, domainFactory, factory, messageLoader, trackedRegattaRegistry, canSendRequests, delayToLiveInMillis); } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java index c7bd31d782c..eb20e484a31 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java @@ -3,6 +3,7 @@ package com.sap.sailing.domain.test; import java.util.HashMap; import java.util.Map; +import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; @@ -37,4 +38,13 @@ public class DummyTrackedRegattaRegistry implements TrackedRegattaRegistry { public void removeTrackedRegatta(Regatta regatta) { regattaTrackingCache.remove(regatta); } + + @Override + public Regatta getOrCreateRegattaForRace(RaceDefinition race) { + return null; + } + + @Override + public void setRegattaForRace(Regatta regatta, RaceDefinition race) { + } } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MockedTrackedRaceWithFixedRank.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MockedTrackedRaceWithFixedRank.java index 0754d2849d7..5120549a086 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MockedTrackedRaceWithFixedRank.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MockedTrackedRaceWithFixedRank.java @@ -1,5 +1,6 @@ package com.sap.sailing.domain.test; +import java.io.Serializable; import java.util.Collections; import java.util.List; @@ -17,33 +18,49 @@ public class MockedTrackedRaceWithFixedRank extends MockedTrackedRace { private final boolean started; private final RaceDefinition raceDefinition; private final Competitor competitor; + private final BoatClass boatClass; - public MockedTrackedRaceWithFixedRank(Competitor competitor, int rank, boolean started) { + public MockedTrackedRaceWithFixedRank(Competitor competitor, int rank, boolean started, BoatClass boatClass) { this.rank = rank; this.started = started; this.competitor = competitor; - this.raceDefinition = new RaceDefinition() { - private static final long serialVersionUID = 6812543850545870357L; - @Override - public String getName() { - return null; - } - @Override - public Course getCourse() { - return null; - } - @Override - public Iterable getCompetitors() { - return Collections.singleton(MockedTrackedRaceWithFixedRank.this.competitor); - } - @Override - public BoatClass getBoatClass() { - return null; - } - }; - + this.raceDefinition = new MockedRaceDefinition(); + this.boatClass = boatClass; } + public MockedTrackedRaceWithFixedRank(Competitor competitor, int rank, boolean started) { + this(competitor, rank, started, /* boatClass */ null); + } + + private class MockedRaceDefinition implements RaceDefinition { + private static final long serialVersionUID = 6812543850545870357L; + + @Override + public String getName() { + return null; + } + + @Override + public Course getCourse() { + return null; + } + + @Override + public Iterable getCompetitors() { + return Collections.singleton(MockedTrackedRaceWithFixedRank.this.competitor); + } + + @Override + public BoatClass getBoatClass() { + return boatClass; + } + + @Override + public Serializable getId() { + return null; + } + } + @Override public List getCompetitorsFromBestToWorst(TimePoint timePoint) { return Collections.singletonList(competitor); diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MockedTrackedRaceWithFixedRankAndManyCompetitors.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MockedTrackedRaceWithFixedRankAndManyCompetitors.java index 708b60d9185..ee9b61913dc 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MockedTrackedRaceWithFixedRankAndManyCompetitors.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/MockedTrackedRaceWithFixedRankAndManyCompetitors.java @@ -1,5 +1,6 @@ package com.sap.sailing.domain.test; +import java.io.Serializable; import java.util.HashSet; import java.util.Set; @@ -35,6 +36,10 @@ public class MockedTrackedRaceWithFixedRankAndManyCompetitors extends MockedTrac public BoatClass getBoatClass() { return null; } + @Override + public Serializable getId() { + return null; + } }; } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java index bb3f90684a6..c58bdd1dd75 100644 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java @@ -370,7 +370,7 @@ public class DomainFactoryImpl implements DomainFactory { Pair, BoatClass> competitorsAndDominantBoatClass = getCompetitorsAndDominantBoatClass(race); logger.info("Creating RaceDefinitionImpl for race "+race.getName()); raceDefinition = new RaceDefinitionImpl(race.getName(), course, competitorsAndDominantBoatClass.getB(), - competitorsAndDominantBoatClass.getA()); + competitorsAndDominantBoatClass.getA(), race.getId()); // add to domain Event only if boat class matches if (raceDefinition.getBoatClass() == trackedRegatta.getRegatta().getBoatClass()) { trackedRegatta.getRegatta().addRace(raceDefinition); diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java index f43ff94f6bb..3e0863361aa 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java @@ -178,6 +178,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements // domain regatta *after* calling removeRace domainFactory.removeRace(tractracEvent, tractracRace, trackedRegattaRegistry); } + // TODO bug 733: use trackedRegattaRegistry to obtain a regatta using the race ID this.regatta = regatta == null ? domainFactory.getOrCreateRegatta(tractracEvent, trackedRegattaRegistry) : regatta; trackedRegatta = trackedRegattaRegistry.getOrCreateTrackedRegatta(this.regatta); receivers = new HashSet(); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceDefinition.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceDefinition.java index 9c7d153ccce..18e85ac8f93 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceDefinition.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceDefinition.java @@ -14,7 +14,7 @@ import com.sap.sailing.domain.common.Named; * @author Axel Uhl (D043530) * */ -public interface RaceDefinition extends Named { +public interface RaceDefinition extends Named, WithID { BoatClass getBoatClass(); Course getCourse(); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java index 4e18ebd79b0..9c390c25e37 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java @@ -71,9 +71,11 @@ public class RaceColumnInSeriesImpl extends AbstractRaceColumn implements RaceCo regatta.removeRace(race); getRegatta().addRace(race); trackedRegatta.removeTrackedRace(trackedRace); + // FIXME adding the tracked race to the tracked regatta triggers the RacingEventService which tries to re-associate with existing leaderboards; leads to an endless recursion trackedRegattaRegistry.getOrCreateTrackedRegatta(getRegatta()).addTrackedRace(trackedRace); } } + // re-associating the TrackedRace needs to happen before the super call because the RaceIdentifier may have changed super.setTrackedRace(fleet, trackedRace); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceDefinitionImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceDefinitionImpl.java index cf11fc9a2d2..0ef3d30ded8 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceDefinitionImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceDefinitionImpl.java @@ -1,5 +1,7 @@ package com.sap.sailing.domain.base.impl; +import java.io.Serializable; + import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.Course; @@ -11,12 +13,23 @@ public class RaceDefinitionImpl extends NamedImpl implements RaceDefinition { private final Course course; private final Iterable competitors; private final BoatClass boatClass; + private final Serializable id; public RaceDefinitionImpl(String name, Course course, BoatClass boatClass, Iterable competitors) { + this(name, course, boatClass, competitors, /* use name as default ID */ name); + } + + public RaceDefinitionImpl(String name, Course course, BoatClass boatClass, Iterable competitors, Serializable id) { super(name); this.course = course; this.competitors = competitors; this.boatClass = boatClass; + this.id = id; + } + + @Override + public Serializable getId() { + return id; } @Override diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java index e71a611c687..988bcfcf211 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java @@ -1,5 +1,6 @@ package com.sap.sailing.domain.tracking; +import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; /** @@ -25,4 +26,24 @@ public interface TrackedRegattaRegistry { void removeTrackedRegatta(Regatta regatta); + /** + * A race needs to be associated with a {@link Regatta} so that {@link Regatta#getAllRaces()} returns it. Which + * regatta to associate the race with should usually be decided by the user. Once explicitly decided and stored in + * this registry by calling {@link #setRegattaForRace(Regatta, RaceDefinition)}, this information is preserved by + * this registry for future use so that when the race's {@link RaceDefinition#getId() ID} is recognized, the same + * regatta will be returned. + *

+ * + * If no such explicit assignment has been performed, an "appropriate" non-persistent default regatta will be + * selected and returned. + */ + Regatta getOrCreateRegattaForRace(RaceDefinition race); + + /** + * Persistently remembers the association of the race with its {@link RaceDefinition#getId()} to the + * regatta with its {@link Regatta#getRegattaIdentifier() identifier} so that the next time + * {@link #getOrCreateRegattaForRace(RaceDefinition)} is called with race as argument, + * regatta will be returned. + */ + void setRegattaForRace(Regatta regatta, RaceDefinition race); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRegattaImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRegattaImpl.java index 3bab6f12fd9..1f9dd01f008 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRegattaImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRegattaImpl.java @@ -62,17 +62,19 @@ public class TrackedRegattaImpl implements TrackedRegatta { synchronized (trackedRaces) { logger.info("adding tracked race for "+trackedRace.getRace()+" to tracked regatta "+getRegatta().getName()+ " with regatta hash code "+getRegatta().hashCode()); - trackedRaces.put(trackedRace.getRace(), trackedRace); - Collection coll = trackedRacesByBoatClass.get(trackedRace.getRace().getBoatClass()); - if (coll == null) { - coll = new ArrayList(); - trackedRacesByBoatClass.put(trackedRace.getRace().getBoatClass(), coll); + TrackedRace oldTrackedRace = trackedRaces.put(trackedRace.getRace(), trackedRace); + if (oldTrackedRace != trackedRace) { + Collection coll = trackedRacesByBoatClass.get(trackedRace.getRace().getBoatClass()); + if (coll == null) { + coll = new ArrayList(); + trackedRacesByBoatClass.put(trackedRace.getRace().getBoatClass(), coll); + } + coll.add(trackedRace); + for (RaceListener listener : raceListeners) { + listener.raceAdded(trackedRace); + } + trackedRaces.notifyAll(); } - coll.add(trackedRace); - for (RaceListener listener : raceListeners) { - listener.raceAdded(trackedRace); - } - trackedRaces.notifyAll(); } } diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 50fc0162b65..496cfd3a045 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -109,23 +109,18 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest @Test public void testLoadStoreRegattaLeaderboardWithScoreCorrections() { Competitor hasso = AbstractLeaderboardTest.createCompetitor("Dr. Hasso Plattner"); - final TrackedRace q2YellowTrackedRace = new MockedTrackedRaceWithFixedRank(hasso, /* rank */ 1, /* started */ false) { + BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); + final TrackedRace q2YellowTrackedRace = new MockedTrackedRaceWithFixedRank(hasso, /* rank */ 1, /* started */ false, boatClass) { private static final long serialVersionUID = 1234L; @Override public RegattaAndRaceIdentifier getRaceIdentifier() { return new RegattaNameAndRaceName("Kieler Woche (29erXX)", "Yellow Race 2"); } }; - RacingEventService res = new RacingEventServiceImpl(getMongoService()) { - @Override - public TrackedRace getExistingTrackedRace(RaceIdentifier raceIdentifier) { - return q2YellowTrackedRace; - } - }; + RacingEventService res = createRacingEventServiceWithOneMockedTrackedRace(q2YellowTrackedRace); final int numberOfQualifyingRaces = 5; final int numberOfFinalRaces = 7; final String regattaBaseName = "Kieler Woche"; - BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); Regatta regattaProxy = createRegatta(regattaBaseName, boatClass, /* persistent */ true); Regatta regatta = res.createRegatta(regattaProxy.getBaseName(), regattaProxy.getBoatClass().getName(), regattaProxy.getSeries(), regattaProxy.isPersistent()); @@ -137,7 +132,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest .getName(), q2YellowTrackedRace.getRaceIdentifier())); res.apply(new UpdateLeaderboardMaxPointsReason(regattaLeaderboard.getName(), q2.getName(), hasso.getId().toString(), MaxPointsReason.DNF, MillisecondsTimePoint.now())); - RacingEventService resForLoading = new RacingEventServiceImpl(getMongoService()); + RacingEventService resForLoading = createRacingEventServiceWithOneMockedTrackedRace(q2YellowTrackedRace); Regatta loadedRegatta = resForLoading.getRegattaByName("Kieler Woche (29erXX)"); assertNotNull(loadedRegatta); assertEquals(regatta.getName(), loadedRegatta.getName()); @@ -151,6 +146,22 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest assertTrue(loadedLeaderboard instanceof RegattaLeaderboard); RegattaLeaderboard loadedRegattaLeaderboard = (RegattaLeaderboard) loadedLeaderboard; assertSame(loadedRegatta, loadedRegattaLeaderboard.getRegatta()); + // now re-associate the tracked race to let score correction "snap" to competitor: + final RaceColumnInSeries loadedQ2 = loadedRegatta.getSeriesByName("Qualifying").getRaceColumnByName("Q2"); + final Fleet loadedYellow = loadedQ2.getFleetByName("Yellow"); + resForLoading.apply(new ConnectTrackedRaceToLeaderboardColumn(loadedLeaderboard.getName(), loadedQ2.getName(), loadedYellow + .getName(), q2YellowTrackedRace.getRaceIdentifier())); + MaxPointsReason hassosLoadedMaxPointsReason = loadedLeaderboard.getScoreCorrection().getMaxPointsReason(hasso, loadedQ2); + assertEquals(MaxPointsReason.DNF, hassosLoadedMaxPointsReason); + } + + private RacingEventServiceImpl createRacingEventServiceWithOneMockedTrackedRace(final TrackedRace q2YellowTrackedRace) { + return new RacingEventServiceImpl(getMongoService()) { + @Override + public TrackedRace getExistingTrackedRace(RaceIdentifier raceIdentifier) { + return q2YellowTrackedRace; + } + }; } @Test diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 536bba8d284..59de3b2f023 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -167,6 +167,12 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen private final Map regattaTrackingCache; private final Set operationExecutionListeners; + + /** + * Keys are the toString() representation of the {@link RaceDefinition#getId() IDs} of races passed to + * {@link #setRegattaForRace(Regatta, RaceDefinition)}. + */ + private final Map persistentRegattasForRaceIDs; /** * The globally used configuration of the time delay (in milliseconds) to the 'live' timepoint used for each new tracked race. @@ -194,11 +200,13 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen leaderboardsByName = new HashMap(); operationExecutionListeners = new HashSet(); courseListeners = new HashMap(); + persistentRegattasForRaceIDs = new HashMap(); delayToLiveInMillis = TrackedRace.DEFAULT_LIVE_DELAY_IN_MILLISECONDS; // Add one default leaderboard that aggregates all races currently tracked by this service. // This is more for debugging purposes than for anything else. addFlexibleLeaderboard(DefaultLeaderboardName.DEFAULT_LEADERBOARD_NAME, new int[] { 5, 8 }); loadStoredRegattas(); + loadRaceIDToRegattaAssociations(); loadStoredLeaderboardsAndGroups(); loadStoredEvents(); } @@ -207,6 +215,10 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen this(MongoFactory.INSTANCE.getDomainObjectFactory(mongoDBService), MongoFactory.INSTANCE.getMongoObjectFactory(mongoDBService)); } + private void loadRaceIDToRegattaAssociations() { + persistentRegattasForRaceIDs.putAll(domainObjectFactory.loadRaceIDToRegattaAssociations(this)); + } + private void loadStoredRegattas() { for (Regatta regatta : domainObjectFactory.loadAllRegattas(this)) { regattasByName.put(regatta.getName(), regatta); @@ -1360,4 +1372,16 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen return result; } + @Override + public Regatta getOrCreateRegattaForRace(RaceDefinition race) { + // TODO Auto-generated method stub + return null; + } + + @Override + public void setRegattaForRace(Regatta regatta, RaceDefinition race) { + persistentRegattasForRaceIDs.put(race.getId().toString(), regatta); + mongoObjectFactory.storeRegattaForRaceID(race.getId().toString(), regatta); + } + } From 4ae412f4b8fd2528bab6df263c6358e16d4e0204 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 6 Jun 2012 21:53:09 +0200 Subject: [PATCH 220/339] minor rename --- .../tractracadapter/impl/AbstractReceiverWithQueue.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java index 2e185d22bff..ef091d94b52 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/AbstractReceiverWithQueue.java @@ -144,8 +144,8 @@ public abstract class AbstractReceiverWithQueue implements Runnable, Re protected DynamicTrackedRace getTrackedRace(Race race) { DynamicTrackedRace result = null; RaceDefinition raceDefinition = getDomainFactory().getAndWaitForRaceDefinition(race); - com.sap.sailing.domain.base.Regatta domainEvent = getDomainFactory().getOrCreateRegatta(getTracTracEvent(), trackedRegattaRegistry); - if (domainEvent.getRaceByName(raceDefinition.getName()) != null) { + com.sap.sailing.domain.base.Regatta domainRegatta = getDomainFactory().getOrCreateRegatta(getTracTracEvent(), trackedRegattaRegistry); + if (domainRegatta.getRaceByName(raceDefinition.getName()) != null) { result = trackedRegatta.getTrackedRace(raceDefinition); } return result; From 6518cd4569810d2a3dd084fc9a0facb3cbc672fa Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 6 Jun 2012 22:10:12 +0200 Subject: [PATCH 221/339] fixed test for regatta leaderboard storing/loading by fixing the mocks for TrackedRace/TrackedRegatta --- .../test/DummyTrackedRegattaRegistry.java | 2 +- .../domain/test/mock/MockedTrackedRace.java | 2 +- .../base/impl/RaceColumnInSeriesImpl.java | 18 +++++++----------- .../tracking/TrackedRegattaRegistry.java | 4 ++-- ...TestStoringAndLoadingEventsAndRegattas.java | 12 ++++++++++++ .../server/impl/RacingEventServiceImpl.java | 5 ++--- 6 files changed, 25 insertions(+), 18 deletions(-) diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java index eb20e484a31..afa47004b63 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java @@ -40,7 +40,7 @@ public class DummyTrackedRegattaRegistry implements TrackedRegattaRegistry { } @Override - public Regatta getOrCreateRegattaForRace(RaceDefinition race) { + public Regatta getRememberedRegattaForRace(RaceDefinition race) { return null; } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java index b56a6825482..901e00bcfb5 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java @@ -285,7 +285,7 @@ public class MockedTrackedRace implements DynamicTrackedRace { @Override public String getName() { - return "A Mocked Test Event"; + return "A Mocked Test Regatta"; } @Override diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java index 9c390c25e37..4e61c62cb16 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RaceColumnInSeriesImpl.java @@ -55,24 +55,20 @@ public class RaceColumnInSeriesImpl extends AbstractRaceColumn implements RaceCo } /** - * In addition to associating the tracked race to this column for the fleet specified, this method also assures that - * trackedRace belongs to the {@link TrackedRegatta} of this column's series' - * {@link Series#getRegatta() regatta} and that the corresponding {@link TrackedRace#getRace() RaceDefinition} is owned - * by this column's series' {@link Series#getRegatta() regatta}. + * In addition to associating the tracked race to this column for the fleet specified, if this column has a non- + * null {@link #trackedRegattaRegistry}, this method also verifies that trackedRace + * belongs to the {@link TrackedRegatta} of this column's series' {@link Series#getRegatta() regatta} and that the + * corresponding {@link TrackedRace#getRace() RaceDefinition} is owned by this column's series' + * {@link Series#getRegatta() regatta}. If not, an {@link IllegalArgumentException} is thrown. */ @Override public void setTrackedRace(Fleet fleet, TrackedRace trackedRace) { if (trackedRegattaRegistry != null) { - RaceDefinition race = trackedRace.getRace(); TrackedRegatta trackedRegatta = trackedRace.getTrackedRegatta(); Regatta regatta = trackedRegatta.getRegatta(); if (regatta != getRegatta()) { - // re-associate: - regatta.removeRace(race); - getRegatta().addRace(race); - trackedRegatta.removeTrackedRace(trackedRace); - // FIXME adding the tracked race to the tracked regatta triggers the RacingEventService which tries to re-associate with existing leaderboards; leads to an endless recursion - trackedRegattaRegistry.getOrCreateTrackedRegatta(getRegatta()).addTrackedRace(trackedRace); + throw new IllegalArgumentException("Trying to associate tracked race of regatta "+regatta.getName()+ + " to a race column of regatta "+getRegatta().getName()); } } // re-associating the TrackedRace needs to happen before the super call because the RaceIdentifier may have changed diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java index 988bcfcf211..9e7c8710373 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java @@ -37,12 +37,12 @@ public interface TrackedRegattaRegistry { * If no such explicit assignment has been performed, an "appropriate" non-persistent default regatta will be * selected and returned. */ - Regatta getOrCreateRegattaForRace(RaceDefinition race); + Regatta getRememberedRegattaForRace(RaceDefinition race); /** * Persistently remembers the association of the race with its {@link RaceDefinition#getId()} to the * regatta with its {@link Regatta#getRegattaIdentifier() identifier} so that the next time - * {@link #getOrCreateRegattaForRace(RaceDefinition)} is called with race as argument, + * {@link #getRememberedRegattaForRace(RaceDefinition)} is called with race as argument, * regatta will be returned. */ void setRegattaForRace(Regatta regatta, RaceDefinition race); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 496cfd3a045..289e106fc77 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -46,7 +46,9 @@ import com.sap.sailing.domain.persistence.MongoFactory; import com.sap.sailing.domain.persistence.MongoObjectFactory; import com.sap.sailing.domain.test.AbstractLeaderboardTest; import com.sap.sailing.domain.test.MockedTrackedRaceWithFixedRank; +import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; import com.sap.sailing.domain.tracking.TrackedRace; +import com.sap.sailing.domain.tracking.impl.DynamicTrackedRegattaImpl; import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.impl.RacingEventServiceImpl; import com.sap.sailing.server.operationaltransformation.ConnectTrackedRaceToLeaderboardColumn; @@ -110,12 +112,17 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest public void testLoadStoreRegattaLeaderboardWithScoreCorrections() { Competitor hasso = AbstractLeaderboardTest.createCompetitor("Dr. Hasso Plattner"); BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); + final DynamicTrackedRegatta[] trackedRegatta = new DynamicTrackedRegatta[1]; final TrackedRace q2YellowTrackedRace = new MockedTrackedRaceWithFixedRank(hasso, /* rank */ 1, /* started */ false, boatClass) { private static final long serialVersionUID = 1234L; @Override public RegattaAndRaceIdentifier getRaceIdentifier() { return new RegattaNameAndRaceName("Kieler Woche (29erXX)", "Yellow Race 2"); } + @Override + public DynamicTrackedRegatta getTrackedRegatta() { + return trackedRegatta[0]; + } }; RacingEventService res = createRacingEventServiceWithOneMockedTrackedRace(q2YellowTrackedRace); final int numberOfQualifyingRaces = 5; @@ -124,6 +131,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest Regatta regattaProxy = createRegatta(regattaBaseName, boatClass, /* persistent */ true); Regatta regatta = res.createRegatta(regattaProxy.getBaseName(), regattaProxy.getBoatClass().getName(), regattaProxy.getSeries(), regattaProxy.isPersistent()); + trackedRegatta[0] = new DynamicTrackedRegattaImpl(regatta); addRaceColumns(numberOfQualifyingRaces, numberOfFinalRaces, regatta); RegattaLeaderboard regattaLeaderboard = res.addRegattaLeaderboard(regatta.getRegattaIdentifier(), new int[] { 3, 5 }); final RaceColumnInSeries q2 = regatta.getSeriesByName("Qualifying").getRaceColumnByName("Q2"); @@ -132,6 +140,8 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest .getName(), q2YellowTrackedRace.getRaceIdentifier())); res.apply(new UpdateLeaderboardMaxPointsReason(regattaLeaderboard.getName(), q2.getName(), hasso.getId().toString(), MaxPointsReason.DNF, MillisecondsTimePoint.now())); + + // load new RacingEventService including regatta and leaderboard RacingEventService resForLoading = createRacingEventServiceWithOneMockedTrackedRace(q2YellowTrackedRace); Regatta loadedRegatta = resForLoading.getRegattaByName("Kieler Woche (29erXX)"); assertNotNull(loadedRegatta); @@ -149,6 +159,8 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest // now re-associate the tracked race to let score correction "snap" to competitor: final RaceColumnInSeries loadedQ2 = loadedRegatta.getSeriesByName("Qualifying").getRaceColumnByName("Q2"); final Fleet loadedYellow = loadedQ2.getFleetByName("Yellow"); + // adjust tracked regatta for tracked race: + trackedRegatta[0] = new DynamicTrackedRegattaImpl(loadedRegatta); resForLoading.apply(new ConnectTrackedRaceToLeaderboardColumn(loadedLeaderboard.getName(), loadedQ2.getName(), loadedYellow .getName(), q2YellowTrackedRace.getRaceIdentifier())); MaxPointsReason hassosLoadedMaxPointsReason = loadedLeaderboard.getScoreCorrection().getMaxPointsReason(hasso, loadedQ2); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 2014cf6ec6b..b8034af1f16 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -1374,9 +1374,8 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } @Override - public Regatta getOrCreateRegattaForRace(RaceDefinition race) { - // TODO Auto-generated method stub - return null; + public Regatta getRememberedRegattaForRace(RaceDefinition race) { + return persistentRegattasForRaceIDs.get(race.getId().toString()); } @Override From 32427f3a2de1475ace34cb211b9fe39589ca2397 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 6 Jun 2012 22:43:14 +0200 Subject: [PATCH 222/339] addressing bug 733: looking up a Regatta by raceID first in RacingEventService before using a default regatta --- .../swisstimingadapter/impl/DomainFactoryImpl.java | 5 ++++- .../impl/SwissTimingRaceTrackerImpl.java | 1 - .../sailing/domain/test/DummyTrackedRegattaRegistry.java | 3 ++- .../sailing/domain/tractracadapter/DomainFactory.java | 6 ++++++ .../domain/tractracadapter/impl/DomainFactoryImpl.java | 8 +++++++- .../tractracadapter/impl/TracTracRaceTrackerImpl.java | 9 ++++++++- .../sailing/domain/tracking/TrackedRegattaRegistry.java | 9 ++++++--- .../sap/sailing/server/impl/RacingEventServiceImpl.java | 4 ++-- 8 files changed, 35 insertions(+), 10 deletions(-) diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java index 5ca05cc49ec..7ea121022b3 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java @@ -93,7 +93,10 @@ public class DomainFactoryImpl implements DomainFactory { @Override public Regatta getOrCreateRegatta(String raceID, TrackedRegattaRegistry trackedRegattaRegistry) { - Regatta result = raceIDToRegattaCache.get(raceID); + Regatta result = trackedRegattaRegistry.getRememberedRegattaForRace(raceID); + if (result == null) { + result = raceIDToRegattaCache.get(raceID); + } if (result == null) { result = new RegattaImpl(raceID, null, trackedRegattaRegistry); logger.info("Created regatta "+result.getName()+" ("+result.hashCode()+")"); diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java index 6e2cb2da9b1..281808ed330 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java @@ -73,7 +73,6 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl implemen DomainFactory domainFactory, SwissTimingFactory factory, RaceSpecificMessageLoader messageLoader, TrackedRegattaRegistry trackedRegattaRegistry, boolean canSendRequests, long delayToLiveInMillis) throws InterruptedException, UnknownHostException, IOException, ParseException { - // TODO bug 733: use trackedRegattaRegistry to obtain a regatta using the race ID this(domainFactory.getOrCreateRegatta(raceID, trackedRegattaRegistry), raceID, hostname, port, windStore, domainFactory, factory, messageLoader, trackedRegattaRegistry, canSendRequests, delayToLiveInMillis); } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java index afa47004b63..19bcb08d546 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java @@ -1,5 +1,6 @@ package com.sap.sailing.domain.test; +import java.io.Serializable; import java.util.HashMap; import java.util.Map; @@ -40,7 +41,7 @@ public class DummyTrackedRegattaRegistry implements TrackedRegattaRegistry { } @Override - public Regatta getRememberedRegattaForRace(RaceDefinition race) { + public Regatta getRememberedRegattaForRace(Serializable race) { return null; } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java index 6ce4dd680e4..04b516f61da 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java @@ -2,6 +2,7 @@ package com.sap.sailing.domain.tractracadapter; import java.io.FileNotFoundException; import java.io.IOException; +import java.io.Serializable; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; @@ -241,4 +242,9 @@ public interface DomainFactory { */ void removeRace(Event tractracEvent, Race tractracRace, TrackedRegattaRegistry trackedRegattaRegistry); + /** + * Computes an ID to use for a {@link RaceDefinition} based on the TracTrac race. + */ + Serializable getRaceID(Race tractracRace); + } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java index c58bdd1dd75..60445834518 100644 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java @@ -2,6 +2,7 @@ package com.sap.sailing.domain.tractracadapter.impl; import java.io.FileNotFoundException; import java.io.IOException; +import java.io.Serializable; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; @@ -314,6 +315,11 @@ public class DomainFactoryImpl implements DomainFactory { ReceiverType.MARKPASSINGS, ReceiverType.MARKPOSITIONS, ReceiverType.RACESTARTFINISH, ReceiverType.RAWPOSITIONS); } + @Override + public Serializable getRaceID(Race tractracRace) { + return tractracRace.getId(); + } + @Override public void removeRace(com.tractrac.clientmodule.Event tractracEvent, Race tractracRace, TrackedRegattaRegistry trackedRegattaRegistry) { RaceDefinition raceDefinition; @@ -370,7 +376,7 @@ public class DomainFactoryImpl implements DomainFactory { Pair, BoatClass> competitorsAndDominantBoatClass = getCompetitorsAndDominantBoatClass(race); logger.info("Creating RaceDefinitionImpl for race "+race.getName()); raceDefinition = new RaceDefinitionImpl(race.getName(), course, competitorsAndDominantBoatClass.getB(), - competitorsAndDominantBoatClass.getA(), race.getId()); + competitorsAndDominantBoatClass.getA(), getRaceID(race)); // add to domain Event only if boat class matches if (raceDefinition.getBoatClass() == trackedRegatta.getRegatta().getBoatClass()) { trackedRegatta.getRegatta().addRace(raceDefinition); diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java index 3e0863361aa..9ece623a264 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java @@ -5,6 +5,7 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.Serializable; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; @@ -173,12 +174,18 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements // Start live and stored data streams ioThread = new Thread(controller, "I/O for event "+tractracEvent.getName()+", race URL "+paramURL); for (Race tractracRace : tractracEvent.getRaceList()) { + // Try to find a pre-associated event based on the Race ID + if (regatta == null) { + Serializable raceID = domainFactory.getRaceID(tractracRace); + regatta = trackedRegattaRegistry.getRememberedRegattaForRace(raceID); + } // removeRace may detach the domain regatta from the domain factory if that // removed the last race; therefore, it's important to getOrCreate the // domain regatta *after* calling removeRace domainFactory.removeRace(tractracEvent, tractracRace, trackedRegattaRegistry); } - // TODO bug 733: use trackedRegattaRegistry to obtain a regatta using the race ID + // if regatta is still null, no previous assignment of any of the races in this TracTrac event to a Regatta was found; + // in this case, create a default regatta based on the TracTrac event data this.regatta = regatta == null ? domainFactory.getOrCreateRegatta(tractracEvent, trackedRegattaRegistry) : regatta; trackedRegatta = trackedRegattaRegistry.getOrCreateTrackedRegatta(this.regatta); receivers = new HashSet(); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java index 9e7c8710373..41b58e32c1a 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java @@ -1,5 +1,7 @@ package com.sap.sailing.domain.tracking; +import java.io.Serializable; + import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; @@ -34,10 +36,11 @@ public interface TrackedRegattaRegistry { * regatta will be returned. *

* - * If no such explicit assignment has been performed, an "appropriate" non-persistent default regatta will be - * selected and returned. + * If no such explicit assignment has been performed, null is returned. + * + * @param raceID the ID as obtained from {@link RaceDefinition#getId()} */ - Regatta getRememberedRegattaForRace(RaceDefinition race); + Regatta getRememberedRegattaForRace(Serializable raceID); /** * Persistently remembers the association of the race with its {@link RaceDefinition#getId()} to the diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index b8034af1f16..f5c8e332f1f 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -1374,8 +1374,8 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } @Override - public Regatta getRememberedRegattaForRace(RaceDefinition race) { - return persistentRegattasForRaceIDs.get(race.getId().toString()); + public Regatta getRememberedRegattaForRace(Serializable raceID) { + return persistentRegattasForRaceIDs.get(raceID.toString()); } @Override From 3208a21d1bbdee2b728dd234dd233ad9745f2c94 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 6 Jun 2012 23:03:20 +0200 Subject: [PATCH 223/339] whenever a RaceDefinition is added to a persistent Regatta owned by RacingEventService, record persistently --- .../test/DummyTrackedRegattaRegistry.java | 4 ---- .../impl/TracTracRaceTrackerImpl.java | 15 ++++++++------- .../tracking/TrackedRegattaRegistry.java | 8 -------- .../sap/sailing/server/RacingEventService.java | 12 +++++++----- .../server/impl/RacingEventServiceImpl.java | 18 +++++++++++++++--- 5 files changed, 30 insertions(+), 27 deletions(-) diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java index 19bcb08d546..5dd6d91541a 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/DummyTrackedRegattaRegistry.java @@ -4,7 +4,6 @@ import java.io.Serializable; import java.util.HashMap; import java.util.Map; -import com.sap.sailing.domain.base.RaceDefinition; import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; import com.sap.sailing.domain.tracking.TrackedRegattaRegistry; @@ -45,7 +44,4 @@ public class DummyTrackedRegattaRegistry implements TrackedRegattaRegistry { return null; } - @Override - public void setRegattaForRace(Regatta regatta, RaceDefinition race) { - } } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java index 9ece623a264..93b5fba31f0 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java @@ -151,10 +151,10 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements * @param regatta if null, then domainFactory.getOrCreateRegatta(tractracEvent) will be used to * obtain a default regatta */ - private TracTracRaceTrackerImpl(Event tractracEvent, Regatta regatta, DomainFactory domainFactory, URL paramURL, URI liveURI, URI storedURI, - TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, WindStore windStore, - TrackedRegattaRegistry trackedRegattaRegistry) throws URISyntaxException, MalformedURLException, - FileNotFoundException { + private TracTracRaceTrackerImpl(Event tractracEvent, final Regatta regatta, DomainFactory domainFactory, + URL paramURL, URI liveURI, URI storedURI, TimePoint startOfTracking, TimePoint endOfTracking, + long delayToLiveInMillis, WindStore windStore, TrackedRegattaRegistry trackedRegattaRegistry) + throws URISyntaxException, MalformedURLException, FileNotFoundException { super(); this.tractracEvent = tractracEvent; urls = createID(paramURL, liveURI, storedURI); @@ -173,11 +173,12 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements controller = new DataController(liveURI, storedURI, this); // Start live and stored data streams ioThread = new Thread(controller, "I/O for event "+tractracEvent.getName()+", race URL "+paramURL); + Regatta effectiveRegatta = regatta; for (Race tractracRace : tractracEvent.getRaceList()) { // Try to find a pre-associated event based on the Race ID - if (regatta == null) { + if (effectiveRegatta == null) { Serializable raceID = domainFactory.getRaceID(tractracRace); - regatta = trackedRegattaRegistry.getRememberedRegattaForRace(raceID); + effectiveRegatta = trackedRegattaRegistry.getRememberedRegattaForRace(raceID); } // removeRace may detach the domain regatta from the domain factory if that // removed the last race; therefore, it's important to getOrCreate the @@ -186,7 +187,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl implements } // if regatta is still null, no previous assignment of any of the races in this TracTrac event to a Regatta was found; // in this case, create a default regatta based on the TracTrac event data - this.regatta = regatta == null ? domainFactory.getOrCreateRegatta(tractracEvent, trackedRegattaRegistry) : regatta; + this.regatta = effectiveRegatta == null ? domainFactory.getOrCreateRegatta(tractracEvent, trackedRegattaRegistry) : effectiveRegatta; trackedRegatta = trackedRegattaRegistry.getOrCreateTrackedRegatta(this.regatta); receivers = new HashSet(); Set typeControllers = new HashSet(); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java index 41b58e32c1a..f9240704572 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRegattaRegistry.java @@ -41,12 +41,4 @@ public interface TrackedRegattaRegistry { * @param raceID the ID as obtained from {@link RaceDefinition#getId()} */ Regatta getRememberedRegattaForRace(Serializable raceID); - - /** - * Persistently remembers the association of the race with its {@link RaceDefinition#getId()} to the - * regatta with its {@link Regatta#getRegattaIdentifier() identifier} so that the next time - * {@link #getRememberedRegattaForRace(RaceDefinition)} is called with race as argument, - * regatta will be returned. - */ - void setRegattaForRace(Regatta regatta, RaceDefinition race); } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java index c9f139d964d..d82ee6fa483 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/RacingEventService.java @@ -346,11 +346,13 @@ public interface RacingEventService extends TrackedRegattaRegistry, RegattaFetch /** * @param regattaToAddTo - * if null, an existing regatta by the name of the TracTrac event with the boat class name - * appended in parentheses will be looked up; if not found, a default regatta with that name will be - * created, with a single default series and a single default fleet. If a valid {@link RegattaIdentifier} - * is specified, a regatta lookup is performed with that identifier; if the regatta is found, it is used - * to add the races to. Otherwise, a default regatta as described above will be created and used. + * if null or no regatta by that identifier is found, an existing regatta by the name of the + * TracTrac event with the boat class name appended in parentheses will be looked up; if not found, a + * default regatta with that name will be created, with a single default series and a single default + * fleet. If a valid {@link RegattaIdentifier} is specified, a regatta lookup is performed with that + * identifier; if the regatta is found, it is used to add the races to, and + * {@link #setRegattaForRace(Regatta, RaceDefinition)} is called to remember the association + * persistently. Otherwise, a default regatta as described above will be created and used. * @param windStore * must not be null, but can, e.g., be an {@link EmptyWindStore} */ diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index f5c8e332f1f..cd6971f0d07 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -570,11 +570,18 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public void addRace(RegattaIdentifier addToRegatta, RaceDefinition raceDefinition) { Regatta regatta = getRegatta(addToRegatta); - regatta.addRace(raceDefinition); // will trigger the raceAdded operation because this service is listening on all its regattass + regatta.addRace(raceDefinition); // will trigger the raceAdded operation because this service is listening on all its regattas } + /** + * If the regatta {@link Regatta#isPersistent() is a persistent one}, the association of the race with the + * regatta is remembered persistently so that {@link #getRememberedRegattaForRace(Serializable)} will provide it. + */ @Override public void raceAdded(Regatta regatta, RaceDefinition raceDefinition) { + if (regatta.isPersistent()) { + setRegattaForRace(regatta, raceDefinition); + } final CourseChangeReplicator listener = new CourseChangeReplicator(this, regatta, raceDefinition); courseListeners.put(raceDefinition, listener); raceDefinition.getCourse().addCourseListener(listener); @@ -1378,8 +1385,13 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen return persistentRegattasForRaceIDs.get(raceID.toString()); } - @Override - public void setRegattaForRace(Regatta regatta, RaceDefinition race) { + /** + * Persistently remembers the association of the race with its {@link RaceDefinition#getId()} to the + * regatta with its {@link Regatta#getRegattaIdentifier() identifier} so that the next time + * {@link #getRememberedRegattaForRace(RaceDefinition)} is called with race as argument, + * regatta will be returned. + */ + private void setRegattaForRace(Regatta regatta, RaceDefinition race) { persistentRegattasForRaceIDs.put(race.getId().toString(), regatta); mongoObjectFactory.storeRegattaForRaceID(race.getId().toString(), regatta); } From eef4c0ab0c24c1d51dfee09034e564c25d3a12c2 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 00:16:24 +0200 Subject: [PATCH 224/339] wait a bit after dropDatabase to make sure the effects are visible to all tests --- .../persistence/impl/DelayedLeaderboardCorrectionsImpl.java | 3 +-- .../domain/leaderboard/DelayedLeaderboardCorrections.java | 5 ++++- .../com/sap/sailing/mongodb/test/AbstractMongoDBTest.java | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DelayedLeaderboardCorrectionsImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DelayedLeaderboardCorrectionsImpl.java index 0350e353180..0a0558851df 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DelayedLeaderboardCorrectionsImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DelayedLeaderboardCorrectionsImpl.java @@ -1,6 +1,5 @@ package com.sap.sailing.domain.persistence.impl; -import java.io.Serializable; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -29,7 +28,7 @@ import com.sap.sailing.domain.tracking.TrackedRace; * @author Axel Uhl (d043530) * */ -public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorrections, Serializable { +public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorrections { private static final long serialVersionUID = 8824782847677232275L; private final Map carriedPointsByCompetitorName; private final Map> maxPointsReasonsByCompetitorName; diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/DelayedLeaderboardCorrections.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/DelayedLeaderboardCorrections.java index afd7cb44a08..d3dd637cdb7 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/DelayedLeaderboardCorrections.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/DelayedLeaderboardCorrections.java @@ -1,8 +1,11 @@ package com.sap.sailing.domain.leaderboard; +import java.io.Serializable; + import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.base.RaceColumnListener; import com.sap.sailing.domain.common.MaxPointsReason; +import com.sap.sailing.domain.tracking.TrackedRace; /** * For a {@link Leaderboard}, captures corrections such as {@link ScoreCorrection}s or display names for competitors. It @@ -15,7 +18,7 @@ import com.sap.sailing.domain.common.MaxPointsReason; * @author Axel Uhl (D043530) * */ -public interface DelayedLeaderboardCorrections extends RaceColumnListener { +public interface DelayedLeaderboardCorrections extends RaceColumnListener, Serializable { void correctScore(String competitorName, RaceColumn raceColumn, int correctedScore); void setCarriedPoints(String competitorName, int carriedPoints); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java index c12d11d3c39..dc22f3c21d7 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java @@ -33,12 +33,13 @@ public abstract class AbstractMongoDBTest { } @Before - public void dropTestDB() throws UnknownHostException, MongoException { + public void dropTestDB() throws UnknownHostException, MongoException, InterruptedException { mongo = newMongo(); assertNotNull(mongo); mongo.dropDatabase(getDBConfiguration().getDatabaseName()); db = mongo.getDB(getDBConfiguration().getDatabaseName()); assertNotNull(db); + Thread.sleep(500); // wait for dropDatabase to take effect } protected MongoDBService getMongoService() { From 58440c43eb8bb7c1e65db9f199e4e8c0ebccc24e Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 00:38:14 +0200 Subject: [PATCH 225/339] extended wait period for dropDatabase to 1s --- .../DelayedLeaderboardCorrectionsImpl.java | 12 ++++- .../mongodb/test/AbstractMongoDBTest.java | 2 +- .../test/AbstractServerReplicationTest.java | 11 +++- ...LeaderboardCorrectionsReplicationTest.java | 51 +++++++++++++++++++ .../test/ServerReplicationTest.java | 4 +- 5 files changed, 75 insertions(+), 5 deletions(-) create mode 100755 java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java diff --git a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DelayedLeaderboardCorrectionsImpl.java b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DelayedLeaderboardCorrectionsImpl.java index 0a0558851df..294d9f13148 100755 --- a/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DelayedLeaderboardCorrectionsImpl.java +++ b/java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/DelayedLeaderboardCorrectionsImpl.java @@ -23,7 +23,9 @@ import com.sap.sailing.domain.tracking.TrackedRace; * This object registers itself as a {@link RaceColumnListener} on the {@link Leaderboard} at construction time. It * therefore receives all updates to the linking structure between the leaderboard's {@link RaceColumn}s and the * {@link TrackedRace}s associated with them and can react accordingly to assign left-over corrections to the - * correct, resolved competitor objects (see {@link #trackedRaceLinked(RaceColumn, Fleet, TrackedRace)}). + * correct, resolved competitor objects (see {@link #trackedRaceLinked(RaceColumn, Fleet, TrackedRace)}). When + * all left-overs have been applied to the leaderboard, this object removes itself as {@link RaceColumnListener} from + * the leaderboard again. * * @author Axel Uhl (d043530) * @@ -136,6 +138,14 @@ public class DelayedLeaderboardCorrectionsImpl implements DelayedLeaderboardCorr displayNamesEntryIter.remove(); } } + removeAsListenerIfNoLeftOvers(); + } + + private void removeAsListenerIfNoLeftOvers() { + if (carriedPointsByCompetitorName.isEmpty() && maxPointsReasonsByCompetitorName.isEmpty() && + correctedScoresByCompetitorName.isEmpty() && displayNamesByCompetitorName.isEmpty()) { + getLeaderboard().removeRaceColumnListener(this); + } } @Override diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java index dc22f3c21d7..18e24eeeca5 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java @@ -39,7 +39,7 @@ public abstract class AbstractMongoDBTest { mongo.dropDatabase(getDBConfiguration().getDatabaseName()); db = mongo.getDB(getDBConfiguration().getDatabaseName()); assertNotNull(db); - Thread.sleep(500); // wait for dropDatabase to take effect + Thread.sleep(1000); // wait for dropDatabase to take effect } protected MongoDBService getMongoService() { diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java index 417f807a58a..e1dcbf0f07c 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java @@ -1,6 +1,7 @@ package com.sap.sailing.server.replication.test; import java.io.File; +import java.io.FileNotFoundException; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; @@ -23,6 +24,7 @@ import org.junit.After; import org.junit.Before; import com.sap.sailing.domain.base.DomainFactory; +import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.mongodb.MongoDBService; import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.impl.RacingEventServiceImpl; @@ -50,6 +52,12 @@ public abstract class AbstractServerReplicationTest { */ @Before public void setUp() throws Exception { + Pair result = basicSetUp(); + result.getA().startToReplicateFrom(result.getB()); + } + + protected Pair basicSetUp() throws FileNotFoundException, Exception, + JMSException, UnknownHostException { final MongoDBService mongoDBService = MongoDBService.INSTANCE; mongoDBService.getDB().dropDatabase(); resolveAgainst = DomainFactory.INSTANCE; @@ -103,7 +111,8 @@ public abstract class AbstractServerReplicationTest { } }; ReplicationService replicaReplicator = new ReplicationServiceTestImpl(resolveAgainst, rim, brokerMgr, replicaDescriptor, replica, master, masterReplicator); - replicaReplicator.startToReplicateFrom(masterDescriptor); + Pair result = new Pair<>(replicaReplicator, masterDescriptor); + return result; } @After diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java new file mode 100755 index 00000000000..8004b8e6afa --- /dev/null +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java @@ -0,0 +1,51 @@ +package com.sap.sailing.server.replication.test; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.net.UnknownHostException; + +import javax.jms.JMSException; + +import org.junit.Before; +import org.junit.Test; + +import com.sap.sailing.domain.base.Competitor; +import com.sap.sailing.domain.base.RaceColumn; +import com.sap.sailing.domain.base.RaceColumnListener; +import com.sap.sailing.domain.common.impl.Util.Pair; +import com.sap.sailing.domain.leaderboard.DelayedLeaderboardCorrections; +import com.sap.sailing.domain.tracking.TrackedRace; +import com.sap.sailing.server.replication.ReplicationMasterDescriptor; +import com.sap.sailing.server.replication.ReplicationService; + +public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServerReplicationTest { + private ReplicationService replicaReplicator; + private ReplicationMasterDescriptor masterDescriptor; + + @Before + public void setUp() throws FileNotFoundException, UnknownHostException, JMSException, Exception { + Pair descriptors = basicSetUp(); + replicaReplicator = descriptors.getA(); + masterDescriptor = descriptors.getB(); + } + + /** + * When a leaderboard is loaded from the persistent store, the corrections are keyed by competitor names. + * These corrections cannot truly be applied to the leaderboard unless a {@link Competitor} object with the + * name loaded from the store is associated through a {@link TrackedRace} with a {@link RaceColumn} of that + * leaderboard. Until that happens, there is a {@link DelayedLeaderboardCorrections} object that is attached + * as a {@link RaceColumnListener} to the leaderboard. It needs to be replicated in the initial load, and + * tracked race associations to {@link RaceColumn}s need to trigger the resolution of the delayed corrections + * also in the replica. This is what this test verifies. + */ + @Test + public void testDelayedLeaderboardCorrectionsReplication() throws ClassNotFoundException, IOException, JMSException { + // TODO prepare a leaderboard with corrections on master by creating through RacingEventService which stores it; then + // create a new RacingEventServiceImpl which is expected to load the leaderboard, but only with DelayedLeaderboardCorrections. + // then start initial load, wait until finished; then link a tracked race to leaderboard's RaceColumn on master and + // verify that on the replica it is associated to the RaceColumn as well, and the DelayedLeaderboardCorrections are + // resolved properly on the replica. + replicaReplicator.startToReplicateFrom(masterDescriptor); + } + +} diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java index 787f96e6cd2..2d7b390d32e 100644 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/ServerReplicationTest.java @@ -15,8 +15,8 @@ import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.Course; import com.sap.sailing.domain.base.DomainFactory; -import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.RaceDefinition; +import com.sap.sailing.domain.base.Regatta; import com.sap.sailing.domain.base.Waypoint; import com.sap.sailing.domain.base.impl.CourseImpl; import com.sap.sailing.domain.base.impl.RaceDefinitionImpl; @@ -70,7 +70,7 @@ public class ServerReplicationTest extends AbstractServerReplicationTest { final Leaderboard replicaLeaderboard = replica.getLeaderboardByName(leaderboardName); assertNull(replicaLeaderboard); } - + @Test public void testWaypointRemovalReplication() throws InterruptedException { final String boatClassName = "49er"; From 4a588e74f33f03d14f08ffcff8db3660518fe388 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 00:44:25 +0200 Subject: [PATCH 226/339] related to bug 731, made RaceColumnListener collections non-transient to serialize listeners with initial load --- .../domain/base/RaceColumnListener.java | 4 +++- .../domain/base/impl/AbstractRaceColumn.java | 19 ++++++------------- .../sailing/domain/base/impl/RegattaImpl.java | 3 +-- .../sailing/domain/base/impl/SeriesImpl.java | 19 ++++++------------- .../impl/AbstractLeaderboardImpl.java | 9 +-------- 5 files changed, 17 insertions(+), 37 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnListener.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnListener.java index b34f0a9b690..b897a092058 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnListener.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/RaceColumnListener.java @@ -1,8 +1,10 @@ package com.sap.sailing.domain.base; +import java.io.Serializable; + import com.sap.sailing.domain.tracking.TrackedRace; -public interface RaceColumnListener { +public interface RaceColumnListener extends Serializable { void trackedRaceLinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace); void trackedRaceUnlinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java index c84ec3918dd..1a78ddacacc 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceColumn.java @@ -1,7 +1,5 @@ package com.sap.sailing.domain.base.impl; -import java.io.IOException; -import java.io.ObjectInputStream; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -22,38 +20,33 @@ public abstract class AbstractRaceColumn implements RaceColumn { private final Map trackedRaces; private String name; private final Map raceIdentifiers; - private transient Set listeners; + private Set raceColumnListeners; public AbstractRaceColumn(String name) { this.name = name; this.trackedRaces = new HashMap(); this.raceIdentifiers = new HashMap(); - this.listeners = new HashSet(); - } - - private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException { - ois.defaultReadObject(); - listeners = new HashSet(); + this.raceColumnListeners = new HashSet(); } @Override public void addRaceColumnListener(RaceColumnListener listener) { - listeners.add(listener); + raceColumnListeners.add(listener); } @Override public void removeRaceColumnListener(RaceColumnListener listener) { - listeners.remove(listener); + raceColumnListeners.remove(listener); } private void notifyListenersAboutTrackedRaceLinked(Fleet fleet, TrackedRace trackedRace) { - for (RaceColumnListener listener : listeners) { + for (RaceColumnListener listener : raceColumnListeners) { listener.trackedRaceLinked(this, fleet, trackedRace); } } private void notifyListenersAboutTrackedRaceUnlinked(Fleet fleet, TrackedRace trackedRace) { - for (RaceColumnListener listener : listeners) { + for (RaceColumnListener listener : raceColumnListeners) { listener.trackedRaceUnlinked(this, fleet, trackedRace); } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java index 842e2e98920..7fd4b9d587f 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/RegattaImpl.java @@ -30,7 +30,7 @@ public class RegattaImpl extends NamedImpl implements Regatta, RaceColumnListene private final BoatClass boatClass; private transient Set regattaListeners; private final Iterable series; - private transient Set raceColumnListeners; + private Set raceColumnListeners; /** * Regattas may be constructed as implicit default regattas in which case they won't need to be stored @@ -90,7 +90,6 @@ public class RegattaImpl extends NamedImpl implements Regatta, RaceColumnListene private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException { ois.defaultReadObject(); regattaListeners = new HashSet<>(); - raceColumnListeners = new HashSet(); } @Override diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java index 754b9dc81cd..4f4402c4cdb 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/SeriesImpl.java @@ -1,7 +1,5 @@ package com.sap.sailing.domain.base.impl; -import java.io.IOException; -import java.io.ObjectInputStream; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -28,7 +26,7 @@ public class SeriesImpl extends NamedImpl implements Series, RaceColumnListener private final List raceColumns; private boolean isMedal; private Regatta regatta; - private transient Set listeners; + private Set raceColumnListeners; /** * @param fleets must be non-empty @@ -48,35 +46,30 @@ public class SeriesImpl extends NamedImpl implements Series, RaceColumnListener List myRaceColumns = new ArrayList(); this.raceColumns = myRaceColumns; this.isMedal = isMedal; - this.listeners = new HashSet(); + this.raceColumnListeners = new HashSet(); for (String raceColumnName : raceColumnNames) { addRaceColumn(raceColumnName, trackedRegattaRegistry); } } - private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException { - ois.defaultReadObject(); - listeners = new HashSet(); - } - @Override public void addRaceColumnListener(RaceColumnListener listener) { - listeners.add(listener); + raceColumnListeners.add(listener); } @Override public void removeRaceColumnListener(RaceColumnListener listener) { - listeners.remove(listener); + raceColumnListeners.remove(listener); } private void notifyListenersAboutTrackedRaceLinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { - for (RaceColumnListener listener : listeners) { + for (RaceColumnListener listener : raceColumnListeners) { listener.trackedRaceLinked(raceColumn, fleet, trackedRace); } } private void notifyListenersAboutTrackedRaceUnlinked(RaceColumn raceColumn, Fleet fleet, TrackedRace trackedRace) { - for (RaceColumnListener listener : listeners) { + for (RaceColumnListener listener : raceColumnListeners) { listener.trackedRaceUnlinked(raceColumn, fleet, trackedRace); } } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java index f3d0905f108..7da7a7dcb03 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractLeaderboardImpl.java @@ -1,7 +1,5 @@ package com.sap.sailing.domain.leaderboard.impl; -import java.io.IOException; -import java.io.ObjectInputStream; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -64,7 +62,7 @@ public abstract class AbstractLeaderboardImpl implements Leaderboard, RaceColumn private final Comparator scoreComparator; - private transient Set raceColumnListeners; + private Set raceColumnListeners; /** * A leaderboard entry representing a snapshot of a cell at a given time point for a single race/competitor. @@ -128,11 +126,6 @@ public abstract class AbstractLeaderboardImpl implements Leaderboard, RaceColumn this.raceColumnListeners = new HashSet(); } - private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException { - ois.defaultReadObject(); - raceColumnListeners = new HashSet(); - } - @Override public Fleet getFleet(String fleetName) { for (RaceColumn raceColumn : getRaceColumns()) { From 34a6c890de3fcd22abfe9586ebf786eed98da337 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 01:25:06 +0200 Subject: [PATCH 227/339] working towards a failing test case for bug 731 --- .../META-INF/MANIFEST.MF | 5 +- .../test/AbstractServerReplicationTest.java | 5 +- ...LeaderboardCorrectionsReplicationTest.java | 65 +++++++++++++++++++ 3 files changed, 73 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.server.replication.test/META-INF/MANIFEST.MF b/java/com.sap.sailing.server.replication.test/META-INF/MANIFEST.MF index 4a0a40fb81a..6393ad9945d 100644 --- a/java/com.sap.sailing.server.replication.test/META-INF/MANIFEST.MF +++ b/java/com.sap.sailing.server.replication.test/META-INF/MANIFEST.MF @@ -18,4 +18,7 @@ Require-Bundle: com.sap.sailing.server, com.mongodb.driver;bundle-version="2.6.2", com.sap.sailing.domain.persistence, com.sap.sailing.domain.tractracadapter, - com.tractrac.clientmodule + com.tractrac.clientmodule, + com.sap.sailing.expeditionconnector, + com.sap.sailing.domain.swisstimingadapter, + org.json.simple;bundle-version="1.1.0" diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java index e1dcbf0f07c..3a0410b4aa3 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java @@ -48,7 +48,7 @@ public abstract class AbstractServerReplicationTest { private ReplicationServiceImpl masterReplicator; /** - * Sets up master and replica, starts the JMS message broker and registers the replica with the master. + * Drops the test DB. Sets up master and replica, starts the JMS message broker and registers the replica with the master. */ @Before public void setUp() throws Exception { @@ -56,6 +56,9 @@ public abstract class AbstractServerReplicationTest { result.getA().startToReplicateFrom(result.getB()); } + /** + * Drops the test DB. + */ protected Pair basicSetUp() throws FileNotFoundException, Exception, JMSException, UnknownHostException { final MongoDBService mongoDBService = MongoDBService.INSTANCE; diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java index 8004b8e6afa..51ece67365f 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java @@ -1,5 +1,9 @@ package com.sap.sailing.server.replication.test; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + import java.io.FileNotFoundException; import java.io.IOException; import java.net.UnknownHostException; @@ -9,16 +13,33 @@ import javax.jms.JMSException; import org.junit.Before; import org.junit.Test; +import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; +import com.sap.sailing.domain.base.DomainFactory; import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.base.RaceColumnListener; +import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; +import com.sap.sailing.domain.common.MaxPointsReason; +import com.sap.sailing.domain.common.RaceIdentifier; +import com.sap.sailing.domain.common.RegattaAndRaceIdentifier; +import com.sap.sailing.domain.common.RegattaNameAndRaceName; import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.domain.leaderboard.DelayedLeaderboardCorrections; +import com.sap.sailing.domain.leaderboard.Leaderboard; +import com.sap.sailing.domain.test.AbstractLeaderboardTest; +import com.sap.sailing.domain.test.MockedTrackedRaceWithFixedRank; import com.sap.sailing.domain.tracking.TrackedRace; +import com.sap.sailing.mongodb.MongoDBService; +import com.sap.sailing.server.impl.RacingEventServiceImpl; +import com.sap.sailing.server.operationaltransformation.AddColumnToLeaderboard; +import com.sap.sailing.server.operationaltransformation.ConnectTrackedRaceToLeaderboardColumn; +import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard; +import com.sap.sailing.server.operationaltransformation.UpdateLeaderboardMaxPointsReason; import com.sap.sailing.server.replication.ReplicationMasterDescriptor; import com.sap.sailing.server.replication.ReplicationService; public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServerReplicationTest { + private static final String Q2 = "Q2"; private ReplicationService replicaReplicator; private ReplicationMasterDescriptor masterDescriptor; @@ -45,7 +66,51 @@ public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServer // then start initial load, wait until finished; then link a tracked race to leaderboard's RaceColumn on master and // verify that on the replica it is associated to the RaceColumn as well, and the DelayedLeaderboardCorrections are // resolved properly on the replica. + + BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); + Competitor hasso = AbstractLeaderboardTest.createCompetitor("Dr. Hasso Plattner"); + final TrackedRace q2YellowTrackedRace = new MockedTrackedRaceWithFixedRank(hasso, /* rank */ 1, /* started */ false, boatClass) { + private static final long serialVersionUID = 1234L; + @Override + public RegattaAndRaceIdentifier getRaceIdentifier() { + return new RegattaNameAndRaceName("Kieler Woche (5o5)", "Yellow Race 2"); + } + }; + master = createRacingEventServiceWithOneMockedTrackedRace(q2YellowTrackedRace); + final String leaderboardName = "My new leaderboard"; + assertNull(replica.getLeaderboardByName(leaderboardName)); + final int[] discardThresholds = new int[] { 19, 44 }; + CreateFlexibleLeaderboard createTestLeaderboard = new CreateFlexibleLeaderboard(leaderboardName, discardThresholds); + assertNull(master.getLeaderboardByName(leaderboardName)); + master.apply(createTestLeaderboard); + final Leaderboard masterLeaderboard = master.getLeaderboardByName(leaderboardName); + assertNotNull(masterLeaderboard); + master.apply(new AddColumnToLeaderboard(Q2, leaderboardName, /* medalRace */ false)); // uses leaderboard's default fleet + master.apply(new ConnectTrackedRaceToLeaderboardColumn(masterLeaderboard.getName(), Q2, /* default fleet */ + masterLeaderboard.getFleet(null).getName(), q2YellowTrackedRace.getRaceIdentifier())); + master.apply(new UpdateLeaderboardMaxPointsReason(masterLeaderboard.getName(), Q2, hasso.getId().toString(), + MaxPointsReason.DNF, MillisecondsTimePoint.now())); + assertEquals(MaxPointsReason.DNF, masterLeaderboard.getMaxPointsReason(hasso, + masterLeaderboard.getRaceColumnByName(Q2), MillisecondsTimePoint.now())); + + // re-load new master from persistence + master = new RacingEventServiceImpl(MongoDBService.INSTANCE); + final Leaderboard masterLeaderboardReloaded = master.getLeaderboardByName(leaderboardName); + assertNotNull(masterLeaderboardReloaded); + // expecting the correction to only be in the DelayedLeaderboardCorrection object but not the leaderboard itself + assertEquals(MaxPointsReason.NONE, masterLeaderboardReloaded.getMaxPointsReason(hasso, + masterLeaderboardReloaded.getRaceColumnByName(Q2), MillisecondsTimePoint.now())); + replicaReplicator.startToReplicateFrom(masterDescriptor); + } + private RacingEventServiceImpl createRacingEventServiceWithOneMockedTrackedRace(final TrackedRace q2YellowTrackedRace) { + return new RacingEventServiceImpl(MongoDBService.INSTANCE) { + @Override + public TrackedRace getExistingTrackedRace(RaceIdentifier raceIdentifier) { + return q2YellowTrackedRace; + } + }; + } } From ae5910c50f4864d7f3bfa066049197a22d6924eb Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 02:06:18 +0200 Subject: [PATCH 228/339] completed test showing that delayed leaderboard corrections replication works --- .../test/AbstractServerReplicationTest.java | 29 ++++++++++++--- ...LeaderboardCorrectionsReplicationTest.java | 37 +++++++++++++++---- .../server/impl/RacingEventServiceImpl.java | 7 ++-- 3 files changed, 57 insertions(+), 16 deletions(-) diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java index 3a0410b4aa3..5d232ac37a3 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java @@ -52,20 +52,39 @@ public abstract class AbstractServerReplicationTest { */ @Before public void setUp() throws Exception { - Pair result = basicSetUp(); + Pair result = basicSetUp(true, /* master=null means create a new one */ null, + /* replica=null means create a new one */ null); result.getA().startToReplicateFrom(result.getB()); } /** * Drops the test DB. + * + * @param master + * if not null, the value will be used for {@link #master}; otherwise, a new racing event + * service will be created as master + * @param replica + * if not null, the value will be used for {@link #replica}; otherwise, a new racing event + * service will be created as replica */ - protected Pair basicSetUp() throws FileNotFoundException, Exception, + protected Pair basicSetUp( + boolean dropDB, RacingEventServiceImpl master, RacingEventServiceImpl replica) throws FileNotFoundException, Exception, JMSException, UnknownHostException { final MongoDBService mongoDBService = MongoDBService.INSTANCE; - mongoDBService.getDB().dropDatabase(); + if (dropDB) { + mongoDBService.getDB().dropDatabase(); + } resolveAgainst = DomainFactory.INSTANCE; - master = new RacingEventServiceImpl(mongoDBService); - replica = new RacingEventServiceImpl(mongoDBService); + if (master != null) { + this.master = master; + } else { + this.master = new RacingEventServiceImpl(mongoDBService); + } + if (replica != null) { + this.replica = replica; + } else { + this.replica = new RacingEventServiceImpl(mongoDBService); + } ReplicationInstancesManager rim = new ReplicationInstancesManager(); final String IN_VM_BROKER_URL = "vm://localhost-jms-connection?broker.useJmx=false"; final String activeMQPersistenceParentDir = System.getProperty("java.io.tmpdir"); diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java index 51ece67365f..1b573452494 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java @@ -5,7 +5,6 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import java.io.FileNotFoundException; -import java.io.IOException; import java.net.UnknownHostException; import javax.jms.JMSException; @@ -45,9 +44,8 @@ public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServer @Before public void setUp() throws FileNotFoundException, UnknownHostException, JMSException, Exception { - Pair descriptors = basicSetUp(); - replicaReplicator = descriptors.getA(); - masterDescriptor = descriptors.getB(); + final MongoDBService mongoDBService = MongoDBService.INSTANCE; + mongoDBService.getDB().dropDatabase(); } /** @@ -60,7 +58,7 @@ public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServer * also in the replica. This is what this test verifies. */ @Test - public void testDelayedLeaderboardCorrectionsReplication() throws ClassNotFoundException, IOException, JMSException { + public void testDelayedLeaderboardCorrectionsReplication() throws Exception { // TODO prepare a leaderboard with corrections on master by creating through RacingEventService which stores it; then // create a new RacingEventServiceImpl which is expected to load the leaderboard, but only with DelayedLeaderboardCorrections. // then start initial load, wait until finished; then link a tracked race to leaderboard's RaceColumn on master and @@ -78,7 +76,6 @@ public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServer }; master = createRacingEventServiceWithOneMockedTrackedRace(q2YellowTrackedRace); final String leaderboardName = "My new leaderboard"; - assertNull(replica.getLeaderboardByName(leaderboardName)); final int[] discardThresholds = new int[] { 19, 44 }; CreateFlexibleLeaderboard createTestLeaderboard = new CreateFlexibleLeaderboard(leaderboardName, discardThresholds); assertNull(master.getLeaderboardByName(leaderboardName)); @@ -94,14 +91,38 @@ public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServer masterLeaderboard.getRaceColumnByName(Q2), MillisecondsTimePoint.now())); // re-load new master from persistence - master = new RacingEventServiceImpl(MongoDBService.INSTANCE); + master = createRacingEventServiceWithOneMockedTrackedRace(q2YellowTrackedRace); + replica = createRacingEventServiceWithOneMockedTrackedRace(q2YellowTrackedRace); final Leaderboard masterLeaderboardReloaded = master.getLeaderboardByName(leaderboardName); assertNotNull(masterLeaderboardReloaded); // expecting the correction to only be in the DelayedLeaderboardCorrection object but not the leaderboard itself assertEquals(MaxPointsReason.NONE, masterLeaderboardReloaded.getMaxPointsReason(hasso, masterLeaderboardReloaded.getRaceColumnByName(Q2), MillisecondsTimePoint.now())); - + + // replicate the re-loaded environment + Pair descriptors = basicSetUp(/* dropDB */ false, master, replica); + replicaReplicator = descriptors.getA(); + masterDescriptor = descriptors.getB(); replicaReplicator.startToReplicateFrom(masterDescriptor); + Thread.sleep(1000); + + Leaderboard replicaLeaderboard = replica.getLeaderboardByName(leaderboardName); + assertNotNull(replicaLeaderboard); + assertNotNull(replicaLeaderboard.getRaceColumnByName(Q2)); + // so far, the replica should also only have the delayed corrections: + assertEquals(MaxPointsReason.NONE, replicaLeaderboard.getMaxPointsReason(hasso, + replicaLeaderboard.getRaceColumnByName(Q2), MillisecondsTimePoint.now())); + + // now connect the tracked race again to the leaderboard column in the re-loaded environment + master.apply(new ConnectTrackedRaceToLeaderboardColumn(masterLeaderboard.getName(), Q2, /* default fleet */ + masterLeaderboard.getFleet(null).getName(), q2YellowTrackedRace.getRaceIdentifier())); + // now the delayed corrections are expected to have been resolved: + assertEquals(MaxPointsReason.DNF, master.getLeaderboardByName(leaderboardName).getMaxPointsReason(hasso, + master.getLeaderboardByName(leaderboardName).getRaceColumnByName(Q2), MillisecondsTimePoint.now())); + Thread.sleep(1000); // wait for the tracked race to column connection to be replicated + assertNotNull(replicaLeaderboard.getRaceColumnByName(Q2).getTrackedRace(hasso)); + assertEquals(MaxPointsReason.DNF, replicaLeaderboard.getMaxPointsReason(hasso, + replicaLeaderboard.getRaceColumnByName(Q2), MillisecondsTimePoint.now())); } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index cd6971f0d07..c1ae0a4339b 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -698,10 +698,11 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public synchronized TrackedRace createTrackedRace(RegattaAndRaceIdentifier raceIdentifier, WindStore windStore, long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, long millisecondsOverWhichToAverageSpeed) { - DynamicTrackedRegatta trackedRegatta = getTrackedRegatta(getRegatta(raceIdentifier)); + DynamicTrackedRegatta trackedRegatta = getOrCreateTrackedRegatta(getRegatta(raceIdentifier)); RaceDefinition race = getRace(raceIdentifier); - return trackedRegatta.createTrackedRace(race, windStore, delayToLiveInMillis, millisecondsOverWhichToAverageWind, millisecondsOverWhichToAverageSpeed, - /* raceDefinitionSetToUpdate */ null); + return trackedRegatta.createTrackedRace(race, windStore, delayToLiveInMillis, + millisecondsOverWhichToAverageWind, millisecondsOverWhichToAverageSpeed, + /* raceDefinitionSetToUpdate */null); } @Override From 1807ed67b6b2d4215d748621038d4b2d25319528 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 09:50:43 +0200 Subject: [PATCH 229/339] fixed server replication test set-up --- .../replication/test/AbstractServerReplicationTest.java | 5 +++-- .../test/DelayedLeaderboardCorrectionsReplicationTest.java | 4 +--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java index 5d232ac37a3..4bdb809e28c 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java @@ -95,7 +95,7 @@ public abstract class AbstractServerReplicationTest { IN_VM_BROKER_URL, activeMQPersistenceParentDir)); brokerMgr.startMessageBroker(/* useJmx */ false); brokerMgr.createAndStartConnection(); - masterReplicator = new ReplicationServiceImpl(rim, brokerMgr, master); + masterReplicator = new ReplicationServiceImpl(rim, brokerMgr, this.master); replicaDescriptor = new ReplicaDescriptor(InetAddress.getLocalHost()); masterReplicator.registerReplica(replicaDescriptor); ReplicationMasterDescriptor masterDescriptor = new ReplicationMasterDescriptor() { @@ -132,7 +132,8 @@ public abstract class AbstractServerReplicationTest { return null; } }; - ReplicationService replicaReplicator = new ReplicationServiceTestImpl(resolveAgainst, rim, brokerMgr, replicaDescriptor, replica, master, masterReplicator); + ReplicationService replicaReplicator = new ReplicationServiceTestImpl(resolveAgainst, rim, brokerMgr, + replicaDescriptor, this.replica, this.master, masterReplicator); Pair result = new Pair<>(replicaReplicator, masterDescriptor); return result; } diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java index 1b573452494..8a44bb81353 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java @@ -59,12 +59,11 @@ public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServer */ @Test public void testDelayedLeaderboardCorrectionsReplication() throws Exception { - // TODO prepare a leaderboard with corrections on master by creating through RacingEventService which stores it; then + // prepare a leaderboard with corrections on master by creating through RacingEventService which stores it; then // create a new RacingEventServiceImpl which is expected to load the leaderboard, but only with DelayedLeaderboardCorrections. // then start initial load, wait until finished; then link a tracked race to leaderboard's RaceColumn on master and // verify that on the replica it is associated to the RaceColumn as well, and the DelayedLeaderboardCorrections are // resolved properly on the replica. - BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); Competitor hasso = AbstractLeaderboardTest.createCompetitor("Dr. Hasso Plattner"); final TrackedRace q2YellowTrackedRace = new MockedTrackedRaceWithFixedRank(hasso, /* rank */ 1, /* started */ false, boatClass) { @@ -123,7 +122,6 @@ public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServer assertNotNull(replicaLeaderboard.getRaceColumnByName(Q2).getTrackedRace(hasso)); assertEquals(MaxPointsReason.DNF, replicaLeaderboard.getMaxPointsReason(hasso, replicaLeaderboard.getRaceColumnByName(Q2), MillisecondsTimePoint.now())); - } private RacingEventServiceImpl createRacingEventServiceWithOneMockedTrackedRace(final TrackedRace q2YellowTrackedRace) { From d7517c7321c10411db480f76f1b33b381c618877 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 09:52:46 +0200 Subject: [PATCH 230/339] waiting after dropDatabase didn't show any improvements; removing Thread.sleep again --- .../src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java index 18e24eeeca5..e1c771e93c7 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java @@ -39,7 +39,6 @@ public abstract class AbstractMongoDBTest { mongo.dropDatabase(getDBConfiguration().getDatabaseName()); db = mongo.getDB(getDBConfiguration().getDatabaseName()); assertNotNull(db); - Thread.sleep(1000); // wait for dropDatabase to take effect } protected MongoDBService getMongoService() { From dae1d4fd1d63c6c6c39c65a292cc6990fc5006e0 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 11:33:31 +0200 Subject: [PATCH 231/339] added tests for bug 469 and improved Javadocs around the topic --- .../test/LeaderboardScoringAndRankingTest.java | 15 +++++++++++++-- .../sailing/domain/leaderboard/Leaderboard.java | 6 +++++- .../leaderboard/impl/ScoreCorrectionImpl.java | 5 ++--- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java index c37a8ca801b..9e35b93a05a 100644 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/LeaderboardScoringAndRankingTest.java @@ -59,10 +59,12 @@ public class LeaderboardScoringAndRankingTest extends AbstractLeaderboardTest { } /** - * Asserts that the competitors ranking worse than the disqualified competitor advance by one + * Asserts that the competitors ranking worse than the disqualified competitor advance by one in the + * {@link Leaderboard#getCompetitorsFromBestToWorst(TimePoint)} ordering. Note that this does not test + * the total points given for those competitors. */ @Test - public void testOneStartedRaceWithDifferentScoresAndDisqualification() { + public void testOneStartedRaceWithDifferentScoresAndDisqualification() throws NoWindException { List competitors = createCompetitors(10); Regatta regatta = createRegatta(/* qualifying */0, new String[] { "Default" }, /* final */1, new String[] { "Default" }, @@ -83,6 +85,15 @@ public class LeaderboardScoringAndRankingTest extends AbstractLeaderboardTest { assertEquals(competitors.subList(0, 5), rankedCompetitors.subList(0, 5)); assertEquals(competitors.subList(6, 10), rankedCompetitors.subList(5, 9)); assertEquals(competitors.get(5), rankedCompetitors.get(9)); + + // Now test the total points and make sure the other competitors advanced by one, too + assertEquals(11, leaderboard.getTotalPoints(competitors.get(5), f1Column, now)); + for (int i=0; i<5; i++) { + assertEquals(i+1, leaderboard.getTotalPoints(competitors.get(i), f1Column, now)); + } + for (int i=6; i<10; i++) { + assertEquals(i, leaderboard.getTotalPoints(competitors.get(i), f1Column, now)); + } } @Test diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java index d9435d1334d..f5b49d15d74 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/Leaderboard.java @@ -77,7 +77,11 @@ public interface Leaderboard extends Named { * Shorthand for {@link TrackedRace#getRank(Competitor, com.sap.sailing.domain.common.TimePoint)} with the * additional logic that in case the race hasn't {@link TrackedRace#hasStarted(TimePoint) started} yet * or no {@link TrackedRace} exists for race, 0 will be returned for all those competitors. The tracked - * race for the correct {@link Fleet} is determined using {@link RaceColumn#getTrackedRace(Competitor)}. + * race for the correct {@link Fleet} is determined using {@link RaceColumn#getTrackedRace(Competitor)}.

+ * + * For each competitor tracking-wise ranking better than competitor but with + * a {@link #getMaxPointsReason(Competitor, RaceColumn, TimePoint) disqualification reason} given, competitor's + * rank is improved by one. * * @param competitor * a competitor contained in the {@link #getCompetitors()} result diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/ScoreCorrectionImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/ScoreCorrectionImpl.java index d004d2e9f40..00be3014940 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/ScoreCorrectionImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/ScoreCorrectionImpl.java @@ -119,9 +119,8 @@ public class ScoreCorrectionImpl implements SettableScoreCorrection { /** * Under the assumption that the competitor is not assigned the maximum score due to disqualification or other - * reasons, computes the corrected score. This default implementation uses uncorrectedScore without - * changes. Subclasses may wish to allow for optionally overwriting this uncorrected score to handle, e.g., - * differences between what the tracking results suggest and what the jury or race committee decided. + * reasons, computes the corrected score. If {@link #correctedScores} contains an entry for the competitor's key, + * it is used. Otherwise, the uncorrectedScore is returned. */ protected int getCorrectedNonMaxedScore(Competitor competitor, RaceColumn raceColumn, int uncorrectedScore) { Integer correctedNonMaxedScore = correctedScores.get(raceColumn.getKey(competitor)); From 793074281e5851a1c2e90ec14c1a3720ecaf5b83 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 16:40:52 +0200 Subject: [PATCH 232/339] leaderboard with preSelectedRace filters competitors to those who participated in that race --- .../gwt/ui/leaderboard/LeaderboardPanel.java | 71 ++++++++++++++++--- .../sailing/gwt/ui/leaderboard/LegColumn.java | 2 +- .../leaderboard/ManeuverCountRaceColumn.java | 4 +- .../EditableLeaderboardPanel.java | 14 ++-- .../gwt/ui/server/SailingServiceImpl.java | 5 +- .../gwt/ui/shared/AbstractLeaderboardDTO.java | 10 +-- .../gwt/ui/shared/LeaderboardEntryDTO.java | 9 +++ .../gwt/ui/shared/LeaderboardRowDTO.java | 10 +-- .../sailing/gwt/ui/shared/RaceColumnDTO.java | 8 +++ 9 files changed, 101 insertions(+), 32 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java index 81b4c247317..fb9531126db 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java @@ -63,6 +63,7 @@ import com.sap.sailing.gwt.ui.client.Timer.PlayModes; import com.sap.sailing.gwt.ui.client.Timer.PlayStates; import com.sap.sailing.gwt.ui.client.UserAgentChecker.UserAgentTypes; import com.sap.sailing.gwt.ui.leaderboard.LegDetailColumn.LegDetailField; +import com.sap.sailing.gwt.ui.shared.AbstractLeaderboardDTO; import com.sap.sailing.gwt.ui.shared.CompetitorDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardDTO; import com.sap.sailing.gwt.ui.shared.LeaderboardEntryDTO; @@ -448,7 +449,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta */ @Override public void render(Context context, LeaderboardRowDTO object, SafeHtmlBuilder html) { - LeaderboardEntryDTO entry = object.fieldsByRaceName.get(getRaceColumnName()); + LeaderboardEntryDTO entry = object.fieldsByRaceColumnName.get(getRaceColumnName()); if (entry != null) { // don't show points if max points / penalty if (entry.reasonForMaxPoints == null || entry.reasonForMaxPoints == MaxPointsReason.NONE) { @@ -528,7 +529,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta @Override public String getValue(LeaderboardRowDTO object) { - final int totalPoints = object.fieldsByRaceName.get(getRaceColumnName()).totalPoints; + final int totalPoints = object.fieldsByRaceColumnName.get(getRaceColumnName()).totalPoints; return "" + (totalPoints == 0 ? "" : totalPoints); } @@ -651,7 +652,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta @Override public Double get(LeaderboardRowDTO row) { Double result = null; - LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceName.get(getRaceColumnName()); + LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceColumnName.get(getRaceColumnName()); if (fieldsForRace != null && fieldsForRace.legDetails != null) { double distanceTraveledInMeters = 0; long timeInMilliseconds = 0; @@ -678,7 +679,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta @Override public Double get(LeaderboardRowDTO row) { Double result = null; - LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceName.get(getRaceColumnName()); + LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceColumnName.get(getRaceColumnName()); if (fieldsForRace != null) { result = fieldsForRace.averageCrossTrackErrorInMeters; } @@ -695,7 +696,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta @Override public Double get(LeaderboardRowDTO row) { Double result = null; - LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceName.get(getRaceColumnName()); + LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceColumnName.get(getRaceColumnName()); if (fieldsForRace != null && fieldsForRace.legDetails != null) { for (LegEntryDTO legDetail : fieldsForRace.legDetails) { if (legDetail != null) { @@ -716,7 +717,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta @Override public Double get(LeaderboardRowDTO row) { Double result = null; - LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceName.get(getRaceColumnName()); + LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceColumnName.get(getRaceColumnName()); if (fieldsForRace != null && fieldsForRace.legDetails != null && !fieldsForRace.legDetails.isEmpty()) { for (LegEntryDTO legDetail : fieldsForRace.legDetails) { if (legDetail != null) { @@ -747,7 +748,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta @Override public Double get(LeaderboardRowDTO row) { Double result = null; - LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceName.get(getRaceColumnName()); + LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceColumnName.get(getRaceColumnName()); if (fieldsForRace != null && fieldsForRace.legDetails != null) { int lastLegIndex = fieldsForRace.legDetails.size() - 1; LegEntryDTO lastLegDetail = fieldsForRace.legDetails.get(lastLegIndex); @@ -772,7 +773,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta @Override public Double get(LeaderboardRowDTO row) { Double result = null; - LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceName.get(getRaceColumnName()); + LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceColumnName.get(getRaceColumnName()); if (fieldsForRace != null && fieldsForRace.windwardDistanceToOverallLeaderInMeters != null) { result = fieldsForRace.windwardDistanceToOverallLeaderInMeters; } @@ -967,7 +968,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta getLeaderboardTable().addColumnSortHandler(listHandler); loadCompleteLeaderboard(getLeaderboardDisplayDate()); - if(preSelectedRace == null) { + if (this.preSelectedRace == null) { isEmbedded = false; } else { isEmbedded = true; @@ -1228,7 +1229,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta getData().getList().clear(); if (leaderboard != null) { boolean firstRace = true; - getData().getList().addAll(leaderboard.rows.values()); + getData().getList().addAll(getRowsToDisplay(leaderboard)); for (int i = 0; i < getLeaderboardTable().getColumnCount(); i++) { SortableColumn c = (SortableColumn) getLeaderboardTable().getColumn(i); c.updateMinMax(leaderboard); @@ -1261,6 +1262,56 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta } } + /** + * Extracts the rows to display of the leaderboard. These are all {@link AbstractLeaderboardDTO#rows rows} in case + * {@link #preSelectedRace} is null, or only the rows of the competitors who scored in + * the race identified by {@link #preSelectedRace} otherwise. + */ + private Collection getRowsToDisplay(LeaderboardDTO leaderboard) { + Collection result; + if (preSelectedRace == null) { + result = leaderboard.rows.values(); + } else { + result = new ArrayList(); + for (CompetitorDTO competitorInPreSelectedRace : getCompetitors(preSelectedRace)) { + result.add(leaderboard.rows.get(competitorInPreSelectedRace)); + } + } + return result; + } + + /** + * The {@link LeaderboardDTO} holds {@link LeaderboardDTO#getRaceList() races} as {@link RaceColumnDTO} objects. + * Those map their fleet names to the {@link RegattaAndRaceIdentifier} which identifies the tracked race + * representing the fleet race within the race column. + *

+ * + * On the other hand, a {@link LeaderboardRowDTO} has {@link LeaderboardEntryDTO}, keyed by race column name. The + * entry DTOs, in turn, store the {@link RaceIdentifier} of the race in which the respective competitor achieved the + * score. + *

+ * + * With this information it is possible to identify the competitors who participated in a particular tracked race, + * as identified through the race parameter. + * + * @return all competitors for which the {@link #getLeaderboard() leaderboard} has an entry whose + * {@link LeaderboardEntryDTO#race} equals race + */ + private Iterable getCompetitors(RaceIdentifier race) { + Set result = new HashSet(); + for (RaceColumnDTO raceColumn : getLeaderboard().getRaceList()) { + if (raceColumn.hasTrackedRace(race)) { + for (Map.Entry e : getLeaderboard().rows.entrySet()) { + LeaderboardEntryDTO entry = e.getValue().fieldsByRaceColumnName.get(raceColumn.getRaceColumnName()); + if (entry != null && entry.race.equals(race)) { + result.add(e.getKey()); + } + } + } + } + return result; + } + private SortableColumn getDefaultSortColumn() { SortableColumn defaultSortColumn = null; if (raceNameForDefaultSorting != null) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LegColumn.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LegColumn.java index 49980317811..ca19e65c397 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LegColumn.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LegColumn.java @@ -295,7 +295,7 @@ public class LegColumn extends ExpandableSortableColumn { private LegEntryDTO getLegEntry(LeaderboardRowDTO row, int theLegIndex) { LegEntryDTO legEntry = null; - LeaderboardEntryDTO entry = row.fieldsByRaceName.get(getRaceName()); + LeaderboardEntryDTO entry = row.fieldsByRaceColumnName.get(getRaceName()); if (entry != null && entry.legDetails != null) { legEntry = entry.legDetails.get(theLegIndex); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/ManeuverCountRaceColumn.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/ManeuverCountRaceColumn.java index 5e7e11e1aec..579423e399c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/ManeuverCountRaceColumn.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/ManeuverCountRaceColumn.java @@ -31,7 +31,7 @@ public class ManeuverCountRaceColumn extends ExpandableSortableColumn im private abstract class AbstractManeuverDetailField> implements LegDetailField { public T get(LeaderboardRowDTO row) { - LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceName.get(getRaceName()); + LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceColumnName.get(getRaceName()); if (fieldsForRace == null) { return null; } else { @@ -138,7 +138,7 @@ public class ManeuverCountRaceColumn extends ExpandableSortableColumn im Double totalNumberOfTacks = null; Double totalNumberOfJibes = null; Double totalNumberOfPenaltyCircles = null; - LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceName.get(getRaceName()); + LeaderboardEntryDTO fieldsForRace = row.fieldsByRaceColumnName.get(getRaceName()); if (fieldsForRace != null && fieldsForRace.legDetails != null) { for (LegEntryDTO legDetail : fieldsForRace.legDetails) { if (legDetail != null) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboardedit/EditableLeaderboardPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboardedit/EditableLeaderboardPanel.java index 07e9201bb1a..a9ca0a8abc6 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboardedit/EditableLeaderboardPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboardedit/EditableLeaderboardPanel.java @@ -221,10 +221,10 @@ public class EditableLeaderboardPanel extends LeaderboardPanel { @Override public void onSuccess(Pair newNetAndTotalPoints) { - row.fieldsByRaceName.get(raceName).reasonForMaxPoints = value == null + row.fieldsByRaceColumnName.get(raceName).reasonForMaxPoints = value == null || value.length() == 0 ? null : MaxPointsReason.valueOf(value.trim()); - row.fieldsByRaceName.get(raceName).netPoints = newNetAndTotalPoints.getA(); - row.fieldsByRaceName.get(raceName).totalPoints = newNetAndTotalPoints.getB(); + row.fieldsByRaceColumnName.get(raceName).netPoints = newNetAndTotalPoints.getA(); + row.fieldsByRaceColumnName.get(raceName).totalPoints = newNetAndTotalPoints.getB(); getCell().setViewData(row, null); // ensure that getValue() is called again whiteboard.setObjectWithWhichToUpdateRow(row); } @@ -235,7 +235,7 @@ public class EditableLeaderboardPanel extends LeaderboardPanel { @Override public String getValue(LeaderboardRowDTO object) { - LeaderboardEntryDTO leaderboardEntryDTO = object.fieldsByRaceName.get(raceName); + LeaderboardEntryDTO leaderboardEntryDTO = object.fieldsByRaceColumnName.get(raceName); MaxPointsReason reasonForMaxPoints = null; if (leaderboardEntryDTO != null) { reasonForMaxPoints = leaderboardEntryDTO.reasonForMaxPoints; @@ -283,7 +283,7 @@ public class EditableLeaderboardPanel extends LeaderboardPanel { } private boolean isNetPointsCorrected() { - LeaderboardEntryDTO leaderboardEntryDTO = getCurrentlyRendering().fieldsByRaceName.get(raceName); + LeaderboardEntryDTO leaderboardEntryDTO = getCurrentlyRendering().fieldsByRaceColumnName.get(raceName); return leaderboardEntryDTO.netPointsCorrected; } @@ -313,7 +313,7 @@ public class EditableLeaderboardPanel extends LeaderboardPanel { @Override public void onSuccess(Triple newNetAndTotalPointsAndIsCorrected) { - final LeaderboardEntryDTO leaderboardEntryDTO = row.fieldsByRaceName.get(raceName); + final LeaderboardEntryDTO leaderboardEntryDTO = row.fieldsByRaceColumnName.get(raceName); leaderboardEntryDTO.netPoints = value == null || value.length() == 0 ? newNetAndTotalPointsAndIsCorrected .getA() : Integer.valueOf(value.trim()); leaderboardEntryDTO.totalPoints = newNetAndTotalPointsAndIsCorrected.getB(); @@ -328,7 +328,7 @@ public class EditableLeaderboardPanel extends LeaderboardPanel { @Override public String getValue(LeaderboardRowDTO object) { - LeaderboardEntryDTO leaderboardEntryDTO = object.fieldsByRaceName.get(raceName); + LeaderboardEntryDTO leaderboardEntryDTO = object.fieldsByRaceColumnName.get(raceName); String result = ""; if (leaderboardEntryDTO != null) { result = result+leaderboardEntryDTO.netPoints; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 6e3687886e7..a6ff7f417e6 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -299,7 +299,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS CompetitorDTO competitorDTO = getCompetitorDTO(competitor); LeaderboardRowDTO row = new LeaderboardRowDTO(); row.competitor = competitorDTO; - row.fieldsByRaceName = new HashMap(); + row.fieldsByRaceColumnName = new HashMap(); row.carriedPoints = leaderboard.hasCarriedPoints(competitor) ? leaderboard.getCarriedPoints(competitor) : null; result.competitors.add(competitorDTO); Map> futuresForColumnName = new HashMap>(); @@ -322,7 +322,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS } for (Map.Entry> raceColumnNameAndFuture : futuresForColumnName.entrySet()) { try { - row.fieldsByRaceName.put(raceColumnNameAndFuture.getKey(), raceColumnNameAndFuture.getValue().get()); + row.fieldsByRaceColumnName.put(raceColumnNameAndFuture.getKey(), raceColumnNameAndFuture.getValue().get()); } catch (InterruptedException e) { throw new RuntimeException(e); } catch (ExecutionException e) { @@ -370,6 +370,7 @@ public class SailingServiceImpl extends RemoteServiceServlet implements SailingS private LeaderboardEntryDTO getLeaderboardEntryDTO(Entry entry, TrackedRace trackedRace, Competitor competitor, TimePoint timePoint, boolean addLegDetails) throws NoWindException { LeaderboardEntryDTO entryDTO = new LeaderboardEntryDTO(); + entryDTO.race = trackedRace == null ? null : trackedRace.getRaceIdentifier(); entryDTO.netPoints = entry.getNetPoints(); entryDTO.netPointsCorrected = entry.isNetPointsCorrected(); entryDTO.totalPoints = entry.getTotalPoints(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/AbstractLeaderboardDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/AbstractLeaderboardDTO.java index 7cbb5a1e0f3..d471d72c323 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/AbstractLeaderboardDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/AbstractLeaderboardDTO.java @@ -38,8 +38,8 @@ public abstract class AbstractLeaderboardDTO implements IsSerializable { */ public int getLegCount(String raceName) { for (LeaderboardRowDTO row : rows.values()) { - if (row.fieldsByRaceName.get(raceName) != null && row.fieldsByRaceName.get(raceName).legDetails != null) { - return row.fieldsByRaceName.get(raceName).legDetails.size(); + if (row.fieldsByRaceColumnName.get(raceName) != null && row.fieldsByRaceColumnName.get(raceName).legDetails != null) { + return row.fieldsByRaceColumnName.get(raceName).legDetails.size(); } } return -1; @@ -52,7 +52,7 @@ public abstract class AbstractLeaderboardDTO implements IsSerializable { public boolean scoredInMedalRace(CompetitorDTO competitor) { LeaderboardRowDTO row = rows.get(competitor); for (RaceColumnDTO race : races) { - if (race.isMedalRace() && row.fieldsByRaceName.get(race.getRaceColumnName()).totalPoints > 0) { + if (race.isMedalRace() && row.fieldsByRaceColumnName.get(race.getRaceColumnName()).totalPoints > 0) { return true; } } @@ -61,7 +61,7 @@ public abstract class AbstractLeaderboardDTO implements IsSerializable { public int getTotalPoints(LeaderboardRowDTO object) { int totalPoints = object.carriedPoints == null ? 0 : object.carriedPoints; - for (LeaderboardEntryDTO e : object.fieldsByRaceName.values()) { + for (LeaderboardEntryDTO e : object.fieldsByRaceColumnName.values()) { totalPoints += e.totalPoints; } return totalPoints; @@ -71,7 +71,7 @@ public abstract class AbstractLeaderboardDTO implements IsSerializable { int result = 0; LeaderboardRowDTO row = rows.get(competitor); if (row != null) { - LeaderboardEntryDTO field = row.fieldsByRaceName.get(nameOfLastRaceSoFar); + LeaderboardEntryDTO field = row.fieldsByRaceColumnName.get(nameOfLastRaceSoFar); if (field != null) { result = field.netPoints; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardEntryDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardEntryDTO.java index be73ea4a702..3544b3c71c2 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardEntryDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardEntryDTO.java @@ -4,6 +4,7 @@ import java.util.List; import com.google.gwt.user.client.rpc.IsSerializable; import com.sap.sailing.domain.common.MaxPointsReason; +import com.sap.sailing.domain.common.RaceIdentifier; /** * Holds a single competitor's scoring details for a single race. It may optionally contain @@ -14,6 +15,12 @@ import com.sap.sailing.domain.common.MaxPointsReason; * */ public class LeaderboardEntryDTO implements IsSerializable { + /** + * Identifies the race in which the competitor achieved this score. This makes it possible to find out in which + * fleet the competitor started in this column. + */ + public RaceIdentifier race; + /** * Either null in case no max points, or one of "DNS", "DNF", "OCS", "DND", "RAF", "BFD", "DNC", or "DSQ" */ @@ -41,6 +48,8 @@ public class LeaderboardEntryDTO implements IsSerializable { */ public List legDetails; + public LeaderboardEntryDTO() { } + @Override public int hashCode() { final int prime = 31; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardRowDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardRowDTO.java index dc10600d823..18e32a700a9 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardRowDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/LeaderboardRowDTO.java @@ -12,7 +12,7 @@ import com.google.gwt.user.client.rpc.IsSerializable; */ public class LeaderboardRowDTO implements IsSerializable { public CompetitorDTO competitor; - public Map fieldsByRaceName; + public Map fieldsByRaceColumnName; public Integer carriedPoints; @Override @@ -21,7 +21,7 @@ public class LeaderboardRowDTO implements IsSerializable { int result = 1; result = prime * result + ((carriedPoints == null) ? 0 : carriedPoints.hashCode()); result = prime * result + ((competitor == null) ? 0 : competitor.hashCode()); - result = prime * result + ((fieldsByRaceName == null) ? 0 : fieldsByRaceName.hashCode()); + result = prime * result + ((fieldsByRaceColumnName == null) ? 0 : fieldsByRaceColumnName.hashCode()); return result; } @@ -44,10 +44,10 @@ public class LeaderboardRowDTO implements IsSerializable { return false; } else if (!competitor.equals(other.competitor)) return false; - if (fieldsByRaceName == null) { - if (other.fieldsByRaceName != null) + if (fieldsByRaceColumnName == null) { + if (other.fieldsByRaceColumnName != null) return false; - } else if (!fieldsByRaceName.equals(other.fieldsByRaceName)) + } else if (!fieldsByRaceColumnName.equals(other.fieldsByRaceColumnName)) return false; return true; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceColumnDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceColumnDTO.java index b8200df36a9..6ac9af80d49 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceColumnDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/RaceColumnDTO.java @@ -25,6 +25,10 @@ public class RaceColumnDTO implements IsSerializable { fleetNames = new ArrayList(); } + public boolean hasTrackedRace(RaceIdentifier raceIdentifier) { + return trackedRaceIdentifiersPerFleet.values().contains(raceIdentifier); + } + public String getRaceColumnName() { return raceColumnName; } @@ -182,4 +186,8 @@ public class RaceColumnDTO implements IsSerializable { fleetNames.add(fleetName); } + @Override + public String toString() { + return getRaceColumnName(); + } } From 348c66e5cf19c493d0f6ddf8cd146494f0fd47f9 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 16:52:39 +0200 Subject: [PATCH 233/339] fixed NPE regarding filtering for race in RaceBoard's leaderboard --- .../com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java index fb9531126db..37918d71e69 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java @@ -1303,7 +1303,7 @@ public class LeaderboardPanel extends FormPanel implements TimeListener, PlaySta if (raceColumn.hasTrackedRace(race)) { for (Map.Entry e : getLeaderboard().rows.entrySet()) { LeaderboardEntryDTO entry = e.getValue().fieldsByRaceColumnName.get(raceColumn.getRaceColumnName()); - if (entry != null && entry.race.equals(race)) { + if (entry != null && entry.race != null && entry.race.equals(race)) { result.add(e.getKey()); } } From f4928da853d5d66335a8e7f69d8d32b217fdac94 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 18:20:51 +0200 Subject: [PATCH 234/339] fixing bug 723 by queuing Operations until initial load has completed --- .../test/AbstractServerReplicationTest.java | 24 +++-- ...LeaderboardCorrectionsReplicationTest.java | 2 +- .../impl/ReplicationServiceImpl.java | 5 +- .../server/replication/impl/Replicator.java | 87 ++++++++++++++++++- .../CreateFlexibleLeaderboard.java | 11 ++- 5 files changed, 113 insertions(+), 16 deletions(-) diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java index 4bdb809e28c..e6b7999d8c7 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/AbstractServerReplicationTest.java @@ -52,7 +52,7 @@ public abstract class AbstractServerReplicationTest { */ @Before public void setUp() throws Exception { - Pair result = basicSetUp(true, /* master=null means create a new one */ null, + Pair result = basicSetUp(true, /* master=null means create a new one */ null, /* replica=null means create a new one */ null); result.getA().startToReplicateFrom(result.getB()); } @@ -67,7 +67,7 @@ public abstract class AbstractServerReplicationTest { * if not null, the value will be used for {@link #replica}; otherwise, a new racing event * service will be created as replica */ - protected Pair basicSetUp( + protected Pair basicSetUp( boolean dropDB, RacingEventServiceImpl master, RacingEventServiceImpl replica) throws FileNotFoundException, Exception, JMSException, UnknownHostException { final MongoDBService mongoDBService = MongoDBService.INSTANCE; @@ -132,9 +132,9 @@ public abstract class AbstractServerReplicationTest { return null; } }; - ReplicationService replicaReplicator = new ReplicationServiceTestImpl(resolveAgainst, rim, brokerMgr, + ReplicationServiceTestImpl replicaReplicator = new ReplicationServiceTestImpl(resolveAgainst, rim, brokerMgr, replicaDescriptor, this.replica, this.master, masterReplicator); - Pair result = new Pair<>(replicaReplicator, masterDescriptor); + Pair result = new Pair<>(replicaReplicator, masterDescriptor); return result; } @@ -147,7 +147,7 @@ public abstract class AbstractServerReplicationTest { Activator.removeTemporaryTestBrokerPersistenceDirectory(brokerPersistenceDir); } - private static class ReplicationServiceTestImpl extends ReplicationServiceImpl { + static class ReplicationServiceTestImpl extends ReplicationServiceImpl { private final DomainFactory resolveAgainst; private final RacingEventService master; private final ReplicaDescriptor replicaDescriptor; @@ -169,11 +169,19 @@ public abstract class AbstractServerReplicationTest { @Override public void startToReplicateFrom(ReplicationMasterDescriptor master) throws IOException, ClassNotFoundException, JMSException { + Replicator replicator = startToReplicateFromButDontYetFetchInitialLoad(master, /* startReplicatorSuspended */ true); + initialLoad(); + replicator.setSuspended(false); // resume after initial load + } + + protected Replicator startToReplicateFromButDontYetFetchInitialLoad(ReplicationMasterDescriptor master, boolean startReplicatorSuspended) + throws JMSException, UnknownHostException { masterReplicationService.registerReplica(replicaDescriptor); registerReplicaUuidForMaster(replicaDescriptor.getUuid().toString(), master); TopicSubscriber replicationSubscription = master.getTopicSubscriber(replicaDescriptor.getUuid().toString()); - replicationSubscription.setMessageListener(new Replicator(master, this)); - initialLoad(); + final Replicator replicator = new Replicator(master, this, startReplicatorSuspended); + replicationSubscription.setMessageListener(replicator); + return replicator; } /** @@ -181,7 +189,7 @@ public abstract class AbstractServerReplicationTest { * {@link RacingEventServiceImpl#serializeForInitialReplication(ObjectOutputStream)} and * {@link RacingEventServiceImpl#initiallyFillFrom(ObjectInputStream)} through a piped input/output stream. */ - private void initialLoad() throws IOException, ClassNotFoundException { + protected void initialLoad() throws IOException, ClassNotFoundException { PipedOutputStream pos = new PipedOutputStream(); PipedInputStream pis = new PipedInputStream(pos); final ObjectOutputStream oos = new ObjectOutputStream(pos); diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java index 8a44bb81353..aad57788d01 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/DelayedLeaderboardCorrectionsReplicationTest.java @@ -99,7 +99,7 @@ public class DelayedLeaderboardCorrectionsReplicationTest extends AbstractServer masterLeaderboardReloaded.getRaceColumnByName(Q2), MillisecondsTimePoint.now())); // replicate the re-loaded environment - Pair descriptors = basicSetUp(/* dropDB */ false, master, replica); + Pair descriptors = basicSetUp(/* dropDB */ false, master, replica); replicaReplicator = descriptors.getA(); masterDescriptor = descriptors.getB(); replicaReplicator.startToReplicateFrom(masterDescriptor); diff --git a/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServiceImpl.java b/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServiceImpl.java index 243a7f2d273..d583e60e07e 100644 --- a/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServiceImpl.java +++ b/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/ReplicationServiceImpl.java @@ -179,11 +179,12 @@ public class ReplicationServiceImpl implements ReplicationService, OperationExec String uuid = registerReplicaWithMaster(master); TopicSubscriber replicationSubscription = master.getTopicSubscriber(uuid); URL initialLoadURL = master.getInitialLoadURL(); - // TODO bug 723 hold back Replicator from performing operations received until initial load has completed - replicationSubscription.setMessageListener(new Replicator(master, this)); + final Replicator replicator = new Replicator(master, this, /* startSuspended */ true); + replicationSubscription.setMessageListener(replicator); InputStream is = initialLoadURL.openStream(); ObjectInputStream ois = new ObjectInputStream(is); getRacingEventService().initiallyFillFrom(ois); + replicator.setSuspended(false); // apply queued operations } /** diff --git a/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/Replicator.java b/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/Replicator.java index 719de502002..48f89d11783 100755 --- a/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/Replicator.java +++ b/java/com.sap.sailing.server.replication/src/com/sap/sailing/server/replication/impl/Replicator.java @@ -3,6 +3,9 @@ package com.sap.sailing.server.replication.impl; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.ObjectInputStream; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; import javax.jms.BytesMessage; import javax.jms.JMSException; @@ -17,7 +20,12 @@ import com.sap.sailing.server.replication.ReplicationMasterDescriptor; /** * Receives {@link RacingEventServiceOperation}s through JMS and * {@link RacingEventService#apply(RacingEventServiceOperation) applies} them to the {@link RacingEventService} passed - * to this replicator at construction. + * to this replicator at construction. When started in suspended mode, messages received will be turned into + * {@link RacingEventServiceOperation}s and then queued until {@link #setSuspended(boolean) setSuspended(false)} is invoked + * which applies all queued operations before applying the ones received later.

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 GqW=dkh=0-m literal 0 HcmV?d00001 diff --git a/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_4.xml b/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_4.xml new file mode 100755 index 00000000000..9bbd4e986d6 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_4.xml @@ -0,0 +1,10 @@ + + + 49er + 2011-06-18+02:00 + 21:23:41.577+02:00 + vorlauefig + Kieler Woche 2011 + 4 + 2011-06-18_49er_Wettfahrt_4.pdf + \ No newline at end of file diff --git a/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_4_Extra.xml b/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_4_Extra.xml new file mode 100755 index 00000000000..35ce25c3e8c --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_4_Extra.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/java/com.sap.sailing.kiworesultimport/.classpath b/java/com.sap.sailing.kiworesultimport/.classpath new file mode 100755 index 00000000000..b1dabee3829 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/java/com.sap.sailing.kiworesultimport/.project b/java/com.sap.sailing.kiworesultimport/.project new file mode 100755 index 00000000000..d2d5b17ed20 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/.project @@ -0,0 +1,28 @@ + + + com.sap.sailing.kiworesultimport + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/java/com.sap.sailing.kiworesultimport/.settings/org.eclipse.jdt.core.prefs b/java/com.sap.sailing.kiworesultimport/.settings/org.eclipse.jdt.core.prefs new file mode 100755 index 00000000000..11f6e462df7 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/java/com.sap.sailing.kiworesultimport/.settings/org.eclipse.pde.core.prefs b/java/com.sap.sailing.kiworesultimport/.settings/org.eclipse.pde.core.prefs new file mode 100755 index 00000000000..b7e72d019c2 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/.settings/org.eclipse.pde.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +pluginProject.extensions=false +resolve.requirebundle=false diff --git a/java/com.sap.sailing.kiworesultimport/META-INF/MANIFEST.MF b/java/com.sap.sailing.kiworesultimport/META-INF/MANIFEST.MF new file mode 100755 index 00000000000..a60f9ea1d9d --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/META-INF/MANIFEST.MF @@ -0,0 +1,8 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Kiworesultimport +Bundle-SymbolicName: com.sap.sailing.kiworesultimport +Bundle-Version: 1.0.0.qualifier +Bundle-Vendor: SAP +Bundle-RequiredExecutionEnvironment: JavaSE-1.7 +Require-Bundle: com.sap.sailing.server diff --git a/java/com.sap.sailing.kiworesultimport/build.properties b/java/com.sap.sailing.kiworesultimport/build.properties new file mode 100755 index 00000000000..41eb6ade2b4 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/java/pom.xml b/java/pom.xml index fb23b1e387d..7403d7c00b2 100755 --- a/java/pom.xml +++ b/java/pom.xml @@ -53,6 +53,8 @@ com.sap.sailing.feature.runtime com.sap.sailing.feature.p2build org.moxieapps.gwt.highcharts + com.sap.sailing.kiworesultimport + com.sap.sailing.kiworesultimport.test From 16b1960f61a878df725737331b442dc3353e0015 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 13:16:16 +0200 Subject: [PATCH 258/339] first minimal test case, reading an XML file as provided by b+m --- .../.classpath | 1 + .../build.properties | 3 +- .../kiworesultimport/test/ParserTest.java | 38 +++++++++++++++++++ .../ResultDocumentParser.java | 5 +++ 4 files changed, 46 insertions(+), 1 deletion(-) create mode 100755 java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultDocumentParser.java diff --git a/java/com.sap.sailing.kiworesultimport.test/.classpath b/java/com.sap.sailing.kiworesultimport.test/.classpath index b1dabee3829..1228533181d 100755 --- a/java/com.sap.sailing.kiworesultimport.test/.classpath +++ b/java/com.sap.sailing.kiworesultimport.test/.classpath @@ -3,5 +3,6 @@ + diff --git a/java/com.sap.sailing.kiworesultimport.test/build.properties b/java/com.sap.sailing.kiworesultimport.test/build.properties index 41eb6ade2b4..a2e16dfebcd 100755 --- a/java/com.sap.sailing.kiworesultimport.test/build.properties +++ b/java/com.sap.sailing.kiworesultimport.test/build.properties @@ -1,4 +1,5 @@ -source.. = src/ +source.. = src/,\ + resources/ output.. = bin/ bin.includes = META-INF/,\ . diff --git a/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java b/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java new file mode 100755 index 00000000000..23474a92220 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java @@ -0,0 +1,38 @@ +package com.sap.sailing.kiworesultimport.test; + +import static org.junit.Assert.assertNotNull; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; + +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import org.junit.Test; +import org.w3c.dom.Document; +import org.w3c.dom.Node; +import org.xml.sax.SAXException; + +public class ParserTest { + private static final String RESOURCES = "resources/"; + + private InputStream getInputStream(String filename) throws FileNotFoundException, IOException { + return new FileInputStream(getFile(filename)); + } + + private File getFile(String filename) { + return new File(RESOURCES + filename); + } + + @Test + public void testLoadingSampleXML() throws SAXException, IOException, ParserConfigurationException { + Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder() + .parse(getInputStream("2011-06-18_49er_Wettfahrt_2_Extra.xml")); + assertNotNull(doc); + Node resultList = doc.getElementsByTagName("ResultList").item(0); + assertNotNull(resultList); + } +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultDocumentParser.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultDocumentParser.java new file mode 100755 index 00000000000..b3092c6d8df --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultDocumentParser.java @@ -0,0 +1,5 @@ +package com.sap.sailing.kiworesultimport; + +public class ResultDocumentParser { + +} From 681c59d7632c8e2a7e2639d3d0bdfa7815613fd9 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 13:19:59 +0200 Subject: [PATCH 259/339] added more logging --- .../mongodb/test/TestStoringAndLoadingEventsAndRegattas.java | 1 + 1 file changed, 1 insertion(+) diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 55943314ffa..0207c51b1ed 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -187,6 +187,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest } logger.info("columns in regatta leaderboard for regatta "+regattaLeaderboard.getRegatta().getName()+" ("+ regattaLeaderboard.getRegatta().hashCode()+"): "+rlbrcNames); + logColumnsInRegatta(regattaLeaderboard.getRegatta()); } private void logColumnsInRegatta(Regatta regatta) { From a8a2fc5840340c4d023b607fc798ce88cefe69e9 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 13:21:32 +0200 Subject: [PATCH 260/339] added missing pom.xml files for new bundles --- java/com.sap.sailing.kiworesultimport.test/pom.xml | 12 ++++++++++++ java/com.sap.sailing.kiworesultimport/pom.xml | 12 ++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 java/com.sap.sailing.kiworesultimport.test/pom.xml create mode 100644 java/com.sap.sailing.kiworesultimport/pom.xml diff --git a/java/com.sap.sailing.kiworesultimport.test/pom.xml b/java/com.sap.sailing.kiworesultimport.test/pom.xml new file mode 100644 index 00000000000..4db44bcb63f --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport.test/pom.xml @@ -0,0 +1,12 @@ + + + 4.0.0 + + root + com.sap.sailing + 1.0.0-SNAPSHOT + + com.sap.sailing.kiworesultimport.test + eclipse-test-plugin + diff --git a/java/com.sap.sailing.kiworesultimport/pom.xml b/java/com.sap.sailing.kiworesultimport/pom.xml new file mode 100644 index 00000000000..db7ecfbaa9c --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/pom.xml @@ -0,0 +1,12 @@ + + + 4.0.0 + + root + com.sap.sailing + 1.0.0-SNAPSHOT + + com.sap.sailing.kiworesultimport + eclipse-plugin + From 049182eaf372718da5657795db57b622b56d9187 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 13:33:09 +0200 Subject: [PATCH 261/339] added interfaces along the XML document format for Kieler Woche result list service --- .../META-INF/MANIFEST.MF | 1 + .../com/sap/sailing/kiworesultimport/Boat.java | 9 +++++++++ .../sailing/kiworesultimport/Crewmember.java | 5 +++++ .../com/sap/sailing/kiworesultimport/Named.java | 5 +++++ .../com/sap/sailing/kiworesultimport/Race.java | 7 +++++++ .../com/sap/sailing/kiworesultimport/Races.java | 5 +++++ .../sailing/kiworesultimport/ResultList.java | 17 +++++++++++++++++ .../kiworesultimport/ResultListParser.java | 7 +++++++ .../ResultListParserFactory.java | 9 +++++++++ .../sap/sailing/kiworesultimport/Skipper.java | 7 +++++++ ...esultDocumentParser.java => Verteilung.java} | 2 +- .../impl/ResultListParserFactoryImpl.java | 13 +++++++++++++ .../impl/ResultListParserImpl.java | 16 ++++++++++++++++ 13 files changed, 102 insertions(+), 1 deletion(-) create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Boat.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Crewmember.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Named.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Race.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Races.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultList.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultListParser.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultListParserFactory.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Skipper.java rename java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/{ResultDocumentParser.java => Verteilung.java} (52%) create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListParserFactoryImpl.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListParserImpl.java diff --git a/java/com.sap.sailing.kiworesultimport/META-INF/MANIFEST.MF b/java/com.sap.sailing.kiworesultimport/META-INF/MANIFEST.MF index a60f9ea1d9d..897112d18d7 100755 --- a/java/com.sap.sailing.kiworesultimport/META-INF/MANIFEST.MF +++ b/java/com.sap.sailing.kiworesultimport/META-INF/MANIFEST.MF @@ -6,3 +6,4 @@ Bundle-Version: 1.0.0.qualifier Bundle-Vendor: SAP Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Require-Bundle: com.sap.sailing.server +Export-Package: com.sap.sailing.kiworesultimport diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Boat.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Boat.java new file mode 100755 index 00000000000..87f7124a500 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Boat.java @@ -0,0 +1,9 @@ +package com.sap.sailing.kiworesultimport; + +public interface Boat extends Named { + String getSailingNumber(); + + Integer getPosition(); + + String getPreis(); +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Crewmember.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Crewmember.java new file mode 100755 index 00000000000..9341d6b9c80 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Crewmember.java @@ -0,0 +1,5 @@ +package com.sap.sailing.kiworesultimport; + +public interface Crewmember extends Named { + +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Named.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Named.java new file mode 100755 index 00000000000..263d07a89bc --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Named.java @@ -0,0 +1,5 @@ +package com.sap.sailing.kiworesultimport; + +public interface Named { + String getName(); +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Race.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Race.java new file mode 100755 index 00000000000..7c48813242e --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Race.java @@ -0,0 +1,7 @@ +package com.sap.sailing.kiworesultimport; + +public interface Race { + Double getPoints(); + + Double getNumber(); +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Races.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Races.java new file mode 100755 index 00000000000..5e5406274b6 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Races.java @@ -0,0 +1,5 @@ +package com.sap.sailing.kiworesultimport; + +public interface Races { + Double getTotalPoints(); +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultList.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultList.java new file mode 100755 index 00000000000..66c7f848005 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultList.java @@ -0,0 +1,17 @@ +package com.sap.sailing.kiworesultimport; + +public interface ResultList { + String getLegende(); + + String getImagePfad(); + + String getStatus(); + + String getBoatClass(); + + String getEvent(); + + String getTime(); + + String getDate(); +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultListParser.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultListParser.java new file mode 100755 index 00000000000..2843fb6642a --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultListParser.java @@ -0,0 +1,7 @@ +package com.sap.sailing.kiworesultimport; + +import java.io.InputStream; + +public interface ResultListParser { + ResultList parse(InputStream inputStream); +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultListParserFactory.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultListParserFactory.java new file mode 100755 index 00000000000..647929e46ef --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultListParserFactory.java @@ -0,0 +1,9 @@ +package com.sap.sailing.kiworesultimport; + +import com.sap.sailing.kiworesultimport.impl.ResultListParserFactoryImpl; + +public interface ResultListParserFactory { + ResultListParserFactory INSTANCE = new ResultListParserFactoryImpl(); + + ResultListParser createResultListParser(); +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Skipper.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Skipper.java new file mode 100755 index 00000000000..a29fa9448db --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Skipper.java @@ -0,0 +1,7 @@ +package com.sap.sailing.kiworesultimport; + +import java.net.URL; + +public interface Skipper extends Named { + URL getIsaf(); +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultDocumentParser.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Verteilung.java similarity index 52% rename from java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultDocumentParser.java rename to java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Verteilung.java index b3092c6d8df..110b5e48fc2 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultDocumentParser.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Verteilung.java @@ -1,5 +1,5 @@ package com.sap.sailing.kiworesultimport; -public class ResultDocumentParser { +public interface Verteilung { } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListParserFactoryImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListParserFactoryImpl.java new file mode 100755 index 00000000000..cc527c4308b --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListParserFactoryImpl.java @@ -0,0 +1,13 @@ +package com.sap.sailing.kiworesultimport.impl; + +import com.sap.sailing.kiworesultimport.ResultListParser; +import com.sap.sailing.kiworesultimport.ResultListParserFactory; + +public class ResultListParserFactoryImpl implements ResultListParserFactory { + + @Override + public ResultListParser createResultListParser() { + return new ResultListParserImpl(); + } + +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListParserImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListParserImpl.java new file mode 100755 index 00000000000..c186cc046fe --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListParserImpl.java @@ -0,0 +1,16 @@ +package com.sap.sailing.kiworesultimport.impl; + +import java.io.InputStream; + +import com.sap.sailing.kiworesultimport.ResultList; +import com.sap.sailing.kiworesultimport.ResultListParser; + +public class ResultListParserImpl implements ResultListParser { + + @Override + public ResultList parse(InputStream inputStream) { + // TODO Auto-generated method stub + return null; + } + +} From 1fceac9d2d1243bada76617be1564cc3b58b848e Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 13:39:23 +0200 Subject: [PATCH 262/339] added more logging; first implementation class for b+m KiWo result importer --- .../kiworesultimport/ResultListParser.java | 7 ++- .../impl/AbstractNodeWrapper.java | 16 ++++++ .../kiworesultimport/impl/ResultListImpl.java | 53 +++++++++++++++++++ .../impl/ResultListParserImpl.java | 17 ++++-- ...estStoringAndLoadingEventsAndRegattas.java | 2 +- 5 files changed, 90 insertions(+), 5 deletions(-) create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/AbstractNodeWrapper.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultListParser.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultListParser.java index 2843fb6642a..bbd5822e59b 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultListParser.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultListParser.java @@ -1,7 +1,12 @@ package com.sap.sailing.kiworesultimport; +import java.io.IOException; import java.io.InputStream; +import javax.xml.parsers.ParserConfigurationException; + +import org.xml.sax.SAXException; + public interface ResultListParser { - ResultList parse(InputStream inputStream); + ResultList parse(InputStream inputStream) throws SAXException, IOException, ParserConfigurationException; } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/AbstractNodeWrapper.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/AbstractNodeWrapper.java new file mode 100755 index 00000000000..4e76e4ab2ab --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/AbstractNodeWrapper.java @@ -0,0 +1,16 @@ +package com.sap.sailing.kiworesultimport.impl; + +import org.w3c.dom.Node; + +public class AbstractNodeWrapper { + private final Node node; + + public AbstractNodeWrapper(Node node) { + super(); + this.node = node; + } + + protected Node getNode() { + return node; + } +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java new file mode 100755 index 00000000000..785130c7124 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java @@ -0,0 +1,53 @@ +package com.sap.sailing.kiworesultimport.impl; + +import org.w3c.dom.Node; + +import com.sap.sailing.kiworesultimport.ResultList; + +public class ResultListImpl extends AbstractNodeWrapper implements ResultList { + public ResultListImpl(Node node) { + super(node); + } + + @Override + public String getLegende() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getImagePfad() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getStatus() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getBoatClass() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getEvent() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getTime() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getDate() { + // TODO Auto-generated method stub + return null; + } +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListParserImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListParserImpl.java index c186cc046fe..766d46c3648 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListParserImpl.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListParserImpl.java @@ -1,16 +1,27 @@ package com.sap.sailing.kiworesultimport.impl; +import java.io.IOException; import java.io.InputStream; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import org.w3c.dom.Document; +import org.xml.sax.SAXException; + import com.sap.sailing.kiworesultimport.ResultList; import com.sap.sailing.kiworesultimport.ResultListParser; public class ResultListParserImpl implements ResultListParser { + private Document parseDocument(InputStream inputStream) throws SAXException, IOException, ParserConfigurationException { + return DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(inputStream); + } @Override - public ResultList parse(InputStream inputStream) { - // TODO Auto-generated method stub - return null; + public ResultList parse(InputStream inputStream) throws SAXException, IOException, ParserConfigurationException { + Document doc = parseDocument(inputStream); + ResultList result = new ResultListImpl(doc.getElementsByTagName("ResultList").item(0)); + return result; } } diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 0207c51b1ed..17e1cca895c 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -198,7 +198,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest rrcNames.append(raceColumn.getName()); } } - logger.info("columns in regatta: "+rrcNames); + logger.info("columns in regatta "+regatta.getName()+" ("+regatta.hashCode()+") : "+rrcNames); } private RacingEventServiceImpl createRacingEventServiceWithOneMockedTrackedRace(final TrackedRace q2YellowTrackedRace) { From a7504bb2ced8b3e18e467c2e656f7094e51b38ff Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 14:00:03 +0200 Subject: [PATCH 263/339] parsing first attributes of ResultList --- .../kiworesultimport/test/ParserTest.java | 20 ++++++++++++++++++- .../kiworesultimport/impl/ResultListImpl.java | 6 ++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java b/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java index 23474a92220..184346dd686 100755 --- a/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java +++ b/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java @@ -1,5 +1,6 @@ package com.sap.sailing.kiworesultimport.test; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.io.File; @@ -16,6 +17,10 @@ import org.w3c.dom.Document; import org.w3c.dom.Node; import org.xml.sax.SAXException; +import com.sap.sailing.kiworesultimport.ResultList; +import com.sap.sailing.kiworesultimport.ResultListParser; +import com.sap.sailing.kiworesultimport.ResultListParserFactory; + public class ParserTest { private static final String RESOURCES = "resources/"; @@ -30,9 +35,22 @@ public class ParserTest { @Test public void testLoadingSampleXML() throws SAXException, IOException, ParserConfigurationException { Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder() - .parse(getInputStream("2011-06-18_49er_Wettfahrt_2_Extra.xml")); + .parse(getSampleInputStream()); assertNotNull(doc); Node resultList = doc.getElementsByTagName("ResultList").item(0); assertNotNull(resultList); } + + private InputStream getSampleInputStream() throws FileNotFoundException, IOException { + return getInputStream("2011-06-18_49er_Wettfahrt_2_Extra.xml"); + } + + @Test + public void testObtainingResultList() throws FileNotFoundException, SAXException, IOException, ParserConfigurationException { + ResultListParser parser = ResultListParserFactory.INSTANCE.createResultListParser(); + ResultList resultList = parser.parse(getSampleInputStream()); + assertNotNull(resultList); + assertEquals("D:\\Programme\\KWSailing\\eventlogos\\KielerWoche_Ergebnislistenkopf_2011.jpg", resultList.getImagePfad()); + assertEquals(new String(new byte[] { (byte) 160 /* non-breaking space */}), resultList.getLegende()); + } } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java index 785130c7124..2be0c13fa38 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java @@ -11,14 +11,12 @@ public class ResultListImpl extends AbstractNodeWrapper implements ResultList { @Override public String getLegende() { - // TODO Auto-generated method stub - return null; + return getNode().getAttributes().getNamedItem("legende").getNodeValue(); } @Override public String getImagePfad() { - // TODO Auto-generated method stub - return null; + return getNode().getAttributes().getNamedItem("imagePfad").getNodeValue(); } @Override From db07cab2b0f6791ff8c8f72741f60cd820368472 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 14:11:43 +0200 Subject: [PATCH 264/339] added yet more logging --- .../mongodb/test/TestStoringAndLoadingEventsAndRegattas.java | 1 + .../src/com/sap/sailing/server/impl/RacingEventServiceImpl.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 17e1cca895c..0f09401fd7d 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -143,6 +143,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest addRaceColumns(numberOfQualifyingRaces, numberOfFinalRaces, regatta); logColumnsInRegatta(regatta); RegattaLeaderboard regattaLeaderboard = res.addRegattaLeaderboard(regatta.getRegattaIdentifier(), new int[] { 3, 5 }); + assertSame(regatta, regattaLeaderboard.getRegatta()); final RaceColumnInSeries q2 = regatta.getSeriesByName("Qualifying").getRaceColumnByName("Q2"); final Fleet yellow = q2.getFleetByName("Yellow"); logColumnsInRegatta(regatta); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 7c406f72c80..2a687d48867 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -663,6 +663,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen */ private void cacheAndReplicateSpecificRegattaWithoutRaceColumns(Regatta regatta) { if (!regattasByName.containsKey(regatta.getName())) { + logger.info("putting regatta "+regatta.getName()+" ("+regatta.hashCode()+") into regattasByName"); regattasByName.put(regatta.getName(), regatta); regatta.addRegattaListener(this); replicate(new AddSpecificRegatta(regatta.getBaseName(), regatta.getBoatClass() == null ? null : regatta @@ -694,6 +695,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen */ private void cacheAndReplicateDefaultRegatta(Regatta regatta) { if (!regattasByName.containsKey(regatta.getName())) { + logger.info("putting regatta "+regatta.getName()+" ("+regatta.hashCode()+") into regattasByName"); regattasByName.put(regatta.getName(), regatta); regatta.addRegattaListener(this); replicate(new AddDefaultRegatta(regatta.getBaseName(), regatta.getBoatClass() == null ? null : regatta.getBoatClass().getName())); From 857921b192b59f3f1cd7fed7173fc59c17039f98 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 14:29:39 +0200 Subject: [PATCH 265/339] more stubs for Kieler Woche result list parsing --- .../sap/sailing/kiworesultimport/Boat.java | 4 ++ .../sap/sailing/kiworesultimport/Crew.java | 7 +++ .../sap/sailing/kiworesultimport/Races.java | 2 + .../sailing/kiworesultimport/ResultList.java | 2 + .../sap/sailing/kiworesultimport/Skipper.java | 5 ++- .../sailing/kiworesultimport/Verteilung.java | 2 +- .../kiworesultimport/impl/BoatImpl.java | 45 +++++++++++++++++++ .../kiworesultimport/impl/CrewImpl.java | 27 +++++++++++ .../kiworesultimport/impl/CrewmemberImpl.java | 13 ++++++ .../kiworesultimport/impl/NamedImpl.java | 18 ++++++++ .../kiworesultimport/impl/RaceImpl.java | 11 +++++ .../kiworesultimport/impl/ResultListImpl.java | 22 ++++----- .../kiworesultimport/impl/SkipperImpl.java | 22 +++++++++ .../kiworesultimport/impl/VerteilungImpl.java | 20 +++++++++ .../server/impl/RacingEventServiceImpl.java | 1 + 15 files changed, 189 insertions(+), 12 deletions(-) create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Crew.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/BoatImpl.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/CrewImpl.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/CrewmemberImpl.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/NamedImpl.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/SkipperImpl.java create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/VerteilungImpl.java diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Boat.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Boat.java index 87f7124a500..77a0003c532 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Boat.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Boat.java @@ -6,4 +6,8 @@ public interface Boat extends Named { Integer getPosition(); String getPreis(); + + Crew getCrew(); + + Races getRaces(); } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Crew.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Crew.java new file mode 100755 index 00000000000..e0640988459 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Crew.java @@ -0,0 +1,7 @@ +package com.sap.sailing.kiworesultimport; + +public interface Crew { + Skipper getSkipper(); + + Iterable getCrewmembers(); +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Races.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Races.java index 5e5406274b6..e185c6b2ce1 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Races.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Races.java @@ -2,4 +2,6 @@ package com.sap.sailing.kiworesultimport; public interface Races { Double getTotalPoints(); + + Iterable getRaces(); } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultList.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultList.java index 66c7f848005..110fbe6094e 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultList.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultList.java @@ -14,4 +14,6 @@ public interface ResultList { String getTime(); String getDate(); + + Verteilung getVerteilung(); } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Skipper.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Skipper.java index a29fa9448db..dacad728f56 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Skipper.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Skipper.java @@ -1,7 +1,10 @@ package com.sap.sailing.kiworesultimport; +import java.net.MalformedURLException; import java.net.URL; +import org.w3c.dom.DOMException; + public interface Skipper extends Named { - URL getIsaf(); + URL getIsaf() throws MalformedURLException, DOMException; } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Verteilung.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Verteilung.java index 110b5e48fc2..9c3d4e6d3a0 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Verteilung.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Verteilung.java @@ -1,5 +1,5 @@ package com.sap.sailing.kiworesultimport; public interface Verteilung { - + Iterable getBoats(); } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/BoatImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/BoatImpl.java new file mode 100755 index 00000000000..77a7b768539 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/BoatImpl.java @@ -0,0 +1,45 @@ +package com.sap.sailing.kiworesultimport.impl; + +import org.w3c.dom.Node; + +import com.sap.sailing.kiworesultimport.Boat; +import com.sap.sailing.kiworesultimport.Crew; +import com.sap.sailing.kiworesultimport.Races; + +public class BoatImpl extends NamedImpl implements Boat { + + public BoatImpl(Node node) { + super(node); + } + + @Override + public String getSailingNumber() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Integer getPosition() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getPreis() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Crew getCrew() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Races getRaces() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/CrewImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/CrewImpl.java new file mode 100755 index 00000000000..b2981501d94 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/CrewImpl.java @@ -0,0 +1,27 @@ +package com.sap.sailing.kiworesultimport.impl; + +import org.w3c.dom.Node; + +import com.sap.sailing.kiworesultimport.Crew; +import com.sap.sailing.kiworesultimport.Crewmember; +import com.sap.sailing.kiworesultimport.Skipper; + +public class CrewImpl extends AbstractNodeWrapper implements Crew { + + public CrewImpl(Node node) { + super(node); + } + + @Override + public Skipper getSkipper() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Iterable getCrewmembers() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/CrewmemberImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/CrewmemberImpl.java new file mode 100755 index 00000000000..4624b46414f --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/CrewmemberImpl.java @@ -0,0 +1,13 @@ +package com.sap.sailing.kiworesultimport.impl; + +import org.w3c.dom.Node; + +import com.sap.sailing.kiworesultimport.Crewmember; + +public class CrewmemberImpl extends NamedImpl implements Crewmember { + + public CrewmemberImpl(Node node) { + super(node); + } + +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/NamedImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/NamedImpl.java new file mode 100755 index 00000000000..bbc3a4b94b8 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/NamedImpl.java @@ -0,0 +1,18 @@ +package com.sap.sailing.kiworesultimport.impl; + +import org.w3c.dom.Node; + +import com.sap.sailing.kiworesultimport.Named; + +public class NamedImpl extends AbstractNodeWrapper implements Named { + + public NamedImpl(Node node) { + super(node); + } + + @Override + public String getName() { + return getNode().getAttributes().getNamedItem("name").getNodeValue(); + } + +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java new file mode 100755 index 00000000000..be4607064ce --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java @@ -0,0 +1,11 @@ +package com.sap.sailing.kiworesultimport.impl; + +import org.w3c.dom.Node; + +public class RaceImpl extends AbstractNodeWrapper { + + public RaceImpl(Node node) { + super(node); + } + +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java index 2be0c13fa38..6ef9a260b80 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java @@ -1,8 +1,10 @@ package com.sap.sailing.kiworesultimport.impl; +import org.w3c.dom.Element; import org.w3c.dom.Node; import com.sap.sailing.kiworesultimport.ResultList; +import com.sap.sailing.kiworesultimport.Verteilung; public class ResultListImpl extends AbstractNodeWrapper implements ResultList { public ResultListImpl(Node node) { @@ -21,31 +23,31 @@ public class ResultListImpl extends AbstractNodeWrapper implements ResultList { @Override public String getStatus() { - // TODO Auto-generated method stub - return null; + return getNode().getAttributes().getNamedItem("status").getNodeValue(); } @Override public String getBoatClass() { - // TODO Auto-generated method stub - return null; + return getNode().getAttributes().getNamedItem("class").getNodeValue(); } @Override public String getEvent() { - // TODO Auto-generated method stub - return null; + return getNode().getAttributes().getNamedItem("event").getNodeValue(); } @Override public String getTime() { - // TODO Auto-generated method stub - return null; + return getNode().getAttributes().getNamedItem("time").getNodeValue(); } @Override public String getDate() { - // TODO Auto-generated method stub - return null; + return getNode().getAttributes().getNamedItem("date").getNodeValue(); + } + + @Override + public Verteilung getVerteilung() { + return new VerteilungImpl(((Element) getNode()).getElementsByTagName("verteilung").item(0)); } } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/SkipperImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/SkipperImpl.java new file mode 100755 index 00000000000..adb95d1a0d0 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/SkipperImpl.java @@ -0,0 +1,22 @@ +package com.sap.sailing.kiworesultimport.impl; + +import java.net.MalformedURLException; +import java.net.URL; + +import org.w3c.dom.DOMException; +import org.w3c.dom.Node; + +import com.sap.sailing.kiworesultimport.Skipper; + +public class SkipperImpl extends NamedImpl implements Skipper { + + public SkipperImpl(Node node) { + super(node); + } + + @Override + public URL getIsaf() throws MalformedURLException, DOMException { + return new URL(getNode().getAttributes().getNamedItem("isaf").getNodeValue()); + } + +} diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/VerteilungImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/VerteilungImpl.java new file mode 100755 index 00000000000..97dd09b2d7d --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/VerteilungImpl.java @@ -0,0 +1,20 @@ +package com.sap.sailing.kiworesultimport.impl; + +import org.w3c.dom.Node; + +import com.sap.sailing.kiworesultimport.Boat; +import com.sap.sailing.kiworesultimport.Verteilung; + +public class VerteilungImpl extends AbstractNodeWrapper implements Verteilung { + + public VerteilungImpl(Node node) { + super(node); + } + + @Override + public Iterable getBoats() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 2a687d48867..a33109e1c17 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -223,6 +223,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen private void loadStoredRegattas() { for (Regatta regatta : domainObjectFactory.loadAllRegattas(this)) { + logger.info("putting regatta "+regatta.getName()+" ("+regatta.hashCode()+") into regattasByName"); regattasByName.put(regatta.getName(), regatta); } } From fc1d91f8a6d6dcaeff50c22298fc6098fe9164b7 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 14:50:57 +0200 Subject: [PATCH 266/339] added more logging --- .../sailing/server/impl/RacingEventServiceImpl.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index a33109e1c17..2d8b313f38c 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -518,7 +518,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen Regatta result = regattasByName.get(regatta.getName()); if (result == null) { result = regatta; - logger.info("Created regatta "+result.getName()+" ("+hashCode()+")"); + logger.info("Created regatta "+result.getName()+" ("+hashCode()+") on "+this); cacheAndReplicateDefaultRegatta(result); } return result; @@ -529,7 +529,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen Iterable series, boolean persistent) { Regatta regatta = new RegattaImpl(baseEventName, com.sap.sailing.domain.base.DomainFactory.INSTANCE.getOrCreateBoatClass(boatClassName), series, persistent); - logger.info("Created regatta " + regatta.getName() + " (" + hashCode() + ")"); + logger.info("Created regatta " + regatta.getName() + " (" + hashCode() + ") on "+this); cacheAndReplicateSpecificRegattaWithoutRaceColumns(regatta); if (persistent) { updateStoredRegatta(regatta); @@ -664,7 +664,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen */ private void cacheAndReplicateSpecificRegattaWithoutRaceColumns(Regatta regatta) { if (!regattasByName.containsKey(regatta.getName())) { - logger.info("putting regatta "+regatta.getName()+" ("+regatta.hashCode()+") into regattasByName"); + logger.info("putting regatta "+regatta.getName()+" ("+regatta.hashCode()+") into regattasByName of "+this); regattasByName.put(regatta.getName(), regatta); regatta.addRegattaListener(this); replicate(new AddSpecificRegatta(regatta.getBaseName(), regatta.getBoatClass() == null ? null : regatta @@ -696,7 +696,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen */ private void cacheAndReplicateDefaultRegatta(Regatta regatta) { if (!regattasByName.containsKey(regatta.getName())) { - logger.info("putting regatta "+regatta.getName()+" ("+regatta.hashCode()+") into regattasByName"); + logger.info("putting regatta "+regatta.getName()+" ("+regatta.hashCode()+") into regattasByName of "+this); regattasByName.put(regatta.getName(), regatta); regatta.addRegattaListener(this); replicate(new AddDefaultRegatta(regatta.getBaseName(), regatta.getBoatClass() == null ? null : regatta.getBoatClass().getName())); @@ -887,7 +887,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen stopTracking(regatta); if (regatta != null) { if (regatta.getName() != null) { - logger.info("Removing regatta "+regatta.getName()+" ("+regatta.hashCode()+") from RacingEventServiceImpl"); + logger.info("Removing regatta "+regatta.getName()+" ("+regatta.hashCode()+") from "+this); regattasByName.remove(regatta.getName()); regattaTrackingCache.remove(regatta); regatta.removeRegattaListener(this); @@ -1023,7 +1023,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen // remove the race from the regatta if the regatta is not persistently stored regatta.removeRace(race); if (!regatta.isPersistent() && Util.isEmpty(regatta.getAllRaces())) { - logger.info("Removing regatta "+regatta.getName()+" from service "+this); + logger.info("Removing regatta "+regatta.getName()+" ("+regatta.hashCode()+") from service "+this); regattasByName.remove(regatta.getName()); regatta.removeRegattaListener(this); } @@ -1347,6 +1347,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @SuppressWarnings("unchecked") // the type-parameters in the casts of the de-serialized collection objects can't be checked @Override public synchronized void initiallyFillFrom(ObjectInputStream ois) throws IOException, ClassNotFoundException { + logger.info("Performing initial replication load on "+this); ClassLoader oldContextClassloader = Thread.currentThread().getContextClassLoader(); try { // Use this object's class's class loader as the context class loader which will then be used for From 4a2633f7de48f9610c0e5313d60bcbd37ac97d3c Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 15:02:55 +0200 Subject: [PATCH 267/339] KiWo result test with loading "Verteilung" object green --- .../META-INF/MANIFEST.MF | 3 +- .../kiworesultimport/test/ParserTest.java | 9 +++++ .../sap/sailing/kiworesultimport/Race.java | 2 +- .../kiworesultimport/impl/BoatImpl.java | 19 +++++------ .../kiworesultimport/impl/RaceImpl.java | 14 +++++++- .../kiworesultimport/impl/RacesImpl.java | 34 +++++++++++++++++++ .../kiworesultimport/impl/ResultListImpl.java | 2 +- .../kiworesultimport/impl/VerteilungImpl.java | 13 +++++-- 8 files changed, 80 insertions(+), 16 deletions(-) create mode 100755 java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RacesImpl.java diff --git a/java/com.sap.sailing.kiworesultimport.test/META-INF/MANIFEST.MF b/java/com.sap.sailing.kiworesultimport.test/META-INF/MANIFEST.MF index 9582d515f7d..d3ec5ef6809 100755 --- a/java/com.sap.sailing.kiworesultimport.test/META-INF/MANIFEST.MF +++ b/java/com.sap.sailing.kiworesultimport.test/META-INF/MANIFEST.MF @@ -6,4 +6,5 @@ Bundle-Version: 1.0.0.qualifier Bundle-Vendor: SAP Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Require-Bundle: org.junit4;bundle-version="4.8.2", - com.sap.sailing.kiworesultimport + com.sap.sailing.kiworesultimport, + com.sap.sailing.domain.common diff --git a/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java b/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java index 184346dd686..b12e68ed5bb 100755 --- a/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java +++ b/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java @@ -1,6 +1,7 @@ package com.sap.sailing.kiworesultimport.test; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import java.io.File; @@ -17,9 +18,12 @@ import org.w3c.dom.Document; import org.w3c.dom.Node; import org.xml.sax.SAXException; +import com.sap.sailing.domain.common.impl.Util; +import com.sap.sailing.kiworesultimport.Boat; import com.sap.sailing.kiworesultimport.ResultList; import com.sap.sailing.kiworesultimport.ResultListParser; import com.sap.sailing.kiworesultimport.ResultListParserFactory; +import com.sap.sailing.kiworesultimport.Verteilung; public class ParserTest { private static final String RESOURCES = "resources/"; @@ -52,5 +56,10 @@ public class ParserTest { assertNotNull(resultList); assertEquals("D:\\Programme\\KWSailing\\eventlogos\\KielerWoche_Ergebnislistenkopf_2011.jpg", resultList.getImagePfad()); assertEquals(new String(new byte[] { (byte) 160 /* non-breaking space */}), resultList.getLegende()); + final Verteilung verteilung = resultList.getVerteilung(); + assertNotNull(verteilung); + Iterable boats = verteilung.getBoats(); + assertFalse(Util.isEmpty(boats)); + assertEquals(48, Util.size(boats)); } } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Race.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Race.java index 7c48813242e..5acb4dc64a1 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Race.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Race.java @@ -3,5 +3,5 @@ package com.sap.sailing.kiworesultimport; public interface Race { Double getPoints(); - Double getNumber(); + Integer getNumber(); } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/BoatImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/BoatImpl.java index 77a7b768539..a9d40135fdf 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/BoatImpl.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/BoatImpl.java @@ -1,6 +1,8 @@ package com.sap.sailing.kiworesultimport.impl; +import org.w3c.dom.Element; import org.w3c.dom.Node; +import org.w3c.dom.NodeList; import com.sap.sailing.kiworesultimport.Boat; import com.sap.sailing.kiworesultimport.Crew; @@ -14,32 +16,29 @@ public class BoatImpl extends NamedImpl implements Boat { @Override public String getSailingNumber() { - // TODO Auto-generated method stub - return null; + return getNode().getAttributes().getNamedItem("sailingnumber").getNodeValue(); } @Override public Integer getPosition() { - // TODO Auto-generated method stub - return null; + return Integer.valueOf(getNode().getAttributes().getNamedItem("position").getNodeValue()); } @Override public String getPreis() { - // TODO Auto-generated method stub - return null; + return getNode().getAttributes().getNamedItem("preis").getNodeValue(); } @Override public Crew getCrew() { - // TODO Auto-generated method stub - return null; + final NodeList crew = ((Element) getNode()).getElementsByTagName("Crew"); + return new CrewImpl(crew.item(0)); } @Override public Races getRaces() { - // TODO Auto-generated method stub - return null; + final NodeList races = ((Element) getNode()).getElementsByTagName("Races"); + return new RacesImpl(races.item(0)); } } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java index be4607064ce..7f7671bfa27 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java @@ -2,10 +2,22 @@ package com.sap.sailing.kiworesultimport.impl; import org.w3c.dom.Node; -public class RaceImpl extends AbstractNodeWrapper { +import com.sap.sailing.kiworesultimport.Race; + +public class RaceImpl extends AbstractNodeWrapper implements Race { public RaceImpl(Node node) { super(node); } + @Override + public Double getPoints() { + return Double.valueOf(getNode().getAttributes().getNamedItem("points").getNodeValue()); + } + + @Override + public Integer getNumber() { + return Integer.valueOf(getNode().getAttributes().getNamedItem("number").getNodeValue()); + } + } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RacesImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RacesImpl.java new file mode 100755 index 00000000000..9f7e6b02c44 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RacesImpl.java @@ -0,0 +1,34 @@ +package com.sap.sailing.kiworesultimport.impl; + +import java.util.ArrayList; +import java.util.List; + +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import com.sap.sailing.kiworesultimport.Race; +import com.sap.sailing.kiworesultimport.Races; + +public class RacesImpl extends AbstractNodeWrapper implements Races { + + public RacesImpl(Node node) { + super(node); + } + + @Override + public Double getTotalPoints() { + return Double.valueOf(getNode().getAttributes().getNamedItem("totalpoints").getNodeValue()); + } + + @Override + public Iterable getRaces() { + List result = new ArrayList(); + final NodeList races = ((Element) getNode()).getElementsByTagName("Race"); + for (int i=0; i getBoats() { - // TODO Auto-generated method stub - return null; + List result = new ArrayList(); + final NodeList boats = ((Element) getNode()).getElementsByTagName("Boat"); + for (int i=0; i Date: Fri, 8 Jun 2012 15:04:01 +0200 Subject: [PATCH 268/339] added regatta selection when we want to start a race tracking --- .../adminconsole/AdminConsoleEntryPoint.java | 10 +-- .../EventStructureManagementPanel.java | 51 +++++++-------- .../SeriesWithFleetsCreateDialog.java | 2 +- .../TracTracEventManagementPanel.java | 13 +++- .../TrackedRacesListComposite.java | 63 ++++++++++++++++--- 5 files changed, 91 insertions(+), 48 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleEntryPoint.java index b09b0888d12..3080310bd1b 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleEntryPoint.java @@ -35,9 +35,12 @@ public class AdminConsoleEntryPoint extends AbstractEntryPoint implements Regatt tabPanel.setAnimationEnabled(true); rootPanel.add(tabPanel); //, 10, 10); tabPanel.setSize("95%", "95%"); - - tabPanel.add(new EventStructureManagementPanel(sailingService, this, stringMessages), stringMessages.regattas()); + regattaDisplayers = new HashSet(); + + EventStructureManagementPanel eventStructureManagementPanel = new EventStructureManagementPanel(sailingService, this, stringMessages, this); + tabPanel.add(eventStructureManagementPanel, stringMessages.regattas()); + regattaDisplayers.add(eventStructureManagementPanel); TracTracEventManagementPanel tractracEventManagementPanel = new TracTracEventManagementPanel(sailingService, this, this, stringMessages); regattaDisplayers.add(tractracEventManagementPanel); tractracEventManagementPanel.setSize("90%", "90%"); @@ -101,9 +104,8 @@ public class AdminConsoleEntryPoint extends AbstractEntryPoint implements Regatt @Override public void onFailure(Throwable caught) { - reportError("Remote Procedure Call listEvents() - Failure"); + reportError("Remote Procedure Call getRegattas() - Failure"); } }); } - } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java index a998efdf62c..59b14f4d574 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java @@ -34,6 +34,8 @@ import com.sap.sailing.domain.common.Color; import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.gwt.ui.client.ErrorReporter; +import com.sap.sailing.gwt.ui.client.RegattaDisplayer; +import com.sap.sailing.gwt.ui.client.RegattaRefresher; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.EventDTO; @@ -48,7 +50,7 @@ import com.sap.sailing.gwt.ui.shared.SeriesDTO; * @author Frank Mittag (C5163974) * */ -public class EventStructureManagementPanel extends SimplePanel { +public class EventStructureManagementPanel extends SimplePanel implements RegattaDisplayer { private final SailingServiceAsync sailingService; private final ErrorReporter errorReporter; private final StringMessages stringMessages; @@ -63,15 +65,17 @@ public class EventStructureManagementPanel extends SimplePanel { private CellTable regattaTable; private SingleSelectionModel regattaSelectionModel; private ListDataProvider regattaProvider; + private final RegattaRefresher regattaRefresher; private final AdminConsoleTableResources tableRes = GWT.create(AdminConsoleTableResources.class); private boolean supportEvents = false; public EventStructureManagementPanel(SailingServiceAsync sailingService, ErrorReporter errorReporter, - StringMessages stringMessages) { + StringMessages stringMessages, RegattaRefresher regattaRefresher) { this.sailingService = sailingService; this.stringMessages = stringMessages; this.errorReporter = errorReporter; + this.regattaRefresher = regattaRefresher; events = new ArrayList(); selectedEvent = null; @@ -115,8 +119,6 @@ public class EventStructureManagementPanel extends SimplePanel { } else { createEventDetailsPanel(); mainPanel.add(eventDetailsCaptionPanel); - - fillRegattas(); } } @@ -135,6 +137,15 @@ public class EventStructureManagementPanel extends SimplePanel { } private void createRegattaDetails(Panel parentPanel) { + Button addRegattaBtn = new Button("Add regatta"); + parentPanel.add(addRegattaBtn); + addRegattaBtn.addClickHandler(new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + openCreateRegattaDialog(); + } + }); + // regatta table TextColumn regattaNameColumn = new TextColumn() { @Override @@ -223,15 +234,6 @@ public class EventStructureManagementPanel extends SimplePanel { regattaProvider = new ListDataProvider(); regattaProvider.addDataDisplay(regattaTable); parentPanel.add(regattaTable); - - Button addRegattaBtn = new Button("Add regatta"); - parentPanel.add(addRegattaBtn); - addRegattaBtn.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - openCreateRegattaDialog(); - } - }); } private void onEventSelectionChanged() { @@ -306,22 +308,6 @@ public class EventStructureManagementPanel extends SimplePanel { } } - private void fillRegattas() { - // load the regattas for this event - sailingService.getRegattas(new AsyncCallback>() { - @Override - public void onFailure(Throwable t) { - errorReporter.reportError("Error trying to read regattas of event " + selectedEvent.name + ": " + t.getMessage()); - } - - @Override - public void onSuccess(List regattas) { - regattaProvider.getList().clear(); - regattaProvider.getList().addAll(regattas); - } - }); - } - private void createNewEvent(final EventDTO newEvent) { sailingService.createEvent(newEvent.name, newEvent.venue.name, new AsyncCallback() { @Override @@ -358,7 +344,7 @@ public class EventStructureManagementPanel extends SimplePanel { @Override public void onSuccess(RegattaDTO regatta) { - regattaProvider.getList().add(regatta); + regattaRefresher.fillRegattas(); } }); } @@ -393,4 +379,9 @@ public class EventStructureManagementPanel extends SimplePanel { }); } + @Override + public void fillRegattas(List regattas) { + regattaProvider.getList().clear(); + regattaProvider.getList().addAll(regattas); + } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithFleetsCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithFleetsCreateDialog.java index 5947079617a..aa4ac4de6d2 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithFleetsCreateDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithFleetsCreateDialog.java @@ -264,7 +264,7 @@ public class SeriesWithFleetsCreateDialog extends DataEntryDialog { fleetsGrid.setCellSpacing(4); fleetsGrid.setHTML(0, 0, stringConstants.name()); - fleetsGrid.setHTML(0, 1, stringConstants.no()); + fleetsGrid.setHTML(0, 1, stringConstants.rank()); fleetsGrid.setHTML(0, 2, stringConstants.color()); for(int i = 0; i < fleetCount; i++) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java index 0cb40dd46df..fcf24db061c 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java @@ -34,10 +34,12 @@ import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.view.client.ListDataProvider; import com.google.gwt.view.client.MultiSelectionModel; +import com.sap.sailing.domain.common.RegattaIdentifier; +import com.sap.sailing.domain.common.RegattaName; import com.sap.sailing.domain.common.impl.Util.Pair; import com.sap.sailing.gwt.ui.client.ErrorReporter; -import com.sap.sailing.gwt.ui.client.RegattaRefresher; import com.sap.sailing.gwt.ui.client.RaceSelectionModel; +import com.sap.sailing.gwt.ui.client.RegattaRefresher; import com.sap.sailing.gwt.ui.client.SailingServiceAsync; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.RegattaDTO; @@ -453,10 +455,15 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel { private void trackSelectedRaces(boolean trackWind, boolean correctWindByDeclination) { String liveURI = liveURIBox.getValue(); String storedURI = storedURIBox.getValue(); + RegattaDTO selectedRegatta = trackedRacesListComposite.getSelectedRegatta(); + RegattaIdentifier regattaIdentifier = null; + if(selectedRegatta != null) { + regattaIdentifier = new RegattaName(selectedRegatta.name); + } for (final TracTracRaceRecordDTO rr : raceList.getList()) { if (raceTable.getSelectionModel().isSelected(rr)) { - sailingService.trackWithTracTrac(/* regattaToAddTo */ null, // TODO allow user to optionally select a pre-defined regatta - rr, liveURI, storedURI, trackWind, correctWindByDeclination, new AsyncCallback() { + sailingService.trackWithTracTrac(regattaIdentifier, rr, liveURI, storedURI, trackWind, + correctWindByDeclination, new AsyncCallback() { @Override public void onFailure(Throwable caught) { errorReporter.reportError("Error trying to register race " + rr.name + " for tracking: " diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java index 8b53b2eac94..59458d5d0ff 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java @@ -33,6 +33,7 @@ import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.HasVerticalAlignment; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.VerticalPanel; @@ -82,6 +83,10 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< private Iterable allRaces; + private Iterable allRegattas; + + private ListBox regattaListBox; + private final VerticalPanel panel; private DateTimeFormatRenderer dateFormatter = new DateTimeFormatRenderer( @@ -124,9 +129,6 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< public TrackedRacesListComposite(final SailingServiceAsync sailingService, final ErrorReporter errorReporter, final RegattaRefresher regattaRefresher, RaceSelectionProvider raceSelectionProvider, StringMessages stringMessages, boolean hasMultiSelection) { - if (regattaRefresher == null) { - throw new IllegalArgumentException("regattaRefresher must not be null"); - } this.sailingService = sailingService; this.errorReporter = errorReporter; this.regattaRefresher = regattaRefresher; @@ -141,13 +143,26 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< settings.setDelayToLiveInSeconds(DEFAULT_LIVE_DELAY_IN_MILLISECONDS / 1000l); panel = new VerticalPanel(); setWidget(panel); + + // the regatta selection for a tracked race + HorizontalPanel regattaPanel = new HorizontalPanel(); + panel.add(regattaPanel); + Label lblRegattas = new Label("Regatta used for the tracked race:"); + lblRegattas.setWordWrap(false); + regattaPanel.setCellVerticalAlignment(lblRegattas, HasVerticalAlignment.ALIGN_MIDDLE); + regattaPanel.setSpacing(5); + regattaPanel.add(lblRegattas); + regattaListBox = new ListBox(); + regattaPanel.add(regattaListBox); + regattaPanel.setCellVerticalAlignment(regattaListBox, HasVerticalAlignment.ALIGN_MIDDLE); + HorizontalPanel filterPanel = new HorizontalPanel(); panel.add(filterPanel); - Label lblFilterEvents = new Label(stringMessages.filterRacesByName() + ":"); - lblFilterEvents.setWordWrap(false); + Label lblFilterRaces = new Label(stringMessages.filterRacesByName() + ":"); + lblFilterRaces.setWordWrap(false); filterPanel.setSpacing(5); - filterPanel.add(lblFilterEvents); - filterPanel.setCellVerticalAlignment(lblFilterEvents, HasVerticalAlignment.ALIGN_MIDDLE); + filterPanel.add(lblFilterRaces); + filterPanel.setCellVerticalAlignment(lblFilterRaces, HasVerticalAlignment.ALIGN_MIDDLE); filterRacesTextbox = new TextBox(); filterRacesTextbox.addKeyUpHandler(new KeyUpHandler() { @Override @@ -438,8 +453,11 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< } @Override - public void fillRegattas(List events) { - if (events.isEmpty()) { + public void fillRegattas(List regattas) { + RegattaDTO oldRegattaSelection = getSelectedRegatta(); + regattaListBox.clear(); + if (regattas.isEmpty()) { + regattaListBox.addItem("No regatta"); raceTable.setVisible(false); btnUntrack.setVisible(false); btnRemoveRace.setVisible(false); @@ -453,10 +471,19 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< btnRemoveRace.setEnabled(false); noTrackedRacesLabel.setVisible(false); btnSetDelayToLive.setVisible(true); + regattaListBox.addItem("No regatta"); + for (RegattaDTO regatta : regattas) { + regattaListBox.addItem(regatta.name); + if(oldRegattaSelection != null && oldRegattaSelection.name.equals(regatta.name)) { + regattaListBox.setSelectedIndex(regattaListBox.getItemCount()-1); + } + } } List newAllRaces = new ArrayList(); + List newAllRegattas = new ArrayList(); List newAllRaceIdentifiers = new ArrayList(); - for (RegattaDTO regatta : events) { + for (RegattaDTO regatta : regattas) { + newAllRegattas.add(regatta); for (RaceDTO race : regatta.races) { if (race != null) { newAllRaces.add(race); @@ -465,6 +492,7 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< } } allRaces = newAllRaces; + allRegattas = newAllRegattas; fillRaceListFromAvailableRacesApplyingFilter(); raceSelectionProvider.setAllRaces(newAllRaceIdentifiers); // have this object be notified; triggers onRaceSelectionChange } @@ -516,6 +544,21 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< }); } + public RegattaDTO getSelectedRegatta() { + RegattaDTO result = null; + int selIndex = regattaListBox.getSelectedIndex(); + if(selIndex > 0) { // the zero index represents the 'no selection' text + String itemText = regattaListBox.getItemText(selIndex); + for(RegattaDTO regattaDTO: allRegattas) { + if(regattaDTO.name.equals(itemText)) { + result = regattaDTO; + break; + } + } + } + return result; + } + private void fillRaceListFromAvailableRacesApplyingFilter() { String text = filterRacesTextbox.getText(); List wordsToFilter = Arrays.asList(text.split(" ")); From b0ab6a36e47cec8a00fc566060c865994932082b Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 15:05:10 +0200 Subject: [PATCH 269/339] dropping REGATTA collection too for test case initialization --- .../mongodb/test/TestStoringAndLoadingEventsAndRegattas.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 0f09401fd7d..ecc6ea5adeb 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -91,6 +91,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest public void testLoadStoreSimpleRegattaLeaderboard() { // explicitly drop; it seems that the overall dropDatabase isn't always effective yet when this test is run getMongoService().getDB().getCollection(CollectionNames.LEADERBOARDS.name()).drop(); + getMongoService().getDB().getCollection(CollectionNames.REGATTAS.name()).drop(); RacingEventService res = new RacingEventServiceImpl(getMongoService()); final int numberOfQualifyingRaces = 5; final int numberOfFinalRaces = 7; @@ -118,6 +119,7 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest public void testLoadStoreRegattaLeaderboardWithScoreCorrections() { // explicitly drop; it seems that the overall dropDatabase isn't always effective yet when this test is run getMongoService().getDB().getCollection(CollectionNames.LEADERBOARDS.name()).drop(); + getMongoService().getDB().getCollection(CollectionNames.REGATTAS.name()).drop(); Competitor hasso = AbstractLeaderboardTest.createCompetitor("Dr. Hasso Plattner"); BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); final DynamicTrackedRegatta[] trackedRegatta = new DynamicTrackedRegatta[1]; From 8940c4b27e10b0dfe721418f43af8a1a2c70f417 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 15:12:11 +0200 Subject: [PATCH 270/339] first draft of Kieler Woche official result importer which parses all fields / tags found in the examples --- .../sailing/kiworesultimport/impl/CrewImpl.java | 16 ++++++++++++---- .../mongodb/test/AbstractMongoDBTest.java | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/CrewImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/CrewImpl.java index b2981501d94..88a7739d9c8 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/CrewImpl.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/CrewImpl.java @@ -1,6 +1,11 @@ package com.sap.sailing.kiworesultimport.impl; +import java.util.ArrayList; +import java.util.List; + +import org.w3c.dom.Element; import org.w3c.dom.Node; +import org.w3c.dom.NodeList; import com.sap.sailing.kiworesultimport.Crew; import com.sap.sailing.kiworesultimport.Crewmember; @@ -14,14 +19,17 @@ public class CrewImpl extends AbstractNodeWrapper implements Crew { @Override public Skipper getSkipper() { - // TODO Auto-generated method stub - return null; + return new SkipperImpl(((Element) getNode()).getElementsByTagName("Skipper").item(0)); } @Override public Iterable getCrewmembers() { - // TODO Auto-generated method stub - return null; + List result = new ArrayList(); + final NodeList crewmembers = ((Element) getNode()).getElementsByTagName("Crewmember"); + for (int i=0; i Date: Fri, 8 Jun 2012 15:18:46 +0200 Subject: [PATCH 271/339] dropping DB after obtaining it; removed drop() calls for individual collections in test cases --- .../sailing/kiworesultimport/test/ParserTest.java | 12 ++++++++++++ .../com/sap/sailing/kiworesultimport/Verteilung.java | 7 +++++++ .../kiworesultimport/impl/VerteilungImpl.java | 10 ++++++++++ .../test/TestStoringAndLoadingEventsAndRegattas.java | 7 ------- 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java b/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java index b12e68ed5bb..15e0c07650a 100755 --- a/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java +++ b/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java @@ -9,6 +9,7 @@ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; +import java.net.URL; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; @@ -20,9 +21,11 @@ import org.xml.sax.SAXException; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.kiworesultimport.Boat; +import com.sap.sailing.kiworesultimport.Crewmember; import com.sap.sailing.kiworesultimport.ResultList; import com.sap.sailing.kiworesultimport.ResultListParser; import com.sap.sailing.kiworesultimport.ResultListParserFactory; +import com.sap.sailing.kiworesultimport.Skipper; import com.sap.sailing.kiworesultimport.Verteilung; public class ParserTest { @@ -61,5 +64,14 @@ public class ParserTest { Iterable boats = verteilung.getBoats(); assertFalse(Util.isEmpty(boats)); assertEquals(48, Util.size(boats)); + Boat DEN9 = verteilung.getBoatBySailID("DEN 9"); + assertNotNull(DEN9); + Skipper DEN9Skipper = DEN9.getCrew().getSkipper(); + assertEquals("Norregaard, Allan (1981) Kolding", DEN9Skipper.getName()); + assertEquals(new URL("http://www.sailing.org/biog.php?id=DENAN1"), DEN9Skipper.getIsaf()); + Iterable DEN9Crewmembers = DEN9.getCrew().getCrewmembers(); + assertEquals(1, Util.size(DEN9Crewmembers)); + Crewmember DEN9Crewmember = DEN9Crewmembers.iterator().next(); + assertEquals("Lang, Peter (1989) Kolding Sejlklub", DEN9Crewmember.getName()); } } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Verteilung.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Verteilung.java index 9c3d4e6d3a0..b6f7d1d36ab 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Verteilung.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/Verteilung.java @@ -2,4 +2,11 @@ package com.sap.sailing.kiworesultimport; public interface Verteilung { Iterable getBoats(); + + /** + * Matches sailID with {@link Boat#getSailingNumber()} + * + * @return null if no such {@link Boat} is found in {@link #getBoats}, or the boat found otherwise. + */ + Boat getBoatBySailID(String sailID); } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/VerteilungImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/VerteilungImpl.java index f0491f76df3..266c081c31c 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/VerteilungImpl.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/VerteilungImpl.java @@ -26,4 +26,14 @@ public class VerteilungImpl extends AbstractNodeWrapper implements Verteilung { return result; } + @Override + public Boat getBoatBySailID(String sailID) { + for (Boat boat : getBoats()) { + if (sailID.equals(boat.getSailingNumber())) { + return boat; + } + } + return null; + } + } diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index ecc6ea5adeb..4b59ce5a85c 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -45,7 +45,6 @@ import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.persistence.DomainObjectFactory; import com.sap.sailing.domain.persistence.MongoFactory; import com.sap.sailing.domain.persistence.MongoObjectFactory; -import com.sap.sailing.domain.persistence.impl.CollectionNames; import com.sap.sailing.domain.test.AbstractLeaderboardTest; import com.sap.sailing.domain.test.MockedTrackedRaceWithFixedRank; import com.sap.sailing.domain.tracking.DynamicTrackedRegatta; @@ -89,9 +88,6 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest @Test public void testLoadStoreSimpleRegattaLeaderboard() { - // explicitly drop; it seems that the overall dropDatabase isn't always effective yet when this test is run - getMongoService().getDB().getCollection(CollectionNames.LEADERBOARDS.name()).drop(); - getMongoService().getDB().getCollection(CollectionNames.REGATTAS.name()).drop(); RacingEventService res = new RacingEventServiceImpl(getMongoService()); final int numberOfQualifyingRaces = 5; final int numberOfFinalRaces = 7; @@ -117,9 +113,6 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest @Test public void testLoadStoreRegattaLeaderboardWithScoreCorrections() { - // explicitly drop; it seems that the overall dropDatabase isn't always effective yet when this test is run - getMongoService().getDB().getCollection(CollectionNames.LEADERBOARDS.name()).drop(); - getMongoService().getDB().getCollection(CollectionNames.REGATTAS.name()).drop(); Competitor hasso = AbstractLeaderboardTest.createCompetitor("Dr. Hasso Plattner"); BoatClass boatClass = DomainFactory.INSTANCE.getOrCreateBoatClass("29erXX", /* typicallyStartsUpwind */ true); final DynamicTrackedRegatta[] trackedRegatta = new DynamicTrackedRegatta[1]; From 6cc7c39db653808b090c1624913a9d3145e15146 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 15:24:34 +0200 Subject: [PATCH 272/339] successful test of most raw parsed Kieler Woche result list attributes --- .../sailing/kiworesultimport/test/ParserTest.java | 14 ++++++++++++++ .../sailing/kiworesultimport/impl/RaceImpl.java | 2 +- .../sailing/kiworesultimport/impl/RacesImpl.java | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java b/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java index 15e0c07650a..dd5c31385c3 100755 --- a/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java +++ b/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java @@ -10,6 +10,7 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.net.URL; +import java.util.Iterator; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; @@ -22,6 +23,8 @@ import org.xml.sax.SAXException; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.kiworesultimport.Boat; import com.sap.sailing.kiworesultimport.Crewmember; +import com.sap.sailing.kiworesultimport.Race; +import com.sap.sailing.kiworesultimport.Races; import com.sap.sailing.kiworesultimport.ResultList; import com.sap.sailing.kiworesultimport.ResultListParser; import com.sap.sailing.kiworesultimport.ResultListParserFactory; @@ -66,6 +69,7 @@ public class ParserTest { assertEquals(48, Util.size(boats)); Boat DEN9 = verteilung.getBoatBySailID("DEN 9"); assertNotNull(DEN9); + assertEquals(7, (int) DEN9.getPosition()); Skipper DEN9Skipper = DEN9.getCrew().getSkipper(); assertEquals("Norregaard, Allan (1981) Kolding", DEN9Skipper.getName()); assertEquals(new URL("http://www.sailing.org/biog.php?id=DENAN1"), DEN9Skipper.getIsaf()); @@ -73,5 +77,15 @@ public class ParserTest { assertEquals(1, Util.size(DEN9Crewmembers)); Crewmember DEN9Crewmember = DEN9Crewmembers.iterator().next(); assertEquals("Lang, Peter (1989) Kolding Sejlklub", DEN9Crewmember.getName()); + Races DEN9Races = DEN9.getRaces(); + assertNotNull(DEN9Races); + assertEquals(2, Util.size(DEN9Races.getRaces())); + Iterator i = DEN9Races.getRaces().iterator(); + Race r1 = i.next(); + assertEquals(9.00, r1.getPoints(), 0.0000000001); + assertEquals(1, (int) r1.getNumber()); + Race r2 = i.next(); + assertEquals(1.00, r2.getPoints(), 0.0000000001); + assertEquals(2, (int) r2.getNumber()); } } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java index 7f7671bfa27..203a09da9e9 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RaceImpl.java @@ -12,7 +12,7 @@ public class RaceImpl extends AbstractNodeWrapper implements Race { @Override public Double getPoints() { - return Double.valueOf(getNode().getAttributes().getNamedItem("points").getNodeValue()); + return Double.valueOf(getNode().getAttributes().getNamedItem("points").getNodeValue().replace(',', '.')); } @Override diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RacesImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RacesImpl.java index 9f7e6b02c44..5af3e283b04 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RacesImpl.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/RacesImpl.java @@ -18,7 +18,7 @@ public class RacesImpl extends AbstractNodeWrapper implements Races { @Override public Double getTotalPoints() { - return Double.valueOf(getNode().getAttributes().getNamedItem("totalpoints").getNodeValue()); + return Double.valueOf(getNode().getAttributes().getNamedItem("totalpoints").getNodeValue().replace(',', '.')); } @Override From 56a69bb949f4e763ed46382254b754cfe910331f Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 15:33:15 +0200 Subject: [PATCH 273/339] added parsing of date/time to Kieler Woche result list --- .../META-INF/MANIFEST.MF | 3 ++- .../kiworesultimport/test/ParserTest.java | 3 +++ .../META-INF/MANIFEST.MF | 4 ++- .../sailing/kiworesultimport/ResultList.java | 4 +++ .../kiworesultimport/impl/ResultListImpl.java | 25 +++++++++++++++++++ 5 files changed, 37 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.kiworesultimport.test/META-INF/MANIFEST.MF b/java/com.sap.sailing.kiworesultimport.test/META-INF/MANIFEST.MF index d3ec5ef6809..ac795d96e20 100755 --- a/java/com.sap.sailing.kiworesultimport.test/META-INF/MANIFEST.MF +++ b/java/com.sap.sailing.kiworesultimport.test/META-INF/MANIFEST.MF @@ -7,4 +7,5 @@ Bundle-Vendor: SAP Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Require-Bundle: org.junit4;bundle-version="4.8.2", com.sap.sailing.kiworesultimport, - com.sap.sailing.domain.common + com.sap.sailing.domain.common, + com.sap.sailing.domain diff --git a/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java b/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java index dd5c31385c3..ed2fd3cc502 100755 --- a/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java +++ b/java/com.sap.sailing.kiworesultimport.test/src/com/sap/sailing/kiworesultimport/test/ParserTest.java @@ -10,6 +10,7 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.net.URL; +import java.util.GregorianCalendar; import java.util.Iterator; import javax.xml.parsers.DocumentBuilderFactory; @@ -20,6 +21,7 @@ import org.w3c.dom.Document; import org.w3c.dom.Node; import org.xml.sax.SAXException; +import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.kiworesultimport.Boat; import com.sap.sailing.kiworesultimport.Crewmember; @@ -87,5 +89,6 @@ public class ParserTest { Race r2 = i.next(); assertEquals(1.00, r2.getPoints(), 0.0000000001); assertEquals(2, (int) r2.getNumber()); + assertEquals(new MillisecondsTimePoint(new GregorianCalendar(2011, 05, 18, 16, 26).getTime()), resultList.getTimePoint()); } } diff --git a/java/com.sap.sailing.kiworesultimport/META-INF/MANIFEST.MF b/java/com.sap.sailing.kiworesultimport/META-INF/MANIFEST.MF index 897112d18d7..7a188858306 100755 --- a/java/com.sap.sailing.kiworesultimport/META-INF/MANIFEST.MF +++ b/java/com.sap.sailing.kiworesultimport/META-INF/MANIFEST.MF @@ -5,5 +5,7 @@ Bundle-SymbolicName: com.sap.sailing.kiworesultimport Bundle-Version: 1.0.0.qualifier Bundle-Vendor: SAP Bundle-RequiredExecutionEnvironment: JavaSE-1.7 -Require-Bundle: com.sap.sailing.server +Require-Bundle: com.sap.sailing.server, + com.sap.sailing.domain.common, + com.sap.sailing.domain Export-Package: com.sap.sailing.kiworesultimport diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultList.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultList.java index 110fbe6094e..956bc1ea8e5 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultList.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/ResultList.java @@ -1,5 +1,7 @@ package com.sap.sailing.kiworesultimport; +import com.sap.sailing.domain.common.TimePoint; + public interface ResultList { String getLegende(); @@ -15,5 +17,7 @@ public interface ResultList { String getDate(); + TimePoint getTimePoint(); + Verteilung getVerteilung(); } diff --git a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java index ab168d3342c..8fa37682eea 100755 --- a/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java +++ b/java/com.sap.sailing.kiworesultimport/src/com/sap/sailing/kiworesultimport/impl/ResultListImpl.java @@ -1,12 +1,24 @@ package com.sap.sailing.kiworesultimport.impl; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; +import java.util.logging.Logger; + import org.w3c.dom.Element; import org.w3c.dom.Node; +import com.sap.sailing.domain.base.impl.MillisecondsTimePoint; +import com.sap.sailing.domain.common.TimePoint; import com.sap.sailing.kiworesultimport.ResultList; import com.sap.sailing.kiworesultimport.Verteilung; public class ResultListImpl extends AbstractNodeWrapper implements ResultList { + private static final Logger logger = Logger.getLogger(ResultListImpl.class.getName()); + + private static final SimpleDateFormat df = new SimpleDateFormat("dd. MMM yyyy hh:mm", Locale.GERMAN); + public ResultListImpl(Node node) { super(node); } @@ -50,4 +62,17 @@ public class ResultListImpl extends AbstractNodeWrapper implements ResultList { public Verteilung getVerteilung() { return new VerteilungImpl(((Element) getNode()).getElementsByTagName("Verteilung").item(0)); } + + @Override + public TimePoint getTimePoint() { + TimePoint result = null; + String dateTime = getDate()+" "+getTime(); + try { + Date d = df.parse(dateTime); + result = new MillisecondsTimePoint(d); + } catch (ParseException e) { + logger.info("Failed to parse result list date/time "+dateTime); + } + return result; + } } From d7086190df20a4308d607dd7875c3ff03f8797ee Mon Sep 17 00:00:00 2001 From: fmittag Date: Fri, 8 Jun 2012 15:35:42 +0200 Subject: [PATCH 274/339] moved the regatta selection to the tractrac management panel --- .../TracTracEventManagementPanel.java | 53 +++++++++++++++++-- .../TrackedRacesListComposite.java | 43 --------------- 2 files changed, 48 insertions(+), 48 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java index fcf24db061c..8d89bd601a6 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java @@ -75,7 +75,9 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel { private final ListBox previousConfigurationsComboBox; private final Grid grid; private final List availableTracTracRaces; - + private Iterable allRegattas; + private final ListBox regattaListBox; + public TracTracEventManagementPanel(final SailingServiceAsync sailingService, ErrorReporter errorReporter, RegattaRefresher regattaRefresher, StringMessages stringConstants) { super(sailingService, regattaRefresher, errorReporter, new RaceSelectionModel(), stringConstants); @@ -273,6 +275,18 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel { trackedRacesCaptionPanel.setStyleName("bold"); // text box for filtering the cell table + // the regatta selection for a tracked race + HorizontalPanel regattaPanel = new HorizontalPanel(); + racesPanel.add(regattaPanel); + Label lblRegattas = new Label("Regatta used for the tracked race:"); + lblRegattas.setWordWrap(false); + regattaPanel.setCellVerticalAlignment(lblRegattas, HasVerticalAlignment.ALIGN_MIDDLE); + regattaPanel.setSpacing(5); + regattaPanel.add(lblRegattas); + regattaListBox = new ListBox(); + regattaPanel.add(regattaListBox); + regattaPanel.setCellVerticalAlignment(regattaListBox, HasVerticalAlignment.ALIGN_MIDDLE); + HorizontalPanel filterPanel = new HorizontalPanel(); filterPanel.setSpacing(5); racesPanel.add(filterPanel); @@ -455,7 +469,7 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel { private void trackSelectedRaces(boolean trackWind, boolean correctWindByDeclination) { String liveURI = liveURIBox.getValue(); String storedURI = storedURIBox.getValue(); - RegattaDTO selectedRegatta = trackedRacesListComposite.getSelectedRegatta(); + RegattaDTO selectedRegatta = getSelectedRegatta(); RegattaIdentifier regattaIdentifier = null; if(selectedRegatta != null) { regattaIdentifier = new RegattaName(selectedRegatta.name); @@ -494,10 +508,39 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel { } @Override - public void fillRegattas(List result) { - trackedRacesListComposite.fillRegattas(result); + public void fillRegattas(List regattas) { + trackedRacesListComposite.fillRegattas(regattas); + + RegattaDTO oldRegattaSelection = getSelectedRegatta(); + regattaListBox.clear(); + regattaListBox.addItem("No regatta"); + if (!regattas.isEmpty()) { + regattaListBox.addItem("No regatta"); + for (RegattaDTO regatta : regattas) { + regattaListBox.addItem(regatta.name); + if(oldRegattaSelection != null && oldRegattaSelection.name.equals(regatta.name)) { + regattaListBox.setSelectedIndex(regattaListBox.getItemCount()-1); + } + } + } + allRegattas = new ArrayList(regattas); } - + + public RegattaDTO getSelectedRegatta() { + RegattaDTO result = null; + int selIndex = regattaListBox.getSelectedIndex(); + if(selIndex > 0) { // the zero index represents the 'no selection' text + String itemText = regattaListBox.getItemText(selIndex); + for(RegattaDTO regattaDTO: allRegattas) { + if(regattaDTO.name.equals(itemText)) { + result = regattaDTO; + break; + } + } + } + return result; + } + private void fillRaceListFromAvailableRacesApplyingFilter(String text) { List wordsToFilter = Arrays.asList(text.split(" ")); raceList.getList().clear(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java index 59458d5d0ff..abdcaf8cc5c 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TrackedRacesListComposite.java @@ -33,7 +33,6 @@ import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.HasVerticalAlignment; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.ListBox; import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.VerticalPanel; @@ -82,10 +81,6 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< private ListDataProvider raceList; private Iterable allRaces; - - private Iterable allRegattas; - - private ListBox regattaListBox; private final VerticalPanel panel; @@ -144,18 +139,6 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< panel = new VerticalPanel(); setWidget(panel); - // the regatta selection for a tracked race - HorizontalPanel regattaPanel = new HorizontalPanel(); - panel.add(regattaPanel); - Label lblRegattas = new Label("Regatta used for the tracked race:"); - lblRegattas.setWordWrap(false); - regattaPanel.setCellVerticalAlignment(lblRegattas, HasVerticalAlignment.ALIGN_MIDDLE); - regattaPanel.setSpacing(5); - regattaPanel.add(lblRegattas); - regattaListBox = new ListBox(); - regattaPanel.add(regattaListBox); - regattaPanel.setCellVerticalAlignment(regattaListBox, HasVerticalAlignment.ALIGN_MIDDLE); - HorizontalPanel filterPanel = new HorizontalPanel(); panel.add(filterPanel); Label lblFilterRaces = new Label(stringMessages.filterRacesByName() + ":"); @@ -454,10 +437,7 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< @Override public void fillRegattas(List regattas) { - RegattaDTO oldRegattaSelection = getSelectedRegatta(); - regattaListBox.clear(); if (regattas.isEmpty()) { - regattaListBox.addItem("No regatta"); raceTable.setVisible(false); btnUntrack.setVisible(false); btnRemoveRace.setVisible(false); @@ -471,13 +451,6 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< btnRemoveRace.setEnabled(false); noTrackedRacesLabel.setVisible(false); btnSetDelayToLive.setVisible(true); - regattaListBox.addItem("No regatta"); - for (RegattaDTO regatta : regattas) { - regattaListBox.addItem(regatta.name); - if(oldRegattaSelection != null && oldRegattaSelection.name.equals(regatta.name)) { - regattaListBox.setSelectedIndex(regattaListBox.getItemCount()-1); - } - } } List newAllRaces = new ArrayList(); List newAllRegattas = new ArrayList(); @@ -492,7 +465,6 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< } } allRaces = newAllRaces; - allRegattas = newAllRegattas; fillRaceListFromAvailableRacesApplyingFilter(); raceSelectionProvider.setAllRaces(newAllRaceIdentifiers); // have this object be notified; triggers onRaceSelectionChange } @@ -544,21 +516,6 @@ public class TrackedRacesListComposite extends SimplePanel implements Component< }); } - public RegattaDTO getSelectedRegatta() { - RegattaDTO result = null; - int selIndex = regattaListBox.getSelectedIndex(); - if(selIndex > 0) { // the zero index represents the 'no selection' text - String itemText = regattaListBox.getItemText(selIndex); - for(RegattaDTO regattaDTO: allRegattas) { - if(regattaDTO.name.equals(itemText)) { - result = regattaDTO; - break; - } - } - } - return result; - } - private void fillRaceListFromAvailableRacesApplyingFilter() { String text = filterRacesTextbox.getText(); List wordsToFilter = Arrays.asList(text.split(" ")); From 9cff6a1e23b4d38d55cafabfcacb6e0462b1612c Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 15:35:46 +0200 Subject: [PATCH 275/339] changed dropping routine such that not DB.dropDatabase() is used (doesn't work reliably) but drop() on collection --- .../sap/sailing/mongodb/test/AbstractMongoDBTest.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java index b8f14753d28..a91faa902d3 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java @@ -7,6 +7,7 @@ import java.net.UnknownHostException; import org.junit.Before; import com.mongodb.DB; +import com.mongodb.DBCollection; import com.mongodb.Mongo; import com.mongodb.MongoException; import com.sap.sailing.mongodb.MongoDBConfiguration; @@ -37,10 +38,17 @@ public abstract class AbstractMongoDBTest { mongo = newMongo(); assertNotNull(mongo); db = mongo.getDB(getDBConfiguration().getDatabaseName()); - db.dropDatabase(); + dropAllCollections(db); assertNotNull(db); } + private void dropAllCollections(DB theDB) { + for (String collectionName : theDB.getCollectionNames()) { + DBCollection c = theDB.getCollection(collectionName); + c.drop(); + } + } + protected MongoDBService getMongoService() { return service; } From 88e126374ca22686d60fb4a042d4dc73db994dd2 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 16:02:37 +0200 Subject: [PATCH 276/339] drop only those DBs whose names we have in CollectionNames --- .../com/sap/sailing/domain/tractracadapter/RaceRecord.java | 2 +- .../com/sap/sailing/mongodb/test/AbstractMongoDBTest.java | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/RaceRecord.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/RaceRecord.java index 9ad81161b33..e80ad48a9cb 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/RaceRecord.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/RaceRecord.java @@ -99,7 +99,7 @@ public class RaceRecord { public String getName() { return name; } - + public String getEventName() { return regattaName; } diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java index a91faa902d3..5a22b5846ef 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java @@ -10,6 +10,7 @@ import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.Mongo; import com.mongodb.MongoException; +import com.sap.sailing.domain.persistence.impl.CollectionNames; import com.sap.sailing.mongodb.MongoDBConfiguration; import com.sap.sailing.mongodb.MongoDBService; @@ -43,8 +44,8 @@ public abstract class AbstractMongoDBTest { } private void dropAllCollections(DB theDB) { - for (String collectionName : theDB.getCollectionNames()) { - DBCollection c = theDB.getCollection(collectionName); + for (CollectionNames collectionName : CollectionNames.values()) { + DBCollection c = theDB.getCollection(collectionName.name()); c.drop(); } } From af44ac39e24daa425c742746265731e16de8f3d6 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 16:30:42 +0200 Subject: [PATCH 277/339] drop wind test collection explicitly --- .../sailing/mongodb/test/AbstractMongoDBTest.java | 2 +- .../test/TestStoringAndRetrievingWindData.java | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java index 5a22b5846ef..0364434c5c4 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/AbstractMongoDBTest.java @@ -43,7 +43,7 @@ public abstract class AbstractMongoDBTest { assertNotNull(db); } - private void dropAllCollections(DB theDB) { + private void dropAllCollections(DB theDB) throws InterruptedException { for (CollectionNames collectionName : CollectionNames.values()) { DBCollection c = theDB.getCollection(collectionName.name()); c.drop(); diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindData.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindData.java index b24f1020023..1e7b2c9ebaf 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindData.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindData.java @@ -5,6 +5,7 @@ import static org.junit.Assert.assertNotNull; import java.net.UnknownHostException; +import org.junit.Before; import org.junit.Test; import com.mongodb.BasicDBObject; @@ -27,6 +28,13 @@ import com.sap.sailing.domain.tracking.impl.WindImpl; public class TestStoringAndRetrievingWindData extends AbstractMongoDBTest { private static final String WIND_TEST_COLLECTION = "wind_test_collection"; + @Before + @Override + public void dropTestDB() throws UnknownHostException, MongoException, InterruptedException { + super.dropTestDB(); + db.getCollection(WIND_TEST_COLLECTION).drop(); + } + @Test public void testDBConnection() throws UnknownHostException, MongoException { DBCollection coll = db.getCollection(WIND_TEST_COLLECTION); @@ -57,8 +65,8 @@ public class TestStoringAndRetrievingWindData extends AbstractMongoDBTest { DBCollection coll = db.getCollection(WIND_TEST_COLLECTION); assertNotNull(coll); DBObject object = coll.findOne(); - assertEquals(object.get("truebearingdeg"), 234.3); - assertEquals(object.get("knotspeed"), 10.7); + assertEquals(234.3, object.get("truebearingdeg")); + assertEquals(10.7, object.get("knotspeed")); } } @@ -74,7 +82,7 @@ public class TestStoringAndRetrievingWindData extends AbstractMongoDBTest { } { - Thread.sleep(1000); // wait until MongoDB has recorded the change and made it visible + Thread.sleep(3000); // wait until MongoDB has recorded the change and made it visible Mongo mongo = newMongo(); assertNotNull(mongo); DB db = mongo.getDB(getDBConfiguration().getDatabaseName()); From b51414086404a6fa31cafb883e799138a20b9850 Mon Sep 17 00:00:00 2001 From: fmittag Date: Fri, 8 Jun 2012 16:33:40 +0200 Subject: [PATCH 278/339] ensured that a tracked race is not created and added to a regatta when the boat classes are not equal --- .../domain/tractracadapter/DomainFactory.java | 2 +- .../impl/DomainFactoryImpl.java | 20 ++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java index 04b516f61da..a836ea54d98 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java @@ -179,7 +179,7 @@ public interface DomainFactory { * if not null, after creating the {@link TrackedRace}, the {@link RaceDefinition} is * {@link DynamicRaceDefinitionSet#addRaceDefinition(RaceDefinition) added} to that object. */ - Pair getOrCreateRaceDefinitionAndTrackedRace(TrackedRegatta trackedRegatta, Race race, + void getOrCreateRaceDefinitionAndTrackedRace(TrackedRegatta trackedRegatta, Race race, Course course, WindStore windStore, long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, DynamicRaceDefinitionSet raceDefinitionSetToUpdate); diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java index 60445834518..366f72cfce4 100644 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java @@ -367,7 +367,7 @@ public class DomainFactoryImpl implements DomainFactory { } @Override - public Pair getOrCreateRaceDefinitionAndTrackedRace(TrackedRegatta trackedRegatta, + public void getOrCreateRaceDefinitionAndTrackedRace(TrackedRegatta trackedRegatta, Race race, Course course, WindStore windStore, long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, DynamicRaceDefinitionSet raceDefinitionSetToUpdate) { synchronized (raceCache) { @@ -377,21 +377,23 @@ public class DomainFactoryImpl implements DomainFactory { logger.info("Creating RaceDefinitionImpl for race "+race.getName()); raceDefinition = new RaceDefinitionImpl(race.getName(), course, competitorsAndDominantBoatClass.getB(), competitorsAndDominantBoatClass.getA(), getRaceID(race)); - // add to domain Event only if boat class matches + // add to existing regatta only if boat class matches if (raceDefinition.getBoatClass() == trackedRegatta.getRegatta().getBoatClass()) { trackedRegatta.getRegatta().addRace(raceDefinition); + + createTrackedRace(trackedRegatta, raceDefinition, windStore, + delayToLiveInMillis, millisecondsOverWhichToAverageWind, raceDefinitionSetToUpdate); + logger.info("Added race "+raceDefinition+" to regatta "+trackedRegatta.getRegatta()); + + synchronized (raceCache) { + raceCache.put(race, raceDefinition); + raceCache.notifyAll(); + } } else { logger.warning("Not adding race "+raceDefinition+" to regatta "+trackedRegatta.getRegatta()+ " because boat class "+raceDefinition.getBoatClass()+" doesn't match regatta's boat class "+ trackedRegatta.getRegatta().getBoatClass()); } - TrackedRace trackedRace = createTrackedRace(trackedRegatta, raceDefinition, windStore, - delayToLiveInMillis, millisecondsOverWhichToAverageWind, raceDefinitionSetToUpdate); - synchronized (raceCache) { - raceCache.put(race, raceDefinition); - raceCache.notifyAll(); - } - return new Pair(raceDefinition, trackedRace); } else { throw new RuntimeException("Race "+race.getName()+" already exists"); } From 7dac50551f19cb28d34a72166bd09dccf2d167a5 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 16:38:03 +0200 Subject: [PATCH 279/339] reduces wait time again in wind store test case --- .../sailing/mongodb/test/TestStoringAndRetrievingWindData.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindData.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindData.java index 1e7b2c9ebaf..a8fb33c2774 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindData.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindData.java @@ -82,7 +82,7 @@ public class TestStoringAndRetrievingWindData extends AbstractMongoDBTest { } { - Thread.sleep(3000); // wait until MongoDB has recorded the change and made it visible + Thread.sleep(1000); // wait until MongoDB has recorded the change and made it visible Mongo mongo = newMongo(); assertNotNull(mongo); DB db = mongo.getDB(getDBConfiguration().getDatabaseName()); From 7eff7f48048c967d4748de9f2b3fe7e18677043d Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 16:41:47 +0200 Subject: [PATCH 280/339] added sample ZIP file for Kieler Woche b+m regatta management system output --- .../resources/Kieler_Woche_2011_Export.zip | Bin 0 -> 15826272 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 java/com.sap.sailing.kiworesultimport.test/resources/Kieler_Woche_2011_Export.zip diff --git a/java/com.sap.sailing.kiworesultimport.test/resources/Kieler_Woche_2011_Export.zip b/java/com.sap.sailing.kiworesultimport.test/resources/Kieler_Woche_2011_Export.zip new file mode 100755 index 0000000000000000000000000000000000000000..62541ef6e95e7b739f87c60577bceb063a1c5b32 GIT binary patch literal 15826272 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�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%0Ahgyl= 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 z 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 z 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 z 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�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

K@1KJN2tPgS4Ss#omye~e~o|EKw2 z>neH@rq!CwNUZLP`b1(*)V3m>AkWy5^k)-YUHNii(Y!Mqz9RBzSUW}DvTqrj6?$?) zr<%*i9q{cu#Lxnht}eA-Op64L3D6Pl#baN=Z+`K}*hI(HN?XG*!$WfjxXq3{$}OTB zsvNHGM_{`&^8hoXzo~{5DP(cMzL2^gkt%L)Zzl*#zste5s>^$fYmoCel7TrBf)a^2 zgfeVIb;w4jh~9`i{L1N3m#VaAv_w^`lT*b7hOMtr=`ljUjj?ws-@3%hOx=jo9I8E&t;7nq1v}q{`}a&rR)QmHNl8mn>sU zLlT=g09gafac;RS+=;k?4G-8p||kM{nA0#0yDMOGMlM#JRq*928dZQft>NE@Tl?A_FK0?%Xe${^u2!27eAL3 zthSU@knELBQrZ$CwsqjDPNE_Lw>elBxINS{9zp7dQRz%WwkCdDvHG!=PQRrMb`p4f zIjX29Ox_=uVGDXX-xk2peMx{i zR~NS30_C9C;YD&7J%WwDwuSIbM3?zAP4QKIU~^YxDSOhOb-^q8UBQsbpuE2x$Hc;k zrnBxj7;MWnI}F?w^DILqO5XWfwL13;Oi!^!vSIU_M2&qWqkQ|KrB4Ydyba0LbP?u^ zpM4qHUp-&pdG}*#>QLePD)Ul2yWmsMt?OqB0?N6UsAohLe^;B#7*#=p=Z%X7$RnyX z8Ofhqor;oVp0i(lbgkiLnd@Ecipt@GMzq_3mgsi}aGzJD~8L;n|# zD`xmCW)aVRp?z)f0R`3W)7Z1C?>uf--{v+?C?i*FJT%wW!~frp1^>?^7II_+mmbzt z1*CPD+lAE<32gix5tvEORL=RC+r2&f2^OwWW)cY;syl}5Ie@fMvsXx&rU*UmgW0yE z#I$*t7+&Rx zlRLgoC3G&ibFB2lL;8j8u_`{ZD%TTlS{jBdzK3$aA^3{{M(BnIIuV)=r!{PzVEV>) z48OE9MS4f=BzXxKWmbZ$yP4AOr1Q{Y|3wOe^JfR!X$RoT$@&_#&lVZ|pJQ}eyj@Oc z*(TTP7w{;#W~)5A!Yd1|I6GCQQ%XVhrQHShBqBy=Aa{;4c0m3OVw=6Oce&@$dF;2S zo)`D$Z+iMfn28%WNB=#uSwD4?WkzWF`sRdXbf~Fq>5pklMnSJ}UPfrbMaTIaue%cy#aV-&Q!J`ep3Gzh z?W%3Hzxp$m{C$6bUB}N2fo!u3+&U@i81YAI5B**h0!X65_vY-b*AwTl z#cRJzNCJ`jnIE>xy#FK{sa%u7hOyl7;JLAV?v;@G}e)F~7sz(L`%C+mKuR~9*@)cLsE z)Sng9k!)GFgpolrT_eI3`Enku*xYQ+_Or4X+Dp&+*LT3LX`l+Ta2m*s28tHQmi$>T zb~iUvu~en>8Sz7}r}C7E#$O4`YigV)yCpB4|MU0u;r{c{duFr27wO=)@83E!KaK8d zg$kH{Z>Z1E3b8ZF@F?_;jN#?(GkXk@F8YEHCm!d-X+w~Oo}6)UY=wcAb)L z*DZ4zJWP74_lctodJ-6E&)BALv62^#%d6(>?1^1(knT!+k2YSODs)CFWaql(S$kfd zoHR)8>{)l33lw|!ri3xK<7HX`(s!E`pclzHB#7yFga1;fA-+86NL??tyT~J>@vx1+ z!PWFFb+gWP=FaEU{nhtR8zxy&24i6+;k+M?uw*3NUv9(s0fr+rPa5cqz^%~+H#}SL z9eeg2FdtN{P-3lHGP%tqBGUR(tg%ag^?ReFzKHbGFMkIrO>dBXSeyR9TlhU)+`K#m$ z#e@XyqJdsb&_LWY5Z;aAR#iWW^kIQt!B76#KdKKR4kT&EC>x5t>qypk@A~G2)oJmz zm8aG}wF%JCg%gNYYO!nF?u{hQ4~*;FK+u(7N8z)a_mT`X!`FNce;#QgK|6 zxb>}Y)Et~-VLInVh5~TM(Y+D`NMAZFki_j9V|F2XfB2w1c9#ZfpWx~omPeBV9cynP zH93|NLl}3u$YVh7KSL%Gx6s6;+ay$ilV(@vAnWfs`&yE8E;2+kCU)55S2Dq49)I3% zr9-liIQ&SD3(}yE&Zmp*I}P3f*Pyq;i8*-Rc)0fq{IN5Y%j^XF>bFsC!(vahL#h7$ z@?5c^;hh#XGM(Qo7V{#JerQ5ixw9;VkrK2Gt@jUaXZdOh1HBz zt*B^?G}D)1QLK-xH2uUB$$#zLrB`QKSTwi{`0N?h_$^}`-FUgSckp_`KF_yaT~;=h z%z6IY^Y+D(|2R`vGgT}CP`^xM4r>lA?r`Xt%DpNrwEkQ$kvBc+ptfY0U05Xs*3(|uws^*wBGs%&n z^JP7?F2plPxbwqjA?aJG*Op^p?H*$Om)^TrEMAuT$P-6|Qdy;Zk4)Aa1hGVpw)h)# z^PpZv8QZJh9#{Ra_f1i;N@;5*T<$~G@VJOU)U|RZQ*y~%g!x}Co#y?V$u=@8kp|lI z_C*GJqhTo>O_F2z){52kPRq4M;XYh?oPV8eG+$Xsj}~&`yRi)`BJ%?pOTO$L8Fx#F zBP|m_!is5*d22&i8hl^nzgoItu#ppN!Z*^?FTOUKPPy2}=E|f2h7CyYF)-0x2!FSd{dbcLU>+_0w{fFdcEPE^LCR%^>RW zgkstFEf0RJQujYjhA{(E78!QI+1HA$1lQn*7OYz6R|rL*2;4>kaoNK}+S1}bc@PFx zwaWb44+-{#?`qU6xxzXue|K}H8X7n=evj*xy&57lv6)1y*=^%?Pljs|9fu0)VvjZ% zjUv61VO7h+OG(aW_-y1QOf05PT`(8?3(Ge=PHqx}g%DJ+aeFin2)N(YKK@)^+xC4; z*0~2UPE{cn3#G2lU9#1>Ua9uzRuE$qNV~~0c79Sl%=>XnG>WQe}y72XXjxG^W z?!oithxg;zxk9|j*5cJ(LD$Y>XQUddvDld$wU7@I=YGibsXzgR;7A{r5uZN|CkdGf zr+yiu?8jBFt%kW0SMt|1pX5sQFM9?@dk+-xUTtvf6PI-jdEb)M;|=oA!V(HA{=?yF+rhrmHVVLk`H5T*<_sRP`~ z5>NDdg?hLK)HR&i`DIs0q)cyh#My22J$s>swcL1aotk~(jvQ;3)&caN5zQs3P|S7* zhtTi&Yee{TP#j)~b8VV)Oy&5_f_8@SGfRSA*9bKV@trLB(G|BWgfo~oUl7r4 z%KcI~blW&1nPwZ zeB0}As48!>c3t*lf<5c~x+-Izs^IU@ZCZ9enyUtZrF8WZQjA{9+;S0s9}UEm z4uJ8#lfRl5m>SF$vv>$rk?>PuA;xekSN>do)y>L=1NE)9@e$)>ls5i z?&ua4wK1hA9Puvr739=bxg)WtB{2#i7Q1bSA)SkH#LrmsuB-WMyFEYgX_~w(8P9)N zTv@ldK2vu@pCRZ48AZ1&C1O{?Q*E;%xDL@ZF?z4e?7{fg>T4>|67|(hqhaN_0m&z4 zD`z9k<-+T(f4Xw*3zD4%avF>PvusO!Ct}+;7+^1L_R{x+M9hAcl^uADJTeYcP2~d} zY0a9*mkG=&Nn8<Yd{WkdOt(ZXrL6ayw6pLewwj9Z8@s_SY9WaHjCOxV4buEO& z*^X#m`8pU{VymxMJS-wU?)L&aAy@3ACo{!ZHQ{7Zo4Ny4+BO5kb2bwRG*BW9R4ux_ z#kI7+GKd$wYTP(Zhe15wn&f@))uVy3`wVPd4DiV(wI7!+ecN?q&wt5utOT80z&}LD zhI$~tfQ71tAf~T|rM`Qk_WHE{AGx8g^5=&)b8D)jX~b!I8PY5~TT0Jl zaD9?k1$y0bI`T`w)4DgEHVQQ*8V?5;m(@YU>u6uuK3Tk@E}~{8#52<@->OdBy#5*v zxHQo@$Vs_y{6Sl`9FS-i5LO+?U&>*(7U^X+5a16M7%E5#(>o~{Uy(FP^lE9+MvT0q zfjV<$G6`J~s=l1mA%qxFy>)eDFI0R44~{BFOE)xT4=I)_qW^rV`B?JclH|SQVheRX z$&ZJB{<#m5?hPT^RRTJGB(wIH=y13Op&!zY5K<>|nTF=sPR+)Qm|pb}3y|>qg1P8& z^3~rU@gN)*4diIXsdsb>$S1h9qGN3n+eH1l#x2L2WUE5iXKY9IJ-nT-*x7%5z~}D6 zE%EKWQ^J?bw{J~?9Q_1^uaM#0)%_keWwXM*2IH|NZf+aTJpRB@bZdys;nux`=%;}& zjPUy-6f<9fJtH||XwO}hgVSBvJ(zmFB6_a6kdj&+vr_f8?$q@6`NReB#x`rbX6$#n=wb5D# zP5js(MG8e|AVwif+BarSE>GKcG#(a%r2713W3FwApcs$JtF6f9^+1|80TK-*zOsYq z5_rmRGsv3hXD!%XZ12wGS!a#G>JUg2UHy$Bt>fu@#(~kK{{Me}a zz51*VXZ@Og%Sqfh4o5ermU?1sW!eY%e&4jJ3#nbIFh7I2diCs<<42$KJP!UPtTtd@ zyJ%&P`&nnM-e&*E{U9R4^x?-@TN4Kh$&@J!l$@5WX1T z<;fOFPPIk<;kt!L2ZltvTU(Y$Tg9X97yOA&YkIYcE#E0UXFgH!E={3f@J;6uaZoOm z{bNd6jlZR-q7`pBy0WQzJs~Xi;@8Bq|JUs}Ubo6Mc-Jq27#aW5@U#C1#N@;DazwW; z8?{?Bbp7m+@=NeQB1R^cvbJabOo;5V2gw3IF}wM9LEDM98FD2Q8ThT5u2;{L4i)8%iRmI^Q$>_Y9X|eb zNli4}&KpyGvWGCNrZz8N`A}OU#0l#O@4W~3-Z`H8nxX$&Gv683RMV{uqJRNJs&s;Y z3erMHn)IsF&=CRz2rWXWQi4kFh!g=qdJ|BJAT81br1#!CNCHxX04Msq?>WzTeSe(u z()Bt(9Vzp`o6;EkSS%;N`kG>fcgE!io(W;NVW zDvudUTTok%{c?#%v!m1-+%OjHG%!EizFy&EDNuXn%KV{Q(y#~oZO-H7@fm({bpR=YbJu%x_Qa$q8 zydcS2rvD+P1{}hYewvzzziHSv>lkDu&VwIhUAW(W{Kx_~5%DW^$WFbNFERIZ=&_Xf z`6SnrX+V6*f~y6bw5tW8Tbl)&2z8?w51-*y?wRt8T(j5Kdu~oU!y1(}rWrX4sOgUB zWv`uNFO1M)a*#(X!3Dwz9&V2b8X>^Mt5{q9)0c zL5%Kp%M^0wto(YFw8^vvhVU$&u^Z=bTpf>pfBtdAP;uWs#R7UR<*Pf}|>+TlyE7p2rF8cX>-PE*~G;+yn zw*o~Z>!d~O$B$tR$!JxvF&$F{|(Eyg?Fi}1Zo9KA9>3Z65HyQ1&Hc5s%8+ZnyM?VTg9HJNOT4x*)m zJprMU8a-IUck}P|r!J{Ln06$|;(v;7F^o19(63G)cM@au&(~f%d%+`5(&jBfrY*7> zgftcUo|tX%J%ak)$KF5oHQB=%p$|F?ILw9b?-@tVCZCdhhEJw=Wt%g&(9s={OIoDNw|z|YM`IF-H_#4uG@V(%F-1HO*HQd_ z`BMBXB%SO+wFRJwY#T`>yj@DwdD^?zilVWZ8_q>; zODzJ5fLA7IVt>7#<95M(Le(rw``yoDfi(g}-T*;cDAi!@)Gy3BKCU#kI?&9p36Y$> z6SKMN0y*H&w>9n<>yEo2wAh3T5MD^BEm}-iH$S1ah`L$RsYT%T$RaZ7LL|AhhHCRP zshS?7!rY$4-Rm+IewDYnmEa~M{x#1@7tTLxF`c`?`F>9^vF-hlEF`kD7u?>2SQ@5YzR@k7tHMm|&80UuVDtA1_U-J{Y#3Q=mO=WRH zj$vIgn(a7eDI|IN9RD89$u4G=i1B@f@i1eNok0qX3pISfT zdz@wMMo=MC3boDvBi|KQP!YysqmR?TI;vtv9YTTkTPnyiml}?I8V<( zvjF{+m{-%U|9mRP@}c{&)CkS<6qnnW``+7nRcgp;$|3$8NsS_2+lE-JB*Z)B6jj9(W0FFF|XGOlZd-6E;@5 zSWk;EgSGBTLSrN{fOD|0SQ$PU7g5yW36h8x&C6{Ij-_g#a<9ALC%!15-05|e%cl2z1RjHjF<_g zEVy)fqsA$T!Jyn3?ug7WFDLZQRi!v4wNlODroKfs?DrI>9X=S6Sp;Xd)6x01694;c zGQvYxpx><$WBYLpk40%c`C-nFJ~JymA7(j*lrd2O-xbm;if()*ACR4#KPo|^cA3w( zysej+L#KsViB59lv?!IQ1|sGhNt9!Id1X4i2a2zl-uPm9U`8HziMNn1a}{&ElSkfe z?~bIOQ1U2gU))9l<~A{%OKQ~`;W-g~ojWbMks>Yqa6x#y4y0Di#y(E+ZrX|6k;)^+ zi|cj^@X35Q(?ee2b5;#>O@xPr^Mmi~#T$cabR*912-d>Ob`4DZS1aji?dZAjzhe4# zn4xeCL0jthivW%-6Xa2T-n)~2txLS1SIim~zFO2UK`Hs~21(inrskU+j9fW4V!|D% zl(%MrZHR_Z*DmqwnN620BCB}`+AK)1KIlF0$I3|UplvQY4``wM&R4&*dam`Cz0t|! zBz39;CD&{uONO@B;FJ6dF_rljgEAZ^;ibqH{Om1;qm-kXI@w^Sa#8cgWdy3MojW9Xb}}r7c^BhcN?9Q$(NaLdY+{e zMRG6ECZT6Kfz8;+Wp;p{$uLjHWT^CkbDhihBfpI8HK;-KgCg#TBUm}O7)hsPq)L&*5LPc;}BEk|})45L(s6weKbYS@QVn7zHo*9Cw zO77q_?PNH_xu>&7DU?m)d4U5Ae&crdZS7k<9DW~*B<`l3K8e`MO10Xk+SGUG?&%Wq zeP*GTK#^#yyauZ;oiflGn_@9Ni$>rj=@{A zJrw;eLKaVSz*=G*!$sU5ibwM5o64rC4DWs!$zu@8yG6HCn%#7CDD~p_h#5^8@a+|r zbFkEdpVa%YVT^(Eox`j~L5@vOT;KHDw{P%lonE2%3GjTpo+B4xGD!oNz2{on7+e}L z%DCdV&?_88$!e>)9KvXC30%TL5Cz)vw|b%xrMZpHa)h;4vrZ*=G9nb zOaB)UJ=-UdZU^;l`v|^R zXL-_&5m`ecqsyg479q}yBdSi-T|YM4;vLftJfEBVf%6T6i5{$}r3XX@cVR^LLbtf@)v`)^ z6E)AX>?U{6PK|xeHiI3TC>IJ}d(&JOvjtO_s5-t`Ou+#uP*YT8C+77le*@)(x5?n2 z^pyGu#SH6=?ZC?~@jd}RH$*Pi!IFQ3?Nqqln#!NqmIvoXFLn-teY$B92#nOM}IvRFQ4 z`Z&>Y5G%JRd1!zF&CC-&_i(g{8MRfc(WFjuZ|fWh)fIiM^COxXfxnu0jdjUCvkiU| zmH|rEM4{(0=@T?Z*`sxre&*J`VGkY!-|{mUkmIS~zUt#as0iTg+tbUAV8qLg;QId_ zdj22z;a^Sype{BDcQ+`+`Bx5ZhJ zhx@eU{YmG=78aR;86!9n(26}ZSJ#?2_GfX z@kD1%u)BiNebOkmR=wAC6}IAEw&QJbxO;aPN+7R3%P9aTZ1WiU)E%8yog~u_&Yv9% z{Giy-Hsqc7VDROp6K!@xH1;V^sL~gnGH|{9QLDCwMT^_{$x~NEJ@z6Pk2Pt##M$fT z{!4gyu+U-6-je{gql?{gW(>G`Nc6Pbe0i(52>jHLd?xxsQ0BDOy#o32CW>g-eG(_r zh6``^6Dzr@;plLY=xW>!@*G*`q2Ir}>*lZFSY&S2gW`8lpid~ho}wMizwA_FHp{y# zC<7ns8U4ToHv4+Uk2;qk+s+TRbrLC!xM*S_d)x-Met!Lt5P7zV;Xtvze%R|`6#)&f zh!(G$uK?#3*Eh=1GF>+T9>ur1ha9#=pYmTl8z|OoEWC4Ss_;XUlA%{Lk$U&QE)ra9bVQ|NMz~u#D|vp)yAOKrgFNX4yY3W6bbTo*c3!Ypd1t7|7~AMBPCBhJ;$RQG z3dzaPEu?D^PykOiTwP=&x-S~|!K6V(;*?3wXpN1@@vT!mGXy>8dHx~C+bNYUw!ngX zpERUBQ>Q8Hc)Ig@-Lx{4$+I5pC4$$;>3U>}{A&5sEMY`|m~;$qF(O5nkk4{x|IIR{ z_(fiLW$TUfmjWs@Y)mC=<)kW) zXla16yRzZ}7lf+vuM=N$PaYi+_TUV%B7Gg``q-ReSrOa^NzVaDdA6+CspAPMjC9wz zMQsrgBZL_XUo&gMI;{mjx0M|~QoN*bDhgz2Ck>G$Ga{7?RU=%dVA5cQ`x>F=rN6sa zDIQHXt4}z{FA5O`H)kX?y>1OqV)L6S<*zw^7iZ8B%+zoRBWyuSe&}Kq)^PYj2++`j zy&IDXhUna7C{Arr4HQtJX48CsXE5gGTH)=W1F}HX)xsrp@sbE2G>jpOdr-8MO{yk+ zweU7^xP#kjIB*4*J9t77!~~wOmb_0_{5*&htR}{zzW4BSJ$NM2OOrL)Os4HN&Oc6Y4^ZJCCDARf zv%8+`&9&8EhWc)RVQbqz)&cQC_9mM*nP_{5Ki@4H`f#RfuippeT@iMCuFfD+?XM_W zp&uVzC22SDRaZ%Lt??PI>>5p9l7B;3ia{b3KYH?%ox!*`tfQe=gS6X z&ph|}-1Plx*4o~z=LbhI8-?@Lnqg!^Pb)<}@B1$qBvSr6tQ(V?&9;*Fa^CV;yEUtt z-uq0W%x#jACLkuRpIfXJz(ylce6jJm@Q#)bMFf)$!Dz*+i2Ock0xF5@fJRkC`nv_Z zCwS?F21^$w-VxbCe6NTK`XBOwR>XD)6cQMZbX8b7+`~A?5fmL!A!39k1fTmT7_%~MQEH_Bl}FI{X(yLCwma{xrTFgeD1r5dslY&x|IHuyf9t506e8% z>e910kGGsko8a?IXJ>!CN^#rf>=AvXN&5)$_|c@T?<^T@N$SI&+s(w3c z`(u;Sc1OYA&R0Dvx5j5@o?qp%OFhr^Ut>v=b8M*_!AxWtDjgy8&m+7Ck`d_j!c!U$ z_-&r73eBdLeuC*!azuzd(EADX^KUvz0IJauW1DvZDx>`22MR#Tl$=xSkH|2=%z#b* z7&&k>IH8$gLE4)0=a231tKe(w?_5{46SEx>72ra5 z$?lMk8f_1MGQDiPy-vEv8oIr)Utm!z3Z6X`e0)69G^M2EH~GG-41zDKwHy1h(;}Cz zYyI@A?jm=qA{T6XWr<0r`=-*Xp&RM!Tnf~NgOgM2D)gyggGLEH=MV9Dk1N>_=awDq zKXzX_F%twHc#vXyJ(U;u6{s<$15eL_E1y5Q1FIc5B6w~-=5`^>E*nP>d@%ZBg}2bg zNN!mDarwJQZhG2*k2$ZdxlfHUZL1+fb3A&&4y%h(_kC{+Nk{vl#8Z9RM7Y4mMUbygdFAMH2&bHNfk z%&OLz-6gV%06gW8KC^CLkp{#DB<0%47CqaKPyMTp=?r4Gq{2?G<`2!_W6KH6vO1E` zUZFD*EbtW3N;hb+)mbU)sULW8-B4)b?s-XNi64yY$ESNLvOFXV;kPPxNzY6rDkbD@ zbUO5RF6R`4r=6wYhl4k1NIs*$F8-j-*)2*yT@2uX@x@&K?1!+Pln`m>Hxg5f2UViB zgBgW=<{vGKZhsGV*!L#b?A1}SS#P{uDN!6ytp!e4*&neDTQV29-Hj@_Ll!1>$M=V{ z9dvC&az5}mHofll&&s#V1N}NmKd44m@QGffXGIu>ggX@DUx|^(z8J9?+G2X#W%px4 zZ8WT)E+n3}$7hQ8T|paP=3n*{KaIQPg&Ygb|&^UF+GZt}%rugr=g;p8vqqrjB70kPn=v z__N20^5}&}bR=Ai%+2eB2B4v%rUa`kjmSrVQjml3yt^wml56Uoxn)PzSJSTdIu< z9HqtQfs8<+0A9$8*G4VF$?2Tm(&aViWNj4hDv-6>STs%;R-mFFCU?@*F>})v#@Cj;Si@Dx1UI*m@$jhV!1{%N)ih6ddc!ol%_y zE$S11WrFHZ^P0x(3w1L>R_1v+Y4C_m)WBF*TUaoNN7ygFi~)3RLf;XFCmJ4ddF5?v zJf#L5yRn9hvO4ciImCZ`n0a6~GiN zfwF(3M?{ulk)CQ5pabseE|)8_f$Ia7Eh&>w9$Zm{?%SD$U*FX5LH6FpmK*JOPkSYc zF}e+7h>sL=NFMU~3!QUhT9Ro}is*d{EkiNS<-6ZBq9WG2ZTLB`+>V(XH&cvxnWHs?AqqHG{OwqZhBZKXF2 z5N>GOeV648AA;OPe3+AiMW@s!T&1q0FXN}2VzcHwTPAG zht4&1JE!*|%Id(EvJ6TwGKLb8mvLHBi`;A&3=|b$#M?#Uz?xKI-pL1jfKeS5sBxsc z$jWGzP@cPBCVmru@5;9i;0gZPW8CuXepS#LL#yjT{C3wB$_FSzo`iGGl<8;;Pgl!p zq@-{r0YTAB9y256^YSWef+S238{0Zw8`~`QZ<xe_#zTHPoHz zg7?l;a=l4l@H7T^z00f*?F3i3o_(H2Mj98su`deJ^^K-Q6J5T;A{v%QE&Q=29gEA~ zm)2Y^&2O?L&pc(C=&pNC1Iu=7+hZ9Yye42Q>kp5cK|(e!zE=O#iEZkkaU>G#Xfiv~ zMn8A0S>lg8_ewlvd2pIzx)%`j1h!cZ_TxT-B3y@~rHv=pzV{m#_JoFR3=c@6Potg$)cS8_741Eqz59f!JkiGCX6pkzuJe(!0Oq6XWAr-aPcFO= zN&!*97p$#5u7Q8Xz7qe>VqfupiG4u=e^4po+5-6XJgnS*7k_~u0RLl%^RGG~0KYs0 z0sYkm$gc`@@`Sp>tRcMea3>o8zmf|sM25N80r?GKE^;mi*na|lBLw~L2togr@PEi9 z_`l;4{P&a7vT}mCdO-h&od4Ezh+ih~z;%nG(16(>fTq75Z|DLgexJ?%CjaM<6(H^q zC%7Hpua5p<{J%*E{g(vb_xymrWR-=0ziq4gONYSUTK|<51pZcvE>0fTTH6h7tp|0- zIS{|LqB4+Q%^63bfFp)_yW>X1Z=_}A0JZ+rA+8Dp6#XsvoBNmeKlr`fptb-3AV>%x z@Sg`zR76Bb1ZWHV3lqlqC2qpMYh3<`i3$jU{=~%o6~i4Mkv}ofKQKX|KiUa{M8(Aa zz{JFb{}mGv0sV=I3JUyzi3th)fr$(MZOra&5SSCx4QCCUo57wzf9Zu^7Y@gn{;x|> z&BYcD6#nOBh;WCvx&PLnuqa4E0>H_sq@@h_4^T@72tY>^Oxd6S0Lrxh08mQ<1QY-W z00;mLeA+$$00000000000000n0000oFflPLFg7hRHeW_;d1-EEAVhU^V`yz*ZeLer zbaZB6XmWI4F)?37cyw}ME_iKh-J4r)+c*}--}h4xUSN;_Zerb~PLd+A<9Oocg1C(l zpum8!X`8i78Is(z{k8+_XXw*DEG5~E(op)-leuAETC_gop~)Z5l|Fd$c@dINEKYbN z4jaZ^t3j9;MPn|ehmBtbSFe2E30@hEH%I?ExM9gEOyBY(C1aYh!-nbZk@J<{#B3Qx zgQR>R|I@HvJD!~76BFrSqt98$Vls?IGqx5Rg)~VH8{P1WR6;tdbTnH~(I81m)0O;S z8MBZtxS;VD66Y$D2H^`jW!DorK5TSef4GjLX-pRj_Mtx^>6Rxoj8blb?+IJ0q)_FY_5+XQwyBvh?^mlh!R1s1Ph4>KhqbL%^100=6u~mW|j_&ro7($1sX5uffYi zc&P}B4xbPdts=qswPgB5+}pZT-eYnwrg+-fC5S|bW zEm85X1jeo)@@p*#a=|6vuYye}fSg!@uwhL9FvkZ;c#62=;k|br)c|;ELMz2mrFb(? z?NJMZ+Z&48v9bs~k2!$oo^e^?`Ju@W`is!)<|I;e^avFudqY#Mh#dkls9l%wmI_t( zxm38T!!s&fqBh@$X{J1!aVGZ7MWbnH7q0#OT)J~drb~-v9O*Qz@o#imf-Y#o#+B?m zA(;b5?dv1fuIy9bNTOO;B<|-2()Abr83btxVUp$!DR-$g&gr6ce^}yi&)|nQ-pdhU zjATNmWHW*bxz;l38A>zVUm-A_T<4Osv=&_vJkHM#z~3;d}gJU=<+d8XR(gq+Cok$!8tpD#pu3Tk`FIxM_ z618?&rN*P?Kc%vU@hA#u-G9n1>@G*C*`_6RaZ^HQoZ0x`*3Wz9AX^{1d4PC_!6NgrHkXX+0(V%3=p>bugyJ*wsrK53KFm+wAe2 z3wg$>tY~D=>D}J)@$g(#KVOO5JN@Q}Ep{JUy@$ji6c5O*DiyBp>&u$Nj(a7Y!gx9U z7x)^bCu=+qmL3WRM;Ho`#G%+147}>cJ{aT#p|}s?(>_{b+`2svq6@g7>b0S0rE_AD z@FX*rUM<$3r=HI7U#P0h9^;S{ zQs*2gXmd|A!mj@ER^`yb4%?xA8VyX-#TWNXlGZITsyV~0wqO0kC$oaGK`em)gZxTp z@f*tc8VN1RyTXH9-`!~aXZV@@#g>a~2rE=s?$(GdG0j_@F>$6mG**X?%mKE z{wNo|-6Xk`5!pAQsy-pkPmN1;B8l9X`(;KO$^);;@OyC{%P{M6A%jq)VFZMV^`1+R;;K8 zC}yuD-0Vf2h`xs%~9#is;{a`mE zjMg`f6BLpt)3{#)*vqRyA6~yqc;}fI#mHpzW5QN|*sMeq(-%;zwDgeVy-4^Q{1*8( zh-&hz2D8^p@u(KxP_`k|@dmj4cZ86v>HnfsJf9_T>Iq0pq)Bb>PN;FUa|Jy+q^X^B zDga0KN{WU3?@fh z6#V<@#Mv+NttDPfId8Vv~k za0W7t1x)vM!roEi(Iv#03_rtSm0X?oc|^e{!G7yu?tM@#wnz^?`AlXcf*9TfH4~XI zB{e7GGwjg+GFkuLm%54lg8mO2l{Bf9^gsat4YL2g;0XVJ!x0M;!~X)J|3M++xPI9n z1{9H3vLB(r6@D#<`M8DkvP_K%eTj)XzY#^UCODIx9Ys?85fS#&?9YtPwVzJ4Gq}R| zz!^}icp!h?Kg~pa84TQ^xfP7u_jsydE2yttkhG zwii5?Uag4lPCU6Q0FHN7T5#}Ca5{KW_O@3XE?ClbmG>3?=4QavRl2>e>(k49L#xXu z{MhUm>#MFcv3I?_JN}Ec0p2F^rN^(1gKpglT`USj zKoRWPLjGvknZs9w&O+Rm*L5eP7Oa`TFl&fS{L3p`RT@EaiVN8ApX7* zKE@;1M4bY7pplmwCty4GEVCZF_CHUM6EhdxedFcE&+6BBP9>#evyneAx387#n(w4uY-p+jk=n}*Rgg9<4RT_N6>7bc#f~7SiPWy7yt-D@7w2b@wVZu zLkTPD6f;h|B{}vK5p3E+pleM^ILXS3M(^lcH3`33Wda>2^9gi_JI3KN*M5+xigvUD z$4moHSt{u*XBJ<7wp5g5tbVjGPB?V2yuLz?k9UQ-gxtp2tQd(FP4WtVDaP6TEO3He zOW>h@2EFSN*4_d0=768@jnlpnk2L7T9u%lV)jFSBu%MK6yIBfes9jUki*3u;$>$x$@7i#yKY1ZswzuY>T zL9c^S39cHtyP`@R3->Q%bO!$T_j`Z>pk=Q=a|(eb`RNrw{ALb^9^5V@Jo zdJJtB#msHNIUaPhC2L};Cp~V_gIz0&anC z++Ap=fwr=5^p}BKTABXzBdujM^S0$w>Wi}jR^!$8dEgiN^U8QnYw{!M5Yw3=2JXVhN+{8?)Mg`?c?v4xc z+Ql(#v9hvT{iJrTzW_&v@>3fIk+kkHS?#-3D8FPXm_ z7RX$0N&V7S6@Q!7*;J5<3E_v$F)SWuJzDifl~Q<*BLDul*~=WoW{?vgg;%yz3Qg#j z5?KMb{bqqb-xL`XX)HAhC?4HCnT8!xdjh+XT(vvTXHk#>Q`w$ldOdya-Yhmdn5qD- zC#l=FHa`4aDpm?n@S3b}DXsu$qzt{%p1+aT(w9#!rP=6T25iJwT1Ff9X+Y+O;uqSE zks#7Ha<-nD)kd!aY6oG@;9p1DAPmW2~*eXQWpyjC1#L z_Gifn!;lk$5nB#hx5E1yPE@h0U!^K%Qf(V2-&Q@{kQ7tND#BVzWCHQc8hJFTUD{Bc zikqHkTuDmTYZ?tN0QcXi=K->HdmS-#rNwjv%irxaP6yKfSAV-)_e-|;&FmuWkdD{PX(5P zL5`5zq0r?sBD*SkbVc-T)?N+YdR@F11S6S#i3dfZdX4hjEF+0bH4C=%vdeZ7Q(KA~ zGCGpP5uo0p9PW!HyBvnAD=Gcv1P0Y24A|$cghMO}48S_=$oIcm>C70R7W~L*K*RbZ z(Nz+bzubF}Ap;uj`wv4rue@wBCNk|J_21?s4kSW~t#cVCodFzoYB!e`JL%Wdo6em% zg<|sv!)^JeZ?)coOyff(lsm>WTTZ(8&9>*w}Ax*mn`kE=j$WzFRf`UjaQrpPvlaa-k^sPwbjv9EYi^IuYPJ) z(Zq}r`W?;?FLcYO0ewf$C!$uhxJL=Bbz+4R3aqa+93^WSmhPn;bc^&Fj%>lR*&k7A@JQ9aTMu5f8QqxnQ4;t37IZ$l%CQ;&p z01s71#YOPcHF454q83H)c8Hsyu>yy7NFV71d-tkMeD3Ri4Mz?`9bj85^g^2}oDJ|P z54#?i2je)7?QfNs4wxNJ*3vtw>f>?^K7&y496sQ zg)~y-fpc!bJHXU#@fwtT!&B{q!z&WiZ+@NB0#yi&D;HE1j_KoexqXC$PZwy5r52Gq zR1FA0<+Sx4<}7>;ajlZuk9=vy+?~#JssCs?Wg}>cWL4o&IXQE|~ zD&zNl5_0<+mjB*x9ygdn7tJ9ddUeB&GyBr^*k58}P?lCHMiWpaPDOr2tN)DP`5L0% z`_@hF{u>qE92wqOfmGw)T^%{4e>=3fHjAasGrs;g6@hxyBM=jo6juaO>swp@^G-xb z5k{S7aeH-kG)O~35k;N1cXe28cv}qR;QQyH?)6STWe8OstlhusDOYQgNX*0P_SDL< zwzRB*J=`W~|$8nKePk`k0+tS@o^7ATCCN3@@mND%hl*EndO5=w{fgA0YWZ>s<}kTMF;_pJlF@{;edJ+*&tz{Re! zZ;rTxDzFF;HZn3SGAK4IEG#4>HhOLr5IzDzZb(v8SeAcEc)Wi~PELAsZen_HYI07F zR6wShytuM*Qn-?&s-k*`p0M)UD**)u2gjS++Y%Vq(!lH4E%dM6pRiaUXtqA^E&-u- z$h?HSy!bo<2q3beBn%4Qfn69NiZZh^j5PH%jyAV3i0UEn==nMM`FRG0x%i2KAfiiP zCnUH9Pr+D*ai{8fb)NCy!NrI=4OA>o$|sXND^xvy;?Xo7|nApL)HxI5|1ldfK|* zLEjxe)#xyOArG~8yB8t>OR%W8xbV1_t-2ItKfTy-d4^la10>!>k;c~&BSbhcGBt6k zOKXvXR0WX5b@v(l#YV{627KSu8~D>duPBjky~XQ%5#Rr5Ab@zW9FP<8;(;FeX1gZ( z={oG;c8E8e^r8R4l}JW3?X`v`B@$@Lv@*-&wjjNp1S}NwuQ?0cj}^}9)yvCw-Bm~l zV{UKEC<~9-8;*_?7ICcmC^i<%!)6^pS!IOy_a{J47hZ!E&zCmavFeTJ>OJ2+w8`LG z=!a$pu8hT^2$oFZfrH{&DP`UNfj7g`Me8XQT+;fhMPsp;4kgnvKzpIOrU zFC?VMa^fv?MAWGMz4Fvoh&hPZoh~o*kia}AJg2aQPq-kFm##<$V5bYu&6`f!yu_f^I1f{w?jWB7FsT1 z$iK#go_67~dZ(DAAdI8cv2I1j){a|TJG2i?mFvA!ld}7b4{ov*yGg&aAfBTW2-ae| zx0+2$X9%g5542KF_|Ota>kbW04p#M>$@%^9gqs>8a-tE*V-nxl9=)AZ5jJ(}+-b-4?CG2Kg9C{4IoE}GRX zt9ILeieYdQQ((TGxu{4-N-4)YISNIa9aqf2;SK9#`u#I7%b$YdDY1QaOr}RnTy4K>+^Kp{?&>ReA#S)zUn0#bg z`6TdGLffHmVaGTLhQnJb-#Vf}=|rJduKtD-YoVkdC+De+aC}}_=sE{$@Q-;YYxMKd z2-1gI(wlJ8+e+xu#{ITa39v>-KRN(+x}9xUYeX;6nZfj1w$ObHm-I6M+Dnxq0jJeQ zgDr=JB9nnn1os5@W-qI^ajJy<%FJ|0Kl>KR(~-pgRO2}5(#IY{wp_tF?!TR*u^)`P zH!2aWz#waap#iq`j_Egd5r};)ung^Ig}8~4HO!jOu&QvbP%@kI^84_SzV6q6QPDOX zOOVAMw`_$j6SRMoX|m^eg~>vh78tvIUn!g*ov#HJv$nt3qA*wSaL6F?6tMz8e|P)p zwBLVO#s>w?msc38CYJ?ArB|1HD2E?61@F_KP?$ z!5q^oAA8ZtT$~TGW4Li$@g2s4*}ZtYb}Md43aZd9V{+DwFfQQh$80SB(yO|?<&wDA z!2G+G!R5f-g&F>*a*(Y_;&VTedhMnJsbb!UCq!)l%Y{0FWIdWGktJCe^7A!F>_i4` zQyJ?DCh_y2KzsG{2JRs3inC6VmcFas>ChYg6lSI~lafl4Uf%>=-L?@cUgNi*tbR_q!eANw;=D;_u+^Ta|D5LQv$@f@aJZ8F$L{3kxS>KWsVIHdt z?wCXb`60SFbdxu*9sHPCgB1`(e}p$>tvEG1=G2o0|EUhEv^|5qf#aDk-cazVE(Rvf zsNL%pW#AUyv#{ZDLS(NwVXSUhWSE^A)`3blychiKxNweaG8SQV%wqx#brf?y=`$F5 zyGQ}cYoTGtTR*2rq|Ya6y`FmYMiM$%I-Fcim9|S9#QsNakuki?lXRY_ZPaE!XGE2S z1+H+K`=Td~H~p~RVUmxS5$?Yd|KHCB@!H>~mq(?5Mb#9v$mSrbPa^_ja zGWx!AdW4#<8%4d(b)z}lNt6P|$D51sKP3S#1kYtzK&K&^?0rp2&P%u8pj zwh8A7Uo;xd9nHcK?L_;s*QeQvNsWR%yZs?iO>NX)8&U+CpR8nW*8DvU7yMCfnIt+L z`FIIQjvS=eL$1!qZa1cPMqyl5Pen?%rr3V!ET^LUj(9>v1eO;!^cAessk#*nK$l4% zv2VV#noXU5lgXa1~y8A*f4!-9Rh!rax zhBygyfZ@tN3Vj6n-~s|LMcYRQBSBqanUAr5zUmgR>EWFrh~34AcwmW&W~xR9nvFk~MH}zC2yQd)axJ`n5*{ zLVrVV`zEH}AYI1S?60!8KG_Q_!kYSc;q5hk`3c+v$H9ra-j1U@*;V>gQA|qwlncMh zU4l#hsT97Fn|QS)^)(6j1|<5YHix!?Ce(j*rsoiAjQe8G^?c*){eE}wp@H4ys6+ms z4UKM`w%#iMXYn1Ez4<0ry7_zM{?=nn;z$2{pY{gv0qPl5yt1#aexDTHECKTPKdA93 zkam&rB2Tw*^ccZoR4RN%f&szO9N2LZ9#9PjdHZr|N7TXN_?`d7>M$+<`VjByp6=fO zmJhzid4r2iLifGg_k*AMSG`Hguq~#AF*wdVU=Gj`AgFdCxwvv-rVikjF(%tS$oC_m znmhu6pf8}`Y~A0Ut5>()(eK;={B?2hB^1 z3m~9PF{5^5{_jxBpFxj!9F=EwP?0R4pxC&oZM-_q`%d}<@gA_d`uckNy8C#i1TX~j z*q{I?{M@jBjHsx9sHhCEU%9u>`&~#B5FQ>7K@bB$K?4UtLBWSzXu@|r9q}Jmh_}e_ z1<=`fdG()R;ng^ZK0&y=v0rrFh!Evdy)O7;J~bk_JYR8KM!$fV0FsI_4E3}%46`>P z-!!BTfFfa(SjUPHP0s#6+L1V0Y2Sos{;DN0(FH1FVc2j^4Z=28^D|l@jZMUn+t);& zYE%LMN|gWmc4Wg!e{i=HF=X%A)I&@D@HaIys-f6# zT2;i$esL{deAa`lVt5j?#QX41n4Mf03NEETIV>hb0!89)%76N}M3FVCmM)?N)MrYo zZV|b4MqgOJVZs&mNR)!03E6S^tx=y({J%f5qU7$U4lcn;c_$AK=IDqldJ7@1)e`jOA_~n)`ab>KCT_ z-41KkzM3(OH`h{`=NF|Cqb;+<&#er4*n#!!q4qWcwkczcH3RKcI6Gu4Y_O((r_@zH z&p&6uLf0vGNM8)nCi~k>lX>gU zg1BxA3FP;W(<2e}=jS71_f`ZH6Ry%djG{vA^`(9dsgsUajQI4SRg?Xjd%NByI%@k+ z-L1IV4+Kjlu75Js5sta;4Z&h2^-=H-jhawIOLTy$sHvPR&|Md6Q1(L5O476=cG9ub zsZCklVeRpB?zbPjz4IA${>TIeq40FhB-cMCpEt)rYksge-H=uMgj}r6$z2ZTrb^9` zW`G=fx8Raum@TM7XkDM{>x2%Vk1Cpcg!<5tknU{1)p6}mkl)YEn z4!a57aY<@zYJ$wlJ-6H$np0yUw=v5{(ReY-?slJe>Dk#V3xmiZq|G|jgZFholZ9@! z;VYgJWZ~J*clr(v%+LPdYAfu}A1pLu?>h4xTcW=QI8mfdybREqG5D0yw%BPgTauf* z&cElW)U-|2@-Il5Db8unT{U2hYXy`Lt&)FjRDx$jvf*2pmyu&L?~KRc#ud@+9Q&MY zakNRLU&naddc38reajgAJ+Vdp^kTc;6lH8OuDUnUl0SIMyOy8?Zzq5)HD&(rTSB@& zUzqD!IMw7zJjkXTv0olnAo2` z4(~L%)Y*@PKU#_SHg;lEK)yO3R`aaiv5jww*;$cVP!M}-w706ceiLvlsKl`e=!(WB zHhNcWVJlbq;xHyl8aHe(ZHQ{=^rnM(+;9VaGhzCc?rEz>NwX9IiZ!R|vCgWJb|Hq} zDl}JwHryM}g6^)%9*c@+8Iaw!dp6_YOwVEK@wKP+srJ0HZ-?hB88v+a$^5=+uD?&v zQS{NBI;>aN#hZH^Ii%VD+8{YOnr05(>?#KfQYnhc-^Kzs`tzk$Gv_sh;n%4yEt)xL7?o@`Zot?gs)KU*yY1$kdT zKe%%Yb3TyLNBL1tuS0n^d#*yaWW3yBN+$-Qy^p0+%@${Eog zq2pu2e)=9y|ETfWz(v3BzPJ7Uwmkn1wpO>^9lU)8v}q61+qDnDOn`bUq500$#9~h^ zXCo%g@H|MS{>haa{wqSMP(TqUZZ;0f%Aiom!vU2}z-Eg(sE|1P^^p9yM_64JgA!bD zU+yroB3GQ_&d%N_R$D$MnQXA*qu?UgP5P^C(qUL-RTYqM@1Z7-rUlp7Ffuh>%l+iG zFZ2@_rdKP9b=kDNzzDQ>!0y@S_;8g=TLC2Q_ve@RQeaL0oCr-#sC4&e# zf;!gDzbb9-INOWwch2`D5JR>})oY9T#y365ftG=L1(I{ds}_?h2t@C>gxHt)00M?M z<4tZ-**!*n5(9L#+v=Jna6ZCR#S?&2e}GxE_I&`KTivZVaZKg2D33D>{)K7}0qh{e z1N;!U6;P<+h%O0DbrXPDd^#>Rj?1+(0=bo?!oyWdD`^>rhN2qwE0ge>E6mD` zMWxRwL14zlbWI4+e)CJjw3C};*sG;K05iz_;6R5Gz$$q95ujU%$hq1FGaBM`^vA98 zW3~cmoin>)5Wy>|Jnvb}oZ)xzT>;FmIsr+rnYiz!)&*Os^Wp)h@?olA-$x2lZSqxa zY+mK}Z$Q#5BR020G7K@bZXdm3AuL(lVkfN+&G&`r zV5)WDFTZv^6v0PBj?wT89lhM)xnaIsxRS+Lj~jw1+p+rb_z{2rPE259-Wfd~#M@PR zTSE@bi~PChf=+vyZ#2E*eg&meY1)&4uaS0(oi;|#HP>D1?M+8Z>-hyDN~UY5J3v4I zcg1TrxxqIf5ACE?dvGGd=HExY$%&|N;(EhWgyzoMpZ2>p^f)N8r8rM5FR(I5ed)#< z*36s0%lv4G#_T7J^9eoK9!s7x6hakbP}^RF>N8YE%chRn&H0VE=`_I~CGq&Hd1Uh``LihsoQ3gk9 zv*eBwFDOx4`$>Q+1Do@CE3lakPUY05r#H^sqiZ-F!shFSKJ}cNLfHfb0+sc%7)oei z(bZ+Wsex~8v-pyd~CnQ5Ft zTes*Fx9UMwszu$>Bv;2laFfBIo0I`R4NOwkf&cWhIUJa%zFPZfVbrdiT&^k3Sb<4` z@1OsfwHYZ75{jh0oU?ZnEOgzaKGT)x%IL_y1Z5o-}^ic0^fmt~wB?ojr za<_*|0@GanIekhxm*m@spb>s*sw>L@q&RJCFUQDL4cN8rGq#OKSW;Mdy%utMNNWn? zgUCZ+ubJW2S)}`n-|j>lKyAZZ8^~NBG&SGmt zZ`Z}+!FYiAp}L;~)l$~pjykpi-ERuZlh4RJH;_eob0U9;%9go^*eBXOYDXeiF=yMU zra>ICGzX{i*hlw@AaQqkWOV``5v8K*b)JJ8;nxxP`RDOIt^{}g=&_ZsQPOD$;v5ur zP`b~O;Ns%gkP_{pqFWfz9g!aSqS6xb{W*DT)8?eo@EZa%vZ^+>mjm#9Ti7vZ{S-Ux zbIehC&#cueMPH|w9bq&D105I-P1tTe=TX|ziZS7_OGcXKypg3|5-Uqf?AUK=Um=XX zX27r$-{=we`B0akDg~{paEn|b8kt5LN*X`6jCEF}egozaBF^|<_A#?6KhAQdTjNrq zDcnu3QMp;q5SrKFmqYA$4ZB0yfuW^VW@yyXjlg$|P;3-wp2E0L3*NNcTdY4g8`>^y zpr-;qkrML@Ag#qW+}1M|AgRx9BZOfQ(#p`KVVdOKllQ;(98Nq_irZ&H&HY!l_H1>C zyYONt6R@A&#Nx>J@8|PNZvM!6)(6teip6L){s~w2@H)CC_)FrNh&`P*M(3d1LBd2^ zjNpR6G`-0=)mUdT0a{N#7u{>nUrxpL_|J$Nz)1K{Y{1@KGqDRYl4~!!(mls)lM|Tb zm|ftc+J92HzF@j5(K8e=Cyrj`6JTK7XeecY&t`?*LUw-K~+cA^tBJjEaK9pE0 zTcc~f_PKJ*xNYjqCHeW&D3a*Z^tT?7Hy$J(1$;yz`mAaTC+B^<-{*ZO`&MQFzP;ny z+JL>hYlmw`8V}@OV-0%8bmDGR&_6<;R`ZRIu#|q0Rw-C!tN?`hY*ZSmWF8TJk_)E# z3duh_pe|cNvpS_T8m+HxB}~vIV}v@7Y9j)GpF)87=pJyDy{gyw#}(CW2Mrr+{RJ7{ ztcAbin>VU0J7C#8+^JvE^&ZmqjehzgeZF!HI z^G*#Xbxid}BqNcM%J)yprUAiT`23;?Cjv9yFCKhpyH?N56#box#2G>ex>8g{a{ooM za|&8<`>l>m7N0h&E1PpwNVH&v%E8e#*nw!P52BA%=Yv+Wo|$utjwAhdSxACd_lN~< ze$@1@+3cLbxuhZTB{#@g0F9bevtWVo+tr&z%q>W7NErOUf8j7PHs}&w<{lsll!}6| z+mf^lr2>yDr2?j7@qBRe>*(s%PCkj&3om<7d0CDeL%g|sRv?U!HWd|wkv-*bU?J3(|P2&sB{d-AOdRH3ODPDQ-0%>h6KP z{Fe8y|NYg}Y+l4cvOf_X0ZKLMbq*Em1Dz2qd7^j%XHJC@hJw>zripf{N!-}vDn*m&+(^v}LUi*Tm*`^*@n3x8>znwKx!Gye)~;4P|lcz0k$1kzD*?yka@ zVg7A@p**@khXcdq-cm&^R_boMU)1nUD_wMM$t7hUe3`4yvhg{u<0-USrd<6N5)epr z(=yS7uP37PV0z{W$&Wd@0arb!mDYntnC;is1CVSpY!Gk z8GE~=W_+$oXOey1DtUv+U0;3vLFjsa>X9jp(CEL>@J{M*%g*D3T%~vTyMa^l<#m*- zW&!V8wn7^?l=}K#bx$}h@6RlU^4l5>aL(*~q}_rV>5g_}x7Pc7;zerT+;0UlW&e%v zUi|s^0+F zwn3ho;6(6t->d>?{pMibwY33L<;ytm0E?@m`Y7gb{Sm}5cTy;65s zu{^JglRwJkXqu;I`|CkRcU}I)x4XN4*jvS~1Op>WSaHw1*p?rK}R${pr~W~>`oI8De=<>k^6FO`OLTA z{V0TT`J--!RrHrNeWloc(@IfGw}?#dGXbJ#sn1Ot&!VckAqJ@C$(DItK$tG$7&tpn z!`^u2hh%hs8i(o7{xRUe=Stg&L8^4zPq-u{mvYaP@86XWBe!so*s9dMeiosoj?oNN zicUI%DWP?O-w~-ixlm-ZpwHTKpwXPy}mbXly}=dqNg@4pu3Rarv0=(^>!(ULark) zYFbY;3n5TKL|pnJy7{9e6*u*36!av;b1QVT0ikJma(%g^Apt&Q1AuQiT*!^G0-@m9 z=kYg$w|mOknjU5>&&7)4xpp$u5FT!|Scr4LYjuYEbT?1V;)dq#5j__$F|qvFLx7T| zW#W)&*^CZAZXxEfW$(y?8ip|xV^-am$d4@fma%k?drNE%SzbGz#>$dBN!${6D868x z>6KMxHiO2KeNZ$yNmHzuPFrm)R@ph!6E>+yz<-EUL;4ztaoeeGS)X~#k6)TSwvz7K z`TPp`>_X{T?h5qJ#LvDK<_Y1-BpgM;8}Y|EQ^eKMNVB9+t)tcjjO`FJHRfxTU3+PV zhC3fu7~VP;r6p#UOBp^uh0Jk!iJ5&Bj!mcgC@gf)hPqF7v zYf$+VQ>v6WH@|0^Tx#nztLX{gA2&{Hl2{mtIu-2CNDEsJqA8TxT3(Pe%$7?O;iQP|kn6X7saDv4< zWQ1%AVUw3~tp_d~zm&yC_K|>FCy*r#dPM8LhP(-ko|u12=;S};8vHGZY+XTo)0dvJ zsI>ff*G5=OW6Ko#iueoc*gm{O|aEWyP?j#h{Z^x)P+DIHe^NZIu9h7Hg^7h@5$JSCah^r!)oTkJ&$AxhF z{$S)qy-j9&el{;Yd(_d~F@RV}-!Dq*f9g3@TlHEmS$g)S%zrx_8m_&X@uOKEuNw|j z6N`V%&&^8KJi<3k;uNP|i;bWrZ>k)Y|y+EZwC2K$)-8jcO~r%tYNYh@>>f- z)$}bs7!*S0abNOWAHj;ALh4Bl{lh?`;JHmS>mwa;65h65vtQu6TX{DohkRu+T2-}f zm7NZg`n$NH;j4LFGNKcXGMGIuf|lvyz8XWvTvZC!m!IDY(Em(Y`qN-~nJd(CL0Ise zh*z3WmxTaD-9A(V6%jz^gBHMT-b(c%6;jw9xnaag_2DsLsPVgR5;w> z+xK6lP$*AL(ksLy%oicP&xMb3Yi;qzF0iktm#~9z?&X<@c#U6JwUpGgMD+YRS}m}{ zb>VV_w&lFkfMoj@+8tHiC&(f3YBkk6FAvYUj}cDpChX%C zaYXVN14v(203UBMH7KX;uX;OX%1p$`r{E3~v5?A1(r1Pk*Ie6!Q2q1uP9nBD zCQ%0=u_2VKC7>|TghD^i(6#0=PpHxIPq`*_48Zx|E|3r*qFe)P?>;8_v^@Pxl$H1p zC%24e{?zz%&_YWL5pb*?tacSJfL-NEjX@ZXIu;0~w4;y%6ob4-ErUv|>gOT4%9fkZ zcX?^W!_Z17?%MF#Urh?gRSwvz7AcsV{HFU03WkWeG5vSVDelq@r!AWxwwkw(;LG{) zMkOy+cE9lT&s(Bvnl>#guV1^mfqf{2!Pki61+=qFMG7UFiNRxavk|XE^V&1bt_X(saLbw`5uU`(&^v zHWXzO%D^C`Lf7}L9j2_%fM~yUumU$kT~S0J>Y!YGM#~;UjLX@*O`-aXQ7ilXr&**e z{lGB9ZZUlHr-*`m|3z`tr#Xl9t4*2ZtQk2J!>q&&oy(8{^&L@oPDgoXHf_st{aiW(29;-x8pG@)_ z&ytYGWo^1ohpjR2uelbGh}KMm!GO;!x@VUPjjHer@^E^1ZA(-q5-56vkCCR!^7?(m zih7-%`_#=q+Fc$PhFy|~cCBp_`BMiPw~jB3cSMqq^30vGDz1Q(bJyG*a9bl1AHk6~ zNgLTHN=#|sghQ^VXgtk)dvu)!jDw$y7Hu>Jn`}cv96wQ}lakO99x_AE<5;Ieb?Q3E zLFml~Xw@f&S3w$>vT_p*&5gWE1%Z)ToyRHs3{I*-Ba)Q7&%)8&EsEK;{$j~#nXFnS z^x*3$2*I% zAzc{POblh9+ZDh}%KhO;0V-m?@OWo`0&)k9;(N!m3c$pbRE;jDA)+Hm8EG0;P=GnC z)4UnW0Y2yN!iDIhB4$ZF8D#gsXP8QT6OI9Mlp?4%7jU#03-llzx`lL(o>Ev12ixG3 zi*;`fzVP8NhBIN>f$*4}x9y*fC(BsKmuN)t4cfcD-Keq)Lh>BwFr5w)obZI$+-t+muGSK{rcXHU>NOf}SHyijW zJKp-%Ihx(qw5qsr^CdLY=Wq?#Bt`?0>dOOqoY^^6s0O2 zOYafLECYUQ5*2cXEB9C@z09w74JVgRGJ|&WS23?P<`etER9d824}zq1Dv3X=XtaZn z54MN3FB{N?UL^OPTRZS^J3@m)swwT{7WK+i!1&bX6I2sZS$Db)g=Kl1UW3mm?y3Fp(yYkybN$;p$JCm{N<}>-1ncc-bobBRwWgrw+PnSj7FR%coBA>dmSC?k2!tR5A3m4Jq|jV7#H#1V(m!G*g_ah)&tCs7ENZ`-Ec#y2 zUhD`u!n>s<=R<+8yx!-;rpYqHO0`ZS4^{KbGHg9b=(bBLP~b9m|E>^We)fHcg0Z_` z?zV22k)N^#!C()uhX)!n^?_NysZS*JVUS+{oS?9Au%>2!=cD<=C~<+fig z^ygqTT_Mx|n0>-{6YKHShsVKl)g$J-e}DU(*_R>&Agc(z!S5|U_}}up+#c!H#?ad7 zg|2Im8UVgL?y?>4^9zc!zIJ|&v}8l786Hz9r*lE+B_pIH`8*DG=Y@2e|CTAoXsI``bdtgHP~EQi?ay;rsNFS_ zR@cmeb_?>51MZvrq5Pxw!*TKd0YN~%zd(Oa%(Z-93hDtPE%Y|g%pbol!NK zO{YrOOKpcejxAk{E#1}VWcL1z>9az~{RlgxuZX8%(-Sm^>_zvCza`An#mKDb27O=d zk^ONNRPu|JZWtEl`SM*gVa;v5wAB~O!-UJ2&inp;@>Jbq0SNt2^st~c5$tk>4nb&EI(O6ZjsE>a%j#csAs-n@o1wQuHE|U4+ktfsY2@i| z86Eu$MyD2-$s&{=)~hdwR$F*K>1g`U9&t8x#t{*~nfM#a^Nfsn(WtT!2QV)|qP7lh z)obye)a#Yiv)3)|9S56ScO4CeNL-JGPc*p@Qa@$?#XUCK?YCxJlAe$yqCQz>cl=(S z1?*72EOMm;>xcR)EOaTILI&i>Pen6532ZgyWfUt8_7}f%k;Z1ahP0TU=|)P7DQkIQ zeYl%}G&@F;-QkdI*W_8XGgZVs^hdal z;U}Nqg!Z2FH4le(1R_=UwNuot82D>N9MNF_Bl03v+0=KyY=-~ny2ss1b{&Y3opG}14H$gV#3H^ zzM)vL+l}U$j2btXWDjTaDhl@>`;G(@MG{VRpt(WT>fd#9BNdhd;ATq|3j$p@n0a8I zJG<#p%P-ESBg2(vHlD<6XQ~g?epoDh-@73S;k$jc{|@r8o3we>7jFcf^J6d5ymOg# zgk9z!XH6#+N9mrLj_1eXKxJzyB5f3lUj3xHg_GH3vsHLs3?sD7BG2X>gfGfJzNSiY zE;phAXC79%U%JOtzLv$~H?!&sO@WiA42buj%WpRH;C8uhbEJ>=>#jIw30wYp@-1!9 z+mn8H54|xZNCX2t%6=ye(k;Vz;}XJry53=3_HBaE*Az@-3ifeU;PUXrFpg6NPci zP|ht-(glRnNe(SRd$Hxg>#oKQ+S-d~9GyLL*C~UYnQ+F14HcB+ej68q{&$jEPp9*8 z#MT!zgP6p!JtYYDf60*%k<94xE1R#Jr3ivl4b4~RvmWGH~)Khb`||HdWK=idjw$xFxM*%nDyolO4yRsES!%bv;CCx{#&t|Z$CW3W&*PKXSLq$Kj~vw z^*rKrx=X{zY|v26ahXAX|Cl^{U4>XKfw~O;|4WnJh*PxRdQbYiNc|psH4a?S5x|8d!u5GfN zyT9&bNu`OlFnlq>(PP(=WVCAe`$phv{NdCYdm&Eovr$nuwENr)kI;!jk5XWlHxdD? zR|U}5(oD&4S?6sA;gv0qtz_eL&Ilds^>pR2Z_ia9nAnjLDuLiKFmNfH2P*z*s}^@% zLzYURHF<1k?Sw6VwJ*{|nNivCo&g}N_4{7`V9(V4DTPZlBsYI;;f~*0T%AQy?(<@vrw{$}l=X-MW_{4UJxKm5JL_!Zm@)>|7u zcJ&gbu~jRxoFp*hZIjsmc% zA3y-HJ&a+p0YCcI2~L?}y2wi5^64v!YIQA{S8Av&p^;gT!mA&B($)aG5b}Xf9M0_*tLG*&L})g>;ohj@_h;=oM{@blAz}3 zC}`=f&I27-u064|)#TQ!80%drMU*nXXfcoq?7x79Q`;dNmHk7 zE8ut>WI3!?&E)+3J<I1ZAh(JIUiU0;mZ0kK~w0%)U(}}NsrfQ&pgY53o?| z2UWVrJ0%%N^51vUF)+2uqsKR{k|6u36qniA_y}=+TDAGF!QL0E&q)3gZ zG!YS%E<~C%0g)CZBuWcKKtMr2K$?IE5duVN=t!5|OF~haB$V(7A(?#dy!X!B`Q3Nc z%v$ruyldS*_CL?c^JMRRcKPgc_SvGn!0@nimZcO!k6`!x>jNV{2IShxAYPDoVYkkH zGqUY*egK$(g9q+NOs%AW*tIBwxpB(8&kSFAK>>Tt(BUq2aUKoin=>teN45@%!X=1S5maXT-~4JOXh3trqQ1fISXME{!?`hnt-M_Kmx0*F z{p06p-|msk=Wx|iNZ7LVrKY*T>0Xzb#NgwRwMku7ipN{{0^{a`jior>wbP|nD31ZU z5XGW{zz3>MS)zMqarZ<*4 zY^Ac|=ks|71~J{@AwTk`YlAS?mQ|l0JLOOg6Bm@IMr+odIlE+N0P-)-`gdJ9xD9eY zhh=Z{5Z1|02bO#a1Wpb6@Do6i9Gj&Dbu!Y@ZXQ%Yi{p2i)S!dWoHg(wBM z{h}GStykSd!dEAZN3~H^ma4bp_qu9F@mJ$SQ|-+{>&qynPrV%f9GARD%ujbUb4+>R z&Dx=nFHxxKIF9ISO=4#f+kX40KjR0t$D~31>=O>Q(v}9@=k`<;t02E-kvqOrqrw|r zR0jwpjc!9a>q;V&o4$>U3ZjrdPv}n`imB88@U*s&Hk$Pre|a= zy48bYX`q_IiD+FpuR4XC*VHp!cxS*j*M3qH7H(Z3C}Go-l*1*}+XNAX01cGx`3{#w1uut;;i4%vGKYg_JxDartaC7Rs62x|D8{7N@I3#$=L~y;F9Z4B z6=e5xCdJv+NAjBAyZ3Lq*Sk6-NXH-z#HBp9{&H*9GRBQmf7ixG(S@svtwBAAbgQrL z`k4y}x@LkWaG!;#zL3Rbh1Y0>vZcy;6uXen zh--DrSr+MK#`#A1at{lSeM@28y5nM>CM6pHLdGMf5d?-K-GwzF_55y57$ofweox=7Dc^ zSDtoJ>Lt#nE|+7ZJN@>WVkxGbw`meDKuN&GagCxOploFyA08#jXQ()`WEd zvzf|y%|^Rs5}nwoW75(~DpZ;HNs%dpxfy(mGICgdkxt0Ua0}hO8ZOx`8-F>s0(1VN zmO(YT1;_L|w#c#;H&M>({Pco?Lf4l?RFD`xMK=taV7dGkeNeXFRJXD0tVxQiI832| zP7MHcD@_XSFP$*T$X2D&{4oC-soHOkk=x($N$43*3OyW$dm&D*Ve5S3bS2m7cn=NU z7uljCs%i_qXXw4$B+WUz6-}_XZF}+YWxGD1zeeb>jK7-%V}eWCjd!)lj&$tu;qpJ* zrk_5V>k08Pkbbof05V}@cw8CV?G;JiDm|fhPll(> zFgLIAUh`PiXg5uKM1pQ%KEX`dpq$mlRiQ!dy61q;ZLMj&!fkcygw08&WceS=skmt_ zpIM70!)9%_-0I^bs)#M+;;1&KHn@O}k!%$2lcxhc3hItb8d5NQ%RK`Fn=`$Cn8H|^ zJJq8hj|U@lFOkk2*5u+}DEj(L511rRSN~4k&aPezHpOb)(1r@T@RuLNZee{un^hcTWP&=tL%|4(6-0v zh|9ASmtnY@&S>uy;=!9hB!_|iE6kK=VRwv`SU}Sg5DjGWZegPL?t4S4W0WrcMz&Th zNvbRI?Rr|qSKH-Qog07TtVYF?Bu#J_$vh4S-1E+Bbv1Uv&2t9`2Ea8Ju2eJT_%mQ{ zWNEzGB+GN((h#Y;v(lGxJD4YIz___t^i|nK^Y$+d`>ugA)RSo&>(5qe6AZN*9f`cI z!f9sdg)0FI+L=@9?;hY<RbQZwwj= zWaDX9ySi2vS$b7`cBWs%P~N5FEThEbALri?_2C=z91Q(uNALGL4=8Y@i3VEQKlmuy zUWxos%)pHOH|+-{KNt04}=n@=Z8I+VV(!cFYC8?2fJ|5V4}6svWEw};&SYv+>gDHFxw5aObjZBR(Lj=&X`npwLgZrS z5e<|$F=811{rQz;YaOlU53sB7`bC7a|1a295U#3(YPh>r28-Hl&lvktSp29vq}WrP z+kWoR?IXG)8Yuqh`ltJMU-kC_1I`;4yMQ?rjw}QiI}eK@_qOgXJJ{RJNGc}xaY|E+ z;=`*So^!rn@bb(t9WJ4isC~%2+bU>^-~y6#2*LN#Kp5~bcf1@uI;byD5cP7f#FTMV zW$BIkiEe_`2O8%Dk!LX(d^*+VZaFKiKQOc3H?RF$cEm*;LDnd3&5)A8XJ8Kq*l2|< zg&MQ38&{`nbw0;DH5PLwa5WjUu@IQ9e*32(4Uq!q_O^hDcc7>yLBMqp%xY57IQlcR z{6%>xYur)h>q}ko!%v-6`&OqPM}OgExxq${++_4CFb4V>>5688pmf22ml?4$QL1gO z`((|k$Ldo?$%K`x8HR`a&XE@8uRy|JPAVJBpHPrG?3EGnsMq7%w=Q}0tG2x>x9eS^ z8}5D``rho~WbsXzU2f4oL88ss@7%lJUjhWCVvW1YK9+e+|LHk|j?*#l@*|Dt=AXaX zEd#x1AeGGI*r2-jZI{jRtrvC-7yh)6bhf^!_zdsQ#n86ys9md|89r z=0Wbe{SssY-~s;FLg}ln5L~CSDIQzafkVkJy|){^{D#x(XEW#-sDt<6gZ#VM?+9sm z6+^LIPJRm7`o^YZwVB8dR{daZO6b=$2+<-Zk_t|=8{MiBwQH{H+w}+|jSuV)G!|tq zptQvF?I)k|GiooX?lnGxh(cVq8K}d4^tUo#FBhyc_0r2#W(u>tO!{>uL924n_EOiI z6&JrUdOr$(9nbDEI0%_uAVAuE1u3>bCLYO7F(9R(T*h?OVa~0#_G3|4{}Ud5bM7Ok zD4m28hQD}|mL8pQWs0921y`GGbuZzjSr@n4%IsRHQY3+h&%_{9ftT1dYIj2jf2MWg z7-6_GOZ}ZiSiar*eZlUQ6Uv5nLXYt1$rL;^oC41Kt?3)CQty4Wjd~%jBh^UQGAYn~ zw~}mZ)0fw-0h*s?!bS#I7Ond`3WR7bHB{AMkX~`H_=jjeD{GIW6 zBNM}zy33^I<>4pL(~QoHlz8KxEqGi_m4H7XVk3Q2%IxfG#&tpPOA~PYC9S}Q59Or< zR!6lguai5ajIuTg1r0k37uue4@EuWQHJX`BF0OqvYO5`#o}&(AvjBz!DBp&zFmXP;z%yH;LH+Q!k1Ol&Ye#|ij>|{N z$n9sBuS)oJ7d=sQp;vM&znfG^zL5_nyu&6;Cd~iz;rnAcS|27?o7^Z?-SYtNfPE zo^I7*Hy$w7-nD2Fq_!`dMzDDtuArlu!~nZH;qBv{y_V)K7^M5mTfL|U(gf1myZ0zX z!*M|;RY!qe1cUS?WOz;`a|e`XW|9(0>|e=wT`tzvJ}(Ir@z*mAtJJKx#EN)zTgp!9 zxn^7&y@UeAFP_^*9i~O^Cr-!V)x*83Ii{KM{b})gp%$u`r5qu%5RT|YHNno*UVs0U zxz0b*R#uTq7Hr{ftM>;{ki|?KBm9DEnVm-t+a9ZkFXvk2@547&UX+UV7bKobJZ%r0 zvAsAbc$C-3(+*{9kRiP})ON-k(*-G+aqKAml zxvQs+IftmsfMFXA#IKqtY6An z#No;$jxdTIe$KE(OmtKQ!so>ULs?>Kt8DTcN1vSU4w|XFRm8X|c>e5J^T(@(-8ige zBmpv&W(SxqaxlSC2!C=v!|#(Mhcx%QQAZTj1;G3jB7AuE_Unin1Nh+v(hXp!_L@Ii0uE|5~i_b2Xm_wZ>iN(>!vB zW;tQgW^Hp;t$uI~;tb$#TN}Hx(+abNEoV!~oy!m5PWaNtD9dz8_jBFg>jjMOYZ~ZD zqd2v#d0w=VxRPCTt+p<9>SIj78Qv?iU0I*lWecRoz6Squ1MEMrTL#1%&D=#|B)HH=FIG}aYu{g$ zN-?UJycpthkAYlBLbe?XbamaKPK|i0Ds9>U)h1va_0ZIH`M>^3`Q=OD+YZ&|`bQoT z(C(jevSyGaE0(<$hWGDIq?o?2(MP=bdjJL8h%@9e;F$1xYng<6MU{dnx?mbd1N!v> zHZ~?>8F_#6eKh8}{z~g&Xgx#ov|K0RGF*=&oqHq;hY=lW3Fb>7N(`RUs^wW|We&C9 zCc!+~+{(mlE{n6q3bmP%@!yYl2-wXwA{}c+6`kCUrO4!OsE@C$82YQ&xt;Ewbh$5B z+})b;I%VCn9g4xe{scJ7ge?)vV+10fxF(w_C|D@01iC)kWS;l_QRMgQl15qa>ciab z{$Mvz(Hw;gpTW?lV^y{vEPFi%v*hGTJki_sD&;l9YYUcJt1!bY{iE~NfE+o1)Ks3W z4U`o(<>Wt_Wu-$E-a$Vv4eRb1c{kL}IWu#I-6I`jcM}Xu?bzTrmQJXH@B&aX5*DQt z5N|uocJt0?u2)E@M_Pb?XWQAYT49&$Mf9tQ2Qh`|I|+_$jcO6Ix6IwU|R3A;3js998(Y zX8UwP{Sx>r(7Dity{8Pl>Om$4Th)bh#rLZqpL~CFDa?N9-lso&M}Q3@nv$Y0uOGGKG*x^_Io?4<#Ik&x9gYVESqg#fA%o;*bJao3rwEJ@2QvJ z<~f}RNq~*G@Q@@mySlo*w)alI;oZlolv^JXES-C=mh#JdoT#MeA7{Z&lYAGy{<9Zp zh*w~=B=YrtRl5&E*r^Enh4CB2USMIc;L3mVED+zNys2Qk#+>MR#JZ%udA#_~hNtU7n6^JYRHVa! ztBLdP;oU+X%#87hW;fTRko>%FI(p`hl(x9&QZEBMM|QBz-gXF26E7gw^>Q`qafW?0 zwYo@Zu3fEo$Ebq&X;$t^QpNga$j~!g!{d@B1t6GAqHDPq(dWPfKuc|4-zX;=#wdPE zb6$p7ir(59ys0^^Rh7vBQra6am1XR~5e(6teyddGiTu z1~GP3RPnKWx%;ja4fQp*OxE&nYCju$PrZ+zfv)ng2=r3LDWGGz9Xvq;QcAA^W)i1p zpf*c^9L(nmflkJyQ$P&ge5rr2?VxThQiUu&b|=dHk77QoVfBJF+wfBmwRxV}mcy*n z#JZNlE`m=Bb0VHf4B;MTfedc$z96bV-ovQzA zSYrE?&`M>Sx9GDuNNuRI05pU%LTXS%b#g94I?5v{zxL9Mxfl*2e zl1G~j7Qg|9DX*bsv=zQ|y(J}4f_A)>&bG;k2WTaYg?d6>XLF#I0&=*m+A{6~WN%)W z-~JHj$jhS@sckEy`PadB5PLK`7OGATBC5radd-1!SG>1yZ`bs|$BetVJ(mQG7H_ec}>XPqj0veS>41htu&A? zky?B9hVh<`o<-Ol0SWk1p=6^S_0CO33Gcvzj7#}40)4NjcWEFG8t4^Lhz4@R#XSH7 z2!-Xjh4#1l$#NKf$-^Kti^Kuh|FL|Pw>B!&l@FxINWHk;7(x z-W^8o=+Qv0`O)jxC2;e?DeBL8<{bL66Pv;bTPIe+8>7(9qO&5+=Z*MUrZ-YhkCcC% zj|GAWP>P7a(Ph}Kbx4`wOxHYX{D5gq9Dzp?bi~^J-EohJVbZAy#hP=Qt7@oUTR8-b z%9aGGy^G%rs&KzL@v28eEPQRR>-Ihpkil-Ukp!q`EJ&K7S}iZ(bpm0Ve{OhXD`!j| zqweS(4D&R9uf6oFLU!r7z(t%YqLso=1BLrQTyr993xcs!Arf<9x#Q!ZL|!lDN7q>- zw)H?!LJVDU;+M}Sy|J2g;3gtc7Qt*b?sfcWMecRFnVez6ovl*}Wo6Ey+}D1d)E9fj zU?3MQb8$KY`vH%7b2o$>0aBO3eJdURjVLwM=6{vEby6GMwn<}h$0UElLo>H5puv#GmG%fg~r^ z6?h+U^rC?P$kqf6WXv%EAx5BRpk#L%2z8S>hunL6>`w!+7$N^k z2X|sMpf+-V8#ig7Zq>s$eF4Uujeq40@-G6QM{O^D2d6>* zudEII7yKjghUnp{?q7LJ{1*Yd_W5HKnO7$Mg*TOd6#!aXW&Z5HmHXey{cq*|w{rhm zx&N))|Fx8hqMoL6wM4!Df6{^~?;~~|vNIh;q9bq^x?J=sA1P=;V(h3>%n~gxC1`l- zmu~Qs2j6u%8OF1gVn6rK^yB{-iC!FV2jw;NE^%z-6H(;QRBN~|Nvqj`zb?{5#NNcd z23zOr8ky7Qy!pix{455l24)*y^KGfV7GxhyYB7kJHV>)8FYrdFzxy4 z0YCeP->hR}_ZFvj?xbBSn<7W@@x9;FeE(6Mf2T{QvGufgsv3K;tkBtlXL{$tG)Jp@ z?)_JHSO1NmO!UH6AGcUvr@m>wdi7a7b_k_kL>~zmnrmL8qS?o+cPF_8} z@PQSrXf)fN)HLSTkbA9+1_GqhDEtmHttiw*-rF|p+s?D!i|LHP_#bpebE0gq3VB7!}gtHG=j$q0TJV^1agUg zwmTHmr#j;~V&s=c&!%?{o;Pxt%bxLfi1}zS@D5M<+<5(BUhMw|*m6xD#QTu(VU4%x z*U0u$BqyFKvB$f&T;8)=l@IF)t-bYpDbJw)1TgD-2}ula9Su;hGaauw2#)djs+hdW zAK+A;`}2LzxASj^dZ(&NszxxNyf*|4Tw+O7qKhhq9orMNG9BN`Y@FBMitKqb(_bB{ zHpTh=sdD81>yr5C?3q)Ah(1Jqk%Y@1b|2i*pDRF zE5Hp9bLl)qlwEUZA(RO91t&&At2j3O2%j zXdLmecYA#OBL7t3^c3?Cg~SwzT{*ks+`SxTSPuSFDJi%^3=FJ<;AtT6Bd^~9Sq~Sa zlkknxFJk#v?%fnIW*TlQgrq8r3Aw~F=(ZgQNvWRGmJ$3scj#5W;VU(|S|SycuGG9R zmD85PQ}tq>g8@(?KoYAqpxP#Z_(W#=N6lh<@hjK=RFouHx+kWd_Fq+G=zl4VSHrSImn!)^VIXv4-*w*5hqKchRvaDpp-K0TYE3{5k;^|#}jeJAbWm&W&AWMq7 zg9VUBYSSLU8OTTld5F767UGwFxK;A4VF@FO#yNreD#I$TK?1K`-_byW&)69mAaU9z zUSFyGNNjw2Mts@WIEHk!?Jz=FBr*s$fGNZDp&$)Rn#sM{g69@v_dl;|c<$9XAO)0) z(lg%OuY-=2BX8m=w9+BYkcg*U^7E`iF*H!Kpw~!gAJQqn9Y=rc+0)az*eJ+pzyfhZ zg*#+HGp(rdjW&}tbla^I{8z8eu>D05m>?L^yS-Pq3PW zwjh2r#D&JHYE5!QxrxG`d|p}c4sy7&v)osF@ZaYp%uH4T&`NMIX3jz-n!Rtde(_wt(7i@@CSkDbF*E@SsAWu`lfG{$;2@=-2R^|h@;L0}fhUjyb z%1Nqo>jk)4Xcg|{#%Z}cLkyznhU5c|aBhPL2js-2A()`Cx{OUfyCM+cFzAu2>WhMr z{Ca^J;dlIZ%E+HFwYzbxUxs;Wm4q?ve2wy7?pa5y;LM;(TF|tkabbue;ojpo12e=AXC}t#DmQ#5{&_E!B@h9R&Ym8gpVxXiW2^yn7MzeViY*uFPoE0WzAKoQaH2i!X2`QG_ZLs*hsRoWQ`-^$r3ljUx; zRd=aZ+%v)8*HlHg_7DQHaX1(s2#(WbBhC%B(?G(XGfQD!*GchjhJQD4V)=VLo=)pm zsHa&aMH8&coTE3@&fIaFJA+N@_L0P`LrE7Q9INrs) z+y2qgnMgfDBKQi>Gxo1=xGeFYIhb|vW~r%SE*eHPRTMRt@7&#-$=%soYcr8y=X?wL zG4GeMk8by!s>d&MisVA#8WrRM%1vL<>m{OTXlDO-mSXj zp;}~8ji7<}s8)PK%TPAtVr7#&khaJM>AVM5`loecl_Y~|Pz~gzLf(1#^?oT&y;WgD z13lSHy@snAk?f0XNM}E3O)}h~fk@EB;EwHSx%+8tbsPyzq7(?JGbXo#yuc-T=}14} zaPYR7^gPR^lmP3m`E-+B&C9dv*DMD8ODH_R%_Aj>A#pqmcR~fqISD}Zh7sKacZvji zVX0k}B6-74btt<2FPClW!1|pp!?*lUOg`(7a}63_-LvIVcgb*)WX)mf*RArlK>UWK zx5JW118B|J$tm#^_)YDw{iPG{1YZ<5XztrM0eN=QW%{@%_7Ht+*e z3+L1rk!NsbEKtX@f)ycZ|oCAO`Ml z-0voEY#!gxpvXG=^EIvH{zKFgL zNG&Cz7T9tt$E$EtuK;G-kutIM^$lZUWEG>?+o|^50^hSYf+YKRPFx-~+&w9CC61~} zItXtPfw|lK&cWvDzob8nFu;hhkV!n_ZuNi`$>qldx(xKFPlUGVm^8oqoJKMv1b6COZJieVgYxqW^(t9AaqzGv*(Cot zzn(VfIJ1ZAOTitm;;-eca>!y0P7LRfIJJt5TR2m-C13!!7JJzSCGt!I&PO5bWI69o zNcW92wP}}wapbftA7yA7`*zbQYGCzVa-hZYT8>Fgxg8X}4hrjoTM^y5vLv8ms>m~* z&{NgW(>9)B!i__40hPMoMD#MTWn8k_YjBIXc1Y=S)+4*AxtS|R*Je8=Pa#+r4=DTs zc&(a^f8114$5P?a zz<_Mv#ix|6j>(!`2f<(?Z4#I*x#)M!S?XNV1%TB#AI3~JZy=sSo@fv~y4p>uRpsDW z+g*P-pRYXUDW`H@+lmW4{VV%g-|BUE?a3dVgj^HUg~Px4h?^TYqMcH_a93D^W`L*} zJ~S0m1~bEp?strl(-k^W-xtF^8(SV1-KsU<690Q&-gWFfd$4FrDL)dB!)_@ML^ifT zYg9GBFdvrE^0KQ#RKSwtN&`i%g!pnQMdXc?f68Vxhm}6vl^U(+VePBerx_Y zj_sDDt4Su*GbSWdS8$z6w&a*L7eQmIN{8Pl+jUIUwSn3{B(GilH}>>9drc+lEycSU zs++EYEKZklC`Bo_aZC~FVm*A zz-HZ?k$}dBD0q_KhPjhihn&2a*55iZ! zSB~ystph{3k38qso?q_y1A6;=b}LZoF3VyV^V0rAo39W>=eR)Cmk)**>C9M2$gLe6 z2Ma=heB;r8!5C~!QqRHkgSDUNjPB>(j5%K`%496SPgy$)?tH^7CQ()B`H{*B#fJ*C zU>uOGr%7tvGiI@tlHCP!(;^%CY2$WJpclGVTw@*A<%T<4zX#vA%fD)pZcD~K9PwS= z^R+8M zuBcBW=0t5P(h2g69Z7#S(bbhNCl<{+)8Q*3pN6$lX0jNAd=&O;0> zFzM=2`^B_K;Ftg%;a)uU75wHGkBm)(>~NWBvi;<&^58X;vP9JT54l|*Hff+>|Hp^c zvLVTL*>7(wZ%I~dls48)&)pi71YR!<(xJy$oR^%zkQC9a9UX_`gfsX#;zKfZE-l^p zDIPWWz{B->eMd)I7n5u-r#I$_$6538)}ypF95XyLhk)Dc$fMjMx}nP9`hEnqOEV8J zL;9O)Sdl^&7wikE3lgc~_V#vyu=Kkee5<;=$G8SLk0TkFGa)FEm_sPTMpTDvgo@~m z$iuIk9(Acoi$+US#X31vTwpkR#QyUukFx|gZ_l2)t1aXC)EYUchCd0T+~UjKA)M;e zccU1@-JY^;th4bbVA`DgZgZsiXeQ9Lx@yR~yzaM>#I73|GE}9+3_pMTQ9Ce%c+{G~ z7S$MnS7M7du(v$DmEVXRuGaD|Zm-GJ?MJGtPWRl@PFAUZ{CdeU#xx|cnFEkDz#Qk6 z+rpiQE7D#rujifVwEB@@UQj|z_(KW)EtE3|yKc2D2y2YvB#S;1;cSp~^n*(9Yc zA!1txuIeNzB5<37b%EPM9pe$Cei)U`G-PYy#}%s|Yw7e`+F&Pv*O#OEI~~My8Z@q3 z7Hr8)&CN-LqSw(QKQ>xiCqG RmJ+0W$tff=@-r}J$A9Nm`$sB?8;+bvKIiXC1g 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

S&K3^`oeCreRwXKdxB)SWBnhmko9k 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⩔X!5_)B0U zaZtXc&2m-&2ZwB7YQGhaUrSFNre8n{Sls-MW?zFLxKQO5Ok}cK?4GAzwq_fHm#fU~ z5LgKR=Gbap*c4a7ntuQv_%)hE9l6Bwb~4NRo$(gKO_v!W$?4vL@$$^1vMv&tjiYxj%_g&8frrw|PI{Va{hF?>TqQ|f z!P*Dp(jl}=kq*Xe=3$(YG7*sz$cn}kYscze{mEg%)$S`}GAH7!82r@;_ z{!!8}i|)b7j%$S7hT+UpZZ*;G#8ojGsV*btx4(YQMA6L1eI0bxmwUYf%6rYcmV~_# z%yH|4y^-z4UKLV4>T5DftYzbmh(Y%y;~XkqA>PGE>cZjBUPuLOI~%j)c7?VUPuk-l z;_SJU`*Q6`xbatlRx7M<;-qf!9EFG=oG);noFtiprLP7y8MInHtUZB)<2HoDj&Ovu zf&^qP=T9z`UFP(@9MPC(JuX0gBBAvJuwGu_Mwo))gK+yLTb^c88g`e!R0zkQQ+Jv= z340gAxD94+)Kd?#BXL?74I z{@i%i5L){Joak|VxF#XYZ;Z%m&6hhXp*zR(I4hCTTJ3(P(FgGMCdF)ZH^Y&Vkmsl# zl~dPk&%(N0Hs`R9gHeBQ#7W0Mt_QkQFS7T4{1lM|uKXCM1g2~ZTezOcU& zg48D8VoLObHI3T)7K_C62ucSY{f>}4Pl?S-Enl@tLeZdDCGM31A+kgyV8YO5;n_({ zUCET9L9LOr2JKms>_xMN(;xG?>$5Ji{Tu;zB|xhxhCZuNo;anP_2}p<$lkPlA?)%( z`!p_n5=iPsTAM@)6~VekN8od!l1%vczbx$ zV2Di?cN^id9W&+Hd3!MD!fV$D|1axS>u->yX3RJf!`V^>Fy0opZ0A7!m@I4?fcHzvZVQyf z5)-?2UrM8l6xY_g;zKcf8cfKSGMq&8>qdYIH0_DH1J`xkB6MDDU>Z^(EBP{K^eg#J zD_TEQjl)xSDtrDu=DX}ve4)EiBPA1yFlgcED5XnpH zB?B*}G?((i4=>F-ZRCP~Nq~Z0Y0Vt-?$m6#Z}1oAM=&@_n?+ShwSdHfAhyPjSsE(d zf%G#(4J<_HDH*USmeCkOUY2P#_RF*>Ti|64zA&9t^1pv?nX1q?BpPR5uqv#C(}Q;y}Q}hLcm?rk1Iq zWY|=oU9XzmJ02Bd1|L%`%3F?)npV-bjE$66kWmBJ;QVP}vxv}Sp5of=<=N_l#N6<` z!LG}JktIntaZEkE9UL&%kWR@(dyM8{=##xcb4@-HEPLos;uHU1FD1;djO{MEZKuj>0)P zObo98+N`yy>5^3S#srKBL|#r@pCk(|FHZFBBcToR??|CiRdqKWxC}PdM%xUR=sVb- z5>#Q|AWmYm8Xgx4Yp3)G*3y7Zy?WCcQx9 z%>xr7F;kk}5P6TUyi}QwB>y;G?;*~&mnl1CY9!84*FlM+V5KiJc~?uMs7Xt1S9}Q8 zmh556e_V&B&6vpqElEt&Y_VuC9*Dv=Pi`+MM-*Paa z(U6{gy3`e!tLsf{TLJ*c@caAuk}I+xROa) zuffwT=Y16-r?9JUStfkt2Y|CwaqzHgW&~31>I(E;MBcDiVil0y4yD2^(75R>KgP-e zN?}Hs!Zv51>r)G|HHEFdeh1@t`7LI?O-k>s<-%CSBcb7oD93fm5Hoy(Pi#_Y@%ndudfxC@eX+3F5s0HfBH zUftD^x4HLx@oAlNXS2>4rMa^P9AvmagqsETu2O+Y5A zsqw5^-Sp_Z<2?J@KT*yhX}@ULws^^ZVs3BNKPSNQKTGUzvCZlUu)H#i3+4stVk5vw z19TT8RiaRR^S+1sC$_@%uBE|31;|bZZ$^+}H_dPv^Dx?0upx;2>S;_E8Y#$Kv=f&_ z431PCoQOSKe}&`hYCqpydBvx(+>(F_@RdUSNK)RiT%cueXbw;s-;L8%-h>UlJTO-@_yv& zlzq!CD~iJTah3MdrJII%aSrw;b$E0&r&~}~TocQ8(kk2z8B=;#(qj|8PUz z^4yk^;@z&=3P>Hr|LtC}EIr;_ih!hehaUTb<|F)Crr^kKzidL&q~$c4L+f@)IkdOE zO@4sIko2u29iA|WlTg@Nd~%2*q6wo+nff9RT*^f#Pd2W*GexTw2Dde^6YUGa*7N;@ zu??WxKV!<(w#MR^bDG>jVr#ZYkV3H9Q%% zGLil+6G*qODwXOtmSwJy*oM~D+4Mbx`!e5pr2j7#&XFrTW`yqO+loHLb}%oaX!);c zTJf>ZBvvTUPoYAu8Pp#Jp;fQ1s!xCr;G7ZTRhkS4fHIJmux}GU@Df4YJ{)}+Zn_S_ ztp(g)Wt$F3raX%n!34-f+2JYp7y2E$VE!*!;d~G2m%StS&s=Bl&)1QwwN}9m&mnL28KWn9S~$uRSh(d#Q+^e3Vj$s zzb;BKK*q%;htRc;s~Z6laKz90_w={qSKe12J{(v8fr11G;d>1X1sxd~5ts|$FCZc^ zB1%_e*FIvaj{(x~fS)nqFH+Y=$jHy=(9d9Su#fCJ?+Y0z3E=}6IW7J(Nc|liPLUDO zuz;UI5pjW^fpMWPW@8E%#wEmE$Nh+CI{!Cb-xcs;=m5R;Z>*&J;1mEn@^{Si`~vj# z{?k@ak&#kR5P-WYGL~xp4?sa09O4GsFSI2O03fd!;J-UC2nqnie;d|&lkdMimjAnG z{yQ--Ff!6Iu+cKH>5JJr+Pc^n5-@V;tD8DIn;BX-I_ons=!?2LI~vlt+uHPG>B=8T zpoQMOsV6rsLKF)e+INM`2eJ?fTL>^pSBcZcL>4<(9j+(b2+V!&{=)i@8&;6dHEP@g*xRs@8bVm zSxg?rZTg?mGpL$|VK zeXzuW=O|*-uG)(bA!-VjN9Rv|Hywj*h$NxcqZ!9 zYM@V&r#tCQKTn%Z!}m1&CVflm_`0EaT=(fW)}KxXopSiO*X9Zu+FR2Ld!IHQ(3yTK z^Yi1q_}k{>>oiszZ102YJ}O#@Cli?tjgoX3=Zf}7^dn$g+qSIN+-b6y=j6{qT0yu& zm|wZFIDWUlXec`(cAHqUegJ&z>vV2CPh@=J6?;V)V|bgGIV*4@czU%p8R7eO2g>g19AOL<^5lF$(umJg5 zF`&ma`V&V6k12R2MeDhij>@ByUJiR75`@I!{b8z+=QJleT+(n>Z`*+JUP~ zg633C<4GTzX!BSktz9?C0IqUSfKCa`Ppngiq=FSJAud0rlTx_Rd_-kWK!%oW3Qi$p zb%>8*QqhtwZ-&ZH$`W+J8x`X3IzIF|Hf178{eJcQBvNryvkNZ#6xy*ssD}~VS|`uj z?m`xc1d>Sb6F{wL3Kg4A5X|_G2SKz323^w>1A{ZHm4VViO4*r=GGa%;kKCzO-yapi zmpzlpA{ANgbhX=YLvn6YINp)TLl2^M`(}^+igPpQ?)qxmyOsFgjaouTO#NSSW9dr>f_$L$HF2Or*b z(w1EC7RESHC!I&3$!GcgA%98$$BFtg2m=RCpzDj`>j{H#4UP#Ar%No*kdUzf%?pB= z_ELp(656Ngwp!` zifn5+WU@UT2+&Q#lRMKb zlkRJqeQuHOh02T=RY?%AnB)uNgEce!_qN~^?VwF%R^CF6rBua6?IL78tCKTA4KG-- zX`}26+VxC6A{GI#*bS`-8Hnge=S0WGYyzW?08Eah3kGA#2s!E9ydTS-G9lYvK-Gbt zkYpTf8{+#@mMk?6*{QjwOgL>PDlLqv#DrOm{OZpQ9(nh3!;QRC3QF#hHm(l}a%&K^ zMQGB^H$0Mg9@0*gel2{Gv;q=AzC@sGP$(HJQ}3LCG1DD#(Y7Jjyph2@H)ONFY?bjv zcWc#9nh1H$fC5s&#fbFHc-Fz1SYj~cW-kvuhP!F>bM1gNE2Tb^{jrOsy`)4bYlY}0 zkNaQcM=~)Tc4W^>rs3!=PV^?PSvXEDv{$H6c`ZjQA>icW&H|hBl1QL)&1c12(f)z< zL;i%(bren{hF#gl;-L;CRr4D~E3@Sp{K76h3Q}?u#}BT^HAcyMH9vk3gVZp+ZDN>z)w|XDrn}Fx|YC9kET8P?*&yvEX(&T3~gGDu(r13*^1#0{BJkf6vos9Xq zF-ExMGnoVJ4dii`J-R-Osab7!u;3MEn9<+Ixb zqN#(q-dbhJd1^aq#VwDtnR<>nN)$ayc`XcJP`-kIi9_#jSTWaGQ6$ei-L^mXMxQK*RlsDYi@8ZRUh( zwl9b1@aF0;hog1UsV|(W6oi1OD~2VSjk|i9>J0lpxR0w3{A2+rY5(a9iuU#F-G943 z@_I@*y*a6|kirluXd>x}&x=nc?rD}PRMiMzZjD`HHY(;-)$p(~tZjmJ`7yAm*?>c9 ztt(*Qwi~(zS4DQ|ee9KZ*8O3*e(V2_V=9}|x?G0<08nQ8e>*0)|BquL|KE;DkU-eR z(8-BF*wFcZS*HInOQs2e_Ja&CA$Liy_=S39Y>>DRs)P^?H-rDOIMf0%*|akAM@x|V zd^Bmq;k>YmWcAqmppu9bbBzKF$n18Yndy< zf@(p35(;rw^KB4dURzVKVZpc>UB1A^OZxKL0>)wd-4$fRCUaGdN#J?^tQg&^;pCwN zwO0l$vK>Wz%jnzG>yK%m{qxyXIDmiLz&}9$M`q>IR%|3d0Dz(Y>i;pO|9@q6FfqIC zbkX>a@xg|*y%W`izGgJCqbp6=-c=^>kGff4VIRefLT?)igMh3r4&-J}cr)`W4-&F+o_#^@<%1jdTa&kup` z`istuZh-%rzSF)1biv@~_Wb$)q}62vcAR>e?okJo)Vt}vAAIYVEBbg<4zx-`B`^B_*FG;bfxm zg4D5O>tH_QSvrTt>O`@66f<3?r<_fxWja1A0G?@j$n@8zZ13 z1XV>zchq4%kv(}0^kHQK~ld*fy`7+5OmCuUq7kDCw8yW;9X+T9!K zNk)@KDU$hRMqf`pln!?h`WG3yOmCWm&!;JSd5ov~DGZ0?H&?f75_DFD;E_)EGw5>n z+t{)=IURmg`%o3=+Z28Qau*-Iq`gwsN9<+jYO2MPhrv^eE$3PqL;UcqiYt^n-?%hX zbwO!8%8XuA=Sz9dGn;VMn-?i=sJI6fleEGxIr;+pWzeN2eboBGN>1LEi(-Q-3Tdae z$P8wpyeY+@kh<$|&r!?GnU<%E656_az_fOa$(*eHb~KhR!THaPuFRAC2#vT2{@AIJ zu8UyveIyX8XieG4-EhY|m;-n(On5K3BG0>swmhLe4ov16ctKLt@-{CwT|%o%j=*p| zUsLmV6Vu)82L{HqBuW$x+OdzEe5Da_+UEvs^*1kaX)rILkhY7sA?T8ID%-^5S~yh3 za5PlLCa8@)WJEwCeI$#Ct$7PhI738miWLpeNzk4Zy0?Uv=3@Xt(z?*w#55OkBk-Iy znER4LtYV-&s9UqU-WQ37XJsH=4Sx8VbjB^P6#v2P>e(agL8;e=C!g!gF>i@UE3Avg zWp|b{(bwmWU2W>K1eUCKl>+nhMET`tO+Z2nrgGtT&czdf8n|loU_%SaiV!BQtLH#< z6p${PtQIedj-JiHo423XAlTg*XDRp?^EO72vSjn0mjlKrO+Z7OI|Ef}SJ`u9z3SFZw% zcO5M{pp&1>rVFB`%D1jIpfEW=VM5HF$T8OGMpW+^OSumo6;>6$<;- z6UmHH$IpY8pt&3`mk6sJR*|_^Ck&91!XHyERuUjYUFC5vzEy^6#1^(fU7N2wzA?(1 zH;{Q4@*vCjpS9wx__(0OE45qRD?T5Crm@&=wHZ;!msLR3OD$jFnTS`9t-$nrNP)a% zm5=Q|>kyFl+R&LrarfgNjS0B=2p$*@_ouw1eDd(b^>xOwrpEsi)jf8UEZ@KAChogF zMEsckYqMQWQD+*_%!B>hSl+S5J@pTQVv=_TiFSarMmZ0{VMPiUBI6p?<1;_TLH2!K zR-+`^za7}Vg+owlsrVM9CLmw#fZ zz$tzqJa{@iSn;s86d|~ON?^F`U)yhQf`uov!y#6UfSsvpSX33Kkq+JSeHWg^5HIDo zqjcAe*1PL6Bl@RFqPUc5Zr7#6@wn^s52!blXZrTR(Co;jJDwaeRE(mpf$XHPFId z1vMli@Qx)N^Iz&Ch&NdjKPE@G5MptNaY&l)X z-xP@P>u#HQWj_%yso?7?X=?C*#KJq|GGR`SzVx&sObMdN#n{+@7CbzYD0GyAZt?sEd&y-)FNH5sWH913)Y8mOT*96B z#y_45SWPHgEH)&+&-2!0N$iN5PMxi|W^CpTv`-q3YwP(@u^ZjJLBPR)=4G(9yw%k> zy@}Pz9YA`VzWTA690u;xU1gHrq>Yez=n!agQoSbV-C%N6Mm0pkczgo(3KWMH8AcdN zmIK`xd-peXg)i)L$UorcU$M|pE&3dPHokNo&t7_;-@(Y*)mH%-JXz~CetPfpKcQeC zBkw|>bRMzT)_ZhCJv|vb)BK{IAb4DUdVaFF>Y}(dwt4BKQ1cH zKmO>!*U13@x%^=j{DTGH1xN%0hy?s$fh-P`3JJa;{ip#11Vn_y1Vx3%`iBGAEe67@ zql1IPqk{tjVbswGQS{&i$OH(B&%9!#ij8AN_a&$CbG5=}DYoXt3%P*}k=!p(0|F$a z#N-}=GeS~ga)cEmG(=Qnbma5|6(u!ARps~k=f~HFmq*bo%)2ivL;mC?FAxM&ss%BN>~1O3sFhFjiBtDf>@3u(^Ak>>vb}G^o~tJ(^`h7gg;Um3idaR;Oao-jnn^ zZN;HY@-@4XXTD1!Oo@2C&O(M(be|SC}d>n^e)USH2X-9tgf2WwolHz_C zSsrg~ST%^qHFT|e+Kj%i)dkZJ`X?5J8aOVE1L)j`C696>HE?Xi8k*KwF=s>cs_zzY zw|KJ~2Y4{_KW=ODi{mByB(18!N+K>rGef34))|>$^8E}2*}u~PJNdvTu%_7a#VlaD zax1B{yJMn6R)v2I0vyDxLUA=j93|-ZNTC+u53b^H@2EqSPVF_NRljvP#;N2*RhJyi zh*XrrNle4OAwjq#Wq>OuRj`{IU{bB6y7d6Ady=TVM%LcncI$2;ixTKJ?k*B3Y|06p zsJTb*Tj?m_H#KPg1vL^j!qbj8m&Vn=w45|G3rmB|<_sf*WduPh?U{k>vVF2@QO>jU zOBKmdZd_x2wcfurzBYOvOi`}HOZ_gsu5eCJ&6;DDu!L?%-;C6rj7}xVMAd{Mu!a_z z3kR!ygZ>~g?IH3hs>?kdZSo)~*pvyT#WBGm17$3#^u84YJvL%_?%*{zR`h^tza zA-vhn^*ZR;0yIa&8>agDHdu>_zU*DqBiNKL>1i`= zX<$0Njw}nr4$Ga6J=o3KA<>(a7^rK|QQ68m(sPI7DGK5os=KD2VH4wPPtDAM^5?xR zL;0@00xjzp(OqhZz8|JcMxu-DQM9Xsk5wYv+5!&PH`E0y@O9;GMU&EM%|Z0=7Apwe_L2rLFO2dYibscQhy^q zh5yHm1M_Oy!c<4Qm}PNb2W0=H4C z9(GV{rTTe+xaWk(f3n#t`>+}Y*cwlm4?be$bHzIr+@)&_v-0VjrPpkRWk8%JW>r>`@p2p^=*_zW-U;#CTQ#ZM*W;6n za_$7Fg(1*N0|pkp4ldYK^0!37BpiRhGrlliW9#aCsWyY$;*Sq_%$p%!PM*jc4W$?z z3?)B@ahgb2dm=IPdtx-BKRT&IxN(;&vM zoLvh2Mfa{xL-3Se@_HSkfBntu-pGg=B}6g6+6wVcHGqC;qLi(0&T4missX3134w8)B5TJNPC#Ht0J7G_|Cc3$hjVZr5`iyL&GV# zSNfcv$6*M;Wcal)E+T=L&zBV5z&@32Ny*8e#4c3=wDlD*wA@(tZAbk%M}A>P>iJq{ju z;Su6HWYI_i{61(mEPX{~=5RLax*xG}zOjJQL@z-D1c&>J=+5mi|7bYV~@)YuCr8z!g$C z*v8OxAte{-#Bcd@zql?!RRUJK=FAJi;L0SmKFTN#(~>nVO~mga!DH(CPgZIXQMAYK zp+%?byq1kD3l5gVOjC<>Q$rXO(6t<{l~o^BJjan{K&!pVekQ(k&07OIA#r>~p$t8< z&6pYQz!eBF7sJn-Zs?!dvfTMH%jfmxy=d0Ht2Mh_ZBwI8A4*G@)chUJ%{SpKh$sN} z!ywPBtmrMg_PaWw%i(m2Qlt;xPWc*pl$ju>VG(YcQg=&gs)=dV6xT~$rIk}Z_l+qD zfpg@yUO~#8tJ+W}()`H94*!kJokpF>gMljlKoYAv;V@t5=z;r@YYX!BMd6I&+=R1) z!24M5>~ETxQ)w@6&9r3vDPfuwz-Rc02u#&&Qx+68R1zRm@%G7KTvjIWnPl4%8J3Rn zpuIiUuALD~ME0)%V8qMaA4mnPN1hh61$V=Dvj=yB=L#t622j*Qg)K&w(amq`imHn% z>e{l03Hig8{u>?m^Zd07i57Iph#`&P`)Y$SGl4kq`Eb%)Q934(^dV_fW9K!T%`>48< z$ED_LsB8&q!JfyKc*6$=GywVqwfh^7a+ZA!Q=6yM?ppuouK>%zn?Gxt-t}|fj?2OA z?t$hJ{qef&lY(k${G&YhOUfKv@=JmEk^FCR#qpfXe4qK^Tchh!YY=m)AA1sbcFK1f zpyl5iz~9~4PXhsf^bXg38v)-cUtdfdME|>TZ1|6QM`Bu6-57oqcrXt+Iv~twfy!kOi+1Br_^Cw(y zE&Wb4uI_$h@2@t~`z)ZsK+`4wz!JH82eAJ){MvWe%OGdvqdgcDH|RcJSd%M3|Le+K zuLIEsmVZoaY-~U*Y*`YBM!E(FiTnDxJIS$#2#JWuG03{#;9lGxAHlwX;lcjl{?Xwf z@_&W&C+86HcPVt=$K04uEBYAo$sLuSn9)^>=6s@z;Um3-lv= zc@GFN4&hK386FrK85QrJKvpJhbVTbu8~v#bz=BrrtJ#h)V$uo)Hpth1<0taYpXUFvC-NQ# z@<7$cBNMNDI}Z{ov@9ljfmhPd89##X<@tGwi=1OM?LnvPcER zK7Mu%rJXf7fB~NMUggJgT4mqS>hXK#x#}G9@(oRX6A=gw4gI|Ft1?&|eCs5AQVs(g z_!6HQDaBaL00(W5sso0MK0GdhPpTgDtV(5`B`6&UrM>9Fvv2z~+>jyiiwrbuSemk! zl!a4yTU8qM78uD;ejK(aw%~&6yw1?XrcG<1Ss5f8l z^^{o8+offa2gecYtY-S-;8$nYe*}D^v~s&}$-ad-_ys zHBV#lWp@n)`D8=-M+u?>f;Wqg+1;HR2ahSUJy9Lbhw}KY1(AiQzfJ7()!1(v!N7*5 z+LLKPfu&o^lT-|RMHEiOWY`VY687cVz^uaORy>2`qY27M++sX+#sAcE2a$Gr~ z!E8O=yF*FYUa7whjc}|m**mV;EpUDNXK?nO$Yt+L)fvhp9d$_rQjEJ0Q)>G1_C{r7 zPTZ^}i$NC1DR|9o+PFO(&3I+y@aX!~RiouG|7-)kwPJr6UVW|(_VnVexmq8vNL)v5 z?IUQf#r@eZKG%BktS8Y~3Nu0ar3(#s`9ZQKsZ;nQWhRu?ZL)W=^hr0BOQ9}t}t_22=rzqdwI9-|Sfg8A2!?*%U&5nHNaTx%$_@ZBLY0(t&s$CX81;bquJ2t*YG#c!RGKh=o_}elH)v_St|WGQ zv8R$Un#*nRB<)OKJWYk=!zp})mjC!D`X`1!FK;*~q_c5%^|1DFeCg=o=o3ii=w|2s z`&>5o%j*FEc!1{sTe$Om33s}50BwK+JnsXK-hXnx9U0O8(1H#i40sB6*8gBYRBTmk z1tmHiU+dpf{+4T|L;qiSv;UQk8%Lu1cRud_zis{h@NMhE zeNj9oFD6^jD@-<_yt05^mBq6s>l6BOwWs)mGta%!#KY&`UKm(6 z92|sv#y4vj$54?({q}?PK<0^{wit<=(Ya#Q)=!1rc^4Pc=kLgfN)%!~d{cBld?5Z> zYO-UbXrzRY{_Z=kB)Sl4MYXAeUr*@CLU-=7h+l6<8)~&&(og^i zM_!Kke9#8STz}9zB|OJ!X#V)HkJJHI<-kQ{A~UN)RrrCA5gDZJCKc*`K0gKnpev<> zknQj=`>Q;})T}x^L#w#3sOM}hWothE0v}!ZAEBDM%(jC;XaQkAbUFyT3^!kje&XS5 zLXkIrBO-ub%!HkTD83aWfCrSEvJ@Kg*I_IlMYPc)Ij}~s~H*7^i8^}XYK?v=qyXE z$fb=Q;R}y>1&*La458oR#z8y?qn&lF-gF&W4{b=A?WD>~Q~Y*%toE!^fKWvUwA~R} z-X~z%V8yA^-ctXbCWZJXpB%#@+p+W$#2h93~FE zzGDcGGlkg2?9_-`Go3j)OM(3_s_t81fkrW5F&@_8>yyUccpGaHldyx(Ih*o#ZnRINdt<%uxc9OJK$JWEPv&F2!?1RWbHh> z=N25xD@&1^cRMb4lbe}1wwLmWLYZb9h3^-bHN+UgIs^kiSzXs2dLz4nw-P?M2@YpW z?VTiNm6@1p(6u&c$S&?V>Is-PdyaUzv;25h!muJ_!#@3xCcOy`<9}$CAP)&WC)-{u z^aT0)N;X5rTzIZ?C~QLbRrWefOzorZxD4mGti#nRQs1SN^|0Ub%!Ua)E`)ZTMp%Zd|1(T^ZIX^i%SsIrZ{gV^V}gOKADoiD7`v+*^qrRA|aMt&Cb{ z&Jn$1;h~hvWJdO$GxywQ=;jzB33KN$v9VGfH1iST{G9eiFWQPIMDRSnu#P#FaN5<` zmRqRY;CsD1sL_gTIBeqkCo|-j)QEl9*8VE2e!*ye6m~41hvA2dXb}Rs-RyRGDnZlQ-69pe)$B z(Bz!%`Q1x3M|vMQu@!~?>-eDYyt7gJ9yZ!bLIne$MPA$8SC`cdV7XejKYbZNo;Wwv z$Cxbi?SgNg7+2+nN55Z#MlVEPQ z>y@M81#nD2`qr8z`;^D|5B-DLvTr2|CxH%Wb4K=^DohV}qbKfLFhIP7P}xJ9E+i$c z`AEX;PGK?C6WjQDeUywg$vbYFjag=5w=sV+g7XRn7_fp^(MFiww2`z7gLl?grj%A6 z3cXAFm^<*!NTLIoM`kc?>Y{r$KY*JzqNE+QR%}%uXDYKB%Jt#gM!NNLgCdrUote%O z$+BF@2<(Jt$Pu+lc<~R?Oxsj*L~*x0BB%$PB9ozl2d!}0c-@lH4=o<(ibM(z_*}=E z6lkIJHr@N#^~`amrI}CnG*3%*@P5}Qmz#Zx=mr(`5m-GuK04II)y`ozc8I}a^r$8C z5RakPN7@z~LGU=a(c~W4MT|(9M5L+EZTl?4tc}Gi6K$p}5d8|-=m*+8S@~uTlxU|n zCIn=UJ0bnVIOo}-HfZN&o+H|3jt5DxAjqsGaG5Mtu!(DO_Ylkx@~v^NSEzM%d`YEy z!)9R{jBNk*dxG#y*QI$EWVek+IC<*y=B*mgw>F2ClhJ(aNyk@5lF!XHcr(C=4V}m55bVu;UoCWgqr%p0Z@z-sPCez?mWjcg^1z1@-!m z^`@SH2GJ%MvBm4&S9;fGGFb>!HTqfJ_8f#P#(ZbJxl)1}T@~N?@toEjSXqGjoTOiZ za2}^^1~%|RNXl0CpBTmR=gY+nr<12-wfNxSgGjcuLb zermn(TLmt(INGeamV8n{$RS^2w2n|jfBJmaz+&k}Z4>Pn2G{~Gmv6Ozqb0a)xvNhe z1Al}F4c!mo%zfU(nfgle3P2)T8HN8iMcb4T)eB6C%8(+2nBu-^#-1X+e=YMC|N&J9>$dxY@C+*}i8 za5%4LUexWTWcqjI-;DB>i(W|#+;lxug*>~X3L)-2&y4Mwh>9Dk1zTgG zc+><`!hVg>>41C_-2c9PkcWgvTQ5+7A6+zVoE<)c~ ztzNbo;-v1!o!8yJAt$AWSDY3GM~ zLn!+;#^W@w#+(z5+-jo2V?OY=N+U3vE1YLD2TY;}LB5*>iI?jI_CshPE-Ponyd~eLu)-R9Ksy zFDt5QJT|hH1IOgP-9i`b-_-`xHPr8D-&h~kImhU|BhtLqcbQFU&56|DZd+0Vm*^W! zNJEUYR@PyF8@-1NW_LU%jk18wq0G2aM}LA7{uLI9iMV-QX+LH*N~op7WI!Tq^UoB} zi!&(maLf)K;nD3CtpW*3p8l4Vy0)R9k%ARu|ky_356rEG54?TeZ>oa&msicx_& zX@0K*OYZzE>$JLd#=68l3vjhYTPx~l5g2`)jqDX%F?x5$rexN0P~{4mQRTd}-{d(4 z-f2J1ZeaVs@hqs>KlYv>#K4uN+}Q>>ldwL*0FRPij*Cy;MA=^1WH{(&;=QN;x&2@(S#&7>r5@4KgQwV}H#f&LM&3_UvM8MsD?(mesz$r(diYk( zyklRU$ZBb+YxEcV3?;&m?ee-OwbmktPgkD1@kr8&>#<;E`ydE50~^g)WxxQ9O2;wh zphwK-kW=@#d`almPAHz{f;&r!TJzkGR9$PL_utcBst}TEE7ykW@cR)e@33#VCvA|x zaZM&|n@CI#C3JPf6gp+s}5N;SN*~~Xs75OzLjnkV!cd_Ac{SzmnI>{ zOm0-8F#ImNxi84mk7DQ75c!P0SDg_v6nZYUA!AHU5)Rd3{Sy)Bqu))|Xe*{Em}V24 z*32|F;?AZA%t1Ggv@r+siIs-0?I-KFY}hVaueyugx@!c{I_X%!-D4j$4B%u%28|p7 z6G-9RYb**$8V#@G_huYYv~ad|v^%6dclXA7KX__fst*(sBct*_3Ei^D@)IZT!0aNa zn>o$ipU&N$q8PLl%TsS7U}mKhV!P*0OnV2UWdU#aeqk$$Kb7);r-1({ZudG$%H1*E z_?%yFXf;B;buu4+wZM-#)#I8nGSc%=aq(!{*gBDiCU=FHB`8g7hi7A4O6}4viCD+{hm4K_G2lN(Ba%CX z$1gpE5AS*~17f!El3N0Nw6Fr~R!>CQG_gdu2pE&lc({_so-pj@t?45w*Dm&AfHuE_ zS2zb@fR>GuOE|&2F@fkO2nLZ1#pO@_z*him<0vDzG&WHeTDN2~)C}Vsx1%|wE<_I8 zIaT5*EPcVt0d1CmA(r4o={8WD5H;t(N?8qLU@Oore(CwF+h?+sMDwKEsCiq7#Lc`f ziv1|a?1br;W?KmkjE$i)N>sK~_m!v`KD4A^l!v{@JsbfkePImASnl`%Mh5LOE$BsA zc1cfNzdP(2_-=gyO2q$2nzvS2@04?4l|X$w4Gpb2ahQz~Wt%gU2|^p-N&eZ3=ew%b z`GL-p1=k{NB35TI*i``XQDg7I)GQ4${rc zxrQ0*NZ=u9NPJ%q&(0;V7r$$d5!c^^Zx{yP+ez^>+5VtcMPmx4FaP%V(I?Mv$zryq zuDaIs%%$$7$;m0*8x`X7dhFUnQ6OCe`evjd=hg<4!RSPTb{H?x-;ykFV5rP&plbh6 zQ{C@v6GqL*9q&|0Vm|4%5IH92DF?J#flRfy>=wxo4lNq+|7?K7$F&X25Vdo)O`LOx z>-9-yypNckZe#LVy^y^6uSNb^^fdNjt}@1pc61DCr6wI2+NYpCxIcDH!MQhp+7}0? z>C9W#pVK4|I%b?(s|^&9uFC6|eC}VMRh8FGwsJQjo*B*kjktM6f~?db z`yGdPpixD4k@dr_`kfxd=MapCLds!7BQQow9gTxVC~m!dPqy=rU6XSbp-Kw|kUVkZ z*{~bQ)GQ3(_K}Ih+*EL*iiT#6TTmMB>$2lvm5seS73p}nSL}jp0ounEl#s}B_(6gy zZ7+>;j}g-+P8K7Shj>BRI-iojVa63U7U3HL}|Hszj+dv=f{O28Z*prW|^e&f^^c1E)Pf$U?>6H}t$z&Dl zCw^VqHRfJ8CV6%fwf32`O>ui_YV9pk4tp(A)WT1<%M9wiuGj8g>XvEyZmq(5?Wb|S z9*8G{tIPzsJ%0L$V0a@pD(`;didFX2T}ARo=lnq%-V2dQSw7nmi3m}$uRAb>0fz91 zpgof=z97u3e^jB|DXa-5OZt7Kbklt7UL(B?+U69?1lk$X;_m9~){ zyf3xl%g*a$bN4!4#pLKu%lO9XaY-~~!^4LVy!{_Bsn0{g#z3w4Q9Jt3r1FCmgD$~t*?~si7J=W7DI4qp_Oww^_@NEB=gS9 zH7%dguZ|oHqMCJi)(yWN8%YN-5}Y~@^#Wl4sK~~aQa{g=uh8CY%kFJZ@+0pYa*S5y z5I1p&Ux-q@q=BewhiNSmoo70{YJA47VTUXrUZRf+#?tRXe`Z`rC)&$Lx zgqH?yHS^jN_?L%#W7>38m@sfvn63-_rFNmqch3XNHt}K}SGTEE+3fSom%l0=x(lJ| zq%|lik0NFGaZ)*9jgH2DmN2@JniHZ;29dZ+u^q-n53f+T3NBd;v;Rn4E)AHl&U$GS zfJ89vqKl+BE@5-y4|kJjE6`^n3ER>MR#Z~-Ar^V$WU~y-t&sJoAftEAIc74Z_KFDU ziN(nN$nke~iZd?vVkKtAjyD;L!ooUSq&JJ_T-tq45;+*y5cJ`w`~`xHd6NRMHr?M> zsYv4>w+pmm$@6#lk)Kx9K@cm+kVzN-c@IAGXoxhl0x}^7DIW|Cn(liPndN3^Ogqzm z^W3^7(1}>H4UJ%g5rCycZ{A6r6QflMa&Jerss|63vm%6`)l%Jp277|;FQJm~U*rQ` z0=O|VvgK}r!pRaJ8d+lk12}A$elxB)dF`pL)`yV7H%3)Ok@(F01#Q5J2TtgeoDzFg zx+X=*Hy$0YF{ioRB{fOmp1hQ4XndK!nn<}3YecsGhJ@{L_THRXm0Ga#hWE)?3J9V> z8$sLRBH;A%k)o+-LC8ShY3J5KRQll1qr2$)OX6eiyxHQt9zG}@T*vq&DP&Ne<~?=U zp+6Xs8i1zSmNRrCUYGv8d2d#E@tLF1o2C(Op{iW!Mn!&Je}+&Bc&Bc-VQiq~H%RAb zu{^%uIJ|9Y0ppfC32~gH<~NRCCc2H+c>P@_qrM7P-d8Vkr?wr(mZ{7)@_$6G)&Fiw zMF7QD+A>j#<1=xtis*l7;l!U1?<(Y6o4FvgTYO*lp!3PDXM}IWngsJa?X60A@Us<7 zaTRGvqs>QF_{77H-|+63#vllJ zF&}gCZXVKoVF2pG z4z%PDtxdBv|Gvyi$Dh2;*>b9jB79;dgd*95)due(Y?y3q#7K^%o4_aZn>;HipNO2n zxYwPoAes8EQ1-p(MKhmxhg6DU3G&4Lh^cH184^f>%Rzu0UGf77OBo4Qt_Z?@MFpS z>)S{4nxe;17=Ti6n%XH$y!Sl1xS#~Q+iF7PJMz{vM(^kB!+V?@7yn^7^LsbX@G zCwqnXDhkW4JZd~+!^v^fJ$u zP)g)Iz3t)+=|=a*kMCnT=4;UrPFX!re^DaUV~>n^S!=PC*|qhtUWF<3=k;t362cE7;S)?GEel%L47hXfUSn*PX9`2PwI|Z z-V;|5y(SaP$wDW7nfVrop*j=!=@r9Z4lX=0g+3VylNAbn>8Z+ zi=VAvAL3Wahclwg76PMUS(xVlx7=bVfOYfaM?W{=E#(FYw0!(=N!iN(Mj;mXE)M;GYt=xO zCZyF*blmO!2nL8gf;QP#1Vrk#oiE&ERzN?<2qh_LwYJpv%uBq!*ycAMAXHVYV5IL8 z8ynl}ocCpSi;^%yFVh zkb3fiYOaf8Y^qY7&R*_TOS9Iid#(9^s;K(QsSoEM5~Fg}WI}@7M6-}Njj2;z9k)66 zGy;wB@te+sJMbeq9;D~2AKcg*8=~P$IhfD0RN~C9h}?QJQ%yPY&`O2{0|08<9fv!J}dU4mT-wW4Tnn`xLGu#Hss2yr_Bwt_i4D`m_O82KA9?(32JS3XB z#TA+=0fDYG%F#^PmHb{RJIrxRX(~)<&W5M6oOdQK@>{Z67bE2eG|uz&$12?FhdObqZ@~4re)*z!rxI?shy^Eq4N@J!ER}B;gk+`tI4#}aKY+Ka`a=i&iH5KV@-SQ- zM>4-1SZkL`oc4jn-cNsQYJrX@LQ$qpbwRMo!dtz)vAZqeV(Nk=B7imVHlP( zkSU-#S!#RIAj zhH_pmo5fdvcdF%46&#%R+Pm88WFJ~Z2l?o#4`p$;V68gn=TA_1bFkfLqXe~mvRa<* z12>UH>_N`LeGI<%1ShohrmeZzeZ&!{is4sh0w7pB? z<{Gqous5|%f3AmR*-hn!MHE-TVNhr&Sj7=G>D9TK%{?Li%`ivOS4snZ{0KjO-N1YK zkko92>h#F*#Rm@`sv7*UtYyA#yT$oEusvg2Z2OYjU8C`Y*}LW44+``90~i2>5*l9e zxCVmg(#C`lL48BfVz(R2G-%ZBP>Ez_bISAg+qK99E3C6?bD&qqfpE?#=#GhHalsGM0W9q-=Zg>XN--TMgs)I-=b>x(sd zpLMpIVb;0KILa(>khP}$219{fMceaJQJ|u=6`mG?MW0?$?ZWBovgzu5e+&(z)gtHR zM=*Dke|&YN=v;P0ImSG+WUpkGt!yom!*6EQ7m{*MoH8ifi!8la-;3Ghy3LX{F`%>J zn8|PXOMO3e$lH@@WEZ(1B}f1TISROw3ht3$y>kkoJ6~_NF5TZCx<{#W3M#2WDa~tb zcV!;>ob*XPQEGeS3-;p1@bvPJKIvxnXg#I#k!YVfLSxxIW!+P*?xxg;8D-w{1}eft z3@W4S0Hj9@UkK}#d(st{&_N0*L2I%3*}JZW_9r!0(HPphX3kUkJ2T-l3mZxZ$pbH) z^annQYMM{yWC^V=Y6Q^=z4sKs-TNg)gqN+@#Yb+cnQI}Wshy_rv2BuV%>B$nn(;db z$`U?uPpWql&YJRz90s`h5uyrxd*=>E>T15zanhJw%;fJ~$N z#4O^undZ=5Oy>JBuXrlz5m9=auso>q4GYwI^NbX_WHo!wO_I@ePRRK|=x+baEo>$r z^XaVShduRv>Q&DRKQH1$S98a(X>eotz}d2yeDB;n!d3zg?y6H-^^%bwW z(4!RS^_@rn<4qpqoj7gsy`pOs~ESV{w9O)B0b`(3T?(RrRKJG-)MQ*JPbhAQuo>& zvU5kioB~yq@GRRW+i-Y2mSb|iAz+8T0t2uOc&DfyCKGyjsGV@uy>-44D@}Nzf-x_gaYrV19}I8PUFfQdPE`lRW$G4=JZL>Ox5N60!Q_xG1j@DG?VCjq;z0YaH zexJrZjfqm!YT5AEp9EQs=vL7>9(TY^P&hMVmD>w>4uW!l;(Ip>d&s&Wy~8*>$`BY} zu=wR83*>$!w8?Zipy~OYd8?K$qF@^S&CfS#$i*H<6i68(W?R!xPUeyR92j8LY7k7E zqh*B@HfefNlaWf3=Va5>6>rA2tLA6tRVUa+I6_F9`rLO4Re5T-e9c>+`l*iGN94-4 zuSV*poxZzw8SIF{{rhXd<=*urSimZ{2BeM`yN& zY6Gf!X>1l?AvfS&;Uw*lte=ZWDu-;Wm-{qKXXM@xe#*~4_a+`OgwB6%Gf9!nbP?SB zAMCtmRMX$HJ{klCL3#%vN)>5}6s1K}nuv%>7a~oXfJloH5~YPAARr(hAOZp+L~5jl zj&$h|YC=((B$V(GLUQvx_nvd_xxe$jukM@wTE7?j&1bEw%*=jf=9#@`&kgF3$OnhB zB)6z-|KhdUNdg(CTz&m!exI8k(^t~vbK&2gTn{t+u8J`}rh)P$%zfQ_8}@aVus}FT zX4)8q?@IOGY`&lmDQj|`qdWqzr**Ab=hPi(Am^v(a$;nFjLk#j$nK zK*WdHkVV5*G(Y7kG3f2WX=ebXvmHZG_ABjESitRASDUQZ>wV+9tZ{BJ9~lzAWXndi z@1%hip_HUI#im>4XbLk8l%xg4%@BqFSE_>XGF$ie-@&WXta7X_Yh(hqlM!LiNmVs!TH5lOz2I@}$C!orAupLPv~< zj3tQ6uf92zUOeR=f1-hWb8(V*WZRG!T#{%NL1ni8Eue0K1~fM;8XE16<&u5k4GMpsJ>VAd`F9e9b*v`d3x5z% z6TP);dSj{6RysR=KA&%JsH#UIp=j z|E?`0^BW-F@$YC*1mvl#r6gwRY3z|H zoTZAm5TyvWUo_*f^{Sst`07;UQDan{t>!KDy}rg#;?)GvRC}|~`VxxiV;|=~*CnZl zd0cl3=d>5ztOFYP5{0UX+3dfigVbVY8{=<&be~G{r{taOjK&i3XZ=4yF#5X9@(xm=qhH6S()B zVQ=VVApg69oZhaaIJ<^OKJ$C`{^Rs|SBC`Y9HN1^Rp!=TZp~W8xRDy}+W08BaCfse zY6OvP_4i+AJ)fX!CUgS(S%m5fSzJa=kC;t|Q(3<*a4YTAG!hd#2Xw`p#D>qmMk|&r zRW_hFgoQ_4Yg*5+$SgC?Hz|~RSa|GPis;rK7yC3T+W-(U9*IK`7>;xo)@(79i^cmf z0V9(lxmj8s?1c)D=G`EnAIiHvm(!Mw41+%nEoIO^K8YvifE!D#?bOrV;8(p4QRyb) zT=tM7T|WtXg`)l=vza?u81@;&fw()meNEecQOx7cPl~GbTw|M5HFl@hN8c>HH|Cye zc(1`gm<^wV6nAKj$t0K$A^LUK7cg`_qhc^@fW1U}SE0krQ`v#}2I(nw zovo(iCsD-t$n0I)yba}*+Q6`!M7+QhxHd3gzQYW(CsVXQXO*f zm+~sA&Rx(ls6n@4nSRF>S=M1E%lVw2o>x@t{<4S)633_LhG7ycm;a&<%J!S zNpTg2DKyZjL7;x6S<(HaQJTXaNqUBUNEy_cJ$Ifu7m2^P0)FFd|v*Dw6n2tA(pcavaDa7n-Mt}fY; z&RyPL`sdj6;|Fs+VLk@ZuZ|%=ZVvkz`xFTnq&y(rr)dAIi8DLBG2{o2D`UUCBIR4H zC;aZo2+pkP<`urH9?RD{OcNiGpj%ZRVJ7WRt{UU&&>(l+v%u%}w)8%c_WE_g<`h%1 z!Vl&&ERNe})}q<4McXZ}<~WHeYD>8=rp=`dE}(NH8>RbXT%bom{gFvyN>%@I@8IC( zOy3`-FqW1sjcCZ@p-A0}q_c;$dH5GfzCO4?lVn`Y?}R^g`tjbYX_wV|p6KyCzP;{p z{+adiWLk-H>ehvZjY(7SIKxk)HT$~M&yH<1uBNvmjf$lOeJp?VUC?#gHcWfqFs$Q} z55tkQe-UV)t%EW>NgAk4c(KgMRMd=gj0*FGn-sG>C{pcy5H(2R;eLjJ$OYd@?~`BU zh-UK2!4fJ1CO^X%w#8`<3G(Q2+KsN6dCj0KD8d@Er zbOknYwCYIG-H~tC(=)%?F1P92_#~rakranSiap~UI=VQ*HL=RxwzhHbu~ZfrD| zXswJhAy}bSM)o;l>zir{+BpImv~*Pb_cC!pD^P$f_6IST!Y@gF1t9U>S8fd>E_m4n zrR3Wgy19Ds*JK!-kH7KhOq+2FW3sW1u~Z7Q3Q1g{fu<9wF$Sr0mlEBkLJTR_kYr~X z=#zONaT)8)BU@z_IrT=>y3?Fs5%vnECd+44vQl9w(c%F*xSuW zDJA!F$xw{q!)qR%bv|$KlJ%HQmr%;oe&pV5RWwCt0ZBT9;QMHxD)2E+ygWTRXe>|= z4f3$WlnGR2>5cn|ZbCH&*Ukzd&s1gd>(rdR<*c;+z|4N%yzXz=5jS-dS*yG?LrMm- z!X6MX(TZD&wPs&8u1wqNe2#f)EbdI;ZZ>FVAuwI}_D@3^A_dUxYXuYUKvB&?fa@Zd z&7`Dh>}P2Ci}EzKxTCDs7rPZko;s`bui_p@f8k@f!A_6dWb`X=74$XI70m=e>4E_- zGh$bwbo*S-$=X$q)u)V72`kw%3=ajIBQ4BdfkePuRCbs@p&)ILL#pU2s6-3l64 zZ2MMjH@HMM-u*iKy~V}J;+qPG{Gxw?WV^H9*>}Ic1PD&Y8uyfaDD%So={6uC1YlAW59@BCc7&o_{DfG>YI^)*wd{-aMR z#-%Fxat61}gWPuqB*_NA1N^at@>gA9xK3qrJf^G@i&9uhwHv$ihRf?`3+NfBlkee! z{JS~t2k&qp z7~COTTa-JG(h}FVpL#05sJ*1N*Ype`265eHppN*_f0YS)xnP~8mr<@dQ<&prGN3aB zT9uEsm%iSjwD^_L`%(Docn+7LAqZ}P0O{}*qSyjicq9kKfRv7M8Q0Z-Ik(x`k4Itr zPk8vvxsRfvbP`S&{^CnodUVQ_DSmbgTw}J?vxLR5EpE4$*|kxnNrDldi9x6WFY&9? zp2iS?EbFFm!bn%P#yg9!e7p7gLOrb~R1EKg9^uhbDR^i&1^nr^rf;}vgZGto>iM|N zG$Rqqq(JxGO0uy{e{%no_>n8mK-wS%$fhCj^O6xsKO82hFVL(u;Y>R9{Y!b#{pJMU zYcfgUr+WL+Sy}Fx`0bwUmRDUh?8FM`UWVTyT6J*Jxm;Cb;v2Xjb6jI6iSc$yYv$-W zZ%=69@668|SyhZ_yG-g{9)5zoE$FOB$v6HvLdP{!N%#{YCelZ>%+9`cLKg(TI0@HZ z(h6*RUtUUJb5zgvI=NHIC}*Qs(73a3zWq5T|Ka7Y)FJ8_5@%PaBtiNBRlSib>aOlv zw078@r=k89@?J#kS__lOg|!bx?RCY}v(&*H7Qm1I<=@a1AE0TUaMNgDm=#?DH?`AcUZ)Bt3k`DAP@VB(5)cv_<3XuB%NcRr@ zIBTZ%Cce?*t;1OZ7w-zgWuKVF%GTRFn%mP?t~VSP(TlNnNRB`>4{WG=$IH@Iaq!b& zc?KbCMs%ZxaCGbOqenL-dM*jAxHzeN%+U`qY{vq!+pX9LB=;8F4xb2euRqn~tXef= z=Hwct6`Uk|w%{W5epq=s!?P<)UM( zZ)p@Ha0mi18v~~qlXVRNf1)S>-H|vYxkv-Op>PtmW5s1AC=cn@?yBXX+-$089Df>d zKSQ#zF6Vyj8vKD=p6Omij2=#I<`GktPN53cphDV$B-_z8vPfqs4Bf3v znDO#f54|fY=d;yQmwENG!TbGtF!m2;zzr1hqw^GXQc>#w8=hQ(7gO49MTqPmt5nlC zzS+Joul8FybGl87!+6kGd)J~_h}yAm8o};yxPp#q76vHk-j(I7dNT7jfM74Is zC05j{$5L)u&o%Sv*hLg5e(~%!>M%WeKM@y)*9iBn;lwfH2h!vBLM_y)mU4y7LO7!r z)rGp!`uzP@=DPmKSXo6bS+Iw{t=S(!K^C*HjPUcWWp*C9?0amYzFcdSzYpJBeo-nm zP>^^w@w7d_YI|Ww=;%`uZwHjIQI;_0+x9XoKX2N80T8gv)yr=89huADdEce?Cs&U7 zTDvTxqU zeH!@C@FL@fvyC7GtQ|tYia5YHmb&K^eyVbcAV$Q`5u3;jz9sbzYq-!xE}hzRFD)ML zWGkr)i5{XxXRn+(<{G9l1BUH1kbqjEm<=rCb}cCZ>&2gz_f-mHKi4jFFR5xDcS4pC zot7~;-X)Gcl7Op_IKwD<_&LK?aj`K~2)`FE3}snWS8bEuH1_0NPtZ)|ts=%%p>t=> zm_J@M?7?CzBMFe{bUVOwk&_9QLim&S8GfH6HN3%#Z1cOaAqakgu?%Y)p;ANBazeCt zYld@sai?XO*OaF)tvF1Cw&2KMEKUD5A36csz5ugkgPK;>f$a|U0j|J7KP=juKW z>WsV3rF-NO&2qzVX6HH= zFIG}a>r$^srx-OzT?p~H$3QM5A={4yySwjDr$@cjlsD~w8WXUNMrhi)!e4*o{PLyn zZHJn(1EUWKX!p;#*)zzJ70W&g!~1t9Q%qmj=p)|zJ%9pk#2IoKa7_5UwM;_3qDsS* zT&kMJ0tWN~Ha4bW8To$me=z30{z~gYXahqFPQD9q39d(y$vcvR!-x)b1oNd3Wd={2 zT6s2Fg;V{vNieTAj|y>{+v1F|VqKP0{P!bX0%o(FNavbSMJKmoDYE$+8WU?PhW@H{ zZl`;uTchOAfnYZ=v0TMWpP|sFx~}(TmjY#zn(o+B(aaD;O z+Yw#!eM<)|b2mG5C5ieSsHZP0v;FVe%?bD?Wrh4^h>2Qh|LgX=_$jcO8(K^QwVFd5 zA;1M>9987EW(O{zVF`Q&=vrvU+*5&G@gS3ft?EO%;|ElcPrkpo7-qk8@8ci-qe7y| zVsHfH$##^cTNs5IKPTUY;2UmS__k*I^n|D#RNXDpH2SJ&VX~oaVb7NZHX6tcd4j@A zQjSy0WdY1?5a&ylnv6EY&)1D^2{2D6a|Ay!#ccmDxvcO)I_8>G=2G31AGQij;bX*e zZs{DUuVMKc)s}|NfSKp575C@HCyJQBQ#8=I7v~#hTlA!C&X1EY;_uafqoeztMdT=Y z4HSxOy$kUWmBW=DA%6DS(~0@Q@@uySlo*w)alI@!f~&lw0o;ES>wVlnTgxn5?AeA7{f) zlYAGy{&N;-h*xB^B=Qe@Rlg5I*r|&6g$WqMo@ZgO;Ld;ZqCGADW-u`OwA9xwiL;OV*$ zrtOap743B3Zsz)Xc(>4}YQ}g)vxoa)NdBj9I(p`hl()F)S}y~au8X2|d}UBly&WGQPn2 zx*;bK;y`Jq?To>}VR>Oex6b%`kGO&F@OtENhf@5|qJt!Qkhy=AiY39J6Isqa*31PyeBpGB~bDnS7q z({bVU4Tj zt=UJOf~YO?)b?Cvui zh?YZu>`>gEGe-&DR}7HtIxPE`!9TJ(vSCn_WHI^nd1BOqoW;o>Na8&jh;;)@yqj&( z3awn(w8B77H|mq(+8s23YsGvotZr9RCvKJiK{lL{o5{0MKLuuOMZ-jHv`A1p0a3C% zU``y_Zm|;Kd%Vk6izjTOq zT|%?|&XK1_z_L>fpAAcFzY^N0?DH1=Hb=?lf*4R&oiusr+w_eNxLj&Sed5*u4Ro@I z;7!7!CI)Qq;`m+rTuBudbZxAK{Gd5Hk6r14Ns$m<+V z)KWk$k5zl-eSqxE2lLw>1|4~Mv>~-^g*E>=_zq!?X2(M{$U#K)I8vWEkl~8=7U}E8 z4SvYHn^!(F6OC45dwB7_T(;k8B(5QNx%eIfh~ehrpa64yqyKu84b!0TIg?rFzRhPs z_8x;}9%Nq3mlf=PMZHS{ zdC)+wkis;OBR1{s%}lOn_2E1&=PlcCAColxDi;+2RLHYvTyKQlKNYj_;0pObk;_ z%_z3q+uYT|1KKJfU{sD2P~%G9k$@~_lbs|;Wwjt_ifOgJ zgx3p(ZT`98m7|h5b&R^BcQC@+^1bfjvkJMT=YkioYKS(901XuG198obuq_D2P=!g% ziRF%uhZFg{R32Stk=)h;MF}%>%S&83m-NPJ)`5qJNLd84+ql;Yq!+o@>t=CTN_SyKNl=J6lpykYC{ZDbP|I)v4ppNTlptbXdzo=YqX`mfbF!48X z22D){mm~3~IcXrN$#q4(N1T0VAONy8Ndp;kPC|$gC>ki)od!bPq|PDt-X8nYKrBYc zzcN^J_fLxmdt`ea4djD8G(yzTKoL?9N{S&x6HMNqfeKI?xxkH^G*FM)VVu4o$WlQ`Q1-$kJVwIRzCjUh?)qhn0T3l`Z z?BB-yw{ib%+Am+qyO`Wus+TM$`%;DM>eE8?2L!ZD+gCD~6KAfeAMfT0+tKeD^{B_k^ndYc+1) zIYuLRy$}#_zDgjE_-DIQQDeF*o-;;adF)I^*U&j5m${r7e}|Y47K88bq|Z&)FMNvq z|AAYs>4W$lGCr*JHvJmeaf;-`TP^;0_m)d4hgJEAp77dR&zA}e`cD9}u9uL+0N1eq zMLW}p>Vx1IpRY>Es{#Q|<#|6-d%vA~L)1G}T~a+-1^V=cPz9G<5|iwvietw2#H>sw z_OhDh^|vB>AI%KZ#Hvqor9M@u{2O^EJvZ zA;V}O&SpU%k^=T4$#=+1+Dw-19ffSn>2}IizwVcNmdFKJ%ZgLs(f-IFEQ1xIYQP_n z1QWyw3xw`1P6E5Di*&haADaJ>LrccuYVTYIZxLnJ99jq^LVdxBkT8hT zYu9%)(9kmuMg~Znwu#qQ>HrcG-;o(#Ha<~By3&3ap&}X?gdMCZtLjHV8ksbc`*MWN zF2?SEUcctKSMPunR4&TMe0RSdI$n;viLKDefH*@Uo^~tDvkk}4KrKREqow^wrvP^> z{j+CpZ{K2*5SIZ9#1R$lkPXeUqAE1mOx4n{TPgIfUY%+Ciy}BlFr>#nPflUDI&`Xg z$r7s^>0@iO@>ACC=zXio%eX>3+p=-DZIoE#D(wa1ZU_{#s>qTmze#e*=!C5r3uTU}x5 z0*+il5+#5mDHb1LwF~V*0_uqKP1QA;jw7gOOi-Tuy+CAxI4VCX2X9nLYu=xMjd{?TCBsR$}QK&(X zKA81Om-NZ7FKMn8C(4<}_RRJF`vg0F-!4IaG!R|~DeoxC_LmuH9}G#yAj;0Wh-h)6(gY&wDo8mr6L z{Ifd(ApwIP$*H|47|m}GtQC1DaHov?xvFkAuIru{SY4II@5Dc;;@N@`@aP=e$o#z4(-~W> z6VdGln+HEDzs-nmW0WBtrgn?Lo1sUyVE(P*SI76g8QYK?&H##t?l|DlnaKCfhZ@3? z?5fjQ9egWir%jf7)K}f5U-8TYgI`mX;M&6o$j0GNd>}YZmz_8_)IkG@e9kI`d0i*P zzZv=6%!Lu?^LUEWuh2-hN{S{}mpMmosv!$EL#0x2Os#j$Kt?o$6fb!#R#6`Uf(f*`vr-)F^;1WvB0F8<2f=Zm&`8--uea zGd%pE@~iGn&wJFiJk*LzY7jIKKh=tVcp1u$T&!$X0MZxPAzk<2%Kx-(tde9=jcS2> zRLDCozrHW!X}2nDXrL#XX;-n;qf-5mjTsy#tx1MkG!O~87~HvylfR$dUeB4(EJlHl zx?=J=$qU?K7mxH44u@`=$;`8CN(-|6n$Ixl)4Vjhe$`^gzl6dI+&ogI7!oJKuqRZZ zTvGs4Zv@dpaHmLe6qedmE0H(+)P|!Q{&L&44X)q$GIGlg#pJUNIoo*ct9y=o+AbMR zlBzvS`?^)$9*Ezt^mh0&P{wn*P_JQ&=L!>-mJeZ^#Z^?k=r|>Fuh>DkVKGb5$Nk$UEIYse*5u~KN*Kn-ci@#KFKoV`v7ktM= z*>*^@NasXc31aa6#{C`w=jQQ^YZN(WfBvSGgXwamawXxemdbCh-xQ>%zAZm)Fi+S? zV9a=q&raRmhER=yw5#x7ihvaX+J#OaFPy2yzB&}oT{0<=V)OnAj2xIoax0!3ezF_z zS|u6v%CU7ZJUp`qj|LP`9S~899FVodF1Z*S`FT{AbIt4vEY(N%d>`MJQnfvO?^mNj zCNz*Z&xeY{?F;Dpfb>!#YJokka-teL{R&{V9W4`IU*9k$MpiSLy`ApZE$}^aBS@;B z_r#?U!`+jzm*c2vq=WEgQJA~U@7${WrmoZ__KWh{!XCA{{Fr2|4UeUIiHQdy(QfYL zGL{)18r{=XF3mqm;z{7lO}px|;Bj!!JZXV>BL4z>9|pD2l_U;k7r$>zL3;6br#A$r zH!*q-p7Q(Pb^>i-&z`hrcSS6Jjr5+Ytn^E%9eY0a+k#^GQBYF%sWPkH-pQbIbjo-A z|9lZMfmK2-epw)znMHs_u#4pjl~q7iTZ*Ubl5Rf1L|ORc#6FwrMBZrQ)g7CBg$ExK zdtv#Homi~V{dThFMj9aI#s7G0AG!RvK$n3Y^@-4S9g~)qpVLW(gy1fnD{VNjKPW%H zP_L4;69*4#lTGrU3+QQ+jj*^w2h~@NYgM}P_;fd5xq=oosg>W8rov68&>|D{m5>5ZszjQ z)!ELeQwX-j1B!qkxsilw^*yuxG9i62Uj2v=ge6iJ+A{}h@a|hrH&HRN-=o|SJ>I2e zYMq%UBe(vzsPFuc{LU%#lu0Q(DYq)XYIpxA2!W%4s=GTmMJQ+MiCJs9lE4yi2ntLt zUaeslm@w7Uu~fV`I4Bo*;VGrNbE(D48_j0)MD6YW6R^BTXhE95`XV2xQ?fC1dFwn z3LpV_%$6cSbYmN|MpXw4^I<8iFS|R%1T9IfG*IM9h%c9N#HZ2nk2!4Su+pcy(qk39 zZ2c8qj216nzfjL%fatLrgkaJseCch_Z-25+#&>?5mm;O*Gt^ZLD}J`_y>(hVv;(Dk zNB{M`XM-K;9ifSs=HnRMtLu>JUz;ApEP?^r)vL&J9zqOCB52LnS-4^_nSXlamW{#% zd=*qtKC7}mD#qx}W4k4p8j=Z>)r5rV4z72}ks8uudMIgGD@;85okSvQ^%3? zlC`x&_W~>qFWauQz;4}=nSjQJD0-6MhIvyMh#Xmt`@Gd1-&L-B*~Rb6lY2 z%MU}0c4aOkr%N7A27bamy=jYad#boz=aq+{%q_{zRza#iTb z3!iE!BX`2LKOu$}m~?fi1L9gFa7=)XNFN^a3V!p8N9HC%ZlugK*?wwPW#}qOMKUV& zeO~wbO&TcJ|M8)%M1_AC15u@KT&QG z-B9IleLn*G#hC|H!}^=*7|}u&7t9Ok^O9*2_V#u{u#CH${HwZr$Jj=Bk0V)_Ga)FE zm`f?Tyj%|O$|#2-3!drKFb`Y%87uuqFNwk$ppgcQQ=YRr|q|Hg;wa%?(Kj5pg(>t zJ6L@wyCB&shornEOlsSj2v?RtGl_A{UUzzkc_xO`gxOZO!~ z>Rf%;b}N*VVuu&aW%LL({@NbGKN(%-(>%>z{hr-jjiu~Kqt1_w>eQShVyhA%(Xi*_$uG zobj_SLkDW+D?IOhNJ|?oOszIA#d8Qf1>L&NS`bjqvqWVTUHn~RGGkN?5t%nG8YGXZ z)n+Dtbag69l6}r`<tyN3QR z9#_opTg)P!{X+ZN;sXk5+;NyQtM5E+*WBhYPbec-Y&2vV!gVu}()jt&$PYHLvpnud?kMcAX=u zym9i!_o;-gC3nu1-gwA>@I5xAXIABU63t5^ki}FeCme#m5MYFEe4rDd`4D%_=1Eom z#E#*Y4yH)&sGTG)L8GinkaZ7J#+?jadhEYIVQ~KJV2g7AzMO2RRsU>}Iq*3~x7FL_ zgqCe`gMI<8vTKg&v&(#P;EFTTWjdu4WPkcyaBm`Flm>F=WVHkGZxGwt@6BO_mv9-1W^#%bFk@MtueI7shkuPpcNpl<86E9~r~P({J_|BvbSSAwfLOjnjr83q85w;@I!bo0z=E@b5Y$ z-L7BeGI*HuR_`NcJM<(l+L5_U;btQ*9G6$m+1V4j-yq$U`5$e(JXPq7RLse9{bcQV zX==(KxvO{GX)aLw;hPf1yv~>D2}s{yRL(6OH~$p@#VKq$3Tzyq+SD%%;P3 z0w;I#x3tZA+nGC`SNB&_pEgdhqzuKvOv3rzA7RKyy1(3p3jhp9>Yg+ZtKhA%MmIcr z@Ev=O9WXysy-;$kM=H79B_h)LW2~`DfOV=-Qh!9o>6gC)m8Yy0f3*!fXxF_)Txi8I z&%zq;L9Y%uBXFa46ST55JO1YWPWvVF=kXZ=EliK#zz zkeZxJi6M+T-Q;ng@1G$PiCbvm(rpqd!AY~bYl!W4y?q@?CJz}R785&S@++C(F^@mz zx6&z9NE~^j#|>%JN9WVk_Qip>z_sYDaAGdrHy-Z&0)OmG#( z#Z6Lg)%Z)+1KzgyOSq{7qx{D|xGG|V-n>qz!lUW@xoB~rGlt@iH$%LHB+S`0QJj6_OSNQ;tr>tsr;+bLhH{3lb>*74w{=D9bT)IhXNb1 zKsT8NIxa(8_Q(|yZGo^TX(Ki~p1?{l?&7n(LD%PuX9e zMpix3ISJoBqC0V`rZ(gVx*?EBfMs=1Pm^@AzgKG<>bLIrI-a@xmB_=GIy+-;Bg!6T zeUfpi$IG$A=^e@A>dco_;{&fR+LV#(m+#I#JHVz?dG+jFg8;ISEeq0vZmQ3|cdDJtMx=o@ zy?v3v-e_1#XS39JzO_<~z0-1?QMeDc9@k%|8!eYtGNOf@_-|~(ipT=MwIyE;kIcIz z#L?EtAQ7c>$4_g++1L2LDtxtct-?f3vWwhE*SPT72$z1P_^<1;>0fG>_WkbXa7%-w zT@htUafcNzT;w0L7Za2RR{v0aOLkLpDS|1jwiuMmxOXGtlJ(PamoOa(uWn3&n9UIC z@uX7O#4Qg2ty1?tPKGgq(-xU_!8uopE(h0Qi56^H=vN3Opa|Sf1998KMBCHjKY9=b zSGCIgI}QoSK>K z8I2;nlVR1%BTGrnto$|#k|q|oQ|HZv{=)JNkCU5)U?BuGOxzv~1Oo22cT7Cj*S1Zq z%|81e#;H2wLZS5axr?@1*DKW@-3nr?25C222G5=4+~TK`C>_B2NFxyyTpzyv&($SD z+C6yw+{k`B2X}}!*;=B;E9mMu%#3tX4F)rls~+-R^6U@!epM)-7#!*2GV1fE@gyNj z@zgJ4l>LO-)zvUp;!6IS=94_>fo0F&Xz#%yzAKH6{StDnfn42^-Fs*h(sdz<$`fu9 zXG)Zf*gF5S>{HdKv#E-*^4&1`j^@}44@vMN);fUxGora94O+F` z$tnDM{wfiU3yQ-lbFJaH##N8+ENEBQ+tuvVNBsONM-DO3QP+xV$Pk|Cvlcd>goR%8 zodPcw4(103%eD#L1@s)N5rw`NHcmZ^TZ31!75alDwH2x;(TxQhXlQC ze*Mpo?%gKML92IsW`YvUyY^)RmWUs(<1 zd7@ic)W?;hu*AFISCCU%<&MOn*2E};c}Bi;i<K7Olhb|ee;A{i!DE3#QO0}zs>x4}lIWEzB+UT3+hydd(;+=Hhci z{lG<%fBR6TW>LO94OAY*|J&fJw^Akz1Wls!QY?w#%}4e3dZuWKPJ z&URG$^4Foz5?g(x;t^4a3BMPZN%>+YJ=tl->PaV)y0jgr^0pZuk-M2lpn(!;pc=95 zE$*cSmLa^@72~D}It}9e)~w)*uNe!J+h<_!W`IvUsr#^e@!PH|NB&EuV`b>n0{$UF zF4O}71}xOB303vivNZH;)LqB<|B)a5s&H;(Gq1KLO5V#WfV-2=h+FdBCI0J+AT8G4 z9jn?Tzpxs*2Df4gZ>CL#Anm6W`OF<0fBxq%Bz^$3m?1%2NKn|{ju)uffK-;{cA*9I zOJ;16YhSuW+dXvj2rlco8TzT6iOB*N`*)X-y+mVc1?JY0I0b13pGKUfmmw`8v!(P* z2G=KvSD@D|agkpNp4PwVvQexpx%P07aajXIypHyj>zBhj>LO}qLOip~@~!G6%p0y^ zfs2z}LtK>e$M3b}$^pp^K@qjV{H0tDYtcSt13`gc!Qq0WFujvf@fAr^M6cFnZN%tH z8mKFGCX3J=q2|j)9Y%-~HQH83_d+E`@!+U(v`k}D&ahIs68g`_+7BfUE=t`?F1FC% zm-=w{=b!f=8Qu`GT_vF7M>6Ypi4KQfBMd+~5W*T{Zqv|Dw$rmQqo!AU!~-Nfzf@gt zIr-{ukVFucn+9?;_Ul+R(AKiS1(k-4m7*&2rVD95c3~`ySrTm+kDoKHzuv z;gS57>Xh&$>+M^UAV)tTk;`OwPtAabP1&r7ufasDiJRNTGmk%T6det*xjecT5d$<( z6(juqD8`&Ia6G1k4T%B^P#g(AYP8}?8Xx`M zvD3a?;$5Ax^Y;16gYrAwqBlO>PBc_Xvu!{FKB!UR#IwpN!o?C>pUW#7K}Etge{HlD zLK8nUN|Qnn*AQb6ChZ$DCzo;dolS?uAnAU;*_f-FqA13r@)|3$c>|E{O@Ks0iLdNn zx&+=b>*#FN7YNehSTiK2w{@*vP>O<<5D$H4{u3R~@<@mwp9Iu0a37ZYr z*DhMc<9;^lmD?O2cpgM#nm+t6Yir_QA(b*+1tq7acU(bqAS8VG4GZ-NjGkC8Q`Nc} z<}G8)lO4N1-h*b3CasPnc8{(AveZ^{Gx)7n0*V#{~`M>Ag;6-ToziUxNl$b=AF z2MO*P+&$=opc7yq1RDZL2u{!d!QB(wT@naE26qY0;4*;$-X!PTd(S=Jd25~f+rAl$iT@Ex%%>VZ1Xa5FZxnudkWWHyHofeJB5ncoRn1969u;(Cm&h%c; zT{xV{W-vd~QTzql&Rr4O|F#X4_&cp~r{iqG=q)5LRhnc=CpR*9;>xow{2Aai@+rKc0sn@BwW`11_(2P-O}#Lh#no)C2tu{KA5B)Bzox5|Gw(uvWF+q z9!4u(6;u`0vC@=9WG*yTiVmQ=Lgcxv`RI|>6oNNC*##Wa%{Z+0G}bg#;vko z=}{$%DN^y+)Y`3^FB>b$on(@MMkL?oFMImwmqT)_)?x0X$g{H`)w6XJmllJ+U63OjLAYLQJcN<>0u1?NPn3!K>Vf{seaVbEqkvn z_C4wi$jf^OO3|4_Hqmq1zEjxbuW6q&PBoB>(Ux$eT4g@ck)1Q>Qb)Z?6^^IUSJby+ zJMYk__LYar$UKezCK)a1va%Nsi}9`rZ%#U~?|TGptFh+#BC2Mj_(kGb{ekmQAh1lTH6f_y2! zjiN`?8%3hKJ4HKQPfQoQU%`5~7OFDyEfehzJze)<8Z`|TnRzQ6^ZoPdFZWYk9t*9e zyz!2u-}NyOoYh$M0GcoNd2IGp_y54G`o<8VtD?vzLGH1!e6M4rq+Jp*cC5eGJqO*t zuEML8HlNoxCj7Fu!#OH78|B7YcHxon`jH*_){s<00qSKHnk?{sDMxj}{O93;J@qyn~FJ8GukxmmTbaI#~HZV8ew zE2QAjiBWY{Z$Fauuu8*CK$RqA6sVIzPWFCcot)PfjHKQ&9!ILL@P|FU2iwn|ka^@A z+Z(68`oWDO!k+~<`sebb(UNH#hN1g|)9W{p+M22@!@eZZhhJj5^povHbQ?3!{iImKo6SVGm*7Z5`m*)AdFz~3Ax*^}Pc3)( zv_SscNbXC2^Ihcha`If3qnB4la$4N7!Ia1mGWY$|S8^wQzQ7eT=&lXnA8N z^5@V97-EiBwkwnKD7rs#O^1+?<&}luWK2To_K`E2rW=z{ObL&z$0YiQLIwIRlvZ}7 z&Kkd+Xb(yuyjMXna5a3`(?Rw8_Fiq6%J^Cvlz#6jqog@ZbKL0JcUV4jPihsv1b{J1 z75jUCj^`~Sf}%^7`XIo2g*l>wq}BGwTDjqvtz~7=MZ3nz?o>0=;hp3>Tg(pJ-S(8# z@R?cv)LxsFaym9Z~} zYuJ4%9E-QE2b0wHLn0628!A2w~OQ-T@aq4m*&=U86nS37k0YH%iso8`ZUtMqH5Zw5TRL&L%FrLabj95b(3F5e51 z*^wbYSh3cd_viWNJ3Wal?khGoRWIzN(6w_<*68!BsKZz0Bv!+pgxbd<*ubH(w$S;P zT8NaROEVaRAAc!8G_vcKZ4^-5@uAL2U$WqnvlDB<1tEtHj}4mo5A~7zVj&Xp`^u1@^A-k6*U` z{?Df>B;U~plG01_=A%2yF}LrYL9IHpj(nVdUs9ul_gQPKPO=w=ceDR<&C*OW!pe`X zpGabgP<&jmi06R@{RGDb+UaTyh@u?CNDsY38us`dTDN%a++K5Xi+_Iq;0vw3gS+EZnU!uzJ zX__bLYWILZbqAa=`eh`|nz30QJ^A1lKr<1X5|1HJ)sm<|OxAQXFLe)~~ ziadglr*Jn1KD|krOZ~W?d@dXObFsI$%C^@kNO45p&j8)(qr=$NSI3Xdk1O9+%x^ci zCes^Nxq)4vc~({TeDl@FE(z__^0+8zh+qLPP}bpdf-;Jr{B||D+*=mN-76zJjsyhI zl$kxB*6?1HHc)^)`toYw=c~_)tm7)jQ9%capQ=lUzmkl~&Mse+9d*DNuQ`3~*BQg+ zg_&^>dGb2sDs!U|OD+T|vBSJF1HPlB7#75xHm8;(!FOmYg)&&jm-_`Iea|6Kx*28f zvcA;5gC;|h4T z5X>OQD}2MOanumut>Gqd@UV1yOr3VZEgN$)yb^9~5x7x9+vrHgh5q$;WSslphr9F+u+1}XFX!`v`bV@gb zk_=;6IQ<*5=D5xOnlCF)ttoGZWbPlQzy()3BAVaK)h@9dC1>$v6Eq7=i?S zX$JiA)7nzrw=-L&M~eo^Y}is@vWQ367&Q!>kOixfs|lT&WZaI*9zDr=*HN3&&ucM2 ze~t=IH}4A21C7^3&Q4%rmT(qbnjzMJFD2saX;)7pc5~9~wrh6`od<`$J@)srHb@{# zve_%)nt*LOwN%U*>rBltSzPnp_P3+m#2_F07x_L^_ZJsYH4`D2Pn}yk_?060xCM%T z;L7z@*DMD3T_*w&c8gnf6x+K5m^{B9turvz-sCTGzCgOi5vO+Y)vAAtW^ssY#9hex zsh*L}<9=8P*XPoSf|mBmc?uKu&WQqgp#mD({fgZ7i*u=v%L~RM@}TeW$VX!p-u#5V z+9ol^Zfxf{Z9vu?!MGpu85yZ)&s^g>_%YF5y?hN_iOC`iV)R|=>7{pXJ7xs$d*g~c z?6AV-+ju9>@~cyYF!=LNim)~0&OJj?gBfl*wN>Wh0V{`FLz0YvI51_jh>@#e0{ z-+aFOG>_f4SY>>9QB{lhRdYTBw}a} z5$So_;(2n1Hs97p)KT+!VPPQxxv+e3F@0X2`C6IMgl^_v&8nzQt>GTmG66P-zGIQi zBWQG$l*p>B+vF>E}K-3vRa!YVoECJW#)fVhWLfEBy$k*PTeKBkQOD zt)rg4IrcDbgm7e=s$%2kF>o$%%2gn&r&=;pl1Be)?`IjkEqD2@k?6ivlDSCD3HJjN zizCSRZp!pam_mb$Tfrxt!Y)GU&v?8&MM>VwX%(k9r|eER9AUd$9F5Gba?=TuY}*bCqIY?9{I2m|Z8unc7RzQZiQCB6TIThq$}}RjD9eaIXwHVyGfOC9JD8voe9vSX# zMVFvC`7m04?N@$d>ch8_Ml=D&qw+k}Tv)HX?nmUJy@^t=sPu*v=XMF+c$D`z|E~;5U5r0tDdKwRHsHqpqGHcL+cbRjiNCuLW{& zvQ+^40xVE@0f3k=5FjEh0`7Aa+#EV5_z?W7W#|0 zvS)yXB*=HuSbk@+FAT@;{P?xm4kFfUR=cUc%6zeS>f>bJ`EC{ow7tn_xuQASb^2b7 zU*nSN%lVrD)hh5>7PEJSUg4KOGBFe~K5I4z93np}G`ZQSd21s{ z2600MjTpGL?z)9i-6)M&OlEMU=g@xIH4mfeQTnoHBxWR9L0fB_Q)Bw&KKH$K`@AzL z<@<&L_qZ=8`ua%q43=|1|?5|*wfnIIiHW3BQy3=GmoVKkvU)=}{?@ zJ{X<0c_qz7Hp@gEY^Af0EK9q_#*Rsyy)mM7MK*pl68MtjGyqBJ@jOw4(bAEwtF9Lf zE5)4Oo%lMW9U8dRDjU#?IHzB|w6p2~w_*lCh=d}atbpG`PNln+KV}7XmQqeyx+*-_ z9nhZru$bpBq3qK)U@8B4si2@z1*|RpdMVx$qs>E{W`~!%@bT3IjbaR~jv<@a20kud z?PPCkgLJ(SwpiXpTdaxGKEkYw>{A{-7Q2y91YK!(M=e`$V%}`;o!vlbvuofGgVM4S zd}i=X=u(DXiyd))(PZCJ@ARJV`_QT^8BVe1ghbu?u8#?`ItU*T+_lX@XAgXO&fmWa zRPQN!5VYp$H6X`QEfa|^XSbK=%}Wxl=B(k|d#|pA5S+DVMOc58Z+y z-J#6CbD-u?v61COwlRIY98rt;yR=bih=zuR&q4CDQbA`~gJ@TdRA&aGY__6dSlg9 zI{>}k^*u@8dgogeVGNZ?cBUQUVIakxAoWC;PZP<#mB{sdmHR%-gtQzlu-X&`$>a>S zi{VK%d6MRgFq5-Gvl-4ZBJzw#lHdo5K#I?CiD;zLOF%SGU5dZ=+p?y?A;fwj<&nwK zho)cInzAt*qa@OeA_zex3gi=YD|=>D@)?r|38pLEF*d7UykF(9@L%^w9b-<5nfk+% zJSy_WOq|;mp9az6A4xAGeP)PT##&i+2ip*J5>+3!!w5&PpT0|VGTOteqA@A;BrEiv z6nUp&+NVlnTkyyNj_HYyA1J3TZ|e|A&@5J+lmr`yWtOxk$eEp$u%XLKTzU(Wz$D*z zQ5U{=P{|HpMX@UwB{=YKF}~UTA3l#HfB0ClwpjGn!7eKSA;ls zye?rOBUl#)-NB`P`qRh3l0Y=hAXCSdV!V8w zNi2PHD!D;D>^PRmSs7;xP7UGLkP>5VKwrUW0*)=AK8>n$Wl~jQqxOJ5me7Yq&)9ME zw7i0;`C(hxUBg?@-LaonCjg#Cp5KvKb=Qx^c_Q^P0Z47{<|7TR!z%j`qww05VRC}M zx3n(kfd-YYajEAk>T=*~%j4qN;^T4%>nhy_zAsyC5*yCW?ueYdA@rVkiSyRg3%chF zMriawlrD1i#X*eB_QOqL!&2+d3(-&Pe!0l?ytF$B&+}1r*)+0%Cc5SOvYon1XElGGxF+T)<*CpZ*=;MLWNWGIQ4gQ8%GRHM7 zR@y1@vu;jjy|_?ZGG9Uxo(Sk0eUl-qme7>YU#Bgu%5OFiFj4%*{o8&#r*61`Zj7B% zkS0Nth1<3WPVw7&$;ZL z4@K=ThWJI7ub-7P2P(~F%!~?WG$KI>O#$d46GL!q#v@5zZ);BzFLah(znWHUs}F`n z3TUVD0cx)7x-0EaHq1nQQJ|H6_VL8h8(;mRJ?(3oD-?gPe;=7QoLbMA_WV>hlK%N4 zC)q@eZ5R_N`*q{zh_=!UUmDug`v`=K+)d=+l`niQ?2cnHo21#{85*#)>Ks@QV;uyp6JVe z3rz}ZN5=c^8e=Z~%*UU3a5+gV%m+7J8?DRT&EDrluq$;r1Ylj?Ed!t(c32FH10E{G zBJOZ4R0#fVT<+#vlXnH(o$M0jUG@wPFJPaUkBB zEXx%dnccKJuJrn`uq#rYYkLaKhTM%M7sd*-h>%e*MxDbw$>!8SFAXEDE^BHolj{B9 zJ#um94d%~ixMCRp57%EAC1&QZBXyHBUYNWt>m(Fgx-tar4L*OOeh(Fjd0`54HB+7TlEP$Vn(J=aGvEM(yBn11iat zx(UWt2-P0tKZx5`V>4w8T7T$L(1A-PhElZAf!UMH{7%vKi*uw>`G{?D!)ga$Tb24p z_l|$i` ztb``g1*i>@25A=}LFi-;%NKqFaKrCYNxQ8x4&)U)t?UDTOKpKt z^#yCusB&bKy3La$2VE;kmc}M{vWFu5tOqIT#;f!TT}!WsNGl*Qd*L278vW+x%b7u zMDld@*51){3I=(d+)#tq=@W3Zv(6w9ZJTmmPb{KXLiB+0^&FA~U35s??9gk>%YeOo zIiXC%+w}ws^-ymLX_OH9Q_# z)=a%IQ94O1;Z>(aiiIQx#4F|!Mft?iu0C?*>LfdVgmP6s*O8ogY0U9;VAU8Xe+jbk zO!N{7HXuKAM=ITqU@+s=3#&h-w>+(VraJfD2!L(g5gI6`1)TU_SHF3 zi6r?tEK-O zRerC59MmW*K=sV8?20N&EsHP6LgaS|32l;iHnw{Cva+>+yt3P}&0KjcQT`+tgta!N zZrQHFAs)Mjxe`GSYWgB{yo6`0b+|`4RF~M6K^8U@Bl@x;e$XE=Jp`6XzUN8{;1^j3 zApRObz0Hn<%nsClK7fQj{^Ma;XWl*7i6K{*M)WQQ{7=2yp_eaL-1p}qgnlPVl+V^N zS`mxf7 zdKkDmUiu4CLJY4&Wskv2c6j~bY0u$$D7P=iW=?U8FD5cD7yfzOi~!NTmc5;!(V)4v zTT}L-^tnYVF^5LEC+pvyeoe)R2Rk7R-37}kqvuyrTKQh7|HOFa2<`>na(YaEhkOG& zo&#V4K*RMA3CHhHAsBfvrkS){=<$n~m0U5JBRV2X*fY8XJLrt|NPwLyThsAt&XdZ~2;34~l9 z>-f6|b4iDl&Ft}H%`9ph8^y>Cyg#0vt1C0i`F30^JIj73%%qo+^g}|~{uuZ4*B)lJ zP;wj>Y-)^U!j0V z()+sMRpnzjh$ofFA9m(7(5!ZVb-f=jnpxS&J;5diM0EGyaQTg1jUT3N`R)%OOIH;6 zdi&=Zzhy-vsJ*e^;C2$r@4$FNJ|(tqJYkmNk~Xo5=Gwh&4iKOeqo#aRxzrHmWR zdhOpIFiEA@6OBM=Nlb+YagjzS32zA93?a|F3z>4w4E$??pjZH0(p>+wXhbVb{T45K zwHnBv+E^Y$R6EMWf*ztOFNyhqjCgS=#lL()fLr?3r(t+oU@tJbZBA!edd0tC>YKe@ zeI&b(hLTHjtPe6i_{f;#r-U0ARJ9>twi2~3_d{9^GQut9ZEMwTym#rvXg~}ih@L%!NcnPu_(gHd3zz08+GE44!p;#o(Dzx<;{8a z8Nrh+qK>QuoV+`^q#o2o)TncnED}qy_bmH7V>1*y6^@$`fQU^P?rich@otxArm6tT zv1;wGp3ZjtA64+(E7GPu^k)?>ypfcA6GC5Kd2`Dx(MUzJ`*QgC6Eg|Od#*^*)c%u8IM$GaRH@iZlO0Hwx2Cj>Agf3nLv! zW!nrC;9><(K(G>5I5tsmGLmpQcgzP;jnLWr@@a$oa9Y!U0cAE>S@#CdCawJ9 zp-&s{o9hm zIKedY476K2J6U)Tu_Rh#F06Zsy7q5)4oA#M7e-NiO^GTpgFZNYAPHzkEz*i_eT@_V z#n#y!^s7GHCxSQlHzr;Ut~G0DLce%3+Gh0nBQr;M9#2irE6(KWBxxXt?^l;zgoRX( zE`{MWpJ8Mp!mYhJC$@(8FMN-$_a>S7gX^7UDDrC>XJV?vN2|G zc&iv%!%o{T)67mkYxvZ;=&j3`PE)rxx6ZGXC-%D^^9x&}pT=!+%G(ui4kn>HfAcOn zDos!s1_^Eltbmzca%012us{1p%zBmfHJ8aQC@^(=RDOG@uH^0C=v1(Xobu`fjRsdNje2LSzxY4t*y_9>$W{ zhqLy1rV5YwEWQ%l?lgqC6zn2`B|36F{6We}QO60iO7sfFFaVd;a0}r`A|X+nUlNP7 zviC_>U=0z>u$Fg(rEN73#@-gj*i{=rFt91;ty5z_cMSD_>|;`6mZ>%aIRP2%A5Axe z{7=|_*fZvK!*ddj5RFHz7oO_SLt`>lM8!?B|EH%^X?iO!`{NYco2P(O?^UMge2~rd znnhTMh-}|br@ET22+aGK=p6|+kax$1M5l;TW~1?K?FI~c$8J(fC^_!*%tKlYa(*D- z`U2k>NW1tKzx~?K&G1fqb@K1Z!@=1=NNR(UguX@NaG-KxCXW+U0oNNf=St$LZ&2^x zdd;+bv*BCUiQKPBesp3!4fXUz+~TBQ#1%w-LMV9r3v<6tBg=kQ3DB9Y?{b@r>s$s^ z=bGplv?Ev4v^eYK>Kq0#r#`Pjj7`@*r~6Mu|A~vFh_>X~X{R?KsYUR1P|Ej_v~dbS zZ8}Z0W4SEbls+(jYqhuAvaHrkn*~s^8YKXp+T6Js&iuz7EhOe!Ta5YY(w)sSVv`9% zLnYl8Rk(`S36?i$^k2{r;%&r!1b+jUJ)BJR)RUxg4n0s<9l>HV)S5q^+6-1v0)tuJ zm}!w5d&A+4k8kDJr8Delu;zW_S$u&Z+a7m{jYp{R2c}#mCtAbPx>-{($7XJsPc&Bs z;co>u5l}16Av_p81H5=4SE7(#x2GCa$I;5s{FdAj#U29HokCeeK|I z-!inTC=9-SLTtOm|6^JSAs;_m?Uo%=;nz=?X1)9!RvR>sTN^R0?-bcZSj*(a&Jvf}afGKL7IDokg-wfd%l-m6U~gXV?2%h_5W}pW>TN zzmHyAG7M7zcnU~{fT5cmxkuoA{~G^aHHdZZkWBurQH6Aa%jlQCe>gn-5rh19Um-j8 zf6B>sIcg)3cH^R+{IgJQM_zl91bYcKPK#a@7u$0Uyg`w`&?P?GrKo}YTse|q0Le!2 z3}8pgDnTf0rM#pAJ8L`B@ep;DCIn?p}X>% z_L}MZ6IM<~W0zqjn)@dR740jEmnpyO)qjsLw^^=+P(FD@LGkPm^4(Uz&zBJk1n9f^ ztfE5z6g1?gXvs^+hL6afmX4O3nl$?7G@&6D=KBX&K^hXuIwK#sx*Q0|wFd}DK^hbc z4G8LAL-1MW2l{Up-M>CFBNG!HBRd^4yS@;ih>fAMGogr~i@v(4i;J0|g_Dau6Qe%B z!^O#v-ow`BDtk+QLkeg3=A{>G#NvZa&Oj<&m?oR*1@(g+$n3j4{auRj7cE zEB*8kHjhGfl4CA5%;{xwS3&O}{>?{Eb)Cxsb=~hF1&Hm79sC7MKB}2 z9qTqEg+1@g^A1*wd)AM}&7BR-QMh4h67a;ESTJ|x;Q%WFv@Nb!@Zp~5=PcunR&49I zI{pc6OmMt7FWHHt|KLs56G^HmZp?I+-5tTasb{bW*F@=l_zG2Aza-Y*$J9SZR}B!* z6gH#swW|h2^>0N+kSD;fBy$ThM^l9+=_YyR9JDtt8*PNO<2X0zIzlKXx`X{`;2G0~R=l94jp-si<>V3N95wHA%FS z<|L%=+#Qy@IXd?$ydxt4SZ2Y4HuoM(4Q<=9Z&Sx!j0m;0LqL;$AE8epbWURjv=L*G zd){_QHjuh^zp*>0?HZfgy4gPr;+{Ok?n%w(Tv3MGPQwjb*01*Ghi*m(zG4c!U*N}g zYQKts0q~O}5G9R)p*02q?D_K$)5gK*MRb|0m>aF9#Q5i7aX47EV?{M7B6Qst&Uyk5 zD%=ld8_HSl1JifU(|5~q_V%SK#QRy>)1H9=2W*lp?sqwXin;ndy4oFWZJJ#@TULn( zEA#^*fYr?pZWmmw+aM4i}{h`Qf>E{ z+>Pn5jlXVeP#O3w{%tvKgIf^9fLP36?$*go?DaJV zhL3Rg{5?Nky#UDq$&?!1V$tvQ@;iw(k5e@yOq0Fj{PJHNm_gF1j z+y)BR1_*jNw;N=}xnJ7eRIer`Z?1d~Dy8EGQK+V4e9eQD>|;!e+`kH24t4M)bHZB*d0iPtRl>7sh!csS>29A!n#81o=wIy!DY& zagld}Z$q#2D)YyG9tlOBpkIg=H^m}(H2D$!(jf4(XQTOtV+y{8n%$sdwI{U2lJfve z{=bllWxd2F)#H)1QR9V*xIRAeWtLP8{r>`auv2Jnq8=rcS)L!KY#wCBQRO+Lw1^}w zRFBCmaLgs<*|QE1`s=dVqI5or-;RhmxgscOm?g)P0Fk2VahtbNlD<8#V#vOAw6OZ0 zL_oZz{eico@pOZ(jz3^LrAP{j7r9Cj=GX}1>eOv6hpx+SDCRW2I71=zoAS$-(b-&g zowS1rb0_pGzT9cQ37MkKrEGYBaqm@AqAM>~dL`Y4o^)gZb>fI3Jds~5qn<6Hz-eMx zRVF)5L*r5`=eNJ{9UrUddzInlI})absS0Q?blRo$I1Kx>0kz5l+L96L<-XF^fNA^b zerj{K5qV>ZsABeJ<0yO7!A2sII+D}s#~%qO+W{SH9M^VWdU|PZOPyP6q$-)RHZfPs z{*x({m)?x=7+qyWrD+ef5ULHLnVSQ&5zEAC!5oZa?iCsOP`ZkMQ*{zv7D6_y-Tu!|Jm2rpA~CQ(5z3^3&=t>N@Ig zQ$%1Z&N3-zIExhN2Oo)*?3KbS!36+l3vH0fqdm_Z;gO7JTZiQ+Byj~^3INJ4$!Gn# z42S;FPdJSd4#C0E@za?A?~De{<LH!>{1m6}ancJG{tNTgO03QoyN%R?c@XLNQG|Btq`>`^YA>S97yVQx1dR%4wZ z%G_2ygmOHVu1R6Mr~|Ukqu4CXt1H+dn^#1MHOV~Xc*YY#7PD)sfnBbNI7{5!W}cYm zi-|!#c64P;+Anp96z>Ry%Sz;|kKw8}cqr5K>oEzCa*VL)p_4(}nT;7-(b@!%yuPDe zcNeFf5jRBML~C2nrINlP=YoGuo(uG3r|nsU^Ox;!%*h4>xAOWi zqk$GpbKsjsNOVunTdJs8z7xN2%hWir8zn_lh{)i%Br2eKsj&jztj0zP-{Z%H%k-c)9auzPxmwZ9cadkrN_EUe35*mUp z!-lU2?HotBWb^46tpL_;;qbV5l=7f584-Vaj=p`QqSJ5!ICuJI^7ofLY;Nc0nvxG) zCF)Vp;duq%*+aAORiU=EiD1_4jxZ9e@Nq8%UA_>f2L%@Jw&1EG+s0r|gMSXj6%|g` zkTk6MMjUR-Ci#+IB!eG$qhfZGhV)H0xD)U)ka5)$c?ayxi0x@T-N4uIeLD_K3H%p!s*|QP z{DJ`jN>Tj3u#@d`P6&fW^91Y6;h(%J(wDoIF&9p9g~>(%2@^;4+faiJ4rS&0zAn{cgj_PB2Tor5%s z0RjT7boK{CYP#ygW#D@u+Zoz8?h^#;;RRMQRR%!TVnEAKc>H)vpZ!YxD2K>z)q&m1 z7L;WW`4s~!B(f3OIs}BGS1l0EL{@;oI z|1q@=CT5rIt~$w69|B$^TU%5)#AHMbl=DjSbn|U4127V4gawOI(i{@fX)e$buqYtX z?fw0^Lnm*%JG?zN|BMMwp1A)`ZaV9us!v|(taxJ}OqIfb2)~Hla!O5%)7*+`UjGfy z=iZf+{tI>f+NSjvin?Pp;0}y!t4~cYb@`fhlU`3wj+d61*<+brt%Yysd+WFPGJSKd z8?Ep@@jh)3%(Gl>8E_Dc97gW4d^KI4+A^(23n(A&RyAGrozLF}mQppxb`aj zvL;{s7n%OGnT-V*^Pa|oxv5el=i~6A#`i5g@tpR`oUw4THWi z{e(%^P)euruV>^^#Y22A|3pZyt6<+=jy}y4Bfh2A!cw{+2bssF7QF?vsJzF(OPPNW zx};2`Mq>9@>Z5e14ONH$>)Inmleb{-EB&MDLrIK=|GfK}gY2JFTkgfPhEIuZq_IeY z4Wk_&`Ww1rtd;UZ~z=}J&hjK&YwTe!En-1I%nyc~Z104P`oU3)7 z-}Pjka0EBI9H#KtraOZGyQaQ+vPi}UQ71M6@a;iT8UD+&Ahk}5WocK;og(AP)}ed- zCBf^~jV#>}lVJj2;`qkbrmEj_l+O=G!yXAk{;f*PG+vA$mWqy%Tr2FM`z-x3zAL80 zTP$J(DwH3hbo^t6s)m}{3ZIS-}UdV);`Dg6n~N~@1H-uWW|-pS$XU3+-^;nohTrP zJUbY71QH&Hs4$}MTPM_cQq)%{2IWrZ%IK&A2o`Qb#j#zVo^J10zut`yM<%i;wzo}1 z&jyeeHq{y~E7$?-{L6uO4`K9Q!-nAtM}1MAId4mGb{iqlYa|3SR{R>XABbz>q@B(R zx%s<)lDyhR?$SSXS40~j9WCa*#v+UjjhW|ePoZ3is(aR#@TA57a|&QIT5wGxo^6N3 zXjoPlo^9(hl%fOfE0#Lj(6+3!1#4#d`` zH#$S_8!(Q)!D}kb2)0}LA+d@uU_IPZgb@ia^>61*4SpffitsQUH3|4^)>E(7lT^Ok zCTFVU8MPd&qgU6W4(YNcCw7k0@4prD^O5p#P1!vdudq;j6g7~yS8zG5PpQpcCyI2% zJDQV=gd8eFdKkrFlPVmJ)C%KGLtYl+o&5zrLp*6(qLMApM5Bsxz?3x}Mr>dz_0MUi zp22aKOw)HxsdjLduhF(ixnYai#XTO;pf8Ej!w>?Sq?}pV?CIh-eG{r5d|4`i->Eh} z+h|FigY>|sdwCYXF!M#tdRmU#X(j5$f4%G7HiS5I@mJxgzutT59aONng@a-_RvO6s zS9}_Mna=dkejJsK6#NCBl6atn-jDuB$TjgXpX#f$D6E~AS9qf1ZZ7n#|)E=aLHDOdP$mJd9%3HcP^AiEQ7~zi26=N6{$LE<=bB6;zOnPlc>As1*%J= zQ<#oUTb4EIq(Ugma7 zh`&~y1$sw{Mw2N<$-QmFLk-Qvi$6I+Y0X$4|bFFK|1r`W&BHd_`k*XUYjraONj z3{-gJ?zP8h z1(;ccZGh9Jygr4Ly)K6WK14X-wgv?gtmTe<;i#~OkE7DV zRtSspnDFHA`tE*jjgsH6iXb5bdhw>)#;xdo%PKD!7`^kxw2IH9Ht>od`~QUfJ<-MH4;=a z_$M$Dv^-4CK%6O6PGy^d9eNkwnLp027D7*Jkr4xp(uH#XKi8=!VDhf#fuZq5oUujnD&+`v0DIy@RAcA>`u zb9%4WYcNvFGIF)NH?*|`)O~_p;y!$-OCK0cKJ2?O-_YA2;>##0X@D%s2IGbifks_@ z$UXJFae)++K|O$hdV%dwkpn`*5b}$xEPya7@>9Dz&z)A2} zP)YDWL191m=rPp%*dZY79Pz(DgbND`Cv_6zNJENmB7Vc{$OVN(MM($93yMfckoctS z)!hCZg?z%r?*nc2Lb^0|^x`S8x+t-lF!V+zqM%;MziR^nT_JEokYlhT(Bt!0h=4*% z8M{34V4bF?V^NyU1u0wsK~Rye=@yJ=9BN^#R@tHT6G^sl+Q?hAQ|8I{uLAVi!}s?U z6&Ggb9UYt;A8sQf`H<4$lM}tEYxB$gR25biRhHTtSeRIv+8SG%-|X(49bFwN?B>Wcf4SGzJZ4Vh6tpktS`=SakBW?T3lWppPvxn5a8uyXC|ko{B<>S zc2+;To4$=gKMbWIyIvF~uBw z0aS1LBQ^g#L9*jy^7v_XQzj`NL=-}S>n+|&w31?eFyOGetoyl+jUkFwiFc)$x@CLj@fu9 zLB3#PQYMzbBWjCm;f$-I-R{()y@=8Lh?X~icW2U*g{|#<|au01SADnA()QkwN z*VS_)ncQ`Io6>lqo&@3Hu&^EtwH;@4k9580zVU5?FOA3DfX5wAZcvJyd0^nZ@!gTi z{+NSl3jW#Ix13VFn^h8!*tz+W<*S!e%8;!+5Y0;Kyj;Z4N0$9b3)!s2G2Jqo1Ukol zJ=mdsA{-8yig=Bk>Q8*422z?{_ zJ)63=mm8d6UdA0BDP|z_y{e?59;Jl&Rt&X7h zoBHx(b?4!T110!bQn?uQ*Q23Sepp4)e@@JA@nBPOZgovj10|U8?;xnqC(I3)waJ)UjvWx#eEpUh-SU=HxG3n<7ba$O42CPs9+2FBU;ze2 z3D6~f?dQj3<0W#La$r>&`^w}htFpoc=H-=)k>c}0CeuFG;m=Tq_4FcbQ+Pdoa>or6 zJxq>c73LGJpBKf}GpJTsG}3YO_)f#Yxb?yIQu%A!D5fuZ2WL5z@3gdIhO9%!mCH*T z=ROAPZ&Z>LSTB<)u3=^#dCFowv?TDD`;+*KF`(A3NavTrw5e_@ZWU`<;lbIdD@aEK zs$*N&R8+ewCtD?#ZG^0unz`fdKQxgNitpf#DNk z8lfgPmRF1t{CaqwH_ptlDC!5QxqD+~vtJusQKHWn7gPS?+rr&Sw@QtpE#TBOFV^1P z;7O0T9hsk$*p*ZyMS}3)BiHNWvs1m?!-f_1~K~8AY6DmFb7)UE2$%%C&?Nb%N zTp-;2#!9#(M)8o{4h5U`xFWpuE-Nn-*ga#J8z6cnzQ-rny;f=8QL8%e2&Bg}P0H8I z3PjW)h$Pw)W*qELM}&E zwR>)f*bw5s^39+Y|0R#IvGU&F+I7Zj|y{e3L*rL@prS{6Iwc!5m~FUMiPLSl|XzkSX1%!N>`?Hs!dXF3>Q$9SI}SS zJu;>-$f}ESTEIJ?PJ}QJRZ-E7JUo@MGny;=V8mmZ6Mz1G?Z^M>R)J#x`~A8!Xwa5d zRL{lDA*&HVh!9TKhiFVrD#_a@D|5`JNN(O4ya0*2gZK*n=SDR#5RZ($%uQ}%@pPRn z#VG|=d%#zjrHIHoaQlQ*J-R-ISaMB2n(X;9diKpdnz0}OG6m!5c^1@Bh#`SN`UW<; z%D~@$YqQx%vPJb<UnKqwWVa8 zI|NoSgnG+N4qeLTGcKepm_eZ^`sMyPB;Rm>q>XcPATjPevfTnrj=+im#4Hn*^ZlE5vRHmG}^z!^w@Kox|UXenwWsJsi7a^kUW>$EX9!W zx~8xGSJw~SgcHX$@b0$*1%xUR2`11XuwHEm-YV*)A*7ora+^CryhmYGm|wul<~r!* z;gKbxTU$(lgx$Y`5a+A@%!VFT2y5Ab)ExBZe1F8znk}#WjnTyY>d^AoyW6B~$mK^V z0o_{9llSGJ<;|JtlRRRHz^B|D+t!t0LQhaqXf5MZo-Y#0@sO{1}z&))R;6}1I+ zeKr4`r$DNzNAm|T=9_ni2zZsZ459u3Ab%*seBvGZ4khMyw1>m+JWCS-gdHm;{m-Oej)Vfy8ztl(k=)p>%Zqtcl^Jl-&s%~ zrROHL$KPktDg3KP@YZ^m$M1pk@FNFrp`U^>f~}P9#nAt(mIYPfsFFe!;<#1*zyZ3H za6apCAy5mhAIxbD?5*8jdP;|1!wK+Gn^9pPzxOb|;<|pc^mG?f6NFVMfmD0(XCZsb z&^^PbZ57v`>%``Gf#esJftrF|fQc3%UvD1YUm7>w>`uP&<_Xp$BvXzKHC%Lg>1=GP ztG}B7bKl!tXp8=98gEolg-uaS9ibFf*1Yw%b>G?oX98VNluOmV8jn|s4jUuEfRX8m zx8kVKE>x+x6@TflbuJ*#iVA3;%REIFo`7S-Ewr(|SYxV)64jG&;5q==lHq@0|H)Gfu=*Xs=`4iP^;5i$`pGBPwc zGBWazt&r&53ex;f4)nKhAzT0rH_k;*{3-J|(CVlj>#ToY(J7_tcj(6Kw=>B(*gNE6 z0+0ok1!cY$Bq}Z}Bx;V}A)-=$t2BAYo5n;?_7a^aRuo9+ac*6`GXISi74bPfH&ysl zLKVEWK=UI~(Rd~NfzP|zh*USv&I9mM@^#pgyzgJ_ z6EF5{WJ^HIm-7bZe&l;If5O?2Ea-!PUjgIMPCg15D$IS<7xG>W5;lYs2#1=J44Oho zYf3(BXcAymzosLce8N&$%j-A3v%wZjz!cRoUnmN3-nx|DOJM2KumJIAo^4*JntRR1ELgQxuMzKvbr+8YJ;J@43od(VXDCZb2)Op9RveSp{}r5G z3g@2CJ23q>8;k!Tn#Ro5@L!&5b=QZmZ_&;m03;}=yXu=BK0Zi~I{+avp|=KesG!^E z&)Xl@S~9OT`@HXwEUr_bwWemzg3AGoA>aB#OxwX`*`5#U`9XhWk@qJU)RX-k)KtAx z^st^L1Y^2yY+eek3(>>Y&3|bH5(gdMQyVPPmEP=hS+NH^B@+3!SFRc_v%GVshDXnrZ4RXH+_Nie{f3 ztgz5Y8^gIPaK2W*wlY~rG&<;{@%=~cFSi>vI7orCr{4X@5`o9gTH?CvZ#;Ps!foo& z(s6an^qr41^A6^2Im9+I0&E}SOfuCyICWr;$(yI$<$l`HXu|z2S<%{fJ4@@6tJz-~ zx`I;88p)rMSl{T+vf8qupO=@mvIfgzZ!t!?N=c^)`km_SWG~;Adc8qqR}#xNV|>+e z|LP9JNTGO%;rI8}ti;Zva5>gk>+E|{rHH+aAwA@~!1HaJ-T^_**LiAkSD|SeccL83 z6_%M)uIh%$vL|QlBJ1Alw=~?*5E^TLHaa(4LOCag))S)fq0kQJCb!qsYvH6~^A%5* zf8g&U)m<{%&1Og1*0r{_`1_q!EjuJRH%6{&DfT=~cPB%(w!x}oS3jl?R~xXpC9tcb zd{toQ+VOg18CV;GOGF}{gNwj-kVyBuYHs{TTQirf;h-Je`qy+{98&zP+3e{tkOG_ zUs_x6AxXlXiRpA)cp19Z>p{`={F!ElcYcsChIHNE%Fxm;X>ST|c>xS>Ox)Y6wyKY` z6;L3fT_%H2r)~yCxis)uuuBD3d6nl^G1)l&ENlqxRF|+oyP$|;-2^)O?|8L+hOG#?Yy=A{4_uP4760Q{O-i+{_xoJ zti5d=YKZdTNjZr_Z1kq?Jx$#8uD0%`+*`uWiA93L9-Q zMpu49U2GuM=xTB+%1TOceHn+oT=X3Bm}h54@IwN+7D<(S(ks6Dn zOq^3qxJMQ&Ap5b`{MhDept@xB4W8np#+`7Gm3+>=j+4mW=mdh6u_)@k$x~Jc9~-fQ zuPiNwA-vD@@zfsmw*sq%l@oIFh$OP6j`xUfn#3&oJACtq-XS@ls_{;L8g0~$It+X+ zA5xhs#Ble|8p>o=c1WuXeu4N=rOuYQw&r0+zW0-0IN!{B5on$L zj8pYDwg^ZqPf9{>c%cm`Qol2aSveC0;c+xrm3C&Pyusr@`7!->^D0wx;;(I{c81iQ zadU?g-?HhbJ&5n|R$rh{`fkD@JF(~Q#Cp&aPB!`HKb_Y7e!_oC!oTSe)v0RDA}xiu z#)JChjqHT(f0C*u?F=k0V$`XtXn|klL&?UBlq|j&m{E7i;6|p1S=<=EyE}YikvbvR zx32OEC2aH&X0WeclGlzHuDGaT4t5)8VAq}&OT$!kN&9?b&BNk>VvURlpGpYBfOZShl#Ft#dld^}I~nW&SbaAq*)Vuf z1gAje>kn&Dm0WOWw;e|JKLS}#IKK3np2rrSZ0oZTJ-iGVUc;eBp{CQ#hI*5c4~HY! zrFl5G6YOexmx%W{QP@W+yRJU5DttvD=nglbPVCJlcmvP(V>HNY7=MMGapJ$>t@iGw z^9v^3L2hbbk+#?1&2pXS^_{P^p(`TttV|{3)n46Rm7feNp)wk z+X~+Cl!=EJh`5$ zSKHgwZ@Augk?Kh&!SVgtb+4st`5U224Ou;u8nvAluCOZguUu$#_*65tWpIVkTatSA zNM8&k(5HS;|!Rpa$oGK6_V9xf{B@nC0-yhWP3P{C`;2tHZ~#)sd-drrWqf}3LD zX7t1iqJ6{sL0B`YzydWByfMsIm=icoZ|i$JQ1*o9TRTe?odMr-QIv)M`s%Y#{|B)M zDqHF>cN2y4#`8Kc`I8-}oxwB#6?j#YQ7Z4j%2+;|Mcu7y5v#1hEYs7lP7Uth$b}-G z&8XxpZ_+Zef`(_u((EYvex$yA<_@uF6Dbv0eOWLh5hpsW8w&xPjN}9l>d`TsyO=c1 zy9SJSm>%cEEYIJX*>lq4fY(OnY!Xxg2{cC72L-~wrYh+(1X_=MroUBI*2mwvADevG zrE`tZw&H{7AId1w%kYqyWMn+L|nuvbvd_kwc=*_+g{lnsvN;xxeZMq4*a z@{fH(VU~Ye5_hk~a{K>~#zoxc*~0*4`-YDF(7Vgs;wMdWdQo|4i~TM54$vU=*M?= zT#iY*r%yl2SLQh)-QN#Ffoev_u+ZALS=M)T@}683mVYzqH3dW;s1QKFbfz(19?T08 zy2~#n&UuY%Mg&~kN+Y|`C-Gm`$mB0JnyLTlqaxx5tRx6VH)_neE;wr#xqNjuPNaP5 zB;p44y^RyHId_UbLU4p%j;h&CYf`;%tcux3@a1i5_vu&~U_Bt0J8-!iBNoVJf%_s@g*xAFlHq(aGdCd|OtkO~!KM>VYv8>(zt7mV%i9BHY3 zZK59O`0es(HM>_Bu+~1FUs)!tFM|Fmrk@l#n{P4GJ9eM6#81{zj zVhzH3!t^9)X51o!b;1Ut0EY7g-~KFfTEDEu@JAHnVm5UD3Bn?zF(5_otuJOLPOzR| zlwt2Njjg}FR;CtcoT7M-l*4$^HDWJkIbzR}*`)6BPf2Fj#ZAxXGEJ8QU6PpG^i=evB3ce5N()E0Y@H>v}Z&?kKq222p%7d%+oCKwq zFP%2(5hiUhuP0k4E2G(Hkx>ZzScMr8Q)nDRFMh+pu;IN8B~f~%vny}SCD}~Pwv+92 znMrn8+amgz`Msjl!X>*5=l1OEwg-)AN#!JRWEcrFGnl%X61R7LA1F_b%@++8>r0z{ zmKeIPe4E-^Zc^4o3LTq_>5sOmlt9x!IOntDjBsg#hz0sRXz_r1fK7VzY#Ns z-!=a%d6p8ZHjU8Ebr4z`DEYeYo>^dlkX7!GM#YzW!(QeIAR5Tp8zeyCY09>7uk|BB z56-iJdoylbVZw)s+^q=e1K!pBj{4A)@^ggst`G(9PNxeT`=T7~e5|p7i3Gx>B{vfZ z9fMh?#p&Z^#(s0W_hyipARe!WEqT<#+{}VdhxaphKrur8I;4X`4#Mzsmriy6LG69| z+?<){iIShj7V1)E)jMi>g7F#n*yVqj> zQ(u3ri<`E$F3+%Pj)2*I>Y~ct;&K2qB2d|4Q;^91vLn?8^CrD?Nzu>N3m+V_O-muA zRNPYg=JA=Bf5%-U5K0(m-g5loXMBmT!-Y*Mg1AD}*1k2l@onBW*0-x<(rf< zIZq^142A}lGf^?QSG(9r^LN#rXKK%`nBQ3JRXIj#r;w|k>o`rtH)e*Z2{g^CLJM^C zM?f%rjl~rtaG`yj#sMaFP%H9n?Msg?wD%!B5MJbz9*Lg05Ax>VriYu^jrzth*Z)d{ zyf}h$^ha(IlkH#5#{_c)s<)BbE1I>X!R>`KNPQFL!L5w-FP~%uU%se#!}mK=i~1>7+=|8>yJgOhNfo|R+cm+T z)>oQ0Q>z4?sCX7q?-PY!4b*jJDt5HQNGGcf)g`7Emg5(CYN+HKg@g7=LK1!X+%%w{ z8TJhFRlMK-R~*94=h(Klkvbws_*9$x-tIjDs*8)CO!^*l%J1nN<4OWwoT@~CpSyaM zPNwiIjJ$7XsH*i5{Q@T^eA4EQpt8^)jY(CSzHp7#i0&}u;{GTKHHPX>nx`RwTE(A{ z$B-Mm$FM_ibj~CA`eqQZ`Yf0;QMG>hN78c(@^{};Un-N)Xew2PXbF3hDQ)tsgX32z zQE^Q=bCY;v2R(dgzzEta7}>$=sKszuF!cW^pQD2#J^&qW;Y0DgsXRL#b|FezgzNMXlx=xBs)zGm5xntUMV`H@d!=-c1 z7zF&f7-FZv0B5_we+1j?ZqbhwTLR(ly|JG(v)lLV?_PU0&vVyKUE2)^{5r^s!xCct z0lrDO|Dxu&cdUT5V(6Z^_PTFm_`bF1eczb6=LQ)nr45H~oeftjv+u+pF0VsDb|40X zDrz^^BAj7|?Hi*$I!j_!J-}N3E6zW(@N>VepVg{|7zW0`*X~Aow zteQN`*cs2-7^CgAlFWYAM9RTMFUE}!j!RClX6A&hdQEWW#T?4GqDtU@${U^bkL0e{ zEpHM}MU^au=<@Y9%qAbiCb@4mgij&KlAD67!!oL;Ht`f%CO>4gP(~B+Z8P zTsf2y%g;{`XF}ErpfEFN9H#vshFC>sj}+iJ5;ql__j=iG5wQv}nc38X~bD;a6LS;EZg%wej6aDnrSV#3PUO*LDsWBo`=w0oQ#mL3&5 zj!589+nCt}ru3(v=~o72$_+0;ugBf!s4-{!9Gib%#qI@R&$XAWCw8w!nPbRc*@5ag zvh>nc(4l=GSWK6{;O41yCrR5j8QZA2Vvdp1vaEp0b@i z^=IC1>u@UuuI`T&#N|+Jh|%Ej9rD7<<*8Nji!RaiP@zQ)$)61nceA{T7pQuyx<+^m zb3Q*vkMWe$eqNifTrKwW+3z{wN}Ob#eEuS~lV%)TM#VZUS>}6?E|foZP9#L=!fo?? zRkda;s*jms$?VgP%~Tsz&*Qxd{G4odN!?f(L@0zy-+d)LGN<>%H>V6_J?4b^Re&OL zTc)=km$PpypG7XJnDW1V6;B@i=79npx*6J)6{L$jnDJ&VV|G5OLX4OsQ0lm1F-fLj zy)^{;B0@=`B_t%ldT@k*#~thBGn%>R0208uKs-H`DFoYZ94%fANTo*ze50tJl%_7U z%Shps^3yMA&$GDRdUmBv`y~+fI+wm*PalfgP{m}Y7DQBS+mYeeXH)0+o=mv`*P147 z;9hlS7vDoW}q4_c8{8U@&WtPB4%J%G3p?} z0@;EH5x9|EQq+-R*>_Ip8)p(@`MvD*d#6|L(;t3scdAd$A`>V4Xd376db>?T2ML4) zb#VIC?q=8?_-(|3a8!C3g@3Hyy!G?c%z4~mLoj-?bl2&0^e(N@uLCTI_4r~U>SQvH z@|HTUY#RdS4m~=$2w(m})uga7Hn#khJ(H)BJ$&|;%V`>8SKDjwMAZUw*QI$#r|me= z*IlUuXqmC7fa@=Baa<3KTBWUT{836?&zI1BaQJ>OhjhYZ6Bmxw#X|!XZL4;TkU$?X zIlN=k$qPc|+oK(DZDT-$FA!aPif3#cn~mukg+dv-S;0!p;3@j7W|2 zJ^>2<2l4D-#2h)9I0kpU*AAVx40UJ9xE;1-cu))2-na;kv6>0SMtC02ceN^;E{ht+ zKbY^mRL^dX6<+A`ifnqW%#KT>%zpmCM`jDYaP`>Nc#SynW@&>_h1)jUWZ|pA9#{-Z zE4fBNX%Icln~%W(e{eA7i?sfQ%(NJD0)!GQ!@U<3(Z5LREIM!6&+{W`q0o24;{8i~ zUv$!8r|0Mj!_t-)J}5Vdy$F9e5W4}2HD{2y8)%wMLp{Y>-w0a?_t#Hx%rurYvQM`RF($C+zd$3It~UC~y=BU~Ho}4+etZC9n}WSaENV|9IDp_>=%^ZSs-M zo5vOvehw7sP1vLZYyiIEU6WSE%t(zw2)G%;yc*hH%!L++UCD3>>Fw}GoWdWWzLD3& zvC!J|u!gHuS_d-{cvyuY60ln}`esmZ@Y?N}Y8P6f&=5lzZQMif3ufO%SHhq%IYpkb zRCU^dZ-QFxLk`nh^Qw;?bYv%v!()nkRK<(+xk58^R;8_eW^7Lzm#GFgu6i6CB|>0o z%%RK;P9hG!ZfNW3X2oQbhTJKvL7ss3PT=TH#L^l{(+8 z7)aqHitC1|(L#ofWue_KO&x?|W1PhtE7NDiw(=2G*IJ)#ItGLWEGY4gliw;A2RvL< zmr@2j(qFsbLNV^Y`9^%jJ_HM0?B96W+Isv<>adVP9bKbnLHPGX(hRPVHSp_XX{sIj z2Co730JLa(L2#^iVK#CgC)=b!v2%obiZSXE_mdpFB5W+W^J&k@sOnh%;^I2h3kfjp zwO}U%YOEPA`*fwB+W)%mm?5V!CoUvuNG6^^R<4^8YRPV8DM|SgR0ln{yC%4p_?g@h zN_5`p43VvF3*y<1m^1c_u}h-O$7Q|yS^o(Ry^=+!yvLOhoL9o+>HX8!9~-}A*sB~! zoE;QrJY=FLPOOOQp6%@};OmorEc#7=n)cE8?5eemb#V8I9}=h`?wVsbg2}`{9-@vV z@YlCDI2Cy}gGhj0bez#4SgP|lBL71HbfIy#uo4O;NPY^dPmo?P98`1ybnbYJVFrc4 zRzK50x*-vZ)Zz8vzGqNE`w4q*-d-vtmUzo}<-;euaaZ~qi9eH$H!tc?woMFF2H||7*-x@+RP1Zg{LGznez*C>Phd*io}Pd$+C=1ypRT^w(ctc;o9lp1_Xe9nY+cFd zoM6T>{b6}V`$5SMH}nx$s_>=n7tyl$_}P1A$uZ$8wW@V$#g683hpTX2=CE_-rK*7( zA~^b*W30UxBbRn!?~358t928s@MEaK3&Z1Awpki%idb^hQ9=u}r`Xe-bzDD3)tcyvh`UyE7gVe5pFX{dY?-OVK|ADf#rjQ;UX6FBG+bAg@cJDRuo1+&8G_;qwDGO0 z8tS33nVOrMbY=#Xn|4SqmA&^L;!7IZ0q}BlpCrmvK?k;{(wJzynKZt3H7yLaf1m%} za_{iqn#nv_JK~;S5i8%)jIwwqzusgl!s={0C^Z=spdJ$k{`+thfr81QN4{KoFwg-s z*SC@?ZDrMTqT+jXt5)K@?I~L#3MAks{uvb+PUx>f>(URjiy>XINWe^T)WN?Z#36ISazo>?(ifQaXct&I`a8Xy^x(eqQ=&GXF1Hm*`vF!Ec^fUDG*Rr1kRJa-9HNGco zX%i<^-fjN+IMFbO?;sH_Fn`dL@5{Az@S|IR?2>+!5?(xfGp}Usb0HsPof3_+%fF=i zgekDmTVmJ+v5y2I_ThE5CB9+Ln~rBM(o5hUWyRtZH5wbLJ7%O`pKJ)5^pL5jl(60H zk{lY^ZXN#`c7xlzIlko4H?imQ;4&?I&9CT6p>RWW=I+sBr%w&1ST39%t-rGRBRQfa z6k*jgyXE{RKM5ELwOTs`8qJIw&k!0jzGdOnr(++FA(Z;XDhXtyTXDvL(`sXf&$V2p z!O5g*!^0P?u~*O=9Aa3nAFpFbm+9NrW(uL0hb&dY|b0~*s{(3Pzrqf1) z!1t|MlYMy`eYwjFnb^k4if`PL=h(3FP!5?K8-H|j&6{yhjZY8pg31pq=w~LfI@oo8 zc{JtBhF_&k5=HVyCR=Zvp|M#O@=yiYDwSE$GE@^Mg8+lew*9_9@ynr*FSQOtG$tIsd4`8NyqER! zlVj6GR7MM}4q8C05Syw6kqdcv56tJuY@7Tsv{#1WSTxOz&{B0qTCR9^d+sMUSyY;1 zV7>8)R+#v(g1S3)`^_Y@&Nhtv2A6cB3LimzEDa^`)WF-5Gq}<*iti}ok7pb=g<1y3pC&_+3DnrFnI8CUua_bH+?o= z81I7CQHO5BjzTv%1U2HxPij?xn?3ym6#$$;jNO_gJ27;cGrt(%7rQ~gF zF}XPVFYIoQt=v7<#y4wcaKR^!F5%V9)e|k_4IXuGUCIy`dHPK+^O2W~8tV9YaPxJQ z_~mtcy*ZY{4ex{}F$r8H;8RhZ?E!~JL&^_Y6T~hOz@&$V z6x=LBV9%K&gUR7uLD*3nHO6X8s#jR#vQwGGIonUY27PnGh{l@HouJEApE`I@3d;Zp zqxs@l!8Tm1Oo-==)p&u~H~Ztkfs&J#ZY1m{O0vpFrt?3yu80E#uHSBdf`0BGtDEw| zA4I%A+DbESU0@sJklua2toa64{;sm7+vhw#1q*Xx4K&j(?fA;s!>I+MB}8{56RgoR z^W`U~K)6p#d8x#7Mrbka47^~wV2itGIi1&ga>)yph@eR9eb9*kTC48FYjfVyA$!jCRcJvc&J@pvG@vx>~%$+pt-L;m)7hvwUR&;_}eQmDpFVV8jl9ywQ&^tB7qx9#Ez%2n#wwB zb?DTcV`KHc?a1_ZL+&vQi~|yP34^oYju)J8i?t&v_`LZPLVz-@>6nb~quABXkxTHT zZ~DC{^^e=nx*3<;PQ2YI;+#$FgU6w@#XUz0#!ow^5oqhNf<#LW$>sAlk{lVv5t>iH z$$GZDAF|6@@tdo$Hgj-b7o0llktL!Zig{Ya1Fkbojn$iE@`_`At1;+tiS}4*NuB1Z zyrz8GOz~W$ES>*%`@WHMqxW)IeXusd5*~6Kd7*sW9>{jwvym7gI*w_+-}GW-X=i%i zQDuoUh1SyY8vChpN*C)J+6YtKSA(3LR`v0EOJ=t>0zYE*#!fhLaPwXai8`V4@i0Ed zAPL$}gr8rD`?6hR!&0P}6A+K=HyDK%*Im{V^pm+lHE~vw6^3_Ql^z;ckrBy*5z=r- z0fHCy;O%+^-iqoY>L(2e!~M&L>{(0QVGasR3buE30Acmpd;Q%lLu(UChcakJ*7EGl zJ(s3hRr6`fjZdp_Flo70UCI*|2BoB)Tf?2+yT$$v;weR0UV1)8O+iU0CgcH20!k7HwHC%PQLV6)yu;0fhPU=k>*-2{XS7qk31$y-jkFLSu;29)9-B9%! z4BNb-SxAJdNV^s7P_Np(9?CRCtcuv+EFuB!9*;zoy#z9MSJeZ)s<)13l7+Fab(XFK zxK5RCip#XjA2#(Ofv8TV;77hk-7AF0%#m&61qe{`;+%42eORg4p0+Bjdmq8an(q5L zq{(hsr{QDp)GK9#I^6n-(YLeL|1i4Pu0sNrQ^xe}ZKhAqL;a}b9+K8@d@P(@6d3X{ zfe}sCj+Bbia5iVxca&vccnOUmws1*-4H#8=u2X|&yOil1dw=^a>27uBswZ9}& zcz+)HJS0I|sbMK-d*E+2@Vt!K{$~ry1i6!w=2@Mv#}GI_B&KsMw}ZMJ*4a-es02d- zz4v zxf!R+GGjQljX3i7xZ60taj_^^FDsWnV(W%cek{Zi_Q^&zRPmE&lkznZ$Y<38+k#uq zWi~tEVaJ>c%8~2+sUAN&xaC0=?Uu_36L=@CjDFYh0}CWznS}>AlMnQ{G7g@FHZmi~ zjW2>g4ANd3%puHFGW2l&jV^>nzI`x#C+wz%F?ICIgB$CtQ6FhF-nQM7!FOzr_FJ!u zkbpgS5x*Y^z;v=fYl>Y}ln4o!_nTE*OL*j?qiBSnTiFQz>f(t(z3P_f<7x^aahA1w zNI?9i5&n&79}-wIM^T*&Y{e#}x@xu+Sy>$wSfiQ@@@k z_RY=P3=1^-N$1klt$TdlZUIGf(#eSJLWw=`4T7;B`+&j4#(j(<@Tn=zY&{ONVVa@m zvSZVOV|+aoAV*LlCi+}Y?|zjLL)gCw zTt)w>y}ua?-o-5wLcD;Zj2N&s_6}-JFAKR?XBR?)*kF8kNxrYmzy_#` znHm)C6|dNXWtqGGs{5^+n@b&4GS^plGN%o%tR(#f*INX|?Jp1T&JA${<%lWVHlS!H z34u4$5bwDD>vcoa!FRPMn|($c+3_p+6l3FcL#zRV`HRiobrRpj+^=6k5toUpf;URL z1`g2E3v*A%Z}PoQGJJuCkaH-`+03PHKNTvlr1W3f5bs@x9EXjoMqVFLDnL>wPs9;a zd^dPy$JjTxomXmsICZeq2!TM;H4QQ&$Cmko@|Sh?4NCRdV$STJS{f`^U(LbPq<gZgFhYF$b4hCO%HqIh;{Su4_l#=t{niG9AfQO^AVetw(v;pKDosQLqzjQIO+chY z35n7|5fD%i5Rl%4NR8CckuD&;CKRPfLJ1K1KOBM-x z?`N0mx}SaTS#OMKH#q7Q0#P5&8k3`e>rG}p>ZboQb$oB~8eo`Z+R^Tsm45%_LuI)- z(60sfz8~4J=(ac65kyL-#*p@wydde0U+apj5a`cSYE=1b4GGKPCvuk{@k@#tVEAzVgLUis*!`wC=Lw?F3$gvQhw1AK;~n-Of29>p{WwDF&a~#?G}D z?#^Z}{Hph%c4SRz)C1!vfQF*!7#(TvCfVFKW7w3gUiWm^09u9BTg^2=c`*%j|N8^)0xho?#s!XQ8pH zZ;-N;t2NCC7JmK-xB8AtjMvs^ms(}2JS{zstORtL&PsjT67wHBrp-uw!8lWY?xvz>1LP{U0PHo5hw+u{!krfUllu z`atYMw}=7#;c#0n5i$0#9OG#q7fkTWfgjPp<&uK_m_B;$#ok-~$kHX3a~pTBl!eV_ z+fRmm^r(#))jha3TS0gPs-~O5k<=Teky+RmvxCm5Jplxw zj?eSQK&>8vSNT8+Q!iinSJo?Vrd?JHkF1PfzQb;41JR%?He$CXEI zP1|cO8u<9?lT-?TeuUVx-X`nu%DGkn-YH*E5FXGV-uU$ieD7-k9y#wtqL$+bZ`g%R zRFhx4j@V`s*NOgz5<6sMU1Q<5Ox;&I_(jKeLW!35>?EJuupi?8Ylxi8{JVoS!n&s4 ze&3klM8z&2Z~Sv?`uUTYEL50Sl=Z$yUysFc;)m*mP>#l3F{o zHZU@>Ge7u;E}XHwS2YIoWHd_WI{xxWLmuX(oS*O9h;hnX{qMv-_Ie3E8)-LH`k(4@ zJ-N5#diA-@+H_i(%ZFXb=Iv<{;dq1miTWcQa1nn+TfX&k*5$P~%c2ixQxMpulsLQRamfhE+4~a zh;DgM`G!fSAAyGxt5fyH*zA)MhOM(yoFuPY_Zy31RR+=AxG=hL^h zo^LcJ8fdjT;keuc(oHjp)&rNdvSzp5TcA4=wj}dgX;;Jli)mn1k$-BV5c;co@5JVc zPzVKJGBLfv+76#zU6t4wEa`J!@r!8_8B?06UEkcj?r77K^I$MEDn)EGtXvU1E}x{u zT10w))2YR@29E_Xb9SpJZZ<_#D2go14+|Q|xRza_6}|EO%3GWsber0P!T+4-{eJHW zCf;nL09KEVKS^~r!obmGh`#Y4uFT*%ySceCB`7NoZp7syw#@m($v{@P*Kx|L<~^>_ zK6DHaXCpsnjI~Crj~}tdHMQ0kcCiFDYicV59A?h(t%He7ao=$vByLf{Ya$%uqj+}= zCh2V#oLXRS;O^$lU7uliHQ{#trB0)E+7u&gBe7I)EgZK_0n8?mWA#5!Q%Z1;3^E|8 z!wD`FK)zWKe5Lo40!W&kFi80J;^vx-w&n{9)CRP91$Hgq7i2dWT~|gnIM}R&L?3i# zPW~w>ecT^f>ZQuzu=x1iDK!!G<^J^jGyQv{{Ck-O?Sqb6uBDHF7ZGWDPfDT=cOR@d zI@r&P$)yajT_YJLMASdJ>~dBA)x|R^Ttdi`hv0|zl#nF8WjOu>gc+m&YJq1Q3DVT+ zpt?+gHA_R1Ql}6#6}Qck-1+K{)i3kGFV$vpYu8`C>ms*hVd`*X*7&#bl$|^QZ;;=e z$EN@wPlg&s>y;Hs+qhlyfoOW~Nqd0`fJm7W@Y8hNJ@_ zbbv%}Q(SM7c-Lb8`GyV8jc2rCiR;<(G>>>(qAbl`0|bCrU0~OMAz(37l&DF6;_X!eDyG%B^N<#|e$% zD7B?~(OV<=8-(K$X1EEt~g`cEEE$ z57#4$f(JS8vFZ8MV{v`X{<2znMkbYwS@4h6!$1yF*q2QZ&N4TO3{0~Bxmzb>-`+HI z;2Dme8rjFHuSi`*XbS5&%sk_v)ml|PY<&(A0=ezckjMS0-^zr%TDHm3&8SkEFUs*Y z9@d@#Y)HpAh~H|LTlqrk^El#70*mYDC}?gO3+ndcBiRwNFmM)U+!Z0{bmJ2#Ba2Pn+_T3!eU4c~yyd zTcV%(wd4r;fx+~Pj1P_d4=(pfD{UC`p!sxeLhs_NyIHANt~M&^E!2P^z9kG#doQ&k zb7G6LKdk6?X7P4bEp6HXor<@oKkq<0GAl~-Z9op+Sv^@4`V@zX@>Qy|cW9W>0YI-$ zL-kfQgIYdTRbZK%RI@Q#Kdcn$la`Ov$lza)#+8ZW{6+cGQZRZMl zsQ8s^o^<7@s=Nbz6i`-gr!$t^{AAeGSW3Q39?4-O8eqZP+d2ZcrHn$a9Q78}ld~cA z?2|7&g+BYPpGXt;p5IUu_3tlvD(6aNa*V&*l<|I1ExfDR;0MIN75x<+FT7HTxfaB9 zpODWBrpj*ijcuvvxW}QfH>-H7`K*LW#@@qOf{+}L(Y}3eD?8bd z{FAB-Y}UNsc0cy??vuxl?}+r@;9GZfR`{Hw7i!RjCQ9sepd;bzyHI;f62PO0zSTvk zcHY$4EnG7sng4R(b+UPQRTs^3#r6`SJ%Ns>No^bBkXk()3-#%bXGMGNM7}e~idmA1 ziM6?_TA0YfON`wfzCfFzV?YeR31X4mNi(7=6u?^&D|RnV_}Ucd5!Kth4IHF9t@SOF z&mzq;L~9yz%p2aiCL1#jg-+gD+<*OCM-4V{GQE?BOI@W$6mEj~w0QA$6P*Nso(c%E zPaZq(?V}R*Kv2qex4$t{tyur#(L)IHr%S+QlG*81k_x`0W0(m;D8mTJ?RCHe_TjZk zX)IsuUYgbUuU@*)smWqAVx)Co*~UliUcLZh_B>ffMz;wQ?e9l)PxTI3nYq@&J?7u( zMq6CN;@>@ZNGchR4?eH_llTj(pRo#$$gN@M0dvmJkiu}o>$z{LguA+z#E2z4&2-~R z4ePFPg5LdBQnR{lnQA|;BLE32m-i4S=`lx1bMY9}2%mb^IR?yddct9trE=|RF289g zYs`uYUvJuAK*0K9@1JYd)={gL%n|SEk46!ol`J$Z^r~B>y=N}-A(NmV+h)!0leaft zRtOCjCS6Xt;6S`+CppS@n%~OV4W@08z%KfAzDg^|n{`+w@>u2SW_S6GFBa^7?A85~ zE5&dnPW?_ckd}Cd5J`;3k9L7s&`(2=9K?82Vo5%vZQB4(ZgvWjtv~h9FtSaU$!7e( zykkC>Km4irWyW_GTV4=QD-??saD=d|_ASZ$P+}E;jSFAFwGx{B%9VdB zH934zti>dgJOvFeE7G5_jgc9M23-^Yk8+ZbEhO|_13nS$&7GF_MGWAu*v0oSx%O!8 zoCGa0En{S|R~UIJ0#(4XhLdzLiv}ISLO+#2+}@lJgjH>0oozwu&!<=VgXe4Rme6kS zUAc70?8$~fKN@8fg$2!~+Y?PzSm_|C*gtv2P;0cPKX_3Ek|7XazQ9ZV)+oQ6dk=z zantCVct_+cFosub`fu@OHVL-M?N-WP>G|UGaozDz_BXYy3qso;&I-})f~FC$ zYee1Bd15V=zU>&qq2z7hSG7I9Jm1Uo{d5xengX~+8$|Ol1X-@UhnSO((=smb7KqOB z3@L}aTu(J={GceFYS=6$8S49xhERlucb)O}_1!1WPWULx@7NRTje**#VQE`3e*@$T zs#YWR9P2L+PdvgRJ&JR)=iz1RR)dxX<`1S*Omjd=E|COg2~evv02IVFdf*I)M+rO${PxnZRg zK!+K~2}G2H$CCwqYjn>gHm?FN5qp=rP!AQrik<{Qh;>tFU&62w{OPy1*TWrFAAbJB zeOiPwUI~c=J>84ea1SRjU>2o2VO(P^%U?I`o}Cl42dlVen#8CH7Nr>I6!n)cGf@EU z@N*!<-+7dQLm4g0vLbdj2Tx z%#=uF3v^y*AILYLX1TpEF(NZ=`4L`xVPj)!^YFc1%ll7tsdqmnTDc4=R`5uCnyw+~ zon=EW;Qdy<{Bss*fRUxO!f_9OQ8923B2_B4MjTz3jmvQe?-&WJAF(i4NGOeoaoUQzG z;OVv;t`&d@6YOzhZ)5v=@}S7KcHU@Rqo4hHXhHs0ZC$g+^1JL*tJjE}r}mKE!EO*| z8y8W!@6|^3lT3$ta(#*TVz)}^zF{@Pv+TU}foW0W$Jhh;P z-4nD=AKtG!Hx|ws9bW;_lb!CQQfk})I97>E#@)u@Zci|CQEi=~%bviQGLidK6{>Ug zQA-#K!mV})bK~S<_Fs;=ecpUNb4TW5-^Xo^s^fN`qHC_*0qAWm?jC#=O^7CDltTvl zK<8n?#EKrfdHv&)s-nU^?aA3hrC6rsOWD==k_0oocGBq?0`21fBwuJey$M@PbL5{^ zS{83;_|Np=aXhBfG#WE+}h%5-d@^OdSWd1Qbjg=wyDfRUgZ%8>i-k`) z-s4A=0u$Y@w3o6=?R7();7s!i^CRJgC9yv%3Zz!b%yk*UnR#gsN>(X=?qwG8I0b;S z8YN1M#vi({lwtgYh!VXgm7g=X$2Z2e^=p$Yr{BFuinhpEnf?yPJ){6GZUb=-vW+{y zHS0UpDDZ_AJ$!tZqXtpElaDm(HBIF*TAVHdF zh8y2&w-#W14OK51#WgJLPjs5=deK5&33kMP+)X0Y+R}8<{Pee9767^D(!$1GIVQNR zA}{{Vk)~F_O8VwvgEG4>*iJI@lI4)?Y08yg8ibm&1}F6~eWeCmF1foYY4?}{IA4PI zdsAoP%q-fi0pB?-BBtvno-y~vS2)fP%ZkGXA2p~OXYoI#5%c}R75Pq@uQL}7TKSZV z%E>+rgbKH29vh~1z&W*;A%Uzwh{7gfUQ4#T?;Spw6uj>vf2m7aBv3PXGRzC~CWjTV z8koyr-IZxhB=~Sa{Ex-}r{12Oa4kE2jlYh5qo~t`$uLzyFis^NKWIkGaKrcr4ED{9 ze9C-~S2aH$gH&dEblqGk+kYc!t~q3_^dSv^=FXGgKr=nV|G1P5Q6+J?5E!Ys&1FpR z`3YsNT+m4>@1y|yaOB2Iw~Y?9buGj1^NK>B@uwK>tM=~Diuwc{XI?Lm;2nBRen0_u zQUI^v{1ku_I^KfFi!G|kD{{CyOpvY(5IYG*GKwA(0-nfJztipIo(P_02VPgyQe73| z7{4iV%;BXf1Rpp3^Zq1eUzY-S!-L#HtpeMZ>B&Eq7;>qP9oH6t-95J+(Hf0(5n2#z zzhcPUF}IzHc&za2N*pl+3nmHjp5A~Q*o0Qf&G#)aC5)If#A7+d0H;jd-<%HVXl9(- z5KOuE*z3lIwG={uh#WCuy-(@eQ6-Mo=Uxv83P)@n_T4*z6D3eP%y?e%MN7PfkY>j# zXcKSv&Y#=fISQFGXNdc{$K#ys-x{w!ua;VU!7GVYhINv7D1ZoGkXvq~U111{%#UYC zs&aZVmc-?)@c0&^=$I#tA)}x6hy~LwQCyOn7yti{! zwzASih(qnic|GCRH2Tsp5|VS7sE-)L+Xtb9P$Dx1J&RaDA)vGvCY5U3UbO7_qC(&K zHJGthjjG^!ivCL>bnIf%tDVyPwxEW^*&kFycjZ4FDEzN12cUUYj6p)18f1z!UkoWUngXGYd9~1xzd?p5ZOaXLq z0LexLWFgkmAPQjo&e168>QxG0E%Qt-KmN^M>Srv7vnC2)^XkbjGTS=}VBZ9Y`wgE* zl2d?HaLff(3P5anOP1>~>mZUC2-=;d0E}3tLAXc+1(4!F0U+*>7vYER&H^X^Mnm}D zYiKi%{1uo3yep3a@I{{(!Wt=nNHGv8)qtb{By3Xvg^2B3;_W*WK)>=yydE#@{`SA> z2KpBRkU#AtzX8+1|5w$<{tNwK`D4^_)%35rCH;#5-bXxfat!O!|Dv1HzZw88tuuT6 z-_HGS=l-{I|J%9$?cD!%?*CfOMUXF0wOS>c|DU{|%=MUsli)%{k;q7NE!8e6%ZKwB z<7s=E z!)vxX@-#&m3pyA(G@zRN+@f-aTz1M$pnuEY9qqX_tx2(>69ss3$*Y7biT2y@OIto} zej`ju#ej<}Md>fzjQBe|`f3vwcepaQe?MKVa+VOq&HZ6Vt{T_n-+brwN`^-7Dbcj|6(}jt?Ps8@ zy~$MFaY(H17rB%To>h$^F=|J!55KU@?QUgmhpAE&}7ge!!$Ca2@N8KUV0D<+mR# zvM%`R^wWFL#@=7Z!*EnWcVAL}t2Hw~E}+O~eKJc-W3d!KJD>MN#Sq*%&;w2V z*lS>5aHW-xO`j3ugotp=24`85Wm;`#8mO^b!}qUQooV-r#5;{Opw>SxR(_}oc&2aF z3N0VyYiGFrL&E;_@8NWgO{IKs-HnpjG>o&m-b>ay;m=LN#81`9^ArFV+QX0CRuDN` z&_@9pg3%DiD(Q-QmxJJpi?`;|{pLSw}aS&|K22V7ax#YOrHCgksnG6p*95pWG} z5=;R$k&Ck!eO>tlQqi}hgeM8Bj)_fFwdj>QdWEDt6kk(S_@;Vkt^=vT8aYrNL4vf&~Anqxi$_=YS8)f$6=wogVAf`IWl%(%tTZVEu4II9BUeG8xP zcKml68;WPp^VytUwQ9O`atzj{(j{g`<>Gy(#fz{8*moenm6%!vS?z06!^t>a#vLar zIcRn)3E))f-7nX8I`U3T!9}EJSk`Q-T${dq*qsmg08AC+*jfoo3)0}i2-M!2({cPX zVAOgXTCqFOGUiw!UPf(jCL}*xDj^SN-HDE&0GLU@d`DuF&kbgad-xU z^LhJ+n_b2dENt%p-4C;LdmH%gSV*@XNXi*O0 zB7@$0guPR6CQQ^d8e0=*V%xSSwr$(CZQFL9_=z#`#I|kgf4~3gI~V7i?&_-UyRNQU zyLRo~YpoCDbd9pDy0$Wq{Oi)Hq6>=Q@M3Ki&6$l|M0aWsK2P#e3kUgiK4480dy`xw z#Nf;5@e@k=T3CI-IeC8UHY>1gxPx?N^3jHR$W!rPbTB>p$WjO=D#i0eHQzKa2Tr0u z1*~NnWuWVz(Z3d2Dz&U~uvb35@v4CjbKx^%tKP-*!vF16F90I%2J_T8<{c{m@2nLZ z44rY=G5Oi7y_y!L#qQ|f)uJQ$KqSfjfgyqfKc}40J$X(}vFnhI{h@JDsrQX2{}Q;^ zchPde_P`lsEhEM?j?gl7>DA1&HBf6ZXr-|;&qbUtaB=9=PB2?Pv9)|H*ZZnAB|cB# zzQo!PHZSvg~2_0Jm)&Nz=4vIikOMbK7Y0jGb{a()cH4db?#(3AI( zYW+Xqk~tMoz`~v`Bj^QZO=W@g9y-^LtijtG?(m z0qq=Q^sm#bXvUDZOoyBo6D^M!`c{%?+BG^S z!6c3YNQ#f4ZGuQ!>{_)L&}7frrd@qg5~DX|{P(9Q$LngREbNq7to_#}DfI5kx26i{ zAP011l!iPWbrKR5879eMx?)^1$z&4qI+mFFP%#XJ(?kyGXnf8#8 zaIV=cY)&pNMkm(%+E~GOOSDkW)$f@)e(S5R#tC0N?}VKe;RxKc;?Aqibutz+Vw8hx zCAVps1ChL37ys z)VC9vB{DgnF_Ga^UY;Zb`Y65REJx2=!@4A6tX2VHLpK}Xe;zq*N8?Z|Znx7WG`jCH z4^p}t#ae>s{8xW}!jtuH?PEbKKACDB#`!#Z#tVmV9%|9;`Pe9J%(i&D1Gd+Z1z^*7^6Y$#?caGSDN<* zB&E~LFFkqDZrFK&f<1zbGa8rrF_l|xYWw+Byz{Mim&d=OL#afQSaG$i|9RWO&>+JR z25TQ|el&{@q)gn#=o`L!-$Lpz8U-ygQ#B~7NTNC;t}v6U-|%-${^O!B$o*RNcX#?e zu38tFMc|LMI?5a#lCc~h<@sc=14_#pNGWoUK$SQh9@S4JdB=`jx8RG_4!2t(YxXIG zRXHmhzg2Dt*3*3Ki1#(!^OvN=NY2zDwhD0ZAcjvXfw=kc*MgN!%5~Jr;VbRa*rUtl z>MPY)9A~l2{cB4G3b2r1kiEq&uCOjR?*7Fxt_*`_sYv~t0gCC{c1xQ&QwK7kOldo2 z?44+b%42-o#ZA=a=0NK-q{E?O0!!1T0JUpLE`836;T-nDxU&H_BgZ(T_4%JmAzN#I z4la+-Al?Uc*ucVMnT@OfX(%eO|CDCQh(+5duSBU!SO1>Z9@>`(bpJJQ!D$~yrXv=? z$KZ1;X0z77r0oDguaecEAi@z<;WxZ{hkDlC+M^3CdRG$W_?mu;EuG*|uu6`!fZr7? zfy;_69fi|!I!JLeoesU%NeETCqH1_kzFrhuKEU!Dqz~U(L9)dGOqxeHz&#jYBHTz_ zuP=aJufC-^WxRB-OYWF8C2f$^AAp0X$-#5dtsa@4bfJ!2)7s-6U>Po4+M9)t^)yrP zn8F{}y>8;Y8pF^_?iK@}dIBef0oy3)yGXXK%P<9CwduUuZJjTi+dgH&p8jx;8K>^O z&k1Xr*YfYiv8sQ}dsghCj9rhh!`nMUNZ|z8?m2 zwBx4a)&XR!LCi)y_<;D^8Fye z;O-jJOe1L_f!u2y{`(qMCmHjYhYf;xGL1z>`CQO};Z+s&jzPqPx9)PtVBe1kyUL5; z5OjC+Uz|vD3ncpbUdDIUd}67|-vRMV4hbtdlFlv%GjXEM(=V^E6Qw1WM;$bM=FMss z(hm#m8mQidK5vapW<2=#_l=Dd1lYKh^h}Y$!0>JAm#NJlsW^@7Qm!dFs@Q5`bg>da z->Hj_4pGoh2tMwnBse**erE?CJB?cV?qYzI{oQpX_TBV36^6I2h>y%gLe#-#cha3D z2UT1j8U>ro$NTvgA<0|`X1@JSwvTt$`)R4js;_l{w?0eFIiK8)7^~2bbJJ;FzVEzV zE^jeh^+|$RuYiLRZ+Ux3Fe;s~t2hw7k0zU9f7fspdfc;r0$4QU7H*&P%$F9}VHlF) z*tsgLYU+3Do>_PuituMPZ9y)5wvvCOwkDkCbWs`E4~!vTN-CJB#be2JaWPDp)!E)It9ybBP)Y0i|uFoP5m$!o`YTG`80@%voVf^}TJ{dBxB4S<$@KcfHtaiTBuVFLS<9Hjv@s z@xHT7hM*Hr8PAUi(@6X5RW8;VJGtVm7M}qCFFU7(x{4`AMAB+y*`ihNHG7R@;Bv_! z8-{GTrLpbsuUfwtsAz3%Dn@oQ$H2zywFvBPXTXF~cdAWhgscCo=gjA<1&5`>NsC3H zNX2DQ5$NX5Ad~4aRPwD|cCMJe3Q~8Qes!Xq|I$=B%^`LC+kM(KUs3&HN8#2vG-3y( zir^;@XpMoza4y=y3{&)UpIkI}3P_!genVe*t|mjcu}3xM7S`uN#$|P4ut!^jGIy*D|zF7(WvG|3=&mO9e zyP`y)zhHifsVFtb^5FSrdB(G>iGF$q7jIXp)fJ5sL(WufoAY#rTtCI(1*vWkrF7Yk z=%M~~G2g%K0%Oy367UbEUVAjYBggHg#KE8g?2E%#)JOM4)I2P|?}QxkpG2L!$E*M} zkE83Fd2&W(*5yU{gKEA$4(A=^)=V4-;sD$NB@|!x|pm$%`*)l!YL)YujP~Ik2EyiM(m7p^y|HyV)!0YPazc z>)<#lQ;?O?1gs&by#R+TH2RK^b)K!OaTQ-z9}}h}?5|Zs`NQ%LWzDzfd6ouotIZs=}jxGiQU5I%0o$0mFem6eZwUCfQOq8vp7TFY4$d2Uj(ko;4!I#Er*S zch+jXjO_x$d7}G>iob819J02TO{YpvI2gH15Cn;AfPxAHc{%2JIC!Ij0h+XcreT4$ zvSALKaXRDL^X*S|^lA6-C$M9I&nLnuKj3!`c{F~RuM)`i!5=gBwQiYR|F|_O_MWbT#^me-}aEl13X!lzfv_l1ixrf_W z5RQ`YFl=0nN{w&K5ARVqlU@CX*1D{G(7o3{_I{$E??pad|I^p93xz}qvQP9s`TMuG zlO%KOhVl0FW7%m%pCQ@V;=oExhIrxy%0L_PBc@-QTJ}AdF#3lhn1r*RhU2TRq|qP! z+;92|zjMAz4n4XGw7UCGqR_Uoe8}7>2Jf}hwu*t^^*8jJqWK?p&$RC(SRJSP5qw}*EbK2{xt zuEyF+JA(!H?91aDEC)P0U(aQhp-i6N(9H3>@1D^l{Z((y$P=Qa+-i5lAPo20Uu*mE zMo67E{msaSP&MdL_Rle8uAP7Wtog>XIwQ8e8D{dKXF2UH-4MOuT%;M~4Pol>oOc`{ zu?>Nh;-G!Lhq61{?+X{3xBYq9+1#<}dnNeE(;ScTe=`=k)H~)h1nXJ%)?h3U^GFBL z9>+Ky{*n&mIrL(u_rT48Fy!WK%(gLM3DWyM^4@%U&{nPAL}@RkRoPS1{{j-b8MeG= zXmO8YBVU(*=qspz;Gu(z<{j#&u|`xIc~M8jkVe2tCH|6+yNZE`bLuk|K#J z2YMY)7uL#DSN?=X$y~3q$x)?xWcE)41WBj0b1S?PkKN-%zXIry324x9Iqg4bAul>Z zJNNsxN!3Gf18OIctmi~A6{nwbz^}n@6T5$P=*Aj=EuN4cPlZj{dm~l9K2@X(S7l5@ zz1}*iov zKl_q-C~YB@+|$9&%!J~)uttSLD)hFfjokzNQZ!?PmG4}}C!7`Ns6kAkHTMUvMm}hm zvskK9Q*HN8B3S5Uo)p7q<-p{F*|P^7INeg3MFKXqLzGV*DHkOK5jLj9;D* zAxWDyu^4-FC&52V9`sWGwE)*-y-)un@5HKjNHhrfKrwcmi#KYz_kk46kr zq;_rv-i4bh)#Fcsn<@^2UL)5_y?XKAv;I%t_YWqn)^#2~MLdyIpzDBPoyR103IO)4 zJlWNKU2C~wgJIBi!pP^!b$M0Yh;SEw7Lc&B1J8YtW33)+ zd)1zBZxEBSB9OD}^X|4LS2yqT+BfuZ?DCFU_{$PN!-FQWW?Z^v;C}U7vYEvIh87RD zdUqER@k&Ho#cyYv0?Fb0gfwFl7yhgFvdcCg&!K%scQ$g*90Hb zovC)c^LagGf_c~&p+(4QlGdc`MT7zoOAcUOh}snwdF z<=iZu4qh!CC9~00_deXVqZ8sJ!309}`hCsc=z`E_n7nDvtO# zWYWJgehnH)YuS-*BDU){R^72F__VOCUt8Bs2;D#cVtriofL%0xVDc;@l_qw$KKy5aUvi}uNA~5AS@yG@kaCpuP{J; zY({|_BsYf!ig>-pSaoc>wEy7!6gR)@3%M~CFqP#0dz&;kOcsEOLp95AW}e)GQ#_z3 z_A#69G`e9@Xzwq_eE%|dX6KsUv{&f)y8ic&K|@t@g~egTeR3_s`ea2A@}o7Un+{dK zbzyY$11t>>nSmTLIb7p7S*1vuxn{Ic<6T`LgAsu;gnVXL(Yue(va)IH?P_OO!h`ql>KSwV_TNZ+t+F zxKzf*oGlw26>oCwF5EVq{-&&&;9tvw%7Fdo`ATFLweYL?C1bCmU5{mu(;8<$Uf-YE z=I!JYY4NWn)5|>S1JNmj;-GtVoo7*}f_82qme~%xzzT_$6|%bF`y*zm`rq{tJpFx5 zd9YaDH3eJo%vh^V1UckIzv;HB#i0(?J$<>%!nco4UawK@ckcH)+;&jbf2Q$L*K|R{ zb*R4ze>?r15Iej=l)uB2lxWTDGL&C>X-%bV%Wn@|_3LuXn{<&A5Piz!s(bkz;Yv1F z09H6j1jg*o+P9u@rY)<{%-yuCr0Bh;NLmTNRnQN-mzSGtI?oWa%+f~7s$RgYC9M0| z9eA0t|H8q*2j^$@6U8Kw&k#bSFuWv-i%L%v$?4tCx@zSx6n*^un{2Kq8f=-!Fj03l zDGqKGpNaG*P3p~(?Hcr!J<`8@0#;)_2^|qFexs#f#30^naB9QRuIlx=vybb=E54C3 zz28MtOt=EbEn^{)K=DcrDjY}WrE9RyO22?w$uUDuecU*|XnZaM%vO%Ibn)Amy{+!) zPkn%AhgUM6|0UNhu%k*F(V_@4Q<5Y!%75p;rHVz1c$ju&G)ml8c$P3RVKN&v_D6Wa zYBNw}8qy?7dK=PfF6YyDVZ@{z&skiuUe(hnPAo+5dXbG^p>^yMNDTi)Fv25 zt;+A&O=vGq3Bgf0%J2Pl(0#B~GbW#4zzXL*SUJG*K5uNDl~q7r4vdpw`D3JM4jc#QZ+B{f%5ZJVtk8Cri z0tPR@YY#xX#+h5EqH`&NsLgHmJ@vi*HB$!JHJt|;zpqu7`F#U))`)12;)<#I&!Xr%OhL40$w&MCY+|IZH=GJ6tZa#4u(Tq>8=jDD4F#OkW4 zEAji&wCRml;vdm#p(^o?#%r71SbR4@kFA8Sxbu zJjS9t)Y1^V25Eckaq$Fv0Xy&tkY-1v62Kn5Iq zes!1@u8`A10Dc3j>T>K4K?v-DDlaDm(vTPhQ~xQ=As~G@m${RM`>;sy%x3#izaTcC#2MH zuPwFm(C`Bl15vU@4MM5Hv9-`W3|8wy$uh%GB|}x{FkxLSSIrP>wr#)vcVX=6~3(HnWl>KT%Y7L!g5=Ays=Rk%`K)Fvl&m4ItQPx(w^xo>Gc<*$Ok(wl_)8iQC zy$9ZU7T)evarw3@gY!Bt=TDQE|J>OfKIP^Yu(z@r0BC>z_a#OGcUhznm5yDZ#gHW9Z8xL}ynA^B>!G18Q zP4KhbzS5;}tdi07b3IaXQ2pT--2QMwj`O!{jh!^AHxhPp@gW=M@`;6aC+A{gfc zz>Ym*C|Ljyc`#&n-dI4yQ@8POvT}^)t*sypx-a?--(<}j470va?QIjR#mc+|4Id49 zpuZvN+L)Vm>g74K`GB-YWbGJmoE-CR=|@GCeg3UJAn%w5bGPd1d^2I2c|UH>wbi@k zJ$R_F6fwO<$oSU&la2`tzznigs=pOklX6XP{^>Q@LSOIDwsUV%SGt?8U!dHf&5Z{& zlWh|c{J@4(c({y-e$fMXAht?xkt-QzuAi2ZwP=N!;I zTmDT19d2gX^35`x5WxRF+wT9ffqZy=mk+)qjgIp*J6ic2K(^d44qpg$p_w?DH5hsX zk>wyG0U1%F@bP4Me@-?F(o*T+fN+1%`~#mn2~og<8ZK6-@!Q3#0AQ&CpTuP6qGNvI zYj9j7)yWLq*Vr~;8a*d5{*-yRg_ExGrxYle0qSEM)%z1ZuKwjaqAB%V+K9x*Ag911 z{+ro6-*;=wfEmkTbP-;fm6rO`aV(GG=ckMS0H2t+?kvlZPyP*Anp^DP@OPz6PTNe= zl0x90muhyMp`pY44Do!Ji!RoI+H`$$lgy^BS@Ymuovamt*(`4s=GmO>QmOu0+Y+ZL?+ zcd>gt?6$?PUqKlh2b50eSgd&~C%x1e^^N)@GcEeX%>b=t9LHI6;?pCsl_yA3`MrY| z1|P=!D_QK7;!77e^?wh*hZ9&$G@^vyrc zucBYPD{Ne!D;Z~Vv}ShM!^}Nz?k9M@CyxO($Lj}0>(5+OmQ+#7($9BrMzLAMb6lyy z1P4hH1acuo15@b7*jd>s70MwvKv}2#LodftK9YuU8#1YF90zKna&u=U=8lqwt{3<3 zj+X|Xmy;I4i|*x@m#vEz9h)1VKmovgu6$lp02~RdQ-W2ctAXwv?KT_o!Qxu)A6#Ot zEuhdW#z0+=j1Ued;lS#Pr7S=+(iu%wmOxG&je!Yk0ug`Q;hDgPPs#zV3=W`|?X@P; zySU=_sunfH&7ZKa4ZY;M-?GuMC7{;+QP`S{8c|eTwTdilp^v=&Y}V3wN znDawf8&$yvuAljMyACuIe`iFgtKW;nXLTDSIc3^3yXQ_C1#e2SI0QjB(~*>ONu%v64#?U{bdYRN$d+Sg3Y&&@FuK4ORD(& z8)}c@G5GICdz;2!t$5$$CXbxZ9o2`tjwz+1-Uu=gr- z^)$w8MJQ_OXc=@Jz2{J(`@!2nal5MROJ1INmG~3aa7Bu{{{x!2^Igy&kGrS) zN-*oCCH}{!7lS{7v_9}B#hoQBM`;!bm>v_joLZ&ZR2rR?6a4VpIANpdfFjU6GVYjvetrxDEK<$NE(918j9DGi|ODEl_l) zg~%n&6KPBoxQ{FFGkhE=KP9}p>oY6HQ1W?BX3{Y_cq`V^;9YLuH*i&hl{sANr5AI| z9L;G`YK&V}XBBwa{r=VpVVl_om=mAP5bSLzV*Iru!5w%{i=SxkycB!6(@B@sMaG8H zzQNhr2xAo2f3>2%Y>7f_PXk?CzZ6yII-C_g`RQmO z8mRQI{8rWy3TXQeSC0v4rc!~P!4b$Tu2)L>jxyOy2tM$~OzNh#Ofr&5S&de~`^r;4 ze=FmEWxm4@=rZ7W8W7~y?rViohAXjt#c(9IT%uzhf?cvarKWOvD9OhFO(ILG2S=QA zE^(~rxZ3-EfnK14q8|kxRJ`L!nnY~Yb+;0XAjl8%;mu!)!J*CsaDAFMZKqq@H_&}Z z9K*lT<)0@raNoxLM|P2w)6TRCTMs|%DMpMKC&96UiZs8k`E={m$-7)ED-tId=DPZ?=;K`ZKwcYqk zbfTVj@+`!at{R;Z(NgBT$6e2HE3%sa0h6{!2TP#M%4SInfo%W~h3YT5ZS4)i*0hl~h|Eedy=(u99r~Xg<~+2KJ+c{RM{{ z@E-{)qD`#4$F?j_bs(JRA$TUsW7z+e3P@&A23|znqb^yOF_o#F)yHa}Z{@|^^LKcs z(;>y)PFyYQB}Rb)$bglGz8u%Dth0#6tMI*3TbnCRTh~hB4xh>Q7duAXD@ui@c1A&- zQ+D=Fuh$`ksK$l&)cm4<+9BQtEnGk7#nY_&-4&BySOfJvm&%IurZGPX`r*;?p@SsB zx7uA6CTE>dr=a(QFSK^kmxHz}+zX&S&B#7?h__GwM@f1s)_uOD=PhOMrETM~utonx zU0>@yq1?bIjb#n0cbdj!|2T>g!?@3>BM~>6)LyBt{JMCvTFNWcqK(n)4#Mu;U%LNe zzRIL%R!2wHWVU$Afo4;HJEdY}>j_Ci?eCq~lk@XC15RzD4SD(*$-=5`bGTnE&gL_h zuKO;7#pjSkd8ZWy#v`%rP4lEv*Bv~%9Cka2O1}jg5;(t0H=5EkK0v{E&m~01!ZrC) zfd9e5g9;fy(~4GjidIiRrQ)uUzdiJMeObK@4IZukk?(F%Bh-@S;SA4eeR4v_z%W&F z-<}uXBwD(pBndW|lm|S`_q^)-U?0s^Ni59(f4SaDgF)&W0F#j#7BeV}pIoX$#^`KI^`GQP|UH~~$2-LHClyK+8r992rK%Q0|5!faW zUb9Vbo!w^kAEM;zJnEJ}6F{iH$+Uj-RjO(vcVMCmlllNGvH#Ztz*3EpGPKOK!7QDCMjWgkJGp5^?7S~p7-a)VSg<< zgja2cC6RJguM{u?b3kfdLn2Tojj*_AYo5l3hlf`h1toEO@^MU1q1UK%zy9=o^G9vN zVy=f(24+IaCPkD$#@j=c)zng-1vcTDs3yDT|lfu9<}y- z9W7_{kozuvD->D3_p@@w%G|&;!;KrP;ER-|Lf(FCNDd0Ivt7!XI;>^B<->8F$7#Wv z2g5qz@4OqSkC*H-lKf2yg5YNGf8z10;oWX&k5-#|D`oIH4;XCBozD`NY^DfQ;vP*< z!+%0c8v%)6WgeZ+&Qanus0l%oOLy{WMmaEhRq+JlL*_U-$P-gp*n+3Xv7ijZ-KA_j z*1C3ai-w1Z-hlZt>e10lr~UVE)(yt9!@r8#?feDNi%VNOx-LM;)ZE2p6`AI~Lw9|^ zmFBOpmAB_{q@<&n#MORJmsC+5zRPb*?&lH=`XxQnB+ zWt^z(`}0Jy5|{y8ek*cg1aV^Rce7d;9_$P+o>VG)23luW7j+55c6?wgo^NyfA#FM& zA>|)}gx=o;m&r9>M0CVdEHq#-0}Xn=z(s`11AjHTw>5(Fj~UCGfHuNYK)|CCk~W4? zfso9&g9qg`3UkG>Cn3B>FZ}5T&144Q3<3WpYQ*J8mW+lO{sZ=JCz^l)wRm_+66Bja zPUy49b(faBw1W!fQXVeyJy{o=n5dBzsxKWHGN_I@X%)Z%vWkTJjn4sx70KL45e^;H z&k-tQj1rFm76^2NpcNszR@i0aZ~2i&zHj&b$wD7K?OR~^{^%+K8+5XeT>VjeZ~({Z z!~~hw-W4*0)>S0i?Z!0Z?Efjq95rA@HYsM>8%Fu(K;e)4F34OMz$|274OQ!uq`2FU zbzpn~YTjpn18$JJM`0c_*(HVozSX3(Zw~Ix9SqU`?Ag?B)I^t#N8U@>$Vo$lj@w}_ zp9={p+so8P)i4*JK`CJvBK!vg0*vL|1zdL5kqQq6%74fZB?a7gjgdQ4kXhw4sG$k` zCq9Z3=F?{CkQTwYfANskXH>DJfr;vJr;`Z=!TucsiZkddOkCX1ac>o-DPd$9$^)}o z-JlUS2^$joXSwMTc0df|S)w93c2G>r?+yXM7%C{JwbfQp@}D4xq6{?5Kxsj;S0V_= zQ7OoOXK)B~5SafalJB|z$p0Et|Ls|rn3?IBIOth83|P3$oHaEKG|XIG&5bObT@9F7 z4a7ZNosAeg?QG*R^b|Ij(8F(DXlrG&g=pk*IjjcPi|bsOqOnQVSIJ7p?Y0(&nn=fR zOayZ;xT#}fJNY}SfA^gXo$ztHhfDOa#QQ6&F;V|Py7opYHYU!HEhRlMxj!R{4t@pU zl{nBCqSa2-Eoc!bA)j+Sd^N(#OA9968Cn(2HajN1#@}D{e3J?z;AZ{9t#+!-u>7dh zwp&US>m<9h(tt$6HdppmKs%u|3Ze8Oxs(J4-4t8;=q#R2dh&XEtURuoL|4MuauLd8 zpWIV*;FvYBZ;n=j^yF8q%!5_COQAz!Z`S*+FMjj=R|VQBTe*p?v)AkEBJX7x2f0tN zjQZfeByZ>?+0wMxh=LmWsM*k41ux}-qLQkGTaEO@pya(S|J~<_z*v~Bx$(j)Ex@*3P>%ryZ`*3|J0x`#wtXuuD<`Q|Hkz| zdyJ;D3~F5rJxPYuQ~f&i)K60fgy$=dEzJ->K6QPF?1}~xke!MKgP?{c8s5^~)&;}d zqlkiC21Wm&f2n4BrvKfTyQ;3xeqHfam$@ll{zI5Wxj=i^F7|LZ&_j#=K;rTav4TKy z|24!@Qa!3g+t%?l=13V26bLjy9&AG1!xrLN7llBPB__ibl8YxoW==Il8>5H2U9umv zY*0fR1@1D=(>q;iIU#J!dFr3<;Jb>SxHb{7t9L*qWHcY3@J} zmN+0E%7hYrL(wZbv?Qd%)GaOjQcSQ}lFgsojPOr$T}}tHMZrN>N|S%;DCeeN9AU%n z2`+Dd$IA8BT&Nh##i*ufNYwf14LoWvi<+4>A=5AV>3;+jfC-?3j~m zwSF{573dAJgGeU-4u99(z`r_G{4zbrBmy4%gOZ5*uac z9-#oOs0AYte}$HOJNI<*m|dHtj00vKGV$2#C=Ig^sZMyn+$PcsJbvJPi2a*>Fjx%I z@hWKcGpjHCRMxK^2QdraKdd=w`JtIUTTBJF2QofMdT-4<6?uz{2y!LmWQdeKT7Eu) zpAWttsQ-z354hd0u%I9yfdAJ2d))i~eO5Vg%^iH8 zU(aRTmJ|5>{f?&RY*dOwL9Ri)od4t_ zF0SLu>2=tXVC6RFUMA6{D(#Yv(a$t`$)sks@%SHlf)$!8wU^tj(H~cL7c21V=kX%$ zxS(LZhGnO})$XDS^h?s2ft2E1&)bkSNL5IXKDydFH_)b@Kn}w;4{__ zs2D|47PYgwtLQD(8VSEcvQCWcdXujDc7<*xaY(XADc`2@Sc2cg=DKvl4~K+M^O^&7Eb`@qxz<8M<3jAnteOb+5i|;UeH1|SI2k)(v_oxoZh`d-H#=&3kN+IYdB?Sz z*_&qeg5m?2=UsFMJ1}DP_6qYKZ`{fScF(K2K&+}WacF3X=o+DK9><&7P10Km%Jp|S zg+}<=PS6s)OTs@|1RY!O&;*|PJNqyHJ+>e3CCDw!R?If^*f}L_My*0~r7Q#Fr5jk8 zw!L3692v##NxD9$H$2yQjVQP@vz5*zLP?-_IZJ#bG;djFrV}lZV3cr_VG^R#X|ceE z%9*Jof$`4)8x-jOM8I|76xvJbSnc6t#qp?96_i)+^S48dZ_%4Ievn5#qhOy3vL-K-(kW1; zn$^vCSTrzAdD6YOn6IW+o;)9Kncw7yUm3Hu%w0E#shRbX%7l!FWoLjIT(_68mR2y} zGyJ|J$2M*KL`XTt-j^a^WW&MKV{|sT)pkC{wIFexn^4;A%*=lEc9UrYzd;g479e#@ z>)$`%Mw{wY*uBMLef$D6@($c#BDOCQf1}Ob_>(ex*hC2!*D~%fA1pBMnk=S|N*4aIuJ{S(_DN9A(e32A8Lq{2eEGhKvpBak z;znnsw5Qaez~%Gr@U{ubjlGOG9B*>!>C-@0&PlvqD(kx08dmF1&Z*Bx_D z?x!k@&VEJAK3^P8IgE~WXMTA`IG~+!1X%YqIH4a`K0vTbr_i)Y!Yivrml|b6B`Qm) z`fIBK#`RUNbPa7~OZ-=o%iph2-+IW(ybn-|xmtLzgHQqOc^E@1WH`HpqQze2Gx+h7R96Cgf-wPML zShSqQ(u{`RTm&!2mq6C~IgFj^N`v8;rtNQfqy&%4=$dYLeR=?&uPiwBP$*j*CB(y zNa~@ovv$G2TM0sDGJ8e<| z?9ARQDq_-JUEM@Z65PJitRm-Lp{6QueKg9Q{Ze&f{dtr;~WyX|nq4W3q_O2WX z-*HdHen7kWlIAogM@P1op)(X_S4K}5YhByjTgQ$TTHSvhNCH0?#n6*cP_PD%Se@HM zdm|qn4(_W~d3kx>m|*YW_wUDfKRj(Ve5eCA3qtrV`F%5oo!-!e?1>nGC(CVrlk!(T zxHr}>XeJN7!K)R}AAcaLe!?pwXCvhTHRYt#V1YglzYisi3%cK?1{}`XNC; zIBt1Sz%r>UL4LDDfEkjc_<)QS@PTBO{QFL67u|d9Mx+5LECx9Z$mlLA{-#aP0sX{K z{jUFb5R-0(qXJpY%+$=pUe(mpW56e0;&iIlY;iV{Q^KwJ<(5 zDk?cZIXK+ILczo|H_b>y#Y*+1BBOitK|%kolH$wfYYhfwJ@DcB0{O!TJuDFjfx8Q` zU0k#Ytth4VPf`&D9E4O^8X;A1&jAtyU6suhL6*)IPnXX$1k<>5)Y7u@)Dj!}RMJdI zBc6wT)}zZc2UF@^DSH-ZVQL1CNWL}0*QefgMFI64f+x&Ar=GZ(iHeJi&Bn(wvfmeYi0BY$iAjsg1AL53L54J z99;oGV-Z$_xFnXe(E)pi%s5TYi2J(^Krs93h8puOK&B-C{eu&z4&uvpNI@n{3Thfy z(1{U}*Lr}>7x6L=F%rszO-rR5vV*TEAAD`qk!SVVirLM1ltG3#TK^F9hroY(NJRK< zu!aWH+|h<#1(Ref4j(rm+0f!kYC8B2YbiDJLwe$y>F)brH?fGcC%}wg;!9GlnTReQ%AW{=D6OFMQQYx%prb(G4@EfTSM0W0e|?_f3MqB zz*?~SQnIX$NX@)3g(kIhKZ|OfCEzCt-T*NJ{@{!Jk6o=^Af5%soqIvG!wUypKsoJJ z9AwX9Ihv;_$|Q*oIDxT$Gq{|~D@5y1G1|)b7aHqO)2A5bcrIPmV;Fil>?>GJ=O$kr{o!Oz9bz=2?9=4ad3R5CVO&G3n%8-HM`V?@yU`1?)<8vg zMoS3^Yj-1Q*|uOf8KD&p8&qpmZQ#>1@aFK_oA3Je{pzdNkT6Hlyyx}kwb6;n8pe7kZ!-U8 zq96|!`Gpc=_uuj(N5%8YWQuG4kBv0vg@w@zJ^fTqr`r0$1Y-8vDzvXo8?25lQJoz= z7-ub5)wKFtK+?x;rA1i-3pZ6c7#X!EmxpEbrr(0EVI8KhVkSk2_hwDk|EPRP(mM=0 z4(rZBmGf8D+7o~!c|{^)l)Uf;)vuj|0#uQJw(NhzPLIckWp~lLuYA=)=TQUKm+r@5 zkbfy<6XDbaQ6oXT^TYO4&pG(e51fq(ZSoqtswxH!yXDVH<_*@)U!F4z!o48imTkNk z%PRhCshWonO6ocnEALpO-g5gXbgp2VRScJn$~9ec|DLa|O;3L;6&Rlr(|hWr`9iYl zW{-PX97TO6koG0f_Kl&-Q}^YplM+gozZF;TQHhtEOP|wk<~Xk1v0}sOEb%m837VY< zAsegHIgYD%k{*>kt{mbUy1IPuNMCb>y0Sx9r+dgFaX=oq<)h7W-eg1?q+Y6dWF_f6 zF7lshkx{r?mH^Q?RlKFQM>@dQCk9(}2c^LBYc+QM2aupO9Dv(HDyrf=pWrjPV{8DP zXu`JJ#2RT6HvA|5EemdoF;9ix%D%JdV}@cd`xs9R*8Ng^pR;rA5sRLgOGXNo$QUCG z@@r?H5ije9E$WiUm5R`t%hN6cEw4+>MSmFsdhh zDWLLlLNz}2{^r8nfg3SYI?U20^S@ipc(PQ%RdZ@V5@of9=fRl4vl~m1`i%aA@#U3) z$5X;ru{6dTOcsz;Y0km(>1#FG4ZTK|k^=)`$F5*f6L0x?B>FUaAJ|4`<6prThMij# z2m^|KPE8c3Pl(e2b;SC|QY>&vFBPg8`v47$3*&A%kl_zzP7Hz>26sCgdou6;0ZTx% zzw^55KHz@!TlaT@3@*}ET3XIr#7;{%3~CIut#cDmx56dpy|8~yI(@#=&VCCJ}Y7 zI9def*iE?0*owNkL9|(W?HAIgb6i+%d1oXB0s9}1zMQKEJA&SQHaA`yVry-WE6fyB z!B50yNe)Dx4^I_~=oFEDLzw#@$;IuhL%>_S7Lqq=X~1_Cc8Fd<=j`O>Ev0Im2TKdT zg{A4JGw*;d@eO@Kt59nGgqiq(lPMa{cT)^V%u%g%voqvKjL%nSV)adln;rCz4@b}S z?WoDpM8mC(%~`Sa$g;zmq~(yEE46M+)F$5@iM@5W!hQO-_VRZU*5p>fRUo~kbQBg#=h3qBo( z_XMYOuD29EDV-om;cC#+nJbz<8W2+VC5>Lob$!F+@iO!)(+>LSVdOmSNISG4c=&zm z0^hbEYvH2$YL>y6hqxE%`P*1UpDZ3mKF)uB)wYbAC zdA9pWE&#_{)OchU(i9hXo6^gPh(4`=w@=C7(hb?n6C zYSz!KJ?y>hnf~J-050$^=k|}hXqQxfXa$pswVQ(vl4>yN+57yK+53;*&gbBOZ109l zG5?Ay-u{-nJBR`O>i*xxhhds%yUJ0Ka$znkefl9l|o0qy(m z0sh~w`(r@>@2Pd*Z$W&leSRAs6~OsZj*9`Q`y(q z&i+py`M=f!Rrarlv^;=Yge;Kvt>vArlfTWWrvLOwvM-75nvnx*}gGjQ`jT zoq@nW_bC&|&)&=H@1fEEneQH^o*R+}{+TcCAAA3`yavcE^9Y$C2h;&)zz6^#SL7)& zbwoxtz#duV4fr6RyvP;g2LzBG;J?%B-Q}`nr35lwL0+WG>EHQnvT7_pBZ~MRXll;>PpF-2#pUKD>Nw@vIne?4}-EBOq zo!yX%zWiG<MFOs9G{AQqtV}MW&$=dA!yBELvB8lWn z03RD08wVR7NheA0aPdeei16`=D5%NED9FgDN$~%KzaRg7Kq0`xBOoLoCL|;#CnO{! z|D6z$|J8-$e`kQdm?$0a91Vr}UrcljX#gz50E*0i;iG6sb^gWMQ2uiz@&x*a)DZ(H z=qN~{ii&}SiH(7VFZ72gq2DJJz>w3iCS&#t7sMn-vN?GcRtnu-8zEt@h#3VewlqEH z)~T(x2xU=Y~pB27V$!q!{(lnwK@09X%1`eu9!l(Kc~%bD=$rSZl!PUNF(V&1m_VQ~oH+Jem~mw8&9 zVO1%*Rbp-$&Hv0uO3VDiXM%(56z^ht5zOV_9Fvau3$FI5jl)nb(Hl+#K-k*qONDmr zf<4bTBmRpK`rWN}q&m`gz?zQolky|KcGYChSTS1mo1UNQ>}bqVPmF9i5WtL9#FxdL zls2i95!S3A_mxjFA~k7yTwMw>e6*Yy28ykCXrWYweOFXz2*BVCrLe^N3D;1@S(AMP z@VMuqAfDSQ=Y~;F&@a7n!4S1hDT*er%*1V>M$x zV2f5AFlhAdZV_@+b*pDpD*HG=`A{V7StpTW+pnR9OtD{7;331(l*Obs1eMoSrBUhj zk<8^k!WJbK+z4IQTGp$iw7weMrC&U_dFb$A$94L<1p+8dzs(i1@)PSY3X57v-?_FE z*E(VR)$_9|aYy;mlM&_sIbTg<4(3|)mBg(QUG_E|8hAfJ@P&bNc^(1G&L9AH83dqS zb`g|v{WLW2maGH3G+Ly**?ju#k-uYj*b1hl-cg653UDKh~3{t7GnN3vCn5?ziku)TZU>+)&<1}U0R-$ z5|9hBa5`4QE~J)-PnQN}6+YLGGAZ7hU>sF$q9u8(9ASf7cCIVOR1zA@*5kcDD62Rs z_tjyMjus|+$2EHdu5bSg&e;_^@0qDO!I)&CFNr{l0g14tW-M=SR7U2;&1ya{cms9` zUh|kXZqL9nURgOfygYW-Xt^sm*+6cs*k6Vh6V<_-`pq>*%e$B<;0?KO4s8 zT8|!gC%Q`GCdk;hF+i4YrD~EoM2}KtLK!_KdnQZob+^q$VO|?80N;(LpUD(8lmK%r z2;d1#`S*?EmC0_TfqOKJD`50onKPjmwiB5#;)d9-He5X#j*q9OjkqsvMXz=CKQ6Z- z$MpCNUtqN#zBV#ivP;U#jd?OQ>e~Z)-f)y9m^a)|V)TRW!nv#3V;Y)EivaEwXI+A5 z`Eb7&I@m8+994s8h?=9D{LeMVeD4lTk=w-t0Z=wi7h?5mviA}{&!ufJyU5SJt*FeT<7@qU%HOkL z{khFW&iCiG6%_^L_ut-x@NlrPaj~(ma0zg6@qS|x77ig1 z0Y2gH{GZ#_-#wANkbn5tSlIt7H2Ys++!z|uzr(oy|F-r2!?&%s@S=Ebeq4^C7q}cE z`DFn;s*5N0*2nedYLAIYXXL!n9)-`p!VyL(R;0)mOK8pw)i+kH*xwJCAU10m!%>yO z{IbWsFMCf|TY^Ht=v3*=)=$Nrc{evxxz|)=C5kccz9>1N-jaVVHQ6yzGEzp#c>R@M z3R?uTqT1BSuRHW;p)2ok#IN*`hFUGRGz`F`=4*hXnfuom>aLjZkNB?#b?9`gJC@ip==dDo|9_oPxu zhOD7j(GmQgDrL6#X2IV%%fXv!;3OG)=?RFt)~~E}rx}wCXx6^W1^HYLluc$R1*U!h zxyE(gfRRFWlp7%q3@eaxzRsDVrk;O40ONn?gB(q&MP}D3@PC?@VJtK|*abY%eXbNg zg#cdms3L&3W%&poobyh^R%?-0#2o?He`sqzgVK&=Sa}3FV#U)-u=&LsJX=dw%;6|{ zTVE8<0sIwl1_5#dJU;UMoczO8GZ#uRD$e{F#plU~$?e+SM*E!Xm0a4dElR4978I0^ z|4owrpF~wwV_Qc*+)6=JaUf_mGF29XT<3og8Mr5<+3r>tvBK~Uy_^dKU=7f@zM$92 zM9$T)g0UeV>3yEc{0~@O>X6DrntRD$M_MeiQ*bumK9F`AZrX@{pfzO0&q2$#_8M z4}-L#YcE3i`tBIJvz{*aPU=e3Ubvcljx%xNsV+*Rn)hIOW?QgpQWU@LKJ%{N$@|vU zs_hLJt7x%%IlY1!tclx|vVW4G2IjY1&BBtVZ_-sgb0eg|WLauOEn{?tTzK3INCYEl z$o(x|0@VF5###63P4~g|(1xVh4!W!~r7y=n)E{>Uk*bP-w?BlI_X?RdSaIvLx724d zq>%pxr|gG{m1KR0-Qg&;o3~x;8RrI*$FZfd9O-)9f3W2H$b<1tbyzRdMZ!TgRG%Yi*|_ z2w83%UNyLoeEHtW4c=pYS6gP*^+fHbGQnM|I4@cx~k$EmA~*lfIu}8-t63F^9qmVm!&Aod;EC& zDlaQ>bT{QAjS9mUhQKcfdx$ZVeGmb_*xlD|dm=l7w-VlY2oGgW?H(n+DKjzGU}|mB zkYC(&))O*s_8j&EJ=l9)!n`74%Q=0UCbJ0%6TEGeqz(x^rP^LB^aT6+N;N}A-S{qZ zX>3CTRd+i~OdX?dcns%wti#nSQeUT(b#ub`X2V48mcoEpNkwV)w4G0KKX{;pb=AsjB6qX%ML|e~Q6A$P zO+mnZx-B);iuJoCQ4>rL0bnrBf$NK0)xpH7RVEuxs2l4uF&6CH7;=wy{ovBgk=};Y<$V&%!by;0Mp1TF;p-lvJ;@ng(OR~t9GlB2qgsN8* zHwib-HF?1{(+OtvD1?rg#xe0lD!o}oA!Mq-qD~H7kkeGmstu;-~ zspqGA`unqGUrH8^0-e(4j2t^uS#OC(jzC)oAYM|W?6yr8niAK1DCu#dxR~mRZ+y8v zLdBTm9kce@BbnE8^#4K4lvRoyT<$01(I7zY4BWjh2 z;%{YGx9R4{;;y^JF!#B|CPRhyTamQ!vL&StR@~nii54C(QOBPYXrY{*;r;k>=0}#L znNQa=UrSE#_s$U>562Yo4LbZo$kXun=ui`P2d8hbgUruI4qLJgh?skPWb7ajBzKb= zO`yn5a#Y$RGEK!UyT_SkZ4b<{ux82vu`ke#_OReo<(s)MvYnoo5U?ZRxXeA{+{cUB z;GL^^u4vmiJ~XAbL1rz1%T%$#O+1s|4j^11UmACNL|SLZmQ=eoY!|j6=#J@M6GX2% z&&@lb-`e;@lc$ca($(#KYjYX7SO#S?O)Sc#TdAl>ez}v*3 zC-g6-7*r~P)oN-jElP4exZF5*T{U$ywy%bbLYkE0WZd}TMz>A~Kek@^t=ccNINPqd zmwZ%3$)#Rnv5ru}ekk|Nz+&l2eG}^k0@#8qmv6N|q9u9lc&m@@0{22h2H^t)a}%2c zQ=b`L02K0-QN(vsj7=#~J@zS4nbM@t{M5FFmfNpCNw;c!aYj&%A3Vq0r$ws=Fbr@j zD<6-+sS*Q*T0M=H^*Wstzjq*jAj{A!EwiTUxqd7B=OF?ySC^!jT(0X`XLa9Fviv&> zu1%QZIqG6%^#5{Ni(W|fUv=JAg*?8Y3nA}0&5G?DkBS?tg;?WZfm7b*h4F)X4ScfUfu{*WA2uSTX$}TPi(u;gXQ8jHR?k}v2~xi?Zl&3$ zsiHXOkdpK6Z9q+l$hA%(SHEB&=-9!wiZHFp#f_i#s%)-y=h<$S^bD)4V;SxI(m`29 z>8ewXdslvbr)Xnjnpu$fYJwVcNIa-Z4Pb^edNd3C=}zY?*6-M9KEaq&7qV-BuY z=pwK=T=DtPE4RcNF00xtiS#eI$9%1lWvIcMuMhyaj|I#2!;W`wLm1~a&fTYG(`IikQ-r9L&{>f7-&9gJ`D}j;sJ)#2+K3*OV^#-gD-wzHodU)#j8E}rN z7w}phW~`_ktgHn?qC-@zclZdMue&q+G48S|SCs=Deepo?yENpFRLVazzLL8T3F^L& z03rxNtUjFX{Ya_^aJh2GfD_fIJ34oywWb$+VNTy5mD~*C&=#lI1Jn07K^Vh&!B7JN z0ZF+XJ`xuh9LZ2Y^8_ii%VW16yvMX-Sq|{n?n%!${_FuZqr%#Z0(o&YB0aob ziVtHC(d;C1R<`WSggFankpv_!fja1$ZRGR9uAkMs;(n^>s}vQeljip_u;j+ivQDdW zXS7pdLWrj|+FD6Ri^S;jY-Eq{iqY#E4rR0M{VI3xj2id3<0jt^`y1`M*$sRjq(2L8 z_K$@#hZwjsl)KuZXOY%N7!c74D)0zAF;Q`k#YTA{E`hdoX%Rfc2z?6vEH)JMGZF6T zf9g2UN);U{c&>1|#o#s&8mr6DvZVovTHIbf5cH&b;Pa9)Hu)QrGA& zJOLvkkni+@Q(9}0#Am3?T|H0IitDyu=XfU!F@qS*SY;xBM&%zdr{FtWIp{Gcu0RU5 zwG&FDxd3{QqTW2Wm#S+`mi;xuMwOIWTctK!N6?Q{WruSMl(a#C^lP#h+r(nJX<@6w zrjP-?m~Jjt9lGn1*{9G|bG1)w0}e|5;aeGIA=b=9;N%W~LErvU>R-9uB)L2Rmue!C3C_ zq@X)}AB+-2R%P%GUOCTLIvx59^=&>~;=J#qspkoVd>-M#W(v1@3)`VMeAaL}Fjc}_ zGy2dd;=8KOnwI*EmP5vgJ74-DIOSA2l9+eH$U;Btr*RNABiExI6T?YkSgP zA9@wX&_W3*)$kb_n=m_Q{UmSuG9-SS(&#zO zeACzd88o zjxlC`KC#m9rQ>8Bk1fY}>qS>lI!Ggk(M87!36H(>2*AaP3KlsCA(1A6Yb=UL84axy z_hcT>v~ah6Xm?7J19=l=4;&kp>f1|5P|-cd2;H)H$_vyUtDVhO0 ziTtN+By8-oA{=nR#I)D;j1M3izMnXX;*X`DBU9jiirYQTQVKULS3akg8(NJpZ=I~W zUoFUEPVGlc85QN}$fHNmjIniMw@o0$m>)@}kK{cecrF4dRc0#1mm+HckA7Iel-2U+ z;;Oe^F`B;>nc=wG7CZ;1N$l`#j7h7XJ0y|onD5EzD3SyJIT}&iDBgYQCcS;#jT;cN zO_bac;G=~X;IMim)~1Ok#zVrAgvG~`JbI7$TmG6ps!Hu*4-RCQ7(A1 z1Ol~$B+9gb<3#AW`&Y_pp#58c4)IHJvmO&vD~aYw*HQC!l8Kx7pOpGA&^bvn&ds(G zoLCw|XO!ve=-`!@8a|AaVYCN5=-pfaDZOFL$#@{*03(C;nHKD#Hx5Y;-M>10Gw|K| zXfGMRmo#s!y56DS#x99@cN`j8b>uV~CC)KtC>w;;&zJnOhsbwTy~)+}`JxvN^J~5= zN&H8`UbXbpeoT>8O;%8KJ{a%iRXIUz!j6Wc&Z$w1Ey}|O-L~E}-(3-aROgiC6^7*d z(76}JRjMsEGB2k+?@?jQ2fDWZx=A<)#aisD+Dhr$h_ynO#&nWtX3I0oTt|Zp%0T0L zgZOsN?R$tjcUcJi-2{dZfWS_Qr^)s^y($J%$o=v!ckg}j4VNrtYwD_N-A~-=Y)p=h znO>=qpVs5oCW_lLMPP468gg%Kz?hAWG#H17BK<9?0{aKc%=)XoA80=HOK-xd8NT74 zDoHG$+!mq6X%7=C4p`Z`y`&sbVB5UmD!(3PONBs@T@38m`@)-0&8TV3qQ>5%2l&&uU*8f zs9Es5e33*J^-5F;7tIpo#tz)e8b*J&n6t1HTO&e59P;S2W+hd+Wve3`>nd7B{6lzn zvi-<7KBpJv*+&#B;b8=Tc?ExRDqRY4-ac8m8Ge)%&HIJCc}9||)G6mR*P}qAimoE- z+iy>A^k^nRaBd4}hYXD%I4yMyP8y+v^^V;+u7eIuu5UoU0&{X3h5(&$k6TwfsOk)jz@vp z2{PDf1N4G>TX*S!KH3Fx9~|%}?^f@-oloAUG5vXj3AUeJNkN`WR8!b&wX9JKKRwPf>3ch0fqpuAj zZzj9Fi9bYJe18!xGWb4qXx!iWLK#k0xum`rLQo5)E#K+6E`z@z0^hXk`uZk_U+E#Fki*tvMbGrT)?i@6;Qn0d>9to=X9yJL)BtU*epqOY2aEjzdb>4 zdC)heO;?o_hftOE@~yx0H`wxxT!7goQOw=yHoY2$W4`(FXQcy>2&PV2gObV!TBaX2 zoeSQ`Nc@DP(UtU^2xBss0wm3G5F0(TLgOyHWHH3Km%3aUFmCrp{QuU&J^WKA8FP%;vW(f!fmZ*G)k z+~5)=X2#A}nTw*LIy{tDi>Ex=z4sEim^o1NkzV;T6j}2oMRIMXzpql!#=stDSU;pr zUl&AvTv-Q0t)xOG5diuwa^{f`8CV5$Tmf1>5E?YydnY!_%iNfDqW?} zWS9lOQ@(HBL7y9=RSE{Rqg&NOhRWGdLa=J-uE7J{LGW{!6!IH+OOya<%!+Ke*`RT; zB!)%Sm>>YB4bv~iHAgQ!pQ`twqzH`CRna6q20dd8Sb0tmI;Eh@S(TwlQ}TsR$7|GO z?%R^OlxTN;$}}v#%wJus+=x9QM}I@o?nln}xK|TSUv}URfu;svskP+} zUOlSI_}aWXtFrjm+2~c%u(wE69(|*dAiqCzC=Iex7t%1cu<|RkQ><7%Uq~F$HocH> z%Z=nCf~4kG&Y#A+jMw=6-6o?xi&ny`mw8j$e#Dlk&Nm9aN3YfYYDY%`BUaurQI8Wa zajlBzv$1dyOo(?Eajnf-5cyUNue;Ux=+HeZFl{)3h?Sx3CmkK9PahqZl53)Al`RYY`jk44V`>llJX@XZ!n(t4fr`qkI9}nO zDqmTSA1TPTX_0?F!8u2t^ho?c23i+16aN1Gz|OSp)adH!Hp3SI&>wujN)FN5G+XoU z%{q7f$?uw@ptdL`AYno(mP1-?@H)bl)y`Ie;)hHVEd2Cu0>j*{f8&epUxcL+Q^Ox^hzvMWp9f@BYmFGNWpe0JF zN$gt~=quqKRFo6`!b?RXb-A!%?_eL+cNT~M8i;xq=}w^1@!-eEV+r&*{SLdP=xzi7 z&v z+SES^XWX-QCIWe9#hhvJS>nuvUIiK$`JRmI?|42R*6-V9QA%j4m|Wz`S))C!&gnX; z*z-gihh_*~2TTZ8EhQ~Hv`mYST5nWu(kOSeQaIj#aWO_-GOpGQ7ZAeGHeC~(Md;b} zQU=!f7M|O;K}+977(X*Pec_m=#iEROmmJk*VDxQV|+_ynQu!ZB@%w$Zt;q8 zqwD?q?3fSpwb&@f?9VZO(W2GkqE<#37!cfMBLD|J+`CZ-9&ac2mb!@{3X6r6m3dEY zXthPR)|n+Nr2m3?1pBfAsy6HqL6>@uELQtIpQRM-4H5s1St%trOaI4u=rH- zwZ20q<>BtEBOy5g2o(E>^b9{4Z9tl`j`YgGy|M_vPQ!AiZ>6+5bw@q_p1YV{lL_u* zp^KpG_qxR6vjq6*i1b*(1B9_S{n0Q5TNUvcRBfb8zgnKCVd0ehqh92@2ubJvnOmU&VJ?-wJ={)1M)vo zET!OfrBS+SYVO#8u?_duksruFwKp)G4Hu1a42w7O<%4THO>kS^5PawqBT?ON|16hc z63Ts)0^?meYAX(4-#psu<0ZYO-JpP#kKHY)SovQm#@fG*!`|mvHIQcrY4sBy^MD^B zfapV5lVe3dq;A{k!c|rU?47JglCoB7OMUmedLGyl6HMI(s`@IsQqq`l`pCj*Z z+IOZ`y$3%X_={d=Mr{U`-6)lAtIyv*k#l?Ba*pZoz`NsT-cSr%oVYTyo_fEU=j;bQ zU8zn-4{xibS?dK{Yd)YVs{VZH-6@#Ds9Y_Xl;m5YS;(Bm)UmFP#~dh)L}P61sw3eB za)(U>?LO&)H1@=XX!z0&6!0yTxC$zvw_eRu(+=OZQsE&0ptkJ}PwPgID8;Igez(Kk zeebY`aP2Z%wARv0ssqG)9Vn}Qpz$I3@{+H=C+1qFF9mg<;U4rh(bOZZ&{Wyp-km`u znpL|}&`WiPEsix!l{L-P@OYN{#^hOn_-=$95-Z|qSatdJBYV+3<8KKwbucokyFove zd!$azf{K5!&*TsTXN3cm3I0T_tY2QuDH2C)uEvxP6Kt3{%HbHNPs^ci;w*zY(QpwZa zF*y3^k4`NxkwqxU)~PKBS6O&JZEx&qi#VG)dk_)8p7`6B=NcLFqETTb4q#e>L~ZTg zs@32>t7W2;^Kb`)%U-FY||B6d9*KGEnxNNvvci*szW+i%UNI4vPdNNuvz?&yOI zGuWYSS?Ed;)(`cUU+7dkg$ziOp9*Js64bjeOG&x3+-QkdI*WtmbP9-74K3cd33dT43rb*qUJW2Fp=H^3o;RZM=`FR``p8@Yw z%fl+9bKc|V?x>S_8X6IH}6^d#KJ z;FC{qLR(MTnuo)C0-;K7>3xgUj3i8<7FWS#P-rMz#T7Q`)v=nxJO1R0VXl;~vw<_ zhlm)a7W}@fWxj5^#WmZ$J#$-P`-ST>m#vHzn05E7_;U#x#V5lx*Oc)u= zHxw&&yTMF@LH!1kOm;T6ykPfE*p%nPyP5p7QB%v`-zWvHY%z?lDhSQ)Owv zW9}4SL$4m_Z^cvyzb)tN5DUJ|wJ_6clP)Tc|D{1^$S&M({q50tq1sD|C++0AYE@Z0 zzq$@hC0qU0s+z;};I^>v)0ivO+pZ9n)Bf$0aN%hTtHZWu>#N`AhNWsN+{txT*EU(t z-Cy@IzoLn@FnBTYpvSH`$#B*3_l>|_{K3>2TLDhdvr%C;G;U6MIdtOC!xY%%jaUH7 zRX+6fBgSO7l=C*d;L4WAR4waAQ!RMWqH1a{-$lAsYvEw^ghh(Km2=(Q99fW)>{)m zcJ&gbzEvZ+oWwWeZ<_e%RVL|KM#N`T#>{0}&28`Ak@B#41VGhN_Ywr%xuIT8fvHJ) zmVKw%aC$kKYXaX8a=>0e037|^DQXAFq+ZX}kGSj7T`wd`6JF}C-te-YtKOAY=~z8( z8$bZDJq%$|0VjRy1gDHKon$3&nY5Kf)!OFBO3MR1bsDch{C5p~{Q4wmo_Xg{Q?QI1 zRk$Y1{)RrFXCUY}uH30x99mGtke#0EANtrRcCDYdBMJ`_dml-Le9fVRGmYbwV$=`X z^P9V?azXo+Yfmk0H8?fO$J$$3Q?kN(^6NfbJH&5;o%tAC81cFRSpPtf>I;{k2kD-H zE{-V^i7K%s{tuOul%K}W!Bn@+>S#jPpi@mjHew%IQ(c2)GIRAN(#ZWjj(!{!r>WJl z<#Rj=vK-c}Vs!rT0cnE5nHj6R9;h4`#siM;*(~g)>VozR5%8%%5x_vP&D{eid?mEW zbUC0&?#8@T%NJERjri*4D|PhZ=Z7?CnZssV(=cwf;l5l1uxd2`Ah7I$=JyXiJyy647b0Tv4V zpb8fmr)2#+R7wSOW4*kGVLHQbL*ywx1KSp~HPcCQBY!u2FVB+h)G_+R z``v!)()QH~U$d-2@wlTWdiALQQ{;OG*$CzL!fmRz2%wl*2jmFqxRl=MfkmD^SXPbM z8p`ng(aoVKQ`2R;1~-TG;7A+wu8CSB0NXrV@P%TC|BYGL0;H7@PG)u$DnlpfyUiHR zNGVMV3)=35YZW_((e^;^8t5}7Cq(b;^CtZzHMlzW&qlIYqz*f7%MgGwXa#Qw0YLTh zWj2+2>nPyjP`_6jIJU4DsgpQ3pJ&xL&&JA`akKh23%Po70Wqe{VsLQMjw#-q#UKLM zw1TH5zSB6;se@x7fYirUE34bngZbW9o~Jd*bdH>djZAU(*T}fa zB;9iyn$)^7y)E`(L?I#zv4&y=fneWkP3)3OW>_-f46y*9lvZr7UPe>=DTSy}|{{3>Jv?T6msP6B8j zr%C|+42Cpf@a9xD#EMoHe6`-WiiDjT7ufmLTdjmJJXl3>fWz>%OfMsqOq6euazCbR z;o*zEbOle3CdxGS&#<%y4qUPlv{&ruaPr^3JivOk#o!d<7BI))vhS&I-1(Ly*R7u~ zTVjvCYRK;lnzH35trwF|O*f4)2ago5wEH!Qe--h%wSmB|Q#SbSRQ8QsAm>+BKHy(u z2k)i1LrlPz5bTTj>wqCjq+>}Dw7M-eupBcDomP*zJ)uwnzos}7gHv+f;Z~hu-Qo1y zXoO%lK{uj#Lo7D6NKIWoEG1XlGZH0O)Bv%de(V$J+w5vn2iqtuu`2L0_g(eIy2 zGQ!qZhCdQ5yKZR>SVaZJ#Iz(3#TGn*4y6)Y4q*Nt?7U}Glkc}S7z72S_a;Os0@9S; zBPvZq1f&a*CQU%3MG1-0i-3TFfPnNSL~5jlj&$k0Bow75ln@~#li!*5oS8HK^Uj)C zYd*}o*7>l%WRbAu+gc>^%SG;MEl!$P<3>XD*ME$H_G{J@8#UwGG( zWDg>yQDR7QOO~H_&!=TYS^%{7oDx-DTZ4i!xbd7Nh^&G3E{1XW?2hG#pfcqjzViTI zfv>dy z67|4XGN8V2I$BH8vr#(d9qEcE+KJ$kYd50?3A3u=5w>nk%3&348@PAjtB{z*^B3jK zjY%XO0vV9*@e!3p0}F!6}F|TA9HW7-LwXca7`uE2^WBHvya< z3$purlHzQeA~;MQKmNDV>qAW(sC$GAV3k|kdb7J=5#x$$dSvY_K@1t>sM{B=Kg+ag6`iG+$1p zx;tZ`6sYwukmslDq4(|7HGRFHyph#(GQd0W;v(VhYI`T?axd_0zkOtyp&*ML=uFF3 z$WE$w@XUDrp*oUr9(E$=hUnbX@LLgZfB1{2V71uXAySJv==at!PV0|(>=M?mI}~co zAtb^Yl5IE*4H9O##((Q*QXnDPS3e@Pvn*_W+ zTz}C^Y?}7MRj-;8s?M$vJ+a6gBNwzWr(rSF`?H6dR;Fj6{k=E+98AM`_reXU4u25n67g4Mb;;Q>SQr~{-bvh<1!!=}IK1`%bBK}rxRn0YV zb=^8dJBsE{Y_UZHYPyoc>BV(v>E5!Hs6atYCOgLlZ5=ZE^$i#B|J2H*dlk3-CR5Gmz2%oBEb6WQn!rzNu4$Z@Ls zsn`Y)UfWRcBSZVm4sOx@gFu4$0~_&Yw`>P_|LP+qGyd*i3^2}VcRw~HJ5aF8=Ue|A zn|}RbqRq=eh5Ow#LXcQQy+gf#6LeF|u%<+fUv+WDm$yfJp>Y+A57tF|YPESkJ|CMi zuDK`Aq2j)#+GUjZ6bIg|`3f=Y1hdo`)P@AQXv(<_B+DN^v)c0JQRgN-MCg}@a(i3+9uU`Z-PcPsvme!T&WFt5HGX5r zfZdY{ZDBH?gLkFE(TLv|cODh$12rt6H!D`?HH#d^v9Z2Hf+T|OrwvGMFh#sZ*qo=s zZY>a<$Dpp769c!gC+`E`%(^;nYi0!s`(i8w{ac>{$N=k)%hLmoKIvJWM`>|wXR9~h zM0+DXY^7y8??0vysZ#7=_+eJb_tj#T}<2Fdb!b%pr_H|faP%E zOEXR{T=!qr$ei8!Xol*D-xAMjp#1z0zqVe(fITVa~phq zbyaLRe39sC zfPo`Rqk6{zI5GljZRX}m6`;&q*kPy7m{P}Ar~R3s9w*6fn)W$HdQs6ptd;DXA;vOl zee9Sywy~wIpp(hJNnKOU?+yH<7&;8vsFMve4MbAFHE`@Y88DkjiqZWmZ71#~G-;muvRBb6q?{KpM5_#B_F}YV*^0Y6w#6y|Q zZt>}ZGfE=r%Ix+2GyQw4_-C04<%Nn}uDKKjFCy5u{%g@?q7R9_U5Ol(@w(54$VQA#P|1*#VOCe|tv;(mZ!BMR|1eX;cyL<-+?ab7UB*FomyuGr@rbv;8t^-~3xWm|r3EB-8e@ABMLQS! zF4k|jZ@i!uNm$RCr+UKW6k%@i7QhE&Au&SyFa@b&o*BVU2i&iI@0C)Pw;5P}(BvH5 z{OH^0k2YsV^Y3y@k}G}*!ktdOS3mwK^XHz8HR!AOQsFtb*MAD0qF~^)r>fCyzkYXF z1bC7G3Yp2VfsOI|&O4R6uWjv9$Fa(ByRd5nF}>*>3zzDt9S0PWt;Cw{eYbKP|h&iufJG z4-*|u;eQ`r`!^{@K;CqA^F5s6%led^@AOJ(z$f6!5J&##r*||VI#2Ub49ey5C3GK{ z1iBp#3FCDMX6SQs*>76BP|fPrcw|L4DoSeglkLQ<_bi^j+5j&B-5gKM@*ib?#H8g_ zjmGvm`bul)7#LMFWWqmN4guMSA>TGZSo53+5-`zrVz*YnwykmS&^;74HGF_kU6HsR zr7oyrH}isvT4Po5sO2R{0OYbyMH=&^d@BR;X4xuJJH1k2zA)R zq-Meez26*3t4}Yv(8MoH0PBo*`&LnN^eg+F6}BBDQ5<)85jHTYz*A6#)Ylx$m1)&7 zi5ct3QvPTjns2*h%G1|=K~C>s$Qc?jlY$0^5rKJs)O^Aen!MyYN!R1LQ}y{Qk^8BuQC3-O+M3{_dLt?9QvX2O z6}rcUzK2(PB^5UGx=}n@x1sm3mR-ygELRhe_#Uc98`m6yqkfRmo-w|~-WO8%C!=UP zvxYkLkVeVV-Iu$+4Urik{N68{=e&+241JD8MtCb!*xJ=kX#t=&r=dEl>H*E4E6XwT z4oX>`7Z1v*C9I_jnh%z*cfMlgJiYymG(uv)G53TBV?{5DxN49FS^6B{?Yu4$v?gFm^=P$(Z z2QP2Q3;XsJKbLW)FgdzEt%^9Gh-U6pP4FYa-}1h4w^tr1gd8(Mnpe=*1!Kkc@y+fZ z?62xNdsXSJdB-$Yw?AN0+n<%c({x@;A!8rmOaTZs$Vl&jr-hC5aNcQUIwo_Tf4dKJ zcK_Mar}u>VZt<);JIZ~{)(O_@L=nXH+fm_g)?KJAIuYR3c&Wunp=RFL(Ir$pD2exK z!A+8BXk{nWOZm29f-RngpiXHUV~`phEEDDFk7Y)>?}UHQ%Zy%o$kuUwG8#7&6V z9=c4Otffcr!}4PgU5PWoD`dcXA~R+`R`A9Y@d?G-J@stFdo6X%lP|(e(}k-WvQ6vX zJ0}^^4F*r%Sv+|AQcDFkemcFAi%nU*6jiVZ=F#BB*^GDK`MS#?h+bLDyr-8^$RmCU z@7=zJ43#3?&&Q7;j9(alO+=Hk>qI47ar+QG8efVQklAmC@g2Zx6jGVK+q^cZ^<8DS z+@a27Fl?Z4Xx_?0>RP@GV{|`VM?|&?5^NuabxrjQSeQ81z}@CQXh)jez~DYSdQ2=H ziwnG{I6?T0(M?~4hvih$c7xgHXNV!#q4k`1m4cmJOCp3~t|po>h5B{pSbonw3yE26 zmkgDOn^A!Hm8<(vr)km0iF0vi0<~dsQP+I&^h`D0TY7Vb)Fmv>Z5>HR+fS=#` zV$a?UOUsB=bH=a_b;l!7pp{G%HT1emg{^xI;}Jc-56fotpVRlZUzZCE6(n9wylh9f zVk17nbC%b_-UX&^7Q-z1bi7H;&z-efCU9Bg07pQ$zi4N5`iw2+AAIi7-pi4oy%wu_ zFAGRbxQ7oX#NkFd!Az*Z9@=f0@?uqd?XLk(;e@haD$T-)u zO!yCJ`)_a0#8Pwo;rwF2dgraWct{gf+ni(%>=slTcO&;q0t&&}H(*RwgJr2a<`gTl z5OT~)e++}zHQ3~^`>f^+2GR|gBJn@Y*fGeRPAmm$MiyV(k0pxbZ!1r2uIu?J*t%Zs zn{hVfDe3D-d6%-~(FLwSzWYjW5({0$R>p8gJak0ks&I_>da7FW%}cpP-CHy^u|GW1g!i>VfTZqi=JOi~jUWyJ z*cgY5lJ$?b8DqTna3a?;xZFL>->;{W;hTEsO*?*_IxIfkv)Ec&pzhOq2_GK@r^_5} zx#oZ!0073>X~}=H)?6)NSDi$gt4GUco~18&qk@o=0K^&_&zyCU0aqz4fD&;viCz2Q zJxc?tCvA)Oy0nC`I$cpO-c)D#nc6OL`6Xor|DlSBT<`qr`l{pwVIwD`gbZjm0XcvO z;_x^U-ygNExrC-wAOoRixfA(V4lM7E#|K$92KUAfDZroqcz-k0ZuRlkJ&f zIOzF)q?&6ekruru*#YAiZC?JqY4hR&zb#nFHNz-cg}*RaPph!6Y?+=6aD`tWvg2gq z6m#eZ#&@wxrK>Ia+k)2{#&@}Br(~Ieo*E(de;VGFdMz5GDw46JWBum9Y*VfA?vFFAF3R|G@ zIR8Yt1vSa(fr$_pvCB_zq6-@vTboB8b(%kZsZF{6Il;ndK)#$y?8|gDQRh4hdKu@l z^6j6qNIkSPwFQ=Q=$n!$1ZJzi=NrnU8+)CO%A7U-ec4;U%#Tf-U%-#3y6GMMLQ)^N z4!DCr5KRbaIMiy;&R@(v=e^wRIpr=8-@?`$ECMmWbc zGTOGk_8q%SyqYbe$iJ;l$B%cT6KP0yyt|D3nDV}gT7@>zqn=-_u8h-Zk?E>uP zvYutw)sgCoMHjo2N)Gg^XkTRIt|wJ(?F5g$)Y3aIZIvbj;c*l%55NZPX$atQYsh!v z#pX$(@9LtbUY3lPhAKyDj!SKIvcIUtc1(2zQ&2cnbdT=_iT3=12LG8ECG4J|yn1my zT{$su=E%5mh>rAh2Zd5&`@t~^98#`UcK5pj84GJ_<(>BV&J_uqXUb5m^UoTBP!M*t zU62zi6MgV{#O3Se%b9yppL;)VvsIq70p*=@Yz{&1bFdHKvnYHdA-xPT&blQk#=TRsxJ0R(D!`W@vVyZpww8F9=RQUYM zv6W0SD`up|ww5F`c`Rw_Qq|m4f8TI352f_0W#H1Ma56xila70UBt!(9Q{vz`f*>mU z)_*>6mJH~$;LfQjs^adUUcE$!;an>BE3p~T%7rW7g(e?Hy6ws2Lz*|PTQQEk0Fc_2 zNS!&fvaR%+IZXWMv`|OvrNm&aLRa*R!sln>*BfGx1+90*@3xa(e0a6+CEIiCxPouI z>y748R*9{4umhZaeqnw%RKGZ8qC8(>rPNfLHk6T@`mlJF4Cq>BB8`y&Sc?&Y*ht)w z6H_VLM}Q#Kb6W8=opWqsY+JV`$$a|5tHemN?3L-CaO`6;;L0`-`zXt>9bCP>V~GS` zZq~uYb=s>DR7*HsTRx~IP2DRc1X?o-?<6mX{Nh@$;Sc4z+a^TnCh+4W2`1RF{WeQJ z=C@GQ!Vzr!(!qF#skR3-#pg=2Ma*)|sXZ}#Z zmW&hqly*3~1|!6u83>WvjGEVwF6;e(OCkmyc*!z!N(%X_CryTUfZk;@N3HtjuvvCy zm=f?_91!2*QNWp}dk0*@hF9&cz0U~pY+*7)86SvMio*?<5Yk=HUVH<+bHiUU9_3cf z&qpH^>7U#*mB{klh?r{%S}S=>1)#e3EYROXNB=)AWkZyS98P#TN^Wx);=LxIj1>!7 ziDeyRfDe|`z;M^#NK@N9^dYw}^aXFS{(*AO4z;jXz)8lj8fIAuR7S2ls zIH2Op2;7*$%G^S``$Kri8b6WKKm?ue3EuCSRMiLV9?tQ=Sytdpc@5=N0k*N*QYUO4 z$^!5)tQXC2q%FB{5e?OhV`~(B&I8uk z(IE}FU|>|X2%*laO+uI9o`}qaKHjjEA9K#7>$Q?!;H|dHwPEA0){SCB{J9KC7 zu4lGf#>{!tL+z6>_O>4lH(ypstiIwFM=8QOh+Jeqm^a8JC)}nW2ub3_(I!?pJR42q z@RWOchfa838xYA$)hj7<>sr!#%LRKjEG%UO$Y|}>$dy*?)~J=q5<1q?F)LkB;UvJO z^6R3G;9DwP$!Ib0xeVlIbkzGt!T4YTBN{auwStU-QlsgWs<8W!(iaO0yyw?oh8oq% z{OifOuLV#si-~V`O7dC*>KA8!Q4rm=|8$`6zp@;H=9$rY@vSPbp(QaaqB93*jBV=4 zXntIjj){H|vAro((<}Tvx;ko+Pa{NEV-SycnD-VWgF^oz1CZcz5ztdIpo0xaGRP+h zFrNjG0b}=$M~K(2lL2cP=Q??D@BUIgV~RR&Bm*|DpZ+GXd>{i3jDXlb@OcC&8CVHN zUuGr)M5ec-Ii4~PAPD}T-DxtwfO#5(4UZxNlHJIFsC%SE_|b=RKQe$$AO80S%ET>i z1!f2D%q0W7QK$N_1~MRA1Vl{HBdP)M+hjmN)OHTx?maS~Pw_NPhnxCf`(Jef{fhyJ z2^;Yrz%=mxRkhLoLVsA^D5YFA{;O_@|6+jWF;}b%?fUe;=%(uc*?|%ccP$3L^!I3Vi$$w!+8vG)ZL9T zSpt>i7*#Kw@@@9Yphu1uL)kY|>=ysoe*8ZZ0r6osKwk5}D)VkWHVPk-Y6bPdskhm4 zHAWcn+Zo!`BO85OB60?ucFK&Pe@o%*Z8_B~i7~?C`8ZPXoA_%9w%c%qEiV_JVS0rk zz!j##v{&zjeeIrnw~CEDTA4d|n5I%Oi;v*s{IsL?>5DSgL9b>@$7P{ZC8lHvUWS5~ z+E+u>ChGbh|5tZc|4qO&6ymFcT4`!j-mzQt((BN=K+wbSuOefQc&DaqwXRmDD;Ql_ z=}A6M-Z;PhnI0jdztEM`I_cY-t5QJ*5N@Oqx$Nih2aSmaIC%SV44At4UXbv;A|U(B zgAB1~F}g9u!U$s0U9l#sWCNRp9>ltya7jSI-GsIfgbs%(;Q!cA^*^L}|KT|T#_kCN z335~uab+WUm!`c6i_U6O(1-m^Sa`2ah*WR65TI#yxL9iT*AV{?fKaQ?(~S zG2Y)~k~g^g9V>Hxed_;y?LAieQf+DNcnu)$J*EaKyec5vOA+s*6>cW%=|%uKJ50op4Fs@HF*#YuMEn6{p-I64d7UexLqt9>^p@iLJGw3!(v$ENX>iuVSJholUBisMcY#4KZa zcbPGaF3zHr3Ihnvr}k~>D;xcb>FmYCLlbZz7z_3RCPsj3nRk3K0{6^+{A!kV!riOA2URlKSp##6L->e;mIBRa8B zDjJwB+qOKL)0x9w`}&xfiXe*tCDv|(H4FpLiL`c4+XOk|*YE6Al_puZC8l2X+mN9e zdUK;@C5Hw!LZbTBY=>iR19Cwn(Tr~(yDO723bwq-5+dP`l14Zz5t_A$mk+sA^YvWT zBoHD530&MmBmsV=H0K_a0gsTD0=e;L!G7z6Stj2f6V@lHUgb7b7*lu$;C|=wkqj7l z$wW;BiqkOk{6-prBjdX=;wvVnYH;$Mr{Qw^5rL@Tnu?miC{QzvTJk_P&()RKqM-7q$arP5PMN(&Q0imRHD$RU$_&FFr05QQ@R;#c^+=vXk*-*- zAZ9!9Yv<{;BZ9WJ(APMncer2+zWYcN&CZ^TH`Ky^qai^;)+veCuzZm{iVYk zMzbJ<`iv3YF5Jov>jtv~_(V5C?d5RA-CzzqGJqY#OE|P5&Ee>U%OazO0Xo1dWj&%7 zL(5WK%r8{ZP8^x&{O1jJPzN&Lq9`HP6$1u(*wf;)@=M*}mq|bZA3VAh6xy*_;SDus z%{KG`>9CbciYT*b`@5K{7arussXM=fjUXt2ICum=ftMLXuz>r)UCgI!(l=Y z@R@|->w@w8ChmH^k6aHc@I^HZhjATcV;l{#d^KI1EmCEVt-{w)#$Z`>aN5}vA4mrD zd^yJcI$_y!HXL2G$VG&&?Y?@Q~Uin}>NRn-B+7)}B z>V;XuwLYZ{H_^9j^FhFOBpIm2C=9fHIuaiMjMHMoE{=4O0enT7tJc%Kj?$BtgMWy?u!f zt5oNDwc6dDdwdEmBss&hW?kvr_~X;=e9$Lg3P0P{N=Rye8V8!M=E0nn{g-}&mXqM} z-TvlL`(n{jN`o^Z`e0M=xme2%R5TgDNCf8D6B@m4F`7NVH6!s;snbbYT@OitSw4s5 zn~#*3KgN9A|JmM?NVxsgmR0zxv95zt-gIoz4gJviFz zG!$cE`2hI2vDmNM&f>Q*U2+6p76=P^|FpV5sCoLE$|VgLsT^wHCI zpsX_Wew8&D@O&p#1ywsPG8oaE&UDcVr?*Q6;J_4pPpw-&Zk%t!o6iR^@XXR<^+>{KY~f&!Rjh5*(c zgY{wDh{8;T<+iml_-$Xs(deeXtTr9PTMx^|?)yg3cyEEOHmiPf%a%+%#6xi+^{1)d zb}Ksr(AySX_IpDWY?lkQn|9gcX;{>~F_UyI{F24zDH%s4_OeZfaU{>BzFn_fhnc^L z6kEbVi6-b}M)%Xj>2^jfBX*m*=7w=uG)^m*v*l!VRpzc{Ptuj|B2MB~39HkkxMCvL zK+iHG(98(FLP2$2O9PfuP!RJB(eHJjjOcXCz1NSii_@Q z${ltWdhi&ZS$W+QGY9|q7g~bWcTc!B@V1b5jDoKtEcE)$s=L}j!F6iVwivNaP&8ln zR9q=+*mT>p55v53epi(!;pE5JvVJmKDN`xK+tXJ4{oVV56on6!=S?OF2MN^auh3ba z_V+;~{XmTxG?2(;i2?T@67b6mwWznJf;p>(r6TlR-w0zTMiH#i7e}8T`oEJ)j(Y3R zz7iIeQH(|qq@%h({6q;t<|?D`N>D`6xEAxKaT(;3x7PImjFS9gegIEH8E$NzM$?DtgtBpcaW_;1EZk0DI(!Vsj zrODk|dYZ(Rz?_q+;=SyCa?(0&j(jfp8fXduTWbkphqFpPH>bcoIeXKZg3?;3y@oIO zesR5kFt=k&Ib+E9+221Mc#Q)2?)>jJVx~|s z@RhP0yF;H03+y1oonQeM3A;H!qw# zsZTb{f5oM(fjiIaXDusu2$cD~wp$5WsYeN-+!JRv;Bm`WYInJH2`(j`Hi3!ka|EZe z;4ZwR*H^gPcACdSK$|$1#`E=t zHmmsy7^6c{YbqedXo2JINqo9=cj~7SNRffXdGY-QT~?vLrcy4GpO}IK+RM4%1WDws zG=_hBAFxSMBIxBqQrh42b_;M@;9SUni1lC}7TNH;@yf5+^d^w<7l)z~RsHmXRb~1s zx9^BIGU>wlEQdkJG$Kb@2l)G5*2VblZ%ZP$)O@Ojno;Q@tN#0!1w*=`v>xibd;D^^ zOQ|a)5!rekqouM1s{Os=j?KjAB3wL+J(fV&z$A?Nysfzl5}C2rFR`W{#^ocW5aqog z<}GJ{=sveyy-|lVBwaDYMfCQXqmtq@yw>MJNwnIh1E?ihzB8MS5 zeC{M{<45(x5z;Ckgzd~@Y4g>s{yo5lKMT77qL1iSLTOizr#pRkiJIpHiawkW*mzII zazbvy#1xPROvpEw@E?gm)+hC!%$aTeLS*#4`fkATPDU(a8G6aeiRa)uY9)!JKI9-fytjswQ{Yw``Ck#C{*%G@({U=m{$M#*+F3vweWQF6kOpFZdIe%>Ji zg8ZJHT1f;aKVo{Yy|yb-yItPWIJbCzM1=5eb%X*v7*L*)x}&04*DgdHiUmsL>wpf< z)V#U+@Rv~Jh?%>~kEZVK&R!acAQrEh=k5$9l^thkn70?TMXw8|3fbA&@<7rbF>`Kcah#)?CEd@&AWoRTL~IVG0vTQx zydA=?JuU^keR;yUHZ2+;f(3mH+CmsVBV1(TW@E^tJzI_U_Dn-ja<7A zTQ^^-Q~x;={KuW~y0iHJm%7?fugbucWI!S8E8aurb$vPa|2O>Djwgix{Ke#5QJv zgl^4wZlw*>5xb5I^WVSX1{0c4WM-3MpPK_4eckf(ENQ9B|C^%tJ#wpi^@F-Xf;WrA zOkqpY>Phc1Eos0ao2GioKd!i*5VL9sy5e5tUhk{nyJd-x>eJ{Sd}lToznB%Iw3=0r z?3s;|-Q~r0cB5)9Mui9LGt)1#xhvPW2P&UNrqhht82Ylt>cm<&{<)!hkig-?T=#?JhH4Eaf`22a@dO^Y$Qm?TER28v=@wOWdTz#?bwC zFf-8>&7VW<9%S&XGnjKay2874mb3OVqnjdK#q(zM>z>gc3q}=2r2Mp*r$NQk*V|=MOLeVSc$ebBI^m41;t(hF!kdtx zx}_?QM_*D?M+-mInv|oNcwPYR-?>uYU&*#gy28Kmr_OL*zZS%|WKcYeA6Kl;NdD^L zSezvGib?*dO7p!6mq!{^)ng|u2-g#Jfgkq3LC?aQ3STNewi?yu3>CHNQ84sHKZ;cx z*oaR}hM*{o*9`h{BR7&u%IA}v+bR>$+`EbB<#<8ay3wN+{_em7`}>D_ey^WZ&2ySB zz+V1F_}HNR3+mkFkPI6i-5=CFU^7Xmz*lWQG11XR|KG0#|IZ>Ae5Mb*F{Y(RxS>hg z#ix{rVdQcTubJ^kWm%ekFwoDHVD2JnES$isc%avnL%1Q^<{4a}#!spHK*n9sseRon z=WE!><{QCb95r<9vA1hKM&7-A4fTZp*ePJE+;2jmD0WyiI-kG z8o>D6K4{K=&SSB&pWpXNAe>M1Yi+6iPW(7crA%avTS0|u7`c2C>)f{O9@}7#lRP&i zVR}~GnAiK`K|{Qc>1AG8R%#2iu8x6LK7pB`Ahfu@KBC!7GhFS-oT~Nnn!%|9y|ONv z2(QS4Bu{Sr%xZvDA5HqhbaqPZ7bj9V71`U&*%QhxHq|Q?nP&_Y#b~vAIbTq>Np8|9 zV3&2tR(N@vLjqXEFk7KnPJ|DpJp%S8!p6w}H|8t0g#5eMPCEmyN{_Q^$nTN;uT7Wk zd3c8#3+XyV|Gl!)G<%P3o_Frf&a_2c;2ctE9r+i+#<16}4*Nly=(PD%16(s4uiVWK z=dC@B^{86XDS0g+MDHMEW$buqF|+=!C6jNHdgzxG7ASp3=k^u5XSAGlVwhQ5zo+gr z+RQ&J+Bn|$^rCr&E@dPZVi?Bp`3#ANQ}X2jl#4)hrsP2eT;aYy(d>$540>qCbO7W8 zD-{ZF_K75SI)_JCeT_A6_P6?^pEMYre)-Lx0NEMKmERphW}RB9*yVNs?on3tvp%JNv*&kd8PO02?j-}> zPLly_WB}Tg=vvz}0r#eZ-bT;t9iKG?VuzD7V&wD$K6WRoesX#L+VZkc=lTn)Um6(j z#PS7L2mF#NRxk=X1)2?Rp98;r(d?Kln$WS;-rDC?^6m|&mY45>2wY~02fO>daKZ$b zWNx(RiU$**4iiVEFo4dDv;Z8NPmJ;P?BlVMuGm8|plh17XG{u#4{&I>4_9MeO$??! z=*3SG2L4$xk+_S%u0Fs;B{-_}_KeW~X|!v=-N=Op3&g~Z8U9YjxG$lv`L1`16k^Ao zYO{ixbrAU!vwh}(yTE$HZWuNP?Gq36dW}AJBC#4@fXaWL(9kRKP&ySI8mi0{EH2qB z4^oKms<5DMsvi9mKhQk=mSVAwJ3^=cV z-FDC6;co-c$!Mse@ngH_Ow-9@p1~8-p_}_wx$$|)qVIK|q`EwR{(|w{Wq8d?&5O|e zGfEP-t7(AFz}s9I7)WLp=`v0;>qo8fsZRTWj|0PlZ&)_!PYd&Q*8Gg2Ru`#f`aB&< z9Y5mSRp!e!3{E`DG>BtaZ$4gqd4fu*@$5TN1rfwRyXH8vUXt3R1})Bks9Cm^+8FE+ z$k+3^i1)_*RF$<@NSC{y-_1|X<}0@(zp%$)!6bT7pEJWvdmbc~xikJQB|J#Cq73Ym zA51BJKKd>rQ!BeWA13)ZYix>NH&UgN#t2`!7;f^HRkQ6lXQmTRk0k?kynNt6UI<7^ zcdN)`zLiX!o#R@Aewa6_Hp^efyKT4E)1!GEIq&X6it$_o)m0xR_l!rS*zxx1Kt7o? zhrG?vELF~LQr|3GYLF4rjC^;~l*Qla&!x$i{B?Ob`&;qWv9D=1t0+*^1y&&wcUtw@ zS<E#! zz1(fjQ7>kA);z;DC|jlYc2GSEYfi6@cngyu6azcS09HE)e`i|!S9i?thI)lx*D1!X z@MFD_1#4)x#h*TwR6SiM>K}1^67s>K(>qDn`om5(w`8a~)?u`uG4^bST0g=o8B)78 zwwmO0h0|I}*wB3L(sdJ_zmR;r^W;_@NH9hb8Fxem00^d?T~n`gG;BWAXI(XmajXp% zFBHAAc+*DxPPNk0`+?N80F73Qpv9}qyPOmdrAhEQQ%;NuY7E=@=hY=l)GcV~+SqYC z6Kk*+-b$#>Gf?Fka$dBh4vC!4Q40PneD$Z~paPg69Teg1Jnp^Md=Zl=ed)JBl--n~ z%0{RQc0GSn?Rl=~(3(e3wAXMkhkUccppb-1086iM?-3#j?y?+7Vhb~jGs236?_U2^ zkykVBWF#jm`zTbht2I{qNhxbVkZ-rzMSw_>?m%cFz6{=KR3b_G{d$ik>U|RXsd{bUFeTuYQwB{2VYskY36`FNexO4I2rr6^R#yJVV@F z{2QAu9sIVf#uDdtyW?zk2VcHcLRxIUvP#Xq@KBPzSN#P1&x+>KRB+9HH#6^_B^4}m zE-(%)%d$DgGO2L>a9N|u&bIETG5ptG34E}jrjmMGQ#$YbfEBMUF*M|+&kS&-a5z6G zNUURoy7}bvI(EHX?TJ;Uv8O_n+m%%wPZdnPbbJq8estA+bG{7Po!3}Ir`(We4kb3O zh@{yB^dzbGJxfvS&g#&+ia+4)gRJR0>RJq&a~e}~y!zg#Y4|2#1*WjogWZpM0lki% zXB2x_A3I<)wu`B$MZR~q7O6-V-P-?^>Zl@vuj=~0zsRf%?pnUwEW2vVPw?q#L`Btl z8Fy(hC1dR9O&e=yH9%RLm$f4l1zfEt=U*Z3Wgx9tHC?|s)-7rxHn_eJ8lZVAb0wKZjG zjq6YazQ#vUB1;zAoA5%zxEQL5bxDjqsxUU2`c|i+5G~wP*E$hend_f?aiMx4!bCEx z@y^%VDrImcGQe>p97wk>`U8vXWTt|=u|7&a;^jB~RZ(%`KK|4oKrxjQaHhUsC{@9| zAS-;ES7f?q^p0JQ5Yd?eFK!U2a3>w=#uo{;=>2yjfj>hSJAUw#@MyEL8+X^^&FOgm zdga(BuYditzkmJ2;ptmCes|ancsqyI1>z&z?~Xp1X4(}(E08ETR+pvL+qSA*A0mh` z(lxZUUn>QQl;CF!Hq`tPb6zmu-;l6JIuRv*K0 zQ#bnS&AbwTH~;|PBur9jLG<|t4dXL0s3%S@u~wSiqLl!`S$OGgcdI3Yc}%}ai;}H8 z%8XZd`0JA0FI}0+qLs@1x~KVSE_CN#OZF;+TI(UMv8uVB9yF>&TGEzW!|DXA;QTsA zGSrIm?Z|-2NX|dH-@Ifp$N+E>v7cyuUZWw2^IW;F#ob7lMc3h;*ZH^mnsRJ^fj`IrLeDAK&70r3stTcy-y~D46UxvgRD{^`eTso!m*2(p6 zT%&EDIJgH@^xO-{>!hJEpNsu_NX=NPyt@u@ZA+X1bpkKLE>mbo8{a}XrISH*aDr8c zEsME`vVs?l?|ZDJ>q}Li3{$Tu1F&}xJ`#fxXa_A={d}-Trg6SyqmW6H3W{)Zx@Uxi zc>VmdhD0SnxQm-laX5c9hslb6fL52AD~NlvASqP)qDXvI(hSzKy;TD?{)P`B_jq#%pp>Z@YvJ!Elxg~p4rcws6_qF~@so71D$H^t;%A6u!PWS$~ z50dT$!rN98G<|W#U2hO!P*uzjs0+rcjAu0p$+MYVh#5DM_ZIXQ_9&|ncfR=cZ=g^h zij@p-FlNy{yHCi+xOO07Z4x^L{CcM>rdlOxLzw1m#*f{-oNn9NeKX^9^JWwN{>d?+ zEc3$$!$1dL9=_XnXkXosyLH6^pO5ZTtf8yx_DlCYXcQ$HVsqHEZo-DhfEsG3={V8Y z2V+N#&lo*&Q)FgwlXD9qU8{;-tScm@R>rK?erUWj_hTt>S*WGcif~W12Ob9$JUSDF z?^dW`=FP^km_%$pzYo8e-91rFJ@Z|&ydjZvIV|56dYxd7c31^-EH6Tp2~nQ78;91D zygok7dL{P{o6B#jTZkkTU!&_`HMv8Z91?~`w$a0*fLufe%+EUYxYFjQe-3Ol9+Z03 zrW|~D_2#7VVK4vPya$PTGO0FA2!eOiICkn~^$g}_sg3vT_3gl7UhBWs>dPUCUz$a6 zAuv_g1c*lC?)=5IIlJzb(-MH_pzlJA$_{@N^;u<|CElcokmiK}MT4<#Z6R71_6pQI zyngOwJ8}Rya4^H*q&iX;42q<S%Wjkk1cn z_q>LUpH5qz2_2rv6U0dECh(h~`}n|yDH6cL{?a7T`kSYm$Nl|D1R!-?FQfWmy9kTY zir-k{a)doqBHFbxi@&q#Y2RzE#257g>LnH*Wna-=sQQ>D-8}NXXB9glnacDfC9U4i z!brxFqY_cw+P9Su8Y})SG422LIF9H2N>z?6aR4>-e_DR_|3GNGY2J)$4Q59j7LVRx zIFow=98Rne%O!3enY`r1J0F3vfX|KZ{T=_4w<5pO_Xn=_KmJyy&2={A7s)>)U6c8@ zabDcpk$=AR=ih!HM~C|Ys79>N;D0to_5UNWd`nsY)mz4ZoX+LO&BsYRTUtt3Y+dT_ zCzIDFx%wG}J$s@NpO<}K5uL_)R1q*l6l$d*hxP~!DCbTWy|fq{B=%EG}_Ob zRD6B})2k!3Eh9OjcE_>PR?}WbX6S)Mc2l*Go-fmRyP==Q^f#7RwJaCf7+ah?4)+t_ zSkq+=sOotM(E!`j0lHL|7)|Mb($f1bX~vVp20jUg$h#Y|HLa5t>1OH)kJMZ_(Lk&* zXwIzNfYM6u;-)fJ41OoJkpY}LIzti7Q}Hi;EzfuVu72_C){iq^f$#n5mgPitUJ4{w zBRY}+RW~RU{?6F;V#Oy1ETM7Ozopwa`?mLkX) zdHXJ6{u!Q6^6;9$c*XN(|D3r2Q{1I@LFirAwk0)eE_m06*`xCWn}78(%ZI{`SE)am z7N!X^6gGPdkgm+G8gqDNi^X*UYo_BgtcxIKmJMUx`?VEDl>o@oumkDR>#=X=UqKv3 z-WW$s--d*d=nGeQkCY9rjS(5@=N6J!EQc38!yQ$msKT8}4n|Ilz!XDNE;Pb>&BDTP zk|w-FwxS~Xi@Kb*Wzyu_s#m>nt98pxR$ML6nA$G zjk~)9cXyW{jWiZ4xVvj`cbedC!QI`01_=%!NP=Cm_xru$oW1wBg5Ln?W9q3q_T@-mHRC-&*a4pHY80VoJJKQNP+dlusqQze~GoVNvw> z`bM+)Fm4d!e@~-2d{**c;J>nL{{m5T!=UwESAa}Ex@7WnLBHeUGG|mngTh9~k@q={ z)5;f_MH+DHgACo+7>^HFCBulP?Nj^Oy8B!IUH7y4Zg>$p6$BsFE3&ZMewnL1_y_!f zz845r&JFam(;CDWdw)(d3qcnlA)iCL?uO;F!o0@#Gt4XOJ^}P_qeu43?^^YF14EAl z7c~m@Y%=I+GaM>uSeOwDU$K}y93SxxwdWq?wpqiC;pR_^7lf%j;s+Asb`tIBqP!^( zV)wQdwKjDVpfnxGuOBjBnNbjhN0GS7YMS0<2p*P=G5cj|mm68+St;#w=B|t>$*CY} z;!nO~qQ%c;g!?Q0ryt`rpAJ&&-5sOvv$jma)=dgJITa3yE}?lkJ7Ow`4WOdNA3YNbu{np<&8 z8mFP|s6Xlt8b?odhI_tPUHy(8Sdl`MWALL)F5xen^n!jIT7U|8U zzl;%rSLS+T#QQwf4c_R zJ^X9(qQ4v0`WdbzfzkB*=0xv3m7IHmLg%8oBE+K zOcPU>?nhtav-N8DEVR_;{Z;(nbo3i!5xi#x54h!>=9pZ9%fY9Xa39vgS=~&krpNWBz`#z7Z|)Ynu;~5U|h#^a3F{ul)is zNaVOi5m;Pr(e0r?pTe(K9C0Q+qzrlB!}|gO59NVva*uvRwrjWr=O=t5jC^lI)vP~M zu=Bt?%Vi?rx(9)C~c7%XDyzwWMdpLThtH}A@d zwCTeW-TO>41E}v#Y%)?8EXfAhP?g-G(5W!JgOHn&nRGFW?(MYhM))3>`{d%m z%17YU#tTFY(@ox~LN}#C+@X477e=SQ=Y~`V%eLq^bR567sMlen|8}Pc+@qlBgW&j^ z_^)TmCTr5V1+(^5To0C6{S$XfOE4hQY8I9Cs)I^8ZCJ+AE4jv@Zu z+E-%;`AS1MOSa{{tl)mSpU5H;cJ2kDkH2v3q&>C6yLf2qz0%-$QL8XpA?}C}q{h(J zrIbIW$K<2b70mN&`+nI_tj2DN2+pY%mkMW}w)@h&eWP?>{)6pL9;vfseEBR{I1Uau z3;0>0tw;R3?fCGUnl(<@w)sxy%!|{hWR+c1&Qt9?o29Cq4m=k_oBlIFU>tugVACcd zUYJGLfv0=t-XEU18zh4J2 zYK!=H>Ir)+w)?DW@y`fSrVrAO{P%--MX#3>^>uXp!YEUN*cb-MFxLgB&LET zy*3lIX^Si!KgldS>@fp|GC=EjcWsCs@B*=2DhzXVcUpozXzl7xxFY3NIkPRBW%=JX3 zaM=>&reH5{P6_@tD@U+kpAUTyS$(E$;Je>I&}v1<06B6seM$;+yn-IcTn_T1I@b5U zEiK8vpH_K+2uUJUF!5HwvEdLBKi5uGy*4m98X~4ILW_&E#g;z)5^4cI-wpc$VNGhV zYZBeW3_W0i^5}Vap;gxqtr~JdZ{-Fo7e5{G$?Bj#44#ZlLq~3xg|39P5UiX#IdEKM z-HvN0eV!Gjx{s{#?}IEnCb~_(ZD|(?wX5MVQeH-+|J>Tqsyp$WXGt{(2NPCChoOlk+?yaw(q|*4>yk#B4B3bn_aX_HI=` za)rP$kc}f6MI?nP{y3FST?IdF<}c%@C`wv;(J!v6_|&@6db& zLoIlrq~mk-I<^jN&q4_iX9+&RX;tCp+Z&;vyIayrEWe4QN9x%sH&zr6Wt})}dzzbq zE)J?A_JpbRoSX~@OS`0QR%i%M_dx&cxI7d;Qjg940V0R4D^kZ(Hw13VZX;Nh{V*|# zpFPqj0kwPBBjzV2x@uBPTg1v7F${uo8z&v!&A84!sB+R8C3w3@`gW<4+BC zNZoI18t+FdzSw4_Mg168vnmsFajh~f9ip@z{)ize_Ov%SPL^pUoNg85Z{~>L!~0bB zdO?W#Me=JiXBQnuau$^8WLS1OM^@_xL^hcj+oZRymp<^`e| z(AF8P)M1P0V3(z+mAc7ah#`P*!^2U%YVHXLk)DU9)ag=_VI$-6u<9dgJU)ttE7^5~ z>36~np({o3`8GLrG?#(-gZeH}eRS6&ERE z)pvguw`Nd=E^6WXXwQf-)ic0&y1_{zF;87+6h;w46h_hi|NiLtf5{i}WfckNVBzBG z3^cX>EjgNjkaz)XfZwT*5P((F^F0v2s%mNlM0!0s107re?62ACNUTag3ma2$M-PC( z>p2^MkBbAq&Cd-mLSj`1x;VNyn*&_{oPQRTaCC5ewR8b+|8XuX{C|-6{sl=9=wRh) z4dCGA-~g~n+t|4RonKQsQ&*rQ(A?1i2tWe78vaj9J+gDMjC9ro@I<$M;(8X_8fl&w zv^$2T9)-?vpmG}7hIzgZRuF;-cS>q*>Go3&N|CL%BRfBarXDbutMh4&v&-8g=@LG~ zR*D*(Y$-Bx_LroEeJsMZM8F48Ad69zBxenecE{JGF@6V`ahXbk1o(4PZwejGRfJh~ zzG73-7X<0uKNk3Tf!B1BUlbi!@*$6jFW<`(sv$md1JZde2fsEn|Jp&jm67EOvLPlD z-$>isAbE0J_C)L|jp}b9*ojg?qA0K_+Apr6*@}DibMLmokX$5Z zke*;!K`1;JkbQ&g7H-Wn+wm?Q+f5C_URRNeUQGiwS$!u$5nIVdv5~ZJTascrCiT7C z3RPU=iiw0!S6JiH04UkGz^%c!*xB8m#=#Z{d&j#PVl-psHxT0?S3!5VH$sw`t0a38T6$1qRxG%)q%F6 zvp@Zdom_#6kYWIN`GV#hkHlO1!f%-UjS1ldNX!vIqetetRP3k40{$d>a4h%FL4pP1 zgz4fzN^vi@=hp?E^ea7bca+FBIzWS}pjo3-Hx6NXW=EJ*OC&aJyaWC;w2Ga*( z(D*RAawaDmqav>u>C@TYy-HiWX8tKAl-zrmZ7gvu0!w9X5z1Zqr=kt^ILb5E#})!Z#^EQ7nym1^zA zZiHe#e&oBo6_P(m6L;fey{N3+D%&@Eskx6CpzqqZa2sGu61 z&bmA3I?Sa8yn<8felPn*vxDbZOXtJ{@@2m8kw+88@P>Jj9|v;kJk9>em)|61t1>*` zvA_;~Jlc;Vl)EKblvu>V%7JWH(fUZ(ewNyKl8K4oP}>+vLQvH{yFD z3zRi`2;&eCODWlq=Z0ga)@)usb_52GNPBqZ6uh(!Bjv^uS>EP)Y#$UPkR>@|C*a$R z7e3>VRK%!KyF36dbm1(hJr0FyVH$FZ+r&ju(VLc992pYlUDj zIDU-Mww@7nfIN9l&df~9VwS%9h5(B}ja70V&oMFxtZ(v@rU(=Aj$_Pc@zWCXbL z)0I)LJddf0UUR@$9R@6zxCg}u8s@|3boJ{wQ6p_O`!@lBAZ?6jguoW)s3ZB%h%wa? zao31BbF+6)Xu%1cx+o;l8sDCtY6I29$OkaySXv$=R2stHZ<)1M=k}nx)q9#+_?-#l z!y`GQR+r50GZ`-Wf5Kb5^@DHzh-0K{7Sn<3w&sB9zs!Lf0@V=CSz$`>Th*7&|Edos{WFTsY{u z(eO(sbb#wUC*1J9oCpC;>}}vr)em3Zt2K?6uG>Zj_e(isoZRrkPQ77Ua&)S4PF;N^|NWQk^+`z{PB6;koka z33y_e|2F#F?=`f@D9R;&k_$+>f7!Z%PJVB+lJ)?(^fk23ZwUQfOqJ(6JOPdnsK>np zmijR>>uJC*{kl>&|e{Ol(9H9dVb)4%KRiJ0%i3`ZDmLegM{OdTR969qQF&Th|<>y8~6gV(OnuK+UNeE27)Bv2(|RQ0}0`i z0+p!>{F_WkjHgWJly6(wq5vZz#6$@dMY9A4enLQlt<6h2RM0mEow%Iqrw633BZo?1 z-#|pV;${Ko?4uZw-j>uc$x-nE(Slhp10PV2w6XFk7cJ}1-n5nLoM4!m!G!A)$zCP( zlRX+A4DP(A394Kj8fHLdB*r>OC>U#Y^zNxic~KU;NWUkCls@Xu zA|OHg2Dj>;;b8LPy}{kZXPwDkcM?Tusz^G$(19kY4W5f<$vlJSa`94a`mi#zi7Wn& z?JUb#m(eQrP32@KrFJhuJ}c)_Qd{dZ>r}LT2IEW*OUUU#B6++=?jaZbkR;E<=i4x> z1W#n2(;dD4&Z_zUYpj~@FRYrK?H_104+r0WLaR%%j9eC4vBEB{84ox#nfrd#7k8P9 z13pssj27oB=VT*eXAcZ~9le@hI(`0SuTo6d#I%l7Mi=E1L)K(a<<~*Y-YwvDlRAwv zYN^vAvwC_SF~xB&VWo)8@;ze$CNX8II2+pA;I0Mb19W#m<44t|2jT-tb2CHo&m&nkJUc*(|+hpi^doa8}TY z76X@7-&s-fZ6S~3S@v5cO+D!p%k*-I!a{x+V6L=96rDW#?2m{b>gSC~Qug}>g+=i}|G7|XNFiYB7xq3ed%50h_^=&aSQS-D5B(u`4DRl7 zg3x#J`thp3PU!jP3-mN9<^++S-Y3WN?xsqEEyl%PX*o&#oqUcac;iTVzUqy@;87Z4 z3K3X{Sw%!o1ZZ+{BMTogI6VxwF1s#&G+~?8Sj7=rR#YmW6l@-8w_ul0I)q+2>Ts2} zQeN{)Be3h&PS;@;*te%9L*YjzZQh*($`CWYBr@;7*a&_vjhhj=^y0G@RpNZ_` z63^_X!KI}K@47R8sB;bJF+?u;X;S3vfl5r#!tfIb3x)+vMp7!YG16@zR>;GA3LF*pzhY<6jE8kWLd&Wwhzr<8qu&k5ci>XVLw4r*%p_&` z$mj#?&czxV&Ybm@vY`7^aws7gxtqa!E39n_#N2x} zy*X^7kypWp46!(hL}11dW8a(CQ+YWtF_ta z;HU!D;+R4$PWV1G?C~C~L=pY^m;x5=cU_vvADaAbazXlTVybwHOqDEhnw2aokaY;} zkCVhhsgy0=@NNGZUF*X5K}8eEw9U%|co=(2fpy<6J68L~>e|LJEpyce2s zuX(D##oFpa$#9q9qSUqh#E(G$pE;E~%hC5+uyiEx7iVHGsc|YU&Y6Hg-=`vLo-LV@ zgQr`c0B{E>EpPaG^@YAT>&2`I@75ZY?c4EM9+GcrZrdHPLO9HbC214yw2*aQX2{k! zj=zqYsj7RV)m(o=iX{YQ;alKD-x4YtOT&E|Mb@`8-*_FNQDoyz%I`@K8{^2%qFh#j zo^l0i=df8sxXfj&^qOU?BTL3fKW?Z)K~(Hq2!VA6uVa~s4-*SY)kwvm<06+I75kQ6 zn;*H|m5&%2Y6E%Z{%mJzij<8gT#qfh6#C6aT^HkQ9;DZ}xTNBtqeW_0WqtLy87u}l zT}}!#u5vt|t^O*7dD=qd4yP#YjJc4Uc76fv6}W$lU+GQ*gE_^U&$etB8OzFkUH`o3 z7kNbzG)MTE;o{`@U~?;MUHinuK8-*!%6aoyy-~^YdOP~(sINg4Z&$T+s;lzMq88qqe6N@$6s#+)*b}37 zoI(?6<4vHbbYfaNEjgW%yC7r*terbUgRJTC8zRy%qm-w&{8aDoC1~X| z#ZdTZdCMaMFNQL!XD6%5`msqq%*N8uGH7Cr)X0U?MvN88a42i3mvd|x$%<-PFI%{} znAb4TTa+=4AhUbt)KiJxjRobKzm>&Wyal8aRYKiTB#OI@vGJRF17!==-oU7tdv)Q5 z!Ia~|{rENec?eMgX&$kE<|G~wx?b|f0WS_5QuUI$hyelJf~LB4i}-Ndf(s`-O2mgH z(yL7+5;?{cbz@dx9e>4RC<2)j!Z$#*MN^J}vXN&ta$>w#(+?*w^`O;et)I2h;e2;e z^C9kxx(sBGx%}vE!=!FE-?k9$8)R=(&`}t5o!seusNSDVhJ(=_tKAq{I&KfLeYJKc z2O8>azy~aBgprp%P8?O(d`Ly!BHFa&n)#44aAa7%vPK%7enu@JNmYxy~$qtf{(0`Lt1^c!Tw9b5-H>wqCvZdzY1qv3RjclSz z7}Cog7z)ku=hKwQS(CmWkW$I2q9Ty6E(C1Ty}=BDDNTmXBYcbe-Z`Pi)r`%i3^&-O z*cQJwW7Zsk5e`wY12r^#c{p2IkcJi>(U2ByWa(Q*EN<|t8Pwifor7tnO(+Cr5wV6g z0#-z`M$bf}GNefIoqV_|6cx4E{SXdR3UK%QIreL4&( zHY5LI-&sdC*&D0Aad?^)BQ6X(8iKt2f$rsb%{PoijStlwSDR;6S6en0xn17WJ$uLR ziF5j)pW0SCsya>`+>e!Cn6f4>!o^<7$JTT{u`-U-`DUd|edxG#t26difzMs>cc`Q1 zF?b1%x7X7d2h*>0qlwtLyRf@{{XCx7Cz5G4oArW0{b;j!TDM%bJLL`Ockk@xeZTgg zg7*S}OuR(?cjC*={$FFhe=yyDqrM#fM16VL{uAn3m8Iaa&W9Cn@r)}VpoJLbff3&} zm^)GYeT_<831r&^zh-Gy4IEP#P9Ij&8lndS=}56d2PN47snm?w`It?X zhD3@f(1p04FtVjxlW=YFHRTsVfz?!y-0lS-S{-`bvo?a%cR*)fc92(k}sMuiLmrpc=4`J{T>ra%WMA~7g6=z z>0=A83HsM&rWlf%+R#KQ=F+DnLz87z^bmBd7U4%Xx2YUl9agkFpKOzJWDIjy(RUU* z$Q~wJLXwXvlN>w59}mk^&(g6h;h&Zo(Z}1PThp{!f;7|fnK4mOF`@b>==xg=Bb@AD zwB<`r`X}t$oJ`G!Zt6;}>rWY7@7F2UhE24b>`usZlgR zii8@lrxhjU>ctX@d*#N&uUAXO6rlJ=La+`zESSGBT8m)J9_{!>tPmXJ#6quGgMpJp2~C0+RK9h|x zh5=n&O_dp~8BLwOTs<*Lk1fJ~+o?j9dC{q2pmEyh$%ncm(s}Oi*fWwdNy6CE#P{tv zZn_}uRNB>!JkjFPvYR`8*=N2Bqs?WxL?M&Ce3B`cmJa8D)@lQb+N^M@7JVYT?_d=2 z%&jjXBHFxnvS!f>$OA|UIvgeT2+zmuAV=Q1g%hnp=rZefx}X&D-7|2k71C3lhTj)o ze@zajZhk2aD9f&$#4;*M_l9;2>R|Zc6bl+80$Dh0Y!f2h2BP4us6> z9b*n0P=cc3p;o#ku91x)mKw3T2kIRA3n8161BjWbV({p2iI7Q6grk#r47Mr$YIb=V2;qu24 zzVob+T-8M-p2ET6dVAMdrX~!7iMBoj6J}K3&l|Pn=u@<}gOBk7qsv6}2WBZK$S^Fl z;OEb_OIb8ZU$p0snNg`oOfFPrcgth(mF}bICGr_%qHq%UB@FUUUh1(LoY#KhxV6}| zBV`8CSk#{L*KaksAeSCkuJtlgfht;vpoVySK?d4Lykm!gX&0S`oVw z$~ReC!Ft#pe@G$iUVo&+Cq$3p1?P`J85(}%>|G|8*NjOfNy@_Mq9~70*Zh>@^G|)u z8igooBzMvEbEJ0)iVwQ4>~Y=ldW&IHr^3W9K=QZYYSThA42siN&Kh5QFL=c=K9+0Nb31Inq`0%9X z_X2)h7n9Iwc3<`^7$R*&2a2Pbi7uQH^+pFmY(ztba@%GB;E-@jnVx!~3**+DSmBZQ zM<8KM)zMx<0=f`S!x^C3MWSlqVr2W8#W@10MyiC?N)z0q#Q>DlY{ z?N%1;+R+iMf1~ZIpdrF-%l>ivjTf%f(sC`Je4YxZs@;|pnmK(aa|6H`(R(NqzEj99 z{*)bhDGrbS@q0cGUFqa8<@;!?g+yd8|tRoB)Bp7c&lmJ2J%-3RDL*} z^4do%*h9(=b$Z_qgfrg;A2E#`rd)7X-{V-og#q(HvCyoZKh}=>-1CUW8h`8!<*gW zjwj->0j!*aPHH=&t24f9YU3XjEw-~$>fLVKJSt@L%*;@q(|EGQYI1XTh1yyjj~4ei||cTsb-mRS=^W4PL>hfGsI^tWX!>q>P7I4O>m`*$7SuB`7zeBGK8Aqm|B z5jj+GAo6pX)w9ri*mIJGk`fz8xBb)a1Ga&ZsQP@yIyJCZ+}4nb+=AhoHi1wZwvh4r zh|CG)V#pDhE*>*bkwlFF3#RA3XycOVCP+-%VTqV&eJHPho(`%XgHy?0@Czmzi| zTZYv*FV)%5s$9T?qL34O#LB@m%Hzx;3~(?8n(^^U-uR9jT~%v5PJvR_lPV7zd5HL; zlgPlkNJrR)N2C%hT`8_)+PxxH3a50k_g_`w{Vv>7o^iYPKKeq+?U4bf?`kr_W(-fK zq|c9K5M&3s%h!K3d&-6c@MaDv(7kh_MjO6dhn2_5=oRZM>B`@KXM`*Mj8B$!VHoJ8 z`~j-VJ@oi6EN%};F-Kqgb;9C$jO>-hd+Vsaild_0?_nW{3~Sj58T&c8)~f zu(%dYAR~CUDQZ&A&-8NMvp0C#_Hw2i{>bIuobjH1wd8EAUeyTSCWLZpx#cU7Lg9UH zzeaV<$~HnX;HuvdAertw3PIIbGuMrvjkB-op20>O$3UjYt==GJu6wAAM{H3&*UolL zaF@vkYD!;Vg=wd-|s$&ih2nGEN&Ni$9MRg%fblg%084Jh~_PtTX+d@B^F*?%1#LbVh_IC zBTC61hMzBcJ$1&E){$l2&`9gXB>2XKYco*$VBT_VO7ZJUNvu(0Bex_|F_>86m9;iU z>cU=ZA>uu$Sp8aV*qipb49>Zf4VXQ+Y`{b0MKLF3Ie4nEeAM0~9`Vo0E1KUaHNF)w z5ImjuGH`JjCO~Ll7h3;m>Ezov71qPaK^Ewm#N>WqaUAZu`Qp>zrD=L|YFHKn@8@~)Uq|o!xUW|N29z}jNExkYt=T0Sn35u0T!lnEv=h2=aK|HaF# zYcpXPxe8%keRi;N9jwQF_Vs9y=-CHMO|8iW?e7oz>|5Ef9PQ6~E-Vhcz`Z>{4=hF* z*b0ErAo_fN+*$c=3&e9B9my}}v1#wPnfZO9F^%h`#HhHcJ{r2-?4FE@C{LXme#Eb%@Vzv4mmFb{%1*N7<_ZCbKs;>?-wC4&j&)zSma#3CI>vhJAd#QVP- zdXfLqqgyQqozFAg{qbXen6;*yK8m$wHar(sl9PHbnz;{066euc0ds{zmhiky*bAj) z7RlTL1mL7&xZhn2cjslDL}uR+TxK^p{m^letnJeM!^@+=*mp1oXYFEd@a$*ZN3}aK z{q4SHXFdB5<5RXfKC9eW_8LvC8TB!|*dPTZ$qFO%%!e|s{m7R&VOO`N-nr6|lrVOF zfkVHaMaR$Ii>H@1%!5O5>wh|H>i&SXwEtY*ei%#paD~h|UY&#WrX?M@FsGtn}0qr>CV3*~Vv| zBDHN;DJe#`Z<-n9v4zP#`~XCpM8GSrPY0Knr7{$|L67ql%PUDPCbG+D)di*ZsAJAI z+D**iTp}WCeH3}v^f91mjOu8=poW=J=VV$$D^`Iv% zPsDWau~rXC%B+L`19vP9!rL)>&WqH__G@B(Tfm@Wu;#>9dz2955&Q$dqqm0RaawpM z-g)ZDA%=?jS3C!i!K`h#xiXho`;BI|mYd?2pG9b${q;=naumqPx~C!ce59Bf7<^OR z4TGh!d(-inZ&-Q|BG@3+3|n)h)Hf52V#LuB+vqPM>iB7#5c~$`Y4|TExklM%cq64f z&j|QtdjbOK=4_ad4GMt~sVUeM!h&+&Piti$)d6EY!OyLilzw?m=2BE zv0}#Z>f$nJMY@WMR!KDM5eveNHzMP29ToX4)o=@eWgs|5+J(OxvoJ+1yZYnW0 z4a2=BG#iXkIh2$gtdR<)#zKoH5F|;g*JMtt1sQ7%QJ0s3>gg#9xmO`AT~6z6bo)rg zKeye!Z`!((xZPWb2nuR-oL_xtG2hF!O%A2YHK_w{iE&xc@I}BKxfiC6tG!)tmgO`i z)6WIk=tsof`a_xB6Y?YEK@OBtA$bT9o52ns+>b~f@eNRw9OGsAi;VO|_TA$|WT*Qb0^I_I43nq^|Lb9~%ZV20H* z&iZ2;_ST?_T`(=5mZx3+wRe;~KRC{QWN9ULIq?rs&VaO%Loz-k_k5%La&i8h89D?_BYSo5Hys-lku9-KjnRSJrdkdi|_a&ti|&5mXM-r*FO!s&mpz-X%nZ?bGAK zMS*OcIvk$FD_-2dwfsJBbV8YqNFII9GCrtXy!mjqvc3-Fq#M~=Nsn`eQ+mU*LVC&9 z5BNl9QA9GeeMGw9-;h13-jt0PWEsS%2TtYG<*o@cOXz7Mez{@*jm1PJGh3)Vk801+ zDKxifuQCt*P;}}XyZRiAbL*G#9Zy{kjHkY`v~oNu#vpS8QGud_T*0J-O#cZ~4+zbp zhY!RMN17wrQJ)UO39T>0ShK&2lZYbD*_@LAku5R4DEGQ`ojJzFZUx_eePkM?MFPTd z3V0rfyP&Bo5FvcTK{B^JI5g@Q+_QV( z)r#okSmHJ|YG|0LZOY$@TBHt8G=Qfg$^`+{hB3gcd{32f`;4AOw!M5>(!f|RAb-kowc{4@wO`Z1lvLZR9SJ>S|4oa&ZNLu6Qo>7O;AO*5a)&6 z`^~HO;d;C`c{fkKt;s{2O{SxVkIqY4XZ?7~2#FMs7f!MA5?m4Lt==RXOIs>JCR!cg zy+1!r%!R%bD{s~3a}6!h=ih5k`DIK&hT<1b>>*|j&PMfLQAsSMvg>jo(Zh$KsKG-o zJbfEV4HeVB9)T(*Tz?U%2S_Xw0GN+e6UdKc0}M0y+!=13p#VU$JWQE!>ftyiPP4_N zq7jnl(~__hDVg($`jHJAQM}34`Gm%?MB7}gI8$qZ5uvaGtA*`tUJC-r`K{LFG8p;| zUmgBBF&(y?y|l8M3X!^D1O7TjU!=U1Ja1GQei~E6ojBIzjVG)v;ro5RRUvrZ3tezs zE$sV}j;+fI5KqKVca4q-S>-LewM4NXSLTS`4w25;N@$+CL)o=~ z+>}O}w=#33ZYCVSE=~**0QeRwyi1w46gkF3i9&8^|XZ9X;Rw&BL^xD7h zefk_0^0ra#sIR({m-ynS2YdKp!=dtQ>Sed3+L(J<$-r$hRkejIx~^sDS2n|=AP&>7 zTcYh$vY|=kqLbsEX9BT85@GJk0G`O*DN<$s`=m8=l2inioA`1q57`dXJ3Uo_po^AA% zS^an1j$~fZ0n)IWFIt;h_>+P6H1)_V0TO|bapgTq+cGh#d;ITx*Kpz=_Q?C4!wM5h zw}rnk89be5wS3_gm{db*)DREapUeGZjpWqzt5sl>LJeMZu1u1fQXiS494L7R!CfNx zmeLDWeTTzr22duRK|d>p-pc|dfP(RB1#@O9V9nW2SDFhgh=YE1GD11P`vU3?&d-~@P=Uu^ud64y}5jM zYLO`TS_j_gaQtZ0A{(B=B+**NZ$ndLjh(;7?|?q_l)&4Q=p_pusa971+@R(dOmNi! zj7oEk+1enZM>I~XQ&W+EBO!L1(V+2CUgWj2rM!tgw(YHHm3-b=iGiJ*`j)q&QRlnT zSU2jv-%RQW;~O>O3}I;Mn}g2Fsft?DaNW1{`W07`Ow*^fXFr1pZwl52^l_Rk z2booD>fBwH^-f;`_)Xry(oV+8&Y#4*SV4>Gi$epmUoodTQP5X z2D@+E>fho#!3O~gi~eEO{P*4x_+yg%+pOXH8Y?SJQS zBC(2_x&VKd0kFyf?LGiqZOl!X#U1S|kXWT0UMH80gB5^P$Hqa-!Nul(75@VG_sv@W zuYm0T2>732aj^Y=!{Yeo&Z(H$**LiY|HJXtBdHMMiJLi!Wrex1Af~|a{~VG zyZZ0(1+eq~kH`V|W5Cp3?O#i)Iy;(c09{|Bi&a%p8o(-N{|X`T3JmmceQg!1u8J85 zX#Tsx*DQ9xAA$Afb@jLT|KNK#11*u*037T{Z2$WK@Njc;asw;@f9kk7`FUQu`bUn# z|Iu-=ar6I8$IkXw-RtM~X#G{k^EVwkA1BvebX@H0{C~yeV&`Pz{HuTwEM% zf5qV9;b-IftB#lL_l)~@9X~G*``>hYJb&vi2k-0IUv+$c!+0G_4vxR+csT!N%gM|2 z*S>Lc@^Sx5TU?z@ZR~)~uhH^4MQpr)zx~Fl?&#cUsq*xbY@{_a&%uYFkeM@baG)Xcx`OGU0ZJ( zIkJ8~zoOv-ERuojsPEmgNd}f2TVwgQlGnx@46vXjT4K~<3w^OO`F-bSEU+)Lf5A_A zSd!f>Q4Y!Kp51d^Cds6Vq~x!vzPgZk|I?RsVm;w3Cn^1KU?24lEKFzVoY2LGgP*6@ zhf(CmhxWlwAOGw91m|T^T#&r5=BU6Q4xHe~Ixi`)oW5-zSOrTjE-5mY_WUaByxp-hq`Ds3_T=HW^OHnoyMeW@TcZ{Jw7@ryX#U~g z9~kb{s}; zt;^|@eb5{|^6lPLx@*jLs1-*q$yc29tV{Go=yWdJlgm;VK0JNFdw^1WJKOI)qXnhPJT# zJBc?o-{o!fjf?M^{mOx@hqv<`yw5&OEZ>dncJLlEY?qXyXeq&G4ov zWlH?NT!o!l{9a=U=mD?Nyy#iCWX;8cxZXi2T^070J0Magqb1^9HR8P>Y>D_6N*4U*Pam1r6?hl!9Kbtsx@$6L5I)I{ zt`qbq6ysV^rEr4_7M|HgWVS>V$N~n<>CjWlpC##Rl|C~BGC&LOYcuJ)Gqv=^x8#w1 z1>B zKOfb*9i`dg-2+J%N1Ns5Co=!Qw!NHk7N~;Pah?-~^y{K{wY*ArK#GD>)iPtoG{xDX zIuo}Iz0zrtW=x5sJ?qoFMA^K>M)#O5FyDkRuqy0?zDb@1g)R4@kdcJ{X(Lhd3m3wt z2bq8m;WL2F5JD?NDuC;ZM19IVBk5=(z9t|zEg3#z0+^w9j7Z~kLGtt0gxL}&DTp3& zBGJG`%R5eSiL)incmTOg9|#g2K8g$~P5h9=P0VJDlZ5ho4U< z|6EnHKVaVR5+&;wt8Hp~la_+lxS=7L+-`Q6QZhr0jcMgac+UQ?kTU=~j(t;liwRw# z1Utq)F5j5eTN zQMQ4wqX~p+r|-1Rds!kVyk(93hCQ2L|33s5UwNKcv48H4wd{YKk*9Q-peMZQSr;tH z1~rCEh!G>^@rTQd-^4-rC3MBoxJ6s`8FJ5kr_PNb>s*exCXs9aL+NSPO{kP-5f^7tB?fqsJ4>z;Lr z9%>B6{jHi({M$0)&X?H|C98(m7!)pk%X9pkuSn(Og>A&PQRODXWzJwe!gQY1o5V(q zFFosvC?2(Q?g7N;ZLqAPMv;W|2*SErz=s56toI?TYl|`x+|?g72Dg#n?sW9%vBskZ zEwMg++05!X=4Q$3dIBSUi_*>@oiQhUg%ixl{3}JJLiTO3z@i^;I7UTAD5!El=p2!-b~>sVEAsPa32tFYm7qJJK2_^(P2-8hY4=4g`C(=W}F01!_RK zkZE|3`;>VN=;qbjDTItCf?`n&`T!aBZb#U2T_x`Amg(zswnTFV#?y=x%g<>=P29KE zIRyLRGR?A7w1sZTI&Cm>u7xlzH)%3wJ28lTY2t!j95skP#~Gvk^$xK?HC>e@59?EGzIRat?zYs^F{9DDxVS$!qM!gYfEuPBwrL9YT&gY7q@$=%6y_yOuTW z@4K>9&Bk_GgFeOd5huK$a+)D37=h2=vd(8_*k8URg84s^iW9{Qkq=x+C7iP@lb%&D zQ)$>WmtX7TMV*I963XlNvlXZ?W}$?i=9VN0DBM&ixe!#aiJ`u%8aod3W0xTgH)g>$ zmD&Ke(n>rsQNq-7dMt@Q1Kb_ z%(Ki;3$lEg;r!J^0cRWrjnT_y)sX%+@)N`&%{)sV*`Y|@=1dc`CVU5$* z!2&6b22!q!m`IHn4-5f5C?UfiEK#b>Gy*@2Olw+nuDTXzY)zlmiQ2mOBEt#qhn|pZ z)zl}a!@CYmE4JauRMWE({ajwo`IM}yf}vR7KsM0h8uPiNY*)~Uo%%@XEFt|(Dlvs3 zC%)I!Fn^yd#nL-2BN_^~152X1AJ60x+P+ z(EuLQQA@-MI-{@Uysm(rTn#%}$M=ohDmJ(+S^ub9vrMnBYDmyFOsOQN4?~#&6PD*T2bt=GIkZ!etn9|@cyg;%s6Xd3 zqKwBiwsTQxMi(wi9+#@YwqrWaF!u;m>9f%>7={a_!`&x-;Pe;{7htPP1M>j1CD~NK z1}_*b)TShxNz~O!zHji>Q=M%ayeZ=}q|A4DC9gKN2o3|nSUTtE_0%%pX_gxBY2fJt!2~z(xAoD z0G4pDeESK#I-5F6S)pP#3(XtK2I*TYh}#HL%Dy|XymV#2gnNkkXn2YP;?V_trw8KE zheA&Py6_M*;RswqcJeL89GuQ$4z{}Y>v?g@tl$FC1p{KvC)yYh7T%hdTh6Y57T9*? z<`bpck>csywFdcobeZ{V!p-H1tg4O{PiilRf7h`X-di5Avx$JfPmnXB{;~m?NFx z%;z|nry0vEj%Ul=B{1!xBedRNOD+Y;;}s^9cTQ%T(w&yrfTd3j_4Por@Imh!fD$1H z=m-o}F=%`;JMiC^$pgVvZ>Z^ng)OF)2iXgw zL{-gRo|-h>6KtjtrcYJJH89;EX*L*(TFb5ptX=);$f7J*h+i65^FQdNb;1T4h`@n1 zu*|PKw!K1k{{VIu_Bh`=>s&_MTK-}RQRqi+9tk=rtrz2x%(loVf) z7)vO2L}dI6fc)cx{k{;sT%Nq2UQ9Gp`aWGI35ynVOM13o9_tD+BSh%;rN+phaf!1P zPWCQzv2@^6XDv;KmjfT{@J3*V7kq}n0a33(v$G+EeK<;(DNyd7>%o>`n$>UJaAJN7MTLu$KOv{dQ)6OOTlbCmzFwP(b6`~g8 zhcT0KnZ3$G0~42-7Gx$8Q7OmZqdR(q>Y^2k1ZlP)4OcRh?z1&-4Kr2-@~W$&D^U@; zI%?+CMqr7*1?0hTW(^o!5R6_o2k*D=qgrzS>-`$jmh1iC^CTLR+T%rCXa5~dKi3Ib z=E1vu?(5gn?tqT&C;qGh(;E;5)uNdM&~|k18TsdJrrTw@t}MY9WBOCgpurSVDq6IE zea73NPu=2`AFp72*jB`Vd-&nO7Kn7ZiOWF%CPmZY&f`7Kk0Gm017XJ4YvySr1POCUC+$%^F(Wmfgh8ur8yKD<<`oFKXq0Keh) z+Gk|DnJHDE;w3^pva`F0pdXZ5CcJLCy|y5Zqm%x=w`{Nv@O>T)w&b_~4)eI+Fi*$0 z&@oTwJlm-WbrHyjVla&CnMBvFu&cQPY}+k^!~o4!OT>qq`32ywBwwM1iG!?Zf;OAx z3AZgLH#NI1_??;N{pTn&u_gB36(7`0wvSMl$W`+xEZxUY7JJ1#d0sR?%hx-Y3W~T`Yl3n(Q0@G zbPU-3g@7umXNqIDR#S?X^ZomYA_VEAFYvN{XBj6?m3>v0B{lM0o|Aq`sWrmoyqt-{ z7t5xd=I=HzSU~`Fh&5#t2LzKGCcu%P|MT<#yg96aa|HT>7?jwH3|+fuuDW;Z#%=4W zXDPp|xElp!8R##=f!P`wCT>Gyow?>%E5h@LjcAdbpeHg1bMcFkRu7)g-x@zIPO8k6 z5q|(ndh5j937g;!Wepn6Bf}kJMeWe(ffnS05&_6;LeL5$&<0{K7VSCx&gp>q`mb%b zy#{%b;XJASb%`>=csm6QzFa#JAliC-Bj*{tz7?zU~)wvDIV^L}$S2Q!&U>JO}BRZ>@O(Ao)4{MvYLzwi-i zxX`uVHRC4X1fc2~YS6-rsC=eD_I#zSkN~zSP4}$O)L=|RAJ^>k_E@ZPO6R_q3Un^O ziTKsZUmnLY8H;p81sv`s&NY5b_?odgZ%Tt|ZE^SE4Prwf|70L~p8@HTfXyKX*MsiWdB3Q z%o3O!h6s`V0;InY$8F3&>#{^K$YnOkOmw_r9DQ4rm_!4QsQY?DN0XNRt6A^$81u3H z1#3406BB79HUC|#d)8jn3bfKRi7uR zk2H8+kDu7khMADJbQau;mSTD}<2`z+1(u6QJ~lT>%_L026Xu|d8x9kS5d2tt`=%cZ z5>1WDA65sz?u9I}0J+my&|!EMdyZOie5%J7P+7VSg{&L_islU0c@$yGMj#Rl#O`$o z{dnm6c}M&o_9(6INe=@I1l0B4{lBxv|DVx1nwnpCy6L9Od2*nLi~{xLO~ig@ZO zPH!u(Ev1PI&=-%3#H@tcn0nEs1?uK-{ z6@^1nTwGl<>4`Hk%6qtfH1V6OC~KrcZqPQ8=yau7bVX-;H2c;{*x;p{yFH}RteZn2 z4h(M7C$8`2t6(FK{oto--+TAbFR6x59!R3<40#JQT<&;PV>rr?4n_W#iT<&cSD8Fn zSQw_r*Pdu4XVn&} zW&Y97(h{}H%`+F7-CD;P#k)039Wd=JUN}P~!y&po9oE+WLYQZ~xshZM+=sb7S~*P3R6yM>!W1 z;&y-C5~7iKLesmAIo)6o`2nZa?G-(q$H$0utT;IPM>5wu+Dn~~L$W26lW5(PR>|*_ zXjvT{$12kNJ|gsAsFvO>^jXM$R$?ns>uCj_+S3qHK;H*b@?$pE86;KWrT9s7&rlzC z6|H;)+}Eh_YmR>&uB5;J68feuOCxK7ns`%d1i=%AjbE_C^wL=L<74yk+tpR*Bf0V_ zUFwS0j6}>4{g@dK3eV@WeH7mDF}cyV!ktm*e;_^I$Upd7l<6Hb zh-=aX$Nrk@X$5kF%c#=$U^$VAA;yXAx^-;N-7{tVKy!q}*f-!FCaP3oKBSEha4zJe z&yt3h!tWbD9bzF?Ol(YrlX6B`HTs`tV;JV>EW|d68D}TC{$}sGk|%@juSBrbCtv1^ zt?Bh)4fPu~R_9)i&tvDgqE+J@%`gF zgLmb$G+%=esQ<9|km7y2%7T%3pwUgY>23d7gy2mh=Jx7*Pj1_qXQj2-i;vu-+p{Wz z540)ndy$`(Srpkr=$DWwfX8@{Q9e0Oygy>pz*WgfJbp~mSQo((I!*E*@n%b{`oOi$ z>m-C5azOP~lwq;+_?9oZP)P1{r73Ly_0SWoHpzqGd$C2kS9}z~ukPFtXiPi^t4}Xx zbpj@rzul%oRd(6qmhAOl!(I-3WL9+CMfPLm{rwxjg^1Jc$#>cpg2qI{XK7ljnw*W!u{f`P?mKRcwT_&e7#K~Hpl!bMc>TrGF-ksk4k{ro`}oo zCy>7(Qio>nKdyXj)gBHKOSH9*5tv?EeMV=Q{gH3gQK-mJYxQz|V9z^a`H|l&EbPf$ zzrWJ=*!&J!cYM%bkjUVV+R*DJN*iiZ@xgqfN<7jl(LGtGCvy8$x7m~V*eF&zs+IjH z|8C^cg52ym6K(s?{i}@#HXIk;=qINTGr$FfFzGfPq@-pya=fI!~q~(V#qSxP_oh z=d#+T*iXWe4&PQD=?zL^z)?nb!V5ODu|g#%QECYU&w;gBdK)p<8p2(Q zJf4Zj8^x%ID~u7!)zb1((W|FR6n~Y$B<~uUXI7i&6}kz1=Rzf-c5 z`w|u$!$A@$)8GcMghQmJ06OXCED*A!4gl}zn&l@Y#N=*vYM_1lC&s>OcD^?Md;RkD~wv1u9nBMj4vJ(rC3 zzLL@~2BUXr3eilQQUhS92eU@{XG$(Rc^qUO4++Q-)gm~2_3br_Enl4(9i+XZ!*+sl zY!q#?ZFNj~`Mqq$`qC7oxw~c^*}0rL{k#5rKT{9U_Eow#L?1o0+Q#Cx>73HqhB3g! zW+DTh%o(zW|JV12D;JF_#VI{+3y^ytcvAd6gqlnn+)(%`I?h9xQ}Rzkl}dodnC`Kc zVZaHW?;^R9=LxE&s0I^$8>_h?Ca5ChJDHqsrC%|Ft6dX>H1@S4H-094SKu&9GO|9J zy5MQC;gcefsA8!M%q=X8?*mRN`+buasG1U`L5n0QWV2d&G5sq#5Xec;_dVKhrd4E& z;EaFPqkfB6Wuo#hTYd3BCA{s(Of$`;i<4O)a^-kW2$9pR7KKxOW?EogGm{>QzA+*o z{jmBi@u~Ab*=bI-E4ptrVA`_>k;adTlTBPS`}}E3z7=}%92{2n-1u@r4{IW`nuCkc zL5|PaUvQ9JAz%N_ZU->c#kH#$x>vX_;ux25tQa*sC@=9Q5nv+v8Ea;N`&N=FO8#hQ z92x!#b{l;fY~U~opNE(@nV#O{aOV$2UB-{nXU5oPN%D4+_v_vqz;ikF%X!(y*Hu`S znq1q$fsh{;p9(PO-CbGS#RyjzT6~#<6`1Yg?JU6Rs~|+k4=RR#6nkDE!R05@k??_Z z5D$_7;q+~c+tt@@&2uKy@JPt6&E_bkM99Y-2S2VnvbT!Gy~wPsFK)SU5!1>E5FB9P z+6fQ}4iEv0V2FSZloS)v0u~g4z(>Oe60|*BociS11P<)v?gs|~!no%_0>YxK0HS6N z2Qef}{sj8S=LO0rn*T~}6FPY7n&AU#4+kmu*1L7S+wFVgybJ0JUfgpF$di;(2jT*P z1qDR~#e+pfMa98^g^Y(IK*Yq1&k9XRh`Hql<=gSo))r3-zmAdRoo;T%CC=fEfBPF6 zinTsMDh5u94+8`Jg%1XfgM)*J84p8{FTD?Z0~+)@1^fU_I10iU*j7P_80a%hSuso* z;U5T0MaDguf8PcIG|8vR>Ix@IYm2LE8e&ddGFnjqm{(j_SV)*G3MIS(W;J$Ag8Wio zl5C-4%H$mf8&rmE$S}L|8P8V`(E_XG9cpl*q^zvCYiew8add`;7QjG8M@{!3uP>-5 zsVOS1E_X1rG_|!ev9Y+@KR-UXIl4L{K*B=CM#n?N!OTzl;U;0B`IM7aa+0#rdhY_D z!^g_a(A5%b^1r^mAi^QQ$H&Z0&(1K=`fF+LZg2jyHhq4N?fzVBypNo$D6H3C?Rggh zRZ#xI{MPCZOZMCr78Vv6{j9>C6$EKe;HTEi7GtQ+yZvrHm9cO#VB3!R2oM>T3PUN8b^T}Cw zD>HsMP2Q(gy2?@S%7k_H>(-Xte!!;`aAo*0B1)C)PAW!|xJPdHFC4K}wfcO0F|290 zY7h&VFLgcy@*TT9XnI0MpKteR4lWesNk`DW#(^ z&GIHH(*F{hCtd9Dtp7&+@)FKj5XgyKTrNQs`GWpn-+ zSSo(gf7Uy%GU2g&zftvKx0ukbr@2#HsT{Y4IB-pAl+GW%HsokhpsJG1*QR& z(poz$t?v9^)NAS5oR%$(I~|8^mZ6sALU2j;-5;=a3%L~N!N#OTAS?ld=^9|0T5s*xTkLt72@hoFpq=^XS}Q-dCk2*9H|*mo$5*5o|WC#kvlB1 zXXs)hZ+7B38xaMnS{xh>Zs1J^#SZ^eFalV~VW15#rr2AyEr=UnKV)_<5hzEzYVEep zd9tjeS$P+m{*3?x0D}-UPcg)2*#Y=1W}G$3rnrjY7&Ev zK-?LKd|2(R6Or;eHNEwhzdQL=G*|pPnvGpTM4d+S#Zn-dW?)ECn;}5-?YRB_!p92_ zcMq}Vm-_qTf*m6vjc9GobaVNbrLO0|T)(=xugf@2Z)TY6_uPk2{A;bDJc0d!vq z;B3JOS)`q1>JoatuZEvkid^M=iPLq8FO$16$53sCQ6!(Ew=iegpu_Ph3kUNY6?aG!MGhG3C6dv z>gFDTgR*WLe9%kdX~q0t1Lwf_REl5{N6Gz#Y>L9w0mB)`_0r34a_V!|@Va=25@e22 z$~dCS17~_H_ox0+LY8gFHZ9rtI8RoyT6ZQmO6=IjyfKDU2>%?UbC@jO)}P2KK-*kc z)uC_)$MDS-=)0&GoO_c#9bG3LeG68-s(wglD+M~a(G6Njq==$q$!are@59=8nX;ht z#xcxf4-KF5Hu%eP`i?^Br}+wmE5U(u6#X{p0ZzYp2SYvT zoB87-0+d&F7s&0{ z45XILI~esIXCq#|0Q`7ZhLkUgKq*6rNmn~NA48B_(K=@BD2xPk1LY1AmYM6@qq zgz0n>6DPH~zdGCIhaA*a{fK1l5%NM~)5D{5f1PV_T%Jf+T#k?>c7M)9Ib5OXf-B#T z$csJ^Mk{y)Vit&)B-qmA;u1)Z`3VLdQaQ-z+2;kY;^J)1Di*dScS=*2k7Moa_}vY( z=08QsH!m5&KTcvfvka^t)4L^YSHC{=7|agZbTlwg^(;$re2-3?1^);A_a z;Ss&jEE_SqJN{Dv^_p_(5VECqd?ichOvTB z0UPs;WuS20jq3L)P0Q;j$?I2@wa%Sq)ldV-rj>-@x$#0gAWL0q*f9BN@F?UDs@4|r z=(2b&F;!oPBK2q7{D;mlupeWcaBiLnjS(!`;k5}^p9{_M9ApAZ9fjP;rfe@=#B%cJ z8DAo^f}Xs(x*NYj3w$HqHvhOpgiDT=$i*c_l#^dsZx5{TUiFYt1RmY=c$x}FXo4U~ zaDHne5IQ8JgO2Aa-5-z$s;X<@y+ECH)MAd0jBOzwzv74>e~&KqIoBlrUIhxC<9RJP!JG*JKyv~)2OimdRX@uOsEL)DojRQx-W$w6V?sc<`v&{3 z@!b{aDFK$?#Yv^nxg1H>jF;=)ziAs+i1ueqO(LxxLSBcX)(=4bFUrsJ@Sx(eQ**=jlEiEMOFPArhNw1vKb0`X zg1=yI0VZK}ifP97k6YDSI712U#bc>IQN+PR8sAjtBBT zhJ3qw{s5TujeYXn{-XVii_6x~QjArco!VJBIM_VZ(?vZ3Zpn(jrbZ{{u+Z&xZ29PV z5_LpY7pGnwzDa+Y2T9icy_m2%iZ0p-Fo^3x5@^tH$Vgz86eR}8gl%&H(J@zp1JULu zoFD+L5Y)XRUWqxYmhQo!Il&?EiZ#0H^q-#G^-2tcN!8UQAf z*gbSxO{3$zTKP9F;IC_BN^;oWE_?LS*^s9m^e;EQ#Vk|W5SZ@uqG<5f-^PuTI^h_7 zzoO2QeNtq~o{wS;^VED2n=aNOTuR6i_qzV|O4V%w!3du`EZLcWYW+QKO zK;+qucW}xP#?m-mJ!8AAI=>P30rbG1eUbMB(1&6|UKPArF|Wy*9+)w#uwlfXe47J9 zYH#jsYji_izIA7APHL`0)>5C>LjZ@!cze;^_aKs7q4XUtnKj?8MTtiaACs58(6hQ& zDsAz;Jm_5gKXnEs5)l@t54|slu_8cg<~0Z%vMN>2G%yQv#!V^}{uU5PS!D!$`*#-Q zp6FXJCbZxuSS@pUjxBO^1fh<6y$7N|V03i+DHUt-nl5llMSWNW0=nK|)x>b0bXHXS zG*O?eR1`kLQS<-yTz^%~B+Qb0%?)RQfXdj0`si)To2AR(noPkv=>yU*>f}FXSEwjv zB!)5zDfWV+{|Hy^`G{qP0X^?3LPh#vc_0{NFl~weDReTx9Cpw-+he(c@jmLc00un;`jcvpGob2^)k(;HC%oUi*{x1h`98Bx z{~dgDTDUW2cUDPY4pqSV&8{&#s8O;*$ZE~y_qi#q`V@Mg0hpT{wi}T_gvh`<_9cs@ zim(}w04aZbNJ@V&{0(>ds(&Vxae*>4{{!4EO#-yi7~P*@(~=OVv*><*c>VWJz~9yd%8OR963Jn3-;IwftOw6r!6Dw$OO)LEIwh+q=x-b>~Ny zC-pM`^<7~M$~Iy54h6g2?Wf07m7?g-h;jF#q%@)5(1ww0TEe(NQ#V0pXm@3yI9oUF z1#mrq{s1Ge!JHG4PSgL zl?%_=h%XPDq$>W!dS|2d=grf4GVt^8^`Yf;x4abNIK$px|B1F$WDNo$nqA7PgK17& z!nafC_C-Pq#7pFb3?keYGcH%nUS(eQ513;g=M{?RQ23MD-mLq=bp?#5+&bFMxknw- zrHhAQ%r?C^RA7-+6;hKzNKg1UUwYZ@v9Qkw?b4rA>w~-`P(i7poW@h9+CrS-Q-igK zS`w+1lEN%?P~h{o)K;G$%r$En<2H;=YRe+8ZH%}@c`%8kl#N|H5)I3X_;_zegT2)y zSZEmRTA{kzwB0!MIQqC<;Fvgj_kz8%#$5w_L?Ec3@<8~-cWt6vdXfTgPQs_%@$(l7 zz*b`74}gW$jst!MZEX_n#XPF-Bk~R0I;9vP5EPoLy1LMWZM1nDv2V4b>x@Y5aOUQzTj)In|yC@ zG4#TgMQ?Q;sI;)9MWCipZN;%09z!rROPOK|WqiJkK0yY|Z1)}z&5cNqH2vSoW7$(E zuWLzIMK+*4_lf}ZV30xWHz7O%elFM^8NJr3t)6Oxg|eD^HFxp9@~KNX-p%_3IHv}1 zsP{>&bSj-9s!!`{*ut%f-7Hu0p20V4Ia1WT8NtiEfjdT>bi)$`ThVa{-JhotTzca! zibih(1b~JD&O>nJ8nwLFi1!1s(*0RUdB&l6cirlc1R{ZmyHb(+w;FxHkVd^IY->CE zX|AJyYz10dbA_zLS!lOGZkUcPhBf_;Ui53qrq2GGcP&lS8PHGEIw(*kK0U#PzWmQX zR3z$OC^Czm=5C)yA?NJ0^Z|SdAMo^5o2De{5^!+Sqk!b&Ukatnk@?MC%yMBtEi|Z{ zNXb+oilrX|QSV!5s?{zth-t-bP=zrNe@#BuR*w4?;zASj8bjB49qah=qPrU6#MGTa zX4|=~Koo7CRG258TpS@F%_ypYlr7&H|H(F{6&iU3#=ZQ^6(^2VXI4Ca@wmF@c*R&e zavdQ<+28rQO#&(IXO0?Cfd?m!A^{dZGGa;9>0pflQ951QI)4)=owp5}_4OC5x|oREpFEUq`btj*^U0snQ)nSID5O1vX3~-yRP*JuT}ee$=@U zYx*3y-eK&HdsXyOrP&Uq-hcG#Y}8Q(F1h|1_tzpaGAFCtF(*z9He9(mFg1x=nMDpD zeSc27R7a+B%50Xk*!)N;W-axtg~;q2!*xA#U?n++diEi+yWaq>!r11z)$F>EtHPJb z=9^Yci)g+01XcW2n50S=5DtEDRCma%b#42r_BM4>WeP-}6AWXnV@{NQzq&^C5ZBx0P=UXNm;Ox> z{lh;rpesbX(pM<)b8;H8F*;UW&-EL-NQK7yw=xbk@Ri}g5R@VtMsV5Y^8YwmX5Khi zG;oX#ERqQFLpP7_{mF6yNyDRt=p8b?PGSn(nYLCA(`YH;W|ffyE|I`#X@FV&-ArEI z*F0dYmIq6mmEw`}lwA6bjbJ7~L8(r3@Yut*mmQFL$g&YYtEnP8Af%y!}N{iJ4~aWdsNL2W_#rsV!*fb#iA zl;Q^j+`q1;;m}3G9n6lp+W`%4E`N(p)w#SPjz(|`ZN;?vqu*O!h-Tx2liL2ddCSR%6}Dv=|H1SnYB*VX1S9Jd~ur_ypD+~ zUQ7lHjB^61UwpSk6cd8>Bt=NPg%7YFWOC4(G9_w0TgP&D&1q{Anwit`oiMG)M3Ckd z?&m$}Sc+;V^oQ0}TTyfBj|}t4rR@-nZXKZZ7Q1~Q*o4vbdW!eZB>I1iv{|;ft`MFVk#f(3IDs_{dD?-Y0}NjN=bT;Ek${brtv&qRXIo1_Fqn zMF#j9I#+dYWC~5}YQ7TNvRTpGR{Q)J{@ur5X%=xeLJnut;E$W{ywA2~wLdK0EqS>Z zPzG|k`+Zg8Ccmx*%e+XnW7Y7+1pcY%LA}M7z&KP&{kQ{){WhEDfVv8_1$ZT+JBdw3 zVV27mUDEo-vhm&v31&yl`Q}MSz$-o~$T{LQn^oT4#iyB>Y3gCh$lPnYC=VInZ$(e; zPOao{coE3T^!s*b_nq*Fsf19sefkvS$WsE=Z_JDu{HzpU>8{g<#mqqFG#&(Z(H#DI zD^<%LIy_!58;Ve0xc$2Ig^QJ}?m}?zM% zg%p!4|D`S&bwkWunSY8+XKpp+kR_RUB`I-AF)j?+pg|uwlxnqFT1Xw$b%`>*wu_Mq zhrVhjG(R+Qm13%IuOSEhITg_Vq@?PXW#SvUnmBnj`j6gtoS_-G$j`^e8R2t$qAj>- zcY{V~Yx=rIBv$7R$zKB{f8GnZtnw47w6!(EljgkH8}}fiEeN^ClSitG^e&xBl}XWL zOJSV4Y5}c+XAOABa+b7mz0(lY4(tk~T>4SW zY7|N4hG+RhY2Ivx?Asitrq7F<&pKbeFu-Q`zjX$Ws^eUi5YFXk_KuDxj;dYNbn>%w zA?(eU5#6h%%u1%`W}zJeT@|r%E%K*!(SAeYlbjed-2*jL{=C$-H>#{BdT5 zJkF$CPHXY%CS<>)m?g)yQ-uuM_9Q(nk=qGeVz3pu*}Dd-$)iVP+ZzYgzB+9fJc&+m zK3Dz{PwyAKji%qVyUz{6Z6A@^fsgiOH{R+{z>qWOygTg?rZH%k-5QIY4rM8x&FiF{=T0Nb10HcYRe|w%u zr(bDri2on=9anxgXCc)NUJGlxJg49H`F9W0O%UMj3mWhU`z;fw+e#dDZl6@hL{_!M zPDZT~1(ub+slDg>c|$Q_9*g+OILVaFGl~yyjTcxKuA=l{iYA|VF0g)R^si*;fbh2% z4;U;f+|(+IRe$bPYrg~XX-roy$<&#v-Yj?Jw#4+^4NVt^X~boDRQl=%TsvA{`dQCy zTOC56qY$3_ihm~R1}i!Wry@x6u;}cvwF@x{1>JC*9mbmt^~_jVN@a-3{z;f1$mhAc z=>WJKI)q@2q@)7yDG_B@}~wHoZ(u%!Sfy zTE+DrJzCiF@OPM)lc!6APtT^-M%=^ks`Ja;FtAh8a{4Qj^`gyG*wyZe{II4mNL{#8 zdQHs*|8TO)Qg8E}=lQ_@%k(0>4)WT6n7lr61@@xVE?dBW0;|##<-?3L+1*HL`Kw_8+?a5$x0)fOv?5i{SwPiyKFI7Nq!!sfx0}z3+Cln zJrF#3@YrUgSL1BBY2gD2ACY@8sVb;@=qeCSj=MRqi{U zI4R4tdPD!c55FDzcHhmjM|At3L*$2pV{i95f4g*wtHQX?A~2<`zGkS05Go2urE7bK z!maOO{+hpQq*g}*z4mhydgxjxqm0ivwuS7kus49g~}k8tkT8r z!hOVFiZS09FzF)aJ;XNyH2pzaHANebs=|tct34%V>QE@Z*V^J(;b(Je!3ony`)rwI z;;xrsqj%FYPttZKS@zPwR3jqmgfLlD1f4ly19L2O$)12Ac2#D0av&IwqH%jB;YZOl zPsWPQ_94BQniK+M@yNJWFtz;11o3wQF~N)3ASdN&*N;IoLtH&4bW>%$8xQ4rv_bi# zUt&TnU{Zxg`@0vV5?ubUdO*c!ofVYifmP#UnOOKV@6$| zYqq`r2oqT-v8i7~=dB&|v+o=5u=FW*<7kRIiydy-C-2kbRQZ=jUEM& ziluHUCif^8X&B6y(JnC(=nopAiTr>Er$XUaK|6@l`l&lq;V5qeomh+2tIws2%;L2J zw)!NgsK9Ja{EyK!fGPK#B&jQMf_O&N8* z*5?h{*C0EKY%pE=xuWPpnA;-hv1TP))d{4*8S4t#Ht(#jLZ3;{5ZA`Y^wWg=dH<%6 zkO-hf?`FIbq|)Wo1r_y$usBtw)syqO75BP83f81|C^gg`;Lj?Fq@Ost6L7+5ck8&% zx87CQI{w}-Br*mH^}{^~c`;Jjw6d=vf#S zHTulhMVmusPh)AI~kg0kD)z=BiqciLRz zYU03y2^z%hvO?pMs#GwRA@7OAK3&*9HZ)6{46u*SmL8slC7JW4>AdutgQaC|diDVl z+E^3>HRB$W1I?km7J(Z{cDm~jEq7)H)beQo4*eLIthlGPA(P>4(} zDC7hRkK=x2xnF8KKGJNkJL~(g4hd$r{$TUn{;qMP85-h>J79%^k3sFhk$0kx`*gl! zXz5|%ox)S6xMi0@UqkG&<;(98y*TAC!tWztFIVXt-& z>mv;OxlTCcy7H`YopD)BiIUsnzcusGaida6PWFwN`~BNU%(ap>BCz%SiU9KhsM3u) z@vFl}g$rmi=}~axcbxMUISv!_o(383^N$%Li8+g>@*HJ>k zBuRKCrBa-hU#8$RfA4YrPAET3RqX8SEo|PpZ2fy9>HY9uUYqj@Uu+WEKXe6EzKpw5 z)y`j8p>}RQH!2}mHYwq@daL>?0y)Tmreh`V=$*si2^;BQsgpD6i-{`u0IG#Eken_5 z9n$M?LwZ+r`?BY{G3^2=BTh+L&Ituz0b#aNYnEI3n`Kx~YG*S#jTWFO7M*^3Ds$(j(sHr-o zm&Ey^yz@B-$!;CJF=%x@wVi%}zn%K{W+Oh)7rYLV`n9P3Wv@0u1rRi`O&R4e?=|qS z+42oaI$;My?T{DodMft^-i)8d0ctl~Q=KXwU?^kLDlRJ+D^sLI}wdYSW&?2IPt2J>E5eA=YuuCZM-Q z(4}2E0`tqsPyS9i!-BIc&-&h!FwmiIHV;7N5uh1jHmQcWkx&!&S z(y76?ZSrXjVZ%*DUVTYyax#i(+{fLgD2R-nds?PmUB&LjB7FEUemasY6%IfH_I0Hm ziikuNO?Q({`2TEN{Y8qlW9(#7IiF4EV||?=fZP2H51837wChXC^H0!|$iEto+YPMj z5Q|E&=m0Uf>3-4gM%a9uMYvuGhLT${M?(!J-osQTp-*?Y3(eD|r1x)}f1c;+1d6zR zRxcJ)(jK2q(^W# zv_A=&dLIV0KFXKCGTf>>K|7u>MZTi(*IHr%p~g+*?TFIGE4Nfz&&tu2vzR!kF^bIk zy>QQyT3bSf{?P3jo_DcBUbPbtyEjwd#a6Z=9=`fn(g53ntrfC5qfw|yntMW56`;Mn zgEQJu%uFdwmP@=h6#LxdGXY~1l!Up;a(n<*c>`R4?QCKz7wL#knV97{gIGF2G!jz3+#b48VFc85lu~}YR zT6iBsyyTEHKscEE%XZ}SJu_QL?s>1bwHDsKXxT!P6z?$HJ~cn1UHMe(0xfvR<~;2s zVaUlfsExYa>q@j&$`5yQbG zZzlwJkc7W1(ek)_uH=yB&}6-$0+Y$RFQHSYj%#q(3 zzEAb{M4e4Uz<3hw87rM$2k-erV_17*bIHIc9*^_kKv#Vz2QA6`{mDSB#m!B*_2F2l z>7R-$GZ~OR{_nR_81*G~ebZ8?vT%h8@DiNl~+&)+p+qL4{;unrSzlb-uDxN7}4Sr z%(}Z*qgbP4)*sgkUdLT&^;~h(5=EF2CtM2WR!}Ncs6J<(J~Hi)$N4aRC#5B6-8lwr zEluz@e6WH*FQI&}%@m52p7*H74PYNh{^4qRt{gEymZ4?mIl?1d3dPZTX@Y6muhKSz zgx$>+^JS)yWW`2en1X=3HBxU$FxT%TKSu^m?@Z<@s>xrF;Jdeth4kut;Yg+lZmD<8 zG@6G|Lz)xD7uU}!WUH+d!@m)Eg0H|xr42`{$>uLX7%N5x%{H&EoVE;*I^ z)j)ip`N;=8c8CC?on1QfzoDZ5R9IiGYSu9|u3U+`KA(a(Ar`Q@@3Ftsn8~LES>+=V zwQLpaRp~rB<9PK$?O4S0*y`5dFi?gSIJ3}kgRa-yRNpqfPq(eL^NSt_VGJ?y2AgMA z%rwU1DktlbiirRklS5Blf0$j5o9JmCRR3nw7q&oP)XCkD&cj%l|#> z)qmk`W=$7WJ{N8LFRb+bTzs{@-5d=a73+9Mv*wxj8y#W_*`%7ZWqSfj?zq3o9rDO*e&siod< z^cIGU5=+!7Zrt!Ey0m^#lblqmDepAp(;+!Drb~Y=71fvr4;ibr&XrOLYaP`5+r&vR zB$**8l>rO9^kw6>JEpzm&a-aRUne0Gu(rxZi>2d;38P{tgD?GP;k;y;Q`llUbA7yF zSA4WoyM(BLwJSW{)$iJ~k(pP_`5xr4_OGk>bL>HCAU%5{TkE*8zTAsof_GU-wv`@c zU2DR5$$)iyj_Ghb1)=7HbnlE)>5$K5qZHoF2h*-Fj1rULQ2~=^tOuQp^rAX^$q| zrh0~-!|V1w?;Ce8db;w%;=mZjCa;RDEzzPe;^H15p;NW9JF{hMzvv9Smh)5}Q^k|- z>j6W~L8&1{PP8k<3Z18x&+A`z!wxG=qE3L`zcj`tZ`xQ2&mh5=*^bO4 z=Q4De{IEYdAn+Io2n)o{Tr|B~@~CqHdOa%*RUu`Qc5$MfHg+=tO0Qhx&D1$+RsHlx zE5cXy(w)2Y@s3g_UF^rGd{QLO?*FLceC=rpM(I;&Z}570>Tk!7c}c9=gJo+cyA?|_ z)3tR(ENtF3jgAP zNz8>Y^WN8~o|PI;y}O~ubxs&I=Z56S%(0S)h@rOhGD4UVbw)Be^p@|_-qv~CV3?;{7t83Hd>{>?@(px|S z$8%^art7dkhf(}$WW=fTFaG++gt1i>42&2|^`6Qp_2bU9shTg_iQ7xV~$69}B&(1^(WI1>HX>PN9dx_Is$1}{!U+NBF z3f?UZXV0-bzm>Vv=R{=*e1Z78-WpWx9db4;L(Uy1zgKe7;7Tw*N}Igu9c%a5R=cTf zlr8RZkV+2R25+{$A9*{NJrSUD)_?z!y3`n-xkO|ssirBwSlp|3MRWCEAVO5l$=kXO z0hx3E0*t^0OmV7UOC8LS2?)ED{2$cNi<-C&PS#!iCG8~P#Wk+b((hfM z6IjCJ(3bu>ab!J<>v713Ut#EMYUaN-nxqB3Gqey?g6iWpi||;!Pz42_TPn3~RVL6w zzv7e|jxM#ZPc0H$l{h}bl=mk|KQDfzv1_abJ(MWSp_I0U@gLFEAj;GE-6h(Ch+R?U zA&B{`C1Fk8Qu7I%Uf9aQ=c{|WYAeVjMabDC9L0Nw-+-F!fsyG6O5&C%qOxLU<#pdy zICL5KA;;FXm>lv}cJbkf3-r}RByC%qlxzWnREJ!t0kQX+!QO-+j;-NP1GfxR%7eIn z5&Wr5VtHAN;A>f55NlC!NeWO&tWF&av2@mva)i&QWB5)m(LvhZPOR&G_%*@P{6U3@ z-PH0cIjwRKR-FUD93>Eb5A2HS8YfgS`CaaoMNJGj$Z33rS@P2CC7*%)E%~S4qu|Xu zoP>dOnlpl)k}O*Dk{tU`d*7W7F}QE?UmV4ccIvblcA~~I>nXH~sw+*-(Mk%t?@T9- zwE(oZW-LMRh9gw9)(i46Y-6O_G8idk4s$Q;eT{f+wFo9%K(O8;WnI`$`se>C^1CGG z?dmck#j917yuKLRwEf%*`KRz6o`h2+A1&-m=hUd1JpJA9v1FRx>eSi)UiQ}-8I?0> zOt$3?OqcuVP#FoUoMS-NGOVimPa{aJc6*R5>1*v6a(Vde3_VA2Z_3`CFzU3)sU-bG zz2D&k-93CJThxHBi!q3Y>MC|{UE~!Z|HUoor*{zj%B+7ZtRKNnI!KDsaRr&mw$Gk` zu)03b*0iyLDHhmH&BNMEKpGF(M`3h?&Vl{l^lSQKA*Yt4+{)$U>iCjD=1|HpC>5kX z@DoH&Sn%+vAK)-HzM8UKiISAu#vK5duWb=pF<$k)8uBJq6}~l#e>|fZf-(N@b8ElX z^C(D>xMt?X|KUGcOH?U&YIIMud?N7W6D`EO4Zf;!qu`AWt+G>-rYU`h^UNZT7LY3C zoQC`(mPzCiDQ+@VZPCu_iU6$0z9t@Au*IP&L&b;=9p6Zha)ppc(jk8DCd5-?2G+lD zmRi)9FMD`V=RK^Ked|l4o`qD|rLE1D0M z{ zbE=n*wl%k;WQBI;*M7dXi{An}^3gjn;C2D9zWzYvmrj9f=^g=2_9^3uO0h|QK!35-9UBzB9MWjK$(Sib5dSoKg_?gLsy`pcoZDW`9s4!vzrq<@bTTIya~lm#D= zTHJ?A&w@AJb~jP>9caeJ3_|XO60SKdY-`VS(XPXupBtL^o5}To-aAPmRh{xPMtrc730M3e)T(@o0E(HkLH3~bOR4Q{Si~vYl5))EV20OW7l*ubb*J?z z+!WT0EoIQN`q&ZySm)t@FXV&$ZcIYwAuSAWQj@C?X<7-NEru`#3Mm>`;8qV@v)D0| zrW<-!PnR(<{`k%|Z^BPPovUN-Y&e@)@}T{;3;{TTmT?CW08}?$dPA|NmK-h$^?kLD zZ4HZ&Jc)zzc~p+^tS_G#HmUBIJ*^|-7h&8e1_vc=8{^)Y4IqFG3wUbcJM|;&S~w;G zNPS|lys|YlkneTnaax^R3k_e9pFS3PGxPI#%D}>+-6(HcfJEW_#!atJyC0>ayYEX0 z??DK?aScN;pZbA77)zZ$=N%!psCp52&Z;QPd zPzXtbEuonW2!KGsabvw{<;NXc8m`@qeB{+4&zXt2JPl8O+eTX>O-qX3?d;wcDPg$dtKfCiL!E=|1kfIKB|rQH3~9umjmd0? z1&s{&YOP}h>2_|MVCPqFH4{Q{VegCm?S{6bdl)FCqkNJS`!K8v4_@}B%XzppQlzne zfu*t8amk3$T(PIa$$tOk0oJ`G0w*6cgV_g_{rErFdGDwuzi)3a2nvGq4nmY7AWe}X zHKNi)L{z#EY0?BlT9l9|EffI(1pxtR(uoitQbR|&^j;E*(i2LE5R%FF&U^37o!@E4JWuxCXP3`DXP=!&W*)1F^TZy7*F*OsS8BiTv2&->X=PFPFPf=7_M7+WbYHf{_wxt8$Wbpq1N!jY^H;;V@MYt4OsHN znZ>DfOe2QyL&k{HU0!|oN8UX(GM_AkxstV;aor$A+<5vI!Y?JmjS1j~qPR&v76F>gjrPzh+8)&W^+om^xZl0RZPm_`HRxV`b3Hzi3&*b_=w4* z09S&?F;Qe|spFvw?gT1e&MAm8T#?Qf7;Ri+aEb5XE4qWBHvzmK^Rs%p5@T%}B6!Rm zKK!@c>wRqksB?%4;8dF5c(Xlc5$#H7cwp_V;LO?0+Nc&txZB@@2lXK~#IO}<)m80|kYDU_X|>CRdp2Ws9A6!@vQ z?|nUG#n2!qcW60{3h+)iJ5Rd3+}ch#-wk}*Yaf|vEXrXAI??eJvy&_AKQW!XuZd=z zg&m2yA=}rr{FX%A@BbnzTg^ANNmOI@dcE~bQ+uNyx`g%W4}@Cth)HmUWEoEad0@h2 z`#vNCrwdB@!}^$+SG(^8!;2Q2&aB6f&Vp z+qkulP@p{di!4_5zaaF_Q$#;2O4(yeC?lY)30C5bOm|n2){dq zNHX)7cbFG&l78}I{3Ei~ubNoX^P5Ay(AaX;d#e&Y)w+TopO4I#qVC+_x#_;5-eHpP zlmOmFeT5jegE?x9szUqiR)clFxvDJ(7T1&aE+VfnO=h?jt=gTjxRwh%5ojz?#H*8Lth{hV^ zj@BINP`){|)wr14i!dybJ)cTF10=AFJb;YTGHo>KG zM-yRF!YLxu2Wniz^0-jB`*GwTfs6Ac8YB~RH?>c8jV2O-paQHvE>8A6_+(&tiqPTP%+jnQNOnhj*hoz;vsr1= zzP%%BIVP4UVT?gZ!*#r}znBAD;4U8CzuB0*Gu$>`(~dkcJad0A?!udv&7$tS8= zY*={;wYt82)!wQz>p@>|M3Tf%NXZTGh+={kdja_YUI&G33LFk#xseroO2rzn#s$ zK~r1F?;w3fU=>VaiTQ~SBJ+w9-;&^1uN!xVVbY#9fysHc2CgoiyftZtm*Z~dUT8CF zp-(c>Hj+pNqu}^eDquQ+60QG<=2F7D6p#T~9Zqzj0&>j?;7eU6R6xSys6pJ1SJzjp zv^8HnMz28|mS9)>enYkcG1bKsgZ=e#NaTJ;`uI*k(bJybA`dk#yZNX0PH2v(udvho zPxtSk%AZ9#j29+m5p^yMUO=MnIxdVj*nY5LZ)ZCzp^((iafNIc7gqD+qSIylH_WFr zxP(xo^urJCDI>`Oi*Uj*2-`;mpn#`bak8}NpteYcHON8|k|z*VrMDj?xC+!9sb3U; zUqGevYS&!6>!h&p*wpUOtnP352`6O~UaPo0OGpATLmuPMQS#gJwWej8H>Pd0zeT?= z5_Q6HHtV-D;TUdw|ED1hmQ2#=YX#!(gAvUFB$p*1i*a$&*sqX^*A*!&u_qbtu6E0f zyl_(KUz>RrRl>t`o0S&1iO9D=6!;z71<3$H=m1HcrueP|$@cl4v$bpPYcJ>};#V_g z>7MX8MVOnt1qcB-D69}aTz<-kXL|6{KKF~?yXDkw*z~R5YjBQgd{8$0qs7_L{JRpH z?2=!+c)OGD#gBhV{Q0M2jC#tylzYzX^d5sJXc&0qsd`k)uiqUO0iINVaz;{2V13-K z^H#<7Yg_x2QM_90HtZ5f%3yNK!li0r%K?MtDzavH)m0_^>^uM)`O;K-)8gx>|7?ix z12hVS4xJboQHf-7cyDk~`s-Oev$mptZt^f^HS2r%>DVQd$88~hnCbC~|9kt|zfmC) z@}|90=>CLI=BKPYr&p?dJ^{=FJbA;P-Z6yeJ z=_N=6Iyw#$xR7UUhH0)g*oAb~R zXl4-y>hKXD+mJG_a5l0&Ar;{~uA>HVYO}E$k3{>Oard2f8%0EF$Dc9y&6BwN^qdPr z+}s$j#&o-988gGOwA)^8+eVQj@P~iH2O{!4MQ>7i8iV;VteVDgBVCzlAI(GaY&RYW z^t7H)GPoadf<;axW5Ho$VD29cpD^VHuN&=@%dwp)hC&vJ0dD(ML?i3|r2ZRmBR5_G zv;cIVEd%_wWkZ5q7(`r;uUTcniE!>mNk!qK=6E0VD~Vy}dizqDnI0PZ?qBSdRbDgb z#0cnIhu+0ocCgd194aE=J=B0PwlRc2e=oT;eRPAnC#2v{`nSyt6n)A*gQ};yFMn?f zG9yC#yKZSj*=( z?k!$!f5pywe7%e^M7cmJ87J%e}40Z2$TG+@B<{nq1;WB20H+yg=cb`3ddPl71n!u{F zqte$by698`Y=bD_9QM0CwE}@!1iGmmNuTma`RSruqE{x!PiWfis^uczX{u=)e-ZvDO}wfu>rw4{=R{+s{^0Rj^LuY! z>fD5l9#3xN;FFinA@bM30$Th8o6$C+P-iIw*{z71_4HB=c_1v~z1>rne)F6D=fj5( z)-M-;4P>*E%VbqTVe0@3mRO7xQP^#T3GKmA$|-E$ZC;yI`z~KN-=@iCG-#x?Z{93G z=~z4uV|71XMMgG@l5FpXbxd^iS(rJa;BK=YbR!>M!4W<@ct|cBi48ofGDiB1(@$H5 zhh`;aIQwbNv4L>r#<{{Dg}M=j}+$Hqt`^C%H}B9bo!K zDcrnI+nbcUoN2p75}!r3Zf3jB$b8=3=PuoyY#GK&G3s|Rf%K$1#Bfq9VW=IW=Gz4xCZY~!&PdTCQ_=>!)xOCxy*|Rl+9t_$d0tcE-wI!J>u`@uD zaXUHRppOU=!<*djHs2eY{J`gEi_o?a3MC{ZD_E1eW;nZd=DZZ+y5bbNbp{=-#b5TV z61y9%Bm5(atYk~->vHNiQu-Rrn8s7;cQZ!mm8$pSI-~AOsqWc$)9lb0)Ao7GHeaYZ zewO5CQx~(h*9NhHtYk^bUd#*TiZAJ>mti=k^R0g9-6G289To7rNsQ9ovLI50U(G7K zSyvx3{Uth|ndkakcji|%nfxo`WkLVk0Q(Q@mJaelGIkT_i62PZdB*V4b>9vC^m^eY zh3#_1OPyt2pI7alWd69hab9He(`i1&RoFBPc7>!{G)qF^&NUx_xRgB~`&4X>EY5bZ z{5%;4zNG@L&>_3qW3-I(JcS}N+=EIWuUC^z>OS3&Og3zgkPh~KNJlIn zz}rvxySwjGrboS06t`?iHO4?~wUCqzxxapjc@@iHyY@8~2S%UZkZ#|yGiTw&s}_Cc z29F+0CY!vr)`PwOdjuxA;%ABFq*L6V?G*z2EkzQd;EZY-^B>Ul-`t#vq38L-`^AX! z)>}>KkOsPz8QCt_HK;D(O3sN46oR*}!`@ieR%S$K9ghAfr0sW!2`YT&1A>w3Ot%K4E%QBPa)yW|az4loM+ z?kmYjDs&lN5zQa*+$G6GUfx`OHNfTN7UP1~&qCkdSJlgl)}G|_3z!P(BFPf{3C$H*TBP!#=Ip$ub1XEd z!ZYOSsczLXE9Z*1GjD2Uzki|)?`ehrDV>|_r&r?ZK|Ca|DFKa8^pCR{VZC#IEXOmr z)IHVTudDq+nP%u!J7K*VJTcC*&{|id=F@u_AD;_O=Xu<6%mG^f0F1ZYQuu1Mxkmi9 zCWSG_fKkXi(@^$GIVn3Hh&MHzI_aPSF49r}&EilA9lPOO3w_H+E%SFebj0y`9f%ii zsxti^+0OI%C1wQwp^J`OZU5`~s^|r2Ejy%$3TQP0Ie!)vTtjjsIFsp8&#HvE&v%9tmF^p z$0rIIfKyb!rPr4m=2~GS`-ueLKF2c6pfS+AHhsKu6 zw(&o{P59Q}lQZDuq?*I=OwD#cmZN;GW8>wMm{U^{ty*C4IQ>Mq1~tp>f=Q5A@rzFg zl5=Zo8|w!j^%_5ZsZPH8Io`sl??x$~)R)OBvfgPX^gO|5sqCMrhECSibcgl5`1HLLFPsab*RQhNZHyg$SGTF4h^c}xQzL=$;BD|@| zBusQ;lBi2_yuFD3nEbwy{w8CB#|g`_+ScjPKO3Gdi=kS6*bw1Pd(LK#zsC;>yiv18 zs~SC=SA+9%ziaE7JyqQ1q)EL(;y$s3boF(BxSM%MvfXdiGM}Z})lg~*CFeU-i}nmF z8DC`PtR_}&Yy}U$)G;_MZk8tn5eYOc_rdz@8A#w#Ysh!<*~W3Q@AAB-L8gM2mO4*L zwo7$YlE0+ZW^`3KTTnP%RG04>h4J)*mhj1An%O37WGz5d-*DO$I#nU@o~S`}PCsjjLP7ZDR#9HOLe$>tA(yY~FQ@Lv zeeV9e$yIUG0=(gzZL<%0pN+oQOs|D}a*Dus*#Rl%>rSr2=2PqiCzTgPq2i}s4y_a#IdMZM+iHr~_@V40 zm&(S5+PlWw@Usl z`sH(^Xx@cVzapC`9?iLY`eV%Nxg{YwdK8P z%EX;wQlK@v_*T-K#4o-%8{tr)+bv?0PLeQDmSlz>*=?~DVt)%&FBrntF6@oAJ<|1{ zhrAJPjs3ixKt@^9wbPCH+Aa!#T(jw6!*A^4T$Yi{f3jq05wQGR!#9Isn=)J*g>}Ka z-})r!QXn1TrlSToZJEB)3@)3}QJ=7VL23mHgRMX@6dp6ofME#_2W-jyJAc2 zr%1)$Li?W7svBnrKBbfJF5?ORAS=+8jR7rv$wp^op7=vWo6?UAlUw23TC5O%b|6G) z9WkpVU()@7kVp>P^HRLfE-U7*nK&Ne0eY9kj#&23=CW*0e?%gB@j!eJhXE&^?rm@_ z8$pe~_C7=ClezH_HDVxMHI~q4MoM$RdI|M)&kTM^e~?o#I~#>mVR>@(kxZuVTEt94 z&`QxmIso0BXMz4^dWQdTDI20j=5Zo2(R`c7nCLYIWi6l6NhoQf0(|h4x(m0B4zzX6 zL+|s8Lth9c8SbfdZPAN+1stVc&6DEqe@l5l1-MfIZ{dPefCDD>F^L~nP?1w$cXxm& zi}I5=4n#7E9})eY$yI*P?cyB`oaO{xy`iPHEW$N%UG9j>LrnxeV!HG3IBHLq3V6qd z+(0h_TNckzel0L&)0Q3I9ERIIvl`YEiF6W~6K=U=$lE%znT&X<^!ri_DF_E93-g~` zgX~)cmn+P6FR;W7n$*VPxFrB5EFC`_4jAaB9Gej=+4nfBhX=Hjf`N!E2~v$$(fc7~ zuD562_6m!JtsivXJA{*@&|9noehRZWK|@5d^$oP1KXhy7wr7@7`qU}nzV6Wocgv5u zt1l~MmS6EpV^m;mWIie&%p2sA9d45!gr*1*7!xWSo((7Pcq%=;#U#F~3y2h?>y{O} zb}8|_<(xei9+tcWWVLpy=SwYgtJlfk2p#Eao0cyxcM{>c`RlBn=vz8{*(fRLnRN7L zEaLrxU}7+d6^ofhETIuldMt}-C4M(j{%k?M_v{MHSgT4+cr{7?wFoA9KH<$)QEqcU z?fmpF8lt=OpEeZ!SEhZ?EIZa9uK6ZxU_lCxY|jRo;v2fs8y|j4!$rM_*j$%Gb&G$G zszS^QX@%%(^%IfzbKim#FxX#I02+KM0eVUWv~d9`MtKww_LBfAVC2r>5c%?DDqto3 zR4+I7-Cx=>HpFQ?6|jE!_&0^)0~N4m0>uA;&mt*FzzR6_JUbO2F}Wen^OU_0N%9A6 zPf`I!?2{mTID!gDa-#wecPR7lgAb>EQ~;A9{O=WvnOp7>%nsh3Lj`zajtyaTR6w`{ zh@5Od)&LSWsepXMW;W^e9V(zlg2!hru?r0fQzclUjDao|695Lt=#`s?td%yzm@yHmU0o4 z^E9rODUbe7T2SG6%EnD}qM=A+I0i+Ni&o{s1&j&wo%ITtA{C`LbuYcrP40@I2aab$ zx!05J=Kq;~{68ZR=|ML@Ze!mv`*t24K@3T;g8C3NTkQGjBaDUZjO}XC^*$~U+5Jvi zB_`0n#qida?5d`OXz|fJ0;TXx+@*NiP56ZkFBhLd7UgdMX10RVSMLUW?VfzMiitT` zn%TRbdb50*7{SZ?X-nhN7d5`UZtbSF^I|EgY)LYL7xG`~UJTV3tLc6CU)^2(Hv%)z z3ST|UQbWDkmffhU}R{2vpl{s%Sg-akdcxIJMYQJyMN4t{61Q(kSlD~>%{ zZe{F3TG!AeL+AOdSwH*eFXn?Ev4n3;x1@7p{y)H$>v{m5C-hHhy-dm?I?fRsxvNE= z?ca6&#AaDBqAR%m!Q+h_o!)bjY1bQ2g1^g{zr3xUaGzFB3RG>lv|1Tv}i01g~HOC~DBB1patY+#;@fn;pmM;w)LA+=t|SYTuH! zwAMSH#$8C>Hv<=d@n9cdLIk*)eajaoa>x9~uSR(%!qsz=yU?S^aWCd3@_8e zJHkc`BkcvC6!~#M=NLMj_9H<_m5W+Z0^jD3JsUQCB*)f@B?HqGTNbCY+q1c=Umvp5 zkrZ*Dgz8POmT>?!fzj@1izsj0>aCs1;zSF#gp~7sYYKD&Z?2%0vKe4Q6uMuHb_Dho zARkl~%lZbgy)>?%Y%7=~BN6@}afrtfsa>6LexFZ0&%k9x1}Q<3A;jKCli(++Gwwm@ z@CbQ1kehHO?6+Q+WzyXdaYM5DMgB+1Bg*dp{O?>oQUOCR+34v&v0BESWt0IpI<6x< zu6%p~MYz#^9IhlB5r`Q?m81F*phgCbq`oYHi%T(w-!{}e4(jdU{ECHX=^r1}gU2i2 zcQBQjX&@(1_=|421(xAxDxgKcbF{P{?&$A^p*{BK?d@A?65!Bh0y!YU>@&d`mK3=r z>#16r?N$l=t5>Jn{3i2H;tXi<&x2hMstTU!Ubes}MtIv8uKtp;J^6bunPpY3_^tX{ z;dBbt(N*s?`<>92CLxk1>Xcb3fCuB|!)YyyoX+c}0$9ijYDUGLFs%vyZMCgR>7Kpv zXGy`)5(jLF25L21(;+zThONSYpc76!`2`ju+yqO!;3FZj! ziK>U%D-jAi!8`_305?dGv~NY3A+U&-L?Q+OdO+rqF3Gc@B`GfEXDS%S4$Soa^8`Dn z0~K&ql9c0$0|Pzm83{Uh#qRL)6d*|m9@PvAZCfw*hMIF`8GC{BxJqRu)VOs0UCcEL z_Htr1onOL+kTgT`28KJegM|FEV^U!Z;20hH=3m|6Ffj=DL`LOx{%BqUf346*zWe3G zZ>YNc*tU`po;pP#R0nU9T**VL@KuZ{SWy$4dNLsdQUE<)jJCf_8VFbdM}oKx*qI>) z*pZBc7#*d?ANZY5qM7{R(5S4Lk%a}#7qd2+XQJAVwvK*PeV-NGMJs~bO>CEfwn9$s zLi}1qZ;l^&(YL|boJa^fvg3$Ldm_&(4{QKQw5?8Mw)d%;n>JqQQC)MBe9JW(1bjzP zfNBlHK%2)yaRIAJ0trjwY{D_zFC9}B6LOPbP^XiMXsLc#UBsdGrh9Fv?a;U z@_Ql8xKHES+{R7wA-`fWH|fraBG~{x5sEpZ4Ca_3fpte~K&g3F2TX>qBeo$nu*svc<@m%QH_S$xs`kO$LB`lO|hFxTJKc1g#Wz{j^ zwy9~X8&$*-baHr`j;5CtZfkcXGJltFlD3Lpo-8I5lKJ|&7FmIhP2fv3ROhwOXE^}{ zu}_ixUI!{D9yFZl^kT2o>l1{V^Y}mZzVCk$Y1pkY@2;WNW_PBGi1V4gp`ZNN!GHFJ zj;QtRBfd4FE#w`m=<5gzgPxPBj#f}`jfT7}PO2RgCDb_)TMQd~wE3t9$G&xXTb(T9 z`xKrIv&NanM|fxD3L z#KjBMn77BG*~`Yo5-eV2q>&?&2u}I4!_W8q-zg;_-a51{g@vUTVv!_yL0{P^vbGeVFq*UcV&+F}|fH4&y%Jro(VOJXYh$Ok3fLLVBshX(9 zOur>D+KiTqZftBC;UlW)O+QR`?C1MjxE(0b&wb|Fh{66@sq3*66~a+ivoOTX`cF3M zu&L|QGV4{@T|xI+9bR;j=BE2{z1YNKp(t0kiYpdrUmD#~m98y3P2`Ga&rZ4Nz36^) z)I4d9elGhO_y_{F))B`KW)^*JOon^%cBeK3r8d!f4W9G;;(7*YZpWH?k0y`&_wYZ|`K_B^uPww&8gkDJAGe;&XWWTM{rI7}ZS(&XWB5 zK!x8c+ZCXtT8t>hJz;tc9=pg~z0I#raw+n(2~6OgAvv7{cMxU0zQWx$Q&nf2k0#(V zGQ8yB8T5xO$H>98he-kEuj<&RG-US>v^prXA8Ltr?amYjkE_6$J;3K`z~`+!M1`7$ zq5R7AK?%qeeCvcnjpxudW8JXgx6G%u)AO^}Pj1e2PMw3XEFF>g_=$}KM61t*jW_YB zOL3|vxIhe^ve=$JSc7%jezAp!miiIt2J7)EHC5?MKO3>Vxh$<@k3zJcQ@8V(_+#aYEgpjT-(Urr3}aR5`>HD{|O5 zPE3>UO!-s<`DSEsT6nikpHuAbBRQAxPi#RVt)+Z$k}P^#9w)rH3s|S9k__@7$*pg? zJ4N^{2rg7W#A>h)hhli{XvNno7Bfici+#zl%3hZK$`Zq+>$jxq+4NyOmV+R4Dw!v> z4g7s4^K4va*@6TiC6BHSH7x(ls`u`B(U1;=&V9Xi4_^*;sCI-Tpqo#lb#88es(){} z<1=vjNEgpSj|C7uFcGIYYisU;MyK!e%B&cM@%hLpBfQt7yp@cQou{_TS852x6lP-r zqC2SGIZI+(ixa25U9HV$nB_9A;?hVN7?#tj`5SZoqn(DL)waR|b(Jj_0Vc<*Mq?yL zr1vS;UsPXzWl|1Pk&l$mgK~0`4xZF{0;P<@X(elGv5qt(7Aw`RxyWkOk{*x52FrU8 zpawZpXpmdBzrJ<}ogA<6r5+bL=jj8fEjk)@;lneMd5p2)Ge==-KdQzK&{hE#wf$?f^dgncEJKe8996%D8+u+3q7q);`Tw@!^HQM!V7%<8$i9CV&E9Ql8P6|4=l# zHnI0;=JEP3WO~o5??xQ&6r|D@q35ie1opmTmJ%t-wERe60b@h>TT%A#w(|tlo>|iv z3yGfm`5EC&z0?WY=itjdt1dAP8?qyvEUn;nDXneFrumP2pr^=PfEA$nV*)l}vEb1GamcE87y) zo25)ETe^?Ul+JTJ4a6svN9k9U}+E@=q;$0CHP(5E9>($xEsA0V=RkUyclQa6Y zNSttow-+#0eLefX~L2qr+>0H$#MVN9CZ`&yP7*r$!;g zt79A;D=*VsIAQx$#_c2y%ssH<>TXYeHN8#@tmR8YDYg1=bqb|8_TMf7aCIba7-?@l z^`9{#e%uq4S!xAaiqt)C0?s0$Id}fg9a%O I(mTM*ygiK#w|2oKn0 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 FFZZWP52`QN>Ou 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

dI z?lVhed0DwFV?OJLf)dFIKvLhOO3Q(PnZRol$am*|zY#Nyl7X+5tzeCf!-0IL)vA@6 zT0&-Liig;mRzAj1miOZHF}=%l?nH~qfpxx=+1JDYNd7ZNIxEDGt=P5kW{^qAKN&lS zuR1T#qM}rNEVxV4u>DO@8cq)r)T=4qIWO=h%GWo(^lFMWY7o(ovpG#cv&}81ewoq@n6J%2Xm7ixX)A-n3%O>4w5Yt7 zG)v=0NoiV0W>AcE-Sn!*MkRXTS%6)+Rk5vFOLSl`yp3&K=!f6Go#Li5Hy%iEwEU)l zkDUcFcr@nM(Sv8gySGGUb&`@ws|&#aMK)Dcxxj2MiC$u+DYA=+5(f$E#eaF8V*Ru6 z2y$+<_cv;MxYr3oT*_t@@=5j`L9H9vj-Q@ z7CH+W6QLgQYLE~+hfU#`C36Qv@#jF^xxw?VZ&`=5-}4L3Jt?VNNR@MvN{*3jxmeC^6yYj8T(vi-1e7>vnxQ zhE7nVS^X#@1a?}Gf?geqn*brx4~%%#WvIiuIEAo>U4+LZCcfv4&8qFvA&i6?jDv!Y zfXvJ~p%PXV#&S2O4DGjdDuqZY+QMC0lIZvD+9clfl5zEmF>X2KO~>6F#}0EEF*{+` z?E23N9GnW-=|b{b*gJOxF{zaSB#xQ<0!o&k2A5>>5P^evJ?%59Xyr>32neV81~B;Y zWVT4amgAQT%Vb#*J8bQ9r##0jPWZK=LLD@EO3Ii)7+fwNU75r^il+uMBeM~dL zIh}gO>F&HlW{VG8&ra_?(q$bD$Ijsc&)E%8jm)4kHuuAL(CkNitWCZWp^l%P*669a(HzaG9H_lF{WSVef%CG7Gf>`W@MCEPSsr)`DtC;e!^KRC5dQZSjkwH@q_+JZp1(HF}* z*!)=QoR`TBW+#34y=0+r=ekI{LNYnW{+L{@(D?KQ0WpoWwSRLX{O8A>1%f@q-ILxS8dSw%3~yx#QB*_OX|foSYh7 zv@k-X+O?A#SYpLYV-pPu4Kp!#;Kubh(avaxsEUA#H$xN~`jq9UvukqPSFrQU*lNLQ zuu|~Vm9+={d2AX7TQmEN0!_k=nIQt1v_2s#xKcPwE&LAT{%THKz)lbMxppdAG(t_J zi*r?v?6CdFQ)9rk1V);h@#xBG^1bE1BiFUQWM!(={lS&N)C+d!R*=4x>;{{>_Qxf^ z9gtrKw}KyQg1+J&+o{Tm^VX`nd@5XKRWd2)Zr2|XB76+5mGpj$b*!iqlc?3^#G=6tUO8GOz%E0!_=8`swQc=D zq^RlZMQf+0{i1rUJUmkWST4UMgbZ418(ppot%6cmO=BhH=`XQV zw)jI;m;p6yYMpFvmT$INghd}LU?Dr{u)}mFpcK_6sKj2ThsLk&^*TId9gzzAfS*%O zRMs~W%{TrNrSa#?Myw${RrQ?pXfeHZXSl@nZ}h8vrGL|Ow^wW;19-;Ui%I4YhFA>` zMrA`Muh6C1X|MZe->QJt8Cs23$IwtAYh ztTqFaRE&FGOAWxfrY|XOSEB6{x7E?I8)dQ&L3Y298n^kjZye62E-lp$$hnXno0I0C z|NV5UL3vZFua2*|tNp2A)1IpZzNf)PiQOYZ!DdY8?O;bE3-2~e@T*vGtX(*c7j>C_ zlb{-S7S`G8SEkvGGKK@tKb`ME&PnRB9w3mpo(%?AbbtK1z59 zHa>l+5N3YWCG;fGm2dIADogGqyX*V;$JP~^Z ze}-R^Mxwl5=8}_kZkqpnwd((EgaFGu7qW}8qCm1WUvPb-ATh*f-x{b2&w@9c%FdQ>(aFy5Nm-kaPCbW1D=(a;-QPwZ{;n(Gk14?udiE0=wp?fuxSchNA5OTj$1xioc5&e6kWduVx@=dtDW4O0x*5WSI=V z%Wo3v^A}zN!Q3119!`n#L*Fzp+fzAqaD{!RaolS@f8c??wKpQrDLv~|bIm-xnWwp% z*Q6ezO`s+N{F;Fi8f5$|t81JZM*d^qXc!CemT{sM5pBBI@4Efx+CJ+sXRY=l&&$ z7UjFcnNY&>M|4x?z4K;fQc7UaOfuBXeefn=x|6r4{k+aCKDr$xlFsN6wN%QLF<{cY zZEK8XlHY8ra$3WCCK@6WK@cFOyfPnuk!5nl)M$8~L>R?!$a?qaUAX*rHXjf{&X{zQ z&-JhRDL%Ss_h4068VB%GITc7_4!G5ub918|SNKixXdMWhg<@$xu3}mkRGwLv)L80#`!(f zsfvqKi|bm?t38{>OevQgEh=Y!aif#YLlw8}^vnh6E1WeKEhq%9hn{5i<|8Q$;7y~P zTwa{9%%3syj$u0*VR)Tn=aQ=IO}(p}dC!et15=yNl#Wf~#=AQ6NB76Y$P|r^qNtexDtvGiAu@t>d7>o6DL1cQ&NLFSasFEm-_yasnPav?x$+k2Pmvr%xT+? za=%?iqK#V52hCi^wD{I0xY_Z$ba|r-?=dcNuXWo6CzAFNI~9_sai;;eq;XRQ13KFl zf$pt&8%EWd;l<`UkK!f(ZZlPNA1Xq4{}np)X~TNdG^BqP!1Iluf16DRAL0RVy#}PE z>{qC+bxZnjOVs&CXr$#<$0v2&x>I8u@xk<&b}JMsLg4yQ&O}`*2ps#jamNI|17 zGEm21p6gz=YW38P9KQSpr2Mm46rvj*x=?<0XRlJD?=Y_F5hoa=Rt)OnG`&{(c8&}E zK4!lsr@<>}NYzh^sMEYerj=Dkfn)Jl$TQu-Ev#m6Efd%v&Ga(!ruEne`SCvMTcl%6~idQ8kaPM2(VmXMhIABrWv}-zutSLD;_ByX*Z$ z5KTq-j6FxR#XTz8gEy~ zEJGIO5hgngZg;D7B6?N|&8PO0c=`DK5k2abcF;=CQa9)(S0SNINCwy$Y-fL>kDswq zBGn;7WA`#i&V>`s`ws@Lvi^D*9}VrA#v@aRrcP1L^{X?v%U76_ng;nMGy6UDB7Tfn z_q+S^F(hU2O5?9MsxSiZb^77dhq$E@RuemTf$6%drBa<3zTWLA;STnzlFEt^!S+pn zFB>06X6;VG*8pxPXyTcO&kRiKl}DWVNzGel(jESG1Y@0&FMajf`&nj`boSMbVA|1X z)xCx9wsh#ND);cXWPYTT1^MgOQ2LV0>j}4*HyDH7z`dSOtN^0~+ZNd6+9gVD)SKFCB|}y=?}f%!_2-?NW@+fmm2cw5og_wBAn*#b@X2 zvfj~WsWI@#nJZEQY`D&~t%Upw_0al&lC?%1%WsHUWAW{eH_e1aR9Pzu1EI%vsZ|;G zAHj#`nZ!+Z{C*4(<1Iu?0Q@vp7rEYr`MUR|IG1JWk$PJ7F8QaK1sUvTE*43-TX4ly zK;{kVfRq}>TL(q{B+~v%X$}U;G79U@T(wksh1R@dtHaTI>8gHRcdC5PS^j_5>OkjL zJc%6%#3agFnEN7iWLRWbL z3c5ujIF7Xbgai?51F3%mea0Xt*rz6oBWa}>WFe|jd*6P{PIPTRk`Zxetc&F*Y}?cy z$VqBI2Y7oe(ERe90H zEW0^IELuctb8i+Ty?5#(7x3f&??$2oXR#)1Qzg~Kc!6^xFxJXG{yj+WhYbH}o zAIX7QwpCkk=T@PIUAXUdexF}{oqlIDchfUM)Nvdv;7D3)BTO(wp35xS`K1=AC#zJt zrTqEZiPunbTV};zIAb9_eSe{qShAlPq>?t^O6SUV0s6%0>925QAas>C|At%A0{6bN zuUSN>h(}8(u~2CKdb!8 zf->2v*8;Nc-R_+@=%d4`^BzFne9D<=%-)|0lP5t2FwfiAyP;;T8Ku^^#*l(ICl$~S zCNG6vqs=$Gosoik9KlCku1Qp0(Wo_*OY^(e2QPi|g^7v_%){g>c0e?RBJ@nEUnSfe zo{|St*;BBdy~L_7bkslA;K?u4W&f9Tp}71YB8OPZ89aL-$(k7I6XFfc*`js=P-`n5 z0}?rEyR~{)C)$CZPTj$p%Hy`Pr{m5Ax0eoS)}VeGFi9-X4Fu z=gf_|Au=86VdR7SJ1lkg&CKLD{BuYt5MWqYwlDpoAYYl}wV>+GMmIjapq|T>Lr~ZZ zs;f<)Xdv6U0$Y!Gt>ASx9>f>k=<2P1alnXX!ggyrw$=3D8#~D;x9jJ9@aN|lIkeR7 z{B7HSZ4c*-inQy}-($De60jMzrX0im@3aB0a;AR!P7Vt= zWUtWN-yWFoM1xgN+<^=nEj-5S@~_IM<$GM@h24i#?D^#7(qEL=#ZDjGb3aDYm2v zUd()5H8A~Kd~f0q;yF0Yx{zS~Sm{IWNm7DDQ&g1w6X{!W==+a%GuUv-0DCsJ+yn6+ zO}IqVU;JuXHZ_D-bpge)7m@h4iz1CGGqFrC>jPNKxy;76@N;OjCj)}$evtZ!>`Y`a z0zqVRePh%EQ7NmJH0flRgW1&(x?)o{5nQs=G%BYEZ;tQBS)Vv(I)t5;ki7FqrW@Zt zh`bA$>RzKiiAcZR9zkv*qFY7*nyd%xX zh*pVfBzvoDHVoUO3g`n(`b-X2H^VaAi_@7hZ<}PJK@C&zcrd^?-X3qZhxy;n zgEuS5k>0!=i}fKjHC%Mtzx;*d^9Y%PB`(OU(qK!9LNa7wBfJ<~mfj<4@tK57k(pUq z28wl{*raT_?Ch>U&>l5^n^pB7CB7C2BcT1u2S^2&vE0yUYi2i} zn{rYBghRd2jg(#A3(ICJE@A2zo$NB>`z{r;8 zKlJ5^hrg@8viCR%2Ey-`ewy16h8L^lGk_DL-^wM9N2fJ%F}*kaq@eh?;f0#WQ@rqP zhC0MJ{B|3yp=`A)S=$w<=w|Cq?}k6II=l5Kx>@E%Sv6<2nJ**0fJ^ACP4_WH<$9<$ zFg7wHi>8(X?ky~~AL?w=;^0el^Wj1^fR8PT=G5gn&Hj4(>VJ+}4ZWR59jDLjr*jKL zEg1myVs^yBTW661a$nKOAXZaxA9LT_$`JsRV|!wDSEWvEb1{BM zK)>|{nE?71LiFl(;I>ooW&3N_w(mF>FPo|H@c8|N%@qBr8Hi1k z20Bl(UNG=?9b@@7cIbh|0&z(n6WEb6HIqIU|K9pv%U1tf-kT$>lY4-rkMeRAE$Xd% z?<3-zv8N!?hoDflJo4uTohBnmkXU?sD`mcYF4e(U*>r4#s;rzj+4@eyn~2lGF6BH5 z&VXvEcr-)4>ax?KNvBtyS2c@`qzp7x<~Wt6_4i?wgJs^F&rb6G9Z|YAXQ?OPC~70K zZ$^FE9Va~>JatWGSgYPy7k716+jO}>+uF?9<$--m?yr%I8hc*FDTy$!wG-Ky zqK_eSF|ef6ZD$dt93u8R@gKrl+liGH8I7XMax!j3r(G#^&gI(}oN=8jdh;$_PbJZVuO^QBx|;Bf>Y3tJe}FNii}H zR{VIxL4WL~wLRFi&aq-G=kqGcR4ZrlA_xf$DWdaHqexOV%E9sl5>kwXi>I3wRk5X< z6H_RZF83-{6fLD}6jW5ahHIz<6S0aw*rv9)oNC_>cY1GlW}Q-QUwwOD-FjZXdmg=a zAG4g^BBO?(c)%Yvfyr{br7htKA6T-qOdV5v%I!WJtn#WnY+jjk#gx4doHjUkc$eKi z44M`cKld-j*EHT6?Lw?QS)eFWZJ71C=nGKtZr-tZzO_)j=s(C^2t7-JC~Oh^6Y}`o zDb*ISZQO5%Qc*LpR``Y2>RQ0^Nd1QA*L+&>KhSx~Es!y+Jbr=QeJ`2TC`)py5+!U)a6So7|#Y@;o zHlug@EEWt^NRW1;UpivlN$fcMe@$&URM?q1iX>+m1YzmB+Ed+b2XcZOl`JJFSIr#Z zU5aGa@?M>$itM~u(iJbNCpSNTV3VCfeGQKXZM2yQa&lR*>|N;h1YoE3*D4czl{{n8 z)&>IxBkOsU0)FOETt&+wn+H<6dZ>OM;E*ga+rcVgb+=veVe_YE!?Mrf(AMU7V>gM< zSH#f`bL%A5QDM?@)u>cH)W(C43gUW>TnmTym}2wiKxPGkYX>KDmOchi-X7cp*-{>r zHQ92jtrT)=hGmS0RE)gko=CST--cip?fY=-nM@Z3vTK$sNexs zCFGQjVM-&9G*dSC*cee|Ya^0}2|7tF%Ow}3ULPwD{&Z{!>AIRJl}?ZLzxSm8g8t(N zaKu+mc(;2-Za1PVq(MbfCE#g*Sx3#k03iWA5QfqP|NqY3sTEVJO<@Y5a_G-2D_ z|2|mJlJ#h{glRmAaqrKU0lAkIf&G(HH`FSbP{{7|h1gh)pN3w`;mBqw3XYRBDTg(z zbJwO3>{6Amex>ddEu?9}b+c`zrexpkmNWBy>4B0-;x& z&Q-LXWqeD~e{cs%Y9-YRQ{#b@d>^?YoFHGBx=BOKt_Ho_i_PzpM1&&}#28`_WTzkK z(1^@7Cuk)>H%u)isU+Q$W*`a+LyIW~gFUn^aBL{K{n{W6)<^)zBZ7BIKd&VY#kQ+D z;CW*(J<%V{)w`j`rP}Ddu1XWWaAr+(wP2!XQ5@5mCMGqH@>(Yx0z)VdzNn>^Xo){r zY>2gyBfMr{Jyf>a~YdcL>SEO5T~{J6@w%%IiG5GoWzOkD8^| zk~j5c3%V`$ncGGNu{j~Yg0N}NBs=#O$4x^Q-twVYV?I?|Lt_xZ93ek@mszwG>Q7bY z#9!Ko8ZAL{Ij>)y_I%O4?Z5YvSmus1Ctd*S$vvw4+n1}vA|A79e~GPfRaat)F83YB%JZrE54NXltnwBodXNF{ zk2?xv02Ko;Zp>asi|=PrOPd8H()6m>XDKX}HSzqc<&4L~Ro5fXY@u1Ht}=f3G5$u8 zB%jo{5-z>3MwY=6rYlK8yP;E7P}c~fV83%c+pShqR@FRtz7Lnpz9)2Dr6>$GsiKC~ zDE+eOsm_3o)wU44++#4!IgnOgFm_rCCub()r^a7)KJ;-4C_c*GRk!qO?YevIhw2Hv zc%8JpIiuqAtL%T`P@FH~(c^}TJv3WDuNl4qRftNHM{?q?$JPG=B~`6C(sDJYI8@6H z)6vYIaUbw#$|^4>xlVK!97kTkvvyh=IOV*m>1o;bPPR=@8`U}cXeFHlZzGFQ4tN{+ zG0?$Ct>t^_ENj%uWIwR)KFMD!NNg+xF7?ToB$5s2HZ^07=0Mwbl6ajiIrq5Ay@Ff2 zAZ`LLkMizyR&`EP09O-3M*Z{USi07i*kjwZ9qsYF3|*;(q&u*na%1QF46k#I?~z1| z#A+pzA1!2x{@r=^2`@{T=_swgd(Y2a%ouOc%lT~NL=D|E=DMr@Zlvng^HLa) zlXcM%8t9l4n)7@_-tUO=Y9GOPiFPtgM?*{Q`cqMSv1%q> zj)&Ww=!MISvv+J*&D1eFjxVq|W$WI-`4TQjEV2Q2p3>-bP$DNRdHEW<`##6fb2u>% zJ#6x|@|Az540gTBnmWflNp6V9nOf}HaXd3)N29jW+*)1~LU>oewb}QVfOuiW=~{f;g-486K+-xf34svCziwM7rw$e9UGff8S~WuhE-La zY?{K0g@siB86t{~_Hmk9q}P=4y7hTdtEvL!1juBTikPJIWs3U+oSLC-4TmRoIO1hZ zG@<2}ZQX&G!}|L@fneJ_@KUl$gLA>bf?VmYKb{=Y{U*IP3oD+-?ueba9(o||J@}@X zX_Oqx37O7?A$8h`Ej8uKtmN#o^8~T~fM}<&8^6X)I~e13)<5g{;TW!?6!mjvTL}e1 zdrGEk+r4xnw&{ZXcoV0r7u3TH6Pa#+&DLZuRuFnlQnKSi(Jx$Yy!^j#OpJEjNI zx?Nc-nK6LtrPR{a$ghf%ZRWP6DkGSx=nY>eWiA+Yw;4fRS7e*Y3zzQ>`vl^yiF~V$ z(}RN-f3lauXqeId7&g=u-#_S|hq1@lprt(BxH2rNHyrn8BTtc)MFM>?9pBo9yV72R zNiE=^{Cn6qDP?6pWdnOSAn9m@2V4Y9^7d$TEegHSC;KMr0!2M0bJ~kOU#JiXU1Gmq zqMKlp>d(<)m<$b%Lyc&wj;~BoERsiVy^P6$wkFKJ`WfKbUv0iBI3q9Kheq z0YE?cAyi}$d=W5%0)RC;l~}|(VS<0eUArX2FhBBiYehk*$^Zh}BK`wW2b`b)0$KB| z4p^`d_54EmOBaAJ8qxzV7)0!#m1aU=kU)Z!H+(^QG(0GN?s|7AZvNOB3ib+*<#zm ziKdO~Bybm#>p;fpkipa_U_;oE zXKZ7G(a`E{)b^tGw{0FYBf%mCtyxZEe;qeEhf&(ap+{KpT>dXn*oh8(^(-gCwA7YA zw|gA;ziQ=E0*whlc$5vkq}U1ZEv+-XrW#p3z^*^;)S>Iduy*5#dIpfdGS3ue?2VFm zn~@pqnTBzU!a9ecTNj*~TdZz~iV4y{nga>n%qg76Zb3H}9@ zM`Z!BB0JXvTa|};X*BBi=?a*s@ylPUq^s}8`;Q()-PD3PfdK#pVE->Y;{8uOGBeWu zcQMlcM}{VG^|FKX2qA97JN*w4NShSOYP9m7#!0i_4Zeku2@T@qb$Ob=k}9s zyMCoyJ)gMDoc(7>ETEi%B0 zu^a@C+@;TX#;L6QFUOtAoKXa|ml$w^2nWs0J3bcYfBso)92>yq&5Lru;uS`aI%FEI zfu|j@hV*cg%kgIOy7Z~dGP7(KN~35u79tBC366%wV>D&wDq<4(P&W6yEr8~H8MD`@ z=I9F+a6S1`zq7QV8JGfJtFOf9rZrwP>*^l)A`j{<^oqbujsPm1D(qcUX#FGRnZvTQ z*Y~fFPHqpt|5MWY*B2r%KmdTofA9ak#QlFIwKq1s>TuCcn*QYTT-@FkXImhsgIb{3 zCd`&%tNQB<2}Rz#umDR)vW-uJPa_UNeJ**e;gd7_IQ{tfBm3o~Tg%kR^tzR}>N0($ zef!##qH|i0)EoB~g4WAJ#00g5{L#nsj>$|L6Vp`Sn;)LbR6xbei@qi=27PU1bz~+o zeR6wsIXP297H)NB`^8PF-fvZCaAv!IG+yJarwFAnFCnoKz9BF#p|Ux4+lULht{R8w z<~C;M-+%LpZ5trRxrXV^*83^l|1Z4-EiJu%@E;~81P z+mR6w8DMvtUqXY%%HO&Wc2oHT zgQON;aHg`1y(>tPPni1z32>d~WGTy6Xp3WR&53tCtsbTA4m)TC7z9&T7zcxSdZNqh(@}2 z)U0S61D-kCChQvG!yL76 zn^&HqI98`r_M~yk3U6!z&3}3M*r$VRk0Ozonlb0&jRL!s8`NP-*|odV!41?+CpY3c z`|_q2$p?WWt8WA2sIB2$T5_w4?O;7b4QKON>&s{YAwfwlyzHR_z53C;FUq`0pAOjm z306I%%|F~c7km=4VB;314CoMst>#S>T~%qB=O)9?36%m#ChG4TjT92ij^5TwXCXGu zZ~|f%(FNkkDRM{-Y-dNIK3JPOXQGLz*7ThvJ8XGK>wfEpLT{d31oG#&=ac5>@O=04 z{^}0}5TayfMRm@Wv(TkR(C6YJl!%KF6uDTd=aEC*U&|n)$CD-urh6hRRstrpiD$sxRQc$xe z{XLLsNu~!XdMfK&F|*sp(YpW8%9K%mBQVuVcX^y!uzTdK8SC2rvez2ZX0!+k;GLKn zS=Pr}VX4gs<-fx5Re$~b5wPO6RBYZr4q=9Z(d;bqj!ZZ*P5BH~u^2oM>1reV@w8qVmQBX-m}OOzx;^9s9e(DG0EsNZG8)N{$Yj$HVfHK&eq*xdH?h5`%q2iZ$tRphJ+!Iz5WYZ~ zM+*CN#$9(jh*~_X)JJ(bn0?>ZF5B&WE_Tma?r-IqDtBlPNzJNoS67$sO9J|SRi|Tv z>kfPDbZ{tyn#rb{lu;%3>`cZ-P`(NB+rS8ybm|7X^X7?`F_z?HG|J{dXzE-+qb#1)_!r+%Zt>XrULy$ zkOr2IJ?QG>SZuzoof1>DEMQ#HRVK3(X8hWU;_AC-xMxUgkF8SX*E}Dh)HNDv)@8&( zR8rTacLzImLggN@1hZ3Nj7-Q;OX7E&SW5vasqYiaf)!372}`^jKK)uP5vD6;C|8x+ zRO?Ccu(=k-rpD8T=i4MSWUJZGeSJ7tZ4YMhZMs-v>HZ=jDwF;6xwOX%dNhj;is$UH zJDfb?VSK!&IX=oejPL$@QJB~n2TzTSr~cT) z_6`Ld@Men4JDUfG&!0dHNE^{e_4h}R;VNIep1B2_f&|e}+eZ#^WKQP~^bohOw&{ft za#P(OqxKdsI4M<=5iQruS{>|i?DA3hQFEzD48IYV#w(iQ$k7!*PmzoaZXs+E~40Z_({WTI63%wVoD;F*_-SsCS zn&GkMALvpSuRSv(+6Eu1U;c6s+~#&6h;VZXo}KO^KL8?#y0 z*53A@&)&K3U%{GNRXA7npv_g=KV1;}KhT+B;*b&%dr(*$>x6p5x4WaL%Joi;_D=!< zXa?E>9{;FWI9zm~b(!F6+cVpt8c1sLfLBm23y*az0x?f(Gqd9(H{lK3H+**|^#MP< zebc=L*hA<;ocvWKMHL`<_`rBjcmVjUcNnO^SyzDkO2~Wvx;gAO90)*Z6lMU}bRj_c zcu1PR_hj$@C*;n*M>Yy=KemBT0A=I=AG^mjWo5q;hbe%5pvk?LKiu&N)WA>xtfZu9 zq+qOQXlQV7thBrwfV{Z4ys#9Qh#bH)$V9+2JUmR90Ax(icvL(*sUU2-J_HI13Z$|W z8WIMWfQSnFyMcLo|Hk3I5;B53^lo7<*_R&&J})5g8UXqo9PBafU&(*~(SU$6;IueJ z!@Ms@KPrH{yn=iqeM5u8y#oSlW<(+uQ6V7_vB5rmG0I4!h$`?o33~BcNS*=W#pV&i zdt!7rx#>~UN|A>2@Mey8M)oQ zxv{mOrID4Ho&Ndp_07@MSw4Jv@&^%RXK8C~?~TgUbIf$Roqy&RG}P3j9y+R8J9BGG z+xNMT`qI`~KYe?1cVkaeS6kox$%BQFlai0@2YDF9w9N92UOcmVu8Ggl2iu5EI#T|k?Rx*!NJ zB}@^^yHB492m0!g%kmOAr+h6TTLneGs|%m|u|T@rdU^S-J4z@KOr1=*WRWokBQep! zBKCD(#m0hp7;_1kZX#ojn@-Nxn#ed*9ovlHd&$ail+oj`GHTjwvKa^cM}pl7xH28v zTAhu@8obXxoy8X{BPZAz=neXLU;P<*0!Cc6W|KyUmIv zJ1fVXM?w9bbu2Y^i`=oRDUs19Ac?x4*P@Xo*II$&qJ9ZO4GOy2=zxM2@S&thPQ#0- zJ=#5f%s;-2RqrF$5hbkncIW;|^P}A5%oo$t&+3e)Yc}3Iw1=9Rrw645t_?yV@|KHZ z0D@CMxj~T~b z4X9*o_KMvSi|yJXRlT;}z^UYjRTsib3Y3>UO-#W$#D_S`rUEg`n6a4dU{orkHuZp7 zaKn#v5~N;Rb!o1|3*_n4?aUL&?MMwCsCbER8EGq`H8yL$W!2EvqmvCem#0+%)|tT^ zttar?QqE5qoSa22bz|{2hI;xaTbN+$7OWLyS-twYDSFz=8sFG|*Ml_0+wC1LAEK;5 zZv&$YMF*>bR|H!X4~HFE-c5zlIHmdneHWni-FOh;d-J^w$??!ho7#!;*QEpLaE-A@ zK^lt7eJ@8sj(Vyu9eW2S^M6m&MEX9*1UFh)E|*N&;mqUn254}-I&6ldF$PmgWm%~u z{-L5xPi+lM@=@~|uX`Wo1)FL_%}mCvZ7kM?(bbT7koYvx`Z^gZ1v=sqL$n;~^V&Ed zwHwfR$|5%Cst(wxn5B8T5)xB^eV8xHalZ17DT?aHv=^!ap3a??N$9d}2*7U1El=zg zJ1R(nhATeSIjAPppYgs0vzUSl>gB~jnbup(QFxK1vYB-6)S3s$XDzQZ#da2D6!H%f zvqR{TzPF%n(ML2jWX%&fy+2bH+$G$d(NxHv*YwRinGUyru8>KkL2GfKgaLHqgd8Sv zmmtOO*qIjCW>vfA7L8wYik}qDY3yFSUMK0cxq(10o4ZmILKMi7HGajAPOHk6;Lk+@ zVmc|Bo)uaoxh=a;Dsu)2rY9^dBx0=+|41*X+?F$1$G2!Ms>@Z;`Is+#g$`w?<{Y`Jy+=uo_RIEoiy!AFvGV88p|>I&mxH>435xDW{6fNFf?*p;P2{F zonB=hV|xa!po!wFth?5`fg`!+9LH$bo__8pU7&uPBknrN^Bu4CNZzlA0brlekI~qo zE#m0%02cpKc))pVJyL9kUu?Qi7PEI_MD16!jk zkYBqr?JV>#ht-<+&i?V=_R;ORZf%T=2l68x3<5ZkGDP4Xq6NtT{g6xKz6yms8i4z# zwQej>VyiG;2JQiucQajJj3V{II5xrn-_6DMZVLj?jdLOT>x3%?p$)*Hyv3zWB+AJ? zBq2QiiL({Cuy!^Qc2nBnIL7c=CRV9p8HHk>`ZUp(k~S^>N1n zmZSO)6-^A7wY|eri^7^9uM*)L@>1mh^Bj^^*mM4kPR0Eths3oEUgz3-#f7sCF|4n0 zl$l26`!kbzZLb5a;?NByL}dxgia3L0Gnp#zl^}|`U3iGdnaJI`T*?(d>?f~G#Kq%V z^Jfuf6g%PG1>|o_R$;q>5c8WL|92#J-eVk1>vpQ(K?p}I1mMvn1^!=Kyt!!7VEG#)G?J-4h|Hc)E_@7~PmA!)ZGyvVT!pnfXVXi>vFzu3*PL znOvQ=wZ!7Tk~cG3)Wcs%(x;W@d9ls(%h%RBjY4!N5~|L4mtg=DA(f}G3NSN^DH$2E z*(9xuE>(@l3Ty+#7+rOKF(%dfez>OnVl*|A1ZbM# z#8<;*ls_M&yyHIuU3pimA@5m)1RKRIZ_?6_dI~A9 zc55iWm{009I_4og$qCM=7+bzt#+K1uzy}%btnpaYGt4_$;?ld9YsZJrX&`Ao_qCOt zhud~xCqXKlsvSmuL_I!<{J0oik~k-hC^tQg58Rr(sau2=#lEiBYMZXEaYbQa-A^o> zPP)4nyuK~x-AUza8I8`#a%*CE+TkJy|4K{a>nS?XYdM)stB^#eAs;Iv%Z&gPcf|e| z07pQ$zp!L*-;ch2tNbQySv7gFipC+mbE2};k0?t8E%;>grYkt5eYGk7aq$>Q3QwJ$ z?o7e#VV{V)FKP5jw#!>)_ZOkxn77bR4kBl9hgxBE!Gj-~=L9!}+4ASrmoqIUKbOZD z=mV3VXqdR4v?;18j*BRUO0TZ6hI&e*PuOOeNO)2yTf0ZDK2AQqw*RzX{4?Jfo{pCj z68S5+T03|nOL6`IrGMl>$0bw%djxv@;S9gq{8ja*j+2;N&Dz7--Ok&N`9BT<-~#^w zw}0eCyP*0*E0|TRUG064RD)U1&gZwx-hXhrpuIh^y(==s{Cn!ZO7h=k{Zk_RCpAT; z|0)stlk)#t$)B0vf6t`vW$o^5k7O+WZYB>TEBS8&+V1ZG{@<_rV?h8D2{pZ^m6^u)$g_I0wg`_o7Muk}EE_*X<)9>6U? z7SVq|zF_1bt5p1u2?-W5;jBd_X(7mpz1lxrk*^fSf9!_NNMP_pgBk2+=jHYH(CGin zM~kWFisXTR=8OBs-hVBx0dmVoBQxZHI^YBt0bt~cXdqJuWON1WkY(P05Aw;6T*3Q* z5b^{3cY6K%vftzV9`}C=e`F&eQB_c2HgNZ`c5tw>{nr*n`Fr=0Q~hOQ)yK@rcJ6jw z);`FsA#d$%_qTpBe_G*FXxaHQ8#y8Aw!b&CzN4?(Gk0qzSEQmZ{+0~6a{zi|RtEss zJ|W8;0qQ?o^B>lWO%6rGr(U=lpgRv zLt*(B6J0?X01MHF0{Sm}6b-4)zjzzUf38HHK>v_BVgLml1xZv25mB#*DFrO{G(FhHiH)}yWkG!;$KzM}wu(K4 zKH^l<2Ag)L4KI3Ue7DY&IA0eYv-bFtqoJ&M0XfnBTdSP&RV#kI5`; z8C>}O6Uiz6CY4B;kd$BSj|lgKNYRlJc(RaTAc->hZwb1QJXwV8*@jm{nt~pMjko9t zJLYczusFnerjbGvQrRjRi2K-W{v*Qwxdfd5Cc=Lti065wVT$B2x({MKTrtzEm>90ItqV0X-BnN(+7R*G(xnwdoNKQ)roHvjmA zVE;{uccGma=3;P`N!#o>PwT|mK`4*-H8%nvY;N|YLc4Oto@JVn{KW*@b?qLij5O}E zrl^cf^pmG+&d zLjfd6$DMAV*o=o3N@dt{NtK2G4Bk?TN_`k}31yl#*+T#iy3X_Bd9AXpne>D`bKP|J z?+f*hf0Ymk4h0~(=N#7p_8+%gCU-3mK=G^FYzZqri8iCKsHIn1SGJPc$4tMvepV!IDPMRp!R?`E z%V{jZJoCOXxE11y-lhY6AI1p2GLkONB7o^B1mFfj0O}>@K`B=np@Fw#ZIFeTbDKH3 zs|9T*W@A-b@a2bxo-U>uEoU7{ta`JxUIOHL-mXpKf&@-b7j@I`d%xQ9W(Dha9+D-Y z+MEl_cz#6yu(h0T*CJVvyaA`UJEz`9lW@p3bCH$tRqickf!zfzHD7Zy>Sx&Iz-YEr zmACV)V17#5Lf6dCE3r!G`z{lat0MvJchBR$mm5-<-)S0cudw*0`aZv85!6F^bPxg*$bPrtJ{283J zBXQO>RdI|l&dg90fffT6V@pk6+*~V<%#NGZ;xKp%aSmQ_pEPbw$1+}8+CR8Ba?@& zlG?-%Q>H?h+{e4di)lMsW}+~!jOKt{g1RDLrU?N&rYYTBJ6am=L>jnD)3^-I zz>_f*dTuk85hH1c{c_F4z3%8}a?*(R{8s!*ckk0;GjdG#FE?{+c7s<&Mhmt{IoUCf zM}~d7z#esnnZh}Pbwx%$1kas1D%~ex*>nhiwlMPoOecu@)zIECJ2DCaWWsPSBtZo*dv>+&g@)w*&@RRjd~tc#Sx$)RZUs-ywcK-(Fmw* z|JI(QZdPAKuY~~g{EOSXAq%TDMX{Uno#k}VeD3pyX~!ZXX{sFWkB}?0_{T@xqcybi z@GbdLkpFn0OcYE;fbJ^f8uLl4`z$3sG>3p9doh~z=12`h{KFH|( zC->Wtk^K)Xm;rG>0O_p%!GM_fYC4L_%(}kTzo+~?8`huOT;zOzZd*}NP=0^^4rmx? zzXK-nP)7O%EUe!V8wU>u8ygoJ3k#P37Z>lhPr||>BqG2k{GI=E+xojFvKR7;kBx=> zzw&1PD<3z4#{BPm-2Z>u`v2kE*4vwcc;5TCTm{c@xx{iy0=iV^k7-v&^=GP&h)Jg& zd8J8*&%VSFMJZII$dyQF%nsEzRxR7x3mGFeYZ}2(mBsw}opbLYt*DL^g@VzE(%X%n zie0m=uBMM(Q;`)Z#=QTkrjCA{p@(xFIS(R! zy&9^k)^<(9089$r&G@RjJ)3gp7hwJveoCogOBlo8p-dqQkn1Y`ThtQ}Af3j_Ff!gs zq_nq*(vf1z>v@j=daQ~Nz-K+=@BPzjnV(GB;CqA$N?*!L5kfk-r(uVE5$6Xf_JqA@m#=P5vLy@H^37l-^58!#T5zmyOmE@Z>cQ=t(nwA8#dhR^@(X2h9oq9cI1 zzz{(6MGeW4t!;L;y7^Q)i~eobUJ( zsp@kVvoCQbu6&gRX;icB%uj9dc1#N5SKX%G=RN+=++4A_24@p5bSq_0P=hz{x={9x z6I8+d7Asj<)AUU`DyObRG?^`nt*AjpcgTguJ%>gxp@!Vs;3q)c3uBsgt6X>MUk$BG znr@@dOjG)L^h5nYn+U0@7-aKfXlb{IX`L0XZfjHR8^#p!pF#>OcU(U}w5Z>Az$tS4 zH{Nr{G9s|fv%!~6I?hx&W-E7v+V%uLm6LuQj^h&;vAs&7($mdm6>1dy@ zTnSoFs1&`w03mmfp7@&H2%Bp+)dSU}^QEo2O@f<|4$`H=`sNWFqX0g7>2v~0s-aZa zgpdR*_g97bsI19|pP4V4nYPgL8D4R`B}T&%?|s$U5?TiX_fv&&!kIQKoZ)Y4nh0>G zFW18(PGvtn2(!)N|4K9tO%9WWUtF^UD44?RW45ZKt=W#9T;!nsG@(k^&x9=?cFQY6 zGp3{1pYraX6}OvhlW7Vb6`n&Qp)eJfuDDgKnH%lRlmrpWwS&t#XOgeG&AgEBZ11Z} z%sL*c{ZuBnYnJ3ki-dBB^!pQs;7`l(+$g~lAXQ}kz8esHxcjI^YD9zlv^GaspeG|F z{?w|WUuchKQK|H~_dXP+necY&_6@)2aBfM8!mRs`cQ11?6Nh(FKGCQ!j$jD=f^vo! z!#Mj90G!ip<+dxbJ$NJGy}Rf@#>CEH^4k&PcX;#*F`K# zVm929w`rhtXqfPAvkY}e=n2*4e7+~d-&eK~HtZ^RkxgS0BCNX8W@73Pea&Y$!)G0? zUY7bgrKFSlMsPYz>~0|pn3hp=Bg`*Y>57w4_O}s^iMVu=qjO_frO{8x1M%wRxy7W2 zOBOK+bCV;0^_(l2PE2^p3DZOMw(Ns@PWk(CuHzY5J1+b)WAOE1RtomEALPc$x$w+8 zoRbr#OTB0-vJlaey!;yWSkg&17h8U@QiE@`k0JF|TmxaF-#(e4$D~H|AOQKWzO|-4 ztH#L}0&Yzx4&cpPl6%2@O>E0nW@Fjw?a%W<%8YWD-f9U0c9Sissa9;emP8G3Jp_Qk zGy|zEa8ZX4t5%q-J*KX&&A^zmb!E&x+VQ)QYmD?haONrq|JU)s=y`3U{w-{%i-H~j zU`1Zo-&B^=^y0Z$fCZjKP$$kzbh9RleLWT0B_~w9q_|GF_R!*oJey27%}a%In%KaN zHC*Cvk;Kln2IsC1xyU62SFTS2-t4g;fWDv}v!=Q2-e1p5o~1Zv3UP=R>84~qm2|MT zzm`pdF_)c?^If!%{4ki`{bK2$a1I(1kiM~^#XaG1@?C##y5wuo++m<&+KiDy zn=0Ea(a<4y0|CU#h?U&7Jb|UeH6F;gUn|b1dg2>jtPW8zC3(kfa{xYrO{F%R-{?v0OrL}$Yg?v^OtL&*G72{-7J5XrGEw|3h;5U8hAi%?Qv!33S7JO= zbgvmn8!wttdfaj_qgh7&>Um+$Un`@&VaGBS`MX*BZc)?c}I*Nn~1z9kvfL%vw0i zGO?yg0Yc_M6P;`e^-x9i<7m#@_Ae5?8#}S;d>m zMgVNqHA1)9p!G5+76Ndcq^*f)?4NhNurQ?|=!kABWl=8U$qyt^lZjPPwCCxw@uh3tlzUfavRQ~#)caXpb?$}C$9&_w zJXeMroflsF2_Dt#Sy@23ok7na1b34*y=%lF6eY{Mv_`Rl*=n=r%LXJ%{XRB<&oZb7 zNupJ@@hhT6?&0DIfduact?Dxqe)Ho55;(Xw)~)i;Z@gmvOv!XX<@u|#7R_mKY?W?| zA(`@ukGGu`eE}MV<_&W0rhfii>W(wF{GAzJZ(1Z_#|+OW7*)!G)vBs3EsC-}I$t|= zTsE}Tw=RbbLmQOiK(2yu!yCthpPDcImhI-6oNQLyiax2LWK*xOT1O~h3q0C3uvoZM zU&s1^05+hDr5jDqXc>N6{>sCObsbfU3Mu^ z8FHks+|-u3rrU2nNjIu}afVQiI6N@-=+J5b3GJBSa|X@`5yj$7MD1v}QXc)4x6M%7i7Jt0oqt{}*U2crMd>*?wCQ z^5B|2guLq{Gq!y+Dz3j8YK@1Ht>5M`AW58uDc>OC-9(a&MGd04p}frryASC$@Og6+ zc#<&iaV=7gX1{N^0IuG98v5F5`K;NHAa$E*Bh4;N6~$hcl$`(j8qAc4T>Aui`3nw) zjqGo#h|;N?U;F7SKg`x?Ki$ccn__$DP(nAmuwRm1yzH3e){&drF5aAxT1l)xik?h8 zi(#N6`TNfA9mVO1)spd2V|mMuG83=WuhaW0Eo#edaA=c33l?k#k0CPt>QYQCY^s=3 zEvr7h)Mxs2jsF90{wKSWFU73j_pClioxe`doVn4?=Wf!j%A6O8+->n2gWoj#ihbAe`o}2CJt1PM0|7+INNuGMxP-CHNYEw8P5fei>qjs5nP{>Rw(Q*q^Rx^_9^M-8 z;L;n#+we|y1ql7)JzDhx@%sC8`FXQ(pUZxjS!+pG)b45;3JUbfzo;|u*2y9BPo7w6 zoSwS56dL-_CEjQ6-BZucfO|wekKghjeMxP9X(bpM9inQzB}nLW z)tT;(ahF-XtQ_dziwBP1p&^%6Dg9Xg^3l0iQ0F}a5J3=P_3`BUkEF5y=S%za8=@+8 z2dB2Q=2rz@SzfJ?%B%-*=}1z1hcI+GLYcz4Aut01A(=;8f+Wr$9GOsI^8{J7izC+` z{6};nnf5oao#UQy_uurf8|7E0=gCW|84nMxWFs-TZ->}v>o@gY4NZ+}rkB?HH7+rF zugSD7^j)WunzJJ{`CAs$p+)*eqac`(_R=Z>xYWDNUlr7sc;7&r?Bmv0_ z;5LTFXYx5=S5K>6@@i=LDn$kArun@HEV}lytkG`Y8g7>w6X9!)wpP;BCNcUl9oZ$i zWc2!)OWCY*ufh#7rN(>aurBz+?po(=dJW$PiDw~={;@YKAqH-Yr7kw;nWVK521Ini z3VcG3O;p@su~D8&N};V>SOgC+!89OWBnEdgpXrea>NWS`=-Z~IntFfHF*q54e7n~TrL{Ime7efarALx> zT&D#m*LzW@8PsUXDgy!3EB}Z&f!yIff*pb5@?_x~TcJc+b6}1X^~Ra+sZXrQ-h4}c zrb8rjy4-m;S0~S_8IhuJ)O| z&tAztd?Vc~#CnkdMG}8VFHJ^)o!Y2Mao}}UV|CuOct#oHwiPb-L?jewY_13S_C0r3q_jI-3r zn~q+&nXFakqQ>7`-9~^MLG(B3$lY9j;|4qG*c|uQhh4@oHc>*0HGKv~#?1DcKg-*^ z2#Fu1H1eQ%@Fq>2G?)p_S9%E9WC~wJfwhFoV3e)y-ASEXz#eCGKW~eeqS14;4H;%@ zka4V(>KTo|9{Ogo!c;a%!#17Zyke%c7I!?^YYw@*V~W|EO)NKj;V@pqXTx>YeBM#; z3alB#=cii+L?BXq;!t)DdYN8EObnyI6#-N~HI37S4zsa%Z~5_V2HF|Hfo#I)CTOdQZP z-_KkH@keqV$Q1aW;%1kVtimQ~Oa>LPdEpBrP4y6k8*4 z+W=OK`H^%YE$<1%a~4XeFjFbK5L*e5{$T}IR?DG}tK4|WWd2TUitBDu_zaRJwI#SV zBBy?4pG2-}{{5k@B02D%qY=fm;@#&?(%aXaxB)SnM9ED7KH7Kz_REJ7En0XId?c(% zSb}`X!?Y~hxhwjpD%JB{IFR*k&?VkJ1kkj0c!ngHmnJa%1koUh{S6Jy}*T`H-9^=<^( z$1gmZb|0f!N;FTpikh{RNnFqUtki>n&P|$rX10;w$XXvdrA%*2e^ZXB>BB@BMz`OE z-pLb?(jCT9<6OI7ldTKwunNjv5U?Da@P-i>*Z-0qdZ^iDumWJP}2ArzF>-!T$iFuTpV$`_2M?COKMJlzzk}EVr zB($g_{<8rR?^f1uL)1^y*9lHwZWo7{@jg;|PwJCbYQ-LF{F)c8#!lld z6@#5NkC(0or8A@Xzmhjj$xszLX1(T-4m2w3D6qcW*0|QA84JO=&8HhMG=kzZ)i640 zh7#5~bY{8q+c&tpB~@+0v7=5Ld@$fnF)@t*+&{4Kn45~ORWLHn@QZ?ozAQTJSJ*g! z=_yA_y<+F&-(h`N!U%~hMII!WAO{e^4NgqAG*ygPF6t>=^K422pRbcq-^|*5x}$F$ zu8nCqq!I-0EfSqy?6iyMBY?=zPL9C(y)1{rz|8~@wpt&9@b`_oSAjk{d5=EYFIL6($ugQhHt%<) z@GjWHl*Qu>iHHzohnhW81kg`J2Jakq^@UId^y&rQ+8a}0SVt>jXPj^Y=y66~&y#I+ zFajkKAnR)>w2r11gEzc_OD%()M4zjr7hP7VW^Q!73aPOLN`!`M2`RMX!^8Vgy#4QR z8BRjNh9S*)QCs@(q|&`5gU_*=Hjprm7TDppI&||bS`}xU(#FN+}iP-b9v5oKftsl8nlg(A}nLu_9`gB)-shrIp*7AiUV`8`JVcl?{hbmF?o4zuY!_@%mAK z**a0o-SQ@b8ka+^`QjI)eXtm&Zd#p^$`D$HA1}Q#-q29|n2gb-+>97gGK2yw$F(0D zJ+MUMCc0oT!2LaSu{dDV`t38L05p;j*C%L7BQiFZ{zx~8wFG}Kn6L>-u%ef{7h;i1 zO*PHZ*bG~Z3Nm`_l5O_T)IkX)J+TnoA3gs1T4~DlMykln*y%E3UR+$4kMeTD^%AcYK6=4}#DM1!eAvbS;{quY$T>!_G6?3+l4sow+HK@c0scb%|0V&WJ4i zH5uCk|ma_Eq5ts91teSat{H2_PkCADb@z3>P0YW;7v^dxX%MV|_9q{vXdAbAZ4z~#=4q9@!#6MBKv>ZKDc-W#%zI%*whCc3|_=60* zDr_dY`(fYKwC2R<^71y_7XdKrf5b`-(Ox%O@$b$&bNYGTB}+kVUP4I9gj6Dnw9?>p zgbkamjTFTXPy_Vv-n!sY$|o`xDB(q$8{}badnor#^t_o*ykja&Ar8yEPe$_CbSl;n zir&|za2`qX$M?@(yl?)R<)n5fd45=$^?;F%D5WZ~XRfcOh__$yk?2=`DjL~~xivd` zyRe?qKm<@n)ICps43mq8JU|{x;4iQ4u&WC0h7bUq=p=)4m~_`kbm6-q=wkC;aWxc- zpY|Bmm@KnsGNkMZ=%ad1V1!1();`ffdLYqDR8fsl0q0Nxr_WA)JbjcZ%trX ziPuJ(DL+zAwk{ixwoM69itG;J><3esI!&=?R~_h3|Hz+md$Tnb$UiONM2F8BXD;$G z(7?#|cxZ3S(_>J-XOmSap`mPiUNCEg?x-@Wd0Ek0_s zUcEuH)Wu5SXbsN86nVk4Tr-$Q2uE9YNpKQl;M7a$TNRx1uxo)8zmG6}YI5@2AxE24 z8B?J)R%nst3~Q#Vf%C`c253=mLo6lo=AP~RCFNSjhYxRJKF(HSqa1O1VE&>*tHnhv zk1{YIxP5~F>;-Y}hM{=;?YtZ6CWa`i7FJf~UD=_P7M(K76>o!vc~ggX0o;58`4oj3 z=-|$D1|y9hqxP5Xmc`+YZwuc(3LG8YGFqkSMGFL$u<$O=s!DY68BQhK*q-l%rl%nR z>IqTEzlW(SADB((@hcBnRXx~M*x8mpODD#v(Xx~ zA@fkL6w>_=0oZC0~%>lx0}Bo+}?*+paS9EI> z@Y0dH1r;m*OT}2b*Kyc;e9H#%j3Lc_k|XXn2M8eg0N&tG77+QQqA~ z-aCHe`l0Cz)1AY+?PtzF411iUGOU(*uafWd2R?nVZd(_Bv!z+{`Hl8$Kt)vT*~I%3 z2!&CpS~4lgcA{CxjON7A6J7Tia2ko`$jD_|!Zq{`n+Vo<+ykxeiVe~9rR&QRTqtr8 zRzh#SoT{W7yltk!LjXW^%N?HfwJ=eNRXxK_o1NSDgD%3Ai#OucmS(bTV3w=EhwA&9 zACoUG1be$;u0TC0sC$gGu-ima_qcphWji}JMwMtbopNC>)h+fowlr0?G#A68Y2Is- zr+Jb)5w=KQ5l_SRVoARGnl234K;D0|c;SwO$j^u0Vh0m<5S7fYG(UH01e0k1S$oGRPtD&1#E#Wq)00}|z*V8JRQ*yZxJh=LnB@^Ds037%nQ({jlEm7DtwKaC&e}F)$`kj!NynZ2mK)u zSHt0B_0ELU=Ip%I&{s$LnY=%onquHr$q{N7lmKRpX-4wLJA(HG4hh(z`?}q9`21@Ls zjk~X4e64Sq)LG1z#4uuRK42SefTNO|!)5UW@J_Wns6c}AE(bRU-K>49=pdgb8vSqi zoA8z$_47vQy?MAUbufZjK3OeJc0(JeB6eWM;XVeReS#BOy3$tM?LQERl=I5%SuCd~ zVTvS6`&N2{fS!<~^VF8SF4){=bax9{+}oL0y?3IAXW2pTjz<<(#$%9gC|bc2HtyB7 zoW(!-_^V;ItgoCV^7s+I`?5y#>^7;<3e)+H=d%wHF+dw?H+u*GgAN{EbhiS5JzfV#RLOnQ1brUt^LzoX#%I+j;Ce z6p$ZDIMIsc3SFuB(8-NdSPr-`T_~LsY{$XOhWOmsP8L~ybvhXuEIWPXNz8Vt@=*2I zV&TX3HBkuv?W>&+&`+JD4b#4OLpN`aw=>Mz7FmbbW%k~#=)A;Hyr-(;`KcgK$=ZrY z8^xkqFR6O&XnN6f`KBj^5!P&x{pc9KE;(fiTmI76P3`ygq#xWyuS*FM!9b6)+e(FY%5Yvg zhcKV4wpthOu94kflsg9%RbUk7Hn+O5_m3rgdYmY?IrtfWer;fK@q0I@5ge_jd@>mA zQ$uPjzoYWxh_9m|HDXHT{z)A@X(A52QC0xj9gZ)Ia|4`o4kdMzLrc(}Z+!5&y{?tE z>O2}pXWPtWLVs&2oN;bV86~;*nX`WH2T3jS$?UgctMi&cOk!_5B?xzZ$&nFdDYXkx zn`-4)h-vAhX?|!K=Nbkdn}ArqLEs$WgEy3Vm*Jc#zo-$w`7bw1&9V?R_^WF$5~-{E zPR4<7+u2J45WpS9&90A`rrHKeZNxO{iJ4aaPE6*TVXt_4hC#`D1Yx;wmrD+~_4+X- ze8Fn^hMyv%<%E>?z1a2cv3uB5K&HU7*83fe9)@MlQ$H{AL^pG%ut{irY47o(+2gL6 z8MkZ z=wPp=DUIxUs5~&XB_&h@-^jorMK?S!@mCvFxU1^2RPs&9BLgc(Y&pw4k{0_!|0~wuGi4nTOGbFxUU^_ZFj9H?HvRssOUf7jX5BDw)M3!2y5MMCq3qq^Ic- zUsRbg7U{G$y}O4>!)6fxRa4CiFl_6ZdNBpACgWMMOSR_sVmRC6W=+H%dkFz>^?IkM z?I)9Zd8i-q*1U2#mnu$pp}&01&v~YLS6ZQK^`NB>0mODOhRFsT_pB0}FvYZ!72SZ+ zmgZHf8zajt_x03iy!!Fq*Y(`jCrR_nIg6Trr(dhyXu<8S83MZcf{x-!9Xlmqc@>Or zUS<1-J}`=1=_PK9!o$SgLy{q1a~R=N{b;!aHAic1V`oJ+c+YZ0!_r2RTeEbewW&EJ zGpsAO=JS<({3gUnkkOe5uM>dx_64avcMjrs<%W z9zo!Ikod0k{7$M4Sl0l7pb88D^c6n4{u^Dg|^EKA@MsdOlb?>HH1cZm=bZ^zSc37rRy$+OmhN;X{TlqqnXy@bg+ed5%o*gEte=BQseo>*mm?6SJ9uM= zJmsh0JEM0vVkbX0+2p9E+DWeE?%MUM>kXK2#_ib?`*5JP~4! z{9ykuLivMei|Q=`C}hzEJAm6RE1s&xfDTF9X2aB=I|~YIiv0s zaccx%lY=r+o833sg-&5~U9h`4hV=0< z@jJVmaeo<2p7y=dp*O6u2W__{2*3%vgg1ZyVEVbBb>;3FiW^Co-^(=|8+eTDaomld zXT>Pr+R~|Uqx!bRqgrwy3Fh@eNO01YDc+q$KLS{{x=BrZuX(6jbAyEdQXg0?EpJZt z=Xzgyo>V2*z#^6vr;bG5PXBz8(m%goKf>P{D3edyu;Kk_=OZY(i&jo-4@%^NXB>w0 z$R7+YHS1>>g-=g&nT z%549eU(Ezb*4(scXtX<#RgCd)Zi-;5tknHwAols-$g^%ds1+yxiVTc5Y(L|iyZNRq<+h&>ia%L;iky7;*_E3bA|&Y)3hzHB z4`eJ}ox;~=Pj(CW`a6koZVVmog*%KuM{lo~-dgUomCA}=$mbm#LiLD;{K%iF3qsvk zQGI#hltVd6TvVbOty_EM?2*6$@V`78-*x4nHt>TSmi@6KNEbgHSn|D|#jAHrBZde= zCWw}*UiFg+eTyS`MT!dqTc2M{HVZbLd7N+OiozD-LCqM$#| z=vL*u(J!V*9L-sPC>iT*#e5u?)mh6bHuxhszXak;ua?k*g zAK}IG9ZuPUtARo2WW&$R!>3vbwx_e^exbeT8Ci>N^}tvfptf)_T361iULof#^_&;Z zne3ZuKcxu?x2_VDuxU=p;gV|UyM5}5xU}W7=VgucNmP9@4Uq2n0h>hyu7r$ZqbWAh zM?>d5h%~^Qb1-$dGJ`)T#-!NrBL9Pz4EsZ`1NlA_WcPL@#o0AP@|r(*@Nc`;<_z{a;5knCSYVzI44ufgRM{=)VvoY_(N&W=UVEDkzsJ& z&~iEr;FEZIo_uS$wVisl8~CQzAu7#8jME-;tm`LkFJIJuY&LsO3&S=GI}~$Awy$gZ zFNu2G`$9)b3$IWb*j=r7gGSXvE z71IQPqES1E%*4N(?sH1%^e2&Zy5YIl;%1K;hfKJTV9OnMWmmo3Ou#}_GH1k9GH zE6$A1qzLNs$x~A|)2qV4yMCD-eDj|@H**&-uq>I%MR=)K+|&O5vpO|ZCY zEA#ZKUBA#@Bjk9--z~f`-X-nUhq`1(I(GSV^`C9iFQ3izgm@W(l+3*@iuZE1bN?e!b@ttqBt`5(-w*cmRLIg4h)7Hzj&^hpv`#Fip6rp>7h zETCf~8^wpDnLv+%`eT#E6jc98@8ICpY~LTIFqW1s^=Q!3p-9~;#0y8Yxwuz~zCJU9 zCdo7C-wA*0^y9tPQm?7?Jk#TSdUwO+(hKXA$Au}ZHUw9f|`>;Y!f(B?4TB>j|6)_{8Ai{j1 zCdI6eid4EEMGX?Uxn5vEvcY%K`sCKwBVQqHPtsvm=O`{CP&b{izH5ZTcY$yY1N}Fs zY0<)-7%Q=W=4SvJz~;l^WZ(UdhE^vCUH;8%tvaGqcjWtxw2X4wl{TGQf8?yj#FHdV zuqeqq4iMDy-dlAwcKq!NhcE`RYc5o&cHHr2!2am+1llCa^T5&&uDiS1pK>>tCv4ET zrA72jg^YPeY2$%w;4JlY+UCZKwYmgD?IuS8ud8sHS$g4Wz@m2M^u~ur*tYl$nY<>( z<*@&v8<<1)Tfx ztUI&s_k~0zOAdvWUI&jTC2DgNQtlIUQMjg{;XpQ?4z=s+^^s-Q#ph-RL=5F!O3pJ% zT>WwJ9YG(uNzcLHe|GeKfA9d4uQk&E%Lj*_WjpF%;HVNr_edabMo^9I%uI<2l!Koz z===#^;`H*UH#5xhF!^=E4)0JmHX2B;Vm0I?De088d>b zU@~j$4?-}7PlEJ@499t2zcUPz@v;p{$+t6fbM@jwryE_0zm<2s&A5dz*;vO|G6jr+ z6IN+}=|pOb!AH7FiR@58h7=7r$(aVoGcSZMbsf_HiIby-@!wxwTd~&Bdie;m25ne^ zUH1P4*$%?ilu!-#)+-=UdmS0$e+rAA^n?_9s&m`VKe>BMcSHllKi&Uy{~oCRUSz;} zV`CRlXTsryWX7(eqR9R2`zsFicC(U-$^D#{DMs<(=*JhFFB!Z(cS46t2qkJieE+Tr zk|MYWCmw-teKY_Hc)}eoM~@EbixgOc93(Mi0#RLd>tUjsAo@__f*|}nDuYi4ec_I? z;>II0`vdd3zZJ(^)KPe?()KJd8F&uz2#<+Y*jA`DE8o06ZL9M&=DD$$GoGv2pq&NJ zbp6{u4Qa3xvTk21kZ=!-Xci>9E&*9hN}9%ghE~3+Ol6Hb&U|~NTYluZvugj^%+u&n zUY1*I^vF#@z5$}ZZ{e;;CJ;gwNcJ)#bR|l)&-a|JUGrFb&M29%nl;PtnBO_l!u$>4uYTROZ}o12OLXJ?^5O3-E>0HTl-cE${1YVFo&7F+ z_+1(xFdb{$Q}MaNYvxby5qN@*fmfbrM7R9>)nOUvMFXg0CdUTV$M3joRc^nsb4VQ} zsK;%?E|R4UC$}tJt0%S`u^8@R8>W|C)iO`d0&r0;%yc#_zl;XVhKk(Bpir2wiIEZ2 zC>FgIS% zMJE;^zx>f|?CLvCub(Y|7l2OQ$B**wXMez_mY(fP9znWXg9W9BWl-D-@oS(Mw}Sj#cM3dUP5Sz>Dx~|=V#PjR^4xU0TKnd?l4eC z{OE6GKwd9eXX>R_s>~Ke;d#4GBgC5S;T`nd<7}C zQ*lD@*-@MOePw#zVoL)>F!c_d<_x z$f*<@IGh5^`>p94uF~Lry`6d~t~1q0*fJ^5eXp8iY}23Ie?5NW`U`+IfC02+Ncg&J zMAQ$5Na*u7t4=r*&wMYfEPB|S;Hz;tDf~=tU)njA2PS@d7rNzC)(ktbg1XnBcL-J; z9CR#)icEY5HDr!!3?(w&O=-;--Qej7E&QGFbu$yin7YTL=H=lh(A$E{jFfoipDlQT zrbF3HiD(@`t-gWs*8NK`B>U9afo}y=pF7!%{<#)3x(KoVD zU|9!zpZvG1r_BAOX9_vz5jo8}_{*G`>bv+xkM|B23|zdc3|D+&8mn9Ha%=8PU%%OK zQbaGtKET-nk=&4>?p-fSTZO^AqsnxA=B&tO5B~Vh(cgD zekWG!@&x5EUE5u?+?3l*=*IEq5f9TPs_U{J*1mH|GGXZt8NWHd`{sr24cO?>r zW%&%EU>z)|EkLv#Z6gVHmO+r+O88kXZ?(|-BC+_9F+aXU zQ6m<$4zS`#B{)&VomQCeE*zzj%Kpvvm3fWd^7*rETI|My#@c%p&4Sd9#j`LrkE2y& zRI?b_?p}DuL|31sxeE&JKKouT>d|F9@%{Y=l%kQipwp^jPBn8Um}hp1 z5=t0Y&3RiX*50uoNiO1VU>Z@WU3G~S@#?XZoz`>BxG{DG0f=9^u!A^Ci#|x4iNmRf zd!spKm~jJX@%y0`s;K20A+r#U=p{A5uGBt%|JC`fKbNhnB9|@L!r!A0h7h2oOe`bx zl52&XM-JOQtB5b>diC$4ch_E(i4GJbUPwG^Pd;ZWGbDJN*TmBSW^9zk&-=E$PR-Aq zwqGRkTjuCxwfm0D=kI>%()*Jm%X~3b<8~I1k$jsJL5?F1wS(EQ&q9#gQB+r&?0v3z9PdN`9e@VVht`VVIt0T56-1dkPVfUqxjFUbE?;Sh$6 zh+QN!ks5qU>K)c+LK``CYSX;5xV@9DBxMpkM2s$6KXbx4Ol2k;w$lLos)?dDkdV8z z#00DtUutf-B*1>YUGPB?>R{%SG$S%KeQ>->40$XLRVH$TQS@;0hOJ_vV=5p%FCGZO z5>;1YlixJ<>|#&QZ1tTY#x=o<=g*rzT{G;#Vk{%^py@O_vgr~B6C?%yC-*D#AyIO8 zlLy}BcYRX;_zYti);2<=hNfnRXz`$jb9!gaN;9u3O<`JRFcI1UxbShqI}=d0MDAlsqHNbqSb`e?4lcW^|8~RV+zjk zUYqOA`ob<-aCy8u_@5hK|AE~yK;B5^ZXzS;J((xp1YWl8w;_;GFVdvAU7>Wbv)udB zs>9=~?>9Eiif(>9DZsjkn1#bGll6*c$te7p08K!$zve>_w~E&z-^$IA#n~>_AIIas zH#ERy#z2No!N^k89mI@MthPzMmvB_3M{p_R)oO}q-N)-vDMk&FG9f+>7)XUgc>9S! zclSN&^r*M0(v}?=Z35I$4^7>W|Ld=mU%4E<pkvLbqSHIE6zTj;^@;UWLw^-Jx3fJ{E)NBZd)iXorfhh2fKiyYU&zkV zVatTd7=g%VuF0kf3Kj~hfvzvMm>0Z%6#4zSqES)2_Bgj^AlOY*G)E!BXDIafc#Z8R z%RbMcEIGLnPvnlhN@eZH`l99b8pLp0|M;RcS&kGyY_81KCRY?U=j1<`W2HkC-XT9P z4eOp+c{jxEc{6i|y<;7CPcsBa?cC%zxtvfB;w6L4h!})YK)me;+wFT}xn3b<9%%vo zUG3+~wZg90i|C^Xq>$k=*49a!vw}U}iRT+(83epr-)3#i0^Ab|ShK`j!t{=5KfCN)Yrr5YJy%XZb(0 zo9FjW$_)9<5EHf9{@3kg@pJN8PG~U=&}t5H1d(Onaa7^onjJF<4a>mu{8w6Hb3)( z5_|9yQ_Ri}lWX#?q+&EAGnVV7{IDn_g_jY>v8{8gwvOd%R9zlA4`g1jRydd+pD1Di zPSF4tUtMaLYtfUmxin71h<#EeA0I#TEFwkGYoJhg>wS=iDEopVVRrcp23H~1Ch+JM z@oR%`?tr(mS}x~Pb-MvM&WgE?jTet&Pt3^lYJth~>t+1XpC_v+`X^b?vqaye@_+Us4RH#LmIS_ma?IZk3$FZkrEdUJ-`Dkj0zY8UlUpK%)E+PzxP?Sg%*km)>~iqdU;GZ=?cB{7 z^$w8m+{O$n64}Rp!hMhnz9OqYA^hG{{$L(I8_o+d-E_G4jj%|$kgcdHvZ=))LUL!3 ztV?&gwMh7o@~(>U26Lk4G3&DW*2&U88=kIFAk1QQGFBOT9woIktmz^>u)Fnt91`-LKcOo@Usispul9`3|+>U85@I=UKU{ zNmUzLA;T|p4Npp%70AIPB3;XUuzm+7GPukJ@{Mx3ah&3}Jnv$-Q(eIx9KjIX<+nyQLR2PugNo5MjAhjE|rgz58m&^~?H;soV0Ox<74l zS01(iue;>f?t$Lr5bnaKv7{(+dMTu@8*~~bMlS2Loi#W-sw^z%))}8pP>Eq}IG&o+R_$j~-s=YGz%}VHd%rg*g$Ie-$upA;w55?^}vzOp}Maj}#M-^Yv`9{`8HVsfo z7L)H^CPqEVUYh&?Cp@45&TRq-_p?k|!PTo%?2fiQ)bnJ7ycTJV z`?Q@%LD?|0GmQD!EeeC&au{L5uN~rDmyzdwXUoweV8xk+uZAVI<@h!#+k!>E&2jR@ zAO^$@CruvuGJT^PTn@FPK5_ey1~^?r^nF`n>cl3|p$XqQE+nTJB%H8y#g#cskxRaY z^*yfDFv%2p!XW8W&KvPwPOvQp3tIY|gUQZ14uFa^WgHr%w8D9`*&qQNK#1}>VpdzB zwEI0Vi4wHyt#rO!PCP&>X*|>u^fsFVu^f=YZPlLfkWBLCh4>u|1CG5s+Thx@LYjXa ze1|Z{bK{}vq#%M?9I?-wobHPA7Vhhw8T_1aKeuvrHX5nQ`uNI2*(|@c$eD)VmEs2s z0EXL7g96O;jsD|OHbkAm>r7&y`!=r$$$JdSRxziWSlUJd_!6jf=WiMB>*!g8-4l?2 zJ{L+h+Ewq`VwCU>Jj}R~FD=mjhI*d{@Sp+Sz=dc4M{L|9vH-rYGPltF&Hzac@ zgk+I8B>6v;uX?Z7#Wxx>%>}%2U0Z!wlzZfw{2{lex+r|a?9Ydz=v_S;;4MFL1G5Zl zSv*7ixxk!5Uv@%sIDY%oYIsu=(phv)q~)R!U+c_f3gU_KuZywdU_6*2B5-^avS%Gq zp*Y*Uz#2bjS{sMwkpvvGc6@i-XJVLgYDTc;+~ukn9?(_}0V1*`$!PE5cS9=NZ%)1G z6%h+x-|xPA04Gahw%CXQ)N>X@O;N4Z*U)-_u&qD0yt0)urcMy|^bSXOTE5p^c~K?1 z{8B&$s|stQ@Y4X{J|Nee2-|{S3{{B8oLK4jbU2aMOZmx77Kt4_K$H+ex19LZi%IXS z<{Y>Qu#_brn~i%te_D}yy>2FF*hp8~v_eINvncnCpQrW3-Y^)*MN7-fWMDqw5by4X zkV438IP5fH34?$#;#k$H2s=>wW>;V)+STeJtH}nhM6ogRiLbYc^O^%|=cj+t z5#7cAw4w07GVOt8IdF#Y%{O2J3(^E+dk)Zy(9o69_~2_gKKgm&=DIwpTjE=EHDX>^ zJJdkCpM<=Z_Xebh#r>oKFyIqO&=VSBexHRD3>nL04o_M`gw70 z|I(kaBTnjRfb~m9zo?w=X@Ff*AmKNB7D-J8R>E;-IcNaM$qfbGCmel9asX(1k_Is5 zm;@0b5HvutI}L!iO`V7Dzd!M(0a%RSe=lRr-Sd`U_VD&x8o&p8WCW|D0U{(ploUgX zCXlpA0~8=ObI7-D(*QlHM{)WBjJuov${Xlk1VE12%6tc=f&Z_p4gVMX!}5md;i~>$ zc}x5k0lW_QV-=ZKC;x>vm46igTwG)R;=h&q-^%@O<^H#F|695Lt=#{$l#8IArE|4R zefWRUf-3J5b{>*59YrD|uqe7*^eP`NXhLM{tXIqutt`W9cB-jcRC%$vz}r< z|IhT}{~3wO47vmI8vB+xw(|)HQfR6*)R(B$;=o@YX(D28Vqc4?_jQfT>37~LHHH2y zfw#8gR5vBYNQ~wasYS2jFDBS+!q0DbyZR2Ys(b~UV=qj5`F7CH{_!{K*x3E0ncaJ7 zH!7w{k$ij~w=_R~R_EXC)@f=xE1s&xo-8YLzTk!4g)q%Abnk=z>h9{l5txZy`08Vq z8tT=z?3cX_+jLKn4T&PlnAm-xiAg)%3)Sf=rstNrl24M?PA+|7MJgK2btE;9`!(j? zsGtGJm(wWx4zr})`b1+Qymc`K%-DE4SmO3qAkWm@4C!cTmJ!v$NJ`Qz=?3d$W81kd z+cZr*<$bmj`+3drc7S!{|DG|T_3>vnDKF~w`qA~#~Gp%PmS2qy*n-+ z*{v!^^n}*md%l)u(0@iY>v|1J3~(I_P_Q$ds5uOd@hMkKUgHmNs?7cQvG?1>cLcpN zH6=BpC_vsjJPInYEGp4W6~m10i&~jZ>}NJD=x;~%KA9ar$Ere{$eMr714lU_RYrXU7 zJVlf}b8sP;0QLnYMuKZNw*2s-w=KT^Y*cV2UO6+l13ioy_m*fH^|5z*dQ*mfx^QNi z`G-Pcio~9r-AV3#4l^VNcczRO+$jbmuZG}g0N@j^-vL>V7cVE_nr2?b^07R)En>_x z(q0HkRTvj?iDl4jKNONuy`U{E_;vost6|euYHY1UDkxp4WpO&EJ%^{})d2?sSqTqH ztl0!>n*`z#neCsni1Ed*-uzQll4R+gn0nTKO_5>X^<~sj4ijvM%J8$%p2*Px;h{n8J&O1?89VMNimAn;ISMCC0&;H~Qi8er%JJ0k-qPTRz*oH_u<#CK%GSBy`f zh}YYXB9uiUgRq0B3RFJ=)X1cn+?OqQVJY_D>xPEse!T-+K&dD_+xE=PwG*s$XgE~tC@M7J4xokv`)A`*r04qgN-MGXHracj`t-e(y)3aOgG&v+j za-TiP@Qwe)C4pzmONU{ws}$Fh_qsyV#TilwQ3MZ+q*#1`)GoFM@vFfuHPxUsNmZ35 z3V-r>WyL#5;m*!-<+$L#FH4x2tOmi=0*NqX*k}&n(a@WUa!6VCf(nr$ramk=TG^;y z>fjli`ao($UHQBE`N8+{EW6(Y9|>1=$sHo7=d6~H)9s{{lk}P)F*`fxE27$4Vu+>i z9SoLf>yM%j)G}bLE-U>aw1MzPa zyD@&?&DaKKcP1kU$c{s9or!$!e6S%T$*v~toP%%m+_cF`kJ_5M)En;EVBlM-B2;@A z2HHFtiVp9P^#hdO8g;jfux5U-oW_;(|}n>jK3eICze^sCgw+*r4efTJ+QUI$bOJ6eH^shUQ|VIw z{p0p*@JC>Z2=~TPXlkG)FHRVBcShIYbFXpJVMy6_Z{x5-kyHsi!I@Hg2`Qvpf>j$f zng(E_0P`Hk_1;(69^EB2Vn`FIlSvyL_ozWxzI$cs_tiK)#C+KK(b|KO&&xTwdy3#)iZr|3PHPqiL=u*ExMt0G2sH8v(4UnK2AAusf zLa%ug*@_qi(7EjN{b~cS&&ugFs{I>L%X*%hFH~;L-RWhI>b8e!kqH_`1MpF;_=Z=& zZ1AP(W_fbj5*w)N0aWRq){QlyG@?;8ke3Sj;N{m>TA6yM%7zAbwv~DVTQe%zAK94B ze%hL7xJ?5P!ArrNJ2P?*)7tAf5}HLRAYxZcZYODxOZ3XIe!|hvU9-yzEL&0ntiKl0 zP5Lyi&TZVV81gTn@Q`mGD^Uyy6Jgj>DqzkjGFWc})`NGaNU#@{+0`hLHvLqGqZ|Hm z*|rUC+$$Zq2P{k@s>_k(z$Pv&N9{s%abLf56M!?iHJqE-0F!M?DQKl zv+Zbw*v7`DF(I;s(d_+n$6kT&`CCDf{XD0xju`HpmcAB8RV5yVH;X{rZGPvV4w||? zF0);c+Y$1p)#bw^Yi)Wg*Naa)5{`Crue@xT{<+aTP5J7=lO*m0j-1pRK8qfQhs~1~ zm}hdYfDa*H8(j&)U{>*`#uT_0Uw2wVa9R_i_uv`7&u*uX7WQmO`*znw^Vf-=I4jCZ z%k0?lx!xBP%Z&n(y3bTt_4ZB%U8F<4oB#Wbm@$+nQbYa z(#yK}coQX|(-Q}*t`oVVjW>2}^5q|WN$iE>KXqcUM)uoDUmR%wnHT@#v3;bxWtq+`6+Qz~id$bDrQcXz*DZPch-9VW@yg zeQ+Xjh0r=7iS`=WX097n`kM8`ZhC(9+VPFK&Z#pn)}=!VzW}L`h-mdazwtUDZ7E*u z7$1ZsP#4=X2GKb8?dMyF80qg(?yw&3GBefAjMI_Ze_Ygde@J}i5PZ(07@m}a3b5Kc zI1Yl%&;T{vogBiH3-yG|bzKSaGGPczo?N8z}Rf(%m^#yXPPn zY@|&DvLzS&&N)w=Z@xrkbQcWtLkO#uPQZKx^`2hp4|Y}V>JlEq)~X&+Q8rb zWSx%hEMJf$rsgx$p@tQ{TKC>LD;C;;(7mVs_Q8w64z-TZL`?HZjP8vMP|dF`4?-s1 z0O{&g?R)juKE^sQl>69oVg2RR z-aml%zvs3CrS7vVg)uK5Ot$+9QFKlURDJm%u+grJ#f03tu?e6cn4E7s7BCcpsZHuV zoO!hV6PeNT@|!W|TSe)NMd%r8XTjZX*rg<@3OzqkS;4qafmW0QyzMMet!LIO)>5*k zV17nqQ$KCO?iu(}&#G&ztL8t1X+6fbNd^LS#+*oX2{}84ODi+&YkPSWYN|pCc|LQ|HR^y`SPyLytUMzc+Mtws$kh z26K9&o_U-%uWUO`TgNg(Lv!%ht2hB)Jc5(zo@3QPn#WHVGmZ&V(7?d+IKO z(ub{4^zm$x4DgmB!J!4}mNf>UCPH?X%nyPe;J z89{6L7kAX=>JGqF)@FKdYbUETJbk-t8Dkof*up`UH9(!@R@y?H2&S4J)L4k9KeW+eiKJ^I5@a%UK1Q)MA8YCK`?A4q0gxnH4r zi#3uBTjnKd?K2tWJC-bcN{Hd@aJFU{h%;{Pb?5+kq000A=hW2U!jCoPWjJ=h=YTsm z&lLnzaxYWQi7fp_o6H*3fP@!}iv~%fs1%nzBU`uG4yGFx>US`$d3&sAcXd-^G3=;my?UjW|Li7 zDid)6+ljcvcrhjP@P3m>XV9+0ojpVUS5K>E`7GvOFMc6?ZE*nwX!jY+`Lz!ochPsb z%@Zm}Rhy5^_4RQ7_hZ5TGl_*98$mCR=&F)0>o9i+t0m&u_&p*}Q=X}u3$u6odifJ9 zT&2t;5;##12t+N-Q z-v_N34{LtPFP#zUd_@Cv)1%X!lP>}G-0e0Q)CD$HyPC;dwPzPcOnvM;)zd}ZL};Ba zw&BGk4Uby~JNl&*x|gUl#*WP7pDO_<&*a&S?*K+ChO}oyKHJ&)RlZRA%*RnguYHvJfKcp%6N=l2pOV74TPVlQ9Zk#}16pAvp?LEy<9PRlT*T_hvJn)0m8c z-eSFska!u#g=`>jB> zSq654m~{gCqqUFxs0t!WBEt9Q?QS*@7BI!@zf6b%kq4Qdb}GF8Bpa#Rkivwq-1FeM zwR7Q(kowg`k864S-W_m)0X%{T@tiajXqF$yj=vn01`B*&cU7nH{e^F}tv8Z#JVaPS zS6rn`k1wcGC~z_dh0C6#`;}f<9IJWK0Othmj5WI9*n;obv+n}=z-omO>pham?Jg0K)?Z?cT>`8> z8YT5dq@R8LJ5XuLYUx+oz@v6u4Z>n8mU#}+fD3wa#1SzwdOtxcOS9u|&hOM;f=~XA zE@el(df6-aKI1zu9$sa&t)E9>I*A7@<%sbRekDNdb3N-9J4{Ud@jR_~t(9TVYkYKl_sZ(5c>C&e>z~?q@Yv!hSR4F|8$k>~m;gFmj$atdRJJoHdGIPjGySVydD(+ z{HY{NcWgD-8H$^()>xx6A*D5KW~j5lPLSdzp|@sSn)!&QE&l4vRDx0d(;u8wF@o>j zCZKRgI({x%TI`IW_~XnF3%rD#I3E>OGgh^tqIKeIe}+Y|KBn6A3sWTjjSpAeoNHy# z;4v0) z5re23l}x6jlKBYpzg#*k2RT#iBvt|qu;uLw5B5evQaYO@$MdZf(e_R&bw=SnTzZ^; zoo=;UTTPD^a^kzS11Tc$lQouo**!Aumk>rjb_rW7yosAG5t&R>Ve=cNE#w=RBDo0IP6Ke+Lqyus;=g#{2iLSJ{5y{D_Jtp6)hxNfIxTI5U2a z>yf=4A~m^{M5x_s=XOtqY7rcV3+iK!w-}8gy^|p|D?HV9YpDny^qxs5yAE08~+?#!lc}T7cPz*#ItjSc$2Kf(Oy9}E@Eb-n$Q@` zY>ryUCy5I`>WQE{JAD2;|KaHpHnF?oq86)f`RBx<>xe`|M*EOHzN)4=d21k1j z7V%zhbnF+Gbq(a~mgwF`BH*rzQB>}5lQ>g?bj0?hpA~tiQD;+SC8hgeavjaFGLK8R z3WEJQHBSR1lMMR8;-a+`jxR&65)6t0Ull+>goLcX*BB2!Nlll#ZgyYdURHFS>#gb% z6l2jBJ$<2EG4WI25Lsa%2e%le3^l1IyHzBf8t@ABa1E$$JhS`Du9`rZ+3t+9+wOny zN)2PV`O-Qy`_w%-)^4ps@IND(OH#q8olXv+-wQVg(3zk(oD%2y4ClDY$-PDGDtkNh zetpExzp|td6CE|JxQ2A0**xv72he~QsH2JaIkdS5M$%v(IvuatL9_tOfxT) zD))2Cf?hZ9wF>cFEcww@cPxZ6n73XLknPF?QaND@B(R9 zpa-&I;yH_Ik{uQs;NbYvTks=>T-ycng* z65ZVUg<-!UL%8bFzaL~)hIA~RZB$w|6CwL{)MF7f-ew)T?8$h0)`#^q#y&N{-=o{L z?0&S=7#PJE%owaL5$)M{8CDh)PvR+jYT^Fs;rkq{WPz@rWG~?~M5CEA?pR|-TeWQC zMPsn-=d)LMJyw*`)lW$=daZEFMUeey0H$;@5a&Dft7Va?(QGM;2X7S#JtG!k47GCQ z&-GW`s%|_~FaLv;N14i39$)47Wc7y#zH5H-&yd70=&9LTsxW!72x>SAD@9=m_knLfXSORH2}P}mQ82OC z9Xk~9LX0DB)|z)i&1c8$<*6?-q#en4{;T53x-AWvx}*9GL9a*%x@9R5x)Yvjn-xKI z2(F3I`xR!7Cd$z_RH7vs(9L6EmAL`Qr{}8YBF*K(>u-L!cB2%|P6Id%MF3fLq`ng{ z?Hmk{*Eaj<`$8gSKPxH@Jw~4x2dbv>0gkoiOynyB=9DC^2}w?V9lmLwBTjLl!;8xl z2I66xmf2~t9d73>RrL1&-d+SeAu-&j?k>>rV0|(^pjJKh@vEOd9PV5?bbRuLMZ^Pk z8Q#jPdx~utX$Ymt{mgikdq2B@5QrT9;UcylepEmkA<qSw+LU4eS?G!9LChW2$Wgv8m7YF{fK3N5kKS1cY85ufmTg_)EqcG8oc zW~`ZXGO0`51uN~Ck;QYi67e)ZA`O5R-Pz_^USt`uA>RH|Al`G%&T-ozqGo2`brxtOKVX~nfFd*4NRYMTfU(3?avsrg@#{ZApaJl@& zk*(ZXbd;QzR{&QhuMwBTgR6WumjGJles`>C6aB)_bP4Xn6y8pq41wEEEAW~-IR5zB;hB-g%ni?)00=n-7ebvrb#or%d}Cid?h zBU_33_A11!C2_Yn(_@GM2ixSW3TH%L4P%S8h?nsMqK-y!GY-P(|`wu$Yc z{@oLn6V0+Uq3pA^qX!<|&e!bh%OCN%`*2Hq`{}xO)YvSg%`NHE56hXI!*c@)%E3g3?0L2J>I7%_|#oIHIGKTlvRXI4_mED7>7ptP@ z(S?-M%9z!f_w{FHzAq#$iZ``elW!|^!Q+5p`^Qr7?Fvo&?4yw^c1gQW?;@^bcaBvv zPJPoUt4pMw4bQiOULsrI9GAhoi}O%*GQx{^dCz8C$k(^gu=vhiW7#z=OUb07i!5DS z<~Ny>L&I^H7FIX{$WL*^|3GWSl{7y2y=$j^x5T?9W%vEd*N2t&xU1!ZcuGASUfwv!_>P>^qx|iUCsn zeseK5wnPw&$CYR+l6eC;%^MGj1{2=cL3Hsv71&vL?aYf-OdqCicj~;e#t=FL6h&8m zlSmu5Mx1w{}NUkps!uDvd6=$bJy>(f98G^kzxAy^PH`TgN0wt;-@);KD;~71%UZyH_Xy$EW%(Gp)Ki-38PbRI7#rKY{lclMx=I|?F zJEWkx2`a$T;mkP2rrb-}^UlsV5|FxTm{EPYRgzO}$$zANG17q{5$D#PCDLB?q~{fX z;`7=*tzyd$N-vpDReeZPXdHUiwM-b2OJ)C@l2+?)X{u<&TZyc0?%7BPi&N^A|!Smwiwc z@R`}|zoWnNmacF0{Dy1(kKgLIxJ{@0qy~hh>u~%s%Zqz6^v_$r|Lp@g`U0mwDCt7u z|5+Q=|BuM(4RsDwYZU`>K2aXE7^Mns=&BJ2=+s}2$1jcZ_p(WNbwwjTE&9ErIFAZy zAYn)ZcBw8$;CZ7CJrId8HZ*6n&30$(o0ghz3yJBdjVBv_l39&T+MZ%RWI5uv8f_TWe%VJx}+wW?&OWDKHG;GqNy#57(T@IC}Gli(tH0A zu5X^_p=M~;=gGY7uumgKYYSYuR&yY!$n@G#z`^7n9$G$I)hG(re{C} zg&o&4vvEqDu&iU$tu-Z7^SEXDBdvt{nr?hJAi)eY^QhIBo=X2WX5K2Sa^U^*Y#MiW zch`fvySuv{tZ|2i#t+^&jXN~%-nhHF+rgo6+y2eWKF{vX|6*?D*||vGRHZ7FN_{K! zev(SWZNhaKUb`1If42Cq^GzqG1NUgv3EH-O!=P>*;5u%{0Ds=}@dhyM1U%h5pn&=h3NC{c*2v;+-5hRfkLOwUev zx4_fvjrv*NTG07x4Sb`J{<^{qQr+1p{fyvhj3ZU$gG+WWwK>G`xL|bgzrpH9s*ufI z#0B;5Q>LUR74@5gWBF9lr^mF%78XVCeG<*)fLD0&ws|?-P7`K0gN`?`4+wb zL2hIG1^NwUA3th@(Hr~qtyX>Rz|b4sRgHopn+$5&42Mb@272VeJ_fV5^Bc~w_S~D? z4r_!l%=~%Lf-tpr{6K=-ZlWVyv>ydr?7{Y;)|PI2&eccHk-YMS14 zC=Q05G5d9Dmj`LoMG5V6=AMih(YXL};xjLpV6nRt|8OPfJSAT9{V3Vd%Ng{PwQUl< zZj#>#P?VT5HUzUMS@|)(F+Td~gWs07Q`d5B)TFR)OP9j_UvrRDUZp?3^m=_@1da<6 zKjr%EO(Va_L|^U7#4&dwSK2kNc@(vz0St9VgOL9sJ|t9GFC|QJKU#jPV`q=iS;v0f zeANl+W%TEImH&4bvHPIt`KL8zk=`8o>)0XCo(d8%g^z*eV%*P)lWQQ2q9ch`Tsf1O z%Ob?IcohUV2v20E$poPr`78*N^Q;PU_+|2{zX#j)1Ew)TdTy^Ph~VrcySzO@aZby6 zV!kNoOmG*Wob2l=cKm+hF`4OU^q)RkZ-y_zO8mdw#1Bq`NDxJEJ{Y`V zmUo+Da`3JP-&-R5S&RAu({BA61U3xEnNEA$IL@iRZxlgQk_lb)l3wfQqCU+JEeoUn z=gay=l*Iiue0V zdSjYAq27@08E(S_3ZDuiJ{eIp>kk$B71_zhmkpNb>&lf3V5*usr78@%Ry83=(WA&B zECyM`KhZe<5HSl{_fmRFyMEN0cV|V|^5+Kie$dR2)%PSe8L0~t{{q@k6+a-+sW6#- zk(-j6Cj9-cWo;IEcG7wpVgEoq{VW=+e6zaQ{QMHbbf0^!&_k&ZcdXvnh1MD5vnkcV zvLiYU8ONtB>U$g&w9_d9^Cn>SDlkqGzki`@vL>yYKkHb<`D&fjKk>M<1O+s!#uBRs z?~gh&joR%0(&1nXRjQw7kc z?X@)T*eD&G_iF#lEp@SsE1x9`!@(hE2|G)${f7Iv6CZJ3vj&iDo9}eZygHxysj`O* zIM>d#TdLaaz;QFQ>%S1NisQ>6+p>#{7iJN5;_lgf3W8tpWGaNJ3K2t$FB~md)E03c)e{a_>V|%wDD6_?`w2{8j6( zui`s>Zg})>s>7<*Pg)#O3AAe*o$Z4PjcQ=Li)7Isk<4Wa8L)7X=l#F^yE-g(LBw4D z+U;d=d!RCaaX^@J?v2bJw^Gk`S;1phNJD&{y3S|gz^8VTYEJqlCh$_?SA99k2h?qBbn4FV1u z@LFx~86ZY(rq7A3oNpipGM7UFslfU{4<*HUPtz)&UqX|J6-@k8u@lUm8)25P^F7d?Uu=mD_Dn!c%#Z^nNN+yZS6X!qAl1+_dK(X`GV${f z|Ev!B;~$f;X{dR%6H}0@+QD#?KWH+f{RxEdb@SzzdBn4lzsaDJIE&6vE3|YXP zPWH!)$hCZKcu!;65VOHB!TmpZI(k%Dkt+n30_~hpD55A-amT6r>&p3PGhd9O!TFiy zCyl3?z_IaB9zS0bji2Z#rf2003-d>I9aU@EDobl52CvK?L)~BAt?_2M`tRHC0EKHw^^;|I3L7VimTRfcD~+x)ohH_*=L z5@c^jjD}`$H^LH23*k98{<52~+FY*%@D~9g=!jA;0)|1qbcKO$^msNLAuh<@AHet1~EZ_Wvp!qUNC`LC!7 z`_AOT*zWtwnmU^*UWKuLDr#Z^zZ3FqJ7rA=lh1^M~iHd?oXy5UrJta z5ZQ}*v|aF@H=}El7=NYf{=qfc2#+UDP?wBEYwfIa0ZQ6SzVrH;Y1`y4oJ*=t_BMcA?Umr6-55>72VbAM@y2We*29qb*g9V}f0 zn1Qa9RLC2)cbnuQZ3t&=sja}!?onU5j1xMew>=JQC$ZA_h*p74WmYODDN6~*>|c{% z#q2yF4DmExS zcgpP6tQjb$n9jb5?F!s$_ponl!v%ZTTgEL~OSULtWw{RwFGQ$wC#(I9#d3o<%!MZ1 z3&QvUGEIwK8-3&z7?}5P^q`jqE>GP>_sO)90HN8LO(9jTOSb zwX2nrI~n`G-RcOeN>-M3X5!A?WCs7jY-GHg9AsR4Tx3QFtm;;7&K|B7R&Hc~|DIIB z*~$H1PB${H{}vV&{=ZA&{eP6CXys(%Zc7H>;Q)}aO4~WOTe<$T4rcCFl2#VZmR4j4 zWdAb$k2CfDmHo@eV4WA|`_(I>>!{%Lfy3D8(LB|X8Zi} zeI*rtTpY6k?d#vK1W7uisoO+yGJyeido7sk^bP*5cNbE^Z9%;>ZSTW0hBo3jm?`6m z?A&cWnQvz&z_zi#j1!K1{S*gR&dN-mhSngTwno;Tg=i~9R|}IMhwh-7brYJ;oQ=)~ zXg0bpJ25xEPkMtI;EaKy?Ulb}xr#u|qzJ@WGoZyE&Q zQGgX_sW`Lo{$L#>V%*uiiWxTQUCo||8Yyqpw##X*W~rE*P6s17+3*WMFdNBq<&}Jn z2{N>iPW%oH$XM-OhOB^4rF->}pd6zB7@C{2li>)?uTRmSDJ0rav(*uyHI0rr+LT6F z<=7M-rI)=9Bw>51;&4*1HYBktazYkhWl$JrsIMCI{e4M1+!UgEc~sR)&7k-AL~+D9 z)9NAF?D}Q1rd`OCK^*Mb$I(O4lYJeCz7`jdPdoQvY1PKK>(=$=5mee;x&BgKPV!K* zLBeivaKZYj!y+f3HpY6tVSlD|FBsqC<|%wOhIb)f3^0)Mssmq5_A&1KHg24> zAZFaZyK&g4U|TRu&x6LqpYIa3Vu13Pqf#pli02Rj!ht*GLU23AIsklmab?`O0vv{Y4^{HQfQA0-Ox{z%tOHPtIOgs|~w_~>YR zl=p6M$O4KnTW$b7K*GQ11p>y>8;a_;i#e^H711?tg5ig5Gt?~5)AiTklFh7DnWuE@ zEPKy&JZcX4X&Aq%AK{+?`eC5-(DQZ}+@r*o%iORbfST62tCe;mba~~R4Go$=CXZAK zwhM!z)6Mp!@;)!1qUH&>L~1a$>wAP>v_aCDL^zX&>-$(sGBGRN*Q>0&_*y|DH`Ystd}90D}epu0Ambi)D( z{$CQ_=n&08PtRj==lEzM)Jm~O$A#20rQ){i(KZzSfLrSYhs4a#b`++Tn&c?nxEaNS zUp%4~(S>NeE+iafN^C@7cE=RbXO(lEJ-}Z}R2vEFK2VDA;kzy39>Mn>P^6Ew@;lbi{?n>FU zvZ^-amP*;Bbc)C2mO{OnR3!lH@bIr{->{>=ee4@Argz!ZvYMrglE?wW!L@WV*|liu z;UQ|OI8moxIV8J;)T8kd@~1Pz5MM7bipLQ8QN7Z-zj%&84?KmA|)712_+V`i4kXn%`a8AgWI zdebOI<@eSMOzC1(aAfSfBjRNVC6(ndX)Z_B!zrq!#v^UkW!KXwwydO7)8c`?ddy;n zz;MC!6^O=;D6U@3nuh$XtBp7{A;wny#(6TGKD|Z3 z#i|}ew#pvO%KLAlh$(;$8m9TelF;rxeiwLw?}ll#gNG7Qs_bMe2-xDxxdbuWe+;n7 z3`&P7DeEt#g8TS|s_nk@L4yla#f*fxP9#)up%Hpk$_t3$ zaPLVQE@J_ghnvCF;_z4F{j#qvMtlkuTKbxkc>zt-iDBZZXa@b7;cV%U_JFKvWarEv z(vX`e8v-^`cv;;l1;iTuM8vJ>FDRHo)m~F!u4ZqQ5FFR6_wRYy+=6sjQ|4G4lBQ)g zg>KScn>2JQF!{sO^77b7^=Gic^?5XdOw2Zvi?s4lwDGo!fb`JYY_eu)^E@A+YC~XT z;EhY^_)BH>K-D``REe>3efQ9@`;|z5pbFtcvwE-ihl7#G(w*;()#}z2p9n(`>~1Ge zr%N5NXJKB2^zk!esz-?FjP#!3f@fiC2MG5R>&#*4x>ik90CQY9kRcTE(*NV&&I{wL8X?xgO*a8QlF86<6{?5+r{L>{5p9!nvQOv1s|i3 zKqDhWQ&&HT3?@|EG_(vH>T`8U7bP2= zK-FO-U)(Rd){EwwnvV)p)qxISG$343;qL6sPKq+n>Z85RRL5j}ripA!DWGp~VH&C6wfIomJ9+3vqrPc6qqNiF^JpVV8de*&5=a<%%<;->M7w z;4a_m##UjBL|klCs8JH5_{!ma_4!}7Sl99Mm_|pxj+nKbBDkwZpjwm2PZ|qP#YlCD zGOx!K!5ZHv>pIP5*{FT#yDa?m{e!kflcvU)4^FHY>0oiiBMDSl;f5~DL+Yeao4R(W zpVPlEXKN9wn*?Yv*4Cii;RqBPVHwrSOr>%O49Y3RHo56TULk?i<_@e^?= z0;1t}x7O+R0yLNjOjL0v_azqpS}-@RUYmKkraYLEUkrvNrGh-}BgdX~t1^A&<4K0c z@ta72>JEj;dJLsXvgm+jC3&-UTNL&m;vN`X2a&7OHy4 zZP}6_9M$qzQv11LFA~)Aru6X$8gL*G+KAzN{iw!lonWEQC%Am;D31D;Lrkm90soN& zhPH+&@Sv&^_4wnfzSxT4wH@u9m4V31da5?nwgn;Lu+7zH22SeA-}tQ4kN0<94aTypPxTSwp&@a31jSgw1(`*@xDr=FMlXT;iwS;R_4UhnZXScy= z+OXu}=eUNn|Lbl_QDxC3EDO9L9k-KH*PrN?hdx8d5l^UXXXn!jf&z**`Q#gR20~Rc zYL}(f>?6n$>@$7L#qreyGqbjbb;+v(9psmE+>iob5+!(7Qw4T ziTdZ=MS~~W--oi3>@nhMQx}VEXV8vzsT0Kghk(I4ZYpTiQwEs9I6EgmCKB^3dwYZ5=AVfAxsSM&o?qMWhw_I?snnPv#!= z#|Mi_(q32-t)FYbr2pWy`;NP`aAKDhMt&U+*=J}L5>mRfkSmwlz&Qu(_IP45(CwFl z`tx}f=Qt~C`qW!#)d~BXt*KtkB}pfTae$H#<-W&T(Y&%(nT2^`=EXO9+hb^dYu*Ca z|0aex8<@&dCMhv~h5V9ug=kSG-R^+)bd@4YPxcIayP%5S6J}R7tx6C;kS0~~${|yP zKK@Ul;%sGCyAn5|uu}?wff#5{sG}(tTf8CdcY4WE-hra3U%MSUjTIL8nGQ&!IXZw6QOFFVx;g8J!1ehrKI`x;7<=w<{fZSsq~jW`oM9Z0Ss5=X{fZ zxNzhmHWYBuZY(t2#dUIL-SmJ?Kp9HUB(e57`T;Ser;y{v({O5ombU(;rpds{Aws0@ zt%B507}QWZ&4XIo_-S?S#qF(2$2njg?JClX{Q%id63){w*}%A|{`OadEaujkt=k&_*gkWu64Q(xYn>b8`}Q5<-;#Q zl;LAQ$!z|NpsIh~72lgjViC;f@%E{v;U1^GQ(?UwJ;pUp>L+DSWYK6(PydIfk)v;c zw^xN;mBZ&9Q4JaHL(!wNzkxWDw|A&%j89LnHj*@rOuKg-N4xpPK|IgXmLC8tGI0n9 zme7f4ls9U!B9Cj3OzGK+N{~xy-yiI`)V~H`_*s$P4;d2!RUL6$w8D0jiA+ z*7eo2xyEm2gQNZ`npQM!GEwz1oHXMKqm(#OG|9!1iZfowu0OP zsK(Syf?7T;Jw3!LQuyqeR&|v7YrpTVYqMNwRv#yP%U;aDnnE@4z7C`l!`8Ot;>(=c zx?nVIOm=D&kT77s{Qa`#FNrMFRkZ|qVPBk>Kj+A@rgh}|5dbtSK{T1VDfl@1WGq=0 zplQj#X`dI`K7LN%Xo6cOPt@+1qt?S&V_eJzOaxSWF zGu0vMT^*MPZw|7p0oE>d-Lb?1+d9DjuE->XO={ztC~>NnN8rlf1wOnii^r-lMggNcA6QQI)g!Q#POIEZG7P^wsqD7&C*$w2`r5(@s@B}4MeBw> znoOR@a>cuVroi7M&N5tO=gqg>$(7b>K@wJqA|=t@_r61LXR?4$`4y!U3dZ}D^V}`! z*iZtG#AQN6@IJq^R@bhsW^SZ9P;qceo5&XKf{qi6RYQ-nIP8g3!GjF~D@m0x;IP2z z)Rh&F%A3)15rp~Zx#UgPQ^*o`e2VEX(MSfhpCf%gqnv+^BTUBW!Y_H;ac?UAJsPb} zQqA0|G$t41=UP!kzm%$-na>>KxA<09wmd@TT+x&HYCXI2-QFhkYt~_CViE&oy*P5p z-6al!kM{`{MFawVGp>^o2Yr~P&`w`)Z2a4fIRLG-R1`i z)votQSaTICdl8g*So^=)H+@`d{PT!?en<1yP`y9>YoB-QYia{w^x@6B?7RCvc?P^Tw%mwB^bu~xYZsL~8c*YJ9b?qOUl2l0S9 zj1#BoqKPyK?5zJ*ve79y@xUH-N@>c+4*l4&W2(q?EL^a~IWHb6@GVyZnm5NnBG(ZH zOCQ($Skl!b?N9?Qh;G?4RXh?9^OnbwGJzYG;oRBCkc{`g=XP-iwuCI}Dqc19uBTiR zR7G9THy=0kSxsR@_*H%14(;h0)o5_kFL$Xi+gJp;b(G}@@A}k&?Pi%e%;zJNo8^$B z#7;pzO%#`PmpwwRDp^J%udfbw+1qVV9!MPMTQ(jPS!IV{8 zDb$k4)}D0^LTwt#&!w!__&_X7zJLM{S8t*pbHKjv!pg?~g$#V^N*%YFGuP+v@?kNvDE#yk$ST}3?9bIrL&Dw$+fDyz76K?JTsT|`P%1cwQhmnemv6QJD(*<*}G&v2+vcl4lCuqn>Jh|}Wme&z^tbd_3C*&4SlQBQa2)Za$ zT5o1Y(6xqZ+UFpHQKob|)GZ?=f>aHSWx5frqw^F!tbv}dKsEXX8zv;H=EJr^roQT- zNZ6_k=S+A}@Xer- zvjl|c=(r&~r;jlR@*aXLn50%oQWyR?jAWB0sZ8EH4X#{^;?06{AuCz97yhSfg79BL z8((VI^g+*g@#9fB>Q17PG_ooiBm%0D@4^uQjhW>c{3vsT3F1DbBqw=vGCUEH=C6h% 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

  • p;E_`Psc)NpW@! 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 @y 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

    tN*v8W_^ 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

      Rf_ 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%0Arlf?k1;wVdp|KqrbE}EY(#EMMxzd~ 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 z

      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

      ~GKI?j3A&8cVTpya#+=^h-HJ zcKOaUVV8P@b3t*<^vf8Y;c7jm6su8rt*#T%p%Jifx4r187`!`xe;%?6Y$E4eS3#)HAbi@rKH-yF0z?Q`zxQDK@Ty zQ31RZE8fvnFe`kyrd5uVw#*9Zc?ebfr*&hUAcbgF3FM)GK6v>JlvSnPt+t^8o^7Yz z#MF*U3`RDmvz@gj80=611n_cj_wKChqqNRO_JmduGKkOMB<<#x3S z#4SIS(deeXoVFdqoA=Ac?)o7Zd^SNBo7F4avt?8FiBN(>{c&o=PE}_hcFWS+;m=Sd z*ZD%-rX8*u3>=z1xCtg#VcFu-l#GKC2gRoSIEvR|-;Vc=urlC6T z#R02HD2RQU?EflALGhsJRHq+%tx=yK+?vn-q5s|B<0!*kl?4wCwGR6;Jw%-E%nkh% zbH{+W=Q^S`w~zSNiFS~;tfH?XEe-lkYP#A%A$1z^b~vd{P_$6@WLzn1_|ev*J{1}ngjI%#)%i7UQl|q$*U{71k*SGHqQk36Uoi>>z>?P2rzr<#J+}#CH41=^#SRk3t z3J2~%CJ>icYB6t)MRQh+OC^}SD@bEUCXt--XGfpy2fS5EM!a!sUk(q?D8?d5@`x^w zFjtD%K+pTlxPUPgAj4ZOmZ*tkm^5iVEQOEI!)!#oAbcqJ}ZvF2!VkR*P@a3{4ys2pfPzbYJ zwN!&5Wp<=^O0DSRlUz%@Y=aWHXGzW{AzegS?=Nuotu)nH zm!nDetPC%CbQb-7+bL>z{b6#T#mffvX${#u1g#DV8-!Zn-Fmac!4oR*3!dO}b>Q8IJI}WfF;d^6++ls*<)$j#8D}GR{~o75oU8G_`!Qj+JlHL_^zB{_60sOrZ30 za&Px^{l0@hu%Q+K$eLXIJBNj`(0ZA~?3@o_B$_qjFT&3>i=5o(BQ&V6b8qZ#zFy2% zTJV%rexzl^iJbkFeRFXA7PR5)_a0oXG2-&^Up?5JEezgHF4Y(SY2kgeEpVmBbz>~&uSQi zP9yWAb%4MA$vPX~U9l)ZNX@5fK#j^5S@+*PFB;l~(7CVo_Th`+F4eBkM0D$EjLywX zQ0=d64}2z0AL;5KE+Gt73KP;qUh42{ZZ)%}e<|G{2E(RxSWfx61Js{oVJ zRimFIC#26Q*I(4YV0CgXQ;DyX?}JKmvJRfqegdUTz-c9Gd#R2zBn~Upsky{z-IkGn z#D>Uw5}*dT(`b-;PJq648J!%j@ufajI+vLPsckwMcHzS_l6j1=5wl0(>)&dA9-yrQ zL%B{o7dKvB>;D6I|9gHXQ1SuOav0;v;Z&!uAX)pgK*g6A0vqqiSW3uk_&Es_0F&~K zeg=%hpzD+Rk7ms`ejqdYUVb&=c&i|lu>?J5?JThO6|b=;I4>vsJXeER|4x^cQK5&d}FclE&6uFyG= zHLgozAcI^vvp9tb7z1lhPWt>hP|@SD8W8>cAETMN{%Jngxq+O9Xm(`N3OA*n+PTGsE?m=dp~Vc0m1%HkF8}wk{__$ z+gja`sNE`WX`EfSJ0d}PyD~z99xNCyS^ZH-yjvGC4#NSZ^K-<8WNKesx&K2fYQ)^b z^;=VScV{nyOfZKx>X`?NSyjhL+6IOZ8k&Q{Y*s&E z)TTuv#cN}ooT@L=v7E5|sNi-M2j(5vbMdRI06RutcNBZ5Y26&azIPCsh}hTu;+GFYQpLa>Ug z@%r|b=Xdg3&|`I){v}=YxjI8|<@MSAJ6g%gO;6vhSjL!yB(|}WWb{#|xmC7MC;S>Z zJYe^NJ521S3Okn^_v|d#lUD+FhqVTPbzw4kX#n<^6#ev?FKpZAloKFY!|r8pC$m!R%x^tZ)v!N3c;v zX9(|9bfr)03~%ixR(BPq%4f}*m%XAt6pSj5$ocECPc5BkWpU3zq1$)aAi&O;7a3Af za?W4t)VN-u`b*T44cZpO>+Lh?<+_$FeM$-8op9DxX^1m+{&nb3-D0)pgU_j{qlF)9 z&C0QC0?z?=Z(S$|sN!0oTo7LVU1vOJSPK$bG%6k@j;qvXB!6*rDo&Dm$#&z(&E`9m zt`D@TYsQXRkZwnsBHtW(L87gWupke5<{xqq0@R1*zj6n#kS1g7~ zBUh43%IA_@+Nu(<{5y%*rFc=ry3vCc;qIV4hr9a*{;!@^&+%H!!(RMC`r2Xx3hLZv z(Jbp9Jnq%q<1$OABvx-dHq+C^{@;%U|IZ{Ea$*R*GNz+Kx}we4C8U~&W99RRKuvq5 zaxBi>8|ddtuyB<$6;EJS*)!cTc|r*mHH-WKb4aneA$)a#f#Q8Z+^+ z^HfV0eiNa|Qewk{O&XoB4tDfQDReJYZjK$B&B@7Dr=@Qd^0`+|Mld1w_u6xx@;K}r z=61akNT)yhbvD(1C4QKqQzLW6En_0IOk69ZI=Ae)$JV*yWKSPaa6K#T>}&n;pdrDB z%nC28s&vI#SH?igAHnQU5LPrO9;8MGm&J4y3ZPP4%ip78yfDF*@zuE@w1tlbiGkxD{Qqm0w)vkpWh- z%v5TZli`DD4}krNuyHEDo&ACxDgQRU)85Ft%JbwB`fF7Gt4E7>JbfZe#q^z{|6bT` znz_R?Cpdd+d&;sdXcn!yhW-oTV)@gq3H!#F=)Cbn3yd0$SL+sr3)UXTdR8y$mAsM> zV|Em?Hg!6;kXirNip{S{Gwky+2NXhMR)QjMr4s&%bt*=_=;xtfT}Y1nc3U!JY)yB4 z`n~Dw=QIYxptl$=LnKbxadFSJ-r`iyRZmV%$B-k7~+zwv1cC_=u^FA?~_d z6}M(=ZZ=03i%f>r%8Q}RJ>Xj^pxQK?3UH$WqWQBWeiTeR$PHB}S1x~n|1{vKG-Is( zSKRWZD#zJA3F%9J{@y!2eEIXC>3py>4g3!NTZiVCpNE>E{3hR;n=&**>Y6&b6xYSJ+Dnq>nHd0Z#pdmiavfP zIxPY2yUR?X70KEJkjZ4T|4OI?vx)W7TD&PYD-Ji{FSk~bC_H27VUa)GR_(q>Za;Hl~ zr1h6rBbNZ{kA_Ku5$We&{|;1~wp#wxF=XDUqmEx{$1u)Any^7{j@ct-#~&nUW@&W& z&H0`BOW?`h@#XBOS11tmO7<;p$Fs=wE#^l$Y1DlH=$6TrPxz?&&5fQt&ix{=*# zn|{K5n4s6O(|-<6nu74dNm?;V1|lE2lhr@EzI$bLUaWKNx%Ce%9Qfzb8CVDWoEu&g zfu97;gtX6s-#l-2%9c#%*lcg@^DcS&8dNJNbVdTMFe!lF`C9nX447nLvfxGplc0`2 z4@zMGy(?*f1TNng)63b1V@F-F`&2;J6lc$v9FiF5*l-uF!M>6hLciBboFEPSGh`xh z2Z>*~M?fSvY4rAtF#m3}Zy;RBg@=g5#Eu#NO2&CCVlVlvbxRcD$DZhNf|~V^`82V8 zXMsDwdgM+xJ_qX?5A}Y9J$0sVnx28)`1(`Jpu|)4SaN8nDp$0)WTQM-Inuk*lDVm7 z^ke*Fx8;qf2;dJzA(~^W!p@Q1bTof9JL6N@(`HAyo9qP0ZsNM@MrE1i+#T`PW~UPj z^Phg_sE!eM_cj5AMbhwd@$yo44A~!Ridf{q@5cEkGn+E278h?2<_0q?O7ze*CSMpL z`EGu=`sPAAlRBq9uRYxcpJj}r8xQC19#&V#=jG0uYf45EIWJ#&-jgoO&kgg9z7bmx@(;qpO-B8PXBSL>$7LiS>K+Aqh4sAh3=lvoVZ;>3v>eB z;>*B6GP@|}3EElTYSoVQ+V^}NS?*Qfx#&O6&)M4uvxZrprJwHeax8WFK=8OZSGI0+ zVF{yN=myS|nlE$GC1dlynnp!B2cKrS`yVHRnBf_V z47=d$o5k0I>oIr>W=-T9m;$L7*hvL&+Czjp)8fB);D*;VEB(8UarT8D>QyZ{!@4bh z_i>~e=sVMYi|doQ5h6LYorJI7@8oh%hHBy+M++KbPqyg|BfXO$wX0(*NzNB|ZREs_ zEoRSMHWT;@$u~GnZWVxp;8f6Y2UGxn^r*9I@}-`Z?Z^78i{>#-wIR}llD8JF+G^ga zQGIeZh`tt})oK~MaFKn7mj*BwOmx=(!x#kWbPpaHp4|Bz@o9xmp&(d;-VCgU2&(JS72fJDGum!c?K;l^<$c&Uh;%RegfP~*-fN{WgP z!eqNzW2GOLaux*pb!(gjNF?bGgvCW`$)8+-Uc>7b2fiwRg767hfv?dXei9lk_uTBh z#J#NSxzJzTBOuD8Cvx^;g+k(|z!8%CVh(mGObKe-NOG%8JTv4K>fsvD*nDp9mt75> zJiF5!XSXx>;*~1ea_gmaYWA7?vdq1jN8o=(G?%7=QM=vjg1;AU;-Rxaaacu;jaiNf z<DLv22uZ`NquM?JG%9}m-UBq+fW$YZQ)cyL{0h6&E z9I6)m&hb)|3R84z{};N0$_%0E%m03mSryW?biP?}#Z;K&+tr9c)OwqC>98f^?3o`m z)*AWL27in0)U^BFR;zCqqd%*^woI^R<)K?$R5*<%^QwmXtA!u1Gn4pxf|9+2(h$w2 z&e#+6T`iUJ%@@tVwx7>m|seqB&vs%Z3< zeU2E}g$6IKkm(3V9h#3c2H6Dg<{!630#p4qaM1R_{^>u+^yB!qiTy-q_YRvl!)YIEma(wm3y;$r8Ml@9OY3l4h`VglBcWu7!{|+i|Vy6(gagwt5OBW5QyS zey`9|vL#NsQZw|mQ%=SWse53>T~m@+&UPY>3P_{^>O^*TI9HaKMzA6`j9MmXFo^qW ztDG;k?q{IPAsuTk9d!Cx!{^njU-wW9H!a0bI%kty|Jp6u?y;jsaAnV( z(7a9t28-F)zx(v8rD{8C5Vy9(X;3HdJnTHJ3~3XZFQ;WPs2)MI8o6mX8(CKHyzyO+ zjeLEn`r~2xRW$(q7SdN{PzLL$1FN44@ys;Mw`vqKYr2UcU7hL~;UHf={iG#RMH27g z7g8C{U&&#!79L>K=jRLNA1z1<(>*H@U!63K_iAs|f{nkX0(x@hGI6~TD!v?)QJ5%R ztz&)sAXID|3yi8lUTJR09#yDPK>qns|GCuss>H+O5(_n6iO{<#m5?hPW^)sVFP z2&P@Hk>OBv+z_Y>Ca6Z_GzrbKotcjrH@V>>8X)djhLUzU`{r+uSP+Jj3UD;#&^@_J z%E!5NAY*M4J4O6^CoLyiWokp&=4{6gJ-nT-+u2u`^Sb+RiGTg*lu(xW{=IRKqo07# zbt1H{Zpg!?a$d++e=^qC&28(2#~&zyW(~19Tsl`_LsS5Y9{OmUZ0d`%rzd8N9=NNp zbGR$H2U9LpM=#VBl2fZ<)@t83o}2x)n7Aa?(rHb)qu2wF1BxD;NWyn2HE?t0V_9qx zcAwrwT+QzOSwlblRlB?)k#asf-wt}2WPx>D0rM;^K-EYHFT$05n+ZW*-)4i7yZg=M z*EKCAl8P@e^>CWqVoVMV$D-Sq;Rqlf*%9}>PBX5w`N{7+JFR=A-nA)v?_a(?s=D7R zd^_)6qJcuHZ4;8@gBZt8zNneTT`jfsxxTg)R4i!o*G6+GH1Tt@Bq0>04*LmW(7HW$ zc6HXiyXCk9AUWtaA9HhC7(sthRcA#sYa*q2<3Q11{2M!n4vxDLGY7AqebJ5{Ko9Iq zvpB1d)P;beXzFhf?f}<{k&a9!b}!9@svK{GG3=SG#ZUZHd)SoqiN&w&x2*X6({N<7 zO1UT6R;p`+_xByE#*l`UYO@Qd8#h>X96$S9;&$*aWwrtO+C?jQJj%Lo;~v{*F7t>C zlgFRuZH*l)BvNKjU}9QY*9}+~Ow59scQxqHD}u;I8>MY#~PO+9q1CV zZk<`eoz+kJUhyS9uOHAXvHYO;lJQLShcx--k#{{S_z~Guw$CYP_5PM73RXN-$ePx^ z&4jR6>59a(|JUs}UU#e1c{Zg1^z{E}_}TvhV(?*jJ+3pDjo2?9y~T2(^cpyvh?2@B zZycDt5G1-BfUit40givP!~<17Eg>7> zn>s+}>Jp=A8Bkt+*EP*_g4`e^;}~^&T@lqfVVQ2OneafvjTZ~Vn}TM|+l^?c^fqBK zbJ^%uVjC5}yRA1A**qEl{KwK<_ph4gPp^GD@e}#luW40I<`$$uf>p8;6;OSJR>I#J z+ghmn=!hpZ4hOV!n`U44xi{r!8RYT%4_XHnZd4$iuc%I{Z;fIU#A08E^iL(?odk#=8 z%&eI5cx6k)bplaSaauM-5Ob@BF`wPqN|P!8?Qvri+AceP88g@Ozcurn zQB8H*+8{^?NJokSp$bR~y&0qv>7j#wlmMYhuP+glUIhdJ1?f$s3sOazG!a7YAVnaQ zh=kB@^qhOYbC2i8xj*js?jB>8^{h4Lv-X^Gt+i*y-kJO6kIL{zi>+il^G#yj_A>#^ zXs&pQnlJTuZgki7ej%vpza6fprpzNt>)UjOFE{7dOLw7#SB2Z^lr1kgA=QPpe zH9K2;U*%`w-MA_+p0C5WZSgk;Sw3i9OB;ERSB_Zqb z@E)D#^t}26PkGasI`6=MWJtMgrlsVEx6QM2{`U~8{=2mu#0svuBq73Rw#b|=b@UqX z8AJD{D?A^u1aM^P8K-W9N`%;V3I2B&u*6%pH)_oeWud?#3G% z%t4Z{wlrb1XqtS@(4GD8EDQH!6wVP)prkvKVRrEBCJo#QbdcWW%NDa+d}kzURo&(` zO76z<6X|W{iS`nv^=Sm^MUvsgMw*+yM;tbL$vSe*I9e_x`l|FlN+u)z+dD|QXKGh?o&J|Jp@U!+Y;N%C$c=OL*!>mtM8Vb@74Y}7 zzJ-k$Vh>IG5jTF4VUjByCXG65UU3H%YIO8jjEqr!57HK6^*4uV#E zr;@hsba=n3gWlug%aW{dzyg>yiaa z+o^DKFT{75Ew+QQ)#kujwGqwJvb^A;Q)g*=sFh_!RE>SQ1R>hiap{*58C{LETc_y_OdxfZo;?0x_sJMS!GI9;1_bM&ek>6mDMf2M|rIypPXeJm|S-j0zDh>=PNuFr12GA z53|QCM_6I4eMf*MUz&_rVf3zAuMYl3h}0Dx@wEV2Yb+(2ZS~<2Q7Cu|Oop}OdT-ua z5L^gN#K!Ks^v>Ag~ZdD*Um$NyO8)QxT zwyR@3t7e)v>Q*U!=8)YrbUZmp=xp+3esyY`s7&)i& z*1CA<&VjxguwzgUK{U{e38UmR%LE--lXTO)d3~FMowUkx%*fxpbbUpcSb~$|Pr^F= zWzb88Hqgn|XvCJ}VMn@{?X#|rUEzI_$)DY6PHzb=>>YTl-LqHF1QyAs|16Jh(7SY? zil7b{K37E(UXC`em-HqWtfnc@p^U_J#XcGPPa@sw)xzGKxtvIdOw7B?aILtWpaRv@aQD4 z5ZGO^V+D&K7VL0Vpg#w;)uJO`$L(UTivGj2x}HpS}Y_bLm>!mW1Q?1l6v z7>=RIYeFvT!m~-2B&s%NYUeW8p0yCY+JpV1)#OM|yT@7neH6kt?)HXYBj(+%vBh8Ob&O4pO#Jwt(IY4pmS3r>%<3g*pJs)9DjO@66h3CX#v1%RH zAV|<{O@1DDuy0gT7pM1ZhtJU$R;q;h9FpC_xA}B9A%l{vS%aYBy1iV**v^K>jPP<| zUGe28m6AY z|Cui<53T7g2f??{8M~mBj@agBv-OJ{2kE&&xy2S2d8+Ybyf5ri2j^1R%}m`Fz6#$q zDbhC|tCV$XcAwG?$=TU}87Ih=@yBA|RYv6qoe89~m|F{h)rLPNN}qX!82CMP z)Fny9K~nc3aN_7zf^Oev`-fnOqj{k)g7As<4L{;XuV~*s*k1;Fye5aCm+?w zpH#2Wezx1OHq}=ZSh}Sn8qY5WS=ea_eoyZeas#4fP;_%O#oRT$->+uPJPBp7!s3sq zs>k-1&AVh}#Qq%AcPvr#_NlZf?&WmqdqH(y@nUUwkS)s*{L(QTVe3H>B6U%Mn-F48 zZ=Wu{UZtc{8Ffzgd{}~UTU^e5*=@ic*UL4}$g-ZK_UNzh*ufoaoY!HC*N-c_xwf_& z9d*_7^YgLi^Gg`a)Y1E#FjYDers;o`RnZ?>?|PnrLmpv!&=MO5h=eM6i4_~Sm2nN% zhW?*h-OpXJkNhs?-7Xt7QcP0?5J8;MN^!tbXe>PJ0ijMTDhlk4A9Tr)nNTicg4<;gq{`3**L9n_dOGf1D~<&j46MlQX|-{ z=#_49C;824Qo*j07rty+m50QKci_alQQQ2yO>Fl9h&z{9cQbl#&Q5;Fe+WM|S1T32 zp4r))xD8jHu0N(Kr{=OLfv9M3k_d)WWx@nKy21F^!O9S^M5O*C%A@KE?>+ECYn*nA z3#q$nww6))qD(%OEXk3i=(`!aK;SbqBmt*Mo4&dTn|OfZC${?Stt6tNRS&{0Px@!P z#Uvr$hX=O2`S|YkwLPyoPfzY=vnyXnu(#%-6*} zal%2RQHw6yr@L=F3M!eV|1*Kk8-G3bI@{`Bx!oRA@ElNvR>#3&E>o)31ZM(t^`x*V zlQUw%h#|!ItD-@B?fSib-7sptQZ9sg3$^Wu$t}>WkO&0dm9Qxq_wf_2%2KUs4GydcPqI!=q2YfS zHo}(0rm&4UL3Pws_>18A5=eVKVA2o6dH_3pNUh~%;XBqCTmJ~dSiN^>?(tBZ&Y3H} z-ocdT;hl|SYE8Cv;Tnw1<6e`Kb^9ZiM=0zzWb`rgnOe1;K0P-`R8vo1d1$XC2gpX^ zMLLx&ubLNabM07^_9A z&1XDLpxPNT^pHvLx_;QL!BGDnkNur1V@6?3$Jy%+Eas!?5XA=~N-lsi-63A|a5UkQ zHXWZ}z1q-N;W9mLEvxF8(XE*t0~HdX-d#a%zJQn>u;JYM50+Dd3|6K_yFmuRx!@*n zzFOJNrfzO)?r~Rjjm<~7*6OZT4Z{SiYX)sw97}9Uwcn}o-ifM+v`zgL{M4w$^IFSE z^a6pkrYb3t{7k)_Hx?8`VnAhZAbxKkr8?YJpPsq_uYc4qjn*9S783WeG(sc2{D~Rl zsgbJIxEGhEVOXl_vcUtp@^o&q@<>0=Se2?IQ%BdvX}ennOb~H`E}J|0ZvJ1Xbk+ONrMV*zm-C*Rd!LFNyL&vDTTx(S4EbmJ* zd}fdu#b+(i3yvxy*H&d83aD0qCJ&7IBxltl75UZ26#*a8ihwT)0QDe4J0sSvurBRL zrx8Z$@j}K_PJS+Gp6IrnHe&gl#HU1py^mrEzCKnfrH*fgF1RqZ}JO2UEo9X33V z`G*H#=Pu*+LR|?wv8-B*6rr2$UCK?2v+Jafc*jXP${_*~PsQRRtD6~nOg zVn^3WTUkcqQ(3KoQ}o~zk}%AbedB{jx|HdO*@`Oc$n-Gt!rDautrdFys>O1HgC0`bFC?cLnAHfB=I znmj@96wdiD9yk$-Y!l03F;+qP}n zwr!jD*ycU9ZQHhOpS|yI_hUCZlSyWNJDGH)ySfVStppv#p6EL3?&2#_RJD|_(IzN{ zbs}PF%Ah;MxUDieuT??bkeC3)M>rKoC6$eXuTr6ai!gsT#?ii>C|A;1z#FNWZgLa! zQ+=DKXA>4lQ6lxs(^CmSIQ$-c3|=m<95rs<$=A9bDGW}$F)0@_x~po%`)WbL8evVE*Lb zYQpU&ql$}36NT&g7+Cjj1cq9TOweae$JHXW{J=EKO9K%|u6SBx+{v5rttyOq6*OGm z1F;hqap|o4Ff>3Epo39{l-osP&-dcJuHtG^Q>iN>1(XT`twMYg3Pj4?EN5G#VlS@S zKtaG$l$w!jl!NpE?QHbbF62=*LugfI>B%$#LIz`H7@`GfD)Jv;WRg8W{8cGaek)K` zgv0!Ob;2UyM+AChZ6vo`&>S<%7QC}E7Sy9^nU7o?(?LDq$wCXXMOK8qYRp0~p`A~< z-414$F8!xAS;|vH-7w*(o{?CSyfWAI+f3b;LCpobm3} zE6C?(stmR%^mvQnkv^eK`x?o$cT(9fS@{I1U_Nq|=i4`jI4(^P#ni2p766B*#~Wyq zI+V>=CIBjQ_z*c|vR*zB!<7c0<~A8d6?p>&f0I8QYA+x#LyYXP0(0 z^;_ZVJUscQt#_!S%$DYBB{=Yl9G!Vb0#v8W$m#;?O5<_$kAs1qiJo=@*Ah zG+dl@i;AGo|HpM7tyE~Gb8WoXDD7N!ZcQGQ%dUr3IBl*(Tlcs~FppDU;_#Ag%qV8( zj~{Tfg<H`$9Kl&ef zg%lAi5`UYAl#aeDz5K@_`CB!VDr^VI!5ER&1#T|xT#{Qn|Jv4oYpjw>wg=VANGj0P z#%MedH0zbgSMKj*YMn)kRQzP5tUK(2`%wAPW5v4(6G+$}1axW7&ew$004D{>aMnFR zGKx{X&V}Fx0=yu^_X45yJSV(Hz+jpkal9jBNh>cfn4X^_md~V;l$vhsE?!TzJ4+&8 zYt0WivDh{ztw3WR`jn06J8d^8eYw*c&R#WHQzD<(s&OyAKZU2M-_5ht(^gb7;tVU| ztC!IXgc`5bU5!o~(x<7uZ6+m+=3J+2p%4oGUh>c2xlUfTh>gX`wRpWJA%nnVITzx= zb73-A7D8}cFUJ7SLb&JEH0H7xJ}it&V3ia1 z!c&aYFJ{cko`MF_fC4|KPV<>GQ|uLZ?}FPv1BO@WoN3}(t{}cxt6$EXBrZ7YIfR_Q zrw*NxJP!->q~;~DE5kdJZ-{vvu-TONuO0zwos+>^L{&t#9Q0yceVA7^%DV`|*~g#o z%ptHFIZ-@XLAP`&wh-P*W~s?8PD)FJf4q3nf{R%hN*|b4WM}TNdwMTKo0oAd)CF+d zz7&@i?2*Lp*~xnKt2G~emMJJ7Q$8@EZDJ?7GZ)5nYNuM#O{l3*czF3yeP|VR(eU6Y ze@c$E0zX%@#4c3;B;pvMf2^5Jzx;`}H{Ye)NxoGz)6%)UO|qi`37ge2EDD;*g=zYb zUjmv^Jc2Q`89p=j@AgZ=de@}7dp;B*vlWZE6ljP~QktM33*98B*We~z4}_!F6(PF> zoTzw{7}#t&>NnpI4_U^_$UQV;**aq6e1bM|pwHN(EX2mYDOT|f+j;ZUcCE`N+dme+ zF#811a^g_mX}kwYxXa6^aG-NbVl7bH&mrzj$;DTMv$c32x_P>deAHXz4Ohc>f$?r& z{-7fB8gH`PHKmth;pRPv6x1L@Bu9Lr1uL-+Rt^5vrvL5-bdw%L%z<~4veI|cy*=3J zNVk}DbzZNWFH&S~=eR%q038%-ao$!0@5oOy zT&uacwh^aWTlP<&)wpph--$vAUYAGPwG8_MclJ4-)Nmp!ICMTE;BYko%Gi&3Kd_t? z#_x=o@!PB;_L1j=`DZL|97aOsYFFA!PwUJ{YMxh8>`6}gy9s-{o1 z4+aSdI;p_ZjK3{Xsv-+I>Vrs4lC|Io=lFwX@GO|Lu-WEVJCQRbs%fY{vVR=D{Ov^M zW-7ijM4*6N-ZCY3l>YR9vL}KB4{<`zG%L$4Kgh|4Dcg??x0#W{*!Lw=CadF3po;@5 z(R2{Biv7ePQq zQ#-{|oM%@p_=+snO6eT-Op{+@^G`w}L`?$NLKzt;vXB^dL#34k#?GO`(w-N(ymRMn znf%+>NGxX+7a+~H(Fwk*ppgqMI6oylBfXM)VArA8w{|j=YR>rIMtVD{L{ff1GALl0J?(GvD9fKymtV+v=SROxvbz z$37-9SmU{j*%+f84ngoPep91^rArf8S7(C^?Fu}(&b;bGyUjQIu&G5x+jpx}E@zws z8YlZ?1C9xxDm z$?u72frr7kZz1`5hv(D1@er1`DUQ<{xBc+S@@AO2#?y-%izD^r8jm_6k?hn<&Ba)k z(rbAIG|Q)V9(;axNss#T@^4z~BZ$3`#P#DgebsDY&Clj!mZho|@;PaGg!gi269LEC zR`iQQt=4HWj_DfaCIz;;Jo{G1j@aCq#rA-yO;dm)U)h39MM&|hXXa^RR-DzNp~NbV z)#cc=l;~|@3aS(caTAFBxsXBNppB?|A{U|TEB9D^mbdcU%X?Zu@UW#RRVKD{`D^0Z zKp8Mg=%DQ~j2_2oXKM{Hq&*1dOlbwp;;I7Q80lu#MS3KK=yr_!ooz#CyRpknUk9RA z{|+K84bLOf=o?q8DbEC@a zV;$c(?IqMj`%ORh4^{xx-}3ekSj}$Wi#cplm(cJ-)0>9Ot^6s?%bkFNCi$$8y9V|r z!-?3`sRRhIdQM^8!g0DW^p;!uVrq5eh-}I{U9g1C(XQ%%o+pU3oH-iG{fRt*L=Wn7 z7dBAU=_3=zZ8Ni9v}OTwTNt8d)`t&GY-n%giJu@9FS#W;!Z{FA)j&pBU4w6zXv1V) ze}z938r9AjQ-;O!ST?LToyIEIjl~IHq2T$h-{HMiTktg6@&!7-Yq@gG?7zzjekKjtrg zU!+Ot3W?LYzjX@Nx{kGHNq zJvKB4c-r1xrr;gOCKk1@IddDJ>Oo0CeXb`}sR)BH(Y3c<>vu&-Q01FZ~D~LjsKC zarQ%?aG}uOz-VFNHzrbA;wy5W>rwpoUr8`ST?dJT_63}biufIzjP3#c!>7w;uZDp> zd(}Y^5i4w#`KA8;;oa8KQIb*;6M((7q6TY^A3#AG z970*r`6#3i0Dz_q;NKe<1O))%-$wD--~;$?i~Qf6iGh)kmVu3yiB(^MK*-+SMPJ?2 z#l_6f!pTLSLtoUx#mSJ)!`7xc%T{@_4Q+IHSH568rxTc&a%ff#{fq@t0YZW8X27M4 znVSf)1#5U_3@-V*>k~8m(@4MS2;3;*ia4yt3i4FK>1omPZSuRU-|v*}lCvj4nXY)2@$G`JPa_rtnuqU<_SSCZ`sMQBAHAM2GI-NT2VpbS0F)O`PrYd#l z(Zut!EZg_=lj({;ObBUqNX!5IHa@;vpBvm;J;XeuK@|t@3Kl7wupWyFZCP-Vq(t-n zIHDOXX{2%(cHc-c9DU630~h6R*o(!bj{WH9$ACV4@mPt+=YErb*iga)J@R*JClSLI z(|2`UEWu|AWp`rS4SE$c;V{i_Fe2K#&r#}t&d5Byti4Rvqk@NST*juH1t042>Rn~P zuvKFRL|!tgfn?AoV~ztk-nwmDPo6K}3%3Gq@z1W1p}}eIuCJj%4J=GaASmXVHL$eh zo&a&1bug_mowIlB%AQ5j`Cc`y%yC4|LB0DUz3dk?p{3aHmH=rRpGXak2zZL&K>8h2 z=UKKKv5ZDf;0PNR{K$2kPt4l1FuHCO`~)vQd>CwLeKCnF2$``Xk^Tm|u#p!4$ptQp zHk$>?SBt4lt8)?Fa#))Kfrsu`UvTLiDp+Q|#zp!;r&m6TcLW%dSN+#eT3*ET69_#% zp~$@$;u#fyg^&cV5NrW$EeFO20w*?tE>4_+eo}#SgAvn;50a>4 zk2VpI44J=9!K412(fegF?~%$5Q!{GD^lk5x`g;!9y-(mF$8{lMoaO!nHB>UOkUyE8bgni6Uz%^!)VpiL1MSN zkITB8j7NWrr2QkD$8)Y$Rus1W#6ynSrqT4CCc8k835AOyJ0bApAhw|}3?9H z<0jV#k!Dx-F%=GKzGu|d^;O3+KPew!a%=4%raLU^4jv_vrBtn-Tsb&F92{u?(!z3> z2=i$uB-Z92Ty^?7)Nm)PJj$8Px+%uVJylf~)R7O)Tc(W@bdLakkw~K(3Q!aL0Z7w| zRC&;+k8oj$vg&VDQMTD-gee- z&^Nz|_y6f0+_%6KyWI5w?^DBt(1~Ut-OP`JK759iZViYU^f$O>%qH<9L?9U<;4}-f zjC^sMrH?SN7zV)33yV1oz`hph zTGa$}MSE?ovaxCt?LPR-^x{u-8fmmyO8ZO7VL56lA~N(|NiEvlM#1Z&>BVAFjA(e3 z8`kbI0O{9(JqN)=K%2i-D+hws_Ug)I(2k#Mi<)p;o`S|I*Ape7tHl<&m5nC->L#J! zlr$PHj(6fsA?JetkRpA|QrLB7G1ZW!w$fbOCiF2SvFr|RpnSE7K!QMgak~*j&>#qa zLy^`_``2o1B0R2rcVhQW_0GnsL$uschSwub-G%HC)T|J?hj7tzx&CND16#14MN70Q z8ptVlG3KBv|C-xc(e{x`DY;MAB}ZO0WvveARQMnY(5e|$a{y?x4i!|`xDHU2gVp+3 z1!RZJ?zpk5f|ZF4brT42c411)s3=q$&2^r{ur;L*NUbjzcm3jPEE>0{S5%PyGvL_nAY9796KQsZehh7wk*+S(e(S;SPG=3m;s9JKpP zfm+y5SaiV}UnoN(1%WFnonqM|k%g>0W;Eml;kGIQkD|>t*)+JXD!b|DWvyxppp=SD z2M;6DchztqTt~5!mSCw&jrRAT*>Vy*k_<}0B;)`~-sC?s5^U?5McihR_Q>$!seeq9 z&5rRzsxf&o2lsZs=Wi4+4Wd@OKC& z?%x2-Nu%#9|JI^lB2X>e56Rp!TdD_aR5doUD2C`_v7)Hvae&c(w&*}%9qW#(rhJuC zBbi*BN~`E^(e<1MS79-hF*!q|Akk41@nj|uS}}Rkymk;%bI!<-bBuX>Sku|XYuX2b z>e;Jy9(=Do1nSA3t8<>Q4s_}_UB;%U17p*x+|I~?a`>r8E};Yf|4nm}dB2zhC9V1+ zRSXpqx(-7hpqE7+gD5D7G@O-NjYp!3mZ6yVICV<<#!?KAyyXQQBhHpSg5v;#99p-4Siwo-fB~ur;*TnwV$>d zxEYAJD_C-xe#cTIKVNdE`i`^kx2s;q6thM*xQO=Mif@0DfL(!bv95^h?OB^ZlTD%w zI4rbPq8FCpqoVxpq-^kuwMXV(%Lfd{k1tdEva&@B|7!t=!2U0gl+KEF*iLOX+Iu&zNnjG}6Q7O!9HQ3xOIQb2QfoI!QXu06BX zpHb4zOa4O6H}wBNL0U)k_!dY20AJ?+3ks6_Pbes6Z)0t0^gq!c+kbGNX+phSFatu^ ztCTPJq&4UWO9?8|%!1kYnp(_Q2yhh!_W+rS=LeP+RU({T&*x9$O`L5nSLn=~wxvs$ zC59o$hXK{!EEs>kt045Q<5zc>53*-?Dcb796~G5UTk_QXm3C#RF^)LHb;VDc zGq)9ZL!ilK4cXC+CR9wM+;!nAPvS}q;$Tg1G9f`|Mx#lBduVr7t+?k;YE%MOx+@Qx z{;l&a>(Q0`=F)b*@$r$-6XhaLd$_jThzlyA2{wHmN#)_Ev!21_2*O5UP`Y6^Vs#2! z_E+bjOcbIEb;!Z=$VL+tNL0BOrYtW|&gCHryh`mYUsMD#_Q?qr%0M5K7*18Y=HvWJ zd7Jz(Fm1aHyke177R*!?Zh`~l4o3o=ONo4?kWSJ|zEDkz;Dtn4{CUPA7M25^lh5o8 zl(sC8VUzUFgeE<%%a<_{)W7Zh9Je#oneVaBNXl^eY^^Bi!nq(T{&9 zq3?VYmXEu`0~W6Wfxs*#t(A?n^f!0kr*Zfi8Lx^fRfEGQ32Y~Azt=Nu<6{kCBbMNk z0Xx#pwEH@X-|@s|zhm|keEU$dAeA+myz`5qYD&s#n|O=ysMfwB&A-R?F=pz3wcETKkK!} zA*cu<

      q=qa`@iKbi)qgQ;GRmLd@#IgKDTrtou|J3ADaMDo!7~PxpPXjwm#bLA| zd6hiq7zxigOpy?I`^yCWSjH9=blwSx8j|8CmPb^~3f~BKJlq`bQ(J{j#{FrLhXoa8 zC1lb8DyY_^eQYOv&x4}|*Xv@5&&Z9hI(2LGO!Jz`l0-N+IQ8>t&+%BL89R7l_Vo(} z`B>Ni99_?%BeXT5t+MNYm|h7+-3Jb&6tZkm_U_eiGTlChZWjVIHeC<4$_9@PTbHI% zcNVF=3>KF@c$l{O*USaaQ;C4TEUs?ilXK79{J!sLhms_yrM|C5;Taks-o44Zb1g?* zjeR;$E1@$qO419h)iQ1yfbcnRBe%zA2V4nT3p=d(d8&n=80&?)y#SI2EIdH$@@t0ZB+k&yuAG`z41|s8V5FhELVe{lO#Be5=VI@cpX0C1Y&IKYp4vW zs{hXt(R;x^7Wd-%Z7_&O0IV4^GxAAKT0YvKN#f=3tzUlDSWjiE+DXfSaUq}6k8!>4 z@K@lt;EghKd0cVcf$e*77Q529^j>N9YrCj-hTE(>jRpSlOkL$KBb53~gfTb!`;j=x zEZ1TY?hQKv0~fgT=2}-4d+GkVR9ju`*I&tO4s~n|ZrIX7G>vq#28HnWl@r~m^>>HA zNwLnq*38zr+2`5k*|FuxX6!W%?KRmfP%08 z{`XTCetZuSCfoGp!8ekw17}US<=?V=H6qsN7K*W@RG8l&`l2NdZb8Lm%Dwtdqt=|U z1I(9w5UOufb>CM5*Ev0-kftEJ8(Z?JI+6pZUty`zHicH(mQAohEe19*JB)WiY}&lZ zb;E^dNEpP^)$5-kT~=t>+Dne`SZIAnez$Gei4_0a)OFuakul2y=XLSh&|C9yQGWUZ zVJ9_{FpK8O7@rClAwX@?*|6w9+P> z_5_o!$2ugLN(ZTH_B!v_gg;^!_x=bc_7Y4hUMDu@hq3hKr;k&g^naWh-RcI>mzvx@ zABjSK=_!yBkP=b)(OH}tM7t$+dgJNKZBCE&&Zdcc^fB}mX2v(AH)oXbu3m7i>`rf{ zi6ZGK;N3vIFL+y91Y@6uW>&{Xx>evSb9aAJS*x@b4LdpGle z0l2UN-rd`&xjuRy-c0-S1>bKw_~nyHCIff^qGMx&V?(2ZgM-7vqva(eMI;0SB*f(e zg~mO?Ga~QdfPtYq0nnkT@v(sic_Hn3K7|Sk3#W9H;7LPGK}1AC{o#Yc!o$TS1SF(I zM5ukz_G|8bj|09S{_F$22DoEbxC6Q{vA{5~nDF<-BqBjy%fD#@0>I(|BST|@qr>L` zEayj}lrVyUagl+cp^-^xHX*3+21tg9`l+8WvW3R6!c~HoIA}=m(PioA!l&Gz#ONMn zm~-IqvBJ`BzF>?h2hXRNos zhtfw&V`pjawz&7)-dyKp=jQ0^{Dk~=d{m=j1q8m--tAt9hAlwjA|nGMpSJ2*ocZ-) z|1mV$MjasYuL?H47VM|O36rKwOVnQt9wjS;F7i6z43(dz>*#lU&~E0>{Jy0``|+1< z^hfz*?@k2}f>|OX86*G}=$pN22!#7!r0EIf{yTs~q%mcxLMeFr`ggS7okd5UwJQsH z8_Ovg3EW8SHd-9V=RGbs>_k#Qkz(R#!>58oC=#EU3ypGk_$Mh9HrP%<+3Et9@zU{k zxm{iNO?dveR1>4NsY1rlCNARPV8M3*2i(nmqT1?r<2Y`kgtzuXKF_#Cg@?bMTW)WA zxntFT#rwiALuYezCo`77a0`X&O3A=Z6i5L?&~B_#?IJm=!zV3UL4&^L1J$r%^nSys zem>ja0DE_vqQ1)4nqhcNz5&DSBKnd@fZ}=nE<~xuV`Cw0@-=>RS3Zo5c&p~j>iaPj zj{~*&Sh8fn&g}270>`Kg^2IiDO|vJVAC}dt!y1B=HP*g7jBlO}zBLmP^(tHWm8PW_ z3f%v z%S0+Ga_tLhRw6t$+Nx-^#kzNKRrG0(Bunmji@M+L1H{Qjio7EgbC1#4W%x`Jo_u|% zyN|Mk`MGt$LQ#szyRVzFr@g%UjpTPd#LA)F!SV88Y7lA%{Crp@OcS~~)UISC`ta&; zI*fsJB?uh&2zB7rYY^X8_;XByk50zMSz4?$14^G~j3EZzKwkBIB^Y{qy6V!cmvqeV z?L=F2=yOeIqm1=($+R8LA|bz@{^!YMGa{5DlUF|0NF>pXoqcI$dtgFnQQv#hzHC~k zsYcA(blk?)a%dP_ADB6aK{9=;lCe^-<4<&)wqbpK8z-Vp13GJQ5FbI+6$dqo5O+gj zQW~%?&t(DXQ~oh!as8OiLUqvBIdlrCd{?faSgnLss{JAt71_`*)yFy~^(4o$ZBPFU zrjR0s#ZeIEmA1=6o@B{P2HjgFm%)-bt6O!^?Rl96108^B|x^{--5`Ub|gR07yJDvhbtLvNSI&TAr$v z{c+EO*{*x9&*IeJyu;3zCshTu>wG$FQv#>CXsM3`HImDgY>zU&W#w4Wgmm)-Bhpq? zac1UQG248BN>;?R$a~CRVu8;^dk6s*k-5c9jzWy1`Aum1+%Pc1aEf& z!9B&B^kcUke6eb^f;_YzTJUe&J#)rgq$A=$S#txQ9c^kZXl3tW z7(5buGyKGclF}h`tk;JL>#!V;#tDp?=X0a#QoxIKu-yf_CWg?rC%HZ#B5EH#D@+Qvtg&7VR7C$r0k%b!|)#E81> z65bxOShEWD>7)-?JO1?pMZYBV%H90hvz0%K^|1&vY@j`no(t%=K5Ou+&GV=$)^#kz z>;}k&Rf;V>=f$;WDhzqj?m?#acwGPfJzvs1C_c*-Oett_bp!ekOGhap zznOI$on7mfhMzR6hwe9EuhMt3-ucQC*MOXlzI2iZMMH}CtgDFX?TM9c>Sds(@Gc4Y z{x^4G`%8kF71AP(M4avY#5LvVA}KpfFj3X~LEZiV10QESLzxlyyE8giYi=b7xA&?) z6{`-$nW=63xEPuOiR`eR2*hAMs6;ZrJ!HZh*~p2Uqr1EQ*-LCeG^rvB>Xy=;@8ya6 zPr;IXiHh~cM)sAKMpiug?bB7V_Mfk!sFD+ZhU5)*rqSJXrjcL~d}TFuPJTF25Fb%q zDs!}st)agUhgk0QAeb~V>?#^mqs(`vPFGK2egpmttEzqs_?ClA{>JJ>D~^3i%jO%m zgk#y#9GUw1Dlt-z@zG%&ekR|^ZJ%$orTr^~lgAvfd^9!vqtxy6rRZS>&-(aNNuCea z#!K>s1rz`kW1x@Zc)#6r4y$?si;?6XRY{I_6oO^v5aQrpzbo0&h0P_?l;UA3uJERs z$O$F=L>kkW{3J#ZcLk?WE9IZ019_8i9#=0eX3)m)Zz3zcBSq?Ux(u2ddf}dW8^c^2 zk*Ndt)`5$lFg})9NIR&;)7eT|a}60kx_H((a5DY{M(4{G>T-&hXo?Vt+M0$?4~b&g zHM0x}4=cy2Av~Yy`gLg+u$yk-cwthKF;M`|h~3(2h!-$#&Y--;2#76kl4BJX2Dp3I z>#n{Uz8yJ(*Iho8b9?=dR{XEp(_6K4k*4xRsd3b=sf`rT?^gcXqno~mwe9}p8~40j zyoTRAHYku1FpDA~-{Oj|Ohp&GH6x=R_5|3Yw691$AA@Wpke)zku zK}^5a_sR=-Ty)Bkif3nQcW!#_)L#yW0Qj%T_HSbP5zuLTt^PurYpdJXLM$4ue>6JN zmyg3%=#9;yjm|=)tKPDoN)mqN%RHog{=bw|-|CTTdC9-KQa@85zusiN^49M3-YCZJ z?##U6^@+c123J3Ld%xcu{AeH$OVz-B&*yBDk%;0RD^?qq&m&zB&-;! z_3EEx)E6leZ}Hm<84)lp%bI;XZn?Ss@Uic+KJInTI*L4Zvp)5|YoE2ptOB-}mMURL z3c%R_!~ii`h^{IZ0Z}ypxD`{-cVfKniqszX2tvLAzjC$y`Y+yHyN5sW`|&m=CR7g( zG+;M7D{ydbEx#Lu7XG(-QklIrRSzMe<1^bciyPR@tVdPdS3fKAC-T%nRI=RsXvE|w z+b@qs^X^ZM-Y0g~M^Q>o$GeFIZg7186IQ?gpW-U*!~&n;)<1(@ia4t8?7*UUfJ5<$ zRoifNzW1Hys|A%FgaM5P7=MFj<=#@xxjectbavk(CR z5g8FF85t=_85tQ(>_Rdg>+6pFxP!e#M=}A-GR|rI4vVNOfb|K!6b1f3;|~k`eWc$B zd#B%k9ijzbX`6cI*Lb)mtr(V>A6O5m4)e57kfSTV-6hEj`XFtm|E$x1RdE?c<11$MOWoc0%a z<4+5?+!c9?2f62|Wl;%a(mEBKa#p`mp*{f$=MC$}r;ez$tHnNPY_plI9GEEoNGW{5 z3~X>W313CJ{U)H-?L*(zj8+fg&KC~7?5^*yH)>QbU79Y^mlu_%i&?F?BP!laeCU0I zj}-+{N5hF*uS&9#nT%4LR$@-V@GBF8Z=TxhLAdUfeW7YX9@K-GV6x2PJ+;iy;D*>o z>^%_!8k(NwW5H0LX=|KPPV7xL?5yD(OhFv^UV&N4ODXo%R!!tFA~|cX>GZE~G_2$E zF*0$6hm^4l_0QRrvhz&mnaV{xYk9&XQA_#ADO1KHk(kXf%b$}8Kol}w^Oj7C0)b)r zD_X+m;{<7#%eF2I1m7|Hc;HdpP?PZ-!t1o{@^T9e8{?mX00{;8-t8$9FI3djT=$IcTM1E@y@D|Mt2_##$=(9 z&6Afdsp6-qi1WTd7u5VDe%7^=O% zT0hdQXl|@zRa?C!QEPOnx5HnJ#D-GWgJJNxzF%pv^XW9y$}LZ!gh(qVdiwoa6o`Q}=WdN?1A%9-Tz#vY zZ#?<_AKO$S>ch${>>8j>XdkVf6N;zVy6OIUn@TGBQ|$h)qnFT|j68Ltl)2Y!G9q8~x2r+1#5b8|QU@p^FzfBK*(R$nIW@PrE|Q zH3n6$x>-sGH!DvCX~9{_0gN?RZbdC3etnGe6iJiUoN=j~u=as!b@kivI!)zVkRdzox6B`K}m$?-jBUt8!G*F`vVA1tu#k6)c zDdHxha@I~*CPLZ4YFp&7+KUb`X{j&pba7iOnRbtHs|woGCu#fdWfKJO@;?=i%Y4xx zs#7O;4J%d$d9Fpw)8X(PNIE9>hk~;@8Trxd@RdlL!|+LELh0M1oukpWF3nRSM*5i3 zfSn^r@`9kQqJ1*RNFGA!9i47XEIXl04y|F1nAr*BzEnqBC(2$;#e_GNtmv;DMMdM1 z#5<4J_tZJv@zK-ejN82gCu`SXH8C-0HptEmMR_rCZ!W=ktGH$mr!dQ?nBNFI?iW=q zc_F5Y#DUzQnCJ#xf?u^^FK*Ci;VA}Oi6iA;z0A{!d7Hq>OKyyUKufVn?;O6FI=scR zjpvtBGp?z$3$_dvr}HVefLKl`N2>AEvfmc2zZ-G(xRF+7&#Ew)5(2ZeZQIZdby~_O zjhwrxa`?lieE#WPG)$Ql1Mfc&%|g-s3>P=J!rb!o$;x9!z;51l*Vj)|eO{7nXcLx6xN8o!6YM#vRb z)D-n+ZyLY353e>H{&voakKgUKqT<4z->>d{eFJZ}b&BCkQ0NX0e&RYjKs-7+J~}u! zK14n~LA&W8!QwJPA`)NRzo#wF?(!=1OZbFza5ukD(?9AM>{0y>w+uJGy|&-KceaZ0d_Ubm=x?t>PSRhUsweTcRdMIDD)>&*f|ttc3&!Ixvs9PzF%Qsg%X4x-|C{`PuLUm z!(`fGQDRaSmi9f{{t?t+x@wjeXPc-_9IF|R1YfI{`yE!at12{o#e3T^@tOZfyY7B~ zsV#NNR;Jnq79*!pD)4|(xS{^hUO+%ciyY@-BifKlFKh`LN>`rUw+RBZs)$H$RpB2! z{yxE6GCQwU>wJ{zAc{+Ogh&%UZJ;5VC3O;l*_``8L9c^LAc7Gu-m_W04Kk5;H(>iWOH$1m}(GAqV?&jh#*1a#EW?b3YXsXMaXs>HRCo(&9W7O zfaS}02t9CZO4;vXks_5zdF);0wB6!syKb9!0)r>(iEL&!Bf$Rk#DQM9GjIig+N8$& zS+s+2{HWOHRVQcQ9VX;xtvs=#Z&`odVz6}I@e8oHrr3fBIDQItT{p(KVOH}b{ZNi< z`@D>Pq=Z76{^T&oXUJ8}DIIQL@clN1L)y1Q=0aQm2?Hsjvzkb^w5+dNoydpqk;{}D zd?4^-YNeS1D+X*8#DE8CDK4K926eYi>0(|u^Bs05EuYev=^M%Fyi-9dS(Tx7YZ$>~O0)M=n; z&j-cWDMH8l!@-)1!S{6b%ZK!!Pw-r;wcoJSVJW3?Y|s2jsCaum3*QKKLv%uA95d6F zu#Ate%t5V{vsS*=E;X6R6MCp>ef0~t$@kv{B%gdB?mCGx6*15?7p~22%CT&kR>NwP z<33SVGnvpCYU%YFx@GCQPV%7?=6W!Qm~E_BnCJ6rM{2^;r}Xj%6gns1y=SdPWLq_? z0I!fdl-7040%0!#SSVSFF4%dW^h~CoSAGlk|&$peP#)z_(=B zZ=!)0Ld1jrTX^@l9)K{gJ-VbkfPGZj%rObXlTP4RrUnZvLIdl5m z2RaL*jS<>OsR+;|r#h4F+T9WIiMZAE zI=Fkz!>g(8=whRr&YL-3|El;}Imd>-0v7f00JGh_oLoBnb72)lkf{8_gEfcI82Pr2 z&HJzvY|k=Z;F9(>HVp3P%RCG-7ikwdJrRA|6h%0vvNA?pmW`xjz0qzniDkegAt22Ori5)^G**a8$$-fXyft>SeZkky{I^N9%XFC>>>+)AF-_ z=V%nj2e9{a=1I$^A1||K>Qy%35T#ymQuepXLjTUsKUX?o!Cb8m9XFpD_j#d-K?1+m z=#t<8PKzf0jgcs_*P+Lx+Yj$WQvK)?IA9!Q^B9~B)iryGF!+9K2?9B>s-sd-^i-Tp z4}wF#YKFW6K?|RHE}6mXGt^Gc_`~@%H{TsEj$2Nov&JAz#_%k?76n#Vp;k2x^5j(e zhwdnEjtz;pzlA^?VWoF;)`cCbyTaJ3M1pc!(k)bV#wq8l#~TcO#M>Jgevr~FFEHpC zB%D1YEOt&fQ+HORiEY>jpJanDqF1VEATM~eLmm-lddyL5dMu=`1JIvbL<|F8{L5SN zFm(!EIVaD1Mi=5?B^mCg#Rkf1b9SQ)d7Z)yM_9o7fGWH+bW}q_(>spbW&zLdcY?|z ze2~_y>|BZRt79n1DREk0=(lapK!qil{<1_%hoR9 z;KDc%;sb9m%=yz-!)$bC9z@osAdDz_pjoV;G>Rh;ZTGNucfub){Hu4*(X4avbQR8Z z8Z$OSjJUdf(CGcv9nE$CH|-Eno>YeMSebawRhn#AYwaJ5gE`ppq7q>25)MwY5 zaFZ-7!9Rn6UEngk=~R0G;|5(H<)uGaS<}7uerB(eb}IGHc5uL2zrQGxml|3kp7{(j z+ zd)o0Nte5(mx=<9!ZR*V^NV1(qqPb#Yp^&0-`hDZ?V?#lAk1MAO$VNU2v=eF!?m7qA z&zjG9rw#k+kxAo$+LIzEZI)Z;G?xyd`rds@;P61n2GM>$cCQWRK!?Fnf&K z&^wNIJYEr6A5$May+1=#zT_Rg%?pFp(xrpSnyolcU@9S|mKm%%v#(mnY;b5HJ^k3C zr;Zx4oOMeQ^B31cjf}?O&A&N>r(Y*6XuYu~UAHY25dJnZh|(**@rZMb=osAcFfC*Q z)5}(V{A7~p!BlI6dn=;Jkpj?p!g6~jp<7`un66zSAh`qZ%@rb(^OsL?s68v+GD7>R z)Y(kfNTrqxcBN}2)wwIzG0OMe+I|^Hie|a|wB9{~wX>hn28!;7_vYG{ha#KnxWycp zb;=iUIMSy^=ucA1;mJ5nyPWoR+=J;j*Z9mBx!hsqV7fr8nNYgVpUEA5t^W zUh8MYi!a%(5f~x*T}=z$@~g=}bGHQ6g9NEGn2Fva+~;~Jpn0JceL_Gfd*~L~z?WAD zVUAa_o$F%V6i)gH=T=f17_ZGc>J#0`EPUfC_fQH?x6bW-j6GO}(uCC>M!4injtU5Y4Pl&;!Zf+~^gXh=t z$44_`{vOvNReRq% zLxZ}VZQJf}&(K zI@?PB=Qkaix=T7F2y&0AL5UB7;h1o)i&{~@78Y|vG-+5 zPp8C+5n^HLb&9;LGUcnL=Pa$fj<65bN9xOOtTc;mc9cx?kDA5E>2*Y`FIs4;IU?U8 zMuaH|YfDr}or~>a=K#rUR;jN|a3-VZoUbvs&@>Ly5hL^4U?0w#`9WIT(Qo8*Y=1K0 zT)aU}u%cFpG58v^1EKaHR&I*yWE$>;eYyVvOF*>0LRw`0Neke1#>QuIIiXiit6uS{ zYx*cg2I!>vz6>b3_O-0h>ew3TkoqLT*BoW7sG~(@^kq7tTXf0j&GkJcv#z}gH^`JK z@0r88;19cN?c3=!LT{8m3u*L=L9hlJxG|Nw*kERm*M=LA& zv2tM%G{_87hkTJ34E&jZ@bEiv=x?Tp3K2fjqY&5=Af&#${J~`8bw?$W-X))zb0(`b&U{bNwWfIcE$x{KIjy#Gb(oH@FS+s- z_Xap|jSA)0WH7f#M0e4{mxoND{esb5JT5v6S4Gq6uw`@A&m8^sihf}mX=cIJi;QTJ zgu{BNGV&a>MpX)fZ?YPz^RC6y%b2#U@VO_t*!Vu$iyqiGDr)M#v9B39QKWE5*EKWK z2r^l|;EY4SZ%QGKS`2WuTY`tMt==}Hc(G*=!Tu|!DNDx#@4?=6^#$&`j+%NNK=7Ag z9$c0%t9S4%s)MI>C;byetW_fdR(c!$(UAvsqWAsd8gz}bRLh%=Ub~sBRp+9|A+B!1 zL5?5>gc@o$*CX6uN1dDFe)_P>Sf(awXt9R(;OHl_{pQbdHZOzY#;A>+(>-{bszx5f z4CgC7glsa0t)jtN!ep?@R`+hDPA*_i(tBRChfmSzx!MMgus6s!R!a4bh2su?Gg)CS zo1|l(j(1)$(_D)^p6oM+T;4KA@69HZ8@_ZHui>+~ch-E~S@0UH5y~mBK{7-SS z+v%bFHQS~4$;FyhJ={wtX=jgQB^`ieKIU99mO0|BXQFJR*3$Qcp@$50VQx2 zO0Fk7r4<%YO2_*Q)*b;FB`I1KNux{tB=%XuF z&v)ZN*1tiQc>9q+)7s$~ieO%v!1Uuq1E~gL^TxlEDnK@gl+j%48yNGgo3dD|28n*O z;y92Ze!Yc{~8_1AU$ehAKdXT?Tx?^=u% zrYyE2sF5SbFntvRIsk&j^#lrTo!NDhcI>bb`?(4YA_1YTWDk?g_j(mfrqH{kUvEEn z=Nc|pOjp%ZR=XX$);u#gJYspJLU~e4Se+ng#}baa9%0D4u?A-~I@DkuB#H2|qzUL7 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≥PcL$g-elL(4o@R-pGe- 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

      MSzvhu)s@fRWnLmEfnM+}$ z`t9|L#<+!=O?9hG$>9||!)P1TRZXz3?0rb=tqw@ZsE<8kZww+Bw=`g-Dh(y5;*7CCxd%1(;~=H?AE%!jpE)Ak&`?3I#9ctXSnm?I zKOu2H2w=M}pME{H9{0UFbxp5FBD;1qKkZ4N->wluRNtx_lLTkBP;k7uf`lx1e1xNj zKGF_PNtoEUZrs#yS!Edri(jdI3-p?~`*w$R*ZQ}@K%hV8LZ2$dlog*PvUfe>@*JAM0wxi@qsGZ5-?bDp6{H`bvhq@A2zr`p z0*}3p^}gq06BD0Apc6mQ9J2%<55ey_;s?%Yeb<7%Z{WuMqS+zeHQIBCd*NUKKmRft z{R(=8{C+0HtSrp`)#@y@qKa^9rzivY%b?C5Su+C&NTC)8NKpn93>E0tzl!Fy&JXmz z3eCSUGb0ld9V0s(Gn>A+ouiG5wE-a$r@n@Xv$Lszxudf_yS|v4v!emMn~il>y0*fG zBtQOHQ5w?`0icpv4Hk zk=i*5a$3gB%#RZeLFZRz)F`M%c-T>Iz9(L!Jy*1ua0uu{?5<_Y%ENodqKD_}L|+ia z1!Whal(Z@B5$MG8^XQuvv>|}9Ns>C{R^hzU;k|YoH1(_(8wTG&jDK)}YX>$%oK^~A znNoeiW$@RPCaIKWd&o}}YV4r0Wbro{^$uNK*zfu{{hfxjUXPdKg{BCRp%j^Ki%+6I z!~uam<1Z2WjPm?wA4eNs-uc2l6k^DI;cYsD6(2nfD3@Oi&~(UmaT8dXFD?241TH=; z@CdeT(rsbO%)GpuF`Cl5tRV0v@oJf2jf{wyO{=QasQ?|g%7sLzIzBguu@r`i_<_K@ z{n${*KH*CBKYsfwesU)~hfxwl6xxk9ZySg22Z;Dg1}~si*~JwcA0M%?v7Q-n&xUB% zJK>z0+EW^KL)JhYS>V}X&yi25ygY*yL!nOKu{3`tIZkcZ{q8=7{K>7yQ4)r!BGv2S zsCaW*7S4<*rhSNyoaQd;B6lplKfXCYt*!k6;q2>x@!5NQv1&~Q!mjqE9?XJzu!cNR znzM_p((8C*PaH#W$I|v`$D*zP&0`}5_Dk?5b8Xqj!Ep_wU(7N9NuU})w@}MwE)vC% z+d8HKx<0-aF;v;2`# zq23BJ-WKqvGK|_ zpeg&vC~pG_>1)UbnNSlw5)kE`41mfc!^KSR=)pR*>wp045n8QMtFM=fOM!f9mj=Uv z0TlV0g*|csNqmf0j!y;lPp&O&rd5Fz1iOZZyw<^%mlrM3-redUjb@l1!`5sk%(6hY zW6pi5TI4t!eKxc7-&s**_?NF1@T!3|j`0(nkcLIgfp>$O<=d;SY_aw*Mk!op9TNs5 z`d<-f-QH0(+ld-k*4hjkOP*`hc^-jhpHyFVp|Xa5Gg9Q)TluV>>kdvML6$&SeMYjK zW@!nJRdD*a=t1P|#Bd@_;hTlQRWU$|01#?K^YYqc&z2zh2Fv%^Rcfa9fPj+Q8QG9O zH<7WD>yE?os>VnCREi0T_Q`j*AXVr(kTe*x9zu5JkT|>fo~ll%UXo7t^EOl!-PveY zf9tr7F3{X2Gu%6AsY519z~kmfDqmTnftgTod&>z;Qc*IL4D#3W*(}_eT16`Su`%h< z`*>wDy2ZCbN}0*Ebg|ld58T=*BhTE}W*(p|2`dSYXnMi;8NI0|*moq=`TM17!l_H) zA*2b+%T2WJ`a6TVb2W{2Mx>{}^igQ!sFokKt!HL=?tRadELIw$+ zemfFjv~6j!PJka;C-ww5Y_O+UaU=(f1aq<|M6CGnA4^&_ni=6w3+Y3*DA^Vq7h|Q@ z&NizNEdewspWuLV0%}tbM+iH>rZbYrV9W;Yq#8&CZW(9jDKebN9x8?^35;6Atj6uM z%}TVq%<&WpED*dSy|(C!J1w#4i#>RKm5EZJQj^&W?dI+MD^23rbQYaCZsJp_TmG)e z!omdCqRPWwwJ-kO5KHr*T%fLNmLmV^zEeiLz=4)Ee!*mJ@J^o=i?{G_zj#GP`i;AF z6DN~0t^aQHRw%Be8}TOIcwFt^y)+5lBP7UUT-A`Qr|rn5i?*U@g&|AdYJ5?duHsHJ z0ofNdqgRdkxalatt$VwrjW!}9>Ac^8+@U}HBNTL+EF=fFn``wsc=>PyRxD`sP8nkd z;amuoLsi<4C>%?T77STrik~F1%#D1n83obZ5cwwWP1wL@=S?U1`CNi0nYiae@?toUag;4Sk7C6p9HH(#mnNjUB!q- z(P$%g=cW2X+*-Qvthn+6ZF&)dwbWt|#WGvp@pfLkd1JQXnrP~AqL032vJ+Q!85qEf zfjzg4Nkiyij%>N;TCMl9x5S^lb1LCRX{i4~oTk^Y;%r))r_zPA#z(gZykauaV3pCj z0M+4n73?&mo7<#c6B!QYQpTq2sL0iRN-uzlutCn*+>Iyl5t7Za+j;A0L_UsFunS?~ z8?$mRpm&vSx}$m6fL-@w1Ew9#TfREW?=lruthlOE*J8H%OarC8lY54(jxiE(q+3@Z z$%}eE(atggJdci7=9aCyNigD04{Bj^YwtY76!Q1cavTH)Pst_GT<_l>6p^7f>glE* z{<7o1lo$gT&rh{2GoSmU)M!?O0G;dGbj2<+-mlOTCEGSA$8A$B5?W~`tsP6?aC?Y> zELZ7|@czb&YwMSa9jxmfFBSJ!f&WzBp&`vA3-VvGKdS$i>XZMUsxL$+Vr}5$L?~k5 z{J&-YKfyPN?~@N=L=3qh?-m(Y5`@8-i<_S^U7EmOvL`jc%B@R+!$WUSuoGgc#7}4a z@!DZs*xQ&k^e;2~MLWgRctv zjrmUdT=2nzP8Q|xo;5Q%`-q`P*)Lb`F8LdEFp6$fIYTH?zJ7o6Nef=FEPWxzoW8>@ zZWtUJQYA7F1dea4-3Zj!BWJDB0 z{|q`)Ea-@n2U#20tgkkr{(lxW#zL%y2L=M_``7>P=c@lt3)}xgmbSa-Bu#w?c#v%A zCd^aK6Ol>E0Ax61I4b>|p?*;|&CkRA*Ffe2SY_IkJ=Jqg9=sktyL(W6GFL7puP6Cl z4qbFvcve36YD|{h=x3%r{t`sCRd(hh%lLgm@r}+S$>?NeON{JHg=9;NEujYu73=}m zKR4Ik<(fG?xw@K`q$Um4J2ZW7Dc|lqxfvW-o|q`i&`|eE%#hsdUIw4`lH6GDnLKO` zLmS(O#6EQtl%$462g9W3yDAlzokabTIvnFNi_5zjVGx+}PSd4jZsf0h!RP+D6pByI za<3{E1MYyGWKWmmSH|V?3K-Zl7cX$GKT2yA>sD0sWn3C6#Xy}KD!7e4jR)X^H;i@Q zL%TOe`RL6^!cG6y-O3HcbH;m)?^$j%=vtFSAh0uD*ERsKAWr8#E;%qEsytlayNeO~MK=QmZbfsz2ft9F)e=o5u*GB6h|@1SH)UN} znx6GZ(z#|^(rGT#S$@VZD;NEl8Y9n*SA5)vMT0w@GwapL+AT90J%S2VreN^9*dT7a zOd(veTHuAWkM7*F=*ho|j=lZ^t29lYJ#9PzBtun07lo#$jE>^wz$_Ivb*-SR^?-`H z!u*@OBtmTB-%d|O0w+9a=Hu{b(1mJ?_Jw& zi)-sIRgJSK|0l4;$-8}AwCar3`zcSVukYEy% zA){R?Ry_}1+YTjs(A)vMj$R{`ml-iN$i_nPjEW<)to8)sU&uJlb~V4FDC z;KtZ^?~%}NG@>eVDgD*fXEj!13;A-wVzKJ3DzJMRAGNPe<7^kD$KtnN7@eW!UcC5# z*KEzBH)2L=mT9eyKw@3^<%fixXb0l(oIV>ZCuESfB8aU1+8uh>({BBtbt2-+KcbFK zemwM7-ye}0-V2&IS!NPOrF`38-LsA0wKJdV{;gtv04FVAG72NWL52&2OT@*?Zm2{l zz63eV#*9jCg~C$+k*MH!umT;J=yO@ExRS}r54~|W4EKfkAfs&X9Kt^RtnEm$hVkRB zaK`>vFhz&`!=gnL!-!Ul;9icgqaaaAQar!_{LG|=VC@;9luq7+t zNW!Jd@9c&Q zHM1B*`?mFmWbYv3wpQR(dNAw-#OjR5n$tCR?kk~Am&1UG`fy$ zEzE^}x&}BaZnUV&HqW_S9k5kWVocE=FBCj~PZ^Yu3_X6rbad?VffXmt`FxQ4;6!Ck z{~rKJK(@cWF~(%Z{ZUq~{WA}MHb0>JVB<68#x<0zJ*479XQtw-B6e=b`a{K)$K`F8 zwz>?o^K0pIWy`Nr#(I{8S*urzQ-NH&-Qv0H&fO;9(eALwzBXPH@5UL#gQ2KBk0K`ibzO&qs-h}{|Fe0N=UE`U zEOSlDS*++Gw!0FTKg^Dj>y}Cnr-u0~GmuLZ_W8pzW`#PX7X}_r76l8xD+(399FDI* zDSK5}=+l))RmZ^lT#E?r2QZ|?EBJXGw<0k#IFPkQ)fF zfQnz+k$RBAV8Qw8J_`MdHPk}q(ET&1D)5Iu-zPN+6T%DA@!kg#uIpZ-{Q7UD9^9IIlBhoXcvNoJzCwhA ze4XxK?q0rz;fVFKo^HH(6m`HDd>}cb>+qZDNp>K=*8eM!_zX7l5#{E~(8f$MM9Lcgr z`r@}&|Jy(R?cas|@$Y{F0t0nRM;j|IEFNudORv8mf{TTn4Hl1@h0C88UaWrs0e(?l z5q>NleFtmAi^!8FSUie04tDll^n6eFuy|w~ygW5*JY+#GZXj11S1)=IEFM{qGsr{R z&B6*X(sLUh2P+#b1sSY=u*7p&oqr*Te*+Tmukdw%Kv`Z%9za3_E+j4hfNx;a%K16i z0)VP2zySaN2Jk!J0cc3b05T$n1fU_3hXCrIJOG#=QT>y*Mq>NB%>w{akdDjGTlCKfiLK_dY|V`St9 zD9EU&C>L7uLc$`VVzSTWYBFvbnzedRf{RmFQX z?4JV%7H3j@9C(CxkD8iPC4`OAPsEiHN5Z+f6-q@uhO9WWftEf@mb_yxT)DW5FIK=x$u75;U(}QUD&C76RC>_Qr)WRRJ4`XWlAW6kc{b~=9{9BR zCAgu`M8u_>=;bS=B@fK*AsWvJ3i|KUno5RvMM^qZ*(=NFb*(-@jv2g>=tx978BAN0 zvR?>9FK92hE8C%D=hZeXBOj@z$Wd^J&q5bUf9{3$^P#US$F+$by?;+;u*5ey`+zt3 zM0aO;GyTF8msb>Ig~j`SKWt$niP~%5}wy2*cqxQ zJyN3CB5JXqw3t|1K>2|b8;=~@C{3*%+eu~Um!TPW(bZC)X_>#F|07WYZQAEFl7qxf zq$d&AYl$VnZsU$&?M02e0lmqCL9W3T*4cZrchtHq&9oYfv+aT(4urAY%j`2n&hbi2R2Zk;5)2Lx_j(AII!smjL&1}3EO&z*M!_i{%6`RnHwcE2NRdyrcfnuS?(4GaRp7s!Z z#CPrgVg>2{B(X!CA7l5MzO&JdU{ppqu8DbqS0B8Yj@C6E$gNkSszq!-Cqfw_t+~<( z-cTx`xOF^3p_5@Z|9p>|;42l;z)X#kBT0A9@{VwP9S$HbXRB^h;}5=mtnyU`(2!=z zY4;`-zNOE_hXZ-qvT&f=OX^mY>?IvE%unh*LKRVr`UMW03VNzS=few31P3zm9h&&- zNF2Cbv{*RbxGBGKe}g9xK`+Sm0mqyW@l!t)Y*hf0?Iaj#Hb41nSrod|OMhg>|5dZV z-oyT(VAK1ON!K?r#z=X#)U{UeodLPu=gx21D{#}kk+{+~iPFC$*7#;L=w-o2em9$I zdE|j4!ieH!5#}dKbN%W$lI}&yQe)$pqwr}Vn{K6^hDBEVgN;y88V`)00_{K_znU1V3@|sf#N?&( zDdNOqFedt=%!VclhqVhzzQ@aANpN)jVC(k*yOHp{atg4k$O_TUZJ!=rzavwsc4cgQ zVrphI?7-cpMQ}qC*TkQkGiEHZZ*PRmwQGb5i8`vXXmEfW3G;aKk1fA1bhd{6!EiJj z+eh_ghN{lZ#K!M+s&g=Vivvp!9jhz98uYuM8$vX0UfeUkQ`m0hZYRK)QbC$rWm*r9 z|ACx`&U9q-jJq8pRn68$I$~(RJy)GI_x-i@+tfvanOw=q^rfF%ni{qw8c1>gA~6Ji zP0mJZ$(c1#649rRmsE;B9rG9MK1LVE`Z)Uby~4YcWu?T$N=m!5&WVZ=AN)*3 z+pfT*_SMF`=S5?LNgTD>nlt&cM}7P%-b9frSx)ciU0(-(r{6+3JqVx08ft;o1`d8| zn&a8zW6GOXS{8AR9s{>4arle!nYLiov8|Rk`7F%6q40abzo3PF_6!uVOUWqyQ zmTk3{;0UmNco2(7@ZpO9{0OU0!ye=X^0WuJ(epok0*J^csUja?Y1w#!oV~pqK(4-oDC3N8iWv{G;eSz0*Lzxa*k9bE0`pSjvO+x+hH8zKAsX-7%)Z|$Br zdpUS{TmRF7_RoCh*cu)V2;?vCY+>h#D8>8-l>U(i1q)9W z_OZ zHh=oa{Iwnrr2mQt%L7>Xh$8Awh!@mcM3tfsA|XUaB&;=vBqaz@u~+k_E8>;Z;E&x< zXmNG5UeJSlY&<;v9vbDJ`5vNaJ0p1DpZQ|`vG-rgtBcq&Vu%b0paM7m`Tz*AA}Gd5DblcaHUdP_s#nRQn z!5N|G>%S#K>>Pj^k<|bIrq76Sdw}8(*Zha|A~>qzZw3lK2JoICSi22i{pxpL1d)6V z;9y{2U}E4P=p-RF7B(R%J`N5(DFrbxDKRkxAD6N2&!{t@93FA)kt0(S;tR0L5b`7J>= zf+zDcS#EfQrO0ZNT6qebGNb(#0G&m!XBr_y0lBrDu8^0_=076*pG&~{ZzB9hf_RZz z5+X+urTH}4%^5AloG#yPk9y#6<#wyf^N#L3Hp}C>pdzwvrLb-0ap?!bqZ{FmzTnqR zpv$hz#cQ4&sUx|Yz0un5g0t5~WKARA&IC>`4c4wP!^PeaaDVU%iGc&xrp)$P43jFf z%kq&;qBE1ozGwOp>L#sUarfUPc^23RqAdny8n(?|aI{RU9Rza--LS&}yrw2^a^!1A zj9I!VkzaJsUFYthig1HI3u>}23SvGjN{Q~#!c?p`T|ZS=kr^bO>sztGfhqN{Z}VG8 z%@RpNOc?<#OJAe}D^q@ObjV8aP_d`!$~9pl2b1gdT#={10p0gx0-~SBoPz154fo){ z)2@r$SWffI8#--1_Z%0^{U^Nr^1Nzy8PjdB{=uowj+A^wT(n1HqJ+?f7=hzXod4g@2KQ2lR@P<`drImR*+@MWot< zGn5>L%!|%B<2kJ~u9i!vf7icHyl!G`VXE2Z~bfvV_fjgxmB(B9>COuB}DX zPw0Mi{Vb2)Qn+-dgV{pPms1!5Ip)2^vC4%OJ&gwXK8@jiqa|9Lg#*)5aKJ?h4yY7g z1SDO*2=>1tZUZmOTv*LfT`#CR&>JXOgRVYFyE_@ZXg=?dXVjjp@pw$4?djY&&V%a! zaZ)k*vG=Pjcb2DaN18a{fz`$18TW5+0J@g_{f0jioIBtUbMMgmY!U|ErY|%%xX!s_ z&9}M4qTp(ZeDDRjIWU@KUg_z0$CH=Tw$L^6^IEV1^0CX1|N8i``f`ryyk$ovCB=Ac z+9z@1J;FEh_n94SYkT)e)148mPW#UZTt0;7q5U?o*H;6dO(b0_+6s53IXRXNb$2pR z$OUmIHIrTkLQD9UOI_nquWPY%(ocq{M`i2C39d^=7~saO>#`BWxLV`YSkG1kMLUI_ zYILIEyhP8K23P;p&7XmpJHqE(Q{^Y9ZxjJS@n#1X1x| zebckGSuj1S08!#MMArMBtBrWy9~dFFiy<5!YnaSK?^R>%CUDE5sx`jQTsBR&LZ+C1 zplA<}6DcLFx?ij5M7{8kzB6xM=2-# zBPmKOACD0$wD`wIJ$k5T4yRuqNK9=r}FPNe#&*tIy)OZdrMASC>Qndo4oylJCd(OhFkjb`U*&CZ@)j0 zzz{?$tuV6p=?p%a>&Si@_A7O$wo2VO1r;#N|1jgN;$k`F%KezWHS~;3(Hbv`#!Z1# z0wB?p`?sk5_%YEmdb+;BRy>)lRfL8pQ*O^kIM8EW2nW7sBYy9n-y#l^k3H(v&&%Yc zh-(Yv?7;u2Qfh-|8obM10$x`JCrH^yjzL`1e`T!NPZ_R3Gxnq|NM^dA%u)kMFqI3) zHI~B~j0m!&PzSN4U4oqRv`^*Ncm4YT=>9_=#Ap(YQak4U|I@s*Bf;+i9l>Lr=kl== zaNu>95*+wYoC60!+3y9d)aSVcUEqLCYjevPlxif++%>=sJ(fn4*(X-_&&uMNS?$Y1_q_DUq19K(FyGVJVK{)HkQ79|#l!5YbQe{*?D!PD z^vtw|v!RHs;qVJ$bj5#!s&6;m3mY!OdWRxP7a)rq`I9DtE^)KX%n+>SONnPfbnb zn`KHH%xAHJkugQbu%lw?hF_K5tjL@~O8*|Q@K_g+FuDgp zk2bh*AMAzDO}kXAyY#OH*CtH2QD>yce>*-@dD_NLq$CL5Yz;2y<~OP}=hSRzta(S9 zMDmkYmf@c5Q0n1>A3LBVN$y+Exf5}IXy^Ih8wU+Xat-5^hRn0}`Q#PxQYXRfZ|-qB z_3wH`UW*e9KON-qsI0KJja#meT92y`c(MQ{u@js4mev5BYd6xCs!rodS#_BNH6a|N zQ-{UvGZ<<8VR7I}VqfnK zFb>Rh^hI)5z09;aOR2v*EjaefyuP1zk7H531gaYMe(UZXx4>{tagyw;>*0qt z*%|S}J4v4@6=_FMd4EAzgAAao{cr%r>audz72Y1W5%B=P2=gv7w17eN(-v z%>0gnHor-O`=C3B<;UAXh9yBO_Q|^xsdY#Q-(8b9MNsf5`R06{JJ{D-q5(SW%yXGV zX%)n$w9{s2WEXkEr8mQ65vo#}{5Gk$ll_)wIz;e(Aq1Efmvh0(%U|h=5m)fF;)@Eq za*?ERVOXWqNy?St)XsH@N)i$&q~l{JfdlK=*W#UMu%uHuX_dCDgGUZ|`;yM%>6trD z+%sda^Ga^w_u6x_nPP6I&-#x zkkRj-jZvbK!+PL=Oi15aW1o4$&0TU>d8?HU4sH;gwowIhP%{t!kxs_}P_dIZ9 z%Mbn6@j>f;W2N#vWT=aj8V;a`U)tVQ6j%3RyO@F=TZU1@&rEbPCJKH#d&bk`&z7Mg;#rfCHT7K{L7~nu(K#y_b+;;CT zOGC>f#|&N;p+e21td}BowzhY|;h*wzRnq6O;`fPcE1Wy>w@;bTw`)^ky2Bqj0&T#7SaHGPyJjtDQcS~vxa*DFe6l-^!R6`@ zIbDKh%qAPN^yqe7?s^#K1sv!#hnmxc8C^A#HV#0xR#+w!mhbXBi@KRx@lQx2{h0@+ zFt4g3yVgHK8rCAD9MqSrm7pg|(`$+~q1^gfH8Xv}W{hnaPU49&T!~2RMCd4CRSNjA zcT!B7)HB2}*PX&>dz`}K!2)|t2-AVJb z>uQ!G(rShWS^h(Saijktd9*-1*ZB56gd^x%-A`mEUp+?*!N7&o^$Cem>yNFeRASNZ{6zQbL~N8mp6QAQlG>UU+H zRT)gCg5`BSX4jp2LGw}HS+6b>VEPvYH$FVa)qCcq;BH4LOEB*Jq*d=4K@e&2^6o?Z zXr3(P*^6ae!liyMD}T#$ib29i#ciDOh>=HF*t}9a_k-qj8F9b)aU3BG)En(mapW^z zzJD%nw4nGZ^}JbiS_nh28+Ay$ti1KE)3nd;g`P>hq^psSZ_PDl^l<%vQ%6hmNcIwz`((kYPx@LX4C%Pt5Sf3Et)# zN=R80D~uLl@)(bwZR?sYT&b+1AHsnR$YRMxBP3Fs+nT%L=-&TFkYN99AMVW9I_|_* z+E)OnOj!iM{RCZoQbdcxwi4{`%j{cDsRjoq+=F0v^^^18UR%ntE}wl z$Srxi-$0YQ{-Sofz1(ga90)KA&QLe5znxdO6PD|%{Z&xPRj6Y&%HKe zh-IsemeTnPwC2AO@4afjD-U{lLmfoYb(#^~J{l3zUj?ziM$OV`a~lvL$VHQ>=l5(R z%tEJ-qP!)$%MN)0?$-5sck6!|H_*BkE=jrHH=GYs={*a6YrcHmq=%clO}CL^lcI!V zt4Tz{{bLPkgioS=3c30P13^djHx&h_6fbUkG?t~aG}_O0G9;&%r0t5SW*7F0(~6eu zGhI4za@vKO(vvF)WQkA`DP~c1HAH^j`F$WgJ2hW2SZXM1J}fo#Sp7D=ztXI{>;i){ z>NcZ8cd%)~W3R6Sl|!bASd}yDVoSWH-&XrR_2kytoqQu`4tr$&S@hyPH_aj#1u)t%O5De&i1P8)! zgUnk`e;g*1`Z-?NrrqLKs@OTSr8K4He`82pBNAT^VABvG{Q;)wvWL)xbc3O~xV+-e zws;5~r7*>V`Ap&@lrN8+54n%2Mlx(~qdUjlW1hV0W7f~BO3RfIQ8pMJT**RUa_+|a$T*speq(tb;(I1t9>Z>oU!htL8yL4s{ zzN2cfUt51hOp${x;St{wi}+~F>=P*;W;QCAnf&+XQE4sC8U?x)vqybyR6+~6C1 z%MhgNLR;cwg_1#36Q+w##V5V7_y0;>UZBamcQ&4r%p0A1b}4a*8hvdU>uK3DR=&E}MGGzBu~6v9Y?&S6~cA zj4RXbaZ6^QP8ge}ICJHepdQm{%F6ap0AdW$pE6H}19b|AQK#U0tY^?;P)x1_Y-1}J zUu_P=lBCiw^CMZyg81F{G)pBS3Jt}oP)$A`BE>EC4N$@wDFWAI&@~H3byC5W2aOW;Rsi-Uy|a z(r%k$u}^d|a(%WHIIyypSJQcGTRnU#PwbSgWo)b(Xt;dI5_=1~D*@Z9Q^OeVu_d5e zJ+1n2g3D6a`)?ek%(rA@Wd~+Udtd;xvcRx)x~hFD(6A$?e$%ll)V)7tqNi{*WJ26k2^NUeRZH$ zF|>_jkRnyDfsrxe{iZK6RD{l|!lo#-ovnk0nd-&uD@1!n!!U-v8?MlmPEs;W$2qPTtF6VHO!k_9ukPuh z_GaVD^j_PIS94jhoi|-{^wYeUBZS@ZtFmLGd8>4r#w|0!;EIY`LfFkX3`UaqOv!8|oH?te8R zjydJS%3^Y|(;+djNV@21;k$Z}T-0I0shEsA1ly4}soYqx;8JkKPwdbfrl6cn9aFLK zhR)=J;1t{aCf_+YMRbd2ZA4P#+%|zk)8vP=rW^_IpQAqMjokg0PNKWFomhTRoA`;1 zeqQR>ezwa;!p&;f!d!%m3FtgriNg;WwsTf=9w=7LcVU9pzeAQd``|$1+R-_JU|tzQ zb>aj9Nc&@Q$A1vWfj4m#k(}%5Y4R)@GZ`uea1UG19h2w6dv6@e@Z}c1;Aer?3n5T5 zNW4@tI7X0$vv;Yu656}rZyUStY}$29q2!+;xHj673UaSE%Bjf@fYC zlq)q_O1++Re@Kox>+jU^>n3hL7=6B@d?Tr6E!rGK63t$!fjL_*eH9tfF9nV54&d23 zx9K8i-(ke_b>Yp68di|XsmeO;Db(fiC?nQOR9mYqaivD^ z`HNrkd{r1J>;+uKjAtzvm^2FYn$mQS!QBXd?2?3gs|&L$@Ke#8wWv9zjU#eMKQ&Wn zQn^ge z9Ci=1v(HH80)ub>?dtaVsbmqzVe@3^W>736lKUG;!<0CAk$vV{4l#fI(vEzKyX_Y@ z+LU8Kn0I+p1A6)p%*JY3d(~jP8oSO+r+(Xdr}sokjhHqR@qBxp=&iMk?2EzqgD$iSDxI`=vLPH6q+nOQX9NfO@rhxbxMYBHgr{Yaj^_gFNiK_SE7rrd}v9auui-jeQ@XjLn42um~c=zFc;`|(as zg4RgW-B+Q4{hyKtMtv~$j=w0Kta zz8>mJ1uzmGJN0+jzyX->+J-_8&%>{pAv*m1#JCf{(1?*^A0>xU-hM?bioi22@DVeSa7$*oV^j)jvw8Zf(_IpP) zYbh~d;wdp*e(;sthArMa^D|z@kGfypq)}$G%Q0E}D!&gBMAJ;El~)`>PWR!YcElbU ziX9Wzzml90q)P;of+X4Yqaz2FC|v{=Ob6J1Brg{Ejat07)b~Rs9C6k{mLCzfy7EQ1 zN%SSy)4{k+sW@|L$wxt^ITYm63=K`t)rbK7w@z8c(nfajNNMo}D84AMH#hQA&bOk4 z#s&^o>GMKDnp|X8^QT-I-4EkA7}$_>5UBhmlC(*^9Ek?~-&d)~BVgAv^h1f$x4Ge; zmsY`0bBUmFIDoQ)n0Y8j3RVgom4%k{1qV!a-wRK3Gt{M==)8GmQR(kUqSlN~ILHWK zD?Bo3qsfX=F9L&FP|Rx}10}3TLFiS~*WkX+fZKDJ1mYKYhaU&2%Ls40S)+6`BY=fh z8o~klHKT6^l}E4LU#N5=CGieZms7?+1-+#6TXMq_Eixs(Ps_I)L9d^KFr*iF)mjLbXxN~I!OXURq4X$8lCwaf8JBp*Ut&+ z@;`3d*o#Q(>%RwyygMg3^vszq*y-ej;Ujd6U64cpcdOmf6z}^&pvivd%FS8*S7Oy^ z-y3$O73ZHi=)b8S^b{=5rm2(Xd*aIwOo`~!fiR2}tmF#$6g`^98xn)RNyBf@cq1-` zo6zva;mc@;!O9a~=kbWILS?rVi`>c0htb7Kvvqu*P^xskTT>Il2oyF9RbqGzoyx;{ zEKMEx;$mF{ovJeC1h)%rtM4>F+jb7}4qA|6ou;HJl>|OrQWH~>lF(njXGKgraQ_Ye zhG`fYwluK$ysho@h1hWsi5jwc@gm=^FUhl*MmE6Dv*qay^n0vEsF2i>-4)KM!j;+R zk*svHI?3({<~ho^Yy2TGXqC@cVE5C$wNdq{{?*l8nl~Jv*>6Qp3{qb=Uh(bDICuE@ z#3@r&d0v=T)R0Ixlc+-XZI~64wUsF8p;SHO=+QdQQqpH)CkWnUn+sUFrahQ_Cvx7{ zE7m@lvH+9e(Pw=b3@Sy7Fgec~BN&H>$@3@YuRk_@%XCma61g}k$$Uyng`ZRz-!s?O zQ^?sb_e|g$H#w!m<=mQ$txZVJnLiw;#qXY{K7mTcf}bLeCD7N@dyLBb`yn_$B``_j z7$Vkn8d>n65VF{`S5yT7;iNo=HYAEK8V)Hq13C{pCs2dKp=+NXf_uP`OXLv^5q=jC zT!$|XJ{)~yiu4Iq2};K@9Pu~$n@NYsr(0L`2-_wF$%l6bu=az;#+dNG@z>S&J{j8Ea(5fl>DgqIkE<^opXbS3p*pU}>^Lg@;f_2C zP2;=v8xtsBNSJ$UmJ%DWTBlO4TH<6bd%OnYpbNjGTdp3=#e*TQJHNp*Bkps&)a|p5C*SV^B#u@jZ@@axCUVZL)rUPccy$HuUV25$&E{8ve2?UcNI9J- z<*(`++SXvqgWc66`%+MiH8cmkdHqbig7qAkz)E*Rtfu$4t?j~uN_#C|pCuUva~>tZ zxEGF^3;bBukAC!U6J1lSk-|zw?iUozeXr!AZQjOU>~SsY%FqTi`G}0T-X6e#$OBlt zU8!HVR`coHRYoc7qqJaxf_hV9P3Nrm>$6QhlU^ca=1{#NVBbr zyUEPB>Ec#>)~`IG=6vGgDVS8hL^+X&a68^OXhwD7SWDA&29!dmIx=$A7Iy==$H0en zp7cQKx}t+ry{YRPHN>A@cDL+D++k!wtzk%Enl3$0=#lSUbz zhtd{v3{#2{Q;L(`@iga+;mcf+oiJ;JuZX2&(t4s3-i_iOdxw{0|#e%xhL8>g?26nQ7HUtFI#R2L2`nXgxewaZeU+vfsb zw7A_D$KpIeAbO{)bO~9Lvc=DX^-Tf#^9YA%{(31Rw#!x>$1hd2*`cDHs={@aNN{s? z)h}K~3msY!#w?j@8-Q%CaX%?l>)VUJsQg0{@|l*X9(p%W5koq=>0f1=Op@}E*3L&~ zcw&y8I80u;T6s>O+|=_$OI=5E*xAGxOPC*P{BJDJF*M>qsmMg&N524x*x0*MuEcp! ztyNUbTs6Oa6lieWe$XEzd_5dGR_BOEVZ!{2ePp=PXGOmtB`$+sdA!K_s8xyqY+Jp^ zeGVK{*1P zciFkvX=d)5M+SIlz36|>-H5$xuai4U?a9G*rGXmI{MmeQvKvxQ9<~EL3H8$b;uRRz z+?BH8YWoS7zl>9I&vZF00gXRV%)7!ZNJ@(^jiaXcZT{vqt*cAG;@-~0>Z4O_Y_kq( zS8U>#QV!ibJ%MtLka3T;5fJKeZ#k#UGweDD2= z#v4qzM@ky*pY#3YEzI%NkxaX_6RPHprx%TuZ+oI>p-rY)mY*Qp5x%h%Wg;_~VI`Qe zu)>|fZMNc-3=W^EWp8NGElEJ7$^D-0)Pvh7 zwMhZ|s3;LOTgi}4an>8hAo|nQ7K@_YHR4;;GRJ_za@3-nrWP0G{;`D5&*LRG2fyIV zuMJEt{^*u!07YsmoDN2MRTCM=>?mp-b9K}whfOIyIjyB8ipQkZ&-6pS$MlA>Zh#Ul zAVl_($Z_iP4Nu>;*S0*Yyokiq*fw^W(Ak;_rJY+-KuYYjbkynnB%)?Ane|?9bzU`q zPVk+(Fy78DNn-p=`F36kBeiT(K{bsO)lbdiY{Q@vLn+4ZU>Hm2;4PWmU;t1Aaxb*$rvfDcIFa4IB-vTyX$4Fs=UEa6E^+e)L5;5Co1FJutzL4 z&7jC5+>jiY(-jNMV*P{+wqQPe%T1czd`iUmQSfH>#5H8fFXQpF+Q*$2Jv7ViXFeVz z@h&C~A(N20lHQX={#+*ex|^Te%p} zD;AxNs8WFsCG2g&fp=M^#%j%y`6aQxRH^k?1$r&E#m@7TUz0v>A<CC92x2_#-AoDxKlqWwYNm0zYE+C(f92G4o#z3pgWlveP_6AqYN5f?eJS`!QbSK;Med zCEiLnY|`*8ZMbeE>Zh=VX<)3T$dBy0DLyr@Cc={g-HOA&g|{3~q125^tW^~Wa+$`& zk%5(CrtIaOa7TGsdAmnC0H50Ld;Ps_LmLxP$8tz!_R8G-W7p<774sRZ%};CbP;uE; z-AZ4s49W<-wnw^r_DTXAh2Iuud+YfcH3ugnn1}wS5a<8!_ZI!sTW45zr62LtYnaML zrTAh3&w#H{yx5y`qO-KHuS#_3i&Scxp4~$wA+vCRys`Q<2)cDcv6uu?7I!b+C110D zJ)C8DyT)&eu>=R$dOeer_Y;Xc+*FP@t5cmWM2q5H>nz`Jvz{y6my~OoKW*-V1JPZy zArgKkJ*&8G``Rj$9{o5UYkQvP5T>|ipGQo<(r%P))nGO^ zG=5!u0mm^V_MIZo+;ZA?sad|kPxYf$dI{Phu+cE~5M;>P1d2CRH(Dl4!P1h`&{>`Z z+A~{uVP>Vuu39qE(%6)g5z>`Y{pH#=b`$KtL+eO~-3h>Y`vR0+IR>z#y8AoYC5^=^ zMjQG*mX}v}5jz7@+BB}F3}S{()CX7!w>Bj^1xlr7X^*9l_m=`hb`9Y2C_>>tUxDR43-op=xZY^dum0JM zNt3$w1A!ERtDkRFPzu}*D3Q|#jW;G?oXmqgS#V(4ybnT>rEZQKGH!HKnVw9W<7n01 z9&60Dt>RttNWW|%e;<2XeCzP_(SA#W^j^9D;x?3U$|NdHF zv1@ff27E+p{_s|62E6{EtAV`tKs`EY0P-LNf7Nk*OLMxDdJU#^ZeZ+ZD%%Sxb(FGC z)X9E8CW~UAo&7jObMRIVamr7@c1G_p1y6r&GD(t8wG-aR+)qBtHlseZi#+lCxYx9> zd9}pTAT3)kYUhqpamq^{{>fH4OyQG2v(gLjFX`Y9j zY;sbS9aby1Ca^9{N&W5>AqzNQm5l|ykPGs?F%Fr7G|}A>8(#%WQHy(T(uLBINm9WA zHoI@t3mihIx}f*9G-=~wLiaY=rSFKmAiHsegXKc7(gdUp((&{f6h~ zomQ#Hu7{F>dk}mtY=aQ=XTBg%iE%&8C~SI~B}b1LX@p`}OL}5vXo9o1Qp!mx;i28Y zxcZgRU4a)J5%2in6d=e>Oi zLl`k|ec~O&oJtyewc5Una631Su=A@A>Tx01u+jp*|AU?Pj%xDz_6CC>AV}{ZL@5H& z6e&_8DosR0r3;ZJO+chY35n7|5fD%i5RfLF2mvBBbfin~C7~!y5=w{=lF9eZd+*Gh z-+gDztTlhkyVm_<|MRRoPxjttm(Mw{1?R#jh~I^~d$6PJ`IMjO_iIr~I#0Q@h{=678=s15uuhxuUq z7}Cv81D1TR=WyzsGl*gQunFRHm(KwHfp1Tp%r8e_DI+jZ&S6eWq0A`!Qj`MJe%XxM z)~jJEq1*}OQEOC_rRpvDy`k1o{LLiZRC~M7`YM9qOFzdy$0Z+Oi?cng95Y^6vrcg2 zYXqV;jw3o-6W^W0cG$`IXY%Oo#AU!B`;>$2WlMwJ3kRx-HK1Sf@I7COQQ<8wiUWw8 zMzbNEO(hZXZQtf)1yRtSXEdww-W(89B#h-OLX?d4c5rM_dDy%we1=@iuP!1{}@*})>q0=dQXe}_PHreoV%gCA5f}NSH`Cql(w2Z7pvwC1G z6;M|=6|F1h)u52`mcrtNbtd`d+D~gj!mXp;E_1=)Sw zNpW_Kk-X*)9{k(x^}Y@P)HO^6a49crzTTO)jBz70-na2lbm8h@Yf=v)+!+|S$#N+{ z*G%vX=BqHp7qq+zpBXiq38%1>FL5az)HdN0y9RYdokT}2y+tZitW-B5*oB0~Tx;9T zGhbe%Uu>4I^sw+av=r8DI4$;RQL-U{h*18CSNH&j0qT>63)rg@?a~J z2es@63I0&p_qmq3YGfFkH@uQg1^6VMT_D|BY3rbz>jA#$bBIba5#zK6o#^_B+shXX zoS4ns(?YY&!H&e-ksTY_{>!2s_kNO9tQVTvC2KHyeLnhTX?-ydT*Lbe2E%N4#U;5y zvrVReyfBgSeP5EH^Lb^15d+NZ%iVWE5ygwnXV&jrED4>jb5a3F zOuB6_=y3}hy0d?Gri}O)RK+lfCu`JAAv19=XZoE|07pQ$zqtvKJn`ZR(0O<1;CO`h4=#)XnrNbhyo!6_{_3mSWchId8(c zgxXH!ykVnVH;qi})-h@8Clsno{Ul2lLfj0#MHxA4zDmbsWw?dzUJsY-l#RcdTZOtP zqh(NwY{M}8jxDmR$4pi7IzPXppwLsgj0h6Lrs#&D6D(K%B9AH#TN<`joizz@RmUk* z0OJs;VXZ~M{k0QH8Q!i`mLKL{CsqILDSY=^J^?xBNv4J4a4*=o4RnKVoUY_X1MjiH z$0A!~L`{9c_YA$)+k^#&_o4|FcWq^!UbPz#`fG%o$oRXBGsd~3-TF|U>`22dpRWG1 zZTjW2xtK)cX#g_Eg>8Q~NW<_k3`W_?to((@>4h``PD0u7Q4zLVB3x6U5<3Tb5TVZ!ymm1gmW0^zd_B27WT$ii3PMg15g1rAC{*2?|(G3Iz{O6Z)I!M z6Qp_~-*2X6l-sVh>)iSyXEiRKBx!;{N#=2Ypq}^Ms;jZ%ZeKWp(UDwpp-OcVjz0qq z##Sb4O|m=>Ee+widuszJcY}GthKyTVMc-7&n0J;o9l8e2QO>4qZN6BqPcYPOcEt0# z3a6Q+7p?^?X=l!Cet3jwkKdHZYo=cb`!BkIImG{ojiQ)uZrx)W%c8+lfa%!OGDjM!yT7Q%ZP_=vMSMhM8nw2ubH%~BEBk(bNMy3)aA@gu@TgLvHb)`(K3*4vZ4Md< zWaH^nyS~v7S$17~er{02P~N5FJiWx#9~a-@^`Tp|91Q+vNALFs4>0Lk3l*?(c=TDe zvmOSHDnay&2J&VE)!5F?mZ(5E`0+!|pKv8kFOT~&!#t0YUpMaZ4)*k&yA+TiSp!aVrULTJ3*pP% zCsaV<)RcU8<%01{eMArf-p5D6vO?E3P{v`XU4>z!r~{rA;q5R z-1ZAk?w-&b(LnJ}&p+M2hpNAq=rG=x*d-KWIJ}TV-+f#Zd9ZVT)xq9wPEs*>fb%lh zC_cRQ@df8g2CrF8X>bXlL>Yh|+*Lu61()E2V-U8V3P1r*x#Q(%(LsHQ3~Q8wB&JLv zs>^OYOmq{hJ<_-!2tSX?;M1wSaK~A3^O2eTp?Uq^iW4r%7`#qtXO55zWPv=wp`#Uc z6za^%x316F>U@oPZY<`E<7zSJV8$_A|MpKq8Z3pR+usJn-vc9B1WB&TKvt8I=JB7Q zm9HvOS>sMJ-(KmFAARnuIcDZH$1c?r3zY8CJmj(#T#2WWje6H}C{nK|0o}^*m)h8O!tv`Qt zS_XPi0VaXYY!Bx%E`ZA;hc$!$jrn!DJB;bnKV%+qrK zY}5-goh{2RV*zuaBKOfK6gq5jbW}Bp+3}s>1(`2r_08Lh|GCM-lHFq9?XPQ}SP{RC z{BEw#C-Lv?YyUq)gX|Y99q5s!dv7-Qh!7 zrIT>R@E32=$`eLchWPn$V6E9s?+Rv?b$Pd=!mgbnMG%PiiVs2*c!}Mh^fra?XIeK; z;6}T%)IV5+<=bsO6zpv~qilFD^aP8XPQil1$-undn!e#Gjo#NgD3{{8QjLTylLFoM ztBJ-o1IYu|<43Q*0B8f~K--4+uPa6b{cwncK7Whqq%(o>due6S!Lwc3}i{uR-tNtvWeqSPm7L_zr5w6xS3=pud~amNB-;(;Hg&JLBtC zCW=0FpFz#b!%v{E6`2_+@yH?rwrl9&OT7gZUD$8)J zj%rz6XZOnJWo;A+n)a41b-d)@JHA#<8K#^kaCC=C;G~WaHCs6%?rOe88^;~F>T2&n zpM+I4S{Y1aHa;75)E84OP=>OZNrpHu-dm9q@h9-?H8^_m`e2q?|{jH1FUq^Jc2=;+s6) zJ6teu@vbsl^@(Y!ZoA8^xjS?HX5(oQtr+_NXAeYjLxy|yyew@MhVqUp({Y(|B3r$< zlRHnJJh?62dsT4F#Yy=~wtk3V2ZkiQ+lGmNbL~Lwu!#Wo2F7M*71W%WlWUk(aFWo4 zf-97VVU-JBrRIn7=@tp@$9tKAI*&N*p7H_m>In&8y#bPN4+3{U4Rs` zHF%CbS=W%{j~BrqI}@iRmZ^YuWDeYJtk~sA@?)B|yX&~gx0`F5CZ0z;OqZyx&wg0< z&Lzo&c_3us=EB~a7rHlKW5-k5x%iY7Mnu5|SWsJlU^~`M6z(d6AbXT>b6(zRq4z~( zeRg{5Gj4n}_;mOH!uI(*u#s$ja*3=)C~6yI#S%-fqKdn1FyTEoN+p&3o9!#}8o!nE z=i0T{jfaf2_bplkDVYbiUU z=bCY2{0agPzkFdAahw)?m^d4URS);B<(Or{4yMH)gj%SgR&s>QLO7zA)dag!`~Cgb z7P|jjwz7&`v0w{-Uwb%=04--?=%JTfE9^XS*bZ1ld^tC&e;>cQ_Nq*Dupse5;yHT~ zi>=JC;7MLHPbZkZNgB7{+x|K=KX=A{iNtT2qnFj;JGzj+_o-X&PmV0p#aNBoSwMQy zZDIr|jxgK-X2(1WL2{Gg%t%Ffkd`e&0;SP0RH637UDMbmemaZ!Bir`F*}TEejjz&w zINJz-fZ8EAjIaZQeWhnn{-+9uFlI*)!7g$kgAEdk&&v}IWPD1{Q5njNCWQ#+E=H+xQ+ zX+vom-8PGk&=x5FT7}(>(G~fgO;)xe^>;gW9w~o`VM^yM^S=?R{8G*5QN3}`#War` zyjf1ztXao`Rl6Tl13yRdx2=!e+iQo|LRPb-V9n)e!GP7eM<#A zYZj+;v@VKP0(#8_op?7$64QRY@QR{`gmG^aT75Mhg~M=70;1SIL4ME z5VwlgBj3uc(WSX=)*mMmz&BLDW%@w6Pr=Ai)m_A_QmnQ~zL#)RrblooNDgW1BDZg?heAl7&!r<6r z9Mb)3PSzZ}WX-bQ!tmk!sT9*!Hu|u4e~-W@ey|YSyzoAG$6kSlw;{k(u z0b5(svGlyZ`92$S-F%}Z6WU1EIxE)=y9(7KT+Tg_g+lNS^*HmD5G6X#S=Gucq%w!v zZxxE2@%rQ3 z-oaouQPCWQ44>i9=My!ypDg=5hqL75N<5Lf_9~TiqZ><>JL?d`9sQGw)+9M%0HLKa zTboo-+>(?3WS*4+5^o`5do%t_5Hl z0D$pzSczPzvCvG|(V{Tr8Zrr6WEsg_t{~+k0P$vK(+EEzZ3ENb#<2iL%Rij|D?>2-*hoiYaM^xUKT$mt>=UmQvq$}AV&~M1|CNd z{;kOenG24D9e5`(Q8LVDr{Rp8IQzq=AAPs=@Kgy;08ZK<{>D>spc?~ z%x>WqOIDhVw!|*gkL~a?O)9YmKQTq`{xG>F|4J%GLo#Efe%cR%LXvsuu^c-(Cu$oQ zz9!X`;qySIMQeq_g^9@`2H-RmaPifp#`#t~Nt;U(1hm*ERnp1HL(d{&6s-mdg}2=Y zd5E$vI^yS67}3}Yxpsj^w+LSweRBuBoz-$VpQ_sp%5hfAcW%CT9D8a;qE!nFo~Iuv zSE1%P-7rZK8-D3AL27<|eRJdBgMQP8&owD`J|$Q>_g^pLm;O9eP1Zlnf}SJzE|>qa z7iox9ptr>H4VJ4tguv`ng#E(!4Pq}b(^+ukzbkzMnEt+@{}cEDQ#-XSQb_3q*8;bZ zNU}L8jeuDR-u{c*<-47`HLKnU5}x0jg+(I!`A@kIbHP_+70CGCTgo5I;0%#!u#PPdluA5z{`(cfT7^gLl*QQtmY{%6C}btz2S9~&yt z<-pa#`SqTr{ayNjxWZkna9Y5Kjv)Nv`Mhde+kn z`&vqEk<>z`TJfGy71Q&q+_j{t&Fzqp7rKV0B`pf1U?PF0<$lL^Hdm81Ei}Z)Z*n zoFgi(45F_v)lMs^@qOSJ6<&EaYx_H0L2QMnn(NNH!l$Yvz7ut*?&&9OF(?SX(k8}- zSB&0!HSGFj+ign(MccPfigSZ+jr+T>Z&4*g~p<(3HxO7*yi)^P#n3 z6Blk6WmiKHpE#6z=vvj(Sa-){BM+nYv$>z~V+0j&osU_dpCV2MoYL&z8ImNW^d?{~ zafS-$uoTEaeXSDcre9$s#qceb`4`&`>*m5$h~g9XqTK%|=0lp+FIlsVJ_k@*7bzV% zOiC@R8#(ME*t9SwJY!-Af1w+8TIJKzu}k$a=z^A8GPl|&&)>hC|D5eLdRQSm*7;gz zF{{{4FT@efIyXNz6lPQuGhUW2yIk^6k132zfPTMdg$n3gVyBE!0eH({lJs!gfirsv z)>o7y-F;l~C7o|{eRRtJm1HsX{$*m+qwM9WA8`BwDu87Rh`*m@(gv<1WTimCeL^8^Tu7hse&u&Q=y9gPm?o8c4eNhgr(u#Q^n^~*r<^z9y_{fs4hFRRIR~AcbrJv-YtA?_ zN@;`hXtO~AIDio44aA(bLTS%?LJ~P>&s*tyhn#qTR?n+^hGduJ-<9=@C+*~wL zmG$wJhq76I>yfjK!K=j&=m2!Lp9Te(>l^*YrEG{gnb(=fO!IAC6QcJxl&xZ3H?g#x z3h>2K>d)UYKG4y#2)idB0evo%Y_zA|y-hFS9e9*+C0|-#;0@(I72rVyynzc*0gjls zM`MJoHLtA!yOE_-l%vyMJ6w+CAUZnM+5ntQvRtn;Y z@~?}rq+lGFEFy4n6|!#~QlU84v&b4hWLg)83U^GRDz?4|&_;e(Z*Gu`y zO=gK*JwTKYU5}jj)r(2*tmYlK@vxL-Ae)VQ1AkhPdxLH!XV_?W`;0lS8y(h%Ln|Fog-zcTHE<~Xp1@hvxCgNxF5WJeCr4ByzD(e&VJ zIxhNo5mbTwi@SUc1}dw__%m-hywh{67(0?^=7NzfB2pq(2?G0vxma-0NG z0i(AMhsl>NQ30zNr}}wuZ~xMsu_I0!sDO=2$G<3?@2P-2Qy~5~d=5!T23Eqc=QyYU z$*D~R-X|RWNKyc3XNn3i=9mKEBM?+TvO5)kxJ_ArAG|;HrvjLb;D0Y;%-!>rVfOHj zTq?i^b8G~wrvf4*LF5!evL=wYMFkWfwsJ_fZc_ohs>gBq0`z-Z|H>QaUj#so+sb?g zrh)&jtd0B^{KN7_XyK~iUwKRX7XiEu`C}EC)~5c2H!2x4feHPn}&)#||C5NRS} zZ(?7EZt!)D%o%XrE;WVzErGYS=2SN)#z>6i6DUQm<1Z%IZNblPdb|1#v8sFpu&@`V zy?i_5XaD${b!_ax^6cKdv>O#O#7I8AkK39bKdbZa_2@LWpA%12V^5Y9I$!WY??Ra7 zcx~T<|LX4QzY&;$R`}{;mKz(?x9wNF4cm3kkPHbTE9lq*p~)#b-3!&}DyA&U-N~oP z>!+7Ku_6_X<~x&GCj6RmZ&XkLq|0e!eup{YUPGcW0p7M01Ez1f9V~JCE0AaUZiaNU zH1nuxVI(=}mUN?ava#)aH*(ETqBt<&RzhniQlIxB;QyFV^*^X-_ueTI#^VJ8iSbsG za`At5yA;%Cy5l)weN6wj z&fBy+vXhbE#8V^obpMXaM|P{qQ9YrJ_nxoi>GYqG%(`EL5(8Yv0~G8`Cu@#^V|>aL zlh^qJoGNpFe(d{p@f}`|v8JSE37p@_OGwI!_UK-yB>B#)ExVB@!ChiN(pm_X3IIOw`W=w< zcI+&;fXzM<=?EK-sr zONhINCc#hCW<7#4;E@XQAa{{0*f0HXtK>VQ5=LZ=3jz;SMpfPd1m3!SpaO z1(b@?Gd?_Q08doHZ)2*o(m~Fki03`>i>xCtR6whs*I3yA+$q2vLwoGm*Vn(?EXZlV z401$-J7j?~ttj%%Hq&)9+pQM-SFg^n{Y4g-!Wq)ypC^Y9R1G}cvto%+iuAEHTKg$& zck=gOD%-k3>1)l^qM1~zlbil4j@w}`OhctkG$?aa058Vfm&-;3Ig{T*1+bD8)s0KM zVA_)bJL=n2GQE2hPm@DpBoEk=4Bz-)To!o7w0sl>yGnLFeXlD-S(+u55JYgmNV3Hj zNZnFL5WgDiQgcnMCb6p0MBz_9udH|%G2Gc%t{fZu_hktagVhkYS|Aao3>(YAKN@~h zQ4T5VSyUmA#neY6$10ojOC3CeQy)mJsw;n2KR@(do_X)P;3MIxZn+}_g~e(aInzO0 zJx#9}7PGU1z9Oi-C4^WC-$7#-w*M&lKrI8->l0*^yu-8w)P57Uljco%UO3L;bP7W0 zPuSpX5-mKiE-+`HZ*&9HL77n01?DxR0(d||qH10)=f6PpHO0LSXmxBTphfQduEC$g%q z3dZsq1?q%9@ZYN-enr*q$F-M^^42Q}qdNJTQ||!StUi|tSg+Ox7AqgIWDlk>R>;B02fk931p?GZ2>0f4XlkG)FIE_JcUITobDweZQApWNU(<*~ zkyHsS!I_eM@hQYyyj43UnhIbe1M?h64c=GT9^EB0p^1~JQ%Reh_b5SGzWZex_tiK) z#C+KO(bk^z?)0)( zb;m=s$fOoV1@KX<_(oR2Z1Cmk7I{+IG8?G-0aWRq){S+7G@?m0ke34b;N{m}TA6yM z%7zMfww-zdQ!^$x5ZRQ@e%6{`xI+aHz{|m1yR&i+(>fYB5?VybAVPOcZWnQhOZ3W# ze!}taU9-!J%-d1|tiKl1P5L#j&TrnZ81^qA^N?2cet-JaBBJBCYW7C)t)ZEU)xJhrt>^iISAdYFW|EnNHrGv&(-9GHq1_OdfOTNH|zIOwUql|h~7d$l8+wISE z6LG#X*9}r0IR?x<*A=t5b;Q3;w1d256MGeDY1n&G-Pr~Tsnt}l!%265qJ_IA<4Ryd z54Rrn;yAWXZ)uQao&EWm*N$c?6)P2mx?8Kiy?s}ZqVm4-w9!0aFM&S&B{u8h?kuCfl(JvCYjbV|-){z1jPj&iw-4^S6Q|2YAk09W~rPD}61F zqDnXlZxMmG+x*T!9X5A=Tw%K+w=3jPr^|;<*4pw|X%L@$BpmJLUU}Iv{d1Fhn)21f zCrR81966~se3m?pj#{QH(9h&v0UtuZHo6k{p{(LhO(}3MzMizk;Iw9X?;%FN&u(Xs z7WQmO2X@y*^EU{eI4jCZ%k0?lx!xBP%Z&k&dKfFL`ue7VF47?1&Hw#I%p^t;zFfM5 zH#3U>3S*Wlm#R^u%=Q#d=@s34oQaaq*~vpz*U8+mrW<=U`SOpxB=$k_pE@yHBM0oH zFOD{X%!~i=*nVQ=X@M>sE$ZXJ9XckhufL`d3~|BTI@jB0MgJiD{6f7-HqIP9u1hw_ zf61?>O*qZ$<0>t<2UPsEx>E^SuEU67JQ8Qt;c-hWH9Gdf*%Hxrj~Eivhh!vYU)@j zTp1dY4U~CK?&+GY+jkHQHqs^l*^-NX=bWc3v|J*wI_E=}h~`cB3-B{dq9@mT3H7QR zJRAF)uNU)`7d+)u9%@^0A!mPO-xyfG39Uc-qZ^lNg1B`2S08qJ3xl^)iWlw)Ytjr5 zHN%FcqADO}Skc3-31YfJSL(-N$X8>_)1o`|23+EQAIiH~SrgOYGsb9NT4XmrM(KG{{HaDHET6@<^aw2!he zvg_1t<#H{-gu-G%K=cGRxMWLCXmjB-c4~C^jj~-QR9%}WgCp|VwSQyJeX!S5vffd= zuc5l_D#+|~#dw_Lg!DP({)_4#s7lUdF7}o7y5YUapUFHzCVEXzvp)XrS3B?hcT@jPIdSSk#$ZBRDJm%u(9rprG(u2 z@kyW{n3Qik9xxn(u1o4WntinK6PeNb@|!W|TSe)NB`Bk{v*6x0%yJS%g_a*FtYB=Y zKpV;d-hPgt);nhwYbn`VurMpKrJpuw_Y8cgcg;1{aZ_%z%k_Kkt^54zCh4|B^y4w# z)dOFGSJARiD?YU+njPjArWmr}<##I&vDK)t*g{ zukDHYLSRbNwj!J%&e;+4=M!CB`Ep{BymMW?BJycyJ4N1#ZyB6bdU8UHtrf&B=x!ct zWQjpnmog}(MF7SG=m_^?(Qlx)OFc5SVX~tYrpflx^UA|F5Xur!A3x>xeA=c0g8iQ! zTg!$d-)FzOwYno&vsKpIFuQPPSd#R1Wtav%&SSjf3`V5zZk@-y6HSI(isngE_rX&pghXSGJ#|ZD5$7p*c9rc2^$x4&Dt>3Dx(*v0a&a zgc{M`Rzr&vGP|H(NnMgi6}Pvy6NIGS=ipn{v9@5+YXN)r2SM9@f$5)<^|>1XZ05d2Ad z23u5f2v&(L-oW1S+)jQodbC!{zqqq5S9cJuvOe2)TRT~$@#)(Y%NWy;#8wWHtO4pY zx6&5sgkM942kf%A!^Fo`Ik@F{W@o{sUpBqGikoZm|E8#Zi`wj3d9S6C;KM09UD({X za@4cLMCrH8W~iPFh%2fi#jKcsSUjpc>io3*Hm#8Iz1n>PZyycBFJuL)tz;D>du0=p zc7*U9U6`7)h={;l4%Q`Z4|SABkos{{I>U&qi62+2eypX_@5=^z3B0}>wclwVrrV%- z)3RVkZf0RYDipbi9Q(1=<~se^O1VR?KgoVB?+?VV4LO@{OTy56Nr1A@5VqR}<{;Z) zMRMppf{n{NLinblD|}jJ_-a0}xvMf)JZsXr?No z|D2jSQuwjPybQ}O_#ANOCQCs;CHD%2MP&JRt;w8G4M=#=xM+wtrdpSg{KeI&C`tMy z`}HR`nr>IP-q)_G9zAMCx*chWes=&4cokkz`CR#-#k3}8@N0`94MU&xr%A<&kNntZ z0zzoNI&Y*rd^x$eY%bZQwK5Sau#<>giWgI=9XV(g=?dC&xU+BQ|LSSg9G}HJ?8Psn zuPrv9pw@jBeSZCe$KBey+~x@t#Hy{w=K6Zr|NF7v|Cz)>PK=eji7(CHxXLri*0zZNh1^1!H#|@h3+LPO|hf1IXT%HwDhe?W_;yj3=?*L zuQT^4kJH{^Zr3}3bUNOryQ%Rj@xv6II+-hO855yx>RK+{v1Qjay3P|PclwZm>t1o^ zSnG=i4GKMAReWJpsVCmDG74J$2LYr_kn$hurVsYorA@Wlz$7~VQ=hR>3MPy{Vl5R)x*Wxo<0#~ z;s(yqe_6I0XKpjk3C-Tzp0cbBnnkOvq5nd-&;M!Df_-O7bl!NP4Mq*ct9OaOg=&st zJ*yV=i(ko#vpR}fn>jHqWY+z)V)tv*3j4gw35C#@m81w>u7JN{n~G8RI(}$W8n=6fDIw{|bQ5mLXJ=y5HN-@6lzH-JYFAf8jE0xj}`+3}a7(qMt_ z>#yoGy}$6SuI)xrj)w?q=&Gxf>B$9kG8s9NC688YZZ>DT( zaCCsrlEykScFA0<#HG{9ngu(1e9t?$yAt1%t=Ei&&Txh7T-Q8n&#TkZ2Fcxhn@$UX zVvpaI(C2o&PD_CM?y{0-MY0Y7WIEa8zY=PQtxP&m*URlK^2lgD?!a+ywR}t6Zm^xZ z_jUbn{p0hdY37vSScpkD@23+q5l-`$yHI`--HDnf6~H2JXS~S`%NBgko_!C<2UaVT z*yxo^?r@2SwEhxn>=I!8(I{ykBK_R!-+@ZgR?ENI2Oo9lYT%dJFii81Mr_cVV~&W~ zvHJ;HS(=@HbAG4(5`6M^Y&kpX)yqD~_Zi=T@$f3E9sN8q!)ZKdIY*2K|0@A%pX=GM z)M;YskK<{>X|0aP2Xy$A>hsmkY13-uy4Yns`7+PasvmVJeH-1sN=nHl1aJ=(@Mek% z;HCnwZe+Kb#&Nh0GxQpE`p@A>V-S8QNjpZ_Q1nArvc^Z(cdx9@iFd3$xBjV(1CKAA zfwjXK-SA=v{3K{5q-_@b=6RD-wp2pz{NkRP1x59CAV3LLD zf*TP`f;x^Ll)wP`m(v0X+`chpm$DB>k2+)bsesNYuI^EJBr(vj{tjG|V^54-t)t9X0utjPqE;Ui4e*k}SlJKGEX> zHR&VsX=3}%0(XFQ$enO}4%Rmw>ir6P>P+D>I|IG`ZCu;1*i-FTYH+YJSFEUbqbyh@ z(!0WvwXu5SWBg>7<@Klt;7=uCnq#ZM7|CwBTH{U5_>{J^+2O86J3+FWgx@ z`sixYFAS0VH$Gf>!_vmA!DYZ_Pq)Eu8RO{2%eA|Q)f4u4x%1|#vaw{&%a@*aWlH|z zOku-Rv518DWg>lCcWiNwL(f$1OMNWZI4c`_3C5(tyoeIkqS7ifL-&* z5fo_!F)M0oV2PtU*vy9$hk^q~4+pR8TIa^+B}=_Cc%16`?Add+x98xf7dmI5yC*a! zZqw8Toq)IaGjNd1PRcogPS*Dt^<(|EJzvN3cgykI^dINv>}^EY!mQ8IPxpE`mNBX1)G!;l&Xq1?AOypaCLDgLW(kk9sJY6WUA!N3u@oW@{bn@1)*XjfHf2i1}an=wh*aRqiuS93D(zmGV6?*>Dg<<2gFwZ_&(yaus20uYPw@ z_0z#OMa3GWow;ziPg$drA_h@6Dj7_PB?}Sef4Ov84|AqFh^%-jVB6al9_)>Tq;$1N zPUKrF*4jI*)*FTUaOrXWb-LAhZ7n@o$cgXPE~JRaPtsWNW%tOqUxFWNn+g(EOmocJ z7|GJ$E0-^~bVZ>fr`UvVrK!ujHJVMkUi{bf#mq0&tA~CMv$>>zQm(KH#kk|DS1xjo zI*M^hgX@1Nz9st~bI1ZIZMJB{?1Hmz6kQ9h!{9AgwUBRMilic72Nl3&4-x4|i~r(*8(P<@@b5gv*%yAO zQ?uj>>$3da%b99u;7tELu2=SYh}6_}625M~gWEkBs)ctPDQJj2*`_y&^iGD=&?4MgdXyie2<5y1`NoBteL!lc}T7cY(;#s@_-+ zbH%UaZ)iTtl^R_243735D&oD~l(<}Bhhn!M8I8_qA1+qCUK^C>4=?6KP&Q3 zW6q|^N=o;`dH#YJl?oLq)p#Tyg_zAAu%@CjLguhAZU zlA11e-R!=^y{zbF>8t7%6l2yGJ$s>CG4WI2FiBxC2fGxe3^i#Wxm6^d8T1PEa1Cf^ zV%+;>SB)pn?sUc3?F_tlrG~cLdTE`SedeAVYme3u_@5EYC8=Q4ZWo8p@5LK<=xk6N zR*7?CmUBYo^xl$omAzftJcnMw&ap|~ ztBdV79o@m9YS8Z-FGi^{N4NBSp*yI^5U#rP?+2NcA)QO-nv_<|L`c4!4H!g?w^^qy zdos?R^y=k5#2~^)piRUaQ=45hOn@t-!i?i9kKHYePAUp&WN~8?)MkQWOS% zANU5uxKrtfFKSDSf{DfM+Mx&+VjQt^*1Vf)KD%x&&wQCB?n=huNNGCNDM!|uMNi2feL*^7WDB}SUm-32-yY)r)m)Tzfl ze)aQ*!<|bT#2N)w%N7!dVCikJ)uovb?m6{34WU$dkQuLX z?fX0#cJe!yxX7|WyMr{5w9P(Oz`g*&d@B% zx2FOsqxgOslzS^?Pyyg1av#~^6s0Xk@LIm3E6_li!PXL<)%v;?LgH-4w6B#9hnCpt zD;AH6h)?>xLQlyRJLyT!(AP{knbfE5ft7a6Na8u$i8v}CkqW34-QD3@Sz;c>ie5Kv zo}|Gbo^LJkzS!FFK-oh&wjMg@^t1ZUt5?45yRzrMW;j&>PcLB~!(>A}U_g?Es)itH zppLn*cdP#9tp6Xmk#hNqquaT4wNY|jUIAQPyhdCS53cgvTn1>d{O(-WCisQb(j>SO zQ+PXdDg_wCTU4h9B`+1S7P^lT;SJ8KZP*2HO02k;#19IXs#6`n7nWiqHfL97b7X*nBN zTJXH#UAK)wU5UoyA^KHy0RAS@S9U-a>!=H>n+x&GG|RVY5I1kUfgxR)>K^7KUpoDy zEn7*F=oAoE9m-$HVYe3PXEG4r4;C0HND9+CD;ZyvG>!LaYte>{y`}=XbLKK}JrSzD zoRkrm7+$@7ee57qd<+YWszhFHYR(=}tW-q)`BL|}U@%)kN^C0A0*uy zM6|0W>G%=MI$tBhp&GbBP$x`CoycVxnrAyRA2Vip-A61y!m|`5<8t=R-yrcI3>OvP zXvV2`a)*?Ub8AP&+9r00`u9v)PPWL_gtE`sjvab$n2uU0Q&ulMr5n%lkGHLcYFD zhQ)XGo64?fSxP1qU1aX&GQY``92$;Ax3a3HV=O!saC`Ev$R^b?PqeLc=P=*z+g1%B^($58EU4?(&+j;X_PNO8;9tUO1N60vR`z(9#d7^F z`)BS)5gDeBKhN8mI9N!g%%H%;w6xCauuhn`FP~wdK91fK<7KK+U(2*(jDEIf_s4t4 z?8%hXiTM7>b&@ot%^ZFuY?l~RKS=?2IxtRTuvnS$#I*m{?Koa{Dm8dFWdQW_|7rNy{{v$1VR${JJCKdoFB-Xd{zUmT za3~QaolD+0Fn=LLbU6TJ0iT)O{yX+NZ~6Lm?{B!~|M;zbtJ_S&x(>%Lv%I)B z!~eYX``r_`o@-w_PL&n1JhCyZXq!pwTWco zPcm!KNjuZ*C(KAY@eV_-gdzjKb<@q-xw4U>ya_Q~cxhXrn`9)s?QE! zhP9N|B{UymXAD1OJ>`Ay2;0BF^H4Li`}0)ZPS~eWqxD5DU90(4wq|F~{oMpO{^1fY zRO7UmY>aPg2Qk(rM$ejjvs%645{gGC}eN8t$ED&!7ntjw} zOiQJ=2$Px1#=jCDRX=}v_4|pR=(j#Ct1>c=5DgNnlAWl4 zs>`$z{^sb`Ld8c%JgH$Qpt;K|`y7Gods@^)RN z12ViG=Mi;6h^nVe0Xeh%4+)HKgRwhqt&5uYT=0%BhiAtTKL5fw&i92MF3|sP&75ag z6W_M*kzS=rQzU{^=~a5~B@&u+0|X2$e|n2_1VUFSf`TFe5ioR+7U>Gody(FIKp;qa zqvzc7oO?VU&i!zo_s)|{S$nVj+q2eQduHXC$qNuNgOd{3=+bjZKDh*BaLwU~Z)2|< zkC(S72rxGPG~}^YRci1NFTgtTK(OczB5c|#0Nfu0j2RaVh`gjgF0uTO)&UHiQ`St) zq|%u8eRqwrzb|kt%HjP%|A~Pe?nLh6*N1i)M@C}q8L^zx6%yRSK5V zdKk*`tqr~b`N;(LyT!+zufw_QudVgSBapa@Rb;w?^J2^nSILIJGb|8_%XjJsdqy*uJJ{p+DDyJbAGcYDOLA#Ge7QCX?? zyi~%uV1|4ne$P%4k0PLJ`&1~pgXI?nQmUwtOe?*ZhAh|t7XCc*{ z7ZJ=snz%eSYC8Kc1>eNu&f!@W?#?KJBjBAXa5BSUKZ=nKYAd>*-sH<3w^P8=pS7q3 zzO^k!m3n%AlXbMYkY!~ebUQ8C}aublUE1qqx3WpRM(#kO3t4-ub%A6i1*S@P;?^!Bs$`;gjlR>ZuPkr+R*i_dCA0U;wmuJ=?~Mj z(+I6TZ!Ad{;KL4*<%{Z)wM*fLddCF?kSB|5vc0+Kp)Fg1QaR@b844UwA}~g!V9A<} zZ!bt(hiLvu*4X~4q=gc*d{wud_LrTztTL2{K%OzWmufWKEf^D3%z8FrJJQW4l63Vd zlDp51uC=hO2&kP?zC9=CAk3y|SXk(E;Z;5OPzC5{yf5$_L z?Gy~Rf(iRPA~_q@5HHDO!_zg*P@C9yt*zOhG39T&GGu()vd20KY*QL~M?^5HGnmXW-)H>3J!i?ARF99=|-D$%1(}j^$^bF)@EKjk%{RxG1&S{NsfRW^S_v?}`SN>G+^ZOKL z=L0Pr7dy=pSZhRuGk@7xXkgRPLnJ^pdc4osPIvcXZ}bDtk(!*(w4=K~mU8I)p3Df3 zkKv}M4;{W*YI;w9j7rYq~=c3b~wd?GvHAw`tTqQ$H63Eo^0JvJrzzAWj5L3mze* zf}-#c&qu4vCk`-2E5@vxOY_b@T2$6TJfLAYed43<7h4H2iUMcE0`Pfb4Yxg(PGK*uKOta`e!n2O4Um zVo>|opJ~$HWcL=%!Vpo=Wm#7RSqC7< zi*Kq!!JO#%3#Aj}H}9U74&du-E`#$5%C3h$9>J+0y6DF33Tc8de_v~>z79o_x6}Vz zbE$kK(lhkza>Mr5uvE*-;E;Z~=pHA|=qQCF_qzJ25lvubs`1QY-8je^jfp@wv`hE5 zW>9TT=N0W~=(7OM$)8s?uu2C!*Qu(UDrLsif7X=VXTbTcX<#2c*tN#t9|Bi48lhO| zIJ>&(?Sk#URMG5M5Xs#Zv2$Og`Ff4+=MF#p z?r5Bf;*aIat310$+km;vtWXS7$hC%I*+UAX`GOq5IbB0!6`M|Wp#H$>UqDUFT26%7 zn6}QyCV3RJfs~N##R+gTR$p`G!7dgoqVh5OdUND8)nm<)pm@f}|1Yza;GYR6j zJobZW<=6hku*ZN)^SJIGi!gF)@Y(#yv}?Rttz?zf?(po91P5Qo;478!Y*HEGW9)*m zAld#)|~Xx<-YGw#RgR)9FY(bq4Kuo7V%X6R-ZQ1qu*6BYj3)}2)>|Pg z69IwG?mNr7TYNf?_blPYLdWfjmn%1W-PVh&=kW%HX;ZS{q>$`SSPqSK*Q!C_YCp=3 zvl0?YM}xJg>2C*KCRZ7TD z70nShV`_Z?sFEX$jQuSG%z7_X3qlD(xa5#_Q>1)$IGut(5|dlk*-^41<@IvzD|1Lv z)31oabXpgQtofEmDrC%f=C=XRf0vp$B!2Cer6LHZcOI}<%TZ`^TdbK|V}*1KR04Zh zMzNXOlRVl_uCU4ECXW}!lkg-UezKn&J#tp1`cCvN7zuo+0DK3~%Viby;nTikj z?BFDg<}6>mU^4z}a*ZDHE7C>(7B{}@X-SY8>Ukq>#SsOa{xdx%b~}60z`crhEDc7J zbF$if6ot!T5|9a72BCb1^!o#`G75)yZ~qKg2J=SNM?_0*G`5-W}Y+aV93o*D#=-Uzg^qaS|8PS(&_!) zaWI|8)7{yDnf>@6;;;hE>pd|(S)HI;mw$aYuqNniMZO$bW1mAL#_-ye?dv)C9P*Txb2YFIiephrH)3|L>G~xcFM;V0C_1uuBQsL5!wWT}})0*0ND%NFs9PRyQ z2L()DP+dXE0Dqp1@t-0p4uf!!zp2E)xwSDjv@Gb91NX!dI+$__bd|6@_?jn8QcPX2`$@aPEKd_URRH`IHSL~cv^Gm2jYQ!8lB0O&s4qE70(UA{Rk$<6vnjb z!OJUn%3Vy37iPP&>>@`HA;NQ3%BV8#IHKNWnSMLLdkSfuJd)2T4eR7g48$gOxA0ur z`(pCtp3Rf-u?kDFvy&sg!xxViuWWskGVO~d*VAmzn`0?cOuru;VOZu#x-@o8D($q3 zcTf_GekQKFV^YxELC~H0Qj)z1J6x3s#-pIdYaod}yZdBa)DoSHR6M!%!NKL5_n|uu z#2&v<=eB*cNk3=T{QD5)d#Qta>~L;^MIoHL;MhRdzBNWJdOY%SK02Lwd@E(qY#xsK z7aYS5Y8xs&WgP$JjT%4qQoZ?1z9G~sCn$O0ae0rtq5iiShU=%hMS}Zl_xCp^IOiA zaHXvcHV$~Q-qQAFDi`$ESH`W<-8tiCvs~n=)HsyMq?3V2?Pm!aI)qUpj5mMz2s7w5 zA(4nmPWX+c!NOqEB$n=krZoC7KCE*OvTuV2+Rv-o@&Hz?g4s1Ok0@;-bmCIveCl z13BA;gn*;&D_YaX6zkO4Td_G>GUns`3|3AFxM*_VK|wvU9q9=)c(ff%Bl!{Dx*Ajr z8YPR=YkOfB4Zk}S6=qLgA9~B-9u(aULyf)-V!;U5wCW8irx;LMbD2Y!4tcH#vKqZ@wkc(arFr+CV^`8 zHC2BY+Bp4(B>wZDO~1?+|3BLDM9}5B=5yeBMeQ)st=* zkzVfGG<;}8LONa&LoJZ%Og{e6lJ^egBVpC!KA(*&IO^z)T>oLv6^p;EpQaXe;NA6@ zW$yFiP%FMBXNamvWt5jHoV7G{<<=7#hbR(uxgG6r9Vn4rv3ft2Ev4QLteITi-0G9M za+fLHDl%(>AOb*zbRRS}+_4o|!6bO%b_b2QCMBSBl6`~tp4xw%PXF8?$8bDm3Wq0c z%QiMkK_YFTun?!uLZDO9XAEkQux(&tK3ZJA7*RNTfL|!PgJ;NkrHH7Kr92~UD121l z+jMF5qft99jAN$dGT#;R7-kcZUHsCG&?r`a)_ZxVx$8;=22bLH^xru-j2k30a>?zB z`mLYBu(~v=Yt}>b`EY`hV3B8E{VpfN(VT4t-C2xuiFF3r#XB=-59#N^NK9y3bEQl{fs z5hacrlNxGVvgzPn*;My7Q)&*cbCxQB7T7k_{}{IISzqZBv^}PXnxpvJKg=rAlDgIN z>P_(;6)(}I-BTMKi?XV_hrQ)=GKl4Kj8dih)9Tlr9Bf?2}H)jiHiNste%&dkdMW1(PB*B?;f+}+of zG~umKyJSmVc2hMTCp+aB)M(4uhr+sM8= zuXQGrev?q=*=M?S1(ugIS=5p|*98SR$gt0#!ZUE5&$(Q>jyeR3PuqaX^4IaPR%MfD zi;5_2n^JiQcDi##OAt#hdCoaR2Rme9cL#%`P)2d&-tudJZSypqfK(~2?RnA8si)#EG=CD8gWg`-? zxY1N3s)3ONVYh|gEza@1M%9(W>_BsK;1->I9VUrcTeP&sb;kI7DhpfL1U2NRSk=`B zRoozG_ERnz7KiSl05VbGsP^!DY5h-sXce`f7bhsK&v>PK?D|D6fM^wc!#ealAAVpo z(Yf%)?I8^#1kZ~e^^}D>JZtIEqeH{+D{KpsxMw)G22UwnDQhmQ1utwTcUOQkgTe5O zZ&v@XZ29o`rB?PP%B#p3jhKQCgfgXtD4<0@v+yysufRwWO=k;i%6J!{|HVr09X;W= z1{o!r*kI>wR4n< z?-g(|)vqA^d(@x#wC^8clRjz{GaAD(SmTAwvozWL%aylOz5p@z~pkTSMbm&$I*eIN4O9)>_FHSv;Y8C^F{l=D0Ddd&JY+Ua-!L%G;l< zvKINI7opNcQElqOnRl=!h9mJsY7at*UH}3T9Ele3 zSpiX$cZ4%UX6soGD)7HU&gdOEk5aH0ahU3?d_z~w5@WJ66&_wzXq;xRa5PS+hGeS^F@D=*ty+bi4IFFc4 zwAe7%_I!RViGXcIs}cgd5NGV+$>VG(9jfg|wJ#%w8U1>ybolA1IuJgI#IRc>z#c(k z8JDa{`H(Tp+DmpvYpry$nih+Y5*tkRCZlb2L4a$MM16bIjdg1_rr-G%xg`#gj4~Np z?)9x-CFi25yV&fC=^C_pN^L4U4%-fbq`Sw&0^{Hq;^&=(+atV`iiYPkMZ+{KbsXfS z63WqkD5tA;R}@Pd4VUZaIm^#$4L=-wyv9BEc!)U0^BB@%a=Vinhn(gn2wLuGkjV!8 z-i*%KAgcXj4J8QYL+l7i63pypd{)^Bf$3xqI9iOE=3m+4D`_Fn(B&b6bO&|&B}6%C zO1R4KLB_+ny{}&hs*2bt7@;Wr2Akrcur*ExbyMur7-VqJJyvmkQ087&dx-dGmyLta z2P$>j@8sF>^@OhnhWptje*yobXnGB5QfCaISHSG`p|nvDaPy0USapp6b%BnvT%+B& z=EroacXDc?J3&LXTuag{FF|3Pw2fIK=Q|4vR9B0X)D4-BBzkuXWfJq;ll!?lC$x)T zmmYxAj5(7ORI0`clg|8vBKjk4`tRx+`;M6pnZN_&dj_3E=f|u)lZGy=>094y*7{Qh zE))D;7lq_RTXqA)`hcqJJTdOs?dIne=h;txA?E9SqTPo8MC2(*VKsHOA8A`y%QA=T~yT}oqJ$&w8$%- zN=&F;6$HuKWKL0N-z{pSQPi`m-2Ja0cP(?fr9VdDOK$Kjw``jBIs_-fn*9dMwopOH z!LWL#pNm+b7{}o;0(QEK^N?%TULt9ZYYA)dQGBu9UXch57@gs4W37BipURod4ohm^ z5^J0SlKoDYI66Rc?p}LS?3j@ zug-x+^5*Yug?%cze8Hr-0`VJeq$8vU9p*iYp2DMFZt9fAvQtJ&0AnakTinD}o7e@&r)``2=Rp zs*n7;$Hh7FJ;N}s1w?HjPhuBN4v?e{V4@lkSAyJ5-e9OFQ7iLi)eL`Yw&3y2SF$I_ z@vhA}LmeRk_N6)!HDF0Gd16sPSn7NLs^$i)?=Ec&a!=PqzC`hsM~hGyE#3ES;aO-G zOtnQb0|~p(pEZHnT#|pICFSI*7g*R38wehK$ehrAN0r8n;JL!6Hm+N!$u0oC#Cmtrt`<#;ScT)hD|{Mz-s@6tLsOrEBw2EVMv7(jrFDZ_1*hTid>S` z8o~vjLMlsJ1@#j0RRM~y64LfA;FSlbFQAf^Nz`5!0!~Yvk2?co;8YeG5z6+27vKvL z0hskG0HD6%H4y)pQP=zWI`Vt6m6g&R@frVU?YaXV{OM{mvc8}4Vs?Nk_4sc6ff##N zdvV}E*1nXOd^<#7uRvV_IT8WY-M#Puz6)<;oe2P5nLaul8HYYQv_PM9#JkP6UYB8@ zUK`MX^FvF%y8sS!AuoGSi8ucaQhxPOoKX2ee*$3MHeEM4Q;v~XVI=adIkm>dR7`n7Cixc zA!`FCCww6TXFW9&XJ=Cbb4O=ARy`3nXGa5CHyi8gOf5T1Da6s;*;4cR1xoRu5>HzG z6_=oUn*LUkEcJgsGn(^Zkxl|ULJ&R!Yai@!WnU2v#uwz5!zEZfWp%NIJUz;GmyY$8 zue!d_#f}2wG}1^rQ94v=5#pZ~1=3(#scHivPp3;(J!GlqUVS#t!>uuoOAS&IfoF$p zgWa``o|z#bE0r_}+|eu1${zq(E$)9_d};LOKu#U}jkNa!)$VZ7=np{v4*g7;YEl)Cv6^1u z&q`XJ&C}`gC$in)Odl4XUwe06fI3&NwaP!wQnz=SSi5$r5~Z$>!ykp*xm{~JIn$CWPt&HsuPg@h!oTof=x)3!K?3DYyV!K@wYw|)N(U9WIb8Y z0qY5TENo`RjHDveXp^F*rIUpm&S#es`N1#1bgzEFr1LtKVZ%TD5@MH*Cr$&8yTeDM z2@~eXs0!E@q@QZt$HIjuy6+}Ateg|lE+TS%ex$WJvP2d=CzNsyn88@Mf&-np5i+&& zGu89(3iRbGyktnLz7mjC8sIM{0pA_V4?jY9607(@U~%Mz1^)%nt3t9WQ0f^$0?fgW zL};M9$B%m;SjRKQ(=)MFV?%0=UMSbS)2H#nDD89%^jQJrh0th?ZF$Isxr-3c^_zbW z<8d0eNSoFFhkrUtd#so{EYS`>+IWuH)W|rWQ*xMnlB72N%A4|t8?95t(P4$RoquB| z^dRni+-MF2Jc8m_n7j3JgSwNK2K-Ve!N$@YLkN+P@R_~0I^K4uR0DXZG9k~&Ip}zw z|05p`3Zjm_Sl^_>F!i=zuBnLsQWORjFCF8-f?M*|IYD*Uf_pmhO_&9?D#c13D1@Vq ziCmvO?zPGZE-<+lI?^oCL_>$_I7D@|RNIuLV4>xUS)R_4v`R9jNWM4tJI=_Y1^OMb zY!@B9y$mB4ng?iiFp#5#J0-c*B~cYxV@#9~bzCS~JHl&b@G%ku3K~Sw5qS!qDnJGU zOkKccL&i&sa+0(24$;_V*nI`h;&1#2x0Z6V09&1TVA*vIErl>VW%m?`0%Q(HCzsWj z^A$g4N-em>TcBfCpV6o@9oL(ZfLnC`QQ8fC&pU40x4R_RUrVxYkj5ou@q zZNB=|Bi2?d9aV?Th505^`{FTe*hiA%+Q`OPl;^lx`k(55%c8^FbJDjR!C`7h^iM($ zJQ3Pkf~KHy8H^|6CyB3OlZSkhVT^Q(%1RVD*s_7B9Q7rUuNmFQGn17o`(Ho%9@X7tbx10x0cSv#IrpKa6*u~Q_%3=?NnIbm@aOx*xy`th zEz5Bs;<-PxuhHV~ACp%LZP%k%Ci-Jf1|m8EzY+0_wm1k)^MHg@LB;%i>=B)5yF!zZ zs?{L*WLwL~R2*}qZiM?48bbwg6f0~@6_wWR>xWXY`dH*NWoJTOAXrvWa6JT~2jXjLfAPH8l-}mhS78aK7;IOvZscT-B3b$>t1YD0eNIhpzdD#y1a( zK?`_j>iZXXdQgpU$@UpO^84w*^s7o0^iBbRKsN60j`;`_liBz4{c8qr!**&{^Z>S6 z2&cFir|ClSm1luGPuQ-zoB}m(R{lc&2+%0auNQl8ms8g1sg}a&6i>)uePDOdlGo8{ zaprouYEJJ5LiX!@Z%B}q0z|4&cKfYaAD^hk>lKDa10eWyp*6WeatSlaiF@L9x<2Ns zKK4BRUt+K=%^+U9ri;I_S&ENE1^?WWFZgcYi6j+Q=(Z&+mYr3!D7V{Z>>PUy9inr2 z_!(5EQPa=OPI&cUY>#x0wPf~9ZG)kehi{DYL**=w#Z$I{GhW3)nG{9bw1V3>FT)P{ zgA3h__vG@n7`5oIo8FMzIev%pweLq)UtxjO|&=kfgJJL1q`VHbN zeedgJbM;IHoNiMYn*IqXUhOgR=!I;#JOB4ZXrJwwvK=O7UYoxjN;be+YgI1WkA5;& zzJv4RC1AA=6;`l4;mdNQG-!UkkX~@=O}D}qK?6PmtNIKx$%^+bXwx**EA3cL!lj); z0b4>i1*5-P+U&KXJ#|ZhLETx$j`LLA%-T-?5nD~2^ALc>=QKJX1a*jiIxcU*nQlCs zP9SH}CfgbvyxN319K!z0HvX5``^wKUck_TTJCI{;9dgO3@-d&8U$;54*W%)- zPfWnMBOp(8K+*sQA5ZyZ0BVcNbqX@QgrW+(zq1awfo``wt_Rj#XSB{P1fjaw{_SOQlh>FYrQ!_(>azWP@h8J&9vWbT6Xe98v3 z=BZFhc2m4pkg9W%_Pq8B+1>=`x#)6zHxT6S+;|G3T;6ZRFBkzOg}!}cUSKh(Esdg>1q)z6fh7_`@iwOtGoZl z&e|KBUUmG{PMZGY^H|)bq1YCe2=l|I*{0e4$4UlS*p{pomtYf@O7&}UF7(?=sHv+n zdv@oYWt+YIYg(hD+~XmF-Ym zlm_+$qPxZbS=P20X#WpeBGAIi>XIX!b;DazqbVhEe-2BkuX=w)9&}=mDy*)pJ9*1SGIU8XH3!Shu?fyy4@*S zJ9x4#>rIs+k2EP*F(o@3IG@}j_pEq{5QJspVMn7SP|#`*LJt|?B0aaCI5#ab)3sd|^m|j0PbC_JzRAfc; zZg1MwIlmv)dja;3j*mjPAsf>2_*UBUmYG%rNW1-zS*(kJ(y(gPHZjuY8`AAwaG%S# zHb7<1Iunr>oi`TDNG4Q~B{AN#yZfi`6Qo5JP))pSF2Poi%U##%E%3-vnZ4(gR5To9 zjj|8K%*B=5)#(B>w#F9i2oQ}2gwyoM$a5PK(wwinjs((l zQ#OxFFZAxQGe&3b0|8C~qU!&m=r*eV|UIbYR1` zuAhp)HYNuaCi?2n)y9(Dhr~Gq6`(^tX*qHD{ZB?m8%YG8BbRy^O6H9pjO<45c)QrT=i|wlDkkWT?IeDNW7rXlRNlWhHfxgEMOjp&lqZ(xS*59m z?R5}@#$<1EyJGJwr5P+iKme|k21zK`BZp6o@NH#LF zaUaBqN&C)1`&e7B3x3FS*}Ccp_&T-?$tD~!*@C*BCeL4o#Y{YV%MXaP30Wx;czXZ$ zRzo%$cvs#gjJ*?kVwT!Eo4w0x7MUDB=DOw%l6T4ez(oS2IJ`8}a1@<{H=IdsGM@S4 z-g5=nCnz=%4CSr$-4C6OZWOy@#5i>S%dhsUUQr<&2B&#@qG}T+*|y5}uZh|bOeQd~`=z(8cN8X*mDt%FM1+MQ?f}iNp~!A| zQNdIjK!T~Q_xYVi+5S$;H_yLJrH2+)jPX#q;oaA@&o&pk3J@3gA#o2KwcH21+K!No z9(r#A`%c4aWVp#LT7rVEQAE$8wj3^nM@bqM@p7A{U3jA=?_ZxpHFO4lX~d{>JAjTq z?rGU(*HUkCaR%RSN&O?5At0^p2QPTtcL(LJu@z*`EjDf`l$;i z$46TZDNl+mvtB@b3G8artrGp34^}+(0rMSZa5|G!M-wwIz?m;G zrmTS1qgz=xvy0EqHL*(Js!bi~{`boh3DSmPI%KpZwObY_u@ljgWl6S9L{2BD z)!*pXA{U^sC0Lz`#>oP`Wf~h6{*baDkysa~PT;*Mz)<6T%|3XWQ=TMQs?zd6W`guj z>s|)0;?5pzcFM1lZDx@Iu89~*wAei?W;uG@Ozaq*Y@tt6gL5{`dUX4#(bl|LXuSZ| z0WGoU<#HQNx3P7^ZpV6T!n_te2F2>B=am-LcP^-pA6fSXgEfQse}z{q1qM{t-<%Jb zJ?Nik%fzBDEksrkYxfwm5f_;QeDVpOoIZt9Mh?y_t|g1^xH1XBHlBI5yLQQ6*l@q2 z&ENt3jlIBg;)@&WGb31P{HvoIpLF8RjgEDLD06j=pO1uLpLBajDG11DBPjIF4I({Z zd~SYJdDf>#duP+cPy7&S{4?X5Qj;@ExJNG_N4BRo)5I}U`0$Ru+%J0S8U$jVmS$GR zM`Xn$;9l{ryeMm5>5jhG_Jq9ztU-n3@!Z`(T1!a=U1tPIqnOfq_td@dG-yP*9%r+_xO}YV*Ea zw{yu96HxeZ`$mR_28Q}Z1_lQD`$vY!$ofVH2TKV^hzLu2N5}YmV`E~%lXC;Z(^G?E zVw9pHU;XpK!XSu3hm0HuD0~e5eLR8|fPw9PS+uU@;>Rv4{!@iHHsM@rzMLA_i1} z&q>gW-$L{D6EC(57{1`6K}pdJnZ{S%7SE-JG(c&2h8*rGDk>~)85y1K9UY+l@g^sw zC7=K(3n)lvh^VN^?e@)$tqqN=%V&G(^XJ_iEe>F69HFr05wgR3v`}fb+--nNv z<<@F1cRlif%*g>zfNEW0@oxF~`T4nepUdEYi`PzINX`*&0qF&@4Ruvq<0(OdwIj#! z;OB03>H$u9D63fuZAsO5nwG`gitqU=U%C1_fL6wL;acx`Gt6Eg0UH4%CL})S*Axxj zRT0kU9#2OqDKTkOzq)KZ=F?A{BZ#xy_OtYMXYp7yLod4nz3F%VU|1oYUcJ0L_dR8# zFuJzZOj6LegVD$c5ed7xuVQ1~JdB07bT5hV&p!a^z6#!tx^b~P+yqfMr3zvuSyfll zmmmAA|8k~R=}50_aii^fU*-PdX&Mg7tXx%0BKs=~2l&kA3^#Sc<%h3wqflMLy$R8VWrc9r?>&#%eYtcXo$;)SwSrzOL&ETfmZzZ}sQ z*1Ejh(9NFQ|Ckx9;df*~U2?WzEV$9hR(OgpRg5GMXkO4PS5}B+U(Axerrt(0Lls-B#Q9 z2-B@HPCVD0QJgxFV~m;B0Ao`O+$xEwG4IaY7v5Y;RVQ&F{Ykl~mXs)oZEL}^rL&;n zp=rudhOI%Mw9rcT)*gQ(uMFzPH>6>n3{)}lbu*7|Q9QTVW52GG6#ImN zBpAf%O3b`zQCD1O9ry;c!koOVYi<9N`GNb&)y3VRvug>GLw1tDYr|niOZCiOiH>4B zUV7>oA{{he^~=(@@L*~8LFjsGnr52itNG>YWpi5O!m4>CMTRX!OvlT9d7kJlF$kh7 z!x57tlHI%wIb|ogi8w$Kz92+J9y~Y+=M+q=Tx|8>U;SXY6K>`}+-6>IHk8cpPL%{+ z-|~j5@I@}cTNH`uCa%J2LuvJbg4E2`mVo8C8?37=8uZ{`LCU!44k02yy81!DenM>r zlBBz?)hg>tj!Om@N*&e1Q0+RCRCJ{Uc#+z$d6 z`C@{|PuC8kjq}(^)V!^CN~egk0sW8(gdOEsF_cyqIXxWCq}R#vk1f9IfzzVFsf2s} z#{yCCodaZ%>NQLbg6m>k$g0RLsPp#lj zsX4t~uZRNQ_?E3LuM=t)&8c!dn>>@`Our5kQi0p>Z>NEKCeyoz!v~HjLWD8c!_@5% zw%t<&Q?I3j4{pQ$VXy(8sEdTh1ZC}V5jKqAdXm? z%JOru^p@qS1m4W!5yxpRqWM?8H@7a28q^~o55Vx0xlLGgF-;4-lsE<-a3%=_kT)&0 z3U!x~@&~K|t!F{wrIsh4)oq&CPI=MKZUP%&J76X~d|FE~S<^M;1pEY*v{2Rylyivf z>7Hhw{5@BC7#>Gv&aF3HpT8j1swyK3f7B3!cOX}F2f1@Y5b$RIwBdS!XJjfVgzRlffNP1;ohk+gDi{_}%mrVo*P-Rj@y*efTvQm} z6Ry$42WLT#pNJY&INdSDEZ?jJzK6U+#EC#%Ft?w5nBL7VmFLo!z%=dUi{RwW>{OgZ zUu>|xUq8oNKk;bS2^a9y`id=%&99=0u%tR%x4Vp<-}jrpuCC*+b>b;bc9j4sif^Q+ zxrq6E<&ccuYT;+ONw>R_KT}|zo}@f-RIYTM#76I~Ox^qq2>{kS?@yjSz~^6IYKT3a zMyNNMu-4>PyTd{dcHaqwdjO@{1K4}ln-R+iALc*L$QRPr!_bKGoqc`d`<&=?)gy1> z2PHlQ+j~*&cWuj*+2n;&ieu*HlN#A%_U^};FObx1#&qc@#e{R)%1ni;t z@#)Lc{K@yEGqn6N;>h3kB=UQ7$Csv-*Ktyukm<+|a}Nw11pg?4Tc`wX>zSNCYd=q$Kk!$(KTBZkLjvTCe8H#vh_@1XR5sCzL4E*+?-gKt?c#Smx$7M-{D9&Y8yy`T7#&-b zNbJ_;MvN@{_9l$HWNeIVY`jGL<~y((3*gN|*xUbufQW#Eh?w|qBmiU~#sL?C54}u% zdeTX7ZvG(yUv#7$A|-CMVx>G8*)H9qC3d9&_x(9vNJNVg2-^+z|aW) zAllDh(%fw#lp*(g3!%{q1kwPpSOW(Kswz~ru9d-`**gn&>K105vz7AbRPy7_5Qvx3 zbB`7%Z;>7Na?_{Q>lsYF=h=^|EGkE1WHD9~xT$O1Bxd-TTOG``Pf?TP78sfJQ) z&NmUW)Mhw3pYQOaB;Q2IB5Cmnx(~6S&w!#caY*j8ar!vn^siR1Zt)!IDa-C-j2zNh zDT6~2$BB@4Eg))_`5ufS1QF#Hs1Nw=>lVPDeSkJdj4#qYAL3ACK!g0R2lHz&20Cqq zMQV&)4(vHtZ@s|VC%0|JoY7+sT{IODmMRq2sfW~F5{{lfp10sW#~>Y7;~E{PYpEQn zZ5-&eyC~V6toha$T0BS`-OL+pBjIsgGE=WBe9Wl8+L?_UCya9C3{~W!&EiwC`R~~n zyerIB073gV&h^SMS!5>)^3gVm5I~zk3B+Ds=+}@u#fIaCZQt+e3E#Q9?`@Ey zwg=VK2H_Wlu7!B>jYnC+&=ozQXAQ&NvOb~TB;(NGb`X>`R8oYC*Mw=4J)yMXQ=Nz% zRV=k?yenHQT~fXJz5A_pyAJ6erZGU03wBP!)ZW9KFhWGBi>@^`!z{k^KNs&B>2-z9 z=lu|kp;@&>4B!rQZ{qu^yxI?p7?^K&;rhw`&K7XMQ_@60Y#3m9svdvRyuPW4_fo1r zyVyMqnB+XW%g%?4iwvPVKJYL14IiqWyQJbpTx(_$bG26|o81Nd`XCPqOdp>2)WrI; z_y>EaH3%!Fe*vmSDM9>fkFIwhPW_-mvJ7vtK60h|`#hzGQ$$zaTd{AiXdTMkwF>0< zgjz#KoMQSstWA9qC@ND-dWWgRnn=usw~ROEt&bm5pv;6XtYh9 zU#zjW{Y&ePv3BL~lDv9hEkJl|4e#znf440>+oV@^ubZK&bG7i0m*l4%8#q&k?TFJP z#O!3r{GF9-RA7QUq6P9w;;~n|UcB`!xMKQXXSu^V1Ohv&({=94$AA?HjKFrz< zUS$V>nOH~Tx=pY7@@ME5*29iLg+(-xnbzLeDGM8m&Yss_^#yf-({##Zw45Ab)chBh zb#OZ<+4WGp)%$O0GW5dG@~ZrDcY9FLt9tzxRu;BCB{VG~{8Zs(+Hm+RW$zJ2W6>F1 zPXK9jcxz{`-QTgha|X?O7nl_s>AGH86Q4BibKgyyU$jqkei-VvU;uL$Q+&2KG;q&H zGuy{@C~!pOa9MF44V);cHnjn}OoT*wevgkYB@xUHUk_Sc2gXX#j4^EY_MK{6ht$Ht zqS+ulIu_=}M1MT_=`P`!K_A1eqG9=X{JRVXa zz$z#y7w)!?q|I)}LppY%69G+>lnYk*z{cnvptUzWm!NG>ooKL{FF}`0!~mg`OFndr zHizgwF#$Sewr7M{7DFsKVZrh))fV=D>1x-~#H{O{)#ODV{MBQZ{UqQ{DH-_r0c#hO z@}5%e6 z+Y6s`$IoBN-LS>Qf5X$H`Go@UAyxtIff?>qnvs*zn!Kxgm$KHRoS_%sC zzJ5Nr@(l96;nK#0Fv6kL)q9Cp;c($tS!r2OQE7o`X?N_T2L=d;3H!*tvH?z;ADv_k zXbJM$qDKPD6XKGtk!F%x!4<$6;O?B+$ z^vZt$F+k40oDh>vKk-bH44X^A5kV^%`J2?}|`Q^hx1KNWiBTwP6`WKfY6D@4CvRdhtXCI3=lykn?nsDzT4vHRdLwkT$K zm5HNocgXR4SKg!WU+E+DHJYwz7=ZD+x3fNKZr0Q8eEdx9VP}-ewuI62FO(=A1LWEY z{}y%m`AKK6vJ8!O5-9C$BDEw~3;Nz8fIiD&1n^lG`F;PGfjms!_i5Tbtx%L9t1nV; z0RN{-nJs}C@Heh9@TMv_QN~XC6U0sPSN6K&wDATs`#|P`e6|P5CNq=_Q@em%<2r4? zNFh5)4G?>VWyrZe=k&YAo_{|8YdSjg)jXYi-)bH%tx1n{ay z1p&M*%|`%XTz8^2nhSiQZV14xy|wKON;{Tm=^p5S6-O_@<{PK~d@Wrehx6Urx_5D$ zz+Vw(5Fppb6Cgjx$v;{#b*2=f;>w>^c#(9J)TZTSc)-O`!L5~HUR;H=ppabLZ<74~ zB&x6)**N&(RtTwx1A#LUsj?X4+W(8lz%wDucDKxk6^eJ{=~N&HtB20^1!gD_IaR?5 z#)iD54|ps3&ngnwI2TUq>HBBo=*s^H)!1pe9R$Ym5B;j$PTFa(X)XRyfTt1TsacAcFmVwpet|NLXpx2b zjS+0&XDGuUsKeV(|Zg0R? z9~QZl(aWpC8hKnO`zHvhVZKXMEG%hy#$8p@H^S;n7A2O{GKP1^g~z>sgfpTB-{0aR zKs^X$oN=q#bQ@d`sZX5gpvz8ETs`@&_NYUcR7DiL-5yfbD{NA4$)nxYT=$wGnf#}q zJo6prcbR*rU-v=D(tL2Q`5#ik(C+i$6elfbDlOBsrku0Rh14~vau?CPRgd`n#@GGg zucU}a9}V+*R#!RN$FEe$Y{plKJXi#iJ4jBhW;Q|RJ56+DYBPD$*4?H+El7ZL>9T@9 zfnmIZjbAyP$|TlO%5Q^7{8t96L%fwYq#mA|t(cm$((xKxv%eum!+O}C-qspY4+RZU zg>t|cx6GYkZ)%$faA&SI!@|!Vw?7KC&EZ=mnt&vQO2RI0nEmBVp!U%_)sj}MKb%~o zA$~L=irCgd=3u*(wUJqqaqN!;56(+EP4~#u1x|`CAQ2F#vP)0wI@T;)b2~X+*ka@8 zs@|Do^;-)M_$%xCno`rQr>Z}d2<}?M`OqRD?81Y7#KHJ8(%f)GSUk9z%+F^Fj1O}k zf0i2FC^w_YULN4V0FFDeY#bCk;9gQJd+BuufvU&9*|~kqCo-B}nk+x({{3xAUUtIh ze)2~eWri^f!Cw%LU?V8UAOe7KxUJpxM05si#lLqK8Ooa6KTdj6YHX&?)Y7Ofx3KS| zD{R)}G3)_i|C&+Eyew+NHFcXNvk3_mx^0o74h}h`+FmI10Q>noZi0@w3S8#W*aQoy z>~|QOI7Hp>8qD%qg{hUNW+az(bHN2>LPhTuLxCA71vkRNcWXVdQc8X{Leb$@Zql@F z%ZrxLGgC*xs==knO zQ}pQ6@IC|}7do)fJYd;0^@`uE8N~s#olkN= zYig<`>o*IcMwl)Fz+jvO*S&L50~4!M8gD$MZm7$`n74Ih$UWKjg-bU@cpW)&z6<-; z@xkD6W23ekI?_WyhXAl5F74q}rM3NdZss6<>u~CX*~wm(B+=C~!EfY*DpwRY@i#9t z_`udv@n;38Fb-oIn9(zrxLYK#v#rIs8$d2{>AP!J9skz{%m`p0u+Ox4ey{(RwXt=w zbG9J+!(#2^+~?vB_V%}85g*w z*lkWW+3~%Gg3WNA3k1+_3AJPlH@Rx1XdZ&>tg%ljt=txRmGrW;6aAow3Sb+a#<{AE z>e+k`Y1)XCanfA2Re}Ccnb}aT3*$4?shb@Tvta4Sc9BYw<4r>0BE>=vuTdh3yOm+x zrkf>;z3vvnJm3+V2oX7GLDI&{=HxzDQGaIyTA2T*+6RdN=1S?AUXL!Pzh_&RdUs6; zH0K0;>m1>AcSsiBpu<0cJPV793Nd!Gcif8^WPUMn)SP`t#N6X8V+#onnl25%zCbtpiUp@C+suWL?es(kgB=LRW$qc}K3dQM?_AAs zN7>8@peeo$G;I!8qKXk|A6|8yn{`6> zS_K{^O`cq(tJ(R~CWdS z@rGR0?lz&DR7PhVZ#owNuv*m$-sZ||mP4=*fa}z~+VG~q1=mY+6B>f9sE#sbrE>1V z01{QH7-a=}?g3k_p%*Tb7A)I)+>==ZljM-jxhuoK9>39^)MM}f);J5kWbNw;ubOOD zbJ5BMUyJMRgW!eeU5={@C79tw(T%UbN$r89Ik?wZ#u`j;H)YemK^#m`y7KLwVT?eo z>fFVOKFRW+w@rX`7WFVml=2>aW#rg>Ts%P;fxBVLhV1y?{5YNj2I`M-t2*|bs60GZ zG+9)BnSS1?KJyS;xff$Zs-m*}w%dHb|CxbVqqMt;uV0Uvj&Y-mMh;CyZL4(n>DxMk18m+ z)N3qO;fmP&Pxkc97q8SdvA!dKEyz;YRx>0@iqDp>>i90;Yq01be1Kr~(7lxMr zg@!ce2V{&AVU2fCx5R%DEEs)tNt(s&vYvfbyO*5p*I96F%pAvA z8zZClm(%+0rBwe_=WS*1qZ_(l@}AS|n9lLY*uffz6&^;eUdM|eapD3@xkh2HW|CYi zY8e_hK@}(nq8U-ioG@| zIp5a}s0k6d<|*Xr7Yqa)JKRo5Gf_GlT6?e$~-GZnkH+2I6 z{(iYv^~PRWd1QV`lgmvr)9@?7kqMRjhUd2%WCGGyO2`vMW}U0vvqsKymvt@(p+)oKn-9ceA;?^c=9H%O&6139(CDZYZ~dmJH*p}kj?7u6uedWPdNP(#h-bp&vwdz-}uB63zQ z_3s$WjxBNWBRLjYW|ta|oqHhT%f?9yvv8d7Phf2NnGAmZ1I9KKy+cHLbiEiC$`P#5 zN#>+v(U}Ev64WH|Pg(?Z&^KAj<%M29uTJ54rs1O)8K9l!`zoOL#@C`&vvX&(Q{s~_ zZ%dSwqP8Z9;g^|+9+73kj2liR)9!;xH}JG7&$+{V)`ja6(F)1)3O+Sfc8kGAc_}V|wsvVAG{gvf2L2*86!z>LRT9<_K;OFP6Q6QZcJ{8j$Tub9`nwx7I{6s#%$Oz;* zJ>isAnj~?V%ClE55;bGH%{e&Vi$F{vhSQc=2%tgfd-N&z4)+Q41Qc8F7`C+&LZmSd zVoz3Un*ExpV@39QH`7{$lv+!&qPuBfE5jy`0fFdl zZWnF3>*ASb&=oV)&ujzsihf~RnWn*3OY|t>_#?V$Qu1unhSdr~897Zg1vd|~${F@7 zak(bDS$IF%iyYZFDr)Fu*w>DpDw4Tm>6n_T2N|zivd6(;w`E{QO*$CM9o}Q;PG7rW zyy%Jy-eHQz8p|MYRaoF=g&urVgBc5a_Yu5I>JR$GA__|MUh;zr@_b2sU2MmMg1^fpmav%j|{ zp1=Ldu~@4Ho)|9)OCpv4Z_?;J=DqwiJyhkIg&rL6<}PHJX8-{-ZycW^3FehCR4-m6 zkYX^lVB#yW0(hH18O61sk-pHXIfuD=h~Rr0mUHTSME{L*1(CwyXQEv2W-$b60ZEW) z1;>ig^Yky5Rzv%@0_@`!pUk*_qFPQcOT3Ppvz1EN%>S&|hk?#Tnt5)z74OK>5HhVq zXG;gKz*P5Uqzt7!>_PA5_D}8&Wlq8a5&IkJw@o)=zk6e!$nUo6xTo*4_0di$?rY+l zmCAaDyeo$k=G{q1NaeBPOr$vHtbuGGR=+^f&mJP56}3hemlq43ILsLW*;4qDBAzw$ z)V@p+mW`HBH31mk2Cg3FLm+>fHzLe1k>vnd;iA8n+*=wbsVRCrl|SSahREtWl(F~BTMLqGK4UllRwt*Y0cB-~Xa0+$1JkE~umeAE{NLs5CefsRz zf=~^18dni-Da%K={a$^hbWeugjTgaJTjHwnSA`X^3tzJ%*Zr~^^}rR9-|5xh4~aDKJlDXfP8B0{>^0~!u;9F7CF<7Kc_2k3>q zZr!B^cxx3rX}8CpxLdjJdOmTV#^mQQCfIIjIT?8}S;qKEUe73g#A5@YYRWmu2H6ycWx$s|ansR-YTpT1%^Ug!b;l1&CH3ShxE#yqsW>yDv)b2{e6{+HU@S-!}|XCG@~Hm-V((_8nPprZ#HP0Er?+e)y4?G zal>TQsQUPo$1}BFlw`qCx=NaaN1*47{>v{2LMG*vxGFO>Xo^<_v^__iXZIG>9zX2P zPo9FsmHMfPl^Jq`=jd%n*?!O2pEa#i3v$`;I{uLihN?4$Gd8;lJO8|+X>6Pq)feXP z*gA;J92mRK!4bdl@zSGX}adun|HzqJ{akHln&R@N6SF3WkuKueTdozOQw&{xbe zsPIH&m5++%@#Xx6oxNRX-&p_xs3+=Op!)%pjsrhJ9!sDv>37)G@9str0IkRry>qB! z&uLWA+hWL4%RxyE1caaV6xx&|wPZY^6n`MESrXV1O^$%yw_UiR-01r7;dONT zTn#qL3C9b}U$kg-xTqD8`uYU7uMvQ~0Pfu=1dp$iXG_i40ENZe($cIaH>AqETWY29 zP2ea`>gYEBw@_a$S-uuByg!r0K;z4x`K7mYX|!v1akriSW*6eJvTAkMq}KGLT4e_Z?y?0 zXYugU5$Us}PgRv2H@=}mCSu2}P`RCcv2*tPDr1$aH8Q=kpDhq?@|Vho)8cIA!XpyY zb~-YYp=@wASnUl;u(9T`@+AU5bGiC7ZR{fH_9@kLqp(+6Va&=dF$zb11RYC3LK{l` zYjMnDUXZSH&iTjgZQ$eMHR&6$9<+suXJ`FhpB-UC(d*~lk@Iu!szH9o3MCXgE;Nc) zjZGaJFt*{|TJl2~sMZFilfi;vjzQ68zFbhXhcRx;8-n&uF%p%7wl7bTjYD{jlVN;| z$E`*F9Gk~q`}jz&X*VcfWn*`X%9egt3NdyWvDgQ^EBbN_!7aYxWA5-H1Q2xuYji00 zkI-p7oxjR1hrO2-O;plsX|C&@lX`WwEo9bDs;XMfa=%w%bacOC>Py5OPTS7Zir3)h zL%)aDS&^For8kNt+iG+7e>`#h(0q>R&hFLmGjAxGEmm9!T1S0Q#e4Q0pRPo^qld4> z!nEZAt~uvl8CiEe`Ti74VOXY`L`t%kU>ZEDK6#>}?LG@iBT*k4yXuI)f!tveLA!tS zK^l5ug4KO!2MPohi(P~i(Oa&jt7wOBTd43508rCH%=l1oehj8uk z^}`wq)5jek=Ia1iwL|sxq{~Zz{+{S-nZ9Jy1BQFh+XNH$*g_K}J3BW9*bRwn(gqqhZx~pcm1L?h$uOn5B)8Rn-mpzSQ&h$5~*} zFBaNiSggmZ50!*fx3!X%s}_gxm(d+Oe!enP-DLjp1C~&I1h8zmSsUIdPj~KE0DRWr z^H};6?*#%ex#VU&mN%FTXcRh_g|?sKG~+w1H8 z3357E(5i4Y=>q#eG)t|!DVch|exfDSuiB8045W?F+o7shin;B88v9i8wD$}SzIvmR z^Gsynin6t;^CFezUeDSZx?01}CePTz{W%hT`|{i)W1ck1ti=9Ii;&2zgIm>V{AaZ~ zCADld3wy^wM%SH3gTZ3gqhX&KoC>*nV-1jduI485X6*XA7%Nl-M4(%P@oOYnOzt z6kz>OKe_o%g;U6YH2JAWmIr~2+MJYp*}?w8cTUonESKOW(=+V|u`xvrPpq!HX-K0( z1lb)9$#yLsoa$5xLhP-Hdnj*oqi2%XUBa74KW1h&WE-ZBqnw||Y5oQ9O0_tuL^|g^ z4sH(GIfs@}f!;dL2H)^C zNn3Nb|3DyI!6SWOzLJ@UDV!wfQ}rTPMu#MmyRJ0j-S!@XyIbJW!T#j>{Zm~$i!M5M zJhIqwZv8?7kxK5+3D1s|9KP|Vs|LA`eWcZq$IrvNFB?SGw~0-bn9g_HpS_8QVX8qN zN}K0ux0_vF+qGqFOKhK0gVY<2*}R%FzS5Y%4-fzbEiA0~ZVe38VT=wXgZYGD#cbD` zsxzqFV3Nts?UoT@xdE`zxlD3W!kaCGQuWx@McXb z1xMk&ik8R6cL9o4mPDE;=DoU!HS;GkOC~GuzGwz$i+Qf~2MAxJUtCp%_-syi8O|K6 zc)xg$vve(++jn}!2bv5gPab&KgD$gK*Mr;Xw#}Y4-mksvlr3cO>)E%|K`#%w;XU;F z6Qs9?KjSZK z3{5S4?UiW)Md>P?4o7*{k{ZeFE9;!_b~UDkPb)t-t*0YRz@anD@khJE@quz|ff6qu zq>j>P@tO-wk1{&z+wN6gMB!-dnYv8s?M#O;%x@^6B=uW6>-B#S*D#yPeIvTQpdQF5 z`r1Q`aQ~My8Bva6ry#Y7MxME-hE|&Tht>(sQP2-#8J1lzj6G}^PN{np#*zGs8UbAV za4lcJ+_#bp(>TJlu-DTR$G*K#eq>}zN~i#WOToa!aBk?s^sQ>#b+yM-a?MF& zLu)6jc`JPp&Wa3*4)^r{A&uYn`UiW)c4idLm5`jgwfQ@K_tpkA%UPT44;u+kDfySZ zDxa^6DoDKd#(I1Y$^xCmGD`D&4E#)5LsF5>woz77Q=M7E3CKLpX}-tOl_-L zYAI1*$j>A}G9`=jEHnIz3S-t1t;V)j??_qb90H(fu6+f9?%Yr>CBsyuJW9V&Z8*Lf z%{7K^2-{;XBLL2RuVmH3BvQ{8YR5da=`I%%CGoHHR&Mw>&Q!1E z$NoS1)(K7-qdUop;WBB<3o12D5fv7Px@t6@gZS_3`yS|#qM^3^rZ&ctKFuNOi z|DJ)slh`uHZgFTqCBy6VT)&VuuaAw5o24MXIfhsSZ1KHC(0-PO^KP4!~ z82j-nDk?pTn}w-to7U042%NE-3g&lENEq8CRrXj#LiTT?I|w&A{91h8T`03pxSv_uP?FgdQyN@d7*w(0DQ zGv(Y<^R@S^6=@|MCS^>0;xmbz=Y<{ZnQpobn9jM8slT~=Kd9VU#xY4R z50z3L-AFf&KU8}dZh$=Hr(yf!cQ~S_Ket(>sir$gZshK!?&Vp~ojOGQ@OppHvbcS< zEYKt?Uo`IEfnIeg$Q1FxUN&6mgGj5&EdnTF)&@C%IxeMmdSDT!>`N-qTSJ*%-@7># zWU9Mt*5GEa9vo@I-nEBT2*4%}7kr@*>~~`tIuB`Kgp-+Gg~-rJ`D`aC@K zi$i@=HgIfU(T{(`!Ua4k$9XrF&y1SX_ROEukqe43Z5Dxp5_e4S?#u@fz@{ZUHQ~Mb zv34yS3jw4)vRq!-o*K;ey7D-!PO625uP98Ph`gEksgpdouxLNV*A^gEc&~BG>*IdA zOjOT3Y0(1+kvE=EDAp4{5U9*_kbWFCGsB*5z=kqLJ*p!+IXg1R(_by)B9nN}VQ510 z%H+1ln-PVGEZ7Q~)qns9rJOc5npVEuv8UnL-zdDgTI4-5wNRkt9f-ZhZU7K_w0CDB z$y3qoI|KlNEVFEZ`=;oFS)him?y$_iQ9e|wg-IUicXXQGa`DGH*>t@ksHu_us>qOc zdFz>7r*);h*3-NM_TM$)?p~W(9=B~t_Pd=u_#!O|cS;G~K>MzHv=a|Hz^N33KZhZW z7_>S08e&N+3%*+KTtULljWg{0>aAvcC?2f5$lrc=Tc($hN+!}LQK=u(rts)xU%I@9 zdn08U#}`-{yFIt81nm_^I-LCXFAuPuZ812-xH-%rsPtPZ9Cxlc(PiuBtLB*FU3Iyg zK@+z8#PuTb$*IOs=Ae0&@m*2RTWbjXI(b9jPWiyd8FGGQ=?(rxcKAV>C)gN# z3BkUYyY?TVL^_rffh*f$1543U&?&X(+aDB);0%g0F*qg99d6|*)*VjIje0P4BXlE* zFW7ujlhnkeeKD!Zy3wgwxhY@NjrBu&vla8p1*p2z_Y$KA(dci-iGKfFk{PYx@Kbf39he|ov@l^eP#mSZ5an-@`ML@|1KlZ? z$hq8E$owDdyk}IC@3%G>1O=t{CPXO$(v;pKDosQLqzjQIO+chY35n8+fPjL4fb>qJ zMr!Ctm)=W4QJN%_5FsR!->dy67|4XGN7Sw zCR$6ni%3&34AG~+rtB{z*^B3hUO-Upj0vV9* z@e!3p0}F(J6>DR+YgO7-LwXca7`uE2^W>Hvya<3$h1#lj3Zf zBREVRKmNDV>qAW(sArT6V3k|iezUh|5#x$$eq`+}>1V)a1Ab|dP1c$K!lU8yFbvh1*2{tAbf)DiWG7WTbY{Hp zP#wv*06P(MLv(Fv_^k@KKm18luv%*A6sbcU40!7prwznBb_pBM9S*hT5E5Yx$u^t; za=`d24t)rEP7HFoW4fsMSNrdI!%LQ(E^OYvRvNO9WmRPYNN7csDD%T&7exILsC1hk z(33VsWcT3yTsi&;sG4RPOH^%`L1bcH%?&!H^!VWkT3#=o0yTQ@CIRmcH(vA+n`gXm zHEZUC>a%M^Pb_lR$OUc8X;=*P{_LTqmFZb%fA3OOK)!BTifs>s!H|BXb~lwp#ag3b z7LnMiY1lD{D^!^INfaxDxaxk3)VJS$osP-Ma1Gg)4-@H@h`*IvU3*PjUAG?5fui{x zTWryYnyKP&dU0J^y02_CDo_xeq7{lvuvq_#IH^2tYuZ_NQp3enpQexjmqrLp8*S2V zZyamo;GMGN`JsLdqK)64!S}!A;}8oTL`pdh^MqaALN@utX^Ct#ah&RYDz-s{*EJS= z&(MCei(9h)Adq1Gz()MpE!!d9zxs%&jK8}W1B`Rp-H(mQ4ixP2`PM(jreD99X!CMV z;eK_G5+s&T?@%w`1l<%ftSM3BXMLRU<(*MqXj~=ZgAEa%I&I#M&&TJDYwyW(sJO4I zb{i!=#ew%~zd{VVz%2C!bs>RnT2~20U7cxzd|gf3nB7^LWT_vtsi=8Y??v-Ay><=P z-1_q*62A>md{To&16V-8NY*l@`1t_$f~GUWmXz9|^?{L*-G#wFG@*3uy~@#`XQL5X zH*r@_8*whQwvDJz9+DyHz)c;(Ynoj&b}H}A|C z3C8K=P1GN2k%}BT>s^cg>$Dyv8 zlY_UhC+`E`%(^;nYv%+C`(rEx{o9@c$N=k)D>H+SKIvJWM`>~GWUDvgMEfE>Y^P;Z z*sOPI-u)wKIVqGRVu-30$zujVJs!SOR${{3yLtknBDmy2WgDg(e)=CxtWDP&W_cW2 z=)tuPHil9j1hI#X7__$wysZ>B=`L$Ib_rM@T}<2Ae!1D0pr_I5faP%EOEXR{-0)w~ z$ei2$Xol*H-xkknrCtmDFQ$Q+h5o6H0;q4Uy%Srj0zqVe(ZtLub31%tZB1-Zb0P5&R;w1>8aNif$lk3aztt2` zE-$pWFwCzf+yH< z7&;Bwsgn&f4MbAFwQ%eP88DYfiqZW;PgPf}`4a2rjEYdc)Gz$)6!rud7n&gPVa9v2ls}q> z=G$(Y^7MCHkkfk@a)w6Crl7%LL}1=;HJ>nrW-s|J()GBWRDC{+qyV?W8oYt^Q1Xy` z{J8u}fChjHw5x|LTGPkrgh7OLxY`t_op6`FmsJ&;wk7ze-bf0&G%%QUh3>JT@8Q)x zNrg?l9u$w(ZRmZhWj8Yg%hg6CzK813#*eof*uCUxueC0T~06X$X0DpK0O~|%{r~Xf!I4yo0_GEtuXcxI&gZukei%;;r_=oqW}$^{8b+=Q5&;mg#?T6zRO zEI$U(oj5DJN(Q_qGGq2*1#e6fpHRHr+rUP=*IM5)^&;FfUAU$(+qB`mbCMz5Q1H~9 zrGvLGwNzjer!%{`*p#(PQ3YFI9u01s%|s`jucsV>=##}PczP*?JmQz|-s^A7P$|;= zeEb-~_=N%3Of)&WPE^7bcMQ{`@ug@1nf(qJ-vPWmBL*6W z=50Kr?v=|hM)%VVL}Z&F!S-QT_jK=|g^6=5+->25cBI)24DQ3D$He0CxWJ2wlZ0Ow z-SjnhSWXRX514&nmKcH^-pF}ZCD_%yEJ7&eYNi=iXxMO$<@fBjkeJhU$xxZR83l-6 zy}BQDnihSWI3I^r4)dyKo~K0*r^O$Im@C$<;chF*86v~|y6Jfi3KVcDwrefs|P>vDnNg2bzdm+c5wY{W--&hlE> zyTQ~gVwfeL&Nr#~xpQ_a1TKpl?W``J@umEO&%N4zawKT4#j4)R0#Xz1;ll}WxX~^! z6Y6;|f{hSoOeoHSwC(8ONX-r*()DL|5dPG9*QZs2pIMQGBW9jwk?KbA8ve_4!nOLi97F^>$_ z;I1gDM(@XH@qf=I%GnYId!4#Z{?Qt~!yH0ZmQ=AMH!&Iz42?pm_! z^o6Qo7YKefjj;y@oe&$ydbX(K)%;+#gt8%O37ShZhr86YnNZ6A&r|AD}sZwN2n^4;dn zXyR{`*{hVj)>Gm2dBgrm)_0Zd%K|%}&I?ek{KjFh8wBl=1wt+6QriiLO~KR5r)p<> zWuce;$JrF{Eg5iwI)LhP5TZLsglP@yUJ*W)wdLzZC@sqr0ihi?*c(C_l zDtsXh-gVC1*Y}V#H{qoyyK76RHw0=bhoo*x{q>X0uUZS+x39lCJn;mBa4X8mT7Z{s zSPYu$nLe6HF?wyS1AG7X1Wa(nF5oK(=a}Dn>p1vZk|;#RxwduEe^}dpXJY8LvnfwWe`m_Olx>f0 za4quPSAvsR=o+>vhCAZ9OR|x)w7K*~fXmBW+GVdF#lF98s#cb4KFRGL4ssO`$dS(Q z9u0XhRcG_rV$fqWOH#7b1F>(XP}MNLwPLZi3DMirIlE>>ki`4r+N!cO2$dymIr&c) z=_yc!W7OAE)vA9%$~EfVlCg>X;h849zYPK;_3SX8-$-ZzaS*`9IAoNpf4t2&Y+F7_;u>B_;}A^Yi)u0Pwypsd>EWAbGYT219kxb7-yFy|IIpc zwS+x&5^b&?EuVRozT}NcLQVn@YivAw)=dUnrL+J_#MLHt?}zs;53ZfGFWu|b62|Iu zN4yTs*}lo|Y+DkgHH>#yspk{5){oRAVSpu+^@03wLP<4AnJ)w<^sn%95~ zgx-}d7Z><#!AhcjJ3vDUsNrE$U%)}-qSo&+Cp)*D6Wk%0BM)4 zq>q=Tri*ESvt+=v*VmgD+qFfkuTSBSf}a%$XJ@7!#rQ}H2MU3AJOa53FfBV^7uGHz z(Up>&+-7%iMa@3B!(L8Gxh&6=ZHFaUDi^!AUp|RFHzrWn0*%M{C(N4W@?B!=ULFpIG@#uf6gNH(9+ZvSkB=J zB~u8@R)NnqluI}EIvtfcYySJPw}9F2TRK01A5rx)yZnWuesDc-7l9y}5Ylj{wV>U< zn0?NBxjXa9-5|cj?Ri)PVvy^c?Kl^FQ$m`E{ky{vLbQHkQAqj|#nO z7YsJk`dM!V=jVOX)HZo4yT?kgdY!<2W((;Z>;|#7aS$Z?-fU()%do2_)fbB{bt{z| z=vULe$jaSFs@~oW9($>!cV5~iO$fr{C|(|f4cXHWz~$DEZ^Vl&Q$*jjB~QI987~c0 zj?^5Nx|(EvQH`CLno6diaH{BD-%S$j`3DXDGc!uqJwti*;e5JtV&Ke?ape#l>6uOn zrN$0`V-z@~T&?Wx_XIK)*4D{8?em>05;)J4p<3skH3Xp`>{^E)Csro<;Pt4>*R7Yc z_oP1eecoZKI%x;WJLlLOg5Kv~AHe5O_((!}8Dy{zbP*;NoeX= z($uB8rMcn0;Z`0>>1XTUrBC5xfIKH1_aI4#2so$2!E*#bRQ9d^LgE}5&}G4$Q(IKc z-Alc8i4eoNT<%w5GpdyfSHKHRJ&bhwBa;tl*}QJWIQ{}aYF{RG<`fq<=1r1 z@y+oa-P$DcnGdfLBh9i`XMVu3kI8^5J3#ECEW-|P&Bm@J5`4Ku2N&06uSQTU;dpKN zppG3l<#i45UGd2kC!BvV8{2{E%}(=LRAY#u?@=y6P>2o z9@LOG{2g(h_Y#S<)>K_olfJeqd?42xYS`Et`*@c%#FgLKl9UQqd8xTbuhgaj(@A1n zHXpJ+OTHFJ6{X^+#!h)m-zWi>L+Wly+&duyE*9f_-qjg7G75LA!FSIJ32C|s=Zw8^ z<@U3L(xTA8Ck?8GnY>S_M7%3F!aqpzbmpKyt6y@E*;!})P{G!W6aAD9IJ*WT#Ge@m zk=u$|(2y?c`+!R#1|E3HGIU7_`Ku>Qg?ND8Wiv;u`RA}%c4e3n@Ln7c-{UdBnWuXv zT*HP}?XSJhDDrG^DnuC{h*gTi4Vn^9gMITOUosx$RxK< zZw^{7c}xYMy7w&5-$Y0MKQ3iMl!+WpcsfdMa~R^iCZUX#i&}|gon(Lymej~_*WgG~ z+dT9kw=nbtZ?gV@a_=s+uvfrI#?5>&?xDA&M`VCI8Soa)O9nWg;>-x#n8K>uLc9CJ zc*$Bnk<&l~o$v|X@0nEf2kl74r3w_J<@gqhJaTsV}P=TQ%}PsZ8X zzc=1|SuL^lid!6|2e-8 zqs7GMGmxLrQSToG<#ACuCi+Fh z&X!bdpYXTnny4i{jSyXpAw1$?-dm6i3jLD|K!VRjKu^hlPBtLPAfF__d=@|kjNdyR zC0@Ty2CQeC>*U3~`%C$ZDeAn54A{DU`isQ!febh>0%Cu|7Z9XmU=s+;mkjVm zo$A9H$$)SX5HUrMs0PIEkO2izJ2`~A_sD>L#nU()Zt8=bf7K22F9skcZN$F=)4=~% z)yDn{{b6}ylycSduev4vivga;T(L5=8#Di+o5H^u04}LBdHLVY{cq>~w{!p7x&Q6l z|90;GTF#9kU8ZQYMl$_Bc|nomDHA*1iGm^#;iy`QT@;oN=P|@l_cY052~?G1RK0Y{ zci5|f9ywkNW#3A%Tl#1F@&8NEo!c`bu$%zOFRD11n&71Rf(-fqv;6k*73XK2@e zZ1Qo5$Qg3lEi;1tEroZq=hU<&#t2X3<4DDC;;$vx?!Xzgy}R2V02}*H~Bny^Zfc} zdW4MrVs}#8ly6I}N+lUUxRFNWvR}X-G$k6~;2kS5VCt58LBjWnfb6pmGQ^_A=*ATb zBZx_N#hR^>4Qv*B5gU5KB>@R{6WT)%Ivl2e|6@bd|B#mbhvx_wyC)1J$WcSc#s1mv zkyf7Tjc1OLTAyS{?;X9S@4S?~;AbE6#eC!=8dubMM?5d~{{w8fr32u2Lj9z{%cvrv z`x4HPy-x7i;eF>%OqNyS+PqsIJl;rA={zSG_r3uo`nyc}OWPVv*PR5#cvr|IZ*uuN zR^|TuH1O@(d#v`Qy3)FdT0q`=Of6J+O+dJhB#4|k60kIyKFVxe*4c{~c)BoLAFDLS z^67F`xP2(#S?+p|WNg4VS$DJUES;6$}F=H5AoJFe? z1`(W3?c38=HwTu|*^7yXCg4Ia7VHB|i~!d$@A_f{?wNo8*&^+PyLoA5A9@lwY`cgSAs7DY;*a$|G0l=r8zx}hGtlUUK zx6Z$g<)nLjkKcf1ysHqDDm}&P980Cub;2vEcvVA;r)cTavw6oybaJy)G%#JZePu4E zD~G-A^)WLQK^6l_tlI%=7zUsdY3-i23v$M9-1$>onq=XYn0nc7Q-*5z&5hdC92(dt ziRx#I9gevj$OV-|GrocBtxm}(*zzVzh=e~%8s)G=Xx1fOKIBr(*K=8yK!^||aB&Zj z1o)ZKyn9dvJVIIu7LS58gW;^ezd!{zuR0#PHim9;}rpcWdn-qW{-RH6nSLyW3~1-^oG2fHJNmn!C?9(a3=FQe^04UAfgGa3 z?6bg`mL#cG>)8fM?AGx7YgT92{33GCVDu>U&x4s4ssx_xTeCpPMtIxkZ~PRqJ^On! zlWkQgTU2+ecrF#~=&JLY`CjNtqY%+ERnh_(z=3k}VYTK*%;ooy0rW%}WrI>rn8vjK zp7L(Bc>h7=v*h3ykt3!gy|;eXR=JU>?AtBU*4|8&otUw3-eN{?JV>tq@;ZB6f!6tIBW}|N_DSNJ$Wx4Ol3?m<;=nlT~nDJHjN}fcKu2`-j=DP6f=jnB$ zg0{BM*EpqjxL^yu`$!bc?jIR%sD=M#V}gXNSEvTJ(r^53(xMUjONV)kWEiEe`0%i)T9z#MvH06U16aA-xE$I%OyMMjMPbbwdNdPOgWmZiFwU#Oy; zJTlSw&l~KZ4rIVZQ9`aO1`PDDr^RXIm%76*lYj(1cyt>mv~#P{8*0v)ZRiEkVJnvu zQD)QjcQIElJjjhxcYX;QMNk6C8yN1?1>*D1iA{sifMd0&+kWRsY!LsV$w6keGkPPVgN{sz=!f?PU zI1WWK1O+?wj%7ZqQoZZd8h3l{ ziD|fyhM?1K`K9 zZ^|*E+h?vBz0%8{3yN!@UPW`ni~vv*HpK~LwfpjY`S0ntn8 zp(5PvWI%#ie0VLv1$x`P*oI%2^iA>3=P!8xE@7THIDKAN4CGvJ>u|$rAOj)1jyf3SgF50$6(-){k)`3Nsa! z+t$h8cYGDcqMQG++H{U=KP(%+?;Azqy$!nBqFUjWEtz_VhvGyUPE#xPs=5NuI~HE{ ze}*gBE*EMy@3G0#u&8@urs!PwC5z8fGLA~@Wt$J^Ai+jT5qHoK`Mp>&e`j%w5giq$}Sb-W5imnGt-I zg6h1M2Q8(!)fF=AbyXuh85xKh}N>5geX zhI#k=t}0Q&$&a&j<7BQ%rb>plx4q`uyY~et3LmP@n@ti95~$N(p|d{i?}JGCff}`F zAd$-w1MWp6;8z&xP;XBKbJh$?Md-aM2;(P45vsuDM55C zF=~Y|w`RHyHTRZ4Yco+PxV^n&fQ_i5HvTZzeOTbba5qq7i2cH?alONfVz=W+inx=o zHhzek_3xb8O1ahO+wRVe9^9MRW~fszqGie$=zChn#7jC zoRg~Jz2bgy(l%p`d@lJKXbJ&aYYAgVvPwR;q`*Bn`_h_&(pss#MlSh&alL>rw_{8? zvXvLe-@<)nsVpxmw`I&{{ZLRMIRQxOyHsg8FfbE%jRN`Z{O>nnrcpBR)v^_=v2i$% z54BpgQd3LF>`d_xThq$N7|QZqoIa*^na-VPQ8}>AmoodBH~`6i=16CS7_t?+Hr@;} zDfuU32k}+s1zJ>;s*eSCX&Sb_DN4iXVS;)!++{adLq9t48KoHOYf03J(e$f?8r-`?7?=Q;P5_9^gy$ z;LFw?f_$xGP;P~$phUzvwqshP-g9)1wsB0hDC?>1+|t7BGnK`j*-J3`)e|BYH@*cI z)#1ai{U#x8HD2iq6Nti+R=P4q>d|g{FLtA1#J)$m!TP<*jTL(`E=KJAaaKC`A^e@0 z=LL;SSW-@{zvbcaSs-kl45;htVdf)VZNg@5X$ce7u%lqY%&JN~BiFQ%nx=*H&5;p_ z0Pz>ZzMk2JLwlYeeGMFtF}e764g+ba?K*+pDIY?MH)+9MgT+(8QQ!9ZM^uS7n5rkb^Y|O4(#3z3TrDH&({~)qUJAPj1Eby zt%Mk(1&({B@afV$sh>(9MFtk<#rGR^S%v3GxEBfxEeb0GsFHiCUvWW)0&s=j8^n?TB69Ewg>56}-)m+7zGz9Zhmqzmh} z904KIh#YC1;BSAjF2?s%EQ{b$^QjtZ$E1s_2JT-L4C#*2dZ_d6@yn5JrS6bKWZQX+ zmdZA$?$@q6HWQ53sPsxPR?Ia_2(gB7E?SEtFPpY1ZG=+Z(O9+T3j{~LSxqn(f~Iy5+5<2N0r26Ei9qq3`&}UQz&aksg^h-4lUNDzQSnL zo{@k+2TOb4pnAEpNRV5OzpiE(l@zDpwSE^W=eZ-XT`CH8;lk1qISkR^^Cw}O-)kn1 zkX8X9Y-b+JTd!^n`~iIUy|@=3`iO2dly>cSrpt$ysCizX=)(ztP4s50B;+yxG=IL`MIsZw4&yWW+L7pqH$icn-dyR+C5yl>SJf2ctu{J8JFW zotJS+{R_si79#xxOY{6YI%(6k&%xLGH(X*Jwk5}VT)qe0eZ;kCm~MkdKAG@YKk~6H zbV_85>sA}gAXd&T&!GIr!J5<4-oK6%bvP^s1%Lm?YNqagh7b1S5wj5W&TMLIeP85P z9Brb8CGG-#!4{{pnCRldnG=iPSm^QLmr6t0%5YSE%V4S2mgK$EUWxC4?&rbAR%o=e zNW+5aIADywCf^_$`4)Pw%spclCNW-Vlx#P2q%1=Up-&$nV*yl|*pz zBc=yC>w6+~JLRoS^Go+fMF{WKMk&yP0p%&FJ0^;C?MB3*SfEtC4(Q-a&6{fve+os8 znz_4tZ|>>o>Z6eeV)3ed?#^IR)p?e-g`$OqH4 z5|Y1=&Kdby^ty1Wke!_^4T~hJ0bkq6H?II zmnWU;(xMT7$aMQ z(Xx#3x^@n9!smGn*9q{5;s`>$az7No#%n-xS4fk=s3MAJi2Ryjdh>3tOAlPWo18 zNrM*IG&R%yam5XUm^DMt758fQ244-|ZA*kyzsA7OJF}tqrK}*OwXA|<&upCR9xt}5 z2UT}5Dm-AHnSO=MUAfjhQ28`6oo39&(3dq%V^@a=jbs)ZFgW?hVgknQR@>dtf;v}(GO!7}v zTJBZ4JkqGH89!-7xSpsBe76Sfzx~u_VO3P#|G_R zQ13R6WZ3-Z{-FK=n@K_?zIx}0iHuGkxfdaVIz^EwSVCIXT&?l=iJiy!6`90LJI`L381A z9*dp*!oF7m;e2vHYg_eK;>Q^(Wg=_bDk@yV$fZK8Ysa={e3Ly+^4ye!>0NVU-WZ4n z4f8&xmw9Pfr7hI9HV#_-1ZIYU(Bl63h!!)=aJ47%s@BhIho%qo%DQPHydn>hJh}BV zYXDaLH0cl1*(tSOoJi$VWN$NXPbj))r0W#@ z_sVYb+&#Jl-uXMbGZyuM^GKx)&rm7HtaRzD|mvs*Nqke?=qzEF2M1>tK+1_c!E+b2}ei`DpBaSma?^k;L zN!C|T5k-d5J#=TkyMOg9ukx)#_uF|~Ufpo4E<79u@t85y2>n@^3XIGVpL^y$&$ZChzDxxrp93#?l+ym0jYSKiuglodYsIitl z=C)K7yLxPHHcK~yM25!N%i-+<;5#y)+Bl31a3uqxxwA!n7EC?L4Us8VD1V9lJm?`e zXQ=vD*g{2#=zB|ZhI+8AeujIY zUqlQC+mP`yz>VTEm=N|nCr$$dFZ5uEi(`DWY-soy$$99Q^q^^-MfXY42ko!SUEqs^ ziSCSjA}c+9<-DqH$<_|r_a5#h%lUNY&80#oxO8@|OP-a-t=U=K&TCBS|5=?N5)tce2|O}F^1h3KKHlFpR1bNh?kGg?o(FwCrN-%@v*Y!)6CZ60ra zdeJgVmogd)F%0AQe1^osDf#jM%0-|$Q}Q4Ku5jOaWgWvo0-F>`DiUb`jEy4t#sc96mqsC_z0- zt^04z@6=yBPybG=W=Fn$H6ZdK<2x`OUTwLjlSiaEj|Z*h2(n{;B|z>U{O^)V^`F5fa8&iVxn3RiB3UDcK<_b99W(U3B*)%&ZojA)1h_mKf_XUG6HG63yL zbggTignQFLZ=+}b9G^7@Vn>oRV&wD$KK3N5esX#L+VZkc*TxI0pBfnOrWNx(NiU$** z4wFZvFo4dDv;Z8NPmJ;P?Bns1?$|>zpnHb3cU%gA4{&I_4_9MeOAMwy=)+GD2LD+y zk+_Gzu06m-B{-_}^^Vg2ZnA5{-N=Op3&g~Z8~#ehxG$rx`EK-x6k^ApYO{h`bP)Lz zvwh})d%y<7UKln9?Gq36dW}AJBC#4@fXaWH)X*#OP&ySI9f}p7-w(YS9P^elA{J>4_owp^c-KIk5Y2-U{@_^h(9WTeyXx4D%8lWR1~R zng}kHk2l|5>7Y|()#bFK+TyZ^ad72e-9JEU^LfA8dwWaHKqTkYD~|`_rT_6xVarIS zm=N{LQ0%nf)chf{wvpu9@wBH@sZPg%j|0Pl3M?D-r^N+3YktO1tBcgL{hkh`jvsOEDhp+s z1}C0n8pQFeHy^LQJVB+@diEcwf(T-uJ#(B{A4zRWgBIsN)GXUhZ3^}X%h#Czj@ zs>*sSq}yH4@8&0G^VM6DU)bZYU=qEk&za$tJr5Gg+!cS95+0;mQ3iI(52h7AAAOUN zsgvDX2$TGrH9pO+8>v!7V}vhV3OD)7s@Z;=Guwry$C3fNUOw<3F9al|r%hxk-%6(5 z&T+j_Kg^p|o8_CwE7oOkyj#dt1)>Y5Led&Z+u>_o>*AfHT{L*CX{mMUk3 zRE330Eiz(;k?(GrviLjw`84^Gzb-H5ektBM_BG9B6$OgAz$#_pPOD!#OPY0+U}T3k z|B!r24?pD)xl=l9kWn|LyjrN&tX@<(hiVFW_8}7ltVg4s&B#o8W(6nnNytsmi)45?cmUrTbj!f7of zY-m1z>ADHeUr4^*d2$;MBp9QJj5{I&00h&n?&()L8aAIAvaXuNIMxM=7mD6lx@n_+ zr$*`N{XptEfJU1|(9%`rJx&UU(j<7DDJMn+HHB^e^Xd{N>K3$oZTvW%i8a^@ZzWXk z8K`m%xggqFk3=ryC?qFzKw1)KA4d^YbZgIft0w@TZkQML->Fz6{=KR3b z_G{d$%HAsj)xA7|bUFeTuU5z;ehwHVNH6E0S3>2WhD`+5%ESx9o+0io{!J~H4u09z zV2Sg4J#n^sLoZ(|AuV=ZS*2!QcqmEVr+xzdXGL>qD!6vPhne^HvI-VD9~g(0W!ai% znNm1^xS~;QXIp>N6#nzC1U}eMQ%OCpIh}W5(27@=7#ecZXBN0xIFcU}B-S}f-Ewkz z9lOz?_QWdF*i)g}?aCUDrwXP)I=+`KKf3z9IbR0t?rSWfOKw;+hY}lCMAB>mdXv=q zpQR}FWOeFY#UF6@L)P^jbuC8BIgP0~UVUrQG<=h=3RBqb#qLMFfL=#0Fp52Fh#fQ< z-^0|_A>TV(i&UhGZX5VYbyS(bSAG58Uu0GVcduM-kzF(9C-`(Xp`z-%jJvg%k}-Dl zrcHGQ-gQCWqr22?f3(->>c{BL>u#*#>=-$y)|X|@!-L|({iF*@dqVUYa~^5c8mG5#N-S2Vkm+6HWhJQ!J44`_%N4$wxrG*w*DlVpqTpi`QXjYMG|0pEfy z?NvEoi#rk{VS=&ywzascF%IYjD~@d??|s)-7rxHp_eJ8lZVAb0wKr#KP3TYszQ#vU zB1;zAm+(TvxEQL5bxDjqsx&s6uBca0h!$?HZ<`FQ%JomaxLC6oVImpUbm!}Bl`=RJ z8Q?e?4y4-`{f73w zcE>J9i0Dj#7dMDhxRXwGz6ug_BJYhTlD2ob~>=^9$wua^Qv zO7L@wmp0{;jGvzS=}-*~WN<||p+ne4jV7e_{P)z2-$_?`Njq9SYlz{vsT=+EW?l(E z8~^}t5~e7%Ao~1+hVhvg)Dx$dSSL+y(MAB_EWC7gdejoaJZ9dcMafnjWyUK!{CUal zr>;y@(Q4Ix{nLCk7rOJWC4VY~+8Q9Pv8uVB9yF;%TGEzW!|DXA;{3WsGt`Rn?Z|+t zNY3B76<#tKWB@pcI6yQ%uho#md9L2q;%*|$q3dza>wR1bA#pYn8n-J(LrQIQWJ<>Q zg{FO9BWEN_9JR&fsOx4N4I5Jrz_R_A{rztRq z{ac%q54wIbK;oE+v5yKm`@HeX`ps{LE=>7vXwGH9vn%K)Fo_U%7?5DDsLE42)IitV zztebU-tUj(ScTNJ@!i~p`bbGnPk+`P4t-YP$G14|tOC@p{O;b=!1;#OQ!Kb2Q+O|R zCKzrvC(U7E@9^{AmmzTyqE^#|uqz2t$NTYIwL74i%A8&Vmrm(|b#lWS*J#@(4(>sf zz4t=$x@c(3=VSjKQZtq+?`=R_+Y@I&UBJt*%M=>Y&bL@j>10qHoM1I#+hRVVtl&k{ z`(A75hEmlhBh>540PG!vkHnA!+CdA}un_E#X`FA_BxKU8f+F0U=^bSuUO)e=AyGvT z?&juG9LZnHVY1>Mq}Ao-3gR9sND9@yC=y?tG>i4@Xw!gAydeX6a~3i&ec_5eETl1* zAXd3^bK)pOXaWt4tU}yqY0Vy!sggnb`P%TM)a<6nVW5LA z58rJ(w7-7X-MVs-&qsGU*3i{;=cW4}XcQ$HVsqHEZo-DifLdy(=>*Z(2V+N#&lo#$ zQ)FgwlXD9qU8{~>sxKs_R>f@8eQ3Hg|9v@eMX0sQif~W17aj)`JUSDF?^UW{7R<)8 zm_%$pzYo8e-7{H3J^M|wyfKk%TZkkTU!&_~HMv8Z91?~`w$sC-fLufe%#V8YxYCxVzYlCR9+Z03r5t>C_2#7N zVITk9ya$PTGO0Gr2!eOi1a|sm%`E0-sg3vTjh(<^UhBWs>MJ3MUs^leTqi_0F`nALHW#9Jx)n-uV6qWEHL3i#IqNfnZ~Jda;fLp8 zh!(|i52TG)_bBJ@dzMYXjce5=S8CuL84kk1cn|9FiUKb^5W z6FNMTCy0?cOyD;|_wj*^(N>LnH*Wna-=sQ#EH-7@;VcMUr#nacDfC9T2F!brxFqY6>e z*1w$)8Y^CrnD+mA9LMv1l`6-!IDne^KP^A|e;_p8G;b!fhO(m$i^uLToXNcbjwIHK zD80k zSCE`hdlT3hs~N8&GxXpRyQx}8@0Xdpz0l9&`kTwFT9%9LjIB-{hx-X|tmz5|RQ0@s zXn<|*1YN36jHYxzY3Y5JG~+2^BcFsro#BX<>G&5vR~CAH)x3Ci>-(9nz_$T)%W@(+F9i~;6CKHb>Khaa ze`kDWsq&Kpme4ff-`ZoGecSuNjITwY`|m$UEm)*aO!w;VvVhhT^NEjndHXJ6{u!Q6 z^6;9$c*XM;|D5?jQ{1I@LFhf#_GL9}E_ly}*`w#=VaUO^m2-xx>D+=hga z=nL0)kCY9rjT0Ff<`IXNdNdvsvl!-R!RE9ic|_Uk!b%d+&xCoA1WTCDdwZn>t|( zXS&ll58pjQT&~l!Sun&gRPSs_{M49x?_sx1I>PYo#P$RaG(yYQ#HC-`Ld!iLv zQpp5kQ{4Km2dO~9N!rQ(*35NAHMMPPkZM4BQ$!+7dPqVC=>(7xdT#*&gchX;NF;(F zy&ph8jUq*Yh*CWuAT5BXfHdh{q#8sZN_)X`?|tVT&yRb5yz$;1WADAzx8|JRTyw6S zG1nM-r(W79Y~g}s-EwND50)fi+O<)VHh}ct_mos;x4=eNyqe^&$Jl>``c9 zb+zGC<4VLP$F+}>dcz|4m-~96Z{Emb@bEk*`QM*5j8BAK#?FUsRJG8l`@!ikpe_D8 z58Cy%7U}l6JKByZf}vB)x$Bjull`$!HxHE{RaMNgUrY7qMj@^yZG&}-y-k@p&glS5 z{AyK&>mVHPe5o|_m(gR+?T5f~*;wO;7TBc1&<9-0)*lWGWO>98BEM+3gJ)KD7n;^ zKd*;4zpip7)C0Rho64)4@D=D3T9mHOt?IH1vS!s@9elLZH$bN zIFQ(juwOkGoyi%;d70^Qek~n|{U7fj!S`Xu6s@60Y>~Zcd?Z}NeBYS^y~HnbdZ|*c z&Xl9-#zTtgbD@s5J=inf7a7pNh$)1mc{n4VK)8eDaB3F*Gto!H$p3;>YMCVB+Aw9GRt4oMmPdWI)&&8_2b=__7+a>Bifoc*oXNh?76ic_sbgMj6PU-z8x&WuBpxe%7CZFIMYtv z&j~!@BeA!tb8TWmX899am|r1?F1qzwB8{_Cz9!X9Zrer=JnpDWh@`G;1R%DBEIsWA zBX81~pmWXS4MMc4!JNxS_f}^Pmt>auE;tp&*d;0FNG`X%o_*y>QIa;s}2wghu^E3LCH=>mf~*O7P_?dV)x@&g`X=V5&u22|7@ znfnz}tupD@E4k7V1X&lpHCaSm4!r!Om7i#jV6HorszC}9v6rzs`6+FGZgzx$*w4V14b~R{De_Brl30&#_mF5-r}EkoS}_WTTx>m zISJL-6COttp{}Go>3m{uYf#d`Zt510W7rv3Q47!&W6}o4o`rDrvIsZy1!HEt{?U}s;c(;lcG z_EmZ>q%CZixQxSW9}W0d$nJX8kR~4DHij;sdKDb$-<#+)}bSV{xz_uhx@+Y<#jhkxvv!H z(?TEy9&`ieW)8UbX4B$!D#xMvzYo3&%>T0fJ_|m72D)yILyc6-HF5G&O0p0Qr_V5|&P?#Ydg<0N7Nub>}|09%dkcj@aWzK7APT-zi6w=;1F{JZ6Y? z-thO3HXG*NGf!WX_FV#vrybGjBKBbiN~F$3jA<3|OWLdOEd~3nXR#F%pX>c{&RJLb zqkXZDohoU=iu76c7~S+Ai*sO4mH^i2S5yWxt;f@ zVaVKN3#~!n7vYnO;m@apKESq;BR940Rh2PyGxw{H&Fq#FTQ>Oi#lqYd_~IsH`RPcH zHQ{Wq@&3eVUj|s(J1MoUuzvh02d3Aq+m6h)jwxnK)Tp=i){B`ty@Ro5Kk9~*ch0S0 z0n;m6UGoODh6#@o-*>IInJ3A$^`Rl?3^T+_0}t_ z*+YIqVtrzWp}+E`ApY}!0nd>CL#j^+&o-lj=+reptz$^BcDK){D9kx0d>p?fzLUT;v z&F3)hl2j{2)#1W;5KjDJ^`bh-G-gfAD+KvOYrPv&&?vTi`&~*dGed(uRXL4^O8JMi zPv|kwY-)AM(SVu|DWL+}Mp?LeZujnPeS>?dZ=9i5xZQp*CA2E&QU_CV> zThPOA^uhK2&6kziE*wX_YP?&y8{oN?#D{++as%YBI}}^ zZNOAN=)6s_nf-?fW&ehNQDe-5wNFUv6y-AU#9dUS6&@=R?nS_kF|^^%M}ot+yKWTa zH|54R^E(!#$lp|3LahDW zH24YCSTSx59~r;kurGB)Xr?$!Jy3`!4HGnoP?FQLlVh038=v3&o~xqJhy`r=iN~7S zr9$4q6G?GL^yS2~j%ncV4sQy)YoPh}2)Ug}mNn6I{jc3lgaPiUUe>++sp&ufr=0iW0;9es})EIF_JHAy1nCEK+_f@yGce)A#3@Idlema;`a+?)p#97ToQyxR^u`n&jbIN`txHj85!bBP9iHHwJz^ zrkH4II@419d~$L!@nCXhcXxEB?m?6;ht1iKf48gR+;-Wxwy%b9C3SAeeIjC0Dplp? z5dL#R`hK-N-&Q&@d<%B2A5Quo)$3>4W=Udi2r6nN0e_e$qM}|OI1ycvF~-F9&hble zAtc$PCOz$!&j-+jOu0X94z^dR+*aW>@9uc6X0{xl+1i)VImbMnWHc18Y2!c){;--m z8ak*|ujXHT4_?yB$o2fRRC{T52!DRXHr@6m6rE_?s<`M&{>x!>tuq%katU1HBfl3q zqW0`zPh@HGS{qVVQQ9AC_E_+&LWoiW9eqK1DNJP^QVQLnMoH?ez(7+6%|_PImB$oy zz~5gb88`Z#4)7~5vdWoODr8Zn-;swr8*>i_#=r)t1Z|qk^kn#D!@Sz~YgSj%Xp863 z)a}`vF_KDtP-aV524ioNWK4JQJBa}QJ5(9f4=qne{xbDj{%SY9znr@ zNQD1M3+?6uPyosRPwuL!K#*nlRU{B(its`L$k#w*Krj$Y9ySMnjFBEFgcdps=s@nv z02O5+KshBjpc4ROjtoMF1iB-GfY3igwb22=WX&L;+|Rz6+CP~T|HNd34Dbr}211}@ zLm(K+FBlm}zWX79kvd3svG!TJf?b(2oKz*(3Sa&-TuXmw(utFFnsTF6o}-Mj!|~UY*zXEzcCW8q+uch_x}M-=Ko*kg*8d=+9ViqoTM6P^W{fsT> zF?^cAN)%4KTLev}wjH_hwjuC(=r`Qsh4T9kg=q8Mg2X=t zAcLR`Hv<>ZFmQ&$&3KFMzA?At5iCYM5p~nm6;i#BSE|ox{*XiT%>w~1eGj#>!it$0 zyu$&Y7hxc=;&e0R=`yQodqVZc4OFtMk(OArjH*oZ0ZOQ@oUdy%!nA)X*_l;ZPV&Lv zSW@+1@8OZKZQ|T%-zb^EN8^oEzFhu?`)N(xF6zC9Aa!RJ!Jf3-eRwktGoJTQTjaGI zqXYYPL1)lm<2Ol+H<}BXUA~cjn;1)M?X!^4B)%JJne48jA1OlFkW-}H0}pyG z_aK9p@U}Wx<#9Jit#wlB)7o=UjAoCX=*KJHSd143FeGbB$XU>(OPVoZABk`X2Uq47 z#*5q<_ZGO<38i%E?7SfCc%_I!jY(LMTUbl*R@X@K1>MuxgQ8o*sY%OK+tFK2Q`fCn zW0jU8C7bhbM%6JEcX8Eb*VXXv8@@Jg6nc+F#eTU&1w@>er>L&#tFK1}P1SDPE{&}E zj9+3D(RLaj`KMK1HdgZW~;XNdz`9EmOuC!Gju8 zVBx@TvdkDc#l57`Tl6>y(vzp{SKTOC--B9A*eRo9Wqg;u(k&d+y$UC?CvUHoR4mA9 zyy)&-FPF}m67LU3yuQF88bxGbH+@|Y zbGbhz;WV~>XCVFYTd;tT`EFm08gHN_A1}u0GU3j7v#vX01AM#?ozR4~p~3Oii+V%C zfGCS=&V?*SMRY4XjBiDSdRiS_XG1@IqEVSh-w|V6M(WdOzZK$8ErYMQIvqMsOTyMt zZYR8c=*-#XS?%O7ovZos2(SY-S?ek^2bMiuJt&jN->0CO`1UY&E~Xmi;#oxZATBd* zGl$AZLWeqUmO`6aUXMtEW!{!FHl%RLO76hsl%!zc(7g7KpZhXpJ)D{%61PwjNyq2y zxR2SPAp$!E? zAiVx7@43tLjL!rpDeG3IX&#(9^FXaZih){J3x7}RV!!cx=L?|TAQvFY8&Vod&VTkS zo4#WE{oIb61WH({r@RT$|v@x-KG zK;rU4m_U?2!^Ts;2Jvp6_iqBvR!dn%s+-W9=8TV5#i?GGVvUbx55cpes&8w^+TBnT zS$v`_Lc;e9PJ+n^24B4EgTB3Q)NK}GM8CJq!w#|J9AH_NMUzdjXRnw^=yYg^Dde6Fl5Y^kRN*RPK|e`-E>P0q zp-g;US0cFU7HIzQz}?p@=VjL>VswqQ+M)Th2yKAAYi#G+w0JV-od4 zU3nVYxAB4QeQv{#(&SBUOXs~?=CM50QXRecSK;&;b+_1xlfQ^9^-t0b-tHgkSr~A; zJ2+v(c;H!vY+FC%FpXk4+0_lMP1#FnKs#6LalCHo8r}6z7FY8 zK2l+AR7vaqHLZz}$m0xdq$J}Wg;ZzX`2VS`o zLQsADp1$dF8*3XYGTgXZ18Ucxn7kO@;Mc}(?98Khe$iW**2rY&B2X`QBJP_U9mwrE zM|XeiSd99x$J{(mx*)3Z;++w70tGsL{c;=+Wrqehn)!<^+w+p-wd(GSRV{caThvEg z8y%;%daFGdE||-5XT1Rs)41d=u2`7P z812$E8|e#=8{Z7^njr>QpZcY<%vI}i(K+a_Ab}JmH?kabVhUTg2I2IsdeD#TK29_l zb2hn>mV}awH+1V#U7FA;w1u%r4`iiZ%uY4d;)=Ct4&3fpeXR+HgP_utRQy^LHU6yK zv~vBNd51JcA*Pnf=`%gIwEUMkVIKDzU0P|^PQ8&(9&$)=p%Fese0s-)CN@PsOP|A0 zBjdAkq-btm?I_!K%L-nh##mOqD>5|ht>MwF{Eq0){x*Iygh|TRIurd*Qut5xS^_KY zg$Ljd(H!W2l+Qo1CqnYNjy#(7il^K}*Jb(`(pN6+=InoMK$NU+D;}2mSz~WZP2!*4 zjEQt;aT~{FeFzH*ap3MPR=BZzdrIL`x!cY3zf^W$nO~@2WLW^n zBE&8DXZHjI13)GS|C2E&0HlQoLY~L~LHbC)>&Re~J3>ke?dJgi=?0JsKvaMi5M+Z2 z&asQ>7~zNZ0{mgPjrA-6T?iR>k@&W>x>cD^?1Aj7wHklY17EJaEWD9rmLAsw9BoBds@;^0y za-XRGgFh?~=?Rblf}sGJe;q)1IXS2t&=dFvCMyeuk|+FgB;a2dLZ^2!thQ zz^<790Ise808mQ<1QY-W00;mTeA+$$00000000000000e0000oFflPLFg7hRHD5$> zVPj}zZeLerbaZB6XmWI4H(y0~baG)Xcx`N@T3v4%ITU^0Ut!Hkt3;xKVZNXnQUOVm z4Iv;%6IF_|GGJ!h3}fUOnrwb=e?y-7u=WguVQX`Z_Ngjd`x>8f&;4*tKfNqs^qugO zvZQ6%Cp8O^WXfhV30u}*~3=t~n3=fows(;cFHYvo%RPi4o0aLv<<7~C$vbzT@b|v8{xYM5Rpobu)7nSIUX@5h!3P-)Y1BNEx4=%72C8 zUedT#+OSQ(FrZf#gJtqaBs&q&yGuAG6rW-j((1NdJpq)1FCEs@fPe3j<_@8_%!t;{ zlAaLOJHo;gngGTYBY4(HGepu)k1Sbs;#$%eTmcwMA(2KyAe6%(4h4c0Z})_`L7;$z z2RWp88>|8djco6tMXc#aLg*Y(f{a)?@oh8;M;|haDL3d4mo4L1ffn}phZNRZJ%k+l zw~dzZg+CO+K!kAJN$YtbtXl%0G2IbTN$Y_ju8=HX_gz`-w`wu}p5nkBU`mov<3*m8 z@WAWH`|l(b`bZ#g;+q#2#EG8Nd z{z);QQ6IHnlb4uAd)aMa&Gdy@jePMCwa0g74>x21qa{<9H?ibfEI!k{F|Vou1<*89tBUD zD==Uz`~?jA(`y#`YX&Gfe6Z#w`|9*%_cBCpxuE(*rS#i!Rg(D6K~F8PI=5Kr$stv= z`ONlf({dPWL(%+1{u*p~y~bR~6uaF}~m=bsUkHa)s%+f?8{@uc}QO!}p_kZ9Z^XqaRF&G-1XR8trxb87-Zq zqAi4?6^BlRvL6Y6@sksCjQ4ReX)>`A-A`yKbfq$rLxEzg6eyy7r;QJ(rh+M>qTck> zp;lfLgoD9x$U2y(DYudvivT(N?F+z!b0#m3tDcv&Zp(>O#DQEE@BdxNWu9*sK?rrb}0gXfwvs+ z2YjeDnw!H@X)3HNRvY)}LKY|_GJ~itS8lU~fFbCIu8`5IHlLct@m*|0I;TWzW&?R2 zI-7*MqeM}UUX}LTfhQxL#52om>!zVWryks|T!R9AoeQd*^FUzpI*{Z+0O>tnG+zN; z8R(14PrEH56yz*kwRWFZ@y+ZBcZ@n5h&NkQXwW2X!7J(j)TrZ!y_=WGUJ@yn9Xc(z z7<9Y%8@|p5w&{*7@06acU((Q#piEy<_XGUP@ed-Z zXrZw>$pa{5rpT@_9|%!h#2A-(L!E3eSs2?od8Ny+x_Ngj=s*FD!WJVPWc4H=Tsa&Dh(1|7l1;RTbJh%j9XK5z~O^ z^KR?}w45m@G}i4;@)TzTn&?z}4)es(eXqz|HW`c2YQLiC?9Ei5V|1}!xPPf!X7PSN z;Nk5;{o~f$CuXS?bLBCAc)9KG!{L?Qe^fURZ{(W*{GX;0{a>m}_&-%wfZ&$cH&qMHY--cOTfF?!z{Am=CgNcq!VN#8totK^yYa{nZX- zsd0{2gAK`rVAOcwAF|>HoAD{GP#@-C4U6ceJSh!mZ+xD2d}1p$=@fh6F(WKdKp&Wc zFm9}}WTuB9GZXVqXo;~RSuDGy^w8G{(}mPc8m&{|)I8a`VSpBEjCWC|4Lt#K_+)J7 zA$TN|Ckpm4w0V}i1S^Bt=sj)P%^gS|#F_(0V!wr}oXQVPj(9ES`pweyB8yuhJtk2k z&y)n}-MrkdF5X|T|AbaJz`zs+5CEX<-}k>KH2;5S?Tt;ZI$gArXFmBom$qpsweuiif7-|V%^X(p#RUJsqM z>Df=uxxvzJl?3^CJ&d%P>h3}$_26?rL2o6qG{EMudo zV6U}>sja2eNz^rd?(3e4n?{cJ`Atmp?)@2%jvx9K*3xd`$!)V9S!U|6efM;s!rW?30@D7lPqiI?Fs19gY*1s`vZd*Ke55tGa~PE0Wx z8hoW(v6aH6{9^V*-S%o6%1*<2NVqN<=}^{sn4-KWkKqMcm!yv|RTO(iS!`Gb2XR)O zTjQUJa}+teg6#NR>6sEAsoJ}H;+G}JT`sf-r49~5XHZohJ4|Ra^sa+ZcWSePK516wQ7JoQ^ zjIOLAhOjX?7pG6vrip5$rQjSlS)Sw@;7zd%F&}XjLUI@NR;~U%nT&GQZ}PPN_2tH| zQ}?O79*p6R!7^Tn;fnb&DZXY;vQK{3rMdQBX=1JtI^M=HM}-pRKT9Jl4bBQ0!l z&O`EED6@0R@z`Q2nSpA?ThnO<^8P*6JD(13bhI=b>4(o?q-3I`$cRcjozG_Q!6_8fvE0%fruvY@hn@#l(w|(n)uF_KkX&ySE&p z0JlZbhL5?O+opW8S}~5$_so~3B3T>kR2zjqb-$k_>)`6iKTjT{PmV93BN;9R2z8ye ztWhAhvh;UJ8q(=L^vvJX>lo(e?IO{t0>x^^g!vY*3z!nbpx@zs^=J0`Ub%E)oldxf z9b6|v2z1#dJJ{*KW5EBTp1aya3@5RBez9OY>;VMqups}(E zq1hvmIxEJh*SGdnxPMb;3sZTLi6ZhyNIo(#=lG=?Jx3JI#UNez5cH(2?QhQK@&$eF zLq!{Z37mR_eZLoSuKYx-HiT<4-{{@?vBYj8o6z&=F;@ky^OaZ+NgWn?^4p3!A)2^u z!klDYJZ5KUnoOytDHv=X-1q!^=t5+JONjBm8I~6cI~X|lV#nhj4Vw+q6JXd_K?Obz z{UREZEG5g0%>H4LtJii`ALRA8d-@Z2NEWMWt%OrFs76f52v$6RV$RfgT@30iC6{<-bbB5NQjil+t6-dXVETUKcx zYYHOhCD@squXQF)Hc^_<2wLb;~b@zR<<$Ip~}yhoJtS&tHL%xH4er#ESxg?A4j z0^VgV2cLTUPiOe93|w%?r#>#?renEd;)d}02Wma~&U>W9N1B#Pj64GjG!oYf@1VH5 zH3r57ROL!Wbf0H<8p0gpzgXsuT2Y?SAK_==v@fcQW`oo>58CvfjGEFun}j)E`Z&|t zggB6aoKV~`iN%ojusm65&~>>XH4=e0$9y1(AxcYk6N#5C)2Y-o8MLY;kd-~B){>C{}=IDoR$X#aLY z9Q;6Igph)aggAi0;M&B~AHd`7K~ZdRZF0LaL-HaFqQ*Nty)3pqCxdr%2K}|(?#>u? z06h|&c;ns#^bZB=hXnv&vqy&jltEzufXxsFWJs9c1vr$)1DIAY|DD*%xBuA&Lj_P! z1bFJ3(osOdJUBWqBFtt^ zB4!yK8X6fJ8W0exf<}s=37?;&AHRd{9Vl696f$xpNQaV{7&b$sz9oEb4K+#iHOLGD zo|YJyd4h+{4Ni{U7Jeqo=m07CUIrB@HAz+3>G=T`DmF^C%GT=o0v9W%yTjM(`vXWn zL`+mvXk>V(wA(E!J?H+)$K01+U*3LXWTC0!BW$GnSeClF)B6)JP_Un{aGtTz@g7na zC5@f+XSdDG_v+?4FFQ9!Px~kEySH-*8dN~|UH#4OnMm*=Br-NOG}fgI9jbCy2N=mY z`ZF-SSl+q5nrA#cM5tlnSn0vi%U&ZmPmogAU2b2gG19s|=WoS}c+)TM$l#Bi#Y>#w zZ|NG6e_ZI_U=ni@f0{e$D(CzhSD2vJJ>AOqbOtaZN>Qo3F`r3?d0yBwW!T$NptX#_=_}-s>A;J4$YI+0%dkZdAB(kv>Ox&pCJ^gRdnLsh-a!SVMfcST_-<1w^ zoAl;!$3vQAaV6DC3bsEQ9uDV#4z0XZ?C)wRelw0$_% z@}6@&HAvQ;8d{A9BF@-BL10SRYkhd#bgq(u6`XgXK})B2>-c#NsGZ(dHat2hv~ zCW^73RupcMvof!X5^V~aph?J=?8L{K3P;an;MAYgm?~E3P*`p zFe4_(?}OggD;mf?ZMx3DZ*Jb74+m z9L@eU_ixrd6SiAFyrtNFGC33qUTq^`$*QOy34#fF16Wl_x#eBo%YJRqv2AnTaNhNy zhIG$Om;Pur&gG(C1DY{ZX&24Qv%_XW6l*%EO!$}b-JS%mcV_&_wED2J`@C+>j9ON+ zs-wxMrH$eE{8x;J9g;&Ly0aRuN~77&+f&kLFMAxus9Psuj`oyB&<$3eq)O$dcCEL zNevz~RRmS`y||UJE6vLa>J|GwDH9iS4SC0oRi!q}B?jEkietJi%yJ*SI!gSs=!v_7^o*?v8 z@g)A-vlm~gLajCp?S&V+g?sBnwlNJ4Xk8#I(9WJ2)9(HOp}!QFf$z2kH7BB$R|yI_ z8NLNtZbM1=05&43{UOtU^lvpwpoNQG$#Gr!+n=d2rA-T~-o95Y{@T!UVr2~1IggFj z+gUm>rmF}PVxV~HSTO*DE`5#CE5FR6djMw!a8Cw%lO)WPMnw<#ncpye7qd~`j|LLA zAs(2besJXAxHJR-5KVX>j#F2Fp|=F#5#N4RpE2;9prO;6p|yjU9$qk4)vxoPCSkG&z!=GvIbdfk`;%nraD z2$R^xeOYo}*`mOkoqLcR#n`FF&s2g1dA7!Y7&w0M(EHSH+=(|XAb~%#tLx=tSdn|` zpH$%H{H8M&uLTG}%*RNC{yaJ!AoGW`&};eLvk)n?cR;(TjnS3Gsws(K#XWXZ9{NXK9Pc9MZ#m3iTnZNs(>hShP`APuvTZ&f?Nie3MP3=NJ{AQ0ytv&t#EZzq-$}tqiSv-m^n>=AsnA z*3#7VZf8Q1FA(e0Vt}WOd6b5FSH+CiV9l!tIXe8SFaAB&#BOz2P}dYrg3gZXrNc}1 zWU3Wgni%+LS{X5%_m4b8y`?dB$g(4EHq>1=2EoH^)&YMJd{s?W4x!j#5bt1q`aXK+ zhJc^@{j-j?xC`27R_)9QncYj()4eBD@Kii5RdruhEc+3rP;exNnH)JSzq>uko!LZTjDSg3efDYc(7A5w2`8aHY zUf&?x>LO5{?koGLBDwWB;U^XHQ$jZWs6$%dr`+vJ`O1KNd6n_ZRkPJ~l^A`vHFXqk zO#Efbzutkp`}N(%hX!)LPy=)ebpPYAi;0ig|E?Sx`K#WMNIpLH9k-JHYyNc0|4aIH z9uZStK;Son3weBPb?Nc8VBt687O%7xIuZOQgZ>5I>$j!*W1N;aVmcn!(w|r# z!att6FjnR|VF9#WG}QxeXPg}05fmRFa2)<__x$;G>SnYH`_&K1&zP7{F(J)t(e1Id zv8}D;eGN_Y-Rm_``P;-OrA$Vu)wVTPZD+iO(Cpacv&~n@PitSlwKqu)$-vMEaRI^L75C$k^ompbQvb z$>fP!k~6^vV}n(6>|BG2hfb7LT_SSpbT=UVhNu@g;t-1bM#Xu*Gn=mWIEddS%{ zh~ET)+|$%xig@u$o=69`0ht!#>9*Y>Y#!|ZI~R{_hTIVo4_#Chk(C;h)|tCBUjoif zw9hl}SbH!XXA?SI$g6QYO6}X26<_q69;O0otZ!E;M@NHZ*AQg7_t^B?AU_EjpmruR zr*Xqv6(bF`Xv@U(43S4}*5p+tt8c0LU%HK|el-*)Muw$!o0se^6T@qQ^v``(bRYt2 z%ZCD?F2})KlWe5l8HjC{bIe)@_KUW{qOU@d^R2?fBSd1cDTnQ6=@{S`&5w!#R&t>9 zMW|19|MMoGF~~UOVDYZD0F^X%qUtWpg0A7!v4ai2Y9} zK=vu30G1=C^htHgLBO`-oBhztr>joQ>d;!TGGbJ0`BU<7yxFqLS#w+{n$BicJns`O zJ=$1fpb$8OvzBE1FTQQZvrx;|JY>=$EqteW_iv#9`Boddbs@|H9YL`TZLvP`WCnXS zr9#q0RoU3F-doVxmOG^s%k=Xz0}V7&QuJlm0o_NfA+;HL>V>HBaXO=e>SJG8Q=C|j z^juUHA7_Vm^kTf(6`yJ_sdzL_ zQP#Pec_>H;PK^tktHE$3Xc6`3o@Awa>PVI-`7n)eQfi7wJ85wZg0S0aC&f|@tz^{? zyR}l1uTwm$8YILY61xqt{{pG8`+=I?gy*=(ru+_Lm=)5)2uFcMG?o_A+SaCon2pF; zHD30CbA#5l%VM<@8(`AXUgK-ybp7jxpZsVG+t#G-f}Q431M%{_Q_ZP=P9v)=WO+(x zRYLf!#Llwd@?OZ;rw+uV`Roq@Xm%&m%2<23C-b0ApRw(*>N?jod5|GJPTIq*vu1kJ zW$FEam}VjJFJmF?vKo^<%#i?gv%p9hJnL903!JOrFB6Z#*6-7Ga;@U!%gtsv;_UNq zFKJrqSr5ipx~BGyU2#2|oVOn!W8|j(I6n)QM<4Hbp%A9?Q`r04P&8Te#7Re13|%OdV$3ojGDHG%=Cz$SBI@ND7ugwSQSu$q~B zNt0Ffr$}+Gh>9CPrI>1>3Qs-LbK&BL^?G*;c}3=u>YN49zgAB%3*FtIrIW$bskbSb zEppA~hvK>H&b$)pbIj-niuPxq{PPvYnztujjxdRJd}Vub>pr9?s>lr>sVEEg>_&U_ z7y22%AHp4I{oigLD3WsqfK5MO#;cfE9e)Qm0r4lk76TwWpf8EW?;)_^L6s#n1>^af z#%jKhCCcqB=nom| zO^(PSqL}w<@UfjkFQQE(l!s9A$Xj+_O6Qr*_H-T(X;HOugzx*TLf{M7_cfwJT47OP z(&Xm0U3>|nD8p2>bdEPyF#H)8V}7X5Z`1ZxsVP!aV20UWhQp$h55virxV#G1r(~s# zP=?GMod_W;f;Gjrw(_Ytd9IigTl3}=0ShzS3fh6ptxrV2CoME0fBMexTd&tYM+OfK z>Qg5c8HF^OHUWXWZ~Us0wh%HwZXHtnmz8@Wntw9p5Y%gSF{|K|N3G_gc{iLMGUzC> zuJoB?u5lbgF5AI~L#!!R1g|hs3Cw`5mEWIretiK(f9JtDGo6dBVomygS?Gt%@45uY z?@ni#N7^Al5Ee=T0r*f(3H%jm|0r73cZ!If=t_OggW6{jCK!7lst zK8_J0Gy4h4{Nj+?s|#lah`&69jK4KG!J*0GQjAn|IF_MoC&wjeG55l}ad1d>uX}|`i&azXQmr+?HUe84RqT(Pp5{c z3YmTC^{x^*(g2*o#eGWMIHbMgrj^z|w5NdIeq<{SRMRW%|B^EmM*wJ5azt231<1;q zlyyFCTq3SsRDQ(D4JDcl9iks!Nclyq?A>-|MuzHII1VzJI6RUsMeizmYKU>UyD)ZEuc@6#si!qX#s&uZLF-^P;AkHjb470l z)DpE*ncQsneSSs*d|w2qHtb7i4A-ioiM#2N@=ilGA0V z-e9_?l{Ilch-L+z)*?r;>zd`>&#%F+hMMKdqxxMUV!uT)8-@mFfR1-Z3^$mUx*tkC zcrcJ+?8}F(@14Gt?kT0w^S2qz%fcTVnB!)-(O1Ae&P%c3C}oWgq!RJh_woccZ(Kso zq4BGFYd>sl0~3;%dt#eq5~c_vu#XT&P)s2f5Cq`RUZ>+6$`1Z-`0p7RQ#xORQ}R>q z`npU|MTM@gt?!tk`g-+%(Kzt%&!G+BV`4e$+L3JK6&H!fS*c_s7sXq!r4!#A@YN~t zHUO>zV*7Yu100glh6OWQLtN(xYx;f*lq$8XN0#>A2~hNOIK&YHpCMbslV*lqW>Iyj-jR(j>qn6g{pwC#3 zPbRv<^9=4;Z{|FMOJW)nYn!kmF)7aa=s(#>$fMHR6w-|Z2}ysuEn6`bCDqNa`4*7A zZ&~FBTvD@x2#t2TWEYB*2R#w}wIzPFjQUK5j6wRWh$DH;nZu5J_5Fx18%xeltDj%g zI|NHYH==J@LjblWPLffiS9PEZJ=5uc`t`E`*N(WW0wPo=W7cw&)>ev*rZ?IdjB#(@ z22HRAd*HG;9)*8hycyiJ|5W+FW8M_z3j=8Eqr2Wk9$fJ8s5>G2MloCjXGGwok}TMj z1$G?;Q>CG--LKtbdhekp-IsMxGQb&Gr6+Vc{e?|j-%vUH`$CM~!SOqJoblVmYYH;| z+ql;3VB2;33Vnz^A%_`w1rP0#*pwT!wY9Mw9^yASrz)K{6*>1qs3hQvGJfjX;H`rI)acpBQqJZ+(-C{GNegc(Paju)U7ycmbQ;ltzbhCx0vtWtQjHfMf zpzZI8*VoY03v-j}nQK%3P;tcJ6uV_BpQ>gw4~;4Dt5#p;nxq&e0`vj$1frCJK8||0 z%+&N=2Hx#8%D;uT4!LeJ^_CvVGm;da)=2i05CDyu%6}$d#%t1q8W8;^54tWIL;c-T zAsvvgg5oNFAe)pZ-E;vWDpjHz199E@VAt}y9)m%rPS{>WxCTHti+x@e?@ZEmCDbPo z+wrZULG>Cx{{3&NU{xLF9yxU*s;9d1-cN3^Q%3gn= zopv!C;f3xVuek=%0;v~Q?~QyDi~emc{ZY;rgozZ#HeV0p3!m-ofsH_I!l^Ep_iq0n zbs%6DQ4Td654iNZ{K_nv3ck-L)tW{hgsqP7qxCA99+$FZ9({eC0h&G0SrK)5X_-UQ zuzF@6?Cwn*PvqZKkYLA)0xOeL(2s-DYGqbqu~Q$dovFw1h!QF?cg4EHJfr~-uQXp-LC0~&ca8zxye8Fa!>Gm;jyHr?+(QO-q^;AR-d>D#zY zacDJQ{qtkA)Ltx5Wm0$e)(;HY%QkKb>o&pw^t6G@%`%sDrXMu-|7gxd^z;%-9XaaE za#d|f%wL;Mbz;XxRf7S*~%wImm9}Fyg$_DIc)8;Z^ zAe34$*_CXRRTZwBB_`f|s|97l$6MqG()#{6z@Pn;HbT@qytmZ7JRH(ozbxgzWKgb- zy^J(BL4S@|h)%&})Z%h-Uc+ZCDpQ3YOD-gpn=wAMjNIOQ@hN2IYS3ZQvL>_Qr(${4 z`eyCuS*Yo_h6rLkXEo$=yFcwasHYWH5-N-0RA#t1knSwmRej@m-1Bbbc+*-!cG+#v zI{dKd8iCbjoszWkseC;5Ggr++{b-aZL!IkAM1N?IO(+Ge=@A1s+Bv1l{dNV0|N?APF$BFvxhUt zMJ$p{&Ul-7*-4W-fnG2McHXE0yf8qF=ILHB2q3i&$(omA^I+Is>hZD!hrh&|KRKQq z^`+!xX<1CBsoPj#K-jxYiYjM)S)3(%l+M(!OwSF}gM#zB@Lab$y*?kU+p=@Hv(T@f zoe^GB&$Ckb7xx1K8%Y;G3sM9m)MCRHQh_t~m5h@xhb+a`Y83t3An?eo0>U&EI*S^w z?<4IelT#lM1Th5T4bO)|hKA+c^F=yXIh6|2+x67VC$eAc$1GN*is!WK%>xwv{wEzc zgwc3B29-Pkg^P()fQTfTSe5#C&F~pSI>O(X_bn^FEl$lhf0$;VdDG5^ORMc+drv@FB?@x)(`l9! ztSnFgwJ&yxn*zeKSt7r;z?cl9aK0sCgHzW_Mh(sI$3Ge!76)l?M!%6Uuzg8`@_vIG zV8!eZ6Y#WYhePZ^ELxK|sWh9*hHyYzB)*c+1Z5m$PYjf3mPZZal6r*A0C7)v; zD7s%-%2zFSu`JTwXr{MNOiId&L=E3uxVoi{C+@CU%MvY4bvvltrBY6(eRcNcU$j15 zJz;mT&*uWMzyA4$3VzhWkj}22VHUF*e26p)J#+`k$E4^O)hp^oNaxpRr-Q>W39St1 zjezO>Ncnrc<*dK5D~f_b=bR_r-`*c8>+0e$VR&vUd;EKPR=|4tl3|5Ts3kC`mz+)XsdEF7YZJp0MW*hr{%1>*6iAjzpg1sGBm@EC1)jO&t4m=p8fZevh>ycI^hBXepPsIsf#}rmq z%%3Sx!YHZoYC|GNpD#P-t=k+dHFwsr4iwY4EWx27@f;hh59`COV@Q=-td|?(u1UA7 z9r?+=Vg}aRVG_HYAxp*-S&vhH)N;yY&2c;G1GMNic3x}{88m|D1+s4}4h(@8kT4G4 z!+I=S3=OIp);a%ViQ$p0p@plE7tj^C{fLW+e6l7bDL?zm7|1@o`zfW=cF?MmK{d*=`SS;peN6X{abxhn~D$B#DiX&HmcC$o{)wD+|Y5zACB6e1u{uN=komIp%#-doe~5RMynx5>9p^&CTAi7 z1+5p}*nb&U87T)Aw;M)zC@X;}*tHM3CuxhngFKiM5?%3O9Gx zoYw(EAL@AgU>eGObz#|y2~=BkTW}?0{~H~hG(_b=8_Si8986J-;@bvyO%Ih@4x+#F zXYdGV=yKU!hPv1>RSdl`F&XcTqQNv6N849#>@NIh<}Jmp#Eni=gGkzdbG(iI6q|&e zXb{Y}(4nU;ly%OAD`MMiJ;Fx^1RN2-K#ei{;Y?iTF$`J!C+V&&zsD&CO}f0gnz~BI zk8_2ufw%MYlUB%AF<2j!;NMhA7%$$x{$@t7qt@=l0~``4H)evU^Xv-No9ew?brmPs0d zm7E6Q^r4UE$?@s5Q5=_LAx7Z#-$tbD`!Y6-h zCjf>PW4)`gY@V%jGUo(2*gcwqz(NtSM=im?WAq2HK4)c40lPd;UyG??I9it>h2y}s zDac9@{kO=~Y?+Z0S{%VbG5HWR3+tj{KaW>m2)HH}kmk}kJK#0)QW*jVrQ^XNORIZm z0CC7W#S^KtSiql?TP@f)bJxZe>itZw0k7|0;nG5vt(6!9<4z#u5V@}hJs}8q+LL(m zZRwYODD;_i(f+jL>7I>^US|Q=UH>JoaeX^%n|jrm9lc#j|Kb`1*^;9pC6*_f!qA(D zs(e9I*a?4{n;K7?^U5^dePPlb={Ch^4(67 z2~5t4yzBUVKpnals#D(i8O1KTdbGxzfzLVxH!??ma(FnHgKelMApN}HMFwFI5COZy zak~dp{&+nH+gZm{G|&*G)Gy1k2Rv&C&8NR|JRIiNIC;kag>AsR3g-gpUl!eVpP?5z&rj@e9|!CH+|(3J@m(% zq=;^A9!0#Qn*KYUA)*Duiv^{R65CFa+=+jjCoI!4v!ejA6YG8PuEr_#+z8oAG`Tq# z$eI7C{nBcL61`odpd#VW{$JaViwvIj9Nw36!-<-0W=uQnL;3a@ zxoQ%C+;PT~CXo;gK>oZ}6Wd3vSq%|mInY)U7?WmS0CKRhunXwbtv5Jtpg3W79J|n6 zLPyN~@EI#636znhdl3VWqdLQzxsoUHPC@-rP!bKNfVxc59mI3?tnWw;frqeeST(m) zQu$3*V9aUQ!qiJp_QSwT?tz4+c3ob!dN`h#M%hkw@`S<3Y_wUMcHU#=^3040qjCUa zbp4Fz>gh7IwAWWoMK8V2#)zJ&#%~Xe(Yo6MyQ@>0ZK`eNg(N+))_iqto8U4;{ z(7)=sK_#mRjE=Nwsh9mqhI)?Qk;Pkw|AN@Id_6H+bO zAD$%DJV|%G{9a2ck)UC}%fE z0Fl}TqiO^Si#sjsxtGBWDKgFp)unba9eJD1Uw!w?dCLV35>8WbFSoc?krL9oxtOwo zh}x#zcPb#;{q6;Of%OuC#oEID(c;fmMCXwMVh35K+I`{tEj?uu2U%->-O}+nT=k#7 zVrRk|q@U7X$R*NI4aDzbGg?Po{0_78WB&jy69QF2r9@qMFE%oj@-X!Dc8lH!0N=jU zYD)2|o#&By@}n7tb>OoZ50#IGfk>mph8e}EA9h34nl{y>6mTY&gyOGjps9&n6WN5p z=r*-`W31N$+T4ndr8^FAlq{ee)305y$MqH|HG?SKwX*tu4@~9pvqinFKT^-jJxP3h zRTAIB15znEm`szFwbJ#I&?g=J5ISC;!{my^&c3#SBg>oLIy zP{`zvZMa&=GhfO#o#p7$_RQ&Tr!}2`mPfiO^XB5;TQE1b-$M)kO4zd_i#GE1v3Tzh zFpau-7&#qVw1|&qZZywQK>a&MbPOHg^o3U8kWl4f`HV$6oBA+j#b7&n2R(XxQJ^h^ zvDxX=T|~hfX6yJ{*`M8I!`yskl)m6}n56!)p+zH={=mu@7{y|y!L0L)6J~_n7zKn~ zII(~C$@Z9*Y=xW0*Ar!%Q!^;Wd162IB^#v{6s3h$Q73Qz2nVCFS8PJ08e3hqM56TczM8@9vQZkeG5`nLWH}FT$t~7TRWJ*!g*E39|oxM0+D#C zCz{dQY5G(0;3b4_+rxO{o|`m(xP1|Pxa9seQ9o_5cpCZ8YPB0Lh}=+QTK-opZynQ1E~H`d7%F4u zypAlK{hj*wo6>>JY2N_Sa?7kSnb6vvP2-tWD!ySg;QdNB7TQXQ10$ z5Amt#BekHfIFu*~&n!!1+B2+;6+>%5uH}P|X88+NY0*HpL8;(?XRNkAmd1<^Renq7v<qOmt8wc&5q$yosy_au1-4gLya1=diG@Htqo!|H2W9384QtU4Et-7lL^HvQ9 zQghg6UC`TeLOz`Yxj*Q7Ng)>4WtmtP#n^+ygA;VnzpV8L?Y1 z6e%J`&QFcBKUj`YvLM%A8_*S(k&ugb1=n+^8WhfGN+Nch*_HXYofd_I!Td~ zEeMK@Cb-{nSv8k&L3D#DQEu>6G%_Vy0@Lb%aVsyZT1j+tARnEDb;e#vimw=JyTLp5~U)K>IY!!}J^Q5c4J>sckDsY5O#<#`Hwm?%&=gm0S|v$6o&k zJtOuf9(%fIbn$Fw2-DpiW9E$=oVwE^giml%>uBv%TQ_)>_nw#R^B^J65~ng9bY3;z zeeasHaH};hskP4}M%vcaevpsz4h5 zf-lZVp0)Hvy_aI>pb+ak+jXUL?ZWg*TcqpBuZ-_Lw-(-Zm7m5fcKTlcML@d0#m#xC zjq$R%+j4QT2U1TJwgdec>aG99J21YvD|N-q?h}D<8IR1K`Ept!rf`y^PlbDs>@$)y z?waDa`J3AeZmusE_jV>$@1N-6S#;33;gQ9ba_i?Ah?H}OjC-~%XY!3b{brCQ?IWXs zJboVDeqAGaag*3!iRpC9{l%Mz7^WKdskm{rdb82_oo!3{ro`qMHAtiGh|R0GVz(ruo9eESm93LHfQll2Dk6jvJW&FPM+NVunS#wy`~Gd z-F1^ab*xWk$uUF7;b%BFM$va3VuU-tWypv!725@=O*FI3MK!fkH9j?u zbB=(18q2bL2gBGyhv1aDm!TZVzo`+x`EOSXjnW`h*qdt*(o2rBc5?|^h4tJ2|{vU&X?>ktM#9hum#I$I3GoN^9d=> zN73uupKc*j{u%t!njd%6d+C=wPJKPe6I{(4Lna}0C4D~^O`mqnz)?2h1qhd&QY#kh zB-k=dqqOBfsRs7kA9Bju@LFmxw{o$em+X2Q(WN3EO1Rp@0&lX+O*NZk@=M}=YtR{R zi1b-)OP=MaMo>I$A%CV?p27ROnZ&R> zXnwxBygM@_T~+EzuCu(d&U)thwukvOO_aI*t6}yon}$S#WsAETfgf@E6Q^vsIQh>< zL|o8#xagmt69*q8!!EAH{8=t@pl>A^li<>hoAg3U8*Up(hN&E3+Sse9ile*k%8!g} zNC_1{a48tL5Y7#K_-3OLcU4WAO0F?!ba3UEHG8=?+)0r^(f+<3Af$PBufMl#Y->j0 zR1V3^UYWb)cWbUwvz)Qs{Ir$;m6Cteqw?j_sEovWd$h}UujHkZ*xTZ49|J#==HL`0 z^Dz7r;_@H#EUs z4&Z;R?R}s}lIoFt7C8Y+yHP zhl#z1Btt%CP{OIYu`)4g_LiK6&hjkKp2do~g|!BkM#*SPV^eZQNLNnvmn*xtO|YW? zgA*fOCjjf~f2s1y=_UIcj{qn85i6B$>C%eaCN}oiURc;VK z0kaOs9@KUrv(*I)KVe@~iQX7Y^E&M0RFJLguwH?i!Mbo{40~1{S|I@IY+UfULXh9J zX~-O;i4jg_dKoNBC*`xr7|KW~LkoMk*#p-qa15dCg5K8Br;UGpcx#(I?kAF{6L@*(*gQ1*z`1e zjsY9WDD}v*#}hNd6FhyDvd*%J_v{D9wJuF=3cMLnh{%Ghpy_o8fKbYDeXU`6_m({s z&+b|w;&Ora)YL+OmbX9l9=icR?9tkph9pk~H~9zv1X*I)0QXMP2eCj6BW|(GcPSsL zRl_6?^xN7^Z@Bnl9j!Ye2&$@Nekd|zU)*?R)M#JotaLRlg8jc6ad)mvE{)kVCHvjX z?0uCHg*(0uT0=Y3J=lr|?ctOQ!k@#CMhsk^cn7hheGI-_ZC^&h&b1Tl?DB(Fdm|qRqq>l54U>CRF1E(RCYV=#}c%c9B<&{cfUNqx;Dk& z6l3Nv`@rJe6gci|W1{oMuZYH&qwgAWTLUI+If<(U z;8)3O0=LS0Moy5kOG|I?Z?gSQGCV=X;0p-$`RtYdASKeVqAKbk!mfv|MezlhuWON-IJYh&RlKNoY*cQ@5p`w#)Y@pp z{AwPmA$3?}^dK7j!x+)s&n0Ogt4l-OM2pTFTK$%hFQcOyrz%t*bJEpg+$jQRTfoBqWQQ$X$lW z8S3m|m{!hiTa5~-Q2yatPw-{<>Q@Izf+MEVs>_zA6L=ZQLIy;BgqJRLJLQaQ1P0Zo z=zne-yU<>^HuO#R zo3`X!HnH}>yBEF)i(5W>UeVH&OwuKg0U4ejP}wBlddL(ihG-*xI?CvQBLfzlgGpmm zncP9KMy2{!xgWixIvRZ)$n~KxXP`GZ-mW>4)AZ4!e>=TC)WU&!M#%s+`K9gGdyAH_ zZn)-$Ha@a0Y<)~EDnYn=LqoSOUrW?B;k|$=<|p}rR@dQk<0fPW>pK|fudh=tw@O!eSa=*;@@qGpm-@8H*$_Z@G<+V0 zp*quE*|J3vZ#Y zbdfIg0pAQbM5P-EvD$;qwEcwbrAvm+Ocow!Aek0mCqnLst}RXfRY8vjKZ%OgOD&zE zb*O^@A6=95f!If`;RAZZVK$t?qHLi#Ml(Q8n84RVUxL0fqrBdj9%}yO{yV;i(q-oh zoA<7kg)U@USD6A5TT!Jd0b@r!!{W7xQz+fJ-9ztfqx9DrkTbP)f#3HS(uk| zgHEYE{&<46_lqY$%^tjI;Jd?(=Y7QH8E;(8ngyZy>?+Xwz#DF|5??rm?EpXg16ul6tj_ItFn?iZefn;zbZQy>C$l4%@FX zFxi=Iq5BHqqTP}SH}k4%uS#g>)gwAkG{56YEE`cXRh-VxugS>tm9Itz387Q9!;p!V z>wgg^mB(#OJL}HsxcKVRR5E~egwV9nCgc9vsa77|DOXVt=HDRJ`0Xit|62hLvEWIh zl;dzO*rhFGlW)AX=vEWwsouvDTSP=%W8wEqo!7g#C5QKdi5B;5C7#~28{+$GfSAhs zyNfZzxTN3t(3s*#!7iU}{&Q^l<+G^{A14*=SNAAEatZYo^&C#nOEt%u5jB6-$D3T* z8TEt4S2Eq-5cRFo;rsAxeBPw?t^%j3$GTd#anchUc(3*g#Hb6*T5nhv8sx5hg;3np znLfzh)wGS-oux^U{y~?9nrHJ_v}n_B*L2IPKTjqJ*b*fsHCZ)*g%pfrBWs4A5A-N( zIx}iXtsPn)7#Z1J82m#MM&I765(9cV8mWB)cjdGp5B*Bk*JpmjC}qC>cj6yA-30H= zv|Gyk&vZDS-rsh)_QHC7Caui*ZUb0cnf>-E)dS5r~9UMPOzvy)=DU#?HPa! zu=%huGx+eMzSViOHup}BMk7wFFY^6%dgfQ#^-irjf26D?g_A{%P_?4@EFh@ogSRTm z%$U1ZPGD37*F30P!<6ICfTM}E>3XAV&tpq{xc0%uQ0o0)j<6BK_IANHl@g}ig4#sZl*x|J2Snj$L{gclcv1@xs|${49dZvMFX4yy~@q4Z$z zKPP&>KX`x%x7x^nwd0e|lHH9ka8y}z-*_NrW>B5&{Ct@rl!Y5R;`|9y=JfJ(AS=xC zB;|GUKIdp3Dh7zPmYX-iSVeD)AG5?YwbmDQF$XkjXvzB@WzO?%fC&t7Kd`|>E)o12 z0vzqFaBmDI;bj|?T41N|=IX^&pJ8w<;Z8ndr(rvFilLUFXeziCj@=*w=8{OUdLJn% zC9qEd=@Zr9cxN&o-?Rw6+IvO@B+X3dCwzZ-Yu#E)mOfnzNYv3@;L=AMaz+f;79ir5k%eWAQk3eTvOiEW2%PVt;Jf__y+m zjWhvoklS0pr2sEO%rVFqnLU{Xldn4pbGBN=vCj>KoH1-|dR_Dw8ijBF45YzQ3EG1l zKbQ>?hbrr~9RMtBAGqmbeRT@M5S=QSdebVF4ot1_*=by%ubJE{oqEv1?;tjAC z{1)ztpaDf|0|{Ox*xn?uuBHBq4VxaDTdH?kL~9&*%Ob~xeVcNJ? zX2_F4k1OB$q*WAb2RH6FyTr6S{5tl%-Nnh`n>@4Bs(+$Lm$ToM55LO;c;?~^`zt?J zdd>eCI0a8rF!1^lwV3vwzq&00y~qH?tdzK*ri6W$-KxD;b`EJ1Se5ua*j0kK{>-kW zYt8hoBMQl0YD4p~w?^XWB>+0=g^AXV<(G+og;0Tq$l6+D*!1|gQWU-8JN+vXUoPsJ zc9#Bgljm|yo1VA7wtZ4%!Y<;wsV9Zt~_k zRV8+HT_;Hl z#}iSE4T>)G5>h4gw}fzKS+`DM#(T3>K3Iem*lnBf_IF&6*MAUthDOY$qQT)rVE%7) z-*CldZ-p+>wfLSi1AfcoK=;EMyrIod%8)|BxWWs7CV&dGtB);SGr;MFLqv4B+mxoA zakSsdt4hq;5`ERKCx_Dx45nYEe`Mr$c%@HDaZ|qs#jAY_dJk*W%|gL)wUJ5hp!#(2 zEulE-`>7q76Wbj9p+&zli+8eWsnZT=l)XIscm~=LS&<^|{BwBE>q#QeXINyUk7A{r zeZ#ai0D5Bvs=KBU*z&2W0>j{_ob7e-pn_V`My9akVC7oZOBSxvTVF||Bt{%dZ>R`H z>?FEwCs)8-*|%itv@1_V`90_pzmi%zjgiFGXM?WBQqmRDNDe(g9|Pvv(dNf4XB2wo zsI{n^o)58QpMLEr^geL;Oq{s?;--R#Uw_FnSr-bEqyOEeg!7GT;aSrHKP3FE=&x{p z>6uE%H7BHd2Y*>KQF@oq;_=?$ik^#iwf?$KY)ehYeRlQzIfdKJ=Oq*}_5scuh+v0| z_8oXx+RBXNpH^jHvK9n(`Y~tso<4bUSGfNs?}m$${FfZv5dAI`L43ah6#-}4gW92! z0Pan+tKbiy;TD)zlLu!z z(TV5psemB*QW1LUwE$*Wquuld;jnev1B|x=%Ugj;TJ|PV+|gjTSM0a=2(~|hGK^|a^F@7b#*U` z5=yw6X~q>BHeBKay!tIA=X6{%RVQym0}@uR>_?xb#~dfk$D>ukz3W-#>CnUJ2}hw8 zO0{dbd?q0*F{{eFy=jB~{u@iZf390uMXp&eg}<*q9*qXAW}&E|*IX;@JaUyKug;%bNxG|XYIn1N)P%eE2tqt=v85@^3TYXM0nMe`5sX(^XdtPWKY7JaGo0wy4hOu`Php1#_zYSUt;Mp zI4k^B&($ZS!O{3AD=YRmxrM`Re^?!{KrEch&7nf;%72 z3sG(YCgHH_1f9|aLM?{2?F7WG=w47g4mNcAZgQLeNfJuerh zX;k3FAC=`1Tn>4)k!sxdQ9&%#pjlKR#ODzez6b~JI_K%@dqA3-@K%!BwIkFU0ku>@ z)3&Am`pXqmt%dJ9)L$8%c#J`~7w2X#z{@r)2QBo?9?qm1zp~MVz59CtCb(f2@Rfvf z%(GcXT?>(;@|;(y%0|euDE~GJ=Fnu9$L_OPFdE7E>gT0q-M=917JYZg#MI&NObg!M z1_6?Kc394@CpLjN31AZ(GFmPm!FHVK?t{rZuaF9l^Z@_fF2=7KVK?jrbnCJB1g{bs z9l`pK?<9SF8J#b2y60H{b^!nwSC^H*jXDeU#61lXU7kK2zeToz)b&b2ZXytCVlsQy zO$J<{v;a!P)h2cCNAxZauAQ_m-R;&E!RmHLKYv}5?Qdqc#O!xZEQB1pjFN&LUnyXO;|*MN+K-jy!oBYCib2Ob}6)fCc~FsulF_Wj+B zF#EMfU;c2N6=985gCjuC_M_C@!iaR}C8x&OoHmh>yJST)hi zwZ>ULR4szYNsVUN(>hb$LUFYyt&K7Q>6Wc!j+dsUOK5<-V5GZVc#`F9m=_b@Pw-+W#V8X6E#)&O%Zf4EHALO>Z0IGN@9Nio&LZ{EGSrq>uHmoBW)PU2BEMf4w_e;edMXRHf_LR_0JGn> zbbkUrpz3FK1&T=h;CkRL0zot-q~lO)!MlGk`&@VPcIH*OLHvu`^RP(7Aon@@aUS@F zqzn=Jdq@6*X~IG{C&+lm;p#W+3h_#gtdhWv2E72@onEvt!|Bcn_CxBsYHC%wB+oO3 zHI?1-)qf5=U01?1{n4QUJq~Pbtbb1*7WvdJ7;dQdv)u?O$p5CLWBNpHkBwsWI)UTN z4$?c=4dQ6yBuMqW-pqcQX zaGj|@wa-6k3PC~GwGJUJtZdA|t5Mf4TQ6qsN`LD6w8LI?(hgK`$+bNMz01YkhtHw# zQG|?g$Y3AnB20)-(PO)ycXC=)RM@9AHJ7Lu%h1f2U7at1H`Q$?o}EXdyzPOcOO0o@ zU`uHZd^3tGLQs+O&&SrXEo_+4TDv-u@YJ!CnQL`RbHhEOt$dX7&(=ZOj}c^m0vA2c zAW4`AIH$zHGXz0Q?oGf#(i|DkWyzCUTU^c4OT9)*h~-+Y@GrF;)y{(};)SOkM7jTw zEr7IaUbAKze-0qEFO#}*>EzlNwsM&T(CJ}LSlXlz?jkqztm3Dq6W1DJk%et{B<^&O zp1*&&_&LXG{J4^TqWiVha(1bmPKYC%VPSD$B+Q^BcCw;Ca<$A%hc1kXhx)K&jST2s zVJ3}}0a(jXg7|3sku!4{+EI+BTe5eBLvy7i0q~;ivHwYv=s>Bztb*E z>LCc=r3j|j@%?ryewH^-wW3jM!}7sIrt2(K3P#)7aO2Flkx|@>r zPRM|ZB{<)=b;eFiBHiln-LoP>x?bWrQ*V5Q!z`h!IBf87gPKtm-xDfPpRb$|@1=M< zb5Wqx&$-B)?6UxPZ2GQfijcmwAn0~}HD<^�QB_`%{k>tlRIR`0X%K>5S1^ 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 z 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≪^~ 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 O)zv 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 z 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 SP!+ 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"a=!xkY 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

      Xu0OpoF-C)ZOGDNS{z!yd>TfwR(M3532@J^ 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 z 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 z°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%0DM>l|>&O_+bNjgEBs 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�iP!5Z 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

      4RAdjFDS}u|??e2nWFqt1=k}gfvTd(j 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 #RKX83; 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

      L)6EI|G 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

      5*)BKj` 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]x{EDs?*GxJGOc0t&9G?!=B3^CIw%Y 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

  • + * + * The receiver takes care of synchronizing receiving, suspending/resuming and queuing. Waiters are notified + * whenever the result of {@link #isQueueEmpty} changes. * * @author Axel Uhl (d043530) * @@ -25,10 +33,34 @@ import com.sap.sailing.server.replication.ReplicationMasterDescriptor; public class Replicator implements MessageListener { private final ReplicationMasterDescriptor master; private final HasRacingEventService racingEventServiceTracker; + private final List> queue; + /** + * If the replicator is suspended, messages received are queued. + */ + private boolean suspended; + + /** + * Starts the replicator immediately, not holding back messages received but forwarding them directly. + * + * @param master + * descriptor of the master server from which this replicator receives messages + * @param racingEventServiceTracker + * OSGi service tracker for the replica to which to apply the messages received + */ public Replicator(ReplicationMasterDescriptor master, HasRacingEventService racingEventServiceTracker) { + this(master, racingEventServiceTracker, /* startSuspended */ false); + } + + public Replicator(ReplicationMasterDescriptor master, HasRacingEventService racingEventServiceTracker, boolean startSuspended) { + this.queue = new ArrayList>(); this.master = master; this.racingEventServiceTracker = racingEventServiceTracker; + this.suspended = startSuspended; + } + + public synchronized boolean isQueueEmpty() { + return queue.isEmpty(); } /** @@ -37,7 +69,7 @@ public class Replicator implements MessageListener { * time. */ @Override - public void onMessage(Message m) { + public synchronized void onMessage(Message m) { ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); try { byte[] bytesFromMessage = getBytes((BytesMessage) m); @@ -47,14 +79,61 @@ public class Replicator implements MessageListener { ObjectInputStream ois = DomainFactory.INSTANCE.createObjectInputStreamResolvingAgainstThisFactory( new ByteArrayInputStream(bytesFromMessage)); RacingEventServiceOperation operation = (RacingEventServiceOperation) ois.readObject(); - racingEventServiceTracker.getRacingEventService().apply(operation); + applyOrQueue(operation); } catch (IOException | ClassNotFoundException | JMSException e) { throw new RuntimeException(e); } finally { Thread.currentThread().setContextClassLoader(oldClassLoader); } } + + /** + * If the replicator is currently {@link #suspended}, the operation is queued, otherwise immediately applied to + * the receiving replica. + */ + private synchronized void applyOrQueue(RacingEventServiceOperation operation) { + if (suspended) { + queue(operation); + } else { + apply(operation); + } + } + + private synchronized void apply(RacingEventServiceOperation operation) { + racingEventServiceTracker.getRacingEventService().apply(operation); + } + private synchronized void queue(RacingEventServiceOperation operation) { + if (queue.isEmpty()) { + notifyAll(); + } + queue.add(operation); + assert !queue.isEmpty(); + } + + public synchronized void setSuspended(final boolean suspended) { + if (this.suspended != suspended) { + this.suspended = suspended; + if (!this.suspended) { + applyQueue(); + } + } + } + + private synchronized void applyQueue() { + for (Iterator> i=queue.iterator(); i.hasNext(); ) { + RacingEventServiceOperation operation = i.next(); + i.remove(); + apply(operation); + } + assert queue.isEmpty(); + notifyAll(); + } + + public synchronized boolean isSuspended() { + return suspended; + } + private byte[] getBytes(BytesMessage m) throws JMSException { byte[] buf = new byte[(int) m.getBodyLength()]; m.readBytes(buf); @@ -63,7 +142,7 @@ public class Replicator implements MessageListener { @Override public String toString() { - return "Replicator for master "+master; + return "Replicator for master "+master+", queue size: "+queue.size(); } } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java index f250ce5408f..008fdc55171 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/CreateFlexibleLeaderboard.java @@ -1,10 +1,13 @@ package com.sap.sailing.server.operationaltransformation; +import java.util.logging.Logger; + import com.sap.sailing.domain.leaderboard.FlexibleLeaderboard; import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.RacingEventServiceOperation; public class CreateFlexibleLeaderboard extends AbstractLeaderboardOperation { + private static final Logger logger = Logger.getLogger(CreateFlexibleLeaderboard.class.getName()); private static final long serialVersionUID = 891352705068098580L; private final int[] discardThresholds; @@ -15,7 +18,13 @@ public class CreateFlexibleLeaderboard extends AbstractLeaderboardOperation Date: Thu, 7 Jun 2012 18:22:44 +0200 Subject: [PATCH 235/339] added test case for bug 723 --- .../test/PrematureOperationReceiptTest.java | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100755 java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/PrematureOperationReceiptTest.java diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/PrematureOperationReceiptTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/PrematureOperationReceiptTest.java new file mode 100755 index 00000000000..9b67319827f --- /dev/null +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/PrematureOperationReceiptTest.java @@ -0,0 +1,64 @@ +package com.sap.sailing.server.replication.test; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + +import java.io.IOException; + +import org.junit.Before; +import org.junit.Test; + +import com.sap.sailing.domain.common.impl.Util.Pair; +import com.sap.sailing.domain.leaderboard.Leaderboard; +import com.sap.sailing.server.operationaltransformation.CreateFlexibleLeaderboard; +import com.sap.sailing.server.replication.ReplicationMasterDescriptor; +import com.sap.sailing.server.replication.impl.Replicator; + +public class PrematureOperationReceiptTest extends AbstractServerReplicationTest { + private Replicator replicator; + private ReplicationServiceTestImpl replicationService; + + /** + * Drops the test DB. Sets up master and replica, starts the JMS message broker and registers the replica with the master. + */ + @Before + @Override + public void setUp() throws Exception { + Pair result = basicSetUp(true, /* master=null means create a new one */ null, + /* replica=null means create a new one */ null); + replicationService = result.getA(); + replicator = replicationService.startToReplicateFromButDontYetFetchInitialLoad(result.getB(), /* startReplicatorSuspended */ true); + } + + /** + * If JMS replication starts and the initial load hasn't yet been fully received and installed into the server, + * the JMS-transported operations may not yet be applicable on the replica's side. This test forces such a situation + * by first creating a leaderboard, then starting the replication but holding back the fetching of the initial load, + * then creates a race column in this leaderboard which will be sent as an operation through JMS to the replica which + * hasn't yet received the initial load with the leaderboard. Trying to apply will fail unless the replicator is + * started in suspended mode and resumed only after the initial load was successfully installed. + */ + @Test + public void testRaceColumnInLeaderboardReplicationAfterInitialLoad() throws InterruptedException, ClassNotFoundException, IOException { + final String leaderboardName = "My new leaderboard"; + final int[] discardThresholds = new int[] { 17, 23 }; + CreateFlexibleLeaderboard createTestLeaderboard = new CreateFlexibleLeaderboard(leaderboardName, discardThresholds); + assertNull(master.getLeaderboardByName(leaderboardName)); + master.apply(createTestLeaderboard); + final Leaderboard masterLeaderboard = master.getLeaderboardByName(leaderboardName); + assertNotNull(masterLeaderboard); + Thread.sleep(1000); // wait 1s for JMS to deliver the message and the message to be applied + final Leaderboard nonExistingReplicaLeaderboard = replica.getLeaderboardByName(leaderboardName); + assertNull(nonExistingReplicaLeaderboard); // because replicator is still suspended + replicationService.initialLoad(); + replicator.setSuspended(false); + synchronized (replicator) { + while (!replicator.isQueueEmpty()) { + replicator.wait(); + } + } + final Leaderboard replicaLeaderboard = replica.getLeaderboardByName(leaderboardName); + assertNotNull(replicaLeaderboard); + } + +} From 5fb51d906d2e7e449a15533954b3c3f7ddf33892 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 20:45:36 +0200 Subject: [PATCH 236/339] added logging to track down bug 736 --- .../com/sap/sailing/server/impl/RacingEventServiceImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index c1ae0a4339b..44e08f1e47b 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -233,6 +233,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } private void loadStoredLeaderboardsAndGroups() { + logger.info("loading stored leaderboards and groups"); // Loading all leaderboard groups and the contained leaderboards for (LeaderboardGroup leaderboardGroup : domainObjectFactory.getAllLeaderboardGroups(this)) { leaderboardGroupsByName.put(leaderboardGroup.getName(), leaderboardGroup); @@ -244,10 +245,12 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen for (Leaderboard leaderboard : domainObjectFactory.getLeaderboardsNotInGroup(this)) { leaderboardsByName.put(leaderboard.getName(), leaderboard); } + logger.info("done with loading stored leaderboards and groups"); } @Override public FlexibleLeaderboard addFlexibleLeaderboard(String name, int[] discardThresholds) { + logger.info("adding flexible leaderboard "+name); FlexibleLeaderboard result = new FlexibleLeaderboardImpl(name, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( discardThresholds), new LowerScoreIsBetter()); synchronized (leaderboardsByName) { @@ -263,6 +266,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public RegattaLeaderboard addRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds) { Regatta regatta = getRegatta(regattaIdentifier); + logger.info("adding regatta leaderboard for regatta "+regatta.getName()); RegattaLeaderboard result = null; if (regatta != null) { result = new RegattaLeaderboardImpl(regatta, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( From f67aaa19eb62758e929127229485e9569cdbfab6 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 21:45:48 +0200 Subject: [PATCH 237/339] added more logging --- .../com/sap/sailing/server/impl/RacingEventServiceImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index 44e08f1e47b..eca604ea543 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -185,6 +185,7 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen } private RacingEventServiceImpl(DomainObjectFactory domainObjectFactory, MongoObjectFactory mongoObjectFactory) { + logger.info("Created "+this); tractracDomainFactory = DomainFactory.INSTANCE; this.domainObjectFactory = domainObjectFactory; this.mongoObjectFactory = mongoObjectFactory; @@ -266,14 +267,14 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public RegattaLeaderboard addRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds) { Regatta regatta = getRegatta(regattaIdentifier); - logger.info("adding regatta leaderboard for regatta "+regatta.getName()); + logger.info("adding regatta leaderboard for regatta "+regatta==null?"null":regatta.getName()+" to "+this); RegattaLeaderboard result = null; if (regatta != null) { result = new RegattaLeaderboardImpl(regatta, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( discardThresholds), new LowerScoreIsBetter()); synchronized (leaderboardsByName) { if (leaderboardsByName.containsKey(result.getName())) { - throw new IllegalArgumentException("Leaderboard with name " + result.getName() + " already exists"); + throw new IllegalArgumentException("Leaderboard with name " + result.getName() + " already exists in "+this); } leaderboardsByName.put(result.getName(), result); } From a2bae85b61fe0cd5100b8f42a1df4c6109f4daa0 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 23:31:48 +0200 Subject: [PATCH 238/339] to hopefully finally find and fix bug 736, added the stack trace to the INFO log for adding a regatta leaderboard --- .../sap/sailing/server/impl/RacingEventServiceImpl.java | 6 ++++++ java/pom.xml | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index eca604ea543..f91e77f617b 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -1,8 +1,11 @@ package com.sap.sailing.server.impl; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; import java.io.Serializable; import java.net.MalformedURLException; import java.net.SocketException; @@ -268,6 +271,9 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen public RegattaLeaderboard addRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds) { Regatta regatta = getRegatta(regattaIdentifier); logger.info("adding regatta leaderboard for regatta "+regatta==null?"null":regatta.getName()+" to "+this); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + new Exception().printStackTrace(new PrintWriter(new OutputStreamWriter(bos))); + logger.info(" at "+new String(bos.toByteArray())); RegattaLeaderboard result = null; if (regatta != null) { result = new RegattaLeaderboardImpl(regatta, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( diff --git a/java/pom.xml b/java/pom.xml index fb23b1e387d..a926a81af0c 100755 --- a/java/pom.xml +++ b/java/pom.xml @@ -141,17 +141,17 @@ -Dfile.encoding=cp1252 -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Dtractrac.tunnel=true -Dtractrac.tunnel.host=10.18.206.73 -Dmongo.host=10.18.206.73 -Dmongo.dbName=winddbTest -Dreplication.brokerURL=tcp://localhost:61615 -Xmx1024m -XX:PermSize=256m -XX:-UseGCOverheadLimit -XX:+UseParallelGC - -Dfile.encoding=cp1252 -Dmongo.dbName=winddbTest -Dreplication.brokerURL=tcp://localhost:61615 -Xmx1024m -XX:PermSize=256m -XX:-UseGCOverheadLimit -XX:+UseParallelGC ---> + - -Dfile.encoding=cp1252 -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y -Dmongo.dbName=winddbTest -Dreplication.brokerURL=tcp://localhost:61615 -Xmx1024m -XX:PermSize=256m -XX:-UseGCOverheadLimit -XX:+UseParallelGC ---> + **/*$* From 185eac9f241a622b6ed0b1d8d2593eafc4e40f3f Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 7 Jun 2012 23:36:07 +0200 Subject: [PATCH 239/339] fixed pom.xml to using proxy on master --- java/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/pom.xml b/java/pom.xml index a926a81af0c..c1c27a3cdb1 100755 --- a/java/pom.xml +++ b/java/pom.xml @@ -141,9 +141,9 @@ -Dfile.encoding=cp1252 -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Dtractrac.tunnel=true -Dtractrac.tunnel.host=10.18.206.73 -Dmongo.host=10.18.206.73 -Dmongo.dbName=winddbTest -Dreplication.brokerURL=tcp://localhost:61615 -Xmx1024m -XX:PermSize=256m -XX:-UseGCOverheadLimit -XX:+UseParallelGC - + +--> - + +--> **/*$* From df45ba41fcebd6b16ae012dad389926e5d5c0ff0 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 11:02:24 +0200 Subject: [PATCH 247/339] added more logging to find out how the regatta loses its column --- .../com/sap/sailing/server/impl/RacingEventServiceImpl.java | 3 ++- .../ConnectTrackedRaceToLeaderboardColumn.java | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index bc06098050c..7c406f72c80 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -270,7 +270,8 @@ public class RacingEventServiceImpl implements RacingEventService, RegattaListen @Override public RegattaLeaderboard addRegattaLeaderboard(RegattaIdentifier regattaIdentifier, int[] discardThresholds) { Regatta regatta = getRegatta(regattaIdentifier); - logger.info("adding regatta leaderboard for regatta "+(regatta==null?"null":regatta.getName())+" to "+this); + logger.info("adding regatta leaderboard for regatta " + + (regatta == null ? "null" : (regatta.getName() + " (" + regatta.hashCode() + ")")) + " to " + this); RegattaLeaderboard result = null; if (regatta != null) { result = new RegattaLeaderboardImpl(regatta, new ScoreCorrectionImpl(), new ResultDiscardingRuleImpl( diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java index daef38abcf9..a98398c50a0 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/operationaltransformation/ConnectTrackedRaceToLeaderboardColumn.java @@ -5,6 +5,7 @@ import java.util.logging.Logger; import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.common.RaceIdentifier; import com.sap.sailing.domain.leaderboard.Leaderboard; +import com.sap.sailing.domain.leaderboard.RegattaLeaderboard; import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.server.RacingEventService; import com.sap.sailing.server.RacingEventServiceOperation; @@ -49,7 +50,10 @@ public class ConnectTrackedRaceToLeaderboardColumn extends AbstractLeaderboardCo success = true; updateDB(toState, leaderboard, raceColumn); } else { - logger.info("unable to find race column "+getColumnName()+" in leaderboard "+leaderboard.getName()); + final String leaderboardAsString = leaderboard.getName() + (leaderboard instanceof RegattaLeaderboard ? + (" for regatta "+((RegattaLeaderboard) leaderboard).getRegatta().getName()+ + " ("+((RegattaLeaderboard) leaderboard).getRegatta().hashCode()+")"): ""); + logger.info("unable to find race column "+getColumnName()+" in leaderboard "+leaderboardAsString); } } else { logger.info("unable to find leaderboard "+getLeaderboardName()+" in server "+toState); From ee72ce9a938312e65d4d9560031ab68f1ea4bd81 Mon Sep 17 00:00:00 2001 From: fmittag Date: Fri, 8 Jun 2012 11:04:25 +0200 Subject: [PATCH 248/339] removed "events" (for now) from the hierarchy of creating events -> regattas -> series -> fleets in the AdminConsole --- .../adminconsole/AdminConsoleEntryPoint.java | 2 +- .../EventStructureManagementPanel.java | 98 +++++++++++++------ .../sailing/gwt/ui/client/StringMessages.java | 1 + .../gwt/ui/client/StringMessages.properties | 1 + .../ui/client/StringMessages_de.properties | 1 + 5 files changed, 71 insertions(+), 32 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleEntryPoint.java index 10440d040bd..b09b0888d12 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleEntryPoint.java @@ -36,7 +36,7 @@ public class AdminConsoleEntryPoint extends AbstractEntryPoint implements Regatt rootPanel.add(tabPanel); //, 10, 10); tabPanel.setSize("95%", "95%"); - tabPanel.add(new EventStructureManagementPanel(sailingService, this, stringMessages), stringMessages.events()); + tabPanel.add(new EventStructureManagementPanel(sailingService, this, stringMessages), stringMessages.regattas()); regattaDisplayers = new HashSet(); TracTracEventManagementPanel tractracEventManagementPanel = new TracTracEventManagementPanel(sailingService, this, this, stringMessages); regattaDisplayers.add(tractracEventManagementPanel); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java index 40fb0265e97..a998efdf62c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/EventStructureManagementPanel.java @@ -1,6 +1,7 @@ package com.sap.sailing.gwt.ui.adminconsole; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -23,6 +24,7 @@ import com.google.gwt.user.client.ui.CaptionPanel; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ListBox; +import com.google.gwt.user.client.ui.Panel; import com.google.gwt.user.client.ui.SimplePanel; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.view.client.ListDataProvider; @@ -52,7 +54,7 @@ public class EventStructureManagementPanel extends SimplePanel { private final StringMessages stringMessages; private final List events; - private final ListBox eventsComboBox; + private ListBox eventsComboBox; private EventDTO selectedEvent; private CaptionPanel eventDetailsCaptionPanel; @@ -63,6 +65,7 @@ public class EventStructureManagementPanel extends SimplePanel { private ListDataProvider regattaProvider; private final AdminConsoleTableResources tableRes = GWT.create(AdminConsoleTableResources.class); + private boolean supportEvents = false; public EventStructureManagementPanel(SailingServiceAsync sailingService, ErrorReporter errorReporter, StringMessages stringMessages) { @@ -77,37 +80,44 @@ public class EventStructureManagementPanel extends SimplePanel { this.setWidget(mainPanel); mainPanel.setWidth("100%"); - HorizontalPanel eventsPanel = new HorizontalPanel(); - eventsPanel.setSpacing(5); - mainPanel.add(eventsPanel); + if(supportEvents) { + HorizontalPanel eventsPanel = new HorizontalPanel(); + eventsPanel.setSpacing(5); + mainPanel.add(eventsPanel); - Label managedEventsLabel = new Label(stringMessages.events() + ":"); - eventsPanel.add(managedEventsLabel); + Label managedEventsLabel = new Label(stringMessages.events() + ":"); + eventsPanel.add(managedEventsLabel); - eventsComboBox = new ListBox(); - eventsComboBox.addChangeHandler(new ChangeHandler() { - @Override - public void onChange(ChangeEvent event) { - onEventSelectionChanged(); - } - }); - eventsPanel.add(eventsComboBox); + eventsComboBox = new ListBox(); + eventsComboBox.addChangeHandler(new ChangeHandler() { + @Override + public void onChange(ChangeEvent event) { + onEventSelectionChanged(); + } + }); + eventsPanel.add(eventsComboBox); - Button createEventBtn = new Button(stringMessages.add()); - createEventBtn.addClickHandler(new ClickHandler() { + Button createEventBtn = new Button(stringMessages.add()); + createEventBtn.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - openCreateEventDialog(); - } - }); - eventsPanel.add(createEventBtn); + @Override + public void onClick(ClickEvent event) { + openCreateEventDialog(); + } + }); + eventsPanel.add(createEventBtn); - createEventDetailsPanel(); - mainPanel.add(eventDetailsCaptionPanel); - eventDetailsCaptionPanel.setVisible(false); + createEventDetailsPanel(); + mainPanel.add(eventDetailsCaptionPanel); + eventDetailsCaptionPanel.setVisible(false); - fillEvents(); + fillEvents(); + } else { + createEventDetailsPanel(); + mainPanel.add(eventDetailsCaptionPanel); + + fillRegattas(); + } } private void createEventDetailsPanel() { @@ -121,6 +131,10 @@ public class EventStructureManagementPanel extends SimplePanel { eventVenueLabel = new Label(""); eventDetailsPanel.add(eventVenueLabel); + createRegattaDetails(eventDetailsPanel); + } + + private void createRegattaDetails(Panel parentPanel) { // regatta table TextColumn regattaNameColumn = new TextColumn() { @Override @@ -208,10 +222,10 @@ public class EventStructureManagementPanel extends SimplePanel { regattaProvider = new ListDataProvider(); regattaProvider.addDataDisplay(regattaTable); - eventDetailsPanel.add(regattaTable); + parentPanel.add(regattaTable); Button addRegattaBtn = new Button("Add regatta"); - eventDetailsPanel.add(addRegattaBtn); + parentPanel.add(addRegattaBtn); addRegattaBtn.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { @@ -219,7 +233,7 @@ public class EventStructureManagementPanel extends SimplePanel { } }); } - + private void onEventSelectionChanged() { int selIndex = eventsComboBox.getSelectedIndex(); String selItemText = eventsComboBox.getItemText(selIndex); @@ -250,7 +264,14 @@ public class EventStructureManagementPanel extends SimplePanel { } private void openCreateRegattaDialog() { - RegattaWithSeriesAndFleetsCreateDialog dialog = new RegattaWithSeriesAndFleetsCreateDialog(Collections.unmodifiableCollection(selectedEvent.regattas), stringMessages, + Collection existingRegattas = null; + if(supportEvents) { + existingRegattas = Collections.unmodifiableCollection(selectedEvent.regattas); + } else { + existingRegattas = Collections.unmodifiableCollection(regattaProvider.getList()); + } + + RegattaWithSeriesAndFleetsCreateDialog dialog = new RegattaWithSeriesAndFleetsCreateDialog(existingRegattas, stringMessages, new AsyncCallback() { @Override public void onFailure(Throwable t) { @@ -282,10 +303,25 @@ public class EventStructureManagementPanel extends SimplePanel { regattaProvider.getList().addAll(regattas); } }); - } } + private void fillRegattas() { + // load the regattas for this event + sailingService.getRegattas(new AsyncCallback>() { + @Override + public void onFailure(Throwable t) { + errorReporter.reportError("Error trying to read regattas of event " + selectedEvent.name + ": " + t.getMessage()); + } + + @Override + public void onSuccess(List regattas) { + regattaProvider.getList().clear(); + regattaProvider.getList().addAll(regattas); + } + }); + } + private void createNewEvent(final EventDTO newEvent) { sailingService.createEvent(newEvent.name, newEvent.venue.name, new AsyncCallback() { @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java index 6319cc55e84..216797d0410 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java @@ -96,6 +96,7 @@ public interface StringMessages extends Messages { String event(); String startTime(); String regatta(); + String regattas(); String startTracking(); String stopTracking(); String connections(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index f2e583082f3..401f40b161d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -91,6 +91,7 @@ regattaName=Regatta name event=Event startTime=Start time regatta=Regatta +regattas=Regattas startTracking=Start tracking stopTracking=Stop tracking connections=Connections diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index 405a3161dc7..42867fb0530 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -91,6 +91,7 @@ regattaName=Name der Regatta event=Rennen startTime=Startzeit regatta=Regatta +regattas=Regatten startTracking=Tracking starten stopTracking=Tracking stoppen connections=Verbindungen From 9363f40c9dbc33728c070acce7e7cd83039dd6f8 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 11:28:32 +0200 Subject: [PATCH 249/339] added more logging --- .../test/TestStoringAndLoadingEventsAndRegattas.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 22b42cd5220..4993b17479d 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -12,6 +12,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; +import java.util.logging.Logger; import org.junit.Test; @@ -56,6 +57,8 @@ import com.sap.sailing.server.operationaltransformation.ConnectTrackedRaceToLead import com.sap.sailing.server.operationaltransformation.UpdateLeaderboardMaxPointsReason; public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest { + private static final Logger logger = Logger.getLogger(TestStoringAndLoadingEventsAndRegattas.class.getName()); + @Test public void testLoadStoreSimpleEvent() { final String eventName = "Event Name"; @@ -141,6 +144,13 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest RegattaLeaderboard regattaLeaderboard = res.addRegattaLeaderboard(regatta.getRegattaIdentifier(), new int[] { 3, 5 }); final RaceColumnInSeries q2 = regatta.getSeriesByName("Qualifying").getRaceColumnByName("Q2"); final Fleet yellow = q2.getFleetByName("Yellow"); + StringBuilder rlbrcNames = new StringBuilder(); + for (RaceColumn rlbrc : regattaLeaderboard.getRaceColumns()) { + rlbrcNames.append("; "); + rlbrcNames.append(rlbrc.getName()); + } + logger.info("columns in regatta leaderboard: "+rlbrcNames); + assertNotNull(regattaLeaderboard.getRaceColumnByName(q2.getName())); res.apply(new ConnectTrackedRaceToLeaderboardColumn(regattaLeaderboard.getName(), q2.getName(), yellow .getName(), q2YellowTrackedRace.getRaceIdentifier())); res.apply(new UpdateLeaderboardMaxPointsReason(regattaLeaderboard.getName(), q2.getName(), hasso.getId().toString(), From cbd50ff1876297ef4b71b8b77fa27c4ab44789e7 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 11:52:25 +0200 Subject: [PATCH 250/339] more logging --- ...estStoringAndLoadingEventsAndRegattas.java | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 4993b17479d..84a0923f56e 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -141,15 +141,12 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest regattaProxy.getSeries(), regattaProxy.isPersistent()); trackedRegatta[0] = new DynamicTrackedRegattaImpl(regatta); addRaceColumns(numberOfQualifyingRaces, numberOfFinalRaces, regatta); + logColumnsInRegatta(regatta); RegattaLeaderboard regattaLeaderboard = res.addRegattaLeaderboard(regatta.getRegattaIdentifier(), new int[] { 3, 5 }); final RaceColumnInSeries q2 = regatta.getSeriesByName("Qualifying").getRaceColumnByName("Q2"); final Fleet yellow = q2.getFleetByName("Yellow"); - StringBuilder rlbrcNames = new StringBuilder(); - for (RaceColumn rlbrc : regattaLeaderboard.getRaceColumns()) { - rlbrcNames.append("; "); - rlbrcNames.append(rlbrc.getName()); - } - logger.info("columns in regatta leaderboard: "+rlbrcNames); + logColumnsInRegatta(regatta); + logColumnsInRegattaLeaderboard(regattaLeaderboard); assertNotNull(regattaLeaderboard.getRaceColumnByName(q2.getName())); res.apply(new ConnectTrackedRaceToLeaderboardColumn(regattaLeaderboard.getName(), q2.getName(), yellow .getName(), q2YellowTrackedRace.getRaceIdentifier())); @@ -182,6 +179,26 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest assertEquals(MaxPointsReason.DNF, hassosLoadedMaxPointsReason); } + private void logColumnsInRegattaLeaderboard(RegattaLeaderboard regattaLeaderboard) { + StringBuilder rlbrcNames = new StringBuilder(); + for (RaceColumn rlbrc : regattaLeaderboard.getRaceColumns()) { + rlbrcNames.append("; "); + rlbrcNames.append(rlbrc.getName()); + } + logger.info("columns in regatta leaderboard: "+rlbrcNames); + } + + private void logColumnsInRegatta(Regatta regatta) { + StringBuilder rrcNames = new StringBuilder(); + for (Series series : regatta.getSeries()) { + for (RaceColumn raceColumn : series.getRaceColumns()) { + rrcNames.append("; "); + rrcNames.append(raceColumn.getName()); + } + } + logger.info("columns in regatta: "+rrcNames); + } + private RacingEventServiceImpl createRacingEventServiceWithOneMockedTrackedRace(final TrackedRace q2YellowTrackedRace) { return new RacingEventServiceImpl(getMongoService()) { @Override From c9dae6edaad38e189ee141e790f287dec7d5ad74 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 8 Jun 2012 12:31:54 +0200 Subject: [PATCH 251/339] Remove if statement which creates the breadcrumbpanel --- .../sap/sailing/gwt/ui/leaderboard/LeaderboardEntryPoint.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardEntryPoint.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardEntryPoint.java index 8160cc7ae82..1b85170169a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardEntryPoint.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardEntryPoint.java @@ -76,9 +76,7 @@ public class LeaderboardEntryPoint extends AbstractEntryPoint { contentScrollPanel.setWidget(leaderboardPanel); breadcrumbPanel = createBreadcrumbPanel(); } - if (breadcrumbPanel != null) { - mainPanel.addNorth(breadcrumbPanel, 30); - } + mainPanel.add(contentScrollPanel); } From e8c68a76a32b47364e333fedbd6fdd0493b7ed89 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 8 Jun 2012 12:32:41 +0200 Subject: [PATCH 252/339] Reduce the Dimension of the minus icon --- .../sailing/gwt/ui/client/images/minusicon.png | Bin 151 -> 2930 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/client/images/minusicon.png b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/client/images/minusicon.png index cd827642c3f2535639187d049b85ccd652da5ab4..bc335fc9ff4597bad88d8b9c8ebb8e0b339e66e3 100644 GIT binary patch literal 2930 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 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^l0YoM!2~25t{ Date: Fri, 8 Jun 2012 12:33:16 +0200 Subject: [PATCH 253/339] Reduce the Dimensions of the Plus Icon --- .../sailing/gwt/ui/client/images/plusicon.png | Bin 175 -> 3107 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/client/images/plusicon.png b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/client/images/plusicon.png index 2f2a5a805319d5166d341ee03e2aeff1712062c4..a70e4f91303407c2814100366d2bb5780d2a61b6 100644 GIT binary patch literal 3107 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 Date: Fri, 8 Jun 2012 12:45:14 +0200 Subject: [PATCH 254/339] little bugfix and adjustments for creating regatta series in the adminconsole --- .../gwt/ui/adminconsole/FleetColors.java | 25 ++++-- ...egattaWithSeriesAndFleetsCreateDialog.java | 82 ++++++++++--------- .../SeriesWithFleetsCreateDialog.java | 43 +++++++++- .../sailing/gwt/ui/client/StringMessages.java | 1 + .../gwt/ui/client/StringMessages.properties | 1 + .../ui/client/StringMessages_de.properties | 1 + 6 files changed, 101 insertions(+), 52 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/FleetColors.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/FleetColors.java index 8595c9872d3..28d4f6e5154 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/FleetColors.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/FleetColors.java @@ -4,22 +4,29 @@ import com.sap.sailing.domain.common.Color; import com.sap.sailing.domain.common.impl.RGBColor; public enum FleetColors { - GOLD (255, 215, 0), - SILVER (201, 192, 187), - BRONZE (205, 127, 50), - EMERALD (0, 201, 87), - BLUE (0, 0, 255), - YELLOW (255,255,0), - GREEN (0, 255, 0), - RED (255, 0, 0); + GOLD (255, 215, 0, 1), + SILVER (201, 192, 187, 2), + BRONZE (205, 127, 50, 3), + EMERALD (0, 201, 87, 4), + BLUE (0, 0, 255, 0), + YELLOW (255,255,0, 0), + GREEN (0, 255, 0, 0), + RED (255, 0, 0, 0); private Color color; - FleetColors(int red, int green, int blue) { + private int defaultOrderNo; + + FleetColors(int red, int green, int blue, int defaultOrderNo) { color = new RGBColor(red, green, blue); + this.defaultOrderNo = defaultOrderNo; } public Color getColor() { return color; } + + public int getDefaultOrderNo() { + return defaultOrderNo; + } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndFleetsCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndFleetsCreateDialog.java index f87be44c660..9659b754441 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndFleetsCreateDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RegattaWithSeriesAndFleetsCreateDialog.java @@ -48,7 +48,8 @@ public class RegattaWithSeriesAndFleetsCreateDialog extends DataEntryDialog 0; - boolean boatClassNotEmpty = regattaToValidate.boatClass != null && regattaToValidate.boatClass.name.length() > 0; + boolean boatClassNotEmpty = regattaToValidate.boatClass != null + && regattaToValidate.boatClass.name.length() > 0; boolean unique = true; for (RegattaDTO regatta : existingRegattas) { @@ -66,14 +67,14 @@ public class RegattaWithSeriesAndFleetsCreateDialog extends DataEntryDialog seriesToValidate = regattaToValidate.series; int index = 0; boolean seriesNameNotEmpty = true; for (SeriesDTO series : seriesToValidate) { seriesNameNotEmpty = series.name != null && series.name.length() > 0; - if(!seriesNameNotEmpty) { + if (!seriesNameNotEmpty) { break; } index++; @@ -81,10 +82,10 @@ public class RegattaWithSeriesAndFleetsCreateDialog extends DataEntryDialog setToFindDuplicates = new HashSet(); for (SeriesDTO series : seriesToValidate) { - if(!setToFindDuplicates.add(series.name)) { + if (!setToFindDuplicates.add(series.name)) { seriesUnique = false; break; } @@ -92,21 +93,23 @@ public class RegattaWithSeriesAndFleetsCreateDialog extends DataEntryDialog existingRegattas, StringMessages stringConstants, - AsyncCallback callback) { - super(stringConstants.regatta(), null, stringConstants.ok(), stringConstants.cancel(), + public RegattaWithSeriesAndFleetsCreateDialog(Collection existingRegattas, + StringMessages stringConstants, AsyncCallback callback) { + super(stringConstants.regatta(), null, stringConstants.ok(), stringConstants.cancel(), new RegattaParameterValidator(stringConstants, existingRegattas), callback); this.stringConstants = stringConstants; this.regatta = new RegattaDTO(); @@ -140,67 +143,68 @@ public class RegattaWithSeriesAndFleetsCreateDialog extends DataEntryDialog() { - @Override - public void onFailure(Throwable t) { - } - @Override - public void onSuccess(SeriesDTO newSeries) { - createdSeries.add(newSeries); - updateSeriesGrid(panel); - } - }); + SeriesWithFleetsCreateDialog dialog = new SeriesWithFleetsCreateDialog(Collections + .unmodifiableCollection(result.series), stringConstants, new AsyncCallback() { + @Override + public void onFailure(Throwable t) { + } + + @Override + public void onSuccess(SeriesDTO newSeries) { + createdSeries.add(newSeries); + updateSeriesGrid(panel); + } + }); dialog.show(); } }); panel.add(addSeriesButton); - + return panel; } private void updateSeriesGrid(VerticalPanel parentPanel) { int widgetIndex = parentPanel.getWidgetIndex(seriesGrid); parentPanel.remove(seriesGrid); - + int seriesCount = createdSeries.size(); seriesGrid = new Grid(seriesCount * 2, 3); seriesGrid.setCellSpacing(3); - for(int i = 0; i < seriesCount; i++) { + for (int i = 0; i < seriesCount; i++) { SeriesDTO seriesDTO = createdSeries.get(i); - Label seriesLabel = new Label((i+1) + ". " + stringConstants.series() + ":"); + Label seriesLabel = new Label((i + 1) + ". " + stringConstants.series() + ":"); seriesLabel.setWordWrap(false); seriesLabel.getElement().getStyle().setFontWeight(FontWeight.BOLD); - seriesGrid.setWidget(i*2, 0, seriesLabel); - seriesGrid.setHTML(i*2, 1, seriesDTO.name); - if(seriesDTO.getFleets() != null && seriesDTO.getFleets().size() > 0) { - seriesGrid.setHTML(i*2+1, 1, seriesDTO.getFleets().size() + " fleets: " + seriesDTO.getFleets().toString()); + seriesGrid.setWidget(i * 2, 0, seriesLabel); + seriesGrid.setHTML(i * 2, 1, seriesDTO.name); + if (seriesDTO.getFleets() != null && seriesDTO.getFleets().size() > 0) { + seriesGrid.setHTML(i * 2 + 1, 1, seriesDTO.getFleets().size() + " fleets: " + + seriesDTO.getFleets().toString()); } else { - seriesGrid.setHTML(i*2+1, 1, seriesDTO.getFleets().size() + " No fleets defined."); + seriesGrid.setHTML(i * 2 + 1, 1, seriesDTO.getFleets().size() + " No fleets defined."); } } parentPanel.insert(seriesGrid, widgetIndex); } - + @Override public void show() { super.show(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithFleetsCreateDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithFleetsCreateDialog.java index 7893a3f58f2..5947079617a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithFleetsCreateDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SeriesWithFleetsCreateDialog.java @@ -5,6 +5,8 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; +import com.google.gwt.event.dom.client.ChangeEvent; +import com.google.gwt.event.dom.client.ChangeHandler; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.rpc.AsyncCallback; @@ -90,7 +92,7 @@ public class SeriesWithFleetsCreateDialog extends DataEntryDialog { } index2++; } - + if (!fleetNameNotEmpty) { errorMessage = stringConstants.fleet() + " " + (index + 1) + ": " + stringConstants.pleaseEnterNonEmptyName(); } else if (!fleetUnique) { @@ -136,10 +138,38 @@ public class SeriesWithFleetsCreateDialog extends DataEntryDialog { } private Widget createFleetColorWidget(Color defaultColor) { - ListBox listBox = createListBox(false); + final ListBox listBox = createListBox(false); + final int fleetIndex = fleetNameEntryFields.size(); + listBox.addChangeHandler(new ChangeHandler() { + @Override + public void onChange(ChangeEvent event) { + // set default order no of the selected color + int selIndex = listBox.getSelectedIndex(); + IntegerBox orderNoBox = fleetOrderNoEntryFields.get(fleetIndex-1); + if(selIndex == 0) { + orderNoBox.setValue(0); + } else { + String value = listBox.getValue(selIndex); + for(FleetColors color: FleetColors.values()) { + if(color.name().equals(value)) { + orderNoBox.setValue(color.getDefaultOrderNo()); + break; + } + } + } + } + }); + + listBox.addItem(stringConstants.noColor()); for(FleetColors value: FleetColors.values()) listBox.addItem(value.name()); + + if(defaultColor == null) { + listBox.setSelectedIndex(0); + } + fleetColorEntryFields.add(listBox); + return listBox; } @@ -160,7 +190,11 @@ public class SeriesWithFleetsCreateDialog extends DataEntryDialog { FleetDTO fleetDTO = new FleetDTO(); fleetDTO.name = fleetNameEntryFields.get(i).getValue(); fleetDTO.setColor(getSelectedColor(fleetColorEntryFields.get(i))); - fleetDTO.setOrderNo(fleetOrderNoEntryFields.get(i).getValue()); + int orderNo = -1; + if(fleetOrderNoEntryFields.get(i).getValue() != null) { + orderNo = fleetOrderNoEntryFields.get(i).getValue(); + } + fleetDTO.setOrderNo(orderNo); fleets.add(fleetDTO); } @@ -172,7 +206,8 @@ public class SeriesWithFleetsCreateDialog extends DataEntryDialog { private Color getSelectedColor(ListBox colorListBox) { Color result = null; int selIndex = colorListBox.getSelectedIndex(); - if(selIndex >= 0) { + // the zero index represents the 'no color' option + if(selIndex > 0) { String value = colorListBox.getValue(selIndex); for(FleetColors color: FleetColors.values()) { if(color.name().equals(value)) { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java index 216797d0410..616313eb36f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java @@ -317,4 +317,5 @@ public interface StringMessages extends Messages { String splitFleet(); String color(); String medalSeries(); + String noColor(); } \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index 401f40b161d..af83ef6c6fc 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -315,3 +315,4 @@ series=Series splitFleet=Split fleet color=Color medalSeries=Medal Series +noColor=No color diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index 42867fb0530..b3659f31a9f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -316,3 +316,4 @@ fleets=Flotten splitFleet=Aufteilung in Gruppen color=Farbe medalSeries=Medal Series +noColor=Keine Farbe From 39a8704f4fcfaee55942c532cf8ea77ca3d83558 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 12:48:22 +0200 Subject: [PATCH 255/339] extended logging even further --- .../mongodb/test/TestStoringAndLoadingEventsAndRegattas.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java index 84a0923f56e..55943314ffa 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndLoadingEventsAndRegattas.java @@ -185,7 +185,8 @@ public class TestStoringAndLoadingEventsAndRegattas extends AbstractMongoDBTest rlbrcNames.append("; "); rlbrcNames.append(rlbrc.getName()); } - logger.info("columns in regatta leaderboard: "+rlbrcNames); + logger.info("columns in regatta leaderboard for regatta "+regattaLeaderboard.getRegatta().getName()+" ("+ + regattaLeaderboard.getRegatta().hashCode()+"): "+rlbrcNames); } private void logColumnsInRegatta(Regatta regatta) { From 3f49c8bf4030d61356a6088dc71248c9539c6d6b Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Fri, 8 Jun 2012 12:57:36 +0200 Subject: [PATCH 256/339] Correct padding-top for titleLabel in CommonControls --- java/com.sap.sailing.gwt.ui/CommonControls.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.gwt.ui/CommonControls.css b/java/com.sap.sailing.gwt.ui/CommonControls.css index 6d593501242..9bf027a2226 100644 --- a/java/com.sap.sailing.gwt.ui/CommonControls.css +++ b/java/com.sap.sailing.gwt.ui/CommonControls.css @@ -159,7 +159,7 @@ .titleLabel { background: url(images/titleLabelInner.png) left center no-repeat; height: 26px; - padding: 41px 7px 0 130px; + padding: 42px 7px 0 130px; } From 73739fcd06904051594e7c1b6d1682e15c102617 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 8 Jun 2012 13:05:10 +0200 Subject: [PATCH 257/339] created new bundle for Kieler Woche result import from tbe b+m tool --- .../.classpath | 7 +++++ .../.project | 28 ++++++++++++++++++ .../.settings/org.eclipse.jdt.core.prefs | 7 +++++ .../.settings/org.eclipse.pde.core.prefs | 3 ++ .../META-INF/MANIFEST.MF | 9 ++++++ .../build.properties | 4 +++ .../2011-06-18_2 4 mR_Wettfahrt_1.pdf | Bin 0 -> 43249 bytes .../2011-06-18_2 4 mR_Wettfahrt_1.xml | 10 +++++++ .../2011-06-18_49er_Wettfahrt_2_Extra.xml | 2 ++ .../resources/2011-06-18_49er_Wettfahrt_3.pdf | Bin 0 -> 47535 bytes .../resources/2011-06-18_49er_Wettfahrt_3.xml | 10 +++++++ .../2011-06-18_49er_Wettfahrt_3_Extra.xml | 2 ++ .../resources/2011-06-18_49er_Wettfahrt_4.pdf | Bin 0 -> 48114 bytes .../resources/2011-06-18_49er_Wettfahrt_4.xml | 10 +++++++ .../2011-06-18_49er_Wettfahrt_4_Extra.xml | 2 ++ .../.classpath | 7 +++++ .../com.sap.sailing.kiworesultimport/.project | 28 ++++++++++++++++++ .../.settings/org.eclipse.jdt.core.prefs | 7 +++++ .../.settings/org.eclipse.pde.core.prefs | 3 ++ .../META-INF/MANIFEST.MF | 8 +++++ .../build.properties | 4 +++ java/pom.xml | 2 ++ 22 files changed, 153 insertions(+) create mode 100755 java/com.sap.sailing.kiworesultimport.test/.classpath create mode 100755 java/com.sap.sailing.kiworesultimport.test/.project create mode 100755 java/com.sap.sailing.kiworesultimport.test/.settings/org.eclipse.jdt.core.prefs create mode 100755 java/com.sap.sailing.kiworesultimport.test/.settings/org.eclipse.pde.core.prefs create mode 100755 java/com.sap.sailing.kiworesultimport.test/META-INF/MANIFEST.MF create mode 100755 java/com.sap.sailing.kiworesultimport.test/build.properties create mode 100755 java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_2 4 mR_Wettfahrt_1.pdf create mode 100755 java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_2 4 mR_Wettfahrt_1.xml create mode 100755 java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_2_Extra.xml create mode 100755 java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_3.pdf create mode 100755 java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_3.xml create mode 100755 java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_3_Extra.xml create mode 100755 java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_4.pdf create mode 100755 java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_4.xml create mode 100755 java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_4_Extra.xml create mode 100755 java/com.sap.sailing.kiworesultimport/.classpath create mode 100755 java/com.sap.sailing.kiworesultimport/.project create mode 100755 java/com.sap.sailing.kiworesultimport/.settings/org.eclipse.jdt.core.prefs create mode 100755 java/com.sap.sailing.kiworesultimport/.settings/org.eclipse.pde.core.prefs create mode 100755 java/com.sap.sailing.kiworesultimport/META-INF/MANIFEST.MF create mode 100755 java/com.sap.sailing.kiworesultimport/build.properties diff --git a/java/com.sap.sailing.kiworesultimport.test/.classpath b/java/com.sap.sailing.kiworesultimport.test/.classpath new file mode 100755 index 00000000000..b1dabee3829 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport.test/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/java/com.sap.sailing.kiworesultimport.test/.project b/java/com.sap.sailing.kiworesultimport.test/.project new file mode 100755 index 00000000000..60a7fada563 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport.test/.project @@ -0,0 +1,28 @@ + + + com.sap.sailing.kiworesultimport.test + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/java/com.sap.sailing.kiworesultimport.test/.settings/org.eclipse.jdt.core.prefs b/java/com.sap.sailing.kiworesultimport.test/.settings/org.eclipse.jdt.core.prefs new file mode 100755 index 00000000000..11f6e462df7 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport.test/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/java/com.sap.sailing.kiworesultimport.test/.settings/org.eclipse.pde.core.prefs b/java/com.sap.sailing.kiworesultimport.test/.settings/org.eclipse.pde.core.prefs new file mode 100755 index 00000000000..b7e72d019c2 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport.test/.settings/org.eclipse.pde.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +pluginProject.extensions=false +resolve.requirebundle=false diff --git a/java/com.sap.sailing.kiworesultimport.test/META-INF/MANIFEST.MF b/java/com.sap.sailing.kiworesultimport.test/META-INF/MANIFEST.MF new file mode 100755 index 00000000000..9582d515f7d --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport.test/META-INF/MANIFEST.MF @@ -0,0 +1,9 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Test +Bundle-SymbolicName: com.sap.sailing.kiworesultimport.test +Bundle-Version: 1.0.0.qualifier +Bundle-Vendor: SAP +Bundle-RequiredExecutionEnvironment: JavaSE-1.7 +Require-Bundle: org.junit4;bundle-version="4.8.2", + com.sap.sailing.kiworesultimport diff --git a/java/com.sap.sailing.kiworesultimport.test/build.properties b/java/com.sap.sailing.kiworesultimport.test/build.properties new file mode 100755 index 00000000000..41eb6ade2b4 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport.test/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_2 4 mR_Wettfahrt_1.pdf b/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_2 4 mR_Wettfahrt_1.pdf new file mode 100755 index 0000000000000000000000000000000000000000..33cf3d5b2b24486f78c4f184ef654bf7b46aa5bd GIT binary patch literal 43249 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 + + 2.4 mR + 2011-06-18+02:00 + 14:38:22.547+02:00 + vorlauefig + Kieler Woche 2011 + 1 + 2011-06-18_2 4 mR_Wettfahrt_1.pdf + \ No newline at end of file diff --git a/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_2_Extra.xml b/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_2_Extra.xml new file mode 100755 index 00000000000..374d9ab62f3 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_2_Extra.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_3.pdf b/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_3.pdf new file mode 100755 index 0000000000000000000000000000000000000000..918ad292afc5d5bcdee09b9795ed073c135d0a15 GIT binary patch literal 47535 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 + + 49er + 2011-06-18+02:00 + 17:30:21.390+02:00 + vorlauefig + Kieler Woche 2011 + 3 + 2011-06-18_49er_Wettfahrt_3.pdf + \ No newline at end of file diff --git a/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_3_Extra.xml b/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_3_Extra.xml new file mode 100755 index 00000000000..d388e02f5c0 --- /dev/null +++ b/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_3_Extra.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_4.pdf b/java/com.sap.sailing.kiworesultimport.test/resources/2011-06-18_49er_Wettfahrt_4.pdf new file mode 100755 index 0000000000000000000000000000000000000000..c8d7d8c9152b36ddd905c8c355d857fcb94349ec GIT binary patch literal 48114 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≀lM0*&d#lg{rY4dHUF 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