Adjust MultipleLogRankDifferentiators to use actual implementation found in randomForestSRC
Also merge SingleLogRankDifferentiators with the Group variants, as they now reduce tot he simple case when given only one event of focus.
This commit is contained in:
parent
c6a5787975
commit
1e643385ee
11 changed files with 102 additions and 628 deletions
|
@ -22,17 +22,15 @@ import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskRespons
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskResponseWithCensorTime;
|
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskResponseWithCensorTime;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.combiner.CompetingRiskFunctionCombiner;
|
import ca.joeltherrien.randomforest.responses.competingrisk.combiner.CompetingRiskFunctionCombiner;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.combiner.CompetingRiskResponseCombiner;
|
import ca.joeltherrien.randomforest.responses.competingrisk.combiner.CompetingRiskResponseCombiner;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.differentiator.GrayLogRankMultipleGroupDifferentiator;
|
import ca.joeltherrien.randomforest.responses.competingrisk.differentiator.GrayLogRankDifferentiator;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.differentiator.GrayLogRankSingleGroupDifferentiator;
|
import ca.joeltherrien.randomforest.responses.competingrisk.differentiator.LogRankDifferentiator;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.differentiator.LogRankMultipleGroupDifferentiator;
|
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.differentiator.LogRankSingleGroupDifferentiator;
|
|
||||||
import ca.joeltherrien.randomforest.responses.regression.MeanResponseCombiner;
|
import ca.joeltherrien.randomforest.responses.regression.MeanResponseCombiner;
|
||||||
import ca.joeltherrien.randomforest.responses.regression.WeightedVarianceGroupDifferentiator;
|
import ca.joeltherrien.randomforest.responses.regression.WeightedVarianceGroupDifferentiator;
|
||||||
import ca.joeltherrien.randomforest.tree.GroupDifferentiator;
|
import ca.joeltherrien.randomforest.tree.GroupDifferentiator;
|
||||||
import ca.joeltherrien.randomforest.tree.ResponseCombiner;
|
import ca.joeltherrien.randomforest.tree.ResponseCombiner;
|
||||||
import ca.joeltherrien.randomforest.utils.DataUtils;
|
import ca.joeltherrien.randomforest.utils.DataUtils;
|
||||||
|
import ca.joeltherrien.randomforest.utils.Utils;
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
||||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
|
@ -44,7 +42,10 @@ import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -87,57 +88,26 @@ public class Settings {
|
||||||
registerGroupDifferentiatorConstructor("WeightedVarianceGroupDifferentiator",
|
registerGroupDifferentiatorConstructor("WeightedVarianceGroupDifferentiator",
|
||||||
(node) -> new WeightedVarianceGroupDifferentiator()
|
(node) -> new WeightedVarianceGroupDifferentiator()
|
||||||
);
|
);
|
||||||
registerGroupDifferentiatorConstructor("LogRankSingleGroupDifferentiator",
|
registerGroupDifferentiatorConstructor("GrayLogRankDifferentiator",
|
||||||
(objectNode) -> {
|
(objectNode) -> {
|
||||||
final int eventOfFocus = objectNode.get("eventOfFocus").asInt();
|
final int[] eventsOfFocusArray = Utils.jsonToIntArray(objectNode.get("eventsOfFocus"));
|
||||||
|
final int[] eventArray = Utils.jsonToIntArray(objectNode.get("events"));
|
||||||
|
|
||||||
final Iterator<JsonNode> elements = objectNode.get("events").elements();
|
return new GrayLogRankDifferentiator(eventsOfFocusArray, eventArray);
|
||||||
final List<JsonNode> elementList = new ArrayList<>();
|
|
||||||
elements.forEachRemaining(node -> elementList.add(node));
|
|
||||||
|
|
||||||
final int[] eventArray = elementList.stream().mapToInt(node -> node.asInt()).toArray();
|
|
||||||
|
|
||||||
return new LogRankSingleGroupDifferentiator(eventOfFocus, eventArray);
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
registerGroupDifferentiatorConstructor("GrayLogRankMultipleGroupDifferentiator",
|
registerGroupDifferentiatorConstructor("LogRankDifferentiator",
|
||||||
(objectNode) -> {
|
(objectNode) -> {
|
||||||
final Iterator<JsonNode> elements = objectNode.get("events").elements();
|
final int[] eventsOfFocusArray = Utils.jsonToIntArray(objectNode.get("eventsOfFocus"));
|
||||||
final List<JsonNode> elementList = new ArrayList<>();
|
final int[] eventArray = Utils.jsonToIntArray(objectNode.get("events"));
|
||||||
elements.forEachRemaining(node -> elementList.add(node));
|
|
||||||
|
|
||||||
final int[] eventArray = elementList.stream().mapToInt(node -> node.asInt()).toArray();
|
return new LogRankDifferentiator(eventsOfFocusArray, eventArray);
|
||||||
|
|
||||||
return new GrayLogRankMultipleGroupDifferentiator(eventArray);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
registerGroupDifferentiatorConstructor("LogRankMultipleGroupDifferentiator",
|
|
||||||
(objectNode) -> {
|
|
||||||
final Iterator<JsonNode> elements = objectNode.get("events").elements();
|
|
||||||
final List<JsonNode> elementList = new ArrayList<>();
|
|
||||||
elements.forEachRemaining(node -> elementList.add(node));
|
|
||||||
|
|
||||||
final int[] eventArray = elementList.stream().mapToInt(node -> node.asInt()).toArray();
|
|
||||||
|
|
||||||
return new LogRankMultipleGroupDifferentiator(eventArray);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
registerGroupDifferentiatorConstructor("GrayLogRankSingleGroupDifferentiator",
|
|
||||||
(objectNode) -> {
|
|
||||||
final int eventOfFocus = objectNode.get("eventOfFocus").asInt();
|
|
||||||
|
|
||||||
final Iterator<JsonNode> elements = objectNode.get("events").elements();
|
|
||||||
final List<JsonNode> elementList = new ArrayList<>();
|
|
||||||
elements.forEachRemaining(node -> elementList.add(node));
|
|
||||||
|
|
||||||
final int[] eventArray = elementList.stream().mapToInt(node -> node.asInt()).toArray();
|
|
||||||
|
|
||||||
|
|
||||||
return new GrayLogRankSingleGroupDifferentiator(eventOfFocus, eventArray);
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static Map<String, Function<ObjectNode, ResponseCombiner>> RESPONSE_COMBINER_MAP = new HashMap<>();
|
private static Map<String, Function<ObjectNode, ResponseCombiner>> RESPONSE_COMBINER_MAP = new HashMap<>();
|
||||||
public static Function<ObjectNode, ResponseCombiner> getResponseCombinerConstructor(final String name){
|
public static Function<ObjectNode, ResponseCombiner> getResponseCombinerConstructor(final String name){
|
||||||
return RESPONSE_COMBINER_MAP.get(name.toLowerCase());
|
return RESPONSE_COMBINER_MAP.get(name.toLowerCase());
|
||||||
|
@ -153,10 +123,7 @@ public class Settings {
|
||||||
);
|
);
|
||||||
registerResponseCombinerConstructor("CompetingRiskResponseCombiner",
|
registerResponseCombinerConstructor("CompetingRiskResponseCombiner",
|
||||||
(node) -> {
|
(node) -> {
|
||||||
final List<Integer> eventList = new ArrayList<>();
|
final int[] events = Utils.jsonToIntArray(node.get("events"));
|
||||||
node.get("events").elements().forEachRemaining(event -> eventList.add(event.asInt()));
|
|
||||||
final int[] events = eventList.stream().mapToInt(i -> i).toArray();
|
|
||||||
|
|
||||||
|
|
||||||
return new CompetingRiskResponseCombiner(events);
|
return new CompetingRiskResponseCombiner(events);
|
||||||
|
|
||||||
|
@ -165,16 +132,11 @@ public class Settings {
|
||||||
|
|
||||||
registerResponseCombinerConstructor("CompetingRiskFunctionCombiner",
|
registerResponseCombinerConstructor("CompetingRiskFunctionCombiner",
|
||||||
(node) -> {
|
(node) -> {
|
||||||
final List<Integer> eventList = new ArrayList<>();
|
final int[] events = Utils.jsonToIntArray(node.get("events"));
|
||||||
node.get("events").elements().forEachRemaining(event -> eventList.add(event.asInt()));
|
|
||||||
final int[] events = eventList.stream().mapToInt(i -> i).toArray();
|
|
||||||
|
|
||||||
double[] times = null;
|
double[] times = null;
|
||||||
// note that times may be null
|
|
||||||
if(node.hasNonNull("times")){
|
if(node.hasNonNull("times")){
|
||||||
final List<Double> timeList = new ArrayList<>();
|
times = Utils.jsonToDoubleArray(node.get("times"));
|
||||||
node.get("times").elements().forEachRemaining(time -> timeList.add(time.asDouble()));
|
|
||||||
times = timeList.stream().mapToDouble(db -> db).toArray();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return new CompetingRiskFunctionCombiner(events, times);
|
return new CompetingRiskFunctionCombiner(events, times);
|
||||||
|
|
|
@ -19,19 +19,34 @@ package ca.joeltherrien.randomforest.responses.competingrisk.differentiator;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskResponseWithCensorTime;
|
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskResponseWithCensorTime;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskSets;
|
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskSets;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskUtils;
|
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskUtils;
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* See page 761 of Random survival forests for competing risks by Ishwaran et al.
|
* See page 761 of Random survival forests for competing risks by Ishwaran et al.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@RequiredArgsConstructor
|
public class GrayLogRankDifferentiator extends CompetingRiskGroupDifferentiator<CompetingRiskResponseWithCensorTime> {
|
||||||
public class GrayLogRankMultipleGroupDifferentiator extends CompetingRiskGroupDifferentiator<CompetingRiskResponseWithCensorTime> {
|
|
||||||
|
|
||||||
|
private final int[] eventsOfFocus;
|
||||||
private final int[] events;
|
private final int[] events;
|
||||||
|
|
||||||
|
public GrayLogRankDifferentiator(int[] eventsOfFocus, int[] events){
|
||||||
|
this.eventsOfFocus = eventsOfFocus;
|
||||||
|
this.events = events;
|
||||||
|
|
||||||
|
if(eventsOfFocus.length == 0){
|
||||||
|
throw new IllegalArgumentException("eventsOfFocus must have length greater than 0");
|
||||||
|
}
|
||||||
|
|
||||||
|
for(final int eventOfFocus : eventsOfFocus){
|
||||||
|
if(Arrays.binarySearch(events, eventOfFocus) == -1){ // i.e. eventOfFocus is not in events
|
||||||
|
throw new IllegalArgumentException("Array events must contain every eventOfFocus. Event " + eventOfFocus + " not found.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected CompetingRiskSets<CompetingRiskResponseWithCensorTime> createCompetingRiskSets(List<CompetingRiskResponseWithCensorTime> leftHand, List<CompetingRiskResponseWithCensorTime> rightHand){
|
protected CompetingRiskSets<CompetingRiskResponseWithCensorTime> createCompetingRiskSets(List<CompetingRiskResponseWithCensorTime> leftHand, List<CompetingRiskResponseWithCensorTime> rightHand){
|
||||||
return CompetingRiskUtils.calculateGraySetsEfficiently(leftHand, rightHand, events);
|
return CompetingRiskUtils.calculateGraySetsEfficiently(leftHand, rightHand, events);
|
||||||
|
@ -42,11 +57,12 @@ public class GrayLogRankMultipleGroupDifferentiator extends CompetingRiskGroupDi
|
||||||
double numerator = 0.0;
|
double numerator = 0.0;
|
||||||
double denominatorSquared = 0.0;
|
double denominatorSquared = 0.0;
|
||||||
|
|
||||||
for(final int eventOfFocus : events){
|
for(final int eventOfFocus : eventsOfFocus){
|
||||||
final LogRankValue valueOfInterest = specificLogRankValue(eventOfFocus, competingRiskSets);
|
final LogRankValue valueOfInterest = specificLogRankValue(eventOfFocus, competingRiskSets);
|
||||||
|
|
||||||
// we use varianceSqrt instead of variance because numerator is not the same as the individual score
|
// Important note - we follow what randomForestSRC does in its code; not in its documentation.
|
||||||
numerator += valueOfInterest.getNumerator()*valueOfInterest.getVarianceSqrt();
|
// See https://github.com/kogalur/randomForestSRC/issues/27#issuecomment-486017647
|
||||||
|
numerator += valueOfInterest.getNumerator();
|
||||||
denominatorSquared += valueOfInterest.getVariance();
|
denominatorSquared += valueOfInterest.getVariance();
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,47 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2019 Joel Therrien.
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package ca.joeltherrien.randomforest.responses.competingrisk.differentiator;
|
|
||||||
|
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskResponseWithCensorTime;
|
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskSets;
|
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskUtils;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* See page 761 of Random survival forests for competing risks by Ishwaran et al.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
public class GrayLogRankSingleGroupDifferentiator extends CompetingRiskGroupDifferentiator<CompetingRiskResponseWithCensorTime> {
|
|
||||||
|
|
||||||
private final int eventOfFocus;
|
|
||||||
private final int[] events;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected CompetingRiskSets<CompetingRiskResponseWithCensorTime> createCompetingRiskSets(List<CompetingRiskResponseWithCensorTime> leftHand, List<CompetingRiskResponseWithCensorTime> rightHand){
|
|
||||||
return CompetingRiskUtils.calculateGraySetsEfficiently(leftHand, rightHand, events);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected Double getScore(final CompetingRiskSets<CompetingRiskResponseWithCensorTime> competingRiskSets){
|
|
||||||
final LogRankValue valueOfInterest = specificLogRankValue(eventOfFocus, competingRiskSets);
|
|
||||||
return Math.abs(valueOfInterest.getNumerator() / valueOfInterest.getVarianceSqrt());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -19,19 +19,34 @@ package ca.joeltherrien.randomforest.responses.competingrisk.differentiator;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskResponse;
|
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskResponse;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskSets;
|
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskSets;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskUtils;
|
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskUtils;
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* See page 761 of Random survival forests for competing risks by Ishwaran et al.
|
* See page 761 of Random survival forests for competing risks by Ishwaran et al.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@RequiredArgsConstructor
|
public class LogRankDifferentiator extends CompetingRiskGroupDifferentiator<CompetingRiskResponse> {
|
||||||
public class LogRankMultipleGroupDifferentiator extends CompetingRiskGroupDifferentiator<CompetingRiskResponse> {
|
|
||||||
|
|
||||||
|
private final int[] eventsOfFocus;
|
||||||
private final int[] events;
|
private final int[] events;
|
||||||
|
|
||||||
|
public LogRankDifferentiator(int[] eventsOfFocus, int[] events){
|
||||||
|
this.eventsOfFocus = eventsOfFocus;
|
||||||
|
this.events = events;
|
||||||
|
|
||||||
|
if(eventsOfFocus.length == 0){
|
||||||
|
throw new IllegalArgumentException("eventsOfFocus must have length greater than 0");
|
||||||
|
}
|
||||||
|
|
||||||
|
for(final int eventOfFocus : eventsOfFocus){
|
||||||
|
if(Arrays.binarySearch(events, eventOfFocus) == -1){ // i.e. eventOfFocus is not in events
|
||||||
|
throw new IllegalArgumentException("Array events must contain every eventOfFocus. Event " + eventOfFocus + " not found.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected CompetingRiskSets<CompetingRiskResponse> createCompetingRiskSets(List<CompetingRiskResponse> leftHand, List<CompetingRiskResponse> rightHand){
|
protected CompetingRiskSets<CompetingRiskResponse> createCompetingRiskSets(List<CompetingRiskResponse> leftHand, List<CompetingRiskResponse> rightHand){
|
||||||
return CompetingRiskUtils.calculateSetsEfficiently(leftHand, rightHand, events, true);
|
return CompetingRiskUtils.calculateSetsEfficiently(leftHand, rightHand, events, true);
|
||||||
|
@ -42,11 +57,12 @@ public class LogRankMultipleGroupDifferentiator extends CompetingRiskGroupDiffer
|
||||||
double numerator = 0.0;
|
double numerator = 0.0;
|
||||||
double denominatorSquared = 0.0;
|
double denominatorSquared = 0.0;
|
||||||
|
|
||||||
for(final int eventOfFocus : events){
|
for(final int eventOfFocus : eventsOfFocus){
|
||||||
final LogRankValue valueOfInterest = specificLogRankValue(eventOfFocus, competingRiskSets);
|
final LogRankValue valueOfInterest = specificLogRankValue(eventOfFocus, competingRiskSets);
|
||||||
|
|
||||||
// we use varianceSqrt instead of variance because numerator is not the same as the individual score
|
// Important note - we follow what randomForestSRC does in its code; not in its documentation.
|
||||||
numerator += valueOfInterest.getNumerator()*valueOfInterest.getVarianceSqrt();
|
// See https://github.com/kogalur/randomForestSRC/issues/27#issuecomment-486017647
|
||||||
|
numerator += valueOfInterest.getNumerator();
|
||||||
denominatorSquared += valueOfInterest.getVariance();
|
denominatorSquared += valueOfInterest.getVariance();
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,47 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2019 Joel Therrien.
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package ca.joeltherrien.randomforest.responses.competingrisk.differentiator;
|
|
||||||
|
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskResponse;
|
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskSets;
|
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskUtils;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* See page 761 of Random survival forests for competing risks by Ishwaran et al.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
public class LogRankSingleGroupDifferentiator extends CompetingRiskGroupDifferentiator<CompetingRiskResponse> {
|
|
||||||
|
|
||||||
private final int eventOfFocus;
|
|
||||||
private final int[] events;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected CompetingRiskSets<CompetingRiskResponse> createCompetingRiskSets(List<CompetingRiskResponse> leftHand, List<CompetingRiskResponse> rightHand){
|
|
||||||
return CompetingRiskUtils.calculateSetsEfficiently(leftHand, rightHand, events, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected Double getScore(final CompetingRiskSets<CompetingRiskResponse> competingRiskSets){
|
|
||||||
final LogRankValue valueOfInterest = specificLogRankValue(eventOfFocus, competingRiskSets);
|
|
||||||
return Math.abs(valueOfInterest.getNumerator() / valueOfInterest.getVarianceSqrt());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -16,6 +16,8 @@
|
||||||
|
|
||||||
package ca.joeltherrien.randomforest.utils;
|
package ca.joeltherrien.randomforest.utils;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public final class Utils {
|
public final class Utils {
|
||||||
|
@ -208,4 +210,22 @@ public final class Utils {
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int[] jsonToIntArray(final JsonNode node){
|
||||||
|
final Iterator<JsonNode> elements = node.elements();
|
||||||
|
final List<JsonNode> elementList = new ArrayList<>();
|
||||||
|
elements.forEachRemaining(n -> elementList.add(n));
|
||||||
|
|
||||||
|
final int[] array = elementList.stream().mapToInt(n -> n.asInt()).toArray();
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double[] jsonToDoubleArray(final JsonNode node){
|
||||||
|
final Iterator<JsonNode> elements = node.elements();
|
||||||
|
final List<JsonNode> elementList = new ArrayList<>();
|
||||||
|
elements.forEachRemaining(n -> elementList.add(n));
|
||||||
|
|
||||||
|
final double[] array = elementList.stream().mapToDouble(n -> n.asDouble()).toArray();
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,8 +45,10 @@ public class TestSavingLoading {
|
||||||
*/
|
*/
|
||||||
public Settings getSettings(){
|
public Settings getSettings(){
|
||||||
final ObjectNode groupDifferentiatorSettings = new ObjectNode(JsonNodeFactory.instance);
|
final ObjectNode groupDifferentiatorSettings = new ObjectNode(JsonNodeFactory.instance);
|
||||||
groupDifferentiatorSettings.set("type", new TextNode("LogRankSingleGroupDifferentiator"));
|
groupDifferentiatorSettings.set("type", new TextNode("LogRankDifferentiator"));
|
||||||
groupDifferentiatorSettings.set("eventOfFocus", new IntNode(1));
|
groupDifferentiatorSettings.set("eventsOfFocus",
|
||||||
|
new ArrayNode(JsonNodeFactory.instance, Utils.easyList(new IntNode(1)))
|
||||||
|
);
|
||||||
groupDifferentiatorSettings.set("events",
|
groupDifferentiatorSettings.set("events",
|
||||||
new ArrayNode(JsonNodeFactory.instance, Utils.easyList(new IntNode(1), new IntNode(2)))
|
new ArrayNode(JsonNodeFactory.instance, Utils.easyList(new IntNode(1), new IntNode(2)))
|
||||||
);
|
);
|
||||||
|
|
|
@ -54,8 +54,10 @@ public class TestCompetingRisk {
|
||||||
*/
|
*/
|
||||||
public Settings getSettings(){
|
public Settings getSettings(){
|
||||||
final ObjectNode groupDifferentiatorSettings = new ObjectNode(JsonNodeFactory.instance);
|
final ObjectNode groupDifferentiatorSettings = new ObjectNode(JsonNodeFactory.instance);
|
||||||
groupDifferentiatorSettings.set("type", new TextNode("LogRankSingleGroupDifferentiator"));
|
groupDifferentiatorSettings.set("type", new TextNode("LogRankDifferentiator"));
|
||||||
groupDifferentiatorSettings.set("eventOfFocus", new IntNode(1));
|
groupDifferentiatorSettings.set("eventsOfFocus",
|
||||||
|
new ArrayNode(JsonNodeFactory.instance, Utils.easyList(new IntNode(1)))
|
||||||
|
);
|
||||||
groupDifferentiatorSettings.set("events",
|
groupDifferentiatorSettings.set("events",
|
||||||
new ArrayNode(JsonNodeFactory.instance, Utils.easyList(new IntNode(1), new IntNode(2)))
|
new ArrayNode(JsonNodeFactory.instance, Utils.easyList(new IntNode(1), new IntNode(2)))
|
||||||
);
|
);
|
||||||
|
|
|
@ -16,14 +16,14 @@
|
||||||
|
|
||||||
package ca.joeltherrien.randomforest.competingrisk;
|
package ca.joeltherrien.randomforest.competingrisk;
|
||||||
|
|
||||||
import ca.joeltherrien.randomforest.utils.DataUtils;
|
|
||||||
import ca.joeltherrien.randomforest.Row;
|
import ca.joeltherrien.randomforest.Row;
|
||||||
import ca.joeltherrien.randomforest.Settings;
|
import ca.joeltherrien.randomforest.Settings;
|
||||||
import ca.joeltherrien.randomforest.covariates.Covariate;
|
import ca.joeltherrien.randomforest.covariates.Covariate;
|
||||||
import ca.joeltherrien.randomforest.covariates.settings.NumericCovariateSettings;
|
import ca.joeltherrien.randomforest.covariates.settings.NumericCovariateSettings;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskResponse;
|
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskResponse;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.differentiator.LogRankMultipleGroupDifferentiator;
|
import ca.joeltherrien.randomforest.responses.competingrisk.differentiator.LogRankDifferentiator;
|
||||||
import ca.joeltherrien.randomforest.tree.Split;
|
import ca.joeltherrien.randomforest.tree.Split;
|
||||||
|
import ca.joeltherrien.randomforest.utils.DataUtils;
|
||||||
import ca.joeltherrien.randomforest.utils.SingletonIterator;
|
import ca.joeltherrien.randomforest.utils.SingletonIterator;
|
||||||
import ca.joeltherrien.randomforest.utils.Utils;
|
import ca.joeltherrien.randomforest.utils.Utils;
|
||||||
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
||||||
|
@ -39,7 +39,7 @@ import java.util.List;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
public class TestLogRankMultipleGroupDifferentiator {
|
public class TestLogRankDifferentiator {
|
||||||
|
|
||||||
private Iterator<Split<CompetingRiskResponse, ?>> turnIntoSplitIterator(List<Row<CompetingRiskResponse>> leftList,
|
private Iterator<Split<CompetingRiskResponse, ?>> turnIntoSplitIterator(List<Row<CompetingRiskResponse>> leftList,
|
||||||
List<Row<CompetingRiskResponse>> rightList){
|
List<Row<CompetingRiskResponse>> rightList){
|
||||||
|
@ -70,7 +70,7 @@ public class TestLogRankMultipleGroupDifferentiator {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSplitRule() throws IOException {
|
public void testSplitRule() throws IOException {
|
||||||
final LogRankMultipleGroupDifferentiator groupDifferentiator = new LogRankMultipleGroupDifferentiator(new int[]{1,2});
|
final LogRankDifferentiator groupDifferentiator = new LogRankDifferentiator(new int[]{1,2}, new int[]{1,2});
|
||||||
|
|
||||||
final List<Row<CompetingRiskResponse>> data = loadData("src/test/resources/test_split_data.csv").getRows();
|
final List<Row<CompetingRiskResponse>> data = loadData("src/test/resources/test_split_data.csv").getRows();
|
||||||
|
|
||||||
|
@ -79,38 +79,11 @@ public class TestLogRankMultipleGroupDifferentiator {
|
||||||
|
|
||||||
final double scoreBad = groupDifferentiator.differentiate(turnIntoSplitIterator(group1Bad, group2Bad)).getScore();
|
final double scoreBad = groupDifferentiator.differentiate(turnIntoSplitIterator(group1Bad, group2Bad)).getScore();
|
||||||
|
|
||||||
final List<Row<CompetingRiskResponse>> group1Good = data.subList(0, 199);
|
|
||||||
final List<Row<CompetingRiskResponse>> group2Good= data.subList(199, data.size());
|
|
||||||
|
|
||||||
final double scoreGood = groupDifferentiator.differentiate(turnIntoSplitIterator(group1Good, group2Good)).getScore();
|
|
||||||
|
|
||||||
// expected results calculated manually using survival::survdiff in R; see issue #10 in Gitea
|
// expected results calculated manually using survival::survdiff in R; see issue #10 in Gitea
|
||||||
closeEnough(71.41135, scoreBad, 0.00001);
|
closeEnough(9.413002, scoreBad, 0.00001);
|
||||||
closeEnough(71.5354, scoreGood, 0.00001);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testSplitRuleV2() throws IOException {
|
|
||||||
final LogRankMultipleGroupDifferentiator groupDifferentiator = new LogRankMultipleGroupDifferentiator(new int[]{1,2});
|
|
||||||
|
|
||||||
final List<Row<CompetingRiskResponse>> data = loadData("src/test/resources/new_data_that_triggers_difference_composite.csv").getRows();
|
|
||||||
|
|
||||||
final List<Row<CompetingRiskResponse>> group1Bad = data.subList(0, 196);
|
|
||||||
final List<Row<CompetingRiskResponse>> group2Bad = data.subList(196, data.size());
|
|
||||||
|
|
||||||
final double scoreBad = groupDifferentiator.differentiate(turnIntoSplitIterator(group1Bad, group2Bad)).getScore();
|
|
||||||
|
|
||||||
final List<Row<CompetingRiskResponse>> group1Good = data.subList(0, 199);
|
|
||||||
final List<Row<CompetingRiskResponse>> group2Good= data.subList(199, data.size());
|
|
||||||
|
|
||||||
final double scoreGood = groupDifferentiator.differentiate(turnIntoSplitIterator(group1Good, group2Good)).getScore();
|
|
||||||
|
|
||||||
// expected results calculated manually using survival::survdiff in R; see issue #10 in Gitea
|
|
||||||
closeEnough(71.41135, scoreBad, 0.00001);
|
|
||||||
closeEnough(71.5354, scoreGood, 0.00001);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void closeEnough(double expected, double actual, double margin){
|
private void closeEnough(double expected, double actual, double margin){
|
||||||
assertTrue(Math.abs(expected - actual) < margin, "Expected " + expected + " but saw " + actual);
|
assertTrue(Math.abs(expected - actual) < margin, "Expected " + expected + " but saw " + actual);
|
|
@ -18,7 +18,7 @@ package ca.joeltherrien.randomforest.competingrisk;
|
||||||
|
|
||||||
import ca.joeltherrien.randomforest.Row;
|
import ca.joeltherrien.randomforest.Row;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskResponse;
|
import ca.joeltherrien.randomforest.responses.competingrisk.CompetingRiskResponse;
|
||||||
import ca.joeltherrien.randomforest.responses.competingrisk.differentiator.LogRankSingleGroupDifferentiator;
|
import ca.joeltherrien.randomforest.responses.competingrisk.differentiator.LogRankDifferentiator;
|
||||||
import ca.joeltherrien.randomforest.tree.GroupDifferentiator;
|
import ca.joeltherrien.randomforest.tree.GroupDifferentiator;
|
||||||
import ca.joeltherrien.randomforest.tree.Split;
|
import ca.joeltherrien.randomforest.tree.Split;
|
||||||
import ca.joeltherrien.randomforest.utils.SingletonIterator;
|
import ca.joeltherrien.randomforest.utils.SingletonIterator;
|
||||||
|
@ -29,7 +29,6 @@ import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
@ -82,7 +81,7 @@ public class TestLogRankSingleGroupDifferentiator {
|
||||||
final List<Row<CompetingRiskResponse>> data1 = generateData1();
|
final List<Row<CompetingRiskResponse>> data1 = generateData1();
|
||||||
final List<Row<CompetingRiskResponse>> data2 = generateData2();
|
final List<Row<CompetingRiskResponse>> data2 = generateData2();
|
||||||
|
|
||||||
final LogRankSingleGroupDifferentiator differentiator = new LogRankSingleGroupDifferentiator(1, new int[]{1});
|
final LogRankDifferentiator differentiator = new LogRankDifferentiator(new int[]{1}, new int[]{1});
|
||||||
|
|
||||||
final double score = getScore(differentiator, data1, data2);
|
final double score = getScore(differentiator, data1, data2);
|
||||||
final double margin = 0.000001;
|
final double margin = 0.000001;
|
||||||
|
@ -95,10 +94,10 @@ public class TestLogRankSingleGroupDifferentiator {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCorrectSplit() throws IOException {
|
public void testCorrectSplit() throws IOException {
|
||||||
final LogRankSingleGroupDifferentiator groupDifferentiator =
|
final LogRankDifferentiator groupDifferentiator =
|
||||||
new LogRankSingleGroupDifferentiator(1, new int[]{1,2});
|
new LogRankDifferentiator(new int[]{1}, new int[]{1,2});
|
||||||
|
|
||||||
final List<Row<CompetingRiskResponse>> data = TestLogRankMultipleGroupDifferentiator.
|
final List<Row<CompetingRiskResponse>> data = TestLogRankDifferentiator.
|
||||||
loadData("src/test/resources/test_single_split.csv").getRows();
|
loadData("src/test/resources/test_single_split.csv").getRows();
|
||||||
|
|
||||||
final List<Row<CompetingRiskResponse>> group1Good = data.subList(0, 221);
|
final List<Row<CompetingRiskResponse>> group1Good = data.subList(0, 221);
|
||||||
|
|
|
@ -1,422 +0,0 @@
|
||||||
"T","J","x1","x2","x3","set","C","u","delta"
|
|
||||||
0.499867362999948,2,-1.95019832240832,-2.60627899155475,0.263872418621638,"d1",78.1147597315622,0.499867362999948,2
|
|
||||||
0.411483192351542,2,-0.335587884128994,-2.59271420987147,-1.13466609937628,"d1",17.0940970062258,0.411483192351542,2
|
|
||||||
6.26589199230665,1,-1.54140235787167,-2.30006437514968,0.233748690841754,"d1",25.4117258257213,6.26589199230665,1
|
|
||||||
5.51302082790179,1,-2.14735528739845,-2.20493452952125,-0.00149264459250339,"d1",21.1466883780434,5.51302082790179,1
|
|
||||||
0.589132356923074,2,-0.504171648695752,-2.12406874197516,0.966489874835643,"d1",63.6942574348221,0.589132356923074,2
|
|
||||||
0.100430077962303,2,-0.690743614142311,-2.11417284528098,-0.462855490815159,"d1",1.99340037070215,0.100430077962303,2
|
|
||||||
2.78052458150272,2,-0.551926772252824,-2.09000455633969,-0.177623152985041,"d1",30.9898108972197,2.78052458150272,2
|
|
||||||
0.362287234184209,2,-0.115697384278896,-2.07978204758821,-0.637623319390929,"d1",39.3571070564871,0.362287234184209,2
|
|
||||||
0.0379365109838545,2,-2.35088503668122,-2.06709410300666,0.829087459518316,"d1",19.5599143943729,0.0379365109838545,2
|
|
||||||
0.030014815274626,2,-0.158798650966454,-2.05890835303292,-0.462039828875565,"d1",1.57979466716853,0.030014815274626,2
|
|
||||||
5.47108585297847,1,-0.62692030358575,-2.02055602810388,0.444819057512709,"d1",10.4432902485132,5.47108585297847,1
|
|
||||||
3.19113383128197,1,-1.00870532301789,-1.99366184170529,0.36597640035569,"d1",6.42029091715813,3.19113383128197,1
|
|
||||||
7.01919485280539,1,-1.43655112723172,-1.95287956158818,-0.74781769436591,"d1",29.2763396335726,7.01919485280539,1
|
|
||||||
5.6207995602991,1,-1.72940999679298,-1.880860671279,0.865723067991154,"d1",7.21366209874041,5.6207995602991,1
|
|
||||||
2.35006319160078,2,-1.56730398966994,-1.87987513761127,-0.100405585728897,"d1",103.798832333753,2.35006319160078,2
|
|
||||||
0.655913021415472,2,-0.381072772266333,-1.83726471030277,-1.91183811668422,"d1",47.9379538793988,0.655913021415472,2
|
|
||||||
4.60259209920592,2,-0.447638765302678,-1.78988532702524,0.609071625258388,"d1",2.60597240030185,2.60597240030185,0
|
|
||||||
5.82985093311453,1,-0.454478759553709,-1.77988775292904,-0.951380467801523,"d1",11.8871257267892,5.82985093311453,1
|
|
||||||
4.00551166178143,2,-0.169952711026236,-1.77577954156175,-0.0743184050913884,"d1",4.01423139072942,4.00551166178143,2
|
|
||||||
0.770518803927016,2,-0.217358259412447,-1.76478931337377,0.925995782542218,"d1",27.4441876254025,0.770518803927016,2
|
|
||||||
1.464766157707,2,-0.907513823100056,-1.75462814010361,0.0618782092551372,"d1",7.28319086134434,1.464766157707,2
|
|
||||||
5.85581386372292,1,-0.408218830092499,-1.7351551622775,-1.30565834762586,"d1",20.3997039211172,5.85581386372292,1
|
|
||||||
0.627003119327128,2,-0.490915399276648,-1.7130888915695,-0.701850720754584,"d1",0.0501011684536934,0.0501011684536934,0
|
|
||||||
5.28130548623981,1,-0.44820545440036,-1.67845567328654,-0.352553421039791,"d1",11.5045715961605,5.28130548623981,1
|
|
||||||
1.07525985218109,2,-1.19338720662916,-1.66337144479934,0.796645773274118,"d1",59.376008582585,1.07525985218109,2
|
|
||||||
6.54756452824936,1,-1.16617815904908,-1.63820855004219,-1.157168326241,"d1",53.0357338090367,6.54756452824936,1
|
|
||||||
0.111345880643449,2,-0.78711928337837,-1.60644550943024,-2.24275122811157,"d1",3.74917807608269,0.111345880643449,2
|
|
||||||
0.451999953016639,2,-0.812418624513425,-1.55229147176324,-0.349728885283845,"d1",20.7824087638621,0.451999953016639,2
|
|
||||||
0.66187332617119,2,-0.508034279805,-1.53046688766278,-0.125548243031678,"d1",1.05018629103254,0.66187332617119,2
|
|
||||||
0.615669948980212,2,-0.883736989422782,-1.5182885181224,-2.17546487280826,"d1",2.50971530564129,0.615669948980212,2
|
|
||||||
4.59409849090741,1,-0.463742158823814,-1.51482036685259,-0.128794669558068,"d1",5.21418055519462,4.59409849090741,1
|
|
||||||
1.70998832202497,2,-0.435222341947856,-1.46629935512921,0.366128738801027,"d1",22.9905674225631,1.70998832202497,2
|
|
||||||
0.16477278387174,2,-0.158962000535981,-1.42734602325756,0.7814198196256,"d1",2.67401527323018,0.16477278387174,2
|
|
||||||
2.69938570062134,2,-1.32872703004022,-1.42130869029821,0.348507166757712,"d1",8.26423623237792,2.69938570062134,2
|
|
||||||
0.36591454860851,2,-0.272697388869142,-1.41996949576558,-1.09564014616258,"d1",6.61146112717688,0.36591454860851,2
|
|
||||||
0.353021066088114,2,-0.705605038212206,-1.40316187616988,0.765560773782534,"d1",8.0167396645993,0.353021066088114,2
|
|
||||||
6.06766719635048,1,-1.55037485195067,-1.34567809527089,-0.760841361837919,"d1",1.09786237904911,1.09786237904911,0
|
|
||||||
0.644815232139081,2,-1.15963532979715,-1.31896146330714,-0.549007768600895,"d1",31.0450109077578,0.644815232139081,2
|
|
||||||
1.07542936220289,2,-0.778554847469194,-1.30054996528693,-1.04023868273514,"d1",25.8691836140099,1.07542936220289,2
|
|
||||||
0.25507666592619,2,-2.10743065316308,-1.28781900130437,-1.16449794284244,"d1",2.4481005128473,0.25507666592619,2
|
|
||||||
4.22979112319602,1,-0.846428182531737,-1.27060985892563,-1.08205947085447,"d1",40.1862035302405,4.22979112319602,1
|
|
||||||
1.54102904713693,2,-0.548921604883928,-1.26747682520373,0.269373223479816,"d1",7.15302918106318,1.54102904713693,2
|
|
||||||
5.69764774521504,1,-0.334010020049075,-1.25874497163495,-0.0938705365567017,"d1",34.0617424678587,5.69764774521504,1
|
|
||||||
3.6253245340717,1,-2.06010942376809,-1.25629035083821,0.064109659520042,"d1",4.88388891331851,3.6253245340717,1
|
|
||||||
4.26293430757702,2,-1.32110118545274,-1.23852335684901,0.60335439407922,"d1",8.21151600219309,4.26293430757702,2
|
|
||||||
5.71672319925689,1,-0.263168026690344,-1.22173402907403,-1.71587984337502,"d1",16.940669081265,5.71672319925689,1
|
|
||||||
5.55431417646415,1,-0.447206372965553,-1.21303905186392,0.115815130048467,"d1",15.2463490135016,5.55431417646415,1
|
|
||||||
1.2009382713166,2,-1.14899977428392,-1.20463083041379,-1.14429497936915,"d1",23.6061829878929,1.2009382713166,2
|
|
||||||
6.79536680010782,1,-0.0111679873537602,-1.19546465375587,0.309993712292912,"d1",66.1284001137982,6.79536680010782,1
|
|
||||||
2.46331876317475,2,-0.482701087662075,-1.1481795630697,-1.41455158117126,"d1",12.5331542361528,2.46331876317475,2
|
|
||||||
4.07894908429539,2,-1.45510635149798,-1.14384314965535,0.808902319926509,"d1",1.44096298856773,1.44096298856773,0
|
|
||||||
0.261695730034262,2,-0.943270301982324,-1.13748423127889,0.158355281672531,"d1",43.8340519384141,0.261695730034262,2
|
|
||||||
4.81273439537871,1,-2.88793714208826,-1.13647240113562,0.0733609481714206,"d1",36.9158127142077,4.81273439537871,1
|
|
||||||
0.230829819571227,2,-0.993323732615054,-1.13619235403737,0.63867136636673,"d1",24.4872925794663,0.230829819571227,2
|
|
||||||
6.73293879458427,1,-0.296846101197127,-1.1340541598207,0.844698804524038,"d1",7.46175810694695,6.73293879458427,1
|
|
||||||
0.168945440556854,2,-0.380773376847431,-1.13128996081587,0.900395196575448,"d1",2.01092992909253,0.168945440556854,2
|
|
||||||
5.98011658047727,1,-0.318535890192892,-1.12903745621652,-0.449817470400936,"d1",3.46174228005111,3.46174228005111,0
|
|
||||||
1.22577496986361,2,-1.7200511170872,-1.12831840181859,-0.273148385437603,"d1",33.532725049365,1.22577496986361,2
|
|
||||||
0.0767893493175507,2,-0.461947633140275,-1.12825500347247,-0.558084112128901,"d1",13.0636250879616,0.0767893493175507,2
|
|
||||||
1.39937541069556,2,-0.110885121668419,-1.11643165391362,0.364029349051793,"d1",1.39057802201063,1.39057802201063,0
|
|
||||||
0.588528974447399,2,-1.00125994464178,-1.11548212705522,0.649809263983229,"d1",21.9685837335854,0.588528974447399,2
|
|
||||||
2.602702756643,1,-0.220756378655706,-1.10142892192176,-0.178398683362156,"d1",15.1814339860323,2.602702756643,1
|
|
||||||
0.107345493510365,2,-0.136424653945802,-1.08620427671388,-1.26310084972045,"d1",2.84996530041099,0.107345493510365,2
|
|
||||||
4.84797774579147,1,-2.640037363721,-1.07718527449055,0.126706475783981,"d1",12.4836507998407,4.84797774579147,1
|
|
||||||
0.400475817371724,2,-0.108508550893446,-1.07292122840034,0.00148134837676338,"d1",8.04725838098943,0.400475817371724,2
|
|
||||||
7.87069047922983,1,-1.07958210533537,-1.06862747193719,-0.662154443222777,"d1",84.0155980685606,7.87069047922983,1
|
|
||||||
5.16738377891322,1,-1.43866435150085,-1.05722321366436,-0.674634964462416,"d1",13.1439987290651,5.16738377891322,1
|
|
||||||
0.312620884738863,2,-0.54002631314478,-1.03355420146742,-0.927435593761941,"d1",16.1636680881684,0.312620884738863,2
|
|
||||||
0.594797343946993,2,-0.523630694310136,-1.032829845164,-0.3600040754558,"d1",6.55719876289368,0.594797343946993,2
|
|
||||||
1.58756684689763,2,-0.708585547888652,-1.0275777802401,-0.0560092163149688,"d1",2.03709915644662,1.58756684689763,2
|
|
||||||
0.157633140797128,2,-0.46463235612396,-1.01851485235356,-0.38464297772038,"d1",1.12309886419443,0.157633140797128,2
|
|
||||||
0.430044363252819,2,-0.365832672904036,-1.0139697548521,-0.198040491088858,"d1",33.4787387384062,0.430044363252819,2
|
|
||||||
6.3440347051184,1,-1.17668749863083,-1.00058075158278,-0.0651331410262753,"d1",23.426931534525,6.3440347051184,1
|
|
||||||
4.03709980150802,1,-0.248227727286613,-0.973934607681733,-1.12630658813714,"d1",9.87860122695565,4.03709980150802,1
|
|
||||||
0.896409576158602,2,-0.127588856767946,-0.972359927470434,-1.22561091633034,"d1",50.4587066978119,0.896409576158602,2
|
|
||||||
5.04397998161953,1,-1.74108063837017,-0.957323822479406,0.745863098569719,"d1",10.5295320414007,5.04397998161953,1
|
|
||||||
3.85294361146361,1,-1.26750294431399,-0.94789344647265,0.831736527945425,"d1",10.9185821376741,3.85294361146361,1
|
|
||||||
0.442006511877013,2,-0.354036914659923,-0.942780627326355,-0.363831505743131,"d1",43.415603150887,0.442006511877013,2
|
|
||||||
0.232622205279768,2,-1.66241321442347,-0.924117138889276,-0.814930976394094,"d1",1.5546501009788,0.232622205279768,2
|
|
||||||
0.747469336683762,2,-0.831949103513653,-0.914532892677964,-0.123845288295496,"d1",4.54467300325632,0.747469336683762,2
|
|
||||||
4.1848791638863,1,-2.14543063227577,-0.911795115892639,0.916083249608967,"d1",30.2966161302086,4.1848791638863,1
|
|
||||||
1.66416368167374,1,-0.145463778274721,-0.90074686050758,-0.564459630306043,"d1",6.34306907272518,1.66416368167374,1
|
|
||||||
6.72130595897616,1,-0.763857738580545,-0.872310481790421,0.28360030698429,"d1",6.98184758424759,6.72130595897616,1
|
|
||||||
0.421556759160012,2,-1.02907312310893,-0.868297987116183,-2.04164832864124,"d1",22.1035440443995,0.421556759160012,2
|
|
||||||
0.415698179975152,2,-0.565088432517738,-0.865971805743903,0.489298810095688,"d1",24.2157815015855,0.415698179975152,2
|
|
||||||
6.04006984027352,1,-1.80378631546711,-0.865947701381903,-2.45143317065972,"d1",12.7496245224029,6.04006984027352,1
|
|
||||||
4.43406675993612,1,-1.10530784304803,-0.855162013689037,0.825965077039436,"d1",12.3575822915882,4.43406675993612,1
|
|
||||||
6.60455671871596,1,-0.753543782190729,-0.853065417847988,0.911528068965907,"d1",55.8949446644554,6.60455671871596,1
|
|
||||||
5.86430583830404,1,-0.119270069843969,-0.832012305781867,-0.123396917106593,"d1",2.04369612969458,2.04369612969458,0
|
|
||||||
0.765395824861464,2,-0.756590051392957,-0.825870681405957,-1.09459501923616,"d1",7.56691016256809,0.765395824861464,2
|
|
||||||
6.13062823509473,1,-0.404367354122395,-0.794123265422334,0.519397084421048,"d1",6.57340552657843,6.13062823509473,1
|
|
||||||
1.36763089332254,2,-1.26507040921231,-0.785245756841697,-0.791402036345245,"d1",3.11886790208519,1.36763089332254,2
|
|
||||||
2.42700778147439,2,-0.487188196151172,-0.766669594197886,0.410330957888797,"d1",5.85054755210876,2.42700778147439,2
|
|
||||||
6.73991273889714,1,-0.184761116886234,-0.761522374617492,-0.532248648464166,"d1",12.2256078850478,6.73991273889714,1
|
|
||||||
4.36141455710945,1,-0.105471206029084,-0.754424978552752,-0.956983188268582,"d1",44.0004703749843,4.36141455710945,1
|
|
||||||
0.0148825589567423,2,-0.832577791659755,-0.750814042922674,0.594368798149314,"d1",10.2718881517649,0.0148825589567423,2
|
|
||||||
2.03035983248594,2,-1.35008072739753,-0.739254017411324,-0.934537708298102,"d1",6.93155937828124,2.03035983248594,2
|
|
||||||
0.323219427368838,2,-3.30164481425116,-0.737413330682173,0.158535050544275,"d1",6.21096261776984,0.323219427368838,2
|
|
||||||
4.56057912025861,1,-1.74103151571216,-0.736136753174071,0.288649407044573,"d1",62.3897792365322,4.56057912025861,1
|
|
||||||
5.1935752095808,1,-1.29643082121738,-0.735905168742066,-0.935752993561474,"d1",5.09524474851787,5.09524474851787,0
|
|
||||||
3.86531025709069,2,-0.0636095105971832,-0.732886515689508,-0.814307779468899,"d1",8.85476755909622,3.86531025709069,2
|
|
||||||
0.634098547976464,2,-0.170986777740401,-0.732247546425096,-0.246855951431236,"d1",30.9612841089789,0.634098547976464,2
|
|
||||||
4.87612400835413,1,-0.102394565999977,-0.677771864546318,0.0275786348531762,"d1",36.7549219137475,4.87612400835413,1
|
|
||||||
1.06079483773084,2,-0.0561619275905622,-0.662931426871597,0.730700839291824,"d1",13.5279788542539,1.06079483773084,2
|
|
||||||
6.60489732026799,1,-0.679722503289936,-0.646491972989746,-0.294445508374441,"d1",11.0387820657343,6.60489732026799,1
|
|
||||||
3.73370052556696,1,-1.33588231931319,-0.626542518485307,0.976264181983691,"d1",34.0810245631223,3.73370052556696,1
|
|
||||||
0.215206013061106,2,-0.487402140919274,-0.622077838675401,-0.985499563550701,"d1",12.1548983175308,0.215206013061106,2
|
|
||||||
0.0742700085614745,2,-2.14895712262163,-0.621501276239038,0.136788117565418,"d1",8.04026352241635,0.0742700085614745,2
|
|
||||||
7.1008527322065,1,-0.440348488037497,-0.615830025512935,-2.19194484398512,"d1",8.89550268650055,7.1008527322065,1
|
|
||||||
6.7471566122746,1,-0.481224832366081,-0.600951099333045,-0.480762211269973,"d1",38.7437415106182,6.7471566122746,1
|
|
||||||
2.24482986132119,2,-0.217731228444547,-0.600578883093281,0.940056160419262,"d1",20.6535042255166,2.24482986132119,2
|
|
||||||
7.50474685696234,1,-1.10367757209531,-0.577843231260005,-0.0138303662264709,"d1",13.2619685679674,7.50474685696234,1
|
|
||||||
0.713865732194423,2,-1.21517626693504,-0.575358915832213,-0.728181360609758,"d1",42.7921076222811,0.713865732194423,2
|
|
||||||
5.33264101467657,1,-0.0724806947018318,-0.563523809200885,-0.204717134353468,"d1",0.187731010444536,0.187731010444536,0
|
|
||||||
6.8586275618804,1,-1.46591798681562,-0.540729342476426,-0.754580363544986,"d1",20.3525460335558,6.8586275618804,1
|
|
||||||
5.81992253219201,1,-0.444983494178246,-0.531714523661177,-0.277171929560516,"d1",6.38694288624484,5.81992253219201,1
|
|
||||||
3.7151160815995,1,-0.237257721084836,-0.527018720350226,0.642959786423278,"d1",2.24223504598635,2.24223504598635,0
|
|
||||||
1.22530156649174,2,-0.635791390940521,-0.526483309231819,-2.1949047574972,"d1",44.1750103582568,1.22530156649174,2
|
|
||||||
7.00373084336256,1,-0.20081259124862,-0.525865240188069,0.99733337346096,"d1",9.77560072205961,7.00373084336256,1
|
|
||||||
7.46638813745472,1,-0.613414594619111,-0.522864801860655,-1.70505864369456,"d1",1.32270062773303,1.32270062773303,0
|
|
||||||
0.0770264104939997,2,-0.170624607385686,-0.521560426585595,0.284753182059407,"d1",3.57309073262642,0.0770264104939997,2
|
|
||||||
0.141067513730377,2,-0.81252818099109,-0.520882451714799,-1.02508871215029,"d1",22.2968422240558,0.141067513730377,2
|
|
||||||
8.08000240358258,1,-0.0589302051711418,-0.520026414725689,-1.21999195799251,"d1",6.38638902273251,6.38638902273251,0
|
|
||||||
0.65961842937395,2,-1.38673148781067,-0.513633600019186,0.85706365337255,"d1",34.38266120683,0.65961842937395,2
|
|
||||||
0.32432593498379,2,-1.35781650273435,-0.512039227314512,-0.204715271838212,"d1",13.1133704725653,0.32432593498379,2
|
|
||||||
0.576963331084698,2,-0.0457498417621635,-0.501686863705973,0.174835042489924,"d1",31.1563714439857,0.576963331084698,2
|
|
||||||
4.75434525966485,1,-0.599919349345153,-0.495367089666113,0.604377261065303,"d1",24.0383815979422,4.75434525966485,1
|
|
||||||
0.818759842712206,2,-0.0952013785990633,-0.494432211818882,-1.46694803898337,"d1",16.0198312097289,0.818759842712206,2
|
|
||||||
4.90561182719959,1,-1.81492443726033,-0.487671608873654,-1.97555745670925,"d1",33.5309124327051,4.90561182719959,1
|
|
||||||
3.63952218537657,2,-0.927798420893534,-0.481793161685171,0.270857399145853,"d1",40.5118284730201,3.63952218537657,2
|
|
||||||
1.00702644694121,2,-0.739796432115704,-0.465562602228936,0.0793119855033039,"d1",30.9101264396234,1.00702644694121,2
|
|
||||||
6.76971502879328,1,-0.638730432059152,-0.465503594160261,0.331249150958679,"d1",20.2612976162674,6.76971502879328,1
|
|
||||||
6.59249465181477,1,-0.142211253824736,-0.461603677722249,-0.752128672509869,"d1",26.7710029139164,6.59249465181477,1
|
|
||||||
2.805273024192,1,-0.133514709139844,-0.459588211605541,0.222501548058442,"d1",1.4710845425725,1.4710845425725,0
|
|
||||||
1.24453746150703,2,-1.67404168511301,-0.457658559466724,-2.94999228204974,"d1",0.0318882730873944,0.0318882730873944,0
|
|
||||||
0.502410726577924,2,-0.198465011915808,-0.44726347609141,-1.01351429027039,"d1",19.663324690515,0.502410726577924,2
|
|
||||||
6.25768367946802,1,-0.499300428082239,-0.433624573557182,0.772259655809996,"d1",16.2063858835938,6.25768367946802,1
|
|
||||||
4.45243678390236,1,-2.27994890407291,-0.432600267100338,-0.192874202113765,"d1",16.1783087803962,4.45243678390236,1
|
|
||||||
5.3456110942715,1,-0.0728341072992885,-0.426744213461414,-2.00347070619136,"d1",23.6349859825316,5.3456110942715,1
|
|
||||||
6.13261237074062,1,-0.699906551948259,-0.412362816369978,-0.00380865176602626,"d1",11.5768774040043,6.13261237074062,1
|
|
||||||
3.68682961056151,1,-0.0838928805075599,-0.411622202650781,0.568031700168796,"d1",22.4474866121056,3.68682961056151,1
|
|
||||||
0.76100954706631,2,-0.878828901403943,-0.407136319659784,-0.422550777633684,"d1",8.09349642135203,0.76100954706631,2
|
|
||||||
3.6396768946298,1,-0.493970497537286,-0.380437653626171,0.544980332189823,"d1",24.2342771767619,3.6396768946298,1
|
|
||||||
0.226093608306023,2,-0.802450798273513,-0.379668398780153,-0.353597623913161,"d1",10.9755174070597,0.226093608306023,2
|
|
||||||
7.14217677187447,1,-0.532156059460212,-0.377947838991342,0.865326864053416,"d1",83.4494295553544,7.14217677187447,1
|
|
||||||
1.023792038258,2,-0.234775191661309,-0.377922510014183,0.491050706319866,"d1",13.4517656546086,1.023792038258,2
|
|
||||||
0.325230990536511,2,-0.921853465743566,-0.376532243381352,-0.315304498057206,"d1",10.009858366102,0.325230990536511,2
|
|
||||||
1.21214290052177,2,-1.01754659517164,-0.372131176422376,0.721744258141993,"d1",15.1669203109088,1.21214290052177,2
|
|
||||||
1.05932499277861,2,-0.172861497329901,-0.368173871392029,-0.415327623237047,"d1",11.0319846123457,1.05932499277861,2
|
|
||||||
1.15900027747722,2,-1.06357604916444,-0.355727286601868,-0.83295066853112,"d1",11.026405999437,1.15900027747722,2
|
|
||||||
1.40432675174418,2,-2.00392240233422,-0.354311938693627,0.545223722435314,"d1",4.14780305698514,1.40432675174418,2
|
|
||||||
5.24546520517952,1,-0.697060984902235,-0.352340824558248,-0.167827672286475,"d1",13.1773237604648,5.24546520517952,1
|
|
||||||
2.20974060321662,2,-0.44644890041726,-0.341316173238382,-1.17368307746107,"d1",12.000501928851,2.20974060321662,2
|
|
||||||
1.10313763608864,2,-1.01741977972463,-0.301238997620582,0.795809665949982,"d1",1.13211940973997,1.10313763608864,2
|
|
||||||
0.0549348615779616,2,-0.638941905808089,-0.282836701929551,-0.222573540488648,"d1",18.5490127270171,0.0549348615779616,2
|
|
||||||
6.19019369816236,1,-0.630025466535802,-0.278803767694466,0.363569772143073,"d1",14.0355504109504,6.19019369816236,1
|
|
||||||
5.854815371233,1,-0.70528626965295,-0.27642123739972,0.755367666130202,"d1",0.0763031522171913,0.0763031522171913,0
|
|
||||||
0.915718387383339,2,-0.599049699293295,-0.250802227183038,0.638905768770242,"d1",7.72378107532859,0.915718387383339,2
|
|
||||||
0.408360831827446,2,-0.373723206001262,-0.250303662643863,-1.34600874310538,"d1",1.42498890869319,0.408360831827446,2
|
|
||||||
0.207730723278592,2,-1.1498063304207,-0.242127769602012,0.187896014934178,"d1",18.3369519749022,0.207730723278592,2
|
|
||||||
5.98386667120984,1,-1.02659650747139,-0.236076301428279,-0.221062460615409,"d1",37.3994422083372,5.98386667120984,1
|
|
||||||
1.08100279043884,2,-1.94479416850934,-0.233685865260032,-1.95828191574904,"d1",12.4608694948256,1.08100279043884,2
|
|
||||||
0.0099718258716166,2,-1.51095925832907,-0.226883732267773,0.538896410656343,"d1",1.69574242813753,0.0099718258716166,2
|
|
||||||
0.654205780476332,2,-1.4121280129534,-0.224646176343045,0.992025433629389,"d1",13.1169978715479,0.654205780476332,2
|
|
||||||
4.54793027405606,1,-0.828960039105809,-0.21371393692546,-1.56541454696946,"d1",11.5059393732247,4.54793027405606,1
|
|
||||||
3.38249082101469,2,-0.304769221959177,-0.211731030982286,0.556224447936644,"d1",3.39749668724835,3.38249082101469,2
|
|
||||||
3.96991475732246,1,-0.0883548658769718,-0.209627983367337,0.941399989549762,"d1",0.838029654696584,0.838029654696584,0
|
|
||||||
6.59189400563318,1,-0.424866029345544,-0.201990758460719,-0.0530650487711301,"d1",14.3362023462337,6.59189400563318,1
|
|
||||||
4.33577255715891,1,-0.733916490468392,-0.197969023048747,0.746621269395464,"d1",0.883020637944007,0.883020637944007,0
|
|
||||||
0.101469402055628,2,-0.82052056082922,-0.190251451264261,-0.0639685408845276,"d1",13.7223364040256,0.101469402055628,2
|
|
||||||
0.770054679736931,2,-0.214052821196357,-0.186398037836426,-1.21330515191523,"d1",43.0222481836505,0.770054679736931,2
|
|
||||||
0.00398647907686216,2,-0.738955336683205,-0.18140384913684,-0.322614676260016,"d1",9.5018079970032,0.00398647907686216,2
|
|
||||||
6.25516042635959,1,-0.605307676670324,-0.150378047353032,0.345014721638011,"d1",30.7541495917325,6.25516042635959,1
|
|
||||||
8.1048077865766,1,-1.01710519216245,-0.149800375609999,-0.0364766720553888,"d1",0.944741234214027,0.944741234214027,0
|
|
||||||
6.2812328382367,1,-0.6418689198448,-0.143668219208823,0.169791544958343,"d1",4.39846734516323,4.39846734516323,0
|
|
||||||
6.92405921593974,1,-0.726680950407423,-0.135676733596106,0.25111223999711,"d1",1.39894222840667,1.39894222840667,0
|
|
||||||
1.15639470513434,2,-0.375659527184283,-0.133457241096729,-0.720537460818236,"d1",4.6384328158824,1.15639470513434,2
|
|
||||||
0.0127057878088691,2,-0.584704699337587,-0.129682557224926,0.714226452339785,"d1",11.5945034567267,0.0127057878088691,2
|
|
||||||
1.02857265573186,2,-0.326048256016773,-0.129438718205001,-1.23355723518009,"d1",35.4771690426354,1.02857265573186,2
|
|
||||||
0.0205982001498342,2,-0.359779776182028,-0.119297861520966,0.591992900562482,"d1",8.94692211411893,0.0205982001498342,2
|
|
||||||
1.40970702545298,2,-0.213891739055617,-0.119294621033348,-0.182478549861398,"d1",12.1665546670556,1.40970702545298,2
|
|
||||||
0.0254313736222684,2,-1.24521542217279,-0.119287220034298,0.625913797060942,"d1",3.49854445963949,0.0254313736222684,2
|
|
||||||
5.83808202434836,1,-0.578403832247115,-0.112888224067282,0.262708993216398,"d1",13.8795710072452,5.83808202434836,1
|
|
||||||
6.60082031797962,1,-1.46939977515696,-0.104406161639182,0.338158444800253,"d1",17.2645219841198,6.60082031797962,1
|
|
||||||
0.117790273856372,2,-0.261344257340527,-0.0993180765045312,-1.18610183706866,"d1",17.3415739927542,0.117790273856372,2
|
|
||||||
2.16273942540821,1,-0.721897078426956,-0.0746452491488003,-1.12270409405886,"d1",14.0247517622476,2.16273942540821,1
|
|
||||||
0.0374332187223255,2,-0.492348529899591,-0.0740207812561484,-1.43891317872365,"d1",26.6852392061594,0.0374332187223255,2
|
|
||||||
5.0002440073125,1,-1.17422958458737,-0.0611967996743354,0.924747957649965,"d1",15.1820505589439,5.0002440073125,1
|
|
||||||
0.571775167714804,2,-1.71005056102592,-0.050562582643229,-1.27945291216992,"d1",12.6607749331743,0.571775167714804,2
|
|
||||||
6.65550057687453,1,-0.405884732342281,-0.0456498072713263,-0.357571968752414,"d1",3.69402457028627,3.69402457028627,0
|
|
||||||
0.857566208536637,2,-0.597174831778963,-0.0448578636565208,0.69300706154143,"d1",0.551790578173197,0.551790578173197,0
|
|
||||||
6.59222101830647,1,-0.274371806644722,-0.0359840523969918,-0.00026315814818347,"d1",17.4641290572546,6.59222101830647,1
|
|
||||||
0.67841577809304,2,-1.0772074617867,-0.0337208917027876,-0.403450657463133,"d1",35.4620265198832,0.67841577809304,2
|
|
||||||
0.668002340011299,2,-1.08545723440476,-0.0251063950207619,0.939654469893472,"d1",8.34927806630731,0.668002340011299,2
|
|
||||||
5.74339111739383,1,-0.04460856554122,-0.00835023844905028,-0.748071090622482,"d1",51.6425802160926,5.74339111739383,1
|
|
||||||
1.82126400425079,2,-0.0177826697978964,-0.00525648348828892,0.960240386660172,"d1",6.33178289048374,1.82126400425079,2
|
|
||||||
0.630121590569615,2,-0.374380456657173,-0.00283109908242781,-0.460421882711496,"d1",31.515871056219,0.630121590569615,2
|
|
||||||
1.62263065547043,2,-0.578858002631244,0.0217249885551602,-1.96126361796654,"d2",11.4491322916001,1.62263065547043,2
|
|
||||||
1.28221844159756,1,-0.393114588906499,0.0225499335063258,0.434198009477631,"d2",8.08907632716,1.28221844159756,1
|
|
||||||
0.0710073061028453,2,-0.361240550986893,0.0247397479896548,0.284171178928202,"d2",42.1896167036723,0.0710073061028453,2
|
|
||||||
2.1523897035229,2,-0.764435758530165,0.0272912914605349,-1.28327374747751,"d2",10.2206419493408,2.1523897035229,2
|
|
||||||
0.753091441865533,2,-1.19613901592276,0.0276235791587881,0.835647672647747,"d2",2.74232354527797,0.753091441865533,2
|
|
||||||
0.535127593551222,1,-0.576473388106182,0.035000668205451,-0.017356071098809,"d2",13.2582863140851,0.535127593551222,1
|
|
||||||
1.59197683363992,2,-0.625362092530586,0.0370275041807405,0.126384613081724,"d2",37.5318089128632,1.59197683363992,2
|
|
||||||
0.26349567654236,2,-0.290374267961153,0.0371321598830519,-0.513697391403867,"d2",2.80140158938636,0.26349567654236,2
|
|
||||||
0.867308566107245,2,-1.95768667669643,0.0375659571563162,-0.634722892905126,"d2",24.0328325322809,0.867308566107245,2
|
|
||||||
1.30410956147476,2,-0.762471841684381,0.0398737320545291,-0.872482297755538,"d2",22.1617450311126,1.30410956147476,2
|
|
||||||
1.4835222529382,2,-1.0358066572848,0.0501944975859606,-0.735009056303785,"d2",15.6004232159796,1.4835222529382,2
|
|
||||||
0.424044434532835,2,-0.476967266017635,0.050464990999201,-1.72141260365734,"d2",3.48480642773211,0.424044434532835,2
|
|
||||||
0.0915709753815865,2,-0.49692692996925,0.0573151067167399,-0.497970169498318,"d2",65.3296588327656,0.0915709753815865,2
|
|
||||||
1.51596810999106,2,-0.0770707331255256,0.0595677398533348,-1.92136075269802,"d2",79.3569109919381,1.51596810999106,2
|
|
||||||
0.398533509233927,1,-0.826839943477568,0.0682015537417207,-0.882775820710363,"d2",7.15256387429906,0.398533509233927,1
|
|
||||||
1.62587438911195,2,-0.245452415145027,0.068904786126836,-0.958155584397777,"d2",37.1642307547813,1.62587438911195,2
|
|
||||||
0.634364937897617,2,-1.50830408406202,0.0754547310552607,0.0973234366406274,"d2",5.67512247152905,0.634364937897617,2
|
|
||||||
0.711386162395278,2,-1.37503355669522,0.0770248811196285,-0.903993925010862,"d2",13.2279564812779,0.711386162395278,2
|
|
||||||
0.747886747492562,2,-0.283476358868049,0.0790833893495843,0.867533784826467,"d2",4.36639625579119,0.747886747492562,2
|
|
||||||
0.633273537163958,2,-0.866793185278675,0.0795548841871984,-0.800219422194315,"d2",3.86477720923722,0.633273537163958,2
|
|
||||||
0.0204741884312118,2,-0.023090344746053,0.0816820451255088,0.865940404164304,"d2",0.800363280481217,0.0204741884312118,2
|
|
||||||
0.809896258124635,2,-1.48811573495461,0.0868639459183109,-0.900670183447792,"d2",5.32053390517831,0.809896258124635,2
|
|
||||||
0.224963228745801,2,-0.615143621366165,0.104343235385161,-0.528253178308493,"d2",0.781445745378733,0.224963228745801,2
|
|
||||||
0.603945789213362,2,-0.902504927566528,0.108878805887301,-0.391791898161784,"d2",34.4152825247088,0.603945789213362,2
|
|
||||||
1.06525917474196,2,-0.407066520246661,0.109326641421494,-0.557445394177184,"d2",32.2371522580046,1.06525917474196,2
|
|
||||||
0.155089284692544,2,-0.420606469294957,0.109782326184036,-0.122495113916219,"d2",34.4508593512659,0.155089284692544,2
|
|
||||||
0.35317332376549,2,-2.5323142576937,0.120387488663856,0.636340699537245,"d2",5.94721422530711,0.35317332376549,2
|
|
||||||
1.50856900470565,1,-1.22695139353891,0.121946013509368,-0.408218272762679,"d2",18.801272283851,1.50856900470565,1
|
|
||||||
0.237881308813816,2,-1.07670556129965,0.145063596669344,0.261855912282463,"d2",0.747899413108826,0.237881308813816,2
|
|
||||||
0.416807783338289,2,-0.559334776653761,0.147863506690623,0.392412738069171,"d2",63.3123658563862,0.416807783338289,2
|
|
||||||
0.426968297199823,2,-0.979582410026887,0.152162838490286,-0.414045614621551,"d2",2.62846374884248,0.426968297199823,2
|
|
||||||
2.76032244439042,2,-0.154477550097877,0.152392990038237,-0.788371202318248,"d2",3.65458440035582,2.76032244439042,2
|
|
||||||
1.11870077438705,1,-0.599146592866972,0.157556834575242,-0.352337371318032,"d2",13.7063298560679,1.11870077438705,1
|
|
||||||
1.11279250104927,2,-2.09809697365531,0.158074370023265,-0.719280435970664,"d2",42.6600379420564,1.11279250104927,2
|
|
||||||
0.0776825762644314,2,-0.480261572212739,0.161272558399741,0.968965684973622,"d2",2.59143915743156,0.0776825762644314,2
|
|
||||||
0.489987619280431,1,-0.635686551578909,0.161944781152408,0.895820975927653,"d2",17.5853631297135,0.489987619280431,1
|
|
||||||
1.04343064643425,2,-0.149356505562529,0.164850514714938,0.297633428264352,"d2",10.1497511658818,1.04343064643425,2
|
|
||||||
0.376671124199688,2,-0.576339205353266,0.16794217688026,-0.449781393949157,"d2",5.56738465093076,0.376671124199688,2
|
|
||||||
0.19522811809624,2,-0.269372430183501,0.168369369174143,0.538178217480167,"d2",11.3334511779249,0.19522811809624,2
|
|
||||||
0.00393730867293355,2,-1.13342959760482,0.17212553858774,0.254573300555983,"d2",25.736616141254,0.00393730867293355,2
|
|
||||||
0.00487037384654395,2,-1.66001341838688,0.174606749949963,0.073886191607426,"d2",34.9265615252738,0.00487037384654395,2
|
|
||||||
1.80695842176759,1,-0.283551262821809,0.175514455770042,0.949342246098602,"d2",11.5669766161591,1.80695842176759,1
|
|
||||||
0.455824922091771,2,-0.144645421275756,0.178097522229174,-0.521022563712938,"d2",16.1112212165667,0.455824922091771,2
|
|
||||||
0.0746160078578386,2,-0.501953053166294,0.178353709926701,0.410891145994807,"d2",21.1762206434252,0.0746160078578386,2
|
|
||||||
0.542051810065195,2,-0.574392137684709,0.207877118164282,-1.02410290164159,"d2",28.1358632801061,0.542051810065195,2
|
|
||||||
0.667051993378265,2,-1.01160555863319,0.212807815139801,-0.66732415300705,"d2",23.3078352507629,0.667051993378265,2
|
|
||||||
0.464077745170919,2,-1.22191628806067,0.217151436734035,0.542117095355253,"d2",1.25699988387794,0.464077745170919,2
|
|
||||||
0.188328571210729,2,-1.24833410531118,0.217843836439306,-0.418763900432543,"d2",26.9082405037227,0.188328571210729,2
|
|
||||||
0.109984107801926,2,-1.12971146599918,0.232712244585027,-0.654627515184759,"d2",12.7776817884296,0.109984107801926,2
|
|
||||||
0.684764363403859,2,-0.491011598609,0.244209731015568,0.302834972546819,"d2",17.4576880215647,0.684764363403859,2
|
|
||||||
0.158563602787365,2,-0.165604515383408,0.249030026190664,-0.127773547814587,"d2",33.2413780299907,0.158563602787365,2
|
|
||||||
0.0219640541592192,2,-1.3067579864696,0.249909196820699,-0.433446637034466,"d2",10.5031970422715,0.0219640541592192,2
|
|
||||||
0.50925306111601,2,-0.61955970532787,0.254657080408966,-1.61635114653478,"d2",6.01476361975074,0.50925306111601,2
|
|
||||||
1.50096565631731,2,-0.711114087116904,0.257327019177981,-0.773550689281178,"d2",5.95401277152274,1.50096565631731,2
|
|
||||||
1.36486072091309,2,-1.46404140252043,0.263358662945559,-3.1438059305269,"d2",21.8958537830951,1.36486072091309,2
|
|
||||||
0.390309073876718,2,-0.840746132854337,0.263728700596104,0.562366476526802,"d2",68.2684893872509,0.390309073876718,2
|
|
||||||
0.679795922646958,2,-0.236776446532667,0.278518245851649,-1.49230330163869,"d2",3.9876926317811,0.679795922646958,2
|
|
||||||
0.724527445958358,2,-1.14697584689703,0.282593193012178,-0.885124173023745,"d2",3.45512878149748,0.724527445958358,2
|
|
||||||
0.770066255889734,2,-1.21732980536083,0.284787357143001,0.255004208623053,"d2",36.792803405035,0.770066255889734,2
|
|
||||||
0.46613123849456,2,-0.119226561525818,0.289592872297724,0.167523195535134,"d2",0.358355776726436,0.358355776726436,0
|
|
||||||
2.22814567740949,2,-1.01775117085296,0.322546787489202,-0.106281524616066,"d2",61.7748028006325,2.22814567740949,2
|
|
||||||
0.0844876296513269,2,-0.408227089927771,0.323994820815029,0.355693406349296,"d2",58.4905307409627,0.0844876296513269,2
|
|
||||||
0.975371115075574,2,-0.970005476960108,0.327344824748461,-0.381834780102756,"d2",3.19861772006316,0.975371115075574,2
|
|
||||||
1.27420084308242,2,-1.163148737653,0.327346149098577,-0.502271963277872,"d2",8.52371971277834,1.27420084308242,2
|
|
||||||
1.11351881283745,2,-0.636724652658768,0.335991410094823,0.500814112962396,"d2",10.5844404920936,1.11351881283745,2
|
|
||||||
0.643438751809849,2,-0.543988665190268,0.350366972506996,-0.691758619519765,"d2",5.08866863325238,0.643438751809849,2
|
|
||||||
0.0822662131233913,2,-0.894686363777382,0.354365713414602,-0.279153989865185,"d2",1.81503525003791,0.0822662131233913,2
|
|
||||||
2.02889611975621,2,-0.570161716639006,0.358293933194602,-0.550076376216918,"d2",22.8790422706845,2.02889611975621,2
|
|
||||||
0.392365154875429,2,-0.342008685772426,0.359569267678778,-0.271785377711678,"d2",20.7963954927341,0.392365154875429,2
|
|
||||||
1.31887461603156,1,-1.16347118158703,0.360191579747997,-0.0722309406630147,"d2",21.2704490178422,1.31887461603156,1
|
|
||||||
1.50905049448219,2,-0.659341916939053,0.362644409133353,0.684459952719281,"d2",13.9709756388736,1.50905049448219,2
|
|
||||||
3.15747903836754,2,-1.73840648591533,0.366406670280074,-0.298575326171553,"d2",37.2580288333778,3.15747903836754,2
|
|
||||||
1.39137796913695,2,-0.412864641872336,0.378992297378,0.445693849903093,"d2",12.6039244420826,1.39137796913695,2
|
|
||||||
1.00970436849354,2,-0.395082096738527,0.382010262648326,-1.28852719898889,"d2",17.5538274264874,1.00970436849354,2
|
|
||||||
1.70669165340187,2,-0.270190960772896,0.391282234678308,0.930805801930924,"d2",5.77591234548557,1.70669165340187,2
|
|
||||||
0.521773378678778,2,-0.126036476956779,0.39614040521448,0.665443358318428,"d2",27.6069133161547,0.521773378678778,2
|
|
||||||
0.606416514476558,2,-1.025136908893,0.396581238292746,-1.67451392995307,"d2",11.6030932001657,0.606416514476558,2
|
|
||||||
0.490568188109911,2,-0.749298579102425,0.411480978576853,-0.205434450059756,"d2",155.825299797651,0.490568188109911,2
|
|
||||||
0.140466598799784,2,-1.26281148323805,0.414323993148583,0.388015149194928,"d2",24.8703219360652,0.140466598799784,2
|
|
||||||
1.63550901332397,2,-0.806779130243142,0.417115948593644,-0.0658789043484457,"d2",23.8971231124344,1.63550901332397,2
|
|
||||||
0.75374593547446,2,-0.567522013121231,0.417594817175236,0.188837679351814,"d2",16.54752952894,0.75374593547446,2
|
|
||||||
0.152153590227425,2,-0.765818787426703,0.418522708402147,0.00731752166317815,"d2",6.28146065399051,0.152153590227425,2
|
|
||||||
1.15987459540589,2,-0.121346489868558,0.424349849151581,0.240793818846837,"d2",58.639344271637,1.15987459540589,2
|
|
||||||
1.49188357490541,2,-0.251981116796632,0.426723153204208,0.37391096516771,"d2",17.2055481662561,1.49188357490541,2
|
|
||||||
0.465849839327852,2,-0.505358915271077,0.426868714871196,-0.0839968519859277,"d2",11.1470808833838,0.465849839327852,2
|
|
||||||
0.514377606102378,2,-1.48435944511628,0.43823921711183,-0.270398122330151,"d2",2.83134931698442,0.514377606102378,2
|
|
||||||
1.37083819437581,2,-0.942850848323754,0.43845089029677,-0.640576204026827,"d2",6.56377174891531,1.37083819437581,2
|
|
||||||
0.604730482549567,2,-0.342686014810829,0.440428555800003,-0.585647349713446,"d2",58.1326644088993,0.604730482549567,2
|
|
||||||
2.38162830860741,2,-0.0509251423442782,0.449250562133414,0.0153383773617419,"d2",5.86805497296154,2.38162830860741,2
|
|
||||||
0.936987707937162,1,-1.27016523546516,0.451870143183855,0.6288446859123,"d2",29.1486597440213,0.936987707937162,1
|
|
||||||
1.3514202925692,2,-0.231514029465654,0.472412528112696,0.864892542845737,"d2",13.3516124635935,1.3514202925692,2
|
|
||||||
0.44545424739223,2,-0.537603264715137,0.485484972481348,-1.37162073165871,"d2",16.7040145016255,0.44545424739223,2
|
|
||||||
0.37038505214194,2,-1.33992208021174,0.499363224209327,-2.22822062828528,"d2",31.4321481792216,0.37038505214194,2
|
|
||||||
0.00743040960429768,2,-0.827233773203637,0.501657410834819,0.600360386941691,"d2",4.68624860048294,0.00743040960429768,2
|
|
||||||
1.06928769540851,2,-1.79826966860824,0.511859081350625,-1.61509343921743,"d2",12.4147091992199,1.06928769540851,2
|
|
||||||
0.398101279346337,2,-1.10775714804814,0.529026255873108,-0.181986138084938,"d2",13.129425290972,0.398101279346337,2
|
|
||||||
1.14000506048611,2,-1.79765382194691,0.529220720193775,0.830035376518184,"d2",37.8915428725963,1.14000506048611,2
|
|
||||||
1.10912364066992,2,-1.04433825797855,0.539416179060379,-2.05046671465067,"d2",12.9112015850842,1.10912364066992,2
|
|
||||||
0.218780244008344,2,-0.608675711931701,0.548163722585798,-2.47352322276342,"d2",8.54718699119985,0.218780244008344,2
|
|
||||||
0.850581004469453,1,-0.447511052245895,0.564801210678692,-1.81442820691436,"d2",2.26566986408528,0.850581004469453,1
|
|
||||||
0.855666513631384,2,-2.13818244511402,0.62622330607782,-0.388154860024151,"d2",12.8540292102844,0.855666513631384,2
|
|
||||||
2.1856308540942,2,-0.78196374129668,0.643926759205068,-2.26966417409628,"d2",12.1851485967636,2.1856308540942,2
|
|
||||||
2.21783935658177,2,-0.651277743851512,0.64437711493386,-0.0628370633467478,"d2",4.7361337672919,2.21783935658177,2
|
|
||||||
2.66605038493913,1,-0.90754497972906,0.644821644027934,-1.79315275911764,"d2",15.0149627067721,2.66605038493913,1
|
|
||||||
0.602170499269422,2,-2.08283603059158,0.653338636167427,-0.0559950805249862,"d2",88.3255479434386,0.602170499269422,2
|
|
||||||
0.505554509814011,2,-0.6209353607903,0.653553876086565,-1.46860814520335,"d2",28.7516077591066,0.505554509814011,2
|
|
||||||
0.0686638595708569,2,-0.735071648729763,0.658458711046142,-0.902171510168721,"d2",20.3378800666871,0.0686638595708569,2
|
|
||||||
1.23363737636628,2,-0.229141299074559,0.667769735492015,0.44426138711264,"d2",9.60924427956343,1.23363737636628,2
|
|
||||||
0.734908695593717,2,-1.41643377648938,0.669102178169292,-0.363069784243584,"d2",1.13766871584323,0.734908695593717,2
|
|
||||||
0.785797862992444,2,-0.707289099921422,0.670700320212791,-1.84705478809774,"d2",17.5849492839518,0.785797862992444,2
|
|
||||||
0.0647379571435017,1,-1.46772218558662,0.676996341328256,0.423122436127203,"d2",20.9062523386421,0.0647379571435017,1
|
|
||||||
0.68067476095048,2,-0.144366524893493,0.681225512127279,0.185094647980252,"d2",2.83637944067913,0.68067476095048,2
|
|
||||||
0.496110307056098,2,-1.73561627917223,0.686181929261749,-0.896920673717545,"d2",27.1116044177654,0.496110307056098,2
|
|
||||||
0.828971303610886,2,-0.0481468628741855,0.686343525508891,-1.3065311825373,"d2",11.7226412612945,0.828971303610886,2
|
|
||||||
0.728124357404708,1,-1.40907499558226,0.688215933035988,-0.13602418646648,"d2",6.16357510909438,0.728124357404708,1
|
|
||||||
1.74627794500434,1,-0.519287834824023,0.696344750633333,-1.16053542404109,"d2",3.98310596621714,1.74627794500434,1
|
|
||||||
0.860169175773096,2,-1.12966715232129,0.707692044116363,0.449294456826711,"d2",16.1259185886922,0.860169175773096,2
|
|
||||||
1.74960246903603,2,-1.15241420864627,0.708376912244165,0.0945302458165274,"d2",9.05113011598587,1.74960246903603,2
|
|
||||||
0.620163383728912,2,-1.14485810944178,0.720578241579318,0.298376377809392,"d2",14.7201306232412,0.620163383728912,2
|
|
||||||
0.599121518218681,2,-0.491805256281995,0.720845357405082,0.170067978878183,"d2",2.1413634903729,0.599121518218681,2
|
|
||||||
0.258023886584911,2,-1.02468964249271,0.721904053264548,0.379341452116645,"d2",18.6108343853595,0.258023886584911,2
|
|
||||||
0.713235444755807,2,-1.85268576462046,0.754783125581337,0.229541809119566,"d2",52.7147463311381,0.713235444755807,2
|
|
||||||
1.3715883817522,2,-0.00951542871598267,0.755490788646641,-0.541187999043309,"d2",9.76649975404143,1.3715883817522,2
|
|
||||||
0.139136541050377,2,-0.750398305804971,0.763985280222561,-0.905800470925745,"d2",7.22360649158305,0.139136541050377,2
|
|
||||||
1.17117458340716,2,-1.86969806844165,0.779844507943365,-0.531280066778365,"d2",44.2495981951184,1.17117458340716,2
|
|
||||||
0.528802586233419,2,-0.638218227996248,0.78095837107841,0.71170837351234,"d2",4.09247838892043,0.528802586233419,2
|
|
||||||
15.9859128030783,1,-1.2749751848768,0.78885308243751,-2.37102557429026,"d2",33.3947736008053,15.9859128030783,1
|
|
||||||
0.947866507167075,2,-0.377359616856185,0.790658665799771,-0.334371628832217,"d2",9.29856486618519,0.947866507167075,2
|
|
||||||
0.645793883967361,2,-0.79224673672974,0.806751269297997,0.976406365543615,"d2",3.24837939813733,0.645793883967361,2
|
|
||||||
0.310585423733822,2,-1.70916007971169,0.816935090855232,-1.36958432701944,"d2",27.4510624065044,0.310585423733822,2
|
|
||||||
0.15098664696988,2,-0.621545910178871,0.828175732552656,-0.120092052906879,"d2",3.77097046934068,0.15098664696988,2
|
|
||||||
1.39545865987322,2,-0.747841520418587,0.828358539607091,-0.121822404009773,"d2",6.38166908174753,1.39545865987322,2
|
|
||||||
1.00432200867913,1,-1.07312835757515,0.84246881482389,0.6658920107911,"d2",12.654183935374,1.00432200867913,1
|
|
||||||
0.376164471434408,2,-2.25749718255237,0.84686090594898,0.266513619424984,"d2",11.8262910097837,0.376164471434408,2
|
|
||||||
0.92439962637748,2,-1.44275553582813,0.849469933628588,-0.799393627980222,"d2",25.2566761887612,0.92439962637748,2
|
|
||||||
1.13734706267193,2,-0.214552486616779,0.86043447751587,-0.788632070223352,"d2",96.7150012353316,1.13734706267193,2
|
|
||||||
0.417856744430816,2,-1.36994217513601,0.87504929650462,-0.072642473860285,"d2",19.9988145375184,0.417856744430816,2
|
|
||||||
3.06296380306078,1,-0.907777416890521,0.879349192041277,-1.85621448262524,"d2",31.4180718567303,3.06296380306078,1
|
|
||||||
0.609549967783587,2,-0.353895924710764,0.879649581240305,-2.43899018491939,"d2",37.7075326700159,0.609549967783587,2
|
|
||||||
0.391106392937812,2,-0.00929502924538058,0.880112808863805,0.3641208320035,"d2",33.2838974755602,0.391106392937812,2
|
|
||||||
0.0391002649473239,2,-0.119265636313351,0.903543923361854,-0.753988528524269,"d2",0.074649417946016,0.0391002649473239,2
|
|
||||||
0.217673076954315,2,-0.991402236503461,0.927085095261113,-0.890088923311745,"d2",4.94580941274762,0.217673076954315,2
|
|
||||||
0.912286231172002,2,-0.651751020375463,0.927563064724242,-0.255980255052049,"d2",26.9876665241065,0.912286231172002,2
|
|
||||||
1.26422408098703,2,-1.59316198562629,0.955864860410794,-2.37511039436268,"d2",35.97322165798,1.26422408098703,2
|
|
||||||
1.63798303075128,2,-0.944833506303253,0.957101283177756,0.107430927154945,"d2",8.76808514818549,1.63798303075128,2
|
|
||||||
0.520085684978681,2,-1.93689648029229,0.960343687869681,-0.946446488528295,"d2",5.41821549126738,0.520085684978681,2
|
|
||||||
0.0333522793002843,2,-0.406190415949957,0.974426310386208,-1.53532871882733,"d2",58.581854101635,0.0333522793002843,2
|
|
||||||
0.52810010882123,2,-0.90366523639987,0.974877895389415,-0.0109691290904899,"d2",13.2324086781591,0.52810010882123,2
|
|
||||||
0.175571716815793,2,-0.176394854786988,0.980980607940724,-0.0489264288249495,"d2",31.9512213749771,0.175571716815793,2
|
|
||||||
0.529129727523435,2,-0.460396849812602,1.00094544353244,0.0662567586728054,"d2",1.88688070816757,0.529129727523435,2
|
|
||||||
0.635567780011985,2,-0.76378882780698,1.00548327862127,0.423635270489904,"d2",42.4910559852548,0.635567780011985,2
|
|
||||||
0.724904238278035,2,-0.907731768318047,1.00997063287553,0.538120581968774,"d2",36.0503575561528,0.724904238278035,2
|
|
||||||
0.427629964225869,2,-1.56216126296095,1.01814611378071,-0.406674803306843,"d2",4.87516235560179,0.427629964225869,2
|
|
||||||
0.161767293068696,2,-0.759473242254803,1.03657414400826,-0.977169880121158,"d2",48.7263685067124,0.161767293068696,2
|
|
||||||
0.962126138834229,2,-0.56522171831491,1.05103830138578,-1.28735495414437,"d2",24.6044033012333,0.962126138834229,2
|
|
||||||
0.448703828522713,2,-1.18508690906293,1.05794340357344,0.209893612875558,"d2",3.6171385717943,0.448703828522713,2
|
|
||||||
2.29539588387135,2,-0.809591453713195,1.06264984735446,0.708970715100883,"d2",26.6586700818482,2.29539588387135,2
|
|
||||||
0.690530526497498,2,-0.0267186723123176,1.0874311425292,-2.2279377944802,"d2",9.77258295752108,0.690530526497498,2
|
|
||||||
0.472309753498816,1,-0.359882797031715,1.09786284055163,-0.288753197637377,"d2",81.2945778253389,0.472309753498816,1
|
|
||||||
2.45214804477456,2,-0.21394029294774,1.13245244560219,0.514170048915875,"d2",24.8033722109141,2.45214804477456,2
|
|
||||||
1.51453100008048,2,-0.376904852999008,1.137094128323,-0.769574027523774,"d2",31.9085638580804,1.51453100008048,2
|
|
||||||
0.066087403612231,2,-1.01366783097158,1.14325704429475,0.0122662871490449,"d2",12.2102071903646,0.066087403612231,2
|
|
||||||
2.27292557190558,2,-0.0613559687217213,1.15519370818209,0.206926829454031,"d2",13.3934736810625,2.27292557190558,2
|
|
||||||
1.06101613204515,2,-1.08125475011268,1.15700722981978,-0.834547675087852,"d2",20.7887781775537,1.06101613204515,2
|
|
||||||
1.29171527471949,2,-0.258163275873147,1.1571947075309,-0.343581741444281,"d2",13.2905606180429,1.29171527471949,2
|
|
||||||
0.483420974791873,2,-0.247429099416824,1.18148342053382,0.666408548662519,"d2",27.3468879788163,0.483420974791873,2
|
|
||||||
1.65322850434042,2,-0.618187508699168,1.20227668160115,-1.06876108987557,"d2",20.4747169642689,1.65322850434042,2
|
|
||||||
1.25885674652328,2,-1.62801150855676,1.21660132215862,-1.27052258001484,"d2",0.0653019081801176,0.0653019081801176,0
|
|
||||||
1.38317749248244,2,-0.412779168242635,1.2257839632566,-0.471509027445123,"d2",14.3918521018565,1.38317749248244,2
|
|
||||||
0.29090056781615,2,-0.941711982878097,1.2452650785948,-1.13282683720939,"d2",33.3252260397076,0.29090056781615,2
|
|
||||||
0.774384089212772,2,-0.821733976245432,1.24763858736497,0.215567163048395,"d2",15.7909392505371,0.774384089212772,2
|
|
||||||
0.426550949391251,2,-0.613863471405316,1.26633615701241,-1.21869528367914,"d2",1.34932232089341,0.426550949391251,2
|
|
||||||
2.16897273189479,2,-0.595914050488664,1.27706728920149,-1.74397046871294,"d2",7.73399090394378,2.16897273189479,2
|
|
||||||
0.60714584775794,2,-0.732737873358977,1.27761478426247,0.00948414982453159,"d2",6.53633067384362,0.60714584775794,2
|
|
||||||
0.928060938574253,2,-0.0593950423195912,1.30184730656887,0.269582930706893,"d2",16.8946285537424,0.928060938574253,2
|
|
||||||
0.0652448540805098,2,-0.376171738015478,1.30902526364196,-2.2509856641888,"d2",34.4706994940756,0.0652448540805098,2
|
|
||||||
0.290682706395645,2,-0.748192811516037,1.32500142107158,0.733254357772467,"d2",99.2230615333514,0.290682706395645,2
|
|
||||||
0.099562649791565,2,-0.0646000063702595,1.33398179591883,0.271531892777113,"d2",1.23980532934852,0.099562649791565,2
|
|
||||||
0.21834724290433,2,-1.63793111804505,1.33912858503736,-0.43680375689659,"d2",31.7336872575765,0.21834724290433,2
|
|
||||||
0.355890267642353,2,-0.423946587126264,1.3856925052704,-0.276827203788486,"d2",7.60781746505117,0.355890267642353,2
|
|
||||||
0.640673603062046,2,-0.186450402973362,1.39835032773893,-0.173427024327545,"d2",47.3483018924422,0.640673603062046,2
|
|
||||||
1.48656976140796,2,-0.91541184985219,1.39989832103014,-0.992620752809943,"d2",7.52968023531139,1.48656976140796,2
|
|
||||||
1.65555322752278,1,-0.485881634025376,1.41117763150536,-0.726434134251611,"d2",65.2425061132679,1.65555322752278,1
|
|
||||||
1.19084622251781,2,-0.41575087352391,1.41304076324206,-0.89595965520797,"d2",35.4190194217448,1.19084622251781,2
|
|
||||||
0.743826687228459,2,-0.486520668561888,1.41541061022267,0.0601947005008747,"d2",25.9400983705165,0.743826687228459,2
|
|
||||||
0.80674393638146,2,-0.0583341820790928,1.42216295944444,0.0544646255026132,"d2",49.9927782614656,0.80674393638146,2
|
|
||||||
0.531679737743372,2,-0.276771009359284,1.43140802191472,0.316807326856949,"d2",31.8341349421029,0.531679737743372,2
|
|
||||||
0.946712639709247,1,-0.751586796242839,1.44325281817539,-0.228361206575733,"d2",0.967175701785795,0.946712639709247,1
|
|
||||||
0.0102507216148591,2,-0.697153420063897,1.45011924808629,-0.1735760078557,"d2",50.4439213474221,0.0102507216148591,2
|
|
||||||
0.97816637578579,2,-0.623542054555381,1.45326936864526,-1.04309452819424,"d2",0.221857391297817,0.221857391297817,0
|
|
||||||
1.55592279163702,2,-0.176217002127984,1.49113258501544,-1.56410714129628,"d2",8.67591893300414,1.55592279163702,2
|
|
||||||
0.436696810447691,2,-0.30260459699746,1.5548796741216,0.26223027233537,"d2",2.5096242376164,0.436696810447691,2
|
|
||||||
1.56011947543939,2,-0.171702067200568,1.55615864606286,-0.00103340896897324,"d2",28.8497183082585,1.56011947543939,2
|
|
||||||
0.041023977490151,2,-0.213494343986504,1.56225642569261,-0.367845350238968,"d2",10.8403069991618,0.041023977490151,2
|
|
||||||
0.592072764055101,2,-0.143230072021797,1.56526082666509,-0.438323140711413,"d2",4.36732348054647,0.592072764055101,2
|
|
||||||
1.29752014338006,2,-0.181245337921119,1.56600498772284,0.0982090925685866,"d2",8.29938241280615,1.29752014338006,2
|
|
||||||
0.769091140462859,2,-1.04979902287923,1.652798333173,0.598218868632103,"d2",18.5340986682841,0.769091140462859,2
|
|
||||||
0.614095462763319,2,-0.129243968919267,1.66882377416187,-0.553767152997795,"d2",9.75808587856591,0.614095462763319,2
|
|
||||||
0.677081263269833,2,-0.461186220906231,1.68233756841276,-0.108397961050149,"d2",24.5852781451287,0.677081263269833,2
|
|
||||||
0.167651205068143,2,-0.215571372145331,1.68370200482687,0.905971152345377,"d2",28.9677151275759,0.167651205068143,2
|
|
||||||
0.760640574623506,2,-0.185659053672513,1.74441351026884,-0.290411394614044,"d2",3.6788512673229,0.760640574623506,2
|
|
||||||
1.57059571330668,2,-0.00378045852779645,1.75199514594482,0.37518745697901,"d2",36.5044529346709,1.57059571330668,2
|
|
||||||
1.22039732425317,2,-0.0409784974877476,1.8128663242746,0.518983973724044,"d2",8.14542844891548,1.22039732425317,2
|
|
||||||
0.357746726203608,2,-1.13221511533544,1.82140525789747,-1.12823713903409,"d2",2.84647900611162,0.357746726203608,2
|
|
||||||
0.506598376895596,2,-1.58623419714671,1.84630386483031,-0.871164001707083,"d2",7.05219495933504,0.506598376895596,2
|
|
||||||
0.555298311726655,2,-0.653122290105271,1.87980904893923,0.601692658871586,"d2",10.4217884922989,0.555298311726655,2
|
|
||||||
0.0497472713166745,2,-0.803414420619709,1.92869213509968,0.566759572983138,"d2",46.8863080789275,0.0497472713166745,2
|
|
||||||
0.63588913711856,2,-1.55312674896571,1.9812307225371,-0.394362125613719,"d2",59.6746130358048,0.63588913711856,2
|
|
||||||
0.344136944209492,2,-1.55011818795769,2.01308796757131,-1.10441392716533,"d2",3.32158831130657,0.344136944209492,2
|
|
||||||
0.209930101087071,1,-0.17610319662441,2.04536354395301,-1.78388719927807,"d2",8.9971761777997,0.209930101087071,1
|
|
||||||
1.96273178822442,2,-0.265413985422845,2.06717373344592,-1.5328302296829,"d2",6.70106924138963,1.96273178822442,2
|
|
||||||
2.04208174814171,1,-1.20512563890975,2.17895259106906,0.463208094098719,"d2",24.6128874616159,2.04208174814171,1
|
|
||||||
0.45294046876816,2,-0.220655663734128,2.18192023375661,0.0811841371808765,"d2",6.26351648010314,0.45294046876816,2
|
|
||||||
1.68808336321915,2,-1.22492300639913,2.23292584390155,-0.69860353230613,"d2",79.5212812307191,1.68808336321915,2
|
|
||||||
0.0830509647238433,2,-1.14387765956049,2.25144851755798,-0.782665324462104,"d2",4.72283883020282,0.0830509647238433,2
|
|
||||||
0.392520671541139,2,-1.2204528537223,2.36374387346593,-1.79745435930711,"d2",0.827889424914617,0.392520671541139,2
|
|
||||||
0.0423196883561676,2,-0.0824960908690546,2.46865766977258,-0.275587719866787,"d2",10.8342845924199,0.0423196883561676,2
|
|
||||||
1.15467347169962,2,-1.61238280333006,2.53930227266609,-0.214709061234683,"d2",5.75399165041745,1.15467347169962,2
|
|
||||||
1.29154389139611,2,-1.05643444903253,2.55910612622809,-0.505822986209181,"d2",3.11781542375684,1.29154389139611,2
|
|
||||||
1.84823913917143,2,-1.32857310285023,2.62141379782439,-0.935292083483808,"d2",11.9421542808414,1.84823913917143,2
|
|
||||||
1.82018302820833,2,-0.79030173881793,2.68172397486784,0.733114954575729,"d2",1.74682558514178,1.74682558514178,0
|
|
||||||
0.531491206830686,2,-0.680665424931255,2.78232400978012,0.646038105645267,"d2",16.607096281721,0.531491206830686,2
|
|
||||||
1.24968905194214,2,-1.14050466415036,3.00307107062192,0.253293764911859,"d2",2.94403710469961,1.24968905194214,2
|
|
||||||
0.263627831636059,1,-1.58535429653281,3.10991648674058,0.688555636490684,"d2",10.3094351757318,0.263627831636059,1
|
|
|
Loading…
Reference in a new issue