summaryrefslogtreecommitdiff
path: root/examples/mamdani
diff options
context:
space:
mode:
Diffstat (limited to 'examples/mamdani')
-rw-r--r--examples/mamdani/AllTerms.R111
-rw-r--r--examples/mamdani/AllTerms.cpp164
-rw-r--r--examples/mamdani/AllTerms.fcl4
-rw-r--r--examples/mamdani/AllTerms.fis5
-rw-r--r--examples/mamdani/AllTerms.fld2051
-rw-r--r--examples/mamdani/AllTerms.fll10
-rw-r--r--examples/mamdani/AllTerms.java125
-rw-r--r--examples/mamdani/AllTerms.pdfbin0 -> 24280 bytes
-rw-r--r--examples/mamdani/Laundry.R91
-rw-r--r--examples/mamdani/Laundry.cpp105
-rw-r--r--examples/mamdani/Laundry.fcl20
-rw-r--r--examples/mamdani/Laundry.fis51
-rw-r--r--examples/mamdani/Laundry.fld2051
-rw-r--r--examples/mamdani/Laundry.fll31
-rw-r--r--examples/mamdani/Laundry.java106
-rw-r--r--examples/mamdani/Laundry.pdfbin0 -> 30166 bytes
-rw-r--r--examples/mamdani/ObstacleAvoidance.R57
-rw-r--r--examples/mamdani/ObstacleAvoidance.cpp49
-rw-r--r--examples/mamdani/ObstacleAvoidance.fcl34
-rw-r--r--examples/mamdani/ObstacleAvoidance.fis32
-rw-r--r--examples/mamdani/ObstacleAvoidance.fld1025
-rw-r--r--examples/mamdani/ObstacleAvoidance.fll25
-rw-r--r--examples/mamdani/ObstacleAvoidance.java60
-rw-r--r--examples/mamdani/ObstacleAvoidance.pdfbin0 -> 25210 bytes
-rw-r--r--examples/mamdani/SimpleDimmer.R60
-rw-r--r--examples/mamdani/SimpleDimmer.cpp66
-rw-r--r--examples/mamdani/SimpleDimmer.fcl4
-rw-r--r--examples/mamdani/SimpleDimmer.fis9
-rw-r--r--examples/mamdani/SimpleDimmer.fld2051
-rw-r--r--examples/mamdani/SimpleDimmer.fll10
-rw-r--r--examples/mamdani/SimpleDimmer.java57
-rw-r--r--examples/mamdani/SimpleDimmer.pdfbin0 -> 22872 bytes
-rw-r--r--examples/mamdani/SimpleDimmerChained.R85
-rw-r--r--examples/mamdani/SimpleDimmerChained.cpp70
-rw-r--r--examples/mamdani/SimpleDimmerChained.fcl51
-rw-r--r--examples/mamdani/SimpleDimmerChained.fis46
-rw-r--r--examples/mamdani/SimpleDimmerChained.fld1025
-rw-r--r--examples/mamdani/SimpleDimmerChained.fll14
-rw-r--r--examples/mamdani/SimpleDimmerChained.java81
-rw-r--r--examples/mamdani/SimpleDimmerChained.pdfbin0 -> 42431 bytes
-rw-r--r--examples/mamdani/SimpleDimmerInverse.R85
-rw-r--r--examples/mamdani/SimpleDimmerInverse.cpp105
-rw-r--r--examples/mamdani/SimpleDimmerInverse.fcl4
-rw-r--r--examples/mamdani/SimpleDimmerInverse.fis46
-rw-r--r--examples/mamdani/SimpleDimmerInverse.fld2051
-rw-r--r--examples/mamdani/SimpleDimmerInverse.fll14
-rw-r--r--examples/mamdani/SimpleDimmerInverse.java84
-rw-r--r--examples/mamdani/SimpleDimmerInverse.pdfbin0 -> 41795 bytes
-rw-r--r--examples/mamdani/octave/investment_portfolio.R67
-rw-r--r--examples/mamdani/octave/investment_portfolio.cpp84
-rw-r--r--examples/mamdani/octave/investment_portfolio.fcl4
-rw-r--r--examples/mamdani/octave/investment_portfolio.fis5
-rw-r--r--examples/mamdani/octave/investment_portfolio.fld2051
-rw-r--r--examples/mamdani/octave/investment_portfolio.fll11
-rw-r--r--examples/mamdani/octave/investment_portfolio.java77
-rw-r--r--examples/mamdani/octave/investment_portfolio.pdfbin0 -> 19163 bytes
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.R90
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.cpp105
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.fcl4
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.fis7
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.fld2051
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.fll15
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.java98
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.pdfbin0 -> 31675 bytes
64 files changed, 10145 insertions, 6749 deletions
diff --git a/examples/mamdani/AllTerms.R b/examples/mamdani/AllTerms.R
new file mode 100644
index 0000000..1b17463
--- /dev/null
+++ b/examples/mamdani/AllTerms.R
@@ -0,0 +1,111 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "AllTerms"
+engine.fll = "Engine: AllTerms
+InputVariable: AllInputTerms
+ enabled: true
+ range: 0.000 6.500
+ lock-range: false
+ term: A Sigmoid 0.500 -20.000
+ term: B ZShape 0.000 1.000
+ term: C Ramp 1.000 0.000
+ term: D Triangle 0.500 1.000 1.500
+ term: E Trapezoid 1.000 1.250 1.750 2.000
+ term: F Concave 0.850 0.250
+ term: G Rectangle 1.750 2.250
+ term: H Discrete 2.000 0.000 2.250 1.000 2.500 0.500 2.750 1.000 3.000 0.000
+ term: I Gaussian 3.000 0.200
+ term: J Cosine 3.250 0.650
+ term: K GaussianProduct 3.500 0.100 3.300 0.300
+ term: L Spike 3.640 1.040
+ term: M Bell 4.000 0.250 3.000
+ term: N PiShape 4.000 4.500 4.500 5.000
+ term: O Concave 5.650 6.250
+ term: P SigmoidDifference 4.750 10.000 30.000 5.250
+ term: Q SigmoidProduct 5.250 20.000 -10.000 5.750
+ term: R Ramp 5.500 6.500
+ term: S SShape 5.500 6.500
+ term: T Sigmoid 6.000 20.000
+OutputVariable: AllOutputTerms
+ enabled: true
+ range: 0.000 6.500
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 200
+ default: nan
+ lock-previous: false
+ term: A Sigmoid 0.500 -20.000
+ term: B ZShape 0.000 1.000
+ term: C Ramp 1.000 0.000
+ term: D Triangle 0.500 1.000 1.500
+ term: E Trapezoid 1.000 1.250 1.750 2.000
+ term: F Concave 0.850 0.250
+ term: G Rectangle 1.750 2.250
+ term: H Discrete 2.000 0.000 2.250 1.000 2.500 0.500 2.750 1.000 3.000 0.000
+ term: I Gaussian 3.000 0.200
+ term: J Cosine 3.250 0.650
+ term: K GaussianProduct 3.500 0.100 3.300 0.300
+ term: L Spike 3.640 1.040
+ term: M Bell 4.000 0.250 3.000
+ term: N PiShape 4.000 4.500 4.500 5.000
+ term: O Concave 5.650 6.250
+ term: P SigmoidDifference 4.750 10.000 30.000 5.250
+ term: Q SigmoidProduct 5.250 20.000 -10.000 5.750
+ term: R Ramp 5.500 6.500
+ term: S SShape 5.500 6.500
+ term: T Sigmoid 6.000 20.000
+RuleBlock:
+ enabled: true
+ conjunction: Minimum
+ disjunction: Maximum
+ implication: Minimum
+ activation: General
+ rule: if AllInputTerms is A then AllOutputTerms is T
+ rule: if AllInputTerms is B then AllOutputTerms is S
+ rule: if AllInputTerms is C then AllOutputTerms is R
+ rule: if AllInputTerms is D then AllOutputTerms is Q
+ rule: if AllInputTerms is E then AllOutputTerms is P
+ rule: if AllInputTerms is F then AllOutputTerms is O
+ rule: if AllInputTerms is G then AllOutputTerms is N
+ rule: if AllInputTerms is H then AllOutputTerms is M
+ rule: if AllInputTerms is I then AllOutputTerms is L
+ rule: if AllInputTerms is J then AllOutputTerms is K
+ rule: if AllInputTerms is K then AllOutputTerms is J
+ rule: if AllInputTerms is L then AllOutputTerms is I
+ rule: if AllInputTerms is M then AllOutputTerms is H
+ rule: if AllInputTerms is N then AllOutputTerms is G
+ rule: if AllInputTerms is O then AllOutputTerms is F
+ rule: if AllInputTerms is P then AllOutputTerms is E
+ rule: if AllInputTerms is Q then AllOutputTerms is D
+ rule: if AllInputTerms is R then AllOutputTerms is C
+ rule: if AllInputTerms is S then AllOutputTerms is B
+ rule: if AllInputTerms is T then AllOutputTerms is A"
+
+engine.fldFile = "AllTerms.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(AllInputTerms, AllOutputTerms)) +
+ geom_line(aes(color=AllOutputTerms), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("AllInputTerms vs AllOutputTerms")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(AllInputTerms, AllOutputTerms)) +
+ geom_line(aes(color=AllOutputTerms), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("AllOutputTerms vs AllInputTerms")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/AllTerms.cpp b/examples/mamdani/AllTerms.cpp
index 7bb1f31..3d96ef5 100644
--- a/examples/mamdani/AllTerms.cpp
+++ b/examples/mamdani/AllTerms.cpp
@@ -1,94 +1,102 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("qtfuzzylite");
+engine->setName("AllTerms");
+engine->setDescription("");
-InputVariable* inputVariable = new InputVariable;
-inputVariable->setEnabled(true);
-inputVariable->setName("AllInputTerms");
-inputVariable->setRange(0.000, 6.500);
-inputVariable->addTerm(new Sigmoid("A", 0.500, -20.000));
-inputVariable->addTerm(new ZShape("B", 0.000, 1.000));
-inputVariable->addTerm(new Ramp("C", 1.000, 0.000));
-inputVariable->addTerm(new Triangle("D", 0.500, 1.000, 1.500));
-inputVariable->addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
-inputVariable->addTerm(new Concave("F", 0.850, 0.250));
-inputVariable->addTerm(new Rectangle("G", 1.750, 2.250));
-inputVariable->addTerm(Discrete::create("H", 10, 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
-inputVariable->addTerm(new Gaussian("I", 3.000, 0.200));
-inputVariable->addTerm(new Cosine("J", 3.250, 0.650));
-inputVariable->addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
-inputVariable->addTerm(new Spike("L", 3.640, 1.040));
-inputVariable->addTerm(new Bell("M", 4.000, 0.250, 3.000));
-inputVariable->addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
-inputVariable->addTerm(new Concave("O", 5.650, 6.250));
-inputVariable->addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
-inputVariable->addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
-inputVariable->addTerm(new Ramp("R", 5.500, 6.500));
-inputVariable->addTerm(new SShape("S", 5.500, 6.500));
-inputVariable->addTerm(new Sigmoid("T", 6.000, 20.000));
-engine->addInputVariable(inputVariable);
+InputVariable* AllInputTerms = new InputVariable;
+AllInputTerms->setName("AllInputTerms");
+AllInputTerms->setDescription("");
+AllInputTerms->setEnabled(true);
+AllInputTerms->setRange(0.000, 6.500);
+AllInputTerms->setLockValueInRange(false);
+AllInputTerms->addTerm(new Sigmoid("A", 0.500, -20.000));
+AllInputTerms->addTerm(new ZShape("B", 0.000, 1.000));
+AllInputTerms->addTerm(new Ramp("C", 1.000, 0.000));
+AllInputTerms->addTerm(new Triangle("D", 0.500, 1.000, 1.500));
+AllInputTerms->addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
+AllInputTerms->addTerm(new Concave("F", 0.850, 0.250));
+AllInputTerms->addTerm(new Rectangle("G", 1.750, 2.250));
+AllInputTerms->addTerm(Discrete::create("H", 10, 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
+AllInputTerms->addTerm(new Gaussian("I", 3.000, 0.200));
+AllInputTerms->addTerm(new Cosine("J", 3.250, 0.650));
+AllInputTerms->addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
+AllInputTerms->addTerm(new Spike("L", 3.640, 1.040));
+AllInputTerms->addTerm(new Bell("M", 4.000, 0.250, 3.000));
+AllInputTerms->addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
+AllInputTerms->addTerm(new Concave("O", 5.650, 6.250));
+AllInputTerms->addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
+AllInputTerms->addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
+AllInputTerms->addTerm(new Ramp("R", 5.500, 6.500));
+AllInputTerms->addTerm(new SShape("S", 5.500, 6.500));
+AllInputTerms->addTerm(new Sigmoid("T", 6.000, 20.000));
+engine->addInputVariable(AllInputTerms);
-OutputVariable* outputVariable = new OutputVariable;
-outputVariable->setEnabled(true);
-outputVariable->setName("AllOutputTerms");
-outputVariable->setRange(0.000, 6.500);
-outputVariable->fuzzyOutput()->setAccumulation(new Maximum);
-outputVariable->setDefuzzifier(new Centroid(200));
-outputVariable->setDefaultValue(fl::nan);
-outputVariable->setLockPreviousOutputValue(false);
-outputVariable->setLockOutputValueInRange(false);
-outputVariable->addTerm(new Sigmoid("A", 0.500, -20.000));
-outputVariable->addTerm(new ZShape("B", 0.000, 1.000));
-outputVariable->addTerm(new Ramp("C", 1.000, 0.000));
-outputVariable->addTerm(new Triangle("D", 0.500, 1.000, 1.500));
-outputVariable->addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
-outputVariable->addTerm(new Concave("F", 0.850, 0.250));
-outputVariable->addTerm(new Rectangle("G", 1.750, 2.250));
-outputVariable->addTerm(Discrete::create("H", 10, 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
-outputVariable->addTerm(new Gaussian("I", 3.000, 0.200));
-outputVariable->addTerm(new Cosine("J", 3.250, 0.650));
-outputVariable->addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
-outputVariable->addTerm(new Spike("L", 3.640, 1.040));
-outputVariable->addTerm(new Bell("M", 4.000, 0.250, 3.000));
-outputVariable->addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
-outputVariable->addTerm(new Concave("O", 5.650, 6.250));
-outputVariable->addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
-outputVariable->addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
-outputVariable->addTerm(new Ramp("R", 5.500, 6.500));
-outputVariable->addTerm(new SShape("S", 5.500, 6.500));
-outputVariable->addTerm(new Sigmoid("T", 6.000, 20.000));
-engine->addOutputVariable(outputVariable);
+OutputVariable* AllOutputTerms = new OutputVariable;
+AllOutputTerms->setName("AllOutputTerms");
+AllOutputTerms->setDescription("");
+AllOutputTerms->setEnabled(true);
+AllOutputTerms->setRange(0.000, 6.500);
+AllOutputTerms->setLockValueInRange(false);
+AllOutputTerms->setAggregation(new Maximum);
+AllOutputTerms->setDefuzzifier(new Centroid(200));
+AllOutputTerms->setDefaultValue(fl::nan);
+AllOutputTerms->setLockPreviousValue(false);
+AllOutputTerms->addTerm(new Sigmoid("A", 0.500, -20.000));
+AllOutputTerms->addTerm(new ZShape("B", 0.000, 1.000));
+AllOutputTerms->addTerm(new Ramp("C", 1.000, 0.000));
+AllOutputTerms->addTerm(new Triangle("D", 0.500, 1.000, 1.500));
+AllOutputTerms->addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
+AllOutputTerms->addTerm(new Concave("F", 0.850, 0.250));
+AllOutputTerms->addTerm(new Rectangle("G", 1.750, 2.250));
+AllOutputTerms->addTerm(Discrete::create("H", 10, 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
+AllOutputTerms->addTerm(new Gaussian("I", 3.000, 0.200));
+AllOutputTerms->addTerm(new Cosine("J", 3.250, 0.650));
+AllOutputTerms->addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
+AllOutputTerms->addTerm(new Spike("L", 3.640, 1.040));
+AllOutputTerms->addTerm(new Bell("M", 4.000, 0.250, 3.000));
+AllOutputTerms->addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
+AllOutputTerms->addTerm(new Concave("O", 5.650, 6.250));
+AllOutputTerms->addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
+AllOutputTerms->addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
+AllOutputTerms->addTerm(new Ramp("R", 5.500, 6.500));
+AllOutputTerms->addTerm(new SShape("S", 5.500, 6.500));
+AllOutputTerms->addTerm(new Sigmoid("T", 6.000, 20.000));
+engine->addOutputVariable(AllOutputTerms);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(new Minimum);
ruleBlock->setDisjunction(new Maximum);
-ruleBlock->setActivation(new Minimum);
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is A then AllOutputTerms is T", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is B then AllOutputTerms is S", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is C then AllOutputTerms is R", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is D then AllOutputTerms is Q", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is E then AllOutputTerms is P", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is F then AllOutputTerms is O", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is G then AllOutputTerms is N", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is H then AllOutputTerms is M", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is I then AllOutputTerms is L", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is J then AllOutputTerms is K", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is K then AllOutputTerms is J", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is L then AllOutputTerms is I", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is M then AllOutputTerms is H", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is N then AllOutputTerms is G", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is O then AllOutputTerms is F", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is P then AllOutputTerms is E", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is Q then AllOutputTerms is D", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is R then AllOutputTerms is C", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is S then AllOutputTerms is B", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is T then AllOutputTerms is A", engine));
+ruleBlock->setImplication(new Minimum);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if AllInputTerms is A then AllOutputTerms is T", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is B then AllOutputTerms is S", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is C then AllOutputTerms is R", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is D then AllOutputTerms is Q", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is E then AllOutputTerms is P", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is F then AllOutputTerms is O", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is G then AllOutputTerms is N", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is H then AllOutputTerms is M", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is I then AllOutputTerms is L", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is J then AllOutputTerms is K", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is K then AllOutputTerms is J", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is L then AllOutputTerms is I", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is M then AllOutputTerms is H", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is N then AllOutputTerms is G", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is O then AllOutputTerms is F", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is P then AllOutputTerms is E", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is Q then AllOutputTerms is D", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is R then AllOutputTerms is C", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is S then AllOutputTerms is B", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is T then AllOutputTerms is A", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/mamdani/AllTerms.fcl b/examples/mamdani/AllTerms.fcl
index ef08722..0c56fd6 100644
--- a/examples/mamdani/AllTerms.fcl
+++ b/examples/mamdani/AllTerms.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK qtfuzzylite
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK AllTerms
VAR_INPUT
AllInputTerms: REAL;
diff --git a/examples/mamdani/AllTerms.fis b/examples/mamdani/AllTerms.fis
index 61a6d18..d34e487 100644
--- a/examples/mamdani/AllTerms.fis
+++ b/examples/mamdani/AllTerms.fis
@@ -1,6 +1,9 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name='qtfuzzylite'
+Name='AllTerms'
Type='mamdani'
+Version=6.0
NumInputs=1
NumOutputs=1
NumRules=20
diff --git a/examples/mamdani/AllTerms.fld b/examples/mamdani/AllTerms.fld
index 95116fa..b765a5b 100644
--- a/examples/mamdani/AllTerms.fld
+++ b/examples/mamdani/AllTerms.fld
@@ -1,1026 +1,1025 @@
-#@Engine: qtfuzzylite;
-#@InputVariable: AllInputTerms; @OutputVariable: AllOutputTerms;
-0.00000000 4.59989528
-0.00635386 4.59989528
-0.01270772 4.59989528
-0.01906158 4.59989215
-0.02541544 4.59988508
-0.03176931 4.59987800
-0.03812317 4.59987091
-0.04447703 4.59986380
-0.05083089 4.59985436
-0.05718475 4.59984014
-0.06353861 4.59982589
-0.06989247 4.59981161
-0.07624633 4.59979731
-0.08260020 4.59978148
-0.08895406 4.59976002
-0.09530792 4.59973853
-0.10166178 4.59971699
-0.10801564 4.59969542
-0.11436950 4.59967311
-0.12072336 4.59964434
-0.12707722 4.59961551
-0.13343109 4.59958663
-0.13978495 4.59955769
-0.14613881 4.59952871
-0.15249267 4.59949265
-0.15884653 4.59945641
-0.16520039 4.59942010
-0.17155425 4.59938372
-0.17790811 4.59934727
-0.18426197 4.59930456
-0.19061584 4.59926081
-0.19696970 4.59921698
-0.20332356 4.59917307
-0.20967742 4.59912907
-0.21603128 4.59907961
-0.22238514 4.59902827
-0.22873900 4.59897684
-0.23509286 4.59892531
-0.24144673 4.59887368
-0.24780059 4.59881738
-0.25415445 4.59691917
-0.26050831 4.59649344
-0.26686217 4.59613763
-0.27321603 4.59574220
-0.27956989 4.59527472
-0.28592375 4.59472722
-0.29227761 4.59411601
-0.29863148 4.59343292
-0.30498534 4.59266881
-0.31133920 4.59177691
-0.31769306 4.59072170
-0.32404692 4.58953931
-0.33040078 4.58821415
-0.33675464 4.58672898
-0.34310850 4.58501913
-0.34946237 4.58298678
-0.35581623 4.58071110
-0.36217009 4.57816482
-0.36852395 4.57531844
-0.37487781 4.57209253
-0.38123167 4.56826124
-0.38758553 4.56399478
-0.39393939 4.55925255
-0.40029326 4.55399273
-0.40664712 4.54814499
-0.41300098 4.54124963
-0.41935484 4.53365966
-0.42570870 4.52533306
-0.43206256 4.51623220
-0.43841642 4.50632570
-0.44477028 4.49679479
-0.45112414 4.49371013
-0.45747801 4.49066211
-0.46383187 4.48765002
-0.47018573 4.48467321
-0.47653959 4.48157929
-0.48289345 4.47849013
-0.48924731 4.47543574
-0.49560117 4.47241549
-0.50195503 4.46942878
-0.50830890 4.46635382
-0.51466276 4.46326454
-0.52101662 4.46020827
-0.52737048 4.45718444
-0.53372434 4.45419251
-0.54007820 4.45113732
-0.54643206 4.44805138
-0.55278592 4.44499678
-0.55913978 4.44197300
-0.56549365 4.43897956
-0.57184751 4.43594462
-0.57820137 4.43286470
-0.58455523 4.42981456
-0.59090909 4.42679371
-0.59726295 4.42380172
-0.60361681 4.42078721
-0.60997067 4.41771542
-0.61632454 4.41467191
-0.62267840 4.41165627
-0.62903226 4.40866808
-0.63538612 4.40567398
-0.64173998 4.40261191
-0.64809384 4.39957674
-0.65444770 4.39656808
-0.66080156 4.39358555
-0.66715543 4.39061167
-0.67350929 4.38756054
-0.67986315 4.38453499
-0.68621701 4.38153468
-0.69257087 4.37880303
-0.69892473 4.37647513
-0.70527859 4.37447251
-0.71163245 4.37287629
-0.71798631 4.37166784
-0.72434018 4.37088208
-0.73069404 4.37049511
-0.73704790 4.37038886
-0.74340176 4.37064262
-0.74975562 4.37108759
-0.75610948 4.37180971
-0.76246334 4.37286007
-0.76881720 4.37417270
-0.77517107 4.37551934
-0.78152493 4.37694454
-0.78787879 4.37839069
-0.79423265 4.37985711
-0.80058651 4.38133785
-0.80694037 4.38282570
-0.81329423 4.38399523
-0.81964809 4.38518475
-0.82600196 4.38627238
-0.83235582 4.38726315
-0.83870968 4.38827040
-0.84506354 4.38921872
-0.85141740 4.38993199
-0.85777126 4.39066514
-0.86412512 4.39141423
-0.87047898 4.39217807
-0.87683284 4.39292534
-0.88318671 4.39340549
-0.88954057 4.39376844
-0.89589443 4.39404783
-0.90224829 4.39434112
-0.90860215 4.39441413
-0.91495601 4.39443473
-0.92130987 4.39447393
-0.92766373 4.39445587
-0.93401760 4.39402302
-0.94037146 4.39356564
-0.94672532 4.39297918
-0.95307918 4.39226487
-0.95943304 4.39119401
-0.96578690 4.38989115
-0.97214076 4.38796712
-0.97849462 4.38600893
-0.98484848 4.38407835
-0.99120235 4.38215966
-0.99755621 4.38024519
-1.00391007 4.37834225
-1.01026393 4.37645076
-1.01661779 4.37457058
-1.02297165 4.37270159
-1.02932551 4.37083696
-1.03567937 4.36877780
-1.04203324 4.36610094
-1.04838710 4.36313118
-1.05474096 4.35990289
-1.06109482 4.35644500
-1.06744868 4.35289881
-1.07380254 4.34968954
-1.08015640 4.34716128
-1.08651026 4.34611783
-1.09286413 4.34663860
-1.09921799 4.34758866
-1.10557185 4.34836750
-1.11192571 4.34914531
-1.11827957 4.34958039
-1.12463343 4.35003899
-1.13098729 4.35014697
-1.13734115 4.35002141
-1.14369501 4.34987408
-1.15004888 4.34973832
-1.15640274 4.34945577
-1.16275660 4.34879209
-1.16911046 4.34814083
-1.17546432 4.34731869
-1.18181818 4.34624489
-1.18817204 4.34469651
-1.19452590 4.34288533
-1.20087977 4.34082275
-1.20723363 4.33851027
-1.21358749 4.33615665
-1.21994135 4.33335536
-1.22629521 4.33013730
-1.23264907 4.32664160
-1.23900293 4.32198901
-1.24535679 4.31616989
-1.25171065 4.31025501
-1.25806452 4.30433460
-1.26441838 4.29837199
-1.27077224 4.29236663
-1.27712610 4.28609815
-1.28347996 4.27962801
-1.28983382 4.27309980
-1.29618768 4.26651947
-1.30254154 4.25988662
-1.30889541 4.25320051
-1.31524927 4.24629927
-1.32160313 4.24005945
-1.32795699 4.23795316
-1.33431085 4.23585513
-1.34066471 4.23376527
-1.34701857 4.23168350
-1.35337243 4.22960435
-1.35972630 4.22753110
-1.36608016 4.22546570
-1.37243402 4.22340809
-1.37878788 4.22135819
-1.38514174 4.21931137
-1.39149560 4.21726922
-1.39784946 4.21523454
-1.40420332 4.21320729
-1.41055718 4.21118737
-1.41691105 4.20917103
-1.42326491 4.20715813
-1.42961877 4.20515236
-1.43597263 4.20315365
-1.44232649 4.20116193
-1.44868035 4.19917429
-1.45503421 4.19718890
-1.46138807 4.19521029
-1.46774194 4.19323841
-1.47409580 4.19127319
-1.48044966 4.18931257
-1.48680352 4.18735301
-1.49315738 4.18539991
-1.49951124 4.18345322
-1.50586510 4.18151287
-1.51221896 4.17957767
-1.51857283 4.17764235
-1.52492669 4.17571319
-1.53128055 4.17379013
-1.53763441 4.17187310
-1.54398827 4.16996178
-1.55034213 4.16804919
-1.55669599 4.16614246
-1.56304985 4.16424153
-1.56940371 4.16234634
-1.57575758 4.16045686
-1.58211144 4.15856612
-1.58846530 4.15668038
-1.59481916 4.15480017
-1.60117302 4.15292542
-1.60752688 4.15105609
-1.61388074 4.14918610
-1.62023460 4.14731998
-1.62658847 4.14545912
-1.63294233 4.14360345
-1.63929619 4.14175295
-1.64565005 4.13990238
-1.65200391 4.13805457
-1.65835777 4.13621175
-1.66471163 4.13437388
-1.67106549 4.13254091
-1.67741935 4.13070850
-1.68377322 4.12887773
-1.69012708 4.12705172
-1.69648094 4.12523040
-1.70283480 4.12341375
-1.70918866 4.12159827
-1.71554252 4.11978336
-1.72189638 4.11797295
-1.72825024 4.11616701
-1.73460411 4.11436550
-1.74095797 4.11256579
-1.74731183 4.11076557
-1.75366569 4.16815388
-1.76001955 4.16667554
-1.76637341 4.16410645
-1.77272727 4.16043775
-1.77908113 4.15638598
-1.78543500 4.15183330
-1.79178886 4.14667777
-1.79814272 4.14136638
-1.80449658 4.13570068
-1.81085044 4.12992982
-1.81720430 4.12387456
-1.82355816 4.11726659
-1.82991202 4.11042338
-1.83626588 4.10317095
-1.84261975 4.09581886
-1.84897361 4.08832336
-1.85532747 4.08042629
-1.86168133 4.07241751
-1.86803519 4.06429132
-1.87438905 4.05568572
-1.88074291 4.04633694
-1.88709677 4.03689612
-1.89345064 4.02761208
-1.89980450 4.01817993
-1.90615836 4.00859076
-1.91251222 3.99884449
-1.91886608 3.98920625
-1.92521994 3.97958231
-1.93157380 3.96973063
-1.93792766 3.96399899
-1.94428152 3.96201550
-1.95063539 3.96003562
-1.95698925 3.95805933
-1.96334311 3.95608658
-1.96969697 3.95411363
-1.97605083 3.95214101
-1.98240469 3.95017184
-1.98875855 3.94820607
-1.99511241 3.94624368
-2.00146628 3.94428172
-2.00782014 3.94231916
-2.01417400 3.94035987
-2.02052786 3.93840382
-2.02688172 3.93645098
-2.03323558 3.93449920
-2.03958944 3.93254591
-2.04594330 3.93059572
-2.05229717 3.92832105
-2.05865103 3.92627635
-2.06500489 3.92447527
-2.07135875 3.92277481
-2.07771261 3.92110473
-2.08406647 3.91946430
-2.09042033 3.91801074
-2.09677419 3.91668068
-2.10312805 3.91536878
-2.10948192 3.91408031
-2.11583578 3.91281472
-2.12218964 3.91172397
-2.12854350 3.91066873
-2.13489736 3.90968063
-2.14125122 3.90866978
-2.14760508 3.90758799
-2.15395894 3.90652395
-2.16031281 3.90547728
-2.16666667 3.90444268
-2.17302053 3.90342393
-2.17937439 3.90242153
-2.18572825 3.90148645
-2.19208211 3.90044592
-2.19843597 3.89939315
-2.20478983 3.89835323
-2.21114370 3.89732738
-2.21749756 3.89631533
-2.22385142 3.89532342
-2.23020528 3.89423978
-2.23655914 3.89316626
-2.24291300 3.89208563
-2.24926686 3.89092119
-2.25562072 3.76337314
-2.26197458 3.76081058
-2.26832845 3.75822085
-2.27468231 3.75551510
-2.28103617 3.75278784
-2.28739003 3.75004999
-2.29374389 3.74729617
-2.30009775 3.74452493
-2.30645161 3.74170572
-2.31280547 3.73878316
-2.31915934 3.73582261
-2.32551320 3.73283947
-2.33186706 3.72983299
-2.33822092 3.72680713
-2.34457478 3.72376166
-2.35092864 3.72069632
-2.35728250 3.71760993
-2.36363636 3.71449828
-2.36999022 3.71136598
-2.37634409 3.70821278
-2.38269795 3.70489596
-2.38905181 3.70154910
-2.39540567 3.69815149
-2.40175953 3.69472082
-2.40811339 3.69126224
-2.41446725 3.68777534
-2.42082111 3.68425972
-2.42717498 3.68070953
-2.43352884 3.67712936
-2.43988270 3.67351920
-2.44623656 3.66987859
-2.45259042 3.66620712
-2.45894428 3.66249957
-2.46529814 3.65875916
-2.47165200 3.65498647
-2.47800587 3.65104597
-2.48435973 3.64701800
-2.49071359 3.64293652
-2.49706745 3.63878867
-2.50342131 3.63659673
-2.50977517 3.63611399
-2.51612903 3.63561093
-2.52248289 3.63510324
-2.52883675 3.63453444
-2.53519062 3.63385004
-2.54154448 3.63317427
-2.54789834 3.63250700
-2.55425220 3.63184550
-2.56060606 3.63118938
-2.56695992 3.63054136
-2.57331378 3.62990130
-2.57966764 3.62926907
-2.58602151 3.62864268
-2.59237537 3.62802052
-2.59872923 3.62740583
-2.60508309 3.62679849
-2.61143695 3.62618413
-2.61779081 3.62554215
-2.62414467 3.62488392
-2.63049853 3.62406075
-2.63685239 3.62318956
-2.64320626 3.62232742
-2.64956012 3.62147802
-2.65591398 3.62064524
-2.66226784 3.61982108
-2.66862170 3.61902917
-2.67497556 3.61825984
-2.68132942 3.61749945
-2.68768328 3.61673378
-2.69403715 3.61592994
-2.70039101 3.61501009
-2.70674487 3.61408072
-2.71309873 3.61321512
-2.71945259 3.61235895
-2.72580645 3.61151329
-2.73216031 3.61064326
-2.73851417 3.60961746
-2.74486804 3.60859393
-2.75122190 3.60702762
-2.75757576 3.60351398
-2.76392962 3.59960789
-2.77028348 3.59555467
-2.77663734 3.59147098
-2.78299120 3.58703970
-2.78934506 3.58242764
-2.79569892 3.57776988
-2.80205279 3.57306558
-2.80840665 3.56829409
-2.81476051 3.56334023
-2.82111437 3.55802164
-2.82746823 3.55251633
-2.83382209 3.54693068
-2.84017595 3.54126260
-2.84652981 3.53550824
-2.85288368 3.52966479
-2.85923754 3.52373194
-2.86559140 3.51744075
-2.87194526 3.51081525
-2.87829912 3.50398168
-2.88465298 3.49701812
-2.89100684 3.48987377
-2.89736070 3.48252541
-2.90371457 3.47502794
-2.91006843 3.46722539
-2.91642229 3.45888634
-2.92277615 3.45055564
-2.92913001 3.44204877
-2.93548387 3.43336011
-2.94183773 3.42460297
-2.94819159 3.41528161
-2.95454545 3.40565175
-2.96089932 3.40300714
-2.96725318 3.40043451
-2.97360704 3.39786239
-2.97996090 3.39528792
-2.98631476 3.39271389
-2.99266862 3.39014036
-2.99902248 3.38756888
-3.00537634 3.38500034
-3.01173021 3.38243001
-3.01808407 3.38007765
-3.02443793 3.37787501
-3.03079179 3.37552494
-3.03714565 3.37340204
-3.04349951 3.37111671
-3.04985337 3.36882418
-3.05620723 3.36662318
-3.06256109 3.36450384
-3.06891496 3.36240980
-3.07526882 3.36033602
-3.08162268 3.35835345
-3.08797654 3.35647890
-3.09433040 3.35462247
-3.10068426 3.35277157
-3.10703812 3.35090734
-3.11339198 3.34899388
-3.11974585 3.34690989
-3.12609971 3.34481953
-3.13245357 3.34259889
-3.13880743 3.34027538
-3.14516129 3.33788302
-3.15151515 3.33541209
-3.15786901 3.33287539
-3.16422287 3.33020839
-3.17057674 3.32753274
-3.17693060 3.32484854
-3.18328446 3.32215720
-3.18963832 3.31945931
-3.19599218 3.31667743
-3.20234604 3.31378377
-3.20869990 3.31088178
-3.21505376 3.30797303
-3.22140762 3.30519492
-3.22776149 3.30243306
-3.23411535 3.29966916
-3.24046921 3.29698360
-3.24682307 3.29438892
-3.25317693 3.29169494
-3.25953079 3.28891268
-3.26588465 3.28630351
-3.27223851 3.28369610
-3.27859238 3.28109052
-3.28494624 3.27860857
-3.29130010 3.27619341
-3.29765396 3.27372222
-3.30400782 3.27116176
-3.31036168 3.26874774
-3.31671554 3.26596679
-3.32306940 3.26308532
-3.32942326 3.26019945
-3.33577713 3.25734721
-3.34213099 3.25458122
-3.34848485 3.25172732
-3.35483871 3.24879215
-3.36119257 3.24576566
-3.36754643 3.24271852
-3.37390029 3.23961927
-3.38025415 3.23641405
-3.38660802 3.23321121
-3.39296188 3.22976019
-3.39931574 3.22637810
-3.40566960 3.22279662
-3.41202346 3.21915441
-3.41837732 3.21527248
-3.42473118 3.21129762
-3.43108504 3.20713137
-3.43743891 3.20292699
-3.44379277 3.19841827
-3.45014663 3.19381075
-3.45650049 3.18886054
-3.46285435 3.18335924
-3.46920821 3.17702423
-3.47556207 3.17049682
-3.48191593 3.16377804
-3.48826979 3.15683580
-3.49462366 3.15177725
-3.50097752 3.14803572
-3.50733138 3.14419775
-3.51368524 3.14044671
-3.52003910 3.13665574
-3.52639296 3.13280620
-3.53274682 3.12889965
-3.53910068 3.12512947
-3.54545455 3.12126138
-3.55180841 3.11732325
-3.55816227 3.11337877
-3.56451613 3.10955691
-3.57086999 3.10568995
-3.57722385 3.10181269
-3.58357771 3.09811330
-3.58993157 3.09438699
-3.59628543 3.09086132
-3.60263930 3.08751561
-3.60899316 3.08415516
-3.61534702 3.08099062
-3.62170088 3.07776100
-3.62805474 3.07468958
-3.63440860 3.07176252
-3.64076246 3.06907851
-3.64711632 3.06688891
-3.65347019 3.06484834
-3.65982405 3.06284108
-3.66617791 3.06094316
-3.67253177 3.05894665
-3.67888563 3.05703324
-3.68523949 3.05164677
-3.69159335 3.04363857
-3.69794721 3.03471641
-3.70430108 3.02543208
-3.71065494 3.01589929
-3.71700880 3.00553223
-3.72336266 2.99463175
-3.72971652 2.98325797
-3.73607038 2.97164536
-3.74242424 2.95913845
-3.74877810 2.94665618
-3.75513196 2.93476834
-3.76148583 2.92401169
-3.76783969 2.91397295
-3.77419355 2.90500583
-3.78054741 2.89739564
-3.78690127 2.89023994
-3.79325513 2.88386471
-3.79960899 2.87814643
-3.80596285 2.87333892
-3.81231672 2.86877440
-3.81867058 2.86469132
-3.82502444 2.86094168
-3.83137830 2.85747363
-3.83773216 2.85439583
-3.84408602 2.85144970
-3.85043988 2.84854948
-3.85679374 2.84569551
-3.86314761 2.84293338
-3.86950147 2.84039038
-3.87585533 2.83818725
-3.88220919 2.83628229
-3.88856305 2.83439521
-3.89491691 2.83251336
-3.90127077 2.83063091
-3.90762463 2.82874730
-3.91397849 2.82686252
-3.92033236 2.82497962
-3.92668622 2.82309721
-3.93304008 2.82121357
-3.93939394 2.81932867
-3.94574780 2.81744251
-3.95210166 2.81555763
-3.95845552 2.81367374
-3.96480938 2.81178852
-3.97116325 2.80990194
-3.97751711 2.80801400
-3.98387097 2.80612671
-3.99022483 2.80424094
-3.99657869 2.80235372
-4.00293255 2.80046506
-4.00928641 2.79857491
-4.01564027 2.79668478
-4.02199413 2.79479670
-4.02834800 2.79290707
-4.03470186 2.79101588
-4.04105572 2.78912311
-4.04740958 2.78722967
-4.05376344 2.78533883
-4.06011730 2.78344635
-4.06647116 2.78155219
-4.07282502 2.77965634
-4.07917889 2.77775913
-4.08553275 2.77586508
-4.09188661 2.77396927
-4.09824047 2.77207168
-4.10459433 2.77017228
-4.11094819 2.76827109
-4.11730205 2.76637434
-4.12365591 2.76447607
-4.13000978 2.76259577
-4.13636364 2.76075882
-4.14271750 2.75893517
-4.14907136 2.75713151
-4.15542522 2.75534631
-4.16177908 2.75358066
-4.16813294 2.75148207
-4.17448680 2.74737957
-4.18084066 2.74328575
-4.18719453 2.73904082
-4.19354839 2.73500045
-4.19990225 2.73095663
-4.20625611 2.72730610
-4.21260997 2.72385368
-4.21896383 2.72065040
-4.22531769 2.71721572
-4.23167155 2.71426493
-4.23802542 2.71137767
-4.24437928 2.70845631
-4.25073314 2.70550205
-4.25708700 2.69996380
-4.26344086 2.69440475
-4.26979472 2.68881807
-4.27614858 2.68315293
-4.28250244 2.67735284
-4.28885630 2.67153447
-4.29521017 2.66571019
-4.30156403 2.65989453
-4.30791789 2.65390481
-4.31427175 2.64708228
-4.32062561 2.64037670
-4.32697947 2.63438347
-4.33333333 2.62861133
-4.33968719 2.62304526
-4.34604106 2.61768259
-4.35239492 2.61251066
-4.35874878 2.60752294
-4.36510264 2.60271328
-4.37145650 2.59807611
-4.37781036 2.59361216
-4.38416422 2.58930980
-4.39051808 2.58516418
-4.39687195 2.58117070
-4.40322581 2.57732505
-4.40957967 2.57362922
-4.41593353 2.57007381
-4.42228739 2.56665466
-4.42864125 2.56336836
-4.43499511 2.56021170
-4.44134897 2.55718697
-4.44770283 2.55428733
-4.45405670 2.55150882
-4.46041056 2.54884895
-4.46676442 2.54630540
-4.47311828 2.54388055
-4.47947214 2.54156989
-4.48582600 2.53936947
-4.49217986 2.53727757
-4.49853372 2.53529258
-4.50488759 2.53341685
-4.51124145 2.53164806
-4.51759531 2.52998217
-4.52394917 2.52841809
-4.53030303 2.52695485
-4.53665689 2.52559467
-4.54301075 2.52433737
-4.54936461 2.52317872
-4.55571848 2.52211823
-4.56207234 2.52115550
-4.56842620 2.52029257
-4.57478006 2.51953144
-4.58113392 2.51886761
-4.58748778 2.51830117
-4.59384164 2.51783230
-4.60019550 2.51746288
-4.60654936 2.51719708
-4.61290323 2.51703018
-4.61925709 2.51696285
-4.62561095 2.51699591
-4.63196481 2.51713108
-4.63831867 2.51737487
-4.64467253 2.51772231
-4.65102639 2.51817478
-4.65738025 2.51365912
-4.66373412 2.50812539
-4.67008798 2.50254117
-4.67644184 2.49690585
-4.68279570 2.49122666
-4.68914956 2.48551165
-4.69550342 2.48013193
-4.70185728 2.47482314
-4.70821114 2.46951049
-4.71456500 2.46420298
-4.72091887 2.45891090
-4.72727273 2.45364485
-4.73362659 2.44842132
-4.73998045 2.44324745
-4.74633431 2.43829931
-4.75268817 2.43276374
-4.75904203 2.42594901
-4.76539589 2.41929175
-4.77174976 2.41266990
-4.77810362 2.40605558
-4.78445748 2.39925032
-4.79081134 2.39250730
-4.79716520 2.38586294
-4.80351906 2.37967484
-4.80987292 2.37356953
-4.81622678 2.36760890
-4.82258065 2.36164133
-4.82893451 2.35521881
-4.83528837 2.34873027
-4.84164223 2.34243033
-4.84799609 2.33632066
-4.85434995 2.33039904
-4.86070381 2.32481692
-4.86705767 2.31953567
-4.87341153 2.31441875
-4.87976540 2.30946679
-4.88611926 2.30477217
-4.89247312 2.30022466
-4.89882698 2.29582445
-4.90518084 2.29156138
-4.91153470 2.28743097
-4.91788856 2.28342860
-4.92424242 2.27955015
-4.93059629 2.27579688
-4.93695015 2.27215754
-4.94330401 2.26862746
-4.94965787 2.26530921
-4.95601173 2.26211366
-4.96236559 2.25901275
-4.96871945 2.25599608
-4.97507331 2.25305960
-4.98142717 2.25019972
-4.98778104 2.24741298
-4.99413490 2.24474210
-5.00048876 2.24213855
-5.00684262 2.23959626
-5.01319648 2.23711290
-5.01955034 2.23468644
-5.02590420 2.23232023
-5.03225806 2.23000972
-5.03861193 2.22775220
-5.04496579 2.22554726
-5.05131965 2.22339513
-5.05767351 2.22130091
-5.06402737 2.21926461
-5.07038123 2.21728613
-5.07673509 2.21536907
-5.08308895 2.21351825
-5.08944282 2.21174342
-5.09579668 2.21005250
-5.10215054 2.20845203
-5.10850440 2.20695434
-5.11485826 2.20557445
-5.12121212 2.20433321
-5.12756598 2.20325400
-5.13391984 2.20235861
-5.14027370 2.20167781
-5.14662757 2.20124760
-5.15298143 2.20111168
-5.15933529 2.20132119
-5.16568915 2.20193404
-5.17204301 2.20307241
-5.17839687 2.20475357
-5.18475073 2.20726794
-5.19110459 2.21067269
-5.19745846 2.21491846
-5.20381232 2.22008426
-5.21016618 2.22646298
-5.21652004 2.23442174
-5.22287390 2.24385294
-5.22922776 2.24551921
-5.23558162 2.24815352
-5.24193548 2.25200556
-5.24828935 2.25714357
-5.25464321 2.25724236
-5.26099707 2.25616649
-5.26735093 2.25520784
-5.27370479 2.25248810
-5.28005865 2.24548917
-5.28641251 2.23618077
-5.29276637 2.22750996
-5.29912023 2.21983090
-5.30547410 2.21317646
-5.31182796 2.20715601
-5.31818182 2.20179151
-5.32453568 2.19721742
-5.33088954 2.19294220
-5.33724340 2.18926362
-5.34359726 2.18576371
-5.34995112 2.18274758
-5.35630499 2.17987881
-5.36265885 2.17713283
-5.36901271 2.17468567
-5.37536657 2.17233874
-5.38172043 2.17006553
-5.38807429 2.16786008
-5.39442815 2.16579907
-5.40078201 2.16380630
-5.40713587 2.16184094
-5.41348974 2.15990253
-5.41984360 2.15799046
-5.42619746 2.15609712
-5.43255132 2.15422018
-5.43890518 2.15235753
-5.44525904 2.15050915
-5.45161290 2.14867742
-5.45796676 2.14685502
-5.46432063 2.14504070
-5.47067449 2.14323338
-5.47702835 2.14143305
-5.48338221 2.13964470
-5.48973607 2.13786091
-5.49608993 2.13608110
-5.50244379 2.13432811
-5.50879765 2.13264953
-5.51515152 2.13098914
-5.52150538 2.12933904
-5.52785924 2.12769901
-5.53421310 2.12606893
-5.54056696 2.12444872
-5.54692082 2.12297169
-5.55327468 2.12151101
-5.55962854 2.12000896
-5.56598240 2.11852374
-5.57233627 2.11705545
-5.57869013 2.11576567
-5.58504399 2.11453786
-5.59139785 2.11333588
-5.59775171 2.11220915
-5.60410557 2.11125442
-5.61045943 2.11033818
-5.61681329 2.10945768
-5.62316716 2.10879468
-5.62952102 2.10825077
-5.63587488 2.10774775
-5.64222874 2.10752398
-5.64858260 2.10735134
-5.65493646 2.10726066
-5.66129032 2.10750332
-5.66764418 2.10779560
-5.67399804 2.10835799
-5.68035191 2.10902043
-5.68670577 2.10984600
-5.69305963 2.11097904
-5.69941349 2.11222876
-5.70576735 2.11373651
-5.71212121 2.11528838
-5.71847507 2.11718851
-5.72482893 2.11914029
-5.73118280 2.12140684
-5.73753666 2.12370922
-5.74389052 2.12586442
-5.75024438 2.12753370
-5.75659824 2.12895198
-5.76295210 2.12981477
-5.76930596 2.13011125
-5.77565982 2.12994191
-5.78201369 2.12933282
-5.78836755 2.12820110
-5.79472141 2.12646697
-5.80107527 2.12412333
-5.80742913 2.12143814
-5.81378299 2.11846532
-5.82013685 2.11546501
-5.82649071 2.11243946
-5.83284457 2.10938833
-5.83919844 2.10641445
-5.84555230 2.10343192
-5.85190616 2.10042326
-5.85826002 2.09738809
-5.86461388 2.09432602
-5.87096774 2.09133192
-5.87732160 2.08834373
-5.88367546 2.08532809
-5.89002933 2.08228458
-5.89638319 2.07921279
-5.90273705 2.07619828
-5.90909091 2.07320629
-5.91544477 2.07018544
-5.92179863 2.06713530
-5.92815249 2.06405538
-5.93450635 2.06102044
-5.94086022 2.05802700
-5.94721408 2.05500322
-5.95356794 2.05194862
-5.95992180 2.04886268
-5.96627566 2.04580749
-5.97262952 2.04281556
-5.97898338 2.03979173
-5.98533724 2.03673546
-5.99169110 2.03364618
-5.99804497 2.03057122
-6.00439883 2.02758451
-6.01075269 2.02456426
-6.01710655 2.02150987
-6.02346041 2.01842071
-6.02981427 2.01532679
-6.03616813 2.01234998
-6.04252199 2.00933789
-6.04887586 2.00628987
-6.05522972 2.00320521
-6.06158358 1.99367430
-6.06793744 1.98376780
-6.07429130 1.97466694
-6.08064516 1.96634034
-6.08699902 1.95875037
-6.09335288 1.95185501
-6.09970674 1.94600727
-6.10606061 1.94074745
-6.11241447 1.93600522
-6.11876833 1.93173876
-6.12512219 1.92790747
-6.13147605 1.92468156
-6.13782991 1.92183518
-6.14418377 1.91928890
-6.15053763 1.91701322
-6.15689150 1.91498087
-6.16324536 1.91327102
-6.16959922 1.91178585
-6.17595308 1.91046069
-6.18230694 1.90927830
-6.18866080 1.90822309
-6.19501466 1.90733119
-6.20136852 1.90656708
-6.20772239 1.90588399
-6.21407625 1.90527278
-6.22043011 1.90472528
-6.22678397 1.90425780
-6.23313783 1.90386237
-6.23949169 1.90350656
-6.24584555 1.90308083
-6.25219941 1.90118262
-6.25855327 1.90112632
-6.26490714 1.90107469
-6.27126100 1.90102316
-6.27761486 1.90097173
-6.28396872 1.90092039
-6.29032258 1.90087093
-6.29667644 1.90082693
-6.30303030 1.90078302
-6.30938416 1.90073919
-6.31573803 1.90069544
-6.32209189 1.90065273
-6.32844575 1.90061628
-6.33479961 1.90057990
-6.34115347 1.90054359
-6.34750733 1.90050735
-6.35386119 1.90047129
-6.36021505 1.90044231
-6.36656891 1.90041337
-6.37292278 1.90038449
-6.37927664 1.90035566
-6.38563050 1.90032689
-6.39198436 1.90030458
-6.39833822 1.90028301
-6.40469208 1.90026147
-6.41104594 1.90023998
-6.41739980 1.90021852
-6.42375367 1.90020269
-6.43010753 1.90018839
-6.43646139 1.90017411
-6.44281525 1.90015986
-6.44916911 1.90014564
-6.45552297 1.90013620
-6.46187683 1.90012909
-6.46823069 1.90012200
-6.47458456 1.90011492
-6.48093842 1.90010785
-6.48729228 1.90010472
-6.49364614 1.90010472
-6.50000000 1.90010472
+AllInputTerms AllOutputTerms
+0.000000000 4.599895277
+0.006353861 4.599895277
+0.012707722 4.599895277
+0.019061584 4.599892153
+0.025415445 4.599885084
+0.031769306 4.599878001
+0.038123167 4.599870905
+0.044477028 4.599863796
+0.050830890 4.599854356
+0.057184751 4.599840135
+0.063538612 4.599825888
+0.069892473 4.599811614
+0.076246334 4.599797313
+0.082600196 4.599781479
+0.088954057 4.599760024
+0.095307918 4.599738529
+0.101661779 4.599716994
+0.108015640 4.599695418
+0.114369501 4.599673109
+0.120723363 4.599644337
+0.127077224 4.599615510
+0.133431085 4.599586630
+0.139784946 4.599557695
+0.146138807 4.599528705
+0.152492669 4.599492655
+0.158846530 4.599456412
+0.165200391 4.599420101
+0.171554252 4.599383721
+0.177908113 4.599347272
+0.184261975 4.599304555
+0.190615836 4.599260809
+0.196969697 4.599216981
+0.203323558 4.599173070
+0.209677419 4.599129075
+0.216031281 4.599079607
+0.222385142 4.599028272
+0.228739003 4.598976839
+0.235092864 4.598925308
+0.241446725 4.598873679
+0.247800587 4.598817377
+0.254154448 4.596919174
+0.260508309 4.596493440
+0.266862170 4.596137632
+0.273216031 4.595742200
+0.279569892 4.595274723
+0.285923754 4.594727219
+0.292277615 4.594116008
+0.298631476 4.593432922
+0.304985337 4.592668807
+0.311339198 4.591776911
+0.317693060 4.590721701
+0.324046921 4.589539310
+0.330400782 4.588214154
+0.336754643 4.586728981
+0.343108504 4.585019129
+0.349462366 4.582986784
+0.355816227 4.580711102
+0.362170088 4.578164818
+0.368523949 4.575318436
+0.374877810 4.572092534
+0.381231672 4.568261237
+0.387585533 4.563994780
+0.393939394 4.559252552
+0.400293255 4.553992732
+0.406647116 4.548144994
+0.413000978 4.541249632
+0.419354839 4.533659657
+0.425708700 4.525333057
+0.432062561 4.516232199
+0.438416422 4.506325696
+0.444770283 4.496794792
+0.451124145 4.493710135
+0.457478006 4.490662106
+0.463831867 4.487650020
+0.470185728 4.484673209
+0.476539589 4.481579293
+0.482893451 4.478490131
+0.489247312 4.475435736
+0.495601173 4.472415487
+0.501955034 4.469428781
+0.508308895 4.466353820
+0.514662757 4.463264545
+0.521016618 4.460208273
+0.527370479 4.457184444
+0.533724340 4.454192506
+0.540078201 4.451137323
+0.546432063 4.448051381
+0.552785924 4.444996778
+0.559139785 4.441973003
+0.565493646 4.438979556
+0.571847507 4.435944616
+0.578201369 4.432864702
+0.584555230 4.429814557
+0.590909091 4.426793715
+0.597262952 4.423801721
+0.603616813 4.420787213
+0.609970674 4.417715418
+0.616324536 4.414671913
+0.622678397 4.411656273
+0.629032258 4.408668084
+0.635386119 4.405673984
+0.641739980 4.402611914
+0.648093842 4.399576742
+0.654447703 4.396568080
+0.660801564 4.393585550
+0.667155425 4.390611667
+0.673509286 4.387560536
+0.679863148 4.384534993
+0.686217009 4.381534685
+0.692570870 4.378803034
+0.698924731 4.376475128
+0.705278592 4.374472509
+0.711632454 4.372876293
+0.717986315 4.371667843
+0.724340176 4.370882078
+0.730694037 4.370495109
+0.737047898 4.370388857
+0.743401760 4.370642624
+0.749755621 4.371087594
+0.756109482 4.371809708
+0.762463343 4.372860066
+0.768817204 4.374172697
+0.775171065 4.375519338
+0.781524927 4.376944539
+0.787878788 4.378390691
+0.794232649 4.379857111
+0.800586510 4.381337853
+0.806940371 4.382825703
+0.813294233 4.383995232
+0.819648094 4.385184747
+0.826001955 4.386272381
+0.832355816 4.387263153
+0.838709677 4.388270397
+0.845063539 4.389218723
+0.851417400 4.389931993
+0.857771261 4.390665144
+0.864125122 4.391414233
+0.870478983 4.392178065
+0.876832845 4.392925336
+0.883186706 4.393405489
+0.889540567 4.393768439
+0.895894428 4.394047827
+0.902248289 4.394341121
+0.908602151 4.394414128
+0.914956012 4.394434726
+0.921309873 4.394473933
+0.927663734 4.394455866
+0.934017595 4.394023022
+0.940371457 4.393565645
+0.946725318 4.392979180
+0.953079179 4.392264873
+0.959433040 4.391194008
+0.965786901 4.389891155
+0.972140762 4.387967116
+0.978494624 4.386008929
+0.984848485 4.384078347
+0.991202346 4.382159658
+0.997556207 4.380245187
+1.003910068 4.378342248
+1.010263930 4.376450758
+1.016617791 4.374570582
+1.022971652 4.372701585
+1.029325513 4.370836957
+1.035679374 4.368777798
+1.042033236 4.366100940
+1.048387097 4.363131178
+1.054740958 4.359902890
+1.061094819 4.356444999
+1.067448680 4.352898808
+1.073802542 4.349689538
+1.080156403 4.347161282
+1.086510264 4.346117831
+1.092864125 4.346638603
+1.099217986 4.347588660
+1.105571848 4.348367496
+1.111925709 4.349145305
+1.118279570 4.349580392
+1.124633431 4.350038990
+1.130987292 4.350146966
+1.137341153 4.350021415
+1.143695015 4.349874085
+1.150048876 4.349738316
+1.156402737 4.349455770
+1.162756598 4.348792090
+1.169110459 4.348140830
+1.175464321 4.347318692
+1.181818182 4.346244887
+1.188172043 4.344696513
+1.194525904 4.342885325
+1.200879765 4.340822753
+1.207233627 4.338510265
+1.213587488 4.336156649
+1.219941349 4.333355362
+1.226295210 4.330137299
+1.232649071 4.326641602
+1.239002933 4.321989008
+1.245356794 4.316169893
+1.251710655 4.310255005
+1.258064516 4.304334601
+1.264418377 4.298371995
+1.270772239 4.292366629
+1.277126100 4.286098146
+1.283479961 4.279628008
+1.289833822 4.273099795
+1.296187683 4.266519469
+1.302541544 4.259886618
+1.308895406 4.253200509
+1.315249267 4.246299266
+1.321603128 4.240059447
+1.327956989 4.237953162
+1.334310850 4.235855128
+1.340664712 4.233765267
+1.347018573 4.231683504
+1.353372434 4.229604349
+1.359726295 4.227531097
+1.366080156 4.225465702
+1.372434018 4.223408091
+1.378787879 4.221358193
+1.385141740 4.219311371
+1.391495601 4.217269217
+1.397849462 4.215234545
+1.404203324 4.213207286
+1.410557185 4.211187374
+1.416911046 4.209171028
+1.423264907 4.207158130
+1.429618768 4.205152358
+1.435972630 4.203153647
+1.442326491 4.201161932
+1.448680352 4.199174293
+1.455034213 4.197188899
+1.461388074 4.195210291
+1.467741935 4.193238408
+1.474095797 4.191273188
+1.480449658 4.189312571
+1.486803519 4.187353011
+1.493157380 4.185399915
+1.499511241 4.183453221
+1.505865103 4.181512872
+1.512218964 4.179577670
+1.518572825 4.177642355
+1.524926686 4.175713192
+1.531280547 4.173790126
+1.537634409 4.171873100
+1.543988270 4.169961779
+1.550342131 4.168049188
+1.556695992 4.166142455
+1.563049853 4.164241525
+1.569403715 4.162346345
+1.575757576 4.160456860
+1.582111437 4.158566124
+1.588465298 4.156680384
+1.594819159 4.154800166
+1.601173021 4.152925419
+1.607526882 4.151056092
+1.613880743 4.149186104
+1.620234604 4.147319983
+1.626588465 4.145459116
+1.632942326 4.143603453
+1.639296188 4.141752946
+1.645650049 4.139902380
+1.652003910 4.138054566
+1.658357771 4.136211747
+1.664711632 4.134373878
+1.671065494 4.132540910
+1.677419355 4.130708496
+1.683773216 4.128877732
+1.690127077 4.127051717
+1.696480938 4.125230405
+1.702834800 4.123413751
+1.709188661 4.121598273
+1.715542522 4.119783356
+1.721896383 4.117972950
+1.728250244 4.116167012
+1.734604106 4.114365499
+1.740957967 4.112565790
+1.747311828 4.110765567
+1.753665689 4.168153884
+1.760019550 4.166675537
+1.766373412 4.164106453
+1.772727273 4.160437753
+1.779081134 4.156385975
+1.785434995 4.151833303
+1.791788856 4.146677771
+1.798142717 4.141366376
+1.804496579 4.135700681
+1.810850440 4.129929818
+1.817204301 4.123874560
+1.823558162 4.117266592
+1.829912023 4.110423379
+1.836265885 4.103170947
+1.842619746 4.095818864
+1.848973607 4.088323358
+1.855327468 4.080426295
+1.861681329 4.072417514
+1.868035191 4.064291322
+1.874389052 4.055685721
+1.880742913 4.046336936
+1.887096774 4.036896117
+1.893450635 4.027612078
+1.899804497 4.018179925
+1.906158358 4.008590765
+1.912512219 3.998844491
+1.918866080 3.989206249
+1.925219941 3.979582314
+1.931573803 3.969730626
+1.937927664 3.963998992
+1.944281525 3.962015501
+1.950635386 3.960035623
+1.956989247 3.958059326
+1.963343109 3.956086577
+1.969696970 3.954113625
+1.976050831 3.952141011
+1.982404692 3.950171837
+1.988758553 3.948206070
+1.995112414 3.946243679
+2.001466276 3.944281718
+2.007820137 3.942319159
+2.014173998 3.940359871
+2.020527859 3.938403822
+2.026881720 3.936450982
+2.033235582 3.934499204
+2.039589443 3.932545907
+2.045943304 3.930595717
+2.052297165 3.928321055
+2.058651026 3.926276349
+2.065004888 3.924475266
+2.071358749 3.922774809
+2.077712610 3.921104727
+2.084066471 3.919464304
+2.090420332 3.918010740
+2.096774194 3.916680680
+2.103128055 3.915368777
+2.109481916 3.914080307
+2.115835777 3.912814724
+2.122189638 3.911723968
+2.128543500 3.910668734
+2.134897361 3.909680634
+2.141251222 3.908669775
+2.147605083 3.907587992
+2.153958944 3.906523952
+2.160312805 3.905477277
+2.166666667 3.904442682
+2.173020528 3.903423931
+2.179374389 3.902421528
+2.185728250 3.901486449
+2.192082111 3.900445921
+2.198435973 3.899393150
+2.204789834 3.898353233
+2.211143695 3.897327377
+2.217497556 3.896315330
+2.223851417 3.895323424
+2.230205279 3.894239779
+2.236559140 3.893166259
+2.242913001 3.892085629
+2.249266862 3.890921186
+2.255620723 3.763373136
+2.261974585 3.760810581
+2.268328446 3.758220845
+2.274682307 3.755515096
+2.281036168 3.752787836
+2.287390029 3.750049993
+2.293743891 3.747296167
+2.300097752 3.744524926
+2.306451613 3.741705721
+2.312805474 3.738783159
+2.319159335 3.735822614
+2.325513196 3.732839473
+2.331867058 3.729832989
+2.338220919 3.726807130
+2.344574780 3.723761656
+2.350928641 3.720696322
+2.357282502 3.717609935
+2.363636364 3.714498281
+2.369990225 3.711365982
+2.376344086 3.708212779
+2.382697947 3.704895960
+2.389051808 3.701549104
+2.395405670 3.698151488
+2.401759531 3.694720822
+2.408113392 3.691262237
+2.414467253 3.687775337
+2.420821114 3.684259719
+2.427174976 3.680709529
+2.433528837 3.677129365
+2.439882698 3.673519197
+2.446236559 3.669878595
+2.452590420 3.666207121
+2.458944282 3.662499570
+2.465298143 3.658759155
+2.471652004 3.654986475
+2.478005865 3.651045967
+2.484359726 3.647017997
+2.490713587 3.642936519
+2.497067449 3.638788673
+2.503421310 3.636596731
+2.509775171 3.636113994
+2.516129032 3.635610934
+2.522482893 3.635103238
+2.528836755 3.634534439
+2.535190616 3.633850040
+2.541544477 3.633174274
+2.547898338 3.632506997
+2.554252199 3.631845503
+2.560606061 3.631189380
+2.566959922 3.630541357
+2.573313783 3.629901299
+2.579667644 3.629269072
+2.586021505 3.628642677
+2.592375367 3.628020518
+2.598729228 3.627405830
+2.605083089 3.626798488
+2.611436950 3.626184131
+2.617790811 3.625542149
+2.624144673 3.624883923
+2.630498534 3.624060753
+2.636852395 3.623189558
+2.643206256 3.622327417
+2.649560117 3.621478017
+2.655913978 3.620645245
+2.662267840 3.619821076
+2.668621701 3.619029171
+2.674975562 3.618259835
+2.681329423 3.617499446
+2.687683284 3.616733785
+2.694037146 3.615929936
+2.700391007 3.615010095
+2.706744868 3.614080723
+2.713098729 3.613215121
+2.719452590 3.612358954
+2.725806452 3.611513289
+2.732160313 3.610643258
+2.738514174 3.609617457
+2.744868035 3.608593932
+2.751221896 3.607027619
+2.757575758 3.603513978
+2.763929619 3.599607885
+2.770283480 3.595554668
+2.776637341 3.591470975
+2.782991202 3.587039699
+2.789345064 3.582427638
+2.795698925 3.577769876
+2.802052786 3.573065578
+2.808406647 3.568294094
+2.814760508 3.563340228
+2.821114370 3.558021643
+2.827468231 3.552516327
+2.833822092 3.546930677
+2.840175953 3.541262601
+2.846529814 3.535508239
+2.852883675 3.529664792
+2.859237537 3.523731944
+2.865591398 3.517440754
+2.871945259 3.510815250
+2.878299120 3.503981681
+2.884652981 3.497018115
+2.891006843 3.489873772
+2.897360704 3.482525406
+2.903714565 3.475027943
+2.910068426 3.467225386
+2.916422287 3.458886336
+2.922776149 3.450555637
+2.929130010 3.442048766
+2.935483871 3.433360109
+2.941837732 3.424602968
+2.948191593 3.415281614
+2.954545455 3.405651752
+2.960899316 3.403007137
+2.967253177 3.400434512
+2.973607038 3.397862391
+2.979960899 3.395287917
+2.986314761 3.392713887
+2.992668622 3.390140357
+2.999022483 3.387568883
+3.005376344 3.385000338
+3.011730205 3.382430013
+3.018084066 3.380077653
+3.024437928 3.377875015
+3.030791789 3.375524943
+3.037145650 3.373402036
+3.043499511 3.371116711
+3.049853372 3.368824184
+3.056207234 3.366623179
+3.062561095 3.364503845
+3.068914956 3.362409804
+3.075268817 3.360336018
+3.081622678 3.358353454
+3.087976540 3.356478896
+3.094330401 3.354622474
+3.100684262 3.352771569
+3.107038123 3.350907341
+3.113391984 3.348993885
+3.119745846 3.346909885
+3.126099707 3.344819531
+3.132453568 3.342598890
+3.138807429 3.340275375
+3.145161290 3.337883015
+3.151515152 3.335412086
+3.157869013 3.332875386
+3.164222874 3.330208393
+3.170576735 3.327532743
+3.176930596 3.324848544
+3.183284457 3.322157198
+3.189638319 3.319459305
+3.195992180 3.316677427
+3.202346041 3.313783765
+3.208699902 3.310881781
+3.215053763 3.307973034
+3.221407625 3.305194923
+3.227761486 3.302433058
+3.234115347 3.299669163
+3.240469208 3.296983598
+3.246823069 3.294388917
+3.253176931 3.291694941
+3.259530792 3.288912681
+3.265884653 3.286303511
+3.272238514 3.283696099
+3.278592375 3.281090518
+3.284946237 3.278608571
+3.291300098 3.276193408
+3.297653959 3.273722220
+3.304007820 3.271161759
+3.310361681 3.268747744
+3.316715543 3.265966787
+3.323069404 3.263085323
+3.329423265 3.260199447
+3.335777126 3.257347210
+3.342130987 3.254581221
+3.348484848 3.251727316
+3.354838710 3.248792146
+3.361192571 3.245765662
+3.367546432 3.242718518
+3.373900293 3.239619271
+3.380254154 3.236414055
+3.386608016 3.233211207
+3.392961877 3.229760188
+3.399315738 3.226378097
+3.405669599 3.222796617
+3.412023460 3.219154408
+3.418377322 3.215272481
+3.424731183 3.211297617
+3.431085044 3.207131367
+3.437438905 3.202926988
+3.443792766 3.198418272
+3.450146628 3.193810749
+3.456500489 3.188860538
+3.462854350 3.183359238
+3.469208211 3.177024226
+3.475562072 3.170496818
+3.481915934 3.163778038
+3.488269795 3.156835795
+3.494623656 3.151777246
+3.500977517 3.148035721
+3.507331378 3.144197746
+3.513685239 3.140446705
+3.520039101 3.136655740
+3.526392962 3.132806200
+3.532746823 3.128899648
+3.539100684 3.125129471
+3.545454545 3.121261384
+3.551808407 3.117323246
+3.558162268 3.113378774
+3.564516129 3.109556905
+3.570869990 3.105689954
+3.577223851 3.101812687
+3.583577713 3.098113304
+3.589931574 3.094386990
+3.596285435 3.090861319
+3.602639296 3.087515615
+3.608993157 3.084155158
+3.615347019 3.080990618
+3.621700880 3.077760997
+3.628054741 3.074689575
+3.634408602 3.071762524
+3.640762463 3.069078509
+3.647116325 3.066888906
+3.653470186 3.064848343
+3.659824047 3.062841076
+3.666177908 3.060943162
+3.672531769 3.058946649
+3.678885630 3.057033237
+3.685239492 3.051646773
+3.691593353 3.043638574
+3.697947214 3.034716407
+3.704301075 3.025432082
+3.710654936 3.015899291
+3.717008798 3.005532233
+3.723362659 2.994631745
+3.729716520 2.983257966
+3.736070381 2.971645362
+3.742424242 2.959138446
+3.748778104 2.946656184
+3.755131965 2.934768336
+3.761485826 2.924011690
+3.767839687 2.913972946
+3.774193548 2.905005829
+3.780547410 2.897395635
+3.786901271 2.890239940
+3.793255132 2.883864707
+3.799608993 2.878146427
+3.805962854 2.873338916
+3.812316716 2.868774397
+3.818670577 2.864691316
+3.825024438 2.860941683
+3.831378299 2.857473629
+3.837732160 2.854395833
+3.844086022 2.851449698
+3.850439883 2.848549478
+3.856793744 2.845695513
+3.863147605 2.842933383
+3.869501466 2.840390382
+3.875855327 2.838187245
+3.882209189 2.836282288
+3.888563050 2.834395205
+3.894916911 2.832513363
+3.901270772 2.830630910
+3.907624633 2.828747302
+3.913978495 2.826862520
+3.920332356 2.824979616
+3.926686217 2.823097208
+3.933040078 2.821213567
+3.939393939 2.819328674
+3.945747801 2.817442508
+3.952101662 2.815557626
+3.958455523 2.813673739
+3.964809384 2.811788518
+3.971163245 2.809901944
+3.977517107 2.808013996
+3.983870968 2.806126709
+3.990224829 2.804240935
+3.996578690 2.802353725
+4.002932551 2.800465058
+4.009286413 2.798574913
+4.015640274 2.796684781
+4.021994135 2.794796696
+4.028347996 2.792907069
+4.034701857 2.791015880
+4.041055718 2.789123106
+4.047409580 2.787229672
+4.053763441 2.785338834
+4.060117302 2.783446347
+4.066471163 2.781552188
+4.072825024 2.779656337
+4.079178886 2.777759126
+4.085532747 2.775865077
+4.091886608 2.773969268
+4.098240469 2.772071676
+4.104594330 2.770172279
+4.110948192 2.768271094
+4.117302053 2.766374342
+4.123655914 2.764476074
+4.130009775 2.762595767
+4.136363636 2.760758819
+4.142717498 2.758935172
+4.149071359 2.757131514
+4.155425220 2.755346309
+4.161779081 2.753580657
+4.168132942 2.751482072
+4.174486804 2.747379566
+4.180840665 2.743285748
+4.187194526 2.739040821
+4.193548387 2.735000453
+4.199902248 2.730956631
+4.206256109 2.727306104
+4.212609971 2.723853682
+4.218963832 2.720650398
+4.225317693 2.717215725
+4.231671554 2.714264925
+4.238025415 2.711377668
+4.244379277 2.708456312
+4.250733138 2.705502047
+4.257086999 2.699963796
+4.263440860 2.694404754
+4.269794721 2.688818075
+4.276148583 2.683152932
+4.282502444 2.677352841
+4.288856305 2.671534472
+4.295210166 2.665710188
+4.301564027 2.659894532
+4.307917889 2.653904808
+4.314271750 2.647082281
+4.320625611 2.640376703
+4.326979472 2.634383466
+4.333333333 2.628611333
+4.339687195 2.623045257
+4.346041056 2.617682590
+4.352394917 2.612510659
+4.358748778 2.607522940
+4.365102639 2.602713283
+4.371456500 2.598076108
+4.377810362 2.593612156
+4.384164223 2.589309799
+4.390518084 2.585164176
+4.396871945 2.581170702
+4.403225806 2.577325054
+4.409579668 2.573629224
+4.415933529 2.570073814
+4.422287390 2.566654660
+4.428641251 2.563368355
+4.434995112 2.560211698
+4.441348974 2.557186973
+4.447702835 2.554287333
+4.454056696 2.551508820
+4.460410557 2.548848951
+4.466764418 2.546305402
+4.473118280 2.543880553
+4.479472141 2.541569889
+4.485826002 2.539369471
+4.492179863 2.537277567
+4.498533724 2.535292581
+4.504887586 2.533416848
+4.511241447 2.531648061
+4.517595308 2.529982170
+4.523949169 2.528418089
+4.530303030 2.526954850
+4.536656891 2.525594665
+4.543010753 2.524337371
+4.549364614 2.523178724
+4.555718475 2.522118228
+4.562072336 2.521155495
+4.568426197 2.520292572
+4.574780059 2.519531438
+4.581133920 2.518867611
+4.587487781 2.518301166
+4.593841642 2.517832298
+4.600195503 2.517462875
+4.606549365 2.517197081
+4.612903226 2.517030180
+4.619257087 2.516962853
+4.625610948 2.516995911
+4.631964809 2.517131080
+4.638318671 2.517374868
+4.644672532 2.517722312
+4.651026393 2.518174779
+4.657380254 2.513659123
+4.663734115 2.508125388
+4.670087977 2.502541173
+4.676441838 2.496905848
+4.682795699 2.491226658
+4.689149560 2.485511648
+4.695503421 2.480131931
+4.701857283 2.474823139
+4.708211144 2.469510489
+4.714565005 2.464202984
+4.720918866 2.458910899
+4.727272727 2.453644854
+4.733626588 2.448421318
+4.739980450 2.443247453
+4.746334311 2.438299314
+4.752688172 2.432763745
+4.759042033 2.425949005
+4.765395894 2.419291750
+4.771749756 2.412669897
+4.778103617 2.406055580
+4.784457478 2.399250324
+4.790811339 2.392507300
+4.797165200 2.385862943
+4.803519062 2.379674845
+4.809872923 2.373569532
+4.816226784 2.367608901
+4.822580645 2.361641330
+4.828934506 2.355218813
+4.835288368 2.348730271
+4.841642229 2.342430330
+4.847996090 2.336320662
+4.854349951 2.330399039
+4.860703812 2.324816922
+4.867057674 2.319535672
+4.873411535 2.314418752
+4.879765396 2.309466791
+4.886119257 2.304772174
+4.892473118 2.300224661
+4.898826979 2.295824445
+4.905180841 2.291561381
+4.911534702 2.287430967
+4.917888563 2.283428598
+4.924242424 2.279550153
+4.930596285 2.275796879
+4.936950147 2.272157536
+4.943304008 2.268627457
+4.949657869 2.265309212
+4.956011730 2.262113657
+4.962365591 2.259012750
+4.968719453 2.255996077
+4.975073314 2.253059604
+4.981427175 2.250199716
+4.987781036 2.247412981
+4.994134897 2.244742103
+5.000488759 2.242138547
+5.006842620 2.239596260
+5.013196481 2.237112902
+5.019550342 2.234686436
+5.025904203 2.232320228
+5.032258065 2.230009725
+5.038611926 2.227752196
+5.044965787 2.225547264
+5.051319648 2.223395128
+5.057673509 2.221300911
+5.064027370 2.219264613
+5.070381232 2.217286135
+5.076735093 2.215369071
+5.083088954 2.213518254
+5.089442815 2.211743418
+5.095796676 2.210052495
+5.102150538 2.208452035
+5.108504399 2.206954343
+5.114858260 2.205574451
+5.121212121 2.204333209
+5.127565982 2.203253997
+5.133919844 2.202358615
+5.140273705 2.201677808
+5.146627566 2.201247601
+5.152981427 2.201111684
+5.159335288 2.201321192
+5.165689150 2.201934041
+5.172043011 2.203072413
+5.178396872 2.204753575
+5.184750733 2.207267944
+5.191104594 2.210672693
+5.197458456 2.214918459
+5.203812317 2.220084262
+5.210166178 2.226462979
+5.216520039 2.234421744
+5.222873900 2.243852944
+5.229227761 2.245519207
+5.235581623 2.248153515
+5.241935484 2.252005561
+5.248289345 2.257143573
+5.254643206 2.257242365
+5.260997067 2.256166494
+5.267350929 2.255207844
+5.273704790 2.252488099
+5.280058651 2.245489169
+5.286412512 2.236180770
+5.292766373 2.227509962
+5.299120235 2.219830899
+5.305474096 2.213176464
+5.311827957 2.207156013
+5.318181818 2.201791510
+5.324535679 2.197217425
+5.330889541 2.192942201
+5.337243402 2.189263625
+5.343597263 2.185763709
+5.349951124 2.182747581
+5.356304985 2.179878809
+5.362658847 2.177132825
+5.369012708 2.174685668
+5.375366569 2.172338745
+5.381720430 2.170065527
+5.388074291 2.167860085
+5.394428152 2.165799070
+5.400782014 2.163806303
+5.407135875 2.161840938
+5.413489736 2.159902531
+5.419843597 2.157990461
+5.426197458 2.156097125
+5.432551320 2.154220179
+5.438905181 2.152357531
+5.445259042 2.150509149
+5.451612903 2.148677415
+5.457966764 2.146855019
+5.464320626 2.145040704
+5.470674487 2.143233382
+5.477028348 2.141433054
+5.483382209 2.139644701
+5.489736070 2.137860906
+5.496089932 2.136081099
+5.502443793 2.134328107
+5.508797654 2.132649534
+5.515151515 2.130989142
+5.521505376 2.129339036
+5.527859238 2.127699011
+5.534213099 2.126068931
+5.540566960 2.124448719
+5.546920821 2.122971692
+5.553274682 2.121511010
+5.559628543 2.120008961
+5.565982405 2.118523744
+5.572336266 2.117055449
+5.578690127 2.115765674
+5.585043988 2.114537858
+5.591397849 2.113335881
+5.597751711 2.112209154
+5.604105572 2.111254423
+5.610459433 2.110338185
+5.616813294 2.109457677
+5.623167155 2.108794683
+5.629521017 2.108250774
+5.635874878 2.107747754
+5.642228739 2.107523978
+5.648582600 2.107351345
+5.654936461 2.107260660
+5.661290323 2.107503323
+5.667644184 2.107795601
+5.673998045 2.108357990
+5.680351906 2.109020431
+5.686705767 2.109846004
+5.693059629 2.110979040
+5.699413490 2.112228755
+5.705767351 2.113736512
+5.712121212 2.115288377
+5.718475073 2.117188508
+5.724828935 2.119140287
+5.731182796 2.121406844
+5.737536657 2.123709219
+5.743890518 2.125864421
+5.750244379 2.127533697
+5.756598240 2.128951976
+5.762952102 2.129814768
+5.769305963 2.130111253
+5.775659824 2.129941914
+5.782013685 2.129332824
+5.788367546 2.128201102
+5.794721408 2.126466974
+5.801075269 2.124123331
+5.807429130 2.121438142
+5.813782991 2.118465315
+5.820136852 2.115465007
+5.826490714 2.112439464
+5.832844575 2.109388333
+5.839198436 2.106414450
+5.845552297 2.103431920
+5.851906158 2.100423258
+5.858260020 2.097388086
+5.864613881 2.094326016
+5.870967742 2.091331916
+5.877321603 2.088343727
+5.883675464 2.085328087
+5.890029326 2.082284582
+5.896383187 2.079212787
+5.902737048 2.076198279
+5.909090909 2.073206285
+5.915444770 2.070185443
+5.921798631 2.067135298
+5.928152493 2.064055384
+5.934506354 2.061020444
+5.940860215 2.058026997
+5.947214076 2.055003222
+5.953567937 2.051948619
+5.959921799 2.048862677
+5.966275660 2.045807494
+5.972629521 2.042815556
+5.978983382 2.039791727
+5.985337243 2.036735455
+5.991691105 2.033646180
+5.998044966 2.030571219
+6.004398827 2.027584513
+6.010752688 2.024564264
+6.017106549 2.021509869
+6.023460411 2.018420707
+6.029814272 2.015326791
+6.036168133 2.012349980
+6.042521994 2.009337894
+6.048875855 2.006289865
+6.055229717 2.003205208
+6.061583578 1.993674304
+6.067937439 1.983767801
+6.074291300 1.974666943
+6.080645161 1.966340343
+6.086999022 1.958750368
+6.093352884 1.951855006
+6.099706745 1.946007268
+6.106060606 1.940747448
+6.112414467 1.936005220
+6.118768328 1.931738763
+6.125122190 1.927907466
+6.131476051 1.924681564
+6.137829912 1.921835182
+6.144183773 1.919288898
+6.150537634 1.917013216
+6.156891496 1.914980871
+6.163245357 1.913271019
+6.169599218 1.911785846
+6.175953079 1.910460690
+6.182306940 1.909278299
+6.188660802 1.908223089
+6.195014663 1.907331193
+6.201368524 1.906567078
+6.207722385 1.905883992
+6.214076246 1.905272781
+6.220430108 1.904725277
+6.226783969 1.904257800
+6.233137830 1.903862368
+6.239491691 1.903506560
+6.245845552 1.903080826
+6.252199413 1.901182623
+6.258553275 1.901126321
+6.264907136 1.901074692
+6.271260997 1.901023161
+6.277614858 1.900971728
+6.283968719 1.900920393
+6.290322581 1.900870925
+6.296676442 1.900826930
+6.303030303 1.900783019
+6.309384164 1.900739191
+6.315738025 1.900695445
+6.322091887 1.900652728
+6.328445748 1.900616279
+6.334799609 1.900579899
+6.341153470 1.900543588
+6.347507331 1.900507345
+6.353861193 1.900471295
+6.360215054 1.900442305
+6.366568915 1.900413370
+6.372922776 1.900384490
+6.379276637 1.900355663
+6.385630499 1.900326891
+6.391984360 1.900304582
+6.398338221 1.900283006
+6.404692082 1.900261471
+6.411045943 1.900239976
+6.417399804 1.900218521
+6.423753666 1.900202687
+6.430107527 1.900188386
+6.436461388 1.900174112
+6.442815249 1.900159865
+6.449169110 1.900145644
+6.455522972 1.900136204
+6.461876833 1.900129095
+6.468230694 1.900121999
+6.474584555 1.900114916
+6.480938416 1.900107847
+6.487292278 1.900104723
+6.493646139 1.900104723
+6.500000000 1.900104723
diff --git a/examples/mamdani/AllTerms.fll b/examples/mamdani/AllTerms.fll
index 58d5705..4db1b32 100644
--- a/examples/mamdani/AllTerms.fll
+++ b/examples/mamdani/AllTerms.fll
@@ -1,7 +1,8 @@
-Engine: qtfuzzylite
+Engine: AllTerms
InputVariable: AllInputTerms
enabled: true
range: 0.000 6.500
+ lock-range: false
term: A Sigmoid 0.500 -20.000
term: B ZShape 0.000 1.000
term: C Ramp 1.000 0.000
@@ -25,11 +26,11 @@ InputVariable: AllInputTerms
OutputVariable: AllOutputTerms
enabled: true
range: 0.000 6.500
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: Centroid 200
default: nan
lock-previous: false
- lock-range: false
term: A Sigmoid 0.500 -20.000
term: B ZShape 0.000 1.000
term: C Ramp 1.000 0.000
@@ -54,7 +55,8 @@ RuleBlock:
enabled: true
conjunction: Minimum
disjunction: Maximum
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if AllInputTerms is A then AllOutputTerms is T
rule: if AllInputTerms is B then AllOutputTerms is S
rule: if AllInputTerms is C then AllOutputTerms is R
diff --git a/examples/mamdani/AllTerms.java b/examples/mamdani/AllTerms.java
index c59f9a1..6d4651d 100644
--- a/examples/mamdani/AllTerms.java
+++ b/examples/mamdani/AllTerms.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,72 +13,80 @@ import com.fuzzylite.variable.*;
public class AllTerms{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("qtfuzzylite");
+engine.setName("AllTerms");
+engine.setDescription("");
-InputVariable inputVariable = new InputVariable();
-inputVariable.setEnabled(true);
-inputVariable.setName("AllInputTerms");
-inputVariable.setRange(0.000, 6.500);
-inputVariable.addTerm(new Sigmoid("A", 0.500, -20.000));
-inputVariable.addTerm(new ZShape("B", 0.000, 1.000));
-inputVariable.addTerm(new Ramp("C", 1.000, 0.000));
-inputVariable.addTerm(new Triangle("D", 0.500, 1.000, 1.500));
-inputVariable.addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
-inputVariable.addTerm(new Concave("F", 0.850, 0.250));
-inputVariable.addTerm(new Rectangle("G", 1.750, 2.250));
-inputVariable.addTerm(Discrete.create("H", 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
-inputVariable.addTerm(new Gaussian("I", 3.000, 0.200));
-inputVariable.addTerm(new Cosine("J", 3.250, 0.650));
-inputVariable.addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
-inputVariable.addTerm(new Spike("L", 3.640, 1.040));
-inputVariable.addTerm(new Bell("M", 4.000, 0.250, 3.000));
-inputVariable.addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
-inputVariable.addTerm(new Concave("O", 5.650, 6.250));
-inputVariable.addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
-inputVariable.addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
-inputVariable.addTerm(new Ramp("R", 5.500, 6.500));
-inputVariable.addTerm(new SShape("S", 5.500, 6.500));
-inputVariable.addTerm(new Sigmoid("T", 6.000, 20.000));
-engine.addInputVariable(inputVariable);
+InputVariable AllInputTerms = new InputVariable();
+AllInputTerms.setName("AllInputTerms");
+AllInputTerms.setDescription("");
+AllInputTerms.setEnabled(true);
+AllInputTerms.setRange(0.000, 6.500);
+AllInputTerms.setLockValueInRange(false);
+AllInputTerms.addTerm(new Sigmoid("A", 0.500, -20.000));
+AllInputTerms.addTerm(new ZShape("B", 0.000, 1.000));
+AllInputTerms.addTerm(new Ramp("C", 1.000, 0.000));
+AllInputTerms.addTerm(new Triangle("D", 0.500, 1.000, 1.500));
+AllInputTerms.addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
+AllInputTerms.addTerm(new Concave("F", 0.850, 0.250));
+AllInputTerms.addTerm(new Rectangle("G", 1.750, 2.250));
+AllInputTerms.addTerm(Discrete.create("H", 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
+AllInputTerms.addTerm(new Gaussian("I", 3.000, 0.200));
+AllInputTerms.addTerm(new Cosine("J", 3.250, 0.650));
+AllInputTerms.addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
+AllInputTerms.addTerm(new Spike("L", 3.640, 1.040));
+AllInputTerms.addTerm(new Bell("M", 4.000, 0.250, 3.000));
+AllInputTerms.addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
+AllInputTerms.addTerm(new Concave("O", 5.650, 6.250));
+AllInputTerms.addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
+AllInputTerms.addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
+AllInputTerms.addTerm(new Ramp("R", 5.500, 6.500));
+AllInputTerms.addTerm(new SShape("S", 5.500, 6.500));
+AllInputTerms.addTerm(new Sigmoid("T", 6.000, 20.000));
+engine.addInputVariable(AllInputTerms);
-OutputVariable outputVariable = new OutputVariable();
-outputVariable.setEnabled(true);
-outputVariable.setName("AllOutputTerms");
-outputVariable.setRange(0.000, 6.500);
-outputVariable.fuzzyOutput().setAccumulation(new Maximum());
-outputVariable.setDefuzzifier(new Centroid(200));
-outputVariable.setDefaultValue(Double.NaN);
-outputVariable.setLockPreviousOutputValue(false);
-outputVariable.setLockOutputValueInRange(false);
-outputVariable.addTerm(new Sigmoid("A", 0.500, -20.000));
-outputVariable.addTerm(new ZShape("B", 0.000, 1.000));
-outputVariable.addTerm(new Ramp("C", 1.000, 0.000));
-outputVariable.addTerm(new Triangle("D", 0.500, 1.000, 1.500));
-outputVariable.addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
-outputVariable.addTerm(new Concave("F", 0.850, 0.250));
-outputVariable.addTerm(new Rectangle("G", 1.750, 2.250));
-outputVariable.addTerm(Discrete.create("H", 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
-outputVariable.addTerm(new Gaussian("I", 3.000, 0.200));
-outputVariable.addTerm(new Cosine("J", 3.250, 0.650));
-outputVariable.addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
-outputVariable.addTerm(new Spike("L", 3.640, 1.040));
-outputVariable.addTerm(new Bell("M", 4.000, 0.250, 3.000));
-outputVariable.addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
-outputVariable.addTerm(new Concave("O", 5.650, 6.250));
-outputVariable.addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
-outputVariable.addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
-outputVariable.addTerm(new Ramp("R", 5.500, 6.500));
-outputVariable.addTerm(new SShape("S", 5.500, 6.500));
-outputVariable.addTerm(new Sigmoid("T", 6.000, 20.000));
-engine.addOutputVariable(outputVariable);
+OutputVariable AllOutputTerms = new OutputVariable();
+AllOutputTerms.setName("AllOutputTerms");
+AllOutputTerms.setDescription("");
+AllOutputTerms.setEnabled(true);
+AllOutputTerms.setRange(0.000, 6.500);
+AllOutputTerms.setLockValueInRange(false);
+AllOutputTerms.setAggregation(new Maximum());
+AllOutputTerms.setDefuzzifier(new Centroid(200));
+AllOutputTerms.setDefaultValue(Double.NaN);
+AllOutputTerms.setLockPreviousValue(false);
+AllOutputTerms.addTerm(new Sigmoid("A", 0.500, -20.000));
+AllOutputTerms.addTerm(new ZShape("B", 0.000, 1.000));
+AllOutputTerms.addTerm(new Ramp("C", 1.000, 0.000));
+AllOutputTerms.addTerm(new Triangle("D", 0.500, 1.000, 1.500));
+AllOutputTerms.addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
+AllOutputTerms.addTerm(new Concave("F", 0.850, 0.250));
+AllOutputTerms.addTerm(new Rectangle("G", 1.750, 2.250));
+AllOutputTerms.addTerm(Discrete.create("H", 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
+AllOutputTerms.addTerm(new Gaussian("I", 3.000, 0.200));
+AllOutputTerms.addTerm(new Cosine("J", 3.250, 0.650));
+AllOutputTerms.addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
+AllOutputTerms.addTerm(new Spike("L", 3.640, 1.040));
+AllOutputTerms.addTerm(new Bell("M", 4.000, 0.250, 3.000));
+AllOutputTerms.addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
+AllOutputTerms.addTerm(new Concave("O", 5.650, 6.250));
+AllOutputTerms.addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
+AllOutputTerms.addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
+AllOutputTerms.addTerm(new Ramp("R", 5.500, 6.500));
+AllOutputTerms.addTerm(new SShape("S", 5.500, 6.500));
+AllOutputTerms.addTerm(new Sigmoid("T", 6.000, 20.000));
+engine.addOutputVariable(AllOutputTerms);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(new Minimum());
ruleBlock.setDisjunction(new Maximum());
-ruleBlock.setActivation(new Minimum());
+ruleBlock.setImplication(new Minimum());
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if AllInputTerms is A then AllOutputTerms is T", engine));
ruleBlock.addRule(Rule.parse("if AllInputTerms is B then AllOutputTerms is S", engine));
ruleBlock.addRule(Rule.parse("if AllInputTerms is C then AllOutputTerms is R", engine));
diff --git a/examples/mamdani/AllTerms.pdf b/examples/mamdani/AllTerms.pdf
new file mode 100644
index 0000000..ed71111
--- /dev/null
+++ b/examples/mamdani/AllTerms.pdf
Binary files differ
diff --git a/examples/mamdani/Laundry.R b/examples/mamdani/Laundry.R
new file mode 100644
index 0000000..ca7d73d
--- /dev/null
+++ b/examples/mamdani/Laundry.R
@@ -0,0 +1,91 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "Laundry"
+engine.fll = "Engine: Laundry
+InputVariable: Load
+ enabled: true
+ range: 0.000 6.000
+ lock-range: false
+ term: small Discrete 0.000 1.000 1.000 1.000 2.000 0.800 5.000 0.000
+ term: normal Discrete 3.000 0.000 4.000 1.000 6.000 0.000
+InputVariable: Dirt
+ enabled: true
+ range: 0.000 6.000
+ lock-range: false
+ term: low Discrete 0.000 1.000 2.000 0.800 5.000 0.000
+ term: high Discrete 1.000 0.000 2.000 0.200 4.000 0.800 6.000 1.000
+OutputVariable: Detergent
+ enabled: true
+ range: 0.000 80.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: MeanOfMaximum 500
+ default: nan
+ lock-previous: false
+ term: less_than_usual Discrete 10.000 0.000 40.000 1.000 50.000 0.000
+ term: usual Discrete 40.000 0.000 50.000 1.000 60.000 1.000 80.000 0.000
+ term: more_than_usual Discrete 50.000 0.000 80.000 1.000
+OutputVariable: Cycle
+ enabled: true
+ range: 0.000 20.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: MeanOfMaximum 500
+ default: nan
+ lock-previous: false
+ term: short Discrete 0.000 1.000 10.000 1.000 20.000 0.000
+ term: long Discrete 10.000 0.000 20.000 1.000
+RuleBlock:
+ enabled: true
+ conjunction: Minimum
+ disjunction: Maximum
+ implication: Minimum
+ activation: General
+ rule: if Load is small and Dirt is not high then Detergent is less_than_usual
+ rule: if Load is small and Dirt is high then Detergent is usual
+ rule: if Load is normal and Dirt is low then Detergent is less_than_usual
+ rule: if Load is normal and Dirt is high then Detergent is more_than_usual
+ rule: if Detergent is usual or Detergent is less_than_usual then Cycle is short
+ rule: if Detergent is more_than_usual then Cycle is long"
+
+engine.fldFile = "Laundry.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1i2_o1 = ggplot(engine.df, aes(Load, Dirt)) +
+ geom_tile(aes(fill=Detergent)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Load, y=Dirt, z=Detergent), color="black") +
+ ggtitle("(Load, Dirt) = Detergent")
+
+engine.plot.i2i1_o1 = ggplot(engine.df, aes(Dirt, Load)) +
+ geom_tile(aes(fill=Detergent)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Dirt, y=Load, z=Detergent), color="black") +
+ ggtitle("(Dirt, Load) = Detergent")
+
+engine.plot.i1i2_o2 = ggplot(engine.df, aes(Load, Dirt)) +
+ geom_tile(aes(fill=Cycle)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Load, y=Dirt, z=Cycle), color="black") +
+ ggtitle("(Load, Dirt) = Cycle")
+
+engine.plot.i2i1_o2 = ggplot(engine.df, aes(Dirt, Load)) +
+ geom_tile(aes(fill=Cycle)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Dirt, y=Load, z=Cycle), color="black") +
+ ggtitle("(Dirt, Load) = Cycle")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1i2_o1, engine.plot.i2i1_o1, engine.plot.i1i2_o2, engine.plot.i2i1_o2, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/Laundry.cpp b/examples/mamdani/Laundry.cpp
index 7fbcb11..cc7492c 100644
--- a/examples/mamdani/Laundry.cpp
+++ b/examples/mamdani/Laundry.cpp
@@ -1,66 +1,77 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
engine->setName("Laundry");
+engine->setDescription("");
-InputVariable* inputVariable1 = new InputVariable;
-inputVariable1->setEnabled(true);
-inputVariable1->setName("Load");
-inputVariable1->setRange(0.000, 6.000);
-inputVariable1->addTerm(Discrete::create("small", 8, 0.000, 1.000, 1.000, 1.000, 2.000, 0.800, 5.000, 0.000));
-inputVariable1->addTerm(Discrete::create("normal", 6, 3.000, 0.000, 4.000, 1.000, 6.000, 0.000));
-engine->addInputVariable(inputVariable1);
+InputVariable* Load = new InputVariable;
+Load->setName("Load");
+Load->setDescription("");
+Load->setEnabled(true);
+Load->setRange(0.000, 6.000);
+Load->setLockValueInRange(false);
+Load->addTerm(Discrete::create("small", 8, 0.000, 1.000, 1.000, 1.000, 2.000, 0.800, 5.000, 0.000));
+Load->addTerm(Discrete::create("normal", 6, 3.000, 0.000, 4.000, 1.000, 6.000, 0.000));
+engine->addInputVariable(Load);
-InputVariable* inputVariable2 = new InputVariable;
-inputVariable2->setEnabled(true);
-inputVariable2->setName("Dirt");
-inputVariable2->setRange(0.000, 6.000);
-inputVariable2->addTerm(Discrete::create("low", 6, 0.000, 1.000, 2.000, 0.800, 5.000, 0.000));
-inputVariable2->addTerm(Discrete::create("high", 8, 1.000, 0.000, 2.000, 0.200, 4.000, 0.800, 6.000, 1.000));
-engine->addInputVariable(inputVariable2);
+InputVariable* Dirt = new InputVariable;
+Dirt->setName("Dirt");
+Dirt->setDescription("");
+Dirt->setEnabled(true);
+Dirt->setRange(0.000, 6.000);
+Dirt->setLockValueInRange(false);
+Dirt->addTerm(Discrete::create("low", 6, 0.000, 1.000, 2.000, 0.800, 5.000, 0.000));
+Dirt->addTerm(Discrete::create("high", 8, 1.000, 0.000, 2.000, 0.200, 4.000, 0.800, 6.000, 1.000));
+engine->addInputVariable(Dirt);
-OutputVariable* outputVariable1 = new OutputVariable;
-outputVariable1->setEnabled(true);
-outputVariable1->setName("Detergent");
-outputVariable1->setRange(0.000, 80.000);
-outputVariable1->fuzzyOutput()->setAccumulation(new Maximum);
-outputVariable1->setDefuzzifier(new MeanOfMaximum(500));
-outputVariable1->setDefaultValue(fl::nan);
-outputVariable1->setLockPreviousOutputValue(false);
-outputVariable1->setLockOutputValueInRange(false);
-outputVariable1->addTerm(Discrete::create("less", 6, 10.000, 0.000, 40.000, 1.000, 50.000, 0.000));
-outputVariable1->addTerm(Discrete::create("normal", 8, 40.000, 0.000, 50.000, 1.000, 60.000, 1.000, 80.000, 0.000));
-outputVariable1->addTerm(Discrete::create("more", 4, 50.000, 0.000, 80.000, 1.000));
-engine->addOutputVariable(outputVariable1);
+OutputVariable* Detergent = new OutputVariable;
+Detergent->setName("Detergent");
+Detergent->setDescription("");
+Detergent->setEnabled(true);
+Detergent->setRange(0.000, 80.000);
+Detergent->setLockValueInRange(false);
+Detergent->setAggregation(new Maximum);
+Detergent->setDefuzzifier(new MeanOfMaximum(500));
+Detergent->setDefaultValue(fl::nan);
+Detergent->setLockPreviousValue(false);
+Detergent->addTerm(Discrete::create("less_than_usual", 6, 10.000, 0.000, 40.000, 1.000, 50.000, 0.000));
+Detergent->addTerm(Discrete::create("usual", 8, 40.000, 0.000, 50.000, 1.000, 60.000, 1.000, 80.000, 0.000));
+Detergent->addTerm(Discrete::create("more_than_usual", 4, 50.000, 0.000, 80.000, 1.000));
+engine->addOutputVariable(Detergent);
-OutputVariable* outputVariable2 = new OutputVariable;
-outputVariable2->setEnabled(true);
-outputVariable2->setName("Cycle");
-outputVariable2->setRange(0.000, 20.000);
-outputVariable2->fuzzyOutput()->setAccumulation(new Maximum);
-outputVariable2->setDefuzzifier(new MeanOfMaximum(500));
-outputVariable2->setDefaultValue(fl::nan);
-outputVariable2->setLockPreviousOutputValue(false);
-outputVariable2->setLockOutputValueInRange(false);
-outputVariable2->addTerm(Discrete::create("short", 6, 0.000, 1.000, 10.000, 1.000, 20.000, 0.000));
-outputVariable2->addTerm(Discrete::create("long", 4, 10.000, 0.000, 20.000, 1.000));
-engine->addOutputVariable(outputVariable2);
+OutputVariable* Cycle = new OutputVariable;
+Cycle->setName("Cycle");
+Cycle->setDescription("");
+Cycle->setEnabled(true);
+Cycle->setRange(0.000, 20.000);
+Cycle->setLockValueInRange(false);
+Cycle->setAggregation(new Maximum);
+Cycle->setDefuzzifier(new MeanOfMaximum(500));
+Cycle->setDefaultValue(fl::nan);
+Cycle->setLockPreviousValue(false);
+Cycle->addTerm(Discrete::create("short", 6, 0.000, 1.000, 10.000, 1.000, 20.000, 0.000));
+Cycle->addTerm(Discrete::create("long", 4, 10.000, 0.000, 20.000, 1.000));
+engine->addOutputVariable(Cycle);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(new Minimum);
ruleBlock->setDisjunction(new Maximum);
-ruleBlock->setActivation(new Minimum);
-ruleBlock->addRule(fl::Rule::parse("if Load is small and Dirt is not high then Detergent is less", engine));
-ruleBlock->addRule(fl::Rule::parse("if Load is small and Dirt is high then Detergent is normal", engine));
-ruleBlock->addRule(fl::Rule::parse("if Load is normal and Dirt is low then Detergent is less", engine));
-ruleBlock->addRule(fl::Rule::parse("if Load is normal and Dirt is high then Detergent is more", engine));
-ruleBlock->addRule(fl::Rule::parse("if Detergent is normal or Detergent is less then Cycle is short", engine));
-ruleBlock->addRule(fl::Rule::parse("if Detergent is more then Cycle is long", engine));
+ruleBlock->setImplication(new Minimum);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if Load is small and Dirt is not high then Detergent is less_than_usual", engine));
+ruleBlock->addRule(Rule::parse("if Load is small and Dirt is high then Detergent is usual", engine));
+ruleBlock->addRule(Rule::parse("if Load is normal and Dirt is low then Detergent is less_than_usual", engine));
+ruleBlock->addRule(Rule::parse("if Load is normal and Dirt is high then Detergent is more_than_usual", engine));
+ruleBlock->addRule(Rule::parse("if Detergent is usual or Detergent is less_than_usual then Cycle is short", engine));
+ruleBlock->addRule(Rule::parse("if Detergent is more_than_usual then Cycle is long", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/mamdani/Laundry.fcl b/examples/mamdani/Laundry.fcl
index a5d5380..9a34532 100644
--- a/examples/mamdani/Laundry.fcl
+++ b/examples/mamdani/Laundry.fcl
@@ -1,3 +1,5 @@
+//Code automatically generated with fuzzylite 6.0.
+
FUNCTION_BLOCK Laundry
VAR_INPUT
@@ -24,9 +26,9 @@ END_FUZZIFY
DEFUZZIFY Detergent
RANGE := (0.000 .. 80.000);
- TERM less := (10.000, 0.000) (40.000, 1.000) (50.000, 0.000);
- TERM normal := (40.000, 0.000) (50.000, 1.000) (60.000, 1.000) (80.000, 0.000);
- TERM more := (50.000, 0.000) (80.000, 1.000);
+ TERM less_than_usual := (10.000, 0.000) (40.000, 1.000) (50.000, 0.000);
+ TERM usual := (40.000, 0.000) (50.000, 1.000) (60.000, 1.000) (80.000, 0.000);
+ TERM more_than_usual := (50.000, 0.000) (80.000, 1.000);
METHOD : MM;
ACCU : MAX;
DEFAULT := nan;
@@ -45,12 +47,12 @@ RULEBLOCK
AND : MIN;
OR : MAX;
ACT : MIN;
- RULE 1 : if Load is small and Dirt is not high then Detergent is less
- RULE 2 : if Load is small and Dirt is high then Detergent is normal
- RULE 3 : if Load is normal and Dirt is low then Detergent is less
- RULE 4 : if Load is normal and Dirt is high then Detergent is more
- RULE 5 : if Detergent is normal or Detergent is less then Cycle is short
- RULE 6 : if Detergent is more then Cycle is long
+ RULE 1 : if Load is small and Dirt is not high then Detergent is less_than_usual
+ RULE 2 : if Load is small and Dirt is high then Detergent is usual
+ RULE 3 : if Load is normal and Dirt is low then Detergent is less_than_usual
+ RULE 4 : if Load is normal and Dirt is high then Detergent is more_than_usual
+ RULE 5 : if Detergent is usual or Detergent is less_than_usual then Cycle is short
+ RULE 6 : if Detergent is more_than_usual then Cycle is long
END_RULEBLOCK
END_FUNCTION_BLOCK
diff --git a/examples/mamdani/Laundry.fis b/examples/mamdani/Laundry.fis
new file mode 100644
index 0000000..7f1c31d
--- /dev/null
+++ b/examples/mamdani/Laundry.fis
@@ -0,0 +1,51 @@
+#Code automatically generated with fuzzylite 6.0.
+
+[System]
+Name='Laundry'
+Type='mamdani'
+Version=6.0
+NumInputs=2
+NumOutputs=2
+NumRules=6
+AndMethod='min'
+OrMethod='max'
+ImpMethod='min'
+AggMethod='max'
+DefuzzMethod='mom'
+
+[Input1]
+Name='Load'
+Range=[0.000 6.000]
+NumMFs=2
+MF1='small':'discretemf',[0.000 1.000 1.000 1.000 2.000 0.800 5.000 0.000]
+MF2='normal':'discretemf',[3.000 0.000 4.000 1.000 6.000 0.000]
+
+[Input2]
+Name='Dirt'
+Range=[0.000 6.000]
+NumMFs=2
+MF1='low':'discretemf',[0.000 1.000 2.000 0.800 5.000 0.000]
+MF2='high':'discretemf',[1.000 0.000 2.000 0.200 4.000 0.800 6.000 1.000]
+
+[Output1]
+Name='Detergent'
+Range=[0.000 80.000]
+NumMFs=3
+MF1='less_than_usual':'discretemf',[10.000 0.000 40.000 1.000 50.000 0.000]
+MF2='usual':'discretemf',[40.000 0.000 50.000 1.000 60.000 1.000 80.000 0.000]
+MF3='more_than_usual':'discretemf',[50.000 0.000 80.000 1.000]
+
+[Output2]
+Name='Cycle'
+Range=[0.000 20.000]
+NumMFs=2
+MF1='short':'discretemf',[0.000 1.000 10.000 1.000 20.000 0.000]
+MF2='long':'discretemf',[10.000 0.000 20.000 1.000]
+
+[Rules]
+1.000 -2.000 , 1.000 0.000 (1.000) : 1
+1.000 2.000 , 2.000 0.000 (1.000) : 1
+2.000 1.000 , 1.000 0.000 (1.000) : 1
+2.000 2.000 , 3.000 0.000 (1.000) : 1
+0.000 0.000 , 0.000 1.000 (1.000) : 2
+0.000 0.000 , 0.000 2.000 (1.000) : 1
diff --git a/examples/mamdani/Laundry.fld b/examples/mamdani/Laundry.fld
index f72dfb6..a8f27dd 100644
--- a/examples/mamdani/Laundry.fld
+++ b/examples/mamdani/Laundry.fld
@@ -1,1026 +1,1025 @@
-#@Engine: Laundry;
-#@InputVariable: Load; @InputVariable: Dirt; @OutputVariable: Detergent; @OutputVariable: Cycle;
-0.00000000 0.00000000 39.92000000 5.00000000
-0.00000000 0.19354839 39.92000000 5.00000000
-0.00000000 0.38709677 39.92000000 5.00000000
-0.00000000 0.58064516 39.92000000 5.00000000
-0.00000000 0.77419355 39.92000000 5.00000000
-0.00000000 0.96774194 39.92000000 5.00000000
-0.00000000 1.16129032 39.68000000 5.16000000
-0.00000000 1.35483871 39.28000000 5.36000000
-0.00000000 1.54838710 38.88000000 5.54000000
-0.00000000 1.74193548 38.48000000 5.74000000
-0.00000000 1.93548387 38.16000000 5.94000000
-0.00000000 2.12903226 37.60000000 6.20000000
-0.00000000 2.32258065 37.04000000 6.48000000
-0.00000000 2.51612903 36.40000000 6.78000000
-0.00000000 2.70967742 35.92000000 7.06000000
-0.00000000 2.90322581 35.28000000 7.36000000
-0.00000000 3.09677419 57.36000000 7.36000000
-0.00000000 3.29032258 57.12000000 7.06000000
-0.00000000 3.48387097 56.72000000 6.78000000
-0.00000000 3.67741935 56.48000000 6.48000000
-0.00000000 3.87096774 56.24000000 6.20000000
-0.00000000 4.06451613 55.92000000 5.96000000
-0.00000000 4.25806452 55.92000000 5.88000000
-0.00000000 4.45161290 55.76000000 5.78000000
-0.00000000 4.64516129 55.68000000 5.68000000
-0.00000000 4.83870968 55.60000000 5.58000000
-0.00000000 5.03225806 55.44000000 5.48000000
-0.00000000 5.22580645 55.44000000 5.38000000
-0.00000000 5.41935484 55.28000000 5.30000000
-0.00000000 5.61290323 55.20000000 5.20000000
-0.00000000 5.80645161 55.04000000 5.10000000
-0.00000000 6.00000000 54.96000000 5.00000000
-0.19354839 0.00000000 39.92000000 5.00000000
-0.19354839 0.19354839 39.92000000 5.00000000
-0.19354839 0.38709677 39.92000000 5.00000000
-0.19354839 0.58064516 39.92000000 5.00000000
-0.19354839 0.77419355 39.92000000 5.00000000
-0.19354839 0.96774194 39.92000000 5.00000000
-0.19354839 1.16129032 39.68000000 5.16000000
-0.19354839 1.35483871 39.28000000 5.36000000
-0.19354839 1.54838710 38.88000000 5.54000000
-0.19354839 1.74193548 38.48000000 5.74000000
-0.19354839 1.93548387 38.16000000 5.94000000
-0.19354839 2.12903226 37.60000000 6.20000000
-0.19354839 2.32258065 37.04000000 6.48000000
-0.19354839 2.51612903 36.40000000 6.78000000
-0.19354839 2.70967742 35.92000000 7.06000000
-0.19354839 2.90322581 35.28000000 7.36000000
-0.19354839 3.09677419 57.36000000 7.36000000
-0.19354839 3.29032258 57.12000000 7.06000000
-0.19354839 3.48387097 56.72000000 6.78000000
-0.19354839 3.67741935 56.48000000 6.48000000
-0.19354839 3.87096774 56.24000000 6.20000000
-0.19354839 4.06451613 55.92000000 5.96000000
-0.19354839 4.25806452 55.92000000 5.88000000
-0.19354839 4.45161290 55.76000000 5.78000000
-0.19354839 4.64516129 55.68000000 5.68000000
-0.19354839 4.83870968 55.60000000 5.58000000
-0.19354839 5.03225806 55.44000000 5.48000000
-0.19354839 5.22580645 55.44000000 5.38000000
-0.19354839 5.41935484 55.28000000 5.30000000
-0.19354839 5.61290323 55.20000000 5.20000000
-0.19354839 5.80645161 55.04000000 5.10000000
-0.19354839 6.00000000 54.96000000 5.00000000
-0.38709677 0.00000000 39.92000000 5.00000000
-0.38709677 0.19354839 39.92000000 5.00000000
-0.38709677 0.38709677 39.92000000 5.00000000
-0.38709677 0.58064516 39.92000000 5.00000000
-0.38709677 0.77419355 39.92000000 5.00000000
-0.38709677 0.96774194 39.92000000 5.00000000
-0.38709677 1.16129032 39.68000000 5.16000000
-0.38709677 1.35483871 39.28000000 5.36000000
-0.38709677 1.54838710 38.88000000 5.54000000
-0.38709677 1.74193548 38.48000000 5.74000000
-0.38709677 1.93548387 38.16000000 5.94000000
-0.38709677 2.12903226 37.60000000 6.20000000
-0.38709677 2.32258065 37.04000000 6.48000000
-0.38709677 2.51612903 36.40000000 6.78000000
-0.38709677 2.70967742 35.92000000 7.06000000
-0.38709677 2.90322581 35.28000000 7.36000000
-0.38709677 3.09677419 57.36000000 7.36000000
-0.38709677 3.29032258 57.12000000 7.06000000
-0.38709677 3.48387097 56.72000000 6.78000000
-0.38709677 3.67741935 56.48000000 6.48000000
-0.38709677 3.87096774 56.24000000 6.20000000
-0.38709677 4.06451613 55.92000000 5.96000000
-0.38709677 4.25806452 55.92000000 5.88000000
-0.38709677 4.45161290 55.76000000 5.78000000
-0.38709677 4.64516129 55.68000000 5.68000000
-0.38709677 4.83870968 55.60000000 5.58000000
-0.38709677 5.03225806 55.44000000 5.48000000
-0.38709677 5.22580645 55.44000000 5.38000000
-0.38709677 5.41935484 55.28000000 5.30000000
-0.38709677 5.61290323 55.20000000 5.20000000
-0.38709677 5.80645161 55.04000000 5.10000000
-0.38709677 6.00000000 54.96000000 5.00000000
-0.58064516 0.00000000 39.92000000 5.00000000
-0.58064516 0.19354839 39.92000000 5.00000000
-0.58064516 0.38709677 39.92000000 5.00000000
-0.58064516 0.58064516 39.92000000 5.00000000
-0.58064516 0.77419355 39.92000000 5.00000000
-0.58064516 0.96774194 39.92000000 5.00000000
-0.58064516 1.16129032 39.68000000 5.16000000
-0.58064516 1.35483871 39.28000000 5.36000000
-0.58064516 1.54838710 38.88000000 5.54000000
-0.58064516 1.74193548 38.48000000 5.74000000
-0.58064516 1.93548387 38.16000000 5.94000000
-0.58064516 2.12903226 37.60000000 6.20000000
-0.58064516 2.32258065 37.04000000 6.48000000
-0.58064516 2.51612903 36.40000000 6.78000000
-0.58064516 2.70967742 35.92000000 7.06000000
-0.58064516 2.90322581 35.28000000 7.36000000
-0.58064516 3.09677419 57.36000000 7.36000000
-0.58064516 3.29032258 57.12000000 7.06000000
-0.58064516 3.48387097 56.72000000 6.78000000
-0.58064516 3.67741935 56.48000000 6.48000000
-0.58064516 3.87096774 56.24000000 6.20000000
-0.58064516 4.06451613 55.92000000 5.96000000
-0.58064516 4.25806452 55.92000000 5.88000000
-0.58064516 4.45161290 55.76000000 5.78000000
-0.58064516 4.64516129 55.68000000 5.68000000
-0.58064516 4.83870968 55.60000000 5.58000000
-0.58064516 5.03225806 55.44000000 5.48000000
-0.58064516 5.22580645 55.44000000 5.38000000
-0.58064516 5.41935484 55.28000000 5.30000000
-0.58064516 5.61290323 55.20000000 5.20000000
-0.58064516 5.80645161 55.04000000 5.10000000
-0.58064516 6.00000000 54.96000000 5.00000000
-0.77419355 0.00000000 39.92000000 5.00000000
-0.77419355 0.19354839 39.92000000 5.00000000
-0.77419355 0.38709677 39.92000000 5.00000000
-0.77419355 0.58064516 39.92000000 5.00000000
-0.77419355 0.77419355 39.92000000 5.00000000
-0.77419355 0.96774194 39.92000000 5.00000000
-0.77419355 1.16129032 39.68000000 5.16000000
-0.77419355 1.35483871 39.28000000 5.36000000
-0.77419355 1.54838710 38.88000000 5.54000000
-0.77419355 1.74193548 38.48000000 5.74000000
-0.77419355 1.93548387 38.16000000 5.94000000
-0.77419355 2.12903226 37.60000000 6.20000000
-0.77419355 2.32258065 37.04000000 6.48000000
-0.77419355 2.51612903 36.40000000 6.78000000
-0.77419355 2.70967742 35.92000000 7.06000000
-0.77419355 2.90322581 35.28000000 7.36000000
-0.77419355 3.09677419 57.36000000 7.36000000
-0.77419355 3.29032258 57.12000000 7.06000000
-0.77419355 3.48387097 56.72000000 6.78000000
-0.77419355 3.67741935 56.48000000 6.48000000
-0.77419355 3.87096774 56.24000000 6.20000000
-0.77419355 4.06451613 55.92000000 5.96000000
-0.77419355 4.25806452 55.92000000 5.88000000
-0.77419355 4.45161290 55.76000000 5.78000000
-0.77419355 4.64516129 55.68000000 5.68000000
-0.77419355 4.83870968 55.60000000 5.58000000
-0.77419355 5.03225806 55.44000000 5.48000000
-0.77419355 5.22580645 55.44000000 5.38000000
-0.77419355 5.41935484 55.28000000 5.30000000
-0.77419355 5.61290323 55.20000000 5.20000000
-0.77419355 5.80645161 55.04000000 5.10000000
-0.77419355 6.00000000 54.96000000 5.00000000
-0.96774194 0.00000000 39.92000000 5.00000000
-0.96774194 0.19354839 39.92000000 5.00000000
-0.96774194 0.38709677 39.92000000 5.00000000
-0.96774194 0.58064516 39.92000000 5.00000000
-0.96774194 0.77419355 39.92000000 5.00000000
-0.96774194 0.96774194 39.92000000 5.00000000
-0.96774194 1.16129032 39.68000000 5.16000000
-0.96774194 1.35483871 39.28000000 5.36000000
-0.96774194 1.54838710 38.88000000 5.54000000
-0.96774194 1.74193548 38.48000000 5.74000000
-0.96774194 1.93548387 38.16000000 5.94000000
-0.96774194 2.12903226 37.60000000 6.20000000
-0.96774194 2.32258065 37.04000000 6.48000000
-0.96774194 2.51612903 36.40000000 6.78000000
-0.96774194 2.70967742 35.92000000 7.06000000
-0.96774194 2.90322581 35.28000000 7.36000000
-0.96774194 3.09677419 57.36000000 7.36000000
-0.96774194 3.29032258 57.12000000 7.06000000
-0.96774194 3.48387097 56.72000000 6.78000000
-0.96774194 3.67741935 56.48000000 6.48000000
-0.96774194 3.87096774 56.24000000 6.20000000
-0.96774194 4.06451613 55.92000000 5.96000000
-0.96774194 4.25806452 55.92000000 5.88000000
-0.96774194 4.45161290 55.76000000 5.78000000
-0.96774194 4.64516129 55.68000000 5.68000000
-0.96774194 4.83870968 55.60000000 5.58000000
-0.96774194 5.03225806 55.44000000 5.48000000
-0.96774194 5.22580645 55.44000000 5.38000000
-0.96774194 5.41935484 55.28000000 5.30000000
-0.96774194 5.61290323 55.20000000 5.20000000
-0.96774194 5.80645161 55.04000000 5.10000000
-0.96774194 6.00000000 54.96000000 5.00000000
-1.16129032 0.00000000 39.68000000 5.16000000
-1.16129032 0.19354839 39.68000000 5.16000000
-1.16129032 0.38709677 39.68000000 5.16000000
-1.16129032 0.58064516 39.68000000 5.16000000
-1.16129032 0.77419355 39.68000000 5.16000000
-1.16129032 0.96774194 39.68000000 5.16000000
-1.16129032 1.16129032 39.68000000 5.16000000
-1.16129032 1.35483871 39.28000000 5.36000000
-1.16129032 1.54838710 38.88000000 5.54000000
-1.16129032 1.74193548 38.48000000 5.74000000
-1.16129032 1.93548387 38.16000000 5.94000000
-1.16129032 2.12903226 37.60000000 6.20000000
-1.16129032 2.32258065 37.04000000 6.48000000
-1.16129032 2.51612903 36.40000000 6.78000000
-1.16129032 2.70967742 35.92000000 7.06000000
-1.16129032 2.90322581 35.28000000 7.36000000
-1.16129032 3.09677419 57.36000000 7.36000000
-1.16129032 3.29032258 57.12000000 7.06000000
-1.16129032 3.48387097 56.72000000 6.78000000
-1.16129032 3.67741935 56.48000000 6.48000000
-1.16129032 3.87096774 56.24000000 6.20000000
-1.16129032 4.06451613 55.92000000 5.96000000
-1.16129032 4.25806452 55.92000000 5.88000000
-1.16129032 4.45161290 55.76000000 5.78000000
-1.16129032 4.64516129 55.68000000 5.68000000
-1.16129032 4.83870968 55.60000000 5.58000000
-1.16129032 5.03225806 55.44000000 5.48000000
-1.16129032 5.22580645 55.44000000 5.38000000
-1.16129032 5.41935484 55.28000000 5.30000000
-1.16129032 5.61290323 55.20000000 5.20000000
-1.16129032 5.80645161 55.12000000 5.16000000
-1.16129032 6.00000000 55.12000000 5.16000000
-1.35483871 0.00000000 39.28000000 5.36000000
-1.35483871 0.19354839 39.28000000 5.36000000
-1.35483871 0.38709677 39.28000000 5.36000000
-1.35483871 0.58064516 39.28000000 5.36000000
-1.35483871 0.77419355 39.28000000 5.36000000
-1.35483871 0.96774194 39.28000000 5.36000000
-1.35483871 1.16129032 39.28000000 5.36000000
-1.35483871 1.35483871 39.28000000 5.36000000
-1.35483871 1.54838710 38.88000000 5.54000000
-1.35483871 1.74193548 38.48000000 5.74000000
-1.35483871 1.93548387 38.16000000 5.94000000
-1.35483871 2.12903226 37.60000000 6.20000000
-1.35483871 2.32258065 37.04000000 6.48000000
-1.35483871 2.51612903 36.40000000 6.78000000
-1.35483871 2.70967742 35.92000000 7.06000000
-1.35483871 2.90322581 35.28000000 7.36000000
-1.35483871 3.09677419 57.36000000 7.36000000
-1.35483871 3.29032258 57.12000000 7.06000000
-1.35483871 3.48387097 56.72000000 6.78000000
-1.35483871 3.67741935 56.48000000 6.48000000
-1.35483871 3.87096774 56.24000000 6.20000000
-1.35483871 4.06451613 55.92000000 5.96000000
-1.35483871 4.25806452 55.92000000 5.88000000
-1.35483871 4.45161290 55.76000000 5.78000000
-1.35483871 4.64516129 55.68000000 5.68000000
-1.35483871 4.83870968 55.60000000 5.58000000
-1.35483871 5.03225806 55.44000000 5.48000000
-1.35483871 5.22580645 55.44000000 5.38000000
-1.35483871 5.41935484 55.36000000 5.36000000
-1.35483871 5.61290323 55.36000000 5.36000000
-1.35483871 5.80645161 55.36000000 5.36000000
-1.35483871 6.00000000 55.36000000 5.36000000
-1.54838710 0.00000000 38.88000000 5.54000000
-1.54838710 0.19354839 38.88000000 5.54000000
-1.54838710 0.38709677 38.88000000 5.54000000
-1.54838710 0.58064516 38.88000000 5.54000000
-1.54838710 0.77419355 38.88000000 5.54000000
-1.54838710 0.96774194 38.88000000 5.54000000
-1.54838710 1.16129032 38.88000000 5.54000000
-1.54838710 1.35483871 38.88000000 5.54000000
-1.54838710 1.54838710 38.88000000 5.54000000
-1.54838710 1.74193548 38.48000000 5.74000000
-1.54838710 1.93548387 38.16000000 5.94000000
-1.54838710 2.12903226 37.60000000 6.20000000
-1.54838710 2.32258065 37.04000000 6.48000000
-1.54838710 2.51612903 36.40000000 6.78000000
-1.54838710 2.70967742 35.92000000 7.06000000
-1.54838710 2.90322581 35.28000000 7.36000000
-1.54838710 3.09677419 57.36000000 7.36000000
-1.54838710 3.29032258 57.12000000 7.06000000
-1.54838710 3.48387097 56.72000000 6.78000000
-1.54838710 3.67741935 56.48000000 6.48000000
-1.54838710 3.87096774 56.24000000 6.20000000
-1.54838710 4.06451613 55.92000000 5.96000000
-1.54838710 4.25806452 55.92000000 5.88000000
-1.54838710 4.45161290 55.76000000 5.78000000
-1.54838710 4.64516129 55.68000000 5.68000000
-1.54838710 4.83870968 55.60000000 5.58000000
-1.54838710 5.03225806 55.60000000 5.54000000
-1.54838710 5.22580645 55.60000000 5.54000000
-1.54838710 5.41935484 55.60000000 5.54000000
-1.54838710 5.61290323 55.60000000 5.54000000
-1.54838710 5.80645161 55.60000000 5.54000000
-1.54838710 6.00000000 55.60000000 5.54000000
-1.74193548 0.00000000 38.48000000 5.74000000
-1.74193548 0.19354839 38.48000000 5.74000000
-1.74193548 0.38709677 38.48000000 5.74000000
-1.74193548 0.58064516 38.48000000 5.74000000
-1.74193548 0.77419355 38.48000000 5.74000000
-1.74193548 0.96774194 38.48000000 5.74000000
-1.74193548 1.16129032 38.48000000 5.74000000
-1.74193548 1.35483871 38.48000000 5.74000000
-1.74193548 1.54838710 38.48000000 5.74000000
-1.74193548 1.74193548 38.48000000 5.74000000
-1.74193548 1.93548387 38.16000000 5.94000000
-1.74193548 2.12903226 37.60000000 6.20000000
-1.74193548 2.32258065 37.04000000 6.48000000
-1.74193548 2.51612903 36.40000000 6.78000000
-1.74193548 2.70967742 35.92000000 7.06000000
-1.74193548 2.90322581 35.28000000 7.36000000
-1.74193548 3.09677419 57.36000000 7.36000000
-1.74193548 3.29032258 57.12000000 7.06000000
-1.74193548 3.48387097 56.72000000 6.78000000
-1.74193548 3.67741935 56.48000000 6.48000000
-1.74193548 3.87096774 56.24000000 6.20000000
-1.74193548 4.06451613 55.92000000 5.96000000
-1.74193548 4.25806452 55.92000000 5.88000000
-1.74193548 4.45161290 55.76000000 5.78000000
-1.74193548 4.64516129 55.76000000 5.74000000
-1.74193548 4.83870968 55.76000000 5.74000000
-1.74193548 5.03225806 55.76000000 5.74000000
-1.74193548 5.22580645 55.76000000 5.74000000
-1.74193548 5.41935484 55.76000000 5.74000000
-1.74193548 5.61290323 55.76000000 5.74000000
-1.74193548 5.80645161 55.76000000 5.74000000
-1.74193548 6.00000000 55.76000000 5.74000000
-1.93548387 0.00000000 38.16000000 5.94000000
-1.93548387 0.19354839 38.16000000 5.94000000
-1.93548387 0.38709677 38.16000000 5.94000000
-1.93548387 0.58064516 38.16000000 5.94000000
-1.93548387 0.77419355 38.16000000 5.94000000
-1.93548387 0.96774194 38.16000000 5.94000000
-1.93548387 1.16129032 38.16000000 5.94000000
-1.93548387 1.35483871 38.16000000 5.94000000
-1.93548387 1.54838710 38.16000000 5.94000000
-1.93548387 1.74193548 38.16000000 5.94000000
-1.93548387 1.93548387 38.16000000 5.94000000
-1.93548387 2.12903226 37.60000000 6.20000000
-1.93548387 2.32258065 37.04000000 6.48000000
-1.93548387 2.51612903 36.40000000 6.78000000
-1.93548387 2.70967742 35.92000000 7.06000000
-1.93548387 2.90322581 35.28000000 7.36000000
-1.93548387 3.09677419 57.36000000 7.36000000
-1.93548387 3.29032258 57.12000000 7.06000000
-1.93548387 3.48387097 56.72000000 6.78000000
-1.93548387 3.67741935 56.48000000 6.48000000
-1.93548387 3.87096774 56.24000000 6.20000000
-1.93548387 4.06451613 55.92000000 5.96000000
-1.93548387 4.25806452 55.92000000 5.94000000
-1.93548387 4.45161290 55.92000000 5.94000000
-1.93548387 4.64516129 55.92000000 5.94000000
-1.93548387 4.83870968 55.92000000 5.94000000
-1.93548387 5.03225806 55.92000000 5.94000000
-1.93548387 5.22580645 55.92000000 5.94000000
-1.93548387 5.41935484 55.92000000 5.94000000
-1.93548387 5.61290323 55.92000000 5.94000000
-1.93548387 5.80645161 55.92000000 5.94000000
-1.93548387 6.00000000 55.92000000 5.94000000
-2.12903226 0.00000000 37.68000000 6.18000000
-2.12903226 0.19354839 37.68000000 6.18000000
-2.12903226 0.38709677 37.68000000 6.18000000
-2.12903226 0.58064516 37.68000000 6.18000000
-2.12903226 0.77419355 37.68000000 6.18000000
-2.12903226 0.96774194 37.68000000 6.18000000
-2.12903226 1.16129032 37.68000000 6.18000000
-2.12903226 1.35483871 37.68000000 6.18000000
-2.12903226 1.54838710 37.68000000 6.18000000
-2.12903226 1.74193548 37.68000000 6.18000000
-2.12903226 1.93548387 37.68000000 6.18000000
-2.12903226 2.12903226 37.60000000 6.20000000
-2.12903226 2.32258065 37.04000000 6.48000000
-2.12903226 2.51612903 36.40000000 6.78000000
-2.12903226 2.70967742 35.92000000 7.06000000
-2.12903226 2.90322581 35.28000000 7.36000000
-2.12903226 3.09677419 57.36000000 7.36000000
-2.12903226 3.29032258 57.12000000 7.06000000
-2.12903226 3.48387097 56.72000000 6.78000000
-2.12903226 3.67741935 56.48000000 6.48000000
-2.12903226 3.87096774 56.24000000 6.20000000
-2.12903226 4.06451613 56.16000000 6.18000000
-2.12903226 4.25806452 56.16000000 6.18000000
-2.12903226 4.45161290 56.16000000 6.18000000
-2.12903226 4.64516129 56.16000000 6.18000000
-2.12903226 4.83870968 56.16000000 6.18000000
-2.12903226 5.03225806 56.16000000 6.18000000
-2.12903226 5.22580645 56.16000000 6.18000000
-2.12903226 5.41935484 56.16000000 6.18000000
-2.12903226 5.61290323 56.16000000 6.18000000
-2.12903226 5.80645161 56.16000000 6.18000000
-2.12903226 6.00000000 56.16000000 6.18000000
-2.32258065 0.00000000 37.12000000 6.44000000
-2.32258065 0.19354839 37.12000000 6.44000000
-2.32258065 0.38709677 37.12000000 6.44000000
-2.32258065 0.58064516 37.12000000 6.44000000
-2.32258065 0.77419355 37.12000000 6.44000000
-2.32258065 0.96774194 37.12000000 6.44000000
-2.32258065 1.16129032 37.12000000 6.44000000
-2.32258065 1.35483871 37.12000000 6.44000000
-2.32258065 1.54838710 37.12000000 6.44000000
-2.32258065 1.74193548 37.12000000 6.44000000
-2.32258065 1.93548387 37.12000000 6.44000000
-2.32258065 2.12903226 37.12000000 6.44000000
-2.32258065 2.32258065 37.04000000 6.48000000
-2.32258065 2.51612903 36.40000000 6.78000000
-2.32258065 2.70967742 35.92000000 7.06000000
-2.32258065 2.90322581 35.28000000 7.36000000
-2.32258065 3.09677419 57.36000000 7.36000000
-2.32258065 3.29032258 57.12000000 7.06000000
-2.32258065 3.48387097 56.72000000 6.78000000
-2.32258065 3.67741935 56.48000000 6.48000000
-2.32258065 3.87096774 56.48000000 6.44000000
-2.32258065 4.06451613 56.48000000 6.44000000
-2.32258065 4.25806452 56.48000000 6.44000000
-2.32258065 4.45161290 56.48000000 6.44000000
-2.32258065 4.64516129 56.48000000 6.44000000
-2.32258065 4.83870968 56.48000000 6.44000000
-2.32258065 5.03225806 56.48000000 6.44000000
-2.32258065 5.22580645 56.48000000 6.44000000
-2.32258065 5.41935484 56.48000000 6.44000000
-2.32258065 5.61290323 56.48000000 6.44000000
-2.32258065 5.80645161 56.48000000 6.44000000
-2.32258065 6.00000000 56.48000000 6.44000000
-2.51612903 0.00000000 36.64000000 6.68000000
-2.51612903 0.19354839 36.64000000 6.68000000
-2.51612903 0.38709677 36.64000000 6.68000000
-2.51612903 0.58064516 36.64000000 6.68000000
-2.51612903 0.77419355 36.64000000 6.68000000
-2.51612903 0.96774194 36.64000000 6.68000000
-2.51612903 1.16129032 36.64000000 6.68000000
-2.51612903 1.35483871 36.64000000 6.68000000
-2.51612903 1.54838710 36.64000000 6.68000000
-2.51612903 1.74193548 36.64000000 6.68000000
-2.51612903 1.93548387 36.64000000 6.68000000
-2.51612903 2.12903226 36.64000000 6.68000000
-2.51612903 2.32258065 36.64000000 6.68000000
-2.51612903 2.51612903 36.40000000 6.78000000
-2.51612903 2.70967742 35.92000000 7.06000000
-2.51612903 2.90322581 35.28000000 7.36000000
-2.51612903 3.09677419 57.36000000 7.36000000
-2.51612903 3.29032258 57.12000000 7.06000000
-2.51612903 3.48387097 56.72000000 6.78000000
-2.51612903 3.67741935 56.64000000 6.68000000
-2.51612903 3.87096774 56.64000000 6.68000000
-2.51612903 4.06451613 56.64000000 6.68000000
-2.51612903 4.25806452 56.64000000 6.68000000
-2.51612903 4.45161290 56.64000000 6.68000000
-2.51612903 4.64516129 56.64000000 6.68000000
-2.51612903 4.83870968 56.64000000 6.68000000
-2.51612903 5.03225806 56.64000000 6.68000000
-2.51612903 5.22580645 56.64000000 6.68000000
-2.51612903 5.41935484 56.64000000 6.68000000
-2.51612903 5.61290323 56.64000000 6.68000000
-2.51612903 5.80645161 56.64000000 6.68000000
-2.51612903 6.00000000 56.64000000 6.68000000
-2.70967742 0.00000000 36.08000000 6.94000000
-2.70967742 0.19354839 36.08000000 6.94000000
-2.70967742 0.38709677 36.08000000 6.94000000
-2.70967742 0.58064516 36.08000000 6.94000000
-2.70967742 0.77419355 36.08000000 6.94000000
-2.70967742 0.96774194 36.08000000 6.94000000
-2.70967742 1.16129032 36.08000000 6.94000000
-2.70967742 1.35483871 36.08000000 6.94000000
-2.70967742 1.54838710 36.08000000 6.94000000
-2.70967742 1.74193548 36.08000000 6.94000000
-2.70967742 1.93548387 36.08000000 6.94000000
-2.70967742 2.12903226 36.08000000 6.94000000
-2.70967742 2.32258065 36.08000000 6.94000000
-2.70967742 2.51612903 36.08000000 6.94000000
-2.70967742 2.70967742 35.92000000 7.06000000
-2.70967742 2.90322581 35.28000000 7.36000000
-2.70967742 3.09677419 57.36000000 7.36000000
-2.70967742 3.29032258 57.12000000 7.06000000
-2.70967742 3.48387097 56.96000000 6.94000000
-2.70967742 3.67741935 56.96000000 6.94000000
-2.70967742 3.87096774 56.96000000 6.94000000
-2.70967742 4.06451613 56.96000000 6.94000000
-2.70967742 4.25806452 56.96000000 6.94000000
-2.70967742 4.45161290 56.96000000 6.94000000
-2.70967742 4.64516129 56.96000000 6.94000000
-2.70967742 4.83870968 56.96000000 6.94000000
-2.70967742 5.03225806 56.96000000 6.94000000
-2.70967742 5.22580645 56.96000000 6.94000000
-2.70967742 5.41935484 56.96000000 6.94000000
-2.70967742 5.61290323 56.96000000 6.94000000
-2.70967742 5.80645161 56.96000000 6.94000000
-2.70967742 6.00000000 56.96000000 6.94000000
-2.90322581 0.00000000 35.60000000 7.20000000
-2.90322581 0.19354839 35.60000000 7.20000000
-2.90322581 0.38709677 35.60000000 7.20000000
-2.90322581 0.58064516 35.60000000 7.20000000
-2.90322581 0.77419355 35.60000000 7.20000000
-2.90322581 0.96774194 35.60000000 7.20000000
-2.90322581 1.16129032 35.60000000 7.20000000
-2.90322581 1.35483871 35.60000000 7.20000000
-2.90322581 1.54838710 35.60000000 7.20000000
-2.90322581 1.74193548 35.60000000 7.20000000
-2.90322581 1.93548387 35.60000000 7.20000000
-2.90322581 2.12903226 35.60000000 7.20000000
-2.90322581 2.32258065 35.60000000 7.20000000
-2.90322581 2.51612903 35.60000000 7.20000000
-2.90322581 2.70967742 35.60000000 7.20000000
-2.90322581 2.90322581 35.28000000 7.36000000
-2.90322581 3.09677419 57.36000000 7.36000000
-2.90322581 3.29032258 57.20000000 7.20000000
-2.90322581 3.48387097 57.20000000 7.20000000
-2.90322581 3.67741935 57.20000000 7.20000000
-2.90322581 3.87096774 57.20000000 7.20000000
-2.90322581 4.06451613 57.20000000 7.20000000
-2.90322581 4.25806452 57.20000000 7.20000000
-2.90322581 4.45161290 57.20000000 7.20000000
-2.90322581 4.64516129 57.20000000 7.20000000
-2.90322581 4.83870968 57.20000000 7.20000000
-2.90322581 5.03225806 57.20000000 7.20000000
-2.90322581 5.22580645 57.20000000 7.20000000
-2.90322581 5.41935484 57.20000000 7.20000000
-2.90322581 5.61290323 57.20000000 7.20000000
-2.90322581 5.80645161 57.20000000 7.20000000
-2.90322581 6.00000000 57.20000000 7.20000000
-3.09677419 0.00000000 35.12000000 7.46000000
-3.09677419 0.19354839 35.12000000 7.46000000
-3.09677419 0.38709677 35.12000000 7.46000000
-3.09677419 0.58064516 35.12000000 7.46000000
-3.09677419 0.77419355 35.12000000 7.46000000
-3.09677419 0.96774194 35.12000000 7.46000000
-3.09677419 1.16129032 35.12000000 7.46000000
-3.09677419 1.35483871 35.12000000 7.46000000
-3.09677419 1.54838710 35.12000000 7.46000000
-3.09677419 1.74193548 35.12000000 7.46000000
-3.09677419 1.93548387 35.12000000 7.46000000
-3.09677419 2.12903226 35.12000000 7.46000000
-3.09677419 2.32258065 35.12000000 7.46000000
-3.09677419 2.51612903 35.12000000 7.46000000
-3.09677419 2.70967742 35.12000000 7.46000000
-3.09677419 2.90322581 35.12000000 7.46000000
-3.09677419 3.09677419 57.52000000 7.46000000
-3.09677419 3.29032258 57.52000000 7.46000000
-3.09677419 3.48387097 57.52000000 7.46000000
-3.09677419 3.67741935 57.52000000 7.46000000
-3.09677419 3.87096774 57.52000000 7.46000000
-3.09677419 4.06451613 57.52000000 7.46000000
-3.09677419 4.25806452 57.52000000 7.46000000
-3.09677419 4.45161290 57.52000000 7.46000000
-3.09677419 4.64516129 57.52000000 7.46000000
-3.09677419 4.83870968 57.52000000 7.46000000
-3.09677419 5.03225806 57.52000000 7.46000000
-3.09677419 5.22580645 57.52000000 7.46000000
-3.09677419 5.41935484 57.52000000 7.46000000
-3.09677419 5.61290323 57.52000000 7.46000000
-3.09677419 5.80645161 57.52000000 7.46000000
-3.09677419 6.00000000 57.52000000 7.46000000
-3.29032258 0.00000000 34.56000000 7.72000000
-3.29032258 0.19354839 34.56000000 7.72000000
-3.29032258 0.38709677 34.56000000 7.72000000
-3.29032258 0.58064516 34.56000000 7.72000000
-3.29032258 0.77419355 34.56000000 7.72000000
-3.29032258 0.96774194 34.56000000 7.72000000
-3.29032258 1.16129032 34.56000000 7.72000000
-3.29032258 1.35483871 34.56000000 7.72000000
-3.29032258 1.54838710 34.56000000 7.72000000
-3.29032258 1.74193548 34.56000000 7.72000000
-3.29032258 1.93548387 34.56000000 7.72000000
-3.29032258 2.12903226 34.56000000 7.72000000
-3.29032258 2.32258065 34.56000000 7.72000000
-3.29032258 2.51612903 34.56000000 7.72000000
-3.29032258 2.70967742 34.56000000 7.72000000
-3.29032258 2.90322581 47.28000000 7.72000000
-3.29032258 3.09677419 47.28000000 7.72000000
-3.29032258 3.29032258 57.68000000 7.72000000
-3.29032258 3.48387097 57.68000000 7.72000000
-3.29032258 3.67741935 57.68000000 7.72000000
-3.29032258 3.87096774 57.68000000 7.72000000
-3.29032258 4.06451613 57.68000000 7.72000000
-3.29032258 4.25806452 57.68000000 7.72000000
-3.29032258 4.45161290 57.68000000 7.72000000
-3.29032258 4.64516129 57.68000000 7.72000000
-3.29032258 4.83870968 57.68000000 7.72000000
-3.29032258 5.03225806 57.68000000 7.72000000
-3.29032258 5.22580645 57.68000000 7.72000000
-3.29032258 5.41935484 57.68000000 7.72000000
-3.29032258 5.61290323 57.68000000 7.72000000
-3.29032258 5.80645161 57.68000000 7.72000000
-3.29032258 6.00000000 57.68000000 7.72000000
-3.48387097 0.00000000 34.80000000 7.58000000
-3.48387097 0.19354839 34.80000000 7.58000000
-3.48387097 0.38709677 34.80000000 7.58000000
-3.48387097 0.58064516 34.80000000 7.58000000
-3.48387097 0.77419355 34.80000000 7.58000000
-3.48387097 0.96774194 34.80000000 7.58000000
-3.48387097 1.16129032 34.80000000 7.58000000
-3.48387097 1.35483871 34.80000000 7.58000000
-3.48387097 1.54838710 34.80000000 7.58000000
-3.48387097 1.74193548 34.80000000 7.58000000
-3.48387097 1.93548387 34.80000000 7.58000000
-3.48387097 2.12903226 34.80000000 7.58000000
-3.48387097 2.32258065 34.80000000 7.58000000
-3.48387097 2.51612903 34.80000000 7.58000000
-3.48387097 2.70967742 34.80000000 7.58000000
-3.48387097 2.90322581 34.80000000 7.58000000
-3.48387097 3.09677419 34.80000000 10.00000000
-3.48387097 3.29032258 72.24000000 17.42000000
-3.48387097 3.48387097 72.24000000 17.42000000
-3.48387097 3.67741935 72.24000000 17.42000000
-3.48387097 3.87096774 72.24000000 17.42000000
-3.48387097 4.06451613 72.24000000 17.42000000
-3.48387097 4.25806452 72.24000000 17.42000000
-3.48387097 4.45161290 72.24000000 17.42000000
-3.48387097 4.64516129 72.24000000 17.42000000
-3.48387097 4.83870968 72.24000000 17.42000000
-3.48387097 5.03225806 72.24000000 17.42000000
-3.48387097 5.22580645 72.24000000 17.42000000
-3.48387097 5.41935484 72.24000000 17.42000000
-3.48387097 5.61290323 72.24000000 17.42000000
-3.48387097 5.80645161 72.24000000 17.42000000
-3.48387097 6.00000000 72.24000000 17.42000000
-3.67741935 0.00000000 36.80000000 6.62000000
-3.67741935 0.19354839 36.80000000 6.62000000
-3.67741935 0.38709677 36.80000000 6.62000000
-3.67741935 0.58064516 36.80000000 6.62000000
-3.67741935 0.77419355 36.80000000 6.62000000
-3.67741935 0.96774194 36.80000000 6.62000000
-3.67741935 1.16129032 36.80000000 6.62000000
-3.67741935 1.35483871 36.80000000 6.62000000
-3.67741935 1.54838710 36.80000000 6.62000000
-3.67741935 1.74193548 36.80000000 6.62000000
-3.67741935 1.93548387 36.80000000 6.62000000
-3.67741935 2.12903226 36.80000000 6.62000000
-3.67741935 2.32258065 36.80000000 6.62000000
-3.67741935 2.51612903 36.64000000 6.68000000
-3.67741935 2.70967742 36.08000000 6.94000000
-3.67741935 2.90322581 35.60000000 7.20000000
-3.67741935 3.09677419 72.96000000 17.64000000
-3.67741935 3.29032258 73.84000000 17.94000000
-3.67741935 3.48387097 74.64000000 18.22000000
-3.67741935 3.67741935 75.20000000 18.38000000
-3.67741935 3.87096774 75.20000000 18.38000000
-3.67741935 4.06451613 75.20000000 18.38000000
-3.67741935 4.25806452 75.20000000 18.38000000
-3.67741935 4.45161290 75.20000000 18.38000000
-3.67741935 4.64516129 75.20000000 18.38000000
-3.67741935 4.83870968 75.20000000 18.38000000
-3.67741935 5.03225806 75.20000000 18.38000000
-3.67741935 5.22580645 75.20000000 18.38000000
-3.67741935 5.41935484 75.20000000 18.38000000
-3.67741935 5.61290323 75.20000000 18.38000000
-3.67741935 5.80645161 75.20000000 18.38000000
-3.67741935 6.00000000 75.20000000 18.38000000
-3.87096774 0.00000000 38.72000000 5.64000000
-3.87096774 0.19354839 38.72000000 5.64000000
-3.87096774 0.38709677 38.72000000 5.64000000
-3.87096774 0.58064516 38.72000000 5.64000000
-3.87096774 0.77419355 38.72000000 5.64000000
-3.87096774 0.96774194 38.72000000 5.64000000
-3.87096774 1.16129032 38.72000000 5.64000000
-3.87096774 1.35483871 38.64000000 5.68000000
-3.87096774 1.54838710 38.48000000 5.78000000
-3.87096774 1.74193548 38.24000000 5.88000000
-3.87096774 1.93548387 38.08000000 5.96000000
-3.87096774 2.12903226 37.68000000 6.18000000
-3.87096774 2.32258065 37.12000000 6.44000000
-3.87096774 2.51612903 36.64000000 6.68000000
-3.87096774 2.70967742 36.08000000 6.94000000
-3.87096774 2.90322581 35.60000000 7.20000000
-3.87096774 3.09677419 72.96000000 17.64000000
-3.87096774 3.29032258 73.84000000 17.94000000
-3.87096774 3.48387097 74.64000000 18.22000000
-3.87096774 3.67741935 75.52000000 18.52000000
-3.87096774 3.87096774 76.40000000 18.80000000
-3.87096774 4.06451613 77.12000000 19.04000000
-3.87096774 4.25806452 77.36000000 19.12000000
-3.87096774 4.45161290 77.68000000 19.22000000
-3.87096774 4.64516129 78.00000000 19.32000000
-3.87096774 4.83870968 78.08000000 19.36000000
-3.87096774 5.03225806 78.08000000 19.36000000
-3.87096774 5.22580645 78.08000000 19.36000000
-3.87096774 5.41935484 78.08000000 19.36000000
-3.87096774 5.61290323 78.08000000 19.36000000
-3.87096774 5.80645161 78.08000000 19.36000000
-3.87096774 6.00000000 78.08000000 19.36000000
-4.06451613 0.00000000 39.68000000 5.16000000
-4.06451613 0.19354839 39.68000000 5.16000000
-4.06451613 0.38709677 39.60000000 5.20000000
-4.06451613 0.58064516 39.44000000 5.30000000
-4.06451613 0.77419355 39.20000000 5.38000000
-4.06451613 0.96774194 39.04000000 5.48000000
-4.06451613 1.16129032 38.80000000 5.58000000
-4.06451613 1.35483871 38.64000000 5.68000000
-4.06451613 1.54838710 38.48000000 5.78000000
-4.06451613 1.74193548 38.24000000 5.88000000
-4.06451613 1.93548387 38.08000000 5.96000000
-4.06451613 2.12903226 37.68000000 6.18000000
-4.06451613 2.32258065 37.12000000 6.44000000
-4.06451613 2.51612903 36.64000000 6.68000000
-4.06451613 2.70967742 36.08000000 6.94000000
-4.06451613 2.90322581 35.60000000 7.20000000
-4.06451613 3.09677419 72.96000000 17.64000000
-4.06451613 3.29032258 73.84000000 17.94000000
-4.06451613 3.48387097 74.64000000 18.22000000
-4.06451613 3.67741935 75.52000000 18.52000000
-4.06451613 3.87096774 76.40000000 18.80000000
-4.06451613 4.06451613 77.12000000 19.04000000
-4.06451613 4.25806452 77.36000000 19.12000000
-4.06451613 4.45161290 77.68000000 19.22000000
-4.06451613 4.64516129 78.00000000 19.32000000
-4.06451613 4.83870968 78.24000000 19.42000000
-4.06451613 5.03225806 78.56000000 19.52000000
-4.06451613 5.22580645 78.80000000 19.62000000
-4.06451613 5.41935484 79.12000000 19.70000000
-4.06451613 5.61290323 79.44000000 19.80000000
-4.06451613 5.80645161 79.52000000 19.84000000
-4.06451613 6.00000000 79.52000000 19.84000000
-4.25806452 0.00000000 38.72000000 5.64000000
-4.25806452 0.19354839 38.72000000 5.64000000
-4.25806452 0.38709677 38.72000000 5.64000000
-4.25806452 0.58064516 38.72000000 5.64000000
-4.25806452 0.77419355 38.72000000 5.64000000
-4.25806452 0.96774194 38.72000000 5.64000000
-4.25806452 1.16129032 38.72000000 5.64000000
-4.25806452 1.35483871 38.64000000 5.68000000
-4.25806452 1.54838710 38.48000000 5.78000000
-4.25806452 1.74193548 38.24000000 5.88000000
-4.25806452 1.93548387 38.08000000 5.96000000
-4.25806452 2.12903226 37.68000000 6.18000000
-4.25806452 2.32258065 37.12000000 6.44000000
-4.25806452 2.51612903 36.64000000 6.68000000
-4.25806452 2.70967742 36.08000000 6.94000000
-4.25806452 2.90322581 35.60000000 7.20000000
-4.25806452 3.09677419 72.96000000 17.64000000
-4.25806452 3.29032258 73.84000000 17.94000000
-4.25806452 3.48387097 74.64000000 18.22000000
-4.25806452 3.67741935 75.52000000 18.52000000
-4.25806452 3.87096774 76.40000000 18.80000000
-4.25806452 4.06451613 77.12000000 19.04000000
-4.25806452 4.25806452 77.36000000 19.12000000
-4.25806452 4.45161290 77.68000000 19.22000000
-4.25806452 4.64516129 78.00000000 19.32000000
-4.25806452 4.83870968 78.08000000 19.36000000
-4.25806452 5.03225806 78.08000000 19.36000000
-4.25806452 5.22580645 78.08000000 19.36000000
-4.25806452 5.41935484 78.08000000 19.36000000
-4.25806452 5.61290323 78.08000000 19.36000000
-4.25806452 5.80645161 78.08000000 19.36000000
-4.25806452 6.00000000 78.08000000 19.36000000
-4.45161290 0.00000000 37.76000000 6.12000000
-4.45161290 0.19354839 37.76000000 6.12000000
-4.45161290 0.38709677 37.76000000 6.12000000
-4.45161290 0.58064516 37.76000000 6.12000000
-4.45161290 0.77419355 37.76000000 6.12000000
-4.45161290 0.96774194 37.76000000 6.12000000
-4.45161290 1.16129032 37.76000000 6.12000000
-4.45161290 1.35483871 37.76000000 6.12000000
-4.45161290 1.54838710 37.76000000 6.12000000
-4.45161290 1.74193548 37.76000000 6.12000000
-4.45161290 1.93548387 37.76000000 6.12000000
-4.45161290 2.12903226 37.68000000 6.18000000
-4.45161290 2.32258065 37.12000000 6.44000000
-4.45161290 2.51612903 36.64000000 6.68000000
-4.45161290 2.70967742 36.08000000 6.94000000
-4.45161290 2.90322581 35.60000000 7.20000000
-4.45161290 3.09677419 72.96000000 17.64000000
-4.45161290 3.29032258 73.84000000 17.94000000
-4.45161290 3.48387097 74.64000000 18.22000000
-4.45161290 3.67741935 75.52000000 18.52000000
-4.45161290 3.87096774 76.40000000 18.80000000
-4.45161290 4.06451613 76.64000000 18.88000000
-4.45161290 4.25806452 76.64000000 18.88000000
-4.45161290 4.45161290 76.64000000 18.88000000
-4.45161290 4.64516129 76.64000000 18.88000000
-4.45161290 4.83870968 76.64000000 18.88000000
-4.45161290 5.03225806 76.64000000 18.88000000
-4.45161290 5.22580645 76.64000000 18.88000000
-4.45161290 5.41935484 76.64000000 18.88000000
-4.45161290 5.61290323 76.64000000 18.88000000
-4.45161290 5.80645161 76.64000000 18.88000000
-4.45161290 6.00000000 76.64000000 18.88000000
-4.64516129 0.00000000 36.80000000 6.62000000
-4.64516129 0.19354839 36.80000000 6.62000000
-4.64516129 0.38709677 36.80000000 6.62000000
-4.64516129 0.58064516 36.80000000 6.62000000
-4.64516129 0.77419355 36.80000000 6.62000000
-4.64516129 0.96774194 36.80000000 6.62000000
-4.64516129 1.16129032 36.80000000 6.62000000
-4.64516129 1.35483871 36.80000000 6.62000000
-4.64516129 1.54838710 36.80000000 6.62000000
-4.64516129 1.74193548 36.80000000 6.62000000
-4.64516129 1.93548387 36.80000000 6.62000000
-4.64516129 2.12903226 36.80000000 6.62000000
-4.64516129 2.32258065 36.80000000 6.62000000
-4.64516129 2.51612903 36.64000000 6.68000000
-4.64516129 2.70967742 36.08000000 6.94000000
-4.64516129 2.90322581 35.60000000 7.20000000
-4.64516129 3.09677419 72.96000000 17.64000000
-4.64516129 3.29032258 73.84000000 17.94000000
-4.64516129 3.48387097 74.64000000 18.22000000
-4.64516129 3.67741935 75.20000000 18.38000000
-4.64516129 3.87096774 75.20000000 18.38000000
-4.64516129 4.06451613 75.20000000 18.38000000
-4.64516129 4.25806452 75.20000000 18.38000000
-4.64516129 4.45161290 75.20000000 18.38000000
-4.64516129 4.64516129 75.20000000 18.38000000
-4.64516129 4.83870968 75.20000000 18.38000000
-4.64516129 5.03225806 75.20000000 18.38000000
-4.64516129 5.22580645 75.20000000 18.38000000
-4.64516129 5.41935484 75.20000000 18.38000000
-4.64516129 5.61290323 75.20000000 18.38000000
-4.64516129 5.80645161 75.20000000 18.38000000
-4.64516129 6.00000000 75.20000000 18.38000000
-4.83870968 0.00000000 35.76000000 7.10000000
-4.83870968 0.19354839 35.76000000 7.10000000
-4.83870968 0.38709677 35.76000000 7.10000000
-4.83870968 0.58064516 35.76000000 7.10000000
-4.83870968 0.77419355 35.76000000 7.10000000
-4.83870968 0.96774194 35.76000000 7.10000000
-4.83870968 1.16129032 35.76000000 7.10000000
-4.83870968 1.35483871 35.76000000 7.10000000
-4.83870968 1.54838710 35.76000000 7.10000000
-4.83870968 1.74193548 35.76000000 7.10000000
-4.83870968 1.93548387 35.76000000 7.10000000
-4.83870968 2.12903226 35.76000000 7.10000000
-4.83870968 2.32258065 35.76000000 7.10000000
-4.83870968 2.51612903 35.76000000 7.10000000
-4.83870968 2.70967742 35.76000000 7.10000000
-4.83870968 2.90322581 35.60000000 7.20000000
-4.83870968 3.09677419 72.96000000 17.64000000
-4.83870968 3.29032258 73.68000000 17.90000000
-4.83870968 3.48387097 73.68000000 17.90000000
-4.83870968 3.67741935 73.68000000 17.90000000
-4.83870968 3.87096774 73.68000000 17.90000000
-4.83870968 4.06451613 73.68000000 17.90000000
-4.83870968 4.25806452 73.68000000 17.90000000
-4.83870968 4.45161290 73.68000000 17.90000000
-4.83870968 4.64516129 73.68000000 17.90000000
-4.83870968 4.83870968 73.68000000 17.90000000
-4.83870968 5.03225806 73.68000000 17.90000000
-4.83870968 5.22580645 73.68000000 17.90000000
-4.83870968 5.41935484 73.68000000 17.90000000
-4.83870968 5.61290323 73.68000000 17.90000000
-4.83870968 5.80645161 73.68000000 17.90000000
-4.83870968 6.00000000 73.68000000 17.90000000
-5.03225806 0.00000000 34.80000000 7.58000000
-5.03225806 0.19354839 34.80000000 7.58000000
-5.03225806 0.38709677 34.80000000 7.58000000
-5.03225806 0.58064516 34.80000000 7.58000000
-5.03225806 0.77419355 34.80000000 7.58000000
-5.03225806 0.96774194 34.80000000 7.58000000
-5.03225806 1.16129032 34.80000000 7.58000000
-5.03225806 1.35483871 34.80000000 7.58000000
-5.03225806 1.54838710 34.80000000 7.58000000
-5.03225806 1.74193548 34.80000000 7.58000000
-5.03225806 1.93548387 34.80000000 7.58000000
-5.03225806 2.12903226 34.80000000 7.58000000
-5.03225806 2.32258065 34.80000000 7.58000000
-5.03225806 2.51612903 34.80000000 7.58000000
-5.03225806 2.70967742 34.80000000 7.58000000
-5.03225806 2.90322581 34.80000000 7.58000000
-5.03225806 3.09677419 34.80000000 10.00000000
-5.03225806 3.29032258 72.24000000 17.42000000
-5.03225806 3.48387097 72.24000000 17.42000000
-5.03225806 3.67741935 72.24000000 17.42000000
-5.03225806 3.87096774 72.24000000 17.42000000
-5.03225806 4.06451613 72.24000000 17.42000000
-5.03225806 4.25806452 72.24000000 17.42000000
-5.03225806 4.45161290 72.24000000 17.42000000
-5.03225806 4.64516129 72.24000000 17.42000000
-5.03225806 4.83870968 72.24000000 17.42000000
-5.03225806 5.03225806 72.24000000 17.42000000
-5.03225806 5.22580645 72.24000000 17.42000000
-5.03225806 5.41935484 72.24000000 17.42000000
-5.03225806 5.61290323 72.24000000 17.42000000
-5.03225806 5.80645161 72.24000000 17.42000000
-5.03225806 6.00000000 72.24000000 17.42000000
-5.22580645 0.00000000 33.84000000 8.06000000
-5.22580645 0.19354839 33.84000000 8.06000000
-5.22580645 0.38709677 33.84000000 8.06000000
-5.22580645 0.58064516 33.84000000 8.06000000
-5.22580645 0.77419355 33.84000000 8.06000000
-5.22580645 0.96774194 33.84000000 8.06000000
-5.22580645 1.16129032 33.84000000 8.06000000
-5.22580645 1.35483871 33.84000000 8.06000000
-5.22580645 1.54838710 33.84000000 8.06000000
-5.22580645 1.74193548 33.84000000 8.06000000
-5.22580645 1.93548387 33.84000000 8.06000000
-5.22580645 2.12903226 33.84000000 8.06000000
-5.22580645 2.32258065 33.84000000 8.06000000
-5.22580645 2.51612903 33.84000000 8.06000000
-5.22580645 2.70967742 33.84000000 10.00000000
-5.22580645 2.90322581 33.84000000 10.00000000
-5.22580645 3.09677419 33.84000000 10.00000000
-5.22580645 3.29032258 33.84000000 10.00000000
-5.22580645 3.48387097 33.84000000 10.00000000
-5.22580645 3.67741935 70.80000000 16.94000000
-5.22580645 3.87096774 70.80000000 16.94000000
-5.22580645 4.06451613 70.80000000 16.94000000
-5.22580645 4.25806452 70.80000000 16.94000000
-5.22580645 4.45161290 70.80000000 16.94000000
-5.22580645 4.64516129 70.80000000 16.94000000
-5.22580645 4.83870968 70.80000000 16.94000000
-5.22580645 5.03225806 70.80000000 16.94000000
-5.22580645 5.22580645 70.80000000 16.94000000
-5.22580645 5.41935484 70.80000000 16.94000000
-5.22580645 5.61290323 70.80000000 16.94000000
-5.22580645 5.80645161 70.80000000 16.94000000
-5.22580645 6.00000000 70.80000000 16.94000000
-5.41935484 0.00000000 32.88000000 8.54000000
-5.41935484 0.19354839 32.88000000 8.54000000
-5.41935484 0.38709677 32.88000000 8.54000000
-5.41935484 0.58064516 32.88000000 8.54000000
-5.41935484 0.77419355 32.88000000 8.54000000
-5.41935484 0.96774194 32.88000000 8.54000000
-5.41935484 1.16129032 32.88000000 8.54000000
-5.41935484 1.35483871 32.88000000 8.54000000
-5.41935484 1.54838710 32.88000000 8.54000000
-5.41935484 1.74193548 32.88000000 8.54000000
-5.41935484 1.93548387 32.88000000 8.54000000
-5.41935484 2.12903226 32.88000000 8.54000000
-5.41935484 2.32258065 32.88000000 10.00000000
-5.41935484 2.51612903 32.88000000 10.00000000
-5.41935484 2.70967742 32.88000000 10.00000000
-5.41935484 2.90322581 32.88000000 10.00000000
-5.41935484 3.09677419 32.88000000 10.00000000
-5.41935484 3.29032258 32.88000000 10.00000000
-5.41935484 3.48387097 32.88000000 10.00000000
-5.41935484 3.67741935 32.88000000 10.00000000
-5.41935484 3.87096774 32.88000000 10.00000000
-5.41935484 4.06451613 69.36000000 16.46000000
-5.41935484 4.25806452 69.36000000 16.46000000
-5.41935484 4.45161290 69.36000000 16.46000000
-5.41935484 4.64516129 69.36000000 16.46000000
-5.41935484 4.83870968 69.36000000 16.46000000
-5.41935484 5.03225806 69.36000000 16.46000000
-5.41935484 5.22580645 69.36000000 16.46000000
-5.41935484 5.41935484 69.36000000 16.46000000
-5.41935484 5.61290323 69.36000000 16.46000000
-5.41935484 5.80645161 69.36000000 16.46000000
-5.41935484 6.00000000 69.36000000 16.46000000
-5.61290323 0.00000000 31.92000000 9.04000000
-5.61290323 0.19354839 31.92000000 9.04000000
-5.61290323 0.38709677 31.92000000 9.04000000
-5.61290323 0.58064516 31.92000000 9.04000000
-5.61290323 0.77419355 31.92000000 9.04000000
-5.61290323 0.96774194 31.92000000 9.04000000
-5.61290323 1.16129032 31.92000000 9.04000000
-5.61290323 1.35483871 31.92000000 9.04000000
-5.61290323 1.54838710 31.92000000 9.04000000
-5.61290323 1.74193548 31.92000000 9.04000000
-5.61290323 1.93548387 31.92000000 9.04000000
-5.61290323 2.12903226 31.92000000 10.00000000
-5.61290323 2.32258065 31.92000000 10.00000000
-5.61290323 2.51612903 31.92000000 10.00000000
-5.61290323 2.70967742 31.92000000 10.00000000
-5.61290323 2.90322581 31.92000000 10.00000000
-5.61290323 3.09677419 31.92000000 10.00000000
-5.61290323 3.29032258 31.92000000 10.00000000
-5.61290323 3.48387097 31.92000000 10.00000000
-5.61290323 3.67741935 31.92000000 10.00000000
-5.61290323 3.87096774 31.92000000 10.00000000
-5.61290323 4.06451613 31.92000000 10.00000000
-5.61290323 4.25806452 31.92000000 10.00000000
-5.61290323 4.45161290 67.92000000 15.96000000
-5.61290323 4.64516129 67.92000000 15.96000000
-5.61290323 4.83870968 67.92000000 15.96000000
-5.61290323 5.03225806 67.92000000 15.96000000
-5.61290323 5.22580645 67.92000000 15.96000000
-5.61290323 5.41935484 67.92000000 15.96000000
-5.61290323 5.61290323 67.92000000 15.96000000
-5.61290323 5.80645161 67.92000000 15.96000000
-5.61290323 6.00000000 67.92000000 15.96000000
-5.80645161 0.00000000 30.96000000 9.52000000
-5.80645161 0.19354839 30.96000000 9.52000000
-5.80645161 0.38709677 30.96000000 9.52000000
-5.80645161 0.58064516 30.96000000 9.52000000
-5.80645161 0.77419355 30.96000000 9.52000000
-5.80645161 0.96774194 30.96000000 9.52000000
-5.80645161 1.16129032 30.96000000 9.52000000
-5.80645161 1.35483871 30.96000000 9.52000000
-5.80645161 1.54838710 30.96000000 10.00000000
-5.80645161 1.74193548 30.96000000 10.00000000
-5.80645161 1.93548387 30.96000000 10.00000000
-5.80645161 2.12903226 30.96000000 10.00000000
-5.80645161 2.32258065 30.96000000 10.00000000
-5.80645161 2.51612903 30.96000000 10.00000000
-5.80645161 2.70967742 30.96000000 10.00000000
-5.80645161 2.90322581 30.96000000 10.00000000
-5.80645161 3.09677419 30.96000000 10.00000000
-5.80645161 3.29032258 30.96000000 10.00000000
-5.80645161 3.48387097 30.96000000 10.00000000
-5.80645161 3.67741935 30.96000000 10.00000000
-5.80645161 3.87096774 30.96000000 10.00000000
-5.80645161 4.06451613 30.96000000 10.00000000
-5.80645161 4.25806452 30.96000000 10.00000000
-5.80645161 4.45161290 30.96000000 10.00000000
-5.80645161 4.64516129 66.48000000 15.48000000
-5.80645161 4.83870968 66.48000000 15.48000000
-5.80645161 5.03225806 66.48000000 15.48000000
-5.80645161 5.22580645 66.48000000 15.48000000
-5.80645161 5.41935484 66.48000000 15.48000000
-5.80645161 5.61290323 66.48000000 15.48000000
-5.80645161 5.80645161 66.48000000 15.48000000
-5.80645161 6.00000000 66.48000000 15.48000000
-6.00000000 0.00000000 nan nan
-6.00000000 0.19354839 nan nan
-6.00000000 0.38709677 nan nan
-6.00000000 0.58064516 nan nan
-6.00000000 0.77419355 nan nan
-6.00000000 0.96774194 nan nan
-6.00000000 1.16129032 nan nan
-6.00000000 1.35483871 nan nan
-6.00000000 1.54838710 nan nan
-6.00000000 1.74193548 nan nan
-6.00000000 1.93548387 nan nan
-6.00000000 2.12903226 nan nan
-6.00000000 2.32258065 nan nan
-6.00000000 2.51612903 nan nan
-6.00000000 2.70967742 nan nan
-6.00000000 2.90322581 nan nan
-6.00000000 3.09677419 nan nan
-6.00000000 3.29032258 nan nan
-6.00000000 3.48387097 nan nan
-6.00000000 3.67741935 nan nan
-6.00000000 3.87096774 nan nan
-6.00000000 4.06451613 nan nan
-6.00000000 4.25806452 nan nan
-6.00000000 4.45161290 nan nan
-6.00000000 4.64516129 nan nan
-6.00000000 4.83870968 nan nan
-6.00000000 5.03225806 nan nan
-6.00000000 5.22580645 nan nan
-6.00000000 5.41935484 nan nan
-6.00000000 5.61290323 nan nan
-6.00000000 5.80645161 nan nan
-6.00000000 6.00000000 nan nan
+Load Dirt Detergent Cycle
+0.000000000 0.000000000 39.920000000 5.000000000
+0.000000000 0.193548387 39.920000000 5.000000000
+0.000000000 0.387096774 39.920000000 5.000000000
+0.000000000 0.580645161 39.920000000 5.000000000
+0.000000000 0.774193548 39.920000000 5.000000000
+0.000000000 0.967741935 39.920000000 5.000000000
+0.000000000 1.161290323 39.680000000 5.160000000
+0.000000000 1.354838710 39.280000000 5.360000000
+0.000000000 1.548387097 38.880000000 5.540000000
+0.000000000 1.741935484 38.480000000 5.740000000
+0.000000000 1.935483871 38.160000000 5.940000000
+0.000000000 2.129032258 37.600000000 6.200000000
+0.000000000 2.322580645 37.040000000 6.480000000
+0.000000000 2.516129032 36.400000000 6.780000000
+0.000000000 2.709677419 35.920000000 7.060000000
+0.000000000 2.903225806 35.280000000 7.360000000
+0.000000000 3.096774194 57.360000000 7.360000000
+0.000000000 3.290322581 57.120000000 7.060000000
+0.000000000 3.483870968 56.720000000 6.780000000
+0.000000000 3.677419355 56.480000000 6.480000000
+0.000000000 3.870967742 56.240000000 6.200000000
+0.000000000 4.064516129 55.920000000 5.960000000
+0.000000000 4.258064516 55.920000000 5.880000000
+0.000000000 4.451612903 55.760000000 5.780000000
+0.000000000 4.645161290 55.680000000 5.680000000
+0.000000000 4.838709677 55.600000000 5.580000000
+0.000000000 5.032258065 55.440000000 5.480000000
+0.000000000 5.225806452 55.440000000 5.380000000
+0.000000000 5.419354839 55.280000000 5.300000000
+0.000000000 5.612903226 55.200000000 5.200000000
+0.000000000 5.806451613 55.040000000 5.100000000
+0.000000000 6.000000000 54.960000000 5.000000000
+0.193548387 0.000000000 39.920000000 5.000000000
+0.193548387 0.193548387 39.920000000 5.000000000
+0.193548387 0.387096774 39.920000000 5.000000000
+0.193548387 0.580645161 39.920000000 5.000000000
+0.193548387 0.774193548 39.920000000 5.000000000
+0.193548387 0.967741935 39.920000000 5.000000000
+0.193548387 1.161290323 39.680000000 5.160000000
+0.193548387 1.354838710 39.280000000 5.360000000
+0.193548387 1.548387097 38.880000000 5.540000000
+0.193548387 1.741935484 38.480000000 5.740000000
+0.193548387 1.935483871 38.160000000 5.940000000
+0.193548387 2.129032258 37.600000000 6.200000000
+0.193548387 2.322580645 37.040000000 6.480000000
+0.193548387 2.516129032 36.400000000 6.780000000
+0.193548387 2.709677419 35.920000000 7.060000000
+0.193548387 2.903225806 35.280000000 7.360000000
+0.193548387 3.096774194 57.360000000 7.360000000
+0.193548387 3.290322581 57.120000000 7.060000000
+0.193548387 3.483870968 56.720000000 6.780000000
+0.193548387 3.677419355 56.480000000 6.480000000
+0.193548387 3.870967742 56.240000000 6.200000000
+0.193548387 4.064516129 55.920000000 5.960000000
+0.193548387 4.258064516 55.920000000 5.880000000
+0.193548387 4.451612903 55.760000000 5.780000000
+0.193548387 4.645161290 55.680000000 5.680000000
+0.193548387 4.838709677 55.600000000 5.580000000
+0.193548387 5.032258065 55.440000000 5.480000000
+0.193548387 5.225806452 55.440000000 5.380000000
+0.193548387 5.419354839 55.280000000 5.300000000
+0.193548387 5.612903226 55.200000000 5.200000000
+0.193548387 5.806451613 55.040000000 5.100000000
+0.193548387 6.000000000 54.960000000 5.000000000
+0.387096774 0.000000000 39.920000000 5.000000000
+0.387096774 0.193548387 39.920000000 5.000000000
+0.387096774 0.387096774 39.920000000 5.000000000
+0.387096774 0.580645161 39.920000000 5.000000000
+0.387096774 0.774193548 39.920000000 5.000000000
+0.387096774 0.967741935 39.920000000 5.000000000
+0.387096774 1.161290323 39.680000000 5.160000000
+0.387096774 1.354838710 39.280000000 5.360000000
+0.387096774 1.548387097 38.880000000 5.540000000
+0.387096774 1.741935484 38.480000000 5.740000000
+0.387096774 1.935483871 38.160000000 5.940000000
+0.387096774 2.129032258 37.600000000 6.200000000
+0.387096774 2.322580645 37.040000000 6.480000000
+0.387096774 2.516129032 36.400000000 6.780000000
+0.387096774 2.709677419 35.920000000 7.060000000
+0.387096774 2.903225806 35.280000000 7.360000000
+0.387096774 3.096774194 57.360000000 7.360000000
+0.387096774 3.290322581 57.120000000 7.060000000
+0.387096774 3.483870968 56.720000000 6.780000000
+0.387096774 3.677419355 56.480000000 6.480000000
+0.387096774 3.870967742 56.240000000 6.200000000
+0.387096774 4.064516129 55.920000000 5.960000000
+0.387096774 4.258064516 55.920000000 5.880000000
+0.387096774 4.451612903 55.760000000 5.780000000
+0.387096774 4.645161290 55.680000000 5.680000000
+0.387096774 4.838709677 55.600000000 5.580000000
+0.387096774 5.032258065 55.440000000 5.480000000
+0.387096774 5.225806452 55.440000000 5.380000000
+0.387096774 5.419354839 55.280000000 5.300000000
+0.387096774 5.612903226 55.200000000 5.200000000
+0.387096774 5.806451613 55.040000000 5.100000000
+0.387096774 6.000000000 54.960000000 5.000000000
+0.580645161 0.000000000 39.920000000 5.000000000
+0.580645161 0.193548387 39.920000000 5.000000000
+0.580645161 0.387096774 39.920000000 5.000000000
+0.580645161 0.580645161 39.920000000 5.000000000
+0.580645161 0.774193548 39.920000000 5.000000000
+0.580645161 0.967741935 39.920000000 5.000000000
+0.580645161 1.161290323 39.680000000 5.160000000
+0.580645161 1.354838710 39.280000000 5.360000000
+0.580645161 1.548387097 38.880000000 5.540000000
+0.580645161 1.741935484 38.480000000 5.740000000
+0.580645161 1.935483871 38.160000000 5.940000000
+0.580645161 2.129032258 37.600000000 6.200000000
+0.580645161 2.322580645 37.040000000 6.480000000
+0.580645161 2.516129032 36.400000000 6.780000000
+0.580645161 2.709677419 35.920000000 7.060000000
+0.580645161 2.903225806 35.280000000 7.360000000
+0.580645161 3.096774194 57.360000000 7.360000000
+0.580645161 3.290322581 57.120000000 7.060000000
+0.580645161 3.483870968 56.720000000 6.780000000
+0.580645161 3.677419355 56.480000000 6.480000000
+0.580645161 3.870967742 56.240000000 6.200000000
+0.580645161 4.064516129 55.920000000 5.960000000
+0.580645161 4.258064516 55.920000000 5.880000000
+0.580645161 4.451612903 55.760000000 5.780000000
+0.580645161 4.645161290 55.680000000 5.680000000
+0.580645161 4.838709677 55.600000000 5.580000000
+0.580645161 5.032258065 55.440000000 5.480000000
+0.580645161 5.225806452 55.440000000 5.380000000
+0.580645161 5.419354839 55.280000000 5.300000000
+0.580645161 5.612903226 55.200000000 5.200000000
+0.580645161 5.806451613 55.040000000 5.100000000
+0.580645161 6.000000000 54.960000000 5.000000000
+0.774193548 0.000000000 39.920000000 5.000000000
+0.774193548 0.193548387 39.920000000 5.000000000
+0.774193548 0.387096774 39.920000000 5.000000000
+0.774193548 0.580645161 39.920000000 5.000000000
+0.774193548 0.774193548 39.920000000 5.000000000
+0.774193548 0.967741935 39.920000000 5.000000000
+0.774193548 1.161290323 39.680000000 5.160000000
+0.774193548 1.354838710 39.280000000 5.360000000
+0.774193548 1.548387097 38.880000000 5.540000000
+0.774193548 1.741935484 38.480000000 5.740000000
+0.774193548 1.935483871 38.160000000 5.940000000
+0.774193548 2.129032258 37.600000000 6.200000000
+0.774193548 2.322580645 37.040000000 6.480000000
+0.774193548 2.516129032 36.400000000 6.780000000
+0.774193548 2.709677419 35.920000000 7.060000000
+0.774193548 2.903225806 35.280000000 7.360000000
+0.774193548 3.096774194 57.360000000 7.360000000
+0.774193548 3.290322581 57.120000000 7.060000000
+0.774193548 3.483870968 56.720000000 6.780000000
+0.774193548 3.677419355 56.480000000 6.480000000
+0.774193548 3.870967742 56.240000000 6.200000000
+0.774193548 4.064516129 55.920000000 5.960000000
+0.774193548 4.258064516 55.920000000 5.880000000
+0.774193548 4.451612903 55.760000000 5.780000000
+0.774193548 4.645161290 55.680000000 5.680000000
+0.774193548 4.838709677 55.600000000 5.580000000
+0.774193548 5.032258065 55.440000000 5.480000000
+0.774193548 5.225806452 55.440000000 5.380000000
+0.774193548 5.419354839 55.280000000 5.300000000
+0.774193548 5.612903226 55.200000000 5.200000000
+0.774193548 5.806451613 55.040000000 5.100000000
+0.774193548 6.000000000 54.960000000 5.000000000
+0.967741935 0.000000000 39.920000000 5.000000000
+0.967741935 0.193548387 39.920000000 5.000000000
+0.967741935 0.387096774 39.920000000 5.000000000
+0.967741935 0.580645161 39.920000000 5.000000000
+0.967741935 0.774193548 39.920000000 5.000000000
+0.967741935 0.967741935 39.920000000 5.000000000
+0.967741935 1.161290323 39.680000000 5.160000000
+0.967741935 1.354838710 39.280000000 5.360000000
+0.967741935 1.548387097 38.880000000 5.540000000
+0.967741935 1.741935484 38.480000000 5.740000000
+0.967741935 1.935483871 38.160000000 5.940000000
+0.967741935 2.129032258 37.600000000 6.200000000
+0.967741935 2.322580645 37.040000000 6.480000000
+0.967741935 2.516129032 36.400000000 6.780000000
+0.967741935 2.709677419 35.920000000 7.060000000
+0.967741935 2.903225806 35.280000000 7.360000000
+0.967741935 3.096774194 57.360000000 7.360000000
+0.967741935 3.290322581 57.120000000 7.060000000
+0.967741935 3.483870968 56.720000000 6.780000000
+0.967741935 3.677419355 56.480000000 6.480000000
+0.967741935 3.870967742 56.240000000 6.200000000
+0.967741935 4.064516129 55.920000000 5.960000000
+0.967741935 4.258064516 55.920000000 5.880000000
+0.967741935 4.451612903 55.760000000 5.780000000
+0.967741935 4.645161290 55.680000000 5.680000000
+0.967741935 4.838709677 55.600000000 5.580000000
+0.967741935 5.032258065 55.440000000 5.480000000
+0.967741935 5.225806452 55.440000000 5.380000000
+0.967741935 5.419354839 55.280000000 5.300000000
+0.967741935 5.612903226 55.200000000 5.200000000
+0.967741935 5.806451613 55.040000000 5.100000000
+0.967741935 6.000000000 54.960000000 5.000000000
+1.161290323 0.000000000 39.680000000 5.160000000
+1.161290323 0.193548387 39.680000000 5.160000000
+1.161290323 0.387096774 39.680000000 5.160000000
+1.161290323 0.580645161 39.680000000 5.160000000
+1.161290323 0.774193548 39.680000000 5.160000000
+1.161290323 0.967741935 39.680000000 5.160000000
+1.161290323 1.161290323 39.680000000 5.160000000
+1.161290323 1.354838710 39.280000000 5.360000000
+1.161290323 1.548387097 38.880000000 5.540000000
+1.161290323 1.741935484 38.480000000 5.740000000
+1.161290323 1.935483871 38.160000000 5.940000000
+1.161290323 2.129032258 37.600000000 6.200000000
+1.161290323 2.322580645 37.040000000 6.480000000
+1.161290323 2.516129032 36.400000000 6.780000000
+1.161290323 2.709677419 35.920000000 7.060000000
+1.161290323 2.903225806 35.280000000 7.360000000
+1.161290323 3.096774194 57.360000000 7.360000000
+1.161290323 3.290322581 57.120000000 7.060000000
+1.161290323 3.483870968 56.720000000 6.780000000
+1.161290323 3.677419355 56.480000000 6.480000000
+1.161290323 3.870967742 56.240000000 6.200000000
+1.161290323 4.064516129 55.920000000 5.960000000
+1.161290323 4.258064516 55.920000000 5.880000000
+1.161290323 4.451612903 55.760000000 5.780000000
+1.161290323 4.645161290 55.680000000 5.680000000
+1.161290323 4.838709677 55.600000000 5.580000000
+1.161290323 5.032258065 55.440000000 5.480000000
+1.161290323 5.225806452 55.440000000 5.380000000
+1.161290323 5.419354839 55.280000000 5.300000000
+1.161290323 5.612903226 55.200000000 5.200000000
+1.161290323 5.806451613 55.120000000 5.160000000
+1.161290323 6.000000000 55.120000000 5.160000000
+1.354838710 0.000000000 39.280000000 5.360000000
+1.354838710 0.193548387 39.280000000 5.360000000
+1.354838710 0.387096774 39.280000000 5.360000000
+1.354838710 0.580645161 39.280000000 5.360000000
+1.354838710 0.774193548 39.280000000 5.360000000
+1.354838710 0.967741935 39.280000000 5.360000000
+1.354838710 1.161290323 39.280000000 5.360000000
+1.354838710 1.354838710 39.280000000 5.360000000
+1.354838710 1.548387097 38.880000000 5.540000000
+1.354838710 1.741935484 38.480000000 5.740000000
+1.354838710 1.935483871 38.160000000 5.940000000
+1.354838710 2.129032258 37.600000000 6.200000000
+1.354838710 2.322580645 37.040000000 6.480000000
+1.354838710 2.516129032 36.400000000 6.780000000
+1.354838710 2.709677419 35.920000000 7.060000000
+1.354838710 2.903225806 35.280000000 7.360000000
+1.354838710 3.096774194 57.360000000 7.360000000
+1.354838710 3.290322581 57.120000000 7.060000000
+1.354838710 3.483870968 56.720000000 6.780000000
+1.354838710 3.677419355 56.480000000 6.480000000
+1.354838710 3.870967742 56.240000000 6.200000000
+1.354838710 4.064516129 55.920000000 5.960000000
+1.354838710 4.258064516 55.920000000 5.880000000
+1.354838710 4.451612903 55.760000000 5.780000000
+1.354838710 4.645161290 55.680000000 5.680000000
+1.354838710 4.838709677 55.600000000 5.580000000
+1.354838710 5.032258065 55.440000000 5.480000000
+1.354838710 5.225806452 55.440000000 5.380000000
+1.354838710 5.419354839 55.360000000 5.360000000
+1.354838710 5.612903226 55.360000000 5.360000000
+1.354838710 5.806451613 55.360000000 5.360000000
+1.354838710 6.000000000 55.360000000 5.360000000
+1.548387097 0.000000000 38.880000000 5.540000000
+1.548387097 0.193548387 38.880000000 5.540000000
+1.548387097 0.387096774 38.880000000 5.540000000
+1.548387097 0.580645161 38.880000000 5.540000000
+1.548387097 0.774193548 38.880000000 5.540000000
+1.548387097 0.967741935 38.880000000 5.540000000
+1.548387097 1.161290323 38.880000000 5.540000000
+1.548387097 1.354838710 38.880000000 5.540000000
+1.548387097 1.548387097 38.880000000 5.540000000
+1.548387097 1.741935484 38.480000000 5.740000000
+1.548387097 1.935483871 38.160000000 5.940000000
+1.548387097 2.129032258 37.600000000 6.200000000
+1.548387097 2.322580645 37.040000000 6.480000000
+1.548387097 2.516129032 36.400000000 6.780000000
+1.548387097 2.709677419 35.920000000 7.060000000
+1.548387097 2.903225806 35.280000000 7.360000000
+1.548387097 3.096774194 57.360000000 7.360000000
+1.548387097 3.290322581 57.120000000 7.060000000
+1.548387097 3.483870968 56.720000000 6.780000000
+1.548387097 3.677419355 56.480000000 6.480000000
+1.548387097 3.870967742 56.240000000 6.200000000
+1.548387097 4.064516129 55.920000000 5.960000000
+1.548387097 4.258064516 55.920000000 5.880000000
+1.548387097 4.451612903 55.760000000 5.780000000
+1.548387097 4.645161290 55.680000000 5.680000000
+1.548387097 4.838709677 55.600000000 5.580000000
+1.548387097 5.032258065 55.600000000 5.540000000
+1.548387097 5.225806452 55.600000000 5.540000000
+1.548387097 5.419354839 55.600000000 5.540000000
+1.548387097 5.612903226 55.600000000 5.540000000
+1.548387097 5.806451613 55.600000000 5.540000000
+1.548387097 6.000000000 55.600000000 5.540000000
+1.741935484 0.000000000 38.480000000 5.740000000
+1.741935484 0.193548387 38.480000000 5.740000000
+1.741935484 0.387096774 38.480000000 5.740000000
+1.741935484 0.580645161 38.480000000 5.740000000
+1.741935484 0.774193548 38.480000000 5.740000000
+1.741935484 0.967741935 38.480000000 5.740000000
+1.741935484 1.161290323 38.480000000 5.740000000
+1.741935484 1.354838710 38.480000000 5.740000000
+1.741935484 1.548387097 38.480000000 5.740000000
+1.741935484 1.741935484 38.480000000 5.740000000
+1.741935484 1.935483871 38.160000000 5.940000000
+1.741935484 2.129032258 37.600000000 6.200000000
+1.741935484 2.322580645 37.040000000 6.480000000
+1.741935484 2.516129032 36.400000000 6.780000000
+1.741935484 2.709677419 35.920000000 7.060000000
+1.741935484 2.903225806 35.280000000 7.360000000
+1.741935484 3.096774194 57.360000000 7.360000000
+1.741935484 3.290322581 57.120000000 7.060000000
+1.741935484 3.483870968 56.720000000 6.780000000
+1.741935484 3.677419355 56.480000000 6.480000000
+1.741935484 3.870967742 56.240000000 6.200000000
+1.741935484 4.064516129 55.920000000 5.960000000
+1.741935484 4.258064516 55.920000000 5.880000000
+1.741935484 4.451612903 55.760000000 5.780000000
+1.741935484 4.645161290 55.760000000 5.740000000
+1.741935484 4.838709677 55.760000000 5.740000000
+1.741935484 5.032258065 55.760000000 5.740000000
+1.741935484 5.225806452 55.760000000 5.740000000
+1.741935484 5.419354839 55.760000000 5.740000000
+1.741935484 5.612903226 55.760000000 5.740000000
+1.741935484 5.806451613 55.760000000 5.740000000
+1.741935484 6.000000000 55.760000000 5.740000000
+1.935483871 0.000000000 38.160000000 5.940000000
+1.935483871 0.193548387 38.160000000 5.940000000
+1.935483871 0.387096774 38.160000000 5.940000000
+1.935483871 0.580645161 38.160000000 5.940000000
+1.935483871 0.774193548 38.160000000 5.940000000
+1.935483871 0.967741935 38.160000000 5.940000000
+1.935483871 1.161290323 38.160000000 5.940000000
+1.935483871 1.354838710 38.160000000 5.940000000
+1.935483871 1.548387097 38.160000000 5.940000000
+1.935483871 1.741935484 38.160000000 5.940000000
+1.935483871 1.935483871 38.160000000 5.940000000
+1.935483871 2.129032258 37.600000000 6.200000000
+1.935483871 2.322580645 37.040000000 6.480000000
+1.935483871 2.516129032 36.400000000 6.780000000
+1.935483871 2.709677419 35.920000000 7.060000000
+1.935483871 2.903225806 35.280000000 7.360000000
+1.935483871 3.096774194 57.360000000 7.360000000
+1.935483871 3.290322581 57.120000000 7.060000000
+1.935483871 3.483870968 56.720000000 6.780000000
+1.935483871 3.677419355 56.480000000 6.480000000
+1.935483871 3.870967742 56.240000000 6.200000000
+1.935483871 4.064516129 55.920000000 5.960000000
+1.935483871 4.258064516 55.920000000 5.940000000
+1.935483871 4.451612903 55.920000000 5.940000000
+1.935483871 4.645161290 55.920000000 5.940000000
+1.935483871 4.838709677 55.920000000 5.940000000
+1.935483871 5.032258065 55.920000000 5.940000000
+1.935483871 5.225806452 55.920000000 5.940000000
+1.935483871 5.419354839 55.920000000 5.940000000
+1.935483871 5.612903226 55.920000000 5.940000000
+1.935483871 5.806451613 55.920000000 5.940000000
+1.935483871 6.000000000 55.920000000 5.940000000
+2.129032258 0.000000000 37.680000000 6.180000000
+2.129032258 0.193548387 37.680000000 6.180000000
+2.129032258 0.387096774 37.680000000 6.180000000
+2.129032258 0.580645161 37.680000000 6.180000000
+2.129032258 0.774193548 37.680000000 6.180000000
+2.129032258 0.967741935 37.680000000 6.180000000
+2.129032258 1.161290323 37.680000000 6.180000000
+2.129032258 1.354838710 37.680000000 6.180000000
+2.129032258 1.548387097 37.680000000 6.180000000
+2.129032258 1.741935484 37.680000000 6.180000000
+2.129032258 1.935483871 37.680000000 6.180000000
+2.129032258 2.129032258 37.600000000 6.200000000
+2.129032258 2.322580645 37.040000000 6.480000000
+2.129032258 2.516129032 36.400000000 6.780000000
+2.129032258 2.709677419 35.920000000 7.060000000
+2.129032258 2.903225806 35.280000000 7.360000000
+2.129032258 3.096774194 57.360000000 7.360000000
+2.129032258 3.290322581 57.120000000 7.060000000
+2.129032258 3.483870968 56.720000000 6.780000000
+2.129032258 3.677419355 56.480000000 6.480000000
+2.129032258 3.870967742 56.240000000 6.200000000
+2.129032258 4.064516129 56.160000000 6.180000000
+2.129032258 4.258064516 56.160000000 6.180000000
+2.129032258 4.451612903 56.160000000 6.180000000
+2.129032258 4.645161290 56.160000000 6.180000000
+2.129032258 4.838709677 56.160000000 6.180000000
+2.129032258 5.032258065 56.160000000 6.180000000
+2.129032258 5.225806452 56.160000000 6.180000000
+2.129032258 5.419354839 56.160000000 6.180000000
+2.129032258 5.612903226 56.160000000 6.180000000
+2.129032258 5.806451613 56.160000000 6.180000000
+2.129032258 6.000000000 56.160000000 6.180000000
+2.322580645 0.000000000 37.120000000 6.440000000
+2.322580645 0.193548387 37.120000000 6.440000000
+2.322580645 0.387096774 37.120000000 6.440000000
+2.322580645 0.580645161 37.120000000 6.440000000
+2.322580645 0.774193548 37.120000000 6.440000000
+2.322580645 0.967741935 37.120000000 6.440000000
+2.322580645 1.161290323 37.120000000 6.440000000
+2.322580645 1.354838710 37.120000000 6.440000000
+2.322580645 1.548387097 37.120000000 6.440000000
+2.322580645 1.741935484 37.120000000 6.440000000
+2.322580645 1.935483871 37.120000000 6.440000000
+2.322580645 2.129032258 37.120000000 6.440000000
+2.322580645 2.322580645 37.040000000 6.480000000
+2.322580645 2.516129032 36.400000000 6.780000000
+2.322580645 2.709677419 35.920000000 7.060000000
+2.322580645 2.903225806 35.280000000 7.360000000
+2.322580645 3.096774194 57.360000000 7.360000000
+2.322580645 3.290322581 57.120000000 7.060000000
+2.322580645 3.483870968 56.720000000 6.780000000
+2.322580645 3.677419355 56.480000000 6.480000000
+2.322580645 3.870967742 56.480000000 6.440000000
+2.322580645 4.064516129 56.480000000 6.440000000
+2.322580645 4.258064516 56.480000000 6.440000000
+2.322580645 4.451612903 56.480000000 6.440000000
+2.322580645 4.645161290 56.480000000 6.440000000
+2.322580645 4.838709677 56.480000000 6.440000000
+2.322580645 5.032258065 56.480000000 6.440000000
+2.322580645 5.225806452 56.480000000 6.440000000
+2.322580645 5.419354839 56.480000000 6.440000000
+2.322580645 5.612903226 56.480000000 6.440000000
+2.322580645 5.806451613 56.480000000 6.440000000
+2.322580645 6.000000000 56.480000000 6.440000000
+2.516129032 0.000000000 36.640000000 6.680000000
+2.516129032 0.193548387 36.640000000 6.680000000
+2.516129032 0.387096774 36.640000000 6.680000000
+2.516129032 0.580645161 36.640000000 6.680000000
+2.516129032 0.774193548 36.640000000 6.680000000
+2.516129032 0.967741935 36.640000000 6.680000000
+2.516129032 1.161290323 36.640000000 6.680000000
+2.516129032 1.354838710 36.640000000 6.680000000
+2.516129032 1.548387097 36.640000000 6.680000000
+2.516129032 1.741935484 36.640000000 6.680000000
+2.516129032 1.935483871 36.640000000 6.680000000
+2.516129032 2.129032258 36.640000000 6.680000000
+2.516129032 2.322580645 36.640000000 6.680000000
+2.516129032 2.516129032 36.400000000 6.780000000
+2.516129032 2.709677419 35.920000000 7.060000000
+2.516129032 2.903225806 35.280000000 7.360000000
+2.516129032 3.096774194 57.360000000 7.360000000
+2.516129032 3.290322581 57.120000000 7.060000000
+2.516129032 3.483870968 56.720000000 6.780000000
+2.516129032 3.677419355 56.640000000 6.680000000
+2.516129032 3.870967742 56.640000000 6.680000000
+2.516129032 4.064516129 56.640000000 6.680000000
+2.516129032 4.258064516 56.640000000 6.680000000
+2.516129032 4.451612903 56.640000000 6.680000000
+2.516129032 4.645161290 56.640000000 6.680000000
+2.516129032 4.838709677 56.640000000 6.680000000
+2.516129032 5.032258065 56.640000000 6.680000000
+2.516129032 5.225806452 56.640000000 6.680000000
+2.516129032 5.419354839 56.640000000 6.680000000
+2.516129032 5.612903226 56.640000000 6.680000000
+2.516129032 5.806451613 56.640000000 6.680000000
+2.516129032 6.000000000 56.640000000 6.680000000
+2.709677419 0.000000000 36.080000000 6.940000000
+2.709677419 0.193548387 36.080000000 6.940000000
+2.709677419 0.387096774 36.080000000 6.940000000
+2.709677419 0.580645161 36.080000000 6.940000000
+2.709677419 0.774193548 36.080000000 6.940000000
+2.709677419 0.967741935 36.080000000 6.940000000
+2.709677419 1.161290323 36.080000000 6.940000000
+2.709677419 1.354838710 36.080000000 6.940000000
+2.709677419 1.548387097 36.080000000 6.940000000
+2.709677419 1.741935484 36.080000000 6.940000000
+2.709677419 1.935483871 36.080000000 6.940000000
+2.709677419 2.129032258 36.080000000 6.940000000
+2.709677419 2.322580645 36.080000000 6.940000000
+2.709677419 2.516129032 36.080000000 6.940000000
+2.709677419 2.709677419 35.920000000 7.060000000
+2.709677419 2.903225806 35.280000000 7.360000000
+2.709677419 3.096774194 57.360000000 7.360000000
+2.709677419 3.290322581 57.120000000 7.060000000
+2.709677419 3.483870968 56.960000000 6.940000000
+2.709677419 3.677419355 56.960000000 6.940000000
+2.709677419 3.870967742 56.960000000 6.940000000
+2.709677419 4.064516129 56.960000000 6.940000000
+2.709677419 4.258064516 56.960000000 6.940000000
+2.709677419 4.451612903 56.960000000 6.940000000
+2.709677419 4.645161290 56.960000000 6.940000000
+2.709677419 4.838709677 56.960000000 6.940000000
+2.709677419 5.032258065 56.960000000 6.940000000
+2.709677419 5.225806452 56.960000000 6.940000000
+2.709677419 5.419354839 56.960000000 6.940000000
+2.709677419 5.612903226 56.960000000 6.940000000
+2.709677419 5.806451613 56.960000000 6.940000000
+2.709677419 6.000000000 56.960000000 6.940000000
+2.903225806 0.000000000 35.600000000 7.200000000
+2.903225806 0.193548387 35.600000000 7.200000000
+2.903225806 0.387096774 35.600000000 7.200000000
+2.903225806 0.580645161 35.600000000 7.200000000
+2.903225806 0.774193548 35.600000000 7.200000000
+2.903225806 0.967741935 35.600000000 7.200000000
+2.903225806 1.161290323 35.600000000 7.200000000
+2.903225806 1.354838710 35.600000000 7.200000000
+2.903225806 1.548387097 35.600000000 7.200000000
+2.903225806 1.741935484 35.600000000 7.200000000
+2.903225806 1.935483871 35.600000000 7.200000000
+2.903225806 2.129032258 35.600000000 7.200000000
+2.903225806 2.322580645 35.600000000 7.200000000
+2.903225806 2.516129032 35.600000000 7.200000000
+2.903225806 2.709677419 35.600000000 7.200000000
+2.903225806 2.903225806 35.280000000 7.360000000
+2.903225806 3.096774194 57.360000000 7.360000000
+2.903225806 3.290322581 57.200000000 7.200000000
+2.903225806 3.483870968 57.200000000 7.200000000
+2.903225806 3.677419355 57.200000000 7.200000000
+2.903225806 3.870967742 57.200000000 7.200000000
+2.903225806 4.064516129 57.200000000 7.200000000
+2.903225806 4.258064516 57.200000000 7.200000000
+2.903225806 4.451612903 57.200000000 7.200000000
+2.903225806 4.645161290 57.200000000 7.200000000
+2.903225806 4.838709677 57.200000000 7.200000000
+2.903225806 5.032258065 57.200000000 7.200000000
+2.903225806 5.225806452 57.200000000 7.200000000
+2.903225806 5.419354839 57.200000000 7.200000000
+2.903225806 5.612903226 57.200000000 7.200000000
+2.903225806 5.806451613 57.200000000 7.200000000
+2.903225806 6.000000000 57.200000000 7.200000000
+3.096774194 0.000000000 35.120000000 7.460000000
+3.096774194 0.193548387 35.120000000 7.460000000
+3.096774194 0.387096774 35.120000000 7.460000000
+3.096774194 0.580645161 35.120000000 7.460000000
+3.096774194 0.774193548 35.120000000 7.460000000
+3.096774194 0.967741935 35.120000000 7.460000000
+3.096774194 1.161290323 35.120000000 7.460000000
+3.096774194 1.354838710 35.120000000 7.460000000
+3.096774194 1.548387097 35.120000000 7.460000000
+3.096774194 1.741935484 35.120000000 7.460000000
+3.096774194 1.935483871 35.120000000 7.460000000
+3.096774194 2.129032258 35.120000000 7.460000000
+3.096774194 2.322580645 35.120000000 7.460000000
+3.096774194 2.516129032 35.120000000 7.460000000
+3.096774194 2.709677419 35.120000000 7.460000000
+3.096774194 2.903225806 35.120000000 7.460000000
+3.096774194 3.096774194 57.520000000 7.460000000
+3.096774194 3.290322581 57.520000000 7.460000000
+3.096774194 3.483870968 57.520000000 7.460000000
+3.096774194 3.677419355 57.520000000 7.460000000
+3.096774194 3.870967742 57.520000000 7.460000000
+3.096774194 4.064516129 57.520000000 7.460000000
+3.096774194 4.258064516 57.520000000 7.460000000
+3.096774194 4.451612903 57.520000000 7.460000000
+3.096774194 4.645161290 57.520000000 7.460000000
+3.096774194 4.838709677 57.520000000 7.460000000
+3.096774194 5.032258065 57.520000000 7.460000000
+3.096774194 5.225806452 57.520000000 7.460000000
+3.096774194 5.419354839 57.520000000 7.460000000
+3.096774194 5.612903226 57.520000000 7.460000000
+3.096774194 5.806451613 57.520000000 7.460000000
+3.096774194 6.000000000 57.520000000 7.460000000
+3.290322581 0.000000000 34.560000000 7.720000000
+3.290322581 0.193548387 34.560000000 7.720000000
+3.290322581 0.387096774 34.560000000 7.720000000
+3.290322581 0.580645161 34.560000000 7.720000000
+3.290322581 0.774193548 34.560000000 7.720000000
+3.290322581 0.967741935 34.560000000 7.720000000
+3.290322581 1.161290323 34.560000000 7.720000000
+3.290322581 1.354838710 34.560000000 7.720000000
+3.290322581 1.548387097 34.560000000 7.720000000
+3.290322581 1.741935484 34.560000000 7.720000000
+3.290322581 1.935483871 34.560000000 7.720000000
+3.290322581 2.129032258 34.560000000 7.720000000
+3.290322581 2.322580645 34.560000000 7.720000000
+3.290322581 2.516129032 34.560000000 7.720000000
+3.290322581 2.709677419 34.560000000 7.720000000
+3.290322581 2.903225806 47.280000000 7.720000000
+3.290322581 3.096774194 47.280000000 7.720000000
+3.290322581 3.290322581 57.680000000 7.720000000
+3.290322581 3.483870968 57.680000000 7.720000000
+3.290322581 3.677419355 57.680000000 7.720000000
+3.290322581 3.870967742 57.680000000 7.720000000
+3.290322581 4.064516129 57.680000000 7.720000000
+3.290322581 4.258064516 57.680000000 7.720000000
+3.290322581 4.451612903 57.680000000 7.720000000
+3.290322581 4.645161290 57.680000000 7.720000000
+3.290322581 4.838709677 57.680000000 7.720000000
+3.290322581 5.032258065 57.680000000 7.720000000
+3.290322581 5.225806452 57.680000000 7.720000000
+3.290322581 5.419354839 57.680000000 7.720000000
+3.290322581 5.612903226 57.680000000 7.720000000
+3.290322581 5.806451613 57.680000000 7.720000000
+3.290322581 6.000000000 57.680000000 7.720000000
+3.483870968 0.000000000 34.800000000 7.580000000
+3.483870968 0.193548387 34.800000000 7.580000000
+3.483870968 0.387096774 34.800000000 7.580000000
+3.483870968 0.580645161 34.800000000 7.580000000
+3.483870968 0.774193548 34.800000000 7.580000000
+3.483870968 0.967741935 34.800000000 7.580000000
+3.483870968 1.161290323 34.800000000 7.580000000
+3.483870968 1.354838710 34.800000000 7.580000000
+3.483870968 1.548387097 34.800000000 7.580000000
+3.483870968 1.741935484 34.800000000 7.580000000
+3.483870968 1.935483871 34.800000000 7.580000000
+3.483870968 2.129032258 34.800000000 7.580000000
+3.483870968 2.322580645 34.800000000 7.580000000
+3.483870968 2.516129032 34.800000000 7.580000000
+3.483870968 2.709677419 34.800000000 7.580000000
+3.483870968 2.903225806 34.800000000 7.580000000
+3.483870968 3.096774194 34.800000000 10.000000000
+3.483870968 3.290322581 72.240000000 17.420000000
+3.483870968 3.483870968 72.240000000 17.420000000
+3.483870968 3.677419355 72.240000000 17.420000000
+3.483870968 3.870967742 72.240000000 17.420000000
+3.483870968 4.064516129 72.240000000 17.420000000
+3.483870968 4.258064516 72.240000000 17.420000000
+3.483870968 4.451612903 72.240000000 17.420000000
+3.483870968 4.645161290 72.240000000 17.420000000
+3.483870968 4.838709677 72.240000000 17.420000000
+3.483870968 5.032258065 72.240000000 17.420000000
+3.483870968 5.225806452 72.240000000 17.420000000
+3.483870968 5.419354839 72.240000000 17.420000000
+3.483870968 5.612903226 72.240000000 17.420000000
+3.483870968 5.806451613 72.240000000 17.420000000
+3.483870968 6.000000000 72.240000000 17.420000000
+3.677419355 0.000000000 36.800000000 6.620000000
+3.677419355 0.193548387 36.800000000 6.620000000
+3.677419355 0.387096774 36.800000000 6.620000000
+3.677419355 0.580645161 36.800000000 6.620000000
+3.677419355 0.774193548 36.800000000 6.620000000
+3.677419355 0.967741935 36.800000000 6.620000000
+3.677419355 1.161290323 36.800000000 6.620000000
+3.677419355 1.354838710 36.800000000 6.620000000
+3.677419355 1.548387097 36.800000000 6.620000000
+3.677419355 1.741935484 36.800000000 6.620000000
+3.677419355 1.935483871 36.800000000 6.620000000
+3.677419355 2.129032258 36.800000000 6.620000000
+3.677419355 2.322580645 36.800000000 6.620000000
+3.677419355 2.516129032 36.640000000 6.680000000
+3.677419355 2.709677419 36.080000000 6.940000000
+3.677419355 2.903225806 35.600000000 7.200000000
+3.677419355 3.096774194 72.960000000 17.640000000
+3.677419355 3.290322581 73.840000000 17.940000000
+3.677419355 3.483870968 74.640000000 18.220000000
+3.677419355 3.677419355 75.200000000 18.380000000
+3.677419355 3.870967742 75.200000000 18.380000000
+3.677419355 4.064516129 75.200000000 18.380000000
+3.677419355 4.258064516 75.200000000 18.380000000
+3.677419355 4.451612903 75.200000000 18.380000000
+3.677419355 4.645161290 75.200000000 18.380000000
+3.677419355 4.838709677 75.200000000 18.380000000
+3.677419355 5.032258065 75.200000000 18.380000000
+3.677419355 5.225806452 75.200000000 18.380000000
+3.677419355 5.419354839 75.200000000 18.380000000
+3.677419355 5.612903226 75.200000000 18.380000000
+3.677419355 5.806451613 75.200000000 18.380000000
+3.677419355 6.000000000 75.200000000 18.380000000
+3.870967742 0.000000000 38.720000000 5.640000000
+3.870967742 0.193548387 38.720000000 5.640000000
+3.870967742 0.387096774 38.720000000 5.640000000
+3.870967742 0.580645161 38.720000000 5.640000000
+3.870967742 0.774193548 38.720000000 5.640000000
+3.870967742 0.967741935 38.720000000 5.640000000
+3.870967742 1.161290323 38.720000000 5.640000000
+3.870967742 1.354838710 38.640000000 5.680000000
+3.870967742 1.548387097 38.480000000 5.780000000
+3.870967742 1.741935484 38.240000000 5.880000000
+3.870967742 1.935483871 38.080000000 5.960000000
+3.870967742 2.129032258 37.680000000 6.180000000
+3.870967742 2.322580645 37.120000000 6.440000000
+3.870967742 2.516129032 36.640000000 6.680000000
+3.870967742 2.709677419 36.080000000 6.940000000
+3.870967742 2.903225806 35.600000000 7.200000000
+3.870967742 3.096774194 72.960000000 17.640000000
+3.870967742 3.290322581 73.840000000 17.940000000
+3.870967742 3.483870968 74.640000000 18.220000000
+3.870967742 3.677419355 75.520000000 18.520000000
+3.870967742 3.870967742 76.400000000 18.800000000
+3.870967742 4.064516129 77.120000000 19.040000000
+3.870967742 4.258064516 77.360000000 19.120000000
+3.870967742 4.451612903 77.680000000 19.220000000
+3.870967742 4.645161290 78.000000000 19.320000000
+3.870967742 4.838709677 78.080000000 19.360000000
+3.870967742 5.032258065 78.080000000 19.360000000
+3.870967742 5.225806452 78.080000000 19.360000000
+3.870967742 5.419354839 78.080000000 19.360000000
+3.870967742 5.612903226 78.080000000 19.360000000
+3.870967742 5.806451613 78.080000000 19.360000000
+3.870967742 6.000000000 78.080000000 19.360000000
+4.064516129 0.000000000 39.680000000 5.160000000
+4.064516129 0.193548387 39.680000000 5.160000000
+4.064516129 0.387096774 39.600000000 5.200000000
+4.064516129 0.580645161 39.440000000 5.300000000
+4.064516129 0.774193548 39.200000000 5.380000000
+4.064516129 0.967741935 39.040000000 5.480000000
+4.064516129 1.161290323 38.800000000 5.580000000
+4.064516129 1.354838710 38.640000000 5.680000000
+4.064516129 1.548387097 38.480000000 5.780000000
+4.064516129 1.741935484 38.240000000 5.880000000
+4.064516129 1.935483871 38.080000000 5.960000000
+4.064516129 2.129032258 37.680000000 6.180000000
+4.064516129 2.322580645 37.120000000 6.440000000
+4.064516129 2.516129032 36.640000000 6.680000000
+4.064516129 2.709677419 36.080000000 6.940000000
+4.064516129 2.903225806 35.600000000 7.200000000
+4.064516129 3.096774194 72.960000000 17.640000000
+4.064516129 3.290322581 73.840000000 17.940000000
+4.064516129 3.483870968 74.640000000 18.220000000
+4.064516129 3.677419355 75.520000000 18.520000000
+4.064516129 3.870967742 76.400000000 18.800000000
+4.064516129 4.064516129 77.120000000 19.040000000
+4.064516129 4.258064516 77.360000000 19.120000000
+4.064516129 4.451612903 77.680000000 19.220000000
+4.064516129 4.645161290 78.000000000 19.320000000
+4.064516129 4.838709677 78.240000000 19.420000000
+4.064516129 5.032258065 78.560000000 19.520000000
+4.064516129 5.225806452 78.800000000 19.620000000
+4.064516129 5.419354839 79.120000000 19.700000000
+4.064516129 5.612903226 79.440000000 19.800000000
+4.064516129 5.806451613 79.520000000 19.840000000
+4.064516129 6.000000000 79.520000000 19.840000000
+4.258064516 0.000000000 38.720000000 5.640000000
+4.258064516 0.193548387 38.720000000 5.640000000
+4.258064516 0.387096774 38.720000000 5.640000000
+4.258064516 0.580645161 38.720000000 5.640000000
+4.258064516 0.774193548 38.720000000 5.640000000
+4.258064516 0.967741935 38.720000000 5.640000000
+4.258064516 1.161290323 38.720000000 5.640000000
+4.258064516 1.354838710 38.640000000 5.680000000
+4.258064516 1.548387097 38.480000000 5.780000000
+4.258064516 1.741935484 38.240000000 5.880000000
+4.258064516 1.935483871 38.080000000 5.960000000
+4.258064516 2.129032258 37.680000000 6.180000000
+4.258064516 2.322580645 37.120000000 6.440000000
+4.258064516 2.516129032 36.640000000 6.680000000
+4.258064516 2.709677419 36.080000000 6.940000000
+4.258064516 2.903225806 35.600000000 7.200000000
+4.258064516 3.096774194 72.960000000 17.640000000
+4.258064516 3.290322581 73.840000000 17.940000000
+4.258064516 3.483870968 74.640000000 18.220000000
+4.258064516 3.677419355 75.520000000 18.520000000
+4.258064516 3.870967742 76.400000000 18.800000000
+4.258064516 4.064516129 77.120000000 19.040000000
+4.258064516 4.258064516 77.360000000 19.120000000
+4.258064516 4.451612903 77.680000000 19.220000000
+4.258064516 4.645161290 78.000000000 19.320000000
+4.258064516 4.838709677 78.080000000 19.360000000
+4.258064516 5.032258065 78.080000000 19.360000000
+4.258064516 5.225806452 78.080000000 19.360000000
+4.258064516 5.419354839 78.080000000 19.360000000
+4.258064516 5.612903226 78.080000000 19.360000000
+4.258064516 5.806451613 78.080000000 19.360000000
+4.258064516 6.000000000 78.080000000 19.360000000
+4.451612903 0.000000000 37.760000000 6.120000000
+4.451612903 0.193548387 37.760000000 6.120000000
+4.451612903 0.387096774 37.760000000 6.120000000
+4.451612903 0.580645161 37.760000000 6.120000000
+4.451612903 0.774193548 37.760000000 6.120000000
+4.451612903 0.967741935 37.760000000 6.120000000
+4.451612903 1.161290323 37.760000000 6.120000000
+4.451612903 1.354838710 37.760000000 6.120000000
+4.451612903 1.548387097 37.760000000 6.120000000
+4.451612903 1.741935484 37.760000000 6.120000000
+4.451612903 1.935483871 37.760000000 6.120000000
+4.451612903 2.129032258 37.680000000 6.180000000
+4.451612903 2.322580645 37.120000000 6.440000000
+4.451612903 2.516129032 36.640000000 6.680000000
+4.451612903 2.709677419 36.080000000 6.940000000
+4.451612903 2.903225806 35.600000000 7.200000000
+4.451612903 3.096774194 72.960000000 17.640000000
+4.451612903 3.290322581 73.840000000 17.940000000
+4.451612903 3.483870968 74.640000000 18.220000000
+4.451612903 3.677419355 75.520000000 18.520000000
+4.451612903 3.870967742 76.400000000 18.800000000
+4.451612903 4.064516129 76.640000000 18.880000000
+4.451612903 4.258064516 76.640000000 18.880000000
+4.451612903 4.451612903 76.640000000 18.880000000
+4.451612903 4.645161290 76.640000000 18.880000000
+4.451612903 4.838709677 76.640000000 18.880000000
+4.451612903 5.032258065 76.640000000 18.880000000
+4.451612903 5.225806452 76.640000000 18.880000000
+4.451612903 5.419354839 76.640000000 18.880000000
+4.451612903 5.612903226 76.640000000 18.880000000
+4.451612903 5.806451613 76.640000000 18.880000000
+4.451612903 6.000000000 76.640000000 18.880000000
+4.645161290 0.000000000 36.800000000 6.620000000
+4.645161290 0.193548387 36.800000000 6.620000000
+4.645161290 0.387096774 36.800000000 6.620000000
+4.645161290 0.580645161 36.800000000 6.620000000
+4.645161290 0.774193548 36.800000000 6.620000000
+4.645161290 0.967741935 36.800000000 6.620000000
+4.645161290 1.161290323 36.800000000 6.620000000
+4.645161290 1.354838710 36.800000000 6.620000000
+4.645161290 1.548387097 36.800000000 6.620000000
+4.645161290 1.741935484 36.800000000 6.620000000
+4.645161290 1.935483871 36.800000000 6.620000000
+4.645161290 2.129032258 36.800000000 6.620000000
+4.645161290 2.322580645 36.800000000 6.620000000
+4.645161290 2.516129032 36.640000000 6.680000000
+4.645161290 2.709677419 36.080000000 6.940000000
+4.645161290 2.903225806 35.600000000 7.200000000
+4.645161290 3.096774194 72.960000000 17.640000000
+4.645161290 3.290322581 73.840000000 17.940000000
+4.645161290 3.483870968 74.640000000 18.220000000
+4.645161290 3.677419355 75.200000000 18.380000000
+4.645161290 3.870967742 75.200000000 18.380000000
+4.645161290 4.064516129 75.200000000 18.380000000
+4.645161290 4.258064516 75.200000000 18.380000000
+4.645161290 4.451612903 75.200000000 18.380000000
+4.645161290 4.645161290 75.200000000 18.380000000
+4.645161290 4.838709677 75.200000000 18.380000000
+4.645161290 5.032258065 75.200000000 18.380000000
+4.645161290 5.225806452 75.200000000 18.380000000
+4.645161290 5.419354839 75.200000000 18.380000000
+4.645161290 5.612903226 75.200000000 18.380000000
+4.645161290 5.806451613 75.200000000 18.380000000
+4.645161290 6.000000000 75.200000000 18.380000000
+4.838709677 0.000000000 35.760000000 7.100000000
+4.838709677 0.193548387 35.760000000 7.100000000
+4.838709677 0.387096774 35.760000000 7.100000000
+4.838709677 0.580645161 35.760000000 7.100000000
+4.838709677 0.774193548 35.760000000 7.100000000
+4.838709677 0.967741935 35.760000000 7.100000000
+4.838709677 1.161290323 35.760000000 7.100000000
+4.838709677 1.354838710 35.760000000 7.100000000
+4.838709677 1.548387097 35.760000000 7.100000000
+4.838709677 1.741935484 35.760000000 7.100000000
+4.838709677 1.935483871 35.760000000 7.100000000
+4.838709677 2.129032258 35.760000000 7.100000000
+4.838709677 2.322580645 35.760000000 7.100000000
+4.838709677 2.516129032 35.760000000 7.100000000
+4.838709677 2.709677419 35.760000000 7.100000000
+4.838709677 2.903225806 35.600000000 7.200000000
+4.838709677 3.096774194 72.960000000 17.640000000
+4.838709677 3.290322581 73.680000000 17.900000000
+4.838709677 3.483870968 73.680000000 17.900000000
+4.838709677 3.677419355 73.680000000 17.900000000
+4.838709677 3.870967742 73.680000000 17.900000000
+4.838709677 4.064516129 73.680000000 17.900000000
+4.838709677 4.258064516 73.680000000 17.900000000
+4.838709677 4.451612903 73.680000000 17.900000000
+4.838709677 4.645161290 73.680000000 17.900000000
+4.838709677 4.838709677 73.680000000 17.900000000
+4.838709677 5.032258065 73.680000000 17.900000000
+4.838709677 5.225806452 73.680000000 17.900000000
+4.838709677 5.419354839 73.680000000 17.900000000
+4.838709677 5.612903226 73.680000000 17.900000000
+4.838709677 5.806451613 73.680000000 17.900000000
+4.838709677 6.000000000 73.680000000 17.900000000
+5.032258065 0.000000000 34.800000000 7.580000000
+5.032258065 0.193548387 34.800000000 7.580000000
+5.032258065 0.387096774 34.800000000 7.580000000
+5.032258065 0.580645161 34.800000000 7.580000000
+5.032258065 0.774193548 34.800000000 7.580000000
+5.032258065 0.967741935 34.800000000 7.580000000
+5.032258065 1.161290323 34.800000000 7.580000000
+5.032258065 1.354838710 34.800000000 7.580000000
+5.032258065 1.548387097 34.800000000 7.580000000
+5.032258065 1.741935484 34.800000000 7.580000000
+5.032258065 1.935483871 34.800000000 7.580000000
+5.032258065 2.129032258 34.800000000 7.580000000
+5.032258065 2.322580645 34.800000000 7.580000000
+5.032258065 2.516129032 34.800000000 7.580000000
+5.032258065 2.709677419 34.800000000 7.580000000
+5.032258065 2.903225806 34.800000000 7.580000000
+5.032258065 3.096774194 34.800000000 10.000000000
+5.032258065 3.290322581 72.240000000 17.420000000
+5.032258065 3.483870968 72.240000000 17.420000000
+5.032258065 3.677419355 72.240000000 17.420000000
+5.032258065 3.870967742 72.240000000 17.420000000
+5.032258065 4.064516129 72.240000000 17.420000000
+5.032258065 4.258064516 72.240000000 17.420000000
+5.032258065 4.451612903 72.240000000 17.420000000
+5.032258065 4.645161290 72.240000000 17.420000000
+5.032258065 4.838709677 72.240000000 17.420000000
+5.032258065 5.032258065 72.240000000 17.420000000
+5.032258065 5.225806452 72.240000000 17.420000000
+5.032258065 5.419354839 72.240000000 17.420000000
+5.032258065 5.612903226 72.240000000 17.420000000
+5.032258065 5.806451613 72.240000000 17.420000000
+5.032258065 6.000000000 72.240000000 17.420000000
+5.225806452 0.000000000 33.840000000 8.060000000
+5.225806452 0.193548387 33.840000000 8.060000000
+5.225806452 0.387096774 33.840000000 8.060000000
+5.225806452 0.580645161 33.840000000 8.060000000
+5.225806452 0.774193548 33.840000000 8.060000000
+5.225806452 0.967741935 33.840000000 8.060000000
+5.225806452 1.161290323 33.840000000 8.060000000
+5.225806452 1.354838710 33.840000000 8.060000000
+5.225806452 1.548387097 33.840000000 8.060000000
+5.225806452 1.741935484 33.840000000 8.060000000
+5.225806452 1.935483871 33.840000000 8.060000000
+5.225806452 2.129032258 33.840000000 8.060000000
+5.225806452 2.322580645 33.840000000 8.060000000
+5.225806452 2.516129032 33.840000000 8.060000000
+5.225806452 2.709677419 33.840000000 10.000000000
+5.225806452 2.903225806 33.840000000 10.000000000
+5.225806452 3.096774194 33.840000000 10.000000000
+5.225806452 3.290322581 33.840000000 10.000000000
+5.225806452 3.483870968 33.840000000 10.000000000
+5.225806452 3.677419355 70.800000000 16.940000000
+5.225806452 3.870967742 70.800000000 16.940000000
+5.225806452 4.064516129 70.800000000 16.940000000
+5.225806452 4.258064516 70.800000000 16.940000000
+5.225806452 4.451612903 70.800000000 16.940000000
+5.225806452 4.645161290 70.800000000 16.940000000
+5.225806452 4.838709677 70.800000000 16.940000000
+5.225806452 5.032258065 70.800000000 16.940000000
+5.225806452 5.225806452 70.800000000 16.940000000
+5.225806452 5.419354839 70.800000000 16.940000000
+5.225806452 5.612903226 70.800000000 16.940000000
+5.225806452 5.806451613 70.800000000 16.940000000
+5.225806452 6.000000000 70.800000000 16.940000000
+5.419354839 0.000000000 32.880000000 8.540000000
+5.419354839 0.193548387 32.880000000 8.540000000
+5.419354839 0.387096774 32.880000000 8.540000000
+5.419354839 0.580645161 32.880000000 8.540000000
+5.419354839 0.774193548 32.880000000 8.540000000
+5.419354839 0.967741935 32.880000000 8.540000000
+5.419354839 1.161290323 32.880000000 8.540000000
+5.419354839 1.354838710 32.880000000 8.540000000
+5.419354839 1.548387097 32.880000000 8.540000000
+5.419354839 1.741935484 32.880000000 8.540000000
+5.419354839 1.935483871 32.880000000 8.540000000
+5.419354839 2.129032258 32.880000000 8.540000000
+5.419354839 2.322580645 32.880000000 10.000000000
+5.419354839 2.516129032 32.880000000 10.000000000
+5.419354839 2.709677419 32.880000000 10.000000000
+5.419354839 2.903225806 32.880000000 10.000000000
+5.419354839 3.096774194 32.880000000 10.000000000
+5.419354839 3.290322581 32.880000000 10.000000000
+5.419354839 3.483870968 32.880000000 10.000000000
+5.419354839 3.677419355 32.880000000 10.000000000
+5.419354839 3.870967742 32.880000000 10.000000000
+5.419354839 4.064516129 69.360000000 16.460000000
+5.419354839 4.258064516 69.360000000 16.460000000
+5.419354839 4.451612903 69.360000000 16.460000000
+5.419354839 4.645161290 69.360000000 16.460000000
+5.419354839 4.838709677 69.360000000 16.460000000
+5.419354839 5.032258065 69.360000000 16.460000000
+5.419354839 5.225806452 69.360000000 16.460000000
+5.419354839 5.419354839 69.360000000 16.460000000
+5.419354839 5.612903226 69.360000000 16.460000000
+5.419354839 5.806451613 69.360000000 16.460000000
+5.419354839 6.000000000 69.360000000 16.460000000
+5.612903226 0.000000000 31.920000000 9.040000000
+5.612903226 0.193548387 31.920000000 9.040000000
+5.612903226 0.387096774 31.920000000 9.040000000
+5.612903226 0.580645161 31.920000000 9.040000000
+5.612903226 0.774193548 31.920000000 9.040000000
+5.612903226 0.967741935 31.920000000 9.040000000
+5.612903226 1.161290323 31.920000000 9.040000000
+5.612903226 1.354838710 31.920000000 9.040000000
+5.612903226 1.548387097 31.920000000 9.040000000
+5.612903226 1.741935484 31.920000000 9.040000000
+5.612903226 1.935483871 31.920000000 9.040000000
+5.612903226 2.129032258 31.920000000 10.000000000
+5.612903226 2.322580645 31.920000000 10.000000000
+5.612903226 2.516129032 31.920000000 10.000000000
+5.612903226 2.709677419 31.920000000 10.000000000
+5.612903226 2.903225806 31.920000000 10.000000000
+5.612903226 3.096774194 31.920000000 10.000000000
+5.612903226 3.290322581 31.920000000 10.000000000
+5.612903226 3.483870968 31.920000000 10.000000000
+5.612903226 3.677419355 31.920000000 10.000000000
+5.612903226 3.870967742 31.920000000 10.000000000
+5.612903226 4.064516129 31.920000000 10.000000000
+5.612903226 4.258064516 31.920000000 10.000000000
+5.612903226 4.451612903 67.920000000 15.960000000
+5.612903226 4.645161290 67.920000000 15.960000000
+5.612903226 4.838709677 67.920000000 15.960000000
+5.612903226 5.032258065 67.920000000 15.960000000
+5.612903226 5.225806452 67.920000000 15.960000000
+5.612903226 5.419354839 67.920000000 15.960000000
+5.612903226 5.612903226 67.920000000 15.960000000
+5.612903226 5.806451613 67.920000000 15.960000000
+5.612903226 6.000000000 67.920000000 15.960000000
+5.806451613 0.000000000 30.960000000 9.520000000
+5.806451613 0.193548387 30.960000000 9.520000000
+5.806451613 0.387096774 30.960000000 9.520000000
+5.806451613 0.580645161 30.960000000 9.520000000
+5.806451613 0.774193548 30.960000000 9.520000000
+5.806451613 0.967741935 30.960000000 9.520000000
+5.806451613 1.161290323 30.960000000 9.520000000
+5.806451613 1.354838710 30.960000000 9.520000000
+5.806451613 1.548387097 30.960000000 10.000000000
+5.806451613 1.741935484 30.960000000 10.000000000
+5.806451613 1.935483871 30.960000000 10.000000000
+5.806451613 2.129032258 30.960000000 10.000000000
+5.806451613 2.322580645 30.960000000 10.000000000
+5.806451613 2.516129032 30.960000000 10.000000000
+5.806451613 2.709677419 30.960000000 10.000000000
+5.806451613 2.903225806 30.960000000 10.000000000
+5.806451613 3.096774194 30.960000000 10.000000000
+5.806451613 3.290322581 30.960000000 10.000000000
+5.806451613 3.483870968 30.960000000 10.000000000
+5.806451613 3.677419355 30.960000000 10.000000000
+5.806451613 3.870967742 30.960000000 10.000000000
+5.806451613 4.064516129 30.960000000 10.000000000
+5.806451613 4.258064516 30.960000000 10.000000000
+5.806451613 4.451612903 30.960000000 10.000000000
+5.806451613 4.645161290 66.480000000 15.480000000
+5.806451613 4.838709677 66.480000000 15.480000000
+5.806451613 5.032258065 66.480000000 15.480000000
+5.806451613 5.225806452 66.480000000 15.480000000
+5.806451613 5.419354839 66.480000000 15.480000000
+5.806451613 5.612903226 66.480000000 15.480000000
+5.806451613 5.806451613 66.480000000 15.480000000
+5.806451613 6.000000000 66.480000000 15.480000000
+6.000000000 0.000000000 nan nan
+6.000000000 0.193548387 nan nan
+6.000000000 0.387096774 nan nan
+6.000000000 0.580645161 nan nan
+6.000000000 0.774193548 nan nan
+6.000000000 0.967741935 nan nan
+6.000000000 1.161290323 nan nan
+6.000000000 1.354838710 nan nan
+6.000000000 1.548387097 nan nan
+6.000000000 1.741935484 nan nan
+6.000000000 1.935483871 nan nan
+6.000000000 2.129032258 nan nan
+6.000000000 2.322580645 nan nan
+6.000000000 2.516129032 nan nan
+6.000000000 2.709677419 nan nan
+6.000000000 2.903225806 nan nan
+6.000000000 3.096774194 nan nan
+6.000000000 3.290322581 nan nan
+6.000000000 3.483870968 nan nan
+6.000000000 3.677419355 nan nan
+6.000000000 3.870967742 nan nan
+6.000000000 4.064516129 nan nan
+6.000000000 4.258064516 nan nan
+6.000000000 4.451612903 nan nan
+6.000000000 4.645161290 nan nan
+6.000000000 4.838709677 nan nan
+6.000000000 5.032258065 nan nan
+6.000000000 5.225806452 nan nan
+6.000000000 5.419354839 nan nan
+6.000000000 5.612903226 nan nan
+6.000000000 5.806451613 nan nan
+6.000000000 6.000000000 nan nan
diff --git a/examples/mamdani/Laundry.fll b/examples/mamdani/Laundry.fll
index ef6fd44..6abf2df 100644
--- a/examples/mamdani/Laundry.fll
+++ b/examples/mamdani/Laundry.fll
@@ -2,42 +2,45 @@ Engine: Laundry
InputVariable: Load
enabled: true
range: 0.000 6.000
+ lock-range: false
term: small Discrete 0.000 1.000 1.000 1.000 2.000 0.800 5.000 0.000
term: normal Discrete 3.000 0.000 4.000 1.000 6.000 0.000
InputVariable: Dirt
enabled: true
range: 0.000 6.000
+ lock-range: false
term: low Discrete 0.000 1.000 2.000 0.800 5.000 0.000
term: high Discrete 1.000 0.000 2.000 0.200 4.000 0.800 6.000 1.000
OutputVariable: Detergent
enabled: true
range: 0.000 80.000
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: MeanOfMaximum 500
default: nan
lock-previous: false
- lock-range: false
- term: less Discrete 10.000 0.000 40.000 1.000 50.000 0.000
- term: normal Discrete 40.000 0.000 50.000 1.000 60.000 1.000 80.000 0.000
- term: more Discrete 50.000 0.000 80.000 1.000
+ term: less_than_usual Discrete 10.000 0.000 40.000 1.000 50.000 0.000
+ term: usual Discrete 40.000 0.000 50.000 1.000 60.000 1.000 80.000 0.000
+ term: more_than_usual Discrete 50.000 0.000 80.000 1.000
OutputVariable: Cycle
enabled: true
range: 0.000 20.000
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: MeanOfMaximum 500
default: nan
lock-previous: false
- lock-range: false
term: short Discrete 0.000 1.000 10.000 1.000 20.000 0.000
term: long Discrete 10.000 0.000 20.000 1.000
RuleBlock:
enabled: true
conjunction: Minimum
disjunction: Maximum
- activation: Minimum
- rule: if Load is small and Dirt is not high then Detergent is less
- rule: if Load is small and Dirt is high then Detergent is normal
- rule: if Load is normal and Dirt is low then Detergent is less
- rule: if Load is normal and Dirt is high then Detergent is more
- rule: if Detergent is normal or Detergent is less then Cycle is short
- rule: if Detergent is more then Cycle is long \ No newline at end of file
+ implication: Minimum
+ activation: General
+ rule: if Load is small and Dirt is not high then Detergent is less_than_usual
+ rule: if Load is small and Dirt is high then Detergent is usual
+ rule: if Load is normal and Dirt is low then Detergent is less_than_usual
+ rule: if Load is normal and Dirt is high then Detergent is more_than_usual
+ rule: if Detergent is usual or Detergent is less_than_usual then Cycle is short
+ rule: if Detergent is more_than_usual then Cycle is long \ No newline at end of file
diff --git a/examples/mamdani/Laundry.java b/examples/mamdani/Laundry.java
index d45e77e..95cbe7c 100644
--- a/examples/mamdani/Laundry.java
+++ b/examples/mamdani/Laundry.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,64 +13,75 @@ import com.fuzzylite.variable.*;
public class Laundry{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
engine.setName("Laundry");
+engine.setDescription("");
-InputVariable inputVariable1 = new InputVariable();
-inputVariable1.setEnabled(true);
-inputVariable1.setName("Load");
-inputVariable1.setRange(0.000, 6.000);
-inputVariable1.addTerm(Discrete.create("small", 0.000, 1.000, 1.000, 1.000, 2.000, 0.800, 5.000, 0.000));
-inputVariable1.addTerm(Discrete.create("normal", 3.000, 0.000, 4.000, 1.000, 6.000, 0.000));
-engine.addInputVariable(inputVariable1);
+InputVariable Load = new InputVariable();
+Load.setName("Load");
+Load.setDescription("");
+Load.setEnabled(true);
+Load.setRange(0.000, 6.000);
+Load.setLockValueInRange(false);
+Load.addTerm(Discrete.create("small", 0.000, 1.000, 1.000, 1.000, 2.000, 0.800, 5.000, 0.000));
+Load.addTerm(Discrete.create("normal", 3.000, 0.000, 4.000, 1.000, 6.000, 0.000));
+engine.addInputVariable(Load);
-InputVariable inputVariable2 = new InputVariable();
-inputVariable2.setEnabled(true);
-inputVariable2.setName("Dirt");
-inputVariable2.setRange(0.000, 6.000);
-inputVariable2.addTerm(Discrete.create("low", 0.000, 1.000, 2.000, 0.800, 5.000, 0.000));
-inputVariable2.addTerm(Discrete.create("high", 1.000, 0.000, 2.000, 0.200, 4.000, 0.800, 6.000, 1.000));
-engine.addInputVariable(inputVariable2);
+InputVariable Dirt = new InputVariable();
+Dirt.setName("Dirt");
+Dirt.setDescription("");
+Dirt.setEnabled(true);
+Dirt.setRange(0.000, 6.000);
+Dirt.setLockValueInRange(false);
+Dirt.addTerm(Discrete.create("low", 0.000, 1.000, 2.000, 0.800, 5.000, 0.000));
+Dirt.addTerm(Discrete.create("high", 1.000, 0.000, 2.000, 0.200, 4.000, 0.800, 6.000, 1.000));
+engine.addInputVariable(Dirt);
-OutputVariable outputVariable1 = new OutputVariable();
-outputVariable1.setEnabled(true);
-outputVariable1.setName("Detergent");
-outputVariable1.setRange(0.000, 80.000);
-outputVariable1.fuzzyOutput().setAccumulation(new Maximum());
-outputVariable1.setDefuzzifier(new MeanOfMaximum(500));
-outputVariable1.setDefaultValue(Double.NaN);
-outputVariable1.setLockPreviousOutputValue(false);
-outputVariable1.setLockOutputValueInRange(false);
-outputVariable1.addTerm(Discrete.create("less", 10.000, 0.000, 40.000, 1.000, 50.000, 0.000));
-outputVariable1.addTerm(Discrete.create("normal", 40.000, 0.000, 50.000, 1.000, 60.000, 1.000, 80.000, 0.000));
-outputVariable1.addTerm(Discrete.create("more", 50.000, 0.000, 80.000, 1.000));
-engine.addOutputVariable(outputVariable1);
+OutputVariable Detergent = new OutputVariable();
+Detergent.setName("Detergent");
+Detergent.setDescription("");
+Detergent.setEnabled(true);
+Detergent.setRange(0.000, 80.000);
+Detergent.setLockValueInRange(false);
+Detergent.setAggregation(new Maximum());
+Detergent.setDefuzzifier(new MeanOfMaximum(500));
+Detergent.setDefaultValue(Double.NaN);
+Detergent.setLockPreviousValue(false);
+Detergent.addTerm(Discrete.create("less_than_usual", 10.000, 0.000, 40.000, 1.000, 50.000, 0.000));
+Detergent.addTerm(Discrete.create("usual", 40.000, 0.000, 50.000, 1.000, 60.000, 1.000, 80.000, 0.000));
+Detergent.addTerm(Discrete.create("more_than_usual", 50.000, 0.000, 80.000, 1.000));
+engine.addOutputVariable(Detergent);
-OutputVariable outputVariable2 = new OutputVariable();
-outputVariable2.setEnabled(true);
-outputVariable2.setName("Cycle");
-outputVariable2.setRange(0.000, 20.000);
-outputVariable2.fuzzyOutput().setAccumulation(new Maximum());
-outputVariable2.setDefuzzifier(new MeanOfMaximum(500));
-outputVariable2.setDefaultValue(Double.NaN);
-outputVariable2.setLockPreviousOutputValue(false);
-outputVariable2.setLockOutputValueInRange(false);
-outputVariable2.addTerm(Discrete.create("short", 0.000, 1.000, 10.000, 1.000, 20.000, 0.000));
-outputVariable2.addTerm(Discrete.create("long", 10.000, 0.000, 20.000, 1.000));
-engine.addOutputVariable(outputVariable2);
+OutputVariable Cycle = new OutputVariable();
+Cycle.setName("Cycle");
+Cycle.setDescription("");
+Cycle.setEnabled(true);
+Cycle.setRange(0.000, 20.000);
+Cycle.setLockValueInRange(false);
+Cycle.setAggregation(new Maximum());
+Cycle.setDefuzzifier(new MeanOfMaximum(500));
+Cycle.setDefaultValue(Double.NaN);
+Cycle.setLockPreviousValue(false);
+Cycle.addTerm(Discrete.create("short", 0.000, 1.000, 10.000, 1.000, 20.000, 0.000));
+Cycle.addTerm(Discrete.create("long", 10.000, 0.000, 20.000, 1.000));
+engine.addOutputVariable(Cycle);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(new Minimum());
ruleBlock.setDisjunction(new Maximum());
-ruleBlock.setActivation(new Minimum());
-ruleBlock.addRule(Rule.parse("if Load is small and Dirt is not high then Detergent is less", engine));
-ruleBlock.addRule(Rule.parse("if Load is small and Dirt is high then Detergent is normal", engine));
-ruleBlock.addRule(Rule.parse("if Load is normal and Dirt is low then Detergent is less", engine));
-ruleBlock.addRule(Rule.parse("if Load is normal and Dirt is high then Detergent is more", engine));
-ruleBlock.addRule(Rule.parse("if Detergent is normal or Detergent is less then Cycle is short", engine));
-ruleBlock.addRule(Rule.parse("if Detergent is more then Cycle is long", engine));
+ruleBlock.setImplication(new Minimum());
+ruleBlock.setActivation(new General());
+ruleBlock.addRule(Rule.parse("if Load is small and Dirt is not high then Detergent is less_than_usual", engine));
+ruleBlock.addRule(Rule.parse("if Load is small and Dirt is high then Detergent is usual", engine));
+ruleBlock.addRule(Rule.parse("if Load is normal and Dirt is low then Detergent is less_than_usual", engine));
+ruleBlock.addRule(Rule.parse("if Load is normal and Dirt is high then Detergent is more_than_usual", engine));
+ruleBlock.addRule(Rule.parse("if Detergent is usual or Detergent is less_than_usual then Cycle is short", engine));
+ruleBlock.addRule(Rule.parse("if Detergent is more_than_usual then Cycle is long", engine));
engine.addRuleBlock(ruleBlock);
diff --git a/examples/mamdani/Laundry.pdf b/examples/mamdani/Laundry.pdf
new file mode 100644
index 0000000..42df3cf
--- /dev/null
+++ b/examples/mamdani/Laundry.pdf
Binary files differ
diff --git a/examples/mamdani/ObstacleAvoidance.R b/examples/mamdani/ObstacleAvoidance.R
new file mode 100644
index 0000000..5533d26
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.R
@@ -0,0 +1,57 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "ObstacleAvoidance"
+engine.fll = "Engine: ObstacleAvoidance
+InputVariable: obstacle
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: left Ramp 1.000 0.000
+ term: right Ramp 0.000 1.000
+OutputVariable: mSteer
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 100
+ default: nan
+ lock-previous: false
+ term: left Ramp 1.000 0.000
+ term: right Ramp 0.000 1.000
+RuleBlock: mamdani
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: AlgebraicProduct
+ activation: General
+ rule: if obstacle is left then mSteer is right
+ rule: if obstacle is right then mSteer is left"
+
+engine.fldFile = "ObstacleAvoidance.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(obstacle, mSteer)) +
+ geom_line(aes(color=mSteer), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("obstacle vs mSteer")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(obstacle, mSteer)) +
+ geom_line(aes(color=mSteer), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("mSteer vs obstacle")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/ObstacleAvoidance.cpp b/examples/mamdani/ObstacleAvoidance.cpp
new file mode 100644
index 0000000..341ffe5
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.cpp
@@ -0,0 +1,49 @@
+#include <fl/Headers.h>
+
+int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
+using namespace fl;
+
+Engine* engine = new Engine;
+engine->setName("ObstacleAvoidance");
+engine->setDescription("");
+
+InputVariable* obstacle = new InputVariable;
+obstacle->setName("obstacle");
+obstacle->setDescription("");
+obstacle->setEnabled(true);
+obstacle->setRange(0.000, 1.000);
+obstacle->setLockValueInRange(false);
+obstacle->addTerm(new Ramp("left", 1.000, 0.000));
+obstacle->addTerm(new Ramp("right", 0.000, 1.000));
+engine->addInputVariable(obstacle);
+
+OutputVariable* mSteer = new OutputVariable;
+mSteer->setName("mSteer");
+mSteer->setDescription("");
+mSteer->setEnabled(true);
+mSteer->setRange(0.000, 1.000);
+mSteer->setLockValueInRange(false);
+mSteer->setAggregation(new Maximum);
+mSteer->setDefuzzifier(new Centroid(100));
+mSteer->setDefaultValue(fl::nan);
+mSteer->setLockPreviousValue(false);
+mSteer->addTerm(new Ramp("left", 1.000, 0.000));
+mSteer->addTerm(new Ramp("right", 0.000, 1.000));
+engine->addOutputVariable(mSteer);
+
+RuleBlock* mamdani = new RuleBlock;
+mamdani->setName("mamdani");
+mamdani->setDescription("");
+mamdani->setEnabled(true);
+mamdani->setConjunction(fl::null);
+mamdani->setDisjunction(fl::null);
+mamdani->setImplication(new AlgebraicProduct);
+mamdani->setActivation(new General);
+mamdani->addRule(Rule::parse("if obstacle is left then mSteer is right", engine));
+mamdani->addRule(Rule::parse("if obstacle is right then mSteer is left", engine));
+engine->addRuleBlock(mamdani);
+
+
+}
diff --git a/examples/mamdani/ObstacleAvoidance.fcl b/examples/mamdani/ObstacleAvoidance.fcl
new file mode 100644
index 0000000..1f2bac0
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.fcl
@@ -0,0 +1,34 @@
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK ObstacleAvoidance
+
+VAR_INPUT
+ obstacle: REAL;
+END_VAR
+
+VAR_OUTPUT
+ mSteer: REAL;
+END_VAR
+
+FUZZIFY obstacle
+ RANGE := (0.000 .. 1.000);
+ TERM left := Ramp 1.000 0.000;
+ TERM right := Ramp 0.000 1.000;
+END_FUZZIFY
+
+DEFUZZIFY mSteer
+ RANGE := (0.000 .. 1.000);
+ TERM left := Ramp 1.000 0.000;
+ TERM right := Ramp 0.000 1.000;
+ METHOD : COG;
+ ACCU : MAX;
+ DEFAULT := nan;
+END_DEFUZZIFY
+
+RULEBLOCK mamdani
+ ACT : PROD;
+ RULE 1 : if obstacle is left then mSteer is right
+ RULE 2 : if obstacle is right then mSteer is left
+END_RULEBLOCK
+
+END_FUNCTION_BLOCK
diff --git a/examples/mamdani/ObstacleAvoidance.fis b/examples/mamdani/ObstacleAvoidance.fis
new file mode 100644
index 0000000..f938ec0
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.fis
@@ -0,0 +1,32 @@
+#Code automatically generated with fuzzylite 6.0.
+
+[System]
+Name='ObstacleAvoidance'
+Type='mamdani'
+Version=6.0
+NumInputs=1
+NumOutputs=1
+NumRules=2
+AndMethod='min'
+OrMethod='max'
+ImpMethod='prod'
+AggMethod='max'
+DefuzzMethod='centroid'
+
+[Input1]
+Name='obstacle'
+Range=[0.000 1.000]
+NumMFs=2
+MF1='left':'rampmf',[1.000 0.000]
+MF2='right':'rampmf',[0.000 1.000]
+
+[Output1]
+Name='mSteer'
+Range=[0.000 1.000]
+NumMFs=2
+MF1='left':'rampmf',[1.000 0.000]
+MF2='right':'rampmf',[0.000 1.000]
+
+[Rules]
+1.000 , 2.000 (1.000) : 1
+2.000 , 1.000 (1.000) : 1
diff --git a/examples/mamdani/ObstacleAvoidance.fld b/examples/mamdani/ObstacleAvoidance.fld
new file mode 100644
index 0000000..ec259dd
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.fld
@@ -0,0 +1,1025 @@
+obstacle mSteer
+0.000000000 0.666650000
+0.000977517 0.666650000
+0.001955034 0.666650000
+0.002932551 0.666650000
+0.003910068 0.666650000
+0.004887586 0.666650000
+0.005865103 0.666638485
+0.006842620 0.666625450
+0.007820137 0.666612389
+0.008797654 0.666599303
+0.009775171 0.666586193
+0.010752688 0.666573056
+0.011730205 0.666559894
+0.012707722 0.666546707
+0.013685239 0.666533494
+0.014662757 0.666520255
+0.015640274 0.666498518
+0.016617791 0.666472271
+0.017595308 0.666445974
+0.018572825 0.666419626
+0.019550342 0.666393229
+0.020527859 0.666366781
+0.021505376 0.666340282
+0.022482893 0.666313732
+0.023460411 0.666287131
+0.024437928 0.666260479
+0.025415445 0.666228313
+0.026392962 0.666188686
+0.027370479 0.666148986
+0.028347996 0.666109209
+0.029325513 0.666069358
+0.030303030 0.666029432
+0.031280547 0.665989429
+0.032258065 0.665949351
+0.033235582 0.665909196
+0.034213099 0.665868966
+0.035190616 0.665826169
+0.036168133 0.665773005
+0.037145650 0.665719742
+0.038123167 0.665666380
+0.039100684 0.665612917
+0.040078201 0.665559355
+0.041055718 0.665505693
+0.042033236 0.665451930
+0.043010753 0.665398066
+0.043988270 0.665344101
+0.044965787 0.665290034
+0.045943304 0.665223628
+0.046920821 0.665156655
+0.047898338 0.665089559
+0.048875855 0.665022339
+0.049853372 0.664954994
+0.050830890 0.664887525
+0.051808407 0.664819932
+0.052785924 0.664752213
+0.053763441 0.664684369
+0.054740958 0.664616398
+0.055718475 0.664539056
+0.056695992 0.664458237
+0.057673509 0.664377270
+0.058651026 0.664296156
+0.059628543 0.664214895
+0.060606061 0.664133485
+0.061583578 0.664051926
+0.062561095 0.663970218
+0.063538612 0.663888361
+0.064516129 0.663806354
+0.065493646 0.663717900
+0.066471163 0.663623109
+0.067448680 0.663528148
+0.068426197 0.663433016
+0.069403715 0.663337714
+0.070381232 0.663242240
+0.071358749 0.663146594
+0.072336266 0.663050776
+0.073313783 0.662954785
+0.074291300 0.662858620
+0.075268817 0.662758885
+0.076246334 0.662650011
+0.077223851 0.662540943
+0.078201369 0.662431683
+0.079178886 0.662322229
+0.080156403 0.662212581
+0.081133920 0.662102739
+0.082111437 0.661992701
+0.083088954 0.661882468
+0.084066471 0.661772039
+0.085043988 0.661660863
+0.086021505 0.661537806
+0.086999022 0.661414534
+0.087976540 0.661291048
+0.088954057 0.661167346
+0.089931574 0.661043428
+0.090909091 0.660919294
+0.091886608 0.660794942
+0.092864125 0.660670373
+0.093841642 0.660545585
+0.094819159 0.660420579
+0.095796676 0.660285492
+0.096774194 0.660147932
+0.097751711 0.660010136
+0.098729228 0.659872104
+0.099706745 0.659733835
+0.100684262 0.659595328
+0.101661779 0.659456582
+0.102639296 0.659317597
+0.103616813 0.659178373
+0.104594330 0.659038909
+0.105571848 0.658892208
+0.106549365 0.658740291
+0.107526882 0.658588119
+0.108504399 0.658435689
+0.109481916 0.658283002
+0.110459433 0.658130057
+0.111436950 0.657976852
+0.112414467 0.657823389
+0.113391984 0.657669665
+0.114369501 0.657515680
+0.115347019 0.657357242
+0.116324536 0.657190916
+0.117302053 0.657024315
+0.118279570 0.656857437
+0.119257087 0.656690282
+0.120234604 0.656522850
+0.121212121 0.656355139
+0.122189638 0.656187149
+0.123167155 0.656018879
+0.124144673 0.655850329
+0.125122190 0.655680041
+0.126099707 0.655499270
+0.127077224 0.655318205
+0.128054741 0.655136845
+0.129032258 0.654955190
+0.130009775 0.654773238
+0.130987292 0.654590990
+0.131964809 0.654408443
+0.132942326 0.654225598
+0.133919844 0.654042454
+0.134897361 0.653859010
+0.135874878 0.653664982
+0.136852395 0.653469436
+0.137829912 0.653273578
+0.138807429 0.653077407
+0.139784946 0.652880922
+0.140762463 0.652684123
+0.141739980 0.652487008
+0.142717498 0.652289577
+0.143695015 0.652091829
+0.144672532 0.651893763
+0.145650049 0.651687855
+0.146627566 0.651477831
+0.147605083 0.651267477
+0.148582600 0.651056794
+0.149560117 0.650845780
+0.150537634 0.650634436
+0.151515152 0.650422759
+0.152492669 0.650210750
+0.153470186 0.649998407
+0.154447703 0.649785731
+0.155425220 0.649567877
+0.156402737 0.649343393
+0.157380254 0.649118566
+0.158357771 0.648893393
+0.159335288 0.648667875
+0.160312805 0.648442011
+0.161290323 0.648215799
+0.162267840 0.647989239
+0.163245357 0.647762331
+0.164222874 0.647535073
+0.165200391 0.647305221
+0.166177908 0.647066320
+0.167155425 0.646827060
+0.168132942 0.646587441
+0.169110459 0.646347463
+0.170087977 0.646107124
+0.171065494 0.645866424
+0.172043011 0.645625361
+0.173020528 0.645383936
+0.173998045 0.645142147
+0.174975562 0.644899993
+0.175953079 0.644647002
+0.176930596 0.644393373
+0.177908113 0.644139372
+0.178885630 0.643884998
+0.179863148 0.643630251
+0.180840665 0.643375130
+0.181818182 0.643119633
+0.182795699 0.642863761
+0.183773216 0.642607513
+0.184750733 0.642350886
+0.185728250 0.642086038
+0.186705767 0.641818123
+0.187683284 0.641549824
+0.188660802 0.641281142
+0.189638319 0.641012074
+0.190615836 0.640742621
+0.191593353 0.640472782
+0.192570870 0.640202555
+0.193548387 0.639931940
+0.194525904 0.639660937
+0.195503421 0.639384233
+0.196480938 0.639102138
+0.197458456 0.638819650
+0.198435973 0.638536767
+0.199413490 0.638253490
+0.200391007 0.637969817
+0.201368524 0.637685747
+0.202346041 0.637401280
+0.203323558 0.637116415
+0.204301075 0.636831150
+0.205278592 0.636542613
+0.206256109 0.636246466
+0.207233627 0.635949918
+0.208211144 0.635652966
+0.209188661 0.635355612
+0.210166178 0.635057853
+0.211143695 0.634759688
+0.212121212 0.634461118
+0.213098729 0.634162142
+0.214076246 0.633862757
+0.215053763 0.633562423
+0.216031281 0.633252376
+0.217008798 0.632941920
+0.217986315 0.632631055
+0.218963832 0.632319779
+0.219941349 0.632008091
+0.220918866 0.631695992
+0.221896383 0.631383479
+0.222873900 0.631070553
+0.223851417 0.630757212
+0.224828935 0.630443455
+0.225806452 0.630121364
+0.226783969 0.629797178
+0.227761486 0.629472576
+0.228739003 0.629147559
+0.229716520 0.628822125
+0.230694037 0.628496272
+0.231671554 0.628170002
+0.232649071 0.627843312
+0.233626588 0.627516202
+0.234604106 0.627188671
+0.235581623 0.626855159
+0.236559140 0.626517443
+0.237536657 0.626179308
+0.238514174 0.625840753
+0.239491691 0.625501777
+0.240469208 0.625162379
+0.241446725 0.624822559
+0.242424242 0.624482316
+0.243401760 0.624141649
+0.244379277 0.623800557
+0.245356794 0.623455725
+0.246334311 0.623104704
+0.247311828 0.622753262
+0.248289345 0.622401397
+0.249266862 0.622049109
+0.250244379 0.621696398
+0.251221896 0.621343261
+0.252199413 0.620989700
+0.253176931 0.620635712
+0.254154448 0.620281297
+0.255131965 0.619925265
+0.256109482 0.619561189
+0.257086999 0.619196691
+0.258064516 0.618831769
+0.259042033 0.618466424
+0.260019550 0.618100655
+0.260997067 0.617734460
+0.261974585 0.617367839
+0.262952102 0.617000791
+0.263929619 0.616633316
+0.264907136 0.616265413
+0.265884653 0.615889366
+0.266862170 0.615512088
+0.267839687 0.615134387
+0.268817204 0.614756264
+0.269794721 0.614377718
+0.270772239 0.613998747
+0.271749756 0.613619351
+0.272727273 0.613239530
+0.273704790 0.612859282
+0.274682307 0.612478608
+0.275659824 0.612091947
+0.276637341 0.611702189
+0.277614858 0.611312012
+0.278592375 0.610921415
+0.279569892 0.610530398
+0.280547410 0.610138959
+0.281524927 0.609747097
+0.282502444 0.609354813
+0.283479961 0.608962106
+0.284457478 0.608568974
+0.285434995 0.608171886
+0.286412512 0.607769974
+0.287390029 0.607367648
+0.288367546 0.606964906
+0.289345064 0.606561748
+0.290322581 0.606158173
+0.291300098 0.605754180
+0.292277615 0.605349770
+0.293255132 0.604944940
+0.294232649 0.604539690
+0.295210166 0.604132380
+0.296187683 0.603718665
+0.297165200 0.603304542
+0.298142717 0.602890009
+0.299120235 0.602475066
+0.300097752 0.602059712
+0.301075269 0.601643947
+0.302052786 0.601227769
+0.303030303 0.600811179
+0.304007820 0.600394176
+0.304985337 0.599976759
+0.305962854 0.599551726
+0.306940371 0.599126182
+0.307917889 0.598700236
+0.308895406 0.598273888
+0.309872923 0.597847137
+0.310850440 0.597419982
+0.311827957 0.596992424
+0.312805474 0.596564460
+0.313782991 0.596136092
+0.314760508 0.595707318
+0.315738025 0.595272860
+0.316715543 0.594836296
+0.317693060 0.594399340
+0.318670577 0.593961991
+0.319648094 0.593524248
+0.320625611 0.593086112
+0.321603128 0.592647581
+0.322580645 0.592208655
+0.323558162 0.591769334
+0.324535679 0.591329617
+0.325513196 0.590886006
+0.326490714 0.590438847
+0.327468231 0.589991307
+0.328445748 0.589543385
+0.329423265 0.589095081
+0.330400782 0.588646394
+0.331378299 0.588197324
+0.332355816 0.587747870
+0.333333333 0.587298033
+0.334310850 0.586847811
+0.335288368 0.586395337
+0.336265885 0.585938031
+0.337243402 0.585480357
+0.338220919 0.585022313
+0.339198436 0.584563900
+0.340175953 0.584105117
+0.341153470 0.583645965
+0.342130987 0.583186441
+0.343108504 0.582726546
+0.344086022 0.582266280
+0.345063539 0.581805253
+0.346041056 0.581338270
+0.347018573 0.580870934
+0.347996090 0.580403243
+0.348973607 0.579935197
+0.349951124 0.579466795
+0.350928641 0.578998038
+0.351906158 0.578528925
+0.352883675 0.578059455
+0.353861193 0.577589628
+0.354838710 0.577119444
+0.355816227 0.576644207
+0.356793744 0.576167703
+0.357771261 0.575690860
+0.358748778 0.575213679
+0.359726295 0.574736158
+0.360703812 0.574258297
+0.361681329 0.573780096
+0.362658847 0.573301554
+0.363636364 0.572822672
+0.364613881 0.572343449
+0.365591398 0.571860698
+0.366568915 0.571375542
+0.367546432 0.570890065
+0.368523949 0.570404267
+0.369501466 0.569918146
+0.370478983 0.569431703
+0.371456500 0.568944938
+0.372434018 0.568457849
+0.373411535 0.567970438
+0.374389052 0.567482703
+0.375366569 0.566992805
+0.376344086 0.566499534
+0.377321603 0.566005960
+0.378299120 0.565512083
+0.379276637 0.565017903
+0.380254154 0.564523420
+0.381231672 0.564028633
+0.382209189 0.563533542
+0.383186706 0.563038147
+0.384164223 0.562542448
+0.385141740 0.562045786
+0.386119257 0.561544954
+0.387096774 0.561043840
+0.388074291 0.560542444
+0.389051808 0.560040764
+0.390029326 0.559538801
+0.391006843 0.559036555
+0.391984360 0.558534026
+0.392961877 0.558031212
+0.393939394 0.557528114
+0.394916911 0.557024732
+0.395894428 0.556517268
+0.396871945 0.556009189
+0.397849462 0.555500848
+0.398826979 0.554992247
+0.399804497 0.554483383
+0.400782014 0.553974258
+0.401759531 0.553464870
+0.402737048 0.552955221
+0.403714565 0.552445308
+0.404692082 0.551935134
+0.405669599 0.551422112
+0.406647116 0.550907660
+0.407624633 0.550392969
+0.408602151 0.549878039
+0.409579668 0.549362870
+0.410557185 0.548847462
+0.411534702 0.548331815
+0.412512219 0.547815928
+0.413489736 0.547299802
+0.414467253 0.546783436
+0.415444770 0.546265287
+0.416422287 0.545745069
+0.417399804 0.545224637
+0.418377322 0.544703989
+0.419354839 0.544183126
+0.420332356 0.543662048
+0.421309873 0.543140754
+0.422287390 0.542619244
+0.423264907 0.542097518
+0.424242424 0.541575577
+0.425219941 0.541052744
+0.426197458 0.540527383
+0.427174976 0.540001832
+0.428152493 0.539476090
+0.429130010 0.538950158
+0.430107527 0.538424035
+0.431085044 0.537897722
+0.432062561 0.537371217
+0.433040078 0.536844521
+0.434017595 0.536317635
+0.434995112 0.535790557
+0.435972630 0.535260701
+0.436950147 0.534730668
+0.437927664 0.534200469
+0.438905181 0.533670106
+0.439882698 0.533139577
+0.440860215 0.532608883
+0.441837732 0.532078024
+0.442815249 0.531546999
+0.443792766 0.531015810
+0.444770283 0.530484454
+0.445747801 0.529951246
+0.446725318 0.529417377
+0.447702835 0.528883370
+0.448680352 0.528349224
+0.449657869 0.527814939
+0.450635386 0.527280516
+0.451612903 0.526745953
+0.452590420 0.526211252
+0.453567937 0.525676412
+0.454545455 0.525141432
+0.455522972 0.524605346
+0.456500489 0.524068300
+0.457478006 0.523531142
+0.458455523 0.522993872
+0.459433040 0.522456490
+0.460410557 0.521918997
+0.461388074 0.521381392
+0.462365591 0.520843675
+0.463343109 0.520305846
+0.464320626 0.519767905
+0.465298143 0.519229421
+0.466275660 0.518689863
+0.467253177 0.518150220
+0.468230694 0.517610493
+0.469208211 0.517070682
+0.470185728 0.516530787
+0.471163245 0.515990807
+0.472140762 0.515450743
+0.473118280 0.514910594
+0.474095797 0.514370361
+0.475073314 0.513829968
+0.476050831 0.513288569
+0.477028348 0.512747115
+0.478005865 0.512205604
+0.478983382 0.511664036
+0.479960899 0.511122412
+0.480938416 0.510580732
+0.481915934 0.510038995
+0.482893451 0.509497202
+0.483870968 0.508955352
+0.484848485 0.508413446
+0.485826002 0.507870980
+0.486803519 0.507328390
+0.487781036 0.506785773
+0.488758553 0.506243127
+0.489736070 0.505700453
+0.490713587 0.505157751
+0.491691105 0.504615020
+0.492668622 0.504072261
+0.493646139 0.503529474
+0.494623656 0.502986658
+0.495601173 0.502443695
+0.496578690 0.501900652
+0.497556207 0.501357608
+0.498533724 0.500814565
+0.499511241 0.500271522
+0.500488759 0.499728478
+0.501466276 0.499185435
+0.502443793 0.498642392
+0.503421310 0.498099348
+0.504398827 0.497556305
+0.505376344 0.497013342
+0.506353861 0.496470526
+0.507331378 0.495927739
+0.508308895 0.495384980
+0.509286413 0.494842249
+0.510263930 0.494299547
+0.511241447 0.493756873
+0.512218964 0.493214227
+0.513196481 0.492671610
+0.514173998 0.492129020
+0.515151515 0.491586554
+0.516129032 0.491044648
+0.517106549 0.490502798
+0.518084066 0.489961005
+0.519061584 0.489419268
+0.520039101 0.488877588
+0.521016618 0.488335964
+0.521994135 0.487794396
+0.522971652 0.487252885
+0.523949169 0.486711431
+0.524926686 0.486170032
+0.525904203 0.485629639
+0.526881720 0.485089406
+0.527859238 0.484549257
+0.528836755 0.484009193
+0.529814272 0.483469213
+0.530791789 0.482929318
+0.531769306 0.482389507
+0.532746823 0.481849780
+0.533724340 0.481310137
+0.534701857 0.480770579
+0.535679374 0.480232095
+0.536656891 0.479694154
+0.537634409 0.479156325
+0.538611926 0.478618608
+0.539589443 0.478081003
+0.540566960 0.477543510
+0.541544477 0.477006128
+0.542521994 0.476468858
+0.543499511 0.475931700
+0.544477028 0.475394654
+0.545454545 0.474858568
+0.546432063 0.474323588
+0.547409580 0.473788748
+0.548387097 0.473254047
+0.549364614 0.472719484
+0.550342131 0.472185061
+0.551319648 0.471650776
+0.552297165 0.471116630
+0.553274682 0.470582623
+0.554252199 0.470048754
+0.555229717 0.469515546
+0.556207234 0.468984190
+0.557184751 0.468453001
+0.558162268 0.467921976
+0.559139785 0.467391117
+0.560117302 0.466860423
+0.561094819 0.466329894
+0.562072336 0.465799531
+0.563049853 0.465269332
+0.564027370 0.464739299
+0.565004888 0.464209443
+0.565982405 0.463682365
+0.566959922 0.463155479
+0.567937439 0.462628783
+0.568914956 0.462102278
+0.569892473 0.461575965
+0.570869990 0.461049842
+0.571847507 0.460523910
+0.572825024 0.459998168
+0.573802542 0.459472617
+0.574780059 0.458947256
+0.575757576 0.458424423
+0.576735093 0.457902482
+0.577712610 0.457380756
+0.578690127 0.456859246
+0.579667644 0.456337952
+0.580645161 0.455816874
+0.581622678 0.455296011
+0.582600196 0.454775363
+0.583577713 0.454254931
+0.584555230 0.453734713
+0.585532747 0.453216564
+0.586510264 0.452700198
+0.587487781 0.452184072
+0.588465298 0.451668185
+0.589442815 0.451152538
+0.590420332 0.450637130
+0.591397849 0.450121961
+0.592375367 0.449607031
+0.593352884 0.449092340
+0.594330401 0.448577888
+0.595307918 0.448064866
+0.596285435 0.447554692
+0.597262952 0.447044779
+0.598240469 0.446535130
+0.599217986 0.446025742
+0.600195503 0.445516617
+0.601173021 0.445007753
+0.602150538 0.444499152
+0.603128055 0.443990811
+0.604105572 0.443482732
+0.605083089 0.442975268
+0.606060606 0.442471886
+0.607038123 0.441968788
+0.608015640 0.441465974
+0.608993157 0.440963445
+0.609970674 0.440461199
+0.610948192 0.439959236
+0.611925709 0.439457556
+0.612903226 0.438956160
+0.613880743 0.438455046
+0.614858260 0.437954214
+0.615835777 0.437457552
+0.616813294 0.436961853
+0.617790811 0.436466458
+0.618768328 0.435971367
+0.619745846 0.435476580
+0.620723363 0.434982097
+0.621700880 0.434487917
+0.622678397 0.433994040
+0.623655914 0.433500466
+0.624633431 0.433007195
+0.625610948 0.432517297
+0.626588465 0.432029562
+0.627565982 0.431542151
+0.628543500 0.431055062
+0.629521017 0.430568297
+0.630498534 0.430081854
+0.631476051 0.429595733
+0.632453568 0.429109935
+0.633431085 0.428624458
+0.634408602 0.428139302
+0.635386119 0.427656551
+0.636363636 0.427177328
+0.637341153 0.426698446
+0.638318671 0.426219904
+0.639296188 0.425741703
+0.640273705 0.425263842
+0.641251222 0.424786321
+0.642228739 0.424309140
+0.643206256 0.423832297
+0.644183773 0.423355793
+0.645161290 0.422880556
+0.646138807 0.422410372
+0.647116325 0.421940545
+0.648093842 0.421471075
+0.649071359 0.421001962
+0.650048876 0.420533205
+0.651026393 0.420064803
+0.652003910 0.419596757
+0.652981427 0.419129066
+0.653958944 0.418661730
+0.654936461 0.418194747
+0.655913978 0.417733720
+0.656891496 0.417273454
+0.657869013 0.416813559
+0.658846530 0.416354035
+0.659824047 0.415894883
+0.660801564 0.415436100
+0.661779081 0.414977687
+0.662756598 0.414519643
+0.663734115 0.414061969
+0.664711632 0.413604663
+0.665689150 0.413152189
+0.666666667 0.412701967
+0.667644184 0.412252130
+0.668621701 0.411802676
+0.669599218 0.411353606
+0.670576735 0.410904919
+0.671554252 0.410456615
+0.672531769 0.410008693
+0.673509286 0.409561153
+0.674486804 0.409113994
+0.675464321 0.408670383
+0.676441838 0.408230666
+0.677419355 0.407791345
+0.678396872 0.407352419
+0.679374389 0.406913888
+0.680351906 0.406475752
+0.681329423 0.406038009
+0.682306940 0.405600660
+0.683284457 0.405163704
+0.684261975 0.404727140
+0.685239492 0.404292682
+0.686217009 0.403863908
+0.687194526 0.403435540
+0.688172043 0.403007576
+0.689149560 0.402580018
+0.690127077 0.402152863
+0.691104594 0.401726112
+0.692082111 0.401299764
+0.693059629 0.400873818
+0.694037146 0.400448274
+0.695014663 0.400023241
+0.695992180 0.399605824
+0.696969697 0.399188821
+0.697947214 0.398772231
+0.698924731 0.398356053
+0.699902248 0.397940288
+0.700879765 0.397524934
+0.701857283 0.397109991
+0.702834800 0.396695458
+0.703812317 0.396281335
+0.704789834 0.395867620
+0.705767351 0.395460310
+0.706744868 0.395055060
+0.707722385 0.394650230
+0.708699902 0.394245820
+0.709677419 0.393841827
+0.710654936 0.393438252
+0.711632454 0.393035094
+0.712609971 0.392632352
+0.713587488 0.392230026
+0.714565005 0.391828114
+0.715542522 0.391431026
+0.716520039 0.391037894
+0.717497556 0.390645187
+0.718475073 0.390252903
+0.719452590 0.389861041
+0.720430108 0.389469602
+0.721407625 0.389078585
+0.722385142 0.388687988
+0.723362659 0.388297811
+0.724340176 0.387908053
+0.725317693 0.387521392
+0.726295210 0.387140718
+0.727272727 0.386760470
+0.728250244 0.386380649
+0.729227761 0.386001253
+0.730205279 0.385622282
+0.731182796 0.385243736
+0.732160313 0.384865613
+0.733137830 0.384487912
+0.734115347 0.384110634
+0.735092864 0.383734587
+0.736070381 0.383366684
+0.737047898 0.382999209
+0.738025415 0.382632161
+0.739002933 0.382265540
+0.739980450 0.381899345
+0.740957967 0.381533576
+0.741935484 0.381168231
+0.742913001 0.380803309
+0.743890518 0.380438811
+0.744868035 0.380074735
+0.745845552 0.379718703
+0.746823069 0.379364288
+0.747800587 0.379010300
+0.748778104 0.378656739
+0.749755621 0.378303602
+0.750733138 0.377950891
+0.751710655 0.377598603
+0.752688172 0.377246738
+0.753665689 0.376895296
+0.754643206 0.376544275
+0.755620723 0.376199443
+0.756598240 0.375858351
+0.757575758 0.375517684
+0.758553275 0.375177441
+0.759530792 0.374837621
+0.760508309 0.374498223
+0.761485826 0.374159247
+0.762463343 0.373820692
+0.763440860 0.373482557
+0.764418377 0.373144841
+0.765395894 0.372811329
+0.766373412 0.372483798
+0.767350929 0.372156688
+0.768328446 0.371829998
+0.769305963 0.371503728
+0.770283480 0.371177875
+0.771260997 0.370852441
+0.772238514 0.370527424
+0.773216031 0.370202822
+0.774193548 0.369878636
+0.775171065 0.369556545
+0.776148583 0.369242788
+0.777126100 0.368929447
+0.778103617 0.368616521
+0.779081134 0.368304008
+0.780058651 0.367991909
+0.781036168 0.367680221
+0.782013685 0.367368945
+0.782991202 0.367058080
+0.783968719 0.366747624
+0.784946237 0.366437577
+0.785923754 0.366137243
+0.786901271 0.365837858
+0.787878788 0.365538882
+0.788856305 0.365240312
+0.789833822 0.364942147
+0.790811339 0.364644388
+0.791788856 0.364347034
+0.792766373 0.364050082
+0.793743891 0.363753534
+0.794721408 0.363457387
+0.795698925 0.363168850
+0.796676442 0.362883585
+0.797653959 0.362598720
+0.798631476 0.362314253
+0.799608993 0.362030183
+0.800586510 0.361746510
+0.801564027 0.361463233
+0.802541544 0.361180350
+0.803519062 0.360897862
+0.804496579 0.360615767
+0.805474096 0.360339063
+0.806451613 0.360068060
+0.807429130 0.359797445
+0.808406647 0.359527218
+0.809384164 0.359257379
+0.810361681 0.358987926
+0.811339198 0.358718858
+0.812316716 0.358450176
+0.813294233 0.358181877
+0.814271750 0.357913962
+0.815249267 0.357649114
+0.816226784 0.357392487
+0.817204301 0.357136239
+0.818181818 0.356880367
+0.819159335 0.356624870
+0.820136852 0.356369749
+0.821114370 0.356115002
+0.822091887 0.355860628
+0.823069404 0.355606627
+0.824046921 0.355352998
+0.825024438 0.355100007
+0.826001955 0.354857853
+0.826979472 0.354616064
+0.827956989 0.354374639
+0.828934506 0.354133576
+0.829912023 0.353892876
+0.830889541 0.353652537
+0.831867058 0.353412559
+0.832844575 0.353172940
+0.833822092 0.352933680
+0.834799609 0.352694779
+0.835777126 0.352464927
+0.836754643 0.352237669
+0.837732160 0.352010761
+0.838709677 0.351784201
+0.839687195 0.351557989
+0.840664712 0.351332125
+0.841642229 0.351106607
+0.842619746 0.350881434
+0.843597263 0.350656607
+0.844574780 0.350432123
+0.845552297 0.350214269
+0.846529814 0.350001593
+0.847507331 0.349789250
+0.848484848 0.349577241
+0.849462366 0.349365564
+0.850439883 0.349154220
+0.851417400 0.348943206
+0.852394917 0.348732523
+0.853372434 0.348522169
+0.854349951 0.348312145
+0.855327468 0.348106237
+0.856304985 0.347908171
+0.857282502 0.347710423
+0.858260020 0.347512992
+0.859237537 0.347315877
+0.860215054 0.347119078
+0.861192571 0.346922593
+0.862170088 0.346726422
+0.863147605 0.346530564
+0.864125122 0.346335018
+0.865102639 0.346140990
+0.866080156 0.345957546
+0.867057674 0.345774402
+0.868035191 0.345591557
+0.869012708 0.345409010
+0.869990225 0.345226762
+0.870967742 0.345044810
+0.871945259 0.344863155
+0.872922776 0.344681795
+0.873900293 0.344500730
+0.874877810 0.344319959
+0.875855327 0.344149671
+0.876832845 0.343981121
+0.877810362 0.343812851
+0.878787879 0.343644861
+0.879765396 0.343477150
+0.880742913 0.343309718
+0.881720430 0.343142563
+0.882697947 0.342975685
+0.883675464 0.342809084
+0.884652981 0.342642758
+0.885630499 0.342484320
+0.886608016 0.342330335
+0.887585533 0.342176611
+0.888563050 0.342023148
+0.889540567 0.341869943
+0.890518084 0.341716998
+0.891495601 0.341564311
+0.892473118 0.341411881
+0.893450635 0.341259709
+0.894428152 0.341107792
+0.895405670 0.340961091
+0.896383187 0.340821627
+0.897360704 0.340682403
+0.898338221 0.340543418
+0.899315738 0.340404672
+0.900293255 0.340266165
+0.901270772 0.340127896
+0.902248289 0.339989864
+0.903225806 0.339852068
+0.904203324 0.339714508
+0.905180841 0.339579421
+0.906158358 0.339454415
+0.907135875 0.339329627
+0.908113392 0.339205058
+0.909090909 0.339080706
+0.910068426 0.338956572
+0.911045943 0.338832654
+0.912023460 0.338708952
+0.913000978 0.338585466
+0.913978495 0.338462194
+0.914956012 0.338339137
+0.915933529 0.338227961
+0.916911046 0.338117532
+0.917888563 0.338007299
+0.918866080 0.337897261
+0.919843597 0.337787419
+0.920821114 0.337677771
+0.921798631 0.337568317
+0.922776149 0.337459057
+0.923753666 0.337349989
+0.924731183 0.337241115
+0.925708700 0.337141380
+0.926686217 0.337045215
+0.927663734 0.336949224
+0.928641251 0.336853406
+0.929618768 0.336757760
+0.930596285 0.336662286
+0.931573803 0.336566984
+0.932551320 0.336471852
+0.933528837 0.336376891
+0.934506354 0.336282100
+0.935483871 0.336193646
+0.936461388 0.336111639
+0.937438905 0.336029782
+0.938416422 0.335948074
+0.939393939 0.335866515
+0.940371457 0.335785105
+0.941348974 0.335703844
+0.942326491 0.335622730
+0.943304008 0.335541763
+0.944281525 0.335460944
+0.945259042 0.335383602
+0.946236559 0.335315631
+0.947214076 0.335247787
+0.948191593 0.335180068
+0.949169110 0.335112475
+0.950146628 0.335045006
+0.951124145 0.334977661
+0.952101662 0.334910441
+0.953079179 0.334843345
+0.954056696 0.334776372
+0.955034213 0.334709966
+0.956011730 0.334655899
+0.956989247 0.334601934
+0.957966764 0.334548070
+0.958944282 0.334494307
+0.959921799 0.334440645
+0.960899316 0.334387083
+0.961876833 0.334333620
+0.962854350 0.334280258
+0.963831867 0.334226995
+0.964809384 0.334173831
+0.965786901 0.334131034
+0.966764418 0.334090804
+0.967741935 0.334050649
+0.968719453 0.334010571
+0.969696970 0.333970568
+0.970674487 0.333930642
+0.971652004 0.333890791
+0.972629521 0.333851014
+0.973607038 0.333811314
+0.974584555 0.333771687
+0.975562072 0.333739521
+0.976539589 0.333712869
+0.977517107 0.333686268
+0.978494624 0.333659718
+0.979472141 0.333633219
+0.980449658 0.333606771
+0.981427175 0.333580374
+0.982404692 0.333554026
+0.983382209 0.333527729
+0.984359726 0.333501482
+0.985337243 0.333479745
+0.986314761 0.333466506
+0.987292278 0.333453293
+0.988269795 0.333440106
+0.989247312 0.333426944
+0.990224829 0.333413807
+0.991202346 0.333400697
+0.992179863 0.333387611
+0.993157380 0.333374550
+0.994134897 0.333361515
+0.995112414 0.333350000
+0.996089932 0.333350000
+0.997067449 0.333350000
+0.998044966 0.333350000
+0.999022483 0.333350000
+1.000000000 0.333350000
diff --git a/examples/mamdani/ObstacleAvoidance.fll b/examples/mamdani/ObstacleAvoidance.fll
new file mode 100644
index 0000000..a47f1b4
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.fll
@@ -0,0 +1,25 @@
+Engine: ObstacleAvoidance
+InputVariable: obstacle
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: left Ramp 1.000 0.000
+ term: right Ramp 0.000 1.000
+OutputVariable: mSteer
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 100
+ default: nan
+ lock-previous: false
+ term: left Ramp 1.000 0.000
+ term: right Ramp 0.000 1.000
+RuleBlock: mamdani
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: AlgebraicProduct
+ activation: General
+ rule: if obstacle is left then mSteer is right
+ rule: if obstacle is right then mSteer is left \ No newline at end of file
diff --git a/examples/mamdani/ObstacleAvoidance.java b/examples/mamdani/ObstacleAvoidance.java
new file mode 100644
index 0000000..8efef3b
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.java
@@ -0,0 +1,60 @@
+import com.fuzzylite.*;
+import com.fuzzylite.activation.*
+import com.fuzzylite.defuzzifier.*;
+import com.fuzzylite.factory.*;
+import com.fuzzylite.hedge.*;
+import com.fuzzylite.imex.*;
+import com.fuzzylite.norm.*;
+import com.fuzzylite.norm.s.*;
+import com.fuzzylite.norm.t.*;
+import com.fuzzylite.rule.*;
+import com.fuzzylite.term.*;
+import com.fuzzylite.variable.*;
+
+public class ObstacleAvoidance{
+public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
+Engine engine = new Engine();
+engine.setName("ObstacleAvoidance");
+engine.setDescription("");
+
+InputVariable obstacle = new InputVariable();
+obstacle.setName("obstacle");
+obstacle.setDescription("");
+obstacle.setEnabled(true);
+obstacle.setRange(0.000, 1.000);
+obstacle.setLockValueInRange(false);
+obstacle.addTerm(new Ramp("left", 1.000, 0.000));
+obstacle.addTerm(new Ramp("right", 0.000, 1.000));
+engine.addInputVariable(obstacle);
+
+OutputVariable mSteer = new OutputVariable();
+mSteer.setName("mSteer");
+mSteer.setDescription("");
+mSteer.setEnabled(true);
+mSteer.setRange(0.000, 1.000);
+mSteer.setLockValueInRange(false);
+mSteer.setAggregation(new Maximum());
+mSteer.setDefuzzifier(new Centroid(100));
+mSteer.setDefaultValue(Double.NaN);
+mSteer.setLockPreviousValue(false);
+mSteer.addTerm(new Ramp("left", 1.000, 0.000));
+mSteer.addTerm(new Ramp("right", 0.000, 1.000));
+engine.addOutputVariable(mSteer);
+
+RuleBlock mamdani = new RuleBlock();
+mamdani.setName("mamdani");
+mamdani.setDescription("");
+mamdani.setEnabled(true);
+mamdani.setConjunction(null);
+mamdani.setDisjunction(null);
+mamdani.setImplication(new AlgebraicProduct());
+mamdani.setActivation(new General());
+mamdani.addRule(Rule.parse("if obstacle is left then mSteer is right", engine));
+mamdani.addRule(Rule.parse("if obstacle is right then mSteer is left", engine));
+engine.addRuleBlock(mamdani);
+
+
+}
+}
diff --git a/examples/mamdani/ObstacleAvoidance.pdf b/examples/mamdani/ObstacleAvoidance.pdf
new file mode 100644
index 0000000..63e1fe9
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.pdf
Binary files differ
diff --git a/examples/mamdani/SimpleDimmer.R b/examples/mamdani/SimpleDimmer.R
new file mode 100644
index 0000000..77a60f3
--- /dev/null
+++ b/examples/mamdani/SimpleDimmer.R
@@ -0,0 +1,60 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "SimpleDimmer"
+engine.fll = "Engine: SimpleDimmer
+InputVariable: Ambient
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: DARK Triangle 0.000 0.250 0.500
+ term: MEDIUM Triangle 0.250 0.500 0.750
+ term: BRIGHT Triangle 0.500 0.750 1.000
+OutputVariable: Power
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 200
+ default: nan
+ lock-previous: false
+ term: LOW Triangle 0.000 0.250 0.500
+ term: MEDIUM Triangle 0.250 0.500 0.750
+ term: HIGH Triangle 0.500 0.750 1.000
+RuleBlock:
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: Minimum
+ activation: General
+ rule: if Ambient is DARK then Power is HIGH
+ rule: if Ambient is MEDIUM then Power is MEDIUM
+ rule: if Ambient is BRIGHT then Power is LOW"
+
+engine.fldFile = "SimpleDimmer.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(Ambient, Power)) +
+ geom_line(aes(color=Power), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("Ambient vs Power")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(Ambient, Power)) +
+ geom_line(aes(color=Power), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("Power vs Ambient")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/SimpleDimmer.cpp b/examples/mamdani/SimpleDimmer.cpp
index b4c6897..7cd5e73 100644
--- a/examples/mamdani/SimpleDimmer.cpp
+++ b/examples/mamdani/SimpleDimmer.cpp
@@ -1,43 +1,51 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("simple-dimmer");
-
-InputVariable* inputVariable = new InputVariable;
-inputVariable->setEnabled(true);
-inputVariable->setName("Ambient");
-inputVariable->setRange(0.000, 1.000);
-inputVariable->addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
-inputVariable->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-inputVariable->addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
-engine->addInputVariable(inputVariable);
-
-OutputVariable* outputVariable = new OutputVariable;
-outputVariable->setEnabled(true);
-outputVariable->setName("Power");
-outputVariable->setRange(0.000, 1.000);
-outputVariable->fuzzyOutput()->setAccumulation(new Maximum);
-outputVariable->setDefuzzifier(new Centroid(200));
-outputVariable->setDefaultValue(fl::nan);
-outputVariable->setLockPreviousOutputValue(false);
-outputVariable->setLockOutputValueInRange(false);
-outputVariable->addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
-outputVariable->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-outputVariable->addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
-engine->addOutputVariable(outputVariable);
+engine->setName("SimpleDimmer");
+engine->setDescription("");
+
+InputVariable* Ambient = new InputVariable;
+Ambient->setName("Ambient");
+Ambient->setDescription("");
+Ambient->setEnabled(true);
+Ambient->setRange(0.000, 1.000);
+Ambient->setLockValueInRange(false);
+Ambient->addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
+Ambient->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Ambient->addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
+engine->addInputVariable(Ambient);
+
+OutputVariable* Power = new OutputVariable;
+Power->setName("Power");
+Power->setDescription("");
+Power->setEnabled(true);
+Power->setRange(0.000, 1.000);
+Power->setLockValueInRange(false);
+Power->setAggregation(new Maximum);
+Power->setDefuzzifier(new Centroid(200));
+Power->setDefaultValue(fl::nan);
+Power->setLockPreviousValue(false);
+Power->addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
+Power->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Power->addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
+engine->addOutputVariable(Power);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(fl::null);
ruleBlock->setDisjunction(fl::null);
-ruleBlock->setActivation(new Minimum);
-ruleBlock->addRule(fl::Rule::parse("if Ambient is DARK then Power is HIGH", engine));
-ruleBlock->addRule(fl::Rule::parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
-ruleBlock->addRule(fl::Rule::parse("if Ambient is BRIGHT then Power is LOW", engine));
+ruleBlock->setImplication(new Minimum);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if Ambient is DARK then Power is HIGH", engine));
+ruleBlock->addRule(Rule::parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
+ruleBlock->addRule(Rule::parse("if Ambient is BRIGHT then Power is LOW", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/mamdani/SimpleDimmer.fcl b/examples/mamdani/SimpleDimmer.fcl
index a9b9552..104990a 100644
--- a/examples/mamdani/SimpleDimmer.fcl
+++ b/examples/mamdani/SimpleDimmer.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK simple-dimmer
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK SimpleDimmer
VAR_INPUT
Ambient: REAL;
diff --git a/examples/mamdani/SimpleDimmer.fis b/examples/mamdani/SimpleDimmer.fis
index 40ac849..3435060 100644
--- a/examples/mamdani/SimpleDimmer.fis
+++ b/examples/mamdani/SimpleDimmer.fis
@@ -1,11 +1,14 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name='simple-dimmer'
+Name='SimpleDimmer'
Type='mamdani'
+Version=6.0
NumInputs=1
NumOutputs=1
NumRules=3
-AndMethod=''
-OrMethod=''
+AndMethod='min'
+OrMethod='max'
ImpMethod='min'
AggMethod='max'
DefuzzMethod='centroid'
diff --git a/examples/mamdani/SimpleDimmer.fld b/examples/mamdani/SimpleDimmer.fld
index 4d9a671..bd4dc51 100644
--- a/examples/mamdani/SimpleDimmer.fld
+++ b/examples/mamdani/SimpleDimmer.fld
@@ -1,1026 +1,1025 @@
-#@Engine: simple-dimmer;
-#@InputVariable: Ambient; @OutputVariable: Power;
-0.00000000 nan
-0.00097752 0.75000000
-0.00195503 0.75000000
-0.00293255 0.75000000
-0.00391007 0.75000000
-0.00488759 0.75000000
-0.00586510 0.75000000
-0.00684262 0.75000000
-0.00782014 0.75000000
-0.00879765 0.75000000
-0.00977517 0.75000000
-0.01075269 0.75000000
-0.01173021 0.75000000
-0.01270772 0.75000000
-0.01368524 0.75000000
-0.01466276 0.75000000
-0.01564027 0.75000000
-0.01661779 0.75000000
-0.01759531 0.75000000
-0.01857283 0.75000000
-0.01955034 0.75000000
-0.02052786 0.75000000
-0.02150538 0.75000000
-0.02248289 0.75000000
-0.02346041 0.75000000
-0.02443793 0.75000000
-0.02541544 0.75000000
-0.02639296 0.75000000
-0.02737048 0.75000000
-0.02834800 0.75000000
-0.02932551 0.75000000
-0.03030303 0.75000000
-0.03128055 0.75000000
-0.03225806 0.75000000
-0.03323558 0.75000000
-0.03421310 0.75000000
-0.03519062 0.75000000
-0.03616813 0.75000000
-0.03714565 0.75000000
-0.03812317 0.75000000
-0.03910068 0.75000000
-0.04007820 0.75000000
-0.04105572 0.75000000
-0.04203324 0.75000000
-0.04301075 0.75000000
-0.04398827 0.75000000
-0.04496579 0.75000000
-0.04594330 0.75000000
-0.04692082 0.75000000
-0.04789834 0.75000000
-0.04887586 0.75000000
-0.04985337 0.75000000
-0.05083089 0.75000000
-0.05180841 0.75000000
-0.05278592 0.75000000
-0.05376344 0.75000000
-0.05474096 0.75000000
-0.05571848 0.75000000
-0.05669599 0.75000000
-0.05767351 0.75000000
-0.05865103 0.75000000
-0.05962854 0.75000000
-0.06060606 0.75000000
-0.06158358 0.75000000
-0.06256109 0.75000000
-0.06353861 0.75000000
-0.06451613 0.75000000
-0.06549365 0.75000000
-0.06647116 0.75000000
-0.06744868 0.75000000
-0.06842620 0.75000000
-0.06940371 0.75000000
-0.07038123 0.75000000
-0.07135875 0.75000000
-0.07233627 0.75000000
-0.07331378 0.75000000
-0.07429130 0.75000000
-0.07526882 0.75000000
-0.07624633 0.75000000
-0.07722385 0.75000000
-0.07820137 0.75000000
-0.07917889 0.75000000
-0.08015640 0.75000000
-0.08113392 0.75000000
-0.08211144 0.75000000
-0.08308895 0.75000000
-0.08406647 0.75000000
-0.08504399 0.75000000
-0.08602151 0.75000000
-0.08699902 0.75000000
-0.08797654 0.75000000
-0.08895406 0.75000000
-0.08993157 0.75000000
-0.09090909 0.75000000
-0.09188661 0.75000000
-0.09286413 0.75000000
-0.09384164 0.75000000
-0.09481916 0.75000000
-0.09579668 0.75000000
-0.09677419 0.75000000
-0.09775171 0.75000000
-0.09872923 0.75000000
-0.09970674 0.75000000
-0.10068426 0.75000000
-0.10166178 0.75000000
-0.10263930 0.75000000
-0.10361681 0.75000000
-0.10459433 0.75000000
-0.10557185 0.75000000
-0.10654936 0.75000000
-0.10752688 0.75000000
-0.10850440 0.75000000
-0.10948192 0.75000000
-0.11045943 0.75000000
-0.11143695 0.75000000
-0.11241447 0.75000000
-0.11339198 0.75000000
-0.11436950 0.75000000
-0.11534702 0.75000000
-0.11632454 0.75000000
-0.11730205 0.75000000
-0.11827957 0.75000000
-0.11925709 0.75000000
-0.12023460 0.75000000
-0.12121212 0.75000000
-0.12218964 0.75000000
-0.12316716 0.75000000
-0.12414467 0.75000000
-0.12512219 0.75000000
-0.12609971 0.75000000
-0.12707722 0.75000000
-0.12805474 0.75000000
-0.12903226 0.75000000
-0.13000978 0.75000000
-0.13098729 0.75000000
-0.13196481 0.75000000
-0.13294233 0.75000000
-0.13391984 0.75000000
-0.13489736 0.75000000
-0.13587488 0.75000000
-0.13685239 0.75000000
-0.13782991 0.75000000
-0.13880743 0.75000000
-0.13978495 0.75000000
-0.14076246 0.75000000
-0.14173998 0.75000000
-0.14271750 0.75000000
-0.14369501 0.75000000
-0.14467253 0.75000000
-0.14565005 0.75000000
-0.14662757 0.75000000
-0.14760508 0.75000000
-0.14858260 0.75000000
-0.14956012 0.75000000
-0.15053763 0.75000000
-0.15151515 0.75000000
-0.15249267 0.75000000
-0.15347019 0.75000000
-0.15444770 0.75000000
-0.15542522 0.75000000
-0.15640274 0.75000000
-0.15738025 0.75000000
-0.15835777 0.75000000
-0.15933529 0.75000000
-0.16031281 0.75000000
-0.16129032 0.75000000
-0.16226784 0.75000000
-0.16324536 0.75000000
-0.16422287 0.75000000
-0.16520039 0.75000000
-0.16617791 0.75000000
-0.16715543 0.75000000
-0.16813294 0.75000000
-0.16911046 0.75000000
-0.17008798 0.75000000
-0.17106549 0.75000000
-0.17204301 0.75000000
-0.17302053 0.75000000
-0.17399804 0.75000000
-0.17497556 0.75000000
-0.17595308 0.75000000
-0.17693060 0.75000000
-0.17790811 0.75000000
-0.17888563 0.75000000
-0.17986315 0.75000000
-0.18084066 0.75000000
-0.18181818 0.75000000
-0.18279570 0.75000000
-0.18377322 0.75000000
-0.18475073 0.75000000
-0.18572825 0.75000000
-0.18670577 0.75000000
-0.18768328 0.75000000
-0.18866080 0.75000000
-0.18963832 0.75000000
-0.19061584 0.75000000
-0.19159335 0.75000000
-0.19257087 0.75000000
-0.19354839 0.75000000
-0.19452590 0.75000000
-0.19550342 0.75000000
-0.19648094 0.75000000
-0.19745846 0.75000000
-0.19843597 0.75000000
-0.19941349 0.75000000
-0.20039101 0.75000000
-0.20136852 0.75000000
-0.20234604 0.75000000
-0.20332356 0.75000000
-0.20430108 0.75000000
-0.20527859 0.75000000
-0.20625611 0.75000000
-0.20723363 0.75000000
-0.20821114 0.75000000
-0.20918866 0.75000000
-0.21016618 0.75000000
-0.21114370 0.75000000
-0.21212121 0.75000000
-0.21309873 0.75000000
-0.21407625 0.75000000
-0.21505376 0.75000000
-0.21603128 0.75000000
-0.21700880 0.75000000
-0.21798631 0.75000000
-0.21896383 0.75000000
-0.21994135 0.75000000
-0.22091887 0.75000000
-0.22189638 0.75000000
-0.22287390 0.75000000
-0.22385142 0.75000000
-0.22482893 0.75000000
-0.22580645 0.75000000
-0.22678397 0.75000000
-0.22776149 0.75000000
-0.22873900 0.75000000
-0.22971652 0.75000000
-0.23069404 0.75000000
-0.23167155 0.75000000
-0.23264907 0.75000000
-0.23362659 0.75000000
-0.23460411 0.75000000
-0.23558162 0.75000000
-0.23655914 0.75000000
-0.23753666 0.75000000
-0.23851417 0.75000000
-0.23949169 0.75000000
-0.24046921 0.75000000
-0.24144673 0.75000000
-0.24242424 0.75000000
-0.24340176 0.75000000
-0.24437928 0.75000000
-0.24535679 0.75000000
-0.24633431 0.75000000
-0.24731183 0.75000000
-0.24828935 0.75000000
-0.24926686 0.75000000
-0.25024438 0.74963379
-0.25122190 0.74817607
-0.25219941 0.74672965
-0.25317693 0.74530727
-0.25415445 0.74390115
-0.25513196 0.74250538
-0.25610948 0.74111985
-0.25708700 0.73974444
-0.25806452 0.73838897
-0.25904203 0.73705025
-0.26001955 0.73572080
-0.26099707 0.73440054
-0.26197458 0.73308936
-0.26295210 0.73179453
-0.26392962 0.73051679
-0.26490714 0.72924739
-0.26588465 0.72798623
-0.26686217 0.72673323
-0.26783969 0.72549344
-0.26881720 0.72427097
-0.26979472 0.72305599
-0.27077224 0.72184842
-0.27174976 0.72064820
-0.27272727 0.71945844
-0.27370479 0.71828610
-0.27468231 0.71712050
-0.27565982 0.71596157
-0.27663734 0.71480927
-0.27761486 0.71366501
-0.27859238 0.71253818
-0.27956989 0.71141742
-0.28054741 0.71030267
-0.28152493 0.70919389
-0.28250244 0.70809106
-0.28347996 0.70700557
-0.28445748 0.70592553
-0.28543500 0.70485092
-0.28641251 0.70378169
-0.28739003 0.70271779
-0.28836755 0.70166862
-0.28934506 0.70062558
-0.29032258 0.69958742
-0.29130010 0.69855412
-0.29227761 0.69752564
-0.29325513 0.69650949
-0.29423265 0.69550004
-0.29521017 0.69449498
-0.29618768 0.69349430
-0.29716520 0.69249796
-0.29814272 0.69151186
-0.29912023 0.69053287
-0.30009775 0.68955785
-0.30107527 0.68858676
-0.30205279 0.68761958
-0.30303030 0.68666076
-0.30400782 0.68570938
-0.30498534 0.68476154
-0.30596285 0.68381725
-0.30694037 0.68287647
-0.30791789 0.68194242
-0.30889541 0.68101598
-0.30987292 0.68009273
-0.31085044 0.67917264
-0.31182796 0.67825571
-0.31280547 0.67734408
-0.31378299 0.67644013
-0.31476051 0.67553902
-0.31573803 0.67464075
-0.31671554 0.67374530
-0.31769306 0.67285389
-0.31867058 0.67197014
-0.31964809 0.67108892
-0.32062561 0.67021023
-0.32160313 0.66933404
-0.32258065 0.66846082
-0.32355816 0.66759513
-0.32453568 0.66673167
-0.32551320 0.66587045
-0.32649071 0.66501145
-0.32746823 0.66415466
-0.32844575 0.66330485
-0.32942326 0.66245716
-0.33040078 0.66161144
-0.33137830 0.66076767
-0.33235582 0.65992584
-0.33333333 0.65908967
-0.33431085 0.65825587
-0.33528837 0.65742377
-0.33626588 0.65659337
-0.33724340 0.65576467
-0.33822092 0.65494046
-0.33919844 0.65411875
-0.34017595 0.65329850
-0.34115347 0.65247971
-0.34213099 0.65166237
-0.34310850 0.65084852
-0.34408602 0.65003719
-0.34506354 0.64922708
-0.34604106 0.64841821
-0.34701857 0.64761056
-0.34799609 0.64680554
-0.34897361 0.64600293
-0.34995112 0.64520134
-0.35092864 0.64440076
-0.35190616 0.64360119
-0.35288368 0.64280350
-0.35386119 0.64200804
-0.35483871 0.64121338
-0.35581623 0.64041952
-0.35679374 0.63962646
-0.35777126 0.63883468
-0.35874878 0.63804481
-0.35972630 0.63725555
-0.36070381 0.63646688
-0.36168133 0.63567880
-0.36265885 0.63489151
-0.36363636 0.63410574
-0.36461388 0.63332037
-0.36559140 0.63253539
-0.36656891 0.63175080
-0.36754643 0.63096664
-0.36852395 0.63018348
-0.36950147 0.62940052
-0.37047898 0.62861775
-0.37145650 0.62783518
-0.37243402 0.62705280
-0.37341153 0.62627077
-0.37438905 0.62548876
-0.37536657 0.62470674
-0.37634409 0.62392473
-0.37732160 0.62314272
-0.37829912 0.62236043
-0.37927664 0.62157791
-0.38025415 0.62079519
-0.38123167 0.62001228
-0.38220919 0.61922917
-0.38318671 0.61844529
-0.38416422 0.61766080
-0.38514174 0.61687591
-0.38611926 0.61609064
-0.38709677 0.61530497
-0.38807429 0.61451813
-0.38905181 0.61373020
-0.39002933 0.61294168
-0.39100684 0.61215256
-0.39198436 0.61136285
-0.39296188 0.61057168
-0.39393939 0.60977882
-0.39491691 0.60898516
-0.39589443 0.60819070
-0.39687195 0.60739544
-0.39784946 0.60659855
-0.39882698 0.60579922
-0.39980450 0.60499890
-0.40078201 0.60419756
-0.40175953 0.60339521
-0.40273705 0.60259116
-0.40371457 0.60178382
-0.40469208 0.60097525
-0.40566960 0.60016546
-0.40664712 0.59935443
-0.40762463 0.59854174
-0.40860215 0.59772477
-0.40957967 0.59690634
-0.41055718 0.59608645
-0.41153470 0.59526511
-0.41251222 0.59444225
-0.41348974 0.59361396
-0.41446725 0.59278399
-0.41544477 0.59195232
-0.41642229 0.59111894
-0.41739980 0.59028386
-0.41837732 0.58944297
-0.41935484 0.58859969
-0.42033236 0.58775445
-0.42130987 0.58690726
-0.42228739 0.58605810
-0.42326491 0.58520295
-0.42424242 0.58434451
-0.42521994 0.58348384
-0.42619746 0.58262095
-0.42717498 0.58175582
-0.42815249 0.58088462
-0.42913001 0.58000905
-0.43010753 0.57913099
-0.43108504 0.57825040
-0.43206256 0.57736728
-0.43304008 0.57647812
-0.43401760 0.57558337
-0.43499511 0.57468581
-0.43597263 0.57378542
-0.43695015 0.57288218
-0.43792766 0.57197303
-0.43890518 0.57105688
-0.43988270 0.57013759
-0.44086022 0.56921513
-0.44183773 0.56828949
-0.44281525 0.56735818
-0.44379277 0.56641827
-0.44477028 0.56547486
-0.44574780 0.56452791
-0.44672532 0.56357742
-0.44770283 0.56262161
-0.44868035 0.56165541
-0.44965787 0.56068529
-0.45063539 0.55971125
-0.45161290 0.55873326
-0.45259042 0.55775044
-0.45356794 0.55675519
-0.45454545 0.55575559
-0.45552297 0.55475164
-0.45650049 0.55374329
-0.45747801 0.55273051
-0.45845552 0.55170345
-0.45943304 0.55067135
-0.46041056 0.54963442
-0.46138807 0.54859260
-0.46236559 0.54754587
-0.46334311 0.54648479
-0.46432063 0.54541689
-0.46529814 0.54434363
-0.46627566 0.54326495
-0.46725318 0.54218083
-0.46823069 0.54108237
-0.46920821 0.53997508
-0.47018573 0.53886183
-0.47116325 0.53774257
-0.47214076 0.53661727
-0.47311828 0.53547778
-0.47409580 0.53432712
-0.47507331 0.53316986
-0.47605083 0.53200593
-0.47702835 0.53083528
-0.47800587 0.52965071
-0.47898338 0.52845232
-0.47996090 0.52724659
-0.48093842 0.52603347
-0.48191593 0.52481288
-0.48289345 0.52357875
-0.48387097 0.52232778
-0.48484848 0.52106867
-0.48582600 0.51980133
-0.48680352 0.51852569
-0.48778104 0.51723703
-0.48875855 0.51592811
-0.48973607 0.51461012
-0.49071359 0.51328298
-0.49169110 0.51194659
-0.49266862 0.51059784
-0.49364614 0.50922495
-0.49462366 0.50784195
-0.49560117 0.50644876
-0.49657869 0.50504524
-0.49755621 0.50363020
-0.49853372 0.50218659
-0.49951124 0.50073171
-0.50048876 0.49926829
-0.50146628 0.49781341
-0.50244379 0.49636980
-0.50342131 0.49495476
-0.50439883 0.49355124
-0.50537634 0.49215805
-0.50635386 0.49077505
-0.50733138 0.48940216
-0.50830890 0.48805341
-0.50928641 0.48671702
-0.51026393 0.48538988
-0.51124145 0.48407189
-0.51221896 0.48276297
-0.51319648 0.48147431
-0.51417400 0.48019867
-0.51515152 0.47893133
-0.51612903 0.47767222
-0.51710655 0.47642125
-0.51808407 0.47518712
-0.51906158 0.47396653
-0.52003910 0.47275341
-0.52101662 0.47154768
-0.52199413 0.47034929
-0.52297165 0.46916472
-0.52394917 0.46799407
-0.52492669 0.46683014
-0.52590420 0.46567288
-0.52688172 0.46452222
-0.52785924 0.46338273
-0.52883675 0.46225743
-0.52981427 0.46113817
-0.53079179 0.46002492
-0.53176931 0.45891763
-0.53274682 0.45781917
-0.53372434 0.45673505
-0.53470186 0.45565637
-0.53567937 0.45458311
-0.53665689 0.45351521
-0.53763441 0.45245413
-0.53861193 0.45140740
-0.53958944 0.45036558
-0.54056696 0.44932865
-0.54154448 0.44829655
-0.54252199 0.44726949
-0.54349951 0.44625671
-0.54447703 0.44524836
-0.54545455 0.44424441
-0.54643206 0.44324481
-0.54740958 0.44224956
-0.54838710 0.44126674
-0.54936461 0.44028875
-0.55034213 0.43931471
-0.55131965 0.43834459
-0.55229717 0.43737839
-0.55327468 0.43642258
-0.55425220 0.43547209
-0.55522972 0.43452514
-0.55620723 0.43358173
-0.55718475 0.43264182
-0.55816227 0.43171051
-0.55913978 0.43078487
-0.56011730 0.42986241
-0.56109482 0.42894312
-0.56207234 0.42802697
-0.56304985 0.42711782
-0.56402737 0.42621458
-0.56500489 0.42531419
-0.56598240 0.42441663
-0.56695992 0.42352188
-0.56793744 0.42263272
-0.56891496 0.42174960
-0.56989247 0.42086901
-0.57086999 0.41999095
-0.57184751 0.41911538
-0.57282502 0.41824418
-0.57380254 0.41737905
-0.57478006 0.41651616
-0.57575758 0.41565549
-0.57673509 0.41479705
-0.57771261 0.41394190
-0.57869013 0.41309274
-0.57966764 0.41224555
-0.58064516 0.41140031
-0.58162268 0.41055703
-0.58260020 0.40971614
-0.58357771 0.40888106
-0.58455523 0.40804768
-0.58553275 0.40721601
-0.58651026 0.40638604
-0.58748778 0.40555775
-0.58846530 0.40473489
-0.58944282 0.40391355
-0.59042033 0.40309366
-0.59139785 0.40227523
-0.59237537 0.40145826
-0.59335288 0.40064557
-0.59433040 0.39983454
-0.59530792 0.39902475
-0.59628543 0.39821618
-0.59726295 0.39740884
-0.59824047 0.39660479
-0.59921799 0.39580244
-0.60019550 0.39500110
-0.60117302 0.39420078
-0.60215054 0.39340145
-0.60312805 0.39260456
-0.60410557 0.39180930
-0.60508309 0.39101484
-0.60606061 0.39022118
-0.60703812 0.38942832
-0.60801564 0.38863715
-0.60899316 0.38784744
-0.60997067 0.38705832
-0.61094819 0.38626980
-0.61192571 0.38548187
-0.61290323 0.38469503
-0.61388074 0.38390936
-0.61485826 0.38312409
-0.61583578 0.38233920
-0.61681329 0.38155471
-0.61779081 0.38077083
-0.61876833 0.37998772
-0.61974585 0.37920481
-0.62072336 0.37842209
-0.62170088 0.37763957
-0.62267840 0.37685728
-0.62365591 0.37607527
-0.62463343 0.37529326
-0.62561095 0.37451124
-0.62658847 0.37372923
-0.62756598 0.37294720
-0.62854350 0.37216482
-0.62952102 0.37138225
-0.63049853 0.37059948
-0.63147605 0.36981652
-0.63245357 0.36903336
-0.63343109 0.36824920
-0.63440860 0.36746461
-0.63538612 0.36667963
-0.63636364 0.36589426
-0.63734115 0.36510849
-0.63831867 0.36432120
-0.63929619 0.36353312
-0.64027370 0.36274445
-0.64125122 0.36195519
-0.64222874 0.36116532
-0.64320626 0.36037354
-0.64418377 0.35958048
-0.64516129 0.35878662
-0.64613881 0.35799196
-0.64711632 0.35719650
-0.64809384 0.35639881
-0.64907136 0.35559924
-0.65004888 0.35479866
-0.65102639 0.35399707
-0.65200391 0.35319446
-0.65298143 0.35238944
-0.65395894 0.35158179
-0.65493646 0.35077292
-0.65591398 0.34996281
-0.65689150 0.34915148
-0.65786901 0.34833763
-0.65884653 0.34752029
-0.65982405 0.34670150
-0.66080156 0.34588125
-0.66177908 0.34505954
-0.66275660 0.34423533
-0.66373412 0.34340663
-0.66471163 0.34257623
-0.66568915 0.34174413
-0.66666667 0.34091033
-0.66764418 0.34007416
-0.66862170 0.33923233
-0.66959922 0.33838856
-0.67057674 0.33754284
-0.67155425 0.33669515
-0.67253177 0.33584534
-0.67350929 0.33498855
-0.67448680 0.33412955
-0.67546432 0.33326833
-0.67644184 0.33240487
-0.67741935 0.33153918
-0.67839687 0.33066596
-0.67937439 0.32978977
-0.68035191 0.32891108
-0.68132942 0.32802986
-0.68230694 0.32714611
-0.68328446 0.32625470
-0.68426197 0.32535925
-0.68523949 0.32446098
-0.68621701 0.32355987
-0.68719453 0.32265592
-0.68817204 0.32174429
-0.68914956 0.32082736
-0.69012708 0.31990727
-0.69110459 0.31898402
-0.69208211 0.31805758
-0.69305963 0.31712353
-0.69403715 0.31618275
-0.69501466 0.31523846
-0.69599218 0.31429062
-0.69696970 0.31333924
-0.69794721 0.31238042
-0.69892473 0.31141324
-0.69990225 0.31044215
-0.70087977 0.30946713
-0.70185728 0.30848814
-0.70283480 0.30750204
-0.70381232 0.30650570
-0.70478983 0.30550502
-0.70576735 0.30449996
-0.70674487 0.30349051
-0.70772239 0.30247436
-0.70869990 0.30144588
-0.70967742 0.30041258
-0.71065494 0.29937442
-0.71163245 0.29833138
-0.71260997 0.29728221
-0.71358749 0.29621831
-0.71456500 0.29514908
-0.71554252 0.29407447
-0.71652004 0.29299443
-0.71749756 0.29190894
-0.71847507 0.29080611
-0.71945259 0.28969733
-0.72043011 0.28858258
-0.72140762 0.28746182
-0.72238514 0.28633499
-0.72336266 0.28519073
-0.72434018 0.28403843
-0.72531769 0.28287950
-0.72629521 0.28171390
-0.72727273 0.28054156
-0.72825024 0.27935180
-0.72922776 0.27815158
-0.73020528 0.27694401
-0.73118280 0.27572903
-0.73216031 0.27450656
-0.73313783 0.27326677
-0.73411535 0.27201377
-0.73509286 0.27075261
-0.73607038 0.26948321
-0.73704790 0.26820547
-0.73802542 0.26691064
-0.73900293 0.26559946
-0.73998045 0.26427920
-0.74095797 0.26294975
-0.74193548 0.26161103
-0.74291300 0.26025556
-0.74389052 0.25888015
-0.74486804 0.25749462
-0.74584555 0.25609885
-0.74682307 0.25469273
-0.74780059 0.25327035
-0.74877810 0.25182393
-0.74975562 0.25036621
-0.75073314 0.25000000
-0.75171065 0.25000000
-0.75268817 0.25000000
-0.75366569 0.25000000
-0.75464321 0.25000000
-0.75562072 0.25000000
-0.75659824 0.25000000
-0.75757576 0.25000000
-0.75855327 0.25000000
-0.75953079 0.25000000
-0.76050831 0.25000000
-0.76148583 0.25000000
-0.76246334 0.25000000
-0.76344086 0.25000000
-0.76441838 0.25000000
-0.76539589 0.25000000
-0.76637341 0.25000000
-0.76735093 0.25000000
-0.76832845 0.25000000
-0.76930596 0.25000000
-0.77028348 0.25000000
-0.77126100 0.25000000
-0.77223851 0.25000000
-0.77321603 0.25000000
-0.77419355 0.25000000
-0.77517107 0.25000000
-0.77614858 0.25000000
-0.77712610 0.25000000
-0.77810362 0.25000000
-0.77908113 0.25000000
-0.78005865 0.25000000
-0.78103617 0.25000000
-0.78201369 0.25000000
-0.78299120 0.25000000
-0.78396872 0.25000000
-0.78494624 0.25000000
-0.78592375 0.25000000
-0.78690127 0.25000000
-0.78787879 0.25000000
-0.78885630 0.25000000
-0.78983382 0.25000000
-0.79081134 0.25000000
-0.79178886 0.25000000
-0.79276637 0.25000000
-0.79374389 0.25000000
-0.79472141 0.25000000
-0.79569892 0.25000000
-0.79667644 0.25000000
-0.79765396 0.25000000
-0.79863148 0.25000000
-0.79960899 0.25000000
-0.80058651 0.25000000
-0.80156403 0.25000000
-0.80254154 0.25000000
-0.80351906 0.25000000
-0.80449658 0.25000000
-0.80547410 0.25000000
-0.80645161 0.25000000
-0.80742913 0.25000000
-0.80840665 0.25000000
-0.80938416 0.25000000
-0.81036168 0.25000000
-0.81133920 0.25000000
-0.81231672 0.25000000
-0.81329423 0.25000000
-0.81427175 0.25000000
-0.81524927 0.25000000
-0.81622678 0.25000000
-0.81720430 0.25000000
-0.81818182 0.25000000
-0.81915934 0.25000000
-0.82013685 0.25000000
-0.82111437 0.25000000
-0.82209189 0.25000000
-0.82306940 0.25000000
-0.82404692 0.25000000
-0.82502444 0.25000000
-0.82600196 0.25000000
-0.82697947 0.25000000
-0.82795699 0.25000000
-0.82893451 0.25000000
-0.82991202 0.25000000
-0.83088954 0.25000000
-0.83186706 0.25000000
-0.83284457 0.25000000
-0.83382209 0.25000000
-0.83479961 0.25000000
-0.83577713 0.25000000
-0.83675464 0.25000000
-0.83773216 0.25000000
-0.83870968 0.25000000
-0.83968719 0.25000000
-0.84066471 0.25000000
-0.84164223 0.25000000
-0.84261975 0.25000000
-0.84359726 0.25000000
-0.84457478 0.25000000
-0.84555230 0.25000000
-0.84652981 0.25000000
-0.84750733 0.25000000
-0.84848485 0.25000000
-0.84946237 0.25000000
-0.85043988 0.25000000
-0.85141740 0.25000000
-0.85239492 0.25000000
-0.85337243 0.25000000
-0.85434995 0.25000000
-0.85532747 0.25000000
-0.85630499 0.25000000
-0.85728250 0.25000000
-0.85826002 0.25000000
-0.85923754 0.25000000
-0.86021505 0.25000000
-0.86119257 0.25000000
-0.86217009 0.25000000
-0.86314761 0.25000000
-0.86412512 0.25000000
-0.86510264 0.25000000
-0.86608016 0.25000000
-0.86705767 0.25000000
-0.86803519 0.25000000
-0.86901271 0.25000000
-0.86999022 0.25000000
-0.87096774 0.25000000
-0.87194526 0.25000000
-0.87292278 0.25000000
-0.87390029 0.25000000
-0.87487781 0.25000000
-0.87585533 0.25000000
-0.87683284 0.25000000
-0.87781036 0.25000000
-0.87878788 0.25000000
-0.87976540 0.25000000
-0.88074291 0.25000000
-0.88172043 0.25000000
-0.88269795 0.25000000
-0.88367546 0.25000000
-0.88465298 0.25000000
-0.88563050 0.25000000
-0.88660802 0.25000000
-0.88758553 0.25000000
-0.88856305 0.25000000
-0.88954057 0.25000000
-0.89051808 0.25000000
-0.89149560 0.25000000
-0.89247312 0.25000000
-0.89345064 0.25000000
-0.89442815 0.25000000
-0.89540567 0.25000000
-0.89638319 0.25000000
-0.89736070 0.25000000
-0.89833822 0.25000000
-0.89931574 0.25000000
-0.90029326 0.25000000
-0.90127077 0.25000000
-0.90224829 0.25000000
-0.90322581 0.25000000
-0.90420332 0.25000000
-0.90518084 0.25000000
-0.90615836 0.25000000
-0.90713587 0.25000000
-0.90811339 0.25000000
-0.90909091 0.25000000
-0.91006843 0.25000000
-0.91104594 0.25000000
-0.91202346 0.25000000
-0.91300098 0.25000000
-0.91397849 0.25000000
-0.91495601 0.25000000
-0.91593353 0.25000000
-0.91691105 0.25000000
-0.91788856 0.25000000
-0.91886608 0.25000000
-0.91984360 0.25000000
-0.92082111 0.25000000
-0.92179863 0.25000000
-0.92277615 0.25000000
-0.92375367 0.25000000
-0.92473118 0.25000000
-0.92570870 0.25000000
-0.92668622 0.25000000
-0.92766373 0.25000000
-0.92864125 0.25000000
-0.92961877 0.25000000
-0.93059629 0.25000000
-0.93157380 0.25000000
-0.93255132 0.25000000
-0.93352884 0.25000000
-0.93450635 0.25000000
-0.93548387 0.25000000
-0.93646139 0.25000000
-0.93743891 0.25000000
-0.93841642 0.25000000
-0.93939394 0.25000000
-0.94037146 0.25000000
-0.94134897 0.25000000
-0.94232649 0.25000000
-0.94330401 0.25000000
-0.94428152 0.25000000
-0.94525904 0.25000000
-0.94623656 0.25000000
-0.94721408 0.25000000
-0.94819159 0.25000000
-0.94916911 0.25000000
-0.95014663 0.25000000
-0.95112414 0.25000000
-0.95210166 0.25000000
-0.95307918 0.25000000
-0.95405670 0.25000000
-0.95503421 0.25000000
-0.95601173 0.25000000
-0.95698925 0.25000000
-0.95796676 0.25000000
-0.95894428 0.25000000
-0.95992180 0.25000000
-0.96089932 0.25000000
-0.96187683 0.25000000
-0.96285435 0.25000000
-0.96383187 0.25000000
-0.96480938 0.25000000
-0.96578690 0.25000000
-0.96676442 0.25000000
-0.96774194 0.25000000
-0.96871945 0.25000000
-0.96969697 0.25000000
-0.97067449 0.25000000
-0.97165200 0.25000000
-0.97262952 0.25000000
-0.97360704 0.25000000
-0.97458456 0.25000000
-0.97556207 0.25000000
-0.97653959 0.25000000
-0.97751711 0.25000000
-0.97849462 0.25000000
-0.97947214 0.25000000
-0.98044966 0.25000000
-0.98142717 0.25000000
-0.98240469 0.25000000
-0.98338221 0.25000000
-0.98435973 0.25000000
-0.98533724 0.25000000
-0.98631476 0.25000000
-0.98729228 0.25000000
-0.98826979 0.25000000
-0.98924731 0.25000000
-0.99022483 0.25000000
-0.99120235 0.25000000
-0.99217986 0.25000000
-0.99315738 0.25000000
-0.99413490 0.25000000
-0.99511241 0.25000000
-0.99608993 0.25000000
-0.99706745 0.25000000
-0.99804497 0.25000000
-0.99902248 0.25000000
-1.00000000 nan
+Ambient Power
+0.000000000 nan
+0.000977517 0.750000000
+0.001955034 0.750000000
+0.002932551 0.750000000
+0.003910068 0.750000000
+0.004887586 0.750000000
+0.005865103 0.750000000
+0.006842620 0.750000000
+0.007820137 0.750000000
+0.008797654 0.750000000
+0.009775171 0.750000000
+0.010752688 0.750000000
+0.011730205 0.750000000
+0.012707722 0.750000000
+0.013685239 0.750000000
+0.014662757 0.750000000
+0.015640274 0.750000000
+0.016617791 0.750000000
+0.017595308 0.750000000
+0.018572825 0.750000000
+0.019550342 0.750000000
+0.020527859 0.750000000
+0.021505376 0.750000000
+0.022482893 0.750000000
+0.023460411 0.750000000
+0.024437928 0.750000000
+0.025415445 0.750000000
+0.026392962 0.750000000
+0.027370479 0.750000000
+0.028347996 0.750000000
+0.029325513 0.750000000
+0.030303030 0.750000000
+0.031280547 0.750000000
+0.032258065 0.750000000
+0.033235582 0.750000000
+0.034213099 0.750000000
+0.035190616 0.750000000
+0.036168133 0.750000000
+0.037145650 0.750000000
+0.038123167 0.750000000
+0.039100684 0.750000000
+0.040078201 0.750000000
+0.041055718 0.750000000
+0.042033236 0.750000000
+0.043010753 0.750000000
+0.043988270 0.750000000
+0.044965787 0.750000000
+0.045943304 0.750000000
+0.046920821 0.750000000
+0.047898338 0.750000000
+0.048875855 0.750000000
+0.049853372 0.750000000
+0.050830890 0.750000000
+0.051808407 0.750000000
+0.052785924 0.750000000
+0.053763441 0.750000000
+0.054740958 0.750000000
+0.055718475 0.750000000
+0.056695992 0.750000000
+0.057673509 0.750000000
+0.058651026 0.750000000
+0.059628543 0.750000000
+0.060606061 0.750000000
+0.061583578 0.750000000
+0.062561095 0.750000000
+0.063538612 0.750000000
+0.064516129 0.750000000
+0.065493646 0.750000000
+0.066471163 0.750000000
+0.067448680 0.750000000
+0.068426197 0.750000000
+0.069403715 0.750000000
+0.070381232 0.750000000
+0.071358749 0.750000000
+0.072336266 0.750000000
+0.073313783 0.750000000
+0.074291300 0.750000000
+0.075268817 0.750000000
+0.076246334 0.750000000
+0.077223851 0.750000000
+0.078201369 0.750000000
+0.079178886 0.750000000
+0.080156403 0.750000000
+0.081133920 0.750000000
+0.082111437 0.750000000
+0.083088954 0.750000000
+0.084066471 0.750000000
+0.085043988 0.750000000
+0.086021505 0.750000000
+0.086999022 0.750000000
+0.087976540 0.750000000
+0.088954057 0.750000000
+0.089931574 0.750000000
+0.090909091 0.750000000
+0.091886608 0.750000000
+0.092864125 0.750000000
+0.093841642 0.750000000
+0.094819159 0.750000000
+0.095796676 0.750000000
+0.096774194 0.750000000
+0.097751711 0.750000000
+0.098729228 0.750000000
+0.099706745 0.750000000
+0.100684262 0.750000000
+0.101661779 0.750000000
+0.102639296 0.750000000
+0.103616813 0.750000000
+0.104594330 0.750000000
+0.105571848 0.750000000
+0.106549365 0.750000000
+0.107526882 0.750000000
+0.108504399 0.750000000
+0.109481916 0.750000000
+0.110459433 0.750000000
+0.111436950 0.750000000
+0.112414467 0.750000000
+0.113391984 0.750000000
+0.114369501 0.750000000
+0.115347019 0.750000000
+0.116324536 0.750000000
+0.117302053 0.750000000
+0.118279570 0.750000000
+0.119257087 0.750000000
+0.120234604 0.750000000
+0.121212121 0.750000000
+0.122189638 0.750000000
+0.123167155 0.750000000
+0.124144673 0.750000000
+0.125122190 0.750000000
+0.126099707 0.750000000
+0.127077224 0.750000000
+0.128054741 0.750000000
+0.129032258 0.750000000
+0.130009775 0.750000000
+0.130987292 0.750000000
+0.131964809 0.750000000
+0.132942326 0.750000000
+0.133919844 0.750000000
+0.134897361 0.750000000
+0.135874878 0.750000000
+0.136852395 0.750000000
+0.137829912 0.750000000
+0.138807429 0.750000000
+0.139784946 0.750000000
+0.140762463 0.750000000
+0.141739980 0.750000000
+0.142717498 0.750000000
+0.143695015 0.750000000
+0.144672532 0.750000000
+0.145650049 0.750000000
+0.146627566 0.750000000
+0.147605083 0.750000000
+0.148582600 0.750000000
+0.149560117 0.750000000
+0.150537634 0.750000000
+0.151515152 0.750000000
+0.152492669 0.750000000
+0.153470186 0.750000000
+0.154447703 0.750000000
+0.155425220 0.750000000
+0.156402737 0.750000000
+0.157380254 0.750000000
+0.158357771 0.750000000
+0.159335288 0.750000000
+0.160312805 0.750000000
+0.161290323 0.750000000
+0.162267840 0.750000000
+0.163245357 0.750000000
+0.164222874 0.750000000
+0.165200391 0.750000000
+0.166177908 0.750000000
+0.167155425 0.750000000
+0.168132942 0.750000000
+0.169110459 0.750000000
+0.170087977 0.750000000
+0.171065494 0.750000000
+0.172043011 0.750000000
+0.173020528 0.750000000
+0.173998045 0.750000000
+0.174975562 0.750000000
+0.175953079 0.750000000
+0.176930596 0.750000000
+0.177908113 0.750000000
+0.178885630 0.750000000
+0.179863148 0.750000000
+0.180840665 0.750000000
+0.181818182 0.750000000
+0.182795699 0.750000000
+0.183773216 0.750000000
+0.184750733 0.750000000
+0.185728250 0.750000000
+0.186705767 0.750000000
+0.187683284 0.750000000
+0.188660802 0.750000000
+0.189638319 0.750000000
+0.190615836 0.750000000
+0.191593353 0.750000000
+0.192570870 0.750000000
+0.193548387 0.750000000
+0.194525904 0.750000000
+0.195503421 0.750000000
+0.196480938 0.750000000
+0.197458456 0.750000000
+0.198435973 0.750000000
+0.199413490 0.750000000
+0.200391007 0.750000000
+0.201368524 0.750000000
+0.202346041 0.750000000
+0.203323558 0.750000000
+0.204301075 0.750000000
+0.205278592 0.750000000
+0.206256109 0.750000000
+0.207233627 0.750000000
+0.208211144 0.750000000
+0.209188661 0.750000000
+0.210166178 0.750000000
+0.211143695 0.750000000
+0.212121212 0.750000000
+0.213098729 0.750000000
+0.214076246 0.750000000
+0.215053763 0.750000000
+0.216031281 0.750000000
+0.217008798 0.750000000
+0.217986315 0.750000000
+0.218963832 0.750000000
+0.219941349 0.750000000
+0.220918866 0.750000000
+0.221896383 0.750000000
+0.222873900 0.750000000
+0.223851417 0.750000000
+0.224828935 0.750000000
+0.225806452 0.750000000
+0.226783969 0.750000000
+0.227761486 0.750000000
+0.228739003 0.750000000
+0.229716520 0.750000000
+0.230694037 0.750000000
+0.231671554 0.750000000
+0.232649071 0.750000000
+0.233626588 0.750000000
+0.234604106 0.750000000
+0.235581623 0.750000000
+0.236559140 0.750000000
+0.237536657 0.750000000
+0.238514174 0.750000000
+0.239491691 0.750000000
+0.240469208 0.750000000
+0.241446725 0.750000000
+0.242424242 0.750000000
+0.243401760 0.750000000
+0.244379277 0.750000000
+0.245356794 0.750000000
+0.246334311 0.750000000
+0.247311828 0.750000000
+0.248289345 0.750000000
+0.249266862 0.750000000
+0.250244379 0.749633789
+0.251221896 0.748176070
+0.252199413 0.746729651
+0.253176931 0.745307268
+0.254154448 0.743901152
+0.255131965 0.742505384
+0.256109482 0.741119851
+0.257086999 0.739744439
+0.258064516 0.738388970
+0.259042033 0.737050250
+0.260019550 0.735720805
+0.260997067 0.734400539
+0.261974585 0.733089356
+0.262952102 0.731794526
+0.263929619 0.730516794
+0.264907136 0.729247388
+0.265884653 0.727986227
+0.266862170 0.726733231
+0.267839687 0.725493442
+0.268817204 0.724270974
+0.269794721 0.723055990
+0.270772239 0.721848423
+0.271749756 0.720648204
+0.272727273 0.719458438
+0.273704790 0.718286101
+0.274682307 0.717120499
+0.275659824 0.715961575
+0.276637341 0.714809270
+0.277614858 0.713665012
+0.278592375 0.712538184
+0.279569892 0.711417421
+0.280547410 0.710302674
+0.281524927 0.709193894
+0.282502444 0.708091063
+0.283479961 0.707005566
+0.284457478 0.705925531
+0.285434995 0.704850918
+0.286412512 0.703781686
+0.287390029 0.702717795
+0.288367546 0.701668621
+0.289345064 0.700625580
+0.290322581 0.699587425
+0.291300098 0.698554121
+0.292277615 0.697525635
+0.293255132 0.696509490
+0.294232649 0.695500037
+0.295210166 0.694494984
+0.296187683 0.693494303
+0.297165200 0.692497965
+0.298142717 0.691511860
+0.299120235 0.690532874
+0.300097752 0.689557847
+0.301075269 0.688586755
+0.302052786 0.687619575
+0.303030303 0.686660765
+0.304007820 0.685709376
+0.304985337 0.684761545
+0.305962854 0.683817249
+0.306940371 0.682876470
+0.307917889 0.681942420
+0.308895406 0.681015980
+0.309872923 0.680092726
+0.310850440 0.679172643
+0.311827957 0.678255714
+0.312805474 0.677344077
+0.313782991 0.676440126
+0.314760508 0.675539023
+0.315738025 0.674640752
+0.316715543 0.673745302
+0.317693060 0.672853893
+0.318670577 0.671970143
+0.319648094 0.671088924
+0.320625611 0.670210227
+0.321603128 0.669334041
+0.322580645 0.668460818
+0.323558162 0.667595126
+0.324535679 0.666731672
+0.325513196 0.665870450
+0.326490714 0.665011449
+0.327468231 0.664154662
+0.328445748 0.663304848
+0.329423265 0.662457164
+0.330400782 0.661611439
+0.331378299 0.660767667
+0.332355816 0.659925840
+0.333333333 0.659089669
+0.334310850 0.658255868
+0.335288368 0.657423770
+0.336265885 0.656593371
+0.337243402 0.655764665
+0.338220919 0.654940458
+0.339198436 0.654118746
+0.340175953 0.653298497
+0.341153470 0.652479705
+0.342130987 0.651662368
+0.343108504 0.650848521
+0.344086022 0.650037186
+0.345063539 0.649227083
+0.346041056 0.648418210
+0.347018573 0.647610563
+0.347996090 0.646805538
+0.348973607 0.646002934
+0.349951124 0.645201343
+0.350928641 0.644400763
+0.351906158 0.643601190
+0.352883675 0.642803505
+0.353861193 0.642008044
+0.354838710 0.641213384
+0.355816227 0.640419523
+0.356793744 0.639626459
+0.357771261 0.638834675
+0.358748778 0.638044814
+0.359726295 0.637255548
+0.360703812 0.636466876
+0.361681329 0.635678797
+0.362658847 0.634891512
+0.363636364 0.634105743
+0.364613881 0.633320368
+0.365591398 0.632535386
+0.366568915 0.631750798
+0.367546432 0.630966638
+0.368523949 0.630183479
+0.369501466 0.629400516
+0.370478983 0.628617749
+0.371456500 0.627835178
+0.372434018 0.627052803
+0.373411535 0.626270772
+0.374389052 0.625488759
+0.375366569 0.624706745
+0.376344086 0.623924731
+0.377321603 0.623142717
+0.378299120 0.622360434
+0.379276637 0.621577912
+0.380254154 0.620795194
+0.381231672 0.620012280
+0.382209189 0.619229171
+0.383186706 0.618445288
+0.384164223 0.617660798
+0.385141740 0.616875914
+0.386119257 0.616090638
+0.387096774 0.615304967
+0.388074291 0.614518130
+0.389051808 0.613730200
+0.390029326 0.612941676
+0.391006843 0.612152558
+0.391984360 0.611362846
+0.392961877 0.610571682
+0.393939394 0.609778818
+0.394916911 0.608985156
+0.395894428 0.608190696
+0.396871945 0.607395436
+0.397849462 0.606598545
+0.398826979 0.605799225
+0.399804497 0.604998896
+0.400782014 0.604197558
+0.401759531 0.603395208
+0.402737048 0.602591157
+0.403714565 0.601783817
+0.404692082 0.600975251
+0.405669599 0.600165455
+0.406647116 0.599354429
+0.407624633 0.598541740
+0.408602151 0.597724765
+0.409579668 0.596906338
+0.410557185 0.596086453
+0.411534702 0.595265107
+0.412512219 0.594442248
+0.413489736 0.593613964
+0.414467253 0.592783988
+0.415444770 0.591952316
+0.416422287 0.591118941
+0.417399804 0.590283858
+0.418377322 0.589442972
+0.419354839 0.588599687
+0.420332356 0.587754450
+0.421309873 0.586907257
+0.422287390 0.586058099
+0.423264907 0.585202955
+0.424242424 0.584344508
+0.425219941 0.583483842
+0.426197458 0.582620947
+0.427174976 0.581755815
+0.428152493 0.580884615
+0.429130010 0.580009054
+0.430107527 0.579130986
+0.431085044 0.578250399
+0.432062561 0.577367283
+0.433040078 0.576478121
+0.434017595 0.575583374
+0.434995112 0.574685810
+0.435972630 0.573785416
+0.436950147 0.572882178
+0.437927664 0.571973027
+0.438905181 0.571056884
+0.439882698 0.570137591
+0.440860215 0.569215132
+0.441837732 0.568289490
+0.442815249 0.567358177
+0.443792766 0.566418275
+0.444770283 0.565474860
+0.445747801 0.564527914
+0.446725318 0.563577417
+0.447702835 0.562621612
+0.448680352 0.561655405
+0.449657869 0.560685294
+0.450635386 0.559711253
+0.451612903 0.558733259
+0.452590420 0.557750445
+0.453567937 0.556755188
+0.454545455 0.555755595
+0.455522972 0.554751638
+0.456500489 0.553743287
+0.457478006 0.552730515
+0.458455523 0.551703450
+0.459433040 0.550671354
+0.460410557 0.549634415
+0.461388074 0.548592599
+0.462365591 0.547545872
+0.463343109 0.546484786
+0.464320626 0.545416893
+0.465298143 0.544343629
+0.466275660 0.543264953
+0.467253177 0.542180826
+0.468230694 0.541082374
+0.469208211 0.539975079
+0.470185728 0.538861828
+0.471163245 0.537742573
+0.472140762 0.536617267
+0.473118280 0.535477779
+0.474095797 0.534327120
+0.475073314 0.533169855
+0.476050831 0.532005928
+0.477028348 0.530835281
+0.478005865 0.529650711
+0.478983382 0.528452318
+0.479960899 0.527246594
+0.480938416 0.526033471
+0.481915934 0.524812880
+0.482893451 0.523578752
+0.483870968 0.522327784
+0.484848485 0.521068672
+0.485826002 0.519801335
+0.486803519 0.518525692
+0.487781036 0.517237031
+0.488758553 0.515928105
+0.489736070 0.514610118
+0.490713587 0.513282977
+0.491691105 0.511946585
+0.492668622 0.510597845
+0.493646139 0.509224947
+0.494623656 0.507841954
+0.495601173 0.506448755
+0.496578690 0.505045237
+0.497556207 0.503630203
+0.498533724 0.502186589
+0.499511241 0.500731707
+0.500488759 0.499268293
+0.501466276 0.497813411
+0.502443793 0.496369797
+0.503421310 0.494954763
+0.504398827 0.493551245
+0.505376344 0.492158046
+0.506353861 0.490775053
+0.507331378 0.489402155
+0.508308895 0.488053415
+0.509286413 0.486717023
+0.510263930 0.485389882
+0.511241447 0.484071895
+0.512218964 0.482762969
+0.513196481 0.481474308
+0.514173998 0.480198665
+0.515151515 0.478931328
+0.516129032 0.477672216
+0.517106549 0.476421248
+0.518084066 0.475187120
+0.519061584 0.473966529
+0.520039101 0.472753406
+0.521016618 0.471547682
+0.521994135 0.470349289
+0.522971652 0.469164719
+0.523949169 0.467994072
+0.524926686 0.466830145
+0.525904203 0.465672880
+0.526881720 0.464522221
+0.527859238 0.463382733
+0.528836755 0.462257427
+0.529814272 0.461138172
+0.530791789 0.460024921
+0.531769306 0.458917626
+0.532746823 0.457819174
+0.533724340 0.456735047
+0.534701857 0.455656371
+0.535679374 0.454583107
+0.536656891 0.453515214
+0.537634409 0.452454128
+0.538611926 0.451407401
+0.539589443 0.450365585
+0.540566960 0.449328646
+0.541544477 0.448296550
+0.542521994 0.447269485
+0.543499511 0.446256713
+0.544477028 0.445248362
+0.545454545 0.444244405
+0.546432063 0.443244812
+0.547409580 0.442249555
+0.548387097 0.441266741
+0.549364614 0.440288747
+0.550342131 0.439314706
+0.551319648 0.438344595
+0.552297165 0.437378388
+0.553274682 0.436422583
+0.554252199 0.435472086
+0.555229717 0.434525140
+0.556207234 0.433581725
+0.557184751 0.432641823
+0.558162268 0.431710510
+0.559139785 0.430784868
+0.560117302 0.429862409
+0.561094819 0.428943116
+0.562072336 0.428026973
+0.563049853 0.427117822
+0.564027370 0.426214584
+0.565004888 0.425314190
+0.565982405 0.424416626
+0.566959922 0.423521879
+0.567937439 0.422632717
+0.568914956 0.421749601
+0.569892473 0.420869014
+0.570869990 0.419990946
+0.571847507 0.419115385
+0.572825024 0.418244185
+0.573802542 0.417379053
+0.574780059 0.416516158
+0.575757576 0.415655492
+0.576735093 0.414797045
+0.577712610 0.413941901
+0.578690127 0.413092743
+0.579667644 0.412245550
+0.580645161 0.411400313
+0.581622678 0.410557028
+0.582600196 0.409716142
+0.583577713 0.408881059
+0.584555230 0.408047684
+0.585532747 0.407216012
+0.586510264 0.406386036
+0.587487781 0.405557752
+0.588465298 0.404734893
+0.589442815 0.403913547
+0.590420332 0.403093662
+0.591397849 0.402275235
+0.592375367 0.401458260
+0.593352884 0.400645571
+0.594330401 0.399834545
+0.595307918 0.399024749
+0.596285435 0.398216183
+0.597262952 0.397408843
+0.598240469 0.396604792
+0.599217986 0.395802442
+0.600195503 0.395001104
+0.601173021 0.394200775
+0.602150538 0.393401455
+0.603128055 0.392604564
+0.604105572 0.391809304
+0.605083089 0.391014844
+0.606060606 0.390221182
+0.607038123 0.389428318
+0.608015640 0.388637154
+0.608993157 0.387847442
+0.609970674 0.387058324
+0.610948192 0.386269800
+0.611925709 0.385481870
+0.612903226 0.384695033
+0.613880743 0.383909362
+0.614858260 0.383124086
+0.615835777 0.382339202
+0.616813294 0.381554712
+0.617790811 0.380770829
+0.618768328 0.379987720
+0.619745846 0.379204806
+0.620723363 0.378422088
+0.621700880 0.377639566
+0.622678397 0.376857283
+0.623655914 0.376075269
+0.624633431 0.375293255
+0.625610948 0.374511241
+0.626588465 0.373729228
+0.627565982 0.372947197
+0.628543500 0.372164822
+0.629521017 0.371382251
+0.630498534 0.370599484
+0.631476051 0.369816521
+0.632453568 0.369033362
+0.633431085 0.368249202
+0.634408602 0.367464614
+0.635386119 0.366679632
+0.636363636 0.365894257
+0.637341153 0.365108488
+0.638318671 0.364321203
+0.639296188 0.363533124
+0.640273705 0.362744452
+0.641251222 0.361955186
+0.642228739 0.361165325
+0.643206256 0.360373541
+0.644183773 0.359580477
+0.645161290 0.358786616
+0.646138807 0.357991956
+0.647116325 0.357196495
+0.648093842 0.356398810
+0.649071359 0.355599237
+0.650048876 0.354798657
+0.651026393 0.353997066
+0.652003910 0.353194462
+0.652981427 0.352389437
+0.653958944 0.351581790
+0.654936461 0.350772917
+0.655913978 0.349962814
+0.656891496 0.349151479
+0.657869013 0.348337632
+0.658846530 0.347520295
+0.659824047 0.346701503
+0.660801564 0.345881254
+0.661779081 0.345059542
+0.662756598 0.344235335
+0.663734115 0.343406629
+0.664711632 0.342576230
+0.665689150 0.341744132
+0.666666667 0.340910331
+0.667644184 0.340074160
+0.668621701 0.339232333
+0.669599218 0.338388561
+0.670576735 0.337542836
+0.671554252 0.336695152
+0.672531769 0.335845338
+0.673509286 0.334988551
+0.674486804 0.334129550
+0.675464321 0.333268328
+0.676441838 0.332404874
+0.677419355 0.331539182
+0.678396872 0.330665959
+0.679374389 0.329789773
+0.680351906 0.328911076
+0.681329423 0.328029857
+0.682306940 0.327146107
+0.683284457 0.326254698
+0.684261975 0.325359248
+0.685239492 0.324460977
+0.686217009 0.323559874
+0.687194526 0.322655923
+0.688172043 0.321744286
+0.689149560 0.320827357
+0.690127077 0.319907274
+0.691104594 0.318984020
+0.692082111 0.318057580
+0.693059629 0.317123530
+0.694037146 0.316182751
+0.695014663 0.315238455
+0.695992180 0.314290624
+0.696969697 0.313339235
+0.697947214 0.312380425
+0.698924731 0.311413245
+0.699902248 0.310442153
+0.700879765 0.309467126
+0.701857283 0.308488140
+0.702834800 0.307502035
+0.703812317 0.306505697
+0.704789834 0.305505016
+0.705767351 0.304499963
+0.706744868 0.303490510
+0.707722385 0.302474365
+0.708699902 0.301445879
+0.709677419 0.300412575
+0.710654936 0.299374420
+0.711632454 0.298331379
+0.712609971 0.297282205
+0.713587488 0.296218314
+0.714565005 0.295149082
+0.715542522 0.294074469
+0.716520039 0.292994434
+0.717497556 0.291908937
+0.718475073 0.290806106
+0.719452590 0.289697326
+0.720430108 0.288582579
+0.721407625 0.287461816
+0.722385142 0.286334988
+0.723362659 0.285190730
+0.724340176 0.284038425
+0.725317693 0.282879501
+0.726295210 0.281713899
+0.727272727 0.280541562
+0.728250244 0.279351796
+0.729227761 0.278151577
+0.730205279 0.276944010
+0.731182796 0.275729026
+0.732160313 0.274506558
+0.733137830 0.273266769
+0.734115347 0.272013773
+0.735092864 0.270752612
+0.736070381 0.269483206
+0.737047898 0.268205474
+0.738025415 0.266910644
+0.739002933 0.265599461
+0.739980450 0.264279195
+0.740957967 0.262949750
+0.741935484 0.261611030
+0.742913001 0.260255561
+0.743890518 0.258880149
+0.744868035 0.257494616
+0.745845552 0.256098848
+0.746823069 0.254692732
+0.747800587 0.253270349
+0.748778104 0.251823930
+0.749755621 0.250366211
+0.750733138 0.250000000
+0.751710655 0.250000000
+0.752688172 0.250000000
+0.753665689 0.250000000
+0.754643206 0.250000000
+0.755620723 0.250000000
+0.756598240 0.250000000
+0.757575758 0.250000000
+0.758553275 0.250000000
+0.759530792 0.250000000
+0.760508309 0.250000000
+0.761485826 0.250000000
+0.762463343 0.250000000
+0.763440860 0.250000000
+0.764418377 0.250000000
+0.765395894 0.250000000
+0.766373412 0.250000000
+0.767350929 0.250000000
+0.768328446 0.250000000
+0.769305963 0.250000000
+0.770283480 0.250000000
+0.771260997 0.250000000
+0.772238514 0.250000000
+0.773216031 0.250000000
+0.774193548 0.250000000
+0.775171065 0.250000000
+0.776148583 0.250000000
+0.777126100 0.250000000
+0.778103617 0.250000000
+0.779081134 0.250000000
+0.780058651 0.250000000
+0.781036168 0.250000000
+0.782013685 0.250000000
+0.782991202 0.250000000
+0.783968719 0.250000000
+0.784946237 0.250000000
+0.785923754 0.250000000
+0.786901271 0.250000000
+0.787878788 0.250000000
+0.788856305 0.250000000
+0.789833822 0.250000000
+0.790811339 0.250000000
+0.791788856 0.250000000
+0.792766373 0.250000000
+0.793743891 0.250000000
+0.794721408 0.250000000
+0.795698925 0.250000000
+0.796676442 0.250000000
+0.797653959 0.250000000
+0.798631476 0.250000000
+0.799608993 0.250000000
+0.800586510 0.250000000
+0.801564027 0.250000000
+0.802541544 0.250000000
+0.803519062 0.250000000
+0.804496579 0.250000000
+0.805474096 0.250000000
+0.806451613 0.250000000
+0.807429130 0.250000000
+0.808406647 0.250000000
+0.809384164 0.250000000
+0.810361681 0.250000000
+0.811339198 0.250000000
+0.812316716 0.250000000
+0.813294233 0.250000000
+0.814271750 0.250000000
+0.815249267 0.250000000
+0.816226784 0.250000000
+0.817204301 0.250000000
+0.818181818 0.250000000
+0.819159335 0.250000000
+0.820136852 0.250000000
+0.821114370 0.250000000
+0.822091887 0.250000000
+0.823069404 0.250000000
+0.824046921 0.250000000
+0.825024438 0.250000000
+0.826001955 0.250000000
+0.826979472 0.250000000
+0.827956989 0.250000000
+0.828934506 0.250000000
+0.829912023 0.250000000
+0.830889541 0.250000000
+0.831867058 0.250000000
+0.832844575 0.250000000
+0.833822092 0.250000000
+0.834799609 0.250000000
+0.835777126 0.250000000
+0.836754643 0.250000000
+0.837732160 0.250000000
+0.838709677 0.250000000
+0.839687195 0.250000000
+0.840664712 0.250000000
+0.841642229 0.250000000
+0.842619746 0.250000000
+0.843597263 0.250000000
+0.844574780 0.250000000
+0.845552297 0.250000000
+0.846529814 0.250000000
+0.847507331 0.250000000
+0.848484848 0.250000000
+0.849462366 0.250000000
+0.850439883 0.250000000
+0.851417400 0.250000000
+0.852394917 0.250000000
+0.853372434 0.250000000
+0.854349951 0.250000000
+0.855327468 0.250000000
+0.856304985 0.250000000
+0.857282502 0.250000000
+0.858260020 0.250000000
+0.859237537 0.250000000
+0.860215054 0.250000000
+0.861192571 0.250000000
+0.862170088 0.250000000
+0.863147605 0.250000000
+0.864125122 0.250000000
+0.865102639 0.250000000
+0.866080156 0.250000000
+0.867057674 0.250000000
+0.868035191 0.250000000
+0.869012708 0.250000000
+0.869990225 0.250000000
+0.870967742 0.250000000
+0.871945259 0.250000000
+0.872922776 0.250000000
+0.873900293 0.250000000
+0.874877810 0.250000000
+0.875855327 0.250000000
+0.876832845 0.250000000
+0.877810362 0.250000000
+0.878787879 0.250000000
+0.879765396 0.250000000
+0.880742913 0.250000000
+0.881720430 0.250000000
+0.882697947 0.250000000
+0.883675464 0.250000000
+0.884652981 0.250000000
+0.885630499 0.250000000
+0.886608016 0.250000000
+0.887585533 0.250000000
+0.888563050 0.250000000
+0.889540567 0.250000000
+0.890518084 0.250000000
+0.891495601 0.250000000
+0.892473118 0.250000000
+0.893450635 0.250000000
+0.894428152 0.250000000
+0.895405670 0.250000000
+0.896383187 0.250000000
+0.897360704 0.250000000
+0.898338221 0.250000000
+0.899315738 0.250000000
+0.900293255 0.250000000
+0.901270772 0.250000000
+0.902248289 0.250000000
+0.903225806 0.250000000
+0.904203324 0.250000000
+0.905180841 0.250000000
+0.906158358 0.250000000
+0.907135875 0.250000000
+0.908113392 0.250000000
+0.909090909 0.250000000
+0.910068426 0.250000000
+0.911045943 0.250000000
+0.912023460 0.250000000
+0.913000978 0.250000000
+0.913978495 0.250000000
+0.914956012 0.250000000
+0.915933529 0.250000000
+0.916911046 0.250000000
+0.917888563 0.250000000
+0.918866080 0.250000000
+0.919843597 0.250000000
+0.920821114 0.250000000
+0.921798631 0.250000000
+0.922776149 0.250000000
+0.923753666 0.250000000
+0.924731183 0.250000000
+0.925708700 0.250000000
+0.926686217 0.250000000
+0.927663734 0.250000000
+0.928641251 0.250000000
+0.929618768 0.250000000
+0.930596285 0.250000000
+0.931573803 0.250000000
+0.932551320 0.250000000
+0.933528837 0.250000000
+0.934506354 0.250000000
+0.935483871 0.250000000
+0.936461388 0.250000000
+0.937438905 0.250000000
+0.938416422 0.250000000
+0.939393939 0.250000000
+0.940371457 0.250000000
+0.941348974 0.250000000
+0.942326491 0.250000000
+0.943304008 0.250000000
+0.944281525 0.250000000
+0.945259042 0.250000000
+0.946236559 0.250000000
+0.947214076 0.250000000
+0.948191593 0.250000000
+0.949169110 0.250000000
+0.950146628 0.250000000
+0.951124145 0.250000000
+0.952101662 0.250000000
+0.953079179 0.250000000
+0.954056696 0.250000000
+0.955034213 0.250000000
+0.956011730 0.250000000
+0.956989247 0.250000000
+0.957966764 0.250000000
+0.958944282 0.250000000
+0.959921799 0.250000000
+0.960899316 0.250000000
+0.961876833 0.250000000
+0.962854350 0.250000000
+0.963831867 0.250000000
+0.964809384 0.250000000
+0.965786901 0.250000000
+0.966764418 0.250000000
+0.967741935 0.250000000
+0.968719453 0.250000000
+0.969696970 0.250000000
+0.970674487 0.250000000
+0.971652004 0.250000000
+0.972629521 0.250000000
+0.973607038 0.250000000
+0.974584555 0.250000000
+0.975562072 0.250000000
+0.976539589 0.250000000
+0.977517107 0.250000000
+0.978494624 0.250000000
+0.979472141 0.250000000
+0.980449658 0.250000000
+0.981427175 0.250000000
+0.982404692 0.250000000
+0.983382209 0.250000000
+0.984359726 0.250000000
+0.985337243 0.250000000
+0.986314761 0.250000000
+0.987292278 0.250000000
+0.988269795 0.250000000
+0.989247312 0.250000000
+0.990224829 0.250000000
+0.991202346 0.250000000
+0.992179863 0.250000000
+0.993157380 0.250000000
+0.994134897 0.250000000
+0.995112414 0.250000000
+0.996089932 0.250000000
+0.997067449 0.250000000
+0.998044966 0.250000000
+0.999022483 0.250000000
+1.000000000 nan
diff --git a/examples/mamdani/SimpleDimmer.fll b/examples/mamdani/SimpleDimmer.fll
index 3a4f8f9..896bebf 100644
--- a/examples/mamdani/SimpleDimmer.fll
+++ b/examples/mamdani/SimpleDimmer.fll
@@ -1,18 +1,19 @@
-Engine: simple-dimmer
+Engine: SimpleDimmer
InputVariable: Ambient
enabled: true
range: 0.000 1.000
+ lock-range: false
term: DARK Triangle 0.000 0.250 0.500
term: MEDIUM Triangle 0.250 0.500 0.750
term: BRIGHT Triangle 0.500 0.750 1.000
OutputVariable: Power
enabled: true
range: 0.000 1.000
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: Centroid 200
default: nan
lock-previous: false
- lock-range: false
term: LOW Triangle 0.000 0.250 0.500
term: MEDIUM Triangle 0.250 0.500 0.750
term: HIGH Triangle 0.500 0.750 1.000
@@ -20,7 +21,8 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if Ambient is DARK then Power is HIGH
rule: if Ambient is MEDIUM then Power is MEDIUM
rule: if Ambient is BRIGHT then Power is LOW \ No newline at end of file
diff --git a/examples/mamdani/SimpleDimmer.java b/examples/mamdani/SimpleDimmer.java
index 1846722..d7b127d 100644
--- a/examples/mamdani/SimpleDimmer.java
+++ b/examples/mamdani/SimpleDimmer.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,38 +13,46 @@ import com.fuzzylite.variable.*;
public class SimpleDimmer{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("simple-dimmer");
+engine.setName("SimpleDimmer");
+engine.setDescription("");
-InputVariable inputVariable = new InputVariable();
-inputVariable.setEnabled(true);
-inputVariable.setName("Ambient");
-inputVariable.setRange(0.000, 1.000);
-inputVariable.addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
-inputVariable.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-inputVariable.addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
-engine.addInputVariable(inputVariable);
+InputVariable Ambient = new InputVariable();
+Ambient.setName("Ambient");
+Ambient.setDescription("");
+Ambient.setEnabled(true);
+Ambient.setRange(0.000, 1.000);
+Ambient.setLockValueInRange(false);
+Ambient.addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
+Ambient.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Ambient.addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
+engine.addInputVariable(Ambient);
-OutputVariable outputVariable = new OutputVariable();
-outputVariable.setEnabled(true);
-outputVariable.setName("Power");
-outputVariable.setRange(0.000, 1.000);
-outputVariable.fuzzyOutput().setAccumulation(new Maximum());
-outputVariable.setDefuzzifier(new Centroid(200));
-outputVariable.setDefaultValue(Double.NaN);
-outputVariable.setLockPreviousOutputValue(false);
-outputVariable.setLockOutputValueInRange(false);
-outputVariable.addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
-outputVariable.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-outputVariable.addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
-engine.addOutputVariable(outputVariable);
+OutputVariable Power = new OutputVariable();
+Power.setName("Power");
+Power.setDescription("");
+Power.setEnabled(true);
+Power.setRange(0.000, 1.000);
+Power.setLockValueInRange(false);
+Power.setAggregation(new Maximum());
+Power.setDefuzzifier(new Centroid(200));
+Power.setDefaultValue(Double.NaN);
+Power.setLockPreviousValue(false);
+Power.addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
+Power.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Power.addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
+engine.addOutputVariable(Power);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(null);
ruleBlock.setDisjunction(null);
-ruleBlock.setActivation(new Minimum());
+ruleBlock.setImplication(new Minimum());
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if Ambient is DARK then Power is HIGH", engine));
ruleBlock.addRule(Rule.parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
ruleBlock.addRule(Rule.parse("if Ambient is BRIGHT then Power is LOW", engine));
diff --git a/examples/mamdani/SimpleDimmer.pdf b/examples/mamdani/SimpleDimmer.pdf
new file mode 100644
index 0000000..82ef82f
--- /dev/null
+++ b/examples/mamdani/SimpleDimmer.pdf
Binary files differ
diff --git a/examples/mamdani/SimpleDimmerChained.R b/examples/mamdani/SimpleDimmerChained.R
new file mode 100644
index 0000000..323aa7d
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerChained.R
@@ -0,0 +1,85 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "SimpleDimmerChained"
+engine.fll = "Engine: SimpleDimmerChained
+InputVariable: Ambient
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: DARK Triangle 0.000 0.250 0.500
+ term: MEDIUM Triangle 0.250 0.500 0.750
+ term: BRIGHT Triangle 0.500 0.750 1.000
+OutputVariable: Power
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 200
+ default: nan
+ lock-previous: false
+ term: LOW Triangle 0.000 0.250 0.500
+ term: MEDIUM Triangle 0.250 0.500 0.750
+ term: HIGH Triangle 0.500 0.750 1.000
+OutputVariable: InversePower
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 500
+ default: nan
+ lock-previous: false
+ term: LOW Cosine 0.200 0.500
+ term: MEDIUM Cosine 0.500 0.500
+ term: HIGH Cosine 0.800 0.500
+RuleBlock:
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: Minimum
+ activation: General
+ rule: if Ambient is DARK then Power is HIGH
+ rule: if Ambient is MEDIUM then Power is MEDIUM
+ rule: if Ambient is BRIGHT then Power is LOW
+ rule: if Power is LOW then InversePower is HIGH
+ rule: if Power is MEDIUM then InversePower is MEDIUM
+ rule: if Power is HIGH then InversePower is LOW"
+
+engine.fldFile = "SimpleDimmerChained.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(Ambient, Power)) +
+ geom_line(aes(color=Power), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("Ambient vs Power")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(Ambient, Power)) +
+ geom_line(aes(color=Power), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("Power vs Ambient")
+
+engine.plot.i1_o2 = ggplot(engine.df, aes(Ambient, InversePower)) +
+ geom_line(aes(color=InversePower), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("Ambient vs InversePower")
+
+engine.plot.o2_i1 = ggplot(engine.df, aes(Ambient, InversePower)) +
+ geom_line(aes(color=InversePower), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("InversePower vs Ambient")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, engine.plot.i1_o2, engine.plot.o2_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/SimpleDimmerChained.cpp b/examples/mamdani/SimpleDimmerChained.cpp
new file mode 100644
index 0000000..bc59c8e
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerChained.cpp
@@ -0,0 +1,70 @@
+#include <fl/Headers.h>
+
+int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
+using namespace fl;
+
+Engine* engine = new Engine;
+engine->setName("SimpleDimmerChained");
+engine->setDescription("");
+
+InputVariable* Ambient = new InputVariable;
+Ambient->setName("Ambient");
+Ambient->setDescription("");
+Ambient->setEnabled(true);
+Ambient->setRange(0.000, 1.000);
+Ambient->setLockValueInRange(false);
+Ambient->addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
+Ambient->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Ambient->addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
+engine->addInputVariable(Ambient);
+
+OutputVariable* Power = new OutputVariable;
+Power->setName("Power");
+Power->setDescription("");
+Power->setEnabled(true);
+Power->setRange(0.000, 1.000);
+Power->setLockValueInRange(false);
+Power->setAggregation(new Maximum);
+Power->setDefuzzifier(new Centroid(200));
+Power->setDefaultValue(fl::nan);
+Power->setLockPreviousValue(false);
+Power->addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
+Power->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Power->addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
+engine->addOutputVariable(Power);
+
+OutputVariable* InversePower = new OutputVariable;
+InversePower->setName("InversePower");
+InversePower->setDescription("");
+InversePower->setEnabled(true);
+InversePower->setRange(0.000, 1.000);
+InversePower->setLockValueInRange(false);
+InversePower->setAggregation(new Maximum);
+InversePower->setDefuzzifier(new Centroid(500));
+InversePower->setDefaultValue(fl::nan);
+InversePower->setLockPreviousValue(false);
+InversePower->addTerm(new Cosine("LOW", 0.200, 0.500));
+InversePower->addTerm(new Cosine("MEDIUM", 0.500, 0.500));
+InversePower->addTerm(new Cosine("HIGH", 0.800, 0.500));
+engine->addOutputVariable(InversePower);
+
+RuleBlock* ruleBlock = new RuleBlock;
+ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
+ruleBlock->setConjunction(fl::null);
+ruleBlock->setDisjunction(fl::null);
+ruleBlock->setImplication(new Minimum);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if Ambient is DARK then Power is HIGH", engine));
+ruleBlock->addRule(Rule::parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
+ruleBlock->addRule(Rule::parse("if Ambient is BRIGHT then Power is LOW", engine));
+ruleBlock->addRule(Rule::parse("if Power is LOW then InversePower is HIGH", engine));
+ruleBlock->addRule(Rule::parse("if Power is MEDIUM then InversePower is MEDIUM", engine));
+ruleBlock->addRule(Rule::parse("if Power is HIGH then InversePower is LOW", engine));
+engine->addRuleBlock(ruleBlock);
+
+
+}
diff --git a/examples/mamdani/SimpleDimmerChained.fcl b/examples/mamdani/SimpleDimmerChained.fcl
new file mode 100644
index 0000000..29bb4ea
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerChained.fcl
@@ -0,0 +1,51 @@
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK SimpleDimmerChained
+
+VAR_INPUT
+ Ambient: REAL;
+END_VAR
+
+VAR_OUTPUT
+ Power: REAL;
+ InversePower: REAL;
+END_VAR
+
+FUZZIFY Ambient
+ RANGE := (0.000 .. 1.000);
+ TERM DARK := Triangle 0.000 0.250 0.500;
+ TERM MEDIUM := Triangle 0.250 0.500 0.750;
+ TERM BRIGHT := Triangle 0.500 0.750 1.000;
+END_FUZZIFY
+
+DEFUZZIFY Power
+ RANGE := (0.000 .. 1.000);
+ TERM LOW := Triangle 0.000 0.250 0.500;
+ TERM MEDIUM := Triangle 0.250 0.500 0.750;
+ TERM HIGH := Triangle 0.500 0.750 1.000;
+ METHOD : COG;
+ ACCU : MAX;
+ DEFAULT := nan;
+END_DEFUZZIFY
+
+DEFUZZIFY InversePower
+ RANGE := (0.000 .. 1.000);
+ TERM LOW := Cosine 0.200 0.500;
+ TERM MEDIUM := Cosine 0.500 0.500;
+ TERM HIGH := Cosine 0.800 0.500;
+ METHOD : COG;
+ ACCU : MAX;
+ DEFAULT := nan;
+END_DEFUZZIFY
+
+RULEBLOCK
+ ACT : MIN;
+ RULE 1 : if Ambient is DARK then Power is HIGH
+ RULE 2 : if Ambient is MEDIUM then Power is MEDIUM
+ RULE 3 : if Ambient is BRIGHT then Power is LOW
+ RULE 4 : if Power is LOW then InversePower is HIGH
+ RULE 5 : if Power is MEDIUM then InversePower is MEDIUM
+ RULE 6 : if Power is HIGH then InversePower is LOW
+END_RULEBLOCK
+
+END_FUNCTION_BLOCK
diff --git a/examples/mamdani/SimpleDimmerChained.fis b/examples/mamdani/SimpleDimmerChained.fis
new file mode 100644
index 0000000..c2fc642
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerChained.fis
@@ -0,0 +1,46 @@
+#Code automatically generated with fuzzylite 6.0.
+
+[System]
+Name='SimpleDimmerChained'
+Type='mamdani'
+Version=6.0
+NumInputs=1
+NumOutputs=2
+NumRules=6
+AndMethod='min'
+OrMethod='max'
+ImpMethod='min'
+AggMethod='max'
+DefuzzMethod='centroid'
+
+[Input1]
+Name='Ambient'
+Range=[0.000 1.000]
+NumMFs=3
+MF1='DARK':'trimf',[0.000 0.250 0.500]
+MF2='MEDIUM':'trimf',[0.250 0.500 0.750]
+MF3='BRIGHT':'trimf',[0.500 0.750 1.000]
+
+[Output1]
+Name='Power'
+Range=[0.000 1.000]
+NumMFs=3
+MF1='LOW':'trimf',[0.000 0.250 0.500]
+MF2='MEDIUM':'trimf',[0.250 0.500 0.750]
+MF3='HIGH':'trimf',[0.500 0.750 1.000]
+
+[Output2]
+Name='InversePower'
+Range=[0.000 1.000]
+NumMFs=3
+MF1='LOW':'cosinemf',[0.200 0.500]
+MF2='MEDIUM':'cosinemf',[0.500 0.500]
+MF3='HIGH':'cosinemf',[0.800 0.500]
+
+[Rules]
+1.000 , 3.000 0.000 (1.000) : 1
+2.000 , 2.000 0.000 (1.000) : 1
+3.000 , 1.000 0.000 (1.000) : 1
+0.000 , 0.000 3.000 (1.000) : 1
+0.000 , 0.000 2.000 (1.000) : 1
+0.000 , 0.000 1.000 (1.000) : 1
diff --git a/examples/mamdani/SimpleDimmerChained.fld b/examples/mamdani/SimpleDimmerChained.fld
new file mode 100644
index 0000000..843c017
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerChained.fld
@@ -0,0 +1,1025 @@
+Ambient Power InversePower
+0.000000000 nan nan
+0.000977517 0.750000000 0.221671502
+0.001955034 0.750000000 0.220306607
+0.002932551 0.750000000 0.219272108
+0.003910068 0.750000000 0.218372593
+0.004887586 0.750000000 0.217595038
+0.005865103 0.750000000 0.216891736
+0.006842620 0.750000000 0.216242049
+0.007820137 0.750000000 0.215635499
+0.008797654 0.750000000 0.215066121
+0.009775171 0.750000000 0.214530188
+0.010752688 0.750000000 0.214025192
+0.011730205 0.750000000 0.213535928
+0.012707722 0.750000000 0.213059653
+0.013685239 0.750000000 0.212609497
+0.014662757 0.750000000 0.212181500
+0.015640274 0.750000000 0.211749797
+0.016617791 0.750000000 0.211342499
+0.017595308 0.750000000 0.210947791
+0.018572825 0.750000000 0.210554977
+0.019550342 0.750000000 0.210185583
+0.020527859 0.750000000 0.209810047
+0.021505376 0.750000000 0.209453273
+0.022482893 0.750000000 0.209099710
+0.023460411 0.750000000 0.208754784
+0.024437928 0.750000000 0.208418460
+0.025415445 0.750000000 0.208108896
+0.026392962 0.750000000 0.207822337
+0.027370479 0.750000000 0.207557090
+0.028347996 0.750000000 0.207310043
+0.029325513 0.750000000 0.207080132
+0.030303030 0.750000000 0.206864987
+0.031280547 0.750000000 0.206663695
+0.032258065 0.750000000 0.206474685
+0.033235582 0.750000000 0.206296887
+0.034213099 0.750000000 0.206129563
+0.035190616 0.750000000 0.205971282
+0.036168133 0.750000000 0.205822154
+0.037145650 0.750000000 0.205680293
+0.038123167 0.750000000 0.205546551
+0.039100684 0.750000000 0.205418994
+0.040078201 0.750000000 0.205298019
+0.041055718 0.750000000 0.205182743
+0.042033236 0.750000000 0.205072718
+0.043010753 0.750000000 0.204968065
+0.043988270 0.750000000 0.204867643
+0.044965787 0.750000000 0.204772102
+0.045943304 0.750000000 0.204680372
+0.046920821 0.750000000 0.204592478
+0.047898338 0.750000000 0.204508389
+0.048875855 0.750000000 0.204427324
+0.049853372 0.750000000 0.204349869
+0.050830890 0.750000000 0.204275190
+0.051808407 0.750000000 0.204203265
+0.052785924 0.750000000 0.204134275
+0.053763441 0.750000000 0.204067513
+0.054740958 0.750000000 0.204003359
+0.055718475 0.750000000 0.203941436
+0.056695992 0.750000000 0.203881398
+0.057673509 0.750000000 0.203823826
+0.058651026 0.750000000 0.203767941
+0.059628543 0.750000000 0.203713842
+0.060606061 0.750000000 0.203661714
+0.061583578 0.750000000 0.203611030
+0.062561095 0.750000000 0.203562034
+0.063538612 0.750000000 0.203514617
+0.064516129 0.750000000 0.203468446
+0.065493646 0.750000000 0.203423862
+0.066471163 0.750000000 0.203380551
+0.067448680 0.750000000 0.203338322
+0.068426197 0.750000000 0.203297578
+0.069403715 0.750000000 0.203257869
+0.070381232 0.750000000 0.203219115
+0.071358749 0.750000000 0.203181723
+0.072336266 0.750000000 0.203145191
+0.073313783 0.750000000 0.203109538
+0.074291300 0.750000000 0.203075066
+0.075268817 0.750000000 0.203041351
+0.076246334 0.750000000 0.203008438
+0.077223851 0.750000000 0.202976564
+0.078201369 0.750000000 0.202945359
+0.079178886 0.750000000 0.202914878
+0.080156403 0.750000000 0.202885326
+0.081133920 0.750000000 0.202856368
+0.082111437 0.750000000 0.202828056
+0.083088954 0.750000000 0.202800588
+0.084066471 0.750000000 0.202773648
+0.085043988 0.750000000 0.202747278
+0.086021505 0.750000000 0.202721688
+0.086999022 0.750000000 0.202696569
+0.087976540 0.750000000 0.202671946
+0.088954057 0.750000000 0.202648053
+0.089931574 0.750000000 0.202624584
+0.090909091 0.750000000 0.202601536
+0.091886608 0.750000000 0.202579184
+0.092864125 0.750000000 0.202557213
+0.093841642 0.750000000 0.202535613
+0.094819159 0.750000000 0.202514642
+0.095796676 0.750000000 0.202494036
+0.096774194 0.750000000 0.202473765
+0.097751711 0.750000000 0.202454042
+0.098729228 0.750000000 0.202434684
+0.099706745 0.750000000 0.202415629
+0.100684262 0.750000000 0.202397043
+0.101661779 0.750000000 0.202378829
+0.102639296 0.750000000 0.202360889
+0.103616813 0.750000000 0.202343345
+0.104594330 0.750000000 0.202326181
+0.105571848 0.750000000 0.202309267
+0.106549365 0.750000000 0.202292677
+0.107526882 0.750000000 0.202276482
+0.108504399 0.750000000 0.202260514
+0.109481916 0.750000000 0.202244803
+0.110459433 0.750000000 0.202229501
+0.111436950 0.750000000 0.202214406
+0.112414467 0.750000000 0.202199515
+0.113391984 0.750000000 0.202185031
+0.114369501 0.750000000 0.202170746
+0.115347019 0.750000000 0.202156646
+0.116324536 0.750000000 0.202142887
+0.117302053 0.750000000 0.202129352
+0.118279570 0.750000000 0.202115988
+0.119257087 0.750000000 0.202102901
+0.120234604 0.750000000 0.202090065
+0.121212121 0.750000000 0.202077384
+0.122189638 0.750000000 0.202064922
+0.123167155 0.750000000 0.202052737
+0.124144673 0.750000000 0.202040694
+0.125122190 0.750000000 0.202028815
+0.126099707 0.750000000 0.202017236
+0.127077224 0.750000000 0.202005788
+0.128054741 0.750000000 0.201994470
+0.129032258 0.750000000 0.201983442
+0.130009775 0.750000000 0.201972551
+0.130987292 0.750000000 0.201961779
+0.131964809 0.750000000 0.201951246
+0.132942326 0.750000000 0.201940877
+0.133919844 0.750000000 0.201930618
+0.134897361 0.750000000 0.201920549
+0.135874878 0.750000000 0.201910669
+0.136852395 0.750000000 0.201900891
+0.137829912 0.750000000 0.201891259
+0.138807429 0.750000000 0.201881839
+0.139784946 0.750000000 0.201872513
+0.140762463 0.750000000 0.201863294
+0.141739980 0.750000000 0.201854307
+0.142717498 0.750000000 0.201845406
+0.143695015 0.750000000 0.201836590
+0.144672532 0.750000000 0.201827998
+0.145650049 0.750000000 0.201819498
+0.146627566 0.750000000 0.201811078
+0.147605083 0.750000000 0.201802845
+0.148582600 0.750000000 0.201794724
+0.149560117 0.750000000 0.201786676
+0.150537634 0.750000000 0.201778785
+0.151515152 0.750000000 0.201771022
+0.152492669 0.750000000 0.201763326
+0.153470186 0.750000000 0.201755760
+0.154447703 0.750000000 0.201748336
+0.155425220 0.750000000 0.201740974
+0.156402737 0.750000000 0.201733719
+0.157380254 0.750000000 0.201726616
+0.158357771 0.750000000 0.201719570
+0.159335288 0.750000000 0.201712612
+0.160312805 0.750000000 0.201705813
+0.161290323 0.750000000 0.201699068
+0.162267840 0.750000000 0.201692394
+0.163245357 0.750000000 0.201685884
+0.164222874 0.750000000 0.201679424
+0.165200391 0.750000000 0.201673024
+0.166177908 0.750000000 0.201666789
+0.167155425 0.750000000 0.201660600
+0.168132942 0.750000000 0.201654463
+0.169110459 0.750000000 0.201648489
+0.170087977 0.750000000 0.201642558
+0.171065494 0.750000000 0.201636676
+0.172043011 0.750000000 0.201630951
+0.173020528 0.750000000 0.201625266
+0.173998045 0.750000000 0.201619630
+0.174975562 0.750000000 0.201614142
+0.175953079 0.750000000 0.201608691
+0.176930596 0.750000000 0.201603293
+0.177908113 0.750000000 0.201598032
+0.178885630 0.750000000 0.201592805
+0.179863148 0.750000000 0.201587638
+0.180840665 0.750000000 0.201582594
+0.181818182 0.750000000 0.201577581
+0.182795699 0.750000000 0.201572640
+0.183773216 0.750000000 0.201567801
+0.184750733 0.750000000 0.201562993
+0.185728250 0.750000000 0.201558272
+0.186705767 0.750000000 0.201553632
+0.187683284 0.750000000 0.201549019
+0.188660802 0.750000000 0.201544513
+0.189638319 0.750000000 0.201540063
+0.190615836 0.750000000 0.201535638
+0.191593353 0.750000000 0.201531342
+0.192570870 0.750000000 0.201527074
+0.193548387 0.750000000 0.201522856
+0.194525904 0.750000000 0.201518740
+0.195503421 0.750000000 0.201514646
+0.196480938 0.750000000 0.201510635
+0.197458456 0.750000000 0.201506688
+0.198435973 0.750000000 0.201502762
+0.199413490 0.750000000 0.201498955
+0.200391007 0.750000000 0.201495170
+0.201368524 0.750000000 0.201491445
+0.202346041 0.750000000 0.201487799
+0.203323558 0.750000000 0.201484172
+0.204301075 0.750000000 0.201480648
+0.205278592 0.750000000 0.201477155
+0.206256109 0.750000000 0.201473716
+0.207233627 0.750000000 0.201470354
+0.208211144 0.750000000 0.201467007
+0.209188661 0.750000000 0.201463769
+0.210166178 0.750000000 0.201460550
+0.211143695 0.750000000 0.201457402
+0.212121212 0.750000000 0.201454307
+0.213098729 0.750000000 0.201451251
+0.214076246 0.750000000 0.201448278
+0.215053763 0.750000000 0.201445318
+0.216031281 0.750000000 0.201442464
+0.217008798 0.750000000 0.201439621
+0.217986315 0.750000000 0.201436866
+0.218963832 0.750000000 0.201434139
+0.219941349 0.750000000 0.201431486
+0.220918866 0.750000000 0.201428872
+0.221896383 0.750000000 0.201426324
+0.222873900 0.750000000 0.201423821
+0.223851417 0.750000000 0.201421381
+0.224828935 0.750000000 0.201418988
+0.225806452 0.750000000 0.201416661
+0.226783969 0.750000000 0.201414375
+0.227761486 0.750000000 0.201412163
+0.228739003 0.750000000 0.201409982
+0.229716520 0.750000000 0.201407891
+0.230694037 0.750000000 0.201405828
+0.231671554 0.750000000 0.201403846
+0.232649071 0.750000000 0.201401913
+0.233626588 0.750000000 0.201400032
+0.234604106 0.750000000 0.201398232
+0.235581623 0.750000000 0.201396477
+0.236559140 0.750000000 0.201394788
+0.237536657 0.750000000 0.201393176
+0.238514174 0.750000000 0.201391621
+0.239491691 0.750000000 0.201390128
+0.240469208 0.750000000 0.201388719
+0.241446725 0.750000000 0.201387385
+0.242424242 0.750000000 0.201386125
+0.243401760 0.750000000 0.201384946
+0.244379277 0.750000000 0.201383854
+0.245356794 0.750000000 0.201382854
+0.246334311 0.750000000 0.201381954
+0.247311828 0.750000000 0.201381173
+0.248289345 0.750000000 0.201380522
+0.249266862 0.750000000 0.201380043
+0.250244379 0.749633789 0.201846207
+0.251221896 0.748176070 0.203676892
+0.252199413 0.746729651 0.205470420
+0.253176931 0.745307268 0.207232921
+0.254154448 0.743901152 0.208969603
+0.255131965 0.742505384 0.210681995
+0.256109482 0.741119851 0.212371422
+0.257086999 0.739744439 0.214039141
+0.258064516 0.738388970 0.215686343
+0.259042033 0.737050250 0.217314161
+0.260019550 0.735720805 0.218923667
+0.260997067 0.734400539 0.220515879
+0.261974585 0.733089356 0.222091759
+0.262952102 0.731794526 0.223649762
+0.263929619 0.730516794 0.225192151
+0.264907136 0.729247388 0.226720383
+0.265884653 0.727986227 0.228232727
+0.266862170 0.726733231 0.229730635
+0.267839687 0.725493442 0.231216292
+0.268817204 0.724270974 0.232685872
+0.269794721 0.723055990 0.234144013
+0.270772239 0.721848423 0.235588818
+0.271749756 0.720648204 0.237021028
+0.272727273 0.719458438 0.238442032
+0.273704790 0.718286101 0.239849792
+0.274682307 0.717120499 0.241247924
+0.275659824 0.715961575 0.242632618
+0.276637341 0.714809270 0.244008759
+0.277614858 0.713665012 0.245371680
+0.278592375 0.712538184 0.246726670
+0.279569892 0.711417421 0.248069026
+0.280547410 0.710302674 0.249403669
+0.281524927 0.709193894 0.250726587
+0.282502444 0.708091063 0.252041647
+0.283479961 0.707005566 0.253346179
+0.284457478 0.705925531 0.254642389
+0.285434995 0.704850918 0.255929518
+0.286412512 0.703781686 0.257207578
+0.287390029 0.702717795 0.258478219
+0.288367546 0.701668621 0.259738800
+0.289345064 0.700625580 0.260993370
+0.290322581 0.699587425 0.262237549
+0.291300098 0.698554121 0.263475527
+0.292277615 0.697525635 0.264705239
+0.293255132 0.696509490 0.265927232
+0.294232649 0.695500037 0.267143201
+0.295210166 0.694494984 0.268349791
+0.296187683 0.693494303 0.269551115
+0.297165200 0.692497965 0.270744440
+0.298142717 0.691511860 0.271931138
+0.299120235 0.690532874 0.273112342
+0.300097752 0.689557847 0.274284946
+0.301075269 0.688586755 0.275452739
+0.302052786 0.687619575 0.276613621
+0.303030303 0.686660765 0.277768031
+0.304007820 0.685709376 0.278917856
+0.304985337 0.684761545 0.280059697
+0.305962854 0.683817249 0.281196818
+0.306940371 0.682876470 0.282328684
+0.307917889 0.681942420 0.283453563
+0.308895406 0.681015980 0.284574256
+0.309872923 0.680092726 0.285688972
+0.310850440 0.679172643 0.286798049
+0.311827957 0.678255714 0.287903138
+0.312805474 0.677344077 0.289001763
+0.313782991 0.676440126 0.290095833
+0.314760508 0.675539023 0.291186105
+0.315738025 0.674640752 0.292269631
+0.316715543 0.673745302 0.293349456
+0.317693060 0.672853893 0.294425247
+0.318670577 0.671970143 0.295495017
+0.319648094 0.671088924 0.296561328
+0.320625611 0.670210227 0.297623455
+0.321603128 0.669334041 0.298680243
+0.322580645 0.668460818 0.299733738
+0.323558162 0.667595126 0.300783030
+0.324535679 0.666731672 0.301827515
+0.325513196 0.665870450 0.302868868
+0.326490714 0.665011449 0.303906100
+0.327468231 0.664154662 0.304938935
+0.328445748 0.663304848 0.305968793
+0.329423265 0.662457164 0.306994695
+0.330400782 0.661611439 0.308016510
+0.331378299 0.660767667 0.309035496
+0.332355816 0.659925840 0.310050754
+0.333333333 0.659089669 0.311062154
+0.334310850 0.658255868 0.312070870
+0.335288368 0.657423770 0.313076130
+0.336265885 0.656593371 0.314077703
+0.337243402 0.655764665 0.315076729
+0.338220919 0.654940458 0.316071981
+0.339198436 0.654118746 0.317062640
+0.340175953 0.653298497 0.318050990
+0.341153470 0.652479705 0.319036167
+0.342130987 0.651662368 0.320016921
+0.343108504 0.650848521 0.320995595
+0.344086022 0.650037186 0.321971698
+0.345063539 0.649227083 0.322943523
+0.346041056 0.648418210 0.323913488
+0.347018573 0.647610563 0.324881463
+0.347996090 0.646805538 0.325845303
+0.348973607 0.646002934 0.326807497
+0.349951124 0.645201343 0.327768050
+0.350928641 0.644400763 0.328725018
+0.351906158 0.643601190 0.329680354
+0.352883675 0.642803505 0.330634256
+0.353861193 0.642008044 0.331585332
+0.354838710 0.641213384 0.332534700
+0.355816227 0.640419523 0.333482835
+0.356793744 0.639626459 0.334428830
+0.357771261 0.638834675 0.335373101
+0.358748778 0.638044814 0.336316337
+0.359726295 0.637255548 0.337258027
+0.360703812 0.636466876 0.338198057
+0.361681329 0.635678797 0.339137245
+0.362658847 0.634891512 0.340075384
+0.363636364 0.634105743 0.341012014
+0.364613881 0.633320368 0.341947992
+0.365591398 0.632535386 0.342883313
+0.366568915 0.631750798 0.343817374
+0.367546432 0.630966638 0.344750971
+0.368523949 0.630183479 0.345684104
+0.369501466 0.629400516 0.346616504
+0.370478983 0.628617749 0.347548540
+0.371456500 0.627835178 0.348480299
+0.372434018 0.627052803 0.349411745
+0.373411535 0.626270772 0.350343037
+0.374389052 0.625488759 0.351274237
+0.375366569 0.624706745 0.352205426
+0.376344086 0.623924731 0.353136787
+0.377321603 0.623142717 0.354068240
+0.378299120 0.622360434 0.354999866
+0.379276637 0.621577912 0.355932108
+0.380254154 0.620795194 0.356864629
+0.381231672 0.620012280 0.357797428
+0.382209189 0.619229171 0.358731329
+0.383186706 0.618445288 0.359665733
+0.384164223 0.617660798 0.360600602
+0.385141740 0.616875914 0.361536789
+0.386119257 0.616090638 0.362473899
+0.387096774 0.615304967 0.363411663
+0.388074291 0.614518130 0.364350853
+0.389051808 0.613730200 0.365291500
+0.390029326 0.612941676 0.366232990
+0.391006843 0.612152558 0.367175921
+0.391984360 0.611362846 0.368120944
+0.392961877 0.610571682 0.369067005
+0.393939394 0.609778818 0.370014435
+0.394916911 0.608985156 0.370964689
+0.395894428 0.608190696 0.371916178
+0.396871945 0.607395436 0.372868906
+0.397849462 0.606598545 0.373825246
+0.398826979 0.605799225 0.374783038
+0.399804497 0.604998896 0.375742272
+0.400782014 0.604197558 0.376705194
+0.401759531 0.603395208 0.377670184
+0.402737048 0.602591157 0.378636823
+0.403714565 0.601783817 0.379607193
+0.404692082 0.600975251 0.380580296
+0.405669599 0.600165455 0.381555265
+0.406647116 0.599354429 0.382533989
+0.407624633 0.598541740 0.383516150
+0.408602151 0.597724765 0.384500397
+0.409579668 0.596906338 0.385488433
+0.410557185 0.596086453 0.386480623
+0.411534702 0.595265107 0.387475131
+0.412512219 0.594442248 0.388473492
+0.413489736 0.593613964 0.389476718
+0.414467253 0.592783988 0.390482499
+0.415444770 0.591952316 0.391491555
+0.416422287 0.591118941 0.392504668
+0.417399804 0.590283858 0.393520477
+0.418377322 0.589442972 0.394539685
+0.419354839 0.588599687 0.395563270
+0.420332356 0.587754450 0.396589695
+0.421309873 0.586907257 0.397619709
+0.422287390 0.586058099 0.398654373
+0.423264907 0.585202955 0.399692025
+0.424242424 0.584344508 0.400733540
+0.425219941 0.583483842 0.401779909
+0.426197458 0.582620947 0.402829422
+0.427174976 0.581755815 0.403883177
+0.428152493 0.580884615 0.404941902
+0.429130010 0.580009054 0.406003935
+0.430107527 0.579130986 0.407070716
+0.431085044 0.578250399 0.408142475
+0.432062561 0.577367283 0.409217712
+0.433040078 0.576478121 0.410298357
+0.434017595 0.575583374 0.411383856
+0.434995112 0.574685810 0.412473008
+0.435972630 0.573785416 0.413568413
+0.436950147 0.572882178 0.414668387
+0.437927664 0.571973027 0.415772198
+0.438905181 0.571056884 0.416883317
+0.439882698 0.570137591 0.417998533
+0.440860215 0.569215132 0.419118581
+0.441837732 0.568289490 0.420245634
+0.442815249 0.567358177 0.421376894
+0.443792766 0.566418275 0.422514343
+0.444770283 0.565474860 0.423658069
+0.445747801 0.564527914 0.424806212
+0.446725318 0.563577417 0.425962211
+0.447702835 0.562621612 0.427123480
+0.448680352 0.561655405 0.428290282
+0.449657869 0.560685294 0.429465166
+0.450635386 0.559711253 0.430644890
+0.451612903 0.558733259 0.431832308
+0.452590420 0.557750445 0.433026364
+0.453567937 0.556755188 0.434226000
+0.454545455 0.555755595 0.435434924
+0.455522972 0.554751638 0.436649146
+0.456500489 0.553743287 0.437871753
+0.457478006 0.552730515 0.439101626
+0.458455523 0.551703450 0.440338101
+0.459433040 0.550671354 0.441584214
+0.460410557 0.549634415 0.442836126
+0.461388074 0.548592599 0.444098260
+0.462365591 0.547545872 0.445367270
+0.463343109 0.546484786 0.446645195
+0.464320626 0.545416893 0.447931951
+0.465298143 0.544343629 0.449226535
+0.466275660 0.543264953 0.450531713
+0.467253177 0.542180826 0.451843888
+0.468230694 0.541082374 0.453168194
+0.469208211 0.539975079 0.454499403
+0.470185728 0.538861828 0.455843131
+0.471163245 0.537742573 0.457194500
+0.472140762 0.536617267 0.458558366
+0.473118280 0.535477779 0.459930679
+0.474095797 0.534327120 0.461315854
+0.475073314 0.533169855 0.462709935
+0.476050831 0.532005928 0.464117671
+0.477028348 0.530835281 0.465534381
+0.478005865 0.529650711 0.466952620
+0.478983382 0.528452318 0.468377996
+0.479960899 0.527246594 0.469806093
+0.480938416 0.526033471 0.471239943
+0.481915934 0.524812880 0.472678374
+0.482893451 0.523578752 0.474120606
+0.483870968 0.522327784 0.475569070
+0.484848485 0.521068672 0.477020289
+0.485826002 0.519801335 0.478476759
+0.486803519 0.518525692 0.479938796
+0.487781036 0.517237031 0.481403707
+0.488758553 0.515928105 0.482873363
+0.489736070 0.514610118 0.484347894
+0.490713587 0.513282977 0.485826893
+0.491691105 0.511946585 0.487309221
+0.492668622 0.510597845 0.488795133
+0.493646139 0.509224947 0.490284775
+0.494623656 0.507841954 0.491777716
+0.495601173 0.506448755 0.493273513
+0.496578690 0.505045237 0.494770784
+0.497556207 0.503630203 0.496268873
+0.498533724 0.502186589 0.497766318
+0.499511241 0.500731707 0.499259366
+0.500488759 0.499268293 0.500740634
+0.501466276 0.497813411 0.502233682
+0.502443793 0.496369797 0.503731127
+0.503421310 0.494954763 0.505229216
+0.504398827 0.493551245 0.506726487
+0.505376344 0.492158046 0.508222284
+0.506353861 0.490775053 0.509715225
+0.507331378 0.489402155 0.511204867
+0.508308895 0.488053415 0.512690779
+0.509286413 0.486717023 0.514173107
+0.510263930 0.485389882 0.515652106
+0.511241447 0.484071895 0.517126637
+0.512218964 0.482762969 0.518596293
+0.513196481 0.481474308 0.520061204
+0.514173998 0.480198665 0.521523241
+0.515151515 0.478931328 0.522979711
+0.516129032 0.477672216 0.524430930
+0.517106549 0.476421248 0.525879394
+0.518084066 0.475187120 0.527321626
+0.519061584 0.473966529 0.528760057
+0.520039101 0.472753406 0.530193907
+0.521016618 0.471547682 0.531622004
+0.521994135 0.470349289 0.533047380
+0.522971652 0.469164719 0.534465619
+0.523949169 0.467994072 0.535882329
+0.524926686 0.466830145 0.537290065
+0.525904203 0.465672880 0.538684146
+0.526881720 0.464522221 0.540069321
+0.527859238 0.463382733 0.541441634
+0.528836755 0.462257427 0.542805500
+0.529814272 0.461138172 0.544156869
+0.530791789 0.460024921 0.545500597
+0.531769306 0.458917626 0.546831806
+0.532746823 0.457819174 0.548156112
+0.533724340 0.456735047 0.549468287
+0.534701857 0.455656371 0.550773465
+0.535679374 0.454583107 0.552068049
+0.536656891 0.453515214 0.553354805
+0.537634409 0.452454128 0.554632730
+0.538611926 0.451407401 0.555901740
+0.539589443 0.450365585 0.557163874
+0.540566960 0.449328646 0.558415786
+0.541544477 0.448296550 0.559661899
+0.542521994 0.447269485 0.560898374
+0.543499511 0.446256713 0.562128247
+0.544477028 0.445248362 0.563350854
+0.545454545 0.444244405 0.564565076
+0.546432063 0.443244812 0.565774000
+0.547409580 0.442249555 0.566973636
+0.548387097 0.441266741 0.568167692
+0.549364614 0.440288747 0.569355110
+0.550342131 0.439314706 0.570534834
+0.551319648 0.438344595 0.571709718
+0.552297165 0.437378388 0.572876520
+0.553274682 0.436422583 0.574037789
+0.554252199 0.435472086 0.575193788
+0.555229717 0.434525140 0.576341931
+0.556207234 0.433581725 0.577485657
+0.557184751 0.432641823 0.578623106
+0.558162268 0.431710510 0.579754366
+0.559139785 0.430784868 0.580881419
+0.560117302 0.429862409 0.582001467
+0.561094819 0.428943116 0.583116683
+0.562072336 0.428026973 0.584227802
+0.563049853 0.427117822 0.585331613
+0.564027370 0.426214584 0.586431587
+0.565004888 0.425314190 0.587526992
+0.565982405 0.424416626 0.588616144
+0.566959922 0.423521879 0.589701643
+0.567937439 0.422632717 0.590782288
+0.568914956 0.421749601 0.591857525
+0.569892473 0.420869014 0.592929284
+0.570869990 0.419990946 0.593996065
+0.571847507 0.419115385 0.595058098
+0.572825024 0.418244185 0.596116823
+0.573802542 0.417379053 0.597170578
+0.574780059 0.416516158 0.598220091
+0.575757576 0.415655492 0.599266460
+0.576735093 0.414797045 0.600307975
+0.577712610 0.413941901 0.601345627
+0.578690127 0.413092743 0.602380291
+0.579667644 0.412245550 0.603410305
+0.580645161 0.411400313 0.604436730
+0.581622678 0.410557028 0.605460315
+0.582600196 0.409716142 0.606479523
+0.583577713 0.408881059 0.607495332
+0.584555230 0.408047684 0.608508445
+0.585532747 0.407216012 0.609517501
+0.586510264 0.406386036 0.610523282
+0.587487781 0.405557752 0.611526508
+0.588465298 0.404734893 0.612524869
+0.589442815 0.403913547 0.613519377
+0.590420332 0.403093662 0.614511567
+0.591397849 0.402275235 0.615499603
+0.592375367 0.401458260 0.616483850
+0.593352884 0.400645571 0.617466011
+0.594330401 0.399834545 0.618444735
+0.595307918 0.399024749 0.619419704
+0.596285435 0.398216183 0.620392807
+0.597262952 0.397408843 0.621363177
+0.598240469 0.396604792 0.622329816
+0.599217986 0.395802442 0.623294806
+0.600195503 0.395001104 0.624257728
+0.601173021 0.394200775 0.625216962
+0.602150538 0.393401455 0.626174754
+0.603128055 0.392604564 0.627131094
+0.604105572 0.391809304 0.628083822
+0.605083089 0.391014844 0.629035311
+0.606060606 0.390221182 0.629985565
+0.607038123 0.389428318 0.630932995
+0.608015640 0.388637154 0.631879056
+0.608993157 0.387847442 0.632824079
+0.609970674 0.387058324 0.633767010
+0.610948192 0.386269800 0.634708500
+0.611925709 0.385481870 0.635649147
+0.612903226 0.384695033 0.636588337
+0.613880743 0.383909362 0.637526101
+0.614858260 0.383124086 0.638463211
+0.615835777 0.382339202 0.639399398
+0.616813294 0.381554712 0.640334267
+0.617790811 0.380770829 0.641268671
+0.618768328 0.379987720 0.642202572
+0.619745846 0.379204806 0.643135371
+0.620723363 0.378422088 0.644067892
+0.621700880 0.377639566 0.645000134
+0.622678397 0.376857283 0.645931760
+0.623655914 0.376075269 0.646863213
+0.624633431 0.375293255 0.647794574
+0.625610948 0.374511241 0.648725763
+0.626588465 0.373729228 0.649656963
+0.627565982 0.372947197 0.650588255
+0.628543500 0.372164822 0.651519701
+0.629521017 0.371382251 0.652451460
+0.630498534 0.370599484 0.653383496
+0.631476051 0.369816521 0.654315896
+0.632453568 0.369033362 0.655249029
+0.633431085 0.368249202 0.656182626
+0.634408602 0.367464614 0.657116687
+0.635386119 0.366679632 0.658052008
+0.636363636 0.365894257 0.658987986
+0.637341153 0.365108488 0.659924616
+0.638318671 0.364321203 0.660862755
+0.639296188 0.363533124 0.661801943
+0.640273705 0.362744452 0.662741973
+0.641251222 0.361955186 0.663683663
+0.642228739 0.361165325 0.664626899
+0.643206256 0.360373541 0.665571170
+0.644183773 0.359580477 0.666517165
+0.645161290 0.358786616 0.667465300
+0.646138807 0.357991956 0.668414668
+0.647116325 0.357196495 0.669365744
+0.648093842 0.356398810 0.670319646
+0.649071359 0.355599237 0.671274982
+0.650048876 0.354798657 0.672231950
+0.651026393 0.353997066 0.673192503
+0.652003910 0.353194462 0.674154697
+0.652981427 0.352389437 0.675118537
+0.653958944 0.351581790 0.676086512
+0.654936461 0.350772917 0.677056477
+0.655913978 0.349962814 0.678028302
+0.656891496 0.349151479 0.679004405
+0.657869013 0.348337632 0.679983079
+0.658846530 0.347520295 0.680963833
+0.659824047 0.346701503 0.681949010
+0.660801564 0.345881254 0.682937360
+0.661779081 0.345059542 0.683928019
+0.662756598 0.344235335 0.684923271
+0.663734115 0.343406629 0.685922297
+0.664711632 0.342576230 0.686923870
+0.665689150 0.341744132 0.687929130
+0.666666667 0.340910331 0.688937846
+0.667644184 0.340074160 0.689949246
+0.668621701 0.339232333 0.690964504
+0.669599218 0.338388561 0.691983490
+0.670576735 0.337542836 0.693005305
+0.671554252 0.336695152 0.694031207
+0.672531769 0.335845338 0.695061065
+0.673509286 0.334988551 0.696093900
+0.674486804 0.334129550 0.697131132
+0.675464321 0.333268328 0.698172485
+0.676441838 0.332404874 0.699216970
+0.677419355 0.331539182 0.700266262
+0.678396872 0.330665959 0.701319757
+0.679374389 0.329789773 0.702376545
+0.680351906 0.328911076 0.703438672
+0.681329423 0.328029857 0.704504983
+0.682306940 0.327146107 0.705574753
+0.683284457 0.326254698 0.706650544
+0.684261975 0.325359248 0.707730369
+0.685239492 0.324460977 0.708813895
+0.686217009 0.323559874 0.709904167
+0.687194526 0.322655923 0.710998237
+0.688172043 0.321744286 0.712096862
+0.689149560 0.320827357 0.713201951
+0.690127077 0.319907274 0.714311028
+0.691104594 0.318984020 0.715425744
+0.692082111 0.318057580 0.716546437
+0.693059629 0.317123530 0.717671316
+0.694037146 0.316182751 0.718803182
+0.695014663 0.315238455 0.719940303
+0.695992180 0.314290624 0.721082144
+0.696969697 0.313339235 0.722231969
+0.697947214 0.312380425 0.723386379
+0.698924731 0.311413245 0.724547261
+0.699902248 0.310442153 0.725715054
+0.700879765 0.309467126 0.726887658
+0.701857283 0.308488140 0.728068862
+0.702834800 0.307502035 0.729255560
+0.703812317 0.306505697 0.730448885
+0.704789834 0.305505016 0.731650209
+0.705767351 0.304499963 0.732856799
+0.706744868 0.303490510 0.734072768
+0.707722385 0.302474365 0.735294761
+0.708699902 0.301445879 0.736524473
+0.709677419 0.300412575 0.737762451
+0.710654936 0.299374420 0.739006630
+0.711632454 0.298331379 0.740261200
+0.712609971 0.297282205 0.741521781
+0.713587488 0.296218314 0.742792422
+0.714565005 0.295149082 0.744070482
+0.715542522 0.294074469 0.745357611
+0.716520039 0.292994434 0.746653821
+0.717497556 0.291908937 0.747958353
+0.718475073 0.290806106 0.749273413
+0.719452590 0.289697326 0.750596331
+0.720430108 0.288582579 0.751930974
+0.721407625 0.287461816 0.753273330
+0.722385142 0.286334988 0.754628320
+0.723362659 0.285190730 0.755991241
+0.724340176 0.284038425 0.757367382
+0.725317693 0.282879501 0.758752076
+0.726295210 0.281713899 0.760150208
+0.727272727 0.280541562 0.761557968
+0.728250244 0.279351796 0.762978972
+0.729227761 0.278151577 0.764411182
+0.730205279 0.276944010 0.765855987
+0.731182796 0.275729026 0.767314128
+0.732160313 0.274506558 0.768783708
+0.733137830 0.273266769 0.770269365
+0.734115347 0.272013773 0.771767273
+0.735092864 0.270752612 0.773279617
+0.736070381 0.269483206 0.774807849
+0.737047898 0.268205474 0.776350238
+0.738025415 0.266910644 0.777908241
+0.739002933 0.265599461 0.779484121
+0.739980450 0.264279195 0.781076333
+0.740957967 0.262949750 0.782685839
+0.741935484 0.261611030 0.784313657
+0.742913001 0.260255561 0.785960859
+0.743890518 0.258880149 0.787628578
+0.744868035 0.257494616 0.789318005
+0.745845552 0.256098848 0.791030397
+0.746823069 0.254692732 0.792767079
+0.747800587 0.253270349 0.794529580
+0.748778104 0.251823930 0.796323108
+0.749755621 0.250366211 0.798153793
+0.750733138 0.250000000 0.798619957
+0.751710655 0.250000000 0.798619478
+0.752688172 0.250000000 0.798618827
+0.753665689 0.250000000 0.798618046
+0.754643206 0.250000000 0.798617146
+0.755620723 0.250000000 0.798616146
+0.756598240 0.250000000 0.798615054
+0.757575758 0.250000000 0.798613875
+0.758553275 0.250000000 0.798612615
+0.759530792 0.250000000 0.798611281
+0.760508309 0.250000000 0.798609872
+0.761485826 0.250000000 0.798608379
+0.762463343 0.250000000 0.798606824
+0.763440860 0.250000000 0.798605212
+0.764418377 0.250000000 0.798603523
+0.765395894 0.250000000 0.798601768
+0.766373412 0.250000000 0.798599968
+0.767350929 0.250000000 0.798598087
+0.768328446 0.250000000 0.798596154
+0.769305963 0.250000000 0.798594172
+0.770283480 0.250000000 0.798592109
+0.771260997 0.250000000 0.798590018
+0.772238514 0.250000000 0.798587837
+0.773216031 0.250000000 0.798585625
+0.774193548 0.250000000 0.798583339
+0.775171065 0.250000000 0.798581012
+0.776148583 0.250000000 0.798578619
+0.777126100 0.250000000 0.798576179
+0.778103617 0.250000000 0.798573676
+0.779081134 0.250000000 0.798571128
+0.780058651 0.250000000 0.798568514
+0.781036168 0.250000000 0.798565861
+0.782013685 0.250000000 0.798563134
+0.782991202 0.250000000 0.798560379
+0.783968719 0.250000000 0.798557536
+0.784946237 0.250000000 0.798554682
+0.785923754 0.250000000 0.798551722
+0.786901271 0.250000000 0.798548749
+0.787878788 0.250000000 0.798545693
+0.788856305 0.250000000 0.798542598
+0.789833822 0.250000000 0.798539450
+0.790811339 0.250000000 0.798536231
+0.791788856 0.250000000 0.798532993
+0.792766373 0.250000000 0.798529646
+0.793743891 0.250000000 0.798526284
+0.794721408 0.250000000 0.798522845
+0.795698925 0.250000000 0.798519352
+0.796676442 0.250000000 0.798515828
+0.797653959 0.250000000 0.798512201
+0.798631476 0.250000000 0.798508555
+0.799608993 0.250000000 0.798504830
+0.800586510 0.250000000 0.798501045
+0.801564027 0.250000000 0.798497238
+0.802541544 0.250000000 0.798493312
+0.803519062 0.250000000 0.798489365
+0.804496579 0.250000000 0.798485354
+0.805474096 0.250000000 0.798481260
+0.806451613 0.250000000 0.798477144
+0.807429130 0.250000000 0.798472926
+0.808406647 0.250000000 0.798468658
+0.809384164 0.250000000 0.798464362
+0.810361681 0.250000000 0.798459937
+0.811339198 0.250000000 0.798455487
+0.812316716 0.250000000 0.798450981
+0.813294233 0.250000000 0.798446368
+0.814271750 0.250000000 0.798441728
+0.815249267 0.250000000 0.798437007
+0.816226784 0.250000000 0.798432199
+0.817204301 0.250000000 0.798427360
+0.818181818 0.250000000 0.798422419
+0.819159335 0.250000000 0.798417406
+0.820136852 0.250000000 0.798412362
+0.821114370 0.250000000 0.798407195
+0.822091887 0.250000000 0.798401968
+0.823069404 0.250000000 0.798396707
+0.824046921 0.250000000 0.798391309
+0.825024438 0.250000000 0.798385858
+0.826001955 0.250000000 0.798380370
+0.826979472 0.250000000 0.798374734
+0.827956989 0.250000000 0.798369049
+0.828934506 0.250000000 0.798363324
+0.829912023 0.250000000 0.798357442
+0.830889541 0.250000000 0.798351511
+0.831867058 0.250000000 0.798345537
+0.832844575 0.250000000 0.798339400
+0.833822092 0.250000000 0.798333211
+0.834799609 0.250000000 0.798326976
+0.835777126 0.250000000 0.798320576
+0.836754643 0.250000000 0.798314116
+0.837732160 0.250000000 0.798307606
+0.838709677 0.250000000 0.798300932
+0.839687195 0.250000000 0.798294187
+0.840664712 0.250000000 0.798287388
+0.841642229 0.250000000 0.798280430
+0.842619746 0.250000000 0.798273384
+0.843597263 0.250000000 0.798266281
+0.844574780 0.250000000 0.798259026
+0.845552297 0.250000000 0.798251664
+0.846529814 0.250000000 0.798244240
+0.847507331 0.250000000 0.798236674
+0.848484848 0.250000000 0.798228978
+0.849462366 0.250000000 0.798221215
+0.850439883 0.250000000 0.798213324
+0.851417400 0.250000000 0.798205276
+0.852394917 0.250000000 0.798197155
+0.853372434 0.250000000 0.798188922
+0.854349951 0.250000000 0.798180502
+0.855327468 0.250000000 0.798172002
+0.856304985 0.250000000 0.798163410
+0.857282502 0.250000000 0.798154594
+0.858260020 0.250000000 0.798145693
+0.859237537 0.250000000 0.798136706
+0.860215054 0.250000000 0.798127487
+0.861192571 0.250000000 0.798118161
+0.862170088 0.250000000 0.798108741
+0.863147605 0.250000000 0.798099109
+0.864125122 0.250000000 0.798089331
+0.865102639 0.250000000 0.798079451
+0.866080156 0.250000000 0.798069382
+0.867057674 0.250000000 0.798059123
+0.868035191 0.250000000 0.798048754
+0.869012708 0.250000000 0.798038221
+0.869990225 0.250000000 0.798027449
+0.870967742 0.250000000 0.798016558
+0.871945259 0.250000000 0.798005530
+0.872922776 0.250000000 0.797994212
+0.873900293 0.250000000 0.797982764
+0.874877810 0.250000000 0.797971185
+0.875855327 0.250000000 0.797959306
+0.876832845 0.250000000 0.797947263
+0.877810362 0.250000000 0.797935078
+0.878787879 0.250000000 0.797922616
+0.879765396 0.250000000 0.797909935
+0.880742913 0.250000000 0.797897099
+0.881720430 0.250000000 0.797884012
+0.882697947 0.250000000 0.797870648
+0.883675464 0.250000000 0.797857113
+0.884652981 0.250000000 0.797843354
+0.885630499 0.250000000 0.797829254
+0.886608016 0.250000000 0.797814969
+0.887585533 0.250000000 0.797800485
+0.888563050 0.250000000 0.797785594
+0.889540567 0.250000000 0.797770499
+0.890518084 0.250000000 0.797755197
+0.891495601 0.250000000 0.797739486
+0.892473118 0.250000000 0.797723518
+0.893450635 0.250000000 0.797707323
+0.894428152 0.250000000 0.797690733
+0.895405670 0.250000000 0.797673819
+0.896383187 0.250000000 0.797656655
+0.897360704 0.250000000 0.797639111
+0.898338221 0.250000000 0.797621171
+0.899315738 0.250000000 0.797602957
+0.900293255 0.250000000 0.797584371
+0.901270772 0.250000000 0.797565316
+0.902248289 0.250000000 0.797545958
+0.903225806 0.250000000 0.797526235
+0.904203324 0.250000000 0.797505964
+0.905180841 0.250000000 0.797485358
+0.906158358 0.250000000 0.797464387
+0.907135875 0.250000000 0.797442787
+0.908113392 0.250000000 0.797420816
+0.909090909 0.250000000 0.797398464
+0.910068426 0.250000000 0.797375416
+0.911045943 0.250000000 0.797351947
+0.912023460 0.250000000 0.797328054
+0.913000978 0.250000000 0.797303431
+0.913978495 0.250000000 0.797278312
+0.914956012 0.250000000 0.797252722
+0.915933529 0.250000000 0.797226352
+0.916911046 0.250000000 0.797199412
+0.917888563 0.250000000 0.797171944
+0.918866080 0.250000000 0.797143632
+0.919843597 0.250000000 0.797114674
+0.920821114 0.250000000 0.797085122
+0.921798631 0.250000000 0.797054641
+0.922776149 0.250000000 0.797023436
+0.923753666 0.250000000 0.796991562
+0.924731183 0.250000000 0.796958649
+0.925708700 0.250000000 0.796924934
+0.926686217 0.250000000 0.796890462
+0.927663734 0.250000000 0.796854809
+0.928641251 0.250000000 0.796818277
+0.929618768 0.250000000 0.796780885
+0.930596285 0.250000000 0.796742131
+0.931573803 0.250000000 0.796702422
+0.932551320 0.250000000 0.796661678
+0.933528837 0.250000000 0.796619449
+0.934506354 0.250000000 0.796576138
+0.935483871 0.250000000 0.796531554
+0.936461388 0.250000000 0.796485383
+0.937438905 0.250000000 0.796437966
+0.938416422 0.250000000 0.796388970
+0.939393939 0.250000000 0.796338286
+0.940371457 0.250000000 0.796286158
+0.941348974 0.250000000 0.796232059
+0.942326491 0.250000000 0.796176174
+0.943304008 0.250000000 0.796118602
+0.944281525 0.250000000 0.796058564
+0.945259042 0.250000000 0.795996641
+0.946236559 0.250000000 0.795932487
+0.947214076 0.250000000 0.795865725
+0.948191593 0.250000000 0.795796735
+0.949169110 0.250000000 0.795724810
+0.950146628 0.250000000 0.795650131
+0.951124145 0.250000000 0.795572676
+0.952101662 0.250000000 0.795491611
+0.953079179 0.250000000 0.795407522
+0.954056696 0.250000000 0.795319628
+0.955034213 0.250000000 0.795227898
+0.956011730 0.250000000 0.795132357
+0.956989247 0.250000000 0.795031935
+0.957966764 0.250000000 0.794927282
+0.958944282 0.250000000 0.794817257
+0.959921799 0.250000000 0.794701981
+0.960899316 0.250000000 0.794581006
+0.961876833 0.250000000 0.794453449
+0.962854350 0.250000000 0.794319707
+0.963831867 0.250000000 0.794177846
+0.964809384 0.250000000 0.794028718
+0.965786901 0.250000000 0.793870437
+0.966764418 0.250000000 0.793703113
+0.967741935 0.250000000 0.793525315
+0.968719453 0.250000000 0.793336305
+0.969696970 0.250000000 0.793135013
+0.970674487 0.250000000 0.792919868
+0.971652004 0.250000000 0.792689957
+0.972629521 0.250000000 0.792442910
+0.973607038 0.250000000 0.792177663
+0.974584555 0.250000000 0.791891104
+0.975562072 0.250000000 0.791581540
+0.976539589 0.250000000 0.791245216
+0.977517107 0.250000000 0.790900290
+0.978494624 0.250000000 0.790546727
+0.979472141 0.250000000 0.790189953
+0.980449658 0.250000000 0.789814417
+0.981427175 0.250000000 0.789445023
+0.982404692 0.250000000 0.789052209
+0.983382209 0.250000000 0.788657501
+0.984359726 0.250000000 0.788250203
+0.985337243 0.250000000 0.787818500
+0.986314761 0.250000000 0.787390503
+0.987292278 0.250000000 0.786940347
+0.988269795 0.250000000 0.786464072
+0.989247312 0.250000000 0.785974808
+0.990224829 0.250000000 0.785469812
+0.991202346 0.250000000 0.784933879
+0.992179863 0.250000000 0.784364501
+0.993157380 0.250000000 0.783757951
+0.994134897 0.250000000 0.783108264
+0.995112414 0.250000000 0.782404962
+0.996089932 0.250000000 0.781627407
+0.997067449 0.250000000 0.780727892
+0.998044966 0.250000000 0.779693393
+0.999022483 0.250000000 0.778328498
+1.000000000 nan nan
diff --git a/examples/mamdani/SimpleDimmerChained.fll b/examples/mamdani/SimpleDimmerChained.fll
index fd6b945..02b35cc 100644
--- a/examples/mamdani/SimpleDimmerChained.fll
+++ b/examples/mamdani/SimpleDimmerChained.fll
@@ -1,29 +1,30 @@
-Engine: simple-dimmer
+Engine: SimpleDimmerChained
InputVariable: Ambient
enabled: true
range: 0.000 1.000
+ lock-range: false
term: DARK Triangle 0.000 0.250 0.500
term: MEDIUM Triangle 0.250 0.500 0.750
term: BRIGHT Triangle 0.500 0.750 1.000
OutputVariable: Power
enabled: true
range: 0.000 1.000
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: Centroid 200
default: nan
lock-previous: false
- lock-range: false
term: LOW Triangle 0.000 0.250 0.500
term: MEDIUM Triangle 0.250 0.500 0.750
term: HIGH Triangle 0.500 0.750 1.000
OutputVariable: InversePower
enabled: true
range: 0.000 1.000
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: Centroid 500
default: nan
lock-previous: false
- lock-range: false
term: LOW Cosine 0.200 0.500
term: MEDIUM Cosine 0.500 0.500
term: HIGH Cosine 0.800 0.500
@@ -31,7 +32,8 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if Ambient is DARK then Power is HIGH
rule: if Ambient is MEDIUM then Power is MEDIUM
rule: if Ambient is BRIGHT then Power is LOW
diff --git a/examples/mamdani/SimpleDimmerChained.java b/examples/mamdani/SimpleDimmerChained.java
new file mode 100644
index 0000000..a7c28c6
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerChained.java
@@ -0,0 +1,81 @@
+import com.fuzzylite.*;
+import com.fuzzylite.activation.*
+import com.fuzzylite.defuzzifier.*;
+import com.fuzzylite.factory.*;
+import com.fuzzylite.hedge.*;
+import com.fuzzylite.imex.*;
+import com.fuzzylite.norm.*;
+import com.fuzzylite.norm.s.*;
+import com.fuzzylite.norm.t.*;
+import com.fuzzylite.rule.*;
+import com.fuzzylite.term.*;
+import com.fuzzylite.variable.*;
+
+public class SimpleDimmerChained{
+public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
+Engine engine = new Engine();
+engine.setName("SimpleDimmerChained");
+engine.setDescription("");
+
+InputVariable Ambient = new InputVariable();
+Ambient.setName("Ambient");
+Ambient.setDescription("");
+Ambient.setEnabled(true);
+Ambient.setRange(0.000, 1.000);
+Ambient.setLockValueInRange(false);
+Ambient.addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
+Ambient.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Ambient.addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
+engine.addInputVariable(Ambient);
+
+OutputVariable Power = new OutputVariable();
+Power.setName("Power");
+Power.setDescription("");
+Power.setEnabled(true);
+Power.setRange(0.000, 1.000);
+Power.setLockValueInRange(false);
+Power.setAggregation(new Maximum());
+Power.setDefuzzifier(new Centroid(200));
+Power.setDefaultValue(Double.NaN);
+Power.setLockPreviousValue(false);
+Power.addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
+Power.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Power.addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
+engine.addOutputVariable(Power);
+
+OutputVariable InversePower = new OutputVariable();
+InversePower.setName("InversePower");
+InversePower.setDescription("");
+InversePower.setEnabled(true);
+InversePower.setRange(0.000, 1.000);
+InversePower.setLockValueInRange(false);
+InversePower.setAggregation(new Maximum());
+InversePower.setDefuzzifier(new Centroid(500));
+InversePower.setDefaultValue(Double.NaN);
+InversePower.setLockPreviousValue(false);
+InversePower.addTerm(new Cosine("LOW", 0.200, 0.500));
+InversePower.addTerm(new Cosine("MEDIUM", 0.500, 0.500));
+InversePower.addTerm(new Cosine("HIGH", 0.800, 0.500));
+engine.addOutputVariable(InversePower);
+
+RuleBlock ruleBlock = new RuleBlock();
+ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
+ruleBlock.setConjunction(null);
+ruleBlock.setDisjunction(null);
+ruleBlock.setImplication(new Minimum());
+ruleBlock.setActivation(new General());
+ruleBlock.addRule(Rule.parse("if Ambient is DARK then Power is HIGH", engine));
+ruleBlock.addRule(Rule.parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
+ruleBlock.addRule(Rule.parse("if Ambient is BRIGHT then Power is LOW", engine));
+ruleBlock.addRule(Rule.parse("if Power is LOW then InversePower is HIGH", engine));
+ruleBlock.addRule(Rule.parse("if Power is MEDIUM then InversePower is MEDIUM", engine));
+ruleBlock.addRule(Rule.parse("if Power is HIGH then InversePower is LOW", engine));
+engine.addRuleBlock(ruleBlock);
+
+
+}
+}
diff --git a/examples/mamdani/SimpleDimmerChained.pdf b/examples/mamdani/SimpleDimmerChained.pdf
new file mode 100644
index 0000000..bc22cfa
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerChained.pdf
Binary files differ
diff --git a/examples/mamdani/SimpleDimmerInverse.R b/examples/mamdani/SimpleDimmerInverse.R
new file mode 100644
index 0000000..358916d
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerInverse.R
@@ -0,0 +1,85 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "SimpleDimmerInverse"
+engine.fll = "Engine: SimpleDimmerInverse
+InputVariable: Ambient
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: DARK Triangle 0.000 0.250 0.500
+ term: MEDIUM Triangle 0.250 0.500 0.750
+ term: BRIGHT Triangle 0.500 0.750 1.000
+OutputVariable: Power
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 200
+ default: nan
+ lock-previous: false
+ term: LOW Triangle 0.000 0.250 0.500
+ term: MEDIUM Triangle 0.250 0.500 0.750
+ term: HIGH Triangle 0.500 0.750 1.000
+OutputVariable: InversePower
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 500
+ default: nan
+ lock-previous: false
+ term: LOW Cosine 0.200 0.500
+ term: MEDIUM Cosine 0.500 0.500
+ term: HIGH Cosine 0.800 0.500
+RuleBlock:
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: Minimum
+ activation: General
+ rule: if Ambient is DARK then Power is HIGH
+ rule: if Ambient is MEDIUM then Power is MEDIUM
+ rule: if Ambient is BRIGHT then Power is LOW
+ rule: if Power is LOW then InversePower is HIGH
+ rule: if Power is MEDIUM then InversePower is MEDIUM
+ rule: if Power is HIGH then InversePower is LOW"
+
+engine.fldFile = "SimpleDimmerInverse.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(Ambient, Power)) +
+ geom_line(aes(color=Power), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("Ambient vs Power")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(Ambient, Power)) +
+ geom_line(aes(color=Power), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("Power vs Ambient")
+
+engine.plot.i1_o2 = ggplot(engine.df, aes(Ambient, InversePower)) +
+ geom_line(aes(color=InversePower), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("Ambient vs InversePower")
+
+engine.plot.o2_i1 = ggplot(engine.df, aes(Ambient, InversePower)) +
+ geom_line(aes(color=InversePower), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("InversePower vs Ambient")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, engine.plot.i1_o2, engine.plot.o2_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/SimpleDimmerInverse.cpp b/examples/mamdani/SimpleDimmerInverse.cpp
index cad1100..1c22275 100644
--- a/examples/mamdani/SimpleDimmerInverse.cpp
+++ b/examples/mamdani/SimpleDimmerInverse.cpp
@@ -1,60 +1,69 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("simple-dimmer");
-
-InputVariable* inputVariable = new InputVariable;
-inputVariable->setEnabled(true);
-inputVariable->setName("Ambient");
-inputVariable->setRange(0.000, 1.000);
-inputVariable->addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
-inputVariable->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-inputVariable->addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
-engine->addInputVariable(inputVariable);
-
-OutputVariable* outputVariable1 = new OutputVariable;
-outputVariable1->setEnabled(true);
-outputVariable1->setName("Power");
-outputVariable1->setRange(0.000, 1.000);
-outputVariable1->fuzzyOutput()->setAccumulation(new Maximum);
-outputVariable1->setDefuzzifier(new Centroid(200));
-outputVariable1->setDefaultValue(fl::nan);
-outputVariable1->setLockPreviousOutputValue(false);
-outputVariable1->setLockOutputValueInRange(false);
-outputVariable1->addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
-outputVariable1->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-outputVariable1->addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
-engine->addOutputVariable(outputVariable1);
-
-OutputVariable* outputVariable2 = new OutputVariable;
-outputVariable2->setEnabled(true);
-outputVariable2->setName("InversePower");
-outputVariable2->setRange(0.000, 1.000);
-outputVariable2->fuzzyOutput()->setAccumulation(new Maximum);
-outputVariable2->setDefuzzifier(new Centroid(500));
-outputVariable2->setDefaultValue(fl::nan);
-outputVariable2->setLockPreviousOutputValue(false);
-outputVariable2->setLockOutputValueInRange(false);
-outputVariable2->addTerm(new Cosine("LOW", 0.200, 0.500));
-outputVariable2->addTerm(new Cosine("MEDIUM", 0.500, 0.500));
-outputVariable2->addTerm(new Cosine("HIGH", 0.800, 0.500));
-engine->addOutputVariable(outputVariable2);
+engine->setName("SimpleDimmerInverse");
+engine->setDescription("");
+
+InputVariable* Ambient = new InputVariable;
+Ambient->setName("Ambient");
+Ambient->setDescription("");
+Ambient->setEnabled(true);
+Ambient->setRange(0.000, 1.000);
+Ambient->setLockValueInRange(false);
+Ambient->addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
+Ambient->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Ambient->addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
+engine->addInputVariable(Ambient);
+
+OutputVariable* Power = new OutputVariable;
+Power->setName("Power");
+Power->setDescription("");
+Power->setEnabled(true);
+Power->setRange(0.000, 1.000);
+Power->setLockValueInRange(false);
+Power->setAggregation(new Maximum);
+Power->setDefuzzifier(new Centroid(200));
+Power->setDefaultValue(fl::nan);
+Power->setLockPreviousValue(false);
+Power->addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
+Power->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Power->addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
+engine->addOutputVariable(Power);
+
+OutputVariable* InversePower = new OutputVariable;
+InversePower->setName("InversePower");
+InversePower->setDescription("");
+InversePower->setEnabled(true);
+InversePower->setRange(0.000, 1.000);
+InversePower->setLockValueInRange(false);
+InversePower->setAggregation(new Maximum);
+InversePower->setDefuzzifier(new Centroid(500));
+InversePower->setDefaultValue(fl::nan);
+InversePower->setLockPreviousValue(false);
+InversePower->addTerm(new Cosine("LOW", 0.200, 0.500));
+InversePower->addTerm(new Cosine("MEDIUM", 0.500, 0.500));
+InversePower->addTerm(new Cosine("HIGH", 0.800, 0.500));
+engine->addOutputVariable(InversePower);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
-ruleBlock->setConjunction(NULL);
-ruleBlock->setDisjunction(NULL);
-ruleBlock->setActivation(new Minimum);
-ruleBlock->addRule(fl::Rule::parse("if Ambient is DARK then Power is HIGH", engine));
-ruleBlock->addRule(fl::Rule::parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
-ruleBlock->addRule(fl::Rule::parse("if Ambient is BRIGHT then Power is LOW", engine));
-ruleBlock->addRule(fl::Rule::parse("if Power is LOW then InversePower is HIGH", engine));
-ruleBlock->addRule(fl::Rule::parse("if Power is MEDIUM then InversePower is MEDIUM", engine));
-ruleBlock->addRule(fl::Rule::parse("if Power is HIGH then InversePower is LOW", engine));
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
+ruleBlock->setConjunction(fl::null);
+ruleBlock->setDisjunction(fl::null);
+ruleBlock->setImplication(new Minimum);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if Ambient is DARK then Power is HIGH", engine));
+ruleBlock->addRule(Rule::parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
+ruleBlock->addRule(Rule::parse("if Ambient is BRIGHT then Power is LOW", engine));
+ruleBlock->addRule(Rule::parse("if Power is LOW then InversePower is HIGH", engine));
+ruleBlock->addRule(Rule::parse("if Power is MEDIUM then InversePower is MEDIUM", engine));
+ruleBlock->addRule(Rule::parse("if Power is HIGH then InversePower is LOW", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/mamdani/SimpleDimmerInverse.fcl b/examples/mamdani/SimpleDimmerInverse.fcl
index 337bc2b..d8043d3 100644
--- a/examples/mamdani/SimpleDimmerInverse.fcl
+++ b/examples/mamdani/SimpleDimmerInverse.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK simple-dimmer
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK SimpleDimmerInverse
VAR_INPUT
Ambient: REAL;
diff --git a/examples/mamdani/SimpleDimmerInverse.fis b/examples/mamdani/SimpleDimmerInverse.fis
new file mode 100644
index 0000000..b044014
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerInverse.fis
@@ -0,0 +1,46 @@
+#Code automatically generated with fuzzylite 6.0.
+
+[System]
+Name='SimpleDimmerInverse'
+Type='mamdani'
+Version=6.0
+NumInputs=1
+NumOutputs=2
+NumRules=6
+AndMethod='min'
+OrMethod='max'
+ImpMethod='min'
+AggMethod='max'
+DefuzzMethod='centroid'
+
+[Input1]
+Name='Ambient'
+Range=[0.000 1.000]
+NumMFs=3
+MF1='DARK':'trimf',[0.000 0.250 0.500]
+MF2='MEDIUM':'trimf',[0.250 0.500 0.750]
+MF3='BRIGHT':'trimf',[0.500 0.750 1.000]
+
+[Output1]
+Name='Power'
+Range=[0.000 1.000]
+NumMFs=3
+MF1='LOW':'trimf',[0.000 0.250 0.500]
+MF2='MEDIUM':'trimf',[0.250 0.500 0.750]
+MF3='HIGH':'trimf',[0.500 0.750 1.000]
+
+[Output2]
+Name='InversePower'
+Range=[0.000 1.000]
+NumMFs=3
+MF1='LOW':'cosinemf',[0.200 0.500]
+MF2='MEDIUM':'cosinemf',[0.500 0.500]
+MF3='HIGH':'cosinemf',[0.800 0.500]
+
+[Rules]
+1.000 , 3.000 0.000 (1.000) : 1
+2.000 , 2.000 0.000 (1.000) : 1
+3.000 , 1.000 0.000 (1.000) : 1
+0.000 , 0.000 3.000 (1.000) : 1
+0.000 , 0.000 2.000 (1.000) : 1
+0.000 , 0.000 1.000 (1.000) : 1
diff --git a/examples/mamdani/SimpleDimmerInverse.fld b/examples/mamdani/SimpleDimmerInverse.fld
index 45373fa..843c017 100644
--- a/examples/mamdani/SimpleDimmerInverse.fld
+++ b/examples/mamdani/SimpleDimmerInverse.fld
@@ -1,1026 +1,1025 @@
-#@Engine: simple-dimmer;
-#@InputVariable: Ambient; @OutputVariable: Power; @OutputVariable: InversePower;
-0.00000000 nan nan
-0.00097752 0.75000000 0.22167150
-0.00195503 0.75000000 0.22030661
-0.00293255 0.75000000 0.21927211
-0.00391007 0.75000000 0.21837259
-0.00488759 0.75000000 0.21759504
-0.00586510 0.75000000 0.21689174
-0.00684262 0.75000000 0.21624205
-0.00782014 0.75000000 0.21563550
-0.00879765 0.75000000 0.21506612
-0.00977517 0.75000000 0.21453019
-0.01075269 0.75000000 0.21402519
-0.01173021 0.75000000 0.21353593
-0.01270772 0.75000000 0.21305965
-0.01368524 0.75000000 0.21260950
-0.01466276 0.75000000 0.21218150
-0.01564027 0.75000000 0.21174980
-0.01661779 0.75000000 0.21134250
-0.01759531 0.75000000 0.21094779
-0.01857283 0.75000000 0.21055498
-0.01955034 0.75000000 0.21018558
-0.02052786 0.75000000 0.20981005
-0.02150538 0.75000000 0.20945327
-0.02248289 0.75000000 0.20909971
-0.02346041 0.75000000 0.20875478
-0.02443793 0.75000000 0.20841846
-0.02541544 0.75000000 0.20810890
-0.02639296 0.75000000 0.20782234
-0.02737048 0.75000000 0.20755709
-0.02834800 0.75000000 0.20731004
-0.02932551 0.75000000 0.20708013
-0.03030303 0.75000000 0.20686499
-0.03128055 0.75000000 0.20666370
-0.03225806 0.75000000 0.20647468
-0.03323558 0.75000000 0.20629689
-0.03421310 0.75000000 0.20612956
-0.03519062 0.75000000 0.20597128
-0.03616813 0.75000000 0.20582215
-0.03714565 0.75000000 0.20568029
-0.03812317 0.75000000 0.20554655
-0.03910068 0.75000000 0.20541899
-0.04007820 0.75000000 0.20529802
-0.04105572 0.75000000 0.20518274
-0.04203324 0.75000000 0.20507272
-0.04301075 0.75000000 0.20496807
-0.04398827 0.75000000 0.20486764
-0.04496579 0.75000000 0.20477210
-0.04594330 0.75000000 0.20468037
-0.04692082 0.75000000 0.20459248
-0.04789834 0.75000000 0.20450839
-0.04887586 0.75000000 0.20442732
-0.04985337 0.75000000 0.20434987
-0.05083089 0.75000000 0.20427519
-0.05180841 0.75000000 0.20420327
-0.05278592 0.75000000 0.20413428
-0.05376344 0.75000000 0.20406751
-0.05474096 0.75000000 0.20400336
-0.05571848 0.75000000 0.20394144
-0.05669599 0.75000000 0.20388140
-0.05767351 0.75000000 0.20382383
-0.05865103 0.75000000 0.20376794
-0.05962854 0.75000000 0.20371384
-0.06060606 0.75000000 0.20366171
-0.06158358 0.75000000 0.20361103
-0.06256109 0.75000000 0.20356203
-0.06353861 0.75000000 0.20351462
-0.06451613 0.75000000 0.20346845
-0.06549365 0.75000000 0.20342386
-0.06647116 0.75000000 0.20338055
-0.06744868 0.75000000 0.20333832
-0.06842620 0.75000000 0.20329758
-0.06940371 0.75000000 0.20325787
-0.07038123 0.75000000 0.20321911
-0.07135875 0.75000000 0.20318172
-0.07233627 0.75000000 0.20314519
-0.07331378 0.75000000 0.20310954
-0.07429130 0.75000000 0.20307507
-0.07526882 0.75000000 0.20304135
-0.07624633 0.75000000 0.20300844
-0.07722385 0.75000000 0.20297656
-0.07820137 0.75000000 0.20294536
-0.07917889 0.75000000 0.20291488
-0.08015640 0.75000000 0.20288533
-0.08113392 0.75000000 0.20285637
-0.08211144 0.75000000 0.20282806
-0.08308895 0.75000000 0.20280059
-0.08406647 0.75000000 0.20277365
-0.08504399 0.75000000 0.20274728
-0.08602151 0.75000000 0.20272169
-0.08699902 0.75000000 0.20269657
-0.08797654 0.75000000 0.20267195
-0.08895406 0.75000000 0.20264805
-0.08993157 0.75000000 0.20262458
-0.09090909 0.75000000 0.20260154
-0.09188661 0.75000000 0.20257918
-0.09286413 0.75000000 0.20255721
-0.09384164 0.75000000 0.20253561
-0.09481916 0.75000000 0.20251464
-0.09579668 0.75000000 0.20249404
-0.09677419 0.75000000 0.20247377
-0.09775171 0.75000000 0.20245404
-0.09872923 0.75000000 0.20243468
-0.09970674 0.75000000 0.20241563
-0.10068426 0.75000000 0.20239704
-0.10166178 0.75000000 0.20237883
-0.10263930 0.75000000 0.20236089
-0.10361681 0.75000000 0.20234334
-0.10459433 0.75000000 0.20232618
-0.10557185 0.75000000 0.20230927
-0.10654936 0.75000000 0.20229268
-0.10752688 0.75000000 0.20227648
-0.10850440 0.75000000 0.20226051
-0.10948192 0.75000000 0.20224480
-0.11045943 0.75000000 0.20222950
-0.11143695 0.75000000 0.20221441
-0.11241447 0.75000000 0.20219951
-0.11339198 0.75000000 0.20218503
-0.11436950 0.75000000 0.20217075
-0.11534702 0.75000000 0.20215665
-0.11632454 0.75000000 0.20214289
-0.11730205 0.75000000 0.20212935
-0.11827957 0.75000000 0.20211599
-0.11925709 0.75000000 0.20210290
-0.12023460 0.75000000 0.20209006
-0.12121212 0.75000000 0.20207738
-0.12218964 0.75000000 0.20206492
-0.12316716 0.75000000 0.20205274
-0.12414467 0.75000000 0.20204069
-0.12512219 0.75000000 0.20202881
-0.12609971 0.75000000 0.20201724
-0.12707722 0.75000000 0.20200579
-0.12805474 0.75000000 0.20199447
-0.12903226 0.75000000 0.20198344
-0.13000978 0.75000000 0.20197255
-0.13098729 0.75000000 0.20196178
-0.13196481 0.75000000 0.20195125
-0.13294233 0.75000000 0.20194088
-0.13391984 0.75000000 0.20193062
-0.13489736 0.75000000 0.20192055
-0.13587488 0.75000000 0.20191067
-0.13685239 0.75000000 0.20190089
-0.13782991 0.75000000 0.20189126
-0.13880743 0.75000000 0.20188184
-0.13978495 0.75000000 0.20187251
-0.14076246 0.75000000 0.20186329
-0.14173998 0.75000000 0.20185431
-0.14271750 0.75000000 0.20184541
-0.14369501 0.75000000 0.20183659
-0.14467253 0.75000000 0.20182800
-0.14565005 0.75000000 0.20181950
-0.14662757 0.75000000 0.20181108
-0.14760508 0.75000000 0.20180284
-0.14858260 0.75000000 0.20179472
-0.14956012 0.75000000 0.20178668
-0.15053763 0.75000000 0.20177878
-0.15151515 0.75000000 0.20177102
-0.15249267 0.75000000 0.20176333
-0.15347019 0.75000000 0.20175576
-0.15444770 0.75000000 0.20174834
-0.15542522 0.75000000 0.20174097
-0.15640274 0.75000000 0.20173372
-0.15738025 0.75000000 0.20172662
-0.15835777 0.75000000 0.20171957
-0.15933529 0.75000000 0.20171261
-0.16031281 0.75000000 0.20170581
-0.16129032 0.75000000 0.20169907
-0.16226784 0.75000000 0.20169239
-0.16324536 0.75000000 0.20168588
-0.16422287 0.75000000 0.20167942
-0.16520039 0.75000000 0.20167302
-0.16617791 0.75000000 0.20166679
-0.16715543 0.75000000 0.20166060
-0.16813294 0.75000000 0.20165446
-0.16911046 0.75000000 0.20164849
-0.17008798 0.75000000 0.20164256
-0.17106549 0.75000000 0.20163668
-0.17204301 0.75000000 0.20163095
-0.17302053 0.75000000 0.20162527
-0.17399804 0.75000000 0.20161963
-0.17497556 0.75000000 0.20161414
-0.17595308 0.75000000 0.20160869
-0.17693060 0.75000000 0.20160329
-0.17790811 0.75000000 0.20159803
-0.17888563 0.75000000 0.20159280
-0.17986315 0.75000000 0.20158764
-0.18084066 0.75000000 0.20158259
-0.18181818 0.75000000 0.20157758
-0.18279570 0.75000000 0.20157264
-0.18377322 0.75000000 0.20156780
-0.18475073 0.75000000 0.20156299
-0.18572825 0.75000000 0.20155827
-0.18670577 0.75000000 0.20155363
-0.18768328 0.75000000 0.20154902
-0.18866080 0.75000000 0.20154451
-0.18963832 0.75000000 0.20154006
-0.19061584 0.75000000 0.20153564
-0.19159335 0.75000000 0.20153134
-0.19257087 0.75000000 0.20152707
-0.19354839 0.75000000 0.20152286
-0.19452590 0.75000000 0.20151874
-0.19550342 0.75000000 0.20151465
-0.19648094 0.75000000 0.20151063
-0.19745846 0.75000000 0.20150669
-0.19843597 0.75000000 0.20150276
-0.19941349 0.75000000 0.20149895
-0.20039101 0.75000000 0.20149517
-0.20136852 0.75000000 0.20149144
-0.20234604 0.75000000 0.20148780
-0.20332356 0.75000000 0.20148417
-0.20430108 0.75000000 0.20148065
-0.20527859 0.75000000 0.20147715
-0.20625611 0.75000000 0.20147372
-0.20723363 0.75000000 0.20147035
-0.20821114 0.75000000 0.20146701
-0.20918866 0.75000000 0.20146377
-0.21016618 0.75000000 0.20146055
-0.21114370 0.75000000 0.20145740
-0.21212121 0.75000000 0.20145431
-0.21309873 0.75000000 0.20145125
-0.21407625 0.75000000 0.20144828
-0.21505376 0.75000000 0.20144532
-0.21603128 0.75000000 0.20144246
-0.21700880 0.75000000 0.20143962
-0.21798631 0.75000000 0.20143687
-0.21896383 0.75000000 0.20143414
-0.21994135 0.75000000 0.20143149
-0.22091887 0.75000000 0.20142887
-0.22189638 0.75000000 0.20142632
-0.22287390 0.75000000 0.20142382
-0.22385142 0.75000000 0.20142138
-0.22482893 0.75000000 0.20141899
-0.22580645 0.75000000 0.20141666
-0.22678397 0.75000000 0.20141437
-0.22776149 0.75000000 0.20141216
-0.22873900 0.75000000 0.20140998
-0.22971652 0.75000000 0.20140789
-0.23069404 0.75000000 0.20140583
-0.23167155 0.75000000 0.20140385
-0.23264907 0.75000000 0.20140191
-0.23362659 0.75000000 0.20140003
-0.23460411 0.75000000 0.20139823
-0.23558162 0.75000000 0.20139648
-0.23655914 0.75000000 0.20139479
-0.23753666 0.75000000 0.20139318
-0.23851417 0.75000000 0.20139162
-0.23949169 0.75000000 0.20139013
-0.24046921 0.75000000 0.20138872
-0.24144673 0.75000000 0.20138738
-0.24242424 0.75000000 0.20138613
-0.24340176 0.75000000 0.20138495
-0.24437928 0.75000000 0.20138385
-0.24535679 0.75000000 0.20138285
-0.24633431 0.75000000 0.20138195
-0.24731183 0.75000000 0.20138117
-0.24828935 0.75000000 0.20138052
-0.24926686 0.75000000 0.20138004
-0.25024438 0.74963379 0.20184621
-0.25122190 0.74817607 0.20367689
-0.25219941 0.74672965 0.20547042
-0.25317693 0.74530727 0.20723292
-0.25415445 0.74390115 0.20896960
-0.25513196 0.74250538 0.21068200
-0.25610948 0.74111985 0.21237142
-0.25708700 0.73974444 0.21403914
-0.25806452 0.73838897 0.21568634
-0.25904203 0.73705025 0.21731416
-0.26001955 0.73572080 0.21892367
-0.26099707 0.73440054 0.22051588
-0.26197458 0.73308936 0.22209176
-0.26295210 0.73179453 0.22364976
-0.26392962 0.73051679 0.22519215
-0.26490714 0.72924739 0.22672038
-0.26588465 0.72798623 0.22823273
-0.26686217 0.72673323 0.22973063
-0.26783969 0.72549344 0.23121629
-0.26881720 0.72427097 0.23268587
-0.26979472 0.72305599 0.23414401
-0.27077224 0.72184842 0.23558882
-0.27174976 0.72064820 0.23702103
-0.27272727 0.71945844 0.23844203
-0.27370479 0.71828610 0.23984979
-0.27468231 0.71712050 0.24124792
-0.27565982 0.71596157 0.24263262
-0.27663734 0.71480927 0.24400876
-0.27761486 0.71366501 0.24537168
-0.27859238 0.71253818 0.24672667
-0.27956989 0.71141742 0.24806903
-0.28054741 0.71030267 0.24940367
-0.28152493 0.70919389 0.25072659
-0.28250244 0.70809106 0.25204165
-0.28347996 0.70700557 0.25334618
-0.28445748 0.70592553 0.25464239
-0.28543500 0.70485092 0.25592952
-0.28641251 0.70378169 0.25720758
-0.28739003 0.70271779 0.25847822
-0.28836755 0.70166862 0.25973880
-0.28934506 0.70062558 0.26099337
-0.29032258 0.69958742 0.26223755
-0.29130010 0.69855412 0.26347553
-0.29227761 0.69752564 0.26470524
-0.29325513 0.69650949 0.26592723
-0.29423265 0.69550004 0.26714320
-0.29521017 0.69449498 0.26834979
-0.29618768 0.69349430 0.26955111
-0.29716520 0.69249796 0.27074444
-0.29814272 0.69151186 0.27193114
-0.29912023 0.69053287 0.27311234
-0.30009775 0.68955785 0.27428495
-0.30107527 0.68858676 0.27545274
-0.30205279 0.68761958 0.27661362
-0.30303030 0.68666076 0.27776803
-0.30400782 0.68570938 0.27891786
-0.30498534 0.68476154 0.28005970
-0.30596285 0.68381725 0.28119682
-0.30694037 0.68287647 0.28232868
-0.30791789 0.68194242 0.28345356
-0.30889541 0.68101598 0.28457426
-0.30987292 0.68009273 0.28568897
-0.31085044 0.67917264 0.28679805
-0.31182796 0.67825571 0.28790314
-0.31280547 0.67734408 0.28900176
-0.31378299 0.67644013 0.29009583
-0.31476051 0.67553902 0.29118611
-0.31573803 0.67464075 0.29226963
-0.31671554 0.67374530 0.29334946
-0.31769306 0.67285389 0.29442525
-0.31867058 0.67197014 0.29549502
-0.31964809 0.67108892 0.29656133
-0.32062561 0.67021023 0.29762345
-0.32160313 0.66933404 0.29868024
-0.32258065 0.66846082 0.29973374
-0.32355816 0.66759513 0.30078303
-0.32453568 0.66673167 0.30182751
-0.32551320 0.66587045 0.30286887
-0.32649071 0.66501145 0.30390610
-0.32746823 0.66415466 0.30493893
-0.32844575 0.66330485 0.30596879
-0.32942326 0.66245716 0.30699470
-0.33040078 0.66161144 0.30801651
-0.33137830 0.66076767 0.30903550
-0.33235582 0.65992584 0.31005075
-0.33333333 0.65908967 0.31106215
-0.33431085 0.65825587 0.31207087
-0.33528837 0.65742377 0.31307613
-0.33626588 0.65659337 0.31407770
-0.33724340 0.65576467 0.31507673
-0.33822092 0.65494046 0.31607198
-0.33919844 0.65411875 0.31706264
-0.34017595 0.65329850 0.31805099
-0.34115347 0.65247971 0.31903617
-0.34213099 0.65166237 0.32001692
-0.34310850 0.65084852 0.32099560
-0.34408602 0.65003719 0.32197170
-0.34506354 0.64922708 0.32294352
-0.34604106 0.64841821 0.32391349
-0.34701857 0.64761056 0.32488146
-0.34799609 0.64680554 0.32584530
-0.34897361 0.64600293 0.32680750
-0.34995112 0.64520134 0.32776805
-0.35092864 0.64440076 0.32872502
-0.35190616 0.64360119 0.32968035
-0.35288368 0.64280350 0.33063426
-0.35386119 0.64200804 0.33158533
-0.35483871 0.64121338 0.33253470
-0.35581623 0.64041952 0.33348284
-0.35679374 0.63962646 0.33442883
-0.35777126 0.63883468 0.33537310
-0.35874878 0.63804481 0.33631634
-0.35972630 0.63725555 0.33725803
-0.36070381 0.63646688 0.33819806
-0.36168133 0.63567880 0.33913724
-0.36265885 0.63489151 0.34007538
-0.36363636 0.63410574 0.34101201
-0.36461388 0.63332037 0.34194799
-0.36559140 0.63253539 0.34288331
-0.36656891 0.63175080 0.34381737
-0.36754643 0.63096664 0.34475097
-0.36852395 0.63018348 0.34568410
-0.36950147 0.62940052 0.34661650
-0.37047898 0.62861775 0.34754854
-0.37145650 0.62783518 0.34848030
-0.37243402 0.62705280 0.34941175
-0.37341153 0.62627077 0.35034304
-0.37438905 0.62548876 0.35127424
-0.37536657 0.62470674 0.35220543
-0.37634409 0.62392473 0.35313679
-0.37732160 0.62314272 0.35406824
-0.37829912 0.62236043 0.35499987
-0.37927664 0.62157791 0.35593211
-0.38025415 0.62079519 0.35686463
-0.38123167 0.62001228 0.35779743
-0.38220919 0.61922917 0.35873133
-0.38318671 0.61844529 0.35966573
-0.38416422 0.61766080 0.36060060
-0.38514174 0.61687591 0.36153679
-0.38611926 0.61609064 0.36247390
-0.38709677 0.61530497 0.36341166
-0.38807429 0.61451813 0.36435085
-0.38905181 0.61373020 0.36529150
-0.39002933 0.61294168 0.36623299
-0.39100684 0.61215256 0.36717592
-0.39198436 0.61136285 0.36812094
-0.39296188 0.61057168 0.36906701
-0.39393939 0.60977882 0.37001444
-0.39491691 0.60898516 0.37096469
-0.39589443 0.60819070 0.37191618
-0.39687195 0.60739544 0.37286891
-0.39784946 0.60659855 0.37382525
-0.39882698 0.60579922 0.37478304
-0.39980450 0.60499890 0.37574227
-0.40078201 0.60419756 0.37670519
-0.40175953 0.60339521 0.37767018
-0.40273705 0.60259116 0.37863682
-0.40371457 0.60178382 0.37960719
-0.40469208 0.60097525 0.38058030
-0.40566960 0.60016546 0.38155526
-0.40664712 0.59935443 0.38253399
-0.40762463 0.59854174 0.38351615
-0.40860215 0.59772477 0.38450040
-0.40957967 0.59690634 0.38548843
-0.41055718 0.59608645 0.38648062
-0.41153470 0.59526511 0.38747513
-0.41251222 0.59444225 0.38847349
-0.41348974 0.59361396 0.38947672
-0.41446725 0.59278399 0.39048250
-0.41544477 0.59195232 0.39149155
-0.41642229 0.59111894 0.39250467
-0.41739980 0.59028386 0.39352048
-0.41837732 0.58944297 0.39453968
-0.41935484 0.58859969 0.39556327
-0.42033236 0.58775445 0.39658970
-0.42130987 0.58690726 0.39761971
-0.42228739 0.58605810 0.39865437
-0.42326491 0.58520295 0.39969203
-0.42424242 0.58434451 0.40073354
-0.42521994 0.58348384 0.40177991
-0.42619746 0.58262095 0.40282942
-0.42717498 0.58175582 0.40388318
-0.42815249 0.58088462 0.40494190
-0.42913001 0.58000905 0.40600393
-0.43010753 0.57913099 0.40707072
-0.43108504 0.57825040 0.40814248
-0.43206256 0.57736728 0.40921771
-0.43304008 0.57647812 0.41029836
-0.43401760 0.57558337 0.41138386
-0.43499511 0.57468581 0.41247301
-0.43597263 0.57378542 0.41356841
-0.43695015 0.57288218 0.41466839
-0.43792766 0.57197303 0.41577220
-0.43890518 0.57105688 0.41688332
-0.43988270 0.57013759 0.41799853
-0.44086022 0.56921513 0.41911858
-0.44183773 0.56828949 0.42024563
-0.44281525 0.56735818 0.42137689
-0.44379277 0.56641827 0.42251434
-0.44477028 0.56547486 0.42365807
-0.44574780 0.56452791 0.42480621
-0.44672532 0.56357742 0.42596221
-0.44770283 0.56262161 0.42712348
-0.44868035 0.56165541 0.42829028
-0.44965787 0.56068529 0.42946517
-0.45063539 0.55971125 0.43064489
-0.45161290 0.55873326 0.43183231
-0.45259042 0.55775044 0.43302636
-0.45356794 0.55675519 0.43422600
-0.45454545 0.55575559 0.43543492
-0.45552297 0.55475164 0.43664915
-0.45650049 0.55374329 0.43787175
-0.45747801 0.55273051 0.43910163
-0.45845552 0.55170345 0.44033810
-0.45943304 0.55067135 0.44158421
-0.46041056 0.54963442 0.44283613
-0.46138807 0.54859260 0.44409826
-0.46236559 0.54754587 0.44536727
-0.46334311 0.54648479 0.44664519
-0.46432063 0.54541689 0.44793195
-0.46529814 0.54434363 0.44922653
-0.46627566 0.54326495 0.45053171
-0.46725318 0.54218083 0.45184389
-0.46823069 0.54108237 0.45316819
-0.46920821 0.53997508 0.45449940
-0.47018573 0.53886183 0.45584313
-0.47116325 0.53774257 0.45719450
-0.47214076 0.53661727 0.45855837
-0.47311828 0.53547778 0.45993068
-0.47409580 0.53432712 0.46131585
-0.47507331 0.53316986 0.46270993
-0.47605083 0.53200593 0.46411767
-0.47702835 0.53083528 0.46553438
-0.47800587 0.52965071 0.46695262
-0.47898338 0.52845232 0.46837800
-0.47996090 0.52724659 0.46980609
-0.48093842 0.52603347 0.47123994
-0.48191593 0.52481288 0.47267837
-0.48289345 0.52357875 0.47412061
-0.48387097 0.52232778 0.47556907
-0.48484848 0.52106867 0.47702029
-0.48582600 0.51980133 0.47847676
-0.48680352 0.51852569 0.47993880
-0.48778104 0.51723703 0.48140371
-0.48875855 0.51592811 0.48287336
-0.48973607 0.51461012 0.48434789
-0.49071359 0.51328298 0.48582689
-0.49169110 0.51194659 0.48730922
-0.49266862 0.51059784 0.48879513
-0.49364614 0.50922495 0.49028478
-0.49462366 0.50784195 0.49177772
-0.49560117 0.50644876 0.49327351
-0.49657869 0.50504524 0.49477078
-0.49755621 0.50363020 0.49626887
-0.49853372 0.50218659 0.49776632
-0.49951124 0.50073171 0.49925937
-0.50048876 0.49926829 0.50074063
-0.50146628 0.49781341 0.50223368
-0.50244379 0.49636980 0.50373113
-0.50342131 0.49495476 0.50522922
-0.50439883 0.49355124 0.50672649
-0.50537634 0.49215805 0.50822228
-0.50635386 0.49077505 0.50971522
-0.50733138 0.48940216 0.51120487
-0.50830890 0.48805341 0.51269078
-0.50928641 0.48671702 0.51417311
-0.51026393 0.48538988 0.51565211
-0.51124145 0.48407189 0.51712664
-0.51221896 0.48276297 0.51859629
-0.51319648 0.48147431 0.52006120
-0.51417400 0.48019867 0.52152324
-0.51515152 0.47893133 0.52297971
-0.51612903 0.47767222 0.52443093
-0.51710655 0.47642125 0.52587939
-0.51808407 0.47518712 0.52732163
-0.51906158 0.47396653 0.52876006
-0.52003910 0.47275341 0.53019391
-0.52101662 0.47154768 0.53162200
-0.52199413 0.47034929 0.53304738
-0.52297165 0.46916472 0.53446562
-0.52394917 0.46799407 0.53588233
-0.52492669 0.46683014 0.53729007
-0.52590420 0.46567288 0.53868415
-0.52688172 0.46452222 0.54006932
-0.52785924 0.46338273 0.54144163
-0.52883675 0.46225743 0.54280550
-0.52981427 0.46113817 0.54415687
-0.53079179 0.46002492 0.54550060
-0.53176931 0.45891763 0.54683181
-0.53274682 0.45781917 0.54815611
-0.53372434 0.45673505 0.54946829
-0.53470186 0.45565637 0.55077347
-0.53567937 0.45458311 0.55206805
-0.53665689 0.45351521 0.55335481
-0.53763441 0.45245413 0.55463273
-0.53861193 0.45140740 0.55590174
-0.53958944 0.45036558 0.55716387
-0.54056696 0.44932865 0.55841579
-0.54154448 0.44829655 0.55966190
-0.54252199 0.44726949 0.56089837
-0.54349951 0.44625671 0.56212825
-0.54447703 0.44524836 0.56335085
-0.54545455 0.44424441 0.56456508
-0.54643206 0.44324481 0.56577400
-0.54740958 0.44224956 0.56697364
-0.54838710 0.44126674 0.56816769
-0.54936461 0.44028875 0.56935511
-0.55034213 0.43931471 0.57053483
-0.55131965 0.43834459 0.57170972
-0.55229717 0.43737839 0.57287652
-0.55327468 0.43642258 0.57403779
-0.55425220 0.43547209 0.57519379
-0.55522972 0.43452514 0.57634193
-0.55620723 0.43358173 0.57748566
-0.55718475 0.43264182 0.57862311
-0.55816227 0.43171051 0.57975437
-0.55913978 0.43078487 0.58088142
-0.56011730 0.42986241 0.58200147
-0.56109482 0.42894312 0.58311668
-0.56207234 0.42802697 0.58422780
-0.56304985 0.42711782 0.58533161
-0.56402737 0.42621458 0.58643159
-0.56500489 0.42531419 0.58752699
-0.56598240 0.42441663 0.58861614
-0.56695992 0.42352188 0.58970164
-0.56793744 0.42263272 0.59078229
-0.56891496 0.42174960 0.59185752
-0.56989247 0.42086901 0.59292928
-0.57086999 0.41999095 0.59399607
-0.57184751 0.41911538 0.59505810
-0.57282502 0.41824418 0.59611682
-0.57380254 0.41737905 0.59717058
-0.57478006 0.41651616 0.59822009
-0.57575758 0.41565549 0.59926646
-0.57673509 0.41479705 0.60030797
-0.57771261 0.41394190 0.60134563
-0.57869013 0.41309274 0.60238029
-0.57966764 0.41224555 0.60341030
-0.58064516 0.41140031 0.60443673
-0.58162268 0.41055703 0.60546032
-0.58260020 0.40971614 0.60647952
-0.58357771 0.40888106 0.60749533
-0.58455523 0.40804768 0.60850845
-0.58553275 0.40721601 0.60951750
-0.58651026 0.40638604 0.61052328
-0.58748778 0.40555775 0.61152651
-0.58846530 0.40473489 0.61252487
-0.58944282 0.40391355 0.61351938
-0.59042033 0.40309366 0.61451157
-0.59139785 0.40227523 0.61549960
-0.59237537 0.40145826 0.61648385
-0.59335288 0.40064557 0.61746601
-0.59433040 0.39983454 0.61844474
-0.59530792 0.39902475 0.61941970
-0.59628543 0.39821618 0.62039281
-0.59726295 0.39740884 0.62136318
-0.59824047 0.39660479 0.62232982
-0.59921799 0.39580244 0.62329481
-0.60019550 0.39500110 0.62425773
-0.60117302 0.39420078 0.62521696
-0.60215054 0.39340145 0.62617475
-0.60312805 0.39260456 0.62713109
-0.60410557 0.39180930 0.62808382
-0.60508309 0.39101484 0.62903531
-0.60606061 0.39022118 0.62998556
-0.60703812 0.38942832 0.63093299
-0.60801564 0.38863715 0.63187906
-0.60899316 0.38784744 0.63282408
-0.60997067 0.38705832 0.63376701
-0.61094819 0.38626980 0.63470850
-0.61192571 0.38548187 0.63564915
-0.61290323 0.38469503 0.63658834
-0.61388074 0.38390936 0.63752610
-0.61485826 0.38312409 0.63846321
-0.61583578 0.38233920 0.63939940
-0.61681329 0.38155471 0.64033427
-0.61779081 0.38077083 0.64126867
-0.61876833 0.37998772 0.64220257
-0.61974585 0.37920481 0.64313537
-0.62072336 0.37842209 0.64406789
-0.62170088 0.37763957 0.64500013
-0.62267840 0.37685728 0.64593176
-0.62365591 0.37607527 0.64686321
-0.62463343 0.37529326 0.64779457
-0.62561095 0.37451124 0.64872576
-0.62658847 0.37372923 0.64965696
-0.62756598 0.37294720 0.65058825
-0.62854350 0.37216482 0.65151970
-0.62952102 0.37138225 0.65245146
-0.63049853 0.37059948 0.65338350
-0.63147605 0.36981652 0.65431590
-0.63245357 0.36903336 0.65524903
-0.63343109 0.36824920 0.65618263
-0.63440860 0.36746461 0.65711669
-0.63538612 0.36667963 0.65805201
-0.63636364 0.36589426 0.65898799
-0.63734115 0.36510849 0.65992462
-0.63831867 0.36432120 0.66086276
-0.63929619 0.36353312 0.66180194
-0.64027370 0.36274445 0.66274197
-0.64125122 0.36195519 0.66368366
-0.64222874 0.36116532 0.66462690
-0.64320626 0.36037354 0.66557117
-0.64418377 0.35958048 0.66651716
-0.64516129 0.35878662 0.66746530
-0.64613881 0.35799196 0.66841467
-0.64711632 0.35719650 0.66936574
-0.64809384 0.35639881 0.67031965
-0.64907136 0.35559924 0.67127498
-0.65004888 0.35479866 0.67223195
-0.65102639 0.35399707 0.67319250
-0.65200391 0.35319446 0.67415470
-0.65298143 0.35238944 0.67511854
-0.65395894 0.35158179 0.67608651
-0.65493646 0.35077292 0.67705648
-0.65591398 0.34996281 0.67802830
-0.65689150 0.34915148 0.67900440
-0.65786901 0.34833763 0.67998308
-0.65884653 0.34752029 0.68096383
-0.65982405 0.34670150 0.68194901
-0.66080156 0.34588125 0.68293736
-0.66177908 0.34505954 0.68392802
-0.66275660 0.34423533 0.68492327
-0.66373412 0.34340663 0.68592230
-0.66471163 0.34257623 0.68692387
-0.66568915 0.34174413 0.68792913
-0.66666667 0.34091033 0.68893785
-0.66764418 0.34007416 0.68994925
-0.66862170 0.33923233 0.69096450
-0.66959922 0.33838856 0.69198349
-0.67057674 0.33754284 0.69300530
-0.67155425 0.33669515 0.69403121
-0.67253177 0.33584534 0.69506107
-0.67350929 0.33498855 0.69609390
-0.67448680 0.33412955 0.69713113
-0.67546432 0.33326833 0.69817249
-0.67644184 0.33240487 0.69921697
-0.67741935 0.33153918 0.70026626
-0.67839687 0.33066596 0.70131976
-0.67937439 0.32978977 0.70237655
-0.68035191 0.32891108 0.70343867
-0.68132942 0.32802986 0.70450498
-0.68230694 0.32714611 0.70557475
-0.68328446 0.32625470 0.70665054
-0.68426197 0.32535925 0.70773037
-0.68523949 0.32446098 0.70881389
-0.68621701 0.32355987 0.70990417
-0.68719453 0.32265592 0.71099824
-0.68817204 0.32174429 0.71209686
-0.68914956 0.32082736 0.71320195
-0.69012708 0.31990727 0.71431103
-0.69110459 0.31898402 0.71542574
-0.69208211 0.31805758 0.71654644
-0.69305963 0.31712353 0.71767132
-0.69403715 0.31618275 0.71880318
-0.69501466 0.31523846 0.71994030
-0.69599218 0.31429062 0.72108214
-0.69696970 0.31333924 0.72223197
-0.69794721 0.31238042 0.72338638
-0.69892473 0.31141324 0.72454726
-0.69990225 0.31044215 0.72571505
-0.70087977 0.30946713 0.72688766
-0.70185728 0.30848814 0.72806886
-0.70283480 0.30750204 0.72925556
-0.70381232 0.30650570 0.73044889
-0.70478983 0.30550502 0.73165021
-0.70576735 0.30449996 0.73285680
-0.70674487 0.30349051 0.73407277
-0.70772239 0.30247436 0.73529476
-0.70869990 0.30144588 0.73652447
-0.70967742 0.30041258 0.73776245
-0.71065494 0.29937442 0.73900663
-0.71163245 0.29833138 0.74026120
-0.71260997 0.29728221 0.74152178
-0.71358749 0.29621831 0.74279242
-0.71456500 0.29514908 0.74407048
-0.71554252 0.29407447 0.74535761
-0.71652004 0.29299443 0.74665382
-0.71749756 0.29190894 0.74795835
-0.71847507 0.29080611 0.74927341
-0.71945259 0.28969733 0.75059633
-0.72043011 0.28858258 0.75193097
-0.72140762 0.28746182 0.75327333
-0.72238514 0.28633499 0.75462832
-0.72336266 0.28519073 0.75599124
-0.72434018 0.28403843 0.75736738
-0.72531769 0.28287950 0.75875208
-0.72629521 0.28171390 0.76015021
-0.72727273 0.28054156 0.76155797
-0.72825024 0.27935180 0.76297897
-0.72922776 0.27815158 0.76441118
-0.73020528 0.27694401 0.76585599
-0.73118280 0.27572903 0.76731413
-0.73216031 0.27450656 0.76878371
-0.73313783 0.27326677 0.77026937
-0.73411535 0.27201377 0.77176727
-0.73509286 0.27075261 0.77327962
-0.73607038 0.26948321 0.77480785
-0.73704790 0.26820547 0.77635024
-0.73802542 0.26691064 0.77790824
-0.73900293 0.26559946 0.77948412
-0.73998045 0.26427920 0.78107633
-0.74095797 0.26294975 0.78268584
-0.74193548 0.26161103 0.78431366
-0.74291300 0.26025556 0.78596086
-0.74389052 0.25888015 0.78762858
-0.74486804 0.25749462 0.78931800
-0.74584555 0.25609885 0.79103040
-0.74682307 0.25469273 0.79276708
-0.74780059 0.25327035 0.79452958
-0.74877810 0.25182393 0.79632311
-0.74975562 0.25036621 0.79815379
-0.75073314 0.25000000 0.79861996
-0.75171065 0.25000000 0.79861948
-0.75268817 0.25000000 0.79861883
-0.75366569 0.25000000 0.79861805
-0.75464321 0.25000000 0.79861715
-0.75562072 0.25000000 0.79861615
-0.75659824 0.25000000 0.79861505
-0.75757576 0.25000000 0.79861387
-0.75855327 0.25000000 0.79861262
-0.75953079 0.25000000 0.79861128
-0.76050831 0.25000000 0.79860987
-0.76148583 0.25000000 0.79860838
-0.76246334 0.25000000 0.79860682
-0.76344086 0.25000000 0.79860521
-0.76441838 0.25000000 0.79860352
-0.76539589 0.25000000 0.79860177
-0.76637341 0.25000000 0.79859997
-0.76735093 0.25000000 0.79859809
-0.76832845 0.25000000 0.79859615
-0.76930596 0.25000000 0.79859417
-0.77028348 0.25000000 0.79859211
-0.77126100 0.25000000 0.79859002
-0.77223851 0.25000000 0.79858784
-0.77321603 0.25000000 0.79858563
-0.77419355 0.25000000 0.79858334
-0.77517107 0.25000000 0.79858101
-0.77614858 0.25000000 0.79857862
-0.77712610 0.25000000 0.79857618
-0.77810362 0.25000000 0.79857368
-0.77908113 0.25000000 0.79857113
-0.78005865 0.25000000 0.79856851
-0.78103617 0.25000000 0.79856586
-0.78201369 0.25000000 0.79856313
-0.78299120 0.25000000 0.79856038
-0.78396872 0.25000000 0.79855754
-0.78494624 0.25000000 0.79855468
-0.78592375 0.25000000 0.79855172
-0.78690127 0.25000000 0.79854875
-0.78787879 0.25000000 0.79854569
-0.78885630 0.25000000 0.79854260
-0.78983382 0.25000000 0.79853945
-0.79081134 0.25000000 0.79853623
-0.79178886 0.25000000 0.79853299
-0.79276637 0.25000000 0.79852965
-0.79374389 0.25000000 0.79852628
-0.79472141 0.25000000 0.79852285
-0.79569892 0.25000000 0.79851935
-0.79667644 0.25000000 0.79851583
-0.79765396 0.25000000 0.79851220
-0.79863148 0.25000000 0.79850856
-0.79960899 0.25000000 0.79850483
-0.80058651 0.25000000 0.79850105
-0.80156403 0.25000000 0.79849724
-0.80254154 0.25000000 0.79849331
-0.80351906 0.25000000 0.79848937
-0.80449658 0.25000000 0.79848535
-0.80547410 0.25000000 0.79848126
-0.80645161 0.25000000 0.79847714
-0.80742913 0.25000000 0.79847293
-0.80840665 0.25000000 0.79846866
-0.80938416 0.25000000 0.79846436
-0.81036168 0.25000000 0.79845994
-0.81133920 0.25000000 0.79845549
-0.81231672 0.25000000 0.79845098
-0.81329423 0.25000000 0.79844637
-0.81427175 0.25000000 0.79844173
-0.81524927 0.25000000 0.79843701
-0.81622678 0.25000000 0.79843220
-0.81720430 0.25000000 0.79842736
-0.81818182 0.25000000 0.79842242
-0.81915934 0.25000000 0.79841741
-0.82013685 0.25000000 0.79841236
-0.82111437 0.25000000 0.79840720
-0.82209189 0.25000000 0.79840197
-0.82306940 0.25000000 0.79839671
-0.82404692 0.25000000 0.79839131
-0.82502444 0.25000000 0.79838586
-0.82600196 0.25000000 0.79838037
-0.82697947 0.25000000 0.79837473
-0.82795699 0.25000000 0.79836905
-0.82893451 0.25000000 0.79836332
-0.82991202 0.25000000 0.79835744
-0.83088954 0.25000000 0.79835151
-0.83186706 0.25000000 0.79834554
-0.83284457 0.25000000 0.79833940
-0.83382209 0.25000000 0.79833321
-0.83479961 0.25000000 0.79832698
-0.83577713 0.25000000 0.79832058
-0.83675464 0.25000000 0.79831412
-0.83773216 0.25000000 0.79830761
-0.83870968 0.25000000 0.79830093
-0.83968719 0.25000000 0.79829419
-0.84066471 0.25000000 0.79828739
-0.84164223 0.25000000 0.79828043
-0.84261975 0.25000000 0.79827338
-0.84359726 0.25000000 0.79826628
-0.84457478 0.25000000 0.79825903
-0.84555230 0.25000000 0.79825166
-0.84652981 0.25000000 0.79824424
-0.84750733 0.25000000 0.79823667
-0.84848485 0.25000000 0.79822898
-0.84946237 0.25000000 0.79822122
-0.85043988 0.25000000 0.79821332
-0.85141740 0.25000000 0.79820528
-0.85239492 0.25000000 0.79819716
-0.85337243 0.25000000 0.79818892
-0.85434995 0.25000000 0.79818050
-0.85532747 0.25000000 0.79817200
-0.85630499 0.25000000 0.79816341
-0.85728250 0.25000000 0.79815459
-0.85826002 0.25000000 0.79814569
-0.85923754 0.25000000 0.79813671
-0.86021505 0.25000000 0.79812749
-0.86119257 0.25000000 0.79811816
-0.86217009 0.25000000 0.79810874
-0.86314761 0.25000000 0.79809911
-0.86412512 0.25000000 0.79808933
-0.86510264 0.25000000 0.79807945
-0.86608016 0.25000000 0.79806938
-0.86705767 0.25000000 0.79805912
-0.86803519 0.25000000 0.79804875
-0.86901271 0.25000000 0.79803822
-0.86999022 0.25000000 0.79802745
-0.87096774 0.25000000 0.79801656
-0.87194526 0.25000000 0.79800553
-0.87292278 0.25000000 0.79799421
-0.87390029 0.25000000 0.79798276
-0.87487781 0.25000000 0.79797119
-0.87585533 0.25000000 0.79795931
-0.87683284 0.25000000 0.79794726
-0.87781036 0.25000000 0.79793508
-0.87878788 0.25000000 0.79792262
-0.87976540 0.25000000 0.79790994
-0.88074291 0.25000000 0.79789710
-0.88172043 0.25000000 0.79788401
-0.88269795 0.25000000 0.79787065
-0.88367546 0.25000000 0.79785711
-0.88465298 0.25000000 0.79784335
-0.88563050 0.25000000 0.79782925
-0.88660802 0.25000000 0.79781497
-0.88758553 0.25000000 0.79780049
-0.88856305 0.25000000 0.79778559
-0.88954057 0.25000000 0.79777050
-0.89051808 0.25000000 0.79775520
-0.89149560 0.25000000 0.79773949
-0.89247312 0.25000000 0.79772352
-0.89345064 0.25000000 0.79770732
-0.89442815 0.25000000 0.79769073
-0.89540567 0.25000000 0.79767382
-0.89638319 0.25000000 0.79765666
-0.89736070 0.25000000 0.79763911
-0.89833822 0.25000000 0.79762117
-0.89931574 0.25000000 0.79760296
-0.90029326 0.25000000 0.79758437
-0.90127077 0.25000000 0.79756532
-0.90224829 0.25000000 0.79754596
-0.90322581 0.25000000 0.79752623
-0.90420332 0.25000000 0.79750596
-0.90518084 0.25000000 0.79748536
-0.90615836 0.25000000 0.79746439
-0.90713587 0.25000000 0.79744279
-0.90811339 0.25000000 0.79742082
-0.90909091 0.25000000 0.79739846
-0.91006843 0.25000000 0.79737542
-0.91104594 0.25000000 0.79735195
-0.91202346 0.25000000 0.79732805
-0.91300098 0.25000000 0.79730343
-0.91397849 0.25000000 0.79727831
-0.91495601 0.25000000 0.79725272
-0.91593353 0.25000000 0.79722635
-0.91691105 0.25000000 0.79719941
-0.91788856 0.25000000 0.79717194
-0.91886608 0.25000000 0.79714363
-0.91984360 0.25000000 0.79711467
-0.92082111 0.25000000 0.79708512
-0.92179863 0.25000000 0.79705464
-0.92277615 0.25000000 0.79702344
-0.92375367 0.25000000 0.79699156
-0.92473118 0.25000000 0.79695865
-0.92570870 0.25000000 0.79692493
-0.92668622 0.25000000 0.79689046
-0.92766373 0.25000000 0.79685481
-0.92864125 0.25000000 0.79681828
-0.92961877 0.25000000 0.79678089
-0.93059629 0.25000000 0.79674213
-0.93157380 0.25000000 0.79670242
-0.93255132 0.25000000 0.79666168
-0.93352884 0.25000000 0.79661945
-0.93450635 0.25000000 0.79657614
-0.93548387 0.25000000 0.79653155
-0.93646139 0.25000000 0.79648538
-0.93743891 0.25000000 0.79643797
-0.93841642 0.25000000 0.79638897
-0.93939394 0.25000000 0.79633829
-0.94037146 0.25000000 0.79628616
-0.94134897 0.25000000 0.79623206
-0.94232649 0.25000000 0.79617617
-0.94330401 0.25000000 0.79611860
-0.94428152 0.25000000 0.79605856
-0.94525904 0.25000000 0.79599664
-0.94623656 0.25000000 0.79593249
-0.94721408 0.25000000 0.79586572
-0.94819159 0.25000000 0.79579673
-0.94916911 0.25000000 0.79572481
-0.95014663 0.25000000 0.79565013
-0.95112414 0.25000000 0.79557268
-0.95210166 0.25000000 0.79549161
-0.95307918 0.25000000 0.79540752
-0.95405670 0.25000000 0.79531963
-0.95503421 0.25000000 0.79522790
-0.95601173 0.25000000 0.79513236
-0.95698925 0.25000000 0.79503193
-0.95796676 0.25000000 0.79492728
-0.95894428 0.25000000 0.79481726
-0.95992180 0.25000000 0.79470198
-0.96089932 0.25000000 0.79458101
-0.96187683 0.25000000 0.79445345
-0.96285435 0.25000000 0.79431971
-0.96383187 0.25000000 0.79417785
-0.96480938 0.25000000 0.79402872
-0.96578690 0.25000000 0.79387044
-0.96676442 0.25000000 0.79370311
-0.96774194 0.25000000 0.79352532
-0.96871945 0.25000000 0.79333630
-0.96969697 0.25000000 0.79313501
-0.97067449 0.25000000 0.79291987
-0.97165200 0.25000000 0.79268996
-0.97262952 0.25000000 0.79244291
-0.97360704 0.25000000 0.79217766
-0.97458456 0.25000000 0.79189110
-0.97556207 0.25000000 0.79158154
-0.97653959 0.25000000 0.79124522
-0.97751711 0.25000000 0.79090029
-0.97849462 0.25000000 0.79054673
-0.97947214 0.25000000 0.79018995
-0.98044966 0.25000000 0.78981442
-0.98142717 0.25000000 0.78944502
-0.98240469 0.25000000 0.78905221
-0.98338221 0.25000000 0.78865750
-0.98435973 0.25000000 0.78825020
-0.98533724 0.25000000 0.78781850
-0.98631476 0.25000000 0.78739050
-0.98729228 0.25000000 0.78694035
-0.98826979 0.25000000 0.78646407
-0.98924731 0.25000000 0.78597481
-0.99022483 0.25000000 0.78546981
-0.99120235 0.25000000 0.78493388
-0.99217986 0.25000000 0.78436450
-0.99315738 0.25000000 0.78375795
-0.99413490 0.25000000 0.78310826
-0.99511241 0.25000000 0.78240496
-0.99608993 0.25000000 0.78162741
-0.99706745 0.25000000 0.78072789
-0.99804497 0.25000000 0.77969339
-0.99902248 0.25000000 0.77832850
-1.00000000 nan nan
+Ambient Power InversePower
+0.000000000 nan nan
+0.000977517 0.750000000 0.221671502
+0.001955034 0.750000000 0.220306607
+0.002932551 0.750000000 0.219272108
+0.003910068 0.750000000 0.218372593
+0.004887586 0.750000000 0.217595038
+0.005865103 0.750000000 0.216891736
+0.006842620 0.750000000 0.216242049
+0.007820137 0.750000000 0.215635499
+0.008797654 0.750000000 0.215066121
+0.009775171 0.750000000 0.214530188
+0.010752688 0.750000000 0.214025192
+0.011730205 0.750000000 0.213535928
+0.012707722 0.750000000 0.213059653
+0.013685239 0.750000000 0.212609497
+0.014662757 0.750000000 0.212181500
+0.015640274 0.750000000 0.211749797
+0.016617791 0.750000000 0.211342499
+0.017595308 0.750000000 0.210947791
+0.018572825 0.750000000 0.210554977
+0.019550342 0.750000000 0.210185583
+0.020527859 0.750000000 0.209810047
+0.021505376 0.750000000 0.209453273
+0.022482893 0.750000000 0.209099710
+0.023460411 0.750000000 0.208754784
+0.024437928 0.750000000 0.208418460
+0.025415445 0.750000000 0.208108896
+0.026392962 0.750000000 0.207822337
+0.027370479 0.750000000 0.207557090
+0.028347996 0.750000000 0.207310043
+0.029325513 0.750000000 0.207080132
+0.030303030 0.750000000 0.206864987
+0.031280547 0.750000000 0.206663695
+0.032258065 0.750000000 0.206474685
+0.033235582 0.750000000 0.206296887
+0.034213099 0.750000000 0.206129563
+0.035190616 0.750000000 0.205971282
+0.036168133 0.750000000 0.205822154
+0.037145650 0.750000000 0.205680293
+0.038123167 0.750000000 0.205546551
+0.039100684 0.750000000 0.205418994
+0.040078201 0.750000000 0.205298019
+0.041055718 0.750000000 0.205182743
+0.042033236 0.750000000 0.205072718
+0.043010753 0.750000000 0.204968065
+0.043988270 0.750000000 0.204867643
+0.044965787 0.750000000 0.204772102
+0.045943304 0.750000000 0.204680372
+0.046920821 0.750000000 0.204592478
+0.047898338 0.750000000 0.204508389
+0.048875855 0.750000000 0.204427324
+0.049853372 0.750000000 0.204349869
+0.050830890 0.750000000 0.204275190
+0.051808407 0.750000000 0.204203265
+0.052785924 0.750000000 0.204134275
+0.053763441 0.750000000 0.204067513
+0.054740958 0.750000000 0.204003359
+0.055718475 0.750000000 0.203941436
+0.056695992 0.750000000 0.203881398
+0.057673509 0.750000000 0.203823826
+0.058651026 0.750000000 0.203767941
+0.059628543 0.750000000 0.203713842
+0.060606061 0.750000000 0.203661714
+0.061583578 0.750000000 0.203611030
+0.062561095 0.750000000 0.203562034
+0.063538612 0.750000000 0.203514617
+0.064516129 0.750000000 0.203468446
+0.065493646 0.750000000 0.203423862
+0.066471163 0.750000000 0.203380551
+0.067448680 0.750000000 0.203338322
+0.068426197 0.750000000 0.203297578
+0.069403715 0.750000000 0.203257869
+0.070381232 0.750000000 0.203219115
+0.071358749 0.750000000 0.203181723
+0.072336266 0.750000000 0.203145191
+0.073313783 0.750000000 0.203109538
+0.074291300 0.750000000 0.203075066
+0.075268817 0.750000000 0.203041351
+0.076246334 0.750000000 0.203008438
+0.077223851 0.750000000 0.202976564
+0.078201369 0.750000000 0.202945359
+0.079178886 0.750000000 0.202914878
+0.080156403 0.750000000 0.202885326
+0.081133920 0.750000000 0.202856368
+0.082111437 0.750000000 0.202828056
+0.083088954 0.750000000 0.202800588
+0.084066471 0.750000000 0.202773648
+0.085043988 0.750000000 0.202747278
+0.086021505 0.750000000 0.202721688
+0.086999022 0.750000000 0.202696569
+0.087976540 0.750000000 0.202671946
+0.088954057 0.750000000 0.202648053
+0.089931574 0.750000000 0.202624584
+0.090909091 0.750000000 0.202601536
+0.091886608 0.750000000 0.202579184
+0.092864125 0.750000000 0.202557213
+0.093841642 0.750000000 0.202535613
+0.094819159 0.750000000 0.202514642
+0.095796676 0.750000000 0.202494036
+0.096774194 0.750000000 0.202473765
+0.097751711 0.750000000 0.202454042
+0.098729228 0.750000000 0.202434684
+0.099706745 0.750000000 0.202415629
+0.100684262 0.750000000 0.202397043
+0.101661779 0.750000000 0.202378829
+0.102639296 0.750000000 0.202360889
+0.103616813 0.750000000 0.202343345
+0.104594330 0.750000000 0.202326181
+0.105571848 0.750000000 0.202309267
+0.106549365 0.750000000 0.202292677
+0.107526882 0.750000000 0.202276482
+0.108504399 0.750000000 0.202260514
+0.109481916 0.750000000 0.202244803
+0.110459433 0.750000000 0.202229501
+0.111436950 0.750000000 0.202214406
+0.112414467 0.750000000 0.202199515
+0.113391984 0.750000000 0.202185031
+0.114369501 0.750000000 0.202170746
+0.115347019 0.750000000 0.202156646
+0.116324536 0.750000000 0.202142887
+0.117302053 0.750000000 0.202129352
+0.118279570 0.750000000 0.202115988
+0.119257087 0.750000000 0.202102901
+0.120234604 0.750000000 0.202090065
+0.121212121 0.750000000 0.202077384
+0.122189638 0.750000000 0.202064922
+0.123167155 0.750000000 0.202052737
+0.124144673 0.750000000 0.202040694
+0.125122190 0.750000000 0.202028815
+0.126099707 0.750000000 0.202017236
+0.127077224 0.750000000 0.202005788
+0.128054741 0.750000000 0.201994470
+0.129032258 0.750000000 0.201983442
+0.130009775 0.750000000 0.201972551
+0.130987292 0.750000000 0.201961779
+0.131964809 0.750000000 0.201951246
+0.132942326 0.750000000 0.201940877
+0.133919844 0.750000000 0.201930618
+0.134897361 0.750000000 0.201920549
+0.135874878 0.750000000 0.201910669
+0.136852395 0.750000000 0.201900891
+0.137829912 0.750000000 0.201891259
+0.138807429 0.750000000 0.201881839
+0.139784946 0.750000000 0.201872513
+0.140762463 0.750000000 0.201863294
+0.141739980 0.750000000 0.201854307
+0.142717498 0.750000000 0.201845406
+0.143695015 0.750000000 0.201836590
+0.144672532 0.750000000 0.201827998
+0.145650049 0.750000000 0.201819498
+0.146627566 0.750000000 0.201811078
+0.147605083 0.750000000 0.201802845
+0.148582600 0.750000000 0.201794724
+0.149560117 0.750000000 0.201786676
+0.150537634 0.750000000 0.201778785
+0.151515152 0.750000000 0.201771022
+0.152492669 0.750000000 0.201763326
+0.153470186 0.750000000 0.201755760
+0.154447703 0.750000000 0.201748336
+0.155425220 0.750000000 0.201740974
+0.156402737 0.750000000 0.201733719
+0.157380254 0.750000000 0.201726616
+0.158357771 0.750000000 0.201719570
+0.159335288 0.750000000 0.201712612
+0.160312805 0.750000000 0.201705813
+0.161290323 0.750000000 0.201699068
+0.162267840 0.750000000 0.201692394
+0.163245357 0.750000000 0.201685884
+0.164222874 0.750000000 0.201679424
+0.165200391 0.750000000 0.201673024
+0.166177908 0.750000000 0.201666789
+0.167155425 0.750000000 0.201660600
+0.168132942 0.750000000 0.201654463
+0.169110459 0.750000000 0.201648489
+0.170087977 0.750000000 0.201642558
+0.171065494 0.750000000 0.201636676
+0.172043011 0.750000000 0.201630951
+0.173020528 0.750000000 0.201625266
+0.173998045 0.750000000 0.201619630
+0.174975562 0.750000000 0.201614142
+0.175953079 0.750000000 0.201608691
+0.176930596 0.750000000 0.201603293
+0.177908113 0.750000000 0.201598032
+0.178885630 0.750000000 0.201592805
+0.179863148 0.750000000 0.201587638
+0.180840665 0.750000000 0.201582594
+0.181818182 0.750000000 0.201577581
+0.182795699 0.750000000 0.201572640
+0.183773216 0.750000000 0.201567801
+0.184750733 0.750000000 0.201562993
+0.185728250 0.750000000 0.201558272
+0.186705767 0.750000000 0.201553632
+0.187683284 0.750000000 0.201549019
+0.188660802 0.750000000 0.201544513
+0.189638319 0.750000000 0.201540063
+0.190615836 0.750000000 0.201535638
+0.191593353 0.750000000 0.201531342
+0.192570870 0.750000000 0.201527074
+0.193548387 0.750000000 0.201522856
+0.194525904 0.750000000 0.201518740
+0.195503421 0.750000000 0.201514646
+0.196480938 0.750000000 0.201510635
+0.197458456 0.750000000 0.201506688
+0.198435973 0.750000000 0.201502762
+0.199413490 0.750000000 0.201498955
+0.200391007 0.750000000 0.201495170
+0.201368524 0.750000000 0.201491445
+0.202346041 0.750000000 0.201487799
+0.203323558 0.750000000 0.201484172
+0.204301075 0.750000000 0.201480648
+0.205278592 0.750000000 0.201477155
+0.206256109 0.750000000 0.201473716
+0.207233627 0.750000000 0.201470354
+0.208211144 0.750000000 0.201467007
+0.209188661 0.750000000 0.201463769
+0.210166178 0.750000000 0.201460550
+0.211143695 0.750000000 0.201457402
+0.212121212 0.750000000 0.201454307
+0.213098729 0.750000000 0.201451251
+0.214076246 0.750000000 0.201448278
+0.215053763 0.750000000 0.201445318
+0.216031281 0.750000000 0.201442464
+0.217008798 0.750000000 0.201439621
+0.217986315 0.750000000 0.201436866
+0.218963832 0.750000000 0.201434139
+0.219941349 0.750000000 0.201431486
+0.220918866 0.750000000 0.201428872
+0.221896383 0.750000000 0.201426324
+0.222873900 0.750000000 0.201423821
+0.223851417 0.750000000 0.201421381
+0.224828935 0.750000000 0.201418988
+0.225806452 0.750000000 0.201416661
+0.226783969 0.750000000 0.201414375
+0.227761486 0.750000000 0.201412163
+0.228739003 0.750000000 0.201409982
+0.229716520 0.750000000 0.201407891
+0.230694037 0.750000000 0.201405828
+0.231671554 0.750000000 0.201403846
+0.232649071 0.750000000 0.201401913
+0.233626588 0.750000000 0.201400032
+0.234604106 0.750000000 0.201398232
+0.235581623 0.750000000 0.201396477
+0.236559140 0.750000000 0.201394788
+0.237536657 0.750000000 0.201393176
+0.238514174 0.750000000 0.201391621
+0.239491691 0.750000000 0.201390128
+0.240469208 0.750000000 0.201388719
+0.241446725 0.750000000 0.201387385
+0.242424242 0.750000000 0.201386125
+0.243401760 0.750000000 0.201384946
+0.244379277 0.750000000 0.201383854
+0.245356794 0.750000000 0.201382854
+0.246334311 0.750000000 0.201381954
+0.247311828 0.750000000 0.201381173
+0.248289345 0.750000000 0.201380522
+0.249266862 0.750000000 0.201380043
+0.250244379 0.749633789 0.201846207
+0.251221896 0.748176070 0.203676892
+0.252199413 0.746729651 0.205470420
+0.253176931 0.745307268 0.207232921
+0.254154448 0.743901152 0.208969603
+0.255131965 0.742505384 0.210681995
+0.256109482 0.741119851 0.212371422
+0.257086999 0.739744439 0.214039141
+0.258064516 0.738388970 0.215686343
+0.259042033 0.737050250 0.217314161
+0.260019550 0.735720805 0.218923667
+0.260997067 0.734400539 0.220515879
+0.261974585 0.733089356 0.222091759
+0.262952102 0.731794526 0.223649762
+0.263929619 0.730516794 0.225192151
+0.264907136 0.729247388 0.226720383
+0.265884653 0.727986227 0.228232727
+0.266862170 0.726733231 0.229730635
+0.267839687 0.725493442 0.231216292
+0.268817204 0.724270974 0.232685872
+0.269794721 0.723055990 0.234144013
+0.270772239 0.721848423 0.235588818
+0.271749756 0.720648204 0.237021028
+0.272727273 0.719458438 0.238442032
+0.273704790 0.718286101 0.239849792
+0.274682307 0.717120499 0.241247924
+0.275659824 0.715961575 0.242632618
+0.276637341 0.714809270 0.244008759
+0.277614858 0.713665012 0.245371680
+0.278592375 0.712538184 0.246726670
+0.279569892 0.711417421 0.248069026
+0.280547410 0.710302674 0.249403669
+0.281524927 0.709193894 0.250726587
+0.282502444 0.708091063 0.252041647
+0.283479961 0.707005566 0.253346179
+0.284457478 0.705925531 0.254642389
+0.285434995 0.704850918 0.255929518
+0.286412512 0.703781686 0.257207578
+0.287390029 0.702717795 0.258478219
+0.288367546 0.701668621 0.259738800
+0.289345064 0.700625580 0.260993370
+0.290322581 0.699587425 0.262237549
+0.291300098 0.698554121 0.263475527
+0.292277615 0.697525635 0.264705239
+0.293255132 0.696509490 0.265927232
+0.294232649 0.695500037 0.267143201
+0.295210166 0.694494984 0.268349791
+0.296187683 0.693494303 0.269551115
+0.297165200 0.692497965 0.270744440
+0.298142717 0.691511860 0.271931138
+0.299120235 0.690532874 0.273112342
+0.300097752 0.689557847 0.274284946
+0.301075269 0.688586755 0.275452739
+0.302052786 0.687619575 0.276613621
+0.303030303 0.686660765 0.277768031
+0.304007820 0.685709376 0.278917856
+0.304985337 0.684761545 0.280059697
+0.305962854 0.683817249 0.281196818
+0.306940371 0.682876470 0.282328684
+0.307917889 0.681942420 0.283453563
+0.308895406 0.681015980 0.284574256
+0.309872923 0.680092726 0.285688972
+0.310850440 0.679172643 0.286798049
+0.311827957 0.678255714 0.287903138
+0.312805474 0.677344077 0.289001763
+0.313782991 0.676440126 0.290095833
+0.314760508 0.675539023 0.291186105
+0.315738025 0.674640752 0.292269631
+0.316715543 0.673745302 0.293349456
+0.317693060 0.672853893 0.294425247
+0.318670577 0.671970143 0.295495017
+0.319648094 0.671088924 0.296561328
+0.320625611 0.670210227 0.297623455
+0.321603128 0.669334041 0.298680243
+0.322580645 0.668460818 0.299733738
+0.323558162 0.667595126 0.300783030
+0.324535679 0.666731672 0.301827515
+0.325513196 0.665870450 0.302868868
+0.326490714 0.665011449 0.303906100
+0.327468231 0.664154662 0.304938935
+0.328445748 0.663304848 0.305968793
+0.329423265 0.662457164 0.306994695
+0.330400782 0.661611439 0.308016510
+0.331378299 0.660767667 0.309035496
+0.332355816 0.659925840 0.310050754
+0.333333333 0.659089669 0.311062154
+0.334310850 0.658255868 0.312070870
+0.335288368 0.657423770 0.313076130
+0.336265885 0.656593371 0.314077703
+0.337243402 0.655764665 0.315076729
+0.338220919 0.654940458 0.316071981
+0.339198436 0.654118746 0.317062640
+0.340175953 0.653298497 0.318050990
+0.341153470 0.652479705 0.319036167
+0.342130987 0.651662368 0.320016921
+0.343108504 0.650848521 0.320995595
+0.344086022 0.650037186 0.321971698
+0.345063539 0.649227083 0.322943523
+0.346041056 0.648418210 0.323913488
+0.347018573 0.647610563 0.324881463
+0.347996090 0.646805538 0.325845303
+0.348973607 0.646002934 0.326807497
+0.349951124 0.645201343 0.327768050
+0.350928641 0.644400763 0.328725018
+0.351906158 0.643601190 0.329680354
+0.352883675 0.642803505 0.330634256
+0.353861193 0.642008044 0.331585332
+0.354838710 0.641213384 0.332534700
+0.355816227 0.640419523 0.333482835
+0.356793744 0.639626459 0.334428830
+0.357771261 0.638834675 0.335373101
+0.358748778 0.638044814 0.336316337
+0.359726295 0.637255548 0.337258027
+0.360703812 0.636466876 0.338198057
+0.361681329 0.635678797 0.339137245
+0.362658847 0.634891512 0.340075384
+0.363636364 0.634105743 0.341012014
+0.364613881 0.633320368 0.341947992
+0.365591398 0.632535386 0.342883313
+0.366568915 0.631750798 0.343817374
+0.367546432 0.630966638 0.344750971
+0.368523949 0.630183479 0.345684104
+0.369501466 0.629400516 0.346616504
+0.370478983 0.628617749 0.347548540
+0.371456500 0.627835178 0.348480299
+0.372434018 0.627052803 0.349411745
+0.373411535 0.626270772 0.350343037
+0.374389052 0.625488759 0.351274237
+0.375366569 0.624706745 0.352205426
+0.376344086 0.623924731 0.353136787
+0.377321603 0.623142717 0.354068240
+0.378299120 0.622360434 0.354999866
+0.379276637 0.621577912 0.355932108
+0.380254154 0.620795194 0.356864629
+0.381231672 0.620012280 0.357797428
+0.382209189 0.619229171 0.358731329
+0.383186706 0.618445288 0.359665733
+0.384164223 0.617660798 0.360600602
+0.385141740 0.616875914 0.361536789
+0.386119257 0.616090638 0.362473899
+0.387096774 0.615304967 0.363411663
+0.388074291 0.614518130 0.364350853
+0.389051808 0.613730200 0.365291500
+0.390029326 0.612941676 0.366232990
+0.391006843 0.612152558 0.367175921
+0.391984360 0.611362846 0.368120944
+0.392961877 0.610571682 0.369067005
+0.393939394 0.609778818 0.370014435
+0.394916911 0.608985156 0.370964689
+0.395894428 0.608190696 0.371916178
+0.396871945 0.607395436 0.372868906
+0.397849462 0.606598545 0.373825246
+0.398826979 0.605799225 0.374783038
+0.399804497 0.604998896 0.375742272
+0.400782014 0.604197558 0.376705194
+0.401759531 0.603395208 0.377670184
+0.402737048 0.602591157 0.378636823
+0.403714565 0.601783817 0.379607193
+0.404692082 0.600975251 0.380580296
+0.405669599 0.600165455 0.381555265
+0.406647116 0.599354429 0.382533989
+0.407624633 0.598541740 0.383516150
+0.408602151 0.597724765 0.384500397
+0.409579668 0.596906338 0.385488433
+0.410557185 0.596086453 0.386480623
+0.411534702 0.595265107 0.387475131
+0.412512219 0.594442248 0.388473492
+0.413489736 0.593613964 0.389476718
+0.414467253 0.592783988 0.390482499
+0.415444770 0.591952316 0.391491555
+0.416422287 0.591118941 0.392504668
+0.417399804 0.590283858 0.393520477
+0.418377322 0.589442972 0.394539685
+0.419354839 0.588599687 0.395563270
+0.420332356 0.587754450 0.396589695
+0.421309873 0.586907257 0.397619709
+0.422287390 0.586058099 0.398654373
+0.423264907 0.585202955 0.399692025
+0.424242424 0.584344508 0.400733540
+0.425219941 0.583483842 0.401779909
+0.426197458 0.582620947 0.402829422
+0.427174976 0.581755815 0.403883177
+0.428152493 0.580884615 0.404941902
+0.429130010 0.580009054 0.406003935
+0.430107527 0.579130986 0.407070716
+0.431085044 0.578250399 0.408142475
+0.432062561 0.577367283 0.409217712
+0.433040078 0.576478121 0.410298357
+0.434017595 0.575583374 0.411383856
+0.434995112 0.574685810 0.412473008
+0.435972630 0.573785416 0.413568413
+0.436950147 0.572882178 0.414668387
+0.437927664 0.571973027 0.415772198
+0.438905181 0.571056884 0.416883317
+0.439882698 0.570137591 0.417998533
+0.440860215 0.569215132 0.419118581
+0.441837732 0.568289490 0.420245634
+0.442815249 0.567358177 0.421376894
+0.443792766 0.566418275 0.422514343
+0.444770283 0.565474860 0.423658069
+0.445747801 0.564527914 0.424806212
+0.446725318 0.563577417 0.425962211
+0.447702835 0.562621612 0.427123480
+0.448680352 0.561655405 0.428290282
+0.449657869 0.560685294 0.429465166
+0.450635386 0.559711253 0.430644890
+0.451612903 0.558733259 0.431832308
+0.452590420 0.557750445 0.433026364
+0.453567937 0.556755188 0.434226000
+0.454545455 0.555755595 0.435434924
+0.455522972 0.554751638 0.436649146
+0.456500489 0.553743287 0.437871753
+0.457478006 0.552730515 0.439101626
+0.458455523 0.551703450 0.440338101
+0.459433040 0.550671354 0.441584214
+0.460410557 0.549634415 0.442836126
+0.461388074 0.548592599 0.444098260
+0.462365591 0.547545872 0.445367270
+0.463343109 0.546484786 0.446645195
+0.464320626 0.545416893 0.447931951
+0.465298143 0.544343629 0.449226535
+0.466275660 0.543264953 0.450531713
+0.467253177 0.542180826 0.451843888
+0.468230694 0.541082374 0.453168194
+0.469208211 0.539975079 0.454499403
+0.470185728 0.538861828 0.455843131
+0.471163245 0.537742573 0.457194500
+0.472140762 0.536617267 0.458558366
+0.473118280 0.535477779 0.459930679
+0.474095797 0.534327120 0.461315854
+0.475073314 0.533169855 0.462709935
+0.476050831 0.532005928 0.464117671
+0.477028348 0.530835281 0.465534381
+0.478005865 0.529650711 0.466952620
+0.478983382 0.528452318 0.468377996
+0.479960899 0.527246594 0.469806093
+0.480938416 0.526033471 0.471239943
+0.481915934 0.524812880 0.472678374
+0.482893451 0.523578752 0.474120606
+0.483870968 0.522327784 0.475569070
+0.484848485 0.521068672 0.477020289
+0.485826002 0.519801335 0.478476759
+0.486803519 0.518525692 0.479938796
+0.487781036 0.517237031 0.481403707
+0.488758553 0.515928105 0.482873363
+0.489736070 0.514610118 0.484347894
+0.490713587 0.513282977 0.485826893
+0.491691105 0.511946585 0.487309221
+0.492668622 0.510597845 0.488795133
+0.493646139 0.509224947 0.490284775
+0.494623656 0.507841954 0.491777716
+0.495601173 0.506448755 0.493273513
+0.496578690 0.505045237 0.494770784
+0.497556207 0.503630203 0.496268873
+0.498533724 0.502186589 0.497766318
+0.499511241 0.500731707 0.499259366
+0.500488759 0.499268293 0.500740634
+0.501466276 0.497813411 0.502233682
+0.502443793 0.496369797 0.503731127
+0.503421310 0.494954763 0.505229216
+0.504398827 0.493551245 0.506726487
+0.505376344 0.492158046 0.508222284
+0.506353861 0.490775053 0.509715225
+0.507331378 0.489402155 0.511204867
+0.508308895 0.488053415 0.512690779
+0.509286413 0.486717023 0.514173107
+0.510263930 0.485389882 0.515652106
+0.511241447 0.484071895 0.517126637
+0.512218964 0.482762969 0.518596293
+0.513196481 0.481474308 0.520061204
+0.514173998 0.480198665 0.521523241
+0.515151515 0.478931328 0.522979711
+0.516129032 0.477672216 0.524430930
+0.517106549 0.476421248 0.525879394
+0.518084066 0.475187120 0.527321626
+0.519061584 0.473966529 0.528760057
+0.520039101 0.472753406 0.530193907
+0.521016618 0.471547682 0.531622004
+0.521994135 0.470349289 0.533047380
+0.522971652 0.469164719 0.534465619
+0.523949169 0.467994072 0.535882329
+0.524926686 0.466830145 0.537290065
+0.525904203 0.465672880 0.538684146
+0.526881720 0.464522221 0.540069321
+0.527859238 0.463382733 0.541441634
+0.528836755 0.462257427 0.542805500
+0.529814272 0.461138172 0.544156869
+0.530791789 0.460024921 0.545500597
+0.531769306 0.458917626 0.546831806
+0.532746823 0.457819174 0.548156112
+0.533724340 0.456735047 0.549468287
+0.534701857 0.455656371 0.550773465
+0.535679374 0.454583107 0.552068049
+0.536656891 0.453515214 0.553354805
+0.537634409 0.452454128 0.554632730
+0.538611926 0.451407401 0.555901740
+0.539589443 0.450365585 0.557163874
+0.540566960 0.449328646 0.558415786
+0.541544477 0.448296550 0.559661899
+0.542521994 0.447269485 0.560898374
+0.543499511 0.446256713 0.562128247
+0.544477028 0.445248362 0.563350854
+0.545454545 0.444244405 0.564565076
+0.546432063 0.443244812 0.565774000
+0.547409580 0.442249555 0.566973636
+0.548387097 0.441266741 0.568167692
+0.549364614 0.440288747 0.569355110
+0.550342131 0.439314706 0.570534834
+0.551319648 0.438344595 0.571709718
+0.552297165 0.437378388 0.572876520
+0.553274682 0.436422583 0.574037789
+0.554252199 0.435472086 0.575193788
+0.555229717 0.434525140 0.576341931
+0.556207234 0.433581725 0.577485657
+0.557184751 0.432641823 0.578623106
+0.558162268 0.431710510 0.579754366
+0.559139785 0.430784868 0.580881419
+0.560117302 0.429862409 0.582001467
+0.561094819 0.428943116 0.583116683
+0.562072336 0.428026973 0.584227802
+0.563049853 0.427117822 0.585331613
+0.564027370 0.426214584 0.586431587
+0.565004888 0.425314190 0.587526992
+0.565982405 0.424416626 0.588616144
+0.566959922 0.423521879 0.589701643
+0.567937439 0.422632717 0.590782288
+0.568914956 0.421749601 0.591857525
+0.569892473 0.420869014 0.592929284
+0.570869990 0.419990946 0.593996065
+0.571847507 0.419115385 0.595058098
+0.572825024 0.418244185 0.596116823
+0.573802542 0.417379053 0.597170578
+0.574780059 0.416516158 0.598220091
+0.575757576 0.415655492 0.599266460
+0.576735093 0.414797045 0.600307975
+0.577712610 0.413941901 0.601345627
+0.578690127 0.413092743 0.602380291
+0.579667644 0.412245550 0.603410305
+0.580645161 0.411400313 0.604436730
+0.581622678 0.410557028 0.605460315
+0.582600196 0.409716142 0.606479523
+0.583577713 0.408881059 0.607495332
+0.584555230 0.408047684 0.608508445
+0.585532747 0.407216012 0.609517501
+0.586510264 0.406386036 0.610523282
+0.587487781 0.405557752 0.611526508
+0.588465298 0.404734893 0.612524869
+0.589442815 0.403913547 0.613519377
+0.590420332 0.403093662 0.614511567
+0.591397849 0.402275235 0.615499603
+0.592375367 0.401458260 0.616483850
+0.593352884 0.400645571 0.617466011
+0.594330401 0.399834545 0.618444735
+0.595307918 0.399024749 0.619419704
+0.596285435 0.398216183 0.620392807
+0.597262952 0.397408843 0.621363177
+0.598240469 0.396604792 0.622329816
+0.599217986 0.395802442 0.623294806
+0.600195503 0.395001104 0.624257728
+0.601173021 0.394200775 0.625216962
+0.602150538 0.393401455 0.626174754
+0.603128055 0.392604564 0.627131094
+0.604105572 0.391809304 0.628083822
+0.605083089 0.391014844 0.629035311
+0.606060606 0.390221182 0.629985565
+0.607038123 0.389428318 0.630932995
+0.608015640 0.388637154 0.631879056
+0.608993157 0.387847442 0.632824079
+0.609970674 0.387058324 0.633767010
+0.610948192 0.386269800 0.634708500
+0.611925709 0.385481870 0.635649147
+0.612903226 0.384695033 0.636588337
+0.613880743 0.383909362 0.637526101
+0.614858260 0.383124086 0.638463211
+0.615835777 0.382339202 0.639399398
+0.616813294 0.381554712 0.640334267
+0.617790811 0.380770829 0.641268671
+0.618768328 0.379987720 0.642202572
+0.619745846 0.379204806 0.643135371
+0.620723363 0.378422088 0.644067892
+0.621700880 0.377639566 0.645000134
+0.622678397 0.376857283 0.645931760
+0.623655914 0.376075269 0.646863213
+0.624633431 0.375293255 0.647794574
+0.625610948 0.374511241 0.648725763
+0.626588465 0.373729228 0.649656963
+0.627565982 0.372947197 0.650588255
+0.628543500 0.372164822 0.651519701
+0.629521017 0.371382251 0.652451460
+0.630498534 0.370599484 0.653383496
+0.631476051 0.369816521 0.654315896
+0.632453568 0.369033362 0.655249029
+0.633431085 0.368249202 0.656182626
+0.634408602 0.367464614 0.657116687
+0.635386119 0.366679632 0.658052008
+0.636363636 0.365894257 0.658987986
+0.637341153 0.365108488 0.659924616
+0.638318671 0.364321203 0.660862755
+0.639296188 0.363533124 0.661801943
+0.640273705 0.362744452 0.662741973
+0.641251222 0.361955186 0.663683663
+0.642228739 0.361165325 0.664626899
+0.643206256 0.360373541 0.665571170
+0.644183773 0.359580477 0.666517165
+0.645161290 0.358786616 0.667465300
+0.646138807 0.357991956 0.668414668
+0.647116325 0.357196495 0.669365744
+0.648093842 0.356398810 0.670319646
+0.649071359 0.355599237 0.671274982
+0.650048876 0.354798657 0.672231950
+0.651026393 0.353997066 0.673192503
+0.652003910 0.353194462 0.674154697
+0.652981427 0.352389437 0.675118537
+0.653958944 0.351581790 0.676086512
+0.654936461 0.350772917 0.677056477
+0.655913978 0.349962814 0.678028302
+0.656891496 0.349151479 0.679004405
+0.657869013 0.348337632 0.679983079
+0.658846530 0.347520295 0.680963833
+0.659824047 0.346701503 0.681949010
+0.660801564 0.345881254 0.682937360
+0.661779081 0.345059542 0.683928019
+0.662756598 0.344235335 0.684923271
+0.663734115 0.343406629 0.685922297
+0.664711632 0.342576230 0.686923870
+0.665689150 0.341744132 0.687929130
+0.666666667 0.340910331 0.688937846
+0.667644184 0.340074160 0.689949246
+0.668621701 0.339232333 0.690964504
+0.669599218 0.338388561 0.691983490
+0.670576735 0.337542836 0.693005305
+0.671554252 0.336695152 0.694031207
+0.672531769 0.335845338 0.695061065
+0.673509286 0.334988551 0.696093900
+0.674486804 0.334129550 0.697131132
+0.675464321 0.333268328 0.698172485
+0.676441838 0.332404874 0.699216970
+0.677419355 0.331539182 0.700266262
+0.678396872 0.330665959 0.701319757
+0.679374389 0.329789773 0.702376545
+0.680351906 0.328911076 0.703438672
+0.681329423 0.328029857 0.704504983
+0.682306940 0.327146107 0.705574753
+0.683284457 0.326254698 0.706650544
+0.684261975 0.325359248 0.707730369
+0.685239492 0.324460977 0.708813895
+0.686217009 0.323559874 0.709904167
+0.687194526 0.322655923 0.710998237
+0.688172043 0.321744286 0.712096862
+0.689149560 0.320827357 0.713201951
+0.690127077 0.319907274 0.714311028
+0.691104594 0.318984020 0.715425744
+0.692082111 0.318057580 0.716546437
+0.693059629 0.317123530 0.717671316
+0.694037146 0.316182751 0.718803182
+0.695014663 0.315238455 0.719940303
+0.695992180 0.314290624 0.721082144
+0.696969697 0.313339235 0.722231969
+0.697947214 0.312380425 0.723386379
+0.698924731 0.311413245 0.724547261
+0.699902248 0.310442153 0.725715054
+0.700879765 0.309467126 0.726887658
+0.701857283 0.308488140 0.728068862
+0.702834800 0.307502035 0.729255560
+0.703812317 0.306505697 0.730448885
+0.704789834 0.305505016 0.731650209
+0.705767351 0.304499963 0.732856799
+0.706744868 0.303490510 0.734072768
+0.707722385 0.302474365 0.735294761
+0.708699902 0.301445879 0.736524473
+0.709677419 0.300412575 0.737762451
+0.710654936 0.299374420 0.739006630
+0.711632454 0.298331379 0.740261200
+0.712609971 0.297282205 0.741521781
+0.713587488 0.296218314 0.742792422
+0.714565005 0.295149082 0.744070482
+0.715542522 0.294074469 0.745357611
+0.716520039 0.292994434 0.746653821
+0.717497556 0.291908937 0.747958353
+0.718475073 0.290806106 0.749273413
+0.719452590 0.289697326 0.750596331
+0.720430108 0.288582579 0.751930974
+0.721407625 0.287461816 0.753273330
+0.722385142 0.286334988 0.754628320
+0.723362659 0.285190730 0.755991241
+0.724340176 0.284038425 0.757367382
+0.725317693 0.282879501 0.758752076
+0.726295210 0.281713899 0.760150208
+0.727272727 0.280541562 0.761557968
+0.728250244 0.279351796 0.762978972
+0.729227761 0.278151577 0.764411182
+0.730205279 0.276944010 0.765855987
+0.731182796 0.275729026 0.767314128
+0.732160313 0.274506558 0.768783708
+0.733137830 0.273266769 0.770269365
+0.734115347 0.272013773 0.771767273
+0.735092864 0.270752612 0.773279617
+0.736070381 0.269483206 0.774807849
+0.737047898 0.268205474 0.776350238
+0.738025415 0.266910644 0.777908241
+0.739002933 0.265599461 0.779484121
+0.739980450 0.264279195 0.781076333
+0.740957967 0.262949750 0.782685839
+0.741935484 0.261611030 0.784313657
+0.742913001 0.260255561 0.785960859
+0.743890518 0.258880149 0.787628578
+0.744868035 0.257494616 0.789318005
+0.745845552 0.256098848 0.791030397
+0.746823069 0.254692732 0.792767079
+0.747800587 0.253270349 0.794529580
+0.748778104 0.251823930 0.796323108
+0.749755621 0.250366211 0.798153793
+0.750733138 0.250000000 0.798619957
+0.751710655 0.250000000 0.798619478
+0.752688172 0.250000000 0.798618827
+0.753665689 0.250000000 0.798618046
+0.754643206 0.250000000 0.798617146
+0.755620723 0.250000000 0.798616146
+0.756598240 0.250000000 0.798615054
+0.757575758 0.250000000 0.798613875
+0.758553275 0.250000000 0.798612615
+0.759530792 0.250000000 0.798611281
+0.760508309 0.250000000 0.798609872
+0.761485826 0.250000000 0.798608379
+0.762463343 0.250000000 0.798606824
+0.763440860 0.250000000 0.798605212
+0.764418377 0.250000000 0.798603523
+0.765395894 0.250000000 0.798601768
+0.766373412 0.250000000 0.798599968
+0.767350929 0.250000000 0.798598087
+0.768328446 0.250000000 0.798596154
+0.769305963 0.250000000 0.798594172
+0.770283480 0.250000000 0.798592109
+0.771260997 0.250000000 0.798590018
+0.772238514 0.250000000 0.798587837
+0.773216031 0.250000000 0.798585625
+0.774193548 0.250000000 0.798583339
+0.775171065 0.250000000 0.798581012
+0.776148583 0.250000000 0.798578619
+0.777126100 0.250000000 0.798576179
+0.778103617 0.250000000 0.798573676
+0.779081134 0.250000000 0.798571128
+0.780058651 0.250000000 0.798568514
+0.781036168 0.250000000 0.798565861
+0.782013685 0.250000000 0.798563134
+0.782991202 0.250000000 0.798560379
+0.783968719 0.250000000 0.798557536
+0.784946237 0.250000000 0.798554682
+0.785923754 0.250000000 0.798551722
+0.786901271 0.250000000 0.798548749
+0.787878788 0.250000000 0.798545693
+0.788856305 0.250000000 0.798542598
+0.789833822 0.250000000 0.798539450
+0.790811339 0.250000000 0.798536231
+0.791788856 0.250000000 0.798532993
+0.792766373 0.250000000 0.798529646
+0.793743891 0.250000000 0.798526284
+0.794721408 0.250000000 0.798522845
+0.795698925 0.250000000 0.798519352
+0.796676442 0.250000000 0.798515828
+0.797653959 0.250000000 0.798512201
+0.798631476 0.250000000 0.798508555
+0.799608993 0.250000000 0.798504830
+0.800586510 0.250000000 0.798501045
+0.801564027 0.250000000 0.798497238
+0.802541544 0.250000000 0.798493312
+0.803519062 0.250000000 0.798489365
+0.804496579 0.250000000 0.798485354
+0.805474096 0.250000000 0.798481260
+0.806451613 0.250000000 0.798477144
+0.807429130 0.250000000 0.798472926
+0.808406647 0.250000000 0.798468658
+0.809384164 0.250000000 0.798464362
+0.810361681 0.250000000 0.798459937
+0.811339198 0.250000000 0.798455487
+0.812316716 0.250000000 0.798450981
+0.813294233 0.250000000 0.798446368
+0.814271750 0.250000000 0.798441728
+0.815249267 0.250000000 0.798437007
+0.816226784 0.250000000 0.798432199
+0.817204301 0.250000000 0.798427360
+0.818181818 0.250000000 0.798422419
+0.819159335 0.250000000 0.798417406
+0.820136852 0.250000000 0.798412362
+0.821114370 0.250000000 0.798407195
+0.822091887 0.250000000 0.798401968
+0.823069404 0.250000000 0.798396707
+0.824046921 0.250000000 0.798391309
+0.825024438 0.250000000 0.798385858
+0.826001955 0.250000000 0.798380370
+0.826979472 0.250000000 0.798374734
+0.827956989 0.250000000 0.798369049
+0.828934506 0.250000000 0.798363324
+0.829912023 0.250000000 0.798357442
+0.830889541 0.250000000 0.798351511
+0.831867058 0.250000000 0.798345537
+0.832844575 0.250000000 0.798339400
+0.833822092 0.250000000 0.798333211
+0.834799609 0.250000000 0.798326976
+0.835777126 0.250000000 0.798320576
+0.836754643 0.250000000 0.798314116
+0.837732160 0.250000000 0.798307606
+0.838709677 0.250000000 0.798300932
+0.839687195 0.250000000 0.798294187
+0.840664712 0.250000000 0.798287388
+0.841642229 0.250000000 0.798280430
+0.842619746 0.250000000 0.798273384
+0.843597263 0.250000000 0.798266281
+0.844574780 0.250000000 0.798259026
+0.845552297 0.250000000 0.798251664
+0.846529814 0.250000000 0.798244240
+0.847507331 0.250000000 0.798236674
+0.848484848 0.250000000 0.798228978
+0.849462366 0.250000000 0.798221215
+0.850439883 0.250000000 0.798213324
+0.851417400 0.250000000 0.798205276
+0.852394917 0.250000000 0.798197155
+0.853372434 0.250000000 0.798188922
+0.854349951 0.250000000 0.798180502
+0.855327468 0.250000000 0.798172002
+0.856304985 0.250000000 0.798163410
+0.857282502 0.250000000 0.798154594
+0.858260020 0.250000000 0.798145693
+0.859237537 0.250000000 0.798136706
+0.860215054 0.250000000 0.798127487
+0.861192571 0.250000000 0.798118161
+0.862170088 0.250000000 0.798108741
+0.863147605 0.250000000 0.798099109
+0.864125122 0.250000000 0.798089331
+0.865102639 0.250000000 0.798079451
+0.866080156 0.250000000 0.798069382
+0.867057674 0.250000000 0.798059123
+0.868035191 0.250000000 0.798048754
+0.869012708 0.250000000 0.798038221
+0.869990225 0.250000000 0.798027449
+0.870967742 0.250000000 0.798016558
+0.871945259 0.250000000 0.798005530
+0.872922776 0.250000000 0.797994212
+0.873900293 0.250000000 0.797982764
+0.874877810 0.250000000 0.797971185
+0.875855327 0.250000000 0.797959306
+0.876832845 0.250000000 0.797947263
+0.877810362 0.250000000 0.797935078
+0.878787879 0.250000000 0.797922616
+0.879765396 0.250000000 0.797909935
+0.880742913 0.250000000 0.797897099
+0.881720430 0.250000000 0.797884012
+0.882697947 0.250000000 0.797870648
+0.883675464 0.250000000 0.797857113
+0.884652981 0.250000000 0.797843354
+0.885630499 0.250000000 0.797829254
+0.886608016 0.250000000 0.797814969
+0.887585533 0.250000000 0.797800485
+0.888563050 0.250000000 0.797785594
+0.889540567 0.250000000 0.797770499
+0.890518084 0.250000000 0.797755197
+0.891495601 0.250000000 0.797739486
+0.892473118 0.250000000 0.797723518
+0.893450635 0.250000000 0.797707323
+0.894428152 0.250000000 0.797690733
+0.895405670 0.250000000 0.797673819
+0.896383187 0.250000000 0.797656655
+0.897360704 0.250000000 0.797639111
+0.898338221 0.250000000 0.797621171
+0.899315738 0.250000000 0.797602957
+0.900293255 0.250000000 0.797584371
+0.901270772 0.250000000 0.797565316
+0.902248289 0.250000000 0.797545958
+0.903225806 0.250000000 0.797526235
+0.904203324 0.250000000 0.797505964
+0.905180841 0.250000000 0.797485358
+0.906158358 0.250000000 0.797464387
+0.907135875 0.250000000 0.797442787
+0.908113392 0.250000000 0.797420816
+0.909090909 0.250000000 0.797398464
+0.910068426 0.250000000 0.797375416
+0.911045943 0.250000000 0.797351947
+0.912023460 0.250000000 0.797328054
+0.913000978 0.250000000 0.797303431
+0.913978495 0.250000000 0.797278312
+0.914956012 0.250000000 0.797252722
+0.915933529 0.250000000 0.797226352
+0.916911046 0.250000000 0.797199412
+0.917888563 0.250000000 0.797171944
+0.918866080 0.250000000 0.797143632
+0.919843597 0.250000000 0.797114674
+0.920821114 0.250000000 0.797085122
+0.921798631 0.250000000 0.797054641
+0.922776149 0.250000000 0.797023436
+0.923753666 0.250000000 0.796991562
+0.924731183 0.250000000 0.796958649
+0.925708700 0.250000000 0.796924934
+0.926686217 0.250000000 0.796890462
+0.927663734 0.250000000 0.796854809
+0.928641251 0.250000000 0.796818277
+0.929618768 0.250000000 0.796780885
+0.930596285 0.250000000 0.796742131
+0.931573803 0.250000000 0.796702422
+0.932551320 0.250000000 0.796661678
+0.933528837 0.250000000 0.796619449
+0.934506354 0.250000000 0.796576138
+0.935483871 0.250000000 0.796531554
+0.936461388 0.250000000 0.796485383
+0.937438905 0.250000000 0.796437966
+0.938416422 0.250000000 0.796388970
+0.939393939 0.250000000 0.796338286
+0.940371457 0.250000000 0.796286158
+0.941348974 0.250000000 0.796232059
+0.942326491 0.250000000 0.796176174
+0.943304008 0.250000000 0.796118602
+0.944281525 0.250000000 0.796058564
+0.945259042 0.250000000 0.795996641
+0.946236559 0.250000000 0.795932487
+0.947214076 0.250000000 0.795865725
+0.948191593 0.250000000 0.795796735
+0.949169110 0.250000000 0.795724810
+0.950146628 0.250000000 0.795650131
+0.951124145 0.250000000 0.795572676
+0.952101662 0.250000000 0.795491611
+0.953079179 0.250000000 0.795407522
+0.954056696 0.250000000 0.795319628
+0.955034213 0.250000000 0.795227898
+0.956011730 0.250000000 0.795132357
+0.956989247 0.250000000 0.795031935
+0.957966764 0.250000000 0.794927282
+0.958944282 0.250000000 0.794817257
+0.959921799 0.250000000 0.794701981
+0.960899316 0.250000000 0.794581006
+0.961876833 0.250000000 0.794453449
+0.962854350 0.250000000 0.794319707
+0.963831867 0.250000000 0.794177846
+0.964809384 0.250000000 0.794028718
+0.965786901 0.250000000 0.793870437
+0.966764418 0.250000000 0.793703113
+0.967741935 0.250000000 0.793525315
+0.968719453 0.250000000 0.793336305
+0.969696970 0.250000000 0.793135013
+0.970674487 0.250000000 0.792919868
+0.971652004 0.250000000 0.792689957
+0.972629521 0.250000000 0.792442910
+0.973607038 0.250000000 0.792177663
+0.974584555 0.250000000 0.791891104
+0.975562072 0.250000000 0.791581540
+0.976539589 0.250000000 0.791245216
+0.977517107 0.250000000 0.790900290
+0.978494624 0.250000000 0.790546727
+0.979472141 0.250000000 0.790189953
+0.980449658 0.250000000 0.789814417
+0.981427175 0.250000000 0.789445023
+0.982404692 0.250000000 0.789052209
+0.983382209 0.250000000 0.788657501
+0.984359726 0.250000000 0.788250203
+0.985337243 0.250000000 0.787818500
+0.986314761 0.250000000 0.787390503
+0.987292278 0.250000000 0.786940347
+0.988269795 0.250000000 0.786464072
+0.989247312 0.250000000 0.785974808
+0.990224829 0.250000000 0.785469812
+0.991202346 0.250000000 0.784933879
+0.992179863 0.250000000 0.784364501
+0.993157380 0.250000000 0.783757951
+0.994134897 0.250000000 0.783108264
+0.995112414 0.250000000 0.782404962
+0.996089932 0.250000000 0.781627407
+0.997067449 0.250000000 0.780727892
+0.998044966 0.250000000 0.779693393
+0.999022483 0.250000000 0.778328498
+1.000000000 nan nan
diff --git a/examples/mamdani/SimpleDimmerInverse.fll b/examples/mamdani/SimpleDimmerInverse.fll
index fd6b945..4ce7313 100644
--- a/examples/mamdani/SimpleDimmerInverse.fll
+++ b/examples/mamdani/SimpleDimmerInverse.fll
@@ -1,29 +1,30 @@
-Engine: simple-dimmer
+Engine: SimpleDimmerInverse
InputVariable: Ambient
enabled: true
range: 0.000 1.000
+ lock-range: false
term: DARK Triangle 0.000 0.250 0.500
term: MEDIUM Triangle 0.250 0.500 0.750
term: BRIGHT Triangle 0.500 0.750 1.000
OutputVariable: Power
enabled: true
range: 0.000 1.000
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: Centroid 200
default: nan
lock-previous: false
- lock-range: false
term: LOW Triangle 0.000 0.250 0.500
term: MEDIUM Triangle 0.250 0.500 0.750
term: HIGH Triangle 0.500 0.750 1.000
OutputVariable: InversePower
enabled: true
range: 0.000 1.000
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: Centroid 500
default: nan
lock-previous: false
- lock-range: false
term: LOW Cosine 0.200 0.500
term: MEDIUM Cosine 0.500 0.500
term: HIGH Cosine 0.800 0.500
@@ -31,7 +32,8 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if Ambient is DARK then Power is HIGH
rule: if Ambient is MEDIUM then Power is MEDIUM
rule: if Ambient is BRIGHT then Power is LOW
diff --git a/examples/mamdani/SimpleDimmerInverse.java b/examples/mamdani/SimpleDimmerInverse.java
index 0bdde89..218f831 100644
--- a/examples/mamdani/SimpleDimmerInverse.java
+++ b/examples/mamdani/SimpleDimmerInverse.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,52 +13,61 @@ import com.fuzzylite.variable.*;
public class SimpleDimmerInverse{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("simple-dimmer");
+engine.setName("SimpleDimmerInverse");
+engine.setDescription("");
-InputVariable inputVariable = new InputVariable();
-inputVariable.setEnabled(true);
-inputVariable.setName("Ambient");
-inputVariable.setRange(0.000, 1.000);
-inputVariable.addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
-inputVariable.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-inputVariable.addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
-engine.addInputVariable(inputVariable);
+InputVariable Ambient = new InputVariable();
+Ambient.setName("Ambient");
+Ambient.setDescription("");
+Ambient.setEnabled(true);
+Ambient.setRange(0.000, 1.000);
+Ambient.setLockValueInRange(false);
+Ambient.addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
+Ambient.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Ambient.addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
+engine.addInputVariable(Ambient);
-OutputVariable outputVariable1 = new OutputVariable();
-outputVariable1.setEnabled(true);
-outputVariable1.setName("Power");
-outputVariable1.setRange(0.000, 1.000);
-outputVariable1.fuzzyOutput().setAccumulation(new Maximum());
-outputVariable1.setDefuzzifier(new Centroid(200));
-outputVariable1.setDefaultValue(Double.NaN);
-outputVariable1.setLockPreviousOutputValue(false);
-outputVariable1.setLockOutputValueInRange(false);
-outputVariable1.addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
-outputVariable1.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-outputVariable1.addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
-engine.addOutputVariable(outputVariable1);
+OutputVariable Power = new OutputVariable();
+Power.setName("Power");
+Power.setDescription("");
+Power.setEnabled(true);
+Power.setRange(0.000, 1.000);
+Power.setLockValueInRange(false);
+Power.setAggregation(new Maximum());
+Power.setDefuzzifier(new Centroid(200));
+Power.setDefaultValue(Double.NaN);
+Power.setLockPreviousValue(false);
+Power.addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
+Power.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Power.addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
+engine.addOutputVariable(Power);
-OutputVariable outputVariable2 = new OutputVariable();
-outputVariable2.setEnabled(true);
-outputVariable2.setName("InversePower");
-outputVariable2.setRange(0.000, 1.000);
-outputVariable2.fuzzyOutput().setAccumulation(new Maximum());
-outputVariable2.setDefuzzifier(new Centroid(500));
-outputVariable2.setDefaultValue(Double.NaN);
-outputVariable2.setLockPreviousOutputValue(false);
-outputVariable2.setLockOutputValueInRange(false);
-outputVariable2.addTerm(new Cosine("LOW", 0.200, 0.500));
-outputVariable2.addTerm(new Cosine("MEDIUM", 0.500, 0.500));
-outputVariable2.addTerm(new Cosine("HIGH", 0.800, 0.500));
-engine.addOutputVariable(outputVariable2);
+OutputVariable InversePower = new OutputVariable();
+InversePower.setName("InversePower");
+InversePower.setDescription("");
+InversePower.setEnabled(true);
+InversePower.setRange(0.000, 1.000);
+InversePower.setLockValueInRange(false);
+InversePower.setAggregation(new Maximum());
+InversePower.setDefuzzifier(new Centroid(500));
+InversePower.setDefaultValue(Double.NaN);
+InversePower.setLockPreviousValue(false);
+InversePower.addTerm(new Cosine("LOW", 0.200, 0.500));
+InversePower.addTerm(new Cosine("MEDIUM", 0.500, 0.500));
+InversePower.addTerm(new Cosine("HIGH", 0.800, 0.500));
+engine.addOutputVariable(InversePower);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(null);
ruleBlock.setDisjunction(null);
-ruleBlock.setActivation(new Minimum());
+ruleBlock.setImplication(new Minimum());
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if Ambient is DARK then Power is HIGH", engine));
ruleBlock.addRule(Rule.parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
ruleBlock.addRule(Rule.parse("if Ambient is BRIGHT then Power is LOW", engine));
diff --git a/examples/mamdani/SimpleDimmerInverse.pdf b/examples/mamdani/SimpleDimmerInverse.pdf
new file mode 100644
index 0000000..0cfb26d
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerInverse.pdf
Binary files differ
diff --git a/examples/mamdani/octave/investment_portfolio.R b/examples/mamdani/octave/investment_portfolio.R
new file mode 100644
index 0000000..c752dab
--- /dev/null
+++ b/examples/mamdani/octave/investment_portfolio.R
@@ -0,0 +1,67 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "investment_portfolio"
+engine.fll = "Engine: investment_portfolio
+InputVariable: Age
+ enabled: true
+ range: 20.000 100.000
+ lock-range: false
+ term: Young ZShape 30.000 90.000
+ term: Old SShape 30.000 90.000
+InputVariable: RiskTolerance
+ enabled: true
+ range: 0.000 10.000
+ lock-range: false
+ term: Low ZShape 2.000 8.000
+ term: High SShape 2.000 8.000
+OutputVariable: PercentageInStocks
+ enabled: true
+ range: 0.000 100.000
+ lock-range: false
+ aggregation: EinsteinSum
+ defuzzifier: Centroid 200
+ default: nan
+ lock-previous: false
+ term: AboutFifteen Gaussian 15.000 10.000
+ term: AboutFifty Gaussian 50.000 10.000
+ term: AboutEightyFive Gaussian 85.000 10.000
+RuleBlock:
+ enabled: true
+ conjunction: EinsteinProduct
+ disjunction: EinsteinSum
+ implication: EinsteinProduct
+ activation: General
+ rule: if Age is Young or RiskTolerance is High then PercentageInStocks is AboutEightyFive
+ rule: if Age is Old or RiskTolerance is Low then PercentageInStocks is AboutFifteen
+ rule: if Age is not extremely Old and RiskTolerance is not extremely Low then PercentageInStocks is AboutFifty with 0.500
+ rule: if Age is not extremely Young and RiskTolerance is not extremely High then PercentageInStocks is AboutFifty with 0.500"
+
+engine.fldFile = "investment_portfolio.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1i2_o1 = ggplot(engine.df, aes(Age, RiskTolerance)) +
+ geom_tile(aes(fill=PercentageInStocks)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Age, y=RiskTolerance, z=PercentageInStocks), color="black") +
+ ggtitle("(Age, RiskTolerance) = PercentageInStocks")
+
+engine.plot.i2i1_o1 = ggplot(engine.df, aes(RiskTolerance, Age)) +
+ geom_tile(aes(fill=PercentageInStocks)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=RiskTolerance, y=Age, z=PercentageInStocks), color="black") +
+ ggtitle("(RiskTolerance, Age) = PercentageInStocks")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1i2_o1, engine.plot.i2i1_o1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/octave/investment_portfolio.cpp b/examples/mamdani/octave/investment_portfolio.cpp
index 9ccadc9..2b82b8c 100644
--- a/examples/mamdani/octave/investment_portfolio.cpp
+++ b/examples/mamdani/octave/investment_portfolio.cpp
@@ -1,51 +1,61 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("Investment-Portfolio");
-
-InputVariable* inputVariable1 = new InputVariable;
-inputVariable1->setEnabled(true);
-inputVariable1->setName("Age");
-inputVariable1->setRange(20.000, 100.000);
-inputVariable1->addTerm(new ZShape("Young", 30.000, 90.000));
-inputVariable1->addTerm(new SShape("Old", 30.000, 90.000));
-engine->addInputVariable(inputVariable1);
-
-InputVariable* inputVariable2 = new InputVariable;
-inputVariable2->setEnabled(true);
-inputVariable2->setName("RiskTolerance");
-inputVariable2->setRange(0.000, 10.000);
-inputVariable2->addTerm(new ZShape("Low", 2.000, 8.000));
-inputVariable2->addTerm(new SShape("High", 2.000, 8.000));
-engine->addInputVariable(inputVariable2);
-
-OutputVariable* outputVariable = new OutputVariable;
-outputVariable->setEnabled(true);
-outputVariable->setName("PercentageInStocks");
-outputVariable->setRange(0.000, 100.000);
-outputVariable->fuzzyOutput()->setAccumulation(new EinsteinSum);
-outputVariable->setDefuzzifier(new Centroid(200));
-outputVariable->setDefaultValue(fl::nan);
-outputVariable->setLockPreviousOutputValue(false);
-outputVariable->setLockOutputValueInRange(false);
-outputVariable->addTerm(new Gaussian("AboutFifteen", 15.000, 10.000));
-outputVariable->addTerm(new Gaussian("AboutFifty", 50.000, 10.000));
-outputVariable->addTerm(new Gaussian("AboutEightyFive", 85.000, 10.000));
-engine->addOutputVariable(outputVariable);
+engine->setName("investment_portfolio");
+engine->setDescription("");
+
+InputVariable* Age = new InputVariable;
+Age->setName("Age");
+Age->setDescription("");
+Age->setEnabled(true);
+Age->setRange(20.000, 100.000);
+Age->setLockValueInRange(false);
+Age->addTerm(new ZShape("Young", 30.000, 90.000));
+Age->addTerm(new SShape("Old", 30.000, 90.000));
+engine->addInputVariable(Age);
+
+InputVariable* RiskTolerance = new InputVariable;
+RiskTolerance->setName("RiskTolerance");
+RiskTolerance->setDescription("");
+RiskTolerance->setEnabled(true);
+RiskTolerance->setRange(0.000, 10.000);
+RiskTolerance->setLockValueInRange(false);
+RiskTolerance->addTerm(new ZShape("Low", 2.000, 8.000));
+RiskTolerance->addTerm(new SShape("High", 2.000, 8.000));
+engine->addInputVariable(RiskTolerance);
+
+OutputVariable* PercentageInStocks = new OutputVariable;
+PercentageInStocks->setName("PercentageInStocks");
+PercentageInStocks->setDescription("");
+PercentageInStocks->setEnabled(true);
+PercentageInStocks->setRange(0.000, 100.000);
+PercentageInStocks->setLockValueInRange(false);
+PercentageInStocks->setAggregation(new EinsteinSum);
+PercentageInStocks->setDefuzzifier(new Centroid(200));
+PercentageInStocks->setDefaultValue(fl::nan);
+PercentageInStocks->setLockPreviousValue(false);
+PercentageInStocks->addTerm(new Gaussian("AboutFifteen", 15.000, 10.000));
+PercentageInStocks->addTerm(new Gaussian("AboutFifty", 50.000, 10.000));
+PercentageInStocks->addTerm(new Gaussian("AboutEightyFive", 85.000, 10.000));
+engine->addOutputVariable(PercentageInStocks);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(new EinsteinProduct);
ruleBlock->setDisjunction(new EinsteinSum);
-ruleBlock->setActivation(new EinsteinProduct);
-ruleBlock->addRule(fl::Rule::parse("if Age is Young or RiskTolerance is High then PercentageInStocks is AboutEightyFive", engine));
-ruleBlock->addRule(fl::Rule::parse("if Age is Old or RiskTolerance is Low then PercentageInStocks is AboutFifteen", engine));
-ruleBlock->addRule(fl::Rule::parse("if Age is not extremely Old and RiskTolerance is not extremely Low then PercentageInStocks is AboutFifty with 0.500", engine));
-ruleBlock->addRule(fl::Rule::parse("if Age is not extremely Young and RiskTolerance is not extremely High then PercentageInStocks is AboutFifty with 0.500", engine));
+ruleBlock->setImplication(new EinsteinProduct);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if Age is Young or RiskTolerance is High then PercentageInStocks is AboutEightyFive", engine));
+ruleBlock->addRule(Rule::parse("if Age is Old or RiskTolerance is Low then PercentageInStocks is AboutFifteen", engine));
+ruleBlock->addRule(Rule::parse("if Age is not extremely Old and RiskTolerance is not extremely Low then PercentageInStocks is AboutFifty with 0.500", engine));
+ruleBlock->addRule(Rule::parse("if Age is not extremely Young and RiskTolerance is not extremely High then PercentageInStocks is AboutFifty with 0.500", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/mamdani/octave/investment_portfolio.fcl b/examples/mamdani/octave/investment_portfolio.fcl
index 590ab3b..ec837a7 100644
--- a/examples/mamdani/octave/investment_portfolio.fcl
+++ b/examples/mamdani/octave/investment_portfolio.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK Investment-Portfolio
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK investment_portfolio
VAR_INPUT
Age: REAL;
diff --git a/examples/mamdani/octave/investment_portfolio.fis b/examples/mamdani/octave/investment_portfolio.fis
index 311e728..b512a68 100644
--- a/examples/mamdani/octave/investment_portfolio.fis
+++ b/examples/mamdani/octave/investment_portfolio.fis
@@ -1,6 +1,9 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name='Investment-Portfolio'
+Name='investment_portfolio'
Type='mamdani'
+Version=6.0
NumInputs=2
NumOutputs=1
NumRules=4
diff --git a/examples/mamdani/octave/investment_portfolio.fld b/examples/mamdani/octave/investment_portfolio.fld
index 648b0be..4da9cb9 100644
--- a/examples/mamdani/octave/investment_portfolio.fld
+++ b/examples/mamdani/octave/investment_portfolio.fld
@@ -1,1026 +1,1025 @@
-#@Engine: Investment-Portfolio;
-#@InputVariable: Age; @InputVariable: RiskTolerance; @OutputVariable: PercentageInStocks;
-20.00000000 0.00000000 50.00000000
-20.00000000 0.32258065 50.00000000
-20.00000000 0.64516129 50.00000000
-20.00000000 0.96774194 50.00000000
-20.00000000 1.29032258 50.00000000
-20.00000000 1.61290323 50.00000000
-20.00000000 1.93548387 50.00000000
-20.00000000 2.25806452 50.07664849
-20.00000000 2.58064516 50.39007638
-20.00000000 2.90322581 50.95232681
-20.00000000 3.22580645 51.77492832
-20.00000000 3.54838710 52.87098013
-20.00000000 3.87096774 54.25013613
-20.00000000 4.19354839 55.91006054
-20.00000000 4.51612903 57.82311764
-20.00000000 4.83870968 59.91799668
-20.00000000 5.16129032 62.04316294
-20.00000000 5.48387097 64.00662112
-20.00000000 5.80645161 65.82068208
-20.00000000 6.12903226 67.49497664
-20.00000000 6.45161290 69.01370662
-20.00000000 6.77419355 70.34164582
-20.00000000 7.09677419 71.43161596
-20.00000000 7.41935484 72.23344208
-20.00000000 7.74193548 72.70359583
-20.00000000 8.06451613 72.82131403
-20.00000000 8.38709677 72.82131403
-20.00000000 8.70967742 72.82131403
-20.00000000 9.03225806 72.82131403
-20.00000000 9.35483871 72.82131403
-20.00000000 9.67741935 72.82131403
-20.00000000 10.00000000 72.82131403
-22.58064516 0.00000000 50.00000000
-22.58064516 0.32258065 50.00000000
-22.58064516 0.64516129 50.00000000
-22.58064516 0.96774194 50.00000000
-22.58064516 1.29032258 50.00000000
-22.58064516 1.61290323 50.00000000
-22.58064516 1.93548387 50.00000000
-22.58064516 2.25806452 50.07664849
-22.58064516 2.58064516 50.39007638
-22.58064516 2.90322581 50.95232681
-22.58064516 3.22580645 51.77492832
-22.58064516 3.54838710 52.87098013
-22.58064516 3.87096774 54.25013613
-22.58064516 4.19354839 55.91006054
-22.58064516 4.51612903 57.82311764
-22.58064516 4.83870968 59.91799668
-22.58064516 5.16129032 62.04316294
-22.58064516 5.48387097 64.00662112
-22.58064516 5.80645161 65.82068208
-22.58064516 6.12903226 67.49497664
-22.58064516 6.45161290 69.01370662
-22.58064516 6.77419355 70.34164582
-22.58064516 7.09677419 71.43161596
-22.58064516 7.41935484 72.23344208
-22.58064516 7.74193548 72.70359583
-22.58064516 8.06451613 72.82131403
-22.58064516 8.38709677 72.82131403
-22.58064516 8.70967742 72.82131403
-22.58064516 9.03225806 72.82131403
-22.58064516 9.35483871 72.82131403
-22.58064516 9.67741935 72.82131403
-22.58064516 10.00000000 72.82131403
-25.16129032 0.00000000 50.00000000
-25.16129032 0.32258065 50.00000000
-25.16129032 0.64516129 50.00000000
-25.16129032 0.96774194 50.00000000
-25.16129032 1.29032258 50.00000000
-25.16129032 1.61290323 50.00000000
-25.16129032 1.93548387 50.00000000
-25.16129032 2.25806452 50.07664849
-25.16129032 2.58064516 50.39007638
-25.16129032 2.90322581 50.95232681
-25.16129032 3.22580645 51.77492832
-25.16129032 3.54838710 52.87098013
-25.16129032 3.87096774 54.25013613
-25.16129032 4.19354839 55.91006054
-25.16129032 4.51612903 57.82311764
-25.16129032 4.83870968 59.91799668
-25.16129032 5.16129032 62.04316294
-25.16129032 5.48387097 64.00662112
-25.16129032 5.80645161 65.82068208
-25.16129032 6.12903226 67.49497664
-25.16129032 6.45161290 69.01370662
-25.16129032 6.77419355 70.34164582
-25.16129032 7.09677419 71.43161596
-25.16129032 7.41935484 72.23344208
-25.16129032 7.74193548 72.70359583
-25.16129032 8.06451613 72.82131403
-25.16129032 8.38709677 72.82131403
-25.16129032 8.70967742 72.82131403
-25.16129032 9.03225806 72.82131403
-25.16129032 9.35483871 72.82131403
-25.16129032 9.67741935 72.82131403
-25.16129032 10.00000000 72.82131403
-27.74193548 0.00000000 50.00000000
-27.74193548 0.32258065 50.00000000
-27.74193548 0.64516129 50.00000000
-27.74193548 0.96774194 50.00000000
-27.74193548 1.29032258 50.00000000
-27.74193548 1.61290323 50.00000000
-27.74193548 1.93548387 50.00000000
-27.74193548 2.25806452 50.07664849
-27.74193548 2.58064516 50.39007638
-27.74193548 2.90322581 50.95232681
-27.74193548 3.22580645 51.77492832
-27.74193548 3.54838710 52.87098013
-27.74193548 3.87096774 54.25013613
-27.74193548 4.19354839 55.91006054
-27.74193548 4.51612903 57.82311764
-27.74193548 4.83870968 59.91799668
-27.74193548 5.16129032 62.04316294
-27.74193548 5.48387097 64.00662112
-27.74193548 5.80645161 65.82068208
-27.74193548 6.12903226 67.49497664
-27.74193548 6.45161290 69.01370662
-27.74193548 6.77419355 70.34164582
-27.74193548 7.09677419 71.43161596
-27.74193548 7.41935484 72.23344208
-27.74193548 7.74193548 72.70359583
-27.74193548 8.06451613 72.82131403
-27.74193548 8.38709677 72.82131403
-27.74193548 8.70967742 72.82131403
-27.74193548 9.03225806 72.82131403
-27.74193548 9.35483871 72.82131403
-27.74193548 9.67741935 72.82131403
-27.74193548 10.00000000 72.82131403
-30.32258065 0.00000000 49.99880392
-30.32258065 0.32258065 49.99880392
-30.32258065 0.64516129 49.99880392
-30.32258065 0.96774194 49.99880392
-30.32258065 1.29032258 49.99880392
-30.32258065 1.61290323 49.99880392
-30.32258065 1.93548387 49.99880392
-30.32258065 2.25806452 50.07545238
-30.32258065 2.58064516 50.38887965
-30.32258065 2.90322581 50.95112699
-30.32258065 3.22580645 51.77371992
-30.32258065 3.54838710 52.86975395
-30.32258065 3.87096774 54.24887943
-30.32258065 4.19354839 55.90875847
-30.32258065 4.51612903 57.82175684
-30.32258065 4.83870968 59.91657184
-30.32258065 5.16129032 62.04168233
-30.32258065 5.48387097 64.00508502
-30.32258065 5.80645161 65.81908993
-30.32258065 6.12903226 67.49332917
-30.32258065 6.45161290 69.01200609
-30.32258065 6.77419355 70.33989666
-30.32258065 7.09677419 71.42982533
-30.32258065 7.41935484 72.23162005
-30.32258065 7.74193548 72.70175504
-30.32258065 8.06451613 72.81946849
-30.32258065 8.38709677 72.81946849
-30.32258065 8.70967742 72.81946849
-30.32258065 9.03225806 72.81946849
-30.32258065 9.35483871 72.81946849
-30.32258065 9.67741935 72.81946849
-30.32258065 10.00000000 72.81946849
-32.90322581 0.00000000 49.90295798
-32.90322581 0.32258065 49.90295798
-32.90322581 0.64516129 49.90295798
-32.90322581 0.96774194 49.90295798
-32.90322581 1.29032258 49.90295798
-32.90322581 1.61290323 49.90295798
-32.90322581 1.93548387 49.90295798
-32.90322581 2.25806452 49.97960702
-32.90322581 2.58064516 50.29299482
-32.90322581 2.90322581 50.85501365
-32.90322581 3.22580645 51.67694728
-32.90322581 3.54838710 52.77159622
-32.90322581 3.87096774 54.14832785
-32.90322581 4.19354839 55.80464007
-32.90322581 4.51612903 57.71302139
-32.90322581 4.83870968 59.80281425
-32.90322581 5.16129032 61.92356979
-32.90322581 5.48387097 63.88261418
-32.90322581 5.80645161 65.69219320
-32.90322581 6.12903226 67.36205805
-32.90322581 6.45161290 68.87652195
-32.90322581 6.77419355 70.20054895
-32.90322581 7.09677419 71.28718186
-32.90322581 7.41935484 72.08648082
-32.90322581 7.74193548 72.55512448
-32.90322581 8.06451613 72.67246132
-32.90322581 8.38709677 72.67246132
-32.90322581 8.70967742 72.67246132
-32.90322581 9.03225806 72.67246132
-32.90322581 9.35483871 72.67246132
-32.90322581 9.67741935 72.67246132
-32.90322581 10.00000000 72.67246132
-35.48387097 0.00000000 49.65230424
-35.48387097 0.32258065 49.65230424
-35.48387097 0.64516129 49.65230424
-35.48387097 0.96774194 49.65230424
-35.48387097 1.29032258 49.65230424
-35.48387097 1.61290323 49.65230424
-35.48387097 1.93548387 49.65230424
-35.48387097 2.25806452 49.72897859
-35.48387097 2.58064516 50.04236049
-35.48387097 2.90322581 50.60395669
-35.48387097 3.22580645 51.42442479
-35.48387097 3.54838710 52.51580620
-35.48387097 3.87096774 53.88675089
-35.48387097 4.19354839 55.53436093
-35.48387097 4.51612903 57.43147904
-35.48387097 4.83870968 59.50912954
-35.48387097 5.16129032 61.61952428
-35.48387097 5.48387097 63.56796052
-35.48387097 5.80645161 65.36655988
-35.48387097 6.12903226 67.02542761
-35.48387097 6.45161290 68.52927075
-35.48387097 6.77419355 69.84352090
-35.48387097 7.09677419 70.92180186
-35.48387097 7.41935484 71.71475942
-35.48387097 7.74193548 72.17961322
-35.48387097 8.06451613 72.29599292
-35.48387097 8.38709677 72.29599292
-35.48387097 8.70967742 72.29599292
-35.48387097 9.03225806 72.29599292
-35.48387097 9.35483871 72.29599292
-35.48387097 9.67741935 72.29599292
-35.48387097 10.00000000 72.29599292
-38.06451613 0.00000000 49.24309895
-38.06451613 0.32258065 49.24309895
-38.06451613 0.64516129 49.24309895
-38.06451613 0.96774194 49.24309895
-38.06451613 1.29032258 49.24309895
-38.06451613 1.61290323 49.24309895
-38.06451613 1.93548387 49.24309895
-38.06451613 2.25806452 49.31988482
-38.06451613 2.58064516 49.63354393
-38.06451613 2.90322581 50.19496500
-38.06451613 3.22580645 51.01379991
-38.06451613 3.54838710 52.10088544
-38.06451613 3.87096774 53.46376445
-38.06451613 4.19354839 55.09898884
-38.06451613 4.51612903 56.98007353
-38.06451613 4.83870968 59.04077124
-38.06451613 5.16129032 61.13722688
-38.06451613 5.48387097 63.07064236
-38.06451613 5.80645161 64.85305357
-38.06451613 6.12903226 66.49534778
-38.06451613 6.45161290 67.98296760
-38.06451613 6.77419355 69.28218358
-38.06451613 7.09677419 70.34756047
-38.06451613 7.41935484 71.13072959
-38.06451613 7.74193548 71.58971545
-38.06451613 8.06451613 71.70461300
-38.06451613 8.38709677 71.70461300
-38.06451613 8.70967742 71.70461300
-38.06451613 9.03225806 71.70461300
-38.06451613 9.35483871 71.70461300
-38.06451613 9.67741935 71.70461300
-38.06451613 10.00000000 71.70461300
-40.64516129 0.00000000 48.66974302
-40.64516129 0.32258065 48.66974302
-40.64516129 0.64516129 48.66974302
-40.64516129 0.96774194 48.66974302
-40.64516129 1.29032258 48.66974302
-40.64516129 1.61290323 48.66974302
-40.64516129 1.93548387 48.66974302
-40.64516129 2.25806452 48.74681972
-40.64516129 2.58064516 49.06141626
-40.64516129 2.90322581 49.62357390
-40.64516129 3.22580645 50.44156177
-40.64516129 3.54838710 51.52458831
-40.64516129 3.87096774 52.87875978
-40.64516129 4.19354839 54.50003124
-40.64516129 4.51612903 56.36302984
-40.64516129 4.83870968 58.40529847
-40.64516129 5.16129032 60.48775451
-40.64516129 5.48387097 62.40444567
-40.64516129 5.80645161 64.16746517
-40.64516129 6.12903226 65.78913336
-40.64516129 6.45161290 67.25614371
-40.64516129 6.77419355 68.53604701
-40.64516129 7.09677419 69.58475383
-40.64516129 7.41935484 70.35521241
-40.64516129 7.74193548 70.80658497
-40.64516129 8.06451613 70.91955552
-40.64516129 8.38709677 70.91955552
-40.64516129 8.70967742 70.91955552
-40.64516129 9.03225806 70.91955552
-40.64516129 9.35483871 70.91955552
-40.64516129 9.67741935 70.91955552
-40.64516129 10.00000000 70.91955552
-43.22580645 0.00000000 47.92553362
-43.22580645 0.32258065 47.92553362
-43.22580645 0.64516129 47.92553362
-43.22580645 0.96774194 47.92553362
-43.22580645 1.29032258 47.92553362
-43.22580645 1.61290323 47.92553362
-43.22580645 1.93548387 47.92553362
-43.22580645 2.25806452 48.00319612
-43.22580645 2.58064516 48.31985647
-43.22580645 2.90322581 48.88447571
-43.22580645 3.22580645 49.70355442
-43.22580645 3.54838710 50.78426142
-43.22580645 3.87096774 52.13099528
-43.22580645 4.19354839 53.73918510
-43.22580645 4.51612903 55.58515207
-43.22580645 4.83870968 57.61132963
-43.22580645 5.16129032 59.68382184
-43.22580645 5.48387097 61.58536931
-43.22580645 5.80645161 63.32828142
-43.22580645 6.12903226 64.92718203
-43.22580645 6.45161290 66.37069947
-43.22580645 6.77419355 67.62820397
-43.22580645 7.09677419 68.65739074
-43.22580645 7.41935484 69.41289095
-43.22580645 7.74193548 69.85526918
-43.22580645 8.06451613 69.96596156
-43.22580645 8.38709677 69.96596156
-43.22580645 8.70967742 69.96596156
-43.22580645 9.03225806 69.96596156
-43.22580645 9.35483871 69.96596156
-43.22580645 9.67741935 69.96596156
-43.22580645 10.00000000 69.96596156
-45.80645161 0.00000000 47.00393487
-45.80645161 0.32258065 47.00393487
-45.80645161 0.64516129 47.00393487
-45.80645161 0.96774194 47.00393487
-45.80645161 1.29032258 47.00393487
-45.80645161 1.61290323 47.00393487
-45.80645161 1.93548387 47.00393487
-45.80645161 2.25806452 47.08260248
-45.80645161 2.58064516 47.40295027
-45.80645161 2.90322581 47.97260761
-45.80645161 3.22580645 48.79588816
-45.80645161 3.54838710 49.87749533
-45.80645161 3.87096774 51.21988342
-45.80645161 4.19354839 52.81813027
-45.80645161 4.51612903 54.65098576
-45.80645161 4.83870968 56.66698079
-45.80645161 5.16129032 58.73758982
-45.80645161 5.48387097 60.62911442
-45.80645161 5.80645161 62.35401414
-45.80645161 6.12903226 63.93019461
-45.80645161 6.45161290 65.34904000
-45.80645161 6.77419355 66.58237935
-45.80645161 7.09677419 67.59018730
-45.80645161 7.41935484 68.32916295
-45.80645161 7.74193548 68.76155861
-45.80645161 8.06451613 68.86971710
-45.80645161 8.38709677 68.86971710
-45.80645161 8.70967742 68.86971710
-45.80645161 9.03225806 68.86971710
-45.80645161 9.35483871 68.86971710
-45.80645161 9.67741935 68.86971710
-45.80645161 10.00000000 68.86971710
-48.38709677 0.00000000 45.90059861
-48.38709677 0.32258065 45.90059861
-48.38709677 0.64516129 45.90059861
-48.38709677 0.96774194 45.90059861
-48.38709677 1.29032258 45.90059861
-48.38709677 1.61290323 45.90059861
-48.38709677 1.93548387 45.90059861
-48.38709677 2.25806452 45.98080335
-48.38709677 2.58064516 46.30690509
-48.38709677 2.90322581 46.88490696
-48.38709677 3.22580645 47.71644736
-48.38709677 3.54838710 48.80327906
-48.38709677 3.87096774 50.14566326
-48.38709677 4.19354839 51.73856779
-48.38709677 4.51612903 53.56406480
-48.38709677 4.83870968 55.57822661
-48.38709677 5.16129032 57.65828336
-48.38709677 5.48387097 59.54837018
-48.38709677 5.80645161 61.26036274
-48.38709677 6.12903226 62.81628542
-48.38709677 6.45161290 64.21114285
-48.38709677 6.77419355 65.41994481
-48.38709677 7.09677419 66.40551444
-48.38709677 7.41935484 67.12705985
-48.38709677 7.74193548 67.54884508
-48.38709677 8.06451613 67.65430104
-48.38709677 8.38709677 67.65430104
-48.38709677 8.70967742 67.65430104
-48.38709677 9.03225806 67.65430104
-48.38709677 9.35483871 67.65430104
-48.38709677 9.67741935 67.65430104
-48.38709677 10.00000000 67.65430104
-50.96774194 0.00000000 44.61641577
-50.96774194 0.32258065 44.61641577
-50.96774194 0.64516129 44.61641577
-50.96774194 0.96774194 44.61641577
-50.96774194 1.29032258 44.61641577
-50.96774194 1.61290323 44.61641577
-50.96774194 1.93548387 44.61641577
-50.96774194 2.25806452 44.69876030
-50.96774194 2.58064516 45.03294688
-50.96774194 2.90322581 45.62298535
-50.96774194 3.22580645 46.46723847
-50.96774194 3.54838710 47.56391012
-50.96774194 3.87096774 48.91074345
-50.96774194 4.19354839 50.50284021
-50.96774194 4.51612903 52.32663397
-50.96774194 4.83870968 54.34758826
-50.96774194 5.16129032 56.44995468
-50.96774194 5.48387097 58.35016147
-50.96774194 5.80645161 60.05744033
-50.96774194 6.12903226 61.59819880
-50.96774194 6.45161290 62.97178502
-50.96774194 6.77419355 64.15714114
-50.96774194 7.09677419 65.12059667
-50.96774194 7.41935484 65.82440942
-50.96774194 7.74193548 66.23526465
-50.96774194 8.06451613 66.33792129
-50.96774194 8.38709677 66.33792129
-50.96774194 8.70967742 66.33792129
-50.96774194 9.03225806 66.33792129
-50.96774194 9.35483871 66.33792129
-50.96774194 9.67741935 66.33792129
-50.96774194 10.00000000 66.33792129
-53.54838710 0.00000000 43.16186397
-53.54838710 0.32258065 43.16186397
-53.54838710 0.64516129 43.16186397
-53.54838710 0.96774194 43.16186397
-53.54838710 1.29032258 43.16186397
-53.54838710 1.61290323 43.16186397
-53.54838710 1.93548387 43.16186397
-53.54838710 2.25806452 43.24693567
-53.54838710 2.58064516 43.59144915
-53.54838710 2.90322581 44.19696211
-53.54838710 3.22580645 45.05782673
-53.54838710 3.54838710 46.16794938
-53.54838710 3.87096774 47.52208653
-53.54838710 4.19354839 49.11561738
-53.54838710 4.51612903 50.94043496
-53.54838710 4.83870968 52.97375509
-53.54838710 5.16129032 55.10984868
-53.54838710 5.48387097 57.03353782
-53.54838710 5.80645161 58.74723142
-53.54838710 6.12903226 60.28074724
-53.54838710 6.45161290 61.63802885
-53.54838710 6.77419355 62.80260996
-53.54838710 7.09677419 63.74506644
-53.54838710 7.41935484 64.43139325
-53.54838710 7.74193548 64.83124074
-53.54838710 8.06451613 64.93106623
-53.54838710 8.38709677 64.93106623
-53.54838710 8.70967742 64.93106623
-53.54838710 9.03225806 64.93106623
-53.54838710 9.35483871 64.93106623
-53.54838710 9.67741935 64.93106623
-53.54838710 10.00000000 64.93106623
-56.12903226 0.00000000 41.56275742
-56.12903226 0.32258065 41.56275742
-56.12903226 0.64516129 41.56275742
-56.12903226 0.96774194 41.56275742
-56.12903226 1.29032258 41.56275742
-56.12903226 1.61290323 41.56275742
-56.12903226 1.93548387 41.56275742
-56.12903226 2.25806452 41.65098310
-56.12903226 2.58064516 42.00739488
-56.12903226 2.90322581 42.63056788
-56.12903226 3.22580645 43.51001484
-56.12903226 3.54838710 44.63446668
-56.12903226 3.87096774 45.99502950
-56.12903226 4.19354839 47.58723244
-56.12903226 4.51612903 49.40932005
-56.12903226 4.83870968 51.45296580
-56.12903226 5.16129032 53.62799552
-56.12903226 5.48387097 55.58793124
-56.12903226 5.80645161 57.32139748
-56.12903226 6.12903226 58.85847793
-56.12903226 6.45161290 60.20693213
-56.12903226 6.77419355 61.35519439
-56.12903226 7.09677419 62.27884289
-56.12903226 7.41935484 62.94847543
-56.12903226 7.74193548 63.33747330
-56.12903226 8.06451613 63.43446352
-56.12903226 8.38709677 63.43446352
-56.12903226 8.70967742 63.43446352
-56.12903226 9.03225806 63.43446352
-56.12903226 9.35483871 63.43446352
-56.12903226 9.67741935 63.43446352
-56.12903226 10.00000000 63.43446352
-58.70967742 0.00000000 39.86708229
-58.70967742 0.32258065 39.86708229
-58.70967742 0.64516129 39.86708229
-58.70967742 0.96774194 39.86708229
-58.70967742 1.29032258 39.86708229
-58.70967742 1.61290323 39.86708229
-58.70967742 1.93548387 39.86708229
-58.70967742 2.25806452 39.95851324
-58.70967742 2.58064516 40.32688461
-58.70967742 2.90322581 40.96728935
-58.70967742 3.22580645 41.86364269
-58.70967742 3.54838710 42.99862876
-58.70967742 3.87096774 44.35883597
-58.70967742 4.19354839 45.93926995
-58.70967742 4.51612903 47.74461410
-58.70967742 4.83870968 49.78326881
-58.70967742 5.16129032 51.98897073
-58.70967742 5.48387097 53.99267848
-58.70967742 5.80645161 55.75955980
-58.70967742 6.12903226 57.31349232
-58.70967742 6.45161290 58.66332782
-58.70967742 6.77419355 59.80184437
-58.70967742 7.09677419 60.71018916
-58.70967742 7.41935484 61.36458028
-58.70967742 7.74193548 61.74313870
-58.70967742 8.06451613 61.83734579
-58.70967742 8.38709677 61.83734579
-58.70967742 8.70967742 61.83734579
-58.70967742 9.03225806 61.83734579
-58.70967742 9.35483871 61.83734579
-58.70967742 9.67741935 61.83734579
-58.70967742 10.00000000 61.83734579
-61.29032258 0.00000000 38.16265421
-61.29032258 0.32258065 38.16265421
-61.29032258 0.64516129 38.16265421
-61.29032258 0.96774194 38.16265421
-61.29032258 1.29032258 38.16265421
-61.29032258 1.61290323 38.16265421
-61.29032258 1.93548387 38.16265421
-61.29032258 2.25806452 38.25686130
-61.29032258 2.58064516 38.63541972
-61.29032258 2.90322581 39.28981084
-61.29032258 3.22580645 40.19815563
-61.29032258 3.54838710 41.33667218
-61.29032258 3.87096774 42.68650768
-61.29032258 4.19354839 44.24044020
-61.29032258 4.51612903 46.00732152
-61.29032258 4.83870968 48.01102927
-61.29032258 5.16129032 50.21673119
-61.29032258 5.48387097 52.25538590
-61.29032258 5.80645161 54.06073005
-61.29032258 6.12903226 55.64116403
-61.29032258 6.45161290 57.00137124
-61.29032258 6.77419355 58.13635731
-61.29032258 7.09677419 59.03271065
-61.29032258 7.41935484 59.67311539
-61.29032258 7.74193548 60.04148676
-61.29032258 8.06451613 60.13291771
-61.29032258 8.38709677 60.13291771
-61.29032258 8.70967742 60.13291771
-61.29032258 9.03225806 60.13291771
-61.29032258 9.35483871 60.13291771
-61.29032258 9.67741935 60.13291771
-61.29032258 10.00000000 60.13291771
-63.87096774 0.00000000 36.56553648
-63.87096774 0.32258065 36.56553648
-63.87096774 0.64516129 36.56553648
-63.87096774 0.96774194 36.56553648
-63.87096774 1.29032258 36.56553648
-63.87096774 1.61290323 36.56553648
-63.87096774 1.93548387 36.56553648
-63.87096774 2.25806452 36.66252670
-63.87096774 2.58064516 37.05152457
-63.87096774 2.90322581 37.72115711
-63.87096774 3.22580645 38.64480561
-63.87096774 3.54838710 39.79306787
-63.87096774 3.87096774 41.14152207
-63.87096774 4.19354839 42.67860252
-63.87096774 4.51612903 44.41206876
-63.87096774 4.83870968 46.37200448
-63.87096774 5.16129032 48.54703420
-63.87096774 5.48387097 50.59067995
-63.87096774 5.80645161 52.41276756
-63.87096774 6.12903226 54.00497050
-63.87096774 6.45161290 55.36553332
-63.87096774 6.77419355 56.48998516
-63.87096774 7.09677419 57.36943212
-63.87096774 7.41935484 57.99260512
-63.87096774 7.74193548 58.34901690
-63.87096774 8.06451613 58.43724258
-63.87096774 8.38709677 58.43724258
-63.87096774 8.70967742 58.43724258
-63.87096774 9.03225806 58.43724258
-63.87096774 9.35483871 58.43724258
-63.87096774 9.67741935 58.43724258
-63.87096774 10.00000000 58.43724258
-66.45161290 0.00000000 35.06893377
-66.45161290 0.32258065 35.06893377
-66.45161290 0.64516129 35.06893377
-66.45161290 0.96774194 35.06893377
-66.45161290 1.29032258 35.06893377
-66.45161290 1.61290323 35.06893377
-66.45161290 1.93548387 35.06893377
-66.45161290 2.25806452 35.16875926
-66.45161290 2.58064516 35.56860675
-66.45161290 2.90322581 36.25493356
-66.45161290 3.22580645 37.19739004
-66.45161290 3.54838710 38.36197115
-66.45161290 3.87096774 39.71925276
-66.45161290 4.19354839 41.25276858
-66.45161290 4.51612903 42.96646218
-66.45161290 4.83870968 44.89015132
-66.45161290 5.16129032 47.02624491
-66.45161290 5.48387097 49.05956504
-66.45161290 5.80645161 50.88438262
-66.45161290 6.12903226 52.47791347
-66.45161290 6.45161290 53.83205062
-66.45161290 6.77419355 54.94217327
-66.45161290 7.09677419 55.80303789
-66.45161290 7.41935484 56.40855085
-66.45161290 7.74193548 56.75306433
-66.45161290 8.06451613 56.83813603
-66.45161290 8.38709677 56.83813603
-66.45161290 8.70967742 56.83813603
-66.45161290 9.03225806 56.83813603
-66.45161290 9.35483871 56.83813603
-66.45161290 9.67741935 56.83813603
-66.45161290 10.00000000 56.83813603
-69.03225806 0.00000000 33.66207871
-69.03225806 0.32258065 33.66207871
-69.03225806 0.64516129 33.66207871
-69.03225806 0.96774194 33.66207871
-69.03225806 1.29032258 33.66207871
-69.03225806 1.61290323 33.66207871
-69.03225806 1.93548387 33.66207871
-69.03225806 2.25806452 33.76473535
-69.03225806 2.58064516 34.17559058
-69.03225806 2.90322581 34.87940333
-69.03225806 3.22580645 35.84285886
-69.03225806 3.54838710 37.02821498
-69.03225806 3.87096774 38.40180120
-69.03225806 4.19354839 39.94255967
-69.03225806 4.51612903 41.64983853
-69.03225806 4.83870968 43.55004532
-69.03225806 5.16129032 45.65241174
-69.03225806 5.48387097 47.67336603
-69.03225806 5.80645161 49.49715979
-69.03225806 6.12903226 51.08925655
-69.03225806 6.45161290 52.43608988
-69.03225806 6.77419355 53.53276153
-69.03225806 7.09677419 54.37701465
-69.03225806 7.41935484 54.96705312
-69.03225806 7.74193548 55.30123970
-69.03225806 8.06451613 55.38358423
-69.03225806 8.38709677 55.38358423
-69.03225806 8.70967742 55.38358423
-69.03225806 9.03225806 55.38358423
-69.03225806 9.35483871 55.38358423
-69.03225806 9.67741935 55.38358423
-69.03225806 10.00000000 55.38358423
-71.61290323 0.00000000 32.34569896
-71.61290323 0.32258065 32.34569896
-71.61290323 0.64516129 32.34569896
-71.61290323 0.96774194 32.34569896
-71.61290323 1.29032258 32.34569896
-71.61290323 1.61290323 32.34569896
-71.61290323 1.93548387 32.34569896
-71.61290323 2.25806452 32.45115492
-71.61290323 2.58064516 32.87294015
-71.61290323 2.90322581 33.59448556
-71.61290323 3.22580645 34.58005519
-71.61290323 3.54838710 35.78885715
-71.61290323 3.87096774 37.18371458
-71.61290323 4.19354839 38.73963726
-71.61290323 4.51612903 40.45162982
-71.61290323 4.83870968 42.34171664
-71.61290323 5.16129032 44.42177339
-71.61290323 5.48387097 46.43593520
-71.61290323 5.80645161 48.26143221
-71.61290323 6.12903226 49.85433674
-71.61290323 6.45161290 51.19672094
-71.61290323 6.77419355 52.28355264
-71.61290323 7.09677419 53.11509304
-71.61290323 7.41935484 53.69309491
-71.61290323 7.74193548 54.01919665
-71.61290323 8.06451613 54.09940139
-71.61290323 8.38709677 54.09940139
-71.61290323 8.70967742 54.09940139
-71.61290323 9.03225806 54.09940139
-71.61290323 9.35483871 54.09940139
-71.61290323 9.67741935 54.09940139
-71.61290323 10.00000000 54.09940139
-74.19354839 0.00000000 31.13028290
-74.19354839 0.32258065 31.13028290
-74.19354839 0.64516129 31.13028290
-74.19354839 0.96774194 31.13028290
-74.19354839 1.29032258 31.13028290
-74.19354839 1.61290323 31.13028290
-74.19354839 1.93548387 31.13028290
-74.19354839 2.25806452 31.23844139
-74.19354839 2.58064516 31.67083705
-74.19354839 2.90322581 32.40981270
-74.19354839 3.22580645 33.41762065
-74.19354839 3.54838710 34.65096000
-74.19354839 3.87096774 36.06980539
-74.19354839 4.19354839 37.64598586
-74.19354839 4.51612903 39.37088558
-74.19354839 4.83870968 41.26241018
-74.19354839 5.16129032 43.33301921
-74.19354839 5.48387097 45.34901424
-74.19354839 5.80645161 47.18186973
-74.19354839 6.12903226 48.78011658
-74.19354839 6.45161290 50.12250467
-74.19354839 6.77419355 51.20411184
-74.19354839 7.09677419 52.02739239
-74.19354839 7.41935484 52.59704973
-74.19354839 7.74193548 52.91739752
-74.19354839 8.06451613 52.99606513
-74.19354839 8.38709677 52.99606513
-74.19354839 8.70967742 52.99606513
-74.19354839 9.03225806 52.99606513
-74.19354839 9.35483871 52.99606513
-74.19354839 9.67741935 52.99606513
-74.19354839 10.00000000 52.99606513
-76.77419355 0.00000000 30.03403844
-76.77419355 0.32258065 30.03403844
-76.77419355 0.64516129 30.03403844
-76.77419355 0.96774194 30.03403844
-76.77419355 1.29032258 30.03403844
-76.77419355 1.61290323 30.03403844
-76.77419355 1.93548387 30.03403844
-76.77419355 2.25806452 30.14473082
-76.77419355 2.58064516 30.58710905
-76.77419355 2.90322581 31.34260926
-76.77419355 3.22580645 32.37179603
-76.77419355 3.54838710 33.62930053
-76.77419355 3.87096774 35.07281797
-76.77419355 4.19354839 36.67171858
-76.77419355 4.51612903 38.41463069
-76.77419355 4.83870968 40.31617816
-76.77419355 5.16129032 42.38867037
-76.77419355 5.48387097 44.41484793
-76.77419355 5.80645161 46.26081490
-76.77419355 6.12903226 47.86900472
-76.77419355 6.45161290 49.21573858
-76.77419355 6.77419355 50.29644558
-76.77419355 7.09677419 51.11552429
-76.77419355 7.41935484 51.68014353
-76.77419355 7.74193548 51.99680388
-76.77419355 8.06451613 52.07446638
-76.77419355 8.38709677 52.07446638
-76.77419355 8.70967742 52.07446638
-76.77419355 9.03225806 52.07446638
-76.77419355 9.35483871 52.07446638
-76.77419355 9.67741935 52.07446638
-76.77419355 10.00000000 52.07446638
-79.35483871 0.00000000 29.08044448
-79.35483871 0.32258065 29.08044448
-79.35483871 0.64516129 29.08044448
-79.35483871 0.96774194 29.08044448
-79.35483871 1.29032258 29.08044448
-79.35483871 1.61290323 29.08044448
-79.35483871 1.93548387 29.08044448
-79.35483871 2.25806452 29.19341503
-79.35483871 2.58064516 29.64478759
-79.35483871 2.90322581 30.41524617
-79.35483871 3.22580645 31.46395299
-79.35483871 3.54838710 32.74385629
-79.35483871 3.87096774 34.21086664
-79.35483871 4.19354839 35.83253483
-79.35483871 4.51612903 37.59555433
-79.35483871 4.83870968 39.51224549
-79.35483871 5.16129032 41.59470153
-79.35483871 5.48387097 43.63697016
-79.35483871 5.80645161 45.49996876
-79.35483871 6.12903226 47.12124022
-79.35483871 6.45161290 48.47541169
-79.35483871 6.77419355 49.55843823
-79.35483871 7.09677419 50.37642610
-79.35483871 7.41935484 50.93858374
-79.35483871 7.74193548 51.25318028
-79.35483871 8.06451613 51.33025698
-79.35483871 8.38709677 51.33025698
-79.35483871 8.70967742 51.33025698
-79.35483871 9.03225806 51.33025698
-79.35483871 9.35483871 51.33025698
-79.35483871 9.67741935 51.33025698
-79.35483871 10.00000000 51.33025698
-81.93548387 0.00000000 28.29538700
-81.93548387 0.32258065 28.29538700
-81.93548387 0.64516129 28.29538700
-81.93548387 0.96774194 28.29538700
-81.93548387 1.29032258 28.29538700
-81.93548387 1.61290323 28.29538700
-81.93548387 1.93548387 28.29538700
-81.93548387 2.25806452 28.41028455
-81.93548387 2.58064516 28.86927041
-81.93548387 2.90322581 29.65243953
-81.93548387 3.22580645 30.71781642
-81.93548387 3.54838710 32.01703240
-81.93548387 3.87096774 33.50465222
-81.93548387 4.19354839 35.14694643
-81.93548387 4.51612903 36.92935764
-81.93548387 4.83870968 38.86277312
-81.93548387 5.16129032 40.95922876
-81.93548387 5.48387097 43.01992647
-81.93548387 5.80645161 44.90101116
-81.93548387 6.12903226 46.53623555
-81.93548387 6.45161290 47.89911456
-81.93548387 6.77419355 48.98620009
-81.93548387 7.09677419 49.80503500
-81.93548387 7.41935484 50.36645607
-81.93548387 7.74193548 50.68011518
-81.93548387 8.06451613 50.75690105
-81.93548387 8.38709677 50.75690105
-81.93548387 8.70967742 50.75690105
-81.93548387 9.03225806 50.75690105
-81.93548387 9.35483871 50.75690105
-81.93548387 9.67741935 50.75690105
-81.93548387 10.00000000 50.75690105
-84.51612903 0.00000000 27.70400708
-84.51612903 0.32258065 27.70400708
-84.51612903 0.64516129 27.70400708
-84.51612903 0.96774194 27.70400708
-84.51612903 1.29032258 27.70400708
-84.51612903 1.61290323 27.70400708
-84.51612903 1.93548387 27.70400708
-84.51612903 2.25806452 27.82038678
-84.51612903 2.58064516 28.28524058
-84.51612903 2.90322581 29.07819814
-84.51612903 3.22580645 30.15647910
-84.51612903 3.54838710 31.47072925
-84.51612903 3.87096774 32.97457239
-84.51612903 4.19354839 34.63344012
-84.51612903 4.51612903 36.43203948
-84.51612903 4.83870968 38.38047572
-84.51612903 5.16129032 40.49087046
-84.51612903 5.48387097 42.56852096
-84.51612903 5.80645161 44.46563907
-84.51612903 6.12903226 46.11324911
-84.51612903 6.45161290 47.48419380
-84.51612903 6.77419355 48.57557521
-84.51612903 7.09677419 49.39604331
-84.51612903 7.41935484 49.95763951
-84.51612903 7.74193548 50.27102141
-84.51612903 8.06451613 50.34769576
-84.51612903 8.38709677 50.34769576
-84.51612903 8.70967742 50.34769576
-84.51612903 9.03225806 50.34769576
-84.51612903 9.35483871 50.34769576
-84.51612903 9.67741935 50.34769576
-84.51612903 10.00000000 50.34769576
-87.09677419 0.00000000 27.32753868
-87.09677419 0.32258065 27.32753868
-87.09677419 0.64516129 27.32753868
-87.09677419 0.96774194 27.32753868
-87.09677419 1.29032258 27.32753868
-87.09677419 1.61290323 27.32753868
-87.09677419 1.93548387 27.32753868
-87.09677419 2.25806452 27.44487552
-87.09677419 2.58064516 27.91351918
-87.09677419 2.90322581 28.71281814
-87.09677419 3.22580645 29.79945105
-87.09677419 3.54838710 31.12347805
-87.09677419 3.87096774 32.63794195
-87.09677419 4.19354839 34.30780680
-87.09677419 4.51612903 36.11738582
-87.09677419 4.83870968 38.07643021
-87.09677419 5.16129032 40.19718575
-87.09677419 5.48387097 42.28697861
-87.09677419 5.80645161 44.19535993
-87.09677419 6.12903226 45.85167215
-87.09677419 6.45161290 47.22840378
-87.09677419 6.77419355 48.32305272
-87.09677419 7.09677419 49.14498635
-87.09677419 7.41935484 49.70700518
-87.09677419 7.74193548 50.02039298
-87.09677419 8.06451613 50.09704202
-87.09677419 8.38709677 50.09704202
-87.09677419 8.70967742 50.09704202
-87.09677419 9.03225806 50.09704202
-87.09677419 9.35483871 50.09704202
-87.09677419 9.67741935 50.09704202
-87.09677419 10.00000000 50.09704202
-89.67741935 0.00000000 27.18053151
-89.67741935 0.32258065 27.18053151
-89.67741935 0.64516129 27.18053151
-89.67741935 0.96774194 27.18053151
-89.67741935 1.29032258 27.18053151
-89.67741935 1.61290323 27.18053151
-89.67741935 1.93548387 27.18053151
-89.67741935 2.25806452 27.29824496
-89.67741935 2.58064516 27.76837995
-89.67741935 2.90322581 28.57017467
-89.67741935 3.22580645 29.66010334
-89.67741935 3.54838710 30.98799391
-89.67741935 3.87096774 32.50667083
-89.67741935 4.19354839 34.18091007
-89.67741935 4.51612903 35.99491498
-89.67741935 4.83870968 37.95831767
-89.67741935 5.16129032 40.08342816
-89.67741935 5.48387097 42.17824316
-89.67741935 5.80645161 44.09124153
-89.67741935 6.12903226 45.75112057
-89.67741935 6.45161290 47.13024605
-89.67741935 6.77419355 48.22628008
-89.67741935 7.09677419 49.04887301
-89.67741935 7.41935484 49.61112035
-89.67741935 7.74193548 49.92454762
-89.67741935 8.06451613 50.00119608
-89.67741935 8.38709677 50.00119608
-89.67741935 8.70967742 50.00119608
-89.67741935 9.03225806 50.00119608
-89.67741935 9.35483871 50.00119608
-89.67741935 9.67741935 50.00119608
-89.67741935 10.00000000 50.00119608
-92.25806452 0.00000000 27.17868597
-92.25806452 0.32258065 27.17868597
-92.25806452 0.64516129 27.17868597
-92.25806452 0.96774194 27.17868597
-92.25806452 1.29032258 27.17868597
-92.25806452 1.61290323 27.17868597
-92.25806452 1.93548387 27.17868597
-92.25806452 2.25806452 27.29640417
-92.25806452 2.58064516 27.76655792
-92.25806452 2.90322581 28.56838404
-92.25806452 3.22580645 29.65835418
-92.25806452 3.54838710 30.98629338
-92.25806452 3.87096774 32.50502336
-92.25806452 4.19354839 34.17931792
-92.25806452 4.51612903 35.99337888
-92.25806452 4.83870968 37.95683706
-92.25806452 5.16129032 40.08200332
-92.25806452 5.48387097 42.17688236
-92.25806452 5.80645161 44.08993946
-92.25806452 6.12903226 45.74986387
-92.25806452 6.45161290 47.12901987
-92.25806452 6.77419355 48.22507168
-92.25806452 7.09677419 49.04767319
-92.25806452 7.41935484 49.60992362
-92.25806452 7.74193548 49.92335151
-92.25806452 8.06451613 50.00000000
-92.25806452 8.38709677 50.00000000
-92.25806452 8.70967742 50.00000000
-92.25806452 9.03225806 50.00000000
-92.25806452 9.35483871 50.00000000
-92.25806452 9.67741935 50.00000000
-92.25806452 10.00000000 50.00000000
-94.83870968 0.00000000 27.17868597
-94.83870968 0.32258065 27.17868597
-94.83870968 0.64516129 27.17868597
-94.83870968 0.96774194 27.17868597
-94.83870968 1.29032258 27.17868597
-94.83870968 1.61290323 27.17868597
-94.83870968 1.93548387 27.17868597
-94.83870968 2.25806452 27.29640417
-94.83870968 2.58064516 27.76655792
-94.83870968 2.90322581 28.56838404
-94.83870968 3.22580645 29.65835418
-94.83870968 3.54838710 30.98629338
-94.83870968 3.87096774 32.50502336
-94.83870968 4.19354839 34.17931792
-94.83870968 4.51612903 35.99337888
-94.83870968 4.83870968 37.95683706
-94.83870968 5.16129032 40.08200332
-94.83870968 5.48387097 42.17688236
-94.83870968 5.80645161 44.08993946
-94.83870968 6.12903226 45.74986387
-94.83870968 6.45161290 47.12901987
-94.83870968 6.77419355 48.22507168
-94.83870968 7.09677419 49.04767319
-94.83870968 7.41935484 49.60992362
-94.83870968 7.74193548 49.92335151
-94.83870968 8.06451613 50.00000000
-94.83870968 8.38709677 50.00000000
-94.83870968 8.70967742 50.00000000
-94.83870968 9.03225806 50.00000000
-94.83870968 9.35483871 50.00000000
-94.83870968 9.67741935 50.00000000
-94.83870968 10.00000000 50.00000000
-97.41935484 0.00000000 27.17868597
-97.41935484 0.32258065 27.17868597
-97.41935484 0.64516129 27.17868597
-97.41935484 0.96774194 27.17868597
-97.41935484 1.29032258 27.17868597
-97.41935484 1.61290323 27.17868597
-97.41935484 1.93548387 27.17868597
-97.41935484 2.25806452 27.29640417
-97.41935484 2.58064516 27.76655792
-97.41935484 2.90322581 28.56838404
-97.41935484 3.22580645 29.65835418
-97.41935484 3.54838710 30.98629338
-97.41935484 3.87096774 32.50502336
-97.41935484 4.19354839 34.17931792
-97.41935484 4.51612903 35.99337888
-97.41935484 4.83870968 37.95683706
-97.41935484 5.16129032 40.08200332
-97.41935484 5.48387097 42.17688236
-97.41935484 5.80645161 44.08993946
-97.41935484 6.12903226 45.74986387
-97.41935484 6.45161290 47.12901987
-97.41935484 6.77419355 48.22507168
-97.41935484 7.09677419 49.04767319
-97.41935484 7.41935484 49.60992362
-97.41935484 7.74193548 49.92335151
-97.41935484 8.06451613 50.00000000
-97.41935484 8.38709677 50.00000000
-97.41935484 8.70967742 50.00000000
-97.41935484 9.03225806 50.00000000
-97.41935484 9.35483871 50.00000000
-97.41935484 9.67741935 50.00000000
-97.41935484 10.00000000 50.00000000
-100.00000000 0.00000000 27.17868597
-100.00000000 0.32258065 27.17868597
-100.00000000 0.64516129 27.17868597
-100.00000000 0.96774194 27.17868597
-100.00000000 1.29032258 27.17868597
-100.00000000 1.61290323 27.17868597
-100.00000000 1.93548387 27.17868597
-100.00000000 2.25806452 27.29640417
-100.00000000 2.58064516 27.76655792
-100.00000000 2.90322581 28.56838404
-100.00000000 3.22580645 29.65835418
-100.00000000 3.54838710 30.98629338
-100.00000000 3.87096774 32.50502336
-100.00000000 4.19354839 34.17931792
-100.00000000 4.51612903 35.99337888
-100.00000000 4.83870968 37.95683706
-100.00000000 5.16129032 40.08200332
-100.00000000 5.48387097 42.17688236
-100.00000000 5.80645161 44.08993946
-100.00000000 6.12903226 45.74986387
-100.00000000 6.45161290 47.12901987
-100.00000000 6.77419355 48.22507168
-100.00000000 7.09677419 49.04767319
-100.00000000 7.41935484 49.60992362
-100.00000000 7.74193548 49.92335151
-100.00000000 8.06451613 50.00000000
-100.00000000 8.38709677 50.00000000
-100.00000000 8.70967742 50.00000000
-100.00000000 9.03225806 50.00000000
-100.00000000 9.35483871 50.00000000
-100.00000000 9.67741935 50.00000000
-100.00000000 10.00000000 50.00000000
+Age RiskTolerance PercentageInStocks
+20.000000000 0.000000000 50.000000000
+20.000000000 0.322580645 50.000000000
+20.000000000 0.645161290 50.000000000
+20.000000000 0.967741935 50.000000000
+20.000000000 1.290322581 50.000000000
+20.000000000 1.612903226 50.000000000
+20.000000000 1.935483871 50.000000000
+20.000000000 2.258064516 50.076648486
+20.000000000 2.580645161 50.390076379
+20.000000000 2.903225806 50.952326813
+20.000000000 3.225806452 51.774928323
+20.000000000 3.548387097 52.870980129
+20.000000000 3.870967742 54.250136129
+20.000000000 4.193548387 55.910060541
+20.000000000 4.516129032 57.823117640
+20.000000000 4.838709677 59.917996684
+20.000000000 5.161290323 62.043162940
+20.000000000 5.483870968 64.006621117
+20.000000000 5.806451613 65.820682078
+20.000000000 6.129032258 67.494976640
+20.000000000 6.451612903 69.013706618
+20.000000000 6.774193548 70.341645817
+20.000000000 7.096774194 71.431615962
+20.000000000 7.419354839 72.233442079
+20.000000000 7.741935484 72.703595829
+20.000000000 8.064516129 72.821314025
+20.000000000 8.387096774 72.821314025
+20.000000000 8.709677419 72.821314025
+20.000000000 9.032258065 72.821314025
+20.000000000 9.354838710 72.821314025
+20.000000000 9.677419355 72.821314025
+20.000000000 10.000000000 72.821314025
+22.580645161 0.000000000 50.000000000
+22.580645161 0.322580645 50.000000000
+22.580645161 0.645161290 50.000000000
+22.580645161 0.967741935 50.000000000
+22.580645161 1.290322581 50.000000000
+22.580645161 1.612903226 50.000000000
+22.580645161 1.935483871 50.000000000
+22.580645161 2.258064516 50.076648486
+22.580645161 2.580645161 50.390076379
+22.580645161 2.903225806 50.952326813
+22.580645161 3.225806452 51.774928323
+22.580645161 3.548387097 52.870980129
+22.580645161 3.870967742 54.250136129
+22.580645161 4.193548387 55.910060541
+22.580645161 4.516129032 57.823117640
+22.580645161 4.838709677 59.917996684
+22.580645161 5.161290323 62.043162940
+22.580645161 5.483870968 64.006621117
+22.580645161 5.806451613 65.820682078
+22.580645161 6.129032258 67.494976640
+22.580645161 6.451612903 69.013706618
+22.580645161 6.774193548 70.341645817
+22.580645161 7.096774194 71.431615962
+22.580645161 7.419354839 72.233442079
+22.580645161 7.741935484 72.703595829
+22.580645161 8.064516129 72.821314025
+22.580645161 8.387096774 72.821314025
+22.580645161 8.709677419 72.821314025
+22.580645161 9.032258065 72.821314025
+22.580645161 9.354838710 72.821314025
+22.580645161 9.677419355 72.821314025
+22.580645161 10.000000000 72.821314025
+25.161290323 0.000000000 50.000000000
+25.161290323 0.322580645 50.000000000
+25.161290323 0.645161290 50.000000000
+25.161290323 0.967741935 50.000000000
+25.161290323 1.290322581 50.000000000
+25.161290323 1.612903226 50.000000000
+25.161290323 1.935483871 50.000000000
+25.161290323 2.258064516 50.076648486
+25.161290323 2.580645161 50.390076379
+25.161290323 2.903225806 50.952326813
+25.161290323 3.225806452 51.774928323
+25.161290323 3.548387097 52.870980129
+25.161290323 3.870967742 54.250136129
+25.161290323 4.193548387 55.910060541
+25.161290323 4.516129032 57.823117640
+25.161290323 4.838709677 59.917996684
+25.161290323 5.161290323 62.043162940
+25.161290323 5.483870968 64.006621117
+25.161290323 5.806451613 65.820682078
+25.161290323 6.129032258 67.494976640
+25.161290323 6.451612903 69.013706618
+25.161290323 6.774193548 70.341645817
+25.161290323 7.096774194 71.431615962
+25.161290323 7.419354839 72.233442079
+25.161290323 7.741935484 72.703595829
+25.161290323 8.064516129 72.821314025
+25.161290323 8.387096774 72.821314025
+25.161290323 8.709677419 72.821314025
+25.161290323 9.032258065 72.821314025
+25.161290323 9.354838710 72.821314025
+25.161290323 9.677419355 72.821314025
+25.161290323 10.000000000 72.821314025
+27.741935484 0.000000000 50.000000000
+27.741935484 0.322580645 50.000000000
+27.741935484 0.645161290 50.000000000
+27.741935484 0.967741935 50.000000000
+27.741935484 1.290322581 50.000000000
+27.741935484 1.612903226 50.000000000
+27.741935484 1.935483871 50.000000000
+27.741935484 2.258064516 50.076648486
+27.741935484 2.580645161 50.390076379
+27.741935484 2.903225806 50.952326813
+27.741935484 3.225806452 51.774928323
+27.741935484 3.548387097 52.870980129
+27.741935484 3.870967742 54.250136129
+27.741935484 4.193548387 55.910060541
+27.741935484 4.516129032 57.823117640
+27.741935484 4.838709677 59.917996684
+27.741935484 5.161290323 62.043162940
+27.741935484 5.483870968 64.006621117
+27.741935484 5.806451613 65.820682078
+27.741935484 6.129032258 67.494976640
+27.741935484 6.451612903 69.013706618
+27.741935484 6.774193548 70.341645817
+27.741935484 7.096774194 71.431615962
+27.741935484 7.419354839 72.233442079
+27.741935484 7.741935484 72.703595829
+27.741935484 8.064516129 72.821314025
+27.741935484 8.387096774 72.821314025
+27.741935484 8.709677419 72.821314025
+27.741935484 9.032258065 72.821314025
+27.741935484 9.354838710 72.821314025
+27.741935484 9.677419355 72.821314025
+27.741935484 10.000000000 72.821314025
+30.322580645 0.000000000 49.998803919
+30.322580645 0.322580645 49.998803919
+30.322580645 0.645161290 49.998803919
+30.322580645 0.967741935 49.998803919
+30.322580645 1.290322581 49.998803919
+30.322580645 1.612903226 49.998803919
+30.322580645 1.935483871 49.998803919
+30.322580645 2.258064516 50.075452379
+30.322580645 2.580645161 50.388879647
+30.322580645 2.903225806 50.951126990
+30.322580645 3.225806452 51.773719919
+30.322580645 3.548387097 52.869753955
+30.322580645 3.870967742 54.248879432
+30.322580645 4.193548387 55.908758472
+30.322580645 4.516129032 57.821756837
+30.322580645 4.838709677 59.916571839
+30.322580645 5.161290323 62.041682326
+30.322580645 5.483870968 64.005085024
+30.322580645 5.806451613 65.819089933
+30.322580645 6.129032258 67.493329173
+30.322580645 6.451612903 69.012006089
+30.322580645 6.774193548 70.339896659
+30.322580645 7.096774194 71.429825333
+30.322580645 7.419354839 72.231620048
+30.322580645 7.741935484 72.701755036
+30.322580645 8.064516129 72.819468494
+30.322580645 8.387096774 72.819468494
+30.322580645 8.709677419 72.819468494
+30.322580645 9.032258065 72.819468494
+30.322580645 9.354838710 72.819468494
+30.322580645 9.677419355 72.819468494
+30.322580645 10.000000000 72.819468494
+32.903225806 0.000000000 49.902957979
+32.903225806 0.322580645 49.902957979
+32.903225806 0.645161290 49.902957979
+32.903225806 0.967741935 49.902957979
+32.903225806 1.290322581 49.902957979
+32.903225806 1.612903226 49.902957979
+32.903225806 1.935483871 49.902957979
+32.903225806 2.258064516 49.979607017
+32.903225806 2.580645161 50.292994821
+32.903225806 2.903225806 50.855013655
+32.903225806 3.225806452 51.676947279
+32.903225806 3.548387097 52.771596216
+32.903225806 3.870967742 54.148327846
+32.903225806 4.193548387 55.804640065
+32.903225806 4.516129032 57.713021387
+32.903225806 4.838709677 59.802814253
+32.903225806 5.161290323 61.923569792
+32.903225806 5.483870968 63.882614176
+32.903225806 5.806451613 65.692193202
+32.903225806 6.129032258 67.362058048
+32.903225806 6.451612903 68.876521949
+32.903225806 6.774193548 70.200548955
+32.903225806 7.096774194 71.287181858
+32.903225806 7.419354839 72.086480819
+32.903225806 7.741935484 72.555124481
+32.903225806 8.064516129 72.672461319
+32.903225806 8.387096774 72.672461319
+32.903225806 8.709677419 72.672461319
+32.903225806 9.032258065 72.672461319
+32.903225806 9.354838710 72.672461319
+32.903225806 9.677419355 72.672461319
+32.903225806 10.000000000 72.672461319
+35.483870968 0.000000000 49.652304243
+35.483870968 0.322580645 49.652304243
+35.483870968 0.645161290 49.652304243
+35.483870968 0.967741935 49.652304243
+35.483870968 1.290322581 49.652304243
+35.483870968 1.612903226 49.652304243
+35.483870968 1.935483871 49.652304243
+35.483870968 2.258064516 49.728978589
+35.483870968 2.580645161 50.042360495
+35.483870968 2.903225806 50.603956690
+35.483870968 3.225806452 51.424424786
+35.483870968 3.548387097 52.515806201
+35.483870968 3.870967742 53.886750889
+35.483870968 4.193548387 55.534360928
+35.483870968 4.516129032 57.431479038
+35.483870968 4.838709677 59.509129544
+35.483870968 5.161290323 61.619524277
+35.483870968 5.483870968 63.567960518
+35.483870968 5.806451613 65.366559879
+35.483870968 6.129032258 67.025427611
+35.483870968 6.451612903 68.529270750
+35.483870968 6.774193548 69.843520900
+35.483870968 7.096774194 70.921801863
+35.483870968 7.419354839 71.714759421
+35.483870968 7.741935484 72.179613221
+35.483870968 8.064516129 72.295992918
+35.483870968 8.387096774 72.295992918
+35.483870968 8.709677419 72.295992918
+35.483870968 9.032258065 72.295992918
+35.483870968 9.354838710 72.295992918
+35.483870968 9.677419355 72.295992918
+35.483870968 10.000000000 72.295992918
+38.064516129 0.000000000 49.243098952
+38.064516129 0.322580645 49.243098952
+38.064516129 0.645161290 49.243098952
+38.064516129 0.967741935 49.243098952
+38.064516129 1.290322581 49.243098952
+38.064516129 1.612903226 49.243098952
+38.064516129 1.935483871 49.243098952
+38.064516129 2.258064516 49.319884816
+38.064516129 2.580645161 49.633543934
+38.064516129 2.903225806 50.194964997
+38.064516129 3.225806452 51.013799907
+38.064516129 3.548387097 52.100885441
+38.064516129 3.870967742 53.463764454
+38.064516129 4.193548387 55.098988836
+38.064516129 4.516129032 56.980073530
+38.064516129 4.838709677 59.040771242
+38.064516129 5.161290323 61.137226881
+38.064516129 5.483870968 63.070642355
+38.064516129 5.806451613 64.853053568
+38.064516129 6.129032258 66.495347777
+38.064516129 6.451612903 67.982967596
+38.064516129 6.774193548 69.282183577
+38.064516129 7.096774194 70.347560475
+38.064516129 7.419354839 71.130729588
+38.064516129 7.741935484 71.589715449
+38.064516129 8.064516129 71.704613000
+38.064516129 8.387096774 71.704613000
+38.064516129 8.709677419 71.704613000
+38.064516129 9.032258065 71.704613000
+38.064516129 9.354838710 71.704613000
+38.064516129 9.677419355 71.704613000
+38.064516129 10.000000000 71.704613000
+40.645161290 0.000000000 48.669743020
+40.645161290 0.322580645 48.669743020
+40.645161290 0.645161290 48.669743020
+40.645161290 0.967741935 48.669743020
+40.645161290 1.290322581 48.669743020
+40.645161290 1.612903226 48.669743020
+40.645161290 1.935483871 48.669743020
+40.645161290 2.258064516 48.746819724
+40.645161290 2.580645161 49.061416258
+40.645161290 2.903225806 49.623573900
+40.645161290 3.225806452 50.441561774
+40.645161290 3.548387097 51.524588313
+40.645161290 3.870967742 52.878759776
+40.645161290 4.193548387 54.500031239
+40.645161290 4.516129032 56.363029835
+40.645161290 4.838709677 58.405298469
+40.645161290 5.161290323 60.487754513
+40.645161290 5.483870968 62.404445671
+40.645161290 5.806451613 64.167465175
+40.645161290 6.129032258 65.789133360
+40.645161290 6.451612903 67.256143706
+40.645161290 6.774193548 68.536047010
+40.645161290 7.096774194 69.584753827
+40.645161290 7.419354839 70.355212405
+40.645161290 7.741935484 70.806584970
+40.645161290 8.064516129 70.919555525
+40.645161290 8.387096774 70.919555525
+40.645161290 8.709677419 70.919555525
+40.645161290 9.032258065 70.919555525
+40.645161290 9.354838710 70.919555525
+40.645161290 9.677419355 70.919555525
+40.645161290 10.000000000 70.919555525
+43.225806452 0.000000000 47.925533624
+43.225806452 0.322580645 47.925533624
+43.225806452 0.645161290 47.925533624
+43.225806452 0.967741935 47.925533624
+43.225806452 1.290322581 47.925533624
+43.225806452 1.612903226 47.925533624
+43.225806452 1.935483871 47.925533624
+43.225806452 2.258064516 48.003196119
+43.225806452 2.580645161 48.319856471
+43.225806452 2.903225806 48.884475705
+43.225806452 3.225806452 49.703554418
+43.225806452 3.548387097 50.784261421
+43.225806452 3.870967742 52.130995284
+43.225806452 4.193548387 53.739185104
+43.225806452 4.516129032 55.585152066
+43.225806452 4.838709677 57.611329633
+43.225806452 5.161290323 59.683821844
+43.225806452 5.483870968 61.585369310
+43.225806452 5.806451613 63.328281417
+43.225806452 6.129032258 64.927182028
+43.225806452 6.451612903 66.370699474
+43.225806452 6.774193548 67.628203974
+43.225806452 7.096774194 68.657390741
+43.225806452 7.419354839 69.412890949
+43.225806452 7.741935484 69.855269182
+43.225806452 8.064516129 69.965961562
+43.225806452 8.387096774 69.965961562
+43.225806452 8.709677419 69.965961562
+43.225806452 9.032258065 69.965961562
+43.225806452 9.354838710 69.965961562
+43.225806452 9.677419355 69.965961562
+43.225806452 10.000000000 69.965961562
+45.806451613 0.000000000 47.003934865
+45.806451613 0.322580645 47.003934865
+45.806451613 0.645161290 47.003934865
+45.806451613 0.967741935 47.003934865
+45.806451613 1.290322581 47.003934865
+45.806451613 1.612903226 47.003934865
+45.806451613 1.935483871 47.003934865
+45.806451613 2.258064516 47.082602480
+45.806451613 2.580645161 47.402950274
+45.806451613 2.903225806 47.972607613
+45.806451613 3.225806452 48.795888161
+45.806451613 3.548387097 49.877495327
+45.806451613 3.870967742 51.219883421
+45.806451613 4.193548387 52.818130271
+45.806451613 4.516129032 54.650985755
+45.806451613 4.838709677 56.666980792
+45.806451613 5.161290323 58.737589822
+45.806451613 5.483870968 60.629114424
+45.806451613 5.806451613 62.354014142
+45.806451613 6.129032258 63.930194608
+45.806451613 6.451612903 65.349040002
+45.806451613 6.774193548 66.582379353
+45.806451613 7.096774194 67.590187304
+45.806451613 7.419354839 68.329162947
+45.806451613 7.741935484 68.761558609
+45.806451613 8.064516129 68.869717097
+45.806451613 8.387096774 68.869717097
+45.806451613 8.709677419 68.869717097
+45.806451613 9.032258065 68.869717097
+45.806451613 9.354838710 68.869717097
+45.806451613 9.677419355 68.869717097
+45.806451613 10.000000000 68.869717097
+48.387096774 0.000000000 45.900598613
+48.387096774 0.322580645 45.900598613
+48.387096774 0.645161290 45.900598613
+48.387096774 0.967741935 45.900598613
+48.387096774 1.290322581 45.900598613
+48.387096774 1.612903226 45.900598613
+48.387096774 1.935483871 45.900598613
+48.387096774 2.258064516 45.980803355
+48.387096774 2.580645161 46.306905089
+48.387096774 2.903225806 46.884906961
+48.387096774 3.225806452 47.716447362
+48.387096774 3.548387097 48.803279055
+48.387096774 3.870967742 50.145663256
+48.387096774 4.193548387 51.738567788
+48.387096774 4.516129032 53.564064802
+48.387096774 4.838709677 55.578226605
+48.387096774 5.161290323 57.658283364
+48.387096774 5.483870968 59.548370180
+48.387096774 5.806451613 61.260362735
+48.387096774 6.129032258 62.816285423
+48.387096774 6.451612903 64.211142848
+48.387096774 6.774193548 65.419944811
+48.387096774 7.096774194 66.405514442
+48.387096774 7.419354839 67.127059853
+48.387096774 7.741935484 67.548845082
+48.387096774 8.064516129 67.654301037
+48.387096774 8.387096774 67.654301037
+48.387096774 8.709677419 67.654301037
+48.387096774 9.032258065 67.654301037
+48.387096774 9.354838710 67.654301037
+48.387096774 9.677419355 67.654301037
+48.387096774 10.000000000 67.654301037
+50.967741935 0.000000000 44.616415770
+50.967741935 0.322580645 44.616415770
+50.967741935 0.645161290 44.616415770
+50.967741935 0.967741935 44.616415770
+50.967741935 1.290322581 44.616415770
+50.967741935 1.612903226 44.616415770
+50.967741935 1.935483871 44.616415770
+50.967741935 2.258064516 44.698760304
+50.967741935 2.580645161 45.032946883
+50.967741935 2.903225806 45.622985345
+50.967741935 3.225806452 46.467238467
+50.967741935 3.548387097 47.563910116
+50.967741935 3.870967742 48.910743445
+50.967741935 4.193548387 50.502840212
+50.967741935 4.516129032 52.326633965
+50.967741935 4.838709677 54.347588260
+50.967741935 5.161290323 56.449954685
+50.967741935 5.483870968 58.350161475
+50.967741935 5.806451613 60.057440330
+50.967741935 6.129032258 61.598198804
+50.967741935 6.451612903 62.971785017
+50.967741935 6.774193548 64.157141145
+50.967741935 7.096774194 65.120596669
+50.967741935 7.419354839 65.824409419
+50.967741935 7.741935484 66.235264649
+50.967741935 8.064516129 66.337921286
+50.967741935 8.387096774 66.337921286
+50.967741935 8.709677419 66.337921286
+50.967741935 9.032258065 66.337921286
+50.967741935 9.354838710 66.337921286
+50.967741935 9.677419355 66.337921286
+50.967741935 10.000000000 66.337921286
+53.548387097 0.000000000 43.161863967
+53.548387097 0.322580645 43.161863967
+53.548387097 0.645161290 43.161863967
+53.548387097 0.967741935 43.161863967
+53.548387097 1.290322581 43.161863967
+53.548387097 1.612903226 43.161863967
+53.548387097 1.935483871 43.161863967
+53.548387097 2.258064516 43.246935669
+53.548387097 2.580645161 43.591449152
+53.548387097 2.903225806 44.196962107
+53.548387097 3.225806452 45.057826729
+53.548387097 3.548387097 46.167949378
+53.548387097 3.870967742 47.522086534
+53.548387097 4.193548387 49.115617384
+53.548387097 4.516129032 50.940434962
+53.548387097 4.838709677 52.973755088
+53.548387097 5.161290323 55.109848682
+53.548387097 5.483870968 57.033537819
+53.548387097 5.806451613 58.747231415
+53.548387097 6.129032258 60.280747236
+53.548387097 6.451612903 61.638028848
+53.548387097 6.774193548 62.802609961
+53.548387097 7.096774194 63.745066439
+53.548387097 7.419354839 64.431393253
+53.548387097 7.741935484 64.831240735
+53.548387097 8.064516129 64.931066230
+53.548387097 8.387096774 64.931066230
+53.548387097 8.709677419 64.931066230
+53.548387097 9.032258065 64.931066230
+53.548387097 9.354838710 64.931066230
+53.548387097 9.677419355 64.931066230
+53.548387097 10.000000000 64.931066230
+56.129032258 0.000000000 41.562757424
+56.129032258 0.322580645 41.562757424
+56.129032258 0.645161290 41.562757424
+56.129032258 0.967741935 41.562757424
+56.129032258 1.290322581 41.562757424
+56.129032258 1.612903226 41.562757424
+56.129032258 1.935483871 41.562757424
+56.129032258 2.258064516 41.650983104
+56.129032258 2.580645161 42.007394877
+56.129032258 2.903225806 42.630567878
+56.129032258 3.225806452 43.510014838
+56.129032258 3.548387097 44.634466681
+56.129032258 3.870967742 45.995029495
+56.129032258 4.193548387 47.587232438
+56.129032258 4.516129032 49.409320054
+56.129032258 4.838709677 51.452965804
+56.129032258 5.161290323 53.627995525
+56.129032258 5.483870968 55.587931245
+56.129032258 5.806451613 57.321397482
+56.129032258 6.129032258 58.858477926
+56.129032258 6.451612903 60.206932126
+56.129032258 6.774193548 61.355194390
+56.129032258 7.096774194 62.278842892
+56.129032258 7.419354839 62.948475434
+56.129032258 7.741935484 63.337473295
+56.129032258 8.064516129 63.434463522
+56.129032258 8.387096774 63.434463522
+56.129032258 8.709677419 63.434463522
+56.129032258 9.032258065 63.434463522
+56.129032258 9.354838710 63.434463522
+56.129032258 9.677419355 63.434463522
+56.129032258 10.000000000 63.434463522
+58.709677419 0.000000000 39.867082291
+58.709677419 0.322580645 39.867082291
+58.709677419 0.645161290 39.867082291
+58.709677419 0.967741935 39.867082291
+58.709677419 1.290322581 39.867082291
+58.709677419 1.612903226 39.867082291
+58.709677419 1.935483871 39.867082291
+58.709677419 2.258064516 39.958513244
+58.709677419 2.580645161 40.326884614
+58.709677419 2.903225806 40.967289350
+58.709677419 3.225806452 41.863642692
+58.709677419 3.548387097 42.998628756
+58.709677419 3.870967742 44.358835965
+58.709677419 4.193548387 45.939269950
+58.709677419 4.516129032 47.744614100
+58.709677419 4.838709677 49.783268810
+58.709677419 5.161290323 51.988970730
+58.709677419 5.483870968 53.992678480
+58.709677419 5.806451613 55.759559804
+58.709677419 6.129032258 57.313492323
+58.709677419 6.451612903 58.663327822
+58.709677419 6.774193548 59.801844372
+58.709677419 7.096774194 60.710189164
+58.709677419 7.419354839 61.364580282
+58.709677419 7.741935484 61.743138699
+58.709677419 8.064516129 61.837345788
+58.709677419 8.387096774 61.837345788
+58.709677419 8.709677419 61.837345788
+58.709677419 9.032258065 61.837345788
+58.709677419 9.354838710 61.837345788
+58.709677419 9.677419355 61.837345788
+58.709677419 10.000000000 61.837345788
+61.290322581 0.000000000 38.162654212
+61.290322581 0.322580645 38.162654212
+61.290322581 0.645161290 38.162654212
+61.290322581 0.967741935 38.162654212
+61.290322581 1.290322581 38.162654212
+61.290322581 1.612903226 38.162654212
+61.290322581 1.935483871 38.162654212
+61.290322581 2.258064516 38.256861301
+61.290322581 2.580645161 38.635419718
+61.290322581 2.903225806 39.289810836
+61.290322581 3.225806452 40.198155628
+61.290322581 3.548387097 41.336672178
+61.290322581 3.870967742 42.686507677
+61.290322581 4.193548387 44.240440196
+61.290322581 4.516129032 46.007321520
+61.290322581 4.838709677 48.011029270
+61.290322581 5.161290323 50.216731190
+61.290322581 5.483870968 52.255385900
+61.290322581 5.806451613 54.060730050
+61.290322581 6.129032258 55.641164035
+61.290322581 6.451612903 57.001371244
+61.290322581 6.774193548 58.136357308
+61.290322581 7.096774194 59.032710650
+61.290322581 7.419354839 59.673115386
+61.290322581 7.741935484 60.041486756
+61.290322581 8.064516129 60.132917709
+61.290322581 8.387096774 60.132917709
+61.290322581 8.709677419 60.132917709
+61.290322581 9.032258065 60.132917709
+61.290322581 9.354838710 60.132917709
+61.290322581 9.677419355 60.132917709
+61.290322581 10.000000000 60.132917709
+63.870967742 0.000000000 36.565536478
+63.870967742 0.322580645 36.565536478
+63.870967742 0.645161290 36.565536478
+63.870967742 0.967741935 36.565536478
+63.870967742 1.290322581 36.565536478
+63.870967742 1.612903226 36.565536478
+63.870967742 1.935483871 36.565536478
+63.870967742 2.258064516 36.662526705
+63.870967742 2.580645161 37.051524566
+63.870967742 2.903225806 37.721157108
+63.870967742 3.225806452 38.644805610
+63.870967742 3.548387097 39.793067874
+63.870967742 3.870967742 41.141522074
+63.870967742 4.193548387 42.678602518
+63.870967742 4.516129032 44.412068755
+63.870967742 4.838709677 46.372004475
+63.870967742 5.161290323 48.547034196
+63.870967742 5.483870968 50.590679946
+63.870967742 5.806451613 52.412767562
+63.870967742 6.129032258 54.004970505
+63.870967742 6.451612903 55.365533319
+63.870967742 6.774193548 56.489985162
+63.870967742 7.096774194 57.369432122
+63.870967742 7.419354839 57.992605123
+63.870967742 7.741935484 58.349016896
+63.870967742 8.064516129 58.437242576
+63.870967742 8.387096774 58.437242576
+63.870967742 8.709677419 58.437242576
+63.870967742 9.032258065 58.437242576
+63.870967742 9.354838710 58.437242576
+63.870967742 9.677419355 58.437242576
+63.870967742 10.000000000 58.437242576
+66.451612903 0.000000000 35.068933770
+66.451612903 0.322580645 35.068933770
+66.451612903 0.645161290 35.068933770
+66.451612903 0.967741935 35.068933770
+66.451612903 1.290322581 35.068933770
+66.451612903 1.612903226 35.068933770
+66.451612903 1.935483871 35.068933770
+66.451612903 2.258064516 35.168759265
+66.451612903 2.580645161 35.568606747
+66.451612903 2.903225806 36.254933561
+66.451612903 3.225806452 37.197390039
+66.451612903 3.548387097 38.361971152
+66.451612903 3.870967742 39.719252764
+66.451612903 4.193548387 41.252768585
+66.451612903 4.516129032 42.966462181
+66.451612903 4.838709677 44.890151318
+66.451612903 5.161290323 47.026244912
+66.451612903 5.483870968 49.059565038
+66.451612903 5.806451613 50.884382616
+66.451612903 6.129032258 52.477913466
+66.451612903 6.451612903 53.832050622
+66.451612903 6.774193548 54.942173271
+66.451612903 7.096774194 55.803037893
+66.451612903 7.419354839 56.408550848
+66.451612903 7.741935484 56.753064331
+66.451612903 8.064516129 56.838136033
+66.451612903 8.387096774 56.838136033
+66.451612903 8.709677419 56.838136033
+66.451612903 9.032258065 56.838136033
+66.451612903 9.354838710 56.838136033
+66.451612903 9.677419355 56.838136033
+66.451612903 10.000000000 56.838136033
+69.032258065 0.000000000 33.662078714
+69.032258065 0.322580645 33.662078714
+69.032258065 0.645161290 33.662078714
+69.032258065 0.967741935 33.662078714
+69.032258065 1.290322581 33.662078714
+69.032258065 1.612903226 33.662078714
+69.032258065 1.935483871 33.662078714
+69.032258065 2.258064516 33.764735351
+69.032258065 2.580645161 34.175590581
+69.032258065 2.903225806 34.879403331
+69.032258065 3.225806452 35.842858855
+69.032258065 3.548387097 37.028214983
+69.032258065 3.870967742 38.401801196
+69.032258065 4.193548387 39.942559670
+69.032258065 4.516129032 41.649838525
+69.032258065 4.838709677 43.550045315
+69.032258065 5.161290323 45.652411740
+69.032258065 5.483870968 47.673366035
+69.032258065 5.806451613 49.497159788
+69.032258065 6.129032258 51.089256555
+69.032258065 6.451612903 52.436089884
+69.032258065 6.774193548 53.532761533
+69.032258065 7.096774194 54.377014655
+69.032258065 7.419354839 54.967053117
+69.032258065 7.741935484 55.301239696
+69.032258065 8.064516129 55.383584230
+69.032258065 8.387096774 55.383584230
+69.032258065 8.709677419 55.383584230
+69.032258065 9.032258065 55.383584230
+69.032258065 9.354838710 55.383584230
+69.032258065 9.677419355 55.383584230
+69.032258065 10.000000000 55.383584230
+71.612903226 0.000000000 32.345698963
+71.612903226 0.322580645 32.345698963
+71.612903226 0.645161290 32.345698963
+71.612903226 0.967741935 32.345698963
+71.612903226 1.290322581 32.345698963
+71.612903226 1.612903226 32.345698963
+71.612903226 1.935483871 32.345698963
+71.612903226 2.258064516 32.451154918
+71.612903226 2.580645161 32.872940147
+71.612903226 2.903225806 33.594485558
+71.612903226 3.225806452 34.580055189
+71.612903226 3.548387097 35.788857152
+71.612903226 3.870967742 37.183714577
+71.612903226 4.193548387 38.739637265
+71.612903226 4.516129032 40.451629820
+71.612903226 4.838709677 42.341716636
+71.612903226 5.161290323 44.421773395
+71.612903226 5.483870968 46.435935198
+71.612903226 5.806451613 48.261432212
+71.612903226 6.129032258 49.854336744
+71.612903226 6.451612903 51.196720945
+71.612903226 6.774193548 52.283552638
+71.612903226 7.096774194 53.115093039
+71.612903226 7.419354839 53.693094911
+71.612903226 7.741935484 54.019196645
+71.612903226 8.064516129 54.099401387
+71.612903226 8.387096774 54.099401387
+71.612903226 8.709677419 54.099401387
+71.612903226 9.032258065 54.099401387
+71.612903226 9.354838710 54.099401387
+71.612903226 9.677419355 54.099401387
+71.612903226 10.000000000 54.099401387
+74.193548387 0.000000000 31.130282903
+74.193548387 0.322580645 31.130282903
+74.193548387 0.645161290 31.130282903
+74.193548387 0.967741935 31.130282903
+74.193548387 1.290322581 31.130282903
+74.193548387 1.612903226 31.130282903
+74.193548387 1.935483871 31.130282903
+74.193548387 2.258064516 31.238441391
+74.193548387 2.580645161 31.670837053
+74.193548387 2.903225806 32.409812696
+74.193548387 3.225806452 33.417620647
+74.193548387 3.548387097 34.650959998
+74.193548387 3.870967742 36.069805392
+74.193548387 4.193548387 37.645985858
+74.193548387 4.516129032 39.370885576
+74.193548387 4.838709677 41.262410178
+74.193548387 5.161290323 43.333019208
+74.193548387 5.483870968 45.349014245
+74.193548387 5.806451613 47.181869729
+74.193548387 6.129032258 48.780116579
+74.193548387 6.451612903 50.122504673
+74.193548387 6.774193548 51.204111839
+74.193548387 7.096774194 52.027392387
+74.193548387 7.419354839 52.597049726
+74.193548387 7.741935484 52.917397520
+74.193548387 8.064516129 52.996065135
+74.193548387 8.387096774 52.996065135
+74.193548387 8.709677419 52.996065135
+74.193548387 9.032258065 52.996065135
+74.193548387 9.354838710 52.996065135
+74.193548387 9.677419355 52.996065135
+74.193548387 10.000000000 52.996065135
+76.774193548 0.000000000 30.034038438
+76.774193548 0.322580645 30.034038438
+76.774193548 0.645161290 30.034038438
+76.774193548 0.967741935 30.034038438
+76.774193548 1.290322581 30.034038438
+76.774193548 1.612903226 30.034038438
+76.774193548 1.935483871 30.034038438
+76.774193548 2.258064516 30.144730818
+76.774193548 2.580645161 30.587109051
+76.774193548 2.903225806 31.342609259
+76.774193548 3.225806452 32.371796026
+76.774193548 3.548387097 33.629300526
+76.774193548 3.870967742 35.072817972
+76.774193548 4.193548387 36.671718583
+76.774193548 4.516129032 38.414630690
+76.774193548 4.838709677 40.316178156
+76.774193548 5.161290323 42.388670367
+76.774193548 5.483870968 44.414847934
+76.774193548 5.806451613 46.260814896
+76.774193548 6.129032258 47.869004716
+76.774193548 6.451612903 49.215738579
+76.774193548 6.774193548 50.296445582
+76.774193548 7.096774194 51.115524295
+76.774193548 7.419354839 51.680143529
+76.774193548 7.741935484 51.996803881
+76.774193548 8.064516129 52.074466376
+76.774193548 8.387096774 52.074466376
+76.774193548 8.709677419 52.074466376
+76.774193548 9.032258065 52.074466376
+76.774193548 9.354838710 52.074466376
+76.774193548 9.677419355 52.074466376
+76.774193548 10.000000000 52.074466376
+79.354838710 0.000000000 29.080444475
+79.354838710 0.322580645 29.080444475
+79.354838710 0.645161290 29.080444475
+79.354838710 0.967741935 29.080444475
+79.354838710 1.290322581 29.080444475
+79.354838710 1.612903226 29.080444475
+79.354838710 1.935483871 29.080444475
+79.354838710 2.258064516 29.193415030
+79.354838710 2.580645161 29.644787595
+79.354838710 2.903225806 30.415246173
+79.354838710 3.225806452 31.463952990
+79.354838710 3.548387097 32.743856294
+79.354838710 3.870967742 34.210866640
+79.354838710 4.193548387 35.832534825
+79.354838710 4.516129032 37.595554329
+79.354838710 4.838709677 39.512245487
+79.354838710 5.161290323 41.594701531
+79.354838710 5.483870968 43.636970165
+79.354838710 5.806451613 45.499968761
+79.354838710 6.129032258 47.121240224
+79.354838710 6.451612903 48.475411687
+79.354838710 6.774193548 49.558438226
+79.354838710 7.096774194 50.376426100
+79.354838710 7.419354839 50.938583742
+79.354838710 7.741935484 51.253180276
+79.354838710 8.064516129 51.330256980
+79.354838710 8.387096774 51.330256980
+79.354838710 8.709677419 51.330256980
+79.354838710 9.032258065 51.330256980
+79.354838710 9.354838710 51.330256980
+79.354838710 9.677419355 51.330256980
+79.354838710 10.000000000 51.330256980
+81.935483871 0.000000000 28.295387000
+81.935483871 0.322580645 28.295387000
+81.935483871 0.645161290 28.295387000
+81.935483871 0.967741935 28.295387000
+81.935483871 1.290322581 28.295387000
+81.935483871 1.612903226 28.295387000
+81.935483871 1.935483871 28.295387000
+81.935483871 2.258064516 28.410284551
+81.935483871 2.580645161 28.869270412
+81.935483871 2.903225806 29.652439525
+81.935483871 3.225806452 30.717816423
+81.935483871 3.548387097 32.017032404
+81.935483871 3.870967742 33.504652223
+81.935483871 4.193548387 35.146946432
+81.935483871 4.516129032 36.929357645
+81.935483871 4.838709677 38.862773119
+81.935483871 5.161290323 40.959228758
+81.935483871 5.483870968 43.019926470
+81.935483871 5.806451613 44.901011164
+81.935483871 6.129032258 46.536235546
+81.935483871 6.451612903 47.899114559
+81.935483871 6.774193548 48.986200093
+81.935483871 7.096774194 49.805035003
+81.935483871 7.419354839 50.366456066
+81.935483871 7.741935484 50.680115184
+81.935483871 8.064516129 50.756901048
+81.935483871 8.387096774 50.756901048
+81.935483871 8.709677419 50.756901048
+81.935483871 9.032258065 50.756901048
+81.935483871 9.354838710 50.756901048
+81.935483871 9.677419355 50.756901048
+81.935483871 10.000000000 50.756901048
+84.516129032 0.000000000 27.704007082
+84.516129032 0.322580645 27.704007082
+84.516129032 0.645161290 27.704007082
+84.516129032 0.967741935 27.704007082
+84.516129032 1.290322581 27.704007082
+84.516129032 1.612903226 27.704007082
+84.516129032 1.935483871 27.704007082
+84.516129032 2.258064516 27.820386779
+84.516129032 2.580645161 28.285240579
+84.516129032 2.903225806 29.078198137
+84.516129032 3.225806452 30.156479100
+84.516129032 3.548387097 31.470729250
+84.516129032 3.870967742 32.974572389
+84.516129032 4.193548387 34.633440121
+84.516129032 4.516129032 36.432039482
+84.516129032 4.838709677 38.380475723
+84.516129032 5.161290323 40.490870456
+84.516129032 5.483870968 42.568520962
+84.516129032 5.806451613 44.465639072
+84.516129032 6.129032258 46.113249111
+84.516129032 6.451612903 47.484193799
+84.516129032 6.774193548 48.575575214
+84.516129032 7.096774194 49.396043310
+84.516129032 7.419354839 49.957639505
+84.516129032 7.741935484 50.271021411
+84.516129032 8.064516129 50.347695757
+84.516129032 8.387096774 50.347695757
+84.516129032 8.709677419 50.347695757
+84.516129032 9.032258065 50.347695757
+84.516129032 9.354838710 50.347695757
+84.516129032 9.677419355 50.347695757
+84.516129032 10.000000000 50.347695757
+87.096774194 0.000000000 27.327538681
+87.096774194 0.322580645 27.327538681
+87.096774194 0.645161290 27.327538681
+87.096774194 0.967741935 27.327538681
+87.096774194 1.290322581 27.327538681
+87.096774194 1.612903226 27.327538681
+87.096774194 1.935483871 27.327538681
+87.096774194 2.258064516 27.444875519
+87.096774194 2.580645161 27.913519181
+87.096774194 2.903225806 28.712818142
+87.096774194 3.225806452 29.799451045
+87.096774194 3.548387097 31.123478051
+87.096774194 3.870967742 32.637941952
+87.096774194 4.193548387 34.307806798
+87.096774194 4.516129032 36.117385824
+87.096774194 4.838709677 38.076430208
+87.096774194 5.161290323 40.197185747
+87.096774194 5.483870968 42.286978613
+87.096774194 5.806451613 44.195359935
+87.096774194 6.129032258 45.851672154
+87.096774194 6.451612903 47.228403784
+87.096774194 6.774193548 48.323052721
+87.096774194 7.096774194 49.144986345
+87.096774194 7.419354839 49.707005179
+87.096774194 7.741935484 50.020392983
+87.096774194 8.064516129 50.097042021
+87.096774194 8.387096774 50.097042021
+87.096774194 8.709677419 50.097042021
+87.096774194 9.032258065 50.097042021
+87.096774194 9.354838710 50.097042021
+87.096774194 9.677419355 50.097042021
+87.096774194 10.000000000 50.097042021
+89.677419355 0.000000000 27.180531506
+89.677419355 0.322580645 27.180531506
+89.677419355 0.645161290 27.180531506
+89.677419355 0.967741935 27.180531506
+89.677419355 1.290322581 27.180531506
+89.677419355 1.612903226 27.180531506
+89.677419355 1.935483871 27.180531506
+89.677419355 2.258064516 27.298244964
+89.677419355 2.580645161 27.768379952
+89.677419355 2.903225806 28.570174667
+89.677419355 3.225806452 29.660103341
+89.677419355 3.548387097 30.987993911
+89.677419355 3.870967742 32.506670827
+89.677419355 4.193548387 34.180910067
+89.677419355 4.516129032 35.994914976
+89.677419355 4.838709677 37.958317674
+89.677419355 5.161290323 40.083428161
+89.677419355 5.483870968 42.178243163
+89.677419355 5.806451613 44.091241528
+89.677419355 6.129032258 45.751120568
+89.677419355 6.451612903 47.130246045
+89.677419355 6.774193548 48.226280081
+89.677419355 7.096774194 49.048873010
+89.677419355 7.419354839 49.611120353
+89.677419355 7.741935484 49.924547621
+89.677419355 8.064516129 50.001196081
+89.677419355 8.387096774 50.001196081
+89.677419355 8.709677419 50.001196081
+89.677419355 9.032258065 50.001196081
+89.677419355 9.354838710 50.001196081
+89.677419355 9.677419355 50.001196081
+89.677419355 10.000000000 50.001196081
+92.258064516 0.000000000 27.178685975
+92.258064516 0.322580645 27.178685975
+92.258064516 0.645161290 27.178685975
+92.258064516 0.967741935 27.178685975
+92.258064516 1.290322581 27.178685975
+92.258064516 1.612903226 27.178685975
+92.258064516 1.935483871 27.178685975
+92.258064516 2.258064516 27.296404171
+92.258064516 2.580645161 27.766557921
+92.258064516 2.903225806 28.568384038
+92.258064516 3.225806452 29.658354183
+92.258064516 3.548387097 30.986293382
+92.258064516 3.870967742 32.505023360
+92.258064516 4.193548387 34.179317922
+92.258064516 4.516129032 35.993378883
+92.258064516 4.838709677 37.956837060
+92.258064516 5.161290323 40.082003316
+92.258064516 5.483870968 42.176882360
+92.258064516 5.806451613 44.089939459
+92.258064516 6.129032258 45.749863871
+92.258064516 6.451612903 47.129019871
+92.258064516 6.774193548 48.225071677
+92.258064516 7.096774194 49.047673187
+92.258064516 7.419354839 49.609923621
+92.258064516 7.741935484 49.923351514
+92.258064516 8.064516129 50.000000000
+92.258064516 8.387096774 50.000000000
+92.258064516 8.709677419 50.000000000
+92.258064516 9.032258065 50.000000000
+92.258064516 9.354838710 50.000000000
+92.258064516 9.677419355 50.000000000
+92.258064516 10.000000000 50.000000000
+94.838709677 0.000000000 27.178685975
+94.838709677 0.322580645 27.178685975
+94.838709677 0.645161290 27.178685975
+94.838709677 0.967741935 27.178685975
+94.838709677 1.290322581 27.178685975
+94.838709677 1.612903226 27.178685975
+94.838709677 1.935483871 27.178685975
+94.838709677 2.258064516 27.296404171
+94.838709677 2.580645161 27.766557921
+94.838709677 2.903225806 28.568384038
+94.838709677 3.225806452 29.658354183
+94.838709677 3.548387097 30.986293382
+94.838709677 3.870967742 32.505023360
+94.838709677 4.193548387 34.179317922
+94.838709677 4.516129032 35.993378883
+94.838709677 4.838709677 37.956837060
+94.838709677 5.161290323 40.082003316
+94.838709677 5.483870968 42.176882360
+94.838709677 5.806451613 44.089939459
+94.838709677 6.129032258 45.749863871
+94.838709677 6.451612903 47.129019871
+94.838709677 6.774193548 48.225071677
+94.838709677 7.096774194 49.047673187
+94.838709677 7.419354839 49.609923621
+94.838709677 7.741935484 49.923351514
+94.838709677 8.064516129 50.000000000
+94.838709677 8.387096774 50.000000000
+94.838709677 8.709677419 50.000000000
+94.838709677 9.032258065 50.000000000
+94.838709677 9.354838710 50.000000000
+94.838709677 9.677419355 50.000000000
+94.838709677 10.000000000 50.000000000
+97.419354839 0.000000000 27.178685975
+97.419354839 0.322580645 27.178685975
+97.419354839 0.645161290 27.178685975
+97.419354839 0.967741935 27.178685975
+97.419354839 1.290322581 27.178685975
+97.419354839 1.612903226 27.178685975
+97.419354839 1.935483871 27.178685975
+97.419354839 2.258064516 27.296404171
+97.419354839 2.580645161 27.766557921
+97.419354839 2.903225806 28.568384038
+97.419354839 3.225806452 29.658354183
+97.419354839 3.548387097 30.986293382
+97.419354839 3.870967742 32.505023360
+97.419354839 4.193548387 34.179317922
+97.419354839 4.516129032 35.993378883
+97.419354839 4.838709677 37.956837060
+97.419354839 5.161290323 40.082003316
+97.419354839 5.483870968 42.176882360
+97.419354839 5.806451613 44.089939459
+97.419354839 6.129032258 45.749863871
+97.419354839 6.451612903 47.129019871
+97.419354839 6.774193548 48.225071677
+97.419354839 7.096774194 49.047673187
+97.419354839 7.419354839 49.609923621
+97.419354839 7.741935484 49.923351514
+97.419354839 8.064516129 50.000000000
+97.419354839 8.387096774 50.000000000
+97.419354839 8.709677419 50.000000000
+97.419354839 9.032258065 50.000000000
+97.419354839 9.354838710 50.000000000
+97.419354839 9.677419355 50.000000000
+97.419354839 10.000000000 50.000000000
+100.000000000 0.000000000 27.178685975
+100.000000000 0.322580645 27.178685975
+100.000000000 0.645161290 27.178685975
+100.000000000 0.967741935 27.178685975
+100.000000000 1.290322581 27.178685975
+100.000000000 1.612903226 27.178685975
+100.000000000 1.935483871 27.178685975
+100.000000000 2.258064516 27.296404171
+100.000000000 2.580645161 27.766557921
+100.000000000 2.903225806 28.568384038
+100.000000000 3.225806452 29.658354183
+100.000000000 3.548387097 30.986293382
+100.000000000 3.870967742 32.505023360
+100.000000000 4.193548387 34.179317922
+100.000000000 4.516129032 35.993378883
+100.000000000 4.838709677 37.956837060
+100.000000000 5.161290323 40.082003316
+100.000000000 5.483870968 42.176882360
+100.000000000 5.806451613 44.089939459
+100.000000000 6.129032258 45.749863871
+100.000000000 6.451612903 47.129019871
+100.000000000 6.774193548 48.225071677
+100.000000000 7.096774194 49.047673187
+100.000000000 7.419354839 49.609923621
+100.000000000 7.741935484 49.923351514
+100.000000000 8.064516129 50.000000000
+100.000000000 8.387096774 50.000000000
+100.000000000 8.709677419 50.000000000
+100.000000000 9.032258065 50.000000000
+100.000000000 9.354838710 50.000000000
+100.000000000 9.677419355 50.000000000
+100.000000000 10.000000000 50.000000000
diff --git a/examples/mamdani/octave/investment_portfolio.fll b/examples/mamdani/octave/investment_portfolio.fll
index 4bb14e1..628fdef 100644
--- a/examples/mamdani/octave/investment_portfolio.fll
+++ b/examples/mamdani/octave/investment_portfolio.fll
@@ -1,22 +1,24 @@
-Engine: Investment-Portfolio
+Engine: investment_portfolio
InputVariable: Age
enabled: true
range: 20.000 100.000
+ lock-range: false
term: Young ZShape 30.000 90.000
term: Old SShape 30.000 90.000
InputVariable: RiskTolerance
enabled: true
range: 0.000 10.000
+ lock-range: false
term: Low ZShape 2.000 8.000
term: High SShape 2.000 8.000
OutputVariable: PercentageInStocks
enabled: true
range: 0.000 100.000
- accumulation: EinsteinSum
+ lock-range: false
+ aggregation: EinsteinSum
defuzzifier: Centroid 200
default: nan
lock-previous: false
- lock-range: false
term: AboutFifteen Gaussian 15.000 10.000
term: AboutFifty Gaussian 50.000 10.000
term: AboutEightyFive Gaussian 85.000 10.000
@@ -24,7 +26,8 @@ RuleBlock:
enabled: true
conjunction: EinsteinProduct
disjunction: EinsteinSum
- activation: EinsteinProduct
+ implication: EinsteinProduct
+ activation: General
rule: if Age is Young or RiskTolerance is High then PercentageInStocks is AboutEightyFive
rule: if Age is Old or RiskTolerance is Low then PercentageInStocks is AboutFifteen
rule: if Age is not extremely Old and RiskTolerance is not extremely Low then PercentageInStocks is AboutFifty with 0.500
diff --git a/examples/mamdani/octave/investment_portfolio.java b/examples/mamdani/octave/investment_portfolio.java
index 09084f1..9dff687 100644
--- a/examples/mamdani/octave/investment_portfolio.java
+++ b/examples/mamdani/octave/investment_portfolio.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,45 +13,55 @@ import com.fuzzylite.variable.*;
public class investment_portfolio{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("Investment-Portfolio");
-
-InputVariable inputVariable1 = new InputVariable();
-inputVariable1.setEnabled(true);
-inputVariable1.setName("Age");
-inputVariable1.setRange(20.000, 100.000);
-inputVariable1.addTerm(new ZShape("Young", 30.000, 90.000));
-inputVariable1.addTerm(new SShape("Old", 30.000, 90.000));
-engine.addInputVariable(inputVariable1);
-
-InputVariable inputVariable2 = new InputVariable();
-inputVariable2.setEnabled(true);
-inputVariable2.setName("RiskTolerance");
-inputVariable2.setRange(0.000, 10.000);
-inputVariable2.addTerm(new ZShape("Low", 2.000, 8.000));
-inputVariable2.addTerm(new SShape("High", 2.000, 8.000));
-engine.addInputVariable(inputVariable2);
-
-OutputVariable outputVariable = new OutputVariable();
-outputVariable.setEnabled(true);
-outputVariable.setName("PercentageInStocks");
-outputVariable.setRange(0.000, 100.000);
-outputVariable.fuzzyOutput().setAccumulation(new EinsteinSum());
-outputVariable.setDefuzzifier(new Centroid(200));
-outputVariable.setDefaultValue(Double.NaN);
-outputVariable.setLockPreviousOutputValue(false);
-outputVariable.setLockOutputValueInRange(false);
-outputVariable.addTerm(new Gaussian("AboutFifteen", 15.000, 10.000));
-outputVariable.addTerm(new Gaussian("AboutFifty", 50.000, 10.000));
-outputVariable.addTerm(new Gaussian("AboutEightyFive", 85.000, 10.000));
-engine.addOutputVariable(outputVariable);
+engine.setName("investment_portfolio");
+engine.setDescription("");
+
+InputVariable Age = new InputVariable();
+Age.setName("Age");
+Age.setDescription("");
+Age.setEnabled(true);
+Age.setRange(20.000, 100.000);
+Age.setLockValueInRange(false);
+Age.addTerm(new ZShape("Young", 30.000, 90.000));
+Age.addTerm(new SShape("Old", 30.000, 90.000));
+engine.addInputVariable(Age);
+
+InputVariable RiskTolerance = new InputVariable();
+RiskTolerance.setName("RiskTolerance");
+RiskTolerance.setDescription("");
+RiskTolerance.setEnabled(true);
+RiskTolerance.setRange(0.000, 10.000);
+RiskTolerance.setLockValueInRange(false);
+RiskTolerance.addTerm(new ZShape("Low", 2.000, 8.000));
+RiskTolerance.addTerm(new SShape("High", 2.000, 8.000));
+engine.addInputVariable(RiskTolerance);
+
+OutputVariable PercentageInStocks = new OutputVariable();
+PercentageInStocks.setName("PercentageInStocks");
+PercentageInStocks.setDescription("");
+PercentageInStocks.setEnabled(true);
+PercentageInStocks.setRange(0.000, 100.000);
+PercentageInStocks.setLockValueInRange(false);
+PercentageInStocks.setAggregation(new EinsteinSum());
+PercentageInStocks.setDefuzzifier(new Centroid(200));
+PercentageInStocks.setDefaultValue(Double.NaN);
+PercentageInStocks.setLockPreviousValue(false);
+PercentageInStocks.addTerm(new Gaussian("AboutFifteen", 15.000, 10.000));
+PercentageInStocks.addTerm(new Gaussian("AboutFifty", 50.000, 10.000));
+PercentageInStocks.addTerm(new Gaussian("AboutEightyFive", 85.000, 10.000));
+engine.addOutputVariable(PercentageInStocks);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(new EinsteinProduct());
ruleBlock.setDisjunction(new EinsteinSum());
-ruleBlock.setActivation(new EinsteinProduct());
+ruleBlock.setImplication(new EinsteinProduct());
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if Age is Young or RiskTolerance is High then PercentageInStocks is AboutEightyFive", engine));
ruleBlock.addRule(Rule.parse("if Age is Old or RiskTolerance is Low then PercentageInStocks is AboutFifteen", engine));
ruleBlock.addRule(Rule.parse("if Age is not extremely Old and RiskTolerance is not extremely Low then PercentageInStocks is AboutFifty with 0.500", engine));
diff --git a/examples/mamdani/octave/investment_portfolio.pdf b/examples/mamdani/octave/investment_portfolio.pdf
new file mode 100644
index 0000000..c9c897e
--- /dev/null
+++ b/examples/mamdani/octave/investment_portfolio.pdf
Binary files differ
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.R b/examples/mamdani/octave/mamdani_tip_calculator.R
new file mode 100644
index 0000000..81eabe2
--- /dev/null
+++ b/examples/mamdani/octave/mamdani_tip_calculator.R
@@ -0,0 +1,90 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "mamdani_tip_calculator"
+engine.fll = "Engine: mamdani_tip_calculator
+InputVariable: FoodQuality
+ enabled: true
+ range: 1.000 10.000
+ lock-range: false
+ term: Bad Trapezoid 0.000 1.000 3.000 7.000
+ term: Good Trapezoid 3.000 7.000 10.000 11.000
+InputVariable: Service
+ enabled: true
+ range: 1.000 10.000
+ lock-range: false
+ term: Bad Trapezoid 0.000 1.000 3.000 7.000
+ term: Good Trapezoid 3.000 7.000 10.000 11.000
+OutputVariable: Tip
+ enabled: true
+ range: 0.000 30.000
+ lock-range: false
+ aggregation: AlgebraicSum
+ defuzzifier: Centroid 200
+ default: nan
+ lock-previous: false
+ term: AboutTenPercent Gaussian 10.000 2.000
+ term: AboutFifteenPercent Gaussian 15.000 2.000
+ term: AboutTwentyPercent Gaussian 20.000 2.000
+OutputVariable: CheckPlusTip
+ enabled: true
+ range: 1.000 1.300
+ lock-range: false
+ aggregation: AlgebraicSum
+ defuzzifier: Centroid 200
+ default: nan
+ lock-previous: false
+ term: PlusAboutTenPercent Gaussian 1.100 0.020
+ term: PlusAboutFifteenPercent Gaussian 1.150 0.020
+ term: PlusAboutTwentyPercent Gaussian 1.200 0.020
+RuleBlock:
+ enabled: true
+ conjunction: AlgebraicProduct
+ disjunction: Maximum
+ implication: Minimum
+ activation: General
+ rule: if FoodQuality is Bad and Service is Bad then Tip is AboutTenPercent and CheckPlusTip is PlusAboutTenPercent
+ rule: if FoodQuality is Bad and Service is Good then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent
+ rule: if FoodQuality is Good and Service is Bad then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent
+ rule: if FoodQuality is Good and Service is Good then Tip is AboutTwentyPercent and CheckPlusTip is PlusAboutTwentyPercent"
+
+engine.fldFile = "mamdani_tip_calculator.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1i2_o1 = ggplot(engine.df, aes(FoodQuality, Service)) +
+ geom_tile(aes(fill=Tip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=FoodQuality, y=Service, z=Tip), color="black") +
+ ggtitle("(FoodQuality, Service) = Tip")
+
+engine.plot.i2i1_o1 = ggplot(engine.df, aes(Service, FoodQuality)) +
+ geom_tile(aes(fill=Tip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Service, y=FoodQuality, z=Tip), color="black") +
+ ggtitle("(Service, FoodQuality) = Tip")
+
+engine.plot.i1i2_o2 = ggplot(engine.df, aes(FoodQuality, Service)) +
+ geom_tile(aes(fill=CheckPlusTip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=FoodQuality, y=Service, z=CheckPlusTip), color="black") +
+ ggtitle("(FoodQuality, Service) = CheckPlusTip")
+
+engine.plot.i2i1_o2 = ggplot(engine.df, aes(Service, FoodQuality)) +
+ geom_tile(aes(fill=CheckPlusTip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Service, y=FoodQuality, z=CheckPlusTip), color="black") +
+ ggtitle("(Service, FoodQuality) = CheckPlusTip")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1i2_o1, engine.plot.i2i1_o1, engine.plot.i1i2_o2, engine.plot.i2i1_o2, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.cpp b/examples/mamdani/octave/mamdani_tip_calculator.cpp
index cd57bf7..86d6464 100644
--- a/examples/mamdani/octave/mamdani_tip_calculator.cpp
+++ b/examples/mamdani/octave/mamdani_tip_calculator.cpp
@@ -1,65 +1,76 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("Mamdani-Tip-Calculator");
+engine->setName("mamdani_tip_calculator");
+engine->setDescription("");
-InputVariable* inputVariable1 = new InputVariable;
-inputVariable1->setEnabled(true);
-inputVariable1->setName("FoodQuality");
-inputVariable1->setRange(1.000, 10.000);
-inputVariable1->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable1->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine->addInputVariable(inputVariable1);
+InputVariable* FoodQuality = new InputVariable;
+FoodQuality->setName("FoodQuality");
+FoodQuality->setDescription("");
+FoodQuality->setEnabled(true);
+FoodQuality->setRange(1.000, 10.000);
+FoodQuality->setLockValueInRange(false);
+FoodQuality->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+FoodQuality->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine->addInputVariable(FoodQuality);
-InputVariable* inputVariable2 = new InputVariable;
-inputVariable2->setEnabled(true);
-inputVariable2->setName("Service");
-inputVariable2->setRange(1.000, 10.000);
-inputVariable2->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable2->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine->addInputVariable(inputVariable2);
+InputVariable* Service = new InputVariable;
+Service->setName("Service");
+Service->setDescription("");
+Service->setEnabled(true);
+Service->setRange(1.000, 10.000);
+Service->setLockValueInRange(false);
+Service->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+Service->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine->addInputVariable(Service);
-OutputVariable* outputVariable1 = new OutputVariable;
-outputVariable1->setEnabled(true);
-outputVariable1->setName("Tip");
-outputVariable1->setRange(0.000, 30.000);
-outputVariable1->fuzzyOutput()->setAccumulation(new AlgebraicSum);
-outputVariable1->setDefuzzifier(new Centroid(200));
-outputVariable1->setDefaultValue(fl::nan);
-outputVariable1->setLockPreviousOutputValue(false);
-outputVariable1->setLockOutputValueInRange(false);
-outputVariable1->addTerm(new Gaussian("AboutTenPercent", 10.000, 2.000));
-outputVariable1->addTerm(new Gaussian("AboutFifteenPercent", 15.000, 2.000));
-outputVariable1->addTerm(new Gaussian("AboutTwentyPercent", 20.000, 2.000));
-engine->addOutputVariable(outputVariable1);
+OutputVariable* Tip = new OutputVariable;
+Tip->setName("Tip");
+Tip->setDescription("");
+Tip->setEnabled(true);
+Tip->setRange(0.000, 30.000);
+Tip->setLockValueInRange(false);
+Tip->setAggregation(new AlgebraicSum);
+Tip->setDefuzzifier(new Centroid(200));
+Tip->setDefaultValue(fl::nan);
+Tip->setLockPreviousValue(false);
+Tip->addTerm(new Gaussian("AboutTenPercent", 10.000, 2.000));
+Tip->addTerm(new Gaussian("AboutFifteenPercent", 15.000, 2.000));
+Tip->addTerm(new Gaussian("AboutTwentyPercent", 20.000, 2.000));
+engine->addOutputVariable(Tip);
-OutputVariable* outputVariable2 = new OutputVariable;
-outputVariable2->setEnabled(true);
-outputVariable2->setName("CheckPlusTip");
-outputVariable2->setRange(1.000, 1.300);
-outputVariable2->fuzzyOutput()->setAccumulation(new AlgebraicSum);
-outputVariable2->setDefuzzifier(new Centroid(200));
-outputVariable2->setDefaultValue(fl::nan);
-outputVariable2->setLockPreviousOutputValue(false);
-outputVariable2->setLockOutputValueInRange(false);
-outputVariable2->addTerm(new Gaussian("PlusAboutTenPercent", 1.100, 0.020));
-outputVariable2->addTerm(new Gaussian("PlusAboutFifteenPercent", 1.150, 0.020));
-outputVariable2->addTerm(new Gaussian("PlusAboutTwentyPercent", 1.200, 0.020));
-engine->addOutputVariable(outputVariable2);
+OutputVariable* CheckPlusTip = new OutputVariable;
+CheckPlusTip->setName("CheckPlusTip");
+CheckPlusTip->setDescription("");
+CheckPlusTip->setEnabled(true);
+CheckPlusTip->setRange(1.000, 1.300);
+CheckPlusTip->setLockValueInRange(false);
+CheckPlusTip->setAggregation(new AlgebraicSum);
+CheckPlusTip->setDefuzzifier(new Centroid(200));
+CheckPlusTip->setDefaultValue(fl::nan);
+CheckPlusTip->setLockPreviousValue(false);
+CheckPlusTip->addTerm(new Gaussian("PlusAboutTenPercent", 1.100, 0.020));
+CheckPlusTip->addTerm(new Gaussian("PlusAboutFifteenPercent", 1.150, 0.020));
+CheckPlusTip->addTerm(new Gaussian("PlusAboutTwentyPercent", 1.200, 0.020));
+engine->addOutputVariable(CheckPlusTip);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(new AlgebraicProduct);
ruleBlock->setDisjunction(new Maximum);
-ruleBlock->setActivation(new Minimum);
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Bad and Service is Bad then Tip is AboutTenPercent and CheckPlusTip is PlusAboutTenPercent", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Bad and Service is Good then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Good and Service is Bad then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Good and Service is Good then Tip is AboutTwentyPercent and CheckPlusTip is PlusAboutTwentyPercent", engine));
+ruleBlock->setImplication(new Minimum);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if FoodQuality is Bad and Service is Bad then Tip is AboutTenPercent and CheckPlusTip is PlusAboutTenPercent", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is Bad and Service is Good then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is Good and Service is Bad then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is Good and Service is Good then Tip is AboutTwentyPercent and CheckPlusTip is PlusAboutTwentyPercent", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.fcl b/examples/mamdani/octave/mamdani_tip_calculator.fcl
index 3ea903a..0265bc2 100644
--- a/examples/mamdani/octave/mamdani_tip_calculator.fcl
+++ b/examples/mamdani/octave/mamdani_tip_calculator.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK Mamdani-Tip-Calculator
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK mamdani_tip_calculator
VAR_INPUT
FoodQuality: REAL;
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.fis b/examples/mamdani/octave/mamdani_tip_calculator.fis
index 42cf1df..13cd802 100644
--- a/examples/mamdani/octave/mamdani_tip_calculator.fis
+++ b/examples/mamdani/octave/mamdani_tip_calculator.fis
@@ -1,13 +1,16 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name='Mamdani-Tip-Calculator'
+Name='mamdani_tip_calculator'
Type='mamdani'
+Version=6.0
NumInputs=2
NumOutputs=2
NumRules=4
AndMethod='prod'
OrMethod='max'
ImpMethod='min'
-AggMethod='sum'
+AggMethod='probor'
DefuzzMethod='centroid'
[Input1]
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.fld b/examples/mamdani/octave/mamdani_tip_calculator.fld
index 9d54109..9d87eab 100644
--- a/examples/mamdani/octave/mamdani_tip_calculator.fld
+++ b/examples/mamdani/octave/mamdani_tip_calculator.fld
@@ -1,1026 +1,1025 @@
-#@Engine: Mamdani-Tip-Calculator;
-#@InputVariable: FoodQuality; @InputVariable: Service; @OutputVariable: Tip; @OutputVariable: CheckPlusTip;
-1.00000000 1.00000000 10.00000296 1.10000003
-1.00000000 1.29032258 10.00000296 1.10000003
-1.00000000 1.58064516 10.00000296 1.10000003
-1.00000000 1.87096774 10.00000296 1.10000003
-1.00000000 2.16129032 10.00000296 1.10000003
-1.00000000 2.45161290 10.00000296 1.10000003
-1.00000000 2.74193548 10.00000296 1.10000003
-1.00000000 3.03225806 10.10361204 1.10103612
-1.00000000 3.32258065 10.70846739 1.10708467
-1.00000000 3.61290323 11.13394556 1.11133946
-1.00000000 3.90322581 11.47924881 1.11479249
-1.00000000 4.19354839 11.77837052 1.11778371
-1.00000000 4.48387097 12.05010492 1.12050105
-1.00000000 4.77419355 12.30576276 1.12305763
-1.00000000 5.06451613 12.55517544 1.12555175
-1.00000000 5.35483871 12.80665986 1.12806660
-1.00000000 5.64516129 13.06809323 1.13068093
-1.00000000 5.93548387 13.35056196 1.13350562
-1.00000000 6.22580645 13.66657067 1.13666571
-1.00000000 6.51612903 14.04212491 1.14042125
-1.00000000 6.80645161 14.52492871 1.14524929
-1.00000000 7.09677419 15.00000000 1.15000000
-1.00000000 7.38709677 15.00000000 1.15000000
-1.00000000 7.67741935 15.00000000 1.15000000
-1.00000000 7.96774194 15.00000000 1.15000000
-1.00000000 8.25806452 15.00000000 1.15000000
-1.00000000 8.54838710 15.00000000 1.15000000
-1.00000000 8.83870968 15.00000000 1.15000000
-1.00000000 9.12903226 15.00000000 1.15000000
-1.00000000 9.41935484 15.00000000 1.15000000
-1.00000000 9.70967742 15.00000000 1.15000000
-1.00000000 10.00000000 15.00000000 1.15000000
-1.29032258 1.00000000 10.00000296 1.10000003
-1.29032258 1.29032258 10.00000296 1.10000003
-1.29032258 1.58064516 10.00000296 1.10000003
-1.29032258 1.87096774 10.00000296 1.10000003
-1.29032258 2.16129032 10.00000296 1.10000003
-1.29032258 2.45161290 10.00000296 1.10000003
-1.29032258 2.74193548 10.00000296 1.10000003
-1.29032258 3.03225806 10.10361204 1.10103612
-1.29032258 3.32258065 10.70846739 1.10708467
-1.29032258 3.61290323 11.13394556 1.11133946
-1.29032258 3.90322581 11.47924881 1.11479249
-1.29032258 4.19354839 11.77837052 1.11778371
-1.29032258 4.48387097 12.05010492 1.12050105
-1.29032258 4.77419355 12.30576276 1.12305763
-1.29032258 5.06451613 12.55517544 1.12555175
-1.29032258 5.35483871 12.80665986 1.12806660
-1.29032258 5.64516129 13.06809323 1.13068093
-1.29032258 5.93548387 13.35056196 1.13350562
-1.29032258 6.22580645 13.66657067 1.13666571
-1.29032258 6.51612903 14.04212491 1.14042125
-1.29032258 6.80645161 14.52492871 1.14524929
-1.29032258 7.09677419 15.00000000 1.15000000
-1.29032258 7.38709677 15.00000000 1.15000000
-1.29032258 7.67741935 15.00000000 1.15000000
-1.29032258 7.96774194 15.00000000 1.15000000
-1.29032258 8.25806452 15.00000000 1.15000000
-1.29032258 8.54838710 15.00000000 1.15000000
-1.29032258 8.83870968 15.00000000 1.15000000
-1.29032258 9.12903226 15.00000000 1.15000000
-1.29032258 9.41935484 15.00000000 1.15000000
-1.29032258 9.70967742 15.00000000 1.15000000
-1.29032258 10.00000000 15.00000000 1.15000000
-1.58064516 1.00000000 10.00000296 1.10000003
-1.58064516 1.29032258 10.00000296 1.10000003
-1.58064516 1.58064516 10.00000296 1.10000003
-1.58064516 1.87096774 10.00000296 1.10000003
-1.58064516 2.16129032 10.00000296 1.10000003
-1.58064516 2.45161290 10.00000296 1.10000003
-1.58064516 2.74193548 10.00000296 1.10000003
-1.58064516 3.03225806 10.10361204 1.10103612
-1.58064516 3.32258065 10.70846739 1.10708467
-1.58064516 3.61290323 11.13394556 1.11133946
-1.58064516 3.90322581 11.47924881 1.11479249
-1.58064516 4.19354839 11.77837052 1.11778371
-1.58064516 4.48387097 12.05010492 1.12050105
-1.58064516 4.77419355 12.30576276 1.12305763
-1.58064516 5.06451613 12.55517544 1.12555175
-1.58064516 5.35483871 12.80665986 1.12806660
-1.58064516 5.64516129 13.06809323 1.13068093
-1.58064516 5.93548387 13.35056196 1.13350562
-1.58064516 6.22580645 13.66657067 1.13666571
-1.58064516 6.51612903 14.04212491 1.14042125
-1.58064516 6.80645161 14.52492871 1.14524929
-1.58064516 7.09677419 15.00000000 1.15000000
-1.58064516 7.38709677 15.00000000 1.15000000
-1.58064516 7.67741935 15.00000000 1.15000000
-1.58064516 7.96774194 15.00000000 1.15000000
-1.58064516 8.25806452 15.00000000 1.15000000
-1.58064516 8.54838710 15.00000000 1.15000000
-1.58064516 8.83870968 15.00000000 1.15000000
-1.58064516 9.12903226 15.00000000 1.15000000
-1.58064516 9.41935484 15.00000000 1.15000000
-1.58064516 9.70967742 15.00000000 1.15000000
-1.58064516 10.00000000 15.00000000 1.15000000
-1.87096774 1.00000000 10.00000296 1.10000003
-1.87096774 1.29032258 10.00000296 1.10000003
-1.87096774 1.58064516 10.00000296 1.10000003
-1.87096774 1.87096774 10.00000296 1.10000003
-1.87096774 2.16129032 10.00000296 1.10000003
-1.87096774 2.45161290 10.00000296 1.10000003
-1.87096774 2.74193548 10.00000296 1.10000003
-1.87096774 3.03225806 10.10361204 1.10103612
-1.87096774 3.32258065 10.70846739 1.10708467
-1.87096774 3.61290323 11.13394556 1.11133946
-1.87096774 3.90322581 11.47924881 1.11479249
-1.87096774 4.19354839 11.77837052 1.11778371
-1.87096774 4.48387097 12.05010492 1.12050105
-1.87096774 4.77419355 12.30576276 1.12305763
-1.87096774 5.06451613 12.55517544 1.12555175
-1.87096774 5.35483871 12.80665986 1.12806660
-1.87096774 5.64516129 13.06809323 1.13068093
-1.87096774 5.93548387 13.35056196 1.13350562
-1.87096774 6.22580645 13.66657067 1.13666571
-1.87096774 6.51612903 14.04212491 1.14042125
-1.87096774 6.80645161 14.52492871 1.14524929
-1.87096774 7.09677419 15.00000000 1.15000000
-1.87096774 7.38709677 15.00000000 1.15000000
-1.87096774 7.67741935 15.00000000 1.15000000
-1.87096774 7.96774194 15.00000000 1.15000000
-1.87096774 8.25806452 15.00000000 1.15000000
-1.87096774 8.54838710 15.00000000 1.15000000
-1.87096774 8.83870968 15.00000000 1.15000000
-1.87096774 9.12903226 15.00000000 1.15000000
-1.87096774 9.41935484 15.00000000 1.15000000
-1.87096774 9.70967742 15.00000000 1.15000000
-1.87096774 10.00000000 15.00000000 1.15000000
-2.16129032 1.00000000 10.00000296 1.10000003
-2.16129032 1.29032258 10.00000296 1.10000003
-2.16129032 1.58064516 10.00000296 1.10000003
-2.16129032 1.87096774 10.00000296 1.10000003
-2.16129032 2.16129032 10.00000296 1.10000003
-2.16129032 2.45161290 10.00000296 1.10000003
-2.16129032 2.74193548 10.00000296 1.10000003
-2.16129032 3.03225806 10.10361204 1.10103612
-2.16129032 3.32258065 10.70846739 1.10708467
-2.16129032 3.61290323 11.13394556 1.11133946
-2.16129032 3.90322581 11.47924881 1.11479249
-2.16129032 4.19354839 11.77837052 1.11778371
-2.16129032 4.48387097 12.05010492 1.12050105
-2.16129032 4.77419355 12.30576276 1.12305763
-2.16129032 5.06451613 12.55517544 1.12555175
-2.16129032 5.35483871 12.80665986 1.12806660
-2.16129032 5.64516129 13.06809323 1.13068093
-2.16129032 5.93548387 13.35056196 1.13350562
-2.16129032 6.22580645 13.66657067 1.13666571
-2.16129032 6.51612903 14.04212491 1.14042125
-2.16129032 6.80645161 14.52492871 1.14524929
-2.16129032 7.09677419 15.00000000 1.15000000
-2.16129032 7.38709677 15.00000000 1.15000000
-2.16129032 7.67741935 15.00000000 1.15000000
-2.16129032 7.96774194 15.00000000 1.15000000
-2.16129032 8.25806452 15.00000000 1.15000000
-2.16129032 8.54838710 15.00000000 1.15000000
-2.16129032 8.83870968 15.00000000 1.15000000
-2.16129032 9.12903226 15.00000000 1.15000000
-2.16129032 9.41935484 15.00000000 1.15000000
-2.16129032 9.70967742 15.00000000 1.15000000
-2.16129032 10.00000000 15.00000000 1.15000000
-2.45161290 1.00000000 10.00000296 1.10000003
-2.45161290 1.29032258 10.00000296 1.10000003
-2.45161290 1.58064516 10.00000296 1.10000003
-2.45161290 1.87096774 10.00000296 1.10000003
-2.45161290 2.16129032 10.00000296 1.10000003
-2.45161290 2.45161290 10.00000296 1.10000003
-2.45161290 2.74193548 10.00000296 1.10000003
-2.45161290 3.03225806 10.10361204 1.10103612
-2.45161290 3.32258065 10.70846739 1.10708467
-2.45161290 3.61290323 11.13394556 1.11133946
-2.45161290 3.90322581 11.47924881 1.11479249
-2.45161290 4.19354839 11.77837052 1.11778371
-2.45161290 4.48387097 12.05010492 1.12050105
-2.45161290 4.77419355 12.30576276 1.12305763
-2.45161290 5.06451613 12.55517544 1.12555175
-2.45161290 5.35483871 12.80665986 1.12806660
-2.45161290 5.64516129 13.06809323 1.13068093
-2.45161290 5.93548387 13.35056196 1.13350562
-2.45161290 6.22580645 13.66657067 1.13666571
-2.45161290 6.51612903 14.04212491 1.14042125
-2.45161290 6.80645161 14.52492871 1.14524929
-2.45161290 7.09677419 15.00000000 1.15000000
-2.45161290 7.38709677 15.00000000 1.15000000
-2.45161290 7.67741935 15.00000000 1.15000000
-2.45161290 7.96774194 15.00000000 1.15000000
-2.45161290 8.25806452 15.00000000 1.15000000
-2.45161290 8.54838710 15.00000000 1.15000000
-2.45161290 8.83870968 15.00000000 1.15000000
-2.45161290 9.12903226 15.00000000 1.15000000
-2.45161290 9.41935484 15.00000000 1.15000000
-2.45161290 9.70967742 15.00000000 1.15000000
-2.45161290 10.00000000 15.00000000 1.15000000
-2.74193548 1.00000000 10.00000296 1.10000003
-2.74193548 1.29032258 10.00000296 1.10000003
-2.74193548 1.58064516 10.00000296 1.10000003
-2.74193548 1.87096774 10.00000296 1.10000003
-2.74193548 2.16129032 10.00000296 1.10000003
-2.74193548 2.45161290 10.00000296 1.10000003
-2.74193548 2.74193548 10.00000296 1.10000003
-2.74193548 3.03225806 10.10361204 1.10103612
-2.74193548 3.32258065 10.70846739 1.10708467
-2.74193548 3.61290323 11.13394556 1.11133946
-2.74193548 3.90322581 11.47924881 1.11479249
-2.74193548 4.19354839 11.77837052 1.11778371
-2.74193548 4.48387097 12.05010492 1.12050105
-2.74193548 4.77419355 12.30576276 1.12305763
-2.74193548 5.06451613 12.55517544 1.12555175
-2.74193548 5.35483871 12.80665986 1.12806660
-2.74193548 5.64516129 13.06809323 1.13068093
-2.74193548 5.93548387 13.35056196 1.13350562
-2.74193548 6.22580645 13.66657067 1.13666571
-2.74193548 6.51612903 14.04212491 1.14042125
-2.74193548 6.80645161 14.52492871 1.14524929
-2.74193548 7.09677419 15.00000000 1.15000000
-2.74193548 7.38709677 15.00000000 1.15000000
-2.74193548 7.67741935 15.00000000 1.15000000
-2.74193548 7.96774194 15.00000000 1.15000000
-2.74193548 8.25806452 15.00000000 1.15000000
-2.74193548 8.54838710 15.00000000 1.15000000
-2.74193548 8.83870968 15.00000000 1.15000000
-2.74193548 9.12903226 15.00000000 1.15000000
-2.74193548 9.41935484 15.00000000 1.15000000
-2.74193548 9.70967742 15.00000000 1.15000000
-2.74193548 10.00000000 15.00000000 1.15000000
-3.03225806 1.00000000 10.10361204 1.10103612
-3.03225806 1.29032258 10.10361204 1.10103612
-3.03225806 1.58064516 10.10361204 1.10103612
-3.03225806 1.87096774 10.10361204 1.10103612
-3.03225806 2.16129032 10.10361204 1.10103612
-3.03225806 2.45161290 10.10361204 1.10103612
-3.03225806 2.74193548 10.10361204 1.10103612
-3.03225806 3.03225806 10.20435811 1.10204358
-3.03225806 3.32258065 10.79601822 1.10796018
-3.03225806 3.61290323 11.21535874 1.11215359
-3.03225806 3.90322581 11.55784646 1.11557846
-3.03225806 4.19354839 11.85579036 1.11855790
-3.03225806 4.48387097 12.12724043 1.12127240
-3.03225806 4.77419355 12.38405258 1.12384053
-3.03225806 5.06451613 12.63499742 1.12634997
-3.03225806 5.35483871 12.88858563 1.12888586
-3.03225806 5.64516129 13.15323067 1.13153231
-3.03225806 5.93548387 13.43888099 1.13438881
-3.03225806 6.22580645 13.75926546 1.13759265
-3.03225806 6.51612903 14.13934485 1.14139345
-3.03225806 6.80645161 14.62674650 1.14626746
-3.03225806 7.09677419 15.10357489 1.15103575
-3.03225806 7.38709677 15.10357489 1.15103575
-3.03225806 7.67741935 15.10357489 1.15103575
-3.03225806 7.96774194 15.10357489 1.15103575
-3.03225806 8.25806452 15.10357489 1.15103575
-3.03225806 8.54838710 15.10357489 1.15103575
-3.03225806 8.83870968 15.10357489 1.15103575
-3.03225806 9.12903226 15.10357489 1.15103575
-3.03225806 9.41935484 15.10357489 1.15103575
-3.03225806 9.70967742 15.10357489 1.15103575
-3.03225806 10.00000000 15.10357489 1.15103575
-3.32258065 1.00000000 10.70846739 1.10708467
-3.32258065 1.29032258 10.70846739 1.10708467
-3.32258065 1.58064516 10.70846739 1.10708467
-3.32258065 1.87096774 10.70846739 1.10708467
-3.32258065 2.16129032 10.70846739 1.10708467
-3.32258065 2.45161290 10.70846739 1.10708467
-3.32258065 2.74193548 10.70846739 1.10708467
-3.32258065 3.03225806 10.79601822 1.10796018
-3.32258065 3.32258065 11.32266175 1.11322662
-3.32258065 3.61290323 11.71291316 1.11712913
-3.32258065 3.90322581 12.04341522 1.12043415
-3.32258065 4.19354839 12.33970940 1.12339709
-3.32258065 4.48387097 12.61573315 1.12615733
-3.32258065 4.77419355 12.88122387 1.12881224
-3.32258065 5.06451613 13.14483502 1.13144835
-3.32258065 5.35483871 13.41408247 1.13414082
-3.32258065 5.64516129 13.69613892 1.13696139
-3.32258065 5.93548387 14.00077769 1.14000778
-3.32258065 6.22580645 14.34225854 1.14342259
-3.32258065 6.51612903 14.73996425 1.14739964
-3.32258065 6.80645161 15.23916402 1.15239164
-3.32258065 7.09677419 15.70844950 1.15708449
-3.32258065 7.38709677 15.70844950 1.15708449
-3.32258065 7.67741935 15.70844950 1.15708449
-3.32258065 7.96774194 15.70844950 1.15708449
-3.32258065 8.25806452 15.70844950 1.15708449
-3.32258065 8.54838710 15.70844950 1.15708449
-3.32258065 8.83870968 15.70844950 1.15708449
-3.32258065 9.12903226 15.70844950 1.15708449
-3.32258065 9.41935484 15.70844950 1.15708449
-3.32258065 9.70967742 15.70844950 1.15708449
-3.32258065 10.00000000 15.70844950 1.15708449
-3.61290323 1.00000000 11.13394556 1.11133946
-3.61290323 1.29032258 11.13394556 1.11133946
-3.61290323 1.58064516 11.13394556 1.11133946
-3.61290323 1.87096774 11.13394556 1.11133946
-3.61290323 2.16129032 11.13394556 1.11133946
-3.61290323 2.45161290 11.13394556 1.11133946
-3.61290323 2.74193548 11.13394556 1.11133946
-3.61290323 3.03225806 11.21535874 1.11215359
-3.61290323 3.32258065 11.71291316 1.11712913
-3.61290323 3.61290323 12.09048689 1.12090487
-3.61290323 3.90322581 12.41795109 1.12417951
-3.61290323 4.19354839 12.71702039 1.12717020
-3.61290323 4.48387097 12.99911163 1.12999112
-3.61290323 4.77419355 13.27378061 1.13273781
-3.61290323 5.06451613 13.54771797 1.13547718
-3.61290323 5.35483871 13.82751223 1.13827512
-3.61290323 5.64516129 14.12018766 1.14120188
-3.61290323 5.93548387 14.43537168 1.14435372
-3.61290323 6.22580645 14.78491413 1.14784914
-3.61290323 6.51612903 15.18700487 1.15187005
-3.61290323 6.80645161 15.68154801 1.15681548
-3.61290323 7.09677419 16.13382374 1.16133824
-3.61290323 7.38709677 16.13382374 1.16133824
-3.61290323 7.67741935 16.13382374 1.16133824
-3.61290323 7.96774194 16.13382374 1.16133824
-3.61290323 8.25806452 16.13382374 1.16133824
-3.61290323 8.54838710 16.13382374 1.16133824
-3.61290323 8.83870968 16.13382374 1.16133824
-3.61290323 9.12903226 16.13382374 1.16133824
-3.61290323 9.41935484 16.13382374 1.16133824
-3.61290323 9.70967742 16.13382374 1.16133824
-3.61290323 10.00000000 16.13382374 1.16133824
-3.90322581 1.00000000 11.47924881 1.11479249
-3.90322581 1.29032258 11.47924881 1.11479249
-3.90322581 1.58064516 11.47924881 1.11479249
-3.90322581 1.87096774 11.47924881 1.11479249
-3.90322581 2.16129032 11.47924881 1.11479249
-3.90322581 2.45161290 11.47924881 1.11479249
-3.90322581 2.74193548 11.47924881 1.11479249
-3.90322581 3.03225806 11.55784646 1.11557846
-3.90322581 3.32258065 12.04341522 1.12043415
-3.90322581 3.61290323 12.41795109 1.12417951
-3.90322581 3.90322581 12.74629906 1.12746299
-3.90322581 4.19354839 13.04969635 1.13049696
-3.90322581 4.48387097 13.33797049 1.13337970
-3.90322581 4.77419355 13.62015959 1.13620160
-3.90322581 5.06451613 13.90194660 1.13901947
-3.90322581 5.35483871 14.18888316 1.14188883
-3.90322581 5.64516129 14.48954068 1.14489541
-3.90322581 5.93548387 14.80982202 1.14809822
-3.90322581 6.22580645 15.16074884 1.15160749
-3.90322581 6.51612903 15.56087142 1.15560871
-3.90322581 6.80645161 16.04390018 1.16043900
-3.90322581 7.09677419 16.47922769 1.16479228
-3.90322581 7.38709677 16.47922769 1.16479228
-3.90322581 7.67741935 16.47922769 1.16479228
-3.90322581 7.96774194 16.47922769 1.16479228
-3.90322581 8.25806452 16.47922769 1.16479228
-3.90322581 8.54838710 16.47922769 1.16479228
-3.90322581 8.83870968 16.47922769 1.16479228
-3.90322581 9.12903226 16.47922769 1.16479228
-3.90322581 9.41935484 16.47922769 1.16479228
-3.90322581 9.70967742 16.47922769 1.16479228
-3.90322581 10.00000000 16.47922769 1.16479228
-4.19354839 1.00000000 11.77837052 1.11778371
-4.19354839 1.29032258 11.77837052 1.11778371
-4.19354839 1.58064516 11.77837052 1.11778371
-4.19354839 1.87096774 11.77837052 1.11778371
-4.19354839 2.16129032 11.77837052 1.11778371
-4.19354839 2.45161290 11.77837052 1.11778371
-4.19354839 2.74193548 11.77837052 1.11778371
-4.19354839 3.03225806 11.85579036 1.11855790
-4.19354839 3.32258065 12.33970940 1.12339709
-4.19354839 3.61290323 12.71702039 1.12717020
-4.19354839 3.90322581 13.04969635 1.13049696
-4.19354839 4.19354839 13.35789542 1.13357895
-4.19354839 4.48387097 13.65214664 1.13652147
-4.19354839 4.77419355 13.94035790 1.13940358
-4.19354839 5.06451613 14.22819712 1.14228197
-4.19354839 5.35483871 14.52045260 1.14520453
-4.19354839 5.64516129 14.82442596 1.14824426
-4.19354839 5.93548387 15.14611095 1.15146111
-4.19354839 6.22580645 15.49584016 1.15495840
-4.19354839 6.51612903 15.88989883 1.15889899
-4.19354839 6.80645161 16.36071096 1.16360711
-4.19354839 7.09677419 16.77845274 1.16778453
-4.19354839 7.38709677 16.77845274 1.16778453
-4.19354839 7.67741935 16.77845274 1.16778453
-4.19354839 7.96774194 16.77845274 1.16778453
-4.19354839 8.25806452 16.77845274 1.16778453
-4.19354839 8.54838710 16.77845274 1.16778453
-4.19354839 8.83870968 16.77845274 1.16778453
-4.19354839 9.12903226 16.77845274 1.16778453
-4.19354839 9.41935484 16.77845274 1.16778453
-4.19354839 9.70967742 16.77845274 1.16778453
-4.19354839 10.00000000 16.77845274 1.16778453
-4.48387097 1.00000000 12.05010492 1.12050105
-4.48387097 1.29032258 12.05010492 1.12050105
-4.48387097 1.58064516 12.05010492 1.12050105
-4.48387097 1.87096774 12.05010492 1.12050105
-4.48387097 2.16129032 12.05010492 1.12050105
-4.48387097 2.45161290 12.05010492 1.12050105
-4.48387097 2.74193548 12.05010492 1.12050105
-4.48387097 3.03225806 12.12724043 1.12127240
-4.48387097 3.32258065 12.61573315 1.12615733
-4.48387097 3.61290323 12.99911163 1.12999112
-4.48387097 3.90322581 13.33797049 1.13337970
-4.48387097 4.19354839 13.65214664 1.13652147
-4.48387097 4.48387097 13.95167976 1.13951680
-4.48387097 4.77419355 14.24536545 1.14245365
-4.48387097 5.06451613 14.53742599 1.14537426
-4.48387097 5.35483871 14.83253803 1.14832538
-4.48387097 5.64516129 15.13703643 1.15137036
-4.48387097 5.93548387 15.45709896 1.15457099
-4.48387097 6.22580645 15.80333467 1.15803335
-4.48387097 6.51612903 16.18964589 1.16189646
-4.48387097 6.80645161 16.64650295 1.16646503
-4.48387097 7.09677419 17.05002382 1.17050024
-4.48387097 7.38709677 17.05002382 1.17050024
-4.48387097 7.67741935 17.05002382 1.17050024
-4.48387097 7.96774194 17.05002382 1.17050024
-4.48387097 8.25806452 17.05002382 1.17050024
-4.48387097 8.54838710 17.05002382 1.17050024
-4.48387097 8.83870968 17.05002382 1.17050024
-4.48387097 9.12903226 17.05002382 1.17050024
-4.48387097 9.41935484 17.05002382 1.17050024
-4.48387097 9.70967742 17.05002382 1.17050024
-4.48387097 10.00000000 17.05002382 1.17050024
-4.77419355 1.00000000 12.30576276 1.12305763
-4.77419355 1.29032258 12.30576276 1.12305763
-4.77419355 1.58064516 12.30576276 1.12305763
-4.77419355 1.87096774 12.30576276 1.12305763
-4.77419355 2.16129032 12.30576276 1.12305763
-4.77419355 2.45161290 12.30576276 1.12305763
-4.77419355 2.74193548 12.30576276 1.12305763
-4.77419355 3.03225806 12.38405258 1.12384053
-4.77419355 3.32258065 12.88122387 1.12881224
-4.77419355 3.61290323 13.27378061 1.13273781
-4.77419355 3.90322581 13.62015959 1.13620160
-4.77419355 4.19354839 13.94035790 1.13940358
-4.77419355 4.48387097 14.24536545 1.14245365
-4.77419355 4.77419355 14.54225355 1.14542254
-4.77419355 5.06451613 14.83618630 1.14836186
-4.77419355 5.35483871 15.13221695 1.15132217
-4.77419355 5.64516129 15.43597664 1.15435977
-4.77419355 5.93548387 15.75365034 1.15753650
-4.77419355 6.22580645 16.09439857 1.16094399
-4.77419355 6.51612903 16.47201646 1.16472016
-4.77419355 6.80645161 16.91532876 1.16915329
-4.77419355 7.09677419 17.30571907 1.17305719
-4.77419355 7.38709677 17.30571907 1.17305719
-4.77419355 7.67741935 17.30571907 1.17305719
-4.77419355 7.96774194 17.30571907 1.17305719
-4.77419355 8.25806452 17.30571907 1.17305719
-4.77419355 8.54838710 17.30571907 1.17305719
-4.77419355 8.83870968 17.30571907 1.17305719
-4.77419355 9.12903226 17.30571907 1.17305719
-4.77419355 9.41935484 17.30571907 1.17305719
-4.77419355 9.70967742 17.30571907 1.17305719
-4.77419355 10.00000000 17.30571907 1.17305719
-5.06451613 1.00000000 12.55517544 1.12555175
-5.06451613 1.29032258 12.55517544 1.12555175
-5.06451613 1.58064516 12.55517544 1.12555175
-5.06451613 1.87096774 12.55517544 1.12555175
-5.06451613 2.16129032 12.55517544 1.12555175
-5.06451613 2.45161290 12.55517544 1.12555175
-5.06451613 2.74193548 12.55517544 1.12555175
-5.06451613 3.03225806 12.63499742 1.12634997
-5.06451613 3.32258065 13.14483502 1.13144835
-5.06451613 3.61290323 13.54771797 1.13547718
-5.06451613 3.90322581 13.90194660 1.13901947
-5.06451613 4.19354839 14.22819712 1.14228197
-5.06451613 4.48387097 14.53742599 1.14537426
-5.06451613 4.77419355 14.83618630 1.14836186
-5.06451613 5.06451613 15.13082220 1.15130822
-5.06451613 5.35483871 15.42613481 1.15426135
-5.06451613 5.64516129 15.72760843 1.15727608
-5.06451613 5.93548387 16.04091807 1.16040918
-5.06451613 6.22580645 16.37497163 1.16374972
-5.06451613 6.51612903 16.74347970 1.16743480
-5.06451613 6.80645161 17.17503189 1.17175032
-5.06451613 7.09677419 17.55554644 1.17555546
-5.06451613 7.38709677 17.55554644 1.17555546
-5.06451613 7.67741935 17.55554644 1.17555546
-5.06451613 7.96774194 17.55554644 1.17555546
-5.06451613 8.25806452 17.55554644 1.17555546
-5.06451613 8.54838710 17.55554644 1.17555546
-5.06451613 8.83870968 17.55554644 1.17555546
-5.06451613 9.12903226 17.55554644 1.17555546
-5.06451613 9.41935484 17.55554644 1.17555546
-5.06451613 9.70967742 17.55554644 1.17555546
-5.06451613 10.00000000 17.55554644 1.17555546
-5.35483871 1.00000000 12.80665986 1.12806660
-5.35483871 1.29032258 12.80665986 1.12806660
-5.35483871 1.58064516 12.80665986 1.12806660
-5.35483871 1.87096774 12.80665986 1.12806660
-5.35483871 2.16129032 12.80665986 1.12806660
-5.35483871 2.45161290 12.80665986 1.12806660
-5.35483871 2.74193548 12.80665986 1.12806660
-5.35483871 3.03225806 12.88858563 1.12888586
-5.35483871 3.32258065 13.41408247 1.13414082
-5.35483871 3.61290323 13.82751223 1.13827512
-5.35483871 3.90322581 14.18888316 1.14188883
-5.35483871 4.19354839 14.52045260 1.14520453
-5.35483871 4.48387097 14.83253803 1.14832538
-5.35483871 4.77419355 15.13221695 1.15132217
-5.35483871 5.06451613 15.42613481 1.15426135
-5.35483871 5.35483871 15.71936190 1.15719362
-5.35483871 5.64516129 16.01779116 1.16017791
-5.35483871 5.93548387 16.32590382 1.16325904
-5.35483871 6.22580645 16.65335849 1.16653358
-5.35483871 6.51612903 17.01334871 1.17013349
-5.35483871 6.80645161 17.43409709 1.17434097
-5.35483871 7.09677419 17.80639865 1.17806399
-5.35483871 7.38709677 17.80639865 1.17806399
-5.35483871 7.67741935 17.80639865 1.17806399
-5.35483871 7.96774194 17.80639865 1.17806399
-5.35483871 8.25806452 17.80639865 1.17806399
-5.35483871 8.54838710 17.80639865 1.17806399
-5.35483871 8.83870968 17.80639865 1.17806399
-5.35483871 9.12903226 17.80639865 1.17806399
-5.35483871 9.41935484 17.80639865 1.17806399
-5.35483871 9.70967742 17.80639865 1.17806399
-5.35483871 10.00000000 17.80639865 1.17806399
-5.64516129 1.00000000 13.06809323 1.13068093
-5.64516129 1.29032258 13.06809323 1.13068093
-5.64516129 1.58064516 13.06809323 1.13068093
-5.64516129 1.87096774 13.06809323 1.13068093
-5.64516129 2.16129032 13.06809323 1.13068093
-5.64516129 2.45161290 13.06809323 1.13068093
-5.64516129 2.74193548 13.06809323 1.13068093
-5.64516129 3.03225806 13.15323067 1.13153231
-5.64516129 3.32258065 13.69613892 1.13696139
-5.64516129 3.61290323 14.12018766 1.14120188
-5.64516129 3.90322581 14.48954068 1.14489541
-5.64516129 4.19354839 14.82442596 1.14824426
-5.64516129 4.48387097 15.13703643 1.15137036
-5.64516129 4.77419355 15.43597664 1.15435977
-5.64516129 5.06451613 15.72760843 1.15727608
-5.64516129 5.35483871 16.01779116 1.16017791
-5.64516129 5.64516129 16.31159861 1.16311599
-5.64516129 5.93548387 16.61373257 1.16613733
-5.64516129 6.22580645 16.93399499 1.16933995
-5.64516129 6.51612903 17.28681907 1.17286819
-5.64516129 6.80645161 17.70002087 1.17700021
-5.64516129 7.09677419 18.06809818 1.18068098
-5.64516129 7.38709677 18.06809818 1.18068098
-5.64516129 7.67741935 18.06809818 1.18068098
-5.64516129 7.96774194 18.06809818 1.18068098
-5.64516129 8.25806452 18.06809818 1.18068098
-5.64516129 8.54838710 18.06809818 1.18068098
-5.64516129 8.83870968 18.06809818 1.18068098
-5.64516129 9.12903226 18.06809818 1.18068098
-5.64516129 9.41935484 18.06809818 1.18068098
-5.64516129 9.70967742 18.06809818 1.18068098
-5.64516129 10.00000000 18.06809818 1.18068098
-5.93548387 1.00000000 13.35056196 1.13350562
-5.93548387 1.29032258 13.35056196 1.13350562
-5.93548387 1.58064516 13.35056196 1.13350562
-5.93548387 1.87096774 13.35056196 1.13350562
-5.93548387 2.16129032 13.35056196 1.13350562
-5.93548387 2.45161290 13.35056196 1.13350562
-5.93548387 2.74193548 13.35056196 1.13350562
-5.93548387 3.03225806 13.43888099 1.13438881
-5.93548387 3.32258065 14.00077769 1.14000778
-5.93548387 3.61290323 14.43537168 1.14435372
-5.93548387 3.90322581 14.80982202 1.14809822
-5.93548387 4.19354839 15.14611095 1.15146111
-5.93548387 4.48387097 15.45709896 1.15457099
-5.93548387 4.77419355 15.75365034 1.15753650
-5.93548387 5.06451613 16.04091807 1.16040918
-5.93548387 5.35483871 16.32590382 1.16325904
-5.93548387 5.64516129 16.61373257 1.16613733
-5.93548387 5.93548387 16.91101948 1.16911019
-5.93548387 6.22580645 17.22556302 1.17225563
-5.93548387 6.51612903 17.57263541 1.17572635
-5.93548387 6.80645161 17.98210647 1.17982106
-5.93548387 7.09677419 18.34996260 1.18349963
-5.93548387 7.38709677 18.34996260 1.18349963
-5.93548387 7.67741935 18.34996260 1.18349963
-5.93548387 7.96774194 18.34996260 1.18349963
-5.93548387 8.25806452 18.34996260 1.18349963
-5.93548387 8.54838710 18.34996260 1.18349963
-5.93548387 8.83870968 18.34996260 1.18349963
-5.93548387 9.12903226 18.34996260 1.18349963
-5.93548387 9.41935484 18.34996260 1.18349963
-5.93548387 9.70967742 18.34996260 1.18349963
-5.93548387 10.00000000 18.34996260 1.18349963
-6.22580645 1.00000000 13.66657067 1.13666571
-6.22580645 1.29032258 13.66657067 1.13666571
-6.22580645 1.58064516 13.66657067 1.13666571
-6.22580645 1.87096774 13.66657067 1.13666571
-6.22580645 2.16129032 13.66657067 1.13666571
-6.22580645 2.45161290 13.66657067 1.13666571
-6.22580645 2.74193548 13.66657067 1.13666571
-6.22580645 3.03225806 13.75926546 1.13759265
-6.22580645 3.32258065 14.34225854 1.14342259
-6.22580645 3.61290323 14.78491413 1.14784914
-6.22580645 3.90322581 15.16074884 1.15160749
-6.22580645 4.19354839 15.49584016 1.15495840
-6.22580645 4.48387097 15.80333467 1.15803335
-6.22580645 4.77419355 16.09439857 1.16094399
-6.22580645 5.06451613 16.37497163 1.16374972
-6.22580645 5.35483871 16.65335849 1.16653358
-6.22580645 5.64516129 16.93399499 1.16933995
-6.22580645 5.93548387 17.22556302 1.17225563
-6.22580645 6.22580645 17.53669460 1.17536695
-6.22580645 6.51612903 17.88214034 1.17882140
-6.22580645 6.80645161 18.29211153 1.18292112
-6.22580645 7.09677419 18.66701771 1.18667018
-6.22580645 7.38709677 18.66701771 1.18667018
-6.22580645 7.67741935 18.66701771 1.18667018
-6.22580645 7.96774194 18.66701771 1.18667018
-6.22580645 8.25806452 18.66701771 1.18667018
-6.22580645 8.54838710 18.66701771 1.18667018
-6.22580645 8.83870968 18.66701771 1.18667018
-6.22580645 9.12903226 18.66701771 1.18667018
-6.22580645 9.41935484 18.66701771 1.18667018
-6.22580645 9.70967742 18.66701771 1.18667018
-6.22580645 10.00000000 18.66701771 1.18667018
-6.51612903 1.00000000 14.04212491 1.14042125
-6.51612903 1.29032258 14.04212491 1.14042125
-6.51612903 1.58064516 14.04212491 1.14042125
-6.51612903 1.87096774 14.04212491 1.14042125
-6.51612903 2.16129032 14.04212491 1.14042125
-6.51612903 2.45161290 14.04212491 1.14042125
-6.51612903 2.74193548 14.04212491 1.14042125
-6.51612903 3.03225806 14.13934485 1.14139345
-6.51612903 3.32258065 14.73996425 1.14739964
-6.51612903 3.61290323 15.18700487 1.15187005
-6.51612903 3.90322581 15.56087142 1.15560871
-6.51612903 4.19354839 15.88989883 1.15889899
-6.51612903 4.48387097 16.18964589 1.16189646
-6.51612903 4.77419355 16.47201646 1.16472016
-6.51612903 5.06451613 16.74347970 1.16743480
-6.51612903 5.35483871 17.01334871 1.17013349
-6.51612903 5.64516129 17.28681907 1.17286819
-6.51612903 5.93548387 17.57263541 1.17572635
-6.51612903 6.22580645 17.88214034 1.17882140
-6.51612903 6.51612903 18.22999587 1.18229996
-6.51612903 6.80645161 18.65108897 1.18651089
-6.51612903 7.09677419 19.04189908 1.19041899
-6.51612903 7.38709677 19.04189908 1.19041899
-6.51612903 7.67741935 19.04189908 1.19041899
-6.51612903 7.96774194 19.04189908 1.19041899
-6.51612903 8.25806452 19.04189908 1.19041899
-6.51612903 8.54838710 19.04189908 1.19041899
-6.51612903 8.83870968 19.04189908 1.19041899
-6.51612903 9.12903226 19.04189908 1.19041899
-6.51612903 9.41935484 19.04189908 1.19041899
-6.51612903 9.70967742 19.04189908 1.19041899
-6.51612903 10.00000000 19.04189908 1.19041899
-6.80645161 1.00000000 14.52492871 1.14524929
-6.80645161 1.29032258 14.52492871 1.14524929
-6.80645161 1.58064516 14.52492871 1.14524929
-6.80645161 1.87096774 14.52492871 1.14524929
-6.80645161 2.16129032 14.52492871 1.14524929
-6.80645161 2.45161290 14.52492871 1.14524929
-6.80645161 2.74193548 14.52492871 1.14524929
-6.80645161 3.03225806 14.62674650 1.14626746
-6.80645161 3.32258065 15.23916402 1.15239164
-6.80645161 3.61290323 15.68154801 1.15681548
-6.80645161 3.90322581 16.04390018 1.16043900
-6.80645161 4.19354839 16.36071096 1.16360711
-6.80645161 4.48387097 16.64650295 1.16646503
-6.80645161 4.77419355 16.91532876 1.16915329
-6.80645161 5.06451613 17.17503189 1.17175032
-6.80645161 5.35483871 17.43409709 1.17434097
-6.80645161 5.64516129 17.70002087 1.17700021
-6.80645161 5.93548387 17.98210647 1.17982106
-6.80645161 6.22580645 18.29211153 1.18292112
-6.80645161 6.51612903 18.65108897 1.18651089
-6.80645161 6.80645161 19.09888025 1.19098880
-6.80645161 7.09677419 19.52496415 1.19524964
-6.80645161 7.38709677 19.52496415 1.19524964
-6.80645161 7.67741935 19.52496415 1.19524964
-6.80645161 7.96774194 19.52496415 1.19524964
-6.80645161 8.25806452 19.52496415 1.19524964
-6.80645161 8.54838710 19.52496415 1.19524964
-6.80645161 8.83870968 19.52496415 1.19524964
-6.80645161 9.12903226 19.52496415 1.19524964
-6.80645161 9.41935484 19.52496415 1.19524964
-6.80645161 9.70967742 19.52496415 1.19524964
-6.80645161 10.00000000 19.52496415 1.19524964
-7.09677419 1.00000000 15.00000000 1.15000000
-7.09677419 1.29032258 15.00000000 1.15000000
-7.09677419 1.58064516 15.00000000 1.15000000
-7.09677419 1.87096774 15.00000000 1.15000000
-7.09677419 2.16129032 15.00000000 1.15000000
-7.09677419 2.45161290 15.00000000 1.15000000
-7.09677419 2.74193548 15.00000000 1.15000000
-7.09677419 3.03225806 15.10357489 1.15103575
-7.09677419 3.32258065 15.70844950 1.15708449
-7.09677419 3.61290323 16.13382374 1.16133824
-7.09677419 3.90322581 16.47922769 1.16479228
-7.09677419 4.19354839 16.77845274 1.16778453
-7.09677419 4.48387097 17.05002382 1.17050024
-7.09677419 4.77419355 17.30571907 1.17305719
-7.09677419 5.06451613 17.55554644 1.17555546
-7.09677419 5.35483871 17.80639865 1.17806399
-7.09677419 5.64516129 18.06809818 1.18068098
-7.09677419 5.93548387 18.34996260 1.18349963
-7.09677419 6.22580645 18.66701771 1.18667018
-7.09677419 6.51612903 19.04189908 1.19041899
-7.09677419 6.80645161 19.52496415 1.19524964
-7.09677419 7.09677419 19.99999704 1.19999997
-7.09677419 7.38709677 19.99999704 1.19999997
-7.09677419 7.67741935 19.99999704 1.19999997
-7.09677419 7.96774194 19.99999704 1.19999997
-7.09677419 8.25806452 19.99999704 1.19999997
-7.09677419 8.54838710 19.99999704 1.19999997
-7.09677419 8.83870968 19.99999704 1.19999997
-7.09677419 9.12903226 19.99999704 1.19999997
-7.09677419 9.41935484 19.99999704 1.19999997
-7.09677419 9.70967742 19.99999704 1.19999997
-7.09677419 10.00000000 19.99999704 1.19999997
-7.38709677 1.00000000 15.00000000 1.15000000
-7.38709677 1.29032258 15.00000000 1.15000000
-7.38709677 1.58064516 15.00000000 1.15000000
-7.38709677 1.87096774 15.00000000 1.15000000
-7.38709677 2.16129032 15.00000000 1.15000000
-7.38709677 2.45161290 15.00000000 1.15000000
-7.38709677 2.74193548 15.00000000 1.15000000
-7.38709677 3.03225806 15.10357489 1.15103575
-7.38709677 3.32258065 15.70844950 1.15708449
-7.38709677 3.61290323 16.13382374 1.16133824
-7.38709677 3.90322581 16.47922769 1.16479228
-7.38709677 4.19354839 16.77845274 1.16778453
-7.38709677 4.48387097 17.05002382 1.17050024
-7.38709677 4.77419355 17.30571907 1.17305719
-7.38709677 5.06451613 17.55554644 1.17555546
-7.38709677 5.35483871 17.80639865 1.17806399
-7.38709677 5.64516129 18.06809818 1.18068098
-7.38709677 5.93548387 18.34996260 1.18349963
-7.38709677 6.22580645 18.66701771 1.18667018
-7.38709677 6.51612903 19.04189908 1.19041899
-7.38709677 6.80645161 19.52496415 1.19524964
-7.38709677 7.09677419 19.99999704 1.19999997
-7.38709677 7.38709677 19.99999704 1.19999997
-7.38709677 7.67741935 19.99999704 1.19999997
-7.38709677 7.96774194 19.99999704 1.19999997
-7.38709677 8.25806452 19.99999704 1.19999997
-7.38709677 8.54838710 19.99999704 1.19999997
-7.38709677 8.83870968 19.99999704 1.19999997
-7.38709677 9.12903226 19.99999704 1.19999997
-7.38709677 9.41935484 19.99999704 1.19999997
-7.38709677 9.70967742 19.99999704 1.19999997
-7.38709677 10.00000000 19.99999704 1.19999997
-7.67741935 1.00000000 15.00000000 1.15000000
-7.67741935 1.29032258 15.00000000 1.15000000
-7.67741935 1.58064516 15.00000000 1.15000000
-7.67741935 1.87096774 15.00000000 1.15000000
-7.67741935 2.16129032 15.00000000 1.15000000
-7.67741935 2.45161290 15.00000000 1.15000000
-7.67741935 2.74193548 15.00000000 1.15000000
-7.67741935 3.03225806 15.10357489 1.15103575
-7.67741935 3.32258065 15.70844950 1.15708449
-7.67741935 3.61290323 16.13382374 1.16133824
-7.67741935 3.90322581 16.47922769 1.16479228
-7.67741935 4.19354839 16.77845274 1.16778453
-7.67741935 4.48387097 17.05002382 1.17050024
-7.67741935 4.77419355 17.30571907 1.17305719
-7.67741935 5.06451613 17.55554644 1.17555546
-7.67741935 5.35483871 17.80639865 1.17806399
-7.67741935 5.64516129 18.06809818 1.18068098
-7.67741935 5.93548387 18.34996260 1.18349963
-7.67741935 6.22580645 18.66701771 1.18667018
-7.67741935 6.51612903 19.04189908 1.19041899
-7.67741935 6.80645161 19.52496415 1.19524964
-7.67741935 7.09677419 19.99999704 1.19999997
-7.67741935 7.38709677 19.99999704 1.19999997
-7.67741935 7.67741935 19.99999704 1.19999997
-7.67741935 7.96774194 19.99999704 1.19999997
-7.67741935 8.25806452 19.99999704 1.19999997
-7.67741935 8.54838710 19.99999704 1.19999997
-7.67741935 8.83870968 19.99999704 1.19999997
-7.67741935 9.12903226 19.99999704 1.19999997
-7.67741935 9.41935484 19.99999704 1.19999997
-7.67741935 9.70967742 19.99999704 1.19999997
-7.67741935 10.00000000 19.99999704 1.19999997
-7.96774194 1.00000000 15.00000000 1.15000000
-7.96774194 1.29032258 15.00000000 1.15000000
-7.96774194 1.58064516 15.00000000 1.15000000
-7.96774194 1.87096774 15.00000000 1.15000000
-7.96774194 2.16129032 15.00000000 1.15000000
-7.96774194 2.45161290 15.00000000 1.15000000
-7.96774194 2.74193548 15.00000000 1.15000000
-7.96774194 3.03225806 15.10357489 1.15103575
-7.96774194 3.32258065 15.70844950 1.15708449
-7.96774194 3.61290323 16.13382374 1.16133824
-7.96774194 3.90322581 16.47922769 1.16479228
-7.96774194 4.19354839 16.77845274 1.16778453
-7.96774194 4.48387097 17.05002382 1.17050024
-7.96774194 4.77419355 17.30571907 1.17305719
-7.96774194 5.06451613 17.55554644 1.17555546
-7.96774194 5.35483871 17.80639865 1.17806399
-7.96774194 5.64516129 18.06809818 1.18068098
-7.96774194 5.93548387 18.34996260 1.18349963
-7.96774194 6.22580645 18.66701771 1.18667018
-7.96774194 6.51612903 19.04189908 1.19041899
-7.96774194 6.80645161 19.52496415 1.19524964
-7.96774194 7.09677419 19.99999704 1.19999997
-7.96774194 7.38709677 19.99999704 1.19999997
-7.96774194 7.67741935 19.99999704 1.19999997
-7.96774194 7.96774194 19.99999704 1.19999997
-7.96774194 8.25806452 19.99999704 1.19999997
-7.96774194 8.54838710 19.99999704 1.19999997
-7.96774194 8.83870968 19.99999704 1.19999997
-7.96774194 9.12903226 19.99999704 1.19999997
-7.96774194 9.41935484 19.99999704 1.19999997
-7.96774194 9.70967742 19.99999704 1.19999997
-7.96774194 10.00000000 19.99999704 1.19999997
-8.25806452 1.00000000 15.00000000 1.15000000
-8.25806452 1.29032258 15.00000000 1.15000000
-8.25806452 1.58064516 15.00000000 1.15000000
-8.25806452 1.87096774 15.00000000 1.15000000
-8.25806452 2.16129032 15.00000000 1.15000000
-8.25806452 2.45161290 15.00000000 1.15000000
-8.25806452 2.74193548 15.00000000 1.15000000
-8.25806452 3.03225806 15.10357489 1.15103575
-8.25806452 3.32258065 15.70844950 1.15708449
-8.25806452 3.61290323 16.13382374 1.16133824
-8.25806452 3.90322581 16.47922769 1.16479228
-8.25806452 4.19354839 16.77845274 1.16778453
-8.25806452 4.48387097 17.05002382 1.17050024
-8.25806452 4.77419355 17.30571907 1.17305719
-8.25806452 5.06451613 17.55554644 1.17555546
-8.25806452 5.35483871 17.80639865 1.17806399
-8.25806452 5.64516129 18.06809818 1.18068098
-8.25806452 5.93548387 18.34996260 1.18349963
-8.25806452 6.22580645 18.66701771 1.18667018
-8.25806452 6.51612903 19.04189908 1.19041899
-8.25806452 6.80645161 19.52496415 1.19524964
-8.25806452 7.09677419 19.99999704 1.19999997
-8.25806452 7.38709677 19.99999704 1.19999997
-8.25806452 7.67741935 19.99999704 1.19999997
-8.25806452 7.96774194 19.99999704 1.19999997
-8.25806452 8.25806452 19.99999704 1.19999997
-8.25806452 8.54838710 19.99999704 1.19999997
-8.25806452 8.83870968 19.99999704 1.19999997
-8.25806452 9.12903226 19.99999704 1.19999997
-8.25806452 9.41935484 19.99999704 1.19999997
-8.25806452 9.70967742 19.99999704 1.19999997
-8.25806452 10.00000000 19.99999704 1.19999997
-8.54838710 1.00000000 15.00000000 1.15000000
-8.54838710 1.29032258 15.00000000 1.15000000
-8.54838710 1.58064516 15.00000000 1.15000000
-8.54838710 1.87096774 15.00000000 1.15000000
-8.54838710 2.16129032 15.00000000 1.15000000
-8.54838710 2.45161290 15.00000000 1.15000000
-8.54838710 2.74193548 15.00000000 1.15000000
-8.54838710 3.03225806 15.10357489 1.15103575
-8.54838710 3.32258065 15.70844950 1.15708449
-8.54838710 3.61290323 16.13382374 1.16133824
-8.54838710 3.90322581 16.47922769 1.16479228
-8.54838710 4.19354839 16.77845274 1.16778453
-8.54838710 4.48387097 17.05002382 1.17050024
-8.54838710 4.77419355 17.30571907 1.17305719
-8.54838710 5.06451613 17.55554644 1.17555546
-8.54838710 5.35483871 17.80639865 1.17806399
-8.54838710 5.64516129 18.06809818 1.18068098
-8.54838710 5.93548387 18.34996260 1.18349963
-8.54838710 6.22580645 18.66701771 1.18667018
-8.54838710 6.51612903 19.04189908 1.19041899
-8.54838710 6.80645161 19.52496415 1.19524964
-8.54838710 7.09677419 19.99999704 1.19999997
-8.54838710 7.38709677 19.99999704 1.19999997
-8.54838710 7.67741935 19.99999704 1.19999997
-8.54838710 7.96774194 19.99999704 1.19999997
-8.54838710 8.25806452 19.99999704 1.19999997
-8.54838710 8.54838710 19.99999704 1.19999997
-8.54838710 8.83870968 19.99999704 1.19999997
-8.54838710 9.12903226 19.99999704 1.19999997
-8.54838710 9.41935484 19.99999704 1.19999997
-8.54838710 9.70967742 19.99999704 1.19999997
-8.54838710 10.00000000 19.99999704 1.19999997
-8.83870968 1.00000000 15.00000000 1.15000000
-8.83870968 1.29032258 15.00000000 1.15000000
-8.83870968 1.58064516 15.00000000 1.15000000
-8.83870968 1.87096774 15.00000000 1.15000000
-8.83870968 2.16129032 15.00000000 1.15000000
-8.83870968 2.45161290 15.00000000 1.15000000
-8.83870968 2.74193548 15.00000000 1.15000000
-8.83870968 3.03225806 15.10357489 1.15103575
-8.83870968 3.32258065 15.70844950 1.15708449
-8.83870968 3.61290323 16.13382374 1.16133824
-8.83870968 3.90322581 16.47922769 1.16479228
-8.83870968 4.19354839 16.77845274 1.16778453
-8.83870968 4.48387097 17.05002382 1.17050024
-8.83870968 4.77419355 17.30571907 1.17305719
-8.83870968 5.06451613 17.55554644 1.17555546
-8.83870968 5.35483871 17.80639865 1.17806399
-8.83870968 5.64516129 18.06809818 1.18068098
-8.83870968 5.93548387 18.34996260 1.18349963
-8.83870968 6.22580645 18.66701771 1.18667018
-8.83870968 6.51612903 19.04189908 1.19041899
-8.83870968 6.80645161 19.52496415 1.19524964
-8.83870968 7.09677419 19.99999704 1.19999997
-8.83870968 7.38709677 19.99999704 1.19999997
-8.83870968 7.67741935 19.99999704 1.19999997
-8.83870968 7.96774194 19.99999704 1.19999997
-8.83870968 8.25806452 19.99999704 1.19999997
-8.83870968 8.54838710 19.99999704 1.19999997
-8.83870968 8.83870968 19.99999704 1.19999997
-8.83870968 9.12903226 19.99999704 1.19999997
-8.83870968 9.41935484 19.99999704 1.19999997
-8.83870968 9.70967742 19.99999704 1.19999997
-8.83870968 10.00000000 19.99999704 1.19999997
-9.12903226 1.00000000 15.00000000 1.15000000
-9.12903226 1.29032258 15.00000000 1.15000000
-9.12903226 1.58064516 15.00000000 1.15000000
-9.12903226 1.87096774 15.00000000 1.15000000
-9.12903226 2.16129032 15.00000000 1.15000000
-9.12903226 2.45161290 15.00000000 1.15000000
-9.12903226 2.74193548 15.00000000 1.15000000
-9.12903226 3.03225806 15.10357489 1.15103575
-9.12903226 3.32258065 15.70844950 1.15708449
-9.12903226 3.61290323 16.13382374 1.16133824
-9.12903226 3.90322581 16.47922769 1.16479228
-9.12903226 4.19354839 16.77845274 1.16778453
-9.12903226 4.48387097 17.05002382 1.17050024
-9.12903226 4.77419355 17.30571907 1.17305719
-9.12903226 5.06451613 17.55554644 1.17555546
-9.12903226 5.35483871 17.80639865 1.17806399
-9.12903226 5.64516129 18.06809818 1.18068098
-9.12903226 5.93548387 18.34996260 1.18349963
-9.12903226 6.22580645 18.66701771 1.18667018
-9.12903226 6.51612903 19.04189908 1.19041899
-9.12903226 6.80645161 19.52496415 1.19524964
-9.12903226 7.09677419 19.99999704 1.19999997
-9.12903226 7.38709677 19.99999704 1.19999997
-9.12903226 7.67741935 19.99999704 1.19999997
-9.12903226 7.96774194 19.99999704 1.19999997
-9.12903226 8.25806452 19.99999704 1.19999997
-9.12903226 8.54838710 19.99999704 1.19999997
-9.12903226 8.83870968 19.99999704 1.19999997
-9.12903226 9.12903226 19.99999704 1.19999997
-9.12903226 9.41935484 19.99999704 1.19999997
-9.12903226 9.70967742 19.99999704 1.19999997
-9.12903226 10.00000000 19.99999704 1.19999997
-9.41935484 1.00000000 15.00000000 1.15000000
-9.41935484 1.29032258 15.00000000 1.15000000
-9.41935484 1.58064516 15.00000000 1.15000000
-9.41935484 1.87096774 15.00000000 1.15000000
-9.41935484 2.16129032 15.00000000 1.15000000
-9.41935484 2.45161290 15.00000000 1.15000000
-9.41935484 2.74193548 15.00000000 1.15000000
-9.41935484 3.03225806 15.10357489 1.15103575
-9.41935484 3.32258065 15.70844950 1.15708449
-9.41935484 3.61290323 16.13382374 1.16133824
-9.41935484 3.90322581 16.47922769 1.16479228
-9.41935484 4.19354839 16.77845274 1.16778453
-9.41935484 4.48387097 17.05002382 1.17050024
-9.41935484 4.77419355 17.30571907 1.17305719
-9.41935484 5.06451613 17.55554644 1.17555546
-9.41935484 5.35483871 17.80639865 1.17806399
-9.41935484 5.64516129 18.06809818 1.18068098
-9.41935484 5.93548387 18.34996260 1.18349963
-9.41935484 6.22580645 18.66701771 1.18667018
-9.41935484 6.51612903 19.04189908 1.19041899
-9.41935484 6.80645161 19.52496415 1.19524964
-9.41935484 7.09677419 19.99999704 1.19999997
-9.41935484 7.38709677 19.99999704 1.19999997
-9.41935484 7.67741935 19.99999704 1.19999997
-9.41935484 7.96774194 19.99999704 1.19999997
-9.41935484 8.25806452 19.99999704 1.19999997
-9.41935484 8.54838710 19.99999704 1.19999997
-9.41935484 8.83870968 19.99999704 1.19999997
-9.41935484 9.12903226 19.99999704 1.19999997
-9.41935484 9.41935484 19.99999704 1.19999997
-9.41935484 9.70967742 19.99999704 1.19999997
-9.41935484 10.00000000 19.99999704 1.19999997
-9.70967742 1.00000000 15.00000000 1.15000000
-9.70967742 1.29032258 15.00000000 1.15000000
-9.70967742 1.58064516 15.00000000 1.15000000
-9.70967742 1.87096774 15.00000000 1.15000000
-9.70967742 2.16129032 15.00000000 1.15000000
-9.70967742 2.45161290 15.00000000 1.15000000
-9.70967742 2.74193548 15.00000000 1.15000000
-9.70967742 3.03225806 15.10357489 1.15103575
-9.70967742 3.32258065 15.70844950 1.15708449
-9.70967742 3.61290323 16.13382374 1.16133824
-9.70967742 3.90322581 16.47922769 1.16479228
-9.70967742 4.19354839 16.77845274 1.16778453
-9.70967742 4.48387097 17.05002382 1.17050024
-9.70967742 4.77419355 17.30571907 1.17305719
-9.70967742 5.06451613 17.55554644 1.17555546
-9.70967742 5.35483871 17.80639865 1.17806399
-9.70967742 5.64516129 18.06809818 1.18068098
-9.70967742 5.93548387 18.34996260 1.18349963
-9.70967742 6.22580645 18.66701771 1.18667018
-9.70967742 6.51612903 19.04189908 1.19041899
-9.70967742 6.80645161 19.52496415 1.19524964
-9.70967742 7.09677419 19.99999704 1.19999997
-9.70967742 7.38709677 19.99999704 1.19999997
-9.70967742 7.67741935 19.99999704 1.19999997
-9.70967742 7.96774194 19.99999704 1.19999997
-9.70967742 8.25806452 19.99999704 1.19999997
-9.70967742 8.54838710 19.99999704 1.19999997
-9.70967742 8.83870968 19.99999704 1.19999997
-9.70967742 9.12903226 19.99999704 1.19999997
-9.70967742 9.41935484 19.99999704 1.19999997
-9.70967742 9.70967742 19.99999704 1.19999997
-9.70967742 10.00000000 19.99999704 1.19999997
-10.00000000 1.00000000 15.00000000 1.15000000
-10.00000000 1.29032258 15.00000000 1.15000000
-10.00000000 1.58064516 15.00000000 1.15000000
-10.00000000 1.87096774 15.00000000 1.15000000
-10.00000000 2.16129032 15.00000000 1.15000000
-10.00000000 2.45161290 15.00000000 1.15000000
-10.00000000 2.74193548 15.00000000 1.15000000
-10.00000000 3.03225806 15.10357489 1.15103575
-10.00000000 3.32258065 15.70844950 1.15708449
-10.00000000 3.61290323 16.13382374 1.16133824
-10.00000000 3.90322581 16.47922769 1.16479228
-10.00000000 4.19354839 16.77845274 1.16778453
-10.00000000 4.48387097 17.05002382 1.17050024
-10.00000000 4.77419355 17.30571907 1.17305719
-10.00000000 5.06451613 17.55554644 1.17555546
-10.00000000 5.35483871 17.80639865 1.17806399
-10.00000000 5.64516129 18.06809818 1.18068098
-10.00000000 5.93548387 18.34996260 1.18349963
-10.00000000 6.22580645 18.66701771 1.18667018
-10.00000000 6.51612903 19.04189908 1.19041899
-10.00000000 6.80645161 19.52496415 1.19524964
-10.00000000 7.09677419 19.99999704 1.19999997
-10.00000000 7.38709677 19.99999704 1.19999997
-10.00000000 7.67741935 19.99999704 1.19999997
-10.00000000 7.96774194 19.99999704 1.19999997
-10.00000000 8.25806452 19.99999704 1.19999997
-10.00000000 8.54838710 19.99999704 1.19999997
-10.00000000 8.83870968 19.99999704 1.19999997
-10.00000000 9.12903226 19.99999704 1.19999997
-10.00000000 9.41935484 19.99999704 1.19999997
-10.00000000 9.70967742 19.99999704 1.19999997
-10.00000000 10.00000000 19.99999704 1.19999997
+FoodQuality Service Tip CheckPlusTip
+1.000000000 1.000000000 10.000002957 1.100000030
+1.000000000 1.290322581 10.000002957 1.100000030
+1.000000000 1.580645161 10.000002957 1.100000030
+1.000000000 1.870967742 10.000002957 1.100000030
+1.000000000 2.161290323 10.000002957 1.100000030
+1.000000000 2.451612903 10.000002957 1.100000030
+1.000000000 2.741935484 10.000002957 1.100000030
+1.000000000 3.032258065 10.103612040 1.101036120
+1.000000000 3.322580645 10.708467388 1.107084674
+1.000000000 3.612903226 11.133945555 1.111339456
+1.000000000 3.903225806 11.479248807 1.114792488
+1.000000000 4.193548387 11.778370516 1.117783705
+1.000000000 4.483870968 12.050104922 1.120501049
+1.000000000 4.774193548 12.305762763 1.123057628
+1.000000000 5.064516129 12.555175445 1.125551754
+1.000000000 5.354838710 12.806659860 1.128066599
+1.000000000 5.645161290 13.068093230 1.130680932
+1.000000000 5.935483871 13.350561957 1.133505620
+1.000000000 6.225806452 13.666570669 1.136665707
+1.000000000 6.516129032 14.042124914 1.140421249
+1.000000000 6.806451613 14.524928709 1.145249287
+1.000000000 7.096774194 15.000000000 1.150000000
+1.000000000 7.387096774 15.000000000 1.150000000
+1.000000000 7.677419355 15.000000000 1.150000000
+1.000000000 7.967741935 15.000000000 1.150000000
+1.000000000 8.258064516 15.000000000 1.150000000
+1.000000000 8.548387097 15.000000000 1.150000000
+1.000000000 8.838709677 15.000000000 1.150000000
+1.000000000 9.129032258 15.000000000 1.150000000
+1.000000000 9.419354839 15.000000000 1.150000000
+1.000000000 9.709677419 15.000000000 1.150000000
+1.000000000 10.000000000 15.000000000 1.150000000
+1.290322581 1.000000000 10.000002957 1.100000030
+1.290322581 1.290322581 10.000002957 1.100000030
+1.290322581 1.580645161 10.000002957 1.100000030
+1.290322581 1.870967742 10.000002957 1.100000030
+1.290322581 2.161290323 10.000002957 1.100000030
+1.290322581 2.451612903 10.000002957 1.100000030
+1.290322581 2.741935484 10.000002957 1.100000030
+1.290322581 3.032258065 10.103612040 1.101036120
+1.290322581 3.322580645 10.708467388 1.107084674
+1.290322581 3.612903226 11.133945555 1.111339456
+1.290322581 3.903225806 11.479248807 1.114792488
+1.290322581 4.193548387 11.778370516 1.117783705
+1.290322581 4.483870968 12.050104922 1.120501049
+1.290322581 4.774193548 12.305762763 1.123057628
+1.290322581 5.064516129 12.555175445 1.125551754
+1.290322581 5.354838710 12.806659860 1.128066599
+1.290322581 5.645161290 13.068093230 1.130680932
+1.290322581 5.935483871 13.350561957 1.133505620
+1.290322581 6.225806452 13.666570669 1.136665707
+1.290322581 6.516129032 14.042124914 1.140421249
+1.290322581 6.806451613 14.524928709 1.145249287
+1.290322581 7.096774194 15.000000000 1.150000000
+1.290322581 7.387096774 15.000000000 1.150000000
+1.290322581 7.677419355 15.000000000 1.150000000
+1.290322581 7.967741935 15.000000000 1.150000000
+1.290322581 8.258064516 15.000000000 1.150000000
+1.290322581 8.548387097 15.000000000 1.150000000
+1.290322581 8.838709677 15.000000000 1.150000000
+1.290322581 9.129032258 15.000000000 1.150000000
+1.290322581 9.419354839 15.000000000 1.150000000
+1.290322581 9.709677419 15.000000000 1.150000000
+1.290322581 10.000000000 15.000000000 1.150000000
+1.580645161 1.000000000 10.000002957 1.100000030
+1.580645161 1.290322581 10.000002957 1.100000030
+1.580645161 1.580645161 10.000002957 1.100000030
+1.580645161 1.870967742 10.000002957 1.100000030
+1.580645161 2.161290323 10.000002957 1.100000030
+1.580645161 2.451612903 10.000002957 1.100000030
+1.580645161 2.741935484 10.000002957 1.100000030
+1.580645161 3.032258065 10.103612040 1.101036120
+1.580645161 3.322580645 10.708467388 1.107084674
+1.580645161 3.612903226 11.133945555 1.111339456
+1.580645161 3.903225806 11.479248807 1.114792488
+1.580645161 4.193548387 11.778370516 1.117783705
+1.580645161 4.483870968 12.050104922 1.120501049
+1.580645161 4.774193548 12.305762763 1.123057628
+1.580645161 5.064516129 12.555175445 1.125551754
+1.580645161 5.354838710 12.806659860 1.128066599
+1.580645161 5.645161290 13.068093230 1.130680932
+1.580645161 5.935483871 13.350561957 1.133505620
+1.580645161 6.225806452 13.666570669 1.136665707
+1.580645161 6.516129032 14.042124914 1.140421249
+1.580645161 6.806451613 14.524928709 1.145249287
+1.580645161 7.096774194 15.000000000 1.150000000
+1.580645161 7.387096774 15.000000000 1.150000000
+1.580645161 7.677419355 15.000000000 1.150000000
+1.580645161 7.967741935 15.000000000 1.150000000
+1.580645161 8.258064516 15.000000000 1.150000000
+1.580645161 8.548387097 15.000000000 1.150000000
+1.580645161 8.838709677 15.000000000 1.150000000
+1.580645161 9.129032258 15.000000000 1.150000000
+1.580645161 9.419354839 15.000000000 1.150000000
+1.580645161 9.709677419 15.000000000 1.150000000
+1.580645161 10.000000000 15.000000000 1.150000000
+1.870967742 1.000000000 10.000002957 1.100000030
+1.870967742 1.290322581 10.000002957 1.100000030
+1.870967742 1.580645161 10.000002957 1.100000030
+1.870967742 1.870967742 10.000002957 1.100000030
+1.870967742 2.161290323 10.000002957 1.100000030
+1.870967742 2.451612903 10.000002957 1.100000030
+1.870967742 2.741935484 10.000002957 1.100000030
+1.870967742 3.032258065 10.103612040 1.101036120
+1.870967742 3.322580645 10.708467388 1.107084674
+1.870967742 3.612903226 11.133945555 1.111339456
+1.870967742 3.903225806 11.479248807 1.114792488
+1.870967742 4.193548387 11.778370516 1.117783705
+1.870967742 4.483870968 12.050104922 1.120501049
+1.870967742 4.774193548 12.305762763 1.123057628
+1.870967742 5.064516129 12.555175445 1.125551754
+1.870967742 5.354838710 12.806659860 1.128066599
+1.870967742 5.645161290 13.068093230 1.130680932
+1.870967742 5.935483871 13.350561957 1.133505620
+1.870967742 6.225806452 13.666570669 1.136665707
+1.870967742 6.516129032 14.042124914 1.140421249
+1.870967742 6.806451613 14.524928709 1.145249287
+1.870967742 7.096774194 15.000000000 1.150000000
+1.870967742 7.387096774 15.000000000 1.150000000
+1.870967742 7.677419355 15.000000000 1.150000000
+1.870967742 7.967741935 15.000000000 1.150000000
+1.870967742 8.258064516 15.000000000 1.150000000
+1.870967742 8.548387097 15.000000000 1.150000000
+1.870967742 8.838709677 15.000000000 1.150000000
+1.870967742 9.129032258 15.000000000 1.150000000
+1.870967742 9.419354839 15.000000000 1.150000000
+1.870967742 9.709677419 15.000000000 1.150000000
+1.870967742 10.000000000 15.000000000 1.150000000
+2.161290323 1.000000000 10.000002957 1.100000030
+2.161290323 1.290322581 10.000002957 1.100000030
+2.161290323 1.580645161 10.000002957 1.100000030
+2.161290323 1.870967742 10.000002957 1.100000030
+2.161290323 2.161290323 10.000002957 1.100000030
+2.161290323 2.451612903 10.000002957 1.100000030
+2.161290323 2.741935484 10.000002957 1.100000030
+2.161290323 3.032258065 10.103612040 1.101036120
+2.161290323 3.322580645 10.708467388 1.107084674
+2.161290323 3.612903226 11.133945555 1.111339456
+2.161290323 3.903225806 11.479248807 1.114792488
+2.161290323 4.193548387 11.778370516 1.117783705
+2.161290323 4.483870968 12.050104922 1.120501049
+2.161290323 4.774193548 12.305762763 1.123057628
+2.161290323 5.064516129 12.555175445 1.125551754
+2.161290323 5.354838710 12.806659860 1.128066599
+2.161290323 5.645161290 13.068093230 1.130680932
+2.161290323 5.935483871 13.350561957 1.133505620
+2.161290323 6.225806452 13.666570669 1.136665707
+2.161290323 6.516129032 14.042124914 1.140421249
+2.161290323 6.806451613 14.524928709 1.145249287
+2.161290323 7.096774194 15.000000000 1.150000000
+2.161290323 7.387096774 15.000000000 1.150000000
+2.161290323 7.677419355 15.000000000 1.150000000
+2.161290323 7.967741935 15.000000000 1.150000000
+2.161290323 8.258064516 15.000000000 1.150000000
+2.161290323 8.548387097 15.000000000 1.150000000
+2.161290323 8.838709677 15.000000000 1.150000000
+2.161290323 9.129032258 15.000000000 1.150000000
+2.161290323 9.419354839 15.000000000 1.150000000
+2.161290323 9.709677419 15.000000000 1.150000000
+2.161290323 10.000000000 15.000000000 1.150000000
+2.451612903 1.000000000 10.000002957 1.100000030
+2.451612903 1.290322581 10.000002957 1.100000030
+2.451612903 1.580645161 10.000002957 1.100000030
+2.451612903 1.870967742 10.000002957 1.100000030
+2.451612903 2.161290323 10.000002957 1.100000030
+2.451612903 2.451612903 10.000002957 1.100000030
+2.451612903 2.741935484 10.000002957 1.100000030
+2.451612903 3.032258065 10.103612040 1.101036120
+2.451612903 3.322580645 10.708467388 1.107084674
+2.451612903 3.612903226 11.133945555 1.111339456
+2.451612903 3.903225806 11.479248807 1.114792488
+2.451612903 4.193548387 11.778370516 1.117783705
+2.451612903 4.483870968 12.050104922 1.120501049
+2.451612903 4.774193548 12.305762763 1.123057628
+2.451612903 5.064516129 12.555175445 1.125551754
+2.451612903 5.354838710 12.806659860 1.128066599
+2.451612903 5.645161290 13.068093230 1.130680932
+2.451612903 5.935483871 13.350561957 1.133505620
+2.451612903 6.225806452 13.666570669 1.136665707
+2.451612903 6.516129032 14.042124914 1.140421249
+2.451612903 6.806451613 14.524928709 1.145249287
+2.451612903 7.096774194 15.000000000 1.150000000
+2.451612903 7.387096774 15.000000000 1.150000000
+2.451612903 7.677419355 15.000000000 1.150000000
+2.451612903 7.967741935 15.000000000 1.150000000
+2.451612903 8.258064516 15.000000000 1.150000000
+2.451612903 8.548387097 15.000000000 1.150000000
+2.451612903 8.838709677 15.000000000 1.150000000
+2.451612903 9.129032258 15.000000000 1.150000000
+2.451612903 9.419354839 15.000000000 1.150000000
+2.451612903 9.709677419 15.000000000 1.150000000
+2.451612903 10.000000000 15.000000000 1.150000000
+2.741935484 1.000000000 10.000002957 1.100000030
+2.741935484 1.290322581 10.000002957 1.100000030
+2.741935484 1.580645161 10.000002957 1.100000030
+2.741935484 1.870967742 10.000002957 1.100000030
+2.741935484 2.161290323 10.000002957 1.100000030
+2.741935484 2.451612903 10.000002957 1.100000030
+2.741935484 2.741935484 10.000002957 1.100000030
+2.741935484 3.032258065 10.103612040 1.101036120
+2.741935484 3.322580645 10.708467388 1.107084674
+2.741935484 3.612903226 11.133945555 1.111339456
+2.741935484 3.903225806 11.479248807 1.114792488
+2.741935484 4.193548387 11.778370516 1.117783705
+2.741935484 4.483870968 12.050104922 1.120501049
+2.741935484 4.774193548 12.305762763 1.123057628
+2.741935484 5.064516129 12.555175445 1.125551754
+2.741935484 5.354838710 12.806659860 1.128066599
+2.741935484 5.645161290 13.068093230 1.130680932
+2.741935484 5.935483871 13.350561957 1.133505620
+2.741935484 6.225806452 13.666570669 1.136665707
+2.741935484 6.516129032 14.042124914 1.140421249
+2.741935484 6.806451613 14.524928709 1.145249287
+2.741935484 7.096774194 15.000000000 1.150000000
+2.741935484 7.387096774 15.000000000 1.150000000
+2.741935484 7.677419355 15.000000000 1.150000000
+2.741935484 7.967741935 15.000000000 1.150000000
+2.741935484 8.258064516 15.000000000 1.150000000
+2.741935484 8.548387097 15.000000000 1.150000000
+2.741935484 8.838709677 15.000000000 1.150000000
+2.741935484 9.129032258 15.000000000 1.150000000
+2.741935484 9.419354839 15.000000000 1.150000000
+2.741935484 9.709677419 15.000000000 1.150000000
+2.741935484 10.000000000 15.000000000 1.150000000
+3.032258065 1.000000000 10.103612040 1.101036120
+3.032258065 1.290322581 10.103612040 1.101036120
+3.032258065 1.580645161 10.103612040 1.101036120
+3.032258065 1.870967742 10.103612040 1.101036120
+3.032258065 2.161290323 10.103612040 1.101036120
+3.032258065 2.451612903 10.103612040 1.101036120
+3.032258065 2.741935484 10.103612040 1.101036120
+3.032258065 3.032258065 10.204358113 1.102043581
+3.032258065 3.322580645 10.796018218 1.107960182
+3.032258065 3.612903226 11.215358735 1.112153587
+3.032258065 3.903225806 11.557846462 1.115578465
+3.032258065 4.193548387 11.855790361 1.118557904
+3.032258065 4.483870968 12.127240434 1.121272404
+3.032258065 4.774193548 12.384052580 1.123840526
+3.032258065 5.064516129 12.634997421 1.126349974
+3.032258065 5.354838710 12.888585631 1.128885856
+3.032258065 5.645161290 13.153230669 1.131532307
+3.032258065 5.935483871 13.438880990 1.134388810
+3.032258065 6.225806452 13.759265462 1.137592655
+3.032258065 6.516129032 14.139344845 1.141393448
+3.032258065 6.806451613 14.626746497 1.146267465
+3.032258065 7.096774194 15.103574890 1.151035749
+3.032258065 7.387096774 15.103574890 1.151035749
+3.032258065 7.677419355 15.103574890 1.151035749
+3.032258065 7.967741935 15.103574890 1.151035749
+3.032258065 8.258064516 15.103574890 1.151035749
+3.032258065 8.548387097 15.103574890 1.151035749
+3.032258065 8.838709677 15.103574890 1.151035749
+3.032258065 9.129032258 15.103574890 1.151035749
+3.032258065 9.419354839 15.103574890 1.151035749
+3.032258065 9.709677419 15.103574890 1.151035749
+3.032258065 10.000000000 15.103574890 1.151035749
+3.322580645 1.000000000 10.708467388 1.107084674
+3.322580645 1.290322581 10.708467388 1.107084674
+3.322580645 1.580645161 10.708467388 1.107084674
+3.322580645 1.870967742 10.708467388 1.107084674
+3.322580645 2.161290323 10.708467388 1.107084674
+3.322580645 2.451612903 10.708467388 1.107084674
+3.322580645 2.741935484 10.708467388 1.107084674
+3.322580645 3.032258065 10.796018218 1.107960182
+3.322580645 3.322580645 11.322661747 1.113226617
+3.322580645 3.612903226 11.712913158 1.117129132
+3.322580645 3.903225806 12.043415217 1.120434152
+3.322580645 4.193548387 12.339709404 1.123397094
+3.322580645 4.483870968 12.615733153 1.126157332
+3.322580645 4.774193548 12.881223868 1.128812239
+3.322580645 5.064516129 13.144835022 1.131448350
+3.322580645 5.354838710 13.414082467 1.134140825
+3.322580645 5.645161290 13.696138923 1.136961389
+3.322580645 5.935483871 14.000777693 1.140007777
+3.322580645 6.225806452 14.342258539 1.143422585
+3.322580645 6.516129032 14.739964250 1.147399642
+3.322580645 6.806451613 15.239164015 1.152391640
+3.322580645 7.096774194 15.708449495 1.157084495
+3.322580645 7.387096774 15.708449495 1.157084495
+3.322580645 7.677419355 15.708449495 1.157084495
+3.322580645 7.967741935 15.708449495 1.157084495
+3.322580645 8.258064516 15.708449495 1.157084495
+3.322580645 8.548387097 15.708449495 1.157084495
+3.322580645 8.838709677 15.708449495 1.157084495
+3.322580645 9.129032258 15.708449495 1.157084495
+3.322580645 9.419354839 15.708449495 1.157084495
+3.322580645 9.709677419 15.708449495 1.157084495
+3.322580645 10.000000000 15.708449495 1.157084495
+3.612903226 1.000000000 11.133945555 1.111339456
+3.612903226 1.290322581 11.133945555 1.111339456
+3.612903226 1.580645161 11.133945555 1.111339456
+3.612903226 1.870967742 11.133945555 1.111339456
+3.612903226 2.161290323 11.133945555 1.111339456
+3.612903226 2.451612903 11.133945555 1.111339456
+3.612903226 2.741935484 11.133945555 1.111339456
+3.612903226 3.032258065 11.215358735 1.112153587
+3.612903226 3.322580645 11.712913158 1.117129132
+3.612903226 3.612903226 12.090486886 1.120904869
+3.612903226 3.903225806 12.417951094 1.124179511
+3.612903226 4.193548387 12.717020386 1.127170204
+3.612903226 4.483870968 12.999111631 1.129991116
+3.612903226 4.774193548 13.273780609 1.132737806
+3.612903226 5.064516129 13.547717972 1.135477180
+3.612903226 5.354838710 13.827512227 1.138275122
+3.612903226 5.645161290 14.120187657 1.141201877
+3.612903226 5.935483871 14.435371678 1.144353717
+3.612903226 6.225806452 14.784914127 1.147849141
+3.612903226 6.516129032 15.187004870 1.151870049
+3.612903226 6.806451613 15.681548005 1.156815480
+3.612903226 7.096774194 16.133823742 1.161338237
+3.612903226 7.387096774 16.133823742 1.161338237
+3.612903226 7.677419355 16.133823742 1.161338237
+3.612903226 7.967741935 16.133823742 1.161338237
+3.612903226 8.258064516 16.133823742 1.161338237
+3.612903226 8.548387097 16.133823742 1.161338237
+3.612903226 8.838709677 16.133823742 1.161338237
+3.612903226 9.129032258 16.133823742 1.161338237
+3.612903226 9.419354839 16.133823742 1.161338237
+3.612903226 9.709677419 16.133823742 1.161338237
+3.612903226 10.000000000 16.133823742 1.161338237
+3.903225806 1.000000000 11.479248807 1.114792488
+3.903225806 1.290322581 11.479248807 1.114792488
+3.903225806 1.580645161 11.479248807 1.114792488
+3.903225806 1.870967742 11.479248807 1.114792488
+3.903225806 2.161290323 11.479248807 1.114792488
+3.903225806 2.451612903 11.479248807 1.114792488
+3.903225806 2.741935484 11.479248807 1.114792488
+3.903225806 3.032258065 11.557846462 1.115578465
+3.903225806 3.322580645 12.043415217 1.120434152
+3.903225806 3.612903226 12.417951094 1.124179511
+3.903225806 3.903225806 12.746299057 1.127462991
+3.903225806 4.193548387 13.049696353 1.130496964
+3.903225806 4.483870968 13.337970486 1.133379705
+3.903225806 4.774193548 13.620159587 1.136201596
+3.903225806 5.064516129 13.901946604 1.139019466
+3.903225806 5.354838710 14.188883155 1.141888832
+3.903225806 5.645161290 14.489540684 1.144895407
+3.903225806 5.935483871 14.809822020 1.148098220
+3.903225806 6.225806452 15.160748839 1.151607488
+3.903225806 6.516129032 15.560871420 1.155608714
+3.903225806 6.806451613 16.043900181 1.160439002
+3.903225806 7.096774194 16.479227686 1.164792277
+3.903225806 7.387096774 16.479227686 1.164792277
+3.903225806 7.677419355 16.479227686 1.164792277
+3.903225806 7.967741935 16.479227686 1.164792277
+3.903225806 8.258064516 16.479227686 1.164792277
+3.903225806 8.548387097 16.479227686 1.164792277
+3.903225806 8.838709677 16.479227686 1.164792277
+3.903225806 9.129032258 16.479227686 1.164792277
+3.903225806 9.419354839 16.479227686 1.164792277
+3.903225806 9.709677419 16.479227686 1.164792277
+3.903225806 10.000000000 16.479227686 1.164792277
+4.193548387 1.000000000 11.778370516 1.117783705
+4.193548387 1.290322581 11.778370516 1.117783705
+4.193548387 1.580645161 11.778370516 1.117783705
+4.193548387 1.870967742 11.778370516 1.117783705
+4.193548387 2.161290323 11.778370516 1.117783705
+4.193548387 2.451612903 11.778370516 1.117783705
+4.193548387 2.741935484 11.778370516 1.117783705
+4.193548387 3.032258065 11.855790361 1.118557904
+4.193548387 3.322580645 12.339709404 1.123397094
+4.193548387 3.612903226 12.717020386 1.127170204
+4.193548387 3.903225806 13.049696353 1.130496964
+4.193548387 4.193548387 13.357895418 1.133578954
+4.193548387 4.483870968 13.652146644 1.136521466
+4.193548387 4.774193548 13.940357897 1.139403579
+4.193548387 5.064516129 14.228197117 1.142281971
+4.193548387 5.354838710 14.520452601 1.145204526
+4.193548387 5.645161290 14.824425958 1.148244260
+4.193548387 5.935483871 15.146110946 1.151461109
+4.193548387 6.225806452 15.495840162 1.154958402
+4.193548387 6.516129032 15.889898831 1.158898988
+4.193548387 6.806451613 16.360710958 1.163607110
+4.193548387 7.096774194 16.778452741 1.167784527
+4.193548387 7.387096774 16.778452741 1.167784527
+4.193548387 7.677419355 16.778452741 1.167784527
+4.193548387 7.967741935 16.778452741 1.167784527
+4.193548387 8.258064516 16.778452741 1.167784527
+4.193548387 8.548387097 16.778452741 1.167784527
+4.193548387 8.838709677 16.778452741 1.167784527
+4.193548387 9.129032258 16.778452741 1.167784527
+4.193548387 9.419354839 16.778452741 1.167784527
+4.193548387 9.709677419 16.778452741 1.167784527
+4.193548387 10.000000000 16.778452741 1.167784527
+4.483870968 1.000000000 12.050104922 1.120501049
+4.483870968 1.290322581 12.050104922 1.120501049
+4.483870968 1.580645161 12.050104922 1.120501049
+4.483870968 1.870967742 12.050104922 1.120501049
+4.483870968 2.161290323 12.050104922 1.120501049
+4.483870968 2.451612903 12.050104922 1.120501049
+4.483870968 2.741935484 12.050104922 1.120501049
+4.483870968 3.032258065 12.127240434 1.121272404
+4.483870968 3.322580645 12.615733153 1.126157332
+4.483870968 3.612903226 12.999111631 1.129991116
+4.483870968 3.903225806 13.337970486 1.133379705
+4.483870968 4.193548387 13.652146644 1.136521466
+4.483870968 4.483870968 13.951679758 1.139516798
+4.483870968 4.774193548 14.245365454 1.142453655
+4.483870968 5.064516129 14.537425993 1.145374260
+4.483870968 5.354838710 14.832538034 1.148325380
+4.483870968 5.645161290 15.137036426 1.151370364
+4.483870968 5.935483871 15.457098960 1.154570990
+4.483870968 6.225806452 15.803334671 1.158033347
+4.483870968 6.516129032 16.189645887 1.161896459
+4.483870968 6.806451613 16.646502949 1.166465029
+4.483870968 7.096774194 17.050023823 1.170500238
+4.483870968 7.387096774 17.050023823 1.170500238
+4.483870968 7.677419355 17.050023823 1.170500238
+4.483870968 7.967741935 17.050023823 1.170500238
+4.483870968 8.258064516 17.050023823 1.170500238
+4.483870968 8.548387097 17.050023823 1.170500238
+4.483870968 8.838709677 17.050023823 1.170500238
+4.483870968 9.129032258 17.050023823 1.170500238
+4.483870968 9.419354839 17.050023823 1.170500238
+4.483870968 9.709677419 17.050023823 1.170500238
+4.483870968 10.000000000 17.050023823 1.170500238
+4.774193548 1.000000000 12.305762763 1.123057628
+4.774193548 1.290322581 12.305762763 1.123057628
+4.774193548 1.580645161 12.305762763 1.123057628
+4.774193548 1.870967742 12.305762763 1.123057628
+4.774193548 2.161290323 12.305762763 1.123057628
+4.774193548 2.451612903 12.305762763 1.123057628
+4.774193548 2.741935484 12.305762763 1.123057628
+4.774193548 3.032258065 12.384052580 1.123840526
+4.774193548 3.322580645 12.881223868 1.128812239
+4.774193548 3.612903226 13.273780609 1.132737806
+4.774193548 3.903225806 13.620159587 1.136201596
+4.774193548 4.193548387 13.940357897 1.139403579
+4.774193548 4.483870968 14.245365454 1.142453655
+4.774193548 4.774193548 14.542253555 1.145422536
+4.774193548 5.064516129 14.836186297 1.148361863
+4.774193548 5.354838710 15.132216948 1.151322169
+4.774193548 5.645161290 15.435976637 1.154359766
+4.774193548 5.935483871 15.753650335 1.157536503
+4.774193548 6.225806452 16.094398574 1.160943986
+4.774193548 6.516129032 16.472016458 1.164720165
+4.774193548 6.806451613 16.915328759 1.169153288
+4.774193548 7.096774194 17.305719073 1.173057191
+4.774193548 7.387096774 17.305719073 1.173057191
+4.774193548 7.677419355 17.305719073 1.173057191
+4.774193548 7.967741935 17.305719073 1.173057191
+4.774193548 8.258064516 17.305719073 1.173057191
+4.774193548 8.548387097 17.305719073 1.173057191
+4.774193548 8.838709677 17.305719073 1.173057191
+4.774193548 9.129032258 17.305719073 1.173057191
+4.774193548 9.419354839 17.305719073 1.173057191
+4.774193548 9.709677419 17.305719073 1.173057191
+4.774193548 10.000000000 17.305719073 1.173057191
+5.064516129 1.000000000 12.555175445 1.125551754
+5.064516129 1.290322581 12.555175445 1.125551754
+5.064516129 1.580645161 12.555175445 1.125551754
+5.064516129 1.870967742 12.555175445 1.125551754
+5.064516129 2.161290323 12.555175445 1.125551754
+5.064516129 2.451612903 12.555175445 1.125551754
+5.064516129 2.741935484 12.555175445 1.125551754
+5.064516129 3.032258065 12.634997421 1.126349974
+5.064516129 3.322580645 13.144835022 1.131448350
+5.064516129 3.612903226 13.547717972 1.135477180
+5.064516129 3.903225806 13.901946604 1.139019466
+5.064516129 4.193548387 14.228197117 1.142281971
+5.064516129 4.483870968 14.537425993 1.145374260
+5.064516129 4.774193548 14.836186297 1.148361863
+5.064516129 5.064516129 15.130822202 1.151308222
+5.064516129 5.354838710 15.426134812 1.154261348
+5.064516129 5.645161290 15.727608429 1.157276084
+5.064516129 5.935483871 16.040918075 1.160409181
+5.064516129 6.225806452 16.374971626 1.163749716
+5.064516129 6.516129032 16.743479696 1.167434797
+5.064516129 6.806451613 17.175031887 1.171750319
+5.064516129 7.096774194 17.555546435 1.175555464
+5.064516129 7.387096774 17.555546435 1.175555464
+5.064516129 7.677419355 17.555546435 1.175555464
+5.064516129 7.967741935 17.555546435 1.175555464
+5.064516129 8.258064516 17.555546435 1.175555464
+5.064516129 8.548387097 17.555546435 1.175555464
+5.064516129 8.838709677 17.555546435 1.175555464
+5.064516129 9.129032258 17.555546435 1.175555464
+5.064516129 9.419354839 17.555546435 1.175555464
+5.064516129 9.709677419 17.555546435 1.175555464
+5.064516129 10.000000000 17.555546435 1.175555464
+5.354838710 1.000000000 12.806659860 1.128066599
+5.354838710 1.290322581 12.806659860 1.128066599
+5.354838710 1.580645161 12.806659860 1.128066599
+5.354838710 1.870967742 12.806659860 1.128066599
+5.354838710 2.161290323 12.806659860 1.128066599
+5.354838710 2.451612903 12.806659860 1.128066599
+5.354838710 2.741935484 12.806659860 1.128066599
+5.354838710 3.032258065 12.888585631 1.128885856
+5.354838710 3.322580645 13.414082467 1.134140825
+5.354838710 3.612903226 13.827512227 1.138275122
+5.354838710 3.903225806 14.188883155 1.141888832
+5.354838710 4.193548387 14.520452601 1.145204526
+5.354838710 4.483870968 14.832538034 1.148325380
+5.354838710 4.774193548 15.132216948 1.151322169
+5.354838710 5.064516129 15.426134812 1.154261348
+5.354838710 5.354838710 15.719361905 1.157193619
+5.354838710 5.645161290 16.017791161 1.160177912
+5.354838710 5.935483871 16.325903819 1.163259038
+5.354838710 6.225806452 16.653358486 1.166533585
+5.354838710 6.516129032 17.013348713 1.170133487
+5.354838710 6.806451613 17.434097089 1.174340971
+5.354838710 7.096774194 17.806398651 1.178063987
+5.354838710 7.387096774 17.806398651 1.178063987
+5.354838710 7.677419355 17.806398651 1.178063987
+5.354838710 7.967741935 17.806398651 1.178063987
+5.354838710 8.258064516 17.806398651 1.178063987
+5.354838710 8.548387097 17.806398651 1.178063987
+5.354838710 8.838709677 17.806398651 1.178063987
+5.354838710 9.129032258 17.806398651 1.178063987
+5.354838710 9.419354839 17.806398651 1.178063987
+5.354838710 9.709677419 17.806398651 1.178063987
+5.354838710 10.000000000 17.806398651 1.178063987
+5.645161290 1.000000000 13.068093230 1.130680932
+5.645161290 1.290322581 13.068093230 1.130680932
+5.645161290 1.580645161 13.068093230 1.130680932
+5.645161290 1.870967742 13.068093230 1.130680932
+5.645161290 2.161290323 13.068093230 1.130680932
+5.645161290 2.451612903 13.068093230 1.130680932
+5.645161290 2.741935484 13.068093230 1.130680932
+5.645161290 3.032258065 13.153230669 1.131532307
+5.645161290 3.322580645 13.696138923 1.136961389
+5.645161290 3.612903226 14.120187657 1.141201877
+5.645161290 3.903225806 14.489540684 1.144895407
+5.645161290 4.193548387 14.824425958 1.148244260
+5.645161290 4.483870968 15.137036426 1.151370364
+5.645161290 4.774193548 15.435976637 1.154359766
+5.645161290 5.064516129 15.727608429 1.157276084
+5.645161290 5.354838710 16.017791161 1.160177912
+5.645161290 5.645161290 16.311598605 1.163115986
+5.645161290 5.935483871 16.613732570 1.166137326
+5.645161290 6.225806452 16.933994986 1.169339950
+5.645161290 6.516129032 17.286819066 1.172868191
+5.645161290 6.806451613 17.700020869 1.177000209
+5.645161290 7.096774194 18.068098179 1.180680982
+5.645161290 7.387096774 18.068098179 1.180680982
+5.645161290 7.677419355 18.068098179 1.180680982
+5.645161290 7.967741935 18.068098179 1.180680982
+5.645161290 8.258064516 18.068098179 1.180680982
+5.645161290 8.548387097 18.068098179 1.180680982
+5.645161290 8.838709677 18.068098179 1.180680982
+5.645161290 9.129032258 18.068098179 1.180680982
+5.645161290 9.419354839 18.068098179 1.180680982
+5.645161290 9.709677419 18.068098179 1.180680982
+5.645161290 10.000000000 18.068098179 1.180680982
+5.935483871 1.000000000 13.350561957 1.133505620
+5.935483871 1.290322581 13.350561957 1.133505620
+5.935483871 1.580645161 13.350561957 1.133505620
+5.935483871 1.870967742 13.350561957 1.133505620
+5.935483871 2.161290323 13.350561957 1.133505620
+5.935483871 2.451612903 13.350561957 1.133505620
+5.935483871 2.741935484 13.350561957 1.133505620
+5.935483871 3.032258065 13.438880990 1.134388810
+5.935483871 3.322580645 14.000777693 1.140007777
+5.935483871 3.612903226 14.435371678 1.144353717
+5.935483871 3.903225806 14.809822020 1.148098220
+5.935483871 4.193548387 15.146110946 1.151461109
+5.935483871 4.483870968 15.457098960 1.154570990
+5.935483871 4.774193548 15.753650335 1.157536503
+5.935483871 5.064516129 16.040918075 1.160409181
+5.935483871 5.354838710 16.325903819 1.163259038
+5.935483871 5.645161290 16.613732570 1.166137326
+5.935483871 5.935483871 16.911019483 1.169110195
+5.935483871 6.225806452 17.225563024 1.172255630
+5.935483871 6.516129032 17.572635415 1.175726354
+5.935483871 6.806451613 17.982106473 1.179821065
+5.935483871 7.096774194 18.349962605 1.183499626
+5.935483871 7.387096774 18.349962605 1.183499626
+5.935483871 7.677419355 18.349962605 1.183499626
+5.935483871 7.967741935 18.349962605 1.183499626
+5.935483871 8.258064516 18.349962605 1.183499626
+5.935483871 8.548387097 18.349962605 1.183499626
+5.935483871 8.838709677 18.349962605 1.183499626
+5.935483871 9.129032258 18.349962605 1.183499626
+5.935483871 9.419354839 18.349962605 1.183499626
+5.935483871 9.709677419 18.349962605 1.183499626
+5.935483871 10.000000000 18.349962605 1.183499626
+6.225806452 1.000000000 13.666570669 1.136665707
+6.225806452 1.290322581 13.666570669 1.136665707
+6.225806452 1.580645161 13.666570669 1.136665707
+6.225806452 1.870967742 13.666570669 1.136665707
+6.225806452 2.161290323 13.666570669 1.136665707
+6.225806452 2.451612903 13.666570669 1.136665707
+6.225806452 2.741935484 13.666570669 1.136665707
+6.225806452 3.032258065 13.759265462 1.137592655
+6.225806452 3.322580645 14.342258539 1.143422585
+6.225806452 3.612903226 14.784914127 1.147849141
+6.225806452 3.903225806 15.160748839 1.151607488
+6.225806452 4.193548387 15.495840162 1.154958402
+6.225806452 4.483870968 15.803334671 1.158033347
+6.225806452 4.774193548 16.094398574 1.160943986
+6.225806452 5.064516129 16.374971626 1.163749716
+6.225806452 5.354838710 16.653358486 1.166533585
+6.225806452 5.645161290 16.933994986 1.169339950
+6.225806452 5.935483871 17.225563024 1.172255630
+6.225806452 6.225806452 17.536694601 1.175366946
+6.225806452 6.516129032 17.882140340 1.178821403
+6.225806452 6.806451613 18.292111531 1.182921115
+6.225806452 7.096774194 18.667017714 1.186670177
+6.225806452 7.387096774 18.667017714 1.186670177
+6.225806452 7.677419355 18.667017714 1.186670177
+6.225806452 7.967741935 18.667017714 1.186670177
+6.225806452 8.258064516 18.667017714 1.186670177
+6.225806452 8.548387097 18.667017714 1.186670177
+6.225806452 8.838709677 18.667017714 1.186670177
+6.225806452 9.129032258 18.667017714 1.186670177
+6.225806452 9.419354839 18.667017714 1.186670177
+6.225806452 9.709677419 18.667017714 1.186670177
+6.225806452 10.000000000 18.667017714 1.186670177
+6.516129032 1.000000000 14.042124914 1.140421249
+6.516129032 1.290322581 14.042124914 1.140421249
+6.516129032 1.580645161 14.042124914 1.140421249
+6.516129032 1.870967742 14.042124914 1.140421249
+6.516129032 2.161290323 14.042124914 1.140421249
+6.516129032 2.451612903 14.042124914 1.140421249
+6.516129032 2.741935484 14.042124914 1.140421249
+6.516129032 3.032258065 14.139344845 1.141393448
+6.516129032 3.322580645 14.739964250 1.147399642
+6.516129032 3.612903226 15.187004870 1.151870049
+6.516129032 3.903225806 15.560871420 1.155608714
+6.516129032 4.193548387 15.889898831 1.158898988
+6.516129032 4.483870968 16.189645887 1.161896459
+6.516129032 4.774193548 16.472016458 1.164720165
+6.516129032 5.064516129 16.743479696 1.167434797
+6.516129032 5.354838710 17.013348713 1.170133487
+6.516129032 5.645161290 17.286819066 1.172868191
+6.516129032 5.935483871 17.572635415 1.175726354
+6.516129032 6.225806452 17.882140340 1.178821403
+6.516129032 6.516129032 18.229995875 1.182299959
+6.516129032 6.806451613 18.651088969 1.186510890
+6.516129032 7.096774194 19.041899081 1.190418991
+6.516129032 7.387096774 19.041899081 1.190418991
+6.516129032 7.677419355 19.041899081 1.190418991
+6.516129032 7.967741935 19.041899081 1.190418991
+6.516129032 8.258064516 19.041899081 1.190418991
+6.516129032 8.548387097 19.041899081 1.190418991
+6.516129032 8.838709677 19.041899081 1.190418991
+6.516129032 9.129032258 19.041899081 1.190418991
+6.516129032 9.419354839 19.041899081 1.190418991
+6.516129032 9.709677419 19.041899081 1.190418991
+6.516129032 10.000000000 19.041899081 1.190418991
+6.806451613 1.000000000 14.524928709 1.145249287
+6.806451613 1.290322581 14.524928709 1.145249287
+6.806451613 1.580645161 14.524928709 1.145249287
+6.806451613 1.870967742 14.524928709 1.145249287
+6.806451613 2.161290323 14.524928709 1.145249287
+6.806451613 2.451612903 14.524928709 1.145249287
+6.806451613 2.741935484 14.524928709 1.145249287
+6.806451613 3.032258065 14.626746497 1.146267465
+6.806451613 3.322580645 15.239164015 1.152391640
+6.806451613 3.612903226 15.681548005 1.156815480
+6.806451613 3.903225806 16.043900181 1.160439002
+6.806451613 4.193548387 16.360710958 1.163607110
+6.806451613 4.483870968 16.646502949 1.166465029
+6.806451613 4.774193548 16.915328759 1.169153288
+6.806451613 5.064516129 17.175031887 1.171750319
+6.806451613 5.354838710 17.434097089 1.174340971
+6.806451613 5.645161290 17.700020869 1.177000209
+6.806451613 5.935483871 17.982106473 1.179821065
+6.806451613 6.225806452 18.292111531 1.182921115
+6.806451613 6.516129032 18.651088969 1.186510890
+6.806451613 6.806451613 19.098880252 1.190988803
+6.806451613 7.096774194 19.524964154 1.195249642
+6.806451613 7.387096774 19.524964154 1.195249642
+6.806451613 7.677419355 19.524964154 1.195249642
+6.806451613 7.967741935 19.524964154 1.195249642
+6.806451613 8.258064516 19.524964154 1.195249642
+6.806451613 8.548387097 19.524964154 1.195249642
+6.806451613 8.838709677 19.524964154 1.195249642
+6.806451613 9.129032258 19.524964154 1.195249642
+6.806451613 9.419354839 19.524964154 1.195249642
+6.806451613 9.709677419 19.524964154 1.195249642
+6.806451613 10.000000000 19.524964154 1.195249642
+7.096774194 1.000000000 15.000000000 1.150000000
+7.096774194 1.290322581 15.000000000 1.150000000
+7.096774194 1.580645161 15.000000000 1.150000000
+7.096774194 1.870967742 15.000000000 1.150000000
+7.096774194 2.161290323 15.000000000 1.150000000
+7.096774194 2.451612903 15.000000000 1.150000000
+7.096774194 2.741935484 15.000000000 1.150000000
+7.096774194 3.032258065 15.103574890 1.151035749
+7.096774194 3.322580645 15.708449495 1.157084495
+7.096774194 3.612903226 16.133823742 1.161338237
+7.096774194 3.903225806 16.479227686 1.164792277
+7.096774194 4.193548387 16.778452741 1.167784527
+7.096774194 4.483870968 17.050023823 1.170500238
+7.096774194 4.774193548 17.305719073 1.173057191
+7.096774194 5.064516129 17.555546435 1.175555464
+7.096774194 5.354838710 17.806398651 1.178063987
+7.096774194 5.645161290 18.068098179 1.180680982
+7.096774194 5.935483871 18.349962605 1.183499626
+7.096774194 6.225806452 18.667017714 1.186670177
+7.096774194 6.516129032 19.041899081 1.190418991
+7.096774194 6.806451613 19.524964154 1.195249642
+7.096774194 7.096774194 19.999997043 1.199999970
+7.096774194 7.387096774 19.999997043 1.199999970
+7.096774194 7.677419355 19.999997043 1.199999970
+7.096774194 7.967741935 19.999997043 1.199999970
+7.096774194 8.258064516 19.999997043 1.199999970
+7.096774194 8.548387097 19.999997043 1.199999970
+7.096774194 8.838709677 19.999997043 1.199999970
+7.096774194 9.129032258 19.999997043 1.199999970
+7.096774194 9.419354839 19.999997043 1.199999970
+7.096774194 9.709677419 19.999997043 1.199999970
+7.096774194 10.000000000 19.999997043 1.199999970
+7.387096774 1.000000000 15.000000000 1.150000000
+7.387096774 1.290322581 15.000000000 1.150000000
+7.387096774 1.580645161 15.000000000 1.150000000
+7.387096774 1.870967742 15.000000000 1.150000000
+7.387096774 2.161290323 15.000000000 1.150000000
+7.387096774 2.451612903 15.000000000 1.150000000
+7.387096774 2.741935484 15.000000000 1.150000000
+7.387096774 3.032258065 15.103574890 1.151035749
+7.387096774 3.322580645 15.708449495 1.157084495
+7.387096774 3.612903226 16.133823742 1.161338237
+7.387096774 3.903225806 16.479227686 1.164792277
+7.387096774 4.193548387 16.778452741 1.167784527
+7.387096774 4.483870968 17.050023823 1.170500238
+7.387096774 4.774193548 17.305719073 1.173057191
+7.387096774 5.064516129 17.555546435 1.175555464
+7.387096774 5.354838710 17.806398651 1.178063987
+7.387096774 5.645161290 18.068098179 1.180680982
+7.387096774 5.935483871 18.349962605 1.183499626
+7.387096774 6.225806452 18.667017714 1.186670177
+7.387096774 6.516129032 19.041899081 1.190418991
+7.387096774 6.806451613 19.524964154 1.195249642
+7.387096774 7.096774194 19.999997043 1.199999970
+7.387096774 7.387096774 19.999997043 1.199999970
+7.387096774 7.677419355 19.999997043 1.199999970
+7.387096774 7.967741935 19.999997043 1.199999970
+7.387096774 8.258064516 19.999997043 1.199999970
+7.387096774 8.548387097 19.999997043 1.199999970
+7.387096774 8.838709677 19.999997043 1.199999970
+7.387096774 9.129032258 19.999997043 1.199999970
+7.387096774 9.419354839 19.999997043 1.199999970
+7.387096774 9.709677419 19.999997043 1.199999970
+7.387096774 10.000000000 19.999997043 1.199999970
+7.677419355 1.000000000 15.000000000 1.150000000
+7.677419355 1.290322581 15.000000000 1.150000000
+7.677419355 1.580645161 15.000000000 1.150000000
+7.677419355 1.870967742 15.000000000 1.150000000
+7.677419355 2.161290323 15.000000000 1.150000000
+7.677419355 2.451612903 15.000000000 1.150000000
+7.677419355 2.741935484 15.000000000 1.150000000
+7.677419355 3.032258065 15.103574890 1.151035749
+7.677419355 3.322580645 15.708449495 1.157084495
+7.677419355 3.612903226 16.133823742 1.161338237
+7.677419355 3.903225806 16.479227686 1.164792277
+7.677419355 4.193548387 16.778452741 1.167784527
+7.677419355 4.483870968 17.050023823 1.170500238
+7.677419355 4.774193548 17.305719073 1.173057191
+7.677419355 5.064516129 17.555546435 1.175555464
+7.677419355 5.354838710 17.806398651 1.178063987
+7.677419355 5.645161290 18.068098179 1.180680982
+7.677419355 5.935483871 18.349962605 1.183499626
+7.677419355 6.225806452 18.667017714 1.186670177
+7.677419355 6.516129032 19.041899081 1.190418991
+7.677419355 6.806451613 19.524964154 1.195249642
+7.677419355 7.096774194 19.999997043 1.199999970
+7.677419355 7.387096774 19.999997043 1.199999970
+7.677419355 7.677419355 19.999997043 1.199999970
+7.677419355 7.967741935 19.999997043 1.199999970
+7.677419355 8.258064516 19.999997043 1.199999970
+7.677419355 8.548387097 19.999997043 1.199999970
+7.677419355 8.838709677 19.999997043 1.199999970
+7.677419355 9.129032258 19.999997043 1.199999970
+7.677419355 9.419354839 19.999997043 1.199999970
+7.677419355 9.709677419 19.999997043 1.199999970
+7.677419355 10.000000000 19.999997043 1.199999970
+7.967741935 1.000000000 15.000000000 1.150000000
+7.967741935 1.290322581 15.000000000 1.150000000
+7.967741935 1.580645161 15.000000000 1.150000000
+7.967741935 1.870967742 15.000000000 1.150000000
+7.967741935 2.161290323 15.000000000 1.150000000
+7.967741935 2.451612903 15.000000000 1.150000000
+7.967741935 2.741935484 15.000000000 1.150000000
+7.967741935 3.032258065 15.103574890 1.151035749
+7.967741935 3.322580645 15.708449495 1.157084495
+7.967741935 3.612903226 16.133823742 1.161338237
+7.967741935 3.903225806 16.479227686 1.164792277
+7.967741935 4.193548387 16.778452741 1.167784527
+7.967741935 4.483870968 17.050023823 1.170500238
+7.967741935 4.774193548 17.305719073 1.173057191
+7.967741935 5.064516129 17.555546435 1.175555464
+7.967741935 5.354838710 17.806398651 1.178063987
+7.967741935 5.645161290 18.068098179 1.180680982
+7.967741935 5.935483871 18.349962605 1.183499626
+7.967741935 6.225806452 18.667017714 1.186670177
+7.967741935 6.516129032 19.041899081 1.190418991
+7.967741935 6.806451613 19.524964154 1.195249642
+7.967741935 7.096774194 19.999997043 1.199999970
+7.967741935 7.387096774 19.999997043 1.199999970
+7.967741935 7.677419355 19.999997043 1.199999970
+7.967741935 7.967741935 19.999997043 1.199999970
+7.967741935 8.258064516 19.999997043 1.199999970
+7.967741935 8.548387097 19.999997043 1.199999970
+7.967741935 8.838709677 19.999997043 1.199999970
+7.967741935 9.129032258 19.999997043 1.199999970
+7.967741935 9.419354839 19.999997043 1.199999970
+7.967741935 9.709677419 19.999997043 1.199999970
+7.967741935 10.000000000 19.999997043 1.199999970
+8.258064516 1.000000000 15.000000000 1.150000000
+8.258064516 1.290322581 15.000000000 1.150000000
+8.258064516 1.580645161 15.000000000 1.150000000
+8.258064516 1.870967742 15.000000000 1.150000000
+8.258064516 2.161290323 15.000000000 1.150000000
+8.258064516 2.451612903 15.000000000 1.150000000
+8.258064516 2.741935484 15.000000000 1.150000000
+8.258064516 3.032258065 15.103574890 1.151035749
+8.258064516 3.322580645 15.708449495 1.157084495
+8.258064516 3.612903226 16.133823742 1.161338237
+8.258064516 3.903225806 16.479227686 1.164792277
+8.258064516 4.193548387 16.778452741 1.167784527
+8.258064516 4.483870968 17.050023823 1.170500238
+8.258064516 4.774193548 17.305719073 1.173057191
+8.258064516 5.064516129 17.555546435 1.175555464
+8.258064516 5.354838710 17.806398651 1.178063987
+8.258064516 5.645161290 18.068098179 1.180680982
+8.258064516 5.935483871 18.349962605 1.183499626
+8.258064516 6.225806452 18.667017714 1.186670177
+8.258064516 6.516129032 19.041899081 1.190418991
+8.258064516 6.806451613 19.524964154 1.195249642
+8.258064516 7.096774194 19.999997043 1.199999970
+8.258064516 7.387096774 19.999997043 1.199999970
+8.258064516 7.677419355 19.999997043 1.199999970
+8.258064516 7.967741935 19.999997043 1.199999970
+8.258064516 8.258064516 19.999997043 1.199999970
+8.258064516 8.548387097 19.999997043 1.199999970
+8.258064516 8.838709677 19.999997043 1.199999970
+8.258064516 9.129032258 19.999997043 1.199999970
+8.258064516 9.419354839 19.999997043 1.199999970
+8.258064516 9.709677419 19.999997043 1.199999970
+8.258064516 10.000000000 19.999997043 1.199999970
+8.548387097 1.000000000 15.000000000 1.150000000
+8.548387097 1.290322581 15.000000000 1.150000000
+8.548387097 1.580645161 15.000000000 1.150000000
+8.548387097 1.870967742 15.000000000 1.150000000
+8.548387097 2.161290323 15.000000000 1.150000000
+8.548387097 2.451612903 15.000000000 1.150000000
+8.548387097 2.741935484 15.000000000 1.150000000
+8.548387097 3.032258065 15.103574890 1.151035749
+8.548387097 3.322580645 15.708449495 1.157084495
+8.548387097 3.612903226 16.133823742 1.161338237
+8.548387097 3.903225806 16.479227686 1.164792277
+8.548387097 4.193548387 16.778452741 1.167784527
+8.548387097 4.483870968 17.050023823 1.170500238
+8.548387097 4.774193548 17.305719073 1.173057191
+8.548387097 5.064516129 17.555546435 1.175555464
+8.548387097 5.354838710 17.806398651 1.178063987
+8.548387097 5.645161290 18.068098179 1.180680982
+8.548387097 5.935483871 18.349962605 1.183499626
+8.548387097 6.225806452 18.667017714 1.186670177
+8.548387097 6.516129032 19.041899081 1.190418991
+8.548387097 6.806451613 19.524964154 1.195249642
+8.548387097 7.096774194 19.999997043 1.199999970
+8.548387097 7.387096774 19.999997043 1.199999970
+8.548387097 7.677419355 19.999997043 1.199999970
+8.548387097 7.967741935 19.999997043 1.199999970
+8.548387097 8.258064516 19.999997043 1.199999970
+8.548387097 8.548387097 19.999997043 1.199999970
+8.548387097 8.838709677 19.999997043 1.199999970
+8.548387097 9.129032258 19.999997043 1.199999970
+8.548387097 9.419354839 19.999997043 1.199999970
+8.548387097 9.709677419 19.999997043 1.199999970
+8.548387097 10.000000000 19.999997043 1.199999970
+8.838709677 1.000000000 15.000000000 1.150000000
+8.838709677 1.290322581 15.000000000 1.150000000
+8.838709677 1.580645161 15.000000000 1.150000000
+8.838709677 1.870967742 15.000000000 1.150000000
+8.838709677 2.161290323 15.000000000 1.150000000
+8.838709677 2.451612903 15.000000000 1.150000000
+8.838709677 2.741935484 15.000000000 1.150000000
+8.838709677 3.032258065 15.103574890 1.151035749
+8.838709677 3.322580645 15.708449495 1.157084495
+8.838709677 3.612903226 16.133823742 1.161338237
+8.838709677 3.903225806 16.479227686 1.164792277
+8.838709677 4.193548387 16.778452741 1.167784527
+8.838709677 4.483870968 17.050023823 1.170500238
+8.838709677 4.774193548 17.305719073 1.173057191
+8.838709677 5.064516129 17.555546435 1.175555464
+8.838709677 5.354838710 17.806398651 1.178063987
+8.838709677 5.645161290 18.068098179 1.180680982
+8.838709677 5.935483871 18.349962605 1.183499626
+8.838709677 6.225806452 18.667017714 1.186670177
+8.838709677 6.516129032 19.041899081 1.190418991
+8.838709677 6.806451613 19.524964154 1.195249642
+8.838709677 7.096774194 19.999997043 1.199999970
+8.838709677 7.387096774 19.999997043 1.199999970
+8.838709677 7.677419355 19.999997043 1.199999970
+8.838709677 7.967741935 19.999997043 1.199999970
+8.838709677 8.258064516 19.999997043 1.199999970
+8.838709677 8.548387097 19.999997043 1.199999970
+8.838709677 8.838709677 19.999997043 1.199999970
+8.838709677 9.129032258 19.999997043 1.199999970
+8.838709677 9.419354839 19.999997043 1.199999970
+8.838709677 9.709677419 19.999997043 1.199999970
+8.838709677 10.000000000 19.999997043 1.199999970
+9.129032258 1.000000000 15.000000000 1.150000000
+9.129032258 1.290322581 15.000000000 1.150000000
+9.129032258 1.580645161 15.000000000 1.150000000
+9.129032258 1.870967742 15.000000000 1.150000000
+9.129032258 2.161290323 15.000000000 1.150000000
+9.129032258 2.451612903 15.000000000 1.150000000
+9.129032258 2.741935484 15.000000000 1.150000000
+9.129032258 3.032258065 15.103574890 1.151035749
+9.129032258 3.322580645 15.708449495 1.157084495
+9.129032258 3.612903226 16.133823742 1.161338237
+9.129032258 3.903225806 16.479227686 1.164792277
+9.129032258 4.193548387 16.778452741 1.167784527
+9.129032258 4.483870968 17.050023823 1.170500238
+9.129032258 4.774193548 17.305719073 1.173057191
+9.129032258 5.064516129 17.555546435 1.175555464
+9.129032258 5.354838710 17.806398651 1.178063987
+9.129032258 5.645161290 18.068098179 1.180680982
+9.129032258 5.935483871 18.349962605 1.183499626
+9.129032258 6.225806452 18.667017714 1.186670177
+9.129032258 6.516129032 19.041899081 1.190418991
+9.129032258 6.806451613 19.524964154 1.195249642
+9.129032258 7.096774194 19.999997043 1.199999970
+9.129032258 7.387096774 19.999997043 1.199999970
+9.129032258 7.677419355 19.999997043 1.199999970
+9.129032258 7.967741935 19.999997043 1.199999970
+9.129032258 8.258064516 19.999997043 1.199999970
+9.129032258 8.548387097 19.999997043 1.199999970
+9.129032258 8.838709677 19.999997043 1.199999970
+9.129032258 9.129032258 19.999997043 1.199999970
+9.129032258 9.419354839 19.999997043 1.199999970
+9.129032258 9.709677419 19.999997043 1.199999970
+9.129032258 10.000000000 19.999997043 1.199999970
+9.419354839 1.000000000 15.000000000 1.150000000
+9.419354839 1.290322581 15.000000000 1.150000000
+9.419354839 1.580645161 15.000000000 1.150000000
+9.419354839 1.870967742 15.000000000 1.150000000
+9.419354839 2.161290323 15.000000000 1.150000000
+9.419354839 2.451612903 15.000000000 1.150000000
+9.419354839 2.741935484 15.000000000 1.150000000
+9.419354839 3.032258065 15.103574890 1.151035749
+9.419354839 3.322580645 15.708449495 1.157084495
+9.419354839 3.612903226 16.133823742 1.161338237
+9.419354839 3.903225806 16.479227686 1.164792277
+9.419354839 4.193548387 16.778452741 1.167784527
+9.419354839 4.483870968 17.050023823 1.170500238
+9.419354839 4.774193548 17.305719073 1.173057191
+9.419354839 5.064516129 17.555546435 1.175555464
+9.419354839 5.354838710 17.806398651 1.178063987
+9.419354839 5.645161290 18.068098179 1.180680982
+9.419354839 5.935483871 18.349962605 1.183499626
+9.419354839 6.225806452 18.667017714 1.186670177
+9.419354839 6.516129032 19.041899081 1.190418991
+9.419354839 6.806451613 19.524964154 1.195249642
+9.419354839 7.096774194 19.999997043 1.199999970
+9.419354839 7.387096774 19.999997043 1.199999970
+9.419354839 7.677419355 19.999997043 1.199999970
+9.419354839 7.967741935 19.999997043 1.199999970
+9.419354839 8.258064516 19.999997043 1.199999970
+9.419354839 8.548387097 19.999997043 1.199999970
+9.419354839 8.838709677 19.999997043 1.199999970
+9.419354839 9.129032258 19.999997043 1.199999970
+9.419354839 9.419354839 19.999997043 1.199999970
+9.419354839 9.709677419 19.999997043 1.199999970
+9.419354839 10.000000000 19.999997043 1.199999970
+9.709677419 1.000000000 15.000000000 1.150000000
+9.709677419 1.290322581 15.000000000 1.150000000
+9.709677419 1.580645161 15.000000000 1.150000000
+9.709677419 1.870967742 15.000000000 1.150000000
+9.709677419 2.161290323 15.000000000 1.150000000
+9.709677419 2.451612903 15.000000000 1.150000000
+9.709677419 2.741935484 15.000000000 1.150000000
+9.709677419 3.032258065 15.103574890 1.151035749
+9.709677419 3.322580645 15.708449495 1.157084495
+9.709677419 3.612903226 16.133823742 1.161338237
+9.709677419 3.903225806 16.479227686 1.164792277
+9.709677419 4.193548387 16.778452741 1.167784527
+9.709677419 4.483870968 17.050023823 1.170500238
+9.709677419 4.774193548 17.305719073 1.173057191
+9.709677419 5.064516129 17.555546435 1.175555464
+9.709677419 5.354838710 17.806398651 1.178063987
+9.709677419 5.645161290 18.068098179 1.180680982
+9.709677419 5.935483871 18.349962605 1.183499626
+9.709677419 6.225806452 18.667017714 1.186670177
+9.709677419 6.516129032 19.041899081 1.190418991
+9.709677419 6.806451613 19.524964154 1.195249642
+9.709677419 7.096774194 19.999997043 1.199999970
+9.709677419 7.387096774 19.999997043 1.199999970
+9.709677419 7.677419355 19.999997043 1.199999970
+9.709677419 7.967741935 19.999997043 1.199999970
+9.709677419 8.258064516 19.999997043 1.199999970
+9.709677419 8.548387097 19.999997043 1.199999970
+9.709677419 8.838709677 19.999997043 1.199999970
+9.709677419 9.129032258 19.999997043 1.199999970
+9.709677419 9.419354839 19.999997043 1.199999970
+9.709677419 9.709677419 19.999997043 1.199999970
+9.709677419 10.000000000 19.999997043 1.199999970
+10.000000000 1.000000000 15.000000000 1.150000000
+10.000000000 1.290322581 15.000000000 1.150000000
+10.000000000 1.580645161 15.000000000 1.150000000
+10.000000000 1.870967742 15.000000000 1.150000000
+10.000000000 2.161290323 15.000000000 1.150000000
+10.000000000 2.451612903 15.000000000 1.150000000
+10.000000000 2.741935484 15.000000000 1.150000000
+10.000000000 3.032258065 15.103574890 1.151035749
+10.000000000 3.322580645 15.708449495 1.157084495
+10.000000000 3.612903226 16.133823742 1.161338237
+10.000000000 3.903225806 16.479227686 1.164792277
+10.000000000 4.193548387 16.778452741 1.167784527
+10.000000000 4.483870968 17.050023823 1.170500238
+10.000000000 4.774193548 17.305719073 1.173057191
+10.000000000 5.064516129 17.555546435 1.175555464
+10.000000000 5.354838710 17.806398651 1.178063987
+10.000000000 5.645161290 18.068098179 1.180680982
+10.000000000 5.935483871 18.349962605 1.183499626
+10.000000000 6.225806452 18.667017714 1.186670177
+10.000000000 6.516129032 19.041899081 1.190418991
+10.000000000 6.806451613 19.524964154 1.195249642
+10.000000000 7.096774194 19.999997043 1.199999970
+10.000000000 7.387096774 19.999997043 1.199999970
+10.000000000 7.677419355 19.999997043 1.199999970
+10.000000000 7.967741935 19.999997043 1.199999970
+10.000000000 8.258064516 19.999997043 1.199999970
+10.000000000 8.548387097 19.999997043 1.199999970
+10.000000000 8.838709677 19.999997043 1.199999970
+10.000000000 9.129032258 19.999997043 1.199999970
+10.000000000 9.419354839 19.999997043 1.199999970
+10.000000000 9.709677419 19.999997043 1.199999970
+10.000000000 10.000000000 19.999997043 1.199999970
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.fll b/examples/mamdani/octave/mamdani_tip_calculator.fll
index b6c1920..516d870 100644
--- a/examples/mamdani/octave/mamdani_tip_calculator.fll
+++ b/examples/mamdani/octave/mamdani_tip_calculator.fll
@@ -1,33 +1,35 @@
-Engine: Mamdani-Tip-Calculator
+Engine: mamdani_tip_calculator
InputVariable: FoodQuality
enabled: true
range: 1.000 10.000
+ lock-range: false
term: Bad Trapezoid 0.000 1.000 3.000 7.000
term: Good Trapezoid 3.000 7.000 10.000 11.000
InputVariable: Service
enabled: true
range: 1.000 10.000
+ lock-range: false
term: Bad Trapezoid 0.000 1.000 3.000 7.000
term: Good Trapezoid 3.000 7.000 10.000 11.000
OutputVariable: Tip
enabled: true
range: 0.000 30.000
- accumulation: AlgebraicSum
+ lock-range: false
+ aggregation: AlgebraicSum
defuzzifier: Centroid 200
default: nan
lock-previous: false
- lock-range: false
term: AboutTenPercent Gaussian 10.000 2.000
term: AboutFifteenPercent Gaussian 15.000 2.000
term: AboutTwentyPercent Gaussian 20.000 2.000
OutputVariable: CheckPlusTip
enabled: true
range: 1.000 1.300
- accumulation: AlgebraicSum
+ lock-range: false
+ aggregation: AlgebraicSum
defuzzifier: Centroid 200
default: nan
lock-previous: false
- lock-range: false
term: PlusAboutTenPercent Gaussian 1.100 0.020
term: PlusAboutFifteenPercent Gaussian 1.150 0.020
term: PlusAboutTwentyPercent Gaussian 1.200 0.020
@@ -35,7 +37,8 @@ RuleBlock:
enabled: true
conjunction: AlgebraicProduct
disjunction: Maximum
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if FoodQuality is Bad and Service is Bad then Tip is AboutTenPercent and CheckPlusTip is PlusAboutTenPercent
rule: if FoodQuality is Bad and Service is Good then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent
rule: if FoodQuality is Good and Service is Bad then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.java b/examples/mamdani/octave/mamdani_tip_calculator.java
index bea319b..faea466 100644
--- a/examples/mamdani/octave/mamdani_tip_calculator.java
+++ b/examples/mamdani/octave/mamdani_tip_calculator.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,59 +13,70 @@ import com.fuzzylite.variable.*;
public class mamdani_tip_calculator{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("Mamdani-Tip-Calculator");
+engine.setName("mamdani_tip_calculator");
+engine.setDescription("");
-InputVariable inputVariable1 = new InputVariable();
-inputVariable1.setEnabled(true);
-inputVariable1.setName("FoodQuality");
-inputVariable1.setRange(1.000, 10.000);
-inputVariable1.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable1.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine.addInputVariable(inputVariable1);
+InputVariable FoodQuality = new InputVariable();
+FoodQuality.setName("FoodQuality");
+FoodQuality.setDescription("");
+FoodQuality.setEnabled(true);
+FoodQuality.setRange(1.000, 10.000);
+FoodQuality.setLockValueInRange(false);
+FoodQuality.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+FoodQuality.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine.addInputVariable(FoodQuality);
-InputVariable inputVariable2 = new InputVariable();
-inputVariable2.setEnabled(true);
-inputVariable2.setName("Service");
-inputVariable2.setRange(1.000, 10.000);
-inputVariable2.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable2.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine.addInputVariable(inputVariable2);
+InputVariable Service = new InputVariable();
+Service.setName("Service");
+Service.setDescription("");
+Service.setEnabled(true);
+Service.setRange(1.000, 10.000);
+Service.setLockValueInRange(false);
+Service.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+Service.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine.addInputVariable(Service);
-OutputVariable outputVariable1 = new OutputVariable();
-outputVariable1.setEnabled(true);
-outputVariable1.setName("Tip");
-outputVariable1.setRange(0.000, 30.000);
-outputVariable1.fuzzyOutput().setAccumulation(new AlgebraicSum());
-outputVariable1.setDefuzzifier(new Centroid(200));
-outputVariable1.setDefaultValue(Double.NaN);
-outputVariable1.setLockPreviousOutputValue(false);
-outputVariable1.setLockOutputValueInRange(false);
-outputVariable1.addTerm(new Gaussian("AboutTenPercent", 10.000, 2.000));
-outputVariable1.addTerm(new Gaussian("AboutFifteenPercent", 15.000, 2.000));
-outputVariable1.addTerm(new Gaussian("AboutTwentyPercent", 20.000, 2.000));
-engine.addOutputVariable(outputVariable1);
+OutputVariable Tip = new OutputVariable();
+Tip.setName("Tip");
+Tip.setDescription("");
+Tip.setEnabled(true);
+Tip.setRange(0.000, 30.000);
+Tip.setLockValueInRange(false);
+Tip.setAggregation(new AlgebraicSum());
+Tip.setDefuzzifier(new Centroid(200));
+Tip.setDefaultValue(Double.NaN);
+Tip.setLockPreviousValue(false);
+Tip.addTerm(new Gaussian("AboutTenPercent", 10.000, 2.000));
+Tip.addTerm(new Gaussian("AboutFifteenPercent", 15.000, 2.000));
+Tip.addTerm(new Gaussian("AboutTwentyPercent", 20.000, 2.000));
+engine.addOutputVariable(Tip);
-OutputVariable outputVariable2 = new OutputVariable();
-outputVariable2.setEnabled(true);
-outputVariable2.setName("CheckPlusTip");
-outputVariable2.setRange(1.000, 1.300);
-outputVariable2.fuzzyOutput().setAccumulation(new AlgebraicSum());
-outputVariable2.setDefuzzifier(new Centroid(200));
-outputVariable2.setDefaultValue(Double.NaN);
-outputVariable2.setLockPreviousOutputValue(false);
-outputVariable2.setLockOutputValueInRange(false);
-outputVariable2.addTerm(new Gaussian("PlusAboutTenPercent", 1.100, 0.020));
-outputVariable2.addTerm(new Gaussian("PlusAboutFifteenPercent", 1.150, 0.020));
-outputVariable2.addTerm(new Gaussian("PlusAboutTwentyPercent", 1.200, 0.020));
-engine.addOutputVariable(outputVariable2);
+OutputVariable CheckPlusTip = new OutputVariable();
+CheckPlusTip.setName("CheckPlusTip");
+CheckPlusTip.setDescription("");
+CheckPlusTip.setEnabled(true);
+CheckPlusTip.setRange(1.000, 1.300);
+CheckPlusTip.setLockValueInRange(false);
+CheckPlusTip.setAggregation(new AlgebraicSum());
+CheckPlusTip.setDefuzzifier(new Centroid(200));
+CheckPlusTip.setDefaultValue(Double.NaN);
+CheckPlusTip.setLockPreviousValue(false);
+CheckPlusTip.addTerm(new Gaussian("PlusAboutTenPercent", 1.100, 0.020));
+CheckPlusTip.addTerm(new Gaussian("PlusAboutFifteenPercent", 1.150, 0.020));
+CheckPlusTip.addTerm(new Gaussian("PlusAboutTwentyPercent", 1.200, 0.020));
+engine.addOutputVariable(CheckPlusTip);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(new AlgebraicProduct());
ruleBlock.setDisjunction(new Maximum());
-ruleBlock.setActivation(new Minimum());
+ruleBlock.setImplication(new Minimum());
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if FoodQuality is Bad and Service is Bad then Tip is AboutTenPercent and CheckPlusTip is PlusAboutTenPercent", engine));
ruleBlock.addRule(Rule.parse("if FoodQuality is Bad and Service is Good then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent", engine));
ruleBlock.addRule(Rule.parse("if FoodQuality is Good and Service is Bad then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent", engine));
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.pdf b/examples/mamdani/octave/mamdani_tip_calculator.pdf
new file mode 100644
index 0000000..d62a142
--- /dev/null
+++ b/examples/mamdani/octave/mamdani_tip_calculator.pdf
Binary files differ