{
	"CHART":{
		"VERSION":"1",
		"VIEW":"home",
		"TYPE":"47",
		"PROPERTIES":{
			"title":"Overview ",
			"subtitle":" ",
			"widthFactor":"2",
			"heightFactor":"2",
			"style":"0",
			"resizable":"0",
			"config":"{\n  \"version\":\"2.0\",\n  \"CHARTS\":[\n    { \"type\":108,\"span\":1,\"deep\":15,\"column\":0,\"order\":110,\"symbol\":\"total_distance\",\"datafilter\":\"filter:isRide \",\"name\":\"Going Long\" },\n    { \"type\":108,\"span\":1,\"deep\":16,\"column\":0,\"order\":168,\"symbol\":\"skiba_wprime_low\",\"datafilter\":\" \",\"name\":\"Going Deep\" },\n    { \"type\":108,\"span\":1,\"deep\":17,\"column\":0,\"order\":179,\"symbol\":\"average_speed\",\"datafilter\":\"filter:isRide \",\"name\":\"Going Fast\" },\n    { \"type\":113,\"span\":4,\"deep\":32,\"column\":0,\"order\":193,\"settings\":\"{ \\\"title\\\": \\\" \\\",\\n\\\"description\\\": \\\"A description of the chart, mostly useful when the chart is uploaded to the cloud to let others know what this chart is useful for etc. \\\",\\n\\\"type\\\": 1,\\n\\\"animate\\\": false,\\n\\\"legendpos\\\": 2,\\n\\\"stack\\\": false,\\n\\\"orientation\\\": 1,\\n\\\"scale\\\": 2.5,\\n\\\"SERIES\\\": [\\n{ \\\"name\\\": \\\"CTL \\\", \\\"group\\\": \\\" \\\", \\\"xname\\\": \\\"Date \\\", \\\"yname\\\": \\\"TSS \\\", \\\"program\\\": \\\"{:sl:n    finalise {:sl:n        # we just fetch metrics at the end:sl:n        xx <- pmc(BikeStress, date);:sl:n        yy <- pmc(BikeStress, lts);:sl:n    }:sl:n:sl:n    x { xx; }:sl:n    y { yy; }:sl:n}:sl:n \\\", \\\"line\\\": 1, \\\"symbol\\\": 0, \\\"size\\\": 2, \\\"color\\\": \\\"#010129\\\", \\\"opacity\\\": 100, \\\"legend\\\": true, \\\"opengl\\\": true, \\\"datalabels\\\": false, \\\"aggregate\\\": 1, \\\"fill\\\": false},\\n{ \\\"name\\\": \\\"ATL \\\", \\\"group\\\": \\\" \\\", \\\"xname\\\": \\\"Date \\\", \\\"yname\\\": \\\"TSS \\\", \\\"program\\\": \\\"{:sl:n    finalise {:sl:n        # we just fetch metrics at the end:sl:n        xx <- pmc(BikeStress, date);:sl:n        yy <- pmc(BikeStress, sts);:sl:n    }:sl:n:sl:n    x { xx; }:sl:n    y { yy; }:sl:n}:sl:n \\\", \\\"line\\\": 1, \\\"symbol\\\": 0, \\\"size\\\": 2, \\\"color\\\": \\\"#010128\\\", \\\"opacity\\\": 100, \\\"legend\\\": true, \\\"opengl\\\": true, \\\"datalabels\\\": false, \\\"aggregate\\\": 1, \\\"fill\\\": false},\\n{ \\\"name\\\": \\\"TSB \\\", \\\"group\\\": \\\" \\\", \\\"xname\\\": \\\"Date \\\", \\\"yname\\\": \\\"TSS \\\", \\\"program\\\": \\\"{:sl:n    finalise {:sl:n        # we just fetch metrics at the end:sl:n        xx <- pmc(BikeStress, date);:sl:n        yy <- pmc(BikeStress, sb);:sl:n    }:sl:n:sl:n    x { xx; }:sl:n    y { yy; }:sl:n}:sl:n \\\", \\\"line\\\": 1, \\\"symbol\\\": 0, \\\"size\\\": 2, \\\"color\\\": \\\"#01012a\\\", \\\"opacity\\\": 100, \\\"legend\\\": true, \\\"opengl\\\": true, \\\"datalabels\\\": false, \\\"aggregate\\\": 1, \\\"fill\\\": false} ]\\n,\\n\\\"AXES\\\": [\\n{ \\\"name\\\": \\\"Date \\\", \\\"type\\\": 1, \\\"orientation\\\": 1, \\\"align\\\": 1, \\\"minx\\\": 0, \\\"maxx\\\": 0, \\\"miny\\\": 0, \\\"maxy\\\": 0, \\\"smooth\\\": 0, \\\"groupby\\\": 1, \\\"visible\\\": true, \\\"fixed\\\": false, \\\"log\\\": false, \\\"minorgrid\\\": false, \\\"majorgrid\\\": true, \\\"labelcolor\\\": \\\"#55aaff\\\", \\\"axiscolor\\\": \\\"#55aaff\\\"},\\n{ \\\"name\\\": \\\"TSS \\\", \\\"type\\\": 0, \\\"orientation\\\": 2, \\\"align\\\": 1, \\\"minx\\\": 0, \\\"maxx\\\": 0, \\\"miny\\\": 0, \\\"maxy\\\": 0, \\\"smooth\\\": 0, \\\"groupby\\\": 0, \\\"visible\\\": true, \\\"fixed\\\": false, \\\"log\\\": false, \\\"minorgrid\\\": false, \\\"majorgrid\\\": true, \\\"labelcolor\\\": \\\"#010129\\\", \\\"axiscolor\\\": \\\"#010129\\\"} ]\\n} \",\"datafilter\":\" \",\"name\":\"PMC\" },\n    { \"type\":113,\"span\":6,\"deep\":18,\"column\":0,\"order\":195,\"settings\":\"{ \\\"title\\\": \\\" \\\",\\n\\\"description\\\": \\\"A description of the chart, mostly useful when the chart is uploaded to the cloud to let others know what this chart is useful for etc. \\\",\\n\\\"type\\\": 3,\\n\\\"animate\\\": false,\\n\\\"legendpos\\\": 2,\\n\\\"stack\\\": false,\\n\\\"orientation\\\": 1,\\n\\\"scale\\\": 2.5,\\n\\\"SERIES\\\": [\\n{ \\\"name\\\": \\\"TSS \\\", \\\"group\\\": \\\" \\\", \\\"xname\\\": \\\"Date \\\", \\\"yname\\\": \\\"TSS \\\", \\\"program\\\": \\\"{:sl:n:sl:n    finalise {:sl:n        # we just fetch metrics at the end:sl:n        xx <- metrics(date);:sl:n        yy <- round(metrics(BikeStress));:sl:n    }:sl:n:sl:n    x { xx; }:sl:n    y { yy; }:sl:n}:sl:n \\\", \\\"line\\\": 1, \\\"symbol\\\": 0, \\\"size\\\": 1, \\\"color\\\": \\\"#010126\\\", \\\"opacity\\\": 100, \\\"legend\\\": true, \\\"opengl\\\": true, \\\"datalabels\\\": true, \\\"aggregate\\\": 0, \\\"fill\\\": false} ]\\n,\\n\\\"AXES\\\": [\\n{ \\\"name\\\": \\\"Date \\\", \\\"type\\\": 1, \\\"orientation\\\": 1, \\\"align\\\": 1, \\\"minx\\\": 0, \\\"maxx\\\": 0, \\\"miny\\\": 0, \\\"maxy\\\": 0, \\\"smooth\\\": 0, \\\"groupby\\\": 3, \\\"visible\\\": true, \\\"fixed\\\": false, \\\"log\\\": false, \\\"minorgrid\\\": false, \\\"majorgrid\\\": true, \\\"labelcolor\\\": \\\"#55aaff\\\", \\\"axiscolor\\\": \\\"#55aaff\\\"},\\n{ \\\"name\\\": \\\"TSS \\\", \\\"type\\\": 0, \\\"orientation\\\": 2, \\\"align\\\": 1, \\\"minx\\\": 0, \\\"maxx\\\": 0, \\\"miny\\\": 0, \\\"maxy\\\": 0, \\\"smooth\\\": 0, \\\"groupby\\\": 0, \\\"visible\\\": true, \\\"fixed\\\": false, \\\"log\\\": false, \\\"minorgrid\\\": false, \\\"majorgrid\\\": true, \\\"labelcolor\\\": \\\"#010126\\\", \\\"axiscolor\\\": \\\"#010126\\\"} ]\\n} \",\"datafilter\":\" \",\"name\":\"Monthly Load\" },\n    { \"type\":107,\"span\":1,\"deep\":8,\"column\":1,\"order\":1449,\"program\":\"{\\n    end <- daterange(stop) > Today ? Today : daterange(stop);\\n    days <- end - daterange(start);\\n    round(sum(metrics(Distance))\\\/(days\\\/7)); \\n\\n} \",\"units\":\"km\",\"istime\":0,\"start\":0,\"stop\":300,\"datafilter\":\"filter: \",\"name\":\"Weekly Distance\" },\n    { \"type\":110,\"span\":2,\"deep\":24,\"column\":1,\"order\":1469,\"xsymbol\":\"activity_date\",\"ysymbol\":\"average_power\",\"zsymbol\":\"coggan_tss\",\"datafilter\":\"search: \",\"name\":\"Activities\" },\n    { \"type\":112,\"span\":2,\"deep\":16,\"column\":1,\"order\":1470,\"program\":\"{\\n\\n# column names, if using metrics then best\\n# to use metricname() to get correct name for locale\\n# otherwise it won't translate to other languages\\nnames { \\n    c(\\\"Name\\\",\\\"Description\\\",\\\"Low\\\",\\\"High\\\",\\\"Time\\\",\\\"%\\\");\\n}\\n\\n# column units, if using metrics then best\\n# to use metricunit() function to get correct string\\n# for locale and metric\\\/imperial\\nunits {\\n\\n    c(\\\"\\\",\\n      \\\"\\\",\\n      zones(power,units),\\n      zones(power,units), \\\"\\\", \\\"\\\");\\n}\\n\\n# values to display as doubles or strings\\n# if using metrics always best to use asstring()\\n# to convert correctly with dp, metric\\\/imperial\\n# or specific formats eg. rowing pace xx\\\/500m\\nvalues { \\n\\n   c( zones(power,name),\\n      zones(power,description),\\n      zones(power,low),\\n      zones(power,high),\\n      zones(power,time),\\n      zones(power,percent));\\n} \\n\\n}\\n \",\"datafilter\":\"filter: \",\"name\":\"Power Zones\" },\n    { \"type\":107,\"span\":1,\"deep\":8,\"column\":2,\"order\":11,\"program\":\"{ weeks <- (daterange(stop)-daterange(start))\\\/7; round(10*sum(metrics(Duration)\\\/3600)\\\/weeks)\\\/10; } \",\"units\":\"hours\",\"istime\":0,\"start\":0,\"stop\":15,\"datafilter\":\"search: \",\"name\":\"Weekly Hours\" },\n    { \"type\":101,\"span\":1,\"deep\":8,\"column\":3,\"order\":115,\"symbol\":\"coggan_tss\",\"datafilter\":\" \",\"name\":\"Total TSS\" },\n    { \"type\":103,\"span\":1,\"deep\":15,\"column\":3,\"order\":153,\"series\":10,\"polarized\":0,\"datafilter\":\" \",\"name\":\"Power Zones\" },\n    { \"type\":109,\"span\":1,\"deep\":13,\"column\":3,\"order\":154,\"symbol\":\"workout_time\",\"meta\":\"Workout Code\",\"datafilter\":\"search: \",\"name\":\"Workout\" },\n    { \"type\":101,\"span\":1,\"deep\":5,\"column\":3,\"order\":265,\"symbol\":\"workout_time\",\"datafilter\":\"search: \",\"name\":\"Workout Time\" },\n    { \"type\":107,\"span\":1,\"deep\":5,\"column\":3,\"order\":357,\"program\":\"{ round(max(pmc(BikeStress, lts))); } \",\"units\":\"stress\",\"istime\":0,\"start\":0,\"stop\":125,\"datafilter\":\"search: \",\"name\":\"Peak CTL\" },\n    { \"type\":107,\"span\":1,\"deep\":8,\"column\":4,\"order\":807,\"program\":\"{ \\nround(max(banister(BikeScore, Power_Index,cp)));\\n} \",\"units\":\"watts\",\"istime\":0,\"start\":0,\"stop\":360,\"datafilter\":\"search: \",\"name\":\"Peak CP Estimate \" },\n    { \"type\":113,\"span\":2,\"deep\":24,\"column\":4,\"order\":825,\"settings\":\"{ \\\"title\\\": \\\" \\\",\\n\\\"description\\\": \\\" \\\",\\n\\\"type\\\": 2,\\n\\\"animate\\\": false,\\n\\\"legendpos\\\": 2,\\n\\\"stack\\\": false,\\n\\\"orientation\\\": 2,\\n\\\"scale\\\": 2.5,\\n\\\"SERIES\\\": [\\n{ \\\"name\\\": \\\"IF \\\", \\\"group\\\": \\\" \\\", \\\"xname\\\": \\\"TSB \\\", \\\"yname\\\": \\\"IF \\\", \\\"program\\\": \\\"{:sl:n    finalise {:sl:n        # we just fetch metrics at the end :sl:n        dates <- metrics(date);:sl:n        pmcdates <- pmc(BikeStress, date);:sl:n        indexes <- match(dates, pmcdates);:sl:n        xx <- pmc(BikeStress, sb)[indexes];:sl:n        yy <- metrics(BikeIntensity);:sl:n        ff <- filename();:sl:n    }:sl:n:sl:n    x { xx; }:sl:n    y { yy; }:sl:n    f { ff; }:sl:n}:sl:n \\\", \\\"line\\\": 0, \\\"symbol\\\": 1, \\\"size\\\": 20, \\\"color\\\": \\\"#ff3efc\\\", \\\"opacity\\\": 100, \\\"legend\\\": true, \\\"opengl\\\": false, \\\"datalabels\\\": false, \\\"aggregate\\\": 0, \\\"fill\\\": false},\\n{ \\\"name\\\": \\\"Tests \\\", \\\"group\\\": \\\" \\\", \\\"xname\\\": \\\"TSB \\\", \\\"yname\\\": \\\"IF \\\", \\\"program\\\": \\\"{:sl:n:sl:n    calc {:sl:n        dates <- metrics(date);:sl:n        pmcdates <- pmc(BikeStress, date);:sl:n        indexes <- match(dates, pmcdates);:sl:n        xx <- pmc(BikeStress, sb)[indexes];:sl:n        yy <- metrics(BikeIntensity);:sl:n        ff <- filename();:sl:n    }:sl:n:sl:n    finalise {:sl:n        # we just fetch metrics at the end :sl:n        activities(:qu:tests(user,power) >0:qu:, calc());:sl:n    }:sl:n:sl:n    x { xx; }:sl:n    y { yy; }:sl:n    f { ff; }:sl:n}:sl:n \\\", \\\"line\\\": 0, \\\"symbol\\\": 1, \\\"size\\\": 20, \\\"color\\\": \\\"#010110\\\", \\\"opacity\\\": 100, \\\"legend\\\": true, \\\"opengl\\\": false, \\\"datalabels\\\": false, \\\"aggregate\\\": 0, \\\"fill\\\": false} ]\\n,\\n\\\"AXES\\\": [\\n{ \\\"name\\\": \\\"TSB \\\", \\\"type\\\": 0, \\\"orientation\\\": 1, \\\"align\\\": 1, \\\"minx\\\": -15, \\\"maxx\\\": 15, \\\"miny\\\": 0, \\\"maxy\\\": 0, \\\"smooth\\\": 0, \\\"groupby\\\": 0, \\\"visible\\\": true, \\\"fixed\\\": true, \\\"log\\\": false, \\\"minorgrid\\\": false, \\\"majorgrid\\\": true, \\\"labelcolor\\\": \\\"#55aaff\\\", \\\"axiscolor\\\": \\\"#55aaff\\\"},\\n{ \\\"name\\\": \\\"IF \\\", \\\"type\\\": 0, \\\"orientation\\\": 2, \\\"align\\\": 1, \\\"minx\\\": 0, \\\"maxx\\\": 0, \\\"miny\\\": 0.4, \\\"maxy\\\": 1.2, \\\"smooth\\\": 0, \\\"groupby\\\": 0, \\\"visible\\\": true, \\\"fixed\\\": true, \\\"log\\\": false, \\\"minorgrid\\\": false, \\\"majorgrid\\\": true, \\\"labelcolor\\\": \\\"#ff3efc\\\", \\\"axiscolor\\\": \\\"#ff3efc\\\"} ]\\n} \",\"datafilter\":\" \",\"name\":\"Scatter PMC \" },\n    { \"type\":112,\"span\":2,\"deep\":16,\"column\":4,\"order\":826,\"program\":\"{\\n\\n# column names, if using metrics then best\\n# to use name() to get correct name for locale\\n# otherwise it won't translate to other languages\\nnames {\\n    metricname(date,\\n         Duration,\\n         Distance,\\n         Work,\\n         W'_Work,\\n         30_min_Peak_Power);\\n}\\n\\n# column units, if using metrics then best\\n# to use unit() function to get correct string\\n# for locale and metric\\\/imperial\\nunits {\\n    metricunit(date,\\n         Duration,\\n         Distance,\\n         Work,\\n         W'_Work,\\n         30_min_Peak_Power);\\n}\\n\\n# values to display as doubles or strings\\n# if using metrics always best to use asstring()\\n# to convert correctly with dp, metric\\\/imperial\\n# or specific formats eg. rowing pace xx\\\/500m\\nvalues { \\n    c(metricstrings(date),\\n      metricstrings(Duration),\\n      metricstrings(Distance),\\n      metricstrings(Work),\\n      metricstrings(W'_Work),\\n      metricstrings(30_min_Peak_Power)); \\n} \\n\\nf {\\n    filename();\\n}\\n\\n} \",\"datafilter\":\"filter:tests(user,power) \",\"name\":\"Performance tests\" },\n    { \"type\":112,\"span\":2,\"deep\":32,\"column\":4,\"order\":827,\"program\":\"{\\n\\n# column names, if using metrics then best\\n# to use metricname() to get correct name for locale\\n# otherwise it won't translate to other languages\\nnames {\\n    c(\\\"Date\\\", \\\"Daily\\\", \\\"Chronic\\\", \\\"Acute\\\", \\\"Stress\\\");\\n}\\n\\n# column units, if using metrics then best\\n# to use metricunit() function to get correct string\\n# for locale and metric\\\/imperial\\nunits {\\n    c(\\\"\\\",\\\"TSS\\\", \\\"Load\\\",\\\"Load\\\",\\\"Balance\\\");\\n}\\n\\n# values to display as doubles or strings\\n# if using metrics always best to use asstring()\\n# to convert correctly with dp, metric\\\/imperial\\n# or specific formats eg. rowing pace xx\\\/500m\\nvalues { \\n    c(datestring(pmc(BikeStress,date)),\\n      round(pmc(BikeStress,stress)),\\n      round(pmc(BikeStress,lts)),\\n      round(pmc(BikeStress,sts)),\\n      round(pmc(BikeStress,sb)));\\n\\n} \\n\\n\\n} \",\"datafilter\":\"search: \",\"name\":\"PMC Data\" },\n    { \"type\":107,\"span\":1,\"deep\":8,\"column\":5,\"order\":1,\"program\":\"{ round(max(estimates(cp3,w')\\\/1000)*10)\\\/10; } \",\"units\":\"kJ\",\"istime\":0,\"start\":0,\"stop\":25,\"datafilter\":\" \",\"name\":\"Peak W' Estimate \" }\n  ]\n}\n ",
			"__LAST__":"1"
		}
	}
}
