From 5ec4e7dcb2e5f8f0d82a6cc4b82ffaed5d83ac8b Mon Sep 17 00:00:00 2001 From: Megala Date: Thu, 1 Dec 2016 14:06:01 +0530 Subject: [PATCH 01/10] Adding IOT statistics dashboard feature --- .../build.xml | 37 + .../pom.xml | 75 + .../src/assembly/src.xml | 36 + .../carbonapps/Dashboard_1.0.0/artifact.xml | 5 + .../device-statistics-dashboard.json | 345 + .../GadgetDevicesTable_1.0.0/artifact.xml | 4 + .../devices-table/css/bootstrap.min.css | 5 + .../devices-table/css/font-wso2.min.css | 1 + .../devices-table/css/jquery.dataTables.css | 453 + .../devices-table/css/style.css | 116 + .../devices-table/fonts/font-wso2.eot | Bin 0 -> 45956 bytes .../devices-table/fonts/font-wso2.svg | 1462 ++ .../devices-table/fonts/font-wso2.ttf | Bin 0 -> 45780 bytes .../devices-table/fonts/font-wso2.woff | Bin 0 -> 87880 bytes .../devices-table/fonts/font-wso2.woff2 | Bin 0 -> 23408 bytes .../devices-table/gadget.json | 15 + .../devices-table/img/sort_asc.png | Bin 0 -> 1118 bytes .../devices-table/img/sort_asc_disabled.png | Bin 0 -> 2916 bytes .../devices-table/img/sort_both.png | Bin 0 -> 1136 bytes .../devices-table/img/sort_desc.png | Bin 0 -> 1127 bytes .../devices-table/img/sort_desc_disabled.png | Bin 0 -> 1045 bytes .../devices-table/img/thumbnail.png | Bin 0 -> 12971 bytes .../devices-table/index.xml | 80 + .../devices-table/js/VizGrammar.min.js | 17 + .../devices-table/js/VizGrammarSettings.js | 3 + .../devices-table/js/analyticsUtils.js | 104 + .../devices-table/js/d3.min.js | 5 + .../devices-table/js/dataTables.bootstrap.js | 206 + .../devices-table/js/gadgetconf.js | 38 + .../devices-table/js/jquery.dataTables.js | 15268 ++++++++++++ .../devices-table/js/jquery.js | 9789 ++++++++ .../devices-table/js/main.js | 256 + .../devices-table/js/mustache.min.js | 1 + .../devices-table/js/topojson.js | 534 + .../devices-table/js/vega.js | 20654 ++++++++++++++++ .../GadgetOverview_1.0.0/artifact.xml | 5 + .../overview/css/bootstrap.min.css | 9 + .../overview/css/style.css | 112 + .../GadgetOverview_1.0.0/overview/gadget.json | 21 + .../overview/img/phone-light.png | Bin 0 -> 2401 bytes .../overview/img/phone.png | Bin 0 -> 3915 bytes .../overview/img/thumbnail.png | Bin 0 -> 12971 bytes .../GadgetOverview_1.0.0/overview/index.xml | 112 + .../overview/js/VizGrammar.min.js | 17 + .../overview/js/VizGrammarSettings.js | 3 + .../overview/js/analyticsUtils.js | 107 + .../overview/js/bootstrap-paginator.min.js | 1 + .../overview/js/d3.min.js | 5 + .../overview/js/gadgetconf.js | 34 + .../overview/js/jquery.js | 9789 ++++++++ .../GadgetOverview_1.0.0/overview/js/main.js | 160 + .../overview/js/topojson.js | 534 + .../GadgetOverview_1.0.0/overview/js/vega.js | 20654 ++++++++++++++++ .../libs/font-wso2_1.0.2/css/font-wso2.css | 1097 + .../font-wso2_1.0.2/css/font-wso2.min.css | 1 + .../libs/font-wso2_1.0.2/fonts/font-wso2.eot | Bin 0 -> 50512 bytes .../libs/font-wso2_1.0.2/fonts/font-wso2.svg | 1621 ++ .../libs/font-wso2_1.0.2/fonts/font-wso2.ttf | Bin 0 -> 50336 bytes .../libs/font-wso2_1.0.2/fonts/font-wso2.woff | Bin 0 -> 99044 bytes .../font-wso2_1.0.2/fonts/font-wso2.woff2 | Bin 0 -> 25864 bytes .../main/resources/carbonapps/artifacts.xml | 27 + components/analytics/iot-analytics/pom.xml | 1 + .../pom.xml | 119 + .../src/main/resources/build.properties | 1 + .../src/main/resources/p2.inf | 6 + features/analytics-feature/pom.xml | 1 + 66 files changed, 83946 insertions(+) create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/build.xml create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/pom.xml create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/assembly/src.xml create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/Dashboard_1.0.0/artifact.xml create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/Dashboard_1.0.0/device-statistics-dashboard.json create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/artifact.xml create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/bootstrap.min.css create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/font-wso2.min.css create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/jquery.dataTables.css create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/style.css create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/fonts/font-wso2.eot create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/fonts/font-wso2.svg create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/fonts/font-wso2.ttf create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/fonts/font-wso2.woff create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/fonts/font-wso2.woff2 create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/gadget.json create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/img/sort_asc.png create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/img/sort_asc_disabled.png create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/img/sort_both.png create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/img/sort_desc.png create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/img/sort_desc_disabled.png create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/img/thumbnail.png create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/index.xml create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/VizGrammar.min.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/VizGrammarSettings.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/analyticsUtils.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/d3.min.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/dataTables.bootstrap.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/gadgetconf.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/jquery.dataTables.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/jquery.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/main.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/mustache.min.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/topojson.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/vega.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/artifact.xml create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/css/bootstrap.min.css create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/css/style.css create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/gadget.json create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/img/phone-light.png create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/img/phone.png create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/img/thumbnail.png create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/index.xml create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/js/VizGrammar.min.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/js/VizGrammarSettings.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/js/analyticsUtils.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/js/bootstrap-paginator.min.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/js/d3.min.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/js/gadgetconf.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/js/jquery.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/js/main.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/js/topojson.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/js/vega.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/libs/font-wso2_1.0.2/css/font-wso2.css create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/libs/font-wso2_1.0.2/css/font-wso2.min.css create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/libs/font-wso2_1.0.2/fonts/font-wso2.eot create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/libs/font-wso2_1.0.2/fonts/font-wso2.svg create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/libs/font-wso2_1.0.2/fonts/font-wso2.ttf create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/libs/font-wso2_1.0.2/fonts/font-wso2.woff create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetOverview_1.0.0/overview/libs/font-wso2_1.0.2/fonts/font-wso2.woff2 create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/artifacts.xml create mode 100644 features/analytics-feature/org.wso2.carbon.iot.device.statistics.dashboard.feature/pom.xml create mode 100644 features/analytics-feature/org.wso2.carbon.iot.device.statistics.dashboard.feature/src/main/resources/build.properties create mode 100644 features/analytics-feature/org.wso2.carbon.iot.device.statistics.dashboard.feature/src/main/resources/p2.inf diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/build.xml b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/build.xml new file mode 100644 index 000000000..064871cba --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/build.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/pom.xml b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/pom.xml new file mode 100644 index 000000000..f3216880d --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/pom.xml @@ -0,0 +1,75 @@ + + + + + + org.wso2.carbon.devicemgt-plugins + iot-analytics + 3.0.2-SNAPSHOT + ../pom.xml + + + 4.0.0 + org.wso2.carbon.iot.device.statistics.dashboard + WSO2 Carbon - IoT Server Device Statistics C-APP + pom + + + + + maven-antrun-plugin + 1.7 + + + process-resources + + + + + + + run + + + + + + maven-assembly-plugin + 2.5.5 + + ${project.artifactId}-${carbon.devicemgt.plugins.version} + false + + src/assembly/src.xml + + + + + create-archive + package + + single + + + + + + + + \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/assembly/src.xml b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/assembly/src.xml new file mode 100644 index 000000000..a5a375010 --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/assembly/src.xml @@ -0,0 +1,36 @@ + + + + src + + zip + + false + ${basedir}/src + + + ${basedir}/target/carbonapps + / + true + + + \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/Dashboard_1.0.0/artifact.xml b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/Dashboard_1.0.0/artifact.xml new file mode 100644 index 000000000..1bf2bce3c --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/Dashboard_1.0.0/artifact.xml @@ -0,0 +1,5 @@ + + + device-statistics-dashboard.json + + diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/Dashboard_1.0.0/device-statistics-dashboard.json b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/Dashboard_1.0.0/device-statistics-dashboard.json new file mode 100644 index 000000000..bb57e0bc0 --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/Dashboard_1.0.0/device-statistics-dashboard.json @@ -0,0 +1,345 @@ +{ + "id": "device-statistics-dashboard", + "title": "Device Statistics Dashboard", + "description": "", + "permissions": { + "viewers": ["admin"], + "editors": ["admin"], + "owners": ["admin"] + }, + "pages": [{ + "id": "landing", + "title": "Home", + "layout": { + "content": { + "loggedIn": { + "blocks": [{ + "id": "59136679b5befc4259658063536dc4b1", + "x": 0, + "y": 8, + "width": 12, + "height": 4, + "banner": false + }, { + "id": "ab37f5c74cbc3c1eb81093d62d9c2437", + "x": 0, + "y": 5, + "width": 3, + "height": 3, + "banner": false + }, { + "id": "22b93f2d54462048bf4bc8bd3e076b02", + "x": 0, + "y": 0, + "width": 3, + "height": 5, + "banner": false + }, { + "id": "547d9c6efe10dbbcfd17961cb074a16d", + "x": 3, + "y": 0, + "width": 9, + "height": 8, + "banner": false + }] + } + }, + "fluidLayout": false + }, + "isanon": false, + "content": { + "default": { + "22b93f2d54462048bf4bc8bd3e076b02": [{ + "id": "overview-0", + "content": { + "id": "overview", + "title": "Overview", + "type": "gadget", + "thumbnail": "fs://gadget/overview/img/thumbnail.png", + "data": { + "url": "fs://gadget/overview/index.xml" + }, + "notify": { + "publisher": { + "type": "filter", + "description": "This notifies selected filter" + } + }, + "listen": { + "subscriber": { + "type": "filter", + "description": "Used to listen to any filters" + } + }, + "styles": { + "title": "Overview", + "borders": true + }, + "options": {}, + "locale_titles": {} + } + }], + "ab37f5c74cbc3c1eb81093d62d9c2437": [{ + "id": "unsecured-devices-0", + "content": { + "id": "unsecured-devices", + "title": "Unsecured Devices", + "type": "gadget", + "thumbnail": "fs://gadget/unsecured-devices/img/thumbnail.png", + "data": { + "url": "fs://gadget/unsecured-devices/index.xml" + }, + "notify": { + "publisher": { + "type": "filter", + "description": "This notifies selected filter" + } + }, + "listen": { + "subscriber": { + "type": "filter", + "description": "Used to listen to any filters" + } + }, + "styles": { + "title": "Unsecured Devices", + "borders": true + }, + "options": {}, + "locale_titles": {} + } + }], + "547d9c6efe10dbbcfd17961cb074a16d": [{ + "id": "non-compliant-features-0", + "content": { + "id": "non-compliant-features", + "title": "Non-compliant Features", + "type": "gadget", + "thumbnail": "fs://gadget/non-compliant-features/img/thumbnail.png", + "data": { + "url": "fs://gadget/non-compliant-features/index.xml" + }, + "notify": { + "publisher": { + "type": "filter", + "description": "This notifies selected filter" + } + }, + "listen": { + "subscriber": { + "type": "filter", + "description": "Used to listen to any filters" + } + }, + "styles": { + "title": "Non-compliant Features", + "borders": true + }, + "options": {}, + "locale_titles": {} + } + }], + "59136679b5befc4259658063536dc4b1": [{ + "id": "device-grouping-0", + "content": { + "id": "device-grouping", + "title": "Device Grouping", + "type": "gadget", + "thumbnail": "fs://gadget/device-grouping/img/thumbnail.png", + "data": { + "url": "fs://gadget/device-grouping/index.xml" + }, + "notify": { + "publisher": { + "type": "filter", + "description": "This notifies selected filter" + } + }, + "listen": { + "subscriber": { + "type": "filter", + "description": "Used to listen to any filters" + } + }, + "styles": { + "title": "Device Grouping", + "borders": true + }, + "options": {}, + "locale_titles": {} + } + }] + }, + "anon": {} + } + }, { + "id": "devices", + "title": "devices", + "layout": { + "content": { + "loggedIn": { + "blocks": [{ + "id": "758d1bffefffbf99937aeff387cfd126", + "x": 0, + "y": 7, + "width": 12, + "height": 8, + "banner": false + }, { + "id": "3cd2556977ef1bc25e881547aa3f59e2", + "x": 0, + "y": 3, + "width": 12, + "height": 4, + "banner": false + }, { + "id": "ff72c9cb3f177ea5113be0bca12a15f6", + "x": 0, + "y": 0, + "width": 12, + "height": 3, + "banner": false + }] + } + }, + "fluidLayout": false + }, + "isanon": false, + "content": { + "default": { + "ff72c9cb3f177ea5113be0bca12a15f6": [{ + "id": "filtered-by-0", + "content": { + "id": "filtered-by", + "title": "Devices are Filtered by", + "type": "gadget", + "thumbnail": "fs://gadget/filtered-by/img/thumbnail.png", + "data": { + "url": "fs://gadget/filtered-by/index.xml" + }, + "notify": { + "publisher": { + "type": "filter", + "description": "This notifies selected filter" + } + }, + "listen": { + "subscriber": { + "type": "filter", + "description": "Used to listen to any filters", + "on": [{ + "from": "device-grouping-0", + "event": "publisher" + }] + } + }, + "styles": { + "no_heading": false, + "hide_gadget": false, + "titlePosition": "left", + "title": "Device Counting" + }, + "options": {}, + "locale_titles": { + "en-US": "Device Counting" + }, + "settings": { + "priority": "5" + } + } + }], + "3cd2556977ef1bc25e881547aa3f59e2": [{ + "id": "device-grouping-0", + "content": { + "id": "device-grouping", + "title": "Device Grouping", + "type": "gadget", + "thumbnail": "fs://gadget/device-grouping/img/thumbnail.png", + "data": { + "url": "fs://gadget/device-grouping/index.xml" + }, + "notify": { + "publisher": { + "type": "filter", + "description": "This notifies selected filter" + } + }, + "listen": { + "subscriber": { + "type": "filter", + "description": "Used to listen to any filters" + } + }, + "styles": { + "title": "Device Grouping", + "borders": true + }, + "options": {}, + "locale_titles": {} + } + }], + "758d1bffefffbf99937aeff387cfd126": [{ + "id": "devices-table-0", + "content": { + "id": "devices-table", + "title": "Device Listing", + "type": "gadget", + "thumbnail": "fs://gadget/devices-table/img/thumbnail.png", + "data": { + "url": "fs://gadget/devices-table/index.xml" + }, + "listen": { + "subscriber": { + "type": "filter", + "description": "Used to listen to any filters", + "on": [{ + "from": "device-grouping-0", + "event": "publisher" + }] + } + }, + "styles": { + "no_heading": false, + "hide_gadget": false, + "titlePosition": "left", + "title": "Device Listing" + }, + "options": {}, + "locale_titles": { + "en-US": "Device Listing" + }, + "settings": {} + } + }] + }, + "anon": {} + } + }], + "identityServerUrl": "", + "accessTokenUrl": "", + "apiKey": "", + "apiSecret": "", + "theme": "", + "isUserCustom": false, + "isEditorEnable": true, + "banner": { + "globalBannerExists": false, + "customBannerExists": false + }, + "landing": "landing", + "isanon": false, + "menu": [{ + "id": "landing", + "isanon": false, + "ishidden": false, + "title": "Home", + "subordinates": [] + }, { + "id": "devices", + "isanon": false, + "ishidden": false, + "title": "devices", + "subordinates": [] + }], + "hideAllMenuItems": false +} \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/artifact.xml b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/artifact.xml new file mode 100644 index 000000000..613ee508b --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/artifact.xml @@ -0,0 +1,4 @@ + + + devices-table + \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/bootstrap.min.css b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/bootstrap.min.css new file mode 100644 index 000000000..a9f35ceed --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/bootstrap.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.2.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;width:100% \9;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143 \0}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-horizontal .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/font-wso2.min.css b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/font-wso2.min.css new file mode 100644 index 000000000..106834ffc --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/font-wso2.min.css @@ -0,0 +1 @@ +.fw-fw,.fw-li{text-align:center}@font-face{font-family:font-wso2;src:local("font-wso2"),url(../fonts/font-wso2.eot?23156a9b0873a0ea7852359fde4bbc01);src:local("font-wso2"),url(../fonts/font-wso2.eot?#iefix) format("embedded-opentype"),url(../fonts/font-wso2.woff2?23156a9b0873a0ea7852359fde4bbc01) format("woff2"),url(../fonts/font-wso2.woff?23156a9b0873a0ea7852359fde4bbc01) format("woff"),url(../fonts/font-wso2.ttf?23156a9b0873a0ea7852359fde4bbc01) format("truetype"),url(../fonts/font-wso2.svg?23156a9b0873a0ea7852359fde4bbc01#font-wso2) format("svg");font-weight:400;font-style:normal}.fw,[class*=" fw-"],[class^=fw-]{font:normal normal normal 14px/1 font-wso2;display:inline-block;vertical-align:middle;line-height:1;font-weight:400;font-style:normal;font-size:inherit;font-variant:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fw-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fw-2x{font-size:2em}.fw-3x{font-size:3em}.fw-4x{font-size:4em}.fw-5x{font-size:5em}.fw-fw{width:1.28571429em}.fw-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fw-ul>li{position:relative}.fw-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em}.fw-li.fw-lg{left:-1.85714286em}.fw-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fw-background{background:#888;border-radius:.3em;padding:.4em .5em .45em}.fw-pull-left{float:left}.fw-pull-right{float:right}.fw.fw-pull-left{margin-right:.3em}.fw.fw-pull-right{margin-left:.3em}.fw-spin{-webkit-animation:fw-spin 2s infinite linear;animation:fw-spin 2s infinite linear}@-webkit-keyframes fw-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fw-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fw-pulse{-webkit-animation:fw-pulse 2s ease-out infinite;animation:fw-pulse 2s ease-out infinite}@-webkit-keyframes fw-pulse{0%,100%,30%{opacity:.3}40%{opacity:1}}@keyframes fw-pulse{0%,100%,30%{opacity:.3}40%{opacity:1}}.fw-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fw-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fw-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fw-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fw-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fw-flip-horizontal,:root .fw-flip-vertical,:root .fw-rotate-180,:root .fw-rotate-270,:root .fw-rotate-90{filter:none}.fw-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fw-stack-1x,.fw-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fw-stack-1x{line-height:inherit}.fw-stack-2x{font-size:2em}.fw-stack>.fw-stack{position:absolute;font-size:.5em}.fw-stack>.fw-stack>.fw-stack-1x.fw-stroke{font-size:1.1em;left:0;top:0}.fw-stack>.fw-stack>.fw-stack-2x.fw-stroke{font-size:2.3em;left:-.07em;top:-.07em}.fw-stack>.fw-stack.fw-move-top{top:-.2em}.fw-stack>.fw-stack.fw-move-bottom{bottom:-.2em}.fw-stack>.fw.stack.fw-move-left{left:-.5em}.fw-stack>.fw-stack.fw-move-right{right:-.5em}.fw-inverse{color:#fff}.fw-number{line-height:1.8em}.fw-add:before{content:"\e615"}.fw-airplay:before{content:"\e600"}.fw-alarm:before{content:"\e6c2"}.fw-alert:before{content:"\e6be"}.fw-android:before{content:"\e606"}.fw-api:before{content:"\e601"}.fw-apn:before{content:"\e602"}.fw-apple:before{content:"\e604"}.fw-application:before{content:"\e608"}.fw-arduino:before{content:"\e6ab"}.fw-bar-chart:before{content:"\e690"}.fw-battery:before{content:"\e60a"}.fw-blank-document:before{content:"\e60c"}.fw-block:before{content:"\e695"}.fw-bookmark:before{content:"\e60d"}.fw-bpel:before{content:"\e60e"}.fw-bpmn:before{content:"\e60f"}.fw-bug:before{content:"\e611"}.fw-build:before{content:"\e6c1"}.fw-calendar:before{content:"\e612"}.fw-camera:before{content:"\e613"}.fw-cancel:before{content:"\e618"}.fw-chat:before{content:"\e65b"}.fw-check:before{content:"\e617"}.fw-checklist:before{content:"\e619"}.fw-circle-outline:before{content:"\e61f"}.fw-circle:before{content:"\e61a"}.fw-clear:before{content:"\e61b"}.fw-clock:before{content:"\e61d"}.fw-cloud:before{content:"\e61e"}.fw-compare:before{content:"\e610"}.fw-computer:before{content:"\e653"}.fw-configarations:before{content:"\e609"}.fw-contact:before{content:"\e620"}.fw-contract:before{content:"\e614"}.fw-copy:before{content:"\e621"}.fw-dashboard:before{content:"\e622"}.fw-database:before{content:"\e623"}.fw-delete:before{content:"\e624"}.fw-deploy:before{content:"\e625"}.fw-dial-up:before{content:"\e627"}.fw-display:before{content:"\e626"}.fw-document:before{content:"\e628"}.fw-down-arrow:before{content:"\e689"}.fw-down:before{content:"\e685"}.fw-download:before{content:"\e65f"}.fw-dss:before{content:"\e62a"}.fw-ebook:before{content:"\e62b"}.fw-edit:before{content:"\e62c"}.fw-ellipsis:before{content:"\e629"}.fw-endpoint:before{content:"\e62d"}.fw-enterprise:before{content:"\e6b6"}.fw-error:before{content:"\e630"}.fw-expand:before{content:"\e61c"}.fw-export:before{content:"\e631"}.fw-factory-reset:before{content:"\e632"}.fw-fan:before{content:"\e678"}.fw-faq:before{content:"\e62f"}.fw-file-browse:before{content:"\e633"}.fw-filter:before{content:"\e634"}.fw-folder:before{content:"\e62e"}.fw-forum:before{content:"\e636"}.fw-gadget:before{content:"\e637"}.fw-globe:before{content:"\e697"}.fw-grid:before{content:"\e638"}.fw-grip:before{content:"\e6b7"}.fw-group:before{content:"\e6af"}.fw-hardware:before{content:"\e6a9"}.fw-hdd:before{content:"\e639"}.fw-heart:before{content:"\e6c3"}.fw-home:before{content:"\e63a"}.fw-hour-glass:before{content:"\e63b"}.fw-html:before{content:"\e69d"}.fw-import:before{content:"\e63c"}.fw-incoming-call:before{content:"\e63d"}.fw-info:before{content:"\e63e"}.fw-invitation:before{content:"\e63f"}.fw-jaggery:before{content:"\e640"}.fw-java-spring:before{content:"\e644"}.fw-java:before{content:"\e641"}.fw-javaee:before{content:"\e642"}.fw-javascript:before{content:"\e643"}.fw-jaxrs:before{content:"\e645"}.fw-jquery:before{content:"\e646"}.fw-key:before{content:"\e647"}.fw-laptop:before{content:"\e648"}.fw-layout:before{content:"\e6bf"}.fw-ldap:before{content:"\e649"}.fw-left-arrow:before{content:"\e68a"}.fw-left:before{content:"\e686"}.fw-lifecycle:before{content:"\e64a"}.fw-light:before{content:"\e680"}.fw-list-sort:before{content:"\e64d"}.fw-list:before{content:"\e64c"}.fw-loader:before{content:"\e6b4"}.fw-loader2:before{content:"\e6ba"}.fw-loader3:before{content:"\e6bb"}.fw-loader4:before{content:"\e6bc"}.fw-loader5:before{content:"\e6bd"}.fw-lock:before{content:"\e64e"}.fw-mail:before{content:"\e64f"}.fw-map-location:before{content:"\e650"}.fw-menu:before{content:"\e651"}.fw-message:before{content:"\e635"}.fw-minus:before{content:"\e616"}.fw-mobile:before{content:"\e652"}.fw-ms-document:before{content:"\e654"}.fw-mute:before{content:"\e655"}.fw-nodejs:before{content:"\e656"}.fw-notification:before{content:"\e60b"}.fw-organization:before{content:"\e6ac"}.fw-pages:before{content:"\e6c0"}.fw-paste:before{content:"\e658"}.fw-pdf:before{content:"\e659"}.fw-pie-chart:before{content:"\e65a"}.fw-policy:before{content:"\e67d"}.fw-proxy:before{content:"\e699"}.fw-public:before{content:"\e6ad"}.fw-publish:before{content:"\e65c"}.fw-question:before{content:"\e6b0"}.fw-raspberry:before{content:"\e6aa"}.fw-redo:before{content:"\e65d"}.fw-refresh:before{content:"\e692"}.fw-register:before{content:"\e65e"}.fw-resource:before{content:"\e660"}.fw-rest-api:before{content:"\e661"}.fw-rest-service:before{content:"\e662"}.fw-retweet:before{content:"\e6b9"}.fw-right-arrow:before{content:"\e68b"}.fw-right:before{content:"\e687"}.fw-ringing:before{content:"\e694"}.fw-rules:before{content:"\e664"}.fw-save:before{content:"\e665"}.fw-scep:before{content:"\e666"}.fw-schema:before{content:"\e667"}.fw-search:before{content:"\e668"}.fw-security-policy:before{content:"\e67e"}.fw-security:before{content:"\e669"}.fw-paper-rocket:before,.fw-send:before{content:"\e66a"}.fw-sequence:before{content:"\e66b"}.fw-server:before{content:"\e66c"}.fw-service-provider:before{content:"\e66e"}.fw-cogwheels:before,.fw-gears:before,.fw-service:before{content:"\e66d"}.fw-cogwheel:before,.fw-gear:before,.fw-settings:before{content:"\e66f"}.fw-share:before{content:"\e670"}.fw-sign-in:before{content:"\e671"}.fw-sign-out:before{content:"\e6b8"}.fw-soap:before{content:"\e672"}.fw-sort-down:before{content:"\e663"}.fw-sort-up:before{content:"\e64b"}.fw-sort:before{content:"\e673"}.fw-square-outline:before{content:"\e6b2"}.fw-square:before{content:"\e6b1"}.fw-star:before{content:"\e674"}.fw-statistics:before{content:"\e675"}.fw-store:before{content:"\e676"}.fw-subscribe:before{content:"\e677"}.fw-success:before{content:"\e657"}.fw-swagger:before{content:"\e679"}.fw-sync:before{content:"\e6b3"}.fw-table:before{content:"\e6c4"}.fw-tag:before{content:"\e67a"}.fw-task:before{content:"\e67b"}.fw-text:before{content:"\e67c"}.fw-throttling-policy:before{content:"\e67f"}.fw-tiles:before{content:"\e681"}.fw-uncheck:before{content:"\e682"}.fw-undo:before{content:"\e683"}.fw-ungroup:before{content:"\e6b5"}.fw-unmute:before{content:"\e6ae"}.fw-up-arrow:before{content:"\e688"}.fw-up:before{content:"\e684"}.fw-upload:before{content:"\e68c"}.fw-uri:before{content:"\e68d"}.fw-usb-drive:before{content:"\e68e"}.fw-user:before{content:"\e68f"}.fw-view:before{content:"\e691"}.fw-vpn:before{content:"\e603"}.fw-wadl:before{content:"\e6a1"}.fw-war:before{content:"\e69e"}.fw-warning:before{content:"\e693"}.fw-web-app:before{content:"\e696"}.fw-web-clip:before{content:"\e698"}.fw-web-service:before{content:"\e69a"}.fw-website:before{content:"\e69b"}.fw-wifi:before{content:"\e607"}.fw-windows:before{content:"\e605"}.fw-wsdl:before{content:"\e6a0"}.fw-wso2-logo:before{content:"\e6a7"}.fw-wso2:before{content:"\e6a8"}.fw-xacml:before{content:"\e69f"}.fw-xml:before{content:"\e69c"}.fw-xq:before{content:"\e6a2"}.fw-xsd:before{content:"\e6a3"}.fw-xslt:before{content:"\e6a4"}.fw-zoom-in:before{content:"\e6a5"}.fw-zoom-out:before{content:"\e6a6"} \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/jquery.dataTables.css b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/jquery.dataTables.css new file mode 100644 index 000000000..275c87e19 --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/jquery.dataTables.css @@ -0,0 +1,453 @@ +/* + * Table styles + */ +table.dataTable { + width: 100%; + margin: 0 auto; + clear: both; + border-collapse: separate; + border-spacing: 0; + /* + * Header and footer styles + */ + /* + * Body styles + */ +} +table.dataTable thead th, +table.dataTable tfoot th { + font-weight: bold; +} +table.dataTable thead th, +table.dataTable thead td { + padding: 10px 18px; + border-bottom: 1px solid #111; +} +table.dataTable thead th:active, +table.dataTable thead td:active { + outline: none; +} +table.dataTable tfoot th, +table.dataTable tfoot td { + padding: 10px 18px 6px 18px; + border-top: 1px solid #111; +} +table.dataTable thead .sorting, +table.dataTable thead .sorting_asc, +table.dataTable thead .sorting_desc { + cursor: pointer; + *cursor: hand; +} +table.dataTable thead .sorting, +table.dataTable thead .sorting_asc, +table.dataTable thead .sorting_desc, +table.dataTable thead .sorting_asc_disabled, +table.dataTable thead .sorting_desc_disabled { + background-repeat: no-repeat; + background-position: center right; +} +table.dataTable thead .sorting { + background-image: url("../img/sort_both.png"); +} +table.dataTable thead .sorting_asc { + background-image: url("../img/sort_asc.png"); +} +table.dataTable thead .sorting_desc { + background-image: url("../img/sort_desc.png"); +} +table.dataTable thead .sorting_asc_disabled { + background-image: url("../img/sort_asc_disabled.png"); +} +table.dataTable thead .sorting_desc_disabled { + background-image: url("../img/sort_desc_disabled.png"); +} +table.dataTable tbody tr { + background-color: #ffffff; +} +table.dataTable tbody tr.selected { + background-color: #B0BED9; +} +table.dataTable tbody th, +table.dataTable tbody td { + padding: 8px 10px; +} +table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td { + border-top: 1px solid #ddd; +} +table.dataTable.row-border tbody tr:first-child th, +table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th, +table.dataTable.display tbody tr:first-child td { + border-top: none; +} +table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td { + border-top: 1px solid #ddd; + border-right: 1px solid #ddd; +} +table.dataTable.cell-border tbody tr th:first-child, +table.dataTable.cell-border tbody tr td:first-child { + border-left: 1px solid #ddd; +} +table.dataTable.cell-border tbody tr:first-child th, +table.dataTable.cell-border tbody tr:first-child td { + border-top: none; +} +table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd { + background-color: #f9f9f9; +} +table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected { + background-color: #acbad4; +} +table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover { + background-color: #f6f6f6; +} +table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected { + background-color: #aab7d1; +} +table.dataTable.order-column tbody tr > .sorting_1, +table.dataTable.order-column tbody tr > .sorting_2, +table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1, +table.dataTable.display tbody tr > .sorting_2, +table.dataTable.display tbody tr > .sorting_3 { + background-color: #fafafa; +} +table.dataTable.order-column tbody tr.selected > .sorting_1, +table.dataTable.order-column tbody tr.selected > .sorting_2, +table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1, +table.dataTable.display tbody tr.selected > .sorting_2, +table.dataTable.display tbody tr.selected > .sorting_3 { + background-color: #acbad5; +} +table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 { + background-color: #f1f1f1; +} +table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 { + background-color: #f3f3f3; +} +table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 { + background-color: whitesmoke; +} +table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 { + background-color: #a6b4cd; +} +table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 { + background-color: #a8b5cf; +} +table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 { + background-color: #a9b7d1; +} +table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 { + background-color: #fafafa; +} +table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 { + background-color: #fcfcfc; +} +table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 { + background-color: #fefefe; +} +table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 { + background-color: #acbad5; +} +table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 { + background-color: #aebcd6; +} +table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 { + background-color: #afbdd8; +} +table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 { + background-color: #eaeaea; +} +table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 { + background-color: #ececec; +} +table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 { + background-color: #efefef; +} +table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 { + background-color: #a2aec7; +} +table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 { + background-color: #a3b0c9; +} +table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 { + background-color: #a5b2cb; +} +table.dataTable.no-footer { + border-bottom: 1px solid #111; +} +table.dataTable.nowrap th, table.dataTable.nowrap td { + white-space: nowrap; +} +table.dataTable.compact thead th, +table.dataTable.compact thead td { + padding: 4px 17px 4px 4px; +} +table.dataTable.compact tfoot th, +table.dataTable.compact tfoot td { + padding: 4px; +} +table.dataTable.compact tbody th, +table.dataTable.compact tbody td { + padding: 4px; +} +table.dataTable th.dt-left, +table.dataTable td.dt-left { + text-align: left; +} +table.dataTable th.dt-center, +table.dataTable td.dt-center, +table.dataTable td.dataTables_empty { + text-align: center; +} +table.dataTable th.dt-right, +table.dataTable td.dt-right { + text-align: right; +} +table.dataTable th.dt-justify, +table.dataTable td.dt-justify { + text-align: justify; +} +table.dataTable th.dt-nowrap, +table.dataTable td.dt-nowrap { + white-space: nowrap; +} +table.dataTable thead th.dt-head-left, +table.dataTable thead td.dt-head-left, +table.dataTable tfoot th.dt-head-left, +table.dataTable tfoot td.dt-head-left { + text-align: left; +} +table.dataTable thead th.dt-head-center, +table.dataTable thead td.dt-head-center, +table.dataTable tfoot th.dt-head-center, +table.dataTable tfoot td.dt-head-center { + text-align: center; +} +table.dataTable thead th.dt-head-right, +table.dataTable thead td.dt-head-right, +table.dataTable tfoot th.dt-head-right, +table.dataTable tfoot td.dt-head-right { + text-align: right; +} +table.dataTable thead th.dt-head-justify, +table.dataTable thead td.dt-head-justify, +table.dataTable tfoot th.dt-head-justify, +table.dataTable tfoot td.dt-head-justify { + text-align: justify; +} +table.dataTable thead th.dt-head-nowrap, +table.dataTable thead td.dt-head-nowrap, +table.dataTable tfoot th.dt-head-nowrap, +table.dataTable tfoot td.dt-head-nowrap { + white-space: nowrap; +} +table.dataTable tbody th.dt-body-left, +table.dataTable tbody td.dt-body-left { + text-align: left; +} +table.dataTable tbody th.dt-body-center, +table.dataTable tbody td.dt-body-center { + text-align: center; +} +table.dataTable tbody th.dt-body-right, +table.dataTable tbody td.dt-body-right { + text-align: right; +} +table.dataTable tbody th.dt-body-justify, +table.dataTable tbody td.dt-body-justify { + text-align: justify; +} +table.dataTable tbody th.dt-body-nowrap, +table.dataTable tbody td.dt-body-nowrap { + white-space: nowrap; +} + +table.dataTable, +table.dataTable th, +table.dataTable td { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +/* + * Control feature layout + */ +.dataTables_wrapper { + position: relative; + clear: both; + *zoom: 1; + zoom: 1; +} +.dataTables_wrapper .dataTables_length { + float: left; +} +.dataTables_wrapper .dataTables_filter { + float: right; + text-align: right; +} +.dataTables_wrapper .dataTables_filter input { + margin-left: 0.5em; +} +.dataTables_wrapper .dataTables_info { + clear: both; + float: left; + padding-top: 0.755em; +} +.dataTables_wrapper .dataTables_paginate { + float: right; + text-align: right; + padding-top: 0.25em; +} +.dataTables_wrapper .dataTables_paginate .paginate_button { + box-sizing: border-box; + display: inline-block; + min-width: 1.5em; + padding: 0.5em 1em; + margin-left: 2px; + text-align: center; + text-decoration: none !important; + cursor: pointer; + *cursor: hand; + color: #333 !important; + border: 1px solid transparent; + border-radius: 2px; +} +.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { + color: #333 !important; + border: 1px solid #979797; + background-color: white; + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #dcdcdc)); + /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, white 0%, #dcdcdc 100%); + /* Chrome10+,Safari5.1+ */ + background: -moz-linear-gradient(top, white 0%, #dcdcdc 100%); + /* FF3.6+ */ + background: -ms-linear-gradient(top, white 0%, #dcdcdc 100%); + /* IE10+ */ + background: -o-linear-gradient(top, white 0%, #dcdcdc 100%); + /* Opera 11.10+ */ + background: linear-gradient(to bottom, white 0%, #dcdcdc 100%); + /* W3C */ +} +.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active { + cursor: default; + color: #666 !important; + border: 1px solid transparent; + background: transparent; + box-shadow: none; +} +.dataTables_wrapper .dataTables_paginate .paginate_button:hover { + color: white !important; + border: 1px solid #111; + background-color: #585858; + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111)); + /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #585858 0%, #111 100%); + /* Chrome10+,Safari5.1+ */ + background: -moz-linear-gradient(top, #585858 0%, #111 100%); + /* FF3.6+ */ + background: -ms-linear-gradient(top, #585858 0%, #111 100%); + /* IE10+ */ + background: -o-linear-gradient(top, #585858 0%, #111 100%); + /* Opera 11.10+ */ + background: linear-gradient(to bottom, #585858 0%, #111 100%); + /* W3C */ +} +.dataTables_wrapper .dataTables_paginate .paginate_button:active { + outline: none; + background-color: #2b2b2b; + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c)); + /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); + /* Chrome10+,Safari5.1+ */ + background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); + /* FF3.6+ */ + background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); + /* IE10+ */ + background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); + /* Opera 11.10+ */ + background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%); + /* W3C */ + box-shadow: inset 0 0 3px #111; +} +.dataTables_wrapper .dataTables_paginate .ellipsis { + padding: 0 1em; +} +.dataTables_wrapper .dataTables_processing { + position: absolute; + top: 50%; + left: 50%; + width: 100%; + height: 40px; + margin-left: -50%; + margin-top: -25px; + padding-top: 20px; + text-align: center; + font-size: 1.2em; + background-color: white; + background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0))); + background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); + background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); + background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); + background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); + background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); +} +.dataTables_wrapper .dataTables_length, +.dataTables_wrapper .dataTables_filter, +.dataTables_wrapper .dataTables_info, +.dataTables_wrapper .dataTables_processing, +.dataTables_wrapper .dataTables_paginate { + color: #333; +} +.dataTables_wrapper .dataTables_scroll { + clear: both; +} +.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody { + *margin-top: -1px; + -webkit-overflow-scrolling: touch; +} +.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td { + vertical-align: middle; +} +.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th > div.dataTables_sizing, +.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td > div.dataTables_sizing { + height: 0; + overflow: hidden; + margin: 0 !important; + padding: 0 !important; +} +.dataTables_wrapper.no-footer .dataTables_scrollBody { + border-bottom: 1px solid #111; +} +.dataTables_wrapper.no-footer div.dataTables_scrollHead table, +.dataTables_wrapper.no-footer div.dataTables_scrollBody table { + border-bottom: none; +} +.dataTables_wrapper:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; +} + +@media screen and (max-width: 767px) { + .dataTables_wrapper .dataTables_info, + .dataTables_wrapper .dataTables_paginate { + float: none; + text-align: center; + } + .dataTables_wrapper .dataTables_paginate { + margin-top: 0.5em; + } +} +@media screen and (max-width: 640px) { + .dataTables_wrapper .dataTables_length, + .dataTables_wrapper .dataTables_filter { + float: none; + text-align: center; + } + .dataTables_wrapper .dataTables_filter { + margin-top: 0.5em; + } +} diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/style.css b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/style.css new file mode 100644 index 000000000..776ba4c07 --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/css/style.css @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +.table.table-bordered, +.table-bordered > tbody > tr > td, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > td, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > thead > tr > th { + border-color: #747F8F; +} + +table.table td { + padding: 5px !important; +} + +body.dark table td a, +body.dark table td a:active, +body.dark table td a:focus, +body.dark table td a:visited { + color: #fff; +} + +body.dark table td a:hover { + color: #438CAD; +} + +body.dark.nano > .nano-pane > .nano-slider { + background: #E3E5E6; + border-radius: 0; +} + + +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.42857143; + color: #353C48; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd; +} +body.dark .pagination li > a, +body.dark .pagination li > span { + color: #fff; + background-color: transparent; + border-color: #353C48; +} +.pagination li:first-child > a, +.pagination li:first-child > span { + margin-left: 0; +} +.pagination li > a:hover, +.pagination li > span:hover, +.pagination li > a:focus, +.pagination li > span:focus { + color: #353C48; + background-color: #E3E5E6; + border-color: #E3E5E6; +} +body.dark .pagination > li > a:hover, +body.dark .pagination > li > span:hover, +body.dark .pagination > li > a:focus, +body.dark .pagination > li > span:focus { + color: #353C48; + background-color: #E3E5E6; + border-color: #E3E5E6; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus, +body.dark .pagination > .active > a, +body.dark .pagination > .active > span, +body.dark .pagination > .active > a:hover, +body.dark .pagination > .active > span:hover, +body.dark .pagination > .active > a:focus, +body.dark .pagination > .active > span:focus { + z-index: 2; + color: #fff; + cursor: default; + background-color: #353C48; + border-color: #353C48; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; +} diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/fonts/font-wso2.eot b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/fonts/font-wso2.eot new file mode 100644 index 0000000000000000000000000000000000000000..025ecb8943076608f51489a6e27688a52ecf0ac7 GIT binary patch literal 45956 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�kGWum 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 literal 0 HcmV?d00001 diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/fonts/font-wso2.svg b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/fonts/font-wso2.svg new file mode 100644 index 000000000..5017f0eb0 --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/fonts/font-wso2.svg @@ -0,0 +1,1462 @@ + + + + + +Created by FontForge 20150827 at Tue Mar 01 12:45:15 2016 + By Jerad + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/fonts/font-wso2.ttf b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/fonts/font-wso2.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f604c939761e6db9d794c820005b99261029f8ad GIT binary patch literal 45780 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�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 Cg0o-% literal 0 HcmV?d00001 diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/fonts/font-wso2.woff2 b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/fonts/font-wso2.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d0aa8adf64b7c554e065baeb637ac7e99d38695f GIT binary patch literal 23408 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 XlB6U_k|arznVFfHnVFfHyL-L>!D2Nz literal 0 HcmV?d00001 diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/gadget.json b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/gadget.json new file mode 100644 index 000000000..e40d40cee --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/gadget.json @@ -0,0 +1,15 @@ +{ + "id": "devices-table", + "title": "Device Listing", + "type": "gadget", + "thumbnail": "gadget/devices-table/img/thumbnail.png", + "data": { + "url": "gadget/devices-table/index.xml" + }, + "listen": { + "subscriber": { + "type": "filter", + "description": "Used to listen to any filters" + } + } +} \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/img/sort_asc.png b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/img/sort_asc.png new file mode 100644 index 0000000000000000000000000000000000000000..a88d7975fe9017e4e5f2289a94bd1ed66a5f59dc GIT binary patch literal 1118 zcmbVLO=#0l98awuV{uMt6P_}u4rcI3idKFP2SpU%ZJIE?RL`X zK?Oyo=*5GG2SxDYK=7akJqV&hrl{aWJa`y*5xh+1%i2y4V}gO?edPc9{r;a9vjc}) zn|Cxb4AYwFmvVG%_ui)U^y_4!ujsO!qzYuv8YUIR!Aw%KiWp=JrG#@>(I!s4#N7H->?w+cxsH2#GA};A>g8lyFDGPKh!5)vuP_{)}*83+N zJUBU!S0_i+E{*Lu1iGsNB``2iK-CyCU7?y_mv{xb_pUh>ESZqe1Y2{eAZLMSIT%EO zFrdOH1W^=3p>Qk~I{J+k#s5zQ@j{%aIA!l^GQjJ zqA1Uc2%!{8qBKfMNh#9DCnKS_*uZ8?mnf!+8@f8xtz#prVg=E`3bCBLWsNmDAX~PG z<(4fQh=UOzE2?gKXRkc9XeI3Er?HlHECVd%SI}3`hy1_du3@$R$r(qT;k@Sft63UX zv;)2Ea_iH>^6+4jPK-lGM{Zw37Tz>~~zlHzO61x51(V4jcaKrcIVDG$-d>)z}S|7f!xxYhfUE}Kj zug_h&HZN}go22$5Ym1}P8~vYNx7-~$TWFJ;_nh!wFYSAQJF{CCo=xpK8^7?iY1^!H haOA^1D_`VC7fU=jcT literal 0 HcmV?d00001 diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/img/sort_asc_disabled.png b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/img/sort_asc_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..dcd7b7b8cab2304b374e6e4b9dc8c05faa2e1130 GIT binary patch literal 2916 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 literal 0 HcmV?d00001 diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/img/sort_desc.png b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/img/sort_desc.png new file mode 100644 index 0000000000000000000000000000000000000000..def071ed5afd264a036f6d9e75856366fd6ad153 GIT binary patch literal 1127 zcmbVMOK8+U7*1U&zKRu5sR)h{1;yRWWV^4}ShvZpU2*HWU2!iy(qy)cZ89;Lb+`3m zMbruv!GjkO!3qksP*5)lD)k}=Dp*ht-n@8G5m8XoN!zU+ih_Y;=AZe$?|)|~*Ri8v z(dtDU$2DZy)jV65`|pB!_H}d7Cv0h=sUqzpC0fy3%q0!dg+a#Bx^W(BM*oq=xP{{a zC9_bZ#q2IgCss)FbwX9kVQ7wPX{|b%-is;d!ri7V^Y8E8=YeU+{JuyQW*r6hnC$~D z?i}bS=mWia!r)uCftISo2rNuBP__DOPpZoN6tBeg{;|M=DHYl)^V3chvpJv;7lTL$ z26Y&PAc{gL+#HL=wg3?#C_qs_Vi3iouqZ(YW*(kdbB&UeSJN}Lm?ZN(lsb|iR4SEF zB^)Adw}29fgwG+0L8cM(`faLJgSNN6#-L(PcTI+l@K3y+Xf(g*^61+0|J+O6zN2mb?UNGh6GU@A{1+eF%d@N2(^XdVmhis(y25|iAr;gV=io5OsYy0 zB}Gv|2&GUGrBPB%s*yG^841Ug8a88lRI_zlvuiTDGuXsmv6A9qjS{y&NMEf3ay^6+ zuZK85>5PD^rkl1e`{kLAR>iJ)6dP%mSYRr@k~xQcDE=$%X{_--ITM&Og5Ml}G)wJ> zb)dhUZG9%p4iC23#JFrUCcmwHz{cugMoku~ue-kg{Mj0~%`FeCcz9jAdg}QET-kSG za`+2B_+lRTaeAVz>E`F1pN7h>B=BbGqcz13d%ywZR&4OjkNNrF_U}#EcXDGa@V52B z>JnIW7#s%CHi literal 0 HcmV?d00001 diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/img/sort_desc_disabled.png b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/img/sort_desc_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..7824973cc60fc1841b16f2cb39323cefcdc3f942 GIT binary patch literal 1045 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 hXH@SWyZC + + + + + + + + + + + + + + Devices Table + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + ]]> +
+
+ + diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/VizGrammar.min.js b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/VizGrammar.min.js new file mode 100644 index 000000000..496781afa --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/VizGrammar.min.js @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License./ + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +function getPieMark(a,b){var c;if("donut"==a.mode)var c=a.width/5*(1+a.innerRadius);else if("pie"==a.mode)var c=0;else{a.innerRadius+=.5;var c=a.width/5*(1+a.innerRadius)}var d={type:"arc",from:{data:a.title},properties:{update:{x:{field:{group:"width"},mult:.5},y:{field:{group:"height"},mult:.5},startAngle:{field:"layout_start"},endAngle:{field:"layout_end"},innerRadius:{value:c},outerRadius:{value:.4*a.width},fill:{scale:"color",field:b.names[a.color]},fillOpacity:{value:1}},hover:{fillOpacity:{value:.8}}}};return d}function getPieMidText(a,b){var c={type:"text",from:{data:a.title},properties:{update:{x:{field:{group:"width"},mult:.5},y:{field:{group:"height"},mult:.5},radius:{value:0},theta:{field:"layout_mid"},fill:[{test:"indata('arc', datum.EngineType, 'type')",scale:"color",field:b.names[a.color]},{}],align:{value:"center"},baseline:{value:"middle"},fontSize:{value:a.width/7},text:{template:"{{datum.percentage | number:'.1f'}}%"}}}};return c}function getPieText(a,b){var c={type:"text",from:{data:a.title},properties:{update:{x:{field:{group:"width"},mult:.5},y:{field:{group:"height"},mult:.5},radius:{value:.5*a.width},theta:{field:"layout_mid"},fill:{value:"#000"},align:{value:"center"},baseline:{value:"middle"},text:{template:"{{datum.percentage | number:'.1f'}}%"}}}};return c}function getAreaMark(a,b){var c;return c=-1!=a.color?{type:"group",from:{data:a.title,transform:[{type:"facet",groupby:[b.names[a.color]]}]},marks:[{type:"area",properties:{update:{x:{scale:"x",field:b.names[a.x]},y:{scale:"y",field:b.names[a.y]},y2:{scale:"y",value:0},fill:{scale:"color",field:b.names[a.color]},strokeWidth:{value:2},strokeOpacity:{value:1}},hover:{strokeOpacity:{value:.5}}}}]}:{type:"area",from:{data:a.title},properties:{update:{x:{scale:"x",field:b.names[a.x]},y:{scale:"y",field:b.names[a.y]},y2:{scale:"y",value:0},fill:{value:a.markColor},strokeWidth:{value:2},fillOpacity:{value:1}},hover:{fillOpacity:{value:.5}}}}}function getBarMark(a,b){var c;c="left"==a.orientation?{y:{scale:"x",field:b.names[a.x]},height:{scale:"x",band:!0,offset:-1},x:{scale:"y",field:b.names[a.y]},x2:{scale:"y",value:0},fill:{value:a.markColor},fillOpacity:{value:1}}:{x:{scale:"x",field:b.names[a.x]},width:{scale:"x",band:!0,offset:-1},y:{scale:"y",field:b.names[a.y]},y2:{scale:"y",value:0},fill:{value:a.markColor},fillOpacity:{value:1}};var d={type:"rect",from:{data:a.title},properties:{update:c,hover:{fillOpacity:{value:.5}}}};return d}function getStackBarMark(a,b){return"left"==a.orientation?mark={type:"rect",from:{data:a.title,transform:[{type:"stack",groupby:[b.names[a.x]],sortby:[b.names[a.color]],field:b.names[a.y]}]},properties:{update:{y:{scale:"x",field:b.names[a.x]},height:{scale:"x",band:!0,offset:-1},x:{scale:"y",field:"layout_start"},x2:{scale:"y",field:"layout_end"},fill:{scale:"color",field:b.names[a.color]},fillOpacity:{value:1}},hover:{fillOpacity:{value:.5}}}}:mark={type:"rect",from:{data:a.title,transform:[{type:"stack",groupby:[b.names[a.x]],sortby:[b.names[a.color]],field:b.names[a.y]}]},properties:{update:{x:{scale:"x",field:b.names[a.x]},width:{scale:"x",band:!0,offset:-1},y:{scale:"y",field:"layout_start"},y2:{scale:"y",field:"layout_end"},fill:{scale:"color",field:b.names[a.color]},fillOpacity:{value:1}},hover:{fillOpacity:{value:.5}}}},mark}function getGroupBarMark(a,b){var c;return c="left"==a.orientation?{type:"group",from:{data:a.title,transform:[{type:"facet",groupby:[b.names[a.x]]}]},properties:{update:{y:{scale:"x",field:"key"},height:{scale:"x",band:!0}}},scales:[{name:"pos",type:"ordinal",range:"height",domain:{field:b.names[a.color]}}],marks:[{name:"bars",type:"rect",properties:{update:{y:{scale:"pos",field:b.names[a.color]},height:{scale:"pos",band:!0},x:{scale:"y",field:b.names[a.y]},x2:{scale:"y",value:0},fill:{scale:"color",field:b.names[a.color]},fillOpacity:{value:1}},hover:{fillOpacity:{value:.5}}}}]}:{type:"group",from:{data:a.title,transform:[{type:"facet",groupby:[b.names[a.x]]}]},properties:{update:{x:{scale:"x",field:"key"},width:{scale:"x",band:!0}}},scales:[{name:"pos",type:"ordinal",range:"width",domain:{field:b.names[a.color]}}],marks:[{name:"bars",type:"rect",properties:{update:{x:{scale:"pos",field:b.names[a.color]},width:{scale:"pos",band:!0},y:{scale:"y",field:b.names[a.y]},y2:{scale:"y",value:0},fill:{scale:"color",field:b.names[a.color]},fillOpacity:{value:1}},hover:{fillOpacity:{value:.5}}}}]}}function getLineMark(a,b){var c;return c=-1!=a.color?{type:"group",from:{data:a.title,transform:[{type:"facet",groupby:[b.names[a.color]]}]},marks:[{type:"line",properties:{update:{x:{scale:"x",field:b.names[a.x]},y:{scale:"y",field:b.names[a.y]},stroke:{scale:"color",field:b.names[a.color]},strokeWidth:{value:2},strokeOpacity:{value:1}},hover:{strokeOpacity:{value:.5}}}}]}:{type:"line",from:{data:a.title},properties:{update:{x:{scale:"x",field:b.names[a.x]},y:{scale:"y",field:b.names[a.y]},stroke:{value:a.markColor},strokeWidth:{value:2},strokeOpacity:{value:1}},hover:{strokeOpacity:{value:.5}}}}}function getTopoJson(a,b){var c,d=a.width,e=a.height,f=a.charts[0].mapType,g="mercator";"usa"==f?(d=a.width-160,e=a.height-130,c=a.height+270,g="albersUsa"):"europe"==f?(d=(a.width/2+100)/2,e=a.height+150,c=a.height+50):(c=a.width/640*120,d=a.width/2+10,e=a.height/2+40);var h=a.geoCodesUrl,i={name:"geoData",url:h,format:{type:"topojson",feature:"units"},transform:[{type:"geopath",value:"data",scale:c,translate:[d,e],projection:g},{type:"lookup",keys:["id"],on:a.title,onKey:b.names[a.x],as:["zipped"],"default":{v:null,country:"No data"}}]};return i}function getMapMark(a,b){var c=[{name:"map",type:"path",from:{data:"geoData"},properties:{enter:{path:{field:"layout_path"}},update:{fill:{rule:[{predicate:{name:"isNotNull",id:{field:"zipped.v"}},scale:"color",field:"zipped.v"},{value:"grey"}]}},hover:{fill:{value:"#989898"}}}},{type:"group",from:{data:a.title,transform:[{type:"filter",test:"datum."+b.names[a.x]+" == tooltipSignal.datum."+b.names[a.x]}]},properties:{update:{x:{signal:"tooltipSignal.x",offset:-5},y:{signal:"tooltipSignal.y",offset:20},width:{value:100},height:{value:20},fill:{value:a.tooltip.color}}},marks:[{type:"text",properties:{update:{x:{value:6},y:{value:14},text:{template:"{{tooltipSignal.datum.unitName}} {{tooltipSignal.datum.v}}"},fill:{value:"black"}}}}]}];return c}function getMapSignals(){var a=[{name:"tooltipSignal",init:{expr:"{x: 0, y: 0, datum: {} }"},streams:[{type:"@map:mouseover",expr:"{x: eventX(), y: eventY(), datum: eventItem().datum.zipped}"},{type:"@map:mouseout",expr:"{x: 0, y: 0, datum: {} }"}]}];return a}function getMapPredicates(){var a={name:"isNotNull",type:"!=",operands:[{value:null},{arg:"id"}]};return a}function getMapLegends(a,b){var c={fill:"color",title:b.names[a.y],properties:{gradient:{stroke:{value:"transparent"}},title:{fontSize:{value:14}},legend:{x:{value:0},y:{value:a.height-40}}}};return c}function loadGeoMapCodes(a){var b,c=new XMLHttpRequest;return c.overrideMimeType("application/json"),c.open("GET",a,!1),c.onreadystatechange=function(){4==c.readyState&&"200"==c.status&&(b=JSON.parse(c.responseText))},c.send(null),b}function getMapCode(a,b,c){if("world"==b||"europe"==b)for(d=0;d"),$("#wrapper").append("
"),$tip=$("#tip"),$tip.empty();var i=g.datum,j="";for(var k in i)if(i.hasOwnProperty(k))if(void 0!=f){for(var l=0;l"+f[l]+" ("+k+"):"+i[k]+"

";break}}else e.names[d.x]==k&&(j+="

X ("+k+"):"+i[k]+"

"),e.names[d.y]==k&&(j+="

Y ("+k+"):"+i[k]+"

");$tip.append(j);var n=h.width,o=h.height,p=$('.marks[style*="width"]');p.length>0&&(n=parseFloat($(".marks")[0].style.width),o=parseFloat($(".marks")[0].style.height));var q,r=$tip.width(),s=$tip.height(),t=g.bounds.x2+d.padding.left+r,u=o-g.bounds.y2-d.padding.top+s,v=g.bounds.y2+d.padding.top-s;q=t>n?g.bounds.x2+d.padding.left-r:g.bounds.x2+d.padding.left,u>o&&(v=g.bounds.y2+d.padding.top),$tip.css({left:q,top:v}).show()}else $("#wrapper #tip").length&&$tip.remove(),$(a).closest("#wrapper").length&&$(a).unwrap()})}function createTooltip(a){document.getElementById(a.replace("#","")).innerHTML=document.getElementById(a.replace("#","")).innerHTML+"
"}function bindTooltip(a,b,c,d){b.on("mouseover",function(b,e){if(null!=e&&e.mark.marktype==c.tooltip.type){var f=document.getElementById(a.replace("#","")+"-tooltip"),g="";if(null!=e.datum[d.names[c.x]]){var h;if(null==c.tooltip.content){if("time"==d.types[c.x]){var i=d3.time.format(c.dateFormat);h=i(new Date(parseInt(e.datum[d.names[c.x]])))}else h=e.datum[d.names[c.x]];g+=""+d.names[c.x]+" : "+h+"
",null!=e.datum[d.names[c.y]]&&(g+=""+d.names[c.y]+" : "+e.datum[d.names[c.y]]+"
")}else for(var j=0;j"+c.tooltip.content[j]+"
: "+h+"
":h+"
"}}""!=g&&(f.innerHTML=g,f.style.padding="5px 5px 5px 5px"),window.onmousemove=function(b){f.style.top=b.clientY+15+"px",f.style.left=b.clientX+10+"px",f.style.zIndex=1e3,f.style.backgroundColor=c.tooltip.color,f.style.position="fixed",f.offsetWidth+b.clientX-(cumulativeOffset(document.getElementById(a.replace("#",""))).left+c.padding.left)>document.getElementById(a.replace("#","")).offsetWidth&&(f.style.left=b.clientX-f.offsetWidth+"px"),b.clientY-(cumulativeOffset(document.getElementById(a.replace("#",""))).top+500)>document.getElementById(a.replace("#","")).offsetHeight&&(f.style.top=b.clientY-400+"px")}}}).on("mouseout",function(b,c){var d=document.getElementById(a.replace("#","")+"-tooltip");d.style.padding="0px 0px 0px 0px",d.innerHTML=""}).update()}function cumulativeOffset(a){var b=0,c=0;do b+=a.offsetTop||0,c+=a.offsetLeft||0,a=a.offsetParent;while(a);return{top:b,left:c}}function getXYAxes(a,b,c,d,e){var f={ticks:{stroke:{value:a.axesColor},strokeWidth:{value:a.axesSize}},labels:{fill:{value:a.axesColor},fontSize:{value:a.axesFontSize}},title:{fontSize:{value:a.titleFontSize},fill:{value:a.titleFontColor}},axis:{stroke:{value:a.axesColor},strokeWidth:{value:a.axesSize}}},g={ticks:{stroke:{value:a.axesColor},strokeWidth:{value:a.axesSize}},labels:{fill:{value:a.axesColor},fontSize:{value:a.axesFontSize}},title:{fontSize:{value:a.titleFontSize},fill:{value:a.titleFontColor}},axis:{stroke:{value:a.axesColor},strokeWidth:{value:a.axesSize}}};a.xAxisAngle&&(f.labels.angle={value:45},f.labels.align={value:"left"},f.labels.baseline={value:"middle"}),a.yAxisAngle&&(g.labels.angle={value:45},g.labels.align={value:"left"},g.labels.baseline={value:"middle"});var h=[{type:b,scale:c,grid:a.grid,format:a.xFormat,ticks:a.xTicks,title:a.xTitle,properties:f},{type:d,scale:e,grid:a.grid,format:a.yFormat,ticks:a.yTicks,title:a.yTitle,properties:g}];return h}function getRangeSignals(a,b){return b.push({name:"range_start",streams:[{type:"mousedown",expr:"eventX()",scale:{name:"x",invert:!0}}]}),b.push({name:"range_end",streams:[{type:"mousedown, [mousedown, window:mouseup] > window:mousemove",expr:"clamp(eventX(), 0, "+a.width+")",scale:{name:"x",invert:!0}}]}),b}function getRangeMark(a,b){return b.push({type:"rect",properties:{enter:{y:{value:0},height:{value:a.height},fill:{value:a.rangeColor},fillOpacity:{value:.3}},update:{x:{scale:"x",signal:"range_start"},x2:{scale:"x",signal:"range_end"}}}}),b}function getLegend(a){var b=[{fill:"color",title:"Legend",offset:0,properties:{symbols:{stroke:{value:"transparent"}},title:{fill:{value:a.legendTitleColor},fontSize:{value:a.legendTitleFontSize}},labels:{fill:{value:a.legendTextColor},fontSize:{value:a.ledgendTextFontSize}}}}];return b}function drawChart(a,b,c){var d=function(d){if(b.config.tooltip.enabled?(createTooltip(a),b.view=d({el:a}).renderer(b.config.renderer).update(),bindTooltip(a,b.view,b.config,b.metadata)):b.view=d({el:a}).renderer(b.config.renderer).update(),null!=c)for(var e=0;e=this.config.maxLength){for(var f=[],g=d.length-e,h=g;h=this.config.maxLength){for(var e=[],f=c.length-d,g=f;g=this.config.maxLength){for(var e=[],f=c.length-d,g=f;g-1&&(h=!0,f.splice(j,1)),h||f.splice(f.length-1,1)}else this.view.data(this.config.title).insert([a[i]]),this.view.update()}var k,l=function(a){return a[b]==k};for(i=0;i=this.config.maxLength){for(var e=[],f=c.length-d,g=f;g

"+c+"

";document.getElementById(a).innerHTML=d,this.view=b},number.prototype.insert=function(a){document.getElementById(this.view).innerHTML=a[a.length-1][this.metadata.names[this.config.x]]};var scatter=function(a,b){this.metadata=a[0].metadata;var c=[];this.spec={},b=checkConfig(b,this.metadata),this.config=b,a[0].name=b.title;var d={name:"x",type:this.metadata.types[b.x],range:"width",zero:b.zero,domain:{data:b.title,field:this.metadata.names[b.x]}},e={name:"y",type:this.metadata.types[b.y],range:"height",zero:b.zero,domain:{data:b.title,field:this.metadata.names[b.y]}},f={name:"size",type:"linear",range:[0,576],domain:{data:b.title,field:this.metadata.names[b.size]}},g={name:"color",type:this.metadata.types[b.color],range:b.colorScale,domain:{data:b.title,field:this.metadata.names[b.color]}},h=[d,e,f,g],i=getXYAxes(b,"x","x","y","y");c.push(getScatterMark(b,this.metadata)),this.spec.width=b.width,this.spec.height=b.height,this.spec.axes=i,this.spec.data=a,this.spec.scales=h,this.spec.padding=b.padding,this.spec.marks=c};scatter.prototype.draw=function(a,b){var c=function(c){if(this.config.tooltip.enabled?(createTooltip(a),this.view=c({el:a}).renderer(this.config.renderer).update(),bindTooltip(a,this.view,this.config,this.metadata)):this.view=c({el:a}).renderer(this.config.renderer).update(),null!=b)for(var d=0;d=this.config.maxLength){for(var f=[],g=d.length-e,h=g;h-1&&(j=!0,g.splice(k,1)),j||g.splice(g.length-1,1)}else this.view.data(this.config.title).insert([a[i]]),this.view.update()}var l,m=function(a){return a[b]==l};for(i=0;ib.maxLength){var k=d3.select("tbody").selectAll("tr").data().slice(d3.select("tbody").selectAll("tr").data().length-b.maxLength,b.maxLength);d3.select("tbody").selectAll("tr").data(k,function(a){return a}).remove()}};var extend=function(a,b){var c,d={};for(c in a)Object.prototype.hasOwnProperty.call(a,c)&&(d[c]=a[c]);for(c in b)Object.prototype.hasOwnProperty.call(b,c)&&(d[c]=b[c]);return d}; \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/VizGrammarSettings.js b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/VizGrammarSettings.js new file mode 100644 index 000000000..6753c82d4 --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/VizGrammarSettings.js @@ -0,0 +1,3 @@ +var vizgSettings = { + colorScale: ["#343B59","#5a638c","#396B94","#438CAD","#BBBCCD","#597CC3"] +} \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/analyticsUtils.js b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/analyticsUtils.js new file mode 100644 index 000000000..ed764dab5 --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/analyticsUtils.js @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +function addURLParam(key, value) { + updateURLParam(key, value) +} + +function updateURLParam(key, value) { + if (typeof (history.pushState) === "undefined") { + console.warn("Browser doesn't support updating the url."); + return; + } + + var searchPath = window.parent.location.search, + replace = new RegExp("(&|\\?)" + key + "=(.*?)(&|$)", "g"), + urlParams = getURLParams(), + values = [], + unfiltered = "?filtered=false"; + + if (Object.prototype.toString.call( value ) === '[object Array]') { + values = value; + } else if (Object.prototype.toString.call( value ) === "[object String]"){ + values.push(value); + } else { + console.error("value should be either an array of strings or a string"); + return; + } + + if (searchPath.replace(unfiltered, "")) { + if (key in urlParams) { + if (values.length > 0) { + searchPath = searchPath.replace(replace, "$1" + key + "=" + values.toString() + "$3"); + } else { + if (searchPath.replace(replace, "")) { + searchPath = searchPath.replace(replace, "$1").replace(/&$/, ''); + } else { + searchPath = unfiltered; + } + } + } else if (values.length > 0) { + searchPath += "&" + key + "=" + values.toString(); + } + } else if (values.length > 0) { + searchPath = searchPath.replace(unfiltered, ""); + searchPath += "?" + key + "=" + values.toString(); + } + window.parent.history.pushState({}, "", searchPath); +} + +function removeURLParam(key) { + updateURLParam(key, []); +} + +function getURLParam(key) { + var params = getURLParams(); + if (key in params) { + return params[key]; + } else { + return null; + } +} + +function getURLParams() { + var match, + pl = /\+/g, + search = /([^&=]+)=?([^&]*)/g, + decode = function (s) { + return decodeURIComponent(s.replace(pl, " ")); + }, + query = window.parent.location.search.substring(1), + urlParams = {}; + while (match = search.exec(query)) + urlParams[decode(match[1])] = decode(match[2]).split(','); + delete urlParams["filtered"]; + return urlParams; +} + +function isFilteredDashboard() { + //iot-analytics-dashboard-drilled + var urlComponents = window.parent.location.pathname.split('/'); + return urlComponents.indexOf('filter') != -1; + +} + +function getFilteringUrl() { + var url = window.parent.location.search.substring(1); + url = url.split("g_").join(""); + return url; +} diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/d3.min.js b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/d3.min.js new file mode 100644 index 000000000..e3ee0f911 --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/d3.min.js @@ -0,0 +1,5 @@ +!function(){function n(n,t){return t>n?-1:n>t?1:n>=t?0:0/0}function t(n){return null===n?0/0:+n}function e(n){return!isNaN(n)}function r(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)<0?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)>0?u=i:r=i+1}return r}}}function u(n){return n.length}function i(n){for(var t=1;n*t%1;)t*=10;return t}function o(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function a(){this._=Object.create(null)}function c(n){return(n+="")===da||n[0]===ma?ma+n:n}function l(n){return(n+="")[0]===ma?n.slice(1):n}function s(n){return c(n)in this._}function f(n){return(n=c(n))in this._&&delete this._[n]}function h(){var n=[];for(var t in this._)n.push(l(t));return n}function g(){var n=0;for(var t in this._)++n;return n}function p(){for(var n in this._)return!1;return!0}function v(){this._=Object.create(null)}function d(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function m(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=ya.length;r>e;++e){var u=ya[e]+t;if(u in n)return u}}function y(){}function M(){}function x(n){function t(){for(var t,r=e,u=-1,i=r.length;++ue;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function O(n){return xa(n,Aa),n}function Y(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t0&&(n=n.slice(0,a));var l=Ca.get(n);return l&&(n=l,c=V),a?t?u:r:t?y:i}function Z(n,t){return function(e){var r=ta.event;ta.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{ta.event=r}}}function V(n,t){var e=Z(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function X(){var n=".dragsuppress-"+ ++qa,t="click"+n,e=ta.select(oa).on("touchmove"+n,b).on("dragstart"+n,b).on("selectstart"+n,b);if(za){var r=ia.style,u=r[za];r[za]="none"}return function(i){if(e.on(n,null),za&&(r[za]=u),i){var o=function(){e.on(t,null)};e.on(t,function(){b(),o()},!0),setTimeout(o,0)}}}function $(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>La&&(oa.scrollX||oa.scrollY)){e=ta.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();La=!(u.f||u.e),e.remove()}return La?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function B(){return ta.event.changedTouches[0].identifier}function W(){return ta.event.target}function J(){return oa}function G(n){return n>0?1:0>n?-1:0}function K(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function Q(n){return n>1?0:-1>n?Da:Math.acos(n)}function nt(n){return n>1?ja:-1>n?-ja:Math.asin(n)}function tt(n){return((n=Math.exp(n))-1/n)/2}function et(n){return((n=Math.exp(n))+1/n)/2}function rt(n){return((n=Math.exp(2*n))-1)/(n+1)}function ut(n){return(n=Math.sin(n/2))*n}function it(){}function ot(n,t,e){return this instanceof ot?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof ot?new ot(n.h,n.s,n.l):xt(""+n,bt,ot):new ot(n,t,e)}function at(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,new dt(u(n+120),u(n),u(n-120))}function ct(n,t,e){return this instanceof ct?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof ct?new ct(n.h,n.c,n.l):n instanceof st?ht(n.l,n.a,n.b):ht((n=_t((n=ta.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new ct(n,t,e)}function lt(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new st(e,Math.cos(n*=Fa)*t,Math.sin(n)*t)}function st(n,t,e){return this instanceof st?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof st?new st(n.l,n.a,n.b):n instanceof ct?lt(n.h,n.c,n.l):_t((n=dt(n)).r,n.g,n.b):new st(n,t,e)}function ft(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=gt(u)*Ja,r=gt(r)*Ga,i=gt(i)*Ka,new dt(vt(3.2404542*u-1.5371385*r-.4985314*i),vt(-.969266*u+1.8760108*r+.041556*i),vt(.0556434*u-.2040259*r+1.0572252*i))}function ht(n,t,e){return n>0?new ct(Math.atan2(e,t)*Ha,Math.sqrt(t*t+e*e),n):new ct(0/0,0/0,n)}function gt(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function pt(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function vt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function dt(n,t,e){return this instanceof dt?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof dt?new dt(n.r,n.g,n.b):xt(""+n,dt,at):new dt(n,t,e)}function mt(n){return new dt(n>>16,255&n>>8,255&n)}function yt(n){return mt(n)+""}function Mt(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function xt(n,t,e){var r,u,i,o=0,a=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(n))switch(u=r[2].split(","),r[1]){case"hsl":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(St(u[0]),St(u[1]),St(u[2]))}return(i=tc.get(n))?t(i.r,i.g,i.b):(null==n||"#"!==n.charAt(0)||isNaN(i=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&i)>>4,o=o>>4|o,a=240&i,a=a>>4|a,c=15&i,c=c<<4|c):7===n.length&&(o=(16711680&i)>>16,a=(65280&i)>>8,c=255&i)),t(o,a,c))}function bt(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),new ot(r,u,c)}function _t(n,t,e){n=wt(n),t=wt(t),e=wt(e);var r=pt((.4124564*n+.3575761*t+.1804375*e)/Ja),u=pt((.2126729*n+.7151522*t+.072175*e)/Ga),i=pt((.0193339*n+.119192*t+.9503041*e)/Ka);return st(116*u-16,500*(r-u),200*(u-i))}function wt(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function St(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function kt(n){return"function"==typeof n?n:function(){return n}}function Et(n){return n}function At(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Nt(t,e,n,r)}}function Nt(n,t,e,r){function u(){var n,t=c.status;if(!t&&zt(c)||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=ta.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,l=null;return!oa.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=ta.event;ta.event=n;try{o.progress.call(i,c)}finally{ta.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(l=n,i):l},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(ra(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var s in a)c.setRequestHeader(s,a[s]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=l&&(c.responseType=l),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},ta.rebind(i,o,"on"),null==r?i:i.get(Ct(r))}function Ct(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function zt(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}function qt(){var n=Lt(),t=Tt()-n;t>24?(isFinite(t)&&(clearTimeout(ic),ic=setTimeout(qt,t)),uc=0):(uc=1,ac(qt))}function Lt(){var n=Date.now();for(oc=ec;oc;)n>=oc.t&&(oc.f=oc.c(n-oc.t)),oc=oc.n;return n}function Tt(){for(var n,t=ec,e=1/0;t;)t.f?t=n?n.n=t.n:ec=t.n:(t.t8?function(n){return n/e}:function(n){return n*e},symbol:n}}function Pt(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r&&e?function(n,t){for(var u=n.length,i=[],o=0,a=r[0],c=0;u>0&&a>0&&(c+a+1>t&&(a=Math.max(1,t-c)),i.push(n.substring(u-=a,u+a)),!((c+=a+1)>t));)a=r[o=(o+1)%r.length];return i.reverse().join(e)}:Et;return function(n){var e=lc.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",c=e[4]||"",l=e[5],s=+e[6],f=e[7],h=e[8],g=e[9],p=1,v="",d="",m=!1,y=!0;switch(h&&(h=+h.substring(1)),(l||"0"===r&&"="===o)&&(l=r="0",o="="),g){case"n":f=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+g.toLowerCase());case"c":y=!1;case"d":m=!0,h=0;break;case"s":p=-1,g="r"}"$"===c&&(v=u[0],d=u[1]),"r"!=g||h||(g="g"),null!=h&&("g"==g?h=Math.max(1,Math.min(21,h)):("e"==g||"f"==g)&&(h=Math.max(0,Math.min(20,h)))),g=sc.get(g)||Ut;var M=l&&f;return function(n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===a?"":a;if(0>p){var c=ta.formatPrefix(n,h);n=c.scale(n),e=c.symbol+d}else n*=p;n=g(n,h);var x,b,_=n.lastIndexOf(".");if(0>_){var w=y?n.lastIndexOf("e"):-1;0>w?(x=n,b=""):(x=n.substring(0,w),b=n.substring(w))}else x=n.substring(0,_),b=t+n.substring(_+1);!l&&f&&(x=i(x,1/0));var S=v.length+x.length+b.length+(M?0:u.length),k=s>S?new Array(S=s-S+1).join(r):"";return M&&(x=i(k+x,k.length?s-b.length:1/0)),u+=v,n=x+b,("<"===o?u+n+k:">"===o?k+u+n:"^"===o?k.substring(0,S>>=1)+u+n+k.substring(S):u+(M?n:k+n))+e}}}function Ut(n){return n+""}function jt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ft(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new hc(e-1)),1),e}function i(n,e){return t(n=new hc(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{hc=jt;var r=new jt;return r._=n,o(r,t,e)}finally{hc=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Ht(n);return c.floor=c,c.round=Ht(r),c.ceil=Ht(u),c.offset=Ht(i),c.range=a,n}function Ht(n){return function(t,e){try{hc=jt;var r=new jt;return r._=t,n(r,e)._}finally{hc=Date}}}function Ot(n){function t(n){function t(t){for(var e,u,i,o=[],a=-1,c=0;++aa;){if(r>=l)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=C[o in pc?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){_.lastIndex=0;var r=_.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){x.lastIndex=0;var r=x.exec(t.slice(e));return r?(n.w=b.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){E.lastIndex=0;var r=E.exec(t.slice(e));return r?(n.m=A.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,N.c.toString(),t,r)}function c(n,t,r){return e(n,N.x.toString(),t,r)}function l(n,t,r){return e(n,N.X.toString(),t,r)}function s(n,t,e){var r=M.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(n){try{hc=jt;var t=new hc;return t._=n,r(t)}finally{hc=Date}}var r=t(n);return e.parse=function(n){try{hc=jt;var t=r.parse(n);return t&&t._}finally{hc=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ae;var M=ta.map(),x=It(v),b=Zt(v),_=It(d),w=Zt(d),S=It(m),k=Zt(m),E=It(y),A=Zt(y);p.forEach(function(n,t){M.set(n.toLowerCase(),t)});var N={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return m[n.getMonth()]},c:t(f),d:function(n,t){return Yt(n.getDate(),t,2)},e:function(n,t){return Yt(n.getDate(),t,2)},H:function(n,t){return Yt(n.getHours(),t,2)},I:function(n,t){return Yt(n.getHours()%12||12,t,2)},j:function(n,t){return Yt(1+fc.dayOfYear(n),t,3)},L:function(n,t){return Yt(n.getMilliseconds(),t,3)},m:function(n,t){return Yt(n.getMonth()+1,t,2)},M:function(n,t){return Yt(n.getMinutes(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return Yt(n.getSeconds(),t,2)},U:function(n,t){return Yt(fc.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Yt(fc.mondayOfYear(n),t,2)},x:t(h),X:t(g),y:function(n,t){return Yt(n.getFullYear()%100,t,2)},Y:function(n,t){return Yt(n.getFullYear()%1e4,t,4)},Z:ie,"%":function(){return"%"}},C={a:r,A:u,b:i,B:o,c:a,d:Qt,e:Qt,H:te,I:te,j:ne,L:ue,m:Kt,M:ee,p:s,S:re,U:Xt,w:Vt,W:$t,x:c,X:l,y:Wt,Y:Bt,Z:Jt,"%":oe};return t}function Yt(n,t,e){var r=0>n?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function It(n){return new RegExp("^(?:"+n.map(ta.requote).join("|")+")","i")}function Zt(n){for(var t=new a,e=-1,r=n.length;++e68?1900:2e3)}function Kt(n,t,e){vc.lastIndex=0;var r=vc.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function Qt(n,t,e){vc.lastIndex=0;var r=vc.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function ne(n,t,e){vc.lastIndex=0;var r=vc.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function te(n,t,e){vc.lastIndex=0;var r=vc.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function ee(n,t,e){vc.lastIndex=0;var r=vc.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function re(n,t,e){vc.lastIndex=0;var r=vc.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ue(n,t,e){vc.lastIndex=0;var r=vc.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function ie(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=0|va(t)/60,u=va(t)%60;return e+Yt(r,"0",2)+Yt(u,"0",2)}function oe(n,t,e){dc.lastIndex=0;var r=dc.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ae(n){for(var t=n.length,e=-1;++e=0?1:-1,a=o*e,c=Math.cos(t),l=Math.sin(t),s=i*l,f=u*c+s*Math.cos(a),h=s*o*Math.sin(a);_c.add(Math.atan2(h,f)),r=n,u=c,i=l}var t,e,r,u,i;wc.point=function(o,a){wc.point=n,r=(t=o)*Fa,u=Math.cos(a=(e=a)*Fa/2+Da/4),i=Math.sin(a)},wc.lineEnd=function(){n(t,e)}}function pe(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function ve(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function de(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function me(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ye(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function Me(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function xe(n){return[Math.atan2(n[1],n[0]),nt(n[2])]}function be(n,t){return va(n[0]-t[0])a;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c=new qe(e,n,null,!0),l=new qe(e,null,c,!1);c.o=l,i.push(c),o.push(l),c=new qe(r,n,null,!1),l=new qe(r,null,c,!0),c.o=l,i.push(c),o.push(l)}}),o.sort(t),ze(i),ze(o),i.length){for(var a=0,c=e,l=o.length;l>a;++a)o[a].e=c=!c;for(var s,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((g=g.n)===h)return;s=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var a=0,l=s.length;l>a;++a)u.point((f=s[a])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{if(p){s=g.p.z;for(var a=s.length-1;a>=0;--a)u.point((f=s[a])[0],f[1])}else r(g.x,g.p.x,-1,u);g=g.p}g=g.o,s=g.z,p=!p}while(!g.v);u.lineEnd()}}}function ze(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r0){for(b||(i.polygonStart(),b=!0),i.lineStart();++o1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Te))}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:l,polygonStart:function(){y.point=s,y.lineStart=f,y.lineEnd=h,g=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=l,g=ta.merge(g);var n=Fe(m,p);g.length?(b||(i.polygonStart(),b=!0),Ce(g,De,n,e,i)):n&&(b||(i.polygonStart(),b=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),b&&(i.polygonEnd(),b=!1),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},M=Re(),x=t(M),b=!1;return y}}function Te(n){return n.length>1}function Re(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:y,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function De(n,t){return((n=n.x)[0]<0?n[1]-ja-Ta:ja-n[1])-((t=t.x)[0]<0?t[1]-ja-Ta:ja-t[1])}function Pe(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?Da:-Da,c=va(i-e);va(c-Da)0?ja:-ja),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=Da&&(va(e-u)Ta?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function je(n,t,e,r){var u;if(null==n)u=e*ja,r.point(-Da,u),r.point(0,u),r.point(Da,u),r.point(Da,0),r.point(Da,-u),r.point(0,-u),r.point(-Da,-u),r.point(-Da,0),r.point(-Da,u);else if(va(n[0]-t[0])>Ta){var i=n[0]a;++a){var l=t[a],s=l.length;if(s)for(var f=l[0],h=f[0],g=f[1]/2+Da/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===s&&(d=0),n=l[d];var m=n[0],y=n[1]/2+Da/4,M=Math.sin(y),x=Math.cos(y),b=m-h,_=b>=0?1:-1,w=_*b,S=w>Da,k=p*M;if(_c.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),i+=S?b+_*Pa:b,S^h>=e^m>=e){var E=de(pe(f),pe(n));Me(E);var A=de(u,E);Me(A);var N=(S^b>=0?-1:1)*nt(A[2]);(r>N||r===N&&(E[0]||E[1]))&&(o+=S^b>=0?1:-1)}if(!d++)break;h=m,p=M,v=x,f=n}}return(-Ta>i||Ta>i&&0>_c)^1&o}function He(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,c,l,s;return{lineStart:function(){l=c=!1,s=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=o?v?0:u(f,h):v?u(f+(0>f?Da:-Da),h):0;if(!e&&(l=c=v)&&n.lineStart(),v!==c&&(g=r(e,p),(be(e,g)||be(p,g))&&(p[0]+=Ta,p[1]+=Ta,v=t(p[0],p[1]))),v!==c)s=0,v?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^v){var m;d&i||!(m=r(p,e,!0))||(s=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!v||e&&be(e,p)||n.point(p[0],p[1]),e=p,c=v,i=d},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return s|(l&&c)<<1}}}function r(n,t,e){var r=pe(n),u=pe(t),o=[1,0,0],a=de(r,u),c=ve(a,a),l=a[0],s=c-l*l;if(!s)return!e&&n;var f=i*c/s,h=-i*l/s,g=de(o,a),p=ye(o,f),v=ye(a,h);me(p,v);var d=g,m=ve(p,d),y=ve(d,d),M=m*m-y*(ve(p,p)-1);if(!(0>M)){var x=Math.sqrt(M),b=ye(d,(-m-x)/y);if(me(b,p),b=xe(b),!e)return b;var _,w=n[0],S=t[0],k=n[1],E=t[1];w>S&&(_=w,w=S,S=_);var A=S-w,N=va(A-Da)A;if(!N&&k>E&&(_=k,k=E,E=_),C?N?k+E>0^b[1]<(va(b[0]-w)Da^(w<=b[0]&&b[0]<=S)){var z=ye(d,(-m+x)/y);return me(z,p),[b,xe(z)]}}}function u(t,e){var r=o?n:Da-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=va(i)>Ta,c=gr(n,6*Fa);return Le(t,e,c,o?[0,-n]:[-Da,n-Da])}function Oe(n,t,e,r){return function(u){var i,o=u.a,a=u.b,c=o.x,l=o.y,s=a.x,f=a.y,h=0,g=1,p=s-c,v=f-l;if(i=n-c,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-c,p||!(0>i)){if(i/=p,0>p){if(i>g)return;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-l,v||!(i>0)){if(i/=v,0>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-l,v||!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(g=i)}return h>0&&(u.a={x:c+h*p,y:l+h*v}),1>g&&(u.b={x:c+g*p,y:l+g*v}),u}}}}}}function Ye(n,t,e,r){function u(r,u){return va(r[0]-n)0?0:3:va(r[0]-e)0?2:1:va(r[1]-t)0?1:0:u>0?3:2}function i(n,t){return o(n.x,t.x)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function c(n){for(var t=0,e=d.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=d[u],c=a.length,l=a[0];c>o;++o)i=a[o],l[1]<=r?i[1]>r&&K(l,i,n)>0&&++t:i[1]<=r&&K(l,i,n)<0&&--t,l=i;return 0!==t}function l(i,a,c,l){var s=0,f=0;if(null==i||(s=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do l.point(0===s||3===s?n:e,s>1?r:t);while((s=(s+c+4)%4)!==f)}else l.point(a[0],a[1])}function s(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){s(n,t)&&a.point(n,t)}function h(){C.point=p,d&&d.push(m=[]),S=!0,w=!1,b=_=0/0}function g(){v&&(p(y,M),x&&w&&A.rejoin(),v.push(A.buffer())),C.point=f,w&&a.lineEnd()}function p(n,t){n=Math.max(-Uc,Math.min(Uc,n)),t=Math.max(-Uc,Math.min(Uc,t));var e=s(n,t);if(d&&m.push([n,t]),S)y=n,M=t,x=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:b,y:_},b:{x:n,y:t}};N(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}b=n,_=t,w=e}var v,d,m,y,M,x,b,_,w,S,k,E=a,A=Re(),N=Oe(n,t,e,r),C={point:f,lineStart:h,lineEnd:g,polygonStart:function(){a=A,v=[],d=[],k=!0},polygonEnd:function(){a=E,v=ta.merge(v);var t=c([n,r]),e=k&&t,u=v.length;(e||u)&&(a.polygonStart(),e&&(a.lineStart(),l(null,null,1,a),a.lineEnd()),u&&Ce(v,i,t,l,a),a.polygonEnd()),v=d=m=null}};return C}}function Ie(n){var t=0,e=Da/3,r=ir(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t=n[0]*Da/180,e=n[1]*Da/180):[180*(t/Da),180*(e/Da)]},u}function Ze(n,t){function e(n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),o-e*Math.cos(n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),o=Math.sqrt(i)/u;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/u,nt((i-(n*n+e*e)*u*u)/(2*u))]},e}function Ve(){function n(n,t){Fc+=u*n-r*t,r=n,u=t}var t,e,r,u;Zc.point=function(i,o){Zc.point=n,t=r=i,e=u=o},Zc.lineEnd=function(){n(t,e)}}function Xe(n,t){Hc>n&&(Hc=n),n>Yc&&(Yc=n),Oc>t&&(Oc=t),t>Ic&&(Ic=t)}function $e(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=Be(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=Be(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Be(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function We(n,t){Ec+=n,Ac+=t,++Nc}function Je(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);Cc+=o*(t+n)/2,zc+=o*(e+r)/2,qc+=o,We(t=n,e=r)}var t,e;Xc.point=function(r,u){Xc.point=n,We(t=r,e=u)}}function Ge(){Xc.point=We}function Ke(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);Cc+=o*(r+n)/2,zc+=o*(u+t)/2,qc+=o,o=u*n-r*t,Lc+=o*(r+n),Tc+=o*(u+t),Rc+=3*o,We(r=n,u=t)}var t,e,r,u;Xc.point=function(i,o){Xc.point=n,We(t=r=i,e=u=o)},Xc.lineEnd=function(){n(t,e)}}function Qe(n){function t(t,e){n.moveTo(t+o,e),n.arc(t,e,o,0,Pa)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:y};return a}function nr(n){function t(n){return(a?r:e)(n)}function e(t){return rr(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){M=0/0,S.point=i,t.lineStart()}function i(e,r){var i=pe([e,r]),o=n(e,r);u(M,x,y,b,_,w,M=o[0],x=o[1],y=e,b=i[0],_=i[1],w=i[2],a,t),t.point(M,x)}function o(){S.point=e,t.lineEnd()}function c(){r(),S.point=l,S.lineEnd=s}function l(n,t){i(f=n,h=t),g=M,p=x,v=b,d=_,m=w,S.point=i}function s(){u(M,x,y,b,_,w,g,p,f,v,d,m,a,t),S.lineEnd=o,o()}var f,h,g,p,v,d,m,y,M,x,b,_,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function u(t,e,r,a,c,l,s,f,h,g,p,v,d,m){var y=s-t,M=f-e,x=y*y+M*M;if(x>4*i&&d--){var b=a+g,_=c+p,w=l+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),E=va(va(w)-1)i||va((y*z+M*q)/x-.5)>.3||o>a*g+c*p+l*v)&&(u(t,e,r,a,c,l,N,C,E,b/=S,_/=S,w,d,m),m.point(N,C),u(N,C,E,b,_,w,s,f,h,g,p,v,d,m))}}var i=.5,o=Math.cos(30*Fa),a=16;return t.precision=function(n){return arguments.length?(a=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function tr(n){var t=nr(function(t,e){return n([t*Ha,e*Ha])});return function(n){return or(t(n))}}function er(n){this.stream=n}function rr(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function ur(n){return ir(function(){return n})()}function ir(n){function t(n){return n=a(n[0]*Fa,n[1]*Fa),[n[0]*h+c,l-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(l-n[1])/h),n&&[n[0]*Ha,n[1]*Ha]}function r(){a=Ae(o=lr(m,y,M),i);var n=i(v,d);return c=g-n[0]*h,l=p+n[1]*h,u()}function u(){return s&&(s.valid=!1,s=null),t}var i,o,a,c,l,s,f=nr(function(n,t){return n=i(n,t),[n[0]*h+c,l-n[1]*h]}),h=150,g=480,p=250,v=0,d=0,m=0,y=0,M=0,x=Pc,b=Et,_=null,w=null;return t.stream=function(n){return s&&(s.valid=!1),s=or(x(o,f(b(n)))),s.valid=!0,s},t.clipAngle=function(n){return arguments.length?(x=null==n?(_=n,Pc):He((_=+n)*Fa),u()):_},t.clipExtent=function(n){return arguments.length?(w=n,b=n?Ye(n[0][0],n[0][1],n[1][0],n[1][1]):Et,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(v=n[0]%360*Fa,d=n[1]%360*Fa,r()):[v*Ha,d*Ha]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Fa,y=n[1]%360*Fa,M=n.length>2?n[2]%360*Fa:0,r()):[m*Ha,y*Ha,M*Ha]},ta.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function or(n){return rr(n,function(t,e){n.point(t*Fa,e*Fa)})}function ar(n,t){return[n,t]}function cr(n,t){return[n>Da?n-Pa:-Da>n?n+Pa:n,t]}function lr(n,t,e){return n?t||e?Ae(fr(n),hr(t,e)):fr(n):t||e?hr(t,e):cr}function sr(n){return function(t,e){return t+=n,[t>Da?t-Pa:-Da>t?t+Pa:t,e]}}function fr(n){var t=sr(n);return t.invert=sr(-n),t}function hr(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*r+a*u;return[Math.atan2(c*i-s*o,a*r-l*u),nt(s*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*i-c*o;return[Math.atan2(c*i+l*o,a*r+s*u),nt(s*r-a*u)]},e}function gr(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=pr(e,u),i=pr(e,i),(o>0?i>u:u>i)&&(u+=o*Pa)):(u=n+o*Pa,i=n-.5*c);for(var l,s=u;o>0?s>i:i>s;s-=c)a.point((l=xe([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],l[1])}}function pr(n,t){var e=pe(t);e[0]-=n,Me(e);var r=Q(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Ta)%(2*Math.PI)}function vr(n,t,e){var r=ta.range(n,t-Ta,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function dr(n,t,e){var r=ta.range(n,t-Ta,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function mr(n){return n.source}function yr(n){return n.target}function Mr(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),l=u*Math.sin(n),s=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(ut(r-t)+u*o*ut(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*s,u=e*l+t*f,o=e*i+t*a;return[Math.atan2(u,r)*Ha,Math.atan2(o,Math.sqrt(r*r+u*u))*Ha]}:function(){return[n*Ha,t*Ha]};return p.distance=h,p}function xr(){function n(n,u){var i=Math.sin(u*=Fa),o=Math.cos(u),a=va((n*=Fa)-t),c=Math.cos(a);$c+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;Bc.point=function(u,i){t=u*Fa,e=Math.sin(i*=Fa),r=Math.cos(i),Bc.point=n},Bc.lineEnd=function(){Bc.point=Bc.lineEnd=y}}function br(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function _r(n,t){function e(n,t){o>0?-ja+Ta>t&&(t=-ja+Ta):t>ja-Ta&&(t=ja-Ta);var e=o/Math.pow(u(t),i);return[e*Math.sin(i*n),o-e*Math.cos(i*n)]}var r=Math.cos(n),u=function(n){return Math.tan(Da/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),o=r*Math.pow(u(n),i)/i;return i?(e.invert=function(n,t){var e=o-t,r=G(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/i,2*Math.atan(Math.pow(o/r,1/i))-ja]},e):Sr}function wr(n,t){function e(n,t){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return va(u)u;u++){for(;r>1&&K(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e.slice(0,r)}function zr(n,t){return n[0]-t[0]||n[1]-t[1]}function qr(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Lr(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],l=e[1],s=t[1]-c,f=r[1]-l,h=(a*(c-l)-f*(u-i))/(f*o-a*s);return[u+h*o,c+h*s]}function Tr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Rr(){tu(this),this.edge=this.site=this.circle=null}function Dr(n){var t=ol.pop()||new Rr;return t.site=n,t}function Pr(n){Xr(n),rl.remove(n),ol.push(n),tu(n)}function Ur(n){var t=n.circle,e=t.x,r=t.cy,u={x:e,y:r},i=n.P,o=n.N,a=[n];Pr(n);for(var c=i;c.circle&&va(e-c.circle.x)s;++s)l=a[s],c=a[s-1],Kr(l.edge,c.site,l.site,u);c=a[0],l=a[f-1],l.edge=Jr(c.site,l.site,null,u),Vr(c),Vr(l)}function jr(n){for(var t,e,r,u,i=n.x,o=n.y,a=rl._;a;)if(r=Fr(a,o)-i,r>Ta)a=a.L;else{if(u=i-Hr(a,o),!(u>Ta)){r>-Ta?(t=a.P,e=a):u>-Ta?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var c=Dr(n);if(rl.insert(t,c),t||e){if(t===e)return Xr(t),e=Dr(t.site),rl.insert(c,e),c.edge=e.edge=Jr(t.site,c.site),Vr(t),Vr(e),void 0;if(!e)return c.edge=Jr(t.site,c.site),void 0;Xr(t),Xr(e);var l=t.site,s=l.x,f=l.y,h=n.x-s,g=n.y-f,p=e.site,v=p.x-s,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,M=v*v+d*d,x={x:(d*y-g*M)/m+s,y:(h*M-v*y)/m+f};Kr(e.edge,l,p,x),c.edge=Jr(l,n,null,x),e.edge=Jr(n,p,null,x),Vr(t),Vr(e)}}function Fr(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)return r;var o=n.P;if(!o)return-1/0;e=o.site;var a=e.x,c=e.y,l=c-t;if(!l)return a;var s=a-r,f=1/i-1/l,h=s/l;return f?(-h+Math.sqrt(h*h-2*f*(s*s/(-2*l)-c+l/2+u-i/2)))/f+r:(r+a)/2}function Hr(n,t){var e=n.N;if(e)return Fr(e,t);var r=n.site;return r.y===t?r.x:1/0}function Or(n){this.site=n,this.edges=[]}function Yr(n){for(var t,e,r,u,i,o,a,c,l,s,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=el,d=v.length;d--;)if(i=v[d],i&&i.prepare())for(a=i.edges,c=a.length,o=0;c>o;)s=a[o].end(),r=s.x,u=s.y,l=a[++o%c].start(),t=l.x,e=l.y,(va(r-t)>Ta||va(u-e)>Ta)&&(a.splice(o,0,new Qr(Gr(i.site,s,va(r-f)Ta?{x:f,y:va(t-f)Ta?{x:va(e-p)Ta?{x:h,y:va(t-h)Ta?{x:va(e-g)=-Ra)){var g=c*c+l*l,p=s*s+f*f,v=(f*g-l*p)/h,d=(c*p-s*g)/h,f=d+a,m=al.pop()||new Zr;m.arc=n,m.site=u,m.x=v+o,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;for(var y=null,M=il._;M;)if(m.yd||d>=a)return;if(h>p){if(i){if(i.y>=l)return}else i={x:d,y:c};e={x:d,y:l}}else{if(i){if(i.yr||r>1)if(h>p){if(i){if(i.y>=l)return}else i={x:(c-u)/r,y:c};e={x:(l-u)/r,y:l}}else{if(i){if(i.yg){if(i){if(i.x>=a)return}else i={x:o,y:r*o+u};e={x:a,y:r*a+u}}else{if(i){if(i.xi||f>o||r>h||u>g)){if(p=n.point){var p,v=t-p[0],d=e-p[1],m=v*v+d*d;if(c>m){var y=Math.sqrt(c=m);r=t-y,u=e-y,i=t+y,o=e+y,a=p}}for(var M=n.nodes,x=.5*(s+h),b=.5*(f+g),_=t>=x,w=e>=b,S=w<<1|_,k=S+4;k>S;++S)if(n=M[3&S])switch(3&S){case 0:l(n,s,f,x,b);break;case 1:l(n,x,f,h,b);break;case 2:l(n,s,b,x,g);break;case 3:l(n,x,b,h,g)}}}(n,r,u,i,o),a}function gu(n,t){n=ta.rgb(n),t=ta.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+Mt(Math.round(e+i*n))+Mt(Math.round(r+o*n))+Mt(Math.round(u+a*n))}}function pu(n,t){var e,r={},u={};for(e in n)e in t?r[e]=mu(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function vu(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function du(n,t){var e,r,u,i=ll.lastIndex=sl.lastIndex=0,o=-1,a=[],c=[];for(n+="",t+="";(e=ll.exec(n))&&(r=sl.exec(t));)(u=r.index)>i&&(u=t.slice(i,u),a[o]?a[o]+=u:a[++o]=u),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,c.push({i:o,x:vu(e,r)})),i=sl.lastIndex;return ir;++r)a[(e=c[r]).i]=e.x(n);return a.join("")})}function mu(n,t){for(var e,r=ta.interpolators.length;--r>=0&&!(e=ta.interpolators[r](n,t)););return e}function yu(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(mu(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function Mu(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function xu(n){return function(t){return 1-n(1-t)}}function bu(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function _u(n){return n*n}function wu(n){return n*n*n}function Su(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function ku(n){return function(t){return Math.pow(t,n)}}function Eu(n){return 1-Math.cos(n*ja)}function Au(n){return Math.pow(2,10*(n-1))}function Nu(n){return 1-Math.sqrt(1-n*n)}function Cu(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Pa*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Pa/t)}}function zu(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function qu(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Lu(n,t){n=ta.hcl(n),t=ta.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return lt(e+i*n,r+o*n,u+a*n)+""}}function Tu(n,t){n=ta.hsl(n),t=ta.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return at(e+i*n,r+o*n,u+a*n)+""}}function Ru(n,t){n=ta.lab(n),t=ta.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return ft(e+i*n,r+o*n,u+a*n)+""}}function Du(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Pu(n){var t=[n.a,n.b],e=[n.c,n.d],r=ju(t),u=Uu(t,e),i=ju(Fu(e,t,-u))||0;t[0]*e[1]180?s+=360:s-l>180&&(l+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:vu(l,s)})):s&&r.push(r.pop()+"rotate("+s+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:vu(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:vu(g[0],p[0])},{i:e-2,x:vu(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++i=0;)e.push(u[r])}function Qu(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(i=n.children)&&(u=i.length))for(var u,i,o=-1;++oe;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function si(n){return n.reduce(fi,0)}function fi(n,t){return n+t[1]}function hi(n,t){return gi(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function gi(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function pi(n){return[ta.min(n),ta.max(n)]}function vi(n,t){return n.value-t.value}function di(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function mi(n,t){n._pack_next=t,t._pack_prev=n}function yi(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function Mi(n){function t(n){s=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(l=e.length)){var e,r,u,i,o,a,c,l,s=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(xi),r=e[0],r.x=-r.r,r.y=0,t(r),l>1&&(u=e[1],u.x=u.r,u.y=0,t(u),l>2))for(i=e[2],wi(r,u,i),t(i),di(r,i),r._pack_prev=i,di(i,u),u=r._pack_next,o=3;l>o;o++){wi(r,u,i=e[o]);var p=0,v=1,d=1;for(a=u._pack_next;a!==u;a=a._pack_next,v++)if(yi(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!yi(c,i);c=c._pack_prev,d++);p?(d>v||v==d&&u.ro;o++)i=e[o],i.x-=m,i.y-=y,M=Math.max(M,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=M,e.forEach(bi)}}function xi(n){n._pack_next=n._pack_prev=n}function bi(n){delete n._pack_next,delete n._pack_prev}function _i(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++i=0;)t=u[i],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}function Ci(n,t,e){return n.a.parent===t.parent?n.a:e}function zi(n){return 1+ta.max(n,function(n){return n.y})}function qi(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Li(n){var t=n.children;return t&&t.length?Li(t[0]):n}function Ti(n){var t,e=n.children;return e&&(t=e.length)?Ti(e[t-1]):n}function Ri(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function Di(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function Pi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Ui(n){return n.rangeExtent?n.rangeExtent():Pi(n.range())}function ji(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Fi(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Hi(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:bl}function Oi(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]2?Oi:ji,c=r?Yu:Ou;return o=u(n,t,c,e),a=u(t,n,c,mu),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Du)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return Xi(n,t)},i.tickFormat=function(t,e){return $i(n,t,e)},i.nice=function(t){return Zi(n,t),u()},i.copy=function(){return Yi(n,t,e,r)},u()}function Ii(n,t){return ta.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Zi(n,t){return Fi(n,Hi(Vi(n,t)[2]))}function Vi(n,t){null==t&&(t=10);var e=Pi(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Xi(n,t){return ta.range.apply(ta,Vi(n,t))}function $i(n,t,e){var r=Vi(n,t);if(e){var u=lc.exec(e);if(u.shift(),"s"===u[8]){var i=ta.formatPrefix(Math.max(va(r[0]),va(r[1])));return u[7]||(u[7]="."+Bi(i.scale(r[2]))),u[8]="f",e=ta.format(u.join("")),function(n){return e(i.scale(n))+i.symbol}}u[7]||(u[7]="."+Wi(u[8],r)),e=u.join("")}else e=",."+Bi(r[2])+"f";return ta.format(e)}function Bi(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Wi(n,t){var e=Bi(t[2]);return n in _l?Math.abs(e-Bi(Math.max(va(t[0]),va(t[1]))))+ +("e"!==n):e-2*("%"===n)}function Ji(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Fi(r.map(u),e?Math:Sl);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=Pi(r),o=[],a=n[0],c=n[1],l=Math.floor(u(a)),s=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(s-l)){if(e){for(;s>l;l++)for(var h=1;f>h;h++)o.push(i(l)*h);o.push(i(l))}else for(o.push(i(l));l++0;h--)o.push(i(l)*h);for(l=0;o[l]c;s--);o=o.slice(l,s)}return o},o.tickFormat=function(n,t){if(!arguments.length)return wl;arguments.length<2?t=wl:"function"!=typeof t&&(t=ta.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return Ji(n.copy(),t,e,r)},Ii(o,n)}function Gi(n,t,e){function r(t){return n(u(t))}var u=Ki(t),i=Ki(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return Xi(e,n)},r.tickFormat=function(n,t){return $i(e,n,t)},r.nice=function(n){return r.domain(Zi(e,n))},r.exponent=function(o){return arguments.length?(u=Ki(t=o),i=Ki(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return Gi(n.copy(),t,e)},Ii(r,n)}function Ki(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function Qi(n,t){function e(e){return i[((u.get(e)||("range"===t.t?u.set(e,n.push(e)):0/0))-1)%i.length]}function r(t,e){return ta.range(n.length).map(function(n){return t+e*n})}var u,i,o;return e.domain=function(r){if(!arguments.length)return n;n=[],u=new a;for(var i,o=-1,c=r.length;++on?[0/0,0/0]:[n>0?a[n-1]:r[0],nt?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return to(n,t,e)},u()}function eo(n,t){function e(e){return e>=e?t[ta.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return eo(n,t)},e}function ro(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Xi(n,t)},t.tickFormat=function(t,e){return $i(n,t,e)},t.copy=function(){return ro(n)},t}function uo(){return 0}function io(n){return n.innerRadius}function oo(n){return n.outerRadius}function ao(n){return n.startAngle}function co(n){return n.endAngle}function lo(n){return n&&n.padAngle}function so(n,t,e,r){return(n-e)*t-(t-r)*n>0?0:1}function fo(n,t,e,r,u){var i=n[0]-t[0],o=n[1]-t[1],a=(u?r:-r)/Math.sqrt(i*i+o*o),c=a*o,l=-a*i,s=n[0]+c,f=n[1]+l,h=t[0]+c,g=t[1]+l,p=(s+h)/2,v=(f+g)/2,d=h-s,m=g-f,y=d*d+m*m,M=e-r,x=s*g-h*f,b=(0>m?-1:1)*Math.sqrt(M*M*y-x*x),_=(x*m-d*b)/y,w=(-x*d-m*b)/y,S=(x*m+d*b)/y,k=(-x*d+m*b)/y,E=_-p,A=w-v,N=S-p,C=k-v;return E*E+A*A>N*N+C*C&&(_=S,w=k),[[_-c,w-l],[_*e/M,w*e/M]]}function ho(n){function t(t){function o(){l.push("M",i(n(s),a))}for(var c,l=[],s=[],f=-1,h=t.length,g=kt(e),p=kt(r);++f1&&u.push("H",r[0]),u.join("")}function mo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var l=2;l9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function To(n){return n.length<3?go(n):n[0]+_o(n,Lo(n))}function Ro(n){for(var t,e,r,u=-1,i=n.length;++ur)return s();var u=i[i.active];u&&(--i.count,delete i[i.active],u.event&&u.event.interrupt.call(n,n.__data__,u.index)),i.active=r,o.event&&o.event.start.call(n,n.__data__,t),o.tween.forEach(function(e,r){(r=r.call(n,n.__data__,t))&&v.push(r)}),h=o.ease,f=o.duration,ta.timer(function(){return p.c=l(e||1)?Ne:l,1},0,c)}function l(e){if(i.active!==r)return 1;for(var u=e/f,a=h(u),c=v.length;c>0;)v[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,n.__data__,t),s()):void 0}function s(){return--i.count?delete i[r]:delete n[e],1}var f,h,g=o.delay,p=oc,v=[];return p.t=g+c,u>=g?a(u-g):(p.c=a,void 0)},0,c)}}function Bo(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"})}function Wo(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"})}function Jo(n){return n.toISOString()}function Go(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=ta.bisect(Wl,u);return i==Wl.length?[t.year,Vi(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/Wl[i-1]1?{floor:function(t){for(;e(t=n.floor(t));)t=Ko(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=Ko(+t+1);return t}}:n))},r.ticks=function(n,t){var e=Pi(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],Ko(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return Go(n.copy(),t,e)},Ii(r,n)}function Ko(n){return new Date(n)}function Qo(n){return JSON.parse(n.responseText)}function na(n){var t=ua.createRange();return t.selectNode(ua.body),t.createContextualFragment(n.responseText)}var ta={version:"3.5.3"};Date.now||(Date.now=function(){return+new Date});var ea=[].slice,ra=function(n){return ea.call(n)},ua=document,ia=ua.documentElement,oa=window;try{ra(ia.childNodes)[0].nodeType}catch(aa){ra=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{ua.createElement("div").style.setProperty("opacity",0,"")}catch(ca){var la=oa.Element.prototype,sa=la.setAttribute,fa=la.setAttributeNS,ha=oa.CSSStyleDeclaration.prototype,ga=ha.setProperty;la.setAttribute=function(n,t){sa.call(this,n,t+"")},la.setAttributeNS=function(n,t,e){fa.call(this,n,t,e+"")},ha.setProperty=function(n,t,e){ga.call(this,n,t+"",e)}}ta.ascending=n,ta.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},ta.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=r){e=r;break}for(;++ur&&(e=r)}else{for(;++u=r){e=r;break}for(;++ur&&(e=r)}return e},ta.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=r){e=r;break}for(;++ue&&(e=r)}else{for(;++u=r){e=r;break}for(;++ue&&(e=r)}return e},ta.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i=r){e=u=r;break}for(;++ir&&(e=r),r>u&&(u=r))}else{for(;++i=r){e=u=r;break}for(;++ir&&(e=r),r>u&&(u=r))}return[e,u]},ta.sum=function(n,t){var r,u=0,i=n.length,o=-1;if(1===arguments.length)for(;++o1?c/(s-1):void 0},ta.deviation=function(){var n=ta.variance.apply(this,arguments);return n?Math.sqrt(n):n};var pa=r(n);ta.bisectLeft=pa.left,ta.bisect=ta.bisectRight=pa.right,ta.bisector=function(t){return r(1===t.length?function(e,r){return n(t(e),r)}:t)},ta.shuffle=function(n,t,e){(i=arguments.length)<3&&(e=n.length,2>i&&(t=0));for(var r,u,i=e-t;i;)u=0|Math.random()*i--,r=n[i+t],n[i+t]=n[u+t],n[u+t]=r;return n},ta.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},ta.pairs=function(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},ta.zip=function(){if(!(r=arguments.length))return[];for(var n=-1,t=ta.min(arguments,u),e=new Array(t);++n=0;)for(r=n[u],t=r.length;--t>=0;)e[--o]=r[t];return e};var va=Math.abs;ta.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),1/0===(t-n)/e)throw new Error("infinite range");var r,u=[],o=i(va(e)),a=-1;if(n*=o,t*=o,e*=o,0>e)for(;(r=n+e*++a)>t;)u.push(r/o);else for(;(r=n+e*++a)=i.length)return r?r.call(u,o):e?o.sort(e):o;for(var l,s,f,h,g=-1,p=o.length,v=i[c++],d=new a;++g=i.length)return n;var r=[],u=o[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,u={},i=[],o=[];return u.map=function(t,e){return n(e,t,0)},u.entries=function(e){return t(n(ta.map,e,0),0)},u.key=function(n){return i.push(n),u},u.sortKeys=function(n){return o[i.length-1]=n,u},u.sortValues=function(n){return e=n,u},u.rollup=function(n){return r=n,u},u},ta.set=function(n){var t=new v;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},o(v,{has:s,add:function(n){return this._[c(n+="")]=!0,n},remove:f,values:h,size:g,empty:p,forEach:function(n){for(var t in this._)n.call(this,l(t))}}),ta.behavior={},ta.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},ta.event=null,ta.requote=function(n){return n.replace(Ma,"\\$&")};var Ma=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,xa={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},ba=function(n,t){return t.querySelector(n)},_a=function(n,t){return t.querySelectorAll(n)},wa=ia.matches||ia[m(ia,"matchesSelector")],Sa=function(n,t){return wa.call(n,t)};"function"==typeof Sizzle&&(ba=function(n,t){return Sizzle(n,t)[0]||null},_a=Sizzle,Sa=Sizzle.matchesSelector),ta.selection=function(){return Na};var ka=ta.selection.prototype=[];ka.select=function(n){var t,e,r,u,i=[];n=k(n);for(var o=-1,a=this.length;++o=0&&(e=n.slice(0,t),n=n.slice(t+1)),Ea.hasOwnProperty(e)?{space:Ea[e],local:n}:n}},ka.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=ta.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(A(t,n[t]));return this}return this.each(A(n,t))},ka.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=z(n)).length,u=-1;if(t=e.classList){for(;++ur){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(T(e,n[e],t));return this}if(2>r)return oa.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(T(n,t,e))},ka.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(R(t,n[t]));return this}return this.each(R(n,t))},ka.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},ka.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},ka.append=function(n){return n=D(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},ka.insert=function(n,t){return n=D(n),t=k(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},ka.remove=function(){return this.each(P)},ka.data=function(n,t){function e(n,e){var r,u,i,o=n.length,f=e.length,h=Math.min(o,f),g=new Array(f),p=new Array(f),v=new Array(o);if(t){var d,m=new a,y=new Array(o);for(r=-1;++rr;++r)p[r]=U(e[r]);for(;o>r;++r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,c.push(p),l.push(g),s.push(v)}var r,u,i=-1,o=this.length;if(!arguments.length){for(n=new Array(o=(r=this[0]).length);++ii;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return S(u)},ka.order=function(){for(var n=-1,t=this.length;++n=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},ka.sort=function(n){n=F.apply(this,arguments);for(var t=-1,e=this.length;++tn;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},ka.size=function(){var n=0;return H(this,function(){++n}),n};var Aa=[];ta.selection.enter=O,ta.selection.enter.prototype=Aa,Aa.append=ka.append,Aa.empty=ka.empty,Aa.node=ka.node,Aa.call=ka.call,Aa.size=ka.size,Aa.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++ar){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(I(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(I(n,t,e))};var Ca=ta.map({mouseenter:"mouseover",mouseleave:"mouseout"});Ca.forEach(function(n){"on"+n in ua&&Ca.remove(n)});var za="onselectstart"in ua?null:m(ia.style,"userSelect"),qa=0;ta.mouse=function(n){return $(n,_())};var La=/WebKit/.test(oa.navigator.userAgent)?-1:0;ta.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=_().changedTouches),t)for(var r,u=0,i=t.length;i>u;++u)if((r=t[u]).identifier===e)return $(n,r)},ta.behavior.drag=function(){function n(){this.on("mousedown.drag",u).on("touchstart.drag",i)}function t(n,t,u,i,o){return function(){function a(){var n,e,r=t(h,v);r&&(n=r[0]-M[0],e=r[1]-M[1],p|=n|e,M=r,g({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:n,dy:e}))}function c(){t(h,v)&&(m.on(i+d,null).on(o+d,null),y(p&&ta.event.target===f),g({type:"dragend"}))}var l,s=this,f=ta.event.target,h=s.parentNode,g=e.of(s,arguments),p=0,v=n(),d=".drag"+(null==v?"":"-"+v),m=ta.select(u()).on(i+d,a).on(o+d,c),y=X(),M=t(h,v);r?(l=r.apply(s,arguments),l=[l.x-M[0],l.y-M[1]]):l=[0,0],g({type:"dragstart"})}}var e=w(n,"drag","dragstart","dragend"),r=null,u=t(y,ta.mouse,J,"mousemove","mouseup"),i=t(B,ta.touch,W,"touchmove","touchend");return n.origin=function(t){return arguments.length?(r=t,n):r},ta.rebind(n,e,"on")},ta.touches=function(n,t){return arguments.length<2&&(t=_().touches),t?ra(t).map(function(t){var e=$(n,t);return e.identifier=t.identifier,e}):[]};var Ta=1e-6,Ra=Ta*Ta,Da=Math.PI,Pa=2*Da,Ua=Pa-Ta,ja=Da/2,Fa=Da/180,Ha=180/Da,Oa=Math.SQRT2,Ya=2,Ia=4;ta.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=et(v),o=i/(Ya*h)*(e*rt(Oa*t+v)-tt(v));return[r+o*l,u+o*s,i*e/et(Oa*t+v)]}return[r+n*l,u+n*s,i*Math.exp(Oa*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],l=o-r,s=a-u,f=l*l+s*s,h=Math.sqrt(f),g=(c*c-i*i+Ia*f)/(2*i*Ya*h),p=(c*c-i*i-Ia*f)/(2*c*Ya*h),v=Math.log(Math.sqrt(g*g+1)-g),d=Math.log(Math.sqrt(p*p+1)-p),m=d-v,y=(m||Math.log(c/i))/Oa;return e.duration=1e3*y,e},ta.behavior.zoom=function(){function n(n){n.on(z,s).on(Xa+".zoom",h).on("dblclick.zoom",g).on(T,f)}function t(n){return[(n[0]-k.x)/k.k,(n[1]-k.y)/k.k]}function e(n){return[n[0]*k.k+k.x,n[1]*k.k+k.y]}function r(n){k.k=Math.max(A[0],Math.min(A[1],n))}function u(n,t){t=e(t),k.x+=n[0]-t[0],k.y+=n[1]-t[1]}function i(t,e,i,o){t.__chart__={x:k.x,y:k.y,k:k.k},r(Math.pow(2,o)),u(v=e,i),t=ta.select(t),N>0&&(t=t.transition().duration(N)),t.call(n.event)}function o(){x&&x.domain(M.range().map(function(n){return(n-k.x)/k.k}).map(M.invert)),S&&S.domain(_.range().map(function(n){return(n-k.y)/k.k}).map(_.invert))}function a(n){C++||n({type:"zoomstart"})}function c(n){o(),n({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function l(n){--C||n({type:"zoomend"}),v=null}function s(){function n(){s=1,u(ta.mouse(r),h),c(o)}function e(){f.on(q,null).on(L,null),g(s&&ta.event.target===i),l(o)}var r=this,i=ta.event.target,o=R.of(r,arguments),s=0,f=ta.select(oa).on(q,n).on(L,e),h=t(ta.mouse(r)),g=X();Fl.call(r),a(o)}function f(){function n(){var n=ta.touches(p);return g=k.k,n.forEach(function(n){n.identifier in d&&(d[n.identifier]=t(n))}),n}function e(){var t=ta.event.target;ta.select(t).on(x,o).on(_,h),w.push(t);for(var e=ta.event.changedTouches,r=0,u=e.length;u>r;++r)d[e[r].identifier]=null;var a=n(),c=Date.now();if(1===a.length){if(500>c-y){var l=a[0];i(p,l,d[l.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),b()}y=c}else if(a.length>1){var l=a[0],s=a[1],f=l[0]-s[0],g=l[1]-s[1];m=f*f+g*g}}function o(){var n,t,e,i,o=ta.touches(p);Fl.call(p);for(var a=0,l=o.length;l>a;++a,i=null)if(e=o[a],i=d[e.identifier]){if(t)break;n=e,t=i}if(i){var s=(s=e[0]-n[0])*s+(s=e[1]-n[1])*s,f=m&&Math.sqrt(s/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*g)}y=null,u(n,t),c(v)}function h(){if(ta.event.touches.length){for(var t=ta.event.changedTouches,e=0,r=t.length;r>e;++e)delete d[t[e].identifier];for(var u in d)return void n()}ta.selectAll(w).on(M,null),S.on(z,s).on(T,f),E(),l(v)}var g,p=this,v=R.of(p,arguments),d={},m=0,M=".zoom-"+ta.event.changedTouches[0].identifier,x="touchmove"+M,_="touchend"+M,w=[],S=ta.select(p),E=X();e(),a(v),S.on(z,null).on(T,e)}function h(){var n=R.of(this,arguments);m?clearTimeout(m):(p=t(v=d||ta.mouse(this)),Fl.call(this),a(n)),m=setTimeout(function(){m=null,l(n)},50),b(),r(Math.pow(2,.002*Za())*k.k),u(v,p),c(n)}function g(){var n=ta.mouse(this),e=Math.log(k.k)/Math.LN2;i(this,n,t(n),ta.event.shiftKey?Math.ceil(e)-1:Math.floor(e)+1)}var p,v,d,m,y,M,x,_,S,k={x:0,y:0,k:1},E=[960,500],A=Va,N=250,C=0,z="mousedown.zoom",q="mousemove.zoom",L="mouseup.zoom",T="touchstart.zoom",R=w(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=R.of(this,arguments),t=k;Ul?ta.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},a(n)}).tween("zoom:zoom",function(){var e=E[0],r=E[1],u=v?v[0]:e/2,i=v?v[1]:r/2,o=ta.interpolateZoom([(u-k.x)/k.k,(i-k.y)/k.k,e/k.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),a=e/r[2];this.__chart__=k={x:u-r[0]*a,y:i-r[1]*a,k:a},c(n)}}).each("interrupt.zoom",function(){l(n)}).each("end.zoom",function(){l(n)}):(this.__chart__=k,a(n),c(n),l(n))})},n.translate=function(t){return arguments.length?(k={x:+t[0],y:+t[1],k:k.k},o(),n):[k.x,k.y]},n.scale=function(t){return arguments.length?(k={x:k.x,y:k.y,k:+t},o(),n):k.k},n.scaleExtent=function(t){return arguments.length?(A=null==t?Va:[+t[0],+t[1]],n):A},n.center=function(t){return arguments.length?(d=t&&[+t[0],+t[1]],n):d},n.size=function(t){return arguments.length?(E=t&&[+t[0],+t[1]],n):E},n.duration=function(t){return arguments.length?(N=+t,n):N},n.x=function(t){return arguments.length?(x=t,M=t.copy(),k={x:0,y:0,k:1},n):x},n.y=function(t){return arguments.length?(S=t,_=t.copy(),k={x:0,y:0,k:1},n):S},ta.rebind(n,R,"on")};var Za,Va=[0,1/0],Xa="onwheel"in ua?(Za=function(){return-ta.event.deltaY*(ta.event.deltaMode?120:1)},"wheel"):"onmousewheel"in ua?(Za=function(){return ta.event.wheelDelta},"mousewheel"):(Za=function(){return-ta.event.detail},"MozMousePixelScroll");ta.color=it,it.prototype.toString=function(){return this.rgb()+""},ta.hsl=ot;var $a=ot.prototype=new it;$a.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new ot(this.h,this.s,this.l/n)},$a.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new ot(this.h,this.s,n*this.l)},$a.rgb=function(){return at(this.h,this.s,this.l)},ta.hcl=ct;var Ba=ct.prototype=new it;Ba.brighter=function(n){return new ct(this.h,this.c,Math.min(100,this.l+Wa*(arguments.length?n:1)))},Ba.darker=function(n){return new ct(this.h,this.c,Math.max(0,this.l-Wa*(arguments.length?n:1)))},Ba.rgb=function(){return lt(this.h,this.c,this.l).rgb()},ta.lab=st;var Wa=18,Ja=.95047,Ga=1,Ka=1.08883,Qa=st.prototype=new it;Qa.brighter=function(n){return new st(Math.min(100,this.l+Wa*(arguments.length?n:1)),this.a,this.b)},Qa.darker=function(n){return new st(Math.max(0,this.l-Wa*(arguments.length?n:1)),this.a,this.b)},Qa.rgb=function(){return ft(this.l,this.a,this.b)},ta.rgb=dt;var nc=dt.prototype=new it;nc.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),new dt(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new dt(u,u,u)},nc.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new dt(n*this.r,n*this.g,n*this.b)},nc.hsl=function(){return bt(this.r,this.g,this.b)},nc.toString=function(){return"#"+Mt(this.r)+Mt(this.g)+Mt(this.b)};var tc=ta.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});tc.forEach(function(n,t){tc.set(n,mt(t))}),ta.functor=kt,ta.xhr=At(Et),ta.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=Nt(n,t,null==e?r:u(e),i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function i(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),c=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=l)return o;if(u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++s;){var r=n.charCodeAt(s++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++a);else if(r!==c)continue;return n.slice(t,s-a)}return n.slice(t)}for(var r,u,i={},o={},a=[],l=n.length,s=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();t&&null==(h=t(h,f++))||a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new v,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(o).join(n)].concat(t.map(function(t){return u.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},ta.csv=ta.dsv(",","text/csv"),ta.tsv=ta.dsv(" ","text/tab-separated-values");var ec,rc,uc,ic,oc,ac=oa[m(oa,"requestAnimationFrame")]||function(n){setTimeout(n,17)};ta.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,f:!1,n:null};rc?rc.n=i:ec=i,rc=i,uc||(ic=clearTimeout(ic),uc=1,ac(qt))},ta.timer.flush=function(){Lt(),Tt()},ta.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var cc=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Dt);ta.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=ta.round(n,Rt(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),cc[8+e/3]};var lc=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,sc=ta.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=ta.round(n,Rt(n,t))).toFixed(Math.max(0,Math.min(20,Rt(n*(1+1e-15),t))))}}),fc=ta.time={},hc=Date;jt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){gc.setUTCDate.apply(this._,arguments)},setDay:function(){gc.setUTCDay.apply(this._,arguments)},setFullYear:function(){gc.setUTCFullYear.apply(this._,arguments)},setHours:function(){gc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){gc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){gc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){gc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){gc.setUTCSeconds.apply(this._,arguments)},setTime:function(){gc.setTime.apply(this._,arguments)}};var gc=Date.prototype;fc.year=Ft(function(n){return n=fc.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),fc.years=fc.year.range,fc.years.utc=fc.year.utc.range,fc.day=Ft(function(n){var t=new hc(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),fc.days=fc.day.range,fc.days.utc=fc.day.utc.range,fc.dayOfYear=function(n){var t=fc.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=fc[n]=Ft(function(n){return(n=fc.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=fc.year(n).getDay();return Math.floor((fc.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});fc[n+"s"]=e.range,fc[n+"s"].utc=e.utc.range,fc[n+"OfYear"]=function(n){var e=fc.year(n).getDay();return Math.floor((fc.dayOfYear(n)+(e+t)%7)/7)}}),fc.week=fc.sunday,fc.weeks=fc.sunday.range,fc.weeks.utc=fc.sunday.utc.range,fc.weekOfYear=fc.sundayOfYear;var pc={"-":"",_:" ",0:"0"},vc=/^\s*\d+/,dc=/^%/;ta.locale=function(n){return{numberFormat:Pt(n),timeFormat:Ot(n)}};var mc=ta.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ta.format=mc.numberFormat,ta.geo={},ce.prototype={s:0,t:0,add:function(n){le(n,this.t,yc),le(yc.s,this.s,this),this.s?this.t+=yc.t:this.s=yc.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var yc=new ce;ta.geo.stream=function(n,t){n&&Mc.hasOwnProperty(n.type)?Mc[n.type](n,t):se(n,t)};var Mc={Feature:function(n,t){se(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++rn?4*Da+n:n,wc.lineStart=wc.lineEnd=wc.point=y}};ta.geo.bounds=function(){function n(n,t){M.push(x=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=pe([t*Fa,e*Fa]);if(m){var u=de(m,r),i=[u[1],-u[0],0],o=de(i,u);Me(o),o=xe(o);var c=t-p,l=c>0?1:-1,v=o[0]*Ha*l,d=va(c)>180;if(d^(v>l*p&&l*t>v)){var y=o[1]*Ha;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>l*p&&l*t>v)){var y=-o[1]*Ha;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t):h>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t)}else n(t,e);m=r,p=t}function e(){b.point=t}function r(){x[0]=s,x[1]=h,b.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=va(r)>180?r+(r>0?360:-360):r}else v=n,d=e;wc.point(n,e),t(n,e)}function i(){wc.lineStart()}function o(){u(v,d),wc.lineEnd(),va(y)>Ta&&(s=-(h=180)),x[0]=s,x[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function l(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n_c?(s=-(h=180),f=-(g=90)):y>Ta?g=90:-Ta>y&&(f=-90),x[0]=s,x[1]=h}};return function(n){g=h=-(s=f=1/0),M=[],ta.geo.stream(n,b);var t=M.length;if(t){M.sort(c);for(var e,r=1,u=M[0],i=[u];t>r;++r)e=M[r],l(e[0],u)||l(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,s=e[0],h=u[1])}return M=x=null,1/0===s||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[s,f],[h,g]]}}(),ta.geo.centroid=function(n){Sc=kc=Ec=Ac=Nc=Cc=zc=qc=Lc=Tc=Rc=0,ta.geo.stream(n,Dc);var t=Lc,e=Tc,r=Rc,u=t*t+e*e+r*r;return Ra>u&&(t=Cc,e=zc,r=qc,Ta>kc&&(t=Ec,e=Ac,r=Nc),u=t*t+e*e+r*r,Ra>u)?[0/0,0/0]:[Math.atan2(e,t)*Ha,nt(r/Math.sqrt(u))*Ha]};var Sc,kc,Ec,Ac,Nc,Cc,zc,qc,Lc,Tc,Rc,Dc={sphere:y,point:_e,lineStart:Se,lineEnd:ke,polygonStart:function(){Dc.lineStart=Ee},polygonEnd:function(){Dc.lineStart=Se}},Pc=Le(Ne,Pe,je,[-Da,-Da/2]),Uc=1e9;ta.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=Ye(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(ta.geo.conicEqualArea=function(){return Ie(Ze)}).raw=Ze,ta.geo.albers=function(){return ta.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ta.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=ta.geo.albers(),o=ta.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=ta.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var l=i.scale(),s=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*l,f-.238*l],[s+.455*l,f+.238*l]]).stream(c).point,r=o.translate([s-.307*l,f+.201*l]).clipExtent([[s-.425*l+Ta,f+.12*l+Ta],[s-.214*l-Ta,f+.234*l-Ta]]).stream(c).point,u=a.translate([s-.205*l,f+.212*l]).clipExtent([[s-.214*l+Ta,f+.166*l+Ta],[s-.115*l-Ta,f+.234*l-Ta]]).stream(c).point,n},n.scale(1070)};var jc,Fc,Hc,Oc,Yc,Ic,Zc={point:y,lineStart:y,lineEnd:y,polygonStart:function(){Fc=0,Zc.lineStart=Ve},polygonEnd:function(){Zc.lineStart=Zc.lineEnd=Zc.point=y,jc+=va(Fc/2)}},Vc={point:Xe,lineStart:y,lineEnd:y,polygonStart:y,polygonEnd:y},Xc={point:We,lineStart:Je,lineEnd:Ge,polygonStart:function(){Xc.lineStart=Ke},polygonEnd:function(){Xc.point=We,Xc.lineStart=Je,Xc.lineEnd=Ge}};ta.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),ta.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return jc=0,ta.geo.stream(n,u(Zc)),jc},n.centroid=function(n){return Ec=Ac=Nc=Cc=zc=qc=Lc=Tc=Rc=0,ta.geo.stream(n,u(Xc)),Rc?[Lc/Rc,Tc/Rc]:qc?[Cc/qc,zc/qc]:Nc?[Ec/Nc,Ac/Nc]:[0/0,0/0]},n.bounds=function(n){return Yc=Ic=-(Hc=Oc=1/0),ta.geo.stream(n,u(Vc)),[[Hc,Oc],[Yc,Ic]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||tr(n):Et,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new $e:new Qe(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(ta.geo.albersUsa()).context(null)},ta.geo.transform=function(n){return{stream:function(t){var e=new er(t);for(var r in n)e[r]=n[r];return e}}},er.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ta.geo.projection=ur,ta.geo.projectionMutator=ir,(ta.geo.equirectangular=function(){return ur(ar)}).raw=ar.invert=ar,ta.geo.rotation=function(n){function t(t){return t=n(t[0]*Fa,t[1]*Fa),t[0]*=Ha,t[1]*=Ha,t}return n=lr(n[0]%360*Fa,n[1]*Fa,n.length>2?n[2]*Fa:0),t.invert=function(t){return t=n.invert(t[0]*Fa,t[1]*Fa),t[0]*=Ha,t[1]*=Ha,t},t},cr.invert=ar,ta.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=lr(-n[0]*Fa,-n[1]*Fa,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=Ha,n[1]*=Ha}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=gr((t=+r)*Fa,u*Fa),n):t},n.precision=function(r){return arguments.length?(e=gr(t*Fa,(u=+r)*Fa),n):u},n.angle(90)},ta.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Fa,u=n[1]*Fa,i=t[1]*Fa,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),l=Math.cos(u),s=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=l*s-c*f*a)*e),c*s+l*f*a)},ta.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return ta.range(Math.ceil(i/d)*d,u,d).map(h).concat(ta.range(Math.ceil(l/m)*m,c,m).map(g)).concat(ta.range(Math.ceil(r/p)*p,e,p).filter(function(n){return va(n%d)>Ta}).map(s)).concat(ta.range(Math.ceil(a/v)*v,o,v).filter(function(n){return va(n%m)>Ta}).map(f))}var e,r,u,i,o,a,c,l,s,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(l).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],l=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),l>c&&(t=l,l=c,c=t),n.precision(y)):[[i,l],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,s=vr(a,o,90),f=dr(r,e,y),h=vr(l,c,90),g=dr(i,u,y),n):y},n.majorExtent([[-180,-90+Ta],[180,90-Ta]]).minorExtent([[-180,-80-Ta],[180,80+Ta]])},ta.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=mr,u=yr;return n.distance=function(){return ta.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},ta.geo.interpolate=function(n,t){return Mr(n[0]*Fa,n[1]*Fa,t[0]*Fa,t[1]*Fa)},ta.geo.length=function(n){return $c=0,ta.geo.stream(n,Bc),$c};var $c,Bc={sphere:y,point:y,lineStart:xr,lineEnd:y,polygonStart:y,polygonEnd:y},Wc=br(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(ta.geo.azimuthalEqualArea=function(){return ur(Wc)}).raw=Wc;var Jc=br(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},Et);(ta.geo.azimuthalEquidistant=function(){return ur(Jc)}).raw=Jc,(ta.geo.conicConformal=function(){return Ie(_r)}).raw=_r,(ta.geo.conicEquidistant=function(){return Ie(wr)}).raw=wr;var Gc=br(function(n){return 1/n},Math.atan);(ta.geo.gnomonic=function(){return ur(Gc)}).raw=Gc,Sr.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-ja]},(ta.geo.mercator=function(){return kr(Sr)}).raw=Sr;var Kc=br(function(){return 1},Math.asin);(ta.geo.orthographic=function(){return ur(Kc)}).raw=Kc;var Qc=br(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(ta.geo.stereographic=function(){return ur(Qc)}).raw=Qc,Er.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-ja]},(ta.geo.transverseMercator=function(){var n=kr(Er),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Er,ta.geom={},ta.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=kt(e),i=kt(r),o=n.length,a=[],c=[];for(t=0;o>t;t++)a.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(a.sort(zr),t=0;o>t;t++)c.push([a[t][0],-a[t][1]]);var l=Cr(a),s=Cr(c),f=s[0]===l[0],h=s[s.length-1]===l[l.length-1],g=[];for(t=l.length-1;t>=0;--t)g.push(n[a[l[t]][2]]);for(t=+f;t=r&&l.x<=i&&l.y>=u&&l.y<=o?[[r,o],[i,o],[i,u],[r,u]]:[];s.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Ta)*Ta,y:Math.round(o(n,t)/Ta)*Ta,i:t}})}var r=Ar,u=Nr,i=r,o=u,a=cl;return n?t(n):(t.links=function(n){return iu(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return iu(e(n)).cells.forEach(function(e,r){for(var u,i,o=e.site,a=e.edges.sort(Ir),c=-1,l=a.length,s=a[l-1].edge,f=s.l===o?s.r:s.l;++c=l,h=r>=s,g=h<<1|f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=su()),f?u=l:a=l,h?o=s:c=s,i(n,t,e,r,u,o,a,c)}var s,f,h,g,p,v,d,m,y,M=kt(a),x=kt(c);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)s=n[g],s.xm&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g){var b=+M(s=n[g],g),_=+x(s,g);v>b&&(v=b),d>_&&(d=_),b>m&&(m=b),_>y&&(y=_),f.push(b),h.push(_)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=su();if(k.add=function(n){i(k,n,+M(n,++g),+x(n,g),v,d,m,y)},k.visit=function(n){fu(n,k,v,d,m,y)},k.find=function(n){return hu(k,n[0],n[1],v,d,m,y)},g=-1,null==t){for(;++g=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=hl.get(e)||fl,r=gl.get(r)||Et,Mu(r(e.apply(null,ea.call(arguments,1))))},ta.interpolateHcl=Lu,ta.interpolateHsl=Tu,ta.interpolateLab=Ru,ta.interpolateRound=Du,ta.transform=function(n){var t=ua.createElementNS(ta.ns.prefix.svg,"g");return(ta.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Pu(e?e.matrix:pl)})(n)},Pu.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var pl={a:1,b:0,c:0,d:1,e:0,f:0};ta.interpolateTransform=Hu,ta.layout={},ta.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++ea*a/d){if(p>c){var l=t.charge/c;n.px-=i*l,n.py-=o*l}return!0}if(t.point&&c&&p>c){var l=t.pointCharge/c;n.px-=i*l,n.py-=o*l}}return!t.charge}}function t(n){n.px=ta.event.x,n.py=ta.event.y,a.resume()}var e,r,u,i,o,a={},c=ta.dispatch("start","tick","end"),l=[1,1],s=.9,f=vl,h=dl,g=-30,p=ml,v=.1,d=.64,m=[],y=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,p,d,M,x,b=m.length,_=y.length;for(e=0;_>e;++e)a=y[e],f=a.source,h=a.target,M=h.x-f.x,x=h.y-f.y,(p=M*M+x*x)&&(p=r*i[e]*((p=Math.sqrt(p))-u[e])/p,M*=p,x*=p,h.x-=M*(d=f.weight/(h.weight+f.weight)),h.y-=x*d,f.x+=M*(d=1-d),f.y+=x*d);if((d=r*v)&&(M=l[0]/2,x=l[1]/2,e=-1,d))for(;++e0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),ta.timer(a.tick)),a):r},a.start=function(){function n(n,r){if(!e){for(e=new Array(c),a=0;c>a;++a)e[a]=[];for(a=0;l>a;++a){var u=y[a];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var i,o=e[t],a=-1,l=o.length;++at;++t)(r=m[t]).index=t,r.weight=0;for(t=0;s>t;++t)r=y[t],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;c>t;++t)r=m[t],isNaN(r.x)&&(r.x=n("x",p)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof f)for(t=0;s>t;++t)u[t]=+f.call(this,y[t],t);else for(t=0;s>t;++t)u[t]=f;if(i=[],"function"==typeof h)for(t=0;s>t;++t)i[t]=+h.call(this,y[t],t);else for(t=0;s>t;++t)i[t]=h;if(o=[],"function"==typeof g)for(t=0;c>t;++t)o[t]=+g.call(this,m[t],t);else for(t=0;c>t;++t)o[t]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=ta.behavior.drag().origin(Et).on("dragstart.force",Xu).on("drag.force",t).on("dragend.force",$u)),arguments.length?(this.on("mouseover.force",Bu).on("mouseout.force",Wu).call(e),void 0):e},ta.rebind(a,c,"on")};var vl=20,dl=1,ml=1/0;ta.layout.hierarchy=function(){function n(u){var i,o=[u],a=[];for(u.depth=0;null!=(i=o.pop());)if(a.push(i),(l=e.call(n,i,i.depth))&&(c=l.length)){for(var c,l,s;--c>=0;)o.push(s=l[c]),s.parent=i,s.depth=i.depth+1;r&&(i.value=0),i.children=l}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Qu(u,function(n){var e,u;t&&(e=n.children)&&e.sort(t),r&&(u=n.parent)&&(u.value+=n.value)}),a}var t=ei,e=ni,r=ti;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ku(t,function(n){n.children&&(n.value=0)}),Qu(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},ta.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(o=i.length)){var o,a,c,l=-1;for(r=t.value?r/t.value:0;++lf?-1:1),p=(f-c*g)/ta.sum(l),v=ta.range(c),d=[];return null!=e&&v.sort(e===yl?function(n,t){return l[t]-l[n]}:function(n,t){return e(o[n],o[t])}),v.forEach(function(n){d[n]={data:o[n],value:a=l[n],startAngle:s,endAngle:s+=a*p+g,padAngle:h}}),d}var t=Number,e=yl,r=0,u=Pa,i=0;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n.padAngle=function(t){return arguments.length?(i=t,n):i},n};var yl={};ta.layout.stack=function(){function n(a,c){if(!(h=a.length))return a;var l=a.map(function(e,r){return t.call(n,e,r)}),s=l.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),o.call(n,t,e)]})}),f=e.call(n,s,c);l=ta.permute(l,f),s=ta.permute(s,f);var h,g,p,v,d=r.call(n,s,c),m=l[0].length;for(p=0;m>p;++p)for(u.call(n,l[0][p],v=d[p],s[0][p][1]),g=1;h>g;++g)u.call(n,l[g][p],v+=s[g-1][p][1],s[g][p][1]);return a}var t=Et,e=ai,r=ci,u=oi,i=ui,o=ii;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:Ml.get(t)||ai,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:xl.get(t)||ci,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var Ml=ta.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(li),i=n.map(si),o=ta.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,l=[],s=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],l.push(e)):(c+=i[e],s.push(e));return s.reverse().concat(l)},reverse:function(n){return ta.range(n.length).reverse()},"default":ai}),xl=ta.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,l,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=l=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];s>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,l>c&&(l=c)}for(e=0;h>e;++e)g[e]-=l;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:ci});ta.layout.histogram=function(){function n(n,i){for(var o,a,c=[],l=n.map(e,this),s=r.call(this,l,i),f=u.call(this,s,l,i),i=-1,h=l.length,g=f.length-1,p=t?1:1/h;++i0)for(i=-1;++i=s[0]&&a<=s[1]&&(o=c[ta.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=pi,u=hi;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=kt(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return gi(n,t)}:kt(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},ta.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],l=u[1],s=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Qu(a,function(n){n.r=+s(n.value)}),Qu(a,Mi),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/l))/2;Qu(a,function(n){n.r+=f}),Qu(a,Mi),Qu(a,function(n){n.r-=f})}return _i(a,c/2,l/2,t?1:1/Math.max(2*a.r/c,2*a.r/l)),o}var t,e=ta.layout.hierarchy().sort(vi),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Gu(n,e)},ta.layout.tree=function(){function n(n,u){var s=o.call(this,n,u),f=s[0],h=t(f);if(Qu(h,e),h.parent.m=-h.z,Ku(h,r),l)Ku(f,i);else{var g=f,p=f,v=f;Ku(f,function(n){n.xp.x&&(p=n),n.depth>v.depth&&(v=n)});var d=a(g,p)/2-g.x,m=c[0]/(p.x+a(p,g)/2+d),y=c[1]/(v.depth||1);Ku(f,function(n){n.x=(n.x+d)*m,n.y=n.depth*y})}return s}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var u,i=t.children,o=0,a=i.length;a>o;++o)r.push((i[o]=u={_:i[o],parent:t,children:(u=i[o].children)&&u.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=u);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Ni(n);var i=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+a(n._,r._),n.m=n.z-i):n.z=i}else r&&(n.z=r.z+a(n._,r._));n.parent.A=u(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function u(n,t,e){if(t){for(var r,u=n,i=n,o=t,c=u.parent.children[0],l=u.m,s=i.m,f=o.m,h=c.m;o=Ei(o),u=ki(u),o&&u;)c=ki(c),i=Ei(i),i.a=n,r=o.z+f-u.z-l+a(o._,u._),r>0&&(Ai(Ci(o,n,e),n,r),l+=r,s+=r),f+=o.m,l+=u.m,h+=c.m,s+=i.m;o&&!Ei(i)&&(i.t=o,i.m+=f-s),u&&!ki(c)&&(c.t=u,c.m+=l-h,e=n)}return e}function i(n){n.x*=c[0],n.y=n.depth*c[1]}var o=ta.layout.hierarchy().sort(null).value(null),a=Si,c=[1,1],l=null;return n.separation=function(t){return arguments.length?(a=t,n):a},n.size=function(t){return arguments.length?(l=null==(c=t)?i:null,n):l?null:c},n.nodeSize=function(t){return arguments.length?(l=null==(c=t)?null:i,n):l?c:null},Gu(n,o)},ta.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],l=0;Qu(c,function(n){var t=n.children;t&&t.length?(n.x=qi(t),n.y=zi(t)):(n.x=o?l+=e(n,o):0,n.y=0,o=n)});var s=Li(c),f=Ti(c),h=s.x-e(s,f)/2,g=f.x+e(f,s)/2;return Qu(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=ta.layout.hierarchy().sort(null).value(null),e=Si,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Gu(n,t)},ta.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++ut?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,l=f(e),s=[],h=i.slice(),p=1/0,v="slice"===g?l.dx:"dice"===g?l.dy:"slice-dice"===g?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(n(h,l.dx*l.dy/e.value),s.area=0;(c=h.length)>0;)s.push(o=h[c-1]),s.area+=o.area,"squarify"!==g||(a=r(s,v))<=p?(h.pop(),p=a):(s.area-=s.pop().area,u(s,v,l,!1),v=Math.min(l.dx,l.dy),s.length=s.area=0,p=1/0);s.length&&(u(s,v,l,!0),s.length=s.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++oe&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,l=e.y,s=t?c(n.area/t):0;if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++ie.dx)&&(s=e.dx);++ie&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=ta.random.normal.apply(ta,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=ta.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},ta.scale={};var bl={floor:Et,ceil:Et};ta.scale.linear=function(){return Yi([0,1],[0,1],mu,!1)};var _l={s:1,g:1,p:1,r:1,e:1};ta.scale.log=function(){return Ji(ta.scale.linear().domain([0,1]),10,!0,[1,10])};var wl=ta.format(".0e"),Sl={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};ta.scale.pow=function(){return Gi(ta.scale.linear(),1,[0,1])},ta.scale.sqrt=function(){return ta.scale.pow().exponent(.5)},ta.scale.ordinal=function(){return Qi([],{t:"range",a:[[]]})},ta.scale.category10=function(){return ta.scale.ordinal().range(kl)},ta.scale.category20=function(){return ta.scale.ordinal().range(El)},ta.scale.category20b=function(){return ta.scale.ordinal().range(Al)},ta.scale.category20c=function(){return ta.scale.ordinal().range(Nl)};var kl=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(yt),El=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(yt),Al=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(yt),Nl=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(yt);ta.scale.quantile=function(){return no([],[])},ta.scale.quantize=function(){return to(0,1,[0,1])},ta.scale.threshold=function(){return eo([.5],[0,1])},ta.scale.identity=function(){return ro([0,1])},ta.svg={},ta.svg.arc=function(){function n(){var n=Math.max(0,+e.apply(this,arguments)),l=Math.max(0,+r.apply(this,arguments)),s=o.apply(this,arguments)-ja,f=a.apply(this,arguments)-ja,h=Math.abs(f-s),g=s>f?0:1;if(n>l&&(p=l,l=n,n=p),h>=Ua)return t(l,g)+(n?t(n,1-g):"")+"Z";var p,v,d,m,y,M,x,b,_,w,S,k,E=0,A=0,N=[];if((m=(+c.apply(this,arguments)||0)/2)&&(d=i===Cl?Math.sqrt(n*n+l*l):+i.apply(this,arguments),g||(A*=-1),l&&(A=nt(d/l*Math.sin(m))),n&&(E=nt(d/n*Math.sin(m)))),l){y=l*Math.cos(s+A),M=l*Math.sin(s+A),x=l*Math.cos(f-A),b=l*Math.sin(f-A);var C=Math.abs(f-s-2*A)<=Da?0:1;if(A&&so(y,M,x,b)===g^C){var z=(s+f)/2;y=l*Math.cos(z),M=l*Math.sin(z),x=b=null}}else y=M=0;if(n){_=n*Math.cos(f-E),w=n*Math.sin(f-E),S=n*Math.cos(s+E),k=n*Math.sin(s+E);var q=Math.abs(s-f+2*E)<=Da?0:1;if(E&&so(_,w,S,k)===1-g^q){var L=(s+f)/2;_=n*Math.cos(L),w=n*Math.sin(L),S=k=null}}else _=w=0;if((p=Math.min(Math.abs(l-n)/2,+u.apply(this,arguments)))>.001){v=l>n^g?0:1;var T=null==S?[_,w]:null==x?[y,M]:Lr([y,M],[S,k],[x,b],[_,w]),R=y-T[0],D=M-T[1],P=x-T[0],U=b-T[1],j=1/Math.sin(Math.acos((R*P+D*U)/(Math.sqrt(R*R+D*D)*Math.sqrt(P*P+U*U)))/2),F=Math.sqrt(T[0]*T[0]+T[1]*T[1]);if(null!=x){var H=Math.min(p,(l-F)/(j+1)),O=fo(null==S?[_,w]:[S,k],[y,M],l,H,g),Y=fo([x,b],[_,w],l,H,g);p===H?N.push("M",O[0],"A",H,",",H," 0 0,",v," ",O[1],"A",l,",",l," 0 ",1-g^so(O[1][0],O[1][1],Y[1][0],Y[1][1]),",",g," ",Y[1],"A",H,",",H," 0 0,",v," ",Y[0]):N.push("M",O[0],"A",H,",",H," 0 1,",v," ",Y[0])}else N.push("M",y,",",M);if(null!=S){var I=Math.min(p,(n-F)/(j-1)),Z=fo([y,M],[S,k],n,-I,g),V=fo([_,w],null==x?[y,M]:[x,b],n,-I,g);p===I?N.push("L",V[0],"A",I,",",I," 0 0,",v," ",V[1],"A",n,",",n," 0 ",g^so(V[1][0],V[1][1],Z[1][0],Z[1][1]),",",1-g," ",Z[1],"A",I,",",I," 0 0,",v," ",Z[0]):N.push("L",V[0],"A",I,",",I," 0 0,",v," ",Z[0])}else N.push("L",_,",",w)}else N.push("M",y,",",M),null!=x&&N.push("A",l,",",l," 0 ",C,",",g," ",x,",",b),N.push("L",_,",",w),null!=S&&N.push("A",n,",",n," 0 ",q,",",1-g," ",S,",",k);return N.push("Z"),N.join("")}function t(n,t){return"M0,"+n+"A"+n+","+n+" 0 1,"+t+" 0,"+-n+"A"+n+","+n+" 0 1,"+t+" 0,"+n}var e=io,r=oo,u=uo,i=Cl,o=ao,a=co,c=lo;return n.innerRadius=function(t){return arguments.length?(e=kt(t),n):e},n.outerRadius=function(t){return arguments.length?(r=kt(t),n):r},n.cornerRadius=function(t){return arguments.length?(u=kt(t),n):u},n.padRadius=function(t){return arguments.length?(i=t==Cl?Cl:kt(t),n):i},n.startAngle=function(t){return arguments.length?(o=kt(t),n):o},n.endAngle=function(t){return arguments.length?(a=kt(t),n):a},n.padAngle=function(t){return arguments.length?(c=kt(t),n):c},n.centroid=function(){var n=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,t=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-ja;return[Math.cos(t)*n,Math.sin(t)*n]},n};var Cl="auto";ta.svg.line=function(){return ho(Et)};var zl=ta.map({linear:go,"linear-closed":po,step:vo,"step-before":mo,"step-after":yo,basis:So,"basis-open":ko,"basis-closed":Eo,bundle:Ao,cardinal:bo,"cardinal-open":Mo,"cardinal-closed":xo,monotone:To});zl.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var ql=[0,2/3,1/3,0],Ll=[0,1/3,2/3,0],Tl=[0,1/6,2/3,1/6];ta.svg.line.radial=function(){var n=ho(Ro);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},mo.reverse=yo,yo.reverse=mo,ta.svg.area=function(){return Do(Et)},ta.svg.area.radial=function(){var n=Do(Ro);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},ta.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),l=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,l)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+u(l.r,l.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)-ja,s=l.call(n,u,r)-ja;return{r:i,a0:o,a1:s,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Da)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=mr,o=yr,a=Po,c=ao,l=co;return n.radius=function(t){return arguments.length?(a=kt(t),n):a},n.source=function(t){return arguments.length?(i=kt(t),n):i},n.target=function(t){return arguments.length?(o=kt(t),n):o},n.startAngle=function(t){return arguments.length?(c=kt(t),n):c},n.endAngle=function(t){return arguments.length?(l=kt(t),n):l},n},ta.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=mr,e=yr,r=Uo;return n.source=function(e){return arguments.length?(t=kt(e),n):t},n.target=function(t){return arguments.length?(e=kt(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},ta.svg.diagonal.radial=function(){var n=ta.svg.diagonal(),t=Uo,e=n.projection;return n.projection=function(n){return arguments.length?e(jo(t=n)):t},n},ta.svg.symbol=function(){function n(n,r){return(Rl.get(t.call(this,n,r))||Oo)(e.call(this,n,r))}var t=Ho,e=Fo;return n.type=function(e){return arguments.length?(t=kt(e),n):t},n.size=function(t){return arguments.length?(e=kt(t),n):e},n};var Rl=ta.map({circle:Oo,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Pl)),e=t*Pl;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/Dl),e=t*Dl/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/Dl),e=t*Dl/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});ta.svg.symbolTypes=Rl.keys();var Dl=Math.sqrt(3),Pl=Math.tan(30*Fa);ka.transition=function(n){for(var t,e,r=Ul||++Ol,u=Xo(n),i=[],o=jl||{time:Date.now(),ease:Su,delay:0,duration:250},a=-1,c=this.length;++ai;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return Io(u,this.namespace,this.id)},Hl.tween=function(n,t){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(n):H(this,null==t?function(t){t[r][e].tween.remove(n)}:function(u){u[r][e].tween.set(n,t)})},Hl.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Hu:mu,a=ta.ns.qualify(n);return Zo(this,"attr."+n,t,a.local?i:u)},Hl.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=ta.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Hl.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=oa.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=mu(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return Zo(this,"style."+n,t,u)},Hl.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,oa.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Hl.text=function(n){return Zo(this,"text",n,Vo)},Hl.remove=function(){var n=this.namespace;return this.each("end.transition",function(){var t;this[n].count<2&&(t=this.parentNode)&&t.removeChild(this)})},Hl.ease=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].ease:("function"!=typeof n&&(n=ta.ease.apply(ta,arguments)),H(this,function(r){r[e][t].ease=n}))},Hl.delay=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].delay:H(this,"function"==typeof n?function(r,u,i){r[e][t].delay=+n.call(r,r.__data__,u,i)}:(n=+n,function(r){r[e][t].delay=n}))},Hl.duration=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].duration:H(this,"function"==typeof n?function(r,u,i){r[e][t].duration=Math.max(1,n.call(r,r.__data__,u,i))}:(n=Math.max(1,n),function(r){r[e][t].duration=n}))},Hl.each=function(n,t){var e=this.id,r=this.namespace;if(arguments.length<2){var u=jl,i=Ul;try{Ul=e,H(this,function(t,u,i){jl=t[r][e],n.call(t,t.__data__,u,i)})}finally{jl=u,Ul=i}}else H(this,function(u){var i=u[r][e];(i.event||(i.event=ta.dispatch("start","end","interrupt"))).on(n,t)});return this},Hl.transition=function(){for(var n,t,e,r,u=this.id,i=++Ol,o=this.namespace,a=[],c=0,l=this.length;l>c;c++){a.push(n=[]);for(var t=this[c],s=0,f=t.length;f>s;s++)(e=t[s])&&(r=e[o][u],$o(e,s,o,i,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),n.push(e)}return Io(a,o,i)},ta.svg.axis=function(){function n(n){n.each(function(){var n,l=ta.select(this),s=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):Et:t,p=l.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Ta),d=ta.transition(p.exit()).style("opacity",Ta).remove(),m=ta.transition(p.order()).style("opacity",1),y=Math.max(u,0)+o,M=Ui(f),x=l.selectAll(".domain").data([0]),b=(x.enter().append("path").attr("class","domain"),ta.transition(x));v.append("line"),v.append("text");var _,w,S,k,E=v.select("line"),A=m.select("line"),N=p.select("text").text(g),C=v.select("text"),z=m.select("text"),q="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=Bo,_="x",S="y",w="x2",k="y2",N.attr("dy",0>q?"0em":".71em").style("text-anchor","middle"),b.attr("d","M"+M[0]+","+q*i+"V0H"+M[1]+"V"+q*i)):(n=Wo,_="y",S="x",w="y2",k="x2",N.attr("dy",".32em").style("text-anchor",0>q?"end":"start"),b.attr("d","M"+q*i+","+M[0]+"H0V"+M[1]+"H"+q*i)),E.attr(k,q*u),C.attr(S,q*y),A.attr(w,0).attr(k,q*u),z.attr(_,0).attr(S,q*y),f.rangeBand){var L=f,T=L.rangeBand()/2;s=f=function(n){return L(n)+T}}else s.rangeBand?s=f:d.call(n,f,s);v.call(n,s,f),m.call(n,f,f)})}var t,e=ta.scale.linear(),r=Yl,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Il?t+"":Yl,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Yl="bottom",Il={top:1,right:1,bottom:1,left:1};ta.svg.brush=function(){function n(i){i.each(function(){var i=ta.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(p,Et);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return Zl[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var s,f=ta.transition(i),h=ta.transition(o);c&&(s=Ui(c),h.attr("x",s[0]).attr("width",s[1]-s[0]),e(f)),l&&(s=Ui(l),h.attr("y",s[0]).attr("height",s[1]-s[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+s[+/e$/.test(n)]+","+f[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function r(n){n.select(".extent").attr("y",f[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function u(){function u(){32==ta.event.keyCode&&(N||(y=null,z[0]-=s[1],z[1]-=f[1],N=2),b())}function p(){32==ta.event.keyCode&&2==N&&(z[0]+=s[1],z[1]+=f[1],N=0,b())}function v(){var n=ta.mouse(x),u=!1;M&&(n[0]+=M[0],n[1]+=M[1]),N||(ta.event.altKey?(y||(y=[(s[0]+s[1])/2,(f[0]+f[1])/2]),z[0]=s[+(n[0]p?(u=r,r=p):u=p),v[0]!=r||v[1]!=u?(e?o=null:i=null,v[0]=r,v[1]=u,!0):void 0}function m(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),ta.select("body").style("cursor",null),q.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),C(),w({type:"brushend"})}var y,M,x=this,_=ta.select(ta.event.target),w=a.of(x,arguments),S=ta.select(x),k=_.datum(),E=!/^(n|s)$/.test(k)&&c,A=!/^(e|w)$/.test(k)&&l,N=_.classed("extent"),C=X(),z=ta.mouse(x),q=ta.select(oa).on("keydown.brush",u).on("keyup.brush",p);if(ta.event.changedTouches?q.on("touchmove.brush",v).on("touchend.brush",m):q.on("mousemove.brush",v).on("mouseup.brush",m),S.interrupt().selectAll("*").interrupt(),N)z[0]=s[0]-z[0],z[1]=f[0]-z[1];else if(k){var L=+/w$/.test(k),T=+/^n/.test(k);M=[s[1-L]-z[0],f[1-T]-z[1]],z[0]=s[L],z[1]=f[T]}else ta.event.altKey&&(y=z.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),ta.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=w(n,"brushstart","brush","brushend"),c=null,l=null,s=[0,0],f=[0,0],h=!0,g=!0,p=Vl[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:s,y:f,i:i,j:o},e=this.__chart__||t;this.__chart__=t,Ul?ta.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,s=e.x,f=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=yu(s,t.x),r=yu(f,t.y);return i=o=null,function(u){s=t.x=e(u),f=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,p=Vl[!c<<1|!l],n):c},n.y=function(t){return arguments.length?(l=t,p=Vl[!c<<1|!l],n):l},n.clamp=function(t){return arguments.length?(c&&l?(h=!!t[0],g=!!t[1]):c?h=!!t:l&&(g=!!t),n):c&&l?[h,g]:c?h:l?g:null},n.extent=function(t){var e,r,u,a,h;return arguments.length?(c&&(e=t[0],r=t[1],l&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(h=e,e=r,r=h),(e!=s[0]||r!=s[1])&&(s=[e,r])),l&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],l.invert&&(u=l(u),a=l(a)),u>a&&(h=u,u=a,a=h),(u!=f[0]||a!=f[1])&&(f=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(h=e,e=r,r=h))),l&&(o?(u=o[0],a=o[1]):(u=f[0],a=f[1],l.invert&&(u=l.invert(u),a=l.invert(a)),u>a&&(h=u,u=a,a=h))),c&&l?[[e,u],[r,a]]:c?[e,r]:l&&[u,a])},n.clear=function(){return n.empty()||(s=[0,0],f=[0,0],i=o=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!l&&f[0]==f[1]},ta.rebind(n,a,"on")};var Zl={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Vl=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Xl=fc.format=mc.timeFormat,$l=Xl.utc,Bl=$l("%Y-%m-%dT%H:%M:%S.%LZ");Xl.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Jo:Bl,Jo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},Jo.toString=Bl.toString,fc.second=Ft(function(n){return new hc(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),fc.seconds=fc.second.range,fc.seconds.utc=fc.second.utc.range,fc.minute=Ft(function(n){return new hc(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),fc.minutes=fc.minute.range,fc.minutes.utc=fc.minute.utc.range,fc.hour=Ft(function(n){var t=n.getTimezoneOffset()/60;return new hc(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),fc.hours=fc.hour.range,fc.hours.utc=fc.hour.utc.range,fc.month=Ft(function(n){return n=fc.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),fc.months=fc.month.range,fc.months.utc=fc.month.utc.range;var Wl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Jl=[[fc.second,1],[fc.second,5],[fc.second,15],[fc.second,30],[fc.minute,1],[fc.minute,5],[fc.minute,15],[fc.minute,30],[fc.hour,1],[fc.hour,3],[fc.hour,6],[fc.hour,12],[fc.day,1],[fc.day,2],[fc.week,1],[fc.month,1],[fc.month,3],[fc.year,1]],Gl=Xl.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",Ne]]),Kl={range:function(n,t,e){return ta.range(Math.ceil(n/e)*e,+t,e).map(Ko)},floor:Et,ceil:Et};Jl.year=fc.year,fc.scale=function(){return Go(ta.scale.linear(),Jl,Gl)};var Ql=Jl.map(function(n){return[n[0].utc,n[1]]}),ns=$l.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",Ne]]);Ql.year=fc.year.utc,fc.scale.utc=function(){return Go(ta.scale.linear(),Ql,ns)},ta.text=At(function(n){return n.responseText}),ta.json=function(n,t){return Nt(n,"application/json",Qo,t)},ta.html=function(n,t){return Nt(n,"text/html",na,t)},ta.xml=At(function(n){return n.responseXML}),"function"==typeof define&&define.amd?define(ta):"object"==typeof module&&module.exports&&(module.exports=ta),this.d3=ta}(); \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/dataTables.bootstrap.js b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/dataTables.bootstrap.js new file mode 100644 index 000000000..4fed58ee4 --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/dataTables.bootstrap.js @@ -0,0 +1,206 @@ +/*! DataTables Bootstrap 3 integration + * ©2011-2014 SpryMedia Ltd - datatables.net/license + */ + +/** + * DataTables integration for Bootstrap 3. This requires Bootstrap 3 and + * DataTables 1.10 or newer. + * + * This file sets the defaults and adds options to DataTables to style its + * controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap + * for further information. + */ +(function(window, document, undefined){ + +var factory = function( $, DataTable ) { +"use strict"; + + +/* Set the defaults for DataTables initialisation */ +$.extend( true, DataTable.defaults, { + dom: + "<'row'<'col-sm-6'l><'col-sm-6'f>>" + + "<'row'<'col-sm-12'tr>>" + + "<'row'<'col-sm-5'i><'col-sm-7'p>>", + renderer: 'bootstrap' +} ); + + +/* Default class modification */ +$.extend( DataTable.ext.classes, { + sWrapper: "dataTables_wrapper form-inline dt-bootstrap", + sFilterInput: "form-control input-sm", + sLengthSelect: "form-control input-sm" +} ); + + +/* Bootstrap paging button renderer */ +DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { + var api = new DataTable.Api( settings ); + var classes = settings.oClasses; + var lang = settings.oLanguage.oPaginate; + var btnDisplay, btnClass, counter=0; + + var attach = function( container, buttons ) { + var i, ien, node, button; + var clickHandler = function ( e ) { + e.preventDefault(); + if ( !$(e.currentTarget).hasClass('disabled') ) { + api.page( e.data.action ).draw( false ); + } + }; + + for ( i=0, ien=buttons.length ; i 0 ? + '' : ' disabled'); + break; + + case 'previous': + btnDisplay = lang.sPrevious; + btnClass = button + (page > 0 ? + '' : ' disabled'); + break; + + case 'next': + btnDisplay = lang.sNext; + btnClass = button + (page < pages-1 ? + '' : ' disabled'); + break; + + case 'last': + btnDisplay = lang.sLast; + btnClass = button + (page < pages-1 ? + '' : ' disabled'); + break; + + default: + btnDisplay = button + 1; + btnClass = page === button ? + 'active' : ''; + break; + } + + if ( btnDisplay ) { + node = $('
  • ', { + 'class': classes.sPageButton+' '+btnClass, + 'id': idx === 0 && typeof button === 'string' ? + settings.sTableId +'_'+ button : + null + } ) + .append( $('', { + 'href': '#', + 'aria-controls': settings.sTableId, + 'data-dt-idx': counter, + 'tabindex': settings.iTabIndex + } ) + .html( btnDisplay ) + ) + .appendTo( container ); + + settings.oApi._fnBindAction( + node, {action: button}, clickHandler + ); + + counter++; + } + } + } + }; + + // IE9 throws an 'unknown error' if document.activeElement is used + // inside an iframe or frame. + var activeEl; + + try { + // Because this approach is destroying and recreating the paging + // elements, focus is lost on the select button which is bad for + // accessibility. So we want to restore focus once the draw has + // completed + activeEl = $(document.activeElement).data('dt-idx'); + } + catch (e) {} + + attach( + $(host).empty().html('
      ').children('ul'), + buttons + ); + + if ( activeEl ) { + $(host).find( '[data-dt-idx='+activeEl+']' ).focus(); + } +}; + + +/* + * TableTools Bootstrap compatibility + * Required TableTools 2.1+ + */ +if ( DataTable.TableTools ) { + // Set the classes that TableTools uses to something suitable for Bootstrap + $.extend( true, DataTable.TableTools.classes, { + "container": "DTTT btn-group", + "buttons": { + "normal": "btn btn-default", + "disabled": "disabled" + }, + "collection": { + "container": "DTTT_dropdown dropdown-menu", + "buttons": { + "normal": "", + "disabled": "disabled" + } + }, + "print": { + "info": "DTTT_print_info" + }, + "select": { + "row": "active" + } + } ); + + // Have the collection use a bootstrap compatible drop down + $.extend( true, DataTable.TableTools.DEFAULTS.oTags, { + "collection": { + "container": "ul", + "button": "li", + "liner": "a" + } + } ); +} + +}; // /factory + + +// Define as an AMD module if possible +if ( typeof define === 'function' && define.amd ) { + define( ['jquery', 'datatables'], factory ); +} +else if ( typeof exports === 'object' ) { + // Node/CommonJS + factory( require('jquery'), require('datatables') ); +} +else if ( jQuery ) { + // Otherwise simply initialise as normal, stopping multiple evaluation + factory( jQuery, jQuery.fn.dataTable ); +} + + +})(window, document); + diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/gadgetconf.js b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/gadgetconf.js new file mode 100644 index 000000000..b74e5cb19 --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/gadgetconf.js @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +var extractedPort = window.location.port; +var evaluatedPort; +if (extractedPort) { + evaluatedPort = ":" + extractedPort; +} else { + evaluatedPort = ""; +} + +var gadgetConfig = { + "id": "devices-table", + "polling_interval": 30000, + "pub_sub_channel": "filter", + "featureSource": "https://" + window.location.hostname + evaluatedPort + + "/api/device-mgt/v1.0/dashboard/feature-non-compliant-devices-with-details", + "defaultSource": "https://" + window.location.hostname + evaluatedPort + + "/api/device-mgt/v1.0/dashboard/devices-with-details", + "domain": "carbon.super", + "deviceManageUrl": "https://" + window.location.hostname + evaluatedPort + + "/devicemgt/device/$type$?id=$id$" +}; diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/jquery.dataTables.js b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/jquery.dataTables.js new file mode 100644 index 000000000..380ab1e44 --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.device.statistics.dashboard/src/main/resources/carbonapps/GadgetDevicesTable_1.0.0/devices-table/js/jquery.dataTables.js @@ -0,0 +1,15268 @@ +/*! DataTables 1.10.11 + * ©2008-2015 SpryMedia Ltd - datatables.net/license + */ + +/** + * @summary DataTables + * @description Paginate, search and order HTML tables + * @version 1.10.11 + * @file jquery.dataTables.js + * @author SpryMedia Ltd (www.sprymedia.co.uk) + * @contact www.sprymedia.co.uk/contact + * @copyright Copyright 2008-2015 SpryMedia Ltd. + * + * This source file is free software, available under the following license: + * MIT license - http://datatables.net/license + * + * This source file is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. + * + * For details please refer to: http://www.datatables.net + */ + +/*jslint evil: true, undef: true, browser: true */ +/*globals $,require,jQuery,define,_selector_run,_selector_opts,_selector_first,_selector_row_indexes,_ext,_Api,_api_register,_api_registerPlural,_re_new_lines,_re_html,_re_formatted_numeric,_re_escape_regex,_empty,_intVal,_numToDecimal,_isNumber,_isHtml,_htmlNumeric,_pluck,_pluck_order,_range,_stripHtml,_unique,_fnBuildAjax,_fnAjaxUpdate,_fnAjaxParameters,_fnAjaxUpdateDraw,_fnAjaxDataSrc,_fnAddColumn,_fnColumnOptions,_fnAdjustColumnSizing,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnVisbleColumns,_fnGetColumns,_fnColumnTypes,_fnApplyColumnDefs,_fnHungarianMap,_fnCamelToHungarian,_fnLanguageCompat,_fnBrowserDetect,_fnAddData,_fnAddTr,_fnNodeToDataIndex,_fnNodeToColumnIndex,_fnGetCellData,_fnSetCellData,_fnSplitObjNotation,_fnGetObjectDataFn,_fnSetObjectDataFn,_fnGetDataMaster,_fnClearTable,_fnDeleteIndex,_fnInvalidate,_fnGetRowElements,_fnCreateTr,_fnBuildHead,_fnDrawHead,_fnDraw,_fnReDraw,_fnAddOptionsHtml,_fnDetectHeader,_fnGetUniqueThs,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnFilterCreateSearch,_fnEscapeRegex,_fnFilterData,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnInfoMacros,_fnInitialise,_fnInitComplete,_fnLengthChange,_fnFeatureHtmlLength,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnFeatureHtmlTable,_fnScrollDraw,_fnApplyToChildren,_fnCalculateColumnWidths,_fnThrottle,_fnConvertToWidth,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnSortFlatten,_fnSort,_fnSortAria,_fnSortListener,_fnSortAttachListener,_fnSortingClasses,_fnSortData,_fnSaveState,_fnLoadState,_fnSettingsFromNode,_fnLog,_fnMap,_fnBindAction,_fnCallbackReg,_fnCallbackFire,_fnLengthOverflow,_fnRenderer,_fnDataSource,_fnRowAttributes*/ + +(function( factory ) { + "use strict"; + + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + module.exports = function (root, $) { + if ( ! root ) { + // CommonJS environments without a window global must pass a + // root. This will give an error otherwise + root = window; + } + + if ( ! $ ) { + $ = typeof window !== 'undefined' ? // jQuery's factory checks for a global window + require('jquery') : + require('jquery')( root ); + } + + return factory( $, root, root.document ); + }; + } + else { + // Browser + factory( jQuery, window, document ); + } +} +(function( $, window, document, undefined ) { + "use strict"; + + /** + * DataTables is a plug-in for the jQuery Javascript library. It is a highly + * flexible tool, based upon the foundations of progressive enhancement, + * which will add advanced interaction controls to any HTML table. For a + * full list of features please refer to + * [DataTables.net](href="http://datatables.net). + * + * Note that the `DataTable` object is not a global variable but is aliased + * to `jQuery.fn.DataTable` and `jQuery.fn.dataTable` through which it may + * be accessed. + * + * @class + * @param {object} [init={}] Configuration object for DataTables. Options + * are defined by {@link DataTable.defaults} + * @requires jQuery 1.7+ + * + * @example + * // Basic initialisation + * $(document).ready( function { + * $('#example').dataTable(); + * } ); + * + * @example + * // Initialisation with configuration options - in this case, disable + * // pagination and sorting. + * $(document).ready( function { + * $('#example').dataTable( { + * "paginate": false, + * "sort": false + * } ); + * } ); + */ + var DataTable; + + + /* + * It is useful to have variables which are scoped locally so only the + * DataTables functions can access them and they don't leak into global space. + * At the same time these functions are often useful over multiple files in the + * core and API, so we list, or at least document, all variables which are used + * by DataTables as private variables here. This also ensures that there is no + * clashing of variable names and that they can easily referenced for reuse. + */ + + + // Defined else where + // _selector_run + // _selector_opts + // _selector_first + // _selector_row_indexes + + var _ext; // DataTable.ext + var _Api; // DataTable.Api + var _api_register; // DataTable.Api.register + var _api_registerPlural; // DataTable.Api.registerPlural + + var _re_dic = {}; + var _re_new_lines = /[\r\n]/g; + var _re_html = /<.*?>/g; + var _re_date_start = /^[\w\+\-]/; + var _re_date_end = /[\w\+\-]$/; + + // Escape regular expression special characters + var _re_escape_regex = new RegExp( '(\\' + [ '/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\', '$', '^', '-' ].join('|\\') + ')', 'g' ); + + // http://en.wikipedia.org/wiki/Foreign_exchange_market + // - \u20BD - Russian ruble. + // - \u20a9 - South Korean Won + // - \u20BA - Turkish Lira + // - \u20B9 - Indian Rupee + // - R - Brazil (R$) and South Africa + // - fr - Swiss Franc + // - kr - Swedish krona, Norwegian krone and Danish krone + // - \u2009 is thin space and \u202F is narrow no-break space, both used in many + // standards as thousands separators. + var _re_formatted_numeric = /[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi; + + + var _empty = function ( d ) { + return !d || d === true || d === '-' ? true : false; + }; + + + var _intVal = function ( s ) { + var integer = parseInt( s, 10 ); + return !isNaN(integer) && isFinite(s) ? integer : null; + }; + + // Convert from a formatted number with characters other than `.` as the + // decimal place, to a Javascript number + var _numToDecimal = function ( num, decimalPoint ) { + // Cache created regular expressions for speed as this function is called often + if ( ! _re_dic[ decimalPoint ] ) { + _re_dic[ decimalPoint ] = new RegExp( _fnEscapeRegex( decimalPoint ), 'g' ); + } + return typeof num === 'string' && decimalPoint !== '.' ? + num.replace( /\./g, '' ).replace( _re_dic[ decimalPoint ], '.' ) : + num; + }; + + + var _isNumber = function ( d, decimalPoint, formatted ) { + var strType = typeof d === 'string'; + + // If empty return immediately so there must be a number if it is a + // formatted string (this stops the string "k", or "kr", etc being detected + // as a formatted number for currency + if ( _empty( d ) ) { + return true; + } + + if ( decimalPoint && strType ) { + d = _numToDecimal( d, decimalPoint ); + } + + if ( formatted && strType ) { + d = d.replace( _re_formatted_numeric, '' ); + } + + return !isNaN( parseFloat(d) ) && isFinite( d ); + }; + + + // A string without HTML in it can be considered to be HTML still + var _isHtml = function ( d ) { + return _empty( d ) || typeof d === 'string'; + }; + + + var _htmlNumeric = function ( d, decimalPoint, formatted ) { + if ( _empty( d ) ) { + return true; + } + + var html = _isHtml( d ); + return ! html ? + null : + _isNumber( _stripHtml( d ), decimalPoint, formatted ) ? + true : + null; + }; + + + var _pluck = function ( a, prop, prop2 ) { + var out = []; + var i=0, ien=a.length; + + // Could have the test in the loop for slightly smaller code, but speed + // is essential here + if ( prop2 !== undefined ) { + for ( ; i') + .css( { + position: 'fixed', + top: 0, + left: 0, + height: 1, + width: 1, + overflow: 'hidden' + } ) + .append( + $('
      ') + .css( { + position: 'absolute', + top: 1, + left: 1, + width: 100, + overflow: 'scroll' + } ) + .append( + $('
      ') + .css( { + width: '100%', + height: 10 + } ) + ) + ) + .appendTo( 'body' ); + + var outer = n.children(); + var inner = outer.children(); + + // Numbers below, in order, are: + // inner.offsetWidth, inner.clientWidth, outer.offsetWidth, outer.clientWidth + // + // IE6 XP: 100 100 100 83 + // IE7 Vista: 100 100 100 83 + // IE 8+ Windows: 83 83 100 83 + // Evergreen Windows: 83 83 100 83 + // Evergreen Mac with scrollbars: 85 85 100 85 + // Evergreen Mac without scrollbars: 100 100 100 100 + + // Get scrollbar width + browser.barWidth = outer[0].offsetWidth - outer[0].clientWidth; + + // IE6/7 will oversize a width 100% element inside a scrolling element, to + // include the width of the scrollbar, while other browsers ensure the inner + // element is contained without forcing scrolling + browser.bScrollOversize = inner[0].offsetWidth === 100 && outer[0].clientWidth !== 100; + + // In rtl text layout, some browsers (most, but not all) will place the + // scrollbar on the left, rather than the right. + browser.bScrollbarLeft = Math.round( inner.offset().left ) !== 1; + + // IE8- don't provide height and width for getBoundingClientRect + browser.bBounding = n[0].getBoundingClientRect().width ? true : false; + + n.remove(); + } + + $.extend( settings.oBrowser, DataTable.__browser ); + settings.oScroll.iBarWidth = DataTable.__browser.barWidth; + } + + + /** + * Array.prototype reduce[Right] method, used for browsers which don't support + * JS 1.6. Done this way to reduce code size, since we iterate either way + * @param {object} settings dataTables settings object + * @memberof DataTable#oApi + */ + function _fnReduce ( that, fn, init, start, end, inc ) + { + var + i = start, + value, + isSet = false; + + if ( init !== undefined ) { + value = init; + isSet = true; + } + + while ( i !== end ) { + if ( ! that.hasOwnProperty(i) ) { + continue; + } + + value = isSet ? + fn( value, that[i], i, that ) : + that[i]; + + isSet = true; + i += inc; + } + + return value; + } + + /** + * Add a column to the list used for the table with default values + * @param {object} oSettings dataTables settings object + * @param {node} nTh The th element for this column + * @memberof DataTable#oApi + */ + function _fnAddColumn( oSettings, nTh ) + { + // Add column to aoColumns array + var oDefaults = DataTable.defaults.column; + var iCol = oSettings.aoColumns.length; + var oCol = $.extend( {}, DataTable.models.oColumn, oDefaults, { + "nTh": nTh ? nTh : document.createElement('th'), + "sTitle": oDefaults.sTitle ? oDefaults.sTitle : nTh ? nTh.innerHTML : '', + "aDataSort": oDefaults.aDataSort ? oDefaults.aDataSort : [iCol], + "mData": oDefaults.mData ? oDefaults.mData : iCol, + idx: iCol + } ); + oSettings.aoColumns.push( oCol ); + + // Add search object for column specific search. Note that the `searchCols[ iCol ]` + // passed into extend can be undefined. This allows the user to give a default + // with only some of the parameters defined, and also not give a default + var searchCols = oSettings.aoPreSearchCols; + searchCols[ iCol ] = $.extend( {}, DataTable.models.oSearch, searchCols[ iCol ] ); + + // Use the default column options function to initialise classes etc + _fnColumnOptions( oSettings, iCol, $(nTh).data() ); + } + + + /** + * Apply options for a column + * @param {object} oSettings dataTables settings object + * @param {int} iCol column index to consider + * @param {object} oOptions object with sType, bVisible and bSearchable etc + * @memberof DataTable#oApi + */ + function _fnColumnOptions( oSettings, iCol, oOptions ) + { + var oCol = oSettings.aoColumns[ iCol ]; + var oClasses = oSettings.oClasses; + var th = $(oCol.nTh); + + // Try to get width information from the DOM. We can't get it from CSS + // as we'd need to parse the CSS stylesheet. `width` option can override + if ( ! oCol.sWidthOrig ) { + // Width attribute + oCol.sWidthOrig = th.attr('width') || null; + + // Style attribute + var t = (th.attr('style') || '').match(/width:\s*(\d+[pxem%]+)/); + if ( t ) { + oCol.sWidthOrig = t[1]; + } + } + + /* User specified column options */ + if ( oOptions !== undefined && oOptions !== null ) + { + // Backwards compatibility + _fnCompatCols( oOptions ); + + // Map camel case parameters to their Hungarian counterparts + _fnCamelToHungarian( DataTable.defaults.column, oOptions ); + + /* Backwards compatibility for mDataProp */ + if ( oOptions.mDataProp !== undefined && !oOptions.mData ) + { + oOptions.mData = oOptions.mDataProp; + } + + if ( oOptions.sType ) + { + oCol._sManualType = oOptions.sType; + } + + // `class` is a reserved word in Javascript, so we need to provide + // the ability to use a valid name for the camel case input + if ( oOptions.className && ! oOptions.sClass ) + { + oOptions.sClass = oOptions.className; + } + + $.extend( oCol, oOptions ); + _fnMap( oCol, oOptions, "sWidth", "sWidthOrig" ); + + /* iDataSort to be applied (backwards compatibility), but aDataSort will take + * priority if defined + */ + if ( oOptions.iDataSort !== undefined ) + { + oCol.aDataSort = [ oOptions.iDataSort ]; + } + _fnMap( oCol, oOptions, "aDataSort" ); + } + + /* Cache the data get and set functions for speed */ + var mDataSrc = oCol.mData; + var mData = _fnGetObjectDataFn( mDataSrc ); + var mRender = oCol.mRender ? _fnGetObjectDataFn( oCol.mRender ) : null; + + var attrTest = function( src ) { + return typeof src === 'string' && src.indexOf('@') !== -1; + }; + oCol._bAttrSrc = $.isPlainObject( mDataSrc ) && ( + attrTest(mDataSrc.sort) || attrTest(mDataSrc.type) || attrTest(mDataSrc.filter) + ); + oCol._setter = null; + + oCol.fnGetData = function (rowData, type, meta) { + var innerData = mData( rowData, type, undefined, meta ); + + return mRender && type ? + mRender( innerData, type, rowData, meta ) : + innerData; + }; + oCol.fnSetData = function ( rowData, val, meta ) { + return _fnSetObjectDataFn( mDataSrc )( rowData, val, meta ); + }; + + // Indicate if DataTables should read DOM data as an object or array + // Used in _fnGetRowElements + if ( typeof mDataSrc !== 'number' ) { + oSettings._rowReadObject = true; + } + + /* Feature sorting overrides column specific when off */ + if ( !oSettings.oFeatures.bSort ) + { + oCol.bSortable = false; + th.addClass( oClasses.sSortableNone ); // Have to add class here as order event isn't called + } + + /* Check that the class assignment is correct for sorting */ + var bAsc = $.inArray('asc', oCol.asSorting) !== -1; + var bDesc = $.inArray('desc', oCol.asSorting) !== -1; + if ( !oCol.bSortable || (!bAsc && !bDesc) ) + { + oCol.sSortingClass = oClasses.sSortableNone; + oCol.sSortingClassJUI = ""; + } + else if ( bAsc && !bDesc ) + { + oCol.sSortingClass = oClasses.sSortableAsc; + oCol.sSortingClassJUI = oClasses.sSortJUIAscAllowed; + } + else if ( !bAsc && bDesc ) + { + oCol.sSortingClass = oClasses.sSortableDesc; + oCol.sSortingClassJUI = oClasses.sSortJUIDescAllowed; + } + else + { + oCol.sSortingClass = oClasses.sSortable; + oCol.sSortingClassJUI = oClasses.sSortJUI; + } + } + + + /** + * Adjust the table column widths for new data. Note: you would probably want to + * do a redraw after calling this function! + * @param {object} settings dataTables settings object + * @memberof DataTable#oApi + */ + function _fnAdjustColumnSizing ( settings ) + { + /* Not interested in doing column width calculation if auto-width is disabled */ + if ( settings.oFeatures.bAutoWidth !== false ) + { + var columns = settings.aoColumns; + + _fnCalculateColumnWidths( settings ); + for ( var i=0 , iLen=columns.length ; i