Newer
Older
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
_this.olStyle = function (feature) {
var checkProperties = feature.getProperties();
var checkProperty = checkProperties[_this.propertyName];
var returnValue;
if (_this.propertyStyleLookup[checkProperty] !== undefined) {
returnValue = [_this.propertyStyleLookup[checkProperty]];
}
else {
returnValue = [_this.defaultStyle];
}
return returnValue;
};
if (_this.defaultLabelHtml !== null) {
_this.legendArray.push(_this.defaultLabelHtml);
}
_this.legendHtml = '<ul>';
for (var _b = 0, _c = _this.legendArray; _b < _c.length; _b++) {
var h = _c[_b];
_this.legendHtml += "<li>" + h + "</li>";
}
_this.legendHtml += '</ul>';
return _this;
}
return UniqueValueSymbol;
}(SymbolGenerator));
/**
* style and legend object
* @typedef {object} styleAndLegend
* @property {styleFunc} style - style function
* @property {string} legend - legend content
*/
/**
*
* @param {object} esriResponse - layer info
* @returns {styleAndLegend} style and legend object
*/
function makeFeatureServiceLegendAndSymbol(esriResponse) {
"use strict";
var renderer = esriResponse.drawingInfo.renderer;
var symbolLegendOut = null;
switch (renderer.type) {
case 'simple':
switch (esriResponse.geometryType) {
case 'esriGeometryPoint':
symbolLegendOut = new SingleSymbol(esriResponse, PointSymbol);
break;
case 'esriGeometryPolyline':
symbolLegendOut = new SingleSymbol(esriResponse, LineSymbol);
break;
case 'esriGeometryPolygon':
symbolLegendOut = new SingleSymbol(esriResponse, PolygonSymbol);
break;
default:
console.log(esriResponse);
alert(esriResponse.geometryType + ' not handled');
}
break;
case 'uniqueValue':
switch (esriResponse.geometryType) {
case 'esriGeometryPoint':
symbolLegendOut = new UniqueValueSymbol(esriResponse, PointSymbol);
break;
case 'esriGeometryPolyline':
symbolLegendOut = new UniqueValueSymbol(esriResponse, LineSymbol);
break;
case 'esriGeometryPolygon':
symbolLegendOut = new UniqueValueSymbol(esriResponse, PolygonSymbol);
break;
default:
console.log(esriResponse);
alert(esriResponse['geometryType'] + ' not handled');
}
break;
default:
alert('not handled renderer type: ' + renderer['type']);
}
if (symbolLegendOut == null) {
return { style: undefined, legend: '' };
}
else {
return { style: symbolLegendOut.olStyle, legend: symbolLegendOut.legendHtml };
}
}
exports.makeFeatureServiceLegendAndSymbol = makeFeatureServiceLegendAndSymbol;
nm.makeFeatureServiceLegendAndSymbol = makeFeatureServiceLegendAndSymbol;
/**
*
* @param {object} lyrObject - the layer as defined in the response
* @param {boolean} [skipLayerNameAndExpander=false] use only icons
* @returns {string} legend html
*/
function mapServiceLegendItem(lyrObject, skipLayerNameAndExpander) {
if (skipLayerNameAndExpander === void 0) { skipLayerNameAndExpander = false; }
skipLayerNameAndExpander = typeof skipLayerNameAndExpander == 'boolean' ? skipLayerNameAndExpander : false;
var layerName = lyrObject['layerName'];
var legendItems = lyrObject['legend'];
var legendHtml = '';
if (!skipLayerNameAndExpander) {
legendHtml += "<span class=\"legend-layer-subitem\">" + layerName + "</span>";
}
if (legendItems.length == 1) {
legendHtml = "<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64," + legendItems[0]['imageData'] + "\">";
}
else {
if (!skipLayerNameAndExpander) {
legendHtml += '<span class="legend-items-expander" title="Expand/Collapse">▼</span>';
}
legendHtml += '<ul>';
for (var i = 0; i < legendItems.length; i++) {
legendHtml += "<li>";
legendHtml += "<span class=\"legend-layer-subitem\">" + htmlEscape(legendItems[i]['label']) + "</span>";
legendHtml += "<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64," + legendItems[i]['imageData'] + "\">";
legendHtml += "</li>";
}
legendHtml += '</ul>';
}
if (!skipLayerNameAndExpander) {
legendHtml = "<span class=\"legend-layer-subitem\">" + layerName + "</span>" + legendHtml;
}
return legendHtml;
}
/**
* make map service legent
* @param {object} esriResponse - layer info
* @returns {string} legend content
*/
function makeMapServiceLegend(esriResponse) {
"use strict";
var newLegendHtml = '';
var layers = esriResponse['layers'];
if (layers.length == 1) {
newLegendHtml += mapServiceLegendItem(layers[0], true);
}
else {
newLegendHtml += '<ul>';
for (var i = 0; i < layers.length; i++) {
newLegendHtml += '<li>' + mapServiceLegendItem(layers[i]) + '</li>';
}
newLegendHtml += '</ul>';
}
return newLegendHtml;
}
exports.makeMapServiceLegend = makeMapServiceLegend;
nm.makeMapServiceLegend = makeMapServiceLegend;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNyaVRvT2xTdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImVzcmlUb09sU3R5bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0dBRUc7QUFDSCwyQ0FBc0M7QUFDdEMsOEJBQWlDO0FBQ2pDLElBQU0sRUFBRSxHQUFHLGlCQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUU5Qzs7Ozs7R0FLRztBQUVIOzs7Ozs7R0FNRztBQUNILDJCQUEyQixVQUFVLEVBQUUsT0FBTztJQUMxQyxZQUFZLENBQUM7SUFFYixNQUFNLENBQUMsVUFBUSxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBSSxPQUFPLE1BQUcsQ0FBQztBQUNqRixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILG9CQUFvQixHQUFHO0lBQ25CLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1NBQ2IsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7U0FDdEIsT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7U0FDdkIsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7U0FDdEIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7U0FDckIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRUQsRUFBRSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7QUE0QjNCO0lBTUk7Ozs7T0FJRztJQUNILHNCQUFZLFNBQXFCLEVBQUUsT0FBZTtRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lB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Q29udGVudCI6WyIvKipcclxuICogQ3JlYXRlZCBieSBnYXZvcmhlcyBvbiAxLzQvMjAxNi5cclxuICovXHJcbmltcG9ydCBwcm92aWRlIGZyb20gJy4uL3V0aWwvcHJvdmlkZSc7XHJcbmltcG9ydCBvbCA9IHJlcXVpcmUoJ2N1c3RvbS1vbCcpO1xyXG5jb25zdCBubSA9IHByb3ZpZGUoJ29sSGVscGVycy5lc3JpVG9PbFN0eWxlJyk7XHJcblxyXG4vKipcclxuICogVGhpcyBjYWxsYmFjayBpcyBkaXNwbGF5ZWQgYXMgcGFydCBvZiB0aGUgUmVxdWVzdGVyIGNsYXNzLlxyXG4gKiBAY2FsbGJhY2sgc3R5bGVGdW5jXHJcbiAqIEBwYXJhbSB7b2wuRmVhdHVyZX0gZmVhdCAtIG9wZW5sYXllcnMgZmVhdHVyZVxyXG4gKiBAcGFyYW0ge251bWJlcn0gcmVzb2x1dGlvbiAtIG1hcCByZXNvbHV0aW9uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSB7QXJyYXk8bnVtYmVyPn0gY29sb3JBcnJheSAtIGlucHV0IGNvbG9yIGFycmF5XHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBvcGFjaXR5IC0gdGhlIG9wYWNpdHkgMCB0byAxXHJcbiAqIEByZXR1cm5zIHtzdHJpbmd9IHJnYmEgc3RyaW5nXHJcbiAqIEBwcml2YXRlXHJcbiAqL1xyXG5mdW5jdGlvbiBfY29sb3JBcnJheVRvUmdiYShjb2xvckFycmF5LCBvcGFjaXR5KSB7XHJcbiAgICBcInVzZSBzdHJpY3RcIjtcclxuXHJcbiAgICByZXR1cm4gYHJnYmEoJHtjb2xvckFycmF5WzBdfSwke2NvbG9yQXJyYXlbMV19LCR7Y29sb3JBcnJheVsyXX0sJHtvcGFjaXR5fSlgO1xyXG59XHJcblxyXG4vKipcclxuICogZXNjYXBlIGh0bWwgY2hhcmN0ZXJzXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgLSBpbnB1dCBzdHJpbmdcclxuICogQHJldHVybnMge3N0cmluZ30gZXNjYXBlZCBzdHJpbmdcclxuICovXHJcbmZ1bmN0aW9uIGh0bWxFc2NhcGUoc3RyKSB7XHJcbiAgICByZXR1cm4gU3RyaW5nKHN0cilcclxuICAgICAgICAucmVwbGFjZSgvJi9nLCAnJmFtcDsnKVxyXG4gICAgICAgIC5yZXBsYWNlKC9cIi9nLCAnJnF1b3Q7JylcclxuICAgICAgICAucmVwbGFjZSgvJy9nLCAnJiMzOTsnKVxyXG4gICAgICAgIC5yZXBsYWNlKC88L2csICcmbHQ7JylcclxuICAgICAgICAucmVwbGFjZSgvPi9nLCAnJmd0OycpO1xyXG59XHJcblxyXG5ubS5odG1sRXNjYXBlID0gaHRtbEVzY2FwZTtcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVzcmlSZXNwb25zZXtcclxuICAgIGRyYXdpbmdJbmZvOiB7XHJcbiAgICAgICAgcmVuZGVyZXI6IEVzcmlSZW5kZXJlclxyXG4gICAgfSxcclxuICAgIGdlb21ldHJ5VHlwZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXNyaVJlbmRlcmVye1xyXG4gICAgdHlwZTogc3RyaW5nO1xyXG4gICAgc3ltYm9sOiBFc3JpU3ltYm9sO1xyXG4gICAgdW5pcXVlVmFsdWVJbmZvczogQXJyYXk8e2xhYmVsOiBzdHJpbmcsIHZhbHVlOiBhbnksIHN5bWJvbDogRXNyaVN5bWJvbH0+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVzcmlTeW1ib2x7XHJcbiAgICBzaXplOiBudW1iZXI7XHJcbiAgICB0eXBlOiBzdHJpbmc7XHJcbiAgICBvdXRsaW5lOntcclxuICAgICAgICBjb2xvcjogc3RyaW5nO1xyXG4gICAgICAgIHdpZHRoOiBudW1iZXI7XHJcbiAgICB9LFxyXG4gICAgY29sb3I6IHN0cmluZztcclxuICAgIHdpZHRoOiBudW1iZXI7XHJcbn1cclxuXHJcblxyXG5jbGFzcyBDb21tb25TeW1ib2wge1xyXG4gICAgbGVnZW5kSHRtbDogc3RyaW5nO1xyXG4gICAgb3BhY2l0eTogbnVtYmVyO1xyXG4gICAgc3ltYm9sT2JqOiBFc3JpU3ltYm9sO1xyXG4gICAgb2xTdHlsZTogb2wuc3R5bGUuU3R5bGV8QXJyYXk8b2wuc3R5bGUuU3R5bGU+fG9sLlN0eWxlRnVuY3Rpb247XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHN5bWJvbE9ialxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG9wYWNpdHlcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3Ioc3ltYm9sT2JqOiBFc3JpU3ltYm9sLCBvcGFjaXR5OiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnN5bWJvbE9iaiA9IHN5bWJvbE9iajtcclxuICAgICAgICB0aGlzLm9wYWNpdHkgPSBvcGFjaXR5O1xyXG4gICAgICAgIHRoaXMub2xTdHlsZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLmxlZ2VuZEh0bWwgPSAnJztcclxuICAgIH1cclxufVxyXG5cclxuaW50ZXJmYWNlIElDb21tb25TeW1ib2x7XHJcbiAgICBuZXcgKHN5bWJvbE9iajogRXNyaVN5bWJvbCwgb3BhY2l0eTogbnVtYmVyKTogQ29tbW9uU3ltYm9sXHJcbn1cclxuXHJcblxyXG5jbGFzcyBQb2ludFN5bWJvbCBleHRlbmRzIENvbW1vblN5bWJvbCB7XHJcbiAgICBjb25zdHJ1Y3RvcihzeW1ib2xPYmo6IEVzcmlTeW1ib2wsIG9wYWNpdHk6IG51bWJlcikge1xyXG4gICAgICAgIHN1cGVyKHN5bWJvbE9iaiwgb3BhY2l0eSk7XHJcbiAgICAgICAgc3dpdGNoICh0aGlzLnN5bWJvbE9iai50eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2VzcmlTTVMnOlxyXG4gICAgICAgICAgICAgICAgbGV0IGlubmVyQ29sb3IgPSBfY29sb3JBcnJheVRvUmdiYSh0aGlzLnN5bWJvbE9iai5jb2xvciwgdGhpcy5vcGFjaXR5KTtcclxuICAgICAgICAgICAgICAgIGxldCBvdXRlckNvbG9yID0gX2NvbG9yQXJyYXlUb1JnYmEodGhpcy5zeW1ib2xPYmoub3V0bGluZS5jb2xvciwgdGhpcy5vcGFjaXR5KTtcclxuICAgICAgICAgICAgICAgIGxldCBvdXRsaW5lV2lkdGggPSB0aGlzLnN5bWJvbE9iai5vdXRsaW5lLndpZHRoO1xyXG4gICAgICAgICAgICAgICAgbGV0IHJhZGl1cyA9IHRoaXMuc3ltYm9sT2JqLnNpemU7XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMub2xTdHlsZSA9IG5ldyBvbC5zdHlsZS5TdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IG5ldyBvbC5zdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByYWRpdXM6IHJhZGl1cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogbmV3IG9sLnN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGlubmVyQ29sb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sLnN0eWxlLlN0cm9rZSh7Y29sb3I6IG91dGVyQ29sb3IsIHdpZHRoOiBvdXRsaW5lV2lkdGh9KVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMubGVnZW5kSHRtbCA9IGA8c3BhbiBjbGFzcz1cImxlZ2VuZC1sYXllci1pY29uXCIgc3R5bGU9XCJjb2xvcjogJHtpbm5lckNvbG9yfVwiPiYjOTY3OTs8L3NwYW4+YDtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdlc3JpUE1TJzpcclxuICAgICAgICAgICAgICAgIHRoaXMub2xTdHlsZSA9IG5ldyBvbC5zdHlsZS5TdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IG5ldyBvbC5zdHlsZS5JY29uKHtzcmM6IGBkYXRhOmltYWdlL3BuZztiYXNlNjQsJHt0aGlzLnN5bWJvbE9ialsnaW1hZ2VEYXRhJ119YH0pXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMubGVnZW5kSHRtbCA9IGA8aW1nIGNsYXNzPVwibGVnZW5kLWxheWVyLWljb25cIiBoZWlnaHQ9XCIxN1wiIHNyYz1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwke3RoaXMuc3ltYm9sT2JqWydpbWFnZURhdGEnXX1cIj5gO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnN5bWJvbE9iaik7XHJcbiAgICAgICAgICAgICAgICBhbGVydCgnUG9pbnQgc3ltYm9sIGRvZXMgbm90IGhhbmRsZSBzeW1ib2wgdHlwZTogJyArIHRoaXMuc3ltYm9sT2JqWyd0eXBlJ10pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuY2xhc3MgTGluZVN5bWJvbCBleHRlbmRzIENvbW1vblN5bWJvbCB7XHJcbiAgICBjb25zdHJ1Y3RvcihzeW1ib2xPYmo6IEVzcmlTeW1ib2wsIG9wYWNpdHk6IG51bWJlcikge1xyXG4gICAgICAgIHN1cGVyKHN5bWJvbE9iaiwgb3BhY2l0eSk7XHJcbiAgICAgICAgc3dpdGNoICh0aGlzLnN5bWJvbE9iai50eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2VzcmlTTFMnOlxyXG4gICAgICAgICAgICAgICAgbGV0IGlubmVyQ29sb3IgPSBfY29sb3JBcnJheVRvUmdiYSh0aGlzLnN5bWJvbE9iai5jb2xvciwgdGhpcy5vcGFjaXR5KTtcclxuICAgICAgICAgICAgICAgIGxldCBsaW5lV2lkdGggPSB0aGlzLnN5bWJvbE9iai53aWR0aDtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9sU3R5bGUgPSBuZXcgb2wuc3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sLnN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbm5lckNvbG9yLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2xpbmVEYXNoOiBbNF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsaW5lV2lkdGhcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5sZWdlbmRIdG1sID0gYDxzcGFuIGNsYXNzPVwibGVnZW5kLWxheWVyLWljb25cIiBgO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sZWdlbmRIdG1sICs9IGBzdHlsZT1cImA7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxlZ2VuZEh0bWwgKz0gYGJhY2tncm91bmQtY29sb3I6ICR7aW5uZXJDb2xvcn07YDtcclxuICAgICAgICAgICAgICAgIHRoaXMubGVnZW5kSHRtbCArPSBgd2lkdGg6IDQwcHg7YDtcclxuICAgICAgICAgICAgICAgIHRoaXMubGVnZW5kSHRtbCArPSBgaGVpZ2h0OiA0cHg7YDtcclxuICAgICAgICAgICAgICAgIHRoaXMubGVnZW5kSHRtbCArPSBgcG9zaXRpb246IHJlbGF0aXZlO2A7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxlZ2VuZEh0bWwgKz0gYGRpc3BsYXk6IGlubGluZS1ibG9jaztgO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sZWdlbmRIdG1sICs9IGB0b3A6IC0xcHg7YDtcclxuICAgICAgICAgICAgICAgIHRoaXMubGVnZW5kSHRtbCArPSBgXCI+PC9zcGFuPmA7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc3ltYm9sT2JqKTtcclxuICAgICAgICAgICAgICAgIGFsZXJ0KCdMaW5lIHN5bWJvbCBkb2VzIG5vdCBoYW5kbGUgc3ltYm9sIHR5cGU6ICcgKyB0aGlzLnN5bWJvbE9ialsndHlwZSddKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmNsYXNzIFBvbHlnb25TeW1ib2wgZXh0ZW5kcyBDb21tb25TeW1ib2wge1xyXG4gICAgY29uc3RydWN0b3Ioc3ltYm9sT2JqOiBFc3JpU3ltYm9sLCBvcGFjaXR5OiBudW1iZXIpIHtcclxuICAgICAgICBzdXBlcihzeW1ib2xPYmosIG9wYWNpdHkpO1xyXG4gICAgICAgIHN3aXRjaCAodGhpcy5zeW1ib2xPYmpbJ3R5cGUnXSkge1xyXG4gICAgICAgICAgICBjYXNlICdlc3JpU0ZTJzpcclxuICAgICAgICAgICAgICAgIGxldCBpbm5lckNvbG9yID0gX2NvbG9yQXJyYXlUb1JnYmEodGhpcy5zeW1ib2xPYmouY29sb3IsIHRoaXMub3BhY2l0eSk7XHJcbiAgICAgICAgICAgICAgICBsZXQgb3V0ZXJDb2xvciA9IF9jb2xvckFycmF5VG9SZ2JhKHRoaXMuc3ltYm9sT2JqLm91dGxpbmUuY29sb3IsIHRoaXMub3BhY2l0eSk7XHJcbiAgICAgICAgICAgICAgICBsZXQgb3V0bGluZVdpZHRoID0gdGhpcy5zeW1ib2xPYmoub3V0bGluZS53aWR0aDtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9sU3R5bGUgPSBuZXcgb2wuc3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sLnN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBvdXRlckNvbG9yLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2xpbmVEYXNoOiBbNF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBvdXRsaW5lV2lkdGhcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICBmaWxsOiBuZXcgb2wuc3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbm5lckNvbG9yXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMubGVnZW5kSHRtbCA9IGA8c3BhbiBjbGFzcz1cImxlZ2VuZC1sYXllci1pY29uXCIgYDtcclxuICAgICAgICAgICAgICAgIHRoaXMubGVnZW5kSHRtbCArPSBgc3R5bGU9XCJgO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sZWdlbmRIdG1sICs9IGBiYWNrZ3JvdW5kLWNvbG9yOiAke2lubmVyQ29sb3J9O2A7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxlZ2VuZEh0bWwgKz0gYGJvcmRlcjogc29saWQgJHtvdXRlckNvbG9yfSAxcHg7YDtcclxuICAgICAgICAgICAgICAgIHRoaXMubGVnZW5kSHRtbCArPSBgd2lkdGg6IDQwcHg7YDtcclxuICAgICAgICAgICAgICAgIHRoaXMubGVnZW5kSHRtbCArPSBgaGVpZ2h0OiA5cHg7YDtcclxuICAgICAgICAgICAgICAgIHRoaXMubGVnZW5kSHRtbCArPSBgcG9zaXRpb246IHJlbGF0aXZlO2A7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxlZ2VuZEh0bWwgKz0gYGRpc3BsYXk6IGlubGluZS1ibG9jaztgO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sZWdlbmRIdG1sICs9IGB0b3A6IDJweDtgO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sZWdlbmRIdG1sICs9IGBcIj48L3NwYW4+YDtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc3ltYm9sT2JqKTtcclxuICAgICAgICAgICAgICAgIGFsZXJ0KCdQb2x5Z29uIHN5bWJvbCBkb2VzIGhhbmRsZSBzeW1ib2wgdHlwZTogJyArIHRoaXMuc3ltYm9sT2JqWyd0eXBlJ10pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuY2xhc3MgU3ltYm9sR2VuZXJhdG9yIHtcclxuICAgIG9wYWNpdHk6IG51bWJlcjtcclxuICAgIHJlbmRlcmVyOiBFc3JpUmVuZGVyZXI7XHJcbiAgICBsZWdlbmRIdG1sOiBzdHJpbmc7XHJcbiAgICBvbFN0eWxlOiBvbC5zdHlsZS5TdHlsZXxBcnJheTxvbC5zdHlsZS5TdHlsZT58b2wuU3R5bGVGdW5jdGlvbjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihlc3JpUmVzcG9uc2U6IEVzcmlSZXNwb25zZSkge1xyXG4gICAgICAgIHRoaXMub3BhY2l0eSA9ICgxMDAgLSAoZXNyaVJlc3BvbnNlWydkcmF3aW5nSW5mbyddWyd0cmFuc3BhcmVuY3knXSB8fCAwKSkgLyAxMDA7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlciA9IGVzcmlSZXNwb25zZS5kcmF3aW5nSW5mby5yZW5kZXJlcjtcclxuICAgICAgICB0aGlzLm9sU3R5bGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5sZWdlbmRIdG1sID0gJyc7XHJcbiAgICB9XHJcbn1cclxuXHJcbmNsYXNzIFNpbmdsZVN5bWJvbCBleHRlbmRzIFN5bWJvbEdlbmVyYXRvciB7XHJcbiAgICBzeW1ib2w6IEVzcmlTeW1ib2w7XHJcbiAgICAvKipcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge29iamVjdH0gZXNyaVJlc3BvbnNlIC0gbGF5ZXIgaW5mb1xyXG4gICAgICogQHBhcmFtIFN5bWJvbENsYXNzIC0gdGhlIHN5bWJvbCBjbGFzcyB0byB1c2VcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoZXNyaVJlc3BvbnNlLCBTeW1ib2xDbGFzczogSUNvbW1vblN5bWJvbCkge1xyXG4gICAgICAgIHN1cGVyKGVzcmlSZXNwb25zZSk7XHJcbiAgICAgICAgdGhpcy5zeW1ib2wgPSB0aGlzLnJlbmRlcmVyLnN5bWJvbDtcclxuICAgICAgICBsZXQgc3ltYm9sT2JqID0gbmV3IFN5bWJvbENsYXNzKHRoaXMuc3ltYm9sLCB0aGlzLm9wYWNpdHkpO1xyXG4gICAgICAgIHRoaXMub2xTdHlsZSA9IHN5bWJvbE9iai5vbFN0eWxlO1xyXG4gICAgICAgIHRoaXMubGVnZW5kSHRtbCA9IHN5bWJvbE9iai5sZWdlbmRIdG1sO1xyXG4gICAgfVxyXG59XHJcblxyXG5jbGFzcyBVbmlxdWVWYWx1ZVN5bWJvbCBleHRlbmRzIFN5bWJvbEdlbmVyYXRvciB7XHJcblxyXG4gICAgcHJvcGVydHlOYW1lOiBzdHJpbmc7XHJcbiAgICBkZWZhdWx0U3ltYm9sOiBFc3JpU3ltYm9sO1xyXG4gICAgZGVmYXVsdFN0eWxlOiBvbC5zdHlsZS5TdHlsZXxBcnJheTxvbC5zdHlsZS5TdHlsZT58b2wuU3R5bGVGdW5jdGlvbjtcclxuICAgIGRlZmF1bHRMYWJlbEh0bWw6IHN0cmluZztcclxuICAgIGxhYmVsQXJyYXk6IEFycmF5PHN0cmluZz47XHJcbiAgICBsZWdlbmRBcnJheTogQXJyYXk8c3RyaW5nPjtcclxuICAgIHByb3BlcnR5U3R5bGVMb29rdXA6IE9iamVjdDtcclxuICAgIHZhbHVlQXJyYXk6IEFycmF5PGFueT47XHJcbiAgICB1bmlxdWVWYWx1ZUluZm9zOiBBcnJheTx7bGFiZWw6IHN0cmluZywgdmFsdWU6IGFueSwgc3ltYm9sOiBFc3JpU3ltYm9sfT47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtvYmplY3R9IGVzcmlSZXNwb25zZSAtIGxheWVyIGluZm9cclxuICAgICAqIEBwYXJhbSBTeW1ib2xDbGFzcyAtIHRoZSBTeW1ib2wgY2xhc3MgZGVmaW5pdGlvblxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3Rvcihlc3JpUmVzcG9uc2U6IEVzcmlSZXNwb25zZSwgU3ltYm9sQ2xhc3M6IElDb21tb25TeW1ib2wpIHtcclxuICAgICAgICBzdXBlcihlc3JpUmVzcG9uc2UpO1xyXG4gICAgICAgIHRoaXMudW5pcXVlVmFsdWVJbmZvcyA9IHRoaXMucmVuZGVyZXJbJ3VuaXF1ZVZhbHVlSW5mb3MnXTtcclxuICAgICAgICB0aGlzLnByb3BlcnR5TmFtZSA9IHRoaXMucmVuZGVyZXJbJ2ZpZWxkMSddO1xyXG4gICAgICAgIHRoaXMuZGVmYXVsdFN5bWJvbCA9IHRoaXMucmVuZGVyZXJbJ2RlZmF1bHRTeW1ib2wnXTtcclxuXHJcblxyXG4gICAgICAgIGlmICh0aGlzLmRlZmF1bHRTeW1ib2wpIHtcclxuICAgICAgICAgICAgbGV0IHN5bWJvbE9iaiA9IG5ldyBTeW1ib2xDbGFzcyh0aGlzLmRlZmF1bHRTeW1ib2wsIHRoaXMub3BhY2l0eSk7XHJcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdFN0eWxlID0gc3ltYm9sT2JqLm9sU3R5bGU7XHJcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdExhYmVsSHRtbCA9IGA8c3BhbiBjbGFzcz1cImxlZ2VuZC1sYXllci1zdWJpdGVtXCI+JHtodG1sRXNjYXBlKHRoaXMucmVuZGVyZXJbJ2RlZmF1bHRMYWJlbCddKX08L3NwYW4+YCArIHN5bWJvbE9iai5sZWdlbmRIdG1sO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdFN0eWxlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRMYWJlbEh0bWwgPSAnb3RoZXInO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy52YWx1ZUFycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5sYWJlbEFycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5sZWdlbmRBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMucHJvcGVydHlTdHlsZUxvb2t1cCA9IHt9O1xyXG5cclxuICAgICAgICBmb3IgKGxldCB1bmlxdWVWYWwgb2YgdGhpcy51bmlxdWVWYWx1ZUluZm9zKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGFiZWxBcnJheS5wdXNoKHVuaXF1ZVZhbFsnbGFiZWwnXSk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWVBcnJheS5wdXNoKHVuaXF1ZVZhbFsndmFsdWUnXSk7XHJcbiAgICAgICAgICAgIGxldCB1bmlxdWVTeW0gPSBuZXcgU3ltYm9sQ2xhc3ModW5pcXVlVmFsLnN5bWJvbCwgdGhpcy5vcGFjaXR5KTtcclxuICAgICAgICAgICAgdGhpcy5sZWdlbmRBcnJheS5wdXNoKGA8c3BhbiBjbGFzcz1cImxlZ2VuZC1sYXllci1zdWJpdGVtXCI+JHtodG1sRXNjYXBlKHVuaXF1ZVZhbFsnbGFiZWwnXSl9PC9zcGFuPmAgKyB1bmlxdWVTeW0ubGVnZW5kSHRtbCk7XHJcbiAgICAgICAgICAgIHRoaXMucHJvcGVydHlTdHlsZUxvb2t1cFt1bmlxdWVWYWxbJ3ZhbHVlJ11dID0gdW5pcXVlU3ltLm9sU3R5bGU7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgdGhpcy5vbFN0eWxlID0gKGZlYXR1cmU6IG9sLkZlYXR1cmUpID0+IHtcclxuICAgICAgICAgICAgbGV0IGNoZWNrUHJvcGVydGllcyA9IGZlYXR1cmUuZ2V0UHJvcGVydGllcygpO1xyXG4gICAgICAgICAgICBsZXQgY2hlY2tQcm9wZXJ0eSA9IGNoZWNrUHJvcGVydGllc1t0aGlzLnByb3BlcnR5TmFtZV07XHJcblxyXG4gICAgICAgICAgICBsZXQgcmV0dXJuVmFsdWU7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BlcnR5U3R5bGVMb29rdXBbY2hlY2tQcm9wZXJ0eV0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuVmFsdWUgPSBbdGhpcy5wcm9wZXJ0eVN0eWxlTG9va3VwW2NoZWNrUHJvcGVydHldXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgcmV0dXJuVmFsdWUgPSBbdGhpcy5kZWZhdWx0U3R5bGVdO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gcmV0dXJuVmFsdWU7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZGVmYXVsdExhYmVsSHRtbCAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLmxlZ2VuZEFycmF5LnB1c2godGhpcy5kZWZhdWx0TGFiZWxIdG1sKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubGVnZW5kSHRtbCA9ICc8dWw+JztcclxuICAgICAgICBmb3IgKGxldCBoIG9mIHRoaXMubGVnZW5kQXJyYXkpIHtcclxuICAgICAgICAgICAgdGhpcy5sZWdlbmRIdG1sICs9IGA8bGk+JHtofTwvbGk+YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sZWdlbmRIdG1sICs9ICc8L3VsPic7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKipcclxuICogc3R5bGUgYW5kIGxlZ2VuZCBvYmplY3RcclxuICogQHR5cGVkZWYge29iamVjdH0gc3R5bGVBbmRMZWdlbmRcclxuICogQHByb3BlcnR5IHtzdHlsZUZ1bmN9IHN0eWxlIC0gc3R5bGUgZnVuY3Rpb25cclxuICogQHByb3BlcnR5IHtzdHJpbmd9IGxlZ2VuZCAtIGxlZ2VuZCBjb250ZW50XHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSB7b2JqZWN0fSBlc3JpUmVzcG9uc2UgLSBsYXllciBpbmZvXHJcbiAqIEByZXR1cm5zIHtzdHlsZUFuZExlZ2VuZH0gc3R5bGUgYW5kIGxlZ2VuZCBvYmplY3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBtYWtlRmVhdHVyZVNlcnZpY2VMZWdlbmRBbmRTeW1ib2woZXNyaVJlc3BvbnNlOiBFc3JpUmVzcG9uc2UpIHtcclxuICAgIFwidXNlIHN0cmljdFwiO1xyXG4gICAgbGV0IHJlbmRlcmVyID0gZXNyaVJlc3BvbnNlLmRyYXdpbmdJbmZvLnJlbmRlcmVyO1xyXG4gICAgbGV0IHN5bWJvbExlZ2VuZE91dDogU3ltYm9sR2VuZXJhdG9yID0gbnVsbDtcclxuXHJcbiAgICBzd2l0Y2ggKHJlbmRlcmVyLnR5cGUpIHtcclxuICAgICAgICBjYXNlICdzaW1wbGUnOlxyXG4gICAgICAgICAgICBzd2l0Y2ggKGVzcmlSZXNwb25zZS5nZW9tZXRyeVR5cGUpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2VzcmlHZW9tZXRyeVBvaW50JzpcclxuICAgICAgICAgICAgICAgICAgICBzeW1ib2xMZWdlbmRPdXQgPSBuZXcgU2luZ2xlU3ltYm9sKGVzcmlSZXNwb25zZSwgUG9pbnRTeW1ib2wpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnZXNyaUdlb21ldHJ5UG9seWxpbmUnOlxyXG4gICAgICAgICAgICAgICAgICAgIHN5bWJvbExlZ2VuZE91dCA9IG5ldyBTaW5nbGVTeW1ib2woZXNyaVJlc3BvbnNlLCBMaW5lU3ltYm9sKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2VzcmlHZW9tZXRyeVBvbHlnb24nOlxyXG4gICAgICAgICAgICAgICAgICAgIHN5bWJvbExlZ2VuZE91dCA9IG5ldyBTaW5nbGVTeW1ib2woZXNyaVJlc3BvbnNlLCBQb2x5Z29uU3ltYm9sKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXNyaVJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgICAgICBhbGVydChlc3JpUmVzcG9uc2UuZ2VvbWV0cnlUeXBlICsgJyBub3QgaGFuZGxlZCcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3VuaXF1ZVZhbHVlJzpcclxuICAgICAgICAgICAgc3dpdGNoIChlc3JpUmVzcG9uc2UuZ2VvbWV0cnlUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdlc3JpR2VvbWV0cnlQb2ludCc6XHJcbiAgICAgICAgICAgICAgICAgICAgc3ltYm9sTGVnZW5kT3V0ID0gbmV3IFVuaXF1ZVZhbHVlU3ltYm9sKGVzcmlSZXNwb25zZSwgUG9pbnRTeW1ib2wpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnZXNyaUdlb21ldHJ5UG9seWxpbmUnOlxyXG4gICAgICAgICAgICAgICAgICAgIHN5bWJvbExlZ2VuZE91dCA9IG5ldyBVbmlxdWVWYWx1ZVN5bWJvbChlc3JpUmVzcG9uc2UsIExpbmVTeW1ib2wpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnZXNyaUdlb21ldHJ5UG9seWdvbic6XHJcbiAgICAgICAgICAgICAgICAgICAgc3ltYm9sTGVnZW5kT3V0ID0gbmV3IFVuaXF1ZVZhbHVlU3ltYm9sKGVzcmlSZXNwb25zZSwgUG9seWdvblN5bWJvbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVzcmlSZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxlcnQoZXNyaVJlc3BvbnNlWydnZW9tZXRyeVR5cGUnXSArICcgbm90IGhhbmRsZWQnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBhbGVydCgnbm90IGhhbmRsZWQgcmVuZGVyZXIgdHlwZTogJyArIHJlbmRlcmVyWyd0eXBlJ10pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzeW1ib2xMZWdlbmRPdXQgPT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiB7c3R5bGU6IHVuZGVmaW5lZCwgbGVnZW5kOiAnJ307XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB7c3R5bGU6IHN5bWJvbExlZ2VuZE91dC5vbFN0eWxlLCBsZWdlbmQ6IHN5bWJvbExlZ2VuZE91dC5sZWdlbmRIdG1sfTtcclxuICAgIH1cclxufVxyXG5cclxubm0ubWFrZUZlYXR1cmVTZXJ2aWNlTGVnZW5kQW5kU3ltYm9sID0gbWFrZUZlYXR1cmVTZXJ2aWNlTGVnZW5kQW5kU3ltYm9sO1xyXG5cclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAcGFyYW0ge29iamVjdH0gbHlyT2JqZWN0IC0gdGhlIGxheWVyIGFzIGRlZmluZWQgaW4gdGhlIHJlc3BvbnNlXHJcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3NraXBMYXllck5hbWVBbmRFeHBhbmRlcj1mYWxzZV0gdXNlIG9ubHkgaWNvbnNcclxuICogQHJldHVybnMge3N0cmluZ30gbGVnZW5kIGh0bWxcclxuICovXHJcbmZ1bmN0aW9uIG1hcFNlcnZpY2VMZWdlbmRJdGVtKGx5ck9iamVjdCwgc2tpcExheWVyTmFtZUFuZEV4cGFuZGVyOiBib29sZWFuID0gZmFsc2UpIHtcclxuXHJcblxyXG4gICAgc2tpcExheWVyTmFtZUFuZEV4cGFuZGVyID0gdHlwZW9mIHNraXBMYXllck5hbWVBbmRFeHBhbmRlciA9PSAnYm9vbGVhbicgPyBza2lwTGF5ZXJOYW1lQW5kRXhwYW5kZXIgOiBmYWxzZTtcclxuICAgIGxldCBsYXllck5hbWUgPSBseXJPYmplY3RbJ2xheWVyTmFtZSddO1xyXG4gICAgbGV0IGxlZ2VuZEl0ZW1zID0gbHlyT2JqZWN0WydsZWdlbmQnXTtcclxuICAgIGxldCBsZWdlbmRIdG1sID0gJyc7XHJcblxyXG4gICAgaWYgKCFza2lwTGF5ZXJOYW1lQW5kRXhwYW5kZXIpIHtcclxuICAgICAgICBsZWdlbmRIdG1sICs9IGA8c3BhbiBjbGFzcz1cImxlZ2VuZC1sYXllci1zdWJpdGVtXCI+JHtsYXllck5hbWV9PC9zcGFuPmA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGxlZ2VuZEl0ZW1zLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgbGVnZW5kSHRtbCA9IGA8aW1nIGNsYXNzPVwibGVnZW5kLWxheWVyLWljb25cIiBoZWlnaHQ9XCIxN1wiIHNyYz1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwke2xlZ2VuZEl0ZW1zWzBdWydpbWFnZURhdGEnXX1cIj5gO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoIXNraXBMYXllck5hbWVBbmRFeHBhbmRlcikge1xyXG4gICAgICAgICAgICBsZWdlbmRIdG1sICs9ICc8c3BhbiBjbGFzcz1cImxlZ2VuZC1pdGVtcy1leHBhbmRlclwiIHRpdGxlPVwiRXhwYW5kL0NvbGxhcHNlXCI+JiM5NjYwOzwvc3Bhbj4nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZWdlbmRIdG1sICs9ICc8dWw+JztcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlZ2VuZEl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxlZ2VuZEh0bWwgKz0gYDxsaT5gO1xyXG4gICAgICAgICAgICBsZWdlbmRIdG1sICs9IGA8c3BhbiBjbGFzcz1cImxlZ2VuZC1sYXllci1zdWJpdGVtXCI+JHtodG1sRXNjYXBlKGxlZ2VuZEl0ZW1zW2ldWydsYWJlbCddKX08L3NwYW4+YDtcclxuICAgICAgICAgICAgbGVnZW5kSHRtbCArPSBgPGltZyBjbGFzcz1cImxlZ2VuZC1sYXllci1pY29uXCIgaGVpZ2h0PVwiMTdcIiBzcmM9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsJHtsZWdlbmRJdGVtc1tpXVsnaW1hZ2VEYXRhJ119XCI+YDtcclxuICAgICAgICAgICAgbGVnZW5kSHRtbCArPSBgPC9saT5gO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZWdlbmRIdG1sICs9ICc8L3VsPic7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFza2lwTGF5ZXJOYW1lQW5kRXhwYW5kZXIpIHtcclxuICAgICAgICBsZWdlbmRIdG1sID0gYDxzcGFuIGNsYXNzPVwibGVnZW5kLWxheWVyLXN1Yml0ZW1cIj4ke2xheWVyTmFtZX08L3NwYW4+YCArIGxlZ2VuZEh0bWw7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGxlZ2VuZEh0bWw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBtYWtlIG1hcCBzZXJ2aWNlIGxlZ2VudFxyXG4gKiBAcGFyYW0ge29iamVjdH0gZXNyaVJlc3BvbnNlIC0gbGF5ZXIgaW5mb1xyXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBsZWdlbmQgY29udGVudFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VNYXBTZXJ2aWNlTGVnZW5kKGVzcmlSZXNwb25zZSkge1xyXG4gICAgXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG4gICAgbGV0IG5ld0xlZ2VuZEh0bWwgPSAnJztcclxuXHJcbiAgICBsZXQgbGF5ZXJzID0gZXNyaVJlc3BvbnNlWydsYXllcnMnXTtcclxuXHJcbiAgICBpZiAobGF5ZXJzLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgbmV3TGVnZW5kSHRtbCArPSBtYXBTZXJ2aWNlTGVnZW5kSXRlbShsYXllcnNbMF0sIHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBuZXdMZWdlbmRIdG1sICs9ICc8dWw+JztcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxheWVycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBuZXdMZWdlbmRIdG1sICs9ICc8bGk+JyArIG1hcFNlcnZpY2VMZWdlbmRJdGVtKGxheWVyc1tpXSkgKyAnPC9saT4nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBuZXdMZWdlbmRIdG1sICs9ICc8L3VsPic7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5ld0xlZ2VuZEh0bWw7XHJcbn1cclxuXHJcbm5tLm1ha2VNYXBTZXJ2aWNlTGVnZW5kID0gbWFrZU1hcFNlcnZpY2VMZWdlbmQ7XHJcbiJdfQ==
/***/ }),
/* 17 */,
/* 18 */,
/* 19 */,
/* 20 */,
/* 21 */,
/* 22 */,
/* 23 */,
/* 24 */,
/* 25 */,
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/**
* Created by gavorhes on 6/1/2016.
*/
Object.defineProperty(exports, "__esModule", { value: true });
var provide_1 = __webpack_require__(0);
var $ = __webpack_require__(1);
var nm = provide_1.default('collections.layerSwipe');
var LayerSwipe = (function () {
/**
*
* @param {ol.Map} map - the map
* @param {string} [sliderContent=''] - additional html to be added inside the slider div
*/
function LayerSwipe(map, sliderContent) {
if (sliderContent === void 0) { sliderContent = ''; }
var _this = this;
sliderContent = sliderContent || '';
/**
*
* @type {Array<LayerBase>}
*/
this.leftLayers = [];
/**
*
* @type {Array<LayerBase>}
*/
this.rightLayers = [];
this._percentRight = 50;
this.offset = null;
this._map = map;
this.$mapElement = $(map.getTargetElement());
this.$mapElement.append("<div class=\"layer-swiper\">" + sliderContent + "</div>");
this.$swiper = this.$mapElement.find('.layer-swiper');
this.percentRight = this.percentRight;
this.dragging = false;
this.$mapElement.mouseleave(function () {
_this.dragging = false;
});
this.$swiper.bind('mousewheel DOMMouseScroll', function (evt) {
evt.preventDefault();
});
this.$swiper.mousedown(function (evt) {
_this.dragging = true;
_this.offset = evt.offsetX;
});
$(window).mouseup(function () {
_this.dragging = false;
});
this.$mapElement.mousemove(function (evt) {
if (_this.dragging) {
var mapLeft = _this.$mapElement.position().left;
var mapWidth = _this.$mapElement.width();
_this.percentRight = 100 * (evt.pageX - _this.offset - mapLeft) / mapWidth;
}
});
}
/**
*
* @param {LayerBase|*} lyr - layer to be added to left side
*/
LayerSwipe.prototype.addLeftLayer = function (lyr) {
var _this = this;
if (this.leftLayers.indexOf(lyr) != -1) {
return;
}
lyr.olLayer.on('precompose', function (event) {
var ctx = event['context'];
var width = ctx.canvas.width * (_this.percentRight / 100);
ctx.save();
ctx.beginPath();
ctx.rect(0, 0, width, ctx.canvas.height);
ctx.clip();
});
lyr.olLayer.on('postcompose', function (event) {
var ctx = event['context'];
ctx.restore();
});
this.leftLayers.push(lyr);
};
/**
*
* @param {LayerBase|*} lyr - layer to be added to right side
*/
LayerSwipe.prototype.addRightLayer = function (lyr) {
var _this = this;
if (this.rightLayers.indexOf(lyr) != -1) {
return;
}
lyr.olLayer.on('precompose', function (event) {
var ctx = event['context'];
var width = ctx.canvas.width * (_this.percentRight / 100);
ctx.save();
ctx.beginPath();
ctx.rect(width, 0, ctx.canvas.width - width, ctx.canvas.height);
ctx.clip();
});
lyr.olLayer.on('postcompose', function (event) {
var ctx = event['context'];
ctx.restore();
});
this.rightLayers.push(lyr);
};
Object.defineProperty(LayerSwipe.prototype, "percentRight", {
get: function () {
return this._percentRight;
},
set: function (percent) {
var maxed = this.$swiper.position().left + this.$swiper.width() > this.$mapElement.width();
if (percent < 0) {
return;
}
else if (maxed && percent > this.percentRight) {
return;
}
this._percentRight = percent;
this.$swiper.css('left', this._percentRight.toFixed(2) + "%");
this._map.render();
},
enumerable: true,
configurable: true
});
return LayerSwipe;
}());
nm.LayerSwipe = LayerSwipe;
exports.default = LayerSwipe;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJTd2lwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxheWVyU3dpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7OztBQUdILDJDQUFzQztBQUd0QywwQkFBNkI7QUFFN0IsSUFBSSxFQUFFLEdBQUcsaUJBQU8sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBRzNDO0lBU0k7Ozs7T0FJRztJQUNILG9CQUFZLEdBQVcsRUFBRSxhQUEwQjtRQUExQiw4QkFBQSxFQUFBLGtCQUEwQjtRQUFuRCxpQkFxREM7UUFuREcsYUFBYSxHQUFHLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFDcEM7OztXQUdHO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFFckI7OztXQUdHO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFFdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFFbkIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxpQ0FBNkIsYUFBYSxXQUFRLENBQUMsQ0FBQztRQUc1RSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUV0QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUV0QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztZQUN4QixLQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUks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WUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQUcsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsQ0FBQzs7O09BZEE7SUFlTCxpQkFBQztBQUFELENBQUMsQUEvSUQsSUErSUM7QUFFRCxFQUFFLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztBQUMzQixrQkFBZSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQ3JlYXRlZCBieSBnYXZvcmhlcyBvbiA2LzEvMjAxNi5cclxuICovXHJcblxyXG5cclxuaW1wb3J0IHByb3ZpZGUgZnJvbSAnLi4vdXRpbC9wcm92aWRlJztcclxuaW1wb3J0IHtMYXllckJhc2V9IGZyb20gXCIuLi9sYXllcnMvTGF5ZXJCYXNlXCI7XHJcbmltcG9ydCBvbCA9IHJlcXVpcmUoJ2N1c3RvbS1vbCcpO1xyXG5pbXBvcnQgJCA9IHJlcXVpcmUoJ2pxdWVyeScpO1xyXG5cclxubGV0IG5tID0gcHJvdmlkZSgnY29sbGVjdGlvbnMubGF5ZXJTd2lwZScpO1xyXG5cclxuXHJcbmNsYXNzIExheWVyU3dpcGUge1xyXG4gICAgbGVmdExheWVyczogQXJyYXk8TGF5ZXJCYXNlPjtcclxuICAgIHJpZ2h0TGF5ZXJzOiBBcnJheTxMYXllckJhc2U+O1xyXG4gICAgX3BlcmNlbnRSaWdodDogbnVtYmVyO1xyXG4gICAgX21hcDogb2wuTWFwO1xyXG4gICAgJG1hcEVsZW1lbnQ6IEpRdWVyeTtcclxuICAgICRzd2lwZXI6IEpRdWVyeTtcclxuICAgIGRyYWdnaW5nOiBib29sZWFuO1xyXG4gICAgb2Zmc2V0OiBudW1iZXI7XHJcbiAgICAvKipcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge29sLk1hcH0gbWFwIC0gdGhlIG1hcFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzbGlkZXJDb250ZW50PScnXSAtIGFkZGl0aW9uYWwgaHRtbCB0byBiZSBhZGRlZCBpbnNpZGUgdGhlIHNsaWRlciBkaXZcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IobWFwOiBvbC5NYXAsIHNsaWRlckNvbnRlbnQ6IHN0cmluZyA9ICcnKSB7XHJcblxyXG4gICAgICAgIHNsaWRlckNvbnRlbnQgPSBzbGlkZXJDb250ZW50IHx8ICcnO1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqXHJcbiAgICAgICAgICogQHR5cGUge0FycmF5PExheWVyQmFzZT59XHJcbiAgICAgICAgICovXHJcbiAgICAgICAgdGhpcy5sZWZ0TGF5ZXJzID0gW107XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqXHJcbiAgICAgICAgICogQHR5cGUge0FycmF5PExheWVyQmFzZT59XHJcbiAgICAgICAgICovXHJcbiAgICAgICAgdGhpcy5yaWdodExheWVycyA9IFtdO1xyXG5cclxuICAgICAgICB0aGlzLl9wZXJjZW50UmlnaHQgPSA1MDtcclxuICAgICAgICB0aGlzLm9mZnNldCA9IG51bGw7XHJcblxyXG4gICAgICAgIHRoaXMuX21hcCA9IG1hcDtcclxuICAgICAgICB0aGlzLiRtYXBFbGVtZW50ID0gJChtYXAuZ2V0VGFyZ2V0RWxlbWVudCgpKTtcclxuICAgICAgICB0aGlzLiRtYXBFbGVtZW50LmFwcGVuZChgPGRpdiBjbGFzcz1cImxheWVyLXN3aXBlclwiPiR7c2xpZGVyQ29udGVudH08L2Rpdj5gKTtcclxuXHJcblxyXG4gICAgICAgIHRoaXMuJHN3aXBlciA9IHRoaXMuJG1hcEVsZW1lbnQuZmluZCgnLmxheWVyLXN3aXBlcicpO1xyXG4gICAgICAgIHRoaXMucGVyY2VudFJpZ2h0ID0gdGhpcy5wZXJjZW50UmlnaHQ7XHJcblxyXG4gICAgICAgIHRoaXMuZHJhZ2dpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy4kbWFwRWxlbWVudC5tb3VzZWxlYXZlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kcmFnZ2luZyA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLiRzd2lwZXIuYmluZCgnbW91c2V3aGVlbCBET01Nb3VzZVNjcm9sbCcsIGZ1bmN0aW9uKGV2dCl7XHJcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLiRzd2lwZXIubW91c2Vkb3duKChldnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kcmFnZ2luZyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMub2Zmc2V0ID0gZXZ0Lm9mZnNldFg7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQod2luZG93KS5tb3VzZXVwKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kcmFnZ2luZyA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLiRtYXBFbGVtZW50Lm1vdXNlbW92ZSgoZXZ0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRyYWdnaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgbWFwTGVmdCA9IHRoaXMuJG1hcEVsZW1lbnQucG9zaXRpb24oKS5sZWZ0O1xyXG4gICAgICAgICAgICAgICAgbGV0IG1hcFdpZHRoID0gdGhpcy4kbWFwRWxlbWVudC53aWR0aCgpO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMucGVyY2VudFJpZ2h0ID0gMTAwICogKGV2dC5wYWdlWCAtIHRoaXMub2Zmc2V0IC0gbWFwTGVmdCkgLyBtYXBXaWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7TGF5ZXJCYXNlfCp9IGx5ciAtIGxheWVyIHRvIGJlIGFkZGVkIHRvIGxlZnQgc2lkZVxyXG4gICAgICovXHJcbiAgICBhZGRMZWZ0TGF5ZXIobHlyKSB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmxlZnRMYXllcnMuaW5kZXhPZihseXIpICE9IC0xKXtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbHlyLm9sTGF5ZXIub24oJ3ByZWNvbXBvc2UnLCAoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgbGV0IGN0eCA9IGV2ZW50Wydjb250ZXh0J107XHJcbiAgICAgICAgICAgIGxldCB3aWR0aCA9IGN0eC5jYW52YXMud2lkdGggKiAodGhpcy5wZXJjZW50UmlnaHQgLyAxMDApO1xyXG5cclxuICAgICAgICAgICAgY3R4LnNhdmUoKTtcclxuICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xyXG4gICAgICAgICAgICBjdHgucmVjdCgwLCAwLCB3aWR0aCwgY3R4LmNhbnZhcy5oZWlnaHQpO1xyXG4gICAgICAgICAgICBjdHguY2xpcCgpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBseXIub2xMYXllci5vbigncG9zdGNvbXBvc2UnLCBmdW5jdGlvbiAoZXZlbnQpIHtcclxuICAgICAgICAgICAgbGV0IGN0eCA9IGV2ZW50Wydjb250ZXh0J107XHJcbiAgICAgICAgICAgIGN0eC5yZXN0b3JlKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG5cclxuICAgICAgICB0aGlzLmxlZnRMYXllcnMucHVzaChseXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7TGF5ZXJCYXNlfCp9IGx5ciAtIGxheWVyIHRvIGJlIGFkZGVkIHRvIHJpZ2h0IHNpZGVcclxuICAgICAqL1xyXG4gICAgYWRkUmlnaHRMYXllcihseXIpIHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMucmlnaHRMYXllcnMuaW5kZXhPZihseXIpICE9IC0xKXtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbHlyLm9sTGF5ZXIub24oJ3ByZWNvbXBvc2UnLCAoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgbGV0IGN0eCA9IGV2ZW50Wydjb250ZXh0J107XHJcbiAgICAgICAgICAgIGxldCB3aWR0aCA9IGN0eC5jYW52YXMud2lkdGggKiAodGhpcy5wZXJjZW50UmlnaHQgLyAxMDApO1xyXG5cclxuICAgICAgICAgICAgY3R4LnNhdmUoKTtcclxuICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpO1xyXG4gICAgICAgICAgICBjdHgucmVjdCh3aWR0aCwgMCwgY3R4LmNhbnZhcy53aWR0aCAtIHdpZHRoLCBjdHguY2FudmFzLmhlaWdodCk7XHJcbiAgICAgICAgICAgIGN0eC5jbGlwKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGx5ci5vbExheWVyLm9uKCdwb3N0Y29tcG9zZScsIGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgICAgICBsZXQgY3R4ID0gZXZlbnRbJ2NvbnRleHQnXTtcclxuICAgICAgICAgICAgY3R4LnJlc3RvcmUoKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5yaWdodExheWVycy5wdXNoKGx5cik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHBlcmNlbnRSaWdodCgpIDogbnVtYmVye1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9wZXJjZW50UmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IHBlcmNlbnRSaWdodChwZXJjZW50OiBudW1iZXIpIHtcclxuICAgICAgICBsZXQgbWF4ZWQgPSB0aGlzLiRzd2lwZXIucG9zaXRpb24oKS5sZWZ0ICsgdGhpcy4kc3dpcGVyLndpZHRoKCkgPiB0aGlzLiRtYXBFbGVtZW50LndpZHRoKCk7XHJcblxyXG4gICAgICAgIGlmIChwZXJjZW50IDwgMCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIGlmIChtYXhlZCAmJiBwZXJjZW50ID4gdGhpcy5wZXJjZW50UmlnaHQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fcGVyY2VudFJpZ2h0ID0gcGVyY2VudDtcclxuICAgICAgICB0aGlzLiRzd2lwZXIuY3NzKCdsZWZ0JywgYCR7dGhpcy5fcGVyY2VudFJpZ2h0LnRvRml4ZWQoMil9JWApO1xyXG4gICAgICAgIHRoaXMuX21hcC5yZW5kZXIoKTtcclxuICAgIH1cclxufVxyXG5cclxubm0uTGF5ZXJTd2lwZSA9IExheWVyU3dpcGU7XHJcbmV4cG9ydCBkZWZhdWx0IExheWVyU3dpcGU7XHJcbiJdfQ==
/***/ }),
/* 28 */,
/* 29 */,
/* 30 */,
/* 31 */,
/* 32 */,
/* 33 */,
/* 34 */,
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Created by gavorhes on 6/1/2016.
*/
var quickMap_1 = __webpack_require__(7);
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
var LayerEsriMapServer_1 = __webpack_require__(10);
var map = quickMap_1.quickMap();
var swiper = new layerSwipe_1.default(map);
var wisDotRegions = new LayerEsriMapServer_1.LayerEsriMapServer('http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/MetaManager/Metamanager_regions/MapServer', {
minZoom: 6,
maxZoom: 12,
name: 'WisDOT Regions'
});
var metamanagerSegments = new LayerEsriMapServer_1.LayerEsriMapServer('http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/MetaManager/MM_All_Segments/MapServer', {
minZoom: 7,
visible: true,
name: 'Metamanager Segments'
});
var truckSpeed2014 = new LayerEsriMapServer_1.LayerEsriMapServer('http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/NPMRDS/compareDynamic/MapServer', {
minZoom: 7,
visible: true,
name: 'truck2014',
showLayers: [8]
});
var truckSpeed2015 = new LayerEsriMapServer_1.LayerEsriMapServer('http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/NPMRDS/compareDynamic/MapServer', {
minZoom: 7,
visible: true,
name: 'truck2015',
showLayers: [9]
});
map.addLayer(wisDotRegions.olLayer);
map.addLayer(truckSpeed2014.olLayer);
map.addLayer(truckSpeed2015.olLayer);
map.addLayer(metamanagerSegments.olLayer);
swiper.addLeftLayer(wisDotRegions);
swiper.addRightLayer(metamanagerSegments);
swiper.addLeftLayer(truckSpeed2014);
swiper.addRightLayer(truckSpeed2015);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS10ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29tcGFyZS10ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUE7O0dBRUc7QUFDSCx5REFBc0Q7QUFDdEQsNkRBQXdEO0FBQ3hELDBFQUF1RTtBQUV2RSxJQUFJLEdBQUcsR0FBRyxtQkFBUSxFQUFFLENBQUM7QUFHckIsSUFBSSxNQUFNLEdBQUcsSUFBSSxvQkFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBR2pDLElBQUksYUFBYSxHQUFHLElBQUksdUNBQWtCLENBQ3RDLDhHQUE4RyxFQUM5RztJQUNJLE9BQU8sRUFBRSxDQUFDO0lBQ1YsT0FBTyxFQUFFLEVBQUU7SUFDWCxJQUFJLEVBQUUsZ0JBQWdCO0NBQ3pCLENBQUMsQ0FBQztBQUVQLElBQUksbUJBQW1CLEdBQUcsSUFBSSx1Q0FBa0IsQ0FDNUMsMEdBQTBHLEVBQzFHO0lBQ0ksT0FBTyxFQUFFLENBQUM7SUFDVixPQUFPLEVBQUUsSUFBSTtJQUNiLElBQUksRUFBRSxzQkFBc0I7Q0FDL0IsQ0FBQyxDQUFDO0FBRVAsSUFBSSxjQUFjLEdBQUcsSUFBSSx1Q0FBa0IsQ0FDdkMsb0dBQW9HLEVBQ3BHO0lBQ0ksT0FBTyxFQUFFLENBQUM7SUFDVixPQUFPLEVBQUUsSUFBSTtJQUNiLElBQUksRUFBRSxXQUFXO0lBQ2pCLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztDQUNsQixDQUFDLENBQUM7QUFFUCxJQUFJLGNBQWMsR0FBRyxJQUFJLHVDQUFrQixDQUN2QyxvR0FBb0csRUFDcEc7SUFDSSxPQUFPLEVBQUUsQ0FBQztJQUNWLE9BQU8sRUFBRSxJQUFJO0lBQ2IsSUFBSSxFQUFFLFdBQVc7SUFDakIsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0NBQ2xCLENBQUMsQ0FBQztBQUVQLEdBQUcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3BDLEdBQUcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3JDLEdBQUcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3JDLEdBQUcsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7QUFHMUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNuQyxNQUFNLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFFMUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNwQyxNQUFNLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIENyZWF0ZWQgYnkgZ2F2b3JoZXMgb24gNi8xLzIwMTYuXHJcbiAqL1xyXG5pbXBvcnQge3F1aWNrTWFwfSBmcm9tICcuLi8uLi9zcmMvb2xIZWxwZXJzL3F1aWNrTWFwJztcclxuaW1wb3J0IExheWVyU3dpcGUgZnJvbSAnLi4vLi4vc3JjL29sSGVscGVycy9sYXllclN3aXBlJztcclxuaW1wb3J0IHtMYXllckVzcmlNYXBTZXJ2ZXJ9IGZyb20gJy4uLy4uL3NyYy9sYXllcnMvTGF5ZXJFc3JpTWFwU2VydmVyJztcclxuXHJcbmxldCBtYXAgPSBxdWlja01hcCgpO1xyXG5cclxuXHJcbmxldCBzd2lwZXIgPSBuZXcgTGF5ZXJTd2lwZShtYXApO1xyXG5cclxuXHJcbmxldCB3aXNEb3RSZWdpb25zID0gbmV3IExheWVyRXNyaU1hcFNlcnZlcihcclxuICAgICdodHRwOi8vdHJhbnNwb3J0YWwuY2VlLndpc2MuZWR1L2FwcGxpY2F0aW9ucy9hcmNnaXMyL3Jlc3Qvc2VydmljZXMvTWV0YU1hbmFnZXIvTWV0YW1hbmFnZXJfcmVnaW9ucy9NYXBTZXJ2ZXInLFxyXG4gICAge1xyXG4gICAgICAgIG1pblpvb206IDYsXHJcbiAgICAgICAgbWF4Wm9vbTogMTIsXHJcbiAgICAgICAgbmFtZTogJ1dpc0RPVCBSZWdpb25zJ1xyXG4gICAgfSk7XHJcblxyXG5sZXQgbWV0YW1hbmFnZXJTZWdtZW50cyA9IG5ldyBMYXllckVzcmlNYXBTZXJ2ZXIoXHJcbiAgICAnaHR0cDovL3RyYW5zcG9ydGFsLmNlZS53aXNjLmVkdS9hcHBsaWNhdGlvbnMvYXJjZ2lzMi9yZXN0L3NlcnZpY2VzL01ldGFNYW5hZ2VyL01NX0FsbF9TZWdtZW50cy9NYXBTZXJ2ZXInLFxyXG4gICAge1xyXG4gICAgICAgIG1pblpvb206IDcsXHJcbiAgICAgICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICBuYW1lOiAnTWV0YW1hbmFnZXIgU2VnbWVudHMnXHJcbiAgICB9KTtcclxuXHJcbmxldCB0cnVja1NwZWVkMjAxNCA9IG5ldyBMYXllckVzcmlNYXBTZXJ2ZXIoXHJcbiAgICAnaHR0cDovL3RyYW5zcG9ydGFsLmNlZS53aXNjLmVkdS9hcHBsaWNhdGlvbnMvYXJjZ2lzMi9yZXN0L3NlcnZpY2VzL05QTVJEUy9jb21wYXJlRHluYW1pYy9NYXBTZXJ2ZXInLFxyXG4gICAge1xyXG4gICAgICAgIG1pblpvb206IDcsXHJcbiAgICAgICAgdmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICBuYW1lOiAndHJ1Y2syMDE0JyxcclxuICAgICAgICBzaG93TGF5ZXJzOiBbOF1cclxuICAgIH0pO1xyXG5cclxubGV0IHRydWNrU3BlZWQyMDE1ID0gbmV3IExheWVyRXNyaU1hcFNlcnZlcihcclxuICAgICdodHRwOi8vdHJhbnNwb3J0YWwuY2VlLndpc2MuZWR1L2FwcGxpY2F0aW9ucy9hcmNnaXMyL3Jlc3Qvc2VydmljZXMvTlBNUkRTL2NvbXBhcmVEeW5hbWljL01hcFNlcnZlcicsXHJcbiAgICB7XHJcbiAgICAgICAgbWluWm9vbTogNyxcclxuICAgICAgICB2aXNpYmxlOiB0cnVlLFxyXG4gICAgICAgIG5hbWU6ICd0cnVjazIwMTUnLFxyXG4gICAgICAgIHNob3dMYXllcnM6IFs5XVxyXG4gICAgfSk7XHJcblxyXG5tYXAuYWRkTGF5ZXIod2lzRG90UmVnaW9ucy5vbExheWVyKTtcclxubWFwLmFkZExheWVyKHRydWNrU3BlZWQyMDE0Lm9sTGF5ZXIpO1xyXG5tYXAuYWRkTGF5ZXIodHJ1Y2tTcGVlZDIwMTUub2xMYXllcik7XHJcbm1hcC5hZGRMYXllcihtZXRhbWFuYWdlclNlZ21lbnRzLm9sTGF5ZXIpO1xyXG5cclxuXHJcbnN3aXBlci5hZGRMZWZ0TGF5ZXIod2lzRG90UmVnaW9ucyk7XHJcbnN3aXBlci5hZGRSaWdodExheWVyKG1ldGFtYW5hZ2VyU2VnbWVudHMpO1xyXG5cclxuc3dpcGVyLmFkZExlZnRMYXllcih0cnVja1NwZWVkMjAxNCk7XHJcbnN3aXBlci5hZGRSaWdodExheWVyKHRydWNrU3BlZWQyMDE1KTtcclxuIl19
/***/ })
/******/ ]);