tango-app-ui-analyse-traffic 3.3.0-beta.13 → 3.3.0-beta.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/explore-view/explore-view.component.mjs +10 -2
- package/esm2022/lib/components/image-doc/image-doc.component.mjs +3 -3
- package/esm2022/lib/components/traffic-analysis/traffic-analysis.component.mjs +82 -40
- package/esm2022/lib/components/traffic-card-charts/traffic-card-charts.component.mjs +63 -33
- package/esm2022/lib/components/traffic-charts/traffic-charts.component.mjs +22 -4
- package/esm2022/lib/tango-analyse-traffic.module.mjs +8 -4
- package/fesm2022/tango-app-ui-analyse-traffic.mjs +196 -95
- package/fesm2022/tango-app-ui-analyse-traffic.mjs.map +1 -1
- package/lib/components/traffic-analysis/traffic-analysis.component.d.ts +6 -2
- package/lib/components/traffic-card-charts/traffic-card-charts.component.d.ts +5 -2
- package/lib/components/traffic-charts/traffic-charts.component.d.ts +1 -0
- package/lib/tango-analyse-traffic.module.d.ts +2 -1
- package/package.json +1 -1
|
@@ -138,8 +138,16 @@ export class ExploreViewComponent {
|
|
|
138
138
|
container: 'map1',
|
|
139
139
|
style: 'mapbox://styles/mapbox/streets-v12',
|
|
140
140
|
center: [firstLocation.lng, firstLocation.lat],
|
|
141
|
-
zoom:
|
|
141
|
+
zoom: 10,
|
|
142
|
+
maxZoom: 20,
|
|
143
|
+
minZoom: 1 // Optional: Limit min zoom level
|
|
142
144
|
});
|
|
145
|
+
// this.map = new mapboxgl.Map({
|
|
146
|
+
// container: 'map1',
|
|
147
|
+
// style: 'mapbox://styles/mapbox/streets-v12',
|
|
148
|
+
// center: [firstLocation.lng, firstLocation.lat],
|
|
149
|
+
// zoom: 4
|
|
150
|
+
// });
|
|
143
151
|
geojson.features.forEach((feature, featureIndex) => {
|
|
144
152
|
const { properties, geometry } = feature;
|
|
145
153
|
const store = this.auLocations[featureIndex];
|
|
@@ -260,4 +268,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
260
268
|
type: Component,
|
|
261
269
|
args: [{ selector: 'lib-explore-view', template: "<div *ngIf=\"!noData\" class=\"row\">\r\n <div [ngClass]=\"setClass\">\r\n <div class=\"card px-2 py-3\">\r\n <div class=\"d-flex align-items-center me-2\">\r\n <div class=\"flex-shrink-0\">\r\n <span class=\"cursor-pointer\" (click)=\"backToFootfall()\">\r\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_d_2585_7036)\">\r\n <rect x=\"2\" y=\"1\" width=\"36\" height=\"36\" rx=\"8\" fill=\"white\" />\r\n <rect x=\"2.5\" y=\"1.5\" width=\"35\" height=\"35\" rx=\"7.5\" stroke=\"#D0D5DD\" />\r\n <path d=\"M25.8327 19H14.166M14.166 19L19.9993 24.8334M14.166 19L19.9993 13.1667\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_d_2585_7036\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"\r\n filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_2585_7036\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_2585_7036\"\r\n result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"card-body p-0\">\r\n <div id=\"map1\" style=\"width: 100%; height: 100vh;\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"auth\" class=\"col-md-3\">\r\n <div class=\"card px-5 h-100 py-3 position-relative\">\r\n <img (click)=\"toggleAuth()\" class=\"leftIcon position-absolute left-0 cursor-pointer\"\r\n src=\"assets/tango/Image/leftIcon.svg\">\r\n <img *ngIf=\"dataImages !== null\" class=\"w-100\" [src]=\"dataImages\" (error)=\"dataImages = null\" [alt]=\"dataImages ? 'Image' : 'Error Image'\">\r\n <img *ngIf=\"dataImages === null\" class=\"w-100\" src=\"assets/tango/Image/baseimg.png\" alt=\"Image\">\r\n <div class=\"card-header mt-3 px-0 border-0 min-h-10px\">\r\n <div class=\"col-md-12\">\r\n <h3 class=\"card-title align-items-start d-flex\">\r\n <span class=\"card-label\">{{selectedStore.storeName ?? '--'}}</span>\r\n <span class=\"badge badge-light-primary mt-1\">App ID : {{selectedStore.appId ?? '--'}}</span>\r\n </h3>\r\n </div>\r\n \r\n </div>\r\n <div class=\"card-body pt-0 px-0\">\r\n <div class=\"col-md-12\">\r\n <span class=\"map-subtext\">{{selectedStore?.storeProfile?.address ? selectedStore?.storeProfile?.address:'--'}} {{selectedStore?.storeProfile?.country ? selectedStore?.storeProfile?.country:'--'}} {{selectedStore?.storeProfile?.pincode ? selectedStore?.storeProfile?.pincode:'--'}}</span>\r\n <div class=\"flex items-center gap-5 mt-3\">\r\n <span class=\"text-sm text-gray-600\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"text-sm font-medium map-subtext text-gray-800\">\r\n {{selectedStore?.spocDetails?.name ?selectedStore?.spocDetails?.name:'--'}}\r\n </span>\r\n </span>\r\n <span class=\"text-sm text-gray-600 mx-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1865_146516)\">\r\n <path\r\n d=\"M14.665 11.2802V13.2802C14.6657 13.4659 14.6277 13.6497 14.5533 13.8198C14.479 13.9899 14.3699 14.1426 14.233 14.2681C14.0962 14.3937 13.9347 14.4892 13.7588 14.5487C13.5829 14.6082 13.3966 14.6303 13.2117 14.6136C11.1602 14.3907 9.18966 13.6897 7.45833 12.5669C5.84755 11.5433 4.48189 10.1777 3.45833 8.56689C2.33165 6.8277 1.63049 4.84756 1.41166 2.78689C1.395 2.60254 1.41691 2.41673 1.47599 2.24131C1.53508 2.06589 1.63004 1.90469 1.75484 1.76797C1.87964 1.63126 2.03153 1.52203 2.20086 1.44724C2.37018 1.37245 2.55322 1.33374 2.73833 1.33356H4.73833C5.06187 1.33038 5.37552 1.44495 5.62084 1.65592C5.86615 1.86689 6.02638 2.15986 6.07166 2.48023C6.15608 3.12027 6.31263 3.74871 6.53833 4.35356C6.62802 4.59218 6.64744 4.8515 6.59427 5.10081C6.5411 5.35012 6.41757 5.57897 6.23833 5.76023L5.39166 6.60689C6.3407 8.27592 7.72263 9.65786 9.39166 10.6069L10.2383 9.76023C10.4196 9.58099 10.6484 9.45746 10.8977 9.40429C11.1471 9.35112 11.4064 9.37053 11.645 9.46023C12.2498 9.68593 12.8783 9.84248 13.5183 9.92689C13.8422 9.97258 14.1379 10.1357 14.3494 10.3852C14.5608 10.6348 14.6731 10.9533 14.665 11.2802Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1865_146516\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"text-sm font-medium map-subtext text-gray-800\">\r\n {{selectedStore?.spocDetails?.contact ?selectedStore?.spocDetails?.contact:'--'}}\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"my-3\">\r\n <span class=\"text-sm text-gray-600\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M14.6654 3.99984C14.6654 3.2665 14.0654 2.6665 13.332 2.6665H2.66536C1.93203 2.6665 1.33203 3.2665 1.33203 3.99984M14.6654 3.99984V11.9998C14.6654 12.7332 14.0654 13.3332 13.332 13.3332H2.66536C1.93203 13.3332 1.33203 12.7332 1.33203 11.9998V3.99984M14.6654 3.99984L7.9987 8.6665L1.33203 3.99984\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"text-sm font-medium map-subtext text-gray-800\">\r\n {{selectedStore?.spocDetails?.email ? selectedStore?.spocDetails?.email:'--'}}\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"flex items-center gap-5 my-3\">\r\n <span class=\"text-sm text-gray-600 \">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"text-sm font-medium map-subtext text-gray-800\">\r\n {{selectedStore?.storeType?.type ? selectedStore?.storeType?.type:'--'}}\r\n </span>\r\n </span>\r\n <span class=\"text-sm text-gray-600 mx-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1865_146516)\">\r\n <path\r\n d=\"M14.665 11.2802V13.2802C14.6657 13.4659 14.6277 13.6497 14.5533 13.8198C14.479 13.9899 14.3699 14.1426 14.233 14.2681C14.0962 14.3937 13.9347 14.4892 13.7588 14.5487C13.5829 14.6082 13.3966 14.6303 13.2117 14.6136C11.1602 14.3907 9.18966 13.6897 7.45833 12.5669C5.84755 11.5433 4.48189 10.1777 3.45833 8.56689C2.33165 6.8277 1.63049 4.84756 1.41166 2.78689C1.395 2.60254 1.41691 2.41673 1.47599 2.24131C1.53508 2.06589 1.63004 1.90469 1.75484 1.76797C1.87964 1.63126 2.03153 1.52203 2.20086 1.44724C2.37018 1.37245 2.55322 1.33374 2.73833 1.33356H4.73833C5.06187 1.33038 5.37552 1.44495 5.62084 1.65592C5.86615 1.86689 6.02638 2.15986 6.07166 2.48023C6.15608 3.12027 6.31263 3.74871 6.53833 4.35356C6.62802 4.59218 6.64744 4.8515 6.59427 5.10081C6.5411 5.35012 6.41757 5.57897 6.23833 5.76023L5.39166 6.60689C6.3407 8.27592 7.72263 9.65786 9.39166 10.6069L10.2383 9.76023C10.4196 9.58099 10.6484 9.45746 10.8977 9.40429C11.1471 9.35112 11.4064 9.37053 11.645 9.46023C12.2498 9.68593 12.8783 9.84248 13.5183 9.92689C13.8422 9.97258 14.1379 10.1357 14.3494 10.3852C14.5608 10.6348 14.6731 10.9533 14.665 11.2802Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1865_146516\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"text-sm font-medium map-subtext text-gray-800\">\r\n {{selectedStore?.storeType?.name ? selectedStore?.storeType?.name:'--'}}\r\n </span>\r\n </span>\r\n </div>\r\n \r\n <div class=\"flex items-center gap-5 my-3\">\r\n <span class=\"text-sm text-gray-600\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1865_146529)\">\r\n <path\r\n d=\"M9 4.5V9L12 10.5M16.5 9C16.5 13.1421 13.1421 16.5 9 16.5C4.85786 16.5 1.5 13.1421 1.5 9C1.5 4.85786 4.85786 1.5 9 1.5C13.1421 1.5 16.5 4.85786 16.5 9Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1865_146529\">\r\n <rect width=\"18\" height=\"18\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"text-sm font-medium text-gray-800\">\r\n {{dataStoreMap?.hourlyData?.openTime ? dataStoreMap?.hourlyData?.openTime:'--'}} - {{dataStoreMap?.hourlyData?.closeTime ? dataStoreMap?.hourlyData?.closeTime:'--'}}\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"flex flex-col my-3\">\r\n <a class=\"map-avg\">\r\n {{dataStoreMap?.avgData?.avgFootfall ? dataStoreMap?.avgData?.avgFootfall:'--'}}\r\n </a>\r\n <br>\r\n <span class=\"text-sm text-gray-700 map-avgtest\">\r\n Avg Footfall \r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1865_146536)\">\r\n <path\r\n d=\"M6 8V6M6 4H6.005M11 6C11 8.76142 8.76142 11 6 11C3.23858 11 1 8.76142 1 6C1 3.23858 3.23858 1 6 1C8.76142 1 11 3.23858 11 6Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1865_146536\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n </div>\r\n <div class=\"flex flex-col my-3\">\r\n <a class=\"map-avg\">\r\n {{dataStoreMap?.avgData?.avgWeekdayFootfall ? dataStoreMap?.avgData?.avgWeekdayFootfall:'--'}}\r\n </a>\r\n <br>\r\n <span class=\"text-sm text-gray-700 map-avgtest\">\r\n Avg Weekday Footfall <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1865_146536)\">\r\n <path\r\n d=\"M6 8V6M6 4H6.005M11 6C11 8.76142 8.76142 11 6 11C3.23858 11 1 8.76142 1 6C1 3.23858 3.23858 1 6 1C8.76142 1 11 3.23858 11 6Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1865_146536\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n </div>\r\n <div class=\"flex flex-col my-3\">\r\n <a class=\"map-avg\">\r\n {{dataStoreMap?.avgData?.avgWeekendFootfall ? dataStoreMap?.avgData?.avgWeekendFootfall:'--'}}\r\n </a>\r\n <br>\r\n <span class=\"text-sm text-gray-700 map-avgtest\">\r\n Avg Weekend Footfall <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\"\r\n viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_1865_146536)\">\r\n <path\r\n d=\"M6 8V6M6 4H6.005M11 6C11 8.76142 8.76142 11 6 11C3.23858 11 1 8.76142 1 6C1 3.23858 3.23858 1 6 1C8.76142 1 11 3.23858 11 6Z\"\r\n stroke=\"#98A2B3\" stroke-width=\"1.5\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_1865_146536\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n </span>\r\n </div>\r\n \r\n \r\n <!-- <div class=\"mt-5 col-lg-12\">\r\n <button class=\"btn btn-light-primary1 w-100 px-2\"><span class=\"ms-2\">View more\r\n Details</span></button>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"loading\" class=\"row px-3 loader card d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n</div>\r\n<div *ngIf=\"noData\" class=\"row px-3\">\r\n <div class=\"card\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-nodata-table\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodata-title\">No data found</div>\r\n <div class=\"nodata-sub\">There is no result for this Store map</div>\r\n </div>\r\n </div>\r\n</div>", styles: ["#map{width:100%!important;position:relative}:host::ng-deep .mapboxgl-popup-content{background:var(--gradient-primary-800700265-deg, linear-gradient(27deg, #0082CC 8.33%, #0093E6 91.67%))!important}:host::ng-deep .map-container{height:500px;width:100%!important;position:relative;overflow:hidden}:host::ng-deep .mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#008ddc;display:none!important}#map{top:0;bottom:0;width:100%}.marker{display:block;border:none;border-radius:50%;cursor:pointer;padding:0}.tooltip{position:absolute;background-color:#fff;padding:5px 10px;border-radius:4px;box-shadow:0 2px 6px #00000026;z-index:3;font-size:12px;pointer-events:none}.mapboxgl-popup{background-color:#fffc;border-radius:8px;padding:10px}.mapboxgl-popup-content{background-color:#fffc;color:#fff;padding:5px;border-radius:5px}.leftIcon{width:50px;height:50px;left:-25px;top:31px}.card-title .card-label{color:var(--Gray-900, #101828)!important;font-family:Inter;font-size:12px!important;font-weight:600!important;line-height:20px}.btn-light-primary1{color:var(--White, #FFF)!important;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize;border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important}.map-subtext{color:var(--Gray-500, #667085)!important;font-size:12px!important;font-style:normal;font-weight:500!important;line-height:18px}.map-avg{color:var(--Gray-700, #344054)!important;font-size:18px!important;font-style:normal;font-weight:600;line-height:28px}.map-avgtest{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-style:normal;font-weight:500;line-height:20px}.img-nodata-table{width:35%;height:20%}:host::ng-deep .mapboxgl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0;outline:none!important;display:none!important}.nodata-title{font-size:14px!important;font-weight:600}\n"] }]
|
|
262
270
|
}], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i2.TrafficService }, { type: i1.GlobalStateService }, { type: i3.Router }, { type: i0.ChangeDetectorRef }] });
|
|
263
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbG9yZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy9zcmMvbGliL2NvbXBvbmVudHMvZXhwbG9yZS12aWV3L2V4cGxvcmUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL2V4cGxvcmUtdmlldy9leHBsb3JlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHcEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDOzs7Ozs7QUFNdEMsTUFBTSxPQUFPLG9CQUFvQjtJQW9CYjtJQUFrQztJQUErQjtJQUErQjtJQUFzQjtJQW5CeEksVUFBVSxDQUFNO0lBQ2hCLFlBQVksQ0FBTTtJQUVsQixvQ0FBb0M7SUFDcEMsV0FBVyxHQUFVLEVBQUUsQ0FBQztJQUN4QixVQUFVLEdBQTJCO1FBQ25DLEtBQUssRUFBRSxhQUFhO1FBQ3BCLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtRQUMxQixJQUFJLEVBQUUsRUFBRTtLQUNULENBQUM7SUFDZSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNuQyxJQUFJLEdBQVksS0FBSyxDQUFDLENBQUUsdUNBQXVDO0lBQy9ELFFBQVEsR0FBVyxXQUFXLENBQUM7SUFDdEMsYUFBYSxDQUFNO0lBQ25CLE9BQU8sR0FBVSxJQUFJLENBQUM7SUFDdEIsTUFB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LENBQUMsQ0FBQztZQUNMLENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBS0QsNEJBQTRCO0lBQzVCLGdDQUFnQztJQUNoQyxxQkFBcUI7SUFDckIsa0ZBQWtGO0lBRWxGLG9DQUFvQztJQUNwQyxJQUFJO0lBQ0osU0FBUyxDQUFDLElBQVE7UUFDaEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUE7SUFDN0IsQ0FBQztJQUNELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQ3ZELENBQUM7SUFFQyxjQUFjO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUE7SUFDM0MsQ0FBQzt3R0F2UVUsb0JBQW9COzRGQUFwQixvQkFBb0Isd0RDWmpDLDRybkJBK1BNOzs0RkRuUE8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFmZmljU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYWZmaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSwgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0ICogYXMgbWFwYm94Z2wgZnJvbSAnbWFwYm94LWdsJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZXhwbG9yZS12aWV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhwbG9yZS12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZXhwbG9yZS12aWV3LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXhwbG9yZVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQgIHtcclxuICBoZWFkZXJEYXRhOiBhbnk7XHJcbiAgc3RvcmVJZGFycmF5OiBhbnk7XHJcbiAgXHJcbiAgLy8gbWFwOiBnb29nbGUubWFwcy5NYXAgfCB1bmRlZmluZWQ7XHJcbiAgYXVMb2NhdGlvbnM6IGFueVtdID0gW107XHJcbiAgbWFwT3B0aW9uczogZ29vZ2xlLm1hcHMuTWFwT3B0aW9ucyA9IHtcclxuICAgIG1hcElkOiBcIkRFTU9fTUFQX0lEXCIsXHJcbiAgICBjZW50ZXI6IHsgbGF0OiAwLCBsbmc6IDAgfSwgIC8vIEluaXRpYWwgY2VudGVyXHJcbiAgICB6b29tOiAxMCxcclxuICB9O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyBhdXRoOiBib29sZWFuID0gZmFsc2U7ICAvLyBTZXQgdGhpcyBiYXNlZCBvbiB5b3VyIGluaXRpYWwgbG9naWNcclxuICBwdWJsaWMgc2V0Q2xhc3M6IHN0cmluZyA9ICdjb2wtbWQtMTInO1xyXG4gIHNlbGVjdGVkU3RvcmU6IGFueTtcclxuICBsb2FkaW5nOmJvb2xlYW4gPXRydWU7XHJcbiAgbm9EYXRhOiBib29sZWFuID1mYWxzZTtcclxuICBkYXRhSW1hZ2VzOiBhbnk7XHJcbiAgZGF0YVN0b3JlTWFwOiBhbnk7XHJcbiAgbmV3RGF0YVN0b3JlTWFwOiBhbnk7XHJcbmNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZUluZm86UGFnZUluZm9TZXJ2aWNlLCBwcml2YXRlIHNlcnZpY2U6IFRyYWZmaWNTZXJ2aWNlLHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLHByaXZhdGUgcm91dGVyOlJvdXRlcixwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZil7XHJcblxyXG59XHJcbnNldFBhZ2VEYXRhKCl7XHJcbiAgdGhpcy5wYWdlSW5mby5zZXRUaXRsZSgnRXhwbG9yZScpXHJcbiAgdGhpcy5wYWdlSW5mby5zZXREZXNjcmlwdGlvbignVG8gb3B0aW1pemUgYW5kIGltcHJvdmUgZXhpc3RpbmcgYWxnb3JpdGhtJylcclxuICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICB7dGl0bGU6J0FuYWx5emUnLCBwYXRoOiAnL21hbmFnZS90cmFmZmljJywgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogZmFsc2V9LFxyXG4gIHt0aXRsZTonQW5hbHl6ZScsIHBhdGg6ICcvbWFuYWdlL3RyYWZmaWMnLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiB0cnVlfSxcclxuICB7dGl0bGU6J1RyYWZmaWMnLCBwYXRoOiAnL21hbmFnZS90cmFmZmljJywgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogZmFsc2V9LFxyXG4gIHt0aXRsZTonVHJhZmZpYycsIHBhdGg6ICcvbWFuYWdlL3RyYWZmaWMnLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiB0cnVlfSxcclxuICBdKVxyXG59XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFBhZ2VEYXRhKCk7XHJcbiAgIFxyXG4gICAgKG1hcGJveGdsIGFzIGFueSkuYWNjZXNzVG9rZW4gPSAncGsuZXlKMUlqb2lZbUZzWVdwcGRHRnVaMjhpTENKaElqb2lZMjB3WjJ4aWVtNTVNREZ4WVRKM2IyMXpiM0ZqTkhkd2F5Sjkubm5JSXp0N09lWWxZSHVmR0U4bEZXUSc7XHJcblxyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIGRlYm91bmNlVGltZSgzMDApKVxyXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAvLyBPbmx5IHByb2Nlc3MgdGhlIGxhdGVzdCBkYXRhIGFmdGVyIGRlYm91bmNlIHRpbWVcclxuICAgICAgICB0aGlzLmhlYWRlckRhdGEgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMuc3RvcmVJZGFycmF5ID0gdGhpcy5oZWFkZXJEYXRhPy5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKVxyXG4gICAgICAgXHJcbiAgICAgICAgdGhpcy5nZXRNYXAoKTtcclxuICAgICAgfSlcclxuICAgICAgXHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gIG1hcDogbWFwYm94Z2wuTWFwO1xyXG5cclxuICBnZXRNYXAoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPXRydWU7XHJcbiAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gICAgICBzdG9yZURhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZGFycmF5XHJcbiAgICB9O1xyXG4gIFxyXG4gICAgdGhpcy5zZXJ2aWNlLmdlTWFwcyhvYmopPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5kYXRhICYmIHJlcy5kYXRhLnN0b3JlRGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLmF1TG9jYXRpb25zID0gcmVzLmRhdGEuc3RvcmVEYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmdldERhdGEoKTtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmF1TG9jYXRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICBjb25zdCBmaXJzdExvY2F0aW9uID0gdGhpcy5hdUxvY2F0aW9uc1swXTtcclxuICAgICAgICAgICAgICBpZiAoZmlyc3RMb2NhdGlvbiAmJiB0eXBlb2YgZmlyc3RMb2NhdGlvbi5sYXQgPT09ICdudW1iZXInICYmIHR5cGVvZiBmaXJzdExvY2F0aW9uLmxuZyA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubWFwT3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgICAgICAgLi4udGhpcy5tYXBPcHRpb25zLFxyXG4gICAgICAgICAgICAgICAgICBjZW50ZXI6IHsgbGF0OiBmaXJzdExvY2F0aW9uLmxhdCwgbG5nOiBmaXJzdExvY2F0aW9uLmxuZyB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID1mYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID10cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9ZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9dHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBcclxuICBnZXREYXRhKCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IG1hcENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYXAxJyk7XHJcbiAgICAgIGlmICghbWFwQ29udGFpbmVyKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICBpZiAodGhpcy5hdUxvY2F0aW9ucy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgY29uc3QgZ2VvanNvbiA9IHtcclxuICAgICAgJ3R5cGUnOiAnRmVhdHVyZUNvbGxlY3Rpb24nLFxyXG4gICAgICAnZmVhdHVyZXMnOiB0aGlzLmF1TG9jYXRpb25zLm1hcCgoc3RvcmUsIGluZGV4KSA9PiAoe1xyXG4gICAgICAgICd0eXBlJzogJ0ZlYXR1cmUnLFxyXG4gICAgICAgICdwcm9wZXJ0aWVzJzoge1xyXG4gICAgICAgICAgJ3N0b3JlTmFtZSc6IHN0b3JlLnN0b3JlTmFtZSxcclxuICAgICAgICAgICdpbWFnZUlkJzogMTAxMSArIGluZGV4LFxyXG4gICAgICAgICAgJ2ljb25TaXplJzogWzYwLCA2MF0sXHJcbiAgICAgICAgICAnZm9vdGZhbGwnOiBzdG9yZS5hdmdGb290ZmFsbCxcclxuICAgICAgICAgICdvcGVuVGltZSc6IHN0b3JlLm9wZW5UaW1lLFxyXG4gICAgICAgICAgJ2Nsb3NlVGltZSc6IHN0b3JlLmNsb3NlVGltZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICdnZW9tZXRyeSc6IHtcclxuICAgICAgICAgICd0eXBlJzogJ1BvaW50JyxcclxuICAgICAgICAgICdjb29yZGluYXRlcyc6IFtzdG9yZS5sbmcsIHN0b3JlLmxhdF1cclxuICAgICAgICB9XHJcbiAgICAgIH0pKVxyXG4gICAgfTtcclxuICBcclxuICAgIGNvbnN0IGZpcnN0TG9jYXRpb24gPSB0aGlzLmF1TG9jYXRpb25zWzBdO1xyXG4gICAgdGhpcy5tYXAgPSBuZXcgbWFwYm94Z2wuTWFwKHtcclxuICAgICAgY29udGFpbmVyOiAnbWFwMScsXHJcbiAgICAgIHN0eWxlOiAnbWFwYm94Oi8vc3R5bGVzL21hcGJveC9zdHJlZXRzLXYxMicsXHJcbiAgICAgIGNlbnRlcjogW2ZpcnN0TG9jYXRpb24ubG5nLCBmaXJzdExvY2F0aW9uLmxhdF0sXHJcbiAgICAgIHpvb206IDRcclxuICAgIH0pO1xyXG4gIFxyXG4gICAgZ2VvanNvbi5mZWF0dXJlcy5mb3JFYWNoKChmZWF0dXJlLCBmZWF0dXJlSW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgeyBwcm9wZXJ0aWVzLCBnZW9tZXRyeSB9ID0gZmVhdHVyZTtcclxuICAgICAgY29uc3Qgc3RvcmUgPSB0aGlzLmF1TG9jYXRpb25zW2ZlYXR1cmVJbmRleF07XHJcbiAgXHJcbiAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGNvbnN0IHdpZHRoID0gcHJvcGVydGllcy5pY29uU2l6ZVswXTtcclxuICAgICAgY29uc3QgaGVpZ2h0ID0gcHJvcGVydGllcy5pY29uU2l6ZVsxXTtcclxuICAgICAgZWwuY2xhc3NOYW1lID0gJ21hcmtlcic7XHJcbiAgICAgIGVsLmlubmVySFRNTCA9IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFya2VyLWljb25cIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB3aWR0aDogNjVweDsgaGVpZ2h0OiA3MHB4OyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXJrZXItY29udGVudFwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cclxuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cIm1iLTFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMyAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgPHBhdGggZD1cIk0xLjMzNjU0IDMuMzYzN0wxLjI5NjU4IDMuNDI2MTFDMC44Nzc2OTggNC4xNjcwMSAxLjMyNDkzIDUuMTAzMzUgMi4xMjkzMSA1LjIxMDc2QzIuMjAyMTggNS4yMTk2NyAyLjI2OTk5IDUuMjI0MzggMi4zMzYyNSA1LjIyNDM4QzIuNzcwMjEgNS4yMjQzOCAzLjE1MzkgNS4wMzgyMSAzLjQyMTMyIDQuNzQ3OTNMMy44MzY2NiA0LjI5NzFMNC4yNTA1OSA0Ljc0OTIzQzQuNTE0NzYgNS4wMzc3OCA0Ljg5NzU4IDUuMjI0MzggNS4zMzQ0OCA1LjIyNDM4QzUuNzY5NDEgNS4yMjQzOCA2LjE1NDQzIDUuMDM3NTIgNi40MTgzNyA0Ljc0OTIzTDYuODMzNTkgNC4yOTU2OEw3LjI0ODgyIDQuNzQ5MjNDNy41MTI3NSA1LjAzNzUyIDcuODk3NzcgNS4yMjQzOCA4LjMzMjcxIDUuMjI0MzhDOC43Njc2NCA1LjIyNDM4IDkuMTUyNjYgNS4wMzc1MiA5LjQxNjYgNC43NDkyM0w5LjgzMTgyIDQuMjk1NjhMMTAuMjQ3IDQuNzQ5MjNDMTAuNTExIDUuMDM3NTIgMTAuODk2IDUuMjI0MzggMTEuMzMwOSA1LjIyNDM4QzExLjM5NSA1LjIyNDM4IDExLjQ2NDkgNS4yMTk2NiAxMS41MzcyIDUuMjEwODNDMTIuMzU5MyA1LjA5ODc1IDEyLjgwOCA0LjExMjI1IDEyLjMyODYgMy4zNjQwOEMxMi4zMjg2IDMuMzY0MDMgMTIuMzI4NSAzLjM2Mzk5IDEyLjMyODUgMy4zNjM5NUwxMS4wMDg4IDEuMzA2MjFMMTEuMDA4MSAxLjMwNTExQzEwLjk5NjcgMS4yODcyMiAxMC45Njg2IDEuMjY4MDQgMTAuOTMzMiAxLjI2ODA0SDIuNzI5NDJDMi42OTQwMyAxLjI2ODA0IDIuNjY1ODkgMS4yODcyMiAyLjY1NDQ4IDEuMzA1MTFMMi42NTQwMSAxLjMwNTg0TDEuMzM2NTQgMy4zNjM3Wk0xMS4wNzMxIDcuMDY2NjdWOS40MTc1M1Y5Ljk4MDQ5SDEwLjUxMDFIMy4xNTI0OEgyLjU4OTUyVjkuNDE3NTNWNy4wNjcwMkMyLjUwNjc4IDcuMDczMTggMi40MjMwOCA3LjA3NjM0IDIuMzM4NTUgNy4wNzYzNEMyLjMwNjc5IDcuMDc2MzQgMi4yNzUyNSA3LjA3NTg3IDIuMjQzOTIgNy4wNzQ5NVY5LjQxNzUzVjEwLjg2OTZDMi4yNDM5MiAxMS4zNTI2IDIuNjQ0NjcgMTEuNzU4NyAzLjE1MjQ4IDExLjc1ODdIMTAuNTEwMUMxMS4wMTc5IDExLjc1ODcgMTEuNDE4NyAxMS4zNTI2IDExLjQxODcgMTAuODY5NlY5LjQxNzUzVjcuMDc1MDlDMTEuMzg4OCA3LjA3NTkxIDExLjM1ODcgNy4wNzYzNCAxMS4zMjg2IDcuMDc2MzRDMTEuMjQyOCA3LjA3NjM0IDExLjE1NzUgNy4wNzMwOCAxMS4wNzMxIDcuMDY2NjdaXCIgc3Ryb2tlPVwiIzEwMTgyOFwiIHN0cm9rZS13aWR0aD1cIjEuMTI1OTJcIi8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmtlci1sYWJlbFwiIHN0eWxlPVwiY29sb3I6IHZhcigtLUdyYXktNzAwLCAjMzQ0MDU0KTsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LWZhbWlseTogSW50ZXI7IGZvbnQtc2l6ZTogOS4wMDdweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNjAwOyBsaW5lLWhlaWdodDogMTNweDtcIj5cclxuICAgICAgICAgICAgICAke3Byb3BlcnRpZXMuc3RvcmVOYW1lfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICBgO1xyXG4gICAgICBlbC5zdHlsZS53aWR0aCA9IGAke3dpZHRofXB4YDtcclxuICAgICAgZWwuc3R5bGUuaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDtcclxuICAgICAgZWwuc3R5bGUuYmFja2dyb3VuZFNpemUgPSAnMTAwJSc7XHJcbiAgXHJcbiAgICAgIC8vIENyZWF0ZSBhbiBlbXB0eSBwb3B1cCBpbml0aWFsbHlcclxuICAgICAgY29uc3QgcG9wdXAgPSBuZXcgbWFwYm94Z2wuUG9wdXAoeyBvZmZzZXQ6IDI1IH0pXHJcbiAgICAgICAgLnNldEhUTUwoJzxkaXY+TG9hZGluZy4uLjwvZGl2PicpO1xyXG4gIFxyXG4gICAgICAvLyBDcmVhdGUgbWFya2VyIHdpdGggdGhlIHBvcHVwXHJcbiAgICAgIGNvbnN0IG1hcmtlciA9IG5ldyBtYXBib3hnbC5NYXJrZXIoZWwpXHJcbiAgICAgICAgLnNldExuZ0xhdChbZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sIGdlb21ldHJ5LmNvb3JkaW5hdGVzWzFdXSlcclxuICAgICAgICAuc2V0UG9wdXAocG9wdXApXHJcbiAgICAgICAgLmFkZFRvKHRoaXMubWFwKTtcclxuICBcclxuICAgICAgLy8gSGFuZGxlIGNsaWNrIGV2ZW50c1xyXG4gICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgICB0aGlzLmFkanVzdExheW91dChzdG9yZSwgbWFya2VyLCBwb3B1cCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfSwwKVxyXG4gIH1cclxuICBcclxuICBhZGp1c3RMYXlvdXQoc3RvcmU6IGFueSwgbWFya2VyOiBtYXBib3hnbC5NYXJrZXIsIHBvcHVwOiBtYXBib3hnbC5Qb3B1cCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFN0b3JlID0gc3RvcmU7XHJcbiAgICB0aGlzLmF1dGggPSB0cnVlO1xyXG4gICAgdGhpcy5zZXRDbGFzcyA9ICdjb2wtbWQtOSc7XHJcbiAgXHJcbiAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gICAgICBzdG9yZURhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICAgIHN0b3JlSWQ6IFtzdG9yZT8uc3RvcmVJZF1cclxuICAgIH07XHJcbiAgXHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0U3RvcmVNYXBEYXRhKG9iaik/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVN0b3JlTWFwID0gcmVzPy5kYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFJbWFnZXMgPSByZXM/LmRhdGE/LmNhbWVyYUJhc2VJbWFnZSB8fCAnYXNzZXRzL3RhbmdvL0ltYWdlL2Jhc2VpbWcucG5nJztcclxuICBcclxuICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBwb3B1cCBjb250ZW50XHJcbiAgICAgICAgICAgIHBvcHVwLnNldEhUTUwoYFxyXG4gICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMFwiIHNyYz1cIiR7dGhpcy5kYXRhSW1hZ2VzfVwiIG9uZXJyb3I9XCJ0aGlzLm9uZXJyb3I9bnVsbDsgdGhpcy5zcmM9J2Fzc2V0cy90YW5nby9JbWFnZS9iYXNlaW1nLnBuZyc7XCIgYWx0PVwiU3RvcmUgSW1hZ2VcIj5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZDogdmFyKC0tZ3JhZGllbnQtcHJpbWFyeS04MDA3MDAyNjUtZGVnLCBsaW5lYXItZ3JhZGllbnQoMjdkZWcsICMwMDgyQ0MgOC4zMyUsICMwMDkzRTYgOTEuNjclKSk7Y29sb3I6d2hpdGU7IHBhZGRpbmc6IDEwcHg7IGJvcmRlci1yYWRpdXM6IDE2cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJ0ZXh0LXdoaXRlXCI+JHtzdG9yZS5zdG9yZU5hbWUgfHwgJ1N0b3JlIE5hbWUnfTwvaDQ+XHJcbiAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJ0ZXh0LXdoaXRlXCI+QXZlcmFnZSBGb290ZmFsbDogJHt0aGlzLmRhdGFTdG9yZU1hcD8uaG91cmx5RGF0YT8uaG91cmx5Rm9vdGZhbGwgfHwgJy0tJ308L2g2PlxyXG4gICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwidGV4dC13aGl0ZVwiPk9wZW4gVGltZTogJHt0aGlzLmRhdGFTdG9yZU1hcD8uaG91cmx5RGF0YT8ub3BlblRpbWUgfHwgJy0tJ308L2g2PlxyXG4gICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwidGV4dC13aGl0ZVwiPkNsb3NlIFRpbWU6ICR7dGhpcy5kYXRhU3RvcmVNYXA/LmhvdXJseURhdGE/LmNsb3NlVGltZSB8fCAnLS0nfTwvaDY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIGApO1xyXG4gIFxyXG4gICAgICAgICAgICAvLyBFbnN1cmUgdGhlIHBvcHVwIGlzIGFkZGVkIHRvIHRoZSBtYXAgYW5kIHBvc2l0aW9uZWQgY29ycmVjdGx5XHJcbiAgICAgICAgICAgIG1hcmtlci5zZXRQb3B1cChwb3B1cCk7IC8vIEF0dGFjaCB0aGUgcG9wdXAgdG8gdGhlIG1hcmtlclxyXG4gICAgICAgICAgICBpZiAoIXBvcHVwLmlzT3BlbigpKSB7XHJcbiAgICAgICAgICAgICAgcG9wdXAuYWRkVG8odGhpcy5tYXApOyAvLyBBZGQgcG9wdXAgdG8gdGhlIG1hcFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFJbWFnZXMgPSAnYXNzZXRzL3RhbmdvL0ltYWdlL2Jhc2VpbWcucG5nJztcclxuICAgICAgICAgICAgcG9wdXAuc2V0SFRNTChgXHJcbiAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwXCIgc3JjPVwiJHt0aGlzLmRhdGFJbWFnZXN9XCIgb25lcnJvcj1cInRoaXMub25lcnJvcj1udWxsOyB0aGlzLnNyYz0nYXNzZXRzL3RhbmdvL0ltYWdlL2Jhc2VpbWcucG5nJztcIiBhbHQ9XCJTdG9yZSBJbWFnZVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kOiB2YXIoLS1ncmFkaWVudC1wcmltYXJ5LTgwMDcwMDI2NS1kZWcsIGxpbmVhci1ncmFkaWVudCgyN2RlZywgIzAwODJDQyA4LjMzJSwgIzAwOTNFNiA5MS42NyUpKTtjb2xvcjp3aGl0ZTsgcGFkZGluZzogMTBweDsgYm9yZGVyLXJhZGl1czogMTZweDtcIj5cclxuICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cInRleHQtd2hpdGVcIj4ke3N0b3JlLnN0b3JlTmFtZSB8fCAnU3RvcmUgTmFtZSd9PC9oND5cclxuICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cInRleHQtd2hpdGVcIj5BdmVyYWdlIEZvb3RmYWxsOiAtLTwvaDY+XHJcbiAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJ0ZXh0LXdoaXRlXCI+T3BlbiBUaW1lOiAtLTwvaDY+XHJcbiAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJ0ZXh0LXdoaXRlXCI+Q2xvc2UgVGltZTogLS08L2g2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBzdG9yZSBtYXAgZGF0YTonLCBlcnIpO1xyXG4gICAgICAgICAgcG9wdXAuc2V0SFRNTChgXHJcbiAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwXCIgc3JjPVwiJHt0aGlzLmRhdGFJbWFnZXN9XCIgb25lcnJvcj1cInRoaXMub25lcnJvcj1udWxsOyB0aGlzLnNyYz0nYXNzZXRzL3RhbmdvL0ltYWdlL2Jhc2VpbWcucG5nJztcIiBhbHQ9XCJTdG9yZSBJbWFnZVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kOiB2YXIoLS1ncmFkaWVudC1wcmltYXJ5LTgwMDcwMDI2NS1kZWcsIGxpbmVhci1ncmFkaWVudCgyN2RlZywgIzAwODJDQyA4LjMzJSwgIzAwOTNFNiA5MS42NyUpKTtjb2xvcjp3aGl0ZTsgcGFkZGluZzogMTBweDsgYm9yZGVyLXJhZGl1czogMTZweDtcIj5cclxuICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cInRleHQtd2hpdGVcIj4ke3N0b3JlLnN0b3JlTmFtZSB8fCAnU3RvcmUgTmFtZSd9PC9oND5cclxuICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cInRleHQtd2hpdGVcIj5BdmVyYWdlIEZvb3RmYWxsOiAtLTwvaDY+XHJcbiAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJ0ZXh0LXdoaXRlXCI+T3BlbiBUaW1lOiAtLTwvaDY+XHJcbiAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJ0ZXh0LXdoaXRlXCI+Q2xvc2UgVGltZTogLS08L2g2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgLy8gYWRqdXN0TGF5b3V0KHN0b3JlOmFueSkge1xyXG4gIC8vICAgdGhpcy5zZWxlY3RlZFN0b3JlID0gc3RvcmU7XHJcbiAgLy8gICB0aGlzLmF1dGggPXRydWU7XHJcbiAgLy8gICB0aGlzLnNldENsYXNzID0gJ2NvbC1tZC05JzsgLy8gQWRqdXN0IHRoZSBsYXlvdXQgdG8gOCBjb2x1bW5zIG9uIG1hcmtlciBjbGlja1xyXG4gICBcclxuICAvLyAgIC8vIHRoaXMubmV3RGF0YVN0b3JlTWFwID0gZGF0YTtcclxuICAvLyB9XHJcbiAgZGF0YVZhbHVlKGRhdGE6YW55KXtcclxuICAgIHRoaXMubmV3RGF0YVN0b3JlTWFwID0gZGF0YVxyXG4gIH1cclxuICB0b2dnbGVBdXRoKCkge1xyXG4gICAgdGhpcy5hdXRoID0gIXRoaXMuYXV0aDtcclxuICAgIHRoaXMuc2V0Q2xhc3MgPSB0aGlzLmF1dGggPyAnY29sLW1kLTknIDogJ2NvbC1tZC0xMic7XHJcbiAgfVxyXG5cclxuICAgIGJhY2tUb0Zvb3RmYWxsKCl7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9tYW5hZ2UvdHJhZmZpYyddKVxyXG4gIH1cclxuXHJcbiAgLy8gb25NYXJrZXJDbGljayhsb2NhdGlvbjogYW55KSB7XHJcbiAgLy8gICBjb25zb2xlLmxvZygnTWFya2VyIGNsaWNrZWQ6JywgbG9jYXRpb24pO1xyXG4gIC8vICAgLy8gUGVyZm9ybSBhY3Rpb25zIGJhc2VkIG9uIHRoZSBjbGlja2VkIGxvY2F0aW9uXHJcbiAgLy8gfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCIhbm9EYXRhXCIgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgW25nQ2xhc3NdPVwic2V0Q2xhc3NcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBweC0yIHB5LTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImJhY2tUb0Zvb3RmYWxsKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiMCAwIDQwIDQwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF8yNTg1XzcwMzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjIuNVwiIHk9XCIxLjVcIiB3aWR0aD1cIjM1XCIgaGVpZ2h0PVwiMzVcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjUuODMyNyAxOUgxNC4xNjZNMTQuMTY2IDE5TDE5Ljk5OTMgMjQuODMzNE0xNC4xNjYgMTlMMTkuOTk5MyAxMy4xNjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF8yNTg1XzcwMzZcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd18yNTg1XzcwMzZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJtYXAxXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDB2aDtcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiYXV0aFwiIGNsYXNzPVwiY29sLW1kLTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBweC01IGgtMTAwIHB5LTMgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgPGltZyAoY2xpY2spPVwidG9nZ2xlQXV0aCgpXCIgY2xhc3M9XCJsZWZ0SWNvbiBwb3NpdGlvbi1hYnNvbHV0ZSBsZWZ0LTAgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgc3JjPVwiYXNzZXRzL3RhbmdvL0ltYWdlL2xlZnRJY29uLnN2Z1wiPlxyXG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwiZGF0YUltYWdlcyAhPT0gbnVsbFwiIGNsYXNzPVwidy0xMDBcIiBbc3JjXT1cImRhdGFJbWFnZXNcIiAoZXJyb3IpPVwiZGF0YUltYWdlcyA9IG51bGxcIiBbYWx0XT1cImRhdGFJbWFnZXMgPyAnSW1hZ2UnIDogJ0Vycm9yIEltYWdlJ1wiPlxyXG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwiZGF0YUltYWdlcyA9PT0gbnVsbFwiIGNsYXNzPVwidy0xMDBcIiBzcmM9XCJhc3NldHMvdGFuZ28vSW1hZ2UvYmFzZWltZy5wbmdcIiBhbHQ9XCJJbWFnZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgbXQtMyBweC0wIGJvcmRlci0wIG1pbi1oLTEwcHhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWxcIj57e3NlbGVjdGVkU3RvcmUuc3RvcmVOYW1lID8/ICctLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IG10LTFcIj5BcHAgSUQgOiB7e3NlbGVjdGVkU3RvcmUuYXBwSWQgPz8gJy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwdC0wIHB4LTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hcC1zdWJ0ZXh0XCI+e3tzZWxlY3RlZFN0b3JlPy5zdG9yZVByb2ZpbGU/LmFkZHJlc3MgPyBzZWxlY3RlZFN0b3JlPy5zdG9yZVByb2ZpbGU/LmFkZHJlc3M6Jy0tJ319IHt7c2VsZWN0ZWRTdG9yZT8uc3RvcmVQcm9maWxlPy5jb3VudHJ5ID8gc2VsZWN0ZWRTdG9yZT8uc3RvcmVQcm9maWxlPy5jb3VudHJ5OictLSd9fSB7e3NlbGVjdGVkU3RvcmU/LnN0b3JlUHJvZmlsZT8ucGluY29kZSA/IHNlbGVjdGVkU3RvcmU/LnN0b3JlUHJvZmlsZT8ucGluY29kZTonLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC01IG10LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIHRleHQtZ3JheS02MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzM0NiAxNFYxMi42NjY3QzEzLjMzNDYgMTEuOTU5NCAxMy4wNTM3IDExLjI4MTEgMTIuNTUzNiAxMC43ODFDMTIuMDUzNSAxMC4yODEgMTEuMzc1MiAxMCAxMC42NjggMTBINS4zMzQ2NEM0LjYyNzM5IDEwIDMuOTQ5MTEgMTAuMjgxIDMuNDQ5MDIgMTAuNzgxQzIuOTQ4OTIgMTEuMjgxMSAyLjY2Nzk3IDExLjk1OTQgMi42Njc5NyAxMi42NjY3VjE0TTEwLjY2OCA0LjY2NjY3QzEwLjY2OCA2LjEzOTQzIDkuNDc0MDYgNy4zMzMzMyA4LjAwMTMgNy4zMzMzM0M2LjUyODU0IDcuMzMzMzMgNS4zMzQ2NCA2LjEzOTQzIDUuMzM0NjQgNC42NjY2N0M1LjMzNDY0IDMuMTkzOTEgNi41Mjg1NCAyIDguMDAxMyAyQzkuNDc0MDYgMiAxMC42NjggMy4xOTM5MSAxMC42NjggNC42NjY2N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIG1hcC1zdWJ0ZXh0IHRleHQtZ3JheS04MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3NlbGVjdGVkU3RvcmU/LnNwb2NEZXRhaWxzPy5uYW1lID9zZWxlY3RlZFN0b3JlPy5zcG9jRGV0YWlscz8ubmFtZTonLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gdGV4dC1ncmF5LTYwMCBteC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE4NjVfMTQ2NTE2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC42NjUgMTEuMjgwMlYxMy4yODAyQzE0LjY2NTcgMTMuNDY1OSAxNC42Mjc3IDEzLjY0OTcgMTQuNTUzMyAxMy44MTk4QzE0LjQ3OSAxMy45ODk5IDE0LjM2OTkgMTQuMTQyNiAxNC4yMzMgMTQuMjY4MUMxNC4wOTYyIDE0LjM5MzcgMTMuOTM0NyAxNC40ODkyIDEzLjc1ODggMTQuNTQ4N0MxMy41ODI5IDE0LjYwODIgMTMuMzk2NiAxNC42MzAzIDEzLjIxMTcgMTQuNjEzNkMxMS4xNjAyIDE0LjM5MDcgOS4xODk2NiAxMy42ODk3IDcuNDU4MzMgMTIuNTY2OUM1Ljg0NzU1IDExLjU0MzMgNC40ODE4OSAxMC4xNzc3IDMuNDU4MzMgOC41NjY4OUMyLjMzMTY1IDYuODI3NyAxLjYzMDQ5IDQuODQ3NTYgMS40MTE2NiAyLjc4Njg5QzEuMzk1IDIuNjAyNTQgMS40MTY5MSAyLjQxNjczIDEuNDc1OTkgMi4yNDEzMUMxLjUzNTA4IDIuMDY1ODkgMS42MzAwNCAxLjkwNDY5IDEuNzU0ODQgMS43Njc5N0MxLjg3OTY0IDEuNjMxMjYgMi4wMzE1MyAxLjUyMjAzIDIuMjAwODYgMS40NDcyNEMyLjM3MDE4IDEuMzcyNDUgMi41NTMyMiAxLjMzMzc0IDIuNzM4MzMgMS4zMzM1Nkg0LjczODMzQzUuMDYxODcgMS4zMzAzOCA1LjM3NTUyIDEuNDQ0OTUgNS42MjA4NCAxLjY1NTkyQzUuODY2MTUgMS44NjY4OSA2LjAyNjM4IDIuMTU5ODYgNi4wNzE2NiAyLjQ4MDIzQzYuMTU2MDggMy4xMjAyNyA2LjMxMjYzIDMuNzQ4NzEgNi41MzgzMyA0LjM1MzU2QzYuNjI4MDIgNC41OTIxOCA2LjY0NzQ0IDQuODUxNSA2LjU5NDI3IDUuMTAwODFDNi41NDExIDUuMzUwMTIgNi40MTc1NyA1LjU3ODk3IDYuMjM4MzMgNS43NjAyM0w1LjM5MTY2IDYuNjA2ODlDNi4zNDA3IDguMjc1OTIgNy43MjI2MyA5LjY1Nzg2IDkuMzkxNjYgMTAuNjA2OUwxMC4yMzgzIDkuNzYwMjNDMTAuNDE5NiA5LjU4MDk5IDEwLjY0ODQgOS40NTc0NiAxMC44OTc3IDkuNDA0MjlDMTEuMTQ3MSA5LjM1MTEyIDExLjQwNjQgOS4zNzA1MyAxMS42NDUgOS40NjAyM0MxMi4yNDk4IDkuNjg1OTMgMTIuODc4MyA5Ljg0MjQ4IDEzLjUxODMgOS45MjY4OUMxMy44NDIyIDkuOTcyNTggMTQuMTM3OSAxMC4xMzU3IDE0LjM0OTQgMTAuMzg1MkMxNC41NjA4IDEwLjYzNDggMTQuNjczMSAxMC45NTMzIDE0LjY2NSAxMS4yODAyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xODY1XzE0NjUxNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSBmb250LW1lZGl1bSBtYXAtc3VidGV4dCB0ZXh0LWdyYXktODAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tzZWxlY3RlZFN0b3JlPy5zcG9jRGV0YWlscz8uY29udGFjdCA/c2VsZWN0ZWRTdG9yZT8uc3BvY0RldGFpbHM/LmNvbnRhY3Q6Jy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gdGV4dC1ncmF5LTYwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC42NjU0IDMuOTk5ODRDMTQuNjY1NCAzLjI2NjUgMTQuMDY1NCAyLjY2NjUgMTMuMzMyIDIuNjY2NUgyLjY2NTM2QzEuOTMyMDMgMi42NjY1IDEuMzMyMDMgMy4yNjY1IDEuMzMyMDMgMy45OTk4NE0xNC42NjU0IDMuOTk5ODRWMTEuOTk5OEMxNC42NjU0IDEyLjczMzIgMTQuMDY1NCAxMy4zMzMyIDEzLjMzMiAxMy4zMzMySDIuNjY1MzZDMS45MzIwMyAxMy4zMzMyIDEuMzMyMDMgMTIuNzMzMiAxLjMzMjAzIDExLjk5OThWMy45OTk4NE0xNC42NjU0IDMuOTk5ODRMNy45OTg3IDguNjY2NUwxLjMzMjAzIDMuOTk5ODRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIG1hcC1zdWJ0ZXh0IHRleHQtZ3JheS04MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3NlbGVjdGVkU3RvcmU/LnNwb2NEZXRhaWxzPy5lbWFpbCA/IHNlbGVjdGVkU3RvcmU/LnNwb2NEZXRhaWxzPy5lbWFpbDonLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNSBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSB0ZXh0LWdyYXktNjAwIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzQ2IDE0VjEyLjY2NjdDMTMuMzM0NiAxMS45NTk0IDEzLjA1MzcgMTEuMjgxMSAxMi41NTM2IDEwLjc4MUMxMi4wNTM1IDEwLjI4MSAxMS4zNzUyIDEwIDEwLjY2OCAxMEg1LjMzNDY0QzQuNjI3MzkgMTAgMy45NDkxMSAxMC4yODEgMy40NDkwMiAxMC43ODFDMi45NDg5MiAxMS4yODExIDIuNjY3OTcgMTEuOTU5NCAyLjY2Nzk3IDEyLjY2NjdWMTRNMTAuNjY4IDQuNjY2NjdDMTAuNjY4IDYuMTM5NDMgOS40NzQwNiA3LjMzMzMzIDguMDAxMyA3LjMzMzMzQzYuNTI4NTQgNy4zMzMzMyA1LjMzNDY0IDYuMTM5NDMgNS4zMzQ2NCA0LjY2NjY3QzUuMzM0NjQgMy4xOTM5MSA2LjUyODU0IDIgOC4wMDEzIDJDOS40NzQwNiAyIDEwLjY2OCAzLjE5MzkxIDEwLjY2OCA0LjY2NjY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gbWFwLXN1YnRleHQgdGV4dC1ncmF5LTgwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7c2VsZWN0ZWRTdG9yZT8uc3RvcmVUeXBlPy50eXBlID8gc2VsZWN0ZWRTdG9yZT8uc3RvcmVUeXBlPy50eXBlOictLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSB0ZXh0LWdyYXktNjAwIG14LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTg2NV8xNDY1MTYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjY2NSAxMS4yODAyVjEzLjI4MDJDMTQuNjY1NyAxMy40NjU5IDE0LjYyNzcgMTMuNjQ5NyAxNC41NTMzIDEzLjgxOThDMTQuNDc5IDEzLjk4OTkgMTQuMzY5OSAxNC4xNDI2IDE0LjIzMyAxNC4yNjgxQzE0LjA5NjIgMTQuMzkzNyAxMy45MzQ3IDE0LjQ4OTIgMTMuNzU4OCAxNC41NDg3QzEzLjU4MjkgMTQuNjA4MiAxMy4zOTY2IDE0LjYzMDMgMTMuMjExNyAxNC42MTM2QzExLjE2MDIgMTQuMzkwNyA5LjE4OTY2IDEzLjY4OTcgNy40NTgzMyAxMi41NjY5QzUuODQ3NTUgMTEuNTQzMyA0LjQ4MTg5IDEwLjE3NzcgMy40NTgzMyA4LjU2Njg5QzIuMzMxNjUgNi44Mjc3IDEuNjMwNDkgNC44NDc1NiAxLjQxMTY2IDIuNzg2ODlDMS4zOTUgMi42MDI1NCAxLjQxNjkxIDIuNDE2NzMgMS40NzU5OSAyLjI0MTMxQzEuNTM1MDggMi4wNjU4OSAxLjYzMDA0IDEuOTA0NjkgMS43NTQ4NCAxLjc2Nzk3QzEuODc5NjQgMS42MzEyNiAyLjAzMTUzIDEuNTIyMDMgMi4yMDA4NiAxLjQ0NzI0QzIuMzcwMTggMS4zNzI0NSAyLjU1MzIyIDEuMzMzNzQgMi43MzgzMyAxLjMzMzU2SDQuNzM4MzNDNS4wNjE4NyAxLjMzMDM4IDUuMzc1NTIgMS40NDQ5NSA1LjYyMDg0IDEuNjU1OTJDNS44NjYxNSAxLjg2Njg5IDYuMDI2MzggMi4xNTk4NiA2LjA3MTY2IDIuNDgwMjNDNi4xNTYwOCAzLjEyMDI3IDYuMzEyNjMgMy43NDg3MSA2LjUzODMzIDQuMzUzNTZDNi42MjgwMiA0LjU5MjE4IDYuNjQ3NDQgNC44NTE1IDYuNTk0MjcgNS4xMDA4MUM2LjU0MTEgNS4zNTAxMiA2LjQxNzU3IDUuNTc4OTcgNi4yMzgzMyA1Ljc2MDIzTDUuMzkxNjYgNi42MDY4OUM2LjM0MDcgOC4yNzU5MiA3LjcyMjYzIDkuNjU3ODYgOS4zOTE2NiAxMC42MDY5TDEwLjIzODMgOS43NjAyM0MxMC40MTk2IDkuNTgwOTkgMTAuNjQ4NCA5LjQ1NzQ2IDEwLjg5NzcgOS40MDQyOUMxMS4xNDcxIDkuMzUxMTIgMTEuNDA2NCA5LjM3MDUzIDExLjY0NSA5LjQ2MDIzQzEyLjI0OTggOS42ODU5MyAxMi44NzgzIDkuODQyNDggMTMuNTE4MyA5LjkyNjg5QzEzLjg0MjIgOS45NzI1OCAxNC4xMzc5IDEwLjEzNTcgMTQuMzQ5NCAxMC4zODUyQzE0LjU2MDggMTAuNjM0OCAxNC42NzMxIDEwLjk1MzMgMTQuNjY1IDExLjI4MDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE4NjVfMTQ2NTE2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIG1hcC1zdWJ0ZXh0IHRleHQtZ3JheS04MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3NlbGVjdGVkU3RvcmU/LnN0b3JlVHlwZT8ubmFtZSA/IHNlbGVjdGVkU3RvcmU/LnN0b3JlVHlwZT8ubmFtZTonLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC01IG15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIHRleHQtZ3JheS02MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTg2NV8xNDY1MjkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkgNC41VjlMMTIgMTAuNU0xNi41IDlDMTYuNSAxMy4xNDIxIDEzLjE0MjEgMTYuNSA5IDE2LjVDNC44NTc4NiAxNi41IDEuNSAxMy4xNDIxIDEuNSA5QzEuNSA0Ljg1Nzg2IDQuODU3ODYgMS41IDkgMS41QzEzLjE0MjEgMS41IDE2LjUgNC44NTc4NiAxNi41IDlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE4NjVfMTQ2NTI5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZ3JheS04MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2RhdGFTdG9yZU1hcD8uaG91cmx5RGF0YT8ub3BlblRpbWUgPyBkYXRhU3RvcmVNYXA/LmhvdXJseURhdGE/Lm9wZW5UaW1lOictLSd9fSAtIHt7ZGF0YVN0b3JlTWFwPy5ob3VybHlEYXRhPy5jbG9zZVRpbWUgPyBkYXRhU3RvcmVNYXA/LmhvdXJseURhdGE/LmNsb3NlVGltZTonLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIG15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJtYXAtYXZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2RhdGFTdG9yZU1hcD8uYXZnRGF0YT8uYXZnRm9vdGZhbGwgPyBkYXRhU3RvcmVNYXA/LmF2Z0RhdGE/LmF2Z0Zvb3RmYWxsOictLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIHRleHQtZ3JheS03MDAgbWFwLWF2Z3Rlc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF2ZyBGb290ZmFsbCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE4NjVfMTQ2NTM2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYgOFY2TTYgNEg2LjAwNU0xMSA2QzExIDguNzYxNDIgOC43NjE0MiAxMSA2IDExQzMuMjM4NTggMTEgMSA4Ljc2MTQyIDEgNkMxIDMuMjM4NTggMy4yMzg1OCAxIDYgMUM4Ljc2MTQyIDEgMTEgMy4yMzg1OCAxMSA2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE4NjVfMTQ2NTM2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwibWFwLWF2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkYXRhU3RvcmVNYXA/LmF2Z0RhdGE/LmF2Z1dlZWtkYXlGb290ZmFsbCA/IGRhdGFTdG9yZU1hcD8uYXZnRGF0YT8uYXZnV2Vla2RheUZvb3RmYWxsOictLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIHRleHQtZ3JheS03MDAgbWFwLWF2Z3Rlc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF2ZyBXZWVrZGF5IEZvb3RmYWxsIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE4NjVfMTQ2NTM2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYgOFY2TTYgNEg2LjAwNU0xMSA2QzExIDguNzYxNDIgOC43NjE0MiAxMSA2IDExQzMuMjM4NTggMTEgMSA4Ljc2MTQyIDEgNkMxIDMuMjM4NTggMy4yMzg1OCAxIDYgMUM4Ljc2MTQyIDEgMTEgMy4yMzg1OCAxMSA2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE4NjVfMTQ2NTM2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwibWFwLWF2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkYXRhU3RvcmVNYXA/LmF2Z0RhdGE/LmF2Z1dlZWtlbmRGb290ZmFsbCA/IGRhdGFTdG9yZU1hcD8uYXZnRGF0YT8uYXZnV2Vla2VuZEZvb3RmYWxsOictLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIHRleHQtZ3JheS03MDAgbWFwLWF2Z3Rlc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF2ZyBXZWVrZW5kIEZvb3RmYWxsIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE4NjVfMTQ2NTM2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTYgOFY2TTYgNEg2LjAwNU0xMSA2QzExIDguNzYxNDIgOC43NjE0MiAxMSA2IDExQzMuMjM4NTggMTEgMSA4Ljc2MTQyIDEgNkMxIDMuMjM4NTggMy4yMzg1OCAxIDYgMUM4Ljc2MTQyIDEgMTEgMy4yMzg1OCAxMSA2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk4QTJCM1wiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE4NjVfMTQ2NTM2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibXQtNSBjb2wtbGctMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeTEgdy0xMDAgcHgtMlwiPjxzcGFuIGNsYXNzPVwibXMtMlwiPlZpZXcgbW9yZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldGFpbHM8L3NwYW4+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwicm93IHB4LTMgbG9hZGVyIGNhcmQgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwibm9EYXRhXCIgY2xhc3M9XCJyb3cgcHgtM1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YS10YWJsZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtdGl0bGVcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIFN0b3JlIG1hcDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbG9yZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJhZmZpYy9zcmMvbGliL2NvbXBvbmVudHMvZXhwbG9yZS12aWV3L2V4cGxvcmUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYWZmaWMvc3JjL2xpYi9jb21wb25lbnRzL2V4cGxvcmUtdmlldy9leHBsb3JlLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHcEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDOzs7Ozs7QUFNdEMsTUFBTSxPQUFPLG9CQUFvQjtJQW9CYjtJQUFrQztJQUErQjtJQUErQjtJQUFzQjtJQW5CeEksVUFBVSxDQUFNO0lBQ2hCLFlBQVksQ0FBTTtJQUVsQixvQ0FBb0M7SUFDcEMsV0FBVyxHQUFVLEVBQUUsQ0FBQztJQUN4QixVQUFVLEdBQTJCO1FBQ25DLEtBQUssRUFBRSxhQUFhO1FBQ3BCLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtRQUMxQixJQUFJLEVBQUUsRUFBRTtLQUNULENBQUM7SUFDZSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNuQyxJQUFJLEdBQVksS0FBSyxDQUFDLENBQUUsdUNBQXVDO0lBQy9ELFFBQVEsR0FBVyxXQUFXLENBQUM7SUFDdEMsYUFBYSxDQUFNO0lBQ25CLE9BQU8sR0FBVSxJQUFJLENBQUM7SUFDdEIsTUFB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LEtBQUssQ0FBQyxnQ0FBZ0MsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQztxQ0FDYSxJQUFJLENBQUMsVUFBVTs7eUNBRVgsS0FBSyxDQUFDLFNBQVMsSUFBSSxZQUFZOzs7OztXQUs3RCxDQUFDLENBQUM7WUFDTCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUtELDRCQUE0QjtJQUM1QixnQ0FBZ0M7SUFDaEMscUJBQXFCO0lBQ3JCLGtGQUFrRjtJQUVsRixvQ0FBb0M7SUFDcEMsSUFBSTtJQUNKLFNBQVMsQ0FBQyxJQUFRO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFBO0lBQzdCLENBQUM7SUFDRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUMsY0FBYztRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFBO0lBQzNDLENBQUM7d0dBaFJVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLHdEQ1pqQyw0cm5CQStQTTs7NEZEblBPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhZmZpY1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFmZmljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UsIFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCAqIGFzIG1hcGJveGdsIGZyb20gJ21hcGJveC1nbCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWV4cGxvcmUtdmlldycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cGxvcmUtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2V4cGxvcmUtdmlldy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4cGxvcmVWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0ICB7XHJcbiAgaGVhZGVyRGF0YTogYW55O1xyXG4gIHN0b3JlSWRhcnJheTogYW55O1xyXG4gIFxyXG4gIC8vIG1hcDogZ29vZ2xlLm1hcHMuTWFwIHwgdW5kZWZpbmVkO1xyXG4gIGF1TG9jYXRpb25zOiBhbnlbXSA9IFtdO1xyXG4gIG1hcE9wdGlvbnM6IGdvb2dsZS5tYXBzLk1hcE9wdGlvbnMgPSB7XHJcbiAgICBtYXBJZDogXCJERU1PX01BUF9JRFwiLFxyXG4gICAgY2VudGVyOiB7IGxhdDogMCwgbG5nOiAwIH0sICAvLyBJbml0aWFsIGNlbnRlclxyXG4gICAgem9vbTogMTAsXHJcbiAgfTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgYXV0aDogYm9vbGVhbiA9IGZhbHNlOyAgLy8gU2V0IHRoaXMgYmFzZWQgb24geW91ciBpbml0aWFsIGxvZ2ljXHJcbiAgcHVibGljIHNldENsYXNzOiBzdHJpbmcgPSAnY29sLW1kLTEyJztcclxuICBzZWxlY3RlZFN0b3JlOiBhbnk7XHJcbiAgbG9hZGluZzpib29sZWFuID10cnVlO1xyXG4gIG5vRGF0YTogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgZGF0YUltYWdlczogYW55O1xyXG4gIGRhdGFTdG9yZU1hcDogYW55O1xyXG4gIG5ld0RhdGFTdG9yZU1hcDogYW55O1xyXG5jb25zdHJ1Y3Rvcihwcml2YXRlIHBhZ2VJbmZvOlBhZ2VJbmZvU2VydmljZSwgcHJpdmF0ZSBzZXJ2aWNlOiBUcmFmZmljU2VydmljZSxwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxwcml2YXRlIHJvdXRlcjpSb3V0ZXIscHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpe1xyXG5cclxufVxyXG5zZXRQYWdlRGF0YSgpe1xyXG4gIHRoaXMucGFnZUluZm8uc2V0VGl0bGUoJ0V4cGxvcmUnKVxyXG4gIHRoaXMucGFnZUluZm8uc2V0RGVzY3JpcHRpb24oJ1RvIG9wdGltaXplIGFuZCBpbXByb3ZlIGV4aXN0aW5nIGFsZ29yaXRobScpXHJcbiAgdGhpcy5wYWdlSW5mby5zZXRCcmVhZGNydW1icyhbXHJcbiAge3RpdGxlOidBbmFseXplJywgcGF0aDogJy9tYW5hZ2UvdHJhZmZpYycsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IGZhbHNlfSxcclxuICB7dGl0bGU6J0FuYWx5emUnLCBwYXRoOiAnL21hbmFnZS90cmFmZmljJywgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZX0sXHJcbiAge3RpdGxlOidUcmFmZmljJywgcGF0aDogJy9tYW5hZ2UvdHJhZmZpYycsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IGZhbHNlfSxcclxuICB7dGl0bGU6J1RyYWZmaWMnLCBwYXRoOiAnL21hbmFnZS90cmFmZmljJywgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZX0sXHJcbiAgXSlcclxufVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gICBcclxuICAgIChtYXBib3hnbCBhcyBhbnkpLmFjY2Vzc1Rva2VuID0gJ3BrLmV5SjFJam9pWW1Gc1lXcHBkR0Z1WjI4aUxDSmhJam9pWTIwd1oyeGllbTU1TURGeFlUSjNiMjF6YjNGak5IZHdheUo5Lm5uSUl6dDdPZVlsWUh1ZkdFOGxGV1EnO1xyXG5cclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWVcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMzAwKSlcclxuICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgLy8gT25seSBwcm9jZXNzIHRoZSBsYXRlc3QgZGF0YSBhZnRlciBkZWJvdW5jZSB0aW1lXHJcbiAgICAgICAgdGhpcy5oZWFkZXJEYXRhID0gZGF0YTtcclxuICAgICAgICB0aGlzLnN0b3JlSWRhcnJheSA9IHRoaXMuaGVhZGVyRGF0YT8uc3RvcmVzLmZpbHRlcigoc3RvcmU6YW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOmFueSkgPT4gc3RvcmUuc3RvcmVJZClcclxuICAgICAgIFxyXG4gICAgICAgIHRoaXMuZ2V0TWFwKCk7XHJcbiAgICAgIH0pXHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuICBtYXA6IG1hcGJveGdsLk1hcDtcclxuXHJcbiAgZ2V0TWFwKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID10cnVlO1xyXG4gICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAgICAgc3RvcmVEYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWRhcnJheVxyXG4gICAgfTtcclxuICBcclxuICAgIHRoaXMuc2VydmljZS5nZU1hcHMob2JqKT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuZGF0YSAmJiByZXMuZGF0YS5zdG9yZURhdGEpIHtcclxuICAgICAgICAgICAgdGhpcy5hdUxvY2F0aW9ucyA9IHJlcy5kYXRhLnN0b3JlRGF0YTtcclxuICAgICAgICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hdUxvY2F0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZmlyc3RMb2NhdGlvbiA9IHRoaXMuYXVMb2NhdGlvbnNbMF07XHJcbiAgICAgICAgICAgICAgaWYgKGZpcnN0TG9jYXRpb24gJiYgdHlwZW9mIGZpcnN0TG9jYXRpb24ubGF0ID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgZmlyc3RMb2NhdGlvbi5sbmcgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hcE9wdGlvbnMgPSB7XHJcbiAgICAgICAgICAgICAgICAgIC4uLnRoaXMubWFwT3B0aW9ucyxcclxuICAgICAgICAgICAgICAgICAgY2VudGVyOiB7IGxhdDogZmlyc3RMb2NhdGlvbi5sYXQsIGxuZzogZmlyc3RMb2NhdGlvbi5sbmcgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9ZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9dHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPWZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEgPXRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBtYXBDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFwMScpO1xyXG4gICAgICBpZiAoIW1hcENvbnRhaW5lcikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgaWYgKHRoaXMuYXVMb2NhdGlvbnMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICBcclxuICAgIGNvbnN0IGdlb2pzb24gPSB7XHJcbiAgICAgICd0eXBlJzogJ0ZlYXR1cmVDb2xsZWN0aW9uJyxcclxuICAgICAgJ2ZlYXR1cmVzJzogdGhpcy5hdUxvY2F0aW9ucy5tYXAoKHN0b3JlLCBpbmRleCkgPT4gKHtcclxuICAgICAgICAndHlwZSc6ICdGZWF0dXJlJyxcclxuICAgICAgICAncHJvcGVydGllcyc6IHtcclxuICAgICAgICAgICdzdG9yZU5hbWUnOiBzdG9yZS5zdG9yZU5hbWUsXHJcbiAgICAgICAgICAnaW1hZ2VJZCc6IDEwMTEgKyBpbmRleCxcclxuICAgICAgICAgICdpY29uU2l6ZSc6IFs2MCwgNjBdLFxyXG4gICAgICAgICAgJ2Zvb3RmYWxsJzogc3RvcmUuYXZnRm9vdGZhbGwsXHJcbiAgICAgICAgICAnb3BlblRpbWUnOiBzdG9yZS5vcGVuVGltZSxcclxuICAgICAgICAgICdjbG9zZVRpbWUnOiBzdG9yZS5jbG9zZVRpbWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAnZ2VvbWV0cnknOiB7XHJcbiAgICAgICAgICAndHlwZSc6ICdQb2ludCcsXHJcbiAgICAgICAgICAnY29vcmRpbmF0ZXMnOiBbc3RvcmUubG5nLCBzdG9yZS5sYXRdXHJcbiAgICAgICAgfVxyXG4gICAgICB9KSlcclxuICAgIH07XHJcbiAgXHJcbiAgICBjb25zdCBmaXJzdExvY2F0aW9uID0gdGhpcy5hdUxvY2F0aW9uc1swXTtcclxuICAgIHRoaXMubWFwID0gbmV3IG1hcGJveGdsLk1hcCh7XHJcbiAgICAgIGNvbnRhaW5lcjogJ21hcDEnLFxyXG4gICAgICBzdHlsZTogJ21hcGJveDovL3N0eWxlcy9tYXBib3gvc3RyZWV0cy12MTInLFxyXG4gICAgICBjZW50ZXI6IFtmaXJzdExvY2F0aW9uLmxuZywgZmlyc3RMb2NhdGlvbi5sYXRdLCAvLyBDZW50ZXIgbWFwIG9uIHRoZSBmaXJzdCBsb2NhdGlvblxyXG4gICAgICB6b29tOiAxMCwgLy8gQWRqdXN0IHRoaXMgdmFsdWUgKDEgPSB3b3JsZCB2aWV3LCAyMCA9IGJ1aWxkaW5nIHZpZXcpXHJcbiAgICAgIG1heFpvb206IDIwLCAvLyBPcHRpb25hbDogTGltaXQgbWF4IHpvb20gbGV2ZWxcclxuICAgICAgbWluWm9vbTogMSAgIC8vIE9wdGlvbmFsOiBMaW1pdCBtaW4gem9vbSBsZXZlbFxyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyB0aGlzLm1hcCA9IG5ldyBtYXBib3hnbC5NYXAoe1xyXG4gICAgLy8gICBjb250YWluZXI6ICdtYXAxJyxcclxuICAgIC8vICAgc3R5bGU6ICdtYXBib3g6Ly9zdHlsZXMvbWFwYm94L3N0cmVldHMtdjEyJyxcclxuICAgIC8vICAgY2VudGVyOiBbZmlyc3RMb2NhdGlvbi5sbmcsIGZpcnN0TG9jYXRpb24ubGF0XSxcclxuICAgIC8vICAgem9vbTogNFxyXG4gICAgLy8gfSk7XHJcbiAgXHJcbiAgICBnZW9qc29uLmZlYXR1cmVzLmZvckVhY2goKGZlYXR1cmUsIGZlYXR1cmVJbmRleCkgPT4ge1xyXG4gICAgICBjb25zdCB7IHByb3BlcnRpZXMsIGdlb21ldHJ5IH0gPSBmZWF0dXJlO1xyXG4gICAgICBjb25zdCBzdG9yZSA9IHRoaXMuYXVMb2NhdGlvbnNbZmVhdHVyZUluZGV4XTtcclxuICBcclxuICAgICAgY29uc3QgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgY29uc3Qgd2lkdGggPSBwcm9wZXJ0aWVzLmljb25TaXplWzBdO1xyXG4gICAgICBjb25zdCBoZWlnaHQgPSBwcm9wZXJ0aWVzLmljb25TaXplWzFdO1xyXG4gICAgICBlbC5jbGFzc05hbWUgPSAnbWFya2VyJztcclxuICAgICAgZWwuaW5uZXJIVE1MID0gYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXJrZXItaWNvblwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IHdpZHRoOiA2NXB4OyBoZWlnaHQ6IDcwcHg7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyO1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmtlci1jb250ZW50XCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyO1wiPlxyXG4gICAgICAgICAgICA8c3ZnIGNsYXNzPVwibWItMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEzXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEzIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEuMzM2NTQgMy4zNjM3TDEuMjk2NTggMy40MjYxMUMwLjg3NzY5OCA0LjE2NzAxIDEuMzI0OTMgNS4xMDMzNSAyLjEyOTMxIDUuMjEwNzZDMi4yMDIxOCA1LjIxOTY3IDIuMjY5OTkgNS4yMjQzOCAyLjMzNjI1IDUuMjI0MzhDMi43NzAyMSA1LjIyNDM4IDMuMTUzOSA1LjAzODIxIDMuNDIxMzIgNC43NDc5M0wzLjgzNjY2IDQuMjk3MUw0LjI1MDU5IDQuNzQ5MjNDNC41MTQ3NiA1LjAzNzc4IDQuODk3NTggNS4yMjQzOCA1LjMzNDQ4IDUuMjI0MzhDNS43Njk0MSA1LjIyNDM4IDYuMTU0NDMgNS4wMzc1MiA2LjQxODM3IDQuNzQ5MjNMNi44MzM1OSA0LjI5NTY4TDcuMjQ4ODIgNC43NDkyM0M3LjUxMjc1IDUuMDM3NTIgNy44OTc3NyA1LjIyNDM4IDguMzMyNzEgNS4yMjQzOEM4Ljc2NzY0IDUuMjI0MzggOS4xNTI2NiA1LjAzNzUyIDkuNDE2NiA0Ljc0OTIzTDkuODMxODIgNC4yOTU2OEwxMC4yNDcgNC43NDkyM0MxMC41MTEgNS4wMzc1MiAxMC44OTYgNS4yMjQzOCAxMS4zMzA5IDUuMjI0MzhDMTEuMzk1IDUuMjI0MzggMTEuNDY0OSA1LjIxOTY2IDExLjUzNzIgNS4yMTA4M0MxMi4zNTkzIDUuMDk4NzUgMTIuODA4IDQuMTEyMjUgMTIuMzI4NiAzLjM2NDA4QzEyLjMyODYgMy4zNjQwMyAxMi4zMjg1IDMuMzYzOTkgMTIuMzI4NSAzLjM2Mzk1TDExLjAwODggMS4zMDYyMUwxMS4wMDgxIDEuMzA1MTFDMTAuOTk2NyAxLjI4NzIyIDEwLjk2ODYgMS4yNjgwNCAxMC45MzMyIDEuMjY4MDRIMi43Mjk0MkMyLjY5NDAzIDEuMjY4MDQgMi42NjU4OSAxLjI4NzIyIDIuNjU0NDggMS4zMDUxMUwyLjY1NDAxIDEuMzA1ODRMMS4zMzY1NCAzLjM2MzdaTTExLjA3MzEgNy4wNjY2N1Y5LjQxNzUzVjkuOTgwNDlIMTAuNTEwMUgzLjE1MjQ4SDIuNTg5NTJWOS40MTc1M1Y3LjA2NzAyQzIuNTA2NzggNy4wNzMxOCAyLjQyMzA4IDcuMDc2MzQgMi4zMzg1NSA3LjA3NjM0QzIuMzA2NzkgNy4wNzYzNCAyLjI3NTI1IDcuMDc1ODcgMi4yNDM5MiA3LjA3NDk1VjkuNDE3NTNWMTAuODY5NkMyLjI0MzkyIDExLjM1MjYgMi42NDQ2NyAxMS43NTg3IDMuMTUyNDggMTEuNzU4N0gxMC41MTAxQzExLjAxNzkgMTEuNzU4NyAxMS40MTg3IDExLjM1MjYgMTEuNDE4NyAxMC44Njk2VjkuNDE3NTNWNy4wNzUwOUMxMS4zODg4IDcuMDc1OTEgMTEuMzU4NyA3LjA3NjM0IDExLjMyODYgNy4wNzYzNEMxMS4yNDI4IDcuMDc2MzQgMTEuMTU3NSA3LjA3MzA4IDExLjA3MzEgNy4wNjY2N1pcIiBzdHJva2U9XCIjMTAxODI4XCIgc3Ryb2tlLXdpZHRoPVwiMS4xMjU5MlwiLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFya2VyLWxhYmVsXCIgc3R5bGU9XCJjb2xvcjogdmFyKC0tR3JheS03MDAsICMzNDQwNTQpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtZmFtaWx5OiBJbnRlcjsgZm9udC1zaXplOiA5LjAwN3B4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA2MDA7IGxpbmUtaGVpZ2h0OiAxM3B4O1wiPlxyXG4gICAgICAgICAgICAgICR7cHJvcGVydGllcy5zdG9yZU5hbWV9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIGA7XHJcbiAgICAgIGVsLnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgO1xyXG4gICAgICBlbC5zdHlsZS5oZWlnaHQgPSBgJHtoZWlnaHR9cHhgO1xyXG4gICAgICBlbC5zdHlsZS5iYWNrZ3JvdW5kU2l6ZSA9ICcxMDAlJztcclxuICBcclxuICAgICAgLy8gQ3JlYXRlIGFuIGVtcHR5IHBvcHVwIGluaXRpYWxseVxyXG4gICAgICBjb25zdCBwb3B1cCA9IG5ldyBtYXBib3hnbC5Qb3B1cCh7IG9mZnNldDogMjUgfSlcclxuICAgICAgICAuc2V0SFRNTCgnPGRpdj5Mb2FkaW5nLi4uPC9kaXY+Jyk7XHJcbiAgXHJcbiAgICAgIC8vIENyZWF0ZSBtYXJrZXIgd2l0aCB0aGUgcG9wdXBcclxuICAgICAgY29uc3QgbWFya2VyID0gbmV3IG1hcGJveGdsLk1hcmtlcihlbClcclxuICAgICAgICAuc2V0TG5nTGF0KFtnZW9tZXRyeS5jb29yZGluYXRlc1swXSwgZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMV1dKVxyXG4gICAgICAgIC5zZXRQb3B1cChwb3B1cClcclxuICAgICAgICAuYWRkVG8odGhpcy5tYXApO1xyXG4gIFxyXG4gICAgICAvLyBIYW5kbGUgY2xpY2sgZXZlbnRzXHJcbiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuYWRqdXN0TGF5b3V0KHN0b3JlLCBtYXJrZXIsIHBvcHVwKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9LDApXHJcbiAgfVxyXG4gIFxyXG4gIGFkanVzdExheW91dChzdG9yZTogYW55LCBtYXJrZXI6IG1hcGJveGdsLk1hcmtlciwgcG9wdXA6IG1hcGJveGdsLlBvcHVwKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkU3RvcmUgPSBzdG9yZTtcclxuICAgIHRoaXMuYXV0aCA9IHRydWU7XHJcbiAgICB0aGlzLnNldENsYXNzID0gJ2NvbC1tZC05JztcclxuICBcclxuICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YS5jbGllbnQsXHJcbiAgICAgIHN0b3JlRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgICAgc3RvcmVJZDogW3N0b3JlPy5zdG9yZUlkXVxyXG4gICAgfTtcclxuICBcclxuICAgIHRoaXMuc2VydmljZS5nZXRTdG9yZU1hcERhdGEob2JqKT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2cocmVzKTtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhU3RvcmVNYXAgPSByZXM/LmRhdGE7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YUltYWdlcyA9IHJlcz8uZGF0YT8uY2FtZXJhQmFzZUltYWdlIHx8ICdhc3NldHMvdGFuZ28vSW1hZ2UvYmFzZWltZy5wbmcnO1xyXG4gIFxyXG4gICAgICAgICAgICAvLyBVcGRhdGUgdGhlIHBvcHVwIGNvbnRlbnRcclxuICAgICAgICAgICAgcG9wdXAuc2V0SFRNTChgXHJcbiAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwXCIgc3JjPVwiJHt0aGlzLmRhdGFJbWFnZXN9XCIgb25lcnJvcj1cInRoaXMub25lcnJvcj1udWxsOyB0aGlzLnNyYz0nYXNzZXRzL3RhbmdvL0ltYWdlL2Jhc2VpbWcucG5nJztcIiBhbHQ9XCJTdG9yZSBJbWFnZVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kOiB2YXIoLS1ncmFkaWVudC1wcmltYXJ5LTgwMDcwMDI2NS1kZWcsIGxpbmVhci1ncmFkaWVudCgyN2RlZywgIzAwODJDQyA4LjMzJSwgIzAwOTNFNiA5MS42NyUpKTtjb2xvcjp3aGl0ZTsgcGFkZGluZzogMTBweDsgYm9yZGVyLXJhZGl1czogMTZweDtcIj5cclxuICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cInRleHQtd2hpdGVcIj4ke3N0b3JlLnN0b3JlTmFtZSB8fCAnU3RvcmUgTmFtZSd9PC9oND5cclxuICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cInRleHQtd2hpdGVcIj5BdmVyYWdlIEZvb3RmYWxsOiAke3RoaXMuZGF0YVN0b3JlTWFwPy5ob3VybHlEYXRhPy5ob3VybHlGb290ZmFsbCB8fCAnLS0nfTwvaDY+XHJcbiAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJ0ZXh0LXdoaXRlXCI+T3BlbiBUaW1lOiAke3RoaXMuZGF0YVN0b3JlTWFwPy5ob3VybHlEYXRhPy5vcGVuVGltZSB8fCAnLS0nfTwvaDY+XHJcbiAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJ0ZXh0LXdoaXRlXCI+Q2xvc2UgVGltZTogJHt0aGlzLmRhdGFTdG9yZU1hcD8uaG91cmx5RGF0YT8uY2xvc2VUaW1lIHx8ICctLSd9PC9oNj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgYCk7XHJcbiAgXHJcbiAgICAgICAgICAgIC8vIEVuc3VyZSB0aGUgcG9wdXAgaXMgYWRkZWQgdG8gdGhlIG1hcCBhbmQgcG9zaXRpb25lZCBjb3JyZWN0bHlcclxuICAgICAgICAgICAgbWFya2VyLnNldFBvcHVwKHBvcHVwKTsgLy8gQXR0YWNoIHRoZSBwb3B1cCB0byB0aGUgbWFya2VyXHJcbiAgICAgICAgICAgIGlmICghcG9wdXAuaXNPcGVuKCkpIHtcclxuICAgICAgICAgICAgICBwb3B1cC5hZGRUbyh0aGlzLm1hcCk7IC8vIEFkZCBwb3B1cCB0byB0aGUgbWFwXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YUltYWdlcyA9ICdhc3NldHMvdGFuZ28vSW1hZ2UvYmFzZWltZy5wbmcnO1xyXG4gICAgICAgICAgICBwb3B1cC5zZXRIVE1MKGBcclxuICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy0xMDBcIiBzcmM9XCIke3RoaXMuZGF0YUltYWdlc31cIiBvbmVycm9yPVwidGhpcy5vbmVycm9yPW51bGw7IHRoaXMuc3JjPSdhc3NldHMvdGFuZ28vSW1hZ2UvYmFzZWltZy5wbmcnO1wiIGFsdD1cIlN0b3JlIEltYWdlXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQ6IHZhcigtLWdyYWRpZW50LXByaW1hcnktODAwNzAwMjY1LWRlZywgbGluZWFyLWdyYWRpZW50KDI3ZGVnLCAjMDA4MkNDIDguMzMlLCAjMDA5M0U2IDkxLjY3JSkpO2NvbG9yOndoaXRlOyBwYWRkaW5nOiAxMHB4OyBib3JkZXItcmFkaXVzOiAxNnB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwidGV4dC13aGl0ZVwiPiR7c3RvcmUuc3RvcmVOYW1lIHx8ICdTdG9yZSBOYW1lJ308L2g0PlxyXG4gICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwidGV4dC13aGl0ZVwiPkF2ZXJhZ2UgRm9vdGZhbGw6IC0tPC9oNj5cclxuICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cInRleHQtd2hpdGVcIj5PcGVuIFRpbWU6IC0tPC9oNj5cclxuICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cInRleHQtd2hpdGVcIj5DbG9zZSBUaW1lOiAtLTwvaDY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIGApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIHN0b3JlIG1hcCBkYXRhOicsIGVycik7XHJcbiAgICAgICAgICBwb3B1cC5zZXRIVE1MKGBcclxuICAgICAgICAgICA8aW1nIGNsYXNzPVwidy0xMDBcIiBzcmM9XCIke3RoaXMuZGF0YUltYWdlc31cIiBvbmVycm9yPVwidGhpcy5vbmVycm9yPW51bGw7IHRoaXMuc3JjPSdhc3NldHMvdGFuZ28vSW1hZ2UvYmFzZWltZy5wbmcnO1wiIGFsdD1cIlN0b3JlIEltYWdlXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQ6IHZhcigtLWdyYWRpZW50LXByaW1hcnktODAwNzAwMjY1LWRlZywgbGluZWFyLWdyYWRpZW50KDI3ZGVnLCAjMDA4MkNDIDguMzMlLCAjMDA5M0U2IDkxLjY3JSkpO2NvbG9yOndoaXRlOyBwYWRkaW5nOiAxMHB4OyBib3JkZXItcmFkaXVzOiAxNnB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwidGV4dC13aGl0ZVwiPiR7c3RvcmUuc3RvcmVOYW1lIHx8ICdTdG9yZSBOYW1lJ308L2g0PlxyXG4gICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwidGV4dC13aGl0ZVwiPkF2ZXJhZ2UgRm9vdGZhbGw6IC0tPC9oNj5cclxuICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cInRleHQtd2hpdGVcIj5PcGVuIFRpbWU6IC0tPC9oNj5cclxuICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cInRleHQtd2hpdGVcIj5DbG9zZSBUaW1lOiAtLTwvaDY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBcclxuICBcclxuICBcclxuICBcclxuICAvLyBhZGp1c3RMYXlvdXQoc3RvcmU6YW55KSB7XHJcbiAgLy8gICB0aGlzLnNlbGVjdGVkU3RvcmUgPSBzdG9yZTtcclxuICAvLyAgIHRoaXMuYXV0aCA9dHJ1ZTtcclxuICAvLyAgIHRoaXMuc2V0Q2xhc3MgPSAnY29sLW1kLTknOyAvLyBBZGp1c3QgdGhlIGxheW91dCB0byA4IGNvbHVtbnMgb24gbWFya2VyIGNsaWNrXHJcbiAgIFxyXG4gIC8vICAgLy8gdGhpcy5uZXdEYXRhU3RvcmVNYXAgPSBkYXRhO1xyXG4gIC8vIH1cclxuICBkYXRhVmFsdWUoZGF0YTphbnkpe1xyXG4gICAgdGhpcy5uZXdEYXRhU3RvcmVNYXAgPSBkYXRhXHJcbiAgfVxyXG4gIHRvZ2dsZUF1dGgoKSB7XHJcbiAgICB0aGlzLmF1dGggPSAhdGhpcy5hdXRoO1xyXG4gICAgdGhpcy5zZXRDbGFzcyA9IHRoaXMuYXV0aCA/ICdjb2wtbWQtOScgOiAnY29sLW1kLTEyJztcclxuICB9XHJcblxyXG4gICAgYmFja1RvRm9vdGZhbGwoKXtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL21hbmFnZS90cmFmZmljJ10pXHJcbiAgfVxyXG5cclxuICAvLyBvbk1hcmtlckNsaWNrKGxvY2F0aW9uOiBhbnkpIHtcclxuICAvLyAgIGNvbnNvbGUubG9nKCdNYXJrZXIgY2xpY2tlZDonLCBsb2NhdGlvbik7XHJcbiAgLy8gICAvLyBQZXJmb3JtIGFjdGlvbnMgYmFzZWQgb24gdGhlIGNsaWNrZWQgbG9jYXRpb25cclxuICAvLyB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIiFub0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJzZXRDbGFzc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHB4LTIgcHktM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiYmFja1RvRm9vdGZhbGwoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzI1ODVfNzAzNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIxXCIgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgcng9XCI4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiMzVcIiBoZWlnaHQ9XCIzNVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yNS44MzI3IDE5SDE0LjE2Nk0xNC4xNjYgMTlMMTkuOTk5MyAyNC44MzM0TTE0LjE2NiAxOUwxOS45OTkzIDEzLjE2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzI1ODVfNzAzNlwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzI1ODVfNzAzNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfMjU4NV83MDM2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHAtMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cIm1hcDFcIiBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMHZoO1wiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJhdXRoXCIgY2xhc3M9XCJjb2wtbWQtM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHB4LTUgaC0xMDAgcHktMyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICA8aW1nIChjbGljayk9XCJ0b2dnbGVBdXRoKClcIiBjbGFzcz1cImxlZnRJY29uIHBvc2l0aW9uLWFic29sdXRlIGxlZnQtMCBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJhc3NldHMvdGFuZ28vSW1hZ2UvbGVmdEljb24uc3ZnXCI+XHJcbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJkYXRhSW1hZ2VzICE9PSBudWxsXCIgY2xhc3M9XCJ3LTEwMFwiIFtzcmNdPVwiZGF0YUltYWdlc1wiIChlcnJvcik9XCJkYXRhSW1hZ2VzID0gbnVsbFwiIFthbHRdPVwiZGF0YUltYWdlcyA/ICdJbWFnZScgOiAnRXJyb3IgSW1hZ2UnXCI+XHJcbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJkYXRhSW1hZ2VzID09PSBudWxsXCIgY2xhc3M9XCJ3LTEwMFwiIHNyYz1cImFzc2V0cy90YW5nby9JbWFnZS9iYXNlaW1nLnBuZ1wiIGFsdD1cIkltYWdlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBtdC0zIHB4LTAgYm9yZGVyLTAgbWluLWgtMTBweFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbFwiPnt7c2VsZWN0ZWRTdG9yZS5zdG9yZU5hbWUgPz8gJy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgbXQtMVwiPkFwcCBJRCA6IHt7c2VsZWN0ZWRTdG9yZS5hcHBJZCA/PyAnLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB0LTAgcHgtMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWFwLXN1YnRleHRcIj57e3NlbGVjdGVkU3RvcmU/LnN0b3JlUHJvZmlsZT8uYWRkcmVzcyA/IHNlbGVjdGVkU3RvcmU/LnN0b3JlUHJvZmlsZT8uYWRkcmVzczonLS0nfX0ge3tzZWxlY3RlZFN0b3JlPy5zdG9yZVByb2ZpbGU/LmNvdW50cnkgPyBzZWxlY3RlZFN0b3JlPy5zdG9yZVByb2ZpbGU/LmNvdW50cnk6Jy0tJ319IHt7c2VsZWN0ZWRTdG9yZT8uc3RvcmVQcm9maWxlPy5waW5jb2RlID8gc2VsZWN0ZWRTdG9yZT8uc3RvcmVQcm9maWxlPy5waW5jb2RlOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTUgbXQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gdGV4dC1ncmF5LTYwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzQ2IDE0VjEyLjY2NjdDMTMuMzM0NiAxMS45NTk0IDEzLjA1MzcgMTEuMjgxMSAxMi41NTM2IDEwLjc4MUMxMi4wNTM1IDEwLjI4MSAxMS4zNzUyIDEwIDEwLjY2OCAxMEg1LjMzNDY0QzQuNjI3MzkgMTAgMy45NDkxMSAxMC4yODEgMy40NDkwMiAxMC43ODFDMi45NDg5MiAxMS4yODExIDIuNjY3OTcgMTEuOTU5NCAyLjY2Nzk3IDEyLjY2NjdWMTRNMTAuNjY4IDQuNjY2NjdDMTAuNjY4IDYuMTM5NDMgOS40NzQwNiA3LjMzMzMzIDguMDAxMyA3LjMzMzMzQzYuNTI4NTQgNy4zMzMzMyA1LjMzNDY0IDYuMTM5NDMgNS4zMzQ2NCA0LjY2NjY3QzUuMzM0NjQgMy4xOTM5MSA2LjUyODU0IDIgOC4wMDEzIDJDOS40NzQwNiAyIDEwLjY2OCAzLjE5MzkxIDEwLjY2OCA0LjY2NjY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gbWFwLXN1YnRleHQgdGV4dC1ncmF5LTgwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7c2VsZWN0ZWRTdG9yZT8uc3BvY0RldGFpbHM/Lm5hbWUgP3NlbGVjdGVkU3RvcmU/LnNwb2NEZXRhaWxzPy5uYW1lOictLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSB0ZXh0LWdyYXktNjAwIG14LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTg2NV8xNDY1MTYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjY2NSAxMS4yODAyVjEzLjI4MDJDMTQuNjY1NyAxMy40NjU5IDE0LjYyNzcgMTMuNjQ5NyAxNC41NTMzIDEzLjgxOThDMTQuNDc5IDEzLjk4OTkgMTQuMzY5OSAxNC4xNDI2IDE0LjIzMyAxNC4yNjgxQzE0LjA5NjIgMTQuMzkzNyAxMy45MzQ3IDE0LjQ4OTIgMTMuNzU4OCAxNC41NDg3QzEzLjU4MjkgMTQuNjA4MiAxMy4zOTY2IDE0LjYzMDMgMTMuMjExNyAxNC42MTM2QzExLjE2MDIgMTQuMzkwNyA5LjE4OTY2IDEzLjY4OTcgNy40NTgzMyAxMi41NjY5QzUuODQ3NTUgMTEuNTQzMyA0LjQ4MTg5IDEwLjE3NzcgMy40NTgzMyA4LjU2Njg5QzIuMzMxNjUgNi44Mjc3IDEuNjMwNDkgNC44NDc1NiAxLjQxMTY2IDIuNzg2ODlDMS4zOTUgMi42MDI1NCAxLjQxNjkxIDIuNDE2NzMgMS40NzU5OSAyLjI0MTMxQzEuNTM1MDggMi4wNjU4OSAxLjYzMDA0IDEuOTA0NjkgMS43NTQ4NCAxLjc2Nzk3QzEuODc5NjQgMS42MzEyNiAyLjAzMTUzIDEuNTIyMDMgMi4yMDA4NiAxLjQ0NzI0QzIuMzcwMTggMS4zNzI0NSAyLjU1MzIyIDEuMzMzNzQgMi43MzgzMyAxLjMzMzU2SDQuNzM4MzNDNS4wNjE4NyAxLjMzMDM4IDUuMzc1NTIgMS40NDQ5NSA1LjYyMDg0IDEuNjU1OTJDNS44NjYxNSAxLjg2Njg5IDYuMDI2MzggMi4xNTk4NiA2LjA3MTY2IDIuNDgwMjNDNi4xNTYwOCAzLjEyMDI3IDYuMzEyNjMgMy43NDg3MSA2LjUzODMzIDQuMzUzNTZDNi42MjgwMiA0LjU5MjE4IDYuNjQ3NDQgNC44NTE1IDYuNTk0MjcgNS4xMDA4MUM2LjU0MTEgNS4zNTAxMiA2LjQxNzU3IDUuNTc4OTcgNi4yMzgzMyA1Ljc2MDIzTDUuMzkxNjYgNi42MDY4OUM2LjM0MDcgOC4yNzU5MiA3LjcyMjYzIDkuNjU3ODYgOS4zOTE2NiAxMC42MDY5TDEwLjIzODMgOS43NjAyM0MxMC40MTk2IDkuNTgwOTkgMTAuNjQ4NCA5LjQ1NzQ2IDEwLjg5NzcgOS40MDQyOUMxMS4xNDcxIDkuMzUxMTIgMTEuNDA2NCA5LjM3MDUzIDExLjY0NSA5LjQ2MDIzQzEyLjI0OTggOS42ODU5MyAxMi44NzgzIDkuODQyNDggMTMuNTE4MyA5LjkyNjg5QzEzLjg0MjIgOS45NzI1OCAxNC4xMzc5IDEwLjEzNTcgMTQuMzQ5NCAxMC4zODUyQzE0LjU2MDggMTAuNjM0OCAxNC42NzMxIDEwLjk1MzMgMTQuNjY1IDExLjI4MDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzE4NjVfMTQ2NTE2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIG1hcC1zdWJ0ZXh0IHRleHQtZ3JheS04MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3NlbGVjdGVkU3RvcmU/LnNwb2NEZXRhaWxzPy5jb250YWN0ID9zZWxlY3RlZFN0b3JlPy5zcG9jRGV0YWlscz8uY29udGFjdDonLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSB0ZXh0LWdyYXktNjAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE0LjY2NTQgMy45OTk4NEMxNC42NjU0IDMuMjY2NSAxNC4wNjU0IDIuNjY2NSAxMy4zMzIgMi42NjY1SDIuNjY1MzZDMS45MzIwMyAyLjY2NjUgMS4zMzIwMyAzLjI2NjUgMS4zMzIwMyAzLjk5OTg0TTE0LjY2NTQgMy45OTk4NFYxMS45OTk4QzE0LjY2NTQgMTIuNzMzMiAxNC4wNjU0IDEzLjMzMzIgMTMuMzMyIDEzLjMzMzJIMi42NjUzNkMxLjkzMjAzIDEzLjMzMzIgMS4zMzIwMyAxMi43MzMyIDEuMzMyMDMgMTEuOTk5OFYzLjk5OTg0TTE0LjY2NTQgMy45OTk4NEw3Ljk5ODcgOC42NjY1TDEuMzMyMDMgMy45OTk4NFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gbWFwLXN1YnRleHQgdGV4dC1ncmF5LTgwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7c2VsZWN0ZWRTdG9yZT8uc3BvY0RldGFpbHM/LmVtYWlsID8gc2VsZWN0ZWRTdG9yZT8uc3BvY0RldGFpbHM/LmVtYWlsOictLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC01IG15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIHRleHQtZ3JheS02MDAgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzNDYgMTRWMTIuNjY2N0MxMy4zMzQ2IDExLjk1OTQgMTMuMDUzNyAxMS4yODExIDEyLjU1MzYgMTAuNzgxQzEyLjA1MzUgMTAuMjgxIDExLjM3NTIgMTAgMTAuNjY4IDEwSDUuMzM0NjRDNC42MjczOSAxMCAzLjk0OTExIDEwLjI4MSAzLjQ0OTAyIDEwLjc4MUMyLjk0ODkyIDExLjI4MTEgMi42Njc5NyAxMS45NTk0IDIuNjY3OTcgMTIuNjY2N1YxNE0xMC42NjggNC42NjY2N0MxMC42NjggNi4xMzk0MyA5LjQ3NDA2IDcuMzMzMzMgOC4wMDEzIDcuMzMzMzNDNi41Mjg1NCA3LjMzMzMzIDUuMzM0NjQgNi4xMzk0MyA1LjMzNDY0IDQuNjY2NjdDNS4zMzQ2NCAzLjE5MzkxIDYuNTI4NTQgMiA4LjAwMTMgMkM5LjQ3NDA2IDIgMTAuNjY4IDMuMTkzOTEgMTAuNjY4IDQuNjY2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSBmb250LW1lZGl1bSBtYXAtc3VidGV4dCB0ZXh0LWdyYXktODAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tzZWxlY3RlZFN0b3JlPy5zdG9yZVR5cGU/LnR5cGUgPyBzZWxlY3RlZFN0b3JlPy5zdG9yZVR5cGU/LnR5cGU6Jy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIHRleHQtZ3JheS02MDAgbXgtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xODY1XzE0NjUxNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuNjY1IDExLjI4MDJWMTMuMjgwMkMxNC42NjU3IDEzLjQ2NTkgMTQuNjI3NyAxMy42NDk3IDE0LjU1MzMgMTMuODE5OEMxNC40NzkgMTMuOTg5OSAxNC4zNjk5IDE0LjE0MjYgMTQuMjMzIDE0LjI2ODFDMTQuMDk2MiAxNC4zOTM3IDEzLjkzNDcgMTQuNDg5MiAxMy43NTg4IDE0LjU0ODdDMTMuNTgyOSAxNC42MDgyIDEzLjM5NjYgMTQuNjMwMyAxMy4yMTE3IDE0LjYxMzZDMTEuMTYwMiAxNC4zOTA3IDkuMTg5NjYgMTMuNjg5NyA3LjQ1ODMzIDEyLjU2NjlDNS44NDc1NSAxMS41NDMzIDQuNDgxODkgMTAuMTc3NyAzLjQ1ODMzIDguNTY2ODlDMi4zMzE2NSA2LjgyNzcgMS42MzA0OSA0Ljg0NzU2IDEuNDExNjYgMi43ODY4OUMxLjM5NSAyLjYwMjU0IDEuNDE2OTEgMi40MTY3MyAxLjQ3NTk5IDIuMjQxMzFDMS41MzUwOCAyLjA2NTg5IDEuNjMwMDQgMS45MDQ2OSAxLjc1NDg0IDEuNzY3OTdDMS44Nzk2NCAxLjYzMTI2IDIuMDMxNTMgMS41MjIwMyAyLjIwMDg2IDEuNDQ3MjRDMi4zNzAxOCAxLjM3MjQ1IDIuNTUzMjIgMS4zMzM3NCAyLjczODMzIDEuMzMzNTZINC43MzgzM0M1LjA2MTg3IDEuMzMwMzggNS4zNzU1MiAxLjQ0NDk1IDUuNjIwODQgMS42NTU5MkM1Ljg2NjE1IDEuODY2ODkgNi4wMjYzOCAyLjE1OTg2IDYuMDcxNjYgMi40ODAyM0M2LjE1NjA4IDMuMTIwMjcgNi4zMTI2MyAzLjc0ODcxIDYuNTM4MzMgNC4zNTM1NkM2LjYyODAyIDQuNTkyMTggNi42NDc0NCA0Ljg1MTUgNi41OTQyNyA1LjEwMDgxQzYuNTQxMSA1LjM1MDEyIDYuNDE3NTcgNS41Nzg5NyA2LjIzODMzIDUuNzYwMjNMNS4zOTE2NiA2LjYwNjg5QzYuMzQwNyA4LjI3NTkyIDcuNzIyNjMgOS42NTc4NiA5LjM5MTY2IDEwLjYwNjlMMTAuMjM4MyA5Ljc2MDIzQzEwLjQxOTYgOS41ODA5OSAxMC42NDg0IDkuNDU3NDYgMTAuODk3NyA5LjQwNDI5QzExLjE0NzEgOS4zNTExMiAxMS40MDY0IDkuMzcwNTMgMTEuNjQ1IDkuNDYwMjNDMTIuMjQ5OCA5LjY4NTkzIDEyLjg3ODMgOS44NDI0OCAxMy41MTgzIDkuOTI2ODlDMTMuODQyMiA5Ljk3MjU4IDE0LjEzNzkgMTAuMTM1NyAxNC4zNDk0IDEwLjM4NTJDMTQuNTYwOCAxMC42MzQ4IDE0LjY3MzEgMTAuOTUzMyAxNC42NjUgMTEuMjgwMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTg2NV8xNDY1MTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gbWFwLXN1YnRleHQgdGV4dC1ncmF5LTgwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7c2VsZWN0ZWRTdG9yZT8uc3RvcmVUeXBlPy5uYW1lID8gc2VsZWN0ZWRTdG9yZT8uc3RvcmVUeXBlPy5uYW1lOictLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTUgbXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gdGV4dC1ncmF5LTYwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xODY1XzE0NjUyOSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOSA0LjVWOUwxMiAxMC41TTE2LjUgOUMxNi41IDEzLjE0MjEgMTMuMTQyMSAxNi41IDkgMTYuNUM0Ljg1Nzg2IDE2LjUgMS41IDEzLjE0MjEgMS41IDlDMS41IDQuODU3ODYgNC44NTc4NiAxLjUgOSAxLjVDMTMuMTQyMSAxLjUgMTYuNSA0Ljg1Nzg2IDE2LjUgOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTg2NV8xNDY1MjlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTgwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGF0YVN0b3JlTWFwPy5ob3VybHlEYXRhPy5vcGVuVGltZSA/IGRhdGFTdG9yZU1hcD8uaG91cmx5RGF0YT8ub3BlblRpbWU6Jy0tJ319IC0ge3tkYXRhU3RvcmVNYXA/LmhvdXJseURhdGE/LmNsb3NlVGltZSA/IGRhdGFTdG9yZU1hcD8uaG91cmx5RGF0YT8uY2xvc2VUaW1lOictLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbXktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cIm1hcC1hdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGF0YVN0b3JlTWFwPy5hdmdEYXRhPy5hdmdGb290ZmFsbCA/IGRhdGFTdG9yZU1hcD8uYXZnRGF0YT8uYXZnRm9vdGZhbGw6Jy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gdGV4dC1ncmF5LTcwMCBtYXAtYXZndGVzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQXZnIEZvb3RmYWxsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTg2NV8xNDY1MzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNiA4VjZNNiA0SDYuMDA1TTExIDZDMTEgOC43NjE0MiA4Ljc2MTQyIDExIDYgMTFDMy4yMzg1OCAxMSAxIDguNzYxNDIgMSA2QzEgMy4yMzg1OCAzLjIzODU4IDEgNiAxQzguNzYxNDIgMSAxMSAzLjIzODU4IDExIDZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTg2NV8xNDY1MzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIG15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJtYXAtYXZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2RhdGFTdG9yZU1hcD8uYXZnRGF0YT8uYXZnV2Vla2RheUZvb3RmYWxsID8gZGF0YVN0b3JlTWFwPy5hdmdEYXRhPy5hdmdXZWVrZGF5Rm9vdGZhbGw6Jy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gdGV4dC1ncmF5LTcwMCBtYXAtYXZndGVzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQXZnIFdlZWtkYXkgRm9vdGZhbGwgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTg2NV8xNDY1MzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNiA4VjZNNiA0SDYuMDA1TTExIDZDMTEgOC43NjE0MiA4Ljc2MTQyIDExIDYgMTFDMy4yMzg1OCAxMSAxIDguNzYxNDIgMSA2QzEgMy4yMzg1OCAzLjIzODU4IDEgNiAxQzguNzYxNDIgMSAxMSAzLjIzODU4IDExIDZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTg2NV8xNDY1MzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIG15LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJtYXAtYXZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2RhdGFTdG9yZU1hcD8uYXZnRGF0YT8uYXZnV2Vla2VuZEZvb3RmYWxsID8gZGF0YVN0b3JlTWFwPy5hdmdEYXRhPy5hdmdXZWVrZW5kRm9vdGZhbGw6Jy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc20gdGV4dC1ncmF5LTcwMCBtYXAtYXZndGVzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQXZnIFdlZWtlbmQgRm9vdGZhbGwgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTg2NV8xNDY1MzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNiA4VjZNNiA0SDYuMDA1TTExIDZDMTEgOC43NjE0MiA4Ljc2MTQyIDExIDYgMTFDMy4yMzg1OCAxMSAxIDguNzYxNDIgMSA2QzEgMy4yMzg1OCAzLjIzODU4IDEgNiAxQzguNzYxNDIgMSAxMSAzLjIzODU4IDExIDZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjOThBMkIzXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTg2NV8xNDY1MzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJtdC01IGNvbC1sZy0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saWdodC1wcmltYXJ5MSB3LTEwMCBweC0yXCI+PHNwYW4gY2xhc3M9XCJtcy0yXCI+VmlldyBtb3JlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV0YWlsczwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJyb3cgcHgtMyBsb2FkZXIgY2FyZCAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJub0RhdGFcIiBjbGFzcz1cInJvdyBweC0zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctbm9kYXRhLXRhYmxlXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgU3RvcmUgbWFwPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|