diff --git a/src/ServicePulse.Host/ServicePulse.Host.csproj b/src/ServicePulse.Host/ServicePulse.Host.csproj index ae898d458..1cb99e9d6 100644 --- a/src/ServicePulse.Host/ServicePulse.Host.csproj +++ b/src/ServicePulse.Host/ServicePulse.Host.csproj @@ -85,7 +85,10 @@ + + + @@ -111,6 +114,7 @@ + diff --git a/src/ServicePulse.Host/app/css/particular.css b/src/ServicePulse.Host/app/css/particular.css index 30a7c4890..62a5b27b8 100644 --- a/src/ServicePulse.Host/app/css/particular.css +++ b/src/ServicePulse.Host/app/css/particular.css @@ -452,12 +452,12 @@ h3 { text-align: center; } - .summary-item .badge, .summary-item .label { - font-size: 18px; - margin-left: 12px; - position: absolute; - top: 2px; - } +.summary-item .badge, .summary-item .label { + font-size: 18px; + margin-left: 12px; + position: absolute; + top: 2px; +} .summary-info, .summary-info > .fa, a.summary-info:hover { color: #777f7f; @@ -567,6 +567,10 @@ h1 { margin: 0 0 32px; } +h1 .warning { + font-size: 26px; +} + p.metadata { margin-bottom: 6px; } @@ -1734,12 +1738,26 @@ hr.top-separator { } .monitoring-no-data { - margin: 60px 0 120px; + margin: 60px auto 120px; + max-width: 520px; + line-height: 26px; +} + +.monitoring-no-data h1 { + font-size: 30px; } .monitoring-no-data p { font-size: 16px; margin-bottom: 20px; + margin-top: -18px; +} + +.monitoring-no-data ul { + padding-left: 0; + text-align: left; + font-size: 16px; + margin-bottom: 30px; } .monitoring-no-data .btn { @@ -1776,7 +1794,7 @@ hr.top-separator { font-size: 12px; text-transform: uppercase; color: #181919; - display: inline-block; + text-transform: initial; } .table-head-row span.table-header-unit { @@ -1796,10 +1814,9 @@ p.col-sort-active { margin-top: 15px; } - .endpoint-name a:hover { - text-decoration: none !important; - margin-top: 20px; - } +.endpoint-name a:hover { + text-decoration: none !important; +} .tooltip-inner { width: 200px; @@ -1808,6 +1825,7 @@ p.col-sort-active { .endpoint-status { display: inline-block; position: absolute; + top: 1px; margin-left: 7px; } @@ -1821,7 +1839,6 @@ h1 .endpoint-status i.fa-envelope, .endpoint-status i.fa-exclamation-triangle { } .endpoint-status i.fa-envelope { - position: relative; color: #777f7f; } @@ -1829,15 +1846,9 @@ h1 .endpoint-status i.fa-envelope, .endpoint-status i.fa-exclamation-triangle { color: #23527c; } -.endpoint-status i.fa-exclamation-triangle { - position: relative; - top: 1px; - margin-right: 6px; -} - .endpoint-status .badge { position: relative; - top: 6px; + top: 8px; font-size: 10px; margin-right: 0; left: -10px; @@ -1845,10 +1856,41 @@ h1 .endpoint-status i.fa-envelope, .endpoint-status i.fa-exclamation-triangle { .endpoint-status i.fa-envelope, .endpoint-name i.fa-exclamation-triangle { font-size: 20px; - color: #CE4844; margin-left: 6px; } +.endpoint-status a { + position: relative; + top: -8px; + padding-left: 0; +} + +.endpoint-status a:hover { + text-decoration: none; +} + +.monitoring-head .endpoint-status { + top: 0; +} + +.monitoring-head .endpoint-status a { + top: 0; +} + +.monitoring-head i.fa.fa-envelope { + font-size: 26px; + position: relative; + top: -4px; + left: 1px; +} + +.monitoring-head .endpoint-status .badge { + position: relative; + top: 4px; + left: -12px; + font-size: 10px; +} + .endpoint-status .badge { position: relative; top: 2px; @@ -1933,6 +1975,10 @@ h1 .endpoint-status i.fa-envelope, .endpoint-status i.fa-exclamation-triangle { font-size: 22px; } +.metric-digest-value div { + display: inline-block; +} + .metric-digest-value-suffix { font-weight: normal; font-size: 14px; @@ -1948,7 +1994,7 @@ h1 .endpoint-status i.fa-envelope, .endpoint-status i.fa-exclamation-triangle { margin-right: 24px; color: #8C8C8C; font-weight: normal; - font-size: 14px; + font-size: 12px; float: left; } @@ -2006,16 +2052,71 @@ i.fa-exclamation-triangle { display: inline-block; } -.back-nav -{ - position: absolute; - top: 80px; +.back-nav { text-transform: uppercase; margin-bottom: 6px; font-size: 13px; } -.monitoring-head .back-nav { - position: absolute; - top: 80px; +.pa-endpoint-lost.endpoints-overview { + background-image: url('../../img/endpoint-lost.svg'); + background-position: center; + background-repeat: no-repeat; +} + +.pa-monitoring-lost.endpoints-overview { + background-image: url('../../img/monitoring-lost.svg'); + background-position: center; + background-repeat: no-repeat; +} + +.pa-endpoint-lost.endpoint-details { + background-image: url('../../../img/endpoint-lost.svg'); + background-position: center; + background-repeat: no-repeat; +} + +.pa-monitoring-lost.endpoint-details { + background-image: url('../../../img/monitoring-lost.svg'); + background-position: center; + background-repeat: no-repeat; +} + +.monitoring-head .endpoint-status .pa-endpoint-lost.endpoint-details, .monitoring-head .endpoint-status .pa-monitoring-lost.endpoint-details { + width: 23px; + height: 23px; +} + +.endpoint-status .pa-endpoint-lost.endpoint-details, .endpoint-status .pa-monitoring-lost.endpoint-details, .endpoint-status .pa-endpoint-lost.endpoints-overview, .endpoint-status .pa-monitoring-lost.endpoints-overview { + width: 20px; + height: 20px; + left: 6px; + position: relative; +} + +.endpoint-message-types .endpoint-status { + margin-top: -1px; +} + +i.fa.pa-endpoint-lost.endpoints-overview, i.fa.pa-monitoring-lost.endpoints-overview { + position: relative; + top: 8px; + margin-right: 4px; +} + +.endpoint-name .lead { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} + +@media (min-width: 1200px) { + .col-lg-max-8 { + max-width: 66%; + float: left; + } + .col-lg-max-9 { + max-width: 76%; + float: left; + } } \ No newline at end of file diff --git a/src/ServicePulse.Host/app/img/endpoint-lost.svg b/src/ServicePulse.Host/app/img/endpoint-lost.svg new file mode 100644 index 000000000..56f07a296 --- /dev/null +++ b/src/ServicePulse.Host/app/img/endpoint-lost.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/ServicePulse.Host/app/img/monitoring-lost.svg b/src/ServicePulse.Host/app/img/monitoring-lost.svg new file mode 100644 index 000000000..1e8181b0c --- /dev/null +++ b/src/ServicePulse.Host/app/img/monitoring-lost.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/ServicePulse.Host/app/js/services/service.toast.js b/src/ServicePulse.Host/app/js/services/service.toast.js index 15b194487..469606bc0 100644 --- a/src/ServicePulse.Host/app/js/services/service.toast.js +++ b/src/ServicePulse.Host/app/js/services/service.toast.js @@ -18,12 +18,18 @@ this.showToast(text, 'info', title || 'Info', sticky); } - this.showError = function (text) { - this.showToast(text, 'error', 'Error', true); + this.showError = function (text, sticky) { + if (sticky === undefined) { + sticky = true; + } + this.showToast(text, 'error', 'Error', sticky); } - this.showWarning = function (text) { - this.showToast(text, 'warning', 'Warning', true); + this.showWarning = function (text, sticky) { + if (sticky === undefined) { + sticky = true; + } + this.showToast(text, 'warning', 'Warning', sticky); } } diff --git a/src/ServicePulse.Host/app/js/services/services.module.js b/src/ServicePulse.Host/app/js/services/services.module.js index 1a2527fea..3740b8e92 100644 --- a/src/ServicePulse.Host/app/js/services/services.module.js +++ b/src/ServicePulse.Host/app/js/services/services.module.js @@ -5,6 +5,7 @@ 'services.streamService', 'services.serviceControlService', 'services.monitoringService', + 'services.connectivityNotifier', 'services.platformUpdateService', 'services.semverService', 'services.notifications', diff --git a/src/ServicePulse.Host/app/js/views/failed_messages/view.html b/src/ServicePulse.Host/app/js/views/failed_messages/view.html index 7077dbfcd..d4b842ed3 100644 --- a/src/ServicePulse.Host/app/js/views/failed_messages/view.html +++ b/src/ServicePulse.Host/app/js/views/failed_messages/view.html @@ -13,10 +13,10 @@ Failed message groups list
All failed messages ({{vm.failedMessages.length}} / {{vm.selectedExceptionGroup.count}} | number)
-

+

{{vm.selectedExceptionGroup.parentTitle}} - {{vm.selectedExceptionGroup.title}} -

+

{{vm.selectedExceptionGroup.count | number}} messages in group

diff --git a/src/ServicePulse.Host/app/modules/monitoring/dist/monitoring.dist.js b/src/ServicePulse.Host/app/modules/monitoring/dist/monitoring.dist.js index 72277f600..789222d70 100644 --- a/src/ServicePulse.Host/app/modules/monitoring/dist/monitoring.dist.js +++ b/src/ServicePulse.Host/app/modules/monitoring/dist/monitoring.dist.js @@ -60,118 +60,151 @@ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 4); +/******/ return __webpack_require__(__webpack_require__.s = 54); /******/ }) /************************************************************************/ -/******/ ([ -/* 0 */ +/******/ ({ + +/***/ 5: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n;(function (window, angular, undefined) {\n 'use strict';\n\n angular.module('monitored_endpoints').constant('largeGraphsMinimumYAxis', {\n 'queueLength': 10,\n 'throughputRetries': 10,\n 'processingCritical': 10\n }).constant('smallGraphsMinimumYAxis', {\n 'queueLength': 10,\n 'throughput': 10,\n 'retries': 10,\n 'processingTime': 10,\n 'criticalTime': 10\n });\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2NvbnN0YW50LmRpYWdyYW1zLmpzPzhjMjkiXSwibmFtZXMiOlsid2luZG93IiwiYW5ndWxhciIsInVuZGVmaW5lZCIsIm1vZHVsZSIsImNvbnN0YW50Il0sIm1hcHBpbmdzIjoiOztBQUFBLENBQUcsV0FBVUEsTUFBVixFQUFrQkMsT0FBbEIsRUFBMkJDLFNBQTNCLEVBQXNDO0FBQ3JDOztBQUVBRCxZQUFRRSxNQUFSLENBQWUscUJBQWYsRUFDS0MsUUFETCxDQUNjLHlCQURkLEVBQ3lDO0FBQzdCLHVCQUFlLEVBRGM7QUFFN0IsNkJBQXFCLEVBRlE7QUFHN0IsOEJBQXNCO0FBSE8sS0FEekMsRUFNS0EsUUFOTCxDQU1jLHlCQU5kLEVBTXlDO0FBQ2pDLHVCQUFlLEVBRGtCO0FBRWpDLHNCQUFjLEVBRm1CO0FBR2pDLG1CQUFXLEVBSHNCO0FBSWpDLDBCQUFrQixFQUplO0FBS2pDLHdCQUFnQjtBQUxpQixLQU56QztBQWNILENBakJFLEVBaUJESixNQWpCQyxFQWlCT0EsT0FBT0MsT0FqQmQsQ0FBRCIsImZpbGUiOiI1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiOyAoZnVuY3Rpb24gKHdpbmRvdywgYW5ndWxhciwgdW5kZWZpbmVkKSB7XHJcbiAgICAndXNlIHN0cmljdCc7XHJcblxyXG4gICAgYW5ndWxhci5tb2R1bGUoJ21vbml0b3JlZF9lbmRwb2ludHMnKVxyXG4gICAgICAgIC5jb25zdGFudCgnbGFyZ2VHcmFwaHNNaW5pbXVtWUF4aXMnLCB7XHJcbiAgICAgICAgICAgICAgICAncXVldWVMZW5ndGgnOiAxMCxcclxuICAgICAgICAgICAgICAgICd0aHJvdWdocHV0UmV0cmllcyc6IDEwLFxyXG4gICAgICAgICAgICAgICAgJ3Byb2Nlc3NpbmdDcml0aWNhbCc6IDEwLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIC5jb25zdGFudCgnc21hbGxHcmFwaHNNaW5pbXVtWUF4aXMnLCB7XHJcbiAgICAgICAgICAgICdxdWV1ZUxlbmd0aCc6IDEwLFxyXG4gICAgICAgICAgICAndGhyb3VnaHB1dCc6IDEwLFxyXG4gICAgICAgICAgICAncmV0cmllcyc6IDEwLFxyXG4gICAgICAgICAgICAncHJvY2Vzc2luZ1RpbWUnOiAxMCxcclxuICAgICAgICAgICAgJ2NyaXRpY2FsVGltZSc6IDEwLFxyXG4gICAgICAgIH0pO1xyXG5cclxufSh3aW5kb3csIHdpbmRvdy5hbmd1bGFyKSk7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2FwcC9tb2R1bGVzL21vbml0b3JpbmcvanMvY29uc3RhbnQuZGlhZ3JhbXMuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///5\n"); + +/***/ }), + +/***/ 54: /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n angular.module('ui.particular.graph', []).directive('graph', function () {\n return {\n restrict: 'E',\n scope: {\n plotData: '&',\n formatter: '&'\n },\n template: '',\n link: function link(scope, element, attrs) {\n scope.plotData = scope.plotData() || { points: [], average: 0 };\n\n var svg = element.find('svg')[0];\n\n var width = svg.clientWidth;\n var height = svg.clientHeight;\n\n //HINT: This is workaround for Firefox\n if (width === 0) {\n var box = svg.getBoundingClientRect();\n\n width = box.right - box.left;\n height = box.bottom - box.top;\n }\n\n var verticalMargin = 6;\n var horizontalMargin = 2;\n\n var points = scope.plotData.points;\n var average = scope.plotData.average || 0;\n var max = points && points.length ? Math.max(average * 1.5, d3.max(points)) : 1;\n var numberOfPoints = points && points.length ? points.length : 2;\n\n var scaleY = d3.scaleLinear().domain([0, max]).range([height - verticalMargin, verticalMargin]);\n\n var scaleX = d3.scaleLinear().domain([0, numberOfPoints - 1]).range([horizontalMargin, width - horizontalMargin]);\n\n var area = d3.area().x(function (d, i) {\n return scaleX(i);\n }).y(function (d, i) {\n return scaleY(d);\n }).y1(function (d) {\n return scaleY(0);\n }).curve(d3.curveLinear);\n\n var line = d3.line().x(function (d, i) {\n return scaleX(i);\n }).y(function (d, i) {\n return scaleY(d);\n }).curve(d3.curveLinear);\n\n var chart = d3.select(svg).attr('width', width).attr('height', height);\n\n chart.append('rect').attr('width', width - 2 * horizontalMargin).attr('height', height - 2 * verticalMargin).attr('transform', 'translate(' + horizontalMargin + ',' + verticalMargin + ')').attr('fill', '#F2F6F7');\n\n if (points) {\n chart.append('path').datum(points).attr('d', area).attr('class', 'graph-data-fill');\n\n chart.append('path').datum(points).attr('d', line).attr('class', 'graph-data-line');\n }\n\n chart.append('path').datum(Array(numberOfPoints).fill(average)).attr('d', line).attr('class', 'graph-avg-line');\n }\n };\n });\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5ncmFwaC5qcz9jMWI4Il0sIm5hbWVzIjpbIndpbmRvdyIsImFuZ3VsYXIiLCJ1bmRlZmluZWQiLCJtb2R1bGUiLCJkaXJlY3RpdmUiLCJyZXN0cmljdCIsInNjb3BlIiwicGxvdERhdGEiLCJmb3JtYXR0ZXIiLCJ0ZW1wbGF0ZSIsImxpbmsiLCJlbGVtZW50IiwiYXR0cnMiLCJwb2ludHMiLCJhdmVyYWdlIiwic3ZnIiwiZmluZCIsIndpZHRoIiwiY2xpZW50V2lkdGgiLCJoZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJib3giLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJyaWdodCIsImxlZnQiLCJib3R0b20iLCJ0b3AiLCJ2ZXJ0aWNhbE1hcmdpbiIsImhvcml6b250YWxNYXJnaW4iLCJtYXgiLCJsZW5ndGgiLCJNYXRoIiwiZDMiLCJudW1iZXJPZlBvaW50cyIsInNjYWxlWSIsInNjYWxlTGluZWFyIiwiZG9tYWluIiwicmFuZ2UiLCJzY2FsZVgiLCJhcmVhIiwieCIsImQiLCJpIiwieSIsInkxIiwiY3VydmUiLCJjdXJ2ZUxpbmVhciIsImxpbmUiLCJjaGFydCIsInNlbGVjdCIsImF0dHIiLCJhcHBlbmQiLCJkYXR1bSIsIkFycmF5IiwiZmlsbCJdLCJtYXBwaW5ncyI6Ijs7QUFBQyxXQUFTQSxNQUFULEVBQWlCQyxPQUFqQixFQUEwQkMsU0FBMUIsRUFBcUM7QUFDbEM7O0FBRUFELFlBQVFFLE1BQVIsQ0FBZSxxQkFBZixFQUFzQyxFQUF0QyxFQUNLQyxTQURMLENBQ2UsT0FEZixFQUVRLFlBQVc7QUFDUCxlQUFPO0FBQ0hDLHNCQUFVLEdBRFA7QUFFSEMsbUJBQU87QUFDSEMsMEJBQVUsR0FEUDtBQUVIQywyQkFBVztBQUZSLGFBRko7QUFNSEMsc0JBQVUsYUFOUDtBQU9IQyxrQkFBTSxTQUFTQSxJQUFULENBQWNKLEtBQWQsRUFBcUJLLE9BQXJCLEVBQThCQyxLQUE5QixFQUFxQztBQUN2Q04sc0JBQU1DLFFBQU4sR0FBaUJELE1BQU1DLFFBQU4sTUFBb0IsRUFBRU0sUUFBUSxFQUFWLEVBQWNDLFNBQVMsQ0FBdkIsRUFBckM7O0FBRUEsb0JBQUlDLE1BQU1KLFFBQVFLLElBQVIsQ0FBYSxLQUFiLEVBQW9CLENBQXBCLENBQVY7O0FBRUEsb0JBQUlDLFFBQVFGLElBQUlHLFdBQWhCO0FBQ0Esb0JBQUlDLFNBQVNKLElBQUlLLFlBQWpCOztBQUVBO0FBQ0Esb0JBQUlILFVBQVUsQ0FBZCxFQUFpQjtBQUNiLHdCQUFJSSxNQUFNTixJQUFJTyxxQkFBSixFQUFWOztBQUVBTCw0QkFBUUksSUFBSUUsS0FBSixHQUFZRixJQUFJRyxJQUF4QjtBQUNBTCw2QkFBU0UsSUFBSUksTUFBSixHQUFhSixJQUFJSyxHQUExQjtBQUNIOztBQUVELG9CQUFJQyxpQkFBaUIsQ0FBckI7QUFDQSxvQkFBSUMsbUJBQW1CLENBQXZCOztBQUVBLG9CQUFJZixTQUFTUCxNQUFNQyxRQUFOLENBQWVNLE1BQTVCO0FBQ0Esb0JBQUlDLFVBQVVSLE1BQU1DLFFBQU4sQ0FBZU8sT0FBZixJQUEwQixDQUF4QztBQUNBLG9CQUFJZSxNQUFNaEIsVUFBVUEsT0FBT2lCLE1BQWpCLEdBQTBCQyxLQUFLRixHQUFMLENBQVNmLFVBQVUsR0FBbkIsRUFBd0JrQixHQUFHSCxHQUFILENBQU9oQixNQUFQLENBQXhCLENBQTFCLEdBQW9FLENBQTlFO0FBQ0Esb0JBQUlvQixpQkFBaUJwQixVQUFVQSxPQUFPaUIsTUFBakIsR0FBMEJqQixPQUFPaUIsTUFBakMsR0FBMEMsQ0FBL0Q7O0FBRUEsb0JBQUlJLFNBQVNGLEdBQUdHLFdBQUgsR0FDUkMsTUFEUSxDQUNELENBQUMsQ0FBRCxFQUFJUCxHQUFKLENBREMsRUFFUlEsS0FGUSxDQUVGLENBQUNsQixTQUFTUSxjQUFWLEVBQTBCQSxjQUExQixDQUZFLENBQWI7O0FBSUEsb0JBQUlXLFNBQVNOLEdBQUdHLFdBQUgsR0FDUkMsTUFEUSxDQUNELENBQUMsQ0FBRCxFQUFJSCxpQkFBaUIsQ0FBckIsQ0FEQyxFQUVSSSxLQUZRLENBRUYsQ0FBQ1QsZ0JBQUQsRUFBbUJYLFFBQVFXLGdCQUEzQixDQUZFLENBQWI7O0FBSUEsb0JBQUlXLE9BQU9QLEdBQUdPLElBQUgsR0FDTkMsQ0FETSxDQUNKLFVBQVVDLENBQVYsRUFBYUMsQ0FBYixFQUFnQjtBQUNmLDJCQUFPSixPQUFPSSxDQUFQLENBQVA7QUFDSCxpQkFITSxFQUlOQyxDQUpNLENBSUosVUFBVUYsQ0FBVixFQUFhQyxDQUFiLEVBQWdCO0FBQUUsMkJBQU9SLE9BQU9PLENBQVAsQ0FBUDtBQUFtQixpQkFKakMsRUFLTkcsRUFMTSxDQUtILFVBQVVILENBQVYsRUFBYTtBQUFFLDJCQUFPUCxPQUFPLENBQVAsQ0FBUDtBQUFtQixpQkFML0IsRUFNTlcsS0FOTSxDQU1BYixHQUFHYyxXQU5ILENBQVg7O0FBUUEsb0JBQUlDLE9BQU9mLEdBQUdlLElBQUgsR0FDTlAsQ0FETSxDQUNKLFVBQVVDLENBQVYsRUFBYUMsQ0FBYixFQUFnQjtBQUNmLDJCQUFPSixPQUFPSSxDQUFQLENBQVA7QUFDSCxpQkFITSxFQUlOQyxDQUpNLENBSUosVUFBU0YsQ0FBVCxFQUFZQyxDQUFaLEVBQWU7QUFDZCwyQkFBT1IsT0FBT08sQ0FBUCxDQUFQO0FBQ0gsaUJBTk0sRUFPTkksS0FQTSxDQU9BYixHQUFHYyxXQVBILENBQVg7O0FBU0Esb0JBQUlFLFFBQVFoQixHQUFHaUIsTUFBSCxDQUFVbEMsR0FBVixFQUNQbUMsSUFETyxDQUNGLE9BREUsRUFDT2pDLEtBRFAsRUFFUGlDLElBRk8sQ0FFRixRQUZFLEVBRVEvQixNQUZSLENBQVo7O0FBSUE2QixzQkFBTUcsTUFBTixDQUFhLE1BQWIsRUFDS0QsSUFETCxDQUNVLE9BRFYsRUFDbUJqQyxRQUFRLElBQUlXLGdCQUQvQixFQUVLc0IsSUFGTCxDQUVVLFFBRlYsRUFFb0IvQixTQUFTLElBQUlRLGNBRmpDLEVBR0t1QixJQUhMLENBR1UsV0FIVixFQUd1QixlQUFldEIsZ0JBQWYsR0FBa0MsR0FBbEMsR0FBd0NELGNBQXhDLEdBQXlELEdBSGhGLEVBSUt1QixJQUpMLENBSVUsTUFKVixFQUlrQixTQUpsQjs7QUFNQSxvQkFBSXJDLE1BQUosRUFBWTtBQUNSbUMsMEJBQU1HLE1BQU4sQ0FBYSxNQUFiLEVBQ0tDLEtBREwsQ0FDV3ZDLE1BRFgsRUFFS3FDLElBRkwsQ0FFVSxHQUZWLEVBRWVYLElBRmYsRUFHS1csSUFITCxDQUdVLE9BSFYsRUFHbUIsaUJBSG5COztBQU1BRiwwQkFBTUcsTUFBTixDQUFhLE1BQWIsRUFDS0MsS0FETCxDQUNXdkMsTUFEWCxFQUVLcUMsSUFGTCxDQUVVLEdBRlYsRUFFZUgsSUFGZixFQUdLRyxJQUhMLENBR1UsT0FIVixFQUdtQixpQkFIbkI7QUFJSDs7QUFFREYsc0JBQU1HLE1BQU4sQ0FBYSxNQUFiLEVBQ0tDLEtBREwsQ0FDV0MsTUFBTXBCLGNBQU4sRUFBc0JxQixJQUF0QixDQUEyQnhDLE9BQTNCLENBRFgsRUFFS29DLElBRkwsQ0FFVSxHQUZWLEVBRWVILElBRmYsRUFHS0csSUFITCxDQUdVLE9BSFYsRUFHbUIsZ0JBSG5CO0FBSUg7QUFuRkUsU0FBUDtBQXFGSCxLQXhGVDtBQTBGSCxDQTdGQSxFQTZGQ2xELE1BN0ZELEVBNkZTQSxPQUFPQyxPQTdGaEIsQ0FBRCIsImZpbGUiOiIwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKHdpbmRvdywgYW5ndWxhciwgdW5kZWZpbmVkKSB7XHJcbiAgICAndXNlIHN0cmljdCc7XHJcblxyXG4gICAgYW5ndWxhci5tb2R1bGUoJ3VpLnBhcnRpY3VsYXIuZ3JhcGgnLCBbXSlcclxuICAgICAgICAuZGlyZWN0aXZlKCdncmFwaCcsXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN0cmljdDogJ0UnLFxyXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsb3REYXRhOiAnJicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlcjogJyYnXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogJzxzdmc+PC9zdmc+JyxcclxuICAgICAgICAgICAgICAgICAgICBsaW5rOiBmdW5jdGlvbiBsaW5rKHNjb3BlLCBlbGVtZW50LCBhdHRycykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5wbG90RGF0YSA9IHNjb3BlLnBsb3REYXRhKCkgfHwgeyBwb2ludHM6IFtdLCBhdmVyYWdlOiAwIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3ZnID0gZWxlbWVudC5maW5kKCdzdmcnKVswXTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB3aWR0aCA9IHN2Zy5jbGllbnRXaWR0aDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhlaWdodCA9IHN2Zy5jbGllbnRIZWlnaHQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL0hJTlQ6IFRoaXMgaXMgd29ya2Fyb3VuZCBmb3IgRmlyZWZveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAod2lkdGggPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBib3ggPSBzdmcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggPSBib3gucmlnaHQgLSBib3gubGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCA9IGJveC5ib3R0b20gLSBib3gudG9wO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmVydGljYWxNYXJnaW4gPSA2O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaG9yaXpvbnRhbE1hcmdpbiA9IDI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcG9pbnRzID0gc2NvcGUucGxvdERhdGEucG9pbnRzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYXZlcmFnZSA9IHNjb3BlLnBsb3REYXRhLmF2ZXJhZ2UgfHwgMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1heCA9IHBvaW50cyAmJiBwb2ludHMubGVuZ3RoID8gTWF0aC5tYXgoYXZlcmFnZSAqIDEuNSwgZDMubWF4KHBvaW50cykpIDogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG51bWJlck9mUG9pbnRzID0gcG9pbnRzICYmIHBvaW50cy5sZW5ndGggPyBwb2ludHMubGVuZ3RoIDogMjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzY2FsZVkgPSBkMy5zY2FsZUxpbmVhcigpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZG9tYWluKFswLCBtYXhdKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJhbmdlKFtoZWlnaHQgLSB2ZXJ0aWNhbE1hcmdpbiwgdmVydGljYWxNYXJnaW5dKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzY2FsZVggPSBkMy5zY2FsZUxpbmVhcigpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZG9tYWluKFswLCBudW1iZXJPZlBvaW50cyAtIDFdKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJhbmdlKFtob3Jpem9udGFsTWFyZ2luLCB3aWR0aCAtIGhvcml6b250YWxNYXJnaW5dKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhcmVhID0gZDMuYXJlYSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAueChmdW5jdGlvbiAoZCwgaSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzY2FsZVgoaSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnkoZnVuY3Rpb24gKGQsIGkpIHsgcmV0dXJuIHNjYWxlWShkKTsgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC55MShmdW5jdGlvbiAoZCkgeyByZXR1cm4gc2NhbGVZKDApOyB9KSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jdXJ2ZShkMy5jdXJ2ZUxpbmVhcik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGluZSA9IGQzLmxpbmUoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLngoZnVuY3Rpb24gKGQsIGkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2NhbGVYKGkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC55KGZ1bmN0aW9uKGQsIGkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2NhbGVZKGQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jdXJ2ZShkMy5jdXJ2ZUxpbmVhcik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgY2hhcnQgPSBkMy5zZWxlY3Qoc3ZnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ3dpZHRoJywgd2lkdGgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignaGVpZ2h0JywgaGVpZ2h0KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJ0LmFwcGVuZCgncmVjdCcpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignd2lkdGgnLCB3aWR0aCAtIDIgKiBob3Jpem9udGFsTWFyZ2luKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ2hlaWdodCcsIGhlaWdodCAtIDIgKiB2ZXJ0aWNhbE1hcmdpbilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKCcgKyBob3Jpem9udGFsTWFyZ2luICsgJywnICsgdmVydGljYWxNYXJnaW4gKyAnKScpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignZmlsbCcsICcjRjJGNkY3Jyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocG9pbnRzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFydC5hcHBlbmQoJ3BhdGgnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kYXR1bShwb2ludHMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ2QnLCBhcmVhKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCdjbGFzcycsICdncmFwaC1kYXRhLWZpbGwnKTtcclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcnQuYXBwZW5kKCdwYXRoJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGF0dW0ocG9pbnRzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCdkJywgbGluZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignY2xhc3MnLCAnZ3JhcGgtZGF0YS1saW5lJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJ0LmFwcGVuZCgncGF0aCcpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGF0dW0oQXJyYXkobnVtYmVyT2ZQb2ludHMpLmZpbGwoYXZlcmFnZSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignZCcsIGxpbmUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignY2xhc3MnLCAnZ3JhcGgtYXZnLWxpbmUnKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbn0od2luZG93LCB3aW5kb3cuYW5ndWxhcikpO1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2FwcC9tb2R1bGVzL21vbml0b3JpbmcvanMvZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmdyYXBoLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///0\n"); +eval("\n\n__webpack_require__(55);\n__webpack_require__(60);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL21vbml0b3JpbmcuanM/ZTJhZCJdLCJuYW1lcyI6WyJyZXF1aXJlIl0sIm1hcHBpbmdzIjoiOztBQUFBLG1CQUFBQSxDQUFRLEVBQVI7QUFDQSxtQkFBQUEsQ0FBUSxFQUFSIiwiZmlsZSI6IjU0LmpzIiwic291cmNlc0NvbnRlbnQiOlsicmVxdWlyZSgnLi9qcy9tb25pdG9yZWRfZW5kcG9pbnRzLm1vZHVsZScpO1xyXG5yZXF1aXJlKCcuL2pzL2VuZHBvaW50X2RldGFpbHMubW9kdWxlJyk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXBwL21vZHVsZXMvbW9uaXRvcmluZy9tb25pdG9yaW5nLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///54\n"); /***/ }), -/* 1 */ + +/***/ 55: /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n angular.module('ui.particular.graphdecimal', []).filter('graphdecimal', ['$filter', function ($filter) {\n return function (input, decimals) {\n if (input) {\n var lastValue = input.points.length > 0 ? input.points[input.points.length - 1] : 0;\n input.displayValue = $filter(\"metricslargenumber\")(lastValue, decimals);\n } else {\n input = {\n points: [],\n average: 0,\n displayValue: 0\n };\n }\n\n return input;\n };\n }]);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5ncmFwaGRlY2ltYWwuanM/NTFkMyJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJhbmd1bGFyIiwidW5kZWZpbmVkIiwibW9kdWxlIiwiZmlsdGVyIiwiJGZpbHRlciIsImlucHV0IiwiZGVjaW1hbHMiLCJsYXN0VmFsdWUiLCJwb2ludHMiLCJsZW5ndGgiLCJkaXNwbGF5VmFsdWUiLCJhdmVyYWdlIl0sIm1hcHBpbmdzIjoiOztBQUFDLFdBQVVBLE1BQVYsRUFBa0JDLE9BQWxCLEVBQTJCQyxTQUEzQixFQUFzQztBQUNuQzs7QUFFQUQsWUFBUUUsTUFBUixDQUFlLDRCQUFmLEVBQTZDLEVBQTdDLEVBQ0tDLE1BREwsQ0FDWSxjQURaLEVBQzRCLENBQUMsU0FBRCxFQUFZLFVBQVVDLE9BQVYsRUFBbUI7QUFDbkQsZUFBTyxVQUFVQyxLQUFWLEVBQWlCQyxRQUFqQixFQUEyQjtBQUM5QixnQkFBSUQsS0FBSixFQUFXO0FBQ1Asb0JBQUlFLFlBQVlGLE1BQU1HLE1BQU4sQ0FBYUMsTUFBYixHQUFzQixDQUF0QixHQUEwQkosTUFBTUcsTUFBTixDQUFhSCxNQUFNRyxNQUFOLENBQWFDLE1BQWIsR0FBc0IsQ0FBbkMsQ0FBMUIsR0FBa0UsQ0FBbEY7QUFDQUosc0JBQU1LLFlBQU4sR0FBcUJOLFFBQVEsb0JBQVIsRUFBOEJHLFNBQTlCLEVBQXlDRCxRQUF6QyxDQUFyQjtBQUNILGFBSEQsTUFHTztBQUNIRCx3QkFBUTtBQUNKRyw0QkFBUSxFQURKO0FBRUpHLDZCQUFTLENBRkw7QUFHSkQsa0NBQWM7QUFIVixpQkFBUjtBQUtIOztBQUVELG1CQUFPTCxLQUFQO0FBQ0gsU0FiRDtBQWNILEtBZnVCLENBRDVCO0FBaUJILENBcEJBLEVBb0JDTixNQXBCRCxFQW9CU0EsT0FBT0MsT0FwQmhCLENBQUQiLCJmaWxlIjoiMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiAod2luZG93LCBhbmd1bGFyLCB1bmRlZmluZWQpIHtcclxuICAgICd1c2Ugc3RyaWN0JztcclxuXHJcbiAgICBhbmd1bGFyLm1vZHVsZSgndWkucGFydGljdWxhci5ncmFwaGRlY2ltYWwnLCBbXSlcclxuICAgICAgICAuZmlsdGVyKCdncmFwaGRlY2ltYWwnLCBbJyRmaWx0ZXInLCBmdW5jdGlvbiAoJGZpbHRlcikge1xyXG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGlucHV0LCBkZWNpbWFscykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGxhc3RWYWx1ZSA9IGlucHV0LnBvaW50cy5sZW5ndGggPiAwID8gaW5wdXQucG9pbnRzW2lucHV0LnBvaW50cy5sZW5ndGggLSAxXSA6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuZGlzcGxheVZhbHVlID0gJGZpbHRlcihcIm1ldHJpY3NsYXJnZW51bWJlclwiKShsYXN0VmFsdWUsIGRlY2ltYWxzKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50czogW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF2ZXJhZ2U6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlWYWx1ZTogMFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGlucHV0O1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1dKTtcclxufSh3aW5kb3csIHdpbmRvdy5hbmd1bGFyKSk7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2FwcC9tb2R1bGVzL21vbml0b3JpbmcvanMvZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmdyYXBoZGVjaW1hbC5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///1\n"); +eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n angular.module('monitored_endpoints', []);\n\n __webpack_require__(56);\n __webpack_require__(78);\n __webpack_require__(57);\n __webpack_require__(58);\n __webpack_require__(5);\n\n __webpack_require__(6);\n __webpack_require__(7);\n __webpack_require__(8);\n __webpack_require__(9);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL21vbml0b3JlZF9lbmRwb2ludHMubW9kdWxlLmpzPzA3YmQiXSwibmFtZXMiOlsid2luZG93IiwiYW5ndWxhciIsInVuZGVmaW5lZCIsIm1vZHVsZSIsInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7O0FBQUMsV0FBVUEsTUFBVixFQUFrQkMsT0FBbEIsRUFBMkJDLFNBQTNCLEVBQXNDO0FBQ25DOztBQUNBRCxZQUFRRSxNQUFSLENBQWUscUJBQWYsRUFBc0MsRUFBdEM7O0FBRUFDLElBQUEsbUJBQUFBLENBQVEsRUFBUjtBQUNBQSxJQUFBLG1CQUFBQSxDQUFRLEVBQVI7QUFDQUEsSUFBQSxtQkFBQUEsQ0FBUSxFQUFSO0FBQ0FBLElBQUEsbUJBQUFBLENBQVEsRUFBUjtBQUNBQSxJQUFBLG1CQUFBQSxDQUFRLENBQVI7O0FBRUFBLElBQUEsbUJBQUFBLENBQVEsQ0FBUjtBQUNBQSxJQUFBLG1CQUFBQSxDQUFRLENBQVI7QUFDQUEsSUFBQSxtQkFBQUEsQ0FBUSxDQUFSO0FBQ0FBLElBQUEsbUJBQUFBLENBQVEsQ0FBUjtBQUNILENBZEEsRUFjQ0osTUFkRCxFQWNTQSxPQUFPQyxPQWRoQixDQUFEIiwiZmlsZSI6IjU1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICh3aW5kb3csIGFuZ3VsYXIsIHVuZGVmaW5lZCkge1xyXG4gICAgJ3VzZSBzdHJpY3QnO1xyXG4gICAgYW5ndWxhci5tb2R1bGUoJ21vbml0b3JlZF9lbmRwb2ludHMnLCBbXSk7XHJcblxyXG4gICAgcmVxdWlyZSgnLi9zZXJ2aWNlcy9zZXJ2aWNlcy5tb25pdG9yaW5nJyk7XHJcbiAgICByZXF1aXJlKCcuL3NlcnZpY2VzL3NlcnZpY2VzLmNvbm5lY3Rpdml0eU5vdGlmaWVyJyk7XHJcbiAgICByZXF1aXJlKCcuL21vbml0b3JlZF9lbmRwb2ludHMuY29udHJvbGxlcicpO1xyXG4gICAgcmVxdWlyZSgnLi9tb25pdG9yZWRfZW5kcG9pbnRzLnJvdXRlLmpzJyk7XHJcbiAgICByZXF1aXJlKCcuL2NvbnN0YW50LmRpYWdyYW1zLmpzJyk7XHJcblxyXG4gICAgcmVxdWlyZSgnLi9kaXJlY3RpdmVzL3VpLnBhcnRpY3VsYXIuZ3JhcGguanMnKTtcclxuICAgIHJlcXVpcmUoJy4vZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmdyYXBoZGVjaW1hbC5qcycpO1xyXG4gICAgcmVxdWlyZSgnLi9kaXJlY3RpdmVzL3VpLnBhcnRpY3VsYXIuZ3JhcGhkdXJhdGlvbi5qcycpO1xyXG4gICAgcmVxdWlyZSgnLi9kaXJlY3RpdmVzL3VpLnBhcnRpY3VsYXIubWV0cmljc2xhcmdlbnVtYmVyLmpzJyk7XHJcbn0od2luZG93LCB3aW5kb3cuYW5ndWxhcikpO1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2FwcC9tb2R1bGVzL21vbml0b3JpbmcvanMvbW9uaXRvcmVkX2VuZHBvaW50cy5tb2R1bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///55\n"); /***/ }), -/* 2 */ + +/***/ 56: /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n angular.module('ui.particular.graphduration', []).filter('graphduration', ['formatter', function (formatter) {\n return function (input) {\n if (input) {\n var lastValue = input.points.length > 0 ? input.points[input.points.length - 1] : 0;\n input.displayValue = formatter.formatTime(lastValue);\n }\n\n return input;\n };\n }]);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5ncmFwaGR1cmF0aW9uLmpzP2Y3NWIiXSwibmFtZXMiOlsid2luZG93IiwiYW5ndWxhciIsInVuZGVmaW5lZCIsIm1vZHVsZSIsImZpbHRlciIsImZvcm1hdHRlciIsImlucHV0IiwibGFzdFZhbHVlIiwicG9pbnRzIiwibGVuZ3RoIiwiZGlzcGxheVZhbHVlIiwiZm9ybWF0VGltZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQyxXQUFVQSxNQUFWLEVBQWtCQyxPQUFsQixFQUEyQkMsU0FBM0IsRUFBc0M7QUFDbkM7O0FBRUFELFlBQVFFLE1BQVIsQ0FBZSw2QkFBZixFQUE4QyxFQUE5QyxFQUNLQyxNQURMLENBQ1ksZUFEWixFQUM2QixDQUFDLFdBQUQsRUFBYyxVQUFVQyxTQUFWLEVBQXFCO0FBQ3hELGVBQU8sVUFBVUMsS0FBVixFQUFpQjtBQUNwQixnQkFBSUEsS0FBSixFQUFXO0FBQ1Asb0JBQUlDLFlBQVlELE1BQU1FLE1BQU4sQ0FBYUMsTUFBYixHQUFzQixDQUF0QixHQUEwQkgsTUFBTUUsTUFBTixDQUFhRixNQUFNRSxNQUFOLENBQWFDLE1BQWIsR0FBc0IsQ0FBbkMsQ0FBMUIsR0FBa0UsQ0FBbEY7QUFDQUgsc0JBQU1JLFlBQU4sR0FBcUJMLFVBQVVNLFVBQVYsQ0FBcUJKLFNBQXJCLENBQXJCO0FBQ0g7O0FBRUQsbUJBQU9ELEtBQVA7QUFDSCxTQVBEO0FBUUgsS0FUd0IsQ0FEN0I7QUFXSCxDQWRBLEVBY0NOLE1BZEQsRUFjU0EsT0FBT0MsT0FkaEIsQ0FBRCIsImZpbGUiOiIyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICh3aW5kb3csIGFuZ3VsYXIsIHVuZGVmaW5lZCkge1xyXG4gICAgJ3VzZSBzdHJpY3QnO1xyXG5cclxuICAgIGFuZ3VsYXIubW9kdWxlKCd1aS5wYXJ0aWN1bGFyLmdyYXBoZHVyYXRpb24nLCBbXSlcclxuICAgICAgICAuZmlsdGVyKCdncmFwaGR1cmF0aW9uJywgWydmb3JtYXR0ZXInLCBmdW5jdGlvbiAoZm9ybWF0dGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoaW5wdXQpIHtcclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBsYXN0VmFsdWUgPSBpbnB1dC5wb2ludHMubGVuZ3RoID4gMCA/IGlucHV0LnBvaW50c1tpbnB1dC5wb2ludHMubGVuZ3RoIC0gMV0gOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGlucHV0LmRpc3BsYXlWYWx1ZSA9IGZvcm1hdHRlci5mb3JtYXRUaW1lKGxhc3RWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGlucHV0O1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1dKTtcclxufSh3aW5kb3csIHdpbmRvdy5hbmd1bGFyKSk7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2FwcC9tb2R1bGVzL21vbml0b3JpbmcvanMvZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmdyYXBoZHVyYXRpb24uanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///2\n"); +eval("\n\n;\n(function (window, angular, $, undefined) {\n 'use strict';\n\n function Service($http, rx, scConfig, uri, $q) {\n\n function createEndpointsSource(historyPeriod, refreshInterval) {\n return Rx.Observable.interval(refreshInterval).startWith(0).flatMap(function (i) {\n return Rx.Observable.fromArray(loadEndpointDataFromMonitoringService(historyPeriod)).flatMap(function (p) {\n var o = Rx.Observable.fromPromise(p);\n o = o.catch(Rx.Observable.empty());\n return o;\n });\n }).selectMany(function (endpoints) {\n return endpoints;\n });\n }\n\n function loadEndpointDataFromMonitoringService(historyPeriod) {\n return scConfig.monitoring_urls.map(function (url) {\n return $http.get(uri.join(url, 'monitored-endpoints') + '?history=' + historyPeriod).then(function (result) {\n var sourceIndex = scConfig.monitoring_urls.indexOf(url);\n\n result.data.forEach(function (endpoint) {\n endpoint.sourceIndex = sourceIndex;\n });\n\n return result.data;\n }, function (error) {\n var sourceIndex = scConfig.monitoring_urls.indexOf(url);\n return [{ error: error, sourceIndex: sourceIndex }];\n });\n });\n }\n\n function loadEndpointDetailsFromMonitoringService(endpointName, sourceIndex, historyPeriod) {\n return $http.get(uri.join(scConfig.monitoring_urls[sourceIndex], 'monitored-endpoints', endpointName) + \"?history=\" + historyPeriod).then(function (result) {\n return result.data;\n }, function (error) {\n return { error: error };\n });\n }\n\n function createEndpointDetailsSource(endpointName, sourceIndex, historyPeriod, refreshInterval) {\n return Rx.Observable.interval(refreshInterval).startWith(0).flatMap(function (i) {\n return Rx.Observable.fromPromise(loadEndpointDetailsFromMonitoringService(endpointName, sourceIndex, historyPeriod));\n });\n }\n\n var service = {\n createEndpointsSource: createEndpointsSource,\n createEndpointDetailsSource: createEndpointDetailsSource\n };\n\n return service;\n }\n\n Service.$inject = ['$http', 'rx', 'scConfig', 'uri', '$q', 'toastService'];\n\n angular.module('services.monitoringService', ['sc']).service('monitoringService', Service);\n})(window, window.angular, window.jQuery);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL3NlcnZpY2VzL3NlcnZpY2VzLm1vbml0b3JpbmcuanM/ZmE2NSJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJhbmd1bGFyIiwiJCIsInVuZGVmaW5lZCIsIlNlcnZpY2UiLCIkaHR0cCIsInJ4Iiwic2NDb25maWciLCJ1cmkiLCIkcSIsImNyZWF0ZUVuZHBvaW50c1NvdXJjZSIsImhpc3RvcnlQZXJpb2QiLCJyZWZyZXNoSW50ZXJ2YWwiLCJSeCIsIk9ic2VydmFibGUiLCJpbnRlcnZhbCIsInN0YXJ0V2l0aCIsImZsYXRNYXAiLCJpIiwiZnJvbUFycmF5IiwibG9hZEVuZHBvaW50RGF0YUZyb21Nb25pdG9yaW5nU2VydmljZSIsInAiLCJvIiwiZnJvbVByb21pc2UiLCJjYXRjaCIsImVtcHR5Iiwic2VsZWN0TWFueSIsImVuZHBvaW50cyIsIm1vbml0b3JpbmdfdXJscyIsIm1hcCIsInVybCIsImdldCIsImpvaW4iLCJ0aGVuIiwicmVzdWx0Iiwic291cmNlSW5kZXgiLCJpbmRleE9mIiwiZGF0YSIsImZvckVhY2giLCJlbmRwb2ludCIsImVycm9yIiwibG9hZEVuZHBvaW50RGV0YWlsc0Zyb21Nb25pdG9yaW5nU2VydmljZSIsImVuZHBvaW50TmFtZSIsImNyZWF0ZUVuZHBvaW50RGV0YWlsc1NvdXJjZSIsInNlcnZpY2UiLCIkaW5qZWN0IiwibW9kdWxlIiwialF1ZXJ5Il0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0MsV0FBVUEsTUFBVixFQUFrQkMsT0FBbEIsRUFBMkJDLENBQTNCLEVBQThCQyxTQUE5QixFQUF5QztBQUN0Qzs7QUFFQSxhQUFTQyxPQUFULENBQWlCQyxLQUFqQixFQUF3QkMsRUFBeEIsRUFBNEJDLFFBQTVCLEVBQXNDQyxHQUF0QyxFQUEyQ0MsRUFBM0MsRUFBK0M7O0FBRTNDLGlCQUFTQyxxQkFBVCxDQUErQkMsYUFBL0IsRUFBOENDLGVBQTlDLEVBQStEO0FBQzNELG1C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QVYsRUFBZ0IsVUFBaEIsRUFBNEIsS0FBNUIsRUFBbUMsSUFBbkMsRUFBeUMsY0FBekMsQ0FBbEI7O0FBRUE1QyxZQUFRNkMsTUFBUixDQUFlLDRCQUFmLEVBQTZDLENBQUMsSUFBRCxDQUE3QyxFQUNLRixPQURMLENBQ2EsbUJBRGIsRUFDa0N4QyxPQURsQztBQUVILENBbkVBLEVBbUVDSixNQW5FRCxFQW1FU0EsT0FBT0MsT0FuRWhCLEVBbUV5QkQsT0FBTytDLE1BbkVoQyxDQUFEIiwiZmlsZSI6IjU2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiO1xyXG4oZnVuY3Rpb24gKHdpbmRvdywgYW5ndWxhciwgJCwgdW5kZWZpbmVkKSB7XHJcbiAgICAndXNlIHN0cmljdCc7XHJcblxyXG4gICAgZnVuY3Rpb24gU2VydmljZSgkaHR0cCwgcngsIHNjQ29uZmlnLCB1cmksICRxKSB7XHJcblxyXG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZUVuZHBvaW50c1NvdXJjZShoaXN0b3J5UGVyaW9kLCByZWZyZXNoSW50ZXJ2YWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFJ4Lk9ic2VydmFibGUuaW50ZXJ2YWwocmVmcmVzaEludGVydmFsKS5zdGFydFdpdGgoMClcclxuICAgICAgICAgICAgICAgIC5mbGF0TWFwKGZ1bmN0aW9uIChpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJ4Lk9ic2VydmFibGUuZnJvbUFycmF5KGxvYWRFbmRwb2ludERhdGFGcm9tTW9uaXRvcmluZ1NlcnZpY2UoaGlzdG9yeVBlcmlvZCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5mbGF0TWFwKGZ1bmN0aW9uIChwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbyA9IFJ4Lk9ic2VydmFibGUuZnJvbVByb21pc2UocCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvID0gby5jYXRjaChSeC5PYnNlcnZhYmxlLmVtcHR5KCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSkuc2VsZWN0TWFueShmdW5jdGlvbiAoZW5kcG9pbnRzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVuZHBvaW50cztcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZnVuY3Rpb24gbG9hZEVuZHBvaW50RGF0YUZyb21Nb25pdG9yaW5nU2VydmljZShoaXN0b3J5UGVyaW9kKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBzY0NvbmZpZy5tb25pdG9yaW5nX3VybHMubWFwKGZ1bmN0aW9uICh1cmwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAkaHR0cC5nZXQodXJpLmpvaW4odXJsLCAnbW9uaXRvcmVkLWVuZHBvaW50cycpICsgJz9oaXN0b3J5PScgKyBoaXN0b3J5UGVyaW9kKVxyXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNvdXJjZUluZGV4ID0gc2NDb25maWcubW9uaXRvcmluZ191cmxzLmluZGV4T2YodXJsKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5kYXRhLmZvckVhY2goZnVuY3Rpb24gKGVuZHBvaW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRwb2ludC5zb3VyY2VJbmRleCA9IHNvdXJjZUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuZGF0YTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgc291cmNlSW5kZXggPSBzY0NvbmZpZy5tb25pdG9yaW5nX3VybHMuaW5kZXhPZih1cmwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW3sgZXJyb3I6IGVycm9yLCBzb3VyY2VJbmRleDogc291cmNlSW5kZXggfV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZ1bmN0aW9uIGxvYWRFbmRwb2ludERldGFpbHNGcm9tTW9uaXRvcmluZ1NlcnZpY2UoZW5kcG9pbnROYW1lLCBzb3VyY2VJbmRleCwgaGlzdG9yeVBlcmlvZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gJGh0dHAuZ2V0KHVyaS5qb2luKHNjQ29uZmlnLm1vbml0b3JpbmdfdXJsc1tzb3VyY2VJbmRleF0sICdtb25pdG9yZWQtZW5kcG9pbnRzJywgZW5kcG9pbnROYW1lKSArIFwiP2hpc3Rvcnk9XCIgKyBoaXN0b3J5UGVyaW9kKVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuZGF0YTtcclxuICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGVycm9yOiBlcnJvciB9O1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmdW5jdGlvbiBjcmVhdGVFbmRwb2ludERldGFpbHNTb3VyY2UoZW5kcG9pbnROYW1lLCBzb3VyY2VJbmRleCwgaGlzdG9yeVBlcmlvZCwgcmVmcmVzaEludGVydmFsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBSeC5PYnNlcnZhYmxlLmludGVydmFsKHJlZnJlc2hJbnRlcnZhbCkuc3RhcnRXaXRoKDApXHJcbiAgICAgICAgICAgICAgICAuZmxhdE1hcChmdW5jdGlvbiAoaSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBSeC5PYnNlcnZhYmxlLmZyb21Qcm9taXNlKGxvYWRFbmRwb2ludERldGFpbHNGcm9tTW9uaXRvcmluZ1NlcnZpY2UoZW5kcG9pbnROYW1lLCBzb3VyY2VJbmRleCwgaGlzdG9yeVBlcmlvZCkpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgc2VydmljZSA9IHtcclxuICAgICAgICAgICAgY3JlYXRlRW5kcG9pbnRzU291cmNlOiBjcmVhdGVFbmRwb2ludHNTb3VyY2UsXHJcbiAgICAgICAgICAgIGNyZWF0ZUVuZHBvaW50RGV0YWlsc1NvdXJjZTogY3JlYXRlRW5kcG9pbnREZXRhaWxzU291cmNlXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNlcnZpY2U7XHJcbiAgICB9XHJcblxyXG4gICAgU2VydmljZS4kaW5qZWN0ID0gWyckaHR0cCcsICdyeCcsICdzY0NvbmZpZycsICd1cmknLCAnJHEnLCAndG9hc3RTZXJ2aWNlJ107XHJcblxyXG4gICAgYW5ndWxhci5tb2R1bGUoJ3NlcnZpY2VzLm1vbml0b3JpbmdTZXJ2aWNlJywgWydzYyddKVxyXG4gICAgICAgIC5zZXJ2aWNlKCdtb25pdG9yaW5nU2VydmljZScsIFNlcnZpY2UpO1xyXG59KHdpbmRvdywgd2luZG93LmFuZ3VsYXIsIHdpbmRvdy5qUXVlcnkpKTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXBwL21vZHVsZXMvbW9uaXRvcmluZy9qcy9zZXJ2aWNlcy9zZXJ2aWNlcy5tb25pdG9yaW5nLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///56\n"); /***/ }), -/* 3 */ + +/***/ 57: /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n(function (window, angular) {\n 'use strict';\n\n angular.module('ui.particular.metricslargenumber', []).filter('metricslargenumber', ['formatter', function (formatter) {\n return function (input, dec) {\n var decimals = 0;\n if (input < 10 || input > 1000000) {\n decimals = 2;\n }\n return formatter.formatLargeNumber(input, dec || decimals);\n };\n }]);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5tZXRyaWNzbGFyZ2VudW1iZXIuanM/ZWQ2MSJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJhbmd1bGFyIiwibW9kdWxlIiwiZmlsdGVyIiwiZm9ybWF0dGVyIiwiaW5wdXQiLCJkZWMiLCJkZWNpbWFscyIsImZvcm1hdExhcmdlTnVtYmVyIl0sIm1hcHBpbmdzIjoiOztBQUFDLFdBQVNBLE1BQVQsRUFBaUJDLE9BQWpCLEVBQTBCO0FBQzFCOztBQUVHQSxZQUFRQyxNQUFSLENBQWUsa0NBQWYsRUFBbUQsRUFBbkQsRUFDS0MsTUFETCxDQUNZLG9CQURaLEVBQ2tDLENBQUMsV0FBRCxFQUFjLFVBQVVDLFNBQVYsRUFBcUI7QUFDN0QsZUFBTyxVQUFVQyxLQUFWLEVBQWlCQyxHQUFqQixFQUFzQjtBQUN6QixnQkFBSUMsV0FBVyxDQUFmO0FBQ0EsZ0JBQUlGLFFBQVEsRUFBUixJQUFjQSxRQUFRLE9BQTFCLEVBQW1DO0FBQy9CRSwyQkFBVyxDQUFYO0FBQ0g7QUFDRCxtQkFBT0gsVUFBVUksaUJBQVYsQ0FBNEJILEtBQTVCLEVBQW1DQyxPQUFPQyxRQUExQyxDQUFQO0FBQ0gsU0FORDtBQU9ILEtBUjZCLENBRGxDO0FBVUgsQ0FiQSxFQWFDUCxNQWJELEVBYVNBLE9BQU9DLE9BYmhCLENBQUQiLCJmaWxlIjoiMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbih3aW5kb3csIGFuZ3VsYXIpIHtcclxuXHQndXNlIHN0cmljdCc7XHJcblxyXG4gICAgYW5ndWxhci5tb2R1bGUoJ3VpLnBhcnRpY3VsYXIubWV0cmljc2xhcmdlbnVtYmVyJywgW10pXHJcbiAgICAgICAgLmZpbHRlcignbWV0cmljc2xhcmdlbnVtYmVyJywgWydmb3JtYXR0ZXInLCBmdW5jdGlvbiAoZm9ybWF0dGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoaW5wdXQsIGRlYykge1xyXG4gICAgICAgICAgICAgICAgdmFyIGRlY2ltYWxzID0gMDtcclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dCA8IDEwIHx8IGlucHV0ID4gMTAwMDAwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRlY2ltYWxzID0gMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZXIuZm9ybWF0TGFyZ2VOdW1iZXIoaW5wdXQsIGRlYyB8fCBkZWNpbWFscyk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfV0pO1xyXG59KHdpbmRvdywgd2luZG93LmFuZ3VsYXIpKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5tZXRyaWNzbGFyZ2VudW1iZXIuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///3\n"); +eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n function controller($scope, $location, monitoringService, serviceControlService, toastService, historyPeriods, rx, $filter, smallGraphsMinimumYAxis, connectivityNotifier) {\n\n var subscription, endpointsFromScSubscription;\n\n $scope.periods = historyPeriods;\n $scope.selectedPeriod = $scope.periods[0];\n $scope.smallGraphsMinimumYAxis = smallGraphsMinimumYAxis;\n\n if ($location.$$search.historyPeriod) {\n $scope.selectedPeriod = $scope.periods[$scope.periods.findIndex(function (period) {\n return period.value == $location.$$search.historyPeriod;\n })];\n }\n\n $scope.endpoints = [];\n\n $scope.selectPeriod = function (period) {\n $scope.selectedPeriod = period;\n\n updateUI();\n };\n\n $scope.getDetailsUrl = function (endpoint) {\n if (!endpoint.isServiceControlOnly) {\n return '#/endpoint_details/' + endpoint.name + '/' + endpoint.sourceIndex + '?historyPeriod=' + $scope.selectedPeriod.value;\n }\n\n return '#/failed-messages/groups/' + endpoint.serviceControlId;\n };\n\n function fillDisplayValuesForEndpoint(endpoint) {\n\n $filter('graphduration')(endpoint.metrics.processingTime);\n $filter('graphduration')(endpoint.metrics.criticalTime);\n $filter('graphdecimal')(endpoint.metrics.queueLength, 0);\n $filter('graphdecimal')(endpoint.metrics.throughput, 2);\n $filter('graphdecimal')(endpoint.metrics.retries, 2);\n }\n\n function updateUI() {\n if (subscription) {\n subscription.dispose();\n }\n\n if (endpointsFromScSubscription) {\n endpointsFromScSubscription.dispose();\n }\n\n var selectedPeriod = $scope.selectedPeriod;\n\n subscription = monitoringService.createEndpointsSource(selectedPeriod.value, selectedPeriod.refreshInterval).subscribe(function (endpoint) {\n if (endpoint.error) {\n connectivityNotifier.reportFailedConnection(endpoint.sourceIndex);\n if ($scope.endpoints) {\n $scope.endpoints.filter(function (item) {\n return item.sourceIndex === endpoint.sourceIndex;\n }).forEach(function (item) {\n return item.isScMonitoringDisconnected = true;\n });\n }\n } else {\n connectivityNotifier.reportSuccessfulConnection(endpoint.sourceIndex);\n var index = $scope.endpoints.findIndex(function (item) {\n return item.name === endpoint.name;\n });\n\n endpoint.isConnected = true;\n endpoint.isScMonitoringDisconnected = false;\n fillDisplayValuesForEndpoint(endpoint);\n if (index >= 0) {\n var previousServiceControlId = $scope.endpoints[index].serviceControlId;\n var previousErrorCount = $scope.endpoints[index].errorCount;\n\n $scope.endpoints[index] = endpoint;\n $scope.endpoints[index].serviceControlId = previousServiceControlId;\n $scope.endpoints[index].errorCount = previousErrorCount;\n } else {\n $scope.endpoints.push(endpoint);\n\n $scope.endpoints.sort(function (first, second) {\n if (first.name < second.name) {\n return -1;\n }\n\n if (first.name > second.name) {\n return 1;\n }\n\n return 0;\n });\n }\n }\n\n $scope.$apply();\n });\n\n endpointsFromScSubscription = Rx.Observable.interval(5000).startWith(0).flatMap(function (i) {\n return Rx.Observable.fromPromise(serviceControlService.getExceptionGroups('Endpoint Name', ''));\n }).selectMany(function (endpoints) {\n return endpoints.data;\n }).subscribe(function (endpoint) {\n var index = $scope.endpoints.findIndex(function (item) {\n return item.name === endpoint.title;\n });\n if (index >= 0) {\n $scope.endpoints[index].serviceControlId = endpoint.id;\n $scope.endpoints[index].errorCount = endpoint.count;\n } else {\n $scope.endpoints.push({ name: endpoint.title, errorCount: endpoint.count, isConnected: false, isServiceControlOnly: true, serviceControlId: endpoint.id });\n }\n });\n }\n\n updateUI();\n\n $scope.$on(\"$destroy\", function handler() {\n subscription.dispose();\n endpointsFromScSubscription.dispose();\n });\n };\n\n controller.$inject = ['$scope', '$location', 'monitoringService', 'serviceControlService', 'toastService', 'historyPeriods', 'rx', '$filter', 'smallGraphsMinimumYAxis', 'connectivityNotifier'];\n\n angular.module('monitored_endpoints').controller('monitoredEndpointsCtrl', controller);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL21vbml0b3JlZF9lbmRwb2ludHMuY29udHJvbGxlci5qcz8wNmNlIl0sIm5hbWVzIjpbIndpbmRvdyIsImFuZ3VsYXIiLCJ1bmRlZmluZWQiLCJjb250cm9sbGVyIiwiJHNjb3BlIiwiJGxvY2F0aW9uIiwibW9uaXRvcmluZ1NlcnZpY2UiLCJzZXJ2aWNlQ29udHJvbFNlcnZpY2UiLCJ0b2FzdFNlcnZpY2UiLCJoaXN0b3J5UGVyaW9kcyIsInJ4IiwiJGZpbHRlciIsInNtYWxsR3JhcGhzTWluaW11bVlBeGlzIiwiY29ubmVjdGl2aXR5Tm90aWZpZXIiLCJzdWJzY3JpcHRpb24iLCJlbmRwb2ludHNGcm9tU2NTdWJzY3JpcHRpb24iLCJwZXJpb2RzIiwic2VsZWN0ZWRQZXJpb2QiLCIkJHNlYXJjaCIsImhpc3RvcnlQZXJpb2QiLCJmaW5kSW5kZXgiLCJwZXJpb2QiLCJ2YWx1ZSIsImVuZHBvaW50cyIsInNlbGVjdFBlcmlvZCIsInVwZGF0ZVVJIiwiZ2V0RGV0YWlsc1VybCIsImVuZHBvaW50IiwiaXNTZXJ2aWNlQ29udHJvbE9ubHkiLCJuYW1lIiwic291cmNlSW5kZXgiLCJzZXJ2aWNlQ29udHJvbElkIiwiZmlsbERpc3BsYXlWYWx1ZXNGb3JFbmRwb2ludCIsIm1ldHJpY3MiLCJwcm9jZXNzaW5nVGltZSIsImNyaXRpY2FsVGltZSIsInF1ZXVlTGVuZ3RoIiwidGhyb3VnaHB1dCIsInJldHJpZXMiLCJkaXNwb3NlIiwiY3JlYXRlRW5kcG9pbnRzU291cmNlIiwicmVmcmVzaEludGVydmFsIiwic3Vic2NyaWJlIiwiZXJyb3IiLCJyZXBvcnRGYWlsZWRDb25uZWN0aW9uIiwiZmlsdGVyIiwiaXRlbSIsImZvckVhY2giLCJpc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZCIsInJlcG9ydFN1Y2Nlc3NmdWxDb25uZWN0aW9uIiwiaW5kZXgiLCJpc0Nvbm5lY3RlZCIsInByZXZpb3VzU2VydmljZUNvbnRyb2xJZCIsInByZXZpb3VzRXJyb3JDb3VudCIsImVycm9yQ291bnQiLCJwdXNoIiwic29ydCIsImZpcnN0Iiwic2Vjb25kIiwiJGFwcGx5IiwiUngiLCJPYnNlcnZhYmxlIiwiaW50ZXJ2YWwiLCJzdGFydFdpdGgiLCJmbGF0TWFwIiwiaSIsImZyb21Qcm9taXNlIiwiZ2V0RXhjZXB0aW9uR3JvdXBzIiwic2VsZWN0TWFueSIsImRhdGEiLCJ0aXRsZSIsImlkIiwiY291bnQiLCIkb24iLCJoYW5kbGVyIiwiJGluamVjdCIsIm1vZHVsZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQyxXQUFTQSxNQUFULEVBQWlCQyxPQUFqQixFQUEwQkMsU0FBMUIsRUFBcUM7QUFDbEM7O0FBRUEsYUFBU0MsVUFBVCxDQUNJQyxNQURKLEVBRUlDLFNBRkosRUFHSUMsaUJBSEosRUFJSUMscUJBSkosRUFLSUMsWUFMSixFQU1JQyxjQU5KLEVBT0lDLEVBUEosRUFRSUMsT0FSSixFQVNJQyx1QkFUSixFQVVJQyxvQkFWSixFQVUwQjs7QUFFdEIsWUFBSUMsWUFBSixFQUFrQkMsMkJBQWxCOztBQUVBWCxlQUFPWSxPQUFQLEdBQWlCUCxjQUFqQjtBQUNBTCxlQUFPYSxjQUFQLEdBQXdCYixPQUFPWSxPQUFQLENBQWUsQ0FBZixDQUF4QjtBQUNBWixlQUFPUSx1QkFBUCxHQUFpQ0EsdUJBQWpDOztBQUVBLFlBQUlQLFVBQVVhLFFBQVYsQ0FBbUJDLGFBQXZCLEVBQXNDO0FBQ2xDZixtQkFBT2EsY0FBUCxHQUF3QmIsT0FBT1ksT0FBUCxDQUFlWixPQUFPWSxPQUFQLENBQWVJLFNBQWYsQ0FBeUIsVUFBVUMsTUFBVixFQUFrQjtBQUM5RSx1QkFBT0EsT0FBT0MsS0FBUCxJQUFnQmpCLFVBQVVhLFFBQVYsQ0FBbUJDLGFBQTFDO0FBQ0gsYUFGc0MsQ0FBZixDQUF4QjtBQUdIOztBQUVEZixlQUFPbUIsU0FBUCxHQUFtQixFQUFuQjs7QUFFQW5CLGVBQU9vQixZQUFQLEdBQXNCLFVBQVVILE1BQVYsRUFBa0I7QUFDcENq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VUFBeEIsR0FBcUMzQixTQUFTNkMsS0FBOUM7QUFDSCxpQkFIRCxNQUdPO0FBQ0hwRSwyQkFBT21CLFNBQVAsQ0FBaUJnQyxJQUFqQixDQUFzQixFQUFFMUIsTUFBTUYsU0FBUzJDLEtBQWpCLEVBQXdCaEIsWUFBWTNCLFNBQVM2QyxLQUE3QyxFQUFvRHJCLGFBQWEsS0FBakUsRUFBd0V2QixzQkFBc0IsSUFBOUYsRUFBb0dHLGtCQUFrQkosU0FBUzRDLEVBQS9ILEVBQXRCO0FBQ0g7QUFDSixhQWJELENBREo7QUFlSDs7QUFFRDlDOztBQUVBckIsZUFBT3FFLEdBQVAsQ0FBVyxVQUFYLEVBQXVCLFNBQVNDLE9BQVQsR0FBbUI7QUFDdEM1RCx5QkFBYXlCLE9BQWI7QUFDQXhCLHdDQUE0QndCLE9BQTVCO0FBQ0gsU0FIRDtBQUlIOztBQUVEcEMsZUFBV3dFLE9BQVgsR0FBcUIsQ0FDakIsUUFEaUIsRUFFakIsV0FGaUIsRUFHakIsbUJBSGlCLEVBSWpCLHVCQUppQixFQUtqQixjQUxpQixFQU1qQixnQkFOaUIsRUFPakIsSUFQaUIsRUFRakIsU0FSaUIsRUFTakIseUJBVGlCLEVBVWpCLHNCQVZpQixDQUFyQjs7QUFhQTFFLFlBQVEyRSxNQUFSLENBQWUscUJBQWYsRUFDS3pFLFVBREwsQ0FDZ0Isd0JBRGhCLEVBQzBDQSxVQUQxQztBQUdILENBbEpBLEVBa0pDSCxNQWxKRCxFQWtKU0EsT0FBT0MsT0FsSmhCLENBQUQiLCJmaWxlIjoiNTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24od2luZG93LCBhbmd1bGFyLCB1bmRlZmluZWQpIHtcclxuICAgICd1c2Ugc3RyaWN0JztcclxuXHJcbiAgICBmdW5jdGlvbiBjb250cm9sbGVyKFxyXG4gICAgICAgICRzY29wZSxcclxuICAgICAgICAkbG9jYXRpb24sXHJcbiAgICAgICAgbW9uaXRvcmluZ1NlcnZpY2UsXHJcbiAgICAgICAgc2VydmljZUNvbnRyb2xTZXJ2aWNlLFxyXG4gICAgICAgIHRvYXN0U2VydmljZSxcclxuICAgICAgICBoaXN0b3J5UGVyaW9kcyxcclxuICAgICAgICByeCxcclxuICAgICAgICAkZmlsdGVyLFxyXG4gICAgICAgIHNtYWxsR3JhcGhzTWluaW11bVlBeGlzLFxyXG4gICAgICAgIGNvbm5lY3Rpdml0eU5vdGlmaWVyKSB7XHJcblxyXG4gICAgICAgIHZhciBzdWJzY3JpcHRpb24sIGVuZHBvaW50c0Zyb21TY1N1YnNjcmlwdGlvbjtcclxuXHJcbiAgICAgICAgJHNjb3BlLnBlcmlvZHMgPSBoaXN0b3J5UGVyaW9kcztcclxuICAgICAgICAkc2NvcGUuc2VsZWN0ZWRQZXJpb2QgPSAkc2NvcGUucGVyaW9kc1swXTtcclxuICAgICAgICAkc2NvcGUuc21hbGxHcmFwaHNNaW5pbXVtWUF4aXMgPSBzbWFsbEdyYXBoc01pbmltdW1ZQXhpcztcclxuXHJcbiAgICAgICAgaWYgKCRsb2NhdGlvbi4kJHNlYXJjaC5oaXN0b3J5UGVyaW9kKSB7XHJcbiAgICAgICAgICAgICRzY29wZS5zZWxlY3RlZFBlcmlvZCA9ICRzY29wZS5wZXJpb2RzWyRzY29wZS5wZXJpb2RzLmZpbmRJbmRleChmdW5jdGlvbiAocGVyaW9kKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcGVyaW9kLnZhbHVlID09ICRsb2NhdGlvbi4kJHNlYXJjaC5oaXN0b3J5UGVyaW9kO1xyXG4gICAgICAgICAgICB9KV07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAkc2NvcGUuZW5kcG9pbnRzID0gW107XHJcblxyXG4gICAgICAgICRzY29wZS5zZWxlY3RQZXJpb2QgPSBmdW5jdGlvbiAocGVyaW9kKSB7XHJcbiAgICAgICAgICAgICRzY29wZS5zZWxlY3RlZFBlcmlvZCA9IHBlcmlvZDtcclxuXHJcbiAgICAgICAgICAgIHVwZGF0ZVVJKCk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgJHNjb3BlLmdldERldGFpbHNVcmwgPSBlbmRwb2ludCA9PiB7XHJcbiAgICAgICAgICAgIGlmICghZW5kcG9pbnQuaXNTZXJ2aWNlQ29udHJvbE9ubHkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAnIy9lbmRwb2ludF9kZXRhaWxzLycgKyBlbmRwb2ludC5uYW1lICsgJy8nICsgZW5kcG9pbnQuc291cmNlSW5kZXggKyAnP2hpc3RvcnlQZXJpb2Q9JyArICRzY29wZS5zZWxlY3RlZFBlcmlvZC52YWx1ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuICcjL2ZhaWxlZC1tZXNzYWdlcy9ncm91cHMvJyArIGVuZHBvaW50LnNlcnZpY2VDb250cm9sSWQ7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgZnVuY3Rpb24gZmlsbERpc3BsYXlWYWx1ZXNGb3JFbmRwb2ludChlbmRwb2ludCkge1xyXG5cclxuICAgICAgICAgICAgJGZpbHRlcignZ3JhcGhkdXJhdGlvbicpKGVuZHBvaW50Lm1ldHJpY3MucHJvY2Vzc2luZ1RpbWUpO1xyXG4gICAgICAgICAgICAkZmlsdGVyKCdncmFwaGR1cmF0aW9uJykoZW5kcG9pbnQubWV0cmljcy5jcml0aWNhbFRpbWUpO1xyXG4gICAgICAgICAgICAkZmlsdGVyKCdncmFwaGRlY2ltYWwnKShlbmRwb2ludC5tZXRyaWNzLnF1ZXVlTGVuZ3RoLCAwKTtcclxuICAgICAgICAgICAgJGZpbHRlcignZ3JhcGhkZWNpbWFsJykoZW5kcG9pbnQubWV0cmljcy50aHJvdWdocHV0LCAyKTtcclxuICAgICAgICAgICAgJGZpbHRlcignZ3JhcGhkZWNpbWFsJykoZW5kcG9pbnQubWV0cmljcy5yZXRyaWVzLCAyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZVVJKCkge1xyXG4gICAgICAgICAgICBpZiAoc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24uZGlzcG9zZSgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoZW5kcG9pbnRzRnJvbVNjU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBlbmRwb2ludHNGcm9tU2NTdWJzY3JpcHRpb24uZGlzcG9zZSgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB2YXIgc2VsZWN0ZWRQZXJpb2QgPSAkc2NvcGUuc2VsZWN0ZWRQZXJpb2Q7XHJcblxyXG4gICAgICAgICAgICBzdWJzY3JpcHRpb24gPSBtb25pdG9yaW5nU2VydmljZS5jcmVhdGVFbmRwb2ludHNTb3VyY2Uoc2VsZWN0ZWRQZXJpb2QudmFsdWUsIHNlbGVjdGVkUGVyaW9kLnJlZnJlc2hJbnRlcnZhbClcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoZnVuY3Rpb24oZW5kcG9pbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZW5kcG9pbnQuZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGl2aXR5Tm90aWZpZXIucmVwb3J0RmFpbGVkQ29ubmVjdGlvbihlbmRwb2ludC5zb3VyY2VJbmRleCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkc2NvcGUuZW5kcG9pbnRzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZW5kcG9pbnRzLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5zb3VyY2VJbmRleCA9PT0gZW5kcG9pbnQuc291cmNlSW5kZXgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPSB0cnVlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpdml0eU5vdGlmaWVyLnJlcG9ydFN1Y2Nlc3NmdWxDb25uZWN0aW9uKGVuZHBvaW50LnNvdXJjZUluZGV4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gJHNjb3BlLmVuZHBvaW50cy5maW5kSW5kZXgoZnVuY3Rpb24oaXRlbSkgeyByZXR1cm4gaXRlbS5uYW1lID09PSBlbmRwb2ludC5uYW1lIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnQuaXNDb25uZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsRGlzcGxheVZhbHVlc0ZvckVuZHBvaW50KGVuZHBvaW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwcmV2aW91c1NlcnZpY2VDb250cm9sSWQgPSAkc2NvcGUuZW5kcG9pbnRzW2luZGV4XS5zZXJ2aWNlQ29udHJvbElkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHByZXZpb3VzRXJyb3JDb3VudCA9ICRzY29wZS5lbmRwb2ludHNbaW5kZXhdLmVycm9yQ291bnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVuZHBvaW50c1tpbmRleF0gPSBlbmRwb2ludDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5lbmRwb2ludHNbaW5kZXhdLnNlcnZpY2VDb250cm9sSWQgPSBwcmV2aW91c1NlcnZpY2VDb250cm9sSWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZW5kcG9pbnRzW2luZGV4XS5lcnJvckNvdW50ID0gcHJldmlvdXNFcnJvckNvdW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVuZHBvaW50cy5wdXNoKGVuZHBvaW50KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZW5kcG9pbnRzLnNvcnQoZnVuY3Rpb24oZmlyc3QsIHNlY29uZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaXJzdC5uYW1lIDwgc2Vjb25kLm5hbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpcnN0Lm5hbWUgPiBzZWNvbmQubmFtZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICRzY29wZS4kYXBwbHkoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgZW5kcG9pbnRzRnJvbVNjU3Vic2NyaXB0aW9uID1cclxuICAgICAgICAgICAgICAgIFJ4Lk9ic2VydmFibGUuaW50ZXJ2YWwoNTAwMCkuc3RhcnRXaXRoKDApXHJcbiAgICAgICAgICAgICAgICAuZmxhdE1hcChmdW5jdGlvbihpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJ4Lk9ic2VydmFibGUuZnJvbVByb21pc2Uoc2VydmljZUNvbnRyb2xTZXJ2aWNlLmdldEV4Y2VwdGlvbkdyb3VwcygnRW5kcG9pbnQgTmFtZScsICcnKSk7XHJcbiAgICAgICAgICAgICAgICB9KS5zZWxlY3RNYW55KGZ1bmN0aW9uKGVuZHBvaW50cykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbmRwb2ludHMuZGF0YTtcclxuICAgICAgICAgICAgICAgIH0pLnN1YnNjcmliZShmdW5jdGlvbiAoZW5kcG9pbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSAkc2NvcGUuZW5kcG9pbnRzLmZpbmRJbmRleChmdW5jdGlvbihpdGVtKSB7IHJldHVybiBpdGVtLm5hbWUgPT09IGVuZHBvaW50LnRpdGxlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5lbmRwb2ludHNbaW5kZXhdLnNlcnZpY2VDb250cm9sSWQgPSBlbmRwb2ludC5pZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVuZHBvaW50c1tpbmRleF0uZXJyb3JDb3VudCA9IGVuZHBvaW50LmNvdW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5lbmRwb2ludHMucHVzaCh7IG5hbWU6IGVuZHBvaW50LnRpdGxlLCBlcnJvckNvdW50OiBlbmRwb2ludC5jb3VudCwgaXNDb25uZWN0ZWQ6IGZhbHNlLCBpc1NlcnZpY2VDb250cm9sT25seTogdHJ1ZSwgc2VydmljZUNvbnRyb2xJZDogZW5kcG9pbnQuaWQgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1cGRhdGVVSSgpO1xyXG5cclxuICAgICAgICAkc2NvcGUuJG9uKFwiJGRlc3Ryb3lcIiwgZnVuY3Rpb24gaGFuZGxlcigpIHtcclxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgZW5kcG9pbnRzRnJvbVNjU3Vic2NyaXB0aW9uLmRpc3Bvc2UoKTtcclxuICAgICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29udHJvbGxlci4kaW5qZWN0ID0gW1xyXG4gICAgICAgICckc2NvcGUnLFxyXG4gICAgICAgICckbG9jYXRpb24nLFxyXG4gICAgICAgICdtb25pdG9yaW5nU2VydmljZScsXHJcbiAgICAgICAgJ3NlcnZpY2VDb250cm9sU2VydmljZScsXHJcbiAgICAgICAgJ3RvYXN0U2VydmljZScsXHJcbiAgICAgICAgJ2hpc3RvcnlQZXJpb2RzJyxcclxuICAgICAgICAncngnLFxyXG4gICAgICAgICckZmlsdGVyJyxcclxuICAgICAgICAnc21hbGxHcmFwaHNNaW5pbXVtWUF4aXMnLFxyXG4gICAgICAgICdjb25uZWN0aXZpdHlOb3RpZmllcidcclxuICAgIF07XHJcblxyXG4gICAgYW5ndWxhci5tb2R1bGUoJ21vbml0b3JlZF9lbmRwb2ludHMnKVxyXG4gICAgICAgIC5jb250cm9sbGVyKCdtb25pdG9yZWRFbmRwb2ludHNDdHJsJywgY29udHJvbGxlcik7XHJcblxyXG59KHdpbmRvdywgd2luZG93LmFuZ3VsYXIpKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL21vbml0b3JlZF9lbmRwb2ludHMuY29udHJvbGxlci5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///57\n"); /***/ }), -/* 4 */ + +/***/ 58: /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n__webpack_require__(5);\n__webpack_require__(10);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL21vbml0b3JpbmcuanM/ZTJhZCJdLCJuYW1lcyI6WyJyZXF1aXJlIl0sIm1hcHBpbmdzIjoiOztBQUFBLG1CQUFBQSxDQUFRLENBQVI7QUFDQSxtQkFBQUEsQ0FBUSxFQUFSIiwiZmlsZSI6IjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJyZXF1aXJlKCcuL2pzL21vbml0b3JlZF9lbmRwb2ludHMubW9kdWxlJyk7XHJcbnJlcXVpcmUoJy4vanMvZW5kcG9pbnRfZGV0YWlscy5tb2R1bGUnKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL21vbml0b3JpbmcuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///4\n"); +eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n function routeProvider($routeProvider) {\n var template = __webpack_require__(59);\n\n $routeProvider.when('/monitored_endpoints', {\n data: {\n pageTitle: 'Monitored Endpoints'\n },\n template: template,\n controller: 'monitoredEndpointsCtrl',\n controllerAs: 'vm',\n reloadOnSearch: false\n });\n };\n\n routeProvider.$inject = ['$routeProvider'];\n\n angular.module('monitored_endpoints').config(routeProvider);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL21vbml0b3JlZF9lbmRwb2ludHMucm91dGUuanM/MjcwNiJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJhbmd1bGFyIiwidW5kZWZpbmVkIiwicm91dGVQcm92aWRlciIsIiRyb3V0ZVByb3ZpZGVyIiwidGVtcGxhdGUiLCJyZXF1aXJlIiwid2hlbiIsImRhdGEiLCJwYWdlVGl0bGUiLCJjb250cm9sbGVyIiwiY29udHJvbGxlckFzIiwicmVsb2FkT25TZWFyY2giLCIkaW5qZWN0IiwibW9kdWxlIiwiY29uZmlnIl0sIm1hcHBpbmdzIjoiOztBQUFDLFdBQVVBLE1BQVYsRUFBa0JDLE9BQWxCLEVBQTJCQyxTQUEzQixFQUFzQztBQUNuQzs7QUFFQSxhQUFTQyxhQUFULENBQXVCQyxjQUF2QixFQUF1QztBQUNuQyxZQUFJQyxXQUFXLG1CQUFBQyxDQUFRLEVBQVIsQ0FBZjs7QUFFQUYsdUJBQWVHLElBQWYsQ0FBb0Isc0JBQXBCLEVBQTRDO0FBQ3hDQyxrQkFBTTtBQUNGQywyQkFBVztBQURULGFBRGtDO0FBSXhDSixzQkFBVUEsUUFKOEI7QUFLeENLLHdCQUFZLHdCQUw0QjtBQU14Q0MsMEJBQWMsSUFOMEI7QUFPeENDLDRCQUFnQjtBQVB3QixTQUE1QztBQVNIOztBQUVEVCxrQkFBY1UsT0FBZCxHQUF3QixDQUNwQixnQkFEb0IsQ0FBeEI7O0FBSUFaLFlBQVFhLE1BQVIsQ0FBZSxxQkFBZixFQUNLQyxNQURMLENBQ1laLGFBRFo7QUFFSCxDQXZCQSxFQXVCRUgsTUF2QkYsRUF1QlVBLE9BQU9DLE9BdkJqQixDQUFEIiwiZmlsZSI6IjU4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICh3aW5kb3csIGFuZ3VsYXIsIHVuZGVmaW5lZCkge1xyXG4gICAgJ3VzZSBzdHJpY3QnO1xyXG5cclxuICAgIGZ1bmN0aW9uIHJvdXRlUHJvdmlkZXIoJHJvdXRlUHJvdmlkZXIpIHtcclxuICAgICAgICBsZXQgdGVtcGxhdGUgPSByZXF1aXJlKCcuLy4uL3ZpZXdzL21vbml0b3JlZF9lbmRwb2ludHMuaHRtbCcpO1xyXG5cclxuICAgICAgICAkcm91dGVQcm92aWRlci53aGVuKCcvbW9uaXRvcmVkX2VuZHBvaW50cycsIHtcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgcGFnZVRpdGxlOiAnTW9uaXRvcmVkIEVuZHBvaW50cydcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdGVtcGxhdGU6IHRlbXBsYXRlLFxyXG4gICAgICAgICAgICBjb250cm9sbGVyOiAnbW9uaXRvcmVkRW5kcG9pbnRzQ3RybCcsXHJcbiAgICAgICAgICAgIGNvbnRyb2xsZXJBczogJ3ZtJyxcclxuICAgICAgICAgICAgcmVsb2FkT25TZWFyY2g6IGZhbHNlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHJvdXRlUHJvdmlkZXIuJGluamVjdCA9IFtcclxuICAgICAgICAnJHJvdXRlUHJvdmlkZXInXHJcbiAgICBdO1xyXG5cclxuICAgIGFuZ3VsYXIubW9kdWxlKCdtb25pdG9yZWRfZW5kcG9pbnRzJylcclxuICAgICAgICAuY29uZmlnKHJvdXRlUHJvdmlkZXIpO1xyXG59ICh3aW5kb3csIHdpbmRvdy5hbmd1bGFyKSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXBwL21vZHVsZXMvbW9uaXRvcmluZy9qcy9tb25pdG9yZWRfZW5kcG9pbnRzLnJvdXRlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///58\n"); + +/***/ }), + +/***/ 59: +/***/ (function(module, exports) { + +eval("module.exports = \"

Endpoints overview

Endpoint monitoring not available

Monitoring is not available due to one or more of these reasons:

  • the monitoring server is not configured or is unavailable
  • the monitoring plugin is not installed on the endpoints to be monitored
  • endpoints without the monitoring plugin do not have auditing enabled
Endpoint name
Queue Length (msgs)

Queue length: The estimated number of messages in an endpoint's queue.

WARNING: This is an experimental feature. Learn more

Throughput (msgs/s)
Scheduled retry rate (msgs/s)
Processing Time (t)
Critical Time (t)
{{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? \\\"\\\" : endpoint.metrics.queueLength.displayValue}} ?
{{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? \\\"\\\" : endpoint.metrics.throughput.displayValue}} ?
{{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? \\\"\\\" : endpoint.metrics.retries.displayValue}} ?
{{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? \\\"\\\" : endpoint.metrics.processingTime.displayValue.value}} ? {{endpoint.metrics.processingTime.displayValue.unit}}
{{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? \\\"\\\" : endpoint.metrics.criticalTime.displayValue.value}} ? {{endpoint.metrics.criticalTime.displayValue.unit}}
No plug-ins installed.
\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL3ZpZXdzL21vbml0b3JlZF9lbmRwb2ludHMuaHRtbD8zYTg3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtkQUFrZCxxQkFBcUIsaUxBQWlMLGNBQWMsS0FBSyxhQUFhLHlwR0FBeXBHLHlCQUF5QixtSkFBbUosZUFBZSx1aEJBQXVoQiwyQkFBMkIsc0ZBQXNGLDBDQUEwQyxnUEFBZ1AscUNBQXFDLDBHQUEwRyw4SEFBOEgsZ1RBQWdULG9DQUFvQyx3R0FBd0csNkhBQTZILDZTQUE2UyxpQ0FBaUMscUdBQXFHLDBIQUEwSCxvVEFBb1Qsd0NBQXdDLDZHQUE2Ryx1SUFBdUksbUxBQW1MLG1EQUFtRCxvT0FBb08sc0NBQXNDLDJHQUEyRyxxSUFBcUksbUxBQW1MLGlEQUFpRCIsImZpbGUiOiI1OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCI8ZGl2IGNsYXNzPWNvbnRhaW5lciBuZy1zaG93PWVuZHBvaW50cy5sZW5ndGg+IDxkaXYgY2xhc3M9XFxcInJvdyBtb25pdG9yaW5nLWhlYWRcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTAgbm8tc2lkZS1wYWRkaW5nIGxpc3Qtc2VjdGlvblxcXCI+IDxoMT5FbmRwb2ludHMgb3ZlcnZpZXc8L2gxPiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgbm8tc2lkZS1wYWRkaW5nIHRvb2xiYXItbWVudXNcXFwiPiA8ZGl2IGNsYXNzPVxcXCJtc2ctZ3JvdXAtbWVudSBkcm9wZG93blxcXCI+IDxsYWJlbCBjbGFzcz1jb250cm9sLWxhYmVsPlBlcmlvZDo8L2xhYmVsPiA8YnV0dG9uIHR5cGU9YnV0dG9uIGNsYXNzPVxcXCJidG4gYnRuLWRlZmF1bHQgZHJvcGRvd24tdG9nZ2xlIHNwLWJ0bi1tZW51XFxcIiBkYXRhLXRvZ2dsZT1kcm9wZG93biBhcmlhLWhhc3BvcHVwPXRydWUgYXJpYS1leHBhbmRlZD1mYWxzZT4ge3tzZWxlY3RlZFBlcmlvZC50ZXh0fX0gPHNwYW4gY2xhc3M9Y2FyZXQ+PC9zcGFuPiA8L2J1dHRvbj4gPHVsIGNsYXNzPWRyb3Bkb3duLW1lbnU+IDxsaSBuZy1yZXBlYXQ9XFxcInBlcmlvZCBpbiBwZXJpb2RzXFxcIj4gPGEgbmctY2xpY2s9c2VsZWN0UGVyaW9kKHBlcmlvZCkgaHJlZj1cXFwiIy9tb25pdG9yZWRfZW5kcG9pbnRzP2hpc3RvcnlQZXJpb2Q9e3twZXJpb2QudmFsdWV9fVxcXCI+e3twZXJpb2QudGV4dH19PC9hPiA8L2xpPiA8L3VsPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1jb250YWluZXI+IDxzZWN0aW9uIG5nLXNob3c9dHJ1ZT4gPGRpdiBjbGFzcz1cXFwidGV4dC1jZW50ZXIgbW9uaXRvcmluZy1uby1kYXRhXFxcIiBuZy1zaG93PSFlbmRwb2ludHMubGVuZ3RoPiA8aDE+RW5kcG9pbnQgbW9uaXRvcmluZyBub3QgYXZhaWxhYmxlPC9oMT4gPHA+TW9uaXRvcmluZyBpcyBub3QgYXZhaWxhYmxlIGR1ZSB0byBvbmUgb3IgbW9yZSBvZiB0aGVzZSByZWFzb25zOjwvcD4gPHVsPiA8bGk+dGhlIDxzdHJvbmc+bW9uaXRvcmluZyBzZXJ2ZXI8L3N0cm9uZz4gaXMgbm90IGNvbmZpZ3VyZWQgb3IgaXMgdW5hdmFpbGFibGU8L2xpPiA8bGk+dGhlIDxzdHJvbmc+bW9uaXRvcmluZyBwbHVnaW48L3N0cm9uZz4gaXMgbm90IGluc3RhbGxlZCBvbiB0aGUgZW5kcG9pbnRzIHRvIGJlIG1vbml0b3JlZDwvbGk+IDxsaT5lbmRwb2ludHMgd2l0aG91dCB0aGUgbW9uaXRvcmluZyBwbHVnaW4gZG8gbm90IGhhdmUgPHN0cm9uZz5hdWRpdGluZzwvc3Ryb25nPiBlbmFibGVkPC9saT4gPC91bD4gPGRpdiBjbGFzcz1hY3Rpb24tdG9vbGJhcj4gPGEgY2xhc3M9XFxcImJ0biBidG4tZGVmYXVsdCBidG4tcHJpbWFyeVxcXCIgaHJlZj1cXFwiaHR0cHM6Ly9kb2NzLnBhcnRpY3VsYXIubmV0L3NlYXJjaD9xPW1ldHJpY3NcXFwiPkxlYXJuIG1vcmU8L2E+IDwvZGl2PiA8L2Rpdj4gPGRpdiBuZy1zaG93PWVuZHBvaW50cy5sZW5ndGggY2xhc3M9XFxcInJvdyBib3ggYm94LW5vLWNsaWNrIHRhYmxlLWhlYWQtcm93XFxcIj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9Y29sLXNtLTEyPiBFbmRwb2ludCBuYW1lIDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTEyIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxkaXYgY2xhc3M9dG9vbHRpcC10cmlnZ2VyPiBRdWV1ZSBMZW5ndGggPHNwYW4gY2xhc3M9dGFibGUtaGVhZGVyLXVuaXQ+KG1zZ3MpPC9zcGFuPiA8aSBjbGFzcz1cXFwiZmEgZmEtZmxhc2sgZmFrZS1saW5rXFxcIj48L2k+IDxkaXYgY2xhc3M9aW50ZXJhY3RpdmUtdG9vbHRpcD4gPGRpdiBjbGFzcz10b29sdGlwLWNvbnRlbnRzPiA8cD5RdWV1ZSBsZW5ndGg6IFRoZSBlc3RpbWF0ZWQgbnVtYmVyIG9mIG1lc3NhZ2VzIGluIGFuIGVuZHBvaW50J3MgcXVldWUuPC9wPiA8cD5XQVJOSU5HOiBUaGlzIGlzIGFuIGV4cGVyaW1lbnRhbCBmZWF0dXJlLiA8YSBocmVmPVxcXCJodHRwczovL2RvY3MucGFydGljdWxhci5uZXQvc2VhcmNoP3E9bnNlcnZpY2VidXMrcXVldWUrbGVuZ3RoK21ldHJpYyslMmJleHBlcmltZW50YWxcXFwiIHRhcmdldD1fYmxhbms+TGVhcm4gbW9yZTwvYT4gPGkgY2xhc3M9XFxcImZhIGZhLWV4dGVybmFsLWxpbmsgZmFrZS1saW5rXFxcIj48L2k+PC9wPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmdcXFwiIHVpYi10b29sdGlwPVxcXCJUaHJvdWdocHV0OiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHBlciBzZWNvbmQgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCBieSBhIHJlY2VpdmluZyBlbmRwb2ludC5cXFwiPiBUaHJvdWdocHV0IDxzcGFuIGNsYXNzPXRhYmxlLWhlYWRlci11bml0Pihtc2dzL3MpPC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmdcXFwiIHVpYi10b29sdGlwPVxcXCJTY2hlZHVsZWQgcmV0cnkgcmF0ZTogVGhlIG51bWJlciBvZiBtZXNzYWdlcyBwZXIgc2Vjb25kIHNjaGVkdWxlZCBmb3IgcmV0cmllcyAoaW1tZWRpYXRlIG9yIGRlbGF5ZWQpLlxcXCI+IFNjaGVkdWxlZCByZXRyeSByYXRlIDxzcGFuIGNsYXNzPXRhYmxlLWhlYWRlci11bml0Pihtc2dzL3MpPC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmdcXFwiIHVpYi10b29sdGlwPVxcXCJQcm9jZXNzaW5nIHRpbWU6IFRoZSB0aW1lIHRha2VuIGZvciBhIHJlY2VpdmluZyBlbmRwb2ludCB0byBzdWNjZXNzZnVsbHkgcHJvY2VzcyBhIG1lc3NhZ2UuXFxcIj4gUHJvY2Vzc2luZyBUaW1lIDxzcGFuIGNsYXNzPXRhYmxlLWhlYWRlci11bml0Pih0KTwvc3Bhbj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIiB1aWItdG9vbHRpcD1cXFwiQ3JpdGljYWwgdGltZTogVGhlIGVsYXBzZWQgdGltZSBmcm9tIHdoZW4gYSBtZXNzYWdlIHdhcyBzZW50LCB1bnRpbCBpdCB3YXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCBieSBhIHJlY2VpdmluZyBlbmRwb2ludC5cXFwiPiBDcml0aWNhbCBUaW1lIDxzcGFuIGNsYXNzPXRhYmxlLWhlYWRlci11bml0Pih0KTwvc3Bhbj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9cm93PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveCBlbmRwb2ludC1yb3cgYm94LWdyb3VwXFxcIiBuZy1yZXBlYXQ9XFxcImVuZHBvaW50IGluIGVuZHBvaW50c1xcXCIgbmctbW91c2VlbnRlcj1cXFwiZW5kcG9pbnQuaG92ZXIxPXRydWVcXFwiIG5nLW1vdXNlbGVhdmU9XFxcImVuZHBvaW50LmhvdmVyMT1mYWxzZVxcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmdcXFwiPiA8ZGl2IGNsYXNzPXJvdz4gPGEgY2xhc3M9aGFyZC13cmFwIG5nLWNsaWNrPVxcXCJlbmRwb2ludC5pc0V4cGFuZGVkID0gIWVuZHBvaW50LmlzRXhwYW5kZWRcXFwiIG5nLWhyZWY9e3tnZXREZXRhaWxzVXJsKGVuZHBvaW50KX19PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtNyBlbmRwb2ludC1uYW1lIG5hbWUtb3ZlcnZpZXdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1sZy1tYXgtOCBuby1zaWRlLXBhZGRpbmcgbGVhZFxcXCI+IHt7ZW5kcG9pbnQubmFtZX19IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtbGctNSBuby1zaWRlLXBhZGRpbmcgZW5kcG9pbnQtc3RhdHVzXFxcIj4gPHNwYW4gY2xhc3M9d2FybmluZyBuZy1pZj1lbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZD4gPGkgY2xhc3M9XFxcImZhIHBhLW1vbml0b3JpbmctbG9zdCBlbmRwb2ludHMtb3ZlcnZpZXdcXFwiIHVpYi10b29sdGlwPVxcXCJVbmFibGUgdG8gY29ubmVjdCB0byBtb25pdG9yaW5nIHNlcnZlclxcXCI+PC9pPiA8L3NwYW4+IDxzcGFuIGNsYXNzPXdhcm5pbmcgbmctaWY9ZW5kcG9pbnQuaXNTdGFsZT4gPGkgY2xhc3M9XFxcImZhIHBhLWVuZHBvaW50LWxvc3QgZW5kcG9pbnRzLW92ZXJ2aWV3XFxcIiB1aWItdG9vbHRpcD1cXFwiVW5hYmxlIHRvIGNvbm5lY3QgdG8gaW5zdGFuY2VcXFwiPjwvaT4gPC9zcGFuPiA8c3BhbiBjbGFzcz13YXJuaW5nIG5nLWlmPWVuZHBvaW50LmVycm9yQ291bnQ+IDxhIG5nLWlmPWVuZHBvaW50LmVycm9yQ291bnQgY2xhc3M9XFxcIndhcm5pbmcgYnRuXFxcIiBocmVmPSMvZmFpbGVkLW1lc3NhZ2VzL2dyb3Vwcy97e2VuZHBvaW50LnNlcnZpY2VDb250cm9sSWR9fT4gPGkgY2xhc3M9XFxcImZhIGZhLWVudmVsb3BlXFxcIj48L2k+IDxzcGFuIGNsYXNzPVxcXCJiYWRnZSBiYWRnZS1pbXBvcnRhbnQgbmctYmluZGluZ1xcXCI+e3tlbmRwb2ludC5lcnJvckNvdW50IHwgbWV0cmljc2xhcmdlbnVtYmVyfX08L3NwYW4+IDwvYT4gPC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiIG5nLWlmPWVuZHBvaW50LmlzQ29ubmVjdGVkPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9bm8tc2lkZS1wYWRkaW5nPiA8Z3JhcGggcGxvdC1kYXRhPWVuZHBvaW50Lm1ldHJpY3MucXVldWVMZW5ndGggbWluaW11bS15YXhpcz17e3NtYWxsR3JhcGhzTWluaW11bVlBeGlzLnF1ZXVlTGVuZ3RofX0gY2xhc3M9XFxcImdyYXBoIHF1ZXVlLWxlbmd0aCBwdWxsLWxlZnRcXFwiPjwvZ3JhcGg+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJuby1zaWRlLXBhZGRpbmcgc3BhcmtsaW5lLXZhbHVlXFxcIj4ge3soZW5kcG9pbnQuaXNTdGFsZSA9PSB0cnVlIHx8IGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkID09IHRydWUpID8gXFxcIlxcXCIgOiBlbmRwb2ludC5tZXRyaWNzLnF1ZXVlTGVuZ3RoLmRpc3BsYXlWYWx1ZX19IDxzdHJvbmcgbmctaWY9XFxcImVuZHBvaW50LmlzU3RhbGUgfHwgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWRcXFwiPj88L3N0cm9uZz4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIiBuZy1pZj1lbmRwb2ludC5pc0Nvbm5lY3RlZD4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPW5vLXNpZGUtcGFkZGluZz4gPGdyYXBoIHBsb3QtZGF0YT1lbmRwb2ludC5tZXRyaWNzLnRocm91Z2hwdXQgbWluaW11bS15YXhpcz17e3NtYWxsR3JhcGhzTWluaW11bVlBeGlzLnRocm91Z2hwdXR9fSBjbGFzcz1cXFwiZ3JhcGggdGhyb3VnaHB1dCBwdWxsLWxlZnRcXFwiPjwvZ3JhcGg+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJuby1zaWRlLXBhZGRpbmcgc3BhcmtsaW5lLXZhbHVlXFxcIj4ge3soZW5kcG9pbnQuaXNTdGFsZSA9PSB0cnVlIHx8IGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkID09IHRydWUpID8gXFxcIlxcXCIgOiBlbmRwb2ludC5tZXRyaWNzLnRocm91Z2hwdXQuZGlzcGxheVZhbHVlfX0gPHN0cm9uZyBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSB8fCBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZFxcXCI+Pzwvc3Ryb25nPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiIG5nLWlmPWVuZHBvaW50LmlzQ29ubmVjdGVkPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9bm8tc2lkZS1wYWRkaW5nPiA8Z3JhcGggcGxvdC1kYXRhPWVuZHBvaW50Lm1ldHJpY3MucmV0cmllcyBtaW5pbXVtLXlheGlzPXt7c21hbGxHcmFwaHNNaW5pbXVtWUF4aXMucmV0cmllc319IGNsYXNzPVxcXCJncmFwaCByZXRyaWVzIHB1bGwtbGVmdFxcXCI+PC9ncmFwaD4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcIm5vLXNpZGUtcGFkZGluZyBzcGFya2xpbmUtdmFsdWVcXFwiPiB7eyhlbmRwb2ludC5pc1N0YWxlID09IHRydWUgfHwgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gdHJ1ZSkgPyBcXFwiXFxcIiA6IGVuZHBvaW50Lm1ldHJpY3MucmV0cmllcy5kaXNwbGF5VmFsdWV9fSA8c3Ryb25nIG5nLWlmPVxcXCJlbmRwb2ludC5pc1N0YWxlIHx8IGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkXFxcIj4/PC9zdHJvbmc+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCIgbmctaWY9ZW5kcG9pbnQuaXNDb25uZWN0ZWQ+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1uby1zaWRlLXBhZGRpbmc+IDxncmFwaCBwbG90LWRhdGE9ZW5kcG9pbnQubWV0cmljcy5wcm9jZXNzaW5nVGltZSBtaW5pbXVtLXlheGlzPXt7c21hbGxHcmFwaHNNaW5pbXVtWUF4aXMucHJvY2Vzc2luZ1RpbWV9fSBjbGFzcz1cXFwiZ3JhcGggcHJvY2Vzc2luZy10aW1lIHB1bGwtbGVmdFxcXCI+PC9ncmFwaD4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcIm5vLXNpZGUtcGFkZGluZyBzcGFya2xpbmUtdmFsdWVcXFwiPiB7eyhlbmRwb2ludC5pc1N0YWxlID09IHRydWUgfHwgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gdHJ1ZSkgPyBcXFwiXFxcIiA6IGVuZHBvaW50Lm1ldHJpY3MucHJvY2Vzc2luZ1RpbWUuZGlzcGxheVZhbHVlLnZhbHVlfX0gPHN0cm9uZyBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSB8fCBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZFxcXCI+Pzwvc3Ryb25nPiA8c3BhbiBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSA9PSBmYWxzZSAmJiBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZCA9PSBmYWxzZVxcXCI+IHt7ZW5kcG9pbnQubWV0cmljcy5wcm9jZXNzaW5nVGltZS5kaXNwbGF5VmFsdWUudW5pdH19PC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiIG5nLWlmPWVuZHBvaW50LmlzQ29ubmVjdGVkPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9bm8tc2lkZS1wYWRkaW5nPiA8Z3JhcGggcGxvdC1kYXRhPWVuZHBvaW50Lm1ldHJpY3MuY3JpdGljYWxUaW1lIG1pbmltdW0teWF4aXM9e3tzbWFsbEdyYXBoc01pbmltdW1ZQXhpcy5jcml0aWNhbFRpbWV9fSBjbGFzcz1cXFwiZ3JhcGggY3JpdGljYWwtdGltZSBwdWxsLWxlZnRcXFwiPjwvZ3JhcGg+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJuby1zaWRlLXBhZGRpbmcgc3BhcmtsaW5lLXZhbHVlXFxcIj4ge3soZW5kcG9pbnQuaXNTdGFsZSA9PSB0cnVlIHx8IGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkID09IHRydWUpID8gXFxcIlxcXCIgOiBlbmRwb2ludC5tZXRyaWNzLmNyaXRpY2FsVGltZS5kaXNwbGF5VmFsdWUudmFsdWV9fSA8c3Ryb25nIG5nLWlmPVxcXCJlbmRwb2ludC5pc1N0YWxlIHx8IGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkXFxcIj4/PC9zdHJvbmc+IDxzcGFuIG5nLWlmPVxcXCJlbmRwb2ludC5pc1N0YWxlID09IGZhbHNlICYmIGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkID09IGZhbHNlXFxcIj4ge3tlbmRwb2ludC5tZXRyaWNzLmNyaXRpY2FsVGltZS5kaXNwbGF5VmFsdWUudW5pdH19PC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiIG5nLWlmPSFlbmRwb2ludC5pc0Nvbm5lY3RlZD4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiBObyBwbHVnLWlucyBpbnN0YWxsZWQuIDwvZGl2PiA8L2Rpdj4gPC9hPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvc2VjdGlvbj4gPC9kaXY+IFwiO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vYXBwL21vZHVsZXMvbW9uaXRvcmluZy92aWV3cy9tb25pdG9yZWRfZW5kcG9pbnRzLmh0bWxcbi8vIG1vZHVsZSBpZCA9IDU5XG4vLyBtb2R1bGUgY2h1bmtzID0gMSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///59\n"); /***/ }), -/* 5 */ + +/***/ 6: /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n angular.module('monitored_endpoints', []);\n\n __webpack_require__(6);\n __webpack_require__(7);\n __webpack_require__(8);\n\n __webpack_require__(0);\n __webpack_require__(1);\n __webpack_require__(2);\n __webpack_require__(3);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL21vbml0b3JlZF9lbmRwb2ludHMubW9kdWxlLmpzPzA3YmQiXSwibmFtZXMiOlsid2luZG93IiwiYW5ndWxhciIsInVuZGVmaW5lZCIsIm1vZHVsZSIsInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7O0FBQUMsV0FBVUEsTUFBVixFQUFrQkMsT0FBbEIsRUFBMkJDLFNBQTNCLEVBQXNDO0FBQ25DOztBQUNBRCxZQUFRRSxNQUFSLENBQWUscUJBQWYsRUFBc0MsRUFBdEM7O0FBRUFDLElBQUEsbUJBQUFBLENBQVEsQ0FBUjtBQUNBQSxJQUFBLG1CQUFBQSxDQUFRLENBQVI7QUFDQUEsSUFBQSxtQkFBQUEsQ0FBUSxDQUFSOztBQUVBQSxJQUFBLG1CQUFBQSxDQUFRLENBQVI7QUFDQUEsSUFBQSxtQkFBQUEsQ0FBUSxDQUFSO0FBQ0FBLElBQUEsbUJBQUFBLENBQVEsQ0FBUjtBQUNBQSxJQUFBLG1CQUFBQSxDQUFRLENBQVI7QUFDSCxDQVpBLEVBWUNKLE1BWkQsRUFZU0EsT0FBT0MsT0FaaEIsQ0FBRCIsImZpbGUiOiI1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICh3aW5kb3csIGFuZ3VsYXIsIHVuZGVmaW5lZCkge1xyXG4gICAgJ3VzZSBzdHJpY3QnO1xyXG4gICAgYW5ndWxhci5tb2R1bGUoJ21vbml0b3JlZF9lbmRwb2ludHMnLCBbXSk7XHJcblxyXG4gICAgcmVxdWlyZSgnLi9zZXJ2aWNlcy9zZXJ2aWNlcy5tb25pdG9yaW5nJyk7XHJcbiAgICByZXF1aXJlKCcuL21vbml0b3JlZF9lbmRwb2ludHMuY29udHJvbGxlcicpO1xyXG4gICAgcmVxdWlyZSgnLi9tb25pdG9yZWRfZW5kcG9pbnRzLnJvdXRlLmpzJyk7XHJcblxyXG4gICAgcmVxdWlyZSgnLi9kaXJlY3RpdmVzL3VpLnBhcnRpY3VsYXIuZ3JhcGguanMnKTtcclxuICAgIHJlcXVpcmUoJy4vZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmdyYXBoZGVjaW1hbC5qcycpO1xyXG4gICAgcmVxdWlyZSgnLi9kaXJlY3RpdmVzL3VpLnBhcnRpY3VsYXIuZ3JhcGhkdXJhdGlvbi5qcycpO1xyXG4gICAgcmVxdWlyZSgnLi9kaXJlY3RpdmVzL3VpLnBhcnRpY3VsYXIubWV0cmljc2xhcmdlbnVtYmVyLmpzJyk7XHJcbn0od2luZG93LCB3aW5kb3cuYW5ndWxhcikpO1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2FwcC9tb2R1bGVzL21vbml0b3JpbmcvanMvbW9uaXRvcmVkX2VuZHBvaW50cy5tb2R1bGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///5\n"); +eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n angular.module('ui.particular.graph', []).directive('graph', function () {\n return {\n restrict: 'E',\n scope: {\n plotData: '&',\n formatter: '&',\n minimumYaxis: '@'\n },\n template: '',\n link: function link(scope, element, attrs) {\n scope.plotData = scope.plotData() || { points: [], average: 0 };\n\n var svg = element.find('svg')[0];\n\n var width = svg.clientWidth;\n var height = svg.clientHeight;\n\n //HINT: This is workaround for Firefox\n if (width === 0) {\n var box = svg.getBoundingClientRect();\n\n width = box.right - box.left;\n height = box.bottom - box.top;\n }\n\n var verticalMargin = 6;\n var horizontalMargin = 2;\n\n var points = scope.plotData.points;\n var average = scope.plotData.average || 0;\n var minimumYaxis = !isNaN(scope.minimumYaxis) ? Number(scope.minimumYaxis) : 10;\n var max = points && points.length ? Math.max(average * 1.5, d3.max(points), minimumYaxis) : 1;\n var numberOfPoints = points && points.length ? points.length : 2;\n\n var scaleY = d3.scaleLinear().domain([0, max]).range([height - verticalMargin, verticalMargin]);\n\n var scaleX = d3.scaleLinear().domain([0, numberOfPoints - 1]).range([horizontalMargin, width - horizontalMargin]);\n\n var area = d3.area().x(function (d, i) {\n return scaleX(i);\n }).y(function (d, i) {\n return scaleY(d);\n }).y1(function (d) {\n return scaleY(0);\n }).curve(d3.curveLinear);\n\n var line = d3.line().x(function (d, i) {\n return scaleX(i);\n }).y(function (d, i) {\n return scaleY(d);\n }).curve(d3.curveLinear);\n\n var chart = d3.select(svg).attr('width', width).attr('height', height);\n\n chart.append('rect').attr('width', width - 2 * horizontalMargin).attr('height', height - 2 * verticalMargin).attr('transform', 'translate(' + horizontalMargin + ',' + verticalMargin + ')').attr('fill', '#F2F6F7');\n\n if (points) {\n chart.append('path').datum(points).attr('d', area).attr('class', 'graph-data-fill');\n\n chart.append('path').datum(points).attr('d', line).attr('class', 'graph-data-line');\n }\n\n chart.append('path').datum(Array(numberOfPoints).fill(average)).attr('d', line).attr('class', 'graph-avg-line');\n }\n };\n });\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5ncmFwaC5qcz9jMWI4Il0sIm5hbWVzIjpbIndpbmRvdyIsImFuZ3VsYXIiLCJ1bmRlZmluZWQiLCJtb2R1bGUiLCJkaXJlY3RpdmUiLCJyZXN0cmljdCIsInNjb3BlIiwicGxvdERhdGEiLCJmb3JtYXR0ZXIiLCJtaW5pbXVtWWF4aXMiLCJ0ZW1wbGF0ZSIsImxpbmsiLCJlbGVtZW50IiwiYXR0cnMiLCJwb2ludHMiLCJhdmVyYWdlIiwic3ZnIiwiZmluZCIsIndpZHRoIiwiY2xpZW50V2lkdGgiLCJoZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJib3giLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJyaWdodCIsImxlZnQiLCJib3R0b20iLCJ0b3AiLCJ2ZXJ0aWNhbE1hcmdpbiIsImhvcml6b250YWxNYXJnaW4iLCJpc05hTiIsIk51bWJlciIsIm1heCIsImxlbmd0aCIsIk1hdGgiLCJkMyIsIm51bWJlck9mUG9pbnRzIiwic2NhbGVZIiwic2NhbGVMaW5lYXIiLCJkb21haW4iLCJyYW5nZSIsInNjYWxlWCIsImFyZWEiLCJ4IiwiZCIsImkiLCJ5IiwieTEiLCJjdXJ2ZSIsImN1cnZlTGluZWFyIiwibGluZSIsImNoYXJ0Iiwic2VsZWN0IiwiYXR0ciIsImFwcGVuZCIsImRhdHVtIiwiQXJyYXkiLCJmaWxsIl0sIm1hcHBpbmdzIjoiOztBQUFDLFdBQVNBLE1BQVQsRUFBaUJDLE9BQWpCLEVBQTBCQyxTQUExQixFQUFxQztBQUNsQzs7QUFFQUQsWUFBUUUsTUFBUixDQUFlLHFCQUFmLEVBQXNDLEVBQXRDLEVBQ0tDLFNBREwsQ0FDZSxPQURmLEVBRVEsWUFBVztBQUNQLGVBQU87QUFDSEMsc0JBQVUsR0FEUDtBQUVIQyxtQkFBTztBQUNIQywwQkFBVSxHQURQO0FBRUhDLDJCQUFXLEdBRlI7QUFHSEMsOEJBQWM7QUFIWCxhQUZKO0FBT0hDLHNC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Wjs7QUFJQStCLHNCQUFNRyxNQUFOLENBQWEsTUFBYixFQUNLRCxJQURMLENBQ1UsT0FEVixFQUNtQm5DLFFBQVEsSUFBSVcsZ0JBRC9CLEVBRUt3QixJQUZMLENBRVUsUUFGVixFQUVvQmpDLFNBQVMsSUFBSVEsY0FGakMsRUFHS3lCLElBSEwsQ0FHVSxXQUhWLEVBR3VCLGVBQWV4QixnQkFBZixHQUFrQyxHQUFsQyxHQUF3Q0QsY0FBeEMsR0FBeUQsR0FIaEYsRUFJS3lCLElBSkwsQ0FJVSxNQUpWLEVBSWtCLFNBSmxCOztBQU1BLG9CQUFJdkMsTUFBSixFQUFZO0FBQ1JxQywwQkFBTUcsTUFBTixDQUFhLE1BQWIsRUFDS0MsS0FETCxDQUNXekMsTUFEWCxFQUVLdUMsSUFGTCxDQUVVLEdBRlYsRUFFZVgsSUFGZixFQUdLVyxJQUhMLENBR1UsT0FIVixFQUdtQixpQkFIbkI7O0FBTUFGLDBCQUFNRyxNQUFOLENBQWEsTUFBYixFQUNLQyxLQURMLENBQ1d6QyxNQURYLEVBRUt1QyxJQUZMLENBRVUsR0FGVixFQUVlSCxJQUZmLEVBR0tHLElBSEwsQ0FHVSxPQUhWLEVBR21CLGlCQUhuQjtBQUlIOztBQUVERixzQkFBTUcsTUFBTixDQUFhLE1BQWIsRUFDS0MsS0FETCxDQUNXQyxNQUFNcEIsY0FBTixFQUFzQnFCLElBQXRCLENBQTJCMUMsT0FBM0IsQ0FEWCxFQUVLc0MsSUFGTCxDQUVVLEdBRlYsRUFFZUgsSUFGZixFQUdLRyxJQUhMLENBR1UsT0FIVixFQUdtQixnQkFIbkI7QUFJSDtBQXJGRSxTQUFQO0FBdUZILEtBMUZUO0FBNEZILENBL0ZBLEVBK0ZDckQsTUEvRkQsRUErRlNBLE9BQU9DLE9BL0ZoQixDQUFEIiwiZmlsZSI6IjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24od2luZG93LCBhbmd1bGFyLCB1bmRlZmluZWQpIHtcclxuICAgICd1c2Ugc3RyaWN0JztcclxuXHJcbiAgICBhbmd1bGFyLm1vZHVsZSgndWkucGFydGljdWxhci5ncmFwaCcsIFtdKVxyXG4gICAgICAgIC5kaXJlY3RpdmUoJ2dyYXBoJyxcclxuICAgICAgICAgICAgZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3RyaWN0OiAnRScsXHJcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxvdERhdGE6ICcmJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVyOiAnJicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1ZYXhpczogJ0AnXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogJzxzdmc+PC9zdmc+JyxcclxuICAgICAgICAgICAgICAgICAgICBsaW5rOiBmdW5jdGlvbiBsaW5rKHNjb3BlLCBlbGVtZW50LCBhdHRycykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5wbG90RGF0YSA9IHNjb3BlLnBsb3REYXRhKCkgfHwgeyBwb2ludHM6IFtdLCBhdmVyYWdlOiAwIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3ZnID0gZWxlbWVudC5maW5kKCdzdmcnKVswXTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB3aWR0aCA9IHN2Zy5jbGllbnRXaWR0aDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhlaWdodCA9IHN2Zy5jbGllbnRIZWlnaHQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL0hJTlQ6IFRoaXMgaXMgd29ya2Fyb3VuZCBmb3IgRmlyZWZveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAod2lkdGggPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBib3ggPSBzdmcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggPSBib3gucmlnaHQgLSBib3gubGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCA9IGJveC5ib3R0b20gLSBib3gudG9wO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmVydGljYWxNYXJnaW4gPSA2O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaG9yaXpvbnRhbE1hcmdpbiA9IDI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcG9pbnRzID0gc2NvcGUucGxvdERhdGEucG9pbnRzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYXZlcmFnZSA9IHNjb3BlLnBsb3REYXRhLmF2ZXJhZ2UgfHwgMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbmltdW1ZYXhpcyA9ICFpc05hTihzY29wZS5taW5pbXVtWWF4aXMpID8gTnVtYmVyKHNjb3BlLm1pbmltdW1ZYXhpcykgOiAxMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1heCA9IHBvaW50cyAmJiBwb2ludHMubGVuZ3RoID8gTWF0aC5tYXgoYXZlcmFnZSAqIDEuNSwgZDMubWF4KHBvaW50cyksIG1pbmltdW1ZYXhpcykgOiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbnVtYmVyT2ZQb2ludHMgPSBwb2ludHMgJiYgcG9pbnRzLmxlbmd0aCA/IHBvaW50cy5sZW5ndGggOiAyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNjYWxlWSA9IGQzLnNjYWxlTGluZWFyKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kb21haW4oWzAsIG1heF0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmFuZ2UoW2hlaWdodCAtIHZlcnRpY2FsTWFyZ2luLCB2ZXJ0aWNhbE1hcmdpbl0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNjYWxlWCA9IGQzLnNjYWxlTGluZWFyKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kb21haW4oWzAsIG51bWJlck9mUG9pbnRzIC0gMV0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmFuZ2UoW2hvcml6b250YWxNYXJnaW4sIHdpZHRoIC0gaG9yaXpvbnRhbE1hcmdpbl0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGFyZWEgPSBkMy5hcmVhKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC54KGZ1bmN0aW9uIChkLCBpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNjYWxlWChpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAueShmdW5jdGlvbiAoZCwgaSkgeyByZXR1cm4gc2NhbGVZKGQpOyB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnkxKGZ1bmN0aW9uIChkKSB7IHJldHVybiBzY2FsZVkoMCk7IH0pIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmN1cnZlKGQzLmN1cnZlTGluZWFyKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaW5lID0gZDMubGluZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAueChmdW5jdGlvbiAoZCwgaSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzY2FsZVgoaSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnkoZnVuY3Rpb24oZCwgaSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzY2FsZVkoZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmN1cnZlKGQzLmN1cnZlTGluZWFyKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjaGFydCA9IGQzLnNlbGVjdChzdmcpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignd2lkdGgnLCB3aWR0aClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCdoZWlnaHQnLCBoZWlnaHQpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hhcnQuYXBwZW5kKCdyZWN0JylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCd3aWR0aCcsIHdpZHRoIC0gMiAqIGhvcml6b250YWxNYXJnaW4pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignaGVpZ2h0JywgaGVpZ2h0IC0gMiAqIHZlcnRpY2FsTWFyZ2luKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoJyArIGhvcml6b250YWxNYXJnaW4gKyAnLCcgKyB2ZXJ0aWNhbE1hcmdpbiArICcpJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCdmaWxsJywgJyNGMkY2RjcnKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwb2ludHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJ0LmFwcGVuZCgncGF0aCcpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRhdHVtKHBvaW50cylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignZCcsIGFyZWEpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ2NsYXNzJywgJ2dyYXBoLWRhdGEtZmlsbCcpO1xyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFydC5hcHBlbmQoJ3BhdGgnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kYXR1bShwb2ludHMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ2QnLCBsaW5lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCdjbGFzcycsICdncmFwaC1kYXRhLWxpbmUnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hhcnQuYXBwZW5kKCdwYXRoJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kYXR1bShBcnJheShudW1iZXJPZlBvaW50cykuZmlsbChhdmVyYWdlKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCdkJywgbGluZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCdjbGFzcycsICdncmFwaC1hdmctbGluZScpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxufSh3aW5kb3csIHdpbmRvdy5hbmd1bGFyKSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXBwL21vZHVsZXMvbW9uaXRvcmluZy9qcy9kaXJlY3RpdmVzL3VpLnBhcnRpY3VsYXIuZ3JhcGguanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///6\n"); /***/ }), -/* 6 */ + +/***/ 60: /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n;\n(function (window, angular, $, undefined) {\n 'use strict';\n\n function Service($http, rx, scConfig, uri, $q) {\n\n function createEndpointsSource(historyPeriod, refreshInterval) {\n return Rx.Observable.interval(refreshInterval).startWith(0).flatMap(function (i) {\n return Rx.Observable.fromArray(loadEndpointDataFromMonitoringService(historyPeriod)).flatMap(function (p) {\n var o = Rx.Observable.fromPromise(p);\n o = o.catch(Rx.Observable.empty());\n return o;\n });\n }).selectMany(function (endpoints) {\n return endpoints;\n });\n }\n\n function loadEndpointDataFromMonitoringService(historyPeriod) {\n return scConfig.monitoring_urls.map(function (url) {\n return $http.get(uri.join(url, 'monitored-endpoints') + '?history=' + historyPeriod).then(function (result) {\n var sourceIndex = scConfig.monitoring_urls.indexOf(url);\n\n result.data.forEach(function (endpoint) {\n endpoint.sourceIndex = sourceIndex;\n });\n\n return result.data;\n });\n });\n }\n\n function loadEndpointDetailsFromMonitoringService(endpointName, sourceIndex, historyPeriod) {\n return $http.get(uri.join(scConfig.monitoring_urls[sourceIndex], 'monitored-endpoints', endpointName) + \"?history=\" + historyPeriod).then(function (result) {\n return result.data;\n }, function (error) {\n return { error: error };\n });\n }\n\n function createEndpointDetailsSource(endpointName, sourceIndex, historyPeriod, refreshInterval) {\n return Rx.Observable.interval(refreshInterval).startWith(0).flatMap(function (i) {\n return Rx.Observable.fromPromise(loadEndpointDetailsFromMonitoringService(endpointName, sourceIndex, historyPeriod));\n });\n }\n\n var service = {\n createEndpointsSource: createEndpointsSource,\n createEndpointDetailsSource: createEndpointDetailsSource\n };\n\n return service;\n }\n\n Service.$inject = ['$http', 'rx', 'scConfig', 'uri', '$q'];\n\n angular.module('services.monitoringService', ['sc']).service('monitoringService', Service);\n})(window, window.angular, window.jQuery);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL3NlcnZpY2VzL3NlcnZpY2VzLm1vbml0b3JpbmcuanM/ZmE2NSJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJhbmd1bGFyIiwiJCIsInVuZGVmaW5lZCIsIlNlcnZpY2UiLCIkaHR0cCIsInJ4Iiwic2NDb25maWciLCJ1cmkiLCIkcSIsImNyZWF0ZUVuZHBvaW50c1NvdXJjZSIsImhpc3RvcnlQZXJpb2QiLCJyZWZyZXNoSW50ZXJ2YWwiLCJSeCIsIk9ic2VydmFibGUiLCJpbnRlcnZhbCIsInN0YXJ0V2l0aCIsImZsYXRNYXAiLCJpIiwiZnJvbUFycmF5IiwibG9hZEVuZHBvaW50RGF0YUZyb21Nb25pdG9yaW5nU2VydmljZSIsInAiLCJvIiwiZnJvbVByb21pc2UiLCJjYXRjaCIsImVtcHR5Iiwic2VsZWN0TWFueSIsImVuZHBvaW50cyIsIm1vbml0b3JpbmdfdXJscyIsIm1hcCIsInVybCIsImdldCIsImpvaW4iLCJ0aGVuIiwicmVzdWx0Iiwic291cmNlSW5kZXgiLCJpbmRleE9mIiwiZGF0YSIsImZvckVhY2giLCJlbmRwb2ludCIsImxvYWRFbmRwb2ludERldGFpbHNGcm9tTW9uaXRvcmluZ1NlcnZpY2UiLCJlbmRwb2ludE5hbWUiLCJlcnJvciIsImNyZWF0ZUVuZHBvaW50RGV0YWlsc1NvdXJjZSIsInNlcnZpY2UiLCIkaW5qZWN0IiwibW9kdWxlIiwialF1ZXJ5Il0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0MsV0FBVUEsTUFBVixFQUFrQkMsT0FBbEIsRUFBMkJDLENBQTNCLEVBQThCQyxTQUE5QixFQUF5QztBQUN0Qzs7QUFFQSxhQUFTQyxPQUFULENBQWlCQyxLQUFqQixFQUF3QkMsRUFBeEIsRUFBNEJDLFFBQTVCLEVBQXNDQyxHQUF0QyxFQUEyQ0MsRUFBM0MsRUFBK0M7O0FBRTNDLGlCQUFTQyxxQkFBVCxDQUErQkMsYUFBL0IsRUFBOENDLGVBQTlDLEVBQStEO0FBQzNELG1C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QThEU0EsT0FBT0MsT0E5RGhCLEVBOER5QkQsT0FBTytDLE1BOURoQyxDQUFEIiwiZmlsZSI6IjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI7XHJcbihmdW5jdGlvbiAod2luZG93LCBhbmd1bGFyLCAkLCB1bmRlZmluZWQpIHtcclxuICAgICd1c2Ugc3RyaWN0JztcclxuXHJcbiAgICBmdW5jdGlvbiBTZXJ2aWNlKCRodHRwLCByeCwgc2NDb25maWcsIHVyaSwgJHEpIHtcclxuXHJcbiAgICAgICAgZnVuY3Rpb24gY3JlYXRlRW5kcG9pbnRzU291cmNlKGhpc3RvcnlQZXJpb2QsIHJlZnJlc2hJbnRlcnZhbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gUnguT2JzZXJ2YWJsZS5pbnRlcnZhbChyZWZyZXNoSW50ZXJ2YWwpLnN0YXJ0V2l0aCgwKVxyXG4gICAgICAgICAgICAgICAgLmZsYXRNYXAoZnVuY3Rpb24gKGkpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUnguT2JzZXJ2YWJsZS5mcm9tQXJyYXkobG9hZEVuZHBvaW50RGF0YUZyb21Nb25pdG9yaW5nU2VydmljZShoaXN0b3J5UGVyaW9kKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmZsYXRNYXAoZnVuY3Rpb24gKHApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBvID0gUnguT2JzZXJ2YWJsZS5mcm9tUHJvbWlzZShwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8gPSBvLmNhdGNoKFJ4Lk9ic2VydmFibGUuZW1wdHkoKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9KS5zZWxlY3RNYW55KGZ1bmN0aW9uIChlbmRwb2ludHMpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW5kcG9pbnRzO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmdW5jdGlvbiBsb2FkRW5kcG9pbnREYXRhRnJvbU1vbml0b3JpbmdTZXJ2aWNlKGhpc3RvcnlQZXJpb2QpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHNjQ29uZmlnLm1vbml0b3JpbmdfdXJscy5tYXAoZnVuY3Rpb24gKHVybCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICRodHRwLmdldCh1cmkuam9pbih1cmwsICdtb25pdG9yZWQtZW5kcG9pbnRzJykgKyAnP2hpc3Rvcnk9JyArIGhpc3RvcnlQZXJpb2QpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgc291cmNlSW5kZXggPSBzY0NvbmZpZy5tb25pdG9yaW5nX3VybHMuaW5kZXhPZih1cmwpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmRhdGEuZm9yRWFjaChmdW5jdGlvbiAoZW5kcG9pbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50LnNvdXJjZUluZGV4ID0gc291cmNlSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5kYXRhO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZ1bmN0aW9uIGxvYWRFbmRwb2ludERldGFpbHNGcm9tTW9uaXRvcmluZ1NlcnZpY2UoZW5kcG9pbnROYW1lLCBzb3VyY2VJbmRleCwgaGlzdG9yeVBlcmlvZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gJGh0dHAuZ2V0KHVyaS5qb2luKHNjQ29uZmlnLm1vbml0b3JpbmdfdXJsc1tzb3VyY2VJbmRleF0sICdtb25pdG9yZWQtZW5kcG9pbnRzJywgZW5kcG9pbnROYW1lKSArIFwiP2hpc3Rvcnk9XCIgKyBoaXN0b3J5UGVyaW9kKVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuZGF0YTtcclxuICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGVycm9yOiBlcnJvciB9O1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmdW5jdGlvbiBjcmVhdGVFbmRwb2ludERldGFpbHNTb3VyY2UoZW5kcG9pbnROYW1lLCBzb3VyY2VJbmRleCwgaGlzdG9yeVBlcmlvZCwgcmVmcmVzaEludGVydmFsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBSeC5PYnNlcnZhYmxlLmludGVydmFsKHJlZnJlc2hJbnRlcnZhbCkuc3RhcnRXaXRoKDApXHJcbiAgICAgICAgICAgICAgICAuZmxhdE1hcChmdW5jdGlvbiAoaSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBSeC5PYnNlcnZhYmxlLmZyb21Qcm9taXNlKGxvYWRFbmRwb2ludERldGFpbHNGcm9tTW9uaXRvcmluZ1NlcnZpY2UoZW5kcG9pbnROYW1lLCBzb3VyY2VJbmRleCwgaGlzdG9yeVBlcmlvZCkpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgc2VydmljZSA9IHtcclxuICAgICAgICAgICAgY3JlYXRlRW5kcG9pbnRzU291cmNlOiBjcmVhdGVFbmRwb2ludHNTb3VyY2UsXHJcbiAgICAgICAgICAgIGNyZWF0ZUVuZHBvaW50RGV0YWlsc1NvdXJjZTogY3JlYXRlRW5kcG9pbnREZXRhaWxzU291cmNlXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNlcnZpY2U7XHJcbiAgICB9XHJcblxyXG4gICAgU2VydmljZS4kaW5qZWN0ID0gWyckaHR0cCcsICdyeCcsICdzY0NvbmZpZycsICd1cmknLCAnJHEnXTtcclxuXHJcbiAgICBhbmd1bGFyLm1vZHVsZSgnc2VydmljZXMubW9uaXRvcmluZ1NlcnZpY2UnLCBbJ3NjJ10pXHJcbiAgICAgICAgLnNlcnZpY2UoJ21vbml0b3JpbmdTZXJ2aWNlJywgU2VydmljZSk7XHJcbn0od2luZG93LCB3aW5kb3cuYW5ndWxhciwgd2luZG93LmpRdWVyeSkpO1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2FwcC9tb2R1bGVzL21vbml0b3JpbmcvanMvc2VydmljZXMvc2VydmljZXMubW9uaXRvcmluZy5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///6\n"); +eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n angular.module('endpoint_details', []);\n\n __webpack_require__(78);\n __webpack_require__(61);\n __webpack_require__(62);\n __webpack_require__(5);\n\n __webpack_require__(6);\n __webpack_require__(7);\n __webpack_require__(64);\n __webpack_require__(8);\n __webpack_require__(65);\n __webpack_require__(9);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2VuZHBvaW50X2RldGFpbHMubW9kdWxlLmpzPzRmMGIiXSwibmFtZXMiOlsid2luZG93IiwiYW5ndWxhciIsInVuZGVmaW5lZCIsIm1vZHVsZSIsInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7O0FBQUMsV0FBU0EsTUFBVCxFQUFpQkMsT0FBakIsRUFBMEJDLFNBQTFCLEVBQXFDO0FBQ2xDOztBQUVBRCxZQUFRRSxNQUFSLENBQWUsa0JBQWYsRUFBbUMsRUFBbkM7O0FBRUFDLElBQUEsbUJBQUFBLENBQVEsRUFBUjtBQUNBQSxJQUFBLG1CQUFBQSxDQUFRLEVBQVI7QUFDQUEsSUFBQSxtQkFBQUEsQ0FBUSxFQUFSO0FBQ0FBLElBQUEsbUJBQUFBLENBQVEsQ0FBUjs7QUFFQUEsSUFBQSxtQkFBQUEsQ0FBUSxDQUFSO0FBQ0FBLElBQUEsbUJBQUFBLENBQVEsQ0FBUjtBQUNBQSxJQUFBLG1CQUFBQSxDQUFRLEVBQVI7QUFDQUEsSUFBQSxtQkFBQUEsQ0FBUSxDQUFSO0FBQ0FBLElBQUEsbUJBQUFBLENBQVEsRUFBUjtBQUNBQSxJQUFBLG1CQUFBQSxDQUFRLENBQVI7QUFDSCxDQWhCQSxFQWdCQ0osTUFoQkQsRUFnQlNBLE9BQU9DLE9BaEJoQixDQUFEIiwiZmlsZSI6IjYwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKHdpbmRvdywgYW5ndWxhciwgdW5kZWZpbmVkKSB7XHJcbiAgICAndXNlIHN0cmljdCc7XHJcblxyXG4gICAgYW5ndWxhci5tb2R1bGUoJ2VuZHBvaW50X2RldGFpbHMnLCBbXSk7XHJcblxyXG4gICAgcmVxdWlyZSgnLi9zZXJ2aWNlcy9zZXJ2aWNlcy5jb25uZWN0aXZpdHlOb3RpZmllcicpO1xyXG4gICAgcmVxdWlyZSgnLi9lbmRwb2ludF9kZXRhaWxzLmNvbnRyb2xsZXInKTtcclxuICAgIHJlcXVpcmUoJy4vZW5kcG9pbnRfZGV0YWlscy5yb3V0ZS5qcycpO1xyXG4gICAgcmVxdWlyZSgnLi9jb25zdGFudC5kaWFncmFtcy5qcycpO1xyXG5cclxuICAgIHJlcXVpcmUoJy4vZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmdyYXBoLmpzJyk7XHJcbiAgICByZXF1aXJlKCcuL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5ncmFwaGRlY2ltYWwuanMnKTtcclxuICAgIHJlcXVpcmUoJy4vZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmR1cmF0aW9uLmpzJyk7XHJcbiAgICByZXF1aXJlKCcuL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5ncmFwaGR1cmF0aW9uLmpzJyk7XHJcbiAgICByZXF1aXJlKCcuL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5sYXJnZUdyYXBoLmpzJyk7XHJcbiAgICByZXF1aXJlKCcuL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5tZXRyaWNzbGFyZ2VudW1iZXIuanMnKTtcclxufSh3aW5kb3csIHdpbmRvdy5hbmd1bGFyKSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXBwL21vZHVsZXMvbW9uaXRvcmluZy9qcy9lbmRwb2ludF9kZXRhaWxzLm1vZHVsZS5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///60\n"); /***/ }), -/* 7 */ + +/***/ 61: /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n function controller($scope, $location, monitoringService, serviceControlService, toastService, historyPeriods, rx, $filter) {\n\n var subscription, endpointsFromScSubscription;\n\n $scope.periods = historyPeriods;\n $scope.selectedPeriod = $scope.periods[0];\n\n if ($location.$$search.historyPeriod) {\n $scope.selectedPeriod = $scope.periods[$scope.periods.findIndex(function (period) {\n return period.value == $location.$$search.historyPeriod;\n })];\n }\n\n $scope.endpoints = [];\n\n $scope.selectPeriod = function (period) {\n $scope.selectedPeriod = period;\n\n updateUI();\n };\n\n $scope.getDetailsUrl = function (endpoint) {\n if (!endpoint.isServiceControlOnly) {\n return '#/endpoint_details/' + endpoint.name + '/' + endpoint.sourceIndex + '?historyPeriod=' + $scope.selectedPeriod.value;\n }\n\n return '#/failed-messages/groups/' + endpoint.serviceControlId;\n };\n\n function fillDisplayValuesForEndpoint(endpoint) {\n\n $filter('graphduration')(endpoint.metrics.processingTime);\n $filter('graphduration')(endpoint.metrics.criticalTime);\n $filter('graphdecimal')(endpoint.metrics.queueLength, 0);\n $filter('graphdecimal')(endpoint.metrics.throughput, 2);\n $filter('graphdecimal')(endpoint.metrics.retries, 2);\n }\n\n function updateUI() {\n if (subscription) {\n subscription.dispose();\n }\n\n if (endpointsFromScSubscription) {\n endpointsFromScSubscription.dispose();\n }\n\n var selectedPeriod = $scope.selectedPeriod;\n\n subscription = monitoringService.createEndpointsSource(selectedPeriod.value, selectedPeriod.refreshInterval).subscribe(function (endpoint) {\n var index = $scope.endpoints.findIndex(function (item) {\n return item.name === endpoint.name;\n });\n\n endpoint.isConnected = true;\n fillDisplayValuesForEndpoint(endpoint);\n if (index >= 0) {\n $scope.endpoints[index] = endpoint;\n } else {\n $scope.endpoints.push(endpoint);\n\n $scope.endpoints.sort(function (first, second) {\n if (first.name < second.name) {\n return -1;\n }\n\n if (first.name > second.name) {\n return 1;\n }\n\n return 0;\n });\n }\n\n $scope.$apply();\n });\n\n endpointsFromScSubscription = Rx.Observable.interval(5000).flatMap(function (i) {\n return Rx.Observable.fromPromise(serviceControlService.getExceptionGroups('Endpoint Name', null));\n }).selectMany(function (endpoints) {\n return endpoints.data;\n }).subscribe(function (endpoint) {\n var index = $scope.endpoints.findIndex(function (item) {\n return item.name === endpoint.title;\n });\n if (index >= 0) {\n $scope.endpoints[index].errorCount = endpoint.count;\n } else {\n $scope.endpoints.push({ name: endpoint.title, errorCount: endpoint.count, isConnected: false, isServiceControlOnly: true, serviceControlId: endpoint.id });\n }\n });\n }\n\n updateUI();\n\n $scope.$on(\"$destroy\", function handler() {\n subscription.dispose();\n endpointsFromScSubscription.dispose();\n });\n };\n\n controller.$inject = ['$scope', '$location', 'monitoringService', 'serviceControlService', 'toastService', 'historyPeriods', 'rx', '$filter'];\n\n angular.module('monitored_endpoints').controller('monitoredEndpointsCtrl', controller);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL21vbml0b3JlZF9lbmRwb2ludHMuY29udHJvbGxlci5qcz8wNmNlIl0sIm5hbWVzIjpbIndpbmRvdyIsImFuZ3VsYXIiLCJ1bmRlZmluZWQiLCJjb250cm9sbGVyIiwiJHNjb3BlIiwiJGxvY2F0aW9uIiwibW9uaXRvcmluZ1NlcnZpY2UiLCJzZXJ2aWNlQ29udHJvbFNlcnZpY2UiLCJ0b2FzdFNlcnZpY2UiLCJoaXN0b3J5UGVyaW9kcyIsInJ4IiwiJGZpbHRlciIsInN1YnNjcmlwdGlvbiIsImVuZHBvaW50c0Zyb21TY1N1YnNjcmlwdGlvbiIsInBlcmlvZHMiLCJzZWxlY3RlZFBlcmlvZCIsIiQkc2VhcmNoIiwiaGlzdG9yeVBlcmlvZCIsImZpbmRJbmRleCIsInBlcmlvZCIsInZhbHVlIiwiZW5kcG9pbnRzIiwic2VsZWN0UGVyaW9kIiwidXBkYXRlVUkiLCJnZXREZXRhaWxzVXJsIiwiZW5kcG9pbnQiLCJpc1NlcnZpY2VDb250cm9sT25seSIsIm5hbWUiLCJzb3VyY2VJbmRleCIsInNlcnZpY2VDb250cm9sSWQiLCJmaWxsRGlzcGxheVZhbHVlc0ZvckVuZHBvaW50IiwibWV0cmljcyIsInByb2Nlc3NpbmdUaW1lIiwiY3JpdGljYWxUaW1lIiwicXVldWVMZW5ndGgiLCJ0aHJvdWdocHV0IiwicmV0cmllcyIsImRpc3Bvc2UiLCJjcmVhdGVFbmRwb2ludHNTb3VyY2UiLCJyZWZyZXNoSW50ZXJ2YWwiLCJzdWJzY3JpYmUiLCJpbmRleCIsIml0ZW0iLCJpc0Nvbm5lY3RlZCIsInB1c2giLCJzb3J0IiwiZmlyc3QiLCJzZWNvbmQiLCIkYXBwbHkiLCJSeCIsIk9ic2VydmFibGUiLCJpbnRlcnZhbCIsImZsYXRNYXAiLCJpIiwiZnJvbVByb21pc2UiLCJnZXRFeGNlcHRpb25Hcm91cHMiLCJzZWxlY3RNYW55IiwiZGF0YSIsInRpdGxlIiwiZXJyb3JDb3VudCIsImNvdW50IiwiaWQi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LFlBQVlsQyxTQUFTbUMsS0FBN0MsRUFBb0RqQixhQUFhLEtBQWpFLEVBQXdFakIsc0JBQXNCLElBQTlGLEVBQW9HRyxrQkFBa0JKLFNBQVNvQyxFQUEvSCxFQUF0QjtBQUNIO0FBQ0osYUFaRCxDQURKO0FBY0g7O0FBRUR0Qzs7QUFFQW5CLGVBQU8wRCxHQUFQLENBQVcsVUFBWCxFQUF1QixTQUFTQyxPQUFULEdBQW1CO0FBQ3RDbkQseUJBQWF5QixPQUFiO0FBQ0F4Qix3Q0FBNEJ3QixPQUE1QjtBQUNILFNBSEQ7QUFJSDs7QUFFRGxDLGVBQVc2RCxPQUFYLEdBQXFCLENBQ2pCLFFBRGlCLEVBRWpCLFdBRmlCLEVBR2pCLG1CQUhpQixFQUlqQix1QkFKaUIsRUFLakIsY0FMaUIsRUFNakIsZ0JBTmlCLEVBT2pCLElBUGlCLEVBUWpCLFNBUmlCLENBQXJCOztBQVdBL0QsWUFBUWdFLE1BQVIsQ0FBZSxxQkFBZixFQUNLOUQsVUFETCxDQUNnQix3QkFEaEIsRUFDMENBLFVBRDFDO0FBR0gsQ0E1SEEsRUE0SENILE1BNUhELEVBNEhTQSxPQUFPQyxPQTVIaEIsQ0FBRCIsImZpbGUiOiI3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKHdpbmRvdywgYW5ndWxhciwgdW5kZWZpbmVkKSB7XHJcbiAgICAndXNlIHN0cmljdCc7XHJcblxyXG4gICAgZnVuY3Rpb24gY29udHJvbGxlcihcclxuICAgICAgICAkc2NvcGUsXHJcbiAgICAgICAgJGxvY2F0aW9uLFxyXG4gICAgICAgIG1vbml0b3JpbmdTZXJ2aWNlLFxyXG4gICAgICAgIHNlcnZpY2VDb250cm9sU2VydmljZSxcclxuICAgICAgICB0b2FzdFNlcnZpY2UsXHJcbiAgICAgICAgaGlzdG9yeVBlcmlvZHMsXHJcbiAgICAgICAgcngsXHJcbiAgICAgICAgJGZpbHRlcikge1xyXG5cclxuICAgICAgICB2YXIgc3Vic2NyaXB0aW9uLCBlbmRwb2ludHNGcm9tU2NTdWJzY3JpcHRpb247XHJcblxyXG4gICAgICAgICRzY29wZS5wZXJpb2RzID0gaGlzdG9yeVBlcmlvZHM7XHJcbiAgICAgICAgJHNjb3BlLnNlbGVjdGVkUGVyaW9kID0gJHNjb3BlLnBlcmlvZHNbMF07XHJcblxyXG4gICAgICAgIGlmICgkbG9jYXRpb24uJCRzZWFyY2guaGlzdG9yeVBlcmlvZCkge1xyXG4gICAgICAgICAgICAkc2NvcGUuc2VsZWN0ZWRQZXJpb2QgPSAkc2NvcGUucGVyaW9kc1skc2NvcGUucGVyaW9kcy5maW5kSW5kZXgoZnVuY3Rpb24gKHBlcmlvZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHBlcmlvZC52YWx1ZSA9PSAkbG9jYXRpb24uJCRzZWFyY2guaGlzdG9yeVBlcmlvZDtcclxuICAgICAgICAgICAgfSldO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJHNjb3BlLmVuZHBvaW50cyA9IFtdO1xyXG5cclxuICAgICAgICAkc2NvcGUuc2VsZWN0UGVyaW9kID0gZnVuY3Rpb24gKHBlcmlvZCkge1xyXG4gICAgICAgICAgICAkc2NvcGUuc2VsZWN0ZWRQZXJpb2QgPSBwZXJpb2Q7XHJcblxyXG4gICAgICAgICAgICB1cGRhdGVVSSgpO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgICRzY29wZS5nZXREZXRhaWxzVXJsID0gZW5kcG9pbnQgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIWVuZHBvaW50LmlzU2VydmljZUNvbnRyb2xPbmx5KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJyMvZW5kcG9pbnRfZGV0YWlscy8nICsgZW5kcG9pbnQubmFtZSArICcvJyArIGVuZHBvaW50LnNvdXJjZUluZGV4ICsgJz9oaXN0b3J5UGVyaW9kPScgKyAkc2NvcGUuc2VsZWN0ZWRQZXJpb2QudmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiAnIy9mYWlsZWQtbWVzc2FnZXMvZ3JvdXBzLycgKyBlbmRwb2ludC5zZXJ2aWNlQ29udHJvbElkO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGZ1bmN0aW9uIGZpbGxEaXNwbGF5VmFsdWVzRm9yRW5kcG9pbnQoZW5kcG9pbnQpIHtcclxuXHJcbiAgICAgICAgICAgICRmaWx0ZXIoJ2dyYXBoZHVyYXRpb24nKShlbmRwb2ludC5tZXRyaWNzLnByb2Nlc3NpbmdUaW1lKTtcclxuICAgICAgICAgICAgJGZpbHRlcignZ3JhcGhkdXJhdGlvbicpKGVuZHBvaW50Lm1ldHJpY3MuY3JpdGljYWxUaW1lKTtcclxuICAgICAgICAgICAgJGZpbHRlcignZ3JhcGhkZWNpbWFsJykoZW5kcG9pbnQubWV0cmljcy5xdWV1ZUxlbmd0aCwgMCk7XHJcbiAgICAgICAgICAgICRmaWx0ZXIoJ2dyYXBoZGVjaW1hbCcpKGVuZHBvaW50Lm1ldHJpY3MudGhyb3VnaHB1dCwgMik7XHJcbiAgICAgICAgICAgICRmaWx0ZXIoJ2dyYXBoZGVjaW1hbCcpKGVuZHBvaW50Lm1ldHJpY3MucmV0cmllcywgMik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmdW5jdGlvbiB1cGRhdGVVSSgpIHtcclxuICAgICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGVuZHBvaW50c0Zyb21TY1N1YnNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICAgICAgZW5kcG9pbnRzRnJvbVNjU3Vic2NyaXB0aW9uLmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdmFyIHNlbGVjdGVkUGVyaW9kID0gJHNjb3BlLnNlbGVjdGVkUGVyaW9kO1xyXG5cclxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uID0gbW9uaXRvcmluZ1NlcnZpY2UuY3JlYXRlRW5kcG9pbnRzU291cmNlKHNlbGVjdGVkUGVyaW9kLnZhbHVlLCBzZWxlY3RlZFBlcmlvZC5yZWZyZXNoSW50ZXJ2YWwpLnN1YnNjcmliZShmdW5jdGlvbiAoZW5kcG9pbnQpIHtcclxuICAgICAgICAgICAgICAgIHZhciBpbmRleCA9ICRzY29wZS5lbmRwb2ludHMuZmluZEluZGV4KGZ1bmN0aW9uIChpdGVtKSB7IHJldHVybiBpdGVtLm5hbWUgPT09IGVuZHBvaW50Lm5hbWUgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQuaXNDb25uZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgZmlsbERpc3BsYXlWYWx1ZXNGb3JFbmRwb2ludChlbmRwb2ludCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICRzY29wZS5lbmRwb2ludHNbaW5kZXhdID0gZW5kcG9pbnQ7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICRzY29wZS5lbmRwb2ludHMucHVzaChlbmRwb2ludCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICRzY29wZS5lbmRwb2ludHMuc29ydChmdW5jdGlvbiAoZmlyc3QsIHNlY29uZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlyc3QubmFtZSA8IHNlY29uZC5uYW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaXJzdC5uYW1lID4gc2Vjb25kLm5hbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAkc2NvcGUuJGFwcGx5KCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgZW5kcG9pbnRzRnJvbVNjU3Vic2NyaXB0aW9uID1cclxuICAgICAgICAgICAgICAgIFJ4Lk9ic2VydmFibGUuaW50ZXJ2YWwoNTAwMClcclxuICAgICAgICAgICAgICAgIC5mbGF0TWFwKGZ1bmN0aW9uKGkpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUnguT2JzZXJ2YWJsZS5mcm9tUHJvbWlzZShzZXJ2aWNlQ29udHJvbFNlcnZpY2UuZ2V0RXhjZXB0aW9uR3JvdXBzKCdFbmRwb2ludCBOYW1lJywgbnVsbCkpO1xyXG4gICAgICAgICAgICAgICAgfSkuc2VsZWN0TWFueShmdW5jdGlvbihlbmRwb2ludHMpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW5kcG9pbnRzLmRhdGE7XHJcbiAgICAgICAgICAgICAgICB9KS5zdWJzY3JpYmUoZnVuY3Rpb24gKGVuZHBvaW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gJHNjb3BlLmVuZHBvaW50cy5maW5kSW5kZXgoZnVuY3Rpb24oaXRlbSkgeyByZXR1cm4gaXRlbS5uYW1lID09PSBlbmRwb2ludC50aXRsZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZW5kcG9pbnRzW2luZGV4XS5lcnJvckNvdW50ID0gZW5kcG9pbnQuY291bnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVuZHBvaW50cy5wdXNoKHsgbmFtZTogZW5kcG9pbnQudGl0bGUsIGVycm9yQ291bnQ6IGVuZHBvaW50LmNvdW50LCBpc0Nvbm5lY3RlZDogZmFsc2UsIGlzU2VydmljZUNvbnRyb2xPbmx5OiB0cnVlLCBzZXJ2aWNlQ29udHJvbElkOiBlbmRwb2ludC5pZCB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVwZGF0ZVVJKCk7XHJcblxyXG4gICAgICAgICRzY29wZS4kb24oXCIkZGVzdHJveVwiLCBmdW5jdGlvbiBoYW5kbGVyKCkge1xyXG4gICAgICAgICAgICBzdWJzY3JpcHRpb24uZGlzcG9zZSgpO1xyXG4gICAgICAgICAgICBlbmRwb2ludHNGcm9tU2NTdWJzY3JpcHRpb24uZGlzcG9zZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb250cm9sbGVyLiRpbmplY3QgPSBbXHJcbiAgICAgICAgJyRzY29wZScsXHJcbiAgICAgICAgJyRsb2NhdGlvbicsXHJcbiAgICAgICAgJ21vbml0b3JpbmdTZXJ2aWNlJyxcclxuICAgICAgICAnc2VydmljZUNvbnRyb2xTZXJ2aWNlJyxcclxuICAgICAgICAndG9hc3RTZXJ2aWNlJyxcclxuICAgICAgICAnaGlzdG9yeVBlcmlvZHMnLFxyXG4gICAgICAgICdyeCcsXHJcbiAgICAgICAgJyRmaWx0ZXInXHJcbiAgICBdO1xyXG5cclxuICAgIGFuZ3VsYXIubW9kdWxlKCdtb25pdG9yZWRfZW5kcG9pbnRzJylcclxuICAgICAgICAuY29udHJvbGxlcignbW9uaXRvcmVkRW5kcG9pbnRzQ3RybCcsIGNvbnRyb2xsZXIpO1xyXG5cclxufSh3aW5kb3csIHdpbmRvdy5hbmd1bGFyKSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXBwL21vZHVsZXMvbW9uaXRvcmluZy9qcy9tb25pdG9yZWRfZW5kcG9pbnRzLmNvbnRyb2xsZXIuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///7\n"); +eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n function controller($scope, $routeParams, $location, toastService, serviceControlService, monitoringService, historyPeriods, $filter, smallGraphsMinimumYAxis, largeGraphsMinimumYAxis, connectivityNotifier) {\n\n $scope.endpointName = $routeParams.endpointName;\n $scope.sourceIndex = $routeParams.sourceIndex;\n $scope.loading = true;\n $scope.showInstancesBreakdown = false;\n $scope.largeGraphsMinimumYAxis = largeGraphsMinimumYAxis;\n $scope.smallGraphsMinimumYAxis = smallGraphsMinimumYAxis;\n\n var subscription;\n\n $scope.periods = historyPeriods;\n $scope.selectedPeriod = $scope.periods[0];\n\n if ($location.$$search.historyPeriod) {\n $scope.selectedPeriod = $scope.periods[$scope.periods.findIndex(function (period) {\n return period.value == $location.$$search.historyPeriod;\n })];\n }\n\n $scope.selectPeriod = function (period) {\n $scope.selectedPeriod = period;\n\n updateUI();\n };\n\n function updateUI() {\n if (subscription) {\n subscription.dispose();\n }\n\n var selectedPeriod = $scope.selectedPeriod;\n\n subscription = monitoringService.createEndpointDetailsSource($routeParams.endpointName, $routeParams.sourceIndex, selectedPeriod.value, selectedPeriod.refreshInterval).subscribe(function (endpoint) {\n if (endpoint.error) {\n connectivityNotifier.reportFailedConnection($routeParams.sourceIndex);\n if ($scope.endpoint && $scope.endpoint.instances) {\n $scope.endpoint.instances.forEach(function (item) {\n return item.isScMonitoringDisconnected = true;\n });\n }\n\n $scope.endpoint.isScMonitoringDisconnected = true;\n } else {\n connectivityNotifier.reportSuccessfulConnection($routeParams.sourceIndex);\n $scope.endpoint = endpoint;\n\n $scope.endpoint.instances.sort(function (first, second) {\n if (first.id < second.id) {\n return -1;\n }\n\n if (first.id > second.id) {\n return 1;\n }\n\n return 0;\n });\n\n $scope.loading = false;\n $scope.endpoint.messageTypes.forEach(function (messageType) {\n return fillDisplayValues(messageType);\n });\n\n $scope.endpoint.isStale = true;\n $scope.endpoint.isScMonitoringDisconnected = false;\n\n $scope.endpoint.instances.forEach(function (instance) {\n fillDisplayValues(instance);\n serviceControlService.getExceptionGroupsForEndpointInstance(instance.id).then(function (result) {\n if (result.data.length > 0) {\n instance.serviceControlId = result.data[0].id;\n instance.errorCount = result.data[0].count;\n }\n }, function (err) {\n // Warn user?\n });\n $scope.endpoint.isStale = $scope.endpoint.isStale && instance.isStale;\n });\n }\n\n serviceControlService.getExceptionGroupsForLogicalEndpoint($scope.endpointName).then(function (result) {\n if (result.data.length > 0) {\n $scope.endpoint.serviceControlId = result.data[0].id;\n $scope.endpoint.errorCount = result.data[0].count;\n }\n });\n });\n }\n\n function fillDisplayValues(instance) {\n $filter('graphduration')(instance.metrics.processingTime);\n $filter('graphduration')(instance.metrics.criticalTime);\n $filter('graphdecimal')(instance.metrics.throughput, 2);\n $filter('graphdecimal')(instance.metrics.retries, 2);\n }\n\n $scope.$on(\"$destroy\", function handler() {\n subscription.dispose();\n });\n\n updateUI();\n }\n\n controller.$inject = ['$scope', '$routeParams', '$location', 'toastService', 'serviceControlService', 'monitoringService', 'historyPeriods', '$filter', 'smallGraphsMinimumYAxis', 'largeGraphsMinimumYAxis', 'connectivityNotifier'];\n\n angular.module('endpoint_details').controller('endpointDetailsCtrl', controller);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2VuZHBvaW50X2RldGFpbHMuY29udHJvbGxlci5qcz9kZjg0Il0sIm5hbWVzIjpbIndpbmRvdyIsImFuZ3VsYXIiLCJ1bmRlZmluZWQiLCJjb250cm9sbGVyIiwiJHNjb3BlIiwiJHJvdXRlUGFyYW1zIiwiJGxvY2F0aW9uIiwidG9hc3RTZXJ2aWNlIiwic2VydmljZUNvbnRyb2xTZXJ2aWNlIiwibW9uaXRvcmluZ1NlcnZpY2UiLCJoaXN0b3J5UGVyaW9kcyIsIiRmaWx0ZXIiLCJzbWFsbEdyYXBoc01pbmltdW1ZQXhpcyIsImxhcmdlR3JhcGhzTWluaW11bVlBeGlzIiwiY29ubmVjdGl2aXR5Tm90aWZpZXIiLCJlbmRwb2ludE5hbWUiLCJzb3VyY2VJbmRleCIsImxvYWRpbmciLCJzaG93SW5zdGFuY2VzQnJlYWtkb3duIiwic3Vic2NyaXB0aW9uIiwicGVyaW9kcyIsInNlbGVjdGVkUGVyaW9kIiwiJCRzZWFyY2giLCJoaXN0b3J5UGVyaW9kIiwiZmluZEluZGV4IiwicGVyaW9kIiwidmFsdWUiLCJzZWxlY3RQZXJpb2QiLCJ1cGRhdGVVSSIsImRpc3Bvc2UiLCJjcmVhdGVFbmRwb2ludERldGFpbHNTb3VyY2UiLCJyZWZyZXNoSW50ZXJ2YWwiLCJzdWJzY3JpYmUiLCJlbmRwb2ludCIsImVycm9yIiwicmVwb3J0RmFpbGVkQ29ubmVjdGlvbiIsImluc3RhbmNlcyIsImZvckVhY2giLCJpdGVtIiwiaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQiLCJyZXBvcnRTdWNjZXNzZnVsQ29ubmVjdGlvbiIsInNvcnQiLCJmaXJzdCIsInNlY29uZCIsImlkIiwibWVzc2FnZVR5cGVzIiwibWVzc2FnZVR5cGUiLCJmaWxsRGlzcGxheVZhbHVlcyIsImlzU3RhbGUiLCJpbnN0YW5jZSIsImdldEV4Y2VwdGlvbkdyb3Vwc0ZvckVuZHBvaW50SW5zdGFuY2UiLCJ0aGVuIiwicmVzdWx0IiwiZGF0YSIsImxlbmd0aCIsInNlcnZpY2VDb250cm9sSWQiLCJlcnJvckNvdW50IiwiY291bnQiLCJlcnIiLCJnZXRFeGNlcHRpb25Hcm91cHNGb3JMb2dpY2FsRW5kcG9pbnQiLCJtZXRyaWNzIiwicHJvY2Vzc2luZ1RpbWUiLCJjcml0aWNhbFRpbWUiLCJ0aHJvdWdocHV0IiwicmV0cmllcyIsIiRvbiIsImhhbmRsZXIiLCIkaW5qZWN0IiwibW9kdWxlIl0sIm1hcHBpbmdzIjoiOztBQUFDLFdBQVNBLE1BQVQsRUFBaUJDLE9BQWpCLEVBQTBCQyxTQUExQixFQUFxQztBQUNsQzs7QUFFQSxhQUFTQyxVQUFULENBQ0lDLE1BREosRUFFSUMsWUFGSixFQUdJQyxTQUhKLEVBSUlDLFlBSkosRUFLSUMscUJBTEosRUFNSUMsaUJBTkosRUFPSUMsY0FQSixFQVFJQyxPQVJKLEVBU0lDLHVCQVRKLEVBVUlDLHVCQVZKLEVBV0lDLG9CQVhKLEVBWUU7O0FBRUVWLGVBQU9XLFlBQVAsR0FBc0JWLGFBQWFVLFlBQW5DO0FBQ0FYLGVBQU9ZLFdBQVAsR0FBcUJYLGFBQWFXLFdBQWxDO0FBQ0FaLGVBQU9hLE9BQVAsR0FBaUIsSUFBakI7QUFDQWIsZUFBT2Msc0JBQVAsR0FBZ0MsS0FBaEM7QUFDQWQsZUFBT1MsdUJBQVAsR0FBaUNBLHVCQUFqQztBQUNBVCxlQUFPUSx1QkFBUCxHQUFpQ0EsdUJBQWpDOztBQUVBLFlBQUlPLFlBQUo7O0FBRUFmLGVBQU9nQixPQUFQLEdBQWlCVixjQUFqQjtBQUNBTixlQUFPaUIsY0FBUCxHQUF3QmpCLE9BQU9nQixPQUFQLENBQWUsQ0FBZixDQUF4Qjs7QUFFQSxZQUFJZCxVQUFVZ0IsUUFBVixDQUFtQkMsYUFBdkIsRUFBc0M7QUFDbENuQixtQkFBT2lCLGNBQVAsR0FBd0JqQixPQUFPZ0IsT0FBUCxDQUFlaEIsT0FBT2dCLE9BQVAsQ0FBZUksU0FBZixDQUF5QixVQUFVQyxNQUFWLEVBQWtCO0FBQzlFLHVCQUFPQSxPQUFPQyxLQUFQLElBQWdCcEIsVUFBVWdCLFFBQVYsQ0FBbUJD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cUlTQSxPQUFPQyxPQXJJaEIsQ0FBRCIsImZpbGUiOiI2MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbih3aW5kb3csIGFuZ3VsYXIsIHVuZGVmaW5lZCkge1xyXG4gICAgJ3VzZSBzdHJpY3QnO1xyXG5cclxuICAgIGZ1bmN0aW9uIGNvbnRyb2xsZXIoXHJcbiAgICAgICAgJHNjb3BlLFxyXG4gICAgICAgICRyb3V0ZVBhcmFtcyxcclxuICAgICAgICAkbG9jYXRpb24sXHJcbiAgICAgICAgdG9hc3RTZXJ2aWNlLFxyXG4gICAgICAgIHNlcnZpY2VDb250cm9sU2VydmljZSxcclxuICAgICAgICBtb25pdG9yaW5nU2VydmljZSxcclxuICAgICAgICBoaXN0b3J5UGVyaW9kcyxcclxuICAgICAgICAkZmlsdGVyLFxyXG4gICAgICAgIHNtYWxsR3JhcGhzTWluaW11bVlBeGlzLFxyXG4gICAgICAgIGxhcmdlR3JhcGhzTWluaW11bVlBeGlzLFxyXG4gICAgICAgIGNvbm5lY3Rpdml0eU5vdGlmaWVyXHJcbiAgICApIHtcclxuXHJcbiAgICAgICAgJHNjb3BlLmVuZHBvaW50TmFtZSA9ICRyb3V0ZVBhcmFtcy5lbmRwb2ludE5hbWU7XHJcbiAgICAgICAgJHNjb3BlLnNvdXJjZUluZGV4ID0gJHJvdXRlUGFyYW1zLnNvdXJjZUluZGV4O1xyXG4gICAgICAgICRzY29wZS5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAkc2NvcGUuc2hvd0luc3RhbmNlc0JyZWFrZG93biA9IGZhbHNlO1xyXG4gICAgICAgICRzY29wZS5sYXJnZUdyYXBoc01pbmltdW1ZQXhpcyA9IGxhcmdlR3JhcGhzTWluaW11bVlBeGlzO1xyXG4gICAgICAgICRzY29wZS5zbWFsbEdyYXBoc01pbmltdW1ZQXhpcyA9IHNtYWxsR3JhcGhzTWluaW11bVlBeGlzO1xyXG5cclxuICAgICAgICB2YXIgc3Vic2NyaXB0aW9uO1xyXG5cclxuICAgICAgICAkc2NvcGUucGVyaW9kcyA9IGhpc3RvcnlQZXJpb2RzO1xyXG4gICAgICAgICRzY29wZS5zZWxlY3RlZFBlcmlvZCA9ICRzY29wZS5wZXJpb2RzWzBdO1xyXG5cclxuICAgICAgICBpZiAoJGxvY2F0aW9uLiQkc2VhcmNoLmhpc3RvcnlQZXJpb2QpIHtcclxuICAgICAgICAgICAgJHNjb3BlLnNlbGVjdGVkUGVyaW9kID0gJHNjb3BlLnBlcmlvZHNbJHNjb3BlLnBlcmlvZHMuZmluZEluZGV4KGZ1bmN0aW9uIChwZXJpb2QpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBwZXJpb2QudmFsdWUgPT0gJGxvY2F0aW9uLiQkc2VhcmNoLmhpc3RvcnlQZXJpb2Q7XHJcbiAgICAgICAgICAgIH0pXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICRzY29wZS5zZWxlY3RQZXJpb2QgPSBmdW5jdGlvbiAocGVyaW9kKSB7XHJcbiAgICAgICAgICAgICRzY29wZS5zZWxlY3RlZFBlcmlvZCA9IHBlcmlvZDtcclxuXHJcbiAgICAgICAgICAgIHVwZGF0ZVVJKCk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgZnVuY3Rpb24gdXBkYXRlVUkoKSB7XHJcbiAgICAgICAgICAgIGlmIChzdWJzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbi5kaXNwb3NlKCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHZhciBzZWxlY3RlZFBlcmlvZCA9ICRzY29wZS5zZWxlY3RlZFBlcmlvZDtcclxuXHJcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbiA9IG1vbml0b3JpbmdTZXJ2aWNlLmNyZWF0ZUVuZHBvaW50RGV0YWlsc1NvdXJjZSgkcm91dGVQYXJhbXMuZW5kcG9pbnROYW1lLCAkcm91dGVQYXJhbXMuc291cmNlSW5kZXgsIHNlbGVjdGVkUGVyaW9kLnZhbHVlLCBzZWxlY3RlZFBlcmlvZC5yZWZyZXNoSW50ZXJ2YWwpLnN1YnNjcmliZShmdW5jdGlvbiAoZW5kcG9pbnQpIHtcclxuICAgICAgICAgICAgICAgIGlmIChlbmRwb2ludC5lcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpdml0eU5vdGlmaWVyLnJlcG9ydEZhaWxlZENvbm5lY3Rpb24oJHJvdXRlUGFyYW1zLnNvdXJjZUluZGV4KTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoJHNjb3BlLmVuZHBvaW50ICYmICRzY29wZS5lbmRwb2ludC5pbnN0YW5jZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVuZHBvaW50Lmluc3RhbmNlcy5mb3JFYWNoKChpdGVtKSA9PiBpdGVtLmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkID0gdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29ubmVjdGl2aXR5Tm90aWZpZXIucmVwb3J0U3VjY2Vzc2Z1bENvbm5lY3Rpb24oJHJvdXRlUGFyYW1zLnNvdXJjZUluZGV4KTtcclxuICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZW5kcG9pbnQgPSBlbmRwb2ludDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVuZHBvaW50Lmluc3RhbmNlcy5zb3J0KGZ1bmN0aW9uIChmaXJzdCwgc2Vjb25kKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaXJzdC5pZCA8IHNlY29uZC5pZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlyc3QuaWQgPiBzZWNvbmQuaWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZW5kcG9pbnQubWVzc2FnZVR5cGVzLmZvckVhY2goKG1lc3NhZ2VUeXBlKSA9PiBmaWxsRGlzcGxheVZhbHVlcyhtZXNzYWdlVHlwZSkpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZW5kcG9pbnQuaXNTdGFsZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICRzY29wZS5lbmRwb2ludC5pbnN0YW5jZXMuZm9yRWFjaChmdW5jdGlvbiAoaW5zdGFuY2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbERpc3BsYXlWYWx1ZXMoaW5zdGFuY2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlQ29udHJvbFNlcnZpY2UuZ2V0RXhjZXB0aW9uR3JvdXBzRm9yRW5kcG9pbnRJbnN0YW5jZShpbnN0YW5jZS5pZCkudGhlbihmdW5jdGlvbiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLnNlcnZpY2VDb250cm9sSWQgPSByZXN1bHQuZGF0YVswXS5pZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5lcnJvckNvdW50ID0gcmVzdWx0LmRhdGFbMF0uY291bnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdhcm4gdXNlcj9cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVuZHBvaW50LmlzU3RhbGUgPSAkc2NvcGUuZW5kcG9pbnQuaXNTdGFsZSAmJiBpbnN0YW5jZS5pc1N0YWxlO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHNlcnZpY2VDb250cm9sU2VydmljZS5nZXRFeGNlcHRpb25Hcm91cHNGb3JMb2dpY2FsRW5kcG9pbnQoJHNjb3BlLmVuZHBvaW50TmFtZSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZW5kcG9pbnQuc2VydmljZUNvbnRyb2xJZCA9IHJlc3VsdC5kYXRhWzBdLmlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZW5kcG9pbnQuZXJyb3JDb3VudCA9IHJlc3VsdC5kYXRhWzBdLmNvdW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZ1bmN0aW9uIGZpbGxEaXNwbGF5VmFsdWVzKGluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgICRmaWx0ZXIoJ2dyYXBoZHVyYXRpb24nKShpbnN0YW5jZS5tZXRyaWNzLnByb2Nlc3NpbmdUaW1lKTtcclxuICAgICAgICAgICAgJGZpbHRlcignZ3JhcGhkdXJhdGlvbicpKGluc3RhbmNlLm1ldHJpY3MuY3JpdGljYWxUaW1lKTtcclxuICAgICAgICAgICAgJGZpbHRlcignZ3JhcGhkZWNpbWFsJykoaW5zdGFuY2UubWV0cmljcy50aHJvdWdocHV0LCAyKTtcclxuICAgICAgICAgICAgJGZpbHRlcignZ3JhcGhkZWNpbWFsJykoaW5zdGFuY2UubWV0cmljcy5yZXRyaWVzLCAyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICRzY29wZS4kb24oXCIkZGVzdHJveVwiLCBmdW5jdGlvbiBoYW5kbGVyKCkge1xyXG4gICAgICAgICAgICBzdWJzY3JpcHRpb24uZGlzcG9zZSgpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB1cGRhdGVVSSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnRyb2xsZXIuJGluamVjdCA9IFtcclxuICAgICAgICAnJHNjb3BlJyxcclxuICAgICAgICAnJHJvdXRlUGFyYW1zJyxcclxuICAgICAgICAnJGxvY2F0aW9uJyxcclxuICAgICAgICAndG9hc3RTZXJ2aWNlJyxcclxuICAgICAgICAnc2VydmljZUNvbnRyb2xTZXJ2aWNlJyxcclxuICAgICAgICAnbW9uaXRvcmluZ1NlcnZpY2UnLFxyXG4gICAgICAgICdoaXN0b3J5UGVyaW9kcycsXHJcbiAgICAgICAgJyRmaWx0ZXInLFxyXG4gICAgICAgICdzbWFsbEdyYXBoc01pbmltdW1ZQXhpcycsXHJcbiAgICAgICAgJ2xhcmdlR3JhcGhzTWluaW11bVlBeGlzJyxcclxuICAgICAgICAnY29ubmVjdGl2aXR5Tm90aWZpZXInXHJcbiAgICBdO1xyXG5cclxuICAgIGFuZ3VsYXIubW9kdWxlKCdlbmRwb2ludF9kZXRhaWxzJylcclxuICAgICAgICAuY29udHJvbGxlcignZW5kcG9pbnREZXRhaWxzQ3RybCcsIGNvbnRyb2xsZXIpO1xyXG5cclxufSh3aW5kb3csIHdpbmRvdy5hbmd1bGFyKSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXBwL21vZHVsZXMvbW9uaXRvcmluZy9qcy9lbmRwb2ludF9kZXRhaWxzLmNvbnRyb2xsZXIuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///61\n"); /***/ }), -/* 8 */ + +/***/ 62: /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n function routeProvider($routeProvider) {\n var template = __webpack_require__(9);\n\n $routeProvider.when('/monitored_endpoints', {\n data: {\n pageTitle: 'Monitored Endpoints'\n },\n template: template,\n controller: 'monitoredEndpointsCtrl',\n controllerAs: 'vm',\n reloadOnSearch: false\n });\n };\n\n routeProvider.$inject = ['$routeProvider'];\n\n angular.module('monitored_endpoints').config(routeProvider);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL21vbml0b3JlZF9lbmRwb2ludHMucm91dGUuanM/MjcwNiJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJhbmd1bGFyIiwidW5kZWZpbmVkIiwicm91dGVQcm92aWRlciIsIiRyb3V0ZVByb3ZpZGVyIiwidGVtcGxhdGUiLCJyZXF1aXJlIiwid2hlbiIsImRhdGEiLCJwYWdlVGl0bGUiLCJjb250cm9sbGVyIiwiY29udHJvbGxlckFzIiwicmVsb2FkT25TZWFyY2giLCIkaW5qZWN0IiwibW9kdWxlIiwiY29uZmlnIl0sIm1hcHBpbmdzIjoiOztBQUFDLFdBQVVBLE1BQVYsRUFBa0JDLE9BQWxCLEVBQTJCQyxTQUEzQixFQUFzQztBQUNuQzs7QUFFQSxhQUFTQyxhQUFULENBQXVCQyxjQUF2QixFQUF1QztBQUNuQyxZQUFJQyxXQUFXLG1CQUFBQyxDQUFRLENBQVIsQ0FBZjs7QUFFQUYsdUJBQWVHLElBQWYsQ0FBb0Isc0JBQXBCLEVBQTRDO0FBQ3hDQyxrQkFBTTtBQUNGQywyQkFBVztBQURULGFBRGtDO0FBSXhDSixzQkFBVUEsUUFKOEI7QUFLeENLLHdCQUFZLHdCQUw0QjtBQU14Q0MsMEJBQWMsSUFOMEI7QUFPeENDLDRCQUFnQjtBQVB3QixTQUE1QztBQVNIOztBQUVEVCxrQkFBY1UsT0FBZCxHQUF3QixDQUNwQixnQkFEb0IsQ0FBeEI7O0FBSUFaLFlBQVFhLE1BQVIsQ0FBZSxxQkFBZixFQUNLQyxNQURMLENBQ1laLGFBRFo7QUFFSCxDQXZCQSxFQXVCRUgsTUF2QkYsRUF1QlVBLE9BQU9DLE9BdkJqQixDQUFEIiwiZmlsZSI6IjguanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKHdpbmRvdywgYW5ndWxhciwgdW5kZWZpbmVkKSB7XHJcbiAgICAndXNlIHN0cmljdCc7XHJcblxyXG4gICAgZnVuY3Rpb24gcm91dGVQcm92aWRlcigkcm91dGVQcm92aWRlcikge1xyXG4gICAgICAgIGxldCB0ZW1wbGF0ZSA9IHJlcXVpcmUoJy4vLi4vdmlld3MvbW9uaXRvcmVkX2VuZHBvaW50cy5odG1sJyk7XHJcblxyXG4gICAgICAgICRyb3V0ZVByb3ZpZGVyLndoZW4oJy9tb25pdG9yZWRfZW5kcG9pbnRzJywge1xyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICBwYWdlVGl0bGU6ICdNb25pdG9yZWQgRW5kcG9pbnRzJ1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0ZW1wbGF0ZTogdGVtcGxhdGUsXHJcbiAgICAgICAgICAgIGNvbnRyb2xsZXI6ICdtb25pdG9yZWRFbmRwb2ludHNDdHJsJyxcclxuICAgICAgICAgICAgY29udHJvbGxlckFzOiAndm0nLFxyXG4gICAgICAgICAgICByZWxvYWRPblNlYXJjaDogZmFsc2VcclxuICAgICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgcm91dGVQcm92aWRlci4kaW5qZWN0ID0gW1xyXG4gICAgICAgICckcm91dGVQcm92aWRlcidcclxuICAgIF07XHJcblxyXG4gICAgYW5ndWxhci5tb2R1bGUoJ21vbml0b3JlZF9lbmRwb2ludHMnKVxyXG4gICAgICAgIC5jb25maWcocm91dGVQcm92aWRlcik7XHJcbn0gKHdpbmRvdywgd2luZG93LmFuZ3VsYXIpKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL21vbml0b3JlZF9lbmRwb2ludHMucm91dGUuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///8\n"); +eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n function routeProvider($routeProvider) {\n var template = __webpack_require__(63);\n\n $routeProvider.when('/endpoint_details/:endpointName/:sourceIndex', {\n data: {\n pageTitle: 'Endpoint Details'\n },\n template: template,\n controller: 'endpointDetailsCtrl',\n controllerAs: 'vm',\n reloadOnSearch: false\n });\n };\n\n routeProvider.$inject = ['$routeProvider'];\n\n angular.module('endpoint_details').config(routeProvider);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2VuZHBvaW50X2RldGFpbHMucm91dGUuanM/NjViNiJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJhbmd1bGFyIiwidW5kZWZpbmVkIiwicm91dGVQcm92aWRlciIsIiRyb3V0ZVByb3ZpZGVyIiwidGVtcGxhdGUiLCJyZXF1aXJlIiwid2hlbiIsImRhdGEiLCJwYWdlVGl0bGUiLCJjb250cm9sbGVyIiwiY29udHJvbGxlckFzIiwicmVsb2FkT25TZWFyY2giLCIkaW5qZWN0IiwibW9kdWxlIiwiY29uZmlnIl0sIm1hcHBpbmdzIjoiOztBQUFDLFdBQVVBLE1BQVYsRUFBa0JDLE9BQWxCLEVBQTJCQyxTQUEzQixFQUFzQztBQUNuQzs7QUFFQSxhQUFTQyxhQUFULENBQXVCQyxjQUF2QixFQUF1QztBQUNuQyxZQUFJQyxXQUFXLG1CQUFBQyxDQUFRLEVBQVIsQ0FBZjs7QUFFQUYsdUJBQWVHLElBQWYsQ0FBb0IsOENBQXBCLEVBQW9FO0FBQ2hFQyxrQkFBTTtBQUNGQywyQkFBVztBQURULGFBRDBEO0FBSWhFSixzQkFBVUEsUUFKc0Q7QUFLaEVLLHdCQUFZLHFCQUxvRDtBQU1oRUMsMEJBQWMsSUFOa0Q7QUFPaEVDLDRCQUFnQjtBQVBnRCxTQUFwRTtBQVNIOztBQUVEVCxrQkFBY1UsT0FBZCxHQUF3QixDQUNwQixnQkFEb0IsQ0FBeEI7O0FBSUFaLFlBQVFhLE1BQVIsQ0FBZSxrQkFBZixFQUNLQyxNQURMLENBQ1laLGFBRFo7QUFFSCxDQXZCQSxFQXVCRUgsTUF2QkYsRUF1QlVBLE9BQU9DLE9BdkJqQixDQUFEIiwiZmlsZSI6IjYyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICh3aW5kb3csIGFuZ3VsYXIsIHVuZGVmaW5lZCkge1xyXG4gICAgJ3VzZSBzdHJpY3QnO1xyXG5cclxuICAgIGZ1bmN0aW9uIHJvdXRlUHJvdmlkZXIoJHJvdXRlUHJvdmlkZXIpIHtcclxuICAgICAgICBsZXQgdGVtcGxhdGUgPSByZXF1aXJlKCcuLy4uL3ZpZXdzL2VuZHBvaW50X2RldGFpbHMuaHRtbCcpO1xyXG5cclxuICAgICAgICAkcm91dGVQcm92aWRlci53aGVuKCcvZW5kcG9pbnRfZGV0YWlscy86ZW5kcG9pbnROYW1lLzpzb3VyY2VJbmRleCcsIHtcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgcGFnZVRpdGxlOiAnRW5kcG9pbnQgRGV0YWlscydcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdGVtcGxhdGU6IHRlbXBsYXRlLFxyXG4gICAgICAgICAgICBjb250cm9sbGVyOiAnZW5kcG9pbnREZXRhaWxzQ3RybCcsXHJcbiAgICAgICAgICAgIGNvbnRyb2xsZXJBczogJ3ZtJyxcclxuICAgICAgICAgICAgcmVsb2FkT25TZWFyY2g6IGZhbHNlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHJvdXRlUHJvdmlkZXIuJGluamVjdCA9IFtcclxuICAgICAgICAnJHJvdXRlUHJvdmlkZXInXHJcbiAgICBdO1xyXG5cclxuICAgIGFuZ3VsYXIubW9kdWxlKCdlbmRwb2ludF9kZXRhaWxzJylcclxuICAgICAgICAuY29uZmlnKHJvdXRlUHJvdmlkZXIpO1xyXG59ICh3aW5kb3csIHdpbmRvdy5hbmd1bGFyKSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXBwL21vZHVsZXMvbW9uaXRvcmluZy9qcy9lbmRwb2ludF9kZXRhaWxzLnJvdXRlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///62\n"); /***/ }), -/* 9 */ + +/***/ 63: /***/ (function(module, exports) { -eval("module.exports = \"

Endpoints overview

\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL3ZpZXdzL21vbml0b3JlZF9lbmRwb2ludHMuaHRtbD8zYTg3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtkQUFrZCxxQkFBcUIsaUxBQWlMLGNBQWMsS0FBSyxhQUFhLG9sRkFBb2xGLHlCQUF5Qiw2SEFBNkgsZUFBZSxtR0FBbUcscUNBQXFDLG1XQUFtVywwQ0FBMEMsMlVBQTJVLHFFQUFxRSxnZEFBZ2Qsb0VBQW9FLDBjQUEwYyxpRUFBaUUseWRBQXlkLDhFQUE4RSxpQ0FBaUMsbURBQW1ELDJkQUEyZCw0RUFBNEUsaUNBQWlDLGlEQUFpRCIsImZpbGUiOiI5LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBcIjxkaXYgY2xhc3M9Y29udGFpbmVyIG5nLXNob3c9ZW5kcG9pbnRzLmxlbmd0aD4gPGRpdiBjbGFzcz1cXFwicm93IG1vbml0b3JpbmctaGVhZFxcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMCBuby1zaWRlLXBhZGRpbmcgbGlzdC1zZWN0aW9uXFxcIj4gPGgxPkVuZHBvaW50cyBvdmVydmlldzwvaDE+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBuby1zaWRlLXBhZGRpbmcgdG9vbGJhci1tZW51c1xcXCI+IDxkaXYgY2xhc3M9XFxcIm1zZy1ncm91cC1tZW51IGRyb3Bkb3duXFxcIj4gPGxhYmVsIGNsYXNzPWNvbnRyb2wtbGFiZWw+UGVyaW9kOjwvbGFiZWw+IDxidXR0b24gdHlwZT1idXR0b24gY2xhc3M9XFxcImJ0biBidG4tZGVmYXVsdCBkcm9wZG93bi10b2dnbGUgc3AtYnRuLW1lbnVcXFwiIGRhdGEtdG9nZ2xlPWRyb3Bkb3duIGFyaWEtaGFzcG9wdXA9dHJ1ZSBhcmlhLWV4cGFuZGVkPWZhbHNlPiB7e3NlbGVjdGVkUGVyaW9kLnRleHR9fSA8c3BhbiBjbGFzcz1jYXJldD48L3NwYW4+IDwvYnV0dG9uPiA8dWwgY2xhc3M9ZHJvcGRvd24tbWVudT4gPGxpIG5nLXJlcGVhdD1cXFwicGVyaW9kIGluIHBlcmlvZHNcXFwiPiA8YSBuZy1jbGljaz1zZWxlY3RQZXJpb2QocGVyaW9kKSBocmVmPVxcXCIjL21vbml0b3JlZF9lbmRwb2ludHM/aGlzdG9yeVBlcmlvZD17e3BlcmlvZC52YWx1ZX19XFxcIj57e3BlcmlvZC50ZXh0fX08L2E+IDwvbGk+IDwvdWw+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPWNvbnRhaW5lcj4gPHNlY3Rpb24gbmctc2hvdz10cnVlPiA8ZGl2IGNsYXNzPVxcXCJ0ZXh0LWNlbnRlciBtb25pdG9yaW5nLW5vLWRhdGFcXFwiIG5nLXNob3c9IWVuZHBvaW50cy5sZW5ndGg+IDxoMT5ObyBlbmRwb2ludHMgYXZhaWxhYmxlIGZvciBtb25pdG9yaW5nPC9oMT4gPHA+RW5zdXJlIHRoYXQgeW91ciBlbmRwb2ludHMgaGF2ZSBhdWRpdGluZyBlbmFibGVkIGFuZC9vciBoYXZlIHRoZSBtZXRyaWNzIHBsdWctaW4gZW5hYmxlZDwvcD4gPGRpdiBjbGFzcz1hY3Rpb24tdG9vbGJhcj4gPGEgY2xhc3M9XFxcImJ0biBidG4tZGVmYXVsdCBidG4tcHJpbWFyeVxcXCIgaHJlZj1cXFwiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9zZWFyY2g/c2l0ZT0mc291cmNlPWhwJnE9bWV0cmljcyslMkZzaXRlJTNBZG9jcy5wYXJ0aWN1bGFyLm5ldCZvcT1tZXRyaWNzKyUyRnNpdGUlM0Fkb2NzLnBhcnRpY3VsYXIubmV0XFxcIj5MZWFybiBtb3JlPC9hPiA8L2Rpdj4gPC9kaXY+IDxkaXYgbmctc2hvdz1lbmRwb2ludHMubGVuZ3RoIGNsYXNzPVxcXCJyb3cgYm94IGJveC1uby1jbGljayB0YWJsZS1oZWFkLXJvd1xcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC03XFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPWNvbC1zbS0xMj4gPHA+TmFtZTwvcD4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIiB1aWItdG9vbHRpcD1cXFwiUXVldWUgbGVuZ3RoICgjIG1zZ3MpOiBUaGUgZXN0aW1hdGVkIG51bWJlciBvZiBtZXNzYWdlcyBpbiBhbiBlbmRwb2ludCdzIHF1ZXVlLlxcXCI+IDxwPlF1ZXVlIExlbmd0aCA8c3Bhbj4obXNncyk8L3NwYW4+PC9wPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiIHVpYi10b29sdGlwPVxcXCJUaHJvdWdocHV0ICgjIG1zZ3Mvcyk6IFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgcGVyIHNlY29uZCBzdWNjZXNzZnVsbHkgcHJvY2Vzc2VkIGJ5IGEgcmVjZWl2aW5nIGVuZHBvaW50LlxcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTEyIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxwPlRocm91Z2hwdXQgPHNwYW4+KG1zZ3Mvcyk8L3NwYW4+PC9wPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiIHVpYi10b29sdGlwPVxcXCJTY2hlZHVsZWQgcmV0cnkgcmF0ZSAoIyBtc2dzL3MpOiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHBlciBzZWNvbmQgc2NoZWR1bGVkIGZvciByZXRyaWVzIChpbW1lZGlhdGUgb3IgZGVsYXllZCkuXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPHA+U2NoZWR1bGVkIHJldHJ5IHJhdGUgPHNwYW4+KG1zZ3Mvcyk8L3NwYW4+PC9wPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiIHVpYi10b29sdGlwPVxcXCJQcm9jZXNzaW5nIHRpbWUgKHQpOiBUaGUgdGltZSB0YWtlbiBmb3IgYSByZWNlaXZpbmcgZW5kcG9pbnQgdG8gc3VjY2Vzc2Z1bGx5IHByb2Nlc3MgYSBtZXNzYWdlLlxcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTEyIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxwPlByb2Nlc3NpbmcgVGltZSA8c3Bhbj4odCk8L3NwYW4+PC9wPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiIHVpYi10b29sdGlwPVxcXCJDcml0aWNhbCB0aW1lICh0KTogVGhlIGVsYXBzZWQgdGltZSBmcm9tIHdoZW4gYSBtZXNzYWdlIHdhcyBzZW50LCB1bnRpbCBpdCB3YXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCBieSBhIHJlY2VpdmluZyBlbmRwb2ludC5cXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmdcXFwiPiA8cD5Dcml0aWNhbCBUaW1lIDxzcGFuPih0KTwvc3Bhbj48L3A+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPXJvdz4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTEyIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3ggZW5kcG9pbnQtcm93IGJveC1ncm91cFxcXCIgbmctcmVwZWF0PVxcXCJlbmRwb2ludCBpbiBlbmRwb2ludHNcXFwiIG5nLW1vdXNlZW50ZXI9XFxcImVuZHBvaW50LmhvdmVyMT10cnVlXFxcIiBuZy1tb3VzZWxlYXZlPVxcXCJlbmRwb2ludC5ob3ZlcjE9ZmFsc2VcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1yb3c+IDxhIGNsYXNzPVxcXCJoYXJkLXdyYXAgbGVhZFxcXCIgbmctY2xpY2s9XFxcImVuZHBvaW50LmlzRXhwYW5kZWQgPSAhZW5kcG9pbnQuaXNFeHBhbmRlZFxcXCIgbmctaHJlZj17e2dldERldGFpbHNVcmwoZW5kcG9pbnQpfX0+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC03IGVuZHBvaW50LW5hbWVcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmdcXFwiPiB7e2VuZHBvaW50Lm5hbWV9fSA8c3BhbiBuZy1pZj1cXFwiZW5kcG9pbnQuZW5kcG9pbnRJbnN0YW5jZUlkcy5sZW5ndGggJiYgZW5kcG9pbnQuZW5kcG9pbnRJbnN0YW5jZUlkcy5sZW5ndGggPiAxXFxcIj4oe3tlbmRwb2ludC5lbmRwb2ludEluc3RhbmNlSWRzLmxlbmd0aH19KTwvc3Bhbj4gPGRpdiBjbGFzcz1lbmRwb2ludC1zdGF0dXM+IDxzcGFuIGNsYXNzPXdhcm5pbmcgbmctaWY9ZW5kcG9pbnQuaXNTdGFsZT4gPGkgY2xhc3M9XFxcImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXFxcIiB1aWItdG9vbHRpcD1cXFwiRW5kcG9pbnQgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGNvbm5lY3RlZCB0byB0aGUgbW9uaXRvcmluZyBzZXJ2ZXIgYW55bW9yZVxcXCI+PC9pPiA8L3NwYW4+IDxzcGFuIGNsYXNzPXdhcm5pbmcgbmctaWY9ZW5kcG9pbnQuZXJyb3JDb3VudD4gPGkgY2xhc3M9XFxcImZhIGZhLWVudmVsb3BlXFxcIj48L2k+IDxzcGFuIGNsYXNzPVxcXCJiYWRnZSBiYWRnZS1pbXBvcnRhbnQgbmctYmluZGluZ1xcXCI+e3tlbmRwb2ludC5lcnJvckNvdW50IHwgbWV0cmljc2xhcmdlbnVtYmVyfX08L3NwYW4+IDwvc3Bhbj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCIgbmctaWY9ZW5kcG9pbnQuaXNDb25uZWN0ZWQ+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1uby1zaWRlLXBhZGRpbmc+IDxncmFwaCBwbG90LWRhdGE9ZW5kcG9pbnQubWV0cmljcy5xdWV1ZUxlbmd0aCBjbGFzcz1cXFwiZ3JhcGggcXVldWUtbGVuZ3RoIHB1bGwtbGVmdFxcXCI+PC9ncmFwaD4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcIm5vLXNpZGUtcGFkZGluZyBzcGFya2xpbmUtdmFsdWVcXFwiPiB7e2VuZHBvaW50LmlzU3RhbGUgPyBcXFwiXFxcIiA6IGVuZHBvaW50Lm1ldHJpY3MucXVldWVMZW5ndGguZGlzcGxheVZhbHVlfX0gPGkgbmctaWY9ZW5kcG9pbnQuaXNTdGFsZSBjbGFzcz1cXFwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcXFwiIHVpYi10b29sdGlwPVxcXCJFbmRwb2ludCBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgY29ubmVjdGVkIHRvIHRoZSBtb25pdG9yaW5nIHNlcnZlciBhbnltb3JlXFxcIj48L2k+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCIgbmctaWY9ZW5kcG9pbnQuaXNDb25uZWN0ZWQ+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1uby1zaWRlLXBhZGRpbmc+IDxncmFwaCBwbG90LWRhdGE9ZW5kcG9pbnQubWV0cmljcy50aHJvdWdocHV0IGNsYXNzPVxcXCJncmFwaCB0aHJvdWdocHV0IHB1bGwtbGVmdFxcXCI+PC9ncmFwaD4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcIm5vLXNpZGUtcGFkZGluZyBzcGFya2xpbmUtdmFsdWVcXFwiPiB7e2VuZHBvaW50LmlzU3RhbGUgPyBcXFwiXFxcIiA6IGVuZHBvaW50Lm1ldHJpY3MudGhyb3VnaHB1dC5kaXNwbGF5VmFsdWV9fSA8aSBuZy1pZj1lbmRwb2ludC5pc1N0YWxlIGNsYXNzPVxcXCJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVxcXCIgdWliLXRvb2x0aXA9XFxcIkVuZHBvaW50IGRvZXMgbm90IGFwcGVhciB0byBiZSBjb25uZWN0ZWQgdG8gdGhlIG1vbml0b3Jpbmcgc2VydmVyIGFueW1vcmVcXFwiPjwvaT4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIiBuZy1pZj1lbmRwb2ludC5pc0Nvbm5lY3RlZD4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPW5vLXNpZGUtcGFkZGluZz4gPGdyYXBoIHBsb3QtZGF0YT1lbmRwb2ludC5tZXRyaWNzLnJldHJpZXMgY2xhc3M9XFxcImdyYXBoIHJldHJpZXMgcHVsbC1sZWZ0XFxcIj48L2dyYXBoPiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwibm8tc2lkZS1wYWRkaW5nIHNwYXJrbGluZS12YWx1ZVxcXCI+IHt7ZW5kcG9pbnQuaXNTdGFsZSA/IFxcXCJcXFwiIDogZW5kcG9pbnQubWV0cmljcy5yZXRyaWVzLmRpc3BsYXlWYWx1ZX19IDxpIG5nLWlmPWVuZHBvaW50LmlzU3RhbGUgY2xhc3M9XFxcImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXFxcIiB1aWItdG9vbHRpcD1cXFwiRW5kcG9pbnQgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGNvbm5lY3RlZCB0byB0aGUgbW9uaXRvcmluZyBzZXJ2ZXIgYW55bW9yZVxcXCI+PC9pPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiIG5nLWlmPWVuZHBvaW50LmlzQ29ubmVjdGVkPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9bm8tc2lkZS1wYWRkaW5nPiA8Z3JhcGggcGxvdC1kYXRhPWVuZHBvaW50Lm1ldHJpY3MucHJvY2Vzc2luZ1RpbWUgY2xhc3M9XFxcImdyYXBoIHByb2Nlc3NpbmctdGltZSBwdWxsLWxlZnRcXFwiPjwvZ3JhcGg+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJuby1zaWRlLXBhZGRpbmcgc3BhcmtsaW5lLXZhbHVlXFxcIj4ge3tlbmRwb2ludC5pc1N0YWxlID8gXFxcIlxcXCIgOiBlbmRwb2ludC5tZXRyaWNzLnByb2Nlc3NpbmdUaW1lLmRpc3BsYXlWYWx1ZS52YWx1ZX19IDxzcGFuIG5nLWlmPSFlbmRwb2ludC5pc1N0YWxlPnt7ZW5kcG9pbnQubWV0cmljcy5wcm9jZXNzaW5nVGltZS5kaXNwbGF5VmFsdWUudW5pdH19PC9zcGFuPjxpIG5nLWlmPWVuZHBvaW50LmlzU3RhbGUgY2xhc3M9XFxcImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXFxcIiB1aWItdG9vbHRpcD1cXFwiRW5kcG9pbnQgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGNvbm5lY3RlZCB0byB0aGUgbW9uaXRvcmluZyBzZXJ2ZXIgYW55bW9yZVxcXCI+PC9pPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiIG5nLWlmPWVuZHBvaW50LmlzQ29ubmVjdGVkPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9bm8tc2lkZS1wYWRkaW5nPiA8Z3JhcGggcGxvdC1kYXRhPWVuZHBvaW50Lm1ldHJpY3MuY3JpdGljYWxUaW1lIGNsYXNzPVxcXCJncmFwaCBjcml0aWNhbC10aW1lIHB1bGwtbGVmdFxcXCI+PC9ncmFwaD4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcIm5vLXNpZGUtcGFkZGluZyBzcGFya2xpbmUtdmFsdWVcXFwiPiB7e2VuZHBvaW50LmlzU3RhbGUgPyBcXFwiXFxcIiA6IGVuZHBvaW50Lm1ldHJpY3MuY3JpdGljYWxUaW1lLmRpc3BsYXlWYWx1ZS52YWx1ZX19IDxzcGFuIG5nLWlmPSFlbmRwb2ludC5pc1N0YWxlPnt7ZW5kcG9pbnQubWV0cmljcy5jcml0aWNhbFRpbWUuZGlzcGxheVZhbHVlLnVuaXR9fTwvc3Bhbj4gPGkgbmctaWY9ZW5kcG9pbnQuaXNTdGFsZSBjbGFzcz1cXFwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcXFwiIHVpYi10b29sdGlwPVxcXCJFbmRwb2ludCBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgY29ubmVjdGVkIHRvIHRoZSBtb25pdG9yaW5nIHNlcnZlciBhbnltb3JlXFxcIj48L2k+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCIgbmctaWY9IWVuZHBvaW50LmlzQ29ubmVjdGVkPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IE5vIHBsdWctaW5zIGluc3RhbGxlZC4gPC9kaXY+IDwvZGl2PiA8L2E+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9zZWN0aW9uPiA8L2Rpdj4gXCI7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL3ZpZXdzL21vbml0b3JlZF9lbmRwb2ludHMuaHRtbFxuLy8gbW9kdWxlIGlkID0gOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///9\n"); - +eval("module.exports = \"
Queue Length

Queue length: The estimated number of messages in an endpoint's queue.

NOTE: This is an experimental feature. Learn more

{{endpoint.digest.metrics.queueLength.latest | metricslargenumber:0}} MSGS
?
{{endpoint.digest.metrics.queueLength.average | metricslargenumber:0}} MSGS
? AVG
Throughput
{{endpoint.digest.metrics.throughput.latest | metricslargenumber:2}} MSGS/S
?
{{endpoint.digest.metrics.throughput.average | metricslargenumber:2}} MSGS/S
? AVG
Scheduled Retries Rate
{{endpoint.digest.metrics.retries.latest | metricslargenumber:2}} MSGS/S
?
{{endpoint.digest.metrics.retries.average | metricslargenumber:2}} MSGS/S
? AVG
Processing Time
{{endpoint.digest.metrics.processingTime.latest | durationValue}} {{endpoint.digest.metrics.processingTime.latest | durationUnit}}
?
{{endpoint.digest.metrics.processingTime.average | durationValue}} {{endpoint.digest.metrics.processingTime.average | durationUnit}} AVG
? AVG
Critical Time
{{endpoint.digest.metrics.criticalTime.latest | durationValue}} {{endpoint.digest.metrics.criticalTime.latest | durationUnit}}
?
{{endpoint.digest.metrics.criticalTime.average | durationValue}} {{endpoint.digest.metrics.criticalTime.average | durationUnit}}
? AVG
Instance Name
Throughput (msgs/s)
Scheduled retry rate (msgs/s)
Processing Time (t)
Critical Time (t)
{{(instance.isStale == true || instance.isScMonitoringDisconnected == true) ? \\\"\\\" : instance.metrics.throughput.displayValue}} ?
{{(instance.isStale == true || instance.isScMonitoringDisconnected == true) ? \\\"\\\" : instance.metrics.retries.displayValue}} ?
{{(instance.isStale == true || instance.isScMonitoringDisconnected == true) ? \\\"\\\" : instance.metrics.processingTime.displayValue.value}} {{instance.metrics.processingTime.displayValue.unit}} ?
{{(instance.isStale == true || instance.isScMonitoringDisconnected == true) ? \\\"\\\" : instance.metrics.criticalTime.displayValue.value}} {{instance.metrics.criticalTime.displayValue.unit}} ?
Message type name
Throughput (msgs/s)
Scheduled retry rate (msgs/s)
Processing Time (t)
Critical Time (t)
{{messageType.typeName ? messageType.typeName : 'Unknown'}}
{{messageType.assemblyName + '-' + messageType.assemblyVersion}}
{{'Culture=' + messageType.culture}}
{{'PublicKeyToken=' + messageType.publicKeyToken}}
{{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? \\\"\\\" : messageType.metrics.throughput.displayValue}} ?
{{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? \\\"\\\" : messageType.metrics.retries.displayValue}} ?
{{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? \\\"\\\" : messageType.metrics.processingTime.displayValue.value}} {{messageType.metrics.processingTime.displayValue.unit}} ?
{{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? \\\"\\\" : messageType.metrics.criticalTime.displayValue.value}} {{messageType.metrics.criticalTime.displayValue.unit}} ?
\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL3ZpZXdzL2VuZHBvaW50X2RldGFpbHMuaHRtbD9lODYzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtJQUErSSw4SEFBOEgsY0FBYyx3YkFBd2IsY0FBYyxHQUFHLGFBQWEsR0FBRywyQkFBMkIsc0ZBQXNGLDBDQUEwQyxvVEFBb1QscUJBQXFCLGdLQUFnSyxjQUFjLEdBQUcsYUFBYSxpQkFBaUIsY0FBYyxLQUFLLGFBQWEsZ2FBQWdhLHFDQUFxQyw4MUJBQTgxQixtRUFBbUUsdVhBQXVYLG9FQUFvRSx3cEJBQXdwQiwyQ0FBMkMsK25CQUErbkIsa0VBQWtFLHFTQUFxUyxtRUFBbUUsd3NCQUF3c0IsK0RBQStELHFTQUFxUyxnRUFBZ0UsOHFCQUE4cUIsNENBQTRDLDhwQkFBOHBCLCtEQUErRCwwQ0FBMEMsOERBQThELHVQQUF1UCxnRUFBZ0UsMENBQTBDLCtEQUErRCxpcUJBQWlxQiw2REFBNkQsMENBQTBDLDREQUE0RCx1UEFBdVAsOERBQThELDBDQUEwQyw2REFBNkQsOFlBQThZLGdDQUFnQyw0R0FBNEcsK0JBQStCLHdpRUFBd2lFLGVBQWUsbWdCQUFtZ0IsY0FBYyxHQUFHLGFBQWEsR0FBRywyQkFBMkIsc0ZBQXNGLDBDQUEwQyxvTkFBb04sb0NBQW9DLHdHQUF3Ryw2SEFBNkgsa1JBQWtSLGlDQUFpQyxxR0FBcUcsMEhBQTBILHlSQUF5Uix3Q0FBd0MsNkdBQTZHLHVJQUF1SSw2RkFBNkYsbURBQW1ELDhSQUE4UixzQ0FBc0MsMkdBQTJHLHFJQUFxSSw2RkFBNkYsaURBQWlELDJxRUFBMnFFLHlEQUF5RCw2REFBNkQsd0RBQXdELDZCQUE2Qiw4REFBOEQsd0JBQXdCLHNEQUFzRCw2QkFBNkIsa0NBQWtDLHdCQUF3QixvRUFBb0UsNkJBQTZCLGdEQUFnRCxvakJBQW9qQiwyQkFBMkIsc0ZBQXNGLDBDQUEwQyx1TkFBdU4sb0NBQW9DLHdHQUF3RyxnSUFBZ0kscVJBQXFSLGlDQUFpQyxxR0FBcUcsNkhBQTZILDRSQUE0Uix3Q0FBd0MsNkdBQTZHLDBJQUEwSSw2RkFBNkYsc0RBQXNELGlTQUFpUyxzQ0FBc0MsMkdBQTJHLHdJQUF3SSw2RkFBNkYsb0RBQW9EIiwiZmlsZSI6IjYzLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBcIjxkaXYgY2xhc3M9Y29udGFpbmVyPiA8ZGl2IGNsYXNzPVxcXCJyb3cgbW9uaXRvcmluZy1oZWFkXFxcIj4gPGRpdiBjbGFzcz1iYWNrLW5hdj4gPHNwYW4gY2xhc3M9ZmFrZS1saW5rIGFyaWEtaGlkZGVuPXRydWU+JiM5NjY0Ozwvc3Bhbj4gPGEgaHJlZj0vIy9tb25pdG9yZWRfZW5kcG9pbnRzPkFsbCBlbmRwb2ludHM8L2E+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTAgbm8tc2lkZS1wYWRkaW5nIGxpc3Qtc2VjdGlvblxcXCI+IDxoMT4ge3tlbmRwb2ludE5hbWV9fSA8ZGl2IGNsYXNzPWVuZHBvaW50LXN0YXR1cz4gPHNwYW4gbmctaWY9ZW5kcG9pbnQuaXNTdGFsZSBjbGFzcz13YXJuaW5nPiA8aSBjbGFzcz1cXFwiZmEgcGEtZW5kcG9pbnQtbG9zdCBlbmRwb2ludC1kZXRhaWxzXFxcIiB1aWItdG9vbHRpcD1cXFwiVW5hYmxlIHRvIGNvbm5lY3QgdG8gZW5kcG9pbnRcXFwiPjwvaT4gPC9zcGFuPiA8c3BhbiBjbGFzcz13YXJuaW5nIG5nLWlmPWVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkPiA8aSBjbGFzcz1cXFwiZmEgcGEtbW9uaXRvcmluZy1sb3N0IGVuZHBvaW50LWRldGFpbHNcXFwiIHVpYi10b29sdGlwPVxcXCJVbmFibGUgdG8gY29ubmVjdCB0byBtb25pdG9yaW5nIHNlcnZlclxcXCI+PC9pPiA8L3NwYW4+IDxhIG5nLWlmPWVuZHBvaW50LmVycm9yQ291bnQgY2xhc3M9d2FybmluZyBocmVmPSMvZmFpbGVkLW1lc3NhZ2VzL2dyb3Vwcy97e2VuZHBvaW50TmFtZX19L3t7c291cmNlSW5kZXh9fS97e2VuZHBvaW50LnNlcnZpY2VDb250cm9sSWR9fT4gPGkgY2xhc3M9XFxcImZhIGZhLWVudmVsb3BlXFxcIj48L2k+IDxzcGFuIGNsYXNzPVxcXCJiYWRnZSBiYWRnZS1pbXBvcnRhbnQgbmctYmluZGluZ1xcXCI+e3tlbmRwb2ludC5lcnJvckNvdW50IHwgbWV0cmljc2xhcmdlbnVtYmVyfX08L3NwYW4+IDwvYT4gPC9kaXY+IDwvaDE+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBuby1zaWRlLXBhZGRpbmcgdG9vbGJhci1tZW51c1xcXCI+IDxkaXYgY2xhc3M9XFxcIm1zZy1ncm91cC1tZW51IGRyb3Bkb3duXFxcIj4gPGxhYmVsIGNsYXNzPWNvbnRyb2wtbGFiZWw+UGVyaW9kOjwvbGFiZWw+IDxidXR0b24gdHlwZT1idXR0b24gY2xhc3M9XFxcImJ0biBidG4tZGVmYXVsdCBkcm9wZG93bi10b2dnbGUgc3AtYnRuLW1lbnVcXFwiIGRhdGEtdG9nZ2xlPWRyb3Bkb3duIGFyaWEtaGFzcG9wdXA9dHJ1ZSBhcmlhLWV4cGFuZGVkPWZhbHNlPiB7e3NlbGVjdGVkUGVyaW9kLnRleHR9fSA8c3BhbiBjbGFzcz1jYXJldD48L3NwYW4+IDwvYnV0dG9uPiA8dWwgY2xhc3M9ZHJvcGRvd24tbWVudT4gPGxpIG5nLXJlcGVhdD1cXFwicGVyaW9kIGluIHBlcmlvZHNcXFwiPiA8YSBuZy1jbGljaz1zZWxlY3RQZXJpb2QocGVyaW9kKSBocmVmPVxcXCIjL2VuZHBvaW50X2RldGFpbHMve3tlbmRwb2ludE5hbWV9fS97e3NvdXJjZUluZGV4fX0/aGlzdG9yeVBlcmlvZD17e3BlcmlvZC52YWx1ZX19XFxcIj57e3BlcmlvZC50ZXh0fX08L2E+IDwvbGk+IDwvdWw+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb250YWluZXIgbGFyZ2UtZ3JhcGhzXFxcIj4gPGRpdiBjbGFzcz1jb250YWluZXI+IDxkaXYgY2xhc3M9cm93PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tNCBuby1zaWRlLXBhZGRpbmcgbGlzdC1zZWN0aW9uIGdyYXBoLWFyZWEgZ3JhcGgtcXVldWUtbGVuZ3RoXFxcIj4gPGxhcmdlLWdyYXBoIG5nLWlmPWVuZHBvaW50Lm1ldHJpY0RldGFpbHMubWV0cmljcy5xdWV1ZUxlbmd0aCBmaXJzdC1kYXRhLXNlcmllcz1lbmRwb2ludC5tZXRyaWNEZXRhaWxzLm1ldHJpY3MucXVldWVMZW5ndGggeGF4aXMtcG9pbnRzPWVuZHBvaW50Lm1ldHJpY0RldGFpbHMubWV0cmljcy5xdWV1ZUxlbmd0aC50aW1lQXhpc1ZhbHVlcyBtaW5pbXVtLXlheGlzPXt7bGFyZ2VHcmFwaHNNaW5pbXVtWUF4aXMucXVldWVMZW5ndGh9fSBwbG90LXdpZHRoPTc1MCBwbG90LWhlaWdodD0yMDAgZmlyc3Qtc2VyaWVzLWNvbG9yPSNFQTdFMDAgZmlyc3Qtc2VyaWVzLWZpbGwtY29sb3I9I0VBRERDRSBjbGFzcz1cXFwibGFyZ2UtZ3JhcGggcHVsbC1sZWZ0XFxcIj48L2xhcmdlLWdyYXBoPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nIGdyYXBoLXZhbHVlc1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBxdWV1ZS1sZW5ndGgtdmFsdWVzIHRvb2x0aXAtdHJpZ2dlclxcXCI+IDxkaXYgY2xhc3M9bWV0cmljLWRpZ2VzdC1oZWFkZXI+IFF1ZXVlIExlbmd0aCA8aSBjbGFzcz1cXFwiZmEgZmEtZmxhc2sgZmFrZS1saW5rXFxcIj48L2k+IDwvZGl2PiA8ZGl2IGNsYXNzPWludGVyYWN0aXZlLXRvb2x0aXA+IDxkaXYgY2xhc3M9dG9vbHRpcC1jb250ZW50cz4gPHA+UXVldWUgbGVuZ3RoOiBUaGUgZXN0aW1hdGVkIG51bWJlciBvZiBtZXNzYWdlcyBpbiBhbiBlbmRwb2ludCdzIHF1ZXVlLjwvcD4gPHA+Tk9URTogVGhpcyBpcyBhbiBleHBlcmltZW50YWwgZmVhdHVyZS4gPGEgaHJlZj1cXFwiaHR0cHM6Ly9kb2NzLnBhcnRpY3VsYXIubmV0L3NlYXJjaD9xPW5zZXJ2aWNlYnVzK3F1ZXVlK2xlbmd0aCttZXRyaWMrJTJiZXhwZXJpbWVudGFsXFxcIiB0YXJnZXQ9X2JsYW5rPkxlYXJuIG1vcmU8L2E+IDxpIGNsYXNzPVxcXCJmYSBmYS1leHRlcm5hbC1saW5rIGZha2UtbGlua1xcXCI+PC9pPjwvcD4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwicm93IG1ldHJpYy1kaWdlc3QtdmFsdWUgY3VycmVudFxcXCI+IDxkaXYgbmctaWY9XFxcImVuZHBvaW50LmlzU3RhbGUgPT0gZmFsc2UgJiYgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gZmFsc2VcXFwiPiB7e2VuZHBvaW50LmRpZ2VzdC5tZXRyaWNzLnF1ZXVlTGVuZ3RoLmxhdGVzdCB8IG1ldHJpY3NsYXJnZW51bWJlcjowfX0gPHNwYW4gbmctaWY9XFxcImVuZHBvaW50LmlzU3RhbGUgPT0gZmFsc2UgfHwgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gZmFsc2VcXFwiIGNsYXNzPW1ldHJpYy1kaWdlc3QtdmFsdWUtc3VmZml4Pk1TR1M8L3NwYW4+IDwvZGl2PiA8c3Ryb25nIG5nLWlmPVxcXCJlbmRwb2ludC5pc1N0YWxlIHx8IGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkXFxcIj4/PC9zdHJvbmc+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJyb3cgbWV0cmljLWRpZ2VzdC12YWx1ZSBhdmVyYWdlXFxcIj4gPGRpdiBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSA9PSBmYWxzZSAmJiBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZCA9PSBmYWxzZVxcXCI+IHt7ZW5kcG9pbnQuZGlnZXN0Lm1ldHJpY3MucXVldWVMZW5ndGguYXZlcmFnZSB8IG1ldHJpY3NsYXJnZW51bWJlcjowfX0gPHNwYW4gY2xhc3M9bWV0cmljLWRpZ2VzdC12YWx1ZS1zdWZmaXg+TVNHUzwvc3Bhbj4gPC9kaXY+IDxzdHJvbmcgbmctaWY9XFxcImVuZHBvaW50LmlzU3RhbGUgfHwgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWRcXFwiPj88L3N0cm9uZz4gPHNwYW4gbmctaWY9XFxcImVuZHBvaW50LmlzU3RhbGUgPT0gZmFsc2UgJiYgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gZmFsc2VcXFwiIGNsYXNzPW1ldHJpYy1kaWdlc3QtdmFsdWUtc3VmZml4PiBBVkc8L3NwYW4+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS00IG5vLXNpZGUtcGFkZGluZyBsaXN0LXNlY3Rpb24gZ3JhcGgtYXJlYSBncmFwaC1tZXNzYWdlLXJldHJpZXMtdGhyb3VnaHB1dHNcXFwiPiA8bGFyZ2UtZ3JhcGggbmctaWY9ZW5kcG9pbnQubWV0cmljRGV0YWlscy5tZXRyaWNzLnRocm91Z2hwdXQgZmlyc3QtZGF0YS1zZXJpZXM9ZW5kcG9pbnQubWV0cmljRGV0YWlscy5tZXRyaWNzLnRocm91Z2hwdXQgc2Vjb25kLWRhdGEtc2VyaWVzPWVuZHBvaW50Lm1ldHJpY0RldGFpbHMubWV0cmljcy5yZXRyaWVzIHhheGlzLXBvaW50cz1lbmRwb2ludC5tZXRyaWNEZXRhaWxzLm1ldHJpY3MudGhyb3VnaHB1dC50aW1lQXhpc1ZhbHVlcyBtaW5pbXVtLXlheGlzPXt7bGFyZ2VHcmFwaHNNaW5pbXVtWUF4aXMudGhyb3VnaHB1dFJldHJpZXN9fSBwbG90LXdpZHRoPTc1MCBwbG90LWhlaWdodD0yMDAgZmlyc3Qtc2VyaWVzLWNvbG9yPSMxNzYzOTcgZmlyc3Qtc2VyaWVzLWZpbGwtY29sb3I9I0NBRENFOCBzZWNvbmQtc2VyaWVzLWNvbG9yPSNDQzEyNTIgc2Vjb25kLXNlcmllcy1maWxsLWNvbG9yPSNFOUM0RDEgY2xhc3M9XFxcImxhcmdlLWdyYXBoIHB1bGwtbGVmdFxcXCI+PC9sYXJnZS1ncmFwaD4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTEyIG5vLXNpZGUtcGFkZGluZyBncmFwaC12YWx1ZXNcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tNiBuby1zaWRlLXBhZGRpbmcgdGhyb3VnaHB1dC12YWx1ZXNcXFwiPiA8ZGl2IGNsYXNzPXJvdz4gPHNwYW4gY2xhc3M9bWV0cmljLWRpZ2VzdC1oZWFkZXIgdWliLXRvb2x0aXA9XFxcIlRocm91Z2hwdXQ6IFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgcGVyIHNlY29uZCBzdWNjZXNzZnVsbHkgcHJvY2Vzc2VkIGJ5IGEgcmVjZWl2aW5nIGVuZHBvaW50LlxcXCI+IFRocm91Z2hwdXQgPC9zcGFuPiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwicm93IG1ldHJpYy1kaWdlc3QtdmFsdWUgY3VycmVudFxcXCI+IDxkaXYgbmctaWY9XFxcImVuZHBvaW50LmlzU3RhbGUgPT0gZmFsc2UgJiYgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gZmFsc2VcXFwiPiB7e2VuZHBvaW50LmRpZ2VzdC5tZXRyaWNzLnRocm91Z2hwdXQubGF0ZXN0IHwgbWV0cmljc2xhcmdlbnVtYmVyOjJ9fSA8c3BhbiBjbGFzcz1tZXRyaWMtZGlnZXN0LXZhbHVlLXN1ZmZpeD5NU0dTL1M8L3NwYW4+IDwvZGl2PiA8c3Ryb25nIG5nLWlmPVxcXCJlbmRwb2ludC5pc1N0YWxlIHx8IGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkXFxcIj4/PC9zdHJvbmc+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJyb3cgbWV0cmljLWRpZ2VzdC12YWx1ZSBhdmVyYWdlXFxcIj4gPGRpdiBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSA9PSBmYWxzZSAmJiBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZCA9PSBmYWxzZVxcXCI+IHt7ZW5kcG9pbnQuZGlnZXN0Lm1ldHJpY3MudGhyb3VnaHB1dC5hdmVyYWdlIHwgbWV0cmljc2xhcmdlbnVtYmVyOjJ9fSA8c3BhbiBjbGFzcz1tZXRyaWMtZGlnZXN0LXZhbHVlLXN1ZmZpeD5NU0dTL1M8L3NwYW4+IDwvZGl2PiA8c3Ryb25nIG5nLWlmPVxcXCJlbmRwb2ludC5pc1N0YWxlIHx8IGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkXFxcIj4/PC9zdHJvbmc+IDxzcGFuIG5nLWlmPVxcXCJlbmRwb2ludC5pc1N0YWxlID09IGZhbHNlICYmIGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkID09IGZhbHNlXFxcIiBjbGFzcz1tZXRyaWMtZGlnZXN0LXZhbHVlLXN1ZmZpeD4gQVZHPC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS02IG5vLXNpZGUtcGFkZGluZyBzY2hlZHVsZWQtcmV0cmllcy1yYXRlLXZhbHVlc1xcXCI+IDxkaXYgY2xhc3M9cm93PiA8c3BhbiBjbGFzcz1tZXRyaWMtZGlnZXN0LWhlYWRlciB1aWItdG9vbHRpcD1cXFwiU2NoZWR1bGVkIHJldHJ5IHJhdGU6IFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgcGVyIHNlY29uZCBzY2hlZHVsZWQgZm9yIHJldHJpZXMgKGltbWVkaWF0ZSBvciBkZWxheWVkKS5cXFwiPiBTY2hlZHVsZWQgUmV0cmllcyBSYXRlIDwvc3Bhbj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcInJvdyBtZXRyaWMtZGlnZXN0LXZhbHVlIGN1cnJlbnRcXFwiPiA8ZGl2IG5nLWlmPVxcXCJlbmRwb2ludC5pc1N0YWxlID09IGZhbHNlICYmIGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkID09IGZhbHNlXFxcIj4ge3tlbmRwb2ludC5kaWdlc3QubWV0cmljcy5yZXRyaWVzLmxhdGVzdCB8IG1ldHJpY3NsYXJnZW51bWJlcjoyfX0gPHNwYW4gY2xhc3M9bWV0cmljLWRpZ2VzdC12YWx1ZS1zdWZmaXg+TVNHUy9TPC9zcGFuPiA8L2Rpdj4gPHN0cm9uZyBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSB8fCBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZFxcXCI+Pzwvc3Ryb25nPiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwicm93IG1ldHJpYy1kaWdlc3QtdmFsdWUgYXZlcmFnZVxcXCI+IDxkaXYgbmctaWY9XFxcImVuZHBvaW50LmlzU3RhbGUgPT0gZmFsc2UgJiYgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gZmFsc2VcXFwiPiB7e2VuZHBvaW50LmRpZ2VzdC5tZXRyaWNzLnJldHJpZXMuYXZlcmFnZSB8IG1ldHJpY3NsYXJnZW51bWJlcjoyfX0gPHNwYW4gY2xhc3M9bWV0cmljLWRpZ2VzdC12YWx1ZS1zdWZmaXg+TVNHUy9TPC9zcGFuPiA8L2Rpdj4gPHN0cm9uZyBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSB8fCBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZFxcXCI+Pzwvc3Ryb25nPiA8c3BhbiBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSA9PSBmYWxzZSAmJiBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZCA9PSBmYWxzZVxcXCIgY2xhc3M9bWV0cmljLWRpZ2VzdC12YWx1ZS1zdWZmaXg+IEFWRzwvc3Bhbj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS00IG5vLXNpZGUtcGFkZGluZyBsaXN0LXNlY3Rpb24gZ3JhcGgtYXJlYSBncmFwaC1jcml0aWNhbC1wcm9jZXNzaW5nLXRpbWVzXFxcIj4gPGxhcmdlLWdyYXBoIG5nLWlmPWVuZHBvaW50Lm1ldHJpY0RldGFpbHMubWV0cmljcy5wcm9jZXNzaW5nVGltZSBmaXJzdC1kYXRhLXNlcmllcz1lbmRwb2ludC5tZXRyaWNEZXRhaWxzLm1ldHJpY3MuY3JpdGljYWxUaW1lIHNlY29uZC1kYXRhLXNlcmllcz1lbmRwb2ludC5tZXRyaWNEZXRhaWxzLm1ldHJpY3MucHJvY2Vzc2luZ1RpbWUgeGF4aXMtcG9pbnRzPWVuZHBvaW50Lm1ldHJpY0RldGFpbHMubWV0cmljcy5jcml0aWNhbFRpbWUudGltZUF4aXNWYWx1ZXMgbWluaW11bS15YXhpcz17e2xhcmdlR3JhcGhzTWluaW11bVlBeGlzLnByb2Nlc3NpbmdDcml0aWNhbH19IHBsb3Qtd2lkdGg9NzUwIHBsb3QtaGVpZ2h0PTIwMCBmaXJzdC1zZXJpZXMtY29sb3I9IzI3MDBDQiBmaXJzdC1zZXJpZXMtZmlsbC1jb2xvcj0jQzRCQ0U1IHNlY29uZC1zZXJpZXMtY29sb3I9IzI1ODEzNSBzZWNvbmQtc2VyaWVzLWZpbGwtY29sb3I9I0JFRTZDNSBpcy1kdXJhdGlvbi1ncmFwaD10cnVlIGNsYXNzPVxcXCJsYXJnZS1ncmFwaCBwdWxsLWxlZnRcXFwiPjwvbGFyZ2UtZ3JhcGg+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmcgZ3JhcGgtdmFsdWVzXFxcIj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTYgbm8tc2lkZS1wYWRkaW5nIHByb2Nlc3NpbmctdGltZS12YWx1ZXNcXFwiPiA8ZGl2IGNsYXNzPXJvdz4gPHNwYW4gY2xhc3M9bWV0cmljLWRpZ2VzdC1oZWFkZXIgdWliLXRvb2x0aXA9XFxcIlByb2Nlc3NpbmcgdGltZTogVGhlIHRpbWUgdGFrZW4gZm9yIGEgcmVjZWl2aW5nIGVuZHBvaW50IHRvIHN1Y2Nlc3NmdWxseSBwcm9jZXNzIGEgbWVzc2FnZS5cXFwiPiBQcm9jZXNzaW5nIFRpbWUgPC9zcGFuPiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwicm93IG1ldHJpYy1kaWdlc3QtdmFsdWUgY3VycmVudFxcXCI+IDxkaXYgbmctaWY9XFxcImVuZHBvaW50LmlzU3RhbGUgPT0gZmFsc2UgJiYgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gZmFsc2VcXFwiPiB7e2VuZHBvaW50LmRpZ2VzdC5tZXRyaWNzLnByb2Nlc3NpbmdUaW1lLmxhdGVzdCB8IGR1cmF0aW9uVmFsdWV9fSA8c3BhbiBjbGFzcz1tZXRyaWMtZGlnZXN0LXZhbHVlLXN1ZmZpeD57e2VuZHBvaW50LmRpZ2VzdC5tZXRyaWNzLnByb2Nlc3NpbmdUaW1lLmxhdGVzdCB8IGR1cmF0aW9uVW5pdH19PC9zcGFuPiA8L2Rpdj4gPHN0cm9uZyBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSB8fCBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZFxcXCI+Pzwvc3Ryb25nPiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwicm93IG1ldHJpYy1kaWdlc3QtdmFsdWUgYXZlcmFnZVxcXCI+IDxkaXYgbmctaWY9XFxcImVuZHBvaW50LmlzU3RhbGUgPT0gZmFsc2UgJiYgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gZmFsc2VcXFwiPiB7e2VuZHBvaW50LmRpZ2VzdC5tZXRyaWNzLnByb2Nlc3NpbmdUaW1lLmF2ZXJhZ2UgfCBkdXJhdGlvblZhbHVlfX0gPHNwYW4gY2xhc3M9bWV0cmljLWRpZ2VzdC12YWx1ZS1zdWZmaXg+e3tlbmRwb2ludC5kaWdlc3QubWV0cmljcy5wcm9jZXNzaW5nVGltZS5hdmVyYWdlIHwgZHVyYXRpb25Vbml0fX0gQVZHPC9zcGFuPiA8L2Rpdj4gPHN0cm9uZyBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSB8fCBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZFxcXCI+Pzwvc3Ryb25nPiA8c3BhbiBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSA9PSBmYWxzZSAmJiBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZCA9PSBmYWxzZVxcXCIgY2xhc3M9bWV0cmljLWRpZ2VzdC12YWx1ZS1zdWZmaXg+IEFWRzwvc3Bhbj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tNiBuby1zaWRlLXBhZGRpbmcgY3JpdGljYWwtdGltZS12YWx1ZXNcXFwiPiA8ZGl2IGNsYXNzPXJvdz4gPHNwYW4gY2xhc3M9bWV0cmljLWRpZ2VzdC1oZWFkZXIgdWliLXRvb2x0aXA9XFxcIkNyaXRpY2FsIHRpbWU6IFRoZSBlbGFwc2VkIHRpbWUgZnJvbSB3aGVuIGEgbWVzc2FnZSB3YXMgc2VudCwgdW50aWwgaXQgd2FzIHN1Y2Nlc3NmdWxseSBwcm9jZXNzZWQgYnkgYSByZWNlaXZpbmcgZW5kcG9pbnQuXFxcIj4gQ3JpdGljYWwgVGltZSA8L3NwYW4+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJyb3cgbWV0cmljLWRpZ2VzdC12YWx1ZSBjdXJyZW50XFxcIj4gPGRpdiBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSA9PSBmYWxzZSAmJiBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZCA9PSBmYWxzZVxcXCI+IHt7ZW5kcG9pbnQuZGlnZXN0Lm1ldHJpY3MuY3JpdGljYWxUaW1lLmxhdGVzdCB8IGR1cmF0aW9uVmFsdWV9fSA8c3BhbiBjbGFzcz1tZXRyaWMtZGlnZXN0LXZhbHVlLXN1ZmZpeD57e2VuZHBvaW50LmRpZ2VzdC5tZXRyaWNzLmNyaXRpY2FsVGltZS5sYXRlc3QgfCBkdXJhdGlvblVuaXR9fTwvc3Bhbj4gPC9kaXY+IDxzdHJvbmcgbmctaWY9XFxcImVuZHBvaW50LmlzU3RhbGUgfHwgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWRcXFwiPj88L3N0cm9uZz4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcInJvdyBtZXRyaWMtZGlnZXN0LXZhbHVlIGF2ZXJhZ2VcXFwiPiA8ZGl2IG5nLWlmPVxcXCJlbmRwb2ludC5pc1N0YWxlID09IGZhbHNlICYmIGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkID09IGZhbHNlXFxcIj4ge3tlbmRwb2ludC5kaWdlc3QubWV0cmljcy5jcml0aWNhbFRpbWUuYXZlcmFnZSB8IGR1cmF0aW9uVmFsdWV9fSA8c3BhbiBjbGFzcz1tZXRyaWMtZGlnZXN0LXZhbHVlLXN1ZmZpeD57e2VuZHBvaW50LmRpZ2VzdC5tZXRyaWNzLmNyaXRpY2FsVGltZS5hdmVyYWdlIHwgZHVyYXRpb25Vbml0fX0gPC9zcGFuPiA8L2Rpdj4gPHN0cm9uZyBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSB8fCBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZFxcXCI+Pzwvc3Ryb25nPiA8c3BhbiBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSA9PSBmYWxzZSAmJiBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZCA9PSBmYWxzZVxcXCIgY2xhc3M9bWV0cmljLWRpZ2VzdC12YWx1ZS1zdWZmaXg+IEFWRzwvc3Bhbj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9Y29udGFpbmVyPiA8YnVzeSBuZy1zaG93PWxvYWRpbmcgbWVzc2FnZT1cXFwiTG9hZGluZyBkZXRhaWxzXFxcIj48L2J1c3k+IDxkaXYgY2xhc3M9dGFicz4gPGg1IG5nLWNsYXNzPVxcXCJ7YWN0aXZlOiAhc2hvd0luc3RhbmNlc0JyZWFrZG93bn1cXFwiPiA8YSBuZy1jbGljaz1cXFwic2hvd0luc3RhbmNlc0JyZWFrZG93biA9IGZhbHNlXFxcIiBjbGFzcz1uZy1iaW5kaW5nPk1lc3NhZ2UgVHlwZXM8L2E+IDwvaDU+IDxoNSBuZy1jbGFzcz1cXFwie2FjdGl2ZTogc2hvd0luc3RhbmNlc0JyZWFrZG93bn1cXFwiPiA8YSBuZy1jbGljaz1cXFwic2hvd0luc3RhbmNlc0JyZWFrZG93biA9IHRydWVcXFwiIGNsYXNzPW5nLWJpbmRpbmc+SW5zdGFuY2VzPC9hPiA8L2g1PiA8L2Rpdj4gPHNlY3Rpb24gbmctaWY9c2hvd0luc3RhbmNlc0JyZWFrZG93biBjbGFzcz1lbmRwb2ludC1pbnN0YW5jZXM+IDxkaXYgY2xhc3M9cm93PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGJ1c3kgbmctc2hvdz1sb2FkaW5nIG1lc3NhZ2U9XFxcIkxvYWRpbmcgZGV0YWlsc1xcXCI+PC9idXN5PiA8ZGl2IG5nLXNob3c9IWxvYWRpbmcgY2xhc3M9XFxcInJvdyBib3ggYm94LW5vLWNsaWNrIHRhYmxlLWhlYWQtcm93XFxcIj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLThcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9Y29sLXNtLTEyPiBJbnN0YW5jZSBOYW1lIDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTEyIG5vLXNpZGUtcGFkZGluZ1xcXCIgdWliLXRvb2x0aXA9XFxcIlRocm91Z2hwdXQ6IFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgcGVyIHNlY29uZCBzdWNjZXNzZnVsbHkgcHJvY2Vzc2VkIGJ5IGEgcmVjZWl2aW5nIGVuZHBvaW50LlxcXCI+IFRocm91Z2hwdXQgPHNwYW4gY2xhc3M9dGFibGUtaGVhZGVyLXVuaXQ+KG1zZ3Mvcyk8L3NwYW4+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTEyIG5vLXNpZGUtcGFkZGluZ1xcXCIgdWliLXRvb2x0aXA9XFxcIlNjaGVkdWxlZCByZXRyeSByYXRlOiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHBlciBzZWNvbmQgc2NoZWR1bGVkIGZvciByZXRyaWVzIChpbW1lZGlhdGUgb3IgZGVsYXllZCkuXFxcIj4gU2NoZWR1bGVkIHJldHJ5IHJhdGUgPHNwYW4gY2xhc3M9dGFibGUtaGVhZGVyLXVuaXQ+KG1zZ3Mvcyk8L3NwYW4+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTEyIG5vLXNpZGUtcGFkZGluZ1xcXCIgdWliLXRvb2x0aXA9XFxcIlByb2Nlc3NpbmcgdGltZTogVGhlIHRpbWUgdGFrZW4gZm9yIGEgcmVjZWl2aW5nIGVuZHBvaW50IHRvIHN1Y2Nlc3NmdWxseSBwcm9jZXNzIGEgbWVzc2FnZS5cXFwiPiBQcm9jZXNzaW5nIFRpbWUgPHNwYW4gY2xhc3M9dGFibGUtaGVhZGVyLXVuaXQ+KHQpPC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmdcXFwiIHVpYi10b29sdGlwPVxcXCJDcml0aWNhbCB0aW1lOiBUaGUgZWxhcHNlZCB0aW1lIGZyb20gd2hlbiBhIG1lc3NhZ2Ugd2FzIHNlbnQsIHVudGlsIGl0IHdhcyBzdWNjZXNzZnVsbHkgcHJvY2Vzc2VkIGJ5IGEgcmVjZWl2aW5nIGVuZHBvaW50LlxcXCI+IENyaXRpY2FsIFRpbWUgPHNwYW4gY2xhc3M9dGFibGUtaGVhZGVyLXVuaXQ+KHQpPC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1yb3c+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94IGVuZHBvaW50LXJvd1xcXCIgbmctcmVwZWF0PVxcXCJpbnN0YW5jZSBpbiBlbmRwb2ludC5pbnN0YW5jZXNcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1yb3c+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC04IGVuZHBvaW50LW5hbWVcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1sZy1tYXgtOSBuby1zaWRlLXBhZGRpbmcgbGVhZFxcXCI+IHt7aW5zdGFuY2UubmFtZX19IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtbGctNCBlbmRwb2ludC1zdGF0dXNcXFwiPiA8c3BhbiBjbGFzcz13YXJuaW5nIG5nLWlmPWluc3RhbmNlLmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkPiA8aSBjbGFzcz1cXFwiZmEgcGEtbW9uaXRvcmluZy1sb3N0IGVuZHBvaW50LWRldGFpbHNcXFwiIHVpYi10b29sdGlwPVxcXCJVbmFibGUgdG8gY29ubmVjdCB0byBtb25pdG9yaW5nIHNlcnZlclxcXCI+PC9pPiA8L3NwYW4+IDxzcGFuIGNsYXNzPXdhcm5pbmcgbmctaWY9aW5zdGFuY2UuaXNTdGFsZT4gPGkgY2xhc3M9XFxcImZhIHBhLWVuZHBvaW50LWxvc3QgZW5kcG9pbnQtZGV0YWlsc1xcXCIgdWliLXRvb2x0aXA9XFxcIlVuYWJsZSB0byBjb25uZWN0IHRvIGluc3RhbmNlXFxcIj48L2k+IDwvc3Bhbj4gPHNwYW4gY2xhc3M9d2FybmluZyBuZy1pZj1pbnN0YW5jZS5lcnJvckNvdW50PiA8YSBuZy1pZj1pbnN0YW5jZS5lcnJvckNvdW50IGNsYXNzPVxcXCJ3YXJuaW5nIGJ0blxcXCIgaHJlZj0jL2ZhaWxlZC1tZXNzYWdlcy9ncm91cHMve3tlbmRwb2ludE5hbWV9fS97e3NvdXJjZUluZGV4fX0ve3tpbnN0YW5jZS5zZXJ2aWNlQ29udHJvbElkfX0+IDxpIGNsYXNzPVxcXCJmYSBmYS1lbnZlbG9wZVxcXCI+PC9pPiA8c3BhbiBjbGFzcz1cXFwiYmFkZ2UgYmFkZ2UtaW1wb3J0YW50IG5nLWJpbmRpbmdcXFwiPnt7aW5zdGFuY2UuZXJyb3JDb3VudCB8IG1ldHJpY3NsYXJnZW51bWJlcn19PC9zcGFuPiA8L2E+IDwvc3Bhbj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPW5vLXNpZGUtcGFkZGluZz4gPGdyYXBoIHBsb3QtZGF0YT1pbnN0YW5jZS5tZXRyaWNzLnRocm91Z2hwdXQgbWluaW11bS15YXhpcz17e3NtYWxsR3JhcGhzTWluaW11bVlBeGlzLnRocm91Z2hwdXR9fSBjbGFzcz1cXFwiZ3JhcGggdGhyb3VnaHB1dCBwdWxsLWxlZnRcXFwiPjwvZ3JhcGg+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJuby1zaWRlLXBhZGRpbmcgc3BhcmtsaW5lLXZhbHVlXFxcIj4ge3soaW5zdGFuY2UuaXNTdGFsZSA9PSB0cnVlIHx8IGluc3RhbmNlLmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkID09IHRydWUpID8gXFxcIlxcXCIgOiBpbnN0YW5jZS5tZXRyaWNzLnRocm91Z2hwdXQuZGlzcGxheVZhbHVlfX0gPHN0cm9uZyBuZy1pZj1cXFwiaW5zdGFuY2UuaXNTdGFsZSB8fCBpbnN0YW5jZS5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZFxcXCI+Pzwvc3Ryb25nPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9bm8tc2lkZS1wYWRkaW5nPiA8Z3JhcGggcGxvdC1kYXRhPWluc3RhbmNlLm1ldHJpY3MucmV0cmllcyBtaW5pbXVtLXlheGlzPXt7c21hbGxHcmFwaHNNaW5pbXVtWUF4aXMucmV0cmllc319IGNsYXNzPVxcXCJncmFwaCByZXRyaWVzIHB1bGwtbGVmdFxcXCI+PC9ncmFwaD4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcIm5vLXNpZGUtcGFkZGluZyBzcGFya2xpbmUtdmFsdWVcXFwiPiB7eyhpbnN0YW5jZS5pc1N0YWxlID09IHRydWUgfHwgaW5zdGFuY2UuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gdHJ1ZSkgPyBcXFwiXFxcIiA6IGluc3RhbmNlLm1ldHJpY3MucmV0cmllcy5kaXNwbGF5VmFsdWV9fSA8c3Ryb25nIG5nLWlmPVxcXCJpbnN0YW5jZS5pc1N0YWxlIHx8IGluc3RhbmNlLmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkXFxcIj4/PC9zdHJvbmc+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1uby1zaWRlLXBhZGRpbmc+IDxncmFwaCBwbG90LWRhdGE9aW5zdGFuY2UubWV0cmljcy5wcm9jZXNzaW5nVGltZSBtaW5pbXVtLXlheGlzPXt7c21hbGxHcmFwaHNNaW5pbXVtWUF4aXMucHJvY2Vzc2luZ1RpbWV9fSBjbGFzcz1cXFwiZ3JhcGggcHJvY2Vzc2luZy10aW1lIHB1bGwtbGVmdFxcXCI+PC9ncmFwaD4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcIm5vLXNpZGUtcGFkZGluZyBzcGFya2xpbmUtdmFsdWVcXFwiPiB7eyhpbnN0YW5jZS5pc1N0YWxlID09IHRydWUgfHwgaW5zdGFuY2UuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gdHJ1ZSkgPyBcXFwiXFxcIiA6IGluc3RhbmNlLm1ldHJpY3MucHJvY2Vzc2luZ1RpbWUuZGlzcGxheVZhbHVlLnZhbHVlfX0gPHNwYW4gbmctaWY9XFxcImluc3RhbmNlLmlzU3RhbGUgPT0gZmFsc2UgfHwgaW5zdGFuY2UuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gZmFsc2VcXFwiPnt7aW5zdGFuY2UubWV0cmljcy5wcm9jZXNzaW5nVGltZS5kaXNwbGF5VmFsdWUudW5pdH19PC9zcGFuPiA8c3Ryb25nIG5nLWlmPVxcXCJpbnN0YW5jZS5pc1N0YWxlIHx8IGluc3RhbmNlLmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkXFxcIj4/PC9zdHJvbmc+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1uby1zaWRlLXBhZGRpbmc+IDxncmFwaCBwbG90LWRhdGE9aW5zdGFuY2UubWV0cmljcy5jcml0aWNhbFRpbWUgbWluaW11bS15YXhpcz17e3NtYWxsR3JhcGhzTWluaW11bVlBeGlzLmNyaXRpY2FsVGltZX19IGNsYXNzPVxcXCJncmFwaCBjcml0aWNhbC10aW1lIHB1bGwtbGVmdFxcXCI+PC9ncmFwaD4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcIm5vLXNpZGUtcGFkZGluZyBzcGFya2xpbmUtdmFsdWVcXFwiPiB7eyhpbnN0YW5jZS5pc1N0YWxlID09IHRydWUgfHwgaW5zdGFuY2UuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gdHJ1ZSkgPyBcXFwiXFxcIiA6IGluc3RhbmNlLm1ldHJpY3MuY3JpdGljYWxUaW1lLmRpc3BsYXlWYWx1ZS52YWx1ZX19IDxzcGFuIG5nLWlmPVxcXCJpbnN0YW5jZS5pc1N0YWxlID09IGZhbHNlIHx8IGluc3RhbmNlLmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkID09IGZhbHNlXFxcIj57e2luc3RhbmNlLm1ldHJpY3MuY3JpdGljYWxUaW1lLmRpc3BsYXlWYWx1ZS51bml0fX08L3NwYW4+IDxzdHJvbmcgbmctaWY9XFxcImluc3RhbmNlLmlzU3RhbGUgfHwgaW5zdGFuY2UuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWRcXFwiPj88L3N0cm9uZz4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvc2VjdGlvbj4gPHNlY3Rpb24gbmctaWY9IXNob3dJbnN0YW5jZXNCcmVha2Rvd24gY2xhc3M9ZW5kcG9pbnQtbWVzc2FnZS10eXBlcz4gPGRpdiBjbGFzcz1yb3c+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmdcXFwiPiA8YnVzeSBuZy1zaG93PWxvYWRpbmcgbWVzc2FnZT1cXFwiTG9hZGluZyBkZXRhaWxzXFxcIj48L2J1c3k+IDxkaXYgbmctc2hvdz0hbG9hZGluZyBjbGFzcz1cXFwicm93IGJveCBib3gtbm8tY2xpY2sgdGFibGUtaGVhZC1yb3dcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtOFxcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1jb2wtc20tMTI+IE1lc3NhZ2UgdHlwZSBuYW1lIDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTEyIG5vLXNpZGUtcGFkZGluZ1xcXCIgdWliLXRvb2x0aXA9XFxcIlRocm91Z2hwdXQ6IFRoZSBudW1iZXIgb2YgbWVzc2FnZXMgcGVyIHNlY29uZCBzdWNjZXNzZnVsbHkgcHJvY2Vzc2VkIGJ5IGEgcmVjZWl2aW5nIGVuZHBvaW50LlxcXCI+IFRocm91Z2hwdXQgPHNwYW4gY2xhc3M9dGFibGUtaGVhZGVyLXVuaXQ+KG1zZ3Mvcyk8L3NwYW4+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTEyIG5vLXNpZGUtcGFkZGluZ1xcXCIgdWliLXRvb2x0aXA9XFxcIlNjaGVkdWxlZCByZXRyeSByYXRlOiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHBlciBzZWNvbmQgc2NoZWR1bGVkIGZvciByZXRyaWVzIChpbW1lZGlhdGUgb3IgZGVsYXllZCkuXFxcIj4gU2NoZWR1bGVkIHJldHJ5IHJhdGUgPHNwYW4gY2xhc3M9dGFibGUtaGVhZGVyLXVuaXQ+KG1zZ3Mvcyk8L3NwYW4+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTEyIG5vLXNpZGUtcGFkZGluZ1xcXCIgdWliLXRvb2x0aXA9XFxcIlByb2Nlc3NpbmcgdGltZTogVGhlIHRpbWUgdGFrZW4gZm9yIGEgcmVjZWl2aW5nIGVuZHBvaW50IHRvIHN1Y2Nlc3NmdWxseSBwcm9jZXNzIGEgbWVzc2FnZS5cXFwiPiBQcm9jZXNzaW5nIFRpbWUgPHNwYW4gY2xhc3M9dGFibGUtaGVhZGVyLXVuaXQ+KHQpPC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmdcXFwiIHVpYi10b29sdGlwPVxcXCJDcml0aWNhbCB0aW1lOiBUaGUgZWxhcHNlZCB0aW1lIGZyb20gd2hlbiBhIG1lc3NhZ2Ugd2FzIHNlbnQsIHVudGlsIGl0IHdhcyBzdWNjZXNzZnVsbHkgcHJvY2Vzc2VkIGJ5IGEgcmVjZWl2aW5nIGVuZHBvaW50LlxcXCI+IENyaXRpY2FsIFRpbWUgPHNwYW4gY2xhc3M9dGFibGUtaGVhZGVyLXVuaXQ+KHQpPC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1yb3c+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94IGVuZHBvaW50LXJvd1xcXCIgbmctcmVwZWF0PVxcXCJtZXNzYWdlVHlwZSBpbiBlbmRwb2ludC5tZXNzYWdlVHlwZXNcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1yb3c+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC04IGVuZHBvaW50LW5hbWVcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1sZy1tYXgtOSBuby1zaWRlLXBhZGRpbmcgbGVhZCBtZXNzYWdlLXR5cGUtbGFiZWxcXFwiPiA8ZGl2IGNsYXNzPWxlYWQ+IHt7bWVzc2FnZVR5cGUudHlwZU5hbWUgPyBtZXNzYWdlVHlwZS50eXBlTmFtZSA6ICdVbmtub3duJ319IDwvZGl2PiA8ZGl2IGNsYXNzPW1lc3NhZ2UtdHlwZS1wcm9wZXJ0aWVzPiA8ZGl2IG5nLXNob3c9XFxcInt7bWVzc2FnZVR5cGUudHlwZU5hbWUgJiYgbWVzc2FnZVR5cGUudHlwZU5hbWUgIT0gJ251bGwnfX1cXFwiIGNsYXNzPW1lc3NhZ2UtdHlwZS1wYXJ0Pnt7bWVzc2FnZVR5cGUuYXNzZW1ibHlOYW1lICsgJy0nICsgbWVzc2FnZVR5cGUuYXNzZW1ibHlWZXJzaW9ufX08L2Rpdj4gPGRpdiBuZy1zaG93PVxcXCJ7e21lc3NhZ2VUeXBlLmN1bHR1cmUgJiYgbWVzc2FnZVR5cGUuY3VsdHVyZSAhPSAnbnVsbCd9fVxcXCIgY2xhc3M9bWVzc2FnZS10eXBlLXBhcnQ+e3snQ3VsdHVyZT0nICsgbWVzc2FnZVR5cGUuY3VsdHVyZX19PC9kaXY+IDxkaXYgbmctc2hvdz1cXFwie3ttZXNzYWdlVHlwZS5wdWJsaWNLZXlUb2tlbiAmJiBtZXNzYWdlVHlwZS5wdWJsaWNLZXlUb2tlbiAhPSAnbnVsbCd9fVxcXCIgY2xhc3M9bWVzc2FnZS10eXBlLXBhcnQ+e3snUHVibGljS2V5VG9rZW49JyArIG1lc3NhZ2VUeXBlLnB1YmxpY0tleVRva2VufX08L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtbGctNCBuby1zaWRlLXBhZGRpbmcgZW5kcG9pbnQtc3RhdHVzIG1lc3NhZ2UtdHlwZS1zdGF0dXNcXFwiPiA8c3BhbiBjbGFzcz13YXJuaW5nIG5nLWlmPWVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkPiA8aSBjbGFzcz1cXFwiZmEgcGEtbW9uaXRvcmluZy1sb3N0IGVuZHBvaW50LWRldGFpbHNcXFwiIHVpYi10b29sdGlwPVxcXCJVbmFibGUgdG8gY29ubmVjdCB0byBtb25pdG9yaW5nIHNlcnZlclxcXCI+PC9pPiA8L3NwYW4+IDxzcGFuIGNsYXNzPXdhcm5pbmcgbmctaWY9ZW5kcG9pbnQuaXNTdGFsZT4gPGkgY2xhc3M9XFxcImZhIHBhLWVuZHBvaW50LWxvc3QgZW5kcG9pbnQtZGV0YWlsc1xcXCIgdWliLXRvb2x0aXA9XFxcIlVuYWJsZSB0byBjb25uZWN0IHRvIGluc3RhbmNlXFxcIj48L2k+IDwvc3Bhbj4gPHNwYW4gY2xhc3M9d2FybmluZyBuZy1pZj1lbmRwb2ludC5lcnJvckNvdW50PiA8YSBuZy1pZj1lbmRwb2ludC5lcnJvckNvdW50IGNsYXNzPVxcXCJ3YXJuaW5nIGJ0blxcXCIgaHJlZj0jL2ZhaWxlZC1tZXNzYWdlcy9ncm91cHMve3tlbmRwb2ludC5zZXJ2aWNlQ29udHJvbElkfX0+IDxpIGNsYXNzPVxcXCJmYSBmYS1lbnZlbG9wZVxcXCI+PC9pPiA8c3BhbiBjbGFzcz1cXFwiYmFkZ2UgYmFkZ2UtaW1wb3J0YW50IG5nLWJpbmRpbmdcXFwiPnt7ZW5kcG9pbnQuZXJyb3JDb3VudCB8IG1ldHJpY3NsYXJnZW51bWJlcn19PC9zcGFuPiA8L2E+IDwvc3Bhbj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPW5vLXNpZGUtcGFkZGluZz4gPGdyYXBoIHBsb3QtZGF0YT1tZXNzYWdlVHlwZS5tZXRyaWNzLnRocm91Z2hwdXQgbWluaW11bS15YXhpcz17e3NtYWxsR3JhcGhzTWluaW11bVlBeGlzLnRocm91Z2hwdXR9fSBjbGFzcz1cXFwiZ3JhcGggdGhyb3VnaHB1dCBwdWxsLWxlZnRcXFwiPjwvZ3JhcGg+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJuby1zaWRlLXBhZGRpbmcgc3BhcmtsaW5lLXZhbHVlXFxcIj4ge3soZW5kcG9pbnQuaXNTdGFsZSA9PSB0cnVlIHx8IGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkID09IHRydWUpID8gXFxcIlxcXCIgOiBtZXNzYWdlVHlwZS5tZXRyaWNzLnRocm91Z2hwdXQuZGlzcGxheVZhbHVlfX0gPHN0cm9uZyBuZy1pZj1cXFwiZW5kcG9pbnQuaXNTdGFsZSB8fCBlbmRwb2ludC5pc1NjTW9uaXRvcmluZ0Rpc2Nvbm5lY3RlZFxcXCI+Pzwvc3Ryb25nPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9bm8tc2lkZS1wYWRkaW5nPiA8Z3JhcGggcGxvdC1kYXRhPW1lc3NhZ2VUeXBlLm1ldHJpY3MucmV0cmllcyBtaW5pbXVtLXlheGlzPXt7c21hbGxHcmFwaHNNaW5pbXVtWUF4aXMucmV0cmllc319IGNsYXNzPVxcXCJncmFwaCByZXRyaWVzIHB1bGwtbGVmdFxcXCI+PC9ncmFwaD4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcIm5vLXNpZGUtcGFkZGluZyBzcGFya2xpbmUtdmFsdWVcXFwiPiB7eyhlbmRwb2ludC5pc1N0YWxlID09IHRydWUgfHwgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gdHJ1ZSkgPyBcXFwiXFxcIiA6IG1lc3NhZ2VUeXBlLm1ldHJpY3MucmV0cmllcy5kaXNwbGF5VmFsdWV9fSA8c3Ryb25nIG5nLWlmPVxcXCJlbmRwb2ludC5pc1N0YWxlIHx8IGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkXFxcIj4/PC9zdHJvbmc+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1uby1zaWRlLXBhZGRpbmc+IDxncmFwaCBwbG90LWRhdGE9bWVzc2FnZVR5cGUubWV0cmljcy5wcm9jZXNzaW5nVGltZSBtaW5pbXVtLXlheGlzPXt7c21hbGxHcmFwaHNNaW5pbXVtWUF4aXMucHJvY2Vzc2luZ1RpbWV9fSBjbGFzcz1cXFwiZ3JhcGggcHJvY2Vzc2luZy10aW1lIHB1bGwtbGVmdFxcXCI+PC9ncmFwaD4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcIm5vLXNpZGUtcGFkZGluZyBzcGFya2xpbmUtdmFsdWVcXFwiPiB7eyhlbmRwb2ludC5pc1N0YWxlID09IHRydWUgfHwgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gdHJ1ZSkgPyBcXFwiXFxcIiA6IG1lc3NhZ2VUeXBlLm1ldHJpY3MucHJvY2Vzc2luZ1RpbWUuZGlzcGxheVZhbHVlLnZhbHVlfX0gPHNwYW4gbmctaWY9XFxcImluc3RhbmNlLmlzU3RhbGUgPT0gZmFsc2UgfHwgaW5zdGFuY2UuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gZmFsc2VcXFwiPnt7bWVzc2FnZVR5cGUubWV0cmljcy5wcm9jZXNzaW5nVGltZS5kaXNwbGF5VmFsdWUudW5pdH19PC9zcGFuPiA8c3Ryb25nIG5nLWlmPVxcXCJlbmRwb2ludC5pc1N0YWxlIHx8IGVuZHBvaW50LmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkXFxcIj4/PC9zdHJvbmc+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1uby1zaWRlLXBhZGRpbmc+IDxncmFwaCBwbG90LWRhdGE9bWVzc2FnZVR5cGUubWV0cmljcy5jcml0aWNhbFRpbWUgbWluaW11bS15YXhpcz17e3NtYWxsR3JhcGhzTWluaW11bVlBeGlzLmNyaXRpY2FsVGltZX19IGNsYXNzPVxcXCJncmFwaCBjcml0aWNhbC10aW1lIHB1bGwtbGVmdFxcXCI+PC9ncmFwaD4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcIm5vLXNpZGUtcGFkZGluZyBzcGFya2xpbmUtdmFsdWVcXFwiPiB7eyhlbmRwb2ludC5pc1N0YWxlID09IHRydWUgfHwgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWQgPT0gdHJ1ZSkgPyBcXFwiXFxcIiA6IG1lc3NhZ2VUeXBlLm1ldHJpY3MuY3JpdGljYWxUaW1lLmRpc3BsYXlWYWx1ZS52YWx1ZX19IDxzcGFuIG5nLWlmPVxcXCJpbnN0YW5jZS5pc1N0YWxlID09IGZhbHNlIHx8IGluc3RhbmNlLmlzU2NNb25pdG9yaW5nRGlzY29ubmVjdGVkID09IGZhbHNlXFxcIj57e21lc3NhZ2VUeXBlLm1ldHJpY3MuY3JpdGljYWxUaW1lLmRpc3BsYXlWYWx1ZS51bml0fX08L3NwYW4+IDxzdHJvbmcgbmctaWY9XFxcImVuZHBvaW50LmlzU3RhbGUgfHwgZW5kcG9pbnQuaXNTY01vbml0b3JpbmdEaXNjb25uZWN0ZWRcXFwiPj88L3N0cm9uZz4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvc2VjdGlvbj4gPC9kaXY+XCI7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL3ZpZXdzL2VuZHBvaW50X2RldGFpbHMuaHRtbFxuLy8gbW9kdWxlIGlkID0gNjNcbi8vIG1vZHVsZSBjaHVua3MgPSAxIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///63\n"); + /***/ }), -/* 10 */ + +/***/ 64: /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n angular.module('endpoint_details', []);\n\n __webpack_require__(11);\n __webpack_require__(12);\n\n __webpack_require__(0);\n __webpack_require__(1);\n __webpack_require__(14);\n __webpack_require__(2);\n __webpack_require__(15);\n __webpack_require__(3);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2VuZHBvaW50X2RldGFpbHMubW9kdWxlLmpzPzRmMGIiXSwibmFtZXMiOlsid2luZG93IiwiYW5ndWxhciIsInVuZGVmaW5lZCIsIm1vZHVsZSIsInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7O0FBQUMsV0FBU0EsTUFBVCxFQUFpQkMsT0FBakIsRUFBMEJDLFNBQTFCLEVBQXFDO0FBQ2xDOztBQUVBRCxZQUFRRSxNQUFSLENBQWUsa0JBQWYsRUFBbUMsRUFBbkM7O0FBRUFDLElBQUEsbUJBQUFBLENBQVEsRUFBUjtBQUNBQSxJQUFBLG1CQUFBQSxDQUFRLEVBQVI7O0FBRUFBLElBQUEsbUJBQUFBLENBQVEsQ0FBUjtBQUNBQSxJQUFBLG1CQUFBQSxDQUFRLENBQVI7QUFDQUEsSUFBQSxtQkFBQUEsQ0FBUSxFQUFSO0FBQ0FBLElBQUEsbUJBQUFBLENBQVEsQ0FBUjtBQUNBQSxJQUFBLG1CQUFBQSxDQUFRLEVBQVI7QUFDQUEsSUFBQSxtQkFBQUEsQ0FBUSxDQUFSO0FBQ0gsQ0FkQSxFQWNDSixNQWRELEVBY1NBLE9BQU9DLE9BZGhCLENBQUQiLCJmaWxlIjoiMTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24od2luZG93LCBhbmd1bGFyLCB1bmRlZmluZWQpIHtcclxuICAgICd1c2Ugc3RyaWN0JztcclxuXHJcbiAgICBhbmd1bGFyLm1vZHVsZSgnZW5kcG9pbnRfZGV0YWlscycsIFtdKTtcclxuXHJcbiAgICByZXF1aXJlKCcuL2VuZHBvaW50X2RldGFpbHMuY29udHJvbGxlcicpO1xyXG4gICAgcmVxdWlyZSgnLi9lbmRwb2ludF9kZXRhaWxzLnJvdXRlLmpzJyk7XHJcblxyXG4gICAgcmVxdWlyZSgnLi9kaXJlY3RpdmVzL3VpLnBhcnRpY3VsYXIuZ3JhcGguanMnKTtcclxuICAgIHJlcXVpcmUoJy4vZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmdyYXBoZGVjaW1hbC5qcycpO1xyXG4gICAgcmVxdWlyZSgnLi9kaXJlY3RpdmVzL3VpLnBhcnRpY3VsYXIuZHVyYXRpb24uanMnKTtcclxuICAgIHJlcXVpcmUoJy4vZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmdyYXBoZHVyYXRpb24uanMnKTtcclxuICAgIHJlcXVpcmUoJy4vZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmxhcmdlR3JhcGguanMnKTtcclxuICAgIHJlcXVpcmUoJy4vZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLm1ldHJpY3NsYXJnZW51bWJlci5qcycpO1xyXG59KHdpbmRvdywgd2luZG93LmFuZ3VsYXIpKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2VuZHBvaW50X2RldGFpbHMubW9kdWxlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///10\n"); +eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n angular.module('ui.particular.duration', []).filter('duration', ['formatter', function (formatter) {\n return function (input) {\n var time = formatter.formatTime(input);\n return time.value + ' ' + time.unit;\n };\n }]).filter('durationValue', ['formatter', function (formatter) {\n return function (input) {\n return formatter.formatTime(input).value;\n };\n }]).filter('durationUnit', ['formatter', function (formatter) {\n return function (input) {\n return formatter.formatTime(input).unit;\n };\n }]);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5kdXJhdGlvbi5qcz85YjhlIl0sIm5hbWVzIjpbIndpbmRvdyIsImFuZ3VsYXIiLCJ1bmRlZmluZWQiLCJtb2R1bGUiLCJmaWx0ZXIiLCJmb3JtYXR0ZXIiLCJpbnB1dCIsInRpbWUiLCJmb3JtYXRUaW1lIiwidmFsdWUiLCJ1bml0Il0sIm1hcHBpbmdzIjoiOztBQUFDLFdBQVVBLE1BQVYsRUFBa0JDLE9BQWxCLEVBQTJCQyxTQUEzQixFQUFzQztBQUNuQzs7QUFFQUQsWUFBUUUsTUFBUixDQUFlLHdCQUFmLEVBQXlDLEVBQXpDLEVBQ0tDLE1BREwsQ0FDWSxVQURaLEVBQ3dCLENBQUMsV0FBRCxFQUFjLFVBQVVDLFNBQVYsRUFBcUI7QUFDbkQsZUFBTyxVQUFVQyxLQUFWLEVBQWlCO0FBQ3BCLGdCQUFJQyxPQUFPRixVQUFVRyxVQUFWLENBQXFCRixLQUFyQixDQUFYO0FBQ0EsbUJBQVVDLEtBQUtFLEtBQWYsU0FBd0JGLEtBQUtHLElBQTdCO0FBQ0gsU0FIRDtBQUlILEtBTG1CLENBRHhCLEVBT0tOLE1BUEwsQ0FPWSxlQVBaLEVBTzZCLENBQUMsV0FBRCxFQUFjLFVBQVVDLFNBQVYsRUFBcUI7QUFDeEQsZUFBTyxVQUFVQyxLQUFWLEVBQWlCO0FBQ3BCLG1CQUFPRCxVQUFVRyxVQUFWLENBQXFCRixLQUFyQixFQUE0QkcsS0FBbkM7QUFDSCxTQUZEO0FBR0gsS0FKd0IsQ0FQN0IsRUFZS0wsTUFaTCxDQVlZLGNBWlosRUFZNEIsQ0FBQyxXQUFELEVBQWMsVUFBVUMsU0FBVixFQUFxQjtBQUN2RCxlQUFPLFVBQVVDLEtBQVYsRUFBaUI7QUFDcEIsbUJBQU9ELFVBQVVHLFVBQVYsQ0FBcUJGLEtBQXJCLEVBQTRCSSxJQUFuQztBQUNILFNBRkQ7QUFHSCxLQUp1QixDQVo1QjtBQWlCSCxDQXBCQSxFQW9CQ1YsTUFwQkQsRUFvQlNBLE9BQU9DLE9BcEJoQixDQUFEIiwiZmlsZSI6IjY0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICh3aW5kb3csIGFuZ3VsYXIsIHVuZGVmaW5lZCkge1xyXG4gICAgJ3VzZSBzdHJpY3QnO1xyXG5cclxuICAgIGFuZ3VsYXIubW9kdWxlKCd1aS5wYXJ0aWN1bGFyLmR1cmF0aW9uJywgW10pXHJcbiAgICAgICAgLmZpbHRlcignZHVyYXRpb24nLCBbJ2Zvcm1hdHRlcicsIGZ1bmN0aW9uIChmb3JtYXR0ZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChpbnB1dCkge1xyXG4gICAgICAgICAgICAgICAgdmFyIHRpbWUgPSBmb3JtYXR0ZXIuZm9ybWF0VGltZShpbnB1dCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7dGltZS52YWx1ZX0gJHt0aW1lLnVuaXR9YDtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XSlcclxuICAgICAgICAuZmlsdGVyKCdkdXJhdGlvblZhbHVlJywgWydmb3JtYXR0ZXInLCBmdW5jdGlvbiAoZm9ybWF0dGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoaW5wdXQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZXIuZm9ybWF0VGltZShpbnB1dCkudmFsdWU7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfV0pXHJcbiAgICAgICAgLmZpbHRlcignZHVyYXRpb25Vbml0JywgWydmb3JtYXR0ZXInLCBmdW5jdGlvbiAoZm9ybWF0dGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoaW5wdXQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZXIuZm9ybWF0VGltZShpbnB1dCkudW5pdDtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XSk7XHJcbn0od2luZG93LCB3aW5kb3cuYW5ndWxhcikpO1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2FwcC9tb2R1bGVzL21vbml0b3JpbmcvanMvZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmR1cmF0aW9uLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///64\n"); /***/ }), -/* 11 */ + +/***/ 65: /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n function controller($scope, $routeParams, $location, toastService, serviceControlService, monitoringService, historyPeriods, $filter) {\n\n $scope.endpointName = $routeParams.endpointName;\n $scope.sourceIndex = $routeParams.sourceIndex;\n $scope.loading = true;\n $scope.showInstancesBreakdown = false;\n\n var subscription;\n\n $scope.periods = historyPeriods;\n $scope.selectedPeriod = $scope.periods[0];\n\n if ($location.$$search.historyPeriod) {\n $scope.selectedPeriod = $scope.periods[$scope.periods.findIndex(function (period) {\n return period.value == $location.$$search.historyPeriod;\n })];\n }\n\n $scope.selectPeriod = function (period) {\n $scope.selectedPeriod = period;\n\n updateUI();\n };\n\n function updateUI() {\n if (subscription) {\n subscription.dispose();\n }\n\n var selectedPeriod = $scope.selectedPeriod;\n\n subscription = monitoringService.createEndpointDetailsSource($routeParams.endpointName, $routeParams.sourceIndex, selectedPeriod.value, selectedPeriod.refreshInterval).subscribe(function (endpoint) {\n if (endpoint.error) {\n toastService.showWarning('Could not load endpoint details');\n } else {\n $scope.endpoint = endpoint;\n\n $scope.endpoint.instances.sort(function (first, second) {\n if (first.id < second.id) {\n return -1;\n }\n\n if (first.id > second.id) {\n return 1;\n }\n\n return 0;\n });\n\n $scope.loading = false;\n }\n\n $scope.endpoint.messageTypes.forEach(function (messageType) {\n return fillDisplayValues(messageType);\n });\n\n $scope.endpoint.isStale = true;\n\n $scope.endpoint.instances.forEach(function (instance) {\n fillDisplayValues(instance);\n serviceControlService.getExceptionGroupsForEndpointInstance(instance.id).then(function (result) {\n if (result.data.length > 0) {\n instance.serviceControlId = result.data[0].id;\n instance.errorCount = result.data[0].count;\n }\n }, function (err) {\n // Warn user?\n });\n\n $scope.endpoint.isStale = $scope.endpoint.isStale && instance.isStale;\n });\n });\n }\n\n function fillDisplayValues(instance) {\n $filter('graphduration')(instance.metrics.processingTime);\n $filter('graphduration')(instance.metrics.criticalTime);\n $filter('graphdecimal')(instance.metrics.throughput, 2);\n $filter('graphdecimal')(instance.metrics.retries, 2);\n }\n\n $scope.$on(\"$destroy\", function handler() {\n subscription.dispose();\n });\n\n updateUI();\n }\n\n controller.$inject = ['$scope', '$routeParams', '$location', 'toastService', 'serviceControlService', 'monitoringService', 'historyPeriods', '$filter'];\n\n angular.module('endpoint_details').controller('endpointDetailsCtrl', controller);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2VuZHBvaW50X2RldGFpbHMuY29udHJvbGxlci5qcz9kZjg0Il0sIm5hbWVzIjpbIndpbmRvdyIsImFuZ3VsYXIiLCJ1bmRlZmluZWQiLCJjb250cm9sbGVyIiwiJHNjb3BlIiwiJHJvdXRlUGFyYW1zIiwiJGxvY2F0aW9uIiwidG9hc3RTZXJ2aWNlIiwic2VydmljZUNvbnRyb2xTZXJ2aWNlIiwibW9uaXRvcmluZ1NlcnZpY2UiLCJoaXN0b3J5UGVyaW9kcyIsIiRmaWx0ZXIiLCJlbmRwb2ludE5hbWUiLCJzb3VyY2VJbmRleCIsImxvYWRpbmciLCJzaG93SW5zdGFuY2VzQnJlYWtkb3duIiwic3Vic2NyaXB0aW9uIiwicGVyaW9kcyIsInNlbGVjdGVkUGVyaW9kIiwiJCRzZWFyY2giLCJoaXN0b3J5UGVyaW9kIiwiZmluZEluZGV4IiwicGVyaW9kIiwidmFsdWUiLCJzZWxlY3RQZXJpb2QiLCJ1cGRhdGVVSSIsImRpc3Bvc2UiLCJjcmVhdGVFbmRwb2ludERldGFpbHNTb3VyY2UiLCJyZWZyZXNoSW50ZXJ2YWwiLCJzdWJzY3JpYmUiLCJlbmRwb2ludCIsImVycm9yIiwic2hvd1dhcm5pbmciLCJpbnN0YW5jZXMiLCJzb3J0IiwiZmlyc3QiLCJzZWNvbmQiLCJpZCIsIm1lc3NhZ2VUeXBlcyIsImZvckVhY2giLCJtZXNzYWdlVHlwZSIsImZpbGxEaXNwbGF5VmFsdWVzIiwiaXNTdGFsZSIsImluc3RhbmNlIiwiZ2V0RXhjZXB0aW9uR3JvdXBzRm9yRW5kcG9pbnRJbnN0YW5jZSIsInRoZW4iLCJyZXN1bHQiLCJkYXRhIiwibGVuZ3RoIiwic2VydmljZUNvbnRyb2xJZCIsImVycm9yQ291bnQiLCJjb3VudCIsImVyciIsIm1ldHJpY3MiLCJwcm9jZXNzaW5nVGltZSIsImNyaXRpY2FsVGltZSIsInRocm91Z2hwdXQiLCJyZXRyaWVzIiwiJG9uIiwiaGFuZGxlciIsIiRpbmplY3QiLCJt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bih3aW5kb3csIGFuZ3VsYXIsIHVuZGVmaW5lZCkge1xyXG4gICAgJ3VzZSBzdHJpY3QnO1xyXG5cclxuICAgIGZ1bmN0aW9uIGNvbnRyb2xsZXIoXHJcbiAgICAgICAgJHNjb3BlLFxyXG4gICAgICAgICRyb3V0ZVBhcmFtcyxcclxuICAgICAgICAkbG9jYXRpb24sXHJcbiAgICAgICAgdG9hc3RTZXJ2aWNlLFxyXG4gICAgICAgIHNlcnZpY2VDb250cm9sU2VydmljZSxcclxuICAgICAgICBtb25pdG9yaW5nU2VydmljZSxcclxuICAgICAgICBoaXN0b3J5UGVyaW9kcyxcclxuICAgICAgICAkZmlsdGVyKSB7XHJcblxyXG4gICAgICAgICRzY29wZS5lbmRwb2ludE5hbWUgPSAkcm91dGVQYXJhbXMuZW5kcG9pbnROYW1lO1xyXG4gICAgICAgICRzY29wZS5zb3VyY2VJbmRleCA9ICRyb3V0ZVBhcmFtcy5zb3VyY2VJbmRleDtcclxuICAgICAgICAkc2NvcGUubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgJHNjb3BlLnNob3dJbnN0YW5jZXNCcmVha2Rvd24gPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdmFyIHN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICAgICAgJHNjb3BlLnBlcmlvZHMgPSBoaXN0b3J5UGVyaW9kcztcclxuICAgICAgICAkc2NvcGUuc2VsZWN0ZWRQZXJpb2QgPSAkc2NvcGUucGVyaW9kc1swXTtcclxuXHJcbiAgICAgICAgaWYgKCRsb2NhdGlvbi4kJHNlYXJjaC5oaXN0b3J5UGVyaW9kKSB7XHJcbiAgICAgICAgICAgICRzY29wZS5zZWxlY3RlZFBlcmlvZCA9ICRzY29wZS5wZXJpb2RzWyRzY29wZS5wZXJpb2RzLmZpbmRJbmRleChmdW5jdGlvbiAocGVyaW9kKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcGVyaW9kLnZhbHVlID09ICRsb2NhdGlvbi4kJHNlYXJjaC5oaXN0b3J5UGVyaW9kO1xyXG4gICAgICAgICAgICB9KV07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAkc2NvcGUuc2VsZWN0UGVyaW9kID0gZnVuY3Rpb24gKHBlcmlvZCkge1xyXG4gICAgICAgICAgICAkc2NvcGUuc2VsZWN0ZWRQZXJpb2QgPSBwZXJpb2Q7XHJcblxyXG4gICAgICAgICAgICB1cGRhdGVVSSgpO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZVVJKCkge1xyXG4gICAgICAgICAgICBpZiAoc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb24uZGlzcG9zZSgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB2YXIgc2VsZWN0ZWRQZXJpb2QgPSAkc2NvcGUuc2VsZWN0ZWRQZXJpb2Q7XHJcblxyXG4gICAgICAgICAgICBzdWJzY3JpcHRpb24gPSBtb25pdG9yaW5nU2VydmljZS5jcmVhdGVFbmRwb2ludERldGFpbHNTb3VyY2UoJHJvdXRlUGFyYW1zLmVuZHBvaW50TmFtZSwgJHJvdXRlUGFyYW1zLnNvdXJjZUluZGV4LCBzZWxlY3RlZFBlcmlvZC52YWx1ZSwgc2VsZWN0ZWRQZXJpb2QucmVmcmVzaEludGVydmFsKS5zdWJzY3JpYmUoZnVuY3Rpb24gKGVuZHBvaW50KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZW5kcG9pbnQuZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgICAgICB0b2FzdFNlcnZpY2Uuc2hvd1dhcm5pbmcoJ0NvdWxkIG5vdCBsb2FkIGVuZHBvaW50IGRldGFpbHMnKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVuZHBvaW50ID0gZW5kcG9pbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICRzY29wZS5lbmRwb2ludC5pbnN0YW5jZXMuc29ydChmdW5jdGlvbiAoZmlyc3QsIHNlY29uZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlyc3QuaWQgPCBzZWNvbmQuaWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpcnN0LmlkID4gc2Vjb25kLmlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICRzY29wZS5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICRzY29wZS5lbmRwb2ludC5tZXNzYWdlVHlwZXMuZm9yRWFjaCggKG1lc3NhZ2VUeXBlKSA9PiBmaWxsRGlzcGxheVZhbHVlcyhtZXNzYWdlVHlwZSkpO1xyXG5cclxuICAgICAgICAgICAgICAgICRzY29wZS5lbmRwb2ludC5pc1N0YWxlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAkc2NvcGUuZW5kcG9pbnQuaW5zdGFuY2VzLmZvckVhY2goZnVuY3Rpb24gKGluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbERpc3BsYXlWYWx1ZXMoaW5zdGFuY2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHNlcnZpY2VDb250cm9sU2VydmljZS5nZXRFeGNlcHRpb25Hcm91cHNGb3JFbmRwb2ludEluc3RhbmNlKGluc3RhbmNlLmlkKS50aGVuKGZ1bmN0aW9uIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5kYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLnNlcnZpY2VDb250cm9sSWQgPSByZXN1bHQuZGF0YVswXS5pZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmVycm9yQ291bnQgPSByZXN1bHQuZGF0YVswXS5jb3VudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2FybiB1c2VyP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVuZHBvaW50LmlzU3RhbGUgPSAkc2NvcGUuZW5kcG9pbnQuaXNTdGFsZSAmJiBpbnN0YW5jZS5pc1N0YWxlO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZnVuY3Rpb24gZmlsbERpc3BsYXlWYWx1ZXMoaW5zdGFuY2UpIHtcclxuICAgICAgICAgICAgJGZpbHRlcignZ3JhcGhkdXJhdGlvbicpKGluc3RhbmNlLm1ldHJpY3MucHJvY2Vzc2luZ1RpbWUpO1xyXG4gICAgICAgICAgICAkZmlsdGVyKCdncmFwaGR1cmF0aW9uJykoaW5zdGFuY2UubWV0cmljcy5jcml0aWNhbFRpbWUpO1xyXG4gICAgICAgICAgICAkZmlsdGVyKCdncmFwaGRlY2ltYWwnKShpbnN0YW5jZS5tZXRyaWNzLnRocm91Z2hwdXQsIDIpO1xyXG4gICAgICAgICAgICAkZmlsdGVyKCdncmFwaGRlY2ltYWwnKShpbnN0YW5jZS5tZXRyaWNzLnJldHJpZXMsIDIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJHNjb3BlLiRvbihcIiRkZXN0cm95XCIsIGZ1bmN0aW9uIGhhbmRsZXIoKSB7XHJcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi5kaXNwb3NlKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHVwZGF0ZVVJKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29udHJvbGxlci4kaW5qZWN0ID0gW1xyXG4gICAgICAgICckc2NvcGUnLFxyXG4gICAgICAgICckcm91dGVQYXJhbXMnLFxyXG4gICAgICAgICckbG9jYXRpb24nLFxyXG4gICAgICAgICd0b2FzdFNlcnZpY2UnLFxyXG4gICAgICAgICdzZXJ2aWNlQ29udHJvbFNlcnZpY2UnLFxyXG4gICAgICAgICdtb25pdG9yaW5nU2VydmljZScsXHJcbiAgICAgICAgJ2hpc3RvcnlQZXJpb2RzJyxcclxuICAgICAgICAnJGZpbHRlcidcclxuICAgIF07XHJcblxyXG4gICAgYW5ndWxhci5tb2R1bGUoJ2VuZHBvaW50X2RldGFpbHMnKVxyXG4gICAgICAgIC5jb250cm9sbGVyKCdlbmRwb2ludERldGFpbHNDdHJsJywgY29udHJvbGxlcik7XHJcblxyXG59KHdpbmRvdywgd2luZG93LmFuZ3VsYXIpKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2VuZHBvaW50X2RldGFpbHMuY29udHJvbGxlci5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///11\n"); +eval("\n\n(function (window, angular) {\n 'use strict';\n\n function drawDataSeries(chart, data, color, fillColor, scaleX, scaleY) {\n\n var area = d3.area().x(function (d, i) {\n return scaleX(i);\n }).y(function (d) {\n return scaleY(d);\n }).y1(function () {\n return scaleY(0);\n }).curve(d3.curveLinear);\n\n var line = d3.line().x(function (d, i) {\n return scaleX(i);\n }).y(function (d, i) {\n return scaleY(d);\n }).curve(d3.curveLinear);\n\n var group = chart.append('g').attr('class', 'dataSeries');\n\n group.append('path').datum(data.points).attr('d', area).attr('fill', fillColor).attr('opacity', 0.8).attr('stroke', fillColor);\n\n group.append('path').datum(data.points).attr('d', line).attr('stroke', color).attr('stroke-width', 2.75).attr('fill', 'none');\n }\n\n function drawAverageLine(chart, data, color, fillColor, scaleX, scaleY) {\n\n var line = d3.line().x(function (d, i) {\n return scaleX(i);\n }).y(function (d, i) {\n return scaleY(d);\n }).curve(d3.curveLinear);\n\n var group = chart.append('g').attr('class', 'dataAverage');\n\n group.append('path').datum(Array(data.points.length).fill(data.average)).attr('d', line).attr('stroke', color).attr('stroke-width', 1.5).attr('opacity', 0.5).attr('stroke-dasharray', '10,10');\n }\n\n function padToWholeValue(value) {\n var emptyDataSetyAxisMax = 10;\n\n if (!value) {\n return emptyDataSetyAxisMax;\n }\n\n var upperBound = 10;\n\n while (value > upperBound) {\n upperBound *= 10;\n }\n\n upperBound /= 10;\n\n return Math.floor(value / upperBound) * upperBound + upperBound;\n }\n\n angular.module('ui.particular.largeGraph', []).directive('largeGraph', function (formatter) {\n return {\n restrict: 'E',\n scope: {\n dates: '=xaxisPoints',\n firstDataSeries: '=firstDataSeries',\n secondDataSeries: '=secondDataSeries',\n isDurationGraph: '=isDurationGraph',\n minimumYaxis: '@',\n width: '=plotWidth',\n height: '=plotHeight'\n },\n template: '',\n link: function link(scope, element, attrs) {\n scope.$watch('firstDataSeries', function () {\n\n var svg = element.find('svg')[0];\n\n d3.select(svg).selectAll('*').remove();\n\n var topMargin = 10;\n var bottomMargin = 5;\n var leftMargin = 60;\n\n var chart = d3.select(svg).attr('width', scope.width).attr('height', scope.height);\n\n var width = svg.clientWidth;\n var height = svg.clientHeight;\n\n //HINT: This is workaround for Firefox\n if (width === 0) {\n var box = svg.getBoundingClientRect();\n\n width = box.right - box.left;\n height = box.bottom - box.top;\n }\n\n var firstSeries = scope.firstDataSeries;\n var secondSeries = scope.secondDataSeries;\n\n var scaleX = d3.scaleLinear().domain([0, firstSeries.points.length - 1]).range([leftMargin, width]);\n\n chart.append('rect').attr('width', width - leftMargin).attr('height', height - topMargin - bottomMargin).attr('transform', 'translate(' + leftMargin + ',' + topMargin + ')').attr('fill', '#F2F6F7');\n\n var minimumYaxis = !isNaN(scope.minimumYaxis) ? Number(scope.minimumYaxis) : 10;\n var max = Math.max(firstSeries.average, d3.max(firstSeries.points), minimumYaxis);\n\n if (secondSeries && secondSeries.points.length > 0) {\n max = Math.max(max, secondSeries.average, d3.max(secondSeries.points));\n }\n\n var max = padToWholeValue(max);\n\n var scaleY = d3.scaleLinear().domain([0, max]).range([height - bottomMargin, topMargin]);\n\n var yAxis = d3.axisLeft(scaleY).tickValues([0, max * 1 / 4, max * 1 / 2, max * 3 / 4, max]);\n\n if (scope.isDurationGraph) {\n yAxis = yAxis.tickFormat(function (v) {\n var formattedTime = formatter.formatTime(v);\n\n return formattedTime.value + ' ' + formattedTime.unit;\n });\n }\n\n chart.append('g').attr('class', 'y axis').attr('transform', 'translate(' + leftMargin + ', 0)').call(function (g) {\n g.call(yAxis);\n g.select('.domain').remove();\n g.selectAll('.tick line').attr('stroke', 'black').attr('stroke-width', '1.75').attr('opacity', 0.1).attr('x', 0).attr('x2', width - leftMargin);\n g.selectAll('.tick text').attr('x', -4).attr('fill', '#828282');\n });\n\n var drawSeries = function drawSeries(data, lineColor, fillColor) {\n drawDataSeries(chart, data, lineColor, fillColor, scaleX, scaleY);\n };\n\n var drawAverage = function drawAverage(data, lineColor, fillColor) {\n drawAverageLine(chart, data, lineColor, fillColor, scaleX, scaleY);\n };\n\n drawSeries(firstSeries, attrs.firstSeriesColor, attrs.firstSeriesFillColor);\n\n if (secondSeries) {\n drawSeries(secondSeries, attrs.secondSeriesColor, attrs.secondSeriesFillColor);\n }\n\n drawAverage(firstSeries, attrs.firstSeriesColor, attrs.firstSeriesFillColor);\n\n if (secondSeries) {\n drawAverage(secondSeries, attrs.secondSeriesColor, attrs.secondSeriesFillColor);\n }\n });\n }\n };\n });\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5sYXJnZUdyYXBoLmpzPzA3MGIiXSwibmFtZXMiOlsid2luZG93IiwiYW5ndWxhciIsImRyYXdEYXRhU2VyaWVzIiwiY2hhcnQiLCJkYXRhIiwiY29sb3IiLCJmaWxsQ29sb3IiLCJzY2FsZVgiLCJzY2FsZVkiLCJhcmVhIiwiZDMiLCJ4IiwiZCIsImkiLCJ5IiwieTEiLCJjdXJ2ZSIsImN1cnZlTGluZWFyIiwibGluZSIsImdyb3VwIiwiYXBwZW5kIiwiYXR0ciIsImRhdHVtIiwicG9pbnRzIiwiZHJhd0F2ZXJhZ2VMaW5lIiwiQXJyYXkiLCJsZW5ndGgiLCJmaWxsIiwiYXZlcmFnZSIsInBhZFRvV2hvbGVWYWx1ZSIsInZhbHVlIiwiZW1wdHlEYXRhU2V0eUF4aXNNYXgiLCJ1cHBlckJvdW5kIiwiTWF0aCIsImZsb29yIiwibW9kdWxlIiwiZGlyZWN0aXZlIiwiZm9ybWF0dGVyIiwicmVzdHJpY3QiLCJzY29wZSIsImRhdGVzIiwiZmlyc3REYXRhU2VyaWVzIiwic2Vjb25kRGF0YVNlcmllcyIsImlzRHVyYXRpb25HcmFwaCIsIm1pbmltdW1ZYXhpcyIsIndpZHRoIiwiaGVpZ2h0IiwidGVtcGxhdGUiLCJsaW5rIiwiZWxlbWVudCIsImF0dHJzIiwiJHdhdGNoIiwic3ZnIiwiZmluZCIsInNlbGVjdCIsInNlbGVjdEFsbCIsInJlbW92ZSIsInRvcE1hcmdpbiIsImJvdHRvbU1hcmdpbiIsImxlZnRNYXJnaW4iLCJjbGllbnRXaWR0aCIsImNsaWVudEhlaWdodCIsImJveCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInJpZ2h0IiwibGVmdCIsImJvdHRvbSIsInRvcCIsImZpcnN0U2VyaWVzIiwic2Vjb25kU2VyaWVzIiwic2NhbGVMaW5lYXIiLCJkb21haW4iLCJyYW5nZSIsImlzTmFOIiwiTnVtYmVyIiwibWF4IiwieUF4aXMiLCJheGlzTGVmdCIsInRpY2tWYWx1ZXMiLCJ0aWNrRm9ybWF0IiwidiIsImZvcm1hdHRlZFRpbWUiLCJmb3JtYXRUaW1lIiwidW5pdCIsImNhbGwiLCJnIiwiZHJhd1NlcmllcyIsImxpbmVDb2xvciIsImRyYXdBdmVyYWdlIiwiZmlyc3RTZXJpZXNDb2xvciIsImZpcnN0U2VyaWVzRmlsbENvbG9yIiwic2Vjb25kU2VyaWVzQ29sb3IiLCJzZWNvbmRTZXJpZXNGaWxsQ29sb3IiXSwibWFwcGluZ3MiOiI7O0FBQUMsV0FBU0EsTUFBVCxFQUFpQkMsT0FBakIsRUFBMEI7QUFDdkI7O0FBRUEsYUFBU0MsY0FBVCxDQUF3QkMsS0FBeEIsRUFBK0JDLElBQS9CLEVBQXFDQyxLQUFyQyxFQUE0Q0MsU0FBNUMsRUFBdURDLE1BQXZELEVBQStEQyxNQUEvRCxFQUF1RTs7QUFFbkUsWUFBSUMsT0FBT0MsR0FBR0QsSUFBSCxHQUNORSxDQURNLENBQ0osVUFBVUMsQ0FBVixFQUFhQyxDQUFiLEVBQWdCO0FBQUUsbUJBQU9OLE9BQU9NLENBQVAsQ0FBUDtBQUFrQixTQURoQyxFQUVOQyxDQUZNLENBRUosVUFBVUYsQ0FBVixFQUFnQjtBQUFFLG1CQUFPSixPQUFPSSxDQUFQLENBQVA7QUFBbUIsU0FGakMsRUFHTkcsRUFITSxDQUdILFlBQWU7QUFBRSxtQkFBT1AsT0FBTyxDQUFQLENBQVA7QUFBbUIsU0FIakMsRUFJTlEsS0FKTSxDQUlBTixHQUFHTyxXQUpILENBQVg7O0FBTUEsWUFBSUMsT0FBT1IsR0FBR1EsSUFBSCxHQUNOUCxDQURNLENBQ0osVUFBVUMsQ0FBVixFQUFhQyxDQUFiLEVBQWdCO0FBQUUsbUJBQU9OLE9BQU9NLENBQVAsQ0FBUDtBQUFrQixTQURoQyxFQUVOQyxDQUZNLENBRUosVUFBVUYsQ0FBVixFQUFhQyxDQUFiLEVBQWdCO0FBQUUsbUJBQU9MLE9BQU9JLENBQVAsQ0FBUDtBQUFrQixTQUZoQyxFQUdOSSxLQUhNLENBR0FOLEdBQUdPLFdBSEgsQ0FBWDs7QUFLQSxZQUFJRSxRQUFRaEIsTUFBTWlC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d0JBQUlnRixjQUFjLFNBQWRBLFdBQWMsQ0FBU3BGLElBQVQsRUFBZW1GLFNBQWYsRUFBMEJqRixTQUExQixFQUFxQztBQUNuRGtCLHdDQUFnQnJCLEtBQWhCLEVBQXVCQyxJQUF2QixFQUE2Qm1GLFNBQTdCLEVBQXdDakYsU0FBeEMsRUFBbURDLE1BQW5ELEVBQTJEQyxNQUEzRDtBQUNILHFCQUZEOztBQUlBOEUsK0JBQVdsQixXQUFYLEVBQXdCbEIsTUFBTXVDLGdCQUE5QixFQUFnRHZDLE1BQU13QyxvQkFBdEQ7O0FBRUEsd0JBQUlyQixZQUFKLEVBQWtCO0FBQ2RpQixtQ0FBV2pCLFlBQVgsRUFBeUJuQixNQUFNeUMsaUJBQS9CLEVBQWlEekMsTUFBTTBDLHFCQUF2RDtBQUNIOztBQUVESixnQ0FBWXBCLFdBQVosRUFBeUJsQixNQUFNdUMsZ0JBQS9CLEVBQWlEdkMsTUFBTXdDLG9CQUF2RDs7QUFFQSx3QkFBSXJCLFlBQUosRUFBa0I7QUFDZG1CLG9DQUFZbkIsWUFBWixFQUEwQm5CLE1BQU15QyxpQkFBaEMsRUFBbUR6QyxNQUFNMEMscUJBQXpEO0FBQ0g7QUFDSixpQkEzRkQ7QUE0Rkg7QUF6R0UsU0FBUDtBQTJHSCxLQTlHVDtBQWdISCxDQXJMQSxFQXFMQzVGLE1BckxELEVBcUxTQSxPQUFPQyxPQXJMaEIsQ0FBRCIsImZpbGUiOiI2NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbih3aW5kb3csIGFuZ3VsYXIpIHtcclxuICAgICd1c2Ugc3RyaWN0JztcclxuXHJcbiAgICBmdW5jdGlvbiBkcmF3RGF0YVNlcmllcyhjaGFydCwgZGF0YSwgY29sb3IsIGZpbGxDb2xvciwgc2NhbGVYLCBzY2FsZVkpIHtcclxuXHJcbiAgICAgICAgdmFyIGFyZWEgPSBkMy5hcmVhKClcclxuICAgICAgICAgICAgLngoZnVuY3Rpb24gKGQsIGkpIHsgcmV0dXJuIHNjYWxlWChpKTt9KVxyXG4gICAgICAgICAgICAueShmdW5jdGlvbiAoZCkgICAgeyByZXR1cm4gc2NhbGVZKGQpOyB9KVxyXG4gICAgICAgICAgICAueTEoZnVuY3Rpb24gKCkgICAgeyByZXR1cm4gc2NhbGVZKDApOyB9KVxyXG4gICAgICAgICAgICAuY3VydmUoZDMuY3VydmVMaW5lYXIpO1xyXG5cclxuICAgICAgICB2YXIgbGluZSA9IGQzLmxpbmUoKVxyXG4gICAgICAgICAgICAueChmdW5jdGlvbiAoZCwgaSkgeyByZXR1cm4gc2NhbGVYKGkpO30pXHJcbiAgICAgICAgICAgIC55KGZ1bmN0aW9uIChkLCBpKSB7IHJldHVybiBzY2FsZVkoZCk7fSlcclxuICAgICAgICAgICAgLmN1cnZlKGQzLmN1cnZlTGluZWFyKTtcclxuXHJcbiAgICAgICAgdmFyIGdyb3VwID0gY2hhcnQuYXBwZW5kKCdnJykuYXR0cignY2xhc3MnLCAnZGF0YVNlcmllcycpO1xyXG5cclxuICAgICAgICBncm91cC5hcHBlbmQoJ3BhdGgnKVxyXG4gICAgICAgICAgICAuZGF0dW0oZGF0YS5wb2ludHMpXHJcbiAgICAgICAgICAgIC5hdHRyKCdkJywgYXJlYSlcclxuICAgICAgICAgICAgLmF0dHIoJ2ZpbGwnLCBmaWxsQ29sb3IpXHJcbiAgICAgICAgICAgIC5hdHRyKCdvcGFjaXR5JywgMC44KVxyXG4gICAgICAgICAgICAuYXR0cignc3Ryb2tlJywgZmlsbENvbG9yKTtcclxuXHJcbiAgICAgICAgZ3JvdXAuYXBwZW5kKCdwYXRoJylcclxuICAgICAgICAgICAgLmRhdHVtKGRhdGEucG9pbnRzKVxyXG4gICAgICAgICAgICAuYXR0cignZCcsIGxpbmUpXHJcbiAgICAgICAgICAgIC5hdHRyKCdzdHJva2UnLCBjb2xvcilcclxuICAgICAgICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIDIuNzUpXHJcbiAgICAgICAgICAgIC5hdHRyKCdmaWxsJywgJ25vbmUnKTtcclxuICAgIH1cclxuXHJcbiAgICBmdW5jdGlvbiBkcmF3QXZlcmFnZUxpbmUoY2hhcnQsIGRhdGEsIGNvbG9yLCBmaWxsQ29sb3IsIHNjYWxlWCwgc2NhbGVZKSB7XHJcblxyXG4gICAgICAgIHZhciBsaW5lID0gZDMubGluZSgpXHJcbiAgICAgICAgICAgIC54KGZ1bmN0aW9uIChkLCBpKSB7IHJldHVybiBzY2FsZVgoaSk7IH0pXHJcbiAgICAgICAgICAgIC55KGZ1bmN0aW9uIChkLCBpKSB7IHJldHVybiBzY2FsZVkoZCk7IH0pXHJcbiAgICAgICAgICAgIC5jdXJ2ZShkMy5jdXJ2ZUxpbmVhcik7XHJcblxyXG4gICAgICAgIHZhciBncm91cCA9IGNoYXJ0LmFwcGVuZCgnZycpLmF0dHIoJ2NsYXNzJywgJ2RhdGFBdmVyYWdlJyk7XHJcblxyXG4gICAgICAgIGdyb3VwLmFwcGVuZCgncGF0aCcpXHJcbiAgICAgICAgICAgIC5kYXR1bShBcnJheShkYXRhLnBvaW50cy5sZW5ndGgpLmZpbGwoZGF0YS5hdmVyYWdlKSlcclxuICAgICAgICAgICAgLmF0dHIoJ2QnLCBsaW5lKVxyXG4gICAgICAgICAgICAuYXR0cignc3Ryb2tlJywgY29sb3IpXHJcbiAgICAgICAgICAgIC5hdHRyKCdzdHJva2Utd2lkdGgnLCAxLjUpXHJcbiAgICAgICAgICAgIC5hdHRyKCdvcGFjaXR5JywgMC41KVxyXG4gICAgICAgICAgICAuYXR0cignc3Ryb2tlLWRhc2hhcnJheScsICcxMCwxMCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGZ1bmN0aW9uIHBhZFRvV2hvbGVWYWx1ZSh2YWx1ZSkge1xyXG4gICAgICAgIHZhciBlbXB0eURhdGFTZXR5QXhpc01heCA9IDEwO1xyXG5cclxuICAgICAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBlbXB0eURhdGFTZXR5QXhpc01heDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHZhciB1cHBlckJvdW5kID0gMTA7XHJcblxyXG4gICAgICAgIHdoaWxlICh2YWx1ZSA+IHVwcGVyQm91bmQpIHtcclxuICAgICAgICAgICAgdXBwZXJCb3VuZCAqPSAxMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVwcGVyQm91bmQgLz0gMTA7XHJcblxyXG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKHZhbHVlIC8gdXBwZXJCb3VuZCkgKiB1cHBlckJvdW5kICsgdXBwZXJCb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICBhbmd1bGFyLm1vZHVsZSgndWkucGFydGljdWxhci5sYXJnZUdyYXBoJywgW10pXHJcbiAgICAgICAgLmRpcmVjdGl2ZSgnbGFyZ2VHcmFwaCcsXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uKGZvcm1hdHRlcikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN0cmljdDogJ0UnLFxyXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiB7ICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVzOiAnPXhheGlzUG9pbnRzJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3REYXRhU2VyaWVzOiAnPWZpcnN0RGF0YVNlcmllcycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZERhdGFTZXJpZXM6ICc9c2Vjb25kRGF0YVNlcmllcycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRHVyYXRpb25HcmFwaDogJz1pc0R1cmF0aW9uR3JhcGgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtWWF4aXM6ICdAJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICc9cGxvdFdpZHRoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnPXBsb3RIZWlnaHQnXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogJzxzdmc+PC9zdmc+JyxcclxuICAgICAgICAgICAgICAgICAgICBsaW5rOiBmdW5jdGlvbiBsaW5rKHNjb3BlLCBlbGVtZW50LCBhdHRycykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZS4kd2F0Y2goJ2ZpcnN0RGF0YVNlcmllcycsIGZ1bmN0aW9uICgpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3ZnID0gZWxlbWVudC5maW5kKCdzdmcnKVswXTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkMy5zZWxlY3Qoc3ZnKS5zZWxlY3RBbGwoJyonKS5yZW1vdmUoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdG9wTWFyZ2luID0gMTA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYm90dG9tTWFyZ2luID0gNTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsZWZ0TWFyZ2luID0gNjA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNoYXJ0ID0gZDMuc2VsZWN0KHN2ZylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignd2lkdGgnLCBzY29wZS53aWR0aClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignaGVpZ2h0Jywgc2NvcGUuaGVpZ2h0KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgd2lkdGggPSBzdmcuY2xpZW50V2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaGVpZ2h0ID0gc3ZnLmNsaWVudEhlaWdodDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0hJTlQ6IFRoaXMgaXMgd29ya2Fyb3VuZCBmb3IgRmlyZWZveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpZHRoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGJveCA9IHN2Zy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggPSBib3gucmlnaHQgLSBib3gubGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgPSBib3guYm90dG9tIC0gYm94LnRvcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmlyc3RTZXJpZXMgPSBzY29wZS5maXJzdERhdGFTZXJpZXM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2Vjb25kU2VyaWVzID0gc2NvcGUuc2Vjb25kRGF0YVNlcmllcztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2NhbGVYID0gZDMuc2NhbGVMaW5lYXIoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kb21haW4oWzAsIGZpcnN0U2VyaWVzLnBvaW50cy5sZW5ndGggLSAxXSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmFuZ2UoW2xlZnRNYXJnaW4sIHdpZHRoXSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhcnQuYXBwZW5kKCdyZWN0JylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignd2lkdGgnLCB3aWR0aCAtIGxlZnRNYXJnaW4pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ2hlaWdodCcsIGhlaWdodCAtIHRvcE1hcmdpbiAtIGJvdHRvbU1hcmdpbilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cigndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgnICsgbGVmdE1hcmdpbiArICcsJyArIHRvcE1hcmdpbiArICcpJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYXR0cignZmlsbCcsICcjRjJGNkY3Jyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1pbmltdW1ZYXhpcyA9ICFpc05hTihzY29wZS5taW5pbXVtWWF4aXMpID8gTnVtYmVyKHNjb3BlLm1pbmltdW1ZYXhpcykgOiAxMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXggPSBNYXRoLm1heChmaXJzdFNlcmllcy5hdmVyYWdlLCBkMy5tYXgoZmlyc3RTZXJpZXMucG9pbnRzKSwgbWluaW11bVlheGlzKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2Vjb25kU2VyaWVzICYmIHNlY29uZFNlcmllcy5wb2ludHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heCA9IE1hdGgubWF4KG1heCwgc2Vjb25kU2VyaWVzLmF2ZXJhZ2UsIGQzLm1heChzZWNvbmRTZXJpZXMucG9pbnRzKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1heCA9IHBhZFRvV2hvbGVWYWx1ZShtYXgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzY2FsZVkgPSBkMy5zY2FsZUxpbmVhcigpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRvbWFpbihbMCwgbWF4XSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmFuZ2UoW2hlaWdodCAtIGJvdHRvbU1hcmdpbiwgdG9wTWFyZ2luXSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHlBeGlzID0gZDMuYXhpc0xlZnQoc2NhbGVZKSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGlja1ZhbHVlcyhbMCwgbWF4ICogMS80LCBtYXggKiAxLzIsIG1heCAqIDMvNCwgbWF4XSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNjb3BlLmlzRHVyYXRpb25HcmFwaCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlBeGlzID0geUF4aXMudGlja0Zvcm1hdChmdW5jdGlvbiAodikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZm9ybWF0dGVkVGltZSA9IGZvcm1hdHRlci5mb3JtYXRUaW1lKHYpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZFRpbWUudmFsdWUgKyAnICAnICsgZm9ybWF0dGVkVGltZS51bml0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJ0LmFwcGVuZCgnZycpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ2NsYXNzJywgJ3kgYXhpcycpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoJyArIGxlZnRNYXJnaW4gKyAnLCAwKScpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGwoZnVuY3Rpb24gKGcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5jYWxsKHlBeGlzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5zZWxlY3QoJy5kb21haW4nKS5yZW1vdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZy5zZWxlY3RBbGwoJy50aWNrIGxpbmUnKS5hdHRyKCdzdHJva2UnLCAnYmxhY2snKS5hdHRyKCdzdHJva2Utd2lkdGgnLCAnMS43NScpLmF0dHIoJ29wYWNpdHknLCAwLjEpLmF0dHIoJ3gnLCAwKS5hdHRyKCd4MicsIHdpZHRoIC0gbGVmdE1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuc2VsZWN0QWxsKCcudGljayB0ZXh0JykuYXR0cigneCcsIC00KS5hdHRyKCdmaWxsJywgJyM4MjgyODInKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZHJhd1NlcmllcyA9IGZ1bmN0aW9uKGRhdGEsIGxpbmVDb2xvciwgZmlsbENvbG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0RhdGFTZXJpZXMoY2hhcnQsIGRhdGEsIGxpbmVDb2xvciwgZmlsbENvbG9yLCBzY2FsZVgsIHNjYWxlWSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRyYXdBdmVyYWdlID0gZnVuY3Rpb24oZGF0YSwgbGluZUNvbG9yLCBmaWxsQ29sb3IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3QXZlcmFnZUxpbmUoY2hhcnQsIGRhdGEsIGxpbmVDb2xvciwgZmlsbENvbG9yLCBzY2FsZVgsIHNjYWxlWSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd1NlcmllcyhmaXJzdFNlcmllcywgYXR0cnMuZmlyc3RTZXJpZXNDb2xvciwgYXR0cnMuZmlyc3RTZXJpZXNGaWxsQ29sb3IpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWNvbmRTZXJpZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3U2VyaWVzKHNlY29uZFNlcmllcywgYXR0cnMuc2Vjb25kU2VyaWVzQ29sb3IsYXR0cnMuc2Vjb25kU2VyaWVzRmlsbENvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmF3QXZlcmFnZShmaXJzdFNlcmllcywgYXR0cnMuZmlyc3RTZXJpZXNDb2xvciwgYXR0cnMuZmlyc3RTZXJpZXNGaWxsQ29sb3IgKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2Vjb25kU2VyaWVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0F2ZXJhZ2Uoc2Vjb25kU2VyaWVzLCBhdHRycy5zZWNvbmRTZXJpZXNDb2xvciwgYXR0cnMuc2Vjb25kU2VyaWVzRmlsbENvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG59KHdpbmRvdywgd2luZG93LmFuZ3VsYXIpKTtcclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXBwL21vZHVsZXMvbW9uaXRvcmluZy9qcy9kaXJlY3RpdmVzL3VpLnBhcnRpY3VsYXIubGFyZ2VHcmFwaC5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///65\n"); /***/ }), -/* 12 */ + +/***/ 7: /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n function routeProvider($routeProvider) {\n var template = __webpack_require__(13);\n\n $routeProvider.when('/endpoint_details/:endpointName/:sourceIndex', {\n data: {\n pageTitle: 'Endpoint Details'\n },\n template: template,\n controller: 'endpointDetailsCtrl',\n controllerAs: 'vm',\n reloadOnSearch: false\n });\n };\n\n routeProvider.$inject = ['$routeProvider'];\n\n angular.module('endpoint_details').config(routeProvider);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2VuZHBvaW50X2RldGFpbHMucm91dGUuanM/NjViNiJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJhbmd1bGFyIiwidW5kZWZpbmVkIiwicm91dGVQcm92aWRlciIsIiRyb3V0ZVByb3ZpZGVyIiwidGVtcGxhdGUiLCJyZXF1aXJlIiwid2hlbiIsImRhdGEiLCJwYWdlVGl0bGUiLCJjb250cm9sbGVyIiwiY29udHJvbGxlckFzIiwicmVsb2FkT25TZWFyY2giLCIkaW5qZWN0IiwibW9kdWxlIiwiY29uZmlnIl0sIm1hcHBpbmdzIjoiOztBQUFDLFdBQVVBLE1BQVYsRUFBa0JDLE9BQWxCLEVBQTJCQyxTQUEzQixFQUFzQztBQUNuQzs7QUFFQSxhQUFTQyxhQUFULENBQXVCQyxjQUF2QixFQUF1QztBQUNuQyxZQUFJQyxXQUFXLG1CQUFBQyxDQUFRLEVBQVIsQ0FBZjs7QUFFQUYsdUJBQWVHLElBQWYsQ0FBb0IsOENBQXBCLEVBQW9FO0FBQ2hFQyxrQkFBTTtBQUNGQywyQkFBVztBQURULGFBRDBEO0FBSWhFSixzQkFBVUEsUUFKc0Q7QUFLaEVLLHdCQUFZLHFCQUxvRDtBQU1oRUMsMEJBQWMsSUFOa0Q7QUFPaEVDLDRCQUFnQjtBQVBnRCxTQUFwRTtBQVNIOztBQUVEVCxrQkFBY1UsT0FBZCxHQUF3QixDQUNwQixnQkFEb0IsQ0FBeEI7O0FBSUFaLFlBQVFhLE1BQVIsQ0FBZSxrQkFBZixFQUNLQyxNQURMLENBQ1laLGFBRFo7QUFFSCxDQXZCQSxFQXVCRUgsTUF2QkYsRUF1QlVBLE9BQU9DLE9BdkJqQixDQUFEIiwiZmlsZSI6IjEyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICh3aW5kb3csIGFuZ3VsYXIsIHVuZGVmaW5lZCkge1xyXG4gICAgJ3VzZSBzdHJpY3QnO1xyXG5cclxuICAgIGZ1bmN0aW9uIHJvdXRlUHJvdmlkZXIoJHJvdXRlUHJvdmlkZXIpIHtcclxuICAgICAgICBsZXQgdGVtcGxhdGUgPSByZXF1aXJlKCcuLy4uL3ZpZXdzL2VuZHBvaW50X2RldGFpbHMuaHRtbCcpO1xyXG5cclxuICAgICAgICAkcm91dGVQcm92aWRlci53aGVuKCcvZW5kcG9pbnRfZGV0YWlscy86ZW5kcG9pbnROYW1lLzpzb3VyY2VJbmRleCcsIHtcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgcGFnZVRpdGxlOiAnRW5kcG9pbnQgRGV0YWlscydcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgdGVtcGxhdGU6IHRlbXBsYXRlLFxyXG4gICAgICAgICAgICBjb250cm9sbGVyOiAnZW5kcG9pbnREZXRhaWxzQ3RybCcsXHJcbiAgICAgICAgICAgIGNvbnRyb2xsZXJBczogJ3ZtJyxcclxuICAgICAgICAgICAgcmVsb2FkT25TZWFyY2g6IGZhbHNlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHJvdXRlUHJvdmlkZXIuJGluamVjdCA9IFtcclxuICAgICAgICAnJHJvdXRlUHJvdmlkZXInXHJcbiAgICBdO1xyXG5cclxuICAgIGFuZ3VsYXIubW9kdWxlKCdlbmRwb2ludF9kZXRhaWxzJylcclxuICAgICAgICAuY29uZmlnKHJvdXRlUHJvdmlkZXIpO1xyXG59ICh3aW5kb3csIHdpbmRvdy5hbmd1bGFyKSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vYXBwL21vZHVsZXMvbW9uaXRvcmluZy9qcy9lbmRwb2ludF9kZXRhaWxzLnJvdXRlLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///12\n"); +eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n angular.module('ui.particular.graphdecimal', []).filter('graphdecimal', ['$filter', function ($filter) {\n return function (input, decimals) {\n if (input) {\n var lastValue = input.points.length > 0 ? input.points[input.points.length - 1] : 0;\n input.displayValue = $filter(\"metricslargenumber\")(lastValue, decimals);\n } else {\n input = {\n points: [],\n average: 0,\n displayValue: 0\n };\n }\n\n return input;\n };\n }]);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5ncmFwaGRlY2ltYWwuanM/NTFkMyJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJhbmd1bGFyIiwidW5kZWZpbmVkIiwibW9kdWxlIiwiZmlsdGVyIiwiJGZpbHRlciIsImlucHV0IiwiZGVjaW1hbHMiLCJsYXN0VmFsdWUiLCJwb2ludHMiLCJsZW5ndGgiLCJkaXNwbGF5VmFsdWUiLCJhdmVyYWdlIl0sIm1hcHBpbmdzIjoiOztBQUFDLFdBQVVBLE1BQVYsRUFBa0JDLE9BQWxCLEVBQTJCQyxTQUEzQixFQUFzQztBQUNuQzs7QUFFQUQsWUFBUUUsTUFBUixDQUFlLDRCQUFmLEVBQTZDLEVBQTdDLEVBQ0tDLE1BREwsQ0FDWSxjQURaLEVBQzRCLENBQUMsU0FBRCxFQUFZLFVBQVVDLE9BQVYsRUFBbUI7QUFDbkQsZUFBTyxVQUFVQyxLQUFWLEVBQWlCQyxRQUFqQixFQUEyQjtBQUM5QixnQkFBSUQsS0FBSixFQUFXO0FBQ1Asb0JBQUlFLFlBQVlGLE1BQU1HLE1BQU4sQ0FBYUMsTUFBYixHQUFzQixDQUF0QixHQUEwQkosTUFBTUcsTUFBTixDQUFhSCxNQUFNRyxNQUFOLENBQWFDLE1BQWIsR0FBc0IsQ0FBbkMsQ0FBMUIsR0FBa0UsQ0FBbEY7QUFDQUosc0JBQU1LLFlBQU4sR0FBcUJOLFFBQVEsb0JBQVIsRUFBOEJHLFNBQTlCLEVBQXlDRCxRQUF6QyxDQUFyQjtBQUNILGFBSEQsTUFHTztBQUNIRCx3QkFBUTtBQUNKRyw0QkFBUSxFQURKO0FBRUpHLDZCQUFTLENBRkw7QUFHSkQsa0NBQWM7QUFIVixpQkFBUjtBQUtIOztBQUVELG1CQUFPTCxLQUFQO0FBQ0gsU0FiRDtBQWNILEtBZnVCLENBRDVCO0FBaUJILENBcEJBLEVBb0JDTixNQXBCRCxFQW9CU0EsT0FBT0MsT0FwQmhCLENBQUQiLCJmaWxlIjoiNy5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiAod2luZG93LCBhbmd1bGFyLCB1bmRlZmluZWQpIHtcclxuICAgICd1c2Ugc3RyaWN0JztcclxuXHJcbiAgICBhbmd1bGFyLm1vZHVsZSgndWkucGFydGljdWxhci5ncmFwaGRlY2ltYWwnLCBbXSlcclxuICAgICAgICAuZmlsdGVyKCdncmFwaGRlY2ltYWwnLCBbJyRmaWx0ZXInLCBmdW5jdGlvbiAoJGZpbHRlcikge1xyXG4gICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKGlucHV0LCBkZWNpbWFscykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGxhc3RWYWx1ZSA9IGlucHV0LnBvaW50cy5sZW5ndGggPiAwID8gaW5wdXQucG9pbnRzW2lucHV0LnBvaW50cy5sZW5ndGggLSAxXSA6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuZGlzcGxheVZhbHVlID0gJGZpbHRlcihcIm1ldHJpY3NsYXJnZW51bWJlclwiKShsYXN0VmFsdWUsIGRlY2ltYWxzKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50czogW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF2ZXJhZ2U6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlWYWx1ZTogMFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGlucHV0O1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1dKTtcclxufSh3aW5kb3csIHdpbmRvdy5hbmd1bGFyKSk7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2FwcC9tb2R1bGVzL21vbml0b3JpbmcvanMvZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmdyYXBoZGVjaW1hbC5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///7\n"); /***/ }), -/* 13 */ -/***/ (function(module, exports) { -eval("module.exports = \"
Queue Length
{{endpoint.digest.metrics.queueLength.latest | number:0}} MSGS
{{endpoint.digest.metrics.queueLength.average | number:0}} MSGS AVG
Throughput
{{endpoint.digest.metrics.throughput.latest | number:2}} MSGS/S
{{endpoint.digest.metrics.throughput.average | number:2}} MSGS/S AVG
Scheduled Retries Rate
{{endpoint.digest.metrics.retries.latest | number:2}} MSGS
{{endpoint.digest.metrics.retries.average | number:2}} MSGS AVG
Processing Time
{{endpoint.digest.metrics.processingTime.latest | durationValue}} {{endpoint.digest.metrics.processingTime.latest | durationUnit}}
{{endpoint.digest.metrics.processingTime.average | durationValue}} {{endpoint.digest.metrics.processingTime.average | durationUnit}} AVG
Critical Time
{{endpoint.digest.metrics.criticalTime.latest | durationValue}} {{endpoint.digest.metrics.criticalTime.latest | durationUnit}}
{{endpoint.digest.metrics.criticalTime.average | durationValue}} {{endpoint.digest.metrics.criticalTime.average | durationUnit}} AVG

Instance Name

Throughput (msgs/s)

Scheduled retry rate (msgs/s)

Processing Time (t)

Critical Time (t)

{{instance.metrics.throughput.displayValue}}
{{instance.metrics.retries.displayValue}}
{{instance.metrics.processingTime.displayValue.value}} {{instance.metrics.processingTime.displayValue.unit}}
{{instance.metrics.criticalTime.displayValue.value}} {{instance.metrics.criticalTime.displayValue.unit}}

Message Type

Throughput (msgs/s)

Scheduled retry rate (msgs/s)

Processing Time (t)

Critical Time (t)

N/A
{{messageType.typeName}}
{{messageType.assemblyName + '-' + messageType.assemblyVersion}}
{{'Culture=' + messageType.culture}}
{{'PublicKeyToken=' + messageType.publicKeyToken}}
{{messageType.metrics.throughput.displayValue}}
{{messageType.metrics.retries.displayValue}}
{{messageType.metrics.processingTime.displayValue.value}} {{messageType.metrics.processingTime.displayValue.unit}}
{{messageType.metrics.criticalTime.displayValue.value}} {{messageType.metrics.criticalTime.displayValue.unit}}
\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL3ZpZXdzL2VuZHBvaW50X2RldGFpbHMuaHRtbD9lODYzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtJQUErSSw4SEFBOEgsY0FBYyxtU0FBbVMsY0FBYyxHQUFHLGFBQWEsR0FBRywyQkFBMkIsc0ZBQXNGLDBDQUEwQyxvVEFBb1QscUJBQXFCLGdLQUFnSyxjQUFjLEdBQUcsYUFBYSxpQkFBaUIsY0FBYyxLQUFLLGFBQWEsdzBCQUF3MEIsdURBQXVELDZHQUE2Ryx3REFBd0QsdzlCQUF3OUIsc0RBQXNELCtHQUErRyx1REFBdUQsMFpBQTBaLG1EQUFtRCw2R0FBNkcsb0RBQW9ELG9nQ0FBb2dDLCtEQUErRCwwQ0FBMEMsOERBQThELGtFQUFrRSxnRUFBZ0UsMENBQTBDLCtEQUErRCx3V0FBd1csNkRBQTZELDBDQUEwQyw0REFBNEQsa0VBQWtFLDhEQUE4RCwwQ0FBMEMsNkRBQTZELDhLQUE4SyxnQ0FBZ0MsNEdBQTRHLCtCQUErQiw2K0RBQTYrRCxhQUFhLG1TQUFtUyxjQUFjLEdBQUcsYUFBYSxHQUFHLDJCQUEyQixzRkFBc0YsMENBQTBDLDhmQUE4ZiwwQ0FBMEMscWVBQXFlLHVDQUF1QyxvZkFBb2Ysb0RBQW9ELFNBQVMsbURBQW1ELHVmQUF1ZixrREFBa0QsU0FBUyxpREFBaUQsOGdFQUE4Z0UsdUJBQXVCLDRCQUE0Qiw0QkFBNEIsS0FBSyxzQkFBc0Isd0JBQXdCLDRCQUE0Qiw2QkFBNkIsOERBQThELHdCQUF3QiwyQkFBMkIsNkJBQTZCLGtDQUFrQyx3QkFBd0Isa0NBQWtDLDZCQUE2QixnREFBZ0QsZ1NBQWdTLDZDQUE2QyxvUkFBb1IsMENBQTBDLG1TQUFtUyx1REFBdUQsU0FBUyxzREFBc0Qsc1NBQXNTLHFEQUFxRCxTQUFTLG9EQUFvRCIsImZpbGUiOiIxMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCI8ZGl2IGNsYXNzPWNvbnRhaW5lcj4gPGRpdiBjbGFzcz1cXFwicm93IG1vbml0b3JpbmctaGVhZFxcXCI+IDxkaXYgY2xhc3M9YmFjay1uYXY+IDxzcGFuIGNsYXNzPWZha2UtbGluayBhcmlhLWhpZGRlbj10cnVlPiYjOTY2NDs8L3NwYW4+IDxhIGhyZWY9LyMvbW9uaXRvcmVkX2VuZHBvaW50cz5BbGwgZW5kcG9pbnRzPC9hPiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTEwIG5vLXNpZGUtcGFkZGluZyBsaXN0LXNlY3Rpb25cXFwiPiA8aDE+IHt7ZW5kcG9pbnROYW1lfX0gPGRpdiBjbGFzcz1lbmRwb2ludC1zdGF0dXM+IDxzcGFuIG5nLWlmPWVuZHBvaW50LmlzU3RhbGUgY2xhc3M9d2FybmluZz4gPGkgY2xhc3M9XFxcImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXFxcIiB1aWItdG9vbHRpcD1cXFwiRW5kcG9pbnQgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGNvbm5lY3RlZCB0byB0aGUgbW9uaXRvcmluZyBzZXJ2ZXIgYW55bW9yZVxcXCI+PC9pPiA8L3NwYW4+IDxhIG5nLWlmPWVuZHBvaW50LmVycm9yQ291bnQgY2xhc3M9d2FybmluZyBocmVmPSMvZmFpbGVkLW1lc3NhZ2VzL2dyb3Vwcy97e2VuZHBvaW50TmFtZX19L3t7c291cmNlSW5kZXh9fS97e2VuZHBvaW50LnNlcnZpY2VDb250cm9sSWR9fT4gPGkgY2xhc3M9XFxcImZhIGZhLWVudmVsb3BlXFxcIj48L2k+IDxzcGFuIGNsYXNzPVxcXCJiYWRnZSBiYWRnZS1pbXBvcnRhbnQgbmctYmluZGluZ1xcXCI+e3tlbmRwb2ludC5lcnJvckNvdW50IHwgbWV0cmljc2xhcmdlbnVtYmVyfX08L3NwYW4+IDwvYT4gPC9kaXY+IDwvaDE+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBuby1zaWRlLXBhZGRpbmcgdG9vbGJhci1tZW51c1xcXCI+IDxkaXYgY2xhc3M9XFxcIm1zZy1ncm91cC1tZW51IGRyb3Bkb3duXFxcIj4gPGxhYmVsIGNsYXNzPWNvbnRyb2wtbGFiZWw+UGVyaW9kOjwvbGFiZWw+IDxidXR0b24gdHlwZT1idXR0b24gY2xhc3M9XFxcImJ0biBidG4tZGVmYXVsdCBkcm9wZG93bi10b2dnbGUgc3AtYnRuLW1lbnVcXFwiIGRhdGEtdG9nZ2xlPWRyb3Bkb3duIGFyaWEtaGFzcG9wdXA9dHJ1ZSBhcmlhLWV4cGFuZGVkPWZhbHNlPiB7e3NlbGVjdGVkUGVyaW9kLnRleHR9fSA8c3BhbiBjbGFzcz1jYXJldD48L3NwYW4+IDwvYnV0dG9uPiA8dWwgY2xhc3M9ZHJvcGRvd24tbWVudT4gPGxpIG5nLXJlcGVhdD1cXFwicGVyaW9kIGluIHBlcmlvZHNcXFwiPiA8YSBuZy1jbGljaz1zZWxlY3RQZXJpb2QocGVyaW9kKSBocmVmPVxcXCIjL2VuZHBvaW50X2RldGFpbHMve3tlbmRwb2ludE5hbWV9fS97e3NvdXJjZUluZGV4fX0/aGlzdG9yeVBlcmlvZD17e3BlcmlvZC52YWx1ZX19XFxcIj57e3BlcmlvZC50ZXh0fX08L2E+IDwvbGk+IDwvdWw+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb250YWluZXIgbGFyZ2UtZ3JhcGhzXFxcIj4gPGRpdiBjbGFzcz1jb250YWluZXI+IDxkaXYgY2xhc3M9cm93PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tNCBuby1zaWRlLXBhZGRpbmcgbGlzdC1zZWN0aW9uIGdyYXBoLWFyZWEgZ3JhcGgtcXVldWUtbGVuZ3RoXFxcIj4gPGxhcmdlLWdyYXBoIG5nLWlmPWVuZHBvaW50Lm1ldHJpY0RldGFpbHMubWV0cmljcy5xdWV1ZUxlbmd0aCBmaXJzdC1kYXRhLXNlcmllcz1lbmRwb2ludC5tZXRyaWNEZXRhaWxzLm1ldHJpY3MucXVldWVMZW5ndGggeGF4aXMtcG9pbnRzPWVuZHBvaW50Lm1ldHJpY0RldGFpbHMubWV0cmljcy5xdWV1ZUxlbmd0aC50aW1lQXhpc1ZhbHVlcyBwbG90LXdpZHRoPTc1MCBwbG90LWhlaWdodD0yMDAgZmlyc3Qtc2VyaWVzLWNvbG9yPSNFQTdFMDAgZmlyc3Qtc2VyaWVzLWZpbGwtY29sb3I9I0VBRERDRSBjbGFzcz1cXFwibGFyZ2UtZ3JhcGggcHVsbC1sZWZ0XFxcIj48L2xhcmdlLWdyYXBoPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nIGdyYXBoLXZhbHVlc1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBxdWV1ZS1sZW5ndGgtdmFsdWVzXFxcIj4gPHNwYW4gY2xhc3M9bWV0cmljLWRpZ2VzdC1oZWFkZXIgdWliLXRvb2x0aXA9XFxcIlF1ZXVlIGxlbmd0aCAoIyBtc2dzKTogVGhlIGVzdGltYXRlZCBudW1iZXIgb2YgbWVzc2FnZXMgaW4gYW4gZW5kcG9pbnQncyBxdWV1ZS5cXFwiPiBRdWV1ZSBMZW5ndGggPC9zcGFuPiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwicm93IG1ldHJpYy1kaWdlc3QtdmFsdWUgY3VycmVudFxcXCI+IHt7ZW5kcG9pbnQuZGlnZXN0Lm1ldHJpY3MucXVldWVMZW5ndGgubGF0ZXN0IHwgbnVtYmVyOjB9fSA8c3BhbiBjbGFzcz1tZXRyaWMtZGlnZXN0LXZhbHVlLXN1ZmZpeD5NU0dTPC9zcGFuPiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwicm93IG1ldHJpYy1kaWdlc3QtdmFsdWUgYXZlcmFnZVxcXCI+IHt7ZW5kcG9pbnQuZGlnZXN0Lm1ldHJpY3MucXVldWVMZW5ndGguYXZlcmFnZSB8IG51bWJlcjowfX0gPHNwYW4gY2xhc3M9bWV0cmljLWRpZ2VzdC12YWx1ZS1zdWZmaXg+TVNHUyBBVkc8L3NwYW4+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS00IG5vLXNpZGUtcGFkZGluZyBsaXN0LXNlY3Rpb24gZ3JhcGgtYXJlYSBncmFwaC1tZXNzYWdlLXJldHJpZXMtdGhyb3VnaHB1dHNcXFwiPiA8bGFyZ2UtZ3JhcGggbmctaWY9ZW5kcG9pbnQubWV0cmljRGV0YWlscy5tZXRyaWNzLnRocm91Z2hwdXQgZmlyc3QtZGF0YS1zZXJpZXM9ZW5kcG9pbnQubWV0cmljRGV0YWlscy5tZXRyaWNzLnRocm91Z2hwdXQgc2Vjb25kLWRhdGEtc2VyaWVzPWVuZHBvaW50Lm1ldHJpY0RldGFpbHMubWV0cmljcy5yZXRyaWVzIHhheGlzLXBvaW50cz1lbmRwb2ludC5tZXRyaWNEZXRhaWxzLm1ldHJpY3MudGhyb3VnaHB1dC50aW1lQXhpc1ZhbHVlcyBwbG90LXdpZHRoPTc1MCBwbG90LWhlaWdodD0yMDAgZmlyc3Qtc2VyaWVzLWNvbG9yPSMxNzYzOTcgZmlyc3Qtc2VyaWVzLWZpbGwtY29sb3I9I0NBRENFOCBzZWNvbmQtc2VyaWVzLWNvbG9yPSNDQzEyNTIgc2Vjb25kLXNlcmllcy1maWxsLWNvbG9yPSNFOUM0RDEgY2xhc3M9XFxcImxhcmdlLWdyYXBoIHB1bGwtbGVmdFxcXCI+PC9sYXJnZS1ncmFwaD4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTEyIG5vLXNpZGUtcGFkZGluZyBncmFwaC12YWx1ZXNcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tNiBuby1zaWRlLXBhZGRpbmcgdGhyb3VnaHB1dC12YWx1ZXNcXFwiPiA8ZGl2IGNsYXNzPXJvdz4gPHNwYW4gY2xhc3M9bWV0cmljLWRpZ2VzdC1oZWFkZXIgdWliLXRvb2x0aXA9XFxcIlRocm91Z2hwdXQgKCMgbXNncy9zKTogVGhlIG51bWJlciBvZiBtZXNzYWdlcyBwZXIgc2Vjb25kIHN1Y2Nlc3NmdWxseSBwcm9jZXNzZWQgYnkgYSByZWNlaXZpbmcgZW5kcG9pbnQuXFxcIj4gVGhyb3VnaHB1dCA8L3NwYW4+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJyb3cgbWV0cmljLWRpZ2VzdC12YWx1ZSBjdXJyZW50XFxcIj4ge3tlbmRwb2ludC5kaWdlc3QubWV0cmljcy50aHJvdWdocHV0LmxhdGVzdCB8IG51bWJlcjoyfX0gPHNwYW4gY2xhc3M9bWV0cmljLWRpZ2VzdC12YWx1ZS1zdWZmaXg+TVNHUy9TPC9zcGFuPiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwicm93IG1ldHJpYy1kaWdlc3QtdmFsdWUgYXZlcmFnZVxcXCI+IHt7ZW5kcG9pbnQuZGlnZXN0Lm1ldHJpY3MudGhyb3VnaHB1dC5hdmVyYWdlIHwgbnVtYmVyOjJ9fSA8c3BhbiBjbGFzcz1tZXRyaWMtZGlnZXN0LXZhbHVlLXN1ZmZpeD5NU0dTL1MgQVZHPC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS02IG5vLXNpZGUtcGFkZGluZyBzY2hlZHVsZWQtcmV0cmllcy1yYXRlLXZhbHVlc1xcXCI+IDxkaXYgY2xhc3M9cm93PiA8c3BhbiBjbGFzcz1tZXRyaWMtZGlnZXN0LWhlYWRlciB1aWItdG9vbHRpcD1cXFwiU2NoZWR1bGVkIHJldHJ5IHJhdGUgKCMgbXNncy9zKTogVGhlIG51bWJlciBvZiBtZXNzYWdlcyBwZXIgc2Vjb25kIHNjaGVkdWxlZCBmb3IgcmV0cmllcyAoaW1tZWRpYXRlIG9yIGRlbGF5ZWQpLlxcXCI+IFNjaGVkdWxlZCBSZXRyaWVzIFJhdGUgPC9zcGFuPiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwicm93IG1ldHJpYy1kaWdlc3QtdmFsdWUgY3VycmVudFxcXCI+IHt7ZW5kcG9pbnQuZGlnZXN0Lm1ldHJpY3MucmV0cmllcy5sYXRlc3QgfCBudW1iZXI6Mn19IDxzcGFuIGNsYXNzPW1ldHJpYy1kaWdlc3QtdmFsdWUtc3VmZml4Pk1TR1M8L3NwYW4+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJyb3cgbWV0cmljLWRpZ2VzdC12YWx1ZSBhdmVyYWdlXFxcIj4ge3tlbmRwb2ludC5kaWdlc3QubWV0cmljcy5yZXRyaWVzLmF2ZXJhZ2UgfCBudW1iZXI6Mn19IDxzcGFuIGNsYXNzPW1ldHJpYy1kaWdlc3QtdmFsdWUtc3VmZml4Pk1TR1MgQVZHPC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTQgbm8tc2lkZS1wYWRkaW5nIGxpc3Qtc2VjdGlvbiBncmFwaC1hcmVhIGdyYXBoLWNyaXRpY2FsLXByb2Nlc3NpbmctdGltZXNcXFwiPiA8bGFyZ2UtZ3JhcGggbmctaWY9ZW5kcG9pbnQubWV0cmljRGV0YWlscy5tZXRyaWNzLnByb2Nlc3NpbmdUaW1lIGZpcnN0LWRhdGEtc2VyaWVzPWVuZHBvaW50Lm1ldHJpY0RldGFpbHMubWV0cmljcy5jcml0aWNhbFRpbWUgc2Vjb25kLWRhdGEtc2VyaWVzPWVuZHBvaW50Lm1ldHJpY0RldGFpbHMubWV0cmljcy5wcm9jZXNzaW5nVGltZSB4YXhpcy1wb2ludHM9ZW5kcG9pbnQubWV0cmljRGV0YWlscy5tZXRyaWNzLmNyaXRpY2FsVGltZS50aW1lQXhpc1ZhbHVlcyBwbG90LXdpZHRoPTc1MCBwbG90LWhlaWdodD0yMDAgZmlyc3Qtc2VyaWVzLWNvbG9yPSMyNzAwQ0IgZmlyc3Qtc2VyaWVzLWZpbGwtY29sb3I9I0M0QkNFNSBzZWNvbmQtc2VyaWVzLWNvbG9yPSMyNTgxMzUgc2Vjb25kLXNlcmllcy1maWxsLWNvbG9yPSNCRUU2QzUgaXMtZHVyYXRpb24tZ3JhcGg9dHJ1ZSBjbGFzcz1cXFwibGFyZ2UtZ3JhcGggcHVsbC1sZWZ0XFxcIj48L2xhcmdlLWdyYXBoPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nIGdyYXBoLXZhbHVlc1xcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS02IG5vLXNpZGUtcGFkZGluZyBwcm9jZXNzaW5nLXRpbWUtdmFsdWVzXFxcIj4gPGRpdiBjbGFzcz1yb3c+IDxzcGFuIGNsYXNzPW1ldHJpYy1kaWdlc3QtaGVhZGVyIHVpYi10b29sdGlwPVxcXCJQcm9jZXNzaW5nIHRpbWUgKHQpOiBUaGUgdGltZSB0YWtlbiBmb3IgYSByZWNlaXZpbmcgZW5kcG9pbnQgdG8gc3VjY2Vzc2Z1bGx5IHByb2Nlc3MgYSBtZXNzYWdlLlxcXCI+IFByb2Nlc3NpbmcgVGltZSA8L3NwYW4+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJyb3cgbWV0cmljLWRpZ2VzdC12YWx1ZSBjdXJyZW50XFxcIj4ge3tlbmRwb2ludC5kaWdlc3QubWV0cmljcy5wcm9jZXNzaW5nVGltZS5sYXRlc3QgfCBkdXJhdGlvblZhbHVlfX0gPHNwYW4gY2xhc3M9bWV0cmljLWRpZ2VzdC12YWx1ZS1zdWZmaXg+e3tlbmRwb2ludC5kaWdlc3QubWV0cmljcy5wcm9jZXNzaW5nVGltZS5sYXRlc3QgfCBkdXJhdGlvblVuaXR9fSA8L3NwYW4+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJyb3cgbWV0cmljLWRpZ2VzdC12YWx1ZSBhdmVyYWdlXFxcIj4ge3tlbmRwb2ludC5kaWdlc3QubWV0cmljcy5wcm9jZXNzaW5nVGltZS5hdmVyYWdlIHwgZHVyYXRpb25WYWx1ZX19IDxzcGFuIGNsYXNzPW1ldHJpYy1kaWdlc3QtdmFsdWUtc3VmZml4Pnt7ZW5kcG9pbnQuZGlnZXN0Lm1ldHJpY3MucHJvY2Vzc2luZ1RpbWUuYXZlcmFnZSB8IGR1cmF0aW9uVW5pdH19IEFWRzwvc3Bhbj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tNiBuby1zaWRlLXBhZGRpbmcgY3JpdGljYWwtdGltZS12YWx1ZXNcXFwiPiA8ZGl2IGNsYXNzPXJvdz4gPHNwYW4gY2xhc3M9bWV0cmljLWRpZ2VzdC1oZWFkZXIgdWliLXRvb2x0aXA9XFxcIkNyaXRpY2FsIHRpbWUgKHQpOiBUaGUgZWxhcHNlZCB0aW1lIGZyb20gd2hlbiBhIG1lc3NhZ2Ugd2FzIHNlbnQsIHVudGlsIGl0IHdhcyBzdWNjZXNzZnVsbHkgcHJvY2Vzc2VkIGJ5IGEgcmVjZWl2aW5nIGVuZHBvaW50LlxcXCI+IENyaXRpY2FsIFRpbWUgPC9zcGFuPiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwicm93IG1ldHJpYy1kaWdlc3QtdmFsdWUgY3VycmVudFxcXCI+IHt7ZW5kcG9pbnQuZGlnZXN0Lm1ldHJpY3MuY3JpdGljYWxUaW1lLmxhdGVzdCB8IGR1cmF0aW9uVmFsdWV9fSA8c3BhbiBjbGFzcz1tZXRyaWMtZGlnZXN0LXZhbHVlLXN1ZmZpeD57e2VuZHBvaW50LmRpZ2VzdC5tZXRyaWNzLmNyaXRpY2FsVGltZS5sYXRlc3QgfCBkdXJhdGlvblVuaXR9fSA8L3NwYW4+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJyb3cgbWV0cmljLWRpZ2VzdC12YWx1ZSBhdmVyYWdlXFxcIj4ge3tlbmRwb2ludC5kaWdlc3QubWV0cmljcy5jcml0aWNhbFRpbWUuYXZlcmFnZSB8IGR1cmF0aW9uVmFsdWV9fSA8c3BhbiBjbGFzcz1tZXRyaWMtZGlnZXN0LXZhbHVlLXN1ZmZpeD57e2VuZHBvaW50LmRpZ2VzdC5tZXRyaWNzLmNyaXRpY2FsVGltZS5hdmVyYWdlIHwgZHVyYXRpb25Vbml0fX0gQVZHPC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1jb250YWluZXI+IDxidXN5IG5nLXNob3c9bG9hZGluZyBtZXNzYWdlPVxcXCJMb2FkaW5nIGRldGFpbHNcXFwiPjwvYnVzeT4gPGRpdiBjbGFzcz10YWJzPiA8aDUgbmctY2xhc3M9XFxcInthY3RpdmU6ICFzaG93SW5zdGFuY2VzQnJlYWtkb3dufVxcXCI+IDxhIG5nLWNsaWNrPVxcXCJzaG93SW5zdGFuY2VzQnJlYWtkb3duID0gZmFsc2VcXFwiIGNsYXNzPW5nLWJpbmRpbmc+TWVzc2FnZSBUeXBlczwvYT4gPC9oNT4gPGg1IG5nLWNsYXNzPVxcXCJ7YWN0aXZlOiBzaG93SW5zdGFuY2VzQnJlYWtkb3dufVxcXCI+IDxhIG5nLWNsaWNrPVxcXCJzaG93SW5zdGFuY2VzQnJlYWtkb3duID0gdHJ1ZVxcXCIgY2xhc3M9bmctYmluZGluZz5JbnN0YW5jZXM8L2E+IDwvaDU+IDwvZGl2PiA8c2VjdGlvbiBuZy1pZj1zaG93SW5zdGFuY2VzQnJlYWtkb3duPiA8ZGl2IGNsYXNzPXJvdz4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTEyIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxidXN5IG5nLXNob3c9bG9hZGluZyBtZXNzYWdlPVxcXCJMb2FkaW5nIGRldGFpbHNcXFwiPjwvYnVzeT4gPGRpdiBuZy1zaG93PSFsb2FkaW5nIGNsYXNzPVxcXCJyb3cgYm94IGJveC1uby1jbGljayB0YWJsZS1oZWFkLXJvd1xcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC04XFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPWNvbC1zbS0xMj4gPHA+SW5zdGFuY2UgTmFtZTwvcD4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIiB1aWItdG9vbHRpcD1cXFwiVGhyb3VnaHB1dCAoIyBtc2dzL3MpOiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHBlciBzZWNvbmQgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCBieSBhIHJlY2VpdmluZyBlbmRwb2ludC5cXFwiPiA8cD5UaHJvdWdocHV0IDxzcGFuPihtc2dzL3MpPC9zcGFuPjwvcD4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIiB1aWItdG9vbHRpcD1cXFwiU2NoZWR1bGVkIHJldHJ5IHJhdGUgKCMgbXNncy9zKTogVGhlIG51bWJlciBvZiBtZXNzYWdlcyBwZXIgc2Vjb25kIHNjaGVkdWxlZCBmb3IgcmV0cmllcyAoaW1tZWRpYXRlIG9yIGRlbGF5ZWQpLlxcXCI+IDxwPlNjaGVkdWxlZCByZXRyeSByYXRlIDxzcGFuPihtc2dzL3MpPC9zcGFuPjwvcD4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIiB1aWItdG9vbHRpcD1cXFwiUHJvY2Vzc2luZyB0aW1lICh0KTogVGhlIHRpbWUgdGFrZW4gZm9yIGEgcmVjZWl2aW5nIGVuZHBvaW50IHRvIHN1Y2Nlc3NmdWxseSBwcm9jZXNzIGEgbWVzc2FnZS5cXFwiPiA8cD5Qcm9jZXNzaW5nIFRpbWUgPHNwYW4+KHQpPC9zcGFuPjwvcD4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIiB1aWItdG9vbHRpcD1cXFwiQ3JpdGljYWwgdGltZSAodCk6IFRoZSBlbGFwc2VkIHRpbWUgZnJvbSB3aGVuIGEgbWVzc2FnZSB3YXMgc2VudCwgdW50aWwgaXQgd2FzIHN1Y2Nlc3NmdWxseSBwcm9jZXNzZWQgYnkgYSByZWNlaXZpbmcgZW5kcG9pbnQuXFxcIj4gPHA+Q3JpdGljYWwgVGltZSA8c3Bhbj4odCk8L3NwYW4+PC9wPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1yb3c+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94IGVuZHBvaW50LXJvd1xcXCIgbmctcmVwZWF0PVxcXCJpbnN0YW5jZSBpbiBlbmRwb2ludC5pbnN0YW5jZXNcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1yb3c+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC04IGVuZHBvaW50LW5hbWVcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmcgbGVhZFxcXCI+IHt7aW5zdGFuY2UuaWR9fSA8ZGl2IGNsYXNzPWVuZHBvaW50LXN0YXR1cz4gPHNwYW4gbmctaWY9aW5zdGFuY2UuaXNTdGFsZSBjbGFzcz13YXJuaW5nPiA8aSBjbGFzcz1cXFwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcXFwiIHVpYi10b29sdGlwPVxcXCJFbmRwb2ludCBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgY29ubmVjdGVkIHRvIHRoZSBtb25pdG9yaW5nIHNlcnZlciBhbnltb3JlXFxcIj48L2k+IDwvc3Bhbj4gPGEgbmctaWY9aW5zdGFuY2UuZXJyb3JDb3VudCBjbGFzcz13YXJuaW5nIGhyZWY9Iy9mYWlsZWQtbWVzc2FnZXMvZ3JvdXBzL3t7ZW5kcG9pbnROYW1lfX0ve3tzb3VyY2VJbmRleH19L3t7aW5zdGFuY2Uuc2VydmljZUNvbnRyb2xJZH19PiA8aSBjbGFzcz1cXFwiZmEgZmEtZW52ZWxvcGVcXFwiPjwvaT4gPHNwYW4gY2xhc3M9XFxcImJhZGdlIGJhZGdlLWltcG9ydGFudCBuZy1iaW5kaW5nXFxcIj57e2luc3RhbmNlLmVycm9yQ291bnQgfCBtZXRyaWNzbGFyZ2VudW1iZXJ9fTwvc3Bhbj4gPC9hPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPW5vLXNpZGUtcGFkZGluZz4gPGdyYXBoIHBsb3QtZGF0YT1pbnN0YW5jZS5tZXRyaWNzLnRocm91Z2hwdXQgY2xhc3M9XFxcImdyYXBoIHRocm91Z2hwdXQgcHVsbC1sZWZ0XFxcIj48L2dyYXBoPiA8c3BhbiBuZy1pZj1pbnN0YW5jZS5pc1N0YWxlIGNsYXNzPVxcXCJ3YXJuaW5nIHB1bGwtcmlnaHQgZ3JhcGhpY29uXFxcIj4gPGkgY2xhc3M9XFxcImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXFxcIiB1aWItdG9vbHRpcD1cXFwiRW5kcG9pbnQgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGNvbm5lY3RlZCB0byB0aGUgbW9uaXRvcmluZyBzZXJ2ZXIgYW55bW9yZVxcXCI+PC9pPiA8L3NwYW4+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJuby1zaWRlLXBhZGRpbmcgc3BhcmtsaW5lLXZhbHVlXFxcIj4ge3tpbnN0YW5jZS5tZXRyaWNzLnRocm91Z2hwdXQuZGlzcGxheVZhbHVlfX0gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPW5vLXNpZGUtcGFkZGluZz4gPGdyYXBoIHBsb3QtZGF0YT1pbnN0YW5jZS5tZXRyaWNzLnJldHJpZXMgY2xhc3M9XFxcImdyYXBoIHJldHJpZXMgcHVsbC1sZWZ0XFxcIj48L2dyYXBoPiA8c3BhbiBuZy1pZj1pbnN0YW5jZS5pc1N0YWxlIGNsYXNzPVxcXCJ3YXJuaW5nIHB1bGwtcmlnaHQgZ3JhcGhpY29uXFxcIj4gPGkgY2xhc3M9XFxcImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXFxcIiB1aWItdG9vbHRpcD1cXFwiRW5kcG9pbnQgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGNvbm5lY3RlZCB0byB0aGUgbW9uaXRvcmluZyBzZXJ2ZXIgYW55bW9yZVxcXCI+PC9pPiA8L3NwYW4+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJuby1zaWRlLXBhZGRpbmcgc3BhcmtsaW5lLXZhbHVlXFxcIj4ge3tpbnN0YW5jZS5tZXRyaWNzLnJldHJpZXMuZGlzcGxheVZhbHVlfX0gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPW5vLXNpZGUtcGFkZGluZz4gPGdyYXBoIHBsb3QtZGF0YT1pbnN0YW5jZS5tZXRyaWNzLnByb2Nlc3NpbmdUaW1lIGNsYXNzPVxcXCJncmFwaCBwcm9jZXNzaW5nLXRpbWUgcHVsbC1sZWZ0XFxcIj48L2dyYXBoPiA8c3BhbiBuZy1pZj1pbnN0YW5jZS5pc1N0YWxlIGNsYXNzPVxcXCJ3YXJuaW5nIHB1bGwtcmlnaHQgZ3JhcGhpY29uXFxcIj4gPGkgY2xhc3M9XFxcImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXFxcIiB1aWItdG9vbHRpcD1cXFwiRW5kcG9pbnQgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGNvbm5lY3RlZCB0byB0aGUgbW9uaXRvcmluZyBzZXJ2ZXIgYW55bW9yZVxcXCI+PC9pPiA8L3NwYW4+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJuby1zaWRlLXBhZGRpbmcgc3BhcmtsaW5lLXZhbHVlXFxcIj4ge3tpbnN0YW5jZS5tZXRyaWNzLnByb2Nlc3NpbmdUaW1lLmRpc3BsYXlWYWx1ZS52YWx1ZX19IDxzcGFuPnt7aW5zdGFuY2UubWV0cmljcy5wcm9jZXNzaW5nVGltZS5kaXNwbGF5VmFsdWUudW5pdH19PC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9bm8tc2lkZS1wYWRkaW5nPiA8Z3JhcGggcGxvdC1kYXRhPWluc3RhbmNlLm1ldHJpY3MuY3JpdGljYWxUaW1lIGNsYXNzPVxcXCJncmFwaCBjcml0aWNhbC10aW1lIHB1bGwtbGVmdFxcXCI+PC9ncmFwaD4gPHNwYW4gbmctaWY9aW5zdGFuY2UuaXNTdGFsZSBjbGFzcz1cXFwid2FybmluZyBwdWxsLXJpZ2h0IGdyYXBoaWNvblxcXCI+IDxpIGNsYXNzPVxcXCJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVxcXCIgdWliLXRvb2x0aXA9XFxcIkVuZHBvaW50IGRvZXMgbm90IGFwcGVhciB0byBiZSBjb25uZWN0ZWQgdG8gdGhlIG1vbml0b3Jpbmcgc2VydmVyIGFueW1vcmVcXFwiPjwvaT4gPC9zcGFuPiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwibm8tc2lkZS1wYWRkaW5nIHNwYXJrbGluZS12YWx1ZVxcXCI+IHt7aW5zdGFuY2UubWV0cmljcy5jcml0aWNhbFRpbWUuZGlzcGxheVZhbHVlLnZhbHVlfX0gPHNwYW4+e3tpbnN0YW5jZS5tZXRyaWNzLmNyaXRpY2FsVGltZS5kaXNwbGF5VmFsdWUudW5pdH19PC9zcGFuPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9zZWN0aW9uPiA8c2VjdGlvbiBuZy1pZj0hc2hvd0luc3RhbmNlc0JyZWFrZG93bj4gPGRpdiBjbGFzcz1yb3c+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmdcXFwiPiA8YnVzeSBuZy1zaG93PWxvYWRpbmcgbWVzc2FnZT1cXFwiTG9hZGluZyBkZXRhaWxzXFxcIj48L2J1c3k+IDxkaXYgbmctc2hvdz0hbG9hZGluZyBjbGFzcz1cXFwicm93IGJveCBib3gtbm8tY2xpY2sgdGFibGUtaGVhZC1yb3dcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtOFxcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1jb2wtc20tMTI+IDxwPk1lc3NhZ2UgVHlwZTwvcD4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIiB1aWItdG9vbHRpcD1cXFwiVGhyb3VnaHB1dCAoIyBtc2dzL3MpOiBUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHBlciBzZWNvbmQgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCBieSBhIHJlY2VpdmluZyBlbmRwb2ludC5cXFwiPiA8cD5UaHJvdWdocHV0IDxzcGFuPihtc2dzL3MpPC9zcGFuPjwvcD4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIiB1aWItdG9vbHRpcD1cXFwiU2NoZWR1bGVkIHJldHJ5IHJhdGUgKCMgbXNncy9zKTogVGhlIG51bWJlciBvZiBtZXNzYWdlcyBwZXIgc2Vjb25kIHNjaGVkdWxlZCBmb3IgcmV0cmllcyAoaW1tZWRpYXRlIG9yIGRlbGF5ZWQpLlxcXCI+IDxwPlNjaGVkdWxlZCByZXRyeSByYXRlIDxzcGFuPihtc2dzL3MpPC9zcGFuPjwvcD4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIiB1aWItdG9vbHRpcD1cXFwiUHJvY2Vzc2luZyB0aW1lICh0KTogVGhlIHRpbWUgdGFrZW4gZm9yIGEgcmVjZWl2aW5nIGVuZHBvaW50IHRvIHN1Y2Nlc3NmdWxseSBwcm9jZXNzIGEgbWVzc2FnZS5cXFwiPiA8cD5Qcm9jZXNzaW5nIFRpbWUgPHNwYW4+KHQpPC9zcGFuPjwvcD4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIiB1aWItdG9vbHRpcD1cXFwiQ3JpdGljYWwgdGltZSAodCk6IFRoZSBlbGFwc2VkIHRpbWUgZnJvbSB3aGVuIGEgbWVzc2FnZSB3YXMgc2VudCwgdW50aWwgaXQgd2FzIHN1Y2Nlc3NmdWxseSBwcm9jZXNzZWQgYnkgYSByZWNlaXZpbmcgZW5kcG9pbnQuXFxcIj4gPHA+Q3JpdGljYWwgVGltZSA8c3Bhbj4odCk8L3NwYW4+PC9wPiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1yb3c+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94IGVuZHBvaW50LXJvd1xcXCIgbmctcmVwZWF0PVxcXCJtZXNzYWdlVHlwZSBpbiBlbmRwb2ludC5tZXNzYWdlVHlwZXNcXFwiPiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMTIgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1yb3c+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC04IGVuZHBvaW50LW5hbWVcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0xMiBuby1zaWRlLXBhZGRpbmcgbGVhZCBtZXNzYWdlLXR5cGUtbGFiZWxcXFwiPiA8ZGl2IG5nLXNob3c9e3shbWVzc2FnZVR5cGUudHlwZU5hbWV9fT5OL0E8L2Rpdj4gPGRpdiBuZy1zaG93PVxcXCJ7e21lc3NhZ2VUeXBlLnR5cGVOYW1lICE9ICcnfX1cXFwiPnt7bWVzc2FnZVR5cGUudHlwZU5hbWV9fTwvZGl2PiA8ZGl2IG5nLXNob3c9XFxcInt7bWVzc2FnZVR5cGUudHlwZU5hbWUgIT0gJyd9fVxcXCIgY2xhc3M9bWVzc2FnZS10eXBlLXBhcnQ+e3ttZXNzYWdlVHlwZS5hc3NlbWJseU5hbWUgKyAnLScgKyBtZXNzYWdlVHlwZS5hc3NlbWJseVZlcnNpb259fTwvZGl2PiA8ZGl2IG5nLXNob3c9XFxcInt7bWVzc2FnZVR5cGUuY3VsdHVyZSAhPSAnJ319XFxcIiBjbGFzcz1tZXNzYWdlLXR5cGUtcGFydD57eydDdWx0dXJlPScgKyBtZXNzYWdlVHlwZS5jdWx0dXJlfX08L2Rpdj4gPGRpdiBuZy1zaG93PVxcXCJ7e21lc3NhZ2VUeXBlLnB1YmxpY0tleVRva2VuICE9ICcnfX1cXFwiIGNsYXNzPW1lc3NhZ2UtdHlwZS1wYXJ0Pnt7J1B1YmxpY0tleVRva2VuPScgKyBtZXNzYWdlVHlwZS5wdWJsaWNLZXlUb2tlbn19PC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcImNvbC1zbS0yIGNvbC14bC0xIG5vLXNpZGUtcGFkZGluZ1xcXCI+IDxkaXYgY2xhc3M9XFxcInJvdyBib3gtaGVhZGVyXFxcIj4gPGRpdiBjbGFzcz1uby1zaWRlLXBhZGRpbmc+IDxncmFwaCBwbG90LWRhdGE9bWVzc2FnZVR5cGUubWV0cmljcy50aHJvdWdocHV0IGNsYXNzPVxcXCJncmFwaCB0aHJvdWdocHV0IHB1bGwtbGVmdFxcXCI+PC9ncmFwaD4gPC9kaXY+IDxkaXYgY2xhc3M9XFxcIm5vLXNpZGUtcGFkZGluZyBzcGFya2xpbmUtdmFsdWVcXFwiPiB7e21lc3NhZ2VUeXBlLm1ldHJpY3MudGhyb3VnaHB1dC5kaXNwbGF5VmFsdWV9fSA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJjb2wtc20tMiBjb2wteGwtMSBuby1zaWRlLXBhZGRpbmdcXFwiPiA8ZGl2IGNsYXNzPVxcXCJyb3cgYm94LWhlYWRlclxcXCI+IDxkaXYgY2xhc3M9bm8tc2lkZS1wYWRkaW5nPiA8Z3JhcGggcGxvdC1kYXRhPW1lc3NhZ2VUeXBlLm1ldHJpY3MucmV0cmllcyBjbGFzcz1cXFwiZ3JhcGggcmV0cmllcyBwdWxsLWxlZnRcXFwiPjwvZ3JhcGg+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJuby1zaWRlLXBhZGRpbmcgc3BhcmtsaW5lLXZhbHVlXFxcIj4ge3ttZXNzYWdlVHlwZS5tZXRyaWNzLnJldHJpZXMuZGlzcGxheVZhbHVlfX0gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPW5vLXNpZGUtcGFkZGluZz4gPGdyYXBoIHBsb3QtZGF0YT1tZXNzYWdlVHlwZS5tZXRyaWNzLnByb2Nlc3NpbmdUaW1lIGNsYXNzPVxcXCJncmFwaCBwcm9jZXNzaW5nLXRpbWUgcHVsbC1sZWZ0XFxcIj48L2dyYXBoPiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwibm8tc2lkZS1wYWRkaW5nIHNwYXJrbGluZS12YWx1ZVxcXCI+IHt7bWVzc2FnZVR5cGUubWV0cmljcy5wcm9jZXNzaW5nVGltZS5kaXNwbGF5VmFsdWUudmFsdWV9fSA8c3Bhbj57e21lc3NhZ2VUeXBlLm1ldHJpY3MucHJvY2Vzc2luZ1RpbWUuZGlzcGxheVZhbHVlLnVuaXR9fTwvc3Bhbj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPGRpdiBjbGFzcz1cXFwiY29sLXNtLTIgY29sLXhsLTEgbm8tc2lkZS1wYWRkaW5nXFxcIj4gPGRpdiBjbGFzcz1cXFwicm93IGJveC1oZWFkZXJcXFwiPiA8ZGl2IGNsYXNzPW5vLXNpZGUtcGFkZGluZz4gPGdyYXBoIHBsb3QtZGF0YT1tZXNzYWdlVHlwZS5tZXRyaWNzLmNyaXRpY2FsVGltZSBjbGFzcz1cXFwiZ3JhcGggY3JpdGljYWwtdGltZSBwdWxsLWxlZnRcXFwiPjwvZ3JhcGg+IDwvZGl2PiA8ZGl2IGNsYXNzPVxcXCJuby1zaWRlLXBhZGRpbmcgc3BhcmtsaW5lLXZhbHVlXFxcIj4ge3ttZXNzYWdlVHlwZS5tZXRyaWNzLmNyaXRpY2FsVGltZS5kaXNwbGF5VmFsdWUudmFsdWV9fSA8c3Bhbj57e21lc3NhZ2VUeXBlLm1ldHJpY3MuY3JpdGljYWxUaW1lLmRpc3BsYXlWYWx1ZS51bml0fX08L3NwYW4+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8L3NlY3Rpb24+IDwvZGl2PiBcIjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2FwcC9tb2R1bGVzL21vbml0b3Jpbmcvdmlld3MvZW5kcG9pbnRfZGV0YWlscy5odG1sXG4vLyBtb2R1bGUgaWQgPSAxM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///13\n"); +/***/ 78: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval("\n\n;\n(function (window, angular, $, undefined) {\n 'use strict';\n\n function Service(toastService, scConfig) {\n\n var isConnectedToSourceIndex = Array(scConfig.monitoring_urls.length).fill(true);\n\n function reportFailedConnection(sourceIndex) {\n\n if (isConnectedToSourceIndex[sourceIndex]) {\n var message = 'Could not connect to the ServiceControl Monitoring service.';\n if (scConfig.monitoring_urls.length > 1) {\n message = 'Could not connect to the ServiceControl Monitoring service at' + scConfig.monitoring_urls[sourceIndex] + '.';\n }\n toastService.showError(message);\n }\n isConnectedToSourceIndex[sourceIndex] = false;\n }\n\n function reportSuccessfulConnection(sourceIndex) {\n if (!isConnectedToSourceIndex[sourceIndex]) {\n var message = 'Connection to ServiceControl Monitoring service was successful.';\n if (scConfig.monitoring_urls.length > 1) {\n message = 'Connection to ServiceControl Monitoring service was successful ' + scConfig.monitoring_urls[sourceIndex] + '.';\n }\n toastService.showInfo(message, 'Info', true);\n }\n isConnectedToSourceIndex[sourceIndex] = true;\n }\n\n var service = {\n reportFailedConnection: reportFailedConnection,\n reportSuccessfulConnection: reportSuccessfulConnection\n };\n\n return service;\n }\n\n Service.$inject = ['toastService', 'scConfig'];\n\n angular.module('services.connectivityNotifier', ['sc']).service('connectivityNotifier', Service);\n})(window, window.angular, window.jQuery);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL3NlcnZpY2VzL3NlcnZpY2VzLmNvbm5lY3Rpdml0eU5vdGlmaWVyLmpzP2RjZjYiXSwibmFtZXMiOlsid2luZG93IiwiYW5ndWxhciIsIiQiLCJ1bmRlZmluZWQiLCJTZXJ2aWNlIiwidG9hc3RTZXJ2aWNlIiwic2NDb25maWciLCJpc0Nvbm5lY3RlZFRvU291cmNlSW5kZXgiLCJBcnJheSIsIm1vbml0b3JpbmdfdXJscyIsImxlbmd0aCIsImZpbGwiLCJyZXBvcnRGYWlsZWRDb25uZWN0aW9uIiwic291cmNlSW5kZXgiLCJtZXNzYWdlIiwic2hvd0Vycm9yIiwicmVwb3J0U3VjY2Vzc2Z1bENvbm5lY3Rpb24iLCJzaG93SW5mbyIsInNlcnZpY2UiLCIkaW5qZWN0IiwibW9kdWxlIiwialF1ZXJ5Il0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0MsV0FBVUEsTUFBVixFQUFrQkMsT0FBbEIsRUFBMkJDLENBQTNCLEVBQThCQyxTQUE5QixFQUF5QztBQUN0Qzs7QUFFQSxhQUFTQyxPQUFULENBQWlCQyxZQUFqQixFQUErQkMsUUFBL0IsRUFBeUM7O0FBRXJDLFlBQUlDLDJCQUEyQkMsTUFBTUYsU0FBU0csZUFBVCxDQUF5QkMsTUFBL0IsRUFBdUNDLElBQXZDLENBQTRDLElBQTVDLENBQS9COztBQUVBLGlCQUFTQyxzQkFBVCxDQUFnQ0MsV0FBaEMsRUFBNkM7O0FBRXpDLGdCQUFJTix5QkFBeUJNLFdBQXpCLENBQUosRUFBMkM7QUFDdkMsb0JBQUlDLFVBQVUsNkRBQWQ7QUFDQSxvQkFBSVIsU0FBU0csZUFBVCxDQUF5QkMsTUFBekIsR0FBa0MsQ0FBdEMsRUFBeUM7QUFDckNJLDhCQUFVLGtFQUFrRVIsU0FBU0csZUFBVCxDQUF5QkksV0FBekIsQ0FBbEUsR0FBMEcsR0FBcEg7QUFDSDtBQUNEUiw2QkFBYVUsU0FBYixDQUF1QkQsT0FBdkI7QUFDSDtBQUNEUCxxQ0FBeUJNLFdBQXpCLElBQXdDLEtBQXhDO0FBQ0g7O0FBRUQsaUJBQVNHLDBCQUFULENBQW9DSCxXQUFwQyxFQUFpRDtBQUM3QyxnQkFBSSxDQUFDTix5QkFBeUJNLFdBQXpCLENBQUwsRUFBNEM7QUFDeEMsb0JBQUlDLFVBQVUsaUVBQWQ7QUFDQSxvQkFBSVIsU0FBU0csZUFBVCxDQUF5QkMsTUFBekIsR0FBa0MsQ0FBdEMsRUFBeUM7QUFDckNJLDhCQUFVLG9FQUFvRVIsU0FBU0csZUFBVCxDQUF5QkksV0FBekIsQ0FBcEUsR0FBMkcsR0FBckg7QUFDSDtBQUNEUiw2QkFBYVksUUFBYixDQUFzQkgsT0FBdEIsRUFBK0IsTUFBL0IsRUFBdUMsSUFBdkM7QUFDSDtBQUNEUCxxQ0FBeUJNLFdBQXpCLElBQXdDLElBQXhDO0FBQ0g7O0FBRUQsWUFBSUssVUFBVTtBQUNWTixvQ0FBd0JBLHNCQURkO0FBRVZJLHdDQUE0QkE7QUFGbEIsU0FBZDs7QUFLQSxlQUFPRSxPQUFQO0FBQ0g7O0FBRURkLFlBQVFlLE9BQVIsR0FBa0IsQ0FBQyxjQUFELEVBQWlCLFVBQWpCLENBQWxCOztBQUVBbEIsWUFBUW1CLE1BQVIsQ0FBZSwrQkFBZixFQUFnRCxDQUFDLElBQUQsQ0FBaEQsRUFDS0YsT0FETCxDQUNhLHNCQURiLEVBQ3FDZCxPQURyQztBQUVILENBMUNBLEVBMENDSixNQTFDRCxFQTBDU0EsT0FBT0MsT0ExQ2hCLEVBMEN5QkQsT0FBT3FCLE1BMUNoQyxDQUFEIiwiZmlsZSI6Ijc4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiO1xyXG4oZnVuY3Rpb24gKHdpbmRvdywgYW5ndWxhciwgJCwgdW5kZWZpbmVkKSB7XHJcbiAgICAndXNlIHN0cmljdCc7XHJcblxyXG4gICAgZnVuY3Rpb24gU2VydmljZSh0b2FzdFNlcnZpY2UsIHNjQ29uZmlnKSB7XHJcblxyXG4gICAgICAgIHZhciBpc0Nvbm5lY3RlZFRvU291cmNlSW5kZXggPSBBcnJheShzY0NvbmZpZy5tb25pdG9yaW5nX3VybHMubGVuZ3RoKS5maWxsKHRydWUpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGZ1bmN0aW9uIHJlcG9ydEZhaWxlZENvbm5lY3Rpb24oc291cmNlSW5kZXgpIHtcclxuXHJcbiAgICAgICAgICAgIGlmIChpc0Nvbm5lY3RlZFRvU291cmNlSW5kZXhbc291cmNlSW5kZXhdKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgbWVzc2FnZSA9ICdDb3VsZCBub3QgY29ubmVjdCB0byB0aGUgU2VydmljZUNvbnRyb2wgTW9uaXRvcmluZyBzZXJ2aWNlLic7XHJcbiAgICAgICAgICAgICAgICBpZiAoc2NDb25maWcubW9uaXRvcmluZ191cmxzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gJ0NvdWxkIG5vdCBjb25uZWN0IHRvIHRoZSBTZXJ2aWNlQ29udHJvbCBNb25pdG9yaW5nIHNlcnZpY2UgYXQnICsgc2NDb25maWcubW9uaXRvcmluZ191cmxzW3NvdXJjZUluZGV4XSArICcuJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRvYXN0U2VydmljZS5zaG93RXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaXNDb25uZWN0ZWRUb1NvdXJjZUluZGV4W3NvdXJjZUluZGV4XSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZnVuY3Rpb24gcmVwb3J0U3VjY2Vzc2Z1bENvbm5lY3Rpb24oc291cmNlSW5kZXgpIHtcclxuICAgICAgICAgICAgaWYgKCFpc0Nvbm5lY3RlZFRvU291cmNlSW5kZXhbc291cmNlSW5kZXhdKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgbWVzc2FnZSA9ICdDb25uZWN0aW9uIHRvIFNlcnZpY2VDb250cm9sIE1vbml0b3Jpbmcgc2VydmljZSB3YXMgc3VjY2Vzc2Z1bC4nO1xyXG4gICAgICAgICAgICAgICAgaWYgKHNjQ29uZmlnLm1vbml0b3JpbmdfdXJscy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICdDb25uZWN0aW9uIHRvIFNlcnZpY2VDb250cm9sIE1vbml0b3Jpbmcgc2VydmljZSB3YXMgc3VjY2Vzc2Z1bCAnICsgc2NDb25maWcubW9uaXRvcmluZ191cmxzW3NvdXJjZUluZGV4XSArJy4nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdG9hc3RTZXJ2aWNlLnNob3dJbmZvKG1lc3NhZ2UsICdJbmZvJywgdHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaXNDb25uZWN0ZWRUb1NvdXJjZUluZGV4W3NvdXJjZUluZGV4XSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgc2VydmljZSA9IHtcclxuICAgICAgICAgICAgcmVwb3J0RmFpbGVkQ29ubmVjdGlvbjogcmVwb3J0RmFpbGVkQ29ubmVjdGlvbixcclxuICAgICAgICAgICAgcmVwb3J0U3VjY2Vzc2Z1bENvbm5lY3Rpb246IHJlcG9ydFN1Y2Nlc3NmdWxDb25uZWN0aW9uXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNlcnZpY2U7XHJcbiAgICB9XHJcblxyXG4gICAgU2VydmljZS4kaW5qZWN0ID0gWyd0b2FzdFNlcnZpY2UnLCAnc2NDb25maWcnXTtcclxuXHJcbiAgICBhbmd1bGFyLm1vZHVsZSgnc2VydmljZXMuY29ubmVjdGl2aXR5Tm90aWZpZXInLCBbJ3NjJ10pXHJcbiAgICAgICAgLnNlcnZpY2UoJ2Nvbm5lY3Rpdml0eU5vdGlmaWVyJywgU2VydmljZSk7XHJcbn0od2luZG93LCB3aW5kb3cuYW5ndWxhciwgd2luZG93LmpRdWVyeSkpO1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2FwcC9tb2R1bGVzL21vbml0b3JpbmcvanMvc2VydmljZXMvc2VydmljZXMuY29ubmVjdGl2aXR5Tm90aWZpZXIuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///78\n"); /***/ }), -/* 14 */ + +/***/ 8: /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n angular.module('ui.particular.duration', []).filter('duration', ['formatter', function (formatter) {\n return function (input) {\n var time = formatter.formatTime(input);\n return time.value + ' ' + time.unit;\n };\n }]).filter('durationValue', ['formatter', function (formatter) {\n return function (input) {\n return formatter.formatTime(input).value;\n };\n }]).filter('durationUnit', ['formatter', function (formatter) {\n return function (input) {\n return formatter.formatTime(input).unit;\n };\n }]);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5kdXJhdGlvbi5qcz85YjhlIl0sIm5hbWVzIjpbIndpbmRvdyIsImFuZ3VsYXIiLCJ1bmRlZmluZWQiLCJtb2R1bGUiLCJmaWx0ZXIiLCJmb3JtYXR0ZXIiLCJpbnB1dCIsInRpbWUiLCJmb3JtYXRUaW1lIiwidmFsdWUiLCJ1bml0Il0sIm1hcHBpbmdzIjoiOztBQUFDLFdBQVVBLE1BQVYsRUFBa0JDLE9BQWxCLEVBQTJCQyxTQUEzQixFQUFzQztBQUNuQzs7QUFFQUQsWUFBUUUsTUFBUixDQUFlLHdCQUFmLEVBQXlDLEVBQXpDLEVBQ0tDLE1BREwsQ0FDWSxVQURaLEVBQ3dCLENBQUMsV0FBRCxFQUFjLFVBQVVDLFNBQVYsRUFBcUI7QUFDbkQsZUFBTyxVQUFVQyxLQUFWLEVBQWlCO0FBQ3BCLGdCQUFJQyxPQUFPRixVQUFVRyxVQUFWLENBQXFCRixLQUFyQixDQUFYO0FBQ0EsbUJBQVVDLEtBQUtFLEtBQWYsU0FBd0JGLEtBQUtHLElBQTdCO0FBQ0gsU0FIRDtBQUlILEtBTG1CLENBRHhCLEVBT0tOLE1BUEwsQ0FPWSxlQVBaLEVBTzZCLENBQUMsV0FBRCxFQUFjLFVBQVVDLFNBQVYsRUFBcUI7QUFDeEQsZUFBTyxVQUFVQyxLQUFWLEVBQWlCO0FBQ3BCLG1CQUFPRCxVQUFVRyxVQUFWLENBQXFCRixLQUFyQixFQUE0QkcsS0FBbkM7QUFDSCxTQUZEO0FBR0gsS0FKd0IsQ0FQN0IsRUFZS0wsTUFaTCxDQVlZLGNBWlosRUFZNEIsQ0FBQyxXQUFELEVBQWMsVUFBVUMsU0FBVixFQUFxQjtBQUN2RCxlQUFPLFVBQVVDLEtBQVYsRUFBaUI7QUFDcEIsbUJBQU9ELFVBQVVHLFVBQVYsQ0FBcUJGLEtBQXJCLEVBQTRCSSxJQUFuQztBQUNILFNBRkQ7QUFHSCxLQUp1QixDQVo1QjtBQWlCSCxDQXBCQSxFQW9CQ1YsTUFwQkQsRUFvQlNBLE9BQU9DLE9BcEJoQixDQUFEIiwiZmlsZSI6IjE0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICh3aW5kb3csIGFuZ3VsYXIsIHVuZGVmaW5lZCkge1xyXG4gICAgJ3VzZSBzdHJpY3QnO1xyXG5cclxuICAgIGFuZ3VsYXIubW9kdWxlKCd1aS5wYXJ0aWN1bGFyLmR1cmF0aW9uJywgW10pXHJcbiAgICAgICAgLmZpbHRlcignZHVyYXRpb24nLCBbJ2Zvcm1hdHRlcicsIGZ1bmN0aW9uIChmb3JtYXR0ZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChpbnB1dCkge1xyXG4gICAgICAgICAgICAgICAgdmFyIHRpbWUgPSBmb3JtYXR0ZXIuZm9ybWF0VGltZShpbnB1dCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7dGltZS52YWx1ZX0gJHt0aW1lLnVuaXR9YDtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XSlcclxuICAgICAgICAuZmlsdGVyKCdkdXJhdGlvblZhbHVlJywgWydmb3JtYXR0ZXInLCBmdW5jdGlvbiAoZm9ybWF0dGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoaW5wdXQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZXIuZm9ybWF0VGltZShpbnB1dCkudmFsdWU7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfV0pXHJcbiAgICAgICAgLmZpbHRlcignZHVyYXRpb25Vbml0JywgWydmb3JtYXR0ZXInLCBmdW5jdGlvbiAoZm9ybWF0dGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoaW5wdXQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZXIuZm9ybWF0VGltZShpbnB1dCkudW5pdDtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XSk7XHJcbn0od2luZG93LCB3aW5kb3cuYW5ndWxhcikpO1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2FwcC9tb2R1bGVzL21vbml0b3JpbmcvanMvZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmR1cmF0aW9uLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///14\n"); +eval("\n\n(function (window, angular, undefined) {\n 'use strict';\n\n angular.module('ui.particular.graphduration', []).filter('graphduration', ['formatter', function (formatter) {\n return function (input) {\n if (input) {\n var lastValue = input.points.length > 0 ? input.points[input.points.length - 1] : 0;\n input.displayValue = formatter.formatTime(lastValue);\n }\n\n return input;\n };\n }]);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5ncmFwaGR1cmF0aW9uLmpzP2Y3NWIiXSwibmFtZXMiOlsid2luZG93IiwiYW5ndWxhciIsInVuZGVmaW5lZCIsIm1vZHVsZSIsImZpbHRlciIsImZvcm1hdHRlciIsImlucHV0IiwibGFzdFZhbHVlIiwicG9pbnRzIiwibGVuZ3RoIiwiZGlzcGxheVZhbHVlIiwiZm9ybWF0VGltZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQyxXQUFVQSxNQUFWLEVBQWtCQyxPQUFsQixFQUEyQkMsU0FBM0IsRUFBc0M7QUFDbkM7O0FBRUFELFlBQVFFLE1BQVIsQ0FBZSw2QkFBZixFQUE4QyxFQUE5QyxFQUNLQyxNQURMLENBQ1ksZUFEWixFQUM2QixDQUFDLFdBQUQsRUFBYyxVQUFVQyxTQUFWLEVBQXFCO0FBQ3hELGVBQU8sVUFBVUMsS0FBVixFQUFpQjtBQUNwQixnQkFBSUEsS0FBSixFQUFXO0FBQ1Asb0JBQUlDLFlBQVlELE1BQU1FLE1BQU4sQ0FBYUMsTUFBYixHQUFzQixDQUF0QixHQUEwQkgsTUFBTUUsTUFBTixDQUFhRixNQUFNRSxNQUFOLENBQWFDLE1BQWIsR0FBc0IsQ0FBbkMsQ0FBMUIsR0FBa0UsQ0FBbEY7QUFDQUgsc0JBQU1JLFlBQU4sR0FBcUJMLFVBQVVNLFVBQVYsQ0FBcUJKLFNBQXJCLENBQXJCO0FBQ0g7O0FBRUQsbUJBQU9ELEtBQVA7QUFDSCxTQVBEO0FBUUgsS0FUd0IsQ0FEN0I7QUFXSCxDQWRBLEVBY0NOLE1BZEQsRUFjU0EsT0FBT0MsT0FkaEIsQ0FBRCIsImZpbGUiOiI4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICh3aW5kb3csIGFuZ3VsYXIsIHVuZGVmaW5lZCkge1xyXG4gICAgJ3VzZSBzdHJpY3QnO1xyXG5cclxuICAgIGFuZ3VsYXIubW9kdWxlKCd1aS5wYXJ0aWN1bGFyLmdyYXBoZHVyYXRpb24nLCBbXSlcclxuICAgICAgICAuZmlsdGVyKCdncmFwaGR1cmF0aW9uJywgWydmb3JtYXR0ZXInLCBmdW5jdGlvbiAoZm9ybWF0dGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoaW5wdXQpIHtcclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBsYXN0VmFsdWUgPSBpbnB1dC5wb2ludHMubGVuZ3RoID4gMCA/IGlucHV0LnBvaW50c1tpbnB1dC5wb2ludHMubGVuZ3RoIC0gMV0gOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGlucHV0LmRpc3BsYXlWYWx1ZSA9IGZvcm1hdHRlci5mb3JtYXRUaW1lKGxhc3RWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGlucHV0O1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1dKTtcclxufSh3aW5kb3csIHdpbmRvdy5hbmd1bGFyKSk7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2FwcC9tb2R1bGVzL21vbml0b3JpbmcvanMvZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmdyYXBoZHVyYXRpb24uanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///8\n"); /***/ }), -/* 15 */ + +/***/ 9: /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\n(function (window, angular) {\n 'use strict';\n\n function drawDataSeries(chart, data, color, fillColor, scaleX, scaleY) {\n\n var area = d3.area().x(function (d, i) {\n return scaleX(i);\n }).y(function (d) {\n return scaleY(d);\n }).y1(function () {\n return scaleY(0);\n }).curve(d3.curveLinear);\n\n var line = d3.line().x(function (d, i) {\n return scaleX(i);\n }).y(function (d, i) {\n return scaleY(d);\n }).curve(d3.curveLinear);\n\n var group = chart.append('g').attr('class', 'dataSeries');\n\n group.append('path').datum(data.points).attr('d', area).attr('fill', fillColor).attr('opacity', 0.8).attr('stroke', fillColor);\n\n group.append('path').datum(data.points).attr('d', line).attr('stroke', color).attr('stroke-width', 2.75).attr('fill', 'none');\n }\n\n function drawAverageLine(chart, data, color, fillColor, scaleX, scaleY) {\n\n var line = d3.line().x(function (d, i) {\n return scaleX(i);\n }).y(function (d, i) {\n return scaleY(d);\n }).curve(d3.curveLinear);\n\n var group = chart.append('g').attr('class', 'dataAverage');\n\n group.append('path').datum(Array(data.points.length).fill(data.average)).attr('d', line).attr('stroke', color).attr('stroke-width', 1.5).attr('opacity', 0.5).attr('stroke-dasharray', '10,10');\n }\n\n function padToWholeValue(value) {\n var emptyDataSetyAxisMax = 10;\n\n if (!value) {\n return emptyDataSetyAxisMax;\n }\n\n var upperBound = 10;\n\n while (value > upperBound) {\n upperBound *= 10;\n }\n\n upperBound /= 10;\n\n return Math.floor(value / upperBound) * upperBound + upperBound;\n }\n\n angular.module('ui.particular.largeGraph', []).directive('largeGraph', function (formatter) {\n return {\n restrict: 'E',\n scope: {\n dates: '=xaxisPoints',\n firstDataSeries: '=firstDataSeries',\n secondDataSeries: '=secondDataSeries',\n isDurationGraph: '=isDurationGraph',\n width: '=plotWidth',\n height: '=plotHeight'\n },\n template: '',\n link: function link(scope, element, attrs) {\n scope.$watch('firstDataSeries', function () {\n\n var svg = element.find('svg')[0];\n\n d3.select(svg).selectAll('*').remove();\n\n var topMargin = 10;\n var bottomMargin = 5;\n var leftMargin = 60;\n\n var chart = d3.select(svg).attr('width', scope.width).attr('height', scope.height);\n\n var width = svg.clientWidth;\n var height = svg.clientHeight;\n\n //HINT: This is workaround for Firefox\n if (width === 0) {\n var box = svg.getBoundingClientRect();\n\n width = box.right - box.left;\n height = box.bottom - box.top;\n }\n\n var firstSeries = scope.firstDataSeries;\n var secondSeries = scope.secondDataSeries;\n\n var scaleX = d3.scaleLinear().domain([0, firstSeries.points.length - 1]).range([leftMargin, width]);\n\n chart.append('rect').attr('width', width - leftMargin).attr('height', height - topMargin - bottomMargin).attr('transform', 'translate(' + leftMargin + ',' + topMargin + ')').attr('fill', '#F2F6F7');\n\n var max = Math.max(firstSeries.average, d3.max(firstSeries.points));\n\n if (secondSeries && secondSeries.points.length > 0) {\n max = Math.max(max, secondSeries.average, d3.max(secondSeries.points));\n }\n\n var max = padToWholeValue(max);\n\n var scaleY = d3.scaleLinear().domain([0, max]).range([height - bottomMargin, topMargin]);\n\n var yAxis = d3.axisLeft(scaleY).tickValues([0, max * 1 / 4, max * 1 / 2, max * 3 / 4, max]);\n\n if (scope.isDurationGraph) {\n yAxis = yAxis.tickFormat(function (v) {\n var formattedTime = formatter.formatTime(v);\n\n return formattedTime.value + ' ' + formattedTime.unit;\n });\n }\n\n chart.append('g').attr('class', 'y axis').attr('transform', 'translate(' + leftMargin + ', 0)').call(function (g) {\n g.call(yAxis);\n g.select('.domain').remove();\n g.selectAll('.tick line').attr('stroke', 'black').attr('stroke-width', '1.75').attr('opacity', 0.1).attr('x', 0).attr('x2', width - leftMargin);\n g.selectAll('.tick text').attr('x', -4).attr('fill', '#828282');\n });\n\n var drawSeries = function drawSeries(data, lineColor, fillColor) {\n drawDataSeries(chart, data, lineColor, fillColor, scaleX, scaleY);\n };\n\n var drawAverage = function drawAverage(data, lineColor, fillColor) {\n drawAverageLine(chart, data, lineColor, fillColor, scaleX, scaleY);\n };\n\n drawSeries(firstSeries, attrs.firstSeriesColor, attrs.firstSeriesFillColor);\n\n if (secondSeries) {\n drawSeries(secondSeries, attrs.secondSeriesColor, attrs.secondSeriesFillColor);\n }\n\n drawAverage(firstSeries, attrs.firstSeriesColor, attrs.firstSeriesFillColor);\n\n if (secondSeries) {\n drawAverage(secondSeries, attrs.secondSeriesColor, attrs.secondSeriesFillColor);\n }\n });\n }\n };\n });\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5sYXJnZUdyYXBoLmpzPzA3MGIiXSwibmFtZXMiOlsid2luZG93IiwiYW5ndWxhciIsImRyYXdEYXRhU2VyaWVzIiwiY2hhcnQiLCJkYXRhIiwiY29sb3IiLCJmaWxsQ29sb3IiLCJzY2FsZVgiLCJzY2FsZVkiLCJhcmVhIiwiZDMiLCJ4IiwiZCIsImkiLCJ5IiwieTEiLCJjdXJ2ZSIsImN1cnZlTGluZWFyIiwibGluZSIsImdyb3VwIiwiYXBwZW5kIiwiYXR0ciIsImRhdHVtIiwicG9pbnRzIiwiZHJhd0F2ZXJhZ2VMaW5lIiwiQXJyYXkiLCJsZW5ndGgiLCJmaWxsIiwiYXZlcmFnZSIsInBhZFRvV2hvbGVWYWx1ZSIsInZhbHVlIiwiZW1wdHlEYXRhU2V0eUF4aXNNYXgiLCJ1cHBlckJvdW5kIiwiTWF0aCIsImZsb29yIiwibW9kdWxlIiwiZGlyZWN0aXZlIiwiZm9ybWF0dGVyIiwicmVzdHJpY3QiLCJzY29wZSIsImRhdGVzIiwiZmlyc3REYXRhU2VyaWVzIiwic2Vjb25kRGF0YVNlcmllcyIsImlzRHVyYXRpb25HcmFwaCIsIndpZHRoIiwiaGVpZ2h0IiwidGVtcGxhdGUiLCJsaW5rIiwiZWxlbWVudCIsImF0dHJzIiwiJHdhdGNoIiwic3ZnIiwiZmluZCIsInNlbGVjdCIsInNlbGVjdEFsbCIsInJlbW92ZSIsInRvcE1hcmdpbiIsImJvdHRvbU1hcmdpbiIsImxlZnRNYXJnaW4iLCJjbGllbnRXaWR0aCIsImNsaWVudEhlaWdodCIsImJveCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInJpZ2h0IiwibGVmdCIsImJvdHRvbSIsInRvcCIsImZpcnN0U2VyaWVzIiwic2Vjb25kU2VyaWVzIiwic2NhbGVMaW5lYXIiLCJkb21haW4iLCJyYW5nZSIsIm1heCIsInlBeGlzIiwiYXhpc0xlZnQiLCJ0aWNrVmFsdWVzIiwidGlja0Zvcm1hdCIsInYiLCJmb3JtYXR0ZWRUaW1lIiwiZm9ybWF0VGltZSIsInVuaXQiLCJjYWxsIiwiZyIsImRyYXdTZXJpZXMiLCJsaW5lQ29sb3IiLCJkcmF3QXZlcmFnZSIsImZpcnN0U2VyaWVzQ29sb3IiLCJmaXJzdFNlcmllc0ZpbGxDb2xvciIsInNlY29uZFNlcmllc0NvbG9yIiwic2Vjb25kU2VyaWVzRmlsbENvbG9yIl0sIm1hcHBpbmdzIjoiOztBQUFDLFdBQVNBLE1BQVQsRUFBaUJDLE9BQWpCLEVBQTBCO0FBQ3ZCOztBQUVBLGFBQVNDLGNBQVQsQ0FBd0JDLEtBQXhCLEVBQStCQyxJQUEvQixFQUFxQ0MsS0FBckMsRUFBNENDLFNBQTVDLEVBQXVEQyxNQUF2RCxFQUErREMsTUFBL0QsRUFBdUU7O0FBRW5FLFlBQUlDLE9BQU9DLEdBQUdELElBQUgsR0FDTkUsQ0FETSxDQUNKLFVBQVVDLENBQVYsRUFBYUMsQ0FBYixFQUFnQjtBQUFFLG1CQUFPTixPQUFPTSxDQUFQLENBQVA7QUFBa0IsU0FEaEMsRUFFTkMsQ0FGTSxDQUVKLFVBQVVGLENBQVYsRUFBZ0I7QUFBRSxtQkFBT0osT0FBT0ksQ0FBUCxDQUFQO0FBQW1CLFNBRmpDLEVBR05HLEVBSE0sQ0FHSCxZQUFlO0FBQUUsbUJBQU9QLE9BQU8sQ0FBUCxDQUFQO0FBQW1CLFNBSGpDLEVBSU5RLEtBSk0sQ0FJQU4sR0FBR08sV0FKSCxDQUFYOztBQU1BLFlBQUlDLE9BQU9SLEdBQUdRLElBQUgsR0FDTlAsQ0FETSxDQUNKLFVBQVVDLENBQVYsRUFBYUMsQ0FBYixFQUFnQjtBQUFFLG1CQUFPTixPQUFPTSxDQUFQLENBQVA7QUFBa0IsU0FEaEMsRUFFTkMsQ0FGTSxDQUVKLFVBQVVGLENBQVYsRUFBYUMsQ0FBYixFQUFnQjtBQUFFLG1CQUFPTCxPQUFPSSxDQUFQLENBQVA7QUFBa0IsU0FGaEMsRUFHTkksS0FITSxDQUdBTixHQUFHTyxXQUhILENBQVg7O0FBS0EsWUFBSUUsUUFBUWhCLE1BQU1pQixNQUFOLENBQWEsR0FBYixFQUFrQkMsSUFBbEIsQ0FB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M0Q7QUFDSCxxQkFGRDs7QUFJQTJFLCtCQUFXaEIsV0FBWCxFQUF3QmxCLE1BQU1xQyxnQkFBOUIsRUFBZ0RyQyxNQUFNc0Msb0JBQXREOztBQUVBLHdCQUFJbkIsWUFBSixFQUFrQjtBQUNkZSxtQ0FBV2YsWUFBWCxFQUF5Qm5CLE1BQU11QyxpQkFBL0IsRUFBaUR2QyxNQUFNd0MscUJBQXZEO0FBQ0g7O0FBRURKLGdDQUFZbEIsV0FBWixFQUF5QmxCLE1BQU1xQyxnQkFBL0IsRUFBaURyQyxNQUFNc0Msb0JBQXZEOztBQUVBLHdCQUFJbkIsWUFBSixFQUFrQjtBQUNkaUIsb0NBQVlqQixZQUFaLEVBQTBCbkIsTUFBTXVDLGlCQUFoQyxFQUFtRHZDLE1BQU13QyxxQkFBekQ7QUFDSDtBQUNKLGlCQTFGRDtBQTJGSDtBQXZHRSxTQUFQO0FBeUdILEtBNUdUO0FBOEdILENBbkxBLEVBbUxDekYsTUFuTEQsRUFtTFNBLE9BQU9DLE9BbkxoQixDQUFEIiwiZmlsZSI6IjE1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKHdpbmRvdywgYW5ndWxhcikge1xyXG4gICAgJ3VzZSBzdHJpY3QnO1xyXG5cclxuICAgIGZ1bmN0aW9uIGRyYXdEYXRhU2VyaWVzKGNoYXJ0LCBkYXRhLCBjb2xvciwgZmlsbENvbG9yLCBzY2FsZVgsIHNjYWxlWSkge1xyXG5cclxuICAgICAgICB2YXIgYXJlYSA9IGQzLmFyZWEoKVxyXG4gICAgICAgICAgICAueChmdW5jdGlvbiAoZCwgaSkgeyByZXR1cm4gc2NhbGVYKGkpO30pXHJcbiAgICAgICAgICAgIC55KGZ1bmN0aW9uIChkKSAgICB7IHJldHVybiBzY2FsZVkoZCk7IH0pXHJcbiAgICAgICAgICAgIC55MShmdW5jdGlvbiAoKSAgICB7IHJldHVybiBzY2FsZVkoMCk7IH0pXHJcbiAgICAgICAgICAgIC5jdXJ2ZShkMy5jdXJ2ZUxpbmVhcik7XHJcblxyXG4gICAgICAgIHZhciBsaW5lID0gZDMubGluZSgpXHJcbiAgICAgICAgICAgIC54KGZ1bmN0aW9uIChkLCBpKSB7IHJldHVybiBzY2FsZVgoaSk7fSlcclxuICAgICAgICAgICAgLnkoZnVuY3Rpb24gKGQsIGkpIHsgcmV0dXJuIHNjYWxlWShkKTt9KVxyXG4gICAgICAgICAgICAuY3VydmUoZDMuY3VydmVMaW5lYXIpO1xyXG5cclxuICAgICAgICB2YXIgZ3JvdXAgPSBjaGFydC5hcHBlbmQoJ2cnKS5hdHRyKCdjbGFzcycsICdkYXRhU2VyaWVzJyk7XHJcblxyXG4gICAgICAgIGdyb3VwLmFwcGVuZCgncGF0aCcpXHJcbiAgICAgICAgICAgIC5kYXR1bShkYXRhLnBvaW50cylcclxuICAgICAgICAgICAgLmF0dHIoJ2QnLCBhcmVhKVxyXG4gICAgICAgICAgICAuYXR0cignZmlsbCcsIGZpbGxDb2xvcilcclxuICAgICAgICAgICAgLmF0dHIoJ29wYWNpdHknLCAwLjgpXHJcbiAgICAgICAgICAgIC5hdHRyKCdzdHJva2UnLCBmaWxsQ29sb3IpO1xyXG5cclxuICAgICAgICBncm91cC5hcHBlbmQoJ3BhdGgnKVxyXG4gICAgICAgICAgICAuZGF0dW0oZGF0YS5wb2ludHMpXHJcbiAgICAgICAgICAgIC5hdHRyKCdkJywgbGluZSlcclxuICAgICAgICAgICAgLmF0dHIoJ3N0cm9rZScsIGNvbG9yKVxyXG4gICAgICAgICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgMi43NSlcclxuICAgICAgICAgICAgLmF0dHIoJ2ZpbGwnLCAnbm9uZScpO1xyXG4gICAgfVxyXG5cclxuICAgIGZ1bmN0aW9uIGRyYXdBdmVyYWdlTGluZShjaGFydCwgZGF0YSwgY29sb3IsIGZpbGxDb2xvciwgc2NhbGVYLCBzY2FsZVkpIHtcclxuXHJcbiAgICAgICAgdmFyIGxpbmUgPSBkMy5saW5lKClcclxuICAgICAgICAgICAgLngoZnVuY3Rpb24gKGQsIGkpIHsgcmV0dXJuIHNjYWxlWChpKTsgfSlcclxuICAgICAgICAgICAgLnkoZnVuY3Rpb24gKGQsIGkpIHsgcmV0dXJuIHNjYWxlWShkKTsgfSlcclxuICAgICAgICAgICAgLmN1cnZlKGQzLmN1cnZlTGluZWFyKTtcclxuXHJcbiAgICAgICAgdmFyIGdyb3VwID0gY2hhcnQuYXBwZW5kKCdnJykuYXR0cignY2xhc3MnLCAnZGF0YUF2ZXJhZ2UnKTtcclxuXHJcbiAgICAgICAgZ3JvdXAuYXBwZW5kKCdwYXRoJylcclxuICAgICAgICAgICAgLmRhdHVtKEFycmF5KGRhdGEucG9pbnRzLmxlbmd0aCkuZmlsbChkYXRhLmF2ZXJhZ2UpKVxyXG4gICAgICAgICAgICAuYXR0cignZCcsIGxpbmUpXHJcbiAgICAgICAgICAgIC5hdHRyKCdzdHJva2UnLCBjb2xvcilcclxuICAgICAgICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIDEuNSlcclxuICAgICAgICAgICAgLmF0dHIoJ29wYWNpdHknLCAwLjUpXHJcbiAgICAgICAgICAgIC5hdHRyKCdzdHJva2UtZGFzaGFycmF5JywgJzEwLDEwJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZnVuY3Rpb24gcGFkVG9XaG9sZVZhbHVlKHZhbHVlKSB7XHJcbiAgICAgICAgdmFyIGVtcHR5RGF0YVNldHlBeGlzTWF4ID0gMTA7XHJcblxyXG4gICAgICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGVtcHR5RGF0YVNldHlBeGlzTWF4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIHVwcGVyQm91bmQgPSAxMDtcclxuXHJcbiAgICAgICAgd2hpbGUgKHZhbHVlID4gdXBwZXJCb3VuZCkge1xyXG4gICAgICAgICAgICB1cHBlckJvdW5kICo9IDEwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdXBwZXJCb3VuZCAvPSAxMDtcclxuXHJcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IodmFsdWUgLyB1cHBlckJvdW5kKSAqIHVwcGVyQm91bmQgKyB1cHBlckJvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgIGFuZ3VsYXIubW9kdWxlKCd1aS5wYXJ0aWN1bGFyLmxhcmdlR3JhcGgnLCBbXSlcclxuICAgICAgICAuZGlyZWN0aXZlKCdsYXJnZUdyYXBoJyxcclxuICAgICAgICAgICAgZnVuY3Rpb24oZm9ybWF0dGVyKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc3RyaWN0OiAnRScsXHJcbiAgICAgICAgICAgICAgICAgICAgc2NvcGU6IHsgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXM6ICc9eGF4aXNQb2ludHMnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaXJzdERhdGFTZXJpZXM6ICc9Zmlyc3REYXRhU2VyaWVzJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kRGF0YVNlcmllczogJz1zZWNvbmREYXRhU2VyaWVzJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEdXJhdGlvbkdyYXBoOiAnPWlzRHVyYXRpb25HcmFwaCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnPXBsb3RXaWR0aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJz1wbG90SGVpZ2h0J1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGU6ICc8c3ZnPjwvc3ZnPicsXHJcbiAgICAgICAgICAgICAgICAgICAgbGluazogZnVuY3Rpb24gbGluayhzY29wZSwgZWxlbWVudCwgYXR0cnMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuJHdhdGNoKCdmaXJzdERhdGFTZXJpZXMnLCBmdW5jdGlvbiAoKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHN2ZyA9IGVsZW1lbnQuZmluZCgnc3ZnJylbMF07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZDMuc2VsZWN0KHN2Zykuc2VsZWN0QWxsKCcqJykucmVtb3ZlKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRvcE1hcmdpbiA9IDEwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGJvdHRvbU1hcmdpbiA9IDU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGVmdE1hcmdpbiA9IDYwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjaGFydCA9IGQzLnNlbGVjdChzdmcpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ3dpZHRoJywgc2NvcGUud2lkdGgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ2hlaWdodCcsIHNjb3BlLmhlaWdodCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHdpZHRoID0gc3ZnLmNsaWVudFdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhlaWdodCA9IHN2Zy5jbGllbnRIZWlnaHQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ISU5UOiBUaGlzIGlzIHdvcmthcm91bmQgZm9yIEZpcmVmb3hcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3aWR0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBib3ggPSBzdmcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoID0gYm94LnJpZ2h0IC0gYm94LmxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ID0gYm94LmJvdHRvbSAtIGJveC50b3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZpcnN0U2VyaWVzID0gc2NvcGUuZmlyc3REYXRhU2VyaWVzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNlY29uZFNlcmllcyA9IHNjb3BlLnNlY29uZERhdGFTZXJpZXM7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNjYWxlWCA9IGQzLnNjYWxlTGluZWFyKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZG9tYWluKFswLCBmaXJzdFNlcmllcy5wb2ludHMubGVuZ3RoIC0gMV0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJhbmdlKFtsZWZ0TWFyZ2luLCB3aWR0aF0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJ0LmFwcGVuZCgncmVjdCcpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ3dpZHRoJywgd2lkdGggLSBsZWZ0TWFyZ2luKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCdoZWlnaHQnLCBoZWlnaHQgLSB0b3BNYXJnaW4gLSBib3R0b21NYXJnaW4pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoJyArIGxlZnRNYXJnaW4gKyAnLCcgKyB0b3BNYXJnaW4gKyAnKScpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ2ZpbGwnLCAnI0YyRjZGNycpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXggPSBNYXRoLm1heChmaXJzdFNlcmllcy5hdmVyYWdlLCBkMy5tYXgoZmlyc3RTZXJpZXMucG9pbnRzKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNlY29uZFNlcmllcyAmJiBzZWNvbmRTZXJpZXMucG9pbnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXggPSBNYXRoLm1heChtYXgsIHNlY29uZFNlcmllcy5hdmVyYWdlLCBkMy5tYXgoc2Vjb25kU2VyaWVzLnBvaW50cykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXggPSBwYWRUb1dob2xlVmFsdWUobWF4KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2NhbGVZID0gZDMuc2NhbGVMaW5lYXIoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kb21haW4oWzAsIG1heF0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJhbmdlKFtoZWlnaHQgLSBib3R0b21NYXJnaW4sIHRvcE1hcmdpbl0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB5QXhpcyA9IGQzLmF4aXNMZWZ0KHNjYWxlWSkgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRpY2tWYWx1ZXMoWzAsIG1heCAqIDEvNCwgbWF4ICogMS8yLCBtYXggKiAzLzQsIG1heF0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzY29wZS5pc0R1cmF0aW9uR3JhcGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5QXhpcyA9IHlBeGlzLnRpY2tGb3JtYXQoZnVuY3Rpb24gKHYpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZvcm1hdHRlZFRpbWUgPSBmb3JtYXR0ZXIuZm9ybWF0VGltZSh2KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWRUaW1lLnZhbHVlICsgJyAgJyArIGZvcm1hdHRlZFRpbWUudW5pdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFydC5hcHBlbmQoJ2cnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCdjbGFzcycsICd5IGF4aXMnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKCcgKyBsZWZ0TWFyZ2luICsgJywgMCknKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYWxsKGZ1bmN0aW9uIChnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuY2FsbCh5QXhpcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuc2VsZWN0KCcuZG9tYWluJykucmVtb3ZlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcuc2VsZWN0QWxsKCcudGljayBsaW5lJykuYXR0cignc3Ryb2tlJywgJ2JsYWNrJykuYXR0cignc3Ryb2tlLXdpZHRoJywgJzEuNzUnKS5hdHRyKCdvcGFjaXR5JywgMC4xKS5hdHRyKCd4JywgMCkuYXR0cigneDInLCB3aWR0aCAtIGxlZnRNYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnLnNlbGVjdEFsbCgnLnRpY2sgdGV4dCcpLmF0dHIoJ3gnLCAtNCkuYXR0cignZmlsbCcsICcjODI4MjgyJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRyYXdTZXJpZXMgPSBmdW5jdGlvbihkYXRhLCBsaW5lQ29sb3IsIGZpbGxDb2xvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYXdEYXRhU2VyaWVzKGNoYXJ0LCBkYXRhLCBsaW5lQ29sb3IsIGZpbGxDb2xvciwgc2NhbGVYLCBzY2FsZVkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkcmF3QXZlcmFnZSA9IGZ1bmN0aW9uKGRhdGEsIGxpbmVDb2xvciwgZmlsbENvbG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0F2ZXJhZ2VMaW5lKGNoYXJ0LCBkYXRhLCBsaW5lQ29sb3IsIGZpbGxDb2xvciwgc2NhbGVYLCBzY2FsZVkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYXdTZXJpZXMoZmlyc3RTZXJpZXMsIGF0dHJzLmZpcnN0U2VyaWVzQ29sb3IsIGF0dHJzLmZpcnN0U2VyaWVzRmlsbENvbG9yKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2Vjb25kU2VyaWVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd1NlcmllcyhzZWNvbmRTZXJpZXMsIGF0dHJzLnNlY29uZFNlcmllc0NvbG9yLGF0dHJzLnNlY29uZFNlcmllc0ZpbGxDb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0F2ZXJhZ2UoZmlyc3RTZXJpZXMsIGF0dHJzLmZpcnN0U2VyaWVzQ29sb3IsIGF0dHJzLmZpcnN0U2VyaWVzRmlsbENvbG9yICk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNlY29uZFNlcmllcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYXdBdmVyYWdlKHNlY29uZFNlcmllcywgYXR0cnMuc2Vjb25kU2VyaWVzQ29sb3IsIGF0dHJzLnNlY29uZFNlcmllc0ZpbGxDb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxufSh3aW5kb3csIHdpbmRvdy5hbmd1bGFyKSk7XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL2FwcC9tb2R1bGVzL21vbml0b3JpbmcvanMvZGlyZWN0aXZlcy91aS5wYXJ0aWN1bGFyLmxhcmdlR3JhcGguanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///15\n"); +eval("\n\n(function (window, angular) {\n 'use strict';\n\n angular.module('ui.particular.metricslargenumber', []).filter('metricslargenumber', ['formatter', function (formatter) {\n return function (input, dec) {\n var decimals = 0;\n if (input < 10 || input > 1000000) {\n decimals = 2;\n }\n return formatter.formatLargeNumber(input, dec || decimals);\n };\n }]);\n})(window, window.angular);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5tZXRyaWNzbGFyZ2VudW1iZXIuanM/ZWQ2MSJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJhbmd1bGFyIiwibW9kdWxlIiwiZmlsdGVyIiwiZm9ybWF0dGVyIiwiaW5wdXQiLCJkZWMiLCJkZWNpbWFscyIsImZvcm1hdExhcmdlTnVtYmVyIl0sIm1hcHBpbmdzIjoiOztBQUFDLFdBQVNBLE1BQVQsRUFBaUJDLE9BQWpCLEVBQTBCO0FBQzFCOztBQUVHQSxZQUFRQyxNQUFSLENBQWUsa0NBQWYsRUFBbUQsRUFBbkQsRUFDS0MsTUFETCxDQUNZLG9CQURaLEVBQ2tDLENBQUMsV0FBRCxFQUFjLFVBQVVDLFNBQVYsRUFBcUI7QUFDN0QsZUFBTyxVQUFVQyxLQUFWLEVBQWlCQyxHQUFqQixFQUFzQjtBQUN6QixnQkFBSUMsV0FBVyxDQUFmO0FBQ0EsZ0JBQUlGLFFBQVEsRUFBUixJQUFjQSxRQUFRLE9BQTFCLEVBQW1DO0FBQy9CRSwyQkFBVyxDQUFYO0FBQ0g7QUFDRCxtQkFBT0gsVUFBVUksaUJBQVYsQ0FBNEJILEtBQTVCLEVBQW1DQyxPQUFPQyxRQUExQyxDQUFQO0FBQ0gsU0FORDtBQU9ILEtBUjZCLENBRGxDO0FBVUgsQ0FiQSxFQWFDUCxNQWJELEVBYVNBLE9BQU9DLE9BYmhCLENBQUQiLCJmaWxlIjoiOS5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbih3aW5kb3csIGFuZ3VsYXIpIHtcclxuXHQndXNlIHN0cmljdCc7XHJcblxyXG4gICAgYW5ndWxhci5tb2R1bGUoJ3VpLnBhcnRpY3VsYXIubWV0cmljc2xhcmdlbnVtYmVyJywgW10pXHJcbiAgICAgICAgLmZpbHRlcignbWV0cmljc2xhcmdlbnVtYmVyJywgWydmb3JtYXR0ZXInLCBmdW5jdGlvbiAoZm9ybWF0dGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoaW5wdXQsIGRlYykge1xyXG4gICAgICAgICAgICAgICAgdmFyIGRlY2ltYWxzID0gMDtcclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dCA8IDEwIHx8IGlucHV0ID4gMTAwMDAwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRlY2ltYWxzID0gMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZXIuZm9ybWF0TGFyZ2VOdW1iZXIoaW5wdXQsIGRlYyB8fCBkZWNpbWFscyk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfV0pO1xyXG59KHdpbmRvdywgd2luZG93LmFuZ3VsYXIpKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9hcHAvbW9kdWxlcy9tb25pdG9yaW5nL2pzL2RpcmVjdGl2ZXMvdWkucGFydGljdWxhci5tZXRyaWNzbGFyZ2VudW1iZXIuanMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///9\n"); /***/ }) -/******/ ]); \ No newline at end of file + +/******/ }); \ No newline at end of file diff --git a/src/ServicePulse.Host/app/modules/monitoring/js/endpoint_details.controller.js b/src/ServicePulse.Host/app/modules/monitoring/js/endpoint_details.controller.js index 7e8c5b866..dbba7a464 100644 --- a/src/ServicePulse.Host/app/modules/monitoring/js/endpoint_details.controller.js +++ b/src/ServicePulse.Host/app/modules/monitoring/js/endpoint_details.controller.js @@ -11,7 +11,8 @@ historyPeriods, $filter, smallGraphsMinimumYAxis, - largeGraphsMinimumYAxis + largeGraphsMinimumYAxis, + connectivityNotifier ) { $scope.endpointName = $routeParams.endpointName; @@ -46,7 +47,16 @@ var selectedPeriod = $scope.selectedPeriod; subscription = monitoringService.createEndpointDetailsSource($routeParams.endpointName, $routeParams.sourceIndex, selectedPeriod.value, selectedPeriod.refreshInterval).subscribe(function (endpoint) { - if (!endpoint.error) { + if (endpoint.error) { + connectivityNotifier.reportFailedConnection($routeParams.sourceIndex); + if ($scope.endpoint && $scope.endpoint.instances) { + $scope.endpoint.instances.forEach((item) => item.isScMonitoringDisconnected = true); + } + + $scope.endpoint.isScMonitoringDisconnected = true; + + } else { + connectivityNotifier.reportSuccessfulConnection($routeParams.sourceIndex); $scope.endpoint = endpoint; $scope.endpoint.instances.sort(function (first, second) { @@ -62,25 +72,24 @@ }); $scope.loading = false; + $scope.endpoint.messageTypes.forEach((messageType) => fillDisplayValues(messageType)); + + $scope.endpoint.isStale = true; + $scope.endpoint.isScMonitoringDisconnected = false; + + $scope.endpoint.instances.forEach(function (instance) { + fillDisplayValues(instance); + serviceControlService.getExceptionGroupsForEndpointInstance(instance.id).then(function (result) { + if (result.data.length > 0) { + instance.serviceControlId = result.data[0].id; + instance.errorCount = result.data[0].count; + } + }, function (err) { + // Warn user? + }); + $scope.endpoint.isStale = $scope.endpoint.isStale && instance.isStale; + }); } - - $scope.endpoint.messageTypes.forEach( (messageType) => fillDisplayValues(messageType)); - - $scope.endpoint.isStale = true; - - $scope.endpoint.instances.forEach(function (instance) { - fillDisplayValues(instance); - serviceControlService.getExceptionGroupsForEndpointInstance(instance.id).then(function (result) { - if (result.data.length > 0) { - instance.serviceControlId = result.data[0].id; - instance.errorCount = result.data[0].count; - } - }, function (err) { - // Warn user? - }); - - $scope.endpoint.isStale = $scope.endpoint.isStale && instance.isStale; - }); serviceControlService.getExceptionGroupsForLogicalEndpoint($scope.endpointName).then(function(result) { if (result.data.length > 0) { @@ -115,7 +124,8 @@ 'historyPeriods', '$filter', 'smallGraphsMinimumYAxis', - 'largeGraphsMinimumYAxis' + 'largeGraphsMinimumYAxis', + 'connectivityNotifier' ]; angular.module('endpoint_details') diff --git a/src/ServicePulse.Host/app/modules/monitoring/js/endpoint_details.module.js b/src/ServicePulse.Host/app/modules/monitoring/js/endpoint_details.module.js index 549b6da8e..0e96e9d5c 100644 --- a/src/ServicePulse.Host/app/modules/monitoring/js/endpoint_details.module.js +++ b/src/ServicePulse.Host/app/modules/monitoring/js/endpoint_details.module.js @@ -3,6 +3,7 @@ angular.module('endpoint_details', []); + require('./services/services.connectivityNotifier'); require('./endpoint_details.controller'); require('./endpoint_details.route.js'); require('./constant.diagrams.js'); diff --git a/src/ServicePulse.Host/app/modules/monitoring/js/monitored_endpoints.controller.js b/src/ServicePulse.Host/app/modules/monitoring/js/monitored_endpoints.controller.js index f4a4ccd7f..8c303a4bf 100644 --- a/src/ServicePulse.Host/app/modules/monitoring/js/monitored_endpoints.controller.js +++ b/src/ServicePulse.Host/app/modules/monitoring/js/monitored_endpoints.controller.js @@ -10,7 +10,8 @@ historyPeriods, rx, $filter, - smallGraphsMinimumYAxis) { + smallGraphsMinimumYAxis, + connectivityNotifier) { var subscription, endpointsFromScSubscription; @@ -60,36 +61,47 @@ var selectedPeriod = $scope.selectedPeriod; - subscription = monitoringService.createEndpointsSource(selectedPeriod.value, selectedPeriod.refreshInterval).subscribe(function (endpoint) { - var index = $scope.endpoints.findIndex(function (item) { return item.name === endpoint.name }); - - endpoint.isConnected = true; - fillDisplayValuesForEndpoint(endpoint); - if (index >= 0) { - var previousServiceControlId = $scope.endpoints[index].serviceControlId; - var previousErrorCount = $scope.endpoints[index].errorCount; - - $scope.endpoints[index] = endpoint; - $scope.endpoints[index].serviceControlId = previousServiceControlId; - $scope.endpoints[index].errorCount = previousErrorCount; - } else { - $scope.endpoints.push(endpoint); - - $scope.endpoints.sort(function (first, second) { - if (first.name < second.name) { - return -1; + subscription = monitoringService.createEndpointsSource(selectedPeriod.value, selectedPeriod.refreshInterval) + .subscribe(function(endpoint) { + if (endpoint.error) { + connectivityNotifier.reportFailedConnection(endpoint.sourceIndex); + if ($scope.endpoints) { + $scope.endpoints.filter((item) => item.sourceIndex === endpoint.sourceIndex) + .forEach((item) => item.isScMonitoringDisconnected = true); } - - if (first.name > second.name) { - return 1; + } else { + connectivityNotifier.reportSuccessfulConnection(endpoint.sourceIndex); + var index = $scope.endpoints.findIndex(function(item) { return item.name === endpoint.name }); + + endpoint.isConnected = true; + endpoint.isScMonitoringDisconnected = false; + fillDisplayValuesForEndpoint(endpoint); + if (index >= 0) { + var previousServiceControlId = $scope.endpoints[index].serviceControlId; + var previousErrorCount = $scope.endpoints[index].errorCount; + + $scope.endpoints[index] = endpoint; + $scope.endpoints[index].serviceControlId = previousServiceControlId; + $scope.endpoints[index].errorCount = previousErrorCount; + } else { + $scope.endpoints.push(endpoint); + + $scope.endpoints.sort(function(first, second) { + if (first.name < second.name) { + return -1; + } + + if (first.name > second.name) { + return 1; + } + + return 0; + }); } + } - return 0; - }); - } - - $scope.$apply(); - }); + $scope.$apply(); + }); endpointsFromScSubscription = Rx.Observable.interval(5000).startWith(0) @@ -125,7 +137,8 @@ 'historyPeriods', 'rx', '$filter', - 'smallGraphsMinimumYAxis' + 'smallGraphsMinimumYAxis', + 'connectivityNotifier' ]; angular.module('monitored_endpoints') diff --git a/src/ServicePulse.Host/app/modules/monitoring/js/monitored_endpoints.module.js b/src/ServicePulse.Host/app/modules/monitoring/js/monitored_endpoints.module.js index 978ca8db4..7d9158e47 100644 --- a/src/ServicePulse.Host/app/modules/monitoring/js/monitored_endpoints.module.js +++ b/src/ServicePulse.Host/app/modules/monitoring/js/monitored_endpoints.module.js @@ -3,6 +3,7 @@ angular.module('monitored_endpoints', []); require('./services/services.monitoring'); + require('./services/services.connectivityNotifier'); require('./monitored_endpoints.controller'); require('./monitored_endpoints.route.js'); require('./constant.diagrams.js'); diff --git a/src/ServicePulse.Host/app/modules/monitoring/js/services/services.connectivityNotifier.js b/src/ServicePulse.Host/app/modules/monitoring/js/services/services.connectivityNotifier.js new file mode 100644 index 000000000..25355fb7a --- /dev/null +++ b/src/ServicePulse.Host/app/modules/monitoring/js/services/services.connectivityNotifier.js @@ -0,0 +1,44 @@ +; +(function (window, angular, $, undefined) { + 'use strict'; + + function Service(toastService, scConfig) { + + var isConnectedToSourceIndex = Array(scConfig.monitoring_urls.length).fill(true); + + function reportFailedConnection(sourceIndex) { + + if (isConnectedToSourceIndex[sourceIndex]) { + var message = 'Could not connect to the ServiceControl Monitoring service.'; + if (scConfig.monitoring_urls.length > 1) { + message = 'Could not connect to the ServiceControl Monitoring service at' + scConfig.monitoring_urls[sourceIndex] + '.'; + } + toastService.showError(message); + } + isConnectedToSourceIndex[sourceIndex] = false; + } + + function reportSuccessfulConnection(sourceIndex) { + if (!isConnectedToSourceIndex[sourceIndex]) { + var message = 'Connection to ServiceControl Monitoring service was successful.'; + if (scConfig.monitoring_urls.length > 1) { + message = 'Connection to ServiceControl Monitoring service was successful ' + scConfig.monitoring_urls[sourceIndex] +'.'; + } + toastService.showInfo(message, 'Info', true); + } + isConnectedToSourceIndex[sourceIndex] = true; + } + + var service = { + reportFailedConnection: reportFailedConnection, + reportSuccessfulConnection: reportSuccessfulConnection + }; + + return service; + } + + Service.$inject = ['toastService', 'scConfig']; + + angular.module('services.connectivityNotifier', ['sc']) + .service('connectivityNotifier', Service); +}(window, window.angular, window.jQuery)); \ No newline at end of file diff --git a/src/ServicePulse.Host/app/modules/monitoring/js/services/services.monitoring.js b/src/ServicePulse.Host/app/modules/monitoring/js/services/services.monitoring.js index fe5e5ade8..cad39b639 100644 --- a/src/ServicePulse.Host/app/modules/monitoring/js/services/services.monitoring.js +++ b/src/ServicePulse.Host/app/modules/monitoring/js/services/services.monitoring.js @@ -2,17 +2,7 @@ (function (window, angular, $, undefined) { 'use strict'; - function Service($http, rx, scConfig, uri, $q, toastService) { - - var isDisconnected = false; - - var notifyDisconnected = function() { - if (isDisconnected === false) { - toastService.showError("Can not connect to Monitoring.\n Reload the page to check connection"); - } - - isDisconnected = true; - }; + function Service($http, rx, scConfig, uri, $q) { function createEndpointsSource(historyPeriod, refreshInterval) { return Rx.Observable.interval(refreshInterval).startWith(0) @@ -39,10 +29,12 @@ }); return result.data; - }, function(error) { - notifyDisconnected(); - return error; - }); + }, + (error) => { + var sourceIndex = scConfig.monitoring_urls.indexOf(url); + return [{ error: error, sourceIndex: sourceIndex }]; + } + ); }); } @@ -51,7 +43,6 @@ .then(function (result) { return result.data; }, function (error) { - notifyDisconnected(); return { error: error }; }); } diff --git a/src/ServicePulse.Host/app/modules/monitoring/views/endpoint_details.html b/src/ServicePulse.Host/app/modules/monitoring/views/endpoint_details.html index ea0de1bcf..f2d855923 100644 --- a/src/ServicePulse.Host/app/modules/monitoring/views/endpoint_details.html +++ b/src/ServicePulse.Host/app/modules/monitoring/views/endpoint_details.html @@ -6,16 +6,20 @@

- {{endpointName}} + {{endpointName}} +

@@ -41,14 +45,14 @@

+ first-data-series="endpoint.metricDetails.metrics.queueLength" + xAxis-points="endpoint.metricDetails.metrics.queueLength.timeAxisValues" + minimum-YAxis="{{largeGraphsMinimumYAxis.queueLength}}" + plot-width="750" + plot-height="200" + first-series-color="#EA7E00" + first-series-fill-color="#EADDCE" + class="large-graph pull-left">
@@ -63,11 +67,17 @@

- {{endpoint.isStale ? "" : (endpoint.digest.metrics.queueLength.latest | metricslargenumber:0)}} MSGS - +
+ {{endpoint.digest.metrics.queueLength.latest | metricslargenumber:0}} MSGS +
+ ?
- {{endpoint.digest.metrics.queueLength.average | metricslargenumber:0}} MSGS AVG +
+ {{endpoint.digest.metrics.queueLength.average | metricslargenumber:0}} MSGS +
+ ? + AVG

@@ -75,17 +85,17 @@

+ first-data-series="endpoint.metricDetails.metrics.throughput" + second-data-series="endpoint.metricDetails.metrics.retries" + xAxis-points="endpoint.metricDetails.metrics.throughput.timeAxisValues" + minimum-YAxis="{{largeGraphsMinimumYAxis.throughputRetries}}" + plot-width="750" + plot-height="200" + first-series-color="#176397" + first-series-fill-color="#CADCE8" + second-series-color="#CC1252" + second-series-fill-color="#E9C4D1" + class="large-graph pull-left">
@@ -95,11 +105,17 @@

- {{endpoint.isStale ? "" : (endpoint.digest.metrics.throughput.latest | metricslargenumber:2)}} MSGS/S - +
+ {{endpoint.digest.metrics.throughput.latest | metricslargenumber:2}} MSGS/S +
+ ?
- {{endpoint.digest.metrics.throughput.average | metricslargenumber:2}} MSGS/S AVG +
+ {{endpoint.digest.metrics.throughput.average | metricslargenumber:2}} MSGS/S +
+ ? + AVG
@@ -110,11 +126,17 @@

- {{endpoint.isStale ? "" : (endpoint.digest.metrics.retries.latest | metricslargenumber:2)}} MSGS/S - +
+ {{endpoint.digest.metrics.retries.latest | metricslargenumber:2}} MSGS/S +
+ ?
- {{endpoint.digest.metrics.retries.average | metricslargenumber:2}} MSGS/S AVG +
+ {{endpoint.digest.metrics.retries.average | metricslargenumber:2}} MSGS/S +
+ ? + AVG
@@ -123,18 +145,18 @@

+ first-data-series="endpoint.metricDetails.metrics.criticalTime" + second-data-series="endpoint.metricDetails.metrics.processingTime" + xAxis-points="endpoint.metricDetails.metrics.criticalTime.timeAxisValues" + minimum-YAxis="{{largeGraphsMinimumYAxis.processingCritical}}" + plot-width="750" + plot-height="200" + first-series-color="#2700CB" + first-series-fill-color="#C4BCE5" + second-series-color="#258135" + second-series-fill-color="#BEE6C5" + is-duration-graph="true" + class="large-graph pull-left">
@@ -144,13 +166,17 @@

- {{endpoint.isStale ? "" : (endpoint.digest.metrics.processingTime.latest | durationValue)}} - {{endpoint.digest.metrics.processingTime.latest | durationUnit}} - +
+ {{endpoint.digest.metrics.processingTime.latest | durationValue}} {{endpoint.digest.metrics.processingTime.latest | durationUnit}} +
+ ?
- {{endpoint.digest.metrics.processingTime.average | durationValue}} - {{endpoint.digest.metrics.processingTime.average | durationUnit}} AVG +
+ {{endpoint.digest.metrics.processingTime.average | durationValue}} {{endpoint.digest.metrics.processingTime.average | durationUnit}} AVG +
+ ? + AVG
@@ -161,13 +187,17 @@

- {{endpoint.isStale ? "" : (endpoint.digest.metrics.criticalTime.latest | durationValue)}} - {{endpoint.digest.metrics.criticalTime.latest | durationUnit}} - +
+ {{endpoint.digest.metrics.criticalTime.latest | durationValue}} {{endpoint.digest.metrics.criticalTime.latest | durationUnit}} +
+ ?
- {{endpoint.digest.metrics.criticalTime.average | durationValue}} - {{endpoint.digest.metrics.criticalTime.average | durationUnit}} AVG +
+ {{endpoint.digest.metrics.criticalTime.average | durationValue}} {{endpoint.digest.metrics.criticalTime.average | durationUnit}} +
+ ? + AVG
@@ -188,7 +218,7 @@

-
+
@@ -238,33 +268,35 @@
-
-
- +
+
+
+ {{instance.name}} +
+
+
- - -
- {{instance.isStale ? "" : instance.metrics.throughput.displayValue}} - + {{(instance.isStale == true || instance.isScMonitoringDisconnected == true) ? "" : instance.metrics.throughput.displayValue}} + ?
@@ -272,13 +304,10 @@
- - -
- {{instance.isStale ? "" : instance.metrics.retries.displayValue}} - + {{(instance.isStale == true || instance.isScMonitoringDisconnected == true) ? "" : instance.metrics.retries.displayValue}} + ?
@@ -286,13 +315,11 @@
- - -
- {{instance.isStale ? "" : instance.metrics.processingTime.displayValue.value}} - {{instance.metrics.processingTime.displayValue.unit}} + {{(instance.isStale == true || instance.isScMonitoringDisconnected == true) ? "" : instance.metrics.processingTime.displayValue.value}} + {{instance.metrics.processingTime.displayValue.unit}} + ?
@@ -300,26 +327,24 @@
- - -
- {{instance.isStale ? "" : instance.metrics.criticalTime.displayValue.value}} - {{instance.metrics.criticalTime.displayValue.unit}} + {{(instance.isStale == true || instance.isScMonitoringDisconnected == true) ? "" : instance.metrics.criticalTime.displayValue.value}} + {{instance.metrics.criticalTime.displayValue.unit}} + ?
+
-
-
+
@@ -370,20 +395,29 @@
-
- -
- {{messageType.typeName ? messageType.typeName : 'Unknown'}} -
- - - -
-
+
+
+ {{messageType.typeName ? messageType.typeName : 'Unknown'}} +
+
{{messageType.assemblyName + '-' + messageType.assemblyVersion}}
{{'Culture=' + messageType.culture}}
-
{{'PublicKeyToken=' + messageType.publicKeyToken}}
- +
{{'PublicKeyToken=' + messageType.publicKeyToken}}
+
+
+
@@ -393,7 +427,8 @@
- {{endpoint.isStale ? "" : messageType.metrics.throughput.displayValue}} + {{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? "" : messageType.metrics.throughput.displayValue}} + ?
@@ -403,7 +438,8 @@
- {{endpoint.isStale ? "" : messageType.metrics.retries.displayValue}} + {{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? "" : messageType.metrics.retries.displayValue}} + ?
@@ -413,8 +449,9 @@
- {{endpoint.isStale ? "" : messageType.metrics.processingTime.displayValue.value}} - {{messageType.metrics.processingTime.displayValue.unit}} + {{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? "" : messageType.metrics.processingTime.displayValue.value}} + {{messageType.metrics.processingTime.displayValue.unit}} + ?
@@ -424,8 +461,9 @@
- {{endpoint.isStale ? "" : messageType.metrics.criticalTime.displayValue.value}} - {{messageType.metrics.criticalTime.displayValue.unit}} + {{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? "" : messageType.metrics.criticalTime.displayValue.value}} + {{messageType.metrics.criticalTime.displayValue.unit}} + ?
@@ -437,4 +475,4 @@
- + \ No newline at end of file diff --git a/src/ServicePulse.Host/app/modules/monitoring/views/monitored_endpoints.html b/src/ServicePulse.Host/app/modules/monitoring/views/monitored_endpoints.html index 2724a2216..0cbfc6ec2 100644 --- a/src/ServicePulse.Host/app/modules/monitoring/views/monitored_endpoints.html +++ b/src/ServicePulse.Host/app/modules/monitoring/views/monitored_endpoints.html @@ -23,10 +23,15 @@

Endpoints overview

-

No endpoints available for monitoring

-

Ensure that your endpoints have auditing enabled and/or have the metrics plug-in enabled

+

Endpoint monitoring not available

+

Monitoring is not available due to one or more of these reasons:

+
    +
  • the monitoring server is not configured or is unavailable
  • +
  • the monitoring plugin is not installed on the endpoints to be monitored
  • +
  • endpoints without the monitoring plugin do not have auditing enabled
  • +
@@ -46,7 +51,7 @@

No endpoints available for monitoring

Queue length: The estimated number of messages in an endpoint's queue.

-

NOTE: This is an experimental feature. Learn more

+

WARNING: This is an experimental feature. Learn more

@@ -88,22 +93,27 @@

No endpoints available for monitoring

- -
+ +
@@ -111,13 +121,10 @@

No endpoints available for monitoring

- - -
- {{endpoint.isStale ? "" : endpoint.metrics.queueLength.displayValue}} - + {{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? "" : endpoint.metrics.queueLength.displayValue}} + ?
@@ -125,13 +132,10 @@

No endpoints available for monitoring

- - -
- {{endpoint.isStale ? "" : endpoint.metrics.throughput.displayValue}} - + {{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? "" : endpoint.metrics.throughput.displayValue}} + ?
@@ -139,13 +143,10 @@

No endpoints available for monitoring

- - -
- {{endpoint.isStale ? "" : endpoint.metrics.retries.displayValue}} - + {{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? "" : endpoint.metrics.retries.displayValue}} + ?
@@ -153,12 +154,11 @@

No endpoints available for monitoring

- - -
- {{endpoint.isStale ? "" : endpoint.metrics.processingTime.displayValue.value}} {{endpoint.metrics.processingTime.displayValue.unit}} + {{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? "" : endpoint.metrics.processingTime.displayValue.value}} + ? + {{endpoint.metrics.processingTime.displayValue.unit}}
@@ -166,13 +166,11 @@

No endpoints available for monitoring

- - -
- {{endpoint.isStale ? "" : endpoint.metrics.criticalTime.displayValue.value}} {{endpoint.metrics.criticalTime.displayValue.unit}} - + {{(endpoint.isStale == true || endpoint.isScMonitoringDisconnected == true) ? "" : endpoint.metrics.criticalTime.displayValue.value}} + ? + {{endpoint.metrics.criticalTime.displayValue.unit}}