From 219428c249088fe50e34b80c4464144221b036bf Mon Sep 17 00:00:00 2001 From: Sergey Lyubka Date: Fri, 3 Jun 2022 07:13:08 +0100 Subject: [PATCH] Change device dashboard to use MQTT --- examples/device-dashboard/Makefile | 2 +- examples/device-dashboard/{web.c => net.c} | 73 +- examples/device-dashboard/packed_fs.c | 6344 +++-------------- .../web_root/chartist.min.css | 1 - .../device-dashboard/web_root/chartist.min.js | 10 - examples/device-dashboard/web_root/index.html | 2 - examples/device-dashboard/web_root/main.js | 218 +- examples/device-dashboard/web_root/style.css | 3 +- 8 files changed, 1303 insertions(+), 5350 deletions(-) rename examples/device-dashboard/{web.c => net.c} (69%) delete mode 100644 examples/device-dashboard/web_root/chartist.min.css delete mode 100644 examples/device-dashboard/web_root/chartist.min.js diff --git a/examples/device-dashboard/Makefile b/examples/device-dashboard/Makefile index 963a7dc1..d3f89de3 100644 --- a/examples/device-dashboard/Makefile +++ b/examples/device-dashboard/Makefile @@ -1,5 +1,5 @@ PROG ?= example -SOURCES ?= ../../mongoose.c main.c web.c packed_fs.c +SOURCES ?= ../../mongoose.c main.c net.c packed_fs.c CFLAGS ?= -I../.. -DMG_ENABLE_PACKED_FS=1 $(EXTRA) FILES_TO_EMBED ?= $(wildcard web_root/*) ROOT ?= $(realpath $(CURDIR)/../../..) diff --git a/examples/device-dashboard/web.c b/examples/device-dashboard/net.c similarity index 69% rename from examples/device-dashboard/web.c rename to examples/device-dashboard/net.c index d3d23f3f..f0b76a85 100644 --- a/examples/device-dashboard/web.c +++ b/examples/device-dashboard/net.c @@ -3,6 +3,10 @@ #include "mongoose.h" +#define MQTT_SERVER "mqtt://broker.hivemq.com:1883" +#define MQTT_PUBLISH_TOPIC "mg/my_device" +#define MQTT_SUBSCRIBE_TOPIC "mg/#" + // Authenticated user. // A user can be authenticated by: // - a name:pass pair @@ -17,25 +21,18 @@ struct user { // This is a configuration structure we're going to show on a dashboard static struct config { - int value1; - char *value2; -} s_config = {123, NULL}; + char *url, *pub, *sub; // MQTT settings +} s_config; -// Update config structure. Return true if changed, false otherwise -static bool update_config(struct mg_http_message *hm, struct config *cfg) { - bool changed = false; +static struct mg_connection *s_mqtt = NULL; // MQTT connection + +// Try to update a single configuration value +static void update_config(struct mg_str *body, const char *name, char **value) { char buf[256]; - if (mg_http_get_var(&hm->body, "value1", buf, sizeof(buf)) > 0) { - cfg->value1 = atoi(buf); - changed = true; + if (mg_http_get_var(body, name, buf, sizeof(buf)) > 0) { + free(*value); + *value = strdup(buf); } - if (mg_http_get_var(&hm->body, "value2", buf, sizeof(buf)) > 0) { - free(cfg->value2); - cfg->value2 = malloc(strlen(buf) + 1); - strcpy(cfg->value2, buf); - changed = true; - } - return changed; } // Parse HTTP requests, return authenticated user or NULL @@ -75,7 +72,7 @@ static void send_notification(struct mg_mgr *mgr, const char *name, } // Send simulated metrics data to the dashboard, for chart rendering -static void timer_func(void *param) { +static void timer_metrics_fn(void *param) { char buf[50]; mg_snprintf(buf, sizeof(buf), "[ %lu, %d ]", (unsigned long) time(NULL), 10 + (int) ((double) rand() * 10 / RAND_MAX)); @@ -83,11 +80,41 @@ static void timer_func(void *param) { send_notification(param, "metrics", buf); } +// MQTT event handler function +static void mqtt_fn(struct mg_connection *c, int ev, void *evd, void *fnd) { + if (ev == MG_EV_MQTT_OPEN) { + struct mg_str topic = mg_str(s_config.pub); + mg_mqtt_sub(s_mqtt, &topic, 1); + } else if (ev == MG_EV_MQTT_MSG) { + struct mg_mqtt_message *mm = evd; + char buf[256]; + snprintf(buf, sizeof(buf), "{\"topic\":\"%.*s\",\"data\":\"%.*s\"}", + (int) mm->topic.len, mm->topic.ptr, (int) mm->data.len, + mm->data.ptr); + send_notification(param, "message", buf); + } else if (ev == MG_EV_CLOSE) { + s_mqtt = NULL; + } +} + +// Keep MQTT connection open - reconnect if closed +static void timer_metrics_fn(void *param) { + struct mg_mgr *mgr = (struct mg_mgr *) param; + if (s_mqtt == NULL) { + struct mg_mqtt_opts opts = {}; + s_mqtt = mg_mqtt_connect(mgr, s_config.rl, &opts, mqtt_fn, NULL); + } +} + // HTTP request handler function void device_dashboard_fn(struct mg_connection *c, int ev, void *ev_data, void *fn_data) { if (ev == MG_EV_OPEN && c->is_listening) { - mg_timer_add(c->mgr, 1000, MG_TIMER_REPEAT, timer_func, c->mgr); + mg_timer_add(c->mgr, 1000, MG_TIMER_REPEAT, timer_metrics_fn, c->mgr); + mg_timer_add(c->mgr, 1000, MG_TIMER_REPEAT, timer_mqtt_fn, c->mgr); + s_config.url = strdup(MQTT_SERVER); + s_config.pub = strdup(MQTT_PUBLISH_TOPIC); + s_config.sub = strdup(MQTT_SUBSCRIBE_TOPIC); } else if (ev == MG_EV_HTTP_MSG) { struct mg_http_message *hm = (struct mg_http_message *) ev_data; struct user *u = getuser(hm); @@ -100,14 +127,16 @@ void device_dashboard_fn(struct mg_connection *c, int ev, void *ev_data, mg_printf(c, "%s", "HTTP/1.1 403 Denied\r\nContent-Length: 0\r\n\r\n"); } else if (mg_http_match_uri(hm, "/api/config/get")) { mg_printf(c, "HTTP/1.1 200 OK\r\nTransfer-Encoding: chunked\r\n\r\n"); - mg_http_printf_chunk(c, "{\"%s\":%d,\"%s\":\"%s\"}", "value1", - s_config.value1, "value2", s_config.value2); + mg_http_printf_chunk(c, "{\"url\":\"%s\",\"pub\":\"%s\",\"sub\":\"%s\"}", + s_config.url, s_config.pub, s_config.sub); mg_http_printf_chunk(c, ""); } else if (mg_http_match_uri(hm, "/api/config/set")) { // Admins only if (strcmp(u->name, "admin") == 0) { - if (update_config(hm, &s_config)) - send_notification(fn_data, "config", "null"); + update_config(&hm->body, "url", &s_config.url); + update_config(&hm->body, "pub", &s_config.pub); + update_config(&hm->body, "sub", &s_config.sub); + send_notification(fn_data, "config", "null"); mg_printf(c, "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); } else { mg_printf(c, "%s", "HTTP/1.1 403 Denied\r\nContent-Length: 0\r\n\r\n"); diff --git a/examples/device-dashboard/packed_fs.c b/examples/device-dashboard/packed_fs.c index a27403c4..777d560b 100644 --- a/examples/device-dashboard/packed_fs.c +++ b/examples/device-dashboard/packed_fs.c @@ -3,4333 +3,6 @@ #include static const unsigned char v1[] = { - 46, 99, 116, 45, 100, 111, 117, 98, 108, 101, 45, 111, // .ct-double-o - 99, 116, 97, 118, 101, 58, 97, 102, 116, 101, 114, 44, // ctave:after, - 46, 99, 116, 45, 103, 111, 108, 100, 101, 110, 45, 115, // .ct-golden-s - 101, 99, 116, 105, 111, 110, 58, 97, 102, 116, 101, 114, // ection:after - 44, 46, 99, 116, 45, 109, 97, 106, 111, 114, 45, 101, // ,.ct-major-e - 108, 101, 118, 101, 110, 116, 104, 58, 97, 102, 116, 101, // leventh:afte - 114, 44, 46, 99, 116, 45, 109, 97, 106, 111, 114, 45, // r,.ct-major- - 115, 101, 99, 111, 110, 100, 58, 97, 102, 116, 101, 114, // second:after - 44, 46, 99, 116, 45, 109, 97, 106, 111, 114, 45, 115, // ,.ct-major-s - 101, 118, 101, 110, 116, 104, 58, 97, 102, 116, 101, 114, // eventh:after - 44, 46, 99, 116, 45, 109, 97, 106, 111, 114, 45, 115, // ,.ct-major-s - 105, 120, 116, 104, 58, 97, 102, 116, 101, 114, 44, 46, // ixth:after,. - 99, 116, 45, 109, 97, 106, 111, 114, 45, 116, 101, 110, // ct-major-ten - 116, 104, 58, 97, 102, 116, 101, 114, 44, 46, 99, 116, // th:after,.ct - 45, 109, 97, 106, 111, 114, 45, 116, 104, 105, 114, 100, // -major-third - 58, 97, 102, 116, 101, 114, 44, 46, 99, 116, 45, 109, // :after,.ct-m - 97, 106, 111, 114, 45, 116, 119, 101, 108, 102, 116, 104, // ajor-twelfth - 58, 97, 102, 116, 101, 114, 44, 46, 99, 116, 45, 109, // :after,.ct-m - 105, 110, 111, 114, 45, 115, 101, 99, 111, 110, 100, 58, // inor-second: - 97, 102, 116, 101, 114, 44, 46, 99, 116, 45, 109, 105, // after,.ct-mi - 110, 111, 114, 45, 115, 101, 118, 101, 110, 116, 104, 58, // nor-seventh: - 97, 102, 116, 101, 114, 44, 46, 99, 116, 45, 109, 105, // after,.ct-mi - 110, 111, 114, 45, 115, 105, 120, 116, 104, 58, 97, 102, // nor-sixth:af - 116, 101, 114, 44, 46, 99, 116, 45, 109, 105, 110, 111, // ter,.ct-mino - 114, 45, 116, 104, 105, 114, 100, 58, 97, 102, 116, 101, // r-third:afte - 114, 44, 46, 99, 116, 45, 111, 99, 116, 97, 118, 101, // r,.ct-octave - 58, 97, 102, 116, 101, 114, 44, 46, 99, 116, 45, 112, // :after,.ct-p - 101, 114, 102, 101, 99, 116, 45, 102, 105, 102, 116, 104, // erfect-fifth - 58, 97, 102, 116, 101, 114, 44, 46, 99, 116, 45, 112, // :after,.ct-p - 101, 114, 102, 101, 99, 116, 45, 102, 111, 117, 114, 116, // erfect-fourt - 104, 58, 97, 102, 116, 101, 114, 44, 46, 99, 116, 45, // h:after,.ct- - 115, 113, 117, 97, 114, 101, 58, 97, 102, 116, 101, 114, // square:after - 123, 99, 111, 110, 116, 101, 110, 116, 58, 34, 34, 59, // {content:""; - 99, 108, 101, 97, 114, 58, 98, 111, 116, 104, 125, 46, // clear:both}. - 99, 116, 45, 108, 97, 98, 101, 108, 123, 102, 105, 108, // ct-label{fil - 108, 58, 114, 103, 98, 97, 40, 48, 44, 48, 44, 48, // l:rgba(0,0,0 - 44, 46, 52, 41, 59, 99, 111, 108, 111, 114, 58, 114, // ,.4);color:r - 103, 98, 97, 40, 48, 44, 48, 44, 48, 44, 46, 52, // gba(0,0,0,.4 - 41, 59, 102, 111, 110, 116, 45, 115, 105, 122, 101, 58, // );font-size: - 46, 55, 53, 114, 101, 109, 59, 108, 105, 110, 101, 45, // .75rem;line- - 104, 101, 105, 103, 104, 116, 58, 49, 125, 46, 99, 116, // height:1}.ct - 45, 99, 104, 97, 114, 116, 45, 98, 97, 114, 32, 46, // -chart-bar . - 99, 116, 45, 108, 97, 98, 101, 108, 44, 46, 99, 116, // ct-label,.ct - 45, 99, 104, 97, 114, 116, 45, 108, 105, 110, 101, 32, // -chart-line - 46, 99, 116, 45, 108, 97, 98, 101, 108, 123, 100, 105, // .ct-label{di - 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, 59, // splay:block; - 100, 105, 115, 112, 108, 97, 121, 58, 45, 119, 101, 98, // display:-web - 107, 105, 116, 45, 98, 111, 120, 59, 100, 105, 115, 112, // kit-box;disp - 108, 97, 121, 58, 45, 109, 111, 122, 45, 98, 111, 120, // lay:-moz-box - 59, 100, 105, 115, 112, 108, 97, 121, 58, 45, 109, 115, // ;display:-ms - 45, 102, 108, 101, 120, 98, 111, 120, 59, 100, 105, 115, // -flexbox;dis - 112, 108, 97, 121, 58, 45, 119, 101, 98, 107, 105, 116, // play:-webkit - 45, 102, 108, 101, 120, 59, 100, 105, 115, 112, 108, 97, // -flex;displa - 121, 58, 102, 108, 101, 120, 125, 46, 99, 116, 45, 99, // y:flex}.ct-c - 104, 97, 114, 116, 45, 100, 111, 110, 117, 116, 32, 46, // hart-donut . - 99, 116, 45, 108, 97, 98, 101, 108, 44, 46, 99, 116, // ct-label,.ct - 45, 99, 104, 97, 114, 116, 45, 112, 105, 101, 32, 46, // -chart-pie . - 99, 116, 45, 108, 97, 98, 101, 108, 123, 100, 111, 109, // ct-label{dom - 105, 110, 97, 110, 116, 45, 98, 97, 115, 101, 108, 105, // inant-baseli - 110, 101, 58, 99, 101, 110, 116, 114, 97, 108, 125, 46, // ne:central}. - 99, 116, 45, 108, 97, 98, 101, 108, 46, 99, 116, 45, // ct-label.ct- - 104, 111, 114, 105, 122, 111, 110, 116, 97, 108, 46, 99, // horizontal.c - 116, 45, 115, 116, 97, 114, 116, 123, 45, 119, 101, 98, // t-start{-web - 107, 105, 116, 45, 98, 111, 120, 45, 97, 108, 105, 103, // kit-box-alig - 110, 58, 102, 108, 101, 120, 45, 101, 110, 100, 59, 45, // n:flex-end;- - 119, 101, 98, 107, 105, 116, 45, 97, 108, 105, 103, 110, // webkit-align - 45, 105, 116, 101, 109, 115, 58, 102, 108, 101, 120, 45, // -items:flex- - 101, 110, 100, 59, 45, 109, 115, 45, 102, 108, 101, 120, // end;-ms-flex - 45, 97, 108, 105, 103, 110, 58, 102, 108, 101, 120, 45, // -align:flex- - 101, 110, 100, 59, 97, 108, 105, 103, 110, 45, 105, 116, // end;align-it - 101, 109, 115, 58, 102, 108, 101, 120, 45, 101, 110, 100, // ems:flex-end - 59, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, // ;-webkit-box - 45, 112, 97, 99, 107, 58, 102, 108, 101, 120, 45, 115, // -pack:flex-s - 116, 97, 114, 116, 59, 45, 119, 101, 98, 107, 105, 116, // tart;-webkit - 45, 106, 117, 115, 116, 105, 102, 121, 45, 99, 111, 110, // -justify-con - 116, 101, 110, 116, 58, 102, 108, 101, 120, 45, 115, 116, // tent:flex-st - 97, 114, 116, 59, 45, 109, 115, 45, 102, 108, 101, 120, // art;-ms-flex - 45, 112, 97, 99, 107, 58, 102, 108, 101, 120, 45, 115, // -pack:flex-s - 116, 97, 114, 116, 59, 106, 117, 115, 116, 105, 102, 121, // tart;justify - 45, 99, 111, 110, 116, 101, 110, 116, 58, 102, 108, 101, // -content:fle - 120, 45, 115, 116, 97, 114, 116, 59, 116, 101, 120, 116, // x-start;text - 45, 97, 108, 105, 103, 110, 58, 108, 101, 102, 116, 59, // -align:left; - 116, 101, 120, 116, 45, 97, 110, 99, 104, 111, 114, 58, // text-anchor: - 115, 116, 97, 114, 116, 125, 46, 99, 116, 45, 108, 97, // start}.ct-la - 98, 101, 108, 46, 99, 116, 45, 104, 111, 114, 105, 122, // bel.ct-horiz - 111, 110, 116, 97, 108, 46, 99, 116, 45, 101, 110, 100, // ontal.ct-end - 123, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, // {-webkit-box - 45, 97, 108, 105, 103, 110, 58, 102, 108, 101, 120, 45, // -align:flex- - 115, 116, 97, 114, 116, 59, 45, 119, 101, 98, 107, 105, // start;-webki - 116, 45, 97, 108, 105, 103, 110, 45, 105, 116, 101, 109, // t-align-item - 115, 58, 102, 108, 101, 120, 45, 115, 116, 97, 114, 116, // s:flex-start - 59, 45, 109, 115, 45, 102, 108, 101, 120, 45, 97, 108, // ;-ms-flex-al - 105, 103, 110, 58, 102, 108, 101, 120, 45, 115, 116, 97, // ign:flex-sta - 114, 116, 59, 97, 108, 105, 103, 110, 45, 105, 116, 101, // rt;align-ite - 109, 115, 58, 102, 108, 101, 120, 45, 115, 116, 97, 114, // ms:flex-star - 116, 59, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, // t;-webkit-bo - 120, 45, 112, 97, 99, 107, 58, 102, 108, 101, 120, 45, // x-pack:flex- - 115, 116, 97, 114, 116, 59, 45, 119, 101, 98, 107, 105, // start;-webki - 116, 45, 106, 117, 115, 116, 105, 102, 121, 45, 99, 111, // t-justify-co - 110, 116, 101, 110, 116, 58, 102, 108, 101, 120, 45, 115, // ntent:flex-s - 116, 97, 114, 116, 59, 45, 109, 115, 45, 102, 108, 101, // tart;-ms-fle - 120, 45, 112, 97, 99, 107, 58, 102, 108, 101, 120, 45, // x-pack:flex- - 115, 116, 97, 114, 116, 59, 106, 117, 115, 116, 105, 102, // start;justif - 121, 45, 99, 111, 110, 116, 101, 110, 116, 58, 102, 108, // y-content:fl - 101, 120, 45, 115, 116, 97, 114, 116, 59, 116, 101, 120, // ex-start;tex - 116, 45, 97, 108, 105, 103, 110, 58, 108, 101, 102, 116, // t-align:left - 59, 116, 101, 120, 116, 45, 97, 110, 99, 104, 111, 114, // ;text-anchor - 58, 115, 116, 97, 114, 116, 125, 46, 99, 116, 45, 108, // :start}.ct-l - 97, 98, 101, 108, 46, 99, 116, 45, 118, 101, 114, 116, // abel.ct-vert - 105, 99, 97, 108, 46, 99, 116, 45, 115, 116, 97, 114, // ical.ct-star - 116, 123, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, // t{-webkit-bo - 120, 45, 97, 108, 105, 103, 110, 58, 102, 108, 101, 120, // x-align:flex - 45, 101, 110, 100, 59, 45, 119, 101, 98, 107, 105, 116, // -end;-webkit - 45, 97, 108, 105, 103, 110, 45, 105, 116, 101, 109, 115, // -align-items - 58, 102, 108, 101, 120, 45, 101, 110, 100, 59, 45, 109, // :flex-end;-m - 115, 45, 102, 108, 101, 120, 45, 97, 108, 105, 103, 110, // s-flex-align - 58, 102, 108, 101, 120, 45, 101, 110, 100, 59, 97, 108, // :flex-end;al - 105, 103, 110, 45, 105, 116, 101, 109, 115, 58, 102, 108, // ign-items:fl - 101, 120, 45, 101, 110, 100, 59, 45, 119, 101, 98, 107, // ex-end;-webk - 105, 116, 45, 98, 111, 120, 45, 112, 97, 99, 107, 58, // it-box-pack: - 102, 108, 101, 120, 45, 101, 110, 100, 59, 45, 119, 101, // flex-end;-we - 98, 107, 105, 116, 45, 106, 117, 115, 116, 105, 102, 121, // bkit-justify - 45, 99, 111, 110, 116, 101, 110, 116, 58, 102, 108, 101, // -content:fle - 120, 45, 101, 110, 100, 59, 45, 109, 115, 45, 102, 108, // x-end;-ms-fl - 101, 120, 45, 112, 97, 99, 107, 58, 102, 108, 101, 120, // ex-pack:flex - 45, 101, 110, 100, 59, 106, 117, 115, 116, 105, 102, 121, // -end;justify - 45, 99, 111, 110, 116, 101, 110, 116, 58, 102, 108, 101, // -content:fle - 120, 45, 101, 110, 100, 59, 116, 101, 120, 116, 45, 97, // x-end;text-a - 108, 105, 103, 110, 58, 114, 105, 103, 104, 116, 59, 116, // lign:right;t - 101, 120, 116, 45, 97, 110, 99, 104, 111, 114, 58, 101, // ext-anchor:e - 110, 100, 125, 46, 99, 116, 45, 108, 97, 98, 101, 108, // nd}.ct-label - 46, 99, 116, 45, 118, 101, 114, 116, 105, 99, 97, 108, // .ct-vertical - 46, 99, 116, 45, 101, 110, 100, 123, 45, 119, 101, 98, // .ct-end{-web - 107, 105, 116, 45, 98, 111, 120, 45, 97, 108, 105, 103, // kit-box-alig - 110, 58, 102, 108, 101, 120, 45, 101, 110, 100, 59, 45, // n:flex-end;- - 119, 101, 98, 107, 105, 116, 45, 97, 108, 105, 103, 110, // webkit-align - 45, 105, 116, 101, 109, 115, 58, 102, 108, 101, 120, 45, // -items:flex- - 101, 110, 100, 59, 45, 109, 115, 45, 102, 108, 101, 120, // end;-ms-flex - 45, 97, 108, 105, 103, 110, 58, 102, 108, 101, 120, 45, // -align:flex- - 101, 110, 100, 59, 97, 108, 105, 103, 110, 45, 105, 116, // end;align-it - 101, 109, 115, 58, 102, 108, 101, 120, 45, 101, 110, 100, // ems:flex-end - 59, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, // ;-webkit-box - 45, 112, 97, 99, 107, 58, 102, 108, 101, 120, 45, 115, // -pack:flex-s - 116, 97, 114, 116, 59, 45, 119, 101, 98, 107, 105, 116, // tart;-webkit - 45, 106, 117, 115, 116, 105, 102, 121, 45, 99, 111, 110, // -justify-con - 116, 101, 110, 116, 58, 102, 108, 101, 120, 45, 115, 116, // tent:flex-st - 97, 114, 116, 59, 45, 109, 115, 45, 102, 108, 101, 120, // art;-ms-flex - 45, 112, 97, 99, 107, 58, 102, 108, 101, 120, 45, 115, // -pack:flex-s - 116, 97, 114, 116, 59, 106, 117, 115, 116, 105, 102, 121, // tart;justify - 45, 99, 111, 110, 116, 101, 110, 116, 58, 102, 108, 101, // -content:fle - 120, 45, 115, 116, 97, 114, 116, 59, 116, 101, 120, 116, // x-start;text - 45, 97, 108, 105, 103, 110, 58, 108, 101, 102, 116, 59, // -align:left; - 116, 101, 120, 116, 45, 97, 110, 99, 104, 111, 114, 58, // text-anchor: - 115, 116, 97, 114, 116, 125, 46, 99, 116, 45, 99, 104, // start}.ct-ch - 97, 114, 116, 45, 98, 97, 114, 32, 46, 99, 116, 45, // art-bar .ct- - 108, 97, 98, 101, 108, 46, 99, 116, 45, 104, 111, 114, // label.ct-hor - 105, 122, 111, 110, 116, 97, 108, 46, 99, 116, 45, 115, // izontal.ct-s - 116, 97, 114, 116, 123, 45, 119, 101, 98, 107, 105, 116, // tart{-webkit - 45, 98, 111, 120, 45, 97, 108, 105, 103, 110, 58, 102, // -box-align:f - 108, 101, 120, 45, 101, 110, 100, 59, 45, 119, 101, 98, // lex-end;-web - 107, 105, 116, 45, 97, 108, 105, 103, 110, 45, 105, 116, // kit-align-it - 101, 109, 115, 58, 102, 108, 101, 120, 45, 101, 110, 100, // ems:flex-end - 59, 45, 109, 115, 45, 102, 108, 101, 120, 45, 97, 108, // ;-ms-flex-al - 105, 103, 110, 58, 102, 108, 101, 120, 45, 101, 110, 100, // ign:flex-end - 59, 97, 108, 105, 103, 110, 45, 105, 116, 101, 109, 115, // ;align-items - 58, 102, 108, 101, 120, 45, 101, 110, 100, 59, 45, 119, // :flex-end;-w - 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 112, 97, // ebkit-box-pa - 99, 107, 58, 99, 101, 110, 116, 101, 114, 59, 45, 119, // ck:center;-w - 101, 98, 107, 105, 116, 45, 106, 117, 115, 116, 105, 102, // ebkit-justif - 121, 45, 99, 111, 110, 116, 101, 110, 116, 58, 99, 101, // y-content:ce - 110, 116, 101, 114, 59, 45, 109, 115, 45, 102, 108, 101, // nter;-ms-fle - 120, 45, 112, 97, 99, 107, 58, 99, 101, 110, 116, 101, // x-pack:cente - 114, 59, 106, 117, 115, 116, 105, 102, 121, 45, 99, 111, // r;justify-co - 110, 116, 101, 110, 116, 58, 99, 101, 110, 116, 101, 114, // ntent:center - 59, 116, 101, 120, 116, 45, 97, 108, 105, 103, 110, 58, // ;text-align: - 99, 101, 110, 116, 101, 114, 59, 116, 101, 120, 116, 45, // center;text- - 97, 110, 99, 104, 111, 114, 58, 115, 116, 97, 114, 116, // anchor:start - 125, 46, 99, 116, 45, 99, 104, 97, 114, 116, 45, 98, // }.ct-chart-b - 97, 114, 32, 46, 99, 116, 45, 108, 97, 98, 101, 108, // ar .ct-label - 46, 99, 116, 45, 104, 111, 114, 105, 122, 111, 110, 116, // .ct-horizont - 97, 108, 46, 99, 116, 45, 101, 110, 100, 123, 45, 119, // al.ct-end{-w - 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 97, 108, // ebkit-box-al - 105, 103, 110, 58, 102, 108, 101, 120, 45, 115, 116, 97, // ign:flex-sta - 114, 116, 59, 45, 119, 101, 98, 107, 105, 116, 45, 97, // rt;-webkit-a - 108, 105, 103, 110, 45, 105, 116, 101, 109, 115, 58, 102, // lign-items:f - 108, 101, 120, 45, 115, 116, 97, 114, 116, 59, 45, 109, // lex-start;-m - 115, 45, 102, 108, 101, 120, 45, 97, 108, 105, 103, 110, // s-flex-align - 58, 102, 108, 101, 120, 45, 115, 116, 97, 114, 116, 59, // :flex-start; - 97, 108, 105, 103, 110, 45, 105, 116, 101, 109, 115, 58, // align-items: - 102, 108, 101, 120, 45, 115, 116, 97, 114, 116, 59, 45, // flex-start;- - 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 112, // webkit-box-p - 97, 99, 107, 58, 99, 101, 110, 116, 101, 114, 59, 45, // ack:center;- - 119, 101, 98, 107, 105, 116, 45, 106, 117, 115, 116, 105, // webkit-justi - 102, 121, 45, 99, 111, 110, 116, 101, 110, 116, 58, 99, // fy-content:c - 101, 110, 116, 101, 114, 59, 45, 109, 115, 45, 102, 108, // enter;-ms-fl - 101, 120, 45, 112, 97, 99, 107, 58, 99, 101, 110, 116, // ex-pack:cent - 101, 114, 59, 106, 117, 115, 116, 105, 102, 121, 45, 99, // er;justify-c - 111, 110, 116, 101, 110, 116, 58, 99, 101, 110, 116, 101, // ontent:cente - 114, 59, 116, 101, 120, 116, 45, 97, 108, 105, 103, 110, // r;text-align - 58, 99, 101, 110, 116, 101, 114, 59, 116, 101, 120, 116, // :center;text - 45, 97, 110, 99, 104, 111, 114, 58, 115, 116, 97, 114, // -anchor:star - 116, 125, 46, 99, 116, 45, 99, 104, 97, 114, 116, 45, // t}.ct-chart- - 98, 97, 114, 46, 99, 116, 45, 104, 111, 114, 105, 122, // bar.ct-horiz - 111, 110, 116, 97, 108, 45, 98, 97, 114, 115, 32, 46, // ontal-bars . - 99, 116, 45, 108, 97, 98, 101, 108, 46, 99, 116, 45, // ct-label.ct- - 104, 111, 114, 105, 122, 111, 110, 116, 97, 108, 46, 99, // horizontal.c - 116, 45, 115, 116, 97, 114, 116, 123, 45, 119, 101, 98, // t-start{-web - 107, 105, 116, 45, 98, 111, 120, 45, 97, 108, 105, 103, // kit-box-alig - 110, 58, 102, 108, 101, 120, 45, 101, 110, 100, 59, 45, // n:flex-end;- - 119, 101, 98, 107, 105, 116, 45, 97, 108, 105, 103, 110, // webkit-align - 45, 105, 116, 101, 109, 115, 58, 102, 108, 101, 120, 45, // -items:flex- - 101, 110, 100, 59, 45, 109, 115, 45, 102, 108, 101, 120, // end;-ms-flex - 45, 97, 108, 105, 103, 110, 58, 102, 108, 101, 120, 45, // -align:flex- - 101, 110, 100, 59, 97, 108, 105, 103, 110, 45, 105, 116, // end;align-it - 101, 109, 115, 58, 102, 108, 101, 120, 45, 101, 110, 100, // ems:flex-end - 59, 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, // ;-webkit-box - 45, 112, 97, 99, 107, 58, 102, 108, 101, 120, 45, 115, // -pack:flex-s - 116, 97, 114, 116, 59, 45, 119, 101, 98, 107, 105, 116, // tart;-webkit - 45, 106, 117, 115, 116, 105, 102, 121, 45, 99, 111, 110, // -justify-con - 116, 101, 110, 116, 58, 102, 108, 101, 120, 45, 115, 116, // tent:flex-st - 97, 114, 116, 59, 45, 109, 115, 45, 102, 108, 101, 120, // art;-ms-flex - 45, 112, 97, 99, 107, 58, 102, 108, 101, 120, 45, 115, // -pack:flex-s - 116, 97, 114, 116, 59, 106, 117, 115, 116, 105, 102, 121, // tart;justify - 45, 99, 111, 110, 116, 101, 110, 116, 58, 102, 108, 101, // -content:fle - 120, 45, 115, 116, 97, 114, 116, 59, 116, 101, 120, 116, // x-start;text - 45, 97, 108, 105, 103, 110, 58, 108, 101, 102, 116, 59, // -align:left; - 116, 101, 120, 116, 45, 97, 110, 99, 104, 111, 114, 58, // text-anchor: - 115, 116, 97, 114, 116, 125, 46, 99, 116, 45, 99, 104, // start}.ct-ch - 97, 114, 116, 45, 98, 97, 114, 46, 99, 116, 45, 104, // art-bar.ct-h - 111, 114, 105, 122, 111, 110, 116, 97, 108, 45, 98, 97, // orizontal-ba - 114, 115, 32, 46, 99, 116, 45, 108, 97, 98, 101, 108, // rs .ct-label - 46, 99, 116, 45, 104, 111, 114, 105, 122, 111, 110, 116, // .ct-horizont - 97, 108, 46, 99, 116, 45, 101, 110, 100, 123, 45, 119, // al.ct-end{-w - 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 97, 108, // ebkit-box-al - 105, 103, 110, 58, 102, 108, 101, 120, 45, 115, 116, 97, // ign:flex-sta - 114, 116, 59, 45, 119, 101, 98, 107, 105, 116, 45, 97, // rt;-webkit-a - 108, 105, 103, 110, 45, 105, 116, 101, 109, 115, 58, 102, // lign-items:f - 108, 101, 120, 45, 115, 116, 97, 114, 116, 59, 45, 109, // lex-start;-m - 115, 45, 102, 108, 101, 120, 45, 97, 108, 105, 103, 110, // s-flex-align - 58, 102, 108, 101, 120, 45, 115, 116, 97, 114, 116, 59, // :flex-start; - 97, 108, 105, 103, 110, 45, 105, 116, 101, 109, 115, 58, // align-items: - 102, 108, 101, 120, 45, 115, 116, 97, 114, 116, 59, 45, // flex-start;- - 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, 112, // webkit-box-p - 97, 99, 107, 58, 102, 108, 101, 120, 45, 115, 116, 97, // ack:flex-sta - 114, 116, 59, 45, 119, 101, 98, 107, 105, 116, 45, 106, // rt;-webkit-j - 117, 115, 116, 105, 102, 121, 45, 99, 111, 110, 116, 101, // ustify-conte - 110, 116, 58, 102, 108, 101, 120, 45, 115, 116, 97, 114, // nt:flex-star - 116, 59, 45, 109, 115, 45, 102, 108, 101, 120, 45, 112, // t;-ms-flex-p - 97, 99, 107, 58, 102, 108, 101, 120, 45, 115, 116, 97, // ack:flex-sta - 114, 116, 59, 106, 117, 115, 116, 105, 102, 121, 45, 99, // rt;justify-c - 111, 110, 116, 101, 110, 116, 58, 102, 108, 101, 120, 45, // ontent:flex- - 115, 116, 97, 114, 116, 59, 116, 101, 120, 116, 45, 97, // start;text-a - 108, 105, 103, 110, 58, 108, 101, 102, 116, 59, 116, 101, // lign:left;te - 120, 116, 45, 97, 110, 99, 104, 111, 114, 58, 115, 116, // xt-anchor:st - 97, 114, 116, 125, 46, 99, 116, 45, 99, 104, 97, 114, // art}.ct-char - 116, 45, 98, 97, 114, 46, 99, 116, 45, 104, 111, 114, // t-bar.ct-hor - 105, 122, 111, 110, 116, 97, 108, 45, 98, 97, 114, 115, // izontal-bars - 32, 46, 99, 116, 45, 108, 97, 98, 101, 108, 46, 99, // .ct-label.c - 116, 45, 118, 101, 114, 116, 105, 99, 97, 108, 46, 99, // t-vertical.c - 116, 45, 115, 116, 97, 114, 116, 123, 45, 119, 101, 98, // t-start{-web - 107, 105, 116, 45, 98, 111, 120, 45, 97, 108, 105, 103, // kit-box-alig - 110, 58, 99, 101, 110, 116, 101, 114, 59, 45, 119, 101, // n:center;-we - 98, 107, 105, 116, 45, 97, 108, 105, 103, 110, 45, 105, // bkit-align-i - 116, 101, 109, 115, 58, 99, 101, 110, 116, 101, 114, 59, // tems:center; - 45, 109, 115, 45, 102, 108, 101, 120, 45, 97, 108, 105, // -ms-flex-ali - 103, 110, 58, 99, 101, 110, 116, 101, 114, 59, 97, 108, // gn:center;al - 105, 103, 110, 45, 105, 116, 101, 109, 115, 58, 99, 101, // ign-items:ce - 110, 116, 101, 114, 59, 45, 119, 101, 98, 107, 105, 116, // nter;-webkit - 45, 98, 111, 120, 45, 112, 97, 99, 107, 58, 102, 108, // -box-pack:fl - 101, 120, 45, 101, 110, 100, 59, 45, 119, 101, 98, 107, // ex-end;-webk - 105, 116, 45, 106, 117, 115, 116, 105, 102, 121, 45, 99, // it-justify-c - 111, 110, 116, 101, 110, 116, 58, 102, 108, 101, 120, 45, // ontent:flex- - 101, 110, 100, 59, 45, 109, 115, 45, 102, 108, 101, 120, // end;-ms-flex - 45, 112, 97, 99, 107, 58, 102, 108, 101, 120, 45, 101, // -pack:flex-e - 110, 100, 59, 106, 117, 115, 116, 105, 102, 121, 45, 99, // nd;justify-c - 111, 110, 116, 101, 110, 116, 58, 102, 108, 101, 120, 45, // ontent:flex- - 101, 110, 100, 59, 116, 101, 120, 116, 45, 97, 108, 105, // end;text-ali - 103, 110, 58, 114, 105, 103, 104, 116, 59, 116, 101, 120, // gn:right;tex - 116, 45, 97, 110, 99, 104, 111, 114, 58, 101, 110, 100, // t-anchor:end - 125, 46, 99, 116, 45, 99, 104, 97, 114, 116, 45, 98, // }.ct-chart-b - 97, 114, 46, 99, 116, 45, 104, 111, 114, 105, 122, 111, // ar.ct-horizo - 110, 116, 97, 108, 45, 98, 97, 114, 115, 32, 46, 99, // ntal-bars .c - 116, 45, 108, 97, 98, 101, 108, 46, 99, 116, 45, 118, // t-label.ct-v - 101, 114, 116, 105, 99, 97, 108, 46, 99, 116, 45, 101, // ertical.ct-e - 110, 100, 123, 45, 119, 101, 98, 107, 105, 116, 45, 98, // nd{-webkit-b - 111, 120, 45, 97, 108, 105, 103, 110, 58, 99, 101, 110, // ox-align:cen - 116, 101, 114, 59, 45, 119, 101, 98, 107, 105, 116, 45, // ter;-webkit- - 97, 108, 105, 103, 110, 45, 105, 116, 101, 109, 115, 58, // align-items: - 99, 101, 110, 116, 101, 114, 59, 45, 109, 115, 45, 102, // center;-ms-f - 108, 101, 120, 45, 97, 108, 105, 103, 110, 58, 99, 101, // lex-align:ce - 110, 116, 101, 114, 59, 97, 108, 105, 103, 110, 45, 105, // nter;align-i - 116, 101, 109, 115, 58, 99, 101, 110, 116, 101, 114, 59, // tems:center; - 45, 119, 101, 98, 107, 105, 116, 45, 98, 111, 120, 45, // -webkit-box- - 112, 97, 99, 107, 58, 102, 108, 101, 120, 45, 115, 116, // pack:flex-st - 97, 114, 116, 59, 45, 119, 101, 98, 107, 105, 116, 45, // art;-webkit- - 106, 117, 115, 116, 105, 102, 121, 45, 99, 111, 110, 116, // justify-cont - 101, 110, 116, 58, 102, 108, 101, 120, 45, 115, 116, 97, // ent:flex-sta - 114, 116, 59, 45, 109, 115, 45, 102, 108, 101, 120, 45, // rt;-ms-flex- - 112, 97, 99, 107, 58, 102, 108, 101, 120, 45, 115, 116, // pack:flex-st - 97, 114, 116, 59, 106, 117, 115, 116, 105, 102, 121, 45, // art;justify- - 99, 111, 110, 116, 101, 110, 116, 58, 102, 108, 101, 120, // content:flex - 45, 115, 116, 97, 114, 116, 59, 116, 101, 120, 116, 45, // -start;text- - 97, 108, 105, 103, 110, 58, 108, 101, 102, 116, 59, 116, // align:left;t - 101, 120, 116, 45, 97, 110, 99, 104, 111, 114, 58, 101, // ext-anchor:e - 110, 100, 125, 46, 99, 116, 45, 103, 114, 105, 100, 123, // nd}.ct-grid{ - 115, 116, 114, 111, 107, 101, 58, 114, 103, 98, 97, 40, // stroke:rgba( - 48, 44, 48, 44, 48, 44, 46, 50, 41, 59, 115, 116, // 0,0,0,.2);st - 114, 111, 107, 101, 45, 119, 105, 100, 116, 104, 58, 49, // roke-width:1 - 112, 120, 59, 115, 116, 114, 111, 107, 101, 45, 100, 97, // px;stroke-da - 115, 104, 97, 114, 114, 97, 121, 58, 50, 112, 120, 125, // sharray:2px} - 46, 99, 116, 45, 103, 114, 105, 100, 45, 98, 97, 99, // .ct-grid-bac - 107, 103, 114, 111, 117, 110, 100, 123, 102, 105, 108, 108, // kground{fill - 58, 110, 111, 110, 101, 125, 46, 99, 116, 45, 112, 111, // :none}.ct-po - 105, 110, 116, 123, 115, 116, 114, 111, 107, 101, 45, 119, // int{stroke-w - 105, 100, 116, 104, 58, 49, 48, 112, 120, 59, 115, 116, // idth:10px;st - 114, 111, 107, 101, 45, 108, 105, 110, 101, 99, 97, 112, // roke-linecap - 58, 114, 111, 117, 110, 100, 125, 46, 99, 116, 45, 108, // :round}.ct-l - 105, 110, 101, 123, 102, 105, 108, 108, 58, 110, 111, 110, // ine{fill:non - 101, 59, 115, 116, 114, 111, 107, 101, 45, 119, 105, 100, // e;stroke-wid - 116, 104, 58, 52, 112, 120, 125, 46, 99, 116, 45, 97, // th:4px}.ct-a - 114, 101, 97, 123, 115, 116, 114, 111, 107, 101, 58, 110, // rea{stroke:n - 111, 110, 101, 59, 102, 105, 108, 108, 45, 111, 112, 97, // one;fill-opa - 99, 105, 116, 121, 58, 46, 49, 125, 46, 99, 116, 45, // city:.1}.ct- - 98, 97, 114, 123, 102, 105, 108, 108, 58, 110, 111, 110, // bar{fill:non - 101, 59, 115, 116, 114, 111, 107, 101, 45, 119, 105, 100, // e;stroke-wid - 116, 104, 58, 49, 48, 112, 120, 125, 46, 99, 116, 45, // th:10px}.ct- - 115, 108, 105, 99, 101, 45, 100, 111, 110, 117, 116, 123, // slice-donut{ - 102, 105, 108, 108, 58, 110, 111, 110, 101, 59, 115, 116, // fill:none;st - 114, 111, 107, 101, 45, 119, 105, 100, 116, 104, 58, 54, // roke-width:6 - 48, 112, 120, 125, 46, 99, 116, 45, 115, 101, 114, 105, // 0px}.ct-seri - 101, 115, 45, 97, 32, 46, 99, 116, 45, 98, 97, 114, // es-a .ct-bar - 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, // ,.ct-series- - 97, 32, 46, 99, 116, 45, 108, 105, 110, 101, 44, 46, // a .ct-line,. - 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, 97, 32, // ct-series-a - 46, 99, 116, 45, 112, 111, 105, 110, 116, 44, 46, 99, // .ct-point,.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 97, 32, 46, // t-series-a . - 99, 116, 45, 115, 108, 105, 99, 101, 45, 100, 111, 110, // ct-slice-don - 117, 116, 123, 115, 116, 114, 111, 107, 101, 58, 35, 100, // ut{stroke:#d - 55, 48, 50, 48, 54, 125, 46, 99, 116, 45, 115, 101, // 70206}.ct-se - 114, 105, 101, 115, 45, 97, 32, 46, 99, 116, 45, 97, // ries-a .ct-a - 114, 101, 97, 44, 46, 99, 116, 45, 115, 101, 114, 105, // rea,.ct-seri - 101, 115, 45, 97, 32, 46, 99, 116, 45, 115, 108, 105, // es-a .ct-sli - 99, 101, 45, 100, 111, 110, 117, 116, 45, 115, 111, 108, // ce-donut-sol - 105, 100, 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, // id,.ct-serie - 115, 45, 97, 32, 46, 99, 116, 45, 115, 108, 105, 99, // s-a .ct-slic - 101, 45, 112, 105, 101, 123, 102, 105, 108, 108, 58, 35, // e-pie{fill:# - 100, 55, 48, 50, 48, 54, 125, 46, 99, 116, 45, 115, // d70206}.ct-s - 101, 114, 105, 101, 115, 45, 98, 32, 46, 99, 116, 45, // eries-b .ct- - 98, 97, 114, 44, 46, 99, 116, 45, 115, 101, 114, 105, // bar,.ct-seri - 101, 115, 45, 98, 32, 46, 99, 116, 45, 108, 105, 110, // es-b .ct-lin - 101, 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, // e,.ct-series - 45, 98, 32, 46, 99, 116, 45, 112, 111, 105, 110, 116, // -b .ct-point - 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, // ,.ct-series- - 98, 32, 46, 99, 116, 45, 115, 108, 105, 99, 101, 45, // b .ct-slice- - 100, 111, 110, 117, 116, 123, 115, 116, 114, 111, 107, 101, // donut{stroke - 58, 35, 102, 48, 53, 98, 52, 102, 125, 46, 99, 116, // :#f05b4f}.ct - 45, 115, 101, 114, 105, 101, 115, 45, 98, 32, 46, 99, // -series-b .c - 116, 45, 97, 114, 101, 97, 44, 46, 99, 116, 45, 115, // t-area,.ct-s - 101, 114, 105, 101, 115, 45, 98, 32, 46, 99, 116, 45, // eries-b .ct- - 115, 108, 105, 99, 101, 45, 100, 111, 110, 117, 116, 45, // slice-donut- - 115, 111, 108, 105, 100, 44, 46, 99, 116, 45, 115, 101, // solid,.ct-se - 114, 105, 101, 115, 45, 98, 32, 46, 99, 116, 45, 115, // ries-b .ct-s - 108, 105, 99, 101, 45, 112, 105, 101, 123, 102, 105, 108, // lice-pie{fil - 108, 58, 35, 102, 48, 53, 98, 52, 102, 125, 46, 99, // l:#f05b4f}.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 99, 32, 46, // t-series-c . - 99, 116, 45, 98, 97, 114, 44, 46, 99, 116, 45, 115, // ct-bar,.ct-s - 101, 114, 105, 101, 115, 45, 99, 32, 46, 99, 116, 45, // eries-c .ct- - 108, 105, 110, 101, 44, 46, 99, 116, 45, 115, 101, 114, // line,.ct-ser - 105, 101, 115, 45, 99, 32, 46, 99, 116, 45, 112, 111, // ies-c .ct-po - 105, 110, 116, 44, 46, 99, 116, 45, 115, 101, 114, 105, // int,.ct-seri - 101, 115, 45, 99, 32, 46, 99, 116, 45, 115, 108, 105, // es-c .ct-sli - 99, 101, 45, 100, 111, 110, 117, 116, 123, 115, 116, 114, // ce-donut{str - 111, 107, 101, 58, 35, 102, 52, 99, 54, 51, 100, 125, // oke:#f4c63d} - 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, 99, // .ct-series-c - 32, 46, 99, 116, 45, 97, 114, 101, 97, 44, 46, 99, // .ct-area,.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 99, 32, 46, // t-series-c . - 99, 116, 45, 115, 108, 105, 99, 101, 45, 100, 111, 110, // ct-slice-don - 117, 116, 45, 115, 111, 108, 105, 100, 44, 46, 99, 116, // ut-solid,.ct - 45, 115, 101, 114, 105, 101, 115, 45, 99, 32, 46, 99, // -series-c .c - 116, 45, 115, 108, 105, 99, 101, 45, 112, 105, 101, 123, // t-slice-pie{ - 102, 105, 108, 108, 58, 35, 102, 52, 99, 54, 51, 100, // fill:#f4c63d - 125, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, // }.ct-series- - 100, 32, 46, 99, 116, 45, 98, 97, 114, 44, 46, 99, // d .ct-bar,.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 100, 32, 46, // t-series-d . - 99, 116, 45, 108, 105, 110, 101, 44, 46, 99, 116, 45, // ct-line,.ct- - 115, 101, 114, 105, 101, 115, 45, 100, 32, 46, 99, 116, // series-d .ct - 45, 112, 111, 105, 110, 116, 44, 46, 99, 116, 45, 115, // -point,.ct-s - 101, 114, 105, 101, 115, 45, 100, 32, 46, 99, 116, 45, // eries-d .ct- - 115, 108, 105, 99, 101, 45, 100, 111, 110, 117, 116, 123, // slice-donut{ - 115, 116, 114, 111, 107, 101, 58, 35, 100, 49, 55, 57, // stroke:#d179 - 48, 53, 125, 46, 99, 116, 45, 115, 101, 114, 105, 101, // 05}.ct-serie - 115, 45, 100, 32, 46, 99, 116, 45, 97, 114, 101, 97, // s-d .ct-area - 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, // ,.ct-series- - 100, 32, 46, 99, 116, 45, 115, 108, 105, 99, 101, 45, // d .ct-slice- - 100, 111, 110, 117, 116, 45, 115, 111, 108, 105, 100, 44, // donut-solid, - 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, 100, // .ct-series-d - 32, 46, 99, 116, 45, 115, 108, 105, 99, 101, 45, 112, // .ct-slice-p - 105, 101, 123, 102, 105, 108, 108, 58, 35, 100, 49, 55, // ie{fill:#d17 - 57, 48, 53, 125, 46, 99, 116, 45, 115, 101, 114, 105, // 905}.ct-seri - 101, 115, 45, 101, 32, 46, 99, 116, 45, 98, 97, 114, // es-e .ct-bar - 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, // ,.ct-series- - 101, 32, 46, 99, 116, 45, 108, 105, 110, 101, 44, 46, // e .ct-line,. - 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, 101, 32, // ct-series-e - 46, 99, 116, 45, 112, 111, 105, 110, 116, 44, 46, 99, // .ct-point,.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 101, 32, 46, // t-series-e . - 99, 116, 45, 115, 108, 105, 99, 101, 45, 100, 111, 110, // ct-slice-don - 117, 116, 123, 115, 116, 114, 111, 107, 101, 58, 35, 52, // ut{stroke:#4 - 53, 51, 100, 51, 102, 125, 46, 99, 116, 45, 115, 101, // 53d3f}.ct-se - 114, 105, 101, 115, 45, 101, 32, 46, 99, 116, 45, 97, // ries-e .ct-a - 114, 101, 97, 44, 46, 99, 116, 45, 115, 101, 114, 105, // rea,.ct-seri - 101, 115, 45, 101, 32, 46, 99, 116, 45, 115, 108, 105, // es-e .ct-sli - 99, 101, 45, 100, 111, 110, 117, 116, 45, 115, 111, 108, // ce-donut-sol - 105, 100, 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, // id,.ct-serie - 115, 45, 101, 32, 46, 99, 116, 45, 115, 108, 105, 99, // s-e .ct-slic - 101, 45, 112, 105, 101, 123, 102, 105, 108, 108, 58, 35, // e-pie{fill:# - 52, 53, 51, 100, 51, 102, 125, 46, 99, 116, 45, 115, // 453d3f}.ct-s - 101, 114, 105, 101, 115, 45, 102, 32, 46, 99, 116, 45, // eries-f .ct- - 98, 97, 114, 44, 46, 99, 116, 45, 115, 101, 114, 105, // bar,.ct-seri - 101, 115, 45, 102, 32, 46, 99, 116, 45, 108, 105, 110, // es-f .ct-lin - 101, 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, // e,.ct-series - 45, 102, 32, 46, 99, 116, 45, 112, 111, 105, 110, 116, // -f .ct-point - 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, // ,.ct-series- - 102, 32, 46, 99, 116, 45, 115, 108, 105, 99, 101, 45, // f .ct-slice- - 100, 111, 110, 117, 116, 123, 115, 116, 114, 111, 107, 101, // donut{stroke - 58, 35, 53, 57, 57, 50, 50, 98, 125, 46, 99, 116, // :#59922b}.ct - 45, 115, 101, 114, 105, 101, 115, 45, 102, 32, 46, 99, // -series-f .c - 116, 45, 97, 114, 101, 97, 44, 46, 99, 116, 45, 115, // t-area,.ct-s - 101, 114, 105, 101, 115, 45, 102, 32, 46, 99, 116, 45, // eries-f .ct- - 115, 108, 105, 99, 101, 45, 100, 111, 110, 117, 116, 45, // slice-donut- - 115, 111, 108, 105, 100, 44, 46, 99, 116, 45, 115, 101, // solid,.ct-se - 114, 105, 101, 115, 45, 102, 32, 46, 99, 116, 45, 115, // ries-f .ct-s - 108, 105, 99, 101, 45, 112, 105, 101, 123, 102, 105, 108, // lice-pie{fil - 108, 58, 35, 53, 57, 57, 50, 50, 98, 125, 46, 99, // l:#59922b}.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 103, 32, 46, // t-series-g . - 99, 116, 45, 98, 97, 114, 44, 46, 99, 116, 45, 115, // ct-bar,.ct-s - 101, 114, 105, 101, 115, 45, 103, 32, 46, 99, 116, 45, // eries-g .ct- - 108, 105, 110, 101, 44, 46, 99, 116, 45, 115, 101, 114, // line,.ct-ser - 105, 101, 115, 45, 103, 32, 46, 99, 116, 45, 112, 111, // ies-g .ct-po - 105, 110, 116, 44, 46, 99, 116, 45, 115, 101, 114, 105, // int,.ct-seri - 101, 115, 45, 103, 32, 46, 99, 116, 45, 115, 108, 105, // es-g .ct-sli - 99, 101, 45, 100, 111, 110, 117, 116, 123, 115, 116, 114, // ce-donut{str - 111, 107, 101, 58, 35, 48, 53, 52, 52, 100, 51, 125, // oke:#0544d3} - 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, 103, // .ct-series-g - 32, 46, 99, 116, 45, 97, 114, 101, 97, 44, 46, 99, // .ct-area,.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 103, 32, 46, // t-series-g . - 99, 116, 45, 115, 108, 105, 99, 101, 45, 100, 111, 110, // ct-slice-don - 117, 116, 45, 115, 111, 108, 105, 100, 44, 46, 99, 116, // ut-solid,.ct - 45, 115, 101, 114, 105, 101, 115, 45, 103, 32, 46, 99, // -series-g .c - 116, 45, 115, 108, 105, 99, 101, 45, 112, 105, 101, 123, // t-slice-pie{ - 102, 105, 108, 108, 58, 35, 48, 53, 52, 52, 100, 51, // fill:#0544d3 - 125, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, // }.ct-series- - 104, 32, 46, 99, 116, 45, 98, 97, 114, 44, 46, 99, // h .ct-bar,.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 104, 32, 46, // t-series-h . - 99, 116, 45, 108, 105, 110, 101, 44, 46, 99, 116, 45, // ct-line,.ct- - 115, 101, 114, 105, 101, 115, 45, 104, 32, 46, 99, 116, // series-h .ct - 45, 112, 111, 105, 110, 116, 44, 46, 99, 116, 45, 115, // -point,.ct-s - 101, 114, 105, 101, 115, 45, 104, 32, 46, 99, 116, 45, // eries-h .ct- - 115, 108, 105, 99, 101, 45, 100, 111, 110, 117, 116, 123, // slice-donut{ - 115, 116, 114, 111, 107, 101, 58, 35, 54, 98, 48, 51, // stroke:#6b03 - 57, 50, 125, 46, 99, 116, 45, 115, 101, 114, 105, 101, // 92}.ct-serie - 115, 45, 104, 32, 46, 99, 116, 45, 97, 114, 101, 97, // s-h .ct-area - 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, // ,.ct-series- - 104, 32, 46, 99, 116, 45, 115, 108, 105, 99, 101, 45, // h .ct-slice- - 100, 111, 110, 117, 116, 45, 115, 111, 108, 105, 100, 44, // donut-solid, - 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, 104, // .ct-series-h - 32, 46, 99, 116, 45, 115, 108, 105, 99, 101, 45, 112, // .ct-slice-p - 105, 101, 123, 102, 105, 108, 108, 58, 35, 54, 98, 48, // ie{fill:#6b0 - 51, 57, 50, 125, 46, 99, 116, 45, 115, 101, 114, 105, // 392}.ct-seri - 101, 115, 45, 105, 32, 46, 99, 116, 45, 98, 97, 114, // es-i .ct-bar - 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, // ,.ct-series- - 105, 32, 46, 99, 116, 45, 108, 105, 110, 101, 44, 46, // i .ct-line,. - 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, 105, 32, // ct-series-i - 46, 99, 116, 45, 112, 111, 105, 110, 116, 44, 46, 99, // .ct-point,.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 105, 32, 46, // t-series-i . - 99, 116, 45, 115, 108, 105, 99, 101, 45, 100, 111, 110, // ct-slice-don - 117, 116, 123, 115, 116, 114, 111, 107, 101, 58, 35, 102, // ut{stroke:#f - 48, 53, 98, 52, 102, 125, 46, 99, 116, 45, 115, 101, // 05b4f}.ct-se - 114, 105, 101, 115, 45, 105, 32, 46, 99, 116, 45, 97, // ries-i .ct-a - 114, 101, 97, 44, 46, 99, 116, 45, 115, 101, 114, 105, // rea,.ct-seri - 101, 115, 45, 105, 32, 46, 99, 116, 45, 115, 108, 105, // es-i .ct-sli - 99, 101, 45, 100, 111, 110, 117, 116, 45, 115, 111, 108, // ce-donut-sol - 105, 100, 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, // id,.ct-serie - 115, 45, 105, 32, 46, 99, 116, 45, 115, 108, 105, 99, // s-i .ct-slic - 101, 45, 112, 105, 101, 123, 102, 105, 108, 108, 58, 35, // e-pie{fill:# - 102, 48, 53, 98, 52, 102, 125, 46, 99, 116, 45, 115, // f05b4f}.ct-s - 101, 114, 105, 101, 115, 45, 106, 32, 46, 99, 116, 45, // eries-j .ct- - 98, 97, 114, 44, 46, 99, 116, 45, 115, 101, 114, 105, // bar,.ct-seri - 101, 115, 45, 106, 32, 46, 99, 116, 45, 108, 105, 110, // es-j .ct-lin - 101, 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, // e,.ct-series - 45, 106, 32, 46, 99, 116, 45, 112, 111, 105, 110, 116, // -j .ct-point - 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, // ,.ct-series- - 106, 32, 46, 99, 116, 45, 115, 108, 105, 99, 101, 45, // j .ct-slice- - 100, 111, 110, 117, 116, 123, 115, 116, 114, 111, 107, 101, // donut{stroke - 58, 35, 100, 100, 97, 52, 53, 56, 125, 46, 99, 116, // :#dda458}.ct - 45, 115, 101, 114, 105, 101, 115, 45, 106, 32, 46, 99, // -series-j .c - 116, 45, 97, 114, 101, 97, 44, 46, 99, 116, 45, 115, // t-area,.ct-s - 101, 114, 105, 101, 115, 45, 106, 32, 46, 99, 116, 45, // eries-j .ct- - 115, 108, 105, 99, 101, 45, 100, 111, 110, 117, 116, 45, // slice-donut- - 115, 111, 108, 105, 100, 44, 46, 99, 116, 45, 115, 101, // solid,.ct-se - 114, 105, 101, 115, 45, 106, 32, 46, 99, 116, 45, 115, // ries-j .ct-s - 108, 105, 99, 101, 45, 112, 105, 101, 123, 102, 105, 108, // lice-pie{fil - 108, 58, 35, 100, 100, 97, 52, 53, 56, 125, 46, 99, // l:#dda458}.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 107, 32, 46, // t-series-k . - 99, 116, 45, 98, 97, 114, 44, 46, 99, 116, 45, 115, // ct-bar,.ct-s - 101, 114, 105, 101, 115, 45, 107, 32, 46, 99, 116, 45, // eries-k .ct- - 108, 105, 110, 101, 44, 46, 99, 116, 45, 115, 101, 114, // line,.ct-ser - 105, 101, 115, 45, 107, 32, 46, 99, 116, 45, 112, 111, // ies-k .ct-po - 105, 110, 116, 44, 46, 99, 116, 45, 115, 101, 114, 105, // int,.ct-seri - 101, 115, 45, 107, 32, 46, 99, 116, 45, 115, 108, 105, // es-k .ct-sli - 99, 101, 45, 100, 111, 110, 117, 116, 123, 115, 116, 114, // ce-donut{str - 111, 107, 101, 58, 35, 101, 97, 99, 102, 55, 100, 125, // oke:#eacf7d} - 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, 107, // .ct-series-k - 32, 46, 99, 116, 45, 97, 114, 101, 97, 44, 46, 99, // .ct-area,.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 107, 32, 46, // t-series-k . - 99, 116, 45, 115, 108, 105, 99, 101, 45, 100, 111, 110, // ct-slice-don - 117, 116, 45, 115, 111, 108, 105, 100, 44, 46, 99, 116, // ut-solid,.ct - 45, 115, 101, 114, 105, 101, 115, 45, 107, 32, 46, 99, // -series-k .c - 116, 45, 115, 108, 105, 99, 101, 45, 112, 105, 101, 123, // t-slice-pie{ - 102, 105, 108, 108, 58, 35, 101, 97, 99, 102, 55, 100, // fill:#eacf7d - 125, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, // }.ct-series- - 108, 32, 46, 99, 116, 45, 98, 97, 114, 44, 46, 99, // l .ct-bar,.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 108, 32, 46, // t-series-l . - 99, 116, 45, 108, 105, 110, 101, 44, 46, 99, 116, 45, // ct-line,.ct- - 115, 101, 114, 105, 101, 115, 45, 108, 32, 46, 99, 116, // series-l .ct - 45, 112, 111, 105, 110, 116, 44, 46, 99, 116, 45, 115, // -point,.ct-s - 101, 114, 105, 101, 115, 45, 108, 32, 46, 99, 116, 45, // eries-l .ct- - 115, 108, 105, 99, 101, 45, 100, 111, 110, 117, 116, 123, // slice-donut{ - 115, 116, 114, 111, 107, 101, 58, 35, 56, 54, 55, 57, // stroke:#8679 - 55, 100, 125, 46, 99, 116, 45, 115, 101, 114, 105, 101, // 7d}.ct-serie - 115, 45, 108, 32, 46, 99, 116, 45, 97, 114, 101, 97, // s-l .ct-area - 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, // ,.ct-series- - 108, 32, 46, 99, 116, 45, 115, 108, 105, 99, 101, 45, // l .ct-slice- - 100, 111, 110, 117, 116, 45, 115, 111, 108, 105, 100, 44, // donut-solid, - 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, 108, // .ct-series-l - 32, 46, 99, 116, 45, 115, 108, 105, 99, 101, 45, 112, // .ct-slice-p - 105, 101, 123, 102, 105, 108, 108, 58, 35, 56, 54, 55, // ie{fill:#867 - 57, 55, 100, 125, 46, 99, 116, 45, 115, 101, 114, 105, // 97d}.ct-seri - 101, 115, 45, 109, 32, 46, 99, 116, 45, 98, 97, 114, // es-m .ct-bar - 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, // ,.ct-series- - 109, 32, 46, 99, 116, 45, 108, 105, 110, 101, 44, 46, // m .ct-line,. - 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, 109, 32, // ct-series-m - 46, 99, 116, 45, 112, 111, 105, 110, 116, 44, 46, 99, // .ct-point,.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 109, 32, 46, // t-series-m . - 99, 116, 45, 115, 108, 105, 99, 101, 45, 100, 111, 110, // ct-slice-don - 117, 116, 123, 115, 116, 114, 111, 107, 101, 58, 35, 98, // ut{stroke:#b - 50, 99, 51, 50, 54, 125, 46, 99, 116, 45, 115, 101, // 2c326}.ct-se - 114, 105, 101, 115, 45, 109, 32, 46, 99, 116, 45, 97, // ries-m .ct-a - 114, 101, 97, 44, 46, 99, 116, 45, 115, 101, 114, 105, // rea,.ct-seri - 101, 115, 45, 109, 32, 46, 99, 116, 45, 115, 108, 105, // es-m .ct-sli - 99, 101, 45, 100, 111, 110, 117, 116, 45, 115, 111, 108, // ce-donut-sol - 105, 100, 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, // id,.ct-serie - 115, 45, 109, 32, 46, 99, 116, 45, 115, 108, 105, 99, // s-m .ct-slic - 101, 45, 112, 105, 101, 123, 102, 105, 108, 108, 58, 35, // e-pie{fill:# - 98, 50, 99, 51, 50, 54, 125, 46, 99, 116, 45, 115, // b2c326}.ct-s - 101, 114, 105, 101, 115, 45, 110, 32, 46, 99, 116, 45, // eries-n .ct- - 98, 97, 114, 44, 46, 99, 116, 45, 115, 101, 114, 105, // bar,.ct-seri - 101, 115, 45, 110, 32, 46, 99, 116, 45, 108, 105, 110, // es-n .ct-lin - 101, 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, // e,.ct-series - 45, 110, 32, 46, 99, 116, 45, 112, 111, 105, 110, 116, // -n .ct-point - 44, 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, // ,.ct-series- - 110, 32, 46, 99, 116, 45, 115, 108, 105, 99, 101, 45, // n .ct-slice- - 100, 111, 110, 117, 116, 123, 115, 116, 114, 111, 107, 101, // donut{stroke - 58, 35, 54, 49, 56, 56, 101, 50, 125, 46, 99, 116, // :#6188e2}.ct - 45, 115, 101, 114, 105, 101, 115, 45, 110, 32, 46, 99, // -series-n .c - 116, 45, 97, 114, 101, 97, 44, 46, 99, 116, 45, 115, // t-area,.ct-s - 101, 114, 105, 101, 115, 45, 110, 32, 46, 99, 116, 45, // eries-n .ct- - 115, 108, 105, 99, 101, 45, 100, 111, 110, 117, 116, 45, // slice-donut- - 115, 111, 108, 105, 100, 44, 46, 99, 116, 45, 115, 101, // solid,.ct-se - 114, 105, 101, 115, 45, 110, 32, 46, 99, 116, 45, 115, // ries-n .ct-s - 108, 105, 99, 101, 45, 112, 105, 101, 123, 102, 105, 108, // lice-pie{fil - 108, 58, 35, 54, 49, 56, 56, 101, 50, 125, 46, 99, // l:#6188e2}.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 111, 32, 46, // t-series-o . - 99, 116, 45, 98, 97, 114, 44, 46, 99, 116, 45, 115, // ct-bar,.ct-s - 101, 114, 105, 101, 115, 45, 111, 32, 46, 99, 116, 45, // eries-o .ct- - 108, 105, 110, 101, 44, 46, 99, 116, 45, 115, 101, 114, // line,.ct-ser - 105, 101, 115, 45, 111, 32, 46, 99, 116, 45, 112, 111, // ies-o .ct-po - 105, 110, 116, 44, 46, 99, 116, 45, 115, 101, 114, 105, // int,.ct-seri - 101, 115, 45, 111, 32, 46, 99, 116, 45, 115, 108, 105, // es-o .ct-sli - 99, 101, 45, 100, 111, 110, 117, 116, 123, 115, 116, 114, // ce-donut{str - 111, 107, 101, 58, 35, 97, 55, 52, 56, 99, 97, 125, // oke:#a748ca} - 46, 99, 116, 45, 115, 101, 114, 105, 101, 115, 45, 111, // .ct-series-o - 32, 46, 99, 116, 45, 97, 114, 101, 97, 44, 46, 99, // .ct-area,.c - 116, 45, 115, 101, 114, 105, 101, 115, 45, 111, 32, 46, // t-series-o . - 99, 116, 45, 115, 108, 105, 99, 101, 45, 100, 111, 110, // ct-slice-don - 117, 116, 45, 115, 111, 108, 105, 100, 44, 46, 99, 116, // ut-solid,.ct - 45, 115, 101, 114, 105, 101, 115, 45, 111, 32, 46, 99, // -series-o .c - 116, 45, 115, 108, 105, 99, 101, 45, 112, 105, 101, 123, // t-slice-pie{ - 102, 105, 108, 108, 58, 35, 97, 55, 52, 56, 99, 97, // fill:#a748ca - 125, 46, 99, 116, 45, 115, 113, 117, 97, 114, 101, 123, // }.ct-square{ - 100, 105, 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, // display:bloc - 107, 59, 112, 111, 115, 105, 116, 105, 111, 110, 58, 114, // k;position:r - 101, 108, 97, 116, 105, 118, 101, 59, 119, 105, 100, 116, // elative;widt - 104, 58, 49, 48, 48, 37, 125, 46, 99, 116, 45, 115, // h:100%}.ct-s - 113, 117, 97, 114, 101, 58, 98, 101, 102, 111, 114, 101, // quare:before - 123, 100, 105, 115, 112, 108, 97, 121, 58, 98, 108, 111, // {display:blo - 99, 107, 59, 102, 108, 111, 97, 116, 58, 108, 101, 102, // ck;float:lef - 116, 59, 99, 111, 110, 116, 101, 110, 116, 58, 34, 34, // t;content:"" - 59, 119, 105, 100, 116, 104, 58, 48, 59, 104, 101, 105, // ;width:0;hei - 103, 104, 116, 58, 48, 59, 112, 97, 100, 100, 105, 110, // ght:0;paddin - 103, 45, 98, 111, 116, 116, 111, 109, 58, 49, 48, 48, // g-bottom:100 - 37, 125, 46, 99, 116, 45, 115, 113, 117, 97, 114, 101, // %}.ct-square - 58, 97, 102, 116, 101, 114, 123, 100, 105, 115, 112, 108, // :after{displ - 97, 121, 58, 116, 97, 98, 108, 101, 125, 46, 99, 116, // ay:table}.ct - 45, 115, 113, 117, 97, 114, 101, 62, 115, 118, 103, 123, // -square>svg{ - 100, 105, 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, // display:bloc - 107, 59, 112, 111, 115, 105, 116, 105, 111, 110, 58, 97, // k;position:a - 98, 115, 111, 108, 117, 116, 101, 59, 116, 111, 112, 58, // bsolute;top: - 48, 59, 108, 101, 102, 116, 58, 48, 125, 46, 99, 116, // 0;left:0}.ct - 45, 109, 105, 110, 111, 114, 45, 115, 101, 99, 111, 110, // -minor-secon - 100, 123, 100, 105, 115, 112, 108, 97, 121, 58, 98, 108, // d{display:bl - 111, 99, 107, 59, 112, 111, 115, 105, 116, 105, 111, 110, // ock;position - 58, 114, 101, 108, 97, 116, 105, 118, 101, 59, 119, 105, // :relative;wi - 100, 116, 104, 58, 49, 48, 48, 37, 125, 46, 99, 116, // dth:100%}.ct - 45, 109, 105, 110, 111, 114, 45, 115, 101, 99, 111, 110, // -minor-secon - 100, 58, 98, 101, 102, 111, 114, 101, 123, 100, 105, 115, // d:before{dis - 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, 59, 102, // play:block;f - 108, 111, 97, 116, 58, 108, 101, 102, 116, 59, 99, 111, // loat:left;co - 110, 116, 101, 110, 116, 58, 34, 34, 59, 119, 105, 100, // ntent:"";wid - 116, 104, 58, 48, 59, 104, 101, 105, 103, 104, 116, 58, // th:0;height: - 48, 59, 112, 97, 100, 100, 105, 110, 103, 45, 98, 111, // 0;padding-bo - 116, 116, 111, 109, 58, 57, 51, 46, 55, 53, 37, 125, // ttom:93.75%} - 46, 99, 116, 45, 109, 105, 110, 111, 114, 45, 115, 101, // .ct-minor-se - 99, 111, 110, 100, 58, 97, 102, 116, 101, 114, 123, 100, // cond:after{d - 105, 115, 112, 108, 97, 121, 58, 116, 97, 98, 108, 101, // isplay:table - 125, 46, 99, 116, 45, 109, 105, 110, 111, 114, 45, 115, // }.ct-minor-s - 101, 99, 111, 110, 100, 62, 115, 118, 103, 123, 100, 105, // econd>svg{di - 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, 59, // splay:block; - 112, 111, 115, 105, 116, 105, 111, 110, 58, 97, 98, 115, // position:abs - 111, 108, 117, 116, 101, 59, 116, 111, 112, 58, 48, 59, // olute;top:0; - 108, 101, 102, 116, 58, 48, 125, 46, 99, 116, 45, 109, // left:0}.ct-m - 97, 106, 111, 114, 45, 115, 101, 99, 111, 110, 100, 123, // ajor-second{ - 100, 105, 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, // display:bloc - 107, 59, 112, 111, 115, 105, 116, 105, 111, 110, 58, 114, // k;position:r - 101, 108, 97, 116, 105, 118, 101, 59, 119, 105, 100, 116, // elative;widt - 104, 58, 49, 48, 48, 37, 125, 46, 99, 116, 45, 109, // h:100%}.ct-m - 97, 106, 111, 114, 45, 115, 101, 99, 111, 110, 100, 58, // ajor-second: - 98, 101, 102, 111, 114, 101, 123, 100, 105, 115, 112, 108, // before{displ - 97, 121, 58, 98, 108, 111, 99, 107, 59, 102, 108, 111, // ay:block;flo - 97, 116, 58, 108, 101, 102, 116, 59, 99, 111, 110, 116, // at:left;cont - 101, 110, 116, 58, 34, 34, 59, 119, 105, 100, 116, 104, // ent:"";width - 58, 48, 59, 104, 101, 105, 103, 104, 116, 58, 48, 59, // :0;height:0; - 112, 97, 100, 100, 105, 110, 103, 45, 98, 111, 116, 116, // padding-bott - 111, 109, 58, 56, 56, 46, 56, 56, 56, 56, 56, 56, // om:88.888888 - 56, 56, 56, 57, 37, 125, 46, 99, 116, 45, 109, 97, // 8889%}.ct-ma - 106, 111, 114, 45, 115, 101, 99, 111, 110, 100, 58, 97, // jor-second:a - 102, 116, 101, 114, 123, 100, 105, 115, 112, 108, 97, 121, // fter{display - 58, 116, 97, 98, 108, 101, 125, 46, 99, 116, 45, 109, // :table}.ct-m - 97, 106, 111, 114, 45, 115, 101, 99, 111, 110, 100, 62, // ajor-second> - 115, 118, 103, 123, 100, 105, 115, 112, 108, 97, 121, 58, // svg{display: - 98, 108, 111, 99, 107, 59, 112, 111, 115, 105, 116, 105, // block;positi - 111, 110, 58, 97, 98, 115, 111, 108, 117, 116, 101, 59, // on:absolute; - 116, 111, 112, 58, 48, 59, 108, 101, 102, 116, 58, 48, // top:0;left:0 - 125, 46, 99, 116, 45, 109, 105, 110, 111, 114, 45, 116, // }.ct-minor-t - 104, 105, 114, 100, 123, 100, 105, 115, 112, 108, 97, 121, // hird{display - 58, 98, 108, 111, 99, 107, 59, 112, 111, 115, 105, 116, // :block;posit - 105, 111, 110, 58, 114, 101, 108, 97, 116, 105, 118, 101, // ion:relative - 59, 119, 105, 100, 116, 104, 58, 49, 48, 48, 37, 125, // ;width:100%} - 46, 99, 116, 45, 109, 105, 110, 111, 114, 45, 116, 104, // .ct-minor-th - 105, 114, 100, 58, 98, 101, 102, 111, 114, 101, 123, 100, // ird:before{d - 105, 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, // isplay:block - 59, 102, 108, 111, 97, 116, 58, 108, 101, 102, 116, 59, // ;float:left; - 99, 111, 110, 116, 101, 110, 116, 58, 34, 34, 59, 119, // content:"";w - 105, 100, 116, 104, 58, 48, 59, 104, 101, 105, 103, 104, // idth:0;heigh - 116, 58, 48, 59, 112, 97, 100, 100, 105, 110, 103, 45, // t:0;padding- - 98, 111, 116, 116, 111, 109, 58, 56, 51, 46, 51, 51, // bottom:83.33 - 51, 51, 51, 51, 51, 51, 51, 51, 37, 125, 46, 99, // 33333333%}.c - 116, 45, 109, 105, 110, 111, 114, 45, 116, 104, 105, 114, // t-minor-thir - 100, 58, 97, 102, 116, 101, 114, 123, 100, 105, 115, 112, // d:after{disp - 108, 97, 121, 58, 116, 97, 98, 108, 101, 125, 46, 99, // lay:table}.c - 116, 45, 109, 105, 110, 111, 114, 45, 116, 104, 105, 114, // t-minor-thir - 100, 62, 115, 118, 103, 123, 100, 105, 115, 112, 108, 97, // d>svg{displa - 121, 58, 98, 108, 111, 99, 107, 59, 112, 111, 115, 105, // y:block;posi - 116, 105, 111, 110, 58, 97, 98, 115, 111, 108, 117, 116, // tion:absolut - 101, 59, 116, 111, 112, 58, 48, 59, 108, 101, 102, 116, // e;top:0;left - 58, 48, 125, 46, 99, 116, 45, 109, 97, 106, 111, 114, // :0}.ct-major - 45, 116, 104, 105, 114, 100, 123, 100, 105, 115, 112, 108, // -third{displ - 97, 121, 58, 98, 108, 111, 99, 107, 59, 112, 111, 115, // ay:block;pos - 105, 116, 105, 111, 110, 58, 114, 101, 108, 97, 116, 105, // ition:relati - 118, 101, 59, 119, 105, 100, 116, 104, 58, 49, 48, 48, // ve;width:100 - 37, 125, 46, 99, 116, 45, 109, 97, 106, 111, 114, 45, // %}.ct-major- - 116, 104, 105, 114, 100, 58, 98, 101, 102, 111, 114, 101, // third:before - 123, 100, 105, 115, 112, 108, 97, 121, 58, 98, 108, 111, // {display:blo - 99, 107, 59, 102, 108, 111, 97, 116, 58, 108, 101, 102, // ck;float:lef - 116, 59, 99, 111, 110, 116, 101, 110, 116, 58, 34, 34, // t;content:"" - 59, 119, 105, 100, 116, 104, 58, 48, 59, 104, 101, 105, // ;width:0;hei - 103, 104, 116, 58, 48, 59, 112, 97, 100, 100, 105, 110, // ght:0;paddin - 103, 45, 98, 111, 116, 116, 111, 109, 58, 56, 48, 37, // g-bottom:80% - 125, 46, 99, 116, 45, 109, 97, 106, 111, 114, 45, 116, // }.ct-major-t - 104, 105, 114, 100, 58, 97, 102, 116, 101, 114, 123, 100, // hird:after{d - 105, 115, 112, 108, 97, 121, 58, 116, 97, 98, 108, 101, // isplay:table - 125, 46, 99, 116, 45, 109, 97, 106, 111, 114, 45, 116, // }.ct-major-t - 104, 105, 114, 100, 62, 115, 118, 103, 123, 100, 105, 115, // hird>svg{dis - 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, 59, 112, // play:block;p - 111, 115, 105, 116, 105, 111, 110, 58, 97, 98, 115, 111, // osition:abso - 108, 117, 116, 101, 59, 116, 111, 112, 58, 48, 59, 108, // lute;top:0;l - 101, 102, 116, 58, 48, 125, 46, 99, 116, 45, 112, 101, // eft:0}.ct-pe - 114, 102, 101, 99, 116, 45, 102, 111, 117, 114, 116, 104, // rfect-fourth - 123, 100, 105, 115, 112, 108, 97, 121, 58, 98, 108, 111, // {display:blo - 99, 107, 59, 112, 111, 115, 105, 116, 105, 111, 110, 58, // ck;position: - 114, 101, 108, 97, 116, 105, 118, 101, 59, 119, 105, 100, // relative;wid - 116, 104, 58, 49, 48, 48, 37, 125, 46, 99, 116, 45, // th:100%}.ct- - 112, 101, 114, 102, 101, 99, 116, 45, 102, 111, 117, 114, // perfect-four - 116, 104, 58, 98, 101, 102, 111, 114, 101, 123, 100, 105, // th:before{di - 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, 59, // splay:block; - 102, 108, 111, 97, 116, 58, 108, 101, 102, 116, 59, 99, // float:left;c - 111, 110, 116, 101, 110, 116, 58, 34, 34, 59, 119, 105, // ontent:"";wi - 100, 116, 104, 58, 48, 59, 104, 101, 105, 103, 104, 116, // dth:0;height - 58, 48, 59, 112, 97, 100, 100, 105, 110, 103, 45, 98, // :0;padding-b - 111, 116, 116, 111, 109, 58, 55, 53, 37, 125, 46, 99, // ottom:75%}.c - 116, 45, 112, 101, 114, 102, 101, 99, 116, 45, 102, 111, // t-perfect-fo - 117, 114, 116, 104, 58, 97, 102, 116, 101, 114, 123, 100, // urth:after{d - 105, 115, 112, 108, 97, 121, 58, 116, 97, 98, 108, 101, // isplay:table - 125, 46, 99, 116, 45, 112, 101, 114, 102, 101, 99, 116, // }.ct-perfect - 45, 102, 111, 117, 114, 116, 104, 62, 115, 118, 103, 123, // -fourth>svg{ - 100, 105, 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, // display:bloc - 107, 59, 112, 111, 115, 105, 116, 105, 111, 110, 58, 97, // k;position:a - 98, 115, 111, 108, 117, 116, 101, 59, 116, 111, 112, 58, // bsolute;top: - 48, 59, 108, 101, 102, 116, 58, 48, 125, 46, 99, 116, // 0;left:0}.ct - 45, 112, 101, 114, 102, 101, 99, 116, 45, 102, 105, 102, // -perfect-fif - 116, 104, 123, 100, 105, 115, 112, 108, 97, 121, 58, 98, // th{display:b - 108, 111, 99, 107, 59, 112, 111, 115, 105, 116, 105, 111, // lock;positio - 110, 58, 114, 101, 108, 97, 116, 105, 118, 101, 59, 119, // n:relative;w - 105, 100, 116, 104, 58, 49, 48, 48, 37, 125, 46, 99, // idth:100%}.c - 116, 45, 112, 101, 114, 102, 101, 99, 116, 45, 102, 105, // t-perfect-fi - 102, 116, 104, 58, 98, 101, 102, 111, 114, 101, 123, 100, // fth:before{d - 105, 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, // isplay:block - 59, 102, 108, 111, 97, 116, 58, 108, 101, 102, 116, 59, // ;float:left; - 99, 111, 110, 116, 101, 110, 116, 58, 34, 34, 59, 119, // content:"";w - 105, 100, 116, 104, 58, 48, 59, 104, 101, 105, 103, 104, // idth:0;heigh - 116, 58, 48, 59, 112, 97, 100, 100, 105, 110, 103, 45, // t:0;padding- - 98, 111, 116, 116, 111, 109, 58, 54, 54, 46, 54, 54, // bottom:66.66 - 54, 54, 54, 54, 54, 54, 54, 55, 37, 125, 46, 99, // 66666667%}.c - 116, 45, 112, 101, 114, 102, 101, 99, 116, 45, 102, 105, // t-perfect-fi - 102, 116, 104, 58, 97, 102, 116, 101, 114, 123, 100, 105, // fth:after{di - 115, 112, 108, 97, 121, 58, 116, 97, 98, 108, 101, 125, // splay:table} - 46, 99, 116, 45, 112, 101, 114, 102, 101, 99, 116, 45, // .ct-perfect- - 102, 105, 102, 116, 104, 62, 115, 118, 103, 123, 100, 105, // fifth>svg{di - 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, 59, // splay:block; - 112, 111, 115, 105, 116, 105, 111, 110, 58, 97, 98, 115, // position:abs - 111, 108, 117, 116, 101, 59, 116, 111, 112, 58, 48, 59, // olute;top:0; - 108, 101, 102, 116, 58, 48, 125, 46, 99, 116, 45, 109, // left:0}.ct-m - 105, 110, 111, 114, 45, 115, 105, 120, 116, 104, 123, 100, // inor-sixth{d - 105, 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, // isplay:block - 59, 112, 111, 115, 105, 116, 105, 111, 110, 58, 114, 101, // ;position:re - 108, 97, 116, 105, 118, 101, 59, 119, 105, 100, 116, 104, // lative;width - 58, 49, 48, 48, 37, 125, 46, 99, 116, 45, 109, 105, // :100%}.ct-mi - 110, 111, 114, 45, 115, 105, 120, 116, 104, 58, 98, 101, // nor-sixth:be - 102, 111, 114, 101, 123, 100, 105, 115, 112, 108, 97, 121, // fore{display - 58, 98, 108, 111, 99, 107, 59, 102, 108, 111, 97, 116, // :block;float - 58, 108, 101, 102, 116, 59, 99, 111, 110, 116, 101, 110, // :left;conten - 116, 58, 34, 34, 59, 119, 105, 100, 116, 104, 58, 48, // t:"";width:0 - 59, 104, 101, 105, 103, 104, 116, 58, 48, 59, 112, 97, // ;height:0;pa - 100, 100, 105, 110, 103, 45, 98, 111, 116, 116, 111, 109, // dding-bottom - 58, 54, 50, 46, 53, 37, 125, 46, 99, 116, 45, 109, // :62.5%}.ct-m - 105, 110, 111, 114, 45, 115, 105, 120, 116, 104, 58, 97, // inor-sixth:a - 102, 116, 101, 114, 123, 100, 105, 115, 112, 108, 97, 121, // fter{display - 58, 116, 97, 98, 108, 101, 125, 46, 99, 116, 45, 109, // :table}.ct-m - 105, 110, 111, 114, 45, 115, 105, 120, 116, 104, 62, 115, // inor-sixth>s - 118, 103, 123, 100, 105, 115, 112, 108, 97, 121, 58, 98, // vg{display:b - 108, 111, 99, 107, 59, 112, 111, 115, 105, 116, 105, 111, // lock;positio - 110, 58, 97, 98, 115, 111, 108, 117, 116, 101, 59, 116, // n:absolute;t - 111, 112, 58, 48, 59, 108, 101, 102, 116, 58, 48, 125, // op:0;left:0} - 46, 99, 116, 45, 103, 111, 108, 100, 101, 110, 45, 115, // .ct-golden-s - 101, 99, 116, 105, 111, 110, 123, 100, 105, 115, 112, 108, // ection{displ - 97, 121, 58, 98, 108, 111, 99, 107, 59, 112, 111, 115, // ay:block;pos - 105, 116, 105, 111, 110, 58, 114, 101, 108, 97, 116, 105, // ition:relati - 118, 101, 59, 119, 105, 100, 116, 104, 58, 49, 48, 48, // ve;width:100 - 37, 125, 46, 99, 116, 45, 103, 111, 108, 100, 101, 110, // %}.ct-golden - 45, 115, 101, 99, 116, 105, 111, 110, 58, 98, 101, 102, // -section:bef - 111, 114, 101, 123, 100, 105, 115, 112, 108, 97, 121, 58, // ore{display: - 98, 108, 111, 99, 107, 59, 102, 108, 111, 97, 116, 58, // block;float: - 108, 101, 102, 116, 59, 99, 111, 110, 116, 101, 110, 116, // left;content - 58, 34, 34, 59, 119, 105, 100, 116, 104, 58, 48, 59, // :"";width:0; - 104, 101, 105, 103, 104, 116, 58, 48, 59, 112, 97, 100, // height:0;pad - 100, 105, 110, 103, 45, 98, 111, 116, 116, 111, 109, 58, // ding-bottom: - 54, 49, 46, 56, 48, 52, 54, 57, 55, 49, 53, 55, // 61.804697157 - 37, 125, 46, 99, 116, 45, 103, 111, 108, 100, 101, 110, // %}.ct-golden - 45, 115, 101, 99, 116, 105, 111, 110, 58, 97, 102, 116, // -section:aft - 101, 114, 123, 100, 105, 115, 112, 108, 97, 121, 58, 116, // er{display:t - 97, 98, 108, 101, 125, 46, 99, 116, 45, 103, 111, 108, // able}.ct-gol - 100, 101, 110, 45, 115, 101, 99, 116, 105, 111, 110, 62, // den-section> - 115, 118, 103, 123, 100, 105, 115, 112, 108, 97, 121, 58, // svg{display: - 98, 108, 111, 99, 107, 59, 112, 111, 115, 105, 116, 105, // block;positi - 111, 110, 58, 97, 98, 115, 111, 108, 117, 116, 101, 59, // on:absolute; - 116, 111, 112, 58, 48, 59, 108, 101, 102, 116, 58, 48, // top:0;left:0 - 125, 46, 99, 116, 45, 109, 97, 106, 111, 114, 45, 115, // }.ct-major-s - 105, 120, 116, 104, 123, 100, 105, 115, 112, 108, 97, 121, // ixth{display - 58, 98, 108, 111, 99, 107, 59, 112, 111, 115, 105, 116, // :block;posit - 105, 111, 110, 58, 114, 101, 108, 97, 116, 105, 118, 101, // ion:relative - 59, 119, 105, 100, 116, 104, 58, 49, 48, 48, 37, 125, // ;width:100%} - 46, 99, 116, 45, 109, 97, 106, 111, 114, 45, 115, 105, // .ct-major-si - 120, 116, 104, 58, 98, 101, 102, 111, 114, 101, 123, 100, // xth:before{d - 105, 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, // isplay:block - 59, 102, 108, 111, 97, 116, 58, 108, 101, 102, 116, 59, // ;float:left; - 99, 111, 110, 116, 101, 110, 116, 58, 34, 34, 59, 119, // content:"";w - 105, 100, 116, 104, 58, 48, 59, 104, 101, 105, 103, 104, // idth:0;heigh - 116, 58, 48, 59, 112, 97, 100, 100, 105, 110, 103, 45, // t:0;padding- - 98, 111, 116, 116, 111, 109, 58, 54, 48, 37, 125, 46, // bottom:60%}. - 99, 116, 45, 109, 97, 106, 111, 114, 45, 115, 105, 120, // ct-major-six - 116, 104, 58, 97, 102, 116, 101, 114, 123, 100, 105, 115, // th:after{dis - 112, 108, 97, 121, 58, 116, 97, 98, 108, 101, 125, 46, // play:table}. - 99, 116, 45, 109, 97, 106, 111, 114, 45, 115, 105, 120, // ct-major-six - 116, 104, 62, 115, 118, 103, 123, 100, 105, 115, 112, 108, // th>svg{displ - 97, 121, 58, 98, 108, 111, 99, 107, 59, 112, 111, 115, // ay:block;pos - 105, 116, 105, 111, 110, 58, 97, 98, 115, 111, 108, 117, // ition:absolu - 116, 101, 59, 116, 111, 112, 58, 48, 59, 108, 101, 102, // te;top:0;lef - 116, 58, 48, 125, 46, 99, 116, 45, 109, 105, 110, 111, // t:0}.ct-mino - 114, 45, 115, 101, 118, 101, 110, 116, 104, 123, 100, 105, // r-seventh{di - 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, 59, // splay:block; - 112, 111, 115, 105, 116, 105, 111, 110, 58, 114, 101, 108, // position:rel - 97, 116, 105, 118, 101, 59, 119, 105, 100, 116, 104, 58, // ative;width: - 49, 48, 48, 37, 125, 46, 99, 116, 45, 109, 105, 110, // 100%}.ct-min - 111, 114, 45, 115, 101, 118, 101, 110, 116, 104, 58, 98, // or-seventh:b - 101, 102, 111, 114, 101, 123, 100, 105, 115, 112, 108, 97, // efore{displa - 121, 58, 98, 108, 111, 99, 107, 59, 102, 108, 111, 97, // y:block;floa - 116, 58, 108, 101, 102, 116, 59, 99, 111, 110, 116, 101, // t:left;conte - 110, 116, 58, 34, 34, 59, 119, 105, 100, 116, 104, 58, // nt:"";width: - 48, 59, 104, 101, 105, 103, 104, 116, 58, 48, 59, 112, // 0;height:0;p - 97, 100, 100, 105, 110, 103, 45, 98, 111, 116, 116, 111, // adding-botto - 109, 58, 53, 54, 46, 50, 53, 37, 125, 46, 99, 116, // m:56.25%}.ct - 45, 109, 105, 110, 111, 114, 45, 115, 101, 118, 101, 110, // -minor-seven - 116, 104, 58, 97, 102, 116, 101, 114, 123, 100, 105, 115, // th:after{dis - 112, 108, 97, 121, 58, 116, 97, 98, 108, 101, 125, 46, // play:table}. - 99, 116, 45, 109, 105, 110, 111, 114, 45, 115, 101, 118, // ct-minor-sev - 101, 110, 116, 104, 62, 115, 118, 103, 123, 100, 105, 115, // enth>svg{dis - 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, 59, 112, // play:block;p - 111, 115, 105, 116, 105, 111, 110, 58, 97, 98, 115, 111, // osition:abso - 108, 117, 116, 101, 59, 116, 111, 112, 58, 48, 59, 108, // lute;top:0;l - 101, 102, 116, 58, 48, 125, 46, 99, 116, 45, 109, 97, // eft:0}.ct-ma - 106, 111, 114, 45, 115, 101, 118, 101, 110, 116, 104, 123, // jor-seventh{ - 100, 105, 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, // display:bloc - 107, 59, 112, 111, 115, 105, 116, 105, 111, 110, 58, 114, // k;position:r - 101, 108, 97, 116, 105, 118, 101, 59, 119, 105, 100, 116, // elative;widt - 104, 58, 49, 48, 48, 37, 125, 46, 99, 116, 45, 109, // h:100%}.ct-m - 97, 106, 111, 114, 45, 115, 101, 118, 101, 110, 116, 104, // ajor-seventh - 58, 98, 101, 102, 111, 114, 101, 123, 100, 105, 115, 112, // :before{disp - 108, 97, 121, 58, 98, 108, 111, 99, 107, 59, 102, 108, // lay:block;fl - 111, 97, 116, 58, 108, 101, 102, 116, 59, 99, 111, 110, // oat:left;con - 116, 101, 110, 116, 58, 34, 34, 59, 119, 105, 100, 116, // tent:"";widt - 104, 58, 48, 59, 104, 101, 105, 103, 104, 116, 58, 48, // h:0;height:0 - 59, 112, 97, 100, 100, 105, 110, 103, 45, 98, 111, 116, // ;padding-bot - 116, 111, 109, 58, 53, 51, 46, 51, 51, 51, 51, 51, // tom:53.33333 - 51, 51, 51, 51, 51, 37, 125, 46, 99, 116, 45, 109, // 33333%}.ct-m - 97, 106, 111, 114, 45, 115, 101, 118, 101, 110, 116, 104, // ajor-seventh - 58, 97, 102, 116, 101, 114, 123, 100, 105, 115, 112, 108, // :after{displ - 97, 121, 58, 116, 97, 98, 108, 101, 125, 46, 99, 116, // ay:table}.ct - 45, 109, 97, 106, 111, 114, 45, 115, 101, 118, 101, 110, // -major-seven - 116, 104, 62, 115, 118, 103, 123, 100, 105, 115, 112, 108, // th>svg{displ - 97, 121, 58, 98, 108, 111, 99, 107, 59, 112, 111, 115, // ay:block;pos - 105, 116, 105, 111, 110, 58, 97, 98, 115, 111, 108, 117, // ition:absolu - 116, 101, 59, 116, 111, 112, 58, 48, 59, 108, 101, 102, // te;top:0;lef - 116, 58, 48, 125, 46, 99, 116, 45, 111, 99, 116, 97, // t:0}.ct-octa - 118, 101, 123, 100, 105, 115, 112, 108, 97, 121, 58, 98, // ve{display:b - 108, 111, 99, 107, 59, 112, 111, 115, 105, 116, 105, 111, // lock;positio - 110, 58, 114, 101, 108, 97, 116, 105, 118, 101, 59, 119, // n:relative;w - 105, 100, 116, 104, 58, 49, 48, 48, 37, 125, 46, 99, // idth:100%}.c - 116, 45, 111, 99, 116, 97, 118, 101, 58, 98, 101, 102, // t-octave:bef - 111, 114, 101, 123, 100, 105, 115, 112, 108, 97, 121, 58, // ore{display: - 98, 108, 111, 99, 107, 59, 102, 108, 111, 97, 116, 58, // block;float: - 108, 101, 102, 116, 59, 99, 111, 110, 116, 101, 110, 116, // left;content - 58, 34, 34, 59, 119, 105, 100, 116, 104, 58, 48, 59, // :"";width:0; - 104, 101, 105, 103, 104, 116, 58, 48, 59, 112, 97, 100, // height:0;pad - 100, 105, 110, 103, 45, 98, 111, 116, 116, 111, 109, 58, // ding-bottom: - 53, 48, 37, 125, 46, 99, 116, 45, 111, 99, 116, 97, // 50%}.ct-octa - 118, 101, 58, 97, 102, 116, 101, 114, 123, 100, 105, 115, // ve:after{dis - 112, 108, 97, 121, 58, 116, 97, 98, 108, 101, 125, 46, // play:table}. - 99, 116, 45, 111, 99, 116, 97, 118, 101, 62, 115, 118, // ct-octave>sv - 103, 123, 100, 105, 115, 112, 108, 97, 121, 58, 98, 108, // g{display:bl - 111, 99, 107, 59, 112, 111, 115, 105, 116, 105, 111, 110, // ock;position - 58, 97, 98, 115, 111, 108, 117, 116, 101, 59, 116, 111, // :absolute;to - 112, 58, 48, 59, 108, 101, 102, 116, 58, 48, 125, 46, // p:0;left:0}. - 99, 116, 45, 109, 97, 106, 111, 114, 45, 116, 101, 110, // ct-major-ten - 116, 104, 123, 100, 105, 115, 112, 108, 97, 121, 58, 98, // th{display:b - 108, 111, 99, 107, 59, 112, 111, 115, 105, 116, 105, 111, // lock;positio - 110, 58, 114, 101, 108, 97, 116, 105, 118, 101, 59, 119, // n:relative;w - 105, 100, 116, 104, 58, 49, 48, 48, 37, 125, 46, 99, // idth:100%}.c - 116, 45, 109, 97, 106, 111, 114, 45, 116, 101, 110, 116, // t-major-tent - 104, 58, 98, 101, 102, 111, 114, 101, 123, 100, 105, 115, // h:before{dis - 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, 59, 102, // play:block;f - 108, 111, 97, 116, 58, 108, 101, 102, 116, 59, 99, 111, // loat:left;co - 110, 116, 101, 110, 116, 58, 34, 34, 59, 119, 105, 100, // ntent:"";wid - 116, 104, 58, 48, 59, 104, 101, 105, 103, 104, 116, 58, // th:0;height: - 48, 59, 112, 97, 100, 100, 105, 110, 103, 45, 98, 111, // 0;padding-bo - 116, 116, 111, 109, 58, 52, 48, 37, 125, 46, 99, 116, // ttom:40%}.ct - 45, 109, 97, 106, 111, 114, 45, 116, 101, 110, 116, 104, // -major-tenth - 58, 97, 102, 116, 101, 114, 123, 100, 105, 115, 112, 108, // :after{displ - 97, 121, 58, 116, 97, 98, 108, 101, 125, 46, 99, 116, // ay:table}.ct - 45, 109, 97, 106, 111, 114, 45, 116, 101, 110, 116, 104, // -major-tenth - 62, 115, 118, 103, 123, 100, 105, 115, 112, 108, 97, 121, // >svg{display - 58, 98, 108, 111, 99, 107, 59, 112, 111, 115, 105, 116, // :block;posit - 105, 111, 110, 58, 97, 98, 115, 111, 108, 117, 116, 101, // ion:absolute - 59, 116, 111, 112, 58, 48, 59, 108, 101, 102, 116, 58, // ;top:0;left: - 48, 125, 46, 99, 116, 45, 109, 97, 106, 111, 114, 45, // 0}.ct-major- - 101, 108, 101, 118, 101, 110, 116, 104, 123, 100, 105, 115, // eleventh{dis - 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, 59, 112, // play:block;p - 111, 115, 105, 116, 105, 111, 110, 58, 114, 101, 108, 97, // osition:rela - 116, 105, 118, 101, 59, 119, 105, 100, 116, 104, 58, 49, // tive;width:1 - 48, 48, 37, 125, 46, 99, 116, 45, 109, 97, 106, 111, // 00%}.ct-majo - 114, 45, 101, 108, 101, 118, 101, 110, 116, 104, 58, 98, // r-eleventh:b - 101, 102, 111, 114, 101, 123, 100, 105, 115, 112, 108, 97, // efore{displa - 121, 58, 98, 108, 111, 99, 107, 59, 102, 108, 111, 97, // y:block;floa - 116, 58, 108, 101, 102, 116, 59, 99, 111, 110, 116, 101, // t:left;conte - 110, 116, 58, 34, 34, 59, 119, 105, 100, 116, 104, 58, // nt:"";width: - 48, 59, 104, 101, 105, 103, 104, 116, 58, 48, 59, 112, // 0;height:0;p - 97, 100, 100, 105, 110, 103, 45, 98, 111, 116, 116, 111, // adding-botto - 109, 58, 51, 55, 46, 53, 37, 125, 46, 99, 116, 45, // m:37.5%}.ct- - 109, 97, 106, 111, 114, 45, 101, 108, 101, 118, 101, 110, // major-eleven - 116, 104, 58, 97, 102, 116, 101, 114, 123, 100, 105, 115, // th:after{dis - 112, 108, 97, 121, 58, 116, 97, 98, 108, 101, 125, 46, // play:table}. - 99, 116, 45, 109, 97, 106, 111, 114, 45, 101, 108, 101, // ct-major-ele - 118, 101, 110, 116, 104, 62, 115, 118, 103, 123, 100, 105, // venth>svg{di - 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, 59, // splay:block; - 112, 111, 115, 105, 116, 105, 111, 110, 58, 97, 98, 115, // position:abs - 111, 108, 117, 116, 101, 59, 116, 111, 112, 58, 48, 59, // olute;top:0; - 108, 101, 102, 116, 58, 48, 125, 46, 99, 116, 45, 109, // left:0}.ct-m - 97, 106, 111, 114, 45, 116, 119, 101, 108, 102, 116, 104, // ajor-twelfth - 123, 100, 105, 115, 112, 108, 97, 121, 58, 98, 108, 111, // {display:blo - 99, 107, 59, 112, 111, 115, 105, 116, 105, 111, 110, 58, // ck;position: - 114, 101, 108, 97, 116, 105, 118, 101, 59, 119, 105, 100, // relative;wid - 116, 104, 58, 49, 48, 48, 37, 125, 46, 99, 116, 45, // th:100%}.ct- - 109, 97, 106, 111, 114, 45, 116, 119, 101, 108, 102, 116, // major-twelft - 104, 58, 98, 101, 102, 111, 114, 101, 123, 100, 105, 115, // h:before{dis - 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, 59, 102, // play:block;f - 108, 111, 97, 116, 58, 108, 101, 102, 116, 59, 99, 111, // loat:left;co - 110, 116, 101, 110, 116, 58, 34, 34, 59, 119, 105, 100, // ntent:"";wid - 116, 104, 58, 48, 59, 104, 101, 105, 103, 104, 116, 58, // th:0;height: - 48, 59, 112, 97, 100, 100, 105, 110, 103, 45, 98, 111, // 0;padding-bo - 116, 116, 111, 109, 58, 51, 51, 46, 51, 51, 51, 51, // ttom:33.3333 - 51, 51, 51, 51, 51, 51, 37, 125, 46, 99, 116, 45, // 333333%}.ct- - 109, 97, 106, 111, 114, 45, 116, 119, 101, 108, 102, 116, // major-twelft - 104, 58, 97, 102, 116, 101, 114, 123, 100, 105, 115, 112, // h:after{disp - 108, 97, 121, 58, 116, 97, 98, 108, 101, 125, 46, 99, // lay:table}.c - 116, 45, 109, 97, 106, 111, 114, 45, 116, 119, 101, 108, // t-major-twel - 102, 116, 104, 62, 115, 118, 103, 123, 100, 105, 115, 112, // fth>svg{disp - 108, 97, 121, 58, 98, 108, 111, 99, 107, 59, 112, 111, // lay:block;po - 115, 105, 116, 105, 111, 110, 58, 97, 98, 115, 111, 108, // sition:absol - 117, 116, 101, 59, 116, 111, 112, 58, 48, 59, 108, 101, // ute;top:0;le - 102, 116, 58, 48, 125, 46, 99, 116, 45, 100, 111, 117, // ft:0}.ct-dou - 98, 108, 101, 45, 111, 99, 116, 97, 118, 101, 123, 100, // ble-octave{d - 105, 115, 112, 108, 97, 121, 58, 98, 108, 111, 99, 107, // isplay:block - 59, 112, 111, 115, 105, 116, 105, 111, 110, 58, 114, 101, // ;position:re - 108, 97, 116, 105, 118, 101, 59, 119, 105, 100, 116, 104, // lative;width - 58, 49, 48, 48, 37, 125, 46, 99, 116, 45, 100, 111, // :100%}.ct-do - 117, 98, 108, 101, 45, 111, 99, 116, 97, 118, 101, 58, // uble-octave: - 98, 101, 102, 111, 114, 101, 123, 100, 105, 115, 112, 108, // before{displ - 97, 121, 58, 98, 108, 111, 99, 107, 59, 102, 108, 111, // ay:block;flo - 97, 116, 58, 108, 101, 102, 116, 59, 99, 111, 110, 116, // at:left;cont - 101, 110, 116, 58, 34, 34, 59, 119, 105, 100, 116, 104, // ent:"";width - 58, 48, 59, 104, 101, 105, 103, 104, 116, 58, 48, 59, // :0;height:0; - 112, 97, 100, 100, 105, 110, 103, 45, 98, 111, 116, 116, // padding-bott - 111, 109, 58, 50, 53, 37, 125, 46, 99, 116, 45, 100, // om:25%}.ct-d - 111, 117, 98, 108, 101, 45, 111, 99, 116, 97, 118, 101, // ouble-octave - 58, 97, 102, 116, 101, 114, 123, 100, 105, 115, 112, 108, // :after{displ - 97, 121, 58, 116, 97, 98, 108, 101, 125, 46, 99, 116, // ay:table}.ct - 45, 100, 111, 117, 98, 108, 101, 45, 111, 99, 116, 97, // -double-octa - 118, 101, 62, 115, 118, 103, 123, 100, 105, 115, 112, 108, // ve>svg{displ - 97, 121, 58, 98, 108, 111, 99, 107, 59, 112, 111, 115, // ay:block;pos - 105, 116, 105, 111, 110, 58, 97, 98, 115, 111, 108, 117, // ition:absolu - 116, 101, 59, 116, 111, 112, 58, 48, 59, 108, 101, 102, // te;top:0;lef - 116, 58, 48, 125, 0 // t:0} -}; -static const unsigned char v2[] = { - 47, 42, 32, 67, 104, 97, 114, 116, 105, 115, 116, 46, // /* Chartist. - 106, 115, 32, 48, 46, 49, 49, 46, 52, 10, 32, 42, // js 0.11.4. * - 32, 67, 111, 112, 121, 114, 105, 103, 104, 116, 32, 194, // Copyright . - 169, 32, 50, 48, 49, 57, 32, 71, 105, 111, 110, 32, // . 2019 Gion - 75, 117, 110, 122, 10, 32, 42, 32, 70, 114, 101, 101, // Kunz. * Free - 32, 116, 111, 32, 117, 115, 101, 32, 117, 110, 100, 101, // to use unde - 114, 32, 101, 105, 116, 104, 101, 114, 32, 116, 104, 101, // r either the - 32, 87, 84, 70, 80, 76, 32, 108, 105, 99, 101, 110, // WTFPL licen - 115, 101, 32, 111, 114, 32, 116, 104, 101, 32, 77, 73, // se or the MI - 84, 32, 108, 105, 99, 101, 110, 115, 101, 46, 10, 32, // T license.. - 42, 32, 104, 116, 116, 112, 115, 58, 47, 47, 114, 97, // * https://ra - 119, 46, 103, 105, 116, 104, 117, 98, 117, 115, 101, 114, // w.githubuser - 99, 111, 110, 116, 101, 110, 116, 46, 99, 111, 109, 47, // content.com/ - 103, 105, 111, 110, 107, 117, 110, 122, 47, 99, 104, 97, // gionkunz/cha - 114, 116, 105, 115, 116, 45, 106, 115, 47, 109, 97, 115, // rtist-js/mas - 116, 101, 114, 47, 76, 73, 67, 69, 78, 83, 69, 45, // ter/LICENSE- - 87, 84, 70, 80, 76, 10, 32, 42, 32, 104, 116, 116, // WTFPL. * htt - 112, 115, 58, 47, 47, 114, 97, 119, 46, 103, 105, 116, // ps://raw.git - 104, 117, 98, 117, 115, 101, 114, 99, 111, 110, 116, 101, // hubuserconte - 110, 116, 46, 99, 111, 109, 47, 103, 105, 111, 110, 107, // nt.com/gionk - 117, 110, 122, 47, 99, 104, 97, 114, 116, 105, 115, 116, // unz/chartist - 45, 106, 115, 47, 109, 97, 115, 116, 101, 114, 47, 76, // -js/master/L - 73, 67, 69, 78, 83, 69, 45, 77, 73, 84, 10, 32, // ICENSE-MIT. - 42, 47, 10, 10, 33, 102, 117, 110, 99, 116, 105, 111, // */..!functio - 110, 40, 97, 44, 98, 41, 123, 34, 102, 117, 110, 99, // n(a,b){"func - 116, 105, 111, 110, 34, 61, 61, 116, 121, 112, 101, 111, // tion"==typeo - 102, 32, 100, 101, 102, 105, 110, 101, 38, 38, 100, 101, // f define&&de - 102, 105, 110, 101, 46, 97, 109, 100, 63, 100, 101, 102, // fine.amd?def - 105, 110, 101, 40, 34, 67, 104, 97, 114, 116, 105, 115, // ine("Chartis - 116, 34, 44, 91, 93, 44, 102, 117, 110, 99, 116, 105, // t",[],functi - 111, 110, 40, 41, 123, 114, 101, 116, 117, 114, 110, 32, // on(){return - 97, 46, 67, 104, 97, 114, 116, 105, 115, 116, 61, 98, // a.Chartist=b - 40, 41, 125, 41, 58, 34, 111, 98, 106, 101, 99, 116, // ()}):"object - 34, 61, 61, 116, 121, 112, 101, 111, 102, 32, 109, 111, // "==typeof mo - 100, 117, 108, 101, 38, 38, 109, 111, 100, 117, 108, 101, // dule&&module - 46, 101, 120, 112, 111, 114, 116, 115, 63, 109, 111, 100, // .exports?mod - 117, 108, 101, 46, 101, 120, 112, 111, 114, 116, 115, 61, // ule.exports= - 98, 40, 41, 58, 97, 46, 67, 104, 97, 114, 116, 105, // b():a.Charti - 115, 116, 61, 98, 40, 41, 125, 40, 116, 104, 105, 115, // st=b()}(this - 44, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 123, // ,function(){ - 118, 97, 114, 32, 97, 61, 123, 118, 101, 114, 115, 105, // var a={versi - 111, 110, 58, 34, 48, 46, 49, 49, 46, 52, 34, 125, // on:"0.11.4"} - 59, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, // ;return func - 116, 105, 111, 110, 40, 97, 44, 98, 41, 123, 34, 117, // tion(a,b){"u - 115, 101, 32, 115, 116, 114, 105, 99, 116, 34, 59, 118, // se strict";v - 97, 114, 32, 99, 61, 97, 46, 119, 105, 110, 100, 111, // ar c=a.windo - 119, 44, 100, 61, 97, 46, 100, 111, 99, 117, 109, 101, // w,d=a.docume - 110, 116, 59, 98, 46, 110, 97, 109, 101, 115, 112, 97, // nt;b.namespa - 99, 101, 115, 61, 123, 115, 118, 103, 58, 34, 104, 116, // ces={svg:"ht - 116, 112, 58, 47, 47, 119, 119, 119, 46, 119, 51, 46, // tp://www.w3. - 111, 114, 103, 47, 50, 48, 48, 48, 47, 115, 118, 103, // org/2000/svg - 34, 44, 120, 109, 108, 110, 115, 58, 34, 104, 116, 116, // ",xmlns:"htt - 112, 58, 47, 47, 119, 119, 119, 46, 119, 51, 46, 111, // p://www.w3.o - 114, 103, 47, 50, 48, 48, 48, 47, 120, 109, 108, 110, // rg/2000/xmln - 115, 47, 34, 44, 120, 104, 116, 109, 108, 58, 34, 104, // s/",xhtml:"h - 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 119, 51, // ttp://www.w3 - 46, 111, 114, 103, 47, 49, 57, 57, 57, 47, 120, 104, // .org/1999/xh - 116, 109, 108, 34, 44, 120, 108, 105, 110, 107, 58, 34, // tml",xlink:" - 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 119, // http://www.w - 51, 46, 111, 114, 103, 47, 49, 57, 57, 57, 47, 120, // 3.org/1999/x - 108, 105, 110, 107, 34, 44, 99, 116, 58, 34, 104, 116, // link",ct:"ht - 116, 112, 58, 47, 47, 103, 105, 111, 110, 107, 117, 110, // tp://gionkun - 122, 46, 103, 105, 116, 104, 117, 98, 46, 99, 111, 109, // z.github.com - 47, 99, 104, 97, 114, 116, 105, 115, 116, 45, 106, 115, // /chartist-js - 47, 99, 116, 34, 125, 44, 98, 46, 110, 111, 111, 112, // /ct"},b.noop - 61, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 41, // =function(a) - 123, 114, 101, 116, 117, 114, 110, 32, 97, 125, 44, 98, // {return a},b - 46, 97, 108, 112, 104, 97, 78, 117, 109, 101, 114, 97, // .alphaNumera - 116, 101, 61, 102, 117, 110, 99, 116, 105, 111, 110, 40, // te=function( - 97, 41, 123, 114, 101, 116, 117, 114, 110, 32, 83, 116, // a){return St - 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, // ring.fromCha - 114, 67, 111, 100, 101, 40, 57, 55, 43, 97, 37, 50, // rCode(97+a%2 - 54, 41, 125, 44, 98, 46, 101, 120, 116, 101, 110, 100, // 6)},b.extend - 61, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 41, // =function(a) - 123, 118, 97, 114, 32, 99, 44, 100, 44, 101, 59, 102, // {var c,d,e;f - 111, 114, 40, 97, 61, 97, 124, 124, 123, 125, 44, 99, // or(a=a||{},c - 61, 49, 59, 99, 60, 97, 114, 103, 117, 109, 101, 110, // =1;c":">",' - 34, 39, 58, 34, 38, 113, 117, 111, 116, 59, 34, 44, // "':""", - 34, 39, 34, 58, 34, 38, 35, 48, 51, 57, 59, 34, // "'":"'" - 125, 44, 98, 46, 115, 101, 114, 105, 97, 108, 105, 122, // },b.serializ - 101, 61, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, // e=function(a - 41, 123, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, // ){return nul - 108, 61, 61, 61, 97, 124, 124, 118, 111, 105, 100, 32, // l===a||void - 48, 61, 61, 61, 97, 63, 97, 58, 40, 34, 110, 117, // 0===a?a:("nu - 109, 98, 101, 114, 34, 61, 61, 116, 121, 112, 101, 111, // mber"==typeo - 102, 32, 97, 63, 97, 61, 34, 34, 43, 97, 58, 34, // f a?a=""+a:" - 111, 98, 106, 101, 99, 116, 34, 61, 61, 116, 121, 112, // object"==typ - 101, 111, 102, 32, 97, 38, 38, 40, 97, 61, 74, 83, // eof a&&(a=JS - 79, 78, 46, 115, 116, 114, 105, 110, 103, 105, 102, 121, // ON.stringify - 40, 123, 100, 97, 116, 97, 58, 97, 125, 41, 41, 44, // ({data:a})), - 79, 98, 106, 101, 99, 116, 46, 107, 101, 121, 115, 40, // Object.keys( - 98, 46, 101, 115, 99, 97, 112, 105, 110, 103, 77, 97, // b.escapingMa - 112, 41, 46, 114, 101, 100, 117, 99, 101, 40, 102, 117, // p).reduce(fu - 110, 99, 116, 105, 111, 110, 40, 97, 44, 99, 41, 123, // nction(a,c){ - 114, 101, 116, 117, 114, 110, 32, 98, 46, 114, 101, 112, // return b.rep - 108, 97, 99, 101, 65, 108, 108, 40, 97, 44, 99, 44, // laceAll(a,c, - 98, 46, 101, 115, 99, 97, 112, 105, 110, 103, 77, 97, // b.escapingMa - 112, 91, 99, 93, 41, 125, 44, 97, 41, 41, 125, 44, // p[c])},a))}, - 98, 46, 100, 101, 115, 101, 114, 105, 97, 108, 105, 122, // b.deserializ - 101, 61, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, // e=function(a - 41, 123, 105, 102, 40, 34, 115, 116, 114, 105, 110, 103, // ){if("string - 34, 33, 61, 116, 121, 112, 101, 111, 102, 32, 97, 41, // "!=typeof a) - 114, 101, 116, 117, 114, 110, 32, 97, 59, 97, 61, 79, // return a;a=O - 98, 106, 101, 99, 116, 46, 107, 101, 121, 115, 40, 98, // bject.keys(b - 46, 101, 115, 99, 97, 112, 105, 110, 103, 77, 97, 112, // .escapingMap - 41, 46, 114, 101, 100, 117, 99, 101, 40, 102, 117, 110, // ).reduce(fun - 99, 116, 105, 111, 110, 40, 97, 44, 99, 41, 123, 114, // ction(a,c){r - 101, 116, 117, 114, 110, 32, 98, 46, 114, 101, 112, 108, // eturn b.repl - 97, 99, 101, 65, 108, 108, 40, 97, 44, 98, 46, 101, // aceAll(a,b.e - 115, 99, 97, 112, 105, 110, 103, 77, 97, 112, 91, 99, // scapingMap[c - 93, 44, 99, 41, 125, 44, 97, 41, 59, 116, 114, 121, // ],c)},a);try - 123, 97, 61, 74, 83, 79, 78, 46, 112, 97, 114, 115, // {a=JSON.pars - 101, 40, 97, 41, 44, 97, 61, 118, 111, 105, 100, 32, // e(a),a=void - 48, 33, 61, 61, 97, 46, 100, 97, 116, 97, 63, 97, // 0!==a.data?a - 46, 100, 97, 116, 97, 58, 97, 125, 99, 97, 116, 99, // .data:a}catc - 104, 40, 99, 41, 123, 125, 114, 101, 116, 117, 114, 110, // h(c){}return - 32, 97, 125, 44, 98, 46, 99, 114, 101, 97, 116, 101, // a},b.create - 83, 118, 103, 61, 102, 117, 110, 99, 116, 105, 111, 110, // Svg=function - 40, 97, 44, 99, 44, 100, 44, 101, 41, 123, 118, 97, // (a,c,d,e){va - 114, 32, 102, 59, 114, 101, 116, 117, 114, 110, 32, 99, // r f;return c - 61, 99, 124, 124, 34, 49, 48, 48, 37, 34, 44, 100, // =c||"100%",d - 61, 100, 124, 124, 34, 49, 48, 48, 37, 34, 44, 65, // =d||"100%",A - 114, 114, 97, 121, 46, 112, 114, 111, 116, 111, 116, 121, // rray.prototy - 112, 101, 46, 115, 108, 105, 99, 101, 46, 99, 97, 108, // pe.slice.cal - 108, 40, 97, 46, 113, 117, 101, 114, 121, 83, 101, 108, // l(a.querySel - 101, 99, 116, 111, 114, 65, 108, 108, 40, 34, 115, 118, // ectorAll("sv - 103, 34, 41, 41, 46, 102, 105, 108, 116, 101, 114, 40, // g")).filter( - 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 41, 123, // function(a){ - 114, 101, 116, 117, 114, 110, 32, 97, 46, 103, 101, 116, // return a.get - 65, 116, 116, 114, 105, 98, 117, 116, 101, 78, 83, 40, // AttributeNS( - 98, 46, 110, 97, 109, 101, 115, 112, 97, 99, 101, 115, // b.namespaces - 46, 120, 109, 108, 110, 115, 44, 34, 99, 116, 34, 41, // .xmlns,"ct") - 125, 41, 46, 102, 111, 114, 69, 97, 99, 104, 40, 102, // }).forEach(f - 117, 110, 99, 116, 105, 111, 110, 40, 98, 41, 123, 97, // unction(b){a - 46, 114, 101, 109, 111, 118, 101, 67, 104, 105, 108, 100, // .removeChild - 40, 98, 41, 125, 41, 44, 102, 61, 110, 101, 119, 32, // (b)}),f=new - 98, 46, 83, 118, 103, 40, 34, 115, 118, 103, 34, 41, // b.Svg("svg") - 46, 97, 116, 116, 114, 40, 123, 119, 105, 100, 116, 104, // .attr({width - 58, 99, 44, 104, 101, 105, 103, 104, 116, 58, 100, 125, // :c,height:d} - 41, 46, 97, 100, 100, 67, 108, 97, 115, 115, 40, 101, // ).addClass(e - 41, 44, 102, 46, 95, 110, 111, 100, 101, 46, 115, 116, // ),f._node.st - 121, 108, 101, 46, 119, 105, 100, 116, 104, 61, 99, 44, // yle.width=c, - 102, 46, 95, 110, 111, 100, 101, 46, 115, 116, 121, 108, // f._node.styl - 101, 46, 104, 101, 105, 103, 104, 116, 61, 100, 44, 97, // e.height=d,a - 46, 97, 112, 112, 101, 110, 100, 67, 104, 105, 108, 100, // .appendChild - 40, 102, 46, 95, 110, 111, 100, 101, 41, 44, 102, 125, // (f._node),f} - 44, 98, 46, 110, 111, 114, 109, 97, 108, 105, 122, 101, // ,b.normalize - 68, 97, 116, 97, 61, 102, 117, 110, 99, 116, 105, 111, // Data=functio - 110, 40, 97, 44, 99, 44, 100, 41, 123, 118, 97, 114, // n(a,c,d){var - 32, 101, 44, 102, 61, 123, 114, 97, 119, 58, 97, 44, // e,f={raw:a, - 110, 111, 114, 109, 97, 108, 105, 122, 101, 100, 58, 123, // normalized:{ - 125, 125, 59, 114, 101, 116, 117, 114, 110, 32, 102, 46, // }};return f. - 110, 111, 114, 109, 97, 108, 105, 122, 101, 100, 46, 115, // normalized.s - 101, 114, 105, 101, 115, 61, 98, 46, 103, 101, 116, 68, // eries=b.getD - 97, 116, 97, 65, 114, 114, 97, 121, 40, 123, 115, 101, // ataArray({se - 114, 105, 101, 115, 58, 97, 46, 115, 101, 114, 105, 101, // ries:a.serie - 115, 124, 124, 91, 93, 125, 44, 99, 44, 100, 41, 44, // s||[]},c,d), - 101, 61, 102, 46, 110, 111, 114, 109, 97, 108, 105, 122, // e=f.normaliz - 101, 100, 46, 115, 101, 114, 105, 101, 115, 46, 101, 118, // ed.series.ev - 101, 114, 121, 40, 102, 117, 110, 99, 116, 105, 111, 110, // ery(function - 40, 97, 41, 123, 114, 101, 116, 117, 114, 110, 32, 97, // (a){return a - 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, // instanceof - 65, 114, 114, 97, 121, 125, 41, 63, 77, 97, 116, 104, // Array})?Math - 46, 109, 97, 120, 46, 97, 112, 112, 108, 121, 40, 110, // .max.apply(n - 117, 108, 108, 44, 102, 46, 110, 111, 114, 109, 97, 108, // ull,f.normal - 105, 122, 101, 100, 46, 115, 101, 114, 105, 101, 115, 46, // ized.series. - 109, 97, 112, 40, 102, 117, 110, 99, 116, 105, 111, 110, // map(function - 40, 97, 41, 123, 114, 101, 116, 117, 114, 110, 32, 97, // (a){return a - 46, 108, 101, 110, 103, 116, 104, 125, 41, 41, 58, 102, // .length})):f - 46, 110, 111, 114, 109, 97, 108, 105, 122, 101, 100, 46, // .normalized. - 115, 101, 114, 105, 101, 115, 46, 108, 101, 110, 103, 116, // series.lengt - 104, 44, 102, 46, 110, 111, 114, 109, 97, 108, 105, 122, // h,f.normaliz - 101, 100, 46, 108, 97, 98, 101, 108, 115, 61, 40, 97, // ed.labels=(a - 46, 108, 97, 98, 101, 108, 115, 124, 124, 91, 93, 41, // .labels||[]) - 46, 115, 108, 105, 99, 101, 40, 41, 44, 65, 114, 114, // .slice(),Arr - 97, 121, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, // ay.prototype - 46, 112, 117, 115, 104, 46, 97, 112, 112, 108, 121, 40, // .push.apply( - 102, 46, 110, 111, 114, 109, 97, 108, 105, 122, 101, 100, // f.normalized - 46, 108, 97, 98, 101, 108, 115, 44, 98, 46, 116, 105, // .labels,b.ti - 109, 101, 115, 40, 77, 97, 116, 104, 46, 109, 97, 120, // mes(Math.max - 40, 48, 44, 101, 45, 102, 46, 110, 111, 114, 109, 97, // (0,e-f.norma - 108, 105, 122, 101, 100, 46, 108, 97, 98, 101, 108, 115, // lized.labels - 46, 108, 101, 110, 103, 116, 104, 41, 41, 46, 109, 97, // .length)).ma - 112, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, // p(function() - 123, 114, 101, 116, 117, 114, 110, 34, 34, 125, 41, 41, // {return""})) - 44, 99, 38, 38, 98, 46, 114, 101, 118, 101, 114, 115, // ,c&&b.revers - 101, 68, 97, 116, 97, 40, 102, 46, 110, 111, 114, 109, // eData(f.norm - 97, 108, 105, 122, 101, 100, 41, 44, 102, 125, 44, 98, // alized),f},b - 46, 115, 97, 102, 101, 72, 97, 115, 80, 114, 111, 112, // .safeHasProp - 101, 114, 116, 121, 61, 102, 117, 110, 99, 116, 105, 111, // erty=functio - 110, 40, 97, 44, 98, 41, 123, 114, 101, 116, 117, 114, // n(a,b){retur - 110, 32, 110, 117, 108, 108, 33, 61, 61, 97, 38, 38, // n null!==a&& - 34, 111, 98, 106, 101, 99, 116, 34, 61, 61, 116, 121, // "object"==ty - 112, 101, 111, 102, 32, 97, 38, 38, 97, 46, 104, 97, // peof a&&a.ha - 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, // sOwnProperty - 40, 98, 41, 125, 44, 98, 46, 105, 115, 68, 97, 116, // (b)},b.isDat - 97, 72, 111, 108, 101, 86, 97, 108, 117, 101, 61, 102, // aHoleValue=f - 117, 110, 99, 116, 105, 111, 110, 40, 97, 41, 123, 114, // unction(a){r - 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 61, 61, // eturn null== - 61, 97, 124, 124, 118, 111, 105, 100, 32, 48, 61, 61, // =a||void 0== - 61, 97, 124, 124, 34, 110, 117, 109, 98, 101, 114, 34, // =a||"number" - 61, 61, 116, 121, 112, 101, 111, 102, 32, 97, 38, 38, // ==typeof a&& - 105, 115, 78, 97, 78, 40, 97, 41, 125, 44, 98, 46, // isNaN(a)},b. - 114, 101, 118, 101, 114, 115, 101, 68, 97, 116, 97, 61, // reverseData= - 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 41, 123, // function(a){ - 97, 46, 108, 97, 98, 101, 108, 115, 46, 114, 101, 118, // a.labels.rev - 101, 114, 115, 101, 40, 41, 44, 97, 46, 115, 101, 114, // erse(),a.ser - 105, 101, 115, 46, 114, 101, 118, 101, 114, 115, 101, 40, // ies.reverse( - 41, 59, 102, 111, 114, 40, 118, 97, 114, 32, 98, 61, // );for(var b= - 48, 59, 98, 60, 97, 46, 115, 101, 114, 105, 101, 115, // 0;bf.hi - 103, 104, 38, 38, 40, 102, 46, 104, 105, 103, 104, 61, // gh&&(f.high= - 99, 41, 44, 104, 38, 38, 99, 60, 102, 46, 108, 111, // c),h&&c0?f.low=0:( - 102, 46, 104, 105, 103, 104, 61, 49, 44, 102, 46, 108, // f.high=1,f.l - 111, 119, 61, 48, 41, 41, 44, 102, 125, 44, 98, 46, // ow=0)),f},b. - 105, 115, 78, 117, 109, 101, 114, 105, 99, 61, 102, 117, // isNumeric=fu - 110, 99, 116, 105, 111, 110, 40, 97, 41, 123, 114, 101, // nction(a){re - 116, 117, 114, 110, 32, 110, 117, 108, 108, 33, 61, 61, // turn null!== - 97, 38, 38, 105, 115, 70, 105, 110, 105, 116, 101, 40, // a&&isFinite( - 97, 41, 125, 44, 98, 46, 105, 115, 70, 97, 108, 115, // a)},b.isFals - 101, 121, 66, 117, 116, 90, 101, 114, 111, 61, 102, 117, // eyButZero=fu - 110, 99, 116, 105, 111, 110, 40, 97, 41, 123, 114, 101, // nction(a){re - 116, 117, 114, 110, 33, 97, 38, 38, 48, 33, 61, 61, // turn!a&&0!== - 97, 125, 44, 98, 46, 103, 101, 116, 78, 117, 109, 98, // a},b.getNumb - 101, 114, 79, 114, 85, 110, 100, 101, 102, 105, 110, 101, // erOrUndefine - 100, 61, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, // d=function(a - 41, 123, 114, 101, 116, 117, 114, 110, 32, 98, 46, 105, // ){return b.i - 115, 78, 117, 109, 101, 114, 105, 99, 40, 97, 41, 63, // sNumeric(a)? - 43, 97, 58, 118, 111, 105, 100, 32, 48, 125, 44, 98, // +a:void 0},b - 46, 105, 115, 77, 117, 108, 116, 105, 86, 97, 108, 117, // .isMultiValu - 101, 61, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, // e=function(a - 41, 123, 114, 101, 116, 117, 114, 110, 34, 111, 98, 106, // ){return"obj - 101, 99, 116, 34, 61, 61, 116, 121, 112, 101, 111, 102, // ect"==typeof - 32, 97, 38, 38, 40, 34, 120, 34, 105, 110, 32, 97, // a&&("x"in a - 124, 124, 34, 121, 34, 105, 110, 32, 97, 41, 125, 44, // ||"y"in a)}, - 98, 46, 103, 101, 116, 77, 117, 108, 116, 105, 86, 97, // b.getMultiVa - 108, 117, 101, 61, 102, 117, 110, 99, 116, 105, 111, 110, // lue=function - 40, 97, 44, 99, 41, 123, 114, 101, 116, 117, 114, 110, // (a,c){return - 32, 98, 46, 105, 115, 77, 117, 108, 116, 105, 86, 97, // b.isMultiVa - 108, 117, 101, 40, 97, 41, 63, 98, 46, 103, 101, 116, // lue(a)?b.get - 78, 117, 109, 98, 101, 114, 79, 114, 85, 110, 100, 101, // NumberOrUnde - 102, 105, 110, 101, 100, 40, 97, 91, 99, 124, 124, 34, // fined(a[c||" - 121, 34, 93, 41, 58, 98, 46, 103, 101, 116, 78, 117, // y"]):b.getNu - 109, 98, 101, 114, 79, 114, 85, 110, 100, 101, 102, 105, // mberOrUndefi - 110, 101, 100, 40, 97, 41, 125, 44, 98, 46, 114, 104, // ned(a)},b.rh - 111, 61, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, // o=function(a - 41, 123, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, // ){function b - 40, 97, 44, 99, 41, 123, 114, 101, 116, 117, 114, 110, // (a,c){return - 32, 97, 37, 99, 61, 61, 61, 48, 63, 99, 58, 98, // a%c===0?c:b - 40, 99, 44, 97, 37, 99, 41, 125, 102, 117, 110, 99, // (c,a%c)}func - 116, 105, 111, 110, 32, 99, 40, 97, 41, 123, 114, 101, // tion c(a){re - 116, 117, 114, 110, 32, 97, 42, 97, 43, 49, 125, 105, // turn a*a+1}i - 102, 40, 49, 61, 61, 61, 97, 41, 114, 101, 116, 117, // f(1===a)retu - 114, 110, 32, 97, 59, 118, 97, 114, 32, 100, 44, 101, // rn a;var d,e - 61, 50, 44, 102, 61, 50, 59, 105, 102, 40, 97, 37, // =2,f=2;if(a% - 50, 61, 61, 61, 48, 41, 114, 101, 116, 117, 114, 110, // 2===0)return - 32, 50, 59, 100, 111, 32, 101, 61, 99, 40, 101, 41, // 2;do e=c(e) - 37, 97, 44, 102, 61, 99, 40, 99, 40, 102, 41, 41, // %a,f=c(c(f)) - 37, 97, 44, 100, 61, 98, 40, 77, 97, 116, 104, 46, // %a,d=b(Math. - 97, 98, 115, 40, 101, 45, 102, 41, 44, 97, 41, 59, // abs(e-f),a); - 119, 104, 105, 108, 101, 40, 49, 61, 61, 61, 100, 41, // while(1===d) - 59, 114, 101, 116, 117, 114, 110, 32, 100, 125, 44, 98, // ;return d},b - 46, 103, 101, 116, 66, 111, 117, 110, 100, 115, 61, 102, // .getBounds=f - 117, 110, 99, 116, 105, 111, 110, 40, 97, 44, 99, 44, // unction(a,c, - 100, 44, 101, 41, 123, 102, 117, 110, 99, 116, 105, 111, // d,e){functio - 110, 32, 102, 40, 97, 44, 98, 41, 123, 114, 101, 116, // n f(a,b){ret - 117, 114, 110, 32, 97, 61, 61, 61, 40, 97, 43, 61, // urn a===(a+= - 98, 41, 38, 38, 40, 97, 42, 61, 49, 43, 40, 98, // b)&&(a*=1+(b - 62, 48, 63, 111, 58, 45, 111, 41, 41, 44, 97, 125, // >0?o:-o)),a} - 118, 97, 114, 32, 103, 44, 104, 44, 105, 44, 106, 61, // var g,h,i,j= - 48, 44, 107, 61, 123, 104, 105, 103, 104, 58, 99, 46, // 0,k={high:c. - 104, 105, 103, 104, 44, 108, 111, 119, 58, 99, 46, 108, // high,low:c.l - 111, 119, 125, 59, 107, 46, 118, 97, 108, 117, 101, 82, // ow};k.valueR - 97, 110, 103, 101, 61, 107, 46, 104, 105, 103, 104, 45, // ange=k.high- - 107, 46, 108, 111, 119, 44, 107, 46, 111, 111, 109, 61, // k.low,k.oom= - 98, 46, 111, 114, 100, 101, 114, 79, 102, 77, 97, 103, // b.orderOfMag - 110, 105, 116, 117, 100, 101, 40, 107, 46, 118, 97, 108, // nitude(k.val - 117, 101, 82, 97, 110, 103, 101, 41, 44, 107, 46, 115, // ueRange),k.s - 116, 101, 112, 61, 77, 97, 116, 104, 46, 112, 111, 119, // tep=Math.pow - 40, 49, 48, 44, 107, 46, 111, 111, 109, 41, 44, 107, // (10,k.oom),k - 46, 109, 105, 110, 61, 77, 97, 116, 104, 46, 102, 108, // .min=Math.fl - 111, 111, 114, 40, 107, 46, 108, 111, 119, 47, 107, 46, // oor(k.low/k. - 115, 116, 101, 112, 41, 42, 107, 46, 115, 116, 101, 112, // step)*k.step - 44, 107, 46, 109, 97, 120, 61, 77, 97, 116, 104, 46, // ,k.max=Math. - 99, 101, 105, 108, 40, 107, 46, 104, 105, 103, 104, 47, // ceil(k.high/ - 107, 46, 115, 116, 101, 112, 41, 42, 107, 46, 115, 116, // k.step)*k.st - 101, 112, 44, 107, 46, 114, 97, 110, 103, 101, 61, 107, // ep,k.range=k - 46, 109, 97, 120, 45, 107, 46, 109, 105, 110, 44, 107, // .max-k.min,k - 46, 110, 117, 109, 98, 101, 114, 79, 102, 83, 116, 101, // .numberOfSte - 112, 115, 61, 77, 97, 116, 104, 46, 114, 111, 117, 110, // ps=Math.roun - 100, 40, 107, 46, 114, 97, 110, 103, 101, 47, 107, 46, // d(k.range/k. - 115, 116, 101, 112, 41, 59, 118, 97, 114, 32, 108, 61, // step);var l= - 98, 46, 112, 114, 111, 106, 101, 99, 116, 76, 101, 110, // b.projectLen - 103, 116, 104, 40, 97, 44, 107, 46, 115, 116, 101, 112, // gth(a,k.step - 44, 107, 41, 44, 109, 61, 108, 60, 100, 44, 110, 61, // ,k),m=l - 61, 100, 41, 107, 46, 115, 116, 101, 112, 61, 49, 59, // =d)k.step=1; - 101, 108, 115, 101, 32, 105, 102, 40, 101, 38, 38, 110, // else if(e&&n - 60, 107, 46, 115, 116, 101, 112, 38, 38, 98, 46, 112, // =d)k - 46, 115, 116, 101, 112, 61, 110, 59, 101, 108, 115, 101, // .step=n;else - 32, 102, 111, 114, 40, 59, 59, 41, 123, 105, 102, 40, // for(;;){if( - 109, 38, 38, 98, 46, 112, 114, 111, 106, 101, 99, 116, // m&&b.project - 76, 101, 110, 103, 116, 104, 40, 97, 44, 107, 46, 115, // Length(a,k.s - 116, 101, 112, 44, 107, 41, 60, 61, 100, 41, 107, 46, // tep,k)<=d)k. - 115, 116, 101, 112, 42, 61, 50, 59, 101, 108, 115, 101, // step*=2;else - 123, 105, 102, 40, 109, 124, 124, 33, 40, 98, 46, 112, // {if(m||!(b.p - 114, 111, 106, 101, 99, 116, 76, 101, 110, 103, 116, 104, // rojectLength - 40, 97, 44, 107, 46, 115, 116, 101, 112, 47, 50, 44, // (a,k.step/2, - 107, 41, 62, 61, 100, 41, 41, 98, 114, 101, 97, 107, // k)>=d))break - 59, 105, 102, 40, 107, 46, 115, 116, 101, 112, 47, 61, // ;if(k.step/= - 50, 44, 101, 38, 38, 107, 46, 115, 116, 101, 112, 37, // 2,e&&k.step% - 49, 33, 61, 61, 48, 41, 123, 107, 46, 115, 116, 101, // 1!==0){k.ste - 112, 42, 61, 50, 59, 98, 114, 101, 97, 107, 125, 125, // p*=2;break}} - 105, 102, 40, 106, 43, 43, 62, 49, 101, 51, 41, 116, // if(j++>1e3)t - 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, // hrow new Err - 111, 114, 40, 34, 69, 120, 99, 101, 101, 100, 101, 100, // or("Exceeded - 32, 109, 97, 120, 105, 109, 117, 109, 32, 110, 117, 109, // maximum num - 98, 101, 114, 32, 111, 102, 32, 105, 116, 101, 114, 97, // ber of itera - 116, 105, 111, 110, 115, 32, 119, 104, 105, 108, 101, 32, // tions while - 111, 112, 116, 105, 109, 105, 122, 105, 110, 103, 32, 115, // optimizing s - 99, 97, 108, 101, 32, 115, 116, 101, 112, 33, 34, 41, // cale step!") - 125, 118, 97, 114, 32, 111, 61, 50, 46, 50, 50, 49, // }var o=2.221 - 101, 45, 49, 54, 59, 102, 111, 114, 40, 107, 46, 115, // e-16;for(k.s - 116, 101, 112, 61, 77, 97, 116, 104, 46, 109, 97, 120, // tep=Math.max - 40, 107, 46, 115, 116, 101, 112, 44, 111, 41, 44, 104, // (k.step,o),h - 61, 107, 46, 109, 105, 110, 44, 105, 61, 107, 46, 109, // =k.min,i=k.m - 97, 120, 59, 104, 43, 107, 46, 115, 116, 101, 112, 60, // ax;h+k.step< - 61, 107, 46, 108, 111, 119, 59, 41, 104, 61, 102, 40, // =k.low;)h=f( - 104, 44, 107, 46, 115, 116, 101, 112, 41, 59, 102, 111, // h,k.step);fo - 114, 40, 59, 105, 45, 107, 46, 115, 116, 101, 112, 62, // r(;i-k.step> - 61, 107, 46, 104, 105, 103, 104, 59, 41, 105, 61, 102, // =k.high;)i=f - 40, 105, 44, 45, 107, 46, 115, 116, 101, 112, 41, 59, // (i,-k.step); - 107, 46, 109, 105, 110, 61, 104, 44, 107, 46, 109, 97, // k.min=h,k.ma - 120, 61, 105, 44, 107, 46, 114, 97, 110, 103, 101, 61, // x=i,k.range= - 107, 46, 109, 97, 120, 45, 107, 46, 109, 105, 110, 59, // k.max-k.min; - 118, 97, 114, 32, 112, 61, 91, 93, 59, 102, 111, 114, // var p=[];for - 40, 103, 61, 107, 46, 109, 105, 110, 59, 103, 60, 61, // (g=k.min;g<= - 107, 46, 109, 97, 120, 59, 103, 61, 102, 40, 103, 44, // k.max;g=f(g, - 107, 46, 115, 116, 101, 112, 41, 41, 123, 118, 97, 114, // k.step)){var - 32, 113, 61, 98, 46, 114, 111, 117, 110, 100, 87, 105, // q=b.roundWi - 116, 104, 80, 114, 101, 99, 105, 115, 105, 111, 110, 40, // thPrecision( - 103, 41, 59, 113, 33, 61, 61, 112, 91, 112, 46, 108, // g);q!==p[p.l - 101, 110, 103, 116, 104, 45, 49, 93, 38, 38, 112, 46, // ength-1]&&p. - 112, 117, 115, 104, 40, 113, 41, 125, 114, 101, 116, 117, // push(q)}retu - 114, 110, 32, 107, 46, 118, 97, 108, 117, 101, 115, 61, // rn k.values= - 112, 44, 107, 125, 44, 98, 46, 112, 111, 108, 97, 114, // p,k},b.polar - 84, 111, 67, 97, 114, 116, 101, 115, 105, 97, 110, 61, // ToCartesian= - 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 44, 98, // function(a,b - 44, 99, 44, 100, 41, 123, 118, 97, 114, 32, 101, 61, // ,c,d){var e= - 40, 100, 45, 57, 48, 41, 42, 77, 97, 116, 104, 46, // (d-90)*Math. - 80, 73, 47, 49, 56, 48, 59, 114, 101, 116, 117, 114, // PI/180;retur - 110, 123, 120, 58, 97, 43, 99, 42, 77, 97, 116, 104, // n{x:a+c*Math - 46, 99, 111, 115, 40, 101, 41, 44, 121, 58, 98, 43, // .cos(e),y:b+ - 99, 42, 77, 97, 116, 104, 46, 115, 105, 110, 40, 101, // c*Math.sin(e - 41, 125, 125, 44, 98, 46, 99, 114, 101, 97, 116, 101, // )}},b.create - 67, 104, 97, 114, 116, 82, 101, 99, 116, 61, 102, 117, // ChartRect=fu - 110, 99, 116, 105, 111, 110, 40, 97, 44, 99, 44, 100, // nction(a,c,d - 41, 123, 118, 97, 114, 32, 101, 61, 33, 40, 33, 99, // ){var e=!(!c - 46, 97, 120, 105, 115, 88, 38, 38, 33, 99, 46, 97, // .axisX&&!c.a - 120, 105, 115, 89, 41, 44, 102, 61, 101, 63, 99, 46, // xisY),f=e?c. - 97, 120, 105, 115, 89, 46, 111, 102, 102, 115, 101, 116, // axisY.offset - 58, 48, 44, 103, 61, 101, 63, 99, 46, 97, 120, 105, // :0,g=e?c.axi - 115, 88, 46, 111, 102, 102, 115, 101, 116, 58, 48, 44, // sX.offset:0, - 104, 61, 97, 46, 119, 105, 100, 116, 104, 40, 41, 124, // h=a.width()| - 124, 98, 46, 113, 117, 97, 110, 116, 105, 116, 121, 40, // |b.quantity( - 99, 46, 119, 105, 100, 116, 104, 41, 46, 118, 97, 108, // c.width).val - 117, 101, 124, 124, 48, 44, 105, 61, 97, 46, 104, 101, // ue||0,i=a.he - 105, 103, 104, 116, 40, 41, 124, 124, 98, 46, 113, 117, // ight()||b.qu - 97, 110, 116, 105, 116, 121, 40, 99, 46, 104, 101, 105, // antity(c.hei - 103, 104, 116, 41, 46, 118, 97, 108, 117, 101, 124, 124, // ght).value|| - 48, 44, 106, 61, 98, 46, 110, 111, 114, 109, 97, 108, // 0,j=b.normal - 105, 122, 101, 80, 97, 100, 100, 105, 110, 103, 40, 99, // izePadding(c - 46, 99, 104, 97, 114, 116, 80, 97, 100, 100, 105, 110, // .chartPaddin - 103, 44, 100, 41, 59, 104, 61, 77, 97, 116, 104, 46, // g,d);h=Math. - 109, 97, 120, 40, 104, 44, 102, 43, 106, 46, 108, 101, // max(h,f+j.le - 102, 116, 43, 106, 46, 114, 105, 103, 104, 116, 41, 44, // ft+j.right), - 105, 61, 77, 97, 116, 104, 46, 109, 97, 120, 40, 105, // i=Math.max(i - 44, 103, 43, 106, 46, 116, 111, 112, 43, 106, 46, 98, // ,g+j.top+j.b - 111, 116, 116, 111, 109, 41, 59, 118, 97, 114, 32, 107, // ottom);var k - 61, 123, 112, 97, 100, 100, 105, 110, 103, 58, 106, 44, // ={padding:j, - 119, 105, 100, 116, 104, 58, 102, 117, 110, 99, 116, 105, // width:functi - 111, 110, 40, 41, 123, 114, 101, 116, 117, 114, 110, 32, // on(){return - 116, 104, 105, 115, 46, 120, 50, 45, 116, 104, 105, 115, // this.x2-this - 46, 120, 49, 125, 44, 104, 101, 105, 103, 104, 116, 58, // .x1},height: - 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 123, 114, // function(){r - 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 121, // eturn this.y - 49, 45, 116, 104, 105, 115, 46, 121, 50, 125, 125, 59, // 1-this.y2}}; - 114, 101, 116, 117, 114, 110, 32, 101, 63, 40, 34, 115, // return e?("s - 116, 97, 114, 116, 34, 61, 61, 61, 99, 46, 97, 120, // tart"===c.ax - 105, 115, 88, 46, 112, 111, 115, 105, 116, 105, 111, 110, // isX.position - 63, 40, 107, 46, 121, 50, 61, 106, 46, 116, 111, 112, // ?(k.y2=j.top - 43, 103, 44, 107, 46, 121, 49, 61, 77, 97, 116, 104, // +g,k.y1=Math - 46, 109, 97, 120, 40, 105, 45, 106, 46, 98, 111, 116, // .max(i-j.bot - 116, 111, 109, 44, 107, 46, 121, 50, 43, 49, 41, 41, // tom,k.y2+1)) - 58, 40, 107, 46, 121, 50, 61, 106, 46, 116, 111, 112, // :(k.y2=j.top - 44, 107, 46, 121, 49, 61, 77, 97, 116, 104, 46, 109, // ,k.y1=Math.m - 97, 120, 40, 105, 45, 106, 46, 98, 111, 116, 116, 111, // ax(i-j.botto - 109, 45, 103, 44, 107, 46, 121, 50, 43, 49, 41, 41, // m-g,k.y2+1)) - 44, 34, 115, 116, 97, 114, 116, 34, 61, 61, 61, 99, // ,"start"===c - 46, 97, 120, 105, 115, 89, 46, 112, 111, 115, 105, 116, // .axisY.posit - 105, 111, 110, 63, 40, 107, 46, 120, 49, 61, 106, 46, // ion?(k.x1=j. - 108, 101, 102, 116, 43, 102, 44, 107, 46, 120, 50, 61, // left+f,k.x2= - 77, 97, 116, 104, 46, 109, 97, 120, 40, 104, 45, 106, // Math.max(h-j - 46, 114, 105, 103, 104, 116, 44, 107, 46, 120, 49, 43, // .right,k.x1+ - 49, 41, 41, 58, 40, 107, 46, 120, 49, 61, 106, 46, // 1)):(k.x1=j. - 108, 101, 102, 116, 44, 107, 46, 120, 50, 61, 77, 97, // left,k.x2=Ma - 116, 104, 46, 109, 97, 120, 40, 104, 45, 106, 46, 114, // th.max(h-j.r - 105, 103, 104, 116, 45, 102, 44, 107, 46, 120, 49, 43, // ight-f,k.x1+ - 49, 41, 41, 41, 58, 40, 107, 46, 120, 49, 61, 106, // 1))):(k.x1=j - 46, 108, 101, 102, 116, 44, 107, 46, 120, 50, 61, 77, // .left,k.x2=M - 97, 116, 104, 46, 109, 97, 120, 40, 104, 45, 106, 46, // ath.max(h-j. - 114, 105, 103, 104, 116, 44, 107, 46, 120, 49, 43, 49, // right,k.x1+1 - 41, 44, 107, 46, 121, 50, 61, 106, 46, 116, 111, 112, // ),k.y2=j.top - 44, 107, 46, 121, 49, 61, 77, 97, 116, 104, 46, 109, // ,k.y1=Math.m - 97, 120, 40, 105, 45, 106, 46, 98, 111, 116, 116, 111, // ax(i-j.botto - 109, 44, 107, 46, 121, 50, 43, 49, 41, 41, 44, 107, // m,k.y2+1)),k - 125, 44, 98, 46, 99, 114, 101, 97, 116, 101, 71, 114, // },b.createGr - 105, 100, 61, 102, 117, 110, 99, 116, 105, 111, 110, 40, // id=function( - 97, 44, 99, 44, 100, 44, 101, 44, 102, 44, 103, 44, // a,c,d,e,f,g, - 104, 44, 105, 41, 123, 118, 97, 114, 32, 106, 61, 123, // h,i){var j={ - 125, 59, 106, 91, 100, 46, 117, 110, 105, 116, 115, 46, // };j[d.units. - 112, 111, 115, 43, 34, 49, 34, 93, 61, 97, 44, 106, // pos+"1"]=a,j - 91, 100, 46, 117, 110, 105, 116, 115, 46, 112, 111, 115, // [d.units.pos - 43, 34, 50, 34, 93, 61, 97, 44, 106, 91, 100, 46, // +"2"]=a,j[d. - 99, 111, 117, 110, 116, 101, 114, 85, 110, 105, 116, 115, // counterUnits - 46, 112, 111, 115, 43, 34, 49, 34, 93, 61, 101, 44, // .pos+"1"]=e, - 106, 91, 100, 46, 99, 111, 117, 110, 116, 101, 114, 85, // j[d.counterU - 110, 105, 116, 115, 46, 112, 111, 115, 43, 34, 50, 34, // nits.pos+"2" - 93, 61, 101, 43, 102, 59, 118, 97, 114, 32, 107, 61, // ]=e+f;var k= - 103, 46, 101, 108, 101, 109, 40, 34, 108, 105, 110, 101, // g.elem("line - 34, 44, 106, 44, 104, 46, 106, 111, 105, 110, 40, 34, // ",j,h.join(" - 32, 34, 41, 41, 59, 105, 46, 101, 109, 105, 116, 40, // "));i.emit( - 34, 100, 114, 97, 119, 34, 44, 98, 46, 101, 120, 116, // "draw",b.ext - 101, 110, 100, 40, 123, 116, 121, 112, 101, 58, 34, 103, // end({type:"g - 114, 105, 100, 34, 44, 97, 120, 105, 115, 58, 100, 44, // rid",axis:d, - 105, 110, 100, 101, 120, 58, 99, 44, 103, 114, 111, 117, // index:c,grou - 112, 58, 103, 44, 101, 108, 101, 109, 101, 110, 116, 58, // p:g,element: - 107, 125, 44, 106, 41, 41, 125, 44, 98, 46, 99, 114, // k},j))},b.cr - 101, 97, 116, 101, 71, 114, 105, 100, 66, 97, 99, 107, // eateGridBack - 103, 114, 111, 117, 110, 100, 61, 102, 117, 110, 99, 116, // ground=funct - 105, 111, 110, 40, 97, 44, 98, 44, 99, 44, 100, 41, // ion(a,b,c,d) - 123, 118, 97, 114, 32, 101, 61, 97, 46, 101, 108, 101, // {var e=a.ele - 109, 40, 34, 114, 101, 99, 116, 34, 44, 123, 120, 58, // m("rect",{x: - 98, 46, 120, 49, 44, 121, 58, 98, 46, 121, 50, 44, // b.x1,y:b.y2, - 119, 105, 100, 116, 104, 58, 98, 46, 119, 105, 100, 116, // width:b.widt - 104, 40, 41, 44, 104, 101, 105, 103, 104, 116, 58, 98, // h(),height:b - 46, 104, 101, 105, 103, 104, 116, 40, 41, 125, 44, 99, // .height()},c - 44, 33, 48, 41, 59, 100, 46, 101, 109, 105, 116, 40, // ,!0);d.emit( - 34, 100, 114, 97, 119, 34, 44, 123, 116, 121, 112, 101, // "draw",{type - 58, 34, 103, 114, 105, 100, 66, 97, 99, 107, 103, 114, // :"gridBackgr - 111, 117, 110, 100, 34, 44, 103, 114, 111, 117, 112, 58, // ound",group: - 97, 44, 101, 108, 101, 109, 101, 110, 116, 58, 101, 125, // a,element:e} - 41, 125, 44, 98, 46, 99, 114, 101, 97, 116, 101, 76, // )},b.createL - 97, 98, 101, 108, 61, 102, 117, 110, 99, 116, 105, 111, // abel=functio - 110, 40, 97, 44, 99, 44, 101, 44, 102, 44, 103, 44, // n(a,c,e,f,g, - 104, 44, 105, 44, 106, 44, 107, 44, 108, 44, 109, 41, // h,i,j,k,l,m) - 123, 118, 97, 114, 32, 110, 44, 111, 61, 123, 125, 59, // {var n,o={}; - 105, 102, 40, 111, 91, 103, 46, 117, 110, 105, 116, 115, // if(o[g.units - 46, 112, 111, 115, 93, 61, 97, 43, 105, 91, 103, 46, // .pos]=a+i[g. - 117, 110, 105, 116, 115, 46, 112, 111, 115, 93, 44, 111, // units.pos],o - 91, 103, 46, 99, 111, 117, 110, 116, 101, 114, 85, 110, // [g.counterUn - 105, 116, 115, 46, 112, 111, 115, 93, 61, 105, 91, 103, // its.pos]=i[g - 46, 99, 111, 117, 110, 116, 101, 114, 85, 110, 105, 116, // .counterUnit - 115, 46, 112, 111, 115, 93, 44, 111, 91, 103, 46, 117, // s.pos],o[g.u - 110, 105, 116, 115, 46, 108, 101, 110, 93, 61, 99, 44, // nits.len]=c, - 111, 91, 103, 46, 99, 111, 117, 110, 116, 101, 114, 85, // o[g.counterU - 110, 105, 116, 115, 46, 108, 101, 110, 93, 61, 77, 97, // nits.len]=Ma - 116, 104, 46, 109, 97, 120, 40, 48, 44, 104, 45, 49, // th.max(0,h-1 - 48, 41, 44, 108, 41, 123, 118, 97, 114, 32, 112, 61, // 0),l){var p= - 100, 46, 99, 114, 101, 97, 116, 101, 69, 108, 101, 109, // d.createElem - 101, 110, 116, 40, 34, 115, 112, 97, 110, 34, 41, 59, // ent("span"); - 112, 46, 99, 108, 97, 115, 115, 78, 97, 109, 101, 61, // p.className= - 107, 46, 106, 111, 105, 110, 40, 34, 32, 34, 41, 44, // k.join(" "), - 112, 46, 115, 101, 116, 65, 116, 116, 114, 105, 98, 117, // p.setAttribu - 116, 101, 40, 34, 120, 109, 108, 110, 115, 34, 44, 98, // te("xmlns",b - 46, 110, 97, 109, 101, 115, 112, 97, 99, 101, 115, 46, // .namespaces. - 120, 104, 116, 109, 108, 41, 44, 112, 46, 105, 110, 110, // xhtml),p.inn - 101, 114, 84, 101, 120, 116, 61, 102, 91, 101, 93, 44, // erText=f[e], - 112, 46, 115, 116, 121, 108, 101, 91, 103, 46, 117, 110, // p.style[g.un - 105, 116, 115, 46, 108, 101, 110, 93, 61, 77, 97, 116, // its.len]=Mat - 104, 46, 114, 111, 117, 110, 100, 40, 111, 91, 103, 46, // h.round(o[g. - 117, 110, 105, 116, 115, 46, 108, 101, 110, 93, 41, 43, // units.len])+ - 34, 112, 120, 34, 44, 112, 46, 115, 116, 121, 108, 101, // "px",p.style - 91, 103, 46, 99, 111, 117, 110, 116, 101, 114, 85, 110, // [g.counterUn - 105, 116, 115, 46, 108, 101, 110, 93, 61, 77, 97, 116, // its.len]=Mat - 104, 46, 114, 111, 117, 110, 100, 40, 111, 91, 103, 46, // h.round(o[g. - 99, 111, 117, 110, 116, 101, 114, 85, 110, 105, 116, 115, // counterUnits - 46, 108, 101, 110, 93, 41, 43, 34, 112, 120, 34, 44, // .len])+"px", - 110, 61, 106, 46, 102, 111, 114, 101, 105, 103, 110, 79, // n=j.foreignO - 98, 106, 101, 99, 116, 40, 112, 44, 98, 46, 101, 120, // bject(p,b.ex - 116, 101, 110, 100, 40, 123, 115, 116, 121, 108, 101, 58, // tend({style: - 34, 111, 118, 101, 114, 102, 108, 111, 119, 58, 32, 118, // "overflow: v - 105, 115, 105, 98, 108, 101, 59, 34, 125, 44, 111, 41, // isible;"},o) - 41, 125, 101, 108, 115, 101, 32, 110, 61, 106, 46, 101, // )}else n=j.e - 108, 101, 109, 40, 34, 116, 101, 120, 116, 34, 44, 111, // lem("text",o - 44, 107, 46, 106, 111, 105, 110, 40, 34, 32, 34, 41, // ,k.join(" ") - 41, 46, 116, 101, 120, 116, 40, 102, 91, 101, 93, 41, // ).text(f[e]) - 59, 109, 46, 101, 109, 105, 116, 40, 34, 100, 114, 97, // ;m.emit("dra - 119, 34, 44, 98, 46, 101, 120, 116, 101, 110, 100, 40, // w",b.extend( - 123, 116, 121, 112, 101, 58, 34, 108, 97, 98, 101, 108, // {type:"label - 34, 44, 97, 120, 105, 115, 58, 103, 44, 105, 110, 100, // ",axis:g,ind - 101, 120, 58, 101, 44, 103, 114, 111, 117, 112, 58, 106, // ex:e,group:j - 44, 101, 108, 101, 109, 101, 110, 116, 58, 110, 44, 116, // ,element:n,t - 101, 120, 116, 58, 102, 91, 101, 93, 125, 44, 111, 41, // ext:f[e]},o) - 41, 125, 44, 98, 46, 103, 101, 116, 83, 101, 114, 105, // )},b.getSeri - 101, 115, 79, 112, 116, 105, 111, 110, 61, 102, 117, 110, // esOption=fun - 99, 116, 105, 111, 110, 40, 97, 44, 98, 44, 99, 41, // ction(a,b,c) - 123, 105, 102, 40, 97, 46, 110, 97, 109, 101, 38, 38, // {if(a.name&& - 98, 46, 115, 101, 114, 105, 101, 115, 38, 38, 98, 46, // b.series&&b. - 115, 101, 114, 105, 101, 115, 91, 97, 46, 110, 97, 109, // series[a.nam - 101, 93, 41, 123, 118, 97, 114, 32, 100, 61, 98, 46, // e]){var d=b. - 115, 101, 114, 105, 101, 115, 91, 97, 46, 110, 97, 109, // series[a.nam - 101, 93, 59, 114, 101, 116, 117, 114, 110, 32, 100, 46, // e];return d. - 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, // hasOwnProper - 116, 121, 40, 99, 41, 63, 100, 91, 99, 93, 58, 98, // ty(c)?d[c]:b - 91, 99, 93, 125, 114, 101, 116, 117, 114, 110, 32, 98, // [c]}return b - 91, 99, 93, 125, 44, 98, 46, 111, 112, 116, 105, 111, // [c]},b.optio - 110, 115, 80, 114, 111, 118, 105, 100, 101, 114, 61, 102, // nsProvider=f - 117, 110, 99, 116, 105, 111, 110, 40, 97, 44, 100, 44, // unction(a,d, - 101, 41, 123, 102, 117, 110, 99, 116, 105, 111, 110, 32, // e){function - 102, 40, 97, 41, 123, 118, 97, 114, 32, 102, 61, 104, // f(a){var f=h - 59, 105, 102, 40, 104, 61, 98, 46, 101, 120, 116, 101, // ;if(h=b.exte - 110, 100, 40, 123, 125, 44, 106, 41, 44, 100, 41, 102, // nd({},j),d)f - 111, 114, 40, 105, 61, 48, 59, 105, 60, 100, 46, 108, // or(i=0;i=2&&a[h - 93, 60, 61, 97, 91, 104, 45, 50, 93, 38, 38, 40, // ]<=a[h-2]&&( - 103, 61, 33, 48, 41, 44, 103, 38, 38, 40, 102, 46, // g=!0),g&&(f. - 112, 117, 115, 104, 40, 123, 112, 97, 116, 104, 67, 111, // push({pathCo - 111, 114, 100, 105, 110, 97, 116, 101, 115, 58, 91, 93, // ordinates:[] - 44, 118, 97, 108, 117, 101, 68, 97, 116, 97, 58, 91, // ,valueData:[ - 93, 125, 41, 44, 103, 61, 33, 49, 41, 44, 102, 91, // ]}),g=!1),f[ - 102, 46, 108, 101, 110, 103, 116, 104, 45, 49, 93, 46, // f.length-1]. - 112, 97, 116, 104, 67, 111, 111, 114, 100, 105, 110, 97, // pathCoordina - 116, 101, 115, 46, 112, 117, 115, 104, 40, 97, 91, 104, // tes.push(a[h - 93, 44, 97, 91, 104, 43, 49, 93, 41, 44, 102, 91, // ],a[h+1]),f[ - 102, 46, 108, 101, 110, 103, 116, 104, 45, 49, 93, 46, // f.length-1]. - 118, 97, 108, 117, 101, 68, 97, 116, 97, 46, 112, 117, // valueData.pu - 115, 104, 40, 99, 91, 104, 47, 50, 93, 41, 41, 59, // sh(c[h/2])); - 114, 101, 116, 117, 114, 110, 32, 102, 125, 125, 40, 116, // return f}}(t - 104, 105, 115, 124, 124, 103, 108, 111, 98, 97, 108, 44, // his||global, - 97, 41, 44, 102, 117, 110, 99, 116, 105, 111, 110, 40, // a),function( - 97, 44, 98, 41, 123, 34, 117, 115, 101, 32, 115, 116, // a,b){"use st - 114, 105, 99, 116, 34, 59, 98, 46, 73, 110, 116, 101, // rict";b.Inte - 114, 112, 111, 108, 97, 116, 105, 111, 110, 61, 123, 125, // rpolation={} - 44, 98, 46, 73, 110, 116, 101, 114, 112, 111, 108, 97, // ,b.Interpola - 116, 105, 111, 110, 46, 110, 111, 110, 101, 61, 102, 117, // tion.none=fu - 110, 99, 116, 105, 111, 110, 40, 97, 41, 123, 118, 97, // nction(a){va - 114, 32, 99, 61, 123, 102, 105, 108, 108, 72, 111, 108, // r c={fillHol - 101, 115, 58, 33, 49, 125, 59, 114, 101, 116, 117, 114, // es:!1};retur - 110, 32, 97, 61, 98, 46, 101, 120, 116, 101, 110, 100, // n a=b.extend - 40, 123, 125, 44, 99, 44, 97, 41, 44, 102, 117, 110, // ({},c,a),fun - 99, 116, 105, 111, 110, 40, 99, 44, 100, 41, 123, 102, // ction(c,d){f - 111, 114, 40, 118, 97, 114, 32, 101, 61, 110, 101, 119, // or(var e=new - 32, 98, 46, 83, 118, 103, 46, 80, 97, 116, 104, 44, // b.Svg.Path, - 102, 61, 33, 48, 44, 103, 61, 48, 59, 103, 60, 99, // f=!0,g=0;g1) - 123, 118, 97, 114, 32, 105, 61, 91, 93, 59, 114, 101, // {var i=[];re - 116, 117, 114, 110, 32, 104, 46, 102, 111, 114, 69, 97, // turn h.forEa - 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, // ch(function( - 97, 41, 123, 105, 46, 112, 117, 115, 104, 40, 102, 40, // a){i.push(f( - 97, 46, 112, 97, 116, 104, 67, 111, 111, 114, 100, 105, // a.pathCoordi - 110, 97, 116, 101, 115, 44, 97, 46, 118, 97, 108, 117, // nates,a.valu - 101, 68, 97, 116, 97, 41, 41, 125, 41, 44, 98, 46, // eData))}),b. - 83, 118, 103, 46, 80, 97, 116, 104, 46, 106, 111, 105, // Svg.Path.joi - 110, 40, 105, 41, 125, 105, 102, 40, 99, 61, 104, 91, // n(i)}if(c=h[ - 48, 93, 46, 112, 97, 116, 104, 67, 111, 111, 114, 100, // 0].pathCoord - 105, 110, 97, 116, 101, 115, 44, 103, 61, 104, 91, 48, // inates,g=h[0 - 93, 46, 118, 97, 108, 117, 101, 68, 97, 116, 97, 44, // ].valueData, - 99, 46, 108, 101, 110, 103, 116, 104, 60, 61, 52, 41, // c.length<=4) - 114, 101, 116, 117, 114, 110, 32, 98, 46, 73, 110, 116, // return b.Int - 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 46, 110, // erpolation.n - 111, 110, 101, 40, 41, 40, 99, 44, 103, 41, 59, 102, // one()(c,g);f - 111, 114, 40, 118, 97, 114, 32, 106, 44, 107, 61, 40, // or(var j,k=( - 110, 101, 119, 32, 98, 46, 83, 118, 103, 46, 80, 97, // new b.Svg.Pa - 116, 104, 41, 46, 109, 111, 118, 101, 40, 99, 91, 48, // th).move(c[0 - 93, 44, 99, 91, 49, 93, 44, 33, 49, 44, 103, 91, // ],c[1],!1,g[ - 48, 93, 41, 44, 108, 61, 48, 44, 109, 61, 99, 46, // 0]),l=0,m=c. - 108, 101, 110, 103, 116, 104, 59, 109, 45, 50, 42, 33, // length;m-2*! - 106, 62, 108, 59, 108, 43, 61, 50, 41, 123, 118, 97, // j>l;l+=2){va - 114, 32, 110, 61, 91, 123, 120, 58, 43, 99, 91, 108, // r n=[{x:+c[l - 45, 50, 93, 44, 121, 58, 43, 99, 91, 108, 45, 49, // -2],y:+c[l-1 - 93, 125, 44, 123, 120, 58, 43, 99, 91, 108, 93, 44, // ]},{x:+c[l], - 121, 58, 43, 99, 91, 108, 43, 49, 93, 125, 44, 123, // y:+c[l+1]},{ - 120, 58, 43, 99, 91, 108, 43, 50, 93, 44, 121, 58, // x:+c[l+2],y: - 43, 99, 91, 108, 43, 51, 93, 125, 44, 123, 120, 58, // +c[l+3]},{x: - 43, 99, 91, 108, 43, 52, 93, 44, 121, 58, 43, 99, // +c[l+4],y:+c - 91, 108, 43, 53, 93, 125, 93, 59, 106, 63, 108, 63, // [l+5]}];j?l? - 109, 45, 52, 61, 61, 61, 108, 63, 110, 91, 51, 93, // m-4===l?n[3] - 61, 123, 120, 58, 43, 99, 91, 48, 93, 44, 121, 58, // ={x:+c[0],y: - 43, 99, 91, 49, 93, 125, 58, 109, 45, 50, 61, 61, // +c[1]}:m-2== - 61, 108, 38, 38, 40, 110, 91, 50, 93, 61, 123, 120, // =l&&(n[2]={x - 58, 43, 99, 91, 48, 93, 44, 121, 58, 43, 99, 91, // :+c[0],y:+c[ - 49, 93, 125, 44, 110, 91, 51, 93, 61, 123, 120, 58, // 1]},n[3]={x: - 43, 99, 91, 50, 93, 44, 121, 58, 43, 99, 91, 51, // +c[2],y:+c[3 - 93, 125, 41, 58, 110, 91, 48, 93, 61, 123, 120, 58, // ]}):n[0]={x: - 43, 99, 91, 109, 45, 50, 93, 44, 121, 58, 43, 99, // +c[m-2],y:+c - 91, 109, 45, 49, 93, 125, 58, 109, 45, 52, 61, 61, // [m-1]}:m-4== - 61, 108, 63, 110, 91, 51, 93, 61, 110, 91, 50, 93, // =l?n[3]=n[2] - 58, 108, 124, 124, 40, 110, 91, 48, 93, 61, 123, 120, // :l||(n[0]={x - 58, 43, 99, 91, 108, 93, 44, 121, 58, 43, 99, 91, // :+c[l],y:+c[ - 108, 43, 49, 93, 125, 41, 44, 107, 46, 99, 117, 114, // l+1]}),k.cur - 118, 101, 40, 100, 42, 40, 45, 110, 91, 48, 93, 46, // ve(d*(-n[0]. - 120, 43, 54, 42, 110, 91, 49, 93, 46, 120, 43, 110, // x+6*n[1].x+n - 91, 50, 93, 46, 120, 41, 47, 54, 43, 101, 42, 110, // [2].x)/6+e*n - 91, 50, 93, 46, 120, 44, 100, 42, 40, 45, 110, 91, // [2].x,d*(-n[ - 48, 93, 46, 121, 43, 54, 42, 110, 91, 49, 93, 46, // 0].y+6*n[1]. - 121, 43, 110, 91, 50, 93, 46, 121, 41, 47, 54, 43, // y+n[2].y)/6+ - 101, 42, 110, 91, 50, 93, 46, 121, 44, 100, 42, 40, // e*n[2].y,d*( - 110, 91, 49, 93, 46, 120, 43, 54, 42, 110, 91, 50, // n[1].x+6*n[2 - 93, 46, 120, 45, 110, 91, 51, 93, 46, 120, 41, 47, // ].x-n[3].x)/ - 54, 43, 101, 42, 110, 91, 50, 93, 46, 120, 44, 100, // 6+e*n[2].x,d - 42, 40, 110, 91, 49, 93, 46, 121, 43, 54, 42, 110, // *(n[1].y+6*n - 91, 50, 93, 46, 121, 45, 110, 91, 51, 93, 46, 121, // [2].y-n[3].y - 41, 47, 54, 43, 101, 42, 110, 91, 50, 93, 46, 121, // )/6+e*n[2].y - 44, 110, 91, 50, 93, 46, 120, 44, 110, 91, 50, 93, // ,n[2].x,n[2] - 46, 121, 44, 33, 49, 44, 103, 91, 40, 108, 43, 50, // .y,!1,g[(l+2 - 41, 47, 50, 93, 41, 125, 114, 101, 116, 117, 114, 110, // )/2])}return - 32, 107, 125, 114, 101, 116, 117, 114, 110, 32, 98, 46, // k}return b. - 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, // Interpolatio - 110, 46, 110, 111, 110, 101, 40, 41, 40, 91, 93, 41, // n.none()([]) - 125, 125, 44, 98, 46, 73, 110, 116, 101, 114, 112, 111, // }},b.Interpo - 108, 97, 116, 105, 111, 110, 46, 109, 111, 110, 111, 116, // lation.monot - 111, 110, 101, 67, 117, 98, 105, 99, 61, 102, 117, 110, // oneCubic=fun - 99, 116, 105, 111, 110, 40, 97, 41, 123, 118, 97, 114, // ction(a){var - 32, 99, 61, 123, 102, 105, 108, 108, 72, 111, 108, 101, // c={fillHole - 115, 58, 33, 49, 125, 59, 114, 101, 116, 117, 114, 110, // s:!1};return - 32, 97, 61, 98, 46, 101, 120, 116, 101, 110, 100, 40, // a=b.extend( - 123, 125, 44, 99, 44, 97, 41, 44, 102, 117, 110, 99, // {},c,a),func - 116, 105, 111, 110, 32, 100, 40, 99, 44, 101, 41, 123, // tion d(c,e){ - 118, 97, 114, 32, 102, 61, 98, 46, 115, 112, 108, 105, // var f=b.spli - 116, 73, 110, 116, 111, 83, 101, 103, 109, 101, 110, 116, // tIntoSegment - 115, 40, 99, 44, 101, 44, 123, 102, 105, 108, 108, 72, // s(c,e,{fillH - 111, 108, 101, 115, 58, 97, 46, 102, 105, 108, 108, 72, // oles:a.fillH - 111, 108, 101, 115, 44, 105, 110, 99, 114, 101, 97, 115, // oles,increas - 105, 110, 103, 88, 58, 33, 48, 125, 41, 59, 105, 102, // ingX:!0});if - 40, 102, 46, 108, 101, 110, 103, 116, 104, 41, 123, 105, // (f.length){i - 102, 40, 102, 46, 108, 101, 110, 103, 116, 104, 62, 49, // f(f.length>1 - 41, 123, 118, 97, 114, 32, 103, 61, 91, 93, 59, 114, // ){var g=[];r - 101, 116, 117, 114, 110, 32, 102, 46, 102, 111, 114, 69, // eturn f.forE - 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, 110, // ach(function - 40, 97, 41, 123, 103, 46, 112, 117, 115, 104, 40, 100, // (a){g.push(d - 40, 97, 46, 112, 97, 116, 104, 67, 111, 111, 114, 100, // (a.pathCoord - 105, 110, 97, 116, 101, 115, 44, 97, 46, 118, 97, 108, // inates,a.val - 117, 101, 68, 97, 116, 97, 41, 41, 125, 41, 44, 98, // ueData))}),b - 46, 83, 118, 103, 46, 80, 97, 116, 104, 46, 106, 111, // .Svg.Path.jo - 105, 110, 40, 103, 41, 125, 105, 102, 40, 99, 61, 102, // in(g)}if(c=f - 91, 48, 93, 46, 112, 97, 116, 104, 67, 111, 111, 114, // [0].pathCoor - 100, 105, 110, 97, 116, 101, 115, 44, 101, 61, 102, 91, // dinates,e=f[ - 48, 93, 46, 118, 97, 108, 117, 101, 68, 97, 116, 97, // 0].valueData - 44, 99, 46, 108, 101, 110, 103, 116, 104, 60, 61, 52, // ,c.length<=4 - 41, 114, 101, 116, 117, 114, 110, 32, 98, 46, 73, 110, // )return b.In - 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 46, // terpolation. - 110, 111, 110, 101, 40, 41, 40, 99, 44, 101, 41, 59, // none()(c,e); - 118, 97, 114, 32, 104, 44, 105, 44, 106, 61, 91, 93, // var h,i,j=[] - 44, 107, 61, 91, 93, 44, 108, 61, 99, 46, 108, 101, // ,k=[],l=c.le - 110, 103, 116, 104, 47, 50, 44, 109, 61, 91, 93, 44, // ngth/2,m=[], - 110, 61, 91, 93, 44, 111, 61, 91, 93, 44, 112, 61, // n=[],o=[],p= - 91, 93, 59, 102, 111, 114, 40, 104, 61, 48, 59, 104, // [];for(h=0;h - 60, 108, 59, 104, 43, 43, 41, 106, 91, 104, 93, 61, // 0!=n[h]>0 - 63, 109, 91, 104, 93, 61, 48, 58, 40, 109, 91, 104, // ?m[h]=0:(m[h - 93, 61, 51, 42, 40, 112, 91, 104, 45, 49, 93, 43, // ]=3*(p[h-1]+ - 112, 91, 104, 93, 41, 47, 40, 40, 50, 42, 112, 91, // p[h])/((2*p[ - 104, 93, 43, 112, 91, 104, 45, 49, 93, 41, 47, 110, // h]+p[h-1])/n - 91, 104, 45, 49, 93, 43, 40, 112, 91, 104, 93, 43, // [h-1]+(p[h]+ - 50, 42, 112, 91, 104, 45, 49, 93, 41, 47, 110, 91, // 2*p[h-1])/n[ - 104, 93, 41, 44, 105, 115, 70, 105, 110, 105, 116, 101, // h]),isFinite - 40, 109, 91, 104, 93, 41, 124, 124, 40, 109, 91, 104, // (m[h])||(m[h - 93, 61, 48, 41, 41, 59, 102, 111, 114, 40, 105, 61, // ]=0));for(i= - 40, 110, 101, 119, 32, 98, 46, 83, 118, 103, 46, 80, // (new b.Svg.P - 97, 116, 104, 41, 46, 109, 111, 118, 101, 40, 106, 91, // ath).move(j[ - 48, 93, 44, 107, 91, 48, 93, 44, 33, 49, 44, 101, // 0],k[0],!1,e - 91, 48, 93, 41, 44, 104, 61, 48, 59, 104, 60, 108, // [0]),h=0;h1 - 125, 41, 46, 109, 97, 112, 40, 102, 117, 110, 99, 116, // }).map(funct - 105, 111, 110, 40, 97, 41, 123, 118, 97, 114, 32, 98, // ion(a){var b - 61, 97, 46, 112, 97, 116, 104, 69, 108, 101, 109, 101, // =a.pathEleme - 110, 116, 115, 91, 48, 93, 44, 99, 61, 97, 46, 112, // nts[0],c=a.p - 97, 116, 104, 69, 108, 101, 109, 101, 110, 116, 115, 91, // athElements[ - 97, 46, 112, 97, 116, 104, 69, 108, 101, 109, 101, 110, // a.pathElemen - 116, 115, 46, 108, 101, 110, 103, 116, 104, 45, 49, 93, // ts.length-1] - 59, 114, 101, 116, 117, 114, 110, 32, 97, 46, 99, 108, // ;return a.cl - 111, 110, 101, 40, 33, 48, 41, 46, 112, 111, 115, 105, // one(!0).posi - 116, 105, 111, 110, 40, 48, 41, 46, 114, 101, 109, 111, // tion(0).remo - 118, 101, 40, 49, 41, 46, 109, 111, 118, 101, 40, 98, // ve(1).move(b - 46, 120, 44, 114, 41, 46, 108, 105, 110, 101, 40, 98, // .x,r).line(b - 46, 120, 44, 98, 46, 121, 41, 46, 112, 111, 115, 105, // .x,b.y).posi - 116, 105, 111, 110, 40, 97, 46, 112, 97, 116, 104, 69, // tion(a.pathE - 108, 101, 109, 101, 110, 116, 115, 46, 108, 101, 110, 103, // lements.leng - 116, 104, 43, 49, 41, 46, 108, 105, 110, 101, 40, 99, // th+1).line(c - 46, 120, 44, 114, 41, 125, 41, 46, 102, 111, 114, 69, // .x,r)}).forE - 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, 110, // ach(function - 40, 98, 41, 123, 118, 97, 114, 32, 104, 61, 105, 46, // (b){var h=i. - 101, 108, 101, 109, 40, 34, 112, 97, 116, 104, 34, 44, // elem("path", - 123, 100, 58, 98, 46, 115, 116, 114, 105, 110, 103, 105, // {d:b.stringi - 102, 121, 40, 41, 125, 44, 97, 46, 99, 108, 97, 115, // fy()},a.clas - 115, 78, 97, 109, 101, 115, 46, 97, 114, 101, 97, 44, // sNames.area, - 33, 48, 41, 59, 116, 104, 105, 115, 46, 101, 118, 101, // !0);this.eve - 110, 116, 69, 109, 105, 116, 116, 101, 114, 46, 101, 109, // ntEmitter.em - 105, 116, 40, 34, 100, 114, 97, 119, 34, 44, 123, 116, // it("draw",{t - 121, 112, 101, 58, 34, 97, 114, 101, 97, 34, 44, 118, // ype:"area",v - 97, 108, 117, 101, 115, 58, 99, 46, 110, 111, 114, 109, // alues:c.norm - 97, 108, 105, 122, 101, 100, 46, 115, 101, 114, 105, 101, // alized.serie - 115, 91, 103, 93, 44, 112, 97, 116, 104, 58, 98, 46, // s[g],path:b. - 99, 108, 111, 110, 101, 40, 41, 44, 115, 101, 114, 105, // clone(),seri - 101, 115, 58, 101, 44, 115, 101, 114, 105, 101, 115, 73, // es:e,seriesI - 110, 100, 101, 120, 58, 103, 44, 97, 120, 105, 115, 88, // ndex:g,axisX - 58, 100, 44, 97, 120, 105, 115, 89, 58, 102, 44, 99, // :d,axisY:f,c - 104, 97, 114, 116, 82, 101, 99, 116, 58, 106, 44, 105, // hartRect:j,i - 110, 100, 101, 120, 58, 103, 44, 103, 114, 111, 117, 112, // ndex:g,group - 58, 105, 44, 101, 108, 101, 109, 101, 110, 116, 58, 104, // :i,element:h - 125, 41, 125, 46, 98, 105, 110, 100, 40, 116, 104, 105, // })}.bind(thi - 115, 41, 41, 125, 125, 46, 98, 105, 110, 100, 40, 116, // s))}}.bind(t - 104, 105, 115, 41, 41, 44, 116, 104, 105, 115, 46, 101, // his)),this.e - 118, 101, 110, 116, 69, 109, 105, 116, 116, 101, 114, 46, // ventEmitter. - 101, 109, 105, 116, 40, 34, 99, 114, 101, 97, 116, 101, // emit("create - 100, 34, 44, 123, 98, 111, 117, 110, 100, 115, 58, 102, // d",{bounds:f - 46, 98, 111, 117, 110, 100, 115, 44, 99, 104, 97, 114, // .bounds,char - 116, 82, 101, 99, 116, 58, 106, 44, 97, 120, 105, 115, // tRect:j,axis - 88, 58, 100, 44, 97, 120, 105, 115, 89, 58, 102, 44, // X:d,axisY:f, - 115, 118, 103, 58, 116, 104, 105, 115, 46, 115, 118, 103, // svg:this.svg - 44, 111, 112, 116, 105, 111, 110, 115, 58, 97, 125, 41, // ,options:a}) - 125, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 40, // }function d( - 97, 44, 99, 44, 100, 44, 102, 41, 123, 98, 46, 76, // a,c,d,f){b.L - 105, 110, 101, 91, 34, 115, 117, 112, 101, 114, 34, 93, // ine["super"] - 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, // .constructor - 46, 99, 97, 108, 108, 40, 116, 104, 105, 115, 44, 97, // .call(this,a - 44, 99, 44, 101, 44, 98, 46, 101, 120, 116, 101, 110, // ,c,e,b.exten - 100, 40, 123, 125, 44, 101, 44, 100, 41, 44, 102, 41, // d({},e,d),f) - 125, 118, 97, 114, 32, 101, 61, 40, 97, 46, 119, 105, // }var e=(a.wi - 110, 100, 111, 119, 44, 97, 46, 100, 111, 99, 117, 109, // ndow,a.docum - 101, 110, 116, 44, 123, 97, 120, 105, 115, 88, 58, 123, // ent,{axisX:{ - 111, 102, 102, 115, 101, 116, 58, 51, 48, 44, 112, 111, // offset:30,po - 115, 105, 116, 105, 111, 110, 58, 34, 101, 110, 100, 34, // sition:"end" - 44, 108, 97, 98, 101, 108, 79, 102, 102, 115, 101, 116, // ,labelOffset - 58, 123, 120, 58, 48, 44, 121, 58, 48, 125, 44, 115, // :{x:0,y:0},s - 104, 111, 119, 76, 97, 98, 101, 108, 58, 33, 48, 44, // howLabel:!0, - 115, 104, 111, 119, 71, 114, 105, 100, 58, 33, 48, 44, // showGrid:!0, - 108, 97, 98, 101, 108, 73, 110, 116, 101, 114, 112, 111, // labelInterpo - 108, 97, 116, 105, 111, 110, 70, 110, 99, 58, 98, 46, // lationFnc:b. - 110, 111, 111, 112, 44, 116, 121, 112, 101, 58, 118, 111, // noop,type:vo - 105, 100, 32, 48, 125, 44, 97, 120, 105, 115, 89, 58, // id 0},axisY: - 123, 111, 102, 102, 115, 101, 116, 58, 52, 48, 44, 112, // {offset:40,p - 111, 115, 105, 116, 105, 111, 110, 58, 34, 115, 116, 97, // osition:"sta - 114, 116, 34, 44, 108, 97, 98, 101, 108, 79, 102, 102, // rt",labelOff - 115, 101, 116, 58, 123, 120, 58, 48, 44, 121, 58, 48, // set:{x:0,y:0 - 125, 44, 115, 104, 111, 119, 76, 97, 98, 101, 108, 58, // },showLabel: - 33, 48, 44, 115, 104, 111, 119, 71, 114, 105, 100, 58, // !0,showGrid: - 33, 48, 44, 108, 97, 98, 101, 108, 73, 110, 116, 101, // !0,labelInte - 114, 112, 111, 108, 97, 116, 105, 111, 110, 70, 110, 99, // rpolationFnc - 58, 98, 46, 110, 111, 111, 112, 44, 116, 121, 112, 101, // :b.noop,type - 58, 118, 111, 105, 100, 32, 48, 44, 115, 99, 97, 108, // :void 0,scal - 101, 77, 105, 110, 83, 112, 97, 99, 101, 58, 50, 48, // eMinSpace:20 - 44, 111, 110, 108, 121, 73, 110, 116, 101, 103, 101, 114, // ,onlyInteger - 58, 33, 49, 125, 44, 119, 105, 100, 116, 104, 58, 118, // :!1},width:v - 111, 105, 100, 32, 48, 44, 104, 101, 105, 103, 104, 116, // oid 0,height - 58, 118, 111, 105, 100, 32, 48, 44, 115, 104, 111, 119, // :void 0,show - 76, 105, 110, 101, 58, 33, 48, 44, 115, 104, 111, 119, // Line:!0,show - 80, 111, 105, 110, 116, 58, 33, 48, 44, 115, 104, 111, // Point:!0,sho - 119, 65, 114, 101, 97, 58, 33, 49, 44, 97, 114, 101, // wArea:!1,are - 97, 66, 97, 115, 101, 58, 48, 44, 108, 105, 110, 101, // aBase:0,line - 83, 109, 111, 111, 116, 104, 58, 33, 48, 44, 115, 104, // Smooth:!0,sh - 111, 119, 71, 114, 105, 100, 66, 97, 99, 107, 103, 114, // owGridBackgr - 111, 117, 110, 100, 58, 33, 49, 44, 108, 111, 119, 58, // ound:!1,low: - 118, 111, 105, 100, 32, 48, 44, 104, 105, 103, 104, 58, // void 0,high: - 118, 111, 105, 100, 32, 48, 44, 99, 104, 97, 114, 116, // void 0,chart - 80, 97, 100, 100, 105, 110, 103, 58, 123, 116, 111, 112, // Padding:{top - 58, 49, 53, 44, 114, 105, 103, 104, 116, 58, 49, 53, // :15,right:15 - 44, 98, 111, 116, 116, 111, 109, 58, 53, 44, 108, 101, // ,bottom:5,le - 102, 116, 58, 49, 48, 125, 44, 102, 117, 108, 108, 87, // ft:10},fullW - 105, 100, 116, 104, 58, 33, 49, 44, 114, 101, 118, 101, // idth:!1,reve - 114, 115, 101, 68, 97, 116, 97, 58, 33, 49, 44, 99, // rseData:!1,c - 108, 97, 115, 115, 78, 97, 109, 101, 115, 58, 123, 99, // lassNames:{c - 104, 97, 114, 116, 58, 34, 99, 116, 45, 99, 104, 97, // hart:"ct-cha - 114, 116, 45, 108, 105, 110, 101, 34, 44, 108, 97, 98, // rt-line",lab - 101, 108, 58, 34, 99, 116, 45, 108, 97, 98, 101, 108, // el:"ct-label - 34, 44, 108, 97, 98, 101, 108, 71, 114, 111, 117, 112, // ",labelGroup - 58, 34, 99, 116, 45, 108, 97, 98, 101, 108, 115, 34, // :"ct-labels" - 44, 115, 101, 114, 105, 101, 115, 58, 34, 99, 116, 45, // ,series:"ct- - 115, 101, 114, 105, 101, 115, 34, 44, 108, 105, 110, 101, // series",line - 58, 34, 99, 116, 45, 108, 105, 110, 101, 34, 44, 112, // :"ct-line",p - 111, 105, 110, 116, 58, 34, 99, 116, 45, 112, 111, 105, // oint:"ct-poi - 110, 116, 34, 44, 97, 114, 101, 97, 58, 34, 99, 116, // nt",area:"ct - 45, 97, 114, 101, 97, 34, 44, 103, 114, 105, 100, 58, // -area",grid: - 34, 99, 116, 45, 103, 114, 105, 100, 34, 44, 103, 114, // "ct-grid",gr - 105, 100, 71, 114, 111, 117, 112, 58, 34, 99, 116, 45, // idGroup:"ct- - 103, 114, 105, 100, 115, 34, 44, 103, 114, 105, 100, 66, // grids",gridB - 97, 99, 107, 103, 114, 111, 117, 110, 100, 58, 34, 99, // ackground:"c - 116, 45, 103, 114, 105, 100, 45, 98, 97, 99, 107, 103, // t-grid-backg - 114, 111, 117, 110, 100, 34, 44, 118, 101, 114, 116, 105, // round",verti - 99, 97, 108, 58, 34, 99, 116, 45, 118, 101, 114, 116, // cal:"ct-vert - 105, 99, 97, 108, 34, 44, 104, 111, 114, 105, 122, 111, // ical",horizo - 110, 116, 97, 108, 58, 34, 99, 116, 45, 104, 111, 114, // ntal:"ct-hor - 105, 122, 111, 110, 116, 97, 108, 34, 44, 115, 116, 97, // izontal",sta - 114, 116, 58, 34, 99, 116, 45, 115, 116, 97, 114, 116, // rt:"ct-start - 34, 44, 101, 110, 100, 58, 34, 99, 116, 45, 101, 110, // ",end:"ct-en - 100, 34, 125, 125, 41, 59, 98, 46, 76, 105, 110, 101, // d"}});b.Line - 61, 98, 46, 66, 97, 115, 101, 46, 101, 120, 116, 101, // =b.Base.exte - 110, 100, 40, 123, 99, 111, 110, 115, 116, 114, 117, 99, // nd({construc - 116, 111, 114, 58, 100, 44, 99, 114, 101, 97, 116, 101, // tor:d,create - 67, 104, 97, 114, 116, 58, 99, 125, 41, 125, 40, 116, // Chart:c})}(t - 104, 105, 115, 124, 124, 103, 108, 111, 98, 97, 108, 44, // his||global, - 97, 41, 44, 102, 117, 110, 99, 116, 105, 111, 110, 40, // a),function( - 97, 44, 98, 41, 123, 34, 117, 115, 101, 32, 115, 116, // a,b){"use st - 114, 105, 99, 116, 34, 59, 102, 117, 110, 99, 116, 105, // rict";functi - 111, 110, 32, 99, 40, 97, 41, 123, 118, 97, 114, 32, // on c(a){var - 99, 44, 100, 59, 97, 46, 100, 105, 115, 116, 114, 105, // c,d;a.distri - 98, 117, 116, 101, 83, 101, 114, 105, 101, 115, 63, 40, // buteSeries?( - 99, 61, 98, 46, 110, 111, 114, 109, 97, 108, 105, 122, // c=b.normaliz - 101, 68, 97, 116, 97, 40, 116, 104, 105, 115, 46, 100, // eData(this.d - 97, 116, 97, 44, 97, 46, 114, 101, 118, 101, 114, 115, // ata,a.revers - 101, 68, 97, 116, 97, 44, 97, 46, 104, 111, 114, 105, // eData,a.hori - 122, 111, 110, 116, 97, 108, 66, 97, 114, 115, 63, 34, // zontalBars?" - 120, 34, 58, 34, 121, 34, 41, 44, 99, 46, 110, 111, // x":"y"),c.no - 114, 109, 97, 108, 105, 122, 101, 100, 46, 115, 101, 114, // rmalized.ser - 105, 101, 115, 61, 99, 46, 110, 111, 114, 109, 97, 108, // ies=c.normal - 105, 122, 101, 100, 46, 115, 101, 114, 105, 101, 115, 46, // ized.series. - 109, 97, 112, 40, 102, 117, 110, 99, 116, 105, 111, 110, // map(function - 40, 97, 41, 123, 114, 101, 116, 117, 114, 110, 91, 97, // (a){return[a - 93, 125, 41, 41, 58, 99, 61, 98, 46, 110, 111, 114, // ]})):c=b.nor - 109, 97, 108, 105, 122, 101, 68, 97, 116, 97, 40, 116, // malizeData(t - 104, 105, 115, 46, 100, 97, 116, 97, 44, 97, 46, 114, // his.data,a.r - 101, 118, 101, 114, 115, 101, 68, 97, 116, 97, 44, 97, // everseData,a - 46, 104, 111, 114, 105, 122, 111, 110, 116, 97, 108, 66, // .horizontalB - 97, 114, 115, 63, 34, 120, 34, 58, 34, 121, 34, 41, // ars?"x":"y") - 44, 116, 104, 105, 115, 46, 115, 118, 103, 61, 98, 46, // ,this.svg=b. - 99, 114, 101, 97, 116, 101, 83, 118, 103, 40, 116, 104, // createSvg(th - 105, 115, 46, 99, 111, 110, 116, 97, 105, 110, 101, 114, // is.container - 44, 97, 46, 119, 105, 100, 116, 104, 44, 97, 46, 104, // ,a.width,a.h - 101, 105, 103, 104, 116, 44, 97, 46, 99, 108, 97, 115, // eight,a.clas - 115, 78, 97, 109, 101, 115, 46, 99, 104, 97, 114, 116, // sNames.chart - 43, 40, 97, 46, 104, 111, 114, 105, 122, 111, 110, 116, // +(a.horizont - 97, 108, 66, 97, 114, 115, 63, 34, 32, 34, 43, 97, // alBars?" "+a - 46, 99, 108, 97, 115, 115, 78, 97, 109, 101, 115, 46, // .classNames. - 104, 111, 114, 105, 122, 111, 110, 116, 97, 108, 66, 97, // horizontalBa - 114, 115, 58, 34, 34, 41, 41, 59, 118, 97, 114, 32, // rs:""));var - 102, 61, 116, 104, 105, 115, 46, 115, 118, 103, 46, 101, // f=this.svg.e - 108, 101, 109, 40, 34, 103, 34, 41, 46, 97, 100, 100, // lem("g").add - 67, 108, 97, 115, 115, 40, 97, 46, 99, 108, 97, 115, // Class(a.clas - 115, 78, 97, 109, 101, 115, 46, 103, 114, 105, 100, 71, // sNames.gridG - 114, 111, 117, 112, 41, 44, 103, 61, 116, 104, 105, 115, // roup),g=this - 46, 115, 118, 103, 46, 101, 108, 101, 109, 40, 34, 103, // .svg.elem("g - 34, 41, 44, 104, 61, 116, 104, 105, 115, 46, 115, 118, // "),h=this.sv - 103, 46, 101, 108, 101, 109, 40, 34, 103, 34, 41, 46, // g.elem("g"). - 97, 100, 100, 67, 108, 97, 115, 115, 40, 97, 46, 99, // addClass(a.c - 108, 97, 115, 115, 78, 97, 109, 101, 115, 46, 108, 97, // lassNames.la - 98, 101, 108, 71, 114, 111, 117, 112, 41, 59, 10, 105, // belGroup);.i - 102, 40, 97, 46, 115, 116, 97, 99, 107, 66, 97, 114, // f(a.stackBar - 115, 38, 38, 48, 33, 61, 61, 99, 46, 110, 111, 114, // s&&0!==c.nor - 109, 97, 108, 105, 122, 101, 100, 46, 115, 101, 114, 105, // malized.seri - 101, 115, 46, 108, 101, 110, 103, 116, 104, 41, 123, 118, // es.length){v - 97, 114, 32, 105, 61, 98, 46, 115, 101, 114, 105, 97, // ar i=b.seria - 108, 77, 97, 112, 40, 99, 46, 110, 111, 114, 109, 97, // lMap(c.norma - 108, 105, 122, 101, 100, 46, 115, 101, 114, 105, 101, 115, // lized.series - 44, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 123, // ,function(){ - 114, 101, 116, 117, 114, 110, 32, 65, 114, 114, 97, 121, // return Array - 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 115, // .prototype.s - 108, 105, 99, 101, 46, 99, 97, 108, 108, 40, 97, 114, // lice.call(ar - 103, 117, 109, 101, 110, 116, 115, 41, 46, 109, 97, 112, // guments).map - 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 41, // (function(a) - 123, 114, 101, 116, 117, 114, 110, 32, 97, 125, 41, 46, // {return a}). - 114, 101, 100, 117, 99, 101, 40, 102, 117, 110, 99, 116, // reduce(funct - 105, 111, 110, 40, 97, 44, 98, 41, 123, 114, 101, 116, // ion(a,b){ret - 117, 114, 110, 123, 120, 58, 97, 46, 120, 43, 40, 98, // urn{x:a.x+(b - 38, 38, 98, 46, 120, 41, 124, 124, 48, 44, 121, 58, // &&b.x)||0,y: - 97, 46, 121, 43, 40, 98, 38, 38, 98, 46, 121, 41, // a.y+(b&&b.y) - 124, 124, 48, 125, 125, 44, 123, 120, 58, 48, 44, 121, // ||0}},{x:0,y - 58, 48, 125, 41, 125, 41, 59, 100, 61, 98, 46, 103, // :0})});d=b.g - 101, 116, 72, 105, 103, 104, 76, 111, 119, 40, 91, 105, // etHighLow([i - 93, 44, 97, 44, 97, 46, 104, 111, 114, 105, 122, 111, // ],a,a.horizo - 110, 116, 97, 108, 66, 97, 114, 115, 63, 34, 120, 34, // ntalBars?"x" - 58, 34, 121, 34, 41, 125, 101, 108, 115, 101, 32, 100, // :"y")}else d - 61, 98, 46, 103, 101, 116, 72, 105, 103, 104, 76, 111, // =b.getHighLo - 119, 40, 99, 46, 110, 111, 114, 109, 97, 108, 105, 122, // w(c.normaliz - 101, 100, 46, 115, 101, 114, 105, 101, 115, 44, 97, 44, // ed.series,a, - 97, 46, 104, 111, 114, 105, 122, 111, 110, 116, 97, 108, // a.horizontal - 66, 97, 114, 115, 63, 34, 120, 34, 58, 34, 121, 34, // Bars?"x":"y" - 41, 59, 100, 46, 104, 105, 103, 104, 61, 43, 97, 46, // );d.high=+a. - 104, 105, 103, 104, 124, 124, 40, 48, 61, 61, 61, 97, // high||(0===a - 46, 104, 105, 103, 104, 63, 48, 58, 100, 46, 104, 105, // .high?0:d.hi - 103, 104, 41, 44, 100, 46, 108, 111, 119, 61, 43, 97, // gh),d.low=+a - 46, 108, 111, 119, 124, 124, 40, 48, 61, 61, 61, 97, // .low||(0===a - 46, 108, 111, 119, 63, 48, 58, 100, 46, 108, 111, 119, // .low?0:d.low - 41, 59, 118, 97, 114, 32, 106, 44, 107, 44, 108, 44, // );var j,k,l, - 109, 44, 110, 44, 111, 61, 98, 46, 99, 114, 101, 97, // m,n,o=b.crea - 116, 101, 67, 104, 97, 114, 116, 82, 101, 99, 116, 40, // teChartRect( - 116, 104, 105, 115, 46, 115, 118, 103, 44, 97, 44, 101, // this.svg,a,e - 46, 112, 97, 100, 100, 105, 110, 103, 41, 59, 107, 61, // .padding);k= - 97, 46, 100, 105, 115, 116, 114, 105, 98, 117, 116, 101, // a.distribute - 83, 101, 114, 105, 101, 115, 38, 38, 97, 46, 115, 116, // Series&&a.st - 97, 99, 107, 66, 97, 114, 115, 63, 99, 46, 110, 111, // ackBars?c.no - 114, 109, 97, 108, 105, 122, 101, 100, 46, 108, 97, 98, // rmalized.lab - 101, 108, 115, 46, 115, 108, 105, 99, 101, 40, 48, 44, // els.slice(0, - 49, 41, 58, 99, 46, 110, 111, 114, 109, 97, 108, 105, // 1):c.normali - 122, 101, 100, 46, 108, 97, 98, 101, 108, 115, 44, 97, // zed.labels,a - 46, 104, 111, 114, 105, 122, 111, 110, 116, 97, 108, 66, // .horizontalB - 97, 114, 115, 63, 40, 106, 61, 109, 61, 118, 111, 105, // ars?(j=m=voi - 100, 32, 48, 61, 61, 61, 97, 46, 97, 120, 105, 115, // d 0===a.axis - 88, 46, 116, 121, 112, 101, 63, 110, 101, 119, 32, 98, // X.type?new b - 46, 65, 117, 116, 111, 83, 99, 97, 108, 101, 65, 120, // .AutoScaleAx - 105, 115, 40, 98, 46, 65, 120, 105, 115, 46, 117, 110, // is(b.Axis.un - 105, 116, 115, 46, 120, 44, 99, 46, 110, 111, 114, 109, // its.x,c.norm - 97, 108, 105, 122, 101, 100, 46, 115, 101, 114, 105, 101, // alized.serie - 115, 44, 111, 44, 98, 46, 101, 120, 116, 101, 110, 100, // s,o,b.extend - 40, 123, 125, 44, 97, 46, 97, 120, 105, 115, 88, 44, // ({},a.axisX, - 123, 104, 105, 103, 104, 76, 111, 119, 58, 100, 44, 114, // {highLow:d,r - 101, 102, 101, 114, 101, 110, 99, 101, 86, 97, 108, 117, // eferenceValu - 101, 58, 48, 125, 41, 41, 58, 97, 46, 97, 120, 105, // e:0})):a.axi - 115, 88, 46, 116, 121, 112, 101, 46, 99, 97, 108, 108, // sX.type.call - 40, 98, 44, 98, 46, 65, 120, 105, 115, 46, 117, 110, // (b,b.Axis.un - 105, 116, 115, 46, 120, 44, 99, 46, 110, 111, 114, 109, // its.x,c.norm - 97, 108, 105, 122, 101, 100, 46, 115, 101, 114, 105, 101, // alized.serie - 115, 44, 111, 44, 98, 46, 101, 120, 116, 101, 110, 100, // s,o,b.extend - 40, 123, 125, 44, 97, 46, 97, 120, 105, 115, 88, 44, // ({},a.axisX, - 123, 104, 105, 103, 104, 76, 111, 119, 58, 100, 44, 114, // {highLow:d,r - 101, 102, 101, 114, 101, 110, 99, 101, 86, 97, 108, 117, // eferenceValu - 101, 58, 48, 125, 41, 41, 44, 108, 61, 110, 61, 118, // e:0})),l=n=v - 111, 105, 100, 32, 48, 61, 61, 61, 97, 46, 97, 120, // oid 0===a.ax - 105, 115, 89, 46, 116, 121, 112, 101, 63, 110, 101, 119, // isY.type?new - 32, 98, 46, 83, 116, 101, 112, 65, 120, 105, 115, 40, // b.StepAxis( - 98, 46, 65, 120, 105, 115, 46, 117, 110, 105, 116, 115, // b.Axis.units - 46, 121, 44, 99, 46, 110, 111, 114, 109, 97, 108, 105, // .y,c.normali - 122, 101, 100, 46, 115, 101, 114, 105, 101, 115, 44, 111, // zed.series,o - 44, 123, 116, 105, 99, 107, 115, 58, 107, 125, 41, 58, // ,{ticks:k}): - 97, 46, 97, 120, 105, 115, 89, 46, 116, 121, 112, 101, // a.axisY.type - 46, 99, 97, 108, 108, 40, 98, 44, 98, 46, 65, 120, // .call(b,b.Ax - 105, 115, 46, 117, 110, 105, 116, 115, 46, 121, 44, 99, // is.units.y,c - 46, 110, 111, 114, 109, 97, 108, 105, 122, 101, 100, 46, // .normalized. - 115, 101, 114, 105, 101, 115, 44, 111, 44, 97, 46, 97, // series,o,a.a - 120, 105, 115, 89, 41, 41, 58, 40, 108, 61, 109, 61, // xisY)):(l=m= - 118, 111, 105, 100, 32, 48, 61, 61, 61, 97, 46, 97, // void 0===a.a - 120, 105, 115, 88, 46, 116, 121, 112, 101, 63, 110, 101, // xisX.type?ne - 119, 32, 98, 46, 83, 116, 101, 112, 65, 120, 105, 115, // w b.StepAxis - 40, 98, 46, 65, 120, 105, 115, 46, 117, 110, 105, 116, // (b.Axis.unit - 115, 46, 120, 44, 99, 46, 110, 111, 114, 109, 97, 108, // s.x,c.normal - 105, 122, 101, 100, 46, 115, 101, 114, 105, 101, 115, 44, // ized.series, - 111, 44, 123, 116, 105, 99, 107, 115, 58, 107, 125, 41, // o,{ticks:k}) - 58, 97, 46, 97, 120, 105, 115, 88, 46, 116, 121, 112, // :a.axisX.typ - 101, 46, 99, 97, 108, 108, 40, 98, 44, 98, 46, 65, // e.call(b,b.A - 120, 105, 115, 46, 117, 110, 105, 116, 115, 46, 120, 44, // xis.units.x, - 99, 46, 110, 111, 114, 109, 97, 108, 105, 122, 101, 100, // c.normalized - 46, 115, 101, 114, 105, 101, 115, 44, 111, 44, 97, 46, // .series,o,a. - 97, 120, 105, 115, 88, 41, 44, 106, 61, 110, 61, 118, // axisX),j=n=v - 111, 105, 100, 32, 48, 61, 61, 61, 97, 46, 97, 120, // oid 0===a.ax - 105, 115, 89, 46, 116, 121, 112, 101, 63, 110, 101, 119, // isY.type?new - 32, 98, 46, 65, 117, 116, 111, 83, 99, 97, 108, 101, // b.AutoScale - 65, 120, 105, 115, 40, 98, 46, 65, 120, 105, 115, 46, // Axis(b.Axis. - 117, 110, 105, 116, 115, 46, 121, 44, 99, 46, 110, 111, // units.y,c.no - 114, 109, 97, 108, 105, 122, 101, 100, 46, 115, 101, 114, // rmalized.ser - 105, 101, 115, 44, 111, 44, 98, 46, 101, 120, 116, 101, // ies,o,b.exte - 110, 100, 40, 123, 125, 44, 97, 46, 97, 120, 105, 115, // nd({},a.axis - 89, 44, 123, 104, 105, 103, 104, 76, 111, 119, 58, 100, // Y,{highLow:d - 44, 114, 101, 102, 101, 114, 101, 110, 99, 101, 86, 97, // ,referenceVa - 108, 117, 101, 58, 48, 125, 41, 41, 58, 97, 46, 97, // lue:0})):a.a - 120, 105, 115, 89, 46, 116, 121, 112, 101, 46, 99, 97, // xisY.type.ca - 108, 108, 40, 98, 44, 98, 46, 65, 120, 105, 115, 46, // ll(b,b.Axis. - 117, 110, 105, 116, 115, 46, 121, 44, 99, 46, 110, 111, // units.y,c.no - 114, 109, 97, 108, 105, 122, 101, 100, 46, 115, 101, 114, // rmalized.ser - 105, 101, 115, 44, 111, 44, 98, 46, 101, 120, 116, 101, // ies,o,b.exte - 110, 100, 40, 123, 125, 44, 97, 46, 97, 120, 105, 115, // nd({},a.axis - 89, 44, 123, 104, 105, 103, 104, 76, 111, 119, 58, 100, // Y,{highLow:d - 44, 114, 101, 102, 101, 114, 101, 110, 99, 101, 86, 97, // ,referenceVa - 108, 117, 101, 58, 48, 125, 41, 41, 41, 59, 118, 97, // lue:0})));va - 114, 32, 112, 61, 97, 46, 104, 111, 114, 105, 122, 111, // r p=a.horizo - 110, 116, 97, 108, 66, 97, 114, 115, 63, 111, 46, 120, // ntalBars?o.x - 49, 43, 106, 46, 112, 114, 111, 106, 101, 99, 116, 86, // 1+j.projectV - 97, 108, 117, 101, 40, 48, 41, 58, 111, 46, 121, 49, // alue(0):o.y1 - 45, 106, 46, 112, 114, 111, 106, 101, 99, 116, 86, 97, // -j.projectVa - 108, 117, 101, 40, 48, 41, 44, 113, 61, 91, 93, 59, // lue(0),q=[]; - 108, 46, 99, 114, 101, 97, 116, 101, 71, 114, 105, 100, // l.createGrid - 65, 110, 100, 76, 97, 98, 101, 108, 115, 40, 102, 44, // AndLabels(f, - 104, 44, 116, 104, 105, 115, 46, 115, 117, 112, 112, 111, // h,this.suppo - 114, 116, 115, 70, 111, 114, 101, 105, 103, 110, 79, 98, // rtsForeignOb - 106, 101, 99, 116, 44, 97, 44, 116, 104, 105, 115, 46, // ject,a,this. - 101, 118, 101, 110, 116, 69, 109, 105, 116, 116, 101, 114, // eventEmitter - 41, 44, 106, 46, 99, 114, 101, 97, 116, 101, 71, 114, // ),j.createGr - 105, 100, 65, 110, 100, 76, 97, 98, 101, 108, 115, 40, // idAndLabels( - 102, 44, 104, 44, 116, 104, 105, 115, 46, 115, 117, 112, // f,h,this.sup - 112, 111, 114, 116, 115, 70, 111, 114, 101, 105, 103, 110, // portsForeign - 79, 98, 106, 101, 99, 116, 44, 97, 44, 116, 104, 105, // Object,a,thi - 115, 46, 101, 118, 101, 110, 116, 69, 109, 105, 116, 116, // s.eventEmitt - 101, 114, 41, 44, 97, 46, 115, 104, 111, 119, 71, 114, // er),a.showGr - 105, 100, 66, 97, 99, 107, 103, 114, 111, 117, 110, 100, // idBackground - 38, 38, 98, 46, 99, 114, 101, 97, 116, 101, 71, 114, // &&b.createGr - 105, 100, 66, 97, 99, 107, 103, 114, 111, 117, 110, 100, // idBackground - 40, 102, 44, 111, 44, 97, 46, 99, 108, 97, 115, 115, // (f,o,a.class - 78, 97, 109, 101, 115, 46, 103, 114, 105, 100, 66, 97, // Names.gridBa - 99, 107, 103, 114, 111, 117, 110, 100, 44, 116, 104, 105, // ckground,thi - 115, 46, 101, 118, 101, 110, 116, 69, 109, 105, 116, 116, // s.eventEmitt - 101, 114, 41, 44, 99, 46, 114, 97, 119, 46, 115, 101, // er),c.raw.se - 114, 105, 101, 115, 46, 102, 111, 114, 69, 97, 99, 104, // ries.forEach - 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 44, // (function(d, - 101, 41, 123, 118, 97, 114, 32, 102, 44, 104, 44, 105, // e){var f,h,i - 61, 101, 45, 40, 99, 46, 114, 97, 119, 46, 115, 101, // =e-(c.raw.se - 114, 105, 101, 115, 46, 108, 101, 110, 103, 116, 104, 45, // ries.length- - 49, 41, 47, 50, 59, 102, 61, 97, 46, 100, 105, 115, // 1)/2;f=a.dis - 116, 114, 105, 98, 117, 116, 101, 83, 101, 114, 105, 101, // tributeSerie - 115, 38, 38, 33, 97, 46, 115, 116, 97, 99, 107, 66, // s&&!a.stackB - 97, 114, 115, 63, 108, 46, 97, 120, 105, 115, 76, 101, // ars?l.axisLe - 110, 103, 116, 104, 47, 99, 46, 110, 111, 114, 109, 97, // ngth/c.norma - 108, 105, 122, 101, 100, 46, 115, 101, 114, 105, 101, 115, // lized.series - 46, 108, 101, 110, 103, 116, 104, 47, 50, 58, 97, 46, // .length/2:a. - 100, 105, 115, 116, 114, 105, 98, 117, 116, 101, 83, 101, // distributeSe - 114, 105, 101, 115, 38, 38, 97, 46, 115, 116, 97, 99, // ries&&a.stac - 107, 66, 97, 114, 115, 63, 108, 46, 97, 120, 105, 115, // kBars?l.axis - 76, 101, 110, 103, 116, 104, 47, 50, 58, 108, 46, 97, // Length/2:l.a - 120, 105, 115, 76, 101, 110, 103, 116, 104, 47, 99, 46, // xisLength/c. - 110, 111, 114, 109, 97, 108, 105, 122, 101, 100, 46, 115, // normalized.s - 101, 114, 105, 101, 115, 91, 101, 93, 46, 108, 101, 110, // eries[e].len - 103, 116, 104, 47, 50, 44, 104, 61, 103, 46, 101, 108, // gth/2,h=g.el - 101, 109, 40, 34, 103, 34, 41, 44, 104, 46, 97, 116, // em("g"),h.at - 116, 114, 40, 123, 34, 99, 116, 58, 115, 101, 114, 105, // tr({"ct:seri - 101, 115, 45, 110, 97, 109, 101, 34, 58, 100, 46, 110, // es-name":d.n - 97, 109, 101, 44, 34, 99, 116, 58, 109, 101, 116, 97, // ame,"ct:meta - 34, 58, 98, 46, 115, 101, 114, 105, 97, 108, 105, 122, // ":b.serializ - 101, 40, 100, 46, 109, 101, 116, 97, 41, 125, 41, 44, // e(d.meta)}), - 104, 46, 97, 100, 100, 67, 108, 97, 115, 115, 40, 91, // h.addClass([ - 97, 46, 99, 108, 97, 115, 115, 78, 97, 109, 101, 115, // a.classNames - 46, 115, 101, 114, 105, 101, 115, 44, 100, 46, 99, 108, // .series,d.cl - 97, 115, 115, 78, 97, 109, 101, 124, 124, 97, 46, 99, // assName||a.c - 108, 97, 115, 115, 78, 97, 109, 101, 115, 46, 115, 101, // lassNames.se - 114, 105, 101, 115, 43, 34, 45, 34, 43, 98, 46, 97, // ries+"-"+b.a - 108, 112, 104, 97, 78, 117, 109, 101, 114, 97, 116, 101, // lphaNumerate - 40, 101, 41, 93, 46, 106, 111, 105, 110, 40, 34, 32, // (e)].join(" - 34, 41, 41, 44, 99, 46, 110, 111, 114, 109, 97, 108, // ")),c.normal - 105, 122, 101, 100, 46, 115, 101, 114, 105, 101, 115, 91, // ized.series[ - 101, 93, 46, 102, 111, 114, 69, 97, 99, 104, 40, 102, // e].forEach(f - 117, 110, 99, 116, 105, 111, 110, 40, 103, 44, 107, 41, // unction(g,k) - 123, 118, 97, 114, 32, 114, 44, 115, 44, 116, 44, 117, // {var r,s,t,u - 59, 105, 102, 40, 117, 61, 97, 46, 100, 105, 115, 116, // ;if(u=a.dist - 114, 105, 98, 117, 116, 101, 83, 101, 114, 105, 101, 115, // ributeSeries - 38, 38, 33, 97, 46, 115, 116, 97, 99, 107, 66, 97, // &&!a.stackBa - 114, 115, 63, 101, 58, 97, 46, 100, 105, 115, 116, 114, // rs?e:a.distr - 105, 98, 117, 116, 101, 83, 101, 114, 105, 101, 115, 38, // ibuteSeries& - 38, 97, 46, 115, 116, 97, 99, 107, 66, 97, 114, 115, // &a.stackBars - 63, 48, 58, 107, 44, 114, 61, 97, 46, 104, 111, 114, // ?0:k,r=a.hor - 105, 122, 111, 110, 116, 97, 108, 66, 97, 114, 115, 63, // izontalBars? - 123, 120, 58, 111, 46, 120, 49, 43, 106, 46, 112, 114, // {x:o.x1+j.pr - 111, 106, 101, 99, 116, 86, 97, 108, 117, 101, 40, 103, // ojectValue(g - 38, 38, 103, 46, 120, 63, 103, 46, 120, 58, 48, 44, // &&g.x?g.x:0, - 107, 44, 99, 46, 110, 111, 114, 109, 97, 108, 105, 122, // k,c.normaliz - 101, 100, 46, 115, 101, 114, 105, 101, 115, 91, 101, 93, // ed.series[e] - 41, 44, 121, 58, 111, 46, 121, 49, 45, 108, 46, 112, // ),y:o.y1-l.p - 114, 111, 106, 101, 99, 116, 86, 97, 108, 117, 101, 40, // rojectValue( - 103, 38, 38, 103, 46, 121, 63, 103, 46, 121, 58, 48, // g&&g.y?g.y:0 - 44, 117, 44, 99, 46, 110, 111, 114, 109, 97, 108, 105, // ,u,c.normali - 122, 101, 100, 46, 115, 101, 114, 105, 101, 115, 91, 101, // zed.series[e - 93, 41, 125, 58, 123, 120, 58, 111, 46, 120, 49, 43, // ])}:{x:o.x1+ - 108, 46, 112, 114, 111, 106, 101, 99, 116, 86, 97, 108, // l.projectVal - 117, 101, 40, 103, 38, 38, 103, 46, 120, 63, 103, 46, // ue(g&&g.x?g. - 120, 58, 48, 44, 117, 44, 99, 46, 110, 111, 114, 109, // x:0,u,c.norm - 97, 108, 105, 122, 101, 100, 46, 115, 101, 114, 105, 101, // alized.serie - 115, 91, 101, 93, 41, 44, 121, 58, 111, 46, 121, 49, // s[e]),y:o.y1 - 45, 106, 46, 112, 114, 111, 106, 101, 99, 116, 86, 97, // -j.projectVa - 108, 117, 101, 40, 103, 38, 38, 103, 46, 121, 63, 103, // lue(g&&g.y?g - 46, 121, 58, 48, 44, 107, 44, 99, 46, 110, 111, 114, // .y:0,k,c.nor - 109, 97, 108, 105, 122, 101, 100, 46, 115, 101, 114, 105, // malized.seri - 101, 115, 91, 101, 93, 41, 125, 44, 108, 32, 105, 110, // es[e])},l in - 115, 116, 97, 110, 99, 101, 111, 102, 32, 98, 46, 83, // stanceof b.S - 116, 101, 112, 65, 120, 105, 115, 38, 38, 40, 108, 46, // tepAxis&&(l. - 111, 112, 116, 105, 111, 110, 115, 46, 115, 116, 114, 101, // options.stre - 116, 99, 104, 124, 124, 40, 114, 91, 108, 46, 117, 110, // tch||(r[l.un - 105, 116, 115, 46, 112, 111, 115, 93, 43, 61, 102, 42, // its.pos]+=f* - 40, 97, 46, 104, 111, 114, 105, 122, 111, 110, 116, 97, // (a.horizonta - 108, 66, 97, 114, 115, 63, 45, 49, 58, 49, 41, 41, // lBars?-1:1)) - 44, 114, 91, 108, 46, 117, 110, 105, 116, 115, 46, 112, // ,r[l.units.p - 111, 115, 93, 43, 61, 97, 46, 115, 116, 97, 99, 107, // os]+=a.stack - 66, 97, 114, 115, 124, 124, 97, 46, 100, 105, 115, 116, // Bars||a.dist - 114, 105, 98, 117, 116, 101, 83, 101, 114, 105, 101, 115, // ributeSeries - 63, 48, 58, 105, 42, 97, 46, 115, 101, 114, 105, 101, // ?0:i*a.serie - 115, 66, 97, 114, 68, 105, 115, 116, 97, 110, 99, 101, // sBarDistance - 42, 40, 97, 46, 104, 111, 114, 105, 122, 111, 110, 116, // *(a.horizont - 97, 108, 66, 97, 114, 115, 63, 45, 49, 58, 49, 41, // alBars?-1:1) - 41, 44, 116, 61, 113, 91, 107, 93, 124, 124, 112, 44, // ),t=q[k]||p, - 113, 91, 107, 93, 61, 116, 45, 40, 112, 45, 114, 91, // q[k]=t-(p-r[ - 108, 46, 99, 111, 117, 110, 116, 101, 114, 85, 110, 105, // l.counterUni - 116, 115, 46, 112, 111, 115, 93, 41, 44, 118, 111, 105, // ts.pos]),voi - 100, 32, 48, 33, 61, 61, 103, 41, 123, 118, 97, 114, // d 0!==g){var - 32, 118, 61, 123, 125, 59, 118, 91, 108, 46, 117, 110, // v={};v[l.un - 105, 116, 115, 46, 112, 111, 115, 43, 34, 49, 34, 93, // its.pos+"1"] - 61, 114, 91, 108, 46, 117, 110, 105, 116, 115, 46, 112, // =r[l.units.p - 111, 115, 93, 44, 118, 91, 108, 46, 117, 110, 105, 116, // os],v[l.unit - 115, 46, 112, 111, 115, 43, 34, 50, 34, 93, 61, 114, // s.pos+"2"]=r - 91, 108, 46, 117, 110, 105, 116, 115, 46, 112, 111, 115, // [l.units.pos - 93, 44, 33, 97, 46, 115, 116, 97, 99, 107, 66, 97, // ],!a.stackBa - 114, 115, 124, 124, 34, 97, 99, 99, 117, 109, 117, 108, // rs||"accumul - 97, 116, 101, 34, 33, 61, 61, 97, 46, 115, 116, 97, // ate"!==a.sta - 99, 107, 77, 111, 100, 101, 38, 38, 97, 46, 115, 116, // ckMode&&a.st - 97, 99, 107, 77, 111, 100, 101, 63, 40, 118, 91, 108, // ackMode?(v[l - 46, 99, 111, 117, 110, 116, 101, 114, 85, 110, 105, 116, // .counterUnit - 115, 46, 112, 111, 115, 43, 34, 49, 34, 93, 61, 112, // s.pos+"1"]=p - 44, 118, 91, 108, 46, 99, 111, 117, 110, 116, 101, 114, // ,v[l.counter - 85, 110, 105, 116, 115, 46, 112, 111, 115, 43, 34, 50, // Units.pos+"2 - 34, 93, 61, 114, 91, 108, 46, 99, 111, 117, 110, 116, // "]=r[l.count - 101, 114, 85, 110, 105, 116, 115, 46, 112, 111, 115, 93, // erUnits.pos] - 41, 58, 40, 118, 91, 108, 46, 99, 111, 117, 110, 116, // ):(v[l.count - 101, 114, 85, 110, 105, 116, 115, 46, 112, 111, 115, 43, // erUnits.pos+ - 34, 49, 34, 93, 61, 116, 44, 118, 91, 108, 46, 99, // "1"]=t,v[l.c - 111, 117, 110, 116, 101, 114, 85, 110, 105, 116, 115, 46, // ounterUnits. - 112, 111, 115, 43, 34, 50, 34, 93, 61, 113, 91, 107, // pos+"2"]=q[k - 93, 41, 44, 118, 46, 120, 49, 61, 77, 97, 116, 104, // ]),v.x1=Math - 46, 109, 105, 110, 40, 77, 97, 116, 104, 46, 109, 97, // .min(Math.ma - 120, 40, 118, 46, 120, 49, 44, 111, 46, 120, 49, 41, // x(v.x1,o.x1) - 44, 111, 46, 120, 50, 41, 44, 118, 46, 120, 50, 61, // ,o.x2),v.x2= - 77, 97, 116, 104, 46, 109, 105, 110, 40, 77, 97, 116, // Math.min(Mat - 104, 46, 109, 97, 120, 40, 118, 46, 120, 50, 44, 111, // h.max(v.x2,o - 46, 120, 49, 41, 44, 111, 46, 120, 50, 41, 44, 118, // .x1),o.x2),v - 46, 121, 49, 61, 77, 97, 116, 104, 46, 109, 105, 110, // .y1=Math.min - 40, 77, 97, 116, 104, 46, 109, 97, 120, 40, 118, 46, // (Math.max(v. - 121, 49, 44, 111, 46, 121, 50, 41, 44, 111, 46, 121, // y1,o.y2),o.y - 49, 41, 44, 118, 46, 121, 50, 61, 77, 97, 116, 104, // 1),v.y2=Math - 46, 109, 105, 110, 40, 77, 97, 116, 104, 46, 109, 97, // .min(Math.ma - 120, 40, 118, 46, 121, 50, 44, 111, 46, 121, 50, 41, // x(v.y2,o.y2) - 44, 111, 46, 121, 49, 41, 59, 118, 97, 114, 32, 119, // ,o.y1);var w - 61, 98, 46, 103, 101, 116, 77, 101, 116, 97, 68, 97, // =b.getMetaDa - 116, 97, 40, 100, 44, 107, 41, 59, 115, 61, 104, 46, // ta(d,k);s=h. - 101, 108, 101, 109, 40, 34, 108, 105, 110, 101, 34, 44, // elem("line", - 118, 44, 97, 46, 99, 108, 97, 115, 115, 78, 97, 109, // v,a.classNam - 101, 115, 46, 98, 97, 114, 41, 46, 97, 116, 116, 114, // es.bar).attr - 40, 123, 34, 99, 116, 58, 118, 97, 108, 117, 101, 34, // ({"ct:value" - 58, 91, 103, 46, 120, 44, 103, 46, 121, 93, 46, 102, // :[g.x,g.y].f - 105, 108, 116, 101, 114, 40, 98, 46, 105, 115, 78, 117, // ilter(b.isNu - 109, 101, 114, 105, 99, 41, 46, 106, 111, 105, 110, 40, // meric).join( - 34, 44, 34, 41, 44, 34, 99, 116, 58, 109, 101, 116, // ","),"ct:met - 97, 34, 58, 98, 46, 115, 101, 114, 105, 97, 108, 105, // a":b.seriali - 122, 101, 40, 119, 41, 125, 41, 44, 116, 104, 105, 115, // ze(w)}),this - 46, 101, 118, 101, 110, 116, 69, 109, 105, 116, 116, 101, // .eventEmitte - 114, 46, 101, 109, 105, 116, 40, 34, 100, 114, 97, 119, // r.emit("draw - 34, 44, 98, 46, 101, 120, 116, 101, 110, 100, 40, 123, // ",b.extend({ - 116, 121, 112, 101, 58, 34, 98, 97, 114, 34, 44, 118, // type:"bar",v - 97, 108, 117, 101, 58, 103, 44, 105, 110, 100, 101, 120, // alue:g,index - 58, 107, 44, 109, 101, 116, 97, 58, 119, 44, 115, 101, // :k,meta:w,se - 114, 105, 101, 115, 58, 100, 44, 115, 101, 114, 105, 101, // ries:d,serie - 115, 73, 110, 100, 101, 120, 58, 101, 44, 97, 120, 105, // sIndex:e,axi - 115, 88, 58, 109, 44, 97, 120, 105, 115, 89, 58, 110, // sX:m,axisY:n - 44, 99, 104, 97, 114, 116, 82, 101, 99, 116, 58, 111, // ,chartRect:o - 44, 103, 114, 111, 117, 112, 58, 104, 44, 101, 108, 101, // ,group:h,ele - 109, 101, 110, 116, 58, 115, 125, 44, 118, 41, 41, 125, // ment:s},v))} - 125, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, // }.bind(this) - 41, 125, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, // )}.bind(this - 41, 41, 44, 116, 104, 105, 115, 46, 101, 118, 101, 110, // )),this.even - 116, 69, 109, 105, 116, 116, 101, 114, 46, 101, 109, 105, // tEmitter.emi - 116, 40, 34, 99, 114, 101, 97, 116, 101, 100, 34, 44, // t("created", - 123, 98, 111, 117, 110, 100, 115, 58, 106, 46, 98, 111, // {bounds:j.bo - 117, 110, 100, 115, 44, 99, 104, 97, 114, 116, 82, 101, // unds,chartRe - 99, 116, 58, 111, 44, 97, 120, 105, 115, 88, 58, 109, // ct:o,axisX:m - 44, 97, 120, 105, 115, 89, 58, 110, 44, 115, 118, 103, // ,axisY:n,svg - 58, 116, 104, 105, 115, 46, 115, 118, 103, 44, 111, 112, // :this.svg,op - 116, 105, 111, 110, 115, 58, 97, 125, 41, 125, 102, 117, // tions:a})}fu - 110, 99, 116, 105, 111, 110, 32, 100, 40, 97, 44, 99, // nction d(a,c - 44, 100, 44, 102, 41, 123, 98, 46, 66, 97, 114, 91, // ,d,f){b.Bar[ - 34, 115, 117, 112, 101, 114, 34, 93, 46, 99, 111, 110, // "super"].con - 115, 116, 114, 117, 99, 116, 111, 114, 46, 99, 97, 108, // structor.cal - 108, 40, 116, 104, 105, 115, 44, 97, 44, 99, 44, 101, // l(this,a,c,e - 44, 98, 46, 101, 120, 116, 101, 110, 100, 40, 123, 125, // ,b.extend({} - 44, 101, 44, 100, 41, 44, 102, 41, 125, 118, 97, 114, // ,e,d),f)}var - 32, 101, 61, 40, 97, 46, 119, 105, 110, 100, 111, 119, // e=(a.window - 44, 97, 46, 100, 111, 99, 117, 109, 101, 110, 116, 44, // ,a.document, - 123, 97, 120, 105, 115, 88, 58, 123, 111, 102, 102, 115, // {axisX:{offs - 101, 116, 58, 51, 48, 44, 112, 111, 115, 105, 116, 105, // et:30,positi - 111, 110, 58, 34, 101, 110, 100, 34, 44, 108, 97, 98, // on:"end",lab - 101, 108, 79, 102, 102, 115, 101, 116, 58, 123, 120, 58, // elOffset:{x: - 48, 44, 121, 58, 48, 125, 44, 115, 104, 111, 119, 76, // 0,y:0},showL - 97, 98, 101, 108, 58, 33, 48, 44, 115, 104, 111, 119, // abel:!0,show - 71, 114, 105, 100, 58, 33, 48, 44, 108, 97, 98, 101, // Grid:!0,labe - 108, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, // lInterpolati - 111, 110, 70, 110, 99, 58, 98, 46, 110, 111, 111, 112, // onFnc:b.noop - 44, 115, 99, 97, 108, 101, 77, 105, 110, 83, 112, 97, // ,scaleMinSpa - 99, 101, 58, 51, 48, 44, 111, 110, 108, 121, 73, 110, // ce:30,onlyIn - 116, 101, 103, 101, 114, 58, 33, 49, 125, 44, 97, 120, // teger:!1},ax - 105, 115, 89, 58, 123, 111, 102, 102, 115, 101, 116, 58, // isY:{offset: - 52, 48, 44, 112, 111, 115, 105, 116, 105, 111, 110, 58, // 40,position: - 34, 115, 116, 97, 114, 116, 34, 44, 108, 97, 98, 101, // "start",labe - 108, 79, 102, 102, 115, 101, 116, 58, 123, 120, 58, 48, // lOffset:{x:0 - 44, 121, 58, 48, 125, 44, 115, 104, 111, 119, 76, 97, // ,y:0},showLa - 98, 101, 108, 58, 33, 48, 44, 115, 104, 111, 119, 71, // bel:!0,showG - 114, 105, 100, 58, 33, 48, 44, 108, 97, 98, 101, 108, // rid:!0,label - 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, // Interpolatio - 110, 70, 110, 99, 58, 98, 46, 110, 111, 111, 112, 44, // nFnc:b.noop, - 115, 99, 97, 108, 101, 77, 105, 110, 83, 112, 97, 99, // scaleMinSpac - 101, 58, 50, 48, 44, 111, 110, 108, 121, 73, 110, 116, // e:20,onlyInt - 101, 103, 101, 114, 58, 33, 49, 125, 44, 119, 105, 100, // eger:!1},wid - 116, 104, 58, 118, 111, 105, 100, 32, 48, 44, 104, 101, // th:void 0,he - 105, 103, 104, 116, 58, 118, 111, 105, 100, 32, 48, 44, // ight:void 0, - 104, 105, 103, 104, 58, 118, 111, 105, 100, 32, 48, 44, // high:void 0, - 108, 111, 119, 58, 118, 111, 105, 100, 32, 48, 44, 114, // low:void 0,r - 101, 102, 101, 114, 101, 110, 99, 101, 86, 97, 108, 117, // eferenceValu - 101, 58, 48, 44, 99, 104, 97, 114, 116, 80, 97, 100, // e:0,chartPad - 100, 105, 110, 103, 58, 123, 116, 111, 112, 58, 49, 53, // ding:{top:15 - 44, 114, 105, 103, 104, 116, 58, 49, 53, 44, 98, 111, // ,right:15,bo - 116, 116, 111, 109, 58, 53, 44, 108, 101, 102, 116, 58, // ttom:5,left: - 49, 48, 125, 44, 115, 101, 114, 105, 101, 115, 66, 97, // 10},seriesBa - 114, 68, 105, 115, 116, 97, 110, 99, 101, 58, 49, 53, // rDistance:15 - 44, 115, 116, 97, 99, 107, 66, 97, 114, 115, 58, 33, // ,stackBars:! - 49, 44, 115, 116, 97, 99, 107, 77, 111, 100, 101, 58, // 1,stackMode: - 34, 97, 99, 99, 117, 109, 117, 108, 97, 116, 101, 34, // "accumulate" - 44, 104, 111, 114, 105, 122, 111, 110, 116, 97, 108, 66, // ,horizontalB - 97, 114, 115, 58, 33, 49, 44, 100, 105, 115, 116, 114, // ars:!1,distr - 105, 98, 117, 116, 101, 83, 101, 114, 105, 101, 115, 58, // ibuteSeries: - 33, 49, 44, 114, 101, 118, 101, 114, 115, 101, 68, 97, // !1,reverseDa - 116, 97, 58, 33, 49, 44, 115, 104, 111, 119, 71, 114, // ta:!1,showGr - 105, 100, 66, 97, 99, 107, 103, 114, 111, 117, 110, 100, // idBackground - 58, 33, 49, 44, 99, 108, 97, 115, 115, 78, 97, 109, // :!1,classNam - 101, 115, 58, 123, 99, 104, 97, 114, 116, 58, 34, 99, // es:{chart:"c - 116, 45, 99, 104, 97, 114, 116, 45, 98, 97, 114, 34, // t-chart-bar" - 44, 104, 111, 114, 105, 122, 111, 110, 116, 97, 108, 66, // ,horizontalB - 97, 114, 115, 58, 34, 99, 116, 45, 104, 111, 114, 105, // ars:"ct-hori - 122, 111, 110, 116, 97, 108, 45, 98, 97, 114, 115, 34, // zontal-bars" - 44, 108, 97, 98, 101, 108, 58, 34, 99, 116, 45, 108, // ,label:"ct-l - 97, 98, 101, 108, 34, 44, 108, 97, 98, 101, 108, 71, // abel",labelG - 114, 111, 117, 112, 58, 34, 99, 116, 45, 108, 97, 98, // roup:"ct-lab - 101, 108, 115, 34, 44, 115, 101, 114, 105, 101, 115, 58, // els",series: - 34, 99, 116, 45, 115, 101, 114, 105, 101, 115, 34, 44, // "ct-series", - 98, 97, 114, 58, 34, 99, 116, 45, 98, 97, 114, 34, // bar:"ct-bar" - 44, 103, 114, 105, 100, 58, 34, 99, 116, 45, 103, 114, // ,grid:"ct-gr - 105, 100, 34, 44, 103, 114, 105, 100, 71, 114, 111, 117, // id",gridGrou - 112, 58, 34, 99, 116, 45, 103, 114, 105, 100, 115, 34, // p:"ct-grids" - 44, 103, 114, 105, 100, 66, 97, 99, 107, 103, 114, 111, // ,gridBackgro - 117, 110, 100, 58, 34, 99, 116, 45, 103, 114, 105, 100, // und:"ct-grid - 45, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 34, // -background" - 44, 118, 101, 114, 116, 105, 99, 97, 108, 58, 34, 99, // ,vertical:"c - 116, 45, 118, 101, 114, 116, 105, 99, 97, 108, 34, 44, // t-vertical", - 104, 111, 114, 105, 122, 111, 110, 116, 97, 108, 58, 34, // horizontal:" - 99, 116, 45, 104, 111, 114, 105, 122, 111, 110, 116, 97, // ct-horizonta - 108, 34, 44, 115, 116, 97, 114, 116, 58, 34, 99, 116, // l",start:"ct - 45, 115, 116, 97, 114, 116, 34, 44, 101, 110, 100, 58, // -start",end: - 34, 99, 116, 45, 101, 110, 100, 34, 125, 125, 41, 59, // "ct-end"}}); - 98, 46, 66, 97, 114, 61, 98, 46, 66, 97, 115, 101, // b.Bar=b.Base - 46, 101, 120, 116, 101, 110, 100, 40, 123, 99, 111, 110, // .extend({con - 115, 116, 114, 117, 99, 116, 111, 114, 58, 100, 44, 99, // structor:d,c - 114, 101, 97, 116, 101, 67, 104, 97, 114, 116, 58, 99, // reateChart:c - 125, 41, 125, 40, 116, 104, 105, 115, 124, 124, 103, 108, // })}(this||gl - 111, 98, 97, 108, 44, 97, 41, 44, 102, 117, 110, 99, // obal,a),func - 116, 105, 111, 110, 40, 97, 44, 98, 41, 123, 34, 117, // tion(a,b){"u - 115, 101, 32, 115, 116, 114, 105, 99, 116, 34, 59, 102, // se strict";f - 117, 110, 99, 116, 105, 111, 110, 32, 99, 40, 97, 44, // unction c(a, - 98, 44, 99, 41, 123, 118, 97, 114, 32, 100, 61, 98, // b,c){var d=b - 46, 120, 62, 97, 46, 120, 59, 114, 101, 116, 117, 114, // .x>a.x;retur - 110, 32, 100, 38, 38, 34, 101, 120, 112, 108, 111, 100, // n d&&"explod - 101, 34, 61, 61, 61, 99, 124, 124, 33, 100, 38, 38, // e"===c||!d&& - 34, 105, 109, 112, 108, 111, 100, 101, 34, 61, 61, 61, // "implode"=== - 99, 63, 34, 115, 116, 97, 114, 116, 34, 58, 100, 38, // c?"start":d& - 38, 34, 105, 109, 112, 108, 111, 100, 101, 34, 61, 61, // &"implode"== - 61, 99, 124, 124, 33, 100, 38, 38, 34, 101, 120, 112, // =c||!d&&"exp - 108, 111, 100, 101, 34, 61, 61, 61, 99, 63, 34, 101, // lode"===c?"e - 110, 100, 34, 58, 34, 109, 105, 100, 100, 108, 101, 34, // nd":"middle" - 125, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 40, // }function d( - 97, 41, 123, 118, 97, 114, 32, 100, 44, 101, 44, 103, // a){var d,e,g - 44, 104, 44, 105, 44, 106, 61, 98, 46, 110, 111, 114, // ,h,i,j=b.nor - 109, 97, 108, 105, 122, 101, 68, 97, 116, 97, 40, 116, // malizeData(t - 104, 105, 115, 46, 100, 97, 116, 97, 41, 44, 107, 61, // his.data),k= - 91, 93, 44, 108, 61, 97, 46, 115, 116, 97, 114, 116, // [],l=a.start - 65, 110, 103, 108, 101, 59, 116, 104, 105, 115, 46, 115, // Angle;this.s - 118, 103, 61, 98, 46, 99, 114, 101, 97, 116, 101, 83, // vg=b.createS - 118, 103, 40, 116, 104, 105, 115, 46, 99, 111, 110, 116, // vg(this.cont - 97, 105, 110, 101, 114, 44, 97, 46, 119, 105, 100, 116, // ainer,a.widt - 104, 44, 97, 46, 104, 101, 105, 103, 104, 116, 44, 97, // h,a.height,a - 46, 100, 111, 110, 117, 116, 63, 97, 46, 99, 108, 97, // .donut?a.cla - 115, 115, 78, 97, 109, 101, 115, 46, 99, 104, 97, 114, // ssNames.char - 116, 68, 111, 110, 117, 116, 58, 97, 46, 99, 108, 97, // tDonut:a.cla - 115, 115, 78, 97, 109, 101, 115, 46, 99, 104, 97, 114, // ssNames.char - 116, 80, 105, 101, 41, 44, 101, 61, 98, 46, 99, 114, // tPie),e=b.cr - 101, 97, 116, 101, 67, 104, 97, 114, 116, 82, 101, 99, // eateChartRec - 116, 40, 116, 104, 105, 115, 46, 115, 118, 103, 44, 97, // t(this.svg,a - 44, 102, 46, 112, 97, 100, 100, 105, 110, 103, 41, 44, // ,f.padding), - 103, 61, 77, 97, 116, 104, 46, 109, 105, 110, 40, 101, // g=Math.min(e - 46, 119, 105, 100, 116, 104, 40, 41, 47, 50, 44, 101, // .width()/2,e - 46, 104, 101, 105, 103, 104, 116, 40, 41, 47, 50, 41, // .height()/2) - 44, 105, 61, 97, 46, 116, 111, 116, 97, 108, 124, 124, // ,i=a.total|| - 106, 46, 110, 111, 114, 109, 97, 108, 105, 122, 101, 100, // j.normalized - 46, 115, 101, 114, 105, 101, 115, 46, 114, 101, 100, 117, // .series.redu - 99, 101, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, // ce(function( - 97, 44, 98, 41, 123, 114, 101, 116, 117, 114, 110, 32, // a,b){return - 97, 43, 98, 125, 44, 48, 41, 59, 118, 97, 114, 32, // a+b},0);var - 109, 61, 98, 46, 113, 117, 97, 110, 116, 105, 116, 121, // m=b.quantity - 40, 97, 46, 100, 111, 110, 117, 116, 87, 105, 100, 116, // (a.donutWidt - 104, 41, 59, 34, 37, 34, 61, 61, 61, 109, 46, 117, // h);"%"===m.u - 110, 105, 116, 38, 38, 40, 109, 46, 118, 97, 108, 117, // nit&&(m.valu - 101, 42, 61, 103, 47, 49, 48, 48, 41, 44, 103, 45, // e*=g/100),g- - 61, 97, 46, 100, 111, 110, 117, 116, 38, 38, 33, 97, // =a.donut&&!a - 46, 100, 111, 110, 117, 116, 83, 111, 108, 105, 100, 63, // .donutSolid? - 109, 46, 118, 97, 108, 117, 101, 47, 50, 58, 48, 44, // m.value/2:0, - 104, 61, 34, 111, 117, 116, 115, 105, 100, 101, 34, 61, // h="outside"= - 61, 61, 97, 46, 108, 97, 98, 101, 108, 80, 111, 115, // ==a.labelPos - 105, 116, 105, 111, 110, 124, 124, 97, 46, 100, 111, 110, // ition||a.don - 117, 116, 38, 38, 33, 97, 46, 100, 111, 110, 117, 116, // ut&&!a.donut - 83, 111, 108, 105, 100, 63, 103, 58, 34, 99, 101, 110, // Solid?g:"cen - 116, 101, 114, 34, 61, 61, 61, 97, 46, 108, 97, 98, // ter"===a.lab - 101, 108, 80, 111, 115, 105, 116, 105, 111, 110, 63, 48, // elPosition?0 - 58, 97, 46, 100, 111, 110, 117, 116, 83, 111, 108, 105, // :a.donutSoli - 100, 63, 103, 45, 109, 46, 118, 97, 108, 117, 101, 47, // d?g-m.value/ - 50, 58, 103, 47, 50, 44, 104, 43, 61, 97, 46, 108, // 2:g/2,h+=a.l - 97, 98, 101, 108, 79, 102, 102, 115, 101, 116, 59, 118, // abelOffset;v - 97, 114, 32, 110, 61, 123, 120, 58, 101, 46, 120, 49, // ar n={x:e.x1 - 43, 101, 46, 119, 105, 100, 116, 104, 40, 41, 47, 50, // +e.width()/2 - 44, 121, 58, 101, 46, 121, 50, 43, 101, 46, 104, 101, // ,y:e.y2+e.he - 105, 103, 104, 116, 40, 41, 47, 50, 125, 44, 111, 61, // ight()/2},o= - 49, 61, 61, 61, 106, 46, 114, 97, 119, 46, 115, 101, // 1===j.raw.se - 114, 105, 101, 115, 46, 102, 105, 108, 116, 101, 114, 40, // ries.filter( - 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 41, 123, // function(a){ - 114, 101, 116, 117, 114, 110, 32, 97, 46, 104, 97, 115, // return a.has - 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, // OwnProperty( - 34, 118, 97, 108, 117, 101, 34, 41, 63, 48, 33, 61, // "value")?0!= - 61, 97, 46, 118, 97, 108, 117, 101, 58, 48, 33, 61, // =a.value:0!= - 61, 97, 125, 41, 46, 108, 101, 110, 103, 116, 104, 59, // =a}).length; - 106, 46, 114, 97, 119, 46, 115, 101, 114, 105, 101, 115, // j.raw.series - 46, 102, 111, 114, 69, 97, 99, 104, 40, 102, 117, 110, // .forEach(fun - 99, 116, 105, 111, 110, 40, 97, 44, 98, 41, 123, 107, // ction(a,b){k - 91, 98, 93, 61, 116, 104, 105, 115, 46, 115, 118, 103, // [b]=this.svg - 46, 101, 108, 101, 109, 40, 34, 103, 34, 44, 110, 117, // .elem("g",nu - 108, 108, 44, 110, 117, 108, 108, 41, 125, 46, 98, 105, // ll,null)}.bi - 110, 100, 40, 116, 104, 105, 115, 41, 41, 44, 97, 46, // nd(this)),a. - 115, 104, 111, 119, 76, 97, 98, 101, 108, 38, 38, 40, // showLabel&&( - 100, 61, 116, 104, 105, 115, 46, 115, 118, 103, 46, 101, // d=this.svg.e - 108, 101, 109, 40, 34, 103, 34, 44, 110, 117, 108, 108, // lem("g",null - 44, 110, 117, 108, 108, 41, 41, 44, 106, 46, 114, 97, // ,null)),j.ra - 119, 46, 115, 101, 114, 105, 101, 115, 46, 102, 111, 114, // w.series.for - 69, 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, // Each(functio - 110, 40, 101, 44, 102, 41, 123, 105, 102, 40, 48, 33, // n(e,f){if(0! - 61, 61, 106, 46, 110, 111, 114, 109, 97, 108, 105, 122, // ==j.normaliz - 101, 100, 46, 115, 101, 114, 105, 101, 115, 91, 102, 93, // ed.series[f] - 124, 124, 33, 97, 46, 105, 103, 110, 111, 114, 101, 69, // ||!a.ignoreE - 109, 112, 116, 121, 86, 97, 108, 117, 101, 115, 41, 123, // mptyValues){ - 107, 91, 102, 93, 46, 97, 116, 116, 114, 40, 123, 34, // k[f].attr({" - 99, 116, 58, 115, 101, 114, 105, 101, 115, 45, 110, 97, // ct:series-na - 109, 101, 34, 58, 101, 46, 110, 97, 109, 101, 125, 41, // me":e.name}) - 44, 107, 91, 102, 93, 46, 97, 100, 100, 67, 108, 97, // ,k[f].addCla - 115, 115, 40, 91, 97, 46, 99, 108, 97, 115, 115, 78, // ss([a.classN - 97, 109, 101, 115, 46, 115, 101, 114, 105, 101, 115, 44, // ames.series, - 101, 46, 99, 108, 97, 115, 115, 78, 97, 109, 101, 124, // e.className| - 124, 97, 46, 99, 108, 97, 115, 115, 78, 97, 109, 101, // |a.className - 115, 46, 115, 101, 114, 105, 101, 115, 43, 34, 45, 34, // s.series+"-" - 43, 98, 46, 97, 108, 112, 104, 97, 78, 117, 109, 101, // +b.alphaNume - 114, 97, 116, 101, 40, 102, 41, 93, 46, 106, 111, 105, // rate(f)].joi - 110, 40, 34, 32, 34, 41, 41, 59, 118, 97, 114, 32, // n(" "));var - 112, 61, 105, 62, 48, 63, 108, 43, 106, 46, 110, 111, // p=i>0?l+j.no - 114, 109, 97, 108, 105, 122, 101, 100, 46, 115, 101, 114, // rmalized.ser - 105, 101, 115, 91, 102, 93, 47, 105, 42, 51, 54, 48, // ies[f]/i*360 - 58, 48, 44, 113, 61, 77, 97, 116, 104, 46, 109, 97, // :0,q=Math.ma - 120, 40, 48, 44, 108, 45, 40, 48, 61, 61, 61, 102, // x(0,l-(0===f - 124, 124, 111, 63, 48, 58, 46, 50, 41, 41, 59, 112, // ||o?0:.2));p - 45, 113, 62, 61, 51, 53, 57, 46, 57, 57, 38, 38, // -q>=359.99&& - 40, 112, 61, 113, 43, 51, 53, 57, 46, 57, 57, 41, // (p=q+359.99) - 59, 118, 97, 114, 32, 114, 44, 115, 44, 116, 44, 117, // ;var r,s,t,u - 61, 98, 46, 112, 111, 108, 97, 114, 84, 111, 67, 97, // =b.polarToCa - 114, 116, 101, 115, 105, 97, 110, 40, 110, 46, 120, 44, // rtesian(n.x, - 110, 46, 121, 44, 103, 44, 113, 41, 44, 118, 61, 98, // n.y,g,q),v=b - 46, 112, 111, 108, 97, 114, 84, 111, 67, 97, 114, 116, // .polarToCart - 101, 115, 105, 97, 110, 40, 110, 46, 120, 44, 110, 46, // esian(n.x,n. - 121, 44, 103, 44, 112, 41, 44, 119, 61, 110, 101, 119, // y,g,p),w=new - 32, 98, 46, 83, 118, 103, 46, 80, 97, 116, 104, 40, // b.Svg.Path( - 33, 97, 46, 100, 111, 110, 117, 116, 124, 124, 97, 46, // !a.donut||a. - 100, 111, 110, 117, 116, 83, 111, 108, 105, 100, 41, 46, // donutSolid). - 109, 111, 118, 101, 40, 118, 46, 120, 44, 118, 46, 121, // move(v.x,v.y - 41, 46, 97, 114, 99, 40, 103, 44, 103, 44, 48, 44, // ).arc(g,g,0, - 112, 45, 108, 62, 49, 56, 48, 44, 48, 44, 117, 46, // p-l>180,0,u. - 120, 44, 117, 46, 121, 41, 59, 97, 46, 100, 111, 110, // x,u.y);a.don - 117, 116, 63, 97, 46, 100, 111, 110, 117, 116, 83, 111, // ut?a.donutSo - 108, 105, 100, 38, 38, 40, 116, 61, 103, 45, 109, 46, // lid&&(t=g-m. - 118, 97, 108, 117, 101, 44, 114, 61, 98, 46, 112, 111, // value,r=b.po - 108, 97, 114, 84, 111, 67, 97, 114, 116, 101, 115, 105, // larToCartesi - 97, 110, 40, 110, 46, 120, 44, 110, 46, 121, 44, 116, // an(n.x,n.y,t - 44, 108, 45, 40, 48, 61, 61, 61, 102, 124, 124, 111, // ,l-(0===f||o - 63, 48, 58, 46, 50, 41, 41, 44, 115, 61, 98, 46, // ?0:.2)),s=b. - 112, 111, 108, 97, 114, 84, 111, 67, 97, 114, 116, 101, // polarToCarte - 115, 105, 97, 110, 40, 110, 46, 120, 44, 110, 46, 121, // sian(n.x,n.y - 44, 116, 44, 112, 41, 44, 119, 46, 108, 105, 110, 101, // ,t,p),w.line - 40, 114, 46, 120, 44, 114, 46, 121, 41, 44, 119, 46, // (r.x,r.y),w. - 97, 114, 99, 40, 116, 44, 116, 44, 48, 44, 112, 45, // arc(t,t,0,p- - 108, 62, 49, 56, 48, 44, 49, 44, 115, 46, 120, 44, // l>180,1,s.x, - 115, 46, 121, 41, 41, 58, 119, 46, 108, 105, 110, 101, // s.y)):w.line - 40, 110, 46, 120, 44, 110, 46, 121, 41, 59, 118, 97, // (n.x,n.y);va - 114, 32, 120, 61, 97, 46, 99, 108, 97, 115, 115, 78, // r x=a.classN - 97, 109, 101, 115, 46, 115, 108, 105, 99, 101, 80, 105, // ames.slicePi - 101, 59, 97, 46, 100, 111, 110, 117, 116, 38, 38, 40, // e;a.donut&&( - 120, 61, 97, 46, 99, 108, 97, 115, 115, 78, 97, 109, // x=a.classNam - 101, 115, 46, 115, 108, 105, 99, 101, 68, 111, 110, 117, // es.sliceDonu - 116, 44, 97, 46, 100, 111, 110, 117, 116, 83, 111, 108, // t,a.donutSol - 105, 100, 38, 38, 40, 120, 61, 97, 46, 99, 108, 97, // id&&(x=a.cla - 115, 115, 78, 97, 109, 101, 115, 46, 115, 108, 105, 99, // ssNames.slic - 101, 68, 111, 110, 117, 116, 83, 111, 108, 105, 100, 41, // eDonutSolid) - 41, 59, 118, 97, 114, 32, 121, 61, 107, 91, 102, 93, // );var y=k[f] - 46, 101, 108, 101, 109, 40, 34, 112, 97, 116, 104, 34, // .elem("path" - 44, 123, 100, 58, 119, 46, 115, 116, 114, 105, 110, 103, // ,{d:w.string - 105, 102, 121, 40, 41, 125, 44, 120, 41, 59, 105, 102, // ify()},x);if - 40, 121, 46, 97, 116, 116, 114, 40, 123, 34, 99, 116, // (y.attr({"ct - 58, 118, 97, 108, 117, 101, 34, 58, 106, 46, 110, 111, // :value":j.no - 114, 109, 97, 108, 105, 122, 101, 100, 46, 115, 101, 114, // rmalized.ser - 105, 101, 115, 91, 102, 93, 44, 34, 99, 116, 58, 109, // ies[f],"ct:m - 101, 116, 97, 34, 58, 98, 46, 115, 101, 114, 105, 97, // eta":b.seria - 108, 105, 122, 101, 40, 101, 46, 109, 101, 116, 97, 41, // lize(e.meta) - 125, 41, 44, 97, 46, 100, 111, 110, 117, 116, 38, 38, // }),a.donut&& - 33, 97, 46, 100, 111, 110, 117, 116, 83, 111, 108, 105, // !a.donutSoli - 100, 38, 38, 40, 121, 46, 95, 110, 111, 100, 101, 46, // d&&(y._node. - 115, 116, 121, 108, 101, 46, 115, 116, 114, 111, 107, 101, // style.stroke - 87, 105, 100, 116, 104, 61, 109, 46, 118, 97, 108, 117, // Width=m.valu - 101, 43, 34, 112, 120, 34, 41, 44, 116, 104, 105, 115, // e+"px"),this - 46, 101, 118, 101, 110, 116, 69, 109, 105, 116, 116, 101, // .eventEmitte - 114, 46, 101, 109, 105, 116, 40, 34, 100, 114, 97, 119, // r.emit("draw - 34, 44, 123, 116, 121, 112, 101, 58, 34, 115, 108, 105, // ",{type:"sli - 99, 101, 34, 44, 118, 97, 108, 117, 101, 58, 106, 46, // ce",value:j. - 110, 111, 114, 109, 97, 108, 105, 122, 101, 100, 46, 115, // normalized.s - 101, 114, 105, 101, 115, 91, 102, 93, 44, 116, 111, 116, // eries[f],tot - 97, 108, 68, 97, 116, 97, 83, 117, 109, 58, 105, 44, // alDataSum:i, - 105, 110, 100, 101, 120, 58, 102, 44, 109, 101, 116, 97, // index:f,meta - 58, 101, 46, 109, 101, 116, 97, 44, 115, 101, 114, 105, // :e.meta,seri - 101, 115, 58, 101, 44, 103, 114, 111, 117, 112, 58, 107, // es:e,group:k - 91, 102, 93, 44, 101, 108, 101, 109, 101, 110, 116, 58, // [f],element: - 121, 44, 112, 97, 116, 104, 58, 119, 46, 99, 108, 111, // y,path:w.clo - 110, 101, 40, 41, 44, 99, 101, 110, 116, 101, 114, 58, // ne(),center: - 110, 44, 114, 97, 100, 105, 117, 115, 58, 103, 44, 115, // n,radius:g,s - 116, 97, 114, 116, 65, 110, 103, 108, 101, 58, 108, 44, // tartAngle:l, - 101, 110, 100, 65, 110, 103, 108, 101, 58, 112, 125, 41, // endAngle:p}) - 44, 97, 46, 115, 104, 111, 119, 76, 97, 98, 101, 108, // ,a.showLabel - 41, 123, 118, 97, 114, 32, 122, 59, 122, 61, 49, 61, // ){var z;z=1= - 61, 61, 106, 46, 114, 97, 119, 46, 115, 101, 114, 105, // ==j.raw.seri - 101, 115, 46, 108, 101, 110, 103, 116, 104, 63, 123, 120, // es.length?{x - 58, 110, 46, 120, 44, 121, 58, 110, 46, 121, 125, 58, // :n.x,y:n.y}: - 98, 46, 112, 111, 108, 97, 114, 84, 111, 67, 97, 114, // b.polarToCar - 116, 101, 115, 105, 97, 110, 40, 110, 46, 120, 44, 110, // tesian(n.x,n - 46, 121, 44, 104, 44, 108, 43, 40, 112, 45, 108, 41, // .y,h,l+(p-l) - 47, 50, 41, 59, 118, 97, 114, 32, 65, 59, 65, 61, // /2);var A;A= - 106, 46, 110, 111, 114, 109, 97, 108, 105, 122, 101, 100, // j.normalized - 46, 108, 97, 98, 101, 108, 115, 38, 38, 33, 98, 46, // .labels&&!b. - 105, 115, 70, 97, 108, 115, 101, 121, 66, 117, 116, 90, // isFalseyButZ - 101, 114, 111, 40, 106, 46, 110, 111, 114, 109, 97, 108, // ero(j.normal - 105, 122, 101, 100, 46, 108, 97, 98, 101, 108, 115, 91, // ized.labels[ - 102, 93, 41, 63, 106, 46, 110, 111, 114, 109, 97, 108, // f])?j.normal - 105, 122, 101, 100, 46, 108, 97, 98, 101, 108, 115, 91, // ized.labels[ - 102, 93, 58, 106, 46, 110, 111, 114, 109, 97, 108, 105, // f]:j.normali - 122, 101, 100, 46, 115, 101, 114, 105, 101, 115, 91, 102, // zed.series[f - 93, 59, 118, 97, 114, 32, 66, 61, 97, 46, 108, 97, // ];var B=a.la - 98, 101, 108, 73, 110, 116, 101, 114, 112, 111, 108, 97, // belInterpola - 116, 105, 111, 110, 70, 110, 99, 40, 65, 44, 102, 41, // tionFnc(A,f) - 59, 105, 102, 40, 66, 124, 124, 48, 61, 61, 61, 66, // ;if(B||0===B - 41, 123, 118, 97, 114, 32, 67, 61, 100, 46, 101, 108, // ){var C=d.el - 101, 109, 40, 34, 116, 101, 120, 116, 34, 44, 123, 100, // em("text",{d - 120, 58, 122, 46, 120, 44, 100, 121, 58, 122, 46, 121, // x:z.x,dy:z.y - 44, 34, 116, 101, 120, 116, 45, 97, 110, 99, 104, 111, // ,"text-ancho - 114, 34, 58, 99, 40, 110, 44, 122, 44, 97, 46, 108, // r":c(n,z,a.l - 97, 98, 101, 108, 68, 105, 114, 101, 99, 116, 105, 111, // abelDirectio - 110, 41, 125, 44, 97, 46, 99, 108, 97, 115, 115, 78, // n)},a.classN - 97, 109, 101, 115, 46, 108, 97, 98, 101, 108, 41, 46, // ames.label). - 116, 101, 120, 116, 40, 34, 34, 43, 66, 41, 59, 116, // text(""+B);t - 104, 105, 115, 46, 101, 118, 101, 110, 116, 69, 109, 105, // his.eventEmi - 116, 116, 101, 114, 46, 101, 109, 105, 116, 40, 34, 100, // tter.emit("d - 114, 97, 119, 34, 44, 123, 116, 121, 112, 101, 58, 34, // raw",{type:" - 108, 97, 98, 101, 108, 34, 44, 105, 110, 100, 101, 120, // label",index - 58, 102, 44, 103, 114, 111, 117, 112, 58, 100, 44, 101, // :f,group:d,e - 108, 101, 109, 101, 110, 116, 58, 67, 44, 116, 101, 120, // lement:C,tex - 116, 58, 34, 34, 43, 66, 44, 120, 58, 122, 46, 120, // t:""+B,x:z.x - 44, 121, 58, 122, 46, 121, 125, 41, 125, 125, 108, 61, // ,y:z.y})}}l= - 112, 125, 125, 46, 98, 105, 110, 100, 40, 116, 104, 105, // p}}.bind(thi - 115, 41, 41, 44, 116, 104, 105, 115, 46, 101, 118, 101, // s)),this.eve - 110, 116, 69, 109, 105, 116, 116, 101, 114, 46, 101, 109, // ntEmitter.em - 105, 116, 40, 34, 99, 114, 101, 97, 116, 101, 100, 34, // it("created" - 44, 123, 99, 104, 97, 114, 116, 82, 101, 99, 116, 58, // ,{chartRect: - 101, 44, 115, 118, 103, 58, 116, 104, 105, 115, 46, 115, // e,svg:this.s - 118, 103, 44, 111, 112, 116, 105, 111, 110, 115, 58, 97, // vg,options:a - 125, 41, 125, 102, 117, 110, 99, 116, 105, 111, 110, 32, // })}function - 101, 40, 97, 44, 99, 44, 100, 44, 101, 41, 123, 98, // e(a,c,d,e){b - 46, 80, 105, 101, 91, 34, 115, 117, 112, 101, 114, 34, // .Pie["super" - 93, 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, // ].constructo - 114, 46, 99, 97, 108, 108, 40, 116, 104, 105, 115, 44, // r.call(this, - 97, 44, 99, 44, 102, 44, 98, 46, 101, 120, 116, 101, // a,c,f,b.exte - 110, 100, 40, 123, 125, 44, 102, 44, 100, 41, 44, 101, // nd({},f,d),e - 41, 125, 118, 97, 114, 32, 102, 61, 40, 97, 46, 119, // )}var f=(a.w - 105, 110, 100, 111, 119, 44, 97, 46, 100, 111, 99, 117, // indow,a.docu - 109, 101, 110, 116, 44, 123, 119, 105, 100, 116, 104, 58, // ment,{width: - 118, 111, 105, 100, 32, 48, 44, 104, 101, 105, 103, 104, // void 0,heigh - 116, 58, 118, 111, 105, 100, 32, 48, 44, 99, 104, 97, // t:void 0,cha - 114, 116, 80, 97, 100, 100, 105, 110, 103, 58, 53, 44, // rtPadding:5, - 99, 108, 97, 115, 115, 78, 97, 109, 101, 115, 58, 123, // classNames:{ - 99, 104, 97, 114, 116, 80, 105, 101, 58, 34, 99, 116, // chartPie:"ct - 45, 99, 104, 97, 114, 116, 45, 112, 105, 101, 34, 44, // -chart-pie", - 99, 104, 97, 114, 116, 68, 111, 110, 117, 116, 58, 34, // chartDonut:" - 99, 116, 45, 99, 104, 97, 114, 116, 45, 100, 111, 110, // ct-chart-don - 117, 116, 34, 44, 115, 101, 114, 105, 101, 115, 58, 34, // ut",series:" - 99, 116, 45, 115, 101, 114, 105, 101, 115, 34, 44, 115, // ct-series",s - 108, 105, 99, 101, 80, 105, 101, 58, 34, 99, 116, 45, // licePie:"ct- - 115, 108, 105, 99, 101, 45, 112, 105, 101, 34, 44, 115, // slice-pie",s - 108, 105, 99, 101, 68, 111, 110, 117, 116, 58, 34, 99, // liceDonut:"c - 116, 45, 115, 108, 105, 99, 101, 45, 100, 111, 110, 117, // t-slice-donu - 116, 34, 44, 115, 108, 105, 99, 101, 68, 111, 110, 117, // t",sliceDonu - 116, 83, 111, 108, 105, 100, 58, 34, 99, 116, 45, 115, // tSolid:"ct-s - 108, 105, 99, 101, 45, 100, 111, 110, 117, 116, 45, 115, // lice-donut-s - 111, 108, 105, 100, 34, 44, 108, 97, 98, 101, 108, 58, // olid",label: - 34, 99, 116, 45, 108, 97, 98, 101, 108, 34, 125, 44, // "ct-label"}, - 115, 116, 97, 114, 116, 65, 110, 103, 108, 101, 58, 48, // startAngle:0 - 44, 116, 111, 116, 97, 108, 58, 118, 111, 105, 100, 32, // ,total:void - 48, 44, 100, 111, 110, 117, 116, 58, 33, 49, 44, 100, // 0,donut:!1,d - 111, 110, 117, 116, 83, 111, 108, 105, 100, 58, 33, 49, // onutSolid:!1 - 44, 100, 111, 110, 117, 116, 87, 105, 100, 116, 104, 58, // ,donutWidth: - 54, 48, 44, 115, 104, 111, 119, 76, 97, 98, 101, 108, // 60,showLabel - 58, 33, 48, 44, 108, 97, 98, 101, 108, 79, 102, 102, // :!0,labelOff - 115, 101, 116, 58, 48, 44, 108, 97, 98, 101, 108, 80, // set:0,labelP - 111, 115, 105, 116, 105, 111, 110, 58, 34, 105, 110, 115, // osition:"ins - 105, 100, 101, 34, 44, 108, 97, 98, 101, 108, 73, 110, // ide",labelIn - 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 70, // terpolationF - 110, 99, 58, 98, 46, 110, 111, 111, 112, 44, 108, 97, // nc:b.noop,la - 98, 101, 108, 68, 105, 114, 101, 99, 116, 105, 111, 110, // belDirection - 58, 34, 110, 101, 117, 116, 114, 97, 108, 34, 44, 114, // :"neutral",r - 101, 118, 101, 114, 115, 101, 68, 97, 116, 97, 58, 33, // everseData:! - 49, 44, 105, 103, 110, 111, 114, 101, 69, 109, 112, 116, // 1,ignoreEmpt - 121, 86, 97, 108, 117, 101, 115, 58, 33, 49, 125, 41, // yValues:!1}) - 59, 98, 46, 80, 105, 101, 61, 98, 46, 66, 97, 115, // ;b.Pie=b.Bas - 101, 46, 101, 120, 116, 101, 110, 100, 40, 123, 99, 111, // e.extend({co - 110, 115, 116, 114, 117, 99, 116, 111, 114, 58, 101, 44, // nstructor:e, - 99, 114, 101, 97, 116, 101, 67, 104, 97, 114, 116, 58, // createChart: - 100, 44, 100, 101, 116, 101, 114, 109, 105, 110, 101, 65, // d,determineA - 110, 99, 104, 111, 114, 80, 111, 115, 105, 116, 105, 111, // nchorPositio - 110, 58, 99, 125, 41, 125, 40, 116, 104, 105, 115, 124, // n:c})}(this| - 124, 103, 108, 111, 98, 97, 108, 44, 97, 41, 44, 97, // |global,a),a - 125, 41, 59, 10, 47, 47, 35, 32, 115, 111, 117, 114, // });.//# sour - 99, 101, 77, 97, 112, 112, 105, 110, 103, 85, 82, 76, // ceMappingURL - 61, 99, 104, 97, 114, 116, 105, 115, 116, 46, 109, 105, // =chartist.mi - 110, 46, 106, 115, 46, 109, 97, 112, 0 // n.js.map -}; -static const unsigned char v3[] = { 60, 33, 68, 79, 67, 84, 89, 80, 69, 32, 104, 116, // .. < @@ -4353,25 +26,17 @@ static const unsigned char v3[] = { 32, 47, 62, 10, 32, 32, 32, 32, 60, 108, 105, 110, // />. . - 32, 32, 60, 108, 105, 110, 107, 32, 114, 101, 108, 61, // . < - 47, 104, 101, 97, 100, 62, 10, 32, 32, 60, 98, 111, // /head>. . - 32, 60, 115, 99, 114, 105, 112, 116, 32, 115, 114, 99, // diff --git a/examples/device-dashboard/web_root/main.js b/examples/device-dashboard/web_root/main.js index 600fdd02..e0d980cd 100644 --- a/examples/device-dashboard/web_root/main.js +++ b/examples/device-dashboard/web_root/main.js @@ -1,6 +1,8 @@ 'use strict'; import {Component, h, html, render, useEffect, useState, useRef} from './preact.min.js'; +const MaxMetricsDataPoints = 50; + const Nav = props => html`
@@ -28,93 +30,77 @@ const Hero = props => html`

Interactive Device Dashboard

+

This device dashboard is developed with modern and compact Preact framework, in order to fit on a very small devices. This is a hybrid server which provides both static and dynamic content. Static files, like CSS/JS/HTML - or images, are compiled into the server binary. Dynamic content is - served via the REST API. + or images, are compiled into the server binary. - This dashboard shows values kept in server memory. Many clients can open - this page. The JS code that watches state changes, reconnects on network - failures. That means if server restarts, dashboard on all connected clients - refresh automatically. - - NOTE: administrators can change settings values, whilst users cannot. - -

- This UI uses the REST API implemented by the server, which you can examine + This UI uses the REST API implemented by the device, which you can examine using curl command-line utility:

curl localhost:8000/api/config/get - get current device configuration
curl localhost:8000/api/config/set -d 'value1=7&value2=hello' - set device configuration
-
curl localhost:8000/api/message/send -d 'msg=hello' - send chat message
-
curl localhost:8000/api/watch - get notifications: chat, config, metrics
+
curl localhost:8000/api/message/send -d 'msg=hello' - send MQTT message
+
curl localhost:8000/api/watch - get notifications: MQTT messages, configuration, sensor data
`; -const ShowSettings = function(props) { - return html` -
-

Device configuration

-
- value1: - -
-
- value2: - -
-
- Server's corresponding runtime configuration structure: -
-struct config {
-  int value1;
-  char *value2;
-} s_config;
-    
-
-
`; -}; -const ChangeSettings = function(props) { - const [value1, setValue1] = useState(''); - const [value2, setValue2] = useState(''); +const Configuration = function(props) { + const [url, setUrl] = useState(''); + const [pub, setPub] = useState(''); + const [sub, setSub] = useState(''); useEffect(() => { - setValue1(props.config.value1); - setValue2(props.config.value2); - }, [props.config.value1, props.config.value2]) + setUrl(props.config.url); + setPub(props.config.pub); + setSub(props.config.sub); + }, [props.config.url, props.config.pub, props.config.sub]) const update = (name, val) => fetch('/api/config/set', { method: 'post', body: `${name}=${encodeURIComponent(val)}` }).catch(err => err); - const updatevalue1 = ev => update('value1', value1); - const updatevalue2 = ev => update('value2', value2); + const updateurl = ev => update('url', url); + const updatepub = ev => update('pub', pub); + const updatesub = ev => update('sub', sub); return html`

- Change configuration

-
- value1: - setValue1(ev.target.value)} /> -
-
- value2: - setValue2(ev.target.value)} /> - +
+
+ Publish topic: + setPub(ev.target.value)} /> +
- As soon as administrator updates configuration, - server iterates over all connected clients and sends update - notifications to all of them - so they update automatically. + Device keeps a persistent connection to the configured MQTT server. + Changes to this configuration are propagated to all dashboards: try + changing them in this dashboard and observe changes in the other opened + dashboard. +
+ Note: administrators can see this section and can change device + configuration, whilst users cannot.
`; }; @@ -155,7 +141,7 @@ const Login = function(props) { const Message = text => html`
${text}
`; -const Chat = function(props) { +const Messages = function(props) { const [message, setMessage] = useState(''); const sendmessage = ev => fetch('/api/message/send', { method: 'post', @@ -166,40 +152,105 @@ const Chat = function(props) { text => html`
${text}
`); return html`
-

User chat

+

MQTT messages

${messages}
-
- + Publish message: + setMessage(ev.target.value)} />
- Chat demonsrates - real-time bidirectional data exchange between many clients and a server. + Message gets passed to the device via REST. Then a device sends it to + the MQTT server over MQTT. All MQTT messages on a subscribed topic + received by a device, are propagated to this dashboard via the + /api/watch.
`; }; -const datefmt = unix => (new Date(unix * 1000)).toISOString().substr(14, 5); +// Expected arguments: +// data: timeseries, e.g. [ [1654361352, 19], [1654361353, 18], ... ] +// width, height, yticks, xticks, ymin, ymax, xmin, xmax +const SVG = function(props) { + // w + // +---------------------+ + // | h1 | + // | +-----------+ | + // | | | | h + // | w1 | | w2 | + // | +-----------+ | + // | h2 | + // +---------------------+ + // + let w = props.width, h = props.height, w1 = 30, w2 = 0, h1 = 8, h2 = 18; + let yticks = props.yticks || 4, xticks = props.xticks || 5; + let data = props.data || []; + let ymin = props.ymin || 0; + let ymax = props.ymax || Math.max.apply(null, data.map(p => p[1])); + let xmin = props.xmin || Math.min.apply(null, data.map(p => p[0])); + let xmax = props.xmax || Math.max.apply(null, data.map(p => p[0])); + + // Y-axis tick lines and labels + let yta = (new Array(yticks + 1)).fill(0).map((_, i) => i); // indices + let yti = i => h - h2 - (h - h1 - h2) * i / yticks; // index's Y + let ytv = i => (ymax - ymin) * i / yticks; + let ytl = y => html``; + let ytt = (y, v) => html`${v}`; + + // X-axis tick lines and labels + let datefmt = unix => (new Date(unix * 1000)).toISOString().substr(14, 5); + let xta = (new Array(xticks + 1)).fill(0).map((_, i) => i); // indices + let xti = i => w1 + (w - w1 - w2) * i / xticks; // index's X + let xtv = i => datefmt(xmin + (xmax - xmin) * i / xticks); + let xtl = x => html``; + let xtt = (x, v) => + html`${v}`; + + // Transform data points array into coordinate + let dx = v => w1 + (v - xmin) / ((xmax - xmin) || 1) * (w - w1 - w2); + let dy = v => h - h2 - (v - ymin) / ((ymax - ymin) || 1) * (h - h1 - h2); + let dd = data.map(p => [Math.round(dx(p[0])), Math.round(dy(p[1]))]); + let ddl = dd.length; + // And plot the data as element + let begin0 = ddl ? `M ${dd[0][0]},${dd[0][1]}` : `M 0,0`; + let begin = `M ${w1},${h - h2}`; // Initial point + let end = ddl ? `L ${dd[ddl - 1][0]},${h - h2}` : `L ${w1},${h - h2}`; + let series = ddl ? dd.map(p => `L ${p[0]} ${p[1]}`) : []; + + return html` + + + ${yta.map(i => ytl(yti(i)))} + ${yta.map(i => ytt(yti(i), ytv(i)))} + ${xta.map(i => xtl(xti(i)))} + ${data.length ? xta.map(i => xtt(xti(i), xtv(i))) : ''} + + +`; +}; + const Chart = function(props) { - const chartdiv = useRef(null); - const refresh = () => { - const labels = props.metrics.map(el => datefmt(el[0])); - const series = props.metrics.map(el => el[1]); - const options = {low: 0, high: 20, showArea: true}; - // console.log([labels, [series]]); - new Chartist.Line(chartdiv.current, {labels, series: [series]}, options); - }; - useEffect(() => {chartdiv && refresh()}, [props.metrics]); - + let xmax = 0, missing = MaxMetricsDataPoints - props.metrics.length; + if (missing > 0) xmax = Math.round(Date.now() / 1000) + missing; return html`

Data Chart

-
-
+
+ <${SVG} height=240 width=600 ymin=0 ymax=20 + xmax=${xmax} data=${props.metrics} /> +
+
+ This chart plots live sensor data, sent by a device via /api/watch.
`; }; @@ -235,7 +286,7 @@ const App = function(props) { } else if (msg.name == 'message') { setMessages(m => m.concat([msg.data])); } else if (msg.name == 'metrics') { - setMetrics(m => m.concat([msg.data]).splice(-10)); + setMetrics(m => m.concat([msg.data]).splice(-MaxMetricsDataPoints)); } // console.log(msg); if (!result.done) return f(reader); @@ -258,16 +309,15 @@ const App = function(props) { if (!user) return html`<${Login} login=${login} />`; const admin = user == 'admin'; - const cs = admin ? html`<${ChangeSettings} config=${config} />` : ''; + const cs = admin ? html`<${Configuration} config=${config} />` : ''; return html` <${Nav} user=${user} logout=${logout} />
<${Hero} />
<${Chart} metrics=${metrics} />
-
<${ShowSettings} config=${config} />
-
<${Chat} messages=${messages} />
${cs}
+
<${Messages} messages=${messages} />
<${Footer} />
`; diff --git a/examples/device-dashboard/web_root/style.css b/examples/device-dashboard/web_root/style.css index db1bb3bf..f06a5012 100644 --- a/examples/device-dashboard/web_root/style.css +++ b/examples/device-dashboard/web_root/style.css @@ -4,7 +4,7 @@ select, input, label::before, textarea { outline: none; box-shadow:none !importa code, pre { color: #373; font-family: monospace; font-weight: bolder; font-size: smaller; background: #ddd; padding: 0.1em 0.3em; border-radius: 0.2em; } textarea, input, .addon { font-size: 15px; border: 1px solid #ccc; padding: 0.5em; } a, a:visited, a:active { color: #55f; } -.addon { background: #eee; } +.addon { background: #eee; min-width: 9em;} .btn { background: #ccc; border-radius: 0.3em; border: 0; color: #fff; cursor: pointer; display: inline-block; padding: 0.6em 2em; font-weight: bolder; @@ -16,6 +16,7 @@ a, a:visited, a:active { color: #55f; } .d-none { display: none; } .border { border: 1px solid #ddd; } .rounded { border-radius: 0.5em; } +.nowrap { white-space: nowrap; } .msg { background: #def; border-left: 5px solid #59d; padding: 1em; margin: 1em 0; } .row { margin: 1% 0; overflow: auto; } .col { float: left; }